All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: EVENT_DEBUG_MODE_IS_ON
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_DEBUG_MODE_IS_ON()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: EVENT_DEBUG_MODE_IS_ON
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_DEBUG_MODE_IS_ON()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: LIST_END
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 426
    functionName: TAILQ_FIRST
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 429
    functionName: TAILQ_END
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: TAILQ_NEXT
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: TAILQ_INSERT_BEFORE
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INSERT_BEFORE(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: N_ACTIVE_CALLBACKS
    functionSourceFile: /src/libevent/event-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_ACTIVE_CALLBACKS(base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/watch.c:32,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/watch.c:39,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/watch.c:40,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/watch.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - base
    - callback
    - arg
    - type
    argTypes:
    - struct event_base*
    - union evwatch_cb
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: evwatch_new
    functionSourceFile: /src/libevent/watch.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - TAILQ_INSERT_TAIL
    - mm_malloc
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: struct evwatch
    signature: 'struct evwatch *

      evwatch_new(struct event_base *base, union evwatch_cb callback, void *arg, unsigned
      type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evwatch_new
      Src: /src/libevent/watch.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - callback
    - arg
    argTypes:
    - struct event_base*
    - evwatch_prepare_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: evwatch_prepare_new
    functionSourceFile: /src/libevent/watch.c
    functionUses: 0
    functionsReached:
    - evwatch_new
    linkageType: ''
    returnType: struct evwatch
    signature: 'struct evwatch *

      evwatch_prepare_new(struct event_base *base, evwatch_prepare_cb callback, void
      *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evwatch_new
      Src: /src/libevent/watch.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - callback
    - arg
    argTypes:
    - struct event_base*
    - evwatch_check_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: evwatch_check_new
    functionSourceFile: /src/libevent/watch.c
    functionUses: 0
    functionsReached:
    - evwatch_new
    linkageType: ''
    returnType: struct evwatch
    signature: 'struct evwatch *

      evwatch_check_new(struct event_base *base, evwatch_check_cb callback, void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - watcher
    argTypes:
    - struct evwatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: evwatch_base
    functionSourceFile: /src/libevent/watch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      evwatch_base(struct evwatch *watcher)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/watch.c:68,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/watch.c:69,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/watch.c:70,1
    - Dst: mm_free
      Src: /src/libevent/watch.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - watcher
    argTypes:
    - struct evwatch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: evwatch_free
    functionSourceFile: /src/libevent/watch.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - EVBASE_ACQUIRE_LOCK
    - mm_free
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void evwatch_free(struct evwatch *watcher)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - timeout
    argTypes:
    - struct evwatch_prepare_cb_info*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: evwatch_prepare_get_timeout
    functionSourceFile: /src/libevent/watch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evwatch_prepare_get_timeout(const struct evwatch_prepare_cb_info
      *info, struct timeval *timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: mm_malloc
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: mm_calloc
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_calloc(count, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: mm_strdup
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_strdup(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: mm_realloc
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_realloc(p, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: mm_free
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_free(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: mm_malloc
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: mm_calloc
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_calloc(n, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: mm_strdup
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_strdup(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: mm_realloc
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_realloc(p, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: mm_free
    functionSourceFile: /src/libevent/mm-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mm_free(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: member_size
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: member_size(type, member)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/http.c:139,1
    - Dst: ntohs
      Src: /src/libevent/http.c:140,1
    - Dst: strlcpy
      Src: /src/libevent/http.c:141,1
    - Dst: strlcpy
      Src: /src/libevent/http.c:147,1
    - Dst: inet_ntoa
      Src: /src/libevent/http.c:147,1
    - Dst: gethostbyaddr
      Src: /src/libevent/http.c:154,1
    - Dst: strlcpy
      Src: /src/libevent/http.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 7
    argNames:
    - sa
    - salen
    - host
    - hostlen
    - serv
    - servlen
    - flags
    argTypes:
    - struct sockaddr*
    - size_t
    - char*
    - size_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 166
    functionName: fake_getnameinfo
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evutil_snprintf
    - gethostbyaddr
    - ntohs
    - strlcpy
    - inet_ntoa
    linkageType: ''
    returnType: int
    signature: "int fake_getnameinfo(const struct sockaddr *sa, size_t salen, char
      *host,\n\tsize_t hostlen, char *serv, size_t servlen, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - req
    - ','
    - major_v
    - ','
    - minor_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: REQ_VERSION_BEFORE
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_VERSION_BEFORE(req, major_v, minor_v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - req
    - ','
    - major_v
    - ','
    - minor_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: REQ_VERSION_ATLEAST
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_VERSION_ATLEAST(req, major_v, minor_v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: MIN
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:232,1
    - Dst: strlen
      Src: /src/libevent/http.c:232,1
    - Dst: strstr
      Src: /src/libevent/http.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - s
    - del
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: strsep
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - strlen
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      strsep(char **s, const char *del)'
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ch
    - escaped
    argTypes:
    - char
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 270
    functionName: html_replace
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t html_replace(const char ch, const char **escaped)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/http.c:289,1
    - Dst: html_replace
      Src: /src/libevent/http.c:292,1
    - Dst: event_warn
      Src: /src/libevent/http.c:294,1
    - Dst: mm_malloc
      Src: /src/libevent/http.c:302,1
    - Dst: event_warn
      Src: /src/libevent/http.c:304,1
    - Dst: html_replace
      Src: /src/libevent/http.c:310,1
    - Dst: memcpy
      Src: /src/libevent/http.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - html
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 318
    functionName: evhttp_htmlescape
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - event_warn
    - memcpy
    - mm_malloc
    - html_replace
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_htmlescape(const char *html)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: struct evhttp_connection*::ext_method_cmp
      Src: /src/libevent/http.c:398,1
    - Dst: event_debug
      Src: /src/libevent/http.c:401,1
    - Dst: event_debug
      Src: /src/libevent/http.c:413,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 3
    argNames:
    - evcon
    - type
    - flags
    argTypes:
    - struct evhttp_connection*
    - enum evhttp_cmd_type
    - ev_uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 419
    functionName: evhttp_method_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - event_debug
    - struct evhttp_connection*::ext_method_cmp
    linkageType: ''
    returnType: char
    signature: "char *\nevhttp_method_(struct evhttp_connection *evcon,\n              enum
      evhttp_cmd_type type, ev_uint16_t *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: evhttp_response_needs_body
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_response_needs_body(struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/http.c:445,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/http.c:454,1
    - Dst: bufferevent_enable
      Src: /src/libevent/http.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - evcon
    - arg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 461
    functionName: evhttp_write_buffer
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_setcb
    - event_debug
    - bufferevent_enable
    linkageType: ''
    returnType: void
    signature: "void evhttp_write_buffer(struct evhttp_connection *evcon,\n    void
      (*cb)(struct evhttp_connection *, void *), void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evcon
    - arg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: evhttp_send_continue_done
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_disable
    linkageType: ''
    returnType: void
    signature: void evhttp_send_continue_done(struct evhttp_connection *evcon, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_enable
      Src: /src/libevent/http.c:473,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:474,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:474,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/http.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: evhttp_send_continue
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - bufferevent_setcb
    - bufferevent_enable
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: "void evhttp_send_continue(struct evhttp_connection *evcon,\n\t\t\tstruct
      evhttp_request *req)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: evhttp_connected
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_connected(struct evhttp_connection *evcon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_method_
      Src: /src/libevent/http.c:518,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:522,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:522,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:529,1
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:531,1
    - Dst: evutil_snprintf
      Src: /src/libevent/http.c:533,1
    - Dst: EV_SIZE_ARG
      Src: /src/libevent/http.c:534,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:534,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:535,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 537
    functionName: evhttp_make_header_request
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_method_
    - EV_SIZE_ARG
    - evbuffer_get_length
    - bufferevent_get_output
    - evhttp_find_header
    - evbuffer_add_printf
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: "void evhttp_make_header_request(struct evhttp_connection *evcon,\n
      \   struct evhttp_request *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:545,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - flags
    - headers
    argTypes:
    - int
    - struct evkeyvalq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: evhttp_is_connection_close
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_find_header
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int evhttp_is_connection_close(int flags, struct evkeyvalq* headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_is_connection_close
      Src: /src/libevent/http.c:556,1
    - Dst: evhttp_is_connection_close
      Src: /src/libevent/http.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: evhttp_is_request_connection_close
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_is_connection_close
    linkageType: ''
    returnType: int
    signature: int evhttp_is_request_connection_close(struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:564,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/http.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - headers
    argTypes:
    - struct evkeyvalq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: evhttp_is_connection_keepalive
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_find_header
    - evutil_ascii_strncasecmp
    linkageType: ''
    returnType: int
    signature: int evhttp_is_connection_keepalive(struct evkeyvalq* headers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:573,1
    - Dst: evutil_date_rfc1123
      Src: /src/libevent/http.c:575,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - headers
    argTypes:
    - struct evkeyvalq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 579
    functionName: evhttp_maybe_add_date_header
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evutil_date_rfc1123
    - evhttp_find_header
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void evhttp_maybe_add_date_header(struct evkeyvalq *headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:587,1
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:588,1
    - Dst: evutil_snprintf
      Src: /src/libevent/http.c:590,1
    - Dst: EV_SIZE_ARG
      Src: /src/libevent/http.c:591,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - headers
    - content_length
    argTypes:
    - struct evkeyvalq*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: evhttp_maybe_add_content_length_header
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_find_header
    - evhttp_add_header
    - EV_SIZE_ARG
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: "void evhttp_maybe_add_content_length_header(struct evkeyvalq *headers,\n
      \   size_t content_length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_is_connection_keepalive
      Src: /src/libevent/http.c:604,1
    - Dst: evhttp_response_needs_body
      Src: /src/libevent/http.c:605,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:607,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:607,1
    - Dst: evhttp_maybe_add_date_header
      Src: /src/libevent/http.c:614,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:621,1
    - Dst: evhttp_maybe_add_content_length_header
      Src: /src/libevent/http.c:630,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:632,1
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:638,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:641,1
    - Dst: evhttp_is_connection_close
      Src: /src/libevent/http.c:648,1
    - Dst: evhttp_remove_header
      Src: /src/libevent/http.c:649,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:650,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 652
    functionName: evhttp_make_header_response
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_remove_header
    - evhttp_is_connection_close
    - evbuffer_get_length
    - evhttp_is_connection_keepalive
    - evhttp_maybe_add_content_length_header
    - evhttp_response_needs_body
    - bufferevent_get_output
    - evhttp_find_header
    - evbuffer_add_printf
    - evhttp_maybe_add_date_header
    linkageType: ''
    returnType: void
    signature: "void evhttp_make_header_response(struct evhttp_connection *evcon,\n
      \   struct evhttp_request *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQ_VERSION_ATLEAST
      Src: /src/libevent/http.c:660,1
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:663,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - req
    - input
    argTypes:
    - struct evhttp_request*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 668
    functionName: evhttp_have_expect
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_find_header
    - REQ_VERSION_ATLEAST
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: enum expect
    signature: enum expect evhttp_have_expect(struct evhttp_request *req, int input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:678,1
    - Dst: evhttp_make_header_request
      Src: /src/libevent/http.c:685,1
    - Dst: evhttp_make_header_response
      Src: /src/libevent/http.c:687,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/http.c:690,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:691,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:694,1
    - Dst: evhttp_have_expect
      Src: /src/libevent/http.c:696,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:697,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/http.c:702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 704
    functionName: evhttp_make_header
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - evhttp_make_header_response
    - evbuffer_add_buffer
    - evhttp_have_expect
    - TAILQ_FOREACH
    - evbuffer_add_printf
    - bufferevent_get_output
    - evbuffer_add
    - evhttp_make_header_request
    linkageType: ''
    returnType: void
    signature: void evhttp_make_header(struct evhttp_connection *evcon, struct evhttp_request
      *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - evcon
    - new_max_headers_size
    argTypes:
    - struct evhttp_connection*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: evhttp_connection_set_max_headers_size
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_max_headers_size(struct evhttp_connection
      *evcon,\n    ev_ssize_t new_max_headers_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - evcon
    - new_max_body_size
    argTypes:
    - struct evhttp_connection*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 723
    functionName: evhttp_connection_set_max_body_size
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_max_body_size(struct evhttp_connection*
      evcon,\n    ev_ssize_t new_max_body_size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:750,1
    - Dst: mm_free
      Src: /src/libevent/http.c:764,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/http.c:768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - req
    - error
    argTypes:
    - struct evhttp_request*
    - enum evhttp_request_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 780
    functionName: evhttp_connection_incoming_fail
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_uri_free
    - TAILQ_REMOVE
    - mm_free
    linkageType: ''
    returnType: int
    signature: "int evhttp_connection_incoming_fail(struct evhttp_request *req,\n
      \   enum evhttp_request_error error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_free
      Src: /src/libevent/http.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 789
    functionName: evhttp_request_free_auto
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_free
    linkageType: ''
    returnType: void
    signature: void evhttp_request_free_auto(struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:794,1
    - Dst: evhttp_request_free_auto
      Src: /src/libevent/http.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 796
    functionName: evhttp_request_free_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - evhttp_request_free_auto
    linkageType: ''
    returnType: void
    signature: void evhttp_request_free_(struct evhttp_connection *evcon, struct evhttp_request
      *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_timerclear
      Src: /src/libevent/http.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - tv
    - timeout
    - def
    argTypes:
    - struct timeval*
    - struct timeval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 812
    functionName: evhttp_set_timeout_tv_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evutil_timerclear
    linkageType: ''
    returnType: void
    signature: void evhttp_set_timeout_tv_(struct timeval *tv, const struct timeval
      *timeout, int def)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_timerclear
      Src: /src/libevent/http.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tv
    - timeout
    - def
    argTypes:
    - struct timeval*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 828
    functionName: evhttp_set_timeout_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evutil_timerclear
    linkageType: ''
    returnType: void
    signature: void evhttp_set_timeout_(struct timeval *tv, int timeout, int def)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/http.c:838,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:839,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:844,1
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:846,1
    - Dst: evhttp_connection_incoming_fail
      Src: /src/libevent/http.c:860,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:861,1
    - Dst: error_cb
      Src: /src/libevent/http.c:863,1
    - Dst: evhttp_request_free_
      Src: /src/libevent/http.c:881,1
    - Dst: evhttp_connection_reset_
      Src: /src/libevent/http.c:884,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:887,1
    - Dst: evhttp_connection_connect_
      Src: /src/libevent/http.c:888,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:892,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/http.c:899,1
    - Dst: error_cb
      Src: /src/libevent/http.c:903,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - evcon
    - error
    argTypes:
    - struct evhttp_connection*
    - enum evhttp_request_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 834
    functionDepth: 3
    functionLinenumber: 834
    functionLinenumberEnd: 906
    functionName: evhttp_connection_fail_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - error_cb
    - evhttp_connection_reset_
    - evhttp_connection_connect_
    - bufferevent_disable
    - evhttp_connection_free
    - evhttp_request_free_
    - EVUTIL_SET_SOCKET_ERROR
    - EVUTIL_SOCKET_ERROR
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - evhttp_connection_incoming_fail
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_fail_(struct evhttp_connection *evcon,\n    enum
      evhttp_request_error error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bufev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: evhttp_write_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_write_cb(struct bufferevent *bufev, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:930,1
    - Dst: evhttp_is_request_connection_close
      Src: /src/libevent/http.c:936,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:937,1
    - Dst: evhttp_connection_reset_
      Src: /src/libevent/http.c:944,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:946,1
    - Dst: evhttp_connected
      Src: /src/libevent/http.c:951,1
    - Dst: evhttp_connection_connect_
      Src: /src/libevent/http.c:952,1
    - Dst: evhttp_request_dispatch
      Src: /src/libevent/http.c:954,1
    - Dst: evhttp_connection_start_detectclose
      Src: /src/libevent/http.c:960,1
    - Dst: evhttp_request_free_auto
      Src: /src/libevent/http.c:981,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:990,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:991,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 993
    functionName: evhttp_connection_done
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_is_request_connection_close
    - evhttp_connection_start_detectclose
    - evhttp_connection_reset_
    - evhttp_request_free_auto
    - evhttp_connection_connect_
    - evhttp_connection_free
    - evhttp_connected
    - evhttp_request_dispatch
    - TAILQ_FIRST
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_done(struct evhttp_connection *evcon)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1019,1
    - Dst: evbuffer_readln
      Src: /src/libevent/http.c:1032,1
    - Dst: strlen
      Src: /src/libevent/http.c:1038,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1041,1
    - Dst: isspace
      Src: /src/libevent/http.c:1045,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1050,1
    - Dst: evutil_strtoll
      Src: /src/libevent/http.c:1053,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1057,1
    - Dst: event_debug
      Src: /src/libevent/http.c:1070,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/http.c:1094,1
    - Dst: evbuffer_drain
      Src: /src/libevent/http.c:1099,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1100,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 2
    argNames:
    - req
    - buf
    argTypes:
    - struct evhttp_request*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1109
    functionName: evhttp_handle_chunked_read
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - isspace
    - evbuffer_get_length
    - evutil_strtoll
    - event_debug
    - evbuffer_remove_buffer
    - evbuffer_readln
    - mm_free
    - strlen
    linkageType: ''
    returnType: enum message_read_status
    signature: enum message_read_status evhttp_handle_chunked_read(struct evhttp_request
      *req, struct evbuffer *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:1114,1
    - Dst: evhttp_parse_headers_
      Src: /src/libevent/http.c:1116,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1119,1
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:1122,1
    - Dst: evhttp_connection_done
      Src: /src/libevent/http.c:1123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1111
    functionDepth: 4
    functionLinenumber: 1111
    functionLinenumberEnd: 1130
    functionName: evhttp_read_trailer
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_headers_
    - bufferevent_get_input
    - evhttp_connection_done
    - bufferevent_disable
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: void evhttp_read_trailer(struct evhttp_connection *evcon, struct evhttp_request
      *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:1136,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1138,1
    - Dst: event_debug
      Src: /src/libevent/http.c:1144,1
    - Dst: EV_I64_ARG
      Src: /src/libevent/http.c:1145,1
    - Dst: evbuffer_drain
      Src: /src/libevent/http.c:1147,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1132
    functionDepth: 4
    functionLinenumber: 1132
    functionLinenumberEnd: 1150
    functionName: evhttp_lingering_close
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_drain
    - evbuffer_get_length
    - event_debug
    - EV_I64_ARG
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: "void evhttp_lingering_close(struct evhttp_connection *evcon,\n\tstruct
      evhttp_request *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_lingering_close
      Src: /src/libevent/http.c:1156,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1151
    functionDepth: 5
    functionLinenumber: 1151
    functionLinenumberEnd: 1159
    functionName: evhttp_lingering_fail
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_lingering_close
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: "void evhttp_lingering_fail(struct evhttp_connection *evcon,\n\tstruct
      evhttp_request *req)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:1164,1
    - Dst: evhttp_handle_chunked_read
      Src: /src/libevent/http.c:1167,1
    - Dst: evhttp_read_trailer
      Src: /src/libevent/http.c:1171,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1175,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1179,1
    - Dst: evhttp_request_free_auto
      Src: /src/libevent/http.c:1184,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1192,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1193,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1197,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/http.c:1198,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1199,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1203,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/http.c:1209,1
    - Dst: evhttp_lingering_fail
      Src: /src/libevent/http.c:1218,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1222,1
    - Dst: evbuffer_drain
      Src: /src/libevent/http.c:1226,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1227,1
    - Dst: evhttp_request_free_auto
      Src: /src/libevent/http.c:1229,1
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:1235,1
    - Dst: evhttp_connection_done
      Src: /src/libevent/http.c:1237,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1161
    functionDepth: 6
    functionLinenumber: 1161
    functionLinenumberEnd: 1240
    functionName: evhttp_read_body
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_done
    - bufferevent_get_input
    - evbuffer_drain
    - evhttp_request_free_auto
    - evhttp_read_trailer
    - bufferevent_disable
    - evbuffer_get_length
    - evhttp_lingering_fail
    - evhttp_handle_chunked_read
    - evbuffer_add_buffer
    - evbuffer_remove_buffer
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: void evhttp_read_body(struct evhttp_connection *evcon, struct evhttp_request
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - evcon
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1244
    functionName: get_deferred_queue
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_deferred_queue(evcon)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1253,1
    - Dst: event_deferred_cb_cancel_
      Src: /src/libevent/http.c:1256,1
    - Dst: get_deferred_queue
      Src: /src/libevent/http.c:1256,1
    - Dst: evhttp_read_firstline
      Src: /src/libevent/http.c:1261,1
    - Dst: evhttp_read_header
      Src: /src/libevent/http.c:1266,1
    - Dst: evhttp_read_body
      Src: /src/libevent/http.c:1271,1
    - Dst: evhttp_read_trailer
      Src: /src/libevent/http.c:1276,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:1284,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1285,1
    - Dst: event_debug
      Src: /src/libevent/http.c:1286,1
    - Dst: EV_SIZE_ARG
      Src: /src/libevent/http.c:1289,1
    - Dst: evhttp_connection_reset_
      Src: /src/libevent/http.c:1292,1
    - Dst: event_errx
      Src: /src/libevent/http.c:1299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - bufev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1249
    functionDepth: 7
    functionLinenumber: 1249
    functionLinenumberEnd: 1302
    functionName: evhttp_read_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evhttp_connection_reset_
    - evhttp_read_trailer
    - evhttp_read_header
    - evbuffer_get_length
    - EV_SIZE_ARG
    - event_errx
    - TAILQ_FIRST
    - get_deferred_queue
    - evhttp_read_firstline
    - event_debug
    - event_deferred_cb_cancel_
    - evhttp_read_body
    linkageType: ''
    returnType: void
    signature: void evhttp_read_cb(struct bufferevent *bufev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - data
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1311
    functionName: evhttp_deferred_read_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_deferred_read_cb(struct event_callback *cb, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1317,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:1318,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1319,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1321,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1325,1
    - Dst: evhttp_start_read_
      Src: /src/libevent/http.c:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - evcon
    - arg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1332
    functionName: evhttp_write_connectioncb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_start_read_
    - evbuffer_get_length
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - bufferevent_get_output
    linkageType: ''
    returnType: void
    signature: void evhttp_write_connectioncb(struct evhttp_connection *evcon, void
      *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connected
      Src: /src/libevent/http.c:1344,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1352,1
    - Dst: evhttp_request_free_
      Src: /src/libevent/http.c:1353,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:1358,1
    - Dst: event_initialized
      Src: /src/libevent/http.c:1362,1
    - Dst: event_del
      Src: /src/libevent/http.c:1363,1
    - Dst: event_debug_unassign
      Src: /src/libevent/http.c:1364,1
    - Dst: event_deferred_cb_cancel_
      Src: /src/libevent/http.c:1367,1
    - Dst: get_deferred_queue
      Src: /src/libevent/http.c:1367,1
    - Dst: bufferevent_free
      Src: /src/libevent/http.c:1371,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1375,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1378,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1382,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1338
    functionDepth: 3
    functionLinenumber: 1338
    functionLinenumberEnd: 1386
    functionName: evhttp_connection_free
    functionSourceFile: /src/libevent/http.c
    functionUses: 2
    functionsReached:
    - bufferevent_free
    - event_del
    - evhttp_request_free_
    - evhttp_connected
    - TAILQ_FIRST
    - get_deferred_queue
    - mm_free
    - TAILQ_REMOVE
    - event_deferred_cb_cancel_
    - event_debug_unassign
    - event_initialized
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_free(struct evhttp_connection *evcon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1391
    functionName: evhttp_connection_free_on_completion
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_free_on_completion(struct evhttp_connection
      *evcon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1397,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1399,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:1400,1
    - Dst: event_warn
      Src: /src/libevent/http.c:1401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - evcon
    - address
    argTypes:
    - struct evhttp_connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1402
    functionName: evhttp_connection_set_local_address
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - mm_free
    - EVUTIL_ASSERT
    - mm_strdup
    - event_warn
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_local_address(struct evhttp_connection
      *evcon,\n    const char *address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - evcon
    - port
    argTypes:
    - struct evhttp_connection*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1410
    functionName: evhttp_connection_set_local_port
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_local_port(struct evhttp_connection *evcon,\n
      \   ev_uint16_t port)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1415,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1421,1
    - Dst: evhttp_connection_stop_detectclose
      Src: /src/libevent/http.c:1424,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1427,1
    - Dst: evhttp_make_header
      Src: /src/libevent/http.c:1432,1
    - Dst: evhttp_write_buffer
      Src: /src/libevent/http.c:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1412
    functionDepth: 4
    functionLinenumber: 1412
    functionLinenumberEnd: 1435
    functionName: evhttp_request_dispatch
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - evhttp_make_header
    - evhttp_write_buffer
    - TAILQ_FIRST
    - evhttp_connection_stop_detectclose
    linkageType: ''
    returnType: void
    signature: void evhttp_request_dispatch(struct evhttp_connection* evcon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_disable_hard_
      Src: /src/libevent/http.c:1461,1
    - Dst: evhttp_connected
      Src: /src/libevent/http.c:1464,1
    - Dst: bufferevent_replacefd
      Src: /src/libevent/http.c:1468,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1469,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:1472,1
    - Dst: evbuffer_drain
      Src: /src/libevent/http.c:1473,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1474,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:1475,1
    - Dst: evbuffer_drain
      Src: /src/libevent/http.c:1476,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1478
    functionName: evhttp_connection_reset_hard_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_drain
    - evhttp_connected
    - EVUTIL_ASSERT
    - bufferevent_disable_hard_
    - bufferevent_get_output
    - bufferevent_replacefd
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_reset_hard_(struct evhttp_connection *evcon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_setcb
      Src: /src/libevent/http.c:1491,1
    - Dst: evhttp_connection_reset_hard_
      Src: /src/libevent/http.c:1494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - evcon
    - hard
    argTypes:
    - struct evhttp_connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1499
    functionName: evhttp_connection_reset_
    functionSourceFile: /src/libevent/http.c
    functionUses: 3
    functionsReached:
    - bufferevent_setcb
    - evhttp_connection_reset_hard_
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_reset_(struct evhttp_connection *evcon, int
      hard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_enable
      Src: /src/libevent/http.c:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1506
    functionName: evhttp_connection_start_detectclose
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - bufferevent_enable
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_start_detectclose(struct evhttp_connection *evcon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1513
    functionName: evhttp_connection_stop_detectclose
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - bufferevent_disable
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_stop_detectclose(struct evhttp_connection *evcon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_connect_
      Src: /src/libevent/http.c:1521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1522
    functionName: evhttp_connection_retry
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_connect_
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_retry(evutil_socket_t fd, short what, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1528,1
    - Dst: evhttp_connection_reset_
      Src: /src/libevent/http.c:1530,1
    - Dst: evtimer_assign
      Src: /src/libevent/http.c:1535,1
    - Dst: event_add
      Src: /src/libevent/http.c:1549,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:1560,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1561,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1562,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:1563,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:1564,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1568,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1569,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:1570,1
    - Dst: struct evhttp_request*::cb
      Src: /src/libevent/http.c:1574,1
    - Dst: evhttp_request_free_auto
      Src: /src/libevent/http.c:1575,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1578,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:1580,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1524
    functionDepth: 4
    functionLinenumber: 1524
    functionLinenumberEnd: 1583
    functionName: evhttp_connection_cb_cleanup
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_reset_
    - TAILQ_INIT
    - TAILQ_INSERT_TAIL
    - struct evhttp_request*::cb
    - evhttp_request_free_auto
    - evhttp_connection_free
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - event_add
    - TAILQ_REMOVE
    - evtimer_assign
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_cb_cleanup(struct evhttp_connection *evcon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1594,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:1600,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/http.c:1601,1
    - Dst: evbuffer_drain
      Src: /src/libevent/http.c:1602,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1602,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/http.c:1603,1
    - Dst: evhttp_start_read_
      Src: /src/libevent/http.c:1605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1585
    functionDepth: 4
    functionLinenumber: 1585
    functionLinenumberEnd: 1607
    functionName: evhttp_connection_read_on_write_error
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - evhttp_start_read_
    - evbuffer_get_length
    - evbuffer_unfreeze
    - evbuffer_freeze
    - bufferevent_get_output
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_read_on_write_error(struct evhttp_connection
      *evcon,\n    struct evhttp_request *req)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1613,1
    - Dst: event_debug
      Src: /src/libevent/http.c:1618,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:1621,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/http.c:1621,1
    - Dst: evhttp_connection_cb_cleanup
      Src: /src/libevent/http.c:1622,1
    - Dst: evhttp_connection_done
      Src: /src/libevent/http.c:1631,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1651,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:1656,1
    - Dst: evhttp_connection_reset_
      Src: /src/libevent/http.c:1657,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:1664,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:1667,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1673,1
    - Dst: evhttp_connection_read_on_write_error
      Src: /src/libevent/http.c:1677,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:1683,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:1683,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/http.c:1684,1
    - Dst: get_deferred_queue
      Src: /src/libevent/http.c:1684,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1689,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:1692,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - bufev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1609
    functionDepth: 5
    functionLinenumber: 1609
    functionLinenumberEnd: 1694
    functionName: evhttp_error_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_done
    - bufferevent_get_input
    - evhttp_connection_reset_
    - event_deferred_cb_schedule_
    - evhttp_connection_free
    - evbuffer_get_length
    - EVUTIL_ASSERT
    - EV_SOCK_ARG
    - TAILQ_FIRST
    - get_deferred_queue
    - event_debug
    - evhttp_connection_cb_cleanup
    - bufferevent_getfd
    - evhttp_connection_read_on_write_error
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: void evhttp_error_cb(struct bufferevent *bufev, short what, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_error_cb
      Src: /src/libevent/http.c:1713,1
    - Dst: event_debug
      Src: /src/libevent/http.c:1718,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:1720,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/http.c:1720,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/http.c:1727,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/http.c:1733,1
    - Dst: evhttp_request_dispatch
      Src: /src/libevent/http.c:1737,1
    - Dst: evhttp_connection_cb_cleanup
      Src: /src/libevent/http.c:1741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - bufev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1699
    functionDepth: 6
    functionLinenumber: 1699
    functionLinenumberEnd: 1742
    functionName: evhttp_connection_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_dispatch
    - EV_SOCK_ARG
    - bufferevent_setcb
    - event_debug
    - bufferevent_set_timeouts
    - evhttp_connection_cb_cleanup
    - bufferevent_getfd
    - evhttp_error_cb
    linkageType: ''
    returnType: void
    signature: void evhttp_connection_cb(struct bufferevent *bufev, short what, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1755
    functionName: evhttp_valid_response_code
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_valid_response_code(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libevent/http.c:1762,1
    - Dst: event_debug
      Src: /src/libevent/http.c:1764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - version
    - req
    argTypes:
    - char*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1771
    functionName: evhttp_parse_http_version
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - event_debug
    - sscanf
    linkageType: ''
    returnType: int
    signature: int evhttp_parse_http_version(const char *version, struct evhttp_request
      *req)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/libevent/http.c:1782,1
    - Dst: strsep
      Src: /src/libevent/http.c:1785,1
    - Dst: evhttp_parse_http_version
      Src: /src/libevent/http.c:1789,1
    - Dst: atoi
      Src: /src/libevent/http.c:1792,1
    - Dst: evhttp_valid_response_code
      Src: /src/libevent/http.c:1793,1
    - Dst: event_debug
      Src: /src/libevent/http.c:1794,1
    - Dst: mm_free
      Src: /src/libevent/http.c:1800,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:1801,1
    - Dst: event_warn
      Src: /src/libevent/http.c:1802,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - req
    - line
    argTypes:
    - struct evhttp_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1807
    functionName: evhttp_parse_response_line
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_http_version
    - strsep
    - atoi
    - event_warn
    - evhttp_valid_response_code
    - mm_strdup
    - event_debug
    - mm_free
    linkageType: ''
    returnType: int
    signature: int evhttp_parse_response_line(struct evhttp_request *req, char *line)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/http.c:1826,1
    - Dst: strsep
      Src: /src/libevent/http.c:1830,1
    - Dst: strrchr
      Src: /src/libevent/http.c:1834,1
    - Dst: struct evhttp_request*::evcon::ext_method_cmp
      Src: /src/libevent/http.c:2015,1
    - Dst: strcmp
      Src: /src/libevent/http.c:2019,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2020,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2025,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2034,1
    - Dst: evhttp_parse_http_version
      Src: /src/libevent/http.c:2042,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:2045,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2046,1
    - Dst: evhttp_uri_parse_authority
      Src: /src/libevent/http.c:2051,1
    - Dst: evhttp_uri_parse_with_flags
      Src: /src/libevent/http.c:2055,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 175
    argCount: 3
    argNames:
    - req
    - line
    - len
    argTypes:
    - struct evhttp_request*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 1811
    functionDepth: 2
    functionLinenumber: 1811
    functionLinenumberEnd: 2062
    functionName: evhttp_parse_request_line
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - struct evhttp_request*::evcon::ext_method_cmp
    - evhttp_parse_http_version
    - strsep
    - evhttp_uri_parse_authority
    - event_warn
    - strcmp
    - mm_strdup
    - event_debug
    - evhttp_uri_parse_with_flags
    - strrchr
    - strlen
    linkageType: ''
    returnType: int
    signature: int evhttp_parse_request_line(struct evhttp_request *req, char *line,
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:2070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - headers
    - key
    argTypes:
    - struct evkeyvalq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2075
    functionName: evhttp_find_header
    functionSourceFile: /src/libevent/http.c
    functionUses: 7
    functionsReached:
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_find_header(const struct evkeyvalq *headers, const char *key)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:2070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2072
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(header, headers, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:2082,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:2084,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:2085,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2086,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2087,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - headers
    argTypes:
    - struct evkeyvalq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2077
    functionDepth: 1
    functionLinenumber: 2077
    functionLinenumberEnd: 2090
    functionName: evhttp_clear_headers
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void evhttp_clear_headers(struct evkeyvalq *headers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:2103,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:2111,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2112,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2113,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - headers
    - key
    argTypes:
    - struct evkeyvalq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2097
    functionDepth: 1
    functionLinenumber: 2097
    functionLinenumberEnd: 2117
    functionName: evhttp_remove_header
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int evhttp_remove_header(struct evkeyvalq *headers, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:2103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2102
    functionDepth: 1
    functionLinenumber: 2102
    functionLinenumberEnd: 2105
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(header, headers, next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/libevent/http.c:2124,1
    - Dst: strspn
      Src: /src/libevent/http.c:2126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2132
    functionName: evhttp_header_is_valid_value
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strpbrk
    - strspn
    linkageType: ''
    returnType: int
    signature: int evhttp_header_is_valid_value(const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/http.c:2138,1
    - Dst: strchr
      Src: /src/libevent/http.c:2145,1
    - Dst: strchr
      Src: /src/libevent/http.c:2145,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2147,1
    - Dst: evhttp_header_is_valid_value
      Src: /src/libevent/http.c:2151,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2152,1
    - Dst: evhttp_add_header_internal
      Src: /src/libevent/http.c:2156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - headers
    - key
    - value
    argTypes:
    - struct evkeyvalq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2157
    functionName: evhttp_add_header
    functionSourceFile: /src/libevent/http.c
    functionUses: 4
    functionsReached:
    - event_debug
    - strchr
    - evhttp_add_header_internal
    - evhttp_header_is_valid_value
    linkageType: ''
    returnType: int
    signature: "int evhttp_add_header(struct evkeyvalq *headers,\n    const char *key,
      const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/http.c:2163,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2165,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:2168,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2169,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2170,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:2173,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2174,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2175,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2176,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:2180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - headers
    - key
    - value
    argTypes:
    - struct evkeyvalq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2183
    functionName: evhttp_add_header_internal
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - TAILQ_INSERT_TAIL
    - event_warn
    - mm_strdup
    - mm_calloc
    - mm_free
    linkageType: ''
    returnType: int
    signature: "int evhttp_add_header_internal(struct evkeyvalq *headers,\n    const
      char *key, const char *value)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_readln
      Src: /src/libevent/http.c:2203,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:2206,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2213,1
    - Dst: evhttp_parse_request_line
      Src: /src/libevent/http.c:2221,1
    - Dst: evhttp_parse_response_line
      Src: /src/libevent/http.c:2225,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - req
    - buffer
    argTypes:
    - struct evhttp_request*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2195
    functionDepth: 3
    functionLinenumber: 2195
    functionLinenumberEnd: 2234
    functionName: evhttp_parse_firstline_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_response_line
    - evbuffer_get_length
    - evhttp_parse_request_line
    - evbuffer_readln
    - mm_free
    linkageType: ''
    returnType: enum message_read_status
    signature: enum message_read_status evhttp_parse_firstline_(struct evhttp_request
      *req, struct evbuffer *buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_LAST
      Src: /src/libevent/http.c:2239,1
    - Dst: strlen
      Src: /src/libevent/http.c:2246,1
    - Dst: evutil_rtrim_lws_
      Src: /src/libevent/http.c:2251,1
    - Dst: strlen
      Src: /src/libevent/http.c:2253,1
    - Dst: mm_realloc
      Src: /src/libevent/http.c:2255,1
    - Dst: memcpy
      Src: /src/libevent/http.c:2260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - headers
    - line
    argTypes:
    - struct evkeyvalq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2236
    functionDepth: 1
    functionLinenumber: 2236
    functionLinenumberEnd: 2264
    functionName: evhttp_append_to_last_header
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - memcpy
    - evutil_rtrim_lws_
    - TAILQ_LAST
    - strlen
    linkageType: ''
    returnType: int
    signature: int evhttp_append_to_last_header(struct evkeyvalq *headers, char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_readln
      Src: /src/libevent/http.c:2275,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2289,1
    - Dst: evhttp_append_to_last_header
      Src: /src/libevent/http.c:2295,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2297,1
    - Dst: strsep
      Src: /src/libevent/http.c:2303,1
    - Dst: strspn
      Src: /src/libevent/http.c:2307,1
    - Dst: evutil_rtrim_lws_
      Src: /src/libevent/http.c:2308,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:2310,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2313,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:2318,1
    - Dst: mm_free
      Src: /src/libevent/http.c:2325,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - req
    - buffer
    argTypes:
    - struct evhttp_request*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2327
    functionName: evhttp_parse_headers_
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evhttp_add_header
    - strsep
    - evbuffer_get_length
    - evutil_rtrim_lws_
    - evhttp_append_to_last_header
    - strspn
    - evbuffer_readln
    - mm_free
    linkageType: ''
    returnType: enum message_read_status
    signature: enum message_read_status evhttp_parse_headers_(struct evhttp_request
      *req, struct evbuffer* buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:2336,1
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:2337,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:2342,1
    - Dst: evutil_strtoll
      Src: /src/libevent/http.c:2348,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2350,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2357,1
    - Dst: EV_I64_ARG
      Src: /src/libevent/http.c:2358,1
    - Dst: EV_SIZE_ARG
      Src: /src/libevent/http.c:2359,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:2359,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:2359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2329
    functionDepth: 2
    functionLinenumber: 2329
    functionLinenumberEnd: 2362
    functionName: evhttp_get_body_length
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - EV_SIZE_ARG
    - evbuffer_get_length
    - evutil_strtoll
    - event_debug
    - EV_I64_ARG
    - evhttp_find_header
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int evhttp_get_body_length(struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_method_
      Src: /src/libevent/http.c:2369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - evcon
    - type
    argTypes:
    - struct evhttp_connection*
    - enum evhttp_cmd_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2364
    functionDepth: 2
    functionLinenumber: 2364
    functionLinenumberEnd: 2371
    functionName: evhttp_method_may_have_body_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_method_
    linkageType: ''
    returnType: int
    signature: int evhttp_method_may_have_body_(struct evhttp_connection *evcon, enum
      evhttp_cmd_type type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_method_may_have_body_
      Src: /src/libevent/http.c:2380,1
    - Dst: evhttp_connection_done
      Src: /src/libevent/http.c:2381,1
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:2385,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:2386,1
    - Dst: evhttp_get_body_length
      Src: /src/libevent/http.c:2390,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:2391,1
    - Dst: evhttp_connection_done
      Src: /src/libevent/http.c:2397,1
    - Dst: evhttp_have_expect
      Src: /src/libevent/http.c:2403,1
    - Dst: evhttp_lingering_fail
      Src: /src/libevent/http.c:2415,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:2419,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:2419,1
    - Dst: evhttp_send_continue
      Src: /src/libevent/http.c:2420,1
    - Dst: evhttp_send_error
      Src: /src/libevent/http.c:2423,1
    - Dst: evhttp_read_body
      Src: /src/libevent/http.c:2428,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2373
    functionDepth: 7
    functionLinenumber: 2373
    functionLinenumberEnd: 2430
    functionName: evhttp_get_body
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_done
    - bufferevent_get_input
    - evbuffer_get_length
    - evhttp_method_may_have_body_
    - evhttp_lingering_fail
    - evhttp_read_body
    - evutil_ascii_strcasecmp
    - evhttp_have_expect
    - evhttp_find_header
    - evhttp_send_error
    - evhttp_send_continue
    - evhttp_connection_fail_
    - evhttp_get_body_length
    linkageType: ''
    returnType: void
    signature: void evhttp_get_body(struct evhttp_connection *evcon, struct evhttp_request
      *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_parse_firstline_
      Src: /src/libevent/http.c:2438,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:2438,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2441,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:2442,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/http.c:2442,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:2443,1
    - Dst: evhttp_read_header
      Src: /src/libevent/http.c:2451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2432
    functionDepth: 4
    functionLinenumber: 2432
    functionLinenumberEnd: 2452
    functionName: evhttp_read_firstline
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - bufferevent_get_input
    - evhttp_read_header
    - EV_SOCK_ARG
    - event_debug
    - evhttp_parse_firstline_
    - bufferevent_getfd
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: "void evhttp_read_firstline(struct evhttp_connection *evcon,\n\t\t
      \     struct evhttp_request *req)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_getfd
      Src: /src/libevent/http.c:2459,1
    - Dst: evhttp_parse_headers_
      Src: /src/libevent/http.c:2461,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:2461,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2464,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:2465,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:2466,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:2476,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2484,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:2485,1
    - Dst: evhttp_get_body
      Src: /src/libevent/http.c:2486,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:2493,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/http.c:2494,1
    - Dst: evhttp_start_write_
      Src: /src/libevent/http.c:2495,1
    - Dst: evhttp_response_needs_body
      Src: /src/libevent/http.c:2498,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2499,1
    - Dst: evhttp_connection_done
      Src: /src/libevent/http.c:2501,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2503,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:2505,1
    - Dst: evhttp_get_body
      Src: /src/libevent/http.c:2506,1
    - Dst: event_warnx
      Src: /src/libevent/http.c:2513,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:2514,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:2515,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - evcon
    - req
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2454
    functionDepth: 8
    functionLinenumber: 2454
    functionLinenumberEnd: 2519
    functionName: evhttp_read_header
    functionSourceFile: /src/libevent/http.c
    functionUses: 2
    functionsReached:
    - evhttp_parse_headers_
    - bufferevent_get_input
    - evhttp_connection_done
    - evhttp_get_body
    - evhttp_start_write_
    - EV_SOCK_ARG
    - evbuffer_add_buffer
    - event_debug
    - evhttp_response_needs_body
    - bufferevent_getfd
    - event_warnx
    - bufferevent_get_output
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: "void evhttp_read_header(struct evhttp_connection *evcon,\n\t\t   struct
      evhttp_request *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/http.c:2534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2531
    functionDepth: 1
    functionLinenumber: 2531
    functionLinenumberEnd: 2535
    functionName: evhttp_connection_new
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_base_new
    linkageType: ''
    returnType: struct evhttp_connection
    signature: 'struct evhttp_connection *

      evhttp_connection_new(const char *address, ev_uint16_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - evcon
    - bev
    argTypes:
    - struct evhttp_connection*
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2547
    functionName: evhttp_connection_set_existing_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_connection_set_existing_(struct evhttp_connection *evcon,
      struct bufferevent* bev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/http.c:2554,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2555,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/http.c:2570,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2571,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/http.c:2576,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:2580,1
    - Dst: bufferevent_get_base
      Src: /src/libevent/http.c:2584,1
    - Dst: bufferevent_base_set
      Src: /src/libevent/http.c:2585,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/http.c:2588,1
    - Dst: bufferevent_get_priority
      Src: /src/libevent/http.c:2590,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:2599,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - base
    - bev
    argTypes:
    - struct event_base*
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2549
    functionDepth: 4
    functionLinenumber: 2549
    functionLinenumberEnd: 2601
    functionName: evhttp_connection_new_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_priority
    - TAILQ_INIT
    - evhttp_connection_free
    - event_warn
    - mm_calloc
    - bufferevent_get_base
    - bufferevent_setcb
    - bufferevent_socket_new
    - bufferevent_base_set
    - event_deferred_cb_init_
    linkageType: ''
    returnType: struct evhttp_connection
    signature: 'struct evhttp_connection *

      evhttp_connection_new_(struct event_base *base, struct bufferevent* bev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_new_
      Src: /src/libevent/http.c:2610,1
    - Dst: evhttp_connection_set_existing_
      Src: /src/libevent/http.c:2615,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:2628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - base
    - dnsbase
    - bev
    argTypes:
    - struct event_base*
    - struct evdns_base*
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2603
    functionDepth: 5
    functionLinenumber: 2603
    functionLinenumberEnd: 2630
    functionName: evhttp_connection_base_bufferevent_reuse_new
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_new_
    - evhttp_connection_set_existing_
    - evhttp_connection_free
    linkageType: ''
    returnType: struct evhttp_connection
    signature: 'struct evhttp_connection *

      evhttp_connection_base_bufferevent_reuse_new(struct event_base *base, struct
      evdns_base *dnsbase, struct bufferevent* bev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/http.c:2638,1
    - Dst: member_size
      Src: /src/libevent/http.c:2638,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2639,1
    - Dst: evhttp_connection_new_
      Src: /src/libevent/http.c:2643,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:2647,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2648,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:2657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - base
    - bev
    - unixsocket
    argTypes:
    - struct event_base*
    - struct bufferevent*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2633
    functionDepth: 5
    functionLinenumber: 2633
    functionLinenumberEnd: 2659
    functionName: evhttp_connection_base_bufferevent_unix_new
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_free
    - event_warn
    - member_size
    - evhttp_connection_new_
    - mm_strdup
    - strlen
    linkageType: ''
    returnType: struct evhttp_connection
    signature: 'struct evhttp_connection *

      evhttp_connection_base_bufferevent_unix_new(struct event_base *base, struct
      bufferevent* bev, const char *unixsocket)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/http.c:2668,1
    - Dst: evhttp_connection_new_
      Src: /src/libevent/http.c:2670,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:2674,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2675,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:2684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - base
    - dnsbase
    - bev
    - address
    - port
    argTypes:
    - struct event_base*
    - struct evdns_base*
    - struct bufferevent*
    - char*
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2662
    functionDepth: 5
    functionLinenumber: 2662
    functionLinenumberEnd: 2686
    functionName: evhttp_connection_base_bufferevent_new
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_free
    - event_warn
    - evhttp_connection_new_
    - mm_strdup
    - event_debug
    linkageType: ''
    returnType: struct evhttp_connection
    signature: "struct evhttp_connection *\nevhttp_connection_base_bufferevent_new(struct
      event_base *base, struct evdns_base *dnsbase, struct bufferevent* bev,\n    const
      char *address, unsigned short port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2692
    functionName: evhttp_connection_get_bufferevent
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct bufferevent
    signature: struct bufferevent * evhttp_connection_get_bufferevent(struct evhttp_connection
      *evcon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2698
    functionName: evhttp_connection_get_server
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evhttp
    signature: 'struct evhttp *

      evhttp_connection_get_server(struct evhttp_connection *evcon)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/http.c:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - base
    - dnsbase
    - address
    - port
    argTypes:
    - struct event_base*
    - struct evdns_base*
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2700
    functionDepth: 6
    functionLinenumber: 2700
    functionLinenumberEnd: 2705
    functionName: evhttp_connection_base_new
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evhttp_connection_base_bufferevent_new
    linkageType: ''
    returnType: struct evhttp_connection
    signature: "struct evhttp_connection *\nevhttp_connection_base_new(struct event_base
      *base, struct evdns_base *dnsbase,\n    const char *address, ev_uint16_t port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evcon
    - family
    argTypes:
    - struct evhttp_connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2711
    functionName: evhttp_connection_set_family
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_family(struct evhttp_connection *evcon,\n\tint
      family)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - evcon
    - flags
    argTypes:
    - struct evhttp_connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2727
    functionName: evhttp_connection_set_flags
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int evhttp_connection_set_flags(struct evhttp_connection *evcon,\n\tint
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evcon
    - cmp
    argTypes:
    - struct evhttp_connection*
    - evhttp_ext_method_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2734
    functionName: evhttp_connection_set_ext_method_cmp
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_ext_method_cmp(struct evhttp_connection
      *evcon,\n\tevhttp_ext_method_cb cmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:2740,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:2741,1
    - Dst: bufferevent_base_set
      Src: /src/libevent/http.c:2743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - evcon
    - base
    argTypes:
    - struct evhttp_connection*
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2736
    functionDepth: 1
    functionLinenumber: 2736
    functionLinenumberEnd: 2744
    functionName: evhttp_connection_set_base
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_base_set
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_base(struct evhttp_connection *evcon,\n
      \   struct event_base *base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_
      Src: /src/libevent/http.c:2755,1
    - Dst: evhttp_set_timeout_
      Src: /src/libevent/http.c:2756,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/http.c:2757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - evcon
    - timeout
    argTypes:
    - struct evhttp_connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2746
    functionDepth: 2
    functionLinenumber: 2746
    functionLinenumberEnd: 2759
    functionName: evhttp_connection_set_timeout
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_set_timeouts
    - evhttp_set_timeout_
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_timeout(struct evhttp_connection *evcon,\n
      \   int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:2769,1
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:2770,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/http.c:2771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - evcon
    - tv
    argTypes:
    - struct evhttp_connection*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2760
    functionDepth: 2
    functionLinenumber: 2760
    functionLinenumberEnd: 2773
    functionName: evhttp_connection_set_timeout_tv
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_set_timeouts
    - evhttp_set_timeout_tv_
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_timeout_tv(struct evhttp_connection *evcon,\n
      \   const struct timeval* tv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:2778,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/http.c:2780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - evcon
    - tv
    argTypes:
    - struct evhttp_connection*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2774
    functionDepth: 2
    functionLinenumber: 2774
    functionLinenumberEnd: 2782
    functionName: evhttp_connection_set_connect_timeout_tv
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_set_timeouts
    - evhttp_set_timeout_tv_
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_connect_timeout_tv(struct evhttp_connection
      *evcon,\n    const struct timeval *tv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:2787,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/http.c:2789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - evcon
    - tv
    argTypes:
    - struct evhttp_connection*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2783
    functionDepth: 2
    functionLinenumber: 2783
    functionLinenumberEnd: 2791
    functionName: evhttp_connection_set_read_timeout_tv
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_set_timeouts
    - evhttp_set_timeout_tv_
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_read_timeout_tv(struct evhttp_connection
      *evcon,\n    const struct timeval *tv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:2796,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/http.c:2798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - evcon
    - tv
    argTypes:
    - struct evhttp_connection*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2792
    functionDepth: 2
    functionLinenumber: 2792
    functionLinenumberEnd: 2800
    functionName: evhttp_connection_set_write_timeout_tv
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_set_timeouts
    - evhttp_set_timeout_tv_
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_write_timeout_tv(struct evhttp_connection
      *evcon,\n    const struct timeval *tv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_timerclear
      Src: /src/libevent/http.c:2809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - evcon
    - tv
    argTypes:
    - struct evhttp_connection*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2802
    functionDepth: 1
    functionLinenumber: 2802
    functionLinenumberEnd: 2812
    functionName: evhttp_connection_set_initial_retry_tv
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evutil_timerclear
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_initial_retry_tv(struct evhttp_connection
      *evcon,\n    const struct timeval *tv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evcon
    - retry_max
    argTypes:
    - struct evhttp_connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2819
    functionName: evhttp_connection_set_retries
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_retries(struct evhttp_connection *evcon,\n
      \   int retry_max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - evcon
    - cbarg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 2827
    functionName: evhttp_connection_set_closecb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_set_closecb(struct evhttp_connection *evcon,\n
      \   void (*cb)(struct evhttp_connection *, void *), void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - evcon
    - address
    - port
    argTypes:
    - struct evhttp_connection*
    - char**
    - ev_uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2835
    functionName: evhttp_connection_get_peer
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_connection_get_peer(struct evhttp_connection *evcon,\n
      \   const char **address, ev_uint16_t *port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_get_conn_address_
      Src: /src/libevent/http.c:2840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2837
    functionDepth: 1
    functionLinenumber: 2837
    functionLinenumberEnd: 2841
    functionName: evhttp_connection_get_addr
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_socket_get_conn_address_
    linkageType: ''
    returnType: struct sockaddr
    signature: 'struct sockaddr *

      evhttp_connection_get_addr(struct evhttp_connection *evcon)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_get_addr
      Src: /src/libevent/http.c:2848,1
    - Dst: evhttp_connection_reset_
      Src: /src/libevent/http.c:2863,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:2865,1
    - Dst: bind_socket
      Src: /src/libevent/http.c:2869,1
    - Dst: event_debug
      Src: /src/libevent/http.c:2872,1
    - Dst: bufferevent_replacefd
      Src: /src/libevent/http.c:2877,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/http.c:2882,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/http.c:2887,1
    - Dst: bufferevent_enable
      Src: /src/libevent/http.c:2890,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/http.c:2902,1
    - Dst: strcpy
      Src: /src/libevent/http.c:2908,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/http.c:2909,1
    - Dst: bufferevent_socket_connect_hostname
      Src: /src/libevent/http.c:2913,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2843
    functionDepth: 3
    functionLinenumber: 2843
    functionLinenumberEnd: 2915
    functionName: evhttp_connection_connect_
    functionSourceFile: /src/libevent/http.c
    functionUses: 3
    functionsReached:
    - strcpy
    - bufferevent_enable
    - evhttp_connection_reset_
    - bufferevent_socket_connect
    - EVUTIL_ASSERT
    - bind_socket
    - bufferevent_setcb
    - event_debug
    - bufferevent_set_timeouts
    - bufferevent_socket_connect_hostname
    - evhttp_connection_get_addr
    - bufferevent_replacefd
    linkageType: ''
    returnType: int
    signature: int evhttp_connection_connect_(struct evhttp_connection *evcon)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/http.c:2947,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:2948,1
    - Dst: event_warn
      Src: /src/libevent/http.c:2949,1
    - Dst: evhttp_request_free_auto
      Src: /src/libevent/http.c:2950,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:2960,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:2962,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:2964,1
    - Dst: evhttp_connected
      Src: /src/libevent/http.c:2971,1
    - Dst: evhttp_connection_connect_
      Src: /src/libevent/http.c:2972,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:2978,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:2988,1
    - Dst: evhttp_request_dispatch
      Src: /src/libevent/http.c:2989,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - evcon
    - req
    - type
    - uri
    argTypes:
    - struct evhttp_connection*
    - struct evhttp_request*
    - enum evhttp_cmd_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2938
    functionDepth: 5
    functionLinenumber: 2938
    functionLinenumberEnd: 2992
    functionName: evhttp_make_request
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - evhttp_request_free_auto
    - TAILQ_INSERT_TAIL
    - evhttp_connection_connect_
    - event_warn
    - evhttp_connected
    - EVUTIL_ASSERT
    - mm_strdup
    - evhttp_request_dispatch
    - TAILQ_FIRST
    - mm_free
    linkageType: ''
    returnType: int
    signature: "int evhttp_make_request(struct evhttp_connection *evcon,\n    struct
      evhttp_request *req,\n    enum evhttp_cmd_type type, const char *uri)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:3000,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/http.c:3004,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:3013,1
    - Dst: evhttp_request_free_auto
      Src: /src/libevent/http.c:3017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 2994
    functionDepth: 4
    functionLinenumber: 2994
    functionLinenumberEnd: 3018
    functionName: evhttp_cancel_request
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - evhttp_request_free_auto
    - evhttp_connection_fail_
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void evhttp_cancel_request(struct evhttp_request *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:3028,1
    - Dst: bufferevent_enable
      Src: /src/libevent/http.c:3029,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/http.c:3033,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:3041,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/http.c:3041,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/http.c:3042,1
    - Dst: get_deferred_queue
      Src: /src/libevent/http.c:3042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3025
    functionDepth: 1
    functionLinenumber: 3025
    functionLinenumberEnd: 3045
    functionName: evhttp_start_read_
    functionSourceFile: /src/libevent/http.c
    functionUses: 2
    functionsReached:
    - bufferevent_get_input
    - bufferevent_enable
    - event_deferred_cb_schedule_
    - bufferevent_disable
    - evbuffer_get_length
    - bufferevent_setcb
    - get_deferred_queue
    linkageType: ''
    returnType: void
    signature: void evhttp_start_read_(struct evhttp_connection *evcon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:3050,1
    - Dst: bufferevent_enable
      Src: /src/libevent/http.c:3051,1
    - Dst: evhttp_write_buffer
      Src: /src/libevent/http.c:3054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3047
    functionDepth: 2
    functionLinenumber: 3047
    functionLinenumberEnd: 3055
    functionName: evhttp_start_write_
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - bufferevent_enable
    - evhttp_write_buffer
    - bufferevent_disable
    linkageType: ''
    returnType: void
    signature: void evhttp_start_write_(struct evhttp_connection *evcon)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:3061,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:3062,1
    - Dst: struct evhttp_request*::on_complete_cb
      Src: /src/libevent/http.c:3065,1
    - Dst: REQ_VERSION_BEFORE
      Src: /src/libevent/http.c:3069,1
    - Dst: evhttp_is_connection_keepalive
      Src: /src/libevent/http.c:3070,1
    - Dst: evhttp_is_request_connection_close
      Src: /src/libevent/http.c:3071,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:3073,1
    - Dst: evhttp_request_free
      Src: /src/libevent/http.c:3074,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:3077,1
    - Dst: evhttp_associate_new_request_with_connection
      Src: /src/libevent/http.c:3082,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:3083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - evcon
    - arg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 3057
    functionDepth: 4
    functionLinenumber: 3057
    functionLinenumberEnd: 3085
    functionName: evhttp_send_done
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_is_request_connection_close
    - REQ_VERSION_BEFORE
    - struct evhttp_request*::on_complete_cb
    - evhttp_connection_free
    - evhttp_is_connection_keepalive
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - evhttp_request_free
    - evhttp_associate_new_request_with_connection
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void evhttp_send_done(struct evhttp_connection *evcon, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/http.c:3099,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:3104,1
    - Dst: evhttp_response_code_
      Src: /src/libevent/http.c:3108,1
    - Dst: evhttp_response_phrase_internal
      Src: /src/libevent/http.c:3114,1
    - Dst: evbuffer_drain
      Src: /src/libevent/http.c:3116,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:3116,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:3117,1
    - Dst: evhttp_send_page_
      Src: /src/libevent/http.c:3122,1
    - Dst: evbuffer_free
      Src: /src/libevent/http.c:3124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - req
    - error
    - reason
    argTypes:
    - struct evhttp_request*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3090
    functionDepth: 4
    functionLinenumber: 3090
    functionLinenumberEnd: 3126
    functionName: evhttp_send_error
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evhttp_response_code_
    - evbuffer_drain
    - evhttp_connection_free
    - evbuffer_get_length
    - evhttp_send_page_
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add_printf
    - evhttp_response_phrase_internal
    linkageType: ''
    returnType: void
    signature: void evhttp_send_error(struct evhttp_request *req, int error, const
      char *reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_htmlescape
      Src: /src/libevent/http.c:3137,1
    - Dst: strlen
      Src: /src/libevent/http.c:3140,1
    - Dst: strlen
      Src: /src/libevent/http.c:3140,1
    - Dst: mm_malloc
      Src: /src/libevent/http.c:3141,1
    - Dst: evutil_snprintf
      Src: /src/libevent/http.c:3145,1
    - Dst: evhttp_send_error
      Src: /src/libevent/http.c:3147,1
    - Dst: mm_free
      Src: /src/libevent/http.c:3150,1
    - Dst: mm_free
      Src: /src/libevent/http.c:3152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - req
    - url
    argTypes:
    - struct evhttp_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3154
      start: 3127
    functionDepth: 5
    functionLinenumber: 3127
    functionLinenumberEnd: 3154
    functionName: evhttp_send_notfound
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_htmlescape
    - evhttp_send_error
    - mm_malloc
    - mm_free
    - strlen
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void evhttp_send_notfound(struct evhttp_request *req, const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_free
      Src: /src/libevent/http.c:3165,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:3169,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:3169,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/http.c:3176,1
    - Dst: evhttp_make_header
      Src: /src/libevent/http.c:3179,1
    - Dst: evhttp_write_buffer
      Src: /src/libevent/http.c:3181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - req
    - databuf
    argTypes:
    - struct evhttp_request*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3182
      start: 3159
    functionDepth: 4
    functionLinenumber: 3159
    functionLinenumberEnd: 3182
    functionName: evhttp_send
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evhttp_make_header
    - evhttp_write_buffer
    - evbuffer_add_buffer
    - TAILQ_FIRST
    - evhttp_request_free
    linkageType: ''
    returnType: void
    signature: void evhttp_send(struct evhttp_request *req, struct evbuffer *databuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_response_code_
      Src: /src/libevent/http.c:3188,1
    - Dst: evhttp_send
      Src: /src/libevent/http.c:3190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - req
    - code
    - reason
    - databuf
    argTypes:
    - struct evhttp_request*
    - int
    - char*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3184
    functionDepth: 5
    functionLinenumber: 3184
    functionLinenumberEnd: 3191
    functionName: evhttp_send_reply
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_response_code_
    - evhttp_send
    linkageType: ''
    returnType: void
    signature: "void evhttp_send_reply(struct evhttp_request *req, int code, const
      char *reason,\n    struct evbuffer *databuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_response_code_
      Src: /src/libevent/http.c:3197,1
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:3202,1
    - Dst: REQ_VERSION_ATLEAST
      Src: /src/libevent/http.c:3203,1
    - Dst: evhttp_response_needs_body
      Src: /src/libevent/http.c:3204,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:3210,1
    - Dst: evhttp_make_header
      Src: /src/libevent/http.c:3216,1
    - Dst: evhttp_write_buffer
      Src: /src/libevent/http.c:3217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - req
    - code
    - reason
    argTypes:
    - struct evhttp_request*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3193
    functionDepth: 4
    functionLinenumber: 3193
    functionLinenumberEnd: 3218
    functionName: evhttp_send_reply_start
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_response_code_
    - evhttp_add_header
    - evhttp_make_header
    - evhttp_write_buffer
    - evhttp_response_needs_body
    - evhttp_find_header
    - REQ_VERSION_ATLEAST
    linkageType: ''
    returnType: void
    signature: "void evhttp_send_reply_start(struct evhttp_request *req, int code,\n
      \   const char *reason)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:3230,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:3232,1
    - Dst: evhttp_response_needs_body
      Src: /src/libevent/http.c:3234,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:3237,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:3238,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/http.c:3240,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:3242,1
    - Dst: evhttp_write_buffer
      Src: /src/libevent/http.c:3244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - req
    - databuf
    - arg
    argTypes:
    - struct evhttp_request*
    - struct evbuffer*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3245
      start: 3220
    functionDepth: 2
    functionLinenumber: 3220
    functionLinenumberEnd: 3245
    functionName: evhttp_send_reply_chunk_with_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - evhttp_write_buffer
    - evbuffer_add_buffer
    - evhttp_response_needs_body
    - bufferevent_get_output
    - evbuffer_add
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: "void evhttp_send_reply_chunk_with_cb(struct evhttp_request *req, struct
      evbuffer *databuf,\n    void (*cb)(struct evhttp_connection *, void *), void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_response_code_
      Src: /src/libevent/http.c:3253,1
    - Dst: evhttp_make_header
      Src: /src/libevent/http.c:3258,1
    - Dst: evhttp_write_buffer
      Src: /src/libevent/http.c:3259,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:3261,1
    - Dst: evhttp_request_free
      Src: /src/libevent/http.c:3267,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:3268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3247
    functionDepth: 4
    functionLinenumber: 3247
    functionLinenumberEnd: 3270
    functionName: evhttp_start_ws_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_response_code_
    - evhttp_connection_free
    - evhttp_make_header
    - evhttp_write_buffer
    - evhttp_request_free
    - TAILQ_REMOVE
    linkageType: ''
    returnType: struct bufferevent
    signature: 'struct bufferevent *

      evhttp_start_ws_(struct evhttp_request *req)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_send_reply_chunk_with_cb
      Src: /src/libevent/http.c:3275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - databuf
    argTypes:
    - struct evhttp_request*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3272
    functionDepth: 3
    functionLinenumber: 3272
    functionLinenumberEnd: 3276
    functionName: evhttp_send_reply_chunk
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_send_reply_chunk_with_cb
    linkageType: ''
    returnType: void
    signature: void evhttp_send_reply_chunk(struct evhttp_request *req, struct evbuffer
      *databuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_free
      Src: /src/libevent/http.c:3284,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/http.c:3288,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:3294,1
    - Dst: evhttp_write_buffer
      Src: /src/libevent/http.c:3295,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:3297,1
    - Dst: evhttp_send_done
      Src: /src/libevent/http.c:3299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3277
    functionDepth: 5
    functionLinenumber: 3277
    functionLinenumberEnd: 3305
    functionName: evhttp_send_reply_end
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_send_done
    - evbuffer_get_length
    - evhttp_write_buffer
    - evhttp_request_free
    - bufferevent_get_output
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: void evhttp_send_reply_end(struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3369
    functionDepth: 0
    functionLinenumber: 3369
    functionLinenumberEnd: 3370
    functionName: MEMBERSOF
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBERSOF(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMBERSOF
      Src: /src/libevent/http.c:3387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3380
    functionDepth: 1
    functionLinenumber: 3380
    functionLinenumberEnd: 3395
    functionName: evhttp_response_phrase_internal
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - MEMBERSOF
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_response_phrase_internal(int code)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/http.c:3403,1
    - Dst: evhttp_response_phrase_internal
      Src: /src/libevent/http.c:3405,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:3406,1
    - Dst: event_warn
      Src: /src/libevent/http.c:3408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - req
    - code
    - reason
    argTypes:
    - struct evhttp_request*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3411
      start: 3397
    functionDepth: 2
    functionLinenumber: 3397
    functionLinenumberEnd: 3411
    functionName: evhttp_response_code_
    functionSourceFile: /src/libevent/http.c
    functionUses: 4
    functionsReached:
    - mm_free
    - mm_strdup
    - event_warn
    - evhttp_response_phrase_internal
    linkageType: ''
    returnType: void
    signature: void evhttp_response_code_(struct evhttp_request *req, int code, const
      char *reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_response_code_
      Src: /src/libevent/http.c:3422,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/http.c:3424,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:3425,1
    - Dst: evhttp_add_header
      Src: /src/libevent/http.c:3426,1
    - Dst: evhttp_send
      Src: /src/libevent/http.c:3428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - req
    - databuf
    argTypes:
    - struct evhttp_request*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3413
    functionDepth: 5
    functionLinenumber: 3413
    functionLinenumberEnd: 3429
    functionName: evhttp_send_page_
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evhttp_response_code_
    - evhttp_clear_headers
    - evhttp_add_header
    - evhttp_send
    linkageType: ''
    returnType: void
    signature: void evhttp_send_page_(struct evhttp_request *req, struct evbuffer
      *databuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3454
    functionDepth: 0
    functionLinenumber: 3454
    functionLinenumberEnd: 3456
    functionName: CHAR_IS_UNRESERVED
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR_IS_UNRESERVED(c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/http.c:3464,1
    - Dst: strlen
      Src: /src/libevent/http.c:3479,1
    - Dst: CHAR_IS_UNRESERVED
      Src: /src/libevent/http.c:3494,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:3495,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:3497,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:3499,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:3503,1
    - Dst: mm_malloc
      Src: /src/libevent/http.c:3504,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:3504,1
    - Dst: evbuffer_remove
      Src: /src/libevent/http.c:3507,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:3507,1
    - Dst: evbuffer_free
      Src: /src/libevent/http.c:3511,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - uri
    - len
    - space_as_plus
    argTypes:
    - char*
    - ev_ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3513
      start: 3461
    functionDepth: 1
    functionLinenumber: 3461
    functionLinenumberEnd: 3513
    functionName: evhttp_uriencode
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_free
    - CHAR_IS_UNRESERVED
    - evbuffer_remove
    - mm_malloc
    - evbuffer_add_printf
    - evbuffer_add
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uriencode(const char *uri, ev_ssize_t len, int space_as_plus)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_uriencode
      Src: /src/libevent/http.c:3518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3515
    functionDepth: 2
    functionLinenumber: 3515
    functionLinenumberEnd: 3519
    functionName: evhttp_encode_uri
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_uriencode
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_encode_uri(const char *str)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:3544,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:3544,1
    - Dst: strtol
      Src: /src/libevent/http.c:3549,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - uri
    - length
    - ret
    - decode_plus_ctl
    argTypes:
    - char*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3557
      start: 3527
    functionDepth: 0
    functionLinenumber: 3527
    functionLinenumberEnd: 3557
    functionName: evhttp_decode_uri_internal
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strtol
    - EVUTIL_ISXDIGIT_
    linkageType: ''
    returnType: int
    signature: "int evhttp_decode_uri_internal(\n\tconst char *uri, size_t length,
      char *ret, int decode_plus_ctl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/http.c:3565,1
    - Dst: strlen
      Src: /src/libevent/http.c:3565,1
    - Dst: event_warn
      Src: /src/libevent/http.c:3566,1
    - Dst: strlen
      Src: /src/libevent/http.c:3567,1
    - Dst: evhttp_decode_uri_internal
      Src: /src/libevent/http.c:3571,1
    - Dst: strlen
      Src: /src/libevent/http.c:3571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3575
      start: 3560
    functionDepth: 1
    functionLinenumber: 3560
    functionLinenumberEnd: 3575
    functionName: evhttp_decode_uri
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - mm_malloc
    - evhttp_decode_uri_internal
    - event_warn
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_decode_uri(const char *uri)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/http.c:3583,1
    - Dst: strlen
      Src: /src/libevent/http.c:3583,1
    - Dst: event_warn
      Src: /src/libevent/http.c:3584,1
    - Dst: strlen
      Src: /src/libevent/http.c:3585,1
    - Dst: evhttp_decode_uri_internal
      Src: /src/libevent/http.c:3589,1
    - Dst: strlen
      Src: /src/libevent/http.c:3589,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:3593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - uri
    - decode_plus
    - size_out
    argTypes:
    - char*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3598
      start: 3577
    functionDepth: 1
    functionLinenumber: 3577
    functionLinenumberEnd: 3598
    functionName: evhttp_uridecode
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_decode_uri_internal
    - event_warn
    - EVUTIL_ASSERT
    - mm_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uridecode(const char *uri, int decode_plus, size_t *size_out)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:3615,1
    - Dst: evhttp_uri_parse
      Src: /src/libevent/http.c:3618,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/http.c:3621,1
    - Dst: strlen
      Src: /src/libevent/http.c:3627,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:3632,1
    - Dst: event_warn
      Src: /src/libevent/http.c:3633,1
    - Dst: strsep
      Src: /src/libevent/http.c:3642,1
    - Dst: strsep
      Src: /src/libevent/http.c:3643,1
    - Dst: mm_malloc
      Src: /src/libevent/http.c:3654,1
    - Dst: strlen
      Src: /src/libevent/http.c:3654,1
    - Dst: event_warn
      Src: /src/libevent/http.c:3655,1
    - Dst: evhttp_decode_uri_internal
      Src: /src/libevent/http.c:3658,1
    - Dst: strlen
      Src: /src/libevent/http.c:3658,1
    - Dst: event_debug
      Src: /src/libevent/http.c:3660,1
    - Dst: evhttp_remove_header
      Src: /src/libevent/http.c:3662,1
    - Dst: evhttp_add_header_internal
      Src: /src/libevent/http.c:3663,1
    - Dst: mm_free
      Src: /src/libevent/http.c:3664,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/http.c:3672,1
    - Dst: mm_free
      Src: /src/libevent/http.c:3675,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/http.c:3677,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 4
    argNames:
    - str
    - headers
    - is_whole_uri
    - flags
    argTypes:
    - char*
    - struct evkeyvalq*
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3679
      start: 3605
    functionDepth: 2
    functionLinenumber: 3605
    functionLinenumberEnd: 3679
    functionName: evhttp_parse_query_impl
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strsep
    - TAILQ_INIT
    - evhttp_remove_header
    - evhttp_decode_uri_internal
    - event_warn
    - evhttp_uri_free
    - mm_strdup
    - event_debug
    - evhttp_uri_get_query
    - mm_free
    - evhttp_clear_headers
    - mm_malloc
    - evhttp_uri_parse
    - strlen
    - evhttp_add_header_internal
    linkageType: ''
    returnType: int
    signature: "int evhttp_parse_query_impl(const char *str, struct evkeyvalq *headers,\n
      \   int is_whole_uri, unsigned flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_parse_query_impl
      Src: /src/libevent/http.c:3684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - uri
    - headers
    argTypes:
    - char*
    - struct evkeyvalq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3685
      start: 3681
    functionDepth: 3
    functionLinenumber: 3681
    functionLinenumberEnd: 3685
    functionName: evhttp_parse_query
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_query_impl
    linkageType: ''
    returnType: int
    signature: int evhttp_parse_query(const char *uri, struct evkeyvalq *headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_parse_query_impl
      Src: /src/libevent/http.c:3689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - uri
    - headers
    argTypes:
    - char*
    - struct evkeyvalq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3690
      start: 3686
    functionDepth: 3
    functionLinenumber: 3686
    functionLinenumberEnd: 3690
    functionName: evhttp_parse_query_str
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_query_impl
    linkageType: ''
    returnType: int
    signature: int evhttp_parse_query_str(const char *uri, struct evkeyvalq *headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_parse_query_impl
      Src: /src/libevent/http.c:3694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uri
    - headers
    - flags
    argTypes:
    - char*
    - struct evkeyvalq*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3695
      start: 3691
    functionDepth: 3
    functionLinenumber: 3691
    functionLinenumberEnd: 3695
    functionName: evhttp_parse_query_str_flags
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_query_impl
    linkageType: ''
    returnType: int
    signature: int evhttp_parse_query_str_flags(const char *uri, struct evkeyvalq
      *headers, unsigned flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/http.c:3706,1
    - Dst: strlen
      Src: /src/libevent/http.c:3707,1
    - Dst: mm_malloc
      Src: /src/libevent/http.c:3708,1
    - Dst: evhttp_decode_uri_internal
      Src: /src/libevent/http.c:3710,1
    - Dst: strcmp
      Src: /src/libevent/http.c:3714,1
    - Dst: mm_free
      Src: /src/libevent/http.c:3715,1
    - Dst: mm_free
      Src: /src/libevent/http.c:3720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - callbacks
    - req
    argTypes:
    - struct httpcbq*
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3697
    functionDepth: 1
    functionLinenumber: 3697
    functionLinenumberEnd: 3722
    functionName: evhttp_dispatch_callback
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_decode_uri_internal
    - mm_malloc
    - strcmp
    - mm_free
    - strlen
    - evhttp_uri_get_path
    linkageType: ''
    returnType: struct evhttp_cb
    signature: 'struct evhttp_cb *

      evhttp_dispatch_callback(struct httpcbq *callbacks, struct evhttp_request *req)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/http.c:3714,1
    - Dst: mm_free
      Src: /src/libevent/http.c:3715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3718
      start: 3713
    functionDepth: 1
    functionLinenumber: 3713
    functionLinenumberEnd: 3718
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - strcmp
    - mm_free
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(cb, callbacks, next)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prefix_suffix_match
      Src: /src/libevent/http.c:3737,1
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/http.c:3746,1
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/http.c:3746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pattern
    - name
    - ignorecase
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3753
      start: 3725
    functionDepth: 1
    functionLinenumber: 3725
    functionLinenumberEnd: 3753
    functionName: prefix_suffix_match
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - prefix_suffix_match
    - EVUTIL_TOLOWER_
    linkageType: ''
    returnType: int
    signature: int prefix_suffix_match(const char *pattern, const char *name, int
      ignorecase)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/http.c:3768,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:3770,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/http.c:3779,1
    - Dst: evhttp_find_alias
      Src: /src/libevent/http.c:3780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - http
    - outhttp
    - hostname
    argTypes:
    - struct evhttp*
    - struct evhttp**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3761
    functionDepth: 1
    functionLinenumber: 3761
    functionLinenumberEnd: 3785
    functionName: evhttp_find_alias
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evhttp_find_alias
    - TAILQ_FOREACH
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int evhttp_find_alias(struct evhttp *http, struct evhttp **outhttp,\n\t\t
      \ const char *hostname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_alias
      Src: /src/libevent/http.c:3806,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/http.c:3811,1
    - Dst: prefix_suffix_match
      Src: /src/libevent/http.c:3812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - http
    - outhttp
    - hostname
    argTypes:
    - struct evhttp*
    - struct evhttp**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3798
    functionDepth: 2
    functionLinenumber: 3798
    functionLinenumberEnd: 3825
    functionName: evhttp_find_vhost
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_find_alias
    - prefix_suffix_match
    - TAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: "int evhttp_find_vhost(struct evhttp *http, struct evhttp **outhttp,\n\t\t
      \ const char *hostname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:3837,1
    - Dst: evhttp_send_error
      Src: /src/libevent/http.c:3840,1
    - Dst: event_debug
      Src: /src/libevent/http.c:3845,1
    - Dst: evhttp_send_error
      Src: /src/libevent/http.c:3847,1
    - Dst: evhttp_request_get_host
      Src: /src/libevent/http.c:3852,1
    - Dst: evhttp_find_vhost
      Src: /src/libevent/http.c:3854,1
    - Dst: evhttp_dispatch_callback
      Src: /src/libevent/http.c:3857,1
    - Dst: evhttp_send_notfound
      Src: /src/libevent/http.c:3867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3827
    functionDepth: 6
    functionLinenumber: 3827
    functionLinenumberEnd: 3868
    functionName: evhttp_handle_request
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_send_notfound
    - evhttp_dispatch_callback
    - bufferevent_disable
    - evhttp_request_get_host
    - evhttp_find_vhost
    - event_debug
    - evhttp_send_error
    linkageType: ''
    returnType: void
    signature: void evhttp_handle_request(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct evhttp_bound_socket*::bevcb
      Src: /src/libevent/http.c:3880,1
    - Dst: evhttp_get_request
      Src: /src/libevent/http.c:3882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - listener
    - nfd
    - peer_sa
    - peer_socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3883
      start: 3871
    functionDepth: 1
    functionLinenumber: 3871
    functionLinenumberEnd: 3883
    functionName: accept_socket_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - struct evhttp_bound_socket*::bevcb
    - evhttp_get_request
    linkageType: ''
    returnType: void
    signature: void accept_socket_cb(struct evconnlistener *listener, evutil_socket_t
      nfd, struct sockaddr *peer_sa, int peer_socklen, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/http.c:3889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - http
    - address
    - port
    argTypes:
    - struct evhttp*
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3893
      start: 3885
    functionDepth: 1
    functionLinenumber: 3885
    functionLinenumberEnd: 3893
    functionName: evhttp_bind_socket
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_bind_socket_with_handle
    linkageType: ''
    returnType: int
    signature: int evhttp_bind_socket(struct evhttp *http, const char *address, ev_uint16_t
      port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bind_socket
      Src: /src/libevent/http.c:3902,1
    - Dst: listen
      Src: /src/libevent/http.c:3905,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/http.c:3906,1
    - Dst: event_sock_warn
      Src: /src/libevent/http.c:3907,1
    - Dst: evutil_closesocket
      Src: /src/libevent/http.c:3908,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/http.c:3909,1
    - Dst: evhttp_accept_socket_with_handle
      Src: /src/libevent/http.c:3913,1
    - Dst: event_debug
      Src: /src/libevent/http.c:3916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - http
    - address
    - port
    argTypes:
    - struct evhttp*
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3922
      start: 3895
    functionDepth: 1
    functionLinenumber: 3895
    functionLinenumberEnd: 3922
    functionName: evhttp_bind_socket_with_handle
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - event_sock_warn
    - listen
    - EVUTIL_SET_SOCKET_ERROR
    - EVUTIL_SOCKET_ERROR
    - bind_socket
    - event_debug
    - evhttp_accept_socket_with_handle
    - evutil_closesocket
    linkageType: ''
    returnType: struct evhttp_bound_socket
    signature: 'struct evhttp_bound_socket *

      evhttp_bind_socket_with_handle(struct evhttp *http, const char *address, ev_uint16_t
      port)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_accept_socket_with_handle
      Src: /src/libevent/http.c:3928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - http
    - fd
    argTypes:
    - struct evhttp*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3932
      start: 3924
    functionDepth: 1
    functionLinenumber: 3924
    functionLinenumberEnd: 3932
    functionName: evhttp_accept_socket
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_accept_socket_with_handle
    linkageType: ''
    returnType: int
    signature: int evhttp_accept_socket(struct evhttp *http, evutil_socket_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/http.c:3941,1
    - Dst: function
      Src: /src/libevent/http.c:3942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - http
    - function
    - argument
    argTypes:
    - struct evhttp*
    - evhttp_bound_socket_foreach_fn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3943
      start: 3934
    functionDepth: 0
    functionLinenumber: 3934
    functionLinenumberEnd: 3943
    functionName: evhttp_foreach_bound_socket
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - function
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void evhttp_foreach_bound_socket(struct evhttp *http,\n                            evhttp_bound_socket_foreach_fn
      *function,\n                            void *argument)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evconnlistener_new
      Src: /src/libevent/http.c:3953,1
    - Dst: evhttp_bind_listener
      Src: /src/libevent/http.c:3960,1
    - Dst: evconnlistener_free
      Src: /src/libevent/http.c:3962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - http
    - fd
    argTypes:
    - struct evhttp*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3966
      start: 3945
    functionDepth: 1
    functionLinenumber: 3945
    functionLinenumberEnd: 3966
    functionName: evhttp_accept_socket_with_handle
    functionSourceFile: /src/libevent/http.c
    functionUses: 2
    functionsReached:
    - evhttp_bind_listener
    - evconnlistener_new
    - evconnlistener_free
    linkageType: ''
    returnType: struct evhttp_bound_socket
    signature: 'struct evhttp_bound_socket *

      evhttp_accept_socket_with_handle(struct evhttp *http, evutil_socket_t fd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/http.c:3973,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:3980,1
    - Dst: evconnlistener_set_cb
      Src: /src/libevent/http.c:3982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - http
    - listener
    argTypes:
    - struct evhttp*
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3968
    functionDepth: 1
    functionLinenumber: 3968
    functionLinenumberEnd: 3984
    functionName: evhttp_bind_listener
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evconnlistener_set_cb
    - TAILQ_INSERT_TAIL
    - mm_malloc
    linkageType: ''
    returnType: struct evhttp_bound_socket
    signature: 'struct evhttp_bound_socket *

      evhttp_bind_listener(struct evhttp *http, struct evconnlistener *listener)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/http.c:3989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bound
    argTypes:
    - struct evhttp_bound_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3986
    functionDepth: 1
    functionLinenumber: 3986
    functionLinenumberEnd: 3990
    functionName: evhttp_bound_socket_get_fd
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evconnlistener_get_fd
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t evhttp_bound_socket_get_fd(struct evhttp_bound_socket
      *bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bound
    argTypes:
    - struct evhttp_bound_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3996
      start: 3992
    functionDepth: 0
    functionLinenumber: 3992
    functionLinenumberEnd: 3996
    functionName: evhttp_bound_socket_get_listener
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evconnlistener
    signature: 'struct evconnlistener *

      evhttp_bound_socket_get_listener(struct evhttp_bound_socket *bound)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bound
    - (*cb)(struct event_base *, void *)
    - cbarg
    argTypes:
    - struct evhttp_bound_socket*
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 3998
    functionDepth: 0
    functionLinenumber: 3998
    functionLinenumberEnd: 4004
    functionName: evhttp_bound_set_bevcb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_bound_set_bevcb(struct evhttp_bound_socket *bound,\n    struct
      bufferevent* (*cb)(struct event_base *, void *), void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:4009,1
    - Dst: evconnlistener_free
      Src: /src/libevent/http.c:4010,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - http
    - bound
    argTypes:
    - struct evhttp*
    - struct evhttp_bound_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 4006
    functionDepth: 1
    functionLinenumber: 4006
    functionLinenumberEnd: 4012
    functionName: evhttp_del_accept_socket
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    - evconnlistener_free
    linkageType: ''
    returnType: void
    signature: void evhttp_del_accept_socket(struct evhttp *http, struct evhttp_bound_socket
      *bound)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/http.c:4019,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4020,1
    - Dst: evutil_timerclear
      Src: /src/libevent/http.c:4024,1
    - Dst: evutil_timerclear
      Src: /src/libevent/http.c:4025,1
    - Dst: evhttp_set_max_headers_size
      Src: /src/libevent/http.c:4027,1
    - Dst: evhttp_set_max_body_size
      Src: /src/libevent/http.c:4028,1
    - Dst: evhttp_set_default_content_type
      Src: /src/libevent/http.c:4029,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/http.c:4030,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:4037,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:4038,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:4039,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:4040,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:4041,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:4042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4014
    functionDepth: 1
    functionLinenumber: 4014
    functionLinenumberEnd: 4045
    functionName: evhttp_new_object
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_INIT
    - event_warn
    - mm_calloc
    - evhttp_set_max_body_size
    - evutil_timerclear
    - evhttp_set_default_content_type
    - evhttp_set_allowed_methods
    - evhttp_set_max_headers_size
    linkageType: ''
    returnType: struct evhttp
    signature: 'struct evhttp *

      evhttp_new_object(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_new_object
      Src: /src/libevent/http.c:4052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4047
    functionDepth: 2
    functionLinenumber: 4047
    functionLinenumberEnd: 4058
    functionName: evhttp_new
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_new_object
    linkageType: ''
    returnType: struct evhttp
    signature: 'struct evhttp *

      evhttp_new(struct event_base *base)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_new_object
      Src: /src/libevent/http.c:4069,1
    - Dst: evhttp_bind_socket
      Src: /src/libevent/http.c:4072,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4078
      start: 4064
    functionDepth: 2
    functionLinenumber: 4064
    functionLinenumberEnd: 4078
    functionName: evhttp_start
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - mm_free
    - evhttp_new_object
    - evhttp_bind_socket
    linkageType: ''
    returnType: struct evhttp
    signature: 'struct evhttp *

      evhttp_start(const char *address, ev_uint16_t port)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:4091,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:4092,1
    - Dst: evconnlistener_free
      Src: /src/libevent/http.c:4094,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4096,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:4099,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:4101,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:4104,1
    - Dst: evws_connection_free
      Src: /src/libevent/http.c:4105,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:4108,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:4109,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4110,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4111,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:4114,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:4115,1
    - Dst: evhttp_free
      Src: /src/libevent/http.c:4117,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4121,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:4123,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:4124,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4125,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4126,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - http
    argTypes:
    - struct evhttp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4130
      start: 4080
    functionDepth: 4
    functionLinenumber: 4080
    functionLinenumberEnd: 4130
    functionName: evhttp_free
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evhttp_connection_free
    - evconnlistener_free
    - evws_connection_free
    - evhttp_free
    - TAILQ_FIRST
    - mm_free
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void evhttp_free(struct evhttp* http)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/http.c:4138,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:4141,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:4145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - http
    - pattern
    - vhost
    argTypes:
    - struct evhttp*
    - char*
    - struct evhttp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4148
      start: 4132
    functionDepth: 1
    functionLinenumber: 4132
    functionLinenumberEnd: 4148
    functionName: evhttp_add_virtual_host
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - mm_strdup
    - TAILQ_INSERT_TAIL
    - TAILQ_FIRST
    linkageType: ''
    returnType: int
    signature: "int evhttp_add_virtual_host(struct evhttp* http, const char *pattern,\n
      \   struct evhttp* vhost)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:4156,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - http
    - vhost
    argTypes:
    - struct evhttp*
    - struct evhttp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4162
      start: 4150
    functionDepth: 1
    functionLinenumber: 4150
    functionLinenumberEnd: 4162
    functionName: evhttp_remove_virtual_host
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    linkageType: ''
    returnType: int
    signature: int evhttp_remove_virtual_host(struct evhttp* http, struct evhttp*
      vhost)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/http.c:4169,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:4173,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4175,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:4179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - http
    - alias
    argTypes:
    - struct evhttp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 4164
    functionDepth: 1
    functionLinenumber: 4164
    functionLinenumberEnd: 4182
    functionName: evhttp_add_server_alias
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - mm_free
    - mm_strdup
    - TAILQ_INSERT_TAIL
    - mm_calloc
    linkageType: ''
    returnType: int
    signature: int evhttp_add_server_alias(struct evhttp *http, const char *alias)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/http.c:4189,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/http.c:4190,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:4191,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4192,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - http
    - alias
    argTypes:
    - struct evhttp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4199
      start: 4184
    functionDepth: 1
    functionLinenumber: 4184
    functionLinenumberEnd: 4199
    functionName: evhttp_remove_server_alias
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    - TAILQ_FOREACH
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int evhttp_remove_server_alias(struct evhttp *http, const char *alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_
      Src: /src/libevent/http.c:4204,1
    - Dst: evhttp_set_timeout_
      Src: /src/libevent/http.c:4205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - http
    - timeout
    argTypes:
    - struct evhttp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4206
      start: 4201
    functionDepth: 2
    functionLinenumber: 4201
    functionLinenumberEnd: 4206
    functionName: evhttp_set_timeout
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_set_timeout_
    linkageType: ''
    returnType: void
    signature: void evhttp_set_timeout(struct evhttp* http, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:4210,1
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:4211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - http
    - tv
    argTypes:
    - struct evhttp*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4212
      start: 4207
    functionDepth: 2
    functionLinenumber: 4207
    functionLinenumberEnd: 4212
    functionName: evhttp_set_timeout_tv
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_set_timeout_tv_
    linkageType: ''
    returnType: void
    signature: void evhttp_set_timeout_tv(struct evhttp* http, const struct timeval*
      tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:4216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - tv
    argTypes:
    - struct evhttp*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4213
    functionDepth: 2
    functionLinenumber: 4213
    functionLinenumberEnd: 4217
    functionName: evhttp_set_read_timeout_tv
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_set_timeout_tv_
    linkageType: ''
    returnType: void
    signature: void evhttp_set_read_timeout_tv(struct evhttp* http, const struct timeval*
      tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_set_timeout_tv_
      Src: /src/libevent/http.c:4221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - tv
    argTypes:
    - struct evhttp*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4222
      start: 4218
    functionDepth: 2
    functionLinenumber: 4218
    functionLinenumberEnd: 4222
    functionName: evhttp_set_write_timeout_tv
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evhttp_set_timeout_tv_
    linkageType: ''
    returnType: void
    signature: void evhttp_set_write_timeout_tv(struct evhttp* http, const struct
      timeval* tv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - http
    - flags
    argTypes:
    - struct evhttp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4224
    functionDepth: 0
    functionLinenumber: 4224
    functionLinenumberEnd: 4236
    functionName: evhttp_set_flags
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_set_flags(struct evhttp *http, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - http
    - max_headers_size
    argTypes:
    - struct evhttp*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4245
      start: 4238
    functionDepth: 0
    functionLinenumber: 4238
    functionLinenumberEnd: 4245
    functionName: evhttp_set_max_headers_size
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_set_max_headers_size(struct evhttp* http, ev_ssize_t max_headers_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - http
    - max_body_size
    argTypes:
    - struct evhttp*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4254
      start: 4247
    functionDepth: 0
    functionLinenumber: 4247
    functionLinenumberEnd: 4254
    functionName: evhttp_set_max_body_size
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_set_max_body_size(struct evhttp* http, ev_ssize_t max_body_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - http
    - max_connections
    argTypes:
    - struct evhttp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4263
      start: 4256
    functionDepth: 0
    functionLinenumber: 4256
    functionLinenumberEnd: 4263
    functionName: evhttp_set_max_connections
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_set_max_connections(struct evhttp* http, int max_connections)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - struct evhttp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4269
    functionName: evhttp_get_connection_count
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_get_connection_count(struct evhttp* http)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - content_type
    argTypes:
    - struct evhttp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4275
      start: 4271
    functionDepth: 0
    functionLinenumber: 4271
    functionLinenumberEnd: 4275
    functionName: evhttp_set_default_content_type
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_set_default_content_type(struct evhttp *http,\n\tconst
      char *content_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - methods
    argTypes:
    - struct evhttp*
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4281
      start: 4277
    functionDepth: 0
    functionLinenumber: 4277
    functionLinenumberEnd: 4281
    functionName: evhttp_set_allowed_methods
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_set_allowed_methods(struct evhttp* http, ev_uint32_t methods)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - cmp
    argTypes:
    - struct evhttp*
    - evhttp_ext_method_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4287
      start: 4283
    functionDepth: 0
    functionLinenumber: 4283
    functionLinenumberEnd: 4287
    functionName: evhttp_set_ext_method_cmp
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_set_ext_method_cmp(struct evhttp *http, evhttp_ext_method_cb
      cmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/http.c:4295,1
    - Dst: strcmp
      Src: /src/libevent/http.c:4296,1
    - Dst: mm_calloc
      Src: /src/libevent/http.c:4300,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4301,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:4305,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4307,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4308,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:4314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - http
    - uri
    - cbarg
    argTypes:
    - struct evhttp*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4317
      start: 4289
    functionDepth: 1
    functionLinenumber: 4289
    functionLinenumberEnd: 4317
    functionName: evhttp_set_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_TAIL
    - event_warn
    - mm_strdup
    - mm_calloc
    - TAILQ_FOREACH
    - strcmp
    - mm_free
    linkageType: ''
    returnType: int
    signature: "int evhttp_set_cb(struct evhttp *http, const char *uri,\n    void
      (*cb)(struct evhttp_request *, void *), void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/http.c:4324,1
    - Dst: strcmp
      Src: /src/libevent/http.c:4325,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/http.c:4331,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4332,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - http
    - uri
    argTypes:
    - struct evhttp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4336
      start: 4319
    functionDepth: 1
    functionLinenumber: 4319
    functionLinenumberEnd: 4336
    functionName: evhttp_del_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TAILQ_REMOVE
    - mm_free
    - TAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: int evhttp_del_cb(struct evhttp *http, const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - http
    - cbarg
    argTypes:
    - struct evhttp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4344
      start: 4338
    functionDepth: 0
    functionLinenumber: 4338
    functionLinenumberEnd: 4344
    functionName: evhttp_set_gencb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_set_gencb(struct evhttp *http,\n    void (*cb)(struct
      evhttp_request *, void *), void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - http
    - (*cb)(struct event_base *, void *)
    - cbarg
    argTypes:
    - struct evhttp*
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4352
      start: 4346
    functionDepth: 0
    functionLinenumber: 4346
    functionLinenumberEnd: 4352
    functionName: evhttp_set_bevcb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_set_bevcb(struct evhttp *http,\n    struct bufferevent*
      (*cb)(struct event_base *, void *), void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - http
    - cbarg
    argTypes:
    - struct evhttp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4354
    functionDepth: 0
    functionLinenumber: 4354
    functionLinenumberEnd: 4360
    functionName: evhttp_set_newreqcb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_set_newreqcb(struct evhttp *http,\n    int (*cb)(struct
      evhttp_request *, void *), void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - http
    - cbarg
    argTypes:
    - struct evhttp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4368
      start: 4361
    functionDepth: 0
    functionLinenumber: 4361
    functionLinenumberEnd: 4368
    functionName: evhttp_set_errorcb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_set_errorcb(struct evhttp *http,\n    int (*cb)(struct
      evhttp_request *, struct evbuffer *, int, const char *, void *),\n    void *cbarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/http.c:4380,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4381,1
    - Dst: mm_calloc
      Src: /src/libevent/http.c:4389,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4391,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:4394,1
    - Dst: mm_calloc
      Src: /src/libevent/http.c:4396,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4398,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/http.c:4401,1
    - Dst: evbuffer_new
      Src: /src/libevent/http.c:4403,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4404,1
    - Dst: evbuffer_new
      Src: /src/libevent/http.c:4408,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4409,1
    - Dst: evhttp_request_free
      Src: /src/libevent/http.c:4420,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4422
      start: 4374
    functionDepth: 1
    functionLinenumber: 4374
    functionLinenumberEnd: 4422
    functionName: evhttp_request_new
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - TAILQ_INIT
    - event_warn
    - mm_calloc
    - evhttp_request_free
    - evbuffer_new
    linkageType: ''
    returnType: struct evhttp_request
    signature: 'struct evhttp_request *

      evhttp_request_new(void (*cb)(struct evhttp_request *, void *), void *arg)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/http.c:4433,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4435,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/http.c:4437,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4439,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4441,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/http.c:4443,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4444,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/http.c:4446,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4447,1
    - Dst: evbuffer_free
      Src: /src/libevent/http.c:4450,1
    - Dst: evbuffer_free
      Src: /src/libevent/http.c:4453,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4456
      start: 4424
    functionDepth: 2
    functionLinenumber: 4424
    functionLinenumberEnd: 4456
    functionName: evhttp_request_free
    functionSourceFile: /src/libevent/http.c
    functionUses: 6
    functionsReached:
    - evhttp_uri_free
    - mm_free
    - evhttp_clear_headers
    - evbuffer_free
    linkageType: ''
    returnType: void
    signature: void evhttp_request_free(struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4462
      start: 4458
    functionDepth: 0
    functionLinenumber: 4458
    functionLinenumberEnd: 4462
    functionName: evhttp_request_own
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_request_own(struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4468
      start: 4464
    functionDepth: 0
    functionLinenumber: 4464
    functionLinenumberEnd: 4468
    functionName: evhttp_request_is_owned
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_request_is_owned(struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4474
      start: 4470
    functionDepth: 0
    functionLinenumber: 4470
    functionLinenumberEnd: 4474
    functionName: evhttp_request_get_connection
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evhttp_connection
    signature: 'struct evhttp_connection *

      evhttp_request_get_connection(struct evhttp_request *req)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4480
      start: 4476
    functionDepth: 0
    functionLinenumber: 4476
    functionLinenumberEnd: 4480
    functionName: evhttp_connection_get_base
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      evhttp_connection_get_base(struct evhttp_connection *conn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4487
      start: 4482
    functionDepth: 0
    functionLinenumber: 4482
    functionLinenumberEnd: 4487
    functionName: evhttp_request_set_chunked_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_request_set_chunked_cb(struct evhttp_request *req,\n    void
      (*cb)(struct evhttp_request *, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4494
      start: 4489
    functionDepth: 0
    functionLinenumber: 4489
    functionLinenumberEnd: 4494
    functionName: evhttp_request_set_header_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_request_set_header_cb(struct evhttp_request *req,\n    int
      (*cb)(struct evhttp_request *, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4501
      start: 4496
    functionDepth: 0
    functionLinenumber: 4496
    functionLinenumberEnd: 4501
    functionName: evhttp_request_set_error_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_request_set_error_cb(struct evhttp_request *req,\n    void
      (*cb)(enum evhttp_request_error, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - cb_arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4503
    functionDepth: 0
    functionLinenumber: 4503
    functionLinenumberEnd: 4509
    functionName: evhttp_request_set_on_complete_cb
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evhttp_request_set_on_complete_cb(struct evhttp_request *req,\n
      \   void (*cb)(struct evhttp_request *, void *), void *cb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/http.c:4518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4515
    functionDepth: 1
    functionLinenumber: 4515
    functionLinenumberEnd: 4520
    functionName: evhttp_request_get_uri
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - event_debug
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_request_get_uri(const struct evhttp_request *req)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/http.c:4525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4528
      start: 4522
    functionDepth: 1
    functionLinenumber: 4522
    functionLinenumberEnd: 4528
    functionName: evhttp_request_get_evhttp_uri
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - event_debug
    linkageType: ''
    returnType: struct evhttp_uri
    signature: 'struct evhttp_uri *

      evhttp_request_get_evhttp_uri(const struct evhttp_request *req)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/http.c:4539,1
    - Dst: evhttp_find_header
      Src: /src/libevent/http.c:4544,1
    - Dst: strlen
      Src: /src/libevent/http.c:4548,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/http.c:4549,1
    - Dst: mm_malloc
      Src: /src/libevent/http.c:4553,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4555,1
    - Dst: memcpy
      Src: /src/libevent/http.c:4558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4566
      start: 4530
    functionDepth: 2
    functionLinenumber: 4530
    functionLinenumberEnd: 4566
    functionName: evhttp_request_get_host
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - event_warn
    - evhttp_uri_get_host
    - memcpy
    - mm_malloc
    - evhttp_find_header
    - strlen
    - EVUTIL_ISDIGIT_
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_request_get_host(struct evhttp_request *req)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4571
      start: 4568
    functionDepth: 0
    functionLinenumber: 4568
    functionLinenumberEnd: 4571
    functionName: evhttp_request_get_command
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum evhttp_cmd_type
    signature: enum evhttp_cmd_type evhttp_request_get_command(const struct evhttp_request
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4577
      start: 4573
    functionDepth: 0
    functionLinenumber: 4573
    functionLinenumberEnd: 4577
    functionName: evhttp_request_get_response_code
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_request_get_response_code(const struct evhttp_request *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4583
      start: 4579
    functionDepth: 0
    functionLinenumber: 4579
    functionLinenumberEnd: 4583
    functionName: evhttp_request_get_response_code_line
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_request_get_response_code_line(const struct evhttp_request *req)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4589
      start: 4586
    functionDepth: 0
    functionLinenumber: 4586
    functionLinenumberEnd: 4589
    functionName: evhttp_request_get_input_headers
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evkeyvalq
    signature: struct evkeyvalq *evhttp_request_get_input_headers(struct evhttp_request
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4592
    functionDepth: 0
    functionLinenumber: 4592
    functionLinenumberEnd: 4595
    functionName: evhttp_request_get_output_headers
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evkeyvalq
    signature: struct evkeyvalq *evhttp_request_get_output_headers(struct evhttp_request
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4601
      start: 4598
    functionDepth: 0
    functionLinenumber: 4598
    functionLinenumberEnd: 4601
    functionName: evhttp_request_get_input_buffer
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evbuffer
    signature: struct evbuffer *evhttp_request_get_input_buffer(struct evhttp_request
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evhttp_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4607
      start: 4604
    functionDepth: 0
    functionLinenumber: 4604
    functionLinenumberEnd: 4607
    functionName: evhttp_request_get_output_buffer
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evbuffer
    signature: struct evbuffer *evhttp_request_get_output_buffer(struct evhttp_request
      *req)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/http.c:4634,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:4635,1
    - Dst: evhttp_connection_base_bufferevent_unix_new
      Src: /src/libevent/http.c:4642,1
    - Dst: name_from_addr
      Src: /src/libevent/http.c:4650,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4652,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4653,1
    - Dst: event_debug
      Src: /src/libevent/http.c:4657,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:4658,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/http.c:4664,1
    - Dst: atoi
      Src: /src/libevent/http.c:4665,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4666,1
    - Dst: mm_free
      Src: /src/libevent/http.c:4667,1
    - Dst: bufferevent_replacefd
      Src: /src/libevent/http.c:4680,1
    - Dst: bufferevent_enable
      Src: /src/libevent/http.c:4682,1
    - Dst: bufferevent_disable
      Src: /src/libevent/http.c:4684,1
    - Dst: bufferevent_socket_set_conn_address_
      Src: /src/libevent/http.c:4686,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:4691,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 5
    argNames:
    - http
    - fd
    - sa
    - salen
    - bev
    argTypes:
    - struct evhttp*
    - evutil_socket_t
    - struct sockaddr*
    - ev_socklen_t
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4693
      start: 4615
    functionDepth: 6
    functionLinenumber: 4615
    functionLinenumberEnd: 4693
    functionName: evhttp_get_request_connection
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - evhttp_connection_base_bufferevent_new
    - atoi
    - evhttp_connection_base_bufferevent_unix_new
    - bufferevent_disable
    - evhttp_connection_free
    - name_from_addr
    - bufferevent_socket_set_conn_address_
    - EV_SOCK_ARG
    - event_debug
    - mm_free
    - bufferevent_replacefd
    linkageType: ''
    returnType: struct evhttp_connection
    signature: "struct evhttp_connection *\nevhttp_get_request_connection(\n\tstruct
      evhttp* http,\n\tevutil_socket_t fd, struct sockaddr *sa, ev_socklen_t salen,\n\tstruct
      bufferevent* bev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_new
      Src: /src/libevent/http.c:4700,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:4704,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4705,1
    - Dst: evhttp_request_free
      Src: /src/libevent/http.c:4706,1
    - Dst: struct evhttp*::newreqcb
      Src: /src/libevent/http.c:4723,1
    - Dst: evhttp_request_free
      Src: /src/libevent/http.c:4724,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:4728,1
    - Dst: evhttp_start_read_
      Src: /src/libevent/http.c:4730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - evcon
    argTypes:
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4733
      start: 4695
    functionDepth: 3
    functionLinenumber: 4695
    functionLinenumberEnd: 4733
    functionName: evhttp_associate_new_request_with_connection
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - TAILQ_INSERT_TAIL
    - evhttp_start_read_
    - event_warn
    - mm_strdup
    - evhttp_request_free
    - evhttp_request_new
    - struct evhttp*::newreqcb
    linkageType: ''
    returnType: int
    signature: int evhttp_associate_new_request_with_connection(struct evhttp_connection
      *evcon)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_get_request_connection
      Src: /src/libevent/http.c:4742,1
    - Dst: event_sock_warn
      Src: /src/libevent/http.c:4744,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/http.c:4745,1
    - Dst: evutil_closesocket
      Src: /src/libevent/http.c:4746,1
    - Dst: evutil_timerisset
      Src: /src/libevent/http.c:4751,1
    - Dst: evhttp_connection_set_read_timeout_tv
      Src: /src/libevent/http.c:4752,1
    - Dst: evutil_timerisset
      Src: /src/libevent/http.c:4753,1
    - Dst: evhttp_connection_set_write_timeout_tv
      Src: /src/libevent/http.c:4754,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:4762,1
    - Dst: evhttp_request_new
      Src: /src/libevent/http.c:4769,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:4770,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/http.c:4779,1
    - Dst: bufferevent_enable
      Src: /src/libevent/http.c:4783,1
    - Dst: evhttp_send_error
      Src: /src/libevent/http.c:4784,1
    - Dst: evhttp_associate_new_request_with_connection
      Src: /src/libevent/http.c:4786,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/http.c:4787,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - http
    - fd
    - sa
    - salen
    - bev
    argTypes:
    - struct evhttp*
    - evutil_socket_t
    - struct sockaddr*
    - ev_socklen_t
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4788
      start: 4735
    functionDepth: 7
    functionLinenumber: 4735
    functionLinenumberEnd: 4788
    functionName: evhttp_get_request
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - bufferevent_enable
    - event_sock_warn
    - evhttp_connection_set_write_timeout_tv
    - TAILQ_INSERT_TAIL
    - evhttp_connection_free
    - EV_SOCK_ARG
    - evhttp_get_request_connection
    - evhttp_send_error
    - evhttp_associate_new_request_with_connection
    - evhttp_connection_set_read_timeout_tv
    - evutil_timerisset
    - evhttp_request_new
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: "void evhttp_get_request(struct evhttp *http, evutil_socket_t fd,\n
      \   struct sockaddr *sa, ev_socklen_t salen,\n    struct bufferevent *bev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getnameinfo
      Src: /src/libevent/http.c:4805,1
    - Dst: event_err
      Src: /src/libevent/http.c:4813,1
    - Dst: event_errx
      Src: /src/libevent/http.c:4816,1
    - Dst: gai_strerror
      Src: /src/libevent/http.c:4816,1
    - Dst: fake_getnameinfo
      Src: /src/libevent/http.c:4820,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:4827,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:4828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - sa
    - salen
    - phost
    - pport
    argTypes:
    - struct sockaddr*
    - ev_socklen_t
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4829
      start: 4796
    functionDepth: 2
    functionLinenumber: 4796
    functionLinenumberEnd: 4829
    functionName: name_from_addr
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - gai_strerror
    - getnameinfo
    - mm_strdup
    - event_errx
    - fake_getnameinfo
    - event_err
    linkageType: ''
    returnType: void
    signature: "void name_from_addr(struct sockaddr *sa, ev_socklen_t salen,\n    char
      **phost, char **pport)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evutil_socket_
      Src: /src/libevent/http.c:4841,1
    - Dst: event_sock_warn
      Src: /src/libevent/http.c:4844,1
    - Dst: evutil_set_tcp_keepalive
      Src: /src/libevent/http.c:4849,1
    - Dst: evutil_make_listen_socket_reuseable
      Src: /src/libevent/http.c:4852,1
    - Dst: bind
      Src: /src/libevent/http.c:4857,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/http.c:4865,1
    - Dst: evutil_closesocket
      Src: /src/libevent/http.c:4866,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/http.c:4867,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ai
    - reuse
    argTypes:
    - struct evutil_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4869
      start: 4832
    functionDepth: 1
    functionLinenumber: 4832
    functionLinenumberEnd: 4869
    functionName: create_bind_socket_nonblock
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - bind
    - event_sock_warn
    - evutil_make_listen_socket_reuseable
    - EVUTIL_SET_SOCKET_ERROR
    - evutil_set_tcp_keepalive
    - EVUTIL_SOCKET_ERROR
    - evutil_closesocket
    - evutil_socket_
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t create_bind_socket_nonblock(struct evutil_addrinfo
      *ai, int reuse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/http.c:4880,1
    - Dst: evutil_snprintf
      Src: /src/libevent/http.c:4886,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/http.c:4887,1
    - Dst: event_warn
      Src: /src/libevent/http.c:4890,1
    - Dst: event_warnx
      Src: /src/libevent/http.c:4892,1
    - Dst: evutil_gai_strerror
      Src: /src/libevent/http.c:4893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4898
      start: 4871
    functionDepth: 1
    functionLinenumber: 4871
    functionLinenumberEnd: 4898
    functionName: make_addrinfo
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - memset
    - evutil_gai_strerror
    - event_warn
    - evutil_getaddrinfo
    - event_warnx
    - evutil_snprintf
    linkageType: ''
    returnType: struct evutil_addrinfo
    signature: 'struct evutil_addrinfo *

      make_addrinfo(const char *address, ev_uint16_t port)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_bind_socket_nonblock
      Src: /src/libevent/http.c:4908,1
    - Dst: make_addrinfo
      Src: /src/libevent/http.c:4910,1
    - Dst: create_bind_socket_nonblock
      Src: /src/libevent/http.c:4915,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/http.c:4917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - address
    - port
    - reuse
    argTypes:
    - char*
    - ev_uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4920
      start: 4900
    functionDepth: 2
    functionLinenumber: 4900
    functionLinenumberEnd: 4920
    functionName: bind_socket
    functionSourceFile: /src/libevent/http.c
    functionUses: 3
    functionsReached:
    - create_bind_socket_nonblock
    - make_addrinfo
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t bind_socket(const char *address, ev_uint16_t port,
      int reuse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/http.c:4939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4943
      start: 4936
    functionDepth: 1
    functionLinenumber: 4936
    functionLinenumberEnd: 4943
    functionName: evhttp_uri_new
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - mm_calloc
    linkageType: ''
    returnType: struct evhttp_uri
    signature: 'struct evhttp_uri *

      evhttp_uri_new(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - uri
    - flags
    argTypes:
    - struct evhttp_uri*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4949
      start: 4945
    functionDepth: 0
    functionLinenumber: 4945
    functionLinenumberEnd: 4949
    functionName: evhttp_uri_set_flags
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evhttp_uri_set_flags(struct evhttp_uri *uri, unsigned flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:4958,1
    - Dst: EVUTIL_ISALPHA_
      Src: /src/libevent/http.c:4961,1
    - Dst: EVUTIL_ISALNUM_
      Src: /src/libevent/http.c:4964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - s
    - eos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4969
      start: 4954
    functionDepth: 1
    functionLinenumber: 4954
    functionLinenumberEnd: 4969
    functionName: scheme_ok
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ISALPHA_
    - EVUTIL_ASSERT
    - EVUTIL_ISALNUM_
    linkageType: ''
    returnType: int
    signature: int scheme_ok(const char *s, const char *eos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHAR_IS_UNRESERVED
      Src: /src/libevent/http.c:4978,1
    - Dst: strchr
      Src: /src/libevent/http.c:4979,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:4983,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:4984,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - s
    - eos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4990
      start: 4974
    functionDepth: 1
    functionLinenumber: 4974
    functionLinenumberEnd: 4990
    functionName: userinfo_ok
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strchr
    - CHAR_IS_UNRESERVED
    - EVUTIL_ISXDIGIT_
    linkageType: ''
    returnType: int
    signature: int userinfo_ok(const char *s, const char *eos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHAR_IS_UNRESERVED
      Src: /src/libevent/http.c:4996,1
    - Dst: strchr
      Src: /src/libevent/http.c:4997,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:5000,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:5001,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - s
    - eos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5007
      start: 4992
    functionDepth: 1
    functionLinenumber: 4992
    functionLinenumberEnd: 5007
    functionName: regname_ok
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strchr
    - CHAR_IS_UNRESERVED
    - EVUTIL_ISXDIGIT_
    linkageType: ''
    returnType: int
    signature: int regname_ok(const char *s, const char *eos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/http.c:5014,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - eos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5024
      start: 5009
    functionDepth: 0
    functionLinenumber: 5009
    functionLinenumberEnd: 5024
    functionName: parse_port
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ISDIGIT_
    linkageType: ''
    returnType: int
    signature: int parse_port(const char *s, const char *eos)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:5038,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:5041,1
    - Dst: CHAR_IS_UNRESERVED
      Src: /src/libevent/http.c:5050,1
    - Dst: strchr
      Src: /src/libevent/http.c:5051,1
    - Dst: memcpy
      Src: /src/libevent/http.c:5065,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/http.c:5067,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - s
    - eos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5069
      start: 5027
    functionDepth: 1
    functionLinenumber: 5027
    functionLinenumberEnd: 5069
    functionName: bracket_addr_ok
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strchr
    - EVUTIL_ISXDIGIT_
    - memcpy
    - evutil_inet_pton
    - CHAR_IS_UNRESERVED
    linkageType: ''
    returnType: int
    signature: int bracket_addr_ok(const char *s, const char *eos)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:5077,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5079,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5081,1
    - Dst: strchr
      Src: /src/libevent/http.c:5089,1
    - Dst: userinfo_ok
      Src: /src/libevent/http.c:5091,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5094,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5096,1
    - Dst: strncmp
      Src: /src/libevent/http.c:5104,1
    - Dst: strchr
      Src: /src/libevent/http.c:5105,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5108,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/http.c:5117,1
    - Dst: parse_port
      Src: /src/libevent/http.c:5123,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:5129,1
    - Dst: bracket_addr_ok
      Src: /src/libevent/http.c:5133,1
    - Dst: regname_ok
      Src: /src/libevent/http.c:5139,1
    - Dst: mm_malloc
      Src: /src/libevent/http.c:5143,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5145,1
    - Dst: memcpy
      Src: /src/libevent/http.c:5149,1
    - Dst: memcpy
      Src: /src/libevent/http.c:5152,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 4
    argNames:
    - uri
    - s
    - eos
    - flags
    argTypes:
    - struct evhttp_uri*
    - char*
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5071
    functionDepth: 2
    functionLinenumber: 5071
    functionLinenumberEnd: 5157
    functionName: parse_authority
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - bracket_addr_ok
    - strchr
    - event_warn
    - memcpy
    - EVUTIL_ASSERT
    - mm_strdup
    - userinfo_ok
    - strncmp
    - parse_port
    - regname_ok
    - mm_malloc
    - EVUTIL_ISDIGIT_
    linkageType: ''
    returnType: int
    signature: int parse_authority(struct evhttp_uri *uri, char *s, char *eos, unsigned
      *flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5168
      start: 5159
    functionDepth: 0
    functionLinenumber: 5159
    functionLinenumberEnd: 5168
    functionName: end_of_authority
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      end_of_authority(char *cp)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/http.c:5199,1
    - Dst: CHAR_IS_UNRESERVED
      Src: /src/libevent/http.c:5206,1
    - Dst: strchr
      Src: /src/libevent/http.c:5207,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:5210,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/http.c:5211,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 3
    argNames:
    - cp
    - part
    - flags
    argTypes:
    - char*
    - enum uri_part
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5219
      start: 5180
    functionDepth: 1
    functionLinenumber: 5180
    functionLinenumberEnd: 5219
    functionName: end_of_path
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - CHAR_IS_UNRESERVED
    - EVUTIL_ISXDIGIT_
    linkageType: ''
    returnType: char
    signature: 'char *

      end_of_path(char *cp, enum uri_part part, unsigned flags)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5232
      start: 5221
    functionDepth: 0
    functionLinenumber: 5221
    functionLinenumberEnd: 5232
    functionName: path_matches_noscheme
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int path_matches_noscheme(const char *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_uri_parse_with_flags
      Src: /src/libevent/http.c:5237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source_uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5238
      start: 5234
    functionDepth: 1
    functionLinenumber: 5234
    functionLinenumberEnd: 5238
    functionName: evhttp_uri_parse
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - evhttp_uri_parse_with_flags
    linkageType: ''
    returnType: struct evhttp_uri
    signature: 'struct evhttp_uri *

      evhttp_uri_parse(const char *source_uri)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/http.c:5247,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5249,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5255,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5257,1
    - Dst: strchr
      Src: /src/libevent/http.c:5273,1
    - Dst: scheme_ok
      Src: /src/libevent/http.c:5274,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5276,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5278,1
    - Dst: end_of_authority
      Src: /src/libevent/http.c:5289,1
    - Dst: parse_authority
      Src: /src/libevent/http.c:5290,1
    - Dst: end_of_path
      Src: /src/libevent/http.c:5299,1
    - Dst: end_of_path
      Src: /src/libevent/http.c:5306,1
    - Dst: end_of_path
      Src: /src/libevent/http.c:5313,1
    - Dst: path_matches_noscheme
      Src: /src/libevent/http.c:5332,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/http.c:5335,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5336,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5338,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5343,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5345,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5350,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5352,1
    - Dst: mm_free
      Src: /src/libevent/http.c:5357,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/http.c:5362,1
    - Dst: mm_free
      Src: /src/libevent/http.c:5364,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 2
    argNames:
    - source_uri
    - flags
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5366
      start: 5240
    functionDepth: 3
    functionLinenumber: 5240
    functionLinenumberEnd: 5366
    functionName: evhttp_uri_parse_with_flags
    functionSourceFile: /src/libevent/http.c
    functionUses: 2
    functionsReached:
    - strchr
    - end_of_authority
    - event_warn
    - evhttp_uri_free
    - EVUTIL_ASSERT
    - mm_strdup
    - mm_calloc
    - path_matches_noscheme
    - end_of_path
    - mm_free
    - parse_authority
    - scheme_ok
    linkageType: ''
    returnType: struct evhttp_uri
    signature: 'struct evhttp_uri *

      evhttp_uri_parse_with_flags(const char *source_uri, unsigned flags)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/http.c:5371,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5375,1
    - Dst: end_of_authority
      Src: /src/libevent/http.c:5381,1
    - Dst: parse_authority
      Src: /src/libevent/http.c:5382,1
    - Dst: mm_strdup
      Src: /src/libevent/http.c:5385,1
    - Dst: event_warn
      Src: /src/libevent/http.c:5387,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/http.c:5394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - source_uri
    - flags
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5396
      start: 5368
    functionDepth: 3
    functionLinenumber: 5368
    functionLinenumberEnd: 5396
    functionName: evhttp_uri_parse_authority
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached:
    - end_of_authority
    - event_warn
    - evhttp_uri_free
    - mm_strdup
    - mm_calloc
    - parse_authority
    linkageType: ''
    returnType: struct evhttp_uri
    signature: 'struct evhttp_uri *

      evhttp_uri_parse_authority(char *source_uri, unsigned flags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URI_FREE_STR_
      Src: /src/libevent/http.c:5406,1
    - Dst: URI_FREE_STR_
      Src: /src/libevent/http.c:5407,1
    - Dst: URI_FREE_STR_
      Src: /src/libevent/http.c:5408,1
    - Dst: URI_FREE_STR_
      Src: /src/libevent/http.c:5410,1
    - Dst: URI_FREE_STR_
      Src: /src/libevent/http.c:5412,1
    - Dst: URI_FREE_STR_
      Src: /src/libevent/http.c:5413,1
    - Dst: URI_FREE_STR_
      Src: /src/libevent/http.c:5414,1
    - Dst: mm_free
      Src: /src/libevent/http.c:5416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5418
      start: 5398
    functionDepth: 1
    functionLinenumber: 5398
    functionLinenumberEnd: 5418
    functionName: evhttp_uri_free
    functionSourceFile: /src/libevent/http.c
    functionUses: 5
    functionsReached:
    - mm_free
    - URI_FREE_STR_
    linkageType: ''
    returnType: void
    signature: void evhttp_uri_free(struct evhttp_uri *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5405
      start: 5401
    functionDepth: 0
    functionLinenumber: 5401
    functionLinenumberEnd: 5405
    functionName: URI_FREE_STR_
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: URI_FREE_STR_(f)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/http.c:5432,1
    - Dst: URI_ADD_
      Src: /src/libevent/http.c:5437,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:5438,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:5442,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:5444,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:5445,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:5450,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:5452,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:5454,1
    - Dst: URI_ADD_
      Src: /src/libevent/http.c:5455,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:5456,1
    - Dst: URI_ADD_
      Src: /src/libevent/http.c:5458,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/http.c:5461,1
    - Dst: URI_ADD_
      Src: /src/libevent/http.c:5468,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:5471,1
    - Dst: URI_ADD_
      Src: /src/libevent/http.c:5472,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:5476,1
    - Dst: URI_ADD_
      Src: /src/libevent/http.c:5477,1
    - Dst: evbuffer_add
      Src: /src/libevent/http.c:5480,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/http.c:5482,1
    - Dst: evbuffer_free
      Src: /src/libevent/http.c:5486,1
    - Dst: evbuffer_remove
      Src: /src/libevent/http.c:5489,1
    - Dst: evbuffer_free
      Src: /src/libevent/http.c:5493,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 3
    argNames:
    - uri
    - buf
    - limit
    argTypes:
    - struct evhttp_uri*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5420
    functionDepth: 1
    functionLinenumber: 5420
    functionLinenumberEnd: 5497
    functionName: evhttp_uri_join
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - evbuffer_free
    - URI_ADD_
    - evbuffer_remove
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_printf
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uri_join(const struct evhttp_uri *uri, char *buf, size_t limit)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5428
      start: 5427
    functionDepth: 0
    functionLinenumber: 5427
    functionLinenumberEnd: 5428
    functionName: URI_ADD_
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: URI_ADD_(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5503
      start: 5499
    functionDepth: 0
    functionLinenumber: 5499
    functionLinenumberEnd: 5503
    functionName: evhttp_uri_get_scheme
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uri_get_scheme(const struct evhttp_uri *uri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5508
      start: 5504
    functionDepth: 0
    functionLinenumber: 5504
    functionLinenumberEnd: 5508
    functionName: evhttp_uri_get_userinfo
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uri_get_userinfo(const struct evhttp_uri *uri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5513
      start: 5509
    functionDepth: 0
    functionLinenumber: 5509
    functionLinenumberEnd: 5513
    functionName: evhttp_uri_get_host
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uri_get_host(const struct evhttp_uri *uri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5515
    functionDepth: 0
    functionLinenumber: 5515
    functionLinenumberEnd: 5519
    functionName: evhttp_uri_get_unixsocket
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uri_get_unixsocket(const struct evhttp_uri *uri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5525
      start: 5521
    functionDepth: 0
    functionLinenumber: 5521
    functionLinenumberEnd: 5525
    functionName: evhttp_uri_get_port
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_get_port(const struct evhttp_uri *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5530
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5530
    functionName: evhttp_uri_get_path
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uri_get_path(const struct evhttp_uri *uri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5535
      start: 5531
    functionDepth: 0
    functionLinenumber: 5531
    functionLinenumberEnd: 5535
    functionName: evhttp_uri_get_query
    functionSourceFile: /src/libevent/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uri_get_query(const struct evhttp_uri *uri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct evhttp_uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5540
      start: 5536
    functionDepth: 0
    functionLinenumber: 5536
    functionLinenumberEnd: 5540
    functionName: evhttp_uri_get_fragment
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evhttp_uri_get_fragment(const struct evhttp_uri *uri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5554
      start: 5542
    functionDepth: 0
    functionLinenumber: 5542
    functionLinenumberEnd: 5554
    functionName: URI_SET_STR_
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: URI_SET_STR_(f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scheme_ok
      Src: /src/libevent/http.c:5558,1
    - Dst: strlen
      Src: /src/libevent/http.c:5558,1
    - Dst: URI_SET_STR_
      Src: /src/libevent/http.c:5561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - scheme
    argTypes:
    - struct evhttp_uri*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5563
      start: 5555
    functionDepth: 2
    functionLinenumber: 5555
    functionLinenumberEnd: 5563
    functionName: evhttp_uri_set_scheme
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - scheme_ok
    - URI_SET_STR_
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_set_scheme(struct evhttp_uri *uri, const char *scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: userinfo_ok
      Src: /src/libevent/http.c:5567,1
    - Dst: strlen
      Src: /src/libevent/http.c:5567,1
    - Dst: URI_SET_STR_
      Src: /src/libevent/http.c:5569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - userinfo
    argTypes:
    - struct evhttp_uri*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5571
      start: 5564
    functionDepth: 2
    functionLinenumber: 5564
    functionLinenumberEnd: 5571
    functionName: evhttp_uri_set_userinfo
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - userinfo_ok
    - strlen
    - URI_SET_STR_
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_set_userinfo(struct evhttp_uri *uri, const char *userinfo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/http.c:5578,1
    - Dst: bracket_addr_ok
      Src: /src/libevent/http.c:5581,1
    - Dst: regname_ok
      Src: /src/libevent/http.c:5584,1
    - Dst: mm_realloc
      Src: /src/libevent/http.c:5593,1
    - Dst: free
      Src: /src/libevent/http.c:5595,1
    - Dst: memcpy
      Src: /src/libevent/http.c:5598,1
    - Dst: URI_SET_STR_
      Src: /src/libevent/http.c:5604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - uri
    - host
    argTypes:
    - struct evhttp_uri*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5572
    functionDepth: 2
    functionLinenumber: 5572
    functionLinenumberEnd: 5609
    functionName: evhttp_uri_set_host
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - bracket_addr_ok
    - free
    - URI_SET_STR_
    - memcpy
    - regname_ok
    - strlen
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_set_host(struct evhttp_uri *uri, const char *host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: URI_SET_STR_
      Src: /src/libevent/http.c:5614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - uri
    - unixsocket
    argTypes:
    - struct evhttp_uri*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5616
      start: 5611
    functionDepth: 1
    functionLinenumber: 5611
    functionLinenumberEnd: 5616
    functionName: evhttp_uri_set_unixsocket
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - URI_SET_STR_
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_set_unixsocket(struct evhttp_uri *uri, const char *unixsocket)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - port
    argTypes:
    - struct evhttp_uri*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5625
      start: 5618
    functionDepth: 0
    functionLinenumber: 5618
    functionLinenumberEnd: 5625
    functionName: evhttp_uri_set_port
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_set_port(struct evhttp_uri *uri, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cp
    - ','
    - p
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5628
      start: 5626
    functionDepth: 0
    functionLinenumber: 5626
    functionLinenumberEnd: 5628
    functionName: end_of_cpath
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: end_of_cpath(cp,p,f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end_of_cpath
      Src: /src/libevent/http.c:5632,1
    - Dst: strlen
      Src: /src/libevent/http.c:5632,1
    - Dst: URI_SET_STR_
      Src: /src/libevent/http.c:5635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - path
    argTypes:
    - struct evhttp_uri*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5637
      start: 5629
    functionDepth: 1
    functionLinenumber: 5629
    functionLinenumberEnd: 5637
    functionName: evhttp_uri_set_path
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - end_of_cpath
    - URI_SET_STR_
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_set_path(struct evhttp_uri *uri, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end_of_cpath
      Src: /src/libevent/http.c:5641,1
    - Dst: strlen
      Src: /src/libevent/http.c:5641,1
    - Dst: URI_SET_STR_
      Src: /src/libevent/http.c:5643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - query
    argTypes:
    - struct evhttp_uri*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5645
      start: 5638
    functionDepth: 1
    functionLinenumber: 5638
    functionLinenumberEnd: 5645
    functionName: evhttp_uri_set_query
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - end_of_cpath
    - URI_SET_STR_
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_set_query(struct evhttp_uri *uri, const char *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end_of_cpath
      Src: /src/libevent/http.c:5649,1
    - Dst: strlen
      Src: /src/libevent/http.c:5649,1
    - Dst: URI_SET_STR_
      Src: /src/libevent/http.c:5651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - uri
    - fragment
    argTypes:
    - struct evhttp_uri*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5653
      start: 5646
    functionDepth: 1
    functionLinenumber: 5646
    functionLinenumberEnd: 5653
    functionName: evhttp_uri_set_fragment
    functionSourceFile: /src/libevent/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - end_of_cpath
    - URI_SET_STR_
    linkageType: ''
    returnType: int
    signature: int evhttp_uri_set_fragment(struct evhttp_uri *uri, const char *fragment)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libevent/evutil.c:145,1
    - Dst: open
      Src: /src/libevent/evutil.c:150,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:155,1
    - Dst: close
      Src: /src/libevent/evutil.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pathname
    - flags
    - mode
    argTypes:
    - char*
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: evutil_open_closeonexec_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - fcntl
    - open
    - close
    linkageType: ''
    returnType: int
    signature: int evutil_open_closeonexec_(const char *pathname, int flags, unsigned
      mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libevent/evutil.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: evutil_fd_filesize
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - fstat
    linkageType: ''
    returnType: ev_off_t
    signature: ev_off_t evutil_fd_filesize(evutil_socket_t fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:193,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:194,1
    - Dst: evutil_open_closeonexec_
      Src: /src/libevent/evutil.c:203,1
    - Dst: evutil_fd_filesize
      Src: /src/libevent/evutil.c:206,1
    - Dst: close
      Src: /src/libevent/evutil.c:208,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:211,1
    - Dst: close
      Src: /src/libevent/evutil.c:213,1
    - Dst: read
      Src: /src/libevent/evutil.c:222,1
    - Dst: N_TO_READ
      Src: /src/libevent/evutil.c:222,1
    - Dst: close
      Src: /src/libevent/evutil.c:227,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - filename
    - content_out
    - len_out
    - is_binary
    argTypes:
    - char*
    - char**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 237
    functionName: evutil_read_file_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_open_closeonexec_
    - read
    - EVUTIL_ASSERT
    - close
    - N_TO_READ
    - mm_malloc
    - evutil_fd_filesize
    - mm_free
    linkageType: ''
    returnType: int
    signature: "int evutil_read_file_(const char *filename, char **content_out, size_t
      *len_out,\n    int is_binary)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: N_TO_READ
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_TO_READ(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: N_TO_READ
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_TO_READ(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/evutil.c:252,1
    - Dst: GetTempPathW
      Src: /src/libevent/evutil.c:258,1
    - Dst: GetLongPathNameW
      Src: /src/libevent/evutil.c:259,1
    - Dst: GetTempFileNameW
      Src: /src/libevent/evutil.c:260,1
    - Dst: event_warnx
      Src: /src/libevent/evutil.c:261,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/evutil.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - tmpfile
    argTypes:
    - WCHAR[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 265
    functionName: create_tmpfile
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - EVUTIL_SOCKET_ERROR
    - GetLongPathNameW
    - evutil_secure_rng_get_bytes
    - event_warnx
    - GetTempPathW
    - GetTempFileNameW
    linkageType: ''
    returnType: int
    signature: int create_tmpfile(WCHAR tmpfile[MAX_PATH])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libevent/evutil.c:279,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: evutil_check_working_afunix_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_closesocket
    - socket
    linkageType: ''
    returnType: int
    signature: int evutil_check_working_afunix_()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:309,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:309,1
    - Dst: socket
      Src: /src/libevent/evutil.c:313,1
    - Dst: memset
      Src: /src/libevent/evutil.c:316,1
    - Dst: create_tmpfile
      Src: /src/libevent/evutil.c:318,1
    - Dst: DeleteFileW
      Src: /src/libevent/evutil.c:321,1
    - Dst: WideCharToMultiByte
      Src: /src/libevent/evutil.c:324,1
    - Dst: strlcpy
      Src: /src/libevent/evutil.c:328,1
    - Dst: event_warnx
      Src: /src/libevent/evutil.c:330,1
    - Dst: bind
      Src: /src/libevent/evutil.c:334,1
    - Dst: listen
      Src: /src/libevent/evutil.c:337,1
    - Dst: socket
      Src: /src/libevent/evutil.c:340,1
    - Dst: memset
      Src: /src/libevent/evutil.c:344,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:348,1
    - Dst: connect
      Src: /src/libevent/evutil.c:351,1
    - Dst: accept
      Src: /src/libevent/evutil.c:356,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:363,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/evutil.c:368,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:371,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:378,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/evutil.c:381,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:383,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:385,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:387,1
    - Dst: DeleteFileW
      Src: /src/libevent/evutil.c:389,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:391,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - fd
    argTypes:
    - int
    - int
    - int
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 394
    functionName: evutil_win_socketpair_afunix
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - bind
    - memset
    - socket
    - EVUTIL_SET_SOCKET_ERROR
    - ERR
    - WideCharToMultiByte
    - listen
    - EVUTIL_SOCKET_ERROR
    - getsockname
    - DeleteFileW
    - evutil_ascii_strcasecmp
    - create_tmpfile
    - event_warnx
    - accept
    - connect
    - evutil_closesocket
    - strlcpy
    linkageType: ''
    returnType: int
    signature: "int evutil_win_socketpair_afunix(int family, int type, int protocol,\n
      \   evutil_socket_t fd[2])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: ERR
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR(e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:404,1
    - Dst: evutil_check_working_afunix_
      Src: /src/libevent/evutil.c:407,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:414,1
    - Dst: evutil_win_socketpair_afunix
      Src: /src/libevent/evutil.c:423,1
    - Dst: evutil_ersatz_socketpair_
      Src: /src/libevent/evutil.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - fd
    argTypes:
    - int
    - int
    - int
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 427
    functionName: evutil_win_socketpair
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_check_working_afunix_
    - evutil_ersatz_socketpair_
    - evutil_win_socketpair_afunix
    - EVUTIL_SET_SOCKET_ERROR
    linkageType: ''
    returnType: int
    signature: "int evutil_win_socketpair(int family, int type, int protocol,\n    evutil_socket_t
      fd[2])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/libevent/evutil.c:436,1
    - Dst: event_sock_warn
      Src: /src/libevent/evutil.c:437,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:444,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:445,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:449,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: evutil_make_socket_nonblocking
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - ioctlsocket
    - fcntl
    - event_sock_warn
    - event_warn
    linkageType: ''
    returnType: int
    signature: int evutil_make_socket_nonblocking(evutil_socket_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/evutil.c:467,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:469,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 475
    functionName: evutil_fast_socket_nonblocking
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - fcntl
    - evutil_make_socket_nonblocking
    - event_warn
    linkageType: ''
    returnType: int
    signature: int evutil_fast_socket_nonblocking(evutil_socket_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libevent/evutil.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 490
    functionName: evutil_make_listen_socket_reuseable
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int evutil_make_listen_socket_reuseable(evutil_socket_t sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libevent/evutil.c:500,1
    - Dst: setsockopt
      Src: /src/libevent/evutil.c:523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 537
    functionName: evutil_make_listen_socket_reuseable_port
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int evutil_make_listen_socket_reuseable_port(evutil_socket_t sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libevent/evutil.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: evutil_make_listen_socket_ipv6only
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int evutil_make_listen_socket_ipv6only(evutil_socket_t sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libevent/evutil.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: evutil_make_listen_socket_not_ipv6only
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int evutil_make_listen_socket_not_ipv6only(evutil_socket_t sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libevent/evutil.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 573
    functionName: evutil_make_tcp_listen_socket_deferred
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int evutil_make_tcp_listen_socket_deferred(evutil_socket_t sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libevent/evutil.c:580,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:581,1
    - Dst: fcntl
      Src: /src/libevent/evutil.c:585,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 592
    functionName: evutil_make_socket_closeonexec
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - fcntl
    - event_warn
    linkageType: ''
    returnType: int
    signature: int evutil_make_socket_closeonexec(evutil_socket_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libevent/evutil.c:602,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 608
    functionName: evutil_fast_socket_closeonexec
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - fcntl
    - event_warn
    linkageType: ''
    returnType: int
    signature: int evutil_fast_socket_closeonexec(evutil_socket_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libevent/evutil.c:614,1
    - Dst: closesocket
      Src: /src/libevent/evutil.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: evutil_closesocket
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 5
    functionsReached:
    - close
    - closesocket
    linkageType: ''
    returnType: int
    signature: int evutil_closesocket(evutil_socket_t sock)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/libevent/evutil.c:624,1
    - Dst: strtol
      Src: /src/libevent/evutil.c:626,1
    - Dst: _atoi64
      Src: /src/libevent/evutil.c:633,1
    - Dst: isspace
      Src: /src/libevent/evutil.c:634,1
    - Dst: isdigit
      Src: /src/libevent/evutil.c:638,1
    - Dst: _strtoi64
      Src: /src/libevent/evutil.c:644,1
    - Dst: sscanf
      Src: /src/libevent/evutil.c:651,1
    - Dst: sscanf
      Src: /src/libevent/evutil.c:654,1
    - Dst: EVUTIL_ISSPACE_
      Src: /src/libevent/evutil.c:661,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/evutil.c:666,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/evutil.c:669,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 3
    argNames:
    - s
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 678
    functionName: evutil_strtoll
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 2
    functionsReached:
    - EVUTIL_ISXDIGIT_
    - isspace
    - strtol
    - _strtoi64
    - _atoi64
    - isdigit
    - EVUTIL_ISSPACE_
    - sscanf
    - EVUTIL_ISDIGIT_
    - strtoll
    linkageType: ''
    returnType: ev_int64_t
    signature: ev_int64_t evutil_strtoll(const char *s, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/libevent/evutil.c:685,1
    - Dst: getsockopt
      Src: /src/libevent/evutil.c:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 694
    functionName: evutil_socket_geterror
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: int evutil_socket_geterror(evutil_socket_t sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libevent/evutil.c:705,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/evutil.c:708,1
    - Dst: connect
      Src: /src/libevent/evutil.c:713,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evutil.c:714,1
    - Dst: EVUTIL_ERR_CONNECT_RETRIABLE
      Src: /src/libevent/evutil.c:715,1
    - Dst: EVUTIL_ERR_CONNECT_REFUSED
      Src: /src/libevent/evutil.c:717,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:726,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - fd_ptr
    - sa
    - socklen
    argTypes:
    - evutil_socket_t*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 730
    functionName: evutil_socket_connect_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - socket
    - EVUTIL_ERR_CONNECT_REFUSED
    - evutil_socket_geterror
    - evutil_make_socket_nonblocking
    - connect
    - evutil_closesocket
    - EVUTIL_ERR_CONNECT_RETRIABLE
    linkageType: ''
    returnType: int
    signature: int evutil_socket_connect_(evutil_socket_t *fd_ptr, const struct sockaddr
      *sa, int socklen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/libevent/evutil.c:742,1
    - Dst: EVUTIL_ERR_CONNECT_RETRIABLE
      Src: /src/libevent/evutil.c:746,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 753
    functionName: evutil_socket_finished_connecting_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - EVUTIL_SET_SOCKET_ERROR
    - EVUTIL_ERR_CONNECT_RETRIABLE
    linkageType: ''
    returnType: int
    signature: int evutil_socket_finished_connecting_(evutil_socket_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 773
    functionName: evutil_v4addr_is_localhost
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evutil_v4addr_is_localhost(ev_uint32_t addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: evutil_v4addr_is_linklocal
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evutil_v4addr_is_linklocal(ev_uint32_t addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 783
    functionName: evutil_v4addr_is_classd
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evutil_v4addr_is_classd(ev_uint32_t addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libevent/evutil.c:788,1
    - Dst: evutil_v4addr_is_localhost
      Src: /src/libevent/evutil.c:790,1
    - Dst: evutil_v4addr_is_linklocal
      Src: /src/libevent/evutil.c:791,1
    - Dst: evutil_v4addr_is_classd
      Src: /src/libevent/evutil.c:792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - struct in_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: evutil_v4addr_is_local_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_v4addr_is_classd
    - evutil_v4addr_is_linklocal
    - ntohl
    - evutil_v4addr_is_localhost
    linkageType: ''
    returnType: int
    signature: int evutil_v4addr_is_local_(const struct in_addr *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libevent/evutil.c:802,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: evutil_v6addr_is_local_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int evutil_v6addr_is_local_(const struct in6_addr *in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evutil_v4addr_is_local_
      Src: /src/libevent/evutil.c:814,1
    - Dst: event_debug
      Src: /src/libevent/evutil.c:815,1
    - Dst: evutil_v6addr_is_local_
      Src: /src/libevent/evutil.c:820,1
    - Dst: event_debug
      Src: /src/libevent/evutil.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 825
    functionName: evutil_found_ifaddr
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - event_debug
    - evutil_v6addr_is_local_
    - evutil_v4addr_is_local_
    linkageType: ''
    returnType: void
    signature: void evutil_found_ifaddr(const struct sockaddr *sa)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/libevent/evutil.c:840,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:841,1
    - Dst: evutil_found_ifaddr
      Src: /src/libevent/evutil.c:848,1
    - Dst: freeifaddrs
      Src: /src/libevent/evutil.c:851,1
    - Dst: evutil_load_windows_system_library_
      Src: /src/libevent/evutil.c:858,1
    - Dst: TEXT
      Src: /src/libevent/evutil.c:858,1
    - Dst: GetProcAddress
      Src: /src/libevent/evutil.c:871,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:876,1
    - Dst: fn
      Src: /src/libevent/evutil.c:879,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:882,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:883,1
    - Dst: fn
      Src: /src/libevent/evutil.c:886,1
    - Dst: evutil_found_ifaddr
      Src: /src/libevent/evutil.c:896,1
    - Dst: FreeLibrary
      Src: /src/libevent/evutil.c:903,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:905,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 832
    functionDepth: 3
    functionLinenumber: 832
    functionLinenumberEnd: 910
    functionName: evutil_check_ifaddrs
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - fn
    - event_warn
    - TEXT
    - evutil_load_windows_system_library_
    - getifaddrs
    - mm_malloc
    - FreeLibrary
    - freeifaddrs
    - evutil_found_ifaddr
    - mm_free
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: int evutil_check_ifaddrs(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evutil_check_ifaddrs
      Src: /src/libevent/evutil.c:929,1
    - Dst: memset
      Src: /src/libevent/evutil.c:939,1
    - Dst: htons
      Src: /src/libevent/evutil.c:941,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:942,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:943,1
    - Dst: memset
      Src: /src/libevent/evutil.c:945,1
    - Dst: htons
      Src: /src/libevent/evutil.c:947,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:948,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:949,1
    - Dst: memset
      Src: /src/libevent/evutil.c:951,1
    - Dst: memset
      Src: /src/libevent/evutil.c:952,1
    - Dst: socket
      Src: /src/libevent/evutil.c:955,1
    - Dst: connect
      Src: /src/libevent/evutil.c:956,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:957,1
    - Dst: evutil_found_ifaddr
      Src: /src/libevent/evutil.c:959,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:962,1
    - Dst: socket
      Src: /src/libevent/evutil.c:964,1
    - Dst: connect
      Src: /src/libevent/evutil.c:965,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:966,1
    - Dst: evutil_found_ifaddr
      Src: /src/libevent/evutil.c:968,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:972,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 914
    functionDepth: 4
    functionLinenumber: 914
    functionLinenumberEnd: 975
    functionName: evutil_check_interfaces
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - memset
    - evutil_check_ifaddrs
    - socket
    - EVUTIL_ASSERT
    - evutil_inet_pton
    - getsockname
    - htons
    - evutil_found_ifaddr
    - connect
    - evutil_closesocket
    linkageType: ''
    returnType: int
    signature: int evutil_check_interfaces(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:993,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:999,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1001,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1005,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1007,1
    - Dst: mm_calloc
      Src: /src/libevent/evutil.c:1015,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - sa
    - socklen
    - hints
    argTypes:
    - struct sockaddr*
    - ev_socklen_t
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1028
    functionName: evutil_new_addrinfo_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - memcpy
    - EVUTIL_ASSERT
    - mm_calloc
    - evutil_new_addrinfo_
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: struct evutil_addrinfo
    signature: "struct evutil_addrinfo *\nevutil_new_addrinfo_(struct sockaddr *sa,
      ev_socklen_t socklen,\n    const struct evutil_addrinfo *hints)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - first
    - append
    argTypes:
    - struct evutil_addrinfo*
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1045
    functionName: evutil_addrinfo_append_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evutil_addrinfo
    signature: "struct evutil_addrinfo *\nevutil_addrinfo_append_(struct evutil_addrinfo
      *first,\n    struct evutil_addrinfo *append)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libevent/evutil.c:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - servname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1057
    functionName: parse_numeric_servname
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: int parse_numeric_servname(const char *servname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_numeric_servname
      Src: /src/libevent/evutil.c:1066,1
    - Dst: getservbyname
      Src: /src/libevent/evutil.c:1071,1
    - Dst: ntohs
      Src: /src/libevent/evutil.c:1073,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - servname
    - protocol
    - hints
    argTypes:
    - char*
    - char*
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1078
    functionName: evutil_parse_servname
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - getservbyname
    - ntohs
    - parse_numeric_servname
    linkageType: ''
    returnType: int
    signature: "int evutil_parse_servname(const char *servname, const char *protocol,\n
      \   const struct evutil_addrinfo *hints)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getprotobynumber
      Src: /src/libevent/evutil.c:1099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - proto
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1106
    functionName: evutil_unparse_protoname
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - getprotobynumber
    linkageType: ''
    returnType: char
    signature: 'char *

      evutil_unparse_protoname(int proto)'
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - hints
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1130
    functionName: evutil_getaddrinfo_infer_protocols
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evutil_getaddrinfo_infer_protocols(struct evutil_addrinfo *hints)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: evutil_getaddrinfo_infer_protocols
      Src: /src/libevent/evutil.c:1165,1
    - Dst: evutil_unparse_protoname
      Src: /src/libevent/evutil.c:1168,1
    - Dst: evutil_parse_servname
      Src: /src/libevent/evutil.c:1172,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1184,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1186,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1193,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1201,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1203,1
    - Dst: htonl
      Src: /src/libevent/evutil.c:1208,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1210,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1214,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evutil.c:1218,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1227,1
    - Dst: evutil_inet_pton_scope
      Src: /src/libevent/evutil.c:1228,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1232,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1234,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1245,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:1246,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1249,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1250,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 5
    argNames:
    - nodename
    - servname
    - hints
    - res
    - portnum
    argTypes:
    - char*
    - char*
    - struct evutil_addrinfo*
    - struct evutil_addrinfo**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1149
    functionDepth: 2
    functionLinenumber: 1149
    functionLinenumberEnd: 1267
    functionName: evutil_getaddrinfo_common_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_inet_pton_scope
    - evutil_freeaddrinfo
    - memset
    - evutil_addrinfo_append_
    - evutil_inet_pton
    - evutil_unparse_protoname
    - evutil_new_addrinfo_
    - htons
    - evutil_getaddrinfo_infer_protocols
    - evutil_parse_servname
    - htonl
    linkageType: ''
    returnType: int
    signature: "int evutil_getaddrinfo_common_(const char *nodename, const char *servname,\n
      \   struct evutil_addrinfo *hints, struct evutil_addrinfo **res, int *portnum)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evutil.c:1342,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1344,1
    - Dst: event_warnx
      Src: /src/libevent/evutil.c:1349,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1353,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1355,1
    - Dst: event_warnx
      Src: /src/libevent/evutil.c:1360,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1367,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evutil.c:1368,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1370,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evutil.c:1373,1
    - Dst: mm_strdup
      Src: /src/libevent/evutil.c:1377,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - ent
    - port
    - hints
    argTypes:
    - struct hostent*
    - int
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1385
    functionName: addrinfo_from_hostent
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - memset
    - evutil_addrinfo_append_
    - memcpy
    - mm_strdup
    - evutil_new_addrinfo_
    - event_warnx
    - htons
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: struct evutil_addrinfo
    signature: "struct evutil_addrinfo *\naddrinfo_from_hostent(const struct hostent
      *ent,\n    int port, const struct evutil_addrinfo *hints)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evutil_check_interfaces
      Src: /src/libevent/evutil.c:1399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - hints
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1392
    functionDepth: 5
    functionLinenumber: 1392
    functionLinenumberEnd: 1405
    functionName: evutil_adjust_hints_for_addrconfig_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_check_interfaces
    linkageType: ''
    returnType: void
    signature: void evutil_adjust_hints_for_addrconfig_(struct evutil_addrinfo *hints)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1439
    functionName: ai_find_protocol
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evutil_addrinfo
    signature: struct evutil_addrinfo *ai_find_protocol(struct evutil_addrinfo *ai)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_for_getaddrinfo_hacks
      Src: /src/libevent/evutil.c:1481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1483
    functionName: need_numeric_port_hack
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - test_for_getaddrinfo_hacks
    linkageType: ''
    returnType: int
    signature: int need_numeric_port_hack(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_for_getaddrinfo_hacks
      Src: /src/libevent/evutil.c:1489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1491
    functionName: need_socktype_protocol_hack
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - test_for_getaddrinfo_hacks
    linkageType: ''
    returnType: int
    signature: int need_socktype_protocol_hack(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/libevent/evutil.c:1502,1
    - Dst: htons
      Src: /src/libevent/evutil.c:1505,1
    - Dst: freeaddrinfo
      Src: /src/libevent/evutil.c:1512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - port
    - ai
    argTypes:
    - int
    - struct evutil_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1515
    functionName: apply_numeric_port_hack
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - freeaddrinfo
    - htons
    linkageType: ''
    returnType: void
    signature: void apply_numeric_port_hack(int port, struct evutil_addrinfo **ai)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evutil_getaddrinfo_infer_protocols
      Src: /src/libevent/evutil.c:1522,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:1525,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1528,1
    - Dst: mm_strdup
      Src: /src/libevent/evutil.c:1535,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1546
    functionName: apply_socktype_protocol_hack
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mm_strdup
    - mm_malloc
    - evutil_getaddrinfo_infer_protocols
    - mm_free
    linkageType: ''
    returnType: int
    signature: int apply_socktype_protocol_hack(struct evutil_addrinfo *ai)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1558,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1560,1
    - Dst: evutil_adjust_hints_for_addrconfig_
      Src: /src/libevent/evutil.c:1568,1
    - Dst: parse_numeric_servname
      Src: /src/libevent/evutil.c:1575,1
    - Dst: evutil_getaddrinfo_common_
      Src: /src/libevent/evutil.c:1594,1
    - Dst: need_numeric_port_hack
      Src: /src/libevent/evutil.c:1606,1
    - Dst: parse_numeric_servname
      Src: /src/libevent/evutil.c:1607,1
    - Dst: evutil_getaddrinfo_common_
      Src: /src/libevent/evutil.c:1610,1
    - Dst: need_socktype_protocol_hack
      Src: /src/libevent/evutil.c:1615,1
    - Dst: evutil_getaddrinfo_infer_protocols
      Src: /src/libevent/evutil.c:1616,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evutil.c:1626,1
    - Dst: getaddrinfo
      Src: /src/libevent/evutil.c:1631,1
    - Dst: apply_numeric_port_hack
      Src: /src/libevent/evutil.c:1633,1
    - Dst: need_socktype_protocol_hack
      Src: /src/libevent/evutil.c:1635,1
    - Dst: apply_socktype_protocol_hack
      Src: /src/libevent/evutil.c:1636,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evutil.c:1637,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1649,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1651,1
    - Dst: evutil_adjust_hints_for_addrconfig_
      Src: /src/libevent/evutil.c:1655,1
    - Dst: evutil_getaddrinfo_common_
      Src: /src/libevent/evutil.c:1657,1
    - Dst: gethostbyname_r
      Src: /src/libevent/evutil.c:1671,1
    - Dst: gethostbyname_r
      Src: /src/libevent/evutil.c:1676,1
    - Dst: memset
      Src: /src/libevent/evutil.c:1681,1
    - Dst: gethostbyname_r
      Src: /src/libevent/evutil.c:1682,1
    - Dst: gethostbyname
      Src: /src/libevent/evutil.c:1687,1
    - Dst: WSAGetLastError
      Src: /src/libevent/evutil.c:1689,1
    - Dst: addrinfo_from_hostent
      Src: /src/libevent/evutil.c:1731,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 4
    argNames:
    - nodename
    - servname
    - hints_in
    - res
    argTypes:
    - char*
    - char*
    - struct evutil_addrinfo*
    - struct evutil_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1549
    functionDepth: 6
    functionLinenumber: 1549
    functionLinenumberEnd: 1738
    functionName: evutil_getaddrinfo
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - evutil_adjust_hints_for_addrconfig_
    - getaddrinfo
    - memset
    - apply_numeric_port_hack
    - gethostbyname
    - memcpy
    - EVUTIL_ASSERT
    - evutil_getaddrinfo_common_
    - need_numeric_port_hack
    - parse_numeric_servname
    - need_socktype_protocol_hack
    - gethostbyname_r
    - WSAGetLastError
    - addrinfo_from_hostent
    - evutil_getaddrinfo_infer_protocols
    - evutil_freeaddrinfo
    - apply_socktype_protocol_hack
    linkageType: ''
    returnType: int
    signature: "int evutil_getaddrinfo(const char *nodename, const char *servname,\n
      \   const struct evutil_addrinfo *hints_in, struct evutil_addrinfo **res)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1755,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1756,1
    - Dst: freeaddrinfo
      Src: /src/libevent/evutil.c:1769,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1774,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:1775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1779
    functionName: evutil_freeaddrinfo
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 5
    functionsReached:
    - mm_free
    - freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void evutil_freeaddrinfo(struct evutil_addrinfo *ai)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/evutil.c:1788,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:1789,1
    - Dst: mm_strdup
      Src: /src/libevent/evutil.c:1791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ai
    argTypes:
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1802
    functionName: evutil_dup_addrinfo_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mm_strdup
    - mm_calloc
    linkageType: ''
    returnType: struct evutil_addrinfo
    signature: 'struct evutil_addrinfo *

      evutil_dup_addrinfo_(struct evutil_addrinfo *ai)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fn
    argTypes:
    - evdns_getaddrinfo_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1812
    functionName: evutil_set_evdns_getaddrinfo_fn_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evutil_set_evdns_getaddrinfo_fn_(evdns_getaddrinfo_fn fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fn
    argTypes:
    - evdns_getaddrinfo_cancel_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1818
    functionName: evutil_set_evdns_getaddrinfo_cancel_fn_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evutil_set_evdns_getaddrinfo_cancel_fn_(evdns_getaddrinfo_cancel_fn
      fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1826
    functionName: evutil_set_resolvconf_filename_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evutil_set_resolvconf_filename_(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1835
    functionName: evutil_resolvconf_filename_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evutil_resolvconf_filename_(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_getaddrinfo_impl
      Src: /src/libevent/evutil.c:1848,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/evutil.c:1853,1
    - Dst: cb
      Src: /src/libevent/evutil.c:1854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - dns_base
    - nodename
    - servname
    - hints_in
    - arg
    argTypes:
    - struct evdns_base*
    - char*
    - char*
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1841
    functionDepth: 7
    functionLinenumber: 1841
    functionLinenumberEnd: 1857
    functionName: evutil_getaddrinfo_async_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_getaddrinfo
    - cb
    - evdns_getaddrinfo_impl
    linkageType: ''
    returnType: struct evdns_getaddrinfo_request
    signature: "struct evdns_getaddrinfo_request *evutil_getaddrinfo_async_(\n    struct
      evdns_base *dns_base,\n    const char *nodename, const char *servname,\n    const
      struct evutil_addrinfo *hints_in,\n    void (*cb)(int, struct evutil_addrinfo
      *, void *), void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_getaddrinfo_cancel_impl
      Src: /src/libevent/evutil.c:1862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct evdns_getaddrinfo_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1864
    functionName: evutil_getaddrinfo_cancel_async_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evdns_getaddrinfo_cancel_impl
    linkageType: ''
    returnType: void
    signature: void evutil_getaddrinfo_cancel_async_(struct evdns_getaddrinfo_request
      *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gai_strerrorA
      Src: /src/libevent/evutil.c:1902,1
    - Dst: gai_strerror
      Src: /src/libevent/evutil.c:1904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1909
    functionName: evutil_gai_strerror
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - gai_strerror
    - gai_strerrorA
    linkageType: ''
    returnType: char
    signature: 'char *

      evutil_gai_strerror(int err)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/evutil.c:1917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1922
    functionName: chomp
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void chomp (char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct cached_sock_errs_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1951
    functionName: hash_cached_sock_errs
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned hash_cached_sock_errs(const struct cached_sock_errs_entry
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct cached_sock_errs_entry*
    - struct cached_sock_errs_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1958
    functionName: eq_cached_sock_errs
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eq_cached_sock_errs(const struct cached_sock_errs_entry *a,\n\t\t
      \   const struct cached_sock_errs_entry *b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/evutil.c:1990,1
    - Dst: HT_FIND
      Src: /src/libevent/evutil.c:1993,1
    - Dst: FormatMessageA
      Src: /src/libevent/evutil.c:1999,1
    - Dst: chomp
      Src: /src/libevent/evutil.c:2003,1
    - Dst: LocalAlloc
      Src: /src/libevent/evutil.c:2007,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2012,1
    - Dst: mm_malloc
      Src: /src/libevent/evutil.c:2016,1
    - Dst: LocalFree
      Src: /src/libevent/evutil.c:2019,1
    - Dst: HT_INSERT
      Src: /src/libevent/evutil.c:2026,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/evutil.c:2029,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 2032
    functionName: evutil_socket_error_to_string
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - LocalAlloc
    - HT_INSERT
    - EVLOCK_LOCK
    - chomp
    - LocalFree
    - FormatMessageA
    - mm_malloc
    - EVLOCK_UNLOCK
    - HT_FIND
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void evutil_socket_error_to_string(int errcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_SETUP_GLOBAL_LOCK
      Src: /src/libevent/evutil.c:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enable_locks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2040
    functionName: evutil_global_setup_locks_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_SETUP_GLOBAL_LOCK
    linkageType: ''
    returnType: int
    signature: int evutil_global_setup_locks_(const int enable_locks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HT_START
      Src: /src/libevent/evutil.c:2048,1
    - Dst: HT_NEXT_RMV
      Src: /src/libevent/evutil.c:2051,1
    - Dst: LocalFree
      Src: /src/libevent/evutil.c:2054,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:2055,1
    - Dst: HT_CLEAR
      Src: /src/libevent/evutil.c:2058,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/evutil.c:2062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2066
    functionName: evutil_free_sock_err_globals
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_FREE_LOCK
    - HT_START
    - HT_NEXT_RMV
    - LocalFree
    - HT_CLEAR
    - mm_free
    linkageType: ''
    returnType: void
    signature: void evutil_free_sock_err_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_locks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2075
    functionName: evutil_global_setup_locks_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evutil_global_setup_locks_(const int enable_locks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2081
    functionName: evutil_free_sock_err_globals
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evutil_free_sock_err_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/evutil.c:2090,1
    - Dst: evutil_vsnprintf
      Src: /src/libevent/evutil.c:2091,1
    - Dst: va_end
      Src: /src/libevent/evutil.c:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - buflen
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2085
    functionDepth: 1
    functionLinenumber: 2085
    functionLinenumberEnd: 2094
    functionName: evutil_snprintf
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 6
    functionsReached:
    - va_end
    - evutil_vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int evutil_snprintf(char *buf, size_t buflen, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _vsnprintf
      Src: /src/libevent/evutil.c:2103,1
    - Dst: _vscprintf
      Src: /src/libevent/evutil.c:2105,1
    - Dst: _xpg5_vsnprintf
      Src: /src/libevent/evutil.c:2112,1
    - Dst: vsnprintf
      Src: /src/libevent/evutil.c:2114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - buflen
    - format
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2118
    functionName: evutil_vsnprintf
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - _xpg5_vsnprintf
    - vsnprintf
    - _vsnprintf
    - _vscprintf
    linkageType: ''
    returnType: int
    signature: int evutil_vsnprintf(char *buf, size_t buflen, const char *format,
      va_list ap)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/libevent/evutil.c:2127,1
    - Dst: ntohl
      Src: /src/libevent/evutil.c:2131,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2133,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2158,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2162,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2166,1
    - Dst: strlcpy
      Src: /src/libevent/evutil.c:2168,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2200,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2202,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2208,1
    - Dst: strlcpy
      Src: /src/libevent/evutil.c:2210,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - len
    argTypes:
    - int
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2123
    functionDepth: 2
    functionLinenumber: 2123
    functionLinenumberEnd: 2217
    functionName: evutil_inet_ntop
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_snprintf
    - inet_ntop
    - ntohl
    - strlen
    - strlcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      evutil_inet_ntop(int af, const void *src, char *dst, size_t len)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:2230,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2232,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:2236,1
    - Dst: if_nametoindex
      Src: /src/libevent/evutil.c:2238,1
    - Dst: strtoul
      Src: /src/libevent/evutil.c:2241,1
    - Dst: mm_strdup
      Src: /src/libevent/evutil.c:2246,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2249,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:2252,1
    - Dst: mm_free
      Src: /src/libevent/evutil.c:2253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - indexp
    argTypes:
    - int
    - char*
    - void*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2219
    functionDepth: 1
    functionLinenumber: 2219
    functionLinenumberEnd: 2255
    functionName: evutil_inet_pton_scope
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - strchr
    - strtoul
    - mm_strdup
    - evutil_inet_pton
    - if_nametoindex
    - mm_free
    linkageType: ''
    returnType: int
    signature: int evutil_inet_pton_scope(int af, const char *src, void *dst, unsigned
      *indexp)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/libevent/evutil.c:2261,1
    - Dst: sscanf
      Src: /src/libevent/evutil.c:2267,1
    - Dst: htonl
      Src: /src/libevent/evutil.c:2273,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2280,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2285,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/evutil.c:2289,1
    - Dst: sscanf
      Src: /src/libevent/evutil.c:2295,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/evutil.c:2314,1
    - Dst: strtol
      Src: /src/libevent/evutil.c:2316,1
    - Dst: memmove
      Src: /src/libevent/evutil.c:2352,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2354,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 77
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2367
    functionName: evutil_inet_pton
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 4
    functionsReached:
    - EVUTIL_ISDIGIT_
    - strchr
    - memset
    - inet_pton
    - EVUTIL_ISXDIGIT_
    - strtol
    - memmove
    - strlen
    - sscanf
    - htonl
    linkageType: ''
    returnType: int
    signature: int evutil_inet_pton(int af, const char *src, void *dst)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libevent/evutil.c:2385,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2388,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:2395,1
    - Dst: strchr
      Src: /src/libevent/evutil.c:2403,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:2412,1
    - Dst: atoi
      Src: /src/libevent/evutil.c:2425,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2437,1
    - Dst: htons
      Src: /src/libevent/evutil.c:2442,1
    - Dst: evutil_inet_pton_scope
      Src: /src/libevent/evutil.c:2443,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:2450,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2458,1
    - Dst: htons
      Src: /src/libevent/evutil.c:2463,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/evutil.c:2464,1
    - Dst: memcpy
      Src: /src/libevent/evutil.c:2468,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 3
    argNames:
    - ip_as_string
    - out
    - outlen
    argTypes:
    - char*
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2369
    functionDepth: 2
    functionLinenumber: 2369
    functionLinenumberEnd: 2472
    functionName: evutil_parse_sockaddr_port
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - strchr
    - evutil_inet_pton_scope
    - memset
    - atoi
    - memcpy
    - evutil_inet_pton
    - htons
    linkageType: ''
    returnType: int
    signature: int evutil_parse_sockaddr_port(const char *ip_as_string, struct sockaddr
      *out, int *outlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evutil_inet_ntop
      Src: /src/libevent/evutil.c:2482,1
    - Dst: ntohs
      Src: /src/libevent/evutil.c:2483,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2485,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/evutil.c:2490,1
    - Dst: ntohs
      Src: /src/libevent/evutil.c:2491,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2493,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:2498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sa
    - out
    - outlen
    argTypes:
    - struct sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2474
    functionDepth: 3
    functionLinenumber: 2474
    functionLinenumberEnd: 2501
    functionName: evutil_format_sockaddr_port_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_inet_ntop
    - ntohs
    - evutil_snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      evutil_format_sockaddr_port_(const struct sockaddr *sa, char *out, size_t outlen)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libevent/evutil.c:2530,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - sa1
    - sa2
    - include_port
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2503
    functionDepth: 0
    functionLinenumber: 2503
    functionLinenumberEnd: 2540
    functionName: evutil_sockaddr_cmp
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int evutil_sockaddr_cmp(const struct sockaddr *sa1, const struct sockaddr
      *sa2,\n    int include_port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2603
    functionName: IMPL_CTYPE_FN
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_CTYPE_FN(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2615
    functionName: EVUTIL_TOLOWER_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char EVUTIL_TOLOWER_(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2616
    functionDepth: 0
    functionLinenumber: 2616
    functionLinenumberEnd: 2619
    functionName: EVUTIL_TOUPPER_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char EVUTIL_TOUPPER_(char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2625,1
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2620
    functionDepth: 1
    functionLinenumber: 2620
    functionLinenumberEnd: 2634
    functionName: evutil_ascii_strcasecmp
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 11
    functionsReached:
    - EVUTIL_TOLOWER_
    linkageType: ''
    returnType: int
    signature: int evutil_ascii_strcasecmp(const char *s1, const char *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2639,1
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2635
    functionDepth: 1
    functionLinenumber: 2635
    functionLinenumberEnd: 2649
    functionName: evutil_ascii_strncasecmp
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - EVUTIL_TOLOWER_
    linkageType: ''
    returnType: int
    signature: int evutil_ascii_strncasecmp(const char *s1, const char *s2, size_t
      n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2657,1
    - Dst: strlen
      Src: /src/libevent/evutil.c:2658,1
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/evutil.c:2663,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/evutil.c:2664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s
    - find
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2651
    functionDepth: 2
    functionLinenumber: 2651
    functionLinenumberEnd: 2668
    functionName: evutil_ascii_strcasestr
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - strlen
    - evutil_ascii_strncasecmp
    - EVUTIL_TOLOWER_
    linkageType: ''
    returnType: char
    signature: char * evutil_ascii_strcasestr(const char* s, const char *find)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libevent/evutil.c:2678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2670
    functionDepth: 0
    functionLinenumber: 2670
    functionLinenumberEnd: 2689
    functionName: evutil_rtrim_lws_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 2
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: void evutil_rtrim_lws_(char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: issetugid
      Src: /src/libevent/evutil.c:2695,1
    - Dst: getuid
      Src: /src/libevent/evutil.c:2699,1
    - Dst: geteuid
      Src: /src/libevent/evutil.c:2699,1
    - Dst: getgid
      Src: /src/libevent/evutil.c:2703,1
    - Dst: getegid
      Src: /src/libevent/evutil.c:2703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2691
    functionDepth: 1
    functionLinenumber: 2691
    functionLinenumberEnd: 2708
    functionName: evutil_issetugid
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - geteuid
    - getegid
    - getgid
    - issetugid
    - getuid
    linkageType: ''
    returnType: int
    signature: int evutil_issetugid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_issetugid
      Src: /src/libevent/evutil.c:2713,1
    - Dst: getenv
      Src: /src/libevent/evutil.c:2716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - varname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2710
    functionDepth: 2
    functionLinenumber: 2710
    functionLinenumberEnd: 2717
    functionName: evutil_getenv_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_issetugid
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      evutil_getenv_(const char *varname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/evutil.c:2724,1
    - Dst: _getpid
      Src: /src/libevent/evutil.c:2727,1
    - Dst: getpid
      Src: /src/libevent/evutil.c:2729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - state
    - seed
    argTypes:
    - struct evutil_weakrand_state*
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2719
    functionDepth: 1
    functionLinenumber: 2719
    functionLinenumberEnd: 2734
    functionName: evutil_weakrand_seed_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    - getpid
    - _getpid
    linkageType: ''
    returnType: ev_uint32_t
    signature: ev_uint32_t evutil_weakrand_seed_(struct evutil_weakrand_state *state,
      ev_uint32_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct evutil_weakrand_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2749
    functionName: evutil_weakrand_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ev_int32_t
    signature: ev_int32_t evutil_weakrand_(struct evutil_weakrand_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_weakrand_
      Src: /src/libevent/evutil.c:2762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - top
    argTypes:
    - struct evutil_weakrand_state*
    - ev_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2751
    functionDepth: 1
    functionLinenumber: 2751
    functionLinenumberEnd: 2765
    functionName: evutil_weakrand_range_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_weakrand_
    linkageType: ''
    returnType: ev_int32_t
    signature: ev_int32_t evutil_weakrand_range_(struct evutil_weakrand_state *state,
      ev_int32_t top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_memset_volatile_
      Src: /src/libevent/evutil.c:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2777
    functionName: evutil_memclear_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_memset_volatile_
    linkageType: ''
    returnType: void
    signature: void evutil_memclear_(void *mem, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libevent/evutil.c:2786,1
    - Dst: memcmp
      Src: /src/libevent/evutil.c:2789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2792
    functionName: evutil_sockaddr_is_loopback_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ntohl
    linkageType: ''
    returnType: int
    signature: int evutil_sockaddr_is_loopback_(const struct sockaddr *addr)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2817
    functionName: evutil_hex_char_to_int_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evutil_hex_char_to_int_(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemDirectory
      Src: /src/libevent/evutil.c:2825,1
    - Dst: _tcslen
      Src: /src/libevent/evutil.c:2826,1
    - Dst: _tcscat
      Src: /src/libevent/evutil.c:2828,1
    - Dst: TEXT
      Src: /src/libevent/evutil.c:2828,1
    - Dst: _tcscat
      Src: /src/libevent/evutil.c:2829,1
    - Dst: LoadLibrary
      Src: /src/libevent/evutil.c:2830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - library_name
    argTypes:
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2831
    functionName: evutil_load_windows_system_library_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - TEXT
    - _tcslen
    - GetSystemDirectory
    - LoadLibrary
    - _tcscat
    linkageType: ''
    returnType: HMODULE
    signature: HMODULE evutil_load_windows_system_library_(const TCHAR *library_name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libevent/evutil.c:2847,1
    - Dst: socket
      Src: /src/libevent/evutil.c:2854,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:2858,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2859,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:2864,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2865,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - domain
    - type
    - protocol
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2842
    functionDepth: 3
    functionLinenumber: 2842
    functionLinenumberEnd: 2870
    functionName: evutil_socket_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 1
    functionsReached:
    - evutil_closesocket
    - evutil_fast_socket_nonblocking
    - socket
    - evutil_fast_socket_closeonexec
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t evutil_socket_(int domain, int type, int protocol)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evutil_win_socketpair
      Src: /src/libevent/evutil.c:2890,1
    - Dst: socketpair
      Src: /src/libevent/evutil.c:2892,1
    - Dst: evutil_ersatz_socketpair_
      Src: /src/libevent/evutil.c:2894,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:2900,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2901,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2902,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:2905,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2906,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2907,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:2914,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2915,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2916,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:2919,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2920,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:2921,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - fd
    argTypes:
    - int
    - int
    - int
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2872
    functionDepth: 4
    functionLinenumber: 2872
    functionLinenumberEnd: 2927
    functionName: evutil_socketpair
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_win_socketpair
    - evutil_ersatz_socketpair_
    - evutil_fast_socket_closeonexec
    - evutil_fast_socket_nonblocking
    - socketpair
    - evutil_closesocket
    linkageType: ''
    returnType: int
    signature: int evutil_socketpair(int family, int type, int protocol, evutil_socket_t
      fd[2])
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:2960,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:2960,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:2965,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:2965,1
    - Dst: socket
      Src: /src/libevent/evutil.c:2969,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2972,1
    - Dst: htonl
      Src: /src/libevent/evutil.c:2974,1
    - Dst: bind
      Src: /src/libevent/evutil.c:2976,1
    - Dst: listen
      Src: /src/libevent/evutil.c:2979,1
    - Dst: socket
      Src: /src/libevent/evutil.c:2982,1
    - Dst: memset
      Src: /src/libevent/evutil.c:2986,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:2990,1
    - Dst: connect
      Src: /src/libevent/evutil.c:2994,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evutil.c:2997,1
    - Dst: EVUTIL_ERR_CONNECT_RETRIABLE
      Src: /src/libevent/evutil.c:2998,1
    - Dst: accept
      Src: /src/libevent/evutil.c:3004,1
    - Dst: EVUTIL_ERR_ACCEPT_RETRIABLE
      Src: /src/libevent/evutil.c:3005,1
    - Dst: getsockname
      Src: /src/libevent/evutil.c:3012,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3019,1
    - Dst: ERR
      Src: /src/libevent/evutil.c:3026,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/evutil.c:3029,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3031,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3033,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3035,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/evutil.c:3037,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 76
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - fd
    argTypes:
    - int
    - int
    - int
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 3040
    functionName: evutil_ersatz_socketpair_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 2
    functionsReached:
    - bind
    - memset
    - EVUTIL_ERR_ACCEPT_RETRIABLE
    - socket
    - EVUTIL_SET_SOCKET_ERROR
    - ERR
    - listen
    - EVUTIL_SOCKET_ERROR
    - getsockname
    - evutil_socket_geterror
    - evutil_closesocket
    - accept
    - connect
    - htonl
    - EVUTIL_ERR_CONNECT_RETRIABLE
    linkageType: ''
    returnType: int
    signature: "int evutil_ersatz_socketpair_(int family, int type, int protocol,\n
      \   evutil_socket_t fd[2])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2942
    functionDepth: 0
    functionLinenumber: 2942
    functionLinenumberEnd: 2943
    functionName: ERR
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2945
    functionName: ERR
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR(e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: accept4
      Src: /src/libevent/evutil.c:3056,1
    - Dst: accept
      Src: /src/libevent/evutil.c:3066,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:3071,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3072,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:3077,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - sockfd
    - addr
    - addrlen
    - flags
    argTypes:
    - evutil_socket_t
    - struct sockaddr*
    - ev_socklen_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3083
      start: 3050
    functionDepth: 3
    functionLinenumber: 3050
    functionLinenumberEnd: 3083
    functionName: evutil_accept4_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - accept4
    - evutil_fast_socket_closeonexec
    - evutil_fast_socket_nonblocking
    - accept
    - evutil_closesocket
    linkageType: ''
    returnType: evutil_socket_t
    signature: "evutil_socket_t evutil_accept4_(evutil_socket_t sockfd, struct sockaddr
      *addr,\n    ev_socklen_t *addrlen, int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pipe2
      Src: /src/libevent/evutil.c:3102,1
    - Dst: pipe
      Src: /src/libevent/evutil.c:3106,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:3107,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:3108,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:3109,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:3110,1
    - Dst: close
      Src: /src/libevent/evutil.c:3111,1
    - Dst: close
      Src: /src/libevent/evutil.c:3112,1
    - Dst: event_warn
      Src: /src/libevent/evutil.c:3118,1
    - Dst: evutil_socketpair
      Src: /src/libevent/evutil.c:3127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3089
    functionDepth: 5
    functionLinenumber: 3089
    functionLinenumberEnd: 3132
    functionName: evutil_make_internal_pipe_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - pipe
    - event_warn
    - close
    - pipe2
    - evutil_fast_socket_closeonexec
    - evutil_socketpair
    - evutil_fast_socket_nonblocking
    linkageType: ''
    returnType: int
    signature: int evutil_make_internal_pipe_(evutil_socket_t fd[2])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eventfd
      Src: /src/libevent/evutil.c:3144,1
    - Dst: eventfd
      Src: /src/libevent/evutil.c:3148,1
    - Dst: evutil_fast_socket_closeonexec
      Src: /src/libevent/evutil.c:3152,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3153,1
    - Dst: evutil_fast_socket_nonblocking
      Src: /src/libevent/evutil.c:3158,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evutil.c:3159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - initval
    - flags
    argTypes:
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3138
    functionDepth: 3
    functionLinenumber: 3138
    functionLinenumberEnd: 3167
    functionName: evutil_eventfd_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - eventfd
    - evutil_fast_socket_nonblocking
    - evutil_closesocket
    - evutil_fast_socket_closeonexec
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t evutil_eventfd_(unsigned initval, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_free_secure_rng_globals_
      Src: /src/libevent/evutil.c:3172,1
    - Dst: evutil_free_sock_err_globals
      Src: /src/libevent/evutil.c:3173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3174
      start: 3169
    functionDepth: 2
    functionLinenumber: 3169
    functionLinenumberEnd: 3174
    functionName: evutil_free_globals_
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - evutil_free_sock_err_globals
    - evutil_free_secure_rng_globals_
    linkageType: ''
    returnType: void
    signature: void evutil_free_globals_(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3182
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3182
    functionName: EVENT_KEEPALIVE_FACTOR
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_KEEPALIVE_FACTOR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil.c:3363,1
    - Dst: strsignal
      Src: /src/libevent/evutil.c:3366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3359
    functionDepth: 2
    functionLinenumber: 3359
    functionLinenumberEnd: 3368
    functionName: evutil_strsignal
    functionSourceFile: /src/libevent/evutil.c
    functionUses: 0
    functionsReached:
    - strsignal
    - evutil_snprintf
    linkageType: ''
    returnType: char
    signature: char * evutil_strsignal(int sig)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: event_strlcpy_
    functionSourceFile: /src/libevent/strlcpy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t event_strlcpy_(char *dst, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct event_map_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: hashsocket
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned hashsocket(struct event_map_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - struct event_map_entry*
    - struct event_map_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: eqsocket
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eqsocket(struct event_map_entry *e1, struct event_map_entry *e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - map
    - ','
    - slot
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: GET_IO_SLOT
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IO_SLOT(x, map, slot, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x
    - ','
    - map
    - ','
    - slot
    - ','
    - type
    - ','
    - ctor
    - ','
    - fdinfo_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: GET_IO_SLOT_AND_CTOR
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IO_SLOT_AND_CTOR(x, map, slot, type, ctor, fdinfo_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HT_INIT
      Src: /src/libevent/evmap.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct event_io_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: evmap_io_initmap_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - HT_INIT
    linkageType: ''
    returnType: void
    signature: void evmap_io_initmap_(struct event_io_map *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HT_START
      Src: /src/libevent/evmap.c:150,1
    - Dst: HT_NEXT_RMV
      Src: /src/libevent/evmap.c:152,1
    - Dst: mm_free
      Src: /src/libevent/evmap.c:153,1
    - Dst: HT_CLEAR
      Src: /src/libevent/evmap.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct event_io_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: evmap_io_clear_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - HT_START
    - mm_free
    - HT_NEXT_RMV
    - HT_CLEAR
    linkageType: ''
    returnType: void
    signature: void evmap_io_clear_(struct event_io_map *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - map
    - ','
    - slot
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: GET_SIGNAL_SLOT
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SIGNAL_SLOT(x, map, slot, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x
    - ','
    - map
    - ','
    - slot
    - ','
    - type
    - ','
    - ctor
    - ','
    - fdinfo_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: GET_SIGNAL_SLOT_AND_CTOR
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SIGNAL_SLOT_AND_CTOR(x, map, slot, type, ctor, fdinfo_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - map
    - ','
    - slot
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: GET_IO_SLOT
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IO_SLOT(x,map,slot,type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x
    - ','
    - map
    - ','
    - slot
    - ','
    - type
    - ','
    - ctor
    - ','
    - fdinfo_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: GET_IO_SLOT_AND_CTOR
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IO_SLOT_AND_CTOR(x,map,slot,type,ctor,fdinfo_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evmap_signal_initmap_
      Src: /src/libevent/evmap.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct event_io_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: evmap_io_initmap_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - evmap_signal_initmap_
    linkageType: ''
    returnType: void
    signature: void evmap_io_initmap_(struct event_io_map* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evmap_signal_clear_
      Src: /src/libevent/evmap.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct event_io_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: evmap_io_clear_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - evmap_signal_clear_
    linkageType: ''
    returnType: void
    signature: void evmap_io_clear_(struct event_io_map* ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mm_realloc
      Src: /src/libevent/evmap.c:220,1
    - Dst: memset
      Src: /src/libevent/evmap.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - map
    - slot
    - msize
    argTypes:
    - struct event_signal_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 232
    functionName: evmap_make_space
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - memset
    linkageType: ''
    returnType: int
    signature: int evmap_make_space(struct event_signal_map *map, int slot, int msize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct event_signal_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: evmap_signal_initmap_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evmap_signal_initmap_(struct event_signal_map *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evmap.c:248,1
    - Dst: mm_free
      Src: /src/libevent/evmap.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct event_signal_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: evmap_signal_clear_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 1
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void evmap_signal_clear_(struct event_signal_map *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/libevent/evmap.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct evmap_io*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: evmap_io_init
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: void evmap_io_init(struct evmap_io *entry)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:282,1
    - Dst: evmap_make_space
      Src: /src/libevent/evmap.c:289,1
    - Dst: GET_IO_SLOT_AND_CTOR
      Src: /src/libevent/evmap.c:293,1
    - Dst: EVUTIL_UNLIKELY
      Src: /src/libevent/evmap.c:319,1
    - Dst: event_warnx
      Src: /src/libevent/evmap.c:320,1
    - Dst: EVENT_DEBUG_MODE_IS_ON
      Src: /src/libevent/evmap.c:324,1
    - Dst: LIST_FIRST
      Src: /src/libevent/evmap.c:325,1
    - Dst: event_warnx
      Src: /src/libevent/evmap.c:327,1
    - Dst: struct eventop*::add
      Src: /src/libevent/evmap.c:337,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/libevent/evmap.c:346,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 3
    argNames:
    - base
    - fd
    - ev
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 349
    functionName: evmap_io_add_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - EVENT_DEBUG_MODE_IS_ON
    - struct eventop*::add
    - EVUTIL_ASSERT
    - EVUTIL_UNLIKELY
    - GET_IO_SLOT_AND_CTOR
    - event_warnx
    - LIST_INSERT_HEAD
    - LIST_FIRST
    - evmap_make_space
    linkageType: ''
    returnType: int
    signature: int evmap_io_add_(struct event_base *base, evutil_socket_t fd, struct
      event *ev)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:365,1
    - Dst: GET_IO_SLOT
      Src: /src/libevent/evmap.c:372,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:388,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:393,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:398,1
    - Dst: struct eventop*::del
      Src: /src/libevent/evmap.c:403,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/evmap.c:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - base
    - fd
    - ev
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 417
    functionName: evmap_io_del_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - LIST_REMOVE
    - struct eventop*::del
    - EVUTIL_ASSERT
    - GET_IO_SLOT
    linkageType: ''
    returnType: int
    signature: int evmap_io_del_(struct event_base *base, evutil_socket_t fd, struct
      event *ev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_IO_SLOT
      Src: /src/libevent/evmap.c:430,1
    - Dst: LIST_FOREACH
      Src: /src/libevent/evmap.c:434,1
    - Dst: event_active_nolock_
      Src: /src/libevent/evmap.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - base
    - fd
    - events
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 438
    functionName: evmap_io_active_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - event_active_nolock_
    - LIST_FOREACH
    - GET_IO_SLOT
    linkageType: ''
    returnType: void
    signature: void evmap_io_active_(struct event_base *base, evutil_socket_t fd,
      short events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/libevent/evmap.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct evmap_signal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: evmap_signal_init
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: void evmap_signal_init(struct evmap_signal *entry)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evmap_make_space
      Src: /src/libevent/evmap.c:460,1
    - Dst: GET_SIGNAL_SLOT_AND_CTOR
      Src: /src/libevent/evmap.c:464,1
    - Dst: LIST_EMPTY
      Src: /src/libevent/evmap.c:467,1
    - Dst: struct eventop*::add
      Src: /src/libevent/evmap.c:468,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/libevent/evmap.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - base
    - sig
    - ev
    argTypes:
    - struct event_base*
    - int
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 476
    functionName: evmap_signal_add_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - struct eventop*::add
    - GET_SIGNAL_SLOT_AND_CTOR
    - LIST_EMPTY
    - LIST_INSERT_HEAD
    - evmap_make_space
    linkageType: ''
    returnType: int
    signature: int evmap_signal_add_(struct event_base *base, int sig, struct event
      *ev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_SIGNAL_SLOT
      Src: /src/libevent/evmap.c:488,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/evmap.c:490,1
    - Dst: LIST_FIRST
      Src: /src/libevent/evmap.c:492,1
    - Dst: struct eventop*::del
      Src: /src/libevent/evmap.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - base
    - sig
    - ev
    argTypes:
    - struct event_base*
    - int
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 498
    functionName: evmap_signal_del_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - LIST_REMOVE
    - LIST_FIRST
    - GET_SIGNAL_SLOT
    - struct eventop*::del
    linkageType: ''
    returnType: int
    signature: int evmap_signal_del_(struct event_base *base, int sig, struct event
      *ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_SIGNAL_SLOT
      Src: /src/libevent/evmap.c:509,1
    - Dst: LIST_FOREACH
      Src: /src/libevent/evmap.c:513,1
    - Dst: event_active_nolock_
      Src: /src/libevent/evmap.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - base
    - sig
    - ncalls
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: evmap_signal_active_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - GET_SIGNAL_SLOT
    - LIST_FOREACH
    - event_active_nolock_
    linkageType: ''
    returnType: void
    signature: void evmap_signal_active_(struct event_base *base, evutil_socket_t
      sig, int ncalls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_IO_SLOT
      Src: /src/libevent/evmap.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - fd
    argTypes:
    - struct event_io_map*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: evmap_io_get_fdinfo_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - GET_IO_SLOT
    linkageType: ''
    returnType: void
    signature: 'void *

      evmap_io_get_fdinfo_(struct event_io_map *map, evutil_socket_t fd)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/libevent/evmap.c:564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: HT_FOREACH
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: void
    signature: void HT_FOREACH(mapent, event_io_map, iomap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/libevent/evmap.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - base
    - fn
    - arg
    argTypes:
    - struct event_base*
    - evmap_signal_foreach_signal_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 601
    functionName: evmap_signal_foreach_signal
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: "int evmap_signal_foreach_signal(struct event_base *base,\n    evmap_signal_foreach_signal_cb
      fn,\n    void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:615,1
    - Dst: memset
      Src: /src/libevent/evmap.c:625,1
    - Dst: LIST_FIRST
      Src: /src/libevent/evmap.c:627,1
    - Dst: struct eventop*::add
      Src: /src/libevent/evmap.c:630,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - base
    - fd
    - ctx
    - arg
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - struct evmap_io*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 634
    functionName: evmap_io_reinit_iter_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - struct eventop*::add
    - memset
    - LIST_FIRST
    linkageType: ''
    returnType: int
    signature: "int evmap_io_reinit_iter_fn(struct event_base *base, evutil_socket_t
      fd,\n    struct evmap_io *ctx, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_EMPTY
      Src: /src/libevent/evmap.c:645,1
    - Dst: struct eventop*::add
      Src: /src/libevent/evmap.c:646,1
    - Dst: LIST_FIRST
      Src: /src/libevent/evmap.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - base
    - signum
    - ctx
    - arg
    argTypes:
    - struct event_base*
    - int
    - struct evmap_signal*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 651
    functionName: evmap_signal_reinit_iter_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - LIST_FIRST
    - struct eventop*::add
    - LIST_EMPTY
    linkageType: ''
    returnType: int
    signature: "int evmap_signal_reinit_iter_fn(struct event_base *base,\n    int
      signum, struct evmap_signal *ctx, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evmap_io_foreach_fd
      Src: /src/libevent/evmap.c:658,1
    - Dst: evmap_signal_foreach_signal
      Src: /src/libevent/evmap.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 665
    functionName: evmap_reinit_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - evmap_io_foreach_fd
    - evmap_signal_foreach_signal
    linkageType: ''
    returnType: int
    signature: int evmap_reinit_(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FIRST
      Src: /src/libevent/evmap.c:672,1
    - Dst: event_del
      Src: /src/libevent/evmap.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dlist
    argTypes:
    - struct event_dlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: delete_all_in_dlist
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - LIST_FIRST
    - event_del
    linkageType: ''
    returnType: int
    signature: int delete_all_in_dlist(struct event_dlist *dlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_all_in_dlist
      Src: /src/libevent/evmap.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - base
    - fd
    - io_info
    - arg
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - struct evmap_io*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: evmap_io_delete_all_iter_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - delete_all_in_dlist
    linkageType: ''
    returnType: int
    signature: "int evmap_io_delete_all_iter_fn(struct event_base *base, evutil_socket_t
      fd,\n    struct evmap_io *io_info, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_all_in_dlist
      Src: /src/libevent/evmap.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - base
    - signum
    - sig_info
    - arg
    argTypes:
    - struct event_base*
    - int
    - struct evmap_signal*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 691
    functionName: evmap_signal_delete_all_iter_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - delete_all_in_dlist
    linkageType: ''
    returnType: int
    signature: "int evmap_signal_delete_all_iter_fn(struct event_base *base, int signum,\n
      \   struct evmap_signal *sig_info, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evmap_signal_foreach_signal
      Src: /src/libevent/evmap.c:696,1
    - Dst: evmap_io_foreach_fd
      Src: /src/libevent/evmap.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 698
    functionName: evmap_delete_all_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - evmap_io_foreach_fd
    - evmap_signal_foreach_signal
    linkageType: ''
    returnType: void
    signature: void evmap_delete_all_(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - changelist
    argTypes:
    - struct event_changelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: event_changelist_init_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_changelist_init_(struct event_changelist *changelist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_SIGNAL_SLOT
      Src: /src/libevent/evmap.c:724,1
    - Dst: GET_IO_SLOT
      Src: /src/libevent/evmap.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - change
    argTypes:
    - struct event_base*
    - struct event_change*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 732
    functionName: event_change_get_fdinfo
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - GET_SIGNAL_SLOT
    - GET_IO_SLOT
    linkageType: ''
    returnType: struct event_changelist_fdinfo
    signature: "struct event_changelist_fdinfo *\nevent_change_get_fdinfo(struct event_base
      *base,\n    const struct event_change *change)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - base
    - fd
    - io
    - arg
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - struct evmap_io*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 749
    functionName: event_changelist_assert_ok_foreach_iter_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: int
    signature: "int event_changelist_assert_ok_foreach_iter_fn(\n\tstruct event_base
      *base,\n\tevutil_socket_t fd, struct evmap_io *io, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:758,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:762,1
    - Dst: event_change_get_fdinfo
      Src: /src/libevent/evmap.c:763,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:764,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:765,1
    - Dst: evmap_io_foreach_fd
      Src: /src/libevent/evmap.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 771
    functionName: event_changelist_assert_ok
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - event_change_get_fdinfo
    - EVUTIL_ASSERT
    - evmap_io_foreach_fd
    linkageType: ''
    returnType: void
    signature: void event_changelist_assert_ok(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 775
    functionName: event_changelist_check
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: event_changelist_check(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 777
    functionName: event_changelist_check
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: event_changelist_check(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_changelist_check
      Src: /src/libevent/evmap.c:785,1
    - Dst: event_change_get_fdinfo
      Src: /src/libevent/evmap.c:790,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:791,1
    - Dst: event_changelist_check
      Src: /src/libevent/evmap.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - changelist
    - base
    argTypes:
    - struct event_changelist*
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 798
    functionName: event_changelist_remove_all_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - event_change_get_fdinfo
    - EVUTIL_ASSERT
    - event_changelist_check
    linkageType: ''
    returnType: void
    signature: "void event_changelist_remove_all_(struct event_changelist *changelist,\n
      \   struct event_base *base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evmap.c:804,1
    - Dst: event_changelist_init_
      Src: /src/libevent/evmap.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - changelist
    argTypes:
    - struct event_changelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 806
    functionName: event_changelist_freemem_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - event_changelist_init_
    - mm_free
    linkageType: ''
    returnType: void
    signature: void event_changelist_freemem_(struct event_changelist *changelist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_realloc
      Src: /src/libevent/evmap.c:819,1
    - Dst: EVUTIL_UNLIKELY
      Src: /src/libevent/evmap.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - changelist
    argTypes:
    - struct event_changelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 829
    functionName: event_changelist_grow
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - EVUTIL_UNLIKELY
    linkageType: ''
    returnType: int
    signature: int event_changelist_grow(struct event_changelist *changelist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:845,1
    - Dst: event_changelist_grow
      Src: /src/libevent/evmap.c:848,1
    - Dst: memset
      Src: /src/libevent/evmap.c:856,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - changelist
    - fd
    - old_events
    - fdinfo
    argTypes:
    - struct event_changelist*
    - evutil_socket_t
    - short
    - struct event_changelist_fdinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 835
    functionDepth: 2
    functionLinenumber: 835
    functionLinenumberEnd: 864
    functionName: event_changelist_get_or_construct
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - memset
    - event_changelist_grow
    linkageType: ''
    returnType: struct event_change
    signature: "struct event_change *\nevent_changelist_get_or_construct(struct event_changelist
      *changelist,\n    evutil_socket_t fd,\n    short old_events,\n    struct event_changelist_fdinfo
      *fdinfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: event_changelist_check
      Src: /src/libevent/evmap.c:875,1
    - Dst: event_changelist_get_or_construct
      Src: /src/libevent/evmap.c:877,1
    - Dst: event_changelist_check
      Src: /src/libevent/evmap.c:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 866
    functionDepth: 3
    functionLinenumber: 866
    functionLinenumberEnd: 894
    functionName: event_changelist_add_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - event_changelist_get_or_construct
    - event_changelist_check
    linkageType: ''
    returnType: int
    signature: "int event_changelist_add_(struct event_base *base, evutil_socket_t
      fd, short old, short events,\n    void *p)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_changelist_check
      Src: /src/libevent/evmap.c:905,1
    - Dst: event_changelist_get_or_construct
      Src: /src/libevent/evmap.c:906,1
    - Dst: event_changelist_check
      Src: /src/libevent/evmap.c:907,1
    - Dst: event_changelist_check
      Src: /src/libevent/evmap.c:945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 947
    functionName: event_changelist_del_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - event_changelist_get_or_construct
    - event_changelist_check
    linkageType: ''
    returnType: int
    signature: "int event_changelist_del_(struct event_base *base, evutil_socket_t
      fd, short old, short events,\n    void *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT_LIST_OK
      Src: /src/libevent/evmap.c:961,1
    - Dst: LIST_FOREACH
      Src: /src/libevent/evmap.c:963,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:964,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:965,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:966,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:967,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:976,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:977,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - base
    - fd
    - io_info
    - arg
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - struct evmap_io*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 981
    functionName: evmap_io_check_integrity_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT_LIST_OK
    - EVUTIL_ASSERT
    - LIST_FOREACH
    linkageType: ''
    returnType: int
    signature: "int evmap_io_check_integrity_fn(struct event_base *base, evutil_socket_t
      fd,\n    struct evmap_io *io_info, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT_LIST_OK
      Src: /src/libevent/evmap.c:991,1
    - Dst: LIST_FOREACH
      Src: /src/libevent/evmap.c:993,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:994,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:995,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:996,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evmap.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - base
    - signum
    - sig_info
    - arg
    argTypes:
    - struct event_base*
    - int
    - struct evmap_signal*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 1000
    functionName: evmap_signal_check_integrity_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT_LIST_OK
    - EVUTIL_ASSERT
    - LIST_FOREACH
    linkageType: ''
    returnType: int
    signature: "int evmap_signal_check_integrity_fn(struct event_base *base,\n    int
      signum, struct evmap_signal *sig_info, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evmap_io_foreach_fd
      Src: /src/libevent/evmap.c:1005,1
    - Dst: evmap_signal_foreach_signal
      Src: /src/libevent/evmap.c:1006,1
    - Dst: event_changelist_assert_ok
      Src: /src/libevent/evmap.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1002
    functionDepth: 3
    functionLinenumber: 1002
    functionLinenumberEnd: 1010
    functionName: evmap_check_integrity_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - evmap_io_foreach_fd
    - evmap_signal_foreach_signal
    - event_changelist_assert_ok
    linkageType: ''
    returnType: void
    signature: void evmap_check_integrity_(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FOREACH
      Src: /src/libevent/evmap.c:1028,1
    - Dst: struct evmap_foreach_event_helper*::fn
      Src: /src/libevent/evmap.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - base
    - fd
    - io_info
    - arg
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - struct evmap_io*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1033
    functionName: evmap_io_foreach_event_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - struct evmap_foreach_event_helper*::fn
    - LIST_FOREACH
    linkageType: ''
    returnType: int
    signature: "int evmap_io_foreach_event_fn(struct event_base *base, evutil_socket_t
      fd,\n    struct evmap_io *io_info, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FOREACH
      Src: /src/libevent/evmap.c:1044,1
    - Dst: struct evmap_foreach_event_helper*::fn
      Src: /src/libevent/evmap.c:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - base
    - signum
    - sig_info
    - arg
    argTypes:
    - struct event_base*
    - int
    - struct evmap_signal*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1049
    functionName: evmap_signal_foreach_event_fn
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - struct evmap_foreach_event_helper*::fn
    - LIST_FOREACH
    linkageType: ''
    returnType: int
    signature: "int evmap_signal_foreach_event_fn(struct event_base *base, int signum,\n
      \   struct evmap_signal *sig_info, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evmap_io_foreach_fd
      Src: /src/libevent/evmap.c:1059,1
    - Dst: evmap_signal_foreach_signal
      Src: /src/libevent/evmap.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - base
    - fn
    - arg
    argTypes:
    - struct event_base*
    - event_base_foreach_event_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1062
    functionName: evmap_foreach_event_
    functionSourceFile: /src/libevent/evmap.c
    functionUses: 0
    functionsReached:
    - evmap_io_foreach_fd
    - evmap_signal_foreach_signal
    linkageType: ''
    returnType: int
    signature: "int evmap_foreach_event_(struct event_base *base,\n    event_base_foreach_event_cb
      fn, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: sigfd_init_
    functionSourceFile: /src/libevent/evsignal-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigfd_init_(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: EV_CHECK_FMT
    functionSourceFile: /src/libevent/log-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_CHECK_FMT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: event_debug_get_logging_mask_
    functionSourceFile: /src/libevent/log-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: event_debug_get_logging_mask_()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: event_debug_get_logging_mask_
    functionSourceFile: /src/libevent/log-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: event_debug_get_logging_mask_()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: event_debug
    functionSourceFile: /src/libevent/log-internal.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: event_debug(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: event_debug
    functionSourceFile: /src/libevent/log-internal.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: event_debug(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/ws.c:97,1
    - Dst: bufferevent_free
      Src: /src/libevent/ws.c:102,1
    - Dst: evbuffer_free
      Src: /src/libevent/ws.c:105,1
    - Dst: mm_free
      Src: /src/libevent/ws.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - evws
    argTypes:
    - struct evws_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 109
    functionName: evws_connection_free
    functionSourceFile: /src/libevent/ws.c
    functionUses: 1
    functionsReached:
    - bufferevent_free
    - TAILQ_REMOVE
    - mm_free
    - evbuffer_free
    linkageType: ''
    returnType: void
    signature: void evws_connection_free(struct evws_connection *evws)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - encoded
    - string
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 144
    functionName: Base64encode
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Base64encode(char *encoded, const char *string, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libevent/ws.c:152,1
    - Dst: builtin_SHA1
      Src: /src/libevent/ws.c:154,1
    - Dst: strlen
      Src: /src/libevent/ws.c:154,1
    - Dst: Base64encode
      Src: /src/libevent/ws.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ws_key
    - out
    argTypes:
    - char*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: ws_gen_accept_key
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - Base64encode
    - builtin_SHA1
    linkageType: ''
    returnType: char
    signature: 'char *

      ws_gen_accept_key(const char *ws_key, char out[32])'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/ws.c:162,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/ws.c:162,1
    - Dst: evws_connection_free
      Src: /src/libevent/ws.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: close_after_write_cb
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - evws_connection_free
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void close_after_write_cb(struct bufferevent *bev, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evws_connection_free
      Src: /src/libevent/ws.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: close_event_cb
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - evws_connection_free
    linkageType: ''
    returnType: void
    signature: void close_event_cb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/libevent/ws.c:185,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/ws.c:186,1
    - Dst: evbuffer_add
      Src: /src/libevent/ws.c:187,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/ws.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - evws
    - reason
    argTypes:
    - struct evws_connection*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: evws_close
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - evbuffer_add
    - bufferevent_setcb
    - htons
    linkageType: ''
    returnType: void
    signature: void evws_close(struct evws_connection *evws, uint16_t reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evws_close
      Src: /src/libevent/ws.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evws
    argTypes:
    - struct evws_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: evws_force_disconnect_
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - evws_close
    linkageType: ''
    returnType: void
    signature: void evws_force_disconnect_(struct evws_connection *evws)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/ws.c:232,1
    - Dst: ntohs
      Src: /src/libevent/ws.c:233,1
    - Dst: event_warn
      Src: /src/libevent/ws.c:248,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - in_buffer
    - buf_len
    - payload_ptr
    - out_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 291
    functionName: get_ws_frame
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ntohs
    - event_warn
    linkageType: ''
    returnType: enum WebSocketFrameType
    signature: "enum WebSocketFrameType get_ws_frame(unsigned char *in_buffer, size_t
      buf_len,\n\tunsigned char **payload_ptr, size_t *out_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/ws.c:301,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/ws.c:303,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/ws.c:304,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/ws.c:305,1
    - Dst: get_ws_frame
      Src: /src/libevent/ws.c:310,1
    - Dst: evbuffer_drain
      Src: /src/libevent/ws.c:316,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/ws.c:317,1
    - Dst: evbuffer_add
      Src: /src/libevent/ws.c:325,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/ws.c:327,1
    - Dst: struct evws_connection*::cb
      Src: /src/libevent/ws.c:329,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/ws.c:330,1
    - Dst: evbuffer_free
      Src: /src/libevent/ws.c:331,1
    - Dst: struct evws_connection*::cb
      Src: /src/libevent/ws.c:334,1
    - Dst: evbuffer_new
      Src: /src/libevent/ws.c:341,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/ws.c:343,1
    - Dst: evws_force_disconnect_
      Src: /src/libevent/ws.c:347,1
    - Dst: event_warn
      Src: /src/libevent/ws.c:354,1
    - Dst: evws_force_disconnect_
      Src: /src/libevent/ws.c:355,1
    - Dst: evbuffer_drain
      Src: /src/libevent/ws.c:357,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/ws.c:361,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - bufev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 362
    functionName: ws_evhttp_read_cb
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - struct evws_connection*::cb
    - evbuffer_drain
    - evbuffer_get_length
    - event_warn
    - evbuffer_pullup
    - evbuffer_free
    - get_ws_frame
    - evbuffer_remove_buffer
    - bufferevent_decref_and_unlock_
    - evbuffer_new
    - evws_force_disconnect_
    - evbuffer_add
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void ws_evhttp_read_cb(struct bufferevent *bufev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close_after_write_cb
      Src: /src/libevent/ws.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bufev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: ws_evhttp_error_cb
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - close_after_write_cb
    linkageType: ''
    returnType: void
    signature: void ws_evhttp_error_cb(struct bufferevent *bufev, short what, void
      *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/ws.c:383,1
    - Dst: evhttp_find_header
      Src: /src/libevent/ws.c:384,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/ws.c:385,1
    - Dst: evhttp_find_header
      Src: /src/libevent/ws.c:388,1
    - Dst: evutil_ascii_strcasestr
      Src: /src/libevent/ws.c:389,1
    - Dst: evhttp_find_header
      Src: /src/libevent/ws.c:392,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/ws.c:396,1
    - Dst: evhttp_add_header
      Src: /src/libevent/ws.c:397,1
    - Dst: evhttp_add_header
      Src: /src/libevent/ws.c:398,1
    - Dst: evhttp_add_header
      Src: /src/libevent/ws.c:400,1
    - Dst: ws_gen_accept_key
      Src: /src/libevent/ws.c:401,1
    - Dst: evhttp_find_header
      Src: /src/libevent/ws.c:403,1
    - Dst: evhttp_add_header
      Src: /src/libevent/ws.c:405,1
    - Dst: mm_calloc
      Src: /src/libevent/ws.c:407,1
    - Dst: event_warn
      Src: /src/libevent/ws.c:408,1
    - Dst: evhttp_request_get_connection
      Src: /src/libevent/ws.c:415,1
    - Dst: evhttp_start_ws_
      Src: /src/libevent/ws.c:418,1
    - Dst: bufferevent_enable_locking_
      Src: /src/libevent/ws.c:424,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/ws.c:428,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/ws.c:431,1
    - Dst: evws_connection_free
      Src: /src/libevent/ws.c:438,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/ws.c:440,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - req
    - cb
    - arg
    - options
    argTypes:
    - struct evhttp_request*
    - ws_on_msg_cb
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 373
    functionDepth: 6
    functionLinenumber: 373
    functionLinenumberEnd: 442
    functionName: evws_new_session
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - TAILQ_INSERT_TAIL
    - event_warn
    - evhttp_start_ws_
    - evhttp_request_get_input_headers
    - ws_gen_accept_key
    - evws_connection_free
    - mm_calloc
    - bufferevent_setcb
    - evhttp_send_reply
    - evhttp_request_get_connection
    - bufferevent_enable_locking_
    - evutil_ascii_strcasestr
    - evhttp_find_header
    - evhttp_request_get_output_headers
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: struct evws_connection
    signature: "struct evws_connection *\nevws_new_session(\n\tstruct evhttp_request
      *req, ws_on_msg_cb cb, void *arg, int options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_add
      Src: /src/libevent/ws.c:467,1
    - Dst: evbuffer_add
      Src: /src/libevent/ws.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - output
    - frame_type
    - msg
    - len
    argTypes:
    - struct evbuffer*
    - enum WebSocketFrameType
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: make_ws_frame
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: "void make_ws_frame(struct evbuffer *output, enum WebSocketFrameType
      frame_type,\n\tunsigned char *msg, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_lock
      Src: /src/libevent/ws.c:477,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/ws.c:478,1
    - Dst: make_ws_frame
      Src: /src/libevent/ws.c:479,1
    - Dst: bufferevent_unlock
      Src: /src/libevent/ws.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - evws
    - frame_type
    - packet_str
    - str_len
    argTypes:
    - struct evws_connection*
    - enum WebSocketFrameType
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: evws_send
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - make_ws_frame
    - bufferevent_lock
    - bufferevent_unlock
    linkageType: ''
    returnType: void
    signature: "void evws_send(struct evws_connection *evws, enum WebSocketFrameType
      frame_type,\n\tconst char *packet_str, size_t str_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evws_send
      Src: /src/libevent/ws.c:486,1
    - Dst: strlen
      Src: /src/libevent/ws.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evws
    - packet_str
    argTypes:
    - struct evws_connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: evws_send_text
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - strlen
    - evws_send
    linkageType: ''
    returnType: void
    signature: void evws_send_text(struct evws_connection *evws, const char *packet_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evws_send
      Src: /src/libevent/ws.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - evws
    - packet_data
    - packet_len
    argTypes:
    - struct evws_connection*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 3
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: evws_send_binary
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached:
    - evws_send
    linkageType: ''
    returnType: void
    signature: "void evws_send_binary(\n\tstruct evws_connection *evws, const char
      *packet_data, size_t packet_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - evws
    - cb
    - cbarg
    argTypes:
    - struct evws_connection*
    - ws_on_close_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: evws_connection_set_closecb
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evws_connection_set_closecb(\n\tstruct evws_connection *evws,
      ws_on_close_cb cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evws
    argTypes:
    - struct evws_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: evws_connection_get_bufferevent
    functionSourceFile: /src/libevent/ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct bufferevent
    signature: 'struct bufferevent *

      evws_connection_get_bufferevent(struct evws_connection *evws)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - listener
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: LOCK
    functionSourceFile: /src/libevent/listener.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK(listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - listener
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: UNLOCK
    functionSourceFile: /src/libevent/listener.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK(listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: listener_incref_and_lock
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void listener_incref_and_lock(struct evconnlistener *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct evconnlistener*::ops::destroy
      Src: /src/libevent/listener.c:140,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:141,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/listener.c:142,1
    - Dst: mm_free
      Src: /src/libevent/listener.c:143,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: listener_decref_and_unlock
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - UNLOCK
    - EVTHREAD_FREE_LOCK
    - mm_free
    - struct evconnlistener*::ops::destroy
    linkageType: ''
    returnType: int
    signature: int listener_decref_and_unlock(struct evconnlistener *listener)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: event_base_get_iocp_
      Src: /src/libevent/listener.c:170,1
    - Dst: event_get_win32_extension_fns_
      Src: /src/libevent/listener.c:172,1
    - Dst: evconnlistener_new_async
      Src: /src/libevent/listener.c:174,1
    - Dst: listen
      Src: /src/libevent/listener.c:180,1
    - Dst: listen
      Src: /src/libevent/listener.c:183,1
    - Dst: mm_calloc
      Src: /src/libevent/listener.c:187,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/listener.c:204,1
    - Dst: event_assign
      Src: /src/libevent/listener.c:207,1
    - Dst: evconnlistener_enable
      Src: /src/libevent/listener.c:211,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 6
    argNames:
    - base
    - cb
    - ptr
    - flags
    - backlog
    - fd
    argTypes:
    - struct event_base*
    - evconnlistener_cb
    - void*
    - unsigned
    - int
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 214
    functionName: evconnlistener_new
    functionSourceFile: /src/libevent/listener.c
    functionUses: 1
    functionsReached:
    - event_get_win32_extension_fns_
    - listen
    - evconnlistener_enable
    - mm_calloc
    - event_base_get_iocp_
    - evconnlistener_new_async
    - event_assign
    - EVTHREAD_ALLOC_LOCK
    linkageType: ''
    returnType: struct evconnlistener
    signature: "struct evconnlistener *\nevconnlistener_new(struct event_base *base,\n
      \   evconnlistener_cb cb, void *ptr, unsigned flags, int backlog,\n    evutil_socket_t
      fd)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: evutil_socket_
      Src: /src/libevent/listener.c:232,1
    - Dst: evutil_set_tcp_keepalive
      Src: /src/libevent/listener.c:242,1
    - Dst: evutil_closesocket
      Src: /src/libevent/listener.c:254,1
    - Dst: evutil_make_listen_socket_reuseable
      Src: /src/libevent/listener.c:257,1
    - Dst: evutil_closesocket
      Src: /src/libevent/listener.c:269,1
    - Dst: evutil_make_listen_socket_reuseable_port
      Src: /src/libevent/listener.c:272,1
    - Dst: evutil_make_tcp_listen_socket_deferred
      Src: /src/libevent/listener.c:277,1
    - Dst: evutil_make_listen_socket_ipv6only
      Src: /src/libevent/listener.c:282,1
    - Dst: evutil_make_listen_socket_not_ipv6only
      Src: /src/libevent/listener.c:287,1
    - Dst: bind
      Src: /src/libevent/listener.c:292,1
    - Dst: evconnlistener_new
      Src: /src/libevent/listener.c:296,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/listener.c:303,1
    - Dst: evutil_closesocket
      Src: /src/libevent/listener.c:304,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/listener.c:306,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 7
    argNames:
    - base
    - cb
    - ptr
    - flags
    - backlog
    - sa
    - socklen
    argTypes:
    - struct event_base*
    - evconnlistener_cb
    - void*
    - unsigned
    - int
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 309
    functionName: evconnlistener_new_bind
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - evutil_make_listen_socket_not_ipv6only
    - bind
    - evconnlistener_new
    - evutil_make_listen_socket_reuseable
    - EVUTIL_SET_SOCKET_ERROR
    - evutil_set_tcp_keepalive
    - EVUTIL_SOCKET_ERROR
    - evutil_make_tcp_listen_socket_deferred
    - evutil_make_listen_socket_reuseable_port
    - evutil_make_listen_socket_ipv6only
    - evutil_closesocket
    - evutil_socket_
    linkageType: ''
    returnType: struct evconnlistener
    signature: "struct evconnlistener *\nevconnlistener_new_bind(struct event_base
      *base, evconnlistener_cb cb,\n    void *ptr, unsigned flags, int backlog, const
      struct sockaddr *sa,\n    int socklen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:314,1
    - Dst: struct evconnlistener*::ops::shutdown
      Src: /src/libevent/listener.c:318,1
    - Dst: listener_decref_and_unlock
      Src: /src/libevent/listener.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: evconnlistener_free
    functionSourceFile: /src/libevent/listener.c
    functionUses: 3
    functionsReached:
    - LOCK
    - listener_decref_and_unlock
    - struct evconnlistener*::ops::shutdown
    linkageType: ''
    returnType: void
    signature: void evconnlistener_free(struct evconnlistener *lev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:326,1
    - Dst: event_del
      Src: /src/libevent/listener.c:328,1
    - Dst: evutil_closesocket
      Src: /src/libevent/listener.c:330,1
    - Dst: event_get_fd
      Src: /src/libevent/listener.c:330,1
    - Dst: event_debug_unassign
      Src: /src/libevent/listener.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: event_listener_destroy
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_del
    - evutil_closesocket
    - event_get_fd
    - event_debug_unassign
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: void
    signature: void event_listener_destroy(struct evconnlistener *lev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:338,1
    - Dst: struct evconnlistener*::ops::enable
      Src: /src/libevent/listener.c:341,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: evconnlistener_enable
    functionSourceFile: /src/libevent/listener.c
    functionUses: 1
    functionsReached:
    - UNLOCK
    - LOCK
    - struct evconnlistener*::ops::enable
    linkageType: ''
    returnType: int
    signature: int evconnlistener_enable(struct evconnlistener *lev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:352,1
    - Dst: struct evconnlistener*::ops::disable
      Src: /src/libevent/listener.c:354,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 357
    functionName: evconnlistener_disable
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - struct evconnlistener*::ops::disable
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: int
    signature: int evconnlistener_disable(struct evconnlistener *lev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:363,1
    - Dst: event_add
      Src: /src/libevent/listener.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: event_listener_enable
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_add
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: int
    signature: int event_listener_enable(struct evconnlistener *lev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:371,1
    - Dst: event_del
      Src: /src/libevent/listener.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: event_listener_disable
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_del
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: int
    signature: int event_listener_disable(struct evconnlistener *lev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:379,1
    - Dst: struct evconnlistener*::ops::getfd
      Src: /src/libevent/listener.c:380,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: evconnlistener_get_fd
    functionSourceFile: /src/libevent/listener.c
    functionUses: 1
    functionsReached:
    - UNLOCK
    - LOCK
    - struct evconnlistener*::ops::getfd
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t evconnlistener_get_fd(struct evconnlistener *lev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:389,1
    - Dst: event_get_fd
      Src: /src/libevent/listener.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: event_listener_getfd
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_get_fd
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t event_listener_getfd(struct evconnlistener *lev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:397,1
    - Dst: struct evconnlistener*::ops::getbase
      Src: /src/libevent/listener.c:398,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: evconnlistener_get_base
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - struct evconnlistener*::ops::getbase
    - LOCK
    - UNLOCK
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      evconnlistener_get_base(struct evconnlistener *lev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:407,1
    - Dst: event_get_base
      Src: /src/libevent/listener.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: event_listener_getbase
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_get_base
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      event_listener_getbase(struct evconnlistener *lev)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:416,1
    - Dst: evconnlistener_enable
      Src: /src/libevent/listener.c:422,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - lev
    - cb
    - arg
    argTypes:
    - struct evconnlistener*
    - evconnlistener_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 424
    functionName: evconnlistener_set_cb
    functionSourceFile: /src/libevent/listener.c
    functionUses: 1
    functionsReached:
    - UNLOCK
    - LOCK
    - evconnlistener_enable
    linkageType: ''
    returnType: void
    signature: "void evconnlistener_set_cb(struct evconnlistener *lev,\n    evconnlistener_cb
      cb, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:430,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lev
    - errorcb
    argTypes:
    - struct evconnlistener*
    - evconnlistener_errorcb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: evconnlistener_set_error_cb
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: void
    signature: "void evconnlistener_set_error_cb(struct evconnlistener *lev,\n    evconnlistener_errorcb
      errorcb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/libevent/listener.c:443,1
    - Dst: evutil_accept4_
      Src: /src/libevent/listener.c:447,1
    - Dst: evutil_closesocket
      Src: /src/libevent/listener.c:453,1
    - Dst: evutil_closesocket
      Src: /src/libevent/listener.c:458,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:459,1
    - Dst: cb
      Src: /src/libevent/listener.c:465,1
    - Dst: listener_decref_and_unlock
      Src: /src/libevent/listener.c:468,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/listener.c:469,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:475,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/listener.c:479,1
    - Dst: EVUTIL_ERR_ACCEPT_RETRIABLE
      Src: /src/libevent/listener.c:480,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:481,1
    - Dst: errorcb
      Src: /src/libevent/listener.c:488,1
    - Dst: listener_decref_and_unlock
      Src: /src/libevent/listener.c:489,1
    - Dst: event_sock_warn
      Src: /src/libevent/listener.c:491,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:492,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - fd
    - what
    - p
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 494
    functionName: listener_read_cb
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - evutil_accept4_
    - event_sock_warn
    - EVUTIL_ERR_ACCEPT_RETRIABLE
    - LOCK
    - EVUTIL_ASSERT
    - evutil_socket_geterror
    - cb
    - errorcb
    - UNLOCK
    - evutil_closesocket
    - listener_decref_and_unlock
    linkageType: ''
    returnType: void
    signature: void listener_read_cb(evutil_socket_t fd, short what, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_add_virtual_
      Src: /src/libevent/listener.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener_iocp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: iocp_listener_event_add
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_base_add_virtual_
    linkageType: ''
    returnType: void
    signature: void iocp_listener_event_add(struct evconnlistener_iocp *lev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_del_virtual_
      Src: /src/libevent/listener.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener_iocp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 532
    functionName: iocp_listener_event_del
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_base_del_virtual_
    linkageType: ''
    returnType: void
    signature: void iocp_listener_event_del(struct evconnlistener_iocp *lev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evutil_check_working_afunix_
      Src: /src/libevent/listener.c:546,1
    - Dst: mm_calloc
      Src: /src/libevent/listener.c:553,1
    - Dst: event_overlapped_init_
      Src: /src/libevent/listener.c:557,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/listener.c:563,1
    - Dst: event_base_get_npriorities
      Src: /src/libevent/listener.c:564,1
    - Dst: InitializeCriticalSectionAndSpinCount
      Src: /src/libevent/listener.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - lev
    - family
    argTypes:
    - struct evconnlistener_iocp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 570
    functionName: new_accepting_socket
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_base_get_npriorities
    - mm_calloc
    - evutil_check_working_afunix_
    - event_overlapped_init_
    - event_deferred_cb_init_
    - InitializeCriticalSectionAndSpinCount
    linkageType: ''
    returnType: struct accepting_socket
    signature: 'struct accepting_socket *

      new_accepting_socket(struct evconnlistener_iocp *lev, int family)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/libevent/listener.c:577,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/listener.c:579,1
    - Dst: DeleteCriticalSection
      Src: /src/libevent/listener.c:580,1
    - Dst: mm_free
      Src: /src/libevent/listener.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct accepting_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 582
    functionName: free_and_unlock_accepting_socket
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    - DeleteCriticalSection
    - mm_free
    - closesocket
    linkageType: ''
    returnType: void
    signature: void free_and_unlock_accepting_socket(struct accepting_socket *as)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_get_win32_extension_fns_
      Src: /src/libevent/listener.c:588,1
    - Dst: socket
      Src: /src/libevent/listener.c:590,1
    - Dst: WSAGetLastError
      Src: /src/libevent/listener.c:597,1
    - Dst: setsockopt
      Src: /src/libevent/listener.c:603,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/listener.c:607,1
    - Dst: event_iocp_port_associate_
      Src: /src/libevent/listener.c:609,1
    - Dst: closesocket
      Src: /src/libevent/listener.c:610,1
    - Dst: struct win32_extension_fns*::AcceptEx
      Src: /src/libevent/listener.c:616,1
    - Dst: accepted_socket_cb
      Src: /src/libevent/listener.c:620,1
    - Dst: WSAGetLastError
      Src: /src/libevent/listener.c:622,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/listener.c:632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct accepting_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 636
    functionName: start_accepting
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_get_win32_extension_fns_
    - event_deferred_cb_schedule_
    - setsockopt
    - socket
    - accepted_socket_cb
    - closesocket
    - struct win32_extension_fns*::AcceptEx
    - evutil_make_socket_nonblocking
    - WSAGetLastError
    - event_iocp_port_associate_
    linkageType: ''
    returnType: int
    signature: int start_accepting(struct accepting_socket *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/libevent/listener.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - as
    argTypes:
    - struct accepting_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: stop_accepting
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - closesocket
    linkageType: ''
    returnType: void
    signature: void stop_accepting(struct accepting_socket *as)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: event_get_win32_extension_fns_
      Src: /src/libevent/listener.c:654,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/listener.c:662,1
    - Dst: LOCK
      Src: /src/libevent/listener.c:664,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/listener.c:665,1
    - Dst: free_and_unlock_accepting_socket
      Src: /src/libevent/listener.c:667,1
    - Dst: listener_decref_and_unlock
      Src: /src/libevent/listener.c:668,1
    - Dst: struct win32_extension_fns*::GetAcceptExSockaddrs
      Src: /src/libevent/listener.c:679,1
    - Dst: setsockopt
      Src: /src/libevent/listener.c:690,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/listener.c:695,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:696,1
    - Dst: WSASetLastError
      Src: /src/libevent/listener.c:699,1
    - Dst: errorcb
      Src: /src/libevent/listener.c:700,1
    - Dst: cb
      Src: /src/libevent/listener.c:702,1
    - Dst: LOCK
      Src: /src/libevent/listener.c:705,1
    - Dst: listener_decref_and_unlock
      Src: /src/libevent/listener.c:706,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/listener.c:709,1
    - Dst: start_accepting
      Src: /src/libevent/listener.c:710,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/listener.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - dcb
    - arg
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 712
    functionName: accepted_socket_invoke_user_cb
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - event_get_win32_extension_fns_
    - struct win32_extension_fns*::GetAcceptExSockaddrs
    - WSASetLastError
    - EnterCriticalSection
    - setsockopt
    - EVUTIL_ASSERT
    - LOCK
    - start_accepting
    - LeaveCriticalSection
    - cb
    - free_and_unlock_accepting_socket
    - errorcb
    - UNLOCK
    - listener_decref_and_unlock
    linkageType: ''
    returnType: void
    signature: void accepted_socket_invoke_user_cb(struct event_callback *dcb, void
      *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:718,1
    - Dst: LOCK
      Src: /src/libevent/listener.c:720,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/listener.c:721,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/listener.c:724,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/listener.c:727,1
    - Dst: free_and_unlock_accepting_socket
      Src: /src/libevent/listener.c:730,1
    - Dst: listener_decref_and_unlock
      Src: /src/libevent/listener.c:731,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/listener.c:735,1
    - Dst: event_sock_warn
      Src: /src/libevent/listener.c:740,1
    - Dst: WSAGetOverlappedResult
      Src: /src/libevent/listener.c:741,1
    - Dst: WSAGetLastError
      Src: /src/libevent/listener.c:747,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/listener.c:749,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/listener.c:752,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - o
    - key
    - n
    - ok
    argTypes:
    - struct event_overlapped*
    - ev_uintptr_t
    - ev_ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 755
    functionName: accepted_socket_cb
    functionSourceFile: /src/libevent/listener.c
    functionUses: 1
    functionsReached:
    - event_deferred_cb_schedule_
    - EnterCriticalSection
    - event_sock_warn
    - WSAGetOverlappedResult
    - LOCK
    - LeaveCriticalSection
    - free_and_unlock_accepting_socket
    - UNLOCK
    - WSAGetLastError
    - listener_decref_and_unlock
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: void
    signature: void accepted_socket_cb(struct event_overlapped *o, ev_uintptr_t key,
      ev_ssize_t n, int ok)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:762,1
    - Dst: LOCK
      Src: /src/libevent/listener.c:764,1
    - Dst: iocp_listener_event_add
      Src: /src/libevent/listener.c:765,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/listener.c:770,1
    - Dst: start_accepting
      Src: /src/libevent/listener.c:772,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/listener.c:773,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 777
    functionName: iocp_listener_enable
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - LOCK
    - start_accepting
    - LeaveCriticalSection
    - iocp_listener_event_add
    - UNLOCK
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: int
    signature: int iocp_listener_enable(struct evconnlistener *lev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:784,1
    - Dst: LOCK
      Src: /src/libevent/listener.c:786,1
    - Dst: iocp_listener_event_del
      Src: /src/libevent/listener.c:787,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/listener.c:792,1
    - Dst: stop_accepting
      Src: /src/libevent/listener.c:796,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/listener.c:798,1
    - Dst: evutil_closesocket
      Src: /src/libevent/listener.c:802,1
    - Dst: UNLOCK
      Src: /src/libevent/listener.c:804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - lev
    - shutdown
    argTypes:
    - struct evconnlistener*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 806
    functionName: iocp_listener_disable_impl
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - LOCK
    - stop_accepting
    - LeaveCriticalSection
    - iocp_listener_event_del
    - UNLOCK
    - evutil_closesocket
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: int
    signature: int iocp_listener_disable_impl(struct evconnlistener *lev, int shutdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iocp_listener_disable_impl
      Src: /src/libevent/listener.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: iocp_listener_disable
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - iocp_listener_disable_impl
    linkageType: ''
    returnType: int
    signature: int iocp_listener_disable(struct evconnlistener *lev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:818,1
    - Dst: iocp_listener_disable_impl
      Src: /src/libevent/listener.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 825
    functionName: iocp_listener_destroy
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - iocp_listener_disable_impl
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: void
    signature: void iocp_listener_destroy(struct evconnlistener *lev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 833
    functionName: iocp_listener_getfd
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t iocp_listener_getfd(struct evconnlistener *lev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/listener.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lev
    argTypes:
    - struct evconnlistener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 840
    functionName: iocp_listener_getbase
    functionSourceFile: /src/libevent/listener.c
    functionUses: 0
    functionsReached:
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      iocp_listener_getbase(struct evconnlistener *lev)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: event_base_get_iocp_
      Src: /src/libevent/listener.c:866,1
    - Dst: listen
      Src: /src/libevent/listener.c:871,1
    - Dst: listen
      Src: /src/libevent/listener.c:874,1
    - Dst: getsockname
      Src: /src/libevent/listener.c:877,1
    - Dst: event_sock_warn
      Src: /src/libevent/listener.c:878,1
    - Dst: mm_calloc
      Src: /src/libevent/listener.c:881,1
    - Dst: event_warn
      Src: /src/libevent/listener.c:883,1
    - Dst: event_base_get_iocp_
      Src: /src/libevent/listener.c:893,1
    - Dst: event_iocp_port_associate_
      Src: /src/libevent/listener.c:898,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/listener.c:901,1
    - Dst: mm_calloc
      Src: /src/libevent/listener.c:904,1
    - Dst: event_warn
      Src: /src/libevent/listener.c:907,1
    - Dst: new_accepting_socket
      Src: /src/libevent/listener.c:911,1
    - Dst: event_warnx
      Src: /src/libevent/listener.c:913,1
    - Dst: start_accepting
      Src: /src/libevent/listener.c:916,1
    - Dst: event_warnx
      Src: /src/libevent/listener.c:917,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/listener.c:918,1
    - Dst: free_and_unlock_accepting_socket
      Src: /src/libevent/listener.c:919,1
    - Dst: iocp_listener_event_add
      Src: /src/libevent/listener.c:925,1
    - Dst: free_and_unlock_accepting_socket
      Src: /src/libevent/listener.c:932,1
    - Dst: mm_free
      Src: /src/libevent/listener.c:934,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/listener.c:936,1
    - Dst: mm_free
      Src: /src/libevent/listener.c:938,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 6
    argNames:
    - base
    - cb
    - ptr
    - flags
    - backlog
    - fd
    argTypes:
    - struct event_base*
    - evconnlistener_cb
    - void*
    - unsigned
    - int
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 942
    functionName: evconnlistener_new_async
    functionSourceFile: /src/libevent/listener.c
    functionUses: 1
    functionsReached:
    - event_sock_warn
    - EnterCriticalSection
    - EVTHREAD_FREE_LOCK
    - listen
    - event_warn
    - getsockname
    - mm_calloc
    - start_accepting
    - event_base_get_iocp_
    - new_accepting_socket
    - event_warnx
    - free_and_unlock_accepting_socket
    - iocp_listener_event_add
    - mm_free
    - EVTHREAD_ALLOC_LOCK
    - event_iocp_port_associate_
    linkageType: ''
    returnType: struct evconnlistener
    signature: "struct evconnlistener *\nevconnlistener_new_async(struct event_base
      *base,\n    evconnlistener_cb cb, void *ptr, unsigned flags, int backlog,\n
      \   evutil_socket_t fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: MIN
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: MAX
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: ASSERT_VALID_REQUEST
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_VALID_REQUEST(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: EDNS_ENABLED
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EDNS_ENABLED(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: evdns_get_global_base
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evdns_base
    signature: 'struct evdns_base *

      evdns_get_global_base(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: TO_SERVER_REQUEST
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_SERVER_REQUEST(base_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: REQ_HEAD
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_HEAD(base, id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 513
    functionName: EVDNS_LOCK
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVDNS_LOCK(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 514
    functionName: EVDNS_UNLOCK
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVDNS_UNLOCK(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 515
    functionName: ASSERT_LOCKED
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_LOCKED(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: EVDNS_LOCK
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVDNS_LOCK(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: EVDNS_UNLOCK
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVDNS_UNLOCK(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: ASSERT_LOCKED
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_LOCKED(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fn
    argTypes:
    - evdns_debug_log_fn_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: evdns_set_log_fn
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evdns_set_log_fn(evdns_debug_log_fn_type fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/evdns.c:543,1
    - Dst: evutil_vsnprintf
      Src: /src/libevent/evdns.c:547,1
    - Dst: evdns_log_fn
      Src: /src/libevent/evdns.c:548,1
    - Dst: event_logv_
      Src: /src/libevent/evdns.c:550,1
    - Dst: va_end
      Src: /src/libevent/evdns.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - severity
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 553
    functionName: evdns_log_
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - va_end
    - event_logv_
    - evdns_log_fn
    - evutil_vsnprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void evdns_log_(int severity, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evdns.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - bev
    argTypes:
    - struct tcp_connection*
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: init_tcp_connection
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_tcp_connection(struct tcp_connection *conn, struct bufferevent
      *bev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_free
      Src: /src/libevent/evdns.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tcp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 579
    functionName: evdns_tcp_disconnect
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    linkageType: ''
    returnType: void
    signature: void evdns_tcp_disconnect(struct tcp_connection *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:586,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:590,1
    - Dst: init_tcp_connection
      Src: /src/libevent/evdns.c:593,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/libevent/evdns.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - port
    - bev
    argTypes:
    - struct evdns_server_port*
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 603
    functionName: evdns_add_tcp_client
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - mm_calloc
    - init_tcp_connection
    - LIST_INSERT_HEAD
    linkageType: ''
    returnType: struct client_tcp_connection
    signature: 'struct client_tcp_connection *

      evdns_add_tcp_client(struct evdns_server_port *port, struct bufferevent *bev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_tcp_disconnect
      Src: /src/libevent/evdns.c:612,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/evdns.c:613,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - port
    - client
    argTypes:
    - struct evdns_server_port*
    - struct client_tcp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 620
    functionName: evdns_remove_tcp_client
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - LIST_REMOVE
    - mm_free
    - evdns_tcp_disconnect
    linkageType: ''
    returnType: int
    signature: int evdns_remove_tcp_client(struct evdns_server_port *port, struct
      client_tcp_connection *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FIRST
      Src: /src/libevent/evdns.c:627,1
    - Dst: evdns_remove_tcp_client
      Src: /src/libevent/evdns.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - port
    argTypes:
    - struct evdns_server_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 630
    functionName: evdns_remove_all_tcp_clients
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - LIST_FIRST
    - evdns_remove_tcp_client
    linkageType: ''
    returnType: void
    signature: void evdns_remove_all_tcp_clients(struct evdns_server_port *port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:640,1
    - Dst: init_tcp_connection
      Src: /src/libevent/evdns.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 645
    functionName: new_tcp_connection
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - init_tcp_connection
    - mm_calloc
    linkageType: ''
    returnType: struct tcp_connection
    signature: 'struct tcp_connection *

      new_tcp_connection(struct bufferevent *bev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_tcp_disconnect
      Src: /src/libevent/evdns.c:653,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct tcp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: disconnect_and_free_connection
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_free
    - evdns_tcp_disconnect
    linkageType: ''
    returnType: void
    signature: void disconnect_and_free_connection(struct tcp_connection *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:662,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - base
    - trans_id
    argTypes:
    - struct evdns_base*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 675
    functionName: request_find_from_trans_id
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - REQ_HEAD
    linkageType: ''
    returnType: struct request
    signature: 'struct request *

      request_find_from_trans_id(struct evdns_base *base, u16 trans_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:685,1
    - Dst: nameserver_send_probe
      Src: /src/libevent/evdns.c:686,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: nameserver_prod_callback
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - nameserver_send_probe
    linkageType: ''
    returnType: void
    signature: void nameserver_prod_callback(evutil_socket_t fd, short events, void
      *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:698,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:699,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:706,1
    - Dst: evtimer_add
      Src: /src/libevent/evdns.c:723,1
    - Dst: log
      Src: /src/libevent/evdns.c:725,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:727,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 693
    functionDepth: 4
    functionLinenumber: 693
    functionLinenumberEnd: 731
    functionName: nameserver_probe_failed
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - evutil_format_sockaddr_port_
    - memcpy
    - log
    - evtimer_add
    - evtimer_del
    linkageType: ''
    returnType: void
    signature: void nameserver_probe_failed(struct nameserver *const ns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - req
    - ns
    argTypes:
    - struct request*
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: request_swap_ns
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: void request_swap_ns(struct request *req, struct nameserver *ns)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:753,1
    - Dst: log
      Src: /src/libevent/evdns.c:758,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:759,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:765,1
    - Dst: log
      Src: /src/libevent/evdns.c:767,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:774,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evdns.c:784,1
    - Dst: evutil_socket_
      Src: /src/libevent/evdns.c:785,1
    - Dst: evutil_sockaddr_is_loopback_
      Src: /src/libevent/evdns.c:789,1
    - Dst: bind
      Src: /src/libevent/evdns.c:790,1
    - Dst: log
      Src: /src/libevent/evdns.c:793,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:797,1
    - Dst: event_assign
      Src: /src/libevent/evdns.c:798,1
    - Dst: event_add
      Src: /src/libevent/evdns.c:801,1
    - Dst: log
      Src: /src/libevent/evdns.c:802,1
    - Dst: evtimer_add
      Src: /src/libevent/evdns.c:806,1
    - Dst: log
      Src: /src/libevent/evdns.c:808,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:810,1
    - Dst: request_swap_ns
      Src: /src/libevent/evdns.c:831,1
    - Dst: nameserver_pick
      Src: /src/libevent/evdns.c:831,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - ns
    - msg
    - err
    argTypes:
    - struct nameserver*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 746
    functionDepth: 4
    functionLinenumber: 746
    functionLinenumberEnd: 837
    functionName: nameserver_failed
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - bind
    - ASSERT_LOCKED
    - event_del
    - evutil_format_sockaddr_port_
    - log
    - EVUTIL_ASSERT
    - request_swap_ns
    - nameserver_pick
    - event_assign
    - event_add
    - evtimer_add
    - evutil_sockaddr_is_loopback_
    - disconnect_and_free_connection
    - evutil_closesocket
    - evutil_socket_
    linkageType: ''
    returnType: void
    signature: void nameserver_failed(struct nameserver *const ns, const char *msg,
      int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:843,1
    - Dst: log
      Src: /src/libevent/evdns.c:845,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:846,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:849,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 839
    functionDepth: 4
    functionLinenumber: 839
    functionLinenumberEnd: 858
    functionName: nameserver_up
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_cancel_request
    - ASSERT_LOCKED
    - evutil_format_sockaddr_port_
    - log
    - evtimer_del
    linkageType: ''
    returnType: void
    signature: void nameserver_up(struct nameserver *const ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/libevent/evdns.c:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - trans_id
    argTypes:
    - struct request*
    - u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: request_trans_id_set
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: void request_trans_id_set(struct request *const req, const u16 trans_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:874,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:875,1
    - Dst: evdns_request_remove
      Src: /src/libevent/evdns.c:878,1
    - Dst: log
      Src: /src/libevent/evdns.c:880,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:882,1
    - Dst: event_debug_unassign
      Src: /src/libevent/evdns.c:889,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:894,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:895,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:900,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:907,1
    - Dst: search_request_finished
      Src: /src/libevent/evdns.c:910,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:915,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:924,1
    - Dst: evdns_requests_pump_waiting_queue
      Src: /src/libevent/evdns.c:926,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:927,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - req
    - head
    - free_handle
    argTypes:
    - struct request*
    - struct request**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 928
    functionName: request_finished
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - event_debug_unassign
    - event_del
    - log
    - EVUTIL_ASSERT
    - ASSERT_VALID_REQUEST
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - mm_free
    - search_request_finished
    - evtimer_del
    - evdns_request_remove
    - evdns_requests_pump_waiting_queue
    linkageType: ''
    returnType: void
    signature: void request_finished(struct request *const req, struct request **head,
      int free_handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:939,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:940,1
    - Dst: request_swap_ns
      Src: /src/libevent/evdns.c:944,1
    - Dst: nameserver_pick
      Src: /src/libevent/evdns.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 936
    functionDepth: 2
    functionLinenumber: 936
    functionLinenumberEnd: 957
    functionName: request_reissue
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - request_swap_ns
    - ASSERT_VALID_REQUEST
    - ASSERT_LOCKED
    - nameserver_pick
    linkageType: ''
    returnType: int
    signature: int request_reissue(struct request *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:966,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:971,1
    - Dst: nameserver_pick
      Src: /src/libevent/evdns.c:974,1
    - Dst: evdns_request_remove
      Src: /src/libevent/evdns.c:981,1
    - Dst: request_trans_id_set
      Src: /src/libevent/evdns.c:986,1
    - Dst: transaction_id_pick
      Src: /src/libevent/evdns.c:986,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:988,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:988,1
    - Dst: evdns_request_transmit
      Src: /src/libevent/evdns.c:989,1
    - Dst: evdns_transmit
      Src: /src/libevent/evdns.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 992
    functionName: evdns_requests_pump_waiting_queue
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - request_trans_id_set
    - evdns_request_transmit
    - ASSERT_LOCKED
    - EVUTIL_ASSERT
    - nameserver_pick
    - evdns_transmit
    - transaction_id_pick
    - evdns_request_insert
    - evdns_request_remove
    - REQ_HEAD
    linkageType: ''
    returnType: void
    signature: void evdns_requests_pump_waiting_queue(struct evdns_base *base)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/evdns.c:998,1
    - Dst: struct evdns_request*::user_callback
      Src: /src/libevent/evdns.c:1003,1
    - Dst: struct evdns_request*::user_callback
      Src: /src/libevent/evdns.c:1008,1
    - Dst: struct evdns_request*::user_callback
      Src: /src/libevent/evdns.c:1011,1
    - Dst: struct evdns_request*::user_callback
      Src: /src/libevent/evdns.c:1016,1
    - Dst: struct evdns_request*::user_callback
      Src: /src/libevent/evdns.c:1019,1
    - Dst: struct evdns_request*::user_callback
      Src: /src/libevent/evdns.c:1024,1
    - Dst: struct evdns_request*::user_callback
      Src: /src/libevent/evdns.c:1029,1
    - Dst: struct evdns_request*::user_callback
      Src: /src/libevent/evdns.c:1032,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:1035,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:1039,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:1043,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:1046,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - d
    - user_pointer
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1047
    functionName: reply_run_callback
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_free
    - EVUTIL_ASSERT
    - struct evdns_request*::user_callback
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: void
    signature: void reply_run_callback(struct event_callback *d, void *user_pointer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1054,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:1061,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/evdns.c:1068,1
    - Dst: event_get_priority
      Src: /src/libevent/evdns.c:1070,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/evdns.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - req
    - ttl
    - err
    - reply
    argTypes:
    - struct request*
    - u32
    - u32
    - struct reply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1076
    functionName: reply_schedule_callback
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - event_deferred_cb_schedule_
    - ASSERT_LOCKED
    - memcpy
    - event_get_priority
    - event_deferred_cb_init_
    linkageType: ''
    returnType: void
    signature: void reply_schedule_callback(struct request *const req, u32 ttl, u32
      err, struct reply *reply)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: request_clone
      Src: /src/libevent/evdns.c:1083,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1084,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:1087,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:1087,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:1090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - struct evdns_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1092
    functionName: client_retransmit_through_tcp
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - request_finished
    - ASSERT_LOCKED
    - request_submit
    - request_clone
    - REQ_HEAD
    linkageType: ''
    returnType: int
    signature: int client_retransmit_through_tcp(struct evdns_request *handle)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1117,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:1118,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evdns.c:1144,1
    - Dst: evdns_err_to_string
      Src: /src/libevent/evdns.c:1145,1
    - Dst: nameserver_failed
      Src: /src/libevent/evdns.c:1146,1
    - Dst: request_reissue
      Src: /src/libevent/evdns.c:1147,1
    - Dst: log
      Src: /src/libevent/evdns.c:1156,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:1158,1
    - Dst: evdns_request_timeout_callback
      Src: /src/libevent/evdns.c:1162,1
    - Dst: nameserver_up
      Src: /src/libevent/evdns.c:1171,1
    - Dst: log
      Src: /src/libevent/evdns.c:1175,1
    - Dst: client_retransmit_through_tcp
      Src: /src/libevent/evdns.c:1178,1
    - Dst: search_try_next
      Src: /src/libevent/evdns.c:1186,1
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:1197,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:1198,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:1198,1
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:1201,1
    - Dst: nameserver_up
      Src: /src/libevent/evdns.c:1204,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:1205,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:1205,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 4
    argNames:
    - req
    - flags
    - ttl
    - reply
    argTypes:
    - struct request*
    - u16
    - u32
    - struct reply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1107
    functionDepth: 5
    functionLinenumber: 1107
    functionLinenumberEnd: 1207
    functionName: reply_handle
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - request_finished
    - ASSERT_LOCKED
    - nameserver_failed
    - request_reissue
    - evutil_format_sockaddr_port_
    - evdns_request_timeout_callback
    - log
    - client_retransmit_through_tcp
    - ASSERT_VALID_REQUEST
    - reply_schedule_callback
    - search_try_next
    - evdns_err_to_string
    - nameserver_up
    - REQ_HEAD
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void reply_handle(struct request *const req, u16 flags, u32 ttl, struct
      reply *reply)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GET8
      Src: /src/libevent/evdns.c:1229,1
    - Dst: GET8
      Src: /src/libevent/evdns.c:1233,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:1250,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 5
    argNames:
    - packet
    - length
    - idx
    - name_out
    - name_out_len
    argTypes:
    - u8*
    - int
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1263
    functionName: name_parse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memcpy
    - GET8
    linkageType: ''
    returnType: int
    signature: int name_parse(u8 *packet, int length, int *idx, char *name_out, int
      name_out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1215
    functionName: GET32
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1216
    functionName: GET16
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1217
    functionName: GET8
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET8(x)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evdns.c:1282,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1284,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1286,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1287,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1288,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1289,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1290,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1291,1
    - Dst: request_find_from_trans_id
      Src: /src/libevent/evdns.c:1295,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:1297,1
    - Dst: name_parse
      Src: /src/libevent/evdns.c:1325,1
    - Dst: name_parse
      Src: /src/libevent/evdns.c:1327,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:1331,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/evdns.c:1334,1
    - Dst: MAX
      Src: /src/libevent/evdns.c:1350,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:1351,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1361,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1362,1
    - Dst: GET32
      Src: /src/libevent/evdns.c:1363,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1364,1
    - Dst: MIN
      Src: /src/libevent/evdns.c:1375,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:1378,1
    - Dst: name_parse
      Src: /src/libevent/evdns.c:1387,1
    - Dst: MIN
      Src: /src/libevent/evdns.c:1390,1
    - Dst: name_parse
      Src: /src/libevent/evdns.c:1395,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:1399,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:1401,1
    - Dst: MIN
      Src: /src/libevent/evdns.c:1410,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:1414,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1429,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1430,1
    - Dst: GET32
      Src: /src/libevent/evdns.c:1431,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1432,1
    - Dst: GET32
      Src: /src/libevent/evdns.c:1437,1
    - Dst: GET32
      Src: /src/libevent/evdns.c:1438,1
    - Dst: GET32
      Src: /src/libevent/evdns.c:1439,1
    - Dst: GET32
      Src: /src/libevent/evdns.c:1440,1
    - Dst: GET32
      Src: /src/libevent/evdns.c:1441,1
    - Dst: MIN
      Src: /src/libevent/evdns.c:1446,1
    - Dst: MIN
      Src: /src/libevent/evdns.c:1447,1
    - Dst: reply_handle
      Src: /src/libevent/evdns.c:1458,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:1460,1
    - Dst: reply_handle
      Src: /src/libevent/evdns.c:1464,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:1466,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 154
    argCount: 3
    argNames:
    - base
    - packet
    - length
    argTypes:
    - struct evdns_base*
    - u8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1266
    functionDepth: 6
    functionLinenumber: 1266
    functionLinenumberEnd: 1468
    functionName: reply_parse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - memset
    - MAX
    - request_find_from_trans_id
    - MIN
    - EVUTIL_ASSERT
    - GET32
    - memcpy
    - name_parse
    - mm_strdup
    - reply_handle
    - mm_malloc
    - GET16
    - strcmp
    - mm_free
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: int
    signature: int reply_parse(struct evdns_base *base, u8 *packet, int length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1488,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1491,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1492,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1493,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1494,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1495,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1496,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:1501,1
    - Dst: memset
      Src: /src/libevent/evdns.c:1503,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:1507,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:1515,1
    - Dst: name_parse
      Src: /src/libevent/evdns.c:1523,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1525,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1526,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:1527,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:1528,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:1533,1
    - Dst: GET16
      Src: /src/libevent/evdns.c:1541,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 6
    argNames:
    - packet
    - length
    - port
    - addr
    - addrlen
    - client
    argTypes:
    - u8*
    - int
    - struct evdns_server_port*
    - struct sockaddr*
    - ev_socklen_t
    - struct client_tcp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1543
    functionName: request_parse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memset
    - ASSERT_LOCKED
    - memcpy
    - mm_calloc
    - name_parse
    - mm_malloc
    - GET16
    - strlen
    linkageType: ''
    returnType: int
    signature: "int request_parse(u8 *packet, int length, struct evdns_server_port
      *port,\n\t\t\t\tstruct sockaddr *addr, ev_socklen_t addrlen, struct client_tcp_connection
      *client)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1612,1
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/evdns.c:1615,1
    - Dst: request_find_from_trans_id
      Src: /src/libevent/evdns.c:1619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1622
    functionName: transaction_id_pick
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - request_find_from_trans_id
    - ASSERT_LOCKED
    - evutil_secure_rng_get_bytes
    linkageType: ''
    returnType: u16
    signature: u16 transaction_id_pick(struct evdns_base *base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1630,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:1654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1660
    functionName: nameserver_pick
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 3
    functionsReached:
    - EVUTIL_ASSERT
    - ASSERT_LOCKED
    linkageType: ''
    returnType: struct nameserver
    signature: 'struct nameserver *

      nameserver_pick(struct evdns_base *base)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:1669,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1670,1
    - Dst: nameserver_failed
      Src: /src/libevent/evdns.c:1673,1
    - Dst: recvfrom
      Src: /src/libevent/evdns.c:1678,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evdns.c:1682,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/evdns.c:1683,1
    - Dst: nameserver_failed
      Src: /src/libevent/evdns.c:1685,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/evdns.c:1686,1
    - Dst: evutil_sockaddr_cmp
      Src: /src/libevent/evdns.c:1689,1
    - Dst: log
      Src: /src/libevent/evdns.c:1691,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:1693,1
    - Dst: reply_parse
      Src: /src/libevent/evdns.c:1700,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:1703,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1663
    functionDepth: 7
    functionLinenumber: 1663
    functionLinenumberEnd: 1704
    functionName: nameserver_read
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - nameserver_failed
    - ASSERT_LOCKED
    - evutil_format_sockaddr_port_
    - EVUTIL_ERR_RW_RETRIABLE
    - log
    - evutil_socket_geterror
    - reply_parse
    - evutil_sockaddr_cmp
    - mm_malloc
    - mm_free
    - recvfrom
    linkageType: ''
    returnType: void
    signature: void nameserver_read(struct nameserver *ns)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1714,1
    - Dst: recvfrom
      Src: /src/libevent/evdns.c:1718,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evdns.c:1721,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/evdns.c:1722,1
    - Dst: log
      Src: /src/libevent/evdns.c:1724,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/evdns.c:1726,1
    - Dst: request_parse
      Src: /src/libevent/evdns.c:1729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct evdns_server_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1708
    functionDepth: 3
    functionLinenumber: 1708
    functionLinenumberEnd: 1731
    functionName: server_udp_port_read
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - ASSERT_LOCKED
    - EVUTIL_ERR_RW_RETRIABLE
    - log
    - evutil_socket_geterror
    - request_parse
    - recvfrom
    linkageType: ''
    returnType: void
    signature: void server_udp_port_read(struct evdns_server_port *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:1740,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:1741,1
    - Dst: htons
      Src: /src/libevent/evdns.c:1742,1
    - Dst: bufferevent_write
      Src: /src/libevent/evdns.c:1743,1
    - Dst: bufferevent_write
      Src: /src/libevent/evdns.c:1745,1
    - Dst: sendto
      Src: /src/libevent/evdns.c:1749,1
    - Dst: log
      Src: /src/libevent/evdns.c:1755,1
    - Dst: evdns_remove_tcp_client
      Src: /src/libevent/evdns.c:1757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - port
    - req
    argTypes:
    - struct evdns_server_port*
    - struct server_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1733
    functionDepth: 3
    functionLinenumber: 1733
    functionLinenumberEnd: 1759
    functionName: server_send_response
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - log
    - EVUTIL_ASSERT
    - evdns_remove_tcp_client
    - bufferevent_write
    - sendto
    - htons
    linkageType: ''
    returnType: int
    signature: int server_send_response(struct evdns_server_port *port, struct server_request
      *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1766,1
    - Dst: server_send_response
      Src: /src/libevent/evdns.c:1768,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evdns.c:1770,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/evdns.c:1771,1
    - Dst: log
      Src: /src/libevent/evdns.c:1773,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/evdns.c:1773,1
    - Dst: server_request_free
      Src: /src/libevent/evdns.c:1775,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:1779,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:1785,1
    - Dst: event_assign
      Src: /src/libevent/evdns.c:1786,1
    - Dst: event_add
      Src: /src/libevent/evdns.c:1790,1
    - Dst: log
      Src: /src/libevent/evdns.c:1791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - port
    argTypes:
    - struct evdns_server_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1762
    functionDepth: 4
    functionLinenumber: 1762
    functionLinenumberEnd: 1794
    functionName: server_port_flush
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - ASSERT_LOCKED
    - server_request_free
    - event_del
    - server_send_response
    - EVUTIL_ERR_RW_RETRIABLE
    - log
    - EVUTIL_ASSERT
    - evutil_socket_geterror
    - event_assign
    - event_add
    linkageType: ''
    returnType: void
    signature: void server_port_flush(struct evdns_server_port *port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:1801,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:1805,1
    - Dst: event_assign
      Src: /src/libevent/evdns.c:1806,1
    - Dst: event_add
      Src: /src/libevent/evdns.c:1809,1
    - Dst: log
      Src: /src/libevent/evdns.c:1811,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:1812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ns
    - waiting
    argTypes:
    - struct nameserver*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1799
    functionDepth: 4
    functionLinenumber: 1799
    functionLinenumberEnd: 1817
    functionName: nameserver_write_waiting
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - event_del
    - evutil_format_sockaddr_port_
    - log
    - event_assign
    - event_add
    linkageType: ''
    returnType: void
    signature: void nameserver_write_waiting(struct nameserver *ns, char waiting)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:1826,1
    - Dst: evdns_transmit
      Src: /src/libevent/evdns.c:1829,1
    - Dst: nameserver_write_waiting
      Src: /src/libevent/evdns.c:1830,1
    - Dst: nameserver_read
      Src: /src/libevent/evdns.c:1834,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:1836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1821
    functionDepth: 8
    functionLinenumber: 1821
    functionLinenumberEnd: 1837
    functionName: nameserver_ready_callback
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - nameserver_write_waiting
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - nameserver_read
    - evdns_transmit
    linkageType: ''
    returnType: void
    signature: void nameserver_ready_callback(evutil_socket_t fd, short events, void
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:1846,1
    - Dst: server_port_flush
      Src: /src/libevent/evdns.c:1849,1
    - Dst: server_udp_port_read
      Src: /src/libevent/evdns.c:1852,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:1854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1841
    functionDepth: 5
    functionLinenumber: 1841
    functionLinenumberEnd: 1855
    functionName: server_port_ready_callback
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - server_port_flush
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - server_udp_port_read
    linkageType: ''
    returnType: void
    signature: void server_port_ready_callback(evutil_socket_t fd, short events, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct dnslabel_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1873
    functionName: dnslabel_table_init
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dnslabel_table_init(struct dnslabel_table *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evdns.c:1881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct dnslabel_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1876
    functionDepth: 1
    functionLinenumber: 1876
    functionLinenumberEnd: 1883
    functionName: dnslabel_clear
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void dnslabel_clear(struct dnslabel_table *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/evdns.c:1892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - table
    - label
    argTypes:
    - struct dnslabel_table*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1887
    functionDepth: 0
    functionLinenumber: 1887
    functionLinenumberEnd: 1896
    functionName: dnslabel_table_get_pos
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int dnslabel_table_get_pos(const struct dnslabel_table *table, const
      char *label)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:1906,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - table
    - label
    - pos
    argTypes:
    - struct dnslabel_table*
    - char*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1914
    functionName: dnslabel_table_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_strdup
    linkageType: ''
    returnType: int
    signature: int dnslabel_table_add(struct dnslabel_table *table, const char *label,
      off_t pos)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dnslabel_table_get_pos
      Src: /src/libevent/evdns.c:1954,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:1955,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:1958,1
    - Dst: dnslabel_table_add
      Src: /src/libevent/evdns.c:1963,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:1966,1
    - Dst: dnslabel_table_add
      Src: /src/libevent/evdns.c:1974,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:1977,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 6
    argNames:
    - buf
    - buf_len
    - j
    - name
    - name_len
    - table
    argTypes:
    - u8*
    - size_t
    - off_t
    - char*
    - size_t
    - struct dnslabel_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1927
    functionDepth: 2
    functionLinenumber: 1927
    functionLinenumberEnd: 1991
    functionName: dnsname_to_labels
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strchr
    - memcpy
    - dnslabel_table_get_pos
    - dnslabel_table_add
    - APPEND16
    linkageType: ''
    returnType: off_t
    signature: "off_t dnsname_to_labels(u8 *const buf, size_t buf_len, off_t j,\n\t\t\t\t
      \ const char *name, const size_t name_len,\n\t\t\t\t  struct dnslabel_table
      *table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1942
    functionName: APPEND16
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1949
    functionName: APPEND32
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND32(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EDNS_ENABLED
      Src: /src/libevent/evdns.c:2000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - base
    - name_len
    argTypes:
    - struct evdns_base*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1996
    functionDepth: 1
    functionLinenumber: 1996
    functionLinenumberEnd: 2011
    functionName: evdns_request_len
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EDNS_ENABLED
    linkageType: ''
    returnType: size_t
    signature: size_t evdns_request_len(const struct evdns_base *base, const size_t
      name_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2027,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2028,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2029,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2030,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2031,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2032,1
    - Dst: EDNS_ENABLED
      Src: /src/libevent/evdns.c:2032,1
    - Dst: dnsname_to_labels
      Src: /src/libevent/evdns.c:2034,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2039,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2040,1
    - Dst: EDNS_ENABLED
      Src: /src/libevent/evdns.c:2042,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2056,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2057,1
    - Dst: APPEND32
      Src: /src/libevent/evdns.c:2058,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 8
    argNames:
    - base
    - name
    - name_len
    - trans_id
    - type
    - class
    - buf
    - buf_len
    argTypes:
    - struct evdns_base*
    - char*
    - size_t
    - u16
    - u16
    - u16
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2017
    functionDepth: 3
    functionLinenumber: 2017
    functionLinenumberEnd: 2065
    functionName: evdns_request_data_build
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - APPEND32
    - APPEND16
    - dnsname_to_labels
    - EDNS_ENABLED
    linkageType: ''
    returnType: int
    signature: "int evdns_request_data_build(const struct evdns_base *base,\n\tconst
      char *const name, const size_t name_len,\n\tconst u16 trans_id, const u16 type,
      const u16 class, u8 *const buf,\n\tsize_t buf_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:2074,1
    - Dst: memset
      Src: /src/libevent/evdns.c:2076,1
    - Dst: LIST_INIT
      Src: /src/libevent/evdns.c:2091,1
    - Dst: event_assign
      Src: /src/libevent/evdns.c:2092,1
    - Dst: event_add
      Src: /src/libevent/evdns.c:2095,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2096,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/evdns.c:2099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - base
    - socket
    - flags
    - cb
    - user_data
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - int
    - evdns_request_callback_fn_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2101
    functionName: evdns_add_server_port_with_base
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memset
    - event_assign
    - event_add
    - LIST_INIT
    - mm_malloc
    - mm_free
    - EVTHREAD_ALLOC_LOCK
    linkageType: ''
    returnType: struct evdns_server_port
    signature: 'struct evdns_server_port *

      evdns_add_server_port_with_base(struct event_base *base, evutil_socket_t socket,
      int flags, evdns_request_callback_fn_type cb, void *user_data)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:2113,1
    - Dst: LIST_INIT
      Src: /src/libevent/evdns.c:2125,1
    - Dst: evconnlistener_set_cb
      Src: /src/libevent/evdns.c:2127,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/evdns.c:2129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - base
    - listener
    - flags
    - cb
    - user_data
    argTypes:
    - struct event_base*
    - struct evconnlistener*
    - int
    - evdns_request_callback_fn_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2104
    functionDepth: 3
    functionLinenumber: 2104
    functionLinenumberEnd: 2131
    functionName: evdns_add_server_port_with_listener
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evconnlistener_set_cb
    - EVTHREAD_ALLOC_LOCK
    - LIST_INIT
    - mm_calloc
    linkageType: ''
    returnType: struct evdns_server_port
    signature: 'struct evdns_server_port *

      evdns_add_server_port_with_listener(struct event_base *base, struct evconnlistener
      *listener, int flags, evdns_request_callback_fn_type cb, void *user_data)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/evdns.c:2140,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2144,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2145,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/evdns.c:2149,1
    - Dst: bufferevent_read
      Src: /src/libevent/evdns.c:2152,1
    - Dst: ntohs
      Src: /src/libevent/evdns.c:2154,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/evdns.c:2160,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:2163,1
    - Dst: bufferevent_read
      Src: /src/libevent/evdns.c:2167,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2169,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - conn
    - msg
    - msg_len
    argTypes:
    - struct tcp_connection*
    - u8**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2180
    functionName: tcp_read_message
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_get_length
    - EVUTIL_ASSERT
    - ntohs
    - mm_malloc
    - bufferevent_read
    - mm_free
    linkageType: ''
    returnType: int
    signature: int tcp_read_message(struct tcp_connection *conn, u8 **msg, int *msg_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2191,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2192,1
    - Dst: tcp_read_message
      Src: /src/libevent/evdns.c:2195,1
    - Dst: log
      Src: /src/libevent/evdns.c:2196,1
    - Dst: evdns_remove_tcp_client
      Src: /src/libevent/evdns.c:2197,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2199,1
    - Dst: server_port_free
      Src: /src/libevent/evdns.c:2201,1
    - Dst: request_parse
      Src: /src/libevent/evdns.c:2209,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2210,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/evdns.c:2215,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/evdns.c:2217,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2182
    functionDepth: 3
    functionLinenumber: 2182
    functionLinenumberEnd: 2219
    functionName: server_tcp_read_packet_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - tcp_read_message
    - server_port_free
    - bufferevent_setwatermark
    - log
    - EVUTIL_ASSERT
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evdns_remove_tcp_client
    - bufferevent_setcb
    - mm_free
    - request_parse
    linkageType: ''
    returnType: void
    signature: void server_tcp_read_packet_cb(struct bufferevent *bev, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2227,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2228,1
    - Dst: log
      Src: /src/libevent/evdns.c:2230,1
    - Dst: evdns_remove_tcp_client
      Src: /src/libevent/evdns.c:2231,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2234,1
    - Dst: server_port_free
      Src: /src/libevent/evdns.c:2236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bev
    - events
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2221
    functionDepth: 3
    functionLinenumber: 2221
    functionLinenumberEnd: 2237
    functionName: server_tcp_event_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - server_port_free
    - log
    - EVUTIL_ASSERT
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evdns_remove_tcp_client
    linkageType: ''
    returnType: void
    signature: void server_tcp_event_cb(struct bufferevent *bev, short events, void
      *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/evdns.c:2244,1
    - Dst: log
      Src: /src/libevent/evdns.c:2250,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/evdns.c:2252,1
    - Dst: evdns_add_tcp_client
      Src: /src/libevent/evdns.c:2254,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/evdns.c:2260,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/evdns.c:2261,1
    - Dst: bufferevent_enable
      Src: /src/libevent/evdns.c:2262,1
    - Dst: bufferevent_free
      Src: /src/libevent/evdns.c:2267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - listener
    - fd
    - address
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2239
    functionDepth: 2
    functionLinenumber: 2239
    functionLinenumberEnd: 2269
    functionName: incoming_conn_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_enable
    - log
    - bufferevent_set_timeouts
    - bufferevent_setcb
    - bufferevent_socket_new
    - evdns_add_tcp_client
    - bufferevent_setwatermark
    linkageType: ''
    returnType: void
    signature: "void incoming_conn_cb(struct evconnlistener *listener, evutil_socket_t
      fd,\n\t\t\t\t  struct sockaddr *address, int socklen, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_add_server_port_with_base
      Src: /src/libevent/evdns.c:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - socket
    - flags
    - cb
    - user_data
    argTypes:
    - evutil_socket_t
    - int
    - evdns_request_callback_fn_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2271
    functionDepth: 2
    functionLinenumber: 2271
    functionLinenumberEnd: 2275
    functionName: evdns_add_server_port
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_add_server_port_with_base
    linkageType: ''
    returnType: struct evdns_server_port
    signature: 'struct evdns_server_port *

      evdns_add_server_port(evutil_socket_t socket, int flags, evdns_request_callback_fn_type
      cb, void *user_data)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2281,1
    - Dst: evdns_remove_all_tcp_clients
      Src: /src/libevent/evdns.c:2282,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2284,1
    - Dst: server_port_free
      Src: /src/libevent/evdns.c:2285,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - port
    argTypes:
    - struct evdns_server_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2278
    functionDepth: 4
    functionLinenumber: 2278
    functionLinenumberEnd: 2290
    functionName: evdns_close_server_port
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_remove_all_tcp_clients
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - server_port_free
    linkageType: ''
    returnType: void
    signature: void evdns_close_server_port(struct evdns_server_port *port)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TO_SERVER_REQUEST
      Src: /src/libevent/evdns.c:2296,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2301,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:2324,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:2328,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2329,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:2340,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2341,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2342,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:2347,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2348,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2349,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:2353,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2361,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 9
    argNames:
    - req_
    - section
    - name
    - type
    - class
    - ttl
    - datalen
    - is_name
    - data
    argTypes:
    - struct evdns_server_request*
    - int
    - char*
    - int
    - int
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2293
    functionDepth: 1
    functionLinenumber: 2293
    functionLinenumberEnd: 2363
    functionName: evdns_server_request_add_reply
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mm_strdup
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - mm_malloc
    - TO_SERVER_REQUEST
    - mm_free
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_add_reply(struct evdns_server_request *req_,
      int section, const char *name, int type, int class, int ttl, int datalen, int
      is_name, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_server_request_add_reply
      Src: /src/libevent/evdns.c:2369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - name
    - n
    - addrs
    - ttl
    argTypes:
    - struct evdns_server_request*
    - char*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2366
    functionDepth: 2
    functionLinenumber: 2366
    functionLinenumberEnd: 2372
    functionName: evdns_server_request_add_a_reply
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_server_request_add_reply
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_add_a_reply(struct evdns_server_request *req,
      const char *name, int n, const void *addrs, int ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_server_request_add_reply
      Src: /src/libevent/evdns.c:2378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - req
    - name
    - n
    - addrs
    - ttl
    argTypes:
    - struct evdns_server_request*
    - char*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2375
    functionDepth: 2
    functionLinenumber: 2375
    functionLinenumberEnd: 2381
    functionName: evdns_server_request_add_aaaa_reply
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_server_request_add_reply
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_add_aaaa_reply(struct evdns_server_request
      *req, const char *name, int n, const void *addrs, int ttl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libevent/evdns.c:2394,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evdns.c:2395,1
    - Dst: evdns_server_request_add_reply
      Src: /src/libevent/evdns.c:2402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - req
    - in
    - inaddr_name
    - hostname
    - ttl
    argTypes:
    - struct evdns_server_request*
    - struct in_addr*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2384
    functionDepth: 2
    functionLinenumber: 2384
    functionLinenumberEnd: 2405
    functionName: evdns_server_request_add_ptr_reply
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_server_request_add_reply
    - ntohl
    - evutil_snprintf
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_add_ptr_reply(struct evdns_server_request
      *req, struct in_addr *in, const char *inaddr_name, const char *hostname, int
      ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_server_request_add_reply
      Src: /src/libevent/evdns.c:2411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - req
    - name
    - cname
    - ttl
    argTypes:
    - struct evdns_server_request*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2408
    functionDepth: 2
    functionLinenumber: 2408
    functionLinenumberEnd: 2414
    functionName: evdns_server_request_add_cname_reply
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_server_request_add_reply
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_add_cname_reply(struct evdns_server_request
      *req, const char *name, const char *cname, int ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TO_SERVER_REQUEST
      Src: /src/libevent/evdns.c:2420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exreq
    - flags
    argTypes:
    - struct evdns_server_request*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2423
    functionName: evdns_server_request_set_flags
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - TO_SERVER_REQUEST
    linkageType: ''
    returnType: void
    signature: void evdns_server_request_set_flags(struct evdns_server_request *exreq,
      int flags)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dnslabel_table_init
      Src: /src/libevent/evdns.c:2444,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2445,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2446,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2447,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2448,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2449,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2450,1
    - Dst: dnsname_to_labels
      Src: /src/libevent/evdns.c:2455,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:2455,1
    - Dst: dnslabel_clear
      Src: /src/libevent/evdns.c:2457,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2460,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2461,1
    - Dst: dnsname_to_labels
      Src: /src/libevent/evdns.c:2474,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:2474,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2479,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2480,1
    - Dst: APPEND32
      Src: /src/libevent/evdns.c:2481,1
    - Dst: dnsname_to_labels
      Src: /src/libevent/evdns.c:2486,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:2486,1
    - Dst: htons
      Src: /src/libevent/evdns.c:2490,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:2491,1
    - Dst: APPEND16
      Src: /src/libevent/evdns.c:2493,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:2497,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2500,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:2515,1
    - Dst: server_request_free_answers
      Src: /src/libevent/evdns.c:2516,1
    - Dst: dnslabel_clear
      Src: /src/libevent/evdns.c:2517,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:2520,1
    - Dst: server_request_free_answers
      Src: /src/libevent/evdns.c:2521,1
    - Dst: dnslabel_clear
      Src: /src/libevent/evdns.c:2522,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 2
    argNames:
    - req
    - err
    argTypes:
    - struct server_request*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2425
    functionDepth: 3
    functionLinenumber: 2425
    functionLinenumberEnd: 2524
    functionName: evdns_server_request_format_response
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVUTIL_ASSERT
    - APPEND32
    - server_request_free_answers
    - dnsname_to_labels
    - htons
    - mm_malloc
    - dnslabel_table_init
    - strlen
    - APPEND16
    - dnslabel_clear
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_format_response(struct server_request *req,
      int err)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TO_SERVER_REQUEST
      Src: /src/libevent/evdns.c:2530,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2534,1
    - Dst: evdns_server_request_format_response
      Src: /src/libevent/evdns.c:2536,1
    - Dst: server_send_response
      Src: /src/libevent/evdns.c:2540,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evdns.c:2542,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/evdns.c:2543,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:2556,1
    - Dst: event_assign
      Src: /src/libevent/evdns.c:2557,1
    - Dst: event_add
      Src: /src/libevent/evdns.c:2559,1
    - Dst: log
      Src: /src/libevent/evdns.c:2560,1
    - Dst: server_request_free
      Src: /src/libevent/evdns.c:2568,1
    - Dst: server_port_flush
      Src: /src/libevent/evdns.c:2574,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2578,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - req_
    - err
    argTypes:
    - struct evdns_server_request*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2527
    functionDepth: 5
    functionLinenumber: 2527
    functionLinenumberEnd: 2580
    functionName: evdns_server_request_respond
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - server_port_flush
    - event_del
    - server_request_free
    - server_send_response
    - EVUTIL_ERR_RW_RETRIABLE
    - log
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evutil_socket_geterror
    - event_assign
    - event_add
    - evdns_server_request_format_response
    - TO_SERVER_REQUEST
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_respond(struct evdns_server_request *req_,
      int err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2599,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2602,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct server_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2583
    functionDepth: 1
    functionLinenumber: 2583
    functionLinenumberEnd: 2610
    functionName: server_request_free_answers
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void server_request_free_answers(struct server_request *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2620,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2623,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2628,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2640,1
    - Dst: server_request_free_answers
      Src: /src/libevent/evdns.c:2644,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2652,1
    - Dst: server_port_free
      Src: /src/libevent/evdns.c:2653,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2654,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2658,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2659,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct server_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2614
    functionDepth: 2
    functionLinenumber: 2614
    functionLinenumberEnd: 2661
    functionName: server_request_free
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - server_port_free
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - server_request_free_answers
    - mm_free
    linkageType: ''
    returnType: int
    signature: int server_request_free(struct server_request *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2667,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2668,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2669,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evdns.c:2671,1
    - Dst: evconnlistener_free
      Src: /src/libevent/evdns.c:2677,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:2679,1
    - Dst: event_debug_unassign
      Src: /src/libevent/evdns.c:2680,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/evdns.c:2683,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - port
    argTypes:
    - struct evdns_server_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2664
    functionDepth: 3
    functionLinenumber: 2664
    functionLinenumberEnd: 2685
    functionName: server_port_free
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 4
    functionsReached:
    - EVTHREAD_FREE_LOCK
    - evconnlistener_free
    - event_del
    - EVUTIL_ASSERT
    - evutil_closesocket
    - mm_free
    - event_debug_unassign
    linkageType: ''
    returnType: void
    signature: void server_port_free(struct evdns_server_port *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TO_SERVER_REQUEST
      Src: /src/libevent/evdns.c:2691,1
    - Dst: server_request_free
      Src: /src/libevent/evdns.c:2692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req_
    argTypes:
    - struct evdns_server_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2688
    functionDepth: 3
    functionLinenumber: 2688
    functionLinenumberEnd: 2694
    functionName: evdns_server_request_drop
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - server_request_free
    - TO_SERVER_REQUEST
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_drop(struct evdns_server_request *req_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TO_SERVER_REQUEST
      Src: /src/libevent/evdns.c:2700,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:2703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - req_
    - sa
    - addr_len
    argTypes:
    - struct evdns_server_request*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2705
    functionName: evdns_server_request_get_requesting_addr
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TO_SERVER_REQUEST
    linkageType: ''
    returnType: int
    signature: int evdns_server_request_get_requesting_addr(struct evdns_server_request
      *req_, struct sockaddr *sa, int addr_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:2720,1
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:2722,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:2723,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:2723,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:2725,1
    - Dst: evdns_request_transmit
      Src: /src/libevent/evdns.c:2726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - server
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2707
    functionDepth: 2
    functionLinenumber: 2707
    functionLinenumberEnd: 2732
    functionName: retransmit_all_tcp_requests_for
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_request_transmit
    - request_finished
    - log
    - reply_schedule_callback
    - evtimer_del
    - REQ_HEAD
    linkageType: ''
    returnType: void
    signature: void retransmit_all_tcp_requests_for(struct nameserver *server)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:2744,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2745,1
    - Dst: log
      Src: /src/libevent/evdns.c:2750,1
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:2752,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:2754,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:2754,1
    - Dst: nameserver_failed
      Src: /src/libevent/evdns.c:2755,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2759,1
    - Dst: retransmit_all_tcp_requests_for
      Src: /src/libevent/evdns.c:2763,1
    - Dst: log
      Src: /src/libevent/evdns.c:2766,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:2767,1
    - Dst: request_swap_ns
      Src: /src/libevent/evdns.c:2768,1
    - Dst: nameserver_pick
      Src: /src/libevent/evdns.c:2768,1
    - Dst: evdns_request_transmit
      Src: /src/libevent/evdns.c:2769,1
    - Dst: nameserver_failed
      Src: /src/libevent/evdns.c:2774,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2736
    functionDepth: 5
    functionLinenumber: 2736
    functionLinenumberEnd: 2780
    functionName: evdns_request_timeout_callback
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - evdns_request_transmit
    - request_finished
    - nameserver_failed
    - retransmit_all_tcp_requests_for
    - log
    - request_swap_ns
    - EVDNS_UNLOCK
    - reply_schedule_callback
    - EVDNS_LOCK
    - nameserver_pick
    - disconnect_and_free_connection
    - evtimer_del
    - REQ_HEAD
    linkageType: ''
    returnType: void
    signature: void evdns_request_timeout_callback(evutil_socket_t fd, short events,
      void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:2791,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:2792,1
    - Dst: event_add
      Src: /src/libevent/evdns.c:2796,1
    - Dst: sendto
      Src: /src/libevent/evdns.c:2800,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/evdns.c:2803,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/evdns.c:2804,1
    - Dst: nameserver_failed
      Src: /src/libevent/evdns.c:2806,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/evdns.c:2806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - req
    - server
    argTypes:
    - struct request*
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2788
    functionDepth: 5
    functionLinenumber: 2788
    functionLinenumberEnd: 2813
    functionName: evdns_request_transmit_to
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - ASSERT_LOCKED
    - nameserver_failed
    - EVUTIL_ERR_RW_RETRIABLE
    - ASSERT_VALID_REQUEST
    - evutil_socket_geterror
    - event_add
    - sendto
    linkageType: ''
    returnType: int
    signature: int evdns_request_transmit_to(struct request *req, struct nameserver
      *server)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2829,1
    - Dst: new_tcp_connection
      Src: /src/libevent/evdns.c:2830,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/evdns.c:2830,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/evdns.c:2835,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2838,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/evdns.c:2839,1
    - Dst: log
      Src: /src/libevent/evdns.c:2843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - server
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2821
    functionDepth: 3
    functionLinenumber: 2821
    functionLinenumberEnd: 2845
    functionName: evdns_tcp_connect_if_disconnected
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - bufferevent_socket_connect
    - log
    - EVUTIL_ASSERT
    - bufferevent_set_timeouts
    - new_tcp_connection
    - bufferevent_socket_new
    - disconnect_and_free_connection
    linkageType: ''
    returnType: int
    signature: int evdns_tcp_connect_if_disconnected(struct nameserver *server)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2858,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2859,1
    - Dst: tcp_read_message
      Src: /src/libevent/evdns.c:2862,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2863,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2865,1
    - Dst: reply_parse
      Src: /src/libevent/evdns.c:2873,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:2874,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/evdns.c:2879,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/evdns.c:2881,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2851
    functionDepth: 7
    functionLinenumber: 2851
    functionLinenumberEnd: 2883
    functionName: client_tcp_read_packet_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - tcp_read_message
    - bufferevent_setwatermark
    - EVUTIL_ASSERT
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - reply_parse
    - bufferevent_setcb
    - mm_free
    - disconnect_and_free_connection
    linkageType: ''
    returnType: void
    signature: void client_tcp_read_packet_cb(struct bufferevent *bev, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2889,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:2890,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2891,1
    - Dst: log
      Src: /src/libevent/evdns.c:2893,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2896,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2899,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2902,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/evdns.c:2904,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/evdns.c:2904,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/evdns.c:2905,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/evdns.c:2906,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:2908,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - bev
    - events
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2885
    functionDepth: 3
    functionLinenumber: 2885
    functionLinenumberEnd: 2909
    functionName: client_tcp_event_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - bufferevent_setwatermark
    - log
    - EVUTIL_ASSERT
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - bufferevent_setcb
    - bufferevent_getfd
    - evutil_make_socket_nonblocking
    - disconnect_and_free_connection
    linkageType: ''
    returnType: void
    signature: void client_tcp_event_cb(struct bufferevent *bev, short events, void
      *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:2922,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:2923,1
    - Dst: evdns_tcp_connect_if_disconnected
      Src: /src/libevent/evdns.c:2925,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/evdns.c:2929,1
    - Dst: log
      Src: /src/libevent/evdns.c:2931,1
    - Dst: htons
      Src: /src/libevent/evdns.c:2932,1
    - Dst: bufferevent_write
      Src: /src/libevent/evdns.c:2933,1
    - Dst: bufferevent_write
      Src: /src/libevent/evdns.c:2935,1
    - Dst: bufferevent_enable
      Src: /src/libevent/evdns.c:2937,1
    - Dst: evtimer_add
      Src: /src/libevent/evdns.c:2939,1
    - Dst: log
      Src: /src/libevent/evdns.c:2944,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:2945,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - req
    - server
    argTypes:
    - struct request*
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2917
    functionDepth: 4
    functionLinenumber: 2917
    functionLinenumberEnd: 2948
    functionName: evdns_request_transmit_through_tcp
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_tcp_connect_if_disconnected
    - bufferevent_enable
    - ASSERT_LOCKED
    - log
    - ASSERT_VALID_REQUEST
    - bufferevent_write
    - bufferevent_setcb
    - evtimer_add
    - htons
    - disconnect_and_free_connection
    linkageType: ''
    returnType: int
    signature: int evdns_request_transmit_through_tcp(struct request *req, struct
      nameserver *server)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:2960,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:2961,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:2965,1
    - Dst: evdns_request_transmit_through_tcp
      Src: /src/libevent/evdns.c:2980,1
    - Dst: evdns_request_transmit_to
      Src: /src/libevent/evdns.c:2989,1
    - Dst: nameserver_write_waiting
      Src: /src/libevent/evdns.c:2995,1
    - Dst: log
      Src: /src/libevent/evdns.c:3005,1
    - Dst: evtimer_add
      Src: /src/libevent/evdns.c:3007,1
    - Dst: log
      Src: /src/libevent/evdns.c:3008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 2956
    functionDepth: 6
    functionLinenumber: 2956
    functionLinenumberEnd: 3017
    functionName: evdns_request_transmit
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 3
    functionsReached:
    - ASSERT_LOCKED
    - nameserver_write_waiting
    - log
    - EVUTIL_ASSERT
    - ASSERT_VALID_REQUEST
    - evtimer_add
    - evdns_request_transmit_to
    - evdns_request_transmit_through_tcp
    linkageType: ''
    returnType: int
    signature: int evdns_request_transmit(struct request *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3034,1
    - Dst: nameserver_up
      Src: /src/libevent/evdns.c:3038,1
    - Dst: nameserver_probe_failed
      Src: /src/libevent/evdns.c:3040,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3042,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - result
    - type
    - count
    - ttl
    - addresses
    - arg
    argTypes:
    - int
    - char
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3043
      start: 3019
    functionDepth: 5
    functionLinenumber: 3019
    functionLinenumberEnd: 3043
    functionName: nameserver_probe_callback
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - nameserver_up
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - nameserver_probe_failed
    linkageType: ''
    returnType: void
    signature: void nameserver_probe_callback(int result, char type, int count, int
      ttl, void *addresses, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3053,1
    - Dst: log
      Src: /src/libevent/evdns.c:3054,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:3055,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3058,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3062,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3064,1
    - Dst: request_trans_id_set
      Src: /src/libevent/evdns.c:3069,1
    - Dst: transaction_id_pick
      Src: /src/libevent/evdns.c:3069,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3045
    functionDepth: 4
    functionLinenumber: 3045
    functionLinenumberEnd: 3072
    functionName: nameserver_send_probe
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - request_trans_id_set
    - ASSERT_LOCKED
    - evutil_format_sockaddr_port_
    - log
    - request_submit
    - mm_calloc
    - transaction_id_pick
    - request_new
    - mm_free
    linkageType: ''
    returnType: void
    signature: void nameserver_send_probe(struct nameserver *const ns)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3082,1
    - Dst: evdns_request_transmit
      Src: /src/libevent/evdns.c:3090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3077
    functionDepth: 7
    functionLinenumber: 3077
    functionLinenumberEnd: 3099
    functionName: evdns_transmit
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - evdns_request_transmit
    - ASSERT_LOCKED
    linkageType: ''
    returnType: int
    signature: int evdns_transmit(struct evdns_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3108,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3119
      start: 3102
    functionDepth: 1
    functionLinenumber: 3102
    functionLinenumberEnd: 3119
    functionName: evdns_base_count_nameservers
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    linkageType: ''
    returnType: int
    signature: int evdns_base_count_nameservers(struct evdns_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_count_nameservers
      Src: /src/libevent/evdns.c:3124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3121
    functionDepth: 2
    functionLinenumber: 3121
    functionLinenumberEnd: 3125
    functionName: evdns_count_nameservers
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_count_nameservers
    linkageType: ''
    returnType: int
    signature: int evdns_count_nameservers(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3134,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3138,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:3143,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:3145,1
    - Dst: evtimer_initialized
      Src: /src/libevent/evdns.c:3146,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:3147,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:3149,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evdns.c:3153,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3154,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:3170,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:3175,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3128
    functionDepth: 3
    functionLinenumber: 3128
    functionLinenumberEnd: 3193
    functionName: evdns_base_clear_nameservers_and_suspend
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_cancel_request
    - event_del
    - evtimer_initialized
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evutil_closesocket
    - evdns_request_insert
    - mm_free
    - disconnect_and_free_connection
    - evtimer_del
    linkageType: ''
    returnType: int
    signature: int evdns_base_clear_nameservers_and_suspend(struct evdns_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_clear_nameservers_and_suspend
      Src: /src/libevent/evdns.c:3198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3195
    functionDepth: 4
    functionLinenumber: 3195
    functionLinenumberEnd: 3199
    functionName: evdns_clear_nameservers_and_suspend
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_clear_nameservers_and_suspend
    linkageType: ''
    returnType: int
    signature: int evdns_clear_nameservers_and_suspend(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3206,1
    - Dst: evdns_requests_pump_waiting_queue
      Src: /src/libevent/evdns.c:3207,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3203
    functionDepth: 2
    functionLinenumber: 3203
    functionLinenumberEnd: 3211
    functionName: evdns_base_resume
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evdns_requests_pump_waiting_queue
    linkageType: ''
    returnType: int
    signature: int evdns_base_resume(struct evdns_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_resume
      Src: /src/libevent/evdns.c:3216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3213
    functionDepth: 3
    functionLinenumber: 3213
    functionLinenumberEnd: 3217
    functionName: evdns_resume
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resume
    linkageType: ''
    returnType: int
    signature: int evdns_resume(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3228,1
    - Dst: evutil_sockaddr_cmp
      Src: /src/libevent/evdns.c:3231,1
    - Dst: log
      Src: /src/libevent/evdns.c:3236,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3240,1
    - Dst: memset
      Src: /src/libevent/evdns.c:3243,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:3246,1
    - Dst: evutil_socket_
      Src: /src/libevent/evdns.c:3248,1
    - Dst: evutil_sockaddr_is_loopback_
      Src: /src/libevent/evdns.c:3253,1
    - Dst: bind
      Src: /src/libevent/evdns.c:3254,1
    - Dst: log
      Src: /src/libevent/evdns.c:3257,1
    - Dst: setsockopt
      Src: /src/libevent/evdns.c:3264,1
    - Dst: log
      Src: /src/libevent/evdns.c:3266,1
    - Dst: setsockopt
      Src: /src/libevent/evdns.c:3272,1
    - Dst: log
      Src: /src/libevent/evdns.c:3274,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3280,1
    - Dst: event_assign
      Src: /src/libevent/evdns.c:3284,1
    - Dst: event_add
      Src: /src/libevent/evdns.c:3286,1
    - Dst: log
      Src: /src/libevent/evdns.c:3291,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:3292,1
    - Dst: evutil_closesocket
      Src: /src/libevent/evdns.c:3310,1
    - Dst: event_debug_unassign
      Src: /src/libevent/evdns.c:3312,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3313,1
    - Dst: log
      Src: /src/libevent/evdns.c:3314,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/evdns.c:3315,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 3
    argNames:
    - base
    - address
    - addrlen
    argTypes:
    - struct evdns_base*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3219
    functionDepth: 4
    functionLinenumber: 3219
    functionLinenumberEnd: 3317
    functionName: evdns_nameserver_add_impl_
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - bind
    - memset
    - ASSERT_LOCKED
    - setsockopt
    - evutil_format_sockaddr_port_
    - event_debug_unassign
    - log
    - memcpy
    - evutil_closesocket
    - event_assign
    - event_add
    - mm_malloc
    - evutil_sockaddr_is_loopback_
    - mm_free
    - evtimer_assign
    - evutil_sockaddr_cmp
    - evutil_socket_
    linkageType: ''
    returnType: int
    signature: int evdns_nameserver_add_impl_(struct evdns_base *base, const struct
      sockaddr *address, int addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evdns.c:3325,1
    - Dst: htons
      Src: /src/libevent/evdns.c:3327,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3332,1
    - Dst: evdns_nameserver_add_impl_
      Src: /src/libevent/evdns.c:3333,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - base
    - address
    argTypes:
    - struct evdns_base*
    - unsigned long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3320
    functionDepth: 5
    functionLinenumber: 3320
    functionLinenumberEnd: 3336
    functionName: evdns_base_nameserver_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memset
    - evdns_nameserver_add_impl_
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - htons
    linkageType: ''
    returnType: int
    signature: int evdns_base_nameserver_add(struct evdns_base *base, unsigned long
      int address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/evdns.c:3341,1
    - Dst: evdns_base_nameserver_add
      Src: /src/libevent/evdns.c:3342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - address
    argTypes:
    - unsigned long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3338
    functionDepth: 6
    functionLinenumber: 3338
    functionLinenumberEnd: 3343
    functionName: evdns_nameserver_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_add
    - evdns_base_new
    linkageType: ''
    returnType: int
    signature: int evdns_nameserver_add(unsigned long int address)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/libevent/evdns.c:3349,1
    - Dst: htons
      Src: /src/libevent/evdns.c:3351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sa
    - port
    argTypes:
    - struct sockaddr*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3353
    functionName: sockaddr_setport
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: void sockaddr_setport(struct sockaddr *sa, ev_uint16_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/libevent/evdns.c:3359,1
    - Dst: ntohs
      Src: /src/libevent/evdns.c:3361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3365
    functionName: sockaddr_getport
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: ev_uint16_t
    signature: ev_uint16_t sockaddr_getport(struct sockaddr *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/evdns.c:3374,1
    - Dst: log
      Src: /src/libevent/evdns.c:3376,1
    - Dst: sockaddr_getport
      Src: /src/libevent/evdns.c:3381,1
    - Dst: sockaddr_setport
      Src: /src/libevent/evdns.c:3382,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3384,1
    - Dst: evdns_nameserver_add_impl_
      Src: /src/libevent/evdns.c:3385,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - base
    - ip_as_string
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3388
      start: 3368
    functionDepth: 5
    functionLinenumber: 3368
    functionLinenumberEnd: 3388
    functionName: evdns_base_nameserver_ip_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - sockaddr_getport
    - log
    - evdns_nameserver_add_impl_
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evutil_parse_sockaddr_port
    - sockaddr_setport
    linkageType: ''
    returnType: int
    signature: int evdns_base_nameserver_ip_add(struct evdns_base *base, const char
      *ip_as_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/evdns.c:3393,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:3394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ip_as_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3390
    functionDepth: 6
    functionLinenumber: 3390
    functionLinenumberEnd: 3395
    functionName: evdns_nameserver_ip_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_nameserver_ip_add
    - evdns_base_new
    linkageType: ''
    returnType: int
    signature: int evdns_nameserver_ip_add(const char *ip_as_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3402,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3403,1
    - Dst: evdns_nameserver_add_impl_
      Src: /src/libevent/evdns.c:3404,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - base
    - sa
    - len
    - flags
    argTypes:
    - struct evdns_base*
    - struct sockaddr*
    - ev_socklen_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3397
    functionDepth: 5
    functionLinenumber: 3397
    functionLinenumberEnd: 3407
    functionName: evdns_base_nameserver_sockaddr_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_nameserver_add_impl_
    - EVUTIL_ASSERT
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    linkageType: ''
    returnType: int
    signature: "int evdns_base_nameserver_sockaddr_add(struct evdns_base *base,\n
      \   const struct sockaddr *sa, ev_socklen_t len, unsigned flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3416,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3430,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - base
    - idx
    - sa
    - len
    argTypes:
    - struct evdns_base*
    - int
    - struct sockaddr*
    - ev_socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3409
    functionDepth: 1
    functionLinenumber: 3409
    functionLinenumberEnd: 3435
    functionName: evdns_base_get_nameserver_addr
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    linkageType: ''
    returnType: int
    signature: "int evdns_base_get_nameserver_addr(struct evdns_base *base, int idx,\n
      \   struct sockaddr *sa, ev_socklen_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3443,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3453,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - base
    - idx
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3437
    functionDepth: 1
    functionLinenumber: 3437
    functionLinenumberEnd: 3455
    functionName: evdns_base_get_nameserver_fd
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    linkageType: ''
    returnType: int
    signature: int evdns_base_get_nameserver_fd(struct evdns_base *base, int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3462,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:3463,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3469,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3479,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - req
    - head
    argTypes:
    - struct request*
    - struct request**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3494
      start: 3459
    functionDepth: 1
    functionLinenumber: 3459
    functionLinenumberEnd: 3494
    functionName: evdns_request_remove
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - EVUTIL_ASSERT
    - ASSERT_VALID_REQUEST
    - ASSERT_LOCKED
    linkageType: ''
    returnType: void
    signature: void evdns_request_remove(struct request *req, struct request **head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3499,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:3500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - req
    - head
    argTypes:
    - struct request*
    - struct request**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3497
    functionDepth: 1
    functionLinenumber: 3497
    functionLinenumberEnd: 3511
    functionName: evdns_request_insert
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - ASSERT_VALID_REQUEST
    - ASSERT_LOCKED
    linkageType: ''
    returnType: void
    signature: void evdns_request_insert(struct request *req, struct request **head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libevent/evdns.c:3516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3513
    functionDepth: 0
    functionLinenumber: 3513
    functionLinenumberEnd: 3521
    functionName: string_num_dots
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int string_num_dots(const char *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/evdns.c:3530,1
    - Dst: evdns_request_len
      Src: /src/libevent/evdns.c:3531,1
    - Dst: transaction_id_pick
      Src: /src/libevent/evdns.c:3532,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3535,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3540,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3545,1
    - Dst: memset
      Src: /src/libevent/evdns.c:3549,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:3553,1
    - Dst: strlcpy
      Src: /src/libevent/evdns.c:3558,1
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/evdns.c:3559,1
    - Dst: EVUTIL_ISALPHA_
      Src: /src/libevent/evdns.c:3561,1
    - Dst: evdns_request_data_build
      Src: /src/libevent/evdns.c:3575,1
    - Dst: nameserver_pick
      Src: /src/libevent/evdns.c:3584,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 5
    argNames:
    - base
    - handle
    - type
    - name
    - flags
    argTypes:
    - struct evdns_base*
    - struct evdns_request*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3523
    functionDepth: 4
    functionLinenumber: 3523
    functionLinenumberEnd: 3599
    functionName: request_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 3
    functionsReached:
    - ASSERT_LOCKED
    - memset
    - nameserver_pick
    - evutil_secure_rng_get_bytes
    - EVUTIL_ISALPHA_
    - evdns_request_data_build
    - transaction_id_pick
    - mm_malloc
    - evdns_request_len
    - mm_free
    - strlen
    - evtimer_assign
    - strlcpy
    linkageType: ''
    returnType: struct request
    signature: "struct request *\nrequest_new(struct evdns_base *base, struct evdns_request
      *handle, int type,\n\t    const char *name, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transaction_id_pick
      Src: /src/libevent/evdns.c:3606,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3608,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3609,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3610,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3614,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:3616,1
    - Dst: request_trans_id_set
      Src: /src/libevent/evdns.c:3621,1
    - Dst: nameserver_pick
      Src: /src/libevent/evdns.c:3624,1
    - Dst: log
      Src: /src/libevent/evdns.c:3627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - base
    - current
    argTypes:
    - struct evdns_base*
    - struct request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3630
      start: 3601
    functionDepth: 3
    functionLinenumber: 3601
    functionLinenumberEnd: 3630
    functionName: request_clone
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - request_trans_id_set
    - ASSERT_LOCKED
    - memcpy
    - EVUTIL_ASSERT
    - log
    - nameserver_pick
    - transaction_id_pick
    - mm_malloc
    - evtimer_assign
    linkageType: ''
    returnType: struct request
    signature: 'struct request *

      request_clone(struct evdns_base *base, struct request* current)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3635,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:3636,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:3640,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:3640,1
    - Dst: evdns_request_transmit
      Src: /src/libevent/evdns.c:3645,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:3647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3632
    functionDepth: 7
    functionLinenumber: 3632
    functionLinenumberEnd: 3650
    functionName: request_submit
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - evdns_request_transmit
    - ASSERT_LOCKED
    - ASSERT_VALID_REQUEST
    - evdns_request_insert
    - REQ_HEAD
    linkageType: ''
    returnType: void
    signature: void request_submit(struct request *const req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3668,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3670,1
    - Dst: ASSERT_VALID_REQUEST
      Src: /src/libevent/evdns.c:3675,1
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:3677,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:3680,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:3680,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:3683,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - base
    - handle
    argTypes:
    - struct evdns_base*
    - struct evdns_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3686
      start: 3653
    functionDepth: 2
    functionLinenumber: 3653
    functionLinenumberEnd: 3686
    functionName: evdns_cancel_request
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - request_finished
    - EVDNS_UNLOCK
    - reply_schedule_callback
    - EVDNS_LOCK
    - ASSERT_VALID_REQUEST
    - REQ_HEAD
    linkageType: ''
    returnType: void
    signature: void evdns_cancel_request(struct evdns_base *base, struct evdns_request
      *handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:3694,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3695,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3700,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3705,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3707,1
    - Dst: search_request_new
      Src: /src/libevent/evdns.c:3709,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3712,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - base
    - name
    - flags
    - callback
    - ptr
    argTypes:
    - struct evdns_base*
    - char*
    - int
    - evdns_callback_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3689
    functionDepth: 8
    functionLinenumber: 3689
    functionLinenumberEnd: 3717
    functionName: evdns_base_resolve_ipv4
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - log
    - EVDNS_UNLOCK
    - request_submit
    - EVDNS_LOCK
    - mm_calloc
    - request_new
    - search_request_new
    - mm_free
    linkageType: ''
    returnType: struct evdns_request
    signature: "struct evdns_request *\nevdns_base_resolve_ipv4(struct evdns_base
      *base, const char *name, int flags,\n    evdns_callback_type callback, void
      *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/evdns.c:3722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - flags
    - callback
    - ptr
    argTypes:
    - char*
    - int
    - evdns_callback_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3719
    functionDepth: 9
    functionLinenumber: 3719
    functionLinenumberEnd: 3724
    functionName: evdns_resolve_ipv4
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resolve_ipv4
    linkageType: ''
    returnType: int
    signature: "int evdns_resolve_ipv4(const char *name, int flags,\n\t\t\t\t\t   evdns_callback_type
      callback, void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:3735,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3736,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3741,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3745,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3747,1
    - Dst: search_request_new
      Src: /src/libevent/evdns.c:3749,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3752,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - base
    - name
    - flags
    - callback
    - ptr
    argTypes:
    - struct evdns_base*
    - char*
    - int
    - evdns_callback_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3757
      start: 3728
    functionDepth: 8
    functionLinenumber: 3728
    functionLinenumberEnd: 3757
    functionName: evdns_base_resolve_ipv6
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - log
    - EVDNS_UNLOCK
    - request_submit
    - EVDNS_LOCK
    - mm_calloc
    - request_new
    - search_request_new
    - mm_free
    linkageType: ''
    returnType: struct evdns_request
    signature: "struct evdns_request *\nevdns_base_resolve_ipv6(struct evdns_base
      *base,\n    const char *name, int flags,\n    evdns_callback_type callback,
      void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_resolve_ipv6
      Src: /src/libevent/evdns.c:3761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - flags
    - callback
    - ptr
    argTypes:
    - char*
    - int
    - evdns_callback_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3759
    functionDepth: 9
    functionLinenumber: 3759
    functionLinenumberEnd: 3763
    functionName: evdns_resolve_ipv6
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resolve_ipv6
    linkageType: ''
    returnType: int
    signature: "int evdns_resolve_ipv6(const char *name, int flags,\n    evdns_callback_type
      callback, void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3771,1
    - Dst: ntohl
      Src: /src/libevent/evdns.c:3772,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evdns.c:3773,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3778,1
    - Dst: log
      Src: /src/libevent/evdns.c:3783,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3784,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3787,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3789,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3791,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - base
    - in
    - flags
    - callback
    - ptr
    argTypes:
    - struct evdns_base*
    - struct in_addr*
    - int
    - evdns_callback_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3796
      start: 3765
    functionDepth: 8
    functionLinenumber: 3765
    functionLinenumberEnd: 3796
    functionName: evdns_base_resolve_reverse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - log
    - EVUTIL_ASSERT
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - mm_calloc
    - ntohl
    - request_submit
    - request_new
    - mm_free
    - evutil_snprintf
    linkageType: ''
    returnType: struct evdns_request
    signature: 'struct evdns_request *

      evdns_base_resolve_reverse(struct evdns_base *base, const struct in_addr *in,
      int flags, evdns_callback_type callback, void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_resolve_reverse
      Src: /src/libevent/evdns.c:3799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in
    - flags
    - callback
    - ptr
    argTypes:
    - struct in_addr*
    - int
    - evdns_callback_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3801
      start: 3798
    functionDepth: 9
    functionLinenumber: 3798
    functionLinenumberEnd: 3801
    functionName: evdns_resolve_reverse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resolve_reverse
    linkageType: ''
    returnType: int
    signature: int evdns_resolve_reverse(const struct in_addr *in, int flags, evdns_callback_type
      callback, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3811,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:3820,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:3820,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3821,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:3821,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:3822,1
    - Dst: log
      Src: /src/libevent/evdns.c:3827,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3828,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:3831,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:3833,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3835,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - base
    - in
    - flags
    - callback
    - ptr
    argTypes:
    - struct evdns_base*
    - struct in6_addr*
    - int
    - evdns_callback_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3803
    functionDepth: 8
    functionLinenumber: 3803
    functionLinenumberEnd: 3840
    functionName: evdns_base_resolve_reverse_ipv6
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVUTIL_ASSERT
    - log
    - EVDNS_LOCK
    - mm_calloc
    - request_submit
    - EVDNS_UNLOCK
    - request_new
    - mm_free
    - strlen
    linkageType: ''
    returnType: struct evdns_request
    signature: 'struct evdns_request *

      evdns_base_resolve_reverse_ipv6(struct evdns_base *base, const struct in6_addr
      *in, int flags, evdns_callback_type callback, void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_resolve_reverse_ipv6
      Src: /src/libevent/evdns.c:3843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in
    - flags
    - callback
    - ptr
    argTypes:
    - struct in6_addr*
    - int
    - evdns_callback_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3842
    functionDepth: 9
    functionLinenumber: 3842
    functionLinenumberEnd: 3845
    functionName: evdns_resolve_reverse_ipv6
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resolve_reverse_ipv6
    linkageType: ''
    returnType: int
    signature: int evdns_resolve_reverse_ipv6(const struct in6_addr *in, int flags,
      evdns_callback_type callback, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3881,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:3883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct search_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3873
    functionDepth: 1
    functionLinenumber: 3873
    functionLinenumberEnd: 3885
    functionName: search_state_decref
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void search_state_decref(struct search_state *const state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3889,1
    - Dst: memset
      Src: /src/libevent/evdns.c:3891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3896
      start: 3887
    functionDepth: 1
    functionLinenumber: 3887
    functionLinenumberEnd: 3896
    functionName: search_state_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memset
    - mm_malloc
    linkageType: ''
    returnType: struct search_state
    signature: 'struct search_state *

      search_state_new(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: search_state_decref
      Src: /src/libevent/evdns.c:3900,1
    - Dst: search_state_new
      Src: /src/libevent/evdns.c:3902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3903
      start: 3898
    functionDepth: 2
    functionLinenumber: 3898
    functionLinenumberEnd: 3903
    functionName: search_postfix_clear
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - search_state_new
    - search_state_decref
    linkageType: ''
    returnType: void
    signature: void search_postfix_clear(struct evdns_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3909,1
    - Dst: search_postfix_clear
      Src: /src/libevent/evdns.c:3910,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3912
      start: 3906
    functionDepth: 3
    functionLinenumber: 3906
    functionLinenumberEnd: 3912
    functionName: evdns_base_search_clear
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - search_postfix_clear
    linkageType: ''
    returnType: void
    signature: void evdns_base_search_clear(struct evdns_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_search_clear
      Src: /src/libevent/evdns.c:3916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3917
      start: 3914
    functionDepth: 4
    functionLinenumber: 3914
    functionLinenumberEnd: 3917
    functionName: evdns_search_clear
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_search_clear
    linkageType: ''
    returnType: void
    signature: void evdns_search_clear(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/evdns.c:3924,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3926,1
    - Dst: search_state_new
      Src: /src/libevent/evdns.c:3927,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:3931,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:3933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - base
    - domain
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3938
      start: 3919
    functionDepth: 2
    functionLinenumber: 3919
    functionLinenumberEnd: 3938
    functionName: search_postfix_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - search_state_new
    - memcpy
    - mm_malloc
    - strlen
    linkageType: ''
    returnType: void
    signature: void search_postfix_add(struct evdns_base *base, const char *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3942
    functionDepth: 1
    functionLinenumber: 3942
    functionLinenumberEnd: 3955
    functionName: search_reverse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    linkageType: ''
    returnType: void
    signature: void search_reverse(struct evdns_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3960,1
    - Dst: search_postfix_add
      Src: /src/libevent/evdns.c:3961,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - base
    - domain
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3963
      start: 3958
    functionDepth: 3
    functionLinenumber: 3958
    functionLinenumberEnd: 3963
    functionName: evdns_base_search_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - search_postfix_add
    linkageType: ''
    returnType: void
    signature: void evdns_base_search_add(struct evdns_base *base, const char *domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_search_add
      Src: /src/libevent/evdns.c:3966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3967
      start: 3964
    functionDepth: 4
    functionLinenumber: 3964
    functionLinenumberEnd: 3967
    functionName: evdns_search_add
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_search_add
    linkageType: ''
    returnType: void
    signature: void evdns_search_add(const char *domain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:3972,1
    - Dst: search_state_new
      Src: /src/libevent/evdns.c:3973,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:3976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - base
    - ndots
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3977
      start: 3970
    functionDepth: 2
    functionLinenumber: 3970
    functionLinenumberEnd: 3977
    functionName: evdns_base_search_ndots_set
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - search_state_new
    linkageType: ''
    returnType: void
    signature: void evdns_base_search_ndots_set(struct evdns_base *base, const int
      ndots)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_search_ndots_set
      Src: /src/libevent/evdns.c:3980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndots
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3981
      start: 3978
    functionDepth: 3
    functionLinenumber: 3978
    functionLinenumberEnd: 3981
    functionName: evdns_search_ndots_set
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_search_ndots_set
    linkageType: ''
    returnType: void
    signature: void evdns_search_ndots_set(const int ndots)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:3987,1
    - Dst: search_postfix_clear
      Src: /src/libevent/evdns.c:3988,1
    - Dst: gethostname
      Src: /src/libevent/evdns.c:3989,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:3990,1
    - Dst: search_postfix_add
      Src: /src/libevent/evdns.c:3992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3993
      start: 3983
    functionDepth: 3
    functionLinenumber: 3983
    functionLinenumberEnd: 3993
    functionName: search_set_from_hostname
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strchr
    - search_postfix_add
    - ASSERT_LOCKED
    - search_postfix_clear
    - gethostname
    linkageType: ''
    returnType: void
    signature: void search_set_from_hostname(struct evdns_base *base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/evdns.c:3998,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4011,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4013,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4015,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - state
    - n
    - base_name
    argTypes:
    - struct search_state*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4024
      start: 3996
    functionDepth: 1
    functionLinenumber: 3996
    functionLinenumberEnd: 4024
    functionName: search_make_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - mm_malloc
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      search_make_new(const struct search_state *const state, int n, const char *const
      base_name)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4029,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4030,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4031,1
    - Dst: string_num_dots
      Src: /src/libevent/evdns.c:4037,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4038,1
    - Dst: search_make_new
      Src: /src/libevent/evdns.c:4042,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4044,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4045,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4049,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:4050,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4054,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:4060,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4063,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:4065,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - base
    - handle
    - type
    - name
    - flags
    argTypes:
    - struct evdns_base*
    - struct evdns_request*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4026
    functionDepth: 8
    functionLinenumber: 4026
    functionLinenumberEnd: 4068
    functionName: search_request_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - ASSERT_LOCKED
    - search_make_new
    - EVUTIL_ASSERT
    - mm_strdup
    - request_submit
    - mm_free
    - request_new
    - string_num_dots
    linkageType: ''
    returnType: struct request
    signature: "struct request *\nsearch_request_new(struct evdns_base *base, struct
      evdns_request *handle,\n\t\t   int type, const char *const name, int flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4080,1
    - Dst: string_num_dots
      Src: /src/libevent/evdns.c:4088,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4090,1
    - Dst: log
      Src: /src/libevent/evdns.c:4091,1
    - Dst: search_request_finished
      Src: /src/libevent/evdns.c:4093,1
    - Dst: search_make_new
      Src: /src/libevent/evdns.c:4100,1
    - Dst: log
      Src: /src/libevent/evdns.c:4102,1
    - Dst: request_new
      Src: /src/libevent/evdns.c:4103,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4104,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:4111,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:4111,1
    - Dst: request_submit
      Src: /src/libevent/evdns.c:4114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - handle
    argTypes:
    - struct evdns_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4116
      start: 4075
    functionDepth: 8
    functionLinenumber: 4075
    functionLinenumberEnd: 4116
    functionName: search_try_next
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - request_finished
    - ASSERT_LOCKED
    - search_make_new
    - log
    - request_submit
    - mm_free
    - request_new
    - string_num_dots
    - search_request_finished
    - REQ_HEAD
    linkageType: ''
    returnType: int
    signature: int search_try_next(struct evdns_request *const handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4120,1
    - Dst: search_state_decref
      Src: /src/libevent/evdns.c:4122,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - struct evdns_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4129
      start: 4118
    functionDepth: 2
    functionLinenumber: 4118
    functionLinenumberEnd: 4129
    functionName: search_request_finished
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - mm_free
    - ASSERT_LOCKED
    - search_state_decref
    linkageType: ''
    returnType: void
    signature: void search_request_finished(struct evdns_request *const handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4141,1
    - Dst: search_set_from_hostname
      Src: /src/libevent/evdns.c:4143,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - base
    - flags
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4134
    functionDepth: 6
    functionLinenumber: 4134
    functionLinenumberEnd: 4146
    functionName: evdns_resolv_set_defaults
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - search_set_from_hostname
    - ASSERT_LOCKED
    - evdns_base_nameserver_ip_add
    linkageType: ''
    returnType: void
    signature: void evdns_resolv_set_defaults(struct evdns_base *base, int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libevent/evdns.c:4155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - s
    - delim
    - state
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4167
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4167
    functionName: strtok_r
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      strtok_r(char *s, const char *delim, char **state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libevent/evdns.c:4175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4171
    functionDepth: 0
    functionLinenumber: 4171
    functionLinenumberEnd: 4178
    functionName: strtoint
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: int strtoint(const char *const str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/libevent/evdns.c:4186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4194
      start: 4181
    functionDepth: 0
    functionLinenumber: 4181
    functionLinenumberEnd: 4194
    functionName: evdns_strtotimeval
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strtod
    linkageType: ''
    returnType: int
    signature: int evdns_strtotimeval(const char *const str, struct timeval *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - str
    - min
    - max
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4209
      start: 4197
    functionDepth: 0
    functionLinenumber: 4197
    functionLinenumberEnd: 4209
    functionName: strtoint_clipped
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strtoint
    linkageType: ''
    returnType: int
    signature: int strtoint_clipped(const char *const str, int min, int max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4218,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:4222,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:4223,1
    - Dst: evdns_request_remove
      Src: /src/libevent/evdns.c:4230,1
    - Dst: evdns_request_insert
      Src: /src/libevent/evdns.c:4231,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - base
    - maxinflight
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4240
      start: 4211
    functionDepth: 2
    functionLinenumber: 4211
    functionLinenumberEnd: 4240
    functionName: evdns_base_set_max_requests_inflight
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - EVUTIL_ASSERT
    - mm_calloc
    - evdns_request_insert
    - mm_free
    - evdns_request_remove
    linkageType: ''
    returnType: int
    signature: int evdns_base_set_max_requests_inflight(struct evdns_base *base, int
      maxinflight)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:4248,1
    - Dst: evdns_base_set_option_impl
      Src: /src/libevent/evdns.c:4249,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - base
    - option
    - val
    argTypes:
    - struct evdns_base*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4252
      start: 4243
    functionDepth: 1
    functionLinenumber: 4243
    functionLinenumberEnd: 4252
    functionName: evdns_base_set_option
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_set_option_impl
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    linkageType: ''
    returnType: int
    signature: "int evdns_base_set_option(struct evdns_base *base,\n    const char
      *option, const char *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/evdns.c:4260,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4261,1
    - Dst: strncmp
      Src: /src/libevent/evdns.c:4263,1
    - Dst: strncmp
      Src: /src/libevent/evdns.c:4265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s1
    - optionname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4268
      start: 4254
    functionDepth: 0
    functionLinenumber: 4254
    functionLinenumberEnd: 4268
    functionName: str_matches_option
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int str_matches_option(const char *s1, const char *optionname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:4276,1
    - Dst: log
      Src: /src/libevent/evdns.c:4280,1
    - Dst: log
      Src: /src/libevent/evdns.c:4285,1
    - Dst: log
      Src: /src/libevent/evdns.c:4289,1
    - Dst: log
      Src: /src/libevent/evdns.c:4295,1
    - Dst: log
      Src: /src/libevent/evdns.c:4299,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - port
    - option
    - value
    argTypes:
    - struct evdns_server_port*
    - enum evdns_server_option
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4306
      start: 4271
    functionDepth: 1
    functionLinenumber: 4271
    functionLinenumberEnd: 4306
    functionName: evdns_server_port_set_option
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - log
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    linkageType: ''
    returnType: int
    signature: "int evdns_server_port_set_option(struct evdns_server_port *port,\n\tenum
      evdns_server_option option, size_t value)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4312,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4313,1
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4314,1
    - Dst: log
      Src: /src/libevent/evdns.c:4317,1
    - Dst: search_state_new
      Src: /src/libevent/evdns.c:4318,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4321,1
    - Dst: evdns_strtotimeval
      Src: /src/libevent/evdns.c:4323,1
    - Dst: log
      Src: /src/libevent/evdns.c:4325,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4326,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4327,1
    - Dst: evdns_strtotimeval
      Src: /src/libevent/evdns.c:4329,1
    - Dst: log
      Src: /src/libevent/evdns.c:4331,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4333,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4335,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4336,1
    - Dst: log
      Src: /src/libevent/evdns.c:4339,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4342,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4343,1
    - Dst: log
      Src: /src/libevent/evdns.c:4346,1
    - Dst: evdns_base_set_max_requests_inflight
      Src: /src/libevent/evdns.c:4348,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4349,1
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4350,1
    - Dst: log
      Src: /src/libevent/evdns.c:4354,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4356,1
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4357,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4361,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/evdns.c:4366,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4370,1
    - Dst: evdns_strtotimeval
      Src: /src/libevent/evdns.c:4372,1
    - Dst: log
      Src: /src/libevent/evdns.c:4376,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4378,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4380,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4381,1
    - Dst: log
      Src: /src/libevent/evdns.c:4384,1
    - Dst: log
      Src: /src/libevent/evdns.c:4390,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4393,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4394,1
    - Dst: log
      Src: /src/libevent/evdns.c:4397,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4400,1
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4401,1
    - Dst: log
      Src: /src/libevent/evdns.c:4404,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4406,1
    - Dst: strtoint
      Src: /src/libevent/evdns.c:4407,1
    - Dst: log
      Src: /src/libevent/evdns.c:4410,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4412,1
    - Dst: evdns_strtotimeval
      Src: /src/libevent/evdns.c:4414,1
    - Dst: log
      Src: /src/libevent/evdns.c:4416,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4417,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4418,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4420,1
    - Dst: log
      Src: /src/libevent/evdns.c:4421,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4423,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4425,1
    - Dst: log
      Src: /src/libevent/evdns.c:4426,1
    - Dst: str_matches_option
      Src: /src/libevent/evdns.c:4428,1
    - Dst: strtoint_clipped
      Src: /src/libevent/evdns.c:4429,1
    - Dst: log
      Src: /src/libevent/evdns.c:4432,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 150
    argCount: 4
    argNames:
    - base
    - option
    - val
    - flags
    argTypes:
    - struct evdns_base*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4436
      start: 4308
    functionDepth: 3
    functionLinenumber: 4308
    functionLinenumberEnd: 4436
    functionName: evdns_base_set_option_impl
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - ASSERT_LOCKED
    - search_state_new
    - strtoint
    - log
    - memcpy
    - evdns_strtotimeval
    - strtoint_clipped
    - evutil_parse_sockaddr_port
    - evdns_base_set_max_requests_inflight
    - str_matches_option
    - strlen
    linkageType: ''
    returnType: int
    signature: "int evdns_base_set_option_impl(struct evdns_base *base,\n    const
      char *option, const char *val, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/evdns.c:4442,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/evdns.c:4443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - option
    - val
    - flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4444
      start: 4438
    functionDepth: 2
    functionLinenumber: 4438
    functionLinenumberEnd: 4444
    functionName: evdns_set_option
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_new
    - evdns_base_set_option
    linkageType: ''
    returnType: int
    signature: int evdns_set_option(const char *option, const char *val, int flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/libevent/evdns.c:4453,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4454,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:4457,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4461,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:4462,1
    - Dst: search_postfix_clear
      Src: /src/libevent/evdns.c:4465,1
    - Dst: search_postfix_add
      Src: /src/libevent/evdns.c:4466,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:4468,1
    - Dst: search_postfix_clear
      Src: /src/libevent/evdns.c:4470,1
    - Dst: search_postfix_add
      Src: /src/libevent/evdns.c:4473,1
    - Dst: search_reverse
      Src: /src/libevent/evdns.c:4475,1
    - Dst: strcmp
      Src: /src/libevent/evdns.c:4476,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:4479,1
    - Dst: evdns_base_set_option_impl
      Src: /src/libevent/evdns.c:4480,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - base
    - start
    - flags
    argTypes:
    - struct evdns_base*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4484
      start: 4446
    functionDepth: 6
    functionLinenumber: 4446
    functionLinenumberEnd: 4484
    functionName: resolv_conf_parse_line
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strchr
    - ASSERT_LOCKED
    - search_postfix_add
    - evdns_base_set_option_impl
    - evdns_base_nameserver_ip_add
    - search_postfix_clear
    - search_reverse
    - strtok_r
    - strcmp
    linkageType: ''
    returnType: void
    signature: void resolv_conf_parse_line(struct evdns_base *base, char *const start,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:4498,1
    - Dst: evdns_base_resolv_conf_parse_impl
      Src: /src/libevent/evdns.c:4499,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - base
    - flags
    - filename
    argTypes:
    - struct evdns_base*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4502
      start: 4495
    functionDepth: 1
    functionLinenumber: 4495
    functionLinenumberEnd: 4502
    functionName: evdns_base_resolv_conf_parse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evdns_base_resolv_conf_parse_impl
    linkageType: ''
    returnType: int
    signature: int evdns_base_resolv_conf_parse(struct evdns_base *base, int flags,
      const char *const filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHGetSpecialFolderPathA
      Src: /src/libevent/evdns.c:4518,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4520,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:4520,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4521,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evdns.c:4522,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:4525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4527
      start: 4504
    functionDepth: 2
    functionLinenumber: 4504
    functionLinenumberEnd: 4527
    functionName: evdns_get_default_hosts_filename
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_strdup
    - mm_malloc
    - strlen
    - SHGetSpecialFolderPathA
    - evutil_snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      evdns_get_default_hosts_filename(void)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:4537,1
    - Dst: evdns_get_default_hosts_filename
      Src: /src/libevent/evdns.c:4544,1
    - Dst: evdns_base_load_hosts
      Src: /src/libevent/evdns.c:4545,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4547,1
    - Dst: evdns_resolv_set_defaults
      Src: /src/libevent/evdns.c:4551,1
    - Dst: evutil_read_file_
      Src: /src/libevent/evdns.c:4555,1
    - Dst: evdns_resolv_set_defaults
      Src: /src/libevent/evdns.c:4558,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:4567,1
    - Dst: resolv_conf_parse_line
      Src: /src/libevent/evdns.c:4569,1
    - Dst: resolv_conf_parse_line
      Src: /src/libevent/evdns.c:4573,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4580,1
    - Dst: search_set_from_hostname
      Src: /src/libevent/evdns.c:4584,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4587,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - base
    - flags
    - filename
    argTypes:
    - struct evdns_base*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4589
      start: 4529
    functionDepth: 7
    functionLinenumber: 4529
    functionLinenumberEnd: 4589
    functionName: evdns_base_resolv_conf_parse_impl
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - strchr
    - evdns_get_default_hosts_filename
    - resolv_conf_parse_line
    - evdns_resolv_set_defaults
    - evdns_base_load_hosts
    - log
    - evdns_base_nameserver_ip_add
    - evutil_read_file_
    - search_set_from_hostname
    - mm_free
    linkageType: ''
    returnType: int
    signature: int evdns_base_resolv_conf_parse_impl(struct evdns_base *base, int
      flags, const char *const filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/evdns.c:4594,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/evdns.c:4595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - flags
    - filename
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4596
      start: 4591
    functionDepth: 2
    functionLinenumber: 4591
    functionLinenumberEnd: 4596
    functionName: evdns_resolv_conf_parse
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resolv_conf_parse
    - evdns_base_new
    linkageType: ''
    returnType: int
    signature: int evdns_resolv_conf_parse(int flags, const char *const filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4606,1
    - Dst: isspace
      Src: /src/libevent/evdns.c:4608,1
    - Dst: isdigit
      Src: /src/libevent/evdns.c:4611,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4614,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:4616,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4618,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4619,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - base
    - ips
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4623
      start: 4601
    functionDepth: 6
    functionLinenumber: 4601
    functionLinenumberEnd: 4623
    functionName: evdns_nameserver_ip_add_line
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - isspace
    - memcpy
    - evdns_base_nameserver_ip_add
    - isdigit
    - mm_malloc
    - mm_free
    linkageType: ''
    returnType: int
    signature: int evdns_nameserver_ip_add_line(struct evdns_base *base, const char
      *ips)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4640,1
    - Dst: evutil_load_windows_system_library_
      Src: /src/libevent/evdns.c:4641,1
    - Dst: TEXT
      Src: /src/libevent/evdns.c:4642,1
    - Dst: log
      Src: /src/libevent/evdns.c:4643,1
    - Dst: GetProcAddress
      Src: /src/libevent/evdns.c:4647,1
    - Dst: log
      Src: /src/libevent/evdns.c:4648,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4653,1
    - Dst: fn
      Src: /src/libevent/evdns.c:4656,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4662,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4663,1
    - Dst: fn
      Src: /src/libevent/evdns.c:4666,1
    - Dst: log
      Src: /src/libevent/evdns.c:4668,1
    - Dst: inet_ntop
      Src: /src/libevent/evdns.c:4679,1
    - Dst: inet_ntop
      Src: /src/libevent/evdns.c:4681,1
    - Dst: strncmp
      Src: /src/libevent/evdns.c:4685,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/evdns.c:4689,1
    - Dst: log
      Src: /src/libevent/evdns.c:4691,1
    - Dst: log
      Src: /src/libevent/evdns.c:4695,1
    - Dst: log
      Src: /src/libevent/evdns.c:4703,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4712,1
    - Dst: FreeLibrary
      Src: /src/libevent/evdns.c:4714,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4716
      start: 4629
    functionDepth: 6
    functionLinenumber: 4629
    functionLinenumberEnd: 4716
    functionName: load_nameservers_with_getadaptersaddresses_unlocked
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - ASSERT_LOCKED
    - fn
    - log
    - inet_ntop
    - evdns_base_nameserver_ip_add
    - evutil_load_windows_system_library_
    - strncmp
    - mm_malloc
    - FreeLibrary
    - GetProcAddress
    - TEXT
    - mm_free
    linkageType: ''
    returnType: int
    signature: int load_nameservers_with_getadaptersaddresses_unlocked(struct evdns_base
      *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:4722,1
    - Dst: load_nameservers_with_getadaptersaddresses_unlocked
      Src: /src/libevent/evdns.c:4723,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4726
      start: 4718
    functionDepth: 7
    functionLinenumber: 4718
    functionLinenumberEnd: 4726
    functionName: load_nameservers_with_getadaptersaddresses
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - load_nameservers_with_getadaptersaddresses_unlocked
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    linkageType: ''
    returnType: int
    signature: int load_nameservers_with_getadaptersaddresses(struct evdns_base *base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4735,1
    - Dst: RegQueryValueEx
      Src: /src/libevent/evdns.c:4736,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4739,1
    - Dst: RegQueryValueEx
      Src: /src/libevent/evdns.c:4742,1
    - Dst: evdns_nameserver_ip_add_line
      Src: /src/libevent/evdns.c:4744,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - base
    - key
    - subkey
    argTypes:
    - struct evdns_base*
    - HKEY
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4749
      start: 4728
    functionDepth: 7
    functionLinenumber: 4728
    functionLinenumberEnd: 4749
    functionName: config_nameserver_from_reg_key
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_nameserver_ip_add_line
    - ASSERT_LOCKED
    - RegQueryValueEx
    - mm_malloc
    - mm_free
    linkageType: ''
    returnType: int
    signature: int config_nameserver_from_reg_key(struct evdns_base *base, HKEY key,
      const TCHAR *subkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:4769,1
    - Dst: GetVersion
      Src: /src/libevent/evdns.c:4771,1
    - Dst: RegOpenKeyEx
      Src: /src/libevent/evdns.c:4774,1
    - Dst: log
      Src: /src/libevent/evdns.c:4776,1
    - Dst: GetLastError
      Src: /src/libevent/evdns.c:4776,1
    - Dst: RegOpenKeyEx
      Src: /src/libevent/evdns.c:4779,1
    - Dst: TEXT
      Src: /src/libevent/evdns.c:4779,1
    - Dst: log
      Src: /src/libevent/evdns.c:4783,1
    - Dst: GetLastError
      Src: /src/libevent/evdns.c:4783,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4786,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4787,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4788,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4789,1
    - Dst: RegCloseKey
      Src: /src/libevent/evdns.c:4790,1
    - Dst: RegCloseKey
      Src: /src/libevent/evdns.c:4791,1
    - Dst: RegOpenKeyEx
      Src: /src/libevent/evdns.c:4794,1
    - Dst: log
      Src: /src/libevent/evdns.c:4796,1
    - Dst: GetLastError
      Src: /src/libevent/evdns.c:4796,1
    - Dst: TRY
      Src: /src/libevent/evdns.c:4799,1
    - Dst: RegCloseKey
      Src: /src/libevent/evdns.c:4800,1
    - Dst: log
      Src: /src/libevent/evdns.c:4804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4809
      start: 4755
    functionDepth: 1
    functionLinenumber: 4755
    functionLinenumberEnd: 4809
    functionName: load_nameservers_from_registry
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - ASSERT_LOCKED
    - TRY
    - log
    - GetVersion
    - RegCloseKey
    - TEXT
    - RegOpenKeyEx
    linkageType: ''
    returnType: int
    signature: int load_nameservers_from_registry(struct evdns_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4768
      start: 4760
    functionDepth: 0
    functionLinenumber: 4760
    functionLinenumberEnd: 4768
    functionName: TRY
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY(k, name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:4820,1
    - Dst: evdns_get_default_hosts_filename
      Src: /src/libevent/evdns.c:4821,1
    - Dst: log
      Src: /src/libevent/evdns.c:4822,1
    - Dst: evdns_base_load_hosts
      Src: /src/libevent/evdns.c:4823,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4825,1
    - Dst: load_nameservers_with_getadaptersaddresses_unlocked
      Src: /src/libevent/evdns.c:4827,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4828,1
    - Dst: load_nameservers_from_registry
      Src: /src/libevent/evdns.c:4831,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4835
      start: 4811
    functionDepth: 7
    functionLinenumber: 4811
    functionLinenumberEnd: 4835
    functionName: evdns_base_config_windows_nameservers
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_get_default_hosts_filename
    - evdns_base_load_hosts
    - log
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - mm_free
    - load_nameservers_with_getadaptersaddresses_unlocked
    - load_nameservers_from_registry
    linkageType: ''
    returnType: int
    signature: int evdns_base_config_windows_nameservers(struct evdns_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/evdns.c:4841,1
    - Dst: evdns_base_config_windows_nameservers
      Src: /src/libevent/evdns.c:4844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4846
      start: 4837
    functionDepth: 8
    functionLinenumber: 4837
    functionLinenumberEnd: 4846
    functionName: evdns_config_windows_nameservers
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_config_windows_nameservers
    - evdns_base_new
    linkageType: ''
    returnType: int
    signature: int evdns_config_windows_nameservers(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evutil_secure_rng_init
      Src: /src/libevent/evdns.c:4854,1
    - Dst: log
      Src: /src/libevent/evdns.c:4855,1
    - Dst: evutil_set_evdns_getaddrinfo_fn_
      Src: /src/libevent/evdns.c:4863,1
    - Dst: evutil_set_evdns_getaddrinfo_cancel_fn_
      Src: /src/libevent/evdns.c:4864,1
    - Dst: mm_malloc
      Src: /src/libevent/evdns.c:4866,1
    - Dst: memset
      Src: /src/libevent/evdns.c:4869,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/evdns.c:4872,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:4873,1
    - Dst: evdns_base_set_max_requests_inflight
      Src: /src/libevent/evdns.c:4878,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evdns.c:4901,1
    - Dst: SPLAY_INIT
      Src: /src/libevent/evdns.c:4902,1
    - Dst: log
      Src: /src/libevent/evdns.c:4913,1
    - Dst: evdns_base_config_windows_nameservers
      Src: /src/libevent/evdns.c:4931,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/evdns.c:4933,1
    - Dst: evutil_resolvconf_filename_
      Src: /src/libevent/evdns.c:4933,1
    - Dst: evdns_base_free_and_unlock
      Src: /src/libevent/evdns.c:4936,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:4943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 2
    argNames:
    - event_base
    - flags
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4945
      start: 4849
    functionDepth: 8
    functionLinenumber: 4849
    functionLinenumberEnd: 4945
    functionName: evdns_base_new
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 5
    functionsReached:
    - evdns_base_config_windows_nameservers
    - evutil_set_evdns_getaddrinfo_fn_
    - evutil_set_evdns_getaddrinfo_cancel_fn_
    - evdns_base_resolv_conf_parse
    - memset
    - TAILQ_INIT
    - evdns_base_free_and_unlock
    - log
    - evutil_resolvconf_filename_
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evutil_secure_rng_init
    - mm_malloc
    - evdns_base_set_max_requests_inflight
    - SPLAY_INIT
    - EVTHREAD_ALLOC_LOCK
    linkageType: ''
    returnType: struct evdns_base
    signature: 'struct evdns_base *

      evdns_base_new(struct event_base *event_base, int flags)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/evdns.c:4950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4957
      start: 4947
    functionDepth: 9
    functionLinenumber: 4947
    functionLinenumberEnd: 4957
    functionName: evdns_init
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_new
    linkageType: ''
    returnType: int
    signature: int evdns_init(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4978
      start: 4959
    functionDepth: 0
    functionLinenumber: 4959
    functionLinenumberEnd: 4978
    functionName: evdns_err_to_string
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      evdns_err_to_string(int err)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evutil_closesocket
      Src: /src/libevent/evdns.c:4984,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:4985,1
    - Dst: event_debug_unassign
      Src: /src/libevent/evdns.c:4986,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:4988,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:4990,1
    - Dst: event_debug_unassign
      Src: /src/libevent/evdns.c:4993,1
    - Dst: disconnect_and_free_connection
      Src: /src/libevent/evdns.c:4994,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:4995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - server
    argTypes:
    - struct nameserver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4996
      start: 4980
    functionDepth: 3
    functionLinenumber: 4980
    functionLinenumberEnd: 4996
    functionName: evdns_nameserver_free
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_cancel_request
    - event_del
    - evutil_closesocket
    - mm_free
    - disconnect_and_free_connection
    - event_debug_unassign
    linkageType: ''
    returnType: void
    signature: void evdns_nameserver_free(struct nameserver *server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/libevent/evdns.c:5001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct evdns_cache*
    - struct evdns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 4998
    functionDepth: 1
    functionLinenumber: 4998
    functionLinenumberEnd: 5002
    functionName: evdns_cache_compare
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int evdns_cache_compare(struct evdns_cache *a, struct evdns_cache *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_REMOVE
      Src: /src/libevent/evdns.c:5010,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5011,1
    - Dst: evtimer_del
      Src: /src/libevent/evdns.c:5012,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5013,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct evdns_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5015
      start: 5007
    functionDepth: 2
    functionLinenumber: 5007
    functionLinenumberEnd: 5015
    functionName: evdns_cache_free
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - SPLAY_REMOVE
    - mm_free
    - evtimer_del
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void evdns_cache_free(struct evdns_cache *cache)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:5030,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:5031,1
    - Dst: reply_schedule_callback
      Src: /src/libevent/evdns.c:5036,1
    - Dst: request_finished
      Src: /src/libevent/evdns.c:5037,1
    - Dst: REQ_HEAD
      Src: /src/libevent/evdns.c:5037,1
    - Dst: evdns_nameserver_free
      Src: /src/libevent/evdns.c:5046,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5056,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5058,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evdns.c:5064,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evdns.c:5065,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5066,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5070,1
    - Dst: SPLAY_EMPTY
      Src: /src/libevent/evdns.c:5072,1
    - Dst: evdns_cache_free
      Src: /src/libevent/evdns.c:5073,1
    - Dst: SPLAY_ROOT
      Src: /src/libevent/evdns.c:5073,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5076,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/evdns.c:5077,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5079,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - base
    - fail_requests
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5080
      start: 5017
    functionDepth: 4
    functionLinenumber: 5017
    functionLinenumberEnd: 5080
    functionName: evdns_base_free_and_unlock
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 1
    functionsReached:
    - evdns_nameserver_free
    - TAILQ_REMOVE
    - request_finished
    - EVTHREAD_FREE_LOCK
    - SPLAY_EMPTY
    - evdns_cache_free
    - EVDNS_UNLOCK
    - reply_schedule_callback
    - TAILQ_FIRST
    - SPLAY_ROOT
    - mm_free
    - REQ_HEAD
    linkageType: ''
    returnType: void
    signature: void evdns_base_free_and_unlock(struct evdns_base *base, int fail_requests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5085,1
    - Dst: evdns_base_free_and_unlock
      Src: /src/libevent/evdns.c:5086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - fail_requests
    argTypes:
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5087
      start: 5082
    functionDepth: 5
    functionLinenumber: 5082
    functionLinenumberEnd: 5087
    functionName: evdns_base_free
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_free_and_unlock
    - EVDNS_LOCK
    linkageType: ''
    returnType: void
    signature: void evdns_base_free(struct evdns_base *base, int fail_requests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5093,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evdns.c:5094,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evdns.c:5095,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5096,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evdns_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5099
      start: 5089
    functionDepth: 1
    functionLinenumber: 5089
    functionLinenumberEnd: 5099
    functionName: evdns_base_clear_host_addresses
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - TAILQ_FIRST
    - mm_free
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void evdns_base_clear_host_addresses(struct evdns_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_free
      Src: /src/libevent/evdns.c:5107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fail_requests
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5110
      start: 5101
    functionDepth: 6
    functionLinenumber: 5101
    functionLinenumberEnd: 5110
    functionName: evdns_shutdown
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_base_free
    linkageType: ''
    returnType: void
    signature: void evdns_shutdown(int fail_requests)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/libevent/evdns.c:5117,1
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:5121,1
    - Dst: memset
      Src: /src/libevent/evdns.c:5128,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/evdns.c:5129,1
    - Dst: sockaddr_getport
      Src: /src/libevent/evdns.c:5134,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:5140,1
    - Dst: strlen
      Src: /src/libevent/evdns.c:5146,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:5148,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:5151,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5152,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5153,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/evdns.c:5156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - base
    - line
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5164
      start: 5112
    functionDepth: 3
    functionLinenumber: 5112
    functionLinenumberEnd: 5164
    functionName: evdns_base_parse_hosts_line
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - sockaddr_getport
    - strchr
    - memset
    - ASSERT_LOCKED
    - TAILQ_INSERT_TAIL
    - memcpy
    - EVUTIL_ASSERT
    - mm_calloc
    - evutil_parse_sockaddr_port
    - strtok_r
    - strlen
    linkageType: ''
    returnType: int
    signature: int evdns_base_parse_hosts_line(struct evdns_base *base, char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_LOCKED
      Src: /src/libevent/evdns.c:5173,1
    - Dst: evutil_read_file_
      Src: /src/libevent/evdns.c:5176,1
    - Dst: strlcpy
      Src: /src/libevent/evdns.c:5178,1
    - Dst: evdns_base_parse_hosts_line
      Src: /src/libevent/evdns.c:5179,1
    - Dst: strlcpy
      Src: /src/libevent/evdns.c:5180,1
    - Dst: evdns_base_parse_hosts_line
      Src: /src/libevent/evdns.c:5181,1
    - Dst: strchr
      Src: /src/libevent/evdns.c:5189,1
    - Dst: evdns_base_parse_hosts_line
      Src: /src/libevent/evdns.c:5193,1
    - Dst: evdns_base_parse_hosts_line
      Src: /src/libevent/evdns.c:5196,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - base
    - hosts_fname
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5203
      start: 5166
    functionDepth: 4
    functionLinenumber: 5166
    functionLinenumberEnd: 5203
    functionName: evdns_base_load_hosts_impl
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - strchr
    - ASSERT_LOCKED
    - evdns_base_parse_hosts_line
    - evutil_read_file_
    - mm_free
    - strlcpy
    linkageType: ''
    returnType: int
    signature: int evdns_base_load_hosts_impl(struct evdns_base *base, const char
      *hosts_fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5211,1
    - Dst: evdns_base_load_hosts_impl
      Src: /src/libevent/evdns.c:5212,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - base
    - hosts_fname
    argTypes:
    - struct evdns_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5215
      start: 5205
    functionDepth: 5
    functionLinenumber: 5205
    functionLinenumberEnd: 5215
    functionName: evdns_base_load_hosts
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 2
    functionsReached:
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evdns_base_load_hosts_impl
    linkageType: ''
    returnType: int
    signature: int evdns_base_load_hosts(struct evdns_base *base, const char *hosts_fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e1
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5273
      start: 5263
    functionDepth: 0
    functionLinenumber: 5263
    functionLinenumberEnd: 5273
    functionName: evdns_err_to_getaddrinfo_err
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evdns_err_to_getaddrinfo_err(int e1)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5284
      start: 5276
    functionDepth: 0
    functionLinenumber: 5276
    functionLinenumberEnd: 5284
    functionName: getaddrinfo_merge_err
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getaddrinfo_merge_err(int e1, int e2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5292,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5294,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:5295,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5296,1
    - Dst: mm_free
      Src: /src/libevent/evdns.c:5297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct evdns_getaddrinfo_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5299
      start: 5286
    functionDepth: 2
    functionLinenumber: 5286
    functionLinenumberEnd: 5299
    functionName: free_getaddrinfo_request
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - mm_free
    - evutil_freeaddrinfo
    - event_del
    linkageType: ''
    returnType: void
    signature: void free_getaddrinfo_request(struct evdns_getaddrinfo_request *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - data
    - ai
    argTypes:
    - struct evdns_getaddrinfo_request*
    - struct evutil_addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5309
      start: 5301
    functionDepth: 0
    functionLinenumber: 5301
    functionLinenumberEnd: 5309
    functionName: add_cname_to_reply
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void add_cname_to_reply(struct evdns_getaddrinfo_request *data,\n
      \   struct evutil_addrinfo *ai)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5325,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5327,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5329,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5334,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5336,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5338,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:5343,1
    - Dst: add_cname_to_reply
      Src: /src/libevent/evdns.c:5347,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5348,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5354,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - fd
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5365
      start: 5315
    functionDepth: 3
    functionLinenumber: 5315
    functionLinenumberEnd: 5365
    functionName: evdns_getaddrinfo_timeout_cb
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_cancel_request
    - free_getaddrinfo_request
    - EVUTIL_ASSERT
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - struct evdns_getaddrinfo_request*::user_cb
    - add_cname_to_reply
    linkageType: ''
    returnType: void
    signature: void evdns_getaddrinfo_timeout_cb(evutil_socket_t fd, short what, void
      *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_add
      Src: /src/libevent/evdns.c:5371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evdns_base
    - data
    argTypes:
    - struct evdns_base*
    - struct evdns_getaddrinfo_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5372
      start: 5367
    functionDepth: 1
    functionLinenumber: 5367
    functionLinenumberEnd: 5372
    functionName: evdns_getaddrinfo_set_timeout
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - event_add
    linkageType: ''
    returnType: int
    signature: "int evdns_getaddrinfo_set_timeout(struct evdns_base *evdns_base,\n
      \   struct evdns_getaddrinfo_request *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5379
      start: 5374
    functionDepth: 0
    functionLinenumber: 5374
    functionLinenumberEnd: 5379
    functionName: evdns_result_is_answer
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evdns_result_is_answer(int result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:5386,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5387,1
    - Dst: evdns_cache_free
      Src: /src/libevent/evdns.c:5388,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5390
      start: 5381
    functionDepth: 3
    functionLinenumber: 5381
    functionLinenumberEnd: 5390
    functionName: evdns_ttl_expired
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - log
    - evdns_cache_free
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    linkageType: ''
    returnType: void
    signature: void evdns_ttl_expired(evutil_socket_t fd, short what, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:5399,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5400,1
    - Dst: SPLAY_FIND
      Src: /src/libevent/evdns.c:5402,1
    - Dst: log
      Src: /src/libevent/evdns.c:5404,1
    - Dst: evdns_cache_free
      Src: /src/libevent/evdns.c:5405,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:5408,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:5410,1
    - Dst: evutil_dup_addrinfo_
      Src: /src/libevent/evdns.c:5411,1
    - Dst: SPLAY_INSERT
      Src: /src/libevent/evdns.c:5412,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:5413,1
    - Dst: timerclear
      Src: /src/libevent/evdns.c:5414,1
    - Dst: evtimer_add
      Src: /src/libevent/evdns.c:5416,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - dns_base
    - nodename
    - res
    - ttl
    argTypes:
    - struct evdns_base*
    - char*
    - struct evutil_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5392
    functionDepth: 3
    functionLinenumber: 5392
    functionLinenumberEnd: 5419
    functionName: evdns_cache_write
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - SPLAY_FIND
    - log
    - evdns_cache_free
    - mm_strdup
    - EVDNS_LOCK
    - mm_calloc
    - evutil_dup_addrinfo_
    - SPLAY_INSERT
    - EVDNS_UNLOCK
    - evtimer_add
    - timerclear
    - evtimer_assign
    linkageType: ''
    returnType: void
    signature: void evdns_cache_write(struct evdns_base *dns_base, char *nodename,
      struct evutil_addrinfo *res, int ttl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:5433,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5434,1
    - Dst: SPLAY_FIND
      Src: /src/libevent/evdns.c:5436,1
    - Dst: log
      Src: /src/libevent/evdns.c:5439,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evdns.c:5449,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:5455,1
    - Dst: sockaddr_setport
      Src: /src/libevent/evdns.c:5457,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5458,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5461,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5471,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 5
    argNames:
    - base
    - nodename
    - hints
    - port
    - res
    argTypes:
    - struct evdns_base*
    - char*
    - struct evutil_addrinfo*
    - ev_uint16_t
    - struct evutil_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5474
      start: 5421
    functionDepth: 2
    functionLinenumber: 5421
    functionLinenumberEnd: 5474
    functionName: evdns_cache_lookup
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - SPLAY_FIND
    - evutil_addrinfo_append_
    - log
    - mm_strdup
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - evutil_new_addrinfo_
    - sockaddr_setport
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: int
    signature: "int evdns_cache_lookup(struct evdns_base *base,\n    const char *nodename,
      struct evutil_addrinfo *hints, ev_uint16_t port,\n    struct evutil_addrinfo
      **res)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:5495,1
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/evdns.c:5497,1
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/evdns.c:5500,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5506,1
    - Dst: evdns_result_is_answer
      Src: /src/libevent/evdns.c:5507,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5516,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5528,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5535,1
    - Dst: evdns_err_to_getaddrinfo_err
      Src: /src/libevent/evdns.c:5545,1
    - Dst: evdns_getaddrinfo_set_timeout
      Src: /src/libevent/evdns.c:5555,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5562,1
    - Dst: add_cname_to_reply
      Src: /src/libevent/evdns.c:5566,1
    - Dst: evdns_cache_write
      Src: /src/libevent/evdns.c:5568,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5570,1
    - Dst: getaddrinfo_merge_err
      Src: /src/libevent/evdns.c:5574,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5576,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5578,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5587,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5588,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evdns.c:5594,1
    - Dst: memset
      Src: /src/libevent/evdns.c:5597,1
    - Dst: htons
      Src: /src/libevent/evdns.c:5599,1
    - Dst: memset
      Src: /src/libevent/evdns.c:5609,1
    - Dst: htons
      Src: /src/libevent/evdns.c:5611,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5625,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evdns.c:5626,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5629,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5631,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5633,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5636,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5639,1
    - Dst: evdns_getaddrinfo_set_timeout
      Src: /src/libevent/evdns.c:5645,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5655,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5658,1
    - Dst: add_cname_to_reply
      Src: /src/libevent/evdns.c:5665,1
    - Dst: evdns_cache_write
      Src: /src/libevent/evdns.c:5667,1
    - Dst: struct evdns_getaddrinfo_request*::user_cb
      Src: /src/libevent/evdns.c:5669,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5672,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 132
    argCount: 6
    argNames:
    - result
    - type
    - count
    - ttl
    - addresses
    - arg
    argTypes:
    - int
    - char
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5674
      start: 5476
    functionDepth: 4
    functionLinenumber: 5476
    functionLinenumberEnd: 5674
    functionName: evdns_getaddrinfo_gotresolve
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - memcpy
    - evdns_getaddrinfo_set_timeout
    - getaddrinfo_merge_err
    - free_getaddrinfo_request
    - evutil_addrinfo_append_
    - evdns_result_is_answer
    - evdns_cache_write
    - evutil_new_addrinfo_
    - evdns_err_to_getaddrinfo_err
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - struct evdns_getaddrinfo_request*::user_cb
    - add_cname_to_reply
    - evutil_freeaddrinfo
    - EVUTIL_UPCAST
    - evdns_cancel_request
    - memset
    - EVUTIL_ASSERT
    - htons
    linkageType: ''
    returnType: void
    signature: "void evdns_getaddrinfo_gotresolve(int result, char type, int count,\n
      \   int ttl, void *addresses, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_NEXT
      Src: /src/libevent/evdns.c:5683,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evdns.c:5685,1
    - Dst: TAILQ_NEXT
      Src: /src/libevent/evdns.c:5687,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/evdns.c:5688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - base
    - hostname
    - find_after
    argTypes:
    - struct evdns_base*
    - char*
    - struct hosts_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5692
      start: 5676
    functionDepth: 2
    functionLinenumber: 5676
    functionLinenumberEnd: 5692
    functionName: find_hosts_entry
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - TAILQ_NEXT
    - evutil_ascii_strcasecmp
    - TAILQ_FIRST
    linkageType: ''
    returnType: struct hosts_entry
    signature: "struct hosts_entry *\nfind_hosts_entry(struct evdns_base *base, const
      char *hostname,\n    struct hosts_entry *find_after)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5704,1
    - Dst: find_hosts_entry
      Src: /src/libevent/evdns.c:5705,1
    - Dst: find_hosts_entry
      Src: /src/libevent/evdns.c:5706,1
    - Dst: evutil_new_addrinfo_
      Src: /src/libevent/evdns.c:5712,1
    - Dst: sockaddr_setport
      Src: /src/libevent/evdns.c:5717,1
    - Dst: evutil_addrinfo_append_
      Src: /src/libevent/evdns.c:5718,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5720,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/evdns.c:5730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - base
    - nodename
    - hints
    - port
    - res
    argTypes:
    - struct evdns_base*
    - char*
    - struct evutil_addrinfo*
    - ev_uint16_t
    - struct evutil_addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5694
    functionDepth: 3
    functionLinenumber: 5694
    functionLinenumberEnd: 5733
    functionName: evdns_getaddrinfo_fromhosts
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - find_hosts_entry
    - evutil_addrinfo_append_
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - evutil_new_addrinfo_
    - sockaddr_setport
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: int
    signature: "int evdns_getaddrinfo_fromhosts(struct evdns_base *base,\n    const
      char *nodename, struct evutil_addrinfo *hints, ev_uint16_t port,\n    struct
      evutil_addrinfo **res)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libevent/evdns.c:5752,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5755,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/evdns.c:5763,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5764,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5769,1
    - Dst: memset
      Src: /src/libevent/evdns.c:5771,1
    - Dst: evutil_adjust_hints_for_addrconfig_
      Src: /src/libevent/evdns.c:5775,1
    - Dst: evutil_getaddrinfo_common_
      Src: /src/libevent/evdns.c:5782,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5784,1
    - Dst: evdns_getaddrinfo_fromhosts
      Src: /src/libevent/evdns.c:5789,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5791,1
    - Dst: evdns_cache_lookup
      Src: /src/libevent/evdns.c:5797,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5799,1
    - Dst: mm_calloc
      Src: /src/libevent/evdns.c:5807,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5809,1
    - Dst: memcpy
      Src: /src/libevent/evdns.c:5813,1
    - Dst: mm_strdup
      Src: /src/libevent/evdns.c:5820,1
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5837,1
    - Dst: log
      Src: /src/libevent/evdns.c:5840,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/evdns.c:5843,1
    - Dst: log
      Src: /src/libevent/evdns.c:5851,1
    - Dst: evdns_base_resolve_ipv6
      Src: /src/libevent/evdns.c:5854,1
    - Dst: evtimer_assign
      Src: /src/libevent/evdns.c:5862,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5867,1
    - Dst: free_getaddrinfo_request
      Src: /src/libevent/evdns.c:5872,1
    - Dst: cb
      Src: /src/libevent/evdns.c:5873,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 6
    argNames:
    - dns_base
    - nodename
    - servname
    - hints_in
    - cb
    - arg
    argTypes:
    - struct evdns_base*
    - char*
    - char*
    - struct evutil_addrinfo*
    - evdns_getaddrinfo_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5876
      start: 5735
    functionDepth: 9
    functionLinenumber: 5735
    functionLinenumberEnd: 5876
    functionName: evdns_getaddrinfo
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evutil_adjust_hints_for_addrconfig_
    - free_getaddrinfo_request
    - memset
    - evdns_cache_lookup
    - evdns_base_resolve_ipv4
    - log
    - memcpy
    - evdns_getaddrinfo_fromhosts
    - evutil_getaddrinfo
    - evutil_getaddrinfo_common_
    - mm_calloc
    - mm_strdup
    - EVDNS_LOCK
    - EVDNS_UNLOCK
    - cb
    - evdns_base_resolve_ipv6
    - evtimer_assign
    linkageType: ''
    returnType: struct evdns_getaddrinfo_request
    signature: "struct evdns_getaddrinfo_request *\nevdns_getaddrinfo(struct evdns_base
      *dns_base,\n    const char *nodename, const char *servname,\n    const struct
      evutil_addrinfo *hints_in,\n    evdns_getaddrinfo_cb cb, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVDNS_LOCK
      Src: /src/libevent/evdns.c:5881,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5883,1
    - Dst: event_del
      Src: /src/libevent/evdns.c:5886,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5889,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/evdns.c:5891,1
    - Dst: EVDNS_UNLOCK
      Src: /src/libevent/evdns.c:5892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct evdns_getaddrinfo_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5893
      start: 5878
    functionDepth: 3
    functionLinenumber: 5878
    functionLinenumberEnd: 5893
    functionName: evdns_getaddrinfo_cancel
    functionSourceFile: /src/libevent/evdns.c
    functionUses: 0
    functionsReached:
    - evdns_cancel_request
    - EVDNS_UNLOCK
    - EVDNS_LOCK
    - event_del
    linkageType: ''
    returnType: void
    signature: void evdns_getaddrinfo_cancel(struct evdns_getaddrinfo_request *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libevent/openssl-compat.h:12,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: BIO_meth_new
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_meth_new(int type, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: BIO_meth_set_write
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_set_write(b, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: BIO_meth_set_read
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_set_read(b, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: BIO_meth_set_puts
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_set_puts(b, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: BIO_meth_set_ctrl
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_set_ctrl(b, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: BIO_meth_set_create
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_set_create(b, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: BIO_meth_set_destroy
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_meth_set_destroy(b, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: BIO_set_init
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_init(b, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: BIO_set_data
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_data(b, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: BIO_set_shutdown
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_shutdown(b, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: BIO_get_init
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_init(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: BIO_get_data
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_data(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: BIO_get_shutdown
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_shutdown(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: BIO_get_init
    functionSourceFile: /src/libevent/openssl-compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_init(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: min_heap_elem_greater
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min_heap_elem_greater(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - min_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: min_heap_ctor_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void min_heap_ctor_(min_heap_t* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/minheap-internal.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - min_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: min_heap_dtor_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void min_heap_dtor_(min_heap_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: min_heap_elem_init_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void min_heap_elem_init_(struct event* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - min_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: min_heap_empty_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int min_heap_empty_(min_heap_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - min_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: min_heap_size_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t min_heap_size_(min_heap_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - min_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: min_heap_top_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event
    signature: struct event * min_heap_top_(min_heap_t* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_reserve_
      Src: /src/libevent/minheap-internal.h:73,1
    - Dst: min_heap_shift_up_
      Src: /src/libevent/minheap-internal.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - min_heap_t*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: min_heap_push_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached:
    - min_heap_shift_up_
    - min_heap_reserve_
    linkageType: ''
    returnType: int
    signature: int min_heap_push_(min_heap_t* s, struct event* e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_shift_down_
      Src: /src/libevent/minheap-internal.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - min_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: min_heap_pop_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached:
    - min_heap_shift_down_
    linkageType: ''
    returnType: struct event
    signature: struct event * min_heap_pop_(min_heap_t* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: min_heap_elt_is_top_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int min_heap_elt_is_top_(const struct event *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_elem_greater
      Src: /src/libevent/minheap-internal.h:107,1
    - Dst: min_heap_shift_up_unconditional_
      Src: /src/libevent/minheap-internal.h:108,1
    - Dst: min_heap_shift_down_
      Src: /src/libevent/minheap-internal.h:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - min_heap_t*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: min_heap_erase_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached:
    - min_heap_elem_greater
    - min_heap_shift_down_
    - min_heap_shift_up_unconditional_
    linkageType: ''
    returnType: int
    signature: int min_heap_erase_(min_heap_t* s, struct event* e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_push_
      Src: /src/libevent/minheap-internal.h:120,1
    - Dst: min_heap_elem_greater
      Src: /src/libevent/minheap-internal.h:125,1
    - Dst: min_heap_shift_up_unconditional_
      Src: /src/libevent/minheap-internal.h:126,1
    - Dst: min_heap_shift_down_
      Src: /src/libevent/minheap-internal.h:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - min_heap_t*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: min_heap_adjust_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 0
    functionsReached:
    - min_heap_elem_greater
    - min_heap_shift_up_unconditional_
    - min_heap_shift_down_
    - min_heap_push_
    linkageType: ''
    returnType: int
    signature: int min_heap_adjust_(min_heap_t *s, struct event *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_realloc
      Src: /src/libevent/minheap-internal.h:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - min_heap_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: min_heap_reserve_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 1
    functionsReached:
    - mm_realloc
    linkageType: ''
    returnType: int
    signature: int min_heap_reserve_(min_heap_t* s, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_elem_greater
      Src: /src/libevent/minheap-internal.h:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s
    - hole_index
    - e
    argTypes:
    - min_heap_t*
    - size_t
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: min_heap_shift_up_unconditional_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 2
    functionsReached:
    - min_heap_elem_greater
    linkageType: ''
    returnType: void
    signature: void min_heap_shift_up_unconditional_(min_heap_t* s, size_t hole_index,
      struct event* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_elem_greater
      Src: /src/libevent/minheap-internal.h:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s
    - hole_index
    - e
    argTypes:
    - min_heap_t*
    - size_t
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: min_heap_shift_up_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 1
    functionsReached:
    - min_heap_elem_greater
    linkageType: ''
    returnType: void
    signature: void min_heap_shift_up_(min_heap_t* s, size_t hole_index, struct event*
      e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_elem_greater
      Src: /src/libevent/minheap-internal.h:178,1
    - Dst: min_heap_elem_greater
      Src: /src/libevent/minheap-internal.h:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - s
    - hole_index
    - e
    argTypes:
    - min_heap_t*
    - size_t
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: min_heap_shift_down_
    functionSourceFile: /src/libevent/minheap-internal.h
    functionUses: 3
    functionsReached:
    - min_heap_elem_greater
    linkageType: ''
    returnType: void
    signature: void min_heap_shift_down_(min_heap_t* s, size_t hole_index, struct
      event* e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: XFREE
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XFREE(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: FD_SET_ALLOC_SIZE
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FD_SET_ALLOC_SIZE(n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/win32select.c:108,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/win32select.c:110,1
    - Dst: FD_SET_ALLOC_SIZE
      Src: /src/libevent/win32select.c:112,1
    - Dst: mm_realloc
      Src: /src/libevent/win32select.c:113,1
    - Dst: mm_realloc
      Src: /src/libevent/win32select.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - op
    - new_num_fds
    argTypes:
    - struct win32op*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: grow_fd_sets
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - EVUTIL_ASSERT
    - FD_SET_ALLOC_SIZE
    linkageType: ''
    returnType: int
    signature: int grow_fd_sets(struct win32op *op, unsigned new_num_fds)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: grow_fd_sets
      Src: /src/libevent/win32select.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - op
    - ent
    - s
    - read
    argTypes:
    - struct win32op*
    - struct idx_info*
    - evutil_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 145
    functionName: do_fd_set
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - grow_fd_sets
    linkageType: ''
    returnType: int
    signature: int do_fd_set(struct win32op *op, struct idx_info *ent, evutil_socket_t
      s, int read)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evmap_io_get_fdinfo_
      Src: /src/libevent/win32select.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - base
    - op
    - ent
    - read
    argTypes:
    - struct event_base*
    - struct win32op*
    - struct idx_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: do_fd_clear
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - evmap_io_get_fdinfo_
    linkageType: ''
    returnType: int
    signature: "int do_fd_clear(struct event_base *base,\n\t\t\tstruct win32op *op,
      struct idx_info *ent, int read)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/win32select.c:185,1
    - Dst: FD_SET_ALLOC_SIZE
      Src: /src/libevent/win32select.c:188,1
    - Dst: mm_malloc
      Src: /src/libevent/win32select.c:189,1
    - Dst: mm_malloc
      Src: /src/libevent/win32select.c:191,1
    - Dst: mm_malloc
      Src: /src/libevent/win32select.c:193,1
    - Dst: mm_malloc
      Src: /src/libevent/win32select.c:195,1
    - Dst: mm_malloc
      Src: /src/libevent/win32select.c:197,1
    - Dst: evsig_init_
      Src: /src/libevent/win32select.c:203,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/win32select.c:206,1
    - Dst: XFREE
      Src: /src/libevent/win32select.c:210,1
    - Dst: XFREE
      Src: /src/libevent/win32select.c:211,1
    - Dst: XFREE
      Src: /src/libevent/win32select.c:212,1
    - Dst: XFREE
      Src: /src/libevent/win32select.c:213,1
    - Dst: XFREE
      Src: /src/libevent/win32select.c:214,1
    - Dst: XFREE
      Src: /src/libevent/win32select.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 217
    functionName: win32_init
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - mm_calloc
    - FD_SET_ALLOC_SIZE
    - mm_malloc
    - evsig_init_
    - evutil_weakrand_seed_
    - XFREE
    linkageType: ''
    returnType: void
    signature: 'void *

      win32_init(struct event_base *base)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/win32select.c:232,1
    - Dst: do_fd_set
      Src: /src/libevent/win32select.c:234,1
    - Dst: do_fd_set
      Src: /src/libevent/win32select.c:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - idx_
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 242
    functionName: win32_add
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - event_debug
    - do_fd_set
    linkageType: ''
    returnType: int
    signature: "int win32_add(struct event_base *base, evutil_socket_t fd,\n\t\t\t
      short old, short events, void *idx_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/win32select.c:251,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/win32select.c:252,1
    - Dst: do_fd_clear
      Src: /src/libevent/win32select.c:254,1
    - Dst: do_fd_clear
      Src: /src/libevent/win32select.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - idx_
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: win32_del
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - event_debug
    - EV_SOCK_ARG
    - do_fd_clear
    linkageType: ''
    returnType: int
    signature: "int win32_del(struct event_base *base, evutil_socket_t fd, short old,
      short events,\n\t\t  void *idx_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/win32select.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - struct win_fd_set*
    - struct win_fd_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: fd_set_copy
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void fd_set_copy(struct win_fd_set *out, const struct win_fd_set *in)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FD_SET_ALLOC_SIZE
      Src: /src/libevent/win32select.c:289,1
    - Dst: mm_realloc
      Src: /src/libevent/win32select.c:290,1
    - Dst: mm_realloc
      Src: /src/libevent/win32select.c:292,1
    - Dst: mm_realloc
      Src: /src/libevent/win32select.c:294,1
    - Dst: fd_set_copy
      Src: /src/libevent/win32select.c:299,1
    - Dst: fd_set_copy
      Src: /src/libevent/win32select.c:300,1
    - Dst: fd_set_copy
      Src: /src/libevent/win32select.c:301,1
    - Dst: evutil_tv_to_msec_
      Src: /src/libevent/win32select.c:308,1
    - Dst: Sleep
      Src: /src/libevent/win32select.c:313,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/win32select.c:317,1
    - Dst: select
      Src: /src/libevent/win32select.c:319,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/win32select.c:324,1
    - Dst: event_debug
      Src: /src/libevent/win32select.c:326,1
    - Dst: event_debug
      Src: /src/libevent/win32select.c:329,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/win32select.c:330,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/win32select.c:330,1
    - Dst: evutil_weakrand_range_
      Src: /src/libevent/win32select.c:335,1
    - Dst: evmap_io_active_
      Src: /src/libevent/win32select.c:341,1
    - Dst: evutil_weakrand_range_
      Src: /src/libevent/win32select.c:345,1
    - Dst: evmap_io_active_
      Src: /src/libevent/win32select.c:351,1
    - Dst: evutil_weakrand_range_
      Src: /src/libevent/win32select.c:355,1
    - Dst: evmap_io_active_
      Src: /src/libevent/win32select.c:361,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 365
    functionName: win32_dispatch
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - evutil_socket_error_to_string
    - evutil_weakrand_range_
    - Sleep
    - EVBASE_ACQUIRE_LOCK
    - EVUTIL_SOCKET_ERROR
    - evutil_tv_to_msec_
    - evmap_io_active_
    - FD_SET_ALLOC_SIZE
    - event_debug
    - fd_set_copy
    - select
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int win32_dispatch(struct event_base *base, struct timeval *tv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evsig_dealloc_
      Src: /src/libevent/win32select.c:372,1
    - Dst: mm_free
      Src: /src/libevent/win32select.c:374,1
    - Dst: mm_free
      Src: /src/libevent/win32select.c:376,1
    - Dst: mm_free
      Src: /src/libevent/win32select.c:378,1
    - Dst: mm_free
      Src: /src/libevent/win32select.c:380,1
    - Dst: mm_free
      Src: /src/libevent/win32select.c:382,1
    - Dst: memset
      Src: /src/libevent/win32select.c:385,1
    - Dst: mm_free
      Src: /src/libevent/win32select.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 387
    functionName: win32_dealloc
    functionSourceFile: /src/libevent/win32select.c
    functionUses: 0
    functionsReached:
    - mm_free
    - memset
    - evsig_dealloc_
    linkageType: ''
    returnType: void
    signature: void win32_dealloc(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: EVTHREAD_GET_ID
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_GET_ID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: EVBASE_IN_THREAD
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_IN_THREAD(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: EVBASE_NEED_NOTIFY
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_NEED_NOTIFY(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - locktype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: EVTHREAD_ALLOC_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_ALLOC_LOCK(lockvar, locktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - locktype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: EVTHREAD_FREE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_FREE_LOCK(lockvar, locktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: EVLOCK_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_LOCK(lockvar,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: EVLOCK_UNLOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_UNLOCK(lockvar,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar1
    - ','
    - lockvar2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: EVLOCK_SORTLOCKS_
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_SORTLOCKS_(lockvar1, lockvar2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - lockvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: EVBASE_ACQUIRE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_ACQUIRE_LOCK(base, lockvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - lockvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: EVBASE_RELEASE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_RELEASE_LOCK(base, lockvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: EVLOCK_ASSERT_LOCKED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_ASSERT_LOCKED(lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/libevent/evthread-internal.h:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: EVLOCK_TRY_LOCK_
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached:
    - lock
    linkageType: ''
    returnType: int
    signature: int EVLOCK_TRY_LOCK_(void *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: EVTHREAD_ALLOC_COND
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_ALLOC_COND(condvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: EVTHREAD_FREE_COND
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_FREE_COND(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: EVTHREAD_COND_SIGNAL
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_SIGNAL(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: EVTHREAD_COND_BROADCAST
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_BROADCAST(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: EVTHREAD_COND_WAIT
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_WAIT(cond, lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cond
    - ','
    - lock
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: EVTHREAD_COND_WAIT_TIMED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_WAIT_TIMED(cond, lock, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: EVTHREAD_LOCKING_ENABLED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_LOCKING_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: EVTHREAD_GET_ID
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_GET_ID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: EVBASE_IN_THREAD
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_IN_THREAD(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: EVBASE_NEED_NOTIFY
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_NEED_NOTIFY(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - locktype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: EVTHREAD_ALLOC_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_ALLOC_LOCK(lockvar, locktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - locktype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: EVTHREAD_FREE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_FREE_LOCK(lockvar, locktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: EVLOCK_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_LOCK(lockvar,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: EVLOCK_UNLOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_UNLOCK(lockvar,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - lockvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: EVBASE_ACQUIRE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_ACQUIRE_LOCK(base, lockvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - lockvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: EVBASE_RELEASE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_RELEASE_LOCK(base, lockvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: EVLOCK_ASSERT_LOCKED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_ASSERT_LOCKED(lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evthreadimpl_lock_lock_
      Src: /src/libevent/evthread-internal.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: EVLOCK_TRY_LOCK_
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached:
    - evthreadimpl_lock_lock_
    linkageType: ''
    returnType: int
    signature: int EVLOCK_TRY_LOCK_(void *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: EVTHREAD_ALLOC_COND
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_ALLOC_COND(condvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: EVTHREAD_FREE_COND
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_FREE_COND(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: EVTHREAD_COND_SIGNAL
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_SIGNAL(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: EVTHREAD_COND_BROADCAST
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_BROADCAST(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: EVTHREAD_COND_WAIT
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_WAIT(cond, lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cond
    - ','
    - lock
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: EVTHREAD_COND_WAIT_TIMED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_WAIT_TIMED(cond, lock, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: EVTHREAD_LOCKING_ENABLED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_LOCKING_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: EVTHREAD_GET_ID
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_GET_ID()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - locktype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: EVTHREAD_ALLOC_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_ALLOC_LOCK(lockvar, locktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - locktype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: EVTHREAD_FREE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_FREE_LOCK(lockvar, locktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: EVLOCK_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_LOCK(lockvar, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: EVLOCK_UNLOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_UNLOCK(lockvar, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lock1
    - ','
    - lock2
    - ','
    - mode1
    - ','
    - mode2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: EVLOCK_LOCK2
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_LOCK2(lock1,lock2,mode1,mode2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lock1
    - ','
    - lock2
    - ','
    - mode1
    - ','
    - mode2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: EVLOCK_UNLOCK2
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_UNLOCK2(lock1,lock2,mode1,mode2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: EVBASE_IN_THREAD
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_IN_THREAD(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: EVBASE_NEED_NOTIFY
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_NEED_NOTIFY(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: EVBASE_ACQUIRE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_ACQUIRE_LOCK(base, lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: EVBASE_RELEASE_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBASE_RELEASE_LOCK(base, lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: EVLOCK_ASSERT_LOCKED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_ASSERT_LOCKED(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: EVLOCK_TRY_LOCK_
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_TRY_LOCK_(lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: EVTHREAD_ALLOC_COND
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_ALLOC_COND(condvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: EVTHREAD_FREE_COND
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_FREE_COND(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: EVTHREAD_COND_SIGNAL
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_SIGNAL(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: EVTHREAD_COND_BROADCAST
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_BROADCAST(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: EVTHREAD_COND_WAIT
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_WAIT(cond, lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cond
    - ','
    - lock
    - ','
    - howlong
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: EVTHREAD_COND_WAIT_TIMED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_COND_WAIT_TIMED(cond, lock, howlong)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: EVTHREAD_LOCKING_ENABLED
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_LOCKING_ENABLED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar1
    - ','
    - lockvar2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: EVLOCK_SORTLOCKS_
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_SORTLOCKS_(lockvar1, lockvar2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lock1
    - ','
    - lock2
    - ','
    - mode1
    - ','
    - mode2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 359
    functionName: EVLOCK_LOCK2
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_LOCK2(lock1,lock2,mode1,mode2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lock1
    - ','
    - lock2
    - ','
    - mode1
    - ','
    - mode2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: EVLOCK_UNLOCK2
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVLOCK_UNLOCK2(lock1,lock2,mode1,mode2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lockvar
    - ','
    - locktype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: EVTHREAD_SETUP_GLOBAL_LOCK
    functionSourceFile: /src/libevent/evthread-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTHREAD_SETUP_GLOBAL_LOCK(lockvar, locktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/bufferevent_pair.c:59,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_pair.c:60,1
    - Dst: BEV_IS_PAIR
      Src: /src/libevent/bufferevent_pair.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: upcast
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - BEV_IS_PAIR
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct bufferevent_pair
    signature: 'struct bufferevent_pair *

      upcast(struct bufferevent *bev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bev_pair
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: downcast
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: downcast(bev_pair)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_pair.c:70,1
    - Dst: upcast
      Src: /src/libevent/bufferevent_pair.c:71,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_pair.c:73,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: incref_and_lock
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - upcast
    - downcast
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void incref_and_lock(struct bufferevent *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_pair.c:79,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_pair.c:81,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:81,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_pair.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: decref_and_unlock
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 4
    functionsReached:
    - upcast
    - downcast
    - bufferevent_decref_and_unlock_
    linkageType: ''
    returnType: void
    signature: void decref_and_unlock(struct bufferevent *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_pair.c:95,1
    - Dst: bufferevent_init_common_
      Src: /src/libevent/bufferevent_pair.c:97,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent_pair.c:99,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/bufferevent_pair.c:102,1
    - Dst: bufferevent_free
      Src: /src/libevent/bufferevent_pair.c:103,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:103,1
    - Dst: bufferevent_init_generic_timeout_cbs_
      Src: /src/libevent/bufferevent_pair.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - base
    - options
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: bufferevent_pair_elt_new
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - evbuffer_add_cb
    - bufferevent_init_generic_timeout_cbs_
    - bufferevent_init_common_
    - mm_calloc
    - downcast
    - mm_free
    linkageType: ''
    returnType: struct bufferevent_pair
    signature: "struct bufferevent_pair *\nbufferevent_pair_elt_new(struct event_base
      *base,\n    int options)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_pair_elt_new
      Src: /src/libevent/bufferevent_pair.c:122,1
    - Dst: bufferevent_pair_elt_new
      Src: /src/libevent/bufferevent_pair.c:125,1
    - Dst: bufferevent_free
      Src: /src/libevent/bufferevent_pair.c:127,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:127,1
    - Dst: bufferevent_enable_locking_
      Src: /src/libevent/bufferevent_pair.c:133,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:133,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_pair.c:139,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:139,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_pair.c:140,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:140,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_pair.c:141,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:141,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_pair.c:142,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:142,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:144,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - base
    - options
    - pair
    argTypes:
    - struct event_base*
    - int
    - struct bufferevent*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 148
    functionName: bufferevent_pair_new
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_pair_elt_new
    - evbuffer_freeze
    - bufferevent_enable_locking_
    - downcast
    linkageType: ''
    returnType: int
    signature: "int bufferevent_pair_new(struct event_base *base, int options,\n    struct
      bufferevent *pair[2])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/bufferevent_pair.c:157,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/bufferevent_pair.c:158,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_pair.c:161,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/bufferevent_pair.c:164,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_pair.c:168,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/bufferevent_pair.c:169,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_pair.c:172,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/bufferevent_pair.c:173,1
    - Dst: BEV_RESET_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_pair.c:177,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_pair.c:179,1
    - Dst: BEV_RESET_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_pair.c:180,1
    - Dst: BEV_DEL_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_pair.c:182,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_pair.c:185,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_pair.c:186,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_pair.c:188,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_pair.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - src
    - dst
    - ignore_wm
    argTypes:
    - struct bufferevent*
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 190
    functionName: be_pair_transfer
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - bufferevent_trigger_nolock_
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    - evbuffer_unfreeze
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - evbuffer_add_buffer
    - evbuffer_freeze
    - evbuffer_remove_buffer
    - BEV_RESET_GENERIC_READ_TIMEOUT
    linkageType: ''
    returnType: void
    signature: "void be_pair_transfer(struct bufferevent *src, struct bufferevent
      *dst,\n    int ignore_wm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:196,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:197,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_pair.c:199,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct bufferevent_pair*
    - struct bufferevent_pair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: be_pair_wants_to_talk
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - downcast
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: "int be_pair_wants_to_talk(struct bufferevent_pair *src,\n    struct
      bufferevent_pair *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: incref_and_lock
      Src: /src/libevent/bufferevent_pair.c:209,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:209,1
    - Dst: be_pair_wants_to_talk
      Src: /src/libevent/bufferevent_pair.c:214,1
    - Dst: be_pair_transfer
      Src: /src/libevent/bufferevent_pair.c:215,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:215,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:215,1
    - Dst: decref_and_unlock
      Src: /src/libevent/bufferevent_pair.c:219,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - outbuf
    - info
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: be_pair_outbuf_cb
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - be_pair_wants_to_talk
    - be_pair_transfer
    - downcast
    - decref_and_unlock
    - incref_and_lock
    linkageType: ''
    returnType: void
    signature: "void be_pair_outbuf_cb(struct evbuffer *outbuf,\n    const struct
      evbuffer_cb_info *info, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_pair.c:225,1
    - Dst: incref_and_lock
      Src: /src/libevent/bufferevent_pair.c:228,1
    - Dst: BEV_RESET_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_pair.c:231,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_pair.c:233,1
    - Dst: BEV_RESET_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_pair.c:234,1
    - Dst: be_pair_wants_to_talk
      Src: /src/libevent/bufferevent_pair.c:238,1
    - Dst: be_pair_transfer
      Src: /src/libevent/bufferevent_pair.c:239,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:239,1
    - Dst: be_pair_wants_to_talk
      Src: /src/libevent/bufferevent_pair.c:243,1
    - Dst: be_pair_transfer
      Src: /src/libevent/bufferevent_pair.c:244,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:244,1
    - Dst: decref_and_unlock
      Src: /src/libevent/bufferevent_pair.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - bufev
    - events
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 248
    functionName: be_pair_enable
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - be_pair_wants_to_talk
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - be_pair_transfer
    - downcast
    - incref_and_lock
    - decref_and_unlock
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - upcast
    linkageType: ''
    returnType: int
    signature: int be_pair_enable(struct bufferevent *bufev, short events)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_DEL_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_pair.c:254,1
    - Dst: BEV_DEL_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_pair.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bev
    - events
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: be_pair_disable
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    - BEV_DEL_GENERIC_READ_TIMEOUT
    linkageType: ''
    returnType: int
    signature: int be_pair_disable(struct bufferevent *bev, short events)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_pair.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: be_pair_unlink
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - upcast
    linkageType: ''
    returnType: void
    signature: void be_pair_unlink(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_pair.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 300
    functionName: be_pair_destruct
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - upcast
    linkageType: ''
    returnType: void
    signature: void be_pair_destruct(struct bufferevent *bev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_pair.c:306,1
    - Dst: incref_and_lock
      Src: /src/libevent/bufferevent_pair.c:315,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:317,1
    - Dst: be_pair_transfer
      Src: /src/libevent/bufferevent_pair.c:320,1
    - Dst: be_pair_transfer
      Src: /src/libevent/bufferevent_pair.c:323,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_pair.c:331,1
    - Dst: decref_and_unlock
      Src: /src/libevent/bufferevent_pair.c:333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - bev
    - iotype
    - mode
    argTypes:
    - struct bufferevent*
    - short
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 335
    functionName: be_pair_flush
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - bufferevent_run_eventcb_
    - be_pair_transfer
    - downcast
    - incref_and_lock
    - decref_and_unlock
    - upcast
    linkageType: ''
    returnType: int
    signature: "int be_pair_flush(struct bufferevent *bev, short iotype,\n    enum
      bufferevent_flush_mode mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_IS_PAIR
      Src: /src/libevent/bufferevent_pair.c:342,1
    - Dst: upcast
      Src: /src/libevent/bufferevent_pair.c:344,1
    - Dst: incref_and_lock
      Src: /src/libevent/bufferevent_pair.c:345,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_pair.c:347,1
    - Dst: decref_and_unlock
      Src: /src/libevent/bufferevent_pair.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: bufferevent_pair_get_partner
    functionSourceFile: /src/libevent/bufferevent_pair.c
    functionUses: 0
    functionsReached:
    - BEV_IS_PAIR
    - downcast
    - decref_and_unlock
    - incref_and_lock
    - upcast
    linkageType: ''
    returnType: struct bufferevent
    signature: 'struct bufferevent *

      bufferevent_pair_get_partner(struct bufferevent *bev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: PTR_TO_UDATA
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_TO_UDATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: INT_TO_UDATA
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_UDATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: PTR_TO_UDATA
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_TO_UDATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: INT_TO_UDATA
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_UDATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: PTR_TO_UDATA
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_TO_UDATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: INT_TO_UDATA
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_UDATA(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/kqueue.c:123,1
    - Dst: kqueue
      Src: /src/libevent/kqueue.c:128,1
    - Dst: event_warn
      Src: /src/libevent/kqueue.c:129,1
    - Dst: getpid
      Src: /src/libevent/kqueue.c:135,1
    - Dst: mm_calloc
      Src: /src/libevent/kqueue.c:138,1
    - Dst: memset
      Src: /src/libevent/kqueue.c:144,1
    - Dst: kevent
      Src: /src/libevent/kqueue.c:153,1
    - Dst: event_warn
      Src: /src/libevent/kqueue.c:157,1
    - Dst: kqop_free
      Src: /src/libevent/kqueue.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 169
    functionName: kq_init
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - kevent
    - memset
    - kqueue
    - event_warn
    - mm_calloc
    - kqop_free
    - getpid
    linkageType: ''
    returnType: void
    signature: 'void *

      kq_init(struct event_base *base)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/kqueue.c:176,1
    - Dst: INT_TO_UDATA
      Src: /src/libevent/kqueue.c:184,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/kqueue.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - out
    - fd
    - filter
    - change
    argTypes:
    - struct kevent*
    - evutil_socket_t
    - int
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: kq_setup_kevent
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - memset
    - INT_TO_UDATA
    linkageType: ''
    returnType: void
    signature: void kq_setup_kevent(struct kevent *out, evutil_socket_t fd, int filter,
      short change)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_warnx
      Src: /src/libevent/kqueue.c:206,1
    - Dst: mm_realloc
      Src: /src/libevent/kqueue.c:211,1
    - Dst: event_warn
      Src: /src/libevent/kqueue.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - kqop
    argTypes:
    - struct kqop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 219
    functionName: kq_grow_events
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - event_warnx
    - event_warn
    linkageType: ''
    returnType: int
    signature: int kq_grow_events(struct kqop *kqop)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: kq_setup_kevent
      Src: /src/libevent/kqueue.c:233,1
    - Dst: kq_grow_events
      Src: /src/libevent/kqueue.c:235,1
    - Dst: kq_setup_kevent
      Src: /src/libevent/kqueue.c:241,1
    - Dst: kq_grow_events
      Src: /src/libevent/kqueue.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - changelist
    - kqop
    argTypes:
    - struct event_changelist*
    - struct kqop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 249
    functionName: kq_build_changes_list
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - kq_setup_kevent
    - kq_grow_events
    linkageType: ''
    returnType: int
    signature: "int kq_build_changes_list(const struct event_changelist *changelist,\n
      \   struct kqop *kqop)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/kqueue.c:266,1
    - Dst: kq_build_changes_list
      Src: /src/libevent/kqueue.c:267,1
    - Dst: event_changelist_remove_all_
      Src: /src/libevent/kqueue.c:271,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/kqueue.c:279,1
    - Dst: kevent
      Src: /src/libevent/kqueue.c:280,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/kqueue.c:281,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/kqueue.c:283,1
    - Dst: event_warn
      Src: /src/libevent/kqueue.c:289,1
    - Dst: event_debug
      Src: /src/libevent/kqueue.c:296,1
    - Dst: evmap_signal_active_
      Src: /src/libevent/kqueue.c:380,1
    - Dst: evmap_io_active_
      Src: /src/libevent/kqueue.c:382,1
    - Dst: kq_grow_events
      Src: /src/libevent/kqueue.c:389,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 394
    functionName: kq_dispatch
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - kevent
    - evmap_signal_active_
    - event_warn
    - EVUTIL_ASSERT
    - EVBASE_ACQUIRE_LOCK
    - evmap_io_active_
    - event_changelist_remove_all_
    - event_debug
    - kq_grow_events
    - kq_build_changes_list
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int kq_dispatch(struct event_base *base, struct timeval *tv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/kqueue.c:400,1
    - Dst: getpid
      Src: /src/libevent/kqueue.c:401,1
    - Dst: close
      Src: /src/libevent/kqueue.c:402,1
    - Dst: memset
      Src: /src/libevent/kqueue.c:403,1
    - Dst: mm_free
      Src: /src/libevent/kqueue.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - kqop
    argTypes:
    - struct kqop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: kqop_free
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 1
    functionsReached:
    - mm_free
    - close
    - memset
    - getpid
    linkageType: ''
    returnType: void
    signature: void kqop_free(struct kqop *kqop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsig_dealloc_
      Src: /src/libevent/kqueue.c:411,1
    - Dst: kqop_free
      Src: /src/libevent/kqueue.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: kq_dealloc
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - kqop_free
    - evsig_dealloc_
    linkageType: ''
    returnType: void
    signature: void kq_dealloc(struct event_base *base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/kqueue.c:424,1
    - Dst: memset
      Src: /src/libevent/kqueue.c:426,1
    - Dst: kevent
      Src: /src/libevent/kqueue.c:434,1
    - Dst: evsig_set_handler_
      Src: /src/libevent/kqueue.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - base
    - nsignal
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 447
    functionName: kq_sig_add
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - kevent
    - EVUTIL_ASSERT
    - memset
    - evsig_set_handler_
    linkageType: ''
    returnType: int
    signature: int kq_sig_add(struct event_base *base, int nsignal, short old, short
      events, void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/kqueue.c:458,1
    - Dst: memset
      Src: /src/libevent/kqueue.c:460,1
    - Dst: kevent
      Src: /src/libevent/kqueue.c:468,1
    - Dst: evsig_restore_handler_
      Src: /src/libevent/kqueue.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - base
    - nsignal
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 475
    functionName: kq_sig_del
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - kevent
    - EVUTIL_ASSERT
    - memset
    - evsig_restore_handler_
    linkageType: ''
    returnType: int
    signature: int kq_sig_del(struct event_base *base, int nsignal, short old, short
      events, void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/kqueue.c:502,1
    - Dst: kevent
      Src: /src/libevent/kqueue.c:507,1
    - Dst: event_warn
      Src: /src/libevent/kqueue.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 518
    functionName: event_kq_add_notify_event_
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - kevent
    - memset
    - event_warn
    linkageType: ''
    returnType: int
    signature: int event_kq_add_notify_event_(struct event_base *base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/kqueue.c:532,1
    - Dst: kevent
      Src: /src/libevent/kqueue.c:537,1
    - Dst: event_warn
      Src: /src/libevent/kqueue.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 546
    functionName: event_kq_notify_base_
    functionSourceFile: /src/libevent/kqueue.c
    functionUses: 0
    functionsReached:
    - kevent
    - memset
    - event_warn
    linkageType: ''
    returnType: int
    signature: int event_kq_notify_base_(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/buffer_iocp.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: upcast_evbuffer
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct evbuffer_overlapped
    signature: 'struct evbuffer_overlapped *

      upcast_evbuffer(struct evbuffer *buf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer_iocp.c:90,1
    - Dst: evbuffer_chain_unpin_
      Src: /src/libevent/buffer_iocp.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - eo
    - flag
    argTypes:
    - struct evbuffer_overlapped*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: pin_release
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evbuffer_chain_unpin_
    linkageType: ''
    returnType: void
    signature: void pin_release(struct evbuffer_overlapped *eo, unsigned flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: upcast_evbuffer
      Src: /src/libevent/buffer_iocp.c:100,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer_iocp.c:105,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer_iocp.c:106,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer_iocp.c:107,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/buffer_iocp.c:109,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer_iocp.c:116,1
    - Dst: pin_release
      Src: /src/libevent/buffer_iocp.c:126,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer_iocp.c:133,1
    - Dst: evbuffer_decref_and_unlock_
      Src: /src/libevent/buffer_iocp.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - evbuf
    - nBytes
    argTypes:
    - struct evbuffer*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 136
    functionName: evbuffer_commit_read_
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - upcast_evbuffer
    - EVUTIL_ASSERT
    - evbuffer_invoke_callbacks_
    - evbuffer_unfreeze
    - pin_release
    - EVBUFFER_LOCK
    - evbuffer_decref_and_unlock_
    linkageType: ''
    returnType: void
    signature: void evbuffer_commit_read_(struct evbuffer *evbuf, ev_ssize_t nBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upcast_evbuffer
      Src: /src/libevent/buffer_iocp.c:141,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer_iocp.c:143,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer_iocp.c:144,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/buffer_iocp.c:145,1
    - Dst: evbuffer_drain
      Src: /src/libevent/buffer_iocp.c:146,1
    - Dst: pin_release
      Src: /src/libevent/buffer_iocp.c:147,1
    - Dst: evbuffer_decref_and_unlock_
      Src: /src/libevent/buffer_iocp.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - evbuf
    - nBytes
    argTypes:
    - struct evbuffer*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: evbuffer_commit_write_
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - upcast_evbuffer
    - evbuffer_drain
    - EVUTIL_ASSERT
    - evbuffer_unfreeze
    - pin_release
    - EVBUFFER_LOCK
    - evbuffer_decref_and_unlock_
    linkageType: ''
    returnType: void
    signature: void evbuffer_commit_write_(struct evbuffer *evbuf, ev_ssize_t nBytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/buffer_iocp.c:157,1
    - Dst: LIST_INIT
      Src: /src/libevent/buffer_iocp.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: evbuffer_overlapped_new_
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    - mm_calloc
    linkageType: ''
    returnType: struct evbuffer
    signature: 'struct evbuffer *

      evbuffer_overlapped_new_(evutil_socket_t fd)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: upcast_evbuffer
      Src: /src/libevent/buffer_iocp.c:175,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer_iocp.c:186,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer_iocp.c:187,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/buffer_iocp.c:197,1
    - Dst: memset
      Src: /src/libevent/buffer_iocp.c:201,1
    - Dst: evbuffer_chain_pin_
      Src: /src/libevent/buffer_iocp.c:208,1
    - Dst: evbuffer_incref_
      Src: /src/libevent/buffer_iocp.c:225,1
    - Dst: WSASend
      Src: /src/libevent/buffer_iocp.c:226,1
    - Dst: WSAGetLastError
      Src: /src/libevent/buffer_iocp.c:228,1
    - Dst: pin_release
      Src: /src/libevent/buffer_iocp.c:231,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/buffer_iocp.c:232,1
    - Dst: evbuffer_free
      Src: /src/libevent/buffer_iocp.c:233,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer_iocp.c:241,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - buf
    - at_most
    - ol
    argTypes:
    - struct evbuffer*
    - ev_ssize_t
    - struct event_overlapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 243
    functionName: evbuffer_launch_write_
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - upcast_evbuffer
    - memset
    - evbuffer_incref_
    - EVUTIL_ASSERT
    - evbuffer_chain_pin_
    - evbuffer_unfreeze
    - evbuffer_free
    - evbuffer_freeze
    - WSASend
    - EVBUFFER_LOCK
    - pin_release
    - EVBUFFER_UNLOCK
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: "int evbuffer_launch_write_(struct evbuffer *buf, ev_ssize_t at_most,\n\t\tstruct
      event_overlapped *ol)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: upcast_evbuffer
      Src: /src/libevent/buffer_iocp.c:249,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer_iocp.c:260,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer_iocp.c:261,1
    - Dst: memset
      Src: /src/libevent/buffer_iocp.c:267,1
    - Dst: evbuffer_expand_fast_
      Src: /src/libevent/buffer_iocp.c:269,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/buffer_iocp.c:271,1
    - Dst: evbuffer_read_setup_vecs_
      Src: /src/libevent/buffer_iocp.c:273,1
    - Dst: WSABUF_FROM_EVBUFFER_IOV
      Src: /src/libevent/buffer_iocp.c:276,1
    - Dst: evbuffer_chain_pin_
      Src: /src/libevent/buffer_iocp.c:286,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer_iocp.c:289,1
    - Dst: evbuffer_incref_
      Src: /src/libevent/buffer_iocp.c:291,1
    - Dst: WSARecv
      Src: /src/libevent/buffer_iocp.c:292,1
    - Dst: WSAGetLastError
      Src: /src/libevent/buffer_iocp.c:294,1
    - Dst: pin_release
      Src: /src/libevent/buffer_iocp.c:297,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/buffer_iocp.c:298,1
    - Dst: evbuffer_free
      Src: /src/libevent/buffer_iocp.c:299,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer_iocp.c:307,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - buf
    - at_most
    - ol
    argTypes:
    - struct evbuffer*
    - size_t
    - struct event_overlapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 309
    functionName: evbuffer_launch_read_
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - upcast_evbuffer
    - evbuffer_read_setup_vecs_
    - memset
    - evbuffer_incref_
    - EVUTIL_ASSERT
    - evbuffer_chain_pin_
    - evbuffer_expand_fast_
    - evbuffer_unfreeze
    - evbuffer_free
    - evbuffer_freeze
    - WSABUF_FROM_EVBUFFER_IOV
    - EVBUFFER_LOCK
    - pin_release
    - WSARecv
    - EVBUFFER_UNLOCK
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: "int evbuffer_launch_read_(struct evbuffer *buf, size_t at_most,\n\t\tstruct
      event_overlapped *ol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upcast_evbuffer
      Src: /src/libevent/buffer_iocp.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: evbuffer_overlapped_get_fd_
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - upcast_evbuffer
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t evbuffer_overlapped_get_fd_(struct evbuffer *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upcast_evbuffer
      Src: /src/libevent/buffer_iocp.c:321,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer_iocp.c:322,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer_iocp.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - fd
    argTypes:
    - struct evbuffer*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: evbuffer_overlapped_set_fd_
    functionSourceFile: /src/libevent/buffer_iocp.c
    functionUses: 0
    functionsReached:
    - upcast_evbuffer
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: void
    signature: void evbuffer_overlapped_set_fd_(struct evbuffer *buf, evutil_socket_t
      fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: NT_SUCCESS
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NT_SUCCESS(status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: RTL_CONSTANT_STRING
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTL_CONSTANT_STRING(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ObjectName
    - ','
    - Attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: RTL_CONSTANT_OBJECT_ATTRIBUTES
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTL_CONSTANT_OBJECT_ATTRIBUTES(ObjectName, Attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 269
    functionName: NT_NTDLL_IMPORT_LIST
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NT_NTDLL_IMPORT_LIST(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - return_type
    - ','
    - attributes
    - ','
    - name
    - ','
    - parameters
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: X
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(return_type, attributes, name, parameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: return_map_error
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_map_error(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: return_set_error
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_set_error(value, error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NtCreateFile
      Src: /src/libevent/wepoll.c:339,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:351,1
    - Dst: RtlNtStatusToDosError
      Src: /src/libevent/wepoll.c:351,1
    - Dst: CreateIoCompletionPort
      Src: /src/libevent/wepoll.c:353,1
    - Dst: SetFileCompletionNotificationModes
      Src: /src/libevent/wepoll.c:356,1
    - Dst: CloseHandle
      Src: /src/libevent/wepoll.c:364,1
    - Dst: return_map_error
      Src: /src/libevent/wepoll.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - iocp_handle
    - afd_helper_handle_out
    argTypes:
    - HANDLE
    - HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 366
    functionName: afd_create_helper_handle
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - SetFileCompletionNotificationModes
    - CloseHandle
    - RtlNtStatusToDosError
    - CreateIoCompletionPort
    - return_map_error
    - NtCreateFile
    - return_set_error
    linkageType: ''
    returnType: int
    signature: "int afd_create_helper_handle(HANDLE iocp_handle,\n                             HANDLE*
      afd_helper_handle_out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/wepoll.c:374,1
    - Dst: NtDeviceIoControlFile
      Src: /src/libevent/wepoll.c:377,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:391,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:393,1
    - Dst: RtlNtStatusToDosError
      Src: /src/libevent/wepoll.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - afd_helper_handle
    - poll_info
    - io_status_block
    argTypes:
    - HANDLE
    - AFD_POLL_INFO*
    - IO_STATUS_BLOCK*
    assertStmts:
    - condition: (io_status_block != NULL)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 394
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 394
    functionName: afd_poll
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - RtlNtStatusToDosError
    - NtDeviceIoControlFile
    - return_set_error
    - assert
    linkageType: ''
    returnType: int
    signature: "int afd_poll(HANDLE afd_helper_handle,\n             AFD_POLL_INFO*
      poll_info,\n             IO_STATUS_BLOCK* io_status_block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NtCancelIoFileEx
      Src: /src/libevent/wepoll.c:407,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:414,1
    - Dst: RtlNtStatusToDosError
      Src: /src/libevent/wepoll.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - afd_helper_handle
    - io_status_block
    argTypes:
    - HANDLE
    - IO_STATUS_BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 415
    functionName: afd_cancel_poll
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - RtlNtStatusToDosError
    - NtCancelIoFileEx
    - return_set_error
    linkageType: ''
    returnType: int
    signature: "int afd_cancel_poll(HANDLE afd_helper_handle,\n                    IO_STATUS_BLOCK*
      io_status_block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_tree_init
      Src: /src/libevent/wepoll.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: epoll_global_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - ts_tree_init
    linkageType: ''
    returnType: int
    signature: int epoll_global_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/libevent/wepoll.c:562,1
    - Dst: port_new
      Src: /src/libevent/wepoll.c:565,1
    - Dst: port_state_to_handle_tree_node
      Src: /src/libevent/wepoll.c:569,1
    - Dst: ts_tree_add
      Src: /src/libevent/wepoll.c:570,1
    - Dst: port_delete
      Src: /src/libevent/wepoll.c:572,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 577
    functionName: epoll__create
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port_state_to_handle_tree_node
    - ts_tree_add
    - port_delete
    - init
    - return_set_error
    - port_new
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE epoll__create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:581,1
    - Dst: epoll__create
      Src: /src/libevent/wepoll.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: epoll_create
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - epoll__create
    - return_set_error
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE epoll_create(int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:588,1
    - Dst: epoll__create
      Src: /src/libevent/wepoll.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: epoll_create1
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - epoll__create
    - return_set_error
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE epoll_create1(int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/libevent/wepoll.c:597,1
    - Dst: ts_tree_del_and_ref
      Src: /src/libevent/wepoll.c:600,1
    - Dst: err_set_win_error
      Src: /src/libevent/wepoll.c:602,1
    - Dst: port_state_from_handle_tree_node
      Src: /src/libevent/wepoll.c:606,1
    - Dst: port_close
      Src: /src/libevent/wepoll.c:607,1
    - Dst: ts_tree_node_unref_and_destroy
      Src: /src/libevent/wepoll.c:609,1
    - Dst: port_delete
      Src: /src/libevent/wepoll.c:611,1
    - Dst: err_check_handle
      Src: /src/libevent/wepoll.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ephnd
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 616
    functionName: epoll_close
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port_state_from_handle_tree_node
    - port_close
    - ts_tree_del_and_ref
    - ts_tree_node_unref_and_destroy
    - port_delete
    - init
    - err_check_handle
    - err_set_win_error
    linkageType: ''
    returnType: int
    signature: int epoll_close(HANDLE ephnd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/libevent/wepoll.c:623,1
    - Dst: ts_tree_find_and_ref
      Src: /src/libevent/wepoll.c:626,1
    - Dst: err_set_win_error
      Src: /src/libevent/wepoll.c:628,1
    - Dst: port_state_from_handle_tree_node
      Src: /src/libevent/wepoll.c:632,1
    - Dst: port_ctl
      Src: /src/libevent/wepoll.c:633,1
    - Dst: ts_tree_node_unref
      Src: /src/libevent/wepoll.c:635,1
    - Dst: err_check_handle
      Src: /src/libevent/wepoll.c:645,1
    - Dst: err_check_handle
      Src: /src/libevent/wepoll.c:646,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - ephnd
    - op
    - sock
    - ev
    argTypes:
    - HANDLE
    - int
    - SOCKET
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 648
    functionName: epoll_ctl
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port_state_from_handle_tree_node
    - ts_tree_find_and_ref
    - ts_tree_node_unref
    - port_ctl
    - init
    - err_check_handle
    - err_set_win_error
    linkageType: ''
    returnType: int
    signature: int epoll_ctl(HANDLE ephnd, int op, SOCKET sock, struct epoll_event*
      ev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:659,1
    - Dst: init
      Src: /src/libevent/wepoll.c:661,1
    - Dst: ts_tree_find_and_ref
      Src: /src/libevent/wepoll.c:664,1
    - Dst: err_set_win_error
      Src: /src/libevent/wepoll.c:666,1
    - Dst: port_state_from_handle_tree_node
      Src: /src/libevent/wepoll.c:670,1
    - Dst: port_wait
      Src: /src/libevent/wepoll.c:671,1
    - Dst: ts_tree_node_unref
      Src: /src/libevent/wepoll.c:673,1
    - Dst: err_check_handle
      Src: /src/libevent/wepoll.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ephnd
    - events
    - maxevents
    - timeout
    argTypes:
    - HANDLE
    - struct epoll_event*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 683
    functionName: epoll_wait
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port_state_from_handle_tree_node
    - ts_tree_find_and_ref
    - port_wait
    - ts_tree_node_unref
    - init
    - err_check_handle
    - err_set_win_error
    - return_set_error
    linkageType: ''
    returnType: int
    signature: "int epoll_wait(HANDLE ephnd,\n               struct epoll_event* events,\n
      \              int maxevents,\n               int timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 789
    functionName: ERR__ERRNO_MAPPINGS
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR__ERRNO_MAPPINGS(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR__ERRNO_MAPPINGS
      Src: /src/libevent/wepoll.c:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - error
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 799
    functionName: err__map_win_error_to_errno
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - ERR__ERRNO_MAPPINGS
    linkageType: ''
    returnType: errno_t
    signature: errno_t err__map_win_error_to_errno(DWORD error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - error_sym
    - ','
    - errno_sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: X
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(error_sym, errno_sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: err__map_win_error_to_errno
      Src: /src/libevent/wepoll.c:802,1
    - Dst: GetLastError
      Src: /src/libevent/wepoll.c:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: err_map_win_error
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - err__map_win_error_to_errno
    linkageType: ''
    returnType: void
    signature: void err_map_win_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetLastError
      Src: /src/libevent/wepoll.c:806,1
    - Dst: err__map_win_error_to_errno
      Src: /src/libevent/wepoll.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: err_set_win_error
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached:
    - SetLastError
    - err__map_win_error_to_errno
    linkageType: ''
    returnType: void
    signature: void err_set_win_error(DWORD error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:816,1
    - Dst: GetHandleInformation
      Src: /src/libevent/wepoll.c:818,1
    - Dst: return_map_error
      Src: /src/libevent/wepoll.c:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 822
    functionName: err_check_handle
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached:
    - return_set_error
    - GetHandleInformation
    - return_map_error
    linkageType: ''
    returnType: int
    signature: int err_check_handle(HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 827
    functionName: array_count
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: array_count(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 830
    functionName: container_of
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: container_of(ptr, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 832
    functionName: unused_var
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unused_var(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unused_var
      Src: /src/libevent/wepoll.c:847,1
    - Dst: unused_var
      Src: /src/libevent/wepoll.c:848,1
    - Dst: unused_var
      Src: /src/libevent/wepoll.c:849,1
    - Dst: ws_global_init
      Src: /src/libevent/wepoll.c:852,1
    - Dst: nt_global_init
      Src: /src/libevent/wepoll.c:852,1
    - Dst: reflock_global_init
      Src: /src/libevent/wepoll.c:853,1
    - Dst: epoll_global_init
      Src: /src/libevent/wepoll.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - once
    - parameter
    - context
    argTypes:
    - INIT_ONCE*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 858
    functionName: init__once_callback
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - nt_global_init
    - reflock_global_init
    - unused_var
    - ws_global_init
    - epoll_global_init
    linkageType: ''
    returnType: BOOL
    signature: "BOOL init__once_callback(INIT_ONCE* once,\n                                         void*
      parameter,\n                                         void** context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitOnceExecuteOnce
      Src: /src/libevent/wepoll.c:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 870
    functionName: init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 8
    functionsReached:
    - InitOnceExecuteOnce
    linkageType: ''
    returnType: int
    signature: int init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - return_type
    - ','
    - attributes
    - ','
    - name
    - ','
    - parameters
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 886
    functionName: X
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(return_type, attributes, name, parameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleW
      Src: /src/libevent/wepoll.c:893,1
    - Dst: NT_NTDLL_IMPORT_LIST
      Src: /src/libevent/wepoll.c:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 906
    functionName: nt_global_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - NT_NTDLL_IMPORT_LIST
    - GetModuleHandleW
    linkageType: ''
    returnType: int
    signature: int nt_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - return_type
    - ','
    - attributes
    - ','
    - name
    - ','
    - parameters
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 902
    functionName: X
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(return_type, attributes, name, parameters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port_get_iocp_handle
      Src: /src/libevent/wepoll.c:958,1
    - Dst: port_get_poll_group_queue
      Src: /src/libevent/wepoll.c:959,1
    - Dst: mm_malloc
      Src: /src/libevent/wepoll.c:961,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:963,1
    - Dst: memset
      Src: /src/libevent/wepoll.c:965,1
    - Dst: queue_node_init
      Src: /src/libevent/wepoll.c:967,1
    - Dst: afd_create_helper_handle
      Src: /src/libevent/wepoll.c:970,1
    - Dst: mm_free
      Src: /src/libevent/wepoll.c:972,1
    - Dst: queue_append
      Src: /src/libevent/wepoll.c:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 979
    functionName: poll_group__new
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port_get_poll_group_queue
    - memset
    - queue_node_init
    - queue_append
    - port_get_iocp_handle
    - mm_malloc
    - afd_create_helper_handle
    - mm_free
    - return_set_error
    linkageType: ''
    returnType: poll_group_t
    signature: poll_group_t * poll_group__new(port_state_t* port_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/wepoll.c:982,1
    - Dst: CloseHandle
      Src: /src/libevent/wepoll.c:983,1
    - Dst: queue_remove
      Src: /src/libevent/wepoll.c:984,1
    - Dst: mm_free
      Src: /src/libevent/wepoll.c:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - poll_group
    argTypes:
    - poll_group_t*
    assertStmts:
    - condition: (poll_group->group_size == 0)
      pos:
        line_end: 981
        line_start: 981
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 986
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 986
    functionName: poll_group_delete
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - queue_remove
    - mm_free
    - CloseHandle
    - assert
    linkageType: ''
    returnType: void
    signature: void poll_group_delete(poll_group_t* poll_group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libevent/wepoll.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue_node
    argTypes:
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 990
    functionName: poll_group_from_queue_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: poll_group_t
    signature: poll_group_t * poll_group_from_queue_node(queue_node_t* queue_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - poll_group
    argTypes:
    - poll_group_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: poll_group_get_afd_helper_handle
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE poll_group_get_afd_helper_handle(poll_group_t* poll_group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: port_get_poll_group_queue
      Src: /src/libevent/wepoll.c:997,1
    - Dst: queue_empty
      Src: /src/libevent/wepoll.c:999,1
    - Dst: container_of
      Src: /src/libevent/wepoll.c:1000,1
    - Dst: queue_last
      Src: /src/libevent/wepoll.c:1001,1
    - Dst: poll_group__new
      Src: /src/libevent/wepoll.c:1006,1
    - Dst: queue_move_first
      Src: /src/libevent/wepoll.c:1011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1014
    functionName: poll_group_acquire
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port_get_poll_group_queue
    - poll_group__new
    - queue_last
    - queue_move_first
    - queue_empty
    - container_of
    linkageType: ''
    returnType: poll_group_t
    signature: poll_group_t * poll_group_acquire(port_state_t* port_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_get_poll_group_queue
      Src: /src/libevent/wepoll.c:1018,1
    - Dst: assert
      Src: /src/libevent/wepoll.c:1021,1
    - Dst: queue_move_last
      Src: /src/libevent/wepoll.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - poll_group
    argTypes:
    - poll_group_t*
    assertStmts:
    - condition: (poll_group->group_size < POLL_GROUP__MAX_GROUP_SIZE)
      pos:
        line_end: 1020
        line_start: 1020
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1026
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1026
    functionName: poll_group_release
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - queue_move_last
    - port_get_poll_group_queue
    - assert
    linkageType: ''
    returnType: void
    signature: void poll_group_release(poll_group_t* poll_group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/wepoll.c:1067,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    functionName: port__alloc
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - return_set_error
    - mm_malloc
    linkageType: ''
    returnType: port_state_t
    signature: port_state_t * port__alloc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/wepoll.c:1075,1
    - Dst: mm_free
      Src: /src/libevent/wepoll.c:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - port_state_t*
    assertStmts:
    - condition: (port != NULL)
      pos:
        line_end: 1074
        line_start: 1074
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1077
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1077
    functionName: port__free
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - mm_free
    - assert
    linkageType: ''
    returnType: void
    signature: void port__free(port_state_t* port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateIoCompletionPort
      Src: /src/libevent/wepoll.c:1081,1
    - Dst: return_map_error
      Src: /src/libevent/wepoll.c:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1086
    functionName: port__create_iocp
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - return_map_error
    - CreateIoCompletionPort
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE port__create_iocp(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port__alloc
      Src: /src/libevent/wepoll.c:1092,1
    - Dst: port__create_iocp
      Src: /src/libevent/wepoll.c:1096,1
    - Dst: memset
      Src: /src/libevent/wepoll.c:1100,1
    - Dst: tree_init
      Src: /src/libevent/wepoll.c:1103,1
    - Dst: queue_init
      Src: /src/libevent/wepoll.c:1104,1
    - Dst: queue_init
      Src: /src/libevent/wepoll.c:1105,1
    - Dst: queue_init
      Src: /src/libevent/wepoll.c:1106,1
    - Dst: ts_tree_node_init
      Src: /src/libevent/wepoll.c:1107,1
    - Dst: InitializeCriticalSection
      Src: /src/libevent/wepoll.c:1108,1
    - Dst: port__free
      Src: /src/libevent/wepoll.c:1114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - iocp_handle_out
    argTypes:
    - HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1088
    functionDepth: 2
    functionLinenumber: 1088
    functionLinenumberEnd: 1117
    functionName: port_new
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - port__create_iocp
    - queue_init
    - memset
    - InitializeCriticalSection
    - port__alloc
    - port__free
    - ts_tree_node_init
    - tree_init
    linkageType: ''
    returnType: port_state_t
    signature: port_state_t * port_new(HANDLE* iocp_handle_out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/libevent/wepoll.c:1123,1
    - Dst: return_map_error
      Src: /src/libevent/wepoll.c:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1127
    functionName: port__close_iocp
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - return_map_error
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int port__close_iocp(port_state_t* port_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libevent/wepoll.c:1132,1
    - Dst: port__close_iocp
      Src: /src/libevent/wepoll.c:1133,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/wepoll.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1137
    functionName: port_close
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - LeaveCriticalSection
    - port__close_iocp
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int port_close(port_state_t* port_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/wepoll.c:1144,1
    - Dst: tree_root
      Src: /src/libevent/wepoll.c:1146,1
    - Dst: sock_state_from_tree_node
      Src: /src/libevent/wepoll.c:1147,1
    - Dst: sock_force_delete
      Src: /src/libevent/wepoll.c:1148,1
    - Dst: queue_first
      Src: /src/libevent/wepoll.c:1151,1
    - Dst: sock_state_from_queue_node
      Src: /src/libevent/wepoll.c:1152,1
    - Dst: sock_force_delete
      Src: /src/libevent/wepoll.c:1153,1
    - Dst: queue_first
      Src: /src/libevent/wepoll.c:1156,1
    - Dst: poll_group_from_queue_node
      Src: /src/libevent/wepoll.c:1157,1
    - Dst: poll_group_delete
      Src: /src/libevent/wepoll.c:1158,1
    - Dst: assert
      Src: /src/libevent/wepoll.c:1161,1
    - Dst: queue_empty
      Src: /src/libevent/wepoll.c:1161,1
    - Dst: DeleteCriticalSection
      Src: /src/libevent/wepoll.c:1163,1
    - Dst: port__free
      Src: /src/libevent/wepoll.c:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts:
    - condition: (port_state->iocp_handle == NULL)
      pos:
        line_end: 1143
        line_start: 1143
        source_file: /src/libevent/wepoll.c
    - condition: (queue_empty(&port_state->sock_update_queue))
      pos:
        line_end: 1160
        line_start: 1160
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1168
      start: 1139
    functionDepth: 2
    functionLinenumber: 1139
    functionLinenumberEnd: 1168
    functionName: port_delete
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - queue_first
    - poll_group_delete
    - sock_state_from_tree_node
    - sock_force_delete
    - sock_state_from_queue_node
    - port__free
    - queue_empty
    - DeleteCriticalSection
    - poll_group_from_queue_node
    - tree_root
    - assert
    linkageType: ''
    returnType: int
    signature: int port_delete(port_state_t* port_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: queue_empty
      Src: /src/libevent/wepoll.c:1175,1
    - Dst: queue_first
      Src: /src/libevent/wepoll.c:1176,1
    - Dst: sock_state_from_queue_node
      Src: /src/libevent/wepoll.c:1177,1
    - Dst: sock_update
      Src: /src/libevent/wepoll.c:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1186
    functionName: port__update_events
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - sock_update
    - sock_state_from_queue_node
    - queue_empty
    - queue_first
    linkageType: ''
    returnType: int
    signature: int port__update_events(port_state_t* port_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port__update_events
      Src: /src/libevent/wepoll.c:1190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1191
    functionName: port__update_events_if_polling
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port__update_events
    linkageType: ''
    returnType: void
    signature: void port__update_events_if_polling(port_state_t* port_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sock_feed_event
      Src: /src/libevent/wepoll.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - port_state
    - epoll_events
    - iocp_events
    - iocp_event_count
    argTypes:
    - port_state_t*
    - struct epoll_event*
    - OVERLAPPED_ENTRY*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1209
    functionName: port__feed_events
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - sock_feed_event
    linkageType: ''
    returnType: int
    signature: "int port__feed_events(port_state_t* port_state,\n                             struct
      epoll_event* epoll_events,\n                             OVERLAPPED_ENTRY* iocp_events,\n
      \                            DWORD iocp_event_count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port__update_events
      Src: /src/libevent/wepoll.c:1218,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/wepoll.c:1223,1
    - Dst: GetQueuedCompletionStatusEx
      Src: /src/libevent/wepoll.c:1225,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/wepoll.c:1232,1
    - Dst: return_map_error
      Src: /src/libevent/wepoll.c:1237,1
    - Dst: port__feed_events
      Src: /src/libevent/wepoll.c:1239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - port_state
    - epoll_events
    - iocp_events
    - maxevents
    - timeout
    argTypes:
    - port_state_t*
    - struct epoll_event*
    - OVERLAPPED_ENTRY*
    - DWORD
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1241
    functionName: port__poll
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - LeaveCriticalSection
    - GetQueuedCompletionStatusEx
    - return_map_error
    - port__feed_events
    - port__update_events
    linkageType: ''
    returnType: int
    signature: "int port__poll(port_state_t* port_state,\n                      struct
      epoll_event* epoll_events,\n                      OVERLAPPED_ENTRY* iocp_events,\n
      \                     DWORD maxevents,\n                      DWORD timeout)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:1255,1
    - Dst: array_count
      Src: /src/libevent/wepoll.c:1259,1
    - Dst: mm_malloc
      Src: /src/libevent/wepoll.c:1262,1
    - Dst: array_count
      Src: /src/libevent/wepoll.c:1264,1
    - Dst: GetTickCount64
      Src: /src/libevent/wepoll.c:1270,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/wepoll.c:1278,1
    - Dst: port__poll
      Src: /src/libevent/wepoll.c:1285,1
    - Dst: GetTickCount64
      Src: /src/libevent/wepoll.c:1294,1
    - Dst: SetLastError
      Src: /src/libevent/wepoll.c:1298,1
    - Dst: port__update_events_if_polling
      Src: /src/libevent/wepoll.c:1306,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/wepoll.c:1308,1
    - Dst: mm_free
      Src: /src/libevent/wepoll.c:1311,1
    - Dst: GetLastError
      Src: /src/libevent/wepoll.c:1315,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - port_state
    - events
    - maxevents
    - timeout
    argTypes:
    - port_state_t*
    - struct epoll_event*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1243
    functionDepth: 3
    functionLinenumber: 1243
    functionLinenumberEnd: 1319
    functionName: port_wait
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - GetLastError
    - port__poll
    - SetLastError
    - EnterCriticalSection
    - LeaveCriticalSection
    - port__update_events_if_polling
    - array_count
    - mm_malloc
    - GetTickCount64
    - mm_free
    - return_set_error
    linkageType: ''
    returnType: int
    signature: "int port_wait(port_state_t* port_state,\n              struct epoll_event*
      events,\n              int maxevents,\n              int timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sock_new
      Src: /src/libevent/wepoll.c:1324,1
    - Dst: sock_set_event
      Src: /src/libevent/wepoll.c:1328,1
    - Dst: sock_delete
      Src: /src/libevent/wepoll.c:1329,1
    - Dst: port__update_events_if_polling
      Src: /src/libevent/wepoll.c:1333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - port_state
    - sock
    - ev
    argTypes:
    - port_state_t*
    - SOCKET
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1336
    functionName: port__ctl_add
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - sock_new
    - port__update_events_if_polling
    - sock_set_event
    - sock_delete
    linkageType: ''
    returnType: int
    signature: "int port__ctl_add(port_state_t* port_state,\n                         SOCKET
      sock,\n                         struct epoll_event* ev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port_find_socket
      Src: /src/libevent/wepoll.c:1341,1
    - Dst: sock_set_event
      Src: /src/libevent/wepoll.c:1345,1
    - Dst: port__update_events_if_polling
      Src: /src/libevent/wepoll.c:1348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - port_state
    - sock
    - ev
    argTypes:
    - port_state_t*
    - SOCKET
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1338
    functionDepth: 3
    functionLinenumber: 1338
    functionLinenumberEnd: 1351
    functionName: port__ctl_mod
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port__update_events_if_polling
    - sock_set_event
    - port_find_socket
    linkageType: ''
    returnType: int
    signature: "int port__ctl_mod(port_state_t* port_state,\n                         SOCKET
      sock,\n                         struct epoll_event* ev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_find_socket
      Src: /src/libevent/wepoll.c:1354,1
    - Dst: sock_delete
      Src: /src/libevent/wepoll.c:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - port_state
    - sock
    argTypes:
    - port_state_t*
    - SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1361
    functionName: port__ctl_del
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port_find_socket
    - sock_delete
    linkageType: ''
    returnType: int
    signature: int port__ctl_del(port_state_t* port_state, SOCKET sock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: port__ctl_add
      Src: /src/libevent/wepoll.c:1369,1
    - Dst: port__ctl_mod
      Src: /src/libevent/wepoll.c:1371,1
    - Dst: port__ctl_del
      Src: /src/libevent/wepoll.c:1373,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:1375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - port_state
    - op
    - sock
    - ev
    argTypes:
    - port_state_t*
    - int
    - SOCKET
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1363
    functionDepth: 4
    functionLinenumber: 1363
    functionLinenumberEnd: 1377
    functionName: port__ctl_op
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port__ctl_add
    - return_set_error
    - port__ctl_mod
    - port__ctl_del
    linkageType: ''
    returnType: int
    signature: "int port__ctl_op(port_state_t* port_state,\n                        int
      op,\n                        SOCKET sock,\n                        struct epoll_event*
      ev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libevent/wepoll.c:1385,1
    - Dst: port__ctl_op
      Src: /src/libevent/wepoll.c:1386,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/wepoll.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - port_state
    - op
    - sock
    - ev
    argTypes:
    - port_state_t*
    - int
    - SOCKET
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1379
    functionDepth: 5
    functionLinenumber: 1379
    functionLinenumberEnd: 1390
    functionName: port_ctl
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - LeaveCriticalSection
    - port__ctl_op
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: "int port_ctl(port_state_t* port_state,\n             int op,\n             SOCKET
      sock,\n             struct epoll_event* ev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_add
      Src: /src/libevent/wepoll.c:1395,1
    - Dst: sock_state_to_tree_node
      Src: /src/libevent/wepoll.c:1396,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:1398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - port_state
    - sock_state
    - socket
    argTypes:
    - port_state_t*
    - sock_state_t*
    - SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1392
    functionDepth: 1
    functionLinenumber: 1392
    functionLinenumberEnd: 1400
    functionName: port_register_socket_handle
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - tree_add
    - return_set_error
    - sock_state_to_tree_node
    linkageType: ''
    returnType: int
    signature: "int port_register_socket_handle(port_state_t* port_state,\n                                sock_state_t*
      sock_state,\n                                SOCKET socket)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_del
      Src: /src/libevent/wepoll.c:1404,1
    - Dst: sock_state_to_tree_node
      Src: /src/libevent/wepoll.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port_state
    - sock_state
    argTypes:
    - port_state_t*
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1405
    functionName: port_unregister_socket_handle
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - tree_del
    - sock_state_to_tree_node
    linkageType: ''
    returnType: void
    signature: "void port_unregister_socket_handle(port_state_t* port_state,\n                                   sock_state_t*
      sock_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_find
      Src: /src/libevent/wepoll.c:1408,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:1410,1
    - Dst: sock_state_from_tree_node
      Src: /src/libevent/wepoll.c:1411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - port_state
    - socket
    argTypes:
    - port_state_t*
    - SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1412
    functionName: port_find_socket
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - tree_find
    - return_set_error
    - sock_state_from_tree_node
    linkageType: ''
    returnType: sock_state_t
    signature: sock_state_t * port_find_socket(port_state_t* port_state, SOCKET socket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: queue_enqueued
      Src: /src/libevent/wepoll.c:1416,1
    - Dst: sock_state_to_queue_node
      Src: /src/libevent/wepoll.c:1416,1
    - Dst: queue_append
      Src: /src/libevent/wepoll.c:1418,1
    - Dst: sock_state_to_queue_node
      Src: /src/libevent/wepoll.c:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - port_state
    - sock_state
    argTypes:
    - port_state_t*
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1420
    functionName: port_request_socket_update
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - queue_enqueued
    - queue_append
    - sock_state_to_queue_node
    linkageType: ''
    returnType: void
    signature: "void port_request_socket_update(port_state_t* port_state,\n                                sock_state_t*
      sock_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unused_var
      Src: /src/libevent/wepoll.c:1424,1
    - Dst: queue_enqueued
      Src: /src/libevent/wepoll.c:1425,1
    - Dst: sock_state_to_queue_node
      Src: /src/libevent/wepoll.c:1425,1
    - Dst: queue_remove
      Src: /src/libevent/wepoll.c:1427,1
    - Dst: sock_state_to_queue_node
      Src: /src/libevent/wepoll.c:1427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - port_state
    - sock_state
    argTypes:
    - port_state_t*
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1428
    functionName: port_cancel_socket_update
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - queue_enqueued
    - unused_var
    - sock_state_to_queue_node
    - queue_remove
    linkageType: ''
    returnType: void
    signature: "void port_cancel_socket_update(port_state_t* port_state,\n                               sock_state_t*
      sock_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: queue_enqueued
      Src: /src/libevent/wepoll.c:1432,1
    - Dst: sock_state_to_queue_node
      Src: /src/libevent/wepoll.c:1432,1
    - Dst: queue_append
      Src: /src/libevent/wepoll.c:1434,1
    - Dst: sock_state_to_queue_node
      Src: /src/libevent/wepoll.c:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - port_state
    - sock_state
    argTypes:
    - port_state_t*
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1436
    functionName: port_add_deleted_socket
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - queue_enqueued
    - queue_append
    - sock_state_to_queue_node
    linkageType: ''
    returnType: void
    signature: "void port_add_deleted_socket(port_state_t* port_state,\n                             sock_state_t*
      sock_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unused_var
      Src: /src/libevent/wepoll.c:1440,1
    - Dst: queue_enqueued
      Src: /src/libevent/wepoll.c:1441,1
    - Dst: sock_state_to_queue_node
      Src: /src/libevent/wepoll.c:1441,1
    - Dst: queue_remove
      Src: /src/libevent/wepoll.c:1443,1
    - Dst: sock_state_to_queue_node
      Src: /src/libevent/wepoll.c:1443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - port_state
    - sock_state
    argTypes:
    - port_state_t*
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1444
    functionName: port_remove_deleted_socket
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - queue_enqueued
    - unused_var
    - sock_state_to_queue_node
    - queue_remove
    linkageType: ''
    returnType: void
    signature: "void port_remove_deleted_socket(port_state_t* port_state,\n                                sock_state_t*
      sock_state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/wepoll.c:1447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts:
    - condition: (port_state->iocp_handle != NULL)
      pos:
        line_end: 1446
        line_start: 1446
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1449
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1449
    functionName: port_get_iocp_handle
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE port_get_iocp_handle(port_state_t* port_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1453
    functionName: port_get_poll_group_queue
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: queue_t
    signature: queue_t * port_get_poll_group_queue(port_state_t* port_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libevent/wepoll.c:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree_node
    argTypes:
    - ts_tree_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1457
    functionName: port_state_from_handle_tree_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached:
    - container_of
    linkageType: ''
    returnType: port_state_t
    signature: port_state_t * port_state_from_handle_tree_node(ts_tree_node_t* tree_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port_state
    argTypes:
    - port_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1461
    functionName: port_state_to_handle_tree_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ts_tree_node_t
    signature: ts_tree_node_t * port_state_to_handle_tree_node(port_state_t* port_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_node_init
      Src: /src/libevent/wepoll.c:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1465
    functionName: queue_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - queue_node_init
    linkageType: ''
    returnType: void
    signature: void queue_init(queue_t* queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: queue_node_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void queue_node_init(queue_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1475
    functionName: queue__detach_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void queue__detach_node(queue_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_empty
      Src: /src/libevent/wepoll.c:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1479
    functionName: queue_first
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - queue_empty
    linkageType: ''
    returnType: queue_node_t
    signature: queue_node_t * queue_first(const queue_t* queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_empty
      Src: /src/libevent/wepoll.c:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1483
    functionName: queue_last
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - queue_empty
    linkageType: ''
    returnType: queue_node_t
    signature: queue_node_t * queue_last(const queue_t* queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - node
    argTypes:
    - queue_t*
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1490
    functionName: queue_prepend
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void queue_prepend(queue_t* queue, queue_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - node
    argTypes:
    - queue_t*
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1497
    functionName: queue_append
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void queue_append(queue_t* queue, queue_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue__detach_node
      Src: /src/libevent/wepoll.c:1500,1
    - Dst: queue_prepend
      Src: /src/libevent/wepoll.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - queue
    - node
    argTypes:
    - queue_t*
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: queue_move_first
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - queue_prepend
    - queue__detach_node
    linkageType: ''
    returnType: void
    signature: void queue_move_first(queue_t* queue, queue_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue__detach_node
      Src: /src/libevent/wepoll.c:1505,1
    - Dst: queue_append
      Src: /src/libevent/wepoll.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - queue
    - node
    argTypes:
    - queue_t*
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1507
    functionName: queue_move_last
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - queue_append
    - queue__detach_node
    linkageType: ''
    returnType: void
    signature: void queue_move_last(queue_t* queue, queue_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue__detach_node
      Src: /src/libevent/wepoll.c:1510,1
    - Dst: queue_node_init
      Src: /src/libevent/wepoll.c:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: queue_remove
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached:
    - queue_node_init
    - queue__detach_node
    linkageType: ''
    returnType: void
    signature: void queue_remove(queue_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: queue_enqueued
      Src: /src/libevent/wepoll.c:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1516
    functionName: queue_empty
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 5
    functionsReached:
    - queue_enqueued
    linkageType: ''
    returnType: bool
    signature: bool queue_empty(const queue_t* queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1520
    functionName: queue_enqueued
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool queue_enqueued(const queue_node_t* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NtCreateKeyedEvent
      Src: /src/libevent/wepoll.c:1531,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:1534,1
    - Dst: RtlNtStatusToDosError
      Src: /src/libevent/wepoll.c:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1536
    functionName: reflock_global_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - RtlNtStatusToDosError
    - NtCreateKeyedEvent
    - return_set_error
    linkageType: ''
    returnType: int
    signature: int reflock_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reflock
    argTypes:
    - reflock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1540
    functionName: reflock_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reflock_init(reflock_t* reflock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NtReleaseKeyedEvent
      Src: /src/libevent/wepoll.c:1544,1
    - Dst: abort
      Src: /src/libevent/wepoll.c:1546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1547
    functionName: reflock__signal_event
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - abort
    - NtReleaseKeyedEvent
    linkageType: ''
    returnType: void
    signature: void reflock__signal_event(void* address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NtWaitForKeyedEvent
      Src: /src/libevent/wepoll.c:1551,1
    - Dst: abort
      Src: /src/libevent/wepoll.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1554
    functionName: reflock__await_event
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - abort
    - NtWaitForKeyedEvent
    linkageType: ''
    returnType: void
    signature: void reflock__await_event(void* address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedAdd
      Src: /src/libevent/wepoll.c:1557,1
    - Dst: assert
      Src: /src/libevent/wepoll.c:1560,1
    - Dst: unused_var
      Src: /src/libevent/wepoll.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reflock
    argTypes:
    - reflock_t*
    assertStmts:
    - condition: ((state & REFLOCK__DESTROY_MASK) == 0)
      pos:
        line_end: 1559
        line_start: 1559
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1562
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1562
    functionName: reflock_ref
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - InterlockedAdd
    - unused_var
    - assert
    linkageType: ''
    returnType: void
    signature: void reflock_ref(reflock_t* reflock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedAdd
      Src: /src/libevent/wepoll.c:1565,1
    - Dst: assert
      Src: /src/libevent/wepoll.c:1568,1
    - Dst: reflock__signal_event
      Src: /src/libevent/wepoll.c:1571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reflock
    argTypes:
    - reflock_t*
    assertStmts:
    - condition: ((state & REFLOCK__DESTROY_MASK & ~REFLOCK__DESTROY) == 0)
      pos:
        line_end: 1567
        line_start: 1567
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1572
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1572
    functionName: reflock_unref
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - InterlockedAdd
    - reflock__signal_event
    - assert
    linkageType: ''
    returnType: void
    signature: void reflock_unref(reflock_t* reflock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedAdd
      Src: /src/libevent/wepoll.c:1576,1
    - Dst: assert
      Src: /src/libevent/wepoll.c:1580,1
    - Dst: reflock__await_event
      Src: /src/libevent/wepoll.c:1583,1
    - Dst: InterlockedExchange
      Src: /src/libevent/wepoll.c:1585,1
    - Dst: assert
      Src: /src/libevent/wepoll.c:1586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reflock
    argTypes:
    - reflock_t*
    assertStmts:
    - condition: (state == REFLOCK__DESTROY)
      pos:
        line_end: 1585
        line_start: 1585
        source_file: /src/libevent/wepoll.c
    - condition: ((state & REFLOCK__DESTROY_MASK) == REFLOCK__DESTROY)
      pos:
        line_end: 1579
        line_start: 1579
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1587
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1587
    functionName: reflock_unref_and_destroy
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - InterlockedAdd
    - reflock__await_event
    - InterlockedExchange
    - assert
    linkageType: ''
    returnType: void
    signature: void reflock_unref_and_destroy(reflock_t* reflock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/wepoll.c:1614,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1618
    functionName: sock__alloc
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - return_set_error
    - mm_malloc
    linkageType: ''
    returnType: sock_state_t
    signature: sock_state_t * sock__alloc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/wepoll.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock_state
    argTypes:
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1620
    functionDepth: 1
    functionLinenumber: 1620
    functionLinenumberEnd: 1622
    functionName: sock__free
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void sock__free(sock_state_t* sock_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/wepoll.c:1625,1
    - Dst: afd_cancel_poll
      Src: /src/libevent/wepoll.c:1627,1
    - Dst: poll_group_get_afd_helper_handle
      Src: /src/libevent/wepoll.c:1627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sock_state
    argTypes:
    - sock_state_t*
    assertStmts:
    - condition: (sock_state->poll_status == SOCK__POLL_PENDING)
      pos:
        line_end: 1624
        line_start: 1624
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1634
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1634
    functionName: sock__cancel_poll
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - poll_group_get_afd_helper_handle
    - afd_cancel_poll
    - assert
    linkageType: ''
    returnType: int
    signature: int sock__cancel_poll(sock_state_t* sock_state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:1642,1
    - Dst: ws_get_base_socket
      Src: /src/libevent/wepoll.c:1644,1
    - Dst: poll_group_acquire
      Src: /src/libevent/wepoll.c:1648,1
    - Dst: sock__alloc
      Src: /src/libevent/wepoll.c:1652,1
    - Dst: memset
      Src: /src/libevent/wepoll.c:1656,1
    - Dst: tree_node_init
      Src: /src/libevent/wepoll.c:1661,1
    - Dst: queue_node_init
      Src: /src/libevent/wepoll.c:1662,1
    - Dst: port_register_socket_handle
      Src: /src/libevent/wepoll.c:1664,1
    - Dst: sock__free
      Src: /src/libevent/wepoll.c:1670,1
    - Dst: poll_group_release
      Src: /src/libevent/wepoll.c:1672,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - port_state
    - socket
    argTypes:
    - port_state_t*
    - SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1636
    functionDepth: 4
    functionLinenumber: 1636
    functionLinenumberEnd: 1675
    functionName: sock_new
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - sock__alloc
    - memset
    - poll_group_release
    - poll_group_acquire
    - queue_node_init
    - tree_node_init
    - port_register_socket_handle
    - sock__free
    - return_set_error
    - ws_get_base_socket
    linkageType: ''
    returnType: sock_state_t
    signature: sock_state_t * sock_new(port_state_t* port_state, SOCKET socket)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sock__cancel_poll
      Src: /src/libevent/wepoll.c:1682,1
    - Dst: port_cancel_socket_update
      Src: /src/libevent/wepoll.c:1684,1
    - Dst: port_unregister_socket_handle
      Src: /src/libevent/wepoll.c:1685,1
    - Dst: port_remove_deleted_socket
      Src: /src/libevent/wepoll.c:1695,1
    - Dst: poll_group_release
      Src: /src/libevent/wepoll.c:1696,1
    - Dst: sock__free
      Src: /src/libevent/wepoll.c:1697,1
    - Dst: port_add_deleted_socket
      Src: /src/libevent/wepoll.c:1700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - port_state
    - sock_state
    - force
    argTypes:
    - port_state_t*
    - sock_state_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1677
    functionDepth: 3
    functionLinenumber: 1677
    functionLinenumberEnd: 1704
    functionName: sock__delete
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - port_unregister_socket_handle
    - sock__cancel_poll
    - poll_group_release
    - port_add_deleted_socket
    - port_cancel_socket_update
    - sock__free
    - port_remove_deleted_socket
    linkageType: ''
    returnType: int
    signature: "int sock__delete(port_state_t* port_state,\n                        sock_state_t*
      sock_state,\n                        bool force)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sock__delete
      Src: /src/libevent/wepoll.c:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port_state
    - sock_state
    argTypes:
    - port_state_t*
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1706
    functionDepth: 4
    functionLinenumber: 1706
    functionLinenumberEnd: 1708
    functionName: sock_delete
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - sock__delete
    linkageType: ''
    returnType: void
    signature: void sock_delete(port_state_t* port_state, sock_state_t* sock_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sock__delete
      Src: /src/libevent/wepoll.c:1711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port_state
    - sock_state
    argTypes:
    - port_state_t*
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1710
    functionDepth: 4
    functionLinenumber: 1710
    functionLinenumberEnd: 1712
    functionName: sock_force_delete
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - sock__delete
    linkageType: ''
    returnType: void
    signature: void sock_force_delete(port_state_t* port_state, sock_state_t* sock_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_request_socket_update
      Src: /src/libevent/wepoll.c:1726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - port_state
    - sock_state
    - ev
    argTypes:
    - port_state_t*
    - sock_state_t*
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1714
    functionDepth: 2
    functionLinenumber: 1714
    functionLinenumberEnd: 1729
    functionName: sock_set_event
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - port_request_socket_update
    linkageType: ''
    returnType: int
    signature: "int sock_set_event(port_state_t* port_state,\n                   sock_state_t*
      sock_state,\n                   const struct epoll_event* ev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - epoll_events
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1750
    functionName: sock__epoll_events_to_afd_events
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DWORD
    signature: DWORD sock__epoll_events_to_afd_events(uint32_t epoll_events)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - afd_events
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1771
    functionName: sock__afd_events_to_epoll_events
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sock__afd_events_to_epoll_events(DWORD afd_events)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/wepoll.c:1774,1
    - Dst: sock__cancel_poll
      Src: /src/libevent/wepoll.c:1789,1
    - Dst: sock__epoll_events_to_afd_events
      Src: /src/libevent/wepoll.c:1804,1
    - Dst: afd_poll
      Src: /src/libevent/wepoll.c:1806,1
    - Dst: poll_group_get_afd_helper_handle
      Src: /src/libevent/wepoll.c:1806,1
    - Dst: GetLastError
      Src: /src/libevent/wepoll.c:1809,1
    - Dst: sock__delete
      Src: /src/libevent/wepoll.c:1815,1
    - Dst: return_map_error
      Src: /src/libevent/wepoll.c:1818,1
    - Dst: assert
      Src: /src/libevent/wepoll.c:1828,1
    - Dst: port_cancel_socket_update
      Src: /src/libevent/wepoll.c:1831,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - port_state
    - sock_state
    argTypes:
    - port_state_t*
    - sock_state_t*
    assertStmts:
    - condition: (!sock_state->delete_pending)
      pos:
        line_end: 1773
        line_start: 1773
        source_file: /src/libevent/wepoll.c
    - condition: (false)
      pos:
        line_end: 1827
        line_start: 1827
        source_file: /src/libevent/wepoll.c
    constantsTouched: []
    func_position:
      end: 1833
      start: 1773
    functionDepth: 4
    functionLinenumber: 1773
    functionLinenumberEnd: 1833
    functionName: sock_update
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - GetLastError
    - sock__cancel_poll
    - poll_group_get_afd_helper_handle
    - port_cancel_socket_update
    - assert
    - sock__delete
    - return_map_error
    - sock__epoll_events_to_afd_events
    - afd_poll
    linkageType: ''
    returnType: int
    signature: int sock_update(port_state_t* port_state, sock_state_t* sock_state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libevent/wepoll.c:1839,1
    - Dst: sock__delete
      Src: /src/libevent/wepoll.c:1848,1
    - Dst: NT_SUCCESS
      Src: /src/libevent/wepoll.c:1853,1
    - Dst: sock__delete
      Src: /src/libevent/wepoll.c:1862,1
    - Dst: sock__afd_events_to_epoll_events
      Src: /src/libevent/wepoll.c:1867,1
    - Dst: port_request_socket_update
      Src: /src/libevent/wepoll.c:1871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - port_state
    - io_status_block
    - ev
    argTypes:
    - port_state_t*
    - IO_STATUS_BLOCK*
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1835
    functionDepth: 4
    functionLinenumber: 1835
    functionLinenumberEnd: 1888
    functionName: sock_feed_event
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - port_request_socket_update
    - sock__afd_events_to_epoll_events
    - NT_SUCCESS
    - sock__delete
    - container_of
    linkageType: ''
    returnType: int
    signature: "int sock_feed_event(port_state_t* port_state,\n                    IO_STATUS_BLOCK*
      io_status_block,\n                    struct epoll_event* ev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libevent/wepoll.c:1891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue_node
    argTypes:
    - queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1890
    functionDepth: 1
    functionLinenumber: 1890
    functionLinenumberEnd: 1892
    functionName: sock_state_from_queue_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - container_of
    linkageType: ''
    returnType: sock_state_t
    signature: sock_state_t * sock_state_from_queue_node(queue_node_t* queue_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock_state
    argTypes:
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1896
    functionName: sock_state_to_queue_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: queue_node_t
    signature: queue_node_t * sock_state_to_queue_node(sock_state_t* sock_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/libevent/wepoll.c:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree_node
    argTypes:
    - tree_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1898
    functionDepth: 1
    functionLinenumber: 1898
    functionLinenumberEnd: 1900
    functionName: sock_state_from_tree_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - container_of
    linkageType: ''
    returnType: sock_state_t
    signature: sock_state_t * sock_state_from_tree_node(tree_node_t* tree_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock_state
    argTypes:
    - sock_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1904
    functionName: sock_state_to_tree_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tree_node_t
    signature: tree_node_t * sock_state_to_tree_node(sock_state_t* sock_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_init
      Src: /src/libevent/wepoll.c:1907,1
    - Dst: InitializeSRWLock
      Src: /src/libevent/wepoll.c:1908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ts_tree
    argTypes:
    - ts_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1909
    functionName: ts_tree_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - tree_init
    - InitializeSRWLock
    linkageType: ''
    returnType: void
    signature: void ts_tree_init(ts_tree_t* ts_tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tree_node_init
      Src: /src/libevent/wepoll.c:1912,1
    - Dst: reflock_init
      Src: /src/libevent/wepoll.c:1913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - ts_tree_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1911
    functionDepth: 1
    functionLinenumber: 1911
    functionLinenumberEnd: 1914
    functionName: ts_tree_node_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - reflock_init
    - tree_node_init
    linkageType: ''
    returnType: void
    signature: void ts_tree_node_init(ts_tree_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockExclusive
      Src: /src/libevent/wepoll.c:1919,1
    - Dst: tree_add
      Src: /src/libevent/wepoll.c:1920,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/libevent/wepoll.c:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ts_tree
    - node
    - key
    argTypes:
    - ts_tree_t*
    - ts_tree_node_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1916
    functionDepth: 1
    functionLinenumber: 1916
    functionLinenumberEnd: 1924
    functionName: ts_tree_add
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - AcquireSRWLockExclusive
    - ReleaseSRWLockExclusive
    - tree_add
    linkageType: ''
    returnType: int
    signature: int ts_tree_add(ts_tree_t* ts_tree, ts_tree_node_t* node, uintptr_t
      key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tree_find
      Src: /src/libevent/wepoll.c:1928,1
    - Dst: container_of
      Src: /src/libevent/wepoll.c:1932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ts_tree
    - key
    argTypes:
    - ts_tree_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1926
    functionDepth: 1
    functionLinenumber: 1926
    functionLinenumberEnd: 1933
    functionName: ts_tree__find_node
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached:
    - tree_find
    - container_of
    linkageType: ''
    returnType: ts_tree_node_t
    signature: "ts_tree_node_t * ts_tree__find_node(ts_tree_t* ts_tree,\n                                                 uintptr_t
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockExclusive
      Src: /src/libevent/wepoll.c:1938,1
    - Dst: ts_tree__find_node
      Src: /src/libevent/wepoll.c:1940,1
    - Dst: tree_del
      Src: /src/libevent/wepoll.c:1942,1
    - Dst: reflock_ref
      Src: /src/libevent/wepoll.c:1943,1
    - Dst: ReleaseSRWLockExclusive
      Src: /src/libevent/wepoll.c:1946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ts_tree
    - key
    argTypes:
    - ts_tree_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1935
    functionDepth: 2
    functionLinenumber: 1935
    functionLinenumberEnd: 1949
    functionName: ts_tree_del_and_ref
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - AcquireSRWLockExclusive
    - reflock_ref
    - tree_del
    - ReleaseSRWLockExclusive
    - ts_tree__find_node
    linkageType: ''
    returnType: ts_tree_node_t
    signature: ts_tree_node_t * ts_tree_del_and_ref(ts_tree_t* ts_tree, uintptr_t
      key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockShared
      Src: /src/libevent/wepoll.c:1954,1
    - Dst: ts_tree__find_node
      Src: /src/libevent/wepoll.c:1956,1
    - Dst: reflock_ref
      Src: /src/libevent/wepoll.c:1958,1
    - Dst: ReleaseSRWLockShared
      Src: /src/libevent/wepoll.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ts_tree
    - key
    argTypes:
    - ts_tree_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1951
    functionDepth: 2
    functionLinenumber: 1951
    functionLinenumberEnd: 1963
    functionName: ts_tree_find_and_ref
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - ReleaseSRWLockShared
    - reflock_ref
    - ts_tree__find_node
    - AcquireSRWLockShared
    linkageType: ''
    returnType: ts_tree_node_t
    signature: ts_tree_node_t * ts_tree_find_and_ref(ts_tree_t* ts_tree, uintptr_t
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflock_unref
      Src: /src/libevent/wepoll.c:1966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - ts_tree_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1965
    functionDepth: 2
    functionLinenumber: 1965
    functionLinenumberEnd: 1967
    functionName: ts_tree_node_unref
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - reflock_unref
    linkageType: ''
    returnType: void
    signature: void ts_tree_node_unref(ts_tree_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reflock_unref_and_destroy
      Src: /src/libevent/wepoll.c:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - ts_tree_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1969
    functionDepth: 2
    functionLinenumber: 1969
    functionLinenumberEnd: 1971
    functionName: ts_tree_node_unref_and_destroy
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - reflock_unref_and_destroy
    linkageType: ''
    returnType: void
    signature: void ts_tree_node_unref_and_destroy(ts_tree_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/wepoll.c:1974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1975
    functionName: tree_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void tree_init(tree_t* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/wepoll.c:1978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - tree_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1979
    functionName: tree_node_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void tree_node_init(tree_node_t* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cis
    - ','
    - trans
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2001
    functionName: TREE__ROTATE
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE__ROTATE(cis, trans)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - side
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2017
    functionName: TREE__INSERT_OR_DESCEND
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE__INSERT_OR_DESCEND(side)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cis
    - ','
    - trans
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2036
    functionName: TREE__REBALANCE_AFTER_INSERT
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE__REBALANCE_AFTER_INSERT(cis, trans)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TREE__INSERT_OR_DESCEND
      Src: /src/libevent/wepoll.c:2044,1
    - Dst: TREE__INSERT_OR_DESCEND
      Src: /src/libevent/wepoll.c:2046,1
    - Dst: TREE__REBALANCE_AFTER_INSERT
      Src: /src/libevent/wepoll.c:2062,1
    - Dst: TREE__REBALANCE_AFTER_INSERT
      Src: /src/libevent/wepoll.c:2064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - tree
    - node
    - key
    argTypes:
    - tree_t*
    - tree_node_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2070
    functionName: tree_add
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 3
    functionsReached:
    - TREE__INSERT_OR_DESCEND
    - TREE__REBALANCE_AFTER_INSERT
    linkageType: ''
    returnType: int
    signature: int tree_add(tree_t* tree, tree_node_t* node, uintptr_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cis
    - ','
    - trans
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2096
    functionName: TREE__REBALANCE_AFTER_REMOVE
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE__REBALANCE_AFTER_REMOVE(cis, trans)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TREE__REBALANCE_AFTER_REMOVE
      Src: /src/libevent/wepoll.c:2158,1
    - Dst: TREE__REBALANCE_AFTER_REMOVE
      Src: /src/libevent/wepoll.c:2160,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - tree
    - node
    argTypes:
    - tree_t*
    - tree_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2097
    functionDepth: 1
    functionLinenumber: 2097
    functionLinenumberEnd: 2168
    functionName: tree_del
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached:
    - TREE__REBALANCE_AFTER_REMOVE
    linkageType: ''
    returnType: void
    signature: void tree_del(tree_t* tree, tree_node_t* node)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tree
    - key
    argTypes:
    - tree_t*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2181
    functionName: tree_find
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tree_node_t
    signature: tree_node_t * tree_find(const tree_t* tree, uintptr_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2185
    functionName: tree_root
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: tree_node_t
    signature: tree_node_t * tree_root(const tree_t* tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libevent/wepoll.c:2195,1
    - Dst: MAKEWORD
      Src: /src/libevent/wepoll.c:2195,1
    - Dst: return_set_error
      Src: /src/libevent/wepoll.c:2197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2191
    functionDepth: 1
    functionLinenumber: 2191
    functionLinenumberEnd: 2200
    functionName: ws_global_init
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - MAKEWORD
    - return_set_error
    - WSAStartup
    linkageType: ''
    returnType: int
    signature: int ws_global_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAIoctl
      Src: /src/libevent/wepoll.c:2206,1
    - Dst: return_map_error
      Src: /src/libevent/wepoll.c:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - socket
    argTypes:
    - SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2218
    functionName: ws_get_base_socket
    functionSourceFile: /src/libevent/wepoll.c
    functionUses: 1
    functionsReached:
    - return_map_error
    - WSAIoctl
    linkageType: ''
    returnType: SOCKET
    signature: SOCKET ws_get_base_socket(SOCKET socket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bevp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: BEV_IS_SOCKET
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_IS_SOCKET(bevp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bevp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: BEV_IS_FILTER
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_IS_FILTER(bevp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bevp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: BEV_IS_PAIR
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_IS_PAIR(bevp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bevp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: BEV_IS_SSL
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_IS_SSL(bevp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bevp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: BEV_IS_SSL
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_IS_SSL(bevp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bevp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: BEV_IS_ASYNC
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_IS_ASYNC(bevp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bevp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: BEV_IS_ASYNC
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_IS_ASYNC(bevp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: bufferevent_wm_suspend_read
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bufferevent_wm_suspend_read(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: bufferevent_wm_unsuspend_read
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bufferevent_wm_unsuspend_read(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bufev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: bufferevent_incref_
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bufferevent_incref_(bufev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bufev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: bufferevent_decref_
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bufferevent_decref_(bufev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent-internal.h:417,1
    - Dst: bufferevent_run_readcb_
      Src: /src/libevent/bufferevent-internal.h:418,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent-internal.h:420,1
    - Dst: bufferevent_run_writecb_
      Src: /src/libevent/bufferevent-internal.h:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - bufev
    - iotype
    - options
    argTypes:
    - struct bufferevent*
    - short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 422
    functionName: bufferevent_trigger_nolock_
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 1
    functionsReached:
    - bufferevent_run_writecb_
    - bufferevent_run_readcb_
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void bufferevent_trigger_nolock_(struct bufferevent *bufev, short iotype,
      int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: BEV_RESET_GENERIC_READ_TIMEOUT
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_RESET_GENERIC_READ_TIMEOUT(bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: BEV_RESET_GENERIC_WRITE_TIMEOUT
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_RESET_GENERIC_WRITE_TIMEOUT(bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: BEV_DEL_GENERIC_READ_TIMEOUT
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_DEL_GENERIC_READ_TIMEOUT(bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: BEV_DEL_GENERIC_WRITE_TIMEOUT
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_DEL_GENERIC_WRITE_TIMEOUT(bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    functionName: BEV_UPCAST
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_UPCAST(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: BEV_LOCK
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_LOCK(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 490
    functionName: BEV_UNLOCK
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_UNLOCK(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: BEV_LOCK
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_LOCK(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: BEV_UNLOCK
    functionSourceFile: /src/libevent/bufferevent-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEV_UNLOCK(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: FDI_HAS_READ
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDI_HAS_READ(fdi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: FDI_HAS_WRITE
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDI_HAS_WRITE(fdi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: FDI_HAS_EVENTS
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDI_HAS_EVENTS(fdi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: FDI_TO_SYSEVENTS
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FDI_TO_SYSEVENTS(fdi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/evport.c:145,1
    - Dst: port_create
      Src: /src/libevent/evport.c:148,1
    - Dst: mm_free
      Src: /src/libevent/evport.c:149,1
    - Dst: grow
      Src: /src/libevent/evport.c:153,1
    - Dst: close
      Src: /src/libevent/evport.c:154,1
    - Dst: mm_free
      Src: /src/libevent/evport.c:155,1
    - Dst: evsig_init_
      Src: /src/libevent/evport.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 164
    functionName: evport_init
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached:
    - grow
    - close
    - mm_calloc
    - evsig_init_
    - mm_free
    - port_create
    linkageType: ''
    returnType: void
    signature: 'void *

      evport_init(struct event_base *base)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_realloc
      Src: /src/libevent/evport.c:181,1
    - Dst: mm_realloc
      Src: /src/libevent/evport.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - data
    - min_events
    argTypes:
    - struct evport_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: grow
    functionSourceFile: /src/libevent/evport.c
    functionUses: 2
    functionsReached:
    - mm_realloc
    linkageType: ''
    returnType: int
    signature: int grow(struct evport_data *data, int min_events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evport.c:204,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evport.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - evpd
    argTypes:
    - struct evport_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: check_evportop
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: void check_evportop(struct evport_data *evpd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evport.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pevt
    argTypes:
    - port_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: check_event
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: void check_event(port_event_t* pevt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FDI_TO_SYSEVENTS
      Src: /src/libevent/evport.c:235,1
    - Dst: port_associate
      Src: /src/libevent/evport.c:238,1
    - Dst: event_warn
      Src: /src/libevent/evport.c:240,1
    - Dst: check_evportop
      Src: /src/libevent/evport.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - epdp
    - fdip
    - fd
    argTypes:
    - struct evport_data*
    - struct fd_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: reassociate
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached:
    - port_associate
    - check_evportop
    - FDI_TO_SYSEVENTS
    - event_warn
    linkageType: ''
    returnType: int
    signature: int reassociate(struct evport_data *epdp, struct fd_info *fdip, int
      fd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: evmap_io_get_fdinfo_
      Src: /src/libevent/evport.c:294,1
    - Dst: FDI_HAS_EVENTS
      Src: /src/libevent/evport.c:297,1
    - Dst: reassociate
      Src: /src/libevent/evport.c:298,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/evport.c:304,1
    - Dst: port_getn
      Src: /src/libevent/evport.c:306,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/evport.c:309,1
    - Dst: event_warn
      Src: /src/libevent/evport.c:318,1
    - Dst: event_debug
      Src: /src/libevent/evport.c:323,1
    - Dst: check_evportop
      Src: /src/libevent/evport.c:331,1
    - Dst: check_event
      Src: /src/libevent/evport.c:332,1
    - Dst: evmap_io_active_
      Src: /src/libevent/evport.c:356,1
    - Dst: grow
      Src: /src/libevent/evport.c:364,1
    - Dst: check_evportop
      Src: /src/libevent/evport.c:367,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 370
    functionName: evport_dispatch
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached:
    - event_warn
    - port_getn
    - check_evportop
    - EVBASE_ACQUIRE_LOCK
    - evmap_io_active_
    - evmap_io_get_fdinfo_
    - grow
    - check_event
    - event_debug
    - FDI_HAS_EVENTS
    - reassociate
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int evport_dispatch(struct event_base *base, struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_evportop
      Src: /src/libevent/evport.c:384,1
    - Dst: reassociate
      Src: /src/libevent/evport.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: evport_add
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached:
    - reassociate
    - check_evportop
    linkageType: ''
    returnType: int
    signature: int evport_add(struct event_base *base, int fd, short old, short events,
      void *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_evportop
      Src: /src/libevent/evport.c:402,1
    - Dst: FDI_HAS_EVENTS
      Src: /src/libevent/evport.c:407,1
    - Dst: port_dissociate
      Src: /src/libevent/evport.c:408,1
    - Dst: event_warn
      Src: /src/libevent/evport.c:414,1
    - Dst: FDI_HAS_EVENTS
      Src: /src/libevent/evport.c:418,1
    - Dst: reassociate
      Src: /src/libevent/evport.c:419,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evport.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 431
    functionName: evport_del
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached:
    - port_dissociate
    - event_warn
    - check_evportop
    - EVUTIL_ASSERT
    - FDI_HAS_EVENTS
    - reassociate
    linkageType: ''
    returnType: int
    signature: int evport_del(struct event_base *base, int fd, short old, short events,
      void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evsig_dealloc_
      Src: /src/libevent/evport.c:439,1
    - Dst: close
      Src: /src/libevent/evport.c:441,1
    - Dst: mm_free
      Src: /src/libevent/evport.c:444,1
    - Dst: mm_free
      Src: /src/libevent/evport.c:446,1
    - Dst: mm_free
      Src: /src/libevent/evport.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 449
    functionName: evport_dealloc
    functionSourceFile: /src/libevent/evport.c
    functionUses: 0
    functionsReached:
    - mm_free
    - close
    - evsig_dealloc_
    linkageType: ''
    returnType: void
    signature: void evport_dealloc(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: evthread_set_id_callback
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evthread_set_id_callback(unsigned long (*id_fn)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: evthread_get_lock_callbacks
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evthread_lock_callbacks
    signature: struct evthread_lock_callbacks *evthread_get_lock_callbacks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: evthread_get_condition_callbacks
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evthread_condition_callbacks
    signature: struct evthread_condition_callbacks *evthread_get_condition_callbacks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: evthreadimpl_disable_lock_debugging_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evthreadimpl_disable_lock_debugging_(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evthread_get_lock_callbacks
      Src: /src/libevent/evthread.c:95,1
    - Dst: event_errx
      Src: /src/libevent/evthread.c:100,1
    - Dst: event_warnx
      Src: /src/libevent/evthread.c:107,1
    - Dst: memset
      Src: /src/libevent/evthread.c:109,1
    - Dst: event_warnx
      Src: /src/libevent/evthread.c:123,1
    - Dst: memcpy
      Src: /src/libevent/evthread.c:128,1
    - Dst: event_global_setup_locks_
      Src: /src/libevent/evthread.c:129,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - struct evthread_lock_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 133
    functionName: evthread_set_lock_callbacks
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - event_errx
    - event_global_setup_locks_
    - event_warnx
    - evthread_get_lock_callbacks
    linkageType: ''
    returnType: int
    signature: int evthread_set_lock_callbacks(const struct evthread_lock_callbacks
      *cbs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evthread_get_condition_callbacks
      Src: /src/libevent/evthread.c:138,1
    - Dst: event_errx
      Src: /src/libevent/evthread.c:143,1
    - Dst: event_warnx
      Src: /src/libevent/evthread.c:150,1
    - Dst: memset
      Src: /src/libevent/evthread.c:153,1
    - Dst: event_warnx
      Src: /src/libevent/evthread.c:166,1
    - Dst: memcpy
      Src: /src/libevent/evthread.c:172,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 1
    argNames:
    - cbs
    argTypes:
    - struct evthread_condition_callbacks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 180
    functionName: evthread_set_condition_callbacks
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - event_errx
    - event_warnx
    - evthread_get_condition_callbacks
    linkageType: ''
    returnType: int
    signature: int evthread_set_condition_callbacks(const struct evthread_condition_callbacks
      *cbs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evthread.c:197,1
    - Dst: alloc
      Src: /src/libevent/evthread.c:201,1
    - Dst: mm_free
      Src: /src/libevent/evthread.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - locktype
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 214
    functionName: debug_lock_alloc
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - alloc
    - mm_free
    - mm_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      debug_lock_alloc(unsigned locktype)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:220,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:221,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:222,1
    - Dst: free
      Src: /src/libevent/evthread.c:224,1
    - Dst: mm_free
      Src: /src/libevent/evthread.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - lock_
    - locktype
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: debug_lock_free
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - free
    - mm_free
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: void debug_lock_free(void *lock_, unsigned locktype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:236,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:239,1
    - Dst: evthread_id_fn_
      Src: /src/libevent/evthread.c:242,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - mode
    - lock
    argTypes:
    - unsigned
    - struct debug_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: evthread_debug_lock_mark_locked
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evthread_id_fn_
    linkageType: ''
    returnType: void
    signature: void evthread_debug_lock_mark_locked(unsigned mode, struct debug_lock
      *lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:255,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:257,1
    - Dst: lock
      Src: /src/libevent/evthread.c:259,1
    - Dst: evthread_debug_lock_mark_locked
      Src: /src/libevent/evthread.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - mode
    - lock_
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: debug_lock_lock
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - lock
    - EVUTIL_ASSERT
    - evthread_debug_lock_mark_locked
    linkageType: ''
    returnType: int
    signature: int debug_lock_lock(unsigned mode, void *lock_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:269,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:271,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:273,1
    - Dst: evthread_id_fn_
      Src: /src/libevent/evthread.c:276,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:277,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - mode
    - lock
    argTypes:
    - unsigned
    - struct debug_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 283
    functionName: evthread_debug_lock_mark_unlocked
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evthread_id_fn_
    linkageType: ''
    returnType: void
    signature: void evthread_debug_lock_mark_unlocked(unsigned mode, struct debug_lock
      *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evthread_debug_lock_mark_unlocked
      Src: /src/libevent/evthread.c:290,1
    - Dst: unlock
      Src: /src/libevent/evthread.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mode
    - lock_
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: debug_lock_unlock
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - evthread_debug_lock_mark_unlocked
    - unlock
    linkageType: ''
    returnType: int
    signature: int debug_lock_unlock(unsigned mode, void *lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:301,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:302,1
    - Dst: EVLOCK_ASSERT_LOCKED
      Src: /src/libevent/evthread.c:303,1
    - Dst: evthread_debug_lock_mark_unlocked
      Src: /src/libevent/evthread.c:304,1
    - Dst: wait_condition
      Src: /src/libevent/evthread.c:305,1
    - Dst: evthread_debug_lock_mark_locked
      Src: /src/libevent/evthread.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - cond_
    - lock_
    - tv
    argTypes:
    - void*
    - void*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: debug_cond_wait
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - EVLOCK_ASSERT_LOCKED
    - evthread_debug_lock_mark_locked
    - evthread_debug_lock_mark_unlocked
    - wait_condition
    linkageType: ''
    returnType: int
    signature: int debug_cond_wait(void *cond_, void *lock_, const struct timeval
      *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evthread_enable_lock_debugging
      Src: /src/libevent/evthread.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: evthread_enable_lock_debuging
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - evthread_enable_lock_debugging
    linkageType: ''
    returnType: void
    signature: void evthread_enable_lock_debuging(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/evthread.c:330,1
    - Dst: memcpy
      Src: /src/libevent/evthread.c:332,1
    - Dst: memcpy
      Src: /src/libevent/evthread.c:335,1
    - Dst: event_global_setup_locks_
      Src: /src/libevent/evthread.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 342
    functionName: evthread_enable_lock_debugging
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 1
    functionsReached:
    - memcpy
    - event_global_setup_locks_
    linkageType: ''
    returnType: void
    signature: void evthread_enable_lock_debugging(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evthread_id_fn_
      Src: /src/libevent/evthread.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - lock_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 356
    functionName: evthread_is_debug_lock_held_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - evthread_id_fn_
    linkageType: ''
    returnType: int
    signature: int evthread_is_debug_lock_held_(void *lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: evthread_debug_get_real_lock_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      evthread_debug_get_real_lock_(void *lock_)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:376,1
    - Dst: debug_lock_alloc
      Src: /src/libevent/evthread.c:377,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:381,1
    - Dst: free
      Src: /src/libevent/evthread.c:385,1
    - Dst: debug_lock_alloc
      Src: /src/libevent/evthread.c:386,1
    - Dst: mm_malloc
      Src: /src/libevent/evthread.c:388,1
    - Dst: free
      Src: /src/libevent/evthread.c:390,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:400,1
    - Dst: alloc
      Src: /src/libevent/evthread.c:401,1
    - Dst: debug_lock_alloc
      Src: /src/libevent/evthread.c:404,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:407,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evthread.c:408,1
    - Dst: alloc
      Src: /src/libevent/evthread.c:410,1
    - Dst: mm_free
      Src: /src/libevent/evthread.c:414,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - lock_
    - locktype
    - enable_locks
    argTypes:
    - void*
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 420
    functionName: evthread_setup_global_lock_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - free
    - alloc
    - debug_lock_alloc
    - EVUTIL_ASSERT
    - mm_malloc
    - mm_free
    linkageType: ''
    returnType: void
    signature: 'void *

      evthread_setup_global_lock_(void *lock_, unsigned locktype, int enable_locks)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evthread_id_fn_
      Src: /src/libevent/evthread.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: evthreadimpl_get_id_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - evthread_id_fn_
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long evthreadimpl_get_id_()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/libevent/evthread.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - locktype
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: evthreadimpl_lock_alloc_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      evthreadimpl_lock_alloc_(unsigned locktype)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libevent/evthread.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lock
    - locktype
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: evthreadimpl_lock_free_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void evthreadimpl_lock_free_(void *lock, unsigned locktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/libevent/evthread.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mode
    - lock
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: evthreadimpl_lock_lock_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 1
    functionsReached:
    - lock
    linkageType: ''
    returnType: int
    signature: int evthreadimpl_lock_lock_(unsigned mode, void *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlock
      Src: /src/libevent/evthread.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mode
    - lock
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: evthreadimpl_lock_unlock_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - unlock
    linkageType: ''
    returnType: int
    signature: int evthreadimpl_lock_unlock_(unsigned mode, void *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_condition
      Src: /src/libevent/evthread.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - condtype
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 474
    functionName: evthreadimpl_cond_alloc_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - alloc_condition
    linkageType: ''
    returnType: void
    signature: 'void *

      evthreadimpl_cond_alloc_(unsigned condtype)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_condition
      Src: /src/libevent/evthread.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cond
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: evthreadimpl_cond_free_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - free_condition
    linkageType: ''
    returnType: void
    signature: void evthreadimpl_cond_free_(void *cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal_condition
      Src: /src/libevent/evthread.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - broadcast
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 488
    functionName: evthreadimpl_cond_signal_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - signal_condition
    linkageType: ''
    returnType: int
    signature: int evthreadimpl_cond_signal_(void *cond, int broadcast)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wait_condition
      Src: /src/libevent/evthread.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cond
    - lock
    - tv
    argTypes:
    - void*
    - void*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: evthreadimpl_cond_wait_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached:
    - wait_condition
    linkageType: ''
    returnType: int
    signature: int evthreadimpl_cond_wait_(void *cond, void *lock, const struct timeval
      *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: evthreadimpl_is_lock_debugging_enabled_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evthreadimpl_is_lock_debugging_enabled_(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: evthreadimpl_locking_enabled_
    functionSourceFile: /src/libevent/evthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evthreadimpl_locking_enabled_(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/bufferevent_mbedtls.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: mbedtls_context_init
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mm_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      mbedtls_context_init(void *ssl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_mbedtls_dyncontext_free
      Src: /src/libevent/bufferevent_mbedtls.c:68,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent_mbedtls.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: mbedtls_context_free
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mm_free
    - bufferevent_mbedtls_dyncontext_free
    linkageType: ''
    returnType: void
    signature: void mbedtls_context_free(void *ssl, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_renegotiate
      Src: /src/libevent/bufferevent_mbedtls.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: mbedtls_context_renegotiate
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_renegotiate
    linkageType: ''
    returnType: int
    signature: int mbedtls_context_renegotiate(void *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_write
      Src: /src/libevent/bufferevent_mbedtls.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: mbedtls_context_write
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_write
    linkageType: ''
    returnType: int
    signature: int mbedtls_context_write(void *ssl, const unsigned char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_read
      Src: /src/libevent/bufferevent_mbedtls.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: mbedtls_context_read
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_read
    linkageType: ''
    returnType: int
    signature: int mbedtls_context_read(void *ssl, unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_get_bytes_avail
      Src: /src/libevent/bufferevent_mbedtls.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: mbedtls_context_pending
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_get_bytes_avail
    linkageType: ''
    returnType: size_t
    signature: size_t mbedtls_context_pending(void *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_handshake
      Src: /src/libevent/bufferevent_mbedtls.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: mbedtls_context_handshake
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_handshake
    linkageType: ''
    returnType: int
    signature: int mbedtls_context_handshake(void *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - ret
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: mbedtls_get_error
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mbedtls_get_error(void *ssl, int ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: mbedtls_clear_error
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mbedtls_clear_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: mbedtls_clear
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mbedtls_clear(void *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: mbedtls_set_ssl_noops
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mbedtls_set_ssl_noops(void *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: mbedtls_handshake_is_ok
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mbedtls_handshake_is_ok(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: mbedtls_is_want_read
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mbedtls_is_want_read(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: mbedtls_is_want_write
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mbedtls_is_want_write(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: be_mbedtls_get_fd
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t be_mbedtls_get_fd(void *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_strerror
      Src: /src/libevent/bufferevent_mbedtls.c:156,1
    - Dst: printf
      Src: /src/libevent/bufferevent_mbedtls.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: print_err
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_strerror
    - printf
    linkageType: ''
    returnType: void
    signature: void print_err(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: print_err
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_err(int val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/bufferevent_mbedtls.c:179,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_mbedtls.c:180,1
    - Dst: evbuffer_remove
      Src: /src/libevent/bufferevent_mbedtls.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: bio_bufferevent_read
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_remove
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: int bio_bufferevent_read(void *ctx, unsigned char *out, size_t outlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/bufferevent_mbedtls.c:201,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_mbedtls.c:202,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_mbedtls.c:214,1
    - Dst: evbuffer_add
      Src: /src/libevent/bufferevent_mbedtls.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 217
    functionName: bio_bufferevent_write
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - evbuffer_add
    - EVUTIL_ASSERT
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: int bio_bufferevent_write(void *ctx, const unsigned char *in, size_t
      inlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_strerror
      Src: /src/libevent/bufferevent_mbedtls.c:229,1
    - Dst: event_warnx
      Src: /src/libevent/bufferevent_mbedtls.c:235,1
    - Dst: event_warnx
      Src: /src/libevent/bufferevent_mbedtls.c:239,1
    - Dst: bufferevent_ssl_put_error
      Src: /src/libevent/bufferevent_mbedtls.c:244,1
    - Dst: bufferevent_ssl_stop_reading
      Src: /src/libevent/bufferevent_mbedtls.c:247,1
    - Dst: bufferevent_ssl_stop_writing
      Src: /src/libevent/bufferevent_mbedtls.c:248,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_mbedtls.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - bev_ssl
    - when
    - errcode
    - ret
    argTypes:
    - struct bufferevent_ssl*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 251
    functionName: conn_closed
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_strerror
    - bufferevent_run_eventcb_
    - bufferevent_ssl_put_error
    - bufferevent_ssl_stop_reading
    - event_warnx
    - bufferevent_ssl_stop_writing
    linkageType: ''
    returnType: void
    signature: void conn_closed(struct bufferevent_ssl *bev_ssl, int when, int errcode,
      int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libevent/bufferevent_mbedtls.c:259,1
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libevent/bufferevent_mbedtls.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bev_ssl
    - fd
    argTypes:
    - struct bufferevent_ssl*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: be_mbedtls_bio_set_fd
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_set_bio
    linkageType: ''
    returnType: int
    signature: int be_mbedtls_bio_set_fd(struct bufferevent_ssl *bev_ssl, evutil_socket_t
      fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_get_allow_dirty_shutdown
      Src: /src/libevent/bufferevent_mbedtls.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: bufferevent_mbedtls_get_allow_dirty_shutdown
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_get_allow_dirty_shutdown
    linkageType: ''
    returnType: int
    signature: int bufferevent_mbedtls_get_allow_dirty_shutdown(struct bufferevent
      *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_set_allow_dirty_shutdown
      Src: /src/libevent/bufferevent_mbedtls.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - allow_dirty_shutdown
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: bufferevent_mbedtls_set_allow_dirty_shutdown
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_set_allow_dirty_shutdown
    linkageType: ''
    returnType: void
    signature: "void bufferevent_mbedtls_set_allow_dirty_shutdown(\n\tstruct bufferevent
      *bev, int allow_dirty_shutdown)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_mbedtls.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: bufferevent_mbedtls_get_ssl
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    linkageType: ''
    returnType: mbedtls_ssl_context
    signature: 'mbedtls_ssl_context *

      bufferevent_mbedtls_get_ssl(struct bufferevent *bufev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_renegotiate_impl
      Src: /src/libevent/bufferevent_mbedtls.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: bufferevent_mbedtls_renegotiate
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_renegotiate_impl
    linkageType: ''
    returnType: int
    signature: int bufferevent_mbedtls_renegotiate(struct bufferevent *bufev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_mbedtls.c:301,1
    - Dst: bufferevent_get_ssl_error
      Src: /src/libevent/bufferevent_mbedtls.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: bufferevent_get_mbedtls_error
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    - bufferevent_get_ssl_error
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long bufferevent_get_mbedtls_error(struct bufferevent *bufev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_new_impl
      Src: /src/libevent/bufferevent_mbedtls.c:342,1
    - Dst: be_mbedtls_bio_set_fd
      Src: /src/libevent/bufferevent_mbedtls.c:346,1
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_mbedtls.c:346,1
    - Dst: bufferevent_mbedtls_dyncontext_free
      Src: /src/libevent/bufferevent_mbedtls.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - base
    - underlying
    - ssl
    - state
    - options
    argTypes:
    - struct event_base*
    - struct bufferevent*
    - mbedtls_ssl_context*
    - enum bufferevent_ssl_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 355
    functionName: bufferevent_mbedtls_filter_new
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    - bufferevent_mbedtls_dyncontext_free
    - be_mbedtls_bio_set_fd
    - bufferevent_ssl_new_impl
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_mbedtls_filter_new(struct event_base
      *base,\n\tstruct bufferevent *underlying, mbedtls_ssl_context *ssl,\n\tenum
      bufferevent_ssl_state state, int options)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_getfd
      Src: /src/libevent/bufferevent_mbedtls.c:371,1
    - Dst: bufferevent_ssl_new_impl
      Src: /src/libevent/bufferevent_mbedtls.c:397,1
    - Dst: be_mbedtls_bio_set_fd
      Src: /src/libevent/bufferevent_mbedtls.c:401,1
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_mbedtls.c:401,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - base
    - fd
    - ssl
    - state
    - options
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - mbedtls_ssl_context*
    - enum bufferevent_ssl_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 407
    functionName: bufferevent_mbedtls_socket_new
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - be_mbedtls_bio_set_fd
    - bufferevent_getfd
    - bufferevent_ssl_new_impl
    - bufferevent_ssl_upcast
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_mbedtls_socket_new(struct event_base
      *base, evutil_socket_t fd,\n\tmbedtls_ssl_context *ssl, enum bufferevent_ssl_state
      state, int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_mbedtls.c:412,1
    - Dst: mbedtls_ssl_init
      Src: /src/libevent/bufferevent_mbedtls.c:413,1
    - Dst: mbedtls_ssl_setup
      Src: /src/libevent/bufferevent_mbedtls.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct mbedtls_ssl_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: bufferevent_mbedtls_dyncontext_new
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_ssl_setup
    - mbedtls_ssl_init
    - mm_calloc
    linkageType: ''
    returnType: mbedtls_dyncontext
    signature: 'mbedtls_dyncontext *

      bufferevent_mbedtls_dyncontext_new(struct mbedtls_ssl_config *conf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_free
      Src: /src/libevent/bufferevent_mbedtls.c:421,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent_mbedtls.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_dyncontext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: bufferevent_mbedtls_dyncontext_free
    functionSourceFile: /src/libevent/bufferevent_mbedtls.c
    functionUses: 2
    functionsReached:
    - mm_free
    - mbedtls_ssl_free
    linkageType: ''
    returnType: void
    signature: void bufferevent_mbedtls_dyncontext_free(mbedtls_dyncontext *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/event_iocp.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - o
    - cb
    argTypes:
    - struct event_overlapped*
    - iocp_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: event_overlapped_init_
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void event_overlapped_init_(struct event_overlapped *o, iocp_callback
      cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/event_iocp.c:61,1
    - Dst: struct event_overlapped*::cb
      Src: /src/libevent/event_iocp.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - o
    - completion_key
    - nBytes
    - ok
    argTypes:
    - OVERLAPPED*
    - ULONG_PTR
    - DWORD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: handle_entry
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - struct event_overlapped*::cb
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: void
    signature: void handle_entry(OVERLAPPED *o, ULONG_PTR completion_key, DWORD nBytes,
      int ok)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetQueuedCompletionStatus
      Src: /src/libevent/event_iocp.c:79,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/event_iocp.c:81,1
    - Dst: ReleaseSemaphore
      Src: /src/libevent/event_iocp.c:84,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/event_iocp.c:86,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/event_iocp.c:89,1
    - Dst: handle_entry
      Src: /src/libevent/event_iocp.c:92,1
    - Dst: event_warnx
      Src: /src/libevent/event_iocp.c:96,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/event_iocp.c:97,1
    - Dst: ReleaseSemaphore
      Src: /src/libevent/event_iocp.c:99,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/event_iocp.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - port_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 101
    functionName: loop
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - ReleaseSemaphore
    - GetQueuedCompletionStatus
    - LeaveCriticalSection
    - handle_entry
    - event_warnx
    linkageType: ''
    returnType: void
    signature: void loop(void *port_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateIoCompletionPort
      Src: /src/libevent/event_iocp.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - port
    - fd
    - key
    argTypes:
    - struct event_iocp_port*
    - evutil_socket_t
    - ev_uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: event_iocp_port_associate_
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 2
    functionsReached:
    - CreateIoCompletionPort
    linkageType: ''
    returnType: int
    signature: "int event_iocp_port_associate_(struct event_iocp_port *port, evutil_socket_t
      fd,\n    ev_uintptr_t key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAIoctl
      Src: /src/libevent/event_iocp.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - which_fn
    argTypes:
    - SOCKET
    - GUID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: get_extension_function
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - WSAIoctl
    linkageType: ''
    returnType: void
    signature: 'void *

      get_extension_function(SOCKET s, const GUID *which_fn)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libevent/event_iocp.c:155,1
    - Dst: get_extension_function
      Src: /src/libevent/event_iocp.c:158,1
    - Dst: get_extension_function
      Src: /src/libevent/event_iocp.c:159,1
    - Dst: get_extension_function
      Src: /src/libevent/event_iocp.c:160,1
    - Dst: closesocket
      Src: /src/libevent/event_iocp.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ext
    argTypes:
    - struct win32_extension_fns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: init_extension_functions
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - closesocket
    - get_extension_function
    - socket
    linkageType: ''
    returnType: void
    signature: void init_extension_functions(struct win32_extension_fns *ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: event_get_win32_extension_fns_
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct win32_extension_fns
    signature: 'struct win32_extension_fns *

      event_get_win32_extension_fns_(void)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: init_extension_functions
      Src: /src/libevent/event_iocp.c:184,1
    - Dst: mm_calloc
      Src: /src/libevent/event_iocp.c:186,1
    - Dst: mm_calloc
      Src: /src/libevent/event_iocp.c:192,1
    - Dst: CreateIoCompletionPort
      Src: /src/libevent/event_iocp.c:196,1
    - Dst: CreateSemaphore
      Src: /src/libevent/event_iocp.c:202,1
    - Dst: _beginthread
      Src: /src/libevent/event_iocp.c:207,1
    - Dst: InitializeCriticalSectionAndSpinCount
      Src: /src/libevent/event_iocp.c:214,1
    - Dst: CloseHandle
      Src: /src/libevent/event_iocp.c:219,1
    - Dst: mm_free
      Src: /src/libevent/event_iocp.c:221,1
    - Dst: CloseHandle
      Src: /src/libevent/event_iocp.c:223,1
    - Dst: mm_free
      Src: /src/libevent/event_iocp.c:224,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - n_cpus
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 226
    functionName: event_iocp_port_launch_
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - CreateSemaphore
    - CloseHandle
    - mm_calloc
    - _beginthread
    - CreateIoCompletionPort
    - mm_free
    - init_extension_functions
    - InitializeCriticalSectionAndSpinCount
    linkageType: ''
    returnType: struct event_iocp_port
    signature: 'struct event_iocp_port *

      event_iocp_port_launch_(int n_cpus)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/libevent/event_iocp.c:231,1
    - Dst: CloseHandle
      Src: /src/libevent/event_iocp.c:232,1
    - Dst: CloseHandle
      Src: /src/libevent/event_iocp.c:233,1
    - Dst: mm_free
      Src: /src/libevent/event_iocp.c:234,1
    - Dst: mm_free
      Src: /src/libevent/event_iocp.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - port
    argTypes:
    - struct event_iocp_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: event_iocp_port_unlock_and_free_
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - mm_free
    - DeleteCriticalSection
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void event_iocp_port_unlock_and_free_(struct event_iocp_port *port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PostQueuedCompletionStatus
      Src: /src/libevent/event_iocp.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - port
    argTypes:
    - struct event_iocp_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: event_iocp_notify_all
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - PostQueuedCompletionStatus
    linkageType: ''
    returnType: int
    signature: int event_iocp_notify_all(struct event_iocp_port *port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libevent/event_iocp.c:257,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/event_iocp.c:259,1
    - Dst: event_iocp_notify_all
      Src: /src/libevent/event_iocp.c:260,1
    - Dst: WaitForSingleObject
      Src: /src/libevent/event_iocp.c:265,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/event_iocp.c:266,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/event_iocp.c:268,1
    - Dst: event_iocp_port_unlock_and_free_
      Src: /src/libevent/event_iocp.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - port
    - waitMsec
    argTypes:
    - struct event_iocp_port*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 275
    functionName: event_iocp_shutdown_
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - WaitForSingleObject
    - LeaveCriticalSection
    - event_iocp_notify_all
    - event_iocp_port_unlock_and_free_
    linkageType: ''
    returnType: int
    signature: int event_iocp_shutdown_(struct event_iocp_port *port, long waitMsec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostQueuedCompletionStatus
      Src: /src/libevent/event_iocp.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - port
    - o
    - key
    - n
    argTypes:
    - struct event_iocp_port*
    - struct event_overlapped*
    - ev_uintptr_t
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: event_iocp_activate_overlapped_
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 0
    functionsReached:
    - PostQueuedCompletionStatus
    linkageType: ''
    returnType: int
    signature: "int event_iocp_activate_overlapped_(\n    struct event_iocp_port *port,
      struct event_overlapped *o,\n    ev_uintptr_t key, ev_uint32_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: event_base_get_iocp_
    functionSourceFile: /src/libevent/event_iocp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct event_iocp_port
    signature: 'struct event_iocp_port *

      event_base_get_iocp_(struct event_base *base)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: CHAIN_SPACE_PTR
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAIN_SPACE_PTR(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: CHAIN_SPACE_LEN
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAIN_SPACE_LEN(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: CHAIN_PINNED
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAIN_PINNED(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: CHAIN_PINNED_R
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAIN_PINNED_R(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: PTR_NOT_FOUND
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_NOT_FOUND(ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/buffer.c:164,1
    - Dst: memset
      Src: /src/libevent/buffer.c:167,1
    - Dst: EVBUFFER_CHAIN_EXTRA
      Src: /src/libevent/buffer.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 179
    functionName: evbuffer_chain_new
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_CHAIN_EXTRA
    - memset
    - mm_malloc
    linkageType: ''
    returnType: struct evbuffer_chain
    signature: 'struct evbuffer_chain *

      evbuffer_chain_new(size_t size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_chain_new
      Src: /src/libevent/buffer.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: evbuffer_chain_new_membuf
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_chain_new
    linkageType: ''
    returnType: struct evbuffer_chain
    signature: 'struct evbuffer_chain *

      evbuffer_chain_new_membuf(size_t size)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:207,1
    - Dst: CHAIN_PINNED
      Src: /src/libevent/buffer.c:213,1
    - Dst: EVBUFFER_CHAIN_EXTRA
      Src: /src/libevent/buffer.c:224,1
    - Dst: EVBUFFER_CHAIN_EXTRA
      Src: /src/libevent/buffer.c:234,1
    - Dst: UnmapViewOfFile
      Src: /src/libevent/buffer.c:240,1
    - Dst: evbuffer_file_segment_free
      Src: /src/libevent/buffer.c:242,1
    - Dst: EVBUFFER_CHAIN_EXTRA
      Src: /src/libevent/buffer.c:247,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:254,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:255,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:256,1
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:257,1
    - Dst: evbuffer_decref_and_unlock_
      Src: /src/libevent/buffer.c:258,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - chain
    argTypes:
    - struct evbuffer_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 262
    functionName: evbuffer_chain_free
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - EVBUFFER_CHAIN_EXTRA
    - UnmapViewOfFile
    - EVUTIL_ASSERT
    - evbuffer_decref_and_unlock_
    - EVBUFFER_LOCK
    - evbuffer_file_segment_free
    - mm_free
    - evbuffer_chain_free
    - CHAIN_PINNED
    linkageType: ''
    returnType: void
    signature: void evbuffer_chain_free(struct evbuffer_chain *chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - chain
    argTypes:
    - struct evbuffer_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: evbuffer_free_all_chains
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_chain_free
    linkageType: ''
    returnType: void
    signature: void evbuffer_free_all_chains(struct evbuffer_chain *chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - chain
    argTypes:
    - struct evbuffer_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: evbuffer_chains_all_empty
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evbuffer_chains_all_empty(struct evbuffer_chain *chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chain
    argTypes:
    - struct evbuffer_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: evbuffer_chains_all_empty
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evbuffer_chains_all_empty(struct evbuffer_chain *chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHAIN_PINNED
      Src: /src/libevent/buffer.c:304,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:307,1
    - Dst: evbuffer_chains_all_empty
      Src: /src/libevent/buffer.c:307,1
    - Dst: evbuffer_free_all_chains
      Src: /src/libevent/buffer.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: evbuffer_free_trailing_empty_chains
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_free_all_chains
    - EVUTIL_ASSERT
    - evbuffer_chains_all_empty
    - CHAIN_PINNED
    linkageType: ''
    returnType: struct evbuffer_chain
    signature: 'struct evbuffer_chain **

      evbuffer_free_trailing_empty_chains(struct evbuffer *buf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:321,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:324,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:325,1
    - Dst: evbuffer_free_trailing_empty_chains
      Src: /src/libevent/buffer.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - chain
    argTypes:
    - struct evbuffer*
    - struct evbuffer_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 336
    functionName: evbuffer_chain_insert
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    - EVUTIL_ASSERT
    - evbuffer_free_trailing_empty_chains
    linkageType: ''
    returnType: void
    signature: "void evbuffer_chain_insert(struct evbuffer *buf,\n    struct evbuffer_chain
      *chain)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_chain_new_membuf
      Src: /src/libevent/buffer.c:342,1
    - Dst: evbuffer_chain_insert
      Src: /src/libevent/buffer.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - datlen
    argTypes:
    - struct evbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 5
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: evbuffer_chain_insert_new
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_chain_insert
    - evbuffer_chain_new_membuf
    linkageType: ''
    returnType: struct evbuffer_chain
    signature: 'struct evbuffer_chain *

      evbuffer_chain_insert_new(struct evbuffer *buf, size_t datlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - chain
    - flag
    argTypes:
    - struct evbuffer_chain*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: evbuffer_chain_pin_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 2
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: void evbuffer_chain_pin_(struct evbuffer_chain *chain, unsigned flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:358,1
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - chain
    - flag
    argTypes:
    - struct evbuffer_chain*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: evbuffer_chain_unpin_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - evbuffer_chain_free
    linkageType: ''
    returnType: void
    signature: void evbuffer_chain_unpin_(struct evbuffer_chain *chain, unsigned flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chain
    argTypes:
    - struct evbuffer_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: evbuffer_chain_incref
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evbuffer_chain_incref(struct evbuffer_chain *chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/buffer.c:375,1
    - Dst: LIST_INIT
      Src: /src/libevent/buffer.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: evbuffer_new
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 5
    functionsReached:
    - LIST_INIT
    - mm_calloc
    linkageType: ''
    returnType: struct evbuffer
    signature: 'struct evbuffer *

      evbuffer_new(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:390,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - flags
    argTypes:
    - struct evbuffer*
    - ev_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: evbuffer_set_flags
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: int evbuffer_set_flags(struct evbuffer *buf, ev_uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:399,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - flags
    argTypes:
    - struct evbuffer*
    - ev_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: evbuffer_clear_flags
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: int evbuffer_clear_flags(struct evbuffer *buf, ev_uint64_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:408,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: evbuffer_incref_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 2
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: void
    signature: void evbuffer_incref_(struct evbuffer *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: evbuffer_incref_and_lock_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: void
    signature: void evbuffer_incref_and_lock_(struct evbuffer *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:423,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/buffer.c:426,1
    - Dst: event_base_get_npriorities
      Src: /src/libevent/buffer.c:427,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - base
    argTypes:
    - struct evbuffer*
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: evbuffer_defer_callbacks
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - event_deferred_cb_init_
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    - event_base_get_npriorities
    linkageType: ''
    returnType: int
    signature: int evbuffer_defer_callbacks(struct evbuffer *buffer, struct event_base
      *base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/buffer.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - lock
    argTypes:
    - struct evbuffer*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 455
    functionName: evbuffer_enable_locking
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_ALLOC_LOCK
    linkageType: ''
    returnType: int
    signature: int evbuffer_enable_locking(struct evbuffer *buf, void *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:460,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - bev
    argTypes:
    - struct evbuffer*
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: evbuffer_set_parent_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: void
    signature: void evbuffer_set_parent_(struct evbuffer *buf, struct bufferevent
      *bev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:488,1
    - Dst: LIST_EMPTY
      Src: /src/libevent/buffer.c:490,1
    - Dst: LIST_FIRST
      Src: /src/libevent/buffer.c:505,1
    - Dst: LIST_END
      Src: /src/libevent/buffer.c:506,1
    - Dst: LIST_NEXT
      Src: /src/libevent/buffer.c:510,1
    - Dst: struct evbuffer_cb_entry*::cb::cb_obsolete
      Src: /src/libevent/buffer.c:516,1
    - Dst: struct evbuffer_cb_entry*::cb::cb_func
      Src: /src/libevent/buffer.c:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - buffer
    - running_deferred
    argTypes:
    - struct evbuffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 521
    functionName: evbuffer_run_callbacks
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - LIST_END
    - LIST_NEXT
    - ASSERT_EVBUFFER_LOCKED
    - LIST_EMPTY
    - struct evbuffer_cb_entry*::cb::cb_obsolete
    - LIST_FIRST
    - struct evbuffer_cb_entry*::cb::cb_func
    linkageType: ''
    returnType: void
    signature: void evbuffer_run_callbacks(struct evbuffer *buffer, int running_deferred)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_EMPTY
      Src: /src/libevent/buffer.c:526,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/buffer.c:532,1
    - Dst: evbuffer_incref_and_lock_
      Src: /src/libevent/buffer.c:533,1
    - Dst: bufferevent_incref_
      Src: /src/libevent/buffer.c:535,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:536,1
    - Dst: evbuffer_run_callbacks
      Src: /src/libevent/buffer.c:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: evbuffer_invoke_callbacks_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - evbuffer_incref_and_lock_
    - event_deferred_cb_schedule_
    - LIST_EMPTY
    - EVBUFFER_UNLOCK
    - bufferevent_incref_
    - evbuffer_run_callbacks
    linkageType: ''
    returnType: void
    signature: void evbuffer_invoke_callbacks_(struct evbuffer *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:551,1
    - Dst: evbuffer_run_callbacks
      Src: /src/libevent/buffer.c:553,1
    - Dst: evbuffer_decref_and_unlock_
      Src: /src/libevent/buffer.c:554,1
    - Dst: bufferevent_decref_
      Src: /src/libevent/buffer.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 557
    functionName: evbuffer_deferred_callback
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_decref_and_unlock_
    - EVBUFFER_LOCK
    - bufferevent_decref_
    - evbuffer_run_callbacks
    linkageType: ''
    returnType: void
    signature: void evbuffer_deferred_callback(struct event_callback *cb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FIRST
      Src: /src/libevent/buffer.c:564,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/buffer.c:565,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 568
    functionName: evbuffer_remove_all_callbacks
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - LIST_REMOVE
    - LIST_FIRST
    - mm_free
    linkageType: ''
    returnType: void
    signature: void evbuffer_remove_all_callbacks(struct evbuffer *buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:574,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:576,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:579,1
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:585,1
    - Dst: evbuffer_remove_all_callbacks
      Src: /src/libevent/buffer.c:587,1
    - Dst: event_deferred_cb_cancel_
      Src: /src/libevent/buffer.c:589,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:591,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/buffer.c:593,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 595
    functionName: evbuffer_decref_and_unlock_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 4
    functionsReached:
    - EVTHREAD_FREE_LOCK
    - evbuffer_remove_all_callbacks
    - EVUTIL_ASSERT
    - ASSERT_EVBUFFER_LOCKED
    - event_deferred_cb_cancel_
    - mm_free
    - EVBUFFER_UNLOCK
    - evbuffer_chain_free
    linkageType: ''
    returnType: void
    signature: void evbuffer_decref_and_unlock_(struct evbuffer *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:600,1
    - Dst: evbuffer_decref_and_unlock_
      Src: /src/libevent/buffer.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: evbuffer_free
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 8
    functionsReached:
    - evbuffer_decref_and_unlock_
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: void
    signature: void evbuffer_free(struct evbuffer *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:610,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - max
    argTypes:
    - struct evbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: evbuffer_set_max_read
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: int evbuffer_set_max_read(struct evbuffer *buf, size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:618,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: evbuffer_get_max_read
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t evbuffer_get_max_read(struct evbuffer *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: evbuffer_lock
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: void
    signature: void evbuffer_lock(struct evbuffer *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 634
    functionName: evbuffer_unlock
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    linkageType: ''
    returnType: void
    signature: void evbuffer_unlock(struct evbuffer *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:640,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 644
    functionName: evbuffer_get_length
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 29
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t evbuffer_get_length(const struct evbuffer *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:652,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 658
    functionName: evbuffer_get_contiguous_space
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t evbuffer_get_contiguous_space(const struct evbuffer *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:666,1
    - Dst: evbuffer_expand_fast_
      Src: /src/libevent/buffer.c:674,1
    - Dst: evbuffer_add
      Src: /src/libevent/buffer.c:684,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - vec
    - n_vec
    argTypes:
    - struct evbuffer*
    - struct evbuffer_iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 694
    functionName: evbuffer_add_iovec
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_add
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    - evbuffer_expand_fast_
    linkageType: ''
    returnType: size_t
    signature: size_t evbuffer_add_iovec(struct evbuffer * buf, struct evbuffer_iovec
      * vec, int n_vec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:703,1
    - Dst: evbuffer_expand_singlechain
      Src: /src/libevent/buffer.c:709,1
    - Dst: CHAIN_SPACE_PTR
      Src: /src/libevent/buffer.c:712,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:713,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:714,1
    - Dst: evbuffer_expand_fast_
      Src: /src/libevent/buffer.c:717,1
    - Dst: evbuffer_read_setup_vecs_
      Src: /src/libevent/buffer.c:719,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - buf
    - size
    - vec
    - n_vecs
    argTypes:
    - struct evbuffer*
    - ev_ssize_t
    - struct evbuffer_iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 727
    functionName: evbuffer_reserve_space
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_expand_singlechain
    - CHAIN_SPACE_LEN
    - evbuffer_read_setup_vecs_
    - EVUTIL_ASSERT
    - evbuffer_expand_fast_
    - EVBUFFER_LOCK
    - EVBUFFER_UNLOCK
    - CHAIN_SPACE_PTR
    linkageType: ''
    returnType: int
    signature: "int evbuffer_reserve_space(struct evbuffer *buf, ev_ssize_t size,\n
      \   struct evbuffer_iovec *vec, int n_vecs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 747
    functionName: advance_last_with_data
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    linkageType: ''
    returnType: int
    signature: int advance_last_with_data(struct evbuffer *buf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:758,1
    - Dst: CHAIN_SPACE_PTR
      Src: /src/libevent/buffer.c:766,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:769,1
    - Dst: advance_last_with_data
      Src: /src/libevent/buffer.c:774,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:782,1
    - Dst: CHAIN_SPACE_PTR
      Src: /src/libevent/buffer.c:792,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:793,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:812,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:815,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 3
    argNames:
    - buf
    - vec
    - n_vecs
    argTypes:
    - struct evbuffer*
    - struct evbuffer_iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 817
    functionName: evbuffer_commit_space
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - advance_last_with_data
    - CHAIN_SPACE_LEN
    - evbuffer_invoke_callbacks_
    - EVBUFFER_LOCK
    - EVBUFFER_UNLOCK
    - CHAIN_SPACE_PTR
    linkageType: ''
    returnType: int
    signature: "int evbuffer_commit_space(struct evbuffer *buf,\n    struct evbuffer_iovec
      *vec, int n_vecs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHAIN_PINNED_R
      Src: /src/libevent/buffer.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 823
    functionName: HAS_PINNED_R
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - CHAIN_PINNED_R
    linkageType: ''
    returnType: int
    signature: int HAS_PINNED_R(struct evbuffer *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dst
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 833
    functionName: ZERO_CHAIN
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    linkageType: ''
    returnType: void
    signature: void ZERO_CHAIN(struct evbuffer *dst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:845,1
    - Dst: HAS_PINNED_R
      Src: /src/libevent/buffer.c:847,1
    - Dst: CHAIN_PINNED_R
      Src: /src/libevent/buffer.c:853,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:855,1
    - Dst: CHAIN_PINNED_R
      Src: /src/libevent/buffer.c:855,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:864,1
    - Dst: evbuffer_chain_new_membuf
      Src: /src/libevent/buffer.c:865,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - src
    - first
    - last
    argTypes:
    - struct evbuffer*
    - struct evbuffer_chain**
    - struct evbuffer_chain**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 881
    functionName: PRESERVE_PINNED
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - HAS_PINNED_R
    - memcpy
    - EVUTIL_ASSERT
    - ASSERT_EVBUFFER_LOCKED
    - CHAIN_PINNED_R
    - evbuffer_chain_new_membuf
    linkageType: ''
    returnType: int
    signature: "int PRESERVE_PINNED(struct evbuffer *src, struct evbuffer_chain **first,\n\t\tstruct
      evbuffer_chain **last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:887,1
    - Dst: ZERO_CHAIN
      Src: /src/libevent/buffer.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src
    - pinned
    - last
    argTypes:
    - struct evbuffer*
    - struct evbuffer_chain*
    - struct evbuffer_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 898
    functionName: RESTORE_PINNED
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    - ZERO_CHAIN
    linkageType: ''
    returnType: void
    signature: "void RESTORE_PINNED(struct evbuffer *src, struct evbuffer_chain *pinned,\n\t\tstruct
      evbuffer_chain *last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:903,1
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 912
    functionName: COPY_CHAIN
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    linkageType: ''
    returnType: void
    signature: void COPY_CHAIN(struct evbuffer *dst, struct evbuffer *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:919,1
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:920,1
    - Dst: evbuffer_free_trailing_empty_chains
      Src: /src/libevent/buffer.c:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 914
    functionDepth: 4
    functionLinenumber: 914
    functionLinenumberEnd: 931
    functionName: APPEND_CHAIN
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    - evbuffer_free_trailing_empty_chains
    linkageType: ''
    returnType: void
    signature: void APPEND_CHAIN(struct evbuffer *dst, struct evbuffer *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:940,1
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:941,1
    - Dst: evbuffer_chain_new
      Src: /src/libevent/buffer.c:949,1
    - Dst: event_warn
      Src: /src/libevent/buffer.c:951,1
    - Dst: EVBUFFER_CHAIN_EXTRA
      Src: /src/libevent/buffer.c:954,1
    - Dst: evbuffer_incref_
      Src: /src/libevent/buffer.c:958,1
    - Dst: evbuffer_chain_incref
      Src: /src/libevent/buffer.c:961,1
    - Dst: evbuffer_chain_insert
      Src: /src/libevent/buffer.c:969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 933
    functionDepth: 5
    functionLinenumber: 933
    functionLinenumberEnd: 971
    functionName: APPEND_CHAIN_MULTICAST
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_CHAIN_EXTRA
    - evbuffer_chain_insert
    - event_warn
    - evbuffer_incref_
    - evbuffer_chain_incref
    - ASSERT_EVBUFFER_LOCKED
    - evbuffer_chain_new
    linkageType: ''
    returnType: void
    signature: void APPEND_CHAIN_MULTICAST(struct evbuffer *dst, struct evbuffer *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:976,1
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 989
    functionName: PREPEND_CHAIN
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    linkageType: ''
    returnType: void
    signature: void PREPEND_CHAIN(struct evbuffer *dst, struct evbuffer *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK2
      Src: /src/libevent/buffer.c:998,1
    - Dst: PRESERVE_PINNED
      Src: /src/libevent/buffer.c:1010,1
    - Dst: evbuffer_free_all_chains
      Src: /src/libevent/buffer.c:1018,1
    - Dst: COPY_CHAIN
      Src: /src/libevent/buffer.c:1019,1
    - Dst: APPEND_CHAIN
      Src: /src/libevent/buffer.c:1021,1
    - Dst: RESTORE_PINNED
      Src: /src/libevent/buffer.c:1024,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1029,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1030,1
    - Dst: EVBUFFER_UNLOCK2
      Src: /src/libevent/buffer.c:1033,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - outbuf
    - inbuf
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 991
    functionDepth: 5
    functionLinenumber: 991
    functionLinenumberEnd: 1035
    functionName: evbuffer_add_buffer
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 6
    functionsReached:
    - evbuffer_free_all_chains
    - RESTORE_PINNED
    - APPEND_CHAIN
    - EVBUFFER_LOCK2
    - evbuffer_invoke_callbacks_
    - COPY_CHAIN
    - PRESERVE_PINNED
    - EVBUFFER_UNLOCK2
    linkageType: ''
    returnType: int
    signature: int evbuffer_add_buffer(struct evbuffer *outbuf, struct evbuffer *inbuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK2
      Src: /src/libevent/buffer.c:1044,1
    - Dst: evbuffer_free_all_chains
      Src: /src/libevent/buffer.c:1068,1
    - Dst: APPEND_CHAIN_MULTICAST
      Src: /src/libevent/buffer.c:1070,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1073,1
    - Dst: EVBUFFER_UNLOCK2
      Src: /src/libevent/buffer.c:1076,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - outbuf
    - inbuf
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1037
    functionDepth: 6
    functionLinenumber: 1037
    functionLinenumberEnd: 1078
    functionName: evbuffer_add_buffer_reference
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_free_all_chains
    - EVBUFFER_LOCK2
    - evbuffer_invoke_callbacks_
    - APPEND_CHAIN_MULTICAST
    - EVBUFFER_UNLOCK2
    linkageType: ''
    returnType: int
    signature: int evbuffer_add_buffer_reference(struct evbuffer *outbuf, struct evbuffer
      *inbuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK2
      Src: /src/libevent/buffer.c:1087,1
    - Dst: PRESERVE_PINNED
      Src: /src/libevent/buffer.c:1100,1
    - Dst: evbuffer_free_all_chains
      Src: /src/libevent/buffer.c:1108,1
    - Dst: COPY_CHAIN
      Src: /src/libevent/buffer.c:1109,1
    - Dst: PREPEND_CHAIN
      Src: /src/libevent/buffer.c:1111,1
    - Dst: RESTORE_PINNED
      Src: /src/libevent/buffer.c:1114,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1119,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1120,1
    - Dst: EVBUFFER_UNLOCK2
      Src: /src/libevent/buffer.c:1122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - outbuf
    - inbuf
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1080
    functionDepth: 4
    functionLinenumber: 1080
    functionLinenumberEnd: 1124
    functionName: evbuffer_prepend_buffer
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_free_all_chains
    - RESTORE_PINNED
    - EVBUFFER_LOCK2
    - evbuffer_invoke_callbacks_
    - COPY_CHAIN
    - PREPEND_CHAIN
    - PRESERVE_PINNED
    - EVBUFFER_UNLOCK2
    linkageType: ''
    returnType: int
    signature: int evbuffer_prepend_buffer(struct evbuffer *outbuf, struct evbuffer
      *inbuf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:1133,1
    - Dst: HAS_PINNED_R
      Src: /src/libevent/buffer.c:1144,1
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:1148,1
    - Dst: ZERO_CHAIN
      Src: /src/libevent/buffer.c:1151,1
    - Dst: CHAIN_PINNED_R
      Src: /src/libevent/buffer.c:1170,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1171,1
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:1176,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1180,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1187,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:1190,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - struct evbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1126
    functionDepth: 3
    functionLinenumber: 1126
    functionLinenumberEnd: 1192
    functionName: evbuffer_drain
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 8
    functionsReached:
    - ZERO_CHAIN
    - HAS_PINNED_R
    - EVUTIL_ASSERT
    - evbuffer_invoke_callbacks_
    - CHAIN_PINNED_R
    - EVBUFFER_LOCK
    - EVBUFFER_UNLOCK
    - evbuffer_chain_free
    linkageType: ''
    returnType: int
    signature: int evbuffer_drain(struct evbuffer *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:1199,1
    - Dst: evbuffer_copyout_from
      Src: /src/libevent/buffer.c:1200,1
    - Dst: evbuffer_drain
      Src: /src/libevent/buffer.c:1202,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:1205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - data_out
    - datlen
    argTypes:
    - struct evbuffer*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1195
    functionDepth: 4
    functionLinenumber: 1195
    functionLinenumberEnd: 1207
    functionName: evbuffer_remove
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 3
    functionsReached:
    - evbuffer_drain
    - EVBUFFER_LOCK
    - EVBUFFER_UNLOCK
    - evbuffer_copyout_from
    linkageType: ''
    returnType: int
    signature: int evbuffer_remove(struct evbuffer *buf, void *data_out, size_t datlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_copyout_from
      Src: /src/libevent/buffer.c:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - data_out
    - datlen
    argTypes:
    - struct evbuffer*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: evbuffer_copyout
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_copyout_from
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t evbuffer_copyout(struct evbuffer *buf, void *data_out, size_t
      datlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:1226,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1257,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1265,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1269,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1270,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1272,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:1278,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 4
    argNames:
    - buf
    - pos
    - data_out
    - datlen
    argTypes:
    - struct evbuffer*
    - struct evbuffer_ptr*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1280
    functionName: evbuffer_copyout_from
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 2
    functionsReached:
    - memcpy
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: ev_ssize_t
    signature: "ev_ssize_t evbuffer_copyout_from(struct evbuffer *buf, const struct
      evbuffer_ptr *pos,\n    void *data_out, size_t datlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK2
      Src: /src/libevent/buffer.c:1296,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/buffer.c:1313,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1323,1
    - Dst: evbuffer_free_trailing_empty_chains
      Src: /src/libevent/buffer.c:1335,1
    - Dst: advance_last_with_data
      Src: /src/libevent/buffer.c:1345,1
    - Dst: evbuffer_add
      Src: /src/libevent/buffer.c:1353,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1365,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1366,1
    - Dst: EVBUFFER_UNLOCK2
      Src: /src/libevent/buffer.c:1371,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - src
    - dst
    - datlen
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1285
    functionDepth: 6
    functionLinenumber: 1285
    functionLinenumberEnd: 1373
    functionName: evbuffer_remove_buffer
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 4
    functionsReached:
    - advance_last_with_data
    - EVUTIL_ASSERT
    - EVBUFFER_LOCK2
    - evbuffer_free_trailing_empty_chains
    - evbuffer_invoke_callbacks_
    - evbuffer_add_buffer
    - evbuffer_add
    - EVBUFFER_UNLOCK2
    linkageType: ''
    returnType: int
    signature: "int evbuffer_remove_buffer(struct evbuffer *src, struct evbuffer *dst,\n
      \   size_t datlen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:1384,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1405,1
    - Dst: CHAIN_PINNED
      Src: /src/libevent/buffer.c:1407,1
    - Dst: CHAIN_PINNED
      Src: /src/libevent/buffer.c:1414,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:1416,1
    - Dst: CHAIN_SPACE_PTR
      Src: /src/libevent/buffer.c:1420,1
    - Dst: evbuffer_chain_new_membuf
      Src: /src/libevent/buffer.c:1434,1
    - Dst: event_warn
      Src: /src/libevent/buffer.c:1435,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1451,1
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:1460,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1464,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:1485,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - struct evbuffer*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1375
    functionDepth: 3
    functionLinenumber: 1375
    functionLinenumberEnd: 1487
    functionName: evbuffer_pullup
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - CHAIN_SPACE_LEN
    - evbuffer_chain_free
    - event_warn
    - memcpy
    - EVUTIL_ASSERT
    - EVBUFFER_LOCK
    - EVBUFFER_UNLOCK
    - CHAIN_SPACE_PTR
    - evbuffer_chain_new_membuf
    - CHAIN_PINNED
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      evbuffer_pullup(struct evbuffer *buf, ev_ssize_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_readln
      Src: /src/libevent/buffer.c:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1497
    functionName: evbuffer_readline
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_readln
    linkageType: ''
    returnType: char
    signature: 'char *

      evbuffer_readline(struct evbuffer *buffer)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/libevent/buffer.c:1506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - it
    - chr
    argTypes:
    - struct evbuffer_ptr*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1519
    functionName: evbuffer_strchr
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t evbuffer_strchr(struct evbuffer_ptr *it, const char chr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/libevent/buffer.c:1532,1
    - Dst: memchr
      Src: /src/libevent/buffer.c:1533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1546
    functionName: find_eol_char
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: char
    signature: 'char *

      find_eol_char(char *s, size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_eol_char
      Src: /src/libevent/buffer.c:1555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct evbuffer_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1568
    functionName: evbuffer_find_eol_char
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - find_eol_char
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t evbuffer_find_eol_char(struct evbuffer_ptr *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - ptr
    - chrset
    argTypes:
    - struct evbuffer_ptr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1607
    functionName: evbuffer_strspn
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t evbuffer_strspn(\n\tstruct evbuffer_ptr *ptr, const char *chrset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - struct evbuffer_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1620
    functionName: evbuffer_getchr
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evbuffer_getchr(struct evbuffer_ptr *it)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PTR_NOT_FOUND
      Src: /src/libevent/buffer.c:1633,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:1639,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1642,1
    - Dst: evbuffer_find_eol_char
      Src: /src/libevent/buffer.c:1653,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1655,1
    - Dst: evbuffer_strspn
      Src: /src/libevent/buffer.c:1656,1
    - Dst: evbuffer_search
      Src: /src/libevent/buffer.c:1659,1
    - Dst: evbuffer_strchr
      Src: /src/libevent/buffer.c:1668,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1677,1
    - Dst: evbuffer_ptr_subtract
      Src: /src/libevent/buffer.c:1678,1
    - Dst: evbuffer_getchr
      Src: /src/libevent/buffer.c:1680,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1681,1
    - Dst: evbuffer_strchr
      Src: /src/libevent/buffer.c:1687,1
    - Dst: evbuffer_strchr
      Src: /src/libevent/buffer.c:1692,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:1702,1
    - Dst: PTR_NOT_FOUND
      Src: /src/libevent/buffer.c:1705,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 4
    argNames:
    - buffer
    - start
    - eol_len_out
    - eol_style
    argTypes:
    - struct evbuffer*
    - struct evbuffer_ptr*
    - size_t*
    - enum evbuffer_eol_style
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1622
    functionDepth: 2
    functionLinenumber: 1622
    functionLinenumberEnd: 1710
    functionName: evbuffer_search_eol
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_ptr_subtract
    - evbuffer_find_eol_char
    - memcpy
    - evbuffer_getchr
    - evbuffer_strchr
    - EVBUFFER_LOCK
    - evbuffer_search
    - PTR_NOT_FOUND
    - EVBUFFER_UNLOCK
    - evbuffer_strspn
    linkageType: ''
    returnType: struct evbuffer_ptr
    signature: "struct evbuffer_ptr evbuffer_search_eol(struct evbuffer *buffer,\n
      \   struct evbuffer_ptr *start, size_t *eol_len_out,\n    enum evbuffer_eol_style
      eol_style)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:1721,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/buffer.c:1727,1
    - Dst: mm_malloc
      Src: /src/libevent/buffer.c:1732,1
    - Dst: event_warn
      Src: /src/libevent/buffer.c:1733,1
    - Dst: evbuffer_remove
      Src: /src/libevent/buffer.c:1737,1
    - Dst: evbuffer_drain
      Src: /src/libevent/buffer.c:1740,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:1743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - buffer
    - n_read_out
    - eol_style
    argTypes:
    - struct evbuffer*
    - size_t*
    - enum evbuffer_eol_style
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1712
    functionDepth: 5
    functionLinenumber: 1712
    functionLinenumberEnd: 1749
    functionName: evbuffer_readln
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 4
    functionsReached:
    - evbuffer_drain
    - event_warn
    - evbuffer_search_eol
    - EVBUFFER_LOCK
    - mm_malloc
    - evbuffer_remove
    - EVBUFFER_UNLOCK
    linkageType: ''
    returnType: char
    signature: "char *\nevbuffer_readln(struct evbuffer *buffer, size_t *n_read_out,\n\t\tenum
      evbuffer_eol_style eol_style)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:1763,1
    - Dst: evbuffer_chain_insert_new
      Src: /src/libevent/buffer.c:1782,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1789,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1795,1
    - Dst: CHAIN_PINNED
      Src: /src/libevent/buffer.c:1801,1
    - Dst: evbuffer_chain_should_realign
      Src: /src/libevent/buffer.c:1802,1
    - Dst: evbuffer_chain_align
      Src: /src/libevent/buffer.c:1804,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1806,1
    - Dst: evbuffer_chain_new_membuf
      Src: /src/libevent/buffer.c:1823,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1828,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1838,1
    - Dst: evbuffer_chain_insert
      Src: /src/libevent/buffer.c:1840,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1844,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:1847,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 3
    argNames:
    - buf
    - data_in
    - datlen
    argTypes:
    - struct evbuffer*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1755
    functionDepth: 6
    functionLinenumber: 1755
    functionLinenumberEnd: 1849
    functionName: evbuffer_add
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 11
    functionsReached:
    - evbuffer_chain_insert
    - memcpy
    - EVUTIL_ASSERT
    - evbuffer_chain_align
    - evbuffer_invoke_callbacks_
    - EVBUFFER_UNLOCK
    - evbuffer_chain_should_realign
    - EVBUFFER_LOCK
    - evbuffer_chain_insert_new
    - evbuffer_chain_new_membuf
    - CHAIN_PINNED
    linkageType: ''
    returnType: int
    signature: int evbuffer_add(struct evbuffer *buf, const void *data_in, size_t
      datlen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:1857,1
    - Dst: evbuffer_chain_insert_new
      Src: /src/libevent/buffer.c:1873,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1881,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1891,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1900,1
    - Dst: evbuffer_chain_new_membuf
      Src: /src/libevent/buffer.c:1912,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1921,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:1924,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:1929,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:1932,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 3
    argNames:
    - buf
    - data
    - datlen
    argTypes:
    - struct evbuffer*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1851
    functionDepth: 6
    functionLinenumber: 1851
    functionLinenumberEnd: 1934
    functionName: evbuffer_prepend
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVUTIL_ASSERT
    - evbuffer_invoke_callbacks_
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    - evbuffer_chain_insert_new
    - evbuffer_chain_new_membuf
    linkageType: ''
    returnType: int
    signature: int evbuffer_prepend(struct evbuffer *buf, const void *data, size_t
      datlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1940,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:1941,1
    - Dst: memmove
      Src: /src/libevent/buffer.c:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chain
    argTypes:
    - struct evbuffer_chain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1937
    functionDepth: 1
    functionLinenumber: 1937
    functionLinenumberEnd: 1944
    functionName: evbuffer_chain_align
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - memmove
    linkageType: ''
    returnType: void
    signature: void evbuffer_chain_align(struct evbuffer_chain *chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - chain
    - datlen
    argTypes:
    - struct evbuffer_chain*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1958
    functionName: evbuffer_chain_should_realign
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int evbuffer_chain_should_realign(struct evbuffer_chain *chain,\n
      \   size_t datlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:1967,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:1974,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:1989,1
    - Dst: evbuffer_chain_should_realign
      Src: /src/libevent/buffer.c:2006,1
    - Dst: evbuffer_chain_align
      Src: /src/libevent/buffer.c:2007,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2019,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2024,1
    - Dst: evbuffer_chain_new_membuf
      Src: /src/libevent/buffer.c:2041,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:2047,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2050,1
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:2057,1
    - Dst: evbuffer_chain_insert_new
      Src: /src/libevent/buffer.c:2062,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2066,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2067,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2067,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 2
    argNames:
    - buf
    - datlen
    argTypes:
    - struct evbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 1962
    functionDepth: 6
    functionLinenumber: 1962
    functionLinenumberEnd: 2070
    functionName: evbuffer_expand_singlechain
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - CHAIN_SPACE_LEN
    - evbuffer_chain_free
    - memcpy
    - EVUTIL_ASSERT
    - evbuffer_chain_align
    - ASSERT_EVBUFFER_LOCKED
    - evbuffer_chain_insert_new
    - evbuffer_chain_new_membuf
    - evbuffer_chain_should_realign
    linkageType: ''
    returnType: struct evbuffer_chain
    signature: 'struct evbuffer_chain *

      evbuffer_expand_singlechain(struct evbuffer *buf, size_t datlen)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:2081,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2082,1
    - Dst: evbuffer_chain_insert_new
      Src: /src/libevent/buffer.c:2087,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2101,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2102,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2127,1
    - Dst: evbuffer_chain_new_membuf
      Src: /src/libevent/buffer.c:2129,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2144,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2150,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2157,1
    - Dst: evbuffer_chain_free
      Src: /src/libevent/buffer.c:2158,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2160,1
    - Dst: evbuffer_chain_new_membuf
      Src: /src/libevent/buffer.c:2161,1
    - Dst: ZERO_CHAIN
      Src: /src/libevent/buffer.c:2164,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 3
    argNames:
    - buf
    - datlen
    - n
    argTypes:
    - struct evbuffer*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2074
    functionDepth: 6
    functionLinenumber: 2074
    functionLinenumberEnd: 2181
    functionName: evbuffer_expand_fast_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 3
    functionsReached:
    - ZERO_CHAIN
    - CHAIN_SPACE_LEN
    - evbuffer_chain_free
    - EVUTIL_ASSERT
    - ASSERT_EVBUFFER_LOCKED
    - evbuffer_chain_insert_new
    - evbuffer_chain_new_membuf
    linkageType: ''
    returnType: int
    signature: int evbuffer_expand_fast_(struct evbuffer *buf, size_t datlen, int
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2188,1
    - Dst: evbuffer_expand_singlechain
      Src: /src/libevent/buffer.c:2189,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - datlen
    argTypes:
    - struct evbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2183
    functionDepth: 7
    functionLinenumber: 2183
    functionLinenumberEnd: 2192
    functionName: evbuffer_expand
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_expand_singlechain
    - EVBUFFER_LOCK
    - EVBUFFER_UNLOCK
    linkageType: ''
    returnType: int
    signature: int evbuffer_expand(struct evbuffer *buf, size_t datlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:2254,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2262,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2263,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2268,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2270,1
    - Dst: CHAIN_SPACE_PTR
      Src: /src/libevent/buffer.c:2273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - buf
    - howmuch
    - vecs
    - n_vecs_avail
    - chainp
    - exact
    argTypes:
    - struct evbuffer*
    - ev_ssize_t
    - struct evbuffer_iovec*
    - int
    - struct evbuffer_chain***
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2281
    functionName: evbuffer_read_setup_vecs_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 2
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    - EVUTIL_ASSERT
    - CHAIN_SPACE_LEN
    - CHAIN_SPACE_PTR
    linkageType: ''
    returnType: int
    signature: "int evbuffer_read_setup_vecs_(struct evbuffer *buf, ev_ssize_t howmuch,\n
      \   struct evbuffer_iovec *vecs, int n_vecs_avail,\n    struct evbuffer_chain
      ***chainp, int exact)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/libevent/buffer.c:2288,1
    - Dst: ioctl
      Src: /src/libevent/buffer.c:2294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2300
    functionName: get_n_bytes_readable_on_socket
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ioctlsocket
    - ioctl
    linkageType: ''
    returnType: int
    signature: int get_n_bytes_readable_on_socket(evutil_socket_t fd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2318,1
    - Dst: get_n_bytes_readable_on_socket
      Src: /src/libevent/buffer.c:2325,1
    - Dst: evbuffer_expand_fast_
      Src: /src/libevent/buffer.c:2334,1
    - Dst: evbuffer_read_setup_vecs_
      Src: /src/libevent/buffer.c:2340,1
    - Dst: evbuffer_read_setup_vecs_
      Src: /src/libevent/buffer.c:2346,1
    - Dst: WSABUF_FROM_EVBUFFER_IOV
      Src: /src/libevent/buffer.c:2350,1
    - Dst: WSARecv
      Src: /src/libevent/buffer.c:2357,1
    - Dst: WSAGetLastError
      Src: /src/libevent/buffer.c:2360,1
    - Dst: read
      Src: /src/libevent/buffer.c:2370,1
    - Dst: readv
      Src: /src/libevent/buffer.c:2372,1
    - Dst: evbuffer_expand_singlechain
      Src: /src/libevent/buffer.c:2380,1
    - Dst: read
      Src: /src/libevent/buffer.c:2389,1
    - Dst: recv
      Src: /src/libevent/buffer.c:2391,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2409,1
    - Dst: advance_last_with_data
      Src: /src/libevent/buffer.c:2426,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:2432,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2435,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 3
    argNames:
    - buf
    - fd
    - howmuch
    argTypes:
    - struct evbuffer*
    - evutil_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2304
    functionDepth: 7
    functionLinenumber: 2304
    functionLinenumberEnd: 2437
    functionName: evbuffer_read
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - advance_last_with_data
    - evbuffer_read_setup_vecs_
    - evbuffer_expand_singlechain
    - recv
    - CHAIN_SPACE_LEN
    - read
    - evbuffer_invoke_callbacks_
    - evbuffer_expand_fast_
    - EVBUFFER_UNLOCK
    - WSABUF_FROM_EVBUFFER_IOV
    - EVBUFFER_LOCK
    - readv
    - WSARecv
    - get_n_bytes_readable_on_socket
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: int evbuffer_read(struct evbuffer *buf, evutil_socket_t fd, int howmuch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:2451,1
    - Dst: WSASend
      Src: /src/libevent/buffer.c:2479,1
    - Dst: write
      Src: /src/libevent/buffer.c:2487,1
    - Dst: writev
      Src: /src/libevent/buffer.c:2489,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - buffer
    - fd
    - howmuch
    argTypes:
    - struct evbuffer*
    - evutil_socket_t
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2440
    functionDepth: 1
    functionLinenumber: 2440
    functionLinenumberEnd: 2492
    functionName: evbuffer_write_iovec
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    - WSASend
    - writev
    - write
    linkageType: ''
    returnType: int
    signature: "int evbuffer_write_iovec(struct evbuffer *buffer, evutil_socket_t
      fd,\n    ev_ssize_t howmuch)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_CHAIN_EXTRA
      Src: /src/libevent/buffer.c:2502,1
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:2513,1
    - Dst: sendfile
      Src: /src/libevent/buffer.c:2516,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/buffer.c:2517,1
    - Dst: sendfile
      Src: /src/libevent/buffer.c:2522,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/buffer.c:2523,1
    - Dst: sendfile
      Src: /src/libevent/buffer.c:2528,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/buffer.c:2529,1
    - Dst: sendfile
      Src: /src/libevent/buffer.c:2537,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/buffer.c:2538,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - buffer
    - dest_fd
    - howmuch
    argTypes:
    - struct evbuffer*
    - evutil_socket_t
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2496
    functionDepth: 1
    functionLinenumber: 2496
    functionLinenumberEnd: 2548
    functionName: evbuffer_write_sendfile
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_CHAIN_EXTRA
    - EVUTIL_ERR_RW_RETRIABLE
    - ASSERT_EVBUFFER_LOCKED
    - sendfile
    linkageType: ''
    returnType: int
    signature: "int evbuffer_write_sendfile(struct evbuffer *buffer, evutil_socket_t
      dest_fd,\n    ev_ssize_t howmuch)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2557,1
    - Dst: evbuffer_write_sendfile
      Src: /src/libevent/buffer.c:2570,1
    - Dst: evbuffer_write_iovec
      Src: /src/libevent/buffer.c:2574,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/buffer.c:2578,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2579,1
    - Dst: send
      Src: /src/libevent/buffer.c:2580,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/buffer.c:2582,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2583,1
    - Dst: write
      Src: /src/libevent/buffer.c:2584,1
    - Dst: evbuffer_drain
      Src: /src/libevent/buffer.c:2592,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2595,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - buffer
    - fd
    - howmuch
    argTypes:
    - struct evbuffer*
    - evutil_socket_t
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2551
    functionDepth: 4
    functionLinenumber: 2551
    functionLinenumberEnd: 2597
    functionName: evbuffer_write_atmost
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - write
    - evbuffer_write_sendfile
    - evbuffer_drain
    - evbuffer_pullup
    - evbuffer_write_iovec
    - EVUTIL_ASSERT
    - EVBUFFER_LOCK
    - send
    - EVBUFFER_UNLOCK
    linkageType: ''
    returnType: int
    signature: "int evbuffer_write_atmost(struct evbuffer *buffer, evutil_socket_t
      fd,\n    ev_ssize_t howmuch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_write_atmost
      Src: /src/libevent/buffer.c:2602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - fd
    argTypes:
    - struct evbuffer*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2599
    functionDepth: 5
    functionLinenumber: 2599
    functionLinenumberEnd: 2603
    functionName: evbuffer_write
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_write_atmost
    linkageType: ''
    returnType: int
    signature: int evbuffer_write(struct evbuffer *buffer, evutil_socket_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2611,1
    - Dst: evbuffer_search
      Src: /src/libevent/buffer.c:2613,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/buffer.c:2617,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - what
    - len
    argTypes:
    - struct evbuffer*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2605
    functionDepth: 4
    functionLinenumber: 2605
    functionLinenumberEnd: 2623
    functionName: evbuffer_find
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_search
    - evbuffer_pullup
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      evbuffer_find(struct evbuffer *buffer, const unsigned char *what, size_t len)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/buffer.c:2646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - pos
    - howfar
    argTypes:
    - struct evbuffer*
    - struct evbuffer_ptr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2630
    functionDepth: 1
    functionLinenumber: 2630
    functionLinenumberEnd: 2648
    functionName: evbuffer_ptr_subtract
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - evbuffer_ptr_set
    linkageType: ''
    returnType: int
    signature: "int evbuffer_ptr_subtract(struct evbuffer *buf, struct evbuffer_ptr
      *pos,\n    size_t howfar)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2658,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2670,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2679,1
    - Dst: PTR_NOT_FOUND
      Src: /src/libevent/buffer.c:2693,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - buf
    - pos
    - position
    - how
    argTypes:
    - struct evbuffer*
    - struct evbuffer_ptr*
    - size_t
    - enum evbuffer_ptr_how
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2650
    functionDepth: 1
    functionLinenumber: 2650
    functionLinenumberEnd: 2700
    functionName: evbuffer_ptr_set
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - PTR_NOT_FOUND
    - EVUTIL_ASSERT
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: "int evbuffer_ptr_set(struct evbuffer *buf, struct evbuffer_ptr *pos,\n
      \   size_t position, enum evbuffer_ptr_how how)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EVBUFFER_LOCKED
      Src: /src/libevent/buffer.c:2714,1
    - Dst: memcmp
      Src: /src/libevent/buffer.c:2729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - buf
    - pos
    - mem
    - len
    argTypes:
    - struct evbuffer*
    - struct evbuffer_ptr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2740
    functionName: evbuffer_ptr_memcmp
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - ASSERT_EVBUFFER_LOCKED
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int evbuffer_ptr_memcmp(const struct evbuffer *buf, const struct evbuffer_ptr
      *pos,\n    const char *mem, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_search_range
      Src: /src/libevent/buffer.c:2745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buffer
    - what
    - len
    - start
    argTypes:
    - struct evbuffer*
    - char*
    - size_t
    - struct evbuffer_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2742
    functionDepth: 1
    functionLinenumber: 2742
    functionLinenumberEnd: 2746
    functionName: evbuffer_search
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 2
    functionsReached:
    - evbuffer_search_range
    linkageType: ''
    returnType: struct evbuffer_ptr
    signature: struct evbuffer_ptr evbuffer_search(struct evbuffer *buffer, const
      char *what, size_t len, const struct evbuffer_ptr *start)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2756,1
    - Dst: memcpy
      Src: /src/libevent/buffer.c:2759,1
    - Dst: memchr
      Src: /src/libevent/buffer.c:2779,1
    - Dst: evbuffer_ptr_memcmp
      Src: /src/libevent/buffer.c:2784,1
    - Dst: PTR_NOT_FOUND
      Src: /src/libevent/buffer.c:2806,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2808,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 5
    argNames:
    - buffer
    - what
    - len
    - start
    - end
    argTypes:
    - struct evbuffer*
    - char*
    - size_t
    - struct evbuffer_ptr*
    - struct evbuffer_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2748
    functionDepth: 2
    functionLinenumber: 2748
    functionLinenumberEnd: 2810
    functionName: evbuffer_search_range
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - memcpy
    - memchr
    - evbuffer_ptr_memcmp
    - EVBUFFER_LOCK
    - PTR_NOT_FOUND
    - EVBUFFER_UNLOCK
    linkageType: ''
    returnType: struct evbuffer_ptr
    signature: struct evbuffer_ptr evbuffer_search_range(struct evbuffer *buffer,
      const char *what, size_t len, const struct evbuffer_ptr *start, const struct
      evbuffer_ptr *end)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2825,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2865,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - buffer
    - len
    - start_at
    - vec
    - n_vec
    argTypes:
    - struct evbuffer*
    - ev_ssize_t
    - struct evbuffer_ptr*
    - struct evbuffer_iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2812
    functionDepth: 1
    functionLinenumber: 2812
    functionLinenumberEnd: 2868
    functionName: evbuffer_peek
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: "int evbuffer_peek(struct evbuffer *buffer, ev_ssize_t len,\n    struct
      evbuffer_ptr *start_at,\n    struct evbuffer_iovec *vec, int n_vec)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2881,1
    - Dst: evbuffer_expand_singlechain
      Src: /src/libevent/buffer.c:2888,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:2895,1
    - Dst: CHAIN_SPACE_PTR
      Src: /src/libevent/buffer.c:2898,1
    - Dst: CHAIN_SPACE_LEN
      Src: /src/libevent/buffer.c:2899,1
    - Dst: va_copy
      Src: /src/libevent/buffer.c:2904,1
    - Dst: evutil_vsnprintf
      Src: /src/libevent/buffer.c:2906,1
    - Dst: va_end
      Src: /src/libevent/buffer.c:2908,1
    - Dst: advance_last_with_data
      Src: /src/libevent/buffer.c:2920,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:2921,1
    - Dst: evbuffer_expand_singlechain
      Src: /src/libevent/buffer.c:2925,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2931,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - buf
    - fmt
    - ap
    argTypes:
    - struct evbuffer*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2871
    functionDepth: 7
    functionLinenumber: 2871
    functionLinenumberEnd: 2933
    functionName: evbuffer_add_vprintf
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - va_end
    - advance_last_with_data
    - evbuffer_expand_singlechain
    - CHAIN_SPACE_LEN
    - EVUTIL_ASSERT
    - va_copy
    - evbuffer_invoke_callbacks_
    - EVBUFFER_LOCK
    - evutil_vsnprintf
    - EVBUFFER_UNLOCK
    - CHAIN_SPACE_PTR
    linkageType: ''
    returnType: int
    signature: int evbuffer_add_vprintf(struct evbuffer *buf, const char *fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2903
    functionName: va_copy
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: va_copy(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/buffer.c:2941,1
    - Dst: evbuffer_add_vprintf
      Src: /src/libevent/buffer.c:2942,1
    - Dst: va_end
      Src: /src/libevent/buffer.c:2943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - fmt
    argTypes:
    - struct evbuffer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2935
    functionDepth: 8
    functionLinenumber: 2935
    functionLinenumberEnd: 2946
    functionName: evbuffer_add_printf
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 8
    functionsReached:
    - va_end
    - evbuffer_add_vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int evbuffer_add_printf(struct evbuffer *buf, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_add_reference_with_offset
      Src: /src/libevent/buffer.c:2953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - outbuf
    - data
    - datlen
    - cleanupfn
    - extra
    argTypes:
    - struct evbuffer*
    - void*
    - size_t
    - evbuffer_ref_cleanup_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2948
    functionDepth: 1
    functionLinenumber: 2948
    functionLinenumberEnd: 2954
    functionName: evbuffer_add_reference
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_reference_with_offset
    linkageType: ''
    returnType: int
    signature: "int evbuffer_add_reference(struct evbuffer *outbuf,\n    const void
      *data, size_t datlen,\n    evbuffer_ref_cleanup_cb cleanupfn, void *extra)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_chain_new
      Src: /src/libevent/buffer.c:2965,1
    - Dst: EVBUFFER_CHAIN_EXTRA
      Src: /src/libevent/buffer.c:2974,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:2978,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:2982,1
    - Dst: evbuffer_chain_insert
      Src: /src/libevent/buffer.c:2985,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:2988,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:2992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 6
    argNames:
    - outbuf
    - data
    - offset
    - datlen
    - cleanupfn
    - extra
    argTypes:
    - struct evbuffer*
    - void*
    - size_t
    - size_t
    - evbuffer_ref_cleanup_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2956
    functionDepth: 5
    functionLinenumber: 2956
    functionLinenumberEnd: 2995
    functionName: evbuffer_add_reference_with_offset
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - EVBUFFER_CHAIN_EXTRA
    - evbuffer_chain_insert
    - evbuffer_invoke_callbacks_
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    - mm_free
    - evbuffer_chain_new
    linkageType: ''
    returnType: int
    signature: "int evbuffer_add_reference_with_offset(struct evbuffer *outbuf, const
      void *data,\n\tsize_t offset, size_t datlen, evbuffer_ref_cleanup_cb cleanupfn,\n\tvoid
      *extra)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/buffer.c:3005,1
    - Dst: evutil_fd_filesize
      Src: /src/libevent/buffer.c:3015,1
    - Dst: "offset < 0 || length < 0 ||\n\t    ((ev_uint64_t)length > EVBUFFER_CHAIN_MAX)
        ||\n\t    (ev_uint64_t)offset >"
      Src: /src/libevent/buffer.c:3021,1
    - Dst: evbuffer_file_segment_materialize
      Src: /src/libevent/buffer.c:3033,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/buffer.c:3040,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:3044,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - fd
    - offset
    - length
    - flags
    argTypes:
    - int
    - ev_off_t
    - ev_off_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3000
    functionDepth: 1
    functionLinenumber: 3000
    functionLinenumberEnd: 3046
    functionName: evbuffer_file_segment_new
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_file_segment_materialize
    - mm_calloc
    - evutil_fd_filesize
    - mm_free
    - EVTHREAD_ALLOC_LOCK
    - "offset < 0 || length < 0 ||\n\t    ((ev_uint64_t)length > EVBUFFER_CHAIN_MAX)
      ||\n\t    (ev_uint64_t)offset >"
    linkageType: ''
    returnType: struct evbuffer_file_segment
    signature: "struct evbuffer_file_segment *\nevbuffer_file_segment_new(\n\tint
      fd, ev_off_t offset, ev_off_t length, unsigned flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/libevent/buffer.c:3053,1
    - Dst: sysconf
      Src: /src/libevent/buffer.c:3055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3049
    functionDepth: 0
    functionLinenumber: 3049
    functionLinenumberEnd: 3059
    functionName: get_page_size
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: long
    signature: long get_page_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:3204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - seg
    - cb
    - arg
    argTypes:
    - struct evbuffer_file_segment*
    - evbuffer_file_segment_cleanup_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3207
      start: 3201
    functionDepth: 1
    functionLinenumber: 3201
    functionLinenumberEnd: 3207
    functionName: evbuffer_file_segment_add_cleanup_cb
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: "void evbuffer_file_segment_add_cleanup_cb(struct evbuffer_file_segment
      *seg,\n\tevbuffer_file_segment_cleanup_cb cb, void* arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/buffer.c:3213,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/buffer.c:3215,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/buffer.c:3218,1
    - Dst: CloseHandle
      Src: /src/libevent/buffer.c:3222,1
    - Dst: get_page_size
      Src: /src/libevent/buffer.c:3225,1
    - Dst: munmap
      Src: /src/libevent/buffer.c:3226,1
    - Dst: event_warn
      Src: /src/libevent/buffer.c:3227,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:3230,1
    - Dst: close
      Src: /src/libevent/buffer.c:3234,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/buffer.c:3244,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:3245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - seg
    argTypes:
    - struct evbuffer_file_segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3246
      start: 3209
    functionDepth: 1
    functionLinenumber: 3209
    functionLinenumberEnd: 3246
    functionName: evbuffer_file_segment_free
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 1
    functionsReached:
    - EVTHREAD_FREE_LOCK
    - CloseHandle
    - event_warn
    - EVUTIL_ASSERT
    - close
    - EVLOCK_LOCK
    - mm_free
    - get_page_size
    - munmap
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: void
    signature: void evbuffer_file_segment_free(struct evbuffer_file_segment *seg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3256,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/buffer.c:3257,1
    - Dst: evbuffer_file_segment_materialize
      Src: /src/libevent/buffer.c:3261,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/buffer.c:3262,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/buffer.c:3266,1
    - Dst: evbuffer_chain_new
      Src: /src/libevent/buffer.c:3281,1
    - Dst: EVBUFFER_CHAIN_EXTRA
      Src: /src/libevent/buffer.c:3284,1
    - Dst: memset
      Src: /src/libevent/buffer.c:3299,1
    - Dst: GetSystemInfo
      Src: /src/libevent/buffer.c:3300,1
    - Dst: MapViewOfFile
      Src: /src/libevent/buffer.c:3304,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:3311,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/buffer.c:3329,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/buffer.c:3331,1
    - Dst: evbuffer_chain_insert
      Src: /src/libevent/buffer.c:3334,1
    - Dst: evbuffer_invoke_callbacks_
      Src: /src/libevent/buffer.c:3336,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3338,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3342,1
    - Dst: evbuffer_file_segment_free
      Src: /src/libevent/buffer.c:3343,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 4
    argNames:
    - buf
    - seg
    - offset
    - length
    argTypes:
    - struct evbuffer*
    - struct evbuffer_file_segment*
    - ev_off_t
    - ev_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3248
    functionDepth: 5
    functionLinenumber: 3248
    functionLinenumberEnd: 3345
    functionName: evbuffer_add_file_segment
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_CHAIN_EXTRA
    - GetSystemInfo
    - MapViewOfFile
    - memset
    - evbuffer_chain_insert
    - evbuffer_file_segment_materialize
    - evbuffer_invoke_callbacks_
    - EVLOCK_LOCK
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    - evbuffer_file_segment_free
    - mm_free
    - evbuffer_chain_new
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: int
    signature: "int evbuffer_add_file_segment(struct evbuffer *buf,\n    struct evbuffer_file_segment
      *seg, ev_off_t offset, ev_off_t length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_file_segment_new
      Src: /src/libevent/buffer.c:3354,1
    - Dst: evbuffer_add_file_segment
      Src: /src/libevent/buffer.c:3357,1
    - Dst: evbuffer_file_segment_free
      Src: /src/libevent/buffer.c:3359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - fd
    - offset
    - length
    argTypes:
    - struct evbuffer*
    - int
    - ev_off_t
    - ev_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3361
      start: 3347
    functionDepth: 6
    functionLinenumber: 3347
    functionLinenumberEnd: 3361
    functionName: evbuffer_add_file
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_file_segment_free
    - evbuffer_add_file_segment
    - evbuffer_file_segment_new
    linkageType: ''
    returnType: int
    signature: int evbuffer_add_file(struct evbuffer *buf, int fd, ev_off_t offset,
      ev_off_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3366,1
    - Dst: LIST_EMPTY
      Src: /src/libevent/buffer.c:3368,1
    - Dst: evbuffer_remove_all_callbacks
      Src: /src/libevent/buffer.c:3369,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/buffer.c:3373,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3375,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buffer
    - cb
    - cbarg
    argTypes:
    - struct evbuffer*
    - evbuffer_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3363
    functionDepth: 2
    functionLinenumber: 3363
    functionLinenumberEnd: 3383
    functionName: evbuffer_setcb
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_remove_all_callbacks
    - EVBUFFER_LOCK
    - LIST_EMPTY
    - evbuffer_add_cb
    - EVBUFFER_UNLOCK
    linkageType: ''
    returnType: int
    signature: int evbuffer_setcb(struct evbuffer *buffer, evbuffer_cb cb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/buffer.c:3389,1
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3391,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/libevent/buffer.c:3395,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - buffer
    - cb
    - cbarg
    argTypes:
    - struct evbuffer*
    - evbuffer_cb_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3385
    functionDepth: 1
    functionLinenumber: 3385
    functionLinenumberEnd: 3398
    functionName: evbuffer_add_cb
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 2
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    - mm_calloc
    - LIST_INSERT_HEAD
    linkageType: ''
    returnType: struct evbuffer_cb_entry
    signature: 'struct evbuffer_cb_entry *

      evbuffer_add_cb(struct evbuffer *buffer, evbuffer_cb_func cb, void *cbarg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3404,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/buffer.c:3405,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3406,1
    - Dst: mm_free
      Src: /src/libevent/buffer.c:3407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - ent
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3400
    functionDepth: 1
    functionLinenumber: 3400
    functionLinenumberEnd: 3409
    functionName: evbuffer_remove_cb_entry
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - LIST_REMOVE
    - mm_free
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: "int evbuffer_remove_cb_entry(struct evbuffer *buffer,\n\t\t\t struct
      evbuffer_cb_entry *ent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3416,1
    - Dst: LIST_FOREACH
      Src: /src/libevent/buffer.c:3417,1
    - Dst: evbuffer_remove_cb_entry
      Src: /src/libevent/buffer.c:3419,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - cb
    - cbarg
    argTypes:
    - struct evbuffer*
    - evbuffer_cb_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3426
      start: 3411
    functionDepth: 2
    functionLinenumber: 3411
    functionLinenumberEnd: 3426
    functionName: evbuffer_remove_cb
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_remove_cb_entry
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    - LIST_FOREACH
    linkageType: ''
    returnType: int
    signature: int evbuffer_remove_cb(struct evbuffer *buffer, evbuffer_cb_func cb,
      void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3434,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - cb
    - flags
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_entry*
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3438
    functionName: evbuffer_cb_set_flags
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: "int evbuffer_cb_set_flags(struct evbuffer *buffer,\n\t\t      struct
      evbuffer_cb_entry *cb, ev_uint32_t flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3446,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buffer
    - cb
    - flags
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_entry*
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3450
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3450
    functionName: evbuffer_cb_clear_flags
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: "int evbuffer_cb_clear_flags(struct evbuffer *buffer,\n\t\t      struct
      evbuffer_cb_entry *cb, ev_uint32_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3455,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - start
    argTypes:
    - struct evbuffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3452
    functionDepth: 1
    functionLinenumber: 3452
    functionLinenumberEnd: 3462
    functionName: evbuffer_freeze
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 5
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: int evbuffer_freeze(struct evbuffer *buffer, int start)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3467,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - start
    argTypes:
    - struct evbuffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3464
    functionDepth: 1
    functionLinenumber: 3464
    functionLinenumberEnd: 3474
    functionName: evbuffer_unfreeze
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 6
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: int evbuffer_unfreeze(struct evbuffer *buffer, int start)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/buffer.c:3481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - cb
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3477
    functionDepth: 2
    functionLinenumber: 3477
    functionLinenumberEnd: 3484
    functionName: evbuffer_cb_suspend
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void evbuffer_cb_suspend(struct evbuffer *buffer, struct evbuffer_cb_entry
      *cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct evbuffer_cb_entry*::cb
      Src: /src/libevent/buffer.c:3496,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/buffer.c:3496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - cb
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3499
      start: 3486
    functionDepth: 2
    functionLinenumber: 3486
    functionLinenumberEnd: 3499
    functionName: evbuffer_cb_unsuspend
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - struct evbuffer_cb_entry*::cb
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void evbuffer_cb_unsuspend(struct evbuffer *buffer, struct evbuffer_cb_entry
      *cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVBUFFER_LOCK
      Src: /src/libevent/buffer.c:3507,1
    - Dst: EVBUFFER_UNLOCK
      Src: /src/libevent/buffer.c:3517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - buffer
    - cbs
    - max_cbs
    argTypes:
    - struct evbuffer*
    - struct event_callback**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3519
      start: 3502
    functionDepth: 1
    functionLinenumber: 3502
    functionLinenumberEnd: 3519
    functionName: evbuffer_get_callbacks_
    functionSourceFile: /src/libevent/buffer.c
    functionUses: 0
    functionsReached:
    - EVBUFFER_UNLOCK
    - EVBUFFER_LOCK
    linkageType: ''
    returnType: int
    signature: "int evbuffer_get_callbacks_(struct evbuffer *buffer, struct event_callback
      **cbs,\n    int max_cbs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evthread_pthread.c:52,1
    - Dst: pthread_mutex_init
      Src: /src/libevent/evthread_pthread.c:57,1
    - Dst: mm_free
      Src: /src/libevent/evthread_pthread.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - locktype
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: evthread_posix_lock_alloc
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - mm_free
    - pthread_mutex_init
    - mm_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      evthread_posix_lock_alloc(unsigned locktype)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/libevent/evthread_pthread.c:68,1
    - Dst: mm_free
      Src: /src/libevent/evthread_pthread.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lock_
    - locktype
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: evthread_posix_lock_free
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - mm_free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void evthread_posix_lock_free(void *lock_, unsigned locktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/libevent/evthread_pthread.c:77,1
    - Dst: pthread_mutex_lock
      Src: /src/libevent/evthread_pthread.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mode
    - lock_
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: evthread_posix_lock
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_trylock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int evthread_posix_lock(unsigned mode, void *lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/libevent/evthread_pthread.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mode
    - lock_
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: evthread_posix_unlock
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int evthread_posix_unlock(unsigned mode, void *lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evthread_pthread.c:101,1
    - Dst: pthread_self
      Src: /src/libevent/evthread_pthread.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: evthread_posix_get_id
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - memset
    - pthread_self
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long evthread_posix_get_id(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evthread_pthread.c:110,1
    - Dst: pthread_cond_init
      Src: /src/libevent/evthread_pthread.c:113,1
    - Dst: mm_free
      Src: /src/libevent/evthread_pthread.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - condflags
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: evthread_posix_cond_alloc
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - mm_free
    - pthread_cond_init
    - mm_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      evthread_posix_cond_alloc(unsigned condflags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/libevent/evthread_pthread.c:124,1
    - Dst: mm_free
      Src: /src/libevent/evthread_pthread.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cond_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: evthread_posix_cond_free
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - mm_free
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void evthread_posix_cond_free(void *cond_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_broadcast
      Src: /src/libevent/evthread_pthread.c:134,1
    - Dst: pthread_cond_signal
      Src: /src/libevent/evthread_pthread.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cond_
    - broadcast
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: evthread_posix_cond_signal
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_cond_broadcast
    linkageType: ''
    returnType: int
    signature: int evthread_posix_cond_signal(void *cond_, int broadcast)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/evthread_pthread.c:150,1
    - Dst: evutil_timeradd
      Src: /src/libevent/evthread_pthread.c:151,1
    - Dst: pthread_cond_timedwait
      Src: /src/libevent/evthread_pthread.c:154,1
    - Dst: pthread_cond_wait
      Src: /src/libevent/evthread_pthread.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - cond_
    - lock_
    - tv
    argTypes:
    - void*
    - void*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: evthread_posix_cond_wait
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    - evutil_timeradd
    - pthread_cond_timedwait
    - pthread_cond_wait
    linkageType: ''
    returnType: int
    signature: int evthread_posix_cond_wait(void *cond_, void *lock_, const struct
      timeval *tv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libevent/evthread_pthread.c:186,1
    - Dst: pthread_mutex_unlock
      Src: /src/libevent/evthread_pthread.c:188,1
    - Dst: pthread_mutexattr_init
      Src: /src/libevent/evthread_pthread.c:192,1
    - Dst: pthread_mutexattr_init
      Src: /src/libevent/evthread_pthread.c:196,1
    - Dst: pthread_mutexattr_settype
      Src: /src/libevent/evthread_pthread.c:198,1
    - Dst: pthread_mutexattr_setprotocol
      Src: /src/libevent/evthread_pthread.c:204,1
    - Dst: pthread_mutexattr_setprotocol
      Src: /src/libevent/evthread_pthread.c:206,1
    - Dst: evthread_set_lock_callbacks
      Src: /src/libevent/evthread_pthread.c:213,1
    - Dst: evthread_set_condition_callbacks
      Src: /src/libevent/evthread_pthread.c:214,1
    - Dst: evthread_set_id_callback
      Src: /src/libevent/evthread_pthread.c:215,1
    - Dst: pthread_mutex_unlock
      Src: /src/libevent/evthread_pthread.c:218,1
    - Dst: pthread_mutex_unlock
      Src: /src/libevent/evthread_pthread.c:221,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 223
    functionName: evthread_use_pthreads_with_flags
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_mutexattr_settype
    - pthread_mutex_unlock
    - evthread_set_condition_callbacks
    - pthread_mutex_lock
    - pthread_mutexattr_setprotocol
    - evthread_set_lock_callbacks
    - evthread_set_id_callback
    - pthread_mutexattr_init
    linkageType: ''
    returnType: int
    signature: int evthread_use_pthreads_with_flags(int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evthread_use_pthreads_with_flags
      Src: /src/libevent/evthread_pthread.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: evthread_use_pthreads
    functionSourceFile: /src/libevent/evthread_pthread.c
    functionUses: 0
    functionsReached:
    - evthread_use_pthreads_with_flags
    linkageType: ''
    returnType: int
    signature: int evthread_use_pthreads(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/bufferevent_openssl.c:70,1
    - Dst: ERR_get_error
      Src: /src/libevent/bufferevent_openssl.c:72,1
    - Dst: ERR_reason_error_string
      Src: /src/libevent/bufferevent_openssl.c:73,1
    - Dst: ERR_lib_error_string
      Src: /src/libevent/bufferevent_openssl.c:74,1
    - Dst: ERR_func_error_string
      Src: /src/libevent/bufferevent_openssl.c:75,1
    - Dst: printf
      Src: /src/libevent/bufferevent_openssl.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: print_err
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - ERR_func_error_string
    - ERR_reason_error_string
    - ERR_lib_error_string
    - printf
    linkageType: ''
    returnType: void
    signature: void print_err(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: print_err
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_err(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libevent/bufferevent_openssl.c:91,1
    - Dst: BIO_set_data
      Src: /src/libevent/bufferevent_openssl.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: bio_bufferevent_new
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_set_data
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_bufferevent_new(BIO *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_shutdown
      Src: /src/libevent/bufferevent_openssl.c:102,1
    - Dst: BIO_get_init
      Src: /src/libevent/bufferevent_openssl.c:103,1
    - Dst: BIO_get_data
      Src: /src/libevent/bufferevent_openssl.c:103,1
    - Dst: bufferevent_free
      Src: /src/libevent/bufferevent_openssl.c:104,1
    - Dst: BIO_get_data
      Src: /src/libevent/bufferevent_openssl.c:104,1
    - Dst: BIO_free
      Src: /src/libevent/bufferevent_openssl.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: bio_bufferevent_free
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - BIO_free
    - BIO_get_init
    - BIO_get_shutdown
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_bufferevent_free(BIO *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/libevent/bufferevent_openssl.c:117,1
    - Dst: BIO_get_data
      Src: /src/libevent/bufferevent_openssl.c:121,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/bufferevent_openssl.c:124,1
    - Dst: BIO_get_data
      Src: /src/libevent/bufferevent_openssl.c:124,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_openssl.c:125,1
    - Dst: BIO_set_retry_read
      Src: /src/libevent/bufferevent_openssl.c:127,1
    - Dst: evbuffer_remove
      Src: /src/libevent/bufferevent_openssl.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - b
    - out
    - outlen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: bio_bufferevent_read
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - BIO_clear_retry_flags
    - evbuffer_get_length
    - BIO_set_retry_read
    - evbuffer_remove
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_bufferevent_read(BIO *b, char *out, int outlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libevent/bufferevent_openssl.c:140,1
    - Dst: BIO_clear_retry_flags
      Src: /src/libevent/bufferevent_openssl.c:144,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/bufferevent_openssl.c:149,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_openssl.c:150,1
    - Dst: BIO_set_retry_write
      Src: /src/libevent/bufferevent_openssl.c:157,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_openssl.c:163,1
    - Dst: evbuffer_add
      Src: /src/libevent/bufferevent_openssl.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - b
    - in
    - inlen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: bio_bufferevent_write
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - evbuffer_get_length
    - EVUTIL_ASSERT
    - BIO_set_retry_write
    - bufferevent_get_output
    - evbuffer_add
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_bufferevent_write(BIO *b, const char *in, int inlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libevent/bufferevent_openssl.c:172,1
    - Dst: BIO_get_shutdown
      Src: /src/libevent/bufferevent_openssl.c:177,1
    - Dst: BIO_set_shutdown
      Src: /src/libevent/bufferevent_openssl.c:180,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_openssl.c:183,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/bufferevent_openssl.c:183,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_openssl.c:186,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/bufferevent_openssl.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: bio_bufferevent_ctrl
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - BIO_set_shutdown
    - evbuffer_get_length
    - bufferevent_get_output
    - BIO_get_shutdown
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long bio_bufferevent_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_bufferevent_write
      Src: /src/libevent/bufferevent_openssl.c:205,1
    - Dst: strlen
      Src: /src/libevent/bufferevent_openssl.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - s
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: bio_bufferevent_puts
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - strlen
    - bio_bufferevent_write
    linkageType: ''
    returnType: int
    signature: int bio_bufferevent_puts(BIO *b, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/libevent/bufferevent_openssl.c:216,1
    - Dst: BIO_meth_set_write
      Src: /src/libevent/bufferevent_openssl.c:219,1
    - Dst: BIO_meth_set_read
      Src: /src/libevent/bufferevent_openssl.c:220,1
    - Dst: BIO_meth_set_puts
      Src: /src/libevent/bufferevent_openssl.c:221,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libevent/bufferevent_openssl.c:222,1
    - Dst: BIO_meth_set_create
      Src: /src/libevent/bufferevent_openssl.c:223,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libevent/bufferevent_openssl.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: BIO_s_bufferevent
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_new
    - BIO_meth_set_destroy
    - BIO_meth_set_write
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: 'BIO_METHOD *

      BIO_s_bufferevent(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libevent/bufferevent_openssl.c:237,1
    - Dst: BIO_s_bufferevent
      Src: /src/libevent/bufferevent_openssl.c:237,1
    - Dst: BIO_set_init
      Src: /src/libevent/bufferevent_openssl.c:239,1
    - Dst: BIO_set_data
      Src: /src/libevent/bufferevent_openssl.c:240,1
    - Dst: BIO_set_shutdown
      Src: /src/libevent/bufferevent_openssl.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bufferevent
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: BIO_new_bufferevent
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_shutdown
    - BIO_s_bufferevent
    - BIO_set_data
    - BIO_set_init
    linkageType: ''
    returnType: BIO
    signature: 'BIO *

      BIO_new_bufferevent(struct bufferevent *bufferevent)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_shutdown
      Src: /src/libevent/bufferevent_openssl.c:257,1
    - Dst: ERR_peek_error
      Src: /src/libevent/bufferevent_openssl.c:264,1
    - Dst: bufferevent_ssl_put_error
      Src: /src/libevent/bufferevent_openssl.c:266,1
    - Dst: SSL_is_init_finished
      Src: /src/libevent/bufferevent_openssl.c:270,1
    - Dst: bufferevent_ssl_put_error
      Src: /src/libevent/bufferevent_openssl.c:272,1
    - Dst: bufferevent_ssl_put_error
      Src: /src/libevent/bufferevent_openssl.c:276,1
    - Dst: event_warnx
      Src: /src/libevent/bufferevent_openssl.c:285,1
    - Dst: ERR_get_error
      Src: /src/libevent/bufferevent_openssl.c:289,1
    - Dst: bufferevent_ssl_put_error
      Src: /src/libevent/bufferevent_openssl.c:290,1
    - Dst: bufferevent_ssl_stop_reading
      Src: /src/libevent/bufferevent_openssl.c:296,1
    - Dst: bufferevent_ssl_stop_writing
      Src: /src/libevent/bufferevent_openssl.c:297,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_openssl.c:301,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - bev_ssl
    - when
    - errcode
    - ret
    argTypes:
    - struct bufferevent_ssl*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 302
    functionName: conn_closed
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - SSL_is_init_finished
    - SSL_get_shutdown
    - bufferevent_run_eventcb_
    - bufferevent_ssl_put_error
    - bufferevent_ssl_stop_reading
    - event_warnx
    - ERR_peek_error
    - bufferevent_ssl_stop_writing
    linkageType: ''
    returnType: void
    signature: void conn_closed(struct bufferevent_ssl *bev_ssl, int when, int errcode,
      int ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_wbio
      Src: /src/libevent/bufferevent_openssl.c:309,1
    - Dst: BIO_number_written
      Src: /src/libevent/bufferevent_openssl.c:310,1
    - Dst: SSL_get_rbio
      Src: /src/libevent/bufferevent_openssl.c:311,1
    - Dst: BIO_number_read
      Src: /src/libevent/bufferevent_openssl.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: init_bio_counts
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_rbio
    - BIO_number_written
    - SSL_get_wbio
    - BIO_number_read
    linkageType: ''
    returnType: void
    signature: void init_bio_counts(struct bufferevent_ssl *bev_ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_number_written
      Src: /src/libevent/bufferevent_openssl.c:318,1
    - Dst: SSL_get_wbio
      Src: /src/libevent/bufferevent_openssl.c:318,1
    - Dst: BIO_number_read
      Src: /src/libevent/bufferevent_openssl.c:319,1
    - Dst: SSL_get_rbio
      Src: /src/libevent/bufferevent_openssl.c:319,1
    - Dst: bufferevent_decrement_write_buckets_
      Src: /src/libevent/bufferevent_openssl.c:324,1
    - Dst: bufferevent_decrement_read_buckets_
      Src: /src/libevent/bufferevent_openssl.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: decrement_buckets
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_decrement_write_buckets_
    - BIO_number_written
    - SSL_get_wbio
    - BIO_number_read
    - bufferevent_decrement_read_buckets_
    - SSL_get_rbio
    linkageType: ''
    returnType: void
    signature: void decrement_buckets(struct bufferevent_ssl *bev_ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_mode
      Src: /src/libevent/bufferevent_openssl.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: SSL_init
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_set_mode
    linkageType: ''
    returnType: void
    signature: 'void *

      SSL_init(void *ssl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/libevent/bufferevent_openssl.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: SSL_context_free
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void SSL_context_free(void *ssl, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: SSL_handshake_is_ok
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_handshake_is_ok(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: SSL_is_want_read
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_is_want_read(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: SSL_is_want_write
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_is_want_write(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_read
      Src: /src/libevent/bufferevent_openssl.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: openssl_read
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_read
    linkageType: ''
    returnType: int
    signature: int openssl_read(void *ssl, unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write
      Src: /src/libevent/bufferevent_openssl.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: openssl_write
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_write
    linkageType: ''
    returnType: int
    signature: int openssl_write(void *ssl, const unsigned char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_wbio
      Src: /src/libevent/bufferevent_openssl.c:383,1
    - Dst: BIO_get_fd
      Src: /src/libevent/bufferevent_openssl.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: be_openssl_get_fd
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_get_fd
    - SSL_get_wbio
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t be_openssl_get_fd(struct bufferevent_ssl *bev_ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_socket
      Src: /src/libevent/bufferevent_openssl.c:394,1
    - Dst: SSL_set_bio
      Src: /src/libevent/bufferevent_openssl.c:395,1
    - Dst: BIO_new_bufferevent
      Src: /src/libevent/bufferevent_openssl.c:398,1
    - Dst: SSL_set_bio
      Src: /src/libevent/bufferevent_openssl.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bev_ssl
    - fd
    argTypes:
    - struct bufferevent_ssl*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: be_openssl_bio_set_fd
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_new_bufferevent
    - BIO_new_socket
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int be_openssl_bio_set_fd(struct bufferevent_ssl *bev_ssl, evutil_socket_t
      fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_pending
      Src: /src/libevent/bufferevent_openssl.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: SSL_pending_wrap
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_pending
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_pending_wrap(void *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_bufferevent
      Src: /src/libevent/bufferevent_openssl.c:447,1
    - Dst: SSL_set_bio
      Src: /src/libevent/bufferevent_openssl.c:450,1
    - Dst: bufferevent_ssl_new_impl
      Src: /src/libevent/bufferevent_openssl.c:452,1
    - Dst: SSL_free
      Src: /src/libevent/bufferevent_openssl.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - base
    - underlying
    - ssl
    - state
    - options
    argTypes:
    - struct event_base*
    - struct bufferevent*
    - SSL*
    - enum bufferevent_ssl_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 460
    functionName: bufferevent_openssl_filter_new
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_new_impl
    - BIO_new_bufferevent
    - SSL_set_bio
    - SSL_free
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_openssl_filter_new(struct event_base
      *base,\n    struct bufferevent *underlying,\n    SSL *ssl,\n    enum bufferevent_ssl_state
      state,\n    int options)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_wbio
      Src: /src/libevent/bufferevent_openssl.c:470,1
    - Dst: BIO_get_fd
      Src: /src/libevent/bufferevent_openssl.c:474,1
    - Dst: BIO_set_close
      Src: /src/libevent/bufferevent_openssl.c:488,1
    - Dst: BIO_new_socket
      Src: /src/libevent/bufferevent_openssl.c:493,1
    - Dst: SSL_set_bio
      Src: /src/libevent/bufferevent_openssl.c:494,1
    - Dst: bufferevent_ssl_new_impl
      Src: /src/libevent/bufferevent_openssl.c:500,1
    - Dst: SSL_free
      Src: /src/libevent/bufferevent_openssl.c:505,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - base
    - fd
    - ssl
    - state
    - options
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - SSL*
    - enum bufferevent_ssl_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 507
    functionName: bufferevent_openssl_socket_new
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_set_close
    - BIO_new_socket
    - bufferevent_ssl_new_impl
    - SSL_free
    - BIO_get_fd
    - SSL_get_wbio
    - SSL_set_bio
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_openssl_socket_new(struct event_base
      *base,\n    evutil_socket_t fd,\n    SSL *ssl,\n    enum bufferevent_ssl_state
      state,\n    int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_renegotiate_impl
      Src: /src/libevent/bufferevent_openssl.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: bufferevent_ssl_renegotiate
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_renegotiate_impl
    linkageType: ''
    returnType: int
    signature: int bufferevent_ssl_renegotiate(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_openssl.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 522
    functionName: bufferevent_openssl_get_ssl
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    linkageType: ''
    returnType: SSL
    signature: 'SSL *

      bufferevent_openssl_get_ssl(struct bufferevent *bufev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_get_allow_dirty_shutdown
      Src: /src/libevent/bufferevent_openssl.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: bufferevent_openssl_get_allow_dirty_shutdown
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_get_allow_dirty_shutdown
    linkageType: ''
    returnType: int
    signature: int bufferevent_openssl_get_allow_dirty_shutdown(struct bufferevent
      *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_set_allow_dirty_shutdown
      Src: /src/libevent/bufferevent_openssl.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - allow_dirty_shutdown
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: bufferevent_openssl_set_allow_dirty_shutdown
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_set_allow_dirty_shutdown
    linkageType: ''
    returnType: void
    signature: "void bufferevent_openssl_set_allow_dirty_shutdown(\n\tstruct bufferevent
      *bev, int allow_dirty_shutdown)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_openssl.c:540,1
    - Dst: bufferevent_get_ssl_error
      Src: /src/libevent/bufferevent_openssl.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 544
    functionName: bufferevent_get_openssl_error
    functionSourceFile: /src/libevent/bufferevent_openssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    - bufferevent_get_ssl_error
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long bufferevent_get_openssl_error(struct bufferevent *bufev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - which
    argTypes:
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: event_enable_debug_logging
    functionSourceFile: /src/libevent/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_enable_debug_logging(ev_uint32_t which)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - event_fatal_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: event_set_fatal_callback
    functionSourceFile: /src/libevent/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_set_fatal_callback(event_fatal_cb cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fatal_fn
      Src: /src/libevent/log.c:93,1
    - Dst: exit
      Src: /src/libevent/log.c:94,1
    - Dst: abort
      Src: /src/libevent/log.c:96,1
    - Dst: exit
      Src: /src/libevent/log.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: event_exit
    functionSourceFile: /src/libevent/log.c
    functionUses: 0
    functionsReached:
    - abort
    - exit
    - fatal_fn
    linkageType: ''
    returnType: void
    signature: void event_exit(int errcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/log.c:106,1
    - Dst: event_logv_
      Src: /src/libevent/log.c:107,1
    - Dst: strerror
      Src: /src/libevent/log.c:107,1
    - Dst: va_end
      Src: /src/libevent/log.c:108,1
    - Dst: event_exit
      Src: /src/libevent/log.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - eval
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: event_err
    functionSourceFile: /src/libevent/log.c
    functionUses: 1
    functionsReached:
    - va_end
    - strerror
    - event_logv_
    - va_start
    - event_exit
    linkageType: ''
    returnType: void
    signature: void event_err(int eval, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/log.c:117,1
    - Dst: event_logv_
      Src: /src/libevent/log.c:118,1
    - Dst: strerror
      Src: /src/libevent/log.c:118,1
    - Dst: va_end
      Src: /src/libevent/log.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: event_warn
    functionSourceFile: /src/libevent/log.c
    functionUses: 44
    functionsReached:
    - va_end
    - strerror
    - va_start
    - event_logv_
    linkageType: ''
    returnType: void
    signature: void event_warn(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_socket_geterror
      Src: /src/libevent/log.c:126,1
    - Dst: va_start
      Src: /src/libevent/log.c:128,1
    - Dst: event_logv_
      Src: /src/libevent/log.c:129,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/log.c:129,1
    - Dst: va_end
      Src: /src/libevent/log.c:130,1
    - Dst: event_exit
      Src: /src/libevent/log.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - eval
    - sock
    - fmt
    argTypes:
    - int
    - evutil_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: event_sock_err
    functionSourceFile: /src/libevent/log.c
    functionUses: 0
    functionsReached:
    - va_end
    - evutil_socket_error_to_string
    - event_logv_
    - evutil_socket_geterror
    - va_start
    - event_exit
    linkageType: ''
    returnType: void
    signature: void event_sock_err(int eval, evutil_socket_t sock, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_socket_geterror
      Src: /src/libevent/log.c:138,1
    - Dst: va_start
      Src: /src/libevent/log.c:140,1
    - Dst: event_logv_
      Src: /src/libevent/log.c:141,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/log.c:141,1
    - Dst: va_end
      Src: /src/libevent/log.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sock
    - fmt
    argTypes:
    - evutil_socket_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: event_sock_warn
    functionSourceFile: /src/libevent/log.c
    functionUses: 7
    functionsReached:
    - va_end
    - evutil_socket_error_to_string
    - event_logv_
    - evutil_socket_geterror
    - va_start
    linkageType: ''
    returnType: void
    signature: void event_sock_warn(evutil_socket_t sock, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/log.c:150,1
    - Dst: event_logv_
      Src: /src/libevent/log.c:151,1
    - Dst: va_end
      Src: /src/libevent/log.c:152,1
    - Dst: event_exit
      Src: /src/libevent/log.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - eval
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: event_errx
    functionSourceFile: /src/libevent/log.c
    functionUses: 4
    functionsReached:
    - va_end
    - event_exit
    - va_start
    - event_logv_
    linkageType: ''
    returnType: void
    signature: void event_errx(int eval, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/log.c:161,1
    - Dst: event_logv_
      Src: /src/libevent/log.c:162,1
    - Dst: va_end
      Src: /src/libevent/log.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: event_warnx
    functionSourceFile: /src/libevent/log.c
    functionUses: 13
    functionsReached:
    - va_end
    - va_start
    - event_logv_
    linkageType: ''
    returnType: void
    signature: void event_warnx(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/log.c:171,1
    - Dst: event_logv_
      Src: /src/libevent/log.c:172,1
    - Dst: va_end
      Src: /src/libevent/log.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: event_msgx
    functionSourceFile: /src/libevent/log.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - event_logv_
    linkageType: ''
    returnType: void
    signature: void event_msgx(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/log.c:181,1
    - Dst: event_logv_
      Src: /src/libevent/log.c:182,1
    - Dst: va_end
      Src: /src/libevent/log.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: event_debugx_
    functionSourceFile: /src/libevent/log.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - event_logv_
    linkageType: ''
    returnType: void
    signature: void event_debugx_(const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_get_logging_mask_
      Src: /src/libevent/log.c:192,1
    - Dst: evutil_vsnprintf
      Src: /src/libevent/log.c:196,1
    - Dst: strlen
      Src: /src/libevent/log.c:201,1
    - Dst: evutil_snprintf
      Src: /src/libevent/log.c:203,1
    - Dst: event_log
      Src: /src/libevent/log.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - severity
    - errstr
    - fmt
    - ap
    argTypes:
    - int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: event_logv_
    functionSourceFile: /src/libevent/log.c
    functionUses: 9
    functionsReached:
    - event_log
    - evutil_vsnprintf
    - strlen
    - event_debug_get_logging_mask_
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void event_logv_(int severity, const char *errstr, const char *fmt,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - event_log_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: event_set_log_callback
    functionSourceFile: /src/libevent/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_set_log_callback(event_log_cb cb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_fn
      Src: /src/libevent/log.c:222,1
    - Dst: fprintf
      Src: /src/libevent/log.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - severity
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 244
    functionName: event_log
    functionSourceFile: /src/libevent/log.c
    functionUses: 1
    functionsReached:
    - log_fn
    - fprintf
    linkageType: ''
    returnType: void
    signature: void event_log(int severity, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: arc4_init
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arc4_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dat
    - datlen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: arc4_addrandom
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void arc4_addrandom(const unsigned char *dat, int datlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/arc4random.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: read_all
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_all(int fd, unsigned char *buf, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BCryptGenRandom
      Src: /src/libevent/arc4random.c:157,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:160,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: arc4_seed_win32
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - BCryptGenRandom
    - evutil_memclear_
    - arc4_addrandom
    linkageType: ''
    returnType: int
    signature: int arc4_seed_win32(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrandom
      Src: /src/libevent/arc4random.c:176,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:180,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: arc4_seed_getrandom
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - getrandom
    - arc4_addrandom
    - evutil_memclear_
    linkageType: ''
    returnType: int
    signature: int arc4_seed_getrandom(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/arc4random.c:201,1
    - Dst: sysctl
      Src: /src/libevent/arc4random.c:204,1
    - Dst: sysctl
      Src: /src/libevent/arc4random.c:209,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:220,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 223
    functionName: arc4_seed_sysctl_bsd
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - sysctl
    - memset
    - arc4_addrandom
    - evutil_memclear_
    linkageType: ''
    returnType: int
    signature: int arc4_seed_sysctl_bsd(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evutil_open_closeonexec_
      Src: /src/libevent/arc4random.c:241,1
    - Dst: read
      Src: /src/libevent/arc4random.c:244,1
    - Dst: close
      Src: /src/libevent/arc4random.c:245,1
    - Dst: memset
      Src: /src/libevent/arc4random.c:248,1
    - Dst: EVUTIL_ISXDIGIT_
      Src: /src/libevent/arc4random.c:250,1
    - Dst: evutil_hex_char_to_int_
      Src: /src/libevent/arc4random.c:251,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:262,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:265,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 268
    functionName: arc4_seed_proc_sys_kernel_random_uuid
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - evutil_open_closeonexec_
    - memset
    - evutil_memclear_
    - EVUTIL_ISXDIGIT_
    - read
    - close
    - evutil_hex_char_to_int_
    - arc4_addrandom
    linkageType: ''
    returnType: int
    signature: int arc4_seed_proc_sys_kernel_random_uuid(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_open_closeonexec_
      Src: /src/libevent/arc4random.c:281,1
    - Dst: read_all
      Src: /src/libevent/arc4random.c:284,1
    - Dst: close
      Src: /src/libevent/arc4random.c:285,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:288,1
    - Dst: evutil_memclear_
      Src: /src/libevent/arc4random.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 291
    functionName: arc4_seed_urandom_helper_
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - evutil_open_closeonexec_
    - evutil_memclear_
    - close
    - read_all
    - arc4_addrandom
    linkageType: ''
    returnType: int
    signature: int arc4_seed_urandom_helper_(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arc4_seed_urandom_helper_
      Src: /src/libevent/arc4random.c:302,1
    - Dst: arc4_seed_urandom_helper_
      Src: /src/libevent/arc4random.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 311
    functionName: arc4_seed_urandom
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_seed_urandom_helper_
    linkageType: ''
    returnType: int
    signature: int arc4_seed_urandom(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: arc4_seed_win32
      Src: /src/libevent/arc4random.c:322,1
    - Dst: arc4_seed_getrandom
      Src: /src/libevent/arc4random.c:326,1
    - Dst: arc4_seed_urandom
      Src: /src/libevent/arc4random.c:330,1
    - Dst: arc4_seed_proc_sys_kernel_random_uuid
      Src: /src/libevent/arc4random.c:335,1
    - Dst: arc4_seed_sysctl_bsd
      Src: /src/libevent/arc4random.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 343
    functionName: arc4_seed
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_seed_sysctl_bsd
    - arc4_seed_urandom
    - arc4_seed_proc_sys_kernel_random_uuid
    - arc4_seed_win32
    - arc4_seed_getrandom
    linkageType: ''
    returnType: int
    signature: int arc4_seed(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arc4_init
      Src: /src/libevent/arc4random.c:354,1
    - Dst: arc4_seed
      Src: /src/libevent/arc4random.c:358,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:380,1
    - Dst: arc4_getword
      Src: /src/libevent/arc4random.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 387
    functionName: arc4_stir
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_init
    - arc4_seed
    - arc4_getword
    - arc4_getbyte
    linkageType: ''
    returnType: int
    signature: int arc4_stir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libevent/arc4random.c:393,1
    - Dst: arc4_stir
      Src: /src/libevent/arc4random.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 5
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: arc4_stir_if_needed
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_stir
    - getpid
    linkageType: ''
    returnType: void
    signature: void arc4_stir_if_needed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: arc4_getbyte
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char arc4_getbyte(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:421,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:422,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:423,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 427
    functionName: arc4_getword
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 1
    functionsReached:
    - arc4_getbyte
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int arc4_getword(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARC4_LOCK_
      Src: /src/libevent/arc4random.c:434,1
    - Dst: arc4_stir
      Src: /src/libevent/arc4random.c:435,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/arc4random.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 5
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: arc4random_stir
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_stir
    - ARC4_LOCK_
    - ARC4_UNLOCK_
    linkageType: ''
    returnType: ARC4RANDOM_EXPORT
    signature: ARC4RANDOM_EXPORT arc4random_stir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARC4_LOCK_
      Src: /src/libevent/arc4random.c:446,1
    - Dst: arc4_stir
      Src: /src/libevent/arc4random.c:448,1
    - Dst: arc4_addrandom
      Src: /src/libevent/arc4random.c:454,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/arc4random.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dat
    - datlen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 5
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: arc4random_addrandom
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_addrandom
    - arc4_stir
    - ARC4_LOCK_
    - ARC4_UNLOCK_
    linkageType: ''
    returnType: ARC4RANDOM_EXPORT
    signature: ARC4RANDOM_EXPORT arc4random_addrandom(const unsigned char *dat, int
      datlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARC4_LOCK_
      Src: /src/libevent/arc4random.c:465,1
    - Dst: arc4_stir_if_needed
      Src: /src/libevent/arc4random.c:467,1
    - Dst: arc4_getword
      Src: /src/libevent/arc4random.c:468,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/arc4random.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 6
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: ARC4RANDOM_UINT32::arc4random
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_getword
    - arc4_stir_if_needed
    - ARC4_LOCK_
    - ARC4_UNLOCK_
    linkageType: ''
    returnType: ARC4RANDOM_EXPORT
    signature: 'ARC4RANDOM_EXPORT ARC4RANDOM_UINT32

      arc4random(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARC4_LOCK_
      Src: /src/libevent/arc4random.c:479,1
    - Dst: arc4_stir_if_needed
      Src: /src/libevent/arc4random.c:480,1
    - Dst: arc4_stir
      Src: /src/libevent/arc4random.c:483,1
    - Dst: arc4_getbyte
      Src: /src/libevent/arc4random.c:484,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/arc4random.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - buf_
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 6
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: arc4random_buf
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4_stir_if_needed
    - arc4_getbyte
    - arc4_stir
    - ARC4_UNLOCK_
    - ARC4_LOCK_
    linkageType: ''
    returnType: ARC4RANDOM_EXPORT
    signature: ARC4RANDOM_EXPORT arc4random_buf(void *buf_, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arc4random
      Src: /src/libevent/arc4random.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - upper_bound
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 525
    functionName: arc4random_uniform
    functionSourceFile: /src/libevent/arc4random.c
    functionUses: 0
    functionsReached:
    - arc4random
    linkageType: ''
    returnType: ARC4RANDOM_EXPORT unsigned
    signature: ARC4RANDOM_EXPORT unsigned arc4random_uniform(unsigned int upper_bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: ev_token_bucket_decrement_read
    functionSourceFile: /src/libevent/ratelim-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ev_token_bucket_decrement_read(b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: ev_token_bucket_decrement_write
    functionSourceFile: /src/libevent/ratelim-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ev_token_bucket_decrement_write(b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_async.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - options
    argTypes:
    - struct bufferevent*
    - short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: be_async_run_eventcb
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - bufferevent_run_eventcb_
    linkageType: ''
    returnType: void
    signature: void be_async_run_eventcb(struct bufferevent *bev, short what, int
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_async.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - options
    argTypes:
    - struct bufferevent*
    - short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: be_async_trigger_nolock
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - bufferevent_trigger_nolock_
    linkageType: ''
    returnType: void
    signature: void be_async_trigger_nolock(struct bufferevent *bev, short what, int
      options)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: fatal_error
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fatal_error(int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_IS_ASYNC
      Src: /src/libevent/bufferevent_async.c:129,1
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/bufferevent_async.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: upcast
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 13
    functionsReached:
    - BEV_IS_ASYNC
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct bufferevent_async
    signature: 'struct bufferevent_async *

      upcast(struct bufferevent *bev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/bufferevent_async.c:139,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_async.c:140,1
    - Dst: BEV_IS_ASYNC
      Src: /src/libevent/bufferevent_async.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - eo
    argTypes:
    - struct event_overlapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: upcast_connect
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - BEV_IS_ASYNC
    - EVUTIL_ASSERT
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct bufferevent_async
    signature: 'struct bufferevent_async *

      upcast_connect(struct event_overlapped *eo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/bufferevent_async.c:148,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_async.c:149,1
    - Dst: BEV_IS_ASYNC
      Src: /src/libevent/bufferevent_async.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - eo
    argTypes:
    - struct event_overlapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: upcast_read
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - BEV_IS_ASYNC
    - EVUTIL_ASSERT
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct bufferevent_async
    signature: 'struct bufferevent_async *

      upcast_read(struct event_overlapped *eo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/bufferevent_async.c:157,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_async.c:158,1
    - Dst: BEV_IS_ASYNC
      Src: /src/libevent/bufferevent_async.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - eo
    argTypes:
    - struct event_overlapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: upcast_write
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - BEV_IS_ASYNC
    - EVUTIL_ASSERT
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct bufferevent_async
    signature: 'struct bufferevent_async *

      upcast_write(struct event_overlapped *eo)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_del_virtual_
      Src: /src/libevent/bufferevent_async.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - beva
    argTypes:
    - struct bufferevent_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: bev_async_del_write
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - event_base_del_virtual_
    linkageType: ''
    returnType: void
    signature: void bev_async_del_write(struct bufferevent_async *beva)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_del_virtual_
      Src: /src/libevent/bufferevent_async.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - beva
    argTypes:
    - struct bufferevent_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: bev_async_del_read
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - event_base_del_virtual_
    linkageType: ''
    returnType: void
    signature: void bev_async_del_read(struct bufferevent_async *beva)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_add_virtual_
      Src: /src/libevent/bufferevent_async.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - beva
    argTypes:
    - struct bufferevent_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: bev_async_add_write
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - event_base_add_virtual_
    linkageType: ''
    returnType: void
    signature: void bev_async_add_write(struct bufferevent_async *beva)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_add_virtual_
      Src: /src/libevent/bufferevent_async.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - beva
    argTypes:
    - struct bufferevent_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: bev_async_add_read
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - event_base_add_virtual_
    linkageType: ''
    returnType: void
    signature: void bev_async_add_read(struct bufferevent_async *beva)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_async.c:218,1
    - Dst: bev_async_del_write
      Src: /src/libevent/bufferevent_async.c:219,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_async.c:223,1
    - Dst: bufferevent_get_write_max_
      Src: /src/libevent/bufferevent_async.c:227,1
    - Dst: bev_async_del_write
      Src: /src/libevent/bufferevent_async.c:232,1
    - Dst: bufferevent_incref_
      Src: /src/libevent/bufferevent_async.c:237,1
    - Dst: evbuffer_launch_write_
      Src: /src/libevent/bufferevent_async.c:238,1
    - Dst: bufferevent_decref_
      Src: /src/libevent/bufferevent_async.c:240,1
    - Dst: be_async_run_eventcb
      Src: /src/libevent/bufferevent_async.c:242,1
    - Dst: bufferevent_decrement_write_buckets_
      Src: /src/libevent/bufferevent_async.c:245,1
    - Dst: bev_async_add_write
      Src: /src/libevent/bufferevent_async.c:246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - beva
    argTypes:
    - struct bufferevent_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 248
    functionName: bev_async_consider_writing
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - bufferevent_decrement_write_buckets_
    - bufferevent_decref_
    - evbuffer_get_length
    - bev_async_add_write
    - be_async_run_eventcb
    - evbuffer_launch_write_
    - bev_async_del_write
    - bufferevent_incref_
    - bufferevent_get_write_max_
    linkageType: ''
    returnType: void
    signature: void bev_async_consider_writing(struct bufferevent_async *beva)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bev_async_del_read
      Src: /src/libevent/bufferevent_async.c:264,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_async.c:269,1
    - Dst: bev_async_del_read
      Src: /src/libevent/bufferevent_async.c:273,1
    - Dst: bufferevent_get_read_max_
      Src: /src/libevent/bufferevent_async.c:283,1
    - Dst: bev_async_del_read
      Src: /src/libevent/bufferevent_async.c:288,1
    - Dst: bufferevent_incref_
      Src: /src/libevent/bufferevent_async.c:292,1
    - Dst: evbuffer_launch_read_
      Src: /src/libevent/bufferevent_async.c:293,1
    - Dst: be_async_run_eventcb
      Src: /src/libevent/bufferevent_async.c:295,1
    - Dst: bufferevent_decref_
      Src: /src/libevent/bufferevent_async.c:296,1
    - Dst: bufferevent_decrement_read_buckets_
      Src: /src/libevent/bufferevent_async.c:299,1
    - Dst: bev_async_add_read
      Src: /src/libevent/bufferevent_async.c:300,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - beva
    argTypes:
    - struct bufferevent_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 304
    functionName: bev_async_consider_reading
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_read_max_
    - bufferevent_decref_
    - evbuffer_get_length
    - be_async_run_eventcb
    - bev_async_add_read
    - evbuffer_launch_read_
    - bev_async_del_read
    - bufferevent_decrement_read_buckets_
    - bufferevent_incref_
    linkageType: ''
    returnType: void
    signature: void bev_async_consider_reading(struct bufferevent_async *beva)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:312,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_async.c:317,1
    - Dst: bev_async_consider_writing
      Src: /src/libevent/bufferevent_async.c:320,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_async.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 323
    functionName: be_async_outbuf_callback
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - upcast
    - bev_async_consider_writing
    - bufferevent_decref_and_unlock_
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: "void be_async_outbuf_callback(struct evbuffer *buf,\n    const struct
      evbuffer_cb_info *cbinfo,\n    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:331,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_async.c:336,1
    - Dst: bev_async_consider_reading
      Src: /src/libevent/bufferevent_async.c:339,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_async.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 342
    functionName: be_async_inbuf_callback
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - upcast
    - bufferevent_decref_and_unlock_
    - bev_async_consider_reading
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: "void be_async_inbuf_callback(struct evbuffer *buf,\n    const struct
      evbuffer_cb_info *cbinfo,\n    void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:347,1
    - Dst: BEV_RESET_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_async.c:358,1
    - Dst: BEV_RESET_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_async.c:360,1
    - Dst: bev_async_consider_reading
      Src: /src/libevent/bufferevent_async.c:366,1
    - Dst: bev_async_consider_writing
      Src: /src/libevent/bufferevent_async.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - what
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 370
    functionName: be_async_enable
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - bev_async_consider_reading
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - upcast
    - bev_async_consider_writing
    linkageType: ''
    returnType: int
    signature: int be_async_enable(struct bufferevent *buf, short what)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:375,1
    - Dst: BEV_DEL_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_async.c:381,1
    - Dst: bev_async_del_read
      Src: /src/libevent/bufferevent_async.c:382,1
    - Dst: BEV_DEL_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_async.c:385,1
    - Dst: bev_async_del_write
      Src: /src/libevent/bufferevent_async.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bev
    - what
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 390
    functionName: be_async_disable
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    - BEV_DEL_GENERIC_READ_TIMEOUT
    - bev_async_del_write
    - bev_async_del_read
    - upcast
    linkageType: ''
    returnType: int
    signature: int be_async_disable(struct bufferevent *bev, short what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:395,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_async.c:396,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_async.c:399,1
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:399,1
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:400,1
    - Dst: bev_async_del_read
      Src: /src/libevent/bufferevent_async.c:402,1
    - Dst: bev_async_del_write
      Src: /src/libevent/bufferevent_async.c:403,1
    - Dst: evbuffer_overlapped_get_fd_
      Src: /src/libevent/bufferevent_async.c:405,1
    - Dst: evutil_closesocket
      Src: /src/libevent/bufferevent_async.c:408,1
    - Dst: evbuffer_overlapped_set_fd_
      Src: /src/libevent/bufferevent_async.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 411
    functionName: be_async_destruct
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - evbuffer_overlapped_get_fd_
    - EVUTIL_ASSERT
    - evbuffer_overlapped_set_fd_
    - bev_async_del_read
    - bev_async_del_write
    - upcast
    - evutil_closesocket
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void be_async_destruct(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_overlapped_get_fd_
      Src: /src/libevent/bufferevent_async.c:421,1
    - Dst: WSAGetOverlappedResult
      Src: /src/libevent/bufferevent_async.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - eo
    argTypes:
    - struct bufferevent*
    - struct event_overlapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: bev_async_set_wsa_error
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - evbuffer_overlapped_get_fd_
    - WSAGetOverlappedResult
    linkageType: ''
    returnType: void
    signature: void bev_async_set_wsa_error(struct bufferevent *bev, struct event_overlapped
      *eo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - mode
    argTypes:
    - struct bufferevent*
    - short
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: be_async_flush
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int be_async_flush(struct bufferevent *bev, short what,\n    enum
      bufferevent_flush_mode mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upcast_connect
      Src: /src/libevent/bufferevent_async.c:436,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_async.c:440,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_async.c:442,1
    - Dst: evbuffer_overlapped_get_fd_
      Src: /src/libevent/bufferevent_async.c:444,1
    - Dst: setsockopt
      Src: /src/libevent/bufferevent_async.c:446,1
    - Dst: bufferevent_async_set_connected_
      Src: /src/libevent/bufferevent_async.c:449,1
    - Dst: bev_async_set_wsa_error
      Src: /src/libevent/bufferevent_async.c:451,1
    - Dst: be_async_run_eventcb
      Src: /src/libevent/bufferevent_async.c:453,1
    - Dst: event_base_del_virtual_
      Src: /src/libevent/bufferevent_async.c:455,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_async.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - eo
    - key
    - nbytes
    - ok
    argTypes:
    - struct event_overlapped*
    - ev_uintptr_t
    - ev_ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 432
    functionDepth: 4
    functionLinenumber: 432
    functionLinenumberEnd: 458
    functionName: connect_complete
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - evbuffer_overlapped_get_fd_
    - bev_async_set_wsa_error
    - BEV_LOCK
    - setsockopt
    - upcast_connect
    - bufferevent_async_set_connected_
    - event_base_del_virtual_
    - EVUTIL_ASSERT
    - be_async_run_eventcb
    - bufferevent_decref_and_unlock_
    linkageType: ''
    returnType: void
    signature: "void connect_complete(struct event_overlapped *eo, ev_uintptr_t key,\n
      \   ev_ssize_t nbytes, int ok)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: upcast_read
      Src: /src/libevent/bufferevent_async.c:464,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_async.c:468,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_async.c:469,1
    - Dst: evbuffer_commit_read_
      Src: /src/libevent/bufferevent_async.c:472,1
    - Dst: bufferevent_decrement_read_buckets_
      Src: /src/libevent/bufferevent_async.c:475,1
    - Dst: bev_async_set_wsa_error
      Src: /src/libevent/bufferevent_async.c:478,1
    - Dst: BEV_RESET_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_async.c:482,1
    - Dst: be_async_trigger_nolock
      Src: /src/libevent/bufferevent_async.c:483,1
    - Dst: bev_async_consider_reading
      Src: /src/libevent/bufferevent_async.c:484,1
    - Dst: be_async_run_eventcb
      Src: /src/libevent/bufferevent_async.c:488,1
    - Dst: be_async_run_eventcb
      Src: /src/libevent/bufferevent_async.c:492,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_async.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - eo
    - key
    - nbytes
    - ok
    argTypes:
    - struct event_overlapped*
    - ev_uintptr_t
    - ev_ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 497
    functionName: read_complete
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - bev_async_set_wsa_error
    - BEV_LOCK
    - bufferevent_decrement_read_buckets_
    - evbuffer_commit_read_
    - EVUTIL_ASSERT
    - be_async_run_eventcb
    - bev_async_consider_reading
    - bufferevent_decref_and_unlock_
    - be_async_trigger_nolock
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - upcast_read
    linkageType: ''
    returnType: void
    signature: "void read_complete(struct event_overlapped *eo, ev_uintptr_t key,\n
      \   ev_ssize_t nbytes, int ok)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: upcast_write
      Src: /src/libevent/bufferevent_async.c:503,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_async.c:508,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_async.c:509,1
    - Dst: evbuffer_commit_write_
      Src: /src/libevent/bufferevent_async.c:512,1
    - Dst: bufferevent_decrement_write_buckets_
      Src: /src/libevent/bufferevent_async.c:516,1
    - Dst: bev_async_set_wsa_error
      Src: /src/libevent/bufferevent_async.c:521,1
    - Dst: BEV_RESET_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_async.c:525,1
    - Dst: be_async_trigger_nolock
      Src: /src/libevent/bufferevent_async.c:526,1
    - Dst: bev_async_consider_writing
      Src: /src/libevent/bufferevent_async.c:527,1
    - Dst: be_async_run_eventcb
      Src: /src/libevent/bufferevent_async.c:531,1
    - Dst: be_async_run_eventcb
      Src: /src/libevent/bufferevent_async.c:535,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_async.c:539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - eo
    - key
    - nbytes
    - ok
    argTypes:
    - struct event_overlapped*
    - ev_uintptr_t
    - ev_ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 540
    functionName: write_complete
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - bufferevent_decrement_write_buckets_
    - evbuffer_commit_write_
    - bev_async_set_wsa_error
    - BEV_LOCK
    - upcast_write
    - EVUTIL_ASSERT
    - be_async_run_eventcb
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - bufferevent_decref_and_unlock_
    - be_async_trigger_nolock
    - bev_async_consider_writing
    linkageType: ''
    returnType: void
    signature: "void write_complete(struct event_overlapped *eo, ev_uintptr_t key,\n
      \   ev_ssize_t nbytes, int ok)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_base_get_iocp_
      Src: /src/libevent/bufferevent_async.c:552,1
    - Dst: event_iocp_port_associate_
      Src: /src/libevent/bufferevent_async.c:555,1
    - Dst: fatal_error
      Src: /src/libevent/bufferevent_async.c:556,1
    - Dst: GetLastError
      Src: /src/libevent/bufferevent_async.c:556,1
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_async.c:560,1
    - Dst: evbuffer_overlapped_new_
      Src: /src/libevent/bufferevent_async.c:564,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent_async.c:565,1
    - Dst: evbuffer_overlapped_new_
      Src: /src/libevent/bufferevent_async.c:568,1
    - Dst: evbuffer_free
      Src: /src/libevent/bufferevent_async.c:569,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent_async.c:570,1
    - Dst: bufferevent_init_common_
      Src: /src/libevent/bufferevent_async.c:574,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/bufferevent_async.c:578,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/bufferevent_async.c:579,1
    - Dst: event_overlapped_init_
      Src: /src/libevent/bufferevent_async.c:581,1
    - Dst: event_overlapped_init_
      Src: /src/libevent/bufferevent_async.c:582,1
    - Dst: event_overlapped_init_
      Src: /src/libevent/bufferevent_async.c:583,1
    - Dst: bufferevent_init_generic_timeout_cbs_
      Src: /src/libevent/bufferevent_async.c:585,1
    - Dst: bufferevent_free
      Src: /src/libevent/bufferevent_async.c:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - base
    - fd
    - options
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 593
    functionName: bufferevent_async_new_
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - bufferevent_free
    - evbuffer_add_cb
    - bufferevent_init_generic_timeout_cbs_
    - bufferevent_init_common_
    - mm_calloc
    - fatal_error
    - event_base_get_iocp_
    - evbuffer_free
    - event_overlapped_init_
    - evbuffer_overlapped_new_
    - mm_free
    - event_iocp_port_associate_
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_async_new_(struct event_base *base,\n
      \   evutil_socket_t fd, int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:598,1
    - Dst: be_async_enable
      Src: /src/libevent/bufferevent_async.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 5
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: bufferevent_async_set_connected_
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 1
    functionsReached:
    - upcast
    - be_async_enable
    linkageType: ''
    returnType: void
    signature: void bufferevent_async_set_connected_(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_get_win32_extension_fns_
      Src: /src/libevent/bufferevent_async.c:608,1
    - Dst: BEV_IS_ASYNC
      Src: /src/libevent/bufferevent_async.c:610,1
    - Dst: event_base_get_iocp_
      Src: /src/libevent/bufferevent_async.c:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 616
    functionName: bufferevent_async_can_connect_
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - event_get_win32_extension_fns_
    - BEV_IS_ASYNC
    - event_base_get_iocp_
    linkageType: ''
    returnType: int
    signature: int bufferevent_async_can_connect_(struct bufferevent *bev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:623,1
    - Dst: event_get_win32_extension_fns_
      Src: /src/libevent/bufferevent_async.c:626,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_async.c:628,1
    - Dst: memset
      Src: /src/libevent/bufferevent_async.c:634,1
    - Dst: bind
      Src: /src/libevent/bufferevent_async.c:647,1
    - Dst: WSAGetLastError
      Src: /src/libevent/bufferevent_async.c:648,1
    - Dst: event_base_add_virtual_
      Src: /src/libevent/bufferevent_async.c:651,1
    - Dst: bufferevent_incref_
      Src: /src/libevent/bufferevent_async.c:652,1
    - Dst: struct win32_extension_fns*::ConnectEx
      Src: /src/libevent/bufferevent_async.c:653,1
    - Dst: WSAGetLastError
      Src: /src/libevent/bufferevent_async.c:655,1
    - Dst: event_base_del_virtual_
      Src: /src/libevent/bufferevent_async.c:658,1
    - Dst: bufferevent_decref_
      Src: /src/libevent/bufferevent_async.c:659,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - bev
    - fd
    - sa
    - socklen
    argTypes:
    - struct bufferevent*
    - evutil_socket_t
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 662
    functionName: bufferevent_async_connect_
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - event_get_win32_extension_fns_
    - bind
    - memset
    - bufferevent_decref_
    - event_base_del_virtual_
    - event_base_add_virtual_
    - EVUTIL_ASSERT
    - upcast
    - struct win32_extension_fns*::ConnectEx
    - bufferevent_incref_
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: "int bufferevent_async_connect_(struct bufferevent *bev, evutil_socket_t
      fd,\n\tconst struct sockaddr *sa, int socklen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_overlapped_get_fd_
      Src: /src/libevent/bufferevent_async.c:670,1
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:673,1
    - Dst: evbuffer_overlapped_get_fd_
      Src: /src/libevent/bufferevent_async.c:676,1
    - Dst: event_base_get_iocp_
      Src: /src/libevent/bufferevent_async.c:678,1
    - Dst: event_iocp_port_associate_
      Src: /src/libevent/bufferevent_async.c:680,1
    - Dst: fatal_error
      Src: /src/libevent/bufferevent_async.c:681,1
    - Dst: GetLastError
      Src: /src/libevent/bufferevent_async.c:681,1
    - Dst: evbuffer_overlapped_set_fd_
      Src: /src/libevent/bufferevent_async.c:684,1
    - Dst: evbuffer_overlapped_set_fd_
      Src: /src/libevent/bufferevent_async.c:685,1
    - Dst: upcast
      Src: /src/libevent/bufferevent_async.c:690,1
    - Dst: evbuffer_overlapped_get_fd_
      Src: /src/libevent/bufferevent_async.c:691,1
    - Dst: closesocket
      Src: /src/libevent/bufferevent_async.c:694,1
    - Dst: evbuffer_overlapped_set_fd_
      Src: /src/libevent/bufferevent_async.c:695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - bev
    - op
    - data
    argTypes:
    - struct bufferevent*
    - enum bufferevent_ctrl_op
    - union bufferevent_ctrl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 704
    functionName: be_async_ctrl
    functionSourceFile: /src/libevent/bufferevent_async.c
    functionUses: 0
    functionsReached:
    - evbuffer_overlapped_get_fd_
    - GetLastError
    - evbuffer_overlapped_set_fd_
    - closesocket
    - fatal_error
    - event_base_get_iocp_
    - upcast
    - event_iocp_port_associate_
    linkageType: ''
    returnType: int
    signature: "int be_async_ctrl(struct bufferevent *bev, enum bufferevent_ctrl_op
      op,\n    union bufferevent_ctrl_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct event_debug_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: hash_debug_entry
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned hash_debug_entry(const struct event_debug_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct event_debug_entry*
    - struct event_debug_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: eq_debug_entry
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int eq_debug_entry(const struct event_debug_entry *a,\n    const struct
      event_debug_entry *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:251,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:252,1
    - Dst: mm_malloc
      Src: /src/libevent/event.c:256,1
    - Dst: event_err
      Src: /src/libevent/event.c:258,1
    - Dst: HT_INSERT
      Src: /src/libevent/event.c:262,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 268
    functionName: event_debug_note_setup_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - HT_INSERT
    - EVLOCK_LOCK
    - mm_malloc
    - EVLOCK_UNLOCK
    - event_err
    - HT_FIND
    linkageType: ''
    returnType: void
    signature: void event_debug_note_setup_(const struct event *ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:278,1
    - Dst: HT_REMOVE
      Src: /src/libevent/event.c:279,1
    - Dst: mm_free
      Src: /src/libevent/event.c:281,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: event_debug_note_teardown_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - HT_REMOVE
    - mm_free
    - EVLOCK_LOCK
    linkageType: ''
    returnType: void
    signature: void event_debug_note_teardown_(const struct event *ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:296,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:297,1
    - Dst: event_errx
      Src: /src/libevent/event.c:301,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:306,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 312
    functionName: event_debug_note_add_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - HT_FIND
    - event_errx
    - EVLOCK_LOCK
    - EV_SOCK_ARG
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: void
    signature: void event_debug_note_add_(const struct event *ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:322,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:323,1
    - Dst: event_errx
      Src: /src/libevent/event.c:327,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:332,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 338
    functionName: event_debug_note_del_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - HT_FIND
    - event_errx
    - EVLOCK_LOCK
    - EV_SOCK_ARG
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: void
    signature: void event_debug_note_del_(const struct event *ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:348,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:349,1
    - Dst: event_errx
      Src: /src/libevent/event.c:351,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:356,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: event_debug_assert_is_setup_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - HT_FIND
    - event_errx
    - EVLOCK_LOCK
    - EV_SOCK_ARG
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: void
    signature: void event_debug_assert_is_setup_(const struct event *ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:369,1
    - Dst: HT_FIND
      Src: /src/libevent/event.c:370,1
    - Dst: event_errx
      Src: /src/libevent/event.c:372,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:377,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 380
    functionName: event_debug_assert_not_added_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - HT_FIND
    - event_errx
    - EVLOCK_LOCK
    - EV_SOCK_ARG
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: void
    signature: void event_debug_assert_not_added_(const struct event *ev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libevent/event.c:391,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 396
    functionName: event_debug_assert_socket_nonblocking_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - fcntl
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: void event_debug_assert_socket_nonblocking_(evutil_socket_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: event_debug_note_setup_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_debug_note_setup_(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: event_debug_note_teardown_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_debug_note_teardown_(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: event_debug_note_add_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_debug_note_add_(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: event_debug_note_del_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_debug_note_del_(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: event_debug_assert_is_setup_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_debug_assert_is_setup_(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: event_debug_assert_not_added_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_debug_assert_not_added_(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 404
    functionName: event_debug_assert_socket_nonblocking_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_debug_assert_socket_nonblocking_(evutil_socket_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: EVENT_BASE_ASSERT_LOCKED
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_BASE_ASSERT_LOCKED(base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:422,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/event.c:429,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/event.c:436,1
    - Dst: evutil_timersub
      Src: /src/libevent/event.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - base
    - tp
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 442
    functionName: gettime
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - evutil_timersub
    - evutil_gettimeofday
    - evutil_gettime_monotonic_
    linkageType: ''
    returnType: int
    signature: int gettime(struct event_base *base, struct timeval *tp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/event.c:451,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:454,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/event.c:456,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:458,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: event_base_gettimeofday_cached
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - evutil_gettimeofday
    - evutil_timeradd
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_base_gettimeofday_cached(struct event_base *base, struct
      timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: clear_time_cache
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_time_cache(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettime
      Src: /src/libevent/event.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: update_time_cache
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - gettime
    linkageType: ''
    returnType: void
    signature: void update_time_cache(struct event_base *base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:491,1
    - Dst: update_time_cache
      Src: /src/libevent/event.c:493,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 496
    functionName: event_base_update_cache_time
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - update_time_cache
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_base_update_cache_time(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:501,1
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/event.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - evcb
    argTypes:
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: event_callback_to_event
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: struct event
    signature: 'struct event *

      event_callback_to_event(struct event_callback *evcb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: event_to_event_callback
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event_callback
    signature: 'struct event_callback *

      event_to_event_callback(struct event *ev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new_with_config
      Src: /src/libevent/event.c:514,1
    - Dst: event_errx
      Src: /src/libevent/event.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 524
    functionName: event_init
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_new_with_config
    - event_errx
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      event_init(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_config_new
      Src: /src/libevent/event.c:530,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/event.c:532,1
    - Dst: event_config_free
      Src: /src/libevent/event.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 536
    functionName: event_base_new
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_config_new
    - event_base_new_with_config
    - event_config_free
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      event_base_new(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:546,1
    - Dst: strcmp
      Src: /src/libevent/event.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cfg
    - method
    argTypes:
    - struct event_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 553
    functionName: event_config_is_avoided_method
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: "int event_config_is_avoided_method(const struct event_config *cfg,\n
      \   const char *method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/event.c:562,1
    - Dst: EVUTIL_TOUPPER_
      Src: /src/libevent/event.c:564,1
    - Dst: evutil_getenv_
      Src: /src/libevent/event.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 568
    functionName: event_is_method_disabled
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evutil_getenv_
    - EVUTIL_TOUPPER_
    - evutil_snprintf
    linkageType: ''
    returnType: int
    signature: int event_is_method_disabled(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 574
    functionName: event_base_get_features
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int event_base_get_features(const struct event_base *base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_errx
      Src: /src/libevent/event.c:581,1
    - Dst: event_errx
      Src: /src/libevent/event.c:583,1
    - Dst: HT_INIT
      Src: /src/libevent/event.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 590
    functionName: event_enable_debug_mode
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_errx
    - HT_INIT
    linkageType: ''
    returnType: void
    signature: void event_enable_debug_mode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/event.c:598,1
    - Dst: HT_START
      Src: /src/libevent/event.c:599,1
    - Dst: HT_NEXT_RMV
      Src: /src/libevent/event.c:601,1
    - Dst: mm_free
      Src: /src/libevent/event.c:602,1
    - Dst: HT_CLEAR
      Src: /src/libevent/event.c:604,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/event.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 609
    functionName: event_disable_debug_mode
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - HT_START
    - HT_NEXT_RMV
    - EVLOCK_LOCK
    - HT_CLEAR
    - mm_free
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: void
    signature: void event_disable_debug_mode(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/event.c:622,1
    - Dst: event_warn
      Src: /src/libevent/event.c:623,1
    - Dst: evutil_getenv_
      Src: /src/libevent/event.c:639,1
    - Dst: evutil_configure_monotonic_time_
      Src: /src/libevent/event.c:645,1
    - Dst: gettime
      Src: /src/libevent/event.c:647,1
    - Dst: min_heap_ctor_
      Src: /src/libevent/event.c:650,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:657,1
    - Dst: evmap_io_initmap_
      Src: /src/libevent/event.c:659,1
    - Dst: evmap_signal_initmap_
      Src: /src/libevent/event.c:660,1
    - Dst: event_changelist_init_
      Src: /src/libevent/event.c:661,1
    - Dst: memcpy
      Src: /src/libevent/event.c:666,1
    - Dst: event_config_is_avoided_method
      Src: /src/libevent/event.c:686,1
    - Dst: event_is_method_disabled
      Src: /src/libevent/event.c:696,1
    - Dst: struct event_base*::evsel::init
      Src: /src/libevent/event.c:701,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:705,1
    - Dst: event_base_free
      Src: /src/libevent/event.c:708,1
    - Dst: evutil_getenv_
      Src: /src/libevent/event.c:712,1
    - Dst: event_msgx
      Src: /src/libevent/event.c:713,1
    - Dst: event_base_priority_init
      Src: /src/libevent/event.c:716,1
    - Dst: event_base_free
      Src: /src/libevent/event.c:717,1
    - Dst: EVTHREAD_LOCKING_ENABLED
      Src: /src/libevent/event.c:728,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/event.c:731,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/event.c:732,1
    - Dst: evthread_make_base_notifiable
      Src: /src/libevent/event.c:733,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:735,1
    - Dst: event_base_free
      Src: /src/libevent/event.c:736,1
    - Dst: event_base_start_iocp_
      Src: /src/libevent/event.c:744,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:749,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct event_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 611
    functionDepth: 4
    functionLinenumber: 611
    functionLinenumberEnd: 752
    functionName: event_base_new_with_config
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - evmap_io_initmap_
    - event_warn
    - memcpy
    - min_heap_ctor_
    - evutil_configure_monotonic_time_
    - mm_calloc
    - event_is_method_disabled
    - EVTHREAD_LOCKING_ENABLED
    - event_changelist_init_
    - event_base_free
    - event_base_start_iocp_
    - event_base_priority_init
    - struct event_base*::evsel::init
    - evthread_make_base_notifiable
    - event_config_is_avoided_method
    - event_msgx
    - TAILQ_INIT
    - EVTHREAD_ALLOC_COND
    - evmap_signal_initmap_
    - evutil_getenv_
    - gettime
    - event_warnx
    - EVTHREAD_ALLOC_LOCK
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      event_base_new_with_config(const struct event_config *cfg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_iocp_port_launch_
      Src: /src/libevent/event.c:760,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - base
    - n_cpus
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 769
    functionName: event_base_start_iocp_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - event_iocp_port_launch_
    - event_warnx
    linkageType: ''
    returnType: int
    signature: int event_base_start_iocp_(struct event_base *base, int n_cpus)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_iocp_shutdown_
      Src: /src/libevent/event.c:779,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 783
    functionName: event_base_stop_iocp_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - event_iocp_shutdown_
    linkageType: ''
    returnType: void
    signature: void event_base_stop_iocp_(struct event_base *base)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:793,1
    - Dst: event_del_
      Src: /src/libevent/event.c:795,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:799,1
    - Dst: event_callback_cancel_nolock_
      Src: /src/libevent/event.c:800,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:801,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:809,1
    - Dst: struct event*::ev_evcallback::evcb_cb_union::evcb_evfinalize
      Src: /src/libevent/event.c:810,1
    - Dst: mm_free
      Src: /src/libevent/event.c:812,1
    - Dst: struct event_callback*::evcb_cb_union::evcb_cbfinalize
      Src: /src/libevent/event.c:816,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - base
    - evcb
    - run_finalizers
    argTypes:
    - struct event_base*
    - struct event_callback*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 823
    functionName: event_base_cancel_single_callback_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_callback_cancel_nolock_
    - event_callback_to_event
    - EVBASE_ACQUIRE_LOCK
    - struct event*::ev_evcallback::evcb_cb_union::evcb_evfinalize
    - struct event_callback*::evcb_cb_union::evcb_cbfinalize
    - mm_free
    - EVBASE_RELEASE_LOCK
    - event_del_
    linkageType: ''
    returnType: int
    signature: "int event_base_cancel_single_callback_(struct event_base *base,\n
      \   struct event_callback *evcb,\n    int run_finalizers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:831,1
    - Dst: TAILQ_NEXT
      Src: /src/libevent/event.c:832,1
    - Dst: event_base_cancel_single_callback_
      Src: /src/libevent/event.c:833,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:840,1
    - Dst: event_base_cancel_single_callback_
      Src: /src/libevent/event.c:841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - base
    - run_finalizers
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 846
    functionName: event_base_free_queues_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - TAILQ_NEXT
    - event_base_cancel_single_callback_
    - TAILQ_FIRST
    linkageType: ''
    returnType: int
    signature: int event_base_free_queues_(struct event_base *base, int run_finalizers)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: event_warnx
      Src: /src/libevent/event.c:864,1
    - Dst: event_base_stop_iocp_
      Src: /src/libevent/event.c:870,1
    - Dst: event_del
      Src: /src/libevent/event.c:875,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:876,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:878,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:881,1
    - Dst: evmap_delete_all_
      Src: /src/libevent/event.c:885,1
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:887,1
    - Dst: event_del
      Src: /src/libevent/event.c:888,1
    - Dst: event_del
      Src: /src/libevent/event.c:894,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:895,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:896,1
    - Dst: TAILQ_NEXT
      Src: /src/libevent/event.c:897,1
    - Dst: event_del
      Src: /src/libevent/event.c:900,1
    - Dst: mm_free
      Src: /src/libevent/event.c:905,1
    - Dst: mm_free
      Src: /src/libevent/event.c:908,1
    - Dst: event_base_free_queues_
      Src: /src/libevent/event.c:919,1
    - Dst: event_debug
      Src: /src/libevent/event.c:920,1
    - Dst: event_debug
      Src: /src/libevent/event.c:928,1
    - Dst: LIST_FIRST
      Src: /src/libevent/event.c:931,1
    - Dst: LIST_FIRST
      Src: /src/libevent/event.c:932,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/event.c:933,1
    - Dst: mm_free
      Src: /src/libevent/event.c:934,1
    - Dst: struct event_base*::evsel::dealloc
      Src: /src/libevent/event.c:938,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:941,1
    - Dst: TAILQ_EMPTY
      Src: /src/libevent/event.c:941,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:943,1
    - Dst: min_heap_empty_
      Src: /src/libevent/event.c:943,1
    - Dst: min_heap_dtor_
      Src: /src/libevent/event.c:944,1
    - Dst: mm_free
      Src: /src/libevent/event.c:946,1
    - Dst: evmap_io_clear_
      Src: /src/libevent/event.c:948,1
    - Dst: evmap_signal_clear_
      Src: /src/libevent/event.c:949,1
    - Dst: event_changelist_freemem_
      Src: /src/libevent/event.c:950,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/event.c:952,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/event.c:953,1
    - Dst: TAILQ_EMPTY
      Src: /src/libevent/event.c:957,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:958,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:959,1
    - Dst: mm_free
      Src: /src/libevent/event.c:960,1
    - Dst: mm_free
      Src: /src/libevent/event.c:967,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 2
    argNames:
    - base
    - run_finalizers
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 968
    functionName: event_base_free_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evmap_delete_all_
    - event_debug
    - event_changelist_freemem_
    - event_base_free_queues_
    - LIST_FIRST
    - TAILQ_NEXT
    - min_heap_top_
    - LIST_REMOVE
    - EVTHREAD_FREE_LOCK
    - mm_free
    - evmap_io_clear_
    - TAILQ_EMPTY
    - EVTHREAD_FREE_COND
    - TAILQ_FIRST
    - EVUTIL_CLOSESOCKET
    - evmap_signal_clear_
    - event_debug_unassign
    - min_heap_empty_
    - struct event_base*::evsel::dealloc
    - event_del
    - EVUTIL_ASSERT
    - event_warnx
    - TAILQ_REMOVE
    - min_heap_dtor_
    - event_base_stop_iocp_
    linkageType: ''
    returnType: void
    signature: void event_base_free_(struct event_base *base, int run_finalizers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_free_
      Src: /src/libevent/event.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 970
    functionDepth: 5
    functionLinenumber: 970
    functionLinenumberEnd: 974
    functionName: event_base_free_nofinalize
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_free_
    linkageType: ''
    returnType: void
    signature: void event_base_free_nofinalize(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_free_
      Src: /src/libevent/event.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 5
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: event_base_free
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - event_base_free_
    linkageType: ''
    returnType: void
    signature: void event_base_free(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - b
    - fd
    - old
    - events
    - fdinfo
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: nil_backend_del
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int nil_backend_del(struct event_base *b, evutil_socket_t fd, short
      old,\n    short events, void *fdinfo)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1010,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:1034,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:1035,1
    - Dst: memset
      Src: /src/libevent/event.c:1036,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:1041,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:1043,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:1049,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:1050,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/event.c:1052,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:1055,1
    - Dst: struct event_base*::evsel::dealloc
      Src: /src/libevent/event.c:1072,1
    - Dst: struct eventop*::init
      Src: /src/libevent/event.c:1073,1
    - Dst: event_errx
      Src: /src/libevent/event.c:1075,1
    - Dst: event_changelist_freemem_
      Src: /src/libevent/event.c:1084,1
    - Dst: evmap_reinit_
      Src: /src/libevent/event.c:1089,1
    - Dst: evsig_init_
      Src: /src/libevent/event.c:1092,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:1094,1
    - Dst: evthread_make_base_notifiable_nolock_
      Src: /src/libevent/event.c:1103,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1106,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1108
    functionName: event_reinit
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - struct eventop*::init
    - memset
    - struct event_base*::evsel::dealloc
    - EVBASE_ACQUIRE_LOCK
    - event_errx
    - evmap_reinit_
    - EVUTIL_CLOSESOCKET
    - event_add_nolock_
    - evsig_init_
    - event_changelist_freemem_
    - evthread_make_base_notifiable_nolock_
    - EVBASE_RELEASE_LOCK
    - event_del_nolock_
    - event_debug_unassign
    linkageType: ''
    returnType: int
    signature: int event_reinit(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1117,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/event.c:1118,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1123
    functionName: event_gettime_monotonic
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - evutil_gettime_monotonic_
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_gettime_monotonic(struct event_base *base, struct timeval
      *tv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/event.c:1139,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1155
    functionName: event_get_supported_methods
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_free
    - mm_calloc
    linkageType: ''
    returnType: char
    signature: 'char **

      event_get_supported_methods(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/event.c:1160,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1171
    functionName: event_config_new
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - TAILQ_INIT
    - mm_calloc
    linkageType: ''
    returnType: struct event_config
    signature: 'struct event_config *

      event_config_new(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/event.c:1177,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct event_config_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1179
    functionName: event_config_entry_free
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void event_config_entry_free(struct event_config_entry *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1186,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:1187,1
    - Dst: event_config_entry_free
      Src: /src/libevent/event.c:1188,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct event_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1191
    functionName: event_config_free
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    - event_config_entry_free
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void event_config_free(struct event_config *cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - flag
    argTypes:
    - struct event_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1200
    functionName: event_config_set_flag
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int event_config_set_flag(struct event_config *cfg, int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/event.c:1205,1
    - Dst: mm_strdup
      Src: /src/libevent/event.c:1209,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1210,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/event.c:1214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cfg
    - method
    argTypes:
    - struct event_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1217
    functionName: event_config_avoid_method
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_free
    - mm_strdup
    - TAILQ_INSERT_TAIL
    - mm_malloc
    linkageType: ''
    returnType: int
    signature: int event_config_avoid_method(struct event_config *cfg, const char
      *method)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - features
    argTypes:
    - struct event_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1227
    functionName: event_config_require_features
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int event_config_require_features(struct event_config *cfg,\n    int
      features)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cfg
    - cpus
    argTypes:
    - struct event_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1236
    functionName: event_config_set_num_cpus_hint
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int event_config_set_num_cpus_hint(struct event_config *cfg, int cpus)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/event.c:1243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - cfg
    - max_interval
    - max_callbacks
    - min_priority
    argTypes:
    - struct event_config*
    - struct timeval*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1253
    functionName: event_config_set_max_dispatch_interval
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int event_config_set_max_dispatch_interval(struct event_config *cfg,\n
      \   const struct timeval *max_interval, int max_callbacks, int min_priority)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_priority_init
      Src: /src/libevent/event.c:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - npriorities
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1259
    functionName: event_priority_init
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_priority_init
    linkageType: ''
    returnType: int
    signature: int event_priority_init(int npriorities)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1267,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:1269,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1277,1
    - Dst: mm_calloc
      Src: /src/libevent/event.c:1283,1
    - Dst: event_warn
      Src: /src/libevent/event.c:1285,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:1291,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1297,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - base
    - npriorities
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1299
    functionName: event_base_priority_init
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - TAILQ_INIT
    - event_warn
    - EVBASE_ACQUIRE_LOCK
    - mm_calloc
    - N_ACTIVE_CALLBACKS
    - mm_free
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_base_priority_init(struct event_base *base, int npriorities)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1309,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: event_base_get_npriorities
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_base_get_npriorities(struct event_base *base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1320,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - base
    - type
    argTypes:
    - struct event_base*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1334
    functionName: event_base_get_num_events
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_base_get_num_events(struct event_base *base, unsigned int
      type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1341,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - base
    - type
    - clear
    argTypes:
    - struct event_base*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1364
    functionName: event_base_get_max_events
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_base_get_max_events(struct event_base *base, unsigned int
      type, int clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1372
    functionName: event_haveevents
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int event_haveevents(struct event_base *base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1395,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1403,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1418
    functionName: event_signal_closure
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void event_signal_closure(struct event_base *base, struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1442
    functionName: COMMON_TIMEOUT_IDX
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMMON_TIMEOUT_IDX(tv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMMON_TIMEOUT_IDX
      Src: /src/libevent/event.c:1451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tv
    - base
    argTypes:
    - struct timeval*
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1453
    functionName: is_common_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - COMMON_TIMEOUT_IDX
    linkageType: ''
    returnType: int
    signature: "int is_common_timeout(const struct timeval *tv,\n    const struct
      event_base *base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1462
    functionName: is_same_common_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_same_common_timeout(const struct timeval *tv1, const struct
      timeval *tv2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMMON_TIMEOUT_IDX
      Src: /src/libevent/event.c:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1466
    functionDepth: 1
    functionLinenumber: 1466
    functionLinenumberEnd: 1470
    functionName: get_common_timeout_list
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - COMMON_TIMEOUT_IDX
    linkageType: ''
    returnType: struct common_timeout_list
    signature: 'struct common_timeout_list *

      get_common_timeout_list(struct event_base *base, const struct timeval *tv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:1478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tv
    - base
    argTypes:
    - struct timeval*
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1481
    functionName: common_timeout_ok
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - get_common_timeout_list
    linkageType: ''
    returnType: int
    signature: "int common_timeout_ok(const struct timeval *tv,\n    struct event_base
      *base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctl
    - now
    - head
    argTypes:
    - struct common_timeout_list*
    - struct timeval*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1493
    functionName: common_timeout_schedule
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_add_nolock_
    linkageType: ''
    returnType: void
    signature: "void common_timeout_schedule(struct common_timeout_list *ctl,\n    const
      struct timeval *now, struct event *head)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1505,1
    - Dst: gettime
      Src: /src/libevent/event.c:1506,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1509,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:1516,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:1518,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:1519,1
    - Dst: common_timeout_schedule
      Src: /src/libevent/event.c:1522,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1524
    functionName: common_timeout_callback
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - common_timeout_schedule
    - EVBASE_ACQUIRE_LOCK
    - event_queue_remove_timeout
    - TAILQ_FIRST
    - gettime
    - event_active_nolock_
    - EVBASE_RELEASE_LOCK
    - event_del_nolock_
    linkageType: ''
    returnType: void
    signature: void common_timeout_callback(evutil_socket_t fd, short what, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1537,1
    - Dst: memcpy
      Src: /src/libevent/event.c:1539,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:1540,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1552,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:1552,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:1558,1
    - Dst: mm_realloc
      Src: /src/libevent/event.c:1567,1
    - Dst: event_warn
      Src: /src/libevent/event.c:1570,1
    - Dst: mm_calloc
      Src: /src/libevent/event.c:1576,1
    - Dst: event_warn
      Src: /src/libevent/event.c:1578,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/event.c:1581,1
    - Dst: evtimer_assign
      Src: /src/libevent/event.c:1586,1
    - Dst: event_priority_set
      Src: /src/libevent/event.c:1589,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1596,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:1596,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1598,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - base
    - duration
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1600
    functionName: event_base_init_common_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - TAILQ_INIT
    - event_warn
    - memcpy
    - EVBASE_ACQUIRE_LOCK
    - EVUTIL_ASSERT
    - mm_calloc
    - event_warnx
    - EVBASE_RELEASE_LOCK
    - event_priority_set
    - is_common_timeout
    - evtimer_assign
    linkageType: ''
    returnType: struct timeval
    signature: "struct timeval *\nevent_base_init_common_timeout(struct event_base
      *base,\n    const struct timeval *duration)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1621,1
    - Dst: is_same_common_timeout
      Src: /src/libevent/event.c:1621,1
    - Dst: gettime
      Src: /src/libevent/event.c:1623,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:1624,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:1642,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:1643,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:1649,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:1652,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1603
    functionDepth: 2
    functionLinenumber: 1603
    functionLinenumberEnd: 1666
    functionName: event_persist_closure
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evutil_timercmp
    - EVUTIL_ASSERT
    - event_add_nolock_
    - evutil_timeradd
    - gettime
    - EVBASE_RELEASE_LOCK
    - is_common_timeout
    - is_same_common_timeout
    linkageType: ''
    returnType: void
    signature: void event_persist_closure(struct event_base *base, struct event *ev)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1683,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1685,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1685,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:1688,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:1691,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:1693,1
    - Dst: event_debug
      Src: /src/libevent/event.c:1694,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:1702,1
    - Dst: event_debug
      Src: /src/libevent/event.c:1703,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1709,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1709,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1722,1
    - Dst: event_signal_closure
      Src: /src/libevent/event.c:1723,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1726,1
    - Dst: event_persist_closure
      Src: /src/libevent/event.c:1727,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1732,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1735,1
    - Dst: evcb_callback
      Src: /src/libevent/event.c:1736,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1741,1
    - Dst: evcb_selfcb
      Src: /src/libevent/event.c:1742,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1749,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1752,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1753,1
    - Dst: event_debug_note_teardown_
      Src: /src/libevent/event.c:1754,1
    - Dst: evcb_evfinalize
      Src: /src/libevent/event.c:1755,1
    - Dst: mm_free
      Src: /src/libevent/event.c:1757,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1763,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1764,1
    - Dst: evcb_cbfinalize
      Src: /src/libevent/event.c:1765,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1769,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1772,1
    - Dst: EVTHREAD_COND_BROADCAST
      Src: /src/libevent/event.c:1777,1
    - Dst: update_time_cache
      Src: /src/libevent/event.c:1787,1
    - Dst: gettime
      Src: /src/libevent/event.c:1788,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:1789,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 4
    argNames:
    - base
    - activeq
    - max_to_process
    - endtime
    argTypes:
    - struct event_base*
    - struct evcallback_list*
    - int
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1675
    functionDepth: 3
    functionLinenumber: 1675
    functionLinenumberEnd: 1796
    functionName: event_process_active_single_queue
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evcb_cbfinalize
    - event_debug
    - evcb_callback
    - update_time_cache
    - event_debug_note_teardown_
    - event_signal_closure
    - mm_free
    - EVBASE_RELEASE_LOCK
    - event_callback_to_event
    - evcb_evfinalize
    - EVBASE_ACQUIRE_LOCK
    - TAILQ_FIRST
    - evutil_timercmp
    - event_queue_remove_active
    - EVUTIL_ASSERT
    - gettime
    - EVTHREAD_COND_BROADCAST
    - event_persist_closure
    - event_del_nolock_
    - evcb_selfcb
    linkageType: ''
    returnType: int
    signature: "int event_process_active_single_queue(struct event_base *base,\n    struct
      evcallback_list *activeq,\n    int max_to_process, const struct timeval *endtime)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: update_time_cache
      Src: /src/libevent/event.c:1815,1
    - Dst: gettime
      Src: /src/libevent/event.c:1816,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:1817,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:1824,1
    - Dst: event_process_active_single_queue
      Src: /src/libevent/event.c:1828,1
    - Dst: event_process_active_single_queue
      Src: /src/libevent/event.c:1831,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1804
    functionDepth: 4
    functionLinenumber: 1804
    functionLinenumberEnd: 1847
    functionName: event_process_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - update_time_cache
    - TAILQ_FIRST
    - gettime
    - evutil_timeradd
    - event_process_active_single_queue
    linkageType: ''
    returnType: int
    signature: int event_process_active(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_loop
      Src: /src/libevent/event.c:1856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1857
    functionName: event_dispatch
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_loop
    linkageType: ''
    returnType: int
    signature: int event_dispatch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loop
      Src: /src/libevent/event.c:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1863
    functionName: event_base_dispatch
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_loop
    linkageType: ''
    returnType: int
    signature: int event_base_dispatch(struct event_base *event_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1865
    functionDepth: 1
    functionLinenumber: 1865
    functionLinenumberEnd: 1870
    functionName: event_base_get_method
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      event_base_get_method(const struct event_base *base)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1877
    functionName: event_base_get_signal_method
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      event_base_get_signal_method(const struct event_base *base)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1886
    functionName: event_loopexit_cb
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_loopexit_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_once
      Src: /src/libevent/event.c:1891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1888
    functionDepth: 1
    functionLinenumber: 1888
    functionLinenumberEnd: 1893
    functionName: event_loopexit
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_once
    linkageType: ''
    returnType: int
    signature: int event_loopexit(const struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_once
      Src: /src/libevent/event.c:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - event_base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1895
    functionDepth: 1
    functionLinenumber: 1895
    functionLinenumberEnd: 1900
    functionName: event_base_loopexit
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_once
    linkageType: ''
    returnType: int
    signature: int event_base_loopexit(struct event_base *event_base, const struct
      timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopbreak
      Src: /src/libevent/event.c:1905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1902
    functionDepth: 1
    functionLinenumber: 1902
    functionLinenumberEnd: 1906
    functionName: event_loopbreak
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_base_loopbreak
    linkageType: ''
    returnType: int
    signature: int event_loopbreak(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1915,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:1918,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:1919,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1908
    functionDepth: 1
    functionLinenumber: 1908
    functionLinenumberEnd: 1925
    functionName: event_base_loopbreak
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVBASE_NEED_NOTIFY
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - evthread_notify_base
    linkageType: ''
    returnType: int
    signature: int event_base_loopbreak(struct event_base *event_base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1934,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:1937,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:1938,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1944
    functionName: event_base_loopcontinue
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_NEED_NOTIFY
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - evthread_notify_base
    linkageType: ''
    returnType: int
    signature: int event_base_loopcontinue(struct event_base *event_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1950,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1946
    functionDepth: 1
    functionLinenumber: 1946
    functionLinenumberEnd: 1954
    functionName: event_base_got_break
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_base_got_break(struct event_base *event_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1960,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - event_base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1964
    functionName: event_base_got_exit
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_base_got_exit(struct event_base *event_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loop
      Src: /src/libevent/event.c:1971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1968
    functionDepth: 1
    functionLinenumber: 1968
    functionLinenumberEnd: 1972
    functionName: event_loop
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - event_base_loop
    linkageType: ''
    returnType: int
    signature: int event_loop(int flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:1986,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:1989,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:1991,1
    - Dst: clear_time_cache
      Src: /src/libevent/event.c:1997,1
    - Dst: evsig_set_base_
      Src: /src/libevent/event.c:2000,1
    - Dst: EVTHREAD_GET_ID
      Src: /src/libevent/event.c:2005,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2026,1
    - Dst: timeout_next
      Src: /src/libevent/event.c:2027,1
    - Dst: evutil_timerclear
      Src: /src/libevent/event.c:2033,1
    - Dst: event_haveevents
      Src: /src/libevent/event.c:2038,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2038,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2039,1
    - Dst: event_queue_make_later_events_active
      Src: /src/libevent/event.c:2044,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:2048,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2049,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2051,1
    - Dst: clear_time_cache
      Src: /src/libevent/event.c:2054,1
    - Dst: struct eventop*::dispatch
      Src: /src/libevent/event.c:2056,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2059,1
    - Dst: update_time_cache
      Src: /src/libevent/event.c:2065,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:2069,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2070,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2072,1
    - Dst: timeout_process
      Src: /src/libevent/event.c:2075,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2077,1
    - Dst: event_process_active
      Src: /src/libevent/event.c:2078,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2080,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2086,1
    - Dst: clear_time_cache
      Src: /src/libevent/event.c:2089,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2092,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 2
    argNames:
    - base
    - flags
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 1974
    functionDepth: 5
    functionLinenumber: 1974
    functionLinenumberEnd: 2095
    functionName: event_base_loop
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - update_time_cache
    - timeout_process
    - timeout_next
    - evsig_set_base_
    - EVBASE_ACQUIRE_LOCK
    - EVTHREAD_GET_ID
    - event_debug
    - struct eventop*::dispatch
    - evutil_timerclear
    - event_warnx
    - N_ACTIVE_CALLBACKS
    - TAILQ_FOREACH
    - event_process_active
    - EVBASE_RELEASE_LOCK
    - event_haveevents
    - clear_time_cache
    - event_queue_make_later_events_active
    linkageType: ''
    returnType: int
    signature: int event_base_loop(struct event_base *base, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2105,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/event.c:2106,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2107,1
    - Dst: event_debug_unassign
      Src: /src/libevent/event.c:2108,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2110
    functionName: event_once_cb
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - LIST_REMOVE
    - EVBASE_ACQUIRE_LOCK
    - mm_free
    - EVBASE_RELEASE_LOCK
    - event_debug_unassign
    linkageType: ''
    returnType: void
    signature: void event_once_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_once
      Src: /src/libevent/event.c:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - events
    - arg
    - tv
    argTypes:
    - evutil_socket_t
    - short
    - void*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2119
    functionName: event_once
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - event_base_once
    linkageType: ''
    returnType: int
    signature: "int event_once(evutil_socket_t fd, short events,\n    void (*callback)(evutil_socket_t,
      short, void *),\n    void *arg, const struct timeval *tv)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/event.c:2139,1
    - Dst: evtimer_assign
      Src: /src/libevent/event.c:2146,1
    - Dst: evutil_timerisset
      Src: /src/libevent/event.c:2148,1
    - Dst: event_assign
      Src: /src/libevent/event.c:2158,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2161,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2166,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:2168,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:2170,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2173,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/libevent/event.c:2176,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - base
    - fd
    - events
    - arg
    - tv
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - void*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2181
    functionName: event_base_once
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - mm_calloc
    - event_assign
    - event_active_nolock_
    - EVBASE_RELEASE_LOCK
    - LIST_INSERT_HEAD
    - mm_free
    - evutil_timerisset
    - event_add_nolock_
    - evtimer_assign
    linkageType: ''
    returnType: int
    signature: "int event_base_once(struct event_base *base, evutil_socket_t fd, short
      events,\n    void (*callback)(evutil_socket_t, short, void *),\n    void *arg,
      const struct timeval *tv)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_socket_nonblocking_
      Src: /src/libevent/event.c:2196,1
    - Dst: event_debug_assert_not_added_
      Src: /src/libevent/event.c:2197,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2212,1
    - Dst: evutil_timerclear
      Src: /src/libevent/event.c:2219,1
    - Dst: min_heap_elem_init_
      Src: /src/libevent/event.c:2226,1
    - Dst: event_debug_note_setup_
      Src: /src/libevent/event.c:2233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 5
    argNames:
    - ev
    - base
    - fd
    - events
    - arg
    argTypes:
    - struct event*
    - struct event_base*
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2188
    functionDepth: 3
    functionLinenumber: 2188
    functionLinenumberEnd: 2236
    functionName: event_assign
    functionSourceFile: /src/libevent/event.c
    functionUses: 8
    functionsReached:
    - event_debug_assert_not_added_
    - min_heap_elem_init_
    - event_debug_assert_socket_nonblocking_
    - evutil_timerclear
    - event_warnx
    - event_debug_note_setup_
    linkageType: ''
    returnType: void
    signature: void event_assign(struct event *ev, struct event_base *base, evutil_socket_t
      fd, short events, void (*callback)(evutil_socket_t, short, void *), void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2238
    functionDepth: 3
    functionLinenumber: 2238
    functionLinenumberEnd: 2251
    functionName: event_base_set
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: int
    signature: int event_base_set(struct event_base *base, struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/event.c:2258,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:2259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ev
    - fd
    - events
    - arg
    argTypes:
    - struct event*
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2253
    functionDepth: 4
    functionLinenumber: 2253
    functionLinenumberEnd: 2260
    functionName: event_set
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_assign
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: "void event_set(struct event *ev, evutil_socket_t fd, short events,\n\t
      \ void (*callback)(evutil_socket_t, short, void *), void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2266
    functionName: event_self_cbarg
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      event_self_cbarg(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2272,1
    - Dst: EVBASE_IN_THREAD
      Src: /src/libevent/event.c:2273,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:2276,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2268
    functionDepth: 2
    functionLinenumber: 2268
    functionLinenumberEnd: 2280
    functionName: event_base_get_running_event
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_IN_THREAD
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - event_callback_to_event
    linkageType: ''
    returnType: struct event
    signature: 'struct event *

      event_base_get_running_event(struct event_base *base)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/event.c:2286,1
    - Dst: event_assign
      Src: /src/libevent/event.c:2289,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - base
    - fd
    - events
    - arg
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2282
    functionDepth: 4
    functionLinenumber: 2282
    functionLinenumberEnd: 2295
    functionName: event_new
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_assign
    - mm_free
    - mm_malloc
    linkageType: ''
    returnType: struct event
    signature: 'struct event *

      event_new(struct event_base *base, evutil_socket_t fd, short events, void (*cb)(evutil_socket_t,
      short, void *), void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/libevent/event.c:2305,1
    - Dst: event_debug_note_teardown_
      Src: /src/libevent/event.c:2306,1
    - Dst: mm_free
      Src: /src/libevent/event.c:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2297
    functionDepth: 2
    functionLinenumber: 2297
    functionLinenumberEnd: 2309
    functionName: event_free
    functionSourceFile: /src/libevent/event.c
    functionUses: 8
    functionsReached:
    - mm_free
    - event_debug_note_teardown_
    - event_del
    linkageType: ''
    returnType: void
    signature: void event_free(struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_not_added_
      Src: /src/libevent/event.c:2314,1
    - Dst: event_debug_note_teardown_
      Src: /src/libevent/event.c:2315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2311
    functionDepth: 3
    functionLinenumber: 2311
    functionLinenumberEnd: 2318
    functionName: event_debug_unassign
    functionSourceFile: /src/libevent/event.c
    functionUses: 9
    functionsReached:
    - event_debug_assert_not_added_
    - event_debug_note_teardown_
    linkageType: ''
    returnType: void
    signature: void event_debug_unassign(struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:2327,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - base
    - flags
    - ev
    - cb
    argTypes:
    - struct event_base*
    - unsigned
    - struct event*
    - event_finalize_callback_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2333
    functionName: event_finalize_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_del_nolock_
    - event_active_nolock_
    linkageType: ''
    returnType: int
    signature: int event_finalize_nolock_(struct event_base *base, unsigned flags,
      struct event *ev, event_finalize_callback_fn cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:2340,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2341,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2345,1
    - Dst: event_finalize_nolock_
      Src: /src/libevent/event.c:2346,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - flags
    - ev
    - cb
    argTypes:
    - unsigned
    - struct event*
    - event_finalize_callback_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2335
    functionDepth: 2
    functionLinenumber: 2335
    functionLinenumberEnd: 2349
    functionName: event_finalize_impl_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_finalize_nolock_
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVUTIL_FAILURE_CHECK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_finalize_impl_(unsigned flags, struct event *ev, event_finalize_callback_fn
      cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_finalize_impl_
      Src: /src/libevent/event.c:2354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - flags
    - ev
    - cb
    argTypes:
    - unsigned
    - struct event*
    - event_finalize_callback_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2351
    functionDepth: 3
    functionLinenumber: 2351
    functionLinenumberEnd: 2355
    functionName: event_finalize
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_finalize_impl_
    linkageType: ''
    returnType: int
    signature: int event_finalize(unsigned flags, struct event *ev, event_finalize_callback_fn
      cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_finalize_impl_
      Src: /src/libevent/event.c:2360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - flags
    - ev
    - cb
    argTypes:
    - unsigned
    - struct event*
    - event_finalize_callback_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2357
    functionDepth: 3
    functionLinenumber: 2357
    functionLinenumberEnd: 2361
    functionName: event_free_finalize
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_finalize_impl_
    linkageType: ''
    returnType: int
    signature: int event_free_finalize(unsigned flags, struct event *ev, event_finalize_callback_fn
      cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:2368,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:2369,1
    - Dst: event_callback_cancel_nolock_
      Src: /src/libevent/event.c:2371,1
    - Dst: event_callback_activate_nolock_
      Src: /src/libevent/event.c:2376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - base
    - flags
    - evcb
    argTypes:
    - struct event_base*
    - unsigned
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2363
    functionDepth: 2
    functionLinenumber: 2363
    functionLinenumberEnd: 2378
    functionName: event_callback_finalize_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_callback_cancel_nolock_
    - event_callback_activate_nolock_
    - event_del_nolock_
    - event_callback_to_event
    linkageType: ''
    returnType: void
    signature: void event_callback_finalize_nolock_(struct event_base *base, unsigned
      flags, struct event_callback *evcb, void (*cb)(struct event_callback *, void
      *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2383,1
    - Dst: event_callback_finalize_nolock_
      Src: /src/libevent/event.c:2384,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - base
    - flags
    - evcb
    argTypes:
    - struct event_base*
    - unsigned
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2380
    functionDepth: 3
    functionLinenumber: 2380
    functionLinenumberEnd: 2386
    functionName: event_callback_finalize_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - event_callback_finalize_nolock_
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void event_callback_finalize_(struct event_base *base, unsigned flags,
      struct event_callback *evcb, void (*cb)(struct event_callback *, void *))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2399,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2401,1
    - Dst: event_callback_finalize_nolock_
      Src: /src/libevent/event.c:2409,1
    - Dst: event_callback_cancel_nolock_
      Src: /src/libevent/event.c:2412,1
    - Dst: event_callback_finalize_nolock_
      Src: /src/libevent/event.c:2418,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - base
    - n_cbs
    - evcbs
    argTypes:
    - struct event_base*
    - int
    - struct event_callback**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2391
    functionDepth: 3
    functionLinenumber: 2391
    functionLinenumberEnd: 2423
    functionName: event_callback_finalize_many_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_callback_cancel_nolock_
    - EVBASE_ACQUIRE_LOCK
    - event_callback_finalize_nolock_
    - event_debug
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_callback_finalize_many_(struct event_base *base, int n_cbs,
      struct event_callback **evcbs, void (*cb)(struct event_callback *, void *))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ev
    - pri
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2430
    functionDepth: 3
    functionLinenumber: 2430
    functionLinenumberEnd: 2443
    functionName: event_priority_set
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: int
    signature: int event_priority_set(struct event *ev, int pri)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:2454,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2455,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2459,1
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2460,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:2476,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ev
    - event
    - tv
    argTypes:
    - struct event*
    - short
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2449
    functionDepth: 3
    functionLinenumber: 2449
    functionLinenumberEnd: 2482
    functionName: event_pending
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - evutil_timeradd
    - event_warnx
    - EVUTIL_FAILURE_CHECK
    - EVBASE_RELEASE_LOCK
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: int
    signature: int event_pending(const struct event *ev, short event, struct timeval
      *tv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2491
    functionName: event_initialized
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int event_initialized(const struct event *ev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - event
    - base_out
    - fd_out
    - events_out
    - callback_out
    - arg_out
    argTypes:
    - struct event*
    - struct event_base**
    - evutil_socket_t*
    - short*
    - event_callback_fn*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2493
    functionDepth: 3
    functionLinenumber: 2493
    functionLinenumberEnd: 2508
    functionName: event_get_assignment
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: void
    signature: void event_get_assignment(const struct event *event, struct event_base
      **base_out, evutil_socket_t *fd_out, short *events_out, event_callback_fn *callback_out,
      void **arg_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2514
    functionName: event_get_struct_event_size
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t event_get_struct_event_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2516
    functionDepth: 3
    functionLinenumber: 2516
    functionLinenumberEnd: 2521
    functionName: event_get_fd
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t event_get_fd(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2523
    functionDepth: 3
    functionLinenumber: 2523
    functionLinenumberEnd: 2528
    functionName: event_get_base
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      event_get_base(const struct event *ev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2530
    functionDepth: 3
    functionLinenumber: 2530
    functionLinenumberEnd: 2535
    functionName: event_get_events
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: short
    signature: short event_get_events(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2537
    functionDepth: 3
    functionLinenumber: 2537
    functionLinenumberEnd: 2542
    functionName: event_get_callback
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: event_callback_fn
    signature: event_callback_fn event_get_callback(const struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2544
    functionDepth: 3
    functionLinenumber: 2544
    functionLinenumberEnd: 2549
    functionName: event_get_callback_arg
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: void
    signature: 'void *

      event_get_callback_arg(const struct event *ev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2551
    functionDepth: 3
    functionLinenumber: 2551
    functionLinenumberEnd: 2556
    functionName: event_get_priority
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: int
    signature: int event_get_priority(const struct event *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:2563,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2564,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2568,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:2570,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ev
    - tv
    argTypes:
    - struct event*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2558
    functionDepth: 2
    functionLinenumber: 2558
    functionLinenumberEnd: 2575
    functionName: event_add
    functionSourceFile: /src/libevent/event.c
    functionUses: 12
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVBASE_RELEASE_LOCK
    - EVUTIL_FAILURE_CHECK
    - event_add_nolock_
    linkageType: ''
    returnType: int
    signature: int event_add(struct event *ev, const struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/libevent/event.c:2588,1
    - Dst: write
      Src: /src/libevent/event.c:2590,1
    - Dst: EVUTIL_ERR_IS_EAGAIN
      Src: /src/libevent/event.c:2592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2593
    functionName: evthread_notify_base_default
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - write
    - EVUTIL_ERR_IS_EAGAIN
    - send
    linkageType: ''
    returnType: int
    signature: int evthread_notify_base_default(struct event_base *base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eventfd_write
      Src: /src/libevent/event.c:2605,1
    - Dst: eventfd_read
      Src: /src/libevent/event.c:2613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2624
    functionName: evthread_notify_base_eventfd
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - eventfd_read
    - eventfd_write
    linkageType: ''
    returnType: int
    signature: int evthread_notify_base_eventfd(struct event_base *base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:2634,1
    - Dst: struct event_base*::th_notify_fn
      Src: /src/libevent/event.c:2640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2641
    functionName: evthread_notify_base
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - struct event_base*::th_notify_fn
    linkageType: ''
    returnType: int
    signature: int evthread_notify_base(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:2650,1
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2651,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2653,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:2657,1
    - Dst: evutil_timerclear
      Src: /src/libevent/event.c:2658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2645
    functionDepth: 3
    functionLinenumber: 2645
    functionLinenumberEnd: 2662
    functionName: event_remove_timer_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - event_queue_remove_timeout
    - event_debug
    - evutil_timerclear
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: int
    signature: int event_remove_timer_nolock_(struct event *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:2669,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2670,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2674,1
    - Dst: event_remove_timer_nolock_
      Src: /src/libevent/event.c:2676,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2664
    functionDepth: 4
    functionLinenumber: 2664
    functionLinenumberEnd: 2681
    functionName: event_remove_timer
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVUTIL_FAILURE_CHECK
    - event_remove_timer_nolock_
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int event_remove_timer(struct event *ev)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:2695,1
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2696,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2698,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:2701,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:2708,1
    - Dst: min_heap_reserve_
      Src: /src/libevent/event.c:2720,1
    - Dst: min_heap_size_
      Src: /src/libevent/event.c:2721,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2730,1
    - Dst: EVBASE_IN_THREAD
      Src: /src/libevent/event.c:2732,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/event.c:2734,1
    - Dst: evmap_io_add_
      Src: /src/libevent/event.c:2741,1
    - Dst: evmap_signal_add_
      Src: /src/libevent/event.c:2743,1
    - Dst: event_queue_insert_inserted
      Src: /src/libevent/event.c:2745,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:2776,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:2795,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2795,1
    - Dst: gettime
      Src: /src/libevent/event.c:2798,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:2800,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:2802,1
    - Dst: COMMON_TIMEOUT_IDX
      Src: /src/libevent/event.c:2803,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:2811,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:2815,1
    - Dst: event_debug
      Src: /src/libevent/event.c:2818,1
    - Dst: event_queue_reinsert_timeout
      Src: /src/libevent/event.c:2823,1
    - Dst: event_queue_insert_timeout
      Src: /src/libevent/event.c:2825,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:2830,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:2831,1
    - Dst: common_timeout_schedule
      Src: /src/libevent/event.c:2832,1
    - Dst: min_heap_elt_is_top_
      Src: /src/libevent/event.c:2842,1
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:2844,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:2845,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:2851,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:2852,1
    - Dst: event_debug_note_add_
      Src: /src/libevent/event.c:2854,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 74
    argCount: 3
    argNames:
    - ev
    - tv
    - tv_is_absolute
    argTypes:
    - struct event*
    - struct timeval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2687
    functionDepth: 3
    functionLinenumber: 2687
    functionLinenumberEnd: 2857
    functionName: event_add_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 5
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - min_heap_elt_is_top_
    - common_timeout_schedule
    - event_debug
    - evutil_timeradd
    - min_heap_top_
    - evthread_notify_base
    - EV_SOCK_ARG
    - event_queue_insert_timeout
    - min_heap_reserve_
    - get_common_timeout_list
    - EVBASE_NEED_NOTIFY
    - event_queue_remove_timeout
    - TAILQ_FIRST
    - event_debug_note_add_
    - event_queue_reinsert_timeout
    - is_common_timeout
    - event_queue_insert_inserted
    - EVBASE_IN_THREAD
    - COMMON_TIMEOUT_IDX
    - evutil_timercmp
    - min_heap_size_
    - EVTHREAD_COND_WAIT
    - event_queue_remove_active
    - EVUTIL_ASSERT
    - evmap_signal_add_
    - gettime
    - evmap_io_add_
    - event_to_event_callback
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: int
    signature: "int event_add_nolock_(struct event *ev, const struct timeval *tv,\n
      \   int tv_is_absolute)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:2865,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2866,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2870,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:2871,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:2872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ev
    - blocking
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2859
    functionDepth: 2
    functionLinenumber: 2859
    functionLinenumberEnd: 2875
    functionName: event_del_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - event_warnx
    - EVBASE_RELEASE_LOCK
    - EVUTIL_FAILURE_CHECK
    - event_del_nolock_
    linkageType: ''
    returnType: int
    signature: int event_del_(struct event *ev, int blocking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del_
      Src: /src/libevent/event.c:2880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2877
    functionDepth: 3
    functionLinenumber: 2877
    functionLinenumberEnd: 2881
    functionName: event_del
    functionSourceFile: /src/libevent/event.c
    functionUses: 17
    functionsReached:
    - event_del_
    linkageType: ''
    returnType: int
    signature: int event_del(struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del_
      Src: /src/libevent/event.c:2886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2883
    functionDepth: 3
    functionLinenumber: 2883
    functionLinenumberEnd: 2887
    functionName: event_del_block
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_del_
    linkageType: ''
    returnType: int
    signature: int event_del_block(struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del_
      Src: /src/libevent/event.c:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2889
    functionDepth: 3
    functionLinenumber: 2889
    functionLinenumberEnd: 2893
    functionName: event_del_noblock
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_del_
    linkageType: ''
    returnType: int
    signature: int event_del_noblock(struct event *ev)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/event.c:2906,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:2907,1
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:2913,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:2924,1
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:2936,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:2938,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:2942,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2942,1
    - Dst: event_queue_remove_active_later
      Src: /src/libevent/event.c:2944,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2944,1
    - Dst: event_queue_remove_inserted
      Src: /src/libevent/event.c:2947,1
    - Dst: evmap_io_del_
      Src: /src/libevent/event.c:2949,1
    - Dst: evmap_signal_del_
      Src: /src/libevent/event.c:2951,1
    - Dst: event_haveevents
      Src: /src/libevent/event.c:2959,1
    - Dst: N_ACTIVE_CALLBACKS
      Src: /src/libevent/event.c:2959,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:2964,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:2965,1
    - Dst: event_debug_note_del_
      Src: /src/libevent/event.c:2967,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:2976,1
    - Dst: EVBASE_IN_THREAD
      Src: /src/libevent/event.c:2977,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/event.c:2980,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 2
    argNames:
    - ev
    - blocking
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2900
    functionDepth: 3
    functionLinenumber: 2900
    functionLinenumberEnd: 2985
    functionName: event_del_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 6
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - event_debug
    - min_heap_top_
    - evthread_notify_base
    - EV_SOCK_ARG
    - N_ACTIVE_CALLBACKS
    - event_queue_remove_inserted
    - EVBASE_NEED_NOTIFY
    - event_queue_remove_timeout
    - event_haveevents
    - event_queue_remove_active_later
    - EVBASE_IN_THREAD
    - event_queue_remove_active
    - EVTHREAD_COND_WAIT
    - EVUTIL_ASSERT
    - evmap_io_del_
    - evmap_signal_del_
    - event_debug_note_del_
    - event_to_event_callback
    linkageType: ''
    returnType: int
    signature: int event_del_nolock_(struct event *ev, int blocking)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:2990,1
    - Dst: event_warnx
      Src: /src/libevent/event.c:2991,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:2995,1
    - Dst: event_debug_assert_is_setup_
      Src: /src/libevent/event.c:2997,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:2999,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ev
    - res
    - ncalls
    argTypes:
    - struct event*
    - int
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2987
    functionDepth: 3
    functionLinenumber: 2987
    functionLinenumberEnd: 3002
    functionName: event_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - event_active_nolock_
    - event_warnx
    - EVUTIL_FAILURE_CHECK
    - EVBASE_RELEASE_LOCK
    - event_debug_assert_is_setup_
    linkageType: ''
    returnType: void
    signature: void event_active(struct event *ev, int res, short ncalls)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/event.c:3010,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3011,1
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3014,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3024,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:3043,1
    - Dst: EVBASE_IN_THREAD
      Src: /src/libevent/event.c:3044,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/event.c:3046,1
    - Dst: event_callback_activate_nolock_
      Src: /src/libevent/event.c:3053,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:3053,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ev
    - res
    - ncalls
    argTypes:
    - struct event*
    - int
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 3005
    functionDepth: 1
    functionLinenumber: 3005
    functionLinenumberEnd: 3054
    functionName: event_active_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 6
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - EVBASE_IN_THREAD
    - EVTHREAD_COND_WAIT
    - EVUTIL_ASSERT
    - EV_SOCK_ARG
    - event_debug
    - event_callback_activate_nolock_
    - event_to_event_callback
    linkageType: ''
    returnType: void
    signature: void event_active_nolock_(struct event *ev, int res, short ncalls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3059,1
    - Dst: event_active_later_nolock_
      Src: /src/libevent/event.c:3060,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ev
    - res
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3062
      start: 3056
    functionDepth: 1
    functionLinenumber: 3056
    functionLinenumberEnd: 3062
    functionName: event_active_later_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_active_later_nolock_
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void event_active_later_(struct event *ev, int res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3068,1
    - Dst: event_callback_activate_later_nolock_
      Src: /src/libevent/event.c:3078,1
    - Dst: event_to_event_callback
      Src: /src/libevent/event.c:3078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ev
    - res
    argTypes:
    - struct event*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3064
    functionDepth: 1
    functionLinenumber: 3064
    functionLinenumberEnd: 3079
    functionName: event_active_later_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - event_to_event_callback
    - event_callback_activate_later_nolock_
    linkageType: ''
    returnType: void
    signature: void event_active_later_nolock_(struct event *ev, int res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3086,1
    - Dst: event_callback_activate_nolock_
      Src: /src/libevent/event.c:3087,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3081
    functionDepth: 1
    functionLinenumber: 3081
    functionLinenumberEnd: 3090
    functionName: event_callback_activate_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - event_callback_activate_nolock_
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: "int event_callback_activate_(struct event_base *base,\n    struct
      event_callback *evcb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3103,1
    - Dst: event_queue_remove_active_later
      Src: /src/libevent/event.c:3106,1
    - Dst: event_queue_insert_active
      Src: /src/libevent/event.c:3115,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:3117,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:3118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3092
    functionDepth: 2
    functionLinenumber: 3092
    functionLinenumberEnd: 3121
    functionName: event_callback_activate_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 3
    functionsReached:
    - event_queue_remove_active_later
    - EVBASE_NEED_NOTIFY
    - evthread_notify_base
    - EVUTIL_ASSERT
    - event_queue_insert_active
    linkageType: ''
    returnType: int
    signature: "int event_callback_activate_nolock_(struct event_base *base,\n    struct
      event_callback *evcb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_queue_insert_active_later
      Src: /src/libevent/event.c:3130,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:3131,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:3132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3123
    functionDepth: 2
    functionLinenumber: 3123
    functionLinenumberEnd: 3134
    functionName: event_callback_activate_later_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVBASE_NEED_NOTIFY
    - evthread_notify_base
    - event_queue_insert_active_later
    linkageType: ''
    returnType: int
    signature: "int event_callback_activate_later_nolock_(struct event_base *base,\n
      \   struct event_callback *evcb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/event.c:3140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - cb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3142
    functionName: event_callback_init_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void event_callback_init_(struct event_base *base,\n    struct event_callback
      *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3149,1
    - Dst: event_callback_cancel_nolock_
      Src: /src/libevent/event.c:3150,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3144
    functionDepth: 1
    functionLinenumber: 3144
    functionLinenumberEnd: 3153
    functionName: event_callback_cancel_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    - event_callback_cancel_nolock_
    linkageType: ''
    returnType: int
    signature: "int event_callback_cancel_(struct event_base *base,\n    struct event_callback
      *evcb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:3163,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:3163,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3169,1
    - Dst: event_queue_remove_active
      Src: /src/libevent/event.c:3173,1
    - Dst: event_queue_remove_active_later
      Src: /src/libevent/event.c:3176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - base
    - evcb
    - even_if_finalizing
    argTypes:
    - struct event_base*
    - struct event_callback*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3183
      start: 3155
    functionDepth: 4
    functionLinenumber: 3155
    functionLinenumberEnd: 3183
    functionName: event_callback_cancel_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 4
    functionsReached:
    - event_queue_remove_active_later
    - event_queue_remove_active
    - event_callback_to_event
    - EVUTIL_ASSERT
    - event_del_nolock_
    linkageType: ''
    returnType: int
    signature: "int event_callback_cancel_nolock_(struct event_base *base,\n    struct
      event_callback *evcb, int even_if_finalizing)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/event.c:3188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cb
    - priority
    - fn
    - arg
    argTypes:
    - struct event_callback*
    - ev_uint8_t
    - deferred_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3193
    functionName: event_deferred_cb_init_
    functionSourceFile: /src/libevent/event.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void event_deferred_cb_init_(struct event_callback *cb, ev_uint8_t
      priority, deferred_cb_fn fn, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - priority
    argTypes:
    - struct event_callback*
    - ev_uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3199
    functionName: event_deferred_cb_set_priority_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_deferred_cb_set_priority_(struct event_callback *cb, ev_uint8_t
      priority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_callback_cancel_
      Src: /src/libevent/event.c:3206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - base
    - cb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3207
      start: 3201
    functionDepth: 2
    functionLinenumber: 3201
    functionLinenumberEnd: 3207
    functionName: event_deferred_cb_cancel_
    functionSourceFile: /src/libevent/event.c
    functionUses: 3
    functionsReached:
    - event_callback_cancel_
    linkageType: ''
    returnType: void
    signature: void event_deferred_cb_cancel_(struct event_base *base, struct event_callback
      *cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3216,1
    - Dst: event_callback_activate_later_nolock_
      Src: /src/libevent/event.c:3218,1
    - Dst: event_callback_activate_nolock_
      Src: /src/libevent/event.c:3220,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - base
    - cb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3210
    functionDepth: 3
    functionLinenumber: 3210
    functionLinenumberEnd: 3227
    functionName: event_deferred_cb_schedule_
    functionSourceFile: /src/libevent/event.c
    functionUses: 6
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_LOCK
    - event_callback_activate_nolock_
    - event_callback_activate_later_nolock_
    linkageType: ''
    returnType: int
    signature: int event_deferred_cb_schedule_(struct event_base *base, struct event_callback
      *cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:3238,1
    - Dst: gettime
      Src: /src/libevent/event.c:3246,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:3251,1
    - Dst: evutil_timerclear
      Src: /src/libevent/event.c:3252,1
    - Dst: evutil_timersub
      Src: /src/libevent/event.c:3256,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3258,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3259,1
    - Dst: event_debug
      Src: /src/libevent/event.c:3260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - base
    - tv_p
    argTypes:
    - struct event_base*
    - struct timeval**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3264
      start: 3229
    functionDepth: 2
    functionLinenumber: 3229
    functionLinenumberEnd: 3264
    functionName: timeout_next
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - min_heap_top_
    - evutil_timercmp
    - EVUTIL_ASSERT
    - event_debug
    - gettime
    - evutil_timerclear
    - evutil_timersub
    linkageType: ''
    returnType: int
    signature: int timeout_next(struct event_base *base, struct timeval **tv_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_empty_
      Src: /src/libevent/event.c:3274,1
    - Dst: gettime
      Src: /src/libevent/event.c:3278,1
    - Dst: min_heap_top_
      Src: /src/libevent/event.c:3280,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:3283,1
    - Dst: event_del_nolock_
      Src: /src/libevent/event.c:3287,1
    - Dst: event_queue_remove_timeout
      Src: /src/libevent/event.c:3289,1
    - Dst: event_debug
      Src: /src/libevent/event.c:3291,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:3293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3295
      start: 3267
    functionDepth: 4
    functionLinenumber: 3267
    functionLinenumberEnd: 3295
    functionName: timeout_process
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - min_heap_top_
    - min_heap_empty_
    - evutil_timercmp
    - event_queue_remove_timeout
    - event_debug
    - gettime
    - event_active_nolock_
    - event_del_nolock_
    linkageType: ''
    returnType: void
    signature: void timeout_process(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3299
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3299
    functionName: MAX
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3301
    functionDepth: 0
    functionLinenumber: 3301
    functionLinenumberEnd: 3302
    functionName: MAX_EVENT_COUNT
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_EVENT_COUNT(var, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3307
    functionDepth: 0
    functionLinenumber: 3307
    functionLinenumberEnd: 3309
    functionName: DECR_EVENT_COUNT
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECR_EVENT_COUNT(base,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3313
    functionName: INCR_EVENT_COUNT
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR_EVENT_COUNT(base,flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3317,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3318,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3319,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3320,1
    - Dst: DECR_EVENT_COUNT
      Src: /src/libevent/event.c:3323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3314
    functionDepth: 2
    functionLinenumber: 3314
    functionLinenumberEnd: 3325
    functionName: event_queue_remove_inserted
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - event_errx
    - EV_SOCK_ARG
    - DECR_EVENT_COUNT
    - EVUTIL_FAILURE_CHECK
    linkageType: ''
    returnType: void
    signature: void event_queue_remove_inserted(struct event_base *base, struct event
      *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3329,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3330,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3331,1
    - Dst: DECR_EVENT_COUNT
      Src: /src/libevent/event.c:3335,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3341
      start: 3326
    functionDepth: 2
    functionLinenumber: 3326
    functionLinenumberEnd: 3341
    functionName: event_queue_remove_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 4
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - event_errx
    - DECR_EVENT_COUNT
    - EVUTIL_FAILURE_CHECK
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void event_queue_remove_active(struct event_base *base, struct event_callback
      *evcb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3345,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3346,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3347,1
    - Dst: DECR_EVENT_COUNT
      Src: /src/libevent/event.c:3351,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3342
    functionDepth: 2
    functionLinenumber: 3342
    functionLinenumberEnd: 3356
    functionName: event_queue_remove_active_later
    functionSourceFile: /src/libevent/event.c
    functionUses: 3
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - event_errx
    - DECR_EVENT_COUNT
    - EVUTIL_FAILURE_CHECK
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void event_queue_remove_active_later(struct event_base *base, struct
      event_callback *evcb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3360,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3361,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3362,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3363,1
    - Dst: DECR_EVENT_COUNT
      Src: /src/libevent/event.c:3366,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:3369,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:3371,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3372,1
    - Dst: min_heap_erase_
      Src: /src/libevent/event.c:3375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3357
    functionDepth: 2
    functionLinenumber: 3357
    functionLinenumberEnd: 3377
    functionName: event_queue_remove_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 5
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - get_common_timeout_list
    - event_errx
    - EV_SOCK_ARG
    - min_heap_erase_
    - DECR_EVENT_COUNT
    - EVUTIL_FAILURE_CHECK
    - TAILQ_REMOVE
    - is_common_timeout
    linkageType: ''
    returnType: void
    signature: void event_queue_remove_timeout(struct event_base *base, struct event
      *ev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_queue_insert_timeout
      Src: /src/libevent/event.c:3387,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3394,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:3396,1
    - Dst: insert_common_timeout_inorder
      Src: /src/libevent/event.c:3397,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3401,1
    - Dst: min_heap_push_
      Src: /src/libevent/event.c:3403,1
    - Dst: min_heap_erase_
      Src: /src/libevent/event.c:3406,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:3407,1
    - Dst: insert_common_timeout_inorder
      Src: /src/libevent/event.c:3408,1
    - Dst: min_heap_adjust_
      Src: /src/libevent/event.c:3411,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3414,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - base
    - ev
    - was_common
    - is_common
    - old_timeout_idx
    argTypes:
    - struct event_base*
    - struct event*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3381
    functionDepth: 3
    functionLinenumber: 3381
    functionLinenumberEnd: 3417
    functionName: event_queue_reinsert_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - min_heap_push_
    - get_common_timeout_list
    - EVUTIL_ASSERT
    - min_heap_erase_
    - event_queue_insert_timeout
    - min_heap_adjust_
    - TAILQ_REMOVE
    - insert_common_timeout_inorder
    linkageType: ''
    returnType: void
    signature: "void event_queue_reinsert_timeout(struct event_base *base, struct
      event *ev,\n    int was_common, int is_common, int old_timeout_idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_REVERSE
      Src: /src/libevent/event.c:3433,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3439,1
    - Dst: is_same_common_timeout
      Src: /src/libevent/event.c:3440,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:3441,1
    - Dst: TAILQ_INSERT_AFTER
      Src: /src/libevent/event.c:3442,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/libevent/event.c:3447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctl
    - ev
    argTypes:
    - struct common_timeout_list*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3449
      start: 3421
    functionDepth: 1
    functionLinenumber: 3421
    functionLinenumberEnd: 3449
    functionName: insert_common_timeout_inorder
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - evutil_timercmp
    - TAILQ_INSERT_AFTER
    - TAILQ_INSERT_HEAD
    - EVUTIL_ASSERT
    - TAILQ_FOREACH_REVERSE
    - is_same_common_timeout
    linkageType: ''
    returnType: void
    signature: "void insert_common_timeout_inorder(struct common_timeout_list *ctl,\n
      \   struct event *ev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3454,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3456,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3457,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3458,1
    - Dst: INCR_EVENT_COUNT
      Src: /src/libevent/event.c:3462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3465
      start: 3451
    functionDepth: 2
    functionLinenumber: 3451
    functionLinenumberEnd: 3465
    functionName: event_queue_insert_inserted
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - event_errx
    - EV_SOCK_ARG
    - INCR_EVENT_COUNT
    - EVUTIL_FAILURE_CHECK
    linkageType: ''
    returnType: void
    signature: void event_queue_insert_inserted(struct event_base *base, struct event
      *ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3470,1
    - Dst: INCR_EVENT_COUNT
      Src: /src/libevent/event.c:3477,1
    - Dst: MAX_EVENT_COUNT
      Src: /src/libevent/event.c:3482,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3483,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/event.c:3484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3467
    functionDepth: 1
    functionLinenumber: 3467
    functionLinenumberEnd: 3486
    functionName: event_queue_insert_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - TAILQ_INSERT_TAIL
    - EVUTIL_ASSERT
    - MAX_EVENT_COUNT
    - INCR_EVENT_COUNT
    linkageType: ''
    returnType: void
    signature: void event_queue_insert_active(struct event_base *base, struct event_callback
      *evcb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3491,1
    - Dst: INCR_EVENT_COUNT
      Src: /src/libevent/event.c:3497,1
    - Dst: MAX_EVENT_COUNT
      Src: /src/libevent/event.c:3500,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3501,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/event.c:3502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - base
    - evcb
    argTypes:
    - struct event_base*
    - struct event_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3503
      start: 3488
    functionDepth: 1
    functionLinenumber: 3488
    functionLinenumberEnd: 3503
    functionName: event_queue_insert_active_later
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - TAILQ_INSERT_TAIL
    - EVUTIL_ASSERT
    - MAX_EVENT_COUNT
    - INCR_EVENT_COUNT
    linkageType: ''
    returnType: void
    signature: void event_queue_insert_active_later(struct event_base *base, struct
      event_callback *evcb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3508,1
    - Dst: EVUTIL_FAILURE_CHECK
      Src: /src/libevent/event.c:3510,1
    - Dst: event_errx
      Src: /src/libevent/event.c:3511,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3512,1
    - Dst: INCR_EVENT_COUNT
      Src: /src/libevent/event.c:3516,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:3520,1
    - Dst: get_common_timeout_list
      Src: /src/libevent/event.c:3522,1
    - Dst: insert_common_timeout_inorder
      Src: /src/libevent/event.c:3523,1
    - Dst: min_heap_push_
      Src: /src/libevent/event.c:3525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - base
    - ev
    argTypes:
    - struct event_base*
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3505
    functionDepth: 2
    functionLinenumber: 3505
    functionLinenumberEnd: 3527
    functionName: event_queue_insert_timeout
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - min_heap_push_
    - get_common_timeout_list
    - event_errx
    - EV_SOCK_ARG
    - INCR_EVENT_COUNT
    - EVUTIL_FAILURE_CHECK
    - is_common_timeout
    - insert_common_timeout_inorder
    linkageType: ''
    returnType: void
    signature: void event_queue_insert_timeout(struct event_base *base, struct event
      *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVENT_BASE_ASSERT_LOCKED
      Src: /src/libevent/event.c:3533,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/event.c:3535,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/event.c:3536,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3538,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/event.c:3539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3542
      start: 3529
    functionDepth: 1
    functionLinenumber: 3529
    functionLinenumberEnd: 3542
    functionName: event_queue_make_later_events_active
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - EVENT_BASE_ASSERT_LOCKED
    - TAILQ_INSERT_TAIL
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void event_queue_make_later_events_active(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3550
      start: 3546
    functionDepth: 0
    functionLinenumber: 3546
    functionLinenumberEnd: 3550
    functionName: event_get_version
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      event_get_version(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3556
      start: 3552
    functionDepth: 0
    functionLinenumber: 3552
    functionLinenumberEnd: 3556
    functionName: event_get_version_number
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ev_uint32_t
    signature: ev_uint32_t event_get_version_number(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3563
    functionDepth: 0
    functionLinenumber: 3563
    functionLinenumberEnd: 3567
    functionName: event_get_method
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      event_get_method(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc_fn_
      Src: /src/libevent/event.c:3581,1
    - Dst: malloc
      Src: /src/libevent/event.c:3583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3584
      start: 3574
    functionDepth: 1
    functionLinenumber: 3574
    functionLinenumberEnd: 3584
    functionName: event_mm_malloc_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_malloc_fn_
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      event_mm_malloc_(size_t sz)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc_fn_
      Src: /src/libevent/event.c:3597,1
    - Dst: memset
      Src: /src/libevent/event.c:3599,1
    - Dst: calloc
      Src: /src/libevent/event.c:3601,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3586
    functionDepth: 1
    functionLinenumber: 3586
    functionLinenumberEnd: 3613
    functionName: event_mm_calloc_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - mm_malloc_fn_
    - memset
    - calloc
    linkageType: ''
    returnType: void
    signature: 'void *

      event_mm_calloc_(size_t count, size_t size)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/event.c:3624,1
    - Dst: mm_malloc_fn_
      Src: /src/libevent/event.c:3628,1
    - Dst: memcpy
      Src: /src/libevent/event.c:3630,1
    - Dst: _strdup
      Src: /src/libevent/event.c:3633,1
    - Dst: strdup
      Src: /src/libevent/event.c:3635,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3615
    functionDepth: 1
    functionLinenumber: 3615
    functionLinenumberEnd: 3641
    functionName: event_mm_strdup_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - _strdup
    - strdup
    - memcpy
    - mm_malloc_fn_
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      event_mm_strdup_(const char *str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_realloc_fn_
      Src: /src/libevent/event.c:3647,1
    - Dst: realloc
      Src: /src/libevent/event.c:3649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3643
    functionDepth: 1
    functionLinenumber: 3643
    functionLinenumberEnd: 3650
    functionName: event_mm_realloc_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - realloc
    - mm_realloc_fn_
    linkageType: ''
    returnType: void
    signature: 'void *

      event_mm_realloc_(void *ptr, size_t sz)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_free_fn_
      Src: /src/libevent/event.c:3656,1
    - Dst: free
      Src: /src/libevent/event.c:3658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3659
      start: 3652
    functionDepth: 1
    functionLinenumber: 3652
    functionLinenumberEnd: 3659
    functionName: event_mm_free_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - free
    - mm_free_fn_
    linkageType: ''
    returnType: void
    signature: void event_mm_free_(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - (*malloc_fn)(size_t sz)
    - (*realloc_fn)(void *ptr, size_t sz)
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3661
    functionDepth: 0
    functionLinenumber: 3661
    functionLinenumberEnd: 3669
    functionName: event_set_mem_functions
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void event_set_mem_functions(void *(*malloc_fn)(size_t sz),\n\t\t\tvoid
      *(*realloc_fn)(void *ptr, size_t sz),\n\t\t\tvoid (*free_fn)(void *ptr))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3677,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3673
    functionDepth: 1
    functionLinenumber: 3673
    functionLinenumberEnd: 3680
    functionName: evthread_notify_drain_eventfd
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void evthread_notify_drain_eventfd(evutil_socket_t fd, short what,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/libevent/event.c:3689,1
    - Dst: read
      Src: /src/libevent/event.c:3692,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3696,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3699
      start: 3683
    functionDepth: 1
    functionLinenumber: 3683
    functionLinenumberEnd: 3699
    functionName: evthread_notify_drain_default
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - read
    - EVBASE_ACQUIRE_LOCK
    - recv
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void evthread_notify_drain_default(evutil_socket_t fd, short what,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3708,1
    - Dst: evthread_make_base_notifiable_nolock_
      Src: /src/libevent/event.c:3709,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3712
      start: 3701
    functionDepth: 1
    functionLinenumber: 3701
    functionLinenumberEnd: 3712
    functionName: evthread_make_base_notifiable
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - evthread_make_base_notifiable_nolock_
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int evthread_make_base_notifiable(struct event_base *base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: event_kq_add_notify_event_
      Src: /src/libevent/event.c:3726,1
    - Dst: evutil_eventfd_
      Src: /src/libevent/event.c:3735,1
    - Dst: evutil_make_internal_pipe_
      Src: /src/libevent/event.c:3743,1
    - Dst: event_assign
      Src: /src/libevent/event.c:3753,1
    - Dst: event_priority_set
      Src: /src/libevent/event.c:3758,1
    - Dst: event_add_nolock_
      Src: /src/libevent/event.c:3760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3761
      start: 3714
    functionDepth: 6
    functionLinenumber: 3714
    functionLinenumberEnd: 3761
    functionName: evthread_make_base_notifiable_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - evutil_eventfd_
    - event_assign
    - evutil_make_internal_pipe_
    - event_kq_add_notify_event_
    - event_priority_set
    - event_add_nolock_
    linkageType: ''
    returnType: int
    signature: int evthread_make_base_notifiable_nolock_(struct event_base *base)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evmap_foreach_event_
      Src: /src/libevent/event.c:3772,1
    - Dst: fn
      Src: /src/libevent/event.c:3783,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:3792,1
    - Dst: fn
      Src: /src/libevent/event.c:3798,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:3807,1
    - Dst: event_callback_to_event
      Src: /src/libevent/event.c:3814,1
    - Dst: fn
      Src: /src/libevent/event.c:3815,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - base
    - fn
    - arg
    argTypes:
    - struct event_base*
    - event_base_foreach_event_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3763
    functionDepth: 2
    functionLinenumber: 3763
    functionLinenumberEnd: 3821
    functionName: event_base_foreach_event_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - fn
    - event_callback_to_event
    - TAILQ_FOREACH
    - evmap_foreach_event_
    linkageType: ''
    returnType: int
    signature: "int event_base_foreach_event_nolock_(struct event_base *base,\n    event_base_foreach_event_cb
      fn, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/event.c:3835,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3836,1
    - Dst: evutil_timeradd
      Src: /src/libevent/event.c:3848,1
    - Dst: fprintf
      Src: /src/libevent/event.c:3849,1
    - Dst: fputc
      Src: /src/libevent/event.c:3852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - base
    - e
    - arg
    argTypes:
    - struct event_base*
    - struct event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3825
    functionDepth: 1
    functionLinenumber: 3825
    functionLinenumberEnd: 3855
    functionName: dump_inserted_event_fn
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EV_SOCK_ARG
    - evutil_timeradd
    - fputc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int dump_inserted_event_fn(const struct event_base *base, const struct
      event *e, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/event.c:3869,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/event.c:3870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - base
    - e
    - arg
    argTypes:
    - struct event_base*
    - struct event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3880
      start: 3859
    functionDepth: 1
    functionLinenumber: 3859
    functionLinenumberEnd: 3880
    functionName: dump_active_event_fn
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EV_SOCK_ARG
    - fprintf
    linkageType: ''
    returnType: int
    signature: int dump_active_event_fn(const struct event_base *base, const struct
      event *e, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3890,1
    - Dst: event_base_foreach_event_nolock_
      Src: /src/libevent/event.c:3891,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - base
    - fn
    - arg
    argTypes:
    - struct event_base*
    - event_base_foreach_event_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3894
      start: 3882
    functionDepth: 3
    functionLinenumber: 3882
    functionLinenumberEnd: 3894
    functionName: event_base_foreach_event
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - event_base_foreach_event_nolock_
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: "int event_base_foreach_event(struct event_base *base,\n    event_base_foreach_event_cb
      fn, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3900,1
    - Dst: fprintf
      Src: /src/libevent/event.c:3901,1
    - Dst: event_base_foreach_event_nolock_
      Src: /src/libevent/event.c:3902,1
    - Dst: fprintf
      Src: /src/libevent/event.c:3904,1
    - Dst: event_base_foreach_event_nolock_
      Src: /src/libevent/event.c:3905,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - base
    - output
    argTypes:
    - struct event_base*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3907
      start: 3897
    functionDepth: 3
    functionLinenumber: 3897
    functionLinenumberEnd: 3907
    functionName: event_base_dump_events
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_RELEASE_LOCK
    - EVBASE_ACQUIRE_LOCK
    - event_base_foreach_event_nolock_
    - fprintf
    linkageType: ''
    returnType: void
    signature: void event_base_dump_events(struct event_base *base, FILE *output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3912,1
    - Dst: evmap_io_active_
      Src: /src/libevent/event.c:3916,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:3927,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:3933,1
    - Dst: event_active_nolock_
      Src: /src/libevent/event.c:3936,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3942,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - base
    - fd
    - events
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3943
      start: 3909
    functionDepth: 2
    functionLinenumber: 3909
    functionLinenumberEnd: 3943
    functionName: event_base_active_by_fd
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - evmap_io_active_
    - event_active_nolock_
    - TAILQ_FOREACH
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void event_base_active_by_fd(struct event_base *base, evutil_socket_t
      fd, short events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3948,1
    - Dst: evmap_signal_active_
      Src: /src/libevent/event.c:3949,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - base
    - sig
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3951
      start: 3945
    functionDepth: 2
    functionLinenumber: 3945
    functionLinenumberEnd: 3951
    functionName: event_base_active_by_signal
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evmap_signal_active_
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void event_base_active_by_signal(struct event_base *base, int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3957,1
    - Dst: MAX_EVENT_COUNT
      Src: /src/libevent/event.c:3959,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3961
      start: 3954
    functionDepth: 1
    functionLinenumber: 3954
    functionLinenumberEnd: 3961
    functionName: event_base_add_virtual_
    functionSourceFile: /src/libevent/event.c
    functionUses: 4
    functionsReached:
    - MAX_EVENT_COUNT
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void event_base_add_virtual_(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:3966,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:3967,1
    - Dst: EVBASE_NEED_NOTIFY
      Src: /src/libevent/event.c:3969,1
    - Dst: evthread_notify_base
      Src: /src/libevent/event.c:3970,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:3971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3972
      start: 3963
    functionDepth: 2
    functionLinenumber: 3963
    functionLinenumberEnd: 3972
    functionName: event_base_del_virtual_
    functionSourceFile: /src/libevent/event.c
    functionUses: 5
    functionsReached:
    - EVBASE_NEED_NOTIFY
    - evthread_notify_base
    - EVBASE_ACQUIRE_LOCK
    - EVUTIL_ASSERT
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void event_base_del_virtual_(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/event.c:3980,1
    - Dst: evthreadimpl_disable_lock_debugging_
      Src: /src/libevent/event.c:3982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3987
      start: 3974
    functionDepth: 1
    functionLinenumber: 3974
    functionLinenumberEnd: 3987
    functionName: event_free_debug_globals_locks
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_FREE_LOCK
    - evthreadimpl_disable_lock_debugging_
    linkageType: ''
    returnType: void
    signature: void event_free_debug_globals_locks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_free_debug_globals_locks
      Src: /src/libevent/event.c:3992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3993
      start: 3989
    functionDepth: 2
    functionLinenumber: 3989
    functionLinenumberEnd: 3993
    functionName: event_free_debug_globals
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_free_debug_globals_locks
    linkageType: ''
    returnType: void
    signature: void event_free_debug_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsig_free_globals_
      Src: /src/libevent/event.c:3998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3995
    functionDepth: 1
    functionLinenumber: 3995
    functionLinenumberEnd: 3999
    functionName: event_free_evsig_globals
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evsig_free_globals_
    linkageType: ''
    returnType: void
    signature: void event_free_evsig_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_free_globals_
      Src: /src/libevent/event.c:4004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4005
      start: 4001
    functionDepth: 3
    functionLinenumber: 4001
    functionLinenumberEnd: 4005
    functionName: event_free_evutil_globals
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - evutil_free_globals_
    linkageType: ''
    returnType: void
    signature: void event_free_evutil_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_free_debug_globals
      Src: /src/libevent/event.c:4010,1
    - Dst: event_free_evsig_globals
      Src: /src/libevent/event.c:4011,1
    - Dst: event_free_evutil_globals
      Src: /src/libevent/event.c:4012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4013
      start: 4007
    functionDepth: 4
    functionLinenumber: 4007
    functionLinenumberEnd: 4013
    functionName: event_free_globals
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_free_evutil_globals
    - event_free_evsig_globals
    - event_free_debug_globals
    linkageType: ''
    returnType: void
    signature: void event_free_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_disable_debug_mode
      Src: /src/libevent/event.c:4018,1
    - Dst: event_free_globals
      Src: /src/libevent/event.c:4019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4020
      start: 4015
    functionDepth: 5
    functionLinenumber: 4015
    functionLinenumberEnd: 4020
    functionName: libevent_global_shutdown
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - event_disable_debug_mode
    - event_free_globals
    linkageType: ''
    returnType: void
    signature: void libevent_global_shutdown(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_SETUP_GLOBAL_LOCK
      Src: /src/libevent/event.c:4027,1
    - Dst: evsig_global_setup_locks_
      Src: /src/libevent/event.c:4029,1
    - Dst: evutil_global_setup_locks_
      Src: /src/libevent/event.c:4031,1
    - Dst: evutil_secure_rng_global_setup_locks_
      Src: /src/libevent/event.c:4033,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - enable_locks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4036
      start: 4023
    functionDepth: 2
    functionLinenumber: 4023
    functionLinenumberEnd: 4036
    functionName: event_global_setup_locks_
    functionSourceFile: /src/libevent/event.c
    functionUses: 2
    functionsReached:
    - evsig_global_setup_locks_
    - evutil_global_setup_locks_
    - evutil_secure_rng_global_setup_locks_
    - EVTHREAD_SETUP_GLOBAL_LOCK
    linkageType: ''
    returnType: int
    signature: int event_global_setup_locks_(const int enable_locks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/event.c:4042,1
    - Dst: event_base_assert_ok_nolock_
      Src: /src/libevent/event.c:4043,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/event.c:4044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4039
    functionDepth: 1
    functionLinenumber: 4039
    functionLinenumberEnd: 4045
    functionName: event_base_assert_ok_
    functionSourceFile: /src/libevent/event.c
    functionUses: 0
    functionsReached:
    - EVBASE_ACQUIRE_LOCK
    - event_base_assert_ok_nolock_
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void event_base_assert_ok_(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evmap_check_integrity_
      Src: /src/libevent/event.c:4055,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4063,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4064,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:4064,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4065,1
    - Dst: EVUTIL_ASSERT_TAILQ_OK
      Src: /src/libevent/event.c:4073,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:4075,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4077,1
    - Dst: evutil_timercmp
      Src: /src/libevent/event.c:4077,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4078,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4079,1
    - Dst: is_common_timeout
      Src: /src/libevent/event.c:4079,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4080,1
    - Dst: COMMON_TIMEOUT_IDX
      Src: /src/libevent/event.c:4080,1
    - Dst: EVUTIL_ASSERT_TAILQ_OK
      Src: /src/libevent/event.c:4089,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:4090,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4091,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4092,1
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/event.c:4099,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4100,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/event.c:4104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4105
      start: 4047
    functionDepth: 4
    functionLinenumber: 4047
    functionLinenumberEnd: 4105
    functionName: event_base_assert_ok_nolock_
    functionSourceFile: /src/libevent/event.c
    functionUses: 1
    functionsReached:
    - evutil_timercmp
    - COMMON_TIMEOUT_IDX
    - evmap_check_integrity_
    - EVUTIL_ASSERT
    - EVUTIL_ASSERT_TAILQ_OK
    - TAILQ_FOREACH
    - is_common_timeout
    linkageType: ''
    returnType: void
    signature: void event_base_assert_ok_nolock_(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/signalfd.c:57,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:59,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:60,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:61,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/signalfd.c:63,1
    - Dst: evmap_signal_active_
      Src: /src/libevent/signalfd.c:64,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/signalfd.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: sigfd_cb
    functionSourceFile: /src/libevent/signalfd.c
    functionUses: 0
    functionsReached:
    - evmap_signal_active_
    - read
    - EVUTIL_ASSERT
    - EVBASE_ACQUIRE_LOCK
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void sigfd_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:74,1
    - Dst: event_del_nolock_
      Src: /src/libevent/signalfd.c:75,1
    - Dst: close
      Src: /src/libevent/signalfd.c:76,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:77,1
    - Dst: mm_free
      Src: /src/libevent/signalfd.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - base
    - signo
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: sigfd_free_sigevent
    functionSourceFile: /src/libevent/signalfd.c
    functionUses: 0
    functionsReached:
    - mm_free
    - EVUTIL_ASSERT
    - close
    - event_del_nolock_
    linkageType: ''
    returnType: void
    signature: void sigfd_free_sigevent(struct event_base *base, int signo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:92,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:94,1
    - Dst: sigfd_free_sigevent
      Src: /src/libevent/signalfd.c:107,1
    - Dst: evsig_ensure_saved_
      Src: /src/libevent/signalfd.c:116,1
    - Dst: mm_malloc
      Src: /src/libevent/signalfd.c:119,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:121,1
    - Dst: sigaction
      Src: /src/libevent/signalfd.c:125,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:126,1
    - Dst: mm_free
      Src: /src/libevent/signalfd.c:127,1
    - Dst: sigemptyset
      Src: /src/libevent/signalfd.c:134,1
    - Dst: sigaddset
      Src: /src/libevent/signalfd.c:135,1
    - Dst: sigprocmask
      Src: /src/libevent/signalfd.c:136,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:137,1
    - Dst: signalfd
      Src: /src/libevent/signalfd.c:141,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:143,1
    - Dst: event_new
      Src: /src/libevent/signalfd.c:148,1
    - Dst: event_priority_set
      Src: /src/libevent/signalfd.c:154,1
    - Dst: event_add_nolock_
      Src: /src/libevent/signalfd.c:156,1
    - Dst: mm_free
      Src: /src/libevent/signalfd.c:162,1
    - Dst: close
      Src: /src/libevent/signalfd.c:164,1
    - Dst: sigprocmask
      Src: /src/libevent/signalfd.c:166,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 5
    argNames:
    - base
    - signo
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 168
    functionName: sigfd_add
    functionSourceFile: /src/libevent/signalfd.c
    functionUses: 0
    functionsReached:
    - signalfd
    - event_warn
    - EVUTIL_ASSERT
    - sigprocmask
    - event_new
    - event_priority_set
    - close
    - sigaddset
    - sigemptyset
    - sigaction
    - mm_malloc
    - mm_free
    - sigfd_free_sigevent
    - event_add_nolock_
    - evsig_ensure_saved_
    linkageType: ''
    returnType: int
    signature: int sigfd_add(struct event_base *base, int signo, short old, short
      events, void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:177,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:179,1
    - Dst: sigemptyset
      Src: /src/libevent/signalfd.c:181,1
    - Dst: sigaddset
      Src: /src/libevent/signalfd.c:182,1
    - Dst: sigprocmask
      Src: /src/libevent/signalfd.c:183,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:184,1
    - Dst: sigaction
      Src: /src/libevent/signalfd.c:192,1
    - Dst: event_warn
      Src: /src/libevent/signalfd.c:193,1
    - Dst: mm_free
      Src: /src/libevent/signalfd.c:196,1
    - Dst: sigfd_free_sigevent
      Src: /src/libevent/signalfd.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - base
    - signo
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 203
    functionName: sigfd_del
    functionSourceFile: /src/libevent/signalfd.c
    functionUses: 0
    functionsReached:
    - event_warn
    - EVUTIL_ASSERT
    - sigprocmask
    - sigaddset
    - sigemptyset
    - sigaction
    - mm_free
    - sigfd_free_sigevent
    linkageType: ''
    returnType: int
    signature: int sigfd_del(struct event_base *base, int signo, short old, short
      events, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signalfd.c:207,1
    - Dst: getenv
      Src: /src/libevent/signalfd.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: sigfd_init_
    functionSourceFile: /src/libevent/signalfd.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - getenv
    linkageType: ''
    returnType: int
    signature: int sigfd_init_(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/evrpc.c:74,1
    - Dst: evtag_init
      Src: /src/libevent/evrpc.c:79,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:81,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:82,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:83,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - http_server
    argTypes:
    - struct evhttp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: evrpc_init
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evtag_init
    - TAILQ_INIT
    - mm_calloc
    linkageType: ''
    returnType: struct evrpc_base
    signature: 'struct evrpc_base *

      evrpc_init(struct evhttp *http_server)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:100,1
    - Dst: evrpc_unregister_rpc
      Src: /src/libevent/evrpc.c:101,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:102,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:104,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:105,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:106,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:108,1
    - Dst: evrpc_remove_hook
      Src: /src/libevent/evrpc.c:109,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:110,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:112,1
    - Dst: evrpc_remove_hook
      Src: /src/libevent/evrpc.c:113,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:114,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evrpc_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: evrpc_free
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evrpc_remove_hook
    - EVUTIL_ASSERT
    - evrpc_unregister_rpc
    - TAILQ_FIRST
    - mm_free
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void evrpc_free(struct evrpc_base *base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:136,1
    - Dst: mm_calloc
      Src: /src/libevent/evrpc.c:140,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/evrpc.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - vbase
    - hook_type
    - cb_arg
    argTypes:
    - void*
    - enum EVRPC_HOOK_TYPE
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 149
    functionName: evrpc_add_hook
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - TAILQ_INSERT_TAIL
    - mm_calloc
    linkageType: ''
    returnType: void
    signature: "void *\nevrpc_add_hook(void *vbase,\n    enum EVRPC_HOOK_TYPE hook_type,\n
      \   int (*cb)(void *, struct evhttp_request *, struct evbuffer *, void *),\n
      \   void *cb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:157,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - head
    - handle
    argTypes:
    - struct evrpc_hook_list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: evrpc_remove_hook_internal
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    linkageType: ''
    returnType: int
    signature: int evrpc_remove_hook_internal(struct evrpc_hook_list *head, void *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:157,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 12
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(hook, head, next)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:183,1
    - Dst: evrpc_remove_hook_internal
      Src: /src/libevent/evrpc.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - vbase
    - hook_type
    - handle
    argTypes:
    - void*
    - enum EVRPC_HOOK_TYPE
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: evrpc_remove_hook
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 1
    functionsReached:
    - evrpc_remove_hook_internal
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: int
    signature: int evrpc_remove_hook(void *vbase, enum EVRPC_HOOK_TYPE hook_type,
      void *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct evrpc_hook*::process
      Src: /src/libevent/evrpc.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - head
    - ctx
    - req
    - evbuf
    argTypes:
    - struct evrpc_hook_list*
    - void*
    - struct evhttp_request*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: evrpc_process_hooks
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - struct evrpc_hook*::process
    linkageType: ''
    returnType: int
    signature: "int evrpc_process_hooks(struct evrpc_hook_list *head, void *ctx,\n
      \   struct evhttp_request *req, struct evbuffer *evbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process
      Src: /src/libevent/evrpc.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 12
    functionsReached:
    - process
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(hook, head, next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/evrpc.c:218,1
    - Dst: strlen
      Src: /src/libevent/evrpc.c:218,1
    - Dst: mm_malloc
      Src: /src/libevent/evrpc.c:219,1
    - Dst: event_err
      Src: /src/libevent/evrpc.c:220,1
    - Dst: memcpy
      Src: /src/libevent/evrpc.c:222,1
    - Dst: strlen
      Src: /src/libevent/evrpc.c:222,1
    - Dst: memcpy
      Src: /src/libevent/evrpc.c:223,1
    - Dst: strlen
      Src: /src/libevent/evrpc.c:223,1
    - Dst: strlen
      Src: /src/libevent/evrpc.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: evrpc_construct_uri
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - mm_malloc
    - event_err
    linkageType: ''
    returnType: char
    signature: 'char *

      evrpc_construct_uri(const char *uri)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_construct_uri
      Src: /src/libevent/evrpc.c:233,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/evrpc.c:239,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/evrpc.c:241,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - base
    - rpc
    - cb_arg
    argTypes:
    - struct evrpc_base*
    - struct evrpc*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 249
    functionName: evrpc_register_rpc
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evhttp_set_cb
    - mm_free
    - evrpc_construct_uri
    - TAILQ_INSERT_TAIL
    linkageType: ''
    returnType: int
    signature: "int evrpc_register_rpc(struct evrpc_base *base, struct evrpc *rpc,\n
      \   void (*cb)(struct evrpc_req_generic *, void *), void *cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/evrpc.c:259,1
    - Dst: strcmp
      Src: /src/libevent/evrpc.c:260,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:267,1
    - Dst: evrpc_construct_uri
      Src: /src/libevent/evrpc.c:269,1
    - Dst: evhttp_del_cb
      Src: /src/libevent/evrpc.c:272,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:273,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:275,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:277,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - struct evrpc_base*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 280
    functionName: evrpc_unregister_rpc
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ASSERT
    - evhttp_del_cb
    - evrpc_construct_uri
    - mm_free
    - TAILQ_FOREACH
    - strcmp
    - TAILQ_REMOVE
    linkageType: ''
    returnType: int
    signature: int evrpc_unregister_rpc(struct evrpc_base *base, const char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/evrpc.c:294,1
    - Dst: mm_calloc
      Src: /src/libevent/evrpc.c:297,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:304,1
    - Dst: evrpc_hook_associate_meta_
      Src: /src/libevent/evrpc.c:307,1
    - Dst: evrpc_process_hooks
      Src: /src/libevent/evrpc.c:314,1
    - Dst: evrpc_pause_request
      Src: /src/libevent/evrpc.c:320,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:326,1
    - Dst: evrpc_request_cb_closure
      Src: /src/libevent/evrpc.c:332,1
    - Dst: evrpc_reqstate_free_
      Src: /src/libevent/evrpc.c:337,1
    - Dst: evhttp_send_error
      Src: /src/libevent/evrpc.c:338,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 340
    functionName: evrpc_request_cb
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - EVUTIL_ASSERT
    - mm_calloc
    - evrpc_request_cb_closure
    - TAILQ_FIRST
    - evrpc_pause_request
    - evrpc_reqstate_free_
    - evhttp_send_error
    - evrpc_hook_associate_meta_
    - evrpc_process_hooks
    linkageType: ''
    returnType: void
    signature: void evrpc_request_cb(struct evhttp_request *req, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:349,1
    - Dst: struct evrpc*::request_new
      Src: /src/libevent/evrpc.c:357,1
    - Dst: struct evrpc*::request_unmarshal
      Src: /src/libevent/evrpc.c:361,1
    - Dst: struct evrpc*::reply_new
      Src: /src/libevent/evrpc.c:369,1
    - Dst: struct evrpc*::cb
      Src: /src/libevent/evrpc.c:374,1
    - Dst: evrpc_reqstate_free_
      Src: /src/libevent/evrpc.c:379,1
    - Dst: evhttp_send_error
      Src: /src/libevent/evrpc.c:380,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - arg
    - hook_res
    argTypes:
    - void*
    - enum EVRPC_HOOK_RESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 342
    functionDepth: 5
    functionLinenumber: 342
    functionLinenumberEnd: 382
    functionName: evrpc_request_cb_closure
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 1
    functionsReached:
    - struct evrpc*::request_unmarshal
    - struct evrpc*::cb
    - EVUTIL_ASSERT
    - struct evrpc*::request_new
    - evrpc_reqstate_free_
    - evhttp_send_error
    - struct evrpc*::reply_new
    linkageType: ''
    returnType: void
    signature: void evrpc_request_cb_closure(void *arg, enum EVRPC_HOOK_RESULT hook_res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:389,1
    - Dst: evrpc_hook_context_free_
      Src: /src/libevent/evrpc.c:394,1
    - Dst: struct evrpc*::request_free
      Src: /src/libevent/evrpc.c:396,1
    - Dst: struct evrpc*::reply_free
      Src: /src/libevent/evrpc.c:398,1
    - Dst: evbuffer_free
      Src: /src/libevent/evrpc.c:400,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - rpc_state
    argTypes:
    - struct evrpc_req_generic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 402
    functionName: evrpc_reqstate_free_
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 2
    functionsReached:
    - evrpc_hook_context_free_
    - EVUTIL_ASSERT
    - evbuffer_free
    - struct evrpc*::reply_free
    - mm_free
    - struct evrpc*::request_free
    linkageType: ''
    returnType: void
    signature: void evrpc_reqstate_free_(struct evrpc_req_generic* rpc_state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:413,1
    - Dst: struct evrpc*::reply_complete
      Src: /src/libevent/evrpc.c:418,1
    - Dst: evbuffer_new
      Src: /src/libevent/evrpc.c:423,1
    - Dst: struct evrpc*::reply_marshal
      Src: /src/libevent/evrpc.c:429,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:431,1
    - Dst: evrpc_hook_associate_meta_
      Src: /src/libevent/evrpc.c:434,1
    - Dst: evrpc_process_hooks
      Src: /src/libevent/evrpc.c:439,1
    - Dst: evrpc_pause_request
      Src: /src/libevent/evrpc.c:445,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:452,1
    - Dst: evrpc_request_done_closure
      Src: /src/libevent/evrpc.c:458,1
    - Dst: evrpc_reqstate_free_
      Src: /src/libevent/evrpc.c:462,1
    - Dst: evhttp_send_error
      Src: /src/libevent/evrpc.c:463,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - rpc_state
    argTypes:
    - struct evrpc_req_generic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 407
    functionDepth: 5
    functionLinenumber: 407
    functionLinenumberEnd: 465
    functionName: evrpc_request_done
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evbuffer_new
    - evrpc_request_done_closure
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - evrpc_pause_request
    - evrpc_reqstate_free_
    - struct evrpc*::reply_complete
    - struct evrpc*::reply_marshal
    - evhttp_send_error
    - evrpc_hook_associate_meta_
    - evrpc_process_hooks
    linkageType: ''
    returnType: void
    signature: void evrpc_request_done(struct evrpc_req_generic *rpc_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evrpc_req_generic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: evrpc_get_request
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      evrpc_get_request(struct evrpc_req_generic *req)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct evrpc_req_generic*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: evrpc_get_reply
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      evrpc_get_reply(struct evrpc_req_generic *req)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:484,1
    - Dst: evhttp_find_header
      Src: /src/libevent/evrpc.c:491,1
    - Dst: evhttp_add_header
      Src: /src/libevent/evrpc.c:492,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/evrpc.c:495,1
    - Dst: evrpc_reqstate_free_
      Src: /src/libevent/evrpc.c:497,1
    - Dst: evrpc_reqstate_free_
      Src: /src/libevent/evrpc.c:502,1
    - Dst: evhttp_send_error
      Src: /src/libevent/evrpc.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - arg
    - hook_res
    argTypes:
    - void*
    - enum EVRPC_HOOK_RESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 479
    functionDepth: 6
    functionLinenumber: 479
    functionLinenumberEnd: 505
    functionName: evrpc_request_done_closure
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 1
    functionsReached:
    - evhttp_add_header
    - EVUTIL_ASSERT
    - evrpc_reqstate_free_
    - evhttp_find_header
    - evhttp_send_error
    - evhttp_send_reply
    linkageType: ''
    returnType: void
    signature: void evrpc_request_done_closure(void *arg, enum EVRPC_HOOK_RESULT hook_res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/evrpc.c:516,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:520,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:521,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:523,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:525,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 532
    functionName: evrpc_pool_new
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_INIT
    - mm_calloc
    linkageType: ''
    returnType: struct evrpc_pool
    signature: 'struct evrpc_pool *

      evrpc_pool_new(struct event_base *base)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_hook_context_free_
      Src: /src/libevent/evrpc.c:538,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:539,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - request
    argTypes:
    - struct evrpc_request_wrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: evrpc_request_wrapper_free
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - mm_free
    - evrpc_hook_context_free_
    linkageType: ''
    returnType: void
    signature: void evrpc_request_wrapper_free(struct evrpc_request_wrapper *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:552,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:553,1
    - Dst: evrpc_request_wrapper_free
      Src: /src/libevent/evrpc.c:554,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:557,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:558,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:559,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:562,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:563,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/evrpc.c:564,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:567,1
    - Dst: evrpc_remove_hook
      Src: /src/libevent/evrpc.c:568,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:569,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:572,1
    - Dst: evrpc_remove_hook
      Src: /src/libevent/evrpc.c:573,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:574,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct evrpc_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 578
    functionName: evrpc_pool_free
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evrpc_remove_hook
    - evhttp_connection_free
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - mm_free
    - TAILQ_REMOVE
    - evrpc_request_wrapper_free
    linkageType: ''
    returnType: void
    signature: void evrpc_pool_free(struct evrpc_pool *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:589,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/evrpc.c:590,1
    - Dst: evhttp_connection_set_base
      Src: /src/libevent/evrpc.c:596,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/evrpc.c:603,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:610,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:612,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:613,1
    - Dst: evrpc_schedule_request
      Src: /src/libevent/evrpc.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pool
    - connection
    argTypes:
    - struct evrpc_pool*
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 616
    functionName: evrpc_pool_add_connection
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_TAIL
    - evrpc_schedule_request
    - EVUTIL_ASSERT
    - evhttp_connection_set_timeout
    - TAILQ_FIRST
    - TAILQ_REMOVE
    - evhttp_connection_set_base
    linkageType: ''
    returnType: void
    signature: "void evrpc_pool_add_connection(struct evrpc_pool *pool,\n    struct
      evhttp_connection *connection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - connection
    argTypes:
    - struct evrpc_pool*
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: evrpc_pool_remove_connection
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: "void evrpc_pool_remove_connection(struct evrpc_pool *pool,\n    struct
      evhttp_connection *connection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/evrpc.c:629,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/evrpc.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - timeout_in_secs
    argTypes:
    - struct evrpc_pool*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: evrpc_pool_set_timeout
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_set_timeout
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void evrpc_pool_set_timeout(struct evrpc_pool *pool, int timeout_in_secs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/evrpc.c:647,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct evrpc_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 653
    functionName: evrpc_pool_find_connection
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    - TAILQ_FIRST
    linkageType: ''
    returnType: struct evhttp_connection
    signature: 'struct evhttp_connection *

      evrpc_pool_find_connection(struct evrpc_pool *pool)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_new
      Src: /src/libevent/evrpc.c:672,1
    - Dst: struct evrpc_request_wrapper*::request_marshal
      Src: /src/libevent/evrpc.c:676,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:684,1
    - Dst: evrpc_hook_associate_meta_
      Src: /src/libevent/evrpc.c:687,1
    - Dst: evrpc_process_hooks
      Src: /src/libevent/evrpc.c:692,1
    - Dst: evrpc_pause_request
      Src: /src/libevent/evrpc.c:700,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:708,1
    - Dst: evrpc_schedule_request_closure
      Src: /src/libevent/evrpc.c:714,1
    - Dst: memset
      Src: /src/libevent/evrpc.c:718,1
    - Dst: evrpc_request_wrapper_free
      Src: /src/libevent/evrpc.c:721,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - connection
    - ctx
    argTypes:
    - struct evhttp_connection*
    - struct evrpc_request_wrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 723
    functionName: evrpc_schedule_request
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 1
    functionsReached:
    - struct evrpc_request_wrapper*::request_marshal
    - memset
    - evrpc_schedule_request_closure
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - evrpc_pause_request
    - evhttp_request_new
    - evrpc_hook_associate_meta_
    - evrpc_request_wrapper_free
    - evrpc_process_hooks
    linkageType: ''
    returnType: int
    signature: "int evrpc_schedule_request(struct evhttp_connection *connection,\n
      \   struct evrpc_request_wrapper *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_construct_uri
      Src: /src/libevent/evrpc.c:739,1
    - Dst: evutil_timerclear
      Src: /src/libevent/evrpc.c:748,1
    - Dst: evtimer_add
      Src: /src/libevent/evrpc.c:750,1
    - Dst: evhttp_make_request
      Src: /src/libevent/evrpc.c:754,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:755,1
    - Dst: memset
      Src: /src/libevent/evrpc.c:763,1
    - Dst: evrpc_request_wrapper_free
      Src: /src/libevent/evrpc.c:766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - arg
    - hook_res
    argTypes:
    - void*
    - enum EVRPC_HOOK_RESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 725
    functionDepth: 6
    functionLinenumber: 725
    functionLinenumberEnd: 767
    functionName: evrpc_schedule_request_closure
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 1
    functionsReached:
    - memset
    - evhttp_make_request
    - evrpc_construct_uri
    - evtimer_add
    - evutil_timerclear
    - mm_free
    - evrpc_request_wrapper_free
    linkageType: ''
    returnType: void
    signature: void evrpc_schedule_request_closure(void *arg, enum EVRPC_HOOK_RESULT
      hook_res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evrpc.c:775,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/evrpc.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vbase
    - ctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: evrpc_pause_request
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 3
    functionsReached:
    - TAILQ_INSERT_TAIL
    - mm_malloc
    linkageType: ''
    returnType: int
    signature: "int evrpc_pause_request(void *vbase, void *ctx,\n    void (*cb)(void
      *, enum EVRPC_HOOK_RESULT))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:802,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - vbase
    - ctx
    - res
    argTypes:
    - void*
    - void*
    - enum EVRPC_HOOK_RESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 805
    functionName: evrpc_resume_request
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    linkageType: ''
    returnType: int
    signature: int evrpc_resume_request(void *vbase, void *ctx, enum EVRPC_HOOK_RESULT
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(pause, head, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evtimer_assign
      Src: /src/libevent/evrpc.c:813,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:816,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:816,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/evrpc.c:822,1
    - Dst: evrpc_pool_schedule
      Src: /src/libevent/evrpc.c:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct evrpc_request_wrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 827
    functionName: evrpc_make_request
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evtimer_assign
    - TAILQ_INSERT_TAIL
    - EVUTIL_ASSERT
    - TAILQ_FIRST
    - evrpc_pool_schedule
    linkageType: ''
    returnType: int
    signature: int evrpc_make_request(struct evrpc_request_wrapper *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evrpc.c:841,1
    - Dst: mm_strdup
      Src: /src/libevent/evrpc.c:848,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - pool
    - request
    - reply
    - rpcname
    - cbarg
    argTypes:
    - struct evrpc_pool*
    - void*
    - void*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 862
    functionName: evrpc_make_request_ctx
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - mm_free
    - mm_strdup
    - mm_malloc
    linkageType: ''
    returnType: struct evrpc_request_wrapper
    signature: "struct evrpc_request_wrapper *\nevrpc_make_request_ctx(\n\tstruct
      evrpc_pool *pool, void *request, void *reply,\n\tconst char *rpcname,\n\tvoid
      (*req_marshal)(struct evbuffer*, void *),\n\tvoid (*rpl_clear)(void *),\n\tint
      (*rpl_unmarshal)(void *, struct evbuffer *),\n\tvoid (*cb)(struct evrpc_status
      *, void *, void *, void *),\n\tvoid *cbarg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/libevent/evrpc.c:875,1
    - Dst: evrpc_reply_done_closure
      Src: /src/libevent/evrpc.c:881,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:885,1
    - Dst: evrpc_hook_associate_meta_
      Src: /src/libevent/evrpc.c:886,1
    - Dst: evrpc_process_hooks
      Src: /src/libevent/evrpc.c:891,1
    - Dst: evhttp_request_own
      Src: /src/libevent/evrpc.c:905,1
    - Dst: evrpc_pause_request
      Src: /src/libevent/evrpc.c:907,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:911,1
    - Dst: evrpc_reply_done_closure
      Src: /src/libevent/evrpc.c:917,1
    - Dst: evrpc_request_wrapper_free
      Src: /src/libevent/evrpc.c:922,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 867
    functionDepth: 4
    functionLinenumber: 867
    functionLinenumberEnd: 923
    functionName: evrpc_reply_done
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - event_del
    - evhttp_request_own
    - EVUTIL_ASSERT
    - evrpc_reply_done_closure
    - TAILQ_FIRST
    - evrpc_pause_request
    - evrpc_hook_associate_meta_
    - evrpc_request_wrapper_free
    - evrpc_process_hooks
    linkageType: ''
    returnType: void
    signature: void evrpc_reply_done(struct evhttp_request *req, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evrpc.c:934,1
    - Dst: struct evrpc_request_wrapper*::reply_unmarshal
      Src: /src/libevent/evrpc.c:943,1
    - Dst: struct evrpc_request_wrapper*::reply_clear
      Src: /src/libevent/evrpc.c:950,1
    - Dst: evrpc_request_wrapper_free
      Src: /src/libevent/evrpc.c:955,1
    - Dst: evhttp_request_is_owned
      Src: /src/libevent/evrpc.c:959,1
    - Dst: evhttp_request_free
      Src: /src/libevent/evrpc.c:960,1
    - Dst: evrpc_pool_schedule
      Src: /src/libevent/evrpc.c:963,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - arg
    - hook_res
    argTypes:
    - void*
    - enum EVRPC_HOOK_RESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 925
    functionDepth: 3
    functionLinenumber: 925
    functionLinenumberEnd: 964
    functionName: evrpc_reply_done_closure
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 1
    functionsReached:
    - struct evrpc_request_wrapper*::reply_unmarshal
    - memset
    - struct evrpc_request_wrapper*::reply_clear
    - evhttp_request_is_owned
    - evhttp_request_free
    - evrpc_pool_schedule
    - evrpc_request_wrapper_free
    linkageType: ''
    returnType: void
    signature: void evrpc_reply_done_closure(void *arg, enum EVRPC_HOOK_RESULT hook_res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:969,1
    - Dst: evrpc_pool_find_connection
      Src: /src/libevent/evrpc.c:976,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:977,1
    - Dst: evrpc_schedule_request
      Src: /src/libevent/evrpc.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct evrpc_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 980
    functionName: evrpc_pool_schedule
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 2
    functionsReached:
    - TAILQ_REMOVE
    - evrpc_schedule_request
    - evrpc_pool_find_connection
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void evrpc_pool_schedule(struct evrpc_pool *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/evrpc.c:987,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/evrpc.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 982
    functionDepth: 4
    functionLinenumber: 982
    functionLinenumberEnd: 990
    functionName: evrpc_request_timeout
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - evhttp_connection_fail_
    linkageType: ''
    returnType: void
    signature: void evrpc_request_timeout(evutil_socket_t fd, short what, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/libevent/evrpc.c:1004,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/evrpc.c:1005,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:1006,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:1007,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - meta_data
    argTypes:
    - struct evrpc_meta_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1010
    functionName: evrpc_meta_data_free
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - mm_free
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void evrpc_meta_data_free(struct evrpc_meta_list *meta_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evrpc.c:1016,1
    - Dst: TAILQ_INIT
      Src: /src/libevent/evrpc.c:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1024
    functionName: evrpc_hook_meta_new_
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_INIT
    - mm_malloc
    linkageType: ''
    returnType: struct evrpc_hook_meta
    signature: 'struct evrpc_hook_meta *

      evrpc_hook_meta_new_(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_hook_meta_new_
      Src: /src/libevent/evrpc.c:1032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - evcon
    argTypes:
    - struct evrpc_hook_meta**
    - struct evhttp_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1037
    functionName: evrpc_hook_associate_meta_
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 4
    functionsReached:
    - evrpc_hook_meta_new_
    linkageType: ''
    returnType: int
    signature: "int evrpc_hook_associate_meta_(struct evrpc_hook_meta **pctx,\n    struct
      evhttp_connection *evcon)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_meta_data_free
      Src: /src/libevent/evrpc.c:1042,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct evrpc_hook_meta*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1039
    functionDepth: 2
    functionLinenumber: 1039
    functionLinenumberEnd: 1044
    functionName: evrpc_hook_context_free_
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 2
    functionsReached:
    - mm_free
    - evrpc_meta_data_free
    linkageType: ''
    returnType: void
    signature: void evrpc_hook_context_free_(struct evrpc_hook_meta *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_hook_meta_new_
      Src: /src/libevent/evrpc.c:1056,1
    - Dst: mm_malloc
      Src: /src/libevent/evrpc.c:1061,1
    - Dst: mm_strdup
      Src: /src/libevent/evrpc.c:1064,1
    - Dst: mm_malloc
      Src: /src/libevent/evrpc.c:1068,1
    - Dst: memcpy
      Src: /src/libevent/evrpc.c:1071,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/evrpc.c:1073,1
    - Dst: evrpc_hook_context_free_
      Src: /src/libevent/evrpc.c:1077,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:1079,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:1080,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:1081,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - key
    - data
    - data_size
    argTypes:
    - void*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1084
    functionName: evrpc_hook_add_meta
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_TAIL
    - evrpc_hook_context_free_
    - memcpy
    - mm_strdup
    - mm_malloc
    - evrpc_hook_meta_new_
    - mm_free
    linkageType: ''
    returnType: int
    signature: "int evrpc_hook_add_meta(void *ctx, const char *key,\n    const void
      *data, size_t data_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/evrpc.c:1095,1
    - Dst: strcmp
      Src: /src/libevent/evrpc.c:1096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - key
    - data
    - data_size
    argTypes:
    - void*
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1104
    functionName: evrpc_hook_find_meta
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: int evrpc_hook_find_meta(void *ctx, const char *key, void **data, size_t
      *data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1111
    functionName: evrpc_hook_get_connection
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evhttp_connection
    signature: 'struct evhttp_connection *

      evrpc_hook_get_connection(void *ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_make_request_ctx
      Src: /src/libevent/evrpc.c:1125,1
    - Dst: evrpc_make_request
      Src: /src/libevent/evrpc.c:1129,1
    - Dst: memset
      Src: /src/libevent/evrpc.c:1131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - pool
    - request
    - reply
    - cb_arg
    - rpcname
    argTypes:
    - struct evrpc_pool*
    - void*
    - void*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1135
    functionName: evrpc_send_request_generic
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - memset
    - evrpc_make_request_ctx
    - evrpc_make_request
    linkageType: ''
    returnType: int
    signature: "int evrpc_send_request_generic(struct evrpc_pool *pool,\n    void
      *request, void *reply,\n    void (*cb)(struct evrpc_status *, void *, void *,
      void *),\n    void *cb_arg,\n    const char *rpcname,\n    void (*req_marshal)(struct
      evbuffer *, void *),\n    void (*rpl_clear)(void *),\n    int (*rpl_unmarshal)(void
      *, struct evbuffer *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/evrpc.c:1146,1
    - Dst: mm_strdup
      Src: /src/libevent/evrpc.c:1149,1
    - Dst: mm_free
      Src: /src/libevent/evrpc.c:1151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - name
    - (*req_new)(void*)
    - req_new_arg
    - (*rpl_new)(void*)
    - rpl_new_arg
    argTypes:
    - char*
    - void*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1164
    functionName: evrpc_register_object
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - mm_free
    - mm_strdup
    - mm_calloc
    linkageType: ''
    returnType: struct evrpc
    signature: "struct evrpc *\nevrpc_register_object(const char *name,\n    void
      *(*req_new)(void*), void *req_new_arg, void (*req_free)(void *),\n    int (*req_unmarshal)(void
      *, struct evbuffer *),\n    void *(*rpl_new)(void*), void *rpl_new_arg, void
      (*rpl_free)(void *),\n    int (*rpl_complete)(void *),\n    void (*rpl_marshal)(struct
      evbuffer *, void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_register_object
      Src: /src/libevent/evrpc.c:1176,1
    - Dst: evrpc_register_rpc
      Src: /src/libevent/evrpc.c:1180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - base
    - name
    - cbarg
    - (*req_new)(void *)
    - req_new_arg
    - (*rpl_new)(void *)
    - rpl_new_arg
    argTypes:
    - struct evrpc_base*
    - char*
    - void*
    - void*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1166
    functionDepth: 4
    functionLinenumber: 1166
    functionLinenumberEnd: 1183
    functionName: evrpc_register_generic
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached:
    - evrpc_register_rpc
    - evrpc_register_object
    linkageType: ''
    returnType: int
    signature: "int evrpc_register_generic(struct evrpc_base *base, const char *name,\n
      \   void (*callback)(struct evrpc_req_generic *, void *), void *cbarg,\n    void
      *(*req_new)(void *), void *req_new_arg, void (*req_free)(void *),\n    int (*req_unmarshal)(void
      *, struct evbuffer *),\n    void *(*rpl_new)(void *), void *rpl_new_arg, void
      (*rpl_free)(void *),\n    int (*rpl_complete)(void *),\n    void (*rpl_marshal)(struct
      evbuffer *, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct evrpc_request_wrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1190
    functionName: evrpc_request_get_pool
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evrpc_pool
    signature: 'struct evrpc_pool *

      evrpc_request_get_pool(struct evrpc_request_wrapper *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pool
    argTypes:
    - struct evrpc_request_wrapper*
    - struct evrpc_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1197
    functionName: evrpc_request_set_pool
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evrpc_request_set_pool(struct evrpc_request_wrapper *ctx,\n    struct
      evrpc_pool *pool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - cb_arg
    argTypes:
    - struct evrpc_request_wrapper*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1206
    functionName: evrpc_request_set_cb
    functionSourceFile: /src/libevent/evrpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void evrpc_request_set_cb(struct evrpc_request_wrapper *ctx,\n    void
      (*cb)(struct evrpc_status*, void *request, void *reply, void *arg),\n    void
      *cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: bufferevent_socket_get_conn_address_
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 1
    functionsReached:
    - BEV_UPCAST
    linkageType: ''
    returnType: struct sockaddr
    signature: 'struct sockaddr *

      bufferevent_socket_get_conn_address_(struct bufferevent *bev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:110,1
    - Dst: getpeername
      Src: /src/libevent/bufferevent_sock.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - fd
    argTypes:
    - struct bufferevent*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: bufferevent_socket_set_conn_address_fd_
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - getpeername
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: "void bufferevent_socket_set_conn_address_fd_(struct bufferevent *bev,\n\tevutil_socket_t
      fd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:123,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_sock.c:124,1
    - Dst: memcpy
      Src: /src/libevent/bufferevent_sock.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bev
    - addr
    - addrlen
    argTypes:
    - struct bufferevent*
    - struct sockaddr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: bufferevent_socket_set_conn_address_
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 1
    functionsReached:
    - memcpy
    - EVUTIL_ASSERT
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: "void bufferevent_socket_set_conn_address_(struct bufferevent *bev,\n\tstruct
      sockaddr *addr, size_t addrlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:134,1
    - Dst: event_pending
      Src: /src/libevent/bufferevent_sock.c:138,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_sock.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: bufferevent_socket_outbuf_cb
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - event_pending
    - bufferevent_add_event_
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: "void bufferevent_socket_outbuf_cb(struct evbuffer *buf,\n    const
      struct evbuffer_cb_info *cbinfo,\n    void *arg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:152,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_sock.c:158,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_sock.c:175,1
    - Dst: bufferevent_wm_suspend_read
      Src: /src/libevent/bufferevent_sock.c:178,1
    - Dst: bufferevent_get_read_max_
      Src: /src/libevent/bufferevent_sock.c:182,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/bufferevent_sock.c:189,1
    - Dst: evbuffer_read
      Src: /src/libevent/bufferevent_sock.c:190,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_sock.c:191,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/bufferevent_sock.c:194,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/bufferevent_sock.c:195,1
    - Dst: EVUTIL_ERR_CONNECT_REFUSED
      Src: /src/libevent/bufferevent_sock.c:199,1
    - Dst: bufferevent_decrement_read_buckets_
      Src: /src/libevent/bufferevent_sock.c:213,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_sock.c:216,1
    - Dst: bufferevent_disable
      Src: /src/libevent/bufferevent_sock.c:224,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_sock.c:225,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_sock.c:228,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 148
    functionDepth: 8
    functionLinenumber: 148
    functionLinenumberEnd: 229
    functionName: bufferevent_readcb
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - bufferevent_wm_suspend_read
    - bufferevent_get_read_max_
    - bufferevent_disable
    - evbuffer_get_length
    - EVUTIL_ERR_RW_RETRIABLE
    - bufferevent_trigger_nolock_
    - evbuffer_unfreeze
    - evutil_socket_geterror
    - bufferevent_run_eventcb_
    - evbuffer_freeze
    - bufferevent_decref_and_unlock_
    - evbuffer_read
    - bufferevent_decrement_read_buckets_
    - EVUTIL_ERR_CONNECT_REFUSED
    - BEV_UPCAST
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void bufferevent_readcb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:235,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_sock.c:241,1
    - Dst: evutil_socket_finished_connecting_
      Src: /src/libevent/bufferevent_sock.c:251,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:264,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:265,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_sock.c:266,1
    - Dst: bufferevent_socket_set_conn_address_fd_
      Src: /src/libevent/bufferevent_sock.c:270,1
    - Dst: BEV_IS_ASYNC
      Src: /src/libevent/bufferevent_sock.c:272,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:273,1
    - Dst: bufferevent_async_set_connected_
      Src: /src/libevent/bufferevent_sock.c:274,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_sock.c:275,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_sock.c:280,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:284,1
    - Dst: bufferevent_get_write_max_
      Src: /src/libevent/bufferevent_sock.c:290,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_sock.c:295,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/bufferevent_sock.c:296,1
    - Dst: evbuffer_write_atmost
      Src: /src/libevent/bufferevent_sock.c:297,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_sock.c:298,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/bufferevent_sock.c:300,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/bufferevent_sock.c:301,1
    - Dst: bufferevent_decrement_write_buckets_
      Src: /src/libevent/bufferevent_sock.c:314,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_sock.c:317,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:318,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_sock.c:326,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_sock.c:332,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:333,1
    - Dst: bufferevent_disable
      Src: /src/libevent/bufferevent_sock.c:338,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_sock.c:339,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_sock.c:342,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 231
    functionDepth: 6
    functionLinenumber: 231
    functionLinenumberEnd: 343
    functionName: bufferevent_writecb
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - bufferevent_async_set_connected_
    - evutil_socket_geterror
    - bufferevent_incref_and_lock_
    - evutil_socket_finished_connecting_
    - bufferevent_decref_and_unlock_
    - bufferevent_decrement_write_buckets_
    - bufferevent_socket_set_conn_address_fd_
    - EVUTIL_ERR_RW_RETRIABLE
    - bufferevent_trigger_nolock_
    - bufferevent_run_eventcb_
    - evbuffer_unfreeze
    - BEV_IS_ASYNC
    - evbuffer_freeze
    - BEV_UPCAST
    - evbuffer_write_atmost
    - event_del
    - evbuffer_get_length
    - bufferevent_disable
    - bufferevent_get_write_max_
    linkageType: ''
    returnType: void
    signature: void bufferevent_writecb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: event_base_get_iocp_
      Src: /src/libevent/bufferevent_sock.c:353,1
    - Dst: bufferevent_async_new_
      Src: /src/libevent/bufferevent_sock.c:354,1
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_sock.c:357,1
    - Dst: bufferevent_init_common_
      Src: /src/libevent/bufferevent_sock.c:360,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent_sock.c:362,1
    - Dst: evbuffer_set_flags
      Src: /src/libevent/bufferevent_sock.c:366,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_sock.c:368,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_sock.c:370,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/bufferevent_sock.c:373,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_sock.c:375,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/bufferevent_sock.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - base
    - fd
    - options
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 379
    functionName: bufferevent_socket_new
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 3
    functionsReached:
    - evbuffer_add_cb
    - bufferevent_async_new_
    - evbuffer_set_flags
    - bufferevent_init_common_
    - mm_calloc
    - event_base_get_iocp_
    - event_assign
    - evbuffer_freeze
    - mm_free
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_socket_new(struct event_base *base,
      evutil_socket_t fd,\n    int options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:466,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_sock.c:468,1
    - Dst: bufferevent_unsuspend_write_
      Src: /src/libevent/bufferevent_sock.c:470,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_sock.c:471,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_sock.c:477,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_sock.c:482,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_sock.c:483,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/bufferevent_sock.c:485,1
    - Dst: bufferevent_socket_set_conn_address_
      Src: /src/libevent/bufferevent_sock.c:490,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/bufferevent_sock.c:491,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_sock.c:493,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_sock.c:494,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/bufferevent_sock.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - result
    - ai
    - arg
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 496
    functionName: bufferevent_connect_getaddrinfo_cb
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - bufferevent_unsuspend_read_
    - bufferevent_unsuspend_write_
    - BEV_LOCK
    - bufferevent_socket_connect
    - bufferevent_socket_set_conn_address_
    - bufferevent_run_eventcb_
    - bufferevent_decref_and_unlock_
    - evutil_freeaddrinfo
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: "void bufferevent_connect_getaddrinfo_cb(int result, struct evutil_addrinfo
      *ai,\n    void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/bufferevent_sock.c:503,1
    - Dst: bufferevent_socket_connect_hostname_hints
      Src: /src/libevent/bufferevent_sock.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - bev
    - evdns_base
    - family
    - hostname
    - port
    argTypes:
    - struct bufferevent*
    - struct evdns_base*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: bufferevent_socket_connect_hostname
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 1
    functionsReached:
    - bufferevent_socket_connect_hostname_hints
    - memset
    linkageType: ''
    returnType: int
    signature: "int bufferevent_socket_connect_hostname(struct bufferevent *bev,\n
      \   struct evdns_base *evdns_base, int family, const char *hostname, int port)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/bufferevent_sock.c:518,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_sock.c:526,1
    - Dst: evutil_snprintf
      Src: /src/libevent/bufferevent_sock.c:529,1
    - Dst: bufferevent_suspend_write_
      Src: /src/libevent/bufferevent_sock.c:531,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_sock.c:532,1
    - Dst: bufferevent_incref_
      Src: /src/libevent/bufferevent_sock.c:534,1
    - Dst: evutil_getaddrinfo_async_
      Src: /src/libevent/bufferevent_sock.c:535,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_sock.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - bev
    - evdns_base
    - hints_in
    - hostname
    - port
    argTypes:
    - struct bufferevent*
    - struct evdns_base*
    - struct evutil_addrinfo*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 511
    functionDepth: 8
    functionLinenumber: 511
    functionLinenumberEnd: 541
    functionName: bufferevent_socket_connect_hostname_hints
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 1
    functionsReached:
    - BEV_LOCK
    - evutil_getaddrinfo_async_
    - BEV_UNLOCK
    - EVUTIL_UPCAST
    - bufferevent_suspend_read_
    - bufferevent_incref_
    - bufferevent_suspend_write_
    - evutil_snprintf
    linkageType: ''
    returnType: int
    signature: "int bufferevent_socket_connect_hostname_hints(struct bufferevent *bev,\n
      \   struct evdns_base *evdns_base, const struct evutil_addrinfo *hints_in,\n
      \   const char *hostname, int port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:547,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_sock.c:549,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_sock.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: bufferevent_socket_get_dns_error
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int bufferevent_socket_get_dns_error(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/bufferevent_sock.c:574,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/bufferevent_sock.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - fd
    - readcb
    - writecb
    - eventcb
    - cbarg
    argTypes:
    - evutil_socket_t
    - bufferevent_data_cb
    - bufferevent_data_cb
    - bufferevent_event_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 567
    functionDepth: 6
    functionLinenumber: 567
    functionLinenumberEnd: 580
    functionName: bufferevent_new
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 2
    functionsReached:
    - bufferevent_setcb
    - bufferevent_socket_new
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_new(evutil_socket_t fd,\n    bufferevent_data_cb
      readcb, bufferevent_data_cb writecb,\n    bufferevent_event_cb eventcb, void
      *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_sock.c:587,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_sock.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - bufev
    - event
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: be_socket_enable
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - bufferevent_add_event_
    linkageType: ''
    returnType: int
    signature: int be_socket_enable(struct bufferevent *bufev, short event)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:598,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:600,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - bufev
    - event
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 595
    functionDepth: 4
    functionLinenumber: 595
    functionLinenumberEnd: 609
    functionName: be_socket_disable
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - event_del
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int be_socket_disable(struct bufferevent *bufev, short event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:614,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_sock.c:616,1
    - Dst: BEV_IS_SOCKET
      Src: /src/libevent/bufferevent_sock.c:616,1
    - Dst: event_get_fd
      Src: /src/libevent/bufferevent_sock.c:618,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/bufferevent_sock.c:621,1
    - Dst: evutil_getaddrinfo_cancel_async_
      Src: /src/libevent/bufferevent_sock.c:623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 611
    functionDepth: 4
    functionLinenumber: 611
    functionLinenumberEnd: 624
    functionName: be_socket_destruct
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - EVUTIL_CLOSESOCKET
    - event_get_fd
    - evutil_getaddrinfo_cancel_async_
    - BEV_IS_SOCKET
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void be_socket_destruct(struct bufferevent *bufev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - iotype
    - mode
    argTypes:
    - struct bufferevent*
    - short
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: be_socket_flush
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int be_socket_flush(struct bufferevent *bev, short iotype,\n    enum
      bufferevent_flush_mode mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:637,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_sock.c:639,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_sock.c:640,1
    - Dst: BEV_IS_SOCKET
      Src: /src/libevent/bufferevent_sock.c:640,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:642,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_sock.c:643,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/bufferevent_sock.c:645,1
    - Dst: evbuffer_unfreeze
      Src: /src/libevent/bufferevent_sock.c:646,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_sock.c:648,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_sock.c:650,1
    - Dst: bufferevent_enable
      Src: /src/libevent/bufferevent_sock.c:654,1
    - Dst: evutil_getaddrinfo_cancel_async_
      Src: /src/libevent/bufferevent_sock.c:656,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_sock.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - bufev
    - fd
    argTypes:
    - struct bufferevent*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 659
    functionName: be_socket_setfd
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - BEV_LOCK
    - event_del
    - EVUTIL_ASSERT
    - evbuffer_unfreeze
    - event_assign
    - evutil_getaddrinfo_cancel_async_
    - BEV_IS_SOCKET
    - BEV_UNLOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void be_socket_setfd(struct bufferevent *bufev, evutil_socket_t fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_sock.c:666,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_sock.c:668,1
    - Dst: BEV_IS_ASYNC
      Src: /src/libevent/bufferevent_sock.c:669,1
    - Dst: BEV_IS_FILTER
      Src: /src/libevent/bufferevent_sock.c:669,1
    - Dst: BEV_IS_PAIR
      Src: /src/libevent/bufferevent_sock.c:669,1
    - Dst: event_priority_set
      Src: /src/libevent/bufferevent_sock.c:672,1
    - Dst: event_priority_set
      Src: /src/libevent/bufferevent_sock.c:674,1
    - Dst: event_deferred_cb_set_priority_
      Src: /src/libevent/bufferevent_sock.c:677,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_sock.c:681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - bufev
    - priority
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 683
    functionName: bufferevent_priority_set
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - BEV_IS_FILTER
    - BEV_LOCK
    - event_deferred_cb_set_priority_
    - BEV_IS_ASYNC
    - BEV_IS_PAIR
    - BEV_UNLOCK
    - event_priority_set
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int bufferevent_priority_set(struct bufferevent *bufev, int priority)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_sock.c:691,1
    - Dst: BEV_IS_SOCKET
      Src: /src/libevent/bufferevent_sock.c:692,1
    - Dst: event_base_set
      Src: /src/libevent/bufferevent_sock.c:697,1
    - Dst: event_base_set
      Src: /src/libevent/bufferevent_sock.c:701,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_sock.c:703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - base
    - bufev
    argTypes:
    - struct event_base*
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 686
    functionDepth: 4
    functionLinenumber: 686
    functionLinenumberEnd: 705
    functionName: bufferevent_base_set
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 2
    functionsReached:
    - event_base_set
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_IS_SOCKET
    linkageType: ''
    returnType: int
    signature: int bufferevent_base_set(struct event_base *base, struct bufferevent
      *bufev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: be_socket_setfd
      Src: /src/libevent/bufferevent_sock.c:713,1
    - Dst: event_get_fd
      Src: /src/libevent/bufferevent_sock.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - bev
    - op
    - data
    argTypes:
    - struct bufferevent*
    - enum bufferevent_ctrl_op
    - union bufferevent_ctrl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 707
    functionDepth: 5
    functionLinenumber: 707
    functionLinenumberEnd: 723
    functionName: be_socket_ctrl
    functionSourceFile: /src/libevent/bufferevent_sock.c
    functionUses: 0
    functionsReached:
    - be_socket_setfd
    - event_get_fd
    linkageType: ''
    returnType: int
    signature: "int be_socket_ctrl(struct bufferevent *bev, enum bufferevent_ctrl_op
      op,\n    union bufferevent_ctrl_data *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: EPOLL_OP_TABLE_INDEX
    functionSourceFile: /src/libevent/epolltable-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPOLL_OP_TABLE_INDEX(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epoll_close
      Src: /src/libevent/epoll.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: close_epoll_handle
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - epoll_close
    linkageType: ''
    returnType: void
    signature: void close_epoll_handle(HANDLE h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libevent/epoll.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: close_epoll_handle
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void close_epoll_handle(int h)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: epoll_create1
      Src: /src/libevent/epoll.c:181,1
    - Dst: epoll_create
      Src: /src/libevent/epoll.c:186,1
    - Dst: event_warn
      Src: /src/libevent/epoll.c:188,1
    - Dst: evutil_make_socket_closeonexec
      Src: /src/libevent/epoll.c:192,1
    - Dst: mm_calloc
      Src: /src/libevent/epoll.c:196,1
    - Dst: close_epoll_handle
      Src: /src/libevent/epoll.c:197,1
    - Dst: mm_calloc
      Src: /src/libevent/epoll.c:204,1
    - Dst: mm_free
      Src: /src/libevent/epoll.c:206,1
    - Dst: close_epoll_handle
      Src: /src/libevent/epoll.c:207,1
    - Dst: evutil_getenv_
      Src: /src/libevent/epoll.c:215,1
    - Dst: timerfd_create
      Src: /src/libevent/epoll.c:232,1
    - Dst: memset
      Src: /src/libevent/epoll.c:235,1
    - Dst: epoll_ctl
      Src: /src/libevent/epoll.c:238,1
    - Dst: event_warn
      Src: /src/libevent/epoll.c:239,1
    - Dst: close
      Src: /src/libevent/epoll.c:240,1
    - Dst: event_warn
      Src: /src/libevent/epoll.c:249,1
    - Dst: sigfd_init_
      Src: /src/libevent/epoll.c:258,1
    - Dst: evsig_init_
      Src: /src/libevent/epoll.c:259,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 262
    functionName: epoll_init
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - memset
    - sigfd_init_
    - epoll_create
    - event_warn
    - close
    - mm_calloc
    - timerfd_create
    - evutil_getenv_
    - evutil_make_socket_closeonexec
    - close_epoll_handle
    - evsig_init_
    - epoll_ctl
    - mm_free
    - epoll_create1
    linkageType: ''
    returnType: void
    signature: 'void *

      epoll_init(struct event_base *base)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - change
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: change_to_string
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      change_to_string(int change)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: epoll_op_to_string
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      epoll_op_to_string(int op)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - op
    - ','
    - events
    - ','
    - ch
    - ','
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 304
    functionName: PRINT_CHANGES
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_CHANGES(op, events, ch, status)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EPOLL_OP_TABLE_INDEX
      Src: /src/libevent/epoll.c:314,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/epoll.c:319,1
    - Dst: memset
      Src: /src/libevent/epoll.c:326,1
    - Dst: epoll_ctl
      Src: /src/libevent/epoll.c:333,1
    - Dst: event_debug
      Src: /src/libevent/epoll.c:334,1
    - Dst: PRINT_CHANGES
      Src: /src/libevent/epoll.c:334,1
    - Dst: epoll_ctl
      Src: /src/libevent/epoll.c:345,1
    - Dst: event_warn
      Src: /src/libevent/epoll.c:346,1
    - Dst: event_debug
      Src: /src/libevent/epoll.c:350,1
    - Dst: epoll_ctl
      Src: /src/libevent/epoll.c:366,1
    - Dst: event_warn
      Src: /src/libevent/epoll.c:367,1
    - Dst: event_debug
      Src: /src/libevent/epoll.c:371,1
    - Dst: event_debug
      Src: /src/libevent/epoll.c:383,1
    - Dst: strerror
      Src: /src/libevent/epoll.c:386,1
    - Dst: event_warn
      Src: /src/libevent/epoll.c:394,1
    - Dst: PRINT_CHANGES
      Src: /src/libevent/epoll.c:394,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - base
    - epollop
    - ch
    argTypes:
    - struct event_base*
    - struct epollop*
    - struct event_change*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 396
    functionName: epoll_apply_one_change
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - memset
    - PRINT_CHANGES
    - event_warn
    - strerror
    - EVUTIL_ASSERT
    - event_debug
    - EPOLL_OP_TABLE_INDEX
    - epoll_ctl
    linkageType: ''
    returnType: int
    signature: "int epoll_apply_one_change(struct event_base *base,\n    struct epollop
      *epollop,\n    const struct event_change *ch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epoll_apply_one_change
      Src: /src/libevent/epoll.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 415
    functionName: epoll_apply_changes
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - epoll_apply_one_change
    linkageType: ''
    returnType: int
    signature: int epoll_apply_changes(struct event_base *base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epoll_apply_one_change
      Src: /src/libevent/epoll.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 436
    functionName: epoll_nochangelist_add
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - epoll_apply_one_change
    linkageType: ''
    returnType: int
    signature: "int epoll_nochangelist_add(struct event_base *base, evutil_socket_t
      fd,\n    short old, short events, void *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epoll_apply_one_change
      Src: /src/libevent/epoll.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 457
    functionName: epoll_nochangelist_del
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - epoll_apply_one_change
    linkageType: ''
    returnType: int
    signature: "int epoll_nochangelist_del(struct event_base *base, evutil_socket_t
      fd,\n    short old, short events, void *p)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: timerfd_settime
      Src: /src/libevent/epoll.c:493,1
    - Dst: event_warn
      Src: /src/libevent/epoll.c:494,1
    - Dst: TIMEVAL_TO_TIMESPEC
      Src: /src/libevent/epoll.c:500,1
    - Dst: evutil_tv_to_msec_
      Src: /src/libevent/epoll.c:502,1
    - Dst: epoll_apply_changes
      Src: /src/libevent/epoll.c:511,1
    - Dst: event_changelist_remove_all_
      Src: /src/libevent/epoll.c:512,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/epoll.c:514,1
    - Dst: epoll_pwait2
      Src: /src/libevent/epoll.c:517,1
    - Dst: epoll_wait
      Src: /src/libevent/epoll.c:519,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/epoll.c:522,1
    - Dst: event_warn
      Src: /src/libevent/epoll.c:526,1
    - Dst: event_debug
      Src: /src/libevent/epoll.c:533,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/epoll.c:534,1
    - Dst: evmap_io_active_
      Src: /src/libevent/epoll.c:561,1
    - Dst: evmap_io_active_
      Src: /src/libevent/epoll.c:563,1
    - Dst: mm_realloc
      Src: /src/libevent/epoll.c:573,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 582
    functionName: epoll_dispatch
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - event_warn
    - timerfd_settime
    - epoll_wait
    - EVBASE_ACQUIRE_LOCK
    - EVUTIL_ASSERT
    - epoll_apply_changes
    - evutil_tv_to_msec_
    - evmap_io_active_
    - event_changelist_remove_all_
    - event_debug
    - TIMEVAL_TO_TIMESPEC
    - epoll_pwait2
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int epoll_dispatch(struct event_base *base, struct timeval *tv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evsig_dealloc_
      Src: /src/libevent/epoll.c:590,1
    - Dst: mm_free
      Src: /src/libevent/epoll.c:592,1
    - Dst: close_epoll_handle
      Src: /src/libevent/epoll.c:594,1
    - Dst: close
      Src: /src/libevent/epoll.c:597,1
    - Dst: memset
      Src: /src/libevent/epoll.c:600,1
    - Dst: mm_free
      Src: /src/libevent/epoll.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 602
    functionName: epoll_dealloc
    functionSourceFile: /src/libevent/epoll.c
    functionUses: 0
    functionsReached:
    - memset
    - close
    - evsig_dealloc_
    - close_epoll_handle
    - mm_free
    linkageType: ''
    returnType: void
    signature: void epoll_dealloc(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: EVBUFFER_CHAIN_EXTRA
    functionSourceFile: /src/libevent/evbuffer-internal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_CHAIN_EXTRA(t, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: ASSERT_EVBUFFER_LOCKED
    functionSourceFile: /src/libevent/evbuffer-internal.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_EVBUFFER_LOCKED(buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: EVBUFFER_LOCK
    functionSourceFile: /src/libevent/evbuffer-internal.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_LOCK(buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: EVBUFFER_UNLOCK
    functionSourceFile: /src/libevent/evbuffer-internal.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_UNLOCK(buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer1
    - ','
    - buffer2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: EVBUFFER_LOCK2
    functionSourceFile: /src/libevent/evbuffer-internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_LOCK2(buffer1, buffer2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer1
    - ','
    - buffer2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: EVBUFFER_UNLOCK2
    functionSourceFile: /src/libevent/evbuffer-internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_UNLOCK2(buffer1, buffer2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - ei
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: WSABUF_FROM_EVBUFFER_IOV
    functionSourceFile: /src/libevent/evbuffer-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WSABUF_FROM_EVBUFFER_IOV(i,ei)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evthread_win32.c:56,1
    - Dst: InitializeCriticalSectionAndSpinCount
      Src: /src/libevent/evthread_win32.c:59,1
    - Dst: mm_free
      Src: /src/libevent/evthread_win32.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - locktype
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: evthread_win32_lock_create
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - mm_free
    - mm_malloc
    - InitializeCriticalSectionAndSpinCount
    linkageType: ''
    returnType: void
    signature: 'void *

      evthread_win32_lock_create(unsigned locktype)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/libevent/evthread_win32.c:70,1
    - Dst: mm_free
      Src: /src/libevent/evthread_win32.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lock_
    - locktype
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: evthread_win32_lock_free
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - mm_free
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void evthread_win32_lock_free(void *lock_, unsigned locktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryEnterCriticalSection
      Src: /src/libevent/evthread_win32.c:79,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/evthread_win32.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - lock_
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: evthread_win32_lock
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - TryEnterCriticalSection
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int evthread_win32_lock(unsigned mode, void *lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/libevent/evthread_win32.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mode
    - lock_
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: evthread_win32_unlock
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: int
    signature: int evthread_win32_unlock(unsigned mode, void *lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/libevent/evthread_win32.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: evthread_win32_get_id
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - GetCurrentThreadId
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long evthread_win32_get_id(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/libevent/evthread_win32.c:113,1
    - Dst: TEXT
      Src: /src/libevent/evthread_win32.c:113,1
    - Dst: LOAD
      Src: /src/libevent/evthread_win32.c:119,1
    - Dst: LOAD
      Src: /src/libevent/evthread_win32.c:120,1
    - Dst: LOAD
      Src: /src/libevent/evthread_win32.c:121,1
    - Dst: LOAD
      Src: /src/libevent/evthread_win32.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: evthread_win32_condvar_init
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - TEXT
    - GetModuleHandle
    - LOAD
    linkageType: ''
    returnType: int
    signature: int evthread_win32_condvar_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: LOAD
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evthread_win32.c:133,1
    - Dst: InitializeConditionVariable_fn
      Src: /src/libevent/evthread_win32.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - condflags
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: evthread_win32_condvar_alloc
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - InitializeConditionVariable_fn
    - mm_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      evthread_win32_condvar_alloc(unsigned condflags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evthread_win32.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cond_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: evthread_win32_condvar_free
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void evthread_win32_condvar_free(void *cond_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WakeAllConditionVariable_fn
      Src: /src/libevent/evthread_win32.c:153,1
    - Dst: WakeConditionVariable_fn
      Src: /src/libevent/evthread_win32.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cond
    - broadcast
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: evthread_win32_condvar_signal
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - WakeConditionVariable_fn
    - WakeAllConditionVariable_fn
    linkageType: ''
    returnType: int
    signature: int evthread_win32_condvar_signal(void *cond, int broadcast)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evutil_tv_to_msec_
      Src: /src/libevent/evthread_win32.c:168,1
    - Dst: SleepConditionVariableCS_fn
      Src: /src/libevent/evthread_win32.c:171,1
    - Dst: GetLastError
      Src: /src/libevent/evthread_win32.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cond_
    - lock_
    - tv
    argTypes:
    - void*
    - void*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: evthread_win32_condvar_wait
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - SleepConditionVariableCS_fn
    - evutil_tv_to_msec_
    linkageType: ''
    returnType: int
    signature: int evthread_win32_condvar_wait(void *cond_, void *lock_, const struct
      timeval *tv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evthread_win32.c:196,1
    - Dst: InitializeCriticalSectionAndSpinCount
      Src: /src/libevent/evthread_win32.c:198,1
    - Dst: mm_free
      Src: /src/libevent/evthread_win32.c:199,1
    - Dst: CreateEvent
      Src: /src/libevent/evthread_win32.c:202,1
    - Dst: DeleteCriticalSection
      Src: /src/libevent/evthread_win32.c:203,1
    - Dst: mm_free
      Src: /src/libevent/evthread_win32.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: evthread_win32_cond_alloc
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    - mm_malloc
    - CreateEvent
    - mm_free
    - InitializeCriticalSectionAndSpinCount
    linkageType: ''
    returnType: void
    signature: 'void *

      evthread_win32_cond_alloc(unsigned flags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/libevent/evthread_win32.c:215,1
    - Dst: CloseHandle
      Src: /src/libevent/evthread_win32.c:216,1
    - Dst: mm_free
      Src: /src/libevent/evthread_win32.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cond_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: evthread_win32_cond_free
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - mm_free
    - DeleteCriticalSection
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void evthread_win32_cond_free(void *cond_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libevent/evthread_win32.c:224,1
    - Dst: SetEvent
      Src: /src/libevent/evthread_win32.c:230,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/evthread_win32.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cond_
    - broadcast
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: evthread_win32_cond_signal
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - SetEvent
    - LeaveCriticalSection
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int evthread_win32_cond_signal(void *cond_, int broadcast)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evutil_tv_to_msec_
      Src: /src/libevent/evthread_win32.c:245,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/evthread_win32.c:247,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/evthread_win32.c:250,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/evthread_win32.c:252,1
    - Dst: GetTickCount
      Src: /src/libevent/evthread_win32.c:254,1
    - Dst: WaitForSingleObject
      Src: /src/libevent/evthread_win32.c:257,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/evthread_win32.c:258,1
    - Dst: GetTickCount
      Src: /src/libevent/evthread_win32.c:272,1
    - Dst: ResetEvent
      Src: /src/libevent/evthread_win32.c:286,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/evthread_win32.c:289,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/evthread_win32.c:292,1
    - Dst: EnterCriticalSection
      Src: /src/libevent/evthread_win32.c:294,1
    - Dst: ResetEvent
      Src: /src/libevent/evthread_win32.c:296,1
    - Dst: LeaveCriticalSection
      Src: /src/libevent/evthread_win32.c:297,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - cond_
    - lock_
    - tv
    argTypes:
    - void*
    - void*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 300
    functionName: evthread_win32_cond_wait
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - ResetEvent
    - EnterCriticalSection
    - evutil_tv_to_msec_
    - GetTickCount
    - WaitForSingleObject
    - LeaveCriticalSection
    linkageType: ''
    returnType: int
    signature: int evthread_win32_cond_wait(void *cond_, void *lock_, const struct
      timeval *tv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evthread_set_lock_callbacks
      Src: /src/libevent/evthread_win32.c:332,1
    - Dst: evthread_set_id_callback
      Src: /src/libevent/evthread_win32.c:333,1
    - Dst: evthread_win32_condvar_init
      Src: /src/libevent/evthread_win32.c:335,1
    - Dst: evthread_set_condition_callbacks
      Src: /src/libevent/evthread_win32.c:336,1
    - Dst: evthread_set_condition_callbacks
      Src: /src/libevent/evthread_win32.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 343
    functionName: evthread_use_windows_threads
    functionSourceFile: /src/libevent/evthread_win32.c
    functionUses: 0
    functionsReached:
    - evthread_set_lock_callbacks
    - evthread_set_id_callback
    - evthread_set_condition_callbacks
    - evthread_win32_condvar_init
    linkageType: ''
    returnType: int
    signature: int evthread_use_windows_threads(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UNLIKELY
      Src: /src/libevent/evutil_time.c:99,1
    - Dst: evutil_load_windows_system_library_
      Src: /src/libevent/evutil_time.c:100,1
    - Dst: TEXT
      Src: /src/libevent/evutil_time.c:100,1
    - Dst: GetProcAddress
      Src: /src/libevent/evutil_time.c:104,1
    - Dst: GetSystemTimePreciseAsFileTime_fn
      Src: /src/libevent/evutil_time.c:109,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/libevent/evutil_time.c:111,1
    - Dst: EVUTIL_UNLIKELY
      Src: /src/libevent/evutil_time.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - tv
    - tz
    argTypes:
    - struct timeval*
    - struct timezone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 121
    functionName: evutil_gettimeofday
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 4
    functionsReached:
    - EVUTIL_UNLIKELY
    - GetSystemTimePreciseAsFileTime_fn
    - evutil_load_windows_system_library_
    - GetProcAddress
    - TEXT
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int evutil_gettimeofday(struct timeval *tv, struct timezone *tz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: U64_LITERAL
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64_LITERAL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: U64_LITERAL
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64_LITERAL(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: evutil_tv_to_msec_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long evutil_tv_to_msec_(const struct timeval *tv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CreateWaitableTimer
      Src: /src/libevent/evutil_time.c:156,1
    - Dst: SetWaitableTimer
      Src: /src/libevent/evutil_time.c:160,1
    - Dst: WaitForSingleObject
      Src: /src/libevent/evutil_time.c:161,1
    - Dst: CloseHandle
      Src: /src/libevent/evutil_time.c:162,1
    - Dst: nanosleep
      Src: /src/libevent/evutil_time.c:169,1
    - Dst: sleep
      Src: /src/libevent/evutil_time.c:173,1
    - Dst: usleep
      Src: /src/libevent/evutil_time.c:174,1
    - Dst: select
      Src: /src/libevent/evutil_time.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 181
    functionName: evutil_usleep_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - usleep
    - SetWaitableTimer
    - WaitForSingleObject
    - CreateWaitableTimer
    - nanosleep
    - select
    - sleep
    linkageType: ''
    returnType: void
    signature: void evutil_usleep_(const struct timeval *tv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libevent/evutil_time.c:191,1
    - Dst: gmtime_r
      Src: /src/libevent/evutil_time.c:200,1
    - Dst: _gmtime64_s
      Src: /src/libevent/evutil_time.c:205,1
    - Dst: event_errx
      Src: /src/libevent/evutil_time.c:207,1
    - Dst: _gmtime64
      Src: /src/libevent/evutil_time.c:212,1
    - Dst: gmtime
      Src: /src/libevent/evutil_time.c:214,1
    - Dst: evutil_snprintf
      Src: /src/libevent/evutil_time.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - date
    - datelen
    - tm
    argTypes:
    - char*
    - size_t
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: evutil_date_rfc1123
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 1
    functionsReached:
    - time
    - evutil_snprintf
    - _gmtime64_s
    - _gmtime64
    - event_errx
    - gmtime
    - gmtime_r
    linkageType: ''
    returnType: int
    signature: int evutil_date_rfc1123(char *date, const size_t datelen, const struct
      tm *tm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_timeradd
      Src: /src/libevent/evutil_time.c:234,1
    - Dst: evutil_timercmp
      Src: /src/libevent/evutil_time.c:236,1
    - Dst: evutil_timersub
      Src: /src/libevent/evutil_time.c:239,1
    - Dst: evutil_timeradd
      Src: /src/libevent/evutil_time.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct evutil_monotonic_timer*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: adjust_monotonic_time
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached:
    - evutil_timercmp
    - evutil_timersub
    - evutil_timeradd
    linkageType: ''
    returnType: void
    signature: "void adjust_monotonic_time(struct evutil_monotonic_timer *base,\n
      \   struct timeval *tv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/evutil_time.c:255,1
    - Dst: memset
      Src: /src/libevent/evutil_time.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 262
    functionName: evutil_monotonic_timer_new
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached:
    - memset
    - mm_malloc
    linkageType: ''
    returnType: struct evutil_monotonic_timer
    signature: 'struct evutil_monotonic_timer *

      evutil_monotonic_timer_new(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/evutil_time.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct evutil_monotonic_timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: evutil_monotonic_timer_free
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void evutil_monotonic_timer_free(struct evutil_monotonic_timer *timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_configure_monotonic_time_
      Src: /src/libevent/evutil_time.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - timer
    - flags
    argTypes:
    - struct evutil_monotonic_timer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: evutil_configure_monotonic_time
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached:
    - evutil_configure_monotonic_time_
    linkageType: ''
    returnType: int
    signature: "int evutil_configure_monotonic_time(struct evutil_monotonic_timer
      *timer,\n                                int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/evutil_time.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - timer
    - tp
    argTypes:
    - struct evutil_monotonic_timer*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: evutil_gettime_monotonic
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached:
    - evutil_gettime_monotonic_
    linkageType: ''
    returnType: int
    signature: "int evutil_gettime_monotonic(struct evutil_monotonic_timer *timer,\n
      \                        struct timeval *tp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evutil_time.c:319,1
    - Dst: event_errx
      Src: /src/libevent/evutil_time.c:327,1
    - Dst: clock_gettime
      Src: /src/libevent/evutil_time.c:330,1
    - Dst: clock_gettime
      Src: /src/libevent/evutil_time.c:336,1
    - Dst: event_errx
      Src: /src/libevent/evutil_time.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - base
    - flags
    argTypes:
    - struct evutil_monotonic_timer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 347
    functionName: evutil_configure_monotonic_time_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 2
    functionsReached:
    - clock_gettime
    - memset
    - event_errx
    linkageType: ''
    returnType: int
    signature: "int evutil_configure_monotonic_time_(struct evutil_monotonic_timer
      *base,\n    int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/evutil_time.c:356,1
    - Dst: adjust_monotonic_time
      Src: /src/libevent/evutil_time.c:358,1
    - Dst: clock_gettime
      Src: /src/libevent/evutil_time.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - base
    - tp
    argTypes:
    - struct evutil_monotonic_timer*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: evutil_gettime_monotonic_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 3
    functionsReached:
    - clock_gettime
    - evutil_gettimeofday
    - adjust_monotonic_time
    linkageType: ''
    returnType: int
    signature: "int evutil_gettime_monotonic_(struct evutil_monotonic_timer *base,\n
      \   struct timeval *tp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evutil_time.c:389,1
    - Dst: mach_timebase_info
      Src: /src/libevent/evutil_time.c:392,1
    - Dst: mach_absolute_time
      Src: /src/libevent/evutil_time.c:393,1
    - Dst: memcpy
      Src: /src/libevent/evutil_time.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - base
    - flags
    argTypes:
    - struct evutil_monotonic_timer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 403
    functionName: evutil_configure_monotonic_time_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 2
    functionsReached:
    - memcpy
    - memset
    - mach_absolute_time
    - mach_timebase_info
    linkageType: ''
    returnType: int
    signature: "int evutil_configure_monotonic_time_(struct evutil_monotonic_timer
      *base,\n    int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/evutil_time.c:411,1
    - Dst: adjust_monotonic_time
      Src: /src/libevent/evutil_time.c:413,1
    - Dst: mach_absolute_time
      Src: /src/libevent/evutil_time.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - base
    - tp
    argTypes:
    - struct evutil_monotonic_timer*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 424
    functionName: evutil_gettime_monotonic_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 3
    functionsReached:
    - evutil_gettimeofday
    - mach_absolute_time
    - adjust_monotonic_time
    linkageType: ''
    returnType: int
    signature: "int evutil_gettime_monotonic_(struct evutil_monotonic_timer *base,\n
      \   struct timeval *tp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct evutil_monotonic_timer*::GetTickCount64_fn
      Src: /src/libevent/evutil_time.c:493,1
    - Dst: struct evutil_monotonic_timer*::GetTickCount_fn
      Src: /src/libevent/evutil_time.c:500,1
    - Dst: GetTickCount
      Src: /src/libevent/evutil_time.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evutil_monotonic_timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 514
    functionName: evutil_GetTickCount_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached:
    - GetTickCount
    - struct evutil_monotonic_timer*::GetTickCount_fn
    - struct evutil_monotonic_timer*::GetTickCount64_fn
    linkageType: ''
    returnType: ev_uint64_t
    signature: ev_uint64_t evutil_GetTickCount_(struct evutil_monotonic_timer *base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evutil_time.c:523,1
    - Dst: evutil_load_windows_system_library_
      Src: /src/libevent/evutil_time.c:525,1
    - Dst: TEXT
      Src: /src/libevent/evutil_time.c:525,1
    - Dst: GetProcAddress
      Src: /src/libevent/evutil_time.c:527,1
    - Dst: GetProcAddress
      Src: /src/libevent/evutil_time.c:528,1
    - Dst: evutil_GetTickCount_
      Src: /src/libevent/evutil_time.c:531,1
    - Dst: QueryPerformanceFrequency
      Src: /src/libevent/evutil_time.c:534,1
    - Dst: QueryPerformanceCounter
      Src: /src/libevent/evutil_time.c:536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - base
    - flags
    argTypes:
    - struct evutil_monotonic_timer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 544
    functionName: evutil_configure_monotonic_time_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 2
    functionsReached:
    - memset
    - evutil_GetTickCount_
    - QueryPerformanceCounter
    - evutil_load_windows_system_library_
    - GetProcAddress
    - TEXT
    - QueryPerformanceFrequency
    linkageType: ''
    returnType: int
    signature: "int evutil_configure_monotonic_time_(struct evutil_monotonic_timer
      *base,\n    int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - ev_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: abs64
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ev_int64_t
    signature: ev_int64_t abs64(ev_int64_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_GetTickCount_
      Src: /src/libevent/evutil_time.c:557,1
    - Dst: QueryPerformanceCounter
      Src: /src/libevent/evutil_time.c:566,1
    - Dst: abs64
      Src: /src/libevent/evutil_time.c:575,1
    - Dst: adjust_monotonic_time
      Src: /src/libevent/evutil_time.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - base
    - tp
    argTypes:
    - struct evutil_monotonic_timer*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 595
    functionName: evutil_gettime_monotonic_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 3
    functionsReached:
    - abs64
    - QueryPerformanceCounter
    - evutil_GetTickCount_
    - adjust_monotonic_time
    linkageType: ''
    returnType: int
    signature: "int evutil_gettime_monotonic_(struct evutil_monotonic_timer *base,\n
      \   struct timeval *tp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/evutil_time.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - precise
    argTypes:
    - struct evutil_monotonic_timer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: evutil_configure_monotonic_time_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: "int evutil_configure_monotonic_time_(struct evutil_monotonic_timer
      *base,\n    int precise)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/evutil_time.c:617,1
    - Dst: adjust_monotonic_time
      Src: /src/libevent/evutil_time.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - base
    - tp
    argTypes:
    - struct evutil_monotonic_timer*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: evutil_gettime_monotonic_
    functionSourceFile: /src/libevent/evutil_time.c
    functionUses: 3
    functionsReached:
    - evutil_gettimeofday
    - adjust_monotonic_time
    linkageType: ''
    returnType: int
    signature: "int evutil_gettime_monotonic_(struct evutil_monotonic_timer *base,\n
      \   struct timeval *tp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_filter.c:121,1
    - Dst: BEV_IS_FILTER
      Src: /src/libevent/bufferevent_filter.c:121,1
    - Dst: evutil_offsetof
      Src: /src/libevent/bufferevent_filter.c:123,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_filter.c:124,1
    - Dst: BEV_IS_FILTER
      Src: /src/libevent/bufferevent_filter.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: upcast
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 21
    functionsReached:
    - BEV_IS_FILTER
    - evutil_offsetof
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: struct bufferevent_filtered
    signature: 'struct bufferevent_filtered *

      upcast(struct bufferevent *bev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bev_f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: downcast
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: downcast(bev_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - bevf
    - state
    argTypes:
    - struct bufferevent_filtered*
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: be_underlying_writebuf_full
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: "int be_underlying_writebuf_full(struct bufferevent_filtered *bevf,\n
      \   enum bufferevent_flush_mode state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:149,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - bevf
    - state
    argTypes:
    - struct bufferevent_filtered*
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: be_readbuf_full
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - downcast
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: "int be_readbuf_full(struct bufferevent_filtered *bevf,\n    enum bufferevent_flush_mode
      state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/bufferevent_filter.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - src
    - dst
    - lim
    - state
    - ctx
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    - ev_ssize_t
    - enum bufferevent_flush_mode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 7
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: be_null_filter
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - evbuffer_remove_buffer
    linkageType: ''
    returnType: enum bufferevent_filter_result
    signature: "enum bufferevent_filter_result be_null_filter(struct evbuffer *src,
      struct evbuffer *dst, ev_ssize_t lim,\n\t       enum bufferevent_flush_mode
      state, void *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_filter.c:187,1
    - Dst: bufferevent_init_common_
      Src: /src/libevent/bufferevent_filter.c:191,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent_filter.c:193,1
    - Dst: bufferevent_enable_locking_
      Src: /src/libevent/bufferevent_filter.c:197,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:197,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/bufferevent_filter.c:207,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/bufferevent_filter.c:210,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:210,1
    - Dst: evbuffer_cb_clear_flags
      Src: /src/libevent/bufferevent_filter.c:212,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:212,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/bufferevent_filter.c:215,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:215,1
    - Dst: bufferevent_init_generic_timeout_cbs_
      Src: /src/libevent/bufferevent_filter.c:218,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:218,1
    - Dst: bufferevent_incref_
      Src: /src/libevent/bufferevent_filter.c:219,1
    - Dst: bufferevent_enable
      Src: /src/libevent/bufferevent_filter.c:221,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_filter.c:222,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - underlying
    - input_filter
    - output_filter
    - options
    - ctx
    argTypes:
    - struct bufferevent*
    - bufferevent_filter_cb
    - bufferevent_filter_cb
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 225
    functionName: bufferevent_filter_new
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - evbuffer_add_cb
    - evbuffer_cb_clear_flags
    - bufferevent_init_generic_timeout_cbs_
    - bufferevent_init_common_
    - mm_calloc
    - bufferevent_setcb
    - bufferevent_enable_locking_
    - downcast
    - mm_free
    - bufferevent_suspend_read_
    - bufferevent_incref_
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_filter_new(struct bufferevent *underlying,\n\t\t
      \      bufferevent_filter_cb input_filter,\n\t\t       bufferevent_filter_cb
      output_filter,\n\t\t       int options,\n\t\t       void (*free_context)(void
      *),\n\t\t       void *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_filter.c:230,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_filter.c:237,1
    - Dst: event_warnx
      Src: /src/libevent/bufferevent_filter.c:238,1
    - Dst: bufferevent_free
      Src: /src/libevent/bufferevent_filter.c:241,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/bufferevent_filter.c:246,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_filter.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 252
    functionName: be_filter_unlink
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_unsuspend_read_
    - bufferevent_setcb
    - event_warnx
    - upcast
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void be_filter_unlink(struct bufferevent *bev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_filter.c:257,1
    - Dst: struct bufferevent_filtered*::free_context
      Src: /src/libevent/bufferevent_filter.c:259,1
    - Dst: evbuffer_remove_cb_entry
      Src: /src/libevent/bufferevent_filter.c:262,1
    - Dst: evbuffer_remove_cb_entry
      Src: /src/libevent/bufferevent_filter.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: be_filter_destruct
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - upcast
    - struct bufferevent_filtered*::free_context
    - evbuffer_remove_cb_entry
    linkageType: ''
    returnType: void
    signature: void be_filter_destruct(struct bufferevent *bev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_filter.c:271,1
    - Dst: BEV_RESET_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_filter.c:273,1
    - Dst: BEV_RESET_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_filter.c:276,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_filter.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bev
    - event
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: be_filter_enable
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - upcast
    - bufferevent_unsuspend_read_
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    linkageType: ''
    returnType: int
    signature: int be_filter_enable(struct bufferevent *bev, short event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_filter.c:286,1
    - Dst: BEV_DEL_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_filter.c:288,1
    - Dst: BEV_DEL_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_filter.c:290,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_filter.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bev
    - event
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: be_filter_disable
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - upcast
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    - BEV_DEL_GENERIC_READ_TIMEOUT
    - bufferevent_suspend_read_
    linkageType: ''
    returnType: int
    signature: int be_filter_disable(struct bufferevent *bev, short event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:303,1
    - Dst: be_readbuf_full
      Src: /src/libevent/bufferevent_filter.c:309,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:317,1
    - Dst: struct bufferevent_filtered*::process_in
      Src: /src/libevent/bufferevent_filter.c:319,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:326,1
    - Dst: be_readbuf_full
      Src: /src/libevent/bufferevent_filter.c:327,1
    - Dst: BEV_RESET_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_filter.c:330,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - bevf
    - state
    - processed_out
    argTypes:
    - struct bufferevent_filtered*
    - enum bufferevent_flush_mode
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 333
    functionName: be_filter_process_input
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - be_readbuf_full
    - downcast
    - struct bufferevent_filtered*::process_in
    - BEV_RESET_GENERIC_READ_TIMEOUT
    linkageType: ''
    returnType: enum bufferevent_filter_result
    signature: "enum bufferevent_filter_result be_filter_process_input(struct bufferevent_filtered
      *bevf,\n\t\t\tenum bufferevent_flush_mode state,\n\t\t\tint *processed_out)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:343,1
    - Dst: be_underlying_writebuf_full
      Src: /src/libevent/bufferevent_filter.c:353,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:354,1
    - Dst: evbuffer_cb_clear_flags
      Src: /src/libevent/bufferevent_filter.c:360,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:372,1
    - Dst: struct bufferevent_filtered*::process_out
      Src: /src/libevent/bufferevent_filter.c:374,1
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:374,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:388,1
    - Dst: be_underlying_writebuf_full
      Src: /src/libevent/bufferevent_filter.c:390,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_filter.c:394,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:398,1
    - Dst: be_underlying_writebuf_full
      Src: /src/libevent/bufferevent_filter.c:399,1
    - Dst: evbuffer_cb_set_flags
      Src: /src/libevent/bufferevent_filter.c:406,1
    - Dst: BEV_RESET_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_filter.c:410,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 3
    argNames:
    - bevf
    - state
    - processed_out
    argTypes:
    - struct bufferevent_filtered*
    - enum bufferevent_flush_mode
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 413
    functionName: be_filter_process_output
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - evbuffer_cb_clear_flags
    - evbuffer_get_length
    - be_underlying_writebuf_full
    - bufferevent_trigger_nolock_
    - evbuffer_cb_set_flags
    - struct bufferevent_filtered*::process_out
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - downcast
    linkageType: ''
    returnType: enum bufferevent_filter_result
    signature: "enum bufferevent_filter_result be_filter_process_output(struct bufferevent_filtered
      *bevf,\n\t\t\t enum bufferevent_flush_mode state,\n\t\t\t int *processed_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:421,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_filter.c:427,1
    - Dst: be_filter_process_output
      Src: /src/libevent/bufferevent_filter.c:428,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_filter.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: bufferevent_filtered_outbuf_cb
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - bufferevent_decref_and_unlock_
    - downcast
    - be_filter_process_output
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: "void bufferevent_filtered_outbuf_cb(struct evbuffer *buf,\n    const
      struct evbuffer_cb_info *cbinfo, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:439,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_filter.c:440,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_filter.c:444,1
    - Dst: be_filter_process_input
      Src: /src/libevent/bufferevent_filter.c:455,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_filter.c:462,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:463,1
    - Dst: be_readbuf_full
      Src: /src/libevent/bufferevent_filter.c:464,1
    - Dst: evbuffer_cb_set_flags
      Src: /src/libevent/bufferevent_filter.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - underlying
    - me_
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 433
    functionDepth: 4
    functionLinenumber: 433
    functionLinenumberEnd: 475
    functionName: be_filter_read_nolock_
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - bufferevent_trigger_nolock_
    - EVUTIL_ASSERT
    - evbuffer_cb_set_flags
    - be_readbuf_full
    - be_filter_process_input
    - downcast
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void be_filter_read_nolock_(struct bufferevent *underlying, void *me_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:484,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_filter.c:486,1
    - Dst: be_readbuf_full
      Src: /src/libevent/bufferevent_filter.c:494,1
    - Dst: evbuffer_cb_clear_flags
      Src: /src/libevent/bufferevent_filter.c:499,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_filter.c:501,1
    - Dst: be_filter_read_nolock_
      Src: /src/libevent/bufferevent_filter.c:502,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_filter.c:505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 478
    functionDepth: 5
    functionLinenumber: 478
    functionLinenumberEnd: 506
    functionName: bufferevent_filtered_inbuf_cb
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - be_filter_read_nolock_
    - evbuffer_cb_clear_flags
    - BEV_LOCK
    - evbuffer_get_length
    - be_readbuf_full
    - downcast
    - BEV_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void bufferevent_filtered_inbuf_cb(struct evbuffer *buf,\n    const
      struct evbuffer_cb_info *cbinfo, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:513,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_filter.c:515,1
    - Dst: be_filter_read_nolock_
      Src: /src/libevent/bufferevent_filter.c:517,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_filter.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - underlying
    - me_
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 509
    functionDepth: 5
    functionLinenumber: 509
    functionLinenumberEnd: 520
    functionName: be_filter_readcb
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - be_filter_read_nolock_
    - BEV_LOCK
    - downcast
    - BEV_UNLOCK
    linkageType: ''
    returnType: void
    signature: void be_filter_readcb(struct bufferevent *underlying, void *me_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:528,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_filter.c:529,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_filter.c:532,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_filter.c:535,1
    - Dst: be_filter_process_output
      Src: /src/libevent/bufferevent_filter.c:539,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_filter.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - underlying
    - me_
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 524
    functionDepth: 4
    functionLinenumber: 524
    functionLinenumberEnd: 543
    functionName: be_filter_writecb
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - BEV_LOCK
    - EVUTIL_ASSERT
    - downcast
    - BEV_UNLOCK
    - BEV_UPCAST
    - be_filter_process_output
    linkageType: ''
    returnType: void
    signature: void be_filter_writecb(struct bufferevent *underlying, void *me_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: downcast
      Src: /src/libevent/bufferevent_filter.c:550,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_filter.c:551,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_filter.c:553,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_filter.c:556,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_filter.c:562,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_filter.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - underlying
    - what
    - me_
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 566
    functionName: be_filter_eventcb
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - BEV_LOCK
    - EVUTIL_ASSERT
    - bufferevent_run_eventcb_
    - downcast
    - BEV_UNLOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void be_filter_eventcb(struct bufferevent *underlying, short what,
      void *me_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_filter.c:572,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_filter.c:575,1
    - Dst: be_filter_process_input
      Src: /src/libevent/bufferevent_filter.c:578,1
    - Dst: be_filter_process_output
      Src: /src/libevent/bufferevent_filter.c:581,1
    - Dst: bufferevent_flush
      Src: /src/libevent/bufferevent_filter.c:585,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_filter.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - bufev
    - iotype
    - mode
    argTypes:
    - struct bufferevent*
    - short
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 590
    functionName: be_filter_flush
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - bufferevent_incref_and_lock_
    - bufferevent_flush
    - be_filter_process_input
    - bufferevent_decref_and_unlock_
    - upcast
    - be_filter_process_output
    linkageType: ''
    returnType: int
    signature: "int be_filter_flush(struct bufferevent *bufev,\n    short iotype,
      enum bufferevent_flush_mode mode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: upcast
      Src: /src/libevent/bufferevent_filter.c:599,1
    - Dst: upcast
      Src: /src/libevent/bufferevent_filter.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - bev
    - op
    - data
    argTypes:
    - struct bufferevent*
    - enum bufferevent_ctrl_op
    - union bufferevent_ctrl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 620
    functionName: be_filter_ctrl
    functionSourceFile: /src/libevent/bufferevent_filter.c
    functionUses: 0
    functionsReached:
    - upcast
    linkageType: ''
    returnType: int
    signature: "int be_filter_ctrl(struct bufferevent *bev, enum bufferevent_ctrl_op
      op,\n    union bufferevent_ctrl_data *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - bucket
    - cfg
    - current_tick
    - reinitialize
    argTypes:
    - struct ev_token_bucket*
    - struct ev_token_bucket_cfg*
    - ev_uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: ev_token_bucket_init_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ev_token_bucket_init_(struct ev_token_bucket *bucket,\n    const
      struct ev_token_bucket_cfg *cfg,\n    ev_uint32_t current_tick,\n    int reinitialize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - bucket
    - cfg
    - current_tick
    argTypes:
    - struct ev_token_bucket*
    - struct ev_token_bucket_cfg*
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 111
    functionName: ev_token_bucket_update_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ev_token_bucket_update_(struct ev_token_bucket *bucket,\n    const
      struct ev_token_bucket_cfg *cfg,\n    ev_uint32_t current_tick)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/bufferevent_ratelim.c:119,1
    - Dst: ev_token_bucket_get_tick_
      Src: /src/libevent/bufferevent_ratelim.c:120,1
    - Dst: ev_token_bucket_update_
      Src: /src/libevent/bufferevent_ratelim.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent_private*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: bufferevent_update_buckets
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - ev_token_bucket_update_
    - ev_token_bucket_get_tick_
    - event_base_gettimeofday_cached
    linkageType: ''
    returnType: void
    signature: void bufferevent_update_buckets(struct bufferevent_private *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv
    - cfg
    argTypes:
    - struct timeval*
    - struct ev_token_bucket_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: ev_token_bucket_get_tick_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ev_uint32_t
    signature: "ev_uint32_t ev_token_bucket_get_tick_(const struct timeval *tv,\n
      \   const struct ev_token_bucket_cfg *cfg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_ratelim.c:180,1
    - Dst: memcpy
      Src: /src/libevent/bufferevent_ratelim.c:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - read_rate
    - read_burst
    - write_rate
    - write_burst
    - tick_len
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 190
    functionName: ev_token_bucket_cfg_new
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mm_calloc
    linkageType: ''
    returnType: struct ev_token_bucket_cfg
    signature: "struct ev_token_bucket_cfg *\nev_token_bucket_cfg_new(size_t read_rate,
      size_t read_burst,\n    size_t write_rate, size_t write_burst,\n    const struct
      timeval *tick_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/bufferevent_ratelim.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct ev_token_bucket_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: ev_token_bucket_cfg_free
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - mm_free
    linkageType: ''
    returnType: void
    signature: void ev_token_bucket_cfg_free(struct ev_token_bucket_cfg *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: LOCK_GROUP
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_GROUP(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: UNLOCK_GROUP
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK_GROUP(g)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_update_buckets
      Src: /src/libevent/bufferevent_ratelim.c:242,1
    - Dst: LIM
      Src: /src/libevent/bufferevent_ratelim.c:243,1
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:249,1
    - Dst: GROUP_SUSPENDED
      Src: /src/libevent/bufferevent_ratelim.c:250,1
    - Dst: bufferevent_suspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:255,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:258,1
    - Dst: LIM
      Src: /src/libevent/bufferevent_ratelim.c:264,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:268,1
    - Dst: CLAMPTO
      Src: /src/libevent/bufferevent_ratelim.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - bev
    - is_write
    argTypes:
    - struct bufferevent_private*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 275
    functionName: bufferevent_get_rlim_max_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - GROUP_SUSPENDED
    - LIM
    - bufferevent_update_buckets
    - CLAMPTO
    - LOCK_GROUP
    - bufferevent_suspend_read_
    - UNLOCK_GROUP
    - bufferevent_suspend_write_
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_rlim_max_(struct bufferevent_private *bev,
      int is_write)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: LIM
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: GROUP_SUSPENDED
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GROUP_SUSPENDED(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: CLAMPTO
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMPTO(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_rlim_max_
      Src: /src/libevent/bufferevent_ratelim.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent_private*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: bufferevent_get_read_max_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 2
    functionsReached:
    - bufferevent_get_rlim_max_
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_read_max_(struct bufferevent_private *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_rlim_max_
      Src: /src/libevent/bufferevent_ratelim.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent_private*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: bufferevent_get_write_max_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 2
    functionsReached:
    - bufferevent_get_rlim_max_
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_write_max_(struct bufferevent_private *bev)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:301,1
    - Dst: event_add
      Src: /src/libevent/bufferevent_ratelim.c:302,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ratelim.c:307,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:308,1
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:313,1
    - Dst: bev_group_suspend_reading_
      Src: /src/libevent/bufferevent_ratelim.c:317,1
    - Dst: bev_group_unsuspend_reading_
      Src: /src/libevent/bufferevent_ratelim.c:319,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - bev
    - bytes
    argTypes:
    - struct bufferevent_private*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 289
    functionDepth: 4
    functionLinenumber: 289
    functionLinenumberEnd: 325
    functionName: bufferevent_decrement_read_buckets_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 4
    functionsReached:
    - bufferevent_unsuspend_read_
    - event_del
    - bev_group_unsuspend_reading_
    - event_add
    - LOCK_GROUP
    - bufferevent_suspend_read_
    - UNLOCK_GROUP
    - bev_group_suspend_reading_
    linkageType: ''
    returnType: int
    signature: int bufferevent_decrement_read_buckets_(struct bufferevent_private
      *bev, ev_ssize_t bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_suspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:339,1
    - Dst: event_add
      Src: /src/libevent/bufferevent_ratelim.c:340,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ratelim.c:345,1
    - Dst: bufferevent_unsuspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:346,1
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:351,1
    - Dst: bev_group_suspend_writing_
      Src: /src/libevent/bufferevent_ratelim.c:355,1
    - Dst: bev_group_unsuspend_writing_
      Src: /src/libevent/bufferevent_ratelim.c:357,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - bev
    - bytes
    argTypes:
    - struct bufferevent_private*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 363
    functionName: bufferevent_decrement_write_buckets_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 4
    functionsReached:
    - bev_group_suspend_writing_
    - bufferevent_unsuspend_write_
    - event_del
    - event_add
    - LOCK_GROUP
    - bev_group_unsuspend_writing_
    - UNLOCK_GROUP
    - bufferevent_suspend_write_
    linkageType: ''
    returnType: int
    signature: int bufferevent_decrement_write_buckets_(struct bufferevent_private
      *bev, ev_ssize_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FOREACH
      Src: /src/libevent/bufferevent_ratelim.c:380,1
    - Dst: EVLOCK_TRY_LOCK_
      Src: /src/libevent/bufferevent_ratelim.c:381,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:382,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 388
    functionName: bev_group_suspend_reading_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached:
    - EVLOCK_UNLOCK
    - EVLOCK_TRY_LOCK_
    - bufferevent_suspend_read_
    - LIST_FOREACH
    linkageType: ''
    returnType: int
    signature: int bev_group_suspend_reading_(struct bufferevent_rate_limit_group
      *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FOREACH
      Src: /src/libevent/bufferevent_ratelim.c:398,1
    - Dst: EVLOCK_TRY_LOCK_
      Src: /src/libevent/bufferevent_ratelim.c:399,1
    - Dst: bufferevent_suspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:400,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: bev_group_suspend_writing_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached:
    - EVLOCK_UNLOCK
    - EVLOCK_TRY_LOCK_
    - LIST_FOREACH
    - bufferevent_suspend_write_
    linkageType: ''
    returnType: int
    signature: int bev_group_suspend_writing_(struct bufferevent_rate_limit_group
      *g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:417,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:419,1
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/bufferevent_ratelim.c:424,1
    - Dst: ev_token_bucket_get_tick_
      Src: /src/libevent/bufferevent_ratelim.c:425,1
    - Dst: ev_token_bucket_update_
      Src: /src/libevent/bufferevent_ratelim.c:427,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:434,1
    - Dst: bufferevent_unsuspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:440,1
    - Dst: event_add
      Src: /src/libevent/bufferevent_ratelim.c:452,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 456
    functionName: bev_refill_callback_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_unsuspend_read_
    - bufferevent_unsuspend_write_
    - BEV_LOCK
    - ev_token_bucket_get_tick_
    - event_base_gettimeofday_cached
    - ev_token_bucket_update_
    - event_add
    - BEV_UNLOCK
    linkageType: ''
    returnType: void
    signature: void bev_refill_callback_(evutil_socket_t fd, short what, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ratelim.c:473,1
    - Dst: LIST_EMPTY
      Src: /src/libevent/bufferevent_ratelim.c:473,1
    - Dst: evutil_weakrand_range_
      Src: /src/libevent/bufferevent_ratelim.c:475,1
    - Dst: LIST_FIRST
      Src: /src/libevent/bufferevent_ratelim.c:477,1
    - Dst: LIST_NEXT
      Src: /src/libevent/bufferevent_ratelim.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: bev_group_random_element_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - evutil_weakrand_range_
    - EVUTIL_ASSERT
    - LIST_NEXT
    - LIST_EMPTY
    - LIST_FIRST
    linkageType: ''
    returnType: struct bufferevent_private
    signature: 'struct bufferevent_private *

      bev_group_random_element_(struct bufferevent_rate_limit_group *group)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 503
    functionName: FOREACH_RANDOM_ORDER
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOREACH_RANDOM_ORDER(block)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH_RANDOM_ORDER
      Src: /src/libevent/bufferevent_ratelim.c:511,1
    - Dst: EVLOCK_TRY_LOCK_
      Src: /src/libevent/bufferevent_ratelim.c:512,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:513,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 521
    functionName: bev_group_unsuspend_reading_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached:
    - EVLOCK_TRY_LOCK_
    - bufferevent_unsuspend_read_
    - FOREACH_RANDOM_ORDER
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: void
    signature: void bev_group_unsuspend_reading_(struct bufferevent_rate_limit_group
      *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH_RANDOM_ORDER
      Src: /src/libevent/bufferevent_ratelim.c:530,1
    - Dst: EVLOCK_TRY_LOCK_
      Src: /src/libevent/bufferevent_ratelim.c:531,1
    - Dst: bufferevent_unsuspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:532,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 540
    functionName: bev_group_unsuspend_writing_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached:
    - EVLOCK_UNLOCK
    - EVLOCK_TRY_LOCK_
    - FOREACH_RANDOM_ORDER
    - bufferevent_unsuspend_write_
    linkageType: ''
    returnType: void
    signature: void bev_group_unsuspend_writing_(struct bufferevent_rate_limit_group
      *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/bufferevent_ratelim.c:552,1
    - Dst: event_get_base
      Src: /src/libevent/bufferevent_ratelim.c:552,1
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:554,1
    - Dst: ev_token_bucket_get_tick_
      Src: /src/libevent/bufferevent_ratelim.c:556,1
    - Dst: ev_token_bucket_update_
      Src: /src/libevent/bufferevent_ratelim.c:557,1
    - Dst: bev_group_unsuspend_reading_
      Src: /src/libevent/bufferevent_ratelim.c:561,1
    - Dst: bev_group_unsuspend_writing_
      Src: /src/libevent/bufferevent_ratelim.c:565,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 574
    functionName: bev_group_refill_callback_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - ev_token_bucket_get_tick_
    - event_base_gettimeofday_cached
    - bev_group_unsuspend_reading_
    - event_get_base
    - ev_token_bucket_update_
    - LOCK_GROUP
    - bev_group_unsuspend_writing_
    - UNLOCK_GROUP
    linkageType: ''
    returnType: void
    signature: void bev_group_refill_callback_(evutil_socket_t fd, short what, void
      *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:580,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:588,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:594,1
    - Dst: bufferevent_unsuspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:595,1
    - Dst: event_initialized
      Src: /src/libevent/bufferevent_ratelim.c:596,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ratelim.c:597,1
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/bufferevent_ratelim.c:603,1
    - Dst: ev_token_bucket_get_tick_
      Src: /src/libevent/bufferevent_ratelim.c:604,1
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_ratelim.c:612,1
    - Dst: ev_token_bucket_init_
      Src: /src/libevent/bufferevent_ratelim.c:622,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ratelim.c:625,1
    - Dst: event_initialized
      Src: /src/libevent/bufferevent_ratelim.c:625,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ratelim.c:626,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_ratelim.c:628,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:632,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:634,1
    - Dst: bufferevent_unsuspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:638,1
    - Dst: bufferevent_suspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:640,1
    - Dst: event_add
      Src: /src/libevent/bufferevent_ratelim.c:645,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:650,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 2
    argNames:
    - bev
    - cfg
    argTypes:
    - struct bufferevent*
    - struct ev_token_bucket_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 576
    functionDepth: 4
    functionLinenumber: 576
    functionLinenumberEnd: 652
    functionName: bufferevent_set_rate_limit
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_unsuspend_read_
    - bufferevent_unsuspend_write_
    - BEV_LOCK
    - ev_token_bucket_get_tick_
    - event_del
    - event_base_gettimeofday_cached
    - BEV_UNLOCK
    - EVUTIL_ASSERT
    - mm_calloc
    - event_assign
    - event_add
    - bufferevent_suspend_write_
    - event_initialized
    - bufferevent_suspend_read_
    - ev_token_bucket_init_
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: "int bufferevent_set_rate_limit(struct bufferevent *bev,\n    struct
      ev_token_bucket_cfg *cfg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/bufferevent_ratelim.c:662,1
    - Dst: ev_token_bucket_get_tick_
      Src: /src/libevent/bufferevent_ratelim.c:663,1
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_ratelim.c:665,1
    - Dst: memcpy
      Src: /src/libevent/bufferevent_ratelim.c:668,1
    - Dst: LIST_INIT
      Src: /src/libevent/bufferevent_ratelim.c:669,1
    - Dst: ev_token_bucket_init_
      Src: /src/libevent/bufferevent_ratelim.c:671,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_ratelim.c:673,1
    - Dst: event_add
      Src: /src/libevent/bufferevent_ratelim.c:676,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:678,1
    - Dst: bufferevent_rate_limit_group_set_min_share
      Src: /src/libevent/bufferevent_ratelim.c:680,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/bufferevent_ratelim.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - base
    - cfg
    argTypes:
    - struct event_base*
    - struct ev_token_bucket_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 686
    functionName: bufferevent_rate_limit_group_new
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - ev_token_bucket_get_tick_
    - event_base_gettimeofday_cached
    - memcpy
    - mm_calloc
    - EVTHREAD_ALLOC_LOCK
    - bufferevent_rate_limit_group_set_min_share
    - event_assign
    - event_add
    - LIST_INIT
    - ev_token_bucket_init_
    - evutil_weakrand_seed_
    linkageType: ''
    returnType: struct bufferevent_rate_limit_group
    signature: "struct bufferevent_rate_limit_group *\nbufferevent_rate_limit_group_new(struct
      event_base *base,\n    const struct ev_token_bucket_cfg *cfg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:697,1
    - Dst: evutil_timercmp
      Src: /src/libevent/bufferevent_ratelim.c:698,1
    - Dst: memcpy
      Src: /src/libevent/bufferevent_ratelim.c:700,1
    - Dst: event_add
      Src: /src/libevent/bufferevent_ratelim.c:709,1
    - Dst: bufferevent_rate_limit_group_set_min_share
      Src: /src/libevent/bufferevent_ratelim.c:713,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - g
    - cfg
    argTypes:
    - struct bufferevent_rate_limit_group*
    - struct ev_token_bucket_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 717
    functionName: bufferevent_rate_limit_group_set_cfg
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - evutil_timercmp
    - memcpy
    - bufferevent_rate_limit_group_set_min_share
    - event_add
    - LOCK_GROUP
    - UNLOCK_GROUP
    linkageType: ''
    returnType: int
    signature: "int bufferevent_rate_limit_group_set_cfg(\n\tstruct bufferevent_rate_limit_group
      *g,\n\tconst struct ev_token_bucket_cfg *cfg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - g
    - share
    argTypes:
    - struct bufferevent_rate_limit_group*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 738
    functionName: bufferevent_rate_limit_group_set_min_share
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bufferevent_rate_limit_group_set_min_share(\n\tstruct bufferevent_rate_limit_group
      *g,\n\tsize_t share)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:743,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ratelim.c:744,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ratelim.c:745,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:746,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:747,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent_ratelim.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 740
    functionDepth: 4
    functionLinenumber: 740
    functionLinenumberEnd: 749
    functionName: bufferevent_rate_limit_group_free
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_FREE_LOCK
    - event_del
    - EVUTIL_ASSERT
    - LOCK_GROUP
    - mm_free
    - UNLOCK_GROUP
    linkageType: ''
    returnType: void
    signature: void bufferevent_rate_limit_group_free(struct bufferevent_rate_limit_group
      *g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:756,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:757,1
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_ratelim.c:761,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:763,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_ratelim.c:766,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:772,1
    - Dst: bufferevent_remove_from_rate_limit_group
      Src: /src/libevent/bufferevent_ratelim.c:776,1
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:778,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/libevent/bufferevent_ratelim.c:781,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:786,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:789,1
    - Dst: bufferevent_suspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:791,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:793,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - bev
    - g
    argTypes:
    - struct bufferevent*
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 751
    functionDepth: 4
    functionLinenumber: 751
    functionLinenumberEnd: 795
    functionName: bufferevent_add_to_rate_limit_group
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_LOCK
    - bufferevent_suspend_read_
    - mm_calloc
    - event_assign
    - bufferevent_remove_from_rate_limit_group
    - bufferevent_suspend_write_
    - LOCK_GROUP
    - LIST_INSERT_HEAD
    - BEV_UNLOCK
    - UNLOCK_GROUP
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: "int bufferevent_add_to_rate_limit_group(struct bufferevent *bev,\n
      \   struct bufferevent_rate_limit_group *g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_remove_from_rate_limit_group_internal_
      Src: /src/libevent/bufferevent_ratelim.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 801
    functionName: bufferevent_remove_from_rate_limit_group
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached:
    - bufferevent_remove_from_rate_limit_group_internal_
    linkageType: ''
    returnType: int
    signature: int bufferevent_remove_from_rate_limit_group(struct bufferevent *bev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:807,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:808,1
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:812,1
    - Dst: LIST_REMOVE
      Src: /src/libevent/bufferevent_ratelim.c:815,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:816,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:819,1
    - Dst: bufferevent_unsuspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:820,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - bev
    - unsuspend
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 824
    functionName: bufferevent_remove_from_rate_limit_group_internal_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 1
    functionsReached:
    - LIST_REMOVE
    - bufferevent_unsuspend_read_
    - bufferevent_unsuspend_write_
    - BEV_LOCK
    - LOCK_GROUP
    - BEV_UNLOCK
    - UNLOCK_GROUP
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: "int bufferevent_remove_from_rate_limit_group_internal_(struct bufferevent
      *bev,\n    int unsuspend)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:840,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:841,1
    - Dst: bufferevent_update_buckets
      Src: /src/libevent/bufferevent_ratelim.c:843,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 850
    functionName: bufferevent_get_read_limit
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - bufferevent_update_buckets
    - BEV_UPCAST
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_read_limit(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:859,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:860,1
    - Dst: bufferevent_update_buckets
      Src: /src/libevent/bufferevent_ratelim.c:862,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 869
    functionName: bufferevent_get_write_limit
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - bufferevent_update_buckets
    - BEV_UPCAST
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_write_limit(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:876,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:877,1
    - Dst: evbuffer_set_max_read
      Src: /src/libevent/bufferevent_ratelim.c:882,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bev
    - size
    argTypes:
    - struct bufferevent*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 885
    functionName: bufferevent_set_max_single_read
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - evbuffer_set_max_read
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int bufferevent_set_max_single_read(struct bufferevent *bev, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:891,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:892,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bev
    - size
    argTypes:
    - struct bufferevent*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: bufferevent_set_max_single_write
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int bufferevent_set_max_single_write(struct bufferevent *bev, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:906,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:907,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 910
    functionName: bufferevent_get_max_single_read
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_max_single_read(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:917,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:918,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 921
    functionName: bufferevent_get_max_single_write
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_max_single_write(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:927,1
    - Dst: bufferevent_get_read_max_
      Src: /src/libevent/bufferevent_ratelim.c:928,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:928,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 923
    functionDepth: 5
    functionLinenumber: 923
    functionLinenumberEnd: 931
    functionName: bufferevent_get_max_to_read
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - bufferevent_get_read_max_
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_max_to_read(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:937,1
    - Dst: bufferevent_get_write_max_
      Src: /src/libevent/bufferevent_ratelim.c:938,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:938,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 933
    functionDepth: 5
    functionLinenumber: 933
    functionLinenumberEnd: 941
    functionName: bufferevent_get_max_to_write
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - bufferevent_get_write_max_
    - BEV_UPCAST
    linkageType: ''
    returnType: ev_ssize_t
    signature: ev_ssize_t bufferevent_get_max_to_write(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:945,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:948,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 959
    functionName: bufferevent_get_token_bucket_cfg
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: struct ev_token_bucket_cfg
    signature: 'struct ev_token_bucket_cfg *

      bufferevent_get_token_bucket_cfg(const struct bufferevent *bev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:968,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - grp
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 972
    functionName: bufferevent_rate_limit_group_get_read_limit
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - UNLOCK_GROUP
    - LOCK_GROUP
    linkageType: ''
    returnType: ev_ssize_t
    signature: "ev_ssize_t bufferevent_rate_limit_group_get_read_limit(\n\tstruct
      bufferevent_rate_limit_group *grp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:981,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - grp
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 985
    functionName: bufferevent_rate_limit_group_get_write_limit
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - UNLOCK_GROUP
    - LOCK_GROUP
    linkageType: ''
    returnType: ev_ssize_t
    signature: "ev_ssize_t bufferevent_rate_limit_group_get_write_limit(\n\tstruct
      bufferevent_rate_limit_group *grp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:993,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:994,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ratelim.c:995,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:1000,1
    - Dst: event_add
      Src: /src/libevent/bufferevent_ratelim.c:1001,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ratelim.c:1006,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ratelim.c:1007,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:1010,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - bev
    - decr
    argTypes:
    - struct bufferevent*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 987
    functionDepth: 4
    functionLinenumber: 987
    functionLinenumberEnd: 1012
    functionName: bufferevent_decrement_read_limit
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_unsuspend_read_
    - BEV_LOCK
    - event_del
    - BEV_UNLOCK
    - EVUTIL_ASSERT
    - event_add
    - bufferevent_suspend_read_
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int bufferevent_decrement_read_limit(struct bufferevent *bev, ev_ssize_t
      decr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ratelim.c:1022,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ratelim.c:1023,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ratelim.c:1024,1
    - Dst: bufferevent_suspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:1029,1
    - Dst: event_add
      Src: /src/libevent/bufferevent_ratelim.c:1030,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ratelim.c:1035,1
    - Dst: bufferevent_unsuspend_write_
      Src: /src/libevent/bufferevent_ratelim.c:1036,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ratelim.c:1039,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - bev
    - decr
    argTypes:
    - struct bufferevent*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1014
    functionDepth: 4
    functionLinenumber: 1014
    functionLinenumberEnd: 1041
    functionName: bufferevent_decrement_write_limit
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_unsuspend_write_
    - BEV_LOCK
    - event_del
    - EVUTIL_ASSERT
    - event_add
    - BEV_UPCAST
    - BEV_UNLOCK
    - bufferevent_suspend_write_
    linkageType: ''
    returnType: int
    signature: int bufferevent_decrement_write_limit(struct bufferevent *bev, ev_ssize_t
      decr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:1049,1
    - Dst: bev_group_suspend_reading_
      Src: /src/libevent/bufferevent_ratelim.c:1054,1
    - Dst: bev_group_unsuspend_reading_
      Src: /src/libevent/bufferevent_ratelim.c:1056,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - grp
    - decr
    argTypes:
    - struct bufferevent_rate_limit_group*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1061
    functionName: bufferevent_rate_limit_group_decrement_read
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - bev_group_unsuspend_reading_
    - UNLOCK_GROUP
    - bev_group_suspend_reading_
    - LOCK_GROUP
    linkageType: ''
    returnType: int
    signature: "int bufferevent_rate_limit_group_decrement_read(\n\tstruct bufferevent_rate_limit_group
      *grp, ev_ssize_t decr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:1069,1
    - Dst: bev_group_suspend_writing_
      Src: /src/libevent/bufferevent_ratelim.c:1074,1
    - Dst: bev_group_unsuspend_writing_
      Src: /src/libevent/bufferevent_ratelim.c:1076,1
    - Dst: UNLOCK_GROUP
      Src: /src/libevent/bufferevent_ratelim.c:1079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - grp
    - decr
    argTypes:
    - struct bufferevent_rate_limit_group*
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1081
    functionName: bufferevent_rate_limit_group_decrement_write
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - bev_group_suspend_writing_
    - UNLOCK_GROUP
    - LOCK_GROUP
    - bev_group_unsuspend_writing_
    linkageType: ''
    returnType: int
    signature: "int bufferevent_rate_limit_group_decrement_write(\n\tstruct bufferevent_rate_limit_group
      *grp, ev_ssize_t decr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ratelim.c:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - grp
    - total_read_out
    - total_written_out
    argTypes:
    - struct bufferevent_rate_limit_group*
    - ev_uint64_t*
    - ev_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1092
    functionName: bufferevent_rate_limit_group_get_totals
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: "void bufferevent_rate_limit_group_get_totals(struct bufferevent_rate_limit_group
      *grp,\n    ev_uint64_t *total_read_out, ev_uint64_t *total_written_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grp
    argTypes:
    - struct bufferevent_rate_limit_group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1098
    functionName: bufferevent_rate_limit_group_reset_totals
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bufferevent_rate_limit_group_reset_totals(struct bufferevent_rate_limit_group
      *grp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_set_max_read
      Src: /src/libevent/bufferevent_ratelim.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent_private*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1111
    functionName: bufferevent_ratelim_init_
    functionSourceFile: /src/libevent/bufferevent_ratelim.c
    functionUses: 0
    functionsReached:
    - evbuffer_set_max_read
    linkageType: ''
    returnType: int
    signature: int bufferevent_ratelim_init_(struct bufferevent_private *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: rol
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol(value, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: blk0
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: blk0
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: blk
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: R0
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R0(v, w, x, y, z, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: R1
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(v, w, x, y, z, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: R2
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(v, w, x, y, z, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: R3
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R3(v, w, x, y, z, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: R4
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R4(v, w, x, y, z, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/sha1.c:99,1
    - Dst: R0
      Src: /src/libevent/sha1.c:115,1
    - Dst: R0
      Src: /src/libevent/sha1.c:116,1
    - Dst: R0
      Src: /src/libevent/sha1.c:117,1
    - Dst: R0
      Src: /src/libevent/sha1.c:118,1
    - Dst: R0
      Src: /src/libevent/sha1.c:119,1
    - Dst: R0
      Src: /src/libevent/sha1.c:120,1
    - Dst: R0
      Src: /src/libevent/sha1.c:121,1
    - Dst: R0
      Src: /src/libevent/sha1.c:122,1
    - Dst: R0
      Src: /src/libevent/sha1.c:123,1
    - Dst: R0
      Src: /src/libevent/sha1.c:124,1
    - Dst: R0
      Src: /src/libevent/sha1.c:125,1
    - Dst: R0
      Src: /src/libevent/sha1.c:126,1
    - Dst: R0
      Src: /src/libevent/sha1.c:127,1
    - Dst: R0
      Src: /src/libevent/sha1.c:128,1
    - Dst: R0
      Src: /src/libevent/sha1.c:129,1
    - Dst: R0
      Src: /src/libevent/sha1.c:130,1
    - Dst: R1
      Src: /src/libevent/sha1.c:131,1
    - Dst: R1
      Src: /src/libevent/sha1.c:132,1
    - Dst: R1
      Src: /src/libevent/sha1.c:133,1
    - Dst: R1
      Src: /src/libevent/sha1.c:134,1
    - Dst: R2
      Src: /src/libevent/sha1.c:135,1
    - Dst: R2
      Src: /src/libevent/sha1.c:136,1
    - Dst: R2
      Src: /src/libevent/sha1.c:137,1
    - Dst: R2
      Src: /src/libevent/sha1.c:138,1
    - Dst: R2
      Src: /src/libevent/sha1.c:139,1
    - Dst: R2
      Src: /src/libevent/sha1.c:140,1
    - Dst: R2
      Src: /src/libevent/sha1.c:141,1
    - Dst: R2
      Src: /src/libevent/sha1.c:142,1
    - Dst: R2
      Src: /src/libevent/sha1.c:143,1
    - Dst: R2
      Src: /src/libevent/sha1.c:144,1
    - Dst: R2
      Src: /src/libevent/sha1.c:145,1
    - Dst: R2
      Src: /src/libevent/sha1.c:146,1
    - Dst: R2
      Src: /src/libevent/sha1.c:147,1
    - Dst: R2
      Src: /src/libevent/sha1.c:148,1
    - Dst: R2
      Src: /src/libevent/sha1.c:149,1
    - Dst: R2
      Src: /src/libevent/sha1.c:150,1
    - Dst: R2
      Src: /src/libevent/sha1.c:151,1
    - Dst: R2
      Src: /src/libevent/sha1.c:152,1
    - Dst: R2
      Src: /src/libevent/sha1.c:153,1
    - Dst: R2
      Src: /src/libevent/sha1.c:154,1
    - Dst: R3
      Src: /src/libevent/sha1.c:155,1
    - Dst: R3
      Src: /src/libevent/sha1.c:156,1
    - Dst: R3
      Src: /src/libevent/sha1.c:157,1
    - Dst: R3
      Src: /src/libevent/sha1.c:158,1
    - Dst: R3
      Src: /src/libevent/sha1.c:159,1
    - Dst: R3
      Src: /src/libevent/sha1.c:160,1
    - Dst: R3
      Src: /src/libevent/sha1.c:161,1
    - Dst: R3
      Src: /src/libevent/sha1.c:162,1
    - Dst: R3
      Src: /src/libevent/sha1.c:163,1
    - Dst: R3
      Src: /src/libevent/sha1.c:164,1
    - Dst: R3
      Src: /src/libevent/sha1.c:165,1
    - Dst: R3
      Src: /src/libevent/sha1.c:166,1
    - Dst: R3
      Src: /src/libevent/sha1.c:167,1
    - Dst: R3
      Src: /src/libevent/sha1.c:168,1
    - Dst: R3
      Src: /src/libevent/sha1.c:169,1
    - Dst: R3
      Src: /src/libevent/sha1.c:170,1
    - Dst: R3
      Src: /src/libevent/sha1.c:171,1
    - Dst: R3
      Src: /src/libevent/sha1.c:172,1
    - Dst: R3
      Src: /src/libevent/sha1.c:173,1
    - Dst: R3
      Src: /src/libevent/sha1.c:174,1
    - Dst: R4
      Src: /src/libevent/sha1.c:175,1
    - Dst: R4
      Src: /src/libevent/sha1.c:176,1
    - Dst: R4
      Src: /src/libevent/sha1.c:177,1
    - Dst: R4
      Src: /src/libevent/sha1.c:178,1
    - Dst: R4
      Src: /src/libevent/sha1.c:179,1
    - Dst: R4
      Src: /src/libevent/sha1.c:180,1
    - Dst: R4
      Src: /src/libevent/sha1.c:181,1
    - Dst: R4
      Src: /src/libevent/sha1.c:182,1
    - Dst: R4
      Src: /src/libevent/sha1.c:183,1
    - Dst: R4
      Src: /src/libevent/sha1.c:184,1
    - Dst: R4
      Src: /src/libevent/sha1.c:185,1
    - Dst: R4
      Src: /src/libevent/sha1.c:186,1
    - Dst: R4
      Src: /src/libevent/sha1.c:187,1
    - Dst: R4
      Src: /src/libevent/sha1.c:188,1
    - Dst: R4
      Src: /src/libevent/sha1.c:189,1
    - Dst: R4
      Src: /src/libevent/sha1.c:190,1
    - Dst: R4
      Src: /src/libevent/sha1.c:191,1
    - Dst: R4
      Src: /src/libevent/sha1.c:192,1
    - Dst: R4
      Src: /src/libevent/sha1.c:193,1
    - Dst: R4
      Src: /src/libevent/sha1.c:194,1
    - Dst: memset
      Src: /src/libevent/sha1.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 93
    argCount: 2
    argNames:
    - state
    - buffer
    argTypes:
    - uint32_t[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 204
    functionName: SHA1Transform
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - R2
    - R0
    - R3
    - R1
    - R4
    linkageType: ''
    returnType: void
    signature: void SHA1Transform(uint32_t state[5], const unsigned char buffer[64])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: SHA1Init
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA1Init(SHA1_CTX *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/sha1.c:231,1
    - Dst: SHA1Transform
      Src: /src/libevent/sha1.c:232,1
    - Dst: SHA1Transform
      Src: /src/libevent/sha1.c:234,1
    - Dst: memcpy
      Src: /src/libevent/sha1.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - context
    - data
    - len
    argTypes:
    - SHA1_CTX*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: SHA1Update
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SHA1Transform
    linkageType: ''
    returnType: void
    signature: void SHA1Update(SHA1_CTX *context, const unsigned char *data, uint32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1Update
      Src: /src/libevent/sha1.c:275,1
    - Dst: SHA1Update
      Src: /src/libevent/sha1.c:278,1
    - Dst: SHA1Update
      Src: /src/libevent/sha1.c:280,1
    - Dst: memset
      Src: /src/libevent/sha1.c:287,1
    - Dst: memset
      Src: /src/libevent/sha1.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char[]
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 289
    functionName: SHA1Final
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 0
    functionsReached:
    - memset
    - SHA1Update
    linkageType: ''
    returnType: void
    signature: void SHA1Final(unsigned char digest[20], SHA1_CTX *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1Init
      Src: /src/libevent/sha1.c:295,1
    - Dst: SHA1Update
      Src: /src/libevent/sha1.c:297,1
    - Dst: SHA1Final
      Src: /src/libevent/sha1.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hash_out
    - str
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: builtin_SHA1
    functionSourceFile: /src/libevent/sha1.c
    functionUses: 1
    functionsReached:
    - SHA1Init
    - SHA1Update
    - SHA1Final
    linkageType: ''
    returnType: void
    signature: void builtin_SHA1(char *hash_out, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: evtag_init
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evtag_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: ENCODE_INT_INTERNAL
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_INT_INTERNAL(data, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENCODE_INT_INTERNAL
      Src: /src/libevent/event_tagging.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - number
    argTypes:
    - ev_uint8_t*
    - ev_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: encode_int64_internal
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - ENCODE_INT_INTERNAL
    linkageType: ''
    returnType: int
    signature: int encode_int64_internal(ev_uint8_t *data, ev_uint64_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_int_internal
      Src: /src/libevent/event_tagging.c:160,1
    - Dst: evbuffer_add
      Src: /src/libevent/event_tagging.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evbuf
    - number
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 7
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: evtag_encode_int
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - encode_int_internal
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: void evtag_encode_int(struct evbuffer *evbuf, ev_uint32_t number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_int64_internal
      Src: /src/libevent/event_tagging.c:168,1
    - Dst: evbuffer_add
      Src: /src/libevent/event_tagging.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evbuf
    - number
    argTypes:
    - struct evbuffer*
    - ev_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 7
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: evtag_encode_int64
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_add
    - encode_int64_internal
    linkageType: ''
    returnType: void
    signature: void evtag_encode_int64(struct evbuffer *evbuf, ev_uint64_t number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/event_tagging.c:183,1
    - Dst: evbuffer_add
      Src: /src/libevent/event_tagging.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - evbuf
    - tag
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 7
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: evtag_encode_tag
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_add
    - memset
    linkageType: ''
    returnType: int
    signature: int evtag_encode_tag(struct evbuffer *evbuf, ev_uint32_t tag)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/event_tagging.c:204,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/event_tagging.c:213,1
    - Dst: evbuffer_drain
      Src: /src/libevent/event_tagging.c:240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - ptag
    - evbuf
    - dodrain
    argTypes:
    - ev_uint32_t*
    - struct evbuffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 246
    functionName: decode_tag_internal
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_pullup
    - evbuffer_drain
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: int decode_tag_internal(ev_uint32_t *ptag, struct evbuffer *evbuf,
      int dodrain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_tag_internal
      Src: /src/libevent/event_tagging.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptag
    - evbuf
    argTypes:
    - ev_uint32_t*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: evtag_decode_tag
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - decode_tag_internal
    linkageType: ''
    returnType: int
    signature: int evtag_decode_tag(ev_uint32_t *ptag, struct evbuffer *evbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evtag_encode_tag
      Src: /src/libevent/event_tagging.c:264,1
    - Dst: evtag_encode_int
      Src: /src/libevent/event_tagging.c:265,1
    - Dst: evbuffer_add
      Src: /src/libevent/event_tagging.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - evbuf
    - tag
    - data
    - len
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - void*
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 8
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: evtag_marshal
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evtag_encode_int
    - evtag_encode_tag
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: "void evtag_marshal(struct evbuffer *evbuf, ev_uint32_t tag,\n    const
      void *data, ev_uint32_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evtag_encode_tag
      Src: /src/libevent/event_tagging.c:273,1
    - Dst: evtag_encode_int
      Src: /src/libevent/event_tagging.c:275,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/event_tagging.c:275,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/event_tagging.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - evbuf
    - tag
    - data
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 8
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: evtag_marshal_buffer
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evtag_encode_int
    - evtag_encode_tag
    - evbuffer_add_buffer
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: "void evtag_marshal_buffer(struct evbuffer *evbuf, ev_uint32_t tag,\n
      \   struct evbuffer *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_int_internal
      Src: /src/libevent/event_tagging.c:284,1
    - Dst: evtag_encode_tag
      Src: /src/libevent/event_tagging.c:286,1
    - Dst: evtag_encode_int
      Src: /src/libevent/event_tagging.c:287,1
    - Dst: evbuffer_add
      Src: /src/libevent/event_tagging.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - evbuf
    - tag
    - integer
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - ev_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 8
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: evtag_marshal_int
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - encode_int_internal
    - evtag_encode_tag
    - evtag_encode_int
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: void evtag_marshal_int(struct evbuffer *evbuf, ev_uint32_t tag, ev_uint32_t
      integer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_int64_internal
      Src: /src/libevent/event_tagging.c:296,1
    - Dst: evtag_encode_tag
      Src: /src/libevent/event_tagging.c:298,1
    - Dst: evtag_encode_int
      Src: /src/libevent/event_tagging.c:299,1
    - Dst: evbuffer_add
      Src: /src/libevent/event_tagging.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - evbuf
    - tag
    - integer
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - ev_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 8
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: evtag_marshal_int64
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evtag_encode_int
    - evtag_encode_tag
    - encode_int64_internal
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: "void evtag_marshal_int64(struct evbuffer *evbuf, ev_uint32_t tag,\n
      \   ev_uint64_t integer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evtag_marshal
      Src: /src/libevent/event_tagging.c:307,1
    - Dst: strlen
      Src: /src/libevent/event_tagging.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - tag
    - string
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 9
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: evtag_marshal_string
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - strlen
    - evtag_marshal
    linkageType: ''
    returnType: void
    signature: void evtag_marshal_string(struct evbuffer *buf, ev_uint32_t tag, const
      char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_int_internal
      Src: /src/libevent/event_tagging.c:314,1
    - Dst: encode_int_internal
      Src: /src/libevent/event_tagging.c:315,1
    - Dst: evtag_marshal
      Src: /src/libevent/event_tagging.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - evbuf
    - tag
    - tv
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 9
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: evtag_marshal_timeval
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - encode_int_internal
    - evtag_marshal
    linkageType: ''
    returnType: void
    signature: void evtag_marshal_timeval(struct evbuffer *evbuf, ev_uint32_t tag,
      struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - number
    - ','
    - maxnibbles
    - ','
    - pnumber
    - ','
    - evbuf
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: DECODE_INT_INTERNAL
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_INT_INTERNAL(number, maxnibbles, pnumber, evbuf, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECODE_INT_INTERNAL
      Src: /src/libevent/event_tagging.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pnumber
    - evbuf
    - offset
    argTypes:
    - ev_uint64_t*
    - struct evbuffer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: decode_int64_internal
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - DECODE_INT_INTERNAL
    linkageType: ''
    returnType: int
    signature: int decode_int64_internal(ev_uint64_t *pnumber, struct evbuffer *evbuf,
      int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_int_internal
      Src: /src/libevent/event_tagging.c:382,1
    - Dst: evbuffer_drain
      Src: /src/libevent/event_tagging.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pnumber
    - evbuf
    argTypes:
    - ev_uint32_t*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: evtag_decode_int
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - decode_int_internal
    linkageType: ''
    returnType: int
    signature: int evtag_decode_int(ev_uint32_t *pnumber, struct evbuffer *evbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_int64_internal
      Src: /src/libevent/event_tagging.c:392,1
    - Dst: evbuffer_drain
      Src: /src/libevent/event_tagging.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pnumber
    - evbuf
    argTypes:
    - ev_uint64_t*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 4
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: evtag_decode_int64
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - decode_int64_internal
    linkageType: ''
    returnType: int
    signature: int evtag_decode_int64(ev_uint64_t *pnumber, struct evbuffer *evbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_tag_internal
      Src: /src/libevent/event_tagging.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evbuf
    - ptag
    argTypes:
    - struct evbuffer*
    - ev_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: evtag_peek
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - decode_tag_internal
    linkageType: ''
    returnType: int
    signature: int evtag_peek(struct evbuffer *evbuf, ev_uint32_t *ptag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_tag_internal
      Src: /src/libevent/event_tagging.c:410,1
    - Dst: decode_int_internal
      Src: /src/libevent/event_tagging.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - evbuf
    - plength
    argTypes:
    - struct evbuffer*
    - ev_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 405
    functionDepth: 5
    functionLinenumber: 405
    functionLinenumberEnd: 421
    functionName: evtag_peek_length
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - decode_int_internal
    - decode_tag_internal
    linkageType: ''
    returnType: int
    signature: int evtag_peek_length(struct evbuffer *evbuf, ev_uint32_t *plength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_tag_internal
      Src: /src/libevent/event_tagging.c:428,1
    - Dst: decode_int_internal
      Src: /src/libevent/event_tagging.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - evbuf
    - plength
    argTypes:
    - struct evbuffer*
    - ev_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: evtag_payload_length
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - decode_int_internal
    - decode_tag_internal
    linkageType: ''
    returnType: int
    signature: int evtag_payload_length(struct evbuffer *evbuf, ev_uint32_t *plength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_tag_internal
      Src: /src/libevent/event_tagging.c:446,1
    - Dst: evtag_decode_int
      Src: /src/libevent/event_tagging.c:448,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/event_tagging.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - evbuf
    - ptag
    argTypes:
    - struct evbuffer*
    - ev_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 441
    functionDepth: 5
    functionLinenumber: 441
    functionLinenumberEnd: 455
    functionName: evtag_unmarshal_header
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evtag_decode_int
    - decode_tag_internal
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: int evtag_unmarshal_header(struct evbuffer *evbuf, ev_uint32_t *ptag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evtag_unmarshal_header
      Src: /src/libevent/event_tagging.c:461,1
    - Dst: evbuffer_drain
      Src: /src/libevent/event_tagging.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - evbuf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 6
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: evtag_consume
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - evtag_unmarshal_header
    linkageType: ''
    returnType: int
    signature: int evtag_consume(struct evbuffer *evbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evtag_unmarshal_header
      Src: /src/libevent/event_tagging.c:475,1
    - Dst: evbuffer_add
      Src: /src/libevent/event_tagging.c:478,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/event_tagging.c:478,1
    - Dst: evbuffer_drain
      Src: /src/libevent/event_tagging.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src
    - ptag
    - dst
    argTypes:
    - struct evbuffer*
    - ev_uint32_t*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 470
    functionDepth: 7
    functionLinenumber: 470
    functionLinenumberEnd: 484
    functionName: evtag_unmarshal
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_add
    - evbuffer_pullup
    - evbuffer_drain
    - evtag_unmarshal_header
    linkageType: ''
    returnType: int
    signature: int evtag_unmarshal(struct evbuffer *src, ev_uint32_t *ptag, struct
      evbuffer *dst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decode_tag_internal
      Src: /src/libevent/event_tagging.c:496,1
    - Dst: evtag_decode_int
      Src: /src/libevent/event_tagging.c:500,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/event_tagging.c:503,1
    - Dst: decode_int_internal
      Src: /src/libevent/event_tagging.c:506,1
    - Dst: evbuffer_drain
      Src: /src/libevent/event_tagging.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - evbuf
    - need_tag
    - pinteger
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - ev_uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 512
    functionName: evtag_unmarshal_int
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evtag_decode_int
    - evbuffer_drain
    - decode_tag_internal
    - evbuffer_get_length
    - decode_int_internal
    linkageType: ''
    returnType: int
    signature: "int evtag_unmarshal_int(struct evbuffer *evbuf, ev_uint32_t need_tag,\n
      \   ev_uint32_t *pinteger)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decode_tag_internal
      Src: /src/libevent/event_tagging.c:522,1
    - Dst: evtag_decode_int
      Src: /src/libevent/event_tagging.c:526,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/event_tagging.c:529,1
    - Dst: decode_int64_internal
      Src: /src/libevent/event_tagging.c:532,1
    - Dst: evbuffer_drain
      Src: /src/libevent/event_tagging.c:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - evbuf
    - need_tag
    - pinteger
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - ev_uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 514
    functionDepth: 5
    functionLinenumber: 514
    functionLinenumberEnd: 538
    functionName: evtag_unmarshal_int64
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evtag_decode_int
    - evbuffer_drain
    - decode_tag_internal
    - evbuffer_get_length
    - decode_int64_internal
    linkageType: ''
    returnType: int
    signature: "int evtag_unmarshal_int64(struct evbuffer *evbuf, ev_uint32_t need_tag,\n
      \   ev_uint64_t *pinteger)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evtag_unmarshal_header
      Src: /src/libevent/event_tagging.c:550,1
    - Dst: evbuffer_remove
      Src: /src/libevent/event_tagging.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - src
    - need_tag
    - data
    - len
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 542
    functionDepth: 6
    functionLinenumber: 542
    functionLinenumberEnd: 559
    functionName: evtag_unmarshal_fixed
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evtag_unmarshal_header
    - evbuffer_remove
    linkageType: ''
    returnType: int
    signature: "int evtag_unmarshal_fixed(struct evbuffer *src, ev_uint32_t need_tag,
      void *data,\n    size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evtag_unmarshal_header
      Src: /src/libevent/event_tagging.c:568,1
    - Dst: mm_malloc
      Src: /src/libevent/event_tagging.c:572,1
    - Dst: event_warn
      Src: /src/libevent/event_tagging.c:574,1
    - Dst: evbuffer_remove
      Src: /src/libevent/event_tagging.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - evbuf
    - need_tag
    - pstring
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 561
    functionDepth: 6
    functionLinenumber: 561
    functionLinenumberEnd: 581
    functionName: evtag_unmarshal_string
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_remove
    - mm_malloc
    - evtag_unmarshal_header
    - event_warn
    linkageType: ''
    returnType: int
    signature: "int evtag_unmarshal_string(struct evbuffer *evbuf, ev_uint32_t need_tag,\n
      \   char **pstring)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evtag_unmarshal_header
      Src: /src/libevent/event_tagging.c:592,1
    - Dst: decode_int_internal
      Src: /src/libevent/event_tagging.c:596,1
    - Dst: decode_int_internal
      Src: /src/libevent/event_tagging.c:599,1
    - Dst: evbuffer_drain
      Src: /src/libevent/event_tagging.c:607,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - evbuf
    - need_tag
    - ptv
    argTypes:
    - struct evbuffer*
    - ev_uint32_t
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 583
    functionDepth: 6
    functionLinenumber: 583
    functionLinenumberEnd: 609
    functionName: evtag_unmarshal_timeval
    functionSourceFile: /src/libevent/event_tagging.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - decode_int_internal
    - evtag_unmarshal_header
    linkageType: ''
    returnType: int
    signature: "int evtag_unmarshal_timeval(struct evbuffer *evbuf, ev_uint32_t need_tag,\n
      \   struct timeval *ptv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: EVUTIL_HAS_ATTRIBUTE
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_HAS_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: EVUTIL_NIL_CONDITION_
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_NIL_CONDITION_(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: EVUTIL_ERR_IS_EAGAIN
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_IS_EAGAIN(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: EVUTIL_ERR_IS_EAGAIN
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_IS_EAGAIN(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: EVUTIL_ERR_RW_RETRIABLE
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_RW_RETRIABLE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: EVUTIL_ERR_CONNECT_RETRIABLE
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_CONNECT_RETRIABLE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: EVUTIL_ERR_ACCEPT_RETRIABLE
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_ACCEPT_RETRIABLE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: EVUTIL_ERR_CONNECT_REFUSED
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_CONNECT_REFUSED(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: EVUTIL_ERR_IS_EAGAIN
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_IS_EAGAIN(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: EVUTIL_ERR_RW_RETRIABLE
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_RW_RETRIABLE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: EVUTIL_ERR_CONNECT_RETRIABLE
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_CONNECT_RETRIABLE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: EVUTIL_ERR_ACCEPT_RETRIABLE
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_ACCEPT_RETRIABLE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: EVUTIL_ERR_CONNECT_REFUSED
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ERR_CONNECT_REFUSED(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dlist
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: EVUTIL_ASSERT_LIST_OK
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ASSERT_LIST_OK(dlist, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tailq
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: EVUTIL_ASSERT_TAILQ_OK
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ASSERT_TAILQ_OK(tailq, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: EVUTIL_UPCAST
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_UPCAST(ptr, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 356
    functionName: EVUTIL_UNLIKELY
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_UNLIKELY(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: EVUTIL_UNLIKELY
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_UNLIKELY(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: EVUTIL_ASSERT
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 174
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ASSERT(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    functionName: EVUTIL_FAILURE_CHECK
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_FAILURE_CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: EVUTIL_ASSERT
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 174
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_ASSERT(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: EVUTIL_FAILURE_CHECK
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_FAILURE_CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 485
    functionName: EV_I64_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_I64_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    functionName: EV_U64_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_U64_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 490
    functionName: EV_I64_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_I64_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: EV_U64_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_U64_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: EV_SOCK_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SOCK_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    functionName: EV_SOCK_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SOCK_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 507
    functionName: EV_SIZE_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SIZE_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 508
    functionName: EV_SSIZE_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SSIZE_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: EV_SIZE_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SIZE_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: EV_SSIZE_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SSIZE_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 521
    functionName: EV_SIZE_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SIZE_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    functionName: EV_SSIZE_ARG
    functionSourceFile: /src/libevent/util-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EV_SSIZE_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ssl.c:108,1
    - Dst: BEV_IS_SSL
      Src: /src/libevent/bufferevent_ssl.c:108,1
    - Dst: evutil_offsetof
      Src: /src/libevent/bufferevent_ssl.c:110,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ssl.c:111,1
    - Dst: BEV_IS_SSL
      Src: /src/libevent/bufferevent_ssl.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: bufferevent_ssl_upcast
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 6
    functionsReached:
    - BEV_IS_SSL
    - EVUTIL_ASSERT
    - evutil_offsetof
    linkageType: ''
    returnType: struct bufferevent_ssl
    signature: 'struct bufferevent_ssl *

      bufferevent_ssl_upcast(struct bufferevent *bev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bev_ssl
    - err
    argTypes:
    - struct bufferevent_ssl*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: bufferevent_ssl_put_error
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bufferevent_ssl_put_error(struct bufferevent_ssl *bev_ssl, unsigned
      long err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ssl.c:135,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_ssl.c:141,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_ssl.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: start_reading
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_add_event_
    - bufferevent_unsuspend_read_
    linkageType: ''
    returnType: int
    signature: int start_reading(struct bufferevent_ssl *bev_ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ssl.c:158,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_ssl.c:163,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_ssl.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: start_writing
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_add_event_
    - bufferevent_unsuspend_read_
    linkageType: ''
    returnType: int
    signature: int start_writing(struct bufferevent_ssl *bev_ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_ssl.c:177,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: bufferevent_ssl_stop_reading
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 2
    functionsReached:
    - bufferevent_suspend_read_
    - event_del
    linkageType: ''
    returnType: void
    signature: void bufferevent_ssl_stop_reading(struct bufferevent_ssl *bev_ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ssl.c:191,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: bufferevent_ssl_stop_writing
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 2
    functionsReached:
    - bufferevent_unsuspend_read_
    - event_del
    linkageType: ''
    returnType: void
    signature: void bufferevent_ssl_stop_writing(struct bufferevent_ssl *bev_ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_stop_reading
      Src: /src/libevent/bufferevent_ssl.c:203,1
    - Dst: start_writing
      Src: /src/libevent/bufferevent_ssl.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: set_rbow
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_stop_reading
    - start_writing
    linkageType: ''
    returnType: int
    signature: int set_rbow(struct bufferevent_ssl *bev_ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_stop_writing
      Src: /src/libevent/bufferevent_ssl.c:212,1
    - Dst: start_reading
      Src: /src/libevent/bufferevent_ssl.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: set_wbor
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_stop_writing
    - start_reading
    linkageType: ''
    returnType: int
    signature: int set_wbor(struct bufferevent_ssl *bev_ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_stop_writing
      Src: /src/libevent/bufferevent_ssl.c:224,1
    - Dst: start_reading
      Src: /src/libevent/bufferevent_ssl.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: clear_rbow
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_stop_writing
    - start_reading
    linkageType: ''
    returnType: int
    signature: int clear_rbow(struct bufferevent_ssl *bev_ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_stop_reading
      Src: /src/libevent/bufferevent_ssl.c:238,1
    - Dst: start_writing
      Src: /src/libevent/bufferevent_ssl.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: clear_wbor
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_stop_reading
    - start_writing
    linkageType: ''
    returnType: int
    signature: int clear_wbor(struct bufferevent_ssl *bev_ssl)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_read_max_
      Src: /src/libevent/bufferevent_ssl.c:263,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/bufferevent_ssl.c:267,1
    - Dst: struct bufferevent_ssl*::ssl_ops::clear_error
      Src: /src/libevent/bufferevent_ssl.c:274,1
    - Dst: struct bufferevent_ssl*::ssl_ops::read
      Src: /src/libevent/bufferevent_ssl.c:275,1
    - Dst: clear_rbow
      Src: /src/libevent/bufferevent_ssl.c:280,1
    - Dst: struct bufferevent_ssl*::ssl_ops::decrement_buckets
      Src: /src/libevent/bufferevent_ssl.c:282,1
    - Dst: struct bufferevent_ssl*::ssl_ops::get_error
      Src: /src/libevent/bufferevent_ssl.c:292,1
    - Dst: struct bufferevent_ssl*::ssl_ops::print_err
      Src: /src/libevent/bufferevent_ssl.c:293,1
    - Dst: struct bufferevent_ssl*::ssl_ops::err_is_want_read
      Src: /src/libevent/bufferevent_ssl.c:304,1
    - Dst: clear_rbow
      Src: /src/libevent/bufferevent_ssl.c:307,1
    - Dst: struct bufferevent_ssl*::ssl_ops::err_is_want_write
      Src: /src/libevent/bufferevent_ssl.c:309,1
    - Dst: set_rbow
      Src: /src/libevent/bufferevent_ssl.c:313,1
    - Dst: struct bufferevent_ssl*::ssl_ops::conn_closed
      Src: /src/libevent/bufferevent_ssl.c:316,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/bufferevent_ssl.c:329,1
    - Dst: BEV_RESET_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_ssl.c:331,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 2
    argNames:
    - bev_ssl
    - n_to_read
    argTypes:
    - struct bufferevent_ssl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 250
    functionDepth: 6
    functionLinenumber: 250
    functionLinenumberEnd: 335
    functionName: do_read
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_read_max_
    - evbuffer_reserve_space
    - struct bufferevent_ssl*::ssl_ops::err_is_want_write
    - struct bufferevent_ssl*::ssl_ops::print_err
    - set_rbow
    - struct bufferevent_ssl*::ssl_ops::decrement_buckets
    - clear_rbow
    - struct bufferevent_ssl*::ssl_ops::clear_error
    - struct bufferevent_ssl*::ssl_ops::conn_closed
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - evbuffer_commit_space
    - struct bufferevent_ssl*::ssl_ops::read
    - struct bufferevent_ssl*::ssl_ops::get_error
    - struct bufferevent_ssl*::ssl_ops::err_is_want_read
    linkageType: ''
    returnType: int
    signature: int do_read(struct bufferevent_ssl *bev_ssl, int n_to_read)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_write_max_
      Src: /src/libevent/bufferevent_ssl.c:351,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/bufferevent_ssl.c:355,1
    - Dst: evbuffer_peek
      Src: /src/libevent/bufferevent_ssl.c:358,1
    - Dst: struct bufferevent_ssl*::ssl_ops::clear_error
      Src: /src/libevent/bufferevent_ssl.c:376,1
    - Dst: struct bufferevent_ssl*::ssl_ops::write
      Src: /src/libevent/bufferevent_ssl.c:377,1
    - Dst: clear_wbor
      Src: /src/libevent/bufferevent_ssl.c:382,1
    - Dst: struct bufferevent_ssl*::ssl_ops::decrement_buckets
      Src: /src/libevent/bufferevent_ssl.c:386,1
    - Dst: struct bufferevent_ssl*::ssl_ops::get_error
      Src: /src/libevent/bufferevent_ssl.c:392,1
    - Dst: struct bufferevent_ssl*::ssl_ops::print_err
      Src: /src/libevent/bufferevent_ssl.c:393,1
    - Dst: struct bufferevent_ssl*::ssl_ops::err_is_want_write
      Src: /src/libevent/bufferevent_ssl.c:394,1
    - Dst: clear_wbor
      Src: /src/libevent/bufferevent_ssl.c:397,1
    - Dst: struct bufferevent_ssl*::ssl_ops::err_is_want_read
      Src: /src/libevent/bufferevent_ssl.c:400,1
    - Dst: set_wbor
      Src: /src/libevent/bufferevent_ssl.c:404,1
    - Dst: struct bufferevent_ssl*::ssl_ops::conn_closed
      Src: /src/libevent/bufferevent_ssl.c:408,1
    - Dst: evbuffer_drain
      Src: /src/libevent/bufferevent_ssl.c:416,1
    - Dst: BEV_RESET_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_ssl.c:420,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_ssl.c:422,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 2
    argNames:
    - bev_ssl
    - atmost
    argTypes:
    - struct bufferevent_ssl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 339
    functionDepth: 6
    functionLinenumber: 339
    functionLinenumberEnd: 425
    functionName: do_write
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - evbuffer_peek
    - evbuffer_drain
    - struct bufferevent_ssl*::ssl_ops::err_is_want_write
    - struct bufferevent_ssl*::ssl_ops::print_err
    - bufferevent_trigger_nolock_
    - evbuffer_pullup
    - struct bufferevent_ssl*::ssl_ops::write
    - set_wbor
    - clear_wbor
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - struct bufferevent_ssl*::ssl_ops::decrement_buckets
    - struct bufferevent_ssl*::ssl_ops::clear_error
    - struct bufferevent_ssl*::ssl_ops::conn_closed
    - bufferevent_get_write_max_
    - struct bufferevent_ssl*::ssl_ops::get_error
    - struct bufferevent_ssl*::ssl_ops::err_is_want_read
    linkageType: ''
    returnType: int
    signature: int do_write(struct bufferevent_ssl *bev_ssl, int atmost)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_ssl.c:454,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_ssl.c:458,1
    - Dst: bufferevent_get_read_max_
      Src: /src/libevent/bufferevent_ssl.c:462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 431
    functionDepth: 5
    functionLinenumber: 431
    functionLinenumberEnd: 468
    functionName: bytes_to_read
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_read_max_
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: int bytes_to_read(struct bufferevent_ssl *bev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: do_write
      Src: /src/libevent/bufferevent_ssl.c:483,1
    - Dst: bytes_to_read
      Src: /src/libevent/bufferevent_ssl.c:490,1
    - Dst: do_read
      Src: /src/libevent/bufferevent_ssl.c:493,1
    - Dst: struct bufferevent_ssl*::ssl_ops::pending
      Src: /src/libevent/bufferevent_ssl.c:510,1
    - Dst: bytes_to_read
      Src: /src/libevent/bufferevent_ssl.c:527,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_ssl.c:533,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:540,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 475
    functionDepth: 7
    functionLinenumber: 475
    functionLinenumberEnd: 543
    functionName: consider_reading
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 3
    functionsReached:
    - event_del
    - bufferevent_trigger_nolock_
    - struct bufferevent_ssl*::ssl_ops::pending
    - bytes_to_read
    - do_read
    - do_write
    linkageType: ''
    returnType: void
    signature: void consider_reading(struct bufferevent_ssl *bev_ssl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: do_read
      Src: /src/libevent/bufferevent_ssl.c:554,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent_ssl.c:558,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_ssl.c:571,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_ssl.c:572,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_ssl.c:575,1
    - Dst: do_write
      Src: /src/libevent/bufferevent_ssl.c:578,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent_ssl.c:584,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:585,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:589,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 545
    functionDepth: 7
    functionLinenumber: 545
    functionLinenumberEnd: 592
    functionName: consider_writing
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 3
    functionsReached:
    - event_del
    - evbuffer_get_length
    - bufferevent_trigger_nolock_
    - do_read
    - do_write
    linkageType: ''
    returnType: void
    signature: void consider_writing(struct bufferevent_ssl *bev_ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consider_reading
      Src: /src/libevent/bufferevent_ssl.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev_base
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 8
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: be_ssl_readcb
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - consider_reading
    linkageType: ''
    returnType: void
    signature: void be_ssl_readcb(struct bufferevent *bev_base, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consider_writing
      Src: /src/libevent/bufferevent_ssl.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev_base
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 601
    functionDepth: 8
    functionLinenumber: 601
    functionLinenumberEnd: 606
    functionName: be_ssl_writecb
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - consider_writing
    linkageType: ''
    returnType: void
    signature: void be_ssl_writecb(struct bufferevent *bev_base, void *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_ssl.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - bev_base
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 631
    functionName: be_ssl_eventcb
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_run_eventcb_
    linkageType: ''
    returnType: void
    signature: void be_ssl_eventcb(struct bufferevent *bev_base, short what, void
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_ssl.c:637,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_ssl.c:639,1
    - Dst: consider_reading
      Src: /src/libevent/bufferevent_ssl.c:642,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_ssl.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 633
    functionDepth: 8
    functionLinenumber: 633
    functionLinenumberEnd: 645
    functionName: be_ssl_readeventcb
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - consider_reading
    - bufferevent_decref_and_unlock_
    - bufferevent_run_eventcb_
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void be_ssl_readeventcb(evutil_socket_t fd, short what, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_ssl.c:651,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_ssl.c:653,1
    - Dst: consider_writing
      Src: /src/libevent/bufferevent_ssl.c:656,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_ssl.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 647
    functionDepth: 8
    functionLinenumber: 647
    functionLinenumberEnd: 659
    functionName: be_ssl_writeeventcb
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - consider_writing
    - bufferevent_decref_and_unlock_
    - bufferevent_run_eventcb_
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void be_ssl_writeeventcb(evutil_socket_t fd, short what, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_initialized
      Src: /src/libevent/bufferevent_ssl.c:666,1
    - Dst: event_get_fd
      Src: /src/libevent/bufferevent_ssl.c:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - bev_ssl
    - fd
    argTypes:
    - struct bufferevent_ssl*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: be_ssl_auto_fd
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - event_get_fd
    - event_initialized
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t be_ssl_auto_fd(struct bufferevent_ssl *bev_ssl, evutil_socket_t
      fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_setcb
      Src: /src/libevent/bufferevent_ssl.c:677,1
    - Dst: event_initialized
      Src: /src/libevent/bufferevent_ssl.c:685,1
    - Dst: event_pending
      Src: /src/libevent/bufferevent_ssl.c:686,1
    - Dst: event_pending
      Src: /src/libevent/bufferevent_ssl.c:687,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:689,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:690,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_ssl.c:693,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_ssl.c:696,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_ssl.c:701,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_ssl.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - bev_ssl
    - fd
    argTypes:
    - struct bufferevent_ssl*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 673
    functionDepth: 4
    functionLinenumber: 673
    functionLinenumberEnd: 707
    functionName: set_open_callbacks
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - event_del
    - bufferevent_add_event_
    - bufferevent_setcb
    - event_assign
    - event_pending
    - event_initialized
    linkageType: ''
    returnType: int
    signature: int set_open_callbacks(struct bufferevent_ssl *bev_ssl, evutil_socket_t
      fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent_ssl.c:717,1
    - Dst: struct bufferevent_ssl*::ssl_ops::clear_error
      Src: /src/libevent/bufferevent_ssl.c:721,1
    - Dst: struct bufferevent_ssl*::ssl_ops::handshake
      Src: /src/libevent/bufferevent_ssl.c:722,1
    - Dst: struct bufferevent_ssl*::ssl_ops::decrement_buckets
      Src: /src/libevent/bufferevent_ssl.c:725,1
    - Dst: struct bufferevent_ssl*::ssl_ops::handshake_is_ok
      Src: /src/libevent/bufferevent_ssl.c:727,1
    - Dst: event_get_fd
      Src: /src/libevent/bufferevent_ssl.c:728,1
    - Dst: set_open_callbacks
      Src: /src/libevent/bufferevent_ssl.c:731,1
    - Dst: bufferevent_enable
      Src: /src/libevent/bufferevent_ssl.c:733,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_ssl.c:734,1
    - Dst: struct bufferevent_ssl*::ssl_ops::get_error
      Src: /src/libevent/bufferevent_ssl.c:738,1
    - Dst: struct bufferevent_ssl*::ssl_ops::print_err
      Src: /src/libevent/bufferevent_ssl.c:739,1
    - Dst: struct bufferevent_ssl*::ssl_ops::err_is_want_write
      Src: /src/libevent/bufferevent_ssl.c:740,1
    - Dst: bufferevent_ssl_stop_reading
      Src: /src/libevent/bufferevent_ssl.c:741,1
    - Dst: start_writing
      Src: /src/libevent/bufferevent_ssl.c:742,1
    - Dst: struct bufferevent_ssl*::ssl_ops::err_is_want_read
      Src: /src/libevent/bufferevent_ssl.c:743,1
    - Dst: bufferevent_ssl_stop_writing
      Src: /src/libevent/bufferevent_ssl.c:744,1
    - Dst: start_reading
      Src: /src/libevent/bufferevent_ssl.c:745,1
    - Dst: struct bufferevent_ssl*::ssl_ops::conn_closed
      Src: /src/libevent/bufferevent_ssl.c:747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - bev_ssl
    argTypes:
    - struct bufferevent_ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 709
    functionDepth: 5
    functionLinenumber: 709
    functionLinenumberEnd: 751
    functionName: do_handshake
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - struct bufferevent_ssl*::ssl_ops::handshake_is_ok
    - bufferevent_enable
    - set_open_callbacks
    - start_writing
    - struct bufferevent_ssl*::ssl_ops::err_is_want_write
    - struct bufferevent_ssl*::ssl_ops::print_err
    - EVUTIL_ASSERT
    - struct bufferevent_ssl*::ssl_ops::handshake
    - bufferevent_run_eventcb_
    - struct bufferevent_ssl*::ssl_ops::decrement_buckets
    - struct bufferevent_ssl*::ssl_ops::clear_error
    - event_get_fd
    - bufferevent_ssl_stop_reading
    - struct bufferevent_ssl*::ssl_ops::conn_closed
    - bufferevent_ssl_stop_writing
    - start_reading
    - struct bufferevent_ssl*::ssl_ops::get_error
    - struct bufferevent_ssl*::ssl_ops::err_is_want_read
    linkageType: ''
    returnType: int
    signature: int do_handshake(struct bufferevent_ssl *bev_ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_handshake
      Src: /src/libevent/bufferevent_ssl.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev_base
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: be_ssl_handshakecb
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - do_handshake
    linkageType: ''
    returnType: void
    signature: void be_ssl_handshakecb(struct bufferevent *bev_base, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent_ssl.c:765,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_ssl.c:767,1
    - Dst: evutil_socket_finished_connecting_
      Src: /src/libevent/bufferevent_ssl.c:769,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent_ssl.c:771,1
    - Dst: do_handshake
      Src: /src/libevent/bufferevent_ssl.c:773,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent_ssl.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 776
    functionName: be_ssl_handshakeeventcb
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - do_handshake
    - bufferevent_run_eventcb_
    - evutil_socket_finished_connecting_
    - bufferevent_decref_and_unlock_
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void be_ssl_handshakeeventcb(evutil_socket_t fd, short what, void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_setcb
      Src: /src/libevent/bufferevent_ssl.c:782,1
    - Dst: bufferevent_setfd
      Src: /src/libevent/bufferevent_ssl.c:790,1
    - Dst: do_handshake
      Src: /src/libevent/bufferevent_ssl.c:793,1
    - Dst: event_initialized
      Src: /src/libevent/bufferevent_ssl.c:797,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:798,1
    - Dst: event_del
      Src: /src/libevent/bufferevent_ssl.c:799,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_ssl.c:802,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent_ssl.c:805,1
    - Dst: bufferevent_enable
      Src: /src/libevent/bufferevent_ssl.c:809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - bev_ssl
    - fd
    argTypes:
    - struct bufferevent_ssl*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 778
    functionDepth: 4
    functionLinenumber: 778
    functionLinenumberEnd: 812
    functionName: set_handshake_callbacks
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - event_del
    - do_handshake
    - bufferevent_setcb
    - event_assign
    - bufferevent_setfd
    - event_initialized
    linkageType: ''
    returnType: int
    signature: int set_handshake_callbacks(struct bufferevent_ssl *bev_ssl, evutil_socket_t
      fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_IS_SSL
      Src: /src/libevent/bufferevent_ssl.c:818,1
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:821,1
    - Dst: struct bufferevent_ssl*::ssl_ops::renegotiate
      Src: /src/libevent/bufferevent_ssl.c:822,1
    - Dst: set_handshake_callbacks
      Src: /src/libevent/bufferevent_ssl.c:825,1
    - Dst: be_ssl_auto_fd
      Src: /src/libevent/bufferevent_ssl.c:825,1
    - Dst: do_handshake
      Src: /src/libevent/bufferevent_ssl.c:828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 814
    functionDepth: 5
    functionLinenumber: 814
    functionLinenumberEnd: 830
    functionName: bufferevent_ssl_renegotiate_impl
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 2
    functionsReached:
    - bufferevent_ssl_upcast
    - set_handshake_callbacks
    - struct bufferevent_ssl*::ssl_ops::renegotiate
    - be_ssl_auto_fd
    - do_handshake
    - BEV_IS_SSL
    linkageType: ''
    returnType: int
    signature: int bufferevent_ssl_renegotiate_impl(struct bufferevent *bev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent_ssl.c:842,1
    - Dst: consider_writing
      Src: /src/libevent/bufferevent_ssl.c:846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 832
    functionDepth: 8
    functionLinenumber: 832
    functionLinenumberEnd: 850
    functionName: be_ssl_outbuf_cb
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_add_event_
    - consider_writing
    linkageType: ''
    returnType: void
    signature: "void be_ssl_outbuf_cb(struct evbuffer *buf,\n    const struct evbuffer_cb_info
      *cbinfo, void *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:856,1
    - Dst: start_reading
      Src: /src/libevent/bufferevent_ssl.c:860,1
    - Dst: start_writing
      Src: /src/libevent/bufferevent_ssl.c:862,1
    - Dst: BEV_RESET_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_ssl.c:866,1
    - Dst: BEV_RESET_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_ssl.c:868,1
    - Dst: consider_reading
      Src: /src/libevent/bufferevent_ssl.c:871,1
    - Dst: consider_writing
      Src: /src/libevent/bufferevent_ssl.c:873,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - bev
    - events
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 853
    functionDepth: 8
    functionLinenumber: 853
    functionLinenumberEnd: 876
    functionName: be_ssl_enable
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    - start_writing
    - consider_reading
    - BEV_RESET_GENERIC_WRITE_TIMEOUT
    - consider_writing
    - BEV_RESET_GENERIC_READ_TIMEOUT
    - start_reading
    linkageType: ''
    returnType: int
    signature: int be_ssl_enable(struct bufferevent *bev, short events)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:881,1
    - Dst: bufferevent_ssl_stop_reading
      Src: /src/libevent/bufferevent_ssl.c:884,1
    - Dst: bufferevent_ssl_stop_writing
      Src: /src/libevent/bufferevent_ssl.c:886,1
    - Dst: BEV_DEL_GENERIC_READ_TIMEOUT
      Src: /src/libevent/bufferevent_ssl.c:890,1
    - Dst: BEV_DEL_GENERIC_WRITE_TIMEOUT
      Src: /src/libevent/bufferevent_ssl.c:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - bev
    - events
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 878
    functionDepth: 5
    functionLinenumber: 878
    functionLinenumberEnd: 895
    functionName: be_ssl_disable
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    - BEV_DEL_GENERIC_WRITE_TIMEOUT
    - BEV_DEL_GENERIC_READ_TIMEOUT
    - bufferevent_ssl_stop_reading
    - bufferevent_ssl_stop_writing
    linkageType: ''
    returnType: int
    signature: int be_ssl_disable(struct bufferevent *bev, short events)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:900,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent_ssl.c:904,1
    - Dst: event_warnx
      Src: /src/libevent/bufferevent_ssl.c:905,1
    - Dst: bufferevent_free
      Src: /src/libevent/bufferevent_ssl.c:908,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/bufferevent_ssl.c:917,1
    - Dst: bufferevent_unsuspend_read_
      Src: /src/libevent/bufferevent_ssl.c:919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 923
    functionName: be_ssl_unlink
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_ssl_upcast
    - bufferevent_unsuspend_read_
    - bufferevent_setcb
    - event_warnx
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void be_ssl_unlink(struct bufferevent *bev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:928,1
    - Dst: struct bufferevent_ssl*::ssl_ops::get_fd
      Src: /src/libevent/bufferevent_ssl.c:932,1
    - Dst: evutil_closesocket
      Src: /src/libevent/bufferevent_ssl.c:938,1
    - Dst: struct bufferevent_ssl*::ssl_ops::free
      Src: /src/libevent/bufferevent_ssl.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 942
    functionName: be_ssl_destruct
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - struct bufferevent_ssl*::ssl_ops::get_fd
    - bufferevent_ssl_upcast
    - struct bufferevent_ssl*::ssl_ops::free
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void be_ssl_destruct(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:947,1
    - Dst: bufferevent_generic_adj_timeouts_
      Src: /src/libevent/bufferevent_ssl.c:950,1
    - Dst: bufferevent_generic_adj_existing_timeouts_
      Src: /src/libevent/bufferevent_ssl.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 954
    functionName: be_ssl_adj_timeouts
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    - bufferevent_generic_adj_existing_timeouts_
    - bufferevent_generic_adj_timeouts_
    linkageType: ''
    returnType: int
    signature: int be_ssl_adj_timeouts(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bufev
    - iotype
    - mode
    argTypes:
    - struct bufferevent*
    - short
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 962
    functionName: be_ssl_flush
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int be_ssl_flush(struct bufferevent *bufev,\n    short iotype, enum
      bufferevent_flush_mode mode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: struct bufferevent_ssl*::ssl_ops::clear
      Src: /src/libevent/bufferevent_ssl.c:972,1
    - Dst: struct bufferevent_ssl*::ssl_ops::set_accept_state
      Src: /src/libevent/bufferevent_ssl.c:974,1
    - Dst: set_handshake_callbacks
      Src: /src/libevent/bufferevent_ssl.c:975,1
    - Dst: struct bufferevent_ssl*::ssl_ops::clear
      Src: /src/libevent/bufferevent_ssl.c:979,1
    - Dst: struct bufferevent_ssl*::ssl_ops::set_connect_state
      Src: /src/libevent/bufferevent_ssl.c:981,1
    - Dst: set_handshake_callbacks
      Src: /src/libevent/bufferevent_ssl.c:982,1
    - Dst: set_open_callbacks
      Src: /src/libevent/bufferevent_ssl.c:986,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - bev_ssl
    - state
    - fd
    argTypes:
    - struct bufferevent_ssl*
    - enum bufferevent_ssl_state
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 964
    functionDepth: 5
    functionLinenumber: 964
    functionLinenumberEnd: 994
    functionName: be_ssl_set_fd
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - set_open_callbacks
    - set_handshake_callbacks
    - struct bufferevent_ssl*::ssl_ops::clear
    - struct bufferevent_ssl*::ssl_ops::set_connect_state
    - struct bufferevent_ssl*::ssl_ops::set_accept_state
    linkageType: ''
    returnType: int
    signature: "int be_ssl_set_fd(struct bufferevent_ssl *bev_ssl,\n    enum bufferevent_ssl_state
      state, evutil_socket_t fd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:1001,1
    - Dst: struct bufferevent_ssl*::ssl_ops::bio_set_fd
      Src: /src/libevent/bufferevent_ssl.c:1004,1
    - Dst: be_ssl_set_fd
      Src: /src/libevent/bufferevent_ssl.c:1006,1
    - Dst: event_get_fd
      Src: /src/libevent/bufferevent_ssl.c:1009,1
    - Dst: event_get_fd
      Src: /src/libevent/bufferevent_ssl.c:1011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - bev
    - op
    - data
    argTypes:
    - struct bufferevent*
    - enum bufferevent_ctrl_op
    - union bufferevent_ctrl_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 996
    functionDepth: 6
    functionLinenumber: 996
    functionLinenumberEnd: 1021
    functionName: be_ssl_ctrl
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_upcast
    - be_ssl_set_fd
    - event_get_fd
    - struct bufferevent_ssl*::ssl_ops::bio_set_fd
    linkageType: ''
    returnType: int
    signature: "int be_ssl_ctrl(struct bufferevent *bev,\n    enum bufferevent_ctrl_op
      op, union bufferevent_ctrl_data *data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/bufferevent_ssl.c:1040,1
    - Dst: bufferevent_init_common_
      Src: /src/libevent/bufferevent_ssl.c:1045,1
    - Dst: struct bufferevent_ssl*::ssl_ops::init
      Src: /src/libevent/bufferevent_ssl.c:1051,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/bufferevent_ssl.c:1055,1
    - Dst: bufferevent_enable_locking_
      Src: /src/libevent/bufferevent_ssl.c:1059,1
    - Dst: bufferevent_init_generic_timeout_cbs_
      Src: /src/libevent/bufferevent_ssl.c:1062,1
    - Dst: bufferevent_incref_
      Src: /src/libevent/bufferevent_ssl.c:1063,1
    - Dst: struct bufferevent_ssl*::ssl_ops::init_bio_counts
      Src: /src/libevent/bufferevent_ssl.c:1069,1
    - Dst: be_ssl_auto_fd
      Src: /src/libevent/bufferevent_ssl.c:1071,1
    - Dst: be_ssl_set_fd
      Src: /src/libevent/bufferevent_ssl.c:1072,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/bufferevent_ssl.c:1076,1
    - Dst: bufferevent_enable
      Src: /src/libevent/bufferevent_ssl.c:1077,1
    - Dst: bufferevent_suspend_read_
      Src: /src/libevent/bufferevent_ssl.c:1079,1
    - Dst: struct bufferevent_ssl*::ssl_ops::free
      Src: /src/libevent/bufferevent_ssl.c:1087,1
    - Dst: bufferevent_free
      Src: /src/libevent/bufferevent_ssl.c:1089,1
    - Dst: struct le_ssl_ops*::free_raw
      Src: /src/libevent/bufferevent_ssl.c:1092,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 7
    argNames:
    - base
    - underlying
    - fd
    - ssl
    - state
    - options
    - ssl_ops
    argTypes:
    - struct event_base*
    - struct bufferevent*
    - evutil_socket_t
    - void*
    - enum bufferevent_ssl_state
    - int
    - struct le_ssl_ops*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1023
    functionDepth: 6
    functionLinenumber: 1023
    functionLinenumberEnd: 1095
    functionName: bufferevent_ssl_new_impl
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 4
    functionsReached:
    - bufferevent_free
    - bufferevent_enable
    - struct bufferevent_ssl*::ssl_ops::init
    - struct bufferevent_ssl*::ssl_ops::free
    - bufferevent_init_generic_timeout_cbs_
    - be_ssl_auto_fd
    - bufferevent_init_common_
    - bufferevent_setwatermark
    - mm_calloc
    - struct le_ssl_ops*::free_raw
    - be_ssl_set_fd
    - bufferevent_enable_locking_
    - struct bufferevent_ssl*::ssl_ops::init_bio_counts
    - evbuffer_add_cb
    - bufferevent_suspend_read_
    - bufferevent_incref_
    linkageType: ''
    returnType: struct bufferevent
    signature: "struct bufferevent *\nbufferevent_ssl_new_impl(struct event_base *base,\n
      \   struct bufferevent *underlying,\n    evutil_socket_t fd,\n    void *ssl,\n
      \   enum bufferevent_ssl_state state,\n    int options,\n\tstruct le_ssl_ops
      *ssl_ops)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_IS_SSL
      Src: /src/libevent/bufferevent_ssl.c:1103,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ssl.c:1106,1
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:1107,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ssl.c:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1097
    functionDepth: 2
    functionLinenumber: 1097
    functionLinenumberEnd: 1113
    functionName: bufferevent_get_ssl_error
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 2
    functionsReached:
    - BEV_IS_SSL
    - BEV_UNLOCK
    - BEV_LOCK
    - bufferevent_ssl_upcast
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long bufferevent_get_ssl_error(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_IS_SSL
      Src: /src/libevent/bufferevent_ssl.c:1120,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ssl.c:1123,1
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:1124,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ssl.c:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1129
    functionName: bufferevent_ssl_get_flags
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - BEV_IS_SSL
    - BEV_UNLOCK
    - BEV_LOCK
    - bufferevent_ssl_upcast
    linkageType: ''
    returnType: ev_uint64_t
    signature: ev_uint64_t bufferevent_ssl_get_flags(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_IS_SSL
      Src: /src/libevent/bufferevent_ssl.c:1136,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ssl.c:1139,1
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:1140,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ssl.c:1143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bev
    - flags
    argTypes:
    - struct bufferevent*
    - ev_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1130
    functionDepth: 2
    functionLinenumber: 1130
    functionLinenumberEnd: 1146
    functionName: bufferevent_ssl_set_flags
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - BEV_IS_SSL
    - BEV_UNLOCK
    - BEV_LOCK
    - bufferevent_ssl_upcast
    linkageType: ''
    returnType: ev_uint64_t
    signature: ev_uint64_t bufferevent_ssl_set_flags(struct bufferevent *bev, ev_uint64_t
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_IS_SSL
      Src: /src/libevent/bufferevent_ssl.c:1153,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ssl.c:1156,1
    - Dst: bufferevent_ssl_upcast
      Src: /src/libevent/bufferevent_ssl.c:1157,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ssl.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bev
    - flags
    argTypes:
    - struct bufferevent*
    - ev_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1163
    functionName: bufferevent_ssl_clear_flags
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 0
    functionsReached:
    - BEV_IS_SSL
    - BEV_UNLOCK
    - BEV_LOCK
    - bufferevent_ssl_upcast
    linkageType: ''
    returnType: ev_uint64_t
    signature: ev_uint64_t bufferevent_ssl_clear_flags(struct bufferevent *bev, ev_uint64_t
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_get_flags
      Src: /src/libevent/bufferevent_ssl.c:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1165
    functionDepth: 3
    functionLinenumber: 1165
    functionLinenumberEnd: 1172
    functionName: bufferevent_ssl_get_allow_dirty_shutdown
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 2
    functionsReached:
    - bufferevent_ssl_get_flags
    linkageType: ''
    returnType: int
    signature: int bufferevent_ssl_get_allow_dirty_shutdown(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent_ssl.c:1178,1
    - Dst: bufferevent_ssl_set_flags
      Src: /src/libevent/bufferevent_ssl.c:1181,1
    - Dst: bufferevent_ssl_clear_flags
      Src: /src/libevent/bufferevent_ssl.c:1183,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent_ssl.c:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bev
    - allow_dirty_shutdown
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1186
    functionName: bufferevent_ssl_set_allow_dirty_shutdown
    functionSourceFile: /src/libevent/bufferevent_ssl.c
    functionUses: 2
    functionsReached:
    - bufferevent_ssl_clear_flags
    - BEV_UNLOCK
    - bufferevent_ssl_set_flags
    - BEV_LOCK
    linkageType: ''
    returnType: void
    signature: "void bufferevent_ssl_set_allow_dirty_shutdown(\n\tstruct bufferevent
      *bev, int allow_dirty_shutdown)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/poll.c:103,1
    - Dst: sigfd_init_
      Src: /src/libevent/poll.c:106,1
    - Dst: evsig_init_
      Src: /src/libevent/poll.c:107,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/poll.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: poll_init
    functionSourceFile: /src/libevent/poll.c
    functionUses: 0
    functionsReached:
    - sigfd_init_
    - evutil_weakrand_seed_
    - mm_calloc
    - evsig_init_
    linkageType: ''
    returnType: void
    signature: 'void *

      poll_init(struct event_base *base)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/poll.c:125,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/poll.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pop
    argTypes:
    - struct pollop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: poll_check_ok
    functionSourceFile: /src/libevent/poll.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: void poll_check_ok(struct pollop *pop)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: poll_check_ok
      Src: /src/libevent/poll.c:144,1
    - Dst: mm_realloc
      Src: /src/libevent/poll.c:156,1
    - Dst: event_warn
      Src: /src/libevent/poll.c:159,1
    - Dst: memcpy
      Src: /src/libevent/poll.c:165,1
    - Dst: evutil_tv_to_msec_
      Src: /src/libevent/poll.c:176,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/poll.c:181,1
    - Dst: poll
      Src: /src/libevent/poll.c:183,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/poll.c:185,1
    - Dst: event_warn
      Src: /src/libevent/poll.c:189,1
    - Dst: event_debug
      Src: /src/libevent/poll.c:196,1
    - Dst: evutil_weakrand_range_
      Src: /src/libevent/poll.c:201,1
    - Dst: evmap_io_active_
      Src: /src/libevent/poll.c:224,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 228
    functionName: poll_dispatch
    functionSourceFile: /src/libevent/poll.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - poll
    - event_warn
    - evutil_weakrand_range_
    - memcpy
    - EVBASE_ACQUIRE_LOCK
    - poll_check_ok
    - evmap_io_active_
    - evutil_tv_to_msec_
    - event_debug
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int poll_dispatch(struct event_base *base, struct timeval *tv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/poll.c:238,1
    - Dst: poll_check_ok
      Src: /src/libevent/poll.c:242,1
    - Dst: mm_realloc
      Src: /src/libevent/poll.c:253,1
    - Dst: event_warn
      Src: /src/libevent/poll.c:256,1
    - Dst: poll_check_ok
      Src: /src/libevent/poll.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - idx_
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 287
    functionName: poll_add
    functionSourceFile: /src/libevent/poll.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - EVUTIL_ASSERT
    - poll_check_ok
    - event_warn
    linkageType: ''
    returnType: int
    signature: int poll_add(struct event_base *base, int fd, short old, short events,
      void *idx_)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/poll.c:301,1
    - Dst: poll_check_ok
      Src: /src/libevent/poll.c:305,1
    - Dst: poll_check_ok
      Src: /src/libevent/poll.c:318,1
    - Dst: memcpy
      Src: /src/libevent/poll.c:332,1
    - Dst: evmap_io_get_fdinfo_
      Src: /src/libevent/poll.c:334,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/poll.c:335,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/poll.c:336,1
    - Dst: poll_check_ok
      Src: /src/libevent/poll.c:340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - idx_
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 342
    functionName: poll_del
    functionSourceFile: /src/libevent/poll.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVUTIL_ASSERT
    - poll_check_ok
    - evmap_io_get_fdinfo_
    linkageType: ''
    returnType: int
    signature: int poll_del(struct event_base *base, int fd, short old, short events,
      void *idx_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evsig_dealloc_
      Src: /src/libevent/poll.c:349,1
    - Dst: mm_free
      Src: /src/libevent/poll.c:351,1
    - Dst: mm_free
      Src: /src/libevent/poll.c:353,1
    - Dst: memset
      Src: /src/libevent/poll.c:355,1
    - Dst: mm_free
      Src: /src/libevent/poll.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: poll_dealloc
    functionSourceFile: /src/libevent/poll.c
    functionUses: 0
    functionsReached:
    - mm_free
    - memset
    - evsig_dealloc_
    linkageType: ''
    returnType: void
    signature: void poll_dealloc(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: evutil_secure_rng_set_urandom_device_file
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evutil_secure_rng_set_urandom_device_file(char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arc4random
      Src: /src/libevent/evutil_rand.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: evutil_secure_rng_init
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 1
    functionsReached:
    - arc4random
    linkageType: ''
    returnType: int
    signature: int evutil_secure_rng_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable_locks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: evutil_secure_rng_global_setup_locks_
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evutil_secure_rng_global_setup_locks_(const int enable_locks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: evutil_free_secure_rng_globals_locks
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evutil_free_secure_rng_globals_locks(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: arc4random_buf
      Src: /src/libevent/evutil_rand.c:75,1
    - Dst: arc4random_buf
      Src: /src/libevent/evutil_rand.c:91,1
    - Dst: arc4random
      Src: /src/libevent/evutil_rand.c:99,1
    - Dst: memcpy
      Src: /src/libevent/evutil_rand.c:101,1
    - Dst: arc4random
      Src: /src/libevent/evutil_rand.c:106,1
    - Dst: arc4random
      Src: /src/libevent/evutil_rand.c:111,1
    - Dst: memcpy
      Src: /src/libevent/evutil_rand.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 71
    functionDepth: 7
    functionLinenumber: 71
    functionLinenumberEnd: 115
    functionName: ev_arc4random_buf
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 0
    functionsReached:
    - arc4random_buf
    - memcpy
    - arc4random
    linkageType: ''
    returnType: void
    signature: void ev_arc4random_buf(void *buf, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: ARC4_LOCK_
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARC4_LOCK_()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: ARC4_UNLOCK_
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARC4_UNLOCK_()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_SETUP_GLOBAL_LOCK
      Src: /src/libevent/evutil_rand.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enable_locks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: evutil_secure_rng_global_setup_locks_
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 1
    functionsReached:
    - EVTHREAD_SETUP_GLOBAL_LOCK
    linkageType: ''
    returnType: int
    signature: int evutil_secure_rng_global_setup_locks_(const int enable_locks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/evutil_rand.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: evutil_free_secure_rng_globals_locks
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_FREE_LOCK
    linkageType: ''
    returnType: void
    signature: void evutil_free_secure_rng_globals_locks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARC4_LOCK_
      Src: /src/libevent/evutil_rand.c:161,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/evutil_rand.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: evutil_secure_rng_set_urandom_device_file
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 0
    functionsReached:
    - ARC4_LOCK_
    - ARC4_UNLOCK_
    linkageType: ''
    returnType: int
    signature: int evutil_secure_rng_set_urandom_device_file(char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARC4_LOCK_
      Src: /src/libevent/evutil_rand.c:173,1
    - Dst: arc4_stir
      Src: /src/libevent/evutil_rand.c:174,1
    - Dst: ARC4_UNLOCK_
      Src: /src/libevent/evutil_rand.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: evutil_secure_rng_init
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 1
    functionsReached:
    - arc4_stir
    - ARC4_LOCK_
    - ARC4_UNLOCK_
    linkageType: ''
    returnType: int
    signature: int evutil_secure_rng_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arc4random_buf
      Src: /src/libevent/evutil_rand.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 7
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: ev_arc4random_buf
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 0
    functionsReached:
    - arc4random_buf
    linkageType: ''
    returnType: void
    signature: void ev_arc4random_buf(void *buf, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ev_arc4random_buf
      Src: /src/libevent/evutil_rand.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 8
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: evutil_secure_rng_get_bytes
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 3
    functionsReached:
    - ev_arc4random_buf
    linkageType: ''
    returnType: void
    signature: void evutil_secure_rng_get_bytes(void *buf, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arc4random_addrandom
      Src: /src/libevent/evutil_rand.c:197,1
    - Dst: arc4random_stir
      Src: /src/libevent/evutil_rand.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 6
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: evutil_secure_rng_add_bytes
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 0
    functionsReached:
    - arc4random_stir
    - arc4random_addrandom
    linkageType: ''
    returnType: void
    signature: void evutil_secure_rng_add_bytes(const char *buf, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_free_secure_rng_globals_locks
      Src: /src/libevent/evutil_rand.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: evutil_free_secure_rng_globals_
    functionSourceFile: /src/libevent/evutil_rand.c
    functionUses: 1
    functionsReached:
    - evutil_free_secure_rng_globals_locks
    linkageType: ''
    returnType: void
    signature: void evutil_free_secure_rng_globals_(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: HT_HEAD
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: HT_INITIALIZER
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_INITIALIZER()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: HT_ENTRY
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: HT_ENTRY
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: HT_EMPTY
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: HT_SIZE
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SIZE(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: HT_MEM_USAGE
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_MEM_USAGE(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - head
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: HT_FIND
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_FIND(name, head, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - head
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: HT_INSERT
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_INSERT(name, head, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - head
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: HT_REPLACE
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_REPLACE(name, head, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - head
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: HT_REMOVE
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_REMOVE(name, head, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: HT_START
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_START(name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - head
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: HT_NEXT
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_NEXT(name, head, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - head
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: HT_NEXT_RMV
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_NEXT_RMV(name, head, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: HT_CLEAR
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_CLEAR(name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: HT_INIT
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_INIT(name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: ht_improve_hash_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ht_improve_hash_(unsigned h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: ht_string_hash_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ht_string_hash_(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: ht_string_hash_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ht_string_hash_(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - field
    - ','
    - hashfn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: HT_SET_HASH_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_HASH_(elm, field, hashfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - field
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: HT_SET_HASHVAL_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_HASHVAL_(elm, field, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - field
    - ','
    - hashfn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: HT_ELT_HASH_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_ELT_HASH_(elm, field, hashfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - field
    - ','
    - hashfn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: HT_SET_HASH_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_HASH_(elm, field, hashfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - field
    - ','
    - hashfn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: HT_ELT_HASH_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_ELT_HASH_(elm, field, hashfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - field
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: HT_SET_HASHVAL_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_HASHVAL_(elm, field, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - field
    - ','
    - elm
    - ','
    - hashfn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: HT_BUCKET_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_BUCKET_(head, field, elm, hashfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: HT_FOREACH
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_FOREACH(x, name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - hashfn
    - ','
    - eqfn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: HT_PROTOTYPE
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_PROTOTYPE(name, type, field, hashfn, eqfn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HT_BUCKET_
      Src: /src/libevent/ht-internal.h:149,1
    - Dst: eqfn
      Src: /src/libevent/ht-internal.h:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: _HT_FIND_P_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - eqfn
    - HT_BUCKET_
    linkageType: ''
    returnType: struct type
    signature: "struct type **                                          \\\n  name##_HT_FIND_P_(struct
      name *head, struct type *elm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HT_SET_HASH_
      Src: /src/libevent/ht-internal.h:164,1
    - Dst: _HT_FIND_P_
      Src: /src/libevent/ht-internal.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: _HT_FIND
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - HT_SET_HASH_
    - _HT_FIND_P_
    linkageType: ''
    returnType: struct type
    signature: "struct type *                                           \\\n  name##_HT_FIND(const
      struct name *head, struct type *elm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _HT_GROW
      Src: /src/libevent/ht-internal.h:175,1
    - Dst: HT_SET_HASH_
      Src: /src/libevent/ht-internal.h:177,1
    - Dst: HT_BUCKET_
      Src: /src/libevent/ht-internal.h:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: _HT_INSERT
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - HT_SET_HASH_
    - _HT_GROW
    - HT_BUCKET_
    linkageType: ''
    returnType: void
    signature: void _HT_INSERT(struct name *head, struct type *elm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _HT_GROW
      Src: /src/libevent/ht-internal.h:190,1
    - Dst: HT_SET_HASH_
      Src: /src/libevent/ht-internal.h:191,1
    - Dst: _HT_FIND_P_
      Src: /src/libevent/ht-internal.h:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: _HT_REPLACE
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - HT_SET_HASH_
    - _HT_FIND_P_
    - _HT_GROW
    linkageType: ''
    returnType: struct type
    signature: "struct type *                                           \\\n  name##_HT_REPLACE(struct
      name *head, struct type *elm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HT_SET_HASH_
      Src: /src/libevent/ht-internal.h:210,1
    - Dst: _HT_FIND_P_
      Src: /src/libevent/ht-internal.h:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: _HT_REMOVE
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - HT_SET_HASH_
    - _HT_FIND_P_
    linkageType: ''
    returnType: struct type
    signature: "struct type *                                           \\\n  name##_HT_REMOVE(struct
      name *head, struct type *elm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/libevent/ht-internal.h:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - head
    - data
    argTypes:
    - struct name*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: _HT_FOREACH_FN
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: void
    signature: "void _HT_FOREACH_FN(struct name *head,                               \\\n
      \                      int (*fn)(struct type *, void *),                \\\n
      \                      void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: _HT_START
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct type
    signature: "struct type **                                          \\\n  name##_HT_START(struct
      name *head)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HT_ELT_HASH_
      Src: /src/libevent/ht-internal.h:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: _HT_NEXT
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - HT_ELT_HASH_
    linkageType: ''
    returnType: struct type
    signature: "struct type **                                          \\\n  name##_HT_NEXT(struct
      name *head, struct type **elm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HT_ELT_HASH_
      Src: /src/libevent/ht-internal.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: _HT_NEXT_RMV
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - HT_ELT_HASH_
    linkageType: ''
    returnType: struct type
    signature: "struct type **                                          \\\n  name##_HT_NEXT_RMV(struct
      name *head, struct type **elm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - hashfn
    - ','
    - eqfn
    - ','
    - load
    - ','
    - mallocfn
    - ','
    - reallocfn
    - ','
    - freefn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 315
    functionName: HT_GENERATE
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "HT_GENERATE(name, type, field, hashfn, eqfn, load, mallocfn,    \\\n
      \                   reallocfn, freefn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mallocfn
      Src: /src/libevent/ht-internal.h:332,1
    - Dst: memset
      Src: /src/libevent/ht-internal.h:334,1
    - Dst: HT_ELT_HASH_
      Src: /src/libevent/ht-internal.h:341,1
    - Dst: freefn
      Src: /src/libevent/ht-internal.h:348,1
    - Dst: reallocfn
      Src: /src/libevent/ht-internal.h:352,1
    - Dst: memset
      Src: /src/libevent/ht-internal.h:354,1
    - Dst: HT_ELT_HASH_
      Src: /src/libevent/ht-internal.h:359,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - head
    - size
    argTypes:
    - struct name*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 375
    functionName: _HT_GROW
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 2
    functionsReached:
    - memset
    - reallocfn
    - HT_ELT_HASH_
    - freefn
    - mallocfn
    linkageType: ''
    returnType: int
    signature: int _HT_GROW(struct name *head, unsigned size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freefn
      Src: /src/libevent/ht-internal.h:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: _HT_CLEAR
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - freefn
    linkageType: ''
    returnType: void
    signature: void _HT_CLEAR(struct name *head)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HT_ELT_HASH_
      Src: /src/libevent/ht-internal.h:410,1
    - Dst: hashfn
      Src: /src/libevent/ht-internal.h:410,1
    - Dst: HT_ELT_HASH_
      Src: /src/libevent/ht-internal.h:412,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct name*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 420
    functionName: _HT_REP_IS_BAD_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached:
    - HT_ELT_HASH_
    - hashfn
    linkageType: ''
    returnType: int
    signature: int _HT_REP_IS_BAD_(const struct name *head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - name
    - ','
    - field
    - ','
    - hashfn
    - ','
    - head
    - ','
    - eltype
    - ','
    - elm
    - ','
    - var
    - ','
    - y
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 440
    functionName: HT_FIND_OR_INSERT_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_FIND_OR_INSERT_(name, field, hashfn, head, eltype, elm, var, y,
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - field
    - ','
    - head
    - ','
    - elm
    - ','
    - newent
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: HT_FOI_INSERT_
    functionSourceFile: /src/libevent/ht-internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_FOI_INSERT_(field, head, elm, newent, var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pwrite
      Src: /src/libevent/devpoll.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - devpollop
    argTypes:
    - struct devpollop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: devpoll_commit
    functionSourceFile: /src/libevent/devpoll.c
    functionUses: 0
    functionsReached:
    - pwrite
    linkageType: ''
    returnType: int
    signature: int devpoll_commit(struct devpollop *devpollop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: devpoll_commit
      Src: /src/libevent/devpoll.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - devpollop
    - fd
    - events
    argTypes:
    - struct devpollop*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: devpoll_queue
    functionSourceFile: /src/libevent/devpoll.c
    functionUses: 0
    functionsReached:
    - devpoll_commit
    linkageType: ''
    returnType: int
    signature: int devpoll_queue(struct devpollop *devpollop, int fd, int events)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/devpoll.c:127,1
    - Dst: getrlimit
      Src: /src/libevent/devpoll.c:130,1
    - Dst: evutil_open_closeonexec_
      Src: /src/libevent/devpoll.c:135,1
    - Dst: event_warn
      Src: /src/libevent/devpoll.c:136,1
    - Dst: mm_free
      Src: /src/libevent/devpoll.c:137,1
    - Dst: mm_calloc
      Src: /src/libevent/devpoll.c:146,1
    - Dst: mm_free
      Src: /src/libevent/devpoll.c:148,1
    - Dst: close
      Src: /src/libevent/devpoll.c:149,1
    - Dst: mm_calloc
      Src: /src/libevent/devpoll.c:154,1
    - Dst: mm_free
      Src: /src/libevent/devpoll.c:156,1
    - Dst: mm_free
      Src: /src/libevent/devpoll.c:157,1
    - Dst: close
      Src: /src/libevent/devpoll.c:158,1
    - Dst: evsig_init_
      Src: /src/libevent/devpoll.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 165
    functionName: devpoll_init
    functionSourceFile: /src/libevent/devpoll.c
    functionUses: 0
    functionsReached:
    - evutil_open_closeonexec_
    - event_warn
    - close
    - mm_calloc
    - evsig_init_
    - mm_free
    - getrlimit
    linkageType: ''
    returnType: void
    signature: 'void *

      devpoll_init(struct event_base *base)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: devpoll_commit
      Src: /src/libevent/devpoll.c:176,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/devpoll.c:185,1
    - Dst: ioctl
      Src: /src/libevent/devpoll.c:187,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/devpoll.c:189,1
    - Dst: event_warn
      Src: /src/libevent/devpoll.c:193,1
    - Dst: event_debug
      Src: /src/libevent/devpoll.c:200,1
    - Dst: evmap_io_active_
      Src: /src/libevent/devpoll.c:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 224
    functionName: devpoll_dispatch
    functionSourceFile: /src/libevent/devpoll.c
    functionUses: 0
    functionsReached:
    - event_warn
    - EVBASE_ACQUIRE_LOCK
    - ioctl
    - evmap_io_active_
    - devpoll_commit
    - event_debug
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int devpoll_dispatch(struct event_base *base, struct timeval *tv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: devpoll_queue
      Src: /src/libevent/devpoll.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 251
    functionName: devpoll_add
    functionSourceFile: /src/libevent/devpoll.c
    functionUses: 0
    functionsReached:
    - devpoll_queue
    linkageType: ''
    returnType: int
    signature: int devpoll_add(struct event_base *base, int fd, short old, short events,
      void *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: devpoll_queue
      Src: /src/libevent/devpoll.c:273,1
    - Dst: devpoll_queue
      Src: /src/libevent/devpoll.c:284,1
    - Dst: devpoll_queue
      Src: /src/libevent/devpoll.c:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 292
    functionName: devpoll_del
    functionSourceFile: /src/libevent/devpoll.c
    functionUses: 0
    functionsReached:
    - devpoll_queue
    linkageType: ''
    returnType: int
    signature: int devpoll_del(struct event_base *base, int fd, short old, short events,
      void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evsig_dealloc_
      Src: /src/libevent/devpoll.c:299,1
    - Dst: mm_free
      Src: /src/libevent/devpoll.c:301,1
    - Dst: mm_free
      Src: /src/libevent/devpoll.c:303,1
    - Dst: close
      Src: /src/libevent/devpoll.c:305,1
    - Dst: memset
      Src: /src/libevent/devpoll.c:307,1
    - Dst: mm_free
      Src: /src/libevent/devpoll.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: devpoll_dealloc
    functionSourceFile: /src/libevent/devpoll.c
    functionUses: 0
    functionsReached:
    - mm_free
    - close
    - evsig_dealloc_
    - memset
    linkageType: ''
    returnType: void
    signature: void devpoll_dealloc(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: DIV_ROUNDUP
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIV_ROUNDUP(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: SELECT_ALLOC_SIZE
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SELECT_ALLOC_SIZE(n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/select.c:114,1
    - Dst: select_resize
      Src: /src/libevent/select.c:117,1
    - Dst: SELECT_ALLOC_SIZE
      Src: /src/libevent/select.c:117,1
    - Dst: select_free_selectop
      Src: /src/libevent/select.c:118,1
    - Dst: sigfd_init_
      Src: /src/libevent/select.c:122,1
    - Dst: evsig_init_
      Src: /src/libevent/select.c:123,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/select.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: select_init
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached:
    - sigfd_init_
    - select_free_selectop
    - SELECT_ALLOC_SIZE
    - mm_calloc
    - select_resize
    - evsig_init_
    - evutil_weakrand_seed_
    linkageType: ''
    returnType: void
    signature: 'void *

      select_init(struct event_base *base)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sop
    argTypes:
    - struct selectop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: check_selectop
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_selectop(struct selectop *sop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: check_selectop
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_selectop(sop)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_selectop
      Src: /src/libevent/select.c:146,1
    - Dst: mm_realloc
      Src: /src/libevent/select.c:150,1
    - Dst: mm_realloc
      Src: /src/libevent/select.c:153,1
    - Dst: memcpy
      Src: /src/libevent/select.c:164,1
    - Dst: memcpy
      Src: /src/libevent/select.c:166,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/select.c:171,1
    - Dst: select
      Src: /src/libevent/select.c:173,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/select.c:176,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:178,1
    - Dst: event_warn
      Src: /src/libevent/select.c:182,1
    - Dst: event_debug
      Src: /src/libevent/select.c:189,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:191,1
    - Dst: evutil_weakrand_range_
      Src: /src/libevent/select.c:192,1
    - Dst: FD_ISSET
      Src: /src/libevent/select.c:197,1
    - Dst: FD_ISSET
      Src: /src/libevent/select.c:199,1
    - Dst: evmap_io_active_
      Src: /src/libevent/select.c:205,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - base
    - tv
    argTypes:
    - struct event_base*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 210
    functionName: select_dispatch
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached:
    - mm_realloc
    - FD_ISSET
    - event_warn
    - evutil_weakrand_range_
    - memcpy
    - EVBASE_ACQUIRE_LOCK
    - evmap_io_active_
    - check_selectop
    - event_debug
    - select
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: int
    signature: int select_dispatch(struct event_base *base, struct timeval *tv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_selectop
      Src: /src/libevent/select.c:219,1
    - Dst: mm_realloc
      Src: /src/libevent/select.c:221,1
    - Dst: mm_realloc
      Src: /src/libevent/select.c:224,1
    - Dst: memset
      Src: /src/libevent/select.c:236,1
    - Dst: memset
      Src: /src/libevent/select.c:238,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:242,1
    - Dst: event_warn
      Src: /src/libevent/select.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - sop
    - fdsz
    argTypes:
    - struct selectop*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 249
    functionName: select_resize
    functionSourceFile: /src/libevent/select.c
    functionUses: 1
    functionsReached:
    - mm_realloc
    - memset
    - check_selectop
    - event_warn
    linkageType: ''
    returnType: int
    signature: int select_resize(struct selectop *sop, int fdsz)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/select.c:258,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:259,1
    - Dst: SELECT_ALLOC_SIZE
      Src: /src/libevent/select.c:273,1
    - Dst: select_resize
      Src: /src/libevent/select.c:277,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:278,1
    - Dst: FD_SET
      Src: /src/libevent/select.c:287,1
    - Dst: FD_SET
      Src: /src/libevent/select.c:289,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 293
    functionName: select_add
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached:
    - FD_SET
    - SELECT_ALLOC_SIZE
    - EVUTIL_ASSERT
    - check_selectop
    - select_resize
    linkageType: ''
    returnType: int
    signature: int select_add(struct event_base *base, int fd, short old, short events,
      void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/select.c:305,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:306,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:309,1
    - Dst: FD_CLR
      Src: /src/libevent/select.c:314,1
    - Dst: FD_CLR
      Src: /src/libevent/select.c:317,1
    - Dst: check_selectop
      Src: /src/libevent/select.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - base
    - fd
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - int
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 321
    functionName: select_del
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - FD_CLR
    - check_selectop
    linkageType: ''
    returnType: int
    signature: int select_del(struct event_base *base, int fd, short old, short events,
      void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mm_free
      Src: /src/libevent/select.c:327,1
    - Dst: mm_free
      Src: /src/libevent/select.c:329,1
    - Dst: mm_free
      Src: /src/libevent/select.c:331,1
    - Dst: mm_free
      Src: /src/libevent/select.c:333,1
    - Dst: memset
      Src: /src/libevent/select.c:335,1
    - Dst: mm_free
      Src: /src/libevent/select.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - sop
    argTypes:
    - struct selectop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: select_free_selectop
    functionSourceFile: /src/libevent/select.c
    functionUses: 1
    functionsReached:
    - mm_free
    - memset
    linkageType: ''
    returnType: void
    signature: void select_free_selectop(struct selectop *sop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsig_dealloc_
      Src: /src/libevent/select.c:342,1
    - Dst: select_free_selectop
      Src: /src/libevent/select.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: select_dealloc
    functionSourceFile: /src/libevent/select.c
    functionUses: 0
    functionsReached:
    - select_free_selectop
    - evsig_dealloc_
    linkageType: ''
    returnType: void
    signature: void select_dealloc(struct event_base *base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: EVSIGBASE_LOCK
    functionSourceFile: /src/libevent/signal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVSIGBASE_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: EVSIGBASE_UNLOCK
    functionSourceFile: /src/libevent/signal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVSIGBASE_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVSIGBASE_LOCK
      Src: /src/libevent/signal.c:124,1
    - Dst: EVSIGBASE_UNLOCK
      Src: /src/libevent/signal.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: evsig_set_base_
    functionSourceFile: /src/libevent/signal.c
    functionUses: 1
    functionsReached:
    - EVSIGBASE_LOCK
    - EVSIGBASE_UNLOCK
    linkageType: ''
    returnType: void
    signature: void evsig_set_base_(struct event_base *base)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/signal.c:143,1
    - Dst: recv
      Src: /src/libevent/signal.c:147,1
    - Dst: read
      Src: /src/libevent/signal.c:149,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/signal.c:152,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/signal.c:153,1
    - Dst: event_sock_err
      Src: /src/libevent/signal.c:154,1
    - Dst: EVBASE_ACQUIRE_LOCK
      Src: /src/libevent/signal.c:167,1
    - Dst: evmap_signal_active_
      Src: /src/libevent/signal.c:170,1
    - Dst: EVBASE_RELEASE_LOCK
      Src: /src/libevent/signal.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 173
    functionName: evsig_cb
    functionSourceFile: /src/libevent/signal.c
    functionUses: 0
    functionsReached:
    - evmap_signal_active_
    - recv
    - memset
    - event_sock_err
    - EVUTIL_ERR_RW_RETRIABLE
    - read
    - EVBASE_ACQUIRE_LOCK
    - evutil_socket_geterror
    - EVBASE_RELEASE_LOCK
    linkageType: ''
    returnType: void
    signature: void evsig_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_make_internal_pipe_
      Src: /src/libevent/signal.c:183,1
    - Dst: event_sock_warn
      Src: /src/libevent/signal.c:187,1
    - Dst: event_sock_err
      Src: /src/libevent/signal.c:189,1
    - Dst: mm_free
      Src: /src/libevent/signal.c:195,1
    - Dst: event_assign
      Src: /src/libevent/signal.c:200,1
    - Dst: event_priority_set
      Src: /src/libevent/signal.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 175
    functionDepth: 6
    functionLinenumber: 175
    functionLinenumberEnd: 209
    functionName: evsig_init_
    functionSourceFile: /src/libevent/signal.c
    functionUses: 7
    functionsReached:
    - event_sock_warn
    - event_sock_err
    - event_assign
    - evutil_make_internal_pipe_
    - mm_free
    - event_priority_set
    linkageType: ''
    returnType: int
    signature: int evsig_init_(struct event_base *base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_debug
      Src: /src/libevent/signal.c:219,1
    - Dst: mm_realloc
      Src: /src/libevent/signal.c:221,1
    - Dst: event_warn
      Src: /src/libevent/signal.c:223,1
    - Dst: memset
      Src: /src/libevent/signal.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sig
    - evsignal
    argTypes:
    - struct evsig_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 234
    functionName: evsig_ensure_saved_
    functionSourceFile: /src/libevent/signal.c
    functionUses: 1
    functionsReached:
    - mm_realloc
    - event_debug
    - memset
    - event_warn
    linkageType: ''
    returnType: int
    signature: int evsig_ensure_saved_(struct evsig_info *sig, int evsignal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evsig_ensure_saved_
      Src: /src/libevent/signal.c:250,1
    - Dst: mm_malloc
      Src: /src/libevent/signal.c:254,1
    - Dst: event_warn
      Src: /src/libevent/signal.c:256,1
    - Dst: memset
      Src: /src/libevent/signal.c:262,1
    - Dst: sigfillset
      Src: /src/libevent/signal.c:267,1
    - Dst: sigaction
      Src: /src/libevent/signal.c:269,1
    - Dst: event_warn
      Src: /src/libevent/signal.c:270,1
    - Dst: mm_free
      Src: /src/libevent/signal.c:271,1
    - Dst: signal
      Src: /src/libevent/signal.c:276,1
    - Dst: event_warn
      Src: /src/libevent/signal.c:277,1
    - Dst: mm_free
      Src: /src/libevent/signal.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - base
    - evsignal
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 286
    functionName: evsig_set_handler_
    functionSourceFile: /src/libevent/signal.c
    functionUses: 1
    functionsReached:
    - memset
    - event_warn
    - sigaction
    - sigfillset
    - mm_malloc
    - mm_free
    - signal
    - evsig_ensure_saved_
    linkageType: ''
    returnType: int
    signature: "int evsig_set_handler_(struct event_base *base,\n    int evsignal,
      void (__cdecl *handler)(int))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signal.c:294,1
    - Dst: EVSIGBASE_LOCK
      Src: /src/libevent/signal.c:297,1
    - Dst: event_warnx
      Src: /src/libevent/signal.c:299,1
    - Dst: EVSIGBASE_UNLOCK
      Src: /src/libevent/signal.c:310,1
    - Dst: event_debug
      Src: /src/libevent/signal.c:312,1
    - Dst: evsig_set_handler_
      Src: /src/libevent/signal.c:313,1
    - Dst: event_add_nolock_
      Src: /src/libevent/signal.c:319,1
    - Dst: EVSIGBASE_LOCK
      Src: /src/libevent/signal.c:327,1
    - Dst: EVSIGBASE_UNLOCK
      Src: /src/libevent/signal.c:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - base
    - evsignal
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 332
    functionName: evsig_add
    functionSourceFile: /src/libevent/signal.c
    functionUses: 0
    functionsReached:
    - EVSIGBASE_LOCK
    - EVUTIL_ASSERT
    - event_debug
    - event_add_nolock_
    - event_warnx
    - EVSIGBASE_UNLOCK
    - evsig_set_handler_
    linkageType: ''
    returnType: int
    signature: int evsig_add(struct event_base *base, evutil_socket_t evsignal, short
      old, short events, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/libevent/signal.c:355,1
    - Dst: event_warn
      Src: /src/libevent/signal.c:356,1
    - Dst: signal
      Src: /src/libevent/signal.c:360,1
    - Dst: event_warn
      Src: /src/libevent/signal.c:361,1
    - Dst: mm_free
      Src: /src/libevent/signal.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - base
    - evsignal
    argTypes:
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 369
    functionName: evsig_restore_handler_
    functionSourceFile: /src/libevent/signal.c
    functionUses: 1
    functionsReached:
    - mm_free
    - sigaction
    - signal
    - event_warn
    linkageType: ''
    returnType: int
    signature: int evsig_restore_handler_(struct event_base *base, int evsignal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/signal.c:374,1
    - Dst: event_debug
      Src: /src/libevent/signal.c:376,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/signal.c:377,1
    - Dst: EVSIGBASE_LOCK
      Src: /src/libevent/signal.c:379,1
    - Dst: EVSIGBASE_UNLOCK
      Src: /src/libevent/signal.c:382,1
    - Dst: evsig_restore_handler_
      Src: /src/libevent/signal.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - base
    - evsignal
    - old
    - events
    - p
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - short
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 385
    functionName: evsig_del
    functionSourceFile: /src/libevent/signal.c
    functionUses: 0
    functionsReached:
    - EVSIGBASE_LOCK
    - EVUTIL_ASSERT
    - EV_SOCK_ARG
    - evsig_restore_handler_
    - event_debug
    - EVSIGBASE_UNLOCK
    linkageType: ''
    returnType: int
    signature: int evsig_del(struct event_base *base, evutil_socket_t evsignal, short
      old, short events, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/signal.c:392,1
    - Dst: event_warnx
      Src: /src/libevent/signal.c:397,1
    - Dst: signal
      Src: /src/libevent/signal.c:404,1
    - Dst: send
      Src: /src/libevent/signal.c:410,1
    - Dst: write
      Src: /src/libevent/signal.c:425,1
    - Dst: event_warnx
      Src: /src/libevent/signal.c:428,1
    - Dst: strerror
      Src: /src/libevent/signal.c:428,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/signal.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 437
    functionName: evsig_handler
    functionSourceFile: /src/libevent/signal.c
    functionUses: 0
    functionsReached:
    - write
    - strerror
    - EVUTIL_SET_SOCKET_ERROR
    - EVUTIL_SOCKET_ERROR
    - send
    - event_warnx
    - signal
    linkageType: ''
    returnType: void
    signature: void evsig_handler(int sig)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/libevent/signal.c:444,1
    - Dst: event_debug_unassign
      Src: /src/libevent/signal.c:449,1
    - Dst: evsig_restore_handler_
      Src: /src/libevent/signal.c:453,1
    - Dst: EVSIGBASE_LOCK
      Src: /src/libevent/signal.c:455,1
    - Dst: EVSIGBASE_UNLOCK
      Src: /src/libevent/signal.c:461,1
    - Dst: evutil_closesocket
      Src: /src/libevent/signal.c:464,1
    - Dst: evutil_closesocket
      Src: /src/libevent/signal.c:468,1
    - Dst: mm_free
      Src: /src/libevent/signal.c:475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 478
    functionName: evsig_dealloc_
    functionSourceFile: /src/libevent/signal.c
    functionUses: 7
    functionsReached:
    - event_del
    - EVSIGBASE_LOCK
    - evsig_restore_handler_
    - evutil_closesocket
    - EVSIGBASE_UNLOCK
    - mm_free
    - event_debug_unassign
    linkageType: ''
    returnType: void
    signature: void evsig_dealloc_(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/signal.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: evsig_free_globals_locks
    functionSourceFile: /src/libevent/signal.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_FREE_LOCK
    linkageType: ''
    returnType: void
    signature: void evsig_free_globals_locks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsig_free_globals_locks
      Src: /src/libevent/signal.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: evsig_free_globals_
    functionSourceFile: /src/libevent/signal.c
    functionUses: 1
    functionsReached:
    - evsig_free_globals_locks
    linkageType: ''
    returnType: void
    signature: void evsig_free_globals_(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_SETUP_GLOBAL_LOCK
      Src: /src/libevent/signal.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enable_locks
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: evsig_global_setup_locks_
    functionSourceFile: /src/libevent/signal.c
    functionUses: 1
    functionsReached:
    - EVTHREAD_SETUP_GLOBAL_LOCK
    linkageType: ''
    returnType: int
    signature: int evsig_global_setup_locks_(const int enable_locks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:69,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:70,1
    - Dst: struct bufferevent*::be_ops::disable
      Src: /src/libevent/bufferevent.c:72,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bufev
    - what
    argTypes:
    - struct bufferevent*
    - bufferevent_suspend_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: bufferevent_suspend_read_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 11
    functionsReached:
    - struct bufferevent*::be_ops::disable
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void bufferevent_suspend_read_(struct bufferevent *bufev, bufferevent_suspend_flags
      what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:80,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:81,1
    - Dst: struct bufferevent*::be_ops::enable
      Src: /src/libevent/bufferevent.c:84,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bufev
    - what
    argTypes:
    - struct bufferevent*
    - bufferevent_suspend_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: bufferevent_unsuspend_read_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 13
    functionsReached:
    - struct bufferevent*::be_ops::enable
    - BEV_LOCK
    - BEV_UPCAST
    - BEV_UNLOCK
    linkageType: ''
    returnType: void
    signature: void bufferevent_unsuspend_read_(struct bufferevent *bufev, bufferevent_suspend_flags
      what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:91,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:92,1
    - Dst: struct bufferevent*::be_ops::disable
      Src: /src/libevent/bufferevent.c:94,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bufev
    - what
    argTypes:
    - struct bufferevent*
    - bufferevent_suspend_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: bufferevent_suspend_write_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 7
    functionsReached:
    - struct bufferevent*::be_ops::disable
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void bufferevent_suspend_write_(struct bufferevent *bufev, bufferevent_suspend_flags
      what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:102,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:103,1
    - Dst: struct bufferevent*::be_ops::enable
      Src: /src/libevent/bufferevent.c:106,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bufev
    - what
    argTypes:
    - struct bufferevent*
    - bufferevent_suspend_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: bufferevent_unsuspend_write_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 7
    functionsReached:
    - struct bufferevent*::be_ops::enable
    - BEV_LOCK
    - BEV_UPCAST
    - BEV_UNLOCK
    linkageType: ''
    returnType: void
    signature: void bufferevent_unsuspend_write_(struct bufferevent *bufev, bufferevent_suspend_flags
      what)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent.c:127,1
    - Dst: bufferevent_trigger
      Src: /src/libevent/bufferevent.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: bufferevent_inbuf_wm_check
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_trigger
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void bufferevent_inbuf_wm_check(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent.c:143,1
    - Dst: bufferevent_wm_suspend_read
      Src: /src/libevent/bufferevent.c:146,1
    - Dst: bufferevent_wm_unsuspend_read
      Src: /src/libevent/bufferevent.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: bufferevent_inbuf_wm_cb
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_wm_unsuspend_read
    - bufferevent_wm_suspend_read
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: "void bufferevent_inbuf_wm_cb(struct evbuffer *buf,\n    const struct
      evbuffer_cb_info *cbinfo,\n    void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:157,1
    - Dst: struct bufferevent*::errorcb
      Src: /src/libevent/bufferevent.c:163,1
    - Dst: struct bufferevent*::readcb
      Src: /src/libevent/bufferevent.c:167,1
    - Dst: bufferevent_inbuf_wm_check
      Src: /src/libevent/bufferevent.c:168,1
    - Dst: struct bufferevent*::writecb
      Src: /src/libevent/bufferevent.c:172,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/bufferevent.c:179,1
    - Dst: struct bufferevent*::errorcb
      Src: /src/libevent/bufferevent.c:180,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 183
    functionName: bufferevent_run_deferred_callbacks_locked
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - struct bufferevent*::errorcb
    - BEV_LOCK
    - EVUTIL_SET_SOCKET_ERROR
    - bufferevent_decref_and_unlock_
    - bufferevent_inbuf_wm_check
    - struct bufferevent*::writecb
    - struct bufferevent*::readcb
    linkageType: ''
    returnType: void
    signature: void bufferevent_run_deferred_callbacks_locked(struct event_callback
      *cb, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:191,1
    - Dst: UNLOCKED
      Src: /src/libevent/bufferevent.c:202,1
    - Dst: errorcb
      Src: /src/libevent/bufferevent.c:202,1
    - Dst: UNLOCKED
      Src: /src/libevent/bufferevent.c:208,1
    - Dst: readcb
      Src: /src/libevent/bufferevent.c:208,1
    - Dst: bufferevent_inbuf_wm_check
      Src: /src/libevent/bufferevent.c:209,1
    - Dst: UNLOCKED
      Src: /src/libevent/bufferevent.c:215,1
    - Dst: writecb
      Src: /src/libevent/bufferevent.c:215,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/bufferevent.c:224,1
    - Dst: UNLOCKED
      Src: /src/libevent/bufferevent.c:225,1
    - Dst: errorcb
      Src: /src/libevent/bufferevent.c:225,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 229
    functionName: bufferevent_run_deferred_callbacks_unlocked
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_LOCK
    - EVUTIL_SET_SOCKET_ERROR
    - UNLOCKED
    - bufferevent_decref_and_unlock_
    - bufferevent_inbuf_wm_check
    - errorcb
    - writecb
    - readcb
    linkageType: ''
    returnType: void
    signature: void bufferevent_run_deferred_callbacks_unlocked(struct event_callback
      *cb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: UNLOCKED
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCKED(stmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bevp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: SCHEDULE_DEFERRED
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCHEDULE_DEFERRED(bevp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:244,1
    - Dst: SCHEDULE_DEFERRED
      Src: /src/libevent/bufferevent.c:249,1
    - Dst: struct bufferevent*::readcb
      Src: /src/libevent/bufferevent.c:251,1
    - Dst: bufferevent_inbuf_wm_check
      Src: /src/libevent/bufferevent.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bufev
    - options
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: bufferevent_run_readcb_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - SCHEDULE_DEFERRED
    - bufferevent_inbuf_wm_check
    - BEV_UPCAST
    - struct bufferevent*::readcb
    linkageType: ''
    returnType: void
    signature: void bufferevent_run_readcb_(struct bufferevent *bufev, int options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:260,1
    - Dst: SCHEDULE_DEFERRED
      Src: /src/libevent/bufferevent.c:265,1
    - Dst: struct bufferevent*::writecb
      Src: /src/libevent/bufferevent.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bufev
    - options
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 269
    functionName: bufferevent_run_writecb_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - SCHEDULE_DEFERRED
    - struct bufferevent*::writecb
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void bufferevent_run_writecb_(struct bufferevent *bufev, int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent.c:279,1
    - Dst: bufferevent_trigger_nolock_
      Src: /src/libevent/bufferevent.c:280,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bufev
    - iotype
    - options
    argTypes:
    - struct bufferevent*
    - short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: bufferevent_trigger
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - bufferevent_trigger_nolock_
    - bufferevent_decref_and_unlock_
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void bufferevent_trigger(struct bufferevent *bufev, short iotype, int
      options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:288,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/bufferevent.c:293,1
    - Dst: SCHEDULE_DEFERRED
      Src: /src/libevent/bufferevent.c:294,1
    - Dst: struct bufferevent*::errorcb
      Src: /src/libevent/bufferevent.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bufev
    - what
    - options
    argTypes:
    - struct bufferevent*
    - short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: bufferevent_run_eventcb_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 13
    functionsReached:
    - SCHEDULE_DEFERRED
    - EVUTIL_SOCKET_ERROR
    - BEV_UPCAST
    - struct bufferevent*::errorcb
    linkageType: ''
    returnType: void
    signature: void bufferevent_run_eventcb_(struct bufferevent *bufev, short what,
      int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent.c:303,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent.c:304,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bufev
    - what
    - options
    argTypes:
    - struct bufferevent*
    - short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 306
    functionName: bufferevent_trigger_event
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_decref_and_unlock_
    - bufferevent_run_eventcb_
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void bufferevent_trigger_event(struct bufferevent *bufev, short what,
      int options)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/bufferevent.c:317,1
    - Dst: evbuffer_new
      Src: /src/libevent/bufferevent.c:322,1
    - Dst: evutil_timerclear
      Src: /src/libevent/bufferevent.c:330,1
    - Dst: evutil_timerclear
      Src: /src/libevent/bufferevent.c:331,1
    - Dst: bufferevent_ratelim_init_
      Src: /src/libevent/bufferevent.c:335,1
    - Dst: bufferevent_enable_locking_
      Src: /src/libevent/bufferevent.c:347,1
    - Dst: event_warnx
      Src: /src/libevent/bufferevent.c:353,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/bufferevent.c:357,1
    - Dst: event_base_get_npriorities
      Src: /src/libevent/bufferevent.c:359,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/bufferevent.c:363,1
    - Dst: event_base_get_npriorities
      Src: /src/libevent/bufferevent.c:365,1
    - Dst: evbuffer_set_parent_
      Src: /src/libevent/bufferevent.c:371,1
    - Dst: evbuffer_set_parent_
      Src: /src/libevent/bufferevent.c:372,1
    - Dst: evbuffer_free
      Src: /src/libevent/bufferevent.c:378,1
    - Dst: evbuffer_free
      Src: /src/libevent/bufferevent.c:382,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - bufev_private
    - base
    - ops
    - options
    argTypes:
    - struct bufferevent_private*
    - struct event_base*
    - struct bufferevent_ops*
    - enum bufferevent_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 386
    functionName: bufferevent_init_common_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 5
    functionsReached:
    - evbuffer_set_parent_
    - event_base_get_npriorities
    - evbuffer_free
    - bufferevent_enable_locking_
    - evutil_timerclear
    - event_warnx
    - evbuffer_new
    - bufferevent_ratelim_init_
    - event_deferred_cb_init_
    linkageType: ''
    returnType: int
    signature: "int bufferevent_init_common_(struct bufferevent_private *bufev_private,\n
      \   struct event_base *base,\n    const struct bufferevent_ops *ops,\n    enum
      bufferevent_options options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:393,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - bufev
    - readcb
    - writecb
    - eventcb
    - cbarg
    argTypes:
    - struct bufferevent*
    - bufferevent_data_cb
    - bufferevent_data_cb
    - bufferevent_event_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: bufferevent_setcb
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 20
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    linkageType: ''
    returnType: void
    signature: "void bufferevent_setcb(struct bufferevent *bufev,\n    bufferevent_data_cb
      readcb, bufferevent_data_cb writecb,\n    bufferevent_event_cb eventcb, void
      *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:410,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - bufev
    - readcb_ptr
    - writecb_ptr
    - eventcb_ptr
    - cbarg_ptr
    argTypes:
    - struct bufferevent*
    - bufferevent_data_cb*
    - bufferevent_data_cb*
    - bufferevent_event_cb*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 421
    functionName: bufferevent_getcb
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    linkageType: ''
    returnType: void
    signature: "void bufferevent_getcb(struct bufferevent *bufev,\n    bufferevent_data_cb
      *readcb_ptr,\n    bufferevent_data_cb *writecb_ptr,\n    bufferevent_event_cb
      *eventcb_ptr,\n    void **cbarg_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: bufferevent_get_input
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: struct evbuffer
    signature: 'struct evbuffer *

      bufferevent_get_input(struct bufferevent *bufev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: bufferevent_get_output
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: struct evbuffer
    signature: 'struct evbuffer *

      bufferevent_get_output(struct bufferevent *bufev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: bufferevent_get_base
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct event_base
    signature: 'struct event_base *

      bufferevent_get_base(struct bufferevent *bufev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_initialized
      Src: /src/libevent/bufferevent.c:444,1
    - Dst: event_get_priority
      Src: /src/libevent/bufferevent.c:445,1
    - Dst: event_base_get_npriorities
      Src: /src/libevent/bufferevent.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: bufferevent_get_priority
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - event_get_priority
    - event_base_get_npriorities
    - event_initialized
    linkageType: ''
    returnType: int
    signature: int bufferevent_get_priority(const struct bufferevent *bufev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_add
      Src: /src/libevent/bufferevent.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bufev
    - data
    - size
    argTypes:
    - struct bufferevent*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 7
    functionLinenumber: 451
    functionLinenumberEnd: 458
    functionName: bufferevent_write
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 3
    functionsReached:
    - evbuffer_add
    linkageType: ''
    returnType: int
    signature: int bufferevent_write(struct bufferevent *bufev, const void *data,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/bufferevent.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bufev
    - buf
    argTypes:
    - struct bufferevent*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 6
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: bufferevent_write_buffer
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_buffer
    linkageType: ''
    returnType: int
    signature: int bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer
      *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_remove
      Src: /src/libevent/bufferevent.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bufev
    - data
    - size
    argTypes:
    - struct bufferevent*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 469
    functionDepth: 5
    functionLinenumber: 469
    functionLinenumberEnd: 478
    functionName: bufferevent_read
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - evbuffer_remove
    linkageType: ''
    returnType: size_t
    signature: size_t bufferevent_read(struct bufferevent *bufev, void *data, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/bufferevent.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bufev
    - buf
    argTypes:
    - struct bufferevent*
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 6
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: bufferevent_read_buffer
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_buffer
    linkageType: ''
    returnType: int
    signature: int bufferevent_read_buffer(struct bufferevent *bufev, struct evbuffer
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:489,1
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent.c:493,1
    - Dst: struct bufferevent*::be_ops::enable
      Src: /src/libevent/bufferevent.c:501,1
    - Dst: event_debug
      Src: /src/libevent/bufferevent.c:504,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - bufev
    - event
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 508
    functionName: bufferevent_enable
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 15
    functionsReached:
    - event_debug
    - struct bufferevent*::be_ops::enable
    - bufferevent_decref_and_unlock_
    - BEV_UPCAST
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: int
    signature: int bufferevent_enable(struct bufferevent *bufev, short event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:516,1
    - Dst: evutil_timerclear
      Src: /src/libevent/bufferevent.c:520,1
    - Dst: evutil_timerclear
      Src: /src/libevent/bufferevent.c:525,1
    - Dst: struct bufferevent*::be_ops::adj_timeouts
      Src: /src/libevent/bufferevent.c:529,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - bufev
    - tv_read
    - tv_write
    argTypes:
    - struct bufferevent*
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 533
    functionName: bufferevent_set_timeouts
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 9
    functionsReached:
    - BEV_UNLOCK
    - evutil_timerclear
    - BEV_LOCK
    - struct bufferevent*::be_ops::adj_timeouts
    linkageType: ''
    returnType: int
    signature: "int bufferevent_set_timeouts(struct bufferevent *bufev,\n\t\t\t const
      struct timeval *tv_read,\n\t\t\t const struct timeval *tv_write)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/bufferevent.c:544,1
    - Dst: memset
      Src: /src/libevent/bufferevent.c:545,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/bufferevent.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bufev
    - timeout_read
    - timeout_write
    argTypes:
    - struct bufferevent*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 557
    functionName: bufferevent_settimeout
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_set_timeouts
    - memset
    linkageType: ''
    returnType: void
    signature: "void bufferevent_settimeout(struct bufferevent *bufev,\n\t\t       int
      timeout_read, int timeout_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:564,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:566,1
    - Dst: struct bufferevent*::be_ops::disable
      Src: /src/libevent/bufferevent.c:570,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bufev
    - event
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: bufferevent_disable_hard_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - struct bufferevent*::be_ops::disable
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int bufferevent_disable_hard_(struct bufferevent *bufev, short event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:582,1
    - Dst: struct bufferevent*::be_ops::disable
      Src: /src/libevent/bufferevent.c:585,1
    - Dst: event_debug
      Src: /src/libevent/bufferevent.c:588,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bufev
    - event
    argTypes:
    - struct bufferevent*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 592
    functionName: bufferevent_disable
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 11
    functionsReached:
    - event_debug
    - BEV_UNLOCK
    - BEV_LOCK
    - struct bufferevent*::be_ops::disable
    linkageType: ''
    returnType: int
    signature: int bufferevent_disable(struct bufferevent *bufev, short event)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:602,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:604,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/bufferevent.c:621,1
    - Dst: evbuffer_cb_set_flags
      Src: /src/libevent/bufferevent.c:625,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent.c:629,1
    - Dst: bufferevent_wm_suspend_read
      Src: /src/libevent/bufferevent.c:630,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent.c:631,1
    - Dst: bufferevent_wm_unsuspend_read
      Src: /src/libevent/bufferevent.c:632,1
    - Dst: evbuffer_cb_clear_flags
      Src: /src/libevent/bufferevent.c:636,1
    - Dst: bufferevent_wm_unsuspend_read
      Src: /src/libevent/bufferevent.c:639,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:642,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - bufev
    - events
    - lowmark
    - highmark
    argTypes:
    - struct bufferevent*
    - short
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 643
    functionName: bufferevent_setwatermark
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 5
    functionsReached:
    - bufferevent_wm_suspend_read
    - BEV_LOCK
    - evbuffer_cb_clear_flags
    - evbuffer_get_length
    - evbuffer_cb_set_flags
    - bufferevent_wm_unsuspend_read
    - evbuffer_add_cb
    - BEV_UNLOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: "void bufferevent_setwatermark(struct bufferevent *bufev, short events,\n
      \   size_t lowmark, size_t highmark)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:650,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:655,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:660,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - bufev
    - events
    - lowmark
    - highmark
    argTypes:
    - struct bufferevent*
    - short
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 669
    functionName: bufferevent_getwatermark
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    linkageType: ''
    returnType: int
    signature: "int bufferevent_getwatermark(struct bufferevent *bufev, short events,\n
      \   size_t *lowmark, size_t *highmark)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:677,1
    - Dst: struct bufferevent*::be_ops::flush
      Src: /src/libevent/bufferevent.c:679,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bufev
    - iotype
    - mode
    argTypes:
    - struct bufferevent*
    - short
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 682
    functionName: bufferevent_flush
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - struct bufferevent*::be_ops::flush
    - BEV_UNLOCK
    - BEV_LOCK
    linkageType: ''
    returnType: int
    signature: "int bufferevent_flush(struct bufferevent *bufev,\n    short iotype,\n
      \   enum bufferevent_flush_mode mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:687,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: bufferevent_incref_and_lock_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 14
    functionsReached:
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void bufferevent_incref_and_lock_(struct bufferevent *bufev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:697,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - donor
    - recipient
    argTypes:
    - struct bufferevent*
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 707
    functionName: bufferevent_transfer_lock_ownership_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: "void bufferevent_transfer_lock_ownership_(struct bufferevent *donor,\n
      \   struct bufferevent *recipient)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:713,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/bufferevent.c:718,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:721,1
    - Dst: struct bufferevent*::be_ops::unlink
      Src: /src/libevent/bufferevent.c:726,1
    - Dst: event_initialized
      Src: /src/libevent/bufferevent.c:736,1
    - Dst: evbuffer_get_callbacks_
      Src: /src/libevent/bufferevent.c:739,1
    - Dst: evbuffer_get_callbacks_
      Src: /src/libevent/bufferevent.c:740,1
    - Dst: event_callback_finalize_many_
      Src: /src/libevent/bufferevent.c:742,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 710
    functionDepth: 4
    functionLinenumber: 710
    functionLinenumberEnd: 749
    functionName: bufferevent_decref_and_unlock_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 20
    functionsReached:
    - event_callback_finalize_many_
    - evbuffer_get_callbacks_
    - EVUTIL_ASSERT
    - struct bufferevent*::be_ops::unlink
    - BEV_UPCAST
    - BEV_UNLOCK
    - event_initialized
    linkageType: ''
    returnType: int
    signature: int bufferevent_decref_and_unlock_(struct bufferevent *bufev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:756,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:758,1
    - Dst: bufferevent_get_underlying
      Src: /src/libevent/bufferevent.c:759,1
    - Dst: struct bufferevent*::be_ops::destruct
      Src: /src/libevent/bufferevent.c:763,1
    - Dst: evbuffer_free
      Src: /src/libevent/bufferevent.c:769,1
    - Dst: evbuffer_free
      Src: /src/libevent/bufferevent.c:770,1
    - Dst: bufferevent_remove_from_rate_limit_group_internal_
      Src: /src/libevent/bufferevent.c:774,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent.c:775,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:780,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/bufferevent.c:783,1
    - Dst: mm_free
      Src: /src/libevent/bufferevent.c:787,1
    - Dst: bufferevent_decref_
      Src: /src/libevent/bufferevent.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - evcb
    - arg_
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 751
    functionDepth: 4
    functionLinenumber: 751
    functionLinenumberEnd: 801
    functionName: bufferevent_finalize_cb_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_LOCK
    - bufferevent_remove_from_rate_limit_group_internal_
    - EVTHREAD_FREE_LOCK
    - bufferevent_decref_
    - evbuffer_free
    - struct bufferevent*::be_ops::destruct
    - mm_free
    - BEV_UNLOCK
    - bufferevent_get_underlying
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void bufferevent_finalize_cb_(struct event_callback *evcb, void *arg_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:806,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 803
    functionDepth: 5
    functionLinenumber: 803
    functionLinenumberEnd: 808
    functionName: bufferevent_decref
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_LOCK
    - bufferevent_decref_and_unlock_
    linkageType: ''
    returnType: int
    signature: int bufferevent_decref(struct bufferevent *bufev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:813,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/bufferevent.c:814,1
    - Dst: bufferevent_cancel_all_
      Src: /src/libevent/bufferevent.c:815,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 5
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: bufferevent_free
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 11
    functionsReached:
    - bufferevent_setcb
    - BEV_LOCK
    - bufferevent_decref_and_unlock_
    - bufferevent_cancel_all_
    linkageType: ''
    returnType: void
    signature: void bufferevent_free(struct bufferevent *bufev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:822,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:828,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 831
    functionName: bufferevent_incref
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: void
    signature: void bufferevent_incref(struct bufferevent *bufev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:841,1
    - Dst: bufferevent_get_underlying
      Src: /src/libevent/bufferevent.c:843,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:845,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:846,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:847,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:848,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/bufferevent.c:850,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:853,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:854,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:856,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:857,1
    - Dst: evbuffer_enable_locking
      Src: /src/libevent/bufferevent.c:859,1
    - Dst: evbuffer_enable_locking
      Src: /src/libevent/bufferevent.c:860,1
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:862,1
    - Dst: bufferevent_enable_locking_
      Src: /src/libevent/bufferevent.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - bufev
    - lock
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 867
    functionName: bufferevent_enable_locking_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 6
    functionsReached:
    - evbuffer_enable_locking
    - bufferevent_enable_locking_
    - EVTHREAD_ALLOC_LOCK
    - bufferevent_get_underlying
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int bufferevent_enable_locking_(struct bufferevent *bufev, void *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:875,1
    - Dst: struct bufferevent*::be_ops::ctrl
      Src: /src/libevent/bufferevent.c:877,1
    - Dst: event_debug
      Src: /src/libevent/bufferevent.c:879,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bev
    - fd
    argTypes:
    - struct bufferevent*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 882
    functionName: bufferevent_setfd
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - event_debug
    - BEV_UNLOCK
    - struct bufferevent*::be_ops::ctrl
    - BEV_LOCK
    linkageType: ''
    returnType: int
    signature: int bufferevent_setfd(struct bufferevent *bev, evutil_socket_t fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:891,1
    - Dst: struct bufferevent*::be_ops::ctrl
      Src: /src/libevent/bufferevent.c:893,1
    - Dst: evutil_closesocket
      Src: /src/libevent/bufferevent.c:897,1
    - Dst: struct bufferevent*::be_ops::ctrl
      Src: /src/libevent/bufferevent.c:902,1
    - Dst: event_debug
      Src: /src/libevent/bufferevent.c:906,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - bev
    - fd
    argTypes:
    - struct bufferevent*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 910
    functionName: bufferevent_replacefd
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 3
    functionsReached:
    - BEV_LOCK
    - event_debug
    - struct bufferevent*::be_ops::ctrl
    - BEV_UNLOCK
    - evutil_closesocket
    linkageType: ''
    returnType: int
    signature: int bufferevent_replacefd(struct bufferevent *bev, evutil_socket_t
      fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:918,1
    - Dst: struct bufferevent*::be_ops::ctrl
      Src: /src/libevent/bufferevent.c:920,1
    - Dst: event_debug
      Src: /src/libevent/bufferevent.c:922,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 925
    functionName: bufferevent_getfd
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 6
    functionsReached:
    - event_debug
    - BEV_UNLOCK
    - struct bufferevent*::be_ops::ctrl
    - BEV_LOCK
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t bufferevent_getfd(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:930,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:933,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 937
    functionName: bufferevent_get_options_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    - BEV_UPCAST
    linkageType: ''
    returnType: enum bufferevent_options
    signature: enum bufferevent_options bufferevent_get_options_(struct bufferevent
      *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/bufferevent.c:944,1
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:945,1
    - Dst: struct bufferevent*::be_ops::ctrl
      Src: /src/libevent/bufferevent.c:947,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 949
    functionName: bufferevent_cancel_all_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - BEV_UNLOCK
    - struct bufferevent*::be_ops::ctrl
    - memset
    - BEV_LOCK
    linkageType: ''
    returnType: void
    signature: void bufferevent_cancel_all_(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:955,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bufev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 959
    functionName: bufferevent_get_enabled
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - BEV_UNLOCK
    - BEV_LOCK
    linkageType: ''
    returnType: short
    signature: short bufferevent_get_enabled(struct bufferevent *bufev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEV_LOCK
      Src: /src/libevent/bufferevent.c:967,1
    - Dst: struct bufferevent*::be_ops::ctrl
      Src: /src/libevent/bufferevent.c:969,1
    - Dst: BEV_UNLOCK
      Src: /src/libevent/bufferevent.c:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: bufferevent_get_underlying
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 2
    functionsReached:
    - BEV_UNLOCK
    - struct bufferevent*::be_ops::ctrl
    - BEV_LOCK
    linkageType: ''
    returnType: struct bufferevent
    signature: 'struct bufferevent *

      bufferevent_get_underlying(struct bufferevent *bev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent.c:978,1
    - Dst: bufferevent_disable
      Src: /src/libevent/bufferevent.c:979,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent.c:980,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - event
    - ctx
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 974
    functionDepth: 5
    functionLinenumber: 974
    functionLinenumberEnd: 982
    functionName: bufferevent_generic_read_timeout_cb
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_decref_and_unlock_
    - bufferevent_run_eventcb_
    - bufferevent_disable
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void bufferevent_generic_read_timeout_cb(evutil_socket_t fd, short
      event, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent.c:987,1
    - Dst: bufferevent_disable
      Src: /src/libevent/bufferevent.c:988,1
    - Dst: bufferevent_run_eventcb_
      Src: /src/libevent/bufferevent.c:989,1
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - event
    - ctx
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 983
    functionDepth: 5
    functionLinenumber: 983
    functionLinenumberEnd: 991
    functionName: bufferevent_generic_write_timeout_cb
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_decref_and_unlock_
    - bufferevent_run_eventcb_
    - bufferevent_disable
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void bufferevent_generic_write_timeout_cb(evutil_socket_t fd, short
      event, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/bufferevent.c:996,1
    - Dst: event_assign
      Src: /src/libevent/bufferevent.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 4
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: bufferevent_init_generic_timeout_cbs_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 4
    functionsReached:
    - event_assign
    linkageType: ''
    returnType: void
    signature: void bufferevent_init_generic_timeout_cbs_(struct bufferevent *bev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BEV_UPCAST
      Src: /src/libevent/bufferevent.c:1006,1
    - Dst: evutil_timerisset
      Src: /src/libevent/bufferevent.c:1009,1
    - Dst: event_add
      Src: /src/libevent/bufferevent.c:1010,1
    - Dst: event_del
      Src: /src/libevent/bufferevent.c:1012,1
    - Dst: evutil_timerisset
      Src: /src/libevent/bufferevent.c:1015,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/bufferevent.c:1016,1
    - Dst: event_add
      Src: /src/libevent/bufferevent.c:1017,1
    - Dst: event_del
      Src: /src/libevent/bufferevent.c:1019,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1002
    functionDepth: 4
    functionLinenumber: 1002
    functionLinenumberEnd: 1023
    functionName: bufferevent_generic_adj_timeouts_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - event_del
    - evbuffer_get_length
    - event_add
    - evutil_timerisset
    - BEV_UPCAST
    linkageType: ''
    returnType: int
    signature: int bufferevent_generic_adj_timeouts_(struct bufferevent *bev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_pending
      Src: /src/libevent/bufferevent.c:1029,1
    - Dst: evutil_timerisset
      Src: /src/libevent/bufferevent.c:1030,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent.c:1031,1
    - Dst: event_remove_timer
      Src: /src/libevent/bufferevent.c:1034,1
    - Dst: event_pending
      Src: /src/libevent/bufferevent.c:1037,1
    - Dst: evutil_timerisset
      Src: /src/libevent/bufferevent.c:1038,1
    - Dst: bufferevent_add_event_
      Src: /src/libevent/bufferevent.c:1039,1
    - Dst: event_remove_timer
      Src: /src/libevent/bufferevent.c:1042,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1025
    functionDepth: 5
    functionLinenumber: 1025
    functionLinenumberEnd: 1046
    functionName: bufferevent_generic_adj_existing_timeouts_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - event_pending
    - bufferevent_add_event_
    - evutil_timerisset
    - event_remove_timer
    linkageType: ''
    returnType: int
    signature: int bufferevent_generic_adj_existing_timeouts_(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_timerisset
      Src: /src/libevent/bufferevent.c:1051,1
    - Dst: event_add
      Src: /src/libevent/bufferevent.c:1052,1
    - Dst: event_add
      Src: /src/libevent/bufferevent.c:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ev
    - tv
    argTypes:
    - struct event*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1055
    functionName: bufferevent_add_event_
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 7
    functionsReached:
    - evutil_timerisset
    - event_add
    linkageType: ''
    returnType: int
    signature: int bufferevent_add_event_(struct event *ev, const struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_incref_and_lock_
      Src: /src/libevent/bufferevent.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    functionName: bufferevent_lock
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - bufferevent_incref_and_lock_
    linkageType: ''
    returnType: void
    signature: void bufferevent_lock(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_decref_and_unlock_
      Src: /src/libevent/bufferevent.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 5
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: bufferevent_unlock
    functionSourceFile: /src/libevent/bufferevent.c
    functionUses: 1
    functionsReached:
    - bufferevent_decref_and_unlock_
    linkageType: ''
    returnType: void
    signature: void bufferevent_unlock(struct bufferevent *bev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libevent/epoll_sub.c:45,1
    - Dst: syscall
      Src: /src/libevent/epoll_sub.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: epoll_create
    functionSourceFile: /src/libevent/epoll_sub.c
    functionUses: 1
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int epoll_create(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libevent/epoll_sub.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - epfd
    - op
    - fd
    - event
    argTypes:
    - int
    - int
    - int
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: epoll_ctl
    functionSourceFile: /src/libevent/epoll_sub.c
    functionUses: 2
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/libevent/epoll_sub.c:62,1
    - Dst: syscall
      Src: /src/libevent/epoll_sub.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - epfd
    - events
    - maxevents
    - timeout
    argTypes:
    - int
    - struct epoll_event*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: epoll_wait
    functionSourceFile: /src/libevent/epoll_sub.c
    functionUses: 1
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: int epoll_wait(int epfd, struct epoll_event *events, int maxevents,
      int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: main
    functionSourceFile: /src/libevent/cmake/CheckFileOffsetBits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExitThread
      Src: /src/libevent/test/tinytest.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: timeout_thread_proc_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - ExitThread
    linkageType: ''
    returnType: DWORD
    signature: DWORD timeout_thread_proc_(LPVOID arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/test/tinytest.c:114,1
    - Dst: CreateThread
      Src: /src/libevent/test/tinytest.c:122,1
    - Dst: WaitForSingleObject
      Src: /src/libevent/test/tinytest.c:124,1
    - Dst: GetExitCodeThread
      Src: /src/libevent/test/tinytest.c:127,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:128,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:132,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:134,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - testcase
    - env
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts:
    - condition: (opt_timeout)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/libevent/test/tinytest.c
    constantsTouched: []
    func_position:
      end: 143
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 143
    functionName: testcase_run_in_thread_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - CreateThread
    - WaitForSingleObject
    - GetExitCodeThread
    - printf
    - assert
    linkageType: ''
    returnType: enum outcome
    signature: enum outcome testcase_run_in_thread_(const struct testcase_t *testcase,
      void *env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alarm
      Src: /src/libevent/test/tinytest.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: testcase_set_timeout_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - alarm
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int testcase_set_timeout_(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alarm
      Src: /src/libevent/test/tinytest.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: testcase_reset_timeout_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - alarm
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int testcase_reset_timeout_(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: struct testcase_t*::setup::setup_fn
      Src: /src/libevent/test/tinytest.c:162,1
    - Dst: testcase_run_in_thread_
      Src: /src/libevent/test/tinytest.c:173,1
    - Dst: testcase_set_timeout_
      Src: /src/libevent/test/tinytest.c:175,1
    - Dst: struct testcase_t*::fn
      Src: /src/libevent/test/tinytest.c:176,1
    - Dst: testcase_reset_timeout_
      Src: /src/libevent/test/tinytest.c:177,1
    - Dst: struct testcase_t*::fn
      Src: /src/libevent/test/tinytest.c:180,1
    - Dst: struct testcase_t*::setup::cleanup_fn
      Src: /src/libevent/test/tinytest.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 191
    functionName: testcase_run_bare_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - testcase_set_timeout_
    - struct testcase_t*::setup::setup_fn
    - testcase_reset_timeout_
    - struct testcase_t*::fn
    - testcase_run_in_thread_
    - struct testcase_t*::setup::cleanup_fn
    linkageType: ''
    returnType: enum outcome
    signature: enum outcome testcase_run_bare_(const struct testcase_t *testcase)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:216,1
    - Dst: abort
      Src: /src/libevent/test/tinytest.c:218,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:221,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:223,1
    - Dst: memset
      Src: /src/libevent/test/tinytest.c:226,1
    - Dst: memset
      Src: /src/libevent/test/tinytest.c:227,1
    - Dst: CreateProcessA
      Src: /src/libevent/test/tinytest.c:230,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:233,1
    - Dst: WaitForSingleObject
      Src: /src/libevent/test/tinytest.c:236,1
    - Dst: GetExitCodeProcess
      Src: /src/libevent/test/tinytest.c:240,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:242,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:244,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:246,1
    - Dst: CloseHandle
      Src: /src/libevent/test/tinytest.c:247,1
    - Dst: pipe
      Src: /src/libevent/test/tinytest.c:259,1
    - Dst: perror
      Src: /src/libevent/test/tinytest.c:260,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:263,1
    - Dst: fork
      Src: /src/libevent/test/tinytest.c:264,1
    - Dst: vproc_transaction_begin
      Src: /src/libevent/test/tinytest.c:266,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:272,1
    - Dst: testcase_run_bare_
      Src: /src/libevent/test/tinytest.c:273,1
    - Dst: assert
      Src: /src/libevent/test/tinytest.c:274,1
    - Dst: write
      Src: /src/libevent/test/tinytest.c:276,1
    - Dst: perror
      Src: /src/libevent/test/tinytest.c:278,1
    - Dst: exit
      Src: /src/libevent/test/tinytest.c:279,1
    - Dst: exit
      Src: /src/libevent/test/tinytest.c:281,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:289,1
    - Dst: read
      Src: /src/libevent/test/tinytest.c:290,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:292,1
    - Dst: perror
      Src: /src/libevent/test/tinytest.c:295,1
    - Dst: waitpid
      Src: /src/libevent/test/tinytest.c:297,1
    - Dst: WEXITSTATUS
      Src: /src/libevent/test/tinytest.c:298,1
    - Dst: close
      Src: /src/libevent/test/tinytest.c:299,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:301,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:304,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 2
    argNames:
    - group
    - testcase
    argTypes:
    - struct testgroup_t*
    - struct testcase_t*
    assertStmts:
    - condition: (0<=(int)test_r && (int)test_r<=2)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/libevent/test/tinytest.c
    constantsTouched: []
    func_position:
      end: 310
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 310
    functionName: testcase_run_forked_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - snprintf
    - waitpid
    - assert
    - write
    - fork
    - testcase_run_bare_
    - vproc_transaction_begin
    - perror
    - abort
    - GetExitCodeProcess
    - pipe
    - CloseHandle
    - read
    - close
    - WaitForSingleObject
    - WEXITSTATUS
    - CreateProcessA
    - memset
    - exit
    - printf
    linkageType: ''
    returnType: enum outcome
    signature: "enum outcome testcase_run_forked_(const struct testgroup_t *group,\n\t\t
      \    const struct testcase_t *testcase)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/tinytest.c:374,1
    - Dst: strstr
      Src: /src/libevent/test/tinytest.c:375,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:379,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:382,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:384,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:386,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:388,1
    - Dst: strncmp
      Src: /src/libevent/test/tinytest.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - groups
    - arg
    - set
    - flag
    argTypes:
    - struct testgroup_t*
    - char*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 400
    functionName: tinytest_set_flag_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - strstr
    - strncmp
    - puts
    - snprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int tinytest_set_flag_(struct testgroup_t *groups, const char *arg,
      int set, unsigned long flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:405,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:406,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:407,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:408,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:409,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:410,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:411,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:412,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:413,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:414,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:415,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:416,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:417,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:418,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:420,1
    - Dst: tinytest_set_flag_
      Src: /src/libevent/test/tinytest.c:421,1
    - Dst: exit
      Src: /src/libevent/test/tinytest.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - groups
    - list_groups
    argTypes:
    - struct testgroup_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 424
    functionName: usage
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - tinytest_set_flag_
    - puts
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(struct testgroup_t *groups, int list_groups)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:431,1
    - Dst: process_test_option
      Src: /src/libevent/test/tinytest.c:434,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - groups
    - test
    argTypes:
    - struct testgroup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: process_test_alias
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - strcmp
    - process_test_option
    - printf
    linkageType: ''
    returnType: int
    signature: int process_test_alias(struct testgroup_t *groups, const char *test)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: process_test_alias
      Src: /src/libevent/test/tinytest.c:452,1
    - Dst: tinytest_set_flag_
      Src: /src/libevent/test/tinytest.c:459,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:460,1
    - Dst: tinytest_set_flag_
      Src: /src/libevent/test/tinytest.c:466,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - groups
    - test
    argTypes:
    - struct testgroup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 471
    functionName: process_test_option
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 1
    functionsReached:
    - tinytest_set_flag_
    - printf
    - process_test_alias
    linkageType: ''
    returnType: int
    signature: int process_test_option(struct testgroup_t *groups, const char *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aliases
    argTypes:
    - struct testlist_alias_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: tinytest_set_aliases
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tinytest_set_aliases(const struct testlist_alias_t *aliases)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libevent/test/tinytest.c:485,1
    - Dst: stricmp
      Src: /src/libevent/test/tinytest.c:487,1
    - Dst: snprintf
      Src: /src/libevent/test/tinytest.c:489,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:494,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:496,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:498,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:501,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:501,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:504,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:507,1
    - Dst: usage
      Src: /src/libevent/test/tinytest.c:508,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:509,1
    - Dst: usage
      Src: /src/libevent/test/tinytest.c:510,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:511,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:514,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:517,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:518,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:521,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:524,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:525,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:528,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:531,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest.c:532,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:535,1
    - Dst: atoi
      Src: /src/libevent/test/tinytest.c:538,1
    - Dst: fprintf
      Src: /src/libevent/test/tinytest.c:540,1
    - Dst: process_test_option
      Src: /src/libevent/test/tinytest.c:544,1
    - Dst: tinytest_set_flag_
      Src: /src/libevent/test/tinytest.c:551,1
    - Dst: setvbuf
      Src: /src/libevent/test/tinytest.c:554,1
    - Dst: testcase_run_one
      Src: /src/libevent/test/tinytest.c:571,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:577,1
    - Dst: Sleep
      Src: /src/libevent/test/tinytest.c:579,1
    - Dst: sleep
      Src: /src/libevent/test/tinytest.c:581,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:590,1
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:601,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:604,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:607,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 114
    argCount: 3
    argNames:
    - c
    - v
    - groups
    argTypes:
    - int
    - char**
    - struct testgroup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 610
    functionName: tinytest_main
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - process_test_option
    - atoi
    - strcmp
    - tinytest_set_flag_
    - Sleep
    - testcase_run_one
    - stricmp
    - setvbuf
    - puts
    - usage
    - snprintf
    - fprintf
    - strrchr
    - sleep
    - printf
    linkageType: ''
    returnType: int
    signature: int tinytest_main(int c, const char **v, struct testgroup_t *groups)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: tinytest_get_verbosity_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tinytest_get_verbosity_(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libevent/test/tinytest.c:622,1
    - Dst: printf
      Src: /src/libevent/test/tinytest.c:623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: tinytest_set_test_failed_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - puts
    - printf
    linkageType: ''
    returnType: void
    signature: void tinytest_set_test_failed_(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: tinytest_set_test_skipped_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tinytest_set_test_skipped_(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libevent/test/tinytest.c:644,1
    - Dst: malloc
      Src: /src/libevent/test/tinytest.c:645,1
    - Dst: strdup
      Src: /src/libevent/test/tinytest.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - val_
    - len
    argTypes:
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 654
    functionName: tinytest_format_hex_
    functionSourceFile: /src/libevent/test/tinytest.c
    functionUses: 0
    functionsReached:
    - strdup
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      tinytest_format_hex_(const void *val_, unsigned long len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:95,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_bufferevent.c:96,1
    - Dst: assert
      Src: /src/libevent/test/regress_bufferevent.c:97,1
    - Dst: bufferevent_read_buffer
      Src: /src/libevent/test/regress_bufferevent.c:100,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_bufferevent.c:102,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:104,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_bufferevent.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts:
    - condition: (evbuf != NULL)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/libevent/test/regress_bufferevent.c
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 7
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: readcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 3
    functionsReached:
    - bufferevent_read_buffer
    - bufferevent_disable
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_new
    - assert
    linkageType: ''
    returnType: void
    signature: void readcb(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: writecb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 3
    functionsReached:
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void writecb(struct bufferevent *bev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: errorcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void errorcb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:136,1
    - Dst: bufferevent_pair_new
      Src: /src/libevent/test/regress_bufferevent.c:136,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:139,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:140,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_bufferevent.c:141,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:141,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:142,1
    - Dst: bufferevent_get_underlying
      Src: /src/libevent/test/regress_bufferevent.c:142,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:143,1
    - Dst: bufferevent_pair_get_partner
      Src: /src/libevent/test/regress_bufferevent.c:143,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:144,1
    - Dst: bufferevent_pair_get_partner
      Src: /src/libevent/test/regress_bufferevent.c:144,1
    - Dst: bufferevent_new
      Src: /src/libevent/test/regress_bufferevent.c:146,1
    - Dst: bufferevent_new
      Src: /src/libevent/test/regress_bufferevent.c:147,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:148,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:149,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_bufferevent.c:150,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:150,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:151,1
    - Dst: bufferevent_get_underlying
      Src: /src/libevent/test/regress_bufferevent.c:151,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:152,1
    - Dst: bufferevent_pair_get_partner
      Src: /src/libevent/test/regress_bufferevent.c:152,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:153,1
    - Dst: bufferevent_pair_get_partner
      Src: /src/libevent/test/regress_bufferevent.c:153,1
    - Dst: bufferevent_getcb
      Src: /src/libevent/test/regress_bufferevent.c:161,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:162,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:163,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:164,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:165,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_bufferevent.c:168,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:169,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:171,1
    - Dst: bufferevent_get_enabled
      Src: /src/libevent/test/regress_bufferevent.c:171,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:172,1
    - Dst: bufferevent_get_enabled
      Src: /src/libevent/test/regress_bufferevent.c:172,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_bufferevent.c:177,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:179,1
    - Dst: bufferevent_flush
      Src: /src/libevent/test/regress_bufferevent.c:179,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:182,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:184,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:185,1
    - Dst: bufferevent_pair_get_partner
      Src: /src/libevent/test/regress_bufferevent.c:185,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 2
    argNames:
    - use_pair
    - flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 126
    functionDepth: 8
    functionLinenumber: 126
    functionLinenumberEnd: 196
    functionName: test_bufferevent_impl
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_enable
    - tt_int_op
    - bufferevent_pair_get_partner
    - bufferevent_disable
    - bufferevent_pair_new
    - bufferevent_get_enabled
    - bufferevent_write
    - bufferevent_setcb
    - event_dispatch
    - bufferevent_getfd
    - tt_ptr_op
    - bufferevent_flush
    - bufferevent_new
    - bufferevent_get_underlying
    - bufferevent_getcb
    - tt_fd_op
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_impl(int use_pair, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_impl
      Src: /src/libevent/test/regress_bufferevent.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 9
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: test_bufferevent
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_impl
      Src: /src/libevent/test/regress_bufferevent.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 199
    functionDepth: 9
    functionLinenumber: 199
    functionLinenumberEnd: 199
    functionName: test_bufferevent_pair
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_impl
      Src: /src/libevent/test/regress_bufferevent.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 9
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: test_bufferevent_flush_normal
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_flush_normal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_impl
      Src: /src/libevent/test/regress_bufferevent.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 9
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: test_bufferevent_flush_flush
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_flush_flush(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_impl
      Src: /src/libevent/test/regress_bufferevent.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 9
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: test_bufferevent_flush_finished
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_flush_finished(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_impl
      Src: /src/libevent/test/regress_bufferevent.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 9
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: test_bufferevent_pair_flush_normal
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair_flush_normal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_impl
      Src: /src/libevent/test/regress_bufferevent.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 9
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: test_bufferevent_pair_flush_flush
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair_flush_flush(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_impl
      Src: /src/libevent/test/regress_bufferevent.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 9
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: test_bufferevent_pair_flush_finished
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair_flush_finished(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/regress_bufferevent.c:212,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: test_bufferevent_ratelimit_div_by_zero
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - ev_token_bucket_cfg_new
    - tt_ptr_op
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_ratelimit_div_by_zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/regress_bufferevent.c:223,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:224,1
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/regress_bufferevent.c:228,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:229,1
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/regress_bufferevent.c:233,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:234,1
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/regress_bufferevent.c:238,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:239,1
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/regress_bufferevent.c:243,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:244,1
    - Dst: ev_token_bucket_cfg_free
      Src: /src/libevent/test/regress_bufferevent.c:245,1
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/regress_bufferevent.c:249,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:250,1
    - Dst: ev_token_bucket_cfg_free
      Src: /src/libevent/test/regress_bufferevent.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: test_bufferevent_ratelimit_overflow
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - ev_token_bucket_cfg_new
    - tt_ptr_op
    - ev_token_bucket_cfg_free
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_ratelimit_overflow(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lock_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: lu_find
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lock_wrapper
    signature: lock_wrapper *lu_find(void *lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbs::alloc
      Src: /src/libevent/test/regress_bufferevent.c:299,1
    - Dst: lu_find
      Src: /src/libevent/test/regress_bufferevent.c:300,1
    - Dst: realloc
      Src: /src/libevent/test/regress_bufferevent.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - locktype
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: trace_lock_alloc
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - realloc
    - cbs::alloc
    - lu_find
    linkageType: ''
    returnType: void
    signature: void *trace_lock_alloc(unsigned locktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lu_find
      Src: /src/libevent/test/regress_bufferevent.c:314,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_bufferevent.c:316,1
    - Dst: cbs::free
      Src: /src/libevent/test/regress_bufferevent.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - lock_
    - locktype
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: trace_lock_free
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    - cbs::free
    - lu_find
    linkageType: ''
    returnType: void
    signature: void trace_lock_free(void *lock_, unsigned locktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lu_find
      Src: /src/libevent/test/regress_bufferevent.c:324,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_bufferevent.c:326,1
    - Dst: cbs::lock
      Src: /src/libevent/test/regress_bufferevent.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mode
    - lock_
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: trace_lock_lock
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    - cbs::lock
    - lu_find
    linkageType: ''
    returnType: int
    signature: int trace_lock_lock(unsigned mode, void *lock_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lu_find
      Src: /src/libevent/test/regress_bufferevent.c:335,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_bufferevent.c:337,1
    - Dst: cbs::unlock
      Src: /src/libevent/test/regress_bufferevent.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - mode
    - lock_
    argTypes:
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: trace_lock_unlock
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    - cbs::unlock
    - lu_find
    linkageType: ''
    returnType: int
    signature: int trace_lock_unlock(unsigned mode, void *lock_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_free
      Src: /src/libevent/test/regress_bufferevent.c:346,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/regress_bufferevent.c:347,1
    - Dst: evthread_set_lock_callbacks
      Src: /src/libevent/test/regress_bufferevent.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 6
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: lock_unlock_free_thread_cbs
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evthread_set_lock_callbacks
    - libevent_global_shutdown
    - event_base_free
    linkageType: ''
    returnType: void
    signature: void lock_unlock_free_thread_cbs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libevent/test/regress_bufferevent.c:361,1
    - Dst: evthread_get_lock_callbacks
      Src: /src/libevent/test/regress_bufferevent.c:361,1
    - Dst: lock_unlock_free_thread_cbs
      Src: /src/libevent/test/regress_bufferevent.c:364,1
    - Dst: evthread_set_lock_callbacks
      Src: /src/libevent/test/regress_bufferevent.c:366,1
    - Dst: evthread_enable_lock_debugging
      Src: /src/libevent/test/regress_bufferevent.c:368,1
    - Dst: event_init
      Src: /src/libevent/test/regress_bufferevent.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 351
    functionDepth: 7
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: use_lock_unlock_profiler
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - memcpy
    - event_init
    - lock_unlock_free_thread_cbs
    - evthread_enable_lock_debugging
    - evthread_set_lock_callbacks
    - evthread_get_lock_callbacks
    linkageType: ''
    returnType: int
    signature: int use_lock_unlock_profiler(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lock_unlock_free_thread_cbs
      Src: /src/libevent/test/regress_bufferevent.c:376,1
    - Dst: free
      Src: /src/libevent/test/regress_bufferevent.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct basic_test_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 7
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: free_lock_unlock_profiler
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - free
    - lock_unlock_free_thread_cbs
    linkageType: ''
    returnType: void
    signature: void free_lock_unlock_profiler(struct basic_test_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: use_lock_unlock_profiler
      Src: /src/libevent/test/regress_bufferevent.c:384,1
    - Dst: bufferevent_pair_new
      Src: /src/libevent/test/regress_bufferevent.c:387,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:388,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:389,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_bufferevent.c:391,1
    - Dst: free_lock_unlock_profiler
      Src: /src/libevent/test/regress_bufferevent.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 381
    functionDepth: 8
    functionLinenumber: 381
    functionLinenumberEnd: 396
    functionName: test_bufferevent_pair_release_lock
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_pair_new
    - free_lock_unlock_profiler
    - use_lock_unlock_profiler
    - tt_abort_perror
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair_release_lock(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_bufferevent.c:406,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:407,1
    - Dst: assert
      Src: /src/libevent/test/regress_bufferevent.c:410,1
    - Dst: assert
      Src: /src/libevent/test/regress_bufferevent.c:412,1
    - Dst: bufferevent_read_buffer
      Src: /src/libevent/test/regress_bufferevent.c:415,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_bufferevent.c:419,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_bufferevent.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts:
    - condition: (evbuf != NULL)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/libevent/test/regress_bufferevent.c
    - condition: (len >= 10 && len <= 20)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/libevent/test/regress_bufferevent.c
    constantsTouched: []
    func_position:
      end: 424
      start: 403
    functionDepth: 7
    functionLinenumber: 403
    functionLinenumberEnd: 424
    functionName: wm_readcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_read_buffer
    - bufferevent_disable
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_new
    - assert
    linkageType: ''
    returnType: void
    signature: void wm_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/test/regress_bufferevent.c:429,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:429,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:430,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_bufferevent.c:431,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts:
    - condition: (evbuffer_get_length(bev->output) <= 100)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/libevent/test/regress_bufferevent.c
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: wm_writecb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - assert
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void wm_writecb(struct bufferevent *bev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: wm_errorcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wm_errorcb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:453,1
    - Dst: bufferevent_pair_new
      Src: /src/libevent/test/regress_bufferevent.c:453,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:456,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:457,1
    - Dst: bufferevent_new
      Src: /src/libevent/test/regress_bufferevent.c:459,1
    - Dst: bufferevent_new
      Src: /src/libevent/test/regress_bufferevent.c:460,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:462,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:463,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_bufferevent.c:464,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:465,1
    - Dst: bufferevent_getwatermark
      Src: /src/libevent/test/regress_bufferevent.c:468,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:469,1
    - Dst: bufferevent_getwatermark
      Src: /src/libevent/test/regress_bufferevent.c:470,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:471,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_bufferevent.c:477,1
    - Dst: bufferevent_getwatermark
      Src: /src/libevent/test/regress_bufferevent.c:479,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:480,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:481,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_bufferevent.c:485,1
    - Dst: bufferevent_getwatermark
      Src: /src/libevent/test/regress_bufferevent.c:487,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:488,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:489,1
    - Dst: bufferevent_getwatermark
      Src: /src/libevent/test/regress_bufferevent.c:492,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:493,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_bufferevent.c:496,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:498,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:500,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:504,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_bufferevent.c:504,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:508,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - use_pair
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 442
    functionDepth: 8
    functionLinenumber: 442
    functionLinenumberEnd: 511
    functionName: test_bufferevent_watermarks_impl
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_enable
    - bufferevent_getwatermark
    - tt_int_op
    - bufferevent_disable
    - bufferevent_pair_new
    - bufferevent_write
    - bufferevent_setcb
    - event_pending
    - event_dispatch
    - bufferevent_new
    - bufferevent_setwatermark
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_watermarks_impl(int use_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_watermarks_impl
      Src: /src/libevent/test/regress_bufferevent.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 9
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: test_bufferevent_watermarks
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_watermarks_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_watermarks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_watermarks_impl
      Src: /src/libevent/test/regress_bufferevent.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 9
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: test_bufferevent_pair_watermarks
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_watermarks_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair_watermarks(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_bufferevent.c:538,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:538,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:539,1
    - Dst: assert
      Src: /src/libevent/test/regress_bufferevent.c:543,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_bufferevent.c:544,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_bufferevent.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - src
    - dst
    - lim
    - state
    - ctx
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    - ev_ssize_t
    - enum bufferevent_flush_mode
    - void*
    assertStmts:
    - condition: (buffer[i] == 'x')
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/libevent/test/regress_bufferevent.c
    constantsTouched: []
    func_position:
      end: 549
      start: 531
    functionDepth: 7
    functionLinenumber: 531
    functionLinenumberEnd: 549
    functionName: bufferevent_input_filter
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - evbuffer_get_length
    - evbuffer_pullup
    - evbuffer_add
    - assert
    linkageType: ''
    returnType: enum bufferevent_filter_result
    signature: "enum bufferevent_filter_result bufferevent_input_filter(struct evbuffer
      *src, struct evbuffer *dst,\n    ev_ssize_t lim, enum bufferevent_flush_mode
      state, void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_bufferevent.c:564,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:564,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:565,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_bufferevent.c:566,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_bufferevent.c:567,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_bufferevent.c:569,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:569,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_bufferevent.c:576,1
    - Dst: assert
      Src: /src/libevent/test/regress_bufferevent.c:579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - src
    - dst
    - lim
    - state
    - ctx
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    - ev_ssize_t
    - enum bufferevent_flush_mode
    - void*
    assertStmts:
    - condition: (test_ok == prev)
      pos:
        line_end: 578
        line_start: 578
        source_file: /src/libevent/test/regress_bufferevent.c
    constantsTouched: []
    func_position:
      end: 584
      start: 553
    functionDepth: 8
    functionLinenumber: 553
    functionLinenumberEnd: 584
    functionName: bufferevent_output_filter
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - evbuffer_get_length
    - evbuffer_pullup
    - bufferevent_write
    - evbuffer_add
    - assert
    linkageType: ''
    returnType: enum bufferevent_filter_result
    signature: "enum bufferevent_filter_result bufferevent_output_filter(struct evbuffer
      *src, struct evbuffer *dst,\n    ev_ssize_t lim, enum bufferevent_flush_mode
      state, void *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:598,1
    - Dst: bufferevent_pair_new
      Src: /src/libevent/test/regress_bufferevent.c:598,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:602,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:603,1
    - Dst: bufferevent_filter_new
      Src: /src/libevent/test/regress_bufferevent.c:611,1
    - Dst: bufferevent_filter_new
      Src: /src/libevent/test/regress_bufferevent.c:615,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:617,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:618,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:620,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:621,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:623,1
    - Dst: bufferevent_get_underlying
      Src: /src/libevent/test/regress_bufferevent.c:623,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_bufferevent.c:624,1
    - Dst: bufferevent_get_underlying
      Src: /src/libevent/test/regress_bufferevent.c:624,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_bufferevent.c:625,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:625,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:625,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_bufferevent.c:626,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:626,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:626,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_bufferevent.c:628,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:629,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_bufferevent.c:631,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:633,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:640,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - use_pair
    - disable
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 586
    functionDepth: 8
    functionLinenumber: 586
    functionLinenumberEnd: 644
    functionName: test_bufferevent_filters_impl
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_enable
    - bufferevent_disable
    - bufferevent_pair_new
    - bufferevent_write
    - bufferevent_setcb
    - bufferevent_filter_new
    - event_dispatch
    - tt_ptr_op
    - bufferevent_socket_new
    - bufferevent_getfd
    - bufferevent_get_underlying
    - tt_fd_op
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_filters_impl(int use_pair, int disable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_filters_impl
      Src: /src/libevent/test/regress_bufferevent.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 9
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: test_bufferevent_filters
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_filters_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_filters(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_filters_impl
      Src: /src/libevent/test/regress_bufferevent.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 648
    functionDepth: 9
    functionLinenumber: 648
    functionLinenumberEnd: 649
    functionName: test_bufferevent_pair_filters
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_filters_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair_filters(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_filters_impl
      Src: /src/libevent/test/regress_bufferevent.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 650
    functionDepth: 9
    functionLinenumber: 650
    functionLinenumberEnd: 651
    functionName: test_bufferevent_filters_disable
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_filters_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_filters_disable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bufferevent_filters_impl
      Src: /src/libevent/test/regress_bufferevent.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 9
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: test_bufferevent_pair_filters_disable
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - test_bufferevent_filters_impl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair_filters_disable(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:659,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_bufferevent.c:659,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_bufferevent.c:660,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:661,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:661,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 656
    functionDepth: 6
    functionLinenumber: 656
    functionLinenumberEnd: 664
    functionName: sender_writecb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_disable
    - evbuffer_get_length
    - TT_BLATHER
    - bufferevent_getfd
    - bufferevent_get_output
    linkageType: ''
    returnType: void
    signature: void sender_writecb(struct bufferevent *bev, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_bufferevent.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: sender_errorcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    linkageType: ''
    returnType: void
    signature: void sender_errorcb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:687,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:688,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:689,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:690,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_bufferevent.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - listener
    - fd
    - sa
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 680
    functionDepth: 8
    functionLinenumber: 680
    functionLinenumberEnd: 694
    functionName: listen_cb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - TT_BLATHER
    - bufferevent_write
    - bufferevent_setcb
    - bufferevent_socket_new
    linkageType: ''
    returnType: void
    signature: "void listen_cb(struct evconnlistener *listener, evutil_socket_t fd,\n
      \   struct sockaddr *sa, int socklen, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_bufferevent.c:703,1
    - Dst: htonl
      Src: /src/libevent/test/regress_bufferevent.c:705,1
    - Dst: socket
      Src: /src/libevent/test/regress_bufferevent.c:710,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:711,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:712,1
    - Dst: bind
      Src: /src/libevent/test/regress_bufferevent.c:712,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:713,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_bufferevent.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - localhost
    argTypes:
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 719
    functionName: fake_listener_create
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bind
    - memset
    - socket
    - getsockname
    - htonl
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t fake_listener_create(struct sockaddr_in *localhost)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perror
      Src: /src/libevent/test/regress_bufferevent.c:726,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_bufferevent.c:727,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:731,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:731,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:732,1
    - Dst: bufferevent_read
      Src: /src/libevent/test/regress_bufferevent.c:737,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:738,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_bufferevent.c:740,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_bufferevent.c:742,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:743,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 721
    functionDepth: 6
    functionLinenumber: 721
    functionLinenumberEnd: 748
    functionName: reader_eventcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - perror
    - bufferevent_enable
    - tt_int_op
    - event_base_loopexit
    - TT_FAIL
    - TT_BLATHER
    - bufferevent_getfd
    - bufferevent_read
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void reader_eventcb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:753,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: reader_eventcb_simple
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - bufferevent_getfd
    linkageType: ''
    returnType: void
    signature: void reader_eventcb_simple(struct bufferevent *bev, short what, void
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:761,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 763
    functionName: reader_readcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - bufferevent_getfd
    linkageType: ''
    returnType: void
    signature: void reader_readcb(struct bufferevent *bev, void *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_bufferevent.c:778,1
    - Dst: strstr
      Src: /src/libevent/test/regress_bufferevent.c:781,1
    - Dst: strstr
      Src: /src/libevent/test/regress_bufferevent.c:784,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_bufferevent.c:789,1
    - Dst: event_get_win32_extension_fns_
      Src: /src/libevent/test/regress_bufferevent.c:792,1
    - Dst: memset
      Src: /src/libevent/test/regress_bufferevent.c:797,1
    - Dst: htonl
      Src: /src/libevent/test/regress_bufferevent.c:800,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_bufferevent.c:803,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:806,1
    - Dst: regress_get_listener_addr
      Src: /src/libevent/test/regress_bufferevent.c:810,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_bufferevent.c:811,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:814,1
    - Dst: evconnlistener_enable
      Src: /src/libevent/test/regress_bufferevent.c:814,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:815,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:816,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:817,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:818,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:819,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:820,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:822,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:823,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:825,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_bufferevent.c:825,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:826,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_bufferevent.c:826,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:828,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:830,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:831,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_bufferevent.c:834,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:837,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 765
    functionDepth: 6
    functionLinenumber: 765
    functionLinenumberEnd: 841
    functionName: test_bufferevent_connect
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - strstr
    - bufferevent_socket_connect
    - bufferevent_setcb
    - event_base_dispatch
    - strcmp
    - tt_abort_perror
    - event_get_win32_extension_fns_
    - tt_assert
    - bufferevent_enable
    - tt_int_op
    - regress_get_listener_addr
    - evconnlistener_new_bind
    - bufferevent_socket_new
    - htonl
    - memset
    - evconnlistener_free
    - evconnlistener_enable
    - tt_want
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_connect(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_bufferevent.c:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 851
    functionName: close_socket_cb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void close_socket_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fake_listener_create
      Src: /src/libevent/test/regress_bufferevent.c:867,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:873,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:875,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:876,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:877,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:879,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:880,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:881,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_bufferevent.c:884,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:887,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:889,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:890,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_bufferevent.c:894,1
    - Dst: event_add
      Src: /src/libevent/test/regress_bufferevent.c:896,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:898,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:899,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:900,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_bufferevent.c:904,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:906,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_bufferevent.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 853
    functionDepth: 6
    functionLinenumber: 853
    functionLinenumberEnd: 909
    functionName: test_bufferevent_connect_fail_eventcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - bufferevent_enable
    - evconnlistener_free
    - bufferevent_socket_connect
    - fake_listener_create
    - evutil_closesocket
    - bufferevent_setcb
    - event_add
    - event_base_dispatch
    - bufferevent_socket_new
    - tt_want
    - evtimer_assign
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_connect_fail_eventcb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:919,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/regress_bufferevent.c:920,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/test/regress_bufferevent.c:920,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:921,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/test/regress_bufferevent.c:922,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_bufferevent.c:925,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_bufferevent.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 929
    functionName: want_fail_eventcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - event_base_loopexit
    - TT_BLATHER
    - TT_FAIL
    - evutil_socket_geterror
    - EV_SOCK_ARG
    - bufferevent_getfd
    linkageType: ''
    returnType: void
    signature: void want_fail_eventcb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fake_listener_create
      Src: /src/libevent/test/regress_bufferevent.c:946,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:947,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:949,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:950,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_bufferevent.c:952,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:955,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_bufferevent.c:959,1
    - Dst: event_add
      Src: /src/libevent/test/regress_bufferevent.c:961,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:964,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:966,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_bufferevent.c:970,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:973,1
    - Dst: event_del
      Src: /src/libevent/test/regress_bufferevent.c:976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 931
    functionDepth: 6
    functionLinenumber: 931
    functionLinenumberEnd: 977
    functionName: test_bufferevent_connect_fail
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - event_del
    - bufferevent_socket_connect
    - fake_listener_create
    - evutil_closesocket
    - bufferevent_setcb
    - event_add
    - event_base_dispatch
    - bufferevent_socket_new
    - tt_want
    - evtimer_assign
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_connect_fail(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_bufferevent.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: bev_timeout_read_cb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void bev_timeout_read_cb(struct bufferevent *bev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_bufferevent.c:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1000
    functionName: bev_timeout_write_cb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void bev_timeout_write_cb(struct bufferevent *bev, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_bufferevent.c:1009,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_bufferevent.c:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1017
    functionName: bev_timeout_event_cb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void bev_timeout_event_cb(struct bufferevent *bev, short what, void
      *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_bufferevent.c:1029,1
    - Dst: memset
      Src: /src/libevent/test/regress_bufferevent.c:1030,1
    - Dst: strstr
      Src: /src/libevent/test/regress_bufferevent.c:1032,1
    - Dst: strstr
      Src: /src/libevent/test/regress_bufferevent.c:1034,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1039,1
    - Dst: bufferevent_pair_new
      Src: /src/libevent/test/regress_bufferevent.c:1039,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:1043,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:1044,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1046,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1047,1
    - Dst: bufferevent_filter_new
      Src: /src/libevent/test/regress_bufferevent.c:1051,1
    - Dst: bufferevent_filter_new
      Src: /src/libevent/test/regress_bufferevent.c:1053,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1055,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1056,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_bufferevent.c:1062,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_bufferevent.c:1065,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:1069,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/test/regress_bufferevent.c:1071,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_bufferevent.c:1072,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:1073,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:1076,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/test/regress_bufferevent.c:1081,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:1082,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_bufferevent.c:1087,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:1088,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:1093,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:1094,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:1095,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:1096,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:1097,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:1098,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_bufferevent.c:1100,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_bufferevent.c:1101,1
    - Dst: tt_assert_timeval_empty
      Src: /src/libevent/test/regress_bufferevent.c:1107,1
    - Dst: tt_assert_timeval_empty
      Src: /src/libevent/test/regress_bufferevent.c:1108,1
    - Dst: tt_assert_timeval_empty
      Src: /src/libevent/test/regress_bufferevent.c:1109,1
    - Dst: tt_assert_timeval_empty
      Src: /src/libevent/test/regress_bufferevent.c:1110,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1115,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1019
    functionDepth: 8
    functionLinenumber: 1019
    functionLinenumberEnd: 1118
    functionName: test_bufferevent_timeouts
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - strstr
    - bufferevent_setcb
    - event_base_dispatch
    - tt_assert
    - tt_int_op
    - bufferevent_enable
    - event_base_loopexit
    - tt_assert_timeval_empty
    - bufferevent_pair_new
    - bufferevent_write
    - test_timeval_diff_eq
    - bufferevent_socket_new
    - evutil_gettimeofday
    - memset
    - bufferevent_disable
    - bufferevent_set_timeouts
    - bufferevent_filter_new
    - tt_want
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_timeouts(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    functionName: tt_assert_timeval_empty
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_assert_timeval_empty(tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_bufferevent.c:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - ctx
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1124
    functionName: trigger_failure_cb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    linkageType: ''
    returnType: void
    signature: void trigger_failure_cb(evutil_socket_t fd, short what, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:1131,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_bufferevent.c:1132,1
    - Dst: reader_eventcb
      Src: /src/libevent/test/regress_bufferevent.c:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1126
    functionDepth: 7
    functionLinenumber: 1126
    functionLinenumberEnd: 1136
    functionName: trigger_eventcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - reader_eventcb
    - event_base_loopexit
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void trigger_eventcb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:1141,1
    - Dst: bufferevent_trigger_event
      Src: /src/libevent/test/regress_bufferevent.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1144
    functionName: trigger_readcb_triggered
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_trigger_event
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void trigger_readcb_triggered(struct bufferevent *bev, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_bufferevent.c:1154,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_bufferevent.c:1154,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:1157,1
    - Dst: bufferevent_getwatermark
      Src: /src/libevent/test/regress_bufferevent.c:1159,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:1160,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_bufferevent.c:1160,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_bufferevent.c:1162,1
    - Dst: bufferevent_trigger
      Src: /src/libevent/test/regress_bufferevent.c:1163,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1165,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_bufferevent.c:1174,1
    - Dst: bufferevent_trigger
      Src: /src/libevent/test/regress_bufferevent.c:1176,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1178,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_bufferevent.c:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1183
    functionName: trigger_readcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - bufferevent_getwatermark
    - tt_int_op
    - evbuffer_get_length
    - event_base_once
    - bufferevent_trigger
    - TT_BLATHER
    - bufferevent_setcb
    - bufferevent_getfd
    - bufferevent_setwatermark
    linkageType: ''
    returnType: void
    signature: void trigger_readcb(struct bufferevent *bev, void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_bufferevent.c:1199,1
    - Dst: strstr
      Src: /src/libevent/test/regress_bufferevent.c:1204,1
    - Dst: memset
      Src: /src/libevent/test/regress_bufferevent.c:1209,1
    - Dst: htonl
      Src: /src/libevent/test/regress_bufferevent.c:1212,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_bufferevent.c:1215,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1218,1
    - Dst: regress_get_listener_addr
      Src: /src/libevent/test/regress_bufferevent.c:1222,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_bufferevent.c:1223,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1226,1
    - Dst: evconnlistener_enable
      Src: /src/libevent/test/regress_bufferevent.c:1226,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:1227,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1228,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:1229,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:1231,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_bufferevent.c:1233,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_bufferevent.c:1233,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:1235,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1237,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_bufferevent.c:1240,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1185
    functionDepth: 6
    functionLinenumber: 1185
    functionLinenumberEnd: 1244
    functionName: test_bufferevent_trigger
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_enable
    - tt_int_op
    - memset
    - evconnlistener_free
    - strstr
    - regress_get_listener_addr
    - evconnlistener_enable
    - bufferevent_socket_connect
    - bufferevent_setcb
    - event_base_dispatch
    - bufferevent_socket_new
    - tt_abort_perror
    - tt_want
    - evconnlistener_new_bind
    - htonl
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_trigger(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:1252,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1253,1
    - Dst: bufferevent_filter_new
      Src: /src/libevent/test/regress_bufferevent.c:1254,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1255,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1259,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1246
    functionDepth: 6
    functionLinenumber: 1246
    functionLinenumberEnd: 1262
    functionName: test_bufferevent_socket_filter_inactive
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_filter_new
    - bufferevent_free
    - bufferevent_socket_new
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_socket_filter_inactive(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1269
    functionName: pair_flush_eventcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pair_flush_eventcb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1280,1
    - Dst: bufferevent_pair_new
      Src: /src/libevent/test/regress_bufferevent.c:1280,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1283,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:1283,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1284,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:1284,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:1286,1
    - Dst: bufferevent_flush
      Src: /src/libevent/test/regress_bufferevent.c:1288,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_bufferevent.c:1290,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1292,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1296,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1271
    functionDepth: 6
    functionLinenumber: 1271
    functionLinenumberEnd: 1299
    functionName: test_bufferevent_pair_flush
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_enable
    - event_base_loop
    - bufferevent_pair_new
    - bufferevent_setcb
    - bufferevent_flush
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_pair_flush(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_bufferevent.c:1310,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:1311,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_bufferevent.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1306
    functionDepth: 4
    functionLinenumber: 1306
    functionLinenumberEnd: 1314
    functionName: bufferevent_filter_data_stuck_readcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_drain
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void bufferevent_filter_data_stuck_readcb(struct bufferevent *bev,
      void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libevent/test/regress_bufferevent.c:1330,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_bufferevent.c:1331,1
    - Dst: free
      Src: /src/libevent/test/regress_bufferevent.c:1332,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:1337,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1342,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/test/regress_bufferevent.c:1342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - src
    - dst
    - dst_limit
    - mode
    - ctx
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    - ev_ssize_t
    - enum bufferevent_flush_mode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1319
    functionDepth: 7
    functionLinenumber: 1319
    functionLinenumberEnd: 1346
    functionName: bufferevent_filter_data_stuck_inputcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - free
    - tt_int_op
    - calloc
    - evbuffer_get_length
    - evbuffer_remove_buffer
    - evbuffer_add
    linkageType: ''
    returnType: enum bufferevent_filter_result
    signature: "enum bufferevent_filter_result bufferevent_filter_data_stuck_inputcb(\n
      \   struct evbuffer *src, struct evbuffer *dst, ev_ssize_t dst_limit,\n    enum
      bufferevent_flush_mode mode, void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_bufferevent.c:1362,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1365,1
    - Dst: bufferevent_pair_new
      Src: /src/libevent/test/regress_bufferevent.c:1365,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_bufferevent.c:1367,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_bufferevent.c:1368,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1370,1
    - Dst: bufferevent_filter_new
      Src: /src/libevent/test/regress_bufferevent.c:1372,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:1379,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1385,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:1385,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_bufferevent.c:1387,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1389,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_bufferevent.c:1389,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:1391,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1393,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1396,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1348
    functionDepth: 8
    functionLinenumber: 1348
    functionLinenumberEnd: 1399
    functionName: test_bufferevent_filter_data_stuck
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_enable
    - tt_int_op
    - memset
    - bufferevent_pair_new
    - bufferevent_write
    - bufferevent_setcb
    - bufferevent_filter_new
    - event_base_dispatch
    - bufferevent_setwatermark
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_filter_data_stuck(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_bufferevent.c:1409,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1410,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:1410,1
    - Dst: strlen
      Src: /src/libevent/test/regress_bufferevent.c:1410,1
    - Dst: bufferevent_read
      Src: /src/libevent/test/regress_bufferevent.c:1412,1
    - Dst: strlen
      Src: /src/libevent/test/regress_bufferevent.c:1412,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1413,1
    - Dst: strlen
      Src: /src/libevent/test/regress_bufferevent.c:1413,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1414,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_bufferevent.c:1414,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/test/regress_bufferevent.c:1416,1
    - Dst: bufferevent_read
      Src: /src/libevent/test/regress_bufferevent.c:1417,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1418,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_bufferevent.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1401
    functionDepth: 6
    functionLinenumber: 1401
    functionLinenumberEnd: 1421
    functionName: read_failed_readcb
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - tt_int_op
    - event_base_loopexit
    - evbuffer_get_length
    - evbuffer_freeze
    - bufferevent_read
    - strlen
    linkageType: ''
    returnType: void
    signature: void read_failed_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_bufferevent.c:1430,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_bufferevent.c:1432,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_bufferevent.c:1433,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_bufferevent.c:1434,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1438,1
    - Dst: send
      Src: /src/libevent/test/regress_bufferevent.c:1438,1
    - Dst: strlen
      Src: /src/libevent/test/regress_bufferevent.c:1438,1
    - Dst: strlen
      Src: /src/libevent/test/regress_bufferevent.c:1438,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_bufferevent.c:1440,1
    - Dst: write
      Src: /src/libevent/test/regress_bufferevent.c:1440,1
    - Dst: strlen
      Src: /src/libevent/test/regress_bufferevent.c:1440,1
    - Dst: strlen
      Src: /src/libevent/test/regress_bufferevent.c:1440,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_bufferevent.c:1442,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_bufferevent.c:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1423
    functionDepth: 6
    functionLinenumber: 1423
    functionLinenumberEnd: 1446
    functionName: test_bufferevent_read_failed
    functionSourceFile: /src/libevent/test/regress_bufferevent.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - write
    - bufferevent_enable
    - tt_int_op
    - bufferevent_free
    - bufferevent_setcb
    - send
    - bufferevent_socket_new
    - event_base_dispatch
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_read_failed(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/libevent/test/bench.c:83,1
    - Dst: send
      Src: /src/libevent/test/bench.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - which
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 97
    functionName: read_cb
    functionSourceFile: /src/libevent/test/bench.c
    functionUses: 0
    functionsReached:
    - recv
    - send
    linkageType: ''
    returnType: void
    signature: void read_cb(evutil_socket_t fd, short which, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_initialized
      Src: /src/libevent/test/bench.c:107,1
    - Dst: event_del
      Src: /src/libevent/test/bench.c:108,1
    - Dst: event_assign
      Src: /src/libevent/test/bench.c:109,1
    - Dst: event_add
      Src: /src/libevent/test/bench.c:110,1
    - Dst: event_base_loop
      Src: /src/libevent/test/bench.c:113,1
    - Dst: send
      Src: /src/libevent/test/bench.c:119,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/bench.c:125,1
    - Dst: event_base_loop
      Src: /src/libevent/test/bench.c:127,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/bench.c:130,1
    - Dst: fprintf
      Src: /src/libevent/test/bench.c:133,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/bench.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 140
    functionName: run_once
    functionSourceFile: /src/libevent/test/bench.c
    functionUses: 0
    functionsReached:
    - event_base_loop
    - event_del
    - event_assign
    - event_add
    - send
    - fprintf
    - evutil_timersub
    - evutil_gettimeofday
    - event_initialized
    linkageType: ''
    returnType: struct timeval
    signature: 'struct timeval *

      run_once(void)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libevent/test/bench.c:157,1
    - Dst: getopt
      Src: /src/libevent/test/bench.c:162,1
    - Dst: atoi
      Src: /src/libevent/test/bench.c:165,1
    - Dst: atoi
      Src: /src/libevent/test/bench.c:168,1
    - Dst: atoi
      Src: /src/libevent/test/bench.c:171,1
    - Dst: event_get_supported_methods
      Src: /src/libevent/test/bench.c:177,1
    - Dst: fprintf
      Src: /src/libevent/test/bench.c:178,1
    - Dst: event_get_version
      Src: /src/libevent/test/bench.c:179,1
    - Dst: printf
      Src: /src/libevent/test/bench.c:181,1
    - Dst: exit
      Src: /src/libevent/test/bench.c:182,1
    - Dst: fprintf
      Src: /src/libevent/test/bench.c:184,1
    - Dst: exit
      Src: /src/libevent/test/bench.c:185,1
    - Dst: setrlimit
      Src: /src/libevent/test/bench.c:191,1
    - Dst: perror
      Src: /src/libevent/test/bench.c:192,1
    - Dst: exit
      Src: /src/libevent/test/bench.c:193,1
    - Dst: calloc
      Src: /src/libevent/test/bench.c:197,1
    - Dst: calloc
      Src: /src/libevent/test/bench.c:198,1
    - Dst: perror
      Src: /src/libevent/test/bench.c:200,1
    - Dst: exit
      Src: /src/libevent/test/bench.c:201,1
    - Dst: event_config_new
      Src: /src/libevent/test/bench.c:205,1
    - Dst: event_get_supported_methods
      Src: /src/libevent/test/bench.c:206,1
    - Dst: strcmp
      Src: /src/libevent/test/bench.c:208,1
    - Dst: event_config_avoid_method
      Src: /src/libevent/test/bench.c:209,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/bench.c:210,1
    - Dst: event_config_free
      Src: /src/libevent/test/bench.c:211,1
    - Dst: event_base_new
      Src: /src/libevent/test/bench.c:213,1
    - Dst: pipe
      Src: /src/libevent/test/bench.c:217,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/bench.c:219,1
    - Dst: perror
      Src: /src/libevent/test/bench.c:221,1
    - Dst: exit
      Src: /src/libevent/test/bench.c:222,1
    - Dst: run_once
      Src: /src/libevent/test/bench.c:227,1
    - Dst: exit
      Src: /src/libevent/test/bench.c:229,1
    - Dst: fprintf
      Src: /src/libevent/test/bench.c:230,1
    - Dst: exit
      Src: /src/libevent/test/bench.c:234,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 235
    functionName: main
    functionSourceFile: /src/libevent/test/bench.c
    functionUses: 0
    functionsReached:
    - atoi
    - event_get_version
    - event_get_supported_methods
    - strcmp
    - event_base_new
    - calloc
    - evutil_socketpair
    - setrlimit
    - perror
    - pipe
    - event_base_new_with_config
    - event_config_free
    - run_once
    - event_config_avoid_method
    - exit
    - WSAStartup
    - getopt
    - fprintf
    - event_config_new
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/test/regress_zlib.c:100,1
    - Dst: deflateEnd
      Src: /src/libevent/test/regress_zlib.c:100,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_zlib.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts:
    - condition: (deflateEnd(p) == Z_OK)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/libevent/test/regress_zlib.c
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: zlib_deflate_free
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 0
    functionsReached:
    - mm_free
    - deflateEnd
    - assert
    linkageType: ''
    returnType: void
    signature: void zlib_deflate_free(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/test/regress_zlib.c:109,1
    - Dst: inflateEnd
      Src: /src/libevent/test/regress_zlib.c:109,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_zlib.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts:
    - condition: (inflateEnd(p) == Z_OK)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/libevent/test/regress_zlib.c
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: zlib_inflate_free
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 0
    functionsReached:
    - mm_free
    - inflateEnd
    - assert
    linkageType: ''
    returnType: void
    signature: void zlib_inflate_free(void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum bufferevent_flush_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: getstate
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getstate(enum bufferevent_flush_mode state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_zlib.c:145,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_zlib.c:154,1
    - Dst: inflate
      Src: /src/libevent/test/regress_zlib.c:159,1
    - Dst: getstate
      Src: /src/libevent/test/regress_zlib.c:159,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_zlib.c:165,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_zlib.c:167,1
    - Dst: assert
      Src: /src/libevent/test/regress_zlib.c:176,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_zlib.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - src
    - dst
    - lim
    - state
    - ctx
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    - ev_ssize_t
    - enum bufferevent_flush_mode
    - void*
    assertStmts:
    - condition: (res == Z_OK || res == Z_STREAM_END)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/libevent/test/regress_zlib.c
    constantsTouched: []
    func_position:
      end: 184
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 184
    functionName: zlib_input_filter
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 0
    functionsReached:
    - evbuffer_peek
    - evbuffer_drain
    - evbuffer_reserve_space
    - evbuffer_get_length
    - inflate
    - assert
    - getstate
    - evbuffer_commit_space
    linkageType: ''
    returnType: enum bufferevent_filter_result
    signature: "enum bufferevent_filter_result zlib_input_filter(struct evbuffer *src,
      struct evbuffer *dst,\n    ev_ssize_t lim, enum bufferevent_flush_mode state,
      void *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_zlib.c:199,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_zlib.c:208,1
    - Dst: deflate
      Src: /src/libevent/test/regress_zlib.c:213,1
    - Dst: getstate
      Src: /src/libevent/test/regress_zlib.c:213,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_zlib.c:219,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_zlib.c:221,1
    - Dst: assert
      Src: /src/libevent/test/regress_zlib.c:230,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_zlib.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - src
    - dst
    - lim
    - state
    - ctx
    argTypes:
    - struct evbuffer*
    - struct evbuffer*
    - ev_ssize_t
    - enum bufferevent_flush_mode
    - void*
    assertStmts:
    - condition: (res == Z_OK || res == Z_STREAM_END)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/libevent/test/regress_zlib.c
    constantsTouched: []
    func_position:
      end: 238
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 238
    functionName: zlib_output_filter
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 0
    functionsReached:
    - evbuffer_peek
    - evbuffer_drain
    - evbuffer_reserve_space
    - evbuffer_get_length
    - assert
    - getstate
    - evbuffer_commit_space
    - deflate
    linkageType: ''
    returnType: enum bufferevent_filter_result
    signature: "enum bufferevent_filter_result zlib_output_filter(struct evbuffer
      *src, struct evbuffer *dst,\n    ev_ssize_t lim, enum bufferevent_flush_mode
      state, void *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_zlib.c:247,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_zlib.c:247,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_zlib.c:248,1
    - Dst: assert
      Src: /src/libevent/test/regress_zlib.c:249,1
    - Dst: bufferevent_read_buffer
      Src: /src/libevent/test/regress_zlib.c:252,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_zlib.c:254,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_zlib.c:256,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_zlib.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts:
    - condition: (evbuf != NULL)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/libevent/test/regress_zlib.c
    constantsTouched: []
    func_position:
      end: 262
      start: 244
    functionDepth: 7
    functionLinenumber: 244
    functionLinenumberEnd: 262
    functionName: readcb
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 3
    functionsReached:
    - bufferevent_get_input
    - bufferevent_read_buffer
    - bufferevent_disable
    - evbuffer_get_length
    - evbuffer_free
    - evbuffer_new
    - assert
    linkageType: ''
    returnType: void
    signature: void readcb(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_zlib.c:267,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_zlib.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: writecb
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 3
    functionsReached:
    - bufferevent_get_output
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void writecb(struct bufferevent *bev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: errorcb
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void errorcb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_zlib.c:291,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_zlib.c:292,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_zlib.c:295,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_zlib.c:296,1
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_zlib.c:298,1
    - Dst: deflateInit
      Src: /src/libevent/test/regress_zlib.c:299,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_zlib.c:300,1
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_zlib.c:301,1
    - Dst: inflateInit
      Src: /src/libevent/test/regress_zlib.c:302,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_zlib.c:303,1
    - Dst: bufferevent_filter_new
      Src: /src/libevent/test/regress_zlib.c:306,1
    - Dst: bufferevent_filter_new
      Src: /src/libevent/test/regress_zlib.c:308,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_zlib.c:310,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_zlib.c:311,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_zlib.c:312,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_zlib.c:313,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_zlib.c:315,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_zlib.c:316,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_zlib.c:318,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_zlib.c:324,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_zlib.c:325,1
    - Dst: bufferevent_flush
      Src: /src/libevent/test/regress_zlib.c:328,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_zlib.c:330,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_zlib.c:332,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_zlib.c:333,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_zlib.c:334,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_zlib.c:335,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_zlib.c:336,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_zlib.c:341,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_zlib.c:343,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_zlib.c:346,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_zlib.c:348,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 278
    functionDepth: 8
    functionLinenumber: 278
    functionLinenumberEnd: 349
    functionName: test_bufferevent_zlib
    functionSourceFile: /src/libevent/test/regress_zlib.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - tt_int_op
    - bufferevent_enable
    - deflateInit
    - bufferevent_disable
    - mm_calloc
    - bufferevent_write
    - bufferevent_setcb
    - evutil_socketpair
    - bufferevent_filter_new
    - event_dispatch
    - tt_ptr_op
    - bufferevent_socket_new
    - inflateInit
    - bufferevent_flush
    - tt_abort_perror
    - tt_want
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_zlib(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/test-fdleak.c:70,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/test-fdleak.c:71,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/test-fdleak.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: my_perror
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - fprintf
    - EVUTIL_SOCKET_ERROR
    linkageType: ''
    returnType: void
    signature: void my_perror(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/test-fdleak.c:84,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/test-fdleak.c:84,1
    - Dst: bufferevent_read
      Src: /src/libevent/test/test-fdleak.c:86,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/test-fdleak.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 8
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: server_read_cb
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 0
    functionsReached:
    - bufferevent_read
    - bufferevent_get_input
    - bufferevent_write
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void server_read_cb(struct bufferevent *bev, void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: my_perror
      Src: /src/libevent/test/test-fdleak.c:96,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:97,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/test-fdleak.c:99,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/test-fdleak.c:101,1
    - Dst: bufferevent_get_base
      Src: /src/libevent/test/test-fdleak.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bev
    - events
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 6
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: server_event_cb
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - exit
    - bufferevent_get_base
    - event_base_loopbreak
    - my_perror
    linkageType: ''
    returnType: void
    signature: void server_event_cb(struct bufferevent *bev, short events, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evconnlistener_get_base
      Src: /src/libevent/test/test-fdleak.c:111,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/test-fdleak.c:112,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/test-fdleak.c:114,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/test-fdleak.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - listener
    - sock
    - addr
    - len
    - ptr
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: listener_accept_cb
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 0
    functionsReached:
    - bufferevent_setcb
    - evconnlistener_get_base
    - bufferevent_enable
    - bufferevent_socket_new
    linkageType: ''
    returnType: void
    signature: "void listener_accept_cb(struct evconnlistener *listener, evutil_socket_t
      sock,\n                   struct sockaddr *addr, int len, void *ptr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test/test-fdleak.c:128,1
    - Dst: puts
      Src: /src/libevent/test/test-fdleak.c:130,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:131,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/test-fdleak.c:134,1
    - Dst: my_perror
      Src: /src/libevent/test/test-fdleak.c:138,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:139,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/test-fdleak.c:141,1
    - Dst: puts
      Src: /src/libevent/test/test-fdleak.c:143,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:144,1
    - Dst: getsockname
      Src: /src/libevent/test/test-fdleak.c:146,1
    - Dst: my_perror
      Src: /src/libevent/test/test-fdleak.c:147,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:148,1
    - Dst: memcpy
      Src: /src/libevent/test/test-fdleak.c:150,1
    - Dst: puts
      Src: /src/libevent/test/test-fdleak.c:152,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:153,1
    - Dst: start_client
      Src: /src/libevent/test/test-fdleak.c:156,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/test-fdleak.c:158,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/test-fdleak.c:160,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-fdleak.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 162
    functionName: start_loop
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 0
    functionsReached:
    - start_client
    - exit
    - event_base_free
    - evconnlistener_new_bind
    - evconnlistener_get_fd
    - evconnlistener_free
    - memcpy
    - getsockname
    - puts
    - event_base_dispatch
    - my_perror
    - event_base_new
    linkageType: ''
    returnType: void
    signature: void start_loop(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_base
      Src: /src/libevent/test/test-fdleak.c:176,1
    - Dst: bufferevent_read
      Src: /src/libevent/test/test-fdleak.c:178,1
    - Dst: puts
      Src: /src/libevent/test/test-fdleak.c:180,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:181,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/test-fdleak.c:183,1
    - Dst: start_client
      Src: /src/libevent/test/test-fdleak.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 6
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: client_read_cb
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - start_client
    - exit
    - bufferevent_get_base
    - puts
    - bufferevent_read
    linkageType: ''
    returnType: void
    signature: void client_read_cb(struct bufferevent *bev, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_write
      Src: /src/libevent/test/test-fdleak.c:197,1
    - Dst: puts
      Src: /src/libevent/test/test-fdleak.c:199,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:200,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/test-fdleak.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bev
    - events
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 8
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: client_event_cb
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - puts
    - exit
    - bufferevent_write
    linkageType: ''
    returnType: void
    signature: void client_event_cb(struct bufferevent *bev, short events, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/test-fdleak.c:210,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/test-fdleak.c:212,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/test-fdleak.c:214,1
    - Dst: my_perror
      Src: /src/libevent/test/test-fdleak.c:216,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/test-fdleak.c:217,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 207
    functionDepth: 6
    functionLinenumber: 207
    functionLinenumberEnd: 220
    functionName: start_client
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 2
    functionsReached:
    - bufferevent_free
    - exit
    - bufferevent_socket_connect
    - bufferevent_setcb
    - bufferevent_socket_new
    - my_perror
    linkageType: ''
    returnType: void
    signature: void start_client(struct event_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setrlimit
      Src: /src/libevent/test/test-fdleak.c:230,1
    - Dst: my_perror
      Src: /src/libevent/test/test-fdleak.c:231,1
    - Dst: exit
      Src: /src/libevent/test/test-fdleak.c:232,1
    - Dst: WSAStartup
      Src: /src/libevent/test/test-fdleak.c:238,1
    - Dst: memset
      Src: /src/libevent/test/test-fdleak.c:242,1
    - Dst: htonl
      Src: /src/libevent/test/test-fdleak.c:244,1
    - Dst: start_loop
      Src: /src/libevent/test/test-fdleak.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 222
    functionDepth: 7
    functionLinenumber: 222
    functionLinenumberEnd: 250
    functionName: main
    functionSourceFile: /src/libevent/test/test-fdleak.c
    functionUses: 0
    functionsReached:
    - exit
    - memset
    - start_loop
    - WSAStartup
    - setrlimit
    - my_perror
    - htonl
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/test/test-init.c:55,1
    - Dst: WSAStartup
      Src: /src/libevent/test/test-init.c:57,1
    - Dst: event_init
      Src: /src/libevent/test/test-init.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/libevent/test/test-init.c
    functionUses: 0
    functionsReached:
    - MAKEWORD
    - event_init
    - WSAStartup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prefix
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: TT_DECLARE
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_DECLARE(prefix, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: TT_GRIPE
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_GRIPE(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: TT_BLATHER
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_BLATHER(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: TT_DIE
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_DIE(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: TT_FAIL
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_FAIL(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: tt_abort_printf
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_abort_printf(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: tt_abort_perror
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_abort_perror(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: tt_abort_msg
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_abort_msg(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: tt_abort
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_abort()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tt_failprint_f
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_failprint_f(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: tt_fail_perror
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_fail_perror(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: tt_fail_msg
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_fail_msg(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: tt_fail
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_fail()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: tt_skip
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_skip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - msg
    - ','
    - fail
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: tt_want_
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_want_(b, msg, fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: tt_want_msg
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_want_msg(b, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: tt_assert_msg
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_assert_msg(b, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: tt_want
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_want(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: tt_assert
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_assert(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - str_test
    - ','
    - type
    - ','
    - test
    - ','
    - printf_type
    - ','
    - printf_fmt
    - ','
    - setup_block
    - ','
    - cleanup_block
    - ','
    - die_on_fail
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 142
    functionName: tt_assert_test_fmt_type
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "tt_assert_test_fmt_type(a,b,str_test,type,test,printf_type,printf_fmt,
      \\\n    setup_block,cleanup_block,die_on_fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - str_test
    - ','
    - type
    - ','
    - test
    - ','
    - fmt
    - ','
    - die_on_fail
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: tt_assert_test_type
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_assert_test_type(a,b,str_test,type,test,fmt,die_on_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - str_test
    - ','
    - type
    - ','
    - test
    - ','
    - fmt
    - ','
    - die_on_fail
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tt_assert_test_type_opt
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_assert_test_type_opt(a,b,str_test,type,test,fmt,die_on_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - ','
    - type
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: tt_assert_op_type
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_assert_op_type(a,op,b,type,fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: tt_int_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_int_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: tt_fd_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_fd_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: tt_uint_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_uint_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: tt_ptr_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_ptr_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: tt_nstr_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_nstr_op(n,a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: tt_str_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_str_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expr1
    - ','
    - op
    - ','
    - expr2
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: tt_mem_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_mem_op(expr1, op, expr2, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: tt_want_int_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_want_int_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: tt_want_uint_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_want_uint_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: tt_want_ptr_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_want_ptr_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - op
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: tt_want_str_op
    functionSourceFile: /src/libevent/test/tinytest_macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_want_str_op(a,op,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/test/regress_iocp.c:64,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_iocp.c:65,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:67,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: count_init
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - EVTHREAD_ALLOC_LOCK
    - EVTHREAD_ALLOC_COND
    linkageType: ''
    returnType: void
    signature: void count_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_iocp.c:77,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_iocp.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: count_free
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_FREE_LOCK
    - EVTHREAD_FREE_COND
    linkageType: ''
    returnType: void
    signature: void count_free(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_iocp.c:84,1
    - Dst: EVTHREAD_COND_BROADCAST
      Src: /src/libevent/test/regress_iocp.c:86,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_iocp.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: count_incr
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - EVTHREAD_COND_BROADCAST
    - EVLOCK_LOCK
    linkageType: ''
    returnType: void
    signature: void count_incr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_iocp.c:97,1
    - Dst: GetTickCount
      Src: /src/libevent/test/regress_iocp.c:101,1
    - Dst: EVTHREAD_COND_WAIT_TIMED
      Src: /src/libevent/test/regress_iocp.c:102,1
    - Dst: GetTickCount
      Src: /src/libevent/test/regress_iocp.c:103,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_iocp.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - i
    - ms
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: count_wait_for
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - EVTHREAD_COND_WAIT_TIMED
    - EVLOCK_LOCK
    - GetTickCount
    linkageType: ''
    returnType: int
    signature: int count_wait_for(int i, int ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_UPCAST
      Src: /src/libevent/test/regress_iocp.c:125,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_iocp.c:127,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_iocp.c:133,1
    - Dst: count_incr
      Src: /src/libevent/test/regress_iocp.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - o
    - key
    - n
    - ok
    argTypes:
    - struct event_overlapped*
    - uintptr_t
    - ev_ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: dummy_cb
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - count_incr
    - EVLOCK_LOCK
    - EVUTIL_UPCAST
    linkageType: ''
    returnType: void
    signature: void dummy_cb(struct event_overlapped *o, uintptr_t key, ev_ssize_t
      n, int ok)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_iocp.c:143,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_iocp.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - o
    - key
    - n
    argTypes:
    - struct dummy_overlapped*
    - uintptr_t
    - ev_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: pair_is_in
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - EVLOCK_LOCK
    linkageType: ''
    returnType: int
    signature: int pair_is_in(struct dummy_overlapped *o, uintptr_t key, ev_ssize_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_iocp.c:160,1
    - Dst: memset
      Src: /src/libevent/test/regress_iocp.c:161,1
    - Dst: count_init
      Src: /src/libevent/test/regress_iocp.c:163,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/test/regress_iocp.c:164,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/test/regress_iocp.c:165,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:167,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:168,1
    - Dst: event_overlapped_init_
      Src: /src/libevent/test/regress_iocp.c:170,1
    - Dst: event_overlapped_init_
      Src: /src/libevent/test/regress_iocp.c:171,1
    - Dst: event_iocp_port_launch_
      Src: /src/libevent/test/regress_iocp.c:173,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:174,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:176,1
    - Dst: event_iocp_activate_overlapped_
      Src: /src/libevent/test/regress_iocp.c:176,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:177,1
    - Dst: event_iocp_activate_overlapped_
      Src: /src/libevent/test/regress_iocp.c:177,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:179,1
    - Dst: event_iocp_activate_overlapped_
      Src: /src/libevent/test/regress_iocp.c:179,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:180,1
    - Dst: event_iocp_activate_overlapped_
      Src: /src/libevent/test/regress_iocp.c:180,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:182,1
    - Dst: event_iocp_activate_overlapped_
      Src: /src/libevent/test/regress_iocp.c:182,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:183,1
    - Dst: event_iocp_activate_overlapped_
      Src: /src/libevent/test/regress_iocp.c:183,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:185,1
    - Dst: event_iocp_activate_overlapped_
      Src: /src/libevent/test/regress_iocp.c:185,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:186,1
    - Dst: event_iocp_activate_overlapped_
      Src: /src/libevent/test/regress_iocp.c:186,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_iocp.c:188,1
    - Dst: count_wait_for
      Src: /src/libevent/test/regress_iocp.c:188,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:190,1
    - Dst: event_iocp_shutdown_
      Src: /src/libevent/test/regress_iocp.c:190,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_iocp.c:192,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_iocp.c:193,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:195,1
    - Dst: pair_is_in
      Src: /src/libevent/test/regress_iocp.c:195,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:196,1
    - Dst: pair_is_in
      Src: /src/libevent/test/regress_iocp.c:196,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:197,1
    - Dst: pair_is_in
      Src: /src/libevent/test/regress_iocp.c:197,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:198,1
    - Dst: pair_is_in
      Src: /src/libevent/test/regress_iocp.c:198,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:200,1
    - Dst: pair_is_in
      Src: /src/libevent/test/regress_iocp.c:200,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:201,1
    - Dst: pair_is_in
      Src: /src/libevent/test/regress_iocp.c:201,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:202,1
    - Dst: pair_is_in
      Src: /src/libevent/test/regress_iocp.c:202,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:203,1
    - Dst: pair_is_in
      Src: /src/libevent/test/regress_iocp.c:203,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_iocp.c:206,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_iocp.c:207,1
    - Dst: count_free
      Src: /src/libevent/test/regress_iocp.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 209
    functionName: test_iocp_port
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_iocp_port_launch_
    - tt_int_op
    - count_wait_for
    - memset
    - pair_is_in
    - EVTHREAD_FREE_LOCK
    - event_iocp_shutdown_
    - count_init
    - event_overlapped_init_
    - count_free
    - tt_want
    - EVTHREAD_ALLOC_LOCK
    - event_iocp_activate_overlapped_
    linkageType: ''
    returnType: void
    signature: void test_iocp_port(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:217,1
    - Dst: evbuffer_commit_read_
      Src: /src/libevent/test/regress_iocp.c:218,1
    - Dst: count_incr
      Src: /src/libevent/test/regress_iocp.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - eo
    - key
    - nbytes
    - ok
    argTypes:
    - struct event_overlapped*
    - uintptr_t
    - ev_ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: read_complete
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_commit_read_
    - count_incr
    linkageType: ''
    returnType: void
    signature: "void read_complete(struct event_overlapped *eo, uintptr_t key,\n    ev_ssize_t
      nbytes, int ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:228,1
    - Dst: evbuffer_commit_write_
      Src: /src/libevent/test/regress_iocp.c:229,1
    - Dst: count_incr
      Src: /src/libevent/test/regress_iocp.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - eo
    - key
    - nbytes
    - ok
    argTypes:
    - struct event_overlapped*
    - uintptr_t
    - ev_ssize_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: write_complete
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_commit_write_
    - count_incr
    linkageType: ''
    returnType: void
    signature: "void write_complete(struct event_overlapped *eo, uintptr_t key,\n
      \   ev_ssize_t nbytes, int ok)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: count_init
      Src: /src/libevent/test/regress_iocp.c:246,1
    - Dst: event_overlapped_init_
      Src: /src/libevent/test/regress_iocp.c:247,1
    - Dst: event_overlapped_init_
      Src: /src/libevent/test/regress_iocp.c:248,1
    - Dst: evbuffer_overlapped_new_
      Src: /src/libevent/test/regress_iocp.c:253,1
    - Dst: evbuffer_overlapped_new_
      Src: /src/libevent/test/regress_iocp.c:254,1
    - Dst: evbuffer_enable_locking
      Src: /src/libevent/test/regress_iocp.c:255,1
    - Dst: evbuffer_enable_locking
      Src: /src/libevent/test/regress_iocp.c:256,1
    - Dst: event_iocp_port_launch_
      Src: /src/libevent/test/regress_iocp.c:258,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:259,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:260,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:261,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:263,1
    - Dst: event_iocp_port_associate_
      Src: /src/libevent/test/regress_iocp.c:263,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:264,1
    - Dst: event_iocp_port_associate_
      Src: /src/libevent/test/regress_iocp.c:264,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_iocp.c:267,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_iocp.c:269,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:270,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_iocp.c:271,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:272,1
    - Dst: evbuffer_launch_read_
      Src: /src/libevent/test/regress_iocp.c:272,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_iocp.c:273,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_iocp.c:274,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_iocp.c:274,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_iocp.c:276,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:277,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_iocp.c:277,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:278,1
    - Dst: evbuffer_launch_write_
      Src: /src/libevent/test/regress_iocp.c:278,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_iocp.c:280,1
    - Dst: count_wait_for
      Src: /src/libevent/test/regress_iocp.c:280,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_iocp.c:282,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_iocp.c:282,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_iocp.c:286,1
    - Dst: event_iocp_shutdown_
      Src: /src/libevent/test/regress_iocp.c:286,1
    - Dst: count_free
      Src: /src/libevent/test/regress_iocp.c:288,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_iocp.c:289,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_iocp.c:290,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_iocp.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 235
    functionDepth: 7
    functionLinenumber: 235
    functionLinenumberEnd: 292
    functionName: test_iocp_evbuffer
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - evbuffer_enable_locking
    - count_init
    - evbuffer_launch_write_
    - evbuffer_launch_read_
    - count_free
    - event_iocp_port_associate_
    - tt_assert
    - tt_int_op
    - event_overlapped_init_
    - evbuffer_add
    - event_iocp_port_launch_
    - count_wait_for
    - event_iocp_shutdown_
    - evbuffer_free
    - evbuffer_overlapped_new_
    - evbuffer_get_length
    - evbuffer_add_buffer
    - evbuffer_new
    - tt_want
    linkageType: ''
    returnType: void
    signature: void test_iocp_evbuffer(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_iocp.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: async_readcb
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - bufferevent_disable
    linkageType: ''
    returnType: void
    signature: void async_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_start_iocp_
      Src: /src/libevent/test/regress_iocp.c:313,1
    - Dst: event_base_get_iocp_
      Src: /src/libevent/test/regress_iocp.c:314,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:315,1
    - Dst: bufferevent_async_new_
      Src: /src/libevent/test/regress_iocp.c:317,1
    - Dst: bufferevent_async_new_
      Src: /src/libevent/test/regress_iocp.c:319,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:321,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_iocp.c:322,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_iocp.c:324,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_iocp.c:325,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_iocp.c:326,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_iocp.c:328,1
    - Dst: strlen
      Src: /src/libevent/test/regress_iocp.c:328,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_iocp.c:330,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_iocp.c:332,1
    - Dst: bufferevent_read
      Src: /src/libevent/test/regress_iocp.c:333,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_iocp.c:335,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_iocp.c:338,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_iocp.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 304
    functionDepth: 8
    functionLinenumber: 304
    functionLinenumberEnd: 340
    functionName: test_iocp_bufferevent_async
    functionSourceFile: /src/libevent/test/regress_iocp.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_enable
    - tt_int_op
    - event_base_start_iocp_
    - tt_str_op
    - bufferevent_async_new_
    - event_base_get_iocp_
    - bufferevent_setcb
    - bufferevent_write
    - event_base_dispatch
    - bufferevent_read
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_iocp_bufferevent_async(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_watch.c:51,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:57,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:58,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:59,1
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/test/regress_watch.c:65,1
    - Dst: evwatch_base
      Src: /src/libevent/test/regress_watch.c:65,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:66,1
    - Dst: evwatch_prepare_get_timeout
      Src: /src/libevent/test/regress_watch.c:66,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:69,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - watcher
    - info
    - arg
    argTypes:
    - struct evwatch*
    - struct evwatch_prepare_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: prepare_callback_1
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evwatch_prepare_get_timeout
    - evwatch_base
    - event_base_gettimeofday_cached
    - tt_ptr_op
    linkageType: ''
    returnType: void
    signature: void prepare_callback_1(struct evwatch *watcher, const struct evwatch_prepare_cb_info
      *info, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_watch.c:80,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:86,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:87,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - watcher
    - info
    - arg
    argTypes:
    - struct evwatch*
    - struct evwatch_prepare_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: prepare_callback_2
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_ptr_op
    linkageType: ''
    returnType: void
    signature: void prepare_callback_2(struct evwatch *watcher, const struct evwatch_prepare_cb_info
      *info, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_watch.c:97,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:102,1
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/test/regress_watch.c:106,1
    - Dst: evwatch_base
      Src: /src/libevent/test/regress_watch.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - watcher
    - info
    - arg
    argTypes:
    - struct evwatch*
    - struct evwatch_check_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: check_callback_1
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evwatch_base
    - tt_ptr_op
    - event_base_gettimeofday_cached
    linkageType: ''
    returnType: void
    signature: void check_callback_1(struct evwatch *watcher, const struct evwatch_check_cb_info
      *info, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_watch.c:115,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - watcher
    - info
    - arg
    argTypes:
    - struct evwatch*
    - struct evwatch_check_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: check_callback_2
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_ptr_op
    linkageType: ''
    returnType: void
    signature: void check_callback_2(struct evwatch *watcher, const struct evwatch_check_cb_info
      *info, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: timeout_callback
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 1
    functionsReached:
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void timeout_callback(evutil_socket_t fd, short events, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evwatch_prepare_new
      Src: /src/libevent/test/regress_watch.c:157,1
    - Dst: evwatch_check_new
      Src: /src/libevent/test/regress_watch.c:158,1
    - Dst: evwatch_prepare_new
      Src: /src/libevent/test/regress_watch.c:159,1
    - Dst: evwatch_check_new
      Src: /src/libevent/test/regress_watch.c:160,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_watch.c:166,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_watch.c:167,1
    - Dst: evwatch_free
      Src: /src/libevent/test/regress_watch.c:173,1
    - Dst: evwatch_free
      Src: /src/libevent/test/regress_watch.c:174,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_watch.c:175,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_watch.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: test_callback_ordering
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached:
    - evwatch_free
    - event_base_once
    - evwatch_prepare_new
    - evwatch_check_new
    - event_base_dispatch
    linkageType: ''
    returnType: void
    signature: void test_callback_ordering(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:184,1
    - Dst: evwatch_prepare_get_timeout
      Src: /src/libevent/test/regress_watch.c:184,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:185,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_watch.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - watcher
    - info
    - arg
    argTypes:
    - struct evwatch*
    - struct evwatch_prepare_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: prepare_callback_3
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evwatch_prepare_get_timeout
    linkageType: ''
    returnType: void
    signature: void prepare_callback_3(struct evwatch *watcher, const struct evwatch_prepare_cb_info
      *info, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evwatch_prepare_new
      Src: /src/libevent/test/regress_watch.c:201,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_watch.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: test_timeout_unavailable
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached:
    - evwatch_prepare_new
    - event_base_dispatch
    linkageType: ''
    returnType: void
    signature: void test_timeout_unavailable(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: bad_malloc
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      bad_malloc(size_t sz)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_watch.c:223,1
    - Dst: evwatch_prepare_new
      Src: /src/libevent/test/regress_watch.c:224,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_watch.c:225,1
    - Dst: evwatch_check_new
      Src: /src/libevent/test/regress_watch.c:227,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_watch.c:228,1
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_watch.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: test_malloc_failure
    functionSourceFile: /src/libevent/test/regress_watch.c
    functionUses: 0
    functionsReached:
    - evwatch_check_new
    - event_set_mem_functions
    - evwatch_prepare_new
    - tt_ptr_op
    linkageType: ''
    returnType: void
    signature: void test_malloc_failure(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: trigger_timer
    functionSourceFile: /src/libevent/test/regress_timer_timeout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void trigger_timer(evutil_socket_t fd, short events, void * arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_config_new
      Src: /src/libevent/test/regress_timer_timeout.c:30,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/regress_timer_timeout.c:31,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress_timer_timeout.c:32,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress_timer_timeout.c:33,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_timer_timeout.c:35,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_timer_timeout.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - test
    - flags
    argTypes:
    - EventTimeoutTest*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: init_test
    functionSourceFile: /src/libevent/test/regress_timer_timeout.c
    functionUses: 0
    functionsReached:
    - evtimer_new
    - event_base_new_with_config
    - event_config_free
    - event_config_set_flag
    - event_config_new
    - event_base_new
    linkageType: ''
    returnType: void
    signature: void init_test(EventTimeoutTest *test, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/libevent/test/regress_timer_timeout.c:41,1
    - Dst: event_free
      Src: /src/libevent/test/regress_timer_timeout.c:42,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_timer_timeout.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - test
    argTypes:
    - EventTimeoutTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: cleanup_test
    functionSourceFile: /src/libevent/test/regress_timer_timeout.c
    functionUses: 0
    functionsReached:
    - event_free
    - event_base_free
    - event_del
    linkageType: ''
    returnType: void
    signature: void cleanup_test(EventTimeoutTest *test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_timer_timeout.c:49,1
    - Dst: evtimer_add
      Src: /src/libevent/test/regress_timer_timeout.c:50,1
    - Dst: perror
      Src: /src/libevent/test/regress_timer_timeout.c:52,1
    - Dst: exit
      Src: /src/libevent/test/regress_timer_timeout.c:53,1
    - Dst: evutil_timeradd
      Src: /src/libevent/test/regress_timer_timeout.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - test
    - delay
    argTypes:
    - EventTimeoutTest*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: set_timer_tv
    functionSourceFile: /src/libevent/test/regress_timer_timeout.c
    functionUses: 0
    functionsReached:
    - perror
    - exit
    - evutil_timeradd
    - evtimer_add
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void set_timer_tv(EventTimeoutTest *test, const struct timeval* delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_timer_tv
      Src: /src/libevent/test/regress_timer_timeout.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - test
    - delay_us
    argTypes:
    - EventTimeoutTest*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: set_timer
    functionSourceFile: /src/libevent/test/regress_timer_timeout.c
    functionUses: 0
    functionsReached:
    - set_timer_tv
    linkageType: ''
    returnType: void
    signature: void set_timer(EventTimeoutTest *test, const long delay_us)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evtimer_pending
      Src: /src/libevent/test/regress_timer_timeout.c:68,1
    - Dst: perror
      Src: /src/libevent/test/regress_timer_timeout.c:70,1
    - Dst: exit
      Src: /src/libevent/test/regress_timer_timeout.c:71,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_timer_timeout.c:76,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_timer_timeout.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - test
    argTypes:
    - EventTimeoutTest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: remaining
    functionSourceFile: /src/libevent/test/regress_timer_timeout.c
    functionUses: 0
    functionsReached:
    - perror
    - exit
    - evtimer_pending
    - evutil_timersub
    - evutil_gettimeofday
    linkageType: ''
    returnType: long
    signature: long remaining(EventTimeoutTest *test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_test
      Src: /src/libevent/test/regress_timer_timeout.c:89,1
    - Dst: set_timer
      Src: /src/libevent/test/regress_timer_timeout.c:91,1
    - Dst: remaining
      Src: /src/libevent/test/regress_timer_timeout.c:92,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_timer_timeout.c:98,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress_timer_timeout.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: test_with_flags
    functionSourceFile: /src/libevent/test/regress_timer_timeout.c
    functionUses: 0
    functionsReached:
    - init_test
    - evutil_usleep_
    - set_timer
    - cleanup_test
    - remaining
    linkageType: ''
    returnType: int
    signature: int test_with_flags(int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_with_flags
      Src: /src/libevent/test/regress_timer_timeout.c:111,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_timer_timeout.c:112,1
    - Dst: strstr
      Src: /src/libevent/test/regress_timer_timeout.c:113,1
    - Dst: test_with_flags
      Src: /src/libevent/test/regress_timer_timeout.c:114,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_timer_timeout.c:115,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_timer_timeout.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: timer_timeout_test
    functionSourceFile: /src/libevent/test/regress_timer_timeout.c
    functionUses: 0
    functionsReached:
    - tt_fail_msg
    - test_with_flags
    - tt_int_op
    - strstr
    linkageType: ''
    returnType: void
    signature: void timer_timeout_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: write
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write(fd,buf,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: read
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read(fd,buf,len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:112,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:116,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: simple_read_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - read
    - event_add
    - exit
    linkageType: ''
    returnType: void
    signature: void simple_read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:132,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:135,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress.c:142,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress.c:147,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress.c:151,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:155,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - fd
    - event
    - data
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: basic_read_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - event_del
    - read
    - tt_fail_perror
    - tt_fail_msg
    linkageType: ''
    returnType: void
    signature: void basic_read_cb(evutil_socket_t fd, short event, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: dummy_read_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libevent/test/regress.c:169,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: simple_write_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - strlen
    linkageType: ''
    returnType: void
    signature: void simple_write_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libevent/test/regress.c:186,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:188,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:190,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:197,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:199,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:204,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 207
    functionName: multiple_write_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - exit
    - event_del
    - event_add
    - fprintf
    - shutdown
    linkageType: ''
    returnType: void
    signature: void multiple_write_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:215,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:217,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:220,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:226,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 229
    functionName: multiple_read_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - exit
    - event_del
    - read
    - event_add
    - fprintf
    linkageType: ''
    returnType: void
    signature: void multiple_read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: timeout_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void timeout_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:249,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:251,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:256,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: combined_read_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - read
    - event_add
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void combined_read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress.c:271,1
    - Dst: write
      Src: /src/libevent/test/regress.c:273,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:275,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:277,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:282,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 284
    functionName: combined_write_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - exit
    - memset
    - event_add
    - fprintf
    - shutdown
    linkageType: ''
    returnType: void
    signature: void combined_write_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: setup_test
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setup_test(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: cleanup_test
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cleanup_test()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:301,1
    - Dst: write
      Src: /src/libevent/test/regress.c:303,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:303,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:304,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:307,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:309,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:310,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:311,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:312,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 315
    functionName: test_simpleread
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - exit
    - tt_fail_perror
    - event_set
    - event_add
    - event_dispatch
    - cleanup_test
    - setup_test
    - shutdown
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_simpleread(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:323,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:325,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:326,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:327,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:328,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 331
    functionName: test_simplewrite
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - exit
    - event_set
    - event_dispatch
    - event_add
    - cleanup_test
    - setup_test
    linkageType: ''
    returnType: void
    signature: void test_simplewrite(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: simpleread_multiple_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void simpleread_multiple_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:346,1
    - Dst: write
      Src: /src/libevent/test/regress.c:348,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:348,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:349,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:352,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:354,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:355,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:356,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:357,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:358,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:359,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:360,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 363
    functionName: test_simpleread_multiple
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - exit
    - tt_fail_perror
    - event_set
    - event_add
    - event_dispatch
    - cleanup_test
    - setup_test
    - shutdown
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_simpleread_multiple(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:371,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:372,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - s
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: simpleclose_close_fd_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void simpleclose_close_fd_cb(evutil_socket_t s, short what, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: record_event_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void record_event_cb(evutil_socket_t s, short what, void *ptr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test/regress.c:393,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:400,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress.c:406,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress.c:407,1
    - Dst: strerror
      Src: /src/libevent/test/regress.c:407,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress.c:408,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress.c:409,1
    - Dst: strerror
      Src: /src/libevent/test/regress.c:409,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress.c:410,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress.c:411,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress.c:412,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress.c:413,1
    - Dst: write
      Src: /src/libevent/test/regress.c:417,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/test/regress.c:419,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress.c:420,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress.c:421,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/regress.c:422,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:429,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:431,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:433,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:434,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:436,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:437,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:438,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:439,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:443,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:444,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:445,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:449,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:450,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:452,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:453,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:454,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:458,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:460,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:462,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:464,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:466,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:468,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:470,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:472,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 389
    functionDepth: 6
    functionLinenumber: 389
    functionLinenumberEnd: 473
    functionName: test_simpleclose_rw
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - evutil_socket_geterror
    - event_free
    - evutil_closesocket
    - event_base_new
    - write
    - tt_assert
    - event_base_loop
    - tt_int_op
    - event_new
    - evutil_socketpair
    - event_base_loopexit
    - event_base_free
    - strerror
    - EVUTIL_ERR_RW_RETRIABLE
    - event_add
    - TT_DIE
    - memset
    - TT_BLATHER
    - evutil_make_socket_nonblocking
    linkageType: ''
    returnType: void
    signature: void test_simpleclose_rw(void *ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress.c:482,1
    - Dst: strstr
      Src: /src/libevent/test/regress.c:483,1
    - Dst: event_base_get_features
      Src: /src/libevent/test/regress.c:488,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress.c:489,1
    - Dst: event_base_get_features
      Src: /src/libevent/test/regress.c:492,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress.c:493,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:495,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:496,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:497,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:497,1
    - Dst: strstr
      Src: /src/libevent/test/regress.c:500,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:501,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:501,1
    - Dst: strstr
      Src: /src/libevent/test/regress.c:504,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:505,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:505,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress.c:507,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:515,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:515,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:518,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:518,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:519,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 475
    functionDepth: 6
    functionLinenumber: 475
    functionLinenumberEnd: 524
    functionName: test_simpleclose
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - tt_int_op
    - event_base_loop
    - strstr
    - event_base_get_features
    - tt_abort_msg
    - event_new
    - event_free
    - event_add
    - tt_skip
    - shutdown
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void test_simpleclose(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:533,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:534,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:541,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:542,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:543,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:544,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:545,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:546,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:547,1
    - Dst: memcmp
      Src: /src/libevent/test/regress.c:550,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 526
    functionDepth: 5
    functionLinenumber: 526
    functionLinenumberEnd: 553
    functionName: test_multiple
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - memcmp
    - exit
    - memset
    - event_set
    - event_add
    - event_dispatch
    - cleanup_test
    - setup_test
    linkageType: ''
    returnType: void
    signature: void test_multiple(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:562,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:563,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:570,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:571,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:572,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:573,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:574,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:575,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:576,1
    - Dst: memcmp
      Src: /src/libevent/test/regress.c:579,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 555
    functionDepth: 5
    functionLinenumber: 555
    functionLinenumberEnd: 582
    functionName: test_persistent
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - memcmp
    - exit
    - memset
    - event_set
    - event_add
    - event_dispatch
    - cleanup_test
    - setup_test
    linkageType: ''
    returnType: void
    signature: void test_persistent(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:589,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:590,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:591,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:592,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:593,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:598,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:599,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:600,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:601,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:602,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:602,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:603,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:603,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:604,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:604,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:605,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:605,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:606,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 584
    functionDepth: 5
    functionLinenumber: 584
    functionLinenumberEnd: 613
    functionName: test_combined
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - memset
    - event_set
    - event_add
    - event_dispatch
    - cleanup_test
    - setup_test
    linkageType: ''
    returnType: void
    signature: void test_combined(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:621,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress.c:625,1
    - Dst: evtimer_set
      Src: /src/libevent/test/regress.c:626,1
    - Dst: evtimer_add
      Src: /src/libevent/test/regress.c:627,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:629,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:630,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:631,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 636
    functionName: test_simpletimeout
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - evtimer_set
    - test_timeval_diff_eq
    - event_dispatch
    - evtimer_add
    - evutil_timerclear
    - cleanup_test
    - setup_test
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void test_simpletimeout(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 650
    functionName: periodic_timeout_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void periodic_timeout_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress.c:659,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:662,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:664,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:666,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 669
    functionName: test_persistent_timeout
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_del
    - event_assign
    - event_dispatch
    - event_add
    - evutil_timerclear
    linkageType: ''
    returnType: void
    signature: void test_persistent_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:681,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:682,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress.c:684,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:685,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:686,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:687,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 671
    functionDepth: 4
    functionLinenumber: 671
    functionLinenumberEnd: 691
    functionName: test_persistent_timeout_jump
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - tt_int_op
    - evutil_usleep_
    - event_del
    - event_assign
    - event_add
    - event_base_dispatch
    linkageType: ''
    returnType: void
    signature: void test_persistent_timeout_jump(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_active
      Src: /src/libevent/test/regress.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 704
    functionName: activate_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_active
    linkageType: ''
    returnType: void
    signature: void activate_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 715
    functionName: persist_active_timeout_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void persist_active_timeout_cb(evutil_socket_t fd, short event, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress.c:727,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:731,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:733,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:737,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:741,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:743,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:744,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:746,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:747,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:749,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:750,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:751,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:752,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:753,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:754,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:755,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 758
    functionName: test_persistent_active_timeout
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - tt_int_op
    - memset
    - event_del
    - event_base_once
    - event_assign
    - test_timeval_diff_eq
    - event_add
    - event_base_assert_ok_
    - event_base_dispatch
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void test_persistent_active_timeout(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:772,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: common_timeout_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    - event_del
    linkageType: ''
    returnType: void
    signature: void common_timeout_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/regress.c:794,1
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/regress.c:795,1
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/regress.c:796,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:797,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:798,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:799,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:800,1
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/regress.c:800,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:802,1
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/regress.c:802,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:803,1
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/regress.c:803,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:804,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:805,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:806,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:807,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:808,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:809,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:811,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:815,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:822,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:823,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:826,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:827,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:830,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:831,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:833,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:836,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:840,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:841,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:842,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:844,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:847,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:849,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:851,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:858,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:860,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:865,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 777
    functionDepth: 6
    functionLinenumber: 777
    functionLinenumberEnd: 868
    functionName: test_common_timeout
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_free
    - memset
    - event_base_init_common_timeout
    - event_assign
    - test_timeval_diff_eq
    - event_add
    - tt_ptr_op
    - event_base_assert_ok_
    - event_base_dispatch
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void test_common_timeout(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_del
      Src: /src/libevent/test/regress.c:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 875
    functionDepth: 4
    functionLinenumber: 875
    functionLinenumberEnd: 879
    functionName: fork_signal_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_del
    linkageType: ''
    returnType: void
    signature: void fork_signal_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:888,1
    - Dst: write
      Src: /src/libevent/test/regress.c:889,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:890,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:894,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 901
    functionName: simple_child_read_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - exit
    - read
    - tt_fail_perror
    - event_add
    linkageType: ''
    returnType: void
    signature: void simple_child_read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:933,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress.c:936,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:937,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:938,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress.c:941,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:942,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:943,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:947,1
    - Dst: evthread_make_base_notifiable
      Src: /src/libevent/test/regress.c:948,1
    - Dst: write
      Src: /src/libevent/test/regress.c:950,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:950,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:951,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:954,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:955,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:956,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:958,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:959,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:961,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:962,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:964,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:965,1
    - Dst: regress_fork
      Src: /src/libevent/test/regress.c:966,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:968,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:969,1
    - Dst: event_reinit
      Src: /src/libevent/test/regress.c:970,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:971,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:972,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:974,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:975,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:976,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:978,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:980,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:981,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:982,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:982,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:983,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:983,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:987,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:989,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:994,1
    - Dst: read
      Src: /src/libevent/test/regress.c:998,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:999,1
    - Dst: write
      Src: /src/libevent/test/regress.c:1001,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:1001,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:1002,1
    - Dst: fork_wait_check
      Src: /src/libevent/test/regress.c:1005,1
    - Dst: write
      Src: /src/libevent/test/regress.c:1008,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:1008,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:1009,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:1012,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1014,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1015,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1016,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1016,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1017,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1017,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:1019,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1021,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1022,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1025,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:1027,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:1029,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 926
    functionDepth: 6
    functionLinenumber: 926
    functionLinenumberEnd: 1030
    functionName: test_fork
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_reinit
    - event_base_assert_ok_
    - shutdown
    - regress_fork
    - strlen
    - evutil_closesocket
    - tt_assert
    - write
    - tt_int_op
    - tt_fail_perror
    - event_set
    - evutil_socketpair
    - event_dispatch
    - setup_test
    - getpid
    - fork_wait_check
    - event_base_free
    - read
    - kill
    - event_add
    - cleanup_test
    - evthread_make_base_notifiable
    - evsignal_set
    - exit
    - TT_BLATHER
    - evsignal_del
    - evsignal_add
    - evutil_make_socket_nonblocking
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_fork(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1036
    functionName: signal_cb_sa
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void signal_cb_sa(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1045
    functionName: signal_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - evsignal_del
    linkageType: ''
    returnType: void
    signature: void signal_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_DIE
      Src: /src/libevent/test/regress.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    functionName: signal_alarm_fallback
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - TT_DIE
    linkageType: ''
    returnType: void
    signature: void signal_alarm_fallback(int sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/libevent/test/regress.c:1061,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1063,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1064,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1067,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1068,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:1071,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1074,1
    - Dst: setitimer
      Src: /src/libevent/test/regress.c:1074,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:1076,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1078,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - find_reorder
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1082
    functionName: test_simple_signal_impl
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - setitimer
    - memset
    - evsignal_del
    - evsignal_add
    - event_dispatch
    - cleanup_test
    - evsignal_set
    - signal
    linkageType: ''
    returnType: void
    signature: void test_simple_signal_impl(int find_reorder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:1087,1
    - Dst: test_simple_signal_impl
      Src: /src/libevent/test/regress.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 3
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: test_simple_signal
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - test_simple_signal_impl
    - setup_test
    linkageType: ''
    returnType: void
    signature: void test_simple_signal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:1094,1
    - Dst: test_simple_signal_impl
      Src: /src/libevent/test/regress.c:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1091
    functionDepth: 3
    functionLinenumber: 1091
    functionLinenumberEnd: 1096
    functionName: test_simple_signal_re_order
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - test_simple_signal_impl
    - setup_test
    linkageType: ''
    returnType: void
    signature: void test_simple_signal_re_order(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_free
      Src: /src/libevent/test/regress.c:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1099
    functionDepth: 3
    functionLinenumber: 1099
    functionLinenumberEnd: 1105
    functionName: signal_cb_free_event
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_free
    linkageType: ''
    returnType: void
    signature: void signal_cb_free_event(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsignal_new
      Src: /src/libevent/test/regress.c:1113,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/regress.c:1113,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1114,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1116,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1116,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1117,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1117,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1120,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1106
    functionDepth: 6
    functionLinenumber: 1106
    functionLinenumberEnd: 1127
    functionName: test_signal_free_in_callback
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loop
    - evsignal_new
    - tt_int_op
    - event_self_cbarg
    - kill
    - evsignal_add
    - getpid
    linkageType: ''
    returnType: void
    signature: void test_signal_free_in_callback(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:1135,1
    - Dst: signal
      Src: /src/libevent/test/regress.c:1137,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1139,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1140,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1142,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1143,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:1145,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1148,1
    - Dst: setitimer
      Src: /src/libevent/test/regress.c:1148,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:1150,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1153,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1155,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1159
    functionName: test_multiplesignal
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - setitimer
    - memset
    - evsignal_del
    - evsignal_add
    - event_dispatch
    - cleanup_test
    - setup_test
    - evsignal_set
    - signal
    linkageType: ''
    returnType: void
    signature: void test_multiplesignal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1167,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1168,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1169,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1169,1
    - Dst: event_loop
      Src: /src/libevent/test/regress.c:1170,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1171,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1173
    functionName: test_immediatesignal
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - evsignal_del
    - kill
    - evsignal_add
    - cleanup_test
    - event_loop
    - evsignal_set
    - getpid
    linkageType: ''
    returnType: void
    signature: void test_immediatesignal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1182,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1183,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1183,1
    - Dst: event_loop
      Src: /src/libevent/test/regress.c:1184,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1185,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1186,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1190
    functionName: test_signal_timeout
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evsignal_del
    - evsignal_add
    - cleanup_test
    - event_loop
    - evsignal_set
    linkageType: ''
    returnType: void
    signature: void test_signal_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1197,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1198,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1199,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1200,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1201,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1192
    functionDepth: 6
    functionLinenumber: 1192
    functionLinenumberEnd: 1205
    functionName: test_signal_dealloc
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - event_init
    - evsignal_del
    - evsignal_add
    - cleanup_test
    - evsignal_set
    linkageType: ''
    returnType: void
    signature: void test_signal_dealloc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1214,1
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1216,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1217,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1218,1
    - Dst: close
      Src: /src/libevent/test/regress.c:1219,1
    - Dst: printf
      Src: /src/libevent/test/regress.c:1221,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1207
    functionDepth: 6
    functionLinenumber: 1207
    functionLinenumberEnd: 1227
    functionName: test_signal_pipeloss
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - event_init
    - close
    - cleanup_test
    - printf
    linkageType: ''
    returnType: void
    signature: void test_signal_pipeloss(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1243,1
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1244,1
    - Dst: strcmp
      Src: /src/libevent/test/regress.c:1247,1
    - Dst: event_base_get_signal_method
      Src: /src/libevent/test/regress.c:1247,1
    - Dst: strcmp
      Src: /src/libevent/test/regress.c:1248,1
    - Dst: event_base_get_signal_method
      Src: /src/libevent/test/regress.c:1248,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress.c:1249,1
    - Dst: strcmp
      Src: /src/libevent/test/regress.c:1253,1
    - Dst: event_get_method
      Src: /src/libevent/test/regress.c:1253,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1254,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1255,1
    - Dst: event_base_set
      Src: /src/libevent/test/regress.c:1256,1
    - Dst: event_base_set
      Src: /src/libevent/test/regress.c:1257,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1258,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1259,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:1260,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:1261,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:1264,1
    - Dst: event_get_base
      Src: /src/libevent/test/regress.c:1264,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:1265,1
    - Dst: event_get_base
      Src: /src/libevent/test/regress.c:1265,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1269,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1269,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1270,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1276,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1281,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1282,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1282,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1283,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1284,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1287,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1288,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1237
    functionDepth: 6
    functionLinenumber: 1237
    functionLinenumberEnd: 1290
    functionName: test_signal_switchbase
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loop
    - exit
    - event_base_free
    - event_init
    - event_get_base
    - event_get_method
    - event_base_set
    - event_base_get_signal_method
    - event_add
    - tt_skip
    - tt_ptr_op
    - fprintf
    - kill
    - strcmp
    - evsignal_set
    - cleanup_test
    - getpid
    linkageType: ''
    returnType: void
    signature: void test_signal_switchbase(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1300,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1303,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1304,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1309,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1311,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1311,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1323,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1296
    functionDepth: 6
    functionLinenumber: 1296
    functionLinenumberEnd: 1326
    functionName: test_signal_assert
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - event_init
    - evsignal_del
    - kill
    - evsignal_add
    - cleanup_test
    - evsignal_set
    - getpid
    linkageType: ''
    returnType: void
    signature: void test_signal_assert(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1335,1
    - Dst: sigemptyset
      Src: /src/libevent/test/regress.c:1344,1
    - Dst: sigaction
      Src: /src/libevent/test/regress.c:1345,1
    - Dst: signal
      Src: /src/libevent/test/regress.c:1348,1
    - Dst: evsignal_set
      Src: /src/libevent/test/regress.c:1351,1
    - Dst: evsignal_add
      Src: /src/libevent/test/regress.c:1352,1
    - Dst: evsignal_del
      Src: /src/libevent/test/regress.c:1353,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1355,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1355,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1360,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1331
    functionDepth: 6
    functionLinenumber: 1331
    functionLinenumberEnd: 1363
    functionName: test_signal_restore
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - event_init
    - evsignal_del
    - sigemptyset
    - kill
    - evsignal_add
    - sigaction
    - cleanup_test
    - evsignal_set
    - signal
    - getpid
    linkageType: ''
    returnType: void
    signature: void test_signal_restore(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/libevent/test/regress.c:1370,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1370,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress.c:1372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sig
    - event
    - arg
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1373
    functionName: signal_cb_swp
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - kill
    - event_loopexit
    - getpid
    linkageType: ''
    returnType: void
    signature: void signal_cb_swp(int sig, short event, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evtimer_add
      Src: /src/libevent/test/regress.c:1381,1
    - Dst: kill
      Src: /src/libevent/test/regress.c:1382,1
    - Dst: getpid
      Src: /src/libevent/test/regress.c:1382,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress.c:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1387
    functionName: timeout_cb_swp
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - kill
    - event_loopexit
    - evtimer_add
    - getpid
    linkageType: ''
    returnType: void
    signature: void timeout_cb_swp(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1392,1
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:1396,1
    - Dst: signal_set
      Src: /src/libevent/test/regress.c:1400,1
    - Dst: signal_add
      Src: /src/libevent/test/regress.c:1401,1
    - Dst: evtimer_set
      Src: /src/libevent/test/regress.c:1402,1
    - Dst: evtimer_add
      Src: /src/libevent/test/regress.c:1403,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:1404,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1406,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1389
    functionDepth: 6
    functionLinenumber: 1389
    functionLinenumberEnd: 1409
    functionName: test_signal_while_processing
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - event_init
    - evtimer_set
    - signal_add
    - event_dispatch
    - evtimer_add
    - cleanup_test
    - setup_test
    - signal_set
    linkageType: ''
    returnType: void
    signature: void test_signal_while_processing(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:1419,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:1420,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:1421,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:1423,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress.c:1426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1414
    functionDepth: 2
    functionLinenumber: 1414
    functionLinenumberEnd: 1427
    functionName: del_wait_thread
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - test_timeval_diff_eq
    - evutil_gettimeofday
    - event_dispatch
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN del_wait_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:1433,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress.c:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1436
    functionName: del_wait_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evutil_usleep_
    linkageType: ''
    returnType: void
    signature: void del_wait_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:1444,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:1446,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1447,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress.c:1449,1
    - Dst: write
      Src: /src/libevent/test/regress.c:1451,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:1451,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:1452,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress.c:1457,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:1462,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:1463,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:1464,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:1465,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress.c:1468,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1438
    functionDepth: 5
    functionLinenumber: 1438
    functionLinenumberEnd: 1474
    functionName: test_del_wait
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - tt_int_op
    - evutil_usleep_
    - event_del
    - tt_fail_perror
    - event_set
    - test_timeval_diff_eq
    - event_add
    - setup_test
    - THREAD_START
    - evutil_gettimeofday
    - strlen
    - THREAD_JOIN
    linkageType: ''
    returnType: void
    signature: void test_del_wait(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1476
    functionName: null_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void null_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:1481,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress.c:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1483
    functionName: test_del_notify_thread
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - event_dispatch
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN test_del_notify_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_set
      Src: /src/libevent/test/regress.c:1493,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1494,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress.c:1496,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress.c:1500,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:1503,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress.c:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1485
    functionDepth: 5
    functionLinenumber: 1485
    functionLinenumberEnd: 1505
    functionName: test_del_notify
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_del
    - evutil_usleep_
    - event_set
    - event_add
    - THREAD_START
    - THREAD_JOIN
    linkageType: ''
    returnType: void
    signature: void test_del_notify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1516,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:1517,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1518,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1519,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1520,1
    - Dst: event_init
      Src: /src/libevent/test/regress.c:1522,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:1523,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1524,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1525,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1509
    functionDepth: 6
    functionLinenumber: 1509
    functionLinenumberEnd: 1529
    functionName: test_free_active_base
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_free
    - event_init
    - event_assign
    - event_active
    - event_add
    linkageType: ''
    returnType: void
    signature: void test_free_active_base(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1538,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1541,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1542,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:1542,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1546,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1547,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:1547,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1531
    functionDepth: 4
    functionLinenumber: 1531
    functionLinenumberEnd: 1552
    functionName: test_manipulate_active_events
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_del
    - event_pending
    - event_assign
    - event_active
    linkageType: ''
    returnType: void
    signature: void test_manipulate_active_events(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_get_base
      Src: /src/libevent/test/regress.c:1558,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:1559,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:1560,1
    - Dst: tt_want
      Src: /src/libevent/test/regress.c:1561,1
    - Dst: event_base_get_running_event
      Src: /src/libevent/test/regress.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1554
    functionDepth: 4
    functionLinenumber: 1554
    functionLinenumberEnd: 1562
    functionName: event_selfarg_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - event_get_base
    - event_base_assert_ok_
    - event_base_get_running_event
    - tt_want
    linkageType: ''
    returnType: void
    signature: void event_selfarg_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/libevent/test/regress.c:1569,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/regress.c:1570,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1572,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:1573,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1564
    functionDepth: 5
    functionLinenumber: 1564
    functionLinenumberEnd: 1576
    functionName: test_event_new_selfarg
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_self_cbarg
    - event_new
    - event_free
    - event_active
    - event_base_dispatch
    linkageType: ''
    returnType: void
    signature: void test_event_new_selfarg(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1585,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/regress.c:1586,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1587,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1578
    functionDepth: 4
    functionLinenumber: 1578
    functionLinenumberEnd: 1589
    functionName: test_event_assign_selfarg
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_self_cbarg
    - event_assign
    - event_active
    - event_base_dispatch
    linkageType: ''
    returnType: void
    signature: void test_event_assign_selfarg(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1607,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/regress.c:1608,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1610,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1611,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1613,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1615,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1617,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1619,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1621,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1623,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1627,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1628,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1630,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1631,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1632,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1633,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1634,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1636,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1637,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1639,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1641,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1643,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1645,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1647,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1649,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1653,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1654,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1655,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1656,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1657,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1658,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1659,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1661,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1662,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1664,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1666,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1668,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1670,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1672,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1674,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1678,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1679,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1680,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1681,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1682,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1683,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1684,1
    - Dst: event_base_add_virtual_
      Src: /src/libevent/test/regress.c:1686,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1687,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1689,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1691,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1693,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1695,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1697,1
    - Dst: event_base_get_num_events
      Src: /src/libevent/test/regress.c:1699,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1703,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1704,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1705,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1706,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1707,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1708,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1591
    functionDepth: 6
    functionLinenumber: 1591
    functionLinenumberEnd: 1713
    functionName: test_event_base_get_num_events
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_base_loop
    - event_self_cbarg
    - event_base_add_virtual_
    - event_assign
    - event_base_get_num_events
    - event_add
    - event_active
    linkageType: ''
    returnType: void
    signature: void test_event_base_get_num_events(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1732,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/regress.c:1733,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1734,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/regress.c:1735,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1737,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1738,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:1739,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1741,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1743,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1745,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1747,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1749,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1751,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1753,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1758,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1759,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1761,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1762,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1763,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1764,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1765,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1767,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1768,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1770,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1772,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1774,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1776,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1778,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1780,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1785,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1786,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1787,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1788,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1789,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1790,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1791,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1793,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1794,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1796,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1798,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1800,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1802,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1804,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1806,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1811,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1812,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1813,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1814,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1815,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1816,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1817,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1819,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1821,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1823,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1825,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1826,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1827,1
    - Dst: event_base_add_virtual_
      Src: /src/libevent/test/regress.c:1829,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1830,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1832,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1834,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1836,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1838,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1840,1
    - Dst: event_base_get_max_events
      Src: /src/libevent/test/regress.c:1842,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1847,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1848,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1849,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1850,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1851,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1852,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 74
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1715
    functionDepth: 6
    functionLinenumber: 1715
    functionLinenumberEnd: 1857
    functionName: test_event_base_get_max_events
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_base_loop
    - event_del
    - event_base_get_max_events
    - event_self_cbarg
    - event_base_add_virtual_
    - event_assign
    - event_active
    - event_add
    linkageType: ''
    returnType: void
    signature: void test_event_base_get_max_events(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1865,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1859
    functionDepth: 4
    functionLinenumber: 1859
    functionLinenumberEnd: 1870
    functionName: test_bad_assign
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_assign
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_bad_assign(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1882,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1874
    functionDepth: 6
    functionLinenumber: 1874
    functionLinenumberEnd: 1886
    functionName: bad_reentrant_run_loop_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loop
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void bad_reentrant_run_loop_cb(evutil_socket_t fd, short what, void
      *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1895,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1898,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1899,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1900,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1888
    functionDepth: 6
    functionLinenumber: 1888
    functionLinenumberEnd: 1904
    functionName: test_bad_reentrant
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_assign
    - event_active
    - event_base_loop
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_bad_reentrant(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libevent/test/regress.c:1913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1915
    functionName: write_a_byte_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: void
    signature: void write_a_byte_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:1922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1924
    functionName: read_and_drain_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: void
    signature: void read_and_drain_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_active_later_
      Src: /src/libevent/test/regress.c:1931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - other_
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1926
    functionDepth: 2
    functionLinenumber: 1926
    functionLinenumberEnd: 1932
    functionName: activate_other_event_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_active_later_
    linkageType: ''
    returnType: void
    signature: void activate_other_event_cb(evutil_socket_t fd, short what, void *other_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/libevent/test/regress.c:1941,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:1942,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:1943,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:1944,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1945,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:1946,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1947,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:1948,1
    - Dst: event_active_later_
      Src: /src/libevent/test/regress.c:1949,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:1951,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:1953,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:1955,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:1957,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:1958,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1960,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1961,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1962,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:1963,1
    - Dst: event_active_later_
      Src: /src/libevent/test/regress.c:1965,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:1966,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:1968,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:1969,1
    - Dst: event_active_later_
      Src: /src/libevent/test/regress.c:1973,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:1974,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:1978,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:1980,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:1982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1934
    functionDepth: 6
    functionLinenumber: 1934
    functionLinenumberEnd: 1984
    functionName: test_active_later
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - event_active_later_
    - event_base_loop
    - tt_int_op
    - event_del
    - event_base_free
    - TT_BLATHER
    - event_new
    - event_free
    - event_assign
    - event_active
    - event_add
    - event_base_assert_ok_
    linkageType: ''
    returnType: void
    signature: void test_active_later(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1992
    functionName: incr_arg_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void incr_arg_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_remove_timer
      Src: /src/libevent/test/regress.c:1997,1
    - Dst: event_remove_timer
      Src: /src/libevent/test/regress.c:1998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1993
    functionDepth: 5
    functionLinenumber: 1993
    functionLinenumberEnd: 1999
    functionName: remove_timers_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_remove_timer
    linkageType: ''
    returnType: void
    signature: void remove_timers_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libevent/test/regress.c:2004,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:2005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2006
    functionName: send_a_byte_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - tt_fail_perror
    linkageType: ''
    returnType: void
    signature: void send_a_byte_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:2019,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2020,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:2023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2013
    functionDepth: 4
    functionLinenumber: 2013
    functionLinenumberEnd: 2026
    functionName: read_not_timeout_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - read
    - tt_int_op
    - event_del
    linkageType: ''
    returnType: void
    signature: void read_not_timeout_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:2041,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:2043,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress.c:2045,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress.c:2046,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress.c:2047,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress.c:2048,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2049,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2050,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2051,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2052,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2053,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2054,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2055,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2056,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2057,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2058,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2059,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:2060,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:2062,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2064,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2065,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:2067,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:2069,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:2070,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:2071,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:2072,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:2073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2028
    functionDepth: 5
    functionLinenumber: 2028
    functionLinenumberEnd: 2074
    functionName: test_event_remove_timeout
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evtimer_new
    - event_new
    - event_free
    - event_add
    - event_base_assert_ok_
    - event_base_dispatch
    linkageType: ''
    returnType: void
    signature: void test_event_remove_timeout(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2081
    functionName: test_event_timeout_lost_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_event_timeout_lost_cb(evutil_socket_t fd, short events, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:2090,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:2092,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2093,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2097,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:2100,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress.c:2105,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:2108,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:2109,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:2110,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2112,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:2115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2082
    functionDepth: 6
    functionLinenumber: 2082
    functionLinenumberEnd: 2116
    functionName: test_event_timeout_lost
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loop
    - tt_int_op
    - evutil_usleep_
    - event_new
    - event_free
    - event_active
    - event_add
    - event_base_assert_ok_
    linkageType: ''
    returnType: void
    signature: void test_event_timeout_lost(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:2123,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress.c:2124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2120
    functionDepth: 2
    functionLinenumber: 2120
    functionLinenumberEnd: 2125
    functionName: event_base_dispatch_threadcb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - event_base_dispatch
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN event_base_dispatch_threadcb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/libevent/test/regress.c:2138,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2143,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress.c:2146,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress.c:2152,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:2155,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:2156,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress.c:2157,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:2159,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2161,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:2161,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:2163,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:2166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2129
    functionDepth: 5
    functionLinenumber: 2129
    functionLinenumberEnd: 2167
    functionName: test_del_timeout_notify
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evutil_usleep_
    - event_del
    - event_new
    - timeval_msec_diff
    - event_free
    - event_add
    - event_base_assert_ok_
    - THREAD_START
    - evutil_gettimeofday
    - THREAD_JOIN
    linkageType: ''
    returnType: void
    signature: void test_del_timeout_notify(void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/test/regress.c:2178,1
    - Dst: write
      Src: /src/libevent/test/regress.c:2179,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress.c:2182,1
    - Dst: tt_abort_printf
      Src: /src/libevent/test/regress.c:2184,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:2187,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress.c:2188,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress.c:2190,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress.c:2192,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:2197,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2200,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress.c:2201,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:2203,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress.c:2204,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2170
    functionDepth: 6
    functionLinenumber: 2170
    functionLinenumberEnd: 2209
    functionName: test_event_base_new
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - event_base_loop
    - event_base_free
    - tt_abort_printf
    - tt_abort_msg
    - event_assign
    - event_add
    - shutdown
    - tt_abort_perror
    - strlen
    - event_base_new
    linkageType: ''
    returnType: void
    signature: void test_event_base_new(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:2217,1
    - Dst: evtimer_set
      Src: /src/libevent/test/regress.c:2221,1
    - Dst: evtimer_add
      Src: /src/libevent/test/regress.c:2222,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress.c:2226,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:2228,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:2229,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:2230,1
    - Dst: evtimer_del
      Src: /src/libevent/test/regress.c:2232,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2234,1
    - Dst: event_base_got_exit
      Src: /src/libevent/test/regress.c:2234,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2235,1
    - Dst: event_base_got_break
      Src: /src/libevent/test/regress.c:2235,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:2237,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:2241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2211
    functionDepth: 2
    functionLinenumber: 2211
    functionLinenumberEnd: 2242
    functionName: test_loopexit
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_got_exit
    - event_base_got_break
    - event_loopexit
    - evtimer_set
    - test_timeval_diff_eq
    - event_dispatch
    - evtimer_add
    - cleanup_test
    - setup_test
    - evutil_gettimeofday
    - evtimer_del
    linkageType: ''
    returnType: void
    signature: void test_loopexit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:2250,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress.c:2252,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2254,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:2258,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:2262,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:2264,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:2265,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:2266,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2268,1
    - Dst: event_base_got_exit
      Src: /src/libevent/test/regress.c:2268,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2269,1
    - Dst: event_base_got_break
      Src: /src/libevent/test/regress.c:2269,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2271,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:2273,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2244
    functionDepth: 6
    functionLinenumber: 2244
    functionLinenumberEnd: 2279
    functionName: test_loopexit_multiple
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - event_base_free
    - event_base_got_exit
    - event_base_got_break
    - test_timeval_diff_eq
    - cleanup_test
    - event_base_dispatch
    - setup_test
    - evutil_gettimeofday
    - event_base_new
    linkageType: ''
    returnType: void
    signature: void test_loopexit_multiple(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_loopbreak
      Src: /src/libevent/test/regress.c:2285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2281
    functionDepth: 2
    functionLinenumber: 2281
    functionLinenumberEnd: 2286
    functionName: break_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_loopbreak
    linkageType: ''
    returnType: void
    signature: void break_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2292
    functionName: fail_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fail_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:2300,1
    - Dst: evtimer_set
      Src: /src/libevent/test/regress.c:2304,1
    - Dst: evtimer_add
      Src: /src/libevent/test/regress.c:2305,1
    - Dst: evtimer_set
      Src: /src/libevent/test/regress.c:2306,1
    - Dst: evtimer_add
      Src: /src/libevent/test/regress.c:2307,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:2309,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2311,1
    - Dst: event_base_got_exit
      Src: /src/libevent/test/regress.c:2311,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2312,1
    - Dst: event_base_got_break
      Src: /src/libevent/test/regress.c:2312,1
    - Dst: evtimer_del
      Src: /src/libevent/test/regress.c:2314,1
    - Dst: evtimer_del
      Src: /src/libevent/test/regress.c:2315,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:2318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2294
    functionDepth: 2
    functionLinenumber: 2294
    functionLinenumberEnd: 2319
    functionName: test_loopbreak
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_got_exit
    - event_base_got_break
    - evtimer_set
    - event_dispatch
    - evtimer_add
    - cleanup_test
    - setup_test
    - evtimer_del
    linkageType: ''
    returnType: void
    signature: void test_loopbreak(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:2331,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:2334,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/regress.c:2335,1
    - Dst: event_get_base
      Src: /src/libevent/test/regress.c:2335,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2322
    functionDepth: 4
    functionLinenumber: 2322
    functionLinenumberEnd: 2340
    functionName: re_add_read_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - read
    - event_get_base
    - tt_fail_perror
    - event_add
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void re_add_read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress.c:2347,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:2348,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2350,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:2350,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2351,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:2351,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2353,1
    - Dst: write
      Src: /src/libevent/test/regress.c:2353,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2354,1
    - Dst: write
      Src: /src/libevent/test/regress.c:2354,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2356,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2356,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2357,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2357,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2358,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:2358,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2359,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2366,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2368,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:2368,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:2368,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2370,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:2370,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:2370,1
    - Dst: event_initialized
      Src: /src/libevent/test/regress.c:2374,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:2375,1
    - Dst: event_initialized
      Src: /src/libevent/test/regress.c:2376,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:2377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - _data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2341
    functionDepth: 6
    functionLinenumber: 2341
    functionLinenumberEnd: 2378
    functionName: test_nonpersist_readd
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - write
    - tt_int_op
    - event_base_loop
    - memset
    - event_del
    - event_pending
    - event_assign
    - event_add
    - event_initialized
    linkageType: ''
    returnType: void
    signature: void test_nonpersist_readd(void *_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_loopexit
      Src: /src/libevent/test/regress.c:2392,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress.c:2398,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2385
    functionDepth: 3
    functionLinenumber: 2385
    functionLinenumberEnd: 2400
    functionName: test_priorities_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_loopexit
    - event_add
    - evutil_timerclear
    linkageType: ''
    returnType: void
    signature: void test_priorities_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:2408,1
    - Dst: event_base_priority_init
      Src: /src/libevent/test/regress.c:2410,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:2412,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:2413,1
    - Dst: timeout_set
      Src: /src/libevent/test/regress.c:2415,1
    - Dst: event_priority_set
      Src: /src/libevent/test/regress.c:2416,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:2417,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:2418,1
    - Dst: timeout_set
      Src: /src/libevent/test/regress.c:2421,1
    - Dst: event_priority_set
      Src: /src/libevent/test/regress.c:2422,1
    - Dst: fprintf
      Src: /src/libevent/test/regress.c:2423,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:2424,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress.c:2427,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2429,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:2430,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2431,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:2432,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:2434,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:2436,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:2437,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - npriorities
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2402
    functionDepth: 4
    functionLinenumber: 2402
    functionLinenumberEnd: 2450
    functionName: test_priorities_impl
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - exit
    - memset
    - event_del
    - event_base_priority_init
    - timeout_set
    - TT_BLATHER
    - event_add
    - evutil_timerclear
    - event_dispatch
    - fprintf
    - event_priority_set
    linkageType: ''
    returnType: void
    signature: void test_priorities_impl(int npriorities)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_priorities_impl
      Src: /src/libevent/test/regress.c:2455,1
    - Dst: test_priorities_impl
      Src: /src/libevent/test/regress.c:2457,1
    - Dst: test_priorities_impl
      Src: /src/libevent/test/regress.c:2459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2452
    functionDepth: 5
    functionLinenumber: 2452
    functionLinenumberEnd: 2460
    functionName: test_priorities
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - test_priorities_impl
    linkageType: ''
    returnType: void
    signature: void test_priorities(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_active
      Src: /src/libevent/test/regress.c:2475,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:2478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2467
    functionDepth: 4
    functionLinenumber: 2467
    functionLinenumberEnd: 2480
    functionName: prio_active_inversion_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_active
    linkageType: ''
    returnType: void
    signature: void prio_active_inversion_cb(evutil_socket_t fd, short what, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2489,1
    - Dst: event_base_priority_init
      Src: /src/libevent/test/regress.c:2489,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:2492,1
    - Dst: event_assign
      Src: /src/libevent/test/regress.c:2495,1
    - Dst: event_priority_set
      Src: /src/libevent/test/regress.c:2499,1
    - Dst: event_priority_set
      Src: /src/libevent/test/regress.c:2500,1
    - Dst: event_priority_set
      Src: /src/libevent/test/regress.c:2501,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:2503,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:2505,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2506,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2507,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2508,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2482
    functionDepth: 4
    functionLinenumber: 2482
    functionLinenumberEnd: 2512
    functionName: test_priority_active_inversion
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - memset
    - event_base_priority_init
    - event_assign
    - event_active
    - event_base_dispatch
    - event_priority_set
    linkageType: ''
    returnType: void
    signature: void test_priority_active_inversion(void *data_)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2522
    functionName: test_multiple_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_multiple_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:2529,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:2531,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2532,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:2533,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2534,1
    - Dst: event_loop
      Src: /src/libevent/test/regress.c:2535,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:2536,1
    - Dst: write
      Src: /src/libevent/test/regress.c:2538,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:2538,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:2539,1
    - Dst: event_loop
      Src: /src/libevent/test/regress.c:2542,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:2543,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:2548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2524
    functionDepth: 5
    functionLinenumber: 2524
    functionLinenumberEnd: 2549
    functionName: test_multiple_events_for_same_fd
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - event_del
    - tt_fail_perror
    - event_set
    - event_add
    - cleanup_test
    - setup_test
    - event_loop
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_multiple_events_for_same_fd(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libevent/test/regress.c:2562,1
    - Dst: write
      Src: /src/libevent/test/regress.c:2568,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:2568,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:2569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2556
    functionDepth: 0
    functionLinenumber: 2556
    functionLinenumberEnd: 2577
    functionName: read_once_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - read
    - strlen
    - tt_fail_perror
    linkageType: ''
    returnType: void
    signature: void read_once_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_test
      Src: /src/libevent/test/regress.c:2586,1
    - Dst: write
      Src: /src/libevent/test/regress.c:2588,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:2588,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:2589,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress.c:2593,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress.c:2595,1
    - Dst: event_set
      Src: /src/libevent/test/regress.c:2597,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:2598,1
    - Dst: exit
      Src: /src/libevent/test/regress.c:2599,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress.c:2600,1
    - Dst: cleanup_test
      Src: /src/libevent/test/regress.c:2602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2579
    functionDepth: 5
    functionLinenumber: 2579
    functionLinenumberEnd: 2603
    functionName: test_want_only_once
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - exit
    - tt_fail_perror
    - event_loopexit
    - event_set
    - event_add
    - evutil_timerclear
    - event_dispatch
    - cleanup_test
    - setup_test
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_want_only_once(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress.c:2610,1
    - Dst: evtag_init
      Src: /src/libevent/test/regress.c:2618,1
    - Dst: EVBUFFER_LENGTH
      Src: /src/libevent/test/regress.c:2622,1
    - Dst: evtag_encode_int
      Src: /src/libevent/test/regress.c:2623,1
    - Dst: EVBUFFER_LENGTH
      Src: /src/libevent/test/regress.c:2624,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:2625,1
    - Dst: evtag_encode_int64
      Src: /src/libevent/test/regress.c:2629,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2633,1
    - Dst: evtag_decode_int
      Src: /src/libevent/test/regress.c:2633,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress.c:2634,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2635,1
    - Dst: evtag_decode_int64
      Src: /src/libevent/test/regress.c:2635,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2636,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress.c:2639,1
    - Dst: EVBUFFER_LENGTH
      Src: /src/libevent/test/regress.c:2639,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress.c:2641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2607
    functionDepth: 8
    functionLinenumber: 2607
    functionLinenumberEnd: 2642
    functionName: evtag_int_test
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evtag_encode_int
    - tt_int_op
    - evtag_init
    - evtag_decode_int
    - EVBUFFER_LENGTH
    - TT_BLATHER
    - evbuffer_free
    - evtag_encode_int64
    - evbuffer_new
    - evtag_decode_int64
    - tt_uint_op
    linkageType: ''
    returnType: void
    signature: void evtag_int_test(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress.c:2648,1
    - Dst: evtag_init
      Src: /src/libevent/test/regress.c:2654,1
    - Dst: test_weakrand
      Src: /src/libevent/test/regress.c:2658,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress.c:2659,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress.c:2660,1
    - Dst: evtag_unmarshal_timeval
      Src: /src/libevent/test/regress.c:2662,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2667,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress.c:2670,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress.c:2671,1
    - Dst: evtag_marshal_timeval
      Src: /src/libevent/test/regress.c:2673,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress.c:2674,1
    - Dst: EVBUFFER_DATA
      Src: /src/libevent/test/regress.c:2676,1
    - Dst: evtag_unmarshal_timeval
      Src: /src/libevent/test/regress.c:2677,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress.c:2678,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress.c:2682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2644
    functionDepth: 10
    functionLinenumber: 2644
    functionLinenumberEnd: 2683
    functionName: evtag_fuzz
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evtag_init
    - evbuffer_drain
    - tt_abort_msg
    - evtag_marshal_timeval
    - evbuffer_free
    - evtag_unmarshal_timeval
    - EVBUFFER_DATA
    - evutil_timerclear
    - evbuffer_new
    - evbuffer_add
    - test_weakrand
    linkageType: ''
    returnType: void
    signature: void evtag_fuzz(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress.c:2688,1
    - Dst: evtag_init
      Src: /src/libevent/test/regress.c:2695,1
    - Dst: EVBUFFER_LENGTH
      Src: /src/libevent/test/regress.c:2699,1
    - Dst: evtag_encode_tag
      Src: /src/libevent/test/regress.c:2700,1
    - Dst: EVBUFFER_LENGTH
      Src: /src/libevent/test/regress.c:2701,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:2702,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2707,1
    - Dst: evtag_decode_tag
      Src: /src/libevent/test/regress.c:2707,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress.c:2708,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress.c:2711,1
    - Dst: EVBUFFER_LENGTH
      Src: /src/libevent/test/regress.c:2711,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress.c:2714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2685
    functionDepth: 8
    functionLinenumber: 2685
    functionLinenumberEnd: 2715
    functionName: evtag_tag_encoding
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evtag_init
    - evtag_encode_tag
    - EVBUFFER_LENGTH
    - TT_BLATHER
    - evbuffer_free
    - evtag_decode_tag
    - evbuffer_new
    - tt_uint_op
    linkageType: ''
    returnType: void
    signature: void evtag_tag_encoding(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress.c:2720,1
    - Dst: evtag_marshal_int
      Src: /src/libevent/test/regress.c:2723,1
    - Dst: evtag_marshal_string
      Src: /src/libevent/test/regress.c:2724,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2726,1
    - Dst: evtag_peek
      Src: /src/libevent/test/regress.c:2726,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2727,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2728,1
    - Dst: evtag_peek_length
      Src: /src/libevent/test/regress.c:2728,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2729,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2730,1
    - Dst: evtag_consume
      Src: /src/libevent/test/regress.c:2730,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2732,1
    - Dst: evtag_peek
      Src: /src/libevent/test/regress.c:2732,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2733,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2734,1
    - Dst: evtag_peek_length
      Src: /src/libevent/test/regress.c:2734,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2735,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2736,1
    - Dst: evtag_payload_length
      Src: /src/libevent/test/regress.c:2736,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2737,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress.c:2740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2717
    functionDepth: 10
    functionLinenumber: 2717
    functionLinenumberEnd: 2741
    functionName: evtag_test_peek
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evtag_peek_length
    - evtag_payload_length
    - evbuffer_free
    - evtag_marshal_int
    - evtag_consume
    - evbuffer_new
    - evtag_peek
    - evtag_marshal_string
    linkageType: ''
    returnType: void
    signature: void evtag_test_peek(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: event_get_supported_methods
      Src: /src/libevent/test/regress.c:2747,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2753,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:2757,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:2762,1
    - Dst: assert
      Src: /src/libevent/test/regress.c:2763,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2765,1
    - Dst: event_config_avoid_method
      Src: /src/libevent/test/regress.c:2765,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/regress.c:2766,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:2768,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2770,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress.c:2771,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:2771,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2773,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2778,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:2780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (cfg != NULL)
      pos:
        line_end: 2762
        line_start: 2762
        source_file: /src/libevent/test/regress.c
    constantsTouched: []
    func_position:
      end: 2781
      start: 2744
    functionDepth: 6
    functionLinenumber: 2744
    functionLinenumberEnd: 2781
    functionName: test_methods
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_free
    - event_base_new_with_config
    - TT_BLATHER
    - event_config_set_flag
    - event_config_free
    - event_get_supported_methods
    - event_base_get_method
    - event_config_new
    - tt_str_op
    - event_config_avoid_method
    - assert
    linkageType: ''
    returnType: void
    signature: void test_methods(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_get_version
      Src: /src/libevent/test/regress.c:2790,1
    - Dst: event_get_version_number
      Src: /src/libevent/test/regress.c:2791,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2793,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2794,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress.c:2796,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2797,1
    - Dst: sscanf
      Src: /src/libevent/test/regress.c:2799,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2800,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2783
    functionDepth: 1
    functionLinenumber: 2783
    functionLinenumberEnd: 2804
    functionName: test_version
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_get_version
    - event_get_version_number
    - tt_str_op
    - sscanf
    linkageType: ''
    returnType: void
    signature: void test_version(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:2812,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2814,1
    - Dst: event_config_require_features
      Src: /src/libevent/test/regress.c:2814,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:2816,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2818,1
    - Dst: event_base_get_features
      Src: /src/libevent/test/regress.c:2819,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress.c:2821,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2822,1
    - Dst: event_base_get_features
      Src: /src/libevent/test/regress.c:2822,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2827,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:2829,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2806
    functionDepth: 6
    functionLinenumber: 2806
    functionLinenumberEnd: 2830
    functionName: test_base_features
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_free
    - event_base_get_features
    - event_base_new_with_config
    - event_config_free
    - event_config_require_features
    - event_config_new
    - event_base_new
    linkageType: ''
    returnType: void
    signature: void test_base_features(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress.c:2838,1
    - Dst: putenv
      Src: /src/libevent/test/regress.c:2839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - k
    - v
    - o_
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2835
    functionDepth: 2
    functionLinenumber: 2835
    functionLinenumberEnd: 2840
    functionName: setenv
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - putenv
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void setenv(const char *k, const char *v, int o_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress.c:2850,1
    - Dst: putenv
      Src: /src/libevent/test/regress.c:2851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - k
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2852
      start: 2847
    functionDepth: 2
    functionLinenumber: 2847
    functionLinenumberEnd: 2852
    functionName: unsetenv
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - putenv
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void unsetenv(const char *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress.c:2861,1
    - Dst: EVUTIL_TOUPPER_
      Src: /src/libevent/test/regress.c:2863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mname
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2857
    functionDepth: 2
    functionLinenumber: 2857
    functionLinenumberEnd: 2865
    functionName: methodname_to_envvar
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - EVUTIL_TOUPPER_
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void methodname_to_envvar(const char *mname, char *buf, size_t buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/libevent/test/regress.c:2881,1
    - Dst: unsetenv
      Src: /src/libevent/test/regress.c:2882,1
    - Dst: getenv
      Src: /src/libevent/test/regress.c:2883,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress.c:2885,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress.c:2887,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress.c:2889,1
    - Dst: event_get_supported_methods
      Src: /src/libevent/test/regress.c:2892,1
    - Dst: methodname_to_envvar
      Src: /src/libevent/test/regress.c:2894,1
    - Dst: unsetenv
      Src: /src/libevent/test/regress.c:2895,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress.c:2899,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2900,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:2902,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress.c:2903,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2904,1
    - Dst: strcmp
      Src: /src/libevent/test/regress.c:2908,1
    - Dst: setenv
      Src: /src/libevent/test/regress.c:2909,1
    - Dst: methodname_to_envvar
      Src: /src/libevent/test/regress.c:2912,1
    - Dst: setenv
      Src: /src/libevent/test/regress.c:2913,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:2918,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:2919,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:2920,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2923,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2925,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress.c:2926,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:2926,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2927,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:2932,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/regress.c:2933,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:2934,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:2935,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress.c:2936,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:2936,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress.c:2938,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:2943,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:2945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2868
    functionDepth: 6
    functionLinenumber: 2868
    functionLinenumberEnd: 2946
    functionName: test_base_environ
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_free
    - methodname_to_envvar
    - unsetenv
    - TT_DECLARE
    - event_base_new_with_config
    - TT_BLATHER
    - setenv
    - event_config_free
    - event_config_set_flag
    - event_get_supported_methods
    - event_base_new
    - event_base_get_method
    - tt_skip
    - strcmp
    - event_config_new
    - tt_str_op
    - getenv
    linkageType: ''
    returnType: void
    signature: void test_base_environ(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2948
    functionDepth: 0
    functionLinenumber: 2948
    functionLinenumberEnd: 2955
    functionName: read_called_once_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void read_called_once_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2957
    functionDepth: 0
    functionLinenumber: 2957
    functionLinenumberEnd: 2964
    functionName: timeout_called_once_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void timeout_called_once_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2973
    functionName: immediate_called_twice_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void immediate_called_twice_cb(evutil_socket_t fd, short event, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2985,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2987,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2988,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2990,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2991,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2992,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2993,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:2995,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:2998,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3000,1
    - Dst: write
      Src: /src/libevent/test/regress.c:3002,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:3002,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress.c:3003,1
    - Dst: shutdown
      Src: /src/libevent/test/regress.c:3006,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:3008,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2975
    functionDepth: 2
    functionLinenumber: 2975
    functionLinenumberEnd: 3013
    functionName: test_event_once
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - tt_int_op
    - event_base_once
    - tt_fail_perror
    - event_base_dispatch
    - shutdown
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_event_once(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_once
      Src: /src/libevent/test/regress.c:3025,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress.c:3031,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:3033,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3015
    functionDepth: 2
    functionLinenumber: 3015
    functionLinenumberEnd: 3038
    functionName: test_event_once_never
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - event_base_dispatch
    - tt_int_op
    - event_base_once
    linkageType: ''
    returnType: void
    signature: void test_event_once_never(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3049,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3051,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress.c:3053,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3055,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3056,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3057,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:3059,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3060,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3061,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3063,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3063,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3064,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3064,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3065,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3065,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3066,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3066,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3067,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3067,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3068,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3068,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3069,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3069,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3071,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress.c:3071,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress.c:3073,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3077,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3078,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3081,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3082,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3085,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3040
    functionDepth: 5
    functionLinenumber: 3040
    functionLinenumberEnd: 3088
    functionName: test_event_pending
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evutil_timercmp
    - evtimer_new
    - event_del
    - event_new
    - event_pending
    - event_free
    - test_timeval_diff_eq
    - event_add
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void test_event_pending(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - e
    - data
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3094
    functionName: dfd_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dfd_cb(evutil_socket_t fd, short e, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress.c:3104,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress.c:3104,1
    - Dst: tinytest_set_test_skipped_
      Src: /src/libevent/test/regress.c:3105,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3109,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3110,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3114,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3115,1
    - Dst: event_pending
      Src: /src/libevent/test/regress.c:3115,1
    - Dst: close
      Src: /src/libevent/test/regress.c:3116,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3118,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3119,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3123,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3096
    functionDepth: 6
    functionLinenumber: 3096
    functionLinenumberEnd: 3126
    functionName: test_event_closed_fd_poll
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loop
    - tt_int_op
    - event_del
    - event_new
    - close
    - event_pending
    - event_free
    - event_base_get_method
    - event_add
    - strcmp
    - tinytest_set_test_skipped_
    linkageType: ''
    returnType: void
    signature: void test_event_closed_fd_poll(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3143,1
    - Dst: write
      Src: /src/libevent/test/regress.c:3143,1
    - Dst: strlen
      Src: /src/libevent/test/regress.c:3144,1
    - Dst: dup
      Src: /src/libevent/test/regress.c:3147,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3148,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3150,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3151,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3152,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3153,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3155,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3156,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3157,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3158,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3159,1
    - Dst: close
      Src: /src/libevent/test/regress.c:3164,1
    - Dst: event_del
      Src: /src/libevent/test/regress.c:3165,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3167,1
    - Dst: tt_want_int_op
      Src: /src/libevent/test/regress.c:3168,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3169,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3176,1
    - Dst: dup2
      Src: /src/libevent/test/regress.c:3176,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3177,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3178,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3179,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3180,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3182,1
    - Dst: tt_want_int_op
      Src: /src/libevent/test/regress.c:3183,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3184,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3188,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3190,1
    - Dst: close
      Src: /src/libevent/test/regress.c:3192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3134
    functionDepth: 6
    functionLinenumber: 3134
    functionLinenumberEnd: 3193
    functionName: test_dup_fd
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - write
    - tt_assert
    - tt_int_op
    - event_base_loop
    - event_del
    - tt_want_int_op
    - event_new
    - close
    - dup
    - dup2
    - event_free
    - event_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_dup_fd(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinytest_set_test_skipped_
      Src: /src/libevent/test/regress.c:3200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3201
    functionName: test_mm_functions
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tinytest_set_test_skipped_
    linkageType: ''
    returnType: void
    signature: void test_mm_functions(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libevent/test/regress.c:3208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3209
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3209
    functionName: check_dummy_mem_ok
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int check_dummy_mem_ok(void *mem_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress.c:3214,1
    - Dst: memcpy
      Src: /src/libevent/test/regress.c:3215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3211
    functionDepth: 1
    functionLinenumber: 3211
    functionLinenumberEnd: 3217
    functionName: dummy_malloc
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      dummy_malloc(size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dummy_malloc
      Src: /src/libevent/test/regress.c:3224,1
    - Dst: tt_want
      Src: /src/libevent/test/regress.c:3225,1
    - Dst: check_dummy_mem_ok
      Src: /src/libevent/test/regress.c:3225,1
    - Dst: realloc
      Src: /src/libevent/test/regress.c:3227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mem_
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3219
    functionDepth: 2
    functionLinenumber: 3219
    functionLinenumberEnd: 3229
    functionName: dummy_realloc
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - realloc
    - tt_want
    - dummy_malloc
    - check_dummy_mem_ok
    linkageType: ''
    returnType: void
    signature: 'void *

      dummy_realloc(void *mem_, size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_want
      Src: /src/libevent/test/regress.c:3235,1
    - Dst: check_dummy_mem_ok
      Src: /src/libevent/test/regress.c:3235,1
    - Dst: free
      Src: /src/libevent/test/regress.c:3237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3231
    functionDepth: 1
    functionLinenumber: 3231
    functionLinenumberEnd: 3238
    functionName: dummy_free
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - free
    - tt_want
    - check_dummy_mem_ok
    linkageType: ''
    returnType: void
    signature: void dummy_free(void *mem_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress.c:3245,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:3246,1
    - Dst: event_config_avoid_method
      Src: /src/libevent/test/regress.c:3247,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:3248,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3249,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3250,1
    - Dst: check_dummy_mem_ok
      Src: /src/libevent/test/regress.c:3250,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:3253,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:3255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3240
    functionDepth: 6
    functionLinenumber: 3240
    functionLinenumberEnd: 3256
    functionName: test_mm_functions
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_set_mem_functions
    - event_base_free
    - event_base_new_with_config
    - event_config_free
    - check_dummy_mem_ok
    - event_config_new
    - event_config_avoid_method
    linkageType: ''
    returnType: void
    signature: void test_mm_functions(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3264
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3264
    functionName: many_event_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void many_event_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress.c:3288,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:3289,1
    - Dst: memset
      Src: /src/libevent/test/regress.c:3290,1
    - Dst: socket
      Src: /src/libevent/test/regress.c:3296,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3297,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3298,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress.c:3298,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3300,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3302,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3303,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3305,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3308,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3312,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3314,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3320,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress.c:3322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3266
    functionDepth: 6
    functionLinenumber: 3266
    functionLinenumberEnd: 3325
    functionName: test_many_events
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loop
    - tt_int_op
    - memset
    - socket
    - event_new
    - event_free
    - event_add
    - evutil_make_socket_nonblocking
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void test_many_events(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3330,1
    - Dst: event_get_struct_event_size
      Src: /src/libevent/test/regress.c:3330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3327
    functionDepth: 1
    functionLinenumber: 3327
    functionLinenumberEnd: 3333
    functionName: test_struct_event_size
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_get_struct_event_size
    linkageType: ''
    returnType: void
    signature: void test_struct_event_size(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3349,1
    - Dst: event_get_assignment
      Src: /src/libevent/test/regress.c:3350,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3352,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress.c:3353,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3354,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3355,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3356,1
    - Dst: event_get_assignment
      Src: /src/libevent/test/regress.c:3359,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3335
    functionDepth: 5
    functionLinenumber: 3335
    functionLinenumberEnd: 3364
    functionName: test_get_assignment
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_new
    - event_get_assignment
    - event_free
    - tt_ptr_op
    - tt_fd_op
    linkageType: ''
    returnType: void
    signature: void test_get_assignment(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_get_callback_arg
      Src: /src/libevent/test/regress.c:3374,1
    - Dst: event_get_callback
      Src: /src/libevent/test/regress.c:3376,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3378,1
    - Dst: event_get_base
      Src: /src/libevent/test/regress.c:3378,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - base
    - ev
    - arg
    argTypes:
    - struct event_base*
    - struct event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3371
    functionDepth: 4
    functionLinenumber: 3371
    functionLinenumberEnd: 3385
    functionName: foreach_count_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_get_callback
    - event_get_base
    - tt_ptr_op
    - event_get_callback_arg
    linkageType: ''
    returnType: int
    signature: int foreach_count_cb(const struct event_base *base, const struct event
      *ev, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_get_callback_arg
      Src: /src/libevent/test/regress.c:3391,1
    - Dst: event_get_callback
      Src: /src/libevent/test/regress.c:3392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - base
    - ev
    - arg
    argTypes:
    - struct event_base*
    - struct event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3387
    functionDepth: 4
    functionLinenumber: 3387
    functionLinenumberEnd: 3399
    functionName: foreach_find_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_get_callback_arg
    - event_get_callback
    linkageType: ''
    returnType: int
    signature: int foreach_find_cb(const struct event_base *base, const struct event
      *ev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3415,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3416,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3419,1
    - Dst: event_base_foreach_event
      Src: /src/libevent/test/regress.c:3419,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3420,1
    - Dst: event_base_foreach_event
      Src: /src/libevent/test/regress.c:3420,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3422,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3423,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:3424,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:3425,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3426,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3429,1
    - Dst: event_base_foreach_event
      Src: /src/libevent/test/regress.c:3429,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3431,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3432,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3433,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3434,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3435,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3436,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3437,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3438,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3441,1
    - Dst: event_base_foreach_event
      Src: /src/libevent/test/regress.c:3441,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress.c:3443,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3449
      start: 3401
    functionDepth: 5
    functionLinenumber: 3401
    functionLinenumberEnd: 3449
    functionName: test_event_foreach
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_new
    - event_free
    - event_active
    - event_add
    - tt_ptr_op
    - event_base_foreach_event
    linkageType: ''
    returnType: void
    signature: void test_event_foreach(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3458,1
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/test/regress.c:3458,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress.c:3461,1
    - Dst: event_base_update_cache_time
      Src: /src/libevent/test/regress.c:3464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3454
    functionDepth: 4
    functionLinenumber: 3454
    functionLinenumberEnd: 3468
    functionName: cache_time_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - event_base_update_cache_time
    - tt_int_op
    - evutil_usleep_
    - event_base_gettimeofday_cached
    linkageType: ''
    returnType: void
    signature: void cache_time_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress.c:3478,1
    - Dst: event_config_new
      Src: /src/libevent/test/regress.c:3480,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/regress.c:3482,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress.c:3484,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3485,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress.c:3488,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3489,1
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/test/regress.c:3489,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3490,1
    - Dst: event_base_gettimeofday_cached
      Src: /src/libevent/test/regress.c:3490,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3491,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3491,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3492,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3492,1
    - Dst: strstr
      Src: /src/libevent/test/regress.c:3494,1
    - Dst: strstr
      Src: /src/libevent/test/regress.c:3495,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3497,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3498,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3499,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:3501,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:3502,1
    - Dst: event_active
      Src: /src/libevent/test/regress.c:3503,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress.c:3505,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3508,1
    - Dst: labs
      Src: /src/libevent/test/regress.c:3508,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3508,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3509,1
    - Dst: labs
      Src: /src/libevent/test/regress.c:3509,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3509,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3511,1
    - Dst: labs
      Src: /src/libevent/test/regress.c:3511,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3511,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3512,1
    - Dst: labs
      Src: /src/libevent/test/regress.c:3512,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress.c:3512,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3514,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress.c:3514,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3515,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress.c:3515,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3520,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3522,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3524,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress.c:3526,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress.c:3528,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3529
      start: 3470
    functionDepth: 6
    functionLinenumber: 3470
    functionLinenumberEnd: 3529
    functionName: test_gettimeofday_cached
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - labs
    - tt_int_op
    - evutil_timercmp
    - event_base_free
    - strstr
    - event_base_gettimeofday_cached
    - event_base_new_with_config
    - event_new
    - event_config_set_flag
    - timeval_msec_diff
    - event_free
    - event_config_free
    - event_active
    - event_base_dispatch
    - event_config_new
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void test_gettimeofday_cached(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3537
    functionName: tabf_cb
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tabf_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evsignal_new
      Src: /src/libevent/test/regress.c:3551,1
    - Dst: evsignal_new
      Src: /src/libevent/test/regress.c:3552,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3553,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3554,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3555,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3556,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3557,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3558,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3560,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3561,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3562,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3563,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3564,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3565,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3566,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3567,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3571,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3572,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3574,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3539
    functionDepth: 5
    functionLinenumber: 3539
    functionLinenumberEnd: 3577
    functionName: test_evmap_invalid_slots
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evsignal_new
    - event_new
    - event_free
    - event_add
    linkageType: ''
    returnType: void
    signature: void test_evmap_invalid_slots(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: event_base_active_by_fd
      Src: /src/libevent/test/regress.c:3593,1
    - Dst: event_base_active_by_fd
      Src: /src/libevent/test/regress.c:3596,1
    - Dst: event_base_active_by_signal
      Src: /src/libevent/test/regress.c:3599,1
    - Dst: event_base_active_by_signal
      Src: /src/libevent/test/regress.c:3600,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:3602,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3605,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3606,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3607,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3608,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3609,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3610,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3611,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3612,1
    - Dst: event_new
      Src: /src/libevent/test/regress.c:3614,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress.c:3615,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3616,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3619,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3620,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3621,1
    - Dst: event_add
      Src: /src/libevent/test/regress.c:3622,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:3625,1
    - Dst: event_base_active_by_fd
      Src: /src/libevent/test/regress.c:3628,1
    - Dst: event_base_active_by_fd
      Src: /src/libevent/test/regress.c:3629,1
    - Dst: event_base_active_by_fd
      Src: /src/libevent/test/regress.c:3630,1
    - Dst: event_base_active_by_signal
      Src: /src/libevent/test/regress.c:3632,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress.c:3635,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress.c:3637,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3639,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3640,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3641,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3643,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress.c:3645,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3650,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3652,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3654,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3656,1
    - Dst: event_free
      Src: /src/libevent/test/regress.c:3659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3661
      start: 3579
    functionDepth: 6
    functionLinenumber: 3579
    functionLinenumberEnd: 3661
    functionName: test_active_by_fd
    functionSourceFile: /src/libevent/test/regress.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loop
    - tt_int_op
    - event_base_active_by_fd
    - event_new
    - event_base_active_by_signal
    - event_free
    - event_add
    - event_base_assert_ok_
    linkageType: ''
    returnType: void
    signature: void test_active_by_fd(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_rpc.c:82,1
    - Dst: event_errx
      Src: /src/libevent/test/regress_rpc.c:84,1
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/test/regress_rpc.c:87,1
    - Dst: event_errx
      Src: /src/libevent/test/regress_rpc.c:89,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_rpc.c:91,1
    - Dst: evhttp_bound_socket_get_fd
      Src: /src/libevent/test/regress_rpc.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pport
    argTypes:
    - ev_uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: http_setup
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - evhttp_bind_socket_with_handle
    - regress_get_socket_port
    - evhttp_new
    - event_errx
    - evhttp_bound_socket_get_fd
    linkageType: ''
    returnType: struct evhttp
    signature: 'struct evhttp *

      http_setup(ev_uint16_t *pport)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_rpc.c:143,1
    - Dst: evrpc_init
      Src: /src/libevent/test/regress_rpc.c:144,1
    - Dst: EVRPC_REGISTER
      Src: /src/libevent/test/regress_rpc.c:146,1
    - Dst: EVRPC_REGISTER
      Src: /src/libevent/test/regress_rpc.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - phttp
    - pport
    - pbase
    argTypes:
    - struct evhttp**
    - ev_uint16_t*
    - struct evrpc_base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: rpc_setup
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - EVRPC_REGISTER
    - http_setup
    - evrpc_init
    linkageType: ''
    returnType: void
    signature: void rpc_setup(struct evhttp **phttp, ev_uint16_t *pport, struct evrpc_base
      **pbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:160,1
    - Dst: EVRPC_UNREGISTER
      Src: /src/libevent/test/regress_rpc.c:160,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:161,1
    - Dst: EVRPC_UNREGISTER
      Src: /src/libevent/test/regress_rpc.c:161,1
    - Dst: evrpc_free
      Src: /src/libevent/test/regress_rpc.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct evrpc_base*
    assertStmts:
    - condition: (EVRPC_UNREGISTER(base, Message) == 0)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (EVRPC_UNREGISTER(base, NeverReply) == 0)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: rpc_teardown
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - EVRPC_UNREGISTER
    - evrpc_free
    - assert
    linkageType: ''
    returnType: void
    signature: void rpc_teardown(struct evrpc_base *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:171,1
    - Dst: exit
      Src: /src/libevent/test/regress_rpc.c:172,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress_rpc.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: rpc_postrequest_failure
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - event_loopexit
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rpc_postrequest_failure(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpc_setup
      Src: /src/libevent/test/regress_rpc.c:192,1
    - Dst: evhttp_connection_new
      Src: /src/libevent/test/regress_rpc.c:194,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:195,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_rpc.c:202,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:203,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_rpc.c:206,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_rpc.c:207,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_rpc.c:209,1
    - Dst: tt_abort
      Src: /src/libevent/test/regress_rpc.c:212,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:217,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_rpc.c:219,1
    - Dst: rpc_teardown
      Src: /src/libevent/test/regress_rpc.c:221,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:223,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_rpc.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 183
    functionDepth: 9
    functionLinenumber: 183
    functionLinenumberEnd: 227
    functionName: rpc_basic_test
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - evhttp_connection_free
    - evhttp_free
    - tt_abort
    - evhttp_make_request
    - rpc_setup
    - event_dispatch
    - rpc_teardown
    - evbuffer_add_printf
    - evhttp_request_new
    - evhttp_connection_new
    linkageType: ''
    returnType: void
    signature: void rpc_basic_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:235,1
    - Dst: exit
      Src: /src/libevent/test/regress_rpc.c:236,1
    - Dst: kill_new
      Src: /src/libevent/test/regress_rpc.c:239,1
    - Dst: kill_unmarshal
      Src: /src/libevent/test/regress_rpc.c:241,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:242,1
    - Dst: exit
      Src: /src/libevent/test/regress_rpc.c:243,1
    - Dst: kill_free
      Src: /src/libevent/test/regress_rpc.c:246,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress_rpc.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 250
    functionName: rpc_postrequest_done
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - exit
    - kill_free
    - event_loopexit
    - kill_unmarshal
    - fprintf
    - kill_new
    linkageType: ''
    returnType: void
    signature: void rpc_postrequest_done(struct evhttp_request *req, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpc_setup
      Src: /src/libevent/test/regress_rpc.c:262,1
    - Dst: evhttp_connection_new
      Src: /src/libevent/test/regress_rpc.c:264,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:265,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_rpc.c:272,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:274,1
    - Dst: exit
      Src: /src/libevent/test/regress_rpc.c:275,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_rpc.c:279,1
    - Dst: msg_new
      Src: /src/libevent/test/regress_rpc.c:282,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:283,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:284,1
    - Dst: msg_marshal
      Src: /src/libevent/test/regress_rpc.c:285,1
    - Dst: msg_free
      Src: /src/libevent/test/regress_rpc.c:286,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_rpc.c:288,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:291,1
    - Dst: exit
      Src: /src/libevent/test/regress_rpc.c:292,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:297,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_rpc.c:299,1
    - Dst: rpc_teardown
      Src: /src/libevent/test/regress_rpc.c:301,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_rpc.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 305
    functionName: rpc_basic_message
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - EVTAG_ASSIGN
    - exit
    - msg_free
    - evhttp_connection_free
    - msg_marshal
    - evhttp_free
    - msg_new
    - evhttp_make_request
    - rpc_setup
    - event_dispatch
    - rpc_teardown
    - fprintf
    - evhttp_request_new
    - evhttp_connection_new
    linkageType: ''
    returnType: void
    signature: void rpc_basic_message(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_pool_new
      Src: /src/libevent/test/regress_rpc.c:313,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:314,1
    - Dst: evhttp_connection_new
      Src: /src/libevent/test/regress_rpc.c:316,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:317,1
    - Dst: evrpc_pool_add_connection
      Src: /src/libevent/test/regress_rpc.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - port
    argTypes:
    - ev_uint16_t
    assertStmts:
    - condition: (pool != NULL)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (evcon != NULL)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 322
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 322
    functionName: rpc_pool_with_connection
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - evrpc_pool_add_connection
    - evrpc_pool_new
    - assert
    - evhttp_connection_new
    linkageType: ''
    returnType: struct evrpc_pool
    signature: 'struct evrpc_pool *

      rpc_pool_with_connection(ev_uint16_t port)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_rpc.c:333,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:335,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:336,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:336,1
    - Dst: EVTAG_GET
      Src: /src/libevent/test/regress_rpc.c:342,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:343,1
    - Dst: EVTAG_GET
      Src: /src/libevent/test/regress_rpc.c:346,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:347,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:351,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:354,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress_rpc.c:360,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - status
    - msg
    - kill
    - arg
    argTypes:
    - struct evrpc_status*
    - struct msg*
    - struct kill*
    - void*
    assertStmts:
    - condition: (strcmp(header, "ran") == 0)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (header)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 361
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 361
    functionName: GotKillCb
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - EVTAG_GET
    - event_loopexit
    - fprintf
    - strcmp
    - evhttp_find_header
    - assert
    linkageType: ''
    returnType: void
    signature: "void GotKillCb(struct evrpc_status *status,\n    struct msg *msg,
      struct kill *kill, void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVTAG_GET
      Src: /src/libevent/test/regress_rpc.c:373,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:374,1
    - Dst: EVTAG_GET
      Src: /src/libevent/test/regress_rpc.c:377,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_rpc.c:378,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:382,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:385,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress_rpc.c:392,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - status
    - msg
    - kill
    - arg
    argTypes:
    - struct evrpc_status*
    - struct msg*
    - struct kill*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 393
    functionName: GotKillCbTwo
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - strcmp
    - EVTAG_GET
    - event_loopexit
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void GotKillCbTwo(struct evrpc_status *status,\n    struct msg *msg,
      struct kill *kill, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:400,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_rpc.c:401,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_rpc.c:403,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:405,1
    - Dst: evrpc_hook_get_connection
      Src: /src/libevent/test/regress_rpc.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - req
    - evbuf
    - arg
    argTypes:
    - void*
    - struct evhttp_request*
    - struct evbuffer*
    - void*
    assertStmts:
    - condition: (evrpc_hook_get_connection(ctx) != NULL)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 408
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 408
    functionName: rpc_hook_add_header
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - strcmp
    - evhttp_add_header
    - evrpc_hook_get_connection
    - assert
    linkageType: ''
    returnType: int
    signature: "int rpc_hook_add_header(void *ctx, struct evhttp_request *req,\n    struct
      evbuffer *evbuf, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_hook_add_meta
      Src: /src/libevent/test/regress_rpc.c:414,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:416,1
    - Dst: evrpc_hook_get_connection
      Src: /src/libevent/test/regress_rpc.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - req
    - evbuf
    - arg
    argTypes:
    - void*
    - struct evhttp_request*
    - struct evbuffer*
    - void*
    assertStmts:
    - condition: (evrpc_hook_get_connection(ctx) != NULL)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: rpc_hook_add_meta
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 1
    functionsReached:
    - evrpc_hook_add_meta
    - evrpc_hook_get_connection
    - assert
    linkageType: ''
    returnType: int
    signature: "int rpc_hook_add_meta(void *ctx, struct evhttp_request *req,\n    struct
      evbuffer *evbuf, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_rpc.c:425,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:429,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:430,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:430,1
    - Dst: evhttp_remove_header
      Src: /src/libevent/test/regress_rpc.c:432,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_rpc.c:433,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:435,1
    - Dst: evrpc_hook_find_meta
      Src: /src/libevent/test/regress_rpc.c:435,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:436,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:437,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:439,1
    - Dst: evrpc_hook_get_connection
      Src: /src/libevent/test/regress_rpc.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - req
    - evbuf
    - arg
    argTypes:
    - void*
    - struct evhttp_request*
    - struct evbuffer*
    - void*
    assertStmts:
    - condition: (header != NULL)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (strcmp(header, arg) == 0)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (evrpc_hook_find_meta(ctx, "meta", &data, &data_len) == 0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (data != NULL)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (data_len == 5)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (evrpc_hook_get_connection(ctx) != NULL)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 442
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 442
    functionName: rpc_hook_remove_header
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_remove_header
    - evrpc_hook_find_meta
    - evrpc_hook_get_connection
    - strcmp
    - evhttp_find_header
    - assert
    linkageType: ''
    returnType: int
    signature: "int rpc_hook_remove_header(void *ctx, struct evhttp_request *req,\n
      \   struct evbuffer *evbuf, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rpc_setup
      Src: /src/libevent/test/regress_rpc.c:454,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:459,1
    - Dst: evrpc_add_hook
      Src: /src/libevent/test/regress_rpc.c:459,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:461,1
    - Dst: evrpc_add_hook
      Src: /src/libevent/test/regress_rpc.c:461,1
    - Dst: rpc_pool_with_connection
      Src: /src/libevent/test/regress_rpc.c:464,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:465,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:467,1
    - Dst: evrpc_add_hook
      Src: /src/libevent/test/regress_rpc.c:467,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:468,1
    - Dst: evrpc_add_hook
      Src: /src/libevent/test/regress_rpc.c:468,1
    - Dst: msg_new
      Src: /src/libevent/test/regress_rpc.c:471,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:472,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:473,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:474,1
    - Dst: kill_new
      Src: /src/libevent/test/regress_rpc.c:476,1
    - Dst: EVRPC_MAKE_REQUEST
      Src: /src/libevent/test/regress_rpc.c:478,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:482,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:484,1
    - Dst: kill_clear
      Src: /src/libevent/test/regress_rpc.c:487,1
    - Dst: EVRPC_MAKE_REQUEST
      Src: /src/libevent/test/regress_rpc.c:489,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:491,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:493,1
    - Dst: kill_clear
      Src: /src/libevent/test/regress_rpc.c:496,1
    - Dst: EVRPC_MAKE_CTX
      Src: /src/libevent/test/regress_rpc.c:500,1
    - Dst: evrpc_make_request
      Src: /src/libevent/test/regress_rpc.c:502,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:505,1
    - Dst: rpc_teardown
      Src: /src/libevent/test/regress_rpc.c:507,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:509,1
    - Dst: msg_free
      Src: /src/libevent/test/regress_rpc.c:513,1
    - Dst: kill_free
      Src: /src/libevent/test/regress_rpc.c:515,1
    - Dst: evrpc_pool_free
      Src: /src/libevent/test/regress_rpc.c:518,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_rpc.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(evrpc_add_hook(base, EVRPC_OUTPUT, rpc_hook_add_header, (void*)\"output\")\n\t
        \   != NULL)"
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libevent/test/regress_rpc.c
    - condition: "(evrpc_add_hook(base, EVRPC_INPUT, rpc_hook_add_header, (void*)\"input\")\n\t
        \   != NULL)"
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (evrpc_add_hook(pool, EVRPC_INPUT, rpc_hook_remove_header, (void*)"output"))
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (evrpc_add_hook(pool, EVRPC_OUTPUT, rpc_hook_add_meta, NULL))
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 524
      start: 444
    functionDepth: 5
    functionLinenumber: 444
    functionLinenumberEnd: 524
    functionName: rpc_basic_client
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - EVTAG_ASSIGN
    - kill_clear
    - msg_free
    - evrpc_pool_free
    - kill_free
    - rpc_pool_with_connection
    - EVRPC_MAKE_REQUEST
    - msg_new
    - evrpc_make_request
    - rpc_setup
    - EVRPC_MAKE_CTX
    - event_dispatch
    - rpc_teardown
    - evhttp_free
    - kill_new
    - assert
    - evrpc_add_hook
    linkageType: ''
    returnType: void
    signature: void rpc_basic_client(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rpc_setup
      Src: /src/libevent/test/regress_rpc.c:540,1
    - Dst: rpc_pool_with_connection
      Src: /src/libevent/test/regress_rpc.c:542,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:543,1
    - Dst: msg_new
      Src: /src/libevent/test/regress_rpc.c:546,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:547,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:548,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:549,1
    - Dst: kill_new
      Src: /src/libevent/test/regress_rpc.c:551,1
    - Dst: kill_new
      Src: /src/libevent/test/regress_rpc.c:552,1
    - Dst: EVRPC_MAKE_REQUEST
      Src: /src/libevent/test/regress_rpc.c:554,1
    - Dst: EVRPC_MAKE_REQUEST
      Src: /src/libevent/test/regress_rpc.c:555,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:559,1
    - Dst: rpc_teardown
      Src: /src/libevent/test/regress_rpc.c:561,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:563,1
    - Dst: msg_free
      Src: /src/libevent/test/regress_rpc.c:567,1
    - Dst: kill_free
      Src: /src/libevent/test/regress_rpc.c:569,1
    - Dst: kill_free
      Src: /src/libevent/test/regress_rpc.c:571,1
    - Dst: evrpc_pool_free
      Src: /src/libevent/test/regress_rpc.c:574,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_rpc.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 530
    functionDepth: 5
    functionLinenumber: 530
    functionLinenumberEnd: 577
    functionName: rpc_basic_queued_client
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - EVTAG_ASSIGN
    - msg_free
    - evrpc_pool_free
    - kill_free
    - rpc_pool_with_connection
    - EVRPC_MAKE_REQUEST
    - msg_new
    - evhttp_free
    - rpc_setup
    - event_dispatch
    - rpc_teardown
    - kill_new
    linkageType: ''
    returnType: void
    signature: void rpc_basic_queued_client(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kill_complete
      Src: /src/libevent/test/regress_rpc.c:587,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress_rpc.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - status
    - msg
    - kill
    - arg
    argTypes:
    - struct evrpc_status*
    - struct msg*
    - struct kill*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: GotErrorCb
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - event_loopexit
    - kill_complete
    linkageType: ''
    returnType: void
    signature: "void GotErrorCb(struct evrpc_status *status,\n    struct msg *msg,
      struct kill *kill, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evrpc_resume_request
      Src: /src/libevent/test/regress_rpc.c:610,1
    - Dst: free
      Src: /src/libevent/test/regress_rpc.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: rpc_hook_pause_cb
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - free
    - evrpc_resume_request
    linkageType: ''
    returnType: void
    signature: void rpc_hook_pause_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress_rpc.c:618,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:621,1
    - Dst: memset
      Src: /src/libevent/test/regress_rpc.c:625,1
    - Dst: event_once
      Src: /src/libevent/test/regress_rpc.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - req
    - evbuf
    - arg
    argTypes:
    - void*
    - struct evhttp_request*
    - struct evbuffer*
    - void*
    assertStmts:
    - condition: (tmp != NULL)
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 628
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 628
    functionName: rpc_hook_pause
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    - assert
    - event_once
    linkageType: ''
    returnType: int
    signature: "int rpc_hook_pause(void *ctx, struct evhttp_request *req, struct evbuffer
      *evbuf,\n    void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rpc_setup
      Src: /src/libevent/test/regress_rpc.c:640,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:642,1
    - Dst: evrpc_add_hook
      Src: /src/libevent/test/regress_rpc.c:642,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:643,1
    - Dst: evrpc_add_hook
      Src: /src/libevent/test/regress_rpc.c:643,1
    - Dst: rpc_pool_with_connection
      Src: /src/libevent/test/regress_rpc.c:645,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:646,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:647,1
    - Dst: evrpc_add_hook
      Src: /src/libevent/test/regress_rpc.c:647,1
    - Dst: assert
      Src: /src/libevent/test/regress_rpc.c:648,1
    - Dst: evrpc_add_hook
      Src: /src/libevent/test/regress_rpc.c:648,1
    - Dst: msg_new
      Src: /src/libevent/test/regress_rpc.c:651,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:652,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:653,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:654,1
    - Dst: kill_new
      Src: /src/libevent/test/regress_rpc.c:656,1
    - Dst: EVRPC_MAKE_REQUEST
      Src: /src/libevent/test/regress_rpc.c:658,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:662,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_rpc.c:664,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_rpc.c:665,1
    - Dst: rpc_teardown
      Src: /src/libevent/test/regress_rpc.c:669,1
    - Dst: msg_free
      Src: /src/libevent/test/regress_rpc.c:672,1
    - Dst: kill_free
      Src: /src/libevent/test/regress_rpc.c:674,1
    - Dst: evrpc_pool_free
      Src: /src/libevent/test/regress_rpc.c:677,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_rpc.c:679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (evrpc_add_hook(pool, EVRPC_OUTPUT, rpc_hook_pause, pool))
      pos:
        line_end: 647
        line_start: 647
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (evrpc_add_hook(base, EVRPC_OUTPUT, rpc_hook_pause, base))
      pos:
        line_end: 642
        line_start: 642
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (evrpc_add_hook(pool, EVRPC_INPUT, rpc_hook_pause, pool))
      pos:
        line_end: 646
        line_start: 646
        source_file: /src/libevent/test/regress_rpc.c
    - condition: (evrpc_add_hook(base, EVRPC_INPUT, rpc_hook_pause, base))
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/libevent/test/regress_rpc.c
    constantsTouched: []
    func_position:
      end: 680
      start: 630
    functionDepth: 5
    functionLinenumber: 630
    functionLinenumberEnd: 680
    functionName: rpc_basic_client_with_pause
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - EVTAG_ASSIGN
    - tt_int_op
    - msg_free
    - evrpc_pool_free
    - kill_free
    - rpc_pool_with_connection
    - EVRPC_MAKE_REQUEST
    - msg_new
    - evhttp_free
    - rpc_setup
    - event_dispatch
    - rpc_teardown
    - kill_new
    - assert
    - evrpc_add_hook
    linkageType: ''
    returnType: void
    signature: void rpc_basic_client_with_pause(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rpc_setup
      Src: /src/libevent/test/regress_rpc.c:692,1
    - Dst: rpc_pool_with_connection
      Src: /src/libevent/test/regress_rpc.c:694,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:695,1
    - Dst: evrpc_pool_set_timeout
      Src: /src/libevent/test/regress_rpc.c:698,1
    - Dst: msg_new
      Src: /src/libevent/test/regress_rpc.c:701,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:702,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:703,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:704,1
    - Dst: kill_new
      Src: /src/libevent/test/regress_rpc.c:706,1
    - Dst: EVRPC_MAKE_REQUEST
      Src: /src/libevent/test/regress_rpc.c:708,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:712,1
    - Dst: EVRPC_REQUEST_DONE
      Src: /src/libevent/test/regress_rpc.c:715,1
    - Dst: rpc_teardown
      Src: /src/libevent/test/regress_rpc.c:717,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:719,1
    - Dst: msg_free
      Src: /src/libevent/test/regress_rpc.c:723,1
    - Dst: kill_free
      Src: /src/libevent/test/regress_rpc.c:725,1
    - Dst: evrpc_pool_free
      Src: /src/libevent/test/regress_rpc.c:728,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_rpc.c:730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 682
    functionDepth: 5
    functionLinenumber: 682
    functionLinenumberEnd: 731
    functionName: rpc_client_timeout
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - EVTAG_ASSIGN
    - msg_free
    - evrpc_pool_free
    - kill_free
    - EVRPC_REQUEST_DONE
    - rpc_pool_with_connection
    - EVRPC_MAKE_REQUEST
    - msg_new
    - evhttp_free
    - rpc_setup
    - event_dispatch
    - evrpc_pool_set_timeout
    - rpc_teardown
    - kill_new
    linkageType: ''
    returnType: void
    signature: void rpc_client_timeout(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_rpc.c:739,1
    - Dst: msg_new
      Src: /src/libevent/test/regress_rpc.c:744,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:746,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:748,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:749,1
    - Dst: EVTAG_GET
      Src: /src/libevent/test/regress_rpc.c:751,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:752,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:755,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:756,1
    - Dst: EVTAG_ARRAY_ADD_VALUE
      Src: /src/libevent/test/regress_rpc.c:758,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:759,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_rpc.c:763,1
    - Dst: EVTAG_ARRAY_ADD
      Src: /src/libevent/test/regress_rpc.c:765,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:767,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:769,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:770,1
    - Dst: EVTAG_ARRAY_ADD_VALUE
      Src: /src/libevent/test/regress_rpc.c:773,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:775,1
    - Dst: EVTAG_ARRAY_ADD_VALUE
      Src: /src/libevent/test/regress_rpc.c:777,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:778,1
    - Dst: EVTAG_ASSIGN
      Src: /src/libevent/test/regress_rpc.c:781,1
    - Dst: EVTAG_ARRAY_ADD_VALUE
      Src: /src/libevent/test/regress_rpc.c:782,1
    - Dst: EVTAG_ARRAY_ADD_VALUE
      Src: /src/libevent/test/regress_rpc.c:783,1
    - Dst: msg_complete
      Src: /src/libevent/test/regress_rpc.c:786,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:787,1
    - Dst: evtag_marshal_msg
      Src: /src/libevent/test/regress_rpc.c:789,1
    - Dst: evtag_peek
      Src: /src/libevent/test/regress_rpc.c:791,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:792,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_rpc.c:795,1
    - Dst: msg_new
      Src: /src/libevent/test/regress_rpc.c:797,1
    - Dst: evtag_unmarshal_msg
      Src: /src/libevent/test/regress_rpc.c:798,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:799,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_rpc.c:801,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_rpc.c:802,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_rpc.c:803,1
    - Dst: EVTAG_HAS
      Src: /src/libevent/test/regress_rpc.c:807,1
    - Dst: EVTAG_HAS
      Src: /src/libevent/test/regress_rpc.c:808,1
    - Dst: EVTAG_HAS
      Src: /src/libevent/test/regress_rpc.c:809,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:810,1
    - Dst: EVTAG_GET
      Src: /src/libevent/test/regress_rpc.c:813,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:814,1
    - Dst: EVTAG_ARRAY_LEN
      Src: /src/libevent/test/regress_rpc.c:817,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:818,1
    - Dst: EVTAG_ARRAY_GET
      Src: /src/libevent/test/regress_rpc.c:822,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:823,1
    - Dst: EVTAG_ARRAY_LEN
      Src: /src/libevent/test/regress_rpc.c:830,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:831,1
    - Dst: EVTAG_ARRAY_GET
      Src: /src/libevent/test/regress_rpc.c:834,1
    - Dst: EVTAG_ARRAY_GET
      Src: /src/libevent/test/regress_rpc.c:835,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:836,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:839,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_rpc.c:840,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:841,1
    - Dst: EVTAG_GET
      Src: /src/libevent/test/regress_rpc.c:844,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:846,1
    - Dst: EVTAG_ARRAY_LEN
      Src: /src/libevent/test/regress_rpc.c:849,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:850,1
    - Dst: EVTAG_ARRAY_GET
      Src: /src/libevent/test/regress_rpc.c:853,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_rpc.c:855,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress_rpc.c:857,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_rpc.c:860,1
    - Dst: EVTAG_ARRAY_LEN
      Src: /src/libevent/test/regress_rpc.c:860,1
    - Dst: EVTAG_ARRAY_GET
      Src: /src/libevent/test/regress_rpc.c:864,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_rpc.c:865,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_rpc.c:868,1
    - Dst: msg_free
      Src: /src/libevent/test/regress_rpc.c:875,1
    - Dst: msg_free
      Src: /src/libevent/test/regress_rpc.c:877,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_rpc.c:879,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 733
    functionDepth: 6
    functionLinenumber: 733
    functionLinenumberEnd: 880
    functionName: rpc_test
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - tt_abort_msg
    - EVTAG_ARRAY_ADD
    - strcmp
    - EVTAG_ARRAY_LEN
    - tt_assert
    - EVTAG_ASSIGN
    - EVTAG_GET
    - tt_int_op
    - EVTAG_ARRAY_ADD_VALUE
    - msg_new
    - evtag_marshal_msg
    - evutil_timersub
    - evtag_unmarshal_msg
    - tt_uint_op
    - EVTAG_HAS
    - EVTAG_ARRAY_GET
    - evbuffer_free
    - TT_DIE
    - evutil_gettimeofday
    - msg_free
    - TT_BLATHER
    - msg_complete
    - evbuffer_new
    - evtag_peek
    linkageType: ''
    returnType: void
    signature: void rpc_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpc_setup
      Src: /src/libevent/test/regress_rpc.c:891,1
    - Dst: evhttp_connection_new
      Src: /src/libevent/test/regress_rpc.c:893,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:894,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_rpc.c:901,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:902,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_rpc.c:905,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_rpc.c:906,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_rpc.c:908,1
    - Dst: tt_abort
      Src: /src/libevent/test/regress_rpc.c:911,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_rpc.c:916,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_rpc.c:918,1
    - Dst: rpc_teardown
      Src: /src/libevent/test/regress_rpc.c:920,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_rpc.c:922,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_rpc.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 882
    functionDepth: 9
    functionLinenumber: 882
    functionLinenumberEnd: 926
    functionName: rpc_invalid_type
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - evhttp_connection_free
    - evhttp_free
    - tt_abort
    - evhttp_make_request
    - rpc_setup
    - event_dispatch
    - rpc_teardown
    - evbuffer_add_printf
    - evhttp_request_new
    - evhttp_connection_new
    linkageType: ''
    returnType: void
    signature: void rpc_invalid_type(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 933
    functionName: RPC_LEGACY
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPC_LEGACY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 938
    functionName: RPC_LEGACY
    functionSourceFile: /src/libevent/test/regress_rpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPC_LEGACY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_weakrand_
      Src: /src/libevent/test/test-time.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: rand_int
    functionSourceFile: /src/libevent/test/test-time.c
    functionUses: 0
    functionsReached:
    - evutil_weakrand_
    linkageType: ''
    returnType: int
    signature: int rand_int(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_int
      Src: /src/libevent/test/test-time.c:70,1
    - Dst: rand_int
      Src: /src/libevent/test/test-time.c:72,1
    - Dst: evtimer_add
      Src: /src/libevent/test/test-time.c:74,1
    - Dst: evtimer_del
      Src: /src/libevent/test/test-time.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: time_cb
    functionSourceFile: /src/libevent/test/test-time.c
    functionUses: 0
    functionsReached:
    - evtimer_del
    - evtimer_add
    - rand_int
    linkageType: ''
    returnType: void
    signature: void time_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/test/test-time.c:92,1
    - Dst: WSAStartup
      Src: /src/libevent/test/test-time.c:94,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/test/test-time.c:97,1
    - Dst: getenv
      Src: /src/libevent/test/test-time.c:99,1
    - Dst: event_enable_debug_logging
      Src: /src/libevent/test/test-time.c:100,1
    - Dst: event_base_new
      Src: /src/libevent/test/test-time.c:103,1
    - Dst: evtimer_new
      Src: /src/libevent/test/test-time.c:106,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/test-time.c:106,1
    - Dst: rand_int
      Src: /src/libevent/test/test-time.c:111,1
    - Dst: evtimer_add
      Src: /src/libevent/test/test-time.c:112,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/test-time.c:115,1
    - Dst: printf
      Src: /src/libevent/test/test-time.c:117,1
    - Dst: event_free
      Src: /src/libevent/test/test-time.c:129,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-time.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/libevent/test/test-time.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - evtimer_new
    - rand_int
    - evutil_weakrand_seed_
    - event_self_cbarg
    - printf
    - WSAStartup
    - event_free
    - event_base_new
    - evtimer_add
    - event_base_dispatch
    - event_enable_debug_logging
    - MAKEWORD
    - getenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: timeval_msec_diff
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long timeval_msec_diff(const struct timeval *start, const struct timeval
      *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_main.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - m
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: dnslogcb
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void dnslogcb(int w, const char *m)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libevent/test/regress_main.c:138,1
    - Dst: umask
      Src: /src/libevent/test/regress_main.c:140,1
    - Dst: mkstemp
      Src: /src/libevent/test/regress_main.c:142,1
    - Dst: write
      Src: /src/libevent/test/regress_main.c:145,1
    - Dst: close
      Src: /src/libevent/test/regress_main.c:146,1
    - Dst: unlink
      Src: /src/libevent/test/regress_main.c:147,1
    - Dst: lseek
      Src: /src/libevent/test/regress_main.c:150,1
    - Dst: strdup
      Src: /src/libevent/test/regress_main.c:151,1
    - Dst: GetTempPathW
      Src: /src/libevent/test/regress_main.c:162,1
    - Dst: GetLongPathNameW
      Src: /src/libevent/test/regress_main.c:165,1
    - Dst: GetTempFileNameW
      Src: /src/libevent/test/regress_main.c:169,1
    - Dst: GetLastError
      Src: /src/libevent/test/regress_main.c:171,1
    - Dst: CreateFileW
      Src: /src/libevent/test/regress_main.c:174,1
    - Dst: WideCharToMultiByte
      Src: /src/libevent/test/regress_main.c:182,1
    - Dst: strdup
      Src: /src/libevent/test/regress_main.c:185,1
    - Dst: WriteFile
      Src: /src/libevent/test/regress_main.c:186,1
    - Dst: _open_osfhandle
      Src: /src/libevent/test/regress_main.c:188,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - data
    - datalen
    - filename_out
    argTypes:
    - void*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 190
    functionName: regress_make_tmpfile
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - write
    - strcpy
    - GetLastError
    - CreateFileW
    - WriteFile
    - GetTempPathW
    - mkstemp
    - strdup
    - WideCharToMultiByte
    - close
    - unlink
    - GetLongPathNameW
    - lseek
    - umask
    - _open_osfhandle
    - GetTempFileNameW
    linkageType: ''
    returnType: int
    signature: int regress_make_tmpfile(const void *data, size_t datalen, char **filename_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/libevent/test/regress_main.c:196,1
    - Dst: vproc_transaction_begin
      Src: /src/libevent/test/regress_main.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: regress_fork
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 1
    functionsReached:
    - fork
    - vproc_transaction_begin
    linkageType: ''
    returnType: pid_t
    signature: pid_t regress_fork(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: ignore_log_cb
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignore_log_cb(int s, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/libevent/test/regress_main.c:217,1
    - Dst: thread_policy_set
      Src: /src/libevent/test/regress_main.c:229,1
    - Dst: pthread_mach_thread_np
      Src: /src/libevent/test/regress_main.c:229,1
    - Dst: mach_error
      Src: /src/libevent/test/regress_main.c:234,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pthread
    argTypes:
    - pthread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 237
    functionName: move_pthread_to_realtime_scheduling_class
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - pthread_mach_thread_np
    - exit
    - thread_policy_set
    - mach_error
    - mach_timebase_info
    linkageType: ''
    returnType: void
    signature: void move_pthread_to_realtime_scheduling_class(pthread_t pthread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: move_pthread_to_realtime_scheduling_class
      Src: /src/libevent/test/regress_main.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pthread
    argTypes:
    - THREAD_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: thread_setup
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - move_pthread_to_realtime_scheduling_class
    linkageType: ''
    returnType: void
    signature: void thread_setup(THREAD_T pthread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pthread
    argTypes:
    - THREAD_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: thread_setup
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void thread_setup(THREAD_T pthread)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_SELF
      Src: /src/libevent/test/regress_main.c:264,1
    - Dst: thread_setup
      Src: /src/libevent/test/regress_main.c:266,1
    - Dst: thread_setup
      Src: /src/libevent/test/regress_main.c:268,1
    - Dst: THREAD_SELF
      Src: /src/libevent/test/regress_main.c:268,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/test/regress_main.c:278,1
    - Dst: evthread_use_pthreads_with_flags
      Src: /src/libevent/test/regress_main.c:286,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:287,1
    - Dst: evthread_use_windows_threads
      Src: /src/libevent/test/regress_main.c:289,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:290,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_main.c:297,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_main.c:298,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:299,1
    - Dst: event_init
      Src: /src/libevent/test/regress_main.c:304,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_main.c:306,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:308,1
    - Dst: event_base_start_iocp_
      Src: /src/libevent/test/regress_main.c:311,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_main.c:312,1
    - Dst: evdns_set_log_fn
      Src: /src/libevent/test/regress_main.c:318,1
    - Dst: evdns_init
      Src: /src/libevent/test/regress_main.c:319,1
    - Dst: event_set_log_callback
      Src: /src/libevent/test/regress_main.c:324,1
    - Dst: calloc
      Src: /src/libevent/test/regress_main.c:326,1
    - Dst: exit
      Src: /src/libevent/test/regress_main.c:328,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 248
    functionDepth: 10
    functionLinenumber: 248
    functionLinenumberEnd: 334
    functionName: basic_test_setup
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - exit
    - event_base_start_iocp_
    - event_base_free
    - thread_setup
    - calloc
    - event_enable_debug_mode
    - event_init
    - evthread_use_windows_threads
    - evdns_init
    - THREAD_SELF
    - event_set_log_callback
    - evutil_socketpair
    - evthread_use_pthreads_with_flags
    - fprintf
    - evdns_set_log_fn
    - event_base_new
    linkageType: ''
    returnType: void
    signature: 'void *

      basic_test_setup(const struct testcase_t *testcase)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: event_set_log_callback
      Src: /src/libevent/test/regress_main.c:342,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_main.c:346,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_main.c:348,1
    - Dst: evdns_shutdown
      Src: /src/libevent/test/regress_main.c:352,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_main.c:357,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_main.c:358,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/regress_main.c:363,1
    - Dst: free
      Src: /src/libevent/test/regress_main.c:365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 336
    functionDepth: 7
    functionLinenumber: 336
    functionLinenumberEnd: 368
    functionName: basic_test_cleanup
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - free
    - event_base_free
    - evdns_shutdown
    - event_set_log_callback
    - event_base_assert_ok_
    - libevent_global_shutdown
    - evutil_closesocket
    linkageType: ''
    returnType: int
    signature: int basic_test_cleanup(const struct testcase_t *testcase, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: basic_test_setup
      Src: /src/libevent/test/regress_main.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 11
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: legacy_test_setup
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - basic_test_setup
    linkageType: ''
    returnType: void
    signature: 'void *

      legacy_test_setup(const struct testcase_t *testcase)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct basic_test_data*::legacy_test_fn
      Src: /src/libevent/test/regress_main.c:403,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_main.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 411
    functionName: run_legacy_test_fn
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - struct basic_test_data*::legacy_test_fn
    - tt_abort_msg
    linkageType: ''
    returnType: void
    signature: void run_legacy_test_fn(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_test_cleanup
      Src: /src/libevent/test/regress_main.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 417
    functionDepth: 8
    functionLinenumber: 417
    functionLinenumberEnd: 424
    functionName: legacy_test_cleanup
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 0
    functionsReached:
    - basic_test_cleanup
    linkageType: ''
    returnType: int
    signature: int legacy_test_cleanup(const struct testcase_t *testcase, void *ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/test/regress_main.c:502,1
    - Dst: WSAStartup
      Src: /src/libevent/test/regress_main.c:504,1
    - Dst: signal
      Src: /src/libevent/test/regress_main.c:508,1
    - Dst: tinytest_skip
      Src: /src/libevent/test/regress_main.c:513,1
    - Dst: tinytest_skip
      Src: /src/libevent/test/regress_main.c:514,1
    - Dst: tinytest_skip
      Src: /src/libevent/test/regress_main.c:515,1
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:519,1
    - Dst: evthread_enable_lock_debugging
      Src: /src/libevent/test/regress_main.c:520,1
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:523,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/test/regress_main.c:524,1
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:527,1
    - Dst: event_enable_debug_logging
      Src: /src/libevent/test/regress_main.c:528,1
    - Dst: tinytest_set_aliases
      Src: /src/libevent/test/regress_main.c:531,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/test/regress_main.c:533,1
    - Dst: getenv
      Src: /src/libevent/test/regress_main.c:535,1
    - Dst: setbuf
      Src: /src/libevent/test/regress_main.c:536,1
    - Dst: setbuf
      Src: /src/libevent/test/regress_main.c:537,1
    - Dst: tinytest_main
      Src: /src/libevent/test/regress_main.c:540,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/regress_main.c:543,1
    - Dst: WSACleanup
      Src: /src/libevent/test/regress_main.c:546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 495
    functionDepth: 6
    functionLinenumber: 495
    functionLinenumberEnd: 550
    functionName: main
    functionSourceFile: /src/libevent/test/regress_main.c
    functionUses: 1
    functionsReached:
    - tinytest_skip
    - setbuf
    - evutil_weakrand_seed_
    - WSACleanup
    - event_enable_debug_mode
    - signal
    - WSAStartup
    - tinytest_set_aliases
    - tinytest_main
    - evthread_enable_lock_debugging
    - event_enable_debug_logging
    - MAKEWORD
    - libevent_global_shutdown
    - getenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/libevent/test/bench_cascade.c:72,1
    - Dst: send
      Src: /src/libevent/test/bench_cascade.c:74,1
    - Dst: perror
      Src: /src/libevent/test/bench_cascade.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - which
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: read_cb
    functionSourceFile: /src/libevent/test/bench_cascade.c
    functionUses: 0
    functionsReached:
    - perror
    - recv
    - send
    linkageType: ''
    returnType: void
    signature: void read_cb(evutil_socket_t fd, short which, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libevent/test/bench_cascade.c:87,1
    - Dst: calloc
      Src: /src/libevent/test/bench_cascade.c:88,1
    - Dst: perror
      Src: /src/libevent/test/bench_cascade.c:91,1
    - Dst: exit
      Src: /src/libevent/test/bench_cascade.c:92,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/bench_cascade.c:96,1
    - Dst: perror
      Src: /src/libevent/test/bench_cascade.c:97,1
    - Dst: exit
      Src: /src/libevent/test/bench_cascade.c:98,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/bench_cascade.c:103,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/bench_cascade.c:106,1
    - Dst: event_set
      Src: /src/libevent/test/bench_cascade.c:111,1
    - Dst: event_add
      Src: /src/libevent/test/bench_cascade.c:113,1
    - Dst: send
      Src: /src/libevent/test/bench_cascade.c:119,1
    - Dst: perror
      Src: /src/libevent/test/bench_cascade.c:120,1
    - Dst: event_dispatch
      Src: /src/libevent/test/bench_cascade.c:122,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/bench_cascade.c:124,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/bench_cascade.c:125,1
    - Dst: event_del
      Src: /src/libevent/test/bench_cascade.c:128,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/bench_cascade.c:129,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/bench_cascade.c:130,1
    - Dst: free
      Src: /src/libevent/test/bench_cascade.c:133,1
    - Dst: free
      Src: /src/libevent/test/bench_cascade.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - num_pipes
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 137
    functionName: run_once
    functionSourceFile: /src/libevent/test/bench_cascade.c
    functionUses: 1
    functionsReached:
    - perror
    - free
    - exit
    - calloc
    - event_del
    - event_set
    - evutil_socketpair
    - event_add
    - evutil_timerclear
    - send
    - event_dispatch
    - evutil_timersub
    - evutil_gettimeofday
    - evutil_closesocket
    linkageType: ''
    returnType: struct timeval
    signature: 'struct timeval *

      run_once(int num_pipes)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libevent/test/bench_cascade.c:151,1
    - Dst: getopt
      Src: /src/libevent/test/bench_cascade.c:154,1
    - Dst: atoi
      Src: /src/libevent/test/bench_cascade.c:157,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_cascade.c:160,1
    - Dst: exit
      Src: /src/libevent/test/bench_cascade.c:161,1
    - Dst: setrlimit
      Src: /src/libevent/test/bench_cascade.c:167,1
    - Dst: perror
      Src: /src/libevent/test/bench_cascade.c:168,1
    - Dst: exit
      Src: /src/libevent/test/bench_cascade.c:169,1
    - Dst: event_init
      Src: /src/libevent/test/bench_cascade.c:173,1
    - Dst: run_once
      Src: /src/libevent/test/bench_cascade.c:176,1
    - Dst: exit
      Src: /src/libevent/test/bench_cascade.c:178,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_cascade.c:179,1
    - Dst: WSACleanup
      Src: /src/libevent/test/bench_cascade.c:184,1
    - Dst: exit
      Src: /src/libevent/test/bench_cascade.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/libevent/test/bench_cascade.c
    functionUses: 1
    functionsReached:
    - perror
    - exit
    - atoi
    - WSACleanup
    - event_init
    - WSAStartup
    - getopt
    - run_once
    - setrlimit
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/libevent/test/regress_openssl.c:61,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:62,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/libevent/test/regress_openssl.c:64,1
    - Dst: BIO_free
      Src: /src/libevent/test/regress_openssl.c:65,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: ssl_getkey
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - BIO_new_mem_buf
    - BIO_free
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: EVP_PKEY
    signature: 'EVP_PKEY *

      ssl_getkey(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libevent/test/regress_openssl.c:82,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:84,1
    - Dst: X509_new
      Src: /src/libevent/test/regress_openssl.c:86,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:87,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:88,1
    - Dst: X509_set_version
      Src: /src/libevent/test/regress_openssl.c:88,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:89,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libevent/test/regress_openssl.c:89,1
    - Dst: X509_get_serialNumber
      Src: /src/libevent/test/regress_openssl.c:89,1
    - Dst: X509_NAME_new
      Src: /src/libevent/test/regress_openssl.c:91,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:92,1
    - Dst: OBJ_txt2nid
      Src: /src/libevent/test/regress_openssl.c:93,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:94,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:95,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/libevent/test/regress_openssl.c:95,1
    - Dst: X509_set_subject_name
      Src: /src/libevent/test/regress_openssl.c:98,1
    - Dst: X509_set_issuer_name
      Src: /src/libevent/test/regress_openssl.c:99,1
    - Dst: X509_NAME_free
      Src: /src/libevent/test/regress_openssl.c:100,1
    - Dst: X509_time_adj
      Src: /src/libevent/test/regress_openssl.c:102,1
    - Dst: X509_getm_notBefore
      Src: /src/libevent/test/regress_openssl.c:102,1
    - Dst: X509_time_adj
      Src: /src/libevent/test/regress_openssl.c:104,1
    - Dst: X509_getm_notAfter
      Src: /src/libevent/test/regress_openssl.c:104,1
    - Dst: X509_set_pubkey
      Src: /src/libevent/test/regress_openssl.c:105,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:106,1
    - Dst: X509_sign
      Src: /src/libevent/test/regress_openssl.c:106,1
    - Dst: EVP_sha256
      Src: /src/libevent/test/regress_openssl.c:106,1
    - Dst: X509_free
      Src: /src/libevent/test/regress_openssl.c:110,1
    - Dst: X509_NAME_free
      Src: /src/libevent/test/regress_openssl.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 113
    functionName: ssl_getcert
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - X509_new
    - X509_free
    - OBJ_txt2nid
    - X509_NAME_free
    - tt_assert
    - X509_getm_notAfter
    - X509_get_serialNumber
    - ASN1_INTEGER_set
    - X509_set_issuer_name
    - X509_NAME_new
    - X509_sign
    - time
    - X509_getm_notBefore
    - X509_set_subject_name
    - X509_set_version
    - X509_time_adj
    - EVP_sha256
    - X509_NAME_add_entry_by_NID
    - X509_set_pubkey
    linkageType: ''
    returnType: X509
    signature: 'X509 *

      ssl_getcert(EVP_PKEY *key)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/libevent/test/regress_openssl.c:122,1
    - Dst: SSLv23_method
      Src: /src/libevent/test/regress_openssl.c:122,1
    - Dst: SSL_CTX_set_options
      Src: /src/libevent/test/regress_openssl.c:131,1
    - Dst: SSL_CTX_set_options
      Src: /src/libevent/test/regress_openssl.c:136,1
    - Dst: SSL_CTX_set_options
      Src: /src/libevent/test/regress_openssl.c:139,1
    - Dst: SSL_CTX_set_options
      Src: /src/libevent/test/regress_openssl.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 148
    functionName: get_ssl_ctx
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - SSLv23_method
    - SSL_CTX_new
    - SSL_CTX_set_options
    linkageType: ''
    returnType: SSL_CTX
    signature: 'SSL_CTX *

      get_ssl_ctx(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_library_init
      Src: /src/libevent/test/regress_openssl.c:162,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libevent/test/regress_openssl.c:163,1
    - Dst: SSL_load_error_strings
      Src: /src/libevent/test/regress_openssl.c:164,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libevent/test/regress_openssl.c:165,1
    - Dst: SSLeay
      Src: /src/libevent/test/regress_openssl.c:166,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress_openssl.c:167,1
    - Dst: SSLeay
      Src: /src/libevent/test/regress_openssl.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: init_ssl
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - SSL_load_error_strings
    - TT_DECLARE
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - SSL_library_init
    - SSLeay
    linkageType: ''
    returnType: void
    signature: void init_ssl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_ssl
      Src: /src/libevent/test/regress_openssl.c:178,1
    - Dst: ssl_getkey
      Src: /src/libevent/test/regress_openssl.c:180,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_openssl.c:181,1
    - Dst: ssl_getcert
      Src: /src/libevent/test/regress_openssl.c:183,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_openssl.c:184,1
    - Dst: basic_test_setup
      Src: /src/libevent/test/regress_openssl.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 11
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: ssl_test_setup
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - init_ssl
    - EVUTIL_ASSERT
    - ssl_getcert
    - ssl_getkey
    - basic_test_setup
    linkageType: ''
    returnType: void
    signature: 'void *

      ssl_test_setup(const struct testcase_t *testcase)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: basic_test_cleanup
      Src: /src/libevent/test/regress_openssl.c:193,1
    - Dst: X509_free
      Src: /src/libevent/test/regress_openssl.c:208,1
    - Dst: EVP_PKEY_free
      Src: /src/libevent/test/regress_openssl.c:209,1
    - Dst: SSL_CTX_free
      Src: /src/libevent/test/regress_openssl.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 8
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: ssl_test_cleanup
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - X509_free
    - SSL_CTX_free
    - EVP_PKEY_free
    - basic_test_cleanup
    linkageType: ''
    returnType: int
    signature: int ssl_test_cleanup(const struct testcase_t *testcase, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/libevent/test/regress_openssl.c:220,1
    - Dst: BIO_set_data
      Src: /src/libevent/test/regress_openssl.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: bio_rwcount_new
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_set_data
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_rwcount_new(BIO *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_openssl.c:227,1
    - Dst: BIO_get_shutdown
      Src: /src/libevent/test/regress_openssl.c:230,1
    - Dst: BIO_set_init
      Src: /src/libevent/test/regress_openssl.c:231,1
    - Dst: BIO_set_data
      Src: /src/libevent/test/regress_openssl.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: bio_rwcount_free
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_get_shutdown
    - TT_BLATHER
    - BIO_set_data
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_rwcount_free(BIO *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libevent/test/regress_openssl.c:239,1
    - Dst: recv
      Src: /src/libevent/test/regress_openssl.c:240,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress_openssl.c:242,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_openssl.c:242,1
    - Dst: BIO_set_retry_read
      Src: /src/libevent/test/regress_openssl.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - b
    - out
    - outlen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: bio_rwcount_read
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - recv
    - EVUTIL_ERR_RW_RETRIABLE
    - EVUTIL_SOCKET_ERROR
    - BIO_set_retry_read
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_rwcount_read(BIO *b, char *out, int outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libevent/test/regress_openssl.c:250,1
    - Dst: send
      Src: /src/libevent/test/regress_openssl.c:251,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress_openssl.c:253,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_openssl.c:253,1
    - Dst: BIO_set_retry_write
      Src: /src/libevent/test/regress_openssl.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - b
    - in
    - inlen
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: bio_rwcount_write
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ERR_RW_RETRIABLE
    - EVUTIL_SOCKET_ERROR
    - send
    - BIO_set_retry_write
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_rwcount_write(BIO *b, const char *in, int inlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/libevent/test/regress_openssl.c:261,1
    - Dst: BIO_get_shutdown
      Src: /src/libevent/test/regress_openssl.c:268,1
    - Dst: BIO_set_shutdown
      Src: /src/libevent/test/regress_openssl.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 285
    functionName: bio_rwcount_ctrl
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_get_shutdown
    - BIO_get_data
    - BIO_set_shutdown
    linkageType: ''
    returnType: long
    signature: long bio_rwcount_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_rwcount_write
      Src: /src/libevent/test/regress_openssl.c:289,1
    - Dst: strlen
      Src: /src/libevent/test/regress_openssl.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - s
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: bio_rwcount_puts
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - strlen
    - bio_rwcount_write
    linkageType: ''
    returnType: int
    signature: int bio_rwcount_puts(BIO *b, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/libevent/test/regress_openssl.c:298,1
    - Dst: BIO_meth_set_write
      Src: /src/libevent/test/regress_openssl.c:301,1
    - Dst: BIO_meth_set_read
      Src: /src/libevent/test/regress_openssl.c:302,1
    - Dst: BIO_meth_set_puts
      Src: /src/libevent/test/regress_openssl.c:303,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/libevent/test/regress_openssl.c:304,1
    - Dst: BIO_meth_set_create
      Src: /src/libevent/test/regress_openssl.c:305,1
    - Dst: BIO_meth_set_destroy
      Src: /src/libevent/test/regress_openssl.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: BIO_s_rwcount
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_new
    - BIO_meth_set_destroy
    - BIO_meth_set_write
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: 'BIO_METHOD *

      BIO_s_rwcount(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/libevent/test/regress_openssl.c:314,1
    - Dst: BIO_s_rwcount
      Src: /src/libevent/test/regress_openssl.c:314,1
    - Dst: BIO_set_init
      Src: /src/libevent/test/regress_openssl.c:316,1
    - Dst: BIO_set_data
      Src: /src/libevent/test/regress_openssl.c:317,1
    - Dst: BIO_set_shutdown
      Src: /src/libevent/test/regress_openssl.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - close_flag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: BIO_new_rwcount
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_s_rwcount
    - BIO_set_shutdown
    - BIO_set_init
    - BIO_set_data
    linkageType: ''
    returnType: BIO
    signature: 'BIO *

      BIO_new_rwcount(int close_flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_rwcount
      Src: /src/libevent/test/regress_openssl.c:325,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_openssl.c:326,1
    - Dst: BIO_set_data
      Src: /src/libevent/test/regress_openssl.c:327,1
    - Dst: SSL_set_bio
      Src: /src/libevent/test/regress_openssl.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - rw
    argTypes:
    - SSL*
    - struct rwcount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: BIO_setup
    functionSourceFile: /src/libevent/test/regress_openssl.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - BIO_set_data
    - BIO_new_rwcount
    - SSL_set_bio
    linkageType: ''
    returnType: void
    signature: void BIO_setup(SSL *ssl, struct rwcount *rw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/test-closed.c:59,1
    - Dst: exit
      Src: /src/libevent/test/test-closed.c:60,1
    - Dst: printf
      Src: /src/libevent/test/test-closed.c:64,1
    - Dst: printf
      Src: /src/libevent/test/test-closed.c:68,1
    - Dst: exit
      Src: /src/libevent/test/test-closed.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: closed_cb
    functionSourceFile: /src/libevent/test/test-closed.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void closed_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_config_new
      Src: /src/libevent/test/test-closed.c:84,1
    - Dst: perror
      Src: /src/libevent/test/test-closed.c:86,1
    - Dst: event_config_require_features
      Src: /src/libevent/test/test-closed.c:89,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/test-closed.c:90,1
    - Dst: event_config_free
      Src: /src/libevent/test/test-closed.c:91,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/test-closed.c:98,1
    - Dst: perror
      Src: /src/libevent/test/test-closed.c:99,1
    - Dst: send
      Src: /src/libevent/test/test-closed.c:104,1
    - Dst: strlen
      Src: /src/libevent/test/test-closed.c:104,1
    - Dst: perror
      Src: /src/libevent/test/test-closed.c:105,1
    - Dst: shutdown
      Src: /src/libevent/test/test-closed.c:108,1
    - Dst: event_new
      Src: /src/libevent/test/test-closed.c:111,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/test-closed.c:111,1
    - Dst: perror
      Src: /src/libevent/test/test-closed.c:113,1
    - Dst: event_add
      Src: /src/libevent/test/test-closed.c:116,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/test-closed.c:117,1
    - Dst: event_free
      Src: /src/libevent/test/test-closed.c:120,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-closed.c:121,1
    - Dst: event_free
      Src: /src/libevent/test/test-closed.c:126,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-closed.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/libevent/test/test-closed.c
    functionUses: 1
    functionsReached:
    - perror
    - event_base_free
    - event_self_cbarg
    - event_base_new_with_config
    - event_new
    - event_config_free
    - event_free
    - evutil_socketpair
    - event_add
    - send
    - event_base_dispatch
    - event_config_require_features
    - shutdown
    - event_config_new
    - strlen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/bench_httpclient.c:76,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/bench_httpclient.c:77,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/bench_httpclient.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: readcb
    functionSourceFile: /src/libevent/test/bench_httpclient.c
    functionUses: 3
    functionsReached:
    - bufferevent_get_input
    - evbuffer_drain
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void readcb(struct bufferevent *b, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/bench_httpclient.c:91,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/bench_httpclient.c:92,1
    - Dst: evutil_timeradd
      Src: /src/libevent/test/bench_httpclient.c:93,1
    - Dst: printf
      Src: /src/libevent/test/bench_httpclient.c:96,1
    - Dst: launch_request
      Src: /src/libevent/test/bench_httpclient.c:99,1
    - Dst: perror
      Src: /src/libevent/test/bench_httpclient.c:100,1
    - Dst: perror
      Src: /src/libevent/test/bench_httpclient.c:104,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/bench_httpclient.c:107,1
    - Dst: free
      Src: /src/libevent/test/bench_httpclient.c:108,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/bench_httpclient.c:109,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/bench_httpclient.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - b
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: errorcb
    functionSourceFile: /src/libevent/test/bench_httpclient.c
    functionUses: 5
    functionsReached:
    - perror
    - free
    - launch_request
    - bufferevent_free
    - bufferevent_disable
    - bufferevent_setcb
    - evutil_timeradd
    - evutil_timersub
    - evutil_gettimeofday
    - printf
    linkageType: ''
    returnType: void
    signature: void errorcb(struct bufferevent *b, short what, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libevent/test/bench_httpclient.c:120,1
    - Dst: perror
      Src: /src/libevent/test/bench_httpclient.c:121,1
    - Dst: setsockopt
      Src: /src/libevent/test/bench_httpclient.c:125,1
    - Dst: perror
      Src: /src/libevent/test/bench_httpclient.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: frob_socket
    functionSourceFile: /src/libevent/test/bench_httpclient.c
    functionUses: 0
    functionsReached:
    - perror
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void frob_socket(evutil_socket_t sock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/bench_httpclient.c:139,1
    - Dst: htonl
      Src: /src/libevent/test/bench_httpclient.c:144,1
    - Dst: htons
      Src: /src/libevent/test/bench_httpclient.c:145,1
    - Dst: socket
      Src: /src/libevent/test/bench_httpclient.c:146,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/bench_httpclient.c:148,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/bench_httpclient.c:149,1
    - Dst: frob_socket
      Src: /src/libevent/test/bench_httpclient.c:152,1
    - Dst: connect
      Src: /src/libevent/test/bench_httpclient.c:153,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/test/bench_httpclient.c:154,1
    - Dst: EVUTIL_ERR_CONNECT_RETRIABLE
      Src: /src/libevent/test/bench_httpclient.c:155,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/bench_httpclient.c:156,1
    - Dst: malloc
      Src: /src/libevent/test/bench_httpclient.c:161,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/bench_httpclient.c:163,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/bench_httpclient.c:165,1
    - Dst: perror
      Src: /src/libevent/test/bench_httpclient.c:167,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/bench_httpclient.c:168,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/bench_httpclient.c:171,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/bench_httpclient.c:172,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/bench_httpclient.c:174,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/bench_httpclient.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 130
    functionDepth: 9
    functionLinenumber: 130
    functionLinenumberEnd: 178
    functionName: launch_request
    functionSourceFile: /src/libevent/test/bench_httpclient.c
    functionUses: 1
    functionsReached:
    - perror
    - bufferevent_enable
    - memset
    - frob_socket
    - socket
    - evutil_socket_geterror
    - evutil_closesocket
    - evbuffer_add_printf
    - bufferevent_setcb
    - malloc
    - bufferevent_socket_new
    - evutil_make_socket_nonblocking
    - htons
    - bufferevent_get_output
    - evutil_gettimeofday
    - connect
    - htonl
    - EVUTIL_ERR_CONNECT_RETRIABLE
    linkageType: ''
    returnType: int
    signature: int launch_request(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libevent/test/bench_httpclient.c:191,1
    - Dst: setvbuf
      Src: /src/libevent/test/bench_httpclient.c:196,1
    - Dst: event_base_new
      Src: /src/libevent/test/bench_httpclient.c:198,1
    - Dst: launch_request
      Src: /src/libevent/test/bench_httpclient.c:205,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_httpclient.c:206,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/bench_httpclient.c:209,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/bench_httpclient.c:211,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/bench_httpclient.c:213,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/bench_httpclient.c:214,1
    - Dst: puts
      Src: /src/libevent/test/bench_httpclient.c:218,1
    - Dst: printf
      Src: /src/libevent/test/bench_httpclient.c:234,1
    - Dst: WSACleanup
      Src: /src/libevent/test/bench_httpclient.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 181
    functionDepth: 10
    functionLinenumber: 181
    functionLinenumberEnd: 248
    functionName: main
    functionSourceFile: /src/libevent/test/bench_httpclient.c
    functionUses: 1
    functionsReached:
    - WSACleanup
    - printf
    - WSAStartup
    - setvbuf
    - event_base_dispatch
    - evutil_timersub
    - fprintf
    - puts
    - launch_request
    - evutil_gettimeofday
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: MIN
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/test-ratelim.c:131,1
    - Dst: evutil_weakrand_
      Src: /src/libevent/test/test-ratelim.c:133,1
    - Dst: memset
      Src: /src/libevent/test/test-ratelim.c:134,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/test-ratelim.c:135,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/test-ratelim.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 7
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: loud_writecb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - memset
    - evbuffer_get_length
    - evutil_weakrand_
    - bufferevent_get_output
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: void loud_writecb(struct bufferevent *bev, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/test-ratelim.c:145,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/test-ratelim.c:146,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/test-ratelim.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: discard_readcb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_drain
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void discard_readcb(struct bufferevent *bev, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loud_writecb
      Src: /src/libevent/test/test-ratelim.c:155,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/test-ratelim.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: write_on_connectedcb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - loud_writecb
    linkageType: ''
    returnType: void
    signature: void write_on_connectedcb(struct bufferevent *bev, short what, void
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/test-ratelim.c:164,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/test-ratelim.c:165,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/test-ratelim.c:167,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/test-ratelim.c:168,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/test-ratelim.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: echo_readcb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - bufferevent_disable
    - evbuffer_get_length
    - evbuffer_add_buffer
    - bufferevent_get_output
    linkageType: ''
    returnType: void
    signature: void echo_readcb(struct bufferevent *bev, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/test-ratelim.c:175,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/test-ratelim.c:176,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/test-ratelim.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: echo_writecb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - bufferevent_enable
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void echo_writecb(struct bufferevent *bev, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_free
      Src: /src/libevent/test/test-ratelim.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 6
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: echo_eventcb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    linkageType: ''
    returnType: void
    signature: void echo_eventcb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/test-ratelim.c:197,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/test-ratelim.c:198,1
    - Dst: event_new
      Src: /src/libevent/test/test-ratelim.c:201,1
    - Dst: bufferevent_set_rate_limit
      Src: /src/libevent/test/test-ratelim.c:202,1
    - Dst: assert
      Src: /src/libevent/test/test-ratelim.c:204,1
    - Dst: bufferevent_get_token_bucket_cfg
      Src: /src/libevent/test/test-ratelim.c:204,1
    - Dst: event_add
      Src: /src/libevent/test/test-ratelim.c:205,1
    - Dst: bufferevent_add_to_rate_limit_group
      Src: /src/libevent/test/test-ratelim.c:208,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/test-ratelim.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - listener
    - newsock
    - sourceaddr
    - socklen
    - ctx
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts:
    - condition: (bufferevent_get_token_bucket_cfg(bev) != NULL)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/libevent/test/test-ratelim.c
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: echo_listenercb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - bufferevent_add_to_rate_limit_group
    - bufferevent_get_token_bucket_cfg
    - event_new
    - bufferevent_setcb
    - bufferevent_set_rate_limit
    - event_add
    - bufferevent_socket_new
    - assert
    linkageType: ''
    returnType: void
    signature: "void echo_listenercb(struct evconnlistener *listener, evutil_socket_t
      newsock,\n    struct sockaddr *sourceaddr, int socklen, void *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_read_limit
      Src: /src/libevent/test/test-ratelim.c:219,1
    - Dst: bufferevent_get_write_limit
      Src: /src/libevent/test/test-ratelim.c:220,1
    - Dst: bufferevent_get_max_to_read
      Src: /src/libevent/test/test-ratelim.c:221,1
    - Dst: bufferevent_get_max_to_write
      Src: /src/libevent/test/test-ratelim.c:222,1
    - Dst: B
      Src: /src/libevent/test/test-ratelim.c:234,1
    - Dst: B
      Src: /src/libevent/test/test-ratelim.c:235,1
    - Dst: event_free
      Src: /src/libevent/test/test-ratelim.c:240,1
    - Dst: event_base_get_running_event
      Src: /src/libevent/test/test-ratelim.c:240,1
    - Dst: bufferevent_get_base
      Src: /src/libevent/test/test-ratelim.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 214
    functionDepth: 6
    functionLinenumber: 214
    functionLinenumberEnd: 242
    functionName: check_bucket_levels_cb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_max_to_write
    - bufferevent_get_read_limit
    - bufferevent_get_base
    - bufferevent_get_write_limit
    - event_free
    - bufferevent_get_max_to_read
    - B
    - event_base_get_running_event
    linkageType: ''
    returnType: void
    signature: void check_bucket_levels_cb(evutil_socket_t fd, short events, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: B
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_rate_limit_group_get_read_limit
      Src: /src/libevent/test/test-ratelim.c:248,1
    - Dst: bufferevent_rate_limit_group_get_write_limit
      Src: /src/libevent/test/test-ratelim.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: check_group_bucket_levels_cb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_rate_limit_group_get_write_limit
    - bufferevent_rate_limit_group_get_read_limit
    linkageType: ''
    returnType: void
    signature: void check_group_bucket_levels_cb(evutil_socket_t fd, short events,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_rate_limit_group_decrement_read
      Src: /src/libevent/test/test-ratelim.c:259,1
    - Dst: bufferevent_rate_limit_group_decrement_write
      Src: /src/libevent/test/test-ratelim.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: group_drain_cb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_rate_limit_group_decrement_read
    - bufferevent_rate_limit_group_decrement_write
    linkageType: ''
    returnType: void
    signature: void group_drain_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/test-ratelim.c:271,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/test-ratelim.c:272,1
    - Dst: event_del
      Src: /src/libevent/test/test-ratelim.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: timer_bias_cb
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - evutil_timersub
    - evutil_gettimeofday
    - event_del
    linkageType: ''
    returnType: void
    signature: void timer_bias_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: event_config_new
      Src: /src/libevent/test/test-ratelim.c:288,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/test-ratelim.c:291,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/test-ratelim.c:293,1
    - Dst: event_new
      Src: /src/libevent/test/test-ratelim.c:297,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/test-ratelim.c:297,1
    - Dst: event_add
      Src: /src/libevent/test/test-ratelim.c:298,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/test-ratelim.c:302,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/test-ratelim.c:303,1
    - Dst: event_config_free
      Src: /src/libevent/test/test-ratelim.c:308,1
    - Dst: event_free
      Src: /src/libevent/test/test-ratelim.c:310,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-ratelim.c:312,1
    - Dst: MIN
      Src: /src/libevent/test/test-ratelim.c:315,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 279
    functionDepth: 6
    functionLinenumber: 279
    functionLinenumberEnd: 319
    functionName: timer_bias_calculate
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - event_base_free
    - event_self_cbarg
    - event_base_new_with_config
    - MIN
    - event_new
    - event_config_set_flag
    - event_config_free
    - event_free
    - event_add
    - event_base_dispatch
    - fprintf
    - event_config_new
    - evutil_gettimeofday
    linkageType: ''
    returnType: double
    signature: double timer_bias_calculate(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/test-ratelim.c:345,1
    - Dst: htonl
      Src: /src/libevent/test/test-ratelim.c:347,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/test/test-ratelim.c:351,1
    - Dst: timer_bias_calculate
      Src: /src/libevent/test/test-ratelim.c:353,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:355,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:360,1
    - Dst: event_config_new
      Src: /src/libevent/test/test-ratelim.c:363,1
    - Dst: evthread_use_windows_threads
      Src: /src/libevent/test/test-ratelim.c:368,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/test-ratelim.c:370,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/test-ratelim.c:374,1
    - Dst: event_config_free
      Src: /src/libevent/test/test-ratelim.c:375,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:377,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/test-ratelim.c:381,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:385,1
    - Dst: getsockname
      Src: /src/libevent/test/test-ratelim.c:390,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/test-ratelim.c:390,1
    - Dst: perror
      Src: /src/libevent/test/test-ratelim.c:392,1
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/test-ratelim.c:397,1
    - Dst: assert
      Src: /src/libevent/test/test-ratelim.c:401,1
    - Dst: ev_token_bucket_cfg_new
      Src: /src/libevent/test/test-ratelim.c:405,1
    - Dst: bufferevent_rate_limit_group_new
      Src: /src/libevent/test/test-ratelim.c:409,1
    - Dst: bufferevent_rate_limit_group_set_min_share
      Src: /src/libevent/test/test-ratelim.c:416,1
    - Dst: calloc
      Src: /src/libevent/test/test-ratelim.c:428,1
    - Dst: calloc
      Src: /src/libevent/test/test-ratelim.c:429,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/test-ratelim.c:432,1
    - Dst: assert
      Src: /src/libevent/test/test-ratelim.c:434,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/test-ratelim.c:435,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/test-ratelim.c:437,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/test-ratelim.c:438,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/test-ratelim.c:445,1
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/test-ratelim.c:449,1
    - Dst: event_new
      Src: /src/libevent/test/test-ratelim.c:451,1
    - Dst: event_add
      Src: /src/libevent/test/test-ratelim.c:452,1
    - Dst: event_new
      Src: /src/libevent/test/test-ratelim.c:455,1
    - Dst: event_add
      Src: /src/libevent/test/test-ratelim.c:456,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/test-ratelim.c:459,1
    - Dst: event_free
      Src: /src/libevent/test/test-ratelim.c:462,1
    - Dst: event_free
      Src: /src/libevent/test/test-ratelim.c:464,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/test-ratelim.c:467,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/test-ratelim.c:469,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:476,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/test-ratelim.c:479,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/test-ratelim.c:480,1
    - Dst: bufferevent_rate_limit_group_free
      Src: /src/libevent/test/test-ratelim.c:484,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:487,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:489,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:491,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:493,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:495,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:497,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:501,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:503,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:516,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:518,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:523,1
    - Dst: fabs
      Src: /src/libevent/test/test-ratelim.c:525,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:526,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:531,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:535,1
    - Dst: fabs
      Src: /src/libevent/test/test-ratelim.c:537,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:538,1
    - Dst: printf
      Src: /src/libevent/test/test-ratelim.c:545,1
    - Dst: sqrt
      Src: /src/libevent/test/test-ratelim.c:545,1
    - Dst: sqrt
      Src: /src/libevent/test/test-ratelim.c:547,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:548,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-ratelim.c:552,1
    - Dst: free
      Src: /src/libevent/test/test-ratelim.c:553,1
    - Dst: free
      Src: /src/libevent/test/test-ratelim.c:554,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (conn_bucket_cfg)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/libevent/test/test-ratelim.c
    - condition: (bevs[i])
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/libevent/test/test-ratelim.c
    constantsTouched: []
    func_position:
      end: 557
      start: 321
    functionDepth: 7
    functionLinenumber: 321
    functionLinenumberEnd: 557
    functionName: test_ratelimiting
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_socket_connect
    - timer_bias_calculate
    - getsockname
    - bufferevent_rate_limit_group_free
    - fabs
    - bufferevent_setcb
    - event_free
    - ev_token_bucket_cfg_new
    - event_base_dispatch
    - assert
    - bufferevent_rate_limit_group_new
    - bufferevent_enable
    - calloc
    - event_new
    - evthread_use_windows_threads
    - event_config_set_flag
    - sqrt
    - evconnlistener_new_bind
    - perror
    - free
    - event_base_loopexit
    - event_base_free
    - event_base_new_with_config
    - event_base_init_common_timeout
    - event_config_free
    - event_add
    - bufferevent_socket_new
    - htonl
    - memset
    - evconnlistener_get_fd
    - evconnlistener_free
    - event_enable_debug_mode
    - bufferevent_rate_limit_group_set_min_share
    - fprintf
    - event_config_new
    - printf
    linkageType: ''
    returnType: int
    signature: int test_ratelimiting(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:590,1
    - Dst: strtol
      Src: /src/libevent/test/test-ratelim.c:593,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:595,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - argc
    - argv
    - i
    - opt
    argTypes:
    - int
    - char**
    - int*
    - struct option*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 607
    functionName: handle_option
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 0
    functionsReached:
    - strtol
    - fprintf
    linkageType: ''
    returnType: int
    signature: int handle_option(int argc, char **argv, int *i, const struct option
      *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:612,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: usage
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/test/test-ratelim.c:634,1
    - Dst: WSAStartup
      Src: /src/libevent/test/test-ratelim.c:637,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/test/test-ratelim.c:640,1
    - Dst: signal
      Src: /src/libevent/test/test-ratelim.c:643,1
    - Dst: strcmp
      Src: /src/libevent/test/test-ratelim.c:648,1
    - Dst: handle_option
      Src: /src/libevent/test/test-ratelim.c:649,1
    - Dst: fprintf
      Src: /src/libevent/test/test-ratelim.c:654,1
    - Dst: usage
      Src: /src/libevent/test/test-ratelim.c:655,1
    - Dst: usage
      Src: /src/libevent/test/test-ratelim.c:661,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/test-ratelim.c:675,1
    - Dst: srand
      Src: /src/libevent/test/test-ratelim.c:677,1
    - Dst: srandom
      Src: /src/libevent/test/test-ratelim.c:679,1
    - Dst: evthread_enable_lock_debugging
      Src: /src/libevent/test/test-ratelim.c:684,1
    - Dst: test_ratelimiting
      Src: /src/libevent/test/test-ratelim.c:687,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 627
    functionDepth: 8
    functionLinenumber: 627
    functionLinenumberEnd: 688
    functionName: main
    functionSourceFile: /src/libevent/test/test-ratelim.c
    functionUses: 1
    functionsReached:
    - srand
    - handle_option
    - srandom
    - test_ratelimiting
    - signal
    - WSAStartup
    - evthread_enable_lock_debugging
    - usage
    - fprintf
    - strcmp
    - MAKEWORD
    - evutil_gettimeofday
    - evutil_weakrand_seed_
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - groups
    - ','
    - named
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: tinytest_skip
    functionSourceFile: /src/libevent/test/tinytest.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tinytest_skip(groups, named)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/libevent/test/regress_testutils.c:86,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_testutils.c:89,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_testutils.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: regress_get_socket_port
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 1
    functionsReached:
    - getsockname
    - ntohs
    linkageType: ''
    returnType: int
    signature: int regress_get_socket_port(evutil_socket_t fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libevent/test/regress_testutils.c:107,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_testutils.c:109,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress_testutils.c:112,1
    - Dst: memset
      Src: /src/libevent/test/regress_testutils.c:114,1
    - Dst: htons
      Src: /src/libevent/test/regress_testutils.c:116,1
    - Dst: inet_addr
      Src: /src/libevent/test/regress_testutils.c:117,1
    - Dst: bind
      Src: /src/libevent/test/regress_testutils.c:118,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:119,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_testutils.c:120,1
    - Dst: evdns_add_server_port_with_base
      Src: /src/libevent/test/regress_testutils.c:122,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_testutils.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - base
    - portnum
    - psock
    - cb
    - arg
    argTypes:
    - struct event_base*
    - ev_uint16_t*
    - evutil_socket_t*
    - evdns_request_callback_fn_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 131
    functionName: regress_get_udp_dnsserver
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - bind
    - memset
    - regress_get_socket_port
    - socket
    - inet_addr
    - evdns_add_server_port_with_base
    - htons
    - evutil_make_socket_nonblocking
    - tt_abort_perror
    - evutil_closesocket
    linkageType: ''
    returnType: struct evdns_server_port
    signature: "struct evdns_server_port *\nregress_get_udp_dnsserver(struct event_base
      *base,\n    ev_uint16_t *portnum,\n    evutil_socket_t *psock,\n    evdns_request_callback_fn_type
      cb,\n    void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_testutils.c:145,1
    - Dst: htons
      Src: /src/libevent/test/regress_testutils.c:147,1
    - Dst: htonl
      Src: /src/libevent/test/regress_testutils.c:148,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_testutils.c:150,1
    - Dst: evdns_add_server_port_with_listener
      Src: /src/libevent/test/regress_testutils.c:155,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_testutils.c:159,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_testutils.c:161,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_testutils.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - base
    - portnum
    - psock
    - cb
    - arg
    argTypes:
    - struct event_base*
    - ev_uint16_t*
    - evutil_socket_t*
    - evdns_request_callback_fn_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 170
    functionName: regress_get_tcp_dnsserver
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - evdns_add_server_port_with_listener
    - memset
    - regress_get_socket_port
    - evconnlistener_get_fd
    - evconnlistener_free
    - htons
    - evconnlistener_new_bind
    - htonl
    linkageType: ''
    returnType: struct evdns_server_port
    signature: "struct evdns_server_port *\nregress_get_tcp_dnsserver(struct event_base
      *base,\n\tev_uint16_t *portnum,\n\tevutil_socket_t *psock,\n\tevdns_request_callback_fn_type
      cb,\n\tvoid *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_testutils.c:176,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:180,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_testutils.c:185,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_testutils.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: regress_clean_dnsserver
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - evdns_close_server_port
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void regress_clean_dnsserver(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_TOLOWER_
      Src: /src/libevent/test/regress_testutils.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: strtolower
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - EVUTIL_TOLOWER_
    linkageType: ''
    returnType: void
    signature: void strtolower(char *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:208,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_testutils.c:213,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:214,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:217,1
    - Dst: strtolower
      Src: /src/libevent/test/regress_testutils.c:222,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:224,1
    - Dst: atoi
      Src: /src/libevent/test/regress_testutils.c:225,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:227,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_testutils.c:227,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:229,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_testutils.c:229,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:232,1
    - Dst: atoi
      Src: /src/libevent/test/regress_testutils.c:233,1
    - Dst: evdns_server_request_add_reply
      Src: /src/libevent/test/regress_testutils.c:243,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:247,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_testutils.c:247,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:249,1
    - Dst: parse_csv_address_list
      Src: /src/libevent/test/regress_testutils.c:251,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_testutils.c:251,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_testutils.c:252,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:253,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_testutils.c:255,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:256,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_testutils.c:258,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_testutils.c:260,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_testutils.c:262,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_testutils.c:263,1
    - Dst: evdns_server_request_add_cname_reply
      Src: /src/libevent/test/regress_testutils.c:264,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:266,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:268,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_testutils.c:268,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_testutils.c:271,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_testutils.c:271,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 201
    functionDepth: 6
    functionLinenumber: 201
    functionLinenumberEnd: 272
    functionName: regress_dns_server_cb
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_server_request_respond
    - strtolower
    - atoi
    - parse_csv_address_list
    - evdns_server_request_add_a_reply
    - evutil_inet_pton
    - evdns_server_request_add_reply
    - evdns_server_request_add_aaaa_reply
    - tt_want
    - evdns_server_request_add_cname_reply
    - TT_DIE
    - strcmp
    - evdns_server_request_drop
    - ARRAY_SIZE
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void regress_dns_server_cb(struct evdns_server_request *req, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: regress_get_tcp_dnsserver
      Src: /src/libevent/test/regress_testutils.c:283,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_testutils.c:290,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_testutils.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - base
    - port
    - udp_seach_table
    - tcp_seach_table
    argTypes:
    - struct event_base*
    - ev_uint16_t*
    - struct regress_dns_server_table*
    - struct regress_dns_server_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 274
    functionDepth: 6
    functionLinenumber: 274
    functionLinenumberEnd: 300
    functionName: regress_dnsserver
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 0
    functionsReached:
    - regress_clean_dnsserver
    - regress_get_tcp_dnsserver
    - regress_get_udp_dnsserver
    linkageType: ''
    returnType: int
    signature: "int regress_dnsserver(struct event_base *base, ev_uint16_t *port,\n\tstruct
      regress_dns_server_table *udp_seach_table,\n\tstruct regress_dns_server_table
      *tcp_seach_table)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_testutils.c:306,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_testutils.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - lev
    - sa
    - socklen
    argTypes:
    - struct evconnlistener*
    - struct sockaddr*
    - ev_socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: regress_get_listener_addr
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 2
    functionsReached:
    - getsockname
    - evconnlistener_get_fd
    linkageType: ''
    returnType: int
    signature: "int regress_get_listener_addr(struct evconnlistener *lev,\n    struct
      sockaddr *sa, ev_socklen_t *socklen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:320,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:321,1
    - Dst: strlen
      Src: /src/libevent/test/regress_testutils.c:321,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_testutils.c:321,1
    - Dst: strcpy
      Src: /src/libevent/test/regress_testutils.c:322,1
    - Dst: strtok
      Src: /src/libevent/test/regress_testutils.c:323,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_testutils.c:325,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_testutils.c:328,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_testutils.c:329,1
    - Dst: strtok
      Src: /src/libevent/test/regress_testutils.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - s
    - family
    - addrs
    - addrs_size
    argTypes:
    - char*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 336
    functionName: parse_csv_address_list
    functionSourceFile: /src/libevent/test/regress_testutils.c
    functionUses: 1
    functionsReached:
    - tt_assert
    - strcpy
    - evutil_inet_pton
    - TT_DIE
    - strtok
    - strlen
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int parse_csv_address_list(const char *s, int family, void *addrs,
      size_t addrs_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:79,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:80,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:85,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:94,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:96,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:101,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:106,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:107,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:108,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:112,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:116,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:118,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct evbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 124
    functionName: evbuffer_validate_
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    linkageType: ''
    returnType: int
    signature: int evbuffer_validate_(struct evbuffer *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - buf
    - allocatedp
    - wastedp
    - usedp
    argTypes:
    - struct evbuffer*
    - size_t*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 163
    functionName: evbuffer_get_waste
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evbuffer_get_waste(struct evbuffer *buf, size_t *allocatedp, size_t
      *wastedp, size_t *usedp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: evbuffer_validate
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evbuffer_validate(buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:172,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:173,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:177,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:178,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:179,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:181,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:181,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:182,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:182,1
    - Dst: EVBUFFER_DATA
      Src: /src/libevent/test/regress_buffer.c:182,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:184,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:185,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:187,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:187,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:188,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:189,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:189,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:190,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:190,1
    - Dst: EVBUFFER_DATA
      Src: /src/libevent/test/regress_buffer.c:190,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:192,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:193,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:194,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:195,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:197,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:197,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:198,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:198,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:199,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:199,1
    - Dst: EVBUFFER_DATA
      Src: /src/libevent/test/regress_buffer.c:199,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:201,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:202,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:203,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:204,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:204,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:206,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:207,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:208,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_buffer.c:208,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:209,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:209,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:210,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:212,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:213,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:214,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:215,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:217,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:218,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_buffer.c:218,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:219,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:221,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:222,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:223,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:224,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:227,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:228,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:229,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:230,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:231,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:234,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:234,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:235,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:235,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/test/regress_buffer.c:239,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:240,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:240,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:241,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:241,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:242,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:244,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:244,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:246,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:246,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_buffer.c:248,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:250,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:260,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:261,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:262,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:263,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:265,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:270,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:272,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:272,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:273,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:275,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:275,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:277,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:278,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:283,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 78
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 168
    functionDepth: 9
    functionLinenumber: 168
    functionLinenumberEnd: 285
    functionName: test_evbuffer
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_abort_msg
    - strncmp
    - strlen
    - evbuffer_add_printf
    - evbuffer_commit_space
    - tt_assert
    - tt_int_op
    - evbuffer_pullup
    - evbuffer_prepend
    - evbuffer_add
    - evbuffer_drain
    - evbuffer_free
    - EVBUFFER_DATA
    - memcmp
    - memset
    - evbuffer_reserve_space
    - evbuffer_get_length
    - evbuffer_validate
    - evbuffer_add_buffer
    - evbuffer_remove_buffer
    - evbuffer_new
    linkageType: ''
    returnType: void
    signature: void test_evbuffer(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - datalen
    - extra
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: no_cleanup
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void no_cleanup(const void *data, size_t datalen, void *extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:295,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:296,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:299,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:300,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:304,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:305,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:307,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:308,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:310,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:311,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:313,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:313,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:314,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:314,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/test/regress_buffer.c:317,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:319,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:320,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:322,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:322,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:323,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:323,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:326,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 292
    functionDepth: 7
    functionLinenumber: 292
    functionLinenumberEnd: 328
    functionName: test_evbuffer_remove_buffer_with_empty
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_pullup
    - evbuffer_validate
    - tt_mem_op
    - evbuffer_free
    - evbuffer_remove_buffer
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_remove_buffer_with_empty(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:333,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:334,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:335,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:337,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:338,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:340,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:341,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:342,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:344,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:345,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:347,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:348,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:349,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:351,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:351,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:352,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:352,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:354,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:355,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:357,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:357,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:358,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:358,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/test/regress_buffer.c:360,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:362,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:363,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:365,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:365,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:366,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:366,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:368,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:368,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:369,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:369,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:372,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:373,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 330
    functionDepth: 7
    functionLinenumber: 330
    functionLinenumberEnd: 375
    functionName: test_evbuffer_remove_buffer_with_empty2
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evbuffer_get_length
    - evbuffer_pullup
    - evbuffer_validate
    - tt_mem_op
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_remove_buffer
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_remove_buffer_with_empty2(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:380,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:381,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:382,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:384,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:385,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:387,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:388,1
    - Dst: evbuffer_prepend_buffer
      Src: /src/libevent/test/regress_buffer.c:389,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:391,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:392,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:394,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:395,1
    - Dst: evbuffer_prepend_buffer
      Src: /src/libevent/test/regress_buffer.c:396,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:398,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:398,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:399,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:399,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:401,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:402,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:404,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:404,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:405,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:405,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/test/regress_buffer.c:407,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:409,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:410,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:412,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:412,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:413,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:413,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:415,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:415,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:416,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:416,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:419,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:420,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 377
    functionDepth: 7
    functionLinenumber: 377
    functionLinenumberEnd: 422
    functionName: test_evbuffer_remove_buffer_with_empty3
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evbuffer_prepend_buffer
    - evbuffer_get_length
    - evbuffer_pullup
    - evbuffer_validate
    - tt_mem_op
    - evbuffer_free
    - evbuffer_remove_buffer
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_remove_buffer_with_empty3(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:429,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:430,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:431,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:432,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:433,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:433,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:434,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:434,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:436,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:437,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:438,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:439,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:439,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:440,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:440,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:442,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:443,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:444,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:445,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:446,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:447,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:447,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 424
    functionDepth: 7
    functionLinenumber: 424
    functionLinenumberEnd: 452
    functionName: test_evbuffer_pullup_with_empty
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_get_length
    - evbuffer_pullup
    - evbuffer_validate
    - tt_mem_op
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_pullup_with_empty(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:459,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:460,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:462,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:463,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:465,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:465,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:466,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:466,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:467,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/test/regress_buffer.c:467,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:468,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:468,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:469,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:469,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:471,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:472,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:476,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 454
    functionDepth: 7
    functionLinenumber: 454
    functionLinenumberEnd: 479
    functionName: test_evbuffer_remove_buffer_with_empty_front
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_new
    - evbuffer_pullup
    - evbuffer_validate
    - tt_mem_op
    - evbuffer_free
    - evbuffer_remove_buffer
    - evbuffer_prepend
    - evbuffer_add
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_remove_buffer_with_empty_front(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:486,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:487,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:489,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:490,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:492,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:492,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:499,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:499,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:500,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:501,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:502,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:503,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:504,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:504,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:509,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:509,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:510,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:510,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:514,1
    - Dst: evbuffer_prepend_buffer
      Src: /src/libevent/test/regress_buffer.c:514,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:518,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:518,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:522,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/test/regress_buffer.c:522,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:525,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:525,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:527,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:528,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:532,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 481
    functionDepth: 7
    functionLinenumber: 481
    functionLinenumberEnd: 535
    functionName: test_evbuffer_remove_buffer_adjust_last_with_datap_with_empty
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_prepend
    - tt_int_op
    - evbuffer_prepend_buffer
    - evbuffer_reserve_space
    - evbuffer_pullup
    - evbuffer_validate
    - tt_mem_op
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_remove_buffer
    - evbuffer_new
    - evbuffer_add
    - evbuffer_commit_space
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_remove_buffer_adjust_last_with_datap_with_empty(void
      *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:540,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:541,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:542,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:544,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:546,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:547,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:548,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:550,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:552,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:553,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:554,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:556,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:556,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:557,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:557,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:559,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:560,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:563,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:564,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 537
    functionDepth: 7
    functionLinenumber: 537
    functionLinenumberEnd: 566
    functionName: test_evbuffer_add_buffer_with_empty
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evbuffer_get_length
    - evbuffer_validate
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add_buffer_with_empty(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:571,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:572,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:573,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:575,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:577,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:578,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:580,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:582,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:583,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:585,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:585,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:586,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:586,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:588,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:589,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:592,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:593,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 7
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: test_evbuffer_add_buffer_with_empty2
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evbuffer_get_length
    - evbuffer_validate
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add_buffer_with_empty2(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:601,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:608,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:609,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:610,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:610,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:611,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:612,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:613,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:617,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:618,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:618,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:619,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:619,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:620,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:624,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:625,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:626,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:627,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:628,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:630,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:630,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:631,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:631,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:633,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:637,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:638,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:639,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:640,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:641,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:642,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:644,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:646,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:646,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:647,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:647,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:649,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:653,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:654,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:655,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:656,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:657,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:658,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:659,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:660,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:662,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:664,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:664,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:665,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:665,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:666,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:669,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:670,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:671,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:672,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:673,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:677,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:679,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:681,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:683,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:687,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 71
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 597
    functionDepth: 4
    functionLinenumber: 597
    functionLinenumberEnd: 691
    functionName: test_evbuffer_reserve2
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_peek
    - memset
    - evbuffer_reserve_space
    - evbuffer_get_length
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - evbuffer_commit_space
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_reserve2(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:698,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_buffer.c:702,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_buffer.c:703,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:707,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:708,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:709,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:710,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:716,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:717,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:719,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:720,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:721,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:722,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:723,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:725,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:730,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:731,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:732,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:734,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:736,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:738,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:744,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:745,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:746,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:747,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:748,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:753,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:754,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:756,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:757,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:759,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 693
    functionDepth: 4
    functionLinenumber: 693
    functionLinenumberEnd: 764
    functionName: test_evbuffer_reserve_many
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - evbuffer_reserve_space
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - strcmp
    - evbuffer_commit_space
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_reserve_many(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:772,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:772,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:773,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:774,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:774,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:777,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:777,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:778,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:779,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:779,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:781,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 766
    functionDepth: 7
    functionLinenumber: 766
    functionLinenumberEnd: 786
    functionName: test_evbuffer_reserve_with_empty
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_reserve_space
    - evbuffer_pullup
    - evbuffer_validate
    - tt_mem_op
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - evbuffer_commit_space
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_reserve_with_empty(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_buffer.c:795,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:798,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:799,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:802,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:803,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:805,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:807,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:807,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:810,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:810,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:814,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:814,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:816,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 790
    functionDepth: 7
    functionLinenumber: 790
    functionLinenumberEnd: 821
    functionName: test_evbuffer_reserve_invalid_last_with_datap
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_new
    - evbuffer_reserve_space
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_prepend
    - evbuffer_add
    - evbuffer_commit_space
    - ARRAY_SIZE
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_reserve_invalid_last_with_datap(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:831,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:834,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:835,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:835,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:836,1
    - Dst: evbuffer_get_waste
      Src: /src/libevent/test/regress_buffer.c:838,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:839,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:840,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:841,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:842,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:843,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:844,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:845,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:850,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:851,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:851,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:852,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:853,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:854,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:858,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:859,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:862,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:863,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:865,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:866,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:867,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:868,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:868,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:869,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:870,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:872,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:872,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:873,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:874,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:875,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:876,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:877,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:878,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:881,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:883,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:884,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:885,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:887,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:888,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:889,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:890,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:891,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 823
    functionDepth: 8
    functionLinenumber: 823
    functionLinenumberEnd: 895
    functionName: test_evbuffer_expand
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_expand
    - tt_assert
    - tt_int_op
    - evbuffer_drain
    - memset
    - evbuffer_get_length
    - evbuffer_pullup
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - evbuffer_get_waste
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_expand(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:902,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:903,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:904,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:905,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:907,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:908,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 897
    functionDepth: 8
    functionLinenumber: 897
    functionLinenumberEnd: 912
    functionName: test_evbuffer_expand_overflow
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_expand
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_expand_overflow(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:920,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:921,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:922,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:923,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:924,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:925,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:926,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:927,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:928,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:930,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:930,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:931,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:932,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:933,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:934,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 914
    functionDepth: 9
    functionLinenumber: 914
    functionLinenumberEnd: 937
    functionName: test_evbuffer_add1
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_expand
    - tt_assert
    - evbuffer_get_length
    - evbuffer_pullup
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add1(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:948,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:949,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:950,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:951,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:952,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:953,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:954,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:955,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:956,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:957,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:959,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:960,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:961,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:962,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:963,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:964,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 939
    functionDepth: 9
    functionLinenumber: 939
    functionLinenumberEnd: 967
    functionName: test_evbuffer_add2
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_expand
    - tt_assert
    - memset
    - evbuffer_get_length
    - evbuffer_pullup
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add2(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:973,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:974,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:974,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_buffer.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - data
    - len
    - extra
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 979
    functionName: reference_cb
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_want
    - tt_str_op
    - strlen
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void reference_cb(const void *data, size_t len, void *extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:984,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:985,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:990,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:990,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:990,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:993,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:993,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:994,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:994,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:996,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:997,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:1000,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1001,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:1002,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1004,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:1004,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1005,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1007,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:1009,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1010,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1011,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1013,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1015,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:1015,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:1015,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1015,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1016,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1017,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1020,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 981
    functionDepth: 7
    functionLinenumber: 981
    functionLinenumberEnd: 1022
    functionName: test_evbuffer_reference
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_prepend
    - tt_int_op
    - evbuffer_drain
    - memcmp
    - evbuffer_reserve_space
    - evbuffer_pullup
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_remove
    - evbuffer_new
    - strlen
    - evbuffer_commit_space
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_reference(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:1033,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1034,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1035,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1036,1
    - Dst: evbuffer_expand
      Src: /src/libevent/test/regress_buffer.c:1037,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1038,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:1039,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1040,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:1041,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1042,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1044,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1045,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:1046,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1047,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1048,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1049,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1024
    functionDepth: 9
    functionLinenumber: 1024
    functionLinenumberEnd: 1052
    functionName: test_evbuffer_reference2
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_expand
    - tt_assert
    - memset
    - evbuffer_get_length
    - evbuffer_pullup
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_printf
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_reference2(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1064,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1065,1
    - Dst: evbuffer_write
      Src: /src/libevent/test/regress_buffer.c:1066,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_buffer.c:1069,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/test/regress_buffer.c:1071,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress_buffer.c:1072,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress_buffer.c:1074,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_buffer.c:1075,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1077,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_buffer.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1059
    functionDepth: 6
    functionLinenumber: 1059
    functionLinenumberEnd: 1083
    functionName: addfile_test_writecb
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - evbuffer_get_length
    - EVUTIL_ERR_RW_RETRIABLE
    - TT_BLATHER
    - tt_fail_perror
    - evbuffer_validate
    - evutil_socket_geterror
    - evbuffer_write
    linkageType: ''
    returnType: void
    signature: void addfile_test_writecb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_read
      Src: /src/libevent/test/regress_buffer.c:1091,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_buffer.c:1094,1
    - Dst: evutil_socket_geterror
      Src: /src/libevent/test/regress_buffer.c:1098,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress_buffer.c:1099,1
    - Dst: tt_fail_perror
      Src: /src/libevent/test/regress_buffer.c:1100,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_buffer.c:1101,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_buffer.c:1106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1085
    functionDepth: 8
    functionLinenumber: 1085
    functionLinenumberEnd: 1108
    functionName: addfile_test_readcb
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - EVUTIL_ERR_RW_RETRIABLE
    - TT_BLATHER
    - tt_fail_perror
    - evutil_socket_geterror
    - evbuffer_read
    linkageType: ''
    returnType: void
    signature: void addfile_test_readcb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_buffer.c:1123,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_buffer.c:1127,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_buffer.c:1128,1
    - Dst: close
      Src: /src/libevent/test/regress_buffer.c:1134,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1138,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1139,1
    - Dst: evbuffer_add_file
      Src: /src/libevent/test/regress_buffer.c:1139,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1140,1
    - Dst: unlink
      Src: /src/libevent/test/regress_buffer.c:1144,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1145,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1113
    functionDepth: 7
    functionLinenumber: 1113
    functionLinenumberEnd: 1150
    functionName: test_evbuffer_add_file_leak1
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - free
    - evbuffer_add_file
    - TT_BLATHER
    - regress_make_tmpfile
    - close
    - evbuffer_validate
    - unlink
    - evbuffer_free
    - tt_skip
    - evbuffer_new
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add_file_leak1(void *ptr)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1158,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1158,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1179,1
    - Dst: strstr
      Src: /src/libevent/test/regress_buffer.c:1180,1
    - Dst: strstr
      Src: /src/libevent/test/regress_buffer.c:1185,1
    - Dst: strstr
      Src: /src/libevent/test/regress_buffer.c:1190,1
    - Dst: strstr
      Src: /src/libevent/test/regress_buffer.c:1196,1
    - Dst: strstr
      Src: /src/libevent/test/regress_buffer.c:1202,1
    - Dst: strstr
      Src: /src/libevent/test/regress_buffer.c:1207,1
    - Dst: strstr
      Src: /src/libevent/test/regress_buffer.c:1213,1
    - Dst: strstr
      Src: /src/libevent/test/regress_buffer.c:1219,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_buffer.c:1224,1
    - Dst: malloc
      Src: /src/libevent/test/regress_buffer.c:1230,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1231,1
    - Dst: evutil_weakrand_
      Src: /src/libevent/test/regress_buffer.c:1233,1
    - Dst: strdup
      Src: /src/libevent/test/regress_buffer.c:1235,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1236,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1237,1
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_buffer.c:1240,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_buffer.c:1244,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1256,1
    - Dst: evbuffer_file_segment_new
      Src: /src/libevent/test/regress_buffer.c:1264,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1266,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_buffer.c:1269,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_buffer.c:1273,1
    - Dst: evbuffer_set_flags
      Src: /src/libevent/test/regress_buffer.c:1278,1
    - Dst: evutil_ersatz_socketpair_
      Src: /src/libevent/test/regress_buffer.c:1283,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_buffer.c:1284,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_buffer.c:1286,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_buffer.c:1287,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1290,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1293,1
    - Dst: evbuffer_add_file_segment
      Src: /src/libevent/test/regress_buffer.c:1293,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1296,1
    - Dst: evbuffer_add_file
      Src: /src/libevent/test/regress_buffer.c:1296,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1300,1
    - Dst: event_new
      Src: /src/libevent/test/regress_buffer.c:1307,1
    - Dst: event_new
      Src: /src/libevent/test/regress_buffer.c:1309,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1311,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1312,1
    - Dst: event_add
      Src: /src/libevent/test/regress_buffer.c:1314,1
    - Dst: event_add
      Src: /src/libevent/test/regress_buffer.c:1315,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_buffer.c:1316,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1318,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1319,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1321,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1322,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1323,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:1325,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1326,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:1327,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_buffer.c:1328,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1331,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1334,1
    - Dst: evbuffer_file_segment_free
      Src: /src/libevent/test/regress_buffer.c:1336,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1338,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1340,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_buffer.c:1342,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_buffer.c:1344,1
    - Dst: event_free
      Src: /src/libevent/test/regress_buffer.c:1346,1
    - Dst: event_free
      Src: /src/libevent/test/regress_buffer.c:1348,1
    - Dst: unlink
      Src: /src/libevent/test/regress_buffer.c:1350,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1351,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 132
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1153
    functionDepth: 7
    functionLinenumber: 1153
    functionLinenumberEnd: 1353
    functionName: test_evbuffer_add_file
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_file
    - strstr
    - evbuffer_set_flags
    - tt_abort_msg
    - event_free
    - event_base_dispatch
    - evbuffer_file_segment_free
    - strlen
    - evbuffer_file_segment_new
    - evutil_closesocket
    - tt_assert
    - tt_int_op
    - strdup
    - evbuffer_pullup
    - event_new
    - evutil_ersatz_socketpair_
    - evutil_socketpair
    - malloc
    - evbuffer_add_file_segment
    - free
    - regress_make_tmpfile
    - evutil_weakrand_
    - unlink
    - evbuffer_free
    - event_add
    - TT_DIE
    - memcmp
    - evbuffer_validate
    - tt_skip
    - evbuffer_new
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add_file(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - seg
    - flags
    - arg
    argTypes:
    - struct evbuffer_file_segment*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1366
    functionName: file_segment_cleanup_cp
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_segment_cleanup_cp(struct evbuffer_file_segment const* seg,
      int flags, void* arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_buffer.c:1378,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_buffer.c:1382,1
    - Dst: fstat
      Src: /src/libevent/test/regress_buffer.c:1384,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1385,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1387,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1388,1
    - Dst: evbuffer_file_segment_new
      Src: /src/libevent/test/regress_buffer.c:1390,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1391,1
    - Dst: evbuffer_file_segment_add_cleanup_cb
      Src: /src/libevent/test/regress_buffer.c:1393,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1396,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1398,1
    - Dst: evbuffer_add_file_segment
      Src: /src/libevent/test/regress_buffer.c:1398,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1400,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1402,1
    - Dst: evbuffer_file_segment_free
      Src: /src/libevent/test/regress_buffer.c:1403,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1406,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1407,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1410,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1411,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1412,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1413,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1417,1
    - Dst: evbuffer_file_segment_free
      Src: /src/libevent/test/regress_buffer.c:1419,1
    - Dst: unlink
      Src: /src/libevent/test/regress_buffer.c:1421,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1368
    functionDepth: 6
    functionLinenumber: 1368
    functionLinenumberEnd: 1424
    functionName: test_evbuffer_file_segment_add_cleanup_cb
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - free
    - tt_int_op
    - fstat
    - regress_make_tmpfile
    - evbuffer_file_segment_add_cleanup_cb
    - evbuffer_validate
    - evbuffer_free
    - unlink
    - tt_skip
    - evbuffer_new
    - evbuffer_file_segment_free
    - evbuffer_add_file_segment
    - evbuffer_file_segment_new
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_file_segment_add_cleanup_cb(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - how_much
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1432
    functionName: failing_malloc
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      failing_malloc(size_t how_much)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1438,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1439,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1453,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1453,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1454,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1455,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1456,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1457,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1458,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1459,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:1460,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_buffer.c:1461,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress_buffer.c:1462,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1462,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1463,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1465,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1465,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1466,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1467,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1468,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1469,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1470,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1471,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1472,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1473,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1474,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:1475,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1475,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1476,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1476,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1477,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1481,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1481,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1482,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1483,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1484,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1485,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1486,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1488,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1489,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1490,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1491,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1493,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1494,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1495,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1496,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1498,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1499,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1501,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1502,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1503,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1504,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1505,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1506,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1507,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1511,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1511,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1512,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1513,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1514,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1515,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1516,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1518,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1519,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1520,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1521,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1523,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1524,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1525,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1526,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1527,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1529,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1530,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1531,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1532,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1532,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1533,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1536,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1536,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1537,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1538,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1539,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1540,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1542,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1543,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1544,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1546,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1547,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1548,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1549,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1550,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1551,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1551,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1552,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1556,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1556,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1557,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1559,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1560,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1561,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1562,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1564,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1565,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1566,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1567,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1569,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1570,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1571,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1572,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1573,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1574,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1575,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1576,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1577,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1580,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1580,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1587,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1589,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1590,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1591,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1592,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1593,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1594,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1595,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1596,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1597,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1598,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1599,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1600,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1601,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_buffer.c:1602,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:1603,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1607,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1607,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1608,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:1609,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1610,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1612,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1612,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1613,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:1614,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1615,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1617,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1617,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1618,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:1619,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1620,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1622,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1623,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1624,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1625,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1627,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1628,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1629,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1630,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1632,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1633,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1634,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1635,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1636,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1637,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1638,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1639,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1640,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1641,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1642,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1642,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1646,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1646,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1647,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:1648,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1649,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1651,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1652,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1653,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1654,1
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_buffer.c:1658,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1659,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1660,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1661,1
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_buffer.c:1664,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:1666,1
    - Dst: tt_line_eq
      Src: /src/libevent/test/regress_buffer.c:1667,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1668,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1669,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1672,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1673,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:1674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 188
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1435
    functionDepth: 7
    functionLinenumber: 1435
    functionLinenumberEnd: 1675
    functionName: test_evbuffer_readln
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - free
    - memcmp
    - tt_assert
    - evbuffer_drain
    - tt_int_op
    - event_set_mem_functions
    - tt_abort_msg
    - evbuffer_get_length
    - evbuffer_validate
    - tt_line_eq
    - evbuffer_add_buffer
    - evbuffer_free
    - tt_ptr_op
    - evbuffer_new
    - evbuffer_readln
    - evbuffer_add
    - strlen
    - tt_uint_op
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_readln(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - content
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1450
    functionName: tt_line_eq
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_line_eq(content)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1680,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1686,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1686,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/test/regress_buffer.c:1688,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1689,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1690,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/test/regress_buffer.c:1693,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1694,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1695,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1697,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/test/regress_buffer.c:1699,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1700,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1701,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/test/regress_buffer.c:1704,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1705,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1706,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/test/regress_buffer.c:1709,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1710,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1711,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/test/regress_buffer.c:1714,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1715,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1716,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1718,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/test/regress_buffer.c:1720,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1721,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1722,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1724,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1724,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1724,1
    - Dst: evbuffer_search_eol
      Src: /src/libevent/test/regress_buffer.c:1726,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1727,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1728,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1677
    functionDepth: 7
    functionLinenumber: 1677
    functionLinenumberEnd: 1732
    functionName: test_evbuffer_search_eol
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_get_length
    - evbuffer_search_eol
    - evbuffer_ptr_set
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_search_eol(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1737,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1744,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_buffer.c:1746,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:1747,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1754,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1760,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress_buffer.c:1762,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1762,1
    - Dst: evbuffer_get_waste
      Src: /src/libevent/test/regress_buffer.c:1767,1
    - Dst: printf
      Src: /src/libevent/test/regress_buffer.c:1769,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1771,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1734
    functionDepth: 9
    functionLinenumber: 1734
    functionLinenumberEnd: 1776
    functionName: test_evbuffer_iterative
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_uint_op
    - evbuffer_new
    - evbuffer_get_length
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_add_printf
    - evbuffer_get_waste
    - strlen
    - printf
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_iterative(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1787,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1789,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1792,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1792,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1793,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:1794,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1794,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1795,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1796,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1796,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1797,1
    - Dst: evbuffer_find
      Src: /src/libevent/test/regress_buffer.c:1798,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_buffer.c:1799,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:1805,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:1805,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1806,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:1810,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1811,1
    - Dst: evbuffer_find
      Src: /src/libevent/test/regress_buffer.c:1812,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_buffer.c:1813,1
    - Dst: evbuffer_find
      Src: /src/libevent/test/regress_buffer.c:1816,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1817,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_buffer.c:1818,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_buffer.c:1818,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1778
    functionDepth: 7
    functionLinenumber: 1778
    functionLinenumberEnd: 1823
    functionName: test_evbuffer_find
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_drain
    - evbuffer_validate
    - tt_want
    - evbuffer_free
    - strncmp
    - evbuffer_new
    - evbuffer_find
    - evbuffer_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_find(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1828,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1832,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1834,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1834,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1836,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1836,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1837,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1838,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1838,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1839,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1840,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1840,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1841,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:1844,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:1846,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:1847,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1848,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:1850,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:1852,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:1853,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:1855,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:1857,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:1858,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:1859,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1861,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:1861,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1863,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1863,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1864,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1865,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1865,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1866,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1867,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1867,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1869,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1869,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1870,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1871,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1871,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1872,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1873,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1873,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1874,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1875,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1875,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1876,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1877,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1877,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1878,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1825
    functionDepth: 4
    functionLinenumber: 1825
    functionLinenumberEnd: 1883
    functionName: test_evbuffer_ptr_set
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - evbuffer_reserve_space
    - evbuffer_get_length
    - evbuffer_ptr_set
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - evbuffer_commit_space
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_ptr_set(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1888,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1889,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1892,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1893,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1895,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1896,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1897,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1897,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1898,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1899,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1900,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1900,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1901,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1902,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1903,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1903,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1904,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1905,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:1908,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:1909,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:1910,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:1911,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:1912,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:1913,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:1914,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:1915,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1917,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1918,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1919,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1920,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1923,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1924,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1925,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1926,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1927,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1928,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1930,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1931,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1932,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1934,1
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_buffer.c:1935,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1936,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1940,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1941,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1942,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1943,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1944,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1945,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1946,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1947,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1948,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1951,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1951,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1953,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1954,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1955,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1955,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1956,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1957,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1958,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1958,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1959,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1960,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:1961,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:1961,1
    - Dst: evbuffer_search_range
      Src: /src/libevent/test/regress_buffer.c:1962,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:1963,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1967,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:1969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 65
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1885
    functionDepth: 9
    functionLinenumber: 1885
    functionLinenumberEnd: 1970
    functionName: test_evbuffer_search
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_ptr_set
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_new
    - evbuffer_search
    - evbuffer_search_range
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_search(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1972
    functionDepth: 9
    functionLinenumber: 1972
    functionLinenumberEnd: 1983
    functionName: log_change_callback
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: "void log_change_callback(struct evbuffer *buffer,\n    const struct
      evbuffer_cb_info *cbinfo,\n    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:1989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - evbuffer
    - old_len
    - new_len
    - arg
    argTypes:
    - struct evbuffer*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1984
    functionDepth: 4
    functionLinenumber: 1984
    functionLinenumberEnd: 1990
    functionName: self_draining_callback
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    linkageType: ''
    returnType: void
    signature: "void self_draining_callback(struct evbuffer *evbuffer, size_t old_len,\n\t\tsize_t
      new_len, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1995,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1996,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:1997,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2000,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2001,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2002,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_buffer.c:2004,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_buffer.c:2005,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2011,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2012,1
    - Dst: evbuffer_cb_clear_flags
      Src: /src/libevent/test/regress_buffer.c:2013,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2014,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2015,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2016,1
    - Dst: evbuffer_cb_set_flags
      Src: /src/libevent/test/regress_buffer.c:2017,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2018,1
    - Dst: evbuffer_remove_cb_entry
      Src: /src/libevent/test/regress_buffer.c:2019,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2020,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2021,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2021,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2022,1
    - Dst: evbuffer_remove_cb
      Src: /src/libevent/test/regress_buffer.c:2022,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2023,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2024,1
    - Dst: evbuffer_remove_cb
      Src: /src/libevent/test/regress_buffer.c:2024,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2025,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:2027,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2027,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:2029,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2029,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2031,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2031,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2032,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2032,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_buffer.c:2034,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2035,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_buffer.c:2036,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2037,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2038,1
    - Dst: evbuffer_setcb
      Src: /src/libevent/test/regress_buffer.c:2038,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2039,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress_buffer.c:2040,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2040,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress_buffer.c:2041,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2041,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress_buffer.c:2042,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2042,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2043,1
    - Dst: evbuffer_setcb
      Src: /src/libevent/test/regress_buffer.c:2043,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2044,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:2045,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2045,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2046,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2047,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2047,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2048,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_buffer.c:2051,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_buffer.c:2052,1
    - Dst: evbuffer_cb_suspend
      Src: /src/libevent/test/regress_buffer.c:2053,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2054,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2055,1
    - Dst: evbuffer_cb_suspend
      Src: /src/libevent/test/regress_buffer.c:2056,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2057,1
    - Dst: evbuffer_cb_unsuspend
      Src: /src/libevent/test/regress_buffer.c:2058,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2059,1
    - Dst: evbuffer_cb_unsuspend
      Src: /src/libevent/test/regress_buffer.c:2060,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2061,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2061,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:2063,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2063,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:2065,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2065,1
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_buffer.c:2071,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2072,1
    - Dst: evbuffer_setcb
      Src: /src/libevent/test/regress_buffer.c:2072,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2073,1
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_buffer.c:2074,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2079,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2081,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 66
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 1992
    functionDepth: 9
    functionLinenumber: 1992
    functionLinenumberEnd: 2084
    functionName: test_evbuffer_callbacks
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_cb_clear_flags
    - evbuffer_cb_unsuspend
    - tt_str_op
    - evbuffer_add_printf
    - tt_assert
    - tt_int_op
    - evbuffer_cb_set_flags
    - evbuffer_pullup
    - evbuffer_prepend
    - evbuffer_add
    - evbuffer_add_cb
    - tt_uint_op
    - evbuffer_drain
    - evbuffer_setcb
    - evbuffer_free
    - event_set_mem_functions
    - evbuffer_remove_cb
    - evbuffer_remove_cb_entry
    - evbuffer_get_length
    - evbuffer_validate
    - evbuffer_new
    - evbuffer_cb_suspend
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_callbacks(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - data
    - len
    - info
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2096
    functionName: ref_done_cb
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ref_done_cb(const void *data, size_t len, void *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2105,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2105,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2109,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2110,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2112,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2113,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2114,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2115,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2115,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2118,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2118,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2119,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2119,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2120,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2120,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2121,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2121,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2124,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2124,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2125,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2125,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2126,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2129,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2130,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2131,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2132,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2133,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2134,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2135,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2136,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2137,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2138,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2141,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2142,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2143,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2144,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2145,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:2147,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2148,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2149,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2150,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2150,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2151,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2151,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2152,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2153,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2154,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2158,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2159,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2161,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2162,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2164,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2165,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2169,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2098
    functionDepth: 7
    functionLinenumber: 2098
    functionLinenumberEnd: 2172
    functionName: test_evbuffer_add_reference
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - memcmp
    - tt_int_op
    - evbuffer_prepend
    - evbuffer_drain
    - evbuffer_get_length
    - evbuffer_validate
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_remove
    - evbuffer_new
    - evbuffer_add
    - strlen
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add_reference(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_buffer.c:2179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - data
    - len
    - arg
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2180
    functionName: ref_done_cb_with_offset
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    linkageType: ''
    returnType: void
    signature: void ref_done_cb_with_offset(const void *data, size_t len, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2192,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2193,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2194,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2196,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2197,1
    - Dst: evbuffer_add_reference_with_offset
      Src: /src/libevent/test/regress_buffer.c:2199,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2201,1
    - Dst: evbuffer_add_reference_with_offset
      Src: /src/libevent/test/regress_buffer.c:2202,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2204,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2204,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2207,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2207,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:2208,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2209,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2209,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:2210,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2213,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2213,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:2214,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2215,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2218,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2219,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2220,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2221,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2222,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2225,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2226,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2227,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2228,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:2230,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2231,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_buffer.c:2232,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2233,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2233,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2234,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2237,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2238,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2240,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2244,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2181
    functionDepth: 7
    functionLinenumber: 2181
    functionLinenumberEnd: 2247
    functionName: test_evbuffer_add_reference_with_offset
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_prepend
    - tt_int_op
    - evbuffer_drain
    - evbuffer_get_length
    - evbuffer_validate
    - tt_mem_op
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_remove
    - evbuffer_new
    - evbuffer_add
    - strlen
    - evbuffer_add_reference_with_offset
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add_reference_with_offset(void* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2256,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2256,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2260,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2261,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2263,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2264,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2265,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2266,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2266,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2268,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2269,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2271,1
    - Dst: evbuffer_add_buffer_reference
      Src: /src/libevent/test/regress_buffer.c:2271,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2273,1
    - Dst: evbuffer_add_buffer_reference
      Src: /src/libevent/test/regress_buffer.c:2273,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2274,1
    - Dst: evbuffer_add_buffer_reference
      Src: /src/libevent/test/regress_buffer.c:2274,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2277,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2277,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2277,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2280,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2280,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2281,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2281,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2282,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2282,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2283,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2283,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2286,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2286,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2287,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2287,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2288,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2291,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2291,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2292,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2292,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2293,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2293,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2294,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2294,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2297,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2297,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2298,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2298,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2299,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2302,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2305,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2305,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2306,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2306,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2308,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2308,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2309,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2309,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2313,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2249
    functionDepth: 7
    functionLinenumber: 2249
    functionLinenumberEnd: 2316
    functionName: test_evbuffer_multicast
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - memcmp
    - tt_int_op
    - evbuffer_prepend
    - evbuffer_get_length
    - evbuffer_add_buffer_reference
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_remove
    - evbuffer_new
    - evbuffer_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_multicast(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2324,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2324,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2328,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2329,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2331,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2332,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2333,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2334,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2334,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2336,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2337,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2339,1
    - Dst: evbuffer_add_buffer_reference
      Src: /src/libevent/test/regress_buffer.c:2339,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2340,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2340,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2341,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2341,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2341,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2342,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2342,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2343,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2343,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2343,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2344,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2345,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2349,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2318
    functionDepth: 7
    functionLinenumber: 2318
    functionLinenumberEnd: 2352
    functionName: test_evbuffer_multicast_drain
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_drain
    - evbuffer_get_length
    - evbuffer_add_buffer_reference
    - evbuffer_validate
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_multicast_drain(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2359,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2360,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - cbinfo
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2364
    functionName: check_prepend
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: "void check_prepend(struct evbuffer *buffer,\n    const struct evbuffer_cb_info
      *cbinfo,\n    void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress_buffer.c:2370,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2373,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2374,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2377,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2378,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2381,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2382,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2385,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2386,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2387,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2388,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2388,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2392,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2393,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2394,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2395,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:2397,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2399,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2400,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2404,1
    - Dst: evbuffer_prepend_buffer
      Src: /src/libevent/test/regress_buffer.c:2405,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2406,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2409,1
    - Dst: evbuffer_prepend_buffer
      Src: /src/libevent/test/regress_buffer.c:2410,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2411,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2412,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2413,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2414,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:2416,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2419,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2420,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2421,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2422,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2423,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_buffer.c:2424,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2425,1
    - Dst: evbuffer_remove_cb
      Src: /src/libevent/test/regress_buffer.c:2426,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2427,1
    - Dst: tt_nstr_op
      Src: /src/libevent/test/regress_buffer.c:2428,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2428,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2429,1
    - Dst: tt_nstr_op
      Src: /src/libevent/test/regress_buffer.c:2430,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2430,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2431,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:2434,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2436,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2366
    functionDepth: 9
    functionLinenumber: 2366
    functionLinenumberEnd: 2440
    functionName: test_evbuffer_prepend
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_str_op
    - evbuffer_add_printf
    - tt_assert
    - tt_int_op
    - evbuffer_pullup
    - malloc
    - evbuffer_prepend
    - evbuffer_add_cb
    - free
    - evbuffer_drain
    - evbuffer_free
    - evbuffer_remove
    - memcmp
    - evbuffer_remove_cb
    - evbuffer_prepend_buffer
    - memset
    - evbuffer_validate
    - tt_nstr_op
    - evbuffer_new
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_prepend(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2447,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2448,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2451,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2452,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2453,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2455,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2456,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_buffer.c:2456,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2456,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2457,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2442
    functionDepth: 7
    functionLinenumber: 2442
    functionLinenumberEnd: 2462
    functionName: test_evbuffer_empty_reference_prepend
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_new
    - evbuffer_pullup
    - evbuffer_validate
    - evbuffer_free
    - strncmp
    - evbuffer_prepend
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_empty_reference_prepend(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2468,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2469,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2470,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2471,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2474,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2475,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2476,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2477,1
    - Dst: evbuffer_prepend_buffer
      Src: /src/libevent/test/regress_buffer.c:2478,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2479,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2481,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_buffer.c:2481,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2481,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2482,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2484,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_buffer.c:2484,1
    - Dst: evbuffer_validate
      Src: /src/libevent/test/regress_buffer.c:2485,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2489,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2463
    functionDepth: 7
    functionLinenumber: 2463
    functionLinenumberEnd: 2492
    functionName: test_evbuffer_empty_reference_prepend_buffer
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_prepend_buffer
    - evbuffer_pullup
    - evbuffer_validate
    - evbuffer_free
    - strncmp
    - evbuffer_new
    - evbuffer_add
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_empty_reference_prepend_buffer(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2501,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2502,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2503,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:2504,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2505,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:2506,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:2508,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2511,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2511,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2513,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2513,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:2515,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2516,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2516,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2517,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2517,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2518,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2518,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2519,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2519,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2520,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2520,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2521,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2521,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2525,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2494
    functionDepth: 9
    functionLinenumber: 2494
    functionLinenumberEnd: 2528
    functionName: test_evbuffer_peek_first_gt
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evbuffer_peek
    - evbuffer_ptr_set
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_peek_first_gt(void *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2543,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2544,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2546,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:2547,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2551,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2552,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2555,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2556,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2557,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2558,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2559,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2560,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2563,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2564,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2565,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2566,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2567,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2570,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2571,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2572,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2573,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2574,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2575,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2578,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2579,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2580,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2581,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2584,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2585,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2586,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2587,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2588,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2591,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2592,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2593,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2594,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2595,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2596,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2597,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2598,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2601,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2602,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2603,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2604,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2605,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2606,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2607,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2608,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2611,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:2612,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2613,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2614,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2615,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2616,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2617,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2620,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:2621,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2622,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2623,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2624,1
    - Dst: tt_iov_eq
      Src: /src/libevent/test/regress_buffer.c:2625,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2628,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2629,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:2629,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2629,1
    - Dst: evbuffer_peek
      Src: /src/libevent/test/regress_buffer.c:2630,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2631,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2632,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2636,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 75
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2530
    functionDepth: 9
    functionLinenumber: 2530
    functionLinenumberEnd: 2639
    functionName: test_evbuffer_peek
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evbuffer_peek
    - tt_iov_eq
    - memset
    - evbuffer_get_length
    - evbuffer_ptr_set
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_peek(void *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2538
    functionDepth: 0
    functionLinenumber: 2538
    functionLinenumberEnd: 2541
    functionName: tt_iov_eq
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tt_iov_eq(v, s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress_buffer.c:2659,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_buffer.c:2670,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2672,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2673,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2674,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2675,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2677,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2677,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2678,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2679,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/test/regress_buffer.c:2680,1
    - Dst: evbuffer_freeze
      Src: /src/libevent/test/regress_buffer.c:2681,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2693,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2696,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2697,1
    - Dst: evbuffer_reserve_space
      Src: /src/libevent/test/regress_buffer.c:2698,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2699,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2701,1
    - Dst: evbuffer_commit_space
      Src: /src/libevent/test/regress_buffer.c:2704,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2705,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2706,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2707,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_buffer.c:2708,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2709,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_buffer.c:2711,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2712,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2713,1
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_buffer.c:2714,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_buffer.c:2718,1
    - Dst: evbuffer_add_file
      Src: /src/libevent/test/regress_buffer.c:2720,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2721,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2724,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2726,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2726,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2727,1
    - Dst: evbuffer_write
      Src: /src/libevent/test/regress_buffer.c:2728,1
    - Dst: evbuffer_read
      Src: /src/libevent/test/regress_buffer.c:2729,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2730,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2733,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2733,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2735,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2738,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2739,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2740,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2741,1
    - Dst: evbuffer_prepend
      Src: /src/libevent/test/regress_buffer.c:2742,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2743,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_buffer.c:2744,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2745,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:2747,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2749,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2750,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2750,1
    - Dst: evbuffer_remove_buffer
      Src: /src/libevent/test/regress_buffer.c:2751,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2752,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_buffer.c:2753,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2754,1
    - Dst: evbuffer_prepend_buffer
      Src: /src/libevent/test/regress_buffer.c:2755,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2756,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2758,1
    - Dst: evbuffer_write
      Src: /src/libevent/test/regress_buffer.c:2759,1
    - Dst: evbuffer_read
      Src: /src/libevent/test/regress_buffer.c:2760,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2761,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2762,1
    - Dst: evbuffer_write_atmost
      Src: /src/libevent/test/regress_buffer.c:2763,1
    - Dst: evbuffer_read
      Src: /src/libevent/test/regress_buffer.c:2764,1
    - Dst: FREEZE_EQ
      Src: /src/libevent/test/regress_buffer.c:2765,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2768,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2768,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2772,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2775,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2778,1
    - Dst: unlink
      Src: /src/libevent/test/regress_buffer.c:2781,1
    - Dst: free
      Src: /src/libevent/test/regress_buffer.c:2782,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 85
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2648
    functionDepth: 9
    functionLinenumber: 2648
    functionLinenumberEnd: 2784
    functionName: test_evbuffer_freeze
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_file
    - strcmp
    - evbuffer_write
    - strlen
    - evbuffer_add_printf
    - tt_str_op
    - evbuffer_readln
    - evbuffer_commit_space
    - tt_assert
    - tt_int_op
    - FREEZE_EQ
    - evbuffer_prepend
    - evbuffer_add
    - free
    - evbuffer_drain
    - regress_make_tmpfile
    - unlink
    - evbuffer_free
    - evbuffer_freeze
    - evbuffer_remove
    - evbuffer_read
    - evbuffer_write_atmost
    - memset
    - evbuffer_reserve_space
    - evbuffer_prepend_buffer
    - evbuffer_get_length
    - evbuffer_add_buffer
    - evbuffer_remove_buffer
    - tt_skip
    - evbuffer_new
    - evbuffer_add_reference
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_freeze(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - startcase
    - ','
    - endcase
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2691
    functionName: FREEZE_EQ
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREEZE_EQ(a, startcase, endcase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2802,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2804,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2807,1
    - Dst: evbuffer_add_iovec
      Src: /src/libevent/test/regress_buffer.c:2812,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2814,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2814,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2815,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2815,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2820,1
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_buffer.c:2821,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2821,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2822,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_buffer.c:2822,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2825,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2825,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2786
    functionDepth: 5
    functionLinenumber: 2786
    functionLinenumberEnd: 2830
    functionName: test_evbuffer_add_iovec
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - evbuffer_get_length
    - evbuffer_add_iovec
    - evbuffer_free
    - evbuffer_remove
    - evbuffer_new
    - strcmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_add_iovec(void * ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_buffer.c:2847,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_buffer.c:2848,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2850,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2850,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2853,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/regress_buffer.c:2854,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_buffer.c:2855,1
    - Dst: strlen
      Src: /src/libevent/test/regress_buffer.c:2855,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2857,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2857,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2862,1
    - Dst: evbuffer_copyout
      Src: /src/libevent/test/regress_buffer.c:2862,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2863,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2863,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2866,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2867,1
    - Dst: evbuffer_copyout
      Src: /src/libevent/test/regress_buffer.c:2867,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2868,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2868,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2871,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2872,1
    - Dst: evbuffer_copyout
      Src: /src/libevent/test/regress_buffer.c:2872,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2873,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2873,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2876,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2876,1
    - Dst: evbuffer_ptr_set
      Src: /src/libevent/test/regress_buffer.c:2880,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2881,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2882,1
    - Dst: evbuffer_copyout_from
      Src: /src/libevent/test/regress_buffer.c:2882,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2883,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2883,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2886,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2887,1
    - Dst: evbuffer_copyout_from
      Src: /src/libevent/test/regress_buffer.c:2887,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2888,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2888,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2891,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2892,1
    - Dst: evbuffer_copyout_from
      Src: /src/libevent/test/regress_buffer.c:2892,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2893,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2893,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2896,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2897,1
    - Dst: evbuffer_copyout_from
      Src: /src/libevent/test/regress_buffer.c:2897,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2898,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2898,1
    - Dst: memset
      Src: /src/libevent/test/regress_buffer.c:2901,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2902,1
    - Dst: evbuffer_copyout_from
      Src: /src/libevent/test/regress_buffer.c:2902,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2903,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_buffer.c:2903,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_buffer.c:2906,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_buffer.c:2906,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_buffer.c:2910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2832
    functionDepth: 7
    functionLinenumber: 2832
    functionLinenumberEnd: 2911
    functionName: test_evbuffer_copyout
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evbuffer_copyout
    - tt_int_op
    - memcmp
    - memset
    - evbuffer_get_length
    - evbuffer_ptr_set
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add
    - strlen
    - evbuffer_add_reference
    - evbuffer_copyout_from
    linkageType: ''
    returnType: void
    signature: void test_evbuffer_copyout(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2917
    functionName: setup_passthrough
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      setup_passthrough(const struct testcase_t *testcase)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2923
    functionName: cleanup_passthrough
    functionSourceFile: /src/libevent/test/regress_buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cleanup_passthrough(const struct testcase_t *testcase, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: E
    functionSourceFile: /src/libevent/test/print-winsock-errors.c
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evthread_use_windows_threads
      Src: /src/libevent/test/print-winsock-errors.c:19,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/print-winsock-errors.c:22,1
    - Dst: printf
      Src: /src/libevent/test/print-winsock-errors.c:25,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:26,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:27,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:28,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:29,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:30,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:31,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:32,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:33,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:34,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:35,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:36,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:37,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:38,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:39,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:40,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:41,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:42,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:43,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:44,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:45,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:46,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:47,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:48,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:49,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:50,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:51,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:52,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:53,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:54,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:55,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:56,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:57,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:58,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:59,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:60,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:61,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:62,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:63,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:64,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:65,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:66,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:67,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:68,1
    - Dst: E
      Src: /src/libevent/test/print-winsock-errors.c:69,1
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/test/print-winsock-errors.c:74,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/print-winsock-errors.c:75,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/print-winsock-errors.c:79,1
    - Dst: printf
      Src: /src/libevent/test/print-winsock-errors.c:81,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/print-winsock-errors.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 13
    functionDepth: 9
    functionLinenumber: 13
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/libevent/test/print-winsock-errors.c
    functionUses: 1
    functionsReached:
    - evutil_socket_error_to_string
    - E
    - evthread_use_windows_threads
    - evutil_secure_rng_get_bytes
    - libevent_global_shutdown
    - printf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/libevent/test/test-weof.c:65,1
    - Dst: strlen
      Src: /src/libevent/test/test-weof.c:65,1
    - Dst: printf
      Src: /src/libevent/test/test-weof.c:67,1
    - Dst: event_add
      Src: /src/libevent/test/test-weof.c:72,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/test-weof.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: write_cb
    functionSourceFile: /src/libevent/test/test-weof.c
    functionUses: 1
    functionsReached:
    - evutil_closesocket
    - event_add
    - send
    - strlen
    - printf
    linkageType: ''
    returnType: void
    signature: void write_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/test/test-weof.c:89,1
    - Dst: WSAStartup
      Src: /src/libevent/test/test-weof.c:91,1
    - Dst: signal
      Src: /src/libevent/test/test-weof.c:95,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/test-weof.c:99,1
    - Dst: event_init
      Src: /src/libevent/test/test-weof.c:103,1
    - Dst: event_set
      Src: /src/libevent/test/test-weof.c:106,1
    - Dst: event_add
      Src: /src/libevent/test/test-weof.c:108,1
    - Dst: event_dispatch
      Src: /src/libevent/test/test-weof.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/libevent/test/test-weof.c
    functionUses: 1
    functionsReached:
    - event_init
    - event_set
    - WSAStartup
    - evutil_socketpair
    - event_add
    - event_dispatch
    - MAKEWORD
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThread
      Src: /src/libevent/test/test-changelist.c:70,1
    - Dst: GetThreadTimes
      Src: /src/libevent/test/test-changelist.c:71,1
    - Dst: printf
      Src: /src/libevent/test/test-changelist.c:73,1
    - Dst: clock
      Src: /src/libevent/test/test-changelist.c:75,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/test-changelist.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct cpu_usage_timer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: start_cpu_usage_timer
    functionSourceFile: /src/libevent/test/test-changelist.c
    functionUses: 0
    functionsReached:
    - clock
    - GetCurrentThread
    - GetThreadTimes
    - evutil_gettimeofday
    - printf
    linkageType: ''
    returnType: void
    signature: void start_cpu_usage_timer(struct cpu_usage_timer *timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ft
    argTypes:
    - FILETIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: filetime_to_100nsec
    functionSourceFile: /src/libevent/test/test-changelist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ev_int64_t
    signature: ev_int64_t filetime_to_100nsec(const FILETIME *ft)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filetime_to_100nsec
      Src: /src/libevent/test/test-changelist.c:95,1
    - Dst: filetime_to_100nsec
      Src: /src/libevent/test/test-changelist.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ftStart
    - ftEnd
    argTypes:
    - FILETIME*
    - FILETIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: filetime_diff
    functionSourceFile: /src/libevent/test/test-changelist.c
    functionUses: 0
    functionsReached:
    - filetime_to_100nsec
    linkageType: ''
    returnType: double
    signature: double filetime_diff(const FILETIME *ftStart, const FILETIME *ftEnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadTimes
      Src: /src/libevent/test/test-changelist.c:118,1
    - Dst: printf
      Src: /src/libevent/test/test-changelist.c:120,1
    - Dst: filetime_diff
      Src: /src/libevent/test/test-changelist.c:121,1
    - Dst: filetime_diff
      Src: /src/libevent/test/test-changelist.c:122,1
    - Dst: clock
      Src: /src/libevent/test/test-changelist.c:125,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/test-changelist.c:128,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/test-changelist.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - timer
    - secElapsedOut
    - secUsedOut
    - usageOut
    argTypes:
    - struct cpu_usage_timer*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: get_cpu_usage
    functionSourceFile: /src/libevent/test/test-changelist.c
    functionUses: 0
    functionsReached:
    - clock
    - filetime_diff
    - GetThreadTimes
    - evutil_timersub
    - evutil_gettimeofday
    - printf
    linkageType: ''
    returnType: void
    signature: "void get_cpu_usage(struct cpu_usage_timer *timer, double *secElapsedOut,\n
      \   double *secUsedOut, double *usageOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/test-changelist.c:140,1
    - Dst: event_del
      Src: /src/libevent/test/test-changelist.c:143,1
    - Dst: event_add
      Src: /src/libevent/test/test-changelist.c:146,1
    - Dst: event_del
      Src: /src/libevent/test/test-changelist.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: write_cb
    functionSourceFile: /src/libevent/test/test-changelist.c
    functionUses: 1
    functionsReached:
    - event_add
    - printf
    - event_del
    linkageType: ''
    returnType: void
    signature: void write_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/test-changelist.c:156,1
    - Dst: event_del
      Src: /src/libevent/test/test-changelist.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: timeout_cb
    functionSourceFile: /src/libevent/test/test-changelist.c
    functionUses: 0
    functionsReached:
    - printf
    - event_del
    linkageType: ''
    returnType: void
    signature: void timeout_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/test/test-changelist.c:178,1
    - Dst: WSAStartup
      Src: /src/libevent/test/test-changelist.c:180,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/test-changelist.c:182,1
    - Dst: event_base_new
      Src: /src/libevent/test/test-changelist.c:186,1
    - Dst: evtimer_new
      Src: /src/libevent/test/test-changelist.c:190,1
    - Dst: perror
      Src: /src/libevent/test/test-changelist.c:192,1
    - Dst: event_new
      Src: /src/libevent/test/test-changelist.c:196,1
    - Dst: perror
      Src: /src/libevent/test/test-changelist.c:198,1
    - Dst: evtimer_add
      Src: /src/libevent/test/test-changelist.c:204,1
    - Dst: event_add
      Src: /src/libevent/test/test-changelist.c:206,1
    - Dst: start_cpu_usage_timer
      Src: /src/libevent/test/test-changelist.c:208,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/test-changelist.c:210,1
    - Dst: event_free
      Src: /src/libevent/test/test-changelist.c:212,1
    - Dst: event_free
      Src: /src/libevent/test/test-changelist.c:213,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-changelist.c:214,1
    - Dst: get_cpu_usage
      Src: /src/libevent/test/test-changelist.c:216,1
    - Dst: printf
      Src: /src/libevent/test/test-changelist.c:221,1
    - Dst: event_free
      Src: /src/libevent/test/test-changelist.c:232,1
    - Dst: event_free
      Src: /src/libevent/test/test-changelist.c:234,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/test-changelist.c:236,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/test-changelist.c:238,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-changelist.c:240,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 242
    functionName: main
    functionSourceFile: /src/libevent/test/test-changelist.c
    functionUses: 1
    functionsReached:
    - perror
    - event_base_free
    - evtimer_new
    - printf
    - event_new
    - evutil_closesocket
    - WSAStartup
    - event_free
    - evutil_socketpair
    - event_add
    - evtimer_add
    - event_base_dispatch
    - start_cpu_usage_timer
    - MAKEWORD
    - get_cpu_usage
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress_et.c:57,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress_et.c:57,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_et.c:58,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress_et.c:58,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_et.c:59,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress_et.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: base_supports_et
    functionSourceFile: /src/libevent/test/regress_et.c
    functionUses: 0
    functionsReached:
    - strcmp
    - event_base_get_method
    linkageType: ''
    returnType: int
    signature: int base_supports_et(struct event_base *base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/libevent/test/regress_et.c:68,1
    - Dst: event_del
      Src: /src/libevent/test/regress_et.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: read_cb
    functionSourceFile: /src/libevent/test/regress_et.c
    functionUses: 0
    functionsReached:
    - recv
    - event_del
    linkageType: ''
    returnType: void
    signature: void read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:97,1
    - Dst: send
      Src: /src/libevent/test/regress_et.c:97,1
    - Dst: strlen
      Src: /src/libevent/test/regress_et.c:97,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:98,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_et.c:98,1
    - Dst: base_supports_et
      Src: /src/libevent/test/regress_et.c:100,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_et.c:101,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress_et.c:102,1
    - Dst: event_new
      Src: /src/libevent/test/regress_et.c:106,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:107,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:108,1
    - Dst: event_add
      Src: /src/libevent/test/regress_et.c:108,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:117,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_et.c:117,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:118,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_et.c:118,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:121,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:122,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:124,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:125,1
    - Dst: event_del
      Src: /src/libevent/test/regress_et.c:130,1
    - Dst: event_free
      Src: /src/libevent/test/regress_et.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 133
    functionName: test_edgetriggered
    functionSourceFile: /src/libevent/test/regress_et.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_loop
    - event_del
    - TT_BLATHER
    - base_supports_et
    - event_new
    - event_free
    - event_base_get_method
    - send
    - event_add
    - shutdown
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_edgetriggered(void *data_)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tt_skip
      Src: /src/libevent/test/regress_et.c:144,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/test/regress_et.c:148,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_et.c:150,1
    - Dst: event_new
      Src: /src/libevent/test/regress_et.c:153,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:154,1
    - Dst: event_new
      Src: /src/libevent/test/regress_et.c:155,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:156,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:159,1
    - Dst: event_add
      Src: /src/libevent/test/regress_et.c:159,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:160,1
    - Dst: event_add
      Src: /src/libevent/test/regress_et.c:160,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:161,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_et.c:161,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:162,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_et.c:162,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:164,1
    - Dst: event_del
      Src: /src/libevent/test/regress_et.c:164,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:166,1
    - Dst: event_add
      Src: /src/libevent/test/regress_et.c:166,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:167,1
    - Dst: event_add
      Src: /src/libevent/test/regress_et.c:167,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:168,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_et.c:168,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:169,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_et.c:169,1
    - Dst: event_free
      Src: /src/libevent/test/regress_et.c:173,1
    - Dst: event_free
      Src: /src/libevent/test/regress_et.c:175,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_et.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 178
    functionName: test_edgetriggered_mix_error
    functionSourceFile: /src/libevent/test/regress_et.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_free
    - event_del
    - event_enable_debug_mode
    - event_new
    - event_pending
    - event_free
    - event_add
    - tt_skip
    - event_base_new
    linkageType: ''
    returnType: void
    signature: void test_edgetriggered_mix_error(void *data_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: read_notification_cb
    functionSourceFile: /src/libevent/test/regress_et.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void read_notification_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: write_notification_cb
    functionSourceFile: /src/libevent/test/regress_et.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_notification_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: base_supports_et
      Src: /src/libevent/test/regress_et.c:214,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_et.c:215,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:225,1
    - Dst: send
      Src: /src/libevent/test/regress_et.c:225,1
    - Dst: event_new
      Src: /src/libevent/test/regress_et.c:227,1
    - Dst: event_new
      Src: /src/libevent/test/regress_et.c:229,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:231,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:232,1
    - Dst: event_add
      Src: /src/libevent/test/regress_et.c:234,1
    - Dst: event_add
      Src: /src/libevent/test/regress_et.c:235,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_et.c:236,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_et.c:237,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:239,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:240,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:241,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:242,1
    - Dst: event_del
      Src: /src/libevent/test/regress_et.c:244,1
    - Dst: close
      Src: /src/libevent/test/regress_et.c:248,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_et.c:252,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_et.c:253,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_et.c:254,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_et.c:255,1
    - Dst: event_free
      Src: /src/libevent/test/regress_et.c:259,1
    - Dst: event_free
      Src: /src/libevent/test/regress_et.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 204
    functionDepth: 6
    functionLinenumber: 204
    functionLinenumberEnd: 262
    functionName: test_edge_triggered_multiple_events
    functionSourceFile: /src/libevent/test/regress_et.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_loop
    - event_del
    - base_supports_et
    - event_new
    - close
    - event_free
    - event_add
    - send
    - tt_skip
    linkageType: ''
    returnType: void
    signature: void test_edge_triggered_multiple_events(void *data_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: htonll
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htonll(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: ntohll
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ntohll(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_ws.c:83,1
    - Dst: exit
      Src: /src/libevent/test/regress_ws.c:84,1
    - Dst: snprintf
      Src: /src/libevent/test/regress_ws.c:88,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_ws.c:89,1
    - Dst: evws_send_text
      Src: /src/libevent/test/regress_ws.c:92,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_ws.c:94,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_ws.c:96,1
    - Dst: evws_send_binary
      Src: /src/libevent/test/regress_ws.c:97,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_ws.c:99,1
    - Dst: evws_close
      Src: /src/libevent/test/regress_ws.c:100,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_ws.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - evws
    - type
    - data
    - len
    - arg
    argTypes:
    - struct evws_connection*
    - int
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 106
    functionName: on_ws_msg_cb
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evws_close
    - evws_send_text
    - evws_send_binary
    - snprintf
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void on_ws_msg_cb(struct evws_connection *evws, int type, const unsigned
      char *data,\n\tsize_t len, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_ws.c:114,1
    - Dst: exit
      Src: /src/libevent/test/regress_ws.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - evws
    - arg
    argTypes:
    - struct evws_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: on_ws_close_cb
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void on_ws_close_cb(struct evws_connection *evws, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evws_new_session
      Src: /src/libevent/test/regress_ws.c:126,1
    - Dst: evws_connection_set_closecb
      Src: /src/libevent/test/regress_ws.c:131,1
    - Dst: evws_send_text
      Src: /src/libevent/test/regress_ws.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 7
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: http_on_ws_cb
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - evws_new_session
    - evws_send_text
    - evws_connection_set_closecb
    linkageType: ''
    returnType: void
    signature: void http_on_ws_cb(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_ws.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: http_ws_errorcb
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void http_ws_errorcb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ws.c:154,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_ws.c:157,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_ws.c:174,1
    - Dst: ntohll
      Src: /src/libevent/test/regress_ws.c:181,1
    - Dst: calloc
      Src: /src/libevent/test/regress_ws.c:195,1
    - Dst: malloc
      Src: /src/libevent/test/regress_ws.c:198,1
    - Dst: memcpy
      Src: /src/libevent/test/regress_ws.c:200,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_ws.c:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - out_len
    - is_text_type
    argTypes:
    - struct evbuffer*
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 204
    functionName: receive_ws_msg
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - calloc
    - evbuffer_get_length
    - ntohll
    - evbuffer_pullup
    - memcpy
    - malloc
    - ntohs
    linkageType: ''
    returnType: char
    signature: 'char *

      receive_ws_msg(struct evbuffer *buf, size_t *out_len, bool *is_text_type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/libevent/test/regress_ws.c:231,1
    - Dst: htonll
      Src: /src/libevent/test/regress_ws.c:234,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ws.c:237,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ws.c:238,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ws.c:241,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ws.c:243,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ws.c:245,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ws.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - buf
    - msg
    - len
    - options
    argTypes:
    - struct evbuffer*
    - char*
    - size_t
    - enum WSOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 212
    functionDepth: 7
    functionLinenumber: 212
    functionLinenumberEnd: 251
    functionName: send_ws_msg
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - evbuffer_add
    - htonll
    - htons
    linkageType: ''
    returnType: void
    signature: "void send_ws_msg(\n\tstruct evbuffer *buf, const char *msg, size_t
      len, enum WSOptions options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_ws.c:256,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ws.c:257,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ws.c:259,1
    - Dst: receive_ws_msg
      Src: /src/libevent/test/regress_ws.c:264,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_ws.c:267,1
    - Dst: send_ws_msg
      Src: /src/libevent/test/regress_ws.c:268,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:268,1
    - Dst: send_ws_msg
      Src: /src/libevent/test/regress_ws.c:269,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:270,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_ws.c:272,1
    - Dst: send_ws_msg
      Src: /src/libevent/test/regress_ws.c:273,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:273,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_ws.c:279,1
    - Dst: send_ws_msg
      Src: /src/libevent/test/regress_ws.c:280,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:281,1
    - Dst: free
      Src: /src/libevent/test/regress_ws.c:287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 253
    functionDepth: 8
    functionLinenumber: 253
    functionLinenumberEnd: 290
    functionName: http_ws_readcb_phase2
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - free
    - bufferevent_get_input
    - memcmp
    - receive_ws_msg
    - evbuffer_get_length
    - send_ws_msg
    - strcmp
    - bufferevent_get_output
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_ws_readcb_phase2(struct bufferevent *bev, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_ws.c:295,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ws.c:296,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_ws.c:300,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_ws.c:302,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:302,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_ws.c:304,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:307,1
    - Dst: free
      Src: /src/libevent/test/regress_ws.c:308,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ws.c:309,1
    - Dst: send_ws_msg
      Src: /src/libevent/test/regress_ws.c:311,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:311,1
    - Dst: send_ws_msg
      Src: /src/libevent/test/regress_ws.c:312,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:312,1
    - Dst: send_ws_msg
      Src: /src/libevent/test/regress_ws.c:313,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:313,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ws.c:315,1
    - Dst: http_ws_readcb_phase2
      Src: /src/libevent/test/regress_ws.c:316,1
    - Dst: free
      Src: /src/libevent/test/regress_ws.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 292
    functionDepth: 9
    functionLinenumber: 292
    functionLinenumberEnd: 323
    functionName: http_ws_readcb_hdr
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - free
    - bufferevent_get_input
    - http_ws_readcb_phase2
    - send_ws_msg
    - evbuffer_get_length
    - strcmp
    - bufferevent_setcb
    - strncmp
    - bufferevent_get_output
    - strlen
    - evbuffer_readln
    linkageType: ''
    returnType: void
    signature: void http_ws_readcb_hdr(struct bufferevent *bev, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_ws.c:328,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_ws.c:332,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_ws.c:333,1
    - Dst: strlen
      Src: /src/libevent/test/regress_ws.c:333,1
    - Dst: free
      Src: /src/libevent/test/regress_ws.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 6
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: http_ws_readcb_bad
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - free
    - bufferevent_get_input
    - strncmp
    - evbuffer_readln
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_ws_readcb_bad(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_ws.c:348,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_ws.c:354,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_ws.c:355,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ws.c:356,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ws.c:358,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ws.c:360,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ws.c:366,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ws.c:367,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ws.c:369,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_ws.c:372,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_ws.c:373,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ws.c:374,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ws.c:376,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ws.c:378,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ws.c:386,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ws.c:387,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_ws.c:389,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ws.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - arg
    - conn_value
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 340
    functionDepth: 9
    functionLinenumber: 340
    functionLinenumberEnd: 393
    functionName: http_ws_test_with_connection
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - tt_int_op
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_setcb
    - create_bev
    - event_base_dispatch
    - bufferevent_get_output
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void http_ws_test_with_connection(void *arg, const char* conn_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_ws_test_with_connection
      Src: /src/libevent/test/regress_ws.c:398,1
    - Dst: http_ws_test_with_connection
      Src: /src/libevent/test/regress_ws.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 10
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: http_ws_test
    functionSourceFile: /src/libevent/test/regress_ws.c
    functionUses: 0
    functionsReached:
    - http_ws_test_with_connection
    linkageType: ''
    returnType: void
    signature: void http_ws_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/bench_http.c:59,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/bench_http.c:61,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/bench_http.c:64,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/bench_http.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 7
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: http_basic_cb
    functionSourceFile: /src/libevent/test/bench_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_add
    - evhttp_send_reply
    - evbuffer_free
    - evbuffer_new
    linkageType: ''
    returnType: void
    signature: void http_basic_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/bench_http.c:73,1
    - Dst: evbuffer_add_reference
      Src: /src/libevent/test/bench_http.c:75,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/bench_http.c:78,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/bench_http.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: http_ref_cb
    functionSourceFile: /src/libevent/test/bench_http.c
    functionUses: 0
    functionsReached:
    - evhttp_send_reply
    - evbuffer_free
    - evbuffer_add_reference
    - evbuffer_new
    linkageType: ''
    returnType: void
    signature: void http_ref_cb(struct evhttp_request *req, void *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: event_config_new
      Src: /src/libevent/test/bench_http.c:87,1
    - Dst: WSAStartup
      Src: /src/libevent/test/bench_http.c:98,1
    - Dst: signal
      Src: /src/libevent/test/bench_http.c:100,1
    - Dst: setbuf
      Src: /src/libevent/test/bench_http.c:104,1
    - Dst: setbuf
      Src: /src/libevent/test/bench_http.c:105,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:114,1
    - Dst: exit
      Src: /src/libevent/test/bench_http.c:115,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:121,1
    - Dst: exit
      Src: /src/libevent/test/bench_http.c:122,1
    - Dst: strtol
      Src: /src/libevent/test/bench_http.c:124,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:126,1
    - Dst: exit
      Src: /src/libevent/test/bench_http.c:127,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:132,1
    - Dst: exit
      Src: /src/libevent/test/bench_http.c:133,1
    - Dst: strtol
      Src: /src/libevent/test/bench_http.c:135,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:137,1
    - Dst: exit
      Src: /src/libevent/test/bench_http.c:138,1
    - Dst: evthread_use_windows_threads
      Src: /src/libevent/test/bench_http.c:145,1
    - Dst: event_config_set_flag
      Src: /src/libevent/test/bench_http.c:147,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:151,1
    - Dst: exit
      Src: /src/libevent/test/bench_http.c:152,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/bench_http.c:156,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:158,1
    - Dst: evhttp_new
      Src: /src/libevent/test/bench_http.c:162,1
    - Dst: malloc
      Src: /src/libevent/test/bench_http.c:164,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:166,1
    - Dst: exit
      Src: /src/libevent/test/bench_http.c:167,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/bench_http.c:174,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:175,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/bench_http.c:177,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:178,1
    - Dst: fprintf
      Src: /src/libevent/test/bench_http.c:180,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/bench_http.c:182,1
    - Dst: evhttp_bind_socket
      Src: /src/libevent/test/bench_http.c:184,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/bench_http.c:189,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/bench_http.c:192,1
    - Dst: WSACleanup
      Src: /src/libevent/test/bench_http.c:195,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/libevent/test/bench_http.c
    functionUses: 1
    functionsReached:
    - event_base_loopexit
    - exit
    - WSACleanup
    - event_base_new_with_config
    - evhttp_new
    - strtol
    - evthread_use_windows_threads
    - signal
    - WSAStartup
    - event_config_set_flag
    - evhttp_set_cb
    - event_base_get_method
    - malloc
    - event_base_dispatch
    - fprintf
    - event_config_new
    - setbuf
    - evhttp_bind_socket
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: THREAD_RETURN
    functionSourceFile: /src/libevent/test/regress_thread.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_RETURN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: THREAD_SELF
    functionSourceFile: /src/libevent/test/regress_thread.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_SELF()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threadvar
    - ','
    - fn
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: THREAD_START
    functionSourceFile: /src/libevent/test/regress_thread.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_START(threadvar, fn, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - th
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: THREAD_JOIN
    functionSourceFile: /src/libevent/test/regress_thread.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_JOIN(th)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: THREAD_RETURN
    functionSourceFile: /src/libevent/test/regress_thread.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_RETURN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: THREAD_SELF
    functionSourceFile: /src/libevent/test/regress_thread.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_SELF()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threadvar
    - ','
    - fn
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: THREAD_START
    functionSourceFile: /src/libevent/test/regress_thread.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_START(threadvar, fn, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - th
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: THREAD_JOIN
    functionSourceFile: /src/libevent/test/regress_thread.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THREAD_JOIN(th)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:141,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:141,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:142,1
    - Dst: bufferevent_setfd
      Src: /src/libevent/test/regress_ssl.c:142,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:144,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:144,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:146,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - bev
    - filter
    argTypes:
    - struct bufferevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: bufferevent_ssl_check_fd
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_getfd
    - bufferevent_setfd
    - tt_fd_op
    linkageType: ''
    returnType: void
    signature: void bufferevent_ssl_check_fd(struct bufferevent *bev, int filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:155,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_ssl.c:155,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:156,1
    - Dst: event_pending
      Src: /src/libevent/test/regress_ssl.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: bufferevent_ssl_check_freed
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - event_pending
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void bufferevent_ssl_check_freed(struct bufferevent *bev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:165,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 6
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: free_on_cb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void free_on_cb(struct bufferevent *bev, void *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_ssl.c:172,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_ssl.c:180,1
    - Dst: atoi
      Src: /src/libevent/test/regress_ssl.c:183,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_ssl.c:185,1
    - Dst: free
      Src: /src/libevent/test/regress_ssl.c:186,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:187,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:190,1
    - Dst: SSL_renegotiate
      Src: /src/libevent/test/regress_ssl.c:195,1
    - Dst: bufferevent_ssl_get_ssl
      Src: /src/libevent/test/regress_ssl.c:195,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:199,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:199,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:201,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 169
    functionDepth: 9
    functionLinenumber: 169
    functionLinenumberEnd: 205
    functionName: respond_to_number
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - free
    - bufferevent_get_input
    - bufferevent_free
    - bufferevent_enable
    - atoi
    - bufferevent_ssl_get_ssl
    - TT_FAIL
    - TT_BLATHER
    - bufferevent_get_output
    - evbuffer_readln
    - SSL_renegotiate
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void respond_to_number(struct bufferevent *bev, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:210,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ssl.c:211,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:213,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_ssl.c:214,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: done_writing_cb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - bufferevent_disable
    - evbuffer_get_length
    - TT_BLATHER
    - bufferevent_get_output
    linkageType: ''
    returnType: void
    signature: void done_writing_cb(struct bufferevent *bev, void *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:226,1
    - Dst: bufferevent_ssl_get_ssl
      Src: /src/libevent/test/regress_ssl.c:230,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:231,1
    - Dst: SSL_get1_peer_certificate
      Src: /src/libevent/test/regress_ssl.c:238,1
    - Dst: SSL_get_peer_certificate
      Src: /src/libevent/test/regress_ssl.c:240,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:243,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:245,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_ssl.c:249,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:253,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:253,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:255,1
    - Dst: bufferevent_ssl_check_fd
      Src: /src/libevent/test/regress_ssl.c:258,1
    - Dst: bufferevent_ssl_check_freed
      Src: /src/libevent/test/regress_ssl.c:261,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:263,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:265,1
    - Dst: bufferevent_ssl_check_fd
      Src: /src/libevent/test/regress_ssl.c:268,1
    - Dst: bufferevent_ssl_check_freed
      Src: /src/libevent/test/regress_ssl.c:271,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:273,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:275,1
    - Dst: bufferevent_ssl_check_fd
      Src: /src/libevent/test/regress_ssl.c:278,1
    - Dst: bufferevent_ssl_check_freed
      Src: /src/libevent/test/regress_ssl.c:281,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:283,1
    - Dst: X509_free
      Src: /src/libevent/test/regress_ssl.c:288,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 218
    functionDepth: 9
    functionLinenumber: 218
    functionLinenumberEnd: 289
    functionName: eventcb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 6
    functionsReached:
    - tt_assert
    - bufferevent_free
    - event_base_loopexit
    - SSL_get1_peer_certificate
    - bufferevent_ssl_get_ssl
    - TT_BLATHER
    - bufferevent_ssl_check_freed
    - SSL_get_peer_certificate
    - X509_free
    - bufferevent_ssl_check_fd
    - bufferevent_get_output
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void eventcb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:301,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:303,1
    - Dst: bufferevent_ssl_filter_new
      Src: /src/libevent/test/regress_ssl.c:306,1
    - Dst: bufferevent_ssl_filter_new
      Src: /src/libevent/test/regress_ssl.c:308,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:312,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:314,1
    - Dst: bufferevent_ssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_ssl.c:317,1
    - Dst: bufferevent_ssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_ssl.c:318,1
    - Dst: bufferevent_ssl_set_flags
      Src: /src/libevent/test/regress_ssl.c:321,1
    - Dst: bufferevent_ssl_set_flags
      Src: /src/libevent/test/regress_ssl.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 10
    argNames:
    - bev1_out
    - bev2_out
    - base
    - is_open
    - flags
    - ssl1
    - ssl2
    - fd_pair
    - underlying_pair
    - type
    argTypes:
    - struct bufferevent**
    - struct bufferevent**
    - struct event_base*
    - int
    - int
    - SSL*
    - SSL*
    - evutil_socket_t*
    - struct bufferevent**
    - enum regress_openssl_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 324
    functionName: open_ssl_bufevs
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_ssl_set_allow_dirty_shutdown
    - bufferevent_ssl_filter_new
    - bufferevent_ssl_socket_new
    - bufferevent_setcb
    - bufferevent_ssl_set_flags
    linkageType: ''
    returnType: void
    signature: "void open_ssl_bufevs(struct bufferevent **bev1_out, struct bufferevent
      **bev2_out,\n    struct event_base *base, int is_open, int flags, SSL *ssl1,
      SSL *ssl2,\n    evutil_socket_t *fd_pair, struct bufferevent **underlying_pair,\n
      \   enum regress_openssl_type type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:358,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:358,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:359,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:359,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/test/regress_ssl.c:361,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/test/regress_ssl.c:362,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:368,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_ssl.c:371,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_ssl.c:373,1
    - Dst: open_ssl_bufevs
      Src: /src/libevent/test/regress_ssl.c:377,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_ssl.c:381,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:381,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_ssl.c:383,1
    - Dst: bufferevent_get_underlying
      Src: /src/libevent/test/regress_ssl.c:383,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:390,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:394,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:395,1
    - Dst: open_ssl_bufevs
      Src: /src/libevent/test/regress_ssl.c:397,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:402,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:403,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:406,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:406,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:408,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:410,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:411,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:415,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:416,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:418,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:420,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:424,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_ssl.c:425,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/test/regress_ssl.c:427,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:430,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:430,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:432,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:434,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:435,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:437,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:438,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:439,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 326
    functionDepth: 9
    functionLinenumber: 326
    functionLinenumberEnd: 446
    functionName: regress_bufferevent_openssl
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - event_base_dispatch
    - evbuffer_add_printf
    - tt_assert
    - bufferevent_enable
    - tt_int_op
    - open_ssl_bufevs
    - SSL_use_PrivateKey
    - get_ssl_ctx
    - bufferevent_getfd
    - tt_fd_op
    - SSL_use_certificate
    - SSL_new
    - tt_ptr_op
    - bufferevent_socket_new
    - bufferevent_get_underlying
    - bufferevent_disable
    - bufferevent_set_timeouts
    - bufferevent_get_output
    linkageType: ''
    returnType: void
    signature: void regress_bufferevent_openssl(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: acceptcb_deferred
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    linkageType: ''
    returnType: void
    signature: void acceptcb_deferred(evutil_socket_t fd, short events, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:461,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:461,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/test/regress_ssl.c:465,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/test/regress_ssl.c:466,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:468,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:471,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:473,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_ssl.c:478,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_ssl.c:480,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:482,1
    - Dst: evconnlistener_disable
      Src: /src/libevent/test/regress_ssl.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - listener
    - fd
    - addr
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 490
    functionName: acceptcb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_enable
    - bufferevent_disable
    - event_base_once
    - SSL_use_certificate
    - bufferevent_ssl_socket_new
    - SSL_use_PrivateKey
    - SSL_new
    - get_ssl_ctx
    - bufferevent_setcb
    - evconnlistener_disable
    linkageType: ''
    returnType: void
    signature: "void acceptcb(struct evconnlistener *listener, evutil_socket_t fd,\n
      \   struct sockaddr *addr, int socklen, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:517,1
    - Dst: htonl
      Src: /src/libevent/test/regress_ssl.c:519,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:521,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_ssl.c:524,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:528,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:529,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_ssl.c:529,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:531,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:531,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:532,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:534,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:538,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:540,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:543,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_ssl.c:543,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_ssl.c:543,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:545,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:546,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:548,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_ssl.c:549,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_ssl.c:553,1
    - Dst: BIO_setup
      Src: /src/libevent/test/regress_ssl.c:554,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_ssl.c:556,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:556,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:557,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:559,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:561,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:562,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_ssl.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 499
    functionDepth: 9
    functionLinenumber: 499
    functionLinenumberEnd: 565
    functionName: regress_bufferevent_openssl_connect
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_socket_connect
    - getsockname
    - BIO_setup
    - bufferevent_setcb
    - event_base_dispatch
    - evbuffer_add_printf
    - tt_assert
    - tt_int_op
    - bufferevent_enable
    - bufferevent_ssl_socket_new
    - get_ssl_ctx
    - bufferevent_getfd
    - evconnlistener_new_bind
    - SSL_new
    - htonl
    - memset
    - evconnlistener_get_fd
    - evconnlistener_free
    - bufferevent_get_output
    linkageType: ''
    returnType: void
    signature: void regress_bufferevent_openssl_connect(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_ssl.c:583,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:584,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ssl.c:585,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:589,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:591,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_ssl.c:592,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/regress_ssl.c:594,1
    - Dst: bufferevent_get_base
      Src: /src/libevent/test/regress_ssl.c:594,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_ssl.c:598,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:601,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ssl.c:606,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_ssl.c:607,1
    - Dst: evbuffer_add_buffer_reference
      Src: /src/libevent/test/regress_ssl.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 579
    functionDepth: 7
    functionLinenumber: 579
    functionLinenumberEnd: 611
    functionName: wm_transfer
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_drain
    - bufferevent_disable
    - evbuffer_get_length
    - evbuffer_add_buffer_reference
    - TT_BLATHER
    - bufferevent_get_base
    - bufferevent_setcb
    - event_base_loopbreak
    - bufferevent_get_output
    linkageType: ''
    returnType: void
    signature: void wm_transfer(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: wm_eventcb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void wm_eventcb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evconnlistener_get_base
      Src: /src/libevent/test/regress_ssl.c:629,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:630,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:630,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/test/regress_ssl.c:632,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/test/regress_ssl.c:633,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:635,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:638,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:640,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_ssl.c:643,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:644,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:645,1
    - Dst: evconnlistener_disable
      Src: /src/libevent/test/regress_ssl.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - listener
    - fd
    - addr
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 652
    functionName: wm_acceptcb
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_enable
    - SSL_use_certificate
    - TT_BLATHER
    - bufferevent_ssl_socket_new
    - SSL_use_PrivateKey
    - SSL_new
    - get_ssl_ctx
    - bufferevent_setcb
    - evconnlistener_disable
    - evconnlistener_get_base
    - bufferevent_setwatermark
    linkageType: ''
    returnType: void
    signature: "void wm_acceptcb(struct evconnlistener *listener, evutil_socket_t
      fd,\n    struct sockaddr *addr, int socklen, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:673,1
    - Dst: htonl
      Src: /src/libevent/test/regress_ssl.c:675,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:677,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:683,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:684,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_ssl.c:688,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_ssl.c:689,1
    - Dst: calloc
      Src: /src/libevent/test/regress_ssl.c:690,1
    - Dst: memset
      Src: /src/libevent/test/regress_ssl.c:691,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ssl.c:692,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_ssl.c:693,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_ssl.c:698,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_ssl.c:708,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:712,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:713,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_ssl.c:713,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_ssl.c:715,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_ssl.c:715,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:716,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_ssl.c:719,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:720,1
    - Dst: bufferevent_ssl_filter_new
      Src: /src/libevent/test/regress_ssl.c:721,1
    - Dst: bufferevent_ssl_socket_new
      Src: /src/libevent/test/regress_ssl.c:724,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:729,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/test/regress_ssl.c:735,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_ssl.c:736,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:738,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_ssl.c:738,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_ssl.c:738,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:741,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/test/regress_ssl.c:741,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:742,1
    - Dst: evbuffer_add_buffer_reference
      Src: /src/libevent/test/regress_ssl.c:742,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_ssl.c:742,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_ssl.c:743,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_ssl.c:743,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_ssl.c:745,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:747,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_ssl.c:748,1
    - Dst: free
      Src: /src/libevent/test/regress_ssl.c:751,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_ssl.c:752,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_ssl.c:753,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_ssl.c:754,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:755,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_ssl.c:756,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_ssl.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 653
    functionDepth: 7
    functionLinenumber: 653
    functionLinenumberEnd: 761
    functionName: regress_bufferevent_openssl_wm
    functionSourceFile: /src/libevent/test/regress_ssl.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_socket_connect
    - getsockname
    - bufferevent_setcb
    - event_base_dispatch
    - tt_assert
    - bufferevent_enable
    - tt_int_op
    - event_base_loop
    - calloc
    - evbuffer_add_buffer_reference
    - bufferevent_ssl_socket_new
    - get_ssl_ctx
    - evbuffer_add
    - evconnlistener_new_bind
    - free
    - bufferevent_ssl_filter_new
    - evbuffer_free
    - SSL_new
    - bufferevent_socket_new
    - htonl
    - memset
    - evconnlistener_get_fd
    - evconnlistener_free
    - TT_BLATHER
    - evbuffer_new
    - bufferevent_get_output
    - bufferevent_setwatermark
    linkageType: ''
    returnType: void
    signature: void regress_bufferevent_openssl_wm(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/test-dumpevents.c:44,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/test-dumpevents.c:44,1
    - Dst: fprintf
      Src: /src/libevent/test/test-dumpevents.c:45,1
    - Dst: perror
      Src: /src/libevent/test/test-dumpevents.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: sock_perror
    functionSourceFile: /src/libevent/test/test-dumpevents.c
    functionUses: 0
    functionsReached:
    - perror
    - evutil_socket_error_to_string
    - fprintf
    - EVUTIL_SOCKET_ERROR
    linkageType: ''
    returnType: void
    signature: void sock_perror(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: callback1
    functionSourceFile: /src/libevent/test/test-dumpevents.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void callback1(evutil_socket_t fd, short events, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: callback2
    functionSourceFile: /src/libevent/test/test-dumpevents.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void callback2(evutil_socket_t fd, short events, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/test/test-dumpevents.c:85,1
    - Dst: WSAStartup
      Src: /src/libevent/test/test-dumpevents.c:87,1
    - Dst: evutil_make_internal_pipe_
      Src: /src/libevent/test/test-dumpevents.c:96,1
    - Dst: evutil_make_internal_pipe_
      Src: /src/libevent/test/test-dumpevents.c:97,1
    - Dst: sock_perror
      Src: /src/libevent/test/test-dumpevents.c:98,1
    - Dst: event_base_new
      Src: /src/libevent/test/test-dumpevents.c:102,1
    - Dst: fprintf
      Src: /src/libevent/test/test-dumpevents.c:103,1
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/test-dumpevents.c:107,1
    - Dst: event_base_init_common_timeout
      Src: /src/libevent/test/test-dumpevents.c:108,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:110,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:111,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:112,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:113,1
    - Dst: evtimer_new
      Src: /src/libevent/test/test-dumpevents.c:116,1
    - Dst: evtimer_new
      Src: /src/libevent/test/test-dumpevents.c:117,1
    - Dst: evtimer_new
      Src: /src/libevent/test/test-dumpevents.c:118,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:119,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:120,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:121,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:124,1
    - Dst: event_new
      Src: /src/libevent/test/test-dumpevents.c:125,1
    - Dst: evsignal_new
      Src: /src/libevent/test/test-dumpevents.c:128,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:130,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:131,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:132,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:133,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:135,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:136,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:137,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:138,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:139,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:140,1
    - Dst: event_active
      Src: /src/libevent/test/test-dumpevents.c:142,1
    - Dst: event_active
      Src: /src/libevent/test/test-dumpevents.c:143,1
    - Dst: event_active
      Src: /src/libevent/test/test-dumpevents.c:144,1
    - Dst: event_add
      Src: /src/libevent/test/test-dumpevents.c:146,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/test-dumpevents.c:148,1
    - Dst: puts
      Src: /src/libevent/test/test-dumpevents.c:149,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:150,1
    - Dst: puts
      Src: /src/libevent/test/test-dumpevents.c:151,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:152,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:153,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:154,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:155,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:156,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:157,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:158,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:159,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:160,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:161,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:162,1
    - Dst: puts
      Src: /src/libevent/test/test-dumpevents.c:164,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:165,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:166,1
    - Dst: printf
      Src: /src/libevent/test/test-dumpevents.c:167,1
    - Dst: puts
      Src: /src/libevent/test/test-dumpevents.c:169,1
    - Dst: event_base_dump_events
      Src: /src/libevent/test/test-dumpevents.c:170,1
    - Dst: event_free
      Src: /src/libevent/test/test-dumpevents.c:173,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-dumpevents.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 178
    functionName: main
    functionSourceFile: /src/libevent/test/test-dumpevents.c
    functionUses: 1
    functionsReached:
    - sock_perror
    - evsignal_new
    - evtimer_new
    - event_base_free
    - printf
    - event_base_dump_events
    - event_new
    - event_base_init_common_timeout
    - WSAStartup
    - event_free
    - event_active
    - event_add
    - evutil_make_internal_pipe_
    - puts
    - fprintf
    - MAKEWORD
    - evutil_gettimeofday
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:58,1
    - Dst: exit
      Src: /src/libevent/test/test-kq-collision.c:59,1
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:63,1
    - Dst: exit
      Src: /src/libevent/test/test-kq-collision.c:64,1
    - Dst: read
      Src: /src/libevent/test/test-kq-collision.c:67,1
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:69,1
    - Dst: exit
      Src: /src/libevent/test/test-kq-collision.c:70,1
    - Dst: strcmp
      Src: /src/libevent/test/test-kq-collision.c:73,1
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:74,1
    - Dst: exit
      Src: /src/libevent/test/test-kq-collision.c:75,1
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:77,1
    - Dst: assert
      Src: /src/libevent/test/test-kq-collision.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts:
    - condition: (read_called == 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/libevent/test/test-kq-collision.c
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: read_cb
    functionSourceFile: /src/libevent/test/test-kq-collision.c
    functionUses: 0
    functionsReached:
    - exit
    - read
    - strcmp
    - printf
    - assert
    linkageType: ''
    returnType: void
    signature: void read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopcontinue
      Src: /src/libevent/test/test-kq-collision.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: trigger_kq
    functionSourceFile: /src/libevent/test/test-kq-collision.c
    functionUses: 0
    functionsReached:
    - event_base_loopcontinue
    linkageType: ''
    returnType: void
    signature: 'void *

      trigger_kq(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/libevent/test/test-kq-collision.c:101,1
    - Dst: pthread_join
      Src: /src/libevent/test/test-kq-collision.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: notify_cb
    functionSourceFile: /src/libevent/test/test-kq-collision.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void notify_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libevent/test/test-kq-collision.c:110,1
    - Dst: strlen
      Src: /src/libevent/test/test-kq-collision.c:110,1
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:111,1
    - Dst: exit
      Src: /src/libevent/test/test-kq-collision.c:112,1
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: write_cb
    functionSourceFile: /src/libevent/test/test-kq-collision.c
    functionUses: 1
    functionsReached:
    - write
    - strlen
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void write_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/test-kq-collision.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sock
    - what
    - arg
    argTypes:
    - int
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: exit_cb
    functionSourceFile: /src/libevent/test/test-kq-collision.c
    functionUses: 0
    functionsReached:
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void exit_cb(int sock, short what, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/libevent/test/test-kq-collision.c:137,1
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:139,1
    - Dst: close
      Src: /src/libevent/test/test-kq-collision.c:144,1
    - Dst: close
      Src: /src/libevent/test/test-kq-collision.c:145,1
    - Dst: dup2
      Src: /src/libevent/test/test-kq-collision.c:152,1
    - Dst: printf
      Src: /src/libevent/test/test-kq-collision.c:153,1
    - Dst: close
      Src: /src/libevent/test/test-kq-collision.c:156,1
    - Dst: evthread_use_pthreads
      Src: /src/libevent/test/test-kq-collision.c:162,1
    - Dst: event_config_new
      Src: /src/libevent/test/test-kq-collision.c:164,1
    - Dst: event_get_supported_methods
      Src: /src/libevent/test/test-kq-collision.c:165,1
    - Dst: strcmp
      Src: /src/libevent/test/test-kq-collision.c:167,1
    - Dst: event_config_avoid_method
      Src: /src/libevent/test/test-kq-collision.c:168,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/test-kq-collision.c:170,1
    - Dst: event_config_free
      Src: /src/libevent/test/test-kq-collision.c:171,1
    - Dst: evtimer_new
      Src: /src/libevent/test/test-kq-collision.c:174,1
    - Dst: evtimer_add
      Src: /src/libevent/test/test-kq-collision.c:177,1
    - Dst: evtimer_new
      Src: /src/libevent/test/test-kq-collision.c:178,1
    - Dst: evtimer_add
      Src: /src/libevent/test/test-kq-collision.c:181,1
    - Dst: evtimer_new
      Src: /src/libevent/test/test-kq-collision.c:182,1
    - Dst: evtimer_add
      Src: /src/libevent/test/test-kq-collision.c:185,1
    - Dst: event_new
      Src: /src/libevent/test/test-kq-collision.c:188,1
    - Dst: event_self_cbarg
      Src: /src/libevent/test/test-kq-collision.c:188,1
    - Dst: event_add
      Src: /src/libevent/test/test-kq-collision.c:189,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/test-kq-collision.c:190,1
    - Dst: assert
      Src: /src/libevent/test/test-kq-collision.c:193,1
    - Dst: event_free
      Src: /src/libevent/test/test-kq-collision.c:196,1
    - Dst: event_free
      Src: /src/libevent/test/test-kq-collision.c:197,1
    - Dst: event_free
      Src: /src/libevent/test/test-kq-collision.c:198,1
    - Dst: event_free
      Src: /src/libevent/test/test-kq-collision.c:199,1
    - Dst: close
      Src: /src/libevent/test/test-kq-collision.c:200,1
    - Dst: close
      Src: /src/libevent/test/test-kq-collision.c:201,1
    - Dst: event_base_free
      Src: /src/libevent/test/test-kq-collision.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (read_called == 1)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/libevent/test/test-kq-collision.c
    constantsTouched: []
    func_position:
      end: 204
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/libevent/test/test-kq-collision.c
    functionUses: 1
    functionsReached:
    - evtimer_new
    - event_self_cbarg
    - event_free
    - event_get_supported_methods
    - evtimer_add
    - event_base_dispatch
    - strcmp
    - assert
    - event_new
    - evthread_use_pthreads
    - pipe
    - event_base_free
    - event_base_new_with_config
    - close
    - event_config_free
    - dup2
    - event_add
    - event_config_avoid_method
    - event_config_new
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: test_weakrand
    functionSourceFile: /src/libevent/test/regress.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_weakrand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: BASIC
    functionSourceFile: /src/libevent/test/regress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BASIC(name,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: LEGACY
    functionSourceFile: /src/libevent/test/regress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEGACY(name,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ai
    - ','
    - str
    - ','
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: test_ai_eq
    functionSourceFile: /src/libevent/test/regress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_ai_eq(ai, str, s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tv1
    - ','
    - tv2
    - ','
    - diff
    - ','
    - tolerance
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: test_timeval_diff_leq
    functionSourceFile: /src/libevent/test/regress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_timeval_diff_leq(tv1, tv2, diff, tolerance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tv1
    - ','
    - tv2
    - ','
    - diff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: test_timeval_diff_eq
    functionSourceFile: /src/libevent/test/regress.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_timeval_diff_eq(tv1, tv2, diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:78,1
    - Dst: EVTHREAD_COND_BROADCAST
      Src: /src/libevent/test/regress_thread.c:79,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: wake_all_timeout
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - EVTHREAD_COND_BROADCAST
    - EVLOCK_LOCK
    linkageType: ''
    returnType: void
    signature: void wake_all_timeout(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:88,1
    - Dst: EVTHREAD_COND_SIGNAL
      Src: /src/libevent/test/regress_thread.c:89,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: wake_one_timeout
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - EVTHREAD_COND_SIGNAL
    - EVLOCK_LOCK
    linkageType: ''
    returnType: void
    signature: void wake_one_timeout(evutil_socket_t fd, short what, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/test/regress_thread.c:106,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_thread.c:107,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:108,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:109,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_thread.c:111,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_thread.c:114,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:118,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:121,1
    - Dst: evtimer_add
      Src: /src/libevent/test/regress_thread.c:121,1
    - Dst: assert
      Src: /src/libevent/test/regress_thread.c:123,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/test/regress_thread.c:123,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:124,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:126,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:128,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:132,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_thread.c:134,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:135,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_thread.c:137,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_thread.c:138,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (EVTHREAD_COND_WAIT(cw.cond, cw.lock) == 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/libevent/test/regress_thread.c
    - condition: (cw.cond)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/libevent/test/regress_thread.c
    - condition: (cw.lock)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/libevent/test/regress_thread.c
    - condition: (evtimer_add(&ev, &tv) == 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/libevent/test/regress_thread.c
    constantsTouched: []
    func_position:
      end: 141
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 141
    functionName: basic_thread
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - EVTHREAD_FREE_LOCK
    - EVTHREAD_ALLOC_COND
    - EVTHREAD_COND_WAIT
    - EVTHREAD_FREE_COND
    - EVLOCK_LOCK
    - evutil_timerclear
    - evtimer_add
    - EVLOCK_UNLOCK
    - THREAD_RETURN
    - EVTHREAD_ALLOC_LOCK
    - evtimer_assign
    - assert
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN basic_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_thread.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: sigchld_cb
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void sigchld_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: notify_fd_cb
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void notify_fd_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_thread.c:275,1
    - Dst: EVTHREAD_COND_WAIT_TIMED
      Src: /src/libevent/test/regress_thread.c:277,1
    - Dst: EVTHREAD_COND_WAIT
      Src: /src/libevent/test/regress_thread.c:280,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_thread.c:282,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:284,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 289
    functionName: wait_for_condition
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_COND_WAIT
    - EVTHREAD_COND_WAIT_TIMED
    - EVLOCK_LOCK
    - THREAD_RETURN
    - evutil_gettimeofday
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN wait_for_condition(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/test/regress_thread.c:311,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_thread.c:312,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:313,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:314,1
    - Dst: memset
      Src: /src/libevent/test/regress_thread.c:316,1
    - Dst: memcpy
      Src: /src/libevent/test/regress_thread.c:321,1
    - Dst: memcpy
      Src: /src/libevent/test/regress_thread.c:322,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_thread.c:324,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_thread.c:325,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:327,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_thread.c:331,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:335,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:335,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:336,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:336,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_thread.c:339,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_thread.c:343,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:348,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:349,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:355,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:357,1
    - Dst: evutil_timerisset
      Src: /src/libevent/test/regress_thread.c:358,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_thread.c:360,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress_thread.c:362,1
    - Dst: timeval_msec_diff
      Src: /src/libevent/test/regress_thread.c:364,1
    - Dst: labs
      Src: /src/libevent/test/regress_thread.c:366,1
    - Dst: labs
      Src: /src/libevent/test/regress_thread.c:366,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:367,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:371,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_thread.c:376,1
    - Dst: evutil_timeradd
      Src: /src/libevent/test/regress_thread.c:379,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_thread.c:380,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:383,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_thread.c:384,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_thread.c:387,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_thread.c:388,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 389
    functionName: thread_conditions_simple
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - memcpy
    - evutil_timeradd
    - event_base_dispatch
    - THREAD_START
    - evutil_timerisset
    - test_timeval_diff_leq
    - tt_assert
    - tt_int_op
    - EVTHREAD_FREE_LOCK
    - TT_FAIL
    - timeval_msec_diff
    - evutil_timersub
    - THREAD_JOIN
    - EVTHREAD_FREE_COND
    - event_add
    - evutil_gettimeofday
    - labs
    - memset
    - EVTHREAD_ALLOC_COND
    - TT_BLATHER
    - EVTHREAD_ALLOC_LOCK
    - evtimer_assign
    linkageType: ''
    returnType: void
    signature: void thread_conditions_simple(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_thread.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: SLEEP_MS
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - evutil_usleep_
    linkageType: ''
    returnType: void
    signature: void SLEEP_MS(int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: deferred_callback
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - SLEEP_MS
    linkageType: ''
    returnType: void
    signature: void deferred_callback(struct event_callback *cb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/test/regress_thread.c:428,1
    - Dst: event_deferred_cb_schedule_
      Src: /src/libevent/test/regress_thread.c:430,1
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:431,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: load_deferred_queue
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - event_deferred_cb_init_
    - event_deferred_cb_schedule_
    - SLEEP_MS
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN load_deferred_queue(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: timer_callback
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    linkageType: ''
    returnType: void
    signature: void timer_callback(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_thread.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: start_threads_callback
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - THREAD_START
    linkageType: ''
    returnType: void
    signature: void start_threads_callback(evutil_socket_t fd, short what, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_config_new
      Src: /src/libevent/test/regress_thread.c:464,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:465,1
    - Dst: event_config_set_max_dispatch_interval
      Src: /src/libevent/test/regress_thread.c:466,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/test/regress_thread.c:468,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:469,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:474,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_thread.c:475,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_thread.c:477,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_thread.c:479,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_thread.c:481,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:482,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:485,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:489,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_thread.c:493,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_thread.c:495,1
    - Dst: event_config_free
      Src: /src/libevent/test/regress_thread.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 454
    functionDepth: 6
    functionLinenumber: 454
    functionLinenumberEnd: 498
    functionName: thread_deferred_cb_skew
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_free
    - event_config_set_max_dispatch_interval
    - event_base_once
    - event_base_new_with_config
    - TT_BLATHER
    - event_config_free
    - evutil_timersub
    - event_base_dispatch
    - event_config_new
    - evutil_gettimeofday
    - THREAD_JOIN
    linkageType: ''
    returnType: void
    signature: void thread_deferred_cb_skew(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:506,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/regress_thread.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: note_time_cb
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - evutil_gettimeofday
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void note_time_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:515,1
    - Dst: event_active
      Src: /src/libevent/test/regress_thread.c:516,1
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:517,1
    - Dst: event_active
      Src: /src/libevent/test/regress_thread.c:518,1
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:519,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:521,1
    - Dst: event_add
      Src: /src/libevent/test/regress_thread.c:523,1
    - Dst: SLEEP_MS
      Src: /src/libevent/test/regress_thread.c:524,1
    - Dst: event_active
      Src: /src/libevent/test/regress_thread.c:525,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_thread.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 4
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: register_events_subthread
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - event_active
    - event_add
    - SLEEP_MS
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN register_events_subthread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_thread.c:539,1
    - Dst: event_assign
      Src: /src/libevent/test/regress_thread.c:541,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:545,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_thread.c:546,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_thread.c:547,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_thread.c:548,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_thread.c:549,1
    - Dst: event_base_got_break
      Src: /src/libevent/test/regress_thread.c:549,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_thread.c:550,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_thread.c:554,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_thread.c:556,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:558,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:559,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:560,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:561,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:562,1
    - Dst: test_timeval_diff_eq
      Src: /src/libevent/test/regress_thread.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 530
    functionDepth: 6
    functionLinenumber: 530
    functionLinenumberEnd: 567
    functionName: thread_no_events
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loop
    - memset
    - event_base_got_break
    - TT_BLATHER
    - event_assign
    - test_timeval_diff_eq
    - THREAD_START
    - evutil_timersub
    - evutil_gettimeofday
    - THREAD_JOIN
    linkageType: ''
    returnType: void
    signature: void thread_no_events(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: TEST
    functionSourceFile: /src/libevent/test/regress_thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(name, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - address
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: REPEAT_2
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT_2(address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - address
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: REPEAT_4
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT_4(address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - address
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: REPEAT_8
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT_8(address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - address
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: REPEAT_16
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT_16(address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - address
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: REPEAT_32
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT_32(address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - address
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: REPEAT_64
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT_64(address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - address
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: REPEAT_128
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT_128(address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - address
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: REPEAT_256
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT_256(address)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:124,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:130,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:134,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_dns.c:146,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:148,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:150,1
    - Dst: strerror
      Src: /src/libevent/test/regress_dns.c:150,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:162,1
    - Dst: inet_ntoa
      Src: /src/libevent/test/regress_dns.c:162,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:170,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress_dns.c:180,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:182,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 6
    argNames:
    - result
    - type
    - count
    - ttl
    - addresses
    - arg
    argTypes:
    - int
    - char
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 183
    functionName: dns_gethostbyname_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - strerror
    - TT_BLATHER
    - event_loopexit
    - evutil_inet_ntop
    - printf
    - inet_ntoa
    linkageType: ''
    returnType: void
    signature: "void dns_gethostbyname_cb(int result, char type, int count, int ttl,\n
      \   void *addresses, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:189,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_dns.c:190,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 10
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: dns_gethostbyname
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_dispatch
    - evdns_resolve_ipv4
    linkageType: ''
    returnType: void
    signature: void dns_gethostbyname(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_resolve_ipv6
      Src: /src/libevent/test/regress_dns.c:202,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_dns.c:203,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:206,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 10
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: dns_gethostbyname6
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_resolve_ipv6
    - tt_int_op
    - event_dispatch
    - tt_skip
    linkageType: ''
    returnType: void
    signature: void dns_gethostbyname6(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:219,1
    - Dst: evdns_resolve_reverse
      Src: /src/libevent/test/regress_dns.c:221,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_dns.c:222,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 215
    functionDepth: 10
    functionLinenumber: 215
    functionLinenumberEnd: 228
    functionName: dns_gethostbyaddr
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_dispatch
    - htonl
    - evdns_resolve_reverse
    linkageType: ''
    returnType: void
    signature: void dns_gethostbyaddr(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test/regress_dns.c:234,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:235,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:238,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:239,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:240,1
    - Dst: evdns_base_resolve_reverse
      Src: /src/libevent/test/regress_dns.c:243,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:245,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:247,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:249,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:253,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 230
    functionDepth: 9
    functionLinenumber: 230
    functionLinenumberEnd: 256
    functionName: dns_resolve_reverse
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 1
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_free
    - evdns_base_free
    - event_base_new
    - event_base_dispatch
    - evdns_base_resolve_reverse
    - evdns_base_new
    - htonl
    linkageType: ''
    returnType: void
    signature: void dns_resolve_reverse(void *ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:275,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:278,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:279,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:285,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_dns.c:287,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:293,1
    - Dst: evdns_server_request_add_ptr_reply
      Src: /src/libevent/test/regress_dns.c:294,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:300,1
    - Dst: evdns_server_request_add_ptr_reply
      Src: /src/libevent/test/regress_dns.c:301,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:308,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:309,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:313,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:318,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:320,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 260
    functionDepth: 6
    functionLinenumber: 260
    functionLinenumberEnd: 323
    functionName: dns_server_request_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_server_request_respond
    - evdns_server_request_add_a_reply
    - printf
    - evdns_server_request_add_ptr_reply
    - evdns_server_request_add_aaaa_reply
    - evdns_server_request_drop
    - htonl
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void dns_server_request_cb(struct evdns_server_request *req, void *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:331,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:338,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:343,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:350,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:351,1
    - Dst: inet_ntoa
      Src: /src/libevent/test/regress_dns.c:352,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_dns.c:362,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_dns.c:364,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:365,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_dns.c:375,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:377,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_dns.c:383,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:385,1
    - Dst: printf
      Src: /src/libevent/test/regress_dns.c:394,1
    - Dst: event_loopexit
      Src: /src/libevent/test/regress_dns.c:399,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 6
    argNames:
    - result
    - type
    - count
    - ttl
    - addresses
    - arg
    argTypes:
    - int
    - char
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 401
    functionName: dns_server_gethostbyname_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - memcmp
    - printf
    - event_loopexit
    - strcmp
    - evutil_inet_ntop
    - htonl
    - inet_ntoa
    linkageType: ''
    returnType: void
    signature: "void dns_server_gethostbyname_cb(int result, char type, int count,
      int ttl,\n    void *addresses, void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:418,1
    - Dst: socket
      Src: /src/libevent/test/regress_dns.c:421,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:423,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress_dns.c:426,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:428,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:431,1
    - Dst: bind
      Src: /src/libevent/test/regress_dns.c:432,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:433,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_dns.c:436,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:437,1
    - Dst: evdns_add_server_port
      Src: /src/libevent/test/regress_dns.c:440,1
    - Dst: evdns_base_nameserver_sockaddr_add
      Src: /src/libevent/test/regress_dns.c:444,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:445,1
    - Dst: evdns_base_count_nameservers
      Src: /src/libevent/test/regress_dns.c:445,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:450,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:452,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:453,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:454,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:455,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:456,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/regress_dns.c:457,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:459,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:460,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:464,1
    - Dst: evdns_base_resolve_ipv6
      Src: /src/libevent/test/regress_dns.c:466,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:468,1
    - Dst: evdns_base_resolve_reverse
      Src: /src/libevent/test/regress_dns.c:469,1
    - Dst: memcpy
      Src: /src/libevent/test/regress_dns.c:471,1
    - Dst: evdns_base_resolve_reverse_ipv6
      Src: /src/libevent/test/regress_dns.c:474,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:477,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/test/regress_dns.c:481,1
    - Dst: event_dispatch
      Src: /src/libevent/test/regress_dns.c:483,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:485,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:490,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:492,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 403
    functionDepth: 9
    functionLinenumber: 403
    functionLinenumberEnd: 495
    functionName: dns_server
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resolve_reverse_ipv6
    - evdns_base_resolve_ipv4
    - memcpy
    - getsockname
    - evdns_base_free
    - evdns_base_get_nameserver_addr
    - evdns_base_new
    - tt_abort_perror
    - evutil_closesocket
    - tt_assert
    - tt_int_op
    - event_dispatch
    - evdns_base_resolve_ipv6
    - evdns_add_server_port
    - tt_mem_op
    - htonl
    - evdns_cancel_request
    - bind
    - memset
    - socket
    - evutil_make_socket_nonblocking
    - evdns_base_nameserver_sockaddr_add
    - evdns_base_resolve_reverse
    - evdns_close_server_port
    - evdns_base_count_nameservers
    linkageType: ''
    returnType: void
    signature: void dns_server(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/test/regress_dns.c:528,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:535,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:536,1
    - Dst: memcpy
      Src: /src/libevent/test/regress_dns.c:537,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:544,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:547,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 6
    argNames:
    - result
    - type
    - count
    - ttl
    - addresses
    - arg
    argTypes:
    - int
    - char
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 549
    functionName: generic_dns_callback
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - memcpy
    - evdns_close_server_port
    - strlen
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: "void generic_dns_callback(int result, char type, int count, int ttl,
      void *addresses,\n    void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_search_test_impl
      Src: /src/libevent/test/regress_dns.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 682
    functionName: dns_search_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - dns_search_test_impl
    linkageType: ''
    returnType: void
    signature: void dns_search_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_search_test_impl
      Src: /src/libevent/test/regress_dns.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 683
    functionName: dns_search_lower_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - dns_search_test_impl
    linkageType: ''
    returnType: void
    signature: void dns_search_lower_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_dns.c:694,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:699,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:701,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:702,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:702,1
    - Dst: evdns_cancel_request
      Src: /src/libevent/test/regress_dns.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 688
    functionDepth: 6
    functionLinenumber: 688
    functionLinenumberEnd: 709
    functionName: search_cancel_server_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_server_request_respond
    - evdns_cancel_request
    - TT_BLATHER
    - TT_DIE
    linkageType: ''
    returnType: void
    signature: void search_cancel_server_cb(struct evdns_server_request *req, void
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:722,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:724,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:725,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:727,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:728,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:730,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:730,1
    - Dst: evdns_base_search_add
      Src: /src/libevent/test/regress_dns.c:732,1
    - Dst: evdns_base_search_add
      Src: /src/libevent/test/regress_dns.c:733,1
    - Dst: evdns_base_search_add
      Src: /src/libevent/test/regress_dns.c:734,1
    - Dst: evdns_base_search_add
      Src: /src/libevent/test/regress_dns.c:735,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:741,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:743,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:745,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:749,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 711
    functionDepth: 9
    functionLinenumber: 711
    functionLinenumberEnd: 752
    functionName: dns_search_cancel_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_search_add
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - evdns_close_server_port
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void dns_search_cancel_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_want
      Src: /src/libevent/test/regress_dns.c:764,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:764,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_dns.c:769,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:774,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:776,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:779,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_dns.c:779,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:780,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:782,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:782,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_dns.c:785,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 754
    functionDepth: 6
    functionLinenumber: 754
    functionLinenumberEnd: 786
    functionName: fail_server_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_server_request_respond
    - event_base_loopexit
    - evdns_server_request_add_a_reply
    - evutil_inet_pton
    - tt_want
    - TT_DIE
    - evdns_server_request_drop
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void fail_server_cb(struct evdns_server_request *req, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:801,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:803,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:804,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:806,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:807,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:809,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:809,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:810,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:810,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:811,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:811,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:812,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:812,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:814,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:820,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:822,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:824,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:825,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:826,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:826,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:831,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:831,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:832,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:832,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:833,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:835,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:841,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:844,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:847,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:848,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:851,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:852,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:853,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:854,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:855,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:855,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:859,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 2
    argNames:
    - arg
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 788
    functionDepth: 9
    functionLinenumber: 788
    functionLinenumberEnd: 862
    functionName: dns_retry_test_impl
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - regress_get_udp_dnsserver
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_set_option
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - evdns_close_server_port
    - htonl
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void dns_retry_test_impl(void *arg, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_retry_test_impl
      Src: /src/libevent/test/regress_dns.c:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 863
    functionDepth: 10
    functionLinenumber: 863
    functionLinenumberEnd: 867
    functionName: dns_retry_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - dns_retry_test_impl
    linkageType: ''
    returnType: void
    signature: void dns_retry_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_retry_test_impl
      Src: /src/libevent/test/regress_dns.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 10
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: dns_retry_disable_when_inactive_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - dns_retry_test_impl
    linkageType: ''
    returnType: void
    signature: void dns_retry_disable_when_inactive_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:888,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:890,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:891,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:893,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:894,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:896,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:896,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:897,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:897,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:898,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:898,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:899,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:899,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:900,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:900,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:902,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:902,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:904,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_dns.c:908,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:911,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_dns.c:912,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:913,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_dns.c:914,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:917,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:920,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:922,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:923,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:924,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:925,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:925,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:929,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:929,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:930,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:930,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:931,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:931,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:932,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:933,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_dns.c:937,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:939,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:940,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:941,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_dns.c:942,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_dns.c:943,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:946,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:948,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:950,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:951,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:952,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:953,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:953,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:957,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 874
    functionDepth: 9
    functionLinenumber: 874
    functionLinenumberEnd: 960
    functionName: dns_probe_settings_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_base_resolve_ipv4
    - test_timeval_diff_leq
    - evdns_base_nameserver_ip_add
    - evdns_base_set_option
    - evdns_base_free
    - evdns_close_server_port
    - event_base_dispatch
    - evdns_base_new
    - evutil_gettimeofday
    - htonl
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void dns_probe_settings_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:988,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:990,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:991,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:993,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:994,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:995,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:997,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:998,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1000,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1000,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1001,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1001,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1002,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1002,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1003,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1003,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1005,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:1006,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1010,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1010,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:1015,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1016,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1017,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1018,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1019,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1019,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1022,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1026,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1028,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - arg
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 977
    functionDepth: 9
    functionLinenumber: 977
    functionLinenumberEnd: 1031
    functionName: dns_reissue_test_impl
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - regress_get_udp_dnsserver
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_set_option
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - evdns_close_server_port
    - htonl
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void dns_reissue_test_impl(void *arg, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_reissue_test_impl
      Src: /src/libevent/test/regress_dns.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1032
    functionDepth: 10
    functionLinenumber: 1032
    functionLinenumberEnd: 1036
    functionName: dns_reissue_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - dns_reissue_test_impl
    linkageType: ''
    returnType: void
    signature: void dns_reissue_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_reissue_test_impl
      Src: /src/libevent/test/regress_dns.c:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1037
    functionDepth: 10
    functionLinenumber: 1037
    functionLinenumberEnd: 1041
    functionName: dns_reissue_disable_when_inactive_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - dns_reissue_test_impl
    linkageType: ''
    returnType: void
    signature: void dns_reissue_disable_when_inactive_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libevent/test/regress_dns.c:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1052
    functionName: dumb_bytes_fn
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: void
    signature: void dumb_bytes_fn(char *p, size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:1069,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1071,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1076,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1078,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1079,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1081,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1081,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1082,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1082,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1083,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1083,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:1086,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:1091,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1094,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1095,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1096,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1096,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1101,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1103,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - arg
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1055
    functionDepth: 9
    functionLinenumber: 1055
    functionLinenumberEnd: 1108
    functionName: dns_inflight_test_impl
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_set_option
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - evdns_close_server_port
    - htonl
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void dns_inflight_test_impl(void *arg, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_inflight_test_impl
      Src: /src/libevent/test/regress_dns.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 10
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: dns_inflight_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - dns_inflight_test_impl
    linkageType: ''
    returnType: void
    signature: void dns_inflight_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_inflight_test_impl
      Src: /src/libevent/test/regress_dns.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 10
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: dns_disable_when_inactive_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - dns_inflight_test_impl
    linkageType: ''
    returnType: void
    signature: void dns_disable_when_inactive_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test/regress_dns.c:1132,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1133,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1136,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:1136,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1137,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1139,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1140,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1141,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1141,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1142,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1142,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:1144,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:1148,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1150,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1152,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1153,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1154,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1155,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1159,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:1160,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:1162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1122
    functionDepth: 9
    functionLinenumber: 1122
    functionLinenumberEnd: 1163
    functionName: dns_disable_when_inactive_no_ns_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - regress_clean_dnsserver
    - event_base_free
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_set_option
    - evdns_base_free
    - event_base_dispatch
    - tt_ptr_op
    - evdns_base_new
    - regress_dnsserver
    - event_base_new
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void dns_disable_when_inactive_no_ns_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libevent/test/regress_dns.c:1178,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:1179,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1183,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1184,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1185,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1185,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1186,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1188,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1189,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1191,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1192,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1194,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1196,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1165
    functionDepth: 9
    functionLinenumber: 1165
    functionLinenumberEnd: 1202
    functionName: dns_initialize_nameservers_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - stat
    - tt_int_op
    - evdns_base_free
    - tt_skip
    - evdns_base_get_nameserver_addr
    - evdns_base_new
    linkageType: ''
    returnType: void
    signature: void dns_initialize_nameservers_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1215,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1216,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1218,1
    - Dst: load_nameservers_with_getadaptersaddresses
      Src: /src/libevent/test/regress_dns.c:1218,1
    - Dst: evdns_base_count_nameservers
      Src: /src/libevent/test/regress_dns.c:1219,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1220,1
    - Dst: socket
      Src: /src/libevent/test/regress_dns.c:1222,1
    - Dst: event_warn
      Src: /src/libevent/test/regress_dns.c:1224,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:1225,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:1227,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1230,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1231,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1237,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1205
    functionDepth: 9
    functionLinenumber: 1205
    functionLinenumberEnd: 1242
    functionName: windows_dns_initialize_ipv6_nameservers_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - load_nameservers_with_getadaptersaddresses
    - socket
    - event_warn
    - TT_BLATHER
    - evutil_closesocket
    - evdns_base_free
    - tt_skip
    - evdns_base_get_nameserver_addr
    - evdns_base_new
    - evdns_base_count_nameservers
    linkageType: ''
    returnType: void
    signature: void windows_dns_initialize_ipv6_nameservers_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1257,1
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_dns.c:1257,1
    - Dst: strlen
      Src: /src/libevent/test/regress_dns.c:1258,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1261,1
    - Dst: evutil_set_resolvconf_filename_
      Src: /src/libevent/test/regress_dns.c:1263,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1265,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1267,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1269,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:1269,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1273,1
    - Dst: unlink
      Src: /src/libevent/test/regress_dns.c:1275,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:1276,1
    - Dst: evutil_set_resolvconf_filename_
      Src: /src/libevent/test/regress_dns.c:1278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1248
    functionDepth: 9
    functionLinenumber: 1248
    functionLinenumberEnd: 1279
    functionName: dns_initialize_inactive_one_nameserver_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - free
    - tt_int_op
    - event_base_loop
    - evutil_set_resolvconf_filename_
    - regress_make_tmpfile
    - unlink
    - evdns_base_free
    - evdns_base_new
    - strlen
    linkageType: ''
    returnType: void
    signature: void dns_initialize_inactive_one_nameserver_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1294,1
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_dns.c:1294,1
    - Dst: strlen
      Src: /src/libevent/test/regress_dns.c:1295,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1298,1
    - Dst: evutil_set_resolvconf_filename_
      Src: /src/libevent/test/regress_dns.c:1300,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1302,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1304,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1306,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:1306,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1310,1
    - Dst: unlink
      Src: /src/libevent/test/regress_dns.c:1312,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:1313,1
    - Dst: evutil_set_resolvconf_filename_
      Src: /src/libevent/test/regress_dns.c:1315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1285
    functionDepth: 9
    functionLinenumber: 1285
    functionLinenumberEnd: 1316
    functionName: dns_initialize_inactive_two_nameservers_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - free
    - tt_int_op
    - event_base_loop
    - evutil_set_resolvconf_filename_
    - regress_make_tmpfile
    - unlink
    - evdns_base_free
    - evdns_base_new
    - strlen
    linkageType: ''
    returnType: void
    signature: void dns_initialize_inactive_two_nameservers_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/libevent/test/regress_dns.c:1326,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1328,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1330,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1331,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1332,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1332,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1333,1
    - Dst: evdns_base_get_nameserver_fd
      Src: /src/libevent/test/regress_dns.c:1333,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/test/regress_dns.c:1339,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1341,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1342,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1342,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1343,1
    - Dst: evdns_base_get_nameserver_fd
      Src: /src/libevent/test/regress_dns.c:1343,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/test/regress_dns.c:1345,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1346,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1347,1
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:1347,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1348,1
    - Dst: evdns_base_get_nameserver_fd
      Src: /src/libevent/test/regress_dns.c:1348,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1320
    functionDepth: 9
    functionLinenumber: 1320
    functionLinenumberEnd: 1353
    functionName: dns_nameservers_no_default_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_base_resolv_conf_parse
    - tt_int_op
    - evdns_base_free
    - evdns_base_get_nameserver_fd
    - evdns_base_get_nameserver_addr
    - evdns_base_new
    - access
    linkageType: ''
    returnType: void
    signature: void dns_nameservers_no_default_test(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_dns.c:1367,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:1369,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1371,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1372,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/test/regress_dns.c:1374,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1375,1
    - Dst: close
      Src: /src/libevent/test/regress_dns.c:1379,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1381,1
    - Dst: unlink
      Src: /src/libevent/test/regress_dns.c:1383,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:1384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1355
    functionDepth: 9
    functionLinenumber: 1355
    functionLinenumberEnd: 1386
    functionName: dns_nameservers_no_nameservers_configured_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_base_resolv_conf_parse
    - tt_int_op
    - free
    - regress_make_tmpfile
    - close
    - unlink
    - evdns_base_free
    - tt_skip
    - evdns_base_new
    linkageType: ''
    returnType: void
    signature: void dns_nameservers_no_nameservers_configured_test(void *arg)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1411,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1413,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1417,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1418,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1419,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1422,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1425,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1428,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1429,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_dns.c:1437,1
    - Dst: evdns_server_request_add_cname_reply
      Src: /src/libevent/test/regress_dns.c:1441,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1443,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1446,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1447,1
    - Dst: evdns_server_request_add_cname_reply
      Src: /src/libevent/test/regress_dns.c:1451,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1453,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1455,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1457,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1458,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1461,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_dns.c:1463,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1465,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1467,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_dns.c:1473,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1476,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_dns.c:1478,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1480,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1483,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:1484,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:1489,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1492,1
    - Dst: evdns_server_request_add_aaaa_reply
      Src: /src/libevent/test/regress_dns.c:1499,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:1504,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1507,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:1513,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_dns.c:1516,1
    - Dst: evdns_server_request_drop
      Src: /src/libevent/test/regress_dns.c:1519,1
    - Dst: TT_GRIPE
      Src: /src/libevent/test/regress_dns.c:1522,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1526,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:1527,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1529,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:1530,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 106
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1397
    functionDepth: 6
    functionLinenumber: 1397
    functionLinenumberEnd: 1532
    functionName: be_getaddrinfo_server_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_server_request_respond
    - memset
    - evdns_server_request_add_a_reply
    - TT_BLATHER
    - TT_FAIL
    - TT_GRIPE
    - evdns_server_request_add_cname_reply
    - evdns_server_request_add_aaaa_reply
    - evdns_server_request_drop
    - htonl
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void be_getaddrinfo_server_cb(struct evdns_server_request *req, void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:1544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - l
    - fd
    - s
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1546
    functionName: nil_accept_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: "void nil_accept_cb(struct evconnlistener *l, evutil_socket_t fd, struct
      sockaddr *s,\n    int socklen, void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_dns.c:1561,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1565,1
    - Dst: bufferevent_socket_get_dns_error
      Src: /src/libevent/test/regress_dns.c:1570,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1574,1
    - Dst: evutil_gai_strerror
      Src: /src/libevent/test/regress_dns.c:1575,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1578,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:1586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1555
    functionDepth: 2
    functionLinenumber: 1555
    functionLinenumberEnd: 1589
    functionName: be_connect_hostname_event_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - evutil_gai_strerror
    - TT_FAIL
    - TT_BLATHER
    - bufferevent_socket_get_dns_error
    linkageType: ''
    returnType: void
    signature: void be_connect_hostname_event_cb(struct bufferevent *bev, short what,
      void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_connect_hostname_hints
      Src: /src/libevent/test/regress_dns.c:1595,1
    - Dst: bufferevent_socket_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - bev
    - dns
    - hints
    - host
    - port
    argTypes:
    - struct bufferevent*
    - struct evdns_base*
    - struct evutil_addrinfo*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1591
    functionDepth: 9
    functionLinenumber: 1591
    functionLinenumberEnd: 1598
    functionName: bev_connect_hostname
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - bufferevent_socket_connect_hostname_hints
    - bufferevent_socket_connect_hostname
    linkageType: ''
    returnType: int
    signature: "int bev_connect_hostname(struct bufferevent *bev, struct evdns_base
      *dns,\n    struct evutil_addrinfo *hints, const char *host, int port)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress_dns.c:1603,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_dns.c:1604,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:1607,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1620,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1631,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:1633,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_dns.c:1635,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1639,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_dns.c:1640,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_dns.c:1641,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:1643,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1645,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1646,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1649,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1650,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1652,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1653,1
    - Dst: socket
      Src: /src/libevent/test/regress_dns.c:1657,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1660,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1661,1
    - Dst: close
      Src: /src/libevent/test/regress_dns.c:1661,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1663,1
    - Dst: setrlimit
      Src: /src/libevent/test/regress_dns.c:1663,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:1670,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1671,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_dns.c:1672,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1673,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_dns.c:1674,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1680,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1680,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1683,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1683,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1690,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1694,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1698,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1698,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1701,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1701,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1704,1
    - Dst: bev_connect_hostname
      Src: /src/libevent/test/regress_dns.c:1704,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:1707,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_dns.c:1709,1
    - Dst: event_base_get_method
      Src: /src/libevent/test/regress_dns.c:1709,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1710,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_dns.c:1712,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1716,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1719,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1720,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1721,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1722,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1723,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1724,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1725,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1731,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1734,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1738,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1739,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1743,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1745,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1747,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_dns.c:1751,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:1753,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:1755,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:1756,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_dns.c:1758,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 86
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1599
    functionDepth: 10
    functionLinenumber: 1599
    functionLinenumberEnd: 1760
    functionName: test_bufferevent_connect_hostname
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - regress_get_socket_port
    - evutil_getaddrinfo
    - evdns_base_free
    - bufferevent_setcb
    - event_base_dispatch
    - evdns_base_new
    - strcmp
    - tt_assert
    - tt_int_op
    - event_base_get_method
    - setrlimit
    - evconnlistener_new_bind
    - ARRAY_SIZE
    - close
    - evdns_base_nameserver_ip_add
    - bev_connect_hostname
    - bufferevent_socket_new
    - htonl
    - memset
    - evconnlistener_get_fd
    - regress_get_udp_dnsserver
    - socket
    - evconnlistener_free
    - tt_skip
    - evdns_close_server_port
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_bufferevent_connect_hostname(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:1777,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - err
    - res
    - ptr
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1770
    functionDepth: 2
    functionLinenumber: 1770
    functionLinenumberEnd: 1781
    functionName: gai_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void gai_cb(int err, struct evutil_addrinfo *res, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_getaddrinfo_cancel
      Src: /src/libevent/test/regress_dns.c:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - ptr
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1783
    functionDepth: 4
    functionLinenumber: 1783
    functionLinenumberEnd: 1788
    functionName: cancel_gai_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_getaddrinfo_cancel
    linkageType: ''
    returnType: void
    signature: void cancel_gai_cb(evutil_socket_t fd, short what, void *ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1805,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1806,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1807,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:1809,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1810,1
    - Dst: evdns_base_load_hosts
      Src: /src/libevent/test/regress_dns.c:1813,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1815,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1815,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1816,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:1816,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1822,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1825,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1826,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1828,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1830,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1831,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1832,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:1835,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1839,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1842,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1843,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1845,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1846,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1847,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1850,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1851,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1854,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1856,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1857,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1858,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1859,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1860,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1861,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1865,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1866,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1868,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1870,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1871,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1872,1
    - Dst: ai_find_by_protocol
      Src: /src/libevent/test/regress_dns.c:1873,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1874,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1875,1
    - Dst: ai_find_by_protocol
      Src: /src/libevent/test/regress_dns.c:1876,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1877,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1878,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1879,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1883,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1884,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1888,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1890,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1891,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1892,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1894,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1895,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1896,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1898,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1899,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1900,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1901,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1905,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1906,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1909,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1911,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1912,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1913,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1915,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1916,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1917,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1919,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1920,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1921,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1922,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1926,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1927,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1930,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1932,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1933,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1934,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1936,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1937,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1938,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:1940,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1941,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1942,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1943,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1947,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1948,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1951,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1953,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1954,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1955,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:1957,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_dns.c:1958,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:1959,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:1964,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1966,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:1967,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:1969,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:1970,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:1972,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1977,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1979,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1982,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1984,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1988,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1990,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:1995,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:1997,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2002,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2004,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2008,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2010,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2015,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2017,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2022,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2024,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2029,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2031,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2036,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2038,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2044,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2046,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2049,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2051,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_dns.c:2056,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2064,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2066,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2077,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2080,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2081,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2082,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2083,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2084,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2085,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2086,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2087,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2088,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2089,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2090,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_dns.c:2091,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2094,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2095,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2096,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2097,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2098,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2102,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2103,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2104,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2105,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2108,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2109,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2110,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2111,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2114,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2115,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2116,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2117,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2120,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2121,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2124,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2125,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2128,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2129,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2130,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2131,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2134,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2135,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2138,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2139,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2140,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2142,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2144,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2144,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2145,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2147,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2149,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_dns.c:2149,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2152,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2153,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2154,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2155,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2158,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2159,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2162,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2163,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2164,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2165,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_dns.c:2166,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:2173,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2177,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2179,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2184,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2186,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2191,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2193,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2195,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2196,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2197,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2198,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2203,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2205,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2207,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2209,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2210,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2214,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2216,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2218,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2219,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2220,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2221,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2225,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2227,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2229,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2230,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2231,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2232,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2236,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2238,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2242,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2244,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2248,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2250,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2254,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2256,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2260,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2262,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2267,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2269,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2272,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2274,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2280,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2282,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2284,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2285,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2286,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_dns.c:2287,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_dns.c:2288,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2291,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2295,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:2296,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2298,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:2300,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2302,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2305,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 325
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 1790
    functionDepth: 10
    functionLinenumber: 1790
    functionLinenumberEnd: 2308
    functionName: test_getaddrinfo_async
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_set_option
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - tt_str_op
    - tt_assert
    - tt_int_op
    - event_base_once
    - ARRAY_SIZE
    - ai_find_by_family
    - ai_find_by_protocol
    - evdns_base_nameserver_ip_add
    - tt_ptr_op
    - evutil_freeaddrinfo
    - memset
    - test_ai_eq
    - regress_get_udp_dnsserver
    - evdns_base_load_hosts
    - TT_BLATHER
    - evdns_close_server_port
    - evdns_getaddrinfo
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_getaddrinfo_async(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2329,1
    - Dst: evdns_getaddrinfo_cancel
      Src: /src/libevent/test/regress_dns.c:2331,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:2334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2324
    functionDepth: 4
    functionLinenumber: 2324
    functionLinenumberEnd: 2335
    functionName: gaic_cancel_request_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_getaddrinfo_cancel
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void gaic_cancel_request_cb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2341,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/test/regress_dns.c:2342,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:2344,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/test/regress_dns.c:2347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2337
    functionDepth: 6
    functionLinenumber: 2337
    functionLinenumberEnd: 2348
    functionName: gaic_server_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_server_request_add_a_reply
    - evdns_server_request_respond
    linkageType: ''
    returnType: void
    signature: void gaic_server_cb(struct evdns_server_request *req, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2356,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2359,1
    - Dst: event_del
      Src: /src/libevent/test/regress_dns.c:2361,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:2363,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:2364,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_dns.c:2369,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_dns.c:2370,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_dns.c:2374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - result
    - res
    - arg
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2351
    functionDepth: 4
    functionLinenumber: 2351
    functionLinenumberEnd: 2375
    functionName: gaic_getaddrinfo_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - free
    - event_base_loopexit
    - memset
    - event_del
    - TT_BLATHER
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void gaic_getaddrinfo_cb(int result, struct evutil_addrinfo *res, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libevent/test/regress_dns.c:2380,1
    - Dst: event_assign
      Src: /src/libevent/test/regress_dns.c:2394,1
    - Dst: snprintf
      Src: /src/libevent/test/regress_dns.c:2396,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2397,1
    - Dst: event_add
      Src: /src/libevent/test/regress_dns.c:2400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - base
    - dns_base
    - i
    argTypes:
    - struct event_base*
    - struct evdns_base*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2377
    functionDepth: 10
    functionLinenumber: 2377
    functionLinenumberEnd: 2402
    functionName: gaic_launch
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - calloc
    - event_assign
    - event_add
    - snprintf
    - evdns_getaddrinfo
    linkageType: ''
    returnType: void
    signature: void gaic_launch(struct event_base *base, struct evdns_base *dns_base,
      unsigned i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress_dns.c:2415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2411
    functionDepth: 1
    functionLinenumber: 2411
    functionLinenumberEnd: 2416
    functionName: cnt_malloc
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      cnt_malloc(size_t sz)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libevent/test/regress_dns.c:2425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - old
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2426
    functionName: cnt_realloc
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      cnt_realloc(void *old, size_t sz)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:2432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2428
    functionDepth: 1
    functionLinenumber: 2428
    functionLinenumberEnd: 2433
    functionName: cnt_free
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void cnt_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/regress_dns.c:2452,1
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_dns.c:2454,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/test/regress_dns.c:2456,1
    - Dst: calloc
      Src: /src/libevent/test/regress_dns.c:2459,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_dns.c:2460,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2461,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2442
    functionDepth: 9
    functionLinenumber: 2442
    functionLinenumberEnd: 2466
    functionName: testleak_setup
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_set_mem_functions
    - calloc
    - evdns_base_resolve_ipv4
    - event_enable_debug_mode
    - evdns_base_new
    - libevent_global_shutdown
    - event_base_new
    linkageType: ''
    returnType: void
    signature: 'void *

      testleak_setup(const struct testcase_t *testcase)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2473,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2475,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/test/regress_dns.c:2477,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2478,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2484,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2486,1
    - Dst: free
      Src: /src/libevent/test/regress_dns.c:2487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - testcase
    - env_
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2468
    functionDepth: 6
    functionLinenumber: 2468
    functionLinenumberEnd: 2490
    functionName: testleak_cleanup
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - free
    - tt_int_op
    - event_base_free
    - evdns_base_free
    - libevent_global_shutdown
    linkageType: ''
    returnType: int
    signature: int testleak_cleanup(const struct testcase_t *testcase, void *env_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_cancel_request
      Src: /src/libevent/test/regress_dns.c:2502,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2506,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2510,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - env_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2496
    functionDepth: 6
    functionLinenumber: 2496
    functionLinenumberEnd: 2514
    functionName: test_dbg_leak_cancel
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_cancel_request
    - event_base_loop
    - event_base_free
    - evdns_base_free
    linkageType: ''
    returnType: void
    signature: void test_dbg_leak_cancel(void *env_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_cancel_request
      Src: /src/libevent/test/regress_dns.c:2522,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2523,1
    - Dst: evdns_base_resume
      Src: /src/libevent/test/regress_dns.c:2523,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2526,1
    - Dst: evdns_base_resume
      Src: /src/libevent/test/regress_dns.c:2526,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2529,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2540,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2542,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - env_
    - cancel
    - send_err_shutdown
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2516
    functionDepth: 6
    functionLinenumber: 2516
    functionLinenumberEnd: 2547
    functionName: dbg_leak_resume
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_cancel_request
    - event_base_loop
    - event_base_free
    - evdns_base_free
    - evdns_base_resume
    linkageType: ''
    returnType: void
    signature: void dbg_leak_resume(void *env_, int cancel, int send_err_shutdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - cancel
    - ','
    - send_err_shutdown
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2555
    functionName: IMPL_DBG_LEAK_RESUME
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_DBG_LEAK_RESUME(name, cancel, send_err_shutdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2571,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2575,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - env_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2560
    functionDepth: 6
    functionLinenumber: 2560
    functionLinenumberEnd: 2578
    functionName: test_dbg_leak_shutdown
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - event_base_loop
    - event_base_free
    - evdns_base_free
    linkageType: ''
    returnType: void
    signature: void test_dbg_leak_shutdown(void *env_)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test/regress_dns.c:2593,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2595,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:2597,1
    - Dst: htonl
      Src: /src/libevent/test/regress_dns.c:2600,1
    - Dst: socket
      Src: /src/libevent/test/regress_dns.c:2601,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:2602,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress_dns.c:2604,1
    - Dst: bind
      Src: /src/libevent/test/regress_dns.c:2605,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:2606,1
    - Dst: evdns_add_server_port_with_base
      Src: /src/libevent/test/regress_dns.c:2608,1
    - Dst: memset
      Src: /src/libevent/test/regress_dns.c:2611,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_dns.c:2613,1
    - Dst: tt_abort_perror
      Src: /src/libevent/test/regress_dns.c:2614,1
    - Dst: evdns_base_nameserver_sockaddr_add
      Src: /src/libevent/test/regress_dns.c:2616,1
    - Dst: gaic_launch
      Src: /src/libevent/test/regress_dns.c:2620,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2623,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2626,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2627,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2631,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2633,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2635,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:2637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2581
    functionDepth: 11
    functionLinenumber: 2581
    functionLinenumberEnd: 2638
    functionName: test_getaddrinfo_async_cancel_stress
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - bind
    - gaic_launch
    - memset
    - tt_int_op
    - socket
    - event_base_free
    - getsockname
    - evdns_base_free
    - evdns_add_server_port_with_base
    - evutil_closesocket
    - event_base_new
    - event_base_dispatch
    - evdns_base_new
    - evutil_make_socket_nonblocking
    - tt_abort_perror
    - evdns_base_nameserver_sockaddr_add
    - evdns_close_server_port
    - htonl
    linkageType: ''
    returnType: void
    signature: void test_getaddrinfo_async_cancel_stress(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress_dns.c:2645,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:2654,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2656,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2658,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2660,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2661,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2662,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2662,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2665,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:2665,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2668,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2673,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2675,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2677,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2679,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2640
    functionDepth: 9
    functionLinenumber: 2640
    functionLinenumberEnd: 2683
    functionName: dns_client_fail_requests_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_set_option
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - strcmp
    - evdns_close_server_port
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void dns_client_fail_requests_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generic_dns_callback
      Src: /src/libevent/test/regress_dns.c:2688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - err
    - res
    - ptr
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2685
    functionDepth: 6
    functionLinenumber: 2685
    functionLinenumberEnd: 2689
    functionName: getaddrinfo_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - generic_dns_callback
    linkageType: ''
    returnType: void
    signature: void getaddrinfo_cb(int err, struct evutil_addrinfo *res, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:2703,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2705,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2707,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2709,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2710,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2712,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2712,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2715,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2715,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2720,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2722,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2724,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2726,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2690
    functionDepth: 10
    functionLinenumber: 2690
    functionLinenumberEnd: 2730
    functionName: dns_client_fail_requests_getaddrinfo_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - regress_get_udp_dnsserver
    - evdns_base_nameserver_ip_add
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - evdns_close_server_port
    - evdns_getaddrinfo
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void dns_client_fail_requests_getaddrinfo_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_dns.c:2749,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_dns.c:2750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2745
    functionDepth: 6
    functionLinenumber: 2745
    functionLinenumberEnd: 2751
    functionName: race_base_run
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - event_base_loop
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN race_base_run(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_get_nameserver_addr
      Src: /src/libevent/test/regress_dns.c:2758,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_dns.c:2759,1
    - Dst: EVTHREAD_COND_SIGNAL
      Src: /src/libevent/test/regress_dns.c:2761,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_dns.c:2762,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_dns.c:2763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2752
    functionDepth: 2
    functionLinenumber: 2752
    functionLinenumberEnd: 2764
    functionName: race_busywait_run
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - EVTHREAD_COND_SIGNAL
    - EVLOCK_LOCK
    - evdns_base_get_nameserver_addr
    - THREAD_RETURN
    - EVLOCK_UNLOCK
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN race_busywait_run(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_dns.c:2774,1
    - Dst: EVTHREAD_COND_SIGNAL
      Src: /src/libevent/test/regress_dns.c:2775,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_dns.c:2776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - result
    - res
    - arg
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2765
    functionDepth: 1
    functionLinenumber: 2765
    functionLinenumberEnd: 2778
    functionName: race_gai_cb
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - EVLOCK_UNLOCK
    - EVTHREAD_COND_SIGNAL
    - EVLOCK_LOCK
    linkageType: ''
    returnType: void
    signature: void race_gai_cb(int result, struct evutil_addrinfo *res, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evthread_use_pthreads
      Src: /src/libevent/test/regress_dns.c:2795,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_dns.c:2797,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2798,1
    - Dst: evthread_make_base_notifiable
      Src: /src/libevent/test/regress_dns.c:2799,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_dns.c:2800,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:2802,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2804,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2806,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2808,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2809,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2810,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2810,1
    - Dst: EVTHREAD_ALLOC_LOCK
      Src: /src/libevent/test/regress_dns.c:2814,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_dns.c:2815,1
    - Dst: EVTHREAD_ALLOC_COND
      Src: /src/libevent/test/regress_dns.c:2816,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2817,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2818,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2819,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_dns.c:2824,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:2826,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_dns.c:2828,1
    - Dst: EVLOCK_LOCK
      Src: /src/libevent/test/regress_dns.c:2831,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2835,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/test/regress_dns.c:2835,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_dns.c:2840,1
    - Dst: EVTHREAD_COND_WAIT_TIMED
      Src: /src/libevent/test/regress_dns.c:2849,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2855,1
    - Dst: EVTHREAD_COND_WAIT_TIMED
      Src: /src/libevent/test/regress_dns.c:2855,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_dns.c:2857,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2860,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:2862,1
    - Dst: EVLOCK_UNLOCK
      Src: /src/libevent/test/regress_dns.c:2866,1
    - Dst: EVTHREAD_FREE_LOCK
      Src: /src/libevent/test/regress_dns.c:2867,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_dns.c:2868,1
    - Dst: EVTHREAD_FREE_COND
      Src: /src/libevent/test/regress_dns.c:2869,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:2870,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/test/regress_dns.c:2871,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_dns.c:2872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2779
    functionDepth: 10
    functionLinenumber: 2779
    functionLinenumberEnd: 2873
    functionName: getaddrinfo_race_gotresolve_test
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_abort_msg
    - EVTHREAD_COND_WAIT_TIMED
    - evdns_base_free
    - EVTHREAD_ALLOC_LOCK
    - evdns_base_new
    - event_base_loopbreak
    - THREAD_START
    - event_base_new
    - tt_assert
    - tt_int_op
    - EVTHREAD_FREE_LOCK
    - ARRAY_SIZE
    - evthread_use_pthreads
    - event_base_free
    - evutil_usleep_
    - EVTHREAD_FREE_COND
    - evdns_base_nameserver_ip_add
    - EVLOCK_LOCK
    - evthread_make_base_notifiable
    - EVTHREAD_ALLOC_COND
    - regress_get_udp_dnsserver
    - evdns_close_server_port
    - evdns_getaddrinfo
    - EVLOCK_UNLOCK
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void getaddrinfo_race_gotresolve_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2881,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2890,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2891,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2893,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:2893,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2894,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2896,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2896,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2899,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2901,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2903,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2904,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:2904,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2905,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2906,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2909,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2911,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2913,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2914,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2915,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2916,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2917,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2919,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2921,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2923,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2924,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:2924,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2925,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2926,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2929,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2931,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2933,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2934,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2935,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2936,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2937,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2939,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2941,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2943,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2944,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:2945,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2946,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2947,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2949,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2951,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2953,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2954,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:2955,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2956,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2957,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:2961,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:2963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2876
    functionDepth: 9
    functionLinenumber: 2876
    functionLinenumberEnd: 2964
    functionName: test_tcp_resolve
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - REPEAT_64
    - regress_clean_dnsserver
    - REPEAT_256
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_free
    - event_base_dispatch
    - regress_dnsserver
    - evdns_base_new
    - assert_request_results
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_tcp_resolve(void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:2971,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2980,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2981,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2982,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:2982,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:2983,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2984,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:2984,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2985,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:2985,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:2988,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2990,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:2994,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:2996,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:2997,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:2999,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3000,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3004,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3005,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3013,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3013,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3013,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3021,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3023,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3023,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3024,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3026,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3027,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3027,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3028,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3030,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3034,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3036,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:3036,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3038,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3039,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3044,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3046,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3055,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3062,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3063,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3065,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3065,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3066,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3066,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3067,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3069,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3069,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3071,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3073,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3076,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3078,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3082,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3084,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3100,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3100,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3101,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3102,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3103,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3104,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3104,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3107,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3109,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3110,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3111,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3113,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3113,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3115,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3117,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3118,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:3118,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3121,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3123,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3124,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3125,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3127,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3127,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3129,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3131,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3132,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:3133,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3137,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3139,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3148,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3149,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3151,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3151,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3152,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3152,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3155,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3155,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3159,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3195,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3196,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3198,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3199,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3199,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3200,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3200,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3201,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3201,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3202,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3202,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3203,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3203,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3206,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3207,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3207,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3208,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3208,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3209,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3209,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3210,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3210,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3211,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3211,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3212,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3212,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3215,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3216,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3216,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3217,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3217,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3218,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3218,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3219,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3219,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3220,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3220,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3221,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3221,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3224,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3225,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3225,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3226,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3226,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3227,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3227,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3228,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3228,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3235,1
    - Dst: regress_get_tcp_dnsserver
      Src: /src/libevent/test/regress_dns.c:3253,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3254,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:3256,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3257,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3259,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3260,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3260,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3261,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3261,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3262,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3262,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3263,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3263,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3264,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3264,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:3271,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:3273,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:3275,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:3277,1
    - Dst: DNS_LEGACY
      Src: /src/libevent/test/regress_dns.c:3285,1
    - Dst: DNS_LEGACY
      Src: /src/libevent/test/regress_dns.c:3286,1
    - Dst: DNS_LEGACY
      Src: /src/libevent/test/regress_dns.c:3287,1
    - Dst: DNS_LEGACY
      Src: /src/libevent/test/regress_dns.c:3288,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 160
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3384
      start: 2966
    functionDepth: 9
    functionLinenumber: 2966
    functionLinenumberEnd: 3384
    functionName: test_tcp_resolve_pipeline
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - evdns_base_resolve_ipv4
    - evdns_base_set_option
    - evdns_base_free
    - DNS_LEGACY
    - event_base_dispatch
    - evdns_base_new
    - regress_get_tcp_dnsserver
    - evutil_closesocket
    - tt_assert
    - tt_int_op
    - ARRAY_SIZE
    - regress_clean_dnsserver
    - evdns_base_nameserver_ip_add
    - REPEAT_64
    - REPEAT_256
    - evdns_server_port_set_option
    - regress_get_udp_dnsserver
    - regress_dnsserver
    - assert_request_results
    - evdns_close_server_port
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_tcp_resolve_pipeline(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3013,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3013,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3013,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3021,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3023,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3023,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3024,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3026,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3027,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3027,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3028,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3030,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3034,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3036,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:3036,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3038,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3039,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3044,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3047
      start: 3008
    functionDepth: 9
    functionLinenumber: 3008
    functionLinenumberEnd: 3047
    functionName: test_tcp_resolve_many_clients
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - REPEAT_64
    - regress_clean_dnsserver
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_free
    - event_base_dispatch
    - regress_dnsserver
    - evdns_base_new
    - assert_request_results
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_tcp_resolve_many_clients(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3055,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3062,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3063,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3065,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3065,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3066,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3066,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3067,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3069,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3069,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3071,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3073,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3076,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3078,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3082,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 3049
    functionDepth: 9
    functionLinenumber: 3049
    functionLinenumberEnd: 3085
    functionName: test_tcp_timeout
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - regress_clean_dnsserver
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_set_option
    - evdns_base_free
    - event_base_dispatch
    - regress_dnsserver
    - evdns_base_new
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_tcp_timeout(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3100,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_dns.c:3100,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_dns.c:3101,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3102,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3103,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3104,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3104,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3107,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3109,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3110,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3111,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3113,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3113,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3115,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3117,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3118,1
    - Dst: REPEAT_64
      Src: /src/libevent/test/regress_dns.c:3118,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3121,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3123,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3124,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_dns.c:3125,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3127,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3127,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/test/regress_dns.c:3129,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_dns.c:3131,1
    - Dst: assert_request_results
      Src: /src/libevent/test/regress_dns.c:3132,1
    - Dst: REPEAT_256
      Src: /src/libevent/test/regress_dns.c:3133,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3137,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_dns.c:3139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3087
    functionDepth: 9
    functionLinenumber: 3087
    functionLinenumberEnd: 3140
    functionName: test_edns
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - REPEAT_64
    - REPEAT_256
    - regress_clean_dnsserver
    - evdns_base_resolve_ipv4
    - evdns_base_nameserver_ip_add
    - evdns_base_set_option
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - regress_dnsserver
    - assert_request_results
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_edns(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3148,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3149,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3151,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3151,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3152,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3152,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3155,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_dns.c:3155,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3142
    functionDepth: 9
    functionLinenumber: 3142
    functionLinenumberEnd: 3160
    functionName: test_set_so_rcvbuf_so_sndbuf
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_base_nameserver_ip_add
    - evdns_base_free
    - evdns_base_set_option
    - evdns_base_new
    linkageType: ''
    returnType: void
    signature: void test_set_so_rcvbuf_so_sndbuf(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_dns.c:3195,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3196,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3198,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3199,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3199,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3200,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3200,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3201,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3201,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3202,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3202,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3203,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3203,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3206,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3207,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3207,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3208,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3208,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3209,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3209,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3210,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3210,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3211,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3211,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3212,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3212,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3215,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3216,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3216,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3217,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3217,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3218,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3218,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3219,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3219,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3220,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3220,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3221,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3221,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3224,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3225,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3225,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3226,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3226,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3227,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3227,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3228,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_dns.c:3228,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_dns.c:3235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3236
      start: 3162
    functionDepth: 9
    functionLinenumber: 3162
    functionLinenumberEnd: 3236
    functionName: test_set_option
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_base_free
    - evdns_base_set_option
    - evdns_base_new
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void test_set_option(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regress_get_tcp_dnsserver
      Src: /src/libevent/test/regress_dns.c:3253,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3254,1
    - Dst: regress_get_udp_dnsserver
      Src: /src/libevent/test/regress_dns.c:3256,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3257,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_dns.c:3259,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3260,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3260,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3261,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3261,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3262,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3262,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3263,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3263,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_dns.c:3264,1
    - Dst: evdns_server_port_set_option
      Src: /src/libevent/test/regress_dns.c:3264,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:3271,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:3273,1
    - Dst: evdns_close_server_port
      Src: /src/libevent/test/regress_dns.c:3275,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_dns.c:3277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3238
    functionDepth: 6
    functionLinenumber: 3238
    functionLinenumberEnd: 3278
    functionName: test_set_server_option
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_server_port_set_option
    - regress_get_tcp_dnsserver
    - regress_get_udp_dnsserver
    - evutil_closesocket
    - evdns_close_server_port
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void test_set_server_option(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3280
    functionDepth: 0
    functionLinenumber: 3280
    functionLinenumberEnd: 3283
    functionName: DNS_LEGACY
    functionSourceFile: /src/libevent/test/regress_dns.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_LEGACY(name, flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_listener.c:83,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_listener.c:84,1
    - Dst: evconnlistener_disable
      Src: /src/libevent/test/regress_listener.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - listener
    - fd
    - addr
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: acceptcb
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evconnlistener_disable
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: "void acceptcb(struct evconnlistener *listener, evutil_socket_t fd,\n
      \   struct sockaddr *addr, int socklen, void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_listener.c:107,1
    - Dst: memset
      Src: /src/libevent/test/regress_listener.c:111,1
    - Dst: htonl
      Src: /src/libevent/test/regress_listener.c:113,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_listener.c:116,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:118,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_listener.c:119,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:121,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:123,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_listener.c:123,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:124,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_listener.c:124,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:125,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_listener.c:125,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_listener.c:125,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:127,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_listener.c:127,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_listener.c:127,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:129,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:130,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:134,1
    - Dst: ntohl
      Src: /src/libevent/test/regress_listener.c:134,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:135,1
    - Dst: ntohl
      Src: /src/libevent/test/regress_listener.c:135,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:136,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_listener.c:138,1
    - Dst: evconnlistener_get_base
      Src: /src/libevent/test/regress_listener.c:138,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_listener.c:139,1
    - Dst: evconnlistener_get_base
      Src: /src/libevent/test/regress_listener.c:139,1
    - Dst: evutil_socket_connect_
      Src: /src/libevent/test/regress_listener.c:142,1
    - Dst: evutil_socket_connect_
      Src: /src/libevent/test/regress_listener.c:143,1
    - Dst: evutil_socket_connect_
      Src: /src/libevent/test/regress_listener.c:144,1
    - Dst: Sleep
      Src: /src/libevent/test/regress_listener.c:147,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_listener.c:149,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:151,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:152,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/test/regress_listener.c:156,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/test/regress_listener.c:158,1
    - Dst: EVUTIL_CLOSESOCKET
      Src: /src/libevent/test/regress_listener.c:160,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:162,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 165
    functionName: regress_pick_a_port
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - evutil_socket_connect_
    - evconnlistener_get_fd
    - strstr
    - evconnlistener_free
    - Sleep
    - getsockname
    - ntohl
    - EVUTIL_CLOSESOCKET
    - tt_ptr_op
    - event_base_dispatch
    - evconnlistener_get_base
    - evconnlistener_new_bind
    - htonl
    linkageType: ''
    returnType: void
    signature: void regress_pick_a_port(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evconnlistener_disable
      Src: /src/libevent/test/regress_listener.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lis
    - data_
    argTypes:
    - struct evconnlistener*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: errorcb
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 5
    functionsReached:
    - evconnlistener_disable
    linkageType: ''
    returnType: void
    signature: void errorcb(struct evconnlistener *lis, void *data_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_listener.c:184,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:189,1
    - Dst: send
      Src: /src/libevent/test/regress_listener.c:189,1
    - Dst: evconnlistener_new
      Src: /src/libevent/test/regress_listener.c:192,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:195,1
    - Dst: evconnlistener_set_error_cb
      Src: /src/libevent/test/regress_listener.c:197,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:199,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_listener.c:201,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:202,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 207
    functionName: regress_listener_error
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evconnlistener_new
    - evconnlistener_free
    - strstr
    - evconnlistener_set_error_cb
    - send
    - event_base_dispatch
    linkageType: ''
    returnType: void
    signature: void regress_listener_error(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_listener.c:215,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_listener.c:216,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - listener
    - fd
    - addr
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: acceptcb_free
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evutil_closesocket
    - evconnlistener_free
    linkageType: ''
    returnType: void
    signature: "void acceptcb_free(struct evconnlistener *listener, evutil_socket_t
      fd,\n    struct sockaddr *addr, int socklen, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_listener.c:234,1
    - Dst: htonl
      Src: /src/libevent/test/regress_listener.c:236,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_listener.c:240,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:242,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:244,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_listener.c:244,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_listener.c:244,1
    - Dst: evutil_socket_connect_
      Src: /src/libevent/test/regress_listener.c:246,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_listener.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 252
    functionName: regress_listener_close_accepted_fd
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - memset
    - evutil_socket_connect_
    - evconnlistener_get_fd
    - getsockname
    - event_base_dispatch
    - evconnlistener_new_bind
    - htonl
    linkageType: ''
    returnType: void
    signature: void regress_listener_close_accepted_fd(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_listener.c:267,1
    - Dst: htonl
      Src: /src/libevent/test/regress_listener.c:269,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_listener.c:273,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:275,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:277,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_listener.c:277,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_listener.c:277,1
    - Dst: evutil_socket_connect_
      Src: /src/libevent/test/regress_listener.c:280,1
    - Dst: evutil_socket_connect_
      Src: /src/libevent/test/regress_listener.c:281,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_listener.c:283,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:285,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 290
    functionName: regress_listener_immediate_close
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - evutil_socket_connect_
    - evconnlistener_get_fd
    - evconnlistener_free
    - getsockname
    - event_base_dispatch
    - evconnlistener_new_bind
    - htonl
    linkageType: ''
    returnType: void
    signature: void regress_listener_immediate_close(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:302,1
    - Dst: send
      Src: /src/libevent/test/regress_listener.c:302,1
    - Dst: evconnlistener_new
      Src: /src/libevent/test/regress_listener.c:305,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:306,1
    - Dst: setrlimit
      Src: /src/libevent/test/regress_listener.c:312,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_listener.c:313,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_listener.c:317,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 6
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: regress_listener_error_unlock
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_loop
    - evconnlistener_new
    - evconnlistener_free
    - send
    - setrlimit
    - TT_DIE
    linkageType: ''
    returnType: void
    signature: void regress_listener_error_unlock(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evconnlistener_disable
      Src: /src/libevent/test/regress_listener.c:333,1
    - Dst: THREAD_RETURN
      Src: /src/libevent/test/regress_listener.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: disable_thread
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - THREAD_RETURN
    - evconnlistener_disable
    linkageType: ''
    returnType: THREAD_FN
    signature: THREAD_FN disable_thread(void * arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_listener.c:347,1
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_listener.c:352,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_listener.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - listener
    - fd
    - addr
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 356
    functionName: acceptcb_for_thread_test
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - THREAD_START
    - evutil_closesocket
    - evutil_usleep_
    linkageType: ''
    returnType: void
    signature: "void acceptcb_for_thread_test(struct evconnlistener *listener, evutil_socket_t
      fd,\n    struct sockaddr *addr, int socklen, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_listener.c:371,1
    - Dst: htonl
      Src: /src/libevent/test/regress_listener.c:373,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_listener.c:377,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:380,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:382,1
    - Dst: getsockname
      Src: /src/libevent/test/regress_listener.c:382,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/test/regress_listener.c:382,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:385,1
    - Dst: evutil_socket_connect_
      Src: /src/libevent/test/regress_listener.c:385,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_listener.c:387,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_listener.c:389,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 358
    functionDepth: 6
    functionLinenumber: 358
    functionLinenumberEnd: 393
    functionName: regress_listener_disable_in_thread
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loop
    - memset
    - evutil_socket_connect_
    - evconnlistener_get_fd
    - evconnlistener_free
    - getsockname
    - THREAD_JOIN
    - evconnlistener_new_bind
    - htonl
    linkageType: ''
    returnType: void
    signature: void regress_listener_disable_in_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THREAD_START
      Src: /src/libevent/test/regress_listener.c:407,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_listener.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - listener
    - arg
    argTypes:
    - struct evconnlistener*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 411
    functionName: errorcb_for_thread_test
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - THREAD_START
    - evutil_usleep_
    linkageType: ''
    returnType: void
    signature: void errorcb_for_thread_test(struct evconnlistener *listener, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - listener
    - fd
    - addr
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: acceptcb_for_thread_test_error
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void acceptcb_for_thread_test_error(struct evconnlistener *listener,
      evutil_socket_t fd,\n    struct sockaddr *addr, int socklen, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_listener.c:429,1
    - Dst: send
      Src: /src/libevent/test/regress_listener.c:429,1
    - Dst: evconnlistener_new
      Src: /src/libevent/test/regress_listener.c:432,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_listener.c:435,1
    - Dst: evconnlistener_set_error_cb
      Src: /src/libevent/test/regress_listener.c:437,1
    - Dst: event_base_loop
      Src: /src/libevent/test/regress_listener.c:439,1
    - Dst: THREAD_JOIN
      Src: /src/libevent/test/regress_listener.c:441,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 6
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: regress_listener_disable_in_thread_error
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_loop
    - evconnlistener_new
    - evconnlistener_free
    - evconnlistener_set_error_cb
    - send
    - THREAD_JOIN
    linkageType: ''
    returnType: void
    signature: void regress_listener_disable_in_thread_error(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTempPathW
      Src: /src/libevent/test/regress_listener.c:457,1
    - Dst: GetLongPathNameW
      Src: /src/libevent/test/regress_listener.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 471
    functionName: is_unicode_temp_path
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - GetLongPathNameW
    - GetTempPathW
    linkageType: ''
    returnType: int
    signature: int is_unicode_temp_path()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/regress_listener.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - listener
    - fd
    - sa
    - socklen
    - user_data
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: empty_listener_cb
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void empty_listener_cb(struct evconnlistener *listener, evutil_socket_t
      fd,\n    struct sockaddr *sa, int socklen, void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: regress_make_tmpfile
      Src: /src/libevent/test/regress_listener.c:492,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_listener.c:496,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_listener.c:497,1
    - Dst: evutil_check_working_afunix_
      Src: /src/libevent/test/regress_listener.c:500,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_listener.c:503,1
    - Dst: close
      Src: /src/libevent/test/regress_listener.c:508,1
    - Dst: unlink
      Src: /src/libevent/test/regress_listener.c:511,1
    - Dst: memset
      Src: /src/libevent/test/regress_listener.c:513,1
    - Dst: strlcpy
      Src: /src/libevent/test/regress_listener.c:515,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_listener.c:520,1
    - Dst: tt_assert_msg
      Src: /src/libevent/test/regress_listener.c:523,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_listener.c:525,1
    - Dst: tt_assert_msg
      Src: /src/libevent/test/regress_listener.c:528,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/test/regress_listener.c:531,1
    - Dst: tt_assert_msg
      Src: /src/libevent/test/regress_listener.c:535,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_listener.c:538,1
    - Dst: is_unicode_temp_path
      Src: /src/libevent/test/regress_listener.c:538,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_listener.c:544,1
    - Dst: tt_assert_msg
      Src: /src/libevent/test/regress_listener.c:546,1
    - Dst: unlink
      Src: /src/libevent/test/regress_listener.c:551,1
    - Dst: free
      Src: /src/libevent/test/regress_listener.c:552,1
    - Dst: evconnlistener_free
      Src: /src/libevent/test/regress_listener.c:555,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 556
    functionName: regress_listener_reuseport_on_unix_socket
    functionSourceFile: /src/libevent/test/regress_listener.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    - evconnlistener_free
    - TT_BLATHER
    - regress_make_tmpfile
    - close
    - unlink
    - EVUTIL_SOCKET_ERROR
    - evutil_check_working_afunix_
    - tt_assert_msg
    - tt_skip
    - is_unicode_temp_path
    - evconnlistener_new_bind
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void regress_listener_reuseport_on_unix_socket(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct evhttp_ext_method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: ext_method_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ext_method_cb(struct evhttp_ext_method *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/test/regress_http.c:134,1
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/test/regress_http.c:136,1
    - Dst: event_errx
      Src: /src/libevent/test/regress_http.c:142,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_http.c:145,1
    - Dst: evhttp_bound_socket_get_fd
      Src: /src/libevent/test/regress_http.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - myhttp
    - pport
    - mask
    argTypes:
    - struct evhttp*
    - ev_uint16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: http_bind
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_bound_socket_get_fd
    - evhttp_bind_socket_with_handle
    - event_errx
    - regress_get_socket_port
    linkageType: ''
    returnType: int
    signature: int http_bind(struct evhttp *myhttp, ev_uint16_t *pport, int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/libevent/test/regress_http.c:157,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_http.c:157,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/test/regress_http.c:159,1
    - Dst: ssl_getcert
      Src: /src/libevent/test/regress_http.c:159,1
    - Dst: ssl_getkey
      Src: /src/libevent/test/regress_http.c:159,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/test/regress_http.c:160,1
    - Dst: ssl_getkey
      Src: /src/libevent/test/regress_http.c:160,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/test/regress_http.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - base
    - arg
    argTypes:
    - struct event_base*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: https_bev
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - SSL_use_certificate
    - ssl_getcert
    - ssl_getkey
    - SSL_use_PrivateKey
    - SSL_new
    - get_ssl_ctx
    - bufferevent_openssl_socket_new
    linkageType: ''
    returnType: struct bufferevent
    signature: 'struct bufferevent *

      https_bev(struct event_base *base, void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_mbedtls_dyncontext_new
      Src: /src/libevent/test/regress_http.c:171,1
    - Dst: get_mbedtls_config
      Src: /src/libevent/test/regress_http.c:171,1
    - Dst: bufferevent_mbedtls_socket_new
      Src: /src/libevent/test/regress_http.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - arg
    argTypes:
    - struct event_base*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: https_mbedtls_bev
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - get_mbedtls_config
    - bufferevent_mbedtls_dyncontext_new
    - bufferevent_mbedtls_socket_new
    linkageType: ''
    returnType: struct bufferevent
    signature: 'struct bufferevent *

      https_mbedtls_bev(struct event_base *base, void *arg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:184,1
    - Dst: http_bind
      Src: /src/libevent/test/regress_http.c:186,1
    - Dst: init_ssl
      Src: /src/libevent/test/regress_http.c:190,1
    - Dst: evhttp_set_bevcb
      Src: /src/libevent/test/regress_http.c:191,1
    - Dst: evhttp_set_bevcb
      Src: /src/libevent/test/regress_http.c:196,1
    - Dst: evhttp_set_gencb
      Src: /src/libevent/test/regress_http.c:200,1
    - Dst: evhttp_set_ext_method_cmp
      Src: /src/libevent/test/regress_http.c:203,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:206,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:207,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:208,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:209,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:210,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:211,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:212,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:213,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:214,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:215,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:216,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:217,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:218,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:219,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:220,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:221,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:222,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:223,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:224,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:225,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:226,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:227,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:228,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 4
    argNames:
    - pport
    - base
    - mask
    - cbarg
    argTypes:
    - ev_uint16_t*
    - struct event_base*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 231
    functionName: http_setup_gencb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_set_ext_method_cmp
    - init_ssl
    - evhttp_set_bevcb
    - evhttp_new
    - evhttp_set_gencb
    - evhttp_set_cb
    - http_bind
    linkageType: ''
    returnType: struct evhttp
    signature: "struct evhttp *\nhttp_setup_gencb(ev_uint16_t *pport, struct event_base
      *base, int mask,\n\tvoid (*cb)(struct evhttp_request *, void *), void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_setup_gencb
      Src: /src/libevent/test/regress_http.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pport
    - base
    - mask
    argTypes:
    - ev_uint16_t*
    - struct event_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: http_setup
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 2
    functionsReached:
    - http_setup_gencb
    linkageType: ''
    returnType: struct evhttp
    signature: 'struct evhttp *

      http_setup(ev_uint16_t *pport, struct event_base *base, int mask)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:251,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:254,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_http.c:255,1
    - Dst: event_warn
      Src: /src/libevent/test/regress_http.c:256,1
    - Dst: socket
      Src: /src/libevent/test/regress_http.c:262,1
    - Dst: event_err
      Src: /src/libevent/test/regress_http.c:264,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/test/regress_http.c:266,1
    - Dst: connect
      Src: /src/libevent/test/regress_http.c:267,1
    - Dst: WSAGetLastError
      Src: /src/libevent/test/regress_http.c:269,1
    - Dst: event_err
      Src: /src/libevent/test/regress_http.c:272,1
    - Dst: event_err
      Src: /src/libevent/test/regress_http.c:275,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_http.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - address
    - port
    argTypes:
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 240
    functionDepth: 7
    functionLinenumber: 240
    functionLinenumberEnd: 282
    functionName: http_connect
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached:
    - memset
    - socket
    - event_warn
    - evutil_getaddrinfo
    - evutil_make_socket_nonblocking
    - event_err
    - evutil_freeaddrinfo
    - connect
    - WSAGetLastError
    - evutil_snprintf
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t http_connect(const char *address, ev_uint16_t port)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:288,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:289,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:296,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_http.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - s
    argTypes:
    - struct evbuffer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 306
    functionName: evbuffer_datacmp
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_pullup
    - memcmp
    - strlen
    - evbuffer_get_length
    linkageType: ''
    returnType: int
    signature: int evbuffer_datacmp(struct evbuffer *buf, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_search
      Src: /src/libevent/test/regress_http.c:313,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - s
    argTypes:
    - struct evbuffer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: evbuffer_contains
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_search
    - strlen
    linkageType: ''
    returnType: int
    signature: int evbuffer_contains(struct evbuffer *buf, const char *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_contains
      Src: /src/libevent/test/regress_http.c:323,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:323,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:324,1
    - Dst: evhttp_parse_firstline_
      Src: /src/libevent/test/regress_http.c:328,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:328,1
    - Dst: evhttp_parse_headers_
      Src: /src/libevent/test/regress_http.c:332,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:332,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:337,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:337,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:342,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:343,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:345,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:347,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:349,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:350,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 353
    functionName: http_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_headers_
    - bufferevent_get_input
    - event_base_loopexit
    - exit
    - bufferevent_disable
    - evhttp_request_get_input_headers
    - evhttp_parse_firstline_
    - evhttp_request_free
    - fprintf
    - evhttp_find_header
    - evhttp_request_new
    - evbuffer_contains
    linkageType: ''
    returnType: void
    signature: void http_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:358,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:358,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 363
    functionName: http_writecb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - bufferevent_enable
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void http_writecb(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: http_errorcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void http_errorcb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:381,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:383,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:383,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:385,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:386,1
    - Dst: evhttp_request_get_connection
      Src: /src/libevent/test/regress_http.c:388,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:389,1
    - Dst: evhttp_connection_get_server
      Src: /src/libevent/test/regress_http.c:389,1
    - Dst: evhttp_connection_get_addr
      Src: /src/libevent/test/regress_http.c:395,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:396,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_http.c:399,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:400,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:400,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:400,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_http.c:402,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:403,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:403,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:403,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_http.c:405,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:412,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:412,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:414,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:415,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:415,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:417,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:417,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:423,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:423,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:425,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:431,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:431,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:432,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:432,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:436,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 378
    functionDepth: 9
    functionLinenumber: 378
    functionLinenumberEnd: 441
    functionName: http_basic_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - evutil_format_sockaddr_port_
    - tt_fail_msg
    - evhttp_request_get_input_headers
    - TT_BLATHER
    - strlen
    - evhttp_connection_get_server
    - evbuffer_free
    - evhttp_send_reply
    - evhttp_connection_get_addr
    - strncmp
    - evhttp_request_get_connection
    - evbuffer_new
    - strcmp
    - evhttp_find_header
    - evbuffer_add_printf
    - evhttp_request_get_output_headers
    linkageType: ''
    returnType: void
    signature: void http_basic_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 6
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: http_timeout_reply_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_send_reply
    linkageType: ''
    returnType: void
    signature: void http_timeout_reply_cb(evutil_socket_t fd, short events, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: http_timeout_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_once
    linkageType: ''
    returnType: void
    signature: void http_timeout_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:460,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:464,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:466,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 9
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: http_large_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_printf
    - evhttp_send_reply
    - evbuffer_free
    - evbuffer_new
    linkageType: ''
    returnType: void
    signature: void http_large_cb(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:485,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:489,1
    - Dst: evhttp_send_reply_chunk
      Src: /src/libevent/test/regress_http.c:490,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:491,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:494,1
    - Dst: evhttp_send_reply_end
      Src: /src/libevent/test/regress_http.c:497,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 482
    functionDepth: 9
    functionLinenumber: 482
    functionLinenumberEnd: 500
    functionName: http_chunked_trickle_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - free
    - event_base_once
    - evhttp_send_reply_end
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add_printf
    - evhttp_send_reply_chunk
    linkageType: ''
    returnType: void
    signature: void http_chunked_trickle_cb(evutil_socket_t fd, short events, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress_http.c:506,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:507,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:509,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:513,1
    - Dst: evhttp_request_get_uri
      Src: /src/libevent/test/regress_http.c:513,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:514,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:514,1
    - Dst: evhttp_send_reply_start
      Src: /src/libevent/test/regress_http.c:518,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 502
    functionDepth: 5
    functionLinenumber: 502
    functionLinenumberEnd: 523
    functionName: http_chunked_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - memset
    - event_base_once
    - TT_BLATHER
    - evhttp_request_get_uri
    - malloc
    - strcmp
    - evhttp_request_get_output_headers
    - evhttp_send_reply_start
    linkageType: ''
    returnType: void
    signature: void http_chunked_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:528,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:529,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_http.c:531,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:531,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:532,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 525
    functionDepth: 6
    functionLinenumber: 525
    functionLinenumberEnd: 535
    functionName: http_chunked_input_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_add_buffer
    - evbuffer_free
    - evbuffer_new
    - evhttp_send_reply
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_chunked_input_cb(struct evhttp_request *req, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:544,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_http.c:547,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_http.c:547,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:550,1
    - Dst: bufferevent_openssl_filter_new
      Src: /src/libevent/test/regress_http.c:551,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/test/regress_http.c:554,1
    - Dst: bufferevent_openssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:557,1
    - Dst: bufferevent_mbedtls_dyncontext_new
      Src: /src/libevent/test/regress_http.c:561,1
    - Dst: get_mbedtls_config
      Src: /src/libevent/test/regress_http.c:561,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:564,1
    - Dst: bufferevent_mbedtls_filter_new
      Src: /src/libevent/test/regress_http.c:565,1
    - Dst: bufferevent_mbedtls_socket_new
      Src: /src/libevent/test/regress_http.c:568,1
    - Dst: bufferevent_mbedtls_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - base
    - fd
    - ssl_mask
    - flags_
    argTypes:
    - struct event_base*
    - evutil_socket_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 537
    functionDepth: 6
    functionLinenumber: 537
    functionLinenumberEnd: 576
    functionName: create_bev
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached:
    - get_mbedtls_config
    - bufferevent_openssl_filter_new
    - bufferevent_mbedtls_set_allow_dirty_shutdown
    - bufferevent_mbedtls_filter_new
    - SSL_new
    - get_ssl_ctx
    - bufferevent_openssl_set_allow_dirty_shutdown
    - bufferevent_openssl_socket_new
    - bufferevent_socket_new
    - bufferevent_mbedtls_dyncontext_new
    - bufferevent_mbedtls_socket_new
    linkageType: ''
    returnType: struct bufferevent
    signature: 'struct bufferevent *

      create_bev(struct event_base *base, evutil_socket_t fd, int ssl_mask, int flags_)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:581,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:581,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:586,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:586,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 578
    functionDepth: 8
    functionLinenumber: 578
    functionLinenumberEnd: 592
    functionName: http_half_writecb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - evbuffer_get_length
    - bufferevent_write
    - bufferevent_get_output
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_half_writecb(struct bufferevent *bev, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:603,1
    - Dst: http_bind
      Src: /src/libevent/test/regress_http.c:609,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:610,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:611,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:614,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:617,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:618,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:620,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:622,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:625,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:630,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:631,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:634,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:636,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:639,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:640,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:642,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:644,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:646,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:653,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:654,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:657,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:659,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:662,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:663,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:665,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:674,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:674,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:677,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:678,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:680,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 3
    argNames:
    - arg
    - ssl
    - request_line
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 594
    functionDepth: 9
    functionLinenumber: 594
    functionLinenumberEnd: 684
    functionName: http_basic_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - exit
    - http_setup
    - strlen
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - create_bev
    - event_base_dispatch
    - fprintf
    - bufferevent_get_output
    - http_bind
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void http_basic_test_impl(void *arg, int ssl, const char *request_line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_basic_test_impl
      Src: /src/libevent/test/regress_http.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 685
    functionDepth: 10
    functionLinenumber: 685
    functionLinenumberEnd: 686
    functionName: http_basic_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_basic_test_impl
    linkageType: ''
    returnType: void
    signature: void http_basic_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_basic_test_impl
      Src: /src/libevent/test/regress_http.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 687
    functionDepth: 10
    functionLinenumber: 687
    functionLinenumberEnd: 688
    functionName: http_basic_trailing_space_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_basic_test_impl
    linkageType: ''
    returnType: void
    signature: void http_basic_trailing_space_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 6
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: http_delay_reply
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_send_reply
    linkageType: ''
    returnType: void
    signature: void http_delay_reply(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:705,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: http_delay_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evutil_timerclear
    - event_base_once
    linkageType: ''
    returnType: void
    signature: void http_delay_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:715,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:717,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:717,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:718,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:720,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 712
    functionDepth: 9
    functionLinenumber: 712
    functionLinenumberEnd: 722
    functionName: http_badreq_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_request_get_output_headers
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add_printf
    - evhttp_send_reply
    linkageType: ''
    returnType: void
    signature: void http_badreq_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 729
    functionName: http_badreq_errorcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void http_badreq_errorcb(struct bufferevent *bev, short what, void
      *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_contains
      Src: /src/libevent/test/regress_http.c:737,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:737,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_http.c:738,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:739,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:740,1
    - Dst: evbuffer_contains
      Src: /src/libevent/test/regress_http.c:744,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:744,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:745,1
    - Dst: evhttp_parse_firstline_
      Src: /src/libevent/test/regress_http.c:749,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:749,1
    - Dst: evhttp_parse_headers_
      Src: /src/libevent/test/regress_http.c:753,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:753,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:758,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:758,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:763,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_http.c:764,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:764,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:764,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:764,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_http.c:767,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_http.c:767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 768
    functionName: http_badreq_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_headers_
    - bufferevent_get_input
    - event_base_loopexit
    - evbuffer_drain
    - bufferevent_disable
    - evbuffer_get_length
    - TT_FAIL
    - evhttp_request_get_input_headers
    - evhttp_parse_firstline_
    - evhttp_request_free
    - bufferevent_getfd
    - shutdown
    - evhttp_find_header
    - evhttp_request_new
    - evbuffer_contains
    linkageType: ''
    returnType: void
    signature: void http_badreq_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:773,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: http_badreq_successcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void http_badreq_successcb(evutil_socket_t fd, short what, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:786,1
    - Dst: http_bind
      Src: /src/libevent/test/regress_http.c:792,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_http.c:793,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:796,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:797,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:800,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:801,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:803,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:805,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:810,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:810,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_http.c:812,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:813,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:815,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:817,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:819,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:820,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:823,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:824,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:830,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:831,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:834,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:835,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:837,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:839,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:847,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:847,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:849,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:851,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:853,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:855,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:858,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:860,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 777
    functionDepth: 8
    functionLinenumber: 777
    functionLinenumberEnd: 863
    functionName: http_bad_request_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - bufferevent_setcb
    - event_base_dispatch
    - shutdown
    - strlen
    - evutil_closesocket
    - tt_assert
    - bufferevent_enable
    - tt_int_op
    - event_base_once
    - http_connect
    - bufferevent_write
    - evutil_timerclear
    - bufferevent_socket_new
    - TT_DIE
    - exit
    - http_setup
    - evhttp_free
    - fprintf
    - http_bind
    linkageType: ''
    returnType: void
    signature: void http_bad_request_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:871,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:874,1
    - Dst: evhttp_connection_fail_
      Src: /src/libevent/test/regress_http.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 867
    functionDepth: 4
    functionLinenumber: 867
    functionLinenumberEnd: 876
    functionName: http_large_delay_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evutil_timerclear
    - evhttp_connection_fail_
    - event_base_once
    linkageType: ''
    returnType: void
    signature: void http_large_delay_cb(struct evhttp_request *req, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_uri
      Src: /src/libevent/test/regress_http.c:881,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:882,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:883,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:883,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:886,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:888,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:890,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:892,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:894,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:896,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:898,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:900,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:903,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:904,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:907,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:908,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:909,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:912,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:913,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:916,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:919,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 878
    functionDepth: 9
    functionLinenumber: 878
    functionLinenumberEnd: 920
    functionName: http_genmethod_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_command
    - exit
    - evhttp_request_get_input_headers
    - TT_BLATHER
    - evbuffer_free
    - evhttp_request_get_uri
    - fprintf
    - evbuffer_new
    - strcmp
    - evhttp_find_header
    - evbuffer_add_printf
    - evhttp_send_reply
    linkageType: ''
    returnType: void
    signature: void http_genmethod_cb(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:930,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:935,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:936,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:937,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:939,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:942,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:943,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:945,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:947,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:948,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:956,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:958,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:959,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:962,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:964,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - arg
    - method
    - name
    - path
    argTypes:
    - void*
    - enum evhttp_cmd_type
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 922
    functionDepth: 9
    functionLinenumber: 922
    functionLinenumberEnd: 968
    functionName: http_genmethod_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_setcb
    - event_base_dispatch
    - bufferevent_socket_new
    - evhttp_set_allowed_methods
    - bufferevent_get_output
    - evbuffer_add_printf
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_genmethod_test(void *arg, enum evhttp_cmd_type method, const
      char *name, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:976,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:977,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:977,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:980,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:982,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:983,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:986,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:987,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:990,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 973
    functionDepth: 9
    functionLinenumber: 973
    functionLinenumberEnd: 994
    functionName: http_custom_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - exit
    - evhttp_request_get_input_headers
    - TT_BLATHER
    - evbuffer_free
    - fprintf
    - evbuffer_new
    - evhttp_request_get_command
    - evhttp_find_header
    - evbuffer_add_printf
    - evhttp_send_reply
    linkageType: ''
    returnType: void
    signature: void http_custom_cb(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1008,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:1010,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1012,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1013,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1014,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1017,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1018,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1020,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1029,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1029,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1031,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1033,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1034,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1037,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1039,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 996
    functionDepth: 8
    functionLinenumber: 996
    functionLinenumberEnd: 1043
    functionName: http_custom_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - event_base_dispatch
    - bufferevent_socket_new
    - evhttp_set_allowed_methods
    - strlen
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_custom_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_genmethod_test
      Src: /src/libevent/test/regress_http.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 10
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    functionName: http_delete_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_genmethod_test
    linkageType: ''
    returnType: void
    signature: void http_delete_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_genmethod_test
      Src: /src/libevent/test/regress_http.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1051
    functionDepth: 10
    functionLinenumber: 1051
    functionLinenumberEnd: 1055
    functionName: http_propfind_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_genmethod_test
    linkageType: ''
    returnType: void
    signature: void http_propfind_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_genmethod_test
      Src: /src/libevent/test/regress_http.c:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1057
    functionDepth: 10
    functionLinenumber: 1057
    functionLinenumberEnd: 1061
    functionName: http_proppatch_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_genmethod_test
    linkageType: ''
    returnType: void
    signature: void http_proppatch_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_genmethod_test
      Src: /src/libevent/test/regress_http.c:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1063
    functionDepth: 10
    functionLinenumber: 1063
    functionLinenumberEnd: 1067
    functionName: http_mkcol_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_genmethod_test
    linkageType: ''
    returnType: void
    signature: void http_mkcol_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_genmethod_test
      Src: /src/libevent/test/regress_http.c:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1069
    functionDepth: 10
    functionLinenumber: 1069
    functionLinenumberEnd: 1073
    functionName: http_lock_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_genmethod_test
    linkageType: ''
    returnType: void
    signature: void http_lock_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_genmethod_test
      Src: /src/libevent/test/regress_http.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1075
    functionDepth: 10
    functionLinenumber: 1075
    functionLinenumberEnd: 1079
    functionName: http_unlock_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_genmethod_test
    linkageType: ''
    returnType: void
    signature: void http_unlock_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_genmethod_test
      Src: /src/libevent/test/regress_http.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1081
    functionDepth: 10
    functionLinenumber: 1081
    functionLinenumberEnd: 1085
    functionName: http_copy_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_genmethod_test
    linkageType: ''
    returnType: void
    signature: void http_copy_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_genmethod_test
      Src: /src/libevent/test/regress_http.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1087
    functionDepth: 10
    functionLinenumber: 1087
    functionLinenumberEnd: 1091
    functionName: http_move_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_genmethod_test
    linkageType: ''
    returnType: void
    signature: void http_move_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1100,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1101,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:1104,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:1105,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1106,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1107,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:1110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1113
    functionName: http_sent_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - exit
    - evbuffer_get_length
    - TT_BLATHER
    - evhttp_request_get_output_buffer
    - fprintf
    linkageType: ''
    returnType: void
    signature: void http_sent_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:1118,1
    - Dst: evhttp_request_set_on_complete_cb
      Src: /src/libevent/test/regress_http.c:1120,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:1122,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:1123,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:1126,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1115
    functionDepth: 9
    functionLinenumber: 1115
    functionLinenumberEnd: 1131
    functionName: http_on_complete_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evhttp_request_set_on_complete_cb
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add_printf
    - evhttp_send_reply
    linkageType: ''
    returnType: void
    signature: void http_on_complete_cb(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1141,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1146,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1147,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1150,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1151,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1152,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1161,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1161,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1163,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1165,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1167,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1169,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1133
    functionDepth: 8
    functionLinenumber: 1133
    functionLinenumberEnd: 1173
    functionName: http_on_complete_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - event_base_dispatch
    - bufferevent_socket_new
    - strlen
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_on_complete_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_remove
      Src: /src/libevent/test/regress_http.c:1182,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:1182,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1187,1
    - Dst: strdup
      Src: /src/libevent/test/regress_http.c:1188,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1175
    functionDepth: 5
    functionLinenumber: 1175
    functionLinenumberEnd: 1192
    functionName: http_allowed_methods_eventcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - free
    - bufferevent_get_input
    - event_base_loopexit
    - strdup
    - evbuffer_remove
    linkageType: ''
    returnType: void
    signature: void http_allowed_methods_eventcb(struct bufferevent *bev, short what,
      void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1203,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1208,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1209,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:1212,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1215,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1216,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:1217,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1218,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1227,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1227,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1229,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1231,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1232,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1234,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1235,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:1236,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1237,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1246,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1246,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1248,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1250,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1251,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1253,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1254,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:1256,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1257,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1266,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1266,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1268,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:1270,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1271,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:1273,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1274,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:1276,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:1277,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:1286,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1286,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1288,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1290,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1291,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1292,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:1293,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1295,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1298,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1299,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:1299,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1299,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1302,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1303,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:1303,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1303,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1306,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1307,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:1307,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1307,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1310,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1311,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:1311,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1311,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1315,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1317,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1319,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1321,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1323,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1325,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1327,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:1329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1194
    functionDepth: 8
    functionLinenumber: 1194
    functionLinenumberEnd: 1330
    functionName: http_allowed_methods_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_enable
    - tt_int_op
    - free
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - strncmp
    - event_base_dispatch
    - bufferevent_socket_new
    - evhttp_set_allowed_methods
    - strlen
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_allowed_methods_test(void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1352,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_http.c:1356,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1358,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:1360,1
    - Dst: SSL_new
      Src: /src/libevent/test/regress_http.c:1364,1
    - Dst: get_ssl_ctx
      Src: /src/libevent/test/regress_http.c:1364,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/test/regress_http.c:1365,1
    - Dst: bufferevent_openssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:1368,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:1370,1
    - Dst: tt_skip
      Src: /src/libevent/test/regress_http.c:1372,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1375,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1377,1
    - Dst: evhttp_connection_set_family
      Src: /src/libevent/test/regress_http.c:1378,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1380,1
    - Dst: evhttp_connection_get_base
      Src: /src/libevent/test/regress_http.c:1380,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1384,1
    - Dst: evhttp_connection_get_server
      Src: /src/libevent/test/regress_http.c:1384,1
    - Dst: evhttp_connection_set_ext_method_cmp
      Src: /src/libevent/test/regress_http.c:1387,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1393,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1396,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1396,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1399,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1400,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1401,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1404,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1406,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1411,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1414,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1414,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1421,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1421,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1424,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1425,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1428,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1433,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1436,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1436,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1439,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1440,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1443,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1448,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1451,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1451,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1454,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1455,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1458,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1462,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1464,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 7
    argNames:
    - data
    - persistent
    - address
    - dnsbase
    - ipv6
    - family
    - ssl
    argTypes:
    - struct basic_test_data*
    - int
    - char*
    - struct evdns_base*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1336
    functionDepth: 7
    functionLinenumber: 1336
    functionLinenumberEnd: 1465
    functionName: http_connection_test_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_connection_base_bufferevent_new
    - tt_abort_msg
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - evhttp_connection_set_ext_method_cmp
    - tt_assert
    - evhttp_connection_set_family
    - get_ssl_ctx
    - evhttp_connection_base_new
    - evhttp_connection_free
    - evhttp_connection_get_server
    - SSL_new
    - bufferevent_openssl_set_allow_dirty_shutdown
    - bufferevent_openssl_socket_new
    - exit
    - http_setup
    - evhttp_free
    - evhttp_connection_get_base
    - tt_skip
    - fprintf
    - evhttp_set_allowed_methods
    linkageType: ''
    returnType: void
    signature: "void http_connection_test_(struct basic_test_data *data, int persistent,\n\tconst
      char *address, struct evdns_base *dnsbase, int ipv6, int family,\n\tint ssl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1467
    functionDepth: 8
    functionLinenumber: 1467
    functionLinenumberEnd: 1471
    functionName: http_connection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_test_
    linkageType: ''
    returnType: void
    signature: void http_connection_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:1475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1472
    functionDepth: 8
    functionLinenumber: 1472
    functionLinenumberEnd: 1476
    functionName: http_persist_connection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_test_
    linkageType: ''
    returnType: void
    signature: void http_persist_connection_test(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1493,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1496,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_http.c:1496,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_http.c:1498,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1499,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:1503,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_http.c:1504,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1508,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1509,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1516,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1519,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1519,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1522,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1523,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1524,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1527,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1529,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1534,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1537,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1537,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1543,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1543,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1546,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1547,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1550,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1555,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1558,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1558,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1561,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1562,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1565,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1569,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1571,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_http.c:1573,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_http.c:1574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1483
    functionDepth: 9
    functionLinenumber: 1483
    functionLinenumberEnd: 1575
    functionName: http_connection_async_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - tt_abort_msg
    - evdns_base_free
    - evhttp_make_request
    - event_base_dispatch
    - evdns_base_new
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - tt_assert
    - evhttp_connection_base_new
    - regress_clean_dnsserver
    - evhttp_connection_free
    - evdns_base_nameserver_ip_add
    - exit
    - http_setup
    - evhttp_free
    - regress_dnsserver
    - fprintf
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void http_connection_async_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1584,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1589,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1590,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1596,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1597,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:1600,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1601,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1601,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1602,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1602,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1603,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1603,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1605,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1606,1
    - Dst: evhttp_connection_free_on_completion
      Src: /src/libevent/test/regress_http.c:1615,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:1618,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1619,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1622,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/test/regress_http.c:1622,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1626,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1577
    functionDepth: 7
    functionLinenumber: 1577
    functionLinenumberEnd: 1629
    functionName: http_autofree_connection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - evhttp_connection_free
    - tt_abort_msg
    - evhttp_connection_base_new
    - evhttp_connection_free_on_completion
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - TAILQ_FIRST
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void http_autofree_connection_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1634,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1636
    functionName: http_request_never_call
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void http_request_never_call(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1640,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1637
    functionDepth: 2
    functionLinenumber: 1637
    functionLinenumberEnd: 1643
    functionName: http_failed_request_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void http_failed_request_done(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1648,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1649,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:1649,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1652
    functionName: http_timed_out_request_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - tt_int_op
    - evhttp_request_get_response_code
    linkageType: ''
    returnType: void
    signature: void http_timed_out_request_done(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1659,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1660,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:1666,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - error
    - arg
    argTypes:
    - enum evhttp_request_error
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1655
    functionDepth: 2
    functionLinenumber: 1655
    functionLinenumberEnd: 1671
    functionName: http_request_error_cb_with_cancel
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evutil_timerclear
    - fprintf
    linkageType: ''
    returnType: void
    signature: void http_request_error_cb_with_cancel(enum evhttp_request_error error,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_cancel_request
      Src: /src/libevent/test/regress_http.c:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1672
    functionDepth: 5
    functionLinenumber: 1672
    functionLinenumberEnd: 1678
    functionName: http_do_cancel
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_cancel_request
    linkageType: ''
    returnType: void
    signature: void http_do_cancel(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1682,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - info
    - arg
    argTypes:
    - struct evbuffer*
    - struct evbuffer_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1684
    functionName: http_no_write
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void http_no_write(struct evbuffer *buffer, const struct evbuffer_cb_info
      *info, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1694,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:1696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - evcons
    argTypes:
    - struct evhttp_connection**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1685
    functionDepth: 4
    functionLinenumber: 1685
    functionLinenumberEnd: 1697
    functionName: http_free_evcons
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - free
    - evhttp_connection_free
    linkageType: ''
    returnType: void
    signature: void http_free_evcons(struct evhttp_connection **evcons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libevent/test/regress_http.c:1703,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1709,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1710,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:1711,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1713,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1714,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1715,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1715,1
    - Dst: http_free_evcons
      Src: /src/libevent/test/regress_http.c:1721,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1699
    functionDepth: 7
    functionLinenumber: 1699
    functionLinenumberEnd: 1724
    functionName: http_fill_backlog
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - calloc
    - evhttp_connection_set_timeout
    - evhttp_make_request
    - fprintf
    - evhttp_request_new
    - http_free_evcons
    - evhttp_connection_base_new
    linkageType: ''
    returnType: struct evhttp_connection
    signature: 'struct evhttp_connection **

      http_fill_backlog(struct event_base *base, int port)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1740,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - type
    - base
    argTypes:
    - enum http_cancel_test_type
    - struct event_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1734
    functionDepth: 2
    functionLinenumber: 1734
    functionLinenumberEnd: 1747
    functionName: http_cancel_test_bad_request_new
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_new
    linkageType: ''
    returnType: struct evhttp_request
    signature: "struct evhttp_request *\nhttp_cancel_test_bad_request_new(enum http_cancel_test_type
      type,\n\tstruct event_base *base)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1767,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1772,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_http.c:1772,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_http.c:1774,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1775,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:1781,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_http.c:1782,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_http.c:1784,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_http.c:1785,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/test/regress_http.c:1786,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_http.c:1795,1
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1796,1
    - Dst: http_fill_backlog
      Src: /src/libevent/test/regress_http.c:1803,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1804,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:1807,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1811,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:1813,1
    - Dst: evhttp_connection_get_bufferevent
      Src: /src/libevent/test/regress_http.c:1816,1
    - Dst: evbuffer_add_cb
      Src: /src/libevent/test/regress_http.c:1820,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:1820,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1827,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/libevent/test/regress_http.c:1828,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1831,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1831,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1834,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1834,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:1837,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:1841,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1843,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1846,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1848,1
    - Dst: http_free_evcons
      Src: /src/libevent/test/regress_http.c:1853,1
    - Dst: http_fill_backlog
      Src: /src/libevent/test/regress_http.c:1856,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1857,1
    - Dst: http_cancel_test_bad_request_new
      Src: /src/libevent/test/regress_http.c:1860,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1862,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1865,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1865,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1868,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1868,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1871,1
    - Dst: http_free_evcons
      Src: /src/libevent/test/regress_http.c:1876,1
    - Dst: http_fill_backlog
      Src: /src/libevent/test/regress_http.c:1879,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1880,1
    - Dst: http_cancel_test_bad_request_new
      Src: /src/libevent/test/regress_http.c:1883,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:1885,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:1888,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:1888,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:1891,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:1891,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:1894,1
    - Dst: http_free_evcons
      Src: /src/libevent/test/regress_http.c:1897,1
    - Dst: evbuffer_remove_cb
      Src: /src/libevent/test/regress_http.c:1899,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:1899,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:1901,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1903,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_http.c:1905,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_http.c:1906,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:1908,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_http.c:1910,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1748
    functionDepth: 9
    functionLinenumber: 1748
    functionLinenumberEnd: 1911
    functionName: http_cancel_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - http_cancel_test_bad_request_new
    - evdns_base_set_option
    - evhttp_request_set_error_cb
    - evhttp_make_request
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - evhttp_connection_get_bufferevent
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - event_base_new
    - http_free_evcons
    - tt_assert
    - tt_int_op
    - event_base_once
    - evhttp_connection_set_timeout
    - evbuffer_add_cb
    - evhttp_connection_base_new
    - regress_clean_dnsserver
    - event_base_free
    - evhttp_connection_free
    - evdns_base_nameserver_ip_add
    - evutil_timerclear
    - evbuffer_remove_cb
    - http_fill_backlog
    - http_setup
    - evhttp_free
    - regress_dnsserver
    - bufferevent_get_output
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void http_cancel_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:1916,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 1918
    functionName: http_request_no_action_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - EVUTIL_ASSERT
    linkageType: ''
    returnType: void
    signature: void http_request_no_action_done(struct evhttp_request *req, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1926,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1927,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:1930,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1931,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1932,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:1935,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:1935,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1936,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1937,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:1940,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:1940,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:1940,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1941,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1942,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:1945,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:1945,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1946,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1947,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:1951,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1920
    functionDepth: 5
    functionLinenumber: 1920
    functionLinenumberEnd: 1953
    functionName: http_request_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evbuffer_get_length
    - evhttp_request_get_input_headers
    - EVUTIL_ASSERT
    - evbuffer_datacmp
    - fprintf
    - evhttp_find_header
    - strlen
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_request_done(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:1958,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:1959,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:1960,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:1964,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:1965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1955
    functionDepth: 2
    functionLinenumber: 1955
    functionLinenumberEnd: 1966
    functionName: http_request_expect_error
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - EVUTIL_ASSERT
    - fprintf
    - evhttp_request_get_response_code
    linkageType: ''
    returnType: void
    signature: void http_request_expect_error(struct evhttp_request *req, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:1980,1
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:1985,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:1986,1
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:1987,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:1988,1
    - Dst: evhttp_add_virtual_host
      Src: /src/libevent/test/regress_http.c:1990,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1991,1
    - Dst: evhttp_add_virtual_host
      Src: /src/libevent/test/regress_http.c:1994,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:1995,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:1999,1
    - Dst: evhttp_add_server_alias
      Src: /src/libevent/test/regress_http.c:1999,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2000,1
    - Dst: evhttp_add_server_alias
      Src: /src/libevent/test/regress_http.c:2000,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2002,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2003,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2006,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2009,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2009,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2012,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2014,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2017,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2019,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2024,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2027,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2027,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2030,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2032,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2033,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2036,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2038,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2043,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2046,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2046,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2049,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2051,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2054,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2056,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2061,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2064,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2064,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2067,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2069,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2072,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2074,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2079,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2082,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2082,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2085,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2087,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2090,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2092,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:2097,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2098,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:2101,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2102,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:2104,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:2114,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2114,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2116,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2118,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:2120,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:2121,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2125,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 1969
    functionDepth: 8
    functionLinenumber: 1969
    functionLinenumberEnd: 2128
    functionName: http_virtual_host_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - evhttp_add_header
    - tt_abort_msg
    - evhttp_make_request
    - bufferevent_setcb
    - event_base_dispatch
    - strlen
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - evutil_closesocket
    - tt_assert
    - tt_int_op
    - evhttp_connection_base_new
    - evhttp_connection_free
    - http_connect
    - bufferevent_write
    - evhttp_set_cb
    - evhttp_add_virtual_host
    - bufferevent_socket_new
    - exit
    - evhttp_new
    - http_setup
    - evhttp_add_server_alias
    - evhttp_free
    - fprintf
    linkageType: ''
    returnType: void
    signature: void http_virtual_host_test(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2136,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2137,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2140,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2141,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2142,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2145,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2145,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2146,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2147,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2151,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2151,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2152,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2153,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:2156,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2156,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2156,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2158,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2159,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2162,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2162,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2163,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2164,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:2168,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2132
    functionDepth: 2
    functionLinenumber: 2132
    functionLinenumberEnd: 2170
    functionName: http_request_empty_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evbuffer_get_length
    - evhttp_request_get_input_headers
    - EVUTIL_ASSERT
    - fprintf
    - strcmp
    - evhttp_find_header
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_request_empty_done(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:2180,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:2181,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2182,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:2184,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2176
    functionDepth: 9
    functionLinenumber: 2176
    functionLinenumberEnd: 2187
    functionName: http_dispatcher_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add_printf
    - evhttp_send_reply
    linkageType: ''
    returnType: void
    signature: void http_dispatcher_cb(struct evhttp_request *req, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2196,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2197,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2200,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2201,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2202,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2205,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2205,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2206,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2207,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2210,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2210,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2210,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2211,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2212,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2212,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2212,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2213,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2216,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2216,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2217,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2218,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2189
    functionDepth: 5
    functionLinenumber: 2189
    functionLinenumberEnd: 2223
    functionName: http_dispatcher_test_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evbuffer_get_length
    - evhttp_request_get_input_headers
    - evbuffer_datacmp
    - fprintf
    - evhttp_find_header
    - strlen
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_dispatcher_test_done(struct evhttp_request *req, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:2232,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2236,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2237,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:2240,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2247,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2248,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2251,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2251,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2253,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2254,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2257,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2261,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2225
    functionDepth: 7
    functionLinenumber: 2225
    functionLinenumberEnd: 2264
    functionName: http_dispatcher_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - evhttp_connection_free
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_connection_set_local_address
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_dispatcher_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libevent/test/regress_http.c:2278,1
    - Dst: stat
      Src: /src/libevent/test/regress_http.c:2280,1
    - Dst: S_ISSOCK
      Src: /src/libevent/test/regress_http.c:2280,1
    - Dst: evutil_socket_
      Src: /src/libevent/test/regress_http.c:2284,1
    - Dst: connect
      Src: /src/libevent/test/regress_http.c:2289,1
    - Dst: perror
      Src: /src/libevent/test/regress_http.c:2290,1
    - Dst: event_debug
      Src: /src/libevent/test/regress_http.c:2291,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2270
    functionDepth: 4
    functionLinenumber: 2270
    functionLinenumberEnd: 2297
    functionName: http_connect_unixsocket
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - perror
    - strcpy
    - stat
    - close
    - event_debug
    - connect
    - S_ISSOCK
    - evutil_socket_
    linkageType: ''
    returnType: evutil_socket_t
    signature: evutil_socket_t http_connect_unixsocket(const char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libevent/test/regress_http.c:2308,1
    - Dst: stat
      Src: /src/libevent/test/regress_http.c:2312,1
    - Dst: S_ISSOCK
      Src: /src/libevent/test/regress_http.c:2312,1
    - Dst: unlink
      Src: /src/libevent/test/regress_http.c:2313,1
    - Dst: evutil_socket_
      Src: /src/libevent/test/regress_http.c:2315,1
    - Dst: bind
      Src: /src/libevent/test/regress_http.c:2320,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2321,1
    - Dst: chmod
      Src: /src/libevent/test/regress_http.c:2326,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2327,1
    - Dst: listen
      Src: /src/libevent/test/regress_http.c:2331,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2332,1
    - Dst: evhttp_accept_socket
      Src: /src/libevent/test/regress_http.c:2336,1
    - Dst: close
      Src: /src/libevent/test/regress_http.c:2337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - httpd
    - path
    argTypes:
    - struct evhttp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2300
    functionDepth: 4
    functionLinenumber: 2300
    functionLinenumberEnd: 2342
    functionName: evhttp_bind_unixsocket
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strcpy
    - stat
    - bind
    - listen
    - close
    - unlink
    - evhttp_accept_socket
    - chmod
    - S_ISSOCK
    - evutil_socket_
    linkageType: ''
    returnType: int
    signature: int evhttp_bind_unixsocket(struct evhttp *httpd, const char *path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:2357,1
    - Dst: getpid
      Src: /src/libevent/test/regress_http.c:2357,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:2358,1
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:2360,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2361,1
    - Dst: evhttp_bind_unixsocket
      Src: /src/libevent/test/regress_http.c:2361,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:2363,1
    - Dst: evhttp_uri_parse_with_flags
      Src: /src/libevent/test/regress_http.c:2365,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2366,1
    - Dst: http_connect_unixsocket
      Src: /src/libevent/test/regress_http.c:2369,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:2370,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:2371,1
    - Dst: evhttp_connection_base_bufferevent_reuse_new
      Src: /src/libevent/test/regress_http.c:2372,1
    - Dst: evhttp_connection_base_bufferevent_unix_new
      Src: /src/libevent/test/regress_http.c:2374,1
    - Dst: evhttp_uri_get_unixsocket
      Src: /src/libevent/test/regress_http.c:2374,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2376,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2381,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2382,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2385,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2385,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2387,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2388,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2391,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:2394,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_http.c:2394,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2399,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2401,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:2403,1
    - Dst: strstr
      Src: /src/libevent/test/regress_http.c:2406,1
    - Dst: unlink
      Src: /src/libevent/test/regress_http.c:2407,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - data
    - preexisting
    argTypes:
    - struct basic_test_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2345
    functionDepth: 7
    functionLinenumber: 2345
    functionLinenumberEnd: 2408
    functionName: http_unix_socket_test_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_base_bufferevent_reuse_new
    - evhttp_add_header
    - evhttp_connection_base_bufferevent_unix_new
    - tt_abort_msg
    - strstr
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - tt_assert
    - create_bev
    - bufferevent_getfd
    - evhttp_uri_parse_with_flags
    - evhttp_bind_unixsocket
    - getpid
    - tt_fd_op
    - evhttp_connection_free
    - http_connect_unixsocket
    - unlink
    - evhttp_set_cb
    - evhttp_uri_get_unixsocket
    - evhttp_uri_free
    - evhttp_new
    - evhttp_free
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void http_unix_socket_test_(struct basic_test_data *data, int preexisting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_unix_socket_test_
      Src: /src/libevent/test/regress_http.c:2413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2410
    functionDepth: 8
    functionLinenumber: 2410
    functionLinenumberEnd: 2414
    functionName: http_unix_socket_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_unix_socket_test_
    linkageType: ''
    returnType: void
    signature: void http_unix_socket_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_unix_socket_test_
      Src: /src/libevent/test/regress_http.c:2419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2416
    functionDepth: 8
    functionLinenumber: 2416
    functionLinenumberEnd: 2420
    functionName: http_unix_socket_preexist_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_unix_socket_test_
    linkageType: ''
    returnType: void
    signature: void http_unix_socket_preexist_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:2438,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2442,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2443,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2450,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2451,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2454,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2454,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2455,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:2455,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2457,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2458,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2461,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2463,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2467,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2468,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2473,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2473,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2474,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2474,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2475,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:2475,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2477,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2478,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2481,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2483,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2485,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2431
    functionDepth: 9
    functionLinenumber: 2431
    functionLinenumberEnd: 2490
    functionName: http_post_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - tt_int_op
    - evhttp_connection_free
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - evhttp_request_get_output_buffer
    - event_base_dispatch
    - evbuffer_add_printf
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_post_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:2496,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:2499,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2500,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2501,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2504,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2504,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2504,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2505,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2506,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2506,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2506,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2507,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2510,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2510,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2511,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2512,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:2512,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2512,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2513,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2514,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:2517,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2518,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:2520,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:2522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2492
    functionDepth: 9
    functionLinenumber: 2492
    functionLinenumberEnd: 2523
    functionName: http_post_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - exit
    - evbuffer_get_length
    - TT_BLATHER
    - evbuffer_pullup
    - evbuffer_free
    - evhttp_send_reply
    - evbuffer_datacmp
    - fprintf
    - evbuffer_new
    - evhttp_request_get_command
    - strlen
    - evbuffer_add_printf
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_post_cb(struct evhttp_request *req, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2532,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2533,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2536,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2538,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2539,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2542,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2542,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2543,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2544,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2547,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2547,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2547,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2548,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2549,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2549,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2549,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2550,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2553,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2553,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2554,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2555,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2525
    functionDepth: 5
    functionLinenumber: 2525
    functionLinenumberEnd: 2560
    functionName: http_postrequest_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evbuffer_get_length
    - evhttp_request_get_input_headers
    - evbuffer_datacmp
    - fprintf
    - evhttp_find_header
    - strlen
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_postrequest_done(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:2577,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2581,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2582,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2588,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2589,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2592,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2592,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2593,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:2593,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2595,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2596,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2599,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2601,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2602,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2570
    functionDepth: 9
    functionLinenumber: 2570
    functionLinenumberEnd: 2607
    functionName: http_put_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - tt_int_op
    - evhttp_connection_free
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - evhttp_request_get_output_buffer
    - event_base_dispatch
    - evbuffer_add_printf
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_put_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:2613,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:2616,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2617,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2618,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2621,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2621,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2621,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2622,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2623,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2623,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2623,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2624,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2627,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2627,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2628,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2629,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:2629,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2629,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2630,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2631,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:2634,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:2635,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/test/regress_http.c:2637,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:2639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2609
    functionDepth: 9
    functionLinenumber: 2609
    functionLinenumberEnd: 2640
    functionName: http_put_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - exit
    - evbuffer_get_length
    - TT_BLATHER
    - evbuffer_pullup
    - evbuffer_free
    - evhttp_send_reply
    - evbuffer_datacmp
    - fprintf
    - evbuffer_new
    - evhttp_request_get_command
    - strlen
    - evbuffer_add_printf
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_put_cb(struct evhttp_request *req, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2649,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2650,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2653,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2655,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2656,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2659,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:2659,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2660,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2661,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2664,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2664,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2664,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2665,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:2666,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2666,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2666,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2667,1
    - Dst: evbuffer_datacmp
      Src: /src/libevent/test/regress_http.c:2671,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:2671,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:2672,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:2673,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2642
    functionDepth: 5
    functionLinenumber: 2642
    functionLinenumberEnd: 2678
    functionName: http_putrequest_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evbuffer_get_length
    - evhttp_request_get_input_headers
    - evbuffer_datacmp
    - fprintf
    - evhttp_find_header
    - strlen
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_putrequest_done(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_contains
      Src: /src/libevent/test/regress_http.c:2684,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:2684,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:2686,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2680
    functionDepth: 3
    functionLinenumber: 2680
    functionLinenumberEnd: 2689
    functionName: http_failure_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - bufferevent_get_input
    - bufferevent_disable
    - evbuffer_contains
    linkageType: ''
    returnType: void
    signature: void http_failure_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:2702,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:2706,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2707,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:2710,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2711,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:2713,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:2718,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:2718,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2720,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:2722,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2724,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2726,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:2729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2694
    functionDepth: 8
    functionLinenumber: 2694
    functionLinenumberEnd: 2730
    functionName: http_failure_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - event_base_dispatch
    - bufferevent_socket_new
    - strlen
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_failure_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2736,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2737,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2737,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:2742,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:2744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2732
    functionDepth: 2
    functionLinenumber: 2732
    functionLinenumberEnd: 2745
    functionName: close_detect_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - evutil_timerclear
    - evhttp_request_get_response_code
    linkageType: ''
    returnType: void
    signature: void close_detect_done(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_get_base
      Src: /src/libevent/test/regress_http.c:2751,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2754,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2757,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2757,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2760,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_http.c:2761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2747
    functionDepth: 6
    functionLinenumber: 2747
    functionLinenumberEnd: 2763
    functionName: close_detect_launch
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_make_request
    - evhttp_connection_get_base
    - tt_fail_msg
    - evhttp_request_new
    - evhttp_request_get_output_headers
    linkageType: ''
    returnType: void
    signature: void close_detect_launch(evutil_socket_t fd, short what, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_get_base
      Src: /src/libevent/test/regress_http.c:2769,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:2772,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2773,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:2776,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:2781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2765
    functionDepth: 2
    functionLinenumber: 2765
    functionLinenumberEnd: 2784
    functionName: close_detect_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_once
    - tt_abort_msg
    - evhttp_connection_get_base
    - evutil_timerclear
    - evhttp_request_get_response_code
    linkageType: ''
    returnType: void
    signature: void close_detect_cb(struct evhttp_request *req, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:2794,1
    - Dst: evhttp_set_timeout_tv
      Src: /src/libevent/test/regress_http.c:2799,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:2801,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2803,1
    - Dst: evhttp_connection_set_timeout_tv
      Src: /src/libevent/test/regress_http.c:2804,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2807,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:2815,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2818,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:2818,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:2821,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:2823,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:2826,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2829,1
    - Dst: TAILQ_FIRST
      Src: /src/libevent/test/regress_http.c:2829,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:2833,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - data
    - with_delay
    argTypes:
    - struct basic_test_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2787
    functionDepth: 7
    functionLinenumber: 2787
    functionLinenumberEnd: 2836
    functionName: http_close_detection_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - evhttp_connection_free
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - TAILQ_FIRST
    - event_base_dispatch
    - evhttp_connection_set_timeout_tv
    - evhttp_set_timeout_tv
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_close_detection_(struct basic_test_data *data, int with_delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_close_detection_
      Src: /src/libevent/test/regress_http.c:2840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2837
    functionDepth: 8
    functionLinenumber: 2837
    functionLinenumberEnd: 2841
    functionName: http_close_detection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_close_detection_
    linkageType: ''
    returnType: void
    signature: void http_close_detection_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_close_detection_
      Src: /src/libevent/test/regress_http.c:2845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2842
    functionDepth: 8
    functionLinenumber: 2842
    functionLinenumberEnd: 2846
    functionName: http_close_detection_delay_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_close_detection_
    linkageType: ''
    returnType: void
    signature: void http_close_detection_delay_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:2857,1
    - Dst: evhttp_bind_socket
      Src: /src/libevent/test/regress_http.c:2858,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2860,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:2863,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_http.c:2866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2848
    functionDepth: 5
    functionLinenumber: 2848
    functionLinenumberEnd: 2867
    functionName: http_highport_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_new
    - evhttp_free
    - evhttp_bind_socket
    - tt_fail_msg
    linkageType: ''
    returnType: void
    signature: void http_highport_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/libevent/test/regress_http.c:2874,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2876,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2876,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2877,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2877,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2878,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2878,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2879,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2879,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2880,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2880,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2881,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2881,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2882,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:2882,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2869
    functionDepth: 2
    functionLinenumber: 2869
    functionLinenumberEnd: 2885
    functionName: http_bad_header_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_want
    - evhttp_clear_headers
    - TAILQ_INIT
    - evhttp_add_header
    linkageType: ''
    returnType: void
    signature: void http_bad_header_test(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2891,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2892,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2893,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:2893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - headers
    - key
    - value
    argTypes:
    - struct evkeyvalq*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2887
    functionDepth: 2
    functionLinenumber: 2887
    functionLinenumberEnd: 2896
    functionName: validate_header
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_find_header
    - tt_want
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int validate_header(\n\tconst struct evkeyvalq* headers,\n\tconst
      char *key, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/libevent/test/regress_http.c:2904,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2906,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2907,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2907,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2908,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2909,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2911,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2912,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2912,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2913,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2913,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2914,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2915,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2917,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2918,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2918,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2919,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2920,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2922,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2923,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2923,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2924,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2925,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2927,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2928,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2928,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2929,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2930,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2932,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2933,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2934,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2936,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2937,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2937,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2938,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2939,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2941,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2942,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2943,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2943,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2944,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2944,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2945,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2947,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2948,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2949,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2951,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2952,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2953,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2955,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2956,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2957,1
    - Dst: evhttp_parse_query
      Src: /src/libevent/test/regress_http.c:2959,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2960,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2961,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2961,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2962,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2962,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2963,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2963,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2964,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2898
    functionDepth: 4
    functionLinenumber: 2898
    functionLinenumberEnd: 2968
    functionName: http_parse_query_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - TAILQ_INIT
    - evhttp_parse_query
    - validate_header
    - evhttp_clear_headers
    - tt_want
    linkageType: ''
    returnType: void
    signature: void http_parse_query_test(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/libevent/test/regress_http.c:2975,1
    - Dst: evhttp_parse_query_str
      Src: /src/libevent/test/regress_http.c:2977,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:2978,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:2978,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2979,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2980,1
    - Dst: evhttp_parse_query_str
      Src: /src/libevent/test/regress_http.c:2982,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:2983,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:2983,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:2984,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2985,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:2988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2969
    functionDepth: 4
    functionLinenumber: 2969
    functionLinenumberEnd: 2989
    functionName: http_parse_query_str_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - TAILQ_INIT
    - tt_want
    - evhttp_parse_query_str
    - evhttp_clear_headers
    - validate_header
    - evhttp_find_header
    linkageType: ''
    returnType: void
    signature: void http_parse_query_str_test(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/libevent/test/regress_http.c:2996,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:2999,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3000,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3000,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3001,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3002,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3005,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3006,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3006,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3007,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3008,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3011,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3012,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3013,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3015,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3016,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3017,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3019,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3020,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3021,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3024,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3025,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3025,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3026,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3026,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3027,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3028,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3030,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3031,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3031,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3032,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3032,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3033,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3034,1
    - Dst: evhttp_parse_query_str_flags
      Src: /src/libevent/test/regress_http.c:3036,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3037,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3037,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3038,1
    - Dst: validate_header
      Src: /src/libevent/test/regress_http.c:3038,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3039,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3040,1
    - Dst: evhttp_clear_headers
      Src: /src/libevent/test/regress_http.c:3044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 2990
    functionDepth: 4
    functionLinenumber: 2990
    functionLinenumberEnd: 3045
    functionName: http_parse_query_str_flags_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - TAILQ_INIT
    - validate_header
    - evhttp_parse_query_str_flags
    - evhttp_clear_headers
    - tt_want
    linkageType: ''
    returnType: void
    signature: void http_parse_query_str_flags_test(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_http.c:3070,1
    - Dst: strstr
      Src: /src/libevent/test/regress_http.c:3074,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3080,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3080,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3081,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3081,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3082,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3082,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3117,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3118,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3119,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3120,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3121,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3122,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3123,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3124,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3125,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3126,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3127,1
    - Dst: NCF
      Src: /src/libevent/test/regress_http.c:3128,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3129,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3130,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3131,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3132,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3133,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3134,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3135,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3136,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3137,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3139,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3140,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3141,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3142,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3143,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3144,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3145,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3146,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3147,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3148,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3149,1
    - Dst: BAD
      Src: /src/libevent/test/regress_http.c:3150,1
    - Dst: UNI
      Src: /src/libevent/test/regress_http.c:3153,1
    - Dst: UNI
      Src: /src/libevent/test/regress_http.c:3154,1
    - Dst: UNI
      Src: /src/libevent/test/regress_http.c:3155,1
    - Dst: evhttp_uri_new
      Src: /src/libevent/test/regress_http.c:3159,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3160,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3160,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3161,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3161,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3163,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3163,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3165,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3165,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3166,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3166,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3167,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3167,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3168,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/test/regress_http.c:3168,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3169,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3170,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3171,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3172,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3172,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3173,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3173,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3174,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3174,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3175,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3175,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3175,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3176,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3176,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3176,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3177,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3177,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3178,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3178,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3179,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3180,1
    - Dst: evhttp_uri_new
      Src: /src/libevent/test/regress_http.c:3182,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3184,1
    - Dst: evhttp_uri_set_scheme
      Src: /src/libevent/test/regress_http.c:3184,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3185,1
    - Dst: evhttp_uri_set_scheme
      Src: /src/libevent/test/regress_http.c:3185,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3186,1
    - Dst: evhttp_uri_set_scheme
      Src: /src/libevent/test/regress_http.c:3186,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3187,1
    - Dst: evhttp_uri_set_userinfo
      Src: /src/libevent/test/regress_http.c:3187,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3188,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3188,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3189,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3189,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3190,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3190,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3191,1
    - Dst: evhttp_uri_set_port
      Src: /src/libevent/test/regress_http.c:3191,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3192,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3192,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3193,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3193,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3194,1
    - Dst: evhttp_uri_set_fragment
      Src: /src/libevent/test/regress_http.c:3194,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3196,1
    - Dst: evhttp_uri_set_scheme
      Src: /src/libevent/test/regress_http.c:3196,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3197,1
    - Dst: evhttp_uri_set_scheme
      Src: /src/libevent/test/regress_http.c:3197,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3198,1
    - Dst: evhttp_uri_set_userinfo
      Src: /src/libevent/test/regress_http.c:3198,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3199,1
    - Dst: evhttp_uri_set_userinfo
      Src: /src/libevent/test/regress_http.c:3199,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3200,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3200,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3201,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3201,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3202,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3202,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3203,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3203,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3204,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3204,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3205,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3205,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3206,1
    - Dst: evhttp_uri_set_port
      Src: /src/libevent/test/regress_http.c:3206,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3207,1
    - Dst: evhttp_uri_set_port
      Src: /src/libevent/test/regress_http.c:3207,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3208,1
    - Dst: evhttp_uri_set_port
      Src: /src/libevent/test/regress_http.c:3208,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3209,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3209,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3210,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3210,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3211,1
    - Dst: evhttp_uri_set_path
      Src: /src/libevent/test/regress_http.c:3211,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3212,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3212,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3213,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3213,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3214,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3214,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3215,1
    - Dst: evhttp_uri_set_query
      Src: /src/libevent/test/regress_http.c:3215,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3216,1
    - Dst: evhttp_uri_set_fragment
      Src: /src/libevent/test/regress_http.c:3216,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3217,1
    - Dst: evhttp_uri_set_fragment
      Src: /src/libevent/test/regress_http.c:3217,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3218,1
    - Dst: evhttp_uri_set_fragment
      Src: /src/libevent/test/regress_http.c:3218,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3219,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3222,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3223,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3223,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3223,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3224,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3224,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3224,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3225,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3225,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3225,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3226,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3226,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3226,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3227,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3227,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3228,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3228,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3229,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3229,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3230,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3231,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3233,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3234,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3234,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3234,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3235,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3235,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3235,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3236,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3236,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3236,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3237,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3237,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3238,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3238,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3239,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3239,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3240,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3240,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3241,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3242,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3244,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3245,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3245,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3245,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3246,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3246,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3246,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3247,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3247,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3247,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3248,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3248,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3248,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3249,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3249,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3250,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3250,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3251,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3251,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3252,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3253,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3255,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3256,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3256,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3256,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3257,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3257,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3257,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3258,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3258,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3258,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3259,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3259,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3260,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3260,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3261,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3261,1
    - Dst: tt_want_str_op
      Src: /src/libevent/test/regress_http.c:3262,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3262,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3263,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3264,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3266,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3267,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3267,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3267,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3268,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3268,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3268,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3269,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3269,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3269,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3270,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3270,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3271,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3271,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3272,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3272,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3273,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3273,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3274,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3275,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3277,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3278,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3278,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3278,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3279,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3279,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3279,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3280,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3280,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3280,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3281,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3281,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3282,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3282,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3283,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3283,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3284,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3284,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3285,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3286,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3288,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3289,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3289,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3289,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3290,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3290,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3290,1
    - Dst: tt_want_str_op
      Src: /src/libevent/test/regress_http.c:3291,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3291,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3292,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3292,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3293,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3293,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3294,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3294,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3295,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3295,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3296,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3297,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3299,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3300,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3300,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3300,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3301,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3301,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3301,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3302,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3302,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3302,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3303,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3303,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3304,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3304,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3305,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3305,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3306,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3306,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3307,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3308,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3310,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3311,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3311,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3311,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3312,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3312,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3312,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3313,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3313,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3313,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3314,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3314,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3314,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3315,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3315,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3316,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3316,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3317,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3317,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3318,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3319,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3321,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3322,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3322,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3322,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3323,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3323,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3323,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3324,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3324,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3324,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3325,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3325,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3325,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3326,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3326,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3327,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3327,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3328,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3328,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3329,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3330,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3332,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3333,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3333,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3333,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3334,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3334,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3334,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3335,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3335,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3335,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3336,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3336,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3336,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3337,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3337,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3338,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3338,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3339,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3339,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3340,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3341,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3343,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3344,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3344,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3344,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3345,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3345,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3345,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3346,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3346,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3346,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3347,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3347,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3347,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3348,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3348,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3349,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3349,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3350,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3350,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3351,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3352,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3354,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3355,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3355,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3355,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3356,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3356,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3356,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3357,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3357,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3357,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3358,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3358,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3359,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3359,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3359,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3360,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3360,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3360,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3361,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3361,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3361,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3362,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3363,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3365,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3366,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3366,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3366,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3367,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3367,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3367,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3368,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3368,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3368,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3369,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3369,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3370,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3370,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3370,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3371,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3371,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3372,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3372,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3372,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3373,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3374,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3376,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3377,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3377,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3377,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3378,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3378,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3378,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3379,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3379,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3379,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3380,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3380,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3381,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3381,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3381,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3382,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3382,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3383,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3383,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3383,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3384,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3385,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3387,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3388,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3388,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3388,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3389,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3389,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3390,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3390,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3390,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3391,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3391,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3392,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3392,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3392,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3393,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3393,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3394,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3394,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3395,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3396,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3398,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3399,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3400,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3400,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3401,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3401,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3402,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3402,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3402,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3403,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3403,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3404,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3404,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3404,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3405,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3405,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3406,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3406,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3407,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3408,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3410,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3411,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3412,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3412,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3413,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3413,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3414,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3414,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3415,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3415,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3416,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3416,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3416,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3417,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3417,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3417,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3418,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3418,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3418,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3419,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3420,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3422,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3423,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3424,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3424,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3425,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3425,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3426,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3426,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3427,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3427,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3428,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3428,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3428,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3429,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3429,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3430,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3430,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3431,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3432,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3434,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3435,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3436,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3436,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3437,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3437,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3438,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3438,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3439,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3439,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3440,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3440,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3440,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3441,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3441,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3441,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3442,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3442,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3442,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3443,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3444,1
    - Dst: URI_PARSE
      Src: /src/libevent/test/regress_http.c:3446,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3447,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3448,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3448,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3449,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3449,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3450,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3450,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3451,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3451,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3452,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3452,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3452,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3453,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3453,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3454,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3454,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3454,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3455,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3456,1
    - Dst: URI_PARSE_FLAGS
      Src: /src/libevent/test/regress_http.c:3459,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3460,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3460,1
    - Dst: evhttp_uri_get_scheme
      Src: /src/libevent/test/regress_http.c:3460,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3461,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3461,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3461,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3462,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3462,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/test/regress_http.c:3462,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3463,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3463,1
    - Dst: evhttp_uri_get_query
      Src: /src/libevent/test/regress_http.c:3463,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3464,1
    - Dst: evhttp_uri_get_userinfo
      Src: /src/libevent/test/regress_http.c:3464,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3465,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/test/regress_http.c:3465,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3466,1
    - Dst: evhttp_uri_get_fragment
      Src: /src/libevent/test/regress_http.c:3466,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3467,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3469,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3469,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3470,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3470,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3470,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3471,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3473,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/test/regress_http.c:3473,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_http.c:3474,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3474,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/test/regress_http.c:3474,1
    - Dst: TT_URI
      Src: /src/libevent/test/regress_http.c:3475,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/test/regress_http.c:3477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 337
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3047
    functionDepth: 3
    functionLinenumber: 3047
    functionLinenumberEnd: 3483
    functionName: http_parse_uri_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - strstr
    - evhttp_uri_get_host
    - NCF
    - evhttp_uri_get_query
    - strcmp
    - evhttp_uri_get_path
    - BAD
    - evhttp_uri_get_userinfo
    - evhttp_uri_set_host
    - UNI
    - evhttp_uri_set_scheme
    - evhttp_uri_join
    - evhttp_uri_get_scheme
    - URI_PARSE_FLAGS
    - evhttp_uri_get_fragment
    - evhttp_uri_new
    - evhttp_uri_set_port
    - tt_want_str_op
    - TT_URI
    - evhttp_uri_set_fragment
    - evhttp_uri_set_path
    - evhttp_uri_free
    - evhttp_uri_set_userinfo
    - evhttp_uri_set_query
    - URI_PARSE
    - tt_want
    - evhttp_uri_get_port
    linkageType: ''
    returnType: void
    signature: void http_parse_uri_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uri
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3058
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3058
    functionName: URI_PARSE_FLAGS
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: URI_PARSE_FLAGS(uri, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - uri
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3058
    functionDepth: 0
    functionLinenumber: 3058
    functionLinenumberEnd: 3060
    functionName: URI_PARSE
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: URI_PARSE(uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3068
    functionName: TT_URI
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_URI(want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3089
    functionName: BAD
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAD(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3104
    functionName: NCF
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NCF(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3116
    functionName: UNI
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNI(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3524,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3525,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3526,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3527,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3530,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3531,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3532,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3533,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3534,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3537,1
    - Dst: ENC
      Src: /src/libevent/test/regress_http.c:3538,1
    - Dst: evhttp_uriencode
      Src: /src/libevent/test/regress_http.c:3541,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3542,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:3543,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3544,1
    - Dst: malloc
      Src: /src/libevent/test/regress_http.c:3548,1
    - Dst: evhttp_decode_uri_internal
      Src: /src/libevent/test/regress_http.c:3549,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3550,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3551,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:3552,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3553,1
    - Dst: DEC
      Src: /src/libevent/test/regress_http.c:3558,1
    - Dst: DEC
      Src: /src/libevent/test/regress_http.c:3561,1
    - Dst: DEC
      Src: /src/libevent/test/regress_http.c:3563,1
    - Dst: evhttp_uridecode
      Src: /src/libevent/test/regress_http.c:3567,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3568,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3569,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_http.c:3569,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3570,1
    - Dst: evhttp_uridecode
      Src: /src/libevent/test/regress_http.c:3575,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3576,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_http.c:3576,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3577,1
    - Dst: OLD_DEC
      Src: /src/libevent/test/regress_http.c:3582,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3587,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3593
      start: 3485
    functionDepth: 2
    functionLinenumber: 3485
    functionLinenumberEnd: 3593
    functionName: http_uriencode_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - ENC
    - free
    - tt_int_op
    - evhttp_uridecode
    - memcmp
    - evhttp_decode_uri_internal
    - OLD_DEC
    - DEC
    - malloc
    - evhttp_uriencode
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void http_uriencode_test(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - from
    - ','
    - want
    - ','
    - plus
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3492
    functionDepth: 0
    functionLinenumber: 3492
    functionLinenumberEnd: 3505
    functionName: ENC
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENC(from,want,plus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - from
    - ','
    - want
    - ','
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3514
      start: 3506
    functionDepth: 0
    functionLinenumber: 3506
    functionLinenumberEnd: 3514
    functionName: DEC
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEC(from,want,dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - from
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3515
    functionDepth: 0
    functionLinenumber: 3515
    functionLinenumberEnd: 3522
    functionName: OLD_DEC
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OLD_DEC(from,want)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test/regress_http.c:3606,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3607,1
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:3608,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:3610,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3611,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:3614,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3615,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:3617,1
    - Dst: bufferevent_base_set
      Src: /src/libevent/test/regress_http.c:3619,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:3627,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3627,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:3629,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:3631,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:3632,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:3634,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3636,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_http.c:3640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3595
    functionDepth: 8
    functionLinenumber: 3595
    functionLinenumberEnd: 3641
    functionName: http_base_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - event_base_free
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - evutil_closesocket
    - event_base_dispatch
    - bufferevent_socket_new
    - bufferevent_base_set
    - strlen
    - event_base_new
    linkageType: ''
    returnType: void
    signature: void http_base_test(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:3652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3648
    functionDepth: 2
    functionLinenumber: 3648
    functionLinenumberEnd: 3653
    functionName: http_incomplete_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void http_incomplete_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:3666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3667
      start: 3655
    functionDepth: 2
    functionLinenumber: 3655
    functionLinenumberEnd: 3667
    functionName: http_incomplete_errorcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    linkageType: ''
    returnType: void
    signature: void http_incomplete_errorcb(struct bufferevent *bev, short what, void
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/libevent/test/regress_http.c:3675,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:3677,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:3677,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:3679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3669
    functionDepth: 2
    functionLinenumber: 3669
    functionLinenumberEnd: 3682
    functionName: http_incomplete_writecb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - shutdown
    - bufferevent_enable
    - bufferevent_get_output
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void http_incomplete_writecb(struct bufferevent *bev, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:3692,1
    - Dst: evhttp_set_timeout
      Src: /src/libevent/test/regress_http.c:3697,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:3699,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3700,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:3703,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3704,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:3706,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:3714,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3714,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:3716,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:3718,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:3720,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_http.c:3721,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:3723,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:3725,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:3729,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:3732,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:3735,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3738,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:3741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - data
    - use_timeout
    - ssl
    argTypes:
    - struct basic_test_data*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3684
    functionDepth: 8
    functionLinenumber: 3684
    functionLinenumberEnd: 3742
    functionName: http_incomplete_test_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - tt_abort_msg
    - evhttp_set_timeout
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - evutil_timersub
    - create_bev
    - event_base_dispatch
    - evutil_gettimeofday
    - strlen
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_incomplete_test_(struct basic_test_data *data, int use_timeout,
      int ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_incomplete_test_
      Src: /src/libevent/test/regress_http.c:3744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3743
    functionDepth: 9
    functionLinenumber: 3743
    functionLinenumberEnd: 3744
    functionName: http_incomplete_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_incomplete_test_
    linkageType: ''
    returnType: void
    signature: void http_incomplete_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_incomplete_test_
      Src: /src/libevent/test/regress_http.c:3746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3746
      start: 3745
    functionDepth: 9
    functionLinenumber: 3745
    functionLinenumberEnd: 3746
    functionName: http_incomplete_timeout_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_incomplete_test_
    linkageType: ''
    returnType: void
    signature: void http_incomplete_timeout_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3757
      start: 3753
    functionDepth: 0
    functionLinenumber: 3753
    functionLinenumberEnd: 3757
    functionName: http_chunked_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_chunked_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:3776,1
    - Dst: evhttp_parse_firstline_
      Src: /src/libevent/test/regress_http.c:3779,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3779,1
    - Dst: evhttp_parse_headers_
      Src: /src/libevent/test/regress_http.c:3783,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3783,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:3787,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:3787,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3788,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:3791,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:3791,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3792,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:3795,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3795,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3799,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3800,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3803,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:3805,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:3805,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3805,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_http.c:3809,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3809,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:3811,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3811,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3815,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3817,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:3819,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:3819,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3819,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_http.c:3823,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3823,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:3825,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3825,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3829,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3830,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3833,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:3835,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:3835,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3835,1
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_http.c:3839,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3839,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:3841,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3841,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3845,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3846,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3849,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:3856,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:3858,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 82
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3759
    functionDepth: 6
    functionLinenumber: 3759
    functionLinenumberEnd: 3859
    functionName: http_chunked_errorcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_parse_headers_
    - bufferevent_get_input
    - free
    - evbuffer_drain
    - event_base_loopexit
    - evhttp_request_get_input_headers
    - evbuffer_pullup
    - strncmp
    - evhttp_parse_firstline_
    - evhttp_request_free
    - strcmp
    - evhttp_find_header
    - evhttp_request_new
    - evbuffer_readln
    linkageType: ''
    returnType: void
    signature: void http_chunked_errorcb(struct bufferevent *bev, short what, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:3864,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:3864,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:3866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3861
    functionDepth: 2
    functionLinenumber: 3861
    functionLinenumberEnd: 3869
    functionName: http_chunked_writecb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - bufferevent_enable
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void http_chunked_writecb(struct bufferevent *bev, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:3874,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:3875,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:3876,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:3879,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:3879,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:3881,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:3882,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:3885,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:3885,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:3886,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:3887,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:3890,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:3890,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:3890,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:3893,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:3894,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:3898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3871
    functionDepth: 4
    functionLinenumber: 3871
    functionLinenumberEnd: 3899
    functionName: http_chunked_request_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evbuffer_get_length
    - evhttp_request_get_input_headers
    - evbuffer_pullup
    - strncmp
    - fprintf
    - evhttp_find_header
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_chunked_request_done(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:3904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3901
    functionDepth: 0
    functionLinenumber: 3901
    functionLinenumberEnd: 3905
    functionName: http_send_chunk_test_read_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void http_send_chunk_test_read_cb(struct bufferevent *bev, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:3910,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:3912,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3915,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:3916,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:3917,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3917,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:3919,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:3920,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:3923,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:3926,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:3927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3931
      start: 3907
    functionDepth: 9
    functionLinenumber: 3907
    functionLinenumberEnd: 3931
    functionName: http_send_chunk_test_write_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - bufferevent_disable
    - TT_BLATHER
    - evbuffer_add_printf
    - bufferevent_get_output
    - evbuffer_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_send_chunk_test_write_cb(struct bufferevent *bev, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:3935,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:3938,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:3943,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:3945,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_http.c:3950,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:3953,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:3956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3957
      start: 3932
    functionDepth: 6
    functionLinenumber: 3932
    functionLinenumberEnd: 3957
    functionName: http_send_chunk_test_error_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - free
    - bufferevent_get_input
    - event_base_loopexit
    - evbuffer_get_length
    - strcmp
    - TT_BLATHER
    - evbuffer_readln
    linkageType: ''
    returnType: void
    signature: void http_send_chunk_test_error_cb(struct bufferevent *bev, short what,
      void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:3966,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:3971,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3972,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:3974,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:3975,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:3977,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:3990,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:3990,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:3992,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:3997,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:4001,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 3958
    functionDepth: 8
    functionLinenumber: 3958
    functionLinenumberEnd: 4004
    functionName: http_send_chunk_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - create_bev
    - event_base_dispatch
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_send_chunk_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:4009,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4010,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4012,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:4014,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:4015,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4015,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:4016,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:4017,1
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:4019,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:4023,1
    - Dst: bufferevent_enable
      Src: /src/libevent/test/regress_http.c:4024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 4006
    functionDepth: 9
    functionLinenumber: 4006
    functionLinenumberEnd: 4028
    functionName: http_send_chunk_malformed_test_write_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - bufferevent_disable
    - TT_BLATHER
    - evbuffer_add_printf
    - bufferevent_get_output
    - evbuffer_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_send_chunk_malformed_test_write_cb(struct bufferevent *bev,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:4032,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4035,1
    - Dst: evbuffer_readln
      Src: /src/libevent/test/regress_http.c:4036,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:4037,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:4040,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4029
    functionDepth: 6
    functionLinenumber: 4029
    functionLinenumberEnd: 4042
    functionName: http_send_chunk_malformed_test_error_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - free
    - bufferevent_get_input
    - event_base_loopexit
    - TT_BLATHER
    - evbuffer_readln
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void http_send_chunk_malformed_test_error_cb(struct bufferevent *bev,
      short what, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4051,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:4056,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4057,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4059,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4060,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:4062,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:4075,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4075,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4076,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:4080,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4083
      start: 4043
    functionDepth: 8
    functionLinenumber: 4043
    functionLinenumberEnd: 4083
    functionName: http_send_chunk_malformed_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - create_bev
    - event_base_dispatch
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_send_chunk_malformed_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4097,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:4102,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4103,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4106,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4107,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:4109,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:4119,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4119,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4121,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4123,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:4125,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4128,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_http.c:4129,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4131,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4133,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4136,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4137,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4139,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4144,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4147,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4147,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4150,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4151,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4154,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4156,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4161,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4164
      start: 4085
    functionDepth: 8
    functionLinenumber: 4085
    functionLinenumberEnd: 4164
    functionName: http_chunk_out_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - evhttp_add_header
    - evhttp_connection_base_bufferevent_new
    - tt_abort_msg
    - evhttp_make_request
    - bufferevent_setcb
    - event_base_dispatch
    - strlen
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - tt_assert
    - tt_int_op
    - create_bev
    - evutil_timersub
    - evhttp_connection_free
    - http_connect
    - bufferevent_write
    - evutil_gettimeofday
    - http_setup
    - evhttp_free
    linkageType: ''
    returnType: void
    signature: void http_chunk_out_test_impl(void *arg, int ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_chunk_out_test_impl
      Src: /src/libevent/test/regress_http.c:4166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4166
      start: 4165
    functionDepth: 9
    functionLinenumber: 4165
    functionLinenumberEnd: 4166
    functionName: http_chunk_out_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_chunk_out_test_impl
    linkageType: ''
    returnType: void
    signature: void http_chunk_out_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4176,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4181,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4182,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4184,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4191,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4195,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4195,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4198,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4200,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4203,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4207,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4210
      start: 4168
    functionDepth: 7
    functionLinenumber: 4168
    functionLinenumberEnd: 4210
    functionName: http_stream_out_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - evhttp_connection_base_bufferevent_new
    - evhttp_connection_free
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - create_bev
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_request_get_output_headers
    linkageType: ''
    returnType: void
    signature: void http_stream_out_test_impl(void *arg, int ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_stream_out_test_impl
      Src: /src/libevent/test/regress_http.c:4212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4212
      start: 4211
    functionDepth: 8
    functionLinenumber: 4211
    functionLinenumberEnd: 4212
    functionName: http_stream_out_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_stream_out_test_impl
    linkageType: ''
    returnType: void
    signature: void http_stream_out_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4219,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:4220,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:4221,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/test/regress_http.c:4224,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:4224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4225
      start: 4214
    functionDepth: 6
    functionLinenumber: 4214
    functionLinenumberEnd: 4225
    functionName: http_stream_in_chunk
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - exit
    - evbuffer_add_buffer
    - fprintf
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_stream_in_chunk(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:4230,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:4230,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:4231,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:4232,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4227
    functionDepth: 2
    functionLinenumber: 4227
    functionLinenumberEnd: 4236
    functionName: http_stream_in_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - evbuffer_get_length
    - fprintf
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_stream_in_done(struct evhttp_request *req, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:4246,1
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4249,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:4253,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4254,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4256,1
    - Dst: evhttp_request_set_chunked_cb
      Src: /src/libevent/test/regress_http.c:4257,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4260,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4261,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4264,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:4266,1
    - Dst: TT_DIE
      Src: /src/libevent/test/regress_http.c:4267,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:4268,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:4270,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_http.c:4273,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:4273,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4274,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:4280,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4282,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - data
    - url
    - expected_len
    - expected
    argTypes:
    - struct basic_test_data*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4285
      start: 4241
    functionDepth: 7
    functionLinenumber: 4241
    functionLinenumberEnd: 4285
    functionName: http_stream_in_test_
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - memcmp
    - evhttp_connection_free
    - tt_abort_msg
    - evbuffer_get_length
    - http_setup
    - evbuffer_pullup
    - evhttp_free
    - evhttp_make_request
    - evbuffer_free
    - evhttp_request_set_chunked_cb
    - TT_DIE
    - event_base_dispatch
    - evbuffer_new
    - evhttp_request_new
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: "void http_stream_in_test_(struct basic_test_data *data, char const
      *url,\n    size_t expected_len, char const *expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_stream_in_test_
      Src: /src/libevent/test/regress_http.c:4290,1
    - Dst: http_stream_in_test_
      Src: /src/libevent/test/regress_http.c:4293,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4295
      start: 4287
    functionDepth: 8
    functionLinenumber: 4287
    functionLinenumberEnd: 4295
    functionName: http_stream_in_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_stream_in_test_
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_stream_in_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4300,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4300,1
    - Dst: evhttp_cancel_request
      Src: /src/libevent/test/regress_http.c:4303,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4305
      start: 4297
    functionDepth: 5
    functionLinenumber: 4297
    functionLinenumberEnd: 4305
    functionName: http_stream_in_cancel_chunk
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - evhttp_cancel_request
    - tt_int_op
    - evhttp_request_get_response_code
    linkageType: ''
    returnType: void
    signature: void http_stream_in_cancel_chunk(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_http.c:4311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4312
      start: 4307
    functionDepth: 0
    functionLinenumber: 4307
    functionLinenumberEnd: 4312
    functionName: http_stream_in_cancel_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_fail_msg
    linkageType: ''
    returnType: void
    signature: void http_stream_in_cancel_done(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4321,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:4323,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4324,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4326,1
    - Dst: evhttp_request_set_chunked_cb
      Src: /src/libevent/test/regress_http.c:4327,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4330,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4331,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4334,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4338,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4341
      start: 4314
    functionDepth: 7
    functionLinenumber: 4314
    functionLinenumberEnd: 4341
    functionName: http_stream_in_cancel_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_connection_free
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - evhttp_request_set_chunked_cb
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_stream_in_cancel_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_get_base
      Src: /src/libevent/test/regress_http.c:4347,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4353,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4355,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4361
      start: 4343
    functionDepth: 4
    functionLinenumber: 4343
    functionLinenumberEnd: 4361
    functionName: http_connection_fail_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - evhttp_connection_get_base
    - evhttp_connection_free
    linkageType: ''
    returnType: void
    signature: void http_connection_fail_done(struct evhttp_request *req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4373,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4379,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4381,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4384,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4386,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4393,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4394,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4396,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4397,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4400,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4365
    functionDepth: 7
    functionLinenumber: 4365
    functionLinenumberEnd: 4406
    functionName: http_connection_fail_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evhttp_connection_base_bufferevent_new
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - create_bev
    - event_base_dispatch
    - evhttp_request_new
    linkageType: ''
    returnType: void
    signature: void http_connection_fail_test_impl(void *arg, int ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_fail_test_impl
      Src: /src/libevent/test/regress_http.c:4408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4408
      start: 4407
    functionDepth: 8
    functionLinenumber: 4407
    functionLinenumberEnd: 4408
    functionName: http_connection_fail_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_fail_test_impl
    linkageType: ''
    returnType: void
    signature: void http_connection_fail_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4413,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4414,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4414,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:4415,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:4415,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4416,1
    - Dst: tt_uint_op
      Src: /src/libevent/test/regress_http.c:4419,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:4419,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:4419,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4424
      start: 4410
    functionDepth: 2
    functionLinenumber: 4410
    functionLinenumberEnd: 4424
    functionName: http_connection_retry_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_loopexit
    - tt_abort_msg
    - evbuffer_get_length
    - evhttp_request_get_input_headers
    - evhttp_find_header
    - evhttp_request_get_input_buffer
    - evhttp_request_get_response_code
    - tt_uint_op
    linkageType: ''
    returnType: void
    signature: void http_connection_retry_done(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4438
      start: 4433
    functionDepth: 0
    functionLinenumber: 4433
    functionLinenumberEnd: 4438
    functionName: http_make_web_server
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_setup
    linkageType: ''
    returnType: void
    signature: void http_make_web_server(evutil_socket_t fd, short what, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4448,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:4455,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:4456,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4458,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:4459,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_http.c:4459,1
    - Dst: bufferevent_openssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:4462,1
    - Dst: bufferevent_mbedtls_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:4467,1
    - Dst: evhttp_connection_base_bufferevent_reuse_new
      Src: /src/libevent/test/regress_http.c:4472,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4474,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4477,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:4479,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4482,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4483,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4485,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4486,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4488,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4489,1
    - Dst: tt_fd_op
      Src: /src/libevent/test/regress_http.c:4492,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/test/regress_http.c:4492,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4497,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4499,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - arg
    - ssl
    - dirty
    - preexisting
    - uri
    argTypes:
    - void*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4500
      start: 4440
    functionDepth: 8
    functionLinenumber: 4440
    functionLinenumberEnd: 4500
    functionName: http_simple_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_connection_base_bufferevent_reuse_new
    - tt_int_op
    - evhttp_connection_base_bufferevent_new
    - evhttp_connection_free
    - tt_abort_msg
    - bufferevent_mbedtls_set_allow_dirty_shutdown
    - http_setup
    - evhttp_free
    - http_connect
    - evhttp_make_request
    - bufferevent_openssl_set_allow_dirty_shutdown
    - bufferevent_getfd
    - create_bev
    - evhttp_connection_set_local_address
    - event_base_dispatch
    - evhttp_request_new
    - tt_fd_op
    linkageType: ''
    returnType: void
    signature: void http_simple_test_impl(void *arg, int ssl, int dirty, int preexisting,
      const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:4502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4502
      start: 4501
    functionDepth: 9
    functionLinenumber: 4501
    functionLinenumberEnd: 4502
    functionName: http_simple_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void http_simple_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:4504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4503
    functionDepth: 9
    functionLinenumber: 4503
    functionLinenumberEnd: 4504
    functionName: http_simple_preexisting_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void http_simple_preexisting_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:4506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4506
      start: 4505
    functionDepth: 9
    functionLinenumber: 4505
    functionLinenumberEnd: 4506
    functionName: http_simple_nonconformant_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void http_simple_nonconformant_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:4508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4508
      start: 4507
    functionDepth: 9
    functionLinenumber: 4507
    functionLinenumberEnd: 4508
    functionName: http_simple_nonconformant_preexisting_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void http_simple_nonconformant_preexisting_test(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/test/regress_http.c:4515,1
    - Dst: event_errx
      Src: /src/libevent/test/regress_http.c:4517,1
    - Dst: init_ssl
      Src: /src/libevent/test/regress_http.c:4523,1
    - Dst: evhttp_bound_set_bevcb
      Src: /src/libevent/test/regress_http.c:4524,1
    - Dst: evhttp_bound_set_bevcb
      Src: /src/libevent/test/regress_http.c:4529,1
    - Dst: regress_get_socket_port
      Src: /src/libevent/test/regress_http.c:4533,1
    - Dst: evhttp_bound_socket_get_fd
      Src: /src/libevent/test/regress_http.c:4533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - http
    - port
    - pport
    - mask
    argTypes:
    - struct evhttp*
    - ev_uint16_t
    - ev_uint16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4541
      start: 4510
    functionDepth: 2
    functionLinenumber: 4510
    functionLinenumberEnd: 4541
    functionName: https_bind_ssl_bevcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_bind_socket_with_handle
    - init_ssl
    - regress_get_socket_port
    - event_errx
    - evhttp_bound_set_bevcb
    - evhttp_bound_socket_get_fd
    linkageType: ''
    returnType: int
    signature: int https_bind_ssl_bevcb(struct evhttp *http, ev_uint16_t port, ev_uint16_t
      *pport, int mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:4552,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4553,1
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/test/regress_http.c:4555,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4557,1
    - Dst: https_bind_ssl_bevcb
      Src: /src/libevent/test/regress_http.c:4557,1
    - Dst: evhttp_set_gencb
      Src: /src/libevent/test/regress_http.c:4559,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4561,1
    - Dst: bufferevent_openssl_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:4564,1
    - Dst: bufferevent_mbedtls_set_allow_dirty_shutdown
      Src: /src/libevent/test/regress_http.c:4567,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4570,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4571,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:4573,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:4575,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4577,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4578,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4580,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4580,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4582,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:4583,1
    - Dst: TT_GRIPE
      Src: /src/libevent/test/regress_http.c:4584,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4589,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4593,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - arg
    - http_port
    - https_port
    - mask
    argTypes:
    - void*
    - ev_uint16_t
    - ev_uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4597
      start: 4542
    functionDepth: 7
    functionLinenumber: 4542
    functionLinenumberEnd: 4597
    functionName: https_per_socket_bevcb_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_bind_socket_with_handle
    - evhttp_connection_base_bufferevent_new
    - bufferevent_mbedtls_set_allow_dirty_shutdown
    - evhttp_set_gencb
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - tt_assert
    - evhttp_connection_set_timeout
    - create_bev
    - evhttp_connection_free
    - bufferevent_openssl_set_allow_dirty_shutdown
    - evhttp_request_free
    - evhttp_connection_set_local_address
    - https_bind_ssl_bevcb
    - evhttp_new
    - TT_GRIPE
    - evhttp_free
    linkageType: ''
    returnType: void
    signature: void https_per_socket_bevcb_impl(void *arg, ev_uint16_t http_port,
      ev_uint16_t https_port, int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: https_per_socket_bevcb_impl
      Src: /src/libevent/test/regress_http.c:4599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4599
      start: 4598
    functionDepth: 8
    functionLinenumber: 4598
    functionLinenumberEnd: 4599
    functionName: https_per_socket_bevcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - https_per_socket_bevcb_impl
    linkageType: ''
    returnType: void
    signature: void https_per_socket_bevcb(void *arg, int ssl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4610,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4616,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:4618,1
    - Dst: evhttp_connection_base_bufferevent_new
      Src: /src/libevent/test/regress_http.c:4619,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4620,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4622,1
    - Dst: evhttp_connection_set_flags
      Src: /src/libevent/test/regress_http.c:4622,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:4624,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:4626,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4633,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4634,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4637,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4637,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4639,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4641,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4644,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4645,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4646,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_http.c:4647,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4648,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4650,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_http.c:4658,1
    - Dst: evhttp_connection_set_timeout_tv
      Src: /src/libevent/test/regress_http.c:4663,1
    - Dst: evhttp_connection_set_initial_retry_tv
      Src: /src/libevent/test/regress_http.c:4664,1
    - Dst: evhttp_connection_set_retries
      Src: /src/libevent/test/regress_http.c:4666,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4668,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4669,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4672,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4672,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4674,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4676,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4679,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4680,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4681,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_http.c:4684,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4686,1
    - Dst: evhttp_connection_set_timeout
      Src: /src/libevent/test/regress_http.c:4694,1
    - Dst: evhttp_connection_set_retries
      Src: /src/libevent/test/regress_http.c:4695,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4697,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4698,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4701,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4701,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4703,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4705,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:4711,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:4714,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4716,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4717,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_http.c:4718,1
    - Dst: test_timeval_diff_leq
      Src: /src/libevent/test/regress_http.c:4720,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4722,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4726,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4728,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 4
    argNames:
    - arg
    - addr
    - dns_base
    - ssl
    argTypes:
    - void*
    - char*
    - struct evdns_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4729
      start: 4601
    functionDepth: 7
    functionLinenumber: 4601
    functionLinenumberEnd: 4729
    functionName: http_connection_retry_test_basic
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_connection_base_bufferevent_new
    - tt_abort_msg
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - test_timeval_diff_leq
    - tt_assert
    - tt_int_op
    - event_base_once
    - evhttp_connection_set_retries
    - evhttp_connection_set_timeout
    - create_bev
    - evutil_timersub
    - regress_clean_dnsserver
    - evhttp_connection_free
    - evhttp_connection_set_initial_retry_tv
    - evutil_timerclear
    - evhttp_connection_set_local_address
    - evutil_gettimeofday
    - evhttp_connection_set_flags
    - http_setup
    - evhttp_free
    - evhttp_connection_set_timeout_tv
    linkageType: ''
    returnType: void
    signature: void http_connection_retry_test_basic(void *arg, const char *addr,
      struct evdns_base *dns_base, int ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4739,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_http.c:4739,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_http.c:4740,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4741,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:4745,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_http.c:4746,1
    - Dst: http_connection_retry_test_basic
      Src: /src/libevent/test/regress_http.c:4748,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_http.c:4752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4754
      start: 4731
    functionDepth: 9
    functionLinenumber: 4731
    functionLinenumberEnd: 4754
    functionName: http_connection_retry_conn_address_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evdns_base_nameserver_ip_add
    - http_connection_retry_test_basic
    - evdns_base_free
    - regress_dnsserver
    - evdns_base_new
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void http_connection_retry_conn_address_test_impl(void *arg, int ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_retry_conn_address_test_impl
      Src: /src/libevent/test/regress_http.c:4756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4756
      start: 4755
    functionDepth: 10
    functionLinenumber: 4755
    functionLinenumberEnd: 4756
    functionName: http_connection_retry_conn_address_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_retry_conn_address_test_impl
    linkageType: ''
    returnType: void
    signature: void http_connection_retry_conn_address_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_retry_test_basic
      Src: /src/libevent/test/regress_http.c:4761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4758
    functionDepth: 8
    functionLinenumber: 4758
    functionLinenumberEnd: 4762
    functionName: http_connection_retry_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_retry_test_basic
    linkageType: ''
    returnType: void
    signature: void http_connection_retry_test_impl(void *arg, int ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_retry_test_impl
      Src: /src/libevent/test/regress_http.c:4765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4765
      start: 4763
    functionDepth: 9
    functionLinenumber: 4763
    functionLinenumberEnd: 4765
    functionName: http_connection_retry_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_retry_test_impl
    linkageType: ''
    returnType: void
    signature: void http_connection_retry_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_htmlescape
      Src: /src/libevent/test/regress_http.c:4773,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4774,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:4775,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:4776,1
    - Dst: evhttp_htmlescape
      Src: /src/libevent/test/regress_http.c:4778,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4779,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:4780,1
    - Dst: evhttp_new
      Src: /src/libevent/test/regress_http.c:4782,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4783,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4784,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:4784,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4785,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:4785,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4786,1
    - Dst: evhttp_del_cb
      Src: /src/libevent/test/regress_http.c:4786,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4787,1
    - Dst: evhttp_del_cb
      Src: /src/libevent/test/regress_http.c:4787,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4788,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:4788,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:4792,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4795
      start: 4767
    functionDepth: 5
    functionLinenumber: 4767
    functionLinenumberEnd: 4795
    functionName: http_primitives
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_htmlescape
    - free
    - tt_int_op
    - evhttp_new
    - evhttp_del_cb
    - evhttp_free
    - evhttp_set_cb
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void http_primitives(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4805,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_http.c:4810,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:4812,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4813,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:4816,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_http.c:4817,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:4818,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:4833,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:4833,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4836,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4838,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4839,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4840,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:4843,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:4845,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4848
      start: 4797
    functionDepth: 8
    functionLinenumber: 4797
    functionLinenumberEnd: 4848
    functionName: http_multi_line_header_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - tt_ptr_op
    - bufferevent_socket_new
    - event_base_dispatch
    - strlen
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_multi_line_header_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/test/regress_http.c:4854,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:4855,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4860
      start: 4850
    functionDepth: 2
    functionLinenumber: 4850
    functionLinenumberEnd: 4860
    functionName: http_request_bad
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void http_request_bad(struct evhttp_request *req, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4869,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:4873,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4874,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4881,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4884,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4884,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4887,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4888,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4891,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:4895,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:4897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4898
      start: 4862
    functionDepth: 7
    functionLinenumber: 4862
    functionLinenumberEnd: 4898
    functionName: http_negative_content_length_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - evhttp_connection_free
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_negative_content_length_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4904,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4905,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4905,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4908
      start: 4901
    functionDepth: 2
    functionLinenumber: 4901
    functionLinenumberEnd: 4908
    functionName: http_data_length_constraints_test_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - tt_int_op
    - evhttp_request_get_response_code
    linkageType: ''
    returnType: void
    signature: void http_data_length_constraints_test_done(struct evhttp_request *req,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4912,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4913,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4913,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4916
      start: 4909
    functionDepth: 2
    functionLinenumber: 4909
    functionLinenumberEnd: 4916
    functionName: http_large_entity_test_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - tt_int_op
    - evhttp_request_get_response_code
    linkageType: ''
    returnType: void
    signature: void http_large_entity_test_done(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4920,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:4921,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:4921,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:4923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4924
      start: 4917
    functionDepth: 2
    functionLinenumber: 4917
    functionLinenumberEnd: 4924
    functionName: http_expectation_failed_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_base_loopexit
    - tt_int_op
    - evhttp_request_get_response_code
    linkageType: ''
    returnType: void
    signature: void http_expectation_failed_done(struct evhttp_request *req, void
      *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:4937,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4944,1
    - Dst: malloc
      Src: /src/libevent/test/regress_http.c:4946,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:4947,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4950,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:4951,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4952,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4955,1
    - Dst: evhttp_connection_set_flags
      Src: /src/libevent/test/regress_http.c:4955,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:4957,1
    - Dst: evhttp_set_max_headers_size
      Src: /src/libevent/test/regress_http.c:4959,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4960,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4962,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4963,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4964,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4964,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4965,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4965,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4966,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4967,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4968,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4970,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4972,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:4973,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4974,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4974,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4976,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4977,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4978,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4980,1
    - Dst: evhttp_set_max_body_size
      Src: /src/libevent/test/regress_http.c:4982,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4983,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4987,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4988,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4988,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:4989,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:4989,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:4990,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:4991,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:4992,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:4994,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:4996,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4997,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4997,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:4998,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:4998,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:4999,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:4999,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:5000,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5001,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5002,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5004,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5008,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5009,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5009,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5010,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5010,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5011,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:5011,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:5012,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5013,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5014,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5016,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5020,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5021,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5021,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5022,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5022,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5023,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:5023,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_http.c:5024,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5025,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5026,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5028,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5033,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5035,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:5037,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 85
    argCount: 2
    argNames:
    - arg
    - read_on_write_error
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5038
      start: 4926
    functionDepth: 9
    functionLinenumber: 4926
    functionLinenumberEnd: 5038
    functionName: http_data_length_constraints_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - tt_abort_msg
    - evhttp_make_request
    - evhttp_set_max_body_size
    - event_base_dispatch
    - evbuffer_add_printf
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - tt_assert
    - malloc
    - evhttp_connection_base_new
    - free
    - evhttp_connection_free
    - evhttp_connection_set_local_address
    - evhttp_set_max_headers_size
    - evhttp_connection_set_flags
    - memset
    - http_setup
    - TT_BLATHER
    - evhttp_free
    - evhttp_request_get_output_buffer
    linkageType: ''
    returnType: void
    signature: void http_data_length_constraints_test_impl(void *arg, int read_on_write_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_data_length_constraints_test_impl
      Src: /src/libevent/test/regress_http.c:5040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5040
      start: 5039
    functionDepth: 10
    functionLinenumber: 5039
    functionLinenumberEnd: 5040
    functionName: http_data_length_constraints_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_data_length_constraints_test_impl
    linkageType: ''
    returnType: void
    signature: void http_data_length_constraints_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_data_length_constraints_test_impl
      Src: /src/libevent/test/regress_http.c:5042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5042
      start: 5041
    functionDepth: 10
    functionLinenumber: 5041
    functionLinenumberEnd: 5042
    functionName: http_read_on_write_error_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_data_length_constraints_test_impl
    linkageType: ''
    returnType: void
    signature: void http_read_on_write_error_test(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5054,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5059,1
    - Dst: evhttp_set_flags
      Src: /src/libevent/test/regress_http.c:5059,1
    - Dst: evhttp_set_max_body_size
      Src: /src/libevent/test/regress_http.c:5060,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5062,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5063,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:5064,1
    - Dst: malloc
      Src: /src/libevent/test/regress_http.c:5071,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5072,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5079,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5080,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5081,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5081,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5082,1
    - Dst: evhttp_request_get_output_buffer
      Src: /src/libevent/test/regress_http.c:5082,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5083,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5084,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5086,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5091,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5093,1
    - Dst: free
      Src: /src/libevent/test/regress_http.c:5095,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - arg
    - lingering
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5096
      start: 5044
    functionDepth: 9
    functionLinenumber: 5044
    functionLinenumberEnd: 5096
    functionName: http_lingering_close_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - tt_abort_msg
    - evhttp_make_request
    - evhttp_set_max_body_size
    - evhttp_set_flags
    - event_base_dispatch
    - evbuffer_add_printf
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - tt_assert
    - malloc
    - evhttp_connection_base_new
    - free
    - evhttp_connection_free
    - evhttp_connection_set_local_address
    - memset
    - http_setup
    - evhttp_free
    - evhttp_request_get_output_buffer
    linkageType: ''
    returnType: void
    signature: void http_lingering_close_test_impl(void *arg, int lingering)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_lingering_close_test_impl
      Src: /src/libevent/test/regress_http.c:5098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5098
      start: 5097
    functionDepth: 10
    functionLinenumber: 5097
    functionLinenumberEnd: 5098
    functionName: http_non_lingering_close_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_lingering_close_test_impl
    linkageType: ''
    returnType: void
    signature: void http_non_lingering_close_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_lingering_close_test_impl
      Src: /src/libevent/test/regress_http.c:5100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5100
      start: 5099
    functionDepth: 10
    functionLinenumber: 5099
    functionLinenumberEnd: 5100
    functionName: http_lingering_close_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_lingering_close_test_impl
    linkageType: ''
    returnType: void
    signature: void http_lingering_close_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_connection
      Src: /src/libevent/test/regress_http.c:5125,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:5127,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5128,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:5132,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5133,1
    - Dst: evhttp_send_reply_chunk
      Src: /src/libevent/test/regress_http.c:5134,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:5135,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:5141,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_http.c:5142,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5145
      start: 5115
    functionDepth: 9
    functionLinenumber: 5115
    functionLinenumberEnd: 5145
    functionName: terminate_chunked_trickle_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - event_base_once
    - EVUTIL_ASSERT
    - evbuffer_free
    - evhttp_request_free
    - evhttp_request_get_connection
    - evbuffer_new
    - evbuffer_add_printf
    - evhttp_send_reply_chunk
    linkageType: ''
    returnType: void
    signature: void terminate_chunked_trickle_cb(evutil_socket_t fd, short events,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:5155,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - evcon
    - arg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5159
      start: 5147
    functionDepth: 3
    functionLinenumber: 5147
    functionLinenumberEnd: 5159
    functionName: terminate_chunked_close_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - evhttp_request_free
    linkageType: ''
    returnType: void
    signature: void terminate_chunked_close_cb(struct evhttp_connection *evcon, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_connection_set_closecb
      Src: /src/libevent/test/regress_http.c:5168,1
    - Dst: evhttp_request_get_connection
      Src: /src/libevent/test/regress_http.c:5169,1
    - Dst: evhttp_send_reply_start
      Src: /src/libevent/test/regress_http.c:5174,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5179
      start: 5161
    functionDepth: 5
    functionLinenumber: 5161
    functionLinenumberEnd: 5179
    functionName: terminate_chunked_cb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_connection_set_closecb
    - evhttp_request_get_connection
    - evhttp_send_reply_start
    - event_base_once
    linkageType: ''
    returnType: void
    signature: void terminate_chunked_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5185,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:5186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5187
      start: 5181
    functionDepth: 6
    functionLinenumber: 5181
    functionLinenumberEnd: 5187
    functionName: terminate_chunked_client
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void terminate_chunked_client(evutil_socket_t fd, short event, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_drain
      Src: /src/libevent/test/regress_http.c:5193,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/test/regress_http.c:5193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5194
      start: 5189
    functionDepth: 4
    functionLinenumber: 5189
    functionLinenumberEnd: 5194
    functionName: terminate_readcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_drain
    linkageType: ''
    returnType: void
    signature: void terminate_readcb(struct bufferevent *bev, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5207,1
    - Dst: evhttp_del_cb
      Src: /src/libevent/test/regress_http.c:5211,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5212,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/test/regress_http.c:5212,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:5215,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5216,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/test/regress_http.c:5219,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5220,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:5222,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5225,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:5237,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5237,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:5238,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5240,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5243,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:5250,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - arg
    - oneshot
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5253
      start: 5197
    functionDepth: 8
    functionLinenumber: 5197
    functionLinenumberEnd: 5253
    functionName: http_terminate_chunked_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - memset
    - event_base_once
    - http_setup
    - evhttp_del_cb
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - evhttp_set_cb
    - evutil_timerclear
    - bufferevent_socket_new
    - event_base_dispatch
    - strlen
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_terminate_chunked_test_impl(void *arg, int oneshot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_terminate_chunked_test_impl
      Src: /src/libevent/test/regress_http.c:5257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5258
      start: 5254
    functionDepth: 9
    functionLinenumber: 5254
    functionLinenumberEnd: 5258
    functionName: http_terminate_chunked_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_terminate_chunked_test_impl
    linkageType: ''
    returnType: void
    signature: void http_terminate_chunked_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_terminate_chunked_test_impl
      Src: /src/libevent/test/regress_http.c:5262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5263
      start: 5259
    functionDepth: 9
    functionLinenumber: 5259
    functionLinenumberEnd: 5263
    functionName: http_terminate_chunked_oneshot_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_terminate_chunked_test_impl
    linkageType: ''
    returnType: void
    signature: void http_terminate_chunked_oneshot_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5278,1
    - Dst: regress_dnsserver
      Src: /src/libevent/test/regress_http.c:5278,1
    - Dst: evdns_base_new
      Src: /src/libevent/test/regress_http.c:5280,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5281,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_http.c:5285,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/test/regress_http.c:5286,1
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:5288,1
    - Dst: evdns_base_free
      Src: /src/libevent/test/regress_http.c:5293,1
    - Dst: regress_clean_dnsserver
      Src: /src/libevent/test/regress_http.c:5294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - family
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5295
      start: 5270
    functionDepth: 9
    functionLinenumber: 5270
    functionLinenumberEnd: 5295
    functionName: http_ipv6_for_domain_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - regress_clean_dnsserver
    - http_connection_test_
    - evdns_base_nameserver_ip_add
    - evdns_base_free
    - regress_dnsserver
    - evdns_base_new
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void http_ipv6_for_domain_test_impl(void *arg, int family)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_ipv6_for_domain_test_impl
      Src: /src/libevent/test/regress_http.c:5299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5300
      start: 5296
    functionDepth: 10
    functionLinenumber: 5296
    functionLinenumberEnd: 5300
    functionName: http_ipv6_for_domain_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_ipv6_for_domain_test_impl
    linkageType: ''
    returnType: void
    signature: void http_ipv6_for_domain_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5310,1
    - Dst: evhttp_connection_get_addr
      Src: /src/libevent/test/regress_http.c:5312,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5313,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_http.c:5315,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5316,1
    - Dst: strncmp
      Src: /src/libevent/test/regress_http.c:5316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - evcon
    - arg
    argTypes:
    - struct evhttp_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5323
      start: 5302
    functionDepth: 4
    functionLinenumber: 5302
    functionLinenumberEnd: 5323
    functionName: http_request_get_addr_on_close
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evutil_format_sockaddr_port_
    - strncmp
    - evhttp_connection_get_addr
    linkageType: ''
    returnType: void
    signature: void http_request_get_addr_on_close(struct evhttp_connection *evcon,
      void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5332,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5337,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5338,1
    - Dst: evhttp_connection_set_closecb
      Src: /src/libevent/test/regress_http.c:5339,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5346,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5349,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5350,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5353,1
    - Dst: http_request_get_addr_on_close
      Src: /src/libevent/test/regress_http.c:5355,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5359,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5362
      start: 5325
    functionDepth: 7
    functionLinenumber: 5325
    functionLinenumberEnd: 5362
    functionName: http_get_addr_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_connection_free
    - tt_abort_msg
    - http_request_get_addr_on_close
    - http_setup
    - evhttp_connection_set_closecb
    - evhttp_free
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_get_addr_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:5367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5368
      start: 5364
    functionDepth: 8
    functionLinenumber: 5364
    functionLinenumberEnd: 5368
    functionName: http_set_family_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_test_
    linkageType: ''
    returnType: void
    signature: void http_set_family_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:5372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5373
      start: 5369
    functionDepth: 8
    functionLinenumber: 5369
    functionLinenumberEnd: 5373
    functionName: http_set_family_ipv4_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_test_
    linkageType: ''
    returnType: void
    signature: void http_set_family_ipv4_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_ipv6_for_domain_test_impl
      Src: /src/libevent/test/regress_http.c:5377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5378
      start: 5374
    functionDepth: 10
    functionLinenumber: 5374
    functionLinenumberEnd: 5378
    functionName: http_set_family_ipv6_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_ipv6_for_domain_test_impl
    linkageType: ''
    returnType: void
    signature: void http_set_family_ipv6_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:5386,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5386,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:5388,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5391
      start: 5380
    functionDepth: 8
    functionLinenumber: 5380
    functionLinenumberEnd: 5391
    functionName: http_write_during_read
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - strlen
    - evutil_timerclear
    - bufferevent_write
    linkageType: ''
    returnType: void
    signature: void http_write_during_read(evutil_socket_t fd, short what, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5401,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:5406,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5407,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:5408,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5409,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:5410,1
    - Dst: bufferevent_disable
      Src: /src/libevent/test/regress_http.c:5411,1
    - Dst: bufferevent_write
      Src: /src/libevent/test/regress_http.c:5418,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5418,1
    - Dst: evutil_timerclear
      Src: /src/libevent/test/regress_http.c:5419,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5421,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5423,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5427,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - arg
    - ssl
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5430
      start: 5392
    functionDepth: 8
    functionLinenumber: 5392
    functionLinenumberEnd: 5430
    functionName: http_write_during_read_test_impl
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - bufferevent_disable
    - event_base_once
    - http_setup
    - evhttp_free
    - http_connect
    - bufferevent_write
    - bufferevent_setcb
    - create_bev
    - evutil_timerclear
    - event_base_dispatch
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_write_during_read_test_impl(void *arg, int ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_write_during_read_test_impl
      Src: /src/libevent/test/regress_http.c:5432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5432
      start: 5431
    functionDepth: 9
    functionLinenumber: 5431
    functionLinenumberEnd: 5432
    functionName: http_write_during_read_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_write_during_read_test_impl
    linkageType: ''
    returnType: void
    signature: void http_write_during_read_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5441,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5446,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5448,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5449,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5451,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5453,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5454,1
    - Dst: evhttp_request_own
      Src: /src/libevent/test/regress_http.c:5456,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5458,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5462,1
    - Dst: evhttp_request_free
      Src: /src/libevent/test/regress_http.c:5464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5467
      start: 5434
    functionDepth: 7
    functionLinenumber: 5434
    functionLinenumberEnd: 5467
    functionName: http_request_own_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_request_own
    - tt_abort_msg
    - evhttp_connection_free
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - evhttp_request_free
    - event_base_dispatch
    - evhttp_request_new
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_request_own_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:5477,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5478,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:5481,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5482,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:5484,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:5486,1
    - Dst: va_start
      Src: /src/libevent/test/regress_http.c:5488,1
    - Dst: evbuffer_add_vprintf
      Src: /src/libevent/test/regress_http.c:5489,1
    - Dst: va_end
      Src: /src/libevent/test/regress_http.c:5490,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5492,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - base
    - port
    - fmt
    argTypes:
    - struct event_base*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5469
    functionDepth: 8
    functionLinenumber: 5469
    functionLinenumberEnd: 5497
    functionName: http_run_bev_request
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - va_end
    - bufferevent_free
    - evbuffer_add_vprintf
    - http_connect
    - bufferevent_setcb
    - create_bev
    - event_base_dispatch
    - va_start
    - bufferevent_get_output
    linkageType: ''
    returnType: void
    signature: "void http_run_bev_request(struct event_base *base, int port,\n\tconst
      char *fmt, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup_gencb
      Src: /src/libevent/test/regress_http.c:5506,1
    - Dst: evbuffer_new
      Src: /src/libevent/test/regress_http.c:5512,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5514,1
    - Dst: http_run_bev_request
      Src: /src/libevent/test/regress_http.c:5516,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:5522,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:5523,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5525,1
    - Dst: http_run_bev_request
      Src: /src/libevent/test/regress_http.c:5527,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:5533,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/test/regress_http.c:5534,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5536,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5539,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5541,1
    - Dst: evbuffer_free
      Src: /src/libevent/test/regress_http.c:5543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5544
      start: 5498
    functionDepth: 9
    functionLinenumber: 5498
    functionLinenumberEnd: 5544
    functionName: http_request_extra_body_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - http_setup_gencb
    - http_run_bev_request
    - bufferevent_free
    - evbuffer_get_length
    - evbuffer_pullup
    - evhttp_free
    - evbuffer_free
    - evbuffer_new
    - evbuffer_add_printf
    linkageType: ''
    returnType: void
    signature: void http_request_extra_body_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5559,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5560,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5561,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5563,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5565,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5566,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5567,1
    - Dst: tt_fail
      Src: /src/libevent/test/regress_http.c:5572,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:5573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct http_newreqcb_test_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5574
      start: 5556
    functionDepth: 2
    functionLinenumber: 5556
    functionLinenumberEnd: 5574
    functionName: http_newreqcb_test_state_check
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - tt_int_op
    - exit
    - tt_fail
    linkageType: ''
    returnType: void
    signature: void http_newreqcb_test_state_check(struct http_newreqcb_test_state*
      state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:5580,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/libevent/test/regress_http.c:5582,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5587
      start: 5576
    functionDepth: 3
    functionLinenumber: 5576
    functionLinenumberEnd: 5587
    functionName: http_request_done_newreqcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_request_get_response_code
    - http_newreqcb_test_state_check
    - evhttp_request_set_error_cb
    linkageType: ''
    returnType: void
    signature: void http_request_done_newreqcb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - enum evhttp_request_error
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5596
      start: 5589
    functionDepth: 3
    functionLinenumber: 5589
    functionLinenumberEnd: 5596
    functionName: http_request_error_newreqcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_newreqcb_test_state_check
    linkageType: ''
    returnType: void
    signature: void http_request_error_newreqcb(enum evhttp_request_error err, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5598
    functionDepth: 3
    functionLinenumber: 5598
    functionLinenumberEnd: 5609
    functionName: http_newreqcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_newreqcb_test_state_check
    linkageType: ''
    returnType: int
    signature: int http_newreqcb(struct evhttp_request* req, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5617,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5625,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5626,1
    - Dst: evhttp_set_newreqcb
      Src: /src/libevent/test/regress_http.c:5628,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5633,1
    - Dst: evhttp_connection_set_retries
      Src: /src/libevent/test/regress_http.c:5635,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5637,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5639,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5640,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5640,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/libevent/test/regress_http.c:5641,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5644,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5645,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5649,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5652,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5654,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5655,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5658,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5666
      start: 5612
    functionDepth: 7
    functionLinenumber: 5612
    functionLinenumberEnd: 5666
    functionName: http_newreqcb_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - tt_int_op
    - memset
    - evhttp_request_get_output_headers
    - evhttp_connection_free
    - tt_abort_msg
    - evhttp_connection_set_retries
    - http_setup
    - evhttp_free
    - evhttp_request_set_error_cb
    - evhttp_make_request
    - event_base_dispatch
    - http_newreqcb_test_state_check
    - evhttp_request_new
    - evhttp_set_newreqcb
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_newreqcb_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5676,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5681,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5682,1
    - Dst: evhttp_connection_set_connect_timeout_tv
      Src: /src/libevent/test/regress_http.c:5686,1
    - Dst: evhttp_connection_set_write_timeout_tv
      Src: /src/libevent/test/regress_http.c:5687,1
    - Dst: evhttp_connection_set_read_timeout_tv
      Src: /src/libevent/test/regress_http.c:5689,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5691,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5692,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5693,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5693,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5694,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5694,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5695,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5696,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5700,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5703
      start: 5668
    functionDepth: 7
    functionLinenumber: 5668
    functionLinenumberEnd: 5703
    functionName: http_timeout_read_client_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evhttp_add_header
    - tt_int_op
    - evhttp_connection_set_write_timeout_tv
    - evhttp_connection_set_connect_timeout_tv
    - evhttp_connection_free
    - http_setup
    - evhttp_free
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_connection_set_read_timeout_tv
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_timeout_read_client_test(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_send_error
      Src: /src/libevent/test/regress_http.c:5747,1
    - Dst: evhttp_send_error
      Src: /src/libevent/test/regress_http.c:5750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5753
      start: 5739
    functionDepth: 5
    functionLinenumber: 5739
    functionLinenumberEnd: 5753
    functionName: http_error_callback_gencb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_send_error
    linkageType: ''
    returnType: void
    signature: void http_error_callback_gencb(struct evhttp_request *req, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5766,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - req
    - buf
    - error
    - reason
    - arg
    argTypes:
    - struct evhttp_request*
    - struct evbuffer*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5781
      start: 5755
    functionDepth: 9
    functionLinenumber: 5755
    functionLinenumberEnd: 5781
    functionName: http_error_callback_errorcb
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_add_printf
    linkageType: ''
    returnType: int
    signature: "int http_error_callback_errorcb(struct evhttp_request *req, struct
      evbuffer *buf,\n    int error, const char *reason, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5793,1
    - Dst: tt_assert_op_type
      Src: /src/libevent/test/regress_http.c:5794,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/test/regress_http.c:5794,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5796,1
    - Dst: evhttp_request_get_response_code
      Src: /src/libevent/test/regress_http.c:5796,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/test/regress_http.c:5799,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5800,1
    - Dst: evhttp_find_header
      Src: /src/libevent/test/regress_http.c:5801,1
    - Dst: tt_assert_msg
      Src: /src/libevent/test/regress_http.c:5802,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_http.c:5803,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5804,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/test/regress_http.c:5804,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/test/regress_http.c:5804,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5807,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5813
      start: 5783
    functionDepth: 2
    functionLinenumber: 5783
    functionLinenumberEnd: 5813
    functionName: http_error_callback_test_done
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - event_base_loopexit
    - evbuffer_get_length
    - tt_assert_op_type
    - evhttp_request_get_input_headers
    - tt_assert_msg
    - evhttp_request_get_command
    - evhttp_find_header
    - tt_str_op
    - evhttp_request_get_response_code
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void http_error_callback_test_done(struct evhttp_request *req, void
      *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5827,1
    - Dst: evhttp_set_allowed_methods
      Src: /src/libevent/test/regress_http.c:5828,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5834,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5835,1
    - Dst: evhttp_connection_set_local_address
      Src: /src/libevent/test/regress_http.c:5838,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:5847,1
    - Dst: evhttp_set_gencb
      Src: /src/libevent/test/regress_http.c:5851,1
    - Dst: evhttp_set_errorcb
      Src: /src/libevent/test/regress_http.c:5855,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5860,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5862,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5863,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5865,1
    - Dst: exit
      Src: /src/libevent/test/regress_http.c:5866,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5868,1
    - Dst: tt_abort_printf
      Src: /src/libevent/test/regress_http.c:5873,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:5880,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5882,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5883
      start: 5815
    functionDepth: 7
    functionLinenumber: 5815
    functionLinenumberEnd: 5883
    functionName: http_error_callback_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - ARRAY_SIZE
    - exit
    - tt_abort_printf
    - evhttp_connection_free
    - evhttp_set_errorcb
    - tt_abort_msg
    - http_setup
    - evhttp_free
    - evhttp_set_gencb
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_connection_set_local_address
    - evhttp_set_allowed_methods
    - evhttp_request_new
    - evhttp_connection_base_new
    linkageType: ''
    returnType: void
    signature: void http_error_callback_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evbuffer_add
      Src: /src/libevent/test/regress_http.c:5887,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5888
      start: 5885
    functionDepth: 7
    functionLinenumber: 5885
    functionLinenumberEnd: 5888
    functionName: http_add_output_buffer
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evbuffer_add
    - strlen
    linkageType: ''
    returnType: void
    signature: void http_add_output_buffer(evutil_socket_t fd, short events, void
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5898,1
    - Dst: evhttp_set_write_timeout_tv
      Src: /src/libevent/test/regress_http.c:5904,1
    - Dst: evhttp_set_read_timeout_tv
      Src: /src/libevent/test/regress_http.c:5906,1
    - Dst: http_connect
      Src: /src/libevent/test/regress_http.c:5908,1
    - Dst: create_bev
      Src: /src/libevent/test/regress_http.c:5909,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5910,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/test/regress_http.c:5912,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/test/regress_http.c:5913,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/test/regress_http.c:5915,1
    - Dst: strlen
      Src: /src/libevent/test/regress_http.c:5919,1
    - Dst: event_base_once
      Src: /src/libevent/test/regress_http.c:5922,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5924,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5925,1
    - Dst: bufferevent_free
      Src: /src/libevent/test/regress_http.c:5929,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_http.c:5931,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5934
      start: 5889
    functionDepth: 9
    functionLinenumber: 5889
    functionLinenumberEnd: 5934
    functionName: http_timeout_read_server_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - bufferevent_free
    - tt_int_op
    - event_base_once
    - http_setup
    - strlen
    - evhttp_free
    - http_connect
    - bufferevent_setcb
    - create_bev
    - bufferevent_get_output
    - event_base_dispatch
    - evhttp_set_write_timeout_tv
    - evhttp_set_read_timeout_tv
    - evbuffer_add_printf
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void http_timeout_read_server_test(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_setup
      Src: /src/libevent/test/regress_http.c:5944,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5952,1
    - Dst: memset
      Src: /src/libevent/test/regress_http.c:5953,1
    - Dst: evhttp_set_max_connections
      Src: /src/libevent/test/regress_http.c:5955,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:5955,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/test/regress_http.c:5960,1
    - Dst: evhttp_connection_set_retries
      Src: /src/libevent/test/regress_http.c:5962,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_http.c:5964,1
    - Dst: evhttp_request_new
      Src: /src/libevent/test/regress_http.c:5966,1
    - Dst: evhttp_add_header
      Src: /src/libevent/test/regress_http.c:5967,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/test/regress_http.c:5967,1
    - Dst: evhttp_request_set_error_cb
      Src: /src/libevent/test/regress_http.c:5968,1
    - Dst: evhttp_make_request
      Src: /src/libevent/test/regress_http.c:5971,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/regress_http.c:5972,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5976,1
    - Dst: event_base_loopexit
      Src: /src/libevent/test/regress_http.c:5987,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_http.c:5990,1
    - Dst: http_newreqcb_test_state_check
      Src: /src/libevent/test/regress_http.c:5992,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5993,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5994,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_http.c:5995,1
    - Dst: evhttp_free
      Src: /src/libevent/test/regress_http.c:5998,1
    - Dst: ARRAY_SIZE
      Src: /src/libevent/test/regress_http.c:6000,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/test/regress_http.c:6002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6005
      start: 5939
    functionDepth: 7
    functionLinenumber: 5939
    functionLinenumberEnd: 6005
    functionName: http_max_connections_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - tt_abort_msg
    - evhttp_request_set_error_cb
    - evhttp_make_request
    - event_base_dispatch
    - evhttp_set_max_connections
    - evhttp_request_new
    - evhttp_request_get_output_headers
    - http_newreqcb_test_state_check
    - tt_assert
    - tt_int_op
    - evhttp_connection_set_retries
    - ARRAY_SIZE
    - evhttp_connection_base_new
    - event_base_loopexit
    - evhttp_connection_free
    - memset
    - http_setup
    - evhttp_free
    linkageType: ''
    returnType: void
    signature: void http_max_connections_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6011
      start: 6008
    functionDepth: 0
    functionLinenumber: 6008
    functionLinenumberEnd: 6011
    functionName: HTTP_LEGACY
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_LEGACY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6013
      start: 6012
    functionDepth: 0
    functionLinenumber: 6012
    functionLinenumberEnd: 6013
    functionName: HTTP_CAST_ARG
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_CAST_ARG(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - title
    - ','
    - name
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6015
      start: 6013
    functionDepth: 0
    functionLinenumber: 6013
    functionLinenumberEnd: 6015
    functionName: HTTP_OFF_N
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_OFF_N(title, name, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - title
    - ','
    - name
    - ','
    - test_opts
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6017
      start: 6015
    functionDepth: 0
    functionLinenumber: 6015
    functionLinenumberEnd: 6017
    functionName: HTTP_RET_N
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_RET_N(title, name, test_opts, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - title
    - ','
    - name
    - ','
    - test_opts
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 6017
    functionDepth: 0
    functionLinenumber: 6017
    functionLinenumberEnd: 6019
    functionName: HTTP_N
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_N(title, name, test_opts, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6020
      start: 6019
    functionDepth: 0
    functionLinenumber: 6019
    functionLinenumberEnd: 6020
    functionName: HTTP
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6021
      start: 6020
    functionDepth: 0
    functionLinenumber: 6020
    functionLinenumberEnd: 6021
    functionName: HTTP_OPT
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_OPT(name, opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6023
      start: 6021
    functionDepth: 0
    functionLinenumber: 6021
    functionLinenumberEnd: 6023
    functionName: HTTPS
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTPS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6025
      start: 6023
    functionDepth: 0
    functionLinenumber: 6023
    functionLinenumberEnd: 6025
    functionName: HTTPS_MBEDTLS
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTPS_MBEDTLS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_basic_test_impl
      Src: /src/libevent/test/regress_http.c:6028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6028
      start: 6027
    functionDepth: 10
    functionLinenumber: 6027
    functionLinenumberEnd: 6028
    functionName: https_basic_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_basic_test_impl
    linkageType: ''
    returnType: void
    signature: void https_basic_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_basic_test_impl
      Src: /src/libevent/test/regress_http.c:6030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6030
      start: 6029
    functionDepth: 10
    functionLinenumber: 6029
    functionLinenumberEnd: 6030
    functionName: https_filter_basic_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_basic_test_impl
    linkageType: ''
    returnType: void
    signature: void https_filter_basic_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_incomplete_test_
      Src: /src/libevent/test/regress_http.c:6032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6032
      start: 6031
    functionDepth: 9
    functionLinenumber: 6031
    functionLinenumberEnd: 6032
    functionName: https_incomplete_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_incomplete_test_
    linkageType: ''
    returnType: void
    signature: void https_incomplete_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_incomplete_test_
      Src: /src/libevent/test/regress_http.c:6034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6034
      start: 6033
    functionDepth: 9
    functionLinenumber: 6033
    functionLinenumberEnd: 6034
    functionName: https_incomplete_timeout_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_incomplete_test_
    linkageType: ''
    returnType: void
    signature: void https_incomplete_timeout_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:6036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6036
      start: 6035
    functionDepth: 9
    functionLinenumber: 6035
    functionLinenumberEnd: 6036
    functionName: https_simple_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void https_simple_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:6038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6038
      start: 6037
    functionDepth: 9
    functionLinenumber: 6037
    functionLinenumberEnd: 6038
    functionName: https_simple_preexisting_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void https_simple_preexisting_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:6040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6040
      start: 6039
    functionDepth: 9
    functionLinenumber: 6039
    functionLinenumberEnd: 6040
    functionName: https_simple_dirty_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void https_simple_dirty_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:6042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6042
      start: 6041
    functionDepth: 9
    functionLinenumber: 6041
    functionLinenumberEnd: 6042
    functionName: https_simple_dirty_preexisting_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void https_simple_dirty_preexisting_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_retry_conn_address_test_impl
      Src: /src/libevent/test/regress_http.c:6044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6044
      start: 6043
    functionDepth: 10
    functionLinenumber: 6043
    functionLinenumberEnd: 6044
    functionName: https_connection_retry_conn_address_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_retry_conn_address_test_impl
    linkageType: ''
    returnType: void
    signature: void https_connection_retry_conn_address_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_retry_test_impl
      Src: /src/libevent/test/regress_http.c:6046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6046
      start: 6045
    functionDepth: 9
    functionLinenumber: 6045
    functionLinenumberEnd: 6046
    functionName: https_connection_retry_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_retry_test_impl
    linkageType: ''
    returnType: void
    signature: void https_connection_retry_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_chunk_out_test_impl
      Src: /src/libevent/test/regress_http.c:6048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6048
      start: 6047
    functionDepth: 9
    functionLinenumber: 6047
    functionLinenumberEnd: 6048
    functionName: https_chunk_out_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_chunk_out_test_impl
    linkageType: ''
    returnType: void
    signature: void https_chunk_out_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_chunk_out_test_impl
      Src: /src/libevent/test/regress_http.c:6050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6050
      start: 6049
    functionDepth: 9
    functionLinenumber: 6049
    functionLinenumberEnd: 6050
    functionName: https_filter_chunk_out_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_chunk_out_test_impl
    linkageType: ''
    returnType: void
    signature: void https_filter_chunk_out_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_stream_out_test_impl
      Src: /src/libevent/test/regress_http.c:6052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6052
      start: 6051
    functionDepth: 8
    functionLinenumber: 6051
    functionLinenumberEnd: 6052
    functionName: https_stream_out_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_stream_out_test_impl
    linkageType: ''
    returnType: void
    signature: void https_stream_out_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_fail_test_impl
      Src: /src/libevent/test/regress_http.c:6054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6054
      start: 6053
    functionDepth: 8
    functionLinenumber: 6053
    functionLinenumberEnd: 6054
    functionName: https_connection_fail_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_fail_test_impl
    linkageType: ''
    returnType: void
    signature: void https_connection_fail_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_write_during_read_test_impl
      Src: /src/libevent/test/regress_http.c:6056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6056
      start: 6055
    functionDepth: 9
    functionLinenumber: 6055
    functionLinenumberEnd: 6056
    functionName: https_write_during_read_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_write_during_read_test_impl
    linkageType: ''
    returnType: void
    signature: void https_write_during_read_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:6058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6058
      start: 6057
    functionDepth: 8
    functionLinenumber: 6057
    functionLinenumberEnd: 6058
    functionName: https_connection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_test_
    linkageType: ''
    returnType: void
    signature: void https_connection_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:6060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6060
      start: 6059
    functionDepth: 8
    functionLinenumber: 6059
    functionLinenumberEnd: 6060
    functionName: https_persist_connection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_test_
    linkageType: ''
    returnType: void
    signature: void https_persist_connection_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: https_per_socket_bevcb_impl
      Src: /src/libevent/test/regress_http.c:6062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6062
      start: 6061
    functionDepth: 8
    functionLinenumber: 6061
    functionLinenumberEnd: 6062
    functionName: https_per_socket_bevcb_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - https_per_socket_bevcb_impl
    linkageType: ''
    returnType: void
    signature: void https_per_socket_bevcb_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_basic_test_impl
      Src: /src/libevent/test/regress_http.c:6067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6067
      start: 6066
    functionDepth: 10
    functionLinenumber: 6066
    functionLinenumberEnd: 6067
    functionName: https_mbedtls_basic_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_basic_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_basic_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_basic_test_impl
      Src: /src/libevent/test/regress_http.c:6069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6069
      start: 6068
    functionDepth: 10
    functionLinenumber: 6068
    functionLinenumberEnd: 6069
    functionName: https_mbedtls_filter_basic_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_basic_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_filter_basic_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_incomplete_test_
      Src: /src/libevent/test/regress_http.c:6071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6071
      start: 6070
    functionDepth: 9
    functionLinenumber: 6070
    functionLinenumberEnd: 6071
    functionName: https_mbedtls_incomplete_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_incomplete_test_
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_incomplete_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_incomplete_test_
      Src: /src/libevent/test/regress_http.c:6073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6073
      start: 6072
    functionDepth: 9
    functionLinenumber: 6072
    functionLinenumberEnd: 6073
    functionName: https_mbedtls_incomplete_timeout_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_incomplete_test_
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_incomplete_timeout_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:6075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6075
      start: 6074
    functionDepth: 9
    functionLinenumber: 6074
    functionLinenumberEnd: 6075
    functionName: https_mbedtls_simple_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_simple_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:6077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6077
      start: 6076
    functionDepth: 9
    functionLinenumber: 6076
    functionLinenumberEnd: 6077
    functionName: https_mbedtls_simple_preexisting_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_simple_preexisting_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:6079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6079
      start: 6078
    functionDepth: 9
    functionLinenumber: 6078
    functionLinenumberEnd: 6079
    functionName: https_mbedtls_simple_dirty_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_simple_dirty_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_simple_test_impl
      Src: /src/libevent/test/regress_http.c:6081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6081
      start: 6080
    functionDepth: 9
    functionLinenumber: 6080
    functionLinenumberEnd: 6081
    functionName: https_mbedtls_simple_dirty_preexisting_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_simple_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_simple_dirty_preexisting_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_retry_conn_address_test_impl
      Src: /src/libevent/test/regress_http.c:6083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6083
      start: 6082
    functionDepth: 10
    functionLinenumber: 6082
    functionLinenumberEnd: 6083
    functionName: https_mbedtls_connection_retry_conn_address_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_retry_conn_address_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_connection_retry_conn_address_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_retry_test_impl
      Src: /src/libevent/test/regress_http.c:6085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6085
      start: 6084
    functionDepth: 9
    functionLinenumber: 6084
    functionLinenumberEnd: 6085
    functionName: https_mbedtls_connection_retry_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_retry_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_connection_retry_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_chunk_out_test_impl
      Src: /src/libevent/test/regress_http.c:6087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6087
      start: 6086
    functionDepth: 9
    functionLinenumber: 6086
    functionLinenumberEnd: 6087
    functionName: https_mbedtls_chunk_out_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_chunk_out_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_chunk_out_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_chunk_out_test_impl
      Src: /src/libevent/test/regress_http.c:6089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6089
      start: 6088
    functionDepth: 9
    functionLinenumber: 6088
    functionLinenumberEnd: 6089
    functionName: https_mbedtls_filter_chunk_out_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_chunk_out_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_filter_chunk_out_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_stream_out_test_impl
      Src: /src/libevent/test/regress_http.c:6091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6091
      start: 6090
    functionDepth: 8
    functionLinenumber: 6090
    functionLinenumberEnd: 6091
    functionName: https_mbedtls_stream_out_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_stream_out_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_stream_out_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_fail_test_impl
      Src: /src/libevent/test/regress_http.c:6093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6093
      start: 6092
    functionDepth: 8
    functionLinenumber: 6092
    functionLinenumberEnd: 6093
    functionName: https_mbedtls_connection_fail_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_fail_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_connection_fail_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_write_during_read_test_impl
      Src: /src/libevent/test/regress_http.c:6095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6095
      start: 6094
    functionDepth: 9
    functionLinenumber: 6094
    functionLinenumberEnd: 6095
    functionName: https_mbedtls_write_during_read_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_write_during_read_test_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_write_during_read_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:6097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6097
      start: 6096
    functionDepth: 8
    functionLinenumber: 6096
    functionLinenumberEnd: 6097
    functionName: https_mbedtls_connection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_test_
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_connection_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_connection_test_
      Src: /src/libevent/test/regress_http.c:6099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6099
      start: 6098
    functionDepth: 8
    functionLinenumber: 6098
    functionLinenumberEnd: 6099
    functionName: https_mbedtls_persist_connection_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - http_connection_test_
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_persist_connection_test(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: https_per_socket_bevcb_impl
      Src: /src/libevent/test/regress_http.c:6101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6101
      start: 6100
    functionDepth: 8
    functionLinenumber: 6100
    functionLinenumberEnd: 6101
    functionName: https_mbedtls_per_socket_bevcb_test
    functionSourceFile: /src/libevent/test/regress_http.c
    functionUses: 0
    functionsReached:
    - https_per_socket_bevcb_impl
    linkageType: ''
    returnType: void
    signature: void https_mbedtls_per_socket_bevcb_test(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/tinytest_demo.c:55,1
    - Dst: tt_abort_msg
      Src: /src/libevent/test/tinytest_demo.c:58,1
    - Dst: tt_assert
      Src: /src/libevent/test/tinytest_demo.c:63,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest_demo.c:63,1
    - Dst: tt_want
      Src: /src/libevent/test/tinytest_demo.c:68,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest_demo.c:68,1
    - Dst: tt_int_op
      Src: /src/libevent/test/tinytest_demo.c:76,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest_demo.c:76,1
    - Dst: tt_int_op
      Src: /src/libevent/test/tinytest_demo.c:79,1
    - Dst: strcmp
      Src: /src/libevent/test/tinytest_demo.c:79,1
    - Dst: tt_str_op
      Src: /src/libevent/test/tinytest_demo.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 89
    functionName: test_strcmp
    functionSourceFile: /src/libevent/test/tinytest_demo.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - tt_abort_msg
    - strcmp
    - tt_want
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void test_strcmp(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/tinytest_demo.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: setup_data_buffer
    functionSourceFile: /src/libevent/test/tinytest_demo.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      setup_data_buffer(const struct testcase_t *testcase)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libevent/test/tinytest_demo.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: clean_data_buffer
    functionSourceFile: /src/libevent/test/tinytest_demo.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: int
    signature: int clean_data_buffer(const struct testcase_t *testcase, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libevent/test/tinytest_demo.c:153,1
    - Dst: memcpy
      Src: /src/libevent/test/tinytest_demo.c:154,1
    - Dst: tt_str_op
      Src: /src/libevent/test/tinytest_demo.c:155,1
    - Dst: tt_mem_op
      Src: /src/libevent/test/tinytest_demo.c:158,1
    - Dst: strdup
      Src: /src/libevent/test/tinytest_demo.c:162,1
    - Dst: tt_assert
      Src: /src/libevent/test/tinytest_demo.c:163,1
    - Dst: tt_str_op
      Src: /src/libevent/test/tinytest_demo.c:166,1
    - Dst: free
      Src: /src/libevent/test/tinytest_demo.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 172
    functionName: test_memcpy
    functionSourceFile: /src/libevent/test/tinytest_demo.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - strcpy
    - free
    - strdup
    - memcpy
    - tt_mem_op
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void test_memcpy(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libevent/test/tinytest_demo.c:179,1
    - Dst: Sleep
      Src: /src/libevent/test/tinytest_demo.c:181,1
    - Dst: sleep
      Src: /src/libevent/test/tinytest_demo.c:183,1
    - Dst: time
      Src: /src/libevent/test/tinytest_demo.c:185,1
    - Dst: tt_int_op
      Src: /src/libevent/test/tinytest_demo.c:187,1
    - Dst: tt_int_op
      Src: /src/libevent/test/tinytest_demo.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: test_timeout
    functionSourceFile: /src/libevent/test/tinytest_demo.c
    functionUses: 0
    functionsReached:
    - time
    - sleep
    - Sleep
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_timeout(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/tinytest_demo.c:201,1
    - Dst: time
      Src: /src/libevent/test/tinytest_demo.c:205,1
    - Dst: Sleep
      Src: /src/libevent/test/tinytest_demo.c:207,1
    - Dst: sleep
      Src: /src/libevent/test/tinytest_demo.c:209,1
    - Dst: time
      Src: /src/libevent/test/tinytest_demo.c:211,1
    - Dst: tt_int_op
      Src: /src/libevent/test/tinytest_demo.c:213,1
    - Dst: tt_int_op
      Src: /src/libevent/test/tinytest_demo.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: test_timeout_retry
    functionSourceFile: /src/libevent/test/tinytest_demo.c
    functionUses: 0
    functionsReached:
    - time
    - sleep
    - tt_int_op
    - Sleep
    linkageType: ''
    returnType: void
    signature: void test_timeout_retry(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tinytest_set_aliases
      Src: /src/libevent/test/tinytest_demo.c:290,1
    - Dst: tinytest_main
      Src: /src/libevent/test/tinytest_demo.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - v
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 292
    functionName: main
    functionSourceFile: /src/libevent/test/tinytest_demo.c
    functionUses: 2
    functionsReached:
    - tinytest_main
    - tinytest_set_aliases
    linkageType: ''
    returnType: int
    signature: int main(int c, const char **v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_util.c:129,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:132,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:138,1
    - Dst: ntohl
      Src: /src/libevent/test/regress_util.c:141,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:142,1
    - Dst: ntohl
      Src: /src/libevent/test/regress_util.c:143,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:148,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:151,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_util.c:154,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:155,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 163
    functionName: regress_ipv4_parse
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    - evutil_inet_pton
    - ntohl
    - strcmp
    - evutil_inet_ntop
    linkageType: ''
    returnType: void
    signature: void regress_ipv4_parse(void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_util.c:176,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:179,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:184,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:195,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:200,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:203,1
    - Dst: strcmp
      Src: /src/libevent/test/regress_util.c:206,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:207,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:214,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 216
    functionName: regress_ipv6_parse
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    - evutil_inet_pton
    - TT_BLATHER
    - strcmp
    - evutil_inet_ntop
    linkageType: ''
    returnType: void
    signature: void regress_ipv6_parse(void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evutil_inet_pton_scope
      Src: /src/libevent/test/regress_util.c:242,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:246,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:251,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:262,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:267,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 274
    functionName: regress_ipv6_parse_scope
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_inet_pton_scope
    - TT_FAIL
    - TT_BLATHER
    linkageType: ''
    returnType: void
    signature: void regress_ipv6_parse_scope(void *ptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:305,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/test/regress_util.c:306,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:309,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:312,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:317,1
    - Dst: htons
      Src: /src/libevent/test/regress_util.c:322,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_util.c:323,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:325,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_util.c:326,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:327,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:329,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:333,1
    - Dst: htons
      Src: /src/libevent/test/regress_util.c:338,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/test/regress_util.c:339,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:341,1
    - Dst: memcmp
      Src: /src/libevent/test/regress_util.c:342,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:343,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:345,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 349
    functionName: regress_sockaddr_port_parse
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memset
    - TT_FAIL
    - evutil_inet_pton
    - evutil_parse_sockaddr_port
    - htons
    linkageType: ''
    returnType: void
    signature: void regress_sockaddr_port_parse(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/test/regress_util.c:362,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:364,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_util.c:365,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:367,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:368,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/test/regress_util.c:371,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:373,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_util.c:374,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:376,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:377,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/test/regress_util.c:380,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:382,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 386
    functionName: regress_sockaddr_port_format
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evutil_format_sockaddr_port_
    - tt_ptr_op
    - evutil_parse_sockaddr_port
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void regress_sockaddr_port_format(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/test/regress_util.c:417,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:420,1
    - Dst: evutil_sockaddr_is_loopback_
      Src: /src/libevent/test/regress_util.c:425,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 430
    functionName: test_evutil_sockaddr_predicates
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TT_FAIL
    - evutil_sockaddr_is_loopback_
    - evutil_parse_sockaddr_port
    linkageType: ''
    returnType: void
    signature: void test_evutil_sockaddr_predicates(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_want
      Src: /src/libevent/test/regress_util.c:438,1
    - Dst: evutil_strtoll
      Src: /src/libevent/test/regress_util.c:438,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_util.c:440,1
    - Dst: evutil_strtoll
      Src: /src/libevent/test/regress_util.c:440,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_util.c:443,1
    - Dst: evutil_strtoll
      Src: /src/libevent/test/regress_util.c:443,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_util.c:444,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_util.c:445,1
    - Dst: evutil_strtoll
      Src: /src/libevent/test/regress_util.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 446
    functionName: test_evutil_strtoll
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_want
    - evutil_strtoll
    linkageType: ''
    returnType: void
    signature: void test_evutil_strtoll(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:458,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:459,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:460,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:462,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:463,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:464,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:466,1
    - Dst: EV_U64_ARG
      Src: /src/libevent/test/regress_util.c:466,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:467,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:468,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:470,1
    - Dst: EV_I64_ARG
      Src: /src/libevent/test/regress_util.c:470,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:471,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:472,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:474,1
    - Dst: EV_SIZE_ARG
      Src: /src/libevent/test/regress_util.c:475,1
    - Dst: EV_SSIZE_ARG
      Src: /src/libevent/test/regress_util.c:475,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:476,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 481
    functionName: test_evutil_snprintf
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - EV_SIZE_ARG
    - EV_SSIZE_ARG
    - EV_I64_ARG
    - tt_str_op
    - EV_U64_ARG
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_evutil_snprintf(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:486,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_util.c:486,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:487,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_util.c:487,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:488,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_util.c:488,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:489,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_util.c:489,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:490,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/test/regress_util.c:490,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:492,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:492,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:493,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:493,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:494,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:494,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:495,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:495,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:496,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:496,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:497,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:497,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:498,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:498,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:499,1
    - Dst: evutil_ascii_strncasecmp
      Src: /src/libevent/test/regress_util.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 502
    functionName: test_evutil_casecmp
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evutil_ascii_strncasecmp
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: void
    signature: void test_evutil_casecmp(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:519,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:520,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:521,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:523,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:524,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:525,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:526,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:528,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:529,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:530,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:531,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:532,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:533,1
    - Dst: TEST_TRIM
      Src: /src/libevent/test/regress_util.c:534,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 539
    functionName: test_evutil_rtrim
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - mm_free
    - TEST_TRIM
    linkageType: ''
    returnType: void
    signature: void test_evutil_rtrim(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: TEST_TRIM
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_TRIM(s, result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_want
      Src: /src/libevent/test/regress_util.c:548,1
    - Dst: free
      Src: /src/libevent/test/regress_util.c:551,1
    - Dst: strdup
      Src: /src/libevent/test/regress_util.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - severity
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 554
    functionName: logfn
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - free
    - tt_want
    - strdup
    linkageType: ''
    returnType: void
    signature: void logfn(int severity, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libevent/test/regress_util.c:563,1
    - Dst: exit
      Src: /src/libevent/test/regress_util.c:564,1
    - Dst: exit
      Src: /src/libevent/test/regress_util.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - exitcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: fatalfn
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - strcmp
    - exit
    linkageType: ''
    returnType: void
    signature: void fatalfn(int exitcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regress_fork
      Src: /src/libevent/test/regress_util.c:579,1
    - Dst: fn
      Src: /src/libevent/test/regress_util.c:581,1
    - Dst: exit
      Src: /src/libevent/test/regress_util.c:582,1
    - Dst: wait
      Src: /src/libevent/test/regress_util.c:584,1
    - Dst: WEXITSTATUS
      Src: /src/libevent/test/regress_util.c:585,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - wantexitcode
    - wantseverity
    - wantmsg
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 590
    functionName: check_error_logging
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - exit
    - fn
    - wait
    - regress_fork
    - WEXITSTATUS
    linkageType: ''
    returnType: void
    signature: "void check_error_logging(void (*fn)(void), int wantexitcode,\n    int
      wantseverity, const char *wantmsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_errx
      Src: /src/libevent/test/regress_util.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: errx_fn
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - event_errx
    linkageType: ''
    returnType: void
    signature: void errx_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_err
      Src: /src/libevent/test/regress_util.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 603
    functionName: err_fn
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - event_err
    linkageType: ''
    returnType: void
    signature: void err_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libevent/test/regress_util.c:608,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/test/regress_util.c:610,1
    - Dst: event_sock_err
      Src: /src/libevent/test/regress_util.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 615
    functionName: sock_err_fn
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - event_sock_err
    - socket
    - EVUTIL_SET_SOCKET_ERROR
    linkageType: ''
    returnType: void
    signature: void sock_err_fn(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_set_log_callback
      Src: /src/libevent/test/regress_util.c:624,1
    - Dst: event_set_fatal_callback
      Src: /src/libevent/test/regress_util.c:625,1
    - Dst: check_error_logging
      Src: /src/libevent/test/regress_util.c:642,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:644,1
    - Dst: event_warnx
      Src: /src/libevent/test/regress_util.c:647,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:648,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:649,1
    - Dst: event_msgx
      Src: /src/libevent/test/regress_util.c:651,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:652,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:653,1
    - Dst: event_debug
      Src: /src/libevent/test/regress_util.c:655,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:657,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:659,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:660,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:662,1
    - Dst: event_warn
      Src: /src/libevent/test/regress_util.c:666,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:667,1
    - Dst: strerror
      Src: /src/libevent/test/regress_util.c:668,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:669,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:670,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:673,1
    - Dst: strerror
      Src: /src/libevent/test/regress_util.c:674,1
    - Dst: check_error_logging
      Src: /src/libevent/test/regress_util.c:675,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:676,1
    - Dst: socket
      Src: /src/libevent/test/regress_util.c:680,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:682,1
    - Dst: evutil_socket_error_to_string
      Src: /src/libevent/test/regress_util.c:684,1
    - Dst: EVUTIL_SET_SOCKET_ERROR
      Src: /src/libevent/test/regress_util.c:685,1
    - Dst: evutil_snprintf
      Src: /src/libevent/test/regress_util.c:687,1
    - Dst: strerror
      Src: /src/libevent/test/regress_util.c:688,1
    - Dst: event_sock_warn
      Src: /src/libevent/test/regress_util.c:691,1
    - Dst: LOGEQ
      Src: /src/libevent/test/regress_util.c:692,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:693,1
    - Dst: check_error_logging
      Src: /src/libevent/test/regress_util.c:696,1
    - Dst: RESET
      Src: /src/libevent/test/regress_util.c:697,1
    - Dst: free
      Src: /src/libevent/test/regress_util.c:704,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_util.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 707
    functionName: test_evutil_log
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_socket_error_to_string
    - event_sock_warn
    - event_warn
    - event_debug
    - evutil_closesocket
    - tt_int_op
    - event_set_fatal_callback
    - RESET
    - free
    - LOGEQ
    - strerror
    - EVUTIL_SET_SOCKET_ERROR
    - tt_ptr_op
    - event_msgx
    - check_error_logging
    - socket
    - event_set_log_callback
    - event_warnx
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void test_evutil_log(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: RESET
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESET()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sev
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 636
    functionName: LOGEQ
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGEQ(sev,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:715,1
    - Dst: strlcpy
      Src: /src/libevent/test/regress_util.c:715,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:716,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:719,1
    - Dst: strlcpy
      Src: /src/libevent/test/regress_util.c:719,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:720,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:723,1
    - Dst: strlcpy
      Src: /src/libevent/test/regress_util.c:723,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: test_evutil_strlcpy
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_str_op
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void test_evutil_strlcpy(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 751
    functionName: test_evutil_upcast
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_evutil_upcast(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:771,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:772,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:773,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:774,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:775,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:776,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:777,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:778,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:780,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:781,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:782,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:786,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:789,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:793,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:794,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:797,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:803,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:804,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:807,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:813,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:814,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:817,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:823,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:824,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:827,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:843,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:845,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 851
    functionName: test_evutil_integers
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void test_evutil_integers(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ai
    - family
    argTypes:
    - struct evutil_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 862
    functionName: ai_find_by_family
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct evutil_addrinfo
    signature: 'struct evutil_addrinfo *

      ai_find_by_family(struct evutil_addrinfo *ai, int family)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ai
    - protocol
    argTypes:
    - struct evutil_addrinfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 873
    functionName: ai_find_by_protocol
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct evutil_addrinfo
    signature: 'struct evutil_addrinfo *

      ai_find_by_protocol(struct evutil_addrinfo *ai, int protocol)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:884,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:886,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:888,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/test/regress_util.c:890,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:892,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:897,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:903,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_util.c:904,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:906,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:911,1
    - Dst: ntohs
      Src: /src/libevent/test/regress_util.c:912,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:914,1
    - Dst: evutil_sockaddr_cmp
      Src: /src/libevent/test/regress_util.c:918,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:919,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:923,1
    - Dst: TT_FAIL
      Src: /src/libevent/test/regress_util.c:928,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - ai
    - sockaddr_port
    - socktype
    - protocol
    - line
    argTypes:
    - struct evutil_addrinfo*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 876
    functionDepth: 3
    functionLinenumber: 876
    functionLinenumberEnd: 930
    functionName: test_ai_eq_
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - memset
    - TT_FAIL
    - TT_BLATHER
    - evutil_parse_sockaddr_port
    - ntohs
    - evutil_inet_ntop
    - evutil_sockaddr_cmp
    linkageType: ''
    returnType: int
    signature: "int test_ai_eq_(const struct evutil_addrinfo *ai, const char *sockaddr_port,\n
      \   int socktype, int protocol, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:941,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:942,1
    - Dst: evutil_weakrand_
      Src: /src/libevent/test/regress_util.c:947,1
    - Dst: evutil_weakrand_
      Src: /src/libevent/test/regress_util.c:948,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:950,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:956,1
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/test/regress_util.c:957,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:964,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:965,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:974,1
    - Dst: evutil_weakrand_seed_
      Src: /src/libevent/test/regress_util.c:978,1
    - Dst: evutil_weakrand_range_
      Src: /src/libevent/test/regress_util.c:980,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:981,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:982,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 932
    functionDepth: 9
    functionLinenumber: 932
    functionLinenumberEnd: 986
    functionName: test_evutil_rand
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - evutil_weakrand_range_
    - evutil_weakrand_
    - evutil_secure_rng_get_bytes
    - evutil_weakrand_seed_
    linkageType: ''
    returnType: void
    signature: void test_evutil_rand(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:991,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/test/regress_util.c:991,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:992,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/test/regress_util.c:992,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:993,1
    - Dst: EVUTIL_ISDIGIT_
      Src: /src/libevent/test/regress_util.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 996
    functionName: test_EVUTIL_IS_
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - EVUTIL_ISDIGIT_
    linkageType: ''
    returnType: void
    signature: void test_EVUTIL_IS_(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1008,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1009,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1010,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1011,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1015,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1018,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1019,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1020,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1021,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1022,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1023,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1026,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1029,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1030,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1031,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1032,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1033,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1034,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1038,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1042,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1043,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1044,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1045,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1046,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1047,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1050,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1051,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1052,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1053,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1054,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1055,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1060,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1061,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1062,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1063,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1064,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1065,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1070,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1071,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1072,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1073,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1074,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1075,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1080,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1081,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1082,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_util.c:1083,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1084,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1085,1
    - Dst: ai_find_by_family
      Src: /src/libevent/test/regress_util.c:1086,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1087,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1088,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1089,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1094,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1097,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1098,1
    - Dst: ai_find_by_protocol
      Src: /src/libevent/test/regress_util.c:1099,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1100,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1101,1
    - Dst: ai_find_by_protocol
      Src: /src/libevent/test/regress_util.c:1102,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1103,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1104,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1105,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1109,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1112,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1113,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1114,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1117,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1121,1
    - Dst: tt_fail_msg
      Src: /src/libevent/test/regress_util.c:1123,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1126,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1129,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress_util.c:1131,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1133,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1134,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1135,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 119
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 998
    functionDepth: 7
    functionLinenumber: 998
    functionLinenumberEnd: 1142
    functionName: test_evutil_getaddrinfo
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - ai_find_by_protocol
    - memset
    - test_ai_eq
    - TT_DECLARE
    - evutil_getaddrinfo
    - tt_ptr_op
    - tt_fail_msg
    - evutil_freeaddrinfo
    - ai_find_by_family
    linkageType: ''
    returnType: void
    signature: void test_evutil_getaddrinfo(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1157,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1161,1
    - Dst: TT_DECLARE
      Src: /src/libevent/test/regress_util.c:1163,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1165,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1166,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1167,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1168,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1169,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1171,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1172,1
    - Dst: htons
      Src: /src/libevent/test/regress_util.c:1172,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1173,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:1175,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1176,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1178,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1183,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1185,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1187,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1188,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1189,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1191,1
    - Dst: htons
      Src: /src/libevent/test/regress_util.c:1191,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/test/regress_util.c:1193,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1195,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1144
    functionDepth: 7
    functionLinenumber: 1144
    functionLinenumberEnd: 1202
    functionName: test_evutil_getaddrinfo_live
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - TT_DECLARE
    - TT_BLATHER
    - evutil_getaddrinfo
    - htons
    - evutil_inet_ntop
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void test_evutil_getaddrinfo_live(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1211,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1217,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1218,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1219,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1220,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1221,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1222,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/test/regress_util.c:1226,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1227,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1228,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1229,1
    - Dst: test_ai_eq
      Src: /src/libevent/test/regress_util.c:1230,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1231,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/test/regress_util.c:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1204
    functionDepth: 7
    functionLinenumber: 1204
    functionLinenumberEnd: 1237
    functionName: test_evutil_getaddrinfo_AI_ADDRCONFIG
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - memset
    - test_ai_eq
    - evutil_getaddrinfo
    - tt_ptr_op
    - evutil_freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void test_evutil_getaddrinfo_AI_ADDRCONFIG(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_load_windows_system_library_
      Src: /src/libevent/test/regress_util.c:1245,1
    - Dst: TEXT
      Src: /src/libevent/test/regress_util.c:1245,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1246,1
    - Dst: CloseHandle
      Src: /src/libevent/test/regress_util.c:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1252
    functionName: test_evutil_loadsyslib
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - TEXT
    - CloseHandle
    - tt_assert
    - evutil_load_windows_system_library_
    linkageType: ''
    returnType: void
    signature: void test_evutil_loadsyslib(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_malloc
      Src: /src/libevent/test/regress_util.c:1265,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1266,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1267,1
    - Dst: mm_malloc
      Src: /src/libevent/test/regress_util.c:1272,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1273,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1274,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1280
    functionName: test_event_malloc
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - mm_free
    - tt_int_op
    - mm_malloc
    linkageType: ''
    returnType: void
    signature: void test_event_malloc(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_util.c:1292,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1293,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1294,1
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_util.c:1296,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1297,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1298,1
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_util.c:1300,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1301,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1302,1
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_util.c:1307,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1308,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1309,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1310,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1317
    functionName: test_event_calloc
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - mm_free
    - tt_int_op
    - mm_calloc
    linkageType: ''
    returnType: void
    signature: void test_event_calloc(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_calloc
      Src: /src/libevent/test/regress_util.c:1333,1
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_util.c:1338,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1343
    functionName: test_event_calloc_enomem
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - tt_ptr_op
    - mm_calloc
    linkageType: ''
    returnType: void
    signature: void test_event_calloc_enomem(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mm_strdup
      Src: /src/libevent/test/regress_util.c:1354,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1355,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1356,1
    - Dst: mm_strdup
      Src: /src/libevent/test/regress_util.c:1362,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1363,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1364,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1365,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1366,1
    - Dst: mm_strdup
      Src: /src/libevent/test/regress_util.c:1369,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1370,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1371,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1372,1
    - Dst: mm_free
      Src: /src/libevent/test/regress_util.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1382
    functionName: test_event_strdup
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - mm_strdup
    - mm_free
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void test_event_strdup(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_util.c:1392,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_util.c:1393,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_util.c:1394,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_util.c:1395,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/test/regress_util.c:1396,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_util.c:1398,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_util.c:1399,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1403,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1404,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1405,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1410
    functionName: test_evutil_usleep
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_timersub
    - evutil_gettimeofday
    - tt_int_op
    - evutil_usleep_
    linkageType: ''
    returnType: void
    signature: void test_evutil_usleep(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1422,1
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1423,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1445,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1446,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1453,1
    - Dst: evutil_configure_monotonic_time_
      Src: /src/libevent/test/regress_util.c:1453,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/test/regress_util.c:1456,1
    - Dst: evutil_usleep_
      Src: /src/libevent/test/regress_util.c:1457,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1462,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress_util.c:1462,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_util.c:1463,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1464,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1466,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1468,1
    - Dst: abs
      Src: /src/libevent/test/regress_util.c:1468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1412
    functionDepth: 3
    functionLinenumber: 1412
    functionLinenumberEnd: 1472
    functionName: test_evutil_monotonic_res
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evutil_timercmp
    - tt_int_op
    - evutil_usleep_
    - strstr
    - TT_BLATHER
    - abs
    - evutil_configure_monotonic_time_
    - evutil_timersub
    - evutil_gettime_monotonic_
    linkageType: ''
    returnType: void
    signature: void test_evutil_monotonic_res(void *data_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1479,1
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1480,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1490,1
    - Dst: evutil_configure_monotonic_time_
      Src: /src/libevent/test/regress_util.c:1490,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/test/regress_util.c:1494,1
    - Dst: evutil_gettime_monotonic_
      Src: /src/libevent/test/regress_util.c:1497,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress_util.c:1498,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1504,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress_util.c:1504,1
    - Dst: evutil_timersub
      Src: /src/libevent/test/regress_util.c:1505,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1506,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1508,1
    - Dst: TT_BLATHER
      Src: /src/libevent/test/regress_util.c:1510,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - data_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1474
    functionDepth: 3
    functionLinenumber: 1474
    functionLinenumberEnd: 1515
    functionName: test_evutil_monotonic_prc
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_timercmp
    - tt_assert
    - tt_int_op
    - strstr
    - TT_BLATHER
    - evutil_configure_monotonic_time_
    - evutil_timersub
    - evutil_gettime_monotonic_
    linkageType: ''
    returnType: void
    signature: void test_evutil_monotonic_prc(void *data_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/libevent/test/regress_util.c:1521,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_util.c:1523,1
    - Dst: strerror
      Src: /src/libevent/test/regress_util.c:1523,1
    - Dst: exit
      Src: /src/libevent/test/regress_util.c:1524,1
    - Dst: gmtime_r
      Src: /src/libevent/test/regress_util.c:1528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cur_p
    - t
    argTypes:
    - struct tm*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1530
    functionName: create_tm_from_unix_epoch
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - exit
    - strerror
    - fprintf
    - gmtime
    - gmtime_r
    linkageType: ''
    returnType: void
    signature: void create_tm_from_unix_epoch(struct tm *cur_p, const time_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_tm_from_unix_epoch
      Src: /src/libevent/test/regress_util.c:1573,1
    - Dst: evutil_date_rfc1123
      Src: /src/libevent/test/regress_util.c:1574,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1575,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1582,1
    - Dst: create_tm_from_unix_epoch
      Src: /src/libevent/test/regress_util.c:1585,1
    - Dst: evutil_date_rfc1123
      Src: /src/libevent/test/regress_util.c:1586,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1592
    functionName: test_evutil_date_rfc1123
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - strlen
    - evutil_date_rfc1123
    - create_tm_from_unix_epoch
    - tt_str_op
    linkageType: ''
    returnType: void
    signature: void test_evutil_date_rfc1123(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1608,1
    - Dst: evutil_v4addr_is_local_
      Src: /src/libevent/test/regress_util.c:1608,1
    - Dst: htonl
      Src: /src/libevent/test/regress_util.c:1611,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1612,1
    - Dst: evutil_v4addr_is_local_
      Src: /src/libevent/test/regress_util.c:1612,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1613,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1614,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1615,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1618,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1619,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1620,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1623,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1624,1
    - Dst: LOCAL
      Src: /src/libevent/test/regress_util.c:1625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1594
    functionDepth: 2
    functionLinenumber: 1594
    functionLinenumberEnd: 1628
    functionName: test_evutil_v4addr_is_local
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - LOCAL
    - htonl
    - evutil_v4addr_is_local_
    linkageType: ''
    returnType: void
    signature: void test_evutil_v4addr_is_local(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - 'yes'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1605
    functionName: LOCAL
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCAL(str, yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1644,1
    - Dst: evutil_v6addr_is_local_
      Src: /src/libevent/test/regress_util.c:1644,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1645,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1648,1
    - Dst: evutil_v6addr_is_local_
      Src: /src/libevent/test/regress_util.c:1648,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1649,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1652,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1654,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1656,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1658,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1660,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1662,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1665,1
    - Dst: LOCAL6
      Src: /src/libevent/test/regress_util.c:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1669
    functionName: test_evutil_v6addr_is_local
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evutil_v6addr_is_local_
    - LOCAL6
    linkageType: ''
    returnType: void
    signature: void test_evutil_v6addr_is_local(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - 'yes'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1642
    functionName: LOCAL6
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCAL6(str, yes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1676
    functionName: socketpair_init
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void socketpair_init(evutil_socket_t fd[2])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_util.c:1682,1
    - Dst: evutil_closesocket
      Src: /src/libevent/test/regress_util.c:1684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - evutil_socket_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1685
    functionName: socketpair_close
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - evutil_closesocket
    linkageType: ''
    returnType: void
    signature: void socketpair_close(evutil_socket_t fd[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socketpair_init
      Src: /src/libevent/test/regress_util.c:1698,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1699,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1699,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1700,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1700,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1701,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1701,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1702,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1702,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1705,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1705,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1706,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1706,1
    - Dst: socketpair_init
      Src: /src/libevent/test/regress_util.c:1707,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1708,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1708,1
    - Dst: SOCKETPAIR_CHECK_CLOSE
      Src: /src/libevent/test/regress_util.c:1709,1
    - Dst: socketpair_init
      Src: /src/libevent/test/regress_util.c:1710,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1711,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1711,1
    - Dst: SOCKETPAIR_CHECK_CLOSE
      Src: /src/libevent/test/regress_util.c:1712,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1714,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1714,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1715,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1715,1
    - Dst: socketpair_init
      Src: /src/libevent/test/regress_util.c:1716,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1717,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1717,1
    - Dst: SOCKETPAIR_CHECK_CLOSE
      Src: /src/libevent/test/regress_util.c:1718,1
    - Dst: socketpair_init
      Src: /src/libevent/test/regress_util.c:1719,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1720,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1720,1
    - Dst: SOCKETPAIR_CHECK_CLOSE
      Src: /src/libevent/test/regress_util.c:1721,1
    - Dst: socketpair_close
      Src: /src/libevent/test/regress_util.c:1724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1687
    functionDepth: 5
    functionLinenumber: 1687
    functionLinenumberEnd: 1725
    functionName: test_evutil_socketpair_create
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - SOCKETPAIR_CHECK_CLOSE
    - socketpair_init
    - evutil_socketpair
    - socketpair_close
    linkageType: ''
    returnType: void
    signature: void test_evutil_socketpair_create(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1697
    functionName: SOCKETPAIR_CHECK_CLOSE
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCKETPAIR_CHECK_CLOSE(fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libevent/test/regress_util.c:1732,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1743,1
    - Dst: evutil_check_working_afunix_
      Src: /src/libevent/test/regress_util.c:1746,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1750,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/regress_util.c:1750,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1751,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1752,1
    - Dst: getsockopt
      Src: /src/libevent/test/regress_util.c:1755,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1756,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1757,1
    - Dst: CHK_LOCALADDR
      Src: /src/libevent/test/regress_util.c:1768,1
    - Dst: CHK_LOCALADDR
      Src: /src/libevent/test/regress_util.c:1769,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1770,1
    - Dst: htonl
      Src: /src/libevent/test/regress_util.c:1770,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1771,1
    - Dst: htonl
      Src: /src/libevent/test/regress_util.c:1771,1
    - Dst: CHK_LOCALADDR
      Src: /src/libevent/test/regress_util.c:1776,1
    - Dst: CHK_LOCALADDR
      Src: /src/libevent/test/regress_util.c:1777,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1778,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1778,1
    - Dst: send
      Src: /src/libevent/test/regress_util.c:1782,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1782,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1783,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1784,1
    - Dst: recv
      Src: /src/libevent/test/regress_util.c:1784,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1785,1
    - Dst: memset
      Src: /src/libevent/test/regress_util.c:1786,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1787,1
    - Dst: send
      Src: /src/libevent/test/regress_util.c:1787,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1787,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1788,1
    - Dst: recv
      Src: /src/libevent/test/regress_util.c:1788,1
    - Dst: tt_str_op
      Src: /src/libevent/test/regress_util.c:1789,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_util.c:1791,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1792,1
    - Dst: send
      Src: /src/libevent/test/regress_util.c:1792,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1792,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_util.c:1793,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1794,1
    - Dst: recv
      Src: /src/libevent/test/regress_util.c:1794,1
    - Dst: shutdown
      Src: /src/libevent/test/regress_util.c:1795,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1796,1
    - Dst: send
      Src: /src/libevent/test/regress_util.c:1796,1
    - Dst: strlen
      Src: /src/libevent/test/regress_util.c:1796,1
    - Dst: socketpair_close
      Src: /src/libevent/test/regress_util.c:1799,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1728
    functionDepth: 5
    functionLinenumber: 1728
    functionLinenumberEnd: 1800
    functionName: test_evutil_win_socketpair
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - recv
    - memset
    - strstr
    - strlen
    - evutil_check_working_afunix_
    - evutil_socketpair
    - socketpair_close
    - send
    - CHK_LOCALADDR
    - shutdown
    - getsockopt
    - tt_str_op
    - htonl
    linkageType: ''
    returnType: void
    signature: void test_evutil_win_socketpair(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1765
    functionName: CHK_LOCALADDR
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_LOCALADDR(a, s, f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyExA
      Src: /src/libevent/test/regress_util.c:1810,1
    - Dst: RegQueryValueExA
      Src: /src/libevent/test/regress_util.c:1813,1
    - Dst: atoi
      Src: /src/libevent/test/regress_util.c:1815,1
    - Dst: RegCloseKey
      Src: /src/libevent/test/regress_util.c:1817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1820
    functionName: get_windows_build
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - RegCloseKey
    - RegQueryValueExA
    - RegOpenKeyExA
    - atoi
    linkageType: ''
    returnType: int
    signature: int get_windows_build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_windows_build
      Src: /src/libevent/test/regress_util.c:1830,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_util.c:1831,1
    - Dst: evutil_check_working_afunix_
      Src: /src/libevent/test/regress_util.c:1832,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1834,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_util.c:1836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1822
    functionDepth: 2
    functionLinenumber: 1822
    functionLinenumberEnd: 1839
    functionName: test_evutil_check_working_afunix
    functionSourceFile: /src/libevent/test/regress_util.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evutil_check_working_afunix_
    - tt_int_op
    - get_windows_build
    linkageType: ''
    returnType: void
    signature: void test_evutil_check_working_afunix(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_weakrand
      Src: /src/libevent/test/regress_minheap.c:38,1
    - Dst: test_weakrand
      Src: /src/libevent/test/regress_minheap.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ev
    argTypes:
    - struct event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: set_random_timeout
    functionSourceFile: /src/libevent/test/regress_minheap.c
    functionUses: 0
    functionsReached:
    - test_weakrand
    linkageType: ''
    returnType: void
    signature: void set_random_timeout(struct event *ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_want
      Src: /src/libevent/test/regress_minheap.c:49,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress_minheap.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - heap
    argTypes:
    - struct min_heap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: check_heap
    functionSourceFile: /src/libevent/test/regress_minheap.c
    functionUses: 0
    functionsReached:
    - evutil_timercmp
    - tt_want
    linkageType: ''
    returnType: void
    signature: void check_heap(struct min_heap *heap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min_heap_ctor_
      Src: /src/libevent/test/regress_minheap.c:62,1
    - Dst: malloc
      Src: /src/libevent/test/regress_minheap.c:65,1
    - Dst: set_random_timeout
      Src: /src/libevent/test/regress_minheap.c:66,1
    - Dst: min_heap_push_
      Src: /src/libevent/test/regress_minheap.c:67,1
    - Dst: check_heap
      Src: /src/libevent/test/regress_minheap.c:69,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_minheap.c:71,1
    - Dst: min_heap_size_
      Src: /src/libevent/test/regress_minheap.c:71,1
    - Dst: min_heap_erase_
      Src: /src/libevent/test/regress_minheap.c:74,1
    - Dst: check_heap
      Src: /src/libevent/test/regress_minheap.c:76,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_minheap.c:78,1
    - Dst: min_heap_size_
      Src: /src/libevent/test/regress_minheap.c:78,1
    - Dst: min_heap_pop_
      Src: /src/libevent/test/regress_minheap.c:80,1
    - Dst: min_heap_pop_
      Src: /src/libevent/test/regress_minheap.c:82,1
    - Dst: tt_want
      Src: /src/libevent/test/regress_minheap.c:85,1
    - Dst: evutil_timercmp
      Src: /src/libevent/test/regress_minheap.c:85,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_minheap.c:88,1
    - Dst: min_heap_size_
      Src: /src/libevent/test/regress_minheap.c:88,1
    - Dst: free
      Src: /src/libevent/test/regress_minheap.c:91,1
    - Dst: min_heap_dtor_
      Src: /src/libevent/test/regress_minheap.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 94
    functionName: test_heap_randomized
    functionSourceFile: /src/libevent/test/regress_minheap.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - evutil_timercmp
    - free
    - min_heap_size_
    - check_heap
    - min_heap_push_
    - min_heap_ctor_
    - min_heap_pop_
    - set_random_timeout
    - min_heap_erase_
    - malloc
    - tt_want
    - min_heap_dtor_
    linkageType: ''
    returnType: void
    signature: void test_heap_randomized(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/test/test-eof.c:63,1
    - Dst: exit
      Src: /src/libevent/test/test-eof.c:64,1
    - Dst: recv
      Src: /src/libevent/test/test-eof.c:67,1
    - Dst: printf
      Src: /src/libevent/test/test-eof.c:69,1
    - Dst: event_add
      Src: /src/libevent/test/test-eof.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: read_cb
    functionSourceFile: /src/libevent/test/test-eof.c
    functionUses: 0
    functionsReached:
    - event_add
    - exit
    - printf
    - recv
    linkageType: ''
    returnType: void
    signature: void read_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/test/test-eof.c:92,1
    - Dst: WSAStartup
      Src: /src/libevent/test/test-eof.c:94,1
    - Dst: evutil_socketpair
      Src: /src/libevent/test/test-eof.c:97,1
    - Dst: send
      Src: /src/libevent/test/test-eof.c:101,1
    - Dst: strlen
      Src: /src/libevent/test/test-eof.c:101,1
    - Dst: shutdown
      Src: /src/libevent/test/test-eof.c:103,1
    - Dst: event_init
      Src: /src/libevent/test/test-eof.c:106,1
    - Dst: event_set
      Src: /src/libevent/test/test-eof.c:109,1
    - Dst: event_add
      Src: /src/libevent/test/test-eof.c:111,1
    - Dst: event_dispatch
      Src: /src/libevent/test/test-eof.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/libevent/test/test-eof.c
    functionUses: 2
    functionsReached:
    - event_init
    - event_set
    - WSAStartup
    - evutil_socketpair
    - event_add
    - send
    - event_dispatch
    - shutdown
    - MAKEWORD
    - strlen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: timer_callback
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void timer_callback(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - evcb
    - arg
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: simple_callback
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void simple_callback(struct event_callback *evcb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ev
    - arg
    argTypes:
    - struct event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: event_finalize_callback_1
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void event_finalize_callback_1(struct event *ev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - evcb
    - arg
    argTypes:
    - struct event_callback*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: callback_finalize_callback_1
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void callback_finalize_callback_1(struct event_callback *evcb, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/test/regress_finalize.c:86,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:87,1
    - Dst: event_free_finalize
      Src: /src/libevent/test/regress_finalize.c:89,1
    - Dst: event_callback_finalize_
      Src: /src/libevent/test/regress_finalize.c:90,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:92,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:94,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:95,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:98,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:102,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/test/regress_finalize.c:103,1
    - Dst: event_active
      Src: /src/libevent/test/regress_finalize.c:105,1
    - Dst: event_callback_activate_
      Src: /src/libevent/test/regress_finalize.c:106,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:108,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:109,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:110,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:113,1
    - Dst: event_active
      Src: /src/libevent/test/regress_finalize.c:117,1
    - Dst: event_callback_activate_
      Src: /src/libevent/test/regress_finalize.c:118,1
    - Dst: event_free_finalize
      Src: /src/libevent/test/regress_finalize.c:119,1
    - Dst: event_callback_finalize_
      Src: /src/libevent/test/regress_finalize.c:120,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:122,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:123,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:124,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:128,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:132,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_finalize.c:133,1
    - Dst: event_add
      Src: /src/libevent/test/regress_finalize.c:134,1
    - Dst: event_free_finalize
      Src: /src/libevent/test/regress_finalize.c:135,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:137,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:138,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:141,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:144,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_finalize.c:145,1
    - Dst: evtimer_assign
      Src: /src/libevent/test/regress_finalize.c:146,1
    - Dst: event_add
      Src: /src/libevent/test/regress_finalize.c:147,1
    - Dst: event_free_finalize
      Src: /src/libevent/test/regress_finalize.c:148,1
    - Dst: event_finalize
      Src: /src/libevent/test/regress_finalize.c:149,1
    - Dst: event_add
      Src: /src/libevent/test/regress_finalize.c:151,1
    - Dst: event_del
      Src: /src/libevent/test/regress_finalize.c:152,1
    - Dst: event_active
      Src: /src/libevent/test/regress_finalize.c:153,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:155,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:156,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 162
    functionName: test_fin_cb_invoked
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - tt_int_op
    - evtimer_new
    - event_del
    - event_callback_finalize_
    - event_finalize
    - event_active
    - event_add
    - event_base_dispatch
    - event_base_assert_ok_
    - event_callback_activate_
    - event_deferred_cb_init_
    - evtimer_assign
    - event_free_finalize
    linkageType: ''
    returnType: void
    signature: void test_fin_cb_invoked(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress_finalize.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: tfff_malloc
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      tfff_malloc(size_t n)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libevent/test/regress_finalize.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: tfff_free
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void tfff_free(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libevent/test/regress_finalize.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: tfff_realloc
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      tfff_realloc(void *p, size_t sz)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tinytest_set_test_skipped_
      Src: /src/libevent/test/regress_finalize.c:194,1
    - Dst: event_set_mem_functions
      Src: /src/libevent/test/regress_finalize.c:203,1
    - Dst: event_base_new
      Src: /src/libevent/test/regress_finalize.c:205,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_finalize.c:206,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:208,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:209,1
    - Dst: event_free_finalize
      Src: /src/libevent/test/regress_finalize.c:212,1
    - Dst: event_finalize
      Src: /src/libevent/test/regress_finalize.c:213,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:215,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:217,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:218,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:220,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:221,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:222,1
    - Dst: event_free
      Src: /src/libevent/test/regress_finalize.c:224,1
    - Dst: event_base_free
      Src: /src/libevent/test/regress_finalize.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 190
    functionDepth: 6
    functionLinenumber: 190
    functionLinenumberEnd: 230
    functionName: test_fin_free_finalize
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - event_set_mem_functions
    - tt_int_op
    - event_base_free
    - evtimer_new
    - event_free_finalize
    - event_finalize
    - event_free
    - event_base_dispatch
    - event_base_assert_ok_
    - event_base_new
    - tinytest_set_test_skipped_
    linkageType: ''
    returnType: void
    signature: void test_fin_free_finalize(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_free
      Src: /src/libevent/test/regress_finalize.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ev
    - arg
    argTypes:
    - struct event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: event_finalize_callback_2
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - event_free
    linkageType: ''
    returnType: void
    signature: void event_finalize_callback_2(struct event *ev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_finalize
      Src: /src/libevent/test/regress_finalize.c:249,1
    - Dst: event_finalize
      Src: /src/libevent/test/regress_finalize.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: timer_callback_2
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - event_finalize
    linkageType: ''
    returnType: void
    signature: void timer_callback_2(evutil_socket_t fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:264,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:265,1
    - Dst: event_active
      Src: /src/libevent/test/regress_finalize.c:270,1
    - Dst: event_active
      Src: /src/libevent/test/regress_finalize.c:271,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:273,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:274,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:275,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:277,1
    - Dst: event_new
      Src: /src/libevent/test/regress_finalize.c:280,1
    - Dst: event_new
      Src: /src/libevent/test/regress_finalize.c:281,1
    - Dst: event_active
      Src: /src/libevent/test/regress_finalize.c:283,1
    - Dst: event_active
      Src: /src/libevent/test/regress_finalize.c:284,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:286,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:287,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:288,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: test_fin_within_cb
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - evtimer_new
    - event_new
    - event_active
    - event_base_dispatch
    - event_base_assert_ok_
    linkageType: ''
    returnType: void
    signature: void test_fin_within_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_assign
      Src: /src/libevent/test/regress_finalize.c:301,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:302,1
    - Dst: free
      Src: /src/libevent/test/regress_finalize.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ev
    - arg
    argTypes:
    - struct event*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 311
    functionName: event_finalize_callback_free
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - free
    - event_assign
    - tt_int_op
    linkageType: ''
    returnType: void
    signature: void event_finalize_callback_free(struct event *ev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_ptr_op
      Src: /src/libevent/test/regress_finalize.c:319,1
    - Dst: event_new
      Src: /src/libevent/test/regress_finalize.c:319,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:320,1
    - Dst: event_add
      Src: /src/libevent/test/regress_finalize.c:320,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:321,1
    - Dst: event_finalize
      Src: /src/libevent/test/regress_finalize.c:321,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:324,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:325,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:326,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:330,1
    - Dst: event_add
      Src: /src/libevent/test/regress_finalize.c:330,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:333,1
    - Dst: event_finalize
      Src: /src/libevent/test/regress_finalize.c:333,1
    - Dst: event_base_dispatch
      Src: /src/libevent/test/regress_finalize.c:334,1
    - Dst: event_base_assert_ok_
      Src: /src/libevent/test/regress_finalize.c:335,1
    - Dst: tt_int_op
      Src: /src/libevent/test/regress_finalize.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 340
    functionName: test_fin_debug_use_after_free
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - tt_int_op
    - event_new
    - event_finalize
    - event_add
    - tt_ptr_op
    - event_base_dispatch
    - event_base_assert_ok_
    linkageType: ''
    returnType: void
    signature: void test_fin_debug_use_after_free(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - what
    - arg
    argTypes:
    - evutil_socket_t*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: timer_callback_3
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void timer_callback_3(evutil_socket_t *fd, short what, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:365,1
    - Dst: evtimer_new
      Src: /src/libevent/test/regress_finalize.c:366,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/test/regress_finalize.c:367,1
    - Dst: event_deferred_cb_init_
      Src: /src/libevent/test/regress_finalize.c:368,1
    - Dst: event_callback_finalize_many
      Src: /src/libevent/test/regress_finalize.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 379
    functionName: test_fin_many
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached:
    - event_deferred_cb_init_
    - evtimer_new
    - event_callback_finalize_many
    linkageType: ''
    returnType: void
    signature: void test_fin_many(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: TEST
    functionSourceFile: /src/libevent/test/regress_finalize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: SSL_use_certificate
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_use_certificate(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: SSL_use_PrivateKey
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_use_PrivateKey(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: X509_free
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_free(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libevent/test/regress_mbedtls.c:94,1
    - Dst: event_debug
      Src: /src/libevent/test/regress_mbedtls.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - userdata
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: mbedtls_debug
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - event_debug
    - strlen
    linkageType: ''
    returnType: void
    signature: "void mbedtls_debug(\n\tvoid *userdata, int level, const char *file,
      int line, const char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_secure_rng_init
      Src: /src/libevent/test/regress_mbedtls.c:108,1
    - Dst: evutil_secure_rng_get_bytes
      Src: /src/libevent/test/regress_mbedtls.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - buffer
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 9
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: mbedtls_rng
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - evutil_secure_rng_init
    - evutil_secure_rng_get_bytes
    linkageType: ''
    returnType: int
    signature: int mbedtls_rng(void* ctx, unsigned char* buffer, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress_mbedtls.c:119,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:120,1
    - Dst: mbedtls_pk_init
      Src: /src/libevent/test/regress_mbedtls.c:121,1
    - Dst: mbedtls_pk_parse_key
      Src: /src/libevent/test/regress_mbedtls.c:122,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:129,1
    - Dst: mbedtls_pk_free
      Src: /src/libevent/test/regress_mbedtls.c:133,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: mbedtls_getkey
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - tt_assert
    - free
    - mbedtls_pk_parse_key
    - malloc
    - mbedtls_pk_free
    - mbedtls_pk_init
    linkageType: ''
    returnType: mbedtls_pk_context
    signature: 'mbedtls_pk_context *

      mbedtls_getkey(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/libevent/test/regress_mbedtls.c:143,1
    - Dst: fprintf
      Src: /src/libevent/test/regress_mbedtls.c:145,1
    - Dst: strerror
      Src: /src/libevent/test/regress_mbedtls.c:145,1
    - Dst: exit
      Src: /src/libevent/test/regress_mbedtls.c:146,1
    - Dst: gmtime_r
      Src: /src/libevent/test/regress_mbedtls.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cur_p
    - t
    argTypes:
    - struct tm*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: create_tm_from_unix_epoch
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 1
    functionsReached:
    - exit
    - strerror
    - fprintf
    - gmtime
    - gmtime_r
    linkageType: ''
    returnType: void
    signature: void create_tm_from_unix_epoch(struct tm *cur_p, const time_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libevent/test/regress_mbedtls.c:158,1
    - Dst: snprintf
      Src: /src/libevent/test/regress_mbedtls.c:170,1
    - Dst: create_tm_from_unix_epoch
      Src: /src/libevent/test/regress_mbedtls.c:172,1
    - Dst: strftime
      Src: /src/libevent/test/regress_mbedtls.c:173,1
    - Dst: create_tm_from_unix_epoch
      Src: /src/libevent/test/regress_mbedtls.c:175,1
    - Dst: strftime
      Src: /src/libevent/test/regress_mbedtls.c:176,1
    - Dst: mbedtls_x509write_crt_init
      Src: /src/libevent/test/regress_mbedtls.c:178,1
    - Dst: mbedtls_x509write_crt_set_version
      Src: /src/libevent/test/regress_mbedtls.c:179,1
    - Dst: mbedtls_mpi_init
      Src: /src/libevent/test/regress_mbedtls.c:181,1
    - Dst: mbedtls_mpi_read_string
      Src: /src/libevent/test/regress_mbedtls.c:182,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:183,1
    - Dst: mbedtls_x509write_crt_set_serial
      Src: /src/libevent/test/regress_mbedtls.c:184,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:185,1
    - Dst: mbedtls_mpi_free
      Src: /src/libevent/test/regress_mbedtls.c:186,1
    - Dst: mbedtls_x509write_crt_set_subject_name
      Src: /src/libevent/test/regress_mbedtls.c:188,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:189,1
    - Dst: mbedtls_x509write_crt_set_issuer_name
      Src: /src/libevent/test/regress_mbedtls.c:190,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:191,1
    - Dst: mbedtls_x509write_crt_set_md_alg
      Src: /src/libevent/test/regress_mbedtls.c:193,1
    - Dst: mbedtls_x509write_crt_set_validity
      Src: /src/libevent/test/regress_mbedtls.c:196,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:197,1
    - Dst: mbedtls_x509write_crt_set_issuer_key
      Src: /src/libevent/test/regress_mbedtls.c:198,1
    - Dst: mbedtls_x509write_crt_set_subject_key
      Src: /src/libevent/test/regress_mbedtls.c:199,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libevent/test/regress_mbedtls.c:201,1
    - Dst: strlen
      Src: /src/libevent/test/regress_mbedtls.c:202,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:203,1
    - Dst: mbedtls_x509write_crt_pem
      Src: /src/libevent/test/regress_mbedtls.c:204,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:206,1
    - Dst: mbedtls_x509write_crt_free
      Src: /src/libevent/test/regress_mbedtls.c:207,1
    - Dst: malloc
      Src: /src/libevent/test/regress_mbedtls.c:209,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:210,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libevent/test/regress_mbedtls.c:211,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libevent/test/regress_mbedtls.c:212,1
    - Dst: strlen
      Src: /src/libevent/test/regress_mbedtls.c:212,1
    - Dst: tt_assert
      Src: /src/libevent/test/regress_mbedtls.c:213,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libevent/test/regress_mbedtls.c:217,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - pk
    argTypes:
    - mbedtls_pk_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 221
    functionName: mbedtls_getcert
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_x509write_crt_free
    - mbedtls_x509write_crt_set_validity
    - mbedtls_x509_crt_parse
    - snprintf
    - strlen
    - mbedtls_mpi_init
    - mbedtls_x509write_crt_set_subject_key
    - mbedtls_x509_crt_init
    - tt_assert
    - mbedtls_x509_crt_free
    - create_tm_from_unix_epoch
    - mbedtls_mpi_read_string
    - mbedtls_mpi_free
    - malloc
    - mbedtls_x509write_crt_pem
    - time
    - free
    - mbedtls_x509write_crt_set_version
    - strftime
    - mbedtls_x509write_crt_set_issuer_key
    - mbedtls_ctr_drbg_seed
    - mbedtls_x509write_crt_set_issuer_name
    - mbedtls_x509write_crt_init
    - mbedtls_x509write_crt_set_serial
    - mbedtls_x509write_crt_set_subject_name
    - mbedtls_x509write_crt_set_md_alg
    linkageType: ''
    returnType: mbedtls_x509_crt
    signature: 'mbedtls_x509_crt *

      mbedtls_getcert(mbedtls_pk_context *pk)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/test/regress_mbedtls.c:228,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libevent/test/regress_mbedtls.c:231,1
    - Dst: mbedtls_ssl_conf_renegotiation
      Src: /src/libevent/test/regress_mbedtls.c:232,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libevent/test/regress_mbedtls.c:234,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libevent/test/regress_mbedtls.c:236,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libevent/test/regress_mbedtls.c:238,1
    - Dst: mbedtls_ssl_conf_max_version
      Src: /src/libevent/test/regress_mbedtls.c:243,1
    - Dst: mbedtls_ssl_conf_own_cert
      Src: /src/libevent/test/regress_mbedtls.c:248,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libevent/test/regress_mbedtls.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - endpoint
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 254
    functionName: get_mbedtls_config
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 2
    functionsReached:
    - mbedtls_ssl_config_init
    - mbedtls_ssl_conf_rng
    - mbedtls_ssl_conf_own_cert
    - mbedtls_ssl_conf_ca_chain
    - mbedtls_ssl_conf_max_version
    - mbedtls_ssl_config_defaults
    - mbedtls_ssl_conf_dbg
    - malloc
    - mbedtls_ssl_conf_renegotiation
    linkageType: ''
    returnType: mbedtls_ssl_config
    signature: 'mbedtls_ssl_config *

      get_mbedtls_config(int endpoint)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libevent/test/regress_mbedtls.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: init_mbedtls
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - mbedtls_debug_set_threshold
    linkageType: ''
    returnType: void
    signature: void init_mbedtls(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_mbedtls
      Src: /src/libevent/test/regress_mbedtls.c:265,1
    - Dst: mbedtls_entropy_init
      Src: /src/libevent/test/regress_mbedtls.c:267,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libevent/test/regress_mbedtls.c:268,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libevent/test/regress_mbedtls.c:269,1
    - Dst: mbedtls_getkey
      Src: /src/libevent/test/regress_mbedtls.c:272,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_mbedtls.c:273,1
    - Dst: mbedtls_getcert
      Src: /src/libevent/test/regress_mbedtls.c:275,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/test/regress_mbedtls.c:276,1
    - Dst: basic_test_setup
      Src: /src/libevent/test/regress_mbedtls.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - struct testcase_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 11
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: mbedtls_test_setup
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - init_mbedtls
    - EVUTIL_ASSERT
    - mbedtls_getcert
    - basic_test_setup
    - mbedtls_ctr_drbg_seed
    - mbedtls_getkey
    - mbedtls_entropy_init
    - mbedtls_ctr_drbg_init
    linkageType: ''
    returnType: void
    signature: 'void *

      mbedtls_test_setup(const struct testcase_t *testcase)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: basic_test_cleanup
      Src: /src/libevent/test/regress_mbedtls.c:285,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libevent/test/regress_mbedtls.c:300,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:301,1
    - Dst: mbedtls_pk_free
      Src: /src/libevent/test/regress_mbedtls.c:302,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:303,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libevent/test/regress_mbedtls.c:306,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:307,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libevent/test/regress_mbedtls.c:311,1
    - Dst: free
      Src: /src/libevent/test/regress_mbedtls.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - testcase
    - ptr
    argTypes:
    - struct testcase_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 282
    functionDepth: 8
    functionLinenumber: 282
    functionLinenumberEnd: 317
    functionName: mbedtls_test_cleanup
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - free
    - mbedtls_x509_crt_free
    - basic_test_cleanup
    - mbedtls_pk_free
    - mbedtls_ssl_config_free
    linkageType: ''
    returnType: int
    signature: int mbedtls_test_cleanup(const struct testcase_t *testcase, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/libevent/test/regress_mbedtls.c:323,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress_mbedtls.c:325,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_mbedtls.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: bio_rwcount_read
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ERR_RW_RETRIABLE
    - EVUTIL_SOCKET_ERROR
    - recv
    linkageType: ''
    returnType: int
    signature: int bio_rwcount_read(void *ctx, unsigned char *out, size_t outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/libevent/test/regress_mbedtls.c:334,1
    - Dst: EVUTIL_ERR_RW_RETRIABLE
      Src: /src/libevent/test/regress_mbedtls.c:336,1
    - Dst: EVUTIL_SOCKET_ERROR
      Src: /src/libevent/test/regress_mbedtls.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: bio_rwcount_write
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 1
    functionsReached:
    - EVUTIL_ERR_RW_RETRIABLE
    - EVUTIL_SOCKET_ERROR
    - send
    linkageType: ''
    returnType: int
    signature: int bio_rwcount_write(void *ctx, const unsigned char *in, size_t inlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_ssl_set_bio
      Src: /src/libevent/test/regress_mbedtls.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - rw
    argTypes:
    - SSL*
    - struct rwcount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: BIO_setup
    functionSourceFile: /src/libevent/test/regress_mbedtls.c
    functionUses: 1
    functionsReached:
    - mbedtls_ssl_set_bio
    linkageType: ''
    returnType: void
    signature: void BIO_setup(SSL *ssl, struct rwcount *rw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: SLIST_HEAD_INITIALIZER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: SLIST_FIRST
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: SLIST_END
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: SLIST_EMPTY
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: SLIST_NEXT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: SLIST_FOREACH
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: SLIST_INIT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - slistelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: SLIST_INSERT_AFTER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_INSERT_AFTER(slistelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: SLIST_INSERT_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: SLIST_REMOVE_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_REMOVE_HEAD(head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: LIST_HEAD_INITIALIZER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: LIST_ENTRY
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: LIST_FIRST
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: LIST_END
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: LIST_EMPTY
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: LIST_NEXT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: LIST_FOREACH
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: LIST_INIT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: LIST_INSERT_AFTER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_INSERT_AFTER(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: LIST_INSERT_BEFORE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_INSERT_BEFORE(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: LIST_INSERT_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: LIST_REMOVE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_REMOVE(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - elm2
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: LIST_REPLACE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_REPLACE(elm, elm2, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: SIMPLEQ_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: SIMPLEQ_HEAD_INITIALIZER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: SIMPLEQ_FIRST
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: SIMPLEQ_END
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: SIMPLEQ_EMPTY
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: SIMPLEQ_NEXT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: SIMPLEQ_FOREACH
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: SIMPLEQ_INIT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: SIMPLEQ_INSERT_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: SIMPLEQ_INSERT_TAIL
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: SIMPLEQ_INSERT_AFTER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_INSERT_AFTER(head, listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: SIMPLEQ_REMOVE_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_REMOVE_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: TAILQ_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: TAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: TAILQ_ENTRY
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: TAILQ_FIRST
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: TAILQ_END
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: TAILQ_NEXT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - headname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: TAILQ_LAST
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_LAST(head, headname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: TAILQ_PREV
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_PREV(elm, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: TAILQ_EMPTY
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: TAILQ_FOREACH_REVERSE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH_REVERSE(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: TAILQ_INIT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: TAILQ_INSERT_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: TAILQ_INSERT_TAIL
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: TAILQ_INSERT_AFTER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INSERT_AFTER(head, listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: TAILQ_INSERT_BEFORE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INSERT_BEFORE(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: TAILQ_REMOVE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_REMOVE(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - elm2
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: TAILQ_REPLACE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_REPLACE(head, elm, elm2, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: CIRCLEQ_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: CIRCLEQ_HEAD_INITIALIZER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: CIRCLEQ_ENTRY
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: CIRCLEQ_FIRST
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: CIRCLEQ_LAST
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_LAST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: CIRCLEQ_END
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: CIRCLEQ_NEXT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: CIRCLEQ_PREV
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_PREV(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: CIRCLEQ_EMPTY
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: CIRCLEQ_FOREACH
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: CIRCLEQ_FOREACH_REVERSE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_FOREACH_REVERSE(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: CIRCLEQ_INIT
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: CIRCLEQ_INSERT_AFTER
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_INSERT_AFTER(head, listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: CIRCLEQ_INSERT_BEFORE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 451
    functionName: CIRCLEQ_INSERT_HEAD
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: CIRCLEQ_INSERT_TAIL
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 474
    functionName: CIRCLEQ_REMOVE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_REMOVE(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - elm2
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: CIRCLEQ_REPLACE
    functionSourceFile: /src/libevent/compat/sys/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_REPLACE(head, elm, elm2, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: SPLAY_INITIALIZER
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_INITIALIZER(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: SPLAY_INIT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_INIT(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: SPLAY_ENTRY
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: SPLAY_LEFT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_LEFT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: SPLAY_RIGHT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_RIGHT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: SPLAY_ROOT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ROOT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: SPLAY_EMPTY
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: SPLAY_ROTATE_RIGHT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ROTATE_RIGHT(head, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: SPLAY_ROTATE_LEFT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ROTATE_LEFT(head, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: SPLAY_LINKLEFT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_LINKLEFT(head, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: SPLAY_LINKRIGHT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_LINKRIGHT(head, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - node
    - ','
    - left
    - ','
    - right
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: SPLAY_ASSEMBLE
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ASSEMBLE(head, node, left, right, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: SPLAY_PROTOTYPE
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_PROTOTYPE(name, type, field, cmp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_EMPTY
      Src: /src/libevent/compat/sys/tree.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: _SPLAY_FIND
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached:
    - SPLAY_EMPTY
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\\\nname##_SPLAY_FIND(struct name *head,
      struct type *elm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/compat/sys/tree.h:136,1
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/compat/sys/tree.h:137,1
    - Dst: SPLAY_LEFT
      Src: /src/libevent/compat/sys/tree.h:138,1
    - Dst: SPLAY_LEFT
      Src: /src/libevent/compat/sys/tree.h:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: _SPLAY_NEXT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached:
    - SPLAY_RIGHT
    - SPLAY_LEFT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\\\nname##_SPLAY_NEXT(struct name *head,
      struct type *elm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_ROOT
      Src: /src/libevent/compat/sys/tree.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - head
    - val
    argTypes:
    - struct name*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: _SPLAY_MIN_MAX
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached:
    - SPLAY_ROOT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\\\nname##_SPLAY_MIN_MAX(struct name *head,
      int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 239
    functionName: SPLAY_GENERATE
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_GENERATE(name, type, field, cmp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_LEFT
      Src: /src/libevent/compat/sys/tree.h:244,1
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/compat/sys/tree.h:244,1
    - Dst: SPLAY_LEFT
      Src: /src/libevent/compat/sys/tree.h:249,1
    - Dst: SPLAY_ROTATE_RIGHT
      Src: /src/libevent/compat/sys/tree.h:253,1
    - Dst: SPLAY_LEFT
      Src: /src/libevent/compat/sys/tree.h:254,1
    - Dst: SPLAY_LINKLEFT
      Src: /src/libevent/compat/sys/tree.h:257,1
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/compat/sys/tree.h:259,1
    - Dst: SPLAY_ROTATE_LEFT
      Src: /src/libevent/compat/sys/tree.h:263,1
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/compat/sys/tree.h:264,1
    - Dst: SPLAY_LINKRIGHT
      Src: /src/libevent/compat/sys/tree.h:267,1
    - Dst: SPLAY_ASSEMBLE
      Src: /src/libevent/compat/sys/tree.h:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - head
    - __comp
    argTypes:
    - struct name*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 271
    functionName: _SPLAY_MINMAX
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached:
    - SPLAY_ROTATE_RIGHT
    - SPLAY_ASSEMBLE
    - SPLAY_LINKLEFT
    - SPLAY_LEFT
    - SPLAY_ROTATE_LEFT
    - SPLAY_RIGHT
    - SPLAY_LINKRIGHT
    linkageType: ''
    returnType: void
    signature: void _SPLAY_MINMAX(struct name *head, int __comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: SPLAY_INSERT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_INSERT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: SPLAY_REMOVE
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_REMOVE(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: SPLAY_FIND
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_FIND(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: SPLAY_NEXT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_NEXT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: SPLAY_MIN
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_MIN(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: SPLAY_MAX
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_MAX(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: SPLAY_FOREACH
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_FOREACH(x, name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: RB_INITIALIZER
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_INITIALIZER(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: RB_INIT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_INIT(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: RB_ENTRY
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: RB_LEFT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_LEFT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: RB_RIGHT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_RIGHT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: RB_PARENT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_PARENT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: RB_COLOR
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_COLOR(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: RB_ROOT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_ROOT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: RB_EMPTY
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - parent
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: RB_SET
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_SET(elm, parent, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - black
    - ','
    - red
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: RB_SET_BLACKRED
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_SET_BLACKRED(black, red, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: RB_ROTATE_LEFT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_ROTATE_LEFT(head, elm, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 374
    functionName: RB_ROTATE_RIGHT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_ROTATE_RIGHT(head, elm, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: RB_PROTOTYPE
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_PROTOTYPE(name, type, field, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 577
    functionName: RB_GENERATE
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_GENERATE(name, type, field, cmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RB_ROOT
      Src: /src/libevent/compat/sys/tree.h:584,1
    - Dst: RB_LEFT
      Src: /src/libevent/compat/sys/tree.h:589,1
    - Dst: RB_RIGHT
      Src: /src/libevent/compat/sys/tree.h:591,1
    - Dst: RB_SET
      Src: /src/libevent/compat/sys/tree.h:595,1
    - Dst: RB_LEFT
      Src: /src/libevent/compat/sys/tree.h:598,1
    - Dst: RB_RIGHT
      Src: /src/libevent/compat/sys/tree.h:600,1
    - Dst: RB_AUGMENT
      Src: /src/libevent/compat/sys/tree.h:601,1
    - Dst: RB_ROOT
      Src: /src/libevent/compat/sys/tree.h:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 606
    functionName: _RB_INSERT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached:
    - RB_RIGHT
    - RB_ROOT
    - RB_AUGMENT
    - RB_LEFT
    - RB_SET
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\t\t\\\nname##_RB_INSERT(struct name *head,
      struct type *elm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RB_ROOT
      Src: /src/libevent/compat/sys/tree.h:612,1
    - Dst: cmp
      Src: /src/libevent/compat/sys/tree.h:615,1
    - Dst: RB_LEFT
      Src: /src/libevent/compat/sys/tree.h:617,1
    - Dst: RB_RIGHT
      Src: /src/libevent/compat/sys/tree.h:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 624
    functionName: _RB_FIND
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached:
    - RB_RIGHT
    - cmp
    - RB_LEFT
    - RB_ROOT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\t\t\\\nname##_RB_FIND(struct name *head,
      struct type *elm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RB_RIGHT
      Src: /src/libevent/compat/sys/tree.h:629,1
    - Dst: RB_RIGHT
      Src: /src/libevent/compat/sys/tree.h:630,1
    - Dst: RB_LEFT
      Src: /src/libevent/compat/sys/tree.h:631,1
    - Dst: RB_LEFT
      Src: /src/libevent/compat/sys/tree.h:632,1
    - Dst: RB_PARENT
      Src: /src/libevent/compat/sys/tree.h:634,1
    - Dst: RB_LEFT
      Src: /src/libevent/compat/sys/tree.h:635,1
    - Dst: RB_PARENT
      Src: /src/libevent/compat/sys/tree.h:635,1
    - Dst: RB_PARENT
      Src: /src/libevent/compat/sys/tree.h:636,1
    - Dst: RB_PARENT
      Src: /src/libevent/compat/sys/tree.h:638,1
    - Dst: RB_RIGHT
      Src: /src/libevent/compat/sys/tree.h:639,1
    - Dst: RB_PARENT
      Src: /src/libevent/compat/sys/tree.h:639,1
    - Dst: RB_PARENT
      Src: /src/libevent/compat/sys/tree.h:640,1
    - Dst: RB_PARENT
      Src: /src/libevent/compat/sys/tree.h:641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - elm
    argTypes:
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 645
    functionName: _RB_NEXT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached:
    - RB_RIGHT
    - RB_PARENT
    - RB_LEFT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\t\t\\\nname##_RB_NEXT(struct type *elm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RB_ROOT
      Src: /src/libevent/compat/sys/tree.h:650,1
    - Dst: RB_LEFT
      Src: /src/libevent/compat/sys/tree.h:655,1
    - Dst: RB_RIGHT
      Src: /src/libevent/compat/sys/tree.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - head
    - val
    argTypes:
    - struct name*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 660
    functionName: _RB_MINMAX
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached:
    - RB_RIGHT
    - RB_LEFT
    - RB_ROOT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\t\t\\\nname##_RB_MINMAX(struct name *head,
      int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 666
    functionName: RB_INSERT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_INSERT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 667
    functionName: RB_REMOVE
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_REMOVE(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: RB_FIND
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_FIND(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: RB_NEXT
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_NEXT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 670
    functionName: RB_MIN
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_MIN(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    functionName: RB_MAX
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_MAX(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: RB_FOREACH
    functionSourceFile: /src/libevent/compat/sys/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_FOREACH(x, name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: eq
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eq(double a, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/sample/watch-timing.c:83,1
    - Dst: calloc
      Src: /src/libevent/sample/watch-timing.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - max_bins
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: histogram_new
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 0
    functionsReached:
    - malloc
    - calloc
    linkageType: ''
    returnType: struct histogram
    signature: 'struct histogram *

      histogram_new(unsigned max_bins)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libevent/sample/watch-timing.c:97,1
    - Dst: free
      Src: /src/libevent/sample/watch-timing.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct histogram*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: histogram_free
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void histogram_free(struct histogram *h)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: eq
      Src: /src/libevent/sample/watch-timing.c:130,1
    - Dst: eq
      Src: /src/libevent/sample/watch-timing.c:147,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - h
    - observation
    argTypes:
    - struct histogram*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 185
    functionName: histogram_update
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 0
    functionsReached:
    - eq
    linkageType: ''
    returnType: void
    signature: void histogram_update(struct histogram *h, double observation)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eq
      Src: /src/libevent/sample/watch-timing.c:245,1
    - Dst: eq
      Src: /src/libevent/sample/watch-timing.c:247,1
    - Dst: sqrt
      Src: /src/libevent/sample/watch-timing.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - h
    - quantile
    argTypes:
    - struct histogram*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 254
    functionName: histogram_query
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 0
    functionsReached:
    - sqrt
    - eq
    linkageType: ''
    returnType: double
    signature: double histogram_query(const struct histogram *h, double quantile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/sample/watch-timing.c:286,1
    - Dst: evwatch_prepare_get_timeout
      Src: /src/libevent/sample/watch-timing.c:287,1
    - Dst: evutil_timersub
      Src: /src/libevent/sample/watch-timing.c:289,1
    - Dst: histogram_update
      Src: /src/libevent/sample/watch-timing.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - watcher
    - info
    - arg
    argTypes:
    - struct evwatch*
    - struct evwatch_prepare_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: on_prepare
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 0
    functionsReached:
    - evutil_timersub
    - evutil_gettimeofday
    - evwatch_prepare_get_timeout
    - histogram_update
    linkageType: ''
    returnType: void
    signature: void on_prepare(struct evwatch *watcher, const struct evwatch_prepare_cb_info
      *info, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/sample/watch-timing.c:297,1
    - Dst: evutil_timersub
      Src: /src/libevent/sample/watch-timing.c:298,1
    - Dst: evutil_timersub
      Src: /src/libevent/sample/watch-timing.c:299,1
    - Dst: histogram_update
      Src: /src/libevent/sample/watch-timing.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - watcher
    - info
    - arg
    argTypes:
    - struct evwatch*
    - struct evwatch_check_cb_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: on_check
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 0
    functionsReached:
    - evutil_timersub
    - evutil_gettimeofday
    - histogram_update
    linkageType: ''
    returnType: void
    signature: void on_check(struct evwatch *watcher, const struct evwatch_check_cb_info
      *info, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/watch-timing.c:307,1
    - Dst: histogram_query
      Src: /src/libevent/sample/watch-timing.c:308,1
    - Dst: histogram_query
      Src: /src/libevent/sample/watch-timing.c:309,1
    - Dst: histogram_query
      Src: /src/libevent/sample/watch-timing.c:310,1
    - Dst: histogram_query
      Src: /src/libevent/sample/watch-timing.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: on_timeout
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 10
    functionsReached:
    - histogram_query
    - printf
    linkageType: ''
    returnType: void
    signature: void on_timeout(evutil_socket_t fd, short events, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopbreak
      Src: /src/libevent/sample/watch-timing.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sig
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: on_sigint
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 0
    functionsReached:
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void on_sigint(evutil_socket_t sig, short events, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/sample/watch-timing.c:327,1
    - Dst: histogram_new
      Src: /src/libevent/sample/watch-timing.c:328,1
    - Dst: histogram_new
      Src: /src/libevent/sample/watch-timing.c:329,1
    - Dst: evwatch_prepare_new
      Src: /src/libevent/sample/watch-timing.c:333,1
    - Dst: evwatch_check_new
      Src: /src/libevent/sample/watch-timing.c:334,1
    - Dst: event_new
      Src: /src/libevent/sample/watch-timing.c:337,1
    - Dst: event_add
      Src: /src/libevent/sample/watch-timing.c:340,1
    - Dst: evsignal_new
      Src: /src/libevent/sample/watch-timing.c:343,1
    - Dst: event_add
      Src: /src/libevent/sample/watch-timing.c:346,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/watch-timing.c:349,1
    - Dst: event_free
      Src: /src/libevent/sample/watch-timing.c:352,1
    - Dst: event_free
      Src: /src/libevent/sample/watch-timing.c:353,1
    - Dst: event_base_free
      Src: /src/libevent/sample/watch-timing.c:354,1
    - Dst: histogram_free
      Src: /src/libevent/sample/watch-timing.c:355,1
    - Dst: histogram_free
      Src: /src/libevent/sample/watch-timing.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 321
    functionDepth: 6
    functionLinenumber: 321
    functionLinenumberEnd: 359
    functionName: main
    functionSourceFile: /src/libevent/sample/watch-timing.c
    functionUses: 2
    functionsReached:
    - evsignal_new
    - event_base_free
    - histogram_free
    - event_new
    - event_free
    - evwatch_prepare_new
    - evwatch_check_new
    - event_add
    - event_base_dispatch
    - histogram_new
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 27
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 1
    argNames:
    - in
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 111
    functionName: Curl_raw_toupper
    functionSourceFile: /src/libevent/sample/hostcheck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char Curl_raw_toupper(char in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/libevent/sample/hostcheck.c:126,1
    - Dst: Curl_raw_toupper
      Src: /src/libevent/sample/hostcheck.c:126,1
    - Dst: Curl_raw_toupper
      Src: /src/libevent/sample/hostcheck.c:135,1
    - Dst: Curl_raw_toupper
      Src: /src/libevent/sample/hostcheck.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: Curl_raw_equal
    functionSourceFile: /src/libevent/sample/hostcheck.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: int
    signature: int Curl_raw_equal(const char *first, const char *second)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_toupper
      Src: /src/libevent/sample/hostcheck.c:141,1
    - Dst: Curl_raw_toupper
      Src: /src/libevent/sample/hostcheck.c:141,1
    - Dst: Curl_raw_toupper
      Src: /src/libevent/sample/hostcheck.c:151,1
    - Dst: Curl_raw_toupper
      Src: /src/libevent/sample/hostcheck.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - first
    - second
    - max
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: Curl_raw_nequal
    functionSourceFile: /src/libevent/sample/hostcheck.c
    functionUses: 0
    functionsReached:
    - Curl_raw_toupper
    linkageType: ''
    returnType: int
    signature: int Curl_raw_nequal(const char *first, const char *second, size_t max)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libevent/sample/hostcheck.c:168,1
    - Dst: Curl_raw_equal
      Src: /src/libevent/sample/hostcheck.c:170,1
    - Dst: strchr
      Src: /src/libevent/sample/hostcheck.c:176,1
    - Dst: strchr
      Src: /src/libevent/sample/hostcheck.c:177,1
    - Dst: Curl_raw_nequal
      Src: /src/libevent/sample/hostcheck.c:179,1
    - Dst: Curl_raw_equal
      Src: /src/libevent/sample/hostcheck.c:183,1
    - Dst: strchr
      Src: /src/libevent/sample/hostcheck.c:186,1
    - Dst: Curl_raw_equal
      Src: /src/libevent/sample/hostcheck.c:188,1
    - Dst: Curl_raw_nequal
      Src: /src/libevent/sample/hostcheck.c:199,1
    - Dst: Curl_raw_nequal
      Src: /src/libevent/sample/hostcheck.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - hostname
    - pattern
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 203
    functionName: hostmatch
    functionSourceFile: /src/libevent/sample/hostcheck.c
    functionUses: 0
    functionsReached:
    - strchr
    - Curl_raw_equal
    - Curl_raw_nequal
    linkageType: ''
    returnType: int
    signature: int hostmatch(const char *hostname, const char *pattern)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Curl_raw_equal
      Src: /src/libevent/sample/hostcheck.c:211,1
    - Dst: hostmatch
      Src: /src/libevent/sample/hostcheck.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - match_pattern
    - hostname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: Curl_cert_hostcheck
    functionSourceFile: /src/libevent/sample/hostcheck.c
    functionUses: 0
    functionsReached:
    - Curl_raw_equal
    - hostmatch
    linkageType: ''
    returnType: int
    signature: int Curl_cert_hostcheck(const char *match_pattern, const char *hostname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libevent/sample/dns-example.c:49,1
    - Dst: evutil_snprintf
      Src: /src/libevent/sample/dns-example.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: debug_ntoa
    functionSourceFile: /src/libevent/sample/dns-example.c
    functionUses: 0
    functionsReached:
    - ntohl
    - evutil_snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      debug_ntoa(u32 address)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:65,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:70,1
    - Dst: debug_ntoa
      Src: /src/libevent/sample/dns-example.c:70,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:72,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:76,1
    - Dst: fflush
      Src: /src/libevent/sample/dns-example.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - result
    - type
    - count
    - ttl
    - addrs
    - orig
    argTypes:
    - int
    - char
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: main_callback
    functionSourceFile: /src/libevent/sample/dns-example.c
    functionUses: 0
    functionsReached:
    - fflush
    - debug_ntoa
    - printf
    linkageType: ''
    returnType: void
    signature: "void main_callback(int result, char type, int count, int ttl,\n\t\t\t
      \ void *addrs, void *orig)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:89,1
    - Dst: evutil_gai_strerror
      Src: /src/libevent/sample/dns-example.c:89,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:92,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/sample/dns-example.c:98,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:100,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/sample/dns-example.c:104,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:106,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/sample/dns-example.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - err
    - ai
    - arg
    argTypes:
    - int
    - struct evutil_addrinfo*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: gai_callback
    functionSourceFile: /src/libevent/sample/dns-example.c
    functionUses: 0
    functionsReached:
    - evutil_freeaddrinfo
    - evutil_gai_strerror
    - evutil_inet_ntop
    - printf
    linkageType: ''
    returnType: void
    signature: void gai_callback(int err, struct evutil_addrinfo *ai, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/libevent/sample/dns-example.c:122,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:125,1
    - Dst: evdns_server_request_add_a_reply
      Src: /src/libevent/sample/dns-example.c:126,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:129,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:132,1
    - Dst: evdns_server_request_add_ptr_reply
      Src: /src/libevent/sample/dns-example.c:133,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:136,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:138,1
    - Dst: evdns_server_request_respond
      Src: /src/libevent/sample/dns-example.c:143,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - req
    - data
    argTypes:
    - struct evdns_server_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 146
    functionName: evdns_server_callback
    functionSourceFile: /src/libevent/sample/dns-example.c
    functionUses: 0
    functionsReached:
    - evdns_server_request_respond
    - evdns_server_request_add_a_reply
    - evdns_server_request_add_ptr_reply
    - htonl
    - printf
    linkageType: ''
    returnType: void
    signature: void evdns_server_callback(struct evdns_server_request *req, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - is_warn
    - msg
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: logfn
    functionSourceFile: /src/libevent/sample/dns-example.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void logfn(int is_warn, const char *msg)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/sample/dns-example.c:171,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:174,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:175,1
    - Dst: getopt
      Src: /src/libevent/sample/dns-example.c:179,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:187,1
    - Dst: WSAStartup
      Src: /src/libevent/sample/dns-example.c:194,1
    - Dst: event_base_new
      Src: /src/libevent/sample/dns-example.c:198,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:200,1
    - Dst: evdns_base_new
      Src: /src/libevent/sample/dns-example.c:203,1
    - Dst: event_base_free
      Src: /src/libevent/sample/dns-example.c:205,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:206,1
    - Dst: evdns_set_log_fn
      Src: /src/libevent/sample/dns-example.c:210,1
    - Dst: socket
      Src: /src/libevent/sample/dns-example.c:215,1
    - Dst: perror
      Src: /src/libevent/sample/dns-example.c:217,1
    - Dst: exit
      Src: /src/libevent/sample/dns-example.c:218,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/sample/dns-example.c:220,1
    - Dst: htons
      Src: /src/libevent/sample/dns-example.c:222,1
    - Dst: bind
      Src: /src/libevent/sample/dns-example.c:224,1
    - Dst: perror
      Src: /src/libevent/sample/dns-example.c:225,1
    - Dst: exit
      Src: /src/libevent/sample/dns-example.c:226,1
    - Dst: evdns_add_server_port_with_base
      Src: /src/libevent/sample/dns-example.c:228,1
    - Dst: evdns_base_config_windows_nameservers
      Src: /src/libevent/sample/dns-example.c:234,1
    - Dst: evdns_base_nameserver_ip_add
      Src: /src/libevent/sample/dns-example.c:238,1
    - Dst: evdns_base_resolv_conf_parse
      Src: /src/libevent/sample/dns-example.c:240,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:244,1
    - Dst: printf
      Src: /src/libevent/sample/dns-example.c:249,1
    - Dst: evutil_inet_pton
      Src: /src/libevent/sample/dns-example.c:253,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:254,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:257,1
    - Dst: evdns_base_resolve_reverse
      Src: /src/libevent/sample/dns-example.c:258,1
    - Dst: memset
      Src: /src/libevent/sample/dns-example.c:261,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:265,1
    - Dst: evdns_getaddrinfo
      Src: /src/libevent/sample/dns-example.c:266,1
    - Dst: fprintf
      Src: /src/libevent/sample/dns-example.c:269,1
    - Dst: evdns_base_resolve_ipv4
      Src: /src/libevent/sample/dns-example.c:270,1
    - Dst: fflush
      Src: /src/libevent/sample/dns-example.c:273,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/dns-example.c:274,1
    - Dst: evdns_base_free
      Src: /src/libevent/sample/dns-example.c:275,1
    - Dst: event_base_free
      Src: /src/libevent/sample/dns-example.c:276,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 100
    argCount: 2
    argNames:
    - c
    - v
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 157
    functionDepth: 10
    functionLinenumber: 157
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/libevent/sample/dns-example.c
    functionUses: 2
    functionsReached:
    - evdns_base_config_windows_nameservers
    - evdns_base_resolve_ipv4
    - evdns_base_free
    - event_base_dispatch
    - evdns_base_new
    - evdns_set_log_fn
    - fflush
    - event_base_new
    - evdns_base_resolv_conf_parse
    - perror
    - event_base_free
    - evdns_base_nameserver_ip_add
    - evdns_add_server_port_with_base
    - bind
    - exit
    - memset
    - socket
    - evutil_inet_pton
    - WSAStartup
    - getopt
    - fprintf
    - evutil_make_socket_nonblocking
    - htons
    - evdns_base_resolve_reverse
    - evdns_getaddrinfo
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int c, char **v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: S_ISDIR
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libevent/sample/http-server.c:120,1
    - Dst: strchr
      Src: /src/libevent/sample/http-server.c:121,1
    - Dst: evutil_ascii_strcasecmp
      Src: /src/libevent/sample/http-server.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: guess_content_type
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strchr
    - evutil_ascii_strcasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      guess_content_type(const char *path)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_command
      Src: /src/libevent/sample/http-server.c:143,1
    - Dst: printf
      Src: /src/libevent/sample/http-server.c:156,1
    - Dst: evhttp_request_get_uri
      Src: /src/libevent/sample/http-server.c:157,1
    - Dst: evhttp_request_get_input_headers
      Src: /src/libevent/sample/http-server.c:159,1
    - Dst: printf
      Src: /src/libevent/sample/http-server.c:162,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/sample/http-server.c:165,1
    - Dst: puts
      Src: /src/libevent/sample/http-server.c:166,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/sample/http-server.c:167,1
    - Dst: evbuffer_remove
      Src: /src/libevent/sample/http-server.c:170,1
    - Dst: fwrite
      Src: /src/libevent/sample/http-server.c:172,1
    - Dst: puts
      Src: /src/libevent/sample/http-server.c:174,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/sample/http-server.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 177
    functionName: dump_request_cb
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 0
    functionsReached:
    - evbuffer_get_length
    - evhttp_request_get_input_headers
    - fwrite
    - evhttp_request_get_uri
    - puts
    - evbuffer_remove
    - evhttp_request_get_command
    - evhttp_send_reply
    - printf
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void dump_request_cb(struct evhttp_request *req, void *arg)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_request_get_uri
      Src: /src/libevent/sample/http-server.c:188,1
    - Dst: evhttp_request_get_command
      Src: /src/libevent/sample/http-server.c:197,1
    - Dst: dump_request_cb
      Src: /src/libevent/sample/http-server.c:198,1
    - Dst: printf
      Src: /src/libevent/sample/http-server.c:202,1
    - Dst: evhttp_uri_parse
      Src: /src/libevent/sample/http-server.c:205,1
    - Dst: printf
      Src: /src/libevent/sample/http-server.c:207,1
    - Dst: evhttp_send_error
      Src: /src/libevent/sample/http-server.c:208,1
    - Dst: evhttp_uri_get_path
      Src: /src/libevent/sample/http-server.c:213,1
    - Dst: evhttp_uridecode
      Src: /src/libevent/sample/http-server.c:217,1
    - Dst: strstr
      Src: /src/libevent/sample/http-server.c:224,1
    - Dst: strlen
      Src: /src/libevent/sample/http-server.c:227,1
    - Dst: strlen
      Src: /src/libevent/sample/http-server.c:227,1
    - Dst: malloc
      Src: /src/libevent/sample/http-server.c:228,1
    - Dst: perror
      Src: /src/libevent/sample/http-server.c:229,1
    - Dst: evutil_snprintf
      Src: /src/libevent/sample/http-server.c:232,1
    - Dst: stat
      Src: /src/libevent/sample/http-server.c:234,1
    - Dst: evbuffer_new
      Src: /src/libevent/sample/http-server.c:239,1
    - Dst: S_ISDIR
      Src: /src/libevent/sample/http-server.c:241,1
    - Dst: strlen
      Src: /src/libevent/sample/http-server.c:255,1
    - Dst: strlen
      Src: /src/libevent/sample/http-server.c:255,1
    - Dst: strlen
      Src: /src/libevent/sample/http-server.c:259,1
    - Dst: malloc
      Src: /src/libevent/sample/http-server.c:260,1
    - Dst: memcpy
      Src: /src/libevent/sample/http-server.c:263,1
    - Dst: FindFirstFileA
      Src: /src/libevent/sample/http-server.c:267,1
    - Dst: free
      Src: /src/libevent/sample/http-server.c:268,1
    - Dst: opendir
      Src: /src/libevent/sample/http-server.c:272,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/sample/http-server.c:276,1
    - Dst: readdir
      Src: /src/libevent/sample/http-server.c:294,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/sample/http-server.c:297,1
    - Dst: FindNextFileA
      Src: /src/libevent/sample/http-server.c:301,1
    - Dst: evbuffer_add_printf
      Src: /src/libevent/sample/http-server.c:305,1
    - Dst: FindClose
      Src: /src/libevent/sample/http-server.c:307,1
    - Dst: closedir
      Src: /src/libevent/sample/http-server.c:309,1
    - Dst: evhttp_add_header
      Src: /src/libevent/sample/http-server.c:311,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/sample/http-server.c:311,1
    - Dst: guess_content_type
      Src: /src/libevent/sample/http-server.c:316,1
    - Dst: open
      Src: /src/libevent/sample/http-server.c:317,1
    - Dst: perror
      Src: /src/libevent/sample/http-server.c:318,1
    - Dst: fstat
      Src: /src/libevent/sample/http-server.c:322,1
    - Dst: perror
      Src: /src/libevent/sample/http-server.c:325,1
    - Dst: evhttp_add_header
      Src: /src/libevent/sample/http-server.c:328,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/sample/http-server.c:328,1
    - Dst: evbuffer_add_file
      Src: /src/libevent/sample/http-server.c:330,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/sample/http-server.c:333,1
    - Dst: evhttp_send_error
      Src: /src/libevent/sample/http-server.c:336,1
    - Dst: close
      Src: /src/libevent/sample/http-server.c:338,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/sample/http-server.c:341,1
    - Dst: free
      Src: /src/libevent/sample/http-server.c:343,1
    - Dst: free
      Src: /src/libevent/sample/http-server.c:345,1
    - Dst: evbuffer_free
      Src: /src/libevent/sample/http-server.c:347,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 97
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 183
    functionDepth: 9
    functionLinenumber: 183
    functionLinenumberEnd: 348
    functionName: send_document_cb
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - stat
    - evbuffer_add_file
    - strstr
    - fstat
    - memcpy
    - evhttp_request_get_uri
    - strlen
    - evbuffer_add_printf
    - evhttp_request_get_output_headers
    - evhttp_uri_get_path
    - readdir
    - FindFirstFileA
    - S_ISDIR
    - malloc
    - guess_content_type
    - evhttp_request_get_command
    - perror
    - free
    - close
    - evbuffer_free
    - FindNextFileA
    - dump_request_cb
    - closedir
    - evhttp_send_error
    - evhttp_uridecode
    - evhttp_uri_free
    - FindClose
    - opendir
    - evbuffer_new
    - evhttp_uri_parse
    - open
    - evhttp_send_reply
    - printf
    - evutil_snprintf
    linkageType: ''
    returnType: void
    signature: void send_document_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:353,1
    - Dst: exit
      Src: /src/libevent/sample/http-server.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - prog
    - exit_code
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: print_usage
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_usage(FILE *out, const char *prog, int exit_code)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/sample/http-server.c:370,1
    - Dst: getopt
      Src: /src/libevent/sample/http-server.c:372,1
    - Dst: atoi
      Src: /src/libevent/sample/http-server.c:374,1
    - Dst: atoi
      Src: /src/libevent/sample/http-server.c:378,1
    - Dst: print_usage
      Src: /src/libevent/sample/http-server.c:381,1
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:382,1
    - Dst: print_usage
      Src: /src/libevent/sample/http-server.c:387,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 392
    functionName: parse_opts
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 0
    functionsReached:
    - memset
    - atoi
    - print_usage
    - getopt
    - fprintf
    linkageType: ''
    returnType: struct options
    signature: struct options parse_opts(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopbreak
      Src: /src/libevent/sample/http-server.c:398,1
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:399,1
    - Dst: evutil_strsignal
      Src: /src/libevent/sample/http-server.c:400,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/sample/http-server.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sig
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: do_term
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 0
    functionsReached:
    - EV_SOCK_ARG
    - evutil_strsignal
    - fprintf
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void do_term(evutil_socket_t sig, short events, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_bound_socket_get_fd
      Src: /src/libevent/sample/http-server.c:414,1
    - Dst: memset
      Src: /src/libevent/sample/http-server.c:415,1
    - Dst: getsockname
      Src: /src/libevent/sample/http-server.c:416,1
    - Dst: perror
      Src: /src/libevent/sample/http-server.c:417,1
    - Dst: ntohs
      Src: /src/libevent/sample/http-server.c:422,1
    - Dst: ntohs
      Src: /src/libevent/sample/http-server.c:425,1
    - Dst: printf
      Src: /src/libevent/sample/http-server.c:430,1
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - handle
    argTypes:
    - struct evhttp_bound_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 438
    functionName: display_listen_sock
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 0
    functionsReached:
    - perror
    - memset
    - getsockname
    - evhttp_bound_socket_get_fd
    - ntohs
    - fprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int display_listen_sock(struct evhttp_bound_socket *handle)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: parse_opts
      Src: /src/libevent/sample/http-server.c:463,1
    - Dst: MAKEWORD
      Src: /src/libevent/sample/http-server.c:470,1
    - Dst: WSAStartup
      Src: /src/libevent/sample/http-server.c:471,1
    - Dst: signal
      Src: /src/libevent/sample/http-server.c:474,1
    - Dst: setbuf
      Src: /src/libevent/sample/http-server.c:480,1
    - Dst: setbuf
      Src: /src/libevent/sample/http-server.c:481,1
    - Dst: getenv
      Src: /src/libevent/sample/http-server.c:484,1
    - Dst: event_enable_debug_logging
      Src: /src/libevent/sample/http-server.c:485,1
    - Dst: event_config_new
      Src: /src/libevent/sample/http-server.c:487,1
    - Dst: evthread_use_windows_threads
      Src: /src/libevent/sample/http-server.c:491,1
    - Dst: event_config_set_num_cpus_hint
      Src: /src/libevent/sample/http-server.c:492,1
    - Dst: event_config_set_flag
      Src: /src/libevent/sample/http-server.c:494,1
    - Dst: event_base_new_with_config
      Src: /src/libevent/sample/http-server.c:498,1
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:500,1
    - Dst: event_config_free
      Src: /src/libevent/sample/http-server.c:503,1
    - Dst: evhttp_new
      Src: /src/libevent/sample/http-server.c:507,1
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:509,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/sample/http-server.c:514,1
    - Dst: evhttp_set_gencb
      Src: /src/libevent/sample/http-server.c:518,1
    - Dst: evhttp_set_max_body_size
      Src: /src/libevent/sample/http-server.c:520,1
    - Dst: unlink
      Src: /src/libevent/sample/http-server.c:526,1
    - Dst: perror
      Src: /src/libevent/sample/http-server.c:527,1
    - Dst: strcpy
      Src: /src/libevent/sample/http-server.c:533,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/sample/http-server.c:535,1
    - Dst: perror
      Src: /src/libevent/sample/http-server.c:539,1
    - Dst: evhttp_bind_listener
      Src: /src/libevent/sample/http-server.c:544,1
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:546,1
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:551,1
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/sample/http-server.c:557,1
    - Dst: fprintf
      Src: /src/libevent/sample/http-server.c:559,1
    - Dst: display_listen_sock
      Src: /src/libevent/sample/http-server.c:565,1
    - Dst: evsignal_new
      Src: /src/libevent/sample/http-server.c:570,1
    - Dst: event_add
      Src: /src/libevent/sample/http-server.c:573,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/http-server.c:576,1
    - Dst: WSACleanup
      Src: /src/libevent/sample/http-server.c:579,1
    - Dst: event_config_free
      Src: /src/libevent/sample/http-server.c:584,1
    - Dst: evhttp_free
      Src: /src/libevent/sample/http-server.c:586,1
    - Dst: event_free
      Src: /src/libevent/sample/http-server.c:588,1
    - Dst: event_base_free
      Src: /src/libevent/sample/http-server.c:590,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 96
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 454
    functionDepth: 6
    functionLinenumber: 454
    functionLinenumberEnd: 593
    functionName: main
    functionSourceFile: /src/libevent/sample/http-server.c
    functionUses: 2
    functionsReached:
    - strcpy
    - evhttp_bind_socket_with_handle
    - evsignal_new
    - display_listen_sock
    - evhttp_set_gencb
    - event_free
    - parse_opts
    - evhttp_set_max_body_size
    - event_base_dispatch
    - MAKEWORD
    - getenv
    - signal
    - WSACleanup
    - evhttp_bind_listener
    - evthread_use_windows_threads
    - event_config_set_flag
    - event_enable_debug_logging
    - event_config_set_num_cpus_hint
    - evconnlistener_new_bind
    - perror
    - event_base_free
    - event_base_new_with_config
    - unlink
    - event_config_free
    - evhttp_set_cb
    - event_add
    - evhttp_new
    - evhttp_free
    - WSAStartup
    - fprintf
    - event_config_new
    - setbuf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: VERIFY
    functionSourceFile: /src/libevent/sample/http-connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERIFY(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:29,1
    - Dst: evhttp_uri_parse
      Src: /src/libevent/sample/http-connect.c:29,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:30,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/sample/http-connect.c:30,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:31,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/sample/http-connect.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: uri_parse
    functionSourceFile: /src/libevent/sample/http-connect.c
    functionUses: 3
    functionsReached:
    - evhttp_uri_get_host
    - evhttp_uri_parse
    - evhttp_uri_get_port
    - VERIFY
    linkageType: ''
    returnType: struct evhttp_uri
    signature: struct evhttp_uri * uri_parse(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:38,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/sample/http-connect.c:38,1
    - Dst: evhttp_uri_parse
      Src: /src/libevent/sample/http-connect.c:40,1
    - Dst: evhttp_uri_set_scheme
      Src: /src/libevent/sample/http-connect.c:41,1
    - Dst: evhttp_uri_set_userinfo
      Src: /src/libevent/sample/http-connect.c:42,1
    - Dst: evhttp_uri_set_host
      Src: /src/libevent/sample/http-connect.c:43,1
    - Dst: evhttp_uri_set_port
      Src: /src/libevent/sample/http-connect.c:44,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:45,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/sample/http-connect.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - uri
    - buffer
    argTypes:
    - struct evhttp_uri*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: uri_path
    functionSourceFile: /src/libevent/sample/http-connect.c
    functionUses: 0
    functionsReached:
    - evhttp_uri_set_port
    - evhttp_uri_set_host
    - evhttp_uri_set_scheme
    - evhttp_uri_set_userinfo
    - evhttp_uri_join
    - evhttp_uri_parse
    - VERIFY
    linkageType: ''
    returnType: char
    signature: char * uri_path(struct evhttp_uri *uri, char buffer[URL_MAX])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:50,1
    - Dst: evhttp_uri_join
      Src: /src/libevent/sample/http-connect.c:50,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:51,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/sample/http-connect.c:51,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:52,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/sample/http-connect.c:52,1
    - Dst: evutil_snprintf
      Src: /src/libevent/sample/http-connect.c:53,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/sample/http-connect.c:54,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/sample/http-connect.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - uri
    - buffer
    argTypes:
    - struct evhttp_uri*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: uri_hostport
    functionSourceFile: /src/libevent/sample/http-connect.c
    functionUses: 0
    functionsReached:
    - evhttp_uri_get_host
    - evhttp_uri_join
    - evhttp_uri_get_port
    - VERIFY
    - evutil_snprintf
    linkageType: ''
    returnType: char
    signature: char * uri_hostport(struct evhttp_uri *uri, char buffer[URL_MAX])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:63,1
    - Dst: evhttp_request_get_input_buffer
      Src: /src/libevent/sample/http-connect.c:65,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/sample/http-connect.c:66,1
    - Dst: fwrite
      Src: /src/libevent/sample/http-connect.c:67,1
    - Dst: evbuffer_pullup
      Src: /src/libevent/sample/http-connect.c:67,1
    - Dst: evbuffer_drain
      Src: /src/libevent/sample/http-connect.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: get_cb
    functionSourceFile: /src/libevent/sample/http-connect.c
    functionUses: 0
    functionsReached:
    - evbuffer_drain
    - evbuffer_get_length
    - evbuffer_pullup
    - fwrite
    - VERIFY
    - evhttp_request_get_input_buffer
    linkageType: ''
    returnType: void
    signature: void get_cb(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:79,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:80,1
    - Dst: evhttp_request_new
      Src: /src/libevent/sample/http-connect.c:82,1
    - Dst: evhttp_add_header
      Src: /src/libevent/sample/http-connect.c:83,1
    - Dst: evhttp_add_header
      Src: /src/libevent/sample/http-connect.c:84,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/sample/http-connect.c:84,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:85,1
    - Dst: evhttp_make_request
      Src: /src/libevent/sample/http-connect.c:85,1
    - Dst: uri_path
      Src: /src/libevent/sample/http-connect.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - proxy_req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: connect_cb
    functionSourceFile: /src/libevent/sample/http-connect.c
    functionUses: 0
    functionsReached:
    - evhttp_add_header
    - evhttp_uri_get_host
    - evhttp_make_request
    - evhttp_request_new
    - uri_path
    - VERIFY
    linkageType: ''
    returnType: void
    signature: void connect_cb(struct evhttp_request *proxy_req, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/http-connect.c:103,1
    - Dst: uri_parse
      Src: /src/libevent/sample/http-connect.c:107,1
    - Dst: uri_parse
      Src: /src/libevent/sample/http-connect.c:108,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:110,1
    - Dst: event_base_new
      Src: /src/libevent/sample/http-connect.c:110,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:111,1
    - Dst: evhttp_connection_base_new
      Src: /src/libevent/sample/http-connect.c:111,1
    - Dst: evhttp_uri_get_host
      Src: /src/libevent/sample/http-connect.c:112,1
    - Dst: evhttp_uri_get_port
      Src: /src/libevent/sample/http-connect.c:112,1
    - Dst: VERIFY
      Src: /src/libevent/sample/http-connect.c:115,1
    - Dst: evhttp_request_new
      Src: /src/libevent/sample/http-connect.c:115,1
    - Dst: uri_hostport
      Src: /src/libevent/sample/http-connect.c:117,1
    - Dst: evhttp_add_header
      Src: /src/libevent/sample/http-connect.c:118,1
    - Dst: evhttp_add_header
      Src: /src/libevent/sample/http-connect.c:119,1
    - Dst: evhttp_make_request
      Src: /src/libevent/sample/http-connect.c:120,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/http-connect.c:122,1
    - Dst: evhttp_connection_free
      Src: /src/libevent/sample/http-connect.c:124,1
    - Dst: event_base_free
      Src: /src/libevent/sample/http-connect.c:125,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/sample/http-connect.c:126,1
    - Dst: evhttp_uri_free
      Src: /src/libevent/sample/http-connect.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 89
    functionDepth: 7
    functionLinenumber: 89
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/libevent/sample/http-connect.c
    functionUses: 2
    functionsReached:
    - evhttp_add_header
    - event_base_free
    - evhttp_connection_free
    - evhttp_uri_get_host
    - printf
    - uri_hostport
    - evhttp_uri_free
    - uri_parse
    - evhttp_make_request
    - evhttp_request_new
    - event_base_dispatch
    - evhttp_connection_base_new
    - evhttp_uri_get_port
    - event_base_new
    - VERIFY
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/sample/event-read-fifo.c:43,1
    - Dst: ReadFile
      Src: /src/libevent/sample/event-read-fifo.c:46,1
    - Dst: fprintf
      Src: /src/libevent/sample/event-read-fifo.c:50,1
    - Dst: event_del
      Src: /src/libevent/sample/event-read-fifo.c:51,1
    - Dst: read
      Src: /src/libevent/sample/event-read-fifo.c:57,1
    - Dst: perror
      Src: /src/libevent/sample/event-read-fifo.c:61,1
    - Dst: fprintf
      Src: /src/libevent/sample/event-read-fifo.c:63,1
    - Dst: event_del
      Src: /src/libevent/sample/event-read-fifo.c:64,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/sample/event-read-fifo.c:65,1
    - Dst: event_get_base
      Src: /src/libevent/sample/event-read-fifo.c:65,1
    - Dst: fprintf
      Src: /src/libevent/sample/event-read-fifo.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: fifo_read
    functionSourceFile: /src/libevent/sample/event-read-fifo.c
    functionUses: 0
    functionsReached:
    - perror
    - event_del
    - read
    - event_get_base
    - fprintf
    - event_base_loopbreak
    - ReadFile
    linkageType: ''
    returnType: void
    signature: void fifo_read(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopbreak
      Src: /src/libevent/sample/event-read-fifo.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: signal_cb
    functionSourceFile: /src/libevent/sample/event-read-fifo.c
    functionUses: 0
    functionsReached:
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void signal_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileA
      Src: /src/libevent/sample/event-read-fifo.c:92,1
    - Dst: lstat
      Src: /src/libevent/sample/event-read-fifo.c:109,1
    - Dst: perror
      Src: /src/libevent/sample/event-read-fifo.c:112,1
    - Dst: exit
      Src: /src/libevent/sample/event-read-fifo.c:113,1
    - Dst: unlink
      Src: /src/libevent/sample/event-read-fifo.c:117,1
    - Dst: mkfifo
      Src: /src/libevent/sample/event-read-fifo.c:118,1
    - Dst: perror
      Src: /src/libevent/sample/event-read-fifo.c:119,1
    - Dst: exit
      Src: /src/libevent/sample/event-read-fifo.c:120,1
    - Dst: open
      Src: /src/libevent/sample/event-read-fifo.c:123,1
    - Dst: perror
      Src: /src/libevent/sample/event-read-fifo.c:126,1
    - Dst: exit
      Src: /src/libevent/sample/event-read-fifo.c:127,1
    - Dst: fprintf
      Src: /src/libevent/sample/event-read-fifo.c:130,1
    - Dst: event_base_new
      Src: /src/libevent/sample/event-read-fifo.c:133,1
    - Dst: event_new
      Src: /src/libevent/sample/event-read-fifo.c:137,1
    - Dst: event_self_cbarg
      Src: /src/libevent/sample/event-read-fifo.c:138,1
    - Dst: evsignal_new
      Src: /src/libevent/sample/event-read-fifo.c:141,1
    - Dst: perror
      Src: /src/libevent/sample/event-read-fifo.c:143,1
    - Dst: event_add
      Src: /src/libevent/sample/event-read-fifo.c:146,1
    - Dst: event_new
      Src: /src/libevent/sample/event-read-fifo.c:148,1
    - Dst: event_self_cbarg
      Src: /src/libevent/sample/event-read-fifo.c:149,1
    - Dst: perror
      Src: /src/libevent/sample/event-read-fifo.c:152,1
    - Dst: event_add
      Src: /src/libevent/sample/event-read-fifo.c:157,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/event-read-fifo.c:159,1
    - Dst: event_free
      Src: /src/libevent/sample/event-read-fifo.c:162,1
    - Dst: event_free
      Src: /src/libevent/sample/event-read-fifo.c:164,1
    - Dst: event_base_free
      Src: /src/libevent/sample/event-read-fifo.c:165,1
    - Dst: CloseHandle
      Src: /src/libevent/sample/event-read-fifo.c:167,1
    - Dst: close
      Src: /src/libevent/sample/event-read-fifo.c:169,1
    - Dst: unlink
      Src: /src/libevent/sample/event-read-fifo.c:170,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/sample/event-read-fifo.c:172,1
    - Dst: event_free
      Src: /src/libevent/sample/event-read-fifo.c:178,1
    - Dst: event_free
      Src: /src/libevent/sample/event-read-fifo.c:181,1
    - Dst: event_base_free
      Src: /src/libevent/sample/event-read-fifo.c:182,1
    - Dst: CloseHandle
      Src: /src/libevent/sample/event-read-fifo.c:184,1
    - Dst: close
      Src: /src/libevent/sample/event-read-fifo.c:186,1
    - Dst: unlink
      Src: /src/libevent/sample/event-read-fifo.c:187,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/sample/event-read-fifo.c:189,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 191
    functionName: main
    functionSourceFile: /src/libevent/sample/event-read-fifo.c
    functionUses: 2
    functionsReached:
    - evsignal_new
    - CreateFileA
    - mkfifo
    - event_self_cbarg
    - event_free
    - event_base_dispatch
    - event_base_new
    - event_new
    - perror
    - event_base_free
    - CloseHandle
    - close
    - unlink
    - event_add
    - libevent_global_shutdown
    - exit
    - lstat
    - fprintf
    - open
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:114,1
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:115,1
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:116,1
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: syntax
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: void syntax(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libevent/sample/https-client.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: err
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 12
    functionsReached:
    - fputs
    linkageType: ''
    returnType: void
    signature: void err(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_strerror
      Src: /src/libevent/sample/https-client.c:131,1
    - Dst: fprintf
      Src: /src/libevent/sample/https-client.c:132,1
    - Dst: exit
      Src: /src/libevent/sample/https-client.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - func
    - err
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: err_mbedtls
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - mbedtls_strerror
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void err_mbedtls(const char* func, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - userdata
    - crt
    - depth
    - flags
    argTypes:
    - void*
    - mbedtls_x509_crt*
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: cert_verify_callback
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cert_verify_callback(void *userdata, mbedtls_x509_crt *crt,\n\t\t\t\t\t\t\t\tint
      depth, uint32_t *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/sample/https-client.c:147,1
    - Dst: ERR_print_errors_fp
      Src: /src/libevent/sample/https-client.c:151,1
    - Dst: exit
      Src: /src/libevent/sample/https-client.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - func
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: err_openssl
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - ERR_print_errors_fp
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void err_openssl(const char *func)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_verify_cert
      Src: /src/libevent/sample/https-client.c:175,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/libevent/sample/https-client.c:177,1
    - Dst: validate_hostname
      Src: /src/libevent/sample/https-client.c:180,1
    - Dst: X509_NAME_oneline
      Src: /src/libevent/sample/https-client.c:204,1
    - Dst: X509_get_subject_name
      Src: /src/libevent/sample/https-client.c:204,1
    - Dst: printf
      Src: /src/libevent/sample/https-client.c:208,1
    - Dst: printf
      Src: /src/libevent/sample/https-client.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - x509_ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 217
    functionName: cert_verify_callback
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - X509_verify_cert
    - printf
    - X509_get_subject_name
    - X509_STORE_CTX_get_current_cert
    - X509_NAME_oneline
    - validate_hostname
    linkageType: ''
    returnType: int
    signature: int cert_verify_callback(X509_STORE_CTX *x509_ctx, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenSystemStore
      Src: /src/libevent/sample/https-client.c:228,1
    - Dst: err
      Src: /src/libevent/sample/https-client.c:230,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/libevent/sample/https-client.c:233,1
    - Dst: d2i_X509
      Src: /src/libevent/sample/https-client.c:234,1
    - Dst: X509_STORE_add_cert
      Src: /src/libevent/sample/https-client.c:237,1
    - Dst: X509_free
      Src: /src/libevent/sample/https-client.c:238,1
    - Dst: err_openssl
      Src: /src/libevent/sample/https-client.c:241,1
    - Dst: CertCloseStore
      Src: /src/libevent/sample/https-client.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - store
    - name
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 247
    functionName: add_cert_for_store
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_cert
    - X509_free
    - CertOpenSystemStore
    - err_openssl
    - err
    - CertCloseStore
    - CertEnumCertificatesInStore
    - d2i_X509
    linkageType: ''
    returnType: int
    signature: int add_cert_for_store(X509_STORE *store, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libevent/sample/https-client.c:253,1
    - Dst: strncpy
      Src: /src/libevent/sample/https-client.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - chars
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: strndup
    functionSourceFile: /src/libevent/sample/https-client.c
    functionUses: 0
    functionsReached:
    - strncpy
    - malloc
    linkageType: ''
    returnType: char
    signature: char * strndup(const char* src, size_t chars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:89,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - level
    - file
    - line
    - str
    argTypes:
    - void*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: my_debug
    functionSourceFile: /src/libevent/sample/ssl-client-mbedtls.c
    functionUses: 0
    functionsReached:
    - fflush
    - mbedtls_fprintf
    linkageType: ''
    returnType: void
    signature: void my_debug(void *ctx, int level, const char *file, int line, const
      char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: writecb
    functionSourceFile: /src/libevent/sample/ssl-client-mbedtls.c
    functionUses: 4
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void writecb(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_read
      Src: /src/libevent/sample/ssl-client-mbedtls.c:106,1
    - Dst: fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:107,1
    - Dst: fwrite
      Src: /src/libevent/sample/ssl-client-mbedtls.c:109,1
    - Dst: fwrite
      Src: /src/libevent/sample/ssl-client-mbedtls.c:110,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:111,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/sample/ssl-client-mbedtls.c:113,1
    - Dst: bufferevent_get_base
      Src: /src/libevent/sample/ssl-client-mbedtls.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: readcb
    functionSourceFile: /src/libevent/sample/ssl-client-mbedtls.c
    functionUses: 3
    functionsReached:
    - fflush
    - fwrite
    - bufferevent_get_base
    - fprintf
    - event_base_loopbreak
    - bufferevent_read
    linkageType: ''
    returnType: void
    signature: void readcb(struct bufferevent *bev, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:122,1
    - Dst: bufferevent_write
      Src: /src/libevent/sample/ssl-client-mbedtls.c:129,1
    - Dst: fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:132,1
    - Dst: fprintf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:134,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 8
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: eventcb
    functionSourceFile: /src/libevent/sample/ssl-client-mbedtls.c
    functionUses: 6
    functionsReached:
    - bufferevent_free
    - fprintf
    - bufferevent_write
    linkageType: ''
    returnType: void
    signature: void eventcb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/sample/ssl-client-mbedtls.c:163,1
    - Dst: WSAStartup
      Src: /src/libevent/sample/ssl-client-mbedtls.c:165,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:167,1
    - Dst: mbedtls_debug_set_threshold
      Src: /src/libevent/sample/ssl-client-mbedtls.c:173,1
    - Dst: mbedtls_net_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:179,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:180,1
    - Dst: mbedtls_x509_crt_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:181,1
    - Dst: mbedtls_ctr_drbg_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:182,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:184,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:185,1
    - Dst: mbedtls_entropy_init
      Src: /src/libevent/sample/ssl-client-mbedtls.c:187,1
    - Dst: mbedtls_ctr_drbg_seed
      Src: /src/libevent/sample/ssl-client-mbedtls.c:188,1
    - Dst: strlen
      Src: /src/libevent/sample/ssl-client-mbedtls.c:189,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:190,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:194,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:199,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:200,1
    - Dst: mbedtls_x509_crt_parse
      Src: /src/libevent/sample/ssl-client-mbedtls.c:202,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:205,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:210,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:215,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:216,1
    - Dst: mbedtls_net_connect
      Src: /src/libevent/sample/ssl-client-mbedtls.c:218,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:220,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:224,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:229,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:230,1
    - Dst: mbedtls_ssl_config_defaults
      Src: /src/libevent/sample/ssl-client-mbedtls.c:232,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:234,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:239,1
    - Dst: mbedtls_ssl_conf_authmode
      Src: /src/libevent/sample/ssl-client-mbedtls.c:243,1
    - Dst: mbedtls_ssl_conf_ca_chain
      Src: /src/libevent/sample/ssl-client-mbedtls.c:244,1
    - Dst: mbedtls_ssl_conf_rng
      Src: /src/libevent/sample/ssl-client-mbedtls.c:245,1
    - Dst: mbedtls_ssl_conf_dbg
      Src: /src/libevent/sample/ssl-client-mbedtls.c:246,1
    - Dst: bufferevent_mbedtls_dyncontext_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:248,1
    - Dst: mbedtls_ssl_set_hostname
      Src: /src/libevent/sample/ssl-client-mbedtls.c:250,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:251,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:255,1
    - Dst: event_enable_debug_mode
      Src: /src/libevent/sample/ssl-client-mbedtls.c:257,1
    - Dst: event_base_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:258,1
    - Dst: evdns_base_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:259,1
    - Dst: evdns_base_set_option
      Src: /src/libevent/sample/ssl-client-mbedtls.c:260,1
    - Dst: evutil_make_socket_nonblocking
      Src: /src/libevent/sample/ssl-client-mbedtls.c:262,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:264,1
    - Dst: bufferevent_mbedtls_filter_new
      Src: /src/libevent/sample/ssl-client-mbedtls.c:265,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/ssl-client-mbedtls.c:268,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/ssl-client-mbedtls.c:270,1
    - Dst: event_base_loop
      Src: /src/libevent/sample/ssl-client-mbedtls.c:273,1
    - Dst: event_base_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:274,1
    - Dst: mbedtls_strerror
      Src: /src/libevent/sample/ssl-client-mbedtls.c:282,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:283,1
    - Dst: mbedtls_net_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:287,1
    - Dst: mbedtls_x509_crt_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:289,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:290,1
    - Dst: mbedtls_ctr_drbg_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:291,1
    - Dst: mbedtls_entropy_free
      Src: /src/libevent/sample/ssl-client-mbedtls.c:292,1
    - Dst: mbedtls_printf
      Src: /src/libevent/sample/ssl-client-mbedtls.c:295,1
    - Dst: fflush
      Src: /src/libevent/sample/ssl-client-mbedtls.c:296,1
    - Dst: getchar
      Src: /src/libevent/sample/ssl-client-mbedtls.c:297,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 140
    functionDepth: 9
    functionLinenumber: 140
    functionLinenumberEnd: 301
    functionName: main
    functionSourceFile: /src/libevent/sample/ssl-client-mbedtls.c
    functionUses: 2
    functionsReached:
    - mbedtls_ssl_conf_rng
    - mbedtls_ctr_drbg_free
    - mbedtls_debug_set_threshold
    - evdns_base_set_option
    - mbedtls_x509_crt_parse
    - bufferevent_setcb
    - mbedtls_ssl_conf_dbg
    - evdns_base_new
    - fflush
    - MAKEWORD
    - strlen
    - getchar
    - event_base_new
    - mbedtls_x509_crt_init
    - mbedtls_printf
    - bufferevent_enable
    - event_base_loop
    - mbedtls_x509_crt_free
    - mbedtls_net_connect
    - mbedtls_ssl_conf_authmode
    - mbedtls_strerror
    - bufferevent_mbedtls_filter_new
    - mbedtls_entropy_free
    - mbedtls_ssl_config_defaults
    - mbedtls_entropy_init
    - event_base_free
    - mbedtls_net_init
    - mbedtls_ssl_conf_ca_chain
    - bufferevent_mbedtls_dyncontext_new
    - bufferevent_socket_new
    - mbedtls_ssl_set_hostname
    - mbedtls_ssl_config_init
    - event_enable_debug_mode
    - mbedtls_net_free
    - mbedtls_ctr_drbg_seed
    - WSAStartup
    - evutil_make_socket_nonblocking
    - mbedtls_ssl_config_free
    - mbedtls_ctr_drbg_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/sample/le-proxy.c:59,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/sample/le-proxy.c:60,1
    - Dst: evbuffer_drain
      Src: /src/libevent/sample/le-proxy.c:62,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/sample/le-proxy.c:65,1
    - Dst: evbuffer_add_buffer
      Src: /src/libevent/sample/le-proxy.c:66,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/sample/le-proxy.c:68,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/le-proxy.c:72,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/sample/le-proxy.c:74,1
    - Dst: bufferevent_disable
      Src: /src/libevent/sample/le-proxy.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 6
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: readcb
    functionSourceFile: /src/libevent/sample/le-proxy.c
    functionUses: 3
    functionsReached:
    - bufferevent_get_input
    - evbuffer_drain
    - bufferevent_disable
    - evbuffer_get_length
    - evbuffer_add_buffer
    - bufferevent_setcb
    - bufferevent_get_output
    - bufferevent_setwatermark
    linkageType: ''
    returnType: void
    signature: void readcb(struct bufferevent *bev, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/le-proxy.c:87,1
    - Dst: bufferevent_setwatermark
      Src: /src/libevent/sample/le-proxy.c:88,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/le-proxy.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: drained_writecb
    functionSourceFile: /src/libevent/sample/le-proxy.c
    functionUses: 0
    functionsReached:
    - bufferevent_setcb
    - bufferevent_enable
    - bufferevent_setwatermark
    linkageType: ''
    returnType: void
    signature: void drained_writecb(struct bufferevent *bev, void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/sample/le-proxy.c:96,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/sample/le-proxy.c:98,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/le-proxy.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bev
    - ctx
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: close_on_finished_writecb
    functionSourceFile: /src/libevent/sample/le-proxy.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - bufferevent_free
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void close_on_finished_writecb(struct bufferevent *bev, void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_openssl_error
      Src: /src/libevent/sample/le-proxy.c:111,1
    - Dst: ERR_reason_error_string
      Src: /src/libevent/sample/le-proxy.c:113,1
    - Dst: ERR_lib_error_string
      Src: /src/libevent/sample/le-proxy.c:115,1
    - Dst: fprintf
      Src: /src/libevent/sample/le-proxy.c:117,1
    - Dst: ERR_func_error_string
      Src: /src/libevent/sample/le-proxy.c:121,1
    - Dst: fprintf
      Src: /src/libevent/sample/le-proxy.c:122,1
    - Dst: perror
      Src: /src/libevent/sample/le-proxy.c:127,1
    - Dst: readcb
      Src: /src/libevent/sample/le-proxy.c:132,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/sample/le-proxy.c:134,1
    - Dst: bufferevent_get_output
      Src: /src/libevent/sample/le-proxy.c:135,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/le-proxy.c:139,1
    - Dst: bufferevent_disable
      Src: /src/libevent/sample/le-proxy.c:142,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/le-proxy.c:146,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/le-proxy.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - bev
    - what
    - ctx
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 151
    functionName: eventcb
    functionSourceFile: /src/libevent/sample/le-proxy.c
    functionUses: 6
    functionsReached:
    - ERR_func_error_string
    - perror
    - bufferevent_free
    - bufferevent_disable
    - evbuffer_get_length
    - ERR_reason_error_string
    - bufferevent_setcb
    - bufferevent_get_openssl_error
    - bufferevent_get_output
    - fprintf
    - ERR_lib_error_string
    - readcb
    linkageType: ''
    returnType: void
    signature: void eventcb(struct bufferevent *bev, short what, void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libevent/sample/le-proxy.c:156,1
    - Dst: fputs
      Src: /src/libevent/sample/le-proxy.c:157,1
    - Dst: fputs
      Src: /src/libevent/sample/le-proxy.c:158,1
    - Dst: fputs
      Src: /src/libevent/sample/le-proxy.c:159,1
    - Dst: exit
      Src: /src/libevent/sample/le-proxy.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: syntax
    functionSourceFile: /src/libevent/sample/le-proxy.c
    functionUses: 0
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void syntax(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/sample/le-proxy.c:171,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/sample/le-proxy.c:175,1
    - Dst: SSL_new
      Src: /src/libevent/sample/le-proxy.c:178,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/sample/le-proxy.c:179,1
    - Dst: assert
      Src: /src/libevent/sample/le-proxy.c:184,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/sample/le-proxy.c:186,1
    - Dst: perror
      Src: /src/libevent/sample/le-proxy.c:188,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/le-proxy.c:189,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/le-proxy.c:190,1
    - Dst: SSL_new
      Src: /src/libevent/sample/le-proxy.c:196,1
    - Dst: bufferevent_openssl_filter_new
      Src: /src/libevent/sample/le-proxy.c:197,1
    - Dst: perror
      Src: /src/libevent/sample/le-proxy.c:201,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/le-proxy.c:202,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/le-proxy.c:203,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/le-proxy.c:209,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/le-proxy.c:210,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/le-proxy.c:212,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/le-proxy.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - listener
    - fd
    - a
    - slen
    - p
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts:
    - condition: (b_in && b_out)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/libevent/sample/le-proxy.c
    constantsTouched: []
    func_position:
      end: 214
      start: 164
    functionDepth: 6
    functionLinenumber: 164
    functionLinenumberEnd: 214
    functionName: accept_cb
    functionSourceFile: /src/libevent/sample/le-proxy.c
    functionUses: 0
    functionsReached:
    - perror
    - bufferevent_free
    - bufferevent_enable
    - bufferevent_socket_connect
    - bufferevent_openssl_filter_new
    - bufferevent_setcb
    - SSL_new
    - bufferevent_openssl_socket_new
    - bufferevent_socket_new
    - assert
    linkageType: ''
    returnType: void
    signature: "void accept_cb(struct evconnlistener *listener, evutil_socket_t fd,\n
      \   struct sockaddr *a, int slen, void *p)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/sample/le-proxy.c:229,1
    - Dst: WSAStartup
      Src: /src/libevent/sample/le-proxy.c:230,1
    - Dst: signal
      Src: /src/libevent/sample/le-proxy.c:233,1
    - Dst: perror
      Src: /src/libevent/sample/le-proxy.c:234,1
    - Dst: syntax
      Src: /src/libevent/sample/le-proxy.c:240,1
    - Dst: strcmp
      Src: /src/libevent/sample/le-proxy.c:243,1
    - Dst: strcmp
      Src: /src/libevent/sample/le-proxy.c:245,1
    - Dst: syntax
      Src: /src/libevent/sample/le-proxy.c:248,1
    - Dst: syntax
      Src: /src/libevent/sample/le-proxy.c:254,1
    - Dst: memset
      Src: /src/libevent/sample/le-proxy.c:256,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/sample/le-proxy.c:258,1
    - Dst: atoi
      Src: /src/libevent/sample/le-proxy.c:260,1
    - Dst: syntax
      Src: /src/libevent/sample/le-proxy.c:263,1
    - Dst: htons
      Src: /src/libevent/sample/le-proxy.c:264,1
    - Dst: htonl
      Src: /src/libevent/sample/le-proxy.c:265,1
    - Dst: memset
      Src: /src/libevent/sample/le-proxy.c:270,1
    - Dst: evutil_parse_sockaddr_port
      Src: /src/libevent/sample/le-proxy.c:272,1
    - Dst: syntax
      Src: /src/libevent/sample/le-proxy.c:274,1
    - Dst: event_base_new
      Src: /src/libevent/sample/le-proxy.c:276,1
    - Dst: perror
      Src: /src/libevent/sample/le-proxy.c:278,1
    - Dst: SSL_library_init
      Src: /src/libevent/sample/le-proxy.c:286,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libevent/sample/le-proxy.c:287,1
    - Dst: SSL_load_error_strings
      Src: /src/libevent/sample/le-proxy.c:288,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libevent/sample/le-proxy.c:289,1
    - Dst: RAND_poll
      Src: /src/libevent/sample/le-proxy.c:291,1
    - Dst: fprintf
      Src: /src/libevent/sample/le-proxy.c:293,1
    - Dst: SSL_CTX_new
      Src: /src/libevent/sample/le-proxy.c:296,1
    - Dst: TLS_method
      Src: /src/libevent/sample/le-proxy.c:296,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/sample/le-proxy.c:299,1
    - Dst: fprintf
      Src: /src/libevent/sample/le-proxy.c:304,1
    - Dst: event_base_free
      Src: /src/libevent/sample/le-proxy.c:305,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/le-proxy.c:308,1
    - Dst: evconnlistener_free
      Src: /src/libevent/sample/le-proxy.c:310,1
    - Dst: event_base_free
      Src: /src/libevent/sample/le-proxy.c:311,1
    - Dst: WSACleanup
      Src: /src/libevent/sample/le-proxy.c:314,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 318
    functionName: main
    functionSourceFile: /src/libevent/sample/le-proxy.c
    functionUses: 2
    functionsReached:
    - atoi
    - syntax
    - SSL_CTX_new
    - event_base_dispatch
    - evutil_parse_sockaddr_port
    - strcmp
    - MAKEWORD
    - event_base_new
    - signal
    - WSACleanup
    - RAND_poll
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - evconnlistener_new_bind
    - perror
    - SSL_load_error_strings
    - event_base_free
    - TLS_method
    - SSL_library_init
    - htonl
    - memset
    - evconnlistener_free
    - WSAStartup
    - htons
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/signal-test.c:36,1
    - Dst: event_get_signal
      Src: /src/libevent/sample/signal-test.c:36,1
    - Dst: event_del
      Src: /src/libevent/sample/signal-test.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: signal_cb
    functionSourceFile: /src/libevent/sample/signal-test.c
    functionUses: 0
    functionsReached:
    - event_del
    - printf
    - event_get_signal
    linkageType: ''
    returnType: void
    signature: void signal_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/sample/signal-test.c:54,1
    - Dst: WSAStartup
      Src: /src/libevent/sample/signal-test.c:56,1
    - Dst: event_base_new
      Src: /src/libevent/sample/signal-test.c:60,1
    - Dst: evsignal_new
      Src: /src/libevent/sample/signal-test.c:67,1
    - Dst: event_self_cbarg
      Src: /src/libevent/sample/signal-test.c:67,1
    - Dst: event_add
      Src: /src/libevent/sample/signal-test.c:72,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/signal-test.c:74,1
    - Dst: event_free
      Src: /src/libevent/sample/signal-test.c:78,1
    - Dst: event_base_free
      Src: /src/libevent/sample/signal-test.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/libevent/sample/signal-test.c
    functionUses: 2
    functionsReached:
    - evsignal_new
    - event_base_free
    - event_self_cbarg
    - WSAStartup
    - event_free
    - event_add
    - event_base_dispatch
    - MAKEWORD
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libevent/sample/hello-world.c:48,1
    - Dst: event_base_new
      Src: /src/libevent/sample/hello-world.c:51,1
    - Dst: fprintf
      Src: /src/libevent/sample/hello-world.c:53,1
    - Dst: htons
      Src: /src/libevent/sample/hello-world.c:58,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/sample/hello-world.c:60,1
    - Dst: fprintf
      Src: /src/libevent/sample/hello-world.c:66,1
    - Dst: evsignal_new
      Src: /src/libevent/sample/hello-world.c:70,1
    - Dst: event_add
      Src: /src/libevent/sample/hello-world.c:72,1
    - Dst: fprintf
      Src: /src/libevent/sample/hello-world.c:73,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/hello-world.c:77,1
    - Dst: evconnlistener_free
      Src: /src/libevent/sample/hello-world.c:79,1
    - Dst: event_free
      Src: /src/libevent/sample/hello-world.c:80,1
    - Dst: event_base_free
      Src: /src/libevent/sample/hello-world.c:81,1
    - Dst: printf
      Src: /src/libevent/sample/hello-world.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/libevent/sample/hello-world.c
    functionUses: 2
    functionsReached:
    - evsignal_new
    - event_base_free
    - evconnlistener_free
    - printf
    - WSAStartup
    - event_free
    - event_add
    - event_base_dispatch
    - htons
    - fprintf
    - evconnlistener_new_bind
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_socket_new
      Src: /src/libevent/sample/hello-world.c:94,1
    - Dst: fprintf
      Src: /src/libevent/sample/hello-world.c:96,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/sample/hello-world.c:97,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/hello-world.c:100,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/hello-world.c:101,1
    - Dst: bufferevent_disable
      Src: /src/libevent/sample/hello-world.c:102,1
    - Dst: bufferevent_write
      Src: /src/libevent/sample/hello-world.c:104,1
    - Dst: strlen
      Src: /src/libevent/sample/hello-world.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - listener
    - fd
    - sa
    - socklen
    - user_data
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 8
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: listener_cb
    functionSourceFile: /src/libevent/sample/hello-world.c
    functionUses: 0
    functionsReached:
    - bufferevent_enable
    - bufferevent_disable
    - bufferevent_write
    - bufferevent_setcb
    - bufferevent_socket_new
    - fprintf
    - event_base_loopbreak
    - strlen
    linkageType: ''
    returnType: void
    signature: "void listener_cb(struct evconnlistener *listener, evutil_socket_t
      fd,\n    struct sockaddr *sa, int socklen, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_output
      Src: /src/libevent/sample/hello-world.c:110,1
    - Dst: evbuffer_get_length
      Src: /src/libevent/sample/hello-world.c:111,1
    - Dst: printf
      Src: /src/libevent/sample/hello-world.c:112,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/hello-world.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bev
    - user_data
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: conn_writecb
    functionSourceFile: /src/libevent/sample/hello-world.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_output
    - bufferevent_free
    - printf
    - evbuffer_get_length
    linkageType: ''
    returnType: void
    signature: void conn_writecb(struct bufferevent *bev, void *user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/hello-world.c:121,1
    - Dst: printf
      Src: /src/libevent/sample/hello-world.c:123,1
    - Dst: strerror
      Src: /src/libevent/sample/hello-world.c:124,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/hello-world.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - bev
    - events
    - user_data
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: conn_eventcb
    functionSourceFile: /src/libevent/sample/hello-world.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - printf
    - strerror
    linkageType: ''
    returnType: void
    signature: void conn_eventcb(struct bufferevent *bev, short events, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/hello-world.c:137,1
    - Dst: event_base_loopexit
      Src: /src/libevent/sample/hello-world.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sig
    - events
    - user_data
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: signal_cb
    functionSourceFile: /src/libevent/sample/hello-world.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - printf
    linkageType: ''
    returnType: void
    signature: void signal_cb(evutil_socket_t sig, short events, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: CHECK_FMT
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_FMT(a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/sample/becat.c:104,1
    - Dst: vfprintf
      Src: /src/libevent/sample/becat.c:105,1
    - Dst: va_end
      Src: /src/libevent/sample/becat.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: info
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 35
    functionsReached:
    - va_end
    - va_start
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void info(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libevent/sample/becat.c:111,1
    - Dst: vfprintf
      Src: /src/libevent/sample/becat.c:112,1
    - Dst: va_end
      Src: /src/libevent/sample/becat.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: error
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 133
    functionsReached:
    - va_end
    - va_start
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_getfd
      Src: /src/libevent/sample/becat.c:124,1
    - Dst: info
      Src: /src/libevent/sample/becat.c:125,1
    - Dst: bufferevent_free
      Src: /src/libevent/sample/becat.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bevp
    argTypes:
    - struct bufferevent**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 6
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: be_free
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - bufferevent_free
    - info
    - bufferevent_getfd
    linkageType: ''
    returnType: void
    signature: void be_free(struct bufferevent **bevp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/libevent/sample/becat.c:142,1
    - Dst: SSL_use_certificate
      Src: /src/libevent/sample/becat.c:145,1
    - Dst: SSL_use_PrivateKey
      Src: /src/libevent/sample/becat.c:147,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/sample/becat.c:149,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/sample/becat.c:151,1
    - Dst: bufferevent_set_max_single_read
      Src: /src/libevent/sample/becat.c:154,1
    - Dst: SSL_free
      Src: /src/libevent/sample/becat.c:160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - base
    - fd
    argTypes:
    - struct context*
    - struct event_base*
    - evutil_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: be_new
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - SSL_use_certificate
    - SSL_use_PrivateKey
    - SSL_new
    - bufferevent_socket_new
    - bufferevent_openssl_socket_new
    - bufferevent_set_max_single_read
    linkageType: ''
    returnType: struct bufferevent
    signature: 'struct bufferevent *

      be_new(struct context *ctx, struct event_base *base, evutil_socket_t fd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/libevent/sample/becat.c:167,1
    - Dst: bufferevent_set_timeouts
      Src: /src/libevent/sample/becat.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bev
    - o
    argTypes:
    - struct bufferevent*
    - struct options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: be_set_timeout
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - bufferevent_set_timeouts
    - info
    linkageType: ''
    returnType: int
    signature: int be_set_timeout(struct bufferevent *bev, const struct options *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_library_init
      Src: /src/libevent/sample/becat.c:175,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libevent/sample/becat.c:176,1
    - Dst: SSL_load_error_strings
      Src: /src/libevent/sample/becat.c:177,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libevent/sample/becat.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: ssl_init
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 1
    functionsReached:
    - SSL_library_init
    - SSL_load_error_strings
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    linkageType: ''
    returnType: void
    signature: void ssl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: ssl_init
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ssl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/libevent/sample/becat.c:186,1
    - Dst: EVP_PKEY_free
      Src: /src/libevent/sample/becat.c:187,1
    - Dst: X509_free
      Src: /src/libevent/sample/becat.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - struct ssl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: ssl_ctx_free
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - X509_free
    - SSL_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void ssl_ctx_free(struct ssl_context *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RSA_gen
      Src: /src/libevent/sample/becat.c:194,1
    - Dst: EVP_PKEY_new
      Src: /src/libevent/sample/becat.c:200,1
    - Dst: BN_new
      Src: /src/libevent/sample/becat.c:202,1
    - Dst: BN_set_word
      Src: /src/libevent/sample/becat.c:203,1
    - Dst: RSA_new
      Src: /src/libevent/sample/becat.c:206,1
    - Dst: RSA_generate_key_ex
      Src: /src/libevent/sample/becat.c:207,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/libevent/sample/becat.c:209,1
    - Dst: BN_free
      Src: /src/libevent/sample/becat.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - struct ssl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 216
    functionName: ssl_load_key
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - RSA_generate_key_ex
    - RSA_new
    - BN_set_word
    - EVP_PKEY_assign_RSA
    - BN_new
    - BN_free
    - EVP_RSA_gen
    linkageType: ''
    returnType: int
    signature: int ssl_load_key(struct ssl_context *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_new
      Src: /src/libevent/sample/becat.c:221,1
    - Dst: ASN1_INTEGER_set
      Src: /src/libevent/sample/becat.c:223,1
    - Dst: X509_get_serialNumber
      Src: /src/libevent/sample/becat.c:223,1
    - Dst: X509_gmtime_adj
      Src: /src/libevent/sample/becat.c:225,1
    - Dst: X509_getm_notBefore
      Src: /src/libevent/sample/becat.c:225,1
    - Dst: X509_gmtime_adj
      Src: /src/libevent/sample/becat.c:227,1
    - Dst: X509_getm_notAfter
      Src: /src/libevent/sample/becat.c:227,1
    - Dst: time
      Src: /src/libevent/sample/becat.c:228,1
    - Dst: X509_set_pubkey
      Src: /src/libevent/sample/becat.c:230,1
    - Dst: X509_get_subject_name
      Src: /src/libevent/sample/becat.c:232,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/libevent/sample/becat.c:233,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/libevent/sample/becat.c:235,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/libevent/sample/becat.c:237,1
    - Dst: X509_set_issuer_name
      Src: /src/libevent/sample/becat.c:239,1
    - Dst: X509_sign
      Src: /src/libevent/sample/becat.c:241,1
    - Dst: EVP_sha1
      Src: /src/libevent/sample/becat.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - struct ssl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 244
    functionName: ssl_load_cert
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - time
    - X509_getm_notAfter
    - X509_new
    - X509_getm_notBefore
    - X509_get_subject_name
    - X509_NAME_add_entry_by_txt
    - EVP_sha1
    - X509_get_serialNumber
    - ASN1_INTEGER_set
    - X509_set_issuer_name
    - X509_gmtime_adj
    - X509_set_pubkey
    - X509_sign
    linkageType: ''
    returnType: int
    signature: int ssl_load_cert(struct ssl_context *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_init
      Src: /src/libevent/sample/becat.c:249,1
    - Dst: TLS_method
      Src: /src/libevent/sample/becat.c:251,1
    - Dst: SSL_CTX_new
      Src: /src/libevent/sample/becat.c:254,1
    - Dst: ssl_load_key
      Src: /src/libevent/sample/becat.c:256,1
    - Dst: ssl_load_cert
      Src: /src/libevent/sample/becat.c:258,1
    - Dst: ssl_ctx_free
      Src: /src/libevent/sample/becat.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - struct ssl_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 266
    functionName: ssl_ctx_init
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - TLS_method
    - ssl_load_cert
    - SSL_CTX_new
    - ssl_ctx_free
    - ssl_init
    - ssl_load_key
    linkageType: ''
    returnType: int
    signature: int ssl_ctx_init(struct ssl_context *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libevent/sample/becat.c:270,1
    - Dst: fprintf
      Src: /src/libevent/sample/becat.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - name
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 288
    functionName: print_usage
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_usage(FILE *out, const char *name)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/sample/becat.c:294,1
    - Dst: getopt
      Src: /src/libevent/sample/becat.c:298,1
    - Dst: atoi
      Src: /src/libevent/sample/becat.c:300,1
    - Dst: strdup
      Src: /src/libevent/sample/becat.c:301,1
    - Dst: atoi
      Src: /src/libevent/sample/becat.c:302,1
    - Dst: atoi
      Src: /src/libevent/sample/becat.c:304,1
    - Dst: atoi
      Src: /src/libevent/sample/becat.c:305,1
    - Dst: atoi
      Src: /src/libevent/sample/becat.c:306,1
    - Dst: print_usage
      Src: /src/libevent/sample/becat.c:322,1
    - Dst: exit
      Src: /src/libevent/sample/becat.c:323,1
    - Dst: fprintf
      Src: /src/libevent/sample/becat.c:325,1
    - Dst: exit
      Src: /src/libevent/sample/becat.c:326,1
    - Dst: strdup
      Src: /src/libevent/sample/becat.c:331,1
    - Dst: atoi
      Src: /src/libevent/sample/becat.c:335,1
    - Dst: print_usage
      Src: /src/libevent/sample/becat.c:339,1
    - Dst: exit
      Src: /src/libevent/sample/becat.c:340,1
    - Dst: strdup
      Src: /src/libevent/sample/becat.c:344,1
    - Dst: strdup
      Src: /src/libevent/sample/becat.c:346,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 349
    functionName: parse_opts
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 1
    functionsReached:
    - exit
    - memset
    - atoi
    - strdup
    - print_usage
    - getopt
    - fprintf
    linkageType: ''
    returnType: struct options
    signature: struct options parse_opts(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: event_base_loopexit
      Src: /src/libevent/sample/becat.c:354,1
    - Dst: fprintf
      Src: /src/libevent/sample/becat.c:355,1
    - Dst: evutil_strsignal
      Src: /src/libevent/sample/becat.c:356,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/sample/becat.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sig
    - events
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: do_term
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - EV_SOCK_ARG
    - evutil_strsignal
    - event_base_loopexit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void do_term(evutil_socket_t sig, short events, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libevent/sample/becat.c:368,1
    - Dst: evutil_snprintf
      Src: /src/libevent/sample/becat.c:372,1
    - Dst: evutil_getaddrinfo
      Src: /src/libevent/sample/becat.c:373,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/sample/becat.c:379,1
    - Dst: memcpy
      Src: /src/libevent/sample/becat.c:383,1
    - Dst: evutil_freeaddrinfo
      Src: /src/libevent/sample/becat.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ss
    - address
    - port
    argTypes:
    - struct sockaddr_storage*
    - char*
    - ev_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 359
    functionDepth: 7
    functionLinenumber: 359
    functionLinenumberEnd: 388
    functionName: make_address
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - evutil_getaddrinfo
    - evutil_freeaddrinfo
    - evutil_snprintf
    linkageType: ''
    returnType: ev_socklen_t
    signature: ev_socklen_t make_address(struct sockaddr_storage *ss, const char *address,
      ev_uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_openssl_error
      Src: /src/libevent/sample/becat.c:393,1
    - Dst: ERR_reason_error_string
      Src: /src/libevent/sample/becat.c:394,1
    - Dst: ERR_lib_error_string
      Src: /src/libevent/sample/becat.c:395,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:397,1
    - Dst: ERR_func_error_string
      Src: /src/libevent/sample/becat.c:399,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bev
    argTypes:
    - struct bufferevent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: be_ssl_errors
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - ERR_func_error_string
    - ERR_reason_error_string
    - bufferevent_get_openssl_error
    - ERR_lib_error_string
    - error
    linkageType: ''
    returnType: void
    signature: void be_ssl_errors(struct bufferevent *bev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_base
      Src: /src/libevent/sample/becat.c:406,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/sample/becat.c:407,1
    - Dst: info
      Src: /src/libevent/sample/becat.c:410,1
    - Dst: be_ssl_errors
      Src: /src/libevent/sample/becat.c:414,1
    - Dst: event_base_loopexit
      Src: /src/libevent/sample/becat.c:418,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:420,1
    - Dst: be_free
      Src: /src/libevent/sample/becat.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - bev
    - what
    - ssl
    - stop
    argTypes:
    - struct bufferevent*
    - short
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 404
    functionDepth: 7
    functionLinenumber: 404
    functionLinenumberEnd: 423
    functionName: event_cb_
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - be_ssl_errors
    - bufferevent_get_base
    - be_free
    - info
    - bufferevent_getfd
    - error
    linkageType: ''
    returnType: int
    signature: int event_cb_(struct bufferevent *bev, short what, int ssl, int stop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_get_input
      Src: /src/libevent/sample/becat.c:428,1
    - Dst: evbuffer_write
      Src: /src/libevent/sample/becat.c:429,1
    - Dst: fileno
      Src: /src/libevent/sample/becat.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 6
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: read_cb
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - bufferevent_get_input
    - evbuffer_write
    - fileno
    linkageType: ''
    returnType: void
    signature: void read_cb(struct bufferevent *bev, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_write_buffer
      Src: /src/libevent/sample/becat.c:434,1
    - Dst: bufferevent_get_input
      Src: /src/libevent/sample/becat.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 7
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: write_cb
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 1
    functionsReached:
    - bufferevent_get_input
    - bufferevent_write_buffer
    linkageType: ''
    returnType: void
    signature: void write_cb(struct bufferevent *bev, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/sample/becat.c:439,1
    - Dst: event_cb_
      Src: /src/libevent/sample/becat.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 8
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: server_event_cb
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - EVUTIL_ASSERT
    - event_cb_
    linkageType: ''
    returnType: void
    signature: void server_event_cb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evconnlistener_get_base
      Src: /src/libevent/sample/becat.c:452,1
    - Dst: evconnlistener_disable
      Src: /src/libevent/sample/becat.c:455,1
    - Dst: info
      Src: /src/libevent/sample/becat.c:457,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/sample/becat.c:458,1
    - Dst: evutil_set_tcp_keepalive
      Src: /src/libevent/sample/becat.c:459,1
    - Dst: be_new
      Src: /src/libevent/sample/becat.c:462,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:464,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/becat.c:468,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/becat.c:469,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:470,1
    - Dst: be_set_timeout
      Src: /src/libevent/sample/becat.c:473,1
    - Dst: info
      Src: /src/libevent/sample/becat.c:474,1
    - Dst: EVUTIL_ASSERT
      Src: /src/libevent/sample/becat.c:479,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/becat.c:482,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:483,1
    - Dst: be_free
      Src: /src/libevent/sample/becat.c:490,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - listener
    - fd
    - sa
    - socklen
    - arg
    argTypes:
    - struct evconnlistener*
    - evutil_socket_t
    - struct sockaddr*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 445
    functionDepth: 7
    functionLinenumber: 445
    functionLinenumberEnd: 491
    functionName: accept_cb
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - be_new
    - bufferevent_enable
    - evutil_format_sockaddr_port_
    - evutil_set_tcp_keepalive
    - EVUTIL_ASSERT
    - bufferevent_setcb
    - be_free
    - info
    - evconnlistener_disable
    - be_set_timeout
    - evconnlistener_get_base
    - error
    linkageType: ''
    returnType: void
    signature: "void accept_cb(struct evconnlistener *listener, evutil_socket_t fd,\n\tstruct
      sockaddr *sa, int socklen, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_cb_
      Src: /src/libevent/sample/becat.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 8
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: client_event_cb
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - event_cb_
    linkageType: ''
    returnType: void
    signature: void client_event_cb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_cb_
      Src: /src/libevent/sample/becat.c:504,1
    - Dst: be_free
      Src: /src/libevent/sample/becat.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - bev
    - what
    - arg
    argTypes:
    - struct bufferevent*
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 8
    functionLinenumber: 501
    functionLinenumberEnd: 509
    functionName: in_event_cb
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - event_cb_
    - be_free
    linkageType: ''
    returnType: void
    signature: void in_event_cb(struct bufferevent *bev, short what, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bufferevent_trigger
      Src: /src/libevent/sample/becat.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bev
    - arg
    argTypes:
    - struct bufferevent*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: trigger_bev_write_cb
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 0
    functionsReached:
    - bufferevent_trigger
    linkageType: ''
    returnType: void
    signature: void trigger_bev_write_cb(struct bufferevent *bev, void *arg)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: parse_opts
      Src: /src/libevent/sample/becat.c:531,1
    - Dst: memset
      Src: /src/libevent/sample/becat.c:534,1
    - Dst: getenv
      Src: /src/libevent/sample/becat.c:537,1
    - Dst: event_enable_debug_logging
      Src: /src/libevent/sample/becat.c:538,1
    - Dst: event_base_new
      Src: /src/libevent/sample/becat.c:540,1
    - Dst: evsignal_new
      Src: /src/libevent/sample/becat.c:544,1
    - Dst: event_add
      Src: /src/libevent/sample/becat.c:547,1
    - Dst: MAKEWORD
      Src: /src/libevent/sample/becat.c:554,1
    - Dst: WSAStartup
      Src: /src/libevent/sample/becat.c:555,1
    - Dst: signal
      Src: /src/libevent/sample/becat.c:558,1
    - Dst: ssl_ctx_init
      Src: /src/libevent/sample/becat.c:562,1
    - Dst: make_address
      Src: /src/libevent/sample/becat.c:571,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:573,1
    - Dst: info
      Src: /src/libevent/sample/becat.c:577,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/sample/becat.c:578,1
    - Dst: evconnlistener_new_bind
      Src: /src/libevent/sample/becat.c:580,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:582,1
    - Dst: evconnlistener_get_fd
      Src: /src/libevent/sample/becat.c:587,1
    - Dst: evutil_set_tcp_keepalive
      Src: /src/libevent/sample/becat.c:588,1
    - Dst: make_address
      Src: /src/libevent/sample/becat.c:593,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:595,1
    - Dst: info
      Src: /src/libevent/sample/becat.c:599,1
    - Dst: evutil_format_sockaddr_port_
      Src: /src/libevent/sample/becat.c:600,1
    - Dst: be_new
      Src: /src/libevent/sample/becat.c:602,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:604,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/becat.c:608,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/becat.c:609,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:610,1
    - Dst: be_set_timeout
      Src: /src/libevent/sample/becat.c:613,1
    - Dst: info
      Src: /src/libevent/sample/becat.c:614,1
    - Dst: bufferevent_socket_connect
      Src: /src/libevent/sample/becat.c:618,1
    - Dst: info
      Src: /src/libevent/sample/becat.c:619,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/sample/becat.c:623,1
    - Dst: evutil_set_tcp_keepalive
      Src: /src/libevent/sample/becat.c:624,1
    - Dst: bufferevent_socket_new
      Src: /src/libevent/sample/becat.c:632,1
    - Dst: bufferevent_set_max_single_read
      Src: /src/libevent/sample/becat.c:634,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:638,1
    - Dst: bufferevent_setcb
      Src: /src/libevent/sample/becat.c:641,1
    - Dst: bufferevent_enable
      Src: /src/libevent/sample/becat.c:642,1
    - Dst: error
      Src: /src/libevent/sample/becat.c:643,1
    - Dst: bufferevent_disable
      Src: /src/libevent/sample/becat.c:646,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/becat.c:648,1
    - Dst: event_free
      Src: /src/libevent/sample/becat.c:657,1
    - Dst: be_free
      Src: /src/libevent/sample/becat.c:658,1
    - Dst: be_free
      Src: /src/libevent/sample/becat.c:659,1
    - Dst: evconnlistener_free
      Src: /src/libevent/sample/becat.c:661,1
    - Dst: event_base_free
      Src: /src/libevent/sample/becat.c:663,1
    - Dst: free
      Src: /src/libevent/sample/becat.c:665,1
    - Dst: free
      Src: /src/libevent/sample/becat.c:666,1
    - Dst: ssl_ctx_free
      Src: /src/libevent/sample/becat.c:668,1
    - Dst: WSACleanup
      Src: /src/libevent/sample/becat.c:671,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 125
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 519
    functionDepth: 8
    functionLinenumber: 519
    functionLinenumberEnd: 675
    functionName: main
    functionSourceFile: /src/libevent/sample/becat.c
    functionUses: 2
    functionsReached:
    - evsignal_new
    - bufferevent_socket_connect
    - bufferevent_setcb
    - parse_opts
    - ssl_ctx_init
    - make_address
    - event_base_dispatch
    - event_free
    - MAKEWORD
    - getenv
    - signal
    - error
    - be_new
    - event_base_new
    - bufferevent_enable
    - evutil_format_sockaddr_port_
    - WSACleanup
    - bufferevent_getfd
    - ssl_ctx_free
    - event_enable_debug_logging
    - evconnlistener_new_bind
    - free
    - event_base_free
    - be_free
    - event_add
    - info
    - bufferevent_socket_new
    - bufferevent_set_max_single_read
    - be_set_timeout
    - memset
    - evconnlistener_get_fd
    - bufferevent_disable
    - evconnlistener_free
    - evutil_set_tcp_keepalive
    - WSAStartup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: log_d
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_d(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/libevent/sample/ws-chat-server.c:69,1
    - Dst: evws_send_text
      Src: /src/libevent/sample/ws-chat-server.c:70,1
    - Dst: log_d
      Src: /src/libevent/sample/ws-chat-server.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: broadcast_msg
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached:
    - log_d
    - evws_send_text
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void broadcast_msg(char *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libevent/sample/ws-chat-server.c:83,1
    - Dst: memcmp
      Src: /src/libevent/sample/ws-chat-server.c:84,1
    - Dst: evws_close
      Src: /src/libevent/sample/ws-chat-server.c:85,1
    - Dst: snprintf
      Src: /src/libevent/sample/ws-chat-server.c:86,1
    - Dst: strncmp
      Src: /src/libevent/sample/ws-chat-server.c:87,1
    - Dst: snprintf
      Src: /src/libevent/sample/ws-chat-server.c:91,1
    - Dst: snprintf
      Src: /src/libevent/sample/ws-chat-server.c:93,1
    - Dst: snprintf
      Src: /src/libevent/sample/ws-chat-server.c:96,1
    - Dst: broadcast_msg
      Src: /src/libevent/sample/ws-chat-server.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - evws
    - type
    - data
    - len
    - arg
    argTypes:
    - struct evws_connection*
    - int
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: on_msg_cb
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached:
    - memcmp
    - evws_close
    - strncmp
    - snprintf
    - broadcast_msg
    linkageType: ''
    returnType: void
    signature: "void on_msg_cb(struct evws_connection *evws, int type, const unsigned
      char *data,\n\tsize_t len, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_d
      Src: /src/libevent/sample/ws-chat-server.c:106,1
    - Dst: TAILQ_REMOVE
      Src: /src/libevent/sample/ws-chat-server.c:107,1
    - Dst: free
      Src: /src/libevent/sample/ws-chat-server.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - evws
    - arg
    argTypes:
    - struct evws_connection*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: on_close_cb
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached:
    - free
    - TAILQ_REMOVE
    - log_d
    linkageType: ''
    returnType: void
    signature: void on_close_cb(struct evws_connection *evws, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libevent/sample/ws-chat-server.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: nice_addr
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      nice_addr(const char *addr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/libevent/sample/ws-chat-server.c:129,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/sample/ws-chat-server.c:130,1
    - Dst: ntohs
      Src: /src/libevent/sample/ws-chat-server.c:133,1
    - Dst: evutil_inet_ntop
      Src: /src/libevent/sample/ws-chat-server.c:134,1
    - Dst: nice_addr
      Src: /src/libevent/sample/ws-chat-server.c:135,1
    - Dst: strlen
      Src: /src/libevent/sample/ws-chat-server.c:137,1
    - Dst: memmove
      Src: /src/libevent/sample/ws-chat-server.c:138,1
    - Dst: strlen
      Src: /src/libevent/sample/ws-chat-server.c:142,1
    - Dst: snprintf
      Src: /src/libevent/sample/ws-chat-server.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - sa
    - addr
    - len
    argTypes:
    - struct sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: addr2str
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached:
    - memmove
    - ntohs
    - snprintf
    - nice_addr
    - strlen
    - evutil_inet_ntop
    linkageType: ''
    returnType: void
    signature: void addr2str(struct sockaddr *sa, char *addr, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libevent/sample/ws-chat-server.c:155,1
    - Dst: evws_new_session
      Src: /src/libevent/sample/ws-chat-server.c:157,1
    - Dst: free
      Src: /src/libevent/sample/ws-chat-server.c:159,1
    - Dst: log_d
      Src: /src/libevent/sample/ws-chat-server.c:160,1
    - Dst: bufferevent_getfd
      Src: /src/libevent/sample/ws-chat-server.c:164,1
    - Dst: evws_connection_get_bufferevent
      Src: /src/libevent/sample/ws-chat-server.c:164,1
    - Dst: getpeername
      Src: /src/libevent/sample/ws-chat-server.c:167,1
    - Dst: addr2str
      Src: /src/libevent/sample/ws-chat-server.c:168,1
    - Dst: log_d
      Src: /src/libevent/sample/ws-chat-server.c:170,1
    - Dst: evws_connection_set_closecb
      Src: /src/libevent/sample/ws-chat-server.c:172,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/libevent/sample/ws-chat-server.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 7
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: on_ws
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached:
    - free
    - addr2str
    - TAILQ_INSERT_TAIL
    - calloc
    - log_d
    - getpeername
    - bufferevent_getfd
    - evws_new_session
    - evws_connection_get_bufferevent
    - evws_connection_set_closecb
    linkageType: ''
    returnType: void
    signature: void on_ws(struct evhttp_request *req, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evhttp_add_header
      Src: /src/libevent/sample/ws-chat-server.c:183,1
    - Dst: evhttp_request_get_output_headers
      Src: /src/libevent/sample/ws-chat-server.c:184,1
    - Dst: open
      Src: /src/libevent/sample/ws-chat-server.c:185,1
    - Dst: perror
      Src: /src/libevent/sample/ws-chat-server.c:186,1
    - Dst: fstat
      Src: /src/libevent/sample/ws-chat-server.c:190,1
    - Dst: perror
      Src: /src/libevent/sample/ws-chat-server.c:193,1
    - Dst: evbuffer_new
      Src: /src/libevent/sample/ws-chat-server.c:198,1
    - Dst: evbuffer_add_file
      Src: /src/libevent/sample/ws-chat-server.c:199,1
    - Dst: evhttp_send_reply
      Src: /src/libevent/sample/ws-chat-server.c:200,1
    - Dst: evbuffer_free
      Src: /src/libevent/sample/ws-chat-server.c:201,1
    - Dst: evhttp_send_error
      Src: /src/libevent/sample/ws-chat-server.c:205,1
    - Dst: close
      Src: /src/libevent/sample/ws-chat-server.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - req
    - arg
    argTypes:
    - struct evhttp_request*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 7
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: on_html
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached:
    - perror
    - evhttp_add_header
    - evbuffer_add_file
    - fstat
    - close
    - evbuffer_free
    - evhttp_send_reply
    - evhttp_send_error
    - evbuffer_new
    - open
    - evhttp_request_get_output_headers
    linkageType: ''
    returnType: void
    signature: void on_html(struct evhttp_request *req, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/ws-chat-server.c:213,1
    - Dst: evutil_strsignal
      Src: /src/libevent/sample/ws-chat-server.c:213,1
    - Dst: EV_SOCK_ARG
      Src: /src/libevent/sample/ws-chat-server.c:213,1
    - Dst: event_base_loopbreak
      Src: /src/libevent/sample/ws-chat-server.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: signal_cb
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 0
    functionsReached:
    - evutil_strsignal
    - printf
    - EV_SOCK_ARG
    - event_base_loopbreak
    linkageType: ''
    returnType: void
    signature: void signal_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/libevent/sample/ws-chat-server.c:224,1
    - Dst: event_base_new
      Src: /src/libevent/sample/ws-chat-server.c:226,1
    - Dst: evsignal_new
      Src: /src/libevent/sample/ws-chat-server.c:228,1
    - Dst: perror
      Src: /src/libevent/sample/ws-chat-server.c:230,1
    - Dst: event_add
      Src: /src/libevent/sample/ws-chat-server.c:233,1
    - Dst: evhttp_new
      Src: /src/libevent/sample/ws-chat-server.c:235,1
    - Dst: perror
      Src: /src/libevent/sample/ws-chat-server.c:237,1
    - Dst: evhttp_bind_socket_with_handle
      Src: /src/libevent/sample/ws-chat-server.c:240,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/sample/ws-chat-server.c:242,1
    - Dst: evhttp_set_cb
      Src: /src/libevent/sample/ws-chat-server.c:243,1
    - Dst: log_d
      Src: /src/libevent/sample/ws-chat-server.c:245,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/ws-chat-server.c:246,1
    - Dst: log_d
      Src: /src/libevent/sample/ws-chat-server.c:248,1
    - Dst: evhttp_get_connection_count
      Src: /src/libevent/sample/ws-chat-server.c:248,1
    - Dst: evhttp_free
      Src: /src/libevent/sample/ws-chat-server.c:249,1
    - Dst: event_free
      Src: /src/libevent/sample/ws-chat-server.c:251,1
    - Dst: event_base_free
      Src: /src/libevent/sample/ws-chat-server.c:252,1
    - Dst: libevent_global_shutdown
      Src: /src/libevent/sample/ws-chat-server.c:253,1
    - Dst: event_free
      Src: /src/libevent/sample/ws-chat-server.c:259,1
    - Dst: event_base_free
      Src: /src/libevent/sample/ws-chat-server.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 217
    functionDepth: 6
    functionLinenumber: 217
    functionLinenumberEnd: 265
    functionName: main
    functionSourceFile: /src/libevent/sample/ws-chat-server.c
    functionUses: 2
    functionsReached:
    - perror
    - evhttp_bind_socket_with_handle
    - evsignal_new
    - TAILQ_INIT
    - event_base_free
    - evhttp_new
    - log_d
    - evhttp_free
    - event_free
    - evhttp_set_cb
    - event_add
    - event_base_dispatch
    - evhttp_get_connection_count
    - libevent_global_shutdown
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evutil_gettimeofday
      Src: /src/libevent/sample/time-test.c:49,1
    - Dst: evutil_timersub
      Src: /src/libevent/sample/time-test.c:50,1
    - Dst: printf
      Src: /src/libevent/sample/time-test.c:54,1
    - Dst: evutil_timerclear
      Src: /src/libevent/sample/time-test.c:60,1
    - Dst: event_add
      Src: /src/libevent/sample/time-test.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - event
    - arg
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: timeout_cb
    functionSourceFile: /src/libevent/sample/time-test.c
    functionUses: 0
    functionsReached:
    - event_add
    - evutil_timerclear
    - evutil_timersub
    - evutil_gettimeofday
    - printf
    linkageType: ''
    returnType: void
    signature: void timeout_cb(evutil_socket_t fd, short event, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libevent/sample/time-test.c:71,1
    - Dst: event_base_loopexit
      Src: /src/libevent/sample/time-test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sig
    - events
    - user_data
    argTypes:
    - evutil_socket_t
    - short
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: signal_cb
    functionSourceFile: /src/libevent/sample/time-test.c
    functionUses: 0
    functionsReached:
    - event_base_loopexit
    - printf
    linkageType: ''
    returnType: void
    signature: void signal_cb(evutil_socket_t sig, short events, void *user_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/libevent/sample/time-test.c:88,1
    - Dst: WSAStartup
      Src: /src/libevent/sample/time-test.c:90,1
    - Dst: strcmp
      Src: /src/libevent/sample/time-test.c:93,1
    - Dst: event_base_new
      Src: /src/libevent/sample/time-test.c:102,1
    - Dst: event_new
      Src: /src/libevent/sample/time-test.c:105,1
    - Dst: event_self_cbarg
      Src: /src/libevent/sample/time-test.c:105,1
    - Dst: evsignal_new
      Src: /src/libevent/sample/time-test.c:106,1
    - Dst: fprintf
      Src: /src/libevent/sample/time-test.c:108,1
    - Dst: fprintf
      Src: /src/libevent/sample/time-test.c:112,1
    - Dst: evutil_timerclear
      Src: /src/libevent/sample/time-test.c:115,1
    - Dst: event_add
      Src: /src/libevent/sample/time-test.c:117,1
    - Dst: event_add
      Src: /src/libevent/sample/time-test.c:118,1
    - Dst: evutil_gettimeofday
      Src: /src/libevent/sample/time-test.c:120,1
    - Dst: setbuf
      Src: /src/libevent/sample/time-test.c:122,1
    - Dst: setbuf
      Src: /src/libevent/sample/time-test.c:123,1
    - Dst: event_base_dispatch
      Src: /src/libevent/sample/time-test.c:125,1
    - Dst: event_free
      Src: /src/libevent/sample/time-test.c:127,1
    - Dst: event_free
      Src: /src/libevent/sample/time-test.c:128,1
    - Dst: event_base_free
      Src: /src/libevent/sample/time-test.c:129,1
    - Dst: event_free
      Src: /src/libevent/sample/time-test.c:134,1
    - Dst: event_free
      Src: /src/libevent/sample/time-test.c:136,1
    - Dst: event_base_free
      Src: /src/libevent/sample/time-test.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/libevent/sample/time-test.c
    functionUses: 2
    functionsReached:
    - setbuf
    - evsignal_new
    - event_base_free
    - event_self_cbarg
    - event_new
    - WSAStartup
    - event_free
    - event_add
    - evutil_timerclear
    - event_base_dispatch
    - fprintf
    - strcmp
    - MAKEWORD
    - evutil_gettimeofday
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/libevent/sample/openssl_hostname_validation.c:71,1
    - Dst: X509_get_subject_name
      Src: /src/libevent/sample/openssl_hostname_validation.c:71,1
    - Dst: X509_NAME_get_entry
      Src: /src/libevent/sample/openssl_hostname_validation.c:77,1
    - Dst: X509_get_subject_name
      Src: /src/libevent/sample/openssl_hostname_validation.c:77,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/libevent/sample/openssl_hostname_validation.c:83,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libevent/sample/openssl_hostname_validation.c:87,1
    - Dst: ASN1_STRING_length
      Src: /src/libevent/sample/openssl_hostname_validation.c:90,1
    - Dst: strlen
      Src: /src/libevent/sample/openssl_hostname_validation.c:90,1
    - Dst: Curl_cert_hostcheck
      Src: /src/libevent/sample/openssl_hostname_validation.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - hostname
    - server_cert
    argTypes:
    - char*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 101
    functionName: matches_common_name
    functionSourceFile: /src/libevent/sample/openssl_hostname_validation.c
    functionUses: 0
    functionsReached:
    - X509_NAME_get_index_by_NID
    - Curl_cert_hostcheck
    - X509_get_subject_name
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - strlen
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: HostnameValidationResult
    signature: HostnameValidationResult matches_common_name(const char *hostname,
      const X509 *server_cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/libevent/sample/openssl_hostname_validation.c:116,1
    - Dst: X509_get_ext_d2i
      Src: /src/libevent/sample/openssl_hostname_validation.c:119,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/libevent/sample/openssl_hostname_validation.c:123,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/libevent/sample/openssl_hostname_validation.c:127,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/libevent/sample/openssl_hostname_validation.c:131,1
    - Dst: ASN1_STRING_length
      Src: /src/libevent/sample/openssl_hostname_validation.c:134,1
    - Dst: strlen
      Src: /src/libevent/sample/openssl_hostname_validation.c:134,1
    - Dst: Curl_cert_hostcheck
      Src: /src/libevent/sample/openssl_hostname_validation.c:139,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/libevent/sample/openssl_hostname_validation.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - hostname
    - server_cert
    argTypes:
    - char*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: matches_subject_alternative_name
    functionSourceFile: /src/libevent/sample/openssl_hostname_validation.c
    functionUses: 0
    functionsReached:
    - Curl_cert_hostcheck
    - X509_get_ext_d2i
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - sk_GENERAL_NAME_pop_free
    - STACK_OF
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - strlen
    linkageType: ''
    returnType: HostnameValidationResult
    signature: HostnameValidationResult matches_subject_alternative_name(const char
      *hostname, const X509 *server_cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: matches_subject_alternative_name
      Src: /src/libevent/sample/openssl_hostname_validation.c:171,1
    - Dst: matches_common_name
      Src: /src/libevent/sample/openssl_hostname_validation.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hostname
    - server_cert
    argTypes:
    - char*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: validate_hostname
    functionSourceFile: /src/libevent/sample/openssl_hostname_validation.c
    functionUses: 1
    functionsReached:
    - matches_common_name
    - matches_subject_alternative_name
    linkageType: ''
    returnType: HostnameValidationResult
    signature: HostnameValidationResult validate_hostname(const char *hostname, const
      X509 *server_cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: EVBUFFER_LENGTH
    functionSourceFile: /src/libevent/include/event2/buffer_compat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_LENGTH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: EVBUFFER_DATA
    functionSourceFile: /src/libevent/include/event2/buffer_compat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_DATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: EVENT_IN_DOXYGEN_
    functionSourceFile: /src/libevent/include/event2/bufferevent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct bufferevent
    signature: struct bufferevent EVENT_IN_DOXYGEN_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ev
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: evtimer_set
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evtimer_set(ev, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ev
    - ','
    - x
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: evsignal_set
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evsignal_set(ev, x, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: timeout_add
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timeout_add(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ev
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: timeout_set
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timeout_set(ev, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: timeout_del
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timeout_del(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: timeout_pending
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timeout_pending(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: timeout_initialized
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timeout_initialized(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: signal_add
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: signal_add(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ev
    - ','
    - x
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: signal_set
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: signal_set(ev, x, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: signal_del
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: signal_del(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: signal_pending
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: signal_pending(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: signal_initialized
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: signal_initialized(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: EVENT_FD
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_FD(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: EVENT_SIGNAL
    functionSourceFile: /src/libevent/include/event2/event_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVENT_SIGNAL(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: EVENT_IN_DOXYGEN_
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evutil_monotonic_timer
    signature: struct evutil_monotonic_timer EVENT_IN_DOXYGEN_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: EVUTIL_CLOSESOCKET
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_CLOSESOCKET(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    functionName: EVUTIL_SOCKET_ERROR
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_SOCKET_ERROR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: EVUTIL_SET_SOCKET_ERROR
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_SET_SOCKET_ERROR(errcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 553
    functionName: EVUTIL_SOCKET_ERROR
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_SOCKET_ERROR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: EVUTIL_SET_SOCKET_ERROR
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_SET_SOCKET_ERROR(errcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: evutil_socket_geterror
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_socket_geterror(sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 559
    functionName: evutil_socket_error_to_string
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_socket_error_to_string(errcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    functionName: EVUTIL_SOCKET_ERROR
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_SOCKET_ERROR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: EVUTIL_SET_SOCKET_ERROR
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVUTIL_SET_SOCKET_ERROR(errcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    functionName: evutil_socket_geterror
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_socket_geterror(sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 567
    functionName: evutil_socket_error_to_string
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_socket_error_to_string(errcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tvp
    - ','
    - uvp
    - ','
    - vvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    functionName: evutil_timeradd
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timeradd(tvp, uvp, vvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tvp
    - ','
    - uvp
    - ','
    - vvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 582
    functionName: evutil_timersub
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timersub(tvp, uvp, vvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tvp
    - ','
    - uvp
    - ','
    - vvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: evutil_timeradd
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timeradd(tvp, uvp, vvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tvp
    - ','
    - uvp
    - ','
    - vvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: evutil_timersub
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timersub(tvp, uvp, vvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: evutil_timerclear
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timerclear(tvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 607
    functionName: evutil_timerclear
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timerclear(tvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tvp
    - ','
    - uvp
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: evutil_timercmp
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timercmp(tvp, uvp, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 619
    functionName: evutil_timerisset
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timerisset(tvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 621
    functionName: evutil_timerisset
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_timerisset(tvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: evutil_offsetof
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_offsetof(type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: evutil_offsetof
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_offsetof(type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - tz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 638
    functionName: evutil_gettimeofday
    functionSourceFile: /src/libevent/include/event2/util.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evutil_gettimeofday(tv, tz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: EVBUFFER_INPUT
    functionSourceFile: /src/libevent/include/event2/bufferevent_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_INPUT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: EVBUFFER_OUTPUT
    functionSourceFile: /src/libevent/include/event2/bufferevent_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVBUFFER_OUTPUT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: TAILQ_ENTRY
    functionSourceFile: /src/libevent/include/event2/rpc_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: TAILQ_ENTRY
    functionSourceFile: /src/libevent/include/event2/event_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: TAILQ_HEAD
    functionSourceFile: /src/libevent/include/event2/event_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: LIST_ENTRY
    functionSourceFile: /src/libevent/include/event2/event_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: EVTAG_HAS
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_HAS(msg, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: EVTAG_ASSIGN
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_ASSIGN(msg, member, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - value
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: EVTAG_ASSIGN_WITH_LEN
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_ASSIGN_WITH_LEN(msg, member, value, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: EVTAG_GET
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_GET(msg, member, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - pvalue
    - ','
    - plen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: EVTAG_GET_WITH_LEN
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_GET_WITH_LEN(msg, member, pvalue, plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: EVTAG_ARRAY_ADD_VALUE
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_ARRAY_ADD_VALUE(msg, member, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: EVTAG_ARRAY_ADD
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_ARRAY_ADD(msg, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - offset
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: EVTAG_ARRAY_GET
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_ARRAY_GET(msg, member, offset, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: EVTAG_ARRAY_LEN
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_ARRAY_LEN(msg, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rpcname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: EVRPC_STRUCT
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVRPC_STRUCT(rpcname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rpcname
    - ','
    - reqstruct
    - ','
    - rplystruct
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: EVRPC_HEADER
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVRPC_HEADER(rpcname, reqstruct, rplystruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - rpcname
    - ','
    - reqstruct
    - ','
    - rplystruct
    - ','
    - pool
    - ','
    - request
    - ','
    - reply
    - ','
    - cb
    - ','
    - cbarg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: EVRPC_MAKE_CTX
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "EVRPC_MAKE_CTX(rpcname, reqstruct, rplystruct, \\\n    pool, request,
      reply, cb, cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rpcname
    - ','
    - reqstruct
    - ','
    - rplystruct
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: EVRPC_GENERATE
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVRPC_GENERATE(rpcname, reqstruct, rplystruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rpc_req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: EVRPC_REQUEST_HTTP
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVRPC_REQUEST_HTTP(rpc_req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rpc_req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: EVRPC_REQUEST_DONE
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVRPC_REQUEST_DONE(rpc_req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - base
    - ','
    - name
    - ','
    - request
    - ','
    - reply
    - ','
    - callback
    - ','
    - cbarg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: EVRPC_REGISTER
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVRPC_REGISTER(base, name, request, reply, callback, cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: EVRPC_UNREGISTER
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVRPC_UNREGISTER(base, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - name
    - ','
    - pool
    - ','
    - request
    - ','
    - reply
    - ','
    - cb
    - ','
    - cbarg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: EVRPC_MAKE_REQUEST
    functionSourceFile: /src/libevent/include/event2/rpc.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVRPC_MAKE_REQUEST(name, pool, request, reply, cb, cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: EVENT_IN_DOXYGEN_
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event_base
    signature: struct event_base EVENT_IN_DOXYGEN_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: EVENT_IN_DOXYGEN_
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event
    signature: struct event EVENT_IN_DOXYGEN_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: EVENT_IN_DOXYGEN_
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event_config
    signature: struct event_config EVENT_IN_DOXYGEN_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ev
    - ','
    - b
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1000
    functionName: evtimer_assign
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evtimer_assign(ev, b, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1001
    functionName: evtimer_new
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evtimer_new(b, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1002
    functionName: evtimer_add
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evtimer_add(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1003
    functionName: evtimer_del
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evtimer_del(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1004
    functionName: evtimer_pending
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evtimer_pending(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1005
    functionName: evtimer_initialized
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evtimer_initialized(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1014
    functionName: evsignal_add
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evsignal_add(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ev
    - ','
    - b
    - ','
    - x
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1016
    functionName: evsignal_assign
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evsignal_assign(ev, b, x, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b
    - ','
    - x
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1018
    functionName: evsignal_new
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evsignal_new(b, x, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1019
    functionName: evsignal_del
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evsignal_del(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1020
    functionName: evsignal_pending
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evsignal_pending(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1021
    functionName: evsignal_initialized
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evsignal_initialized(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - cb
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1031
    functionName: evuser_new
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evuser_new(b, cb, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1032
    functionName: evuser_del
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evuser_del(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ev
    - ','
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1033
    functionName: evuser_pending
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evuser_pending(ev, tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1034
    functionName: evuser_initialized
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evuser_initialized(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1035
    functionName: evuser_trigger
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evuser_trigger(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1377
    functionName: event_get_signal
    functionSourceFile: /src/libevent/include/event2/event.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: event_get_signal(ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: EVTAG_ASSIGN
    functionSourceFile: /src/libevent/include/event2/rpc_compat.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_ASSIGN(msg, member, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: EVTAG_GET
    functionSourceFile: /src/libevent/include/event2/rpc_compat.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_GET(msg, member, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - msg
    - ','
    - member
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: EVTAG_ADD
    functionSourceFile: /src/libevent/include/event2/rpc_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_ADD(msg, member, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: EVTAG_LEN
    functionSourceFile: /src/libevent/include/event2/rpc_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVTAG_LEN(msg, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - evbuf
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: encode_int
    functionSourceFile: /src/libevent/include/event2/tag_compat.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: encode_int(evbuf, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - evbuf
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: encode_int64
    functionSourceFile: /src/libevent/include/event2/tag_compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: encode_int64(evbuf, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: TAILQ_ENTRY
    functionSourceFile: /src/libevent/include/event2/keyvalq_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: TAILQ_HEAD
    functionSourceFile: /src/libevent/include/event2/keyvalq_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: EVENT_IN_DOXYGEN_
    functionSourceFile: /src/libevent/include/event2/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct evbuffer
    signature: struct evbuffer EVENT_IN_DOXYGEN_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: __P
    functionSourceFile: /src/libevent/WIN32-Code/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __P(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: _DIAGASSERT
    functionSourceFile: /src/libevent/WIN32-Code/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DIAGASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: __P
    functionSourceFile: /src/libevent/WIN32-Code/getopt_long.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __P(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: _DIAGASSERT
    functionSourceFile: /src/libevent/WIN32-Code/getopt_long.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DIAGASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: SPLAY_INITIALIZER
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_INITIALIZER(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: SPLAY_INIT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_INIT(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: SPLAY_ENTRY
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: SPLAY_LEFT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_LEFT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: SPLAY_RIGHT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_RIGHT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: SPLAY_ROOT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ROOT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: SPLAY_EMPTY
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: SPLAY_ROTATE_RIGHT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ROTATE_RIGHT(head, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: SPLAY_ROTATE_LEFT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ROTATE_LEFT(head, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: SPLAY_LINKLEFT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_LINKLEFT(head, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: SPLAY_LINKRIGHT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_LINKRIGHT(head, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - node
    - ','
    - left
    - ','
    - right
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: SPLAY_ASSEMBLE
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_ASSEMBLE(head, node, left, right, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: SPLAY_PROTOTYPE
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_PROTOTYPE(name, type, field, cmp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_EMPTY
      Src: /src/libevent/WIN32-Code/tree.h:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: _SPLAY_FIND
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached:
    - SPLAY_EMPTY
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\\\nname##_SPLAY_FIND(struct name *head,
      struct type *elm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:136,1
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:137,1
    - Dst: SPLAY_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:138,1
    - Dst: SPLAY_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: _SPLAY_NEXT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached:
    - SPLAY_RIGHT
    - SPLAY_LEFT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\\\nname##_SPLAY_NEXT(struct name *head,
      struct type *elm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_ROOT
      Src: /src/libevent/WIN32-Code/tree.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - head
    - val
    argTypes:
    - struct name*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: _SPLAY_MIN_MAX
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached:
    - SPLAY_ROOT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\\\nname##_SPLAY_MIN_MAX(struct name *head,
      int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 239
    functionName: SPLAY_GENERATE
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_GENERATE(name, type, field, cmp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SPLAY_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:244,1
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:244,1
    - Dst: SPLAY_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:249,1
    - Dst: SPLAY_ROTATE_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:253,1
    - Dst: SPLAY_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:254,1
    - Dst: SPLAY_LINKLEFT
      Src: /src/libevent/WIN32-Code/tree.h:257,1
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:259,1
    - Dst: SPLAY_ROTATE_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:263,1
    - Dst: SPLAY_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:264,1
    - Dst: SPLAY_LINKRIGHT
      Src: /src/libevent/WIN32-Code/tree.h:267,1
    - Dst: SPLAY_ASSEMBLE
      Src: /src/libevent/WIN32-Code/tree.h:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - head
    - __comp
    argTypes:
    - struct name*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 271
    functionName: _SPLAY_MINMAX
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached:
    - SPLAY_ROTATE_RIGHT
    - SPLAY_ASSEMBLE
    - SPLAY_LINKLEFT
    - SPLAY_LEFT
    - SPLAY_ROTATE_LEFT
    - SPLAY_RIGHT
    - SPLAY_LINKRIGHT
    linkageType: ''
    returnType: void
    signature: void _SPLAY_MINMAX(struct name *head, int __comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: SPLAY_INSERT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_INSERT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: SPLAY_REMOVE
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_REMOVE(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: SPLAY_FIND
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_FIND(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: SPLAY_NEXT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_NEXT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: SPLAY_MIN
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_MIN(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: SPLAY_MAX
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_MAX(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: SPLAY_FOREACH
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPLAY_FOREACH(x, name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: RB_INITIALIZER
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_INITIALIZER(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: RB_INIT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_INIT(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: RB_ENTRY
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: RB_LEFT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_LEFT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: RB_RIGHT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_RIGHT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: RB_PARENT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_PARENT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: RB_COLOR
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_COLOR(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: RB_ROOT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_ROOT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: RB_EMPTY
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - parent
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: RB_SET
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_SET(elm, parent, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - black
    - ','
    - red
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: RB_SET_BLACKRED
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_SET_BLACKRED(black, red, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: RB_ROTATE_LEFT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_ROTATE_LEFT(head, elm, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - tmp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 374
    functionName: RB_ROTATE_RIGHT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_ROTATE_RIGHT(head, elm, tmp, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: RB_PROTOTYPE
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_PROTOTYPE(name, type, field, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 577
    functionName: RB_GENERATE
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_GENERATE(name, type, field, cmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RB_ROOT
      Src: /src/libevent/WIN32-Code/tree.h:584,1
    - Dst: RB_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:589,1
    - Dst: RB_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:591,1
    - Dst: RB_SET
      Src: /src/libevent/WIN32-Code/tree.h:595,1
    - Dst: RB_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:598,1
    - Dst: RB_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:600,1
    - Dst: RB_AUGMENT
      Src: /src/libevent/WIN32-Code/tree.h:601,1
    - Dst: RB_ROOT
      Src: /src/libevent/WIN32-Code/tree.h:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 606
    functionName: _RB_INSERT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached:
    - RB_RIGHT
    - RB_ROOT
    - RB_AUGMENT
    - RB_LEFT
    - RB_SET
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\t\t\\\nname##_RB_INSERT(struct name *head,
      struct type *elm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RB_ROOT
      Src: /src/libevent/WIN32-Code/tree.h:612,1
    - Dst: cmp
      Src: /src/libevent/WIN32-Code/tree.h:615,1
    - Dst: RB_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:617,1
    - Dst: RB_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 624
    functionName: _RB_FIND
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached:
    - RB_RIGHT
    - cmp
    - RB_LEFT
    - RB_ROOT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\t\t\\\nname##_RB_FIND(struct name *head,
      struct type *elm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RB_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:629,1
    - Dst: RB_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:630,1
    - Dst: RB_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:631,1
    - Dst: RB_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:632,1
    - Dst: RB_PARENT
      Src: /src/libevent/WIN32-Code/tree.h:634,1
    - Dst: RB_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:635,1
    - Dst: RB_PARENT
      Src: /src/libevent/WIN32-Code/tree.h:635,1
    - Dst: RB_PARENT
      Src: /src/libevent/WIN32-Code/tree.h:636,1
    - Dst: RB_PARENT
      Src: /src/libevent/WIN32-Code/tree.h:638,1
    - Dst: RB_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:639,1
    - Dst: RB_PARENT
      Src: /src/libevent/WIN32-Code/tree.h:639,1
    - Dst: RB_PARENT
      Src: /src/libevent/WIN32-Code/tree.h:640,1
    - Dst: RB_PARENT
      Src: /src/libevent/WIN32-Code/tree.h:641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - elm
    argTypes:
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 645
    functionName: _RB_NEXT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached:
    - RB_RIGHT
    - RB_PARENT
    - RB_LEFT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\t\t\\\nname##_RB_NEXT(struct type *elm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RB_ROOT
      Src: /src/libevent/WIN32-Code/tree.h:650,1
    - Dst: RB_LEFT
      Src: /src/libevent/WIN32-Code/tree.h:655,1
    - Dst: RB_RIGHT
      Src: /src/libevent/WIN32-Code/tree.h:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - head
    - val
    argTypes:
    - struct name*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 660
    functionName: _RB_MINMAX
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached:
    - RB_RIGHT
    - RB_LEFT
    - RB_ROOT
    linkageType: ''
    returnType: struct type
    signature: "struct type *\t\t\t\t\t\t\t\t\\\nname##_RB_MINMAX(struct name *head,
      int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 666
    functionName: RB_INSERT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_INSERT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 667
    functionName: RB_REMOVE
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_REMOVE(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: RB_FIND
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_FIND(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: RB_NEXT
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_NEXT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 670
    functionName: RB_MIN
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_MIN(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    functionName: RB_MAX
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_MAX(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 676
    functionName: RB_FOREACH
    functionSourceFile: /src/libevent/WIN32-Code/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RB_FOREACH(x, name, head)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test-export/test-export.c:26,1
    - Dst: evhttp_new
      Src: /src/libevent/test-export/test-export.c:28,1
    - Dst: evdns_base_new
      Src: /src/libevent/test-export/test-export.c:29,1
    - Dst: evrpc_init
      Src: /src/libevent/test-export/test-export.c:33,1
    - Dst: event_base_free
      Src: /src/libevent/test-export/test-export.c:36,1
    - Dst: evhttp_free
      Src: /src/libevent/test-export/test-export.c:38,1
    - Dst: evrpc_free
      Src: /src/libevent/test-export/test-export.c:40,1
    - Dst: evdns_base_free
      Src: /src/libevent/test-export/test-export.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 18
    functionDepth: 9
    functionLinenumber: 18
    functionLinenumberEnd: 45
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - event_base_free
    - evrpc_free
    - evhttp_new
    - evhttp_free
    - evdns_base_free
    - evrpc_init
    - evdns_base_new
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evthread_use_pthreads
      Src: /src/libevent/test-export/test-export.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - evthread_use_pthreads
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_library_init
      Src: /src/libevent/test-export/test-export.c:62,1
    - Dst: ERR_load_crypto_strings
      Src: /src/libevent/test-export/test-export.c:63,1
    - Dst: SSL_load_error_strings
      Src: /src/libevent/test-export/test-export.c:64,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/libevent/test-export/test-export.c:65,1
    - Dst: event_base_new
      Src: /src/libevent/test-export/test-export.c:67,1
    - Dst: SSL_CTX_new
      Src: /src/libevent/test-export/test-export.c:72,1
    - Dst: SSLv23_method
      Src: /src/libevent/test-export/test-export.c:72,1
    - Dst: SSL_new
      Src: /src/libevent/test-export/test-export.c:76,1
    - Dst: bufferevent_openssl_socket_new
      Src: /src/libevent/test-export/test-export.c:80,1
    - Dst: event_base_free
      Src: /src/libevent/test-export/test-export.c:89,1
    - Dst: SSL_CTX_free
      Src: /src/libevent/test-export/test-export.c:91,1
    - Dst: SSL_free
      Src: /src/libevent/test-export/test-export.c:93,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 6
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - SSL_load_error_strings
    - event_base_free
    - SSL_CTX_free
    - SSL_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - SSL_library_init
    - SSLv23_method
    - SSL_CTX_new
    - SSL_new
    - bufferevent_openssl_socket_new
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test-export/test-export.c:106,1
    - Dst: malloc
      Src: /src/libevent/test-export/test-export.c:111,1
    - Dst: mbedtls_ssl_config_init
      Src: /src/libevent/test-export/test-export.c:115,1
    - Dst: bufferevent_mbedtls_dyncontext_new
      Src: /src/libevent/test-export/test-export.c:117,1
    - Dst: bufferevent_mbedtls_socket_new
      Src: /src/libevent/test-export/test-export.c:119,1
    - Dst: event_base_free
      Src: /src/libevent/test-export/test-export.c:128,1
    - Dst: bufferevent_mbedtls_dyncontext_free
      Src: /src/libevent/test-export/test-export.c:130,1
    - Dst: mbedtls_ssl_config_free
      Src: /src/libevent/test-export/test-export.c:133,1
    - Dst: free
      Src: /src/libevent/test-export/test-export.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 97
    functionDepth: 6
    functionLinenumber: 97
    functionLinenumberEnd: 137
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - mbedtls_ssl_config_init
    - free
    - event_base_free
    - mbedtls_ssl_config_free
    - bufferevent_mbedtls_dyncontext_free
    - malloc
    - bufferevent_mbedtls_dyncontext_new
    - bufferevent_mbedtls_socket_new
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: event_base_new
      Src: /src/libevent/test-export/test-export.c:144,1
    - Dst: event_base_free
      Src: /src/libevent/test-export/test-export.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 6
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: test
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 35
    functionsReached:
    - event_base_free
    - event_base_new
    linkageType: ''
    returnType: int
    signature: int test()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libevent/test-export/test-export.c:159,1
    - Dst: MAKEWORD
      Src: /src/libevent/test-export/test-export.c:159,1
    - Dst: test
      Src: /src/libevent/test-export/test-export.c:162,1
    - Dst: WSACleanup
      Src: /src/libevent/test-export/test-export.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: main
    functionSourceFile: /src/libevent/test-export/test-export.c
    functionUses: 2
    functionsReached:
    - MAKEWORD
    - test
    - WSACleanup
    - WSAStartup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char const *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/engines/e_ossltest.c:75,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/openssl/engines/e_ossltest.c:76,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/openssl/engines/e_ossltest.c:77,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/engines/e_ossltest.c:78,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/openssl/engines/e_ossltest.c:80,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/engines/e_ossltest.c:81,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/openssl/engines/e_ossltest.c:82,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/openssl/engines/e_ossltest.c:83,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:84,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: digest_md5
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_update
    - EVP_MD_meth_free
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_new
    - EVP_MD_meth_set_input_blocksize
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *digest_md5(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/engines/e_ossltest.c:104,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/openssl/engines/e_ossltest.c:105,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/openssl/engines/e_ossltest.c:106,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/engines/e_ossltest.c:107,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/openssl/engines/e_ossltest.c:109,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/engines/e_ossltest.c:110,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/openssl/engines/e_ossltest.c:111,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/openssl/engines/e_ossltest.c:112,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: digest_sha1
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_update
    - EVP_MD_meth_free
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_new
    - EVP_MD_meth_set_input_blocksize
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *digest_sha1(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/engines/e_ossltest.c:133,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/openssl/engines/e_ossltest.c:134,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/openssl/engines/e_ossltest.c:135,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/engines/e_ossltest.c:136,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/openssl/engines/e_ossltest.c:138,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/engines/e_ossltest.c:139,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/openssl/engines/e_ossltest.c:140,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/openssl/engines/e_ossltest.c:141,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: digest_sha256
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_update
    - EVP_MD_meth_free
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_new
    - EVP_MD_meth_set_input_blocksize
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *digest_sha256(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/engines/e_ossltest.c:167,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/openssl/engines/e_ossltest.c:168,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/openssl/engines/e_ossltest.c:169,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/engines/e_ossltest.c:170,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/openssl/engines/e_ossltest.c:172,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/engines/e_ossltest.c:173,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/openssl/engines/e_ossltest.c:174,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/openssl/engines/e_ossltest.c:175,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: digest_sha384
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_update
    - EVP_MD_meth_free
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_new
    - EVP_MD_meth_set_input_blocksize
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *digest_sha384(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/engines/e_ossltest.c:189,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/openssl/engines/e_ossltest.c:190,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/openssl/engines/e_ossltest.c:191,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/engines/e_ossltest.c:192,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/openssl/engines/e_ossltest.c:194,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/engines/e_ossltest.c:195,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/openssl/engines/e_ossltest.c:196,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/openssl/engines/e_ossltest.c:197,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:198,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: digest_sha512
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_update
    - EVP_MD_meth_free
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_new
    - EVP_MD_meth_set_input_blocksize
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *digest_sha512(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:207,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:209,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:211,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:213,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_ossltest.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: destroy_digests
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_free
    linkageType: ''
    returnType: void
    signature: void destroy_digests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: digest_md5
      Src: /src/openssl/engines/e_ossltest.c:226,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/engines/e_ossltest.c:227,1
    - Dst: digest_sha1
      Src: /src/openssl/engines/e_ossltest.c:228,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/engines/e_ossltest.c:229,1
    - Dst: digest_sha256
      Src: /src/openssl/engines/e_ossltest.c:230,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/engines/e_ossltest.c:231,1
    - Dst: digest_sha384
      Src: /src/openssl/engines/e_ossltest.c:232,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/engines/e_ossltest.c:233,1
    - Dst: digest_sha512
      Src: /src/openssl/engines/e_ossltest.c:234,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/engines/e_ossltest.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 241
    functionName: ossltest_digest_nids
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - digest_sha512
    - digest_md5
    - digest_sha1
    - digest_sha384
    - EVP_MD_get_type
    - digest_sha256
    linkageType: ''
    returnType: int
    signature: int ossltest_digest_nids(const int **nids)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/engines/e_ossltest.c:286,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/engines/e_ossltest.c:289,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/engines/e_ossltest.c:290,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/engines/e_ossltest.c:293,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/engines/e_ossltest.c:295,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/engines/e_ossltest.c:297,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/openssl/engines/e_ossltest.c:298,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/engines/e_ossltest.c:298,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_ossltest.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: ossltest_aes_128_cbc
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_impl_ctx_size
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_set_init
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *ossltest_aes_128_cbc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/engines/e_ossltest.c:316,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/engines/e_ossltest.c:319,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/engines/e_ossltest.c:320,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/engines/e_ossltest.c:321,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/engines/e_ossltest.c:323,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/openssl/engines/e_ossltest.c:325,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/engines/e_ossltest.c:327,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/openssl/engines/e_ossltest.c:328,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/engines/e_ossltest.c:328,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_ossltest.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 333
    functionName: ossltest_aes_128_gcm
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_impl_ctx_size
    - EVP_aes_128_gcm
    - EVP_CIPHER_meth_set_ctrl
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_set_init
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *ossltest_aes_128_gcm(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/engines/e_ossltest.c:341,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/engines/e_ossltest.c:344,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/engines/e_ossltest.c:345,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/engines/e_ossltest.c:348,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/engines/e_ossltest.c:350,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/openssl/engines/e_ossltest.c:352,1
    - Dst: EVP_CIPHER_meth_set_set_asn1_params
      Src: /src/openssl/engines/e_ossltest.c:354,1
    - Dst: EVP_CIPHER_meth_set_get_asn1_params
      Src: /src/openssl/engines/e_ossltest.c:356,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/engines/e_ossltest.c:358,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_ossltest.c:360,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 364
    functionName: ossltest_aes_128_cbc_hmac_sha1
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_set_asn1_params
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_get_asn1_params
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_set_ctrl
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_set_init
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *ossltest_aes_128_cbc_hmac_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_ossltest.c:368,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_ossltest.c:369,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_ossltest.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: destroy_ciphers
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: void
    signature: void destroy_ciphers(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/engines/e_ossltest.c:383,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_ossltest.c:386,1
    - Dst: BIO_new_file
      Src: /src/openssl/engines/e_ossltest.c:388,1
    - Dst: PEM_read_bio_PUBKEY
      Src: /src/openssl/engines/e_ossltest.c:392,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/engines/e_ossltest.c:394,1
    - Dst: BIO_free
      Src: /src/openssl/engines/e_ossltest.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - eng
    - key_id
    - pub
    - ui_method
    - ui_data
    argTypes:
    - ENGINE*
    - char*
    - int
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 397
    functionName: load_key
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - BIO_free
    - PEM_read_bio_PUBKEY
    - CHECK_AND_SKIP_CASE_PREFIX
    - fprintf
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_key(ENGINE *eng, const char *key_id, int pub,\n                          UI_METHOD
      *ui_method, void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/openssl/engines/e_ossltest.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eng
    - key_id
    - ui_method
    - ui_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: ossltest_load_privkey
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - load_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *ossltest_load_privkey(ENGINE *eng, const char *key_id,\n
      \                                      UI_METHOD *ui_method, void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/openssl/engines/e_ossltest.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eng
    - key_id
    - ui_method
    - ui_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: ossltest_load_pubkey
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - load_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *ossltest_load_pubkey(ENGINE *eng, const char *key_id,\n
      \                                     UI_METHOD *ui_method, void *ui_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_load_OSSLTEST_strings
      Src: /src/openssl/engines/e_ossltest.c:415,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/engines/e_ossltest.c:417,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/engines/e_ossltest.c:418,1
    - Dst: ENGINE_set_digests
      Src: /src/openssl/engines/e_ossltest.c:419,1
    - Dst: ENGINE_set_ciphers
      Src: /src/openssl/engines/e_ossltest.c:420,1
    - Dst: ENGINE_set_RAND
      Src: /src/openssl/engines/e_ossltest.c:421,1
    - Dst: ossltest_rand_method
      Src: /src/openssl/engines/e_ossltest.c:421,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/openssl/engines/e_ossltest.c:422,1
    - Dst: ENGINE_set_load_privkey_function
      Src: /src/openssl/engines/e_ossltest.c:423,1
    - Dst: ENGINE_set_load_pubkey_function
      Src: /src/openssl/engines/e_ossltest.c:424,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/engines/e_ossltest.c:425,1
    - Dst: ENGINE_set_finish_function
      Src: /src/openssl/engines/e_ossltest.c:426,1
    - Dst: OSSLTESTerr
      Src: /src/openssl/engines/e_ossltest.c:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 432
    functionName: bind_ossltest
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_load_pubkey_function
    - ENGINE_set_id
    - ENGINE_set_init_function
    - ENGINE_set_destroy_function
    - ERR_load_OSSLTEST_strings
    - ENGINE_set_finish_function
    - OSSLTESTerr
    - ENGINE_set_ciphers
    - ENGINE_set_name
    - ENGINE_set_RAND
    - ENGINE_set_digests
    - ENGINE_set_load_privkey_function
    - ossltest_rand_method
    linkageType: ''
    returnType: int
    signature: int bind_ossltest(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_ossltest.c:437,1
    - Dst: bind_ossltest
      Src: /src/openssl/engines/e_ossltest.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: bind_helper
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - strcmp
    - bind_ossltest
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e, const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/openssl/engines/e_ossltest.c:450,1
    - Dst: bind_ossltest
      Src: /src/openssl/engines/e_ossltest.c:453,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_ossltest.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: engine_ossltest
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - bind_ossltest
    - ENGINE_free
    - ENGINE_new
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *engine_ossltest(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_ossltest
      Src: /src/openssl/engines/e_ossltest.c:463,1
    - Dst: ENGINE_add
      Src: /src/openssl/engines/e_ossltest.c:466,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_ossltest.c:467,1
    - Dst: ERR_clear_error
      Src: /src/openssl/engines/e_ossltest.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: ENGINE_load_ossltest
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - engine_ossltest
    - ERR_clear_error
    - ENGINE_free
    - ENGINE_add
    linkageType: ''
    returnType: void
    signature: void ENGINE_load_ossltest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: ossltest_init
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossltest_init(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: ossltest_finish
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossltest_finish(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_digests
      Src: /src/openssl/engines/e_ossltest.c:486,1
    - Dst: destroy_ciphers
      Src: /src/openssl/engines/e_ossltest.c:487,1
    - Dst: ERR_unload_OSSLTEST_strings
      Src: /src/openssl/engines/e_ossltest.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: ossltest_destroy
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - destroy_digests
    - ERR_unload_OSSLTEST_strings
    - destroy_ciphers
    linkageType: ''
    returnType: int
    signature: int ossltest_destroy(ENGINE *e)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossltest_digest_nids
      Src: /src/openssl/engines/e_ossltest.c:498,1
    - Dst: digest_md5
      Src: /src/openssl/engines/e_ossltest.c:503,1
    - Dst: digest_sha1
      Src: /src/openssl/engines/e_ossltest.c:506,1
    - Dst: digest_sha256
      Src: /src/openssl/engines/e_ossltest.c:509,1
    - Dst: digest_sha384
      Src: /src/openssl/engines/e_ossltest.c:512,1
    - Dst: digest_sha512
      Src: /src/openssl/engines/e_ossltest.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - e
    - digest
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_MD**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 523
    functionName: ossltest_digests
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - digest_sha512
    - digest_md5
    - ossltest_digest_nids
    - digest_sha1
    - digest_sha384
    - digest_sha256
    linkageType: ''
    returnType: int
    signature: "int ossltest_digests(ENGINE *e, const EVP_MD **digest,\n                          const
      int **nids, int nid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossltest_aes_128_cbc
      Src: /src/openssl/engines/e_ossltest.c:538,1
    - Dst: ossltest_aes_128_gcm
      Src: /src/openssl/engines/e_ossltest.c:541,1
    - Dst: ossltest_aes_128_cbc_hmac_sha1
      Src: /src/openssl/engines/e_ossltest.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 552
    functionName: ossltest_ciphers
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - ossltest_aes_128_gcm
    - ossltest_aes_128_cbc_hmac_sha1
    - ossltest_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: "int ossltest_ciphers(ENGINE *e, const EVP_CIPHER **cipher,\n                          const
      int **nids, int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: fill_known_data
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_known_data(unsigned char *md, unsigned int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/openssl/engines/e_ossltest.c:571,1
    - Dst: EVP_md5
      Src: /src/openssl/engines/e_ossltest.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: digest_md5_init
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_md5
    - EVP_MD_meth_get_init
    linkageType: ''
    returnType: int
    signature: int digest_md5_init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/openssl/engines/e_ossltest.c:577,1
    - Dst: EVP_md5
      Src: /src/openssl/engines/e_ossltest.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: digest_md5_update
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_md5
    - EVP_MD_meth_get_update
    linkageType: ''
    returnType: int
    signature: "int digest_md5_update(EVP_MD_CTX *ctx, const void *data,\n                             size_t
      count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_final
      Src: /src/openssl/engines/e_ossltest.c:582,1
    - Dst: EVP_md5
      Src: /src/openssl/engines/e_ossltest.c:582,1
    - Dst: fill_known_data
      Src: /src/openssl/engines/e_ossltest.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 588
    functionName: digest_md5_final
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    - EVP_MD_meth_get_final
    - EVP_md5
    linkageType: ''
    returnType: int
    signature: int digest_md5_final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/openssl/engines/e_ossltest.c:595,1
    - Dst: EVP_sha1
      Src: /src/openssl/engines/e_ossltest.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: digest_sha1_init
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_sha1
    - EVP_MD_meth_get_init
    linkageType: ''
    returnType: int
    signature: int digest_sha1_init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/openssl/engines/e_ossltest.c:601,1
    - Dst: EVP_sha1
      Src: /src/openssl/engines/e_ossltest.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: digest_sha1_update
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_sha1
    - EVP_MD_meth_get_update
    linkageType: ''
    returnType: int
    signature: "int digest_sha1_update(EVP_MD_CTX *ctx, const void *data,\n                              size_t
      count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_final
      Src: /src/openssl/engines/e_ossltest.c:606,1
    - Dst: EVP_sha1
      Src: /src/openssl/engines/e_ossltest.c:606,1
    - Dst: fill_known_data
      Src: /src/openssl/engines/e_ossltest.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: digest_sha1_final
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    - EVP_MD_meth_get_final
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: int digest_sha1_final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/openssl/engines/e_ossltest.c:619,1
    - Dst: EVP_sha256
      Src: /src/openssl/engines/e_ossltest.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: digest_sha256_init
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_MD_meth_get_init
    linkageType: ''
    returnType: int
    signature: int digest_sha256_init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/openssl/engines/e_ossltest.c:625,1
    - Dst: EVP_sha256
      Src: /src/openssl/engines/e_ossltest.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: digest_sha256_update
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_MD_meth_get_update
    linkageType: ''
    returnType: int
    signature: "int digest_sha256_update(EVP_MD_CTX *ctx, const void *data,\n                                size_t
      count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_final
      Src: /src/openssl/engines/e_ossltest.c:630,1
    - Dst: EVP_sha256
      Src: /src/openssl/engines/e_ossltest.c:630,1
    - Dst: fill_known_data
      Src: /src/openssl/engines/e_ossltest.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: digest_sha256_final
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - fill_known_data
    - EVP_MD_meth_get_final
    linkageType: ''
    returnType: int
    signature: int digest_sha256_final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/openssl/engines/e_ossltest.c:643,1
    - Dst: EVP_sha384
      Src: /src/openssl/engines/e_ossltest.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: digest_sha384_init
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_get_init
    - EVP_sha384
    linkageType: ''
    returnType: int
    signature: int digest_sha384_init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/openssl/engines/e_ossltest.c:649,1
    - Dst: EVP_sha384
      Src: /src/openssl/engines/e_ossltest.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: digest_sha384_update
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_sha384
    - EVP_MD_meth_get_update
    linkageType: ''
    returnType: int
    signature: "int digest_sha384_update(EVP_MD_CTX *ctx, const void *data,\n                                size_t
      count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_final
      Src: /src/openssl/engines/e_ossltest.c:654,1
    - Dst: EVP_sha384
      Src: /src/openssl/engines/e_ossltest.c:654,1
    - Dst: fill_known_data
      Src: /src/openssl/engines/e_ossltest.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: digest_sha384_final
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    - EVP_MD_meth_get_final
    - EVP_sha384
    linkageType: ''
    returnType: int
    signature: int digest_sha384_final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_init
      Src: /src/openssl/engines/e_ossltest.c:667,1
    - Dst: EVP_sha512
      Src: /src/openssl/engines/e_ossltest.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: digest_sha512_init
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_sha512
    - EVP_MD_meth_get_init
    linkageType: ''
    returnType: int
    signature: int digest_sha512_init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_update
      Src: /src/openssl/engines/e_ossltest.c:673,1
    - Dst: EVP_sha512
      Src: /src/openssl/engines/e_ossltest.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: digest_sha512_update
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_sha512
    - EVP_MD_meth_get_update
    linkageType: ''
    returnType: int
    signature: "int digest_sha512_update(EVP_MD_CTX *ctx, const void *data,\n                                size_t
      count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_get_final
      Src: /src/openssl/engines/e_ossltest.c:678,1
    - Dst: EVP_sha512
      Src: /src/openssl/engines/e_ossltest.c:678,1
    - Dst: fill_known_data
      Src: /src/openssl/engines/e_ossltest.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 684
    functionName: digest_sha512_final
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - fill_known_data
    - EVP_MD_meth_get_final
    - EVP_sha512
    linkageType: ''
    returnType: int
    signature: int digest_sha512_final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_get_init
      Src: /src/openssl/engines/e_ossltest.c:694,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/engines/e_ossltest.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: ossltest_aes128_init_key
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_cbc
    - EVP_CIPHER_meth_get_init
    linkageType: ''
    returnType: int
    signature: "int ossltest_aes128_init_key(EVP_CIPHER_CTX *ctx,\n                                    const
      unsigned char *key,\n                                    const unsigned char
      *iv, int enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_ossltest.c:703,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_ossltest.c:711,1
    - Dst: EVP_CIPHER_meth_get_do_cipher
      Src: /src/openssl/engines/e_ossltest.c:714,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/engines/e_ossltest.c:714,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_ossltest.c:718,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_ossltest.c:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 722
    functionName: ossltest_aes128_cbc_cipher
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_cbc
    - memcpy
    - OPENSSL_free
    - OPENSSL_malloc
    - EVP_CIPHER_meth_get_do_cipher
    linkageType: ''
    returnType: int
    signature: "int ossltest_aes128_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out,\n                                      const unsigned char *in, size_t
      inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_get_init
      Src: /src/openssl/engines/e_ossltest.c:728,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/engines/e_ossltest.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 729
    functionName: ossltest_aes128_gcm_init_key
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_gcm
    - EVP_CIPHER_meth_get_init
    linkageType: ''
    returnType: int
    signature: "int ossltest_aes128_gcm_init_key(EVP_CIPHER_CTX *ctx,\n                                        const
      unsigned char *key,\n                                        const unsigned
      char *iv, int enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_ossltest.c:734,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_ossltest.c:742,1
    - Dst: EVP_CIPHER_meth_get_do_cipher
      Src: /src/openssl/engines/e_ossltest.c:745,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/engines/e_ossltest.c:745,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_ossltest.c:749,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_ossltest.c:750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 753
    functionName: ossltest_aes128_gcm_cipher
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_free
    - EVP_aes_128_gcm
    - OPENSSL_malloc
    - EVP_CIPHER_meth_get_do_cipher
    linkageType: ''
    returnType: int
    signature: "int ossltest_aes128_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out,\n                                      const unsigned char *in, size_t
      inl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/openssl/engines/e_ossltest.c:759,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/engines/e_ossltest.c:759,1
    - Dst: memset
      Src: /src/openssl/engines/e_ossltest.c:767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 775
    functionName: ossltest_aes128_gcm_ctrl
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_get_ctrl
    - EVP_aes_128_gcm
    - memset
    linkageType: ''
    returnType: int
    signature: "int ossltest_aes128_gcm_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,\n
      \                                   void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 779
    functionName: data
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/engines/e_ossltest.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 788
    functionName: ossltest_aes128_cbc_hmac_sha1_init_key
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: int
    signature: "int ossltest_aes128_cbc_hmac_sha1_init_key(EVP_CIPHER_CTX *ctx,\n
      \                                                 const unsigned char *inkey,\n
      \                                                 const unsigned char *iv,\n
      \                                                 int enc)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/engines/e_ossltest.c:795,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_ossltest.c:804,1
    - Dst: memmove
      Src: /src/openssl/engines/e_ossltest.c:812,1
    - Dst: fill_known_data
      Src: /src/openssl/engines/e_ossltest.c:816,1
    - Dst: memmove
      Src: /src/openssl/engines/e_ossltest.c:825,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 853
    functionName: ossltest_aes128_cbc_hmac_sha1_cipher
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - fill_known_data
    - data
    - memmove
    linkageType: ''
    returnType: int
    signature: "int ossltest_aes128_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx,\n                                                unsigned
      char *out,\n                                                const unsigned char
      *in,\n                                                size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/engines/e_ossltest.c:858,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_ossltest.c:875,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 897
    functionName: ossltest_aes128_cbc_hmac_sha1_ctrl
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - data
    linkageType: ''
    returnType: int
    signature: "int ossltest_aes128_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,\n
      \                                             int arg, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 906
    functionName: ossltest_rand_bytes
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossltest_rand_bytes(unsigned char *buf, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 911
    functionName: ossltest_rand_status
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossltest_rand_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 926
    functionName: ossltest_rand_method
    functionSourceFile: /src/openssl/engines/e_ossltest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RAND_METHOD
    signature: RAND_METHOD *ossltest_rand_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: S_ISDIR
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UI_new
      Src: /src/openssl/engines/e_loader_attic.c:60,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:64,1
    - Dst: UI_set_method
      Src: /src/openssl/engines/e_loader_attic.c:69,1
    - Dst: UI_add_user_data
      Src: /src/openssl/engines/e_loader_attic.c:70,1
    - Dst: UI_construct_prompt
      Src: /src/openssl/engines/e_loader_attic.c:72,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:73,1
    - Dst: UI_add_input_string
      Src: /src/openssl/engines/e_loader_attic.c:75,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:77,1
    - Dst: UI_process
      Src: /src/openssl/engines/e_loader_attic.c:80,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:82,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:94,1
    - Dst: UI_free
      Src: /src/openssl/engines/e_loader_attic.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - ui_method
    - pass
    - maxsize
    - desc
    - info
    - data
    argTypes:
    - UI_METHOD*
    - char*
    - size_t
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 97
    functionName: file_get_pass
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - UI_set_method
    - UI_free
    - UI_process
    - OPENSSL_free
    - UI_construct_prompt
    - UI_new
    - UI_add_user_data
    - UI_add_input_string
    - ATTICerr
    linkageType: ''
    returnType: char
    signature: "char *file_get_pass(const UI_METHOD *ui_method, char *pass,\n                           size_t
      maxsize, const char *desc, const char *info,\n                           void
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - pass_data
    - desc
    - info
    - ui_method
    - ui_data
    argTypes:
    - struct pem_pass_data*
    - char*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: file_fill_pem_pass_data
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int file_fill_pem_pass_data(struct pem_pass_data *pass_data,\n                                   const
      char *desc, const char *info,\n                                   const UI_METHOD
      *ui_method, void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_get_pass
      Src: /src/openssl/engines/e_loader_attic.c:123,1
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - num
    - w
    - data
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: file_get_pem_pass
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - strlen
    - file_get_pass
    linkageType: ''
    returnType: int
    signature: int file_get_pem_pass(char *buf, int num, int w, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:138,1
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:139,1
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: check_suffix
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int check_suffix(const char *str, const char *suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_get0_data
      Src: /src/openssl/engines/e_loader_attic.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: get0_EMBEDDED
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_INFO_get0_data
    linkageType: ''
    returnType: struct embedded_st
    signature: struct embedded_st *get0_EMBEDDED(OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get0_EMBEDDED
      Src: /src/openssl/engines/e_loader_attic.c:181,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/engines/e_loader_attic.c:182,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:184,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/engines/e_loader_attic.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: store_info_free
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_INFO_free
    - OPENSSL_free
    - BUF_MEM_free
    - get0_EMBEDDED
    linkageType: ''
    returnType: void
    signature: void store_info_free(OSSL_STORE_INFO *info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_loader_attic.c:195,1
    - Dst: OSSL_STORE_INFO_new
      Src: /src/openssl/engines/e_loader_attic.c:197,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:198,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:199,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/engines/e_loader_attic.c:205,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - new_pem_name
    - embedded
    argTypes:
    - char*
    - BUF_MEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 213
    functionName: new_EMBEDDED
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_STORE_INFO_new
    - OPENSSL_free
    - OPENSSL_strdup
    - store_info_free
    - ATTICerr
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *new_EMBEDDED(const char *new_pem_name,\n                                     BUF_MEM
      *embedded)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/engines/e_loader_attic.c:306,1
    - Dst: d2i_PKCS12
      Src: /src/openssl/engines/e_loader_attic.c:316,1
    - Dst: STACK_OF
      Src: /src/openssl/engines/e_loader_attic.c:321,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/engines/e_loader_attic.c:325,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/engines/e_loader_attic.c:326,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/engines/e_loader_attic.c:327,1
    - Dst: file_get_pass
      Src: /src/openssl/engines/e_loader_attic.c:330,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:333,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/engines/e_loader_attic.c:336,1
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:336,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:337,1
    - Dst: PKCS12_parse
      Src: /src/openssl/engines/e_loader_attic.c:342,1
    - Dst: sk_OSSL_STORE_INFO_new_null
      Src: /src/openssl/engines/e_loader_attic.c:348,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/openssl/engines/e_loader_attic.c:350,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/engines/e_loader_attic.c:353,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/engines/e_loader_attic.c:359,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/engines/e_loader_attic.c:362,1
    - Dst: sk_X509_num
      Src: /src/openssl/engines/e_loader_attic.c:367,1
    - Dst: sk_X509_value
      Src: /src/openssl/engines/e_loader_attic.c:368,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/engines/e_loader_attic.c:370,1
    - Dst: sk_X509_shift
      Src: /src/openssl/engines/e_loader_attic.c:371,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/engines/e_loader_attic.c:372,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:378,1
    - Dst: X509_free
      Src: /src/openssl/engines/e_loader_attic.c:379,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/engines/e_loader_attic.c:380,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:381,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:382,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:383,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/openssl/engines/e_loader_attic.c:385,1
    - Dst: PKCS12_free
      Src: /src/openssl/engines/e_loader_attic.c:392,1
    - Dst: sk_OSSL_STORE_INFO_shift
      Src: /src/openssl/engines/e_loader_attic.c:398,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 62
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 400
    functionName: try_decode_PKCS12
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - sk_X509_shift
    - X509_free
    - sk_OSSL_STORE_INFO_push
    - strlen
    - sk_X509_num
    - d2i_PKCS12
    - PKCS12_mac_present
    - sk_X509_value
    - EVP_PKEY_free
    - OSSL_STACK_OF_X509_free
    - sk_OSSL_STORE_INFO_shift
    - file_get_pass
    - store_info_free
    - sk_OSSL_STORE_INFO_new_null
    - sk_OSSL_STORE_INFO_pop_free
    - PKCS12_verify_mac
    - STACK_OF
    - OSSL_STORE_INFO_new_PKEY
    - PKCS12_parse
    - PKCS12_free
    - OSSL_STORE_INFO_new_CERT
    - ATTICerr
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *try_decode_PKCS12(const char *pem_name,\n                                          const
      char *pem_header,\n                                          const unsigned
      char *blob,\n                                          size_t len, void **pctx,\n
      \                                         int *matchcount,\n                                          const
      UI_METHOD *ui_method,\n                                          void *ui_data,
      const char *uri,\n                                          OSSL_LIB_CTX *libctx,\n
      \                                         const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/engines/e_loader_attic.c:404,1
    - Dst: sk_OSSL_STORE_INFO_num
      Src: /src/openssl/engines/e_loader_attic.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: eof_PKCS12
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - sk_OSSL_STORE_INFO_num
    linkageType: ''
    returnType: int
    signature: int eof_PKCS12(void *ctx_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/engines/e_loader_attic.c:411,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/openssl/engines/e_loader_attic.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: destroy_ctx_PKCS12
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - sk_OSSL_STORE_INFO_pop_free
    linkageType: ''
    returnType: void
    signature: void destroy_ctx_PKCS12(void **pctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:452,1
    - Dst: d2i_X509_SIG
      Src: /src/openssl/engines/e_loader_attic.c:457,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/engines/e_loader_attic.c:462,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:463,1
    - Dst: file_get_pass
      Src: /src/openssl/engines/e_loader_attic.c:467,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:470,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/engines/e_loader_attic.c:474,1
    - Dst: PKCS12_pbe_crypt
      Src: /src/openssl/engines/e_loader_attic.c:475,1
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:475,1
    - Dst: X509_SIG_free
      Src: /src/openssl/engines/e_loader_attic.c:482,1
    - Dst: new_EMBEDDED
      Src: /src/openssl/engines/e_loader_attic.c:485,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:487,1
    - Dst: X509_SIG_free
      Src: /src/openssl/engines/e_loader_attic.c:493,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/engines/e_loader_attic.c:494,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 430
    functionDepth: 4
    functionLinenumber: 430
    functionLinenumberEnd: 496
    functionName: try_decode_PKCS8Encrypted
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    - X509_SIG_get0
    - PKCS12_pbe_crypt
    - X509_SIG_free
    - new_EMBEDDED
    - d2i_X509_SIG
    - file_get_pass
    - strcmp
    - BUF_MEM_new
    - strlen
    - ATTICerr
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *try_decode_PKCS8Encrypted(const char *pem_name,\n
      \                                                 const char *pem_header,\n
      \                                                 const unsigned char *blob,\n
      \                                                 size_t len, void **pctx,\n
      \                                                 int *matchcount,\n                                                  const
      UI_METHOD *ui_method,\n                                                  void
      *ui_data,\n                                                  const char *uri,\n
      \                                                 OSSL_LIB_CTX *libctx,\n                                                  const
      char *propq)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:525,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/engines/e_loader_attic.c:527,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/engines/e_loader_attic.c:531,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/engines/e_loader_attic.c:532,1
    - Dst: check_suffix
      Src: /src/openssl/engines/e_loader_attic.c:537,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/engines/e_loader_attic.c:538,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/engines/e_loader_attic.c:540,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/engines/e_loader_attic.c:543,1
    - Dst: ENGINE_get_first
      Src: /src/openssl/engines/e_loader_attic.c:550,1
    - Dst: ENGINE_get_pkey_asn1_meths
      Src: /src/openssl/engines/e_loader_attic.c:554,1
    - Dst: asn1meths
      Src: /src/openssl/engines/e_loader_attic.c:558,1
    - Dst: asn1meths
      Src: /src/openssl/engines/e_loader_attic.c:566,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/engines/e_loader_attic.c:567,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_loader_attic.c:573,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/engines/e_loader_attic.c:574,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:579,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_loader_attic.c:584,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/engines/e_loader_attic.c:587,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/openssl/engines/e_loader_attic.c:591,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/openssl/engines/e_loader_attic.c:596,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/engines/e_loader_attic.c:597,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_loader_attic.c:602,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/engines/e_loader_attic.c:603,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:607,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_loader_attic.c:612,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:616,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/openssl/engines/e_loader_attic.c:624,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:626,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 629
    functionName: try_decode_PrivateKey
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ENGINE_get_pkey_asn1_meths
    - EVP_PKCS82PKEY_ex
    - EVP_PKEY_asn1_get0_info
    - d2i_PrivateKey_ex
    - ERR_pop_to_mark
    - ERR_set_mark
    - EVP_PKEY_free
    - check_suffix
    - ENGINE_get_first
    - EVP_PKEY_asn1_get_count
    - EVP_PKEY_asn1_get0
    - d2i_PKCS8_PRIV_KEY_INFO
    - asn1meths
    - strcmp
    - EVP_PKEY_asn1_find_str
    - OSSL_STORE_INFO_new_PKEY
    - ENGINE_get_next
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *try_decode_PrivateKey(const char *pem_name,\n                                              const
      char *pem_header,\n                                              const unsigned
      char *blob,\n                                              size_t len, void
      **pctx,\n                                              int *matchcount,\n                                              const
      UI_METHOD *ui_method,\n                                              void *ui_data,
      const char *uri,\n                                              OSSL_LIB_CTX
      *libctx,\n                                              const char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:653,1
    - Dst: d2i_PUBKEY
      Src: /src/openssl/engines/e_loader_attic.c:659,1
    - Dst: OSSL_STORE_INFO_new_PUBKEY
      Src: /src/openssl/engines/e_loader_attic.c:661,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 665
    functionName: try_decode_PUBKEY
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_STORE_INFO_new_PUBKEY
    - d2i_PUBKEY
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *try_decode_PUBKEY(const char *pem_name,\n                                          const
      char *pem_header,\n                                          const unsigned
      char *blob,\n                                          size_t len, void **pctx,\n
      \                                         int *matchcount,\n                                          const
      UI_METHOD *ui_method,\n                                          void *ui_data,
      const char *uri,\n                                          OSSL_LIB_CTX *libctx,\n
      \                                         const char *propq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_suffix
      Src: /src/openssl/engines/e_loader_attic.c:695,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/engines/e_loader_attic.c:696,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/engines/e_loader_attic.c:697,1
    - Dst: d2i_KeyParams
      Src: /src/openssl/engines/e_loader_attic.c:700,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/openssl/engines/e_loader_attic.c:705,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/openssl/engines/e_loader_attic.c:710,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/engines/e_loader_attic.c:711,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_loader_attic.c:716,1
    - Dst: d2i_KeyParams
      Src: /src/openssl/engines/e_loader_attic.c:718,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:722,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_loader_attic.c:727,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:731,1
    - Dst: OSSL_STORE_INFO_new_PARAMS
      Src: /src/openssl/engines/e_loader_attic.c:739,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:741,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 744
    functionName: try_decode_params
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_INFO_new_PARAMS
    - EVP_PKEY_asn1_get0_info
    - ERR_pop_to_mark
    - ERR_set_mark
    - EVP_PKEY_free
    - check_suffix
    - d2i_KeyParams
    - EVP_PKEY_asn1_get_count
    - EVP_PKEY_asn1_get0
    - EVP_PKEY_asn1_find_str
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *try_decode_params(const char *pem_name,\n                                          const
      char *pem_header,\n                                          const unsigned
      char *blob,\n                                          size_t len, void **pctx,\n
      \                                         int *matchcount,\n                                          const
      UI_METHOD *ui_method,\n                                          void *ui_data,
      const char *uri,\n                                          OSSL_LIB_CTX *libctx,\n
      \                                         const char *propq)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:780,1
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:782,1
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:783,1
    - Dst: X509_new_ex
      Src: /src/openssl/engines/e_loader_attic.c:789,1
    - Dst: d2i_X509_AUX
      Src: /src/openssl/engines/e_loader_attic.c:793,1
    - Dst: d2i_X509
      Src: /src/openssl/engines/e_loader_attic.c:794,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/engines/e_loader_attic.c:796,1
    - Dst: X509_free
      Src: /src/openssl/engines/e_loader_attic.c:800,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 803
    functionName: try_decode_X509Certificate
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - X509_free
    - X509_new_ex
    - strcmp
    - d2i_X509_AUX
    - d2i_X509
    - OSSL_STORE_INFO_new_CERT
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *try_decode_X509Certificate(const char *pem_name,\n
      \                                                  const char *pem_header,\n
      \                                                  const unsigned char *blob,\n
      \                                                  size_t len, void **pctx,\n
      \                                                  int *matchcount,\n                                                   const
      UI_METHOD *ui_method,\n                                                   void
      *ui_data,\n                                                   const char *uri,\n
      \                                                  OSSL_LIB_CTX *libctx,\n                                                   const
      char *propq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:829,1
    - Dst: d2i_X509_CRL
      Src: /src/openssl/engines/e_loader_attic.c:835,1
    - Dst: OSSL_STORE_INFO_new_CRL
      Src: /src/openssl/engines/e_loader_attic.c:837,1
    - Dst: X509_CRL_free
      Src: /src/openssl/engines/e_loader_attic.c:841,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 11
    argNames:
    - pem_name
    - pem_header
    - blob
    - len
    - pctx
    - matchcount
    - ui_method
    - ui_data
    - uri
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - void**
    - int*
    - UI_METHOD*
    - void*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 844
    functionName: try_decode_X509CRL
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - strcmp
    - d2i_X509_CRL
    - X509_CRL_free
    - OSSL_STORE_INFO_new_CRL
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *try_decode_X509CRL(const char *pem_name,\n                                           const
      char *pem_header,\n                                           const unsigned
      char *blob,\n                                           size_t len, void **pctx,\n
      \                                          int *matchcount,\n                                           const
      UI_METHOD *ui_method,\n                                           void *ui_data,
      const char *uri,\n                                           OSSL_LIB_CTX *libctx,\n
      \                                          const char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:925,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:926,1
    - Dst: OSSL_STORE_LOADER_CTX*::_::file::last_handler::destroy_ctx
      Src: /src/openssl/engines/e_loader_attic.c:929,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 935
    functionName: OSSL_STORE_LOADER_CTX_free
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_STORE_LOADER_CTX*::_::file::last_handler::destroy_ctx
    linkageType: ''
    returnType: void
    signature: void OSSL_STORE_LOADER_CTX_free(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/engines/e_loader_attic.c:942,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/engines/e_loader_attic.c:942,1
    - Dst: BIO_push
      Src: /src/openssl/engines/e_loader_attic.c:945,1
    - Dst: BIO_buffer_peek
      Src: /src/openssl/engines/e_loader_attic.c:946,1
    - Dst: strstr
      Src: /src/openssl/engines/e_loader_attic.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 952
    functionName: file_find_type
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - BIO_buffer_peek
    - BIO_new
    - strstr
    - BIO_f_buffer
    - BIO_push
    linkageType: ''
    returnType: int
    signature: int file_find_type(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/engines/e_loader_attic.c:976,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/engines/e_loader_attic.c:978,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/engines/e_loader_attic.c:980,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/engines/e_loader_attic.c:981,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:988,1
    - Dst: tolower
      Src: /src/openssl/engines/e_loader_attic.c:995,1
    - Dst: stat
      Src: /src/openssl/engines/e_loader_attic.c:1008,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_loader_attic.c:1009,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_loader_attic.c:1022,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/engines/e_loader_attic.c:1025,1
    - Dst: S_ISDIR
      Src: /src/openssl/engines/e_loader_attic.c:1029,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/engines/e_loader_attic.c:1031,1
    - Dst: ERR_raise
      Src: /src/openssl/engines/e_loader_attic.c:1035,1
    - Dst: BIO_new_file
      Src: /src/openssl/engines/e_loader_attic.c:1040,1
    - Dst: file_find_type
      Src: /src/openssl/engines/e_loader_attic.c:1041,1
    - Dst: BIO_free_all
      Src: /src/openssl/engines/e_loader_attic.c:1042,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/engines/e_loader_attic.c:1046,1
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/openssl/engines/e_loader_attic.c:1054,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 6
    argNames:
    - loader
    - uri
    - libctx
    - propq
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    - OSSL_LIB_CTX*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 1056
    functionName: file_open_ex
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - stat
    - OPENSSL_zalloc
    - ERR_raise
    - BIO_new_file
    - tolower
    - CHECK_AND_SKIP_PREFIX
    - CHECK_AND_SKIP_CASE_PREFIX
    - ERR_raise_data
    - S_ISDIR
    - BIO_free_all
    - OPENSSL_strdup
    - file_find_type
    - OSSL_STORE_LOADER_CTX_free
    - OPENSSL_DIR_read
    - ATTICerr
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX
    signature: "OSSL_STORE_LOADER_CTX *file_open_ex\n    (const OSSL_STORE_LOADER
      *loader, const char *uri,\n     OSSL_LIB_CTX *libctx, const char *propq,\n     const
      UI_METHOD *ui_method, void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_open_ex
      Src: /src/openssl/engines/e_loader_attic.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - loader
    - uri
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1063
    functionName: file_open
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - file_open_ex
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX
    signature: "OSSL_STORE_LOADER_CTX *file_open\n    (const OSSL_STORE_LOADER *loader,
      const char *uri,\n     const UI_METHOD *ui_method, void *ui_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_loader_attic.c:1072,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/engines/e_loader_attic.c:1073,1
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/openssl/engines/e_loader_attic.c:1074,1
    - Dst: file_find_type
      Src: /src/openssl/engines/e_loader_attic.c:1080,1
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/openssl/engines/e_loader_attic.c:1087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - loader
    - bp
    - libctx
    - propq
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER*
    - BIO*
    - OSSL_LIB_CTX*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1089
    functionName: file_attach
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_CTX_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - file_find_type
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX
    signature: "OSSL_STORE_LOADER_CTX *file_attach\n    (const OSSL_STORE_LOADER *loader,
      BIO *bp,\n     OSSL_LIB_CTX *libctx, const char *propq,\n     const UI_METHOD
      *ui_method, void *ui_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:1108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - cmd
    - args
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1119
    functionName: file_ctrl
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - ATTICerr
    linkageType: ''
    returnType: int
    signature: int file_ctrl(OSSL_STORE_LOADER_CTX *ctx, int cmd, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - expected
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1125
    functionName: file_expect
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_expect(OSSL_STORE_LOADER_CTX *ctx, int expected)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_SEARCH_get_type
      Src: /src/openssl/engines/e_loader_attic.c:1135,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:1142,1
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/engines/e_loader_attic.c:1146,1
    - Dst: OSSL_STORE_SEARCH_get0_name
      Src: /src/openssl/engines/e_loader_attic.c:1146,1
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_loader_attic.c:1148,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:1154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - search
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1156
    functionName: file_find
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - X509_NAME_hash_ex
    - OSSL_STORE_SEARCH_get_type
    - BIO_snprintf
    - OSSL_STORE_SEARCH_get0_name
    - ATTICerr
    linkageType: ''
    returnType: int
    signature: "int file_find(OSSL_STORE_LOADER_CTX *ctx,\n                     const
      OSSL_STORE_SEARCH *search)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_loader_attic.c:1175,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_loader_attic.c:1176,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_loader_attic.c:1182,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_loader_attic.c:1189,1
    - Dst: FILE_HANDLER*::try_decode
      Src: /src/openssl/engines/e_loader_attic.c:1191,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/engines/e_loader_attic.c:1196,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/engines/e_loader_attic.c:1197,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/engines/e_loader_attic.c:1198,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_loader_attic.c:1199,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/engines/e_loader_attic.c:1201,1
    - Dst: FILE_HANDLER*::destroy_ctx
      Src: /src/openssl/engines/e_loader_attic.c:1208,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:1213,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:1214,1
    - Dst: FILE_HANDLER*::destroy_ctx
      Src: /src/openssl/engines/e_loader_attic.c:1216,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:1234,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:1238,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/engines/e_loader_attic.c:1239,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/engines/e_loader_attic.c:1242,1
    - Dst: get0_EMBEDDED
      Src: /src/openssl/engines/e_loader_attic.c:1243,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:1253,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 8
    argNames:
    - ctx
    - pem_name
    - pem_header
    - data
    - len
    - ui_method
    - ui_data
    - matchcount
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - char*
    - char*
    - unsigned char*
    - size_t
    - UI_METHOD*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1158
    functionDepth: 3
    functionLinenumber: 1158
    functionLinenumberEnd: 1259
    functionName: file_load_try_decode
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BUF_MEM_free
    - ERR_GET_LIB
    - OSSL_STORE_INFO_get_type
    - ERR_pop_to_mark
    - ERR_set_mark
    - FILE_HANDLER*::destroy_ctx
    - ERR_GET_REASON
    - ERR_peek_last_error
    - get0_EMBEDDED
    - OPENSSL_free
    - OSSL_NELEM
    - FILE_HANDLER*::try_decode
    - store_info_free
    - ERR_clear_last_mark
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *file_load_try_decode(OSSL_STORE_LOADER_CTX *ctx,\n
      \                                            const char *pem_name,\n                                             const
      char *pem_header,\n                                             unsigned char
      *data, size_t len,\n                                             const UI_METHOD
      *ui_method,\n                                             void *ui_data, int
      *matchcount)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_CTX*::_::file::last_handler::try_decode
      Src: /src/openssl/engines/e_loader_attic.c:1270,1
    - Dst: OSSL_STORE_LOADER_CTX*::_::file::last_handler::destroy_ctx
      Src: /src/openssl/engines/e_loader_attic.c:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1283
    functionName: file_load_try_repeat
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_CTX*::_::file::last_handler::try_decode
    - OSSL_STORE_LOADER_CTX*::_::file::last_handler::destroy_ctx
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *file_load_try_repeat(OSSL_STORE_LOADER_CTX *ctx,\n
      \                                            const UI_METHOD *ui_method,\n                                             void
      *ui_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/engines/e_loader_attic.c:1288,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:1290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pem_data
    - secure
    - num
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1291
    functionName: pem_free_flag
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void pem_free_flag(void *pem_data, int secure, size_t num)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/engines/e_loader_attic.c:1298,1
    - Dst: PEM_read_bio
      Src: /src/openssl/engines/e_loader_attic.c:1300,1
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:1311,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/openssl/engines/e_loader_attic.c:1315,1
    - Dst: file_fill_pem_pass_data
      Src: /src/openssl/engines/e_loader_attic.c:1316,1
    - Dst: PEM_do_header
      Src: /src/openssl/engines/e_loader_attic.c:1318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 9
    argNames:
    - bp
    - pem_name
    - pem_header
    - data
    - len
    - ui_method
    - ui_data
    - uri
    - secure
    argTypes:
    - BIO*
    - char**
    - char**
    - unsigned char**
    - long*
    - UI_METHOD*
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1324
    functionName: file_read_pem
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - file_fill_pem_pass_data
    - PEM_get_EVP_CIPHER_INFO
    - PEM_do_header
    - PEM_read_bio
    - PEM_read_bio_ex
    - strlen
    linkageType: ''
    returnType: int
    signature: "int file_read_pem(BIO *bp, char **pem_name, char **pem_header,\n                         unsigned
      char **data, long *len,\n                         const UI_METHOD *ui_method,
      void *ui_data,\n                         const char *uri, int secure)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_buffer_peek
      Src: /src/openssl/engines/e_loader_attic.c:1337,1
    - Dst: ossl_do_blob_header
      Src: /src/openssl/engines/e_loader_attic.c:1339,1
    - Dst: b2i_PublicKey_bio
      Src: /src/openssl/engines/e_loader_attic.c:1348,1
    - Dst: b2i_PrivateKey_bio
      Src: /src/openssl/engines/e_loader_attic.c:1349,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/openssl/engines/e_loader_attic.c:1352,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:1353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - bp
    - matchcount
    argTypes:
    - BIO*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1359
    functionName: file_try_read_msblob
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - BIO_buffer_peek
    - ossl_do_blob_header
    - b2i_PrivateKey_bio
    - EVP_PKEY_free
    - b2i_PublicKey_bio
    - OSSL_STORE_INFO_new_PKEY
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *file_try_read_msblob(BIO *bp, int *matchcount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_buffer_peek
      Src: /src/openssl/engines/e_loader_attic.c:1373,1
    - Dst: ossl_do_PVK_header
      Src: /src/openssl/engines/e_loader_attic.c:1375,1
    - Dst: file_fill_pem_pass_data
      Src: /src/openssl/engines/e_loader_attic.c:1385,1
    - Dst: b2i_PVK_bio
      Src: /src/openssl/engines/e_loader_attic.c:1387,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/openssl/engines/e_loader_attic.c:1388,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/engines/e_loader_attic.c:1389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - bp
    - ui_method
    - ui_data
    - uri
    - matchcount
    argTypes:
    - BIO*
    - UI_METHOD*
    - void*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1395
    functionName: file_try_read_PVK
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - BIO_buffer_peek
    - file_fill_pem_pass_data
    - b2i_PVK_bio
    - EVP_PKEY_free
    - ossl_do_PVK_header
    - OSSL_STORE_INFO_new_PKEY
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *file_try_read_PVK(BIO *bp, const UI_METHOD *ui_method,\n
      \                                         void *ui_data, const char *uri,\n
      \                                         int *matchcount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/engines/e_loader_attic.c:1401,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:1406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bp
    - data
    - len
    argTypes:
    - BIO*
    - unsigned char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1409
    functionName: file_read_asn1
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: int
    signature: int file_read_asn1(BIO *bp, unsigned char **data, long *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/engines/e_loader_attic.c:1414,1
    - Dst: assert
      Src: /src/openssl/engines/e_loader_attic.c:1415,1
    - Dst: ossl_ends_with_dirsep
      Src: /src/openssl/engines/e_loader_attic.c:1417,1
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:1418,1
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:1418,1
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:1419,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_loader_attic.c:1421,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/engines/e_loader_attic.c:1425,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/engines/e_loader_attic.c:1426,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/engines/e_loader_attic.c:1427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - name
    - data
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - char*
    - char**
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 1413
        line_start: 1413
        source_file: /src/openssl/engines/e_loader_attic.c
    - condition: (data != NULL)
      pos:
        line_end: 1414
        line_start: 1414
        source_file: /src/openssl/engines/e_loader_attic.c
    constantsTouched: []
    func_position:
      end: 1430
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1430
    functionName: file_name_to_uri
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - ossl_ends_with_dirsep
    - OPENSSL_zalloc
    - OPENSSL_strlcat
    - strlen
    - assert
    linkageType: ''
    returnType: int
    signature: "int file_name_to_uri(OSSL_STORE_LOADER_CTX *ctx, const char *name,\n
      \                           char **data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/engines/e_loader_attic.c:1435,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/engines/e_loader_attic.c:1450,1
    - Dst: isdigit
      Src: /src/openssl/engines/e_loader_attic.c:1472,1
    - Dst: isdigit
      Src: /src/openssl/engines/e_loader_attic.c:1474,1
    - Dst: ossl_isdigit
      Src: /src/openssl/engines/e_loader_attic.c:1483,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1492
    functionName: file_name_check
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strncasecmp
    - strlen
    - ossl_isdigit
    - isdigit
    linkageType: ''
    returnType: int
    signature: int file_name_check(OSSL_STORE_LOADER_CTX *ctx, const char *name)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/engines/e_loader_attic.c:1510,1
    - Dst: ERR_raise
      Src: /src/openssl/engines/e_loader_attic.c:1511,1
    - Dst: file_name_check
      Src: /src/openssl/engines/e_loader_attic.c:1518,1
    - Dst: file_name_to_uri
      Src: /src/openssl/engines/e_loader_attic.c:1519,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/engines/e_loader_attic.c:1528,1
    - Dst: OSSL_STORE_INFO_new_NAME
      Src: /src/openssl/engines/e_loader_attic.c:1534,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_loader_attic.c:1535,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:1536,1
    - Dst: file_eof
      Src: /src/openssl/engines/e_loader_attic.c:1539,1
    - Dst: file_load_try_repeat
      Src: /src/openssl/engines/e_loader_attic.c:1544,1
    - Dst: file_eof
      Src: /src/openssl/engines/e_loader_attic.c:1548,1
    - Dst: file_read_pem
      Src: /src/openssl/engines/e_loader_attic.c:1559,1
    - Dst: file_try_read_msblob
      Src: /src/openssl/engines/e_loader_attic.c:1566,1
    - Dst: file_try_read_PVK
      Src: /src/openssl/engines/e_loader_attic.c:1568,1
    - Dst: file_read_asn1
      Src: /src/openssl/engines/e_loader_attic.c:1573,1
    - Dst: file_load_try_decode
      Src: /src/openssl/engines/e_loader_attic.c:1579,1
    - Dst: ossl_assert
      Src: /src/openssl/engines/e_loader_attic.c:1589,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:1595,1
    - Dst: ERR_peek_error
      Src: /src/openssl/engines/e_loader_attic.c:1601,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:1602,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_loader_attic.c:1604,1
    - Dst: pem_free_flag
      Src: /src/openssl/engines/e_loader_attic.c:1611,1
    - Dst: pem_free_flag
      Src: /src/openssl/engines/e_loader_attic.c:1612,1
    - Dst: pem_free_flag
      Src: /src/openssl/engines/e_loader_attic.c:1613,1
    - Dst: file_eof
      Src: /src/openssl/engines/e_loader_attic.c:1614,1
    - Dst: file_error
      Src: /src/openssl/engines/e_loader_attic.c:1614,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:1618,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/engines/e_loader_attic.c:1624,1
    - Dst: store_info_free
      Src: /src/openssl/engines/e_loader_attic.c:1625,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 88
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - UI_METHOD*
    - void*
    assertStmts:
    - condition: (ctx->_.dir.last_errno != 0)
      pos:
        line_end: 1509
        line_start: 1509
        source_file: /src/openssl/engines/e_loader_attic.c
    constantsTouched: []
    func_position:
      end: 1631
      start: 1496
    functionDepth: 4
    functionLinenumber: 1496
    functionLinenumberEnd: 1631
    functionName: file_load
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_INFO_new_NAME
    - ERR_raise
    - OSSL_STORE_INFO_get_type
    - file_try_read_PVK
    - OPENSSL_free
    - file_name_to_uri
    - file_name_check
    - file_try_read_msblob
    - assert
    - ossl_assert
    - file_eof
    - file_error
    - store_info_free
    - ATTICerr
    - ERR_peek_error
    - file_load_try_decode
    - file_read_pem
    - file_load_try_repeat
    - ERR_add_error_data
    - OPENSSL_DIR_read
    - pem_free_flag
    - file_read_asn1
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *file_load(OSSL_STORE_LOADER_CTX *ctx,\n                                  const
      UI_METHOD *ui_method,\n                                  void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1636
    functionName: file_error
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_error(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_CTX*::_::file::last_handler::eof
      Src: /src/openssl/engines/e_loader_attic.c:1644,1
    - Dst: BIO_eof
      Src: /src/openssl/engines/e_loader_attic.c:1646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1647
    functionName: file_eof
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_LOADER_CTX*::_::file::last_handler::eof
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: int file_eof(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/engines/e_loader_attic.c:1653,1
    - Dst: BIO_free_all
      Src: /src/openssl/engines/e_loader_attic.c:1655,1
    - Dst: BIO_pop
      Src: /src/openssl/engines/e_loader_attic.c:1664,1
    - Dst: BIO_free
      Src: /src/openssl/engines/e_loader_attic.c:1668,1
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/openssl/engines/e_loader_attic.c:1670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1672
    functionName: file_close
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - OPENSSL_DIR_end
    - BIO_free_all
    - OSSL_STORE_LOADER_CTX_free
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: int file_close(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1686
    functionName: loader_attic_init
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int loader_attic_init(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1692
    functionName: loader_attic_finish
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int loader_attic_finish(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_unregister_loader
      Src: /src/openssl/engines/e_loader_attic.c:1697,1
    - Dst: ERR_unload_ATTIC_strings
      Src: /src/openssl/engines/e_loader_attic.c:1702,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/engines/e_loader_attic.c:1703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1705
    functionName: loader_attic_destroy
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_free
    - ERR_unload_ATTIC_strings
    - OSSL_STORE_unregister_loader
    linkageType: ''
    returnType: int
    signature: int loader_attic_destroy(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_load_ATTIC_strings
      Src: /src/openssl/engines/e_loader_attic.c:1711,1
    - Dst: OSSL_STORE_LOADER_new
      Src: /src/openssl/engines/e_loader_attic.c:1714,1
    - Dst: OSSL_STORE_LOADER_set_open_ex
      Src: /src/openssl/engines/e_loader_attic.c:1715,1
    - Dst: OSSL_STORE_LOADER_set_open
      Src: /src/openssl/engines/e_loader_attic.c:1716,1
    - Dst: OSSL_STORE_LOADER_set_attach
      Src: /src/openssl/engines/e_loader_attic.c:1717,1
    - Dst: OSSL_STORE_LOADER_set_ctrl
      Src: /src/openssl/engines/e_loader_attic.c:1718,1
    - Dst: OSSL_STORE_LOADER_set_expect
      Src: /src/openssl/engines/e_loader_attic.c:1719,1
    - Dst: OSSL_STORE_LOADER_set_find
      Src: /src/openssl/engines/e_loader_attic.c:1720,1
    - Dst: OSSL_STORE_LOADER_set_load
      Src: /src/openssl/engines/e_loader_attic.c:1721,1
    - Dst: OSSL_STORE_LOADER_set_eof
      Src: /src/openssl/engines/e_loader_attic.c:1722,1
    - Dst: OSSL_STORE_LOADER_set_error
      Src: /src/openssl/engines/e_loader_attic.c:1723,1
    - Dst: OSSL_STORE_LOADER_set_close
      Src: /src/openssl/engines/e_loader_attic.c:1724,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/engines/e_loader_attic.c:1726,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/engines/e_loader_attic.c:1727,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/openssl/engines/e_loader_attic.c:1728,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/engines/e_loader_attic.c:1729,1
    - Dst: ENGINE_set_finish_function
      Src: /src/openssl/engines/e_loader_attic.c:1730,1
    - Dst: OSSL_STORE_register_loader
      Src: /src/openssl/engines/e_loader_attic.c:1732,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/engines/e_loader_attic.c:1733,1
    - Dst: ATTICerr
      Src: /src/openssl/engines/e_loader_attic.c:1735,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1740
    functionName: bind_loader_attic
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_destroy_function
    - OSSL_STORE_LOADER_set_open_ex
    - OSSL_STORE_LOADER_free
    - OSSL_STORE_LOADER_set_expect
    - OSSL_STORE_LOADER_set_close
    - ENGINE_set_id
    - ENGINE_set_name
    - OSSL_STORE_LOADER_set_find
    - OSSL_STORE_LOADER_set_load
    - OSSL_STORE_LOADER_set_error
    - OSSL_STORE_LOADER_set_ctrl
    - ENGINE_set_init_function
    - OSSL_STORE_register_loader
    - OSSL_STORE_LOADER_new
    - OSSL_STORE_LOADER_set_attach
    - OSSL_STORE_LOADER_set_eof
    - ERR_load_ATTIC_strings
    - OSSL_STORE_LOADER_set_open
    - ENGINE_set_finish_function
    - ATTICerr
    linkageType: ''
    returnType: int
    signature: int bind_loader_attic(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_loader_attic.c:1748,1
    - Dst: bind_loader_attic
      Src: /src/openssl/engines/e_loader_attic.c:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1746
    functionDepth: 2
    functionLinenumber: 1746
    functionLinenumberEnd: 1753
    functionName: bind_helper
    functionSourceFile: /src/openssl/engines/e_loader_attic.c
    functionUses: 0
    functionsReached:
    - strcmp
    - bind_loader_attic
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: AFALGerr
    functionSourceFile: /src/openssl/engines/e_afalg_err.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFALGerr(f, r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_dasync_err.c:29,1
    - Dst: ERR_load_strings
      Src: /src/openssl/engines/e_dasync_err.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: ERR_load_DASYNC_strings
    functionSourceFile: /src/openssl/engines/e_dasync_err.c
    functionUses: 0
    functionsReached:
    - ERR_get_next_error_library
    - ERR_load_strings
    linkageType: ''
    returnType: int
    signature: int ERR_load_DASYNC_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/openssl/engines/e_dasync_err.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: ERR_unload_DASYNC_strings
    functionSourceFile: /src/openssl/engines/e_dasync_err.c
    functionUses: 0
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: void ERR_unload_DASYNC_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_dasync_err.c:53,1
    - Dst: ERR_raise
      Src: /src/openssl/engines/e_dasync_err.c:54,1
    - Dst: ERR_set_debug
      Src: /src/openssl/engines/e_dasync_err.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: ERR_DASYNC_error
    functionSourceFile: /src/openssl/engines/e_dasync_err.c
    functionUses: 0
    functionsReached:
    - ERR_get_next_error_library
    - ERR_set_debug
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void ERR_DASYNC_error(int function, int reason, const char *file, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: dasync_sha1
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *dasync_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_dasync.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: destroy_digests
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 1
    functionsReached:
    - EVP_MD_meth_free
    linkageType: ''
    returnType: void
    signature: void destroy_digests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dasync_sha1
      Src: /src/openssl/engines/e_dasync.c:98,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/engines/e_dasync.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: dasync_digest_nids
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_type
    - dasync_sha1
    linkageType: ''
    returnType: int
    signature: int dasync_digest_nids(const int **nids)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: dasync_aes_128_cbc
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *dasync_aes_128_cbc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: dasync_aes_256_ctr
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *dasync_aes_256_ctr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: dasync_aes_128_cbc_hmac_sha1
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *dasync_aes_128_cbc_hmac_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_dasync.c:208,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_dasync.c:209,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_dasync.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: destroy_ciphers
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: void
    signature: void destroy_ciphers(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_find
      Src: /src/openssl/engines/e_dasync.c:229,1
    - Dst: EVP_PKEY_meth_new
      Src: /src/openssl/engines/e_dasync.c:230,1
    - Dst: EVP_PKEY_meth_set_init
      Src: /src/openssl/engines/e_dasync.c:233,1
    - Dst: EVP_PKEY_meth_set_cleanup
      Src: /src/openssl/engines/e_dasync.c:234,1
    - Dst: EVP_PKEY_meth_set_paramgen
      Src: /src/openssl/engines/e_dasync.c:235,1
    - Dst: EVP_PKEY_meth_set_keygen
      Src: /src/openssl/engines/e_dasync.c:237,1
    - Dst: EVP_PKEY_meth_set_encrypt
      Src: /src/openssl/engines/e_dasync.c:239,1
    - Dst: EVP_PKEY_meth_set_decrypt
      Src: /src/openssl/engines/e_dasync.c:241,1
    - Dst: EVP_PKEY_meth_set_ctrl
      Src: /src/openssl/engines/e_dasync.c:243,1
    - Dst: ERR_load_DASYNC_strings
      Src: /src/openssl/engines/e_dasync.c:247,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/engines/e_dasync.c:249,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/engines/e_dasync.c:250,1
    - Dst: ENGINE_set_pkey_meths
      Src: /src/openssl/engines/e_dasync.c:251,1
    - Dst: ENGINE_set_digests
      Src: /src/openssl/engines/e_dasync.c:252,1
    - Dst: ENGINE_set_ciphers
      Src: /src/openssl/engines/e_dasync.c:253,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/openssl/engines/e_dasync.c:254,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/engines/e_dasync.c:255,1
    - Dst: ENGINE_set_finish_function
      Src: /src/openssl/engines/e_dasync.c:256,1
    - Dst: DASYNCerr
      Src: /src/openssl/engines/e_dasync.c:257,1
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/engines/e_dasync.c:265,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/openssl/engines/e_dasync.c:267,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/openssl/engines/e_dasync.c:268,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/engines/e_dasync.c:269,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/openssl/engines/e_dasync.c:271,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/engines/e_dasync.c:272,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/openssl/engines/e_dasync.c:273,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/openssl/engines/e_dasync.c:274,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_dasync.c:275,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/engines/e_dasync.c:279,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/engines/e_dasync.c:283,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/engines/e_dasync.c:284,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/engines/e_dasync.c:289,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/engines/e_dasync.c:291,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/openssl/engines/e_dasync.c:293,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/openssl/engines/e_dasync.c:295,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/engines/e_dasync.c:297,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_dasync.c:299,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/engines/e_dasync.c:303,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/engines/e_dasync.c:307,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/engines/e_dasync.c:308,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/engines/e_dasync.c:313,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/engines/e_dasync.c:315,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/openssl/engines/e_dasync.c:317,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/openssl/engines/e_dasync.c:319,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/engines/e_dasync.c:321,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_dasync.c:323,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/engines/e_dasync.c:327,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/engines/e_dasync.c:332,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/engines/e_dasync.c:333,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/engines/e_dasync.c:339,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/engines/e_dasync.c:341,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/openssl/engines/e_dasync.c:343,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/openssl/engines/e_dasync.c:345,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/engines/e_dasync.c:347,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_dasync.c:349,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 36
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 354
    functionName: bind_dasync
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_destroy_function
    - EVP_PKEY_meth_set_keygen
    - EVP_MD_meth_set_init
    - ENGINE_set_ciphers
    - EVP_MD_meth_set_flags
    - ENGINE_set_digests
    - EVP_MD_meth_set_input_blocksize
    - EVP_PKEY_meth_set_decrypt
    - ENGINE_set_id
    - DASYNCerr
    - EVP_PKEY_meth_set_cleanup
    - EVP_CIPHER_meth_set_cleanup
    - EVP_CIPHER_meth_free
    - ENGINE_set_name
    - EVP_PKEY_meth_set_paramgen
    - EVP_PKEY_meth_new
    - EVP_CIPHER_meth_set_ctrl
    - ENGINE_set_init_function
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_do_cipher
    - ENGINE_set_pkey_meths
    - EVP_CIPHER_meth_new
    - EVP_PKEY_meth_find
    - ERR_load_DASYNC_strings
    - EVP_CIPHER_meth_set_init
    - EVP_PKEY_meth_set_ctrl
    - EVP_PKEY_meth_set_init
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_update
    - EVP_MD_meth_free
    - ENGINE_set_finish_function
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_MD_meth_set_final
    - EVP_PKEY_meth_set_encrypt
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_new
    linkageType: ''
    returnType: int
    signature: int bind_dasync(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: destroy_pkey
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroy_pkey(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_dasync.c:369,1
    - Dst: bind_dasync
      Src: /src/openssl/engines/e_dasync.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: bind_helper
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - strcmp
    - bind_dasync
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e, const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/openssl/engines/e_dasync.c:382,1
    - Dst: bind_dasync
      Src: /src/openssl/engines/e_dasync.c:385,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_dasync.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: engine_dasync
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - bind_dasync
    - ENGINE_free
    - ENGINE_new
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *engine_dasync(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_dasync
      Src: /src/openssl/engines/e_dasync.c:394,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_dasync.c:397,1
    - Dst: ENGINE_add
      Src: /src/openssl/engines/e_dasync.c:398,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_dasync.c:403,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_dasync.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 410
    functionName: engine_load_dasync_int
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - engine_dasync
    - ENGINE_free
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    linkageType: ''
    returnType: void
    signature: void engine_load_dasync_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: dasync_init
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dasync_init(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: dasync_finish
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dasync_finish(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_digests
      Src: /src/openssl/engines/e_dasync.c:426,1
    - Dst: destroy_ciphers
      Src: /src/openssl/engines/e_dasync.c:427,1
    - Dst: destroy_pkey
      Src: /src/openssl/engines/e_dasync.c:428,1
    - Dst: ERR_unload_DASYNC_strings
      Src: /src/openssl/engines/e_dasync.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: dasync_destroy
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - destroy_digests
    - ERR_unload_DASYNC_strings
    - destroy_ciphers
    - destroy_pkey
    linkageType: ''
    returnType: int
    signature: int dasync_destroy(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - e
    - pmeth
    - pnids
    - nid
    argTypes:
    - ENGINE*
    - EVP_PKEY_METHOD**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 450
    functionName: dasync_pkey
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dasync_pkey(ENGINE *e, EVP_PKEY_METHOD **pmeth,\n                       const
      int **pnids, int nid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dasync_digest_nids
      Src: /src/openssl/engines/e_dasync.c:458,1
    - Dst: dasync_sha1
      Src: /src/openssl/engines/e_dasync.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - e
    - digest
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_MD**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 471
    functionName: dasync_digests
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dasync_digest_nids
    - dasync_sha1
    linkageType: ''
    returnType: int
    signature: "int dasync_digests(ENGINE *e, const EVP_MD **digest,\n                          const
      int **nids, int nid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dasync_aes_128_cbc
      Src: /src/openssl/engines/e_dasync.c:486,1
    - Dst: dasync_aes_256_ctr
      Src: /src/openssl/engines/e_dasync.c:489,1
    - Dst: dasync_aes_128_cbc_hmac_sha1
      Src: /src/openssl/engines/e_dasync.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 500
    functionName: dasync_ciphers
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dasync_aes_256_ctr
    - dasync_aes_128_cbc
    - dasync_aes_128_cbc_hmac_sha1
    linkageType: ''
    returnType: int
    signature: "int dasync_ciphers(ENGINE *e, const EVP_CIPHER **cipher,\n                                   const
      int **nids, int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/openssl/engines/e_dasync.c:507,1
    - Dst: CloseHandle
      Src: /src/openssl/engines/e_dasync.c:508,1
    - Dst: close
      Src: /src/openssl/engines/e_dasync.c:510,1
    - Dst: close
      Src: /src/openssl/engines/e_dasync.c:511,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_dasync.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - key
    - readfd
    - pvwritefd
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    - OSSL_ASYNC_FD
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 514
    functionName: wait_cleanup
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - close
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: "void wait_cleanup(ASYNC_WAIT_CTX *ctx, const void *key,\n                         OSSL_ASYNC_FD
      readfd, void *pvwritefd)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/engines/e_dasync.c:532,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/openssl/engines/e_dasync.c:535,1
    - Dst: ASYNC_WAIT_CTX_get_callback
      Src: /src/openssl/engines/e_dasync.c:537,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/engines/e_dasync.c:544,1
    - Dst: ASYNC_WAIT_CTX_get_fd
      Src: /src/openssl/engines/e_dasync.c:549,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_dasync.c:553,1
    - Dst: CreatePipe
      Src: /src/openssl/engines/e_dasync.c:557,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_dasync.c:558,1
    - Dst: pipe
      Src: /src/openssl/engines/e_dasync.c:562,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_dasync.c:563,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/openssl/engines/e_dasync.c:569,1
    - Dst: wait_cleanup
      Src: /src/openssl/engines/e_dasync.c:571,1
    - Dst: WriteFile
      Src: /src/openssl/engines/e_dasync.c:581,1
    - Dst: write
      Src: /src/openssl/engines/e_dasync.c:583,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/engines/e_dasync.c:588,1
    - Dst: ReadFile
      Src: /src/openssl/engines/e_dasync.c:592,1
    - Dst: read
      Src: /src/openssl/engines/e_dasync.c:594,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 597
    functionName: dummy_pause_job
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_set_wait_fd
    - WriteFile
    - write
    - ASYNC_get_wait_ctx
    - ASYNC_WAIT_CTX_get_callback
    - pipe
    - read
    - wait_cleanup
    - ASYNC_WAIT_CTX_get_fd
    - ASYNC_get_current_job
    - OPENSSL_free
    - ASYNC_pause_job
    - CreatePipe
    - OPENSSL_malloc
    - ReadFile
    linkageType: ''
    returnType: void
    signature: void dummy_pause_job(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dummy_pause_job
      Src: /src/openssl/engines/e_dasync.c:605,1
    - Dst: EVP_MD_meth_get_init
      Src: /src/openssl/engines/e_dasync.c:607,1
    - Dst: EVP_sha1
      Src: /src/openssl/engines/e_dasync.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 608
    functionName: dasync_sha1_init
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dummy_pause_job
    - EVP_sha1
    - EVP_MD_meth_get_init
    linkageType: ''
    returnType: int
    signature: int dasync_sha1_init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dummy_pause_job
      Src: /src/openssl/engines/e_dasync.c:613,1
    - Dst: EVP_MD_meth_get_update
      Src: /src/openssl/engines/e_dasync.c:615,1
    - Dst: EVP_sha1
      Src: /src/openssl/engines/e_dasync.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 616
    functionName: dasync_sha1_update
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dummy_pause_job
    - EVP_sha1
    - EVP_MD_meth_get_update
    linkageType: ''
    returnType: int
    signature: "int dasync_sha1_update(EVP_MD_CTX *ctx, const void *data,\n                             size_t
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dummy_pause_job
      Src: /src/openssl/engines/e_dasync.c:620,1
    - Dst: EVP_MD_meth_get_final
      Src: /src/openssl/engines/e_dasync.c:622,1
    - Dst: EVP_sha1
      Src: /src/openssl/engines/e_dasync.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: dasync_sha1_final
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dummy_pause_job
    - EVP_MD_meth_get_final
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: int dasync_sha1_final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_dasync.c:633,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/openssl/engines/e_dasync.c:641,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_dasync.c:642,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_dasync.c:646,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/openssl/engines/e_dasync.c:669,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/openssl/engines/e_dasync.c:670,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/openssl/engines/e_dasync.c:670,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/openssl/engines/e_dasync.c:672,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_dasync.c:686,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_dasync.c:692,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 6
    argNames:
    - ctx
    - type
    - arg
    - ptr
    - aeadcapable
    - ciph
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    - int
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 711
    functionName: dasync_cipher_ctrl_helper
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_impl_ctx_size
    - EVP_CIPHER_meth_get_ctrl
    - EVP_aes_128_cbc_hmac_sha1
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_set_cipher_data
    linkageType: ''
    returnType: int
    signature: "int dasync_cipher_ctrl_helper(EVP_CIPHER_CTX *ctx, int type, int arg,\n
      \                                    void *ptr, int aeadcapable,\n                                     const
      EVP_CIPHER *ciph)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_dasync.c:720,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/openssl/engines/e_dasync.c:723,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_dasync.c:724,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/openssl/engines/e_dasync.c:725,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/openssl/engines/e_dasync.c:733,1
    - Dst: EVP_CIPHER_meth_get_init
      Src: /src/openssl/engines/e_dasync.c:734,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/openssl/engines/e_dasync.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - key
    - iv
    - enc
    - cipher
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 738
    functionName: dasync_cipher_init_key_helper
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_impl_ctx_size
    - EVP_CIPHER_meth_get_init
    - EVP_CIPHER_CTX_set_cipher_data
    linkageType: ''
    returnType: int
    signature: "int dasync_cipher_init_key_helper(EVP_CIPHER_CTX *ctx,\n                                         const
      unsigned char *key,\n                                         const unsigned
      char *iv, int enc,\n                                         const EVP_CIPHER
      *cipher)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_dasync.c:747,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/openssl/engines/e_dasync.c:750,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/openssl/engines/e_dasync.c:755,1
    - Dst: EVP_CIPHER_meth_get_do_cipher
      Src: /src/openssl/engines/e_dasync.c:760,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/openssl/engines/e_dasync.c:767,1
    - Dst: EVP_CIPHER_meth_get_do_cipher
      Src: /src/openssl/engines/e_dasync.c:772,1
    - Dst: EVP_CIPHER_CTX_set_cipher_data
      Src: /src/openssl/engines/e_dasync.c:779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - ctx
    - out
    - in
    - inl
    - cipher
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 781
    functionName: dasync_cipher_helper
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_get_ctrl
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_meth_get_do_cipher
    - EVP_CIPHER_CTX_set_cipher_data
    linkageType: ''
    returnType: int
    signature: "int dasync_cipher_helper(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t inl,\n                                const
      EVP_CIPHER *cipher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_dasync.c:787,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/engines/e_dasync.c:789,1
    - Dst: EVP_CIPHER_impl_ctx_size
      Src: /src/openssl/engines/e_dasync.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - cipher
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 793
    functionName: dasync_cipher_cleanup_helper
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_impl_ctx_size
    linkageType: ''
    returnType: int
    signature: "int dasync_cipher_cleanup_helper(EVP_CIPHER_CTX *ctx,\n                                        const
      EVP_CIPHER *cipher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_ctrl_helper
      Src: /src/openssl/engines/e_dasync.c:802,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/engines/e_dasync.c:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: dasync_aes128_cbc_ctrl
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dasync_cipher_ctrl_helper
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: "int dasync_aes128_cbc_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,\n
      \                                 void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_init_key_helper
      Src: /src/openssl/engines/e_dasync.c:808,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/engines/e_dasync.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 809
    functionName: dasync_aes128_init_key
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_cbc
    - dasync_cipher_init_key_helper
    linkageType: ''
    returnType: int
    signature: "int dasync_aes128_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key,\n                             const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_helper
      Src: /src/openssl/engines/e_dasync.c:814,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/engines/e_dasync.c:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 815
    functionName: dasync_aes128_cbc_cipher
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_cbc
    - dasync_cipher_helper
    linkageType: ''
    returnType: int
    signature: "int dasync_aes128_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                              const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_cleanup_helper
      Src: /src/openssl/engines/e_dasync.c:819,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/engines/e_dasync.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 820
    functionName: dasync_aes128_cbc_cleanup
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dasync_cipher_cleanup_helper
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int dasync_aes128_cbc_cleanup(EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_ctrl_helper
      Src: /src/openssl/engines/e_dasync.c:825,1
    - Dst: EVP_aes_256_ctr
      Src: /src/openssl/engines/e_dasync.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 826
    functionName: dasync_aes256_ctr_ctrl
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dasync_cipher_ctrl_helper
    - EVP_aes_256_ctr
    linkageType: ''
    returnType: int
    signature: "int dasync_aes256_ctr_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,\n
      \                                 void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_init_key_helper
      Src: /src/openssl/engines/e_dasync.c:831,1
    - Dst: EVP_aes_256_ctr
      Src: /src/openssl/engines/e_dasync.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 832
    functionName: dasync_aes256_init_key
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_ctr
    - dasync_cipher_init_key_helper
    linkageType: ''
    returnType: int
    signature: "int dasync_aes256_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key,\n                             const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_helper
      Src: /src/openssl/engines/e_dasync.c:837,1
    - Dst: EVP_aes_256_ctr
      Src: /src/openssl/engines/e_dasync.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: dasync_aes256_ctr_cipher
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_ctr
    - dasync_cipher_helper
    linkageType: ''
    returnType: int
    signature: "int dasync_aes256_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                              const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_cleanup_helper
      Src: /src/openssl/engines/e_dasync.c:842,1
    - Dst: EVP_aes_256_ctr
      Src: /src/openssl/engines/e_dasync.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: dasync_aes256_ctr_cleanup
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_ctr
    - dasync_cipher_cleanup_helper
    linkageType: ''
    returnType: int
    signature: int dasync_aes256_ctr_cleanup(EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_ctrl_helper
      Src: /src/openssl/engines/e_dasync.c:853,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/openssl/engines/e_dasync.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: dasync_aes128_cbc_hmac_sha1_ctrl
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dasync_cipher_ctrl_helper
    - EVP_aes_128_cbc_hmac_sha1
    linkageType: ''
    returnType: int
    signature: "int dasync_aes128_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,\n
      \                                            int arg, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_init_key_helper
      Src: /src/openssl/engines/e_dasync.c:865,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/openssl/engines/e_dasync.c:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: dasync_aes128_cbc_hmac_sha1_init_key
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_cbc_hmac_sha1
    - dasync_cipher_init_key_helper
    linkageType: ''
    returnType: int
    signature: "int dasync_aes128_cbc_hmac_sha1_init_key(EVP_CIPHER_CTX *ctx,\n                                                const
      unsigned char *key,\n                                                const unsigned
      char *iv,\n                                                int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_helper
      Src: /src/openssl/engines/e_dasync.c:874,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/openssl/engines/e_dasync.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 875
    functionName: dasync_aes128_cbc_hmac_sha1_cipher
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_cbc_hmac_sha1
    - dasync_cipher_helper
    linkageType: ''
    returnType: int
    signature: "int dasync_aes128_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx,\n                                               unsigned
      char *out,\n                                               const unsigned char
      *in,\n                                               size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dasync_cipher_cleanup_helper
      Src: /src/openssl/engines/e_dasync.c:883,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/openssl/engines/e_dasync.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 884
    functionName: dasync_aes128_cbc_hmac_sha1_cleanup
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - dasync_cipher_cleanup_helper
    - EVP_aes_128_cbc_hmac_sha1
    linkageType: ''
    returnType: int
    signature: int dasync_aes128_cbc_hmac_sha1_cleanup(EVP_CIPHER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_init
      Src: /src/openssl/engines/e_dasync.c:895,1
    - Dst: pinit
      Src: /src/openssl/engines/e_dasync.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 897
    functionName: dasync_rsa_init
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pinit
    - EVP_PKEY_meth_get_init
    linkageType: ''
    returnType: int
    signature: int dasync_rsa_init(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_cleanup
      Src: /src/openssl/engines/e_dasync.c:904,1
    - Dst: pcleanup
      Src: /src/openssl/engines/e_dasync.c:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 906
    functionName: dasync_rsa_cleanup
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_get_cleanup
    - pcleanup
    linkageType: ''
    returnType: void
    signature: void dasync_rsa_cleanup(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_paramgen
      Src: /src/openssl/engines/e_dasync.c:913,1
    - Dst: pparamgen_init
      Src: /src/openssl/engines/e_dasync.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 915
    functionName: dasync_rsa_paramgen_init
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pparamgen_init
    - EVP_PKEY_meth_get_paramgen
    linkageType: ''
    returnType: int
    signature: int dasync_rsa_paramgen_init(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_paramgen
      Src: /src/openssl/engines/e_dasync.c:922,1
    - Dst: pparamgen
      Src: /src/openssl/engines/e_dasync.c:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 924
    functionName: dasync_rsa_paramgen
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pparamgen
    - EVP_PKEY_meth_get_paramgen
    linkageType: ''
    returnType: int
    signature: int dasync_rsa_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_keygen
      Src: /src/openssl/engines/e_dasync.c:931,1
    - Dst: pkeygen_init
      Src: /src/openssl/engines/e_dasync.c:932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 933
    functionName: dasync_rsa_keygen_init
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_get_keygen
    - pkeygen_init
    linkageType: ''
    returnType: int
    signature: int dasync_rsa_keygen_init(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_keygen
      Src: /src/openssl/engines/e_dasync.c:940,1
    - Dst: pkeygen
      Src: /src/openssl/engines/e_dasync.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 942
    functionName: dasync_rsa_keygen
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pkeygen
    - EVP_PKEY_meth_get_keygen
    linkageType: ''
    returnType: int
    signature: int dasync_rsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_encrypt
      Src: /src/openssl/engines/e_dasync.c:949,1
    - Dst: pencrypt_init
      Src: /src/openssl/engines/e_dasync.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: dasync_rsa_encrypt_init
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pencrypt_init
    - EVP_PKEY_meth_get_encrypt
    linkageType: ''
    returnType: int
    signature: int dasync_rsa_encrypt_init(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_encrypt
      Src: /src/openssl/engines/e_dasync.c:962,1
    - Dst: pencryptfn
      Src: /src/openssl/engines/e_dasync.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 964
    functionName: dasync_rsa_encrypt
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_get_encrypt
    - pencryptfn
    linkageType: ''
    returnType: int
    signature: "int dasync_rsa_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out,\n                              size_t
      *outlen, const unsigned char *in,\n                              size_t inlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_decrypt
      Src: /src/openssl/engines/e_dasync.c:971,1
    - Dst: pdecrypt_init
      Src: /src/openssl/engines/e_dasync.c:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 973
    functionName: dasync_rsa_decrypt_init
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pdecrypt_init
    - EVP_PKEY_meth_get_decrypt
    linkageType: ''
    returnType: int
    signature: int dasync_rsa_decrypt_init(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_decrypt
      Src: /src/openssl/engines/e_dasync.c:984,1
    - Dst: pdecrypt
      Src: /src/openssl/engines/e_dasync.c:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 986
    functionName: dasync_rsa_decrypt
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pdecrypt
    - EVP_PKEY_meth_get_decrypt
    linkageType: ''
    returnType: int
    signature: "int dasync_rsa_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out,\n                              size_t
      *outlen, const unsigned char *in,\n                              size_t inlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_ctrl
      Src: /src/openssl/engines/e_dasync.c:993,1
    - Dst: pctrl
      Src: /src/openssl/engines/e_dasync.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 995
    functionName: dasync_rsa_ctrl
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pctrl
    - EVP_PKEY_meth_get_ctrl
    linkageType: ''
    returnType: int
    signature: int dasync_rsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_ctrl
      Src: /src/openssl/engines/e_dasync.c:1004,1
    - Dst: pctrl_str
      Src: /src/openssl/engines/e_dasync.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1006
    functionName: dasync_rsa_ctrl_str
    functionSourceFile: /src/openssl/engines/e_dasync.c
    functionUses: 0
    functionsReached:
    - pctrl_str
    - EVP_PKEY_meth_get_ctrl
    linkageType: ''
    returnType: int
    signature: "int dasync_rsa_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,\n                               const
      char *value)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:293,1
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/engines/e_capi.c:296,1
    - Dst: BIO_new_fp
      Src: /src/openssl/engines/e_capi.c:297,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:299,1
    - Dst: capi_list_providers
      Src: /src/openssl/engines/e_capi.c:304,1
    - Dst: capi_list_certs
      Src: /src/openssl/engines/e_capi.c:308,1
    - Dst: capi_list_certs
      Src: /src/openssl/engines/e_capi.c:312,1
    - Dst: capi_list_containers
      Src: /src/openssl/engines/e_capi.c:316,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/engines/e_capi.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:322,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:324,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:338,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:343,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/engines/e_capi.c:347,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:350,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:358,1
    - Dst: capi_ctx_set_provname_idx
      Src: /src/openssl/engines/e_capi.c:362,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:371,1
    - Dst: BIO_free
      Src: /src/openssl/engines/e_capi.c:372,1
    - Dst: capi_ctx_set_provname
      Src: /src/openssl/engines/e_capi.c:379,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:387,1
    - Dst: BIO_free
      Src: /src/openssl/engines/e_capi.c:391,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 4
    argNames:
    - e
    - cmd
    - i
    - p
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 394
    functionName: capi_ctrl
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - capi_list_certs
    - CAPI_trace
    - CAPIerr
    - BIO_new_fp
    - BIO_free
    - capi_list_providers
    - capi_ctx_set_provname
    - ENGINE_get_ex_data
    - OPENSSL_free
    - OPENSSL_strdup
    - capi_list_containers
    - capi_ctx_set_provname_idx
    linkageType: ''
    returnType: int
    signature: int capi_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void))
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_new_index
      Src: /src/openssl/engines/e_capi.c:417,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:419,1
    - Dst: X509_get_ex_new_index
      Src: /src/openssl/engines/e_capi.c:423,1
    - Dst: RSA_get_ex_new_index
      Src: /src/openssl/engines/e_capi.c:426,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/openssl/engines/e_capi.c:427,1
    - Dst: RSA_meth_set_pub_enc
      Src: /src/openssl/engines/e_capi.c:428,1
    - Dst: RSA_meth_get_pub_enc
      Src: /src/openssl/engines/e_capi.c:429,1
    - Dst: RSA_meth_set_pub_dec
      Src: /src/openssl/engines/e_capi.c:430,1
    - Dst: RSA_meth_get_pub_dec
      Src: /src/openssl/engines/e_capi.c:431,1
    - Dst: RSA_meth_set_priv_enc
      Src: /src/openssl/engines/e_capi.c:432,1
    - Dst: RSA_meth_set_priv_dec
      Src: /src/openssl/engines/e_capi.c:433,1
    - Dst: RSA_meth_set_mod_exp
      Src: /src/openssl/engines/e_capi.c:434,1
    - Dst: RSA_meth_get_mod_exp
      Src: /src/openssl/engines/e_capi.c:435,1
    - Dst: RSA_meth_set_bn_mod_exp
      Src: /src/openssl/engines/e_capi.c:436,1
    - Dst: RSA_meth_get_bn_mod_exp
      Src: /src/openssl/engines/e_capi.c:437,1
    - Dst: RSA_meth_set_finish
      Src: /src/openssl/engines/e_capi.c:438,1
    - Dst: RSA_meth_set_sign
      Src: /src/openssl/engines/e_capi.c:439,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:440,1
    - Dst: DSA_get_ex_new_index
      Src: /src/openssl/engines/e_capi.c:446,1
    - Dst: DSA_OpenSSL
      Src: /src/openssl/engines/e_capi.c:447,1
    - Dst: DSA_meth_set_sign
      Src: /src/openssl/engines/e_capi.c:448,1
    - Dst: DSA_meth_set_verify
      Src: /src/openssl/engines/e_capi.c:449,1
    - Dst: DSA_meth_get_verify
      Src: /src/openssl/engines/e_capi.c:450,1
    - Dst: DSA_meth_set_finish
      Src: /src/openssl/engines/e_capi.c:451,1
    - Dst: DSA_meth_set_mod_exp
      Src: /src/openssl/engines/e_capi.c:452,1
    - Dst: DSA_meth_get_mod_exp
      Src: /src/openssl/engines/e_capi.c:453,1
    - Dst: DSA_meth_set_bn_mod_exp
      Src: /src/openssl/engines/e_capi.c:454,1
    - Dst: DSA_meth_get_bn_mod_exp
      Src: /src/openssl/engines/e_capi.c:455,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:456,1
    - Dst: capi_ctx_new
      Src: /src/openssl/engines/e_capi.c:462,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:464,1
    - Dst: ENGINE_set_ex_data
      Src: /src/openssl/engines/e_capi.c:468,1
    - Dst: LoadLibrary
      Src: /src/openssl/engines/e_capi.c:472,1
    - Dst: TEXT
      Src: /src/openssl/engines/e_capi.c:472,1
    - Dst: GetModuleHandle
      Src: /src/openssl/engines/e_capi.c:473,1
    - Dst: TEXT
      Src: /src/openssl/engines/e_capi.c:473,1
    - Dst: GetProcAddress
      Src: /src/openssl/engines/e_capi.c:476,1
    - Dst: GetProcAddress
      Src: /src/openssl/engines/e_capi.c:480,1
    - Dst: OPENSSL_isservice
      Src: /src/openssl/engines/e_capi.c:481,1
    - Dst: CryptAcquireContextW
      Src: /src/openssl/engines/e_capi.c:487,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/engines/e_capi.c:490,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 497
    functionName: capi_init
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - DSA_meth_set_sign
    - DSA_get_ex_new_index
    - CAPIerr
    - RSA_meth_get_bn_mod_exp
    - RSA_meth_set_priv_dec
    - DSA_meth_get_verify
    - DSA_meth_get_mod_exp
    - CryptAcquireContextW
    - LoadLibrary
    - TEXT
    - GetProcAddress
    - ENGINE_get_ex_new_index
    - RSA_meth_set_bn_mod_exp
    - RSA_PKCS1_OpenSSL
    - RSA_meth_set_pub_enc
    - RSA_meth_set_sign
    - ENGINE_set_ex_data
    - OPENSSL_isservice
    - RSA_meth_set_mod_exp
    - RSA_meth_get_mod_exp
    - DSA_meth_set_finish
    - DSA_meth_set_bn_mod_exp
    - DSA_meth_set_mod_exp
    - X509_get_ex_new_index
    - GetModuleHandle
    - DSA_meth_get_bn_mod_exp
    - RSA_meth_set_pub_dec
    - CryptReleaseContext
    - DSA_OpenSSL
    - capi_ctx_new
    - RSA_get_ex_new_index
    - RSA_meth_set_finish
    - RSA_meth_get_pub_dec
    - RSA_meth_set_priv_enc
    - DSA_meth_set_verify
    - RSA_meth_get_pub_enc
    linkageType: ''
    returnType: int
    signature: int capi_init(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_free
      Src: /src/openssl/engines/e_capi.c:501,1
    - Dst: DSA_meth_free
      Src: /src/openssl/engines/e_capi.c:504,1
    - Dst: ERR_unload_CAPI_strings
      Src: /src/openssl/engines/e_capi.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: capi_destroy
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - ERR_unload_CAPI_strings
    - RSA_meth_free
    - DSA_meth_free
    linkageType: ''
    returnType: int
    signature: int capi_destroy(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/engines/e_capi.c:514,1
    - Dst: capi_ctx_free
      Src: /src/openssl/engines/e_capi.c:515,1
    - Dst: ENGINE_set_ex_data
      Src: /src/openssl/engines/e_capi.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: capi_finish
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - capi_ctx_free
    - ENGINE_get_ex_data
    - ENGINE_set_ex_data
    linkageType: ''
    returnType: int
    signature: int capi_finish(ENGINE *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_meth_new
      Src: /src/openssl/engines/e_capi.c:536,1
    - Dst: DSA_meth_new
      Src: /src/openssl/engines/e_capi.c:540,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/engines/e_capi.c:544,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/engines/e_capi.c:545,1
    - Dst: ENGINE_set_flags
      Src: /src/openssl/engines/e_capi.c:546,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/engines/e_capi.c:547,1
    - Dst: ENGINE_set_finish_function
      Src: /src/openssl/engines/e_capi.c:548,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/openssl/engines/e_capi.c:549,1
    - Dst: ENGINE_set_RSA
      Src: /src/openssl/engines/e_capi.c:550,1
    - Dst: ENGINE_set_DSA
      Src: /src/openssl/engines/e_capi.c:552,1
    - Dst: ENGINE_set_load_privkey_function
      Src: /src/openssl/engines/e_capi.c:554,1
    - Dst: ENGINE_set_load_ssl_client_cert_function
      Src: /src/openssl/engines/e_capi.c:555,1
    - Dst: ENGINE_set_cmd_defns
      Src: /src/openssl/engines/e_capi.c:557,1
    - Dst: ENGINE_set_ctrl_function
      Src: /src/openssl/engines/e_capi.c:558,1
    - Dst: ERR_load_CAPI_strings
      Src: /src/openssl/engines/e_capi.c:560,1
    - Dst: RSA_meth_free
      Src: /src/openssl/engines/e_capi.c:564,1
    - Dst: DSA_meth_free
      Src: /src/openssl/engines/e_capi.c:567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 571
    functionName: bind_capi
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - DSA_meth_new
    - RSA_meth_new
    - ENGINE_set_id
    - ENGINE_set_init_function
    - ENGINE_set_finish_function
    - ENGINE_set_destroy_function
    - ENGINE_set_flags
    - ENGINE_set_DSA
    - ENGINE_set_load_ssl_client_cert_function
    - ENGINE_set_cmd_defns
    - ENGINE_set_name
    - ENGINE_set_RSA
    - ENGINE_set_ctrl_function
    - RSA_meth_free
    - ERR_load_CAPI_strings
    - DSA_meth_free
    - ENGINE_set_load_privkey_function
    linkageType: ''
    returnType: int
    signature: int bind_capi(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_capi.c:576,1
    - Dst: bind_capi
      Src: /src/openssl/engines/e_capi.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 581
    functionName: bind_helper
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - strcmp
    - bind_capi
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e, const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/openssl/engines/e_capi.c:588,1
    - Dst: bind_capi
      Src: /src/openssl/engines/e_capi.c:591,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_capi.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 596
    functionName: engine_capi
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - bind_capi
    - ENGINE_free
    - ENGINE_new
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *engine_capi(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_capi
      Src: /src/openssl/engines/e_capi.c:601,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_capi.c:604,1
    - Dst: ENGINE_add
      Src: /src/openssl/engines/e_capi.c:605,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_capi.c:610,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_capi.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 617
    functionName: engine_load_capi_int
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    - engine_capi
    linkageType: ''
    returnType: void
    signature: void engine_load_capi_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/engines/e_capi.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bn
    - bin
    - binlen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 638
    functionName: lend_tobn
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: int lend_tobn(BIGNUM *bn, unsigned char *bin, int binlen)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CryptExportKey
      Src: /src/openssl/engines/e_capi.c:650,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:651,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:652,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_capi.c:656,1
    - Dst: CryptExportKey
      Src: /src/openssl/engines/e_capi.c:661,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:662,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:663,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:669,1
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_capi.c:680,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:681,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_capi.c:683,1
    - Dst: RSA_new_method
      Src: /src/openssl/engines/e_capi.c:687,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:689,1
    - Dst: BN_new
      Src: /src/openssl/engines/e_capi.c:693,1
    - Dst: BN_new
      Src: /src/openssl/engines/e_capi.c:694,1
    - Dst: BN_free
      Src: /src/openssl/engines/e_capi.c:697,1
    - Dst: BN_free
      Src: /src/openssl/engines/e_capi.c:698,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:699,1
    - Dst: RSA_set0_key
      Src: /src/openssl/engines/e_capi.c:703,1
    - Dst: BN_set_word
      Src: /src/openssl/engines/e_capi.c:705,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:706,1
    - Dst: lend_tobn
      Src: /src/openssl/engines/e_capi.c:711,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:712,1
    - Dst: RSA_set_ex_data
      Src: /src/openssl/engines/e_capi.c:716,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/engines/e_capi.c:718,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:719,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/engines/e_capi.c:723,1
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_capi.c:735,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:736,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_capi.c:738,1
    - Dst: DSA_new_method
      Src: /src/openssl/engines/e_capi.c:743,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:745,1
    - Dst: BN_new
      Src: /src/openssl/engines/e_capi.c:748,1
    - Dst: BN_new
      Src: /src/openssl/engines/e_capi.c:749,1
    - Dst: BN_new
      Src: /src/openssl/engines/e_capi.c:750,1
    - Dst: BN_new
      Src: /src/openssl/engines/e_capi.c:751,1
    - Dst: BN_free
      Src: /src/openssl/engines/e_capi.c:753,1
    - Dst: BN_free
      Src: /src/openssl/engines/e_capi.c:754,1
    - Dst: BN_free
      Src: /src/openssl/engines/e_capi.c:755,1
    - Dst: BN_free
      Src: /src/openssl/engines/e_capi.c:756,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:757,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/engines/e_capi.c:760,1
    - Dst: DSA_set0_key
      Src: /src/openssl/engines/e_capi.c:761,1
    - Dst: lend_tobn
      Src: /src/openssl/engines/e_capi.c:762,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:763,1
    - Dst: lend_tobn
      Src: /src/openssl/engines/e_capi.c:767,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:768,1
    - Dst: lend_tobn
      Src: /src/openssl/engines/e_capi.c:772,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:773,1
    - Dst: lend_tobn
      Src: /src/openssl/engines/e_capi.c:777,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:778,1
    - Dst: DSA_set_ex_data
      Src: /src/openssl/engines/e_capi.c:783,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/engines/e_capi.c:785,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:786,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/engines/e_capi.c:790,1
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_capi.c:795,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:796,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_capi.c:798,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:803,1
    - Dst: RSA_free
      Src: /src/openssl/engines/e_capi.c:805,1
    - Dst: DSA_free
      Src: /src/openssl/engines/e_capi.c:807,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 147
    argCount: 2
    argNames:
    - eng
    - key
    argTypes:
    - ENGINE*
    - CAPI_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 812
    functionName: capi_get_pkey
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CryptExportKey
    - CAPIerr
    - BIO_snprintf
    - OPENSSL_free
    - capi_addlasterror
    - DSA_set0_key
    - BN_set_word
    - EVP_PKEY_assign_RSA
    - DSA_set_ex_data
    - EVP_PKEY_assign_DSA
    - lend_tobn
    - BN_new
    - BN_free
    - DSA_new_method
    - DSA_set0_pqg
    - OPENSSL_malloc
    - EVP_PKEY_new
    - RSA_new_method
    - DSA_free
    - RSA_set0_key
    - RSA_free
    - ERR_add_error_data
    - RSA_set_ex_data
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *capi_get_pkey(ENGINE *eng, CAPI_KEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/engines/e_capi.c:820,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:823,1
    - Dst: capi_find_key
      Src: /src/openssl/engines/e_capi.c:827,1
    - Dst: capi_get_pkey
      Src: /src/openssl/engines/e_capi.c:832,1
    - Dst: capi_free_key
      Src: /src/openssl/engines/e_capi.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - eng
    - key_id
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 838
    functionName: capi_load_privkey
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - capi_find_key
    - CAPIerr
    - ENGINE_get_ex_data
    - capi_get_pkey
    - capi_free_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *capi_load_privkey(ENGINE *eng, const char *key_id,\n                                   UI_METHOD
      *ui_method, void *callback_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: capi_rsa_priv_enc
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CAPIerr
    linkageType: ''
    returnType: int
    signature: "int capi_rsa_priv_enc(int flen, const unsigned char *from,\n                      unsigned
      char *to, RSA *rsa, int padding)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/engines/e_capi.c:860,1
    - Dst: RSA_get0_engine
      Src: /src/openssl/engines/e_capi.c:860,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:862,1
    - Dst: RSA_get_ex_data
      Src: /src/openssl/engines/e_capi.c:864,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:866,1
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_capi.c:897,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:898,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_capi.c:899,1
    - Dst: CryptCreateHash
      Src: /src/openssl/engines/e_capi.c:905,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:906,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:907,1
    - Dst: CryptSetHashParam
      Src: /src/openssl/engines/e_capi.c:912,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:913,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:914,1
    - Dst: RSA_size
      Src: /src/openssl/engines/e_capi.c:919,1
    - Dst: CryptSignHash
      Src: /src/openssl/engines/e_capi.c:920,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:921,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:922,1
    - Dst: CryptDestroyHash
      Src: /src/openssl/engines/e_capi.c:939,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 6
    argNames:
    - dtype
    - m
    - m_len
    - sigret
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 942
    functionName: capi_rsa_sign
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CryptDestroyHash
    - CAPI_trace
    - CAPIerr
    - ERR_add_error_data
    - ENGINE_get_ex_data
    - RSA_size
    - CryptCreateHash
    - BIO_snprintf
    - RSA_get0_engine
    - CryptSetHashParam
    - CryptSignHash
    - RSA_get_ex_data
    - capi_addlasterror
    linkageType: ''
    returnType: int
    signature: "int capi_rsa_sign(int dtype, const unsigned char *m, unsigned int
      m_len,\n                  unsigned char *sigret, unsigned int *siglen, const
      RSA *rsa)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/engines/e_capi.c:957,1
    - Dst: RSA_get0_engine
      Src: /src/openssl/engines/e_capi.c:957,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:959,1
    - Dst: RSA_get_ex_data
      Src: /src/openssl/engines/e_capi.c:961,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:963,1
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_capi.c:979,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:980,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_capi.c:981,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_capi.c:987,1
    - Dst: CryptDecrypt
      Src: /src/openssl/engines/e_capi.c:994,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:995,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:996,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/engines/e_capi.c:997,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:998,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_capi.c:1001,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/engines/e_capi.c:1003,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1004,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 1007
    functionName: capi_rsa_priv_dec
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CAPI_trace
    - CAPIerr
    - ERR_add_error_data
    - CryptDecrypt
    - memcpy
    - ENGINE_get_ex_data
    - BIO_snprintf
    - RSA_get0_engine
    - OPENSSL_free
    - RSA_get_ex_data
    - capi_addlasterror
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int capi_rsa_priv_dec(int flen, const unsigned char *from,\n                      unsigned
      char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_ex_data
      Src: /src/openssl/engines/e_capi.c:1012,1
    - Dst: capi_free_key
      Src: /src/openssl/engines/e_capi.c:1013,1
    - Dst: RSA_set_ex_data
      Src: /src/openssl/engines/e_capi.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1016
    functionName: capi_rsa_free
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - capi_free_key
    - RSA_set_ex_data
    - RSA_get_ex_data
    linkageType: ''
    returnType: int
    signature: int capi_rsa_free(RSA *rsa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/engines/e_capi.c:1031,1
    - Dst: DSA_get0_engine
      Src: /src/openssl/engines/e_capi.c:1031,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1033,1
    - Dst: DSA_get_ex_data
      Src: /src/openssl/engines/e_capi.c:1035,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1038,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1043,1
    - Dst: CryptCreateHash
      Src: /src/openssl/engines/e_capi.c:1048,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1049,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1050,1
    - Dst: CryptSetHashParam
      Src: /src/openssl/engines/e_capi.c:1055,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1056,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1057,1
    - Dst: CryptSignHash
      Src: /src/openssl/engines/e_capi.c:1063,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1064,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1065,1
    - Dst: BN_new
      Src: /src/openssl/engines/e_capi.c:1068,1
    - Dst: BN_new
      Src: /src/openssl/engines/e_capi.c:1068,1
    - Dst: lend_tobn
      Src: /src/openssl/engines/e_capi.c:1071,1
    - Dst: lend_tobn
      Src: /src/openssl/engines/e_capi.c:1072,1
    - Dst: DSA_SIG_new
      Src: /src/openssl/engines/e_capi.c:1073,1
    - Dst: BN_free
      Src: /src/openssl/engines/e_capi.c:1074,1
    - Dst: BN_free
      Src: /src/openssl/engines/e_capi.c:1075,1
    - Dst: DSA_SIG_set0
      Src: /src/openssl/engines/e_capi.c:1078,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/engines/e_capi.c:1084,1
    - Dst: CryptDestroyHash
      Src: /src/openssl/engines/e_capi.c:1085,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - digest
    - dlen
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1087
    functionName: capi_dsa_do_sign
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - DSA_get0_engine
    - CryptDestroyHash
    - CAPI_trace
    - CAPIerr
    - DSA_SIG_new
    - ENGINE_get_ex_data
    - CryptCreateHash
    - DSA_SIG_set0
    - lend_tobn
    - CryptSetHashParam
    - CryptSignHash
    - BN_new
    - capi_addlasterror
    - DSA_get_ex_data
    - BN_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: DSA_SIG
    signature: "DSA_SIG *capi_dsa_do_sign(const unsigned char *digest, int dlen,\n
      \                                DSA *dsa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get_ex_data
      Src: /src/openssl/engines/e_capi.c:1092,1
    - Dst: capi_free_key
      Src: /src/openssl/engines/e_capi.c:1093,1
    - Dst: DSA_set_ex_data
      Src: /src/openssl/engines/e_capi.c:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1096
    functionName: capi_dsa_free
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - DSA_get_ex_data
    - DSA_set_ex_data
    - capi_free_key
    linkageType: ''
    returnType: int
    signature: int capi_dsa_free(DSA *dsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/engines/e_capi.c:1106,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1108,1
    - Dst: BIO_vprintf
      Src: /src/openssl/engines/e_capi.c:1111,1
    - Dst: BIO_free
      Src: /src/openssl/engines/e_capi.c:1112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - level
    - format
    - argptr
    argTypes:
    - CAPI_CTX*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1113
    functionName: capi_vtrace
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_vprintf
    - BIO_free
    - CAPIerr
    linkageType: ''
    returnType: void
    signature: "void capi_vtrace(CAPI_CTX *ctx, int level, char *format,\n                        va_list
      argptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/engines/e_capi.c:1118,1
    - Dst: capi_vtrace
      Src: /src/openssl/engines/e_capi.c:1119,1
    - Dst: va_end
      Src: /src/openssl/engines/e_capi.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - format
    argTypes:
    - CAPI_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1121
    functionName: CAPI_trace
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 4
    functionsReached:
    - capi_vtrace
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void CAPI_trace(CAPI_CTX *ctx, char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: capi_adderror
      Src: /src/openssl/engines/e_capi.c:1125,1
    - Dst: GetLastError
      Src: /src/openssl/engines/e_capi.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1126
    functionName: capi_addlasterror
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 4
    functionsReached:
    - GetLastError
    - capi_adderror
    linkageType: ''
    returnType: void
    signature: void capi_addlasterror(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_capi.c:1131,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_capi.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1133
    functionName: capi_adderror
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - BIO_snprintf
    - ERR_add_error_data
    linkageType: ''
    returnType: void
    signature: void capi_adderror(DWORD err)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wcslen
      Src: /src/openssl/engines/e_capi.c:1144,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1147,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/engines/e_capi.c:1152,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1154,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_capi.c:1157,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/engines/e_capi.c:1160,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1161,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - wstr
    argTypes:
    - LPCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1166
    functionName: wide_to_asc
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CAPIerr
    - WideCharToMultiByte
    - OPENSSL_free
    - wcslen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *wide_to_asc(LPCWSTR wstr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1173,1
    - Dst: CryptEnumProviders
      Src: /src/openssl/engines/e_capi.c:1174,1
    - Dst: GetLastError
      Src: /src/openssl/engines/e_capi.c:1175,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1178,1
    - Dst: capi_adderror
      Src: /src/openssl/engines/e_capi.c:1179,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_capi.c:1182,1
    - Dst: CryptEnumProviders
      Src: /src/openssl/engines/e_capi.c:1185,1
    - Dst: GetLastError
      Src: /src/openssl/engines/e_capi.c:1186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1187,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1190,1
    - Dst: capi_adderror
      Src: /src/openssl/engines/e_capi.c:1191,1
    - Dst: wide_to_asc
      Src: /src/openssl/engines/e_capi.c:1195,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1196,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - pname
    - ptype
    - idx
    argTypes:
    - CAPI_CTX*
    - LPSTR*
    - DWORD*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1168
    functionDepth: 3
    functionLinenumber: 1168
    functionLinenumberEnd: 1206
    functionName: capi_get_provname
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - CAPI_trace
    - CAPIerr
    - capi_adderror
    - OPENSSL_free
    - wide_to_asc
    - CryptEnumProviders
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int capi_get_provname(CAPI_CTX *ctx, LPSTR *pname, DWORD *ptype,\n
      \                            DWORD idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1213,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1214,1
    - Dst: capi_get_provname
      Src: /src/openssl/engines/e_capi.c:1216,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - CAPI_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1208
    functionDepth: 4
    functionLinenumber: 1208
    functionLinenumberEnd: 1225
    functionName: capi_list_providers
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - capi_get_provname
    - CAPI_trace
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int capi_list_providers(CAPI_CTX *ctx, BIO *out)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1235,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/engines/e_capi.c:1238,1
    - Dst: alloca
      Src: /src/openssl/engines/e_capi.c:1240,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/engines/e_capi.c:1241,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1245,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1246,1
    - Dst: CryptAcquireContextW
      Src: /src/openssl/engines/e_capi.c:1250,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1252,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1254,1
    - Dst: CryptGetProvParam
      Src: /src/openssl/engines/e_capi.c:1257,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1259,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1260,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/engines/e_capi.c:1261,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1264,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_capi.c:1267,1
    - Dst: CryptGetProvParam
      Src: /src/openssl/engines/e_capi.c:1279,1
    - Dst: GetLastError
      Src: /src/openssl/engines/e_capi.c:1281,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1284,1
    - Dst: capi_adderror
      Src: /src/openssl/engines/e_capi.c:1285,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1288,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1291,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1301,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/engines/e_capi.c:1302,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - CAPI_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1227
    functionDepth: 3
    functionLinenumber: 1227
    functionLinenumberEnd: 1305
    functionName: capi_list_containers
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - GetLastError
    - CAPI_trace
    - CAPIerr
    - capi_adderror
    - BIO_printf
    - OPENSSL_free
    - CryptGetProvParam
    - alloca
    - CryptAcquireContextW
    - capi_addlasterror
    - MultiByteToWideChar
    - CryptReleaseContext
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int capi_list_containers(CAPI_CTX *ctx, BIO *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CertGetCertificateContextProperty
      Src: /src/openssl/engines/e_capi.c:1313,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_capi.c:1316,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/openssl/engines/e_capi.c:1319,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1321,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1323,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - CAPI_CTX*
    - PCCERT_CONTEXT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1328
    functionName: capi_get_prov_info
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CAPIerr
    - OPENSSL_free
    - capi_addlasterror
    - OPENSSL_malloc
    - CertGetCertificateContextProperty
    linkageType: ''
    returnType: CRYPT_KEY_PROV_INFO
    signature: "CRYPT_KEY_PROV_INFO *capi_get_prov_info(CAPI_CTX *ctx,\n                                               PCCERT_CONTEXT
      cert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1336,1
    - Dst: wide_to_asc
      Src: /src/openssl/engines/e_capi.c:1339,1
    - Dst: wide_to_asc
      Src: /src/openssl/engines/e_capi.c:1340,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1344,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1345,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1347,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1350,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - out
    - pinfo
    argTypes:
    - CAPI_CTX*
    - BIO*
    - CRYPT_KEY_PROV_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1352
    functionName: capi_dump_prov_info
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - wide_to_asc
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void capi_dump_prov_info(CAPI_CTX *ctx, BIO *out,\n                                CRYPT_KEY_PROV_INFO
      *pinfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1359,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/openssl/engines/e_capi.c:1360,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_capi.c:1363,1
    - Dst: CertGetCertificateContextProperty
      Src: /src/openssl/engines/e_capi.c:1366,1
    - Dst: wide_to_asc
      Src: /src/openssl/engines/e_capi.c:1368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1369,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1372,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1373,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - CAPI_CTX*
    - PCCERT_CONTEXT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1377
    functionName: capi_cert_get_fname
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CAPI_trace
    - CAPIerr
    - OPENSSL_free
    - wide_to_asc
    - capi_addlasterror
    - OPENSSL_malloc
    - CertGetCertificateContextProperty
    linkageType: ''
    returnType: char
    signature: char *capi_cert_get_fname(CAPI_CTX *ctx, PCCERT_CONTEXT cert)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: capi_cert_get_fname
      Src: /src/openssl/engines/e_capi.c:1386,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1388,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1389,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1391,1
    - Dst: d2i_X509
      Src: /src/openssl/engines/e_capi.c:1396,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1398,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1400,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/engines/e_capi.c:1401,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/engines/e_capi.c:1401,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1402,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/engines/e_capi.c:1403,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/engines/e_capi.c:1403,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1404,1
    - Dst: X509_print_ex
      Src: /src/openssl/engines/e_capi.c:1407,1
    - Dst: capi_get_prov_info
      Src: /src/openssl/engines/e_capi.c:1411,1
    - Dst: capi_dump_prov_info
      Src: /src/openssl/engines/e_capi.c:1412,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1413,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/engines/e_capi.c:1417,1
    - Dst: X509_free
      Src: /src/openssl/engines/e_capi.c:1418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - out
    - cert
    argTypes:
    - CAPI_CTX*
    - BIO*
    - PCCERT_CONTEXT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1379
    functionDepth: 4
    functionLinenumber: 1379
    functionLinenumberEnd: 1419
    functionName: capi_dump_cert
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - X509_print_ex
    - capi_get_prov_info
    - capi_dump_prov_info
    - X509_NAME_print_ex
    - PEM_write_bio_X509
    - X509_get_subject_name
    - X509_get_issuer_name
    - X509_free
    - OPENSSL_free
    - capi_cert_get_fname
    - d2i_X509
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void capi_dump_cert(CAPI_CTX *ctx, BIO *out, PCCERT_CONTEXT cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1429,1
    - Dst: CertOpenStore
      Src: /src/openssl/engines/e_capi.c:1431,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1434,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - storename
    argTypes:
    - CAPI_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1421
    functionDepth: 3
    functionLinenumber: 1421
    functionLinenumberEnd: 1438
    functionName: capi_open_store
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CertOpenStore
    - capi_addlasterror
    - CAPI_trace
    - CAPIerr
    linkageType: ''
    returnType: HCERTSTORE
    signature: HCERTSTORE capi_open_store(CAPI_CTX *ctx, char *storename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1451,1
    - Dst: capi_open_store
      Src: /src/openssl/engines/e_capi.c:1453,1
    - Dst: capi_find_cert
      Src: /src/openssl/engines/e_capi.c:1457,1
    - Dst: capi_dump_cert
      Src: /src/openssl/engines/e_capi.c:1462,1
    - Dst: CertFreeCertificateContext
      Src: /src/openssl/engines/e_capi.c:1463,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/openssl/engines/e_capi.c:1466,1
    - Dst: BIO_printf
      Src: /src/openssl/engines/e_capi.c:1469,1
    - Dst: capi_dump_cert
      Src: /src/openssl/engines/e_capi.c:1470,1
    - Dst: CertCloseStore
      Src: /src/openssl/engines/e_capi.c:1474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - out
    - id
    argTypes:
    - CAPI_CTX*
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1440
    functionDepth: 5
    functionLinenumber: 1440
    functionLinenumberEnd: 1476
    functionName: capi_list_certs
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - CAPI_trace
    - capi_find_cert
    - capi_dump_cert
    - BIO_printf
    - CertCloseStore
    - CertEnumCertificatesInStore
    - capi_open_store
    - CertFreeCertificateContext
    linkageType: ''
    returnType: int
    signature: int capi_list_certs(CAPI_CTX *ctx, BIO *out, char *id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CertFindCertificateInStore
      Src: /src/openssl/engines/e_capi.c:1486,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/openssl/engines/e_capi.c:1490,1
    - Dst: capi_cert_get_fname
      Src: /src/openssl/engines/e_capi.c:1493,1
    - Dst: strcmp
      Src: /src/openssl/engines/e_capi.c:1495,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - id
    - hstore
    argTypes:
    - CAPI_CTX*
    - char*
    - HCERTSTORE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1478
    functionDepth: 4
    functionLinenumber: 1478
    functionLinenumberEnd: 1507
    functionName: capi_find_cert
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - CertFindCertificateInStore
    - OPENSSL_free
    - capi_cert_get_fname
    - strcmp
    - CertEnumCertificatesInStore
    linkageType: ''
    returnType: PCCERT_CONTEXT
    signature: "PCCERT_CONTEXT capi_find_cert(CAPI_CTX *ctx, const char *id,\n                                     HCERTSTORE
      hstore)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/engines/e_capi.c:1514,1
    - Dst: wcscmp
      Src: /src/openssl/engines/e_capi.c:1520,1
    - Dst: wide_to_asc
      Src: /src/openssl/engines/e_capi.c:1529,1
    - Dst: wide_to_asc
      Src: /src/openssl/engines/e_capi.c:1530,1
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1532,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1534,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1535,1
    - Dst: CryptAcquireContextW
      Src: /src/openssl/engines/e_capi.c:1539,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1541,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1542,1
    - Dst: CryptGetUserKey
      Src: /src/openssl/engines/e_capi.c:1545,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1546,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1547,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/engines/e_capi.c:1548,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1556,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - contname
    - provname
    - ptype
    - keyspec
    argTypes:
    - CAPI_CTX*
    - WCHAR*
    - WCHAR*
    - DWORD
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1509
    functionDepth: 3
    functionLinenumber: 1509
    functionLinenumberEnd: 1558
    functionName: capi_get_key
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - CryptGetUserKey
    - CAPI_trace
    - wcscmp
    - CAPIerr
    - OPENSSL_free
    - wide_to_asc
    - CryptAcquireContextW
    - capi_addlasterror
    - CryptReleaseContext
    - OPENSSL_malloc
    linkageType: ''
    returnType: CAPI_KEY
    signature: "CAPI_KEY *capi_get_key(CAPI_CTX *ctx, const WCHAR *contname,\n                              const
      WCHAR *provname, DWORD ptype,\n                              DWORD keyspec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: capi_get_prov_info
      Src: /src/openssl/engines/e_capi.c:1565,1
    - Dst: capi_get_key
      Src: /src/openssl/engines/e_capi.c:1568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - CAPI_CTX*
    - PCCERT_CONTEXT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1560
    functionDepth: 4
    functionLinenumber: 1560
    functionLinenumberEnd: 1573
    functionName: capi_get_cert_key
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - capi_get_prov_info
    - capi_get_key
    linkageType: ''
    returnType: CAPI_KEY
    signature: CAPI_KEY *capi_get_cert_key(CAPI_CTX *ctx, PCCERT_CONTEXT cert)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: capi_open_store
      Src: /src/openssl/engines/e_capi.c:1584,1
    - Dst: capi_find_cert
      Src: /src/openssl/engines/e_capi.c:1587,1
    - Dst: capi_get_cert_key
      Src: /src/openssl/engines/e_capi.c:1589,1
    - Dst: CertFreeCertificateContext
      Src: /src/openssl/engines/e_capi.c:1590,1
    - Dst: CertCloseStore
      Src: /src/openssl/engines/e_capi.c:1592,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/engines/e_capi.c:1600,1
    - Dst: alloca
      Src: /src/openssl/engines/e_capi.c:1601,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/engines/e_capi.c:1602,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/engines/e_capi.c:1603,1
    - Dst: alloca
      Src: /src/openssl/engines/e_capi.c:1605,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/engines/e_capi.c:1606,1
    - Dst: capi_get_key
      Src: /src/openssl/engines/e_capi.c:1608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - CAPI_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1575
    functionDepth: 5
    functionLinenumber: 1575
    functionLinenumberEnd: 1615
    functionName: capi_find_key
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - capi_get_cert_key
    - capi_find_cert
    - MultiByteToWideChar
    - capi_get_key
    - CertCloseStore
    - alloca
    - capi_open_store
    - CertFreeCertificateContext
    linkageType: ''
    returnType: CAPI_KEY
    signature: CAPI_KEY *capi_find_key(CAPI_CTX *ctx, const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CryptDestroyKey
      Src: /src/openssl/engines/e_capi.c:1621,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/engines/e_capi.c:1622,1
    - Dst: CertFreeCertificateContext
      Src: /src/openssl/engines/e_capi.c:1624,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - CAPI_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1626
    functionName: capi_free_key
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - CryptReleaseContext
    - CryptDestroyKey
    - CertFreeCertificateContext
    linkageType: ''
    returnType: void
    signature: void capi_free_key(CAPI_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_capi.c:1632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1644
    functionName: capi_ctx_new
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CAPI_CTX
    signature: CAPI_CTX *capi_ctx_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1648,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1651,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1652,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1653,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1654,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CAPI_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1646
    functionDepth: 3
    functionLinenumber: 1646
    functionLinenumberEnd: 1656
    functionName: capi_ctx_free
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - CAPI_trace
    linkageType: ''
    returnType: void
    signature: void capi_ctx_free(CAPI_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAPI_trace
      Src: /src/openssl/engines/e_capi.c:1663,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/engines/e_capi.c:1669,1
    - Dst: alloca
      Src: /src/openssl/engines/e_capi.c:1670,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/engines/e_capi.c:1671,1
    - Dst: CryptAcquireContextW
      Src: /src/openssl/engines/e_capi.c:1673,1
    - Dst: CAPIerr
      Src: /src/openssl/engines/e_capi.c:1675,1
    - Dst: capi_addlasterror
      Src: /src/openssl/engines/e_capi.c:1677,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/engines/e_capi.c:1680,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/engines/e_capi.c:1682,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - pname
    - type
    - check
    argTypes:
    - CAPI_CTX*
    - LPSTR
    - DWORD
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1658
    functionDepth: 3
    functionLinenumber: 1658
    functionLinenumberEnd: 1689
    functionName: capi_ctx_set_provname
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - CAPI_trace
    - CAPIerr
    - OPENSSL_free
    - OPENSSL_strdup
    - alloca
    - CryptAcquireContextW
    - capi_addlasterror
    - MultiByteToWideChar
    - CryptReleaseContext
    linkageType: ''
    returnType: int
    signature: "int capi_ctx_set_provname(CAPI_CTX *ctx, LPSTR pname, DWORD type,\n
      \                                int check)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: capi_get_provname
      Src: /src/openssl/engines/e_capi.c:1696,1
    - Dst: capi_ctx_set_provname
      Src: /src/openssl/engines/e_capi.c:1698,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_capi.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - CAPI_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1691
    functionDepth: 4
    functionLinenumber: 1691
    functionLinenumberEnd: 1701
    functionName: capi_ctx_set_provname_idx
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - capi_ctx_set_provname
    - capi_get_provname
    linkageType: ''
    returnType: int
    signature: int capi_ctx_set_provname_idx(CAPI_CTX *ctx, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - id
    - fns
    argTypes:
    - ENGINE*
    - char*
    - dynamic_fns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1925
    functionName: bind_engine
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_EXPORT
    signature: OPENSSL_EXPORT bind_engine(ENGINE *e, const char *id, const dynamic_fns
      *fns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1932
    functionName: engine_load_capi_int
    functionSourceFile: /src/openssl/engines/e_capi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void engine_load_capi_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: ATTICerr
    functionSourceFile: /src/openssl/engines/e_loader_attic_err.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTICerr(f, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: engine_load_afalg_int
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void engine_load_afalg_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: ALG_IV_LEN
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG_IV_LEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/openssl/engines/e_afalg.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - ctx
    argTypes:
    - unsigned
    - aio_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: io_setup
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline io_setup(unsigned n, aio_context_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/openssl/engines/e_afalg.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: eventfd
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 1
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline eventfd(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/openssl/engines/e_afalg.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - aio_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: io_destroy
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline io_destroy(aio_context_t ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/openssl/engines/e_afalg.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - n
    - iocb
    argTypes:
    - aio_context_t
    - long
    - struct iocb**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: io_read
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline io_read(aio_context_t ctx, long n, struct iocb **iocb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/openssl/engines/e_afalg.c:140,1
    - Dst: syscall
      Src: /src/openssl/engines/e_afalg.c:153,1
    - Dst: syscall
      Src: /src/openssl/engines/e_afalg.c:167,1
    - Dst: syscall
      Src: /src/openssl/engines/e_afalg.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - min
    - max
    - events
    - timeout
    argTypes:
    - aio_context_t
    - long
    - long
    - struct io_event*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: io_getevents
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline io_getevents(aio_context_t ctx, long min, long max,\n
      \                              struct io_event *events,\n                               struct
      timespec *timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - waitfd
    - custom
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    - OSSL_ASYNC_FD
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: afalg_waitfd_cleanup
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: "void afalg_waitfd_cleanup(ASYNC_WAIT_CTX *ctx, const void *key,\n
      \                                OSSL_ASYNC_FD waitfd, void *custom)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/engines/e_afalg.c:191,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/openssl/engines/e_afalg.c:193,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:195,1
    - Dst: ASYNC_WAIT_CTX_get_fd
      Src: /src/openssl/engines/e_afalg.c:199,1
    - Dst: eventfd
      Src: /src/openssl/engines/e_afalg.c:206,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:208,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:210,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/openssl/engines/e_afalg.c:214,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:218,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:219,1
    - Dst: fcntl
      Src: /src/openssl/engines/e_afalg.c:223,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:224,1
    - Dst: eventfd
      Src: /src/openssl/engines/e_afalg.c:231,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:233,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - aio
    argTypes:
    - afalg_aio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 241
    functionName: afalg_setup_async_event_notification
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_set_wait_fd
    - ALG_WARN
    - fcntl
    - ASYNC_get_wait_ctx
    - close
    - ASYNC_WAIT_CTX_get_fd
    - ASYNC_get_current_job
    - eventfd
    - AFALGerr
    - ALG_PERR
    linkageType: ''
    returnType: int
    signature: int afalg_setup_async_event_notification(afalg_aio *aio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_setup
      Src: /src/openssl/engines/e_afalg.c:249,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:251,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:252,1
    - Dst: memset
      Src: /src/openssl/engines/e_afalg.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - aio
    argTypes:
    - afalg_aio*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: afalg_init_aio
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - AFALGerr
    - io_setup
    - memset
    - ALG_PERR
    linkageType: ''
    returnType: int
    signature: int afalg_init_aio(afalg_aio *aio)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: afalg_setup_async_event_notification
      Src: /src/openssl/engines/e_afalg.c:279,1
    - Dst: memset
      Src: /src/openssl/engines/e_afalg.c:285,1
    - Dst: io_read
      Src: /src/openssl/engines/e_afalg.c:303,1
    - Dst: ALG_PWARN
      Src: /src/openssl/engines/e_afalg.c:305,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/engines/e_afalg.c:311,1
    - Dst: read
      Src: /src/openssl/engines/e_afalg.c:314,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:318,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:321,1
    - Dst: memset
      Src: /src/openssl/engines/e_afalg.c:332,1
    - Dst: io_getevents
      Src: /src/openssl/engines/e_afalg.c:336,1
    - Dst: io_read
      Src: /src/openssl/engines/e_afalg.c:349,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:351,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:373,1
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_afalg.c:376,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:379,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_afalg.c:380,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:383,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/engines/e_afalg.c:384,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:393,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:396,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 4
    argNames:
    - aio
    - sfd
    - buf
    - len
    argTypes:
    - afalg_aio*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 403
    functionName: afalg_fin_cipher_aio
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - io_getevents
    - ALG_WARN
    - memset
    - read
    - ERR_add_error_data
    - BIO_snprintf
    - AFALGerr
    - ASYNC_pause_job
    - ALG_PWARN
    - afalg_setup_async_event_notification
    - ALG_PERR
    - io_read
    linkageType: ''
    returnType: int
    signature: "int afalg_fin_cipher_aio(afalg_aio *aio, int sfd, unsigned char *buf,\n
      \                               size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_LEN
      Src: /src/openssl/engines/e_afalg.c:410,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_afalg.c:411,1
    - Dst: CMSG_DATA
      Src: /src/openssl/engines/e_afalg.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cmsg
    - op
    argTypes:
    - struct cmsghdr*
    - ALG_OP_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: afalg_set_op_sk
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CMSG_DATA
    - CMSG_LEN
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline afalg_set_op_sk(struct cmsghdr *cmsg,\n                                   const
      ALG_OP_TYPE op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_LEN
      Src: /src/openssl/engines/e_afalg.c:421,1
    - Dst: ALG_IV_LEN
      Src: /src/openssl/engines/e_afalg.c:421,1
    - Dst: CMSG_DATA
      Src: /src/openssl/engines/e_afalg.c:422,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_afalg.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cmsg
    - iv
    - len
    argTypes:
    - struct cmsghdr*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: afalg_set_iv_sk
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - ALG_IV_LEN
    - memcpy
    - CMSG_DATA
    - CMSG_LEN
    linkageType: ''
    returnType: void
    signature: "void afalg_set_iv_sk(struct cmsghdr *cmsg, const unsigned char *iv,\n
      \                           const unsigned int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/engines/e_afalg.c:431,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:433,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - actx
    - key
    - klen
    argTypes:
    - afalg_ctx*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 438
    functionName: afalg_set_key
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - AFALGerr
    - ALG_PERR
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline afalg_set_key(afalg_ctx *actx, const unsigned char *key,\n
      \                               const int klen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/engines/e_afalg.c:448,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/engines/e_afalg.c:450,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/engines/e_afalg.c:451,1
    - Dst: socket
      Src: /src/openssl/engines/e_afalg.c:453,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:455,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:456,1
    - Dst: bind
      Src: /src/openssl/engines/e_afalg.c:460,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:462,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:463,1
    - Dst: accept
      Src: /src/openssl/engines/e_afalg.c:467,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:469,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:470,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:478,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - actx
    - ciphertype
    - ciphername
    argTypes:
    - afalg_ctx*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 483
    functionName: afalg_create_sk
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - bind
    - memset
    - socket
    - OPENSSL_strlcpy
    - close
    - AFALGerr
    - accept
    - ALG_PERR
    linkageType: ''
    returnType: int
    signature: "int afalg_create_sk(afalg_ctx *actx, const char *ciphertype,\n                                const
      char *ciphername)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/openssl/engines/e_afalg.c:496,1
    - Dst: ALG_IV_LEN
      Src: /src/openssl/engines/e_afalg.c:496,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/engines/e_afalg.c:496,1
    - Dst: memset
      Src: /src/openssl/engines/e_afalg.c:498,1
    - Dst: memset
      Src: /src/openssl/engines/e_afalg.c:499,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/engines/e_afalg.c:507,1
    - Dst: afalg_set_op_sk
      Src: /src/openssl/engines/e_afalg.c:508,1
    - Dst: CMSG_NXTHDR
      Src: /src/openssl/engines/e_afalg.c:509,1
    - Dst: afalg_set_iv_sk
      Src: /src/openssl/engines/e_afalg.c:510,1
    - Dst: sendmsg
      Src: /src/openssl/engines/e_afalg.c:530,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:532,1
    - Dst: vmsplice
      Src: /src/openssl/engines/e_afalg.c:541,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:543,1
    - Dst: splice
      Src: /src/openssl/engines/e_afalg.c:547,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:549,1
    - Dst: sendmsg
      Src: /src/openssl/engines/e_afalg.c:557,1
    - Dst: ALG_PERR
      Src: /src/openssl/engines/e_afalg.c:559,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 5
    argNames:
    - actx
    - in
    - inl
    - iv
    - enc
    argTypes:
    - afalg_ctx*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 572
    functionName: afalg_start_cipher_sk
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - ALG_WARN
    - memset
    - CMSG_SPACE
    - afalg_set_op_sk
    - splice
    - sendmsg
    - CMSG_NXTHDR
    - afalg_set_iv_sk
    - vmsplice
    - CMSG_FIRSTHDR
    - ALG_IV_LEN
    - ALG_PERR
    linkageType: ''
    returnType: int
    signature: "int afalg_start_cipher_sk(afalg_ctx *actx, const unsigned char *in,\n
      \                                size_t inl, const unsigned char *iv,\n                                 unsigned
      int enc)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:583,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/engines/e_afalg.c:587,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:588,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_afalg.c:592,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:594,1
    - Dst: EVP_CIPHER_CTX_get_nid
      Src: /src/openssl/engines/e_afalg.c:598,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:606,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/engines/e_afalg.c:611,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:612,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/engines/e_afalg.c:613,1
    - Dst: afalg_create_sk
      Src: /src/openssl/engines/e_afalg.c:618,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/engines/e_afalg.c:622,1
    - Dst: afalg_set_key
      Src: /src/openssl/engines/e_afalg.c:624,1
    - Dst: afalg_init_aio
      Src: /src/openssl/engines/e_afalg.c:629,1
    - Dst: pipe
      Src: /src/openssl/engines/e_afalg.c:633,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:641,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:642,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 644
    functionName: afalg_cipher_init
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - afalg_init_aio
    - ALG_WARN
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_CTX_get_iv_length
    - pipe
    - afalg_create_sk
    - close
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_CTX_get_nid
    - afalg_set_key
    linkageType: ''
    returnType: int
    signature: "int afalg_cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                            const unsigned char *iv, int enc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:654,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_afalg.c:659,1
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:661,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_afalg.c:670,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_afalg.c:671,1
    - Dst: afalg_start_cipher_sk
      Src: /src/openssl/engines/e_afalg.c:675,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/openssl/engines/e_afalg.c:676,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_afalg.c:677,1
    - Dst: afalg_fin_cipher_aio
      Src: /src/openssl/engines/e_afalg.c:683,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_afalg.c:687,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_afalg.c:688,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_afalg.c:688,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_afalg.c:691,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_afalg.c:691,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 695
    functionName: afalg_do_cipher
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - ALG_WARN
    - afalg_start_cipher_sk
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_CTX_iv
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_CIPHER_CTX_iv_noconst
    - afalg_fin_cipher_aio
    linkageType: ''
    returnType: int
    signature: "int afalg_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALG_WARN
      Src: /src/openssl/engines/e_afalg.c:702,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_afalg.c:707,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:711,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:712,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:714,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:715,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:719,1
    - Dst: io_destroy
      Src: /src/openssl/engines/e_afalg.c:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 723
    functionName: afalg_cipher_cleanup
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - ALG_WARN
    - close
    - EVP_CIPHER_CTX_get_cipher_data
    - io_destroy
    linkageType: ''
    returnType: int
    signature: int afalg_cipher_cleanup(EVP_CIPHER_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 737
    functionName: get_cipher_handle
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cbc_handles
    signature: cbc_handles *get_cipher_handle(int nid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_handle
      Src: /src/openssl/engines/e_afalg.c:741,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/engines/e_afalg.c:747,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/engines/e_afalg.c:750,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/engines/e_afalg.c:752,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/engines/e_afalg.c:755,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/engines/e_afalg.c:757,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/openssl/engines/e_afalg.c:759,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/engines/e_afalg.c:761,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_afalg.c:763,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 767
    functionName: afalg_aes_cbc
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_set_cleanup
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_new
    - get_cipher_handle
    - EVP_CIPHER_meth_set_init
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *afalg_aes_cbc(int nid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_afalg.c:776,1
    - Dst: afalg_aes_cbc
      Src: /src/openssl/engines/e_afalg.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 790
    functionName: afalg_ciphers
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - afalg_aes_cbc
    linkageType: ''
    returnType: int
    signature: "int afalg_ciphers(ENGINE *e, const EVP_CIPHER **cipher,\n                         const
      int **nids, int nid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_load_AFALG_strings
      Src: /src/openssl/engines/e_afalg.c:796,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/engines/e_afalg.c:798,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/engines/e_afalg.c:799,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/openssl/engines/e_afalg.c:800,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/engines/e_afalg.c:801,1
    - Dst: ENGINE_set_finish_function
      Src: /src/openssl/engines/e_afalg.c:802,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:803,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_afalg.c:812,1
    - Dst: afalg_aes_cbc
      Src: /src/openssl/engines/e_afalg.c:813,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:814,1
    - Dst: ENGINE_set_ciphers
      Src: /src/openssl/engines/e_afalg.c:819,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:820,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 825
    functionName: bind_afalg
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_id
    - ENGINE_set_destroy_function
    - ENGINE_set_finish_function
    - ENGINE_set_ciphers
    - ENGINE_set_name
    - ERR_load_AFALG_strings
    - AFALGerr
    - OSSL_NELEM
    - afalg_aes_cbc
    linkageType: ''
    returnType: int
    signature: int bind_afalg(ENGINE *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_afalg.c:830,1
    - Dst: afalg_chk_platform
      Src: /src/openssl/engines/e_afalg.c:833,1
    - Dst: bind_afalg
      Src: /src/openssl/engines/e_afalg.c:836,1
    - Dst: afalg_destroy
      Src: /src/openssl/engines/e_afalg.c:837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 841
    functionName: bind_helper
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - strcmp
    - afalg_chk_platform
    - afalg_destroy
    - bind_afalg
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e, const char *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/openssl/engines/e_afalg.c:856,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:858,1
    - Dst: strtok
      Src: /src/openssl/engines/e_afalg.c:863,1
    - Dst: atoi
      Src: /src/openssl/engines/e_afalg.c:865,1
    - Dst: strtok
      Src: /src/openssl/engines/e_afalg.c:866,1
    - Dst: KERNEL_VERSION
      Src: /src/openssl/engines/e_afalg.c:869,1
    - Dst: KERNEL_VERSION
      Src: /src/openssl/engines/e_afalg.c:870,1
    - Dst: ALG_ERR
      Src: /src/openssl/engines/e_afalg.c:871,1
    - Dst: ALG_ERR
      Src: /src/openssl/engines/e_afalg.c:873,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:875,1
    - Dst: socket
      Src: /src/openssl/engines/e_afalg.c:881,1
    - Dst: AFALGerr
      Src: /src/openssl/engines/e_afalg.c:883,1
    - Dst: close
      Src: /src/openssl/engines/e_afalg.c:886,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 889
    functionName: afalg_chk_platform
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 1
    functionsReached:
    - atoi
    - socket
    - KERNEL_VERSION
    - close
    - AFALGerr
    - ALG_ERR
    - strtok
    - uname
    linkageType: ''
    returnType: int
    signature: int afalg_chk_platform(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/openssl/engines/e_afalg.c:894,1
    - Dst: bind_afalg
      Src: /src/openssl/engines/e_afalg.c:897,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_afalg.c:898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 902
    functionName: engine_afalg
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - bind_afalg
    - ENGINE_new
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *engine_afalg(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: afalg_chk_platform
      Src: /src/openssl/engines/e_afalg.c:908,1
    - Dst: engine_afalg
      Src: /src/openssl/engines/e_afalg.c:911,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_afalg.c:914,1
    - Dst: ENGINE_add
      Src: /src/openssl/engines/e_afalg.c:915,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_afalg.c:920,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_afalg.c:926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 904
    functionDepth: 4
    functionLinenumber: 904
    functionLinenumberEnd: 927
    functionName: engine_load_afalg_int
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - engine_afalg
    - ENGINE_free
    - ERR_pop_to_mark
    - afalg_chk_platform
    - ENGINE_add
    - ERR_set_mark
    linkageType: ''
    returnType: void
    signature: void engine_load_afalg_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: afalg_init
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int afalg_init(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: afalg_finish
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int afalg_finish(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_afalg.c:943,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_afalg.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 948
    functionName: free_cbc
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: int
    signature: int free_cbc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_AFALG_strings
      Src: /src/openssl/engines/e_afalg.c:952,1
    - Dst: free_cbc
      Src: /src/openssl/engines/e_afalg.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 955
    functionName: afalg_destroy
    functionSourceFile: /src/openssl/engines/e_afalg.c
    functionUses: 1
    functionsReached:
    - ERR_unload_AFALG_strings
    - free_cbc
    linkageType: ''
    returnType: int
    signature: int afalg_destroy(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_afalg_err.c:45,1
    - Dst: ERR_load_strings
      Src: /src/openssl/engines/e_afalg_err.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: ERR_load_AFALG_strings
    functionSourceFile: /src/openssl/engines/e_afalg_err.c
    functionUses: 1
    functionsReached:
    - ERR_get_next_error_library
    - ERR_load_strings
    linkageType: ''
    returnType: int
    signature: int ERR_load_AFALG_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/openssl/engines/e_afalg_err.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: ERR_unload_AFALG_strings
    functionSourceFile: /src/openssl/engines/e_afalg_err.c
    functionUses: 1
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: void ERR_unload_AFALG_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_afalg_err.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/engines/e_afalg_err.c:70,1
    - Dst: ERR_set_debug
      Src: /src/openssl/engines/e_afalg_err.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ERR_AFALG_error
    functionSourceFile: /src/openssl/engines/e_afalg_err.c
    functionUses: 0
    functionsReached:
    - ERR_get_next_error_library
    - ERR_set_debug
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void ERR_AFALG_error(int function, int reason, const char *file, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: DASYNCerr
    functionSourceFile: /src/openssl/engines/e_dasync_err.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DASYNCerr(f, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: OSSLTESTerr
    functionSourceFile: /src/openssl/engines/e_ossltest_err.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSLTESTerr(f, r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_capi_err.c:67,1
    - Dst: ERR_load_strings
      Src: /src/openssl/engines/e_capi_err.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: ERR_load_CAPI_strings
    functionSourceFile: /src/openssl/engines/e_capi_err.c
    functionUses: 1
    functionsReached:
    - ERR_get_next_error_library
    - ERR_load_strings
    linkageType: ''
    returnType: int
    signature: int ERR_load_CAPI_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/openssl/engines/e_capi_err.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: ERR_unload_CAPI_strings
    functionSourceFile: /src/openssl/engines/e_capi_err.c
    functionUses: 1
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: void ERR_unload_CAPI_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_capi_err.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/engines/e_capi_err.c:92,1
    - Dst: ERR_set_debug
      Src: /src/openssl/engines/e_capi_err.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ERR_CAPI_error
    functionSourceFile: /src/openssl/engines/e_capi_err.c
    functionUses: 0
    functionsReached:
    - ERR_get_next_error_library
    - ERR_set_debug
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void ERR_CAPI_error(int function, int reason, const char *file, int
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_capi_err.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: ERR_CAPI_lib
    functionSourceFile: /src/openssl/engines/e_capi_err.c
    functionUses: 0
    functionsReached:
    - ERR_get_next_error_library
    linkageType: ''
    returnType: int
    signature: int ERR_CAPI_lib(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: CAPIerr
    functionSourceFile: /src/openssl/engines/e_capi_err.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAPIerr(f, r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:88,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_devcrypto.c:89,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sess
    argTypes:
    - session_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: clean_devcrypto_session
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - ioctl
    - memset
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int clean_devcrypto_session(session_op_t *sess)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: find_cipher_data_index
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: size_t
    signature: size_t find_cipher_data_index(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_cipher_data_index
      Src: /src/openssl/engines/e_devcrypto.c:181,1
    - Dst: assert
      Src: /src/openssl/engines/e_devcrypto.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts:
    - condition: ("Code that never should be reached" == NULL)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/openssl/engines/e_devcrypto.c
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: get_cipher_data_index
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - find_cipher_data_index
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t get_cipher_data_index(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_data_index
      Src: /src/openssl/engines/e_devcrypto.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: get_cipher_data
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 7
    functionsReached:
    - get_cipher_data_index
    linkageType: ''
    returnType: struct cipher_data_st
    signature: struct cipher_data_st *get_cipher_data(int nid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_devcrypto.c:209,1
    - Dst: get_cipher_data
      Src: /src/openssl/engines/e_devcrypto.c:211,1
    - Dst: EVP_CIPHER_CTX_get_nid
      Src: /src/openssl/engines/e_devcrypto.c:211,1
    - Dst: clean_devcrypto_session
      Src: /src/openssl/engines/e_devcrypto.c:216,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:229,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:231,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_devcrypto.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 239
    functionName: cipher_init
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - ioctl
    - ERR_raise_data
    - EVP_CIPHER_CTX_get_nid
    - clean_devcrypto_session
    - get_cipher_data
    linkageType: ''
    returnType: int
    signature: "int cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n                       const
      unsigned char *iv, int enc)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_devcrypto.c:245,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_devcrypto.c:247,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:254,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/engines/e_devcrypto.c:264,1
    - Dst: assert
      Src: /src/openssl/engines/e_devcrypto.c:268,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_devcrypto.c:269,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_devcrypto.c:271,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:285,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_devcrypto.c:286,1
    - Dst: assert
      Src: /src/openssl/engines/e_devcrypto.c:294,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_devcrypto.c:295,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_devcrypto.c:300,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (inl >= ivlen)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/openssl/engines/e_devcrypto.c
    - condition: (inl >= ivlen)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/openssl/engines/e_devcrypto.c
    constantsTouched: []
    func_position:
      end: 320
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 320
    functionName: cipher_do_cipher
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_get_cipher_data
    - memset
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_iv_noconst
    - memcpy
    - ioctl
    - ERR_raise_data
    - assert
    linkageType: ''
    returnType: int
    signature: "int cipher_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                            const
      unsigned char *in, size_t inl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_devcrypto.c:326,1
    - Dst: cipher_do_cipher
      Src: /src/openssl/engines/e_devcrypto.c:340,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:349,1
    - Dst: cipher_do_cipher
      Src: /src/openssl/engines/e_devcrypto.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 361
    functionName: ctr_do_cipher
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - cipher_do_cipher
    - EVP_CIPHER_CTX_get_cipher_data
    - memset
    linkageType: ''
    returnType: int
    signature: "int ctr_do_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                         const
      unsigned char *in, size_t inl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_devcrypto.c:366,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_devcrypto.c:377,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:378,1
    - Dst: cipher_init
      Src: /src/openssl/engines/e_devcrypto.c:379,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/openssl/engines/e_devcrypto.c:379,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 391
    functionName: cipher_ctrl
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_iv
    - cipher_init
    - EVP_CIPHER_CTX_get_cipher_data
    - memset
    linkageType: ''
    returnType: int
    signature: int cipher_ctrl(EVP_CIPHER_CTX *ctx, int type, int p1, void* p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/engines/e_devcrypto.c:396,1
    - Dst: clean_devcrypto_session
      Src: /src/openssl/engines/e_devcrypto.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: cipher_cleanup
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - clean_devcrypto_session
    linkageType: ''
    returnType: int
    signature: int cipher_cleanup(EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - cipher_data_index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: devcrypto_test_cipher
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int devcrypto_test_cipher(size_t cipher_data_index)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:438,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:440,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:444,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:459,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:463,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:470,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/engines/e_devcrypto.c:479,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/engines/e_devcrypto.c:483,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/engines/e_devcrypto.c:485,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/engines/e_devcrypto.c:490,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/engines/e_devcrypto.c:491,1
    - Dst: EVP_CIPHER_meth_set_ctrl
      Src: /src/openssl/engines/e_devcrypto.c:495,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/openssl/engines/e_devcrypto.c:496,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/engines/e_devcrypto.c:498,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_devcrypto.c:501,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:508,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/engines/e_devcrypto.c:510,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:514,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/engines/e_devcrypto.c:518,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:527,1
    - Dst: devcrypto_test_cipher
      Src: /src/openssl/engines/e_devcrypto.c:528,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 533
    functionName: prepare_cipher_methods
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - memset
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_impl_ctx_size
    - devcrypto_test_cipher
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_set_cleanup
    - ioctl
    - EVP_CIPHER_meth_free
    - OSSL_NELEM
    - EVP_CIPHER_meth_set_ctrl
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_set_init
    - OPENSSL_strndup
    linkageType: ''
    returnType: void
    signature: void prepare_cipher_methods(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:539,1
    - Dst: devcrypto_test_cipher
      Src: /src/openssl/engines/e_devcrypto.c:540,1
    - Dst: ENGINE_unregister_ciphers
      Src: /src/openssl/engines/e_devcrypto.c:543,1
    - Dst: ENGINE_register_ciphers
      Src: /src/openssl/engines/e_devcrypto.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: rebuild_known_cipher_nids
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - ENGINE_unregister_ciphers
    - OSSL_NELEM
    - ENGINE_register_ciphers
    - devcrypto_test_cipher
    linkageType: ''
    returnType: void
    signature: void rebuild_known_cipher_nids(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_data_index
      Src: /src/openssl/engines/e_devcrypto.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 554
    functionName: get_cipher_method
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - get_cipher_data_index
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *get_cipher_method(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: get_cipher_nids
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_cipher_nids(const int **nids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_data_index
      Src: /src/openssl/engines/e_devcrypto.c:564,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/engines/e_devcrypto.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: destroy_cipher_method
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_free
    - get_cipher_data_index
    linkageType: ''
    returnType: void
    signature: void destroy_cipher_method(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:574,1
    - Dst: destroy_cipher_method
      Src: /src/openssl/engines/e_devcrypto.c:575,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_devcrypto.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 579
    functionName: destroy_all_cipher_methods
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_NELEM
    - destroy_cipher_method
    linkageType: ''
    returnType: void
    signature: void destroy_all_cipher_methods(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_nids
      Src: /src/openssl/engines/e_devcrypto.c:585,1
    - Dst: get_cipher_method
      Src: /src/openssl/engines/e_devcrypto.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: devcrypto_ciphers
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - get_cipher_nids
    - get_cipher_method
    linkageType: ''
    returnType: int
    signature: "int devcrypto_ciphers(ENGINE *e, const EVP_CIPHER **cipher,\n                             const
      int **nids, int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cipher_list
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: devcrypto_select_all_ciphers
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: void devcrypto_select_all_ciphers(int *cipher_list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/openssl/engines/e_devcrypto.c:609,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/engines/e_devcrypto.c:611,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:613,1
    - Dst: find_cipher_data_index
      Src: /src/openssl/engines/e_devcrypto.c:614,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/engines/e_devcrypto.c:614,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:617,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_devcrypto.c:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - str
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 620
    functionName: cryptodev_select_cipher_cb
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_nid
    - find_cipher_data_index
    - OPENSSL_free
    - fprintf
    - EVP_get_cipherbyname
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: int cryptodev_select_cipher_cb(const char *str, int len, void *usr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:627,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:630,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:632,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/engines/e_devcrypto.c:633,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:634,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:638,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:641,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:644,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:646,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:648,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:650,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:651,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:653,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 654
    functionName: dump_cipher_info
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - OSSL_NELEM
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_cipher_info(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 719
    functionName: find_digest_data_index
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: size_t
    signature: size_t find_digest_data_index(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_digest_data_index
      Src: /src/openssl/engines/e_devcrypto.c:723,1
    - Dst: assert
      Src: /src/openssl/engines/e_devcrypto.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts:
    - condition: ("Code that never should be reached" == NULL)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/openssl/engines/e_devcrypto.c
    constantsTouched: []
    func_position:
      end: 735
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 735
    functionName: get_digest_data_index
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - find_digest_data_index
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t get_digest_data_index(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_digest_data_index
      Src: /src/openssl/engines/e_devcrypto.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: get_digest_data
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - get_digest_data_index
    linkageType: ''
    returnType: struct digest_data_st
    signature: struct digest_data_st *get_digest_data(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/engines/e_devcrypto.c:750,1
    - Dst: get_digest_data
      Src: /src/openssl/engines/e_devcrypto.c:752,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/engines/e_devcrypto.c:752,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:756,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:758,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_devcrypto.c:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 747
    functionDepth: 3
    functionLinenumber: 747
    functionLinenumberEnd: 763
    functionName: digest_init
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - memset
    - EVP_MD_CTX_get_type
    - ioctl
    - ERR_raise_data
    - get_digest_data
    linkageType: ''
    returnType: int
    signature: int digest_init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:770,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - src
    - srclen
    - res
    - flags
    argTypes:
    - struct digest_ctx*
    - void*
    - size_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 778
    functionName: digest_op
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - ioctl
    - memset
    linkageType: ''
    returnType: int
    signature: "int digest_op(struct digest_ctx *ctx, const void *src, size_t srclen,\n
      \                    void *res, unsigned int flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/engines/e_devcrypto.c:783,1
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/openssl/engines/e_devcrypto.c:791,1
    - Dst: digest_op
      Src: /src/openssl/engines/e_devcrypto.c:792,1
    - Dst: digest_op
      Src: /src/openssl/engines/e_devcrypto.c:794,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_devcrypto.c:798,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 800
    functionName: digest_update
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - EVP_MD_CTX_test_flags
    - ERR_raise_data
    - digest_op
    linkageType: ''
    returnType: int
    signature: int digest_update(EVP_MD_CTX *ctx, const void *data, size_t count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/engines/e_devcrypto.c:805,1
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/openssl/engines/e_devcrypto.c:810,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_devcrypto.c:811,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/engines/e_devcrypto.c:811,1
    - Dst: digest_op
      Src: /src/openssl/engines/e_devcrypto.c:812,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_devcrypto.c:813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 818
    functionName: digest_final
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - memcpy
    - EVP_MD_CTX_test_flags
    - ERR_raise_data
    - digest_op
    - EVP_MD_CTX_get_size
    linkageType: ''
    returnType: int
    signature: int digest_final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/engines/e_devcrypto.c:823,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/engines/e_devcrypto.c:825,1
    - Dst: digest_init
      Src: /src/openssl/engines/e_devcrypto.c:831,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_devcrypto.c:832,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:838,1
    - Dst: ERR_raise_data
      Src: /src/openssl/engines/e_devcrypto.c:839,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 820
    functionDepth: 4
    functionLinenumber: 820
    functionLinenumberEnd: 843
    functionName: digest_copy
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - ioctl
    - ERR_raise_data
    - digest_init
    linkageType: ''
    returnType: int
    signature: int digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/engines/e_devcrypto.c:848,1
    - Dst: clean_devcrypto_session
      Src: /src/openssl/engines/e_devcrypto.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 854
    functionName: digest_cleanup
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - clean_devcrypto_session
    linkageType: ''
    returnType: int
    signature: int digest_cleanup(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - digest_data_index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 878
    functionName: devcrypto_test_digest
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int devcrypto_test_digest(size_t digest_data_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:884,1
    - Dst: devcrypto_test_digest
      Src: /src/openssl/engines/e_devcrypto.c:885,1
    - Dst: ENGINE_unregister_digests
      Src: /src/openssl/engines/e_devcrypto.c:888,1
    - Dst: ENGINE_register_digests
      Src: /src/openssl/engines/e_devcrypto.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 890
    functionName: rebuild_known_digest_nids
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - ENGINE_unregister_digests
    - OSSL_NELEM
    - ENGINE_register_digests
    - devcrypto_test_digest
    linkageType: ''
    returnType: void
    signature: void rebuild_known_digest_nids(ENGINE *e)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:901,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:903,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:904,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:906,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:916,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:924,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/engines/e_devcrypto.c:928,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:939,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:945,1
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/engines/e_devcrypto.c:949,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/openssl/engines/e_devcrypto.c:951,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/openssl/engines/e_devcrypto.c:953,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/engines/e_devcrypto.c:955,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/openssl/engines/e_devcrypto.c:956,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/openssl/engines/e_devcrypto.c:957,1
    - Dst: EVP_MD_meth_set_copy
      Src: /src/openssl/engines/e_devcrypto.c:958,1
    - Dst: EVP_MD_meth_set_cleanup
      Src: /src/openssl/engines/e_devcrypto.c:959,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/engines/e_devcrypto.c:960,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_devcrypto.c:963,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:969,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:971,1
    - Dst: devcrypto_test_digest
      Src: /src/openssl/engines/e_devcrypto.c:972,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 975
    functionName: prepare_digest_methods
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - memset
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_update
    - EVP_MD_meth_free
    - devcrypto_test_digest
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_final
    - ioctl
    - OSSL_NELEM
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_new
    - EVP_MD_meth_set_cleanup
    - EVP_MD_meth_set_input_blocksize
    - OPENSSL_strndup
    - EVP_MD_meth_set_copy
    linkageType: ''
    returnType: void
    signature: void prepare_digest_methods(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_digest_data_index
      Src: /src/openssl/engines/e_devcrypto.c:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 984
    functionName: get_digest_method
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - get_digest_data_index
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *get_digest_method(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 990
    functionName: get_digest_nids
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_digest_nids(const int **nids)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_digest_data_index
      Src: /src/openssl/engines/e_devcrypto.c:994,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/engines/e_devcrypto.c:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 998
    functionName: destroy_digest_method
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - get_digest_data_index
    - EVP_MD_meth_free
    linkageType: ''
    returnType: void
    signature: void destroy_digest_method(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:1004,1
    - Dst: destroy_digest_method
      Src: /src/openssl/engines/e_devcrypto.c:1005,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_devcrypto.c:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1000
    functionDepth: 3
    functionLinenumber: 1000
    functionLinenumberEnd: 1009
    functionName: destroy_all_digest_methods
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_NELEM
    - destroy_digest_method
    linkageType: ''
    returnType: void
    signature: void destroy_all_digest_methods(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_digest_nids
      Src: /src/openssl/engines/e_devcrypto.c:1015,1
    - Dst: get_digest_method
      Src: /src/openssl/engines/e_devcrypto.c:1017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - e
    - digest
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_MD**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1020
    functionName: devcrypto_digests
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - get_digest_method
    - get_digest_nids
    linkageType: ''
    returnType: int
    signature: "int devcrypto_digests(ENGINE *e, const EVP_MD **digest,\n                             const
      int **nids, int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - digest_list
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1028
    functionName: devcrypto_select_all_digests
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: void
    signature: void devcrypto_select_all_digests(int *digest_list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/openssl/engines/e_devcrypto.c:1039,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/engines/e_devcrypto.c:1041,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1043,1
    - Dst: find_digest_data_index
      Src: /src/openssl/engines/e_devcrypto.c:1044,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/engines/e_devcrypto.c:1044,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1047,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_devcrypto.c:1048,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - str
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1050
    functionName: cryptodev_select_digest_cb
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - find_digest_data_index
    - OPENSSL_free
    - EVP_get_digestbyname
    - fprintf
    - EVP_MD_get_type
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: int cryptodev_select_digest_cb(const char *str, int len, void *usr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1057,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1060,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/engines/e_devcrypto.c:1063,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/engines/e_devcrypto.c:1064,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1065,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1070,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1074,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1076,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1078,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1080,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1082,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1084,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1086,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1087
    functionName: dump_digest_info
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - OSSL_NELEM
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_digest_info(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1147,1
    - Dst: rebuild_known_digest_nids
      Src: /src/openssl/engines/e_devcrypto.c:1154,1
    - Dst: rebuild_known_cipher_nids
      Src: /src/openssl/engines/e_devcrypto.c:1156,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/engines/e_devcrypto.c:1163,1
    - Dst: devcrypto_select_all_ciphers
      Src: /src/openssl/engines/e_devcrypto.c:1164,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/engines/e_devcrypto.c:1165,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:1166,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_devcrypto.c:1168,1
    - Dst: CONF_parse_list
      Src: /src/openssl/engines/e_devcrypto.c:1169,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_devcrypto.c:1170,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_devcrypto.c:1173,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_devcrypto.c:1174,1
    - Dst: rebuild_known_cipher_nids
      Src: /src/openssl/engines/e_devcrypto.c:1176,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/engines/e_devcrypto.c:1183,1
    - Dst: devcrypto_select_all_digests
      Src: /src/openssl/engines/e_devcrypto.c:1184,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/engines/e_devcrypto.c:1185,1
    - Dst: memset
      Src: /src/openssl/engines/e_devcrypto.c:1186,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/engines/e_devcrypto.c:1188,1
    - Dst: CONF_parse_list
      Src: /src/openssl/engines/e_devcrypto.c:1189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_devcrypto.c:1190,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_devcrypto.c:1193,1
    - Dst: OPENSSL_free
      Src: /src/openssl/engines/e_devcrypto.c:1194,1
    - Dst: rebuild_known_digest_nids
      Src: /src/openssl/engines/e_devcrypto.c:1196,1
    - Dst: dump_cipher_info
      Src: /src/openssl/engines/e_devcrypto.c:1201,1
    - Dst: dump_digest_info
      Src: /src/openssl/engines/e_devcrypto.c:1203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 4
    argNames:
    - e
    - cmd
    - i
    - p
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1135
    functionDepth: 2
    functionLinenumber: 1135
    functionLinenumberEnd: 1211
    functionName: devcrypto_ctrl
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - devcrypto_select_all_ciphers
    - memset
    - OPENSSL_strcasecmp
    - memcpy
    - CONF_parse_list
    - rebuild_known_digest_nids
    - OPENSSL_free
    - rebuild_known_cipher_nids
    - fprintf
    - devcrypto_select_all_digests
    - dump_cipher_info
    - dump_digest_info
    linkageType: ''
    returnType: int
    signature: int devcrypto_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/openssl/engines/e_devcrypto.c:1229,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1233,1
    - Dst: strerror
      Src: /src/openssl/engines/e_devcrypto.c:1233,1
    - Dst: ioctl
      Src: /src/openssl/engines/e_devcrypto.c:1238,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1239,1
    - Dst: strerror
      Src: /src/openssl/engines/e_devcrypto.c:1239,1
    - Dst: close
      Src: /src/openssl/engines/e_devcrypto.c:1240,1
    - Dst: close
      Src: /src/openssl/engines/e_devcrypto.c:1244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1250
    functionName: open_devcrypto
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - strerror
    - ioctl
    - close
    - fprintf
    - open
    linkageType: ''
    returnType: int
    signature: int open_devcrypto(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/openssl/engines/e_devcrypto.c:1258,1
    - Dst: fprintf
      Src: /src/openssl/engines/e_devcrypto.c:1261,1
    - Dst: strerror
      Src: /src/openssl/engines/e_devcrypto.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1265
    functionName: close_devcrypto
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - close
    - strerror
    - fprintf
    linkageType: ''
    returnType: int
    signature: int close_devcrypto(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_all_cipher_methods
      Src: /src/openssl/engines/e_devcrypto.c:1269,1
    - Dst: destroy_all_digest_methods
      Src: /src/openssl/engines/e_devcrypto.c:1271,1
    - Dst: close_devcrypto
      Src: /src/openssl/engines/e_devcrypto.c:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1267
    functionDepth: 4
    functionLinenumber: 1267
    functionLinenumberEnd: 1277
    functionName: devcrypto_unload
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - close_devcrypto
    - destroy_all_digest_methods
    - destroy_all_cipher_methods
    linkageType: ''
    returnType: int
    signature: int devcrypto_unload(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_id
      Src: /src/openssl/engines/e_devcrypto.c:1281,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/engines/e_devcrypto.c:1282,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/openssl/engines/e_devcrypto.c:1283,1
    - Dst: ENGINE_set_cmd_defns
      Src: /src/openssl/engines/e_devcrypto.c:1284,1
    - Dst: ENGINE_set_ctrl_function
      Src: /src/openssl/engines/e_devcrypto.c:1285,1
    - Dst: prepare_cipher_methods
      Src: /src/openssl/engines/e_devcrypto.c:1288,1
    - Dst: prepare_digest_methods
      Src: /src/openssl/engines/e_devcrypto.c:1290,1
    - Dst: ENGINE_set_ciphers
      Src: /src/openssl/engines/e_devcrypto.c:1293,1
    - Dst: ENGINE_set_digests
      Src: /src/openssl/engines/e_devcrypto.c:1295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1330
    functionName: bind_devcrypto
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_id
    - ENGINE_set_cmd_defns
    - ENGINE_set_destroy_function
    - ENGINE_set_ctrl_function
    - ENGINE_set_ciphers
    - ENGINE_set_name
    - prepare_cipher_methods
    - prepare_digest_methods
    - ENGINE_set_digests
    linkageType: ''
    returnType: int
    signature: int bind_devcrypto(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open_devcrypto
      Src: /src/openssl/engines/e_devcrypto.c:1341,1
    - Dst: ENGINE_new
      Src: /src/openssl/engines/e_devcrypto.c:1344,1
    - Dst: bind_devcrypto
      Src: /src/openssl/engines/e_devcrypto.c:1345,1
    - Dst: close_devcrypto
      Src: /src/openssl/engines/e_devcrypto.c:1346,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_devcrypto.c:1347,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_devcrypto.c:1351,1
    - Dst: ENGINE_add
      Src: /src/openssl/engines/e_devcrypto.c:1352,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_devcrypto.c:1357,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_devcrypto.c:1363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1337
    functionDepth: 3
    functionLinenumber: 1337
    functionLinenumberEnd: 1364
    functionName: engine_load_devcrypto_int
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - open_devcrypto
    - ENGINE_free
    - ENGINE_new
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    - bind_devcrypto
    - close_devcrypto
    linkageType: ''
    returnType: void
    signature: void engine_load_devcrypto_int(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_devcrypto.c:1370,1
    - Dst: open_devcrypto
      Src: /src/openssl/engines/e_devcrypto.c:1371,1
    - Dst: bind_devcrypto
      Src: /src/openssl/engines/e_devcrypto.c:1373,1
    - Dst: close_devcrypto
      Src: /src/openssl/engines/e_devcrypto.c:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1368
    functionDepth: 3
    functionLinenumber: 1368
    functionLinenumberEnd: 1378
    functionName: bind_helper
    functionSourceFile: /src/openssl/engines/e_devcrypto.c
    functionUses: 0
    functionsReached:
    - strcmp
    - bind_devcrypto
    - close_devcrypto
    - open_devcrypto
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_padlock
      Src: /src/openssl/engines/e_padlock.c:49,1
    - Dst: ERR_set_mark
      Src: /src/openssl/engines/e_padlock.c:52,1
    - Dst: ENGINE_add
      Src: /src/openssl/engines/e_padlock.c:53,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_padlock.c:58,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/engines/e_padlock.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: engine_load_padlock_int
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - ERR_pop_to_mark
    - ENGINE_padlock
    - ERR_set_mark
    - ENGINE_add
    linkageType: ''
    returnType: void
    signature: void engine_load_padlock_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: padlock_available
      Src: /src/openssl/engines/e_padlock.c:97,1
    - Dst: BIO_snprintf
      Src: /src/openssl/engines/e_padlock.c:106,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/engines/e_padlock.c:112,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/engines/e_padlock.c:113,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/engines/e_padlock.c:114,1
    - Dst: ENGINE_set_ciphers
      Src: /src/openssl/engines/e_padlock.c:115,1
    - Dst: ENGINE_set_RAND
      Src: /src/openssl/engines/e_padlock.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 122
    functionName: padlock_bind_helper
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_id
    - ENGINE_set_ciphers
    - ENGINE_set_name
    - ENGINE_set_RAND
    - BIO_snprintf
    - padlock_available
    linkageType: ''
    returnType: int
    signature: int padlock_bind_helper(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/openssl/engines/e_padlock.c:128,1
    - Dst: padlock_bind_helper
      Src: /src/openssl/engines/e_padlock.c:134,1
    - Dst: ENGINE_free
      Src: /src/openssl/engines/e_padlock.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: ENGINE_padlock
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 1
    functionsReached:
    - ENGINE_free
    - padlock_bind_helper
    - ENGINE_new
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_padlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: padlock_init
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int padlock_init(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/engines/e_padlock.c:169,1
    - Dst: padlock_bind_helper
      Src: /src/openssl/engines/e_padlock.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: padlock_bind_fn
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - strcmp
    - padlock_bind_helper
    linkageType: ''
    returnType: int
    signature: int padlock_bind_fn(ENGINE *e, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: padlock_capability
      Src: /src/openssl/engines/e_padlock.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: padlock_available
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 1
    functionsReached:
    - padlock_capability
    linkageType: ''
    returnType: int
    signature: int padlock_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: NEAREST_ALIGNED
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEAREST_ALIGNED(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: ALIGNED_CIPHER_DATA
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED_CIPHER_DATA(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: padlock_ecb_encrypt
      Src: /src/openssl/engines/e_padlock.c:316,1
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/openssl/engines/e_padlock.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: padlock_ecb_cipher
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - ALIGNED_CIPHER_DATA
    - padlock_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: "int padlock_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,\n
      \                  const unsigned char *in_arg, size_t nbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/openssl/engines/e_padlock.c:324,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_padlock.c:327,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/openssl/engines/e_padlock.c:327,1
    - Dst: padlock_cbc_encrypt
      Src: /src/openssl/engines/e_padlock.c:328,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_padlock.c:329,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_padlock.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: padlock_cbc_cipher
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_iv
    - memcpy
    - EVP_CIPHER_CTX_iv_noconst
    - ALIGNED_CIPHER_DATA
    - padlock_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int padlock_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,\n
      \                  const unsigned char *in_arg, size_t nbytes)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/openssl/engines/e_padlock.c:337,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/engines/e_padlock.c:340,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_padlock.c:341,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_padlock.c:346,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/engines/e_padlock.c:357,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_padlock.c:363,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/openssl/engines/e_padlock.c:363,1
    - Dst: padlock_cfb_encrypt
      Src: /src/openssl/engines/e_padlock.c:366,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/engines/e_padlock.c:376,1
    - Dst: padlock_reload_key
      Src: /src/openssl/engines/e_padlock.c:379,1
    - Dst: padlock_aes_block
      Src: /src/openssl/engines/e_padlock.c:380,1
    - Dst: padlock_reload_key
      Src: /src/openssl/engines/e_padlock.c:382,1
    - Dst: padlock_reload_key
      Src: /src/openssl/engines/e_padlock.c:389,1
    - Dst: padlock_aes_block
      Src: /src/openssl/engines/e_padlock.c:390,1
    - Dst: padlock_reload_key
      Src: /src/openssl/engines/e_padlock.c:391,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_padlock.c:399,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_padlock.c:399,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 402
    functionName: padlock_cfb_cipher
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - padlock_aes_block
    - EVP_CIPHER_CTX_iv
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_iv_noconst
    - memcpy
    - ALIGNED_CIPHER_DATA
    - padlock_cfb_encrypt
    - padlock_reload_key
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int padlock_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,\n
      \                  const unsigned char *in_arg, size_t nbytes)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/openssl/engines/e_padlock.c:408,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/engines/e_padlock.c:414,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_padlock.c:415,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/engines/e_padlock.c:425,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_padlock.c:431,1
    - Dst: EVP_CIPHER_CTX_iv
      Src: /src/openssl/engines/e_padlock.c:431,1
    - Dst: padlock_ofb_encrypt
      Src: /src/openssl/engines/e_padlock.c:434,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/engines/e_padlock.c:444,1
    - Dst: padlock_reload_key
      Src: /src/openssl/engines/e_padlock.c:445,1
    - Dst: padlock_aes_block
      Src: /src/openssl/engines/e_padlock.c:446,1
    - Dst: padlock_reload_key
      Src: /src/openssl/engines/e_padlock.c:447,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_padlock.c:454,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_padlock.c:454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 457
    functionName: padlock_ofb_cipher
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - padlock_aes_block
    - EVP_CIPHER_CTX_iv
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_iv_noconst
    - memcpy
    - ALIGNED_CIPHER_DATA
    - padlock_ofb_encrypt
    - padlock_reload_key
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int padlock_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,\n
      \                  const unsigned char *in_arg, size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/engines/e_padlock.c:464,1
    - Dst: padlock_ctr32_encrypt
      Src: /src/openssl/engines/e_padlock.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - in
    - out
    - blocks
    - ctx
    - ivec
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - struct padlock_cipher_data*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: padlock_ctr32_encrypt_glue
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - memcpy
    - padlock_ctr32_encrypt
    linkageType: ''
    returnType: void
    signature: "void padlock_ctr32_encrypt_glue(const unsigned char *in,\n                                       unsigned
      char *out, size_t blocks,\n                                       struct padlock_cipher_data
      *ctx,\n                                       const unsigned char *ivec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/openssl/engines/e_padlock.c:472,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/engines/e_padlock.c:473,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/openssl/engines/e_padlock.c:480,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/engines/e_padlock.c:481,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/engines/e_padlock.c:482,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/engines/e_padlock.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out_arg
    - in_arg
    - nbytes
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: padlock_ctr_cipher
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ctr128_encrypt_ctr32
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_iv_noconst
    - ALIGNED_CIPHER_DATA
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int padlock_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out_arg,\n
      \                  const unsigned char *in_arg, size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ksize
    - ','
    - lmode
    - ','
    - umode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 527
    functionName: DECLARE_AES_EVP
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_AES_EVP(ksize,lmode,umode)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: padlock_aes_128_ecb
      Src: /src/openssl/engines/e_padlock.c:559,1
    - Dst: padlock_aes_128_cbc
      Src: /src/openssl/engines/e_padlock.c:562,1
    - Dst: padlock_aes_128_cfb
      Src: /src/openssl/engines/e_padlock.c:565,1
    - Dst: padlock_aes_128_ofb
      Src: /src/openssl/engines/e_padlock.c:568,1
    - Dst: padlock_aes_128_ctr
      Src: /src/openssl/engines/e_padlock.c:571,1
    - Dst: padlock_aes_192_ecb
      Src: /src/openssl/engines/e_padlock.c:575,1
    - Dst: padlock_aes_192_cbc
      Src: /src/openssl/engines/e_padlock.c:578,1
    - Dst: padlock_aes_192_cfb
      Src: /src/openssl/engines/e_padlock.c:581,1
    - Dst: padlock_aes_192_ofb
      Src: /src/openssl/engines/e_padlock.c:584,1
    - Dst: padlock_aes_192_ctr
      Src: /src/openssl/engines/e_padlock.c:587,1
    - Dst: padlock_aes_256_ecb
      Src: /src/openssl/engines/e_padlock.c:591,1
    - Dst: padlock_aes_256_cbc
      Src: /src/openssl/engines/e_padlock.c:594,1
    - Dst: padlock_aes_256_cfb
      Src: /src/openssl/engines/e_padlock.c:597,1
    - Dst: padlock_aes_256_ofb
      Src: /src/openssl/engines/e_padlock.c:600,1
    - Dst: padlock_aes_256_ctr
      Src: /src/openssl/engines/e_padlock.c:603,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 613
    functionName: padlock_ciphers
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - padlock_aes_256_ecb
    - padlock_aes_128_ofb
    - padlock_aes_256_ctr
    - padlock_aes_128_cbc
    - padlock_aes_192_ofb
    - padlock_aes_192_ecb
    - padlock_aes_192_cfb
    - padlock_aes_256_cfb
    - padlock_aes_192_ctr
    - padlock_aes_256_cbc
    - padlock_aes_192_cbc
    - padlock_aes_128_cfb
    - padlock_aes_128_ctr
    - padlock_aes_256_ofb
    - padlock_aes_128_ecb
    linkageType: ''
    returnType: int
    signature: "int padlock_ciphers(ENGINE *e, const EVP_CIPHER **cipher, const int
      **nids,\n                int nid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/engines/e_padlock.c:621,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/engines/e_padlock.c:622,1
    - Dst: ALIGNED_CIPHER_DATA
      Src: /src/openssl/engines/e_padlock.c:627,1
    - Dst: memset
      Src: /src/openssl/engines/e_padlock.c:628,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/engines/e_padlock.c:634,1
    - Dst: memcpy
      Src: /src/openssl/engines/e_padlock.c:643,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/engines/e_padlock.c:659,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/engines/e_padlock.c:661,1
    - Dst: padlock_key_bswap
      Src: /src/openssl/engines/e_padlock.c:665,1
    - Dst: padlock_reload_key
      Src: /src/openssl/engines/e_padlock.c:679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 682
    functionName: padlock_aes_init_key
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - memset
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_CIPHER_CTX_get_key_length
    - AES_set_encrypt_key
    - padlock_key_bswap
    - padlock_reload_key
    - ALIGNED_CIPHER_DATA
    linkageType: ''
    returnType: int
    signature: "int padlock_aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char
      *key,\n                     const unsigned char *iv, int enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: padlock_xstore
      Src: /src/openssl/engines/e_padlock.c:700,1
    - Dst: padlock_xstore
      Src: /src/openssl/engines/e_padlock.c:714,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/engines/e_padlock.c:727,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - output
    - count
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 730
    functionName: padlock_rand_bytes
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - padlock_xstore
    linkageType: ''
    returnType: int
    signature: int padlock_rand_bytes(unsigned char *output, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: padlock_rand_status
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int padlock_rand_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - id
    - fns
    argTypes:
    - ENGINE*
    - char*
    - dynamic_fns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 759
    functionName: bind_engine
    functionSourceFile: /src/openssl/engines/e_padlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_EXPORT
    signature: OPENSSL_EXPORT bind_engine(ENGINE *e, const char *id, const dynamic_fns
      *fns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: ALG_DGB
    functionSourceFile: /src/openssl/engines/e_afalg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG_DGB(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: ALG_INFO
    functionSourceFile: /src/openssl/engines/e_afalg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG_INFO(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: ALG_WARN
    functionSourceFile: /src/openssl/engines/e_afalg.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG_WARN(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ALG_ERR
    functionSourceFile: /src/openssl/engines/e_afalg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG_ERR(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALG_PERR
    functionSourceFile: /src/openssl/engines/e_afalg.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG_PERR(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ALG_PWARN
    functionSourceFile: /src/openssl/engines/e_afalg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG_PWARN(x, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_ossltest_err.c:29,1
    - Dst: ERR_load_strings
      Src: /src/openssl/engines/e_ossltest_err.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: ERR_load_OSSLTEST_strings
    functionSourceFile: /src/openssl/engines/e_ossltest_err.c
    functionUses: 1
    functionsReached:
    - ERR_get_next_error_library
    - ERR_load_strings
    linkageType: ''
    returnType: int
    signature: int ERR_load_OSSLTEST_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/openssl/engines/e_ossltest_err.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: ERR_unload_OSSLTEST_strings
    functionSourceFile: /src/openssl/engines/e_ossltest_err.c
    functionUses: 1
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: void ERR_unload_OSSLTEST_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_ossltest_err.c:53,1
    - Dst: ERR_raise
      Src: /src/openssl/engines/e_ossltest_err.c:54,1
    - Dst: ERR_set_debug
      Src: /src/openssl/engines/e_ossltest_err.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: ERR_OSSLTEST_error
    functionSourceFile: /src/openssl/engines/e_ossltest_err.c
    functionUses: 0
    functionsReached:
    - ERR_get_next_error_library
    - ERR_set_debug
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void ERR_OSSLTEST_error(int function, int reason, const char *file,
      int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_loader_attic_err.c:46,1
    - Dst: ERR_load_strings
      Src: /src/openssl/engines/e_loader_attic_err.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: ERR_load_ATTIC_strings
    functionSourceFile: /src/openssl/engines/e_loader_attic_err.c
    functionUses: 1
    functionsReached:
    - ERR_get_next_error_library
    - ERR_load_strings
    linkageType: ''
    returnType: int
    signature: int ERR_load_ATTIC_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_unload_strings
      Src: /src/openssl/engines/e_loader_attic_err.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: ERR_unload_ATTIC_strings
    functionSourceFile: /src/openssl/engines/e_loader_attic_err.c
    functionUses: 1
    functionsReached:
    - ERR_unload_strings
    linkageType: ''
    returnType: void
    signature: void ERR_unload_ATTIC_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/engines/e_loader_attic_err.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/engines/e_loader_attic_err.c:71,1
    - Dst: ERR_set_debug
      Src: /src/openssl/engines/e_loader_attic_err.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - function
    - reason
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: ERR_ATTIC_error
    functionSourceFile: /src/openssl/engines/e_loader_attic_err.c
    functionUses: 0
    functionsReached:
    - ERR_get_next_error_library
    - ERR_set_debug
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void ERR_ATTIC_error(int function, int reason, const char *file, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/indicator_core.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: ossl_indicator_set_callback_new
    functionSourceFile: /src/openssl/crypto/indicator_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *ossl_indicator_set_callback_new(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/indicator_core.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ossl_indicator_set_callback_free
    functionSourceFile: /src/openssl/crypto/indicator_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_indicator_set_callback_free(void *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/indicator_core.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: get_indicator_callback
    functionSourceFile: /src/openssl/crypto/indicator_core.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: INDICATOR_CB
    signature: INDICATOR_CB *get_indicator_callback(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_indicator_callback
      Src: /src/openssl/crypto/indicator_core.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - libctx
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_INDICATOR_CALLBACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: OSSL_INDICATOR_set_callback
    functionSourceFile: /src/openssl/crypto/indicator_core.c
    functionUses: 0
    functionsReached:
    - get_indicator_callback
    linkageType: ''
    returnType: void
    signature: "void OSSL_INDICATOR_set_callback(OSSL_LIB_CTX *libctx,\n                                 OSSL_INDICATOR_CALLBACK
      *cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_indicator_callback
      Src: /src/openssl/crypto/indicator_core.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - libctx
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_INDICATOR_CALLBACK**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: OSSL_INDICATOR_get_callback
    functionSourceFile: /src/openssl/crypto/indicator_core.c
    functionUses: 0
    functionsReached:
    - get_indicator_callback
    linkageType: ''
    returnType: void
    signature: "void OSSL_INDICATOR_get_callback(OSSL_LIB_CTX *libctx,\n                                 OSSL_INDICATOR_CALLBACK
      **cb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/der_writer.c:20,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/der_writer.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: int_start_context
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - WPACKET_start_sub_packet
    linkageType: ''
    returnType: int
    signature: int int_start_context(WPACKET *pkt, int tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/der_writer.c:39,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/der_writer.c:45,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/der_writer.c:46,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/der_writer.c:47,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: int_end_context
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_total_written
    - ossl_assert
    - WPACKET_put_bytes_u8
    - WPACKET_close
    linkageType: ''
    returnType: int
    signature: int int_end_context(WPACKET *pkt, int tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/openssl/crypto/der_writer.c:55,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/der_writer.c:56,1
    - Dst: int_end_context
      Src: /src/openssl/crypto/der_writer.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pkt
    - tag
    - precompiled
    - precompiled_n
    argTypes:
    - WPACKET*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ossl_DER_w_precompiled
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - int_end_context
    - WPACKET_memcpy
    - int_start_context
    linkageType: ''
    returnType: int
    signature: "int ossl_DER_w_precompiled(WPACKET *pkt, int tag,\n                           const
      unsigned char *precompiled,\n                           size_t precompiled_n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/openssl/crypto/der_writer.c:62,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/der_writer.c:63,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:64,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/der_writer.c:65,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:66,1
    - Dst: int_end_context
      Src: /src/openssl/crypto/der_writer.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - tag
    - b
    argTypes:
    - WPACKET*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ossl_DER_w_boolean
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - int_end_context
    - int_start_context
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_boolean(WPACKET *pkt, int tag, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/openssl/crypto/der_writer.c:73,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/der_writer.c:74,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/der_writer.c:75,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/der_writer.c:76,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:77,1
    - Dst: int_end_context
      Src: /src/openssl/crypto/der_writer.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pkt
    - tag
    - data
    - data_n
    argTypes:
    - WPACKET*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: ossl_DER_w_octet_string
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - WPACKET_put_bytes_u8
    - int_start_context
    - WPACKET_close
    - int_end_context
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_DER_w_octet_string(WPACKET *pkt, int tag,\n                            const
      unsigned char *data, size_t data_n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_octet_string
      Src: /src/openssl/crypto/der_writer.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - tag
    - value
    argTypes:
    - WPACKET*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: ossl_DER_w_octet_string_uint32
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_octet_string
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_octet_string_uint32(WPACKET *pkt, int tag, uint32_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/openssl/crypto/der_writer.c:100,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/der_writer.c:101,1
    - Dst: put_bytes
      Src: /src/openssl/crypto/der_writer.c:102,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:103,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/der_writer.c:104,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:105,1
    - Dst: int_end_context
      Src: /src/openssl/crypto/der_writer.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - tag
    - v
    argTypes:
    - WPACKET*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: int_der_w_integer
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - put_bytes
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - int_end_context
    - int_start_context
    linkageType: ''
    returnType: int
    signature: "int int_der_w_integer(WPACKET *pkt, int tag,\n                             int
      (*put_bytes)(WPACKET *pkt, const void *v,\n                                              unsigned
      int *top_byte),\n                             const void *v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes__
      Src: /src/openssl/crypto/der_writer.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pkt
    - v
    - top_byte
    argTypes:
    - WPACKET*
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: int_put_bytes_uint32
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes__
    linkageType: ''
    returnType: int
    signature: "int int_put_bytes_uint32(WPACKET *pkt, const void *v,\n                               unsigned
      int *top_byte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_der_w_integer
      Src: /src/openssl/crypto/der_writer.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - tag
    - v
    argTypes:
    - WPACKET*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: ossl_DER_w_uint32
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - int_der_w_integer
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_uint32(WPACKET *pkt, int tag, uint32_t v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/der_writer.c:137,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/der_writer.c:141,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/der_writer.c:144,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/der_writer.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pkt
    - v
    - top_byte
    argTypes:
    - WPACKET*
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: int_put_bytes_bn
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - BN_bn2bin
    - bn_get_words
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: "int int_put_bytes_bn(WPACKET *pkt, const void *v,\n                            unsigned
      int *top_byte)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/der_writer.c:153,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/der_writer.c:155,1
    - Dst: ossl_DER_w_uint32
      Src: /src/openssl/crypto/der_writer.c:156,1
    - Dst: int_der_w_integer
      Src: /src/openssl/crypto/der_writer.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - tag
    - v
    argTypes:
    - WPACKET*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: ossl_DER_w_bn
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - int_der_w_integer
    - ossl_DER_w_uint32
    - BN_is_negative
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_bn(WPACKET *pkt, int tag, const BIGNUM *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/openssl/crypto/der_writer.c:163,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/der_writer.c:164,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/der_writer.c:165,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:166,1
    - Dst: int_end_context
      Src: /src/openssl/crypto/der_writer.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: ossl_DER_w_null
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - int_end_context
    - int_start_context
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_null(WPACKET *pkt, int tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_start_context
      Src: /src/openssl/crypto/der_writer.c:173,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/der_writer.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: ossl_DER_w_begin_sequence
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - int_start_context
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_begin_sequence(WPACKET *pkt, int tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/der_writer.c:192,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/der_writer.c:193,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/der_writer.c:194,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/crypto/der_writer.c:196,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/der_writer.c:197,1
    - Dst: int_end_context
      Src: /src/openssl/crypto/der_writer.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - tag
    argTypes:
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 199
    functionName: ossl_DER_w_end_sequence
    functionSourceFile: /src/openssl/crypto/der_writer.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - WPACKET_set_flags
    - WPACKET_get_total_written
    - int_end_context
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_end_sequence(WPACKET *pkt, int tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SSL_COMP**
    - SSL_COMP**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: sk_comp_cmp
    functionSourceFile: /src/openssl/crypto/comp_methods.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sk_comp_cmp(const SSL_COMP *const *a, const SSL_COMP *const *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/provider.c:25,1
    - Dst: ossl_provider_new
      Src: /src/openssl/crypto/provider.c:26,1
    - Dst: ossl_provider_activate
      Src: /src/openssl/crypto/provider.c:31,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider.c:32,1
    - Dst: ossl_provider_add_to_store
      Src: /src/openssl/crypto/provider.c:37,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider.c:38,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider.c:39,1
    - Dst: ossl_provider_activate
      Src: /src/openssl/crypto/provider.c:43,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider.c:44,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - libctx
    - name
    - params
    - retain_fallbacks
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: OSSL_PROVIDER_try_load_ex
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_add_to_store
    - ossl_provider_free
    - ossl_provider_activate
    - ossl_provider_find
    - ossl_provider_deactivate
    - ossl_provider_new
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: "OSSL_PROVIDER *OSSL_PROVIDER_try_load_ex(OSSL_LIB_CTX *libctx, const
      char *name,\n                                         OSSL_PARAM *params, int
      retain_fallbacks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_try_load_ex
      Src: /src/openssl/crypto/provider.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - name
    - retain_fallbacks
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: OSSL_PROVIDER_try_load
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_try_load_ex
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: "OSSL_PROVIDER *OSSL_PROVIDER_try_load(OSSL_LIB_CTX *libctx, const
      char *name,\n                                      int retain_fallbacks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_disable_fallback_loading
      Src: /src/openssl/crypto/provider.c:61,1
    - Dst: OSSL_PROVIDER_try_load_ex
      Src: /src/openssl/crypto/provider.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - libctx
    - name
    - params
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: OSSL_PROVIDER_load_ex
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_try_load_ex
    - ossl_provider_disable_fallback_loading
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *OSSL_PROVIDER_load_ex(OSSL_LIB_CTX *libctx, const char
      *name, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load_ex
      Src: /src/openssl/crypto/provider.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: OSSL_PROVIDER_load
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load_ex
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *OSSL_PROVIDER_load(OSSL_LIB_CTX *libctx, const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider.c:73,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: OSSL_PROVIDER_unload
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_free
    - ossl_provider_deactivate
    linkageType: ''
    returnType: int
    signature: int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_gettable_params
      Src: /src/openssl/crypto/provider.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: OSSL_PROVIDER_gettable_params
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_gettable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *OSSL_PROVIDER_gettable_params(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_get_params
      Src: /src/openssl/crypto/provider.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prov
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: OSSL_PROVIDER_get_params
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_get_params
    linkageType: ''
    returnType: int
    signature: int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_query_operation
      Src: /src/openssl/crypto/provider.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - operation_id
    - no_cache
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: OSSL_PROVIDER_query_operation
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_query_operation
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *OSSL_PROVIDER_query_operation(const OSSL_PROVIDER
      *prov,\n                                                    int operation_id,\n
      \                                                   int *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_unquery_operation
      Src: /src/openssl/crypto/provider.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - operation_id
    - algs
    argTypes:
    - OSSL_PROVIDER*
    - int
    - OSSL_ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: OSSL_PROVIDER_unquery_operation
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_unquery_operation
    linkageType: ''
    returnType: void
    signature: "void OSSL_PROVIDER_unquery_operation(const OSSL_PROVIDER *prov,\n
      \                                    int operation_id,\n                                     const
      OSSL_ALGORITHM *algs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/provider.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: OSSL_PROVIDER_get0_provider_ctx
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    linkageType: ''
    returnType: void
    signature: void *OSSL_PROVIDER_get0_provider_ctx(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_get0_dispatch
      Src: /src/openssl/crypto/provider.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: OSSL_PROVIDER_get0_dispatch
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_get0_dispatch
    linkageType: ''
    returnType: OSSL_DISPATCH
    signature: OSSL_DISPATCH *OSSL_PROVIDER_get0_dispatch(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_self_test
      Src: /src/openssl/crypto/provider.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: OSSL_PROVIDER_self_test
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_self_test
    linkageType: ''
    returnType: int
    signature: int OSSL_PROVIDER_self_test(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_get_capabilities
      Src: /src/openssl/crypto/provider.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - prov
    - capability
    - cb
    - arg
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: OSSL_PROVIDER_get_capabilities
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_get_capabilities
    linkageType: ''
    returnType: int
    signature: "int OSSL_PROVIDER_get_capabilities(const OSSL_PROVIDER *prov,\n                                   const
      char *capability,\n                                   OSSL_CALLBACK *cb,\n                                   void
      *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider.c:132,1
    - Dst: memset
      Src: /src/openssl/crypto/provider.c:135,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider.c:136,1
    - Dst: ossl_provider_info_add_to_store
      Src: /src/openssl/crypto/provider.c:140,1
    - Dst: ossl_provider_info_clear
      Src: /src/openssl/crypto/provider.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - libctx
    - name
    - init_fn
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_provider_init_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: OSSL_PROVIDER_add_builtin
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_info_clear
    - memset
    - ERR_raise
    - OPENSSL_strdup
    - ossl_provider_info_add_to_store
    linkageType: ''
    returnType: int
    signature: "int OSSL_PROVIDER_add_builtin(OSSL_LIB_CTX *libctx, const char *name,\n
      \                             OSSL_provider_init_fn *init_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: OSSL_PROVIDER_get0_name
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_name
    linkageType: ''
    returnType: char
    signature: char *OSSL_PROVIDER_get0_name(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_doall_activated
      Src: /src/openssl/crypto/provider.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cbdata
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: OSSL_PROVIDER_do_all
    functionSourceFile: /src/openssl/crypto/provider.c
    functionUses: 0
    functionsReached:
    - ossl_provider_doall_activated
    linkageType: ''
    returnType: int
    signature: "int OSSL_PROVIDER_do_all(OSSL_LIB_CTX *ctx,\n                         int
      (*cb)(OSSL_PROVIDER *provider,\n                                   void *cbdata),\n
      \                        void *cbdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: TSAN_FAKE_UNLOCK
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSAN_FAKE_UNLOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: TSAN_FAKE_LOCK
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSAN_FAKE_LOCK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - p
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: ATOMIC_LOAD_N
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_LOAD_N(t, p, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - p
    - ','
    - v
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: ATOMIC_STORE_N
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_STORE_N(t, p, v, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - p
    - ','
    - v
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: ATOMIC_STORE
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_STORE(t, p, v, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - v
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: ATOMIC_ADD_FETCH
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_ADD_FETCH(p, v, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - v
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: ATOMIC_SUB_FETCH
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_SUB_FETCH(p, v, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: IMPL_fallback_atomic_load_n
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_fallback_atomic_load_n(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: IMPL_fallback_atomic_store_n
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_fallback_atomic_store_n(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - p
    - ','
    - v
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: ATOMIC_STORE_N
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_STORE_N(t, p, v, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: IMPL_fallback_atomic_store
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_fallback_atomic_store(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - p
    - ','
    - v
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: ATOMIC_STORE
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_STORE(t, p, v, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:187,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: fallback_atomic_add_fetch
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline fallback_atomic_add_fetch(uint64_t *p, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - v
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: ATOMIC_ADD_FETCH
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_ADD_FETCH(p, v, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:200,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: fallback_atomic_sub_fetch
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline fallback_atomic_sub_fetch(uint64_t *p, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - v
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: ATOMIC_SUB_FETCH
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMIC_SUB_FETCH(p, v, o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_LOAD_N
      Src: /src/openssl/crypto/threads_pthread.c:294,1
    - Dst: ATOMIC_ADD_FETCH
      Src: /src/openssl/crypto/threads_pthread.c:307,1
    - Dst: ATOMIC_LOAD_N
      Src: /src/openssl/crypto/threads_pthread.c:311,1
    - Dst: ATOMIC_SUB_FETCH
      Src: /src/openssl/crypto/threads_pthread.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - lock
    argTypes:
    - struct rcu_lock_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 320
    functionName: get_hold_current_qp
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ATOMIC_ADD_FETCH
    - ATOMIC_SUB_FETCH
    - ATOMIC_LOAD_N
    linkageType: ''
    returnType: struct rcu_qp
    signature: struct rcu_qp *get_hold_current_qp(struct rcu_lock_st *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:325,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:327,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: ossl_rcu_free_local_data
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_free_local_data(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:340,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:343,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:347,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:348,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/threads_pthread.c:351,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:352,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:353,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:371,1
    - Dst: get_hold_current_qp
      Src: /src/openssl/crypto/threads_pthread.c:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts:
    - condition: (available_qp != -1)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 377
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 377
    functionName: ossl_rcu_read_lock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - get_hold_current_qp
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    - OPENSSL_free
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_rcu_read_lock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/threads_pthread.c:382,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:385,1
    - Dst: ATOMIC_SUB_FETCH
      Src: /src/openssl/crypto/threads_pthread.c:396,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/threads_pthread.c:398,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/openssl/crypto/threads_pthread.c
    - condition: (data != NULL)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 410
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 410
    functionName: ossl_rcu_read_unlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - ATOMIC_SUB_FETCH
    - CRYPTO_THREAD_get_local_ex
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:420,1
    - Dst: pthread_cond_wait
      Src: /src/openssl/crypto/threads_pthread.c:429,1
    - Dst: ATOMIC_ADD_FETCH
      Src: /src/openssl/crypto/threads_pthread.c:450,1
    - Dst: pthread_cond_signal
      Src: /src/openssl/crypto/threads_pthread.c:454,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - lock
    - curr_id
    argTypes:
    - CRYPTO_RCU_LOCK*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 457
    functionName: update_qp
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ATOMIC_ADD_FETCH
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_wait
    linkageType: ''
    returnType: struct rcu_qp
    signature: struct rcu_qp *update_qp(CRYPTO_RCU_LOCK *lock, uint32_t *curr_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:461,1
    - Dst: pthread_cond_signal
      Src: /src/openssl/crypto/threads_pthread.c:463,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lock
    - qp
    argTypes:
    - CRYPTO_RCU_LOCK*
    - struct rcu_qp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: retire_qp
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_cond_signal
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void retire_qp(CRYPTO_RCU_LOCK *lock, struct rcu_qp *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/threads_pthread.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lock
    - count
    argTypes:
    - CRYPTO_RCU_LOCK*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: allocate_new_qp_group
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_calloc
    linkageType: ''
    returnType: struct rcu_qp
    signature: "struct rcu_qp *allocate_new_qp_group(CRYPTO_RCU_LOCK *lock,\n                                            uint32_t
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:479,1
    - Dst: TSAN_FAKE_UNLOCK
      Src: /src/openssl/crypto/threads_pthread.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: ossl_rcu_write_lock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - TSAN_FAKE_UNLOCK
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_write_lock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSAN_FAKE_LOCK
      Src: /src/openssl/crypto/threads_pthread.c:485,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: ossl_rcu_write_unlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - TSAN_FAKE_LOCK
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_write_unlock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:496,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:499,1
    - Dst: update_qp
      Src: /src/openssl/crypto/threads_pthread.c:501,1
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:504,1
    - Dst: pthread_cond_wait
      Src: /src/openssl/crypto/threads_pthread.c:506,1
    - Dst: ATOMIC_LOAD_N
      Src: /src/openssl/crypto/threads_pthread.c:518,1
    - Dst: pthread_cond_broadcast
      Src: /src/openssl/crypto/threads_pthread.c:522,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:523,1
    - Dst: retire_qp
      Src: /src/openssl/crypto/threads_pthread.c:525,1
    - Dst: fn
      Src: /src/openssl/crypto/threads_pthread.c:531,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 534
    functionName: ossl_synchronize_rcu
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ATOMIC_LOAD_N
    - fn
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - pthread_cond_broadcast
    - retire_qp
    - OPENSSL_free
    - pthread_cond_wait
    - update_qp
    linkageType: ''
    returnType: void
    signature: void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - lock
    - cb
    - data
    argTypes:
    - CRYPTO_RCU_LOCK*
    - rcu_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 555
    functionName: ossl_rcu_call
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_LOAD_N
      Src: /src/openssl/crypto/threads_pthread.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: ossl_rcu_uptr_deref
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ATOMIC_LOAD_N
    linkageType: ''
    returnType: void
    signature: void *ossl_rcu_uptr_deref(void **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ATOMIC_STORE
      Src: /src/openssl/crypto/threads_pthread.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: ossl_rcu_assign_uptr
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_assign_uptr(void **p, void **v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/threads_pthread.c:577,1
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:581,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/threads_pthread.c:586,1
    - Dst: write_lock::write_lock
      Src: /src/openssl/crypto/threads_pthread.c:586,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/threads_pthread.c:587,1
    - Dst: prior_lock::prior_lock
      Src: /src/openssl/crypto/threads_pthread.c:587,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/threads_pthread.c:588,1
    - Dst: alloc_lock::alloc_lock
      Src: /src/openssl/crypto/threads_pthread.c:588,1
    - Dst: pthread_cond_init
      Src: /src/openssl/crypto/threads_pthread.c:589,1
    - Dst: prior_signal::prior_signal
      Src: /src/openssl/crypto/threads_pthread.c:589,1
    - Dst: pthread_cond_init
      Src: /src/openssl/crypto/threads_pthread.c:590,1
    - Dst: alloc_signal::alloc_signal
      Src: /src/openssl/crypto/threads_pthread.c:590,1
    - Dst: allocate_new_qp_group
      Src: /src/openssl/crypto/threads_pthread.c:592,1
    - Dst: num_writers::num_writers
      Src: /src/openssl/crypto/threads_pthread.c:592,1
    - Dst: qp_group::qp_group
      Src: /src/openssl/crypto/threads_pthread.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - num_writers
    - ctx
    argTypes:
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 599
    functionName: ossl_rcu_lock_new
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - write_lock::write_lock
    - alloc_lock::alloc_lock
    - pthread_mutex_init
    - alloc_signal::alloc_signal
    - prior_signal::prior_signal
    - prior_lock::prior_lock
    - ossl_lib_ctx_get_concrete
    - pthread_cond_init
    - qp_group::qp_group
    - OPENSSL_zalloc::OPENSSL_zalloc
    - num_writers::num_writers
    - allocate_new_qp_group
    linkageType: ''
    returnType: CRYPTO_RCU_LOCK
    signature: CRYPTO_RCU_LOCK *ossl_rcu_lock_new(int num_writers, OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/threads_pthread.c:609,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:611,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: ossl_rcu_lock_free
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ossl_synchronize_rcu
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_lock_free(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/openssl/crypto/threads_pthread.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: get_tid
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline get_tid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:665,1
    - Dst: snprintf
      Src: /src/openssl/crypto/threads_pthread.c:667,1
    - Dst: get_tid
      Src: /src/openssl/crypto/threads_pthread.c:667,1
    - Dst: open
      Src: /src/openssl/crypto/threads_pthread.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 672
    functionName: init_contention_data
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - snprintf
    - open
    - get_tid
    linkageType: ''
    returnType: void
    signature: void *init_contention_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/openssl/crypto/threads_pthread.c:678,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: destroy_contention_data
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - close
    linkageType: ''
    returnType: void
    signature: void destroy_contention_data(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/crypto/threads_pthread.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: init_contention_data_once
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: void
    signature: void init_contention_data_once(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/threads_pthread.c:694,1
    - Dst: init_contention_data
      Src: /src/openssl/crypto/threads_pthread.c:697,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/threads_pthread.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - init
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 702
    functionName: get_stack_traces
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - init_contention_data
    - CRYPTO_THREAD_get_local
    - CRYPTO_THREAD_set_local
    linkageType: ''
    returnType: struct stack_traces
    signature: struct stack_traces *get_stack_traces(bool init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dprintf
      Src: /src/openssl/crypto/threads_pthread.c:712,1
    - Dst: ossl_time2us
      Src: /src/openssl/crypto/threads_pthread.c:715,1
    - Dst: ossl_time2us
      Src: /src/openssl/crypto/threads_pthread.c:716,1
    - Dst: get_tid
      Src: /src/openssl/crypto/threads_pthread.c:717,1
    - Dst: alloca
      Src: /src/openssl/crypto/threads_pthread.c:722,1
    - Dst: strlen
      Src: /src/openssl/crypto/threads_pthread.c:725,1
    - Dst: alloca
      Src: /src/openssl/crypto/threads_pthread.c:735,1
    - Dst: writev
      Src: /src/openssl/crypto/threads_pthread.c:739,1
    - Dst: free
      Src: /src/openssl/crypto/threads_pthread.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - traces
    argTypes:
    - struct stack_traces*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 742
    functionName: print_stack_traces
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - free
    - writev
    - dprintf
    - alloca
    - ossl_time2us
    - strlen
    - get_tid
    linkageType: ''
    returnType: void
    signature: void print_stack_traces(struct stack_traces *traces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/threads_pthread.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: ossl_init_rwlock_contention_data
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_run_once
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_init_rwlock_contention_data(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/threads_pthread.c:756,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/threads_pthread.c:760,1
    - Dst: backtrace
      Src: /src/openssl/crypto/threads_pthread.c:761,1
    - Dst: backtrace_symbols
      Src: /src/openssl/crypto/threads_pthread.c:762,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/crypto/threads_pthread.c:764,1
    - Dst: fprintf
      Src: /src/openssl/crypto/threads_pthread.c:769,1
    - Dst: print_stack_traces
      Src: /src/openssl/crypto/threads_pthread.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - lock
    - traces
    - write
    argTypes:
    - pthread_rwlock_t*
    - struct stack_traces*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 774
    functionName: record_lock_contention
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    - backtrace
    - ossl_time_subtract
    - ossl_time_now
    - fprintf
    - print_stack_traces
    linkageType: ''
    returnType: int
    signature: "int record_lock_contention(pthread_rwlock_t *lock,\n                                  struct
      stack_traces *traces, bool write)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_stack_traces
      Src: /src/openssl/crypto/threads_pthread.c:778,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/threads_pthread.c:780,1
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/openssl/crypto/threads_pthread.c:784,1
    - Dst: record_lock_contention
      Src: /src/openssl/crypto/threads_pthread.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 794
    functionName: ossl_rwlock_rdlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - get_stack_traces
    - ossl_unlikely
    - record_lock_contention
    - pthread_rwlock_tryrdlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_rwlock_rdlock(pthread_rwlock_t *lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_stack_traces
      Src: /src/openssl/crypto/threads_pthread.c:798,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/threads_pthread.c:800,1
    - Dst: pthread_rwlock_trywrlock
      Src: /src/openssl/crypto/threads_pthread.c:804,1
    - Dst: record_lock_contention
      Src: /src/openssl/crypto/threads_pthread.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 814
    functionName: ossl_rwlock_wrlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - get_stack_traces
    - ossl_unlikely
    - pthread_rwlock_trywrlock
    - record_lock_contention
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_rwlock_wrlock(pthread_rwlock_t *lock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/openssl/crypto/threads_pthread.c:820,1
    - Dst: get_stack_traces
      Src: /src/openssl/crypto/threads_pthread.c:825,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:829,1
    - Dst: print_stack_traces
      Src: /src/openssl/crypto/threads_pthread.c:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - lock
    argTypes:
    - pthread_rwlock_t*
    assertStmts:
    - condition: (traces->lock_depth >= 0)
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 836
      start: 816
    functionDepth: 3
    functionLinenumber: 816
    functionLinenumberEnd: 836
    functionName: ossl_rwlock_unlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - get_stack_traces
    - print_stack_traces
    - assert
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_rwlock_unlock(pthread_rwlock_t *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 842
    functionName: ossl_init_rwlock_contention_data
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_init_rwlock_contention_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/openssl/crypto/threads_pthread.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: ossl_rwlock_rdlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_rwlock_rdlock(pthread_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/openssl/crypto/threads_pthread.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: ossl_rwlock_wrlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_rwlock_wrlock(pthread_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/openssl/crypto/threads_pthread.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 857
    functionName: ossl_rwlock_unlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_rwlock_unlock(pthread_rwlock_t *rwlock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_init_rwlock_contention_data
      Src: /src/openssl/crypto/threads_pthread.c:865,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:867,1
    - Dst: pthread_rwlock_init
      Src: /src/openssl/crypto/threads_pthread.c:871,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:872,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_pthread.c:879,1
    - Dst: pthread_mutexattr_init
      Src: /src/openssl/crypto/threads_pthread.c:886,1
    - Dst: pthread_mutexattr_settype
      Src: /src/openssl/crypto/threads_pthread.c:889,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/threads_pthread.c:895,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/openssl/crypto/threads_pthread.c:896,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:897,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/openssl/crypto/threads_pthread.c:901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 905
    functionName: CRYPTO_THREAD_lock_new
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - pthread_mutexattr_settype
    - pthread_mutex_init
    - pthread_rwlock_init
    - ossl_init_rwlock_contention_data
    - pthread_mutexattr_destroy
    - OPENSSL_free
    - pthread_mutexattr_init
    linkageType: ''
    returnType: CRYPTO_RWLOCK
    signature: CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_pthread.c:910,1
    - Dst: ossl_rwlock_rdlock
      Src: /src/openssl/crypto/threads_pthread.c:910,1
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:913,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts:
    - condition: (errno != EDEADLK && errno != EBUSY)
      pos:
        line_end: 913
        line_start: 913
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 920
      start: 907
    functionDepth: 4
    functionLinenumber: 907
    functionLinenumberEnd: 920
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_rwlock_rdlock
    - assert
    - pthread_mutex_lock
    linkageType: ''
    returnType: __owur
    signature: __owur CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_pthread.c:925,1
    - Dst: ossl_rwlock_wrlock
      Src: /src/openssl/crypto/threads_pthread.c:925,1
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/threads_pthread.c:928,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts:
    - condition: (errno != EDEADLK && errno != EBUSY)
      pos:
        line_end: 928
        line_start: 928
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 935
      start: 922
    functionDepth: 4
    functionLinenumber: 922
    functionLinenumberEnd: 935
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_rwlock_wrlock
    - pthread_mutex_lock
    - assert
    linkageType: ''
    returnType: __owur
    signature: __owur CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rwlock_unlock
      Src: /src/openssl/crypto/threads_pthread.c:940,1
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/threads_pthread.c:943,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_pthread.c:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts:
    - condition: (errno != EPERM)
      pos:
        line_end: 943
        line_start: 943
        source_file: /src/openssl/crypto/threads_pthread.c
    constantsTouched: []
    func_position:
      end: 950
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 950
    functionName: CRYPTO_THREAD_unlock
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - ossl_rwlock_unlock
    - assert
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/openssl/crypto/threads_pthread.c:958,1
    - Dst: pthread_mutex_destroy
      Src: /src/openssl/crypto/threads_pthread.c:960,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_pthread.c:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 965
    functionName: CRYPTO_THREAD_lock_free
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - pthread_rwlock_destroy
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/threads_pthread.c:969,1
    - Dst: pthread_once
      Src: /src/openssl/crypto/threads_pthread.c:969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - once
    argTypes:
    - CRYPTO_ONCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: CRYPTO_THREAD_run_once
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 1
    functionsReached:
    - ossl_unlikely
    - pthread_once
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/openssl/crypto/threads_pthread.c:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: CRYPTO_THREAD_init_local
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 1
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void
      *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/openssl/crypto/threads_pthread.c:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: CRYPTO_THREAD_get_local
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 1
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setspecific
      Src: /src/openssl/crypto/threads_pthread.c:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 994
    functionName: CRYPTO_THREAD_set_local
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 1
    functionsReached:
    - pthread_setspecific
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_delete
      Src: /src/openssl/crypto/threads_pthread.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1002
    functionName: CRYPTO_THREAD_cleanup_local
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_key_delete
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/openssl/crypto/threads_pthread.c:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1007
    functionName: CRYPTO_THREAD_get_current_id
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_self
    linkageType: ''
    returnType: CRYPTO_THREAD_ID
    signature: CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/openssl/crypto/threads_pthread.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CRYPTO_THREAD_ID
    - CRYPTO_THREAD_ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1012
    functionName: CRYPTO_THREAD_compare_id
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - pthread_equal
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/openssl/crypto/threads_pthread.c:1017,1
    - Dst: __atomic_add_fetch
      Src: /src/openssl/crypto/threads_pthread.c:1018,1
    - Dst: atomic_add_int_nv
      Src: /src/openssl/crypto/threads_pthread.c:1024,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1028,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1034,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - val
    - amount
    - ret
    - lock
    argTypes:
    - int*
    - int
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1038
    functionName: CRYPTO_atomic_add
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - __atomic_add_fetch
    - CRYPTO_THREAD_write_lock
    - atomic_add_int_nv
    - __atomic_is_lock_free
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK
      *lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/openssl/crypto/threads_pthread.c:1044,1
    - Dst: __atomic_add_fetch
      Src: /src/openssl/crypto/threads_pthread.c:1045,1
    - Dst: atomic_add_64_nv
      Src: /src/openssl/crypto/threads_pthread.c:1051,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1055,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1064
    functionName: CRYPTO_atomic_add64
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - __atomic_add_fetch
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - __atomic_is_lock_free
    - atomic_add_64_nv
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_add64(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                       CRYPTO_RWLOCK *lock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/openssl/crypto/threads_pthread.c:1070,1
    - Dst: __atomic_and_fetch
      Src: /src/openssl/crypto/threads_pthread.c:1071,1
    - Dst: atomic_and_64_nv
      Src: /src/openssl/crypto/threads_pthread.c:1077,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1081,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1086,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1090
    functionName: CRYPTO_atomic_and
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - atomic_and_64_nv
    - CRYPTO_THREAD_write_lock
    - __atomic_is_lock_free
    - CRYPTO_THREAD_unlock
    - __atomic_and_fetch
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_and(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                     CRYPTO_RWLOCK *lock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/openssl/crypto/threads_pthread.c:1096,1
    - Dst: __atomic_or_fetch
      Src: /src/openssl/crypto/threads_pthread.c:1097,1
    - Dst: atomic_or_64_nv
      Src: /src/openssl/crypto/threads_pthread.c:1103,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1107,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1116
    functionName: CRYPTO_atomic_or
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - __atomic_or_fetch
    - CRYPTO_THREAD_write_lock
    - atomic_or_64_nv
    - __atomic_is_lock_free
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                    CRYPTO_RWLOCK *lock)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/openssl/crypto/threads_pthread.c:1121,1
    - Dst: __atomic_load
      Src: /src/openssl/crypto/threads_pthread.c:1122,1
    - Dst: atomic_or_64_nv
      Src: /src/openssl/crypto/threads_pthread.c:1128,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_pthread.c:1132,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1139
    functionName: CRYPTO_atomic_load
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - __atomic_load
    - CRYPTO_THREAD_read_lock
    - atomic_or_64_nv
    - __atomic_is_lock_free
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK
      *lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/openssl/crypto/threads_pthread.c:1144,1
    - Dst: __atomic_store
      Src: /src/openssl/crypto/threads_pthread.c:1145,1
    - Dst: atomic_swap_64
      Src: /src/openssl/crypto/threads_pthread.c:1151,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_pthread.c:1155,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1162
    functionName: CRYPTO_atomic_store
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - __atomic_is_lock_free
    - CRYPTO_THREAD_unlock
    - __atomic_store
    - atomic_swap_64
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store(uint64_t *dst, uint64_t val, CRYPTO_RWLOCK
      *lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_is_lock_free
      Src: /src/openssl/crypto/threads_pthread.c:1167,1
    - Dst: __atomic_load
      Src: /src/openssl/crypto/threads_pthread.c:1168,1
    - Dst: atomic_or_uint_nv
      Src: /src/openssl/crypto/threads_pthread.c:1174,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_pthread.c:1178,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_pthread.c:1181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1185
    functionName: CRYPTO_atomic_load_int
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - atomic_or_uint_nv
    - __atomic_load
    - CRYPTO_THREAD_read_lock
    - __atomic_is_lock_free
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1191
    functionName: openssl_init_fork_handlers
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int openssl_init_fork_handlers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/openssl/crypto/threads_pthread.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1197
    functionName: openssl_get_fork_id
    functionSourceFile: /src/openssl/crypto/threads_pthread.c
    functionUses: 0
    functionsReached:
    - getpid
    linkageType: ''
    returnType: int
    signature: int openssl_get_fork_id(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/getenv.c:21,1
    - Dst: GetACP
      Src: /src/openssl/crypto/getenv.c:31,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/getenv.c:44,1
    - Dst: _malloca
      Src: /src/openssl/crypto/getenv.c:47,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/getenv.c:51,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/getenv.c:54,1
    - Dst: _malloca
      Src: /src/openssl/crypto/getenv.c:58,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/getenv.c:62,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/getenv.c:64,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/getenv.c:70,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/getenv.c:74,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/getenv.c:76,1
    - Dst: _freea
      Src: /src/openssl/crypto/getenv.c:82,1
    - Dst: _freea
      Src: /src/openssl/crypto/getenv.c:85,1
    - Dst: __GLIBC_PREREQ
      Src: /src/openssl/crypto/getenv.c:92,1
    - Dst: secure_getenv
      Src: /src/openssl/crypto/getenv.c:94,1
    - Dst: OPENSSL_issetugid
      Src: /src/openssl/crypto/getenv.c:99,1
    - Dst: getenv
      Src: /src/openssl/crypto/getenv.c:101,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 38
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 103
    functionName: ossl_safe_getenv
    functionSourceFile: /src/openssl/crypto/getenv.c
    functionUses: 0
    functionsReached:
    - getenv
    - secure_getenv
    - _malloca
    - GetEnvironmentVariableW
    - WideCharToMultiByte
    - __GLIBC_PREREQ
    - OPENSSL_free
    - GetACP
    - MultiByteToWideChar
    - _freea
    - OPENSSL_malloc
    - OPENSSL_issetugid
    linkageType: ''
    returnType: char
    signature: char *ossl_safe_getenv(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/o_fopen.c:49,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/o_fopen.c:63,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/o_fopen.c:65,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/o_fopen.c:66,1
    - Dst: _alloca
      Src: /src/openssl/crypto/o_fopen.c:70,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/o_fopen.c:72,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/o_fopen.c:74,1
    - Dst: strlen
      Src: /src/openssl/crypto/o_fopen.c:74,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/o_fopen.c:75,1
    - Dst: _wfopen
      Src: /src/openssl/crypto/o_fopen.c:76,1
    - Dst: fopen
      Src: /src/openssl/crypto/o_fopen.c:83,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/o_fopen.c:85,1
    - Dst: fopen
      Src: /src/openssl/crypto/o_fopen.c:86,1
    - Dst: pathconf
      Src: /src/openssl/crypto/o_fopen.c:92,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/o_fopen.c:96,1
    - Dst: strlen
      Src: /src/openssl/crypto/o_fopen.c:96,1
    - Dst: fopen
      Src: /src/openssl/crypto/o_fopen.c:113,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/o_fopen.c:115,1
    - Dst: fopen
      Src: /src/openssl/crypto/o_fopen.c:118,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 121
    functionName: openssl_fopen
    functionSourceFile: /src/openssl/crypto/o_fopen.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - _wfopen
    - fopen
    - OPENSSL_free
    - OSSL_NELEM
    - _alloca
    - pathconf
    - strlen
    - MultiByteToWideChar
    - OPENSSL_malloc
    linkageType: ''
    returnType: FILE
    signature: FILE *openssl_fopen(const char *filename, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: openssl_fopen
    functionSourceFile: /src/openssl/crypto/o_fopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *openssl_fopen(const char *filename, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: S390X_CAPBIT
    functionSourceFile: /src/openssl/crypto/s390x_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_CAPBIT(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gethrtime
      Src: /src/openssl/crypto/sparcv9cap.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/openssl/crypto/sparcv9cap.c
    functionUses: 0
    functionsReached:
    - gethrtime
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OPENSSL_rdtsc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _sparcv9_vis1_instrument_bus
      Src: /src/openssl/crypto/sparcv9cap.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - cnt
    argTypes:
    - unsigned int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: OPENSSL_instrument_bus
    functionSourceFile: /src/openssl/crypto/sparcv9cap.c
    functionUses: 0
    functionsReached:
    - _sparcv9_vis1_instrument_bus
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_instrument_bus(unsigned int *out, size_t cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _sparcv9_vis1_instrument_bus2
      Src: /src/openssl/crypto/sparcv9cap.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - cnt
    - max
    argTypes:
    - unsigned int*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: OPENSSL_instrument_bus2
    functionSourceFile: /src/openssl/crypto/sparcv9cap.c
    functionUses: 0
    functionsReached:
    - _sparcv9_vis1_instrument_bus2
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_instrument_bus2(unsigned int *out, size_t cnt, size_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/openssl/crypto/sparcv9cap.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: common_handler
    functionSourceFile: /src/openssl/crypto/sparcv9cap.c
    functionUses: 0
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: void common_handler(int sig)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/crypto/sparcv9cap.c:96,1
    - Dst: strtoul
      Src: /src/openssl/crypto/sparcv9cap.c:97,1
    - Dst: strchr
      Src: /src/openssl/crypto/sparcv9cap.c:98,1
    - Dst: strtoul
      Src: /src/openssl/crypto/sparcv9cap.c:99,1
    - Dst: getisax
      Src: /src/openssl/crypto/sparcv9cap.c:107,1
    - Dst: _sparcv9_vis1_instrument
      Src: /src/openssl/crypto/sparcv9cap.c:136,1
    - Dst: sigfillset
      Src: /src/openssl/crypto/sparcv9cap.c:150,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:151,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:152,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:154,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:156,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:157,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/sparcv9cap.c:158,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/sparcv9cap.c:159,1
    - Dst: memset
      Src: /src/openssl/crypto/sparcv9cap.c:161,1
    - Dst: sigaction
      Src: /src/openssl/crypto/sparcv9cap.c:165,1
    - Dst: sigaction
      Src: /src/openssl/crypto/sparcv9cap.c:166,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:169,1
    - Dst: _sparcv9_rdtick
      Src: /src/openssl/crypto/sparcv9cap.c:170,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:174,1
    - Dst: _sparcv9_vis1_probe
      Src: /src/openssl/crypto/sparcv9cap.c:175,1
    - Dst: _sparcv9_vis1_instrument
      Src: /src/openssl/crypto/sparcv9cap.c:178,1
    - Dst: _sparcv9_vis2_probe
      Src: /src/openssl/crypto/sparcv9cap.c:181,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:186,1
    - Dst: _sparcv9_fmadd_probe
      Src: /src/openssl/crypto/sparcv9cap.c:187,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:195,1
    - Dst: _sparcv9_vis3_probe
      Src: /src/openssl/crypto/sparcv9cap.c:196,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:200,1
    - Dst: _sparcv9_fjaesx_probe
      Src: /src/openssl/crypto/sparcv9cap.c:201,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/sparcv9cap.c:212,1
    - Dst: _sparcv9_rdcfr
      Src: /src/openssl/crypto/sparcv9cap.c:213,1
    - Dst: sigaction
      Src: /src/openssl/crypto/sparcv9cap.c:216,1
    - Dst: sigaction
      Src: /src/openssl/crypto/sparcv9cap.c:217,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/sparcv9cap.c:219,1
    - Dst: syscall
      Src: /src/openssl/crypto/sparcv9cap.c:225,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 231
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/sparcv9cap.c
    functionUses: 0
    functionsReached:
    - _sparcv9_vis2_probe
    - _sparcv9_fjaesx_probe
    - sigsetjmp
    - _sparcv9_vis1_instrument
    - sigdelset
    - sigaction
    - getenv
    - getisax
    - _sparcv9_rdcfr
    - strchr
    - syscall
    - sigfillset
    - _sparcv9_vis1_probe
    - _sparcv9_rdtick
    - memset
    - _sparcv9_vis3_probe
    - strtoul
    - sigprocmask
    - _sparcv9_fmadd_probe
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset_func
      Src: /src/openssl/crypto/mem_clr.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: OPENSSL_cleanse
    functionSourceFile: /src/openssl/crypto/mem_clr.c
    functionUses: 3
    functionsReached:
    - memset_func
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cleanse(void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ossl_param_bytes_to_blocks
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_param_bytes_to_blocks(size_t bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/params_dup.c:40,1
    - Dst: ossl_size_add
      Src: /src/openssl/crypto/params_dup.c:40,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/params_dup.c:42,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/crypto/params_dup.c:46,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/params_dup.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - out
    - extra_blocks
    - is_secure
    argTypes:
    - OSSL_PARAM_BUF*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: ossl_param_buf_alloc
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - OPENSSL_zalloc
    - OPENSSL_secure_zalloc
    - ossl_size_mul
    - ossl_size_add
    linkageType: ''
    returnType: int
    signature: "int ossl_param_buf_alloc(OSSL_PARAM_BUF *out, size_t extra_blocks,\n
      \                               int is_secure)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - last
    - secure_buffer
    - secure_buffer_sz
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: ossl_param_set_secure_block
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_param_set_secure_block(OSSL_PARAM *last, void *secure_buffer,\n
      \                                size_t secure_buffer_sz)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/crypto/params_dup.c:73,1
    - Dst: memcpy
      Src: /src/openssl/crypto/params_dup.c:87,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/openssl/crypto/params_dup.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - src
    - dst
    - buf
    - param_count
    argTypes:
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM_BUF[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 103
    functionName: ossl_param_dup
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_param_bytes_to_blocks
    - CRYPTO_secure_allocated
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ossl_param_dup(const OSSL_PARAM *src, OSSL_PARAM *dst,\n
      \                                 OSSL_PARAM_BUF buf[OSSL_PARAM_BUF_MAX],\n
      \                                 int *param_count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params_dup.c:113,1
    - Dst: memset
      Src: /src/openssl/crypto/params_dup.c:117,1
    - Dst: ossl_param_dup
      Src: /src/openssl/crypto/params_dup.c:120,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/openssl/crypto/params_dup.c:122,1
    - Dst: ossl_param_buf_alloc
      Src: /src/openssl/crypto/params_dup.c:127,1
    - Dst: ossl_param_buf_alloc
      Src: /src/openssl/crypto/params_dup.c:132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/params_dup.c:133,1
    - Dst: ossl_param_dup
      Src: /src/openssl/crypto/params_dup.c:138,1
    - Dst: ossl_param_set_secure_block
      Src: /src/openssl/crypto/params_dup.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 143
    functionName: OSSL_PARAM_dup
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - ossl_param_set_secure_block
    - ossl_param_buf_alloc
    - OPENSSL_free
    - ossl_param_bytes_to_blocks
    - ossl_param_dup
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *OSSL_PARAM_dup(const OSSL_PARAM *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/params_dup.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: compare_params
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int compare_params(const void *left, const void *right)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params_dup.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params_dup.c:182,1
    - Dst: qsort
      Src: /src/openssl/crypto/params_dup.c:187,1
    - Dst: qsort
      Src: /src/openssl/crypto/params_dup.c:188,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/params_dup.c:191,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/params_dup.c:215,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - OSSL_PARAM*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 230
    functionName: OSSL_PARAM_merge
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - OPENSSL_calloc
    - ERR_raise
    - OPENSSL_strcasecmp
    - qsort
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *OSSL_PARAM_merge(const OSSL_PARAM *p1, const OSSL_PARAM
      *p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/params_dup.c:240,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/params_dup.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: OSSL_PARAM_free
    functionSourceFile: /src/openssl/crypto/params_dup.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void OSSL_PARAM_free(OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/openssl/crypto/ex_data.c:16,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/ex_data.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: ossl_do_ex_data_init
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - ossl_lib_ctx_get_ex_data_global
    linkageType: ''
    returnType: int
    signature: int ossl_do_ex_data_init(OSSL_LIB_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:37,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/ex_data.c:50,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/ex_data.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - global
    - class_index
    - read
    argTypes:
    - OSSL_EX_DATA_GLOBAL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: get_and_lock
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - ERR_raise
    linkageType: ''
    returnType: EX_CALLBACKS
    signature: "EX_CALLBACKS *get_and_lock(OSSL_EX_DATA_GLOBAL *global, int class_index,\n
      \                                 int read)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - funcs
    argTypes:
    - EX_CALLBACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: cleanup_cb
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_cb(EX_CALLBACK *funcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/openssl/crypto/ex_data.c:75,1
    - Dst: sk_EX_CALLBACK_pop_free
      Src: /src/openssl/crypto/ex_data.c:83,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/ex_data.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: ossl_crypto_cleanup_all_ex_data_int
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - sk_EX_CALLBACK_pop_free
    - ossl_lib_ctx_get_ex_data_global
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_cleanup_all_ex_data_int(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: dummy_new
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dummy_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx,\n
      \                    long argl, void *argp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: dummy_free
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dummy_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx,\n
      \                      long argl, void *argp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - to
    - from
    - from_d
    - idx
    - argl
    - argp
    argTypes:
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    - void**
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: dummy_dup
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_dup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from,\n                     void
      **from_d, int idx,\n                     long argl, void *argp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/openssl/crypto/ex_data.c:118,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:123,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:127,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:129,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - class_index
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: ossl_crypto_free_ex_index_ex
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - sk_EX_CALLBACK_num
    - get_and_lock
    - CRYPTO_THREAD_unlock
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_free_ex_index_ex(OSSL_LIB_CTX *ctx, int class_index,
      int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_free_ex_index_ex
      Src: /src/openssl/crypto/ex_data.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - class_index
    - idx
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: CRYPTO_free_ex_index
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_free_ex_index_ex
    linkageType: ''
    returnType: int
    signature: int CRYPTO_free_ex_index(int class_index, int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/openssl/crypto/ex_data.c:159,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:164,1
    - Dst: sk_EX_CALLBACK_new_null
      Src: /src/openssl/crypto/ex_data.c:169,1
    - Dst: sk_EX_CALLBACK_push
      Src: /src/openssl/crypto/ex_data.c:173,1
    - Dst: sk_EX_CALLBACK_free
      Src: /src/openssl/crypto/ex_data.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:176,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ex_data.c:181,1
    - Dst: sk_EX_CALLBACK_push
      Src: /src/openssl/crypto/ex_data.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:192,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:193,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:196,1
    - Dst: sk_EX_CALLBACK_set
      Src: /src/openssl/crypto/ex_data.c:197,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 8
    argNames:
    - ctx
    - class_index
    - argl
    - argp
    - new_func
    - dup_func
    - free_func
    - priority
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - long
    - void*
    - CRYPTO_EX_new*
    - CRYPTO_EX_dup*
    - CRYPTO_EX_free*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 202
    functionName: ossl_crypto_get_ex_new_index_ex
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_EX_CALLBACK_num
    - get_and_lock
    - sk_EX_CALLBACK_new_null
    - sk_EX_CALLBACK_push
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - ossl_lib_ctx_get_ex_data_global
    - sk_EX_CALLBACK_free
    - sk_EX_CALLBACK_set
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_crypto_get_ex_new_index_ex(OSSL_LIB_CTX *ctx, int class_index,\n
      \                                   long argl, void *argp,\n                                    CRYPTO_EX_new
      *new_func,\n                                    CRYPTO_EX_dup *dup_func,\n                                    CRYPTO_EX_free
      *free_func,\n                                    int priority)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_get_ex_new_index_ex
      Src: /src/openssl/crypto/ex_data.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - class_index
    - argl
    - argp
    - new_func
    - dup_func
    - free_func
    argTypes:
    - int
    - long
    - void*
    - CRYPTO_EX_new*
    - CRYPTO_EX_dup*
    - CRYPTO_EX_free*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: CRYPTO_get_ex_new_index
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_get_ex_new_index_ex
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp,\n
      \                           CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func,\n
      \                           CRYPTO_EX_free *free_func)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/openssl/crypto/ex_data.c:227,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:232,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:238,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ex_data.c:240,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ex_data.c:243,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:246,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:248,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:254,1
    - Dst: new_func
      Src: /src/openssl/crypto/ex_data.c:255,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:260,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - class_index
    - obj
    - ad
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - void*
    - CRYPTO_EX_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 262
    functionName: ossl_crypto_new_ex_data_ex
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc_array
    - sk_EX_CALLBACK_num
    - get_and_lock
    - OSSL_NELEM
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - CRYPTO_get_ex_data
    - new_func
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    linkageType: ''
    returnType: int
    signature: "int ossl_crypto_new_ex_data_ex(OSSL_LIB_CTX *ctx, int class_index,
      void *obj,\n                               CRYPTO_EX_DATA *ad)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_new_ex_data_ex
      Src: /src/openssl/crypto/ex_data.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - class_index
    - obj
    - ad
    argTypes:
    - int
    - void*
    - CRYPTO_EX_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: CRYPTO_new_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_new_ex_data_ex
    linkageType: ''
    returnType: int
    signature: int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/openssl/crypto/ex_data.c:289,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:293,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:297,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/ex_data.c:298,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ex_data.c:302,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ex_data.c:305,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:308,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:310,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/ex_data.c:323,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:323,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:327,1
    - Dst: dup_func
      Src: /src/openssl/crypto/ex_data.c:329,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/ex_data.c:332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:337,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 3
    argNames:
    - class_index
    - to
    - from
    argTypes:
    - int
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 339
    functionName: CRYPTO_dup_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - sk_EX_CALLBACK_num
    - sk_void_num
    - OPENSSL_malloc_array
    - CRYPTO_set_ex_data
    - dup_func
    - get_and_lock
    - OSSL_NELEM
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - CRYPTO_get_ex_data
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to,\n                       const
      CRYPTO_EX_DATA *from)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: ex_callback_compare
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ex_callback_compare(const void *a, const void *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/openssl/crypto/ex_data.c:375,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:380,1
    - Dst: sk_EX_CALLBACK_num
      Src: /src/openssl/crypto/ex_data.c:384,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ex_data.c:386,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ex_data.c:389,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:392,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:396,1
    - Dst: qsort
      Src: /src/openssl/crypto/ex_data.c:400,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:405,1
    - Dst: EX_CALLBACK*::free_func
      Src: /src/openssl/crypto/ex_data.c:406,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ex_data.c:412,1
    - Dst: sk_void_free
      Src: /src/openssl/crypto/ex_data.c:414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - class_index
    - obj
    - ad
    argTypes:
    - int
    - void*
    - CRYPTO_EX_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 417
    functionName: CRYPTO_free_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - sk_void_free
    - OPENSSL_malloc_array
    - sk_EX_CALLBACK_num
    - get_and_lock
    - OSSL_NELEM
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - CRYPTO_get_ex_data
    - EX_CALLBACK*::free_func
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    - qsort
    linkageType: ''
    returnType: void
    signature: void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA
      *ad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ex_data.c:428,1
    - Dst: ossl_crypto_alloc_ex_data_intern
      Src: /src/openssl/crypto/ex_data.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - class_index
    - obj
    - ad
    - idx
    argTypes:
    - int
    - void*
    - CRYPTO_EX_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: CRYPTO_alloc_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_alloc_ex_data_intern
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA
      *ad,\n                         int idx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_ex_data_global
      Src: /src/openssl/crypto/ex_data.c:443,1
    - Dst: get_and_lock
      Src: /src/openssl/crypto/ex_data.c:447,1
    - Dst: sk_EX_CALLBACK_value
      Src: /src/openssl/crypto/ex_data.c:450,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ex_data.c:451,1
    - Dst: EX_CALLBACK*::new_func
      Src: /src/openssl/crypto/ex_data.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - class_index
    - obj
    - ad
    - idx
    argTypes:
    - int
    - void*
    - CRYPTO_EX_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 463
    functionName: ossl_crypto_alloc_ex_data_intern
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 1
    functionsReached:
    - get_and_lock
    - EX_CALLBACK*::new_func
    - CRYPTO_THREAD_unlock
    - sk_EX_CALLBACK_value
    - ossl_lib_ctx_get_ex_data_global
    linkageType: ''
    returnType: int
    signature: "int ossl_crypto_alloc_ex_data_intern(int class_index, void *obj,\n
      \                                    CRYPTO_EX_DATA *ad, int idx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_void_new_null
      Src: /src/openssl/crypto/ex_data.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:475,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/ex_data.c:480,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/ex_data.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:482,1
    - Dst: sk_void_set
      Src: /src/openssl/crypto/ex_data.c:486,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ex_data.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ad
    - idx
    - val
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 492
    functionName: CRYPTO_set_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 1
    functionsReached:
    - sk_void_set
    - ERR_raise
    - sk_void_num
    - sk_void_push
    - sk_void_new_null
    linkageType: ''
    returnType: int
    signature: int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_void_num
      Src: /src/openssl/crypto/ex_data.c:500,1
    - Dst: sk_void_value
      Src: /src/openssl/crypto/ex_data.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ad
    - idx
    argTypes:
    - CRYPTO_EX_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: CRYPTO_get_ex_data
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 4
    functionsReached:
    - sk_void_num
    - sk_void_value
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ad
    argTypes:
    - CRYPTO_EX_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: ossl_crypto_ex_data_get_ossl_lib_ctx
    functionSourceFile: /src/openssl/crypto/ex_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_crypto_ex_data_get_ossl_lib_ctx(const CRYPTO_EX_DATA
      *ad)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/param_build.c:55,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/openssl/crypto/param_build.c:62,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_push
      Src: /src/openssl/crypto/param_build.c:67,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/param_build.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - bld
    - key
    - size
    - alloc
    - type
    - secure
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - size_t
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: param_push
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PARAM_BLD_DEF_push
    - OPENSSL_free
    - OPENSSL_zalloc
    - ossl_param_bytes_to_blocks
    linkageType: ''
    returnType: OSSL_PARAM_BLD_DEF
    signature: "OSSL_PARAM_BLD_DEF *param_push(OSSL_PARAM_BLD *bld, const char *key,\n
      \                                     size_t size, size_t alloc, int type,\n
      \                                     int secure)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:84,1
    - Dst: memcpy
      Src: /src/openssl/crypto/param_build.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - bld
    - key
    - num
    - size
    - type
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: param_push_num
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - memcpy
    - param_push
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int param_push_num(OSSL_PARAM_BLD *bld, const char *key,\n                          void
      *num, size_t size, int type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/param_build.c:93,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_new_null
      Src: /src/openssl/crypto/param_build.c:96,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/param_build.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: OSSL_PARAM_BLD_new
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PARAM_BLD_DEF_new_null
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: OSSL_PARAM_BLD
    signature: OSSL_PARAM_BLD *OSSL_PARAM_BLD_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PARAM_BLD_DEF_num
      Src: /src/openssl/crypto/param_build.c:107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/param_build.c:110,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_pop
      Src: /src/openssl/crypto/param_build.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: free_all_params
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_OSSL_PARAM_BLD_DEF_num
    - sk_OSSL_PARAM_BLD_DEF_pop
    linkageType: ''
    returnType: void
    signature: void free_all_params(OSSL_PARAM_BLD *bld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_all_params
      Src: /src/openssl/crypto/param_build.c:117,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_free
      Src: /src/openssl/crypto/param_build.c:118,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/param_build.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: OSSL_PARAM_BLD_free
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_OSSL_PARAM_BLD_DEF_free
    - free_all_params
    linkageType: ''
    returnType: void
    signature: void OSSL_PARAM_BLD_free(OSSL_PARAM_BLD *bld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: OSSL_PARAM_BLD_push_int
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_BLD_push_int(OSSL_PARAM_BLD *bld, const char *key, int
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: OSSL_PARAM_BLD_push_uint
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_uint(OSSL_PARAM_BLD *bld, const char *key,\n
      \                            unsigned int num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: OSSL_PARAM_BLD_push_long
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_long(OSSL_PARAM_BLD *bld, const char *key,\n
      \                            long int num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - unsigned long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: OSSL_PARAM_BLD_push_ulong
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_ulong(OSSL_PARAM_BLD *bld, const char *key,\n
      \                             unsigned long int num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: OSSL_PARAM_BLD_push_int32
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_int32(OSSL_PARAM_BLD *bld, const char *key,\n
      \                             int32_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: OSSL_PARAM_BLD_push_uint32
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_uint32(OSSL_PARAM_BLD *bld, const char *key,\n
      \                              uint32_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: OSSL_PARAM_BLD_push_int64
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_int64(OSSL_PARAM_BLD *bld, const char *key,\n
      \                             int64_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: OSSL_PARAM_BLD_push_uint64
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_uint64(OSSL_PARAM_BLD *bld, const char *key,\n
      \                              uint64_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: OSSL_PARAM_BLD_push_size_t
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_size_t(OSSL_PARAM_BLD *bld, const char *key,\n
      \                              size_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: OSSL_PARAM_BLD_push_time_t
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_time_t(OSSL_PARAM_BLD *bld, const char *key,\n
      \                              time_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_push_num
      Src: /src/openssl/crypto/param_build.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: OSSL_PARAM_BLD_push_double
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_double(OSSL_PARAM_BLD *bld, const char *key,\n
      \                              double num)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/param_build.c:199,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/param_build.c:204,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/param_build.c:205,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/param_build.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:216,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/param_build.c:219,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - bld
    - key
    - bn
    - sz
    - type
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - BIGNUM*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 231
    functionName: push_BN
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - BN_num_bytes
    - BN_is_negative
    - ERR_raise_data
    - BN_get_flags
    - param_push
    linkageType: ''
    returnType: int
    signature: "int push_BN(OSSL_PARAM_BLD *bld, const char *key,\n                   const
      BIGNUM *bn, size_t sz, int type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/param_build.c:236,1
    - Dst: push_BN
      Src: /src/openssl/crypto/param_build.c:237,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/param_build.c:237,1
    - Dst: push_BN
      Src: /src/openssl/crypto/param_build.c:239,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/param_build.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - bld
    - key
    - bn
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: OSSL_PARAM_BLD_push_BN
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - push_BN
    - BN_is_negative
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_BN(OSSL_PARAM_BLD *bld, const char *key,\n
      \                          const BIGNUM *bn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/param_build.c:246,1
    - Dst: push_BN
      Src: /src/openssl/crypto/param_build.c:247,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/param_build.c:247,1
    - Dst: push_BN
      Src: /src/openssl/crypto/param_build.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - bld
    - key
    - bn
    - sz
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - BIGNUM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: OSSL_PARAM_BLD_push_BN_pad
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - push_BN
    - BN_is_negative
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_BN_pad(OSSL_PARAM_BLD *bld, const char *key,\n
      \                              const BIGNUM *bn, size_t sz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/param_build.c:259,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/crypto/param_build.c:260,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 266
    functionName: OSSL_PARAM_BLD_push_utf8_string
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - strlen
    - CRYPTO_secure_allocated
    - param_push
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_utf8_string(OSSL_PARAM_BLD *bld, const char
      *key,\n                                    const char *buf, size_t bsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/param_build.c:274,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: OSSL_PARAM_BLD_push_utf8_ptr
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - strlen
    - param_push
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_utf8_ptr(OSSL_PARAM_BLD *bld, const char *key,\n
      \                                char *buf, size_t bsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/crypto/param_build.c:288,1
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: OSSL_PARAM_BLD_push_octet_string
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_allocated
    - param_push
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_octet_string(OSSL_PARAM_BLD *bld, const char
      *key,\n                                     const void *buf, size_t bsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_push
      Src: /src/openssl/crypto/param_build.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - bld
    - key
    - buf
    - bsize
    argTypes:
    - OSSL_PARAM_BLD*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: OSSL_PARAM_BLD_push_octet_ptr
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - param_push
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_BLD_push_octet_ptr(OSSL_PARAM_BLD *bld, const char
      *key,\n                                  void *buf, size_t bsize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PARAM_BLD_DEF_num
      Src: /src/openssl/crypto/param_build.c:312,1
    - Dst: sk_OSSL_PARAM_BLD_DEF_value
      Src: /src/openssl/crypto/param_build.c:317,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/crypto/param_build.c:334,1
    - Dst: BN_signed_bn2native
      Src: /src/openssl/crypto/param_build.c:336,1
    - Dst: memcpy
      Src: /src/openssl/crypto/param_build.c:344,1
    - Dst: memset
      Src: /src/openssl/crypto/param_build.c:346,1
    - Dst: memset
      Src: /src/openssl/crypto/param_build.c:352,1
    - Dst: memcpy
      Src: /src/openssl/crypto/param_build.c:354,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/param_build.c:357,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - bld
    - param
    - blk
    - secure
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - OSSL_PARAM_ALIGNED_BLOCK*
    - OSSL_PARAM_ALIGNED_BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 359
    functionName: param_bld_convert
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - memset
    - BN_signed_bn2native
    - memcpy
    - sk_OSSL_PARAM_BLD_DEF_value
    - BN_bn2nativepad
    - OSSL_PARAM_construct_end
    - sk_OSSL_PARAM_BLD_DEF_num
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *param_bld_convert(OSSL_PARAM_BLD *bld, OSSL_PARAM *param,\n
      \                                    OSSL_PARAM_ALIGNED_BLOCK *blk,\n                                     OSSL_PARAM_ALIGNED_BLOCK
      *secure)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PARAM_BLD_DEF_num
      Src: /src/openssl/crypto/param_build.c:365,1
    - Dst: ossl_param_bytes_to_blocks
      Src: /src/openssl/crypto/param_build.c:366,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/param_build.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build.c:373,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/param_build.c:377,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/crypto/param_build.c:379,1
    - Dst: param_bld_convert
      Src: /src/openssl/crypto/param_build.c:383,1
    - Dst: ossl_param_set_secure_block
      Src: /src/openssl/crypto/param_build.c:384,1
    - Dst: free_all_params
      Src: /src/openssl/crypto/param_build.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 391
    functionName: OSSL_PARAM_BLD_to_param
    functionSourceFile: /src/openssl/crypto/param_build.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - param_bld_convert
    - OPENSSL_secure_free
    - ossl_param_set_secure_block
    - OPENSSL_secure_malloc
    - free_all_params
    - ossl_param_bytes_to_blocks
    - sk_OSSL_PARAM_BLD_DEF_num
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *OSSL_PARAM_BLD_to_param(OSSL_PARAM_BLD *bld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_CTX_TABLE_ENTRY_free
      Src: /src/openssl/crypto/threads_common.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - MASTER_KEY_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: clean_master_key_id
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 0
    functionsReached:
    - ossl_sa_CTX_TABLE_ENTRY_free
    linkageType: ''
    returnType: void
    signature: void clean_master_key_id(MASTER_KEY_ENTRY *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clean_master_key_id
      Src: /src/openssl/crypto/threads_common.c:197,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_common.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: clean_master_key
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - clean_master_key_id
    linkageType: ''
    returnType: void
    signature: void clean_master_key(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/crypto/threads_common.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 232
    functionName: init_master_key
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: void
    signature: void init_master_key(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/threads_common.c:260,1
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/threads_common.c:273,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_common.c:276,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/threads_common.c:282,1
    - Dst: ossl_sa_CTX_TABLE_ENTRY_get
      Src: /src/openssl/crypto/threads_common.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - id
    - ctx
    argTypes:
    - CRYPTO_THREAD_LOCAL_KEY_ID
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 307
    functionName: CRYPTO_THREAD_get_local_ex
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 3
    functionsReached:
    - ossl_assert
    - ossl_lib_ctx_get_concrete
    - ossl_sa_CTX_TABLE_ENTRY_get
    - CRYPTO_THREAD_run_once
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_THREAD_get_local_ex(CRYPTO_THREAD_LOCAL_KEY_ID id, OSSL_LIB_CTX
      *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/threads_common.c:338,1
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/crypto/threads_common.c:343,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_common.c:346,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/threads_common.c:353,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/threads_common.c:358,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/threads_common.c:365,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_common.c:366,1
    - Dst: ossl_sa_CTX_TABLE_ENTRY_new
      Src: /src/openssl/crypto/threads_common.c:379,1
    - Dst: ossl_sa_CTX_TABLE_ENTRY_set
      Src: /src/openssl/crypto/threads_common.c:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - id
    - ctx
    - data
    argTypes:
    - CRYPTO_THREAD_LOCAL_KEY_ID
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 393
    functionName: CRYPTO_THREAD_set_local_ex
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    - ossl_lib_ctx_get_concrete
    - OPENSSL_calloc
    - ossl_sa_CTX_TABLE_ENTRY_new
    - CRYPTO_THREAD_set_local
    - ossl_sa_CTX_TABLE_ENTRY_set
    - OPENSSL_free
    - CRYPTO_THREAD_run_once
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_THREAD_set_local_ex(CRYPTO_THREAD_LOCAL_KEY_ID id,\n                               OSSL_LIB_CTX
      *ctx, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/threads_common.c:407,1
    - Dst: clean_master_key
      Src: /src/openssl/crypto/threads_common.c:409,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/crypto/threads_common.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 411
    functionName: CRYPTO_THREAD_clean_local_for_fips
    functionSourceFile: /src/openssl/crypto/threads_common.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_cleanup_local
    - clean_master_key
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: void
    signature: void CRYPTO_THREAD_clean_local_for_fips(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: CLEAR
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR(p, s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/mem_sec.c:114,1
    - Dst: sh_init
      Src: /src/openssl/crypto/mem_sec.c:117,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/mem_sec.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - size
    - minsize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: CRYPTO_secure_malloc_init
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_lock_new
    - sh_init
    linkageType: ''
    returnType: int
    signature: int CRYPTO_secure_malloc_init(size_t size, size_t minsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sh_done
      Src: /src/openssl/crypto/mem_sec.c:135,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/mem_sec.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: CRYPTO_secure_malloc_done
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - sh_done
    linkageType: ''
    returnType: int
    signature: int CRYPTO_secure_malloc_done(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: CRYPTO_secure_malloc_initialized
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_secure_malloc_initialized(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem_sec.c:162,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/mem_sec.c:164,1
    - Dst: sh_malloc
      Src: /src/openssl/crypto/mem_sec.c:168,1
    - Dst: sh_actual_size
      Src: /src/openssl/crypto/mem_sec.c:169,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:171,1
    - Dst: ERR_new
      Src: /src/openssl/crypto/mem_sec.c:174,1
    - Dst: ERR_set_debug
      Src: /src/openssl/crypto/mem_sec.c:175,1
    - Dst: ERR_set_error
      Src: /src/openssl/crypto/mem_sec.c:176,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem_sec.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: CRYPTO_secure_malloc
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - ERR_set_error
    - ERR_set_debug
    - ERR_new
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - sh_actual_size
    - CRYPTO_malloc
    - sh_malloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_secure_malloc(size_t num, const char *file, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_malloc
      Src: /src/openssl/crypto/mem_sec.c:189,1
    - Dst: CRYPTO_zalloc
      Src: /src/openssl/crypto/mem_sec.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: CRYPTO_secure_zalloc
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_malloc
    - CRYPTO_zalloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_secure_zalloc(size_t num, const char *file, int line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/crypto/mem_sec.c:201,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem_sec.c:202,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/mem_sec.c:205,1
    - Dst: sh_actual_size
      Src: /src/openssl/crypto/mem_sec.c:207,1
    - Dst: CLEAR
      Src: /src/openssl/crypto/mem_sec.c:208,1
    - Dst: sh_free
      Src: /src/openssl/crypto/mem_sec.c:210,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:211,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem_sec.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: CRYPTO_secure_free
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_allocated
    - CRYPTO_THREAD_write_lock
    - sh_free
    - CRYPTO_free
    - CRYPTO_THREAD_unlock
    - sh_actual_size
    - CLEAR
    linkageType: ''
    returnType: void
    signature: void CRYPTO_secure_free(void *ptr, const char *file, int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/crypto/mem_sec.c:225,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/mem_sec.c:226,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem_sec.c:227,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/mem_sec.c:230,1
    - Dst: sh_actual_size
      Src: /src/openssl/crypto/mem_sec.c:232,1
    - Dst: CLEAR
      Src: /src/openssl/crypto/mem_sec.c:233,1
    - Dst: sh_free
      Src: /src/openssl/crypto/mem_sec.c:235,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:236,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/mem_sec.c:240,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem_sec.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 243
    functionName: CRYPTO_secure_clear_free
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_allocated
    - CRYPTO_THREAD_write_lock
    - sh_free
    - CRYPTO_free
    - CRYPTO_THREAD_unlock
    - sh_actual_size
    - CLEAR
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_secure_clear_free(void *ptr, size_t num,\n                              const
      char *file, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sh_allocated
      Src: /src/openssl/crypto/mem_sec.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 259
    functionName: CRYPTO_secure_allocated
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 5
    functionsReached:
    - sh_allocated
    linkageType: ''
    returnType: int
    signature: int CRYPTO_secure_allocated(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/mem_sec.c:266,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: CRYPTO_secure_used
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: size_t
    signature: size_t CRYPTO_secure_used(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/mem_sec.c:281,1
    - Dst: sh_actual_size
      Src: /src/openssl/crypto/mem_sec.c:283,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/mem_sec.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: CRYPTO_secure_actual_size
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - sh_actual_size
    linkageType: ''
    returnType: size_t
    signature: size_t CRYPTO_secure_actual_size(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: TESTBIT
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TESTBIT(t, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: SETBIT
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETBIT(t, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: CLEARBIT
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEARBIT(t, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: WITHIN_ARENA
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WITHIN_ARENA(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: WITHIN_FREELIST
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WITHIN_FREELIST(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:350,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 356
    functionName: sh_getlist
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - TESTBIT
    linkageType: ''
    returnType: size_t
    signature: size_t sh_getlist(char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:363,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:364,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:366,1
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 368
    functionName: sh_testbit
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - TESTBIT
    linkageType: ''
    returnType: int
    signature: int sh_testbit(char *ptr, int list, unsigned char *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:374,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:375,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:377,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:378,1
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:378,1
    - Dst: CLEARBIT
      Src: /src/openssl/crypto/mem_sec.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: sh_clearbit
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - TESTBIT
    - CLEARBIT
    linkageType: ''
    returnType: void
    signature: void sh_clearbit(char *ptr, int list, unsigned char *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:386,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:387,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:389,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:390,1
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:390,1
    - Dst: SETBIT
      Src: /src/openssl/crypto/mem_sec.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - list
    - table
    argTypes:
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: sh_setbit
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - SETBIT
    - OPENSSL_assert
    - TESTBIT
    linkageType: ''
    returnType: void
    signature: void sh_setbit(char *ptr, int list, unsigned char *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:398,1
    - Dst: WITHIN_FREELIST
      Src: /src/openssl/crypto/mem_sec.c:398,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:399,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:399,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:403,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:403,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - list
    - ptr
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 412
    functionName: sh_add_to_list
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - WITHIN_FREELIST
    - OPENSSL_assert
    - WITHIN_ARENA
    linkageType: ''
    returnType: void
    signature: void sh_add_to_list(char **list, char *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:426,1
    - Dst: WITHIN_FREELIST
      Src: /src/openssl/crypto/mem_sec.c:426,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 427
    functionName: sh_remove_from_list
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - WITHIN_FREELIST
    - OPENSSL_assert
    - WITHIN_ARENA
    linkageType: ''
    returnType: void
    signature: void sh_remove_from_list(char *ptr)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/mem_sec.c:441,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:444,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:445,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:450,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:466,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/mem_sec.c:483,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:484,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/mem_sec.c:488,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:489,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/mem_sec.c:493,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:494,1
    - Dst: sysconf
      Src: /src/openssl/crypto/mem_sec.c:502,1
    - Dst: sysconf
      Src: /src/openssl/crypto/mem_sec.c:504,1
    - Dst: GetSystemInfo
      Src: /src/openssl/crypto/mem_sec.c:512,1
    - Dst: mmap
      Src: /src/openssl/crypto/mem_sec.c:521,1
    - Dst: open
      Src: /src/openssl/crypto/mem_sec.c:528,1
    - Dst: mmap
      Src: /src/openssl/crypto/mem_sec.c:529,1
    - Dst: close
      Src: /src/openssl/crypto/mem_sec.c:531,1
    - Dst: VirtualAlloc
      Src: /src/openssl/crypto/mem_sec.c:538,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:545,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:546,1
    - Dst: mprotect
      Src: /src/openssl/crypto/mem_sec.c:553,1
    - Dst: VirtualProtect
      Src: /src/openssl/crypto/mem_sec.c:556,1
    - Dst: mprotect
      Src: /src/openssl/crypto/mem_sec.c:563,1
    - Dst: VirtualProtect
      Src: /src/openssl/crypto/mem_sec.c:566,1
    - Dst: syscall
      Src: /src/openssl/crypto/mem_sec.c:571,1
    - Dst: mlock
      Src: /src/openssl/crypto/mem_sec.c:573,1
    - Dst: VirtualLock
      Src: /src/openssl/crypto/mem_sec.c:580,1
    - Dst: mlock
      Src: /src/openssl/crypto/mem_sec.c:583,1
    - Dst: madvise
      Src: /src/openssl/crypto/mem_sec.c:587,1
    - Dst: sh_done
      Src: /src/openssl/crypto/mem_sec.c:594,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 2
    argNames:
    - size
    - minsize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 596
    functionName: sh_init
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 1
    functionsReached:
    - GetSystemInfo
    - mlock
    - sh_add_to_list
    - VirtualAlloc
    - OPENSSL_zalloc
    - syscall
    - OPENSSL_assert
    - close
    - sh_done
    - sh_setbit
    - madvise
    - mmap
    - VirtualLock
    - memset
    - sysconf
    - OPENSSL_calloc
    - mprotect
    - VirtualProtect
    - open
    linkageType: ''
    returnType: int
    signature: int sh_init(size_t size, size_t minsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/mem_sec.c:600,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/mem_sec.c:601,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/mem_sec.c:602,1
    - Dst: munmap
      Src: /src/openssl/crypto/mem_sec.c:605,1
    - Dst: VirtualFree
      Src: /src/openssl/crypto/mem_sec.c:608,1
    - Dst: memset
      Src: /src/openssl/crypto/mem_sec.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 611
    functionName: sh_done
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - VirtualFree
    - munmap
    - memset
    linkageType: ''
    returnType: void
    signature: void sh_done(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: sh_allocated
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 1
    functionsReached:
    - WITHIN_ARENA
    linkageType: ''
    returnType: int
    signature: int sh_allocated(const char *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:626,1
    - Dst: TESTBIT
      Src: /src/openssl/crypto/mem_sec.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - list
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 630
    functionName: sh_find_my_buddy
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 0
    functionsReached:
    - TESTBIT
    linkageType: ''
    returnType: char
    signature: char *sh_find_my_buddy(char *ptr, int list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:659,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:659,1
    - Dst: sh_clearbit
      Src: /src/openssl/crypto/mem_sec.c:660,1
    - Dst: sh_remove_from_list
      Src: /src/openssl/crypto/mem_sec.c:661,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:662,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:668,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:668,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:669,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:670,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:671,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:675,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:675,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:676,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:677,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:678,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:680,1
    - Dst: sh_find_my_buddy
      Src: /src/openssl/crypto/mem_sec.c:680,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:685,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:685,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:686,1
    - Dst: sh_remove_from_list
      Src: /src/openssl/crypto/mem_sec.c:687,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:689,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:689,1
    - Dst: memset
      Src: /src/openssl/crypto/mem_sec.c:692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 695
    functionName: sh_malloc
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 1
    functionsReached:
    - memset
    - sh_find_my_buddy
    - OPENSSL_assert
    - sh_add_to_list
    - sh_setbit
    - sh_testbit
    - sh_clearbit
    - WITHIN_ARENA
    - sh_remove_from_list
    linkageType: ''
    returnType: void
    signature: void *sh_malloc(size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:704,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:704,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:705,1
    - Dst: sh_getlist
      Src: /src/openssl/crypto/mem_sec.c:708,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:709,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:709,1
    - Dst: sh_clearbit
      Src: /src/openssl/crypto/mem_sec.c:710,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:711,1
    - Dst: sh_find_my_buddy
      Src: /src/openssl/crypto/mem_sec.c:714,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:715,1
    - Dst: sh_find_my_buddy
      Src: /src/openssl/crypto/mem_sec.c:715,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:716,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:717,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:717,1
    - Dst: sh_clearbit
      Src: /src/openssl/crypto/mem_sec.c:718,1
    - Dst: sh_remove_from_list
      Src: /src/openssl/crypto/mem_sec.c:719,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:720,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:720,1
    - Dst: sh_clearbit
      Src: /src/openssl/crypto/mem_sec.c:721,1
    - Dst: sh_remove_from_list
      Src: /src/openssl/crypto/mem_sec.c:722,1
    - Dst: memset
      Src: /src/openssl/crypto/mem_sec.c:727,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:731,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:731,1
    - Dst: sh_setbit
      Src: /src/openssl/crypto/mem_sec.c:732,1
    - Dst: sh_add_to_list
      Src: /src/openssl/crypto/mem_sec.c:733,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 736
    functionName: sh_free
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 2
    functionsReached:
    - memset
    - sh_find_my_buddy
    - OPENSSL_assert
    - sh_add_to_list
    - sh_setbit
    - sh_testbit
    - WITHIN_ARENA
    - sh_clearbit
    - sh_getlist
    - sh_remove_from_list
    linkageType: ''
    returnType: void
    signature: void sh_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:742,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:742,1
    - Dst: WITHIN_ARENA
      Src: /src/openssl/crypto/mem_sec.c:743,1
    - Dst: sh_getlist
      Src: /src/openssl/crypto/mem_sec.c:745,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/mem_sec.c:746,1
    - Dst: sh_testbit
      Src: /src/openssl/crypto/mem_sec.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 748
    functionName: sh_actual_size
    functionSourceFile: /src/openssl/crypto/mem_sec.c
    functionUses: 4
    functionsReached:
    - sh_getlist
    - OPENSSL_assert
    - sh_testbit
    - WITHIN_ARENA
    linkageType: ''
    returnType: size_t
    signature: size_t sh_actual_size(char *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - key
    - base
    - num
    - size
    - flags
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 44
    functionName: ossl_bsearch
    functionSourceFile: /src/openssl/crypto/bsearch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *ossl_bsearch(const void *key, const void *base, int num,\n                         int
      size, int (*cmp) (const void *, const void *),\n                         int
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/crypto/packet.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - len
    - allocbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: WPACKET_allocate_bytes
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 1
    functionsReached:
    - WPACKET_reserve_bytes
    linkageType: ''
    returnType: int
    signature: int WPACKET_allocate_bytes(WPACKET *pkt, size_t len, unsigned char
      **allocbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_len__
      Src: /src/openssl/crypto/packet.c:32,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:33,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/packet.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - pkt
    - len
    - allocbytes
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: WPACKET_sub_allocate_bytes__
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_close
    - WPACKET_start_sub_packet_len__
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: "int WPACKET_sub_allocate_bytes__(WPACKET *pkt, size_t len,\n                                 unsigned
      char **allocbytes, size_t lenbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: GETBUF
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETBUF(p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:49,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/packet.c:68,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/crypto/packet.c:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - pkt
    - len
    - allocbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 78
    functionName: WPACKET_reserve_bytes
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 1
    functionsReached:
    - WPACKET_get_curr
    - ossl_assert
    - BUF_MEM_grow
    linkageType: ''
    returnType: int
    signature: int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/crypto/packet.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - pkt
    - len
    - allocbytes
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: WPACKET_sub_reserve_bytes__
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_reserve_bytes
    linkageType: ''
    returnType: int
    signature: "int WPACKET_sub_reserve_bytes__(WPACKET *pkt, size_t len,\n                                unsigned
      char **allocbytes, size_t lenbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - lenbytes
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: maxmaxsize
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t maxmaxsize(size_t lenbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/packet.c:110,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/packet.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: wpacket_intern_init_len
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int wpacket_intern_init_len(WPACKET *pkt, size_t lenbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: maxmaxsize
      Src: /src/openssl/crypto/packet.c:132,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:135,1
    - Dst: wpacket_intern_init_len
      Src: /src/openssl/crypto/packet.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pkt
    - buf
    - len
    - lenbytes
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: WPACKET_init_static_len
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - maxmaxsize
    - wpacket_intern_init_len
    linkageType: ''
    returnType: int
    signature: "int WPACKET_init_static_len(WPACKET *pkt, unsigned char *buf, size_t
      len,\n                            size_t lenbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:149,1
    - Dst: wpacket_intern_init_len
      Src: /src/openssl/crypto/packet.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pkt
    - buf
    - len
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: WPACKET_init_der
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - wpacket_intern_init_len
    linkageType: ''
    returnType: int
    signature: int WPACKET_init_der(WPACKET *pkt, unsigned char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:163,1
    - Dst: maxmaxsize
      Src: /src/openssl/crypto/packet.c:168,1
    - Dst: wpacket_intern_init_len
      Src: /src/openssl/crypto/packet.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pkt
    - buf
    - lenbytes
    argTypes:
    - WPACKET*
    - BUF_MEM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: WPACKET_init_len
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - maxmaxsize
    - wpacket_intern_init_len
    linkageType: ''
    returnType: int
    signature: int WPACKET_init_len(WPACKET *pkt, BUF_MEM *buf, size_t lenbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_len
      Src: /src/openssl/crypto/packet.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - buf
    argTypes:
    - WPACKET*
    - BUF_MEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: WPACKET_init
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_init_len
    linkageType: ''
    returnType: int
    signature: int WPACKET_init(WPACKET *pkt, BUF_MEM *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: maxmaxsize
      Src: /src/openssl/crypto/packet.c:183,1
    - Dst: wpacket_intern_init_len
      Src: /src/openssl/crypto/packet.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: WPACKET_init_null
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - maxmaxsize
    - wpacket_intern_init_len
    linkageType: ''
    returnType: int
    signature: int WPACKET_init_null(WPACKET *pkt, size_t lenbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wpacket_intern_init_len
      Src: /src/openssl/crypto/packet.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: WPACKET_init_null_der
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - wpacket_intern_init_len
    linkageType: ''
    returnType: int
    signature: int WPACKET_init_null_der(WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - flags
    argTypes:
    - WPACKET*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: WPACKET_set_flags
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int WPACKET_set_flags(WPACKET *pkt, unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - value
    - len
    argTypes:
    - unsigned char*
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: put_value
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int put_value(unsigned char *data, uint64_t value, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/crypto/packet.c:236,1
    - Dst: ossl_quic_vlint_encode_n
      Src: /src/openssl/crypto/packet.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - data
    - value
    - len
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: put_quic_value
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_quic_vlint_encode_len
    - ossl_quic_vlint_encode_n
    linkageType: ''
    returnType: int
    signature: int put_quic_value(unsigned char *data, size_t value, size_t len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GETBUF
      Src: /src/openssl/crypto/packet.c:277,1
    - Dst: put_value
      Src: /src/openssl/crypto/packet.c:282,1
    - Dst: put_quic_value
      Src: /src/openssl/crypto/packet.c:285,1
    - Dst: put_value
      Src: /src/openssl/crypto/packet.c:289,1
    - Dst: WPACKET_put_bytes__
      Src: /src/openssl/crypto/packet.c:302,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/packet.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/packet.c:313,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 3
    argNames:
    - pkt
    - sub
    - doclose
    argTypes:
    - WPACKET*
    - WPACKET_SUB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 317
    functionName: wpacket_intern_close
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u8
    - GETBUF
    - WPACKET_put_bytes__
    - OPENSSL_free
    - put_value
    - put_quic_value
    linkageType: ''
    returnType: int
    signature: int wpacket_intern_close(WPACKET *pkt, WPACKET_SUB *sub, int doclose)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:323,1
    - Dst: wpacket_intern_close
      Src: /src/openssl/crypto/packet.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 332
    functionName: WPACKET_fill_lengths
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - wpacket_intern_close
    linkageType: ''
    returnType: int
    signature: int WPACKET_fill_lengths(WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wpacket_intern_close
      Src: /src/openssl/crypto/packet.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: WPACKET_close
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 7
    functionsReached:
    - wpacket_intern_close
    linkageType: ''
    returnType: int
    signature: int WPACKET_close(WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wpacket_intern_close
      Src: /src/openssl/crypto/packet.c:357,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/packet.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: WPACKET_finish
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - wpacket_intern_close
    linkageType: ''
    returnType: int
    signature: int WPACKET_finish(WPACKET *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:372,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/packet.c:379,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pkt
    - lenbytes
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 398
    functionName: WPACKET_start_sub_packet_len__
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - OPENSSL_zalloc
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int WPACKET_start_sub_packet_len__(WPACKET *pkt, size_t lenbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_len__
      Src: /src/openssl/crypto/packet.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: WPACKET_start_sub_packet
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 6
    functionsReached:
    - WPACKET_start_sub_packet_len__
    linkageType: ''
    returnType: int
    signature: int WPACKET_start_sub_packet(WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:410,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:411,1
    - Dst: put_value
      Src: /src/openssl/crypto/packet.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - val
    - size
    argTypes:
    - WPACKET*
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: WPACKET_put_bytes__
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    - put_value
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int WPACKET_put_bytes__(WPACKET *pkt, uint64_t val, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:424,1
    - Dst: maxmaxsize
      Src: /src/openssl/crypto/packet.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - maxsize
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 441
    functionName: WPACKET_set_max_size
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - maxmaxsize
    linkageType: ''
    returnType: int
    signature: int WPACKET_set_max_size(WPACKET *pkt, size_t maxsize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:450,1
    - Dst: memset
      Src: /src/openssl/crypto/packet.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pkt
    - ch
    - len
    argTypes:
    - WPACKET*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 457
    functionName: WPACKET_memset
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - memset
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int WPACKET_memset(WPACKET *pkt, int ch, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:466,1
    - Dst: memcpy
      Src: /src/openssl/crypto/packet.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pkt
    - src
    - len
    argTypes:
    - WPACKET*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: WPACKET_memcpy
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 2
    functionsReached:
    - memcpy
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int WPACKET_memcpy(WPACKET *pkt, const void *src, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_len__
      Src: /src/openssl/crypto/packet.c:478,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/packet.c:479,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/packet.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - pkt
    - src
    - len
    - lenbytes
    argTypes:
    - WPACKET*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: WPACKET_sub_memcpy__
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_close
    - WPACKET_start_sub_packet_len__
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int WPACKET_sub_memcpy__(WPACKET *pkt, const void *src, size_t len,\n
      \                        size_t lenbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - written
    argTypes:
    - WPACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: WPACKET_get_total_written
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int WPACKET_get_total_written(WPACKET *pkt, size_t *written)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/packet.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - WPACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 506
    functionName: WPACKET_get_length
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int WPACKET_get_length(WPACKET *pkt, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GETBUF
      Src: /src/openssl/crypto/packet.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 519
    functionName: WPACKET_get_curr
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 1
    functionsReached:
    - GETBUF
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *WPACKET_get_curr(WPACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: WPACKET_is_null_buf
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int WPACKET_is_null_buf(WPACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/packet.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 535
    functionName: WPACKET_cleanup
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void WPACKET_cleanup(WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/crypto/packet.c:541,1
    - Dst: WPACKET_start_sub_packet_len__
      Src: /src/openssl/crypto/packet.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - max_len
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 551
    functionName: WPACKET_start_quic_sub_packet_bound
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_quic_vlint_encode_len
    - WPACKET_start_sub_packet_len__
    linkageType: ''
    returnType: int
    signature: int WPACKET_start_quic_sub_packet_bound(WPACKET *pkt, size_t max_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/crypto/packet.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: WPACKET_start_quic_sub_packet
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_quic_sub_packet_bound
    linkageType: ''
    returnType: int
    signature: int WPACKET_start_quic_sub_packet(WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/crypto/packet.c:564,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:565,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/packet.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - len
    - allocbytes
    argTypes:
    - WPACKET*
    - size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 4
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: WPACKET_quic_sub_allocate_bytes
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_quic_sub_packet_bound
    - WPACKET_close
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int WPACKET_quic_sub_allocate_bytes(WPACKET *pkt, size_t len, unsigned
      char **allocbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/crypto/packet.c:578,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/packet.c:583,1
    - Dst: ossl_quic_vlint_encode
      Src: /src/openssl/crypto/packet.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - v
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 588
    functionName: WPACKET_quic_write_vlint
    functionSourceFile: /src/openssl/crypto/packet.c
    functionUses: 0
    functionsReached:
    - ossl_quic_vlint_encode_len
    - WPACKET_allocate_bytes
    - ossl_quic_vlint_encode
    linkageType: ''
    returnType: int
    signature: int WPACKET_quic_write_vlint(WPACKET *pkt, uint64_t v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: struct algorithm_data_st*::reserve_store
      Src: /src/openssl/crypto/core_algorithm.c:48,1
    - Dst: struct algorithm_data_st*::pre
      Src: /src/openssl/crypto/core_algorithm.c:56,1
    - Dst: struct algorithm_data_st*::fn
      Src: /src/openssl/crypto/core_algorithm.c:77,1
    - Dst: struct algorithm_data_st*::post
      Src: /src/openssl/crypto/core_algorithm.c:84,1
    - Dst: struct algorithm_data_st*::unreserve_store
      Src: /src/openssl/crypto/core_algorithm.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - provider
    - map
    - cur_operation
    - no_store
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_ALGORITHM*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 94
    functionName: algorithm_do_map
    functionSourceFile: /src/openssl/crypto/core_algorithm.c
    functionUses: 0
    functionsReached:
    - struct algorithm_data_st*::fn
    - struct algorithm_data_st*::pre
    - struct algorithm_data_st*::post
    - struct algorithm_data_st*::reserve_store
    - struct algorithm_data_st*::unreserve_store
    linkageType: ''
    returnType: int
    signature: "int algorithm_do_map(OSSL_PROVIDER *provider, const OSSL_ALGORITHM
      *map,\n                            int cur_operation, int no_store, void *cbdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_query_operation
      Src: /src/openssl/crypto/core_algorithm.c:120,1
    - Dst: algorithm_do_map
      Src: /src/openssl/crypto/core_algorithm.c:122,1
    - Dst: ossl_provider_unquery_operation
      Src: /src/openssl/crypto/core_algorithm.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - provider
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: algorithm_do_this
    functionSourceFile: /src/openssl/crypto/core_algorithm.c
    functionUses: 0
    functionsReached:
    - ossl_provider_query_operation
    - algorithm_do_map
    - ossl_provider_unquery_operation
    linkageType: ''
    returnType: int
    signature: int algorithm_do_this(OSSL_PROVIDER *provider, void *cbdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_doall_activated
      Src: /src/openssl/crypto/core_algorithm.c:162,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/core_algorithm.c:164,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/core_algorithm.c:171,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/core_algorithm.c:171,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/core_algorithm.c:172,1
    - Dst: algorithm_do_this
      Src: /src/openssl/crypto/core_algorithm.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - libctx
    - operation_id
    - provider
    - data
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 178
    functionName: ossl_algorithm_do_all
    functionSourceFile: /src/openssl/crypto/core_algorithm.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_lib_ctx_get_concrete
    - ossl_provider_libctx
    - algorithm_do_this
    - ossl_provider_doall_activated
    linkageType: ''
    returnType: void
    signature: "void ossl_algorithm_do_all(OSSL_LIB_CTX *libctx, int operation_id,\n
      \                          OSSL_PROVIDER *provider,\n                           int
      (*pre)(OSSL_PROVIDER *, int operation_id,\n                                      int
      no_store, void *data, int *result),\n                           int (*reserve_store)(int
      no_store, void *data),\n                           void (*fn)(OSSL_PROVIDER
      *provider,\n                                      const OSSL_ALGORITHM *algo,\n
      \                                     int no_store, void *data),\n                           int
      (*unreserve_store)(void *data),\n                           int (*post)(OSSL_PROVIDER
      *, int operation_id,\n                                       int no_store, void
      *data, int *result),\n                           void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/core_algorithm.c:189,1
    - Dst: strlen
      Src: /src/openssl/crypto/core_algorithm.c:191,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/core_algorithm.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - algo
    argTypes:
    - OSSL_ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: ossl_algorithm_get1_first_name
    functionSourceFile: /src/openssl/crypto/core_algorithm.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    - OPENSSL_strndup
    linkageType: ''
    returnType: char
    signature: char *ossl_algorithm_get1_first_name(const OSSL_ALGORITHM *algo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsProcessorFeaturePresent
      Src: /src/openssl/crypto/armcap.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - IsProcessorFeaturePresent
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OPENSSL_rdtsc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OPENSSL_rdtsc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/openssl/crypto/armcap.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: getauxval
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getauxval(unsigned long key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _armv7_tick
      Src: /src/openssl/crypto/armcap.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - _armv7_tick
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OPENSSL_rdtsc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/openssl/crypto/armcap.c:168,1
    - Dst: usleep
      Src: /src/openssl/crypto/armcap.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: OPENSSL_rndr_wrapper
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - usleep
    - func
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_rndr_wrapper(size_t (*func)(unsigned char *, size_t),
      unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rndr_wrapper
      Src: /src/openssl/crypto/armcap.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: OPENSSL_rndr_bytes
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - OPENSSL_rndr_wrapper
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_rndr_bytes(unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rndr_wrapper
      Src: /src/openssl/crypto/armcap.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: OPENSSL_rndrrs_bytes
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - OPENSSL_rndr_wrapper
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_rndrrs_bytes(unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/openssl/crypto/armcap.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: ill_handler
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: void ill_handler(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/armcap.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: sysctl_query
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sysctl_query(const char *name, unsigned int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/armcap.c:237,1
    - Dst: probe
      Src: /src/openssl/crypto/armcap.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: arm_probe_for
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - probe
    - sigsetjmp
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int arm_probe_for(void (*probe)(void), volatile unsigned int
      value)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/crypto/armcap.c:262,1
    - Dst: strtoul
      Src: /src/openssl/crypto/armcap.c:263,1
    - Dst: sysctl_query
      Src: /src/openssl/crypto/armcap.c:289,1
    - Dst: sysctl_query
      Src: /src/openssl/crypto/armcap.c:290,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/armcap.c:296,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:297,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:298,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:299,1
    - Dst: strncmp
      Src: /src/openssl/crypto/armcap.c:300,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:310,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:311,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:344,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:347,1
    - Dst: getauxval
      Src: /src/openssl/crypto/armcap.c:350,1
    - Dst: sigfillset
      Src: /src/openssl/crypto/armcap.c:358,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:359,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:360,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:361,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:362,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/armcap.c:363,1
    - Dst: memset
      Src: /src/openssl/crypto/armcap.c:365,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/armcap.c:369,1
    - Dst: sigaction
      Src: /src/openssl/crypto/armcap.c:370,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:372,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:376,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:378,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:381,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:382,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:385,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:386,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:387,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:388,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:392,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:393,1
    - Dst: arm_probe_for
      Src: /src/openssl/crypto/armcap.c:394,1
    - Dst: sigaction
      Src: /src/openssl/crypto/armcap.c:403,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/armcap.c:404,1
    - Dst: _armv8_cpuid_probe
      Src: /src/openssl/crypto/armcap.c:410,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:412,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:413,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:417,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:418,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:419,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:420,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:421,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:422,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:423,1
    - Dst: MIDR_IMPLEMENTER
      Src: /src/openssl/crypto/armcap.c:424,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:427,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:428,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:429,1
    - Dst: MIDR_IMPLEMENTER
      Src: /src/openssl/crypto/armcap.c:430,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:433,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:434,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:435,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:436,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:437,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:438,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:439,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:440,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:441,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:442,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:443,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:444,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/crypto/armcap.c:445,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 449
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/armcap.c
    functionUses: 0
    functionsReached:
    - memset
    - MIDR_IMPLEMENTER
    - MIDR_IS_CPU_MODEL
    - _armv8_cpuid_probe
    - strtoul
    - sigprocmask
    - getauxval
    - strncmp
    - sigdelset
    - sigfillset
    - sigaction
    - sysctlbyname
    - getenv
    - sysctl_query
    - arm_probe_for
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/openssl/crypto/loongarchcap.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/loongarchcap.c
    functionUses: 0
    functionsReached:
    - getauxval
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fab
    - ','
    - naml
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: FAB_OR_NAML
    functionSourceFile: /src/openssl/crypto/vms_rms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAB_OR_NAML( fab, naml)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: SET_NAMX_NO_SHORT_UPCASE
    functionSourceFile: /src/openssl/crypto/vms_rms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_NAMX_NO_SHORT_UPCASE( nam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: NAMX_DNA_FNA_SET
    functionSourceFile: /src/openssl/crypto/vms_rms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAMX_DNA_FNA_SET(fab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: NAMX_DNA_FNA_SET
    functionSourceFile: /src/openssl/crypto/vms_rms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAMX_DNA_FNA_SET(fab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fab
    - ','
    - naml
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: FAB_OR_NAML
    functionSourceFile: /src/openssl/crypto/vms_rms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAB_OR_NAML( fab, naml)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: SET_NAMX_NO_SHORT_UPCASE
    functionSourceFile: /src/openssl/crypto/vms_rms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_NAMX_NO_SHORT_UPCASE( nam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OPENSSL_rdtsc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - cnt
    argTypes:
    - unsigned int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: OPENSSL_instrument_bus
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_instrument_bus(unsigned int *out, size_t cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - cnt
    - max
    argTypes:
    - unsigned int*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: OPENSSL_instrument_bus2
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_instrument_bus2(unsigned int *out, size_t cnt, size_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/openssl/crypto/riscvcap.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: strtoupper
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - toupper
    linkageType: ''
    returnType: void
    signature: void strtoupper(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/riscvcap.c:71,1
    - Dst: strtoupper
      Src: /src/openssl/crypto/riscvcap.c:72,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/riscvcap.c:76,1
    - Dst: strstr
      Src: /src/openssl/crypto/riscvcap.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - envstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: parse_env
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - OPENSSL_strlcpy
    - strtoupper
    - strstr
    linkageType: ''
    returnType: void
    signature: void parse_env(const char *envstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/openssl/crypto/riscvcap.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pairs
    - pair_count
    - cpu_count
    - cpus
    - flags
    argTypes:
    - struct riscv_hwprobe*
    - size_t
    - size_t
    - unsigned long*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: riscv_hwprobe
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: long
    signature: "long riscv_hwprobe(struct riscv_hwprobe *pairs, size_t pair_count,\n
      \                         size_t cpu_count, unsigned long *cpus,\n                          unsigned
      int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: riscv_hwprobe
      Src: /src/openssl/crypto/riscvcap.c:100,1
    - Dst: IS_IN_DEPEND_VECTOR
      Src: /src/openssl/crypto/riscvcap.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: hwprobe_to_cap
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - IS_IN_DEPEND_VECTOR
    - riscv_hwprobe
    linkageType: ''
    returnType: void
    signature: void hwprobe_to_cap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: riscv_vlen
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t riscv_vlen(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/crypto/riscvcap.c:132,1
    - Dst: parse_env
      Src: /src/openssl/crypto/riscvcap.c:133,1
    - Dst: getauxval
      Src: /src/openssl/crypto/riscvcap.c:137,1
    - Dst: hwprobe_to_cap
      Src: /src/openssl/crypto/riscvcap.c:138,1
    - Dst: RISCV_HAS_V
      Src: /src/openssl/crypto/riscvcap.c:142,1
    - Dst: riscv_vlen_asm
      Src: /src/openssl/crypto/riscvcap.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 145
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/riscvcap.c
    functionUses: 0
    functionsReached:
    - RISCV_HAS_V
    - hwprobe_to_cap
    - riscv_vlen_asm
    - getauxval
    - parse_env
    - getenv
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/crypto/LPdir_unix.c:96,1
    - Dst: memset
      Src: /src/openssl/crypto/LPdir_unix.c:101,1
    - Dst: strlen
      Src: /src/openssl/crypto/LPdir_unix.c:105,1
    - Dst: opendir
      Src: /src/openssl/crypto/LPdir_unix.c:112,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_unix.c:115,1
    - Dst: strncpy
      Src: /src/openssl/crypto/LPdir_unix.c:123,1
    - Dst: readdir
      Src: /src/openssl/crypto/LPdir_unix.c:129,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/LPdir_unix.c:134,1
    - Dst: strlen
      Src: /src/openssl/crypto/LPdir_unix.c:138,1
    - Dst: isdigit
      Src: /src/openssl/crypto/LPdir_unix.c:140,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/LPdir_unix.c:144,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 150
    functionName: LP_find_file
    functionSourceFile: /src/openssl/crypto/LPdir_unix.c
    functionUses: 0
    functionsReached:
    - free
    - strncpy
    - readdir
    - memset
    - OPENSSL_strcasecmp
    - OPENSSL_strlcpy
    - opendir
    - malloc
    - isdigit
    - strlen
    linkageType: ''
    returnType: char
    signature: char *LP_find_file(LP_DIR_CTX **ctx, const char *directory)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/openssl/crypto/LPdir_unix.c:155,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_unix.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: LP_find_file_end
    functionSourceFile: /src/openssl/crypto/LPdir_unix.c
    functionUses: 0
    functionsReached:
    - closedir
    - free
    linkageType: ''
    returnType: int
    signature: int LP_find_file_end(LP_DIR_CTX **ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: OPENSSL_init
    functionSourceFile: /src/openssl/crypto/o_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:60,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/context.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: ossl_lib_ctx_write_lock
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_write_lock(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:67,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/context.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: ossl_lib_ctx_read_lock
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_read_lock(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:74,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/context.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: ossl_lib_ctx_unlock
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_unlock(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: ossl_lib_ctx_is_child
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_is_child(OSSL_LIB_CTX *ctx)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/context.c:94,1
    - Dst: ossl_do_ex_data_init
      Src: /src/openssl/crypto/context.c:99,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/context.c:104,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/context.c:107,1
    - Dst: ossl_prov_conf_ctx_new
      Src: /src/openssl/crypto/context.c:111,1
    - Dst: ossl_rand_ctx_new
      Src: /src/openssl/crypto/context.c:117,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/context.c:126,1
    - Dst: ossl_decoder_cache_new
      Src: /src/openssl/crypto/context.c:129,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/context.c:134,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/context.c:139,1
    - Dst: ossl_provider_store_new
      Src: /src/openssl/crypto/context.c:145,1
    - Dst: ossl_property_string_data_new
      Src: /src/openssl/crypto/context.c:150,1
    - Dst: ossl_stored_namemap_new
      Src: /src/openssl/crypto/context.c:154,1
    - Dst: ossl_property_defns_new
      Src: /src/openssl/crypto/context.c:158,1
    - Dst: ossl_ctx_global_properties_new
      Src: /src/openssl/crypto/context.c:162,1
    - Dst: ossl_bio_core_globals_new
      Src: /src/openssl/crypto/context.c:167,1
    - Dst: ossl_prov_drbg_nonce_ctx_new
      Src: /src/openssl/crypto/context.c:172,1
    - Dst: ossl_self_test_set_callback_new
      Src: /src/openssl/crypto/context.c:177,1
    - Dst: ossl_indicator_set_callback_new
      Src: /src/openssl/crypto/context.c:180,1
    - Dst: ossl_thread_event_ctx_new
      Src: /src/openssl/crypto/context.c:186,1
    - Dst: ossl_fips_prov_ossl_ctx_new
      Src: /src/openssl/crypto/context.c:189,1
    - Dst: ossl_threads_ctx_new
      Src: /src/openssl/crypto/context.c:195,1
    - Dst: ossl_child_prov_ctx_new
      Src: /src/openssl/crypto/context.c:202,1
    - Dst: ossl_property_parse_init
      Src: /src/openssl/crypto/context.c:208,1
    - Dst: ossl_load_builtin_compressions
      Src: /src/openssl/crypto/context.c:212,1
    - Dst: context_deinit_objs
      Src: /src/openssl/crypto/context.c:218,1
    - Dst: ossl_crypto_cleanup_all_ex_data_int
      Src: /src/openssl/crypto/context.c:221,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/context.c:223,1
    - Dst: memset
      Src: /src/openssl/crypto/context.c:224,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 102
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 226
    functionName: context_init
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - context_deinit_objs
    - ossl_property_parse_init
    - ossl_child_prov_ctx_new
    - ossl_rand_ctx_new
    - ossl_bio_core_globals_new
    - ossl_stored_namemap_new
    - ossl_thread_event_ctx_new
    - ossl_fips_prov_ossl_ctx_new
    - ossl_indicator_set_callback_new
    - ossl_self_test_set_callback_new
    - ossl_decoder_cache_new
    - ossl_ctx_global_properties_new
    - ossl_property_defns_new
    - ossl_threads_ctx_new
    - ossl_load_builtin_compressions
    - ossl_prov_drbg_nonce_ctx_new
    - OSSL_TRACE1
    - CRYPTO_THREAD_lock_new
    - ossl_provider_store_new
    - ossl_crypto_cleanup_all_ex_data_int
    - memset
    - ossl_prov_conf_ctx_new
    - CRYPTO_THREAD_lock_free
    - ossl_do_ex_data_init
    - ossl_method_store_new
    - ossl_property_string_data_new
    linkageType: ''
    returnType: int
    signature: int context_init(OSSL_LIB_CTX *ctx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/context.c:232,1
    - Dst: ossl_rand_ctx_free
      Src: /src/openssl/crypto/context.c:238,1
    - Dst: ossl_prov_conf_ctx_free
      Src: /src/openssl/crypto/context.c:245,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/context.c:254,1
    - Dst: ossl_decoder_cache_free
      Src: /src/openssl/crypto/context.c:258,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/context.c:265,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/context.c:271,1
    - Dst: ossl_provider_store_free
      Src: /src/openssl/crypto/context.c:278,1
    - Dst: ossl_property_string_data_free
      Src: /src/openssl/crypto/context.c:284,1
    - Dst: ossl_stored_namemap_free
      Src: /src/openssl/crypto/context.c:289,1
    - Dst: ossl_property_defns_free
      Src: /src/openssl/crypto/context.c:294,1
    - Dst: ossl_ctx_global_properties_free
      Src: /src/openssl/crypto/context.c:299,1
    - Dst: ossl_bio_core_globals_free
      Src: /src/openssl/crypto/context.c:305,1
    - Dst: ossl_prov_drbg_nonce_ctx_free
      Src: /src/openssl/crypto/context.c:311,1
    - Dst: ossl_indicator_set_callback_free
      Src: /src/openssl/crypto/context.c:317,1
    - Dst: ossl_self_test_set_callback_free
      Src: /src/openssl/crypto/context.c:322,1
    - Dst: ossl_thread_event_ctx_free
      Src: /src/openssl/crypto/context.c:328,1
    - Dst: ossl_fips_prov_ossl_ctx_free
      Src: /src/openssl/crypto/context.c:331,1
    - Dst: ossl_threads_ctx_free
      Src: /src/openssl/crypto/context.c:338,1
    - Dst: ossl_child_prov_ctx_free
      Src: /src/openssl/crypto/context.c:346,1
    - Dst: ossl_free_compression_methods_int
      Src: /src/openssl/crypto/context.c:353,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 82
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 358
    functionName: context_deinit_objs
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 1
    functionsReached:
    - ossl_rand_ctx_free
    - ossl_indicator_set_callback_free
    - ossl_prov_drbg_nonce_ctx_free
    - ossl_bio_core_globals_free
    - ossl_provider_store_free
    - ossl_property_defns_free
    - ossl_ctx_global_properties_free
    - ossl_prov_conf_ctx_free
    - ossl_threads_ctx_free
    - ossl_child_prov_ctx_free
    - ossl_free_compression_methods_int
    - ossl_method_store_free
    - ossl_stored_namemap_free
    - ossl_self_test_set_callback_free
    - ossl_decoder_cache_free
    - ossl_thread_event_ctx_free
    - ossl_property_string_data_free
    - ossl_fips_prov_ossl_ctx_free
    linkageType: ''
    returnType: void
    signature: void context_deinit_objs(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_thread_stop
      Src: /src/openssl/crypto/context.c:365,1
    - Dst: context_deinit_objs
      Src: /src/openssl/crypto/context.c:367,1
    - Dst: ossl_crypto_cleanup_all_ex_data_int
      Src: /src/openssl/crypto/context.c:369,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/context.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 374
    functionName: context_deinit
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - context_deinit_objs
    - CRYPTO_THREAD_lock_free
    - ossl_ctx_thread_stop
    - ossl_crypto_cleanup_all_ex_data_int
    linkageType: ''
    returnType: int
    signature: int context_deinit(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/crypto/context.c:386,1
    - Dst: context_init
      Src: /src/openssl/crypto/context.c:389,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/crypto/context.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_cleanup_local
    - context_init
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(default_context_do_init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: context_deinit
      Src: /src/openssl/crypto/context.c:405,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/crypto/context.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: ossl_lib_ctx_default_deinit
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_cleanup_local
    - context_deinit
    linkageType: ''
    returnType: void
    signature: void ossl_lib_ctx_default_deinit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/context.c:412,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/context.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: get_thread_default_context
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *get_thread_default_context(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_thread_default_context
      Src: /src/openssl/crypto/context.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: get_default_context
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - get_thread_default_context
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *get_default_context(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/context.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - defctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: set_default_context
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local
    linkageType: ''
    returnType: int
    signature: int set_default_context(OSSL_LIB_CTX *defctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/context.c:438,1
    - Dst: context_init
      Src: /src/openssl/crypto/context.c:440,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/context.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: OSSL_LIB_CTX_new
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - context_init
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *OSSL_LIB_CTX_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/crypto/context.c:451,1
    - Dst: ossl_bio_init_core
      Src: /src/openssl/crypto/context.c:456,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/crypto/context.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - in
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 448
    functionDepth: 4
    functionLinenumber: 448
    functionLinenumberEnd: 462
    functionName: OSSL_LIB_CTX_new_from_dispatch
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_bio_init_core
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: "OSSL_LIB_CTX *OSSL_LIB_CTX_new_from_dispatch(const OSSL_CORE_HANDLE
      *handle,\n                                             const OSSL_DISPATCH *in)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new_from_dispatch
      Src: /src/openssl/crypto/context.c:467,1
    - Dst: ossl_provider_init_as_child
      Src: /src/openssl/crypto/context.c:472,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/crypto/context.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - in
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 464
    functionDepth: 5
    functionLinenumber: 464
    functionLinenumberEnd: 479
    functionName: OSSL_LIB_CTX_new_child
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new_from_dispatch
    - OSSL_LIB_CTX_free
    - ossl_provider_init_as_child
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: "OSSL_LIB_CTX *OSSL_LIB_CTX_new_child(const OSSL_CORE_HANDLE *handle,\n
      \                                    const OSSL_DISPATCH *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_modules_load_file_ex
      Src: /src/openssl/crypto/context.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - config_file
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: OSSL_LIB_CTX_load_config
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - CONF_modules_load_file_ex
    linkageType: ''
    returnType: int
    signature: int OSSL_LIB_CTX_load_config(OSSL_LIB_CTX *ctx, const char *config_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_is_default
      Src: /src/openssl/crypto/context.c:489,1
    - Dst: ossl_provider_deinit_child
      Src: /src/openssl/crypto/context.c:494,1
    - Dst: context_deinit
      Src: /src/openssl/crypto/context.c:496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/context.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 498
    functionName: OSSL_LIB_CTX_free
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 2
    functionsReached:
    - ossl_provider_deinit_child
    - context_deinit
    - OPENSSL_free
    - ossl_lib_ctx_is_default
    linkageType: ''
    returnType: void
    signature: void OSSL_LIB_CTX_free(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/context.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: OSSL_LIB_CTX_get0_global_default
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *OSSL_LIB_CTX_get0_global_default(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_default_context
      Src: /src/openssl/crypto/context.c:513,1
    - Dst: set_default_context
      Src: /src/openssl/crypto/context.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 520
    functionName: OSSL_LIB_CTX_set0_default
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - set_default_context
    - get_default_context
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *OSSL_LIB_CTX_set0_default(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_ctx_free
      Src: /src/openssl/crypto/context.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: ossl_release_default_drbg_ctx
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_rand_ctx_free
    linkageType: ''
    returnType: void
    signature: void ossl_release_default_drbg_ctx(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_default_context
      Src: /src/openssl/crypto/context.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: ossl_lib_ctx_get_concrete
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 8
    functionsReached:
    - get_default_context
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_lib_ctx_get_concrete(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_default_context
      Src: /src/openssl/crypto/context.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: ossl_lib_ctx_is_default
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 1
    functionsReached:
    - get_default_context
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_is_default(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 4
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: ossl_lib_ctx_is_global_default
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: int
    signature: int ossl_lib_ctx_is_global_default(OSSL_LIB_CTX *ctx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 48
    argCount: 2
    argNames:
    - ctx
    - index
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 559
    functionDepth: 4
    functionLinenumber: 559
    functionLinenumberEnd: 618
    functionName: ossl_lib_ctx_get_data
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 1
    functionsReached:
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: void
    signature: void *ossl_lib_ctx_get_data(OSSL_LIB_CTX *ctx, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/context.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - index
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 5
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: OSSL_LIB_CTX_get_data
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: void
    signature: void *OSSL_LIB_CTX_get_data(OSSL_LIB_CTX *ctx, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 4
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: ossl_lib_ctx_get_ex_data_global
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 8
    functionsReached:
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: OSSL_EX_DATA_GLOBAL
    signature: OSSL_EX_DATA_GLOBAL *ossl_lib_ctx_get_ex_data_global(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_is_global_default
      Src: /src/openssl/crypto/context.c:638,1
    - Dst: ossl_lib_ctx_is_default
      Src: /src/openssl/crypto/context.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: ossl_lib_ctx_get_descriptor
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_is_global_default
    - ossl_lib_ctx_is_default
    linkageType: ''
    returnType: char
    signature: char *ossl_lib_ctx_get_descriptor(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: OSSL_LIB_CTX_get_conf_diagnostics
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: int
    signature: int OSSL_LIB_CTX_get_conf_diagnostics(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/context.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - libctx
    - value
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 660
    functionName: OSSL_LIB_CTX_set_conf_diagnostics
    functionSourceFile: /src/openssl/crypto/context.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    linkageType: ''
    returnType: void
    signature: void OSSL_LIB_CTX_set_conf_diagnostics(OSSL_LIB_CTX *libctx, int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/passphrase.c:20,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/openssl/crypto/passphrase.c:22,1
    - Dst: memset
      Src: /src/openssl/crypto/passphrase.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ossl_passphrase_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: ossl_pw_clear_passphrase_data
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_pw_clear_passphrase_cache
    - memset
    linkageType: ''
    returnType: void
    signature: void ossl_pw_clear_passphrase_data(struct ossl_passphrase_data_st *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/passphrase.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ossl_passphrase_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: ossl_pw_clear_passphrase_cache
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void ossl_pw_clear_passphrase_cache(struct ossl_passphrase_data_st
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/passphrase.c:37,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:38,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/passphrase.c:41,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/passphrase.c:44,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/passphrase.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - data
    - passphrase
    - passphrase_len
    argTypes:
    - struct ossl_passphrase_data_st*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: ossl_pw_set_passphrase
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OPENSSL_memdup
    - ossl_pw_clear_passphrase_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_pw_set_passphrase(struct ossl_passphrase_data_st *data,\n
      \                          const unsigned char *passphrase,\n                           size_t
      passphrase_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/passphrase.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:56,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/passphrase.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - data
    - cb
    - cbarg
    argTypes:
    - struct ossl_passphrase_data_st*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: ossl_pw_set_pem_password_cb
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_pw_clear_passphrase_data
    linkageType: ''
    returnType: int
    signature: "int ossl_pw_set_pem_password_cb(struct ossl_passphrase_data_st *data,\n
      \                               pem_password_cb *cb, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/passphrase.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:70,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/passphrase.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - data
    - cb
    - cbarg
    argTypes:
    - struct ossl_passphrase_data_st*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: ossl_pw_set_ossl_passphrase_cb
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_pw_clear_passphrase_data
    linkageType: ''
    returnType: int
    signature: "int ossl_pw_set_ossl_passphrase_cb(struct ossl_passphrase_data_st
      *data,\n                                   OSSL_PASSPHRASE_CALLBACK *cb, void
      *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/passphrase.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:84,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/passphrase.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - data
    - ui_method
    - ui_data
    argTypes:
    - struct ossl_passphrase_data_st*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: ossl_pw_set_ui_method
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_pw_clear_passphrase_data
    linkageType: ''
    returnType: int
    signature: "int ossl_pw_set_ui_method(struct ossl_passphrase_data_st *data,\n
      \                         const UI_METHOD *ui_method, void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ossl_passphrase_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: ossl_pw_enable_passphrase_caching
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_pw_enable_passphrase_caching(struct ossl_passphrase_data_st
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ossl_passphrase_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: ossl_pw_disable_passphrase_caching
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_pw_disable_passphrase_caching(struct ossl_passphrase_data_st
      *data)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/passphrase.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:126,1
    - Dst: UI_new
      Src: /src/openssl/crypto/passphrase.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:131,1
    - Dst: UI_set_method
      Src: /src/openssl/crypto/passphrase.c:136,1
    - Dst: UI_add_user_data
      Src: /src/openssl/crypto/passphrase.c:138,1
    - Dst: UI_construct_prompt
      Src: /src/openssl/crypto/passphrase.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:144,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/passphrase.c:149,1
    - Dst: UI_add_input_string
      Src: /src/openssl/crypto/passphrase.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:157,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/passphrase.c:163,1
    - Dst: UI_add_verify_string
      Src: /src/openssl/crypto/passphrase.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:171,1
    - Dst: UI_process
      Src: /src/openssl/crypto/passphrase.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:181,1
    - Dst: UI_get_result_length
      Src: /src/openssl/crypto/passphrase.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:186,1
    - Dst: memcpy
      Src: /src/openssl/crypto/passphrase.c:190,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/passphrase.c:196,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/passphrase.c:197,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/passphrase.c:198,1
    - Dst: UI_free
      Src: /src/openssl/crypto/passphrase.c:199,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 7
    argNames:
    - pass
    - pass_size
    - pass_len
    - prompt_info
    - verify
    - ui_method
    - ui_data
    argTypes:
    - char*
    - size_t
    - size_t*
    - char*
    - int
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 201
    functionName: do_ui_passphrase
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - UI_set_method
    - OPENSSL_zalloc
    - ERR_raise
    - UI_get_result_length
    - UI_free
    - UI_process
    - memcpy
    - OPENSSL_clear_free
    - OPENSSL_free
    - UI_construct_prompt
    - UI_new
    - UI_add_user_data
    - UI_add_input_string
    - UI_add_verify_string
    linkageType: ''
    returnType: int
    signature: "int do_ui_passphrase(char *pass, size_t pass_size, size_t *pass_len,\n
      \                           const char *prompt_info, int verify,\n                            const
      UI_METHOD *ui_method, void *ui_data)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/passphrase.c:230,1
    - Dst: cb
      Src: /src/openssl/crypto/passphrase.c:241,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/passphrase.c:247,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/passphrase.c:250,1
    - Dst: UI_UTIL_wrap_read_pem_callback
      Src: /src/openssl/crypto/passphrase.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/passphrase.c:266,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/passphrase.c:275,1
    - Dst: do_ui_passphrase
      Src: /src/openssl/crypto/passphrase.c:280,1
    - Dst: UI_destroy_method
      Src: /src/openssl/crypto/passphrase.c:283,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/crypto/passphrase.c:290,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/passphrase.c:295,1
    - Dst: memcpy
      Src: /src/openssl/crypto/passphrase.c:300,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 6
    argNames:
    - pass
    - pass_size
    - pass_len
    - params
    - verify
    - data
    argTypes:
    - char*
    - size_t
    - size_t*
    - OSSL_PARAM[]
    - int
    - struct ossl_passphrase_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 306
    functionName: ossl_pw_get_passphrase
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - UI_UTIL_wrap_read_pem_callback
    - ERR_raise
    - memcpy
    - OSSL_PARAM_locate_const
    - do_ui_passphrase
    - ERR_raise_data
    - UI_destroy_method
    - OPENSSL_clear_realloc
    - cb
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ossl_pw_get_passphrase(char *pass, size_t pass_size, size_t *pass_len,\n
      \                          const OSSL_PARAM params[], int verify,\n                           struct
      ossl_passphrase_data_st *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/crypto/passphrase.c:313,1
    - Dst: ossl_pw_get_passphrase
      Src: /src/openssl/crypto/passphrase.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    - info
    argTypes:
    - char*
    - int
    - int
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: ossl_pw_get_password
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - ossl_pw_get_passphrase
    linkageType: ''
    returnType: int
    signature: "int ossl_pw_get_password(char *buf, int size, int rwflag,\n                                void
      *userdata, const char *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_get_password
      Src: /src/openssl/crypto/passphrase.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: ossl_pw_pem_password
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_pw_get_password
    linkageType: ''
    returnType: int
    signature: int ossl_pw_pem_password(char *buf, int size, int rwflag, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_get_password
      Src: /src/openssl/crypto/passphrase.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: ossl_pw_pvk_password
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_pw_get_password
    linkageType: ''
    returnType: int
    signature: int ossl_pw_pvk_password(char *buf, int size, int rwflag, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_get_passphrase
      Src: /src/openssl/crypto/passphrase.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pass
    - pass_size
    - pass_len
    - params
    - arg
    argTypes:
    - char*
    - size_t
    - size_t*
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: ossl_pw_passphrase_callback_enc
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_pw_get_passphrase
    linkageType: ''
    returnType: int
    signature: "int ossl_pw_passphrase_callback_enc(char *pass, size_t pass_size,\n
      \                                   size_t *pass_len,\n                                    const
      OSSL_PARAM params[], void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_get_passphrase
      Src: /src/openssl/crypto/passphrase.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pass
    - pass_size
    - pass_len
    - params
    - arg
    argTypes:
    - char*
    - size_t
    - size_t*
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: ossl_pw_passphrase_callback_dec
    functionSourceFile: /src/openssl/crypto/passphrase.c
    functionUses: 0
    functionsReached:
    - ossl_pw_get_passphrase
    linkageType: ''
    returnType: int
    signature: "int ossl_pw_passphrase_callback_dec(char *pass, size_t pass_size,\n
      \                                   size_t *pass_len,\n                                    const
      OSSL_PARAM params[], void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cpt_err.c:85,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/cpt_err.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: ossl_err_load_CRYPTO_strings
    functionSourceFile: /src/openssl/crypto/cpt_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_CRYPTO_strings(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: ossl_toascii
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_toascii(int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: ossl_fromascii
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_fromascii(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/ctype.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - c
    - mask
    argTypes:
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: ossl_ctype_check
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached:
    - ossl_toascii
    linkageType: ''
    returnType: int
    signature: int ossl_ctype_check(int c, unsigned int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: ASCII_IS_DIGIT
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASCII_IS_DIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: ASCII_IS_UPPER
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASCII_IS_UPPER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: ASCII_IS_LOWER
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASCII_IS_LOWER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/ctype.c:271,1
    - Dst: ASCII_IS_DIGIT
      Src: /src/openssl/crypto/ctype.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: ossl_isdigit
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 1
    functionsReached:
    - ossl_toascii
    - ASCII_IS_DIGIT
    linkageType: ''
    returnType: int
    signature: int ossl_isdigit(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/ctype.c:278,1
    - Dst: ASCII_IS_UPPER
      Src: /src/openssl/crypto/ctype.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: ossl_isupper
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached:
    - ossl_toascii
    - ASCII_IS_UPPER
    linkageType: ''
    returnType: int
    signature: int ossl_isupper(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/ctype.c:285,1
    - Dst: ASCII_IS_LOWER
      Src: /src/openssl/crypto/ctype.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: ossl_islower
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached:
    - ossl_toascii
    - ASCII_IS_LOWER
    linkageType: ''
    returnType: int
    signature: int ossl_islower(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/ctype.c:298,1
    - Dst: ASCII_IS_UPPER
      Src: /src/openssl/crypto/ctype.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    functionName: ossl_tolower
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached:
    - ossl_toascii
    - ASCII_IS_UPPER
    linkageType: ''
    returnType: int
    signature: int ossl_tolower(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/ctype.c:305,1
    - Dst: ASCII_IS_LOWER
      Src: /src/openssl/crypto/ctype.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: ossl_toupper
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached:
    - ossl_toascii
    - ASCII_IS_LOWER
    linkageType: ''
    returnType: int
    signature: int ossl_toupper(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASCII_IS_DIGIT
      Src: /src/openssl/crypto/ctype.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: ossl_ascii_isdigit
    functionSourceFile: /src/openssl/crypto/ctype.c
    functionUses: 0
    functionsReached:
    - ASCII_IS_DIGIT
    linkageType: ''
    returnType: int
    signature: int ossl_ascii_isdigit(int c)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/LPdir_win.c:83,1
    - Dst: malloc
      Src: /src/openssl/crypto/LPdir_win.c:90,1
    - Dst: memset
      Src: /src/openssl/crypto/LPdir_win.c:95,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/LPdir_win.c:107,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/LPdir_win.c:110,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/LPdir_win.c:113,1
    - Dst: _alloca
      Src: /src/openssl/crypto/LPdir_win.c:123,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/LPdir_win.c:124,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_win.c:126,1
    - Dst: _alloca
      Src: /src/openssl/crypto/LPdir_win.c:139,1
    - Dst: TEXT
      Src: /src/openssl/crypto/LPdir_win.c:145,1
    - Dst: TEXT
      Src: /src/openssl/crypto/LPdir_win.c:146,1
    - Dst: TEXT
      Src: /src/openssl/crypto/LPdir_win.c:146,1
    - Dst: _tcscpy
      Src: /src/openssl/crypto/LPdir_win.c:147,1
    - Dst: TEXT
      Src: /src/openssl/crypto/LPdir_win.c:147,1
    - Dst: _tcscpy
      Src: /src/openssl/crypto/LPdir_win.c:149,1
    - Dst: TEXT
      Src: /src/openssl/crypto/LPdir_win.c:149,1
    - Dst: FindFirstFile
      Src: /src/openssl/crypto/LPdir_win.c:152,1
    - Dst: _alloca
      Src: /src/openssl/crypto/LPdir_win.c:155,1
    - Dst: strcpy
      Src: /src/openssl/crypto/LPdir_win.c:157,1
    - Dst: strcpy
      Src: /src/openssl/crypto/LPdir_win.c:159,1
    - Dst: strcpy
      Src: /src/openssl/crypto/LPdir_win.c:161,1
    - Dst: FindFirstFile
      Src: /src/openssl/crypto/LPdir_win.c:166,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_win.c:170,1
    - Dst: FindNextFile
      Src: /src/openssl/crypto/LPdir_win.c:176,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/LPdir_win.c:189,1
    - Dst: strncpy
      Src: /src/openssl/crypto/LPdir_win.c:196,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 202
    functionName: LP_find_file
    functionSourceFile: /src/openssl/crypto/LPdir_win.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - free
    - strcpy
    - strncpy
    - memset
    - FindFirstFile
    - WideCharToMultiByte
    - _tcscpy
    - malloc
    - _alloca
    - FindNextFile
    - TEXT
    - strlen
    - MultiByteToWideChar
    linkageType: ''
    returnType: char
    signature: char *LP_find_file(LP_DIR_CTX **ctx, const char *directory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/openssl/crypto/LPdir_win.c:207,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_win.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: LP_find_file_end
    functionSourceFile: /src/openssl/crypto/LPdir_win.c
    functionUses: 0
    functionsReached:
    - free
    - FindClose
    linkageType: ''
    returnType: int
    signature: int LP_find_file_end(LP_DIR_CTX **ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:54,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:67,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:68,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:68,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:69,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:74,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:76,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:77,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:77,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:78,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:83,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:112,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:113,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:113,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:114,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:120,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:126,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:126,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:127,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:135,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:135,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:136,1
    - Dst: getenv
      Src: /src/openssl/crypto/info.c:139,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:140,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:140,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:141,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:174,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:177,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:181,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:183,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:187,1
    - Dst: add_seeds_stringlist
      Src: /src/openssl/crypto/info.c:190,1
    - Dst: add_seeds_stringlist
      Src: /src/openssl/crypto/info.c:193,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:196,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/info.c:202,1
    - Dst: jent_version
      Src: /src/openssl/crypto/info.c:202,1
    - Dst: add_seeds_string
      Src: /src/openssl/crypto/info.c:203,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 209
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/info.c
    functionUses: 0
    functionsReached:
    - jent_version
    - add_seeds_string
    - BIO_snprintf
    - add_seeds_stringlist
    - strlen
    - getenv
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(init_info_strings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: add_seeds_string
    functionSourceFile: /src/openssl/crypto/info.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_seeds_string(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - label
    - ','
    - strlist
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: add_seeds_stringlist
    functionSourceFile: /src/openssl/crypto/info.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_seeds_stringlist(label, strlist)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/info.c:218,1
    - Dst: ossl_get_openssldir
      Src: /src/openssl/crypto/info.c:222,1
    - Dst: ossl_get_enginesdir
      Src: /src/openssl/crypto/info.c:224,1
    - Dst: ossl_get_modulesdir
      Src: /src/openssl/crypto/info.c:226,1
    - Dst: strlen
      Src: /src/openssl/crypto/info.c:251,1
    - Dst: ossl_get_wininstallcontext
      Src: /src/openssl/crypto/info.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 260
    functionName: OPENSSL_info
    functionSourceFile: /src/openssl/crypto/info.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - ossl_get_modulesdir
    - ossl_get_wininstallcontext
    - ossl_get_enginesdir
    - strlen
    - ossl_get_openssldir
    linkageType: ''
    returnType: char
    signature: char *OPENSSL_info(int t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_none.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num_writers
    - OSSL_LIB_CTX *ctx
    argTypes:
    - int
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: ossl_rcu_lock_new
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CRYPTO_RCU_LOCK
    signature: "CRYPTO_RCU_LOCK *ossl_rcu_lock_new(int num_writers,\n                                   ossl_unused
      OSSL_LIB_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_none.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ossl_rcu_lock_free
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_lock_free(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: ossl_rcu_read_lock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rcu_read_lock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ossl_rcu_write_lock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_write_lock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ossl_rcu_write_unlock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_write_unlock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ossl_rcu_read_unlock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct rcu_cb_item*::fn
      Src: /src/openssl/crypto/threads_none.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_none.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: ossl_synchronize_rcu
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 1
    functionsReached:
    - struct rcu_cb_item*::fn
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_none.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - lock
    - cb
    - data
    argTypes:
    - CRYPTO_RCU_LOCK*
    - rcu_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: ossl_rcu_call
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: ossl_rcu_uptr_deref
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ossl_rcu_uptr_deref(void **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: ossl_rcu_assign_uptr
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_assign_uptr(void **p, void **v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_zalloc
      Src: /src/openssl/crypto/threads_none.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: CRYPTO_THREAD_lock_new
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 3
    functionsReached:
    - CRYPTO_zalloc
    linkageType: ''
    returnType: CRYPTO_RWLOCK
    signature: CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_none.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 6
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: __owur
    signature: __owur CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_none.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 10
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: __owur
    signature: __owur CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/threads_none.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: CRYPTO_THREAD_unlock
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 19
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_none.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: CRYPTO_THREAD_lock_free
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/openssl/crypto/threads_none.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - once
    argTypes:
    - CRYPTO_ONCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: CRYPTO_THREAD_run_once
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 3
    functionsReached:
    - init
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: CRYPTO_THREAD_init_local
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void
      *))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: CRYPTO_THREAD_get_local
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: CRYPTO_THREAD_set_local
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: CRYPTO_THREAD_cleanup_local
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: CRYPTO_THREAD_get_current_id
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CRYPTO_THREAD_ID
    signature: CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CRYPTO_THREAD_ID
    - CRYPTO_THREAD_ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: CRYPTO_THREAD_compare_id
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - val
    - amount
    - ret
    - lock
    argTypes:
    - int*
    - int
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: CRYPTO_atomic_add
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK
      *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: CRYPTO_atomic_add64
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_add64(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                       CRYPTO_RWLOCK *lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: CRYPTO_atomic_and
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_and(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                     CRYPTO_RWLOCK *lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: CRYPTO_atomic_or
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                    CRYPTO_RWLOCK *lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: CRYPTO_atomic_load
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK
      *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: CRYPTO_atomic_store
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store(uint64_t *dst, uint64_t val, CRYPTO_RWLOCK
      *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: CRYPTO_atomic_load_int
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: openssl_init_fork_handlers
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int openssl_init_fork_handlers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/openssl/crypto/threads_none.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: openssl_get_fork_id
    functionSourceFile: /src/openssl/crypto/threads_none.c
    functionUses: 0
    functionsReached:
    - getpid
    linkageType: ''
    returnType: int
    signature: int openssl_get_fork_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_PROVIDER**
    - OSSL_PROVIDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: ossl_provider_cmp
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_cmp(const OSSL_PROVIDER * const *a,\n                             const
      OSSL_PROVIDER * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_core.c:239,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: provider_deactivate_free
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_provider_free
    - ossl_provider_deactivate
    linkageType: ''
    returnType: void
    signature: void provider_deactivate_free(OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - OSSL_PROVIDER_CHILD_CB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: ossl_provider_child_cb_free
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_provider_child_cb_free(OSSL_PROVIDER_CHILD_CB *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:252,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:253,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pair
    argTypes:
    - INFOPAIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: infopair_free
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void infopair_free(INFOPAIR *pair)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/provider_core.c:259,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:264,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:269,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:275,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - src
    argTypes:
    - INFOPAIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: infopair_copy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: INFOPAIR
    signature: INFOPAIR *infopair_copy(const INFOPAIR *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:282,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:283,1
    - Dst: sk_INFOPAIR_pop_free
      Src: /src/openssl/crypto/provider_core.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_PROVIDER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: ossl_provider_info_clear
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - sk_INFOPAIR_pop_free
    linkageType: ''
    returnType: void
    signature: void ossl_provider_info_clear(OSSL_PROVIDER_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:295,1
    - Dst: sk_OSSL_PROVIDER_pop_free
      Src: /src/openssl/crypto/provider_core.c:296,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_pop_free
      Src: /src/openssl/crypto/provider_core.c:298,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_core.c:301,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_core.c:302,1
    - Dst: ossl_provider_info_clear
      Src: /src/openssl/crypto/provider_core.c:304,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:305,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - vstore
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 307
    functionName: ossl_provider_store_free
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_provider_info_clear
    - sk_OSSL_PROVIDER_pop_free
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - sk_OSSL_PROVIDER_CHILD_CB_pop_free
    linkageType: ''
    returnType: void
    signature: void ossl_provider_store_free(void *vstore)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/provider_core.c:311,1
    - Dst: sk_OSSL_PROVIDER_new
      Src: /src/openssl/crypto/provider_core.c:314,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_core.c:315,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_new_null
      Src: /src/openssl/crypto/provider_core.c:317,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_core.c:319,1
    - Dst: ossl_provider_store_free
      Src: /src/openssl/crypto/provider_core.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 327
    functionName: ossl_provider_store_new
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_provider_store_free
    - sk_OSSL_PROVIDER_CHILD_CB_new_null
    - CRYPTO_THREAD_lock_new
    - sk_OSSL_PROVIDER_new
    linkageType: ''
    returnType: void
    signature: void *ossl_provider_store_new(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_core.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 5
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: get_provider_store
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: struct provider_store_st
    signature: struct provider_store_st *get_provider_store(OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:343,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:344,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 339
    functionDepth: 6
    functionLinenumber: 339
    functionLinenumberEnd: 351
    functionName: ossl_provider_disable_fallback_loading
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - get_provider_store
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ossl_provider_disable_fallback_loading(OSSL_LIB_CTX *libctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:358,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:367,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:371,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/provider_core.c:374,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/crypto/provider_core.c:383,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:395,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - libctx
    - entry
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 355
    functionDepth: 6
    functionLinenumber: 355
    functionLinenumberEnd: 397
    functionName: ossl_provider_info_add_to_store
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OPENSSL_calloc
    - CRYPTO_THREAD_write_lock
    - OPENSSL_realloc_array
    - CRYPTO_THREAD_unlock
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_info_add_to_store(OSSL_LIB_CTX *libctx,\n                                    OSSL_PROVIDER_INFO
      *entry)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:405,1
    - Dst: ossl_lib_ctx_is_default
      Src: /src/openssl/crypto/provider_core.c:415,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/provider_core.c:416,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:421,1
    - Dst: sk_OSSL_PROVIDER_sort
      Src: /src/openssl/crypto/provider_core.c:423,1
    - Dst: sk_OSSL_PROVIDER_find
      Src: /src/openssl/crypto/provider_core.c:424,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:425,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:426,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/provider_core.c:427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - libctx
    - name
    - noconfig
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 399
    functionDepth: 6
    functionLinenumber: 399
    functionLinenumberEnd: 432
    functionName: ossl_provider_find
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_provider_up_ref
    - sk_OSSL_PROVIDER_find
    - CRYPTO_THREAD_write_lock
    - sk_OSSL_PROVIDER_value
    - ossl_lib_ctx_is_default
    - CRYPTO_THREAD_unlock
    - OPENSSL_init_crypto
    - get_provider_store
    - sk_OSSL_PROVIDER_sort
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: "OSSL_PROVIDER *ossl_provider_find(OSSL_LIB_CTX *libctx, const char
      *name,\n                                  ossl_unused int noconfig)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/provider_core.c:445,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/provider_core.c:447,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:448,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_core.c:451,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:452,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:453,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_core.c:457,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_core.c:458,1
    - Dst: sk_INFOPAIR_deep_copy
      Src: /src/openssl/crypto/provider_core.c:459,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:462,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:463,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:466,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - name
    - init_function
    - parameters
    argTypes:
    - char*
    - OSSL_provider_init_fn*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 474
    functionName: provider_new
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ossl_provider_free
    - ERR_raise
    - sk_INFOPAIR_deep_copy
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_strdup
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: "OSSL_PROVIDER *provider_new(const char *name,\n                                   OSSL_provider_init_fn
      *init_function,\n                                   STACK_OF(INFOPAIR) *parameters)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/provider_core.c:480,1
    - Dst: ossl_provider_up_ref_parent
      Src: /src/openssl/crypto/provider_core.c:485,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 493
    functionName: ossl_provider_up_ref
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_provider_up_ref_parent
    - ossl_provider_free
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int ossl_provider_up_ref(OSSL_PROVIDER *prov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_activate
      Src: /src/openssl/crypto/provider_core.c:499,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/provider_core.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: provider_up_ref_intern
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_provider_up_ref
    - ossl_provider_activate
    linkageType: ''
    returnType: int
    signature: int provider_up_ref_intern(OSSL_PROVIDER *prov, int activate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_core.c:507,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: provider_free_intern
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_provider_free
    - ossl_provider_deactivate
    linkageType: ''
    returnType: int
    signature: int provider_free_intern(OSSL_PROVIDER *prov, int deactivate)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:527,1
    - Dst: memset
      Src: /src/openssl/crypto/provider_core.c:530,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:538,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:545,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:548,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:569,1
    - Dst: provider_new
      Src: /src/openssl/crypto/provider_core.c:595,1
    - Dst: ossl_provider_set_module_path
      Src: /src/openssl/crypto/provider_core.c:604,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:605,1
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/crypto/provider_core.c:611,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 5
    argNames:
    - libctx
    - name
    - init_function
    - params
    - noconfig
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_provider_init_fn*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 519
    functionDepth: 6
    functionLinenumber: 519
    functionLinenumberEnd: 621
    functionName: ossl_provider_new
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_provider_free
    - memset
    - ERR_get_next_error_library
    - CRYPTO_THREAD_read_lock
    - provider_new
    - CRYPTO_THREAD_unlock
    - strcmp
    - get_provider_store
    - ossl_provider_set_module_path
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: "OSSL_PROVIDER *ossl_provider_new(OSSL_LIB_CTX *libctx, const char
      *name,\n                                 OSSL_provider_init_fn *init_function,\n
      \                                OSSL_PARAM *params, int noconfig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/openssl/crypto/provider_core.c:632,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/openssl/crypto/provider_core.c:638,1
    - Dst: OSSL_PROVIDER_CHILD_CB*::create_cb
      Src: /src/openssl/crypto/provider_core.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 644
    functionName: create_provider_children
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_CHILD_CB*::create_cb
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - sk_OSSL_PROVIDER_CHILD_CB_num
    linkageType: ''
    returnType: int
    signature: int create_provider_children(OSSL_PROVIDER *prov)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:657,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:660,1
    - Dst: sk_OSSL_PROVIDER_find
      Src: /src/openssl/crypto/provider_core.c:664,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:668,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/openssl/crypto/provider_core.c:671,1
    - Dst: create_provider_children
      Src: /src/openssl/crypto/provider_core.c:674,1
    - Dst: sk_OSSL_PROVIDER_delete_ptr
      Src: /src/openssl/crypto/provider_core.c:675,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:682,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/provider_core.c:685,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:686,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_core.c:704,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:705,1
    - Dst: ossl_decoder_cache_flush
      Src: /src/openssl/crypto/provider_core.c:713,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:720,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - prov
    - actualprov
    - retain_fallbacks
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PROVIDER**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 646
    functionDepth: 6
    functionLinenumber: 646
    functionLinenumberEnd: 722
    functionName: ossl_provider_add_to_store
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_provider_up_ref
    - sk_OSSL_PROVIDER_push
    - ERR_raise
    - ossl_provider_free
    - ossl_decoder_cache_flush
    - sk_OSSL_PROVIDER_find
    - CRYPTO_THREAD_write_lock
    - sk_OSSL_PROVIDER_value
    - create_provider_children
    - ossl_provider_deactivate
    - CRYPTO_THREAD_unlock
    - get_provider_store
    - sk_OSSL_PROVIDER_delete_ptr
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_add_to_store(OSSL_PROVIDER *prov, OSSL_PROVIDER
      **actualprov,\n                               int retain_fallbacks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/provider_core.c:729,1
    - Dst: ossl_provider_teardown
      Src: /src/openssl/crypto/provider_core.c:741,1
    - Dst: ERR_unload_strings
      Src: /src/openssl/crypto/provider_core.c:745,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:746,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:751,1
    - Dst: ossl_init_thread_deregister
      Src: /src/openssl/crypto/provider_core.c:763,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/provider_core.c:764,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:766,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:767,1
    - Dst: sk_INFOPAIR_pop_free
      Src: /src/openssl/crypto/provider_core.c:768,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_core.c:769,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_core.c:770,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_core.c:771,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/provider_core.c:772,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:773,1
    - Dst: ossl_provider_free_parent
      Src: /src/openssl/crypto/provider_core.c:777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 781
    functionName: ossl_provider_free
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 8
    functionsReached:
    - ERR_unload_strings
    - ossl_init_thread_deregister
    - DSO_free
    - sk_INFOPAIR_pop_free
    - CRYPTO_THREAD_lock_free
    - ossl_provider_free_parent
    - CRYPTO_DOWN_REF
    - OPENSSL_free
    - ossl_provider_teardown
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void ossl_provider_free(OSSL_PROVIDER *prov)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:786,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - module_path
    argTypes:
    - OSSL_PROVIDER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 793
    functionName: ossl_provider_set_module_path
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int ossl_provider_set_module_path(OSSL_PROVIDER *prov, const char *module_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: infopair_add
      Src: /src/openssl/crypto/provider_core.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - name
    - value
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 827
    functionName: OSSL_PROVIDER_add_conf_parameter
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - infopair_add
    linkageType: ''
    returnType: int
    signature: "int OSSL_PROVIDER_add_conf_parameter(OSSL_PROVIDER *prov,\n                                     const
      char *name, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_INFOPAIR_num
      Src: /src/openssl/crypto/provider_core.c:837,1
    - Dst: sk_INFOPAIR_value
      Src: /src/openssl/crypto/provider_core.c:838,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/provider_core.c:839,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/crypto/provider_core.c:842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 846
    functionName: OSSL_PROVIDER_get_conf_parameters
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - sk_INFOPAIR_value
    - sk_INFOPAIR_num
    - OSSL_PARAM_set_utf8_ptr
    linkageType: ''
    returnType: int
    signature: "int OSSL_PROVIDER_get_conf_parameters(const OSSL_PROVIDER *prov,\n
      \                                     OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get_conf_parameters
      Src: /src/openssl/crypto/provider_core.c:861,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/provider_core.c:862,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:864,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:865,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:866,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:867,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:869,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:870,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:871,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/provider_core.c:872,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - prov
    - name
    - defval
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 876
    functionName: OSSL_PROVIDER_conf_get_bool
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OPENSSL_strcasecmp
    - OSSL_PARAM_modified
    - OSSL_PROVIDER_get_conf_parameters
    linkageType: ''
    returnType: int
    signature: "int OSSL_PROVIDER_conf_get_bool(const OSSL_PROVIDER *prov,\n                                const
      char *name, int defval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: infopair_add
      Src: /src/openssl/crypto/provider_core.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provinfo
    - name
    - value
    argTypes:
    - OSSL_PROVIDER_INFO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: ossl_provider_info_add_parameter
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - infopair_add
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_info_add_parameter(OSSL_PROVIDER_INFO *provinfo,\n
      \                                    const char *name,\n                                     const
      char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:906,1
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:910,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:911,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:912,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:914,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:917,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - path
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 899
    functionDepth: 6
    functionLinenumber: 899
    functionLinenumberEnd: 919
    functionName: OSSL_PROVIDER_set_default_search_path
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - OPENSSL_strdup
    - CRYPTO_THREAD_unlock
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: "int OSSL_PROVIDER_set_default_search_path(OSSL_LIB_CTX *libctx,\n
      \                                         const char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:926,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:927,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 921
    functionDepth: 6
    functionLinenumber: 921
    functionLinenumberEnd: 932
    functionName: OSSL_PROVIDER_get0_default_search_path
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - get_provider_store
    linkageType: ''
    returnType: char
    signature: char *OSSL_PROVIDER_get0_default_search_path(OSSL_LIB_CTX *libctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/provider_core.c:950,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:951,1
    - Dst: DSO_new
      Src: /src/openssl/crypto/provider_core.c:971,1
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:976,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:977,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_core.c:981,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:982,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:987,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/provider_core.c:991,1
    - Dst: ossl_get_modulesdir
      Src: /src/openssl/crypto/provider_core.c:993,1
    - Dst: DSO_ctrl
      Src: /src/openssl/crypto/provider_core.c:996,1
    - Dst: DSO_convert_filename
      Src: /src/openssl/crypto/provider_core.c:1002,1
    - Dst: DSO_merge
      Src: /src/openssl/crypto/provider_core.c:1004,1
    - Dst: DSO_load
      Src: /src/openssl/crypto/provider_core.c:1007,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/provider_core.c:1008,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1012,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1013,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1014,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_core.c:1019,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/provider_core.c:1025,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_core.c:1031,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1038,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1040,1
    - Dst: OSSL_PROVIDER*::init_function
      Src: /src/openssl/crypto/provider_core.c:1043,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_core.c:1045,1
    - Dst: OSSL_FUNC_provider_teardown
      Src: /src/openssl/crypto/provider_core.c:1057,1
    - Dst: OSSL_FUNC_provider_gettable_params
      Src: /src/openssl/crypto/provider_core.c:1061,1
    - Dst: OSSL_FUNC_provider_get_params
      Src: /src/openssl/crypto/provider_core.c:1065,1
    - Dst: OSSL_FUNC_provider_self_test
      Src: /src/openssl/crypto/provider_core.c:1069,1
    - Dst: OSSL_FUNC_provider_random_bytes
      Src: /src/openssl/crypto/provider_core.c:1073,1
    - Dst: OSSL_FUNC_provider_get_capabilities
      Src: /src/openssl/crypto/provider_core.c:1077,1
    - Dst: OSSL_FUNC_provider_query_operation
      Src: /src/openssl/crypto/provider_core.c:1081,1
    - Dst: OSSL_FUNC_provider_unquery_operation
      Src: /src/openssl/crypto/provider_core.c:1085,1
    - Dst: OSSL_FUNC_provider_get_reason_strings
      Src: /src/openssl/crypto/provider_core.c:1091,1
    - Dst: p_get_reason_strings
      Src: /src/openssl/crypto/provider_core.c:1102,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/provider_core.c:1114,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/provider_core.c:1122,1
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/provider_core.c:1129,1
    - Dst: ERR_load_strings
      Src: /src/openssl/crypto/provider_core.c:1140,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 127
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 939
    functionDepth: 6
    functionLinenumber: 939
    functionLinenumberEnd: 1151
    functionName: provider_init
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_provider_self_test
    - ERR_raise
    - ossl_get_modulesdir
    - DSO_free
    - OPENSSL_free
    - OSSL_FUNC_provider_unquery_operation
    - ossl_safe_getenv
    - DSO_bind_func
    - ERR_PACK
    - DSO_convert_filename
    - p_get_reason_strings
    - ERR_load_strings
    - DSO_load
    - ossl_assert
    - CRYPTO_THREAD_read_lock
    - DSO_merge
    - OSSL_FUNC_provider_query_operation
    - OSSL_FUNC_provider_get_capabilities
    - OPENSSL_strdup
    - BIO_printf
    - ERR_GET_LIB
    - ERR_raise_data
    - OSSL_FUNC_provider_gettable_params
    - DSO_new
    - OSSL_FUNC_provider_teardown
    - CRYPTO_THREAD_unlock
    - OSSL_PROVIDER*::init_function
    - OSSL_TRACE_END
    - DSO_ctrl
    - OSSL_FUNC_provider_get_params
    - OPENSSL_calloc
    - OSSL_FUNC_provider_get_reason_strings
    - OSSL_FUNC_provider_random_bytes
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: int provider_init(OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1040
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/provider_core.c:1169,1
    - Dst: ossl_rand_check_random_provider_on_unload
      Src: /src/openssl/crypto/provider_core.c:1174,1
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:1182,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1186,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:1188,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1189,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1193,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1195,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1196,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/openssl/crypto/provider_core.c:1222,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/openssl/crypto/provider_core.c:1226,1
    - Dst: OSSL_PROVIDER_CHILD_CB*::remove_cb
      Src: /src/openssl/crypto/provider_core.c:1227,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1232,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1233,1
    - Dst: ossl_decoder_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1240,1
    - Dst: ossl_provider_free_parent
      Src: /src/openssl/crypto/provider_core.c:1245,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - prov
    - upcalls
    - removechildren
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1159
    functionDepth: 6
    functionLinenumber: 1159
    functionLinenumberEnd: 1250
    functionName: provider_deactivate
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 5
    functionsReached:
    - ossl_assert
    - ossl_decoder_cache_flush
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - CRYPTO_THREAD_read_lock
    - ossl_provider_free_parent
    - CRYPTO_THREAD_write_lock
    - CRYPTO_atomic_add
    - ossl_rand_check_random_provider_on_unload
    - CRYPTO_THREAD_unlock
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - OSSL_PROVIDER_CHILD_CB*::remove_cb
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: "int provider_deactivate(OSSL_PROVIDER *prov, int upcalls,\n                               int
      removechildren)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: provider_init
      Src: /src/openssl/crypto/provider_core.c:1269,1
    - Dst: ossl_rand_check_random_provider_on_load
      Src: /src/openssl/crypto/provider_core.c:1275,1
    - Dst: ossl_provider_up_ref_parent
      Src: /src/openssl/crypto/provider_core.c:1278,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1282,1
    - Dst: ossl_provider_free_parent
      Src: /src/openssl/crypto/provider_core.c:1285,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:1290,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1291,1
    - Dst: ossl_provider_free_parent
      Src: /src/openssl/crypto/provider_core.c:1294,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1298,1
    - Dst: create_provider_children
      Src: /src/openssl/crypto/provider_core.c:1302,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1306,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1307,1
    - Dst: ossl_decoder_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1314,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 3
    argNames:
    - prov
    - lock
    - upcalls
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1256
    functionDepth: 7
    functionLinenumber: 1256
    functionLinenumberEnd: 1322
    functionName: provider_activate
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - ossl_decoder_cache_flush
    - CRYPTO_THREAD_read_lock
    - ossl_rand_check_random_provider_on_load
    - ossl_provider_free_parent
    - ossl_provider_up_ref_parent
    - CRYPTO_THREAD_write_lock
    - create_provider_children
    - CRYPTO_atomic_add
    - CRYPTO_THREAD_unlock
    - provider_init
    linkageType: ''
    returnType: int
    signature: int provider_activate(OSSL_PROVIDER *prov, int lock, int upcalls)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:1329,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1332,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1335,1
    - Dst: evp_method_store_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1339,1
    - Dst: ossl_encoder_store_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1341,1
    - Dst: ossl_decoder_store_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1342,1
    - Dst: ossl_store_loader_store_cache_flush
      Src: /src/openssl/crypto/provider_core.c:1343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1324
    functionDepth: 6
    functionLinenumber: 1324
    functionLinenumberEnd: 1354
    functionName: provider_flush_store_cache
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_decoder_store_cache_flush
    - CRYPTO_THREAD_read_lock
    - ossl_store_loader_store_cache_flush
    - CRYPTO_THREAD_unlock
    - evp_method_store_cache_flush
    - get_provider_store
    - ossl_encoder_store_cache_flush
    linkageType: ''
    returnType: int
    signature: int provider_flush_store_cache(const OSSL_PROVIDER *prov)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:1361,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1364,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1367,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:1372,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1374,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1377,1
    - Dst: evp_method_store_remove_all_provided
      Src: /src/openssl/crypto/provider_core.c:1379,1
    - Dst: ossl_encoder_store_remove_all_provided
      Src: /src/openssl/crypto/provider_core.c:1381,1
    - Dst: ossl_decoder_store_remove_all_provided
      Src: /src/openssl/crypto/provider_core.c:1382,1
    - Dst: ossl_store_loader_store_remove_all_provided
      Src: /src/openssl/crypto/provider_core.c:1383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1356
    functionDepth: 6
    functionLinenumber: 1356
    functionLinenumberEnd: 1394
    functionName: provider_remove_store_methods
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - ossl_store_loader_store_remove_all_provided
    - evp_method_store_remove_all_provided
    - CRYPTO_THREAD_unlock
    - ossl_encoder_store_remove_all_provided
    - ossl_decoder_store_remove_all_provided
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: int provider_remove_store_methods(OSSL_PROVIDER *prov)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: provider_activate
      Src: /src/openssl/crypto/provider_core.c:1410,1
    - Dst: provider_flush_store_cache
      Src: /src/openssl/crypto/provider_core.c:1411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - prov
    - upcalls
    - aschild
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1396
    functionDepth: 8
    functionLinenumber: 1396
    functionLinenumberEnd: 1414
    functionName: ossl_provider_activate
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - provider_activate
    - provider_flush_store_cache
    linkageType: ''
    returnType: int
    signature: int ossl_provider_activate(OSSL_PROVIDER *prov, int upcalls, int aschild)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: provider_deactivate
      Src: /src/openssl/crypto/provider_core.c:1421,1
    - Dst: provider_remove_store_methods
      Src: /src/openssl/crypto/provider_core.c:1423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - prov
    - removechildren
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1416
    functionDepth: 7
    functionLinenumber: 1416
    functionLinenumberEnd: 1424
    functionName: ossl_provider_deactivate
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 5
    functionsReached:
    - provider_remove_store_methods
    - provider_deactivate
    linkageType: ''
    returnType: int
    signature: int ossl_provider_deactivate(OSSL_PROVIDER *prov, int removechildren)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1429
    functionName: ossl_provider_ctx
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ossl_provider_ctx(const OSSL_PROVIDER *prov)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1443,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1446,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:1450,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1455,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/provider_core.c:1462,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_core.c:1469,1
    - Dst: provider_new
      Src: /src/openssl/crypto/provider_core.c:1479,1
    - Dst: ERR_get_next_error_library
      Src: /src/openssl/crypto/provider_core.c:1484,1
    - Dst: provider_activate
      Src: /src/openssl/crypto/provider_core.c:1493,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:1494,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/openssl/crypto/provider_core.c:1498,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:1499,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1510,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct provider_store_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1436
    functionDepth: 8
    functionLinenumber: 1436
    functionLinenumberEnd: 1512
    functionName: provider_activate_fallbacks
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_provider_free
    - sk_OSSL_PROVIDER_push
    - provider_activate
    - ERR_get_next_error_library
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - STACK_OF
    - provider_new
    - CRYPTO_THREAD_unlock
    - strcmp
    linkageType: ''
    returnType: int
    signature: int provider_activate_fallbacks(struct provider_store_st *store)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:1516,1
    - Dst: provider_activate_fallbacks
      Src: /src/openssl/crypto/provider_core.c:1521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1514
    functionDepth: 9
    functionLinenumber: 1514
    functionLinenumberEnd: 1522
    functionName: ossl_provider_activate_fallbacks
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - provider_activate_fallbacks
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: int ossl_provider_activate_fallbacks(OSSL_LIB_CTX *ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:1530,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/provider_core.c:1531,1
    - Dst: ossl_lib_ctx_is_default
      Src: /src/openssl/crypto/provider_core.c:1538,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/provider_core.c:1539,1
    - Dst: provider_activate_fallbacks
      Src: /src/openssl/crypto/provider_core.c:1544,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1551,1
    - Dst: sk_OSSL_PROVIDER_dup
      Src: /src/openssl/crypto/provider_core.c:1553,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1555,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/openssl/crypto/provider_core.c:1558,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:1564,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1566,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/provider_core.c:1574,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1575,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1584,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/provider_core.c:1586,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1587,1
    - Dst: sk_OSSL_PROVIDER_delete
      Src: /src/openssl/crypto/provider_core.c:1591,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1594,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1596,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:1602,1
    - Dst: cb
      Src: /src/openssl/crypto/provider_core.c:1604,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1615,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:1623,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1625,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/crypto/provider_core.c:1636,1
    - Dst: provider_deactivate
      Src: /src/openssl/crypto/provider_core.c:1638,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/provider_core.c:1647,1
    - Dst: assert
      Src: /src/openssl/crypto/provider_core.c:1655,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/openssl/crypto/provider_core.c:1657,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 2
    argNames:
    - ctx
    - cbdata
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts:
    - condition: (ref > 0)
      pos:
        line_end: 1654
        line_start: 1654
        source_file: /src/openssl/crypto/provider_core.c
    constantsTouched: []
    func_position:
      end: 1659
      start: 1524
    functionDepth: 9
    functionLinenumber: 1524
    functionLinenumberEnd: 1659
    functionName: ossl_provider_doall_activated
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - sk_OSSL_PROVIDER_delete
    - sk_OSSL_PROVIDER_free
    - CRYPTO_THREAD_read_lock
    - provider_activate_fallbacks
    - sk_OSSL_PROVIDER_value
    - sk_OSSL_PROVIDER_num
    - CRYPTO_DOWN_REF
    - provider_deactivate
    - STACK_OF
    - sk_OSSL_PROVIDER_dup
    - CRYPTO_UP_REF
    - CRYPTO_THREAD_unlock
    - CRYPTO_atomic_add
    - OPENSSL_init_crypto
    - cb
    - assert
    - get_provider_store
    - ossl_lib_ctx_is_default
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_doall_activated(OSSL_LIB_CTX *ctx,\n                                  int
      (*cb)(OSSL_PROVIDER *provider,\n                                            void
      *cbdata),\n                                  void *cbdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:1665,1
    - Dst: provider_activate_fallbacks
      Src: /src/openssl/crypto/provider_core.c:1667,1
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/provider_core.c:1670,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:1672,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:1675,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_core.c:1676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1661
    functionDepth: 9
    functionLinenumber: 1661
    functionLinenumberEnd: 1679
    functionName: OSSL_PROVIDER_available
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_provider_free
    - CRYPTO_THREAD_read_lock
    - ossl_provider_find
    - provider_activate_fallbacks
    - CRYPTO_THREAD_unlock
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: int OSSL_PROVIDER_available(OSSL_LIB_CTX *libctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1685
    functionName: ossl_provider_name
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_provider_name(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1690
    functionName: ossl_provider_dso
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DSO
    signature: DSO *ossl_provider_dso(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_get_filename
      Src: /src/openssl/crypto/provider_core.c:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1699
    functionName: ossl_provider_module_name
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - DSO_get_filename
    linkageType: ''
    returnType: char
    signature: char *ossl_provider_module_name(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_get_filename
      Src: /src/openssl/crypto/provider_core.c:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1709
    functionName: ossl_provider_module_path
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - DSO_get_filename
    linkageType: ''
    returnType: char
    signature: char *ossl_provider_module_path(const OSSL_PROVIDER *prov)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1717
    functionName: ossl_provider_get0_dispatch
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DISPATCH
    signature: OSSL_DISPATCH *ossl_provider_get0_dispatch(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    functionName: ossl_provider_libctx
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_provider_libctx(const OSSL_PROVIDER *prov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1745,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider_core.c:1746,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1747,1
    - Dst: OSSL_PROVIDER*::teardown
      Src: /src/openssl/crypto/provider_core.c:1749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1751
    functionName: ossl_provider_teardown
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER*::teardown
    - ossl_provider_name
    - BIO_printf
    - OSSL_TRACE_END
    linkageType: ''
    returnType: void
    signature: void ossl_provider_teardown(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1745,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider_core.c:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1747
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_provider_name
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER*::gettable_params
      Src: /src/openssl/crypto/provider_core.c:1771,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1777,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider_core.c:1778,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1779,1
    - Dst: OSSL_PARAM_print_to_bio
      Src: /src/openssl/crypto/provider_core.c:1781,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1783,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1785,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1791
    functionName: ossl_provider_gettable_params
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER*::gettable_params
    - OSSL_TRACE_END
    - OSSL_PARAM_print_to_bio
    - OPENSSL_free
    - ossl_provider_name
    - BIO_printf
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ossl_provider_gettable_params(const OSSL_PROVIDER *prov)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1777,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/provider_core.c:1778,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1779,1
    - Dst: OSSL_PARAM_print_to_bio
      Src: /src/openssl/crypto/provider_core.c:1781,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:1783,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1787
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_print_to_bio
    - OPENSSL_free
    - ossl_provider_name
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER*::get_params
      Src: /src/openssl/crypto/provider_core.c:1814,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1818,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1821,1
    - Dst: OSSL_PARAM_print_to_bio
      Src: /src/openssl/crypto/provider_core.c:1822,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1823,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1825,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - prov
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1807
    functionDepth: 1
    functionLinenumber: 1807
    functionLinenumberEnd: 1830
    functionName: ossl_provider_get_params
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_print_to_bio
    - OSSL_PROVIDER*::get_params
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_provider_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM
      params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1818,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1821,1
    - Dst: OSSL_PARAM_print_to_bio
      Src: /src/openssl/crypto/provider_core.c:1822,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1823,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1827
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_print_to_bio
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER*::self_test
      Src: /src/openssl/crypto/provider_core.c:1851,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1856,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1860,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1863,1
    - Dst: provider_remove_store_methods
      Src: /src/openssl/crypto/provider_core.c:1866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1846
    functionDepth: 7
    functionLinenumber: 1846
    functionLinenumberEnd: 1868
    functionName: ossl_provider_self_test
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - provider_remove_store_methods
    - OSSL_PROVIDER*::self_test
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_provider_self_test(const OSSL_PROVIDER *prov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1856,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1863
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER*::random_bytes
      Src: /src/openssl/crypto/provider_core.c:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - prov
    - which
    - buf
    - n
    - strength
    argTypes:
    - OSSL_PROVIDER*
    - int
    - void*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1894
    functionName: ossl_provider_random_bytes
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER*::random_bytes
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_random_bytes(const OSSL_PROVIDER *prov, int which,\n
      \                              void *buf, size_t n, unsigned int strength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1904,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1908,1
    - Dst: OSSL_PROVIDER*::get_capabilities
      Src: /src/openssl/crypto/provider_core.c:1910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - prov
    - capability
    - cb
    - arg
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1896
    functionDepth: 1
    functionLinenumber: 1896
    functionLinenumberEnd: 1913
    functionName: ossl_provider_get_capabilities
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER*::get_capabilities
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_get_capabilities(const OSSL_PROVIDER *prov,\n                                   const
      char *capability,\n                                   OSSL_CALLBACK *cb,\n                                   void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1903
    functionDepth: 1
    functionLinenumber: 1903
    functionLinenumberEnd: 1908
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1942,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1944,1
    - Dst: OSSL_PROVIDER*::query_operation
      Src: /src/openssl/crypto/provider_core.c:1949,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1954,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1958,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1969,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:1971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - prov
    - operation_id
    - no_cache
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 1980
    functionName: ossl_provider_query_operation
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - OSSL_PROVIDER*::query_operation
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *ossl_provider_query_operation(const OSSL_PROVIDER
      *prov,\n                                                    int operation_id,\n
      \                                                   int *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1944
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1954,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1958,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:1969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1971
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:2003,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/provider_core.c:2008,1
    - Dst: OSSL_PROVIDER*::unquery_operation
      Src: /src/openssl/crypto/provider_core.c:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - prov
    - operation_id
    - algs
    argTypes:
    - OSSL_PROVIDER*
    - int
    - OSSL_ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1996
    functionDepth: 1
    functionLinenumber: 1996
    functionLinenumberEnd: 2012
    functionName: ossl_provider_unquery_operation
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 2
    functionsReached:
    - OSSL_TRACE_END
    - BIO_printf
    - OSSL_PROVIDER*::unquery_operation
    linkageType: ''
    returnType: void
    signature: "void ossl_provider_unquery_operation(const OSSL_PROVIDER *prov,\n
      \                                    int operation_id,\n                                     const
      OSSL_ALGORITHM *algs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/provider_core.c:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2008
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PROVIDER)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:2019,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/provider_core.c:2022,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2026,1
    - Dst: memset
      Src: /src/openssl/crypto/provider_core.c:2030,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - provider
    - bitnum
    argTypes:
    - OSSL_PROVIDER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2037
    functionName: ossl_provider_set_operation_bit
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_realloc
    - memset
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ossl_provider_set_operation_bit(OSSL_PROVIDER *provider, size_t
      bitnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/provider_core.c:2045,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_core.c:2046,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:2051,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - provider
    - bitnum
    - result
    argTypes:
    - OSSL_PROVIDER*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2039
    functionDepth: 1
    functionLinenumber: 2039
    functionLinenumberEnd: 2057
    functionName: ossl_provider_test_operation_bit
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - CRYPTO_THREAD_read_lock
    - ERR_raise
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_test_operation_bit(OSSL_PROVIDER *provider, size_t
      bitnum,\n                                     int *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2063
    functionName: ossl_provider_get_parent
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_CORE_HANDLE
    signature: OSSL_CORE_HANDLE *ossl_provider_get_parent(OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2068
    functionName: ossl_provider_is_child
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_provider_is_child(const OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - prov
    - handle
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2076
    functionName: ossl_provider_set_child
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_provider_set_child(OSSL_PROVIDER *prov, const OSSL_CORE_HANDLE
      *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:2085,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:2088,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/openssl/crypto/provider_core.c:2091,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/openssl/crypto/provider_core.c:2093,1
    - Dst: OSSL_PROVIDER_CHILD_CB*::global_props_cb
      Src: /src/openssl/crypto/provider_core.c:2094,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - libctx
    - props
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2078
    functionDepth: 6
    functionLinenumber: 2078
    functionLinenumberEnd: 2100
    functionName: ossl_provider_default_props_update
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - CRYPTO_THREAD_read_lock
    - OSSL_PROVIDER_CHILD_CB*::global_props_cb
    - CRYPTO_THREAD_unlock
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - get_provider_store
    linkageType: ''
    returnType: int
    signature: int ossl_provider_default_props_update(OSSL_LIB_CTX *libctx, const
      char *props)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:2126,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/provider_core.c:2129,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:2138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:2139,1
    - Dst: evp_get_global_properties_str
      Src: /src/openssl/crypto/provider_core.c:2142,1
    - Dst: global_props_cb
      Src: /src/openssl/crypto/provider_core.c:2145,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:2146,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/openssl/crypto/provider_core.c:2148,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:2152,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/provider_core.c:2154,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2157,1
    - Dst: create_cb
      Src: /src/openssl/crypto/provider_core.c:2167,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_push
      Src: /src/openssl/crypto/provider_core.c:2172,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_core.c:2177,1
    - Dst: remove_cb
      Src: /src/openssl/crypto/provider_core.c:2178,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:2180,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - handle
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2102
    functionDepth: 6
    functionLinenumber: 2102
    functionLinenumberEnd: 2186
    functionName: ossl_provider_register_child_cb
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PROVIDER_CHILD_CB_push
    - create_cb
    - global_props_cb
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - sk_OSSL_PROVIDER_value
    - sk_OSSL_PROVIDER_num
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - remove_cb
    - get_provider_store
    - OPENSSL_malloc
    - evp_get_global_properties_str
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_register_child_cb(const OSSL_CORE_HANDLE *handle,\n
      \                                          int (*create_cb)(\n                                               const
      OSSL_CORE_HANDLE *provider,\n                                               void
      *cbdata),\n                                           int (*remove_cb)(\n                                               const
      OSSL_CORE_HANDLE *provider,\n                                               void
      *cbdata),\n                                           int (*global_props_cb)(\n
      \                                              const char *props,\n                                               void
      *cbdata),\n                                           void *cbdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_provider_store
      Src: /src/openssl/crypto/provider_core.c:2200,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_core.c:2203,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_num
      Src: /src/openssl/crypto/provider_core.c:2205,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_value
      Src: /src/openssl/crypto/provider_core.c:2207,1
    - Dst: sk_OSSL_PROVIDER_CHILD_CB_delete
      Src: /src/openssl/crypto/provider_core.c:2210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_core.c:2211,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_core.c:2215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2188
    functionDepth: 6
    functionLinenumber: 2188
    functionLinenumberEnd: 2216
    functionName: ossl_provider_deregister_child_cb
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PROVIDER_CHILD_CB_num
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - sk_OSSL_PROVIDER_CHILD_CB_value
    - get_provider_store
    - sk_OSSL_PROVIDER_CHILD_CB_delete
    linkageType: ''
    returnType: void
    signature: void ossl_provider_deregister_child_cb(const OSSL_CORE_HANDLE *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2306
    functionName: core_gettable_params
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *core_gettable_params(const OSSL_CORE_HANDLE *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/provider_core.c:2317,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/crypto/provider_core.c:2318,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/provider_core.c:2319,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/crypto/provider_core.c:2320,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/provider_core.c:2323,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/crypto/provider_core.c:2325,1
    - Dst: ossl_provider_module_path
      Src: /src/openssl/crypto/provider_core.c:2325,1
    - Dst: OSSL_PROVIDER_get_conf_parameters
      Src: /src/openssl/crypto/provider_core.c:2328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - params
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2308
    functionDepth: 2
    functionLinenumber: 2308
    functionLinenumberEnd: 2329
    functionName: core_get_params
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_provider_module_path
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PROVIDER_get_conf_parameters
    linkageType: ''
    returnType: int
    signature: int core_get_params(const OSSL_CORE_HANDLE *handle, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/provider_core.c:2345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts:
    - condition: (prov != NULL)
      pos:
        line_end: 2344
        line_start: 2344
        source_file: /src/openssl/crypto/provider_core.c
    constantsTouched: []
    func_position:
      end: 2347
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2347
    functionName: core_get_libctx
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: OPENSSL_CORE_CTX
    signature: OPENSSL_CORE_CTX *core_get_libctx(const OSSL_CORE_HANDLE *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/provider_core.c:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - handfn
    - arg
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_thread_stop_handler_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2349
    functionDepth: 1
    functionLinenumber: 2349
    functionLinenumberEnd: 2360
    functionName: core_thread_start
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ossl_init_thread_start
    linkageType: ''
    returnType: int
    signature: "int core_thread_start(const OSSL_CORE_HANDLE *handle,\n                             OSSL_thread_stop_handler_fn
      handfn,\n                             void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_new
      Src: /src/openssl/crypto/provider_core.c:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2378
    functionName: core_new_error
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ERR_new
    linkageType: ''
    returnType: void
    signature: void core_new_error(const OSSL_CORE_HANDLE *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_debug
      Src: /src/openssl/crypto/provider_core.c:2383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - file
    - line
    - func
    argTypes:
    - OSSL_CORE_HANDLE*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2384
    functionName: core_set_error_debug
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ERR_set_debug
    linkageType: ''
    returnType: void
    signature: "void core_set_error_debug(const OSSL_CORE_HANDLE *handle,\n                                 const
      char *file, int line, const char *func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/provider_core.c:2400,1
    - Dst: ERR_vset_error
      Src: /src/openssl/crypto/provider_core.c:2401,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/provider_core.c:2401,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/provider_core.c:2401,1
    - Dst: ERR_vset_error
      Src: /src/openssl/crypto/provider_core.c:2403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - reason
    - fmt
    - args
    argTypes:
    - OSSL_CORE_HANDLE*
    - uint32_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2405
    functionName: core_vset_error
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ERR_vset_error
    - ERR_GET_LIB
    - ERR_GET_REASON
    linkageType: ''
    returnType: void
    signature: "void core_vset_error(const OSSL_CORE_HANDLE *handle,\n                            uint32_t
      reason, const char *fmt, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/provider_core.c:2409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2407
    functionDepth: 0
    functionLinenumber: 2407
    functionLinenumberEnd: 2410
    functionName: core_set_error_mark
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: int core_set_error_mark(const OSSL_CORE_HANDLE *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/provider_core.c:2414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2412
    functionDepth: 0
    functionLinenumber: 2412
    functionLinenumberEnd: 2415
    functionName: core_clear_last_error_mark
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int core_clear_last_error_mark(const OSSL_CORE_HANDLE *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/provider_core.c:2419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2420
    functionName: core_pop_error_to_mark
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    linkageType: ''
    returnType: int
    signature: int core_pop_error_to_mark(const OSSL_CORE_HANDLE *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/provider_core.c:2424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2425
    functionName: core_count_to_mark
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - ERR_count_to_mark
    linkageType: ''
    returnType: int
    signature: int core_count_to_mark(const OSSL_CORE_HANDLE *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_INDICATOR_get_callback
      Src: /src/openssl/crypto/provider_core.c:2430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - cb
    argTypes:
    - OPENSSL_CORE_CTX*
    - OSSL_INDICATOR_CALLBACK**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2431
    functionName: core_indicator_get_callback
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_INDICATOR_get_callback
    linkageType: ''
    returnType: void
    signature: "void core_indicator_get_callback(OPENSSL_CORE_CTX *libctx,\n                                        OSSL_INDICATOR_CALLBACK
      **cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/crypto/provider_core.c:2436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - cb
    - cbarg
    argTypes:
    - OPENSSL_CORE_CTX*
    - OSSL_CALLBACK**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2437
    functionName: core_self_test_get_callback
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    linkageType: ''
    returnType: void
    signature: "void core_self_test_get_callback(OPENSSL_CORE_CTX *libctx,\n                                        OSSL_CALLBACK
      **cb, void **cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get_entropy
      Src: /src/openssl/crypto/provider_core.c:2444,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - handle
    - pout
    - entropy
    - min_len
    - max_len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char**
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2440
    functionDepth: 1
    functionLinenumber: 2440
    functionLinenumberEnd: 2446
    functionName: rand_get_entropy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_rand_get_entropy
    - core_get_libctx
    linkageType: ''
    returnType: size_t
    signature: "size_t rand_get_entropy(const OSSL_CORE_HANDLE *handle,\n                               unsigned
      char **pout, int entropy,\n                               size_t min_len, size_t
      max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_jitter_get_seed
      Src: /src/openssl/crypto/provider_core.c:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - handle
    - pout
    - entropy
    - min_len
    - max_len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char**
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2465
    functionDepth: 0
    functionLinenumber: 2465
    functionLinenumberEnd: 2470
    functionName: rand_get_entropy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_rand_jitter_get_seed
    linkageType: ''
    returnType: size_t
    signature: "size_t rand_get_entropy(const OSSL_CORE_HANDLE *handle,\n                               unsigned
      char **pout, int entropy,\n                               size_t min_len, size_t
      max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get_user_entropy
      Src: /src/openssl/crypto/provider_core.c:2477,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - handle
    - pout
    - entropy
    - min_len
    - max_len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char**
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2473
    functionDepth: 1
    functionLinenumber: 2473
    functionLinenumberEnd: 2479
    functionName: rand_get_user_entropy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_rand_get_user_entropy
    - core_get_libctx
    linkageType: ''
    returnType: size_t
    signature: "size_t rand_get_user_entropy(const OSSL_CORE_HANDLE *handle,\n                                    unsigned
      char **pout, int entropy,\n                                    size_t min_len,
      size_t max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_cleanup_entropy
      Src: /src/openssl/crypto/provider_core.c:2484,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2481
    functionDepth: 1
    functionLinenumber: 2481
    functionLinenumberEnd: 2486
    functionName: rand_cleanup_entropy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - core_get_libctx
    - ossl_rand_cleanup_entropy
    linkageType: ''
    returnType: void
    signature: "void rand_cleanup_entropy(const OSSL_CORE_HANDLE *handle,\n                                 unsigned
      char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_cleanup_user_entropy
      Src: /src/openssl/crypto/provider_core.c:2491,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2493
    functionName: rand_cleanup_user_entropy
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - core_get_libctx
    - ossl_rand_cleanup_user_entropy
    linkageType: ''
    returnType: void
    signature: "void rand_cleanup_user_entropy(const OSSL_CORE_HANDLE *handle,\n                                      unsigned
      char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get_nonce
      Src: /src/openssl/crypto/provider_core.c:2500,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - handle
    - pout
    - min_len
    - max_len
    - salt
    - salt_len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char**
    - size_t
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2495
    functionDepth: 1
    functionLinenumber: 2495
    functionLinenumberEnd: 2502
    functionName: rand_get_nonce
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_rand_get_nonce
    - core_get_libctx
    linkageType: ''
    returnType: size_t
    signature: "size_t rand_get_nonce(const OSSL_CORE_HANDLE *handle,\n                             unsigned
      char **pout,\n                             size_t min_len, size_t max_len,\n
      \                            const void *salt, size_t salt_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get_user_nonce
      Src: /src/openssl/crypto/provider_core.c:2509,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - handle
    - pout
    - min_len
    - max_len
    - salt
    - salt_len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char**
    - size_t
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2504
    functionDepth: 1
    functionLinenumber: 2504
    functionLinenumberEnd: 2511
    functionName: rand_get_user_nonce
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_rand_get_user_nonce
    - core_get_libctx
    linkageType: ''
    returnType: size_t
    signature: "size_t rand_get_user_nonce(const OSSL_CORE_HANDLE *handle,\n                                  unsigned
      char **pout,\n                                  size_t min_len, size_t max_len,\n
      \                                 const void *salt, size_t salt_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_cleanup_nonce
      Src: /src/openssl/crypto/provider_core.c:2516,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2513
    functionDepth: 1
    functionLinenumber: 2513
    functionLinenumberEnd: 2518
    functionName: rand_cleanup_nonce
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_rand_cleanup_nonce
    - core_get_libctx
    linkageType: ''
    returnType: void
    signature: "void rand_cleanup_nonce(const OSSL_CORE_HANDLE *handle,\n                               unsigned
      char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_cleanup_user_nonce
      Src: /src/openssl/crypto/provider_core.c:2523,1
    - Dst: core_get_libctx
      Src: /src/openssl/crypto/provider_core.c:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - OSSL_CORE_HANDLE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2520
    functionDepth: 1
    functionLinenumber: 2520
    functionLinenumberEnd: 2525
    functionName: rand_cleanup_user_nonce
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 1
    functionsReached:
    - ossl_rand_cleanup_user_nonce
    - core_get_libctx
    linkageType: ''
    returnType: void
    signature: "void rand_cleanup_user_nonce(const OSSL_CORE_HANDLE *handle,\n                               unsigned
      char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/provider_core.c:2529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2527
    functionDepth: 2
    functionLinenumber: 2527
    functionLinenumberEnd: 2530
    functionName: core_provider_get0_name
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: char
    signature: char *core_provider_get0_name(const OSSL_CORE_HANDLE *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/provider_core.c:2534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 2
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: core_provider_get0_provider_ctx
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_provider_ctx
    linkageType: ''
    returnType: void
    signature: void *core_provider_get0_provider_ctx(const OSSL_CORE_HANDLE *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get0_dispatch
      Src: /src/openssl/crypto/provider_core.c:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2537
    functionDepth: 2
    functionLinenumber: 2537
    functionLinenumberEnd: 2541
    functionName: core_provider_get0_dispatch
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get0_dispatch
    linkageType: ''
    returnType: OSSL_DISPATCH
    signature: 'OSSL_DISPATCH *

      core_provider_get0_dispatch(const OSSL_CORE_HANDLE *prov)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: provider_up_ref_intern
      Src: /src/openssl/crypto/provider_core.c:2546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_CORE_HANDLE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2543
    functionDepth: 3
    functionLinenumber: 2543
    functionLinenumberEnd: 2547
    functionName: core_provider_up_ref_intern
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - provider_up_ref_intern
    linkageType: ''
    returnType: int
    signature: "int core_provider_up_ref_intern(const OSSL_CORE_HANDLE *prov,\n                                       int
      activate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: provider_free_intern
      Src: /src/openssl/crypto/provider_core.c:2552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_CORE_HANDLE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2549
    functionDepth: 2
    functionLinenumber: 2549
    functionLinenumberEnd: 2553
    functionName: core_provider_free_intern
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - provider_free_intern
    linkageType: ''
    returnType: int
    signature: "int core_provider_free_intern(const OSSL_CORE_HANDLE *prov,\n                                     int
      deactivate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/provider_core.c:2559,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/provider_core.c:2561,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/provider_core.c:2564,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/provider_core.c:2574,1
    - Dst: OBJ_add_sigid
      Src: /src/openssl/crypto/provider_core.c:2580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - prov
    - sign_name
    - digest_name
    - pkey_name
    argTypes:
    - OSSL_CORE_HANDLE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2581
      start: 2555
    functionDepth: 1
    functionLinenumber: 2555
    functionLinenumberEnd: 2581
    functionName: core_obj_add_sigid
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OBJ_find_sigid_algs
    - OBJ_add_sigid
    - OBJ_txt2nid
    linkageType: ''
    returnType: int
    signature: "int core_obj_add_sigid(const OSSL_CORE_HANDLE *prov,\n                              const
      char *sign_name, const char *digest_name,\n                              const
      char *pkey_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/provider_core.c:2587,1
    - Dst: OBJ_create
      Src: /src/openssl/crypto/provider_core.c:2588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - prov
    - oid
    - sn
    - ln
    argTypes:
    - OSSL_CORE_HANDLE*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2583
    functionDepth: 1
    functionLinenumber: 2583
    functionLinenumberEnd: 2589
    functionName: core_obj_create
    functionSourceFile: /src/openssl/crypto/provider_core.c
    functionUses: 0
    functionsReached:
    - OBJ_create
    - OBJ_txt2nid
    linkageType: ''
    returnType: int
    signature: "int core_obj_create(const OSSL_CORE_HANDLE *prov, const char *oid,\n
      \                          const char *sn, const char *ln)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: __power_set
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __power_set(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/openssl/crypto/ppccap.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ill_handler
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 0
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: void ill_handler(int sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc_mftb
      Src: /src/openssl/crypto/ppccap.c:56,1
    - Dst: OPENSSL_rdtsc_mfspr268
      Src: /src/openssl/crypto/ppccap.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 0
    functionsReached:
    - OPENSSL_rdtsc_mfspr268
    - OPENSSL_rdtsc_mftb
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OPENSSL_rdtsc(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_instrument_bus_mftb
      Src: /src/openssl/crypto/ppccap.c:69,1
    - Dst: OPENSSL_instrument_bus_mfspr268
      Src: /src/openssl/crypto/ppccap.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - out
    - cnt
    argTypes:
    - unsigned int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: OPENSSL_instrument_bus
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 0
    functionsReached:
    - OPENSSL_instrument_bus_mfspr268
    - OPENSSL_instrument_bus_mftb
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_instrument_bus(unsigned int *out, size_t cnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_instrument_bus2_mftb
      Src: /src/openssl/crypto/ppccap.c:82,1
    - Dst: OPENSSL_instrument_bus2_mfspr268
      Src: /src/openssl/crypto/ppccap.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - cnt
    - max
    argTypes:
    - unsigned int*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: OPENSSL_instrument_bus2
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 0
    functionsReached:
    - OPENSSL_instrument_bus2_mftb
    - OPENSSL_instrument_bus2_mfspr268
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_instrument_bus2(unsigned int *out, size_t cnt, size_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/openssl/crypto/ppccap.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: getauxval
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 3
    functionsReached:
    - elf_aux_info
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long getauxval(unsigned long key)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/crypto/ppccap.c:149,1
    - Dst: strtoul
      Src: /src/openssl/crypto/ppccap.c:150,1
    - Dst: sysconf
      Src: /src/openssl/crypto/ppccap.c:162,1
    - Dst: uname
      Src: /src/openssl/crypto/ppccap.c:165,1
    - Dst: atoi
      Src: /src/openssl/crypto/ppccap.c:165,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:177,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:181,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:185,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:188,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:191,1
    - Dst: __power_set
      Src: /src/openssl/crypto/ppccap.c:194,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/ppccap.c:208,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/ppccap.c:214,1
    - Dst: getauxval
      Src: /src/openssl/crypto/ppccap.c:225,1
    - Dst: getauxval
      Src: /src/openssl/crypto/ppccap.c:226,1
    - Dst: sigfillset
      Src: /src/openssl/crypto/ppccap.c:259,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:260,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:261,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:263,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:265,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:266,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/ppccap.c:267,1
    - Dst: memset
      Src: /src/openssl/crypto/ppccap.c:269,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/ppccap.c:273,1
    - Dst: sigaction
      Src: /src/openssl/crypto/ppccap.c:274,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:277,1
    - Dst: OPENSSL_fpu_probe
      Src: /src/openssl/crypto/ppccap.c:278,1
    - Dst: uname
      Src: /src/openssl/crypto/ppccap.c:284,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ppccap.c:284,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:286,1
    - Dst: OPENSSL_ppc64_probe
      Src: /src/openssl/crypto/ppccap.c:287,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:297,1
    - Dst: OPENSSL_altivec_probe
      Src: /src/openssl/crypto/ppccap.c:298,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:300,1
    - Dst: OPENSSL_crypto207_probe
      Src: /src/openssl/crypto/ppccap.c:301,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:306,1
    - Dst: OPENSSL_madd300_probe
      Src: /src/openssl/crypto/ppccap.c:307,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:312,1
    - Dst: OPENSSL_rdtsc_mftb
      Src: /src/openssl/crypto/ppccap.c:313,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/ppccap.c:315,1
    - Dst: OPENSSL_rdtsc_mfspr268
      Src: /src/openssl/crypto/ppccap.c:316,1
    - Dst: sigaction
      Src: /src/openssl/crypto/ppccap.c:320,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/ppccap.c:321,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 322
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/ppccap.c
    functionUses: 0
    functionsReached:
    - OPENSSL_altivec_probe
    - atoi
    - OPENSSL_fpu_probe
    - sigsetjmp
    - OPENSSL_rdtsc_mfspr268
    - sigdelset
    - sigaction
    - OPENSSL_rdtsc_mftb
    - strcmp
    - OPENSSL_crypto207_probe
    - sysctlbyname
    - getenv
    - OPENSSL_ppc64_probe
    - uname
    - getauxval
    - sigfillset
    - OPENSSL_madd300_probe
    - memset
    - sysconf
    - strtoul
    - sigprocmask
    - __power_set
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/LPdir_vms.c:96,1
    - Dst: malloc
      Src: /src/openssl/crypto/LPdir_vms.c:119,1
    - Dst: memset
      Src: /src/openssl/crypto/LPdir_vms.c:124,1
    - Dst: strcpy
      Src: /src/openssl/crypto/LPdir_vms.c:126,1
    - Dst: strcat
      Src: /src/openssl/crypto/LPdir_vms.c:127,1
    - Dst: strcpy
      Src: /src/openssl/crypto/LPdir_vms.c:134,1
    - Dst: lib$find_file
      Src: /src/openssl/crypto/LPdir_vms.c:150,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/openssl/crypto/LPdir_vms.c:159,1
    - Dst: strncpy
      Src: /src/openssl/crypto/LPdir_vms.c:184,1
    - Dst: str$free1_dx
      Src: /src/openssl/crypto/LPdir_vms.c:186,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 189
    functionName: LP_find_file
    functionSourceFile: /src/openssl/crypto/LPdir_vms.c
    functionUses: 0
    functionsReached:
    - strncpy
    - strcpy
    - memset
    - str$free1_dx
    - $VMS_STATUS_SUCCESS
    - malloc
    - strcat
    - lib$find_file
    - strlen
    linkageType: ''
    returnType: char
    signature: char *LP_find_file(LP_DIR_CTX **ctx, const char *directory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lib$find_file_end
      Src: /src/openssl/crypto/LPdir_vms.c:194,1
    - Dst: free
      Src: /src/openssl/crypto/LPdir_vms.c:196,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/openssl/crypto/LPdir_vms.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: LP_find_file_end
    functionSourceFile: /src/openssl/crypto/LPdir_vms.c
    functionUses: 0
    functionsReached:
    - free
    - lib$find_file_end
    - $VMS_STATUS_SUCCESS
    linkageType: ''
    returnType: int
    signature: int LP_find_file_end(LP_DIR_CTX **ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: LOAD
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: INCREMENT
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCREMENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: LOAD
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: FAILTEST
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILTEST()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - malloc_fn
    - realloc_fn
    - free_fn
    argTypes:
    - CRYPTO_malloc_fn
    - CRYPTO_realloc_fn
    - CRYPTO_free_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: CRYPTO_set_mem_functions
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_set_mem_functions(CRYPTO_malloc_fn malloc_fn,\n                             CRYPTO_realloc_fn
      realloc_fn,\n                             CRYPTO_free_fn free_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - malloc_fn
    - realloc_fn
    - free_fn
    argTypes:
    - CRYPTO_malloc_fn*
    - CRYPTO_realloc_fn*
    - CRYPTO_free_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: CRYPTO_get_mem_functions
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_get_mem_functions(CRYPTO_malloc_fn *malloc_fn,\n                              CRYPTO_realloc_fn
      *realloc_fn,\n                              CRYPTO_free_fn *free_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOAD
      Src: /src/openssl/crypto/mem.c:90,1
    - Dst: LOAD
      Src: /src/openssl/crypto/mem.c:92,1
    - Dst: LOAD
      Src: /src/openssl/crypto/mem.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - mcount
    - rcount
    - fcount
    argTypes:
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: CRYPTO_get_alloc_counts
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - LOAD
    linkageType: ''
    returnType: void
    signature: void CRYPTO_get_alloc_counts(int *mcount, int *rcount, int *fcount)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/mem.c:111,1
    - Dst: atol
      Src: /src/openssl/crypto/mem.c:118,1
    - Dst: strchr
      Src: /src/openssl/crypto/mem.c:119,1
    - Dst: atof
      Src: /src/openssl/crypto/mem.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: parseit
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - atof
    - strchr
    - atol
    linkageType: ''
    returnType: void
    signature: void parseit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: random
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: random()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - seed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: srandom
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: srandom(seed)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/openssl/crypto/mem.c:140,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/mem.c:148,1
    - Dst: strlen
      Src: /src/openssl/crypto/mem.c:151,1
    - Dst: write
      Src: /src/openssl/crypto/mem.c:152,1
    - Dst: perror
      Src: /src/openssl/crypto/mem.c:153,1
    - Dst: parseit
      Src: /src/openssl/crypto/mem.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 164
    functionName: shouldfail
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - write
    - perror
    - parseit
    - BIO_snprintf
    - random
    - strlen
    linkageType: ''
    returnType: int
    signature: int shouldfail(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/crypto/mem.c:168,1
    - Dst: strlen
      Src: /src/openssl/crypto/mem.c:173,1
    - Dst: strncpy
      Src: /src/openssl/crypto/mem.c:175,1
    - Dst: parseit
      Src: /src/openssl/crypto/mem.c:177,1
    - Dst: getenv
      Src: /src/openssl/crypto/mem.c:180,1
    - Dst: atoi
      Src: /src/openssl/crypto/mem.c:181,1
    - Dst: getenv
      Src: /src/openssl/crypto/mem.c:182,1
    - Dst: srandom
      Src: /src/openssl/crypto/mem.c:183,1
    - Dst: atoi
      Src: /src/openssl/crypto/mem.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 184
    functionName: ossl_malloc_setup_failures
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - strncpy
    - parseit
    - atoi
    - srandom
    - strlen
    - getenv
    linkageType: ''
    returnType: void
    signature: void ossl_malloc_setup_failures(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/openssl/crypto/mem.c:191,1
    - Dst: malloc_impl
      Src: /src/openssl/crypto/mem.c:193,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/mem.c:199,1
    - Dst: FAILTEST
      Src: /src/openssl/crypto/mem.c:202,1
    - Dst: malloc
      Src: /src/openssl/crypto/mem.c:212,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/mem.c:213,1
    - Dst: ossl_report_alloc_err
      Src: /src/openssl/crypto/mem.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 218
    functionName: CRYPTO_malloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 1
    functionsReached:
    - ossl_unlikely
    - INCREMENT
    - ossl_report_alloc_err
    - malloc_impl
    - malloc
    - ossl_likely
    - FAILTEST
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_malloc(size_t num, const char *file, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem.c:224,1
    - Dst: memset
      Src: /src/openssl/crypto/mem.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: CRYPTO_zalloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 2
    functionsReached:
    - CRYPTO_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_zalloc(size_t num, const char *file, int line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_report_alloc_err_inv
      Src: /src/openssl/crypto/mem.c:245,1
    - Dst: posix_memalign
      Src: /src/openssl/crypto/mem.c:258,1
    - Dst: ossl_report_alloc_err_inv
      Src: /src/openssl/crypto/mem.c:262,1
    - Dst: ossl_report_alloc_err
      Src: /src/openssl/crypto/mem.c:265,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/mem.c:284,1
    - Dst: ossl_size_add
      Src: /src/openssl/crypto/mem.c:284,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem.c:291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - num
    - alignment
    - freeptr
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 312
    functionName: CRYPTO_aligned_alloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - ossl_report_alloc_err_inv
    - ossl_unlikely
    - posix_memalign
    - CRYPTO_malloc
    - ossl_size_add
    - ossl_report_alloc_err
    linkageType: ''
    returnType: void
    signature: "void *CRYPTO_aligned_alloc(size_t num, size_t alignment, void **freeptr,\n
      \                          const char *file, int line)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/openssl/crypto/mem.c:318,1
    - Dst: realloc_impl
      Src: /src/openssl/crypto/mem.c:320,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem.c:329,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem.c:332,1
    - Dst: FAILTEST
      Src: /src/openssl/crypto/mem.c:336,1
    - Dst: realloc
      Src: /src/openssl/crypto/mem.c:337,1
    - Dst: ossl_report_alloc_err
      Src: /src/openssl/crypto/mem.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - str
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 344
    functionName: CRYPTO_realloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - realloc
    - INCREMENT
    - ossl_report_alloc_err
    - realloc_impl
    - CRYPTO_free
    - CRYPTO_malloc
    - FAILTEST
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_realloc(void *str, size_t num, const char *file, int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem.c:352,1
    - Dst: CRYPTO_clear_free
      Src: /src/openssl/crypto/mem.c:355,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/mem.c:361,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/mem.c:365,1
    - Dst: memcpy
      Src: /src/openssl/crypto/mem.c:367,1
    - Dst: CRYPTO_clear_free
      Src: /src/openssl/crypto/mem.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - str
    - old_len
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 371
    functionName: CRYPTO_clear_realloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CRYPTO_malloc
    - OPENSSL_cleanse
    - CRYPTO_clear_free
    linkageType: ''
    returnType: void
    signature: "void *CRYPTO_clear_realloc(void *str, size_t old_len, size_t num,\n
      \                          const char *file, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INCREMENT
      Src: /src/openssl/crypto/mem.c:375,1
    - Dst: free_impl
      Src: /src/openssl/crypto/mem.c:377,1
    - Dst: free
      Src: /src/openssl/crypto/mem.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - str
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: CRYPTO_free
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 3
    functionsReached:
    - free
    - INCREMENT
    - free_impl
    linkageType: ''
    returnType: void
    signature: void CRYPTO_free(void *str, const char *file, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/mem.c:389,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/mem.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - str
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: CRYPTO_clear_free
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void CRYPTO_clear_free(void *str, size_t num, const char *file, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: CRYPTO_mem_ctrl
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_mem_ctrl(int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: CRYPTO_set_mem_debug
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_set_mem_debug(int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - info
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: CRYPTO_mem_debug_push
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_mem_debug_push(const char *info, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: CRYPTO_mem_debug_pop
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_mem_debug_pop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - addr
    - num
    - flag
    - file
    - line
    argTypes:
    - void*
    - size_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: CRYPTO_mem_debug_malloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_mem_debug_malloc(void *addr, size_t num, int flag,\n                             const
      char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - addr1
    - addr2
    - num
    - flag
    - file
    - line
    argTypes:
    - void*
    - void*
    - size_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: CRYPTO_mem_debug_realloc
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_mem_debug_realloc(void *addr1, void *addr2, size_t num,
      int flag,\n                              const char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - addr
    - flag
    - file
    - line
    argTypes:
    - void*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: CRYPTO_mem_debug_free
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_mem_debug_free(void *addr, int flag,\n                           const
      char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: CRYPTO_mem_leaks
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_mem_leaks(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: CRYPTO_mem_leaks_fp
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_mem_leaks_fp(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: CRYPTO_mem_leaks_cb
    functionSourceFile: /src/openssl/crypto/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_mem_leaks_cb(int (*cb)(const char *str, size_t len, void
      *u),\n                        void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - srce
    - count
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 347
    functionName: ebcdic2ascii
    functionSourceFile: /src/openssl/crypto/ebcdic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ebcdic2ascii(void *dest, const void *srce, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - srce
    - count
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: ascii2ebcdic
    functionSourceFile: /src/openssl/crypto/ebcdic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ascii2ebcdic(void *dest, const void *srce, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/cpuid.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: ossl_getenv
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached:
    - GetEnvironmentVariableW
    linkageType: ''
    returnType: variant_char
    signature: variant_char *ossl_getenv(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/cpuid.c:54,1
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/cpuid.c:56,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/cpuid.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - variant_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: todigit
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached:
    - ossl_isdigit
    - ossl_tolower
    - ossl_isxdigit
    linkageType: ''
    returnType: int
    signature: int todigit(variant_char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/cpuid.c:70,1
    - Dst: todigit
      Src: /src/openssl/crypto/cpuid.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - variant_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: ossl_strtouint64
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached:
    - todigit
    - ossl_tolower
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_strtouint64(const variant_char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - srch
    argTypes:
    - variant_char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: ossl_strchr
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: variant_char
    signature: variant_char *ossl_strchr(const variant_char *str, char srch)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_getenv
      Src: /src/openssl/crypto/cpuid.c:107,1
    - Dst: ossl_strtouint64
      Src: /src/openssl/crypto/cpuid.c:110,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/openssl/crypto/cpuid.c:114,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/openssl/crypto/cpuid.c:127,1
    - Dst: ossl_strchr
      Src: /src/openssl/crypto/cpuid.c:131,1
    - Dst: ossl_strtouint64
      Src: /src/openssl/crypto/cpuid.c:140,1
    - Dst: ossl_strchr
      Src: /src/openssl/crypto/cpuid.c:150,1
    - Dst: OPENSSL_ia32_cpuid
      Src: /src/openssl/crypto/cpuid.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 172
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached:
    - OPENSSL_ia32_cpuid
    - ossl_strtouint64
    - ossl_strchr
    - ossl_getenv
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - in_a
    - in_b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: CRYPTO_memcmp
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: OPENSSL_rdtsc
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OPENSSL_rdtsc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - cnt
    argTypes:
    - unsigned int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: OPENSSL_instrument_bus
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_instrument_bus(unsigned int *out, size_t cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - cnt
    - max
    argTypes:
    - unsigned int*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: OPENSSL_instrument_bus2
    functionSourceFile: /src/openssl/crypto/cpuid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_instrument_bus2(unsigned int *out, size_t cnt, size_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/ssl_err.c:631,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/ssl_err.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 635
    functionName: ossl_err_load_SSL_strings
    functionSourceFile: /src/openssl/crypto/ssl_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_SSL_strings(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/initthread.c:61,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_new_null
      Src: /src/openssl/crypto/initthread.c:65,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/initthread.c:66,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_free
      Src: /src/openssl/crypto/initthread.c:68,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/initthread.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - sk_THREAD_EVENT_HANDLER_PTR_new_null
    - CRYPTO_THREAD_lock_free
    - sk_THREAD_EVENT_HANDLER_PTR_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(create_global_tevent_register)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/initthread.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: get_global_tevent_register
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: GLOBAL_TEVENT_REGISTER
    signature: GLOBAL_TEVENT_REGISTER *get_global_tevent_register(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/initthread.c:116,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/initthread.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: get_thread_event_handler
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: THREAD_EVENT_HANDLER
    signature: THREAD_EVENT_HANDLER ** get_thread_event_handler(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/initthread.c:127,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/initthread.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - hands
    argTypes:
    - OSSL_LIB_CTX*
    - THREAD_EVENT_HANDLER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: set_thread_event_handler
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_set_local
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: int
    signature: int set_thread_event_handler(OSSL_LIB_CTX *ctx, THREAD_EVENT_HANDLER
      **hands)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_thread_event_handler
      Src: /src/openssl/crypto/initthread.c:138,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/initthread.c:143,1
    - Dst: set_thread_event_handler
      Src: /src/openssl/crypto/initthread.c:146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:147,1
    - Dst: init_thread_push_handlers
      Src: /src/openssl/crypto/initthread.c:151,1
    - Dst: set_thread_event_handler
      Src: /src/openssl/crypto/initthread.c:152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:153,1
    - Dst: set_thread_event_handler
      Src: /src/openssl/crypto/initthread.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 163
    functionName: manage_thread_local
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - get_thread_event_handler
    - set_thread_event_handler
    - OPENSSL_free
    - init_thread_push_handlers
    linkageType: ''
    returnType: THREAD_EVENT_HANDLER
    signature: 'THREAD_EVENT_HANDLER **

      manage_thread_local(OSSL_LIB_CTX *ctx, int alloc, int keep)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: manage_thread_local
      Src: /src/openssl/crypto/initthread.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: THREAD_EVENT_HANDLER **clear_thread_local(OSSL_LIB_CTX *ctx)
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - manage_thread_local
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline THREAD_EVENT_HANDLER **clear_thread_local(OSSL_LIB_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: manage_thread_local
      Src: /src/openssl/crypto/initthread.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: fetch_thread_local
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - manage_thread_local
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline **fetch_thread_local(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: manage_thread_local
      Src: /src/openssl/crypto/initthread.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: THREAD_EVENT_HANDLER **alloc_thread_local(OSSL_LIB_CTX *ctx)
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - manage_thread_local
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline THREAD_EVENT_HANDLER **alloc_thread_local(OSSL_LIB_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_global_tevent_register
      Src: /src/openssl/crypto/initthread.c:196,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/initthread.c:200,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_push
      Src: /src/openssl/crypto/initthread.c:202,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - hands
    argTypes:
    - THREAD_EVENT_HANDLER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: init_thread_push_handlers
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 1
    functionsReached:
    - sk_THREAD_EVENT_HANDLER_PTR_push
    - get_global_tevent_register
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int init_thread_push_handlers(THREAD_EVENT_HANDLER **hands)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_global_tevent_register
      Src: /src/openssl/crypto/initthread.c:213,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/initthread.c:216,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_num
      Src: /src/openssl/crypto/initthread.c:218,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_value
      Src: /src/openssl/crypto/initthread.c:220,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_delete
      Src: /src/openssl/crypto/initthread.c:223,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:224,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - handsin
    argTypes:
    - THREAD_EVENT_HANDLER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 230
    functionName: init_thread_remove_handlers
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - sk_THREAD_EVENT_HANDLER_PTR_value
    - get_global_tevent_register
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - sk_THREAD_EVENT_HANDLER_PTR_delete
    - sk_THREAD_EVENT_HANDLER_PTR_num
    linkageType: ''
    returnType: void
    signature: void init_thread_remove_handlers(THREAD_EVENT_HANDLER **handsin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_thread_stop
      Src: /src/openssl/crypto/initthread.c:234,1
    - Dst: init_thread_remove_handlers
      Src: /src/openssl/crypto/initthread.c:235,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hands
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: init_thread_destructor
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - init_thread_stop
    - init_thread_remove_handlers
    linkageType: ''
    returnType: void
    signature: void init_thread_destructor(void *hands)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/crypto/initthread.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: ossl_init_thread
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: int
    signature: int ossl_init_thread(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_thread_deregister
      Src: /src/openssl/crypto/initthread.c:250,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/crypto/initthread.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: ossl_cleanup_thread
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_cleanup_local
    - init_thread_deregister
    linkageType: ''
    returnType: void
    signature: void ossl_cleanup_thread(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/initthread.c:257,1
    - Dst: ossl_ctx_thread_stop
      Src: /src/openssl/crypto/initthread.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: OPENSSL_thread_stop_ex
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_concrete
    - ossl_ctx_thread_stop
    linkageType: ''
    returnType: void
    signature: void OPENSSL_thread_stop_ex(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_thread_local
      Src: /src/openssl/crypto/initthread.c:269,1
    - Dst: init_thread_stop
      Src: /src/openssl/crypto/initthread.c:271,1
    - Dst: init_thread_remove_handlers
      Src: /src/openssl/crypto/initthread.c:273,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: OPENSSL_thread_stop
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - clear_thread_local
    - init_thread_stop
    - init_thread_remove_handlers
    linkageType: ''
    returnType: void
    signature: void OPENSSL_thread_stop(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fetch_thread_local
      Src: /src/openssl/crypto/initthread.c:281,1
    - Dst: init_thread_stop
      Src: /src/openssl/crypto/initthread.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: ossl_ctx_thread_stop
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 2
    functionsReached:
    - fetch_thread_local
    - init_thread_stop
    linkageType: ''
    returnType: void
    signature: void ossl_ctx_thread_stop(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_thread_start
      Src: /src/openssl/crypto/initthread.c:294,1
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/crypto/initthread.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: ossl_thread_register_fips
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - FIPS_get_core_handle
    - c_thread_start
    linkageType: ''
    returnType: int
    signature: int ossl_thread_register_fips(OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/initthread.c:302,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/initthread.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 323
    functionName: ossl_thread_event_ctx_new
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: int
    signature: int ossl_thread_event_ctx_new(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/initthread.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: ossl_thread_event_ctx_free
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: void
    signature: void ossl_thread_event_ctx_free(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_thread_stop
      Src: /src/openssl/crypto/initthread.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 6
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: ossl_arg_thread_stop
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 0
    functionsReached:
    - ossl_ctx_thread_stop
    linkageType: ''
    returnType: void
    signature: void ossl_arg_thread_stop(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_thread_local
      Src: /src/openssl/crypto/initthread.c:339,1
    - Dst: init_thread_stop
      Src: /src/openssl/crypto/initthread.c:340,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: ossl_ctx_thread_stop
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - clear_thread_local
    - init_thread_stop
    linkageType: ''
    returnType: void
    signature: void ossl_ctx_thread_stop(OSSL_LIB_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_global_tevent_register
      Src: /src/openssl/crypto/initthread.c:358,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/initthread.c:362,1
    - Dst: THREAD_EVENT_HANDLER*::handfn
      Src: /src/openssl/crypto/initthread.c:373,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:382,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:385,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - arg
    - hands
    argTypes:
    - void*
    - THREAD_EVENT_HANDLER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 387
    functionName: init_thread_stop
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 4
    functionsReached:
    - get_global_tevent_register
    - CRYPTO_THREAD_write_lock
    - THREAD_EVENT_HANDLER*::handfn
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void init_thread_stop(void *arg, THREAD_EVENT_HANDLER **hands)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alloc_thread_local
      Src: /src/openssl/crypto/initthread.c:405,1
    - Dst: ossl_thread_register_fips
      Src: /src/openssl/crypto/initthread.c:417,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/initthread.c:422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - index
    - arg
    - handfn
    argTypes:
    - void*
    - void*
    - OSSL_thread_stop_handler_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 435
    functionName: ossl_init_thread_start
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 2
    functionsReached:
    - alloc_thread_local
    - OPENSSL_malloc
    - ossl_thread_register_fips
    linkageType: ''
    returnType: int
    signature: "int ossl_init_thread_start(const void *index, void *arg,\n                           OSSL_thread_stop_handler_fn
      handfn)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_global_tevent_register
      Src: /src/openssl/crypto/initthread.c:443,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/initthread.c:447,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_num
      Src: /src/openssl/crypto/initthread.c:452,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_value
      Src: /src/openssl/crypto/initthread.c:454,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:459,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:471,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:478,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/initthread.c:481,1
    - Dst: sk_THREAD_EVENT_HANDLER_PTR_free
      Src: /src/openssl/crypto/initthread.c:482,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/initthread.c:483,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/initthread.c:485,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - index
    - all
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 488
    functionName: init_thread_deregister
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - sk_THREAD_EVENT_HANDLER_PTR_free
    - sk_THREAD_EVENT_HANDLER_PTR_value
    - get_global_tevent_register
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - sk_THREAD_EVENT_HANDLER_PTR_num
    linkageType: ''
    returnType: int
    signature: int init_thread_deregister(void *index, int all)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_thread_deregister
      Src: /src/openssl/crypto/initthread.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: ossl_init_thread_deregister
    functionSourceFile: /src/openssl/crypto/initthread.c
    functionUses: 1
    functionsReached:
    - init_thread_deregister
    linkageType: ''
    returnType: int
    signature: int ossl_init_thread_deregister(void *index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rd
    - ','
    - rs
    - ','
    - rt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: mflo
    functionSourceFile: /src/openssl/crypto/mips_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mflo(rd,rs,rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rd
    - ','
    - rs
    - ','
    - rt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: mfhi
    functionSourceFile: /src/openssl/crypto/mips_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mfhi(rd,rs,rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rd
    - ','
    - rs
    - ','
    - rt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: mflo
    functionSourceFile: /src/openssl/crypto/mips_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mflo(rd,rs,rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rd
    - ','
    - rs
    - ','
    - rt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: mfhi
    functionSourceFile: /src/openssl/crypto/mips_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mfhi(rd,rs,rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rs
    - ','
    - rt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: dmultu
    functionSourceFile: /src/openssl/crypto/mips_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmultu(rs,rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rs
    - ','
    - rt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: multu
    functionSourceFile: /src/openssl/crypto/mips_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: multu(rs,rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rd
    - ','
    - rs
    - ','
    - rt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mflo
    functionSourceFile: /src/openssl/crypto/mips_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mflo(rd,rs,rt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rd
    - ','
    - rs
    - ','
    - rt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: mfhi
    functionSourceFile: /src/openssl/crypto/mips_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mfhi(rd,rs,rt)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - v
    - n
    argTypes:
    - uint8_t*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 28
    functionName: ossl_quic_vlint_encode_n
    functionSourceFile: /src/openssl/crypto/quic_vlint.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_vlint_encode_n(uint8_t *buf, uint64_t v, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_vlint_encode_n
      Src: /src/openssl/crypto/quic_vlint.c:32,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/crypto/quic_vlint.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - v
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ossl_quic_vlint_encode
    functionSourceFile: /src/openssl/crypto/quic_vlint.c
    functionUses: 1
    functionsReached:
    - ossl_quic_vlint_encode_len
    - ossl_quic_vlint_encode_n
    linkageType: ''
    returnType: void
    signature: void ossl_quic_vlint_encode(uint8_t *buf, uint64_t v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_vlint_decode_len
      Src: /src/openssl/crypto/quic_vlint.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: ossl_quic_vlint_decode_unchecked
    functionSourceFile: /src/openssl/crypto/quic_vlint.c
    functionUses: 0
    functionsReached:
    - ossl_quic_vlint_decode_len
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_vlint_decode_unchecked(const unsigned char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_vlint_decode_len
      Src: /src/openssl/crypto/quic_vlint.c:71,1
    - Dst: ossl_quic_vlint_decode_unchecked
      Src: /src/openssl/crypto/quic_vlint.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - buf_len
    - v
    argTypes:
    - unsigned char*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: ossl_quic_vlint_decode
    functionSourceFile: /src/openssl/crypto/quic_vlint.c
    functionUses: 0
    functionsReached:
    - ossl_quic_vlint_decode_len
    - ossl_quic_vlint_decode_unchecked
    linkageType: ''
    returnType: int
    signature: int ossl_quic_vlint_decode(const unsigned char *buf, size_t buf_len,
      uint64_t *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: TOSTR
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOSTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: MAKESTR
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKESTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: NOQUOTE
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOQUOTE(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegOpenKeyEx
      Src: /src/openssl/crypto/defaults.c:74,1
    - Dst: TEXT
      Src: /src/openssl/crypto/defaults.c:75,1
    - Dst: RegQueryValueExW
      Src: /src/openssl/crypto/defaults.c:81,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/defaults.c:94,1
    - Dst: RegQueryValueExW
      Src: /src/openssl/crypto/defaults.c:99,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/defaults.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/defaults.c:109,1
    - Dst: RegCloseKey
      Src: /src/openssl/crypto/defaults.c:110,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - dst
    - dstsizebytes
    - valuename
    argTypes:
    - char*
    - DWORD
    - LPCWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 113
    functionName: get_windows_regdirs
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - WideCharToMultiByte
    - OPENSSL_free
    - RegCloseKey
    - TEXT
    - RegQueryValueExW
    - RegOpenKeyEx
    linkageType: ''
    returnType: char
    signature: char *get_windows_regdirs(char *dst, DWORD dstsizebytes, LPCWSTR valuename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_windows_regdirs
      Src: /src/openssl/crypto/defaults.c:124,1
    - Dst: get_windows_regdirs
      Src: /src/openssl/crypto/defaults.c:125,1
    - Dst: get_windows_regdirs
      Src: /src/openssl/crypto/defaults.c:126,1
    - Dst: strlen
      Src: /src/openssl/crypto/defaults.c:131,1
    - Dst: strlen
      Src: /src/openssl/crypto/defaults.c:134,1
    - Dst: strlen
      Src: /src/openssl/crypto/defaults.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 0
    functionsReached:
    - get_windows_regdirs
    - strlen
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_defaults_setup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/defaults.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: ossl_get_openssldir
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: char
    signature: char *ossl_get_openssldir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/defaults.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: ossl_get_enginesdir
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: char
    signature: char *ossl_get_enginesdir(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/defaults.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: ossl_get_modulesdir
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 2
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: char
    signature: char *ossl_get_modulesdir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKESTR
      Src: /src/openssl/crypto/defaults.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: ossl_get_wininstallcontext
    functionSourceFile: /src/openssl/crypto/defaults.c
    functionUses: 1
    functionsReached:
    - MAKESTR
    linkageType: ''
    returnType: char
    signature: char *ossl_get_wininstallcontext(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/self_test_core.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ossl_self_test_set_callback_new
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *ossl_self_test_set_callback_new(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/self_test_core.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stcb
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: ossl_self_test_set_callback_free
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_self_test_set_callback_free(void *stcb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/self_test_core.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: get_self_test_callback
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: SELF_TEST_CB
    signature: SELF_TEST_CB *get_self_test_callback(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_self_test_callback
      Src: /src/openssl/crypto/self_test_core.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - libctx
    - cb
    - cbarg
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: OSSL_SELF_TEST_set_callback
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - get_self_test_callback
    linkageType: ''
    returnType: void
    signature: "void OSSL_SELF_TEST_set_callback(OSSL_LIB_CTX *libctx, OSSL_CALLBACK
      *cb,\n                                 void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_self_test_callback
      Src: /src/openssl/crypto/self_test_core.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - libctx
    - cb
    - cbarg
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CALLBACK**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: OSSL_SELF_TEST_get_callback
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 1
    functionsReached:
    - get_self_test_callback
    linkageType: ''
    returnType: void
    signature: "void OSSL_SELF_TEST_get_callback(OSSL_LIB_CTX *libctx, OSSL_CALLBACK
      **cb,\n                                 void **cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/self_test_core.c:81,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/self_test_core.c:84,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/self_test_core.c:87,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/self_test_core.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - OSSL_SELF_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: self_test_setparams
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: void
    signature: void self_test_setparams(OSSL_SELF_TEST *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/self_test_core.c:95,1
    - Dst: self_test_setparams
      Src: /src/openssl/crypto/self_test_core.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - cb
    - cbarg
    argTypes:
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: OSSL_SELF_TEST_new
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - self_test_setparams
    linkageType: ''
    returnType: OSSL_SELF_TEST
    signature: OSSL_SELF_TEST *OSSL_SELF_TEST_new(OSSL_CALLBACK *cb, void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/self_test_core.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - OSSL_SELF_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: OSSL_SELF_TEST_free
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void OSSL_SELF_TEST_free(OSSL_SELF_TEST *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_test_setparams
      Src: /src/openssl/crypto/self_test_core.c:122,1
    - Dst: OSSL_SELF_TEST*::cb
      Src: /src/openssl/crypto/self_test_core.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - st
    - type
    - desc
    argTypes:
    - OSSL_SELF_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: OSSL_SELF_TEST_onbegin
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST*::cb
    - self_test_setparams
    linkageType: ''
    returnType: void
    signature: "void OSSL_SELF_TEST_onbegin(OSSL_SELF_TEST *st, const char *type,\n
      \                           const char *desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_test_setparams
      Src: /src/openssl/crypto/self_test_core.c:136,1
    - Dst: OSSL_SELF_TEST*::cb
      Src: /src/openssl/crypto/self_test_core.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - st
    - ret
    argTypes:
    - OSSL_SELF_TEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: OSSL_SELF_TEST_onend
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST*::cb
    - self_test_setparams
    linkageType: ''
    returnType: void
    signature: void OSSL_SELF_TEST_onend(OSSL_SELF_TEST *st, int ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: self_test_setparams
      Src: /src/openssl/crypto/self_test_core.c:157,1
    - Dst: OSSL_SELF_TEST*::cb
      Src: /src/openssl/crypto/self_test_core.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - st
    - bytes
    argTypes:
    - OSSL_SELF_TEST*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: OSSL_SELF_TEST_oncorrupt_byte
    functionSourceFile: /src/openssl/crypto/self_test_core.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST*::cb
    - self_test_setparams
    linkageType: ''
    returnType: int
    signature: int OSSL_SELF_TEST_oncorrupt_byte(OSSL_SELF_TEST *st, unsigned char
      *bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: OPENSSL_fork_prepare
    functionSourceFile: /src/openssl/crypto/threads_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_fork_prepare(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: OPENSSL_fork_parent
    functionSourceFile: /src/openssl/crypto/threads_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_fork_parent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: OPENSSL_fork_child
    functionSourceFile: /src/openssl/crypto/threads_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_fork_child(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - directory
    argTypes:
    - LP_DIR_CTX**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: LP_find_file
    functionSourceFile: /src/openssl/crypto/LPdir_nyi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *LP_find_file(LP_DIR_CTX **ctx, const char *directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LP_DIR_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: LP_find_file_end
    functionSourceFile: /src/openssl/crypto/LPdir_nyi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LP_find_file_end(LP_DIR_CTX **ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - no_store
    - cbdata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: is_temporary_method_store
    functionSourceFile: /src/openssl/crypto/core_fetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_temporary_method_store(int no_store, void *cbdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_temporary_method_store
      Src: /src/openssl/crypto/core_fetch.c:39,1
    - Dst: struct construct_data_st*::mcm::get_tmp_store
      Src: /src/openssl/crypto/core_fetch.c:46,1
    - Dst: struct construct_data_st*::mcm::lock_store
      Src: /src/openssl/crypto/core_fetch.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - no_store
    - cbdata
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: ossl_method_construct_reserve_store
    functionSourceFile: /src/openssl/crypto/core_fetch.c
    functionUses: 0
    functionsReached:
    - struct construct_data_st*::mcm::get_tmp_store
    - is_temporary_method_store
    - struct construct_data_st*::mcm::lock_store
    linkageType: ''
    returnType: int
    signature: int ossl_method_construct_reserve_store(int no_store, void *cbdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct construct_data_st*::mcm::unlock_store
      Src: /src/openssl/crypto/core_fetch.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: ossl_method_construct_unreserve_store
    functionSourceFile: /src/openssl/crypto/core_fetch.c
    functionUses: 0
    functionsReached:
    - struct construct_data_st*::mcm::unlock_store
    linkageType: ''
    returnType: int
    signature: int ossl_method_construct_unreserve_store(void *cbdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/core_fetch.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/core_fetch.c:65,1
    - Dst: is_temporary_method_store
      Src: /src/openssl/crypto/core_fetch.c:73,1
    - Dst: ossl_provider_test_operation_bit
      Src: /src/openssl/crypto/core_fetch.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - provider
    - operation_id
    - no_store
    - cbdata
    - result
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 85
    functionName: ossl_method_construct_precondition
    functionSourceFile: /src/openssl/crypto/core_fetch.c
    functionUses: 0
    functionsReached:
    - is_temporary_method_store
    - ossl_assert
    - ERR_raise
    - ossl_provider_test_operation_bit
    linkageType: ''
    returnType: int
    signature: "int ossl_method_construct_precondition(OSSL_PROVIDER *provider,\n
      \                                             int operation_id, int no_store,\n
      \                                             void *cbdata, int *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/core_fetch.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/core_fetch.c:92,1
    - Dst: is_temporary_method_store
      Src: /src/openssl/crypto/core_fetch.c:99,1
    - Dst: ossl_provider_set_operation_bit
      Src: /src/openssl/crypto/core_fetch.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - provider
    - operation_id
    - no_store
    - cbdata
    - result
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: ossl_method_construct_postcondition
    functionSourceFile: /src/openssl/crypto/core_fetch.c
    functionUses: 0
    functionsReached:
    - is_temporary_method_store
    - ossl_assert
    - ossl_provider_set_operation_bit
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_method_construct_postcondition(OSSL_PROVIDER *provider,\n
      \                                              int operation_id, int no_store,\n
      \                                              void *cbdata, int *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct construct_data_st*::mcm::construct
      Src: /src/openssl/crypto/core_fetch.c:110,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/core_fetch.c:114,1
    - Dst: struct construct_data_st*::mcm::put
      Src: /src/openssl/crypto/core_fetch.c:127,1
    - Dst: struct construct_data_st*::mcm::destruct
      Src: /src/openssl/crypto/core_fetch.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - provider
    - algo
    - no_store
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_ALGORITHM*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 132
    functionName: ossl_method_construct_this
    functionSourceFile: /src/openssl/crypto/core_fetch.c
    functionUses: 0
    functionsReached:
    - struct construct_data_st*::mcm::destruct
    - OSSL_TRACE2
    - struct construct_data_st*::mcm::put
    - struct construct_data_st*::mcm::construct
    linkageType: ''
    returnType: void
    signature: "void ossl_method_construct_this(OSSL_PROVIDER *provider,\n                                       const
      OSSL_ALGORITHM *algo,\n                                       int no_store,
      void *cbdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_algorithm_do_all
      Src: /src/openssl/crypto/core_fetch.c:157,1
    - Dst: OSSL_METHOD_CONSTRUCT_METHOD*::get
      Src: /src/openssl/crypto/core_fetch.c:167,1
    - Dst: OSSL_METHOD_CONSTRUCT_METHOD*::get
      Src: /src/openssl/crypto/core_fetch.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - libctx
    - operation_id
    - provider_rw
    - force_store
    - mcm
    - mcm_data
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - OSSL_PROVIDER**
    - int
    - OSSL_METHOD_CONSTRUCT_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 175
    functionName: ossl_method_construct
    functionSourceFile: /src/openssl/crypto/core_fetch.c
    functionUses: 0
    functionsReached:
    - OSSL_METHOD_CONSTRUCT_METHOD*::get
    - ossl_algorithm_do_all
    linkageType: ''
    returnType: void
    signature: "void *ossl_method_construct(OSSL_LIB_CTX *libctx, int operation_id,\n
      \                           OSSL_PROVIDER **provider_rw, int force_store,\n
      \                           OSSL_METHOD_CONSTRUCT_METHOD *mcm, void *mcm_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/openssl/crypto/sleep.c:36,1
    - Dst: usleep
      Src: /src/openssl/crypto/sleep.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - millis
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: ossl_sleep_millis
    functionSourceFile: /src/openssl/crypto/sleep.c
    functionUses: 0
    functionsReached:
    - sleep
    - usleep
    linkageType: ''
    returnType: void
    signature: void ossl_sleep_millis(uint64_t millis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROCESS_DELAY_
      Src: /src/openssl/crypto/sleep.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - millis
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ossl_sleep_millis
    functionSourceFile: /src/openssl/crypto/sleep.c
    functionUses: 0
    functionsReached:
    - PROCESS_DELAY_
    linkageType: ''
    returnType: void
    signature: void ossl_sleep_millis(uint64_t millis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/openssl/crypto/sleep.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - millis
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: ossl_sleep_millis
    functionSourceFile: /src/openssl/crypto/sleep.c
    functionUses: 0
    functionsReached:
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void ossl_sleep_millis(uint64_t millis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/openssl/crypto/sleep.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - millis
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: ossl_sleep_millis
    functionSourceFile: /src/openssl/crypto/sleep.c
    functionUses: 0
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: void
    signature: void ossl_sleep_millis(uint64_t millis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/openssl/crypto/sleep.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - secs
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: ossl_sleep_secs
    functionSourceFile: /src/openssl/crypto/sleep.c
    functionUses: 0
    functionsReached:
    - sleep
    linkageType: ''
    returnType: void
    signature: void ossl_sleep_secs(uint64_t secs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_add
      Src: /src/openssl/crypto/sleep.c:106,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/sleep.c:106,1
    - Dst: ossl_ms2time
      Src: /src/openssl/crypto/sleep.c:106,1
    - Dst: ossl_time_compare
      Src: /src/openssl/crypto/sleep.c:108,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/sleep.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - millis
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: ossl_sleep_millis
    functionSourceFile: /src/openssl/crypto/sleep.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    - ossl_time_add
    - ossl_ms2time
    - ossl_time_now
    linkageType: ''
    returnType: void
    signature: void ossl_sleep_millis(uint64_t millis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/sleep.c:115,1
    - Dst: ossl_time_add
      Src: /src/openssl/crypto/sleep.c:116,1
    - Dst: ossl_ms2time
      Src: /src/openssl/crypto/sleep.c:116,1
    - Dst: ossl_sleep_secs
      Src: /src/openssl/crypto/sleep.c:121,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/sleep.c:122,1
    - Dst: ossl_time2ms
      Src: /src/openssl/crypto/sleep.c:123,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/crypto/sleep.c:123,1
    - Dst: ossl_time_compare
      Src: /src/openssl/crypto/sleep.c:124,1
    - Dst: ossl_time_compare
      Src: /src/openssl/crypto/sleep.c:126,1
    - Dst: ossl_sleep_millis
      Src: /src/openssl/crypto/sleep.c:131,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/sleep.c:132,1
    - Dst: ossl_time2ms
      Src: /src/openssl/crypto/sleep.c:133,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/crypto/sleep.c:133,1
    - Dst: ossl_time_compare
      Src: /src/openssl/crypto/sleep.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - millis
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: OSSL_sleep
    functionSourceFile: /src/openssl/crypto/sleep.c
    functionUses: 0
    functionsReached:
    - ossl_ms2time
    - ossl_sleep_secs
    - ossl_time_compare
    - ossl_time_subtract
    - ossl_time2ms
    - ossl_time_now
    - ossl_time_add
    - ossl_sleep_millis
    linkageType: ''
    returnType: void
    signature: void OSSL_sleep(uint64_t millis)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/crypto/dllmain.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: DllMain
    functionSourceFile: /src/openssl/crypto/dllmain.c
    functionUses: 0
    functionsReached:
    - OPENSSL_thread_stop
    linkageType: ''
    returnType: BOOL
    signature: BOOL DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/params_from_text.c:39,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/params_from_text.c:41,1
    - Dst: BN_hex2bn
      Src: /src/openssl/crypto/params_from_text.c:51,1
    - Dst: BN_asc2bn
      Src: /src/openssl/crypto/params_from_text.c:53,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/params_from_text.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params_from_text.c:60,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/params_from_text.c:74,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/params_from_text.c:75,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/params_from_text.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params_from_text.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params_from_text.c:112,1
    - Dst: strlen
      Src: /src/openssl/crypto/params_from_text.c:115,1
    - Dst: strlen
      Src: /src/openssl/crypto/params_from_text.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params_from_text.c:122,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 9
    argNames:
    - paramdefs
    - key
    - value
    - value_n
    - paramdef
    - ishex
    - buf_n
    - tmpbn
    - found
    argTypes:
    - OSSL_PARAM*
    - char*
    - char*
    - size_t
    - OSSL_PARAM**
    - int*
    - size_t*
    - BIGNUM**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 133
    functionName: prepare_from_text
    functionSourceFile: /src/openssl/crypto/params_from_text.c
    functionUses: 0
    functionsReached:
    - BN_hex2bn
    - ERR_raise
    - BN_is_negative
    - OSSL_PARAM_locate_const
    - CHECK_AND_SKIP_PREFIX
    - BN_asc2bn
    - BN_add_word
    - strlen
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int prepare_from_text(const OSSL_PARAM *paramdefs, const char *key,\n
      \                            const char *value, size_t value_n,\n                             /*
      Output parameters */\n                             const OSSL_PARAM **paramdef,
      int *ishex,\n                             size_t *buf_n, BIGNUM **tmpbn, int
      *found)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_bn2nativepad
      Src: /src/openssl/crypto/params_from_text.c:154,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/params_from_text.c:163,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/params_from_text.c:173,1
    - Dst: strncpy
      Src: /src/openssl/crypto/params_from_text.c:175,1
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/openssl/crypto/params_from_text.c:184,1
    - Dst: memcpy
      Src: /src/openssl/crypto/params_from_text.c:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 8
    argNames:
    - to
    - paramdef
    - value
    - value_n
    - ishex
    - buf
    - buf_n
    - tmpbn
    argTypes:
    - OSSL_PARAM*
    - OSSL_PARAM*
    - char*
    - size_t
    - int
    - void*
    - size_t
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 199
    functionName: construct_from_text
    functionSourceFile: /src/openssl/crypto/params_from_text.c
    functionUses: 0
    functionsReached:
    - strncpy
    - memcpy
    - BN_is_negative
    - ebcdic2ascii
    - OPENSSL_hexstr2buf_ex
    - BN_bn2nativepad
    linkageType: ''
    returnType: int
    signature: "int construct_from_text(OSSL_PARAM *to, const OSSL_PARAM *paramdef,\n
      \                              const char *value, size_t value_n, int ishex,\n
      \                              void *buf, size_t buf_n, BIGNUM *tmpbn)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:232,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:242,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/params_from_text.c:249,1
    - Dst: BN_print
      Src: /src/openssl/crypto/params_from_text.c:250,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:252,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/crypto/params_from_text.c:254,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:255,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:257,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/params_from_text.c:262,1
    - Dst: BN_print
      Src: /src/openssl/crypto/params_from_text.c:263,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:265,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/crypto/params_from_text.c:267,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:268,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:270,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/params_from_text.c:274,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/params_from_text.c:277,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/params_from_text.c:281,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/crypto/params_from_text.c:286,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:288,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:290,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/params_from_text.c:294,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 3
    argNames:
    - p
    - bio
    - print_values
    argTypes:
    - OSSL_PARAM*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 304
    functionName: OSSL_PARAM_print_to_bio
    functionSourceFile: /src/openssl/crypto/params_from_text.c
    functionUses: 4
    functionsReached:
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_get_double
    - BIO_dump
    - BN_print
    - OSSL_PARAM_get_uint64
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_print_to_bio(const OSSL_PARAM *p, BIO *bio, int print_values)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prepare_from_text
      Src: /src/openssl/crypto/params_from_text.c:321,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/params_from_text.c:325,1
    - Dst: construct_from_text
      Src: /src/openssl/crypto/params_from_text.c:328,1
    - Dst: BN_free
      Src: /src/openssl/crypto/params_from_text.c:330,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/params_from_text.c:332,1
    - Dst: BN_free
      Src: /src/openssl/crypto/params_from_text.c:335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - to
    - paramdefs
    - key
    - value
    - value_n
    - found
    argTypes:
    - OSSL_PARAM*
    - OSSL_PARAM*
    - char*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 337
    functionName: OSSL_PARAM_allocate_from_text
    functionSourceFile: /src/openssl/crypto/params_from_text.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - construct_from_text
    - OPENSSL_free
    - prepare_from_text
    - BN_free
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_allocate_from_text(OSSL_PARAM *to,\n                                  const
      OSSL_PARAM *paramdefs,\n                                  const char *key, const
      char *value,\n                                  size_t value_n, int *found)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: real_shift
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int real_shift(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_likely
      Src: /src/openssl/crypto/params.c:56,1
    - Dst: strcmp
      Src: /src/openssl/crypto/params.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - OSSL_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: OSSL_PARAM_locate
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - strcmp
    - ossl_likely
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *OSSL_PARAM_locate(OSSL_PARAM *p, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/params.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - key
    argTypes:
    - OSSL_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: OSSL_PARAM_locate_const
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *OSSL_PARAM_locate_const(const OSSL_PARAM *p, const char
      *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - key
    - data_type
    - data
    - data_size
    argTypes:
    - char*
    - unsigned int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: ossl_param_construct
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM ossl_param_construct(const char *key, unsigned int data_type,\n
      \                                      void *data, size_t data_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: OSSL_PARAM_modified
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_modified(const OSSL_PARAM *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: OSSL_PARAM_set_all_unmodified
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OSSL_PARAM_set_all_unmodified(OSSL_PARAM *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - number
    - s
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: is_negative
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_negative(const void *number, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p
    - n
    - s
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: check_sign_bytes
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_sign_bytes(const unsigned char *p, size_t n, unsigned char
      s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/params.c:128,1
    - Dst: memcpy
      Src: /src/openssl/crypto/params.c:129,1
    - Dst: check_sign_bytes
      Src: /src/openssl/crypto/params.c:132,1
    - Dst: memcpy
      Src: /src/openssl/crypto/params.c:141,1
    - Dst: memset
      Src: /src/openssl/crypto/params.c:146,1
    - Dst: memcpy
      Src: /src/openssl/crypto/params.c:147,1
    - Dst: check_sign_bytes
      Src: /src/openssl/crypto/params.c:150,1
    - Dst: memcpy
      Src: /src/openssl/crypto/params.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    - pad
    - signed_int
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 163
    functionName: copy_integer
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - memcpy
    - check_sign_bytes
    - memset
    linkageType: ''
    returnType: int
    signature: "int copy_integer(unsigned char *dest, size_t dest_len,\n                        const
      unsigned char *src, size_t src_len,\n                        unsigned char pad,
      int signed_int)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_integer
      Src: /src/openssl/crypto/params.c:169,1
    - Dst: is_negative
      Src: /src/openssl/crypto/params.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: signed_from_signed
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - is_negative
    - copy_integer
    linkageType: ''
    returnType: int
    signature: "int signed_from_signed(void *dest, size_t dest_len,\n                              const
      void *src, size_t src_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_integer
      Src: /src/openssl/crypto/params.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: signed_from_unsigned
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - copy_integer
    linkageType: ''
    returnType: int
    signature: "int signed_from_unsigned(void *dest, size_t dest_len,\n                                const
      void *src, size_t src_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_negative
      Src: /src/openssl/crypto/params.c:184,1
    - Dst: copy_integer
      Src: /src/openssl/crypto/params.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: unsigned_from_signed
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - is_negative
    - copy_integer
    linkageType: ''
    returnType: int
    signature: "int unsigned_from_signed(void *dest, size_t dest_len,\n                                const
      void *src, size_t src_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_integer
      Src: /src/openssl/crypto/params.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - dest_len
    - src
    - src_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: unsigned_from_unsigned
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - copy_integer
    linkageType: ''
    returnType: int
    signature: "int unsigned_from_unsigned(void *dest, size_t dest_len,\n                                  const
      void *src, size_t src_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signed_from_signed
      Src: /src/openssl/crypto/params.c:206,1
    - Dst: signed_from_unsigned
      Src: /src/openssl/crypto/params.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p
    - val
    - val_size
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: general_get_int
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - signed_from_unsigned
    - signed_from_signed
    linkageType: ''
    returnType: int
    signature: int general_get_int(const OSSL_PARAM *p, void *val, size_t val_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signed_from_signed
      Src: /src/openssl/crypto/params.c:223,1
    - Dst: unsigned_from_signed
      Src: /src/openssl/crypto/params.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p
    - val
    - val_size
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: general_set_int
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - signed_from_signed
    - unsigned_from_signed
    linkageType: ''
    returnType: int
    signature: int general_set_int(OSSL_PARAM *p, void *val, size_t val_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unsigned_from_signed
      Src: /src/openssl/crypto/params.c:241,1
    - Dst: unsigned_from_unsigned
      Src: /src/openssl/crypto/params.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p
    - val
    - val_size
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: general_get_uint
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - unsigned_from_unsigned
    - unsigned_from_signed
    linkageType: ''
    returnType: int
    signature: int general_get_uint(const OSSL_PARAM *p, void *val, size_t val_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signed_from_unsigned
      Src: /src/openssl/crypto/params.c:258,1
    - Dst: unsigned_from_unsigned
      Src: /src/openssl/crypto/params.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p
    - val
    - val_size
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: general_set_uint
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - unsigned_from_unsigned
    - signed_from_unsigned
    linkageType: ''
    returnType: int
    signature: int general_set_uint(OSSL_PARAM *p, void *val, size_t val_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/crypto/params.c:272,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/crypto/params.c:274,1
    - Dst: general_get_int
      Src: /src/openssl/crypto/params.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: OSSL_PARAM_get_int
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int64
    - general_get_int
    - OSSL_PARAM_get_int32
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/crypto/params.c:285,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/openssl/crypto/params.c:287,1
    - Dst: general_set_int
      Src: /src/openssl/crypto/params.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: OSSL_PARAM_set_int
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_set_int64
    - general_set_int
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_int(OSSL_PARAM *p, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: OSSL_PARAM_construct_int
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_int(const char *key, int *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/crypto/params.c:303,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/crypto/params.c:305,1
    - Dst: general_get_uint
      Src: /src/openssl/crypto/params.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: OSSL_PARAM_get_uint
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_uint64
    - general_get_uint
    - OSSL_PARAM_get_uint32
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_uint(const OSSL_PARAM *p, unsigned int *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/crypto/params.c:316,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/openssl/crypto/params.c:318,1
    - Dst: general_set_uint
      Src: /src/openssl/crypto/params.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: OSSL_PARAM_set_uint
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint32
    - OSSL_PARAM_set_uint64
    - general_set_uint
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_uint(OSSL_PARAM *p, unsigned int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: OSSL_PARAM_construct_uint
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_uint(const char *key, unsigned int
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/crypto/params.c:335,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/crypto/params.c:337,1
    - Dst: general_get_int
      Src: /src/openssl/crypto/params.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - long int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 341
    functionName: OSSL_PARAM_get_long
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int64
    - general_get_int
    - OSSL_PARAM_get_int32
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_long(const OSSL_PARAM *p, long int *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/crypto/params.c:348,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/openssl/crypto/params.c:350,1
    - Dst: general_set_int
      Src: /src/openssl/crypto/params.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 4
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: OSSL_PARAM_set_long
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_set_int64
    - general_set_int
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_long(OSSL_PARAM *p, long int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - long int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: OSSL_PARAM_construct_long
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_long(const char *key, long int *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/crypto/params.c:366,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/crypto/params.c:368,1
    - Dst: general_get_uint
      Src: /src/openssl/crypto/params.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - unsigned long int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: OSSL_PARAM_get_ulong
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_uint64
    - general_get_uint
    - OSSL_PARAM_get_uint32
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_ulong(const OSSL_PARAM *p, unsigned long int *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/crypto/params.c:379,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/openssl/crypto/params.c:381,1
    - Dst: general_set_uint
      Src: /src/openssl/crypto/params.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - unsigned long int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: OSSL_PARAM_set_ulong
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint32
    - OSSL_PARAM_set_uint64
    - general_set_uint
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_ulong(OSSL_PARAM *p, unsigned long int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - unsigned long int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: OSSL_PARAM_construct_ulong
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_ulong(const char *key, unsigned long
      int *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: general_get_int
      Src: /src/openssl/crypto/params.c:423,1
    - Dst: general_get_int
      Src: /src/openssl/crypto/params.c:449,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 471
    functionName: OSSL_PARAM_get_int32
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - general_get_int
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_int32(const OSSL_PARAM *p, int32_t *val)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: general_set_int
      Src: /src/openssl/crypto/params.c:495,1
    - Dst: general_set_int
      Src: /src/openssl/crypto/params.c:511,1
    - Dst: real_shift
      Src: /src/openssl/crypto/params.c:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 539
    functionName: OSSL_PARAM_set_int32
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - general_set_int
    - real_shift
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_int32(OSSL_PARAM *p, int32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: OSSL_PARAM_construct_int32
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_int32(const char *key, int32_t *buf)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: general_get_uint
      Src: /src/openssl/crypto/params.c:577,1
    - Dst: general_get_uint
      Src: /src/openssl/crypto/params.c:605,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 626
    functionName: OSSL_PARAM_get_uint32
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - general_get_uint
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_uint32(const OSSL_PARAM *p, uint32_t *val)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: general_set_uint
      Src: /src/openssl/crypto/params.c:651,1
    - Dst: general_set_uint
      Src: /src/openssl/crypto/params.c:671,1
    - Dst: real_shift
      Src: /src/openssl/crypto/params.c:682,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 697
    functionName: OSSL_PARAM_set_uint32
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - real_shift
    - general_set_uint
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_uint32(OSSL_PARAM *p, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 703
    functionName: OSSL_PARAM_construct_uint32
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_uint32(const char *key, uint32_t *buf)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: general_get_int
      Src: /src/openssl/crypto/params.c:728,1
    - Dst: general_get_int
      Src: /src/openssl/crypto/params.c:747,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 705
    functionDepth: 4
    functionLinenumber: 705
    functionLinenumberEnd: 775
    functionName: OSSL_PARAM_get_int64
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 3
    functionsReached:
    - general_get_int
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_int64(const OSSL_PARAM *p, int64_t *val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: general_set_int
      Src: /src/openssl/crypto/params.c:805,1
    - Dst: general_set_int
      Src: /src/openssl/crypto/params.c:827,1
    - Dst: real_shift
      Src: /src/openssl/crypto/params.c:839,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 853
    functionName: OSSL_PARAM_set_int64
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - general_set_int
    - real_shift
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_int64(OSSL_PARAM *p, int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: OSSL_PARAM_construct_int64
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_int64(const char *key, int64_t *buf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_likely
      Src: /src/openssl/crypto/params.c:872,1
    - Dst: general_get_uint
      Src: /src/openssl/crypto/params.c:883,1
    - Dst: general_get_uint
      Src: /src/openssl/crypto/params.c:908,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 860
    functionDepth: 4
    functionLinenumber: 860
    functionLinenumberEnd: 936
    functionName: OSSL_PARAM_get_uint64
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 3
    functionsReached:
    - ossl_likely
    - general_get_uint
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: general_set_uint
      Src: /src/openssl/crypto/params.c:967,1
    - Dst: general_set_uint
      Src: /src/openssl/crypto/params.c:993,1
    - Dst: real_shift
      Src: /src/openssl/crypto/params.c:998,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 938
    functionDepth: 4
    functionLinenumber: 938
    functionLinenumberEnd: 1012
    functionName: OSSL_PARAM_set_uint64
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - real_shift
    - general_set_uint
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_uint64(OSSL_PARAM *p, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1018
    functionName: OSSL_PARAM_construct_uint64
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_uint64(const char *key, uint64_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/crypto/params.c:1025,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/crypto/params.c:1027,1
    - Dst: general_get_uint
      Src: /src/openssl/crypto/params.c:1030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1020
    functionDepth: 5
    functionLinenumber: 1020
    functionLinenumberEnd: 1031
    functionName: OSSL_PARAM_get_size_t
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_uint64
    - general_get_uint
    - OSSL_PARAM_get_uint32
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_size_t(const OSSL_PARAM *p, size_t *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/crypto/params.c:1038,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/openssl/crypto/params.c:1040,1
    - Dst: general_set_uint
      Src: /src/openssl/crypto/params.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1033
    functionDepth: 5
    functionLinenumber: 1033
    functionLinenumberEnd: 1044
    functionName: OSSL_PARAM_set_size_t
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint32
    - OSSL_PARAM_set_uint64
    - general_set_uint
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_size_t(OSSL_PARAM *p, size_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1050
    functionName: OSSL_PARAM_construct_size_t
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_size_t(const char *key, size_t *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/crypto/params.c:1057,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/crypto/params.c:1059,1
    - Dst: general_get_int
      Src: /src/openssl/crypto/params.c:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1052
    functionDepth: 5
    functionLinenumber: 1052
    functionLinenumberEnd: 1063
    functionName: OSSL_PARAM_get_time_t
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int64
    - general_get_int
    - OSSL_PARAM_get_int32
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_time_t(const OSSL_PARAM *p, time_t *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/crypto/params.c:1070,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/openssl/crypto/params.c:1072,1
    - Dst: general_set_int
      Src: /src/openssl/crypto/params.c:1075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1065
    functionDepth: 5
    functionLinenumber: 1065
    functionLinenumberEnd: 1076
    functionName: OSSL_PARAM_set_time_t
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_set_int64
    - general_set_int
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_time_t(OSSL_PARAM *p, time_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: OSSL_PARAM_construct_time_t
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_time_t(const char *key, time_t *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_native2bn
      Src: /src/openssl/crypto/params.c:1094,1
    - Dst: BN_signed_native2bn
      Src: /src/openssl/crypto/params.c:1097,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params.c:1105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1111
    functionName: OSSL_PARAM_get_BN
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 1
    functionsReached:
    - BN_signed_native2bn
    - ERR_raise
    - BN_native2bn
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_BN(const OSSL_PARAM *p, BIGNUM **val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/params.c:1126,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/params.c:1131,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/crypto/params.c:1147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params.c:1148,1
    - Dst: BN_signed_bn2native
      Src: /src/openssl/crypto/params.c:1153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params.c:1154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1168
    functionName: OSSL_PARAM_set_BN
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_signed_bn2native
    - BN_num_bytes
    - BN_is_negative
    - BN_bn2nativepad
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_BN(OSSL_PARAM *p, const BIGNUM *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1175
    functionName: OSSL_PARAM_construct_BN
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM OSSL_PARAM_construct_BN(const char *key, unsigned char
      *buf,\n                                   size_t bsize)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: real_shift
      Src: /src/openssl/crypto/params.c:1203,1
    - Dst: real_shift
      Src: /src/openssl/crypto/params.c:1218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1228
    functionName: OSSL_PARAM_get_double
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 1
    functionsReached:
    - real_shift
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_double(const OSSL_PARAM *p, double *val)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1322
    functionName: OSSL_PARAM_set_double
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_double(OSSL_PARAM *p, double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1327
    functionName: OSSL_PARAM_construct_double
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_double(const char *key, double *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/params.c:1364,1
    - Dst: memcpy
      Src: /src/openssl/crypto/params.c:1376,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - p
    - val
    - max_len
    - used_len
    - type
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    - size_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1378
    functionName: get_string_internal
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int get_string_internal(const OSSL_PARAM *p, void **val,\n                               size_t
      *max_len, size_t *used_len,\n                               unsigned int type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_string_internal
      Src: /src/openssl/crypto/params.c:1382,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/crypto/params.c:1401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/params.c:1403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p
    - val
    - max_len
    argTypes:
    - OSSL_PARAM*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1409
    functionName: OSSL_PARAM_get_utf8_string
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - get_string_internal
    - OPENSSL_strnlen
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_utf8_string(const OSSL_PARAM *p, char **val, size_t
      max_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_string_internal
      Src: /src/openssl/crypto/params.c:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - val
    - max_len
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1416
    functionName: OSSL_PARAM_get_octet_string
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - get_string_internal
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_get_octet_string(const OSSL_PARAM *p, void **val, size_t
      max_len,\n                                size_t *used_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/params.c:1433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - p
    - val
    - len
    - type
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1438
    functionName: set_string_internal
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int set_string_internal(OSSL_PARAM *p, const void *val, size_t len,\n
      \                              unsigned int type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_string_internal
      Src: /src/openssl/crypto/params.c:1447,1
    - Dst: strlen
      Src: /src/openssl/crypto/params.c:1447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1448
    functionName: OSSL_PARAM_set_utf8_string
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - strlen
    - set_string_internal
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_utf8_string(OSSL_PARAM *p, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_string_internal
      Src: /src/openssl/crypto/params.c:1458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p
    - val
    - len
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1459
    functionName: OSSL_PARAM_set_octet_string
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - set_string_internal
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_set_octet_string(OSSL_PARAM *p, const void *val,\n
      \                               size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/params.c:1465,1
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1467
    functionName: OSSL_PARAM_construct_utf8_string
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 1
    functionsReached:
    - strlen
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM OSSL_PARAM_construct_utf8_string(const char *key, char
      *buf,\n                                            size_t bsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1473
    functionName: OSSL_PARAM_construct_octet_string
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void
      *buf,\n                                             size_t bsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - val
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1482
    functionName: get_ptr_internal_skip_checks
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_ptr_internal_skip_checks(const OSSL_PARAM *p, const void **val,\n
      \                                       size_t *used_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_ptr_internal_skip_checks
      Src: /src/openssl/crypto/params.c:1495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - p
    - val
    - used_len
    - type
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1496
    functionName: get_ptr_internal
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - get_ptr_internal_skip_checks
    linkageType: ''
    returnType: int
    signature: "int get_ptr_internal(const OSSL_PARAM *p, const void **val,\n                            size_t
      *used_len, unsigned int type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ptr_internal
      Src: /src/openssl/crypto/params.c:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: OSSL_PARAM_get_utf8_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - get_ptr_internal
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_utf8_ptr(const OSSL_PARAM *p, const char **val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ptr_internal
      Src: /src/openssl/crypto/params.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - val
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1507
    functionName: OSSL_PARAM_get_octet_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - get_ptr_internal
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_get_octet_ptr(const OSSL_PARAM *p, const void **val,\n
      \                            size_t *used_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - p
    - val
    - type
    - len
    argTypes:
    - OSSL_PARAM*
    - void*
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1520
    functionName: set_ptr_internal
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int set_ptr_internal(OSSL_PARAM *p, const void *val,\n                            unsigned
      int type, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_ptr_internal
      Src: /src/openssl/crypto/params.c:1529,1
    - Dst: strlen
      Src: /src/openssl/crypto/params.c:1530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1531
    functionName: OSSL_PARAM_set_utf8_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached:
    - set_ptr_internal
    - strlen
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_set_utf8_ptr(OSSL_PARAM *p, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_ptr_internal
      Src: /src/openssl/crypto/params.c:1541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - val
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1542
    functionName: OSSL_PARAM_set_octet_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - set_ptr_internal
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_set_octet_ptr(OSSL_PARAM *p, const void *val,\n                             size_t
      used_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1548
    functionName: OSSL_PARAM_construct_utf8_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf,\n
      \                                        size_t bsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_construct
      Src: /src/openssl/crypto/params.c:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - buf
    - bsize
    argTypes:
    - char*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1554
    functionName: OSSL_PARAM_construct_octet_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - ossl_param_construct
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf,\n
      \                                         size_t bsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/params.c:1577,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/params.c:1580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - p
    - out
    - out_len
    argTypes:
    - OSSL_PARAM*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1565
    functionDepth: 2
    functionLinenumber: 1565
    functionLinenumberEnd: 1584
    functionName: ossl_param_get1_octet_string_from_param
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: "int ossl_param_get1_octet_string_from_param(const OSSL_PARAM *p,\n
      \                                           unsigned char **out,\n                                            size_t
      *out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/params.c:1589,1
    - Dst: ossl_param_get1_octet_string_from_param
      Src: /src/openssl/crypto/params.c:1591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - params
    - name
    - out
    - out_len
    argTypes:
    - OSSL_PARAM*
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1586
    functionDepth: 3
    functionLinenumber: 1586
    functionLinenumberEnd: 1592
    functionName: ossl_param_get1_octet_string
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - ossl_param_get1_octet_string_from_param
    linkageType: ''
    returnType: int
    signature: "int ossl_param_get1_octet_string(const OSSL_PARAM *params, const char
      *name,\n                                 unsigned char **out, size_t *out_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_null
      Src: /src/openssl/crypto/params.c:1602,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/params.c:1605,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/params.c:1614,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/params.c:1617,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/params.c:1618,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/params.c:1622,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - n
    - p
    - out
    - outlen
    argTypes:
    - size_t
    - OSSL_PARAM*[]
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1594
    functionDepth: 4
    functionLinenumber: 1594
    functionLinenumberEnd: 1624
    functionName: setbuf_fromparams
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_init_null
    - WPACKET_cleanup
    - WPACKET_init_static_len
    - WPACKET_get_total_written
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int setbuf_fromparams(size_t n, OSSL_PARAM *p[],\n                             unsigned
      char *out, size_t *outlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setbuf_fromparams
      Src: /src/openssl/crypto/params.c:1636,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/params.c:1641,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/params.c:1647,1
    - Dst: setbuf_fromparams
      Src: /src/openssl/crypto/params.c:1652,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/params.c:1653,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/params.c:1658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - n
    - params
    - out
    - out_len
    argTypes:
    - size_t
    - OSSL_PARAM*[]
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1626
    functionDepth: 5
    functionLinenumber: 1626
    functionLinenumberEnd: 1662
    functionName: ossl_param_get1_concat_octet_string
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_zalloc
    - setbuf_fromparams
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_param_get1_concat_octet_string(size_t n, OSSL_PARAM *params[],\n
      \                                       unsigned char **out, size_t *out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1669
    functionName: OSSL_PARAM_construct_end
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM OSSL_PARAM_construct_end(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_ptr_internal_skip_checks
      Src: /src/openssl/crypto/params.c:1681,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - p
    - val
    - used_len
    - ref_type
    - type
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1691
    functionName: get_string_ptr_internal
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - get_ptr_internal_skip_checks
    linkageType: ''
    returnType: int
    signature: "int get_string_ptr_internal(const OSSL_PARAM *p, const void **val,\n
      \                                  size_t *used_len, unsigned int ref_type,\n
      \                                  unsigned int type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_string_ptr_internal
      Src: /src/openssl/crypto/params.c:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - OSSL_PARAM*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1693
    functionDepth: 2
    functionLinenumber: 1693
    functionLinenumberEnd: 1698
    functionName: OSSL_PARAM_get_utf8_string_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - get_string_ptr_internal
    linkageType: ''
    returnType: int
    signature: int OSSL_PARAM_get_utf8_string_ptr(const OSSL_PARAM *p, const char
      **val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_string_ptr_internal
      Src: /src/openssl/crypto/params.c:1703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - val
    - used_len
    argTypes:
    - OSSL_PARAM*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 1706
    functionName: OSSL_PARAM_get_octet_string_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - get_string_ptr_internal
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_get_octet_string_ptr(const OSSL_PARAM *p, const void
      **val,\n                                    size_t *used_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/crypto/params.c:1717,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/crypto/params.c:1719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p
    - val
    - len
    argTypes:
    - OSSL_PARAM*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1708
    functionDepth: 2
    functionLinenumber: 1708
    functionLinenumberEnd: 1723
    functionName: OSSL_PARAM_set_octet_string_or_ptr
    functionSourceFile: /src/openssl/crypto/params.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: "int OSSL_PARAM_set_octet_string_or_ptr(OSSL_PARAM *p, const void *val,\n
      \                                      size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:61,1
    - Dst: ossl_malloc_setup_failures
      Src: /src/openssl/crypto/init.c:63,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/init.c:66,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/init.c:67,1
    - Dst: OPENSSL_cpuid_setup
      Src: /src/openssl/crypto/init.c:70,1
    - Dst: ossl_init_thread
      Src: /src/openssl/crypto/init.c:72,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/crypto/init.c:75,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:82,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/init.c:83,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/init.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 89
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - ossl_init_thread
    - CRYPTO_THREAD_lock_free
    - OSSL_TRACE
    - CRYPTO_THREAD_lock_new
    - CRYPTO_THREAD_init_local
    - ossl_malloc_setup_failures
    - OPENSSL_cpuid_setup
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanup
      Src: /src/openssl/crypto/init.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: win32atexit
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanup
    linkageType: ''
    returnType: int
    signature: int win32atexit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/init.c:104,1
    - Dst: _onexit
      Src: /src/openssl/crypto/init.c:109,1
    - Dst: atexit
      Src: /src/openssl/crypto/init.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - atexit
    - _onexit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_register_atexit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/init.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: DEFINE_RUN_ONCE_STATIC_ALT
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_no_register_atexit,\n                           ossl_init_register_atexit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:134,1
    - Dst: GetModuleHandleEx
      Src: /src/openssl/crypto/init.c:144,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/init.c:148,1
    - Dst: err_shelve_state
      Src: /src/openssl/crypto/init.c:163,1
    - Dst: DSO_dsobyaddr
      Src: /src/openssl/crypto/init.c:166,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/init.c:172,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/init.c:174,1
    - Dst: err_unshelve_state
      Src: /src/openssl/crypto/init.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 181
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - err_shelve_state
    - DSO_free
    - err_unshelve_state
    - GetModuleHandleEx
    - OSSL_TRACE
    - DSO_dsobyaddr
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_nodelete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: err_shelve_state
      Src: /src/openssl/crypto/init.c:195,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:198,1
    - Dst: ossl_err_load_crypto_strings
      Src: /src/openssl/crypto/init.c:199,1
    - Dst: err_unshelve_state
      Src: /src/openssl/crypto/init.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - ossl_err_load_crypto_strings
    - err_shelve_state
    - err_unshelve_state
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_load_crypto_strings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: DEFINE_RUN_ONCE_STATIC_ALT
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_no_load_crypto_strings,\n
      \                          ossl_init_load_crypto_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:222,1
    - Dst: ossl_err_load_SSL_strings
      Src: /src/openssl/crypto/init.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - ossl_err_load_SSL_strings
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_load_ssl_strings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: DEFINE_RUN_ONCE_STATIC_ALT
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_no_load_ssl_strings,\n                           ossl_init_load_ssl_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:243,1
    - Dst: openssl_add_all_ciphers_int
      Src: /src/openssl/crypto/init.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - openssl_add_all_ciphers_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_add_all_ciphers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: DEFINE_RUN_ONCE_STATIC_ALT
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_no_add_all_ciphers,\n                           ossl_init_add_all_ciphers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:264,1
    - Dst: openssl_add_all_digests_int
      Src: /src/openssl/crypto/init.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - openssl_add_all_digests_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_add_all_digests)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: DEFINE_RUN_ONCE_STATIC_ALT
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_no_add_all_digests,\n                           ossl_init_add_all_digests)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_config_int
      Src: /src/openssl/crypto/init.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - ossl_config_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_config_int
      Src: /src/openssl/crypto/init.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: DEFINE_RUN_ONCE_STATIC_ALT
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - ossl_config_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_config_settings, ossl_init_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:296,1
    - Dst: ossl_no_config_int
      Src: /src/openssl/crypto/init.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: DEFINE_RUN_ONCE_STATIC_ALT
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - ossl_no_config_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC_ALT(ossl_init_no_config, ossl_init_config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:306,1
    - Dst: async_init
      Src: /src/openssl/crypto/init.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - async_init
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_async)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:317,1
    - Dst: engine_load_openssl_int
      Src: /src/openssl/crypto/init.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - engine_load_openssl_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_engine_openssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:325,1
    - Dst: engine_load_rdrand_int
      Src: /src/openssl/crypto/init.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - engine_load_rdrand_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_engine_rdrand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:333,1
    - Dst: engine_load_dynamic_int
      Src: /src/openssl/crypto/init.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - engine_load_dynamic_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_engine_dynamic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:342,1
    - Dst: engine_load_devcrypto_int
      Src: /src/openssl/crypto/init.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - engine_load_devcrypto_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_engine_devcrypto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:351,1
    - Dst: engine_load_padlock_int
      Src: /src/openssl/crypto/init.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - engine_load_padlock_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_engine_padlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:360,1
    - Dst: engine_load_capi_int
      Src: /src/openssl/crypto/init.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 363
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - engine_load_capi_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_engine_capi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:369,1
    - Dst: engine_load_afalg_int
      Src: /src/openssl/crypto/init.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - engine_load_afalg_int
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_engine_afalg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/crypto/init.c:399,1
    - Dst: OPENSSL_INIT_STOP*::handler
      Src: /src/openssl/crypto/init.c:403,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/init.c:406,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/init.c:410,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/init.c:412,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/crypto/init.c:415,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:423,1
    - Dst: ossl_comp_zlib_cleanup
      Src: /src/openssl/crypto/init.c:424,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:425,1
    - Dst: ossl_comp_brotli_cleanup
      Src: /src/openssl/crypto/init.c:426,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:427,1
    - Dst: ossl_comp_zstd_cleanup
      Src: /src/openssl/crypto/init.c:428,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:432,1
    - Dst: async_deinit
      Src: /src/openssl/crypto/init.c:433,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:447,1
    - Dst: ossl_rand_cleanup_int
      Src: /src/openssl/crypto/init.c:448,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:450,1
    - Dst: ossl_config_modules_free
      Src: /src/openssl/crypto/init.c:451,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:454,1
    - Dst: engine_cleanup_int
      Src: /src/openssl/crypto/init.c:455,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:459,1
    - Dst: ossl_store_cleanup_int
      Src: /src/openssl/crypto/init.c:460,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:463,1
    - Dst: ossl_lib_ctx_default_deinit
      Src: /src/openssl/crypto/init.c:464,1
    - Dst: ossl_cleanup_thread
      Src: /src/openssl/crypto/init.c:466,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:468,1
    - Dst: bio_cleanup
      Src: /src/openssl/crypto/init.c:469,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:471,1
    - Dst: evp_cleanup_int
      Src: /src/openssl/crypto/init.c:472,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:474,1
    - Dst: ossl_obj_cleanup_int
      Src: /src/openssl/crypto/init.c:475,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:477,1
    - Dst: err_cleanup
      Src: /src/openssl/crypto/init.c:478,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:480,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/crypto/init.c:481,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:484,1
    - Dst: OSSL_CMP_log_close
      Src: /src/openssl/crypto/init.c:485,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/init.c:488,1
    - Dst: ossl_trace_cleanup
      Src: /src/openssl/crypto/init.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 492
    functionName: OPENSSL_cleanup
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 1
    functionsReached:
    - err_cleanup
    - OPENSSL_free
    - ossl_comp_zstd_cleanup
    - OPENSSL_thread_stop
    - OPENSSL_INIT_STOP*::handler
    - ossl_comp_brotli_cleanup
    - ossl_obj_cleanup_int
    - ossl_rand_cleanup_int
    - bio_cleanup
    - ossl_trace_cleanup
    - ossl_config_modules_free
    - ossl_comp_zlib_cleanup
    - CRYPTO_THREAD_cleanup_local
    - CRYPTO_secure_malloc_done
    - engine_cleanup_int
    - CRYPTO_THREAD_lock_free
    - OSSL_TRACE
    - OSSL_CMP_log_close
    - ossl_lib_ctx_default_deinit
    - ossl_store_cleanup_int
    - evp_cleanup_int
    - async_deinit
    - ossl_cleanup_thread
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cleanup(void)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/init.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/init.c:507,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/init.c:524,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/init.c:524,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/init.c:544,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:544,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/init.c:556,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:569,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:572,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:576,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:580,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:586,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:590,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:595,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:599,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:604,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:608,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:613,1
    - Dst: openssl_init_fork_handlers
      Src: /src/openssl/crypto/init.c:617,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:621,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/crypto/init.c:625,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/crypto/init.c:631,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:634,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/init.c:636,1
    - Dst: RUN_ONCE_ALT
      Src: /src/openssl/crypto/init.c:639,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/init.c:642,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:651,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:656,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:660,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:664,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:669,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:674,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:679,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/init.c:684,1
    - Dst: ENGINE_register_all_complete
      Src: /src/openssl/crypto/init.c:691,1
    - Dst: CRYPTO_atomic_or
      Src: /src/openssl/crypto/init.c:695,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 90
    argCount: 2
    argNames:
    - opts
    - settings
    argTypes:
    - uint64_t
    - OPENSSL_INIT_SETTINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 699
    functionName: OPENSSL_init_crypto
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 2
    functionsReached:
    - CRYPTO_atomic_load
    - ossl_unlikely
    - RUN_ONCE
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - openssl_init_fork_handlers
    - CRYPTO_THREAD_set_local
    - CRYPTO_THREAD_unlock
    - CRYPTO_atomic_or
    - ENGINE_register_all_complete
    - ossl_likely
    - RUN_ONCE_ALT
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: int
    signature: int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS
      *settings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandleEx
      Src: /src/openssl/crypto/init.c:722,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/init.c:743,1
    - Dst: DSO_dsobyaddr
      Src: /src/openssl/crypto/init.c:744,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/init.c:746,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/init.c:749,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/init.c:750,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/init.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 763
    functionName: OPENSSL_atexit
    functionSourceFile: /src/openssl/crypto/init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - DSO_free
    - ERR_pop_to_mark
    - GetModuleHandleEx
    - ERR_set_mark
    - DSO_dsobyaddr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int OPENSSL_atexit(void (*handler)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/provider_child.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ossl_child_prov_ctx_new
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *ossl_child_prov_ctx_new(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_child.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_child.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vgbl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: ossl_child_prov_ctx_free
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_child_prov_ctx_free(void *vgbl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/crypto/provider_child.c:64,1
    - Dst: c_get_libctx
      Src: /src/openssl/crypto/provider_child.c:80,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_child.c:82,1
    - Dst: struct child_prov_globals*::c_prov_get0_provider_ctx
      Src: /src/openssl/crypto/provider_child.c:86,1
    - Dst: struct child_prov_globals*::c_prov_get0_dispatch
      Src: /src/openssl/crypto/provider_child.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 90
    functionName: ossl_child_provider_init
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    - OSSL_FUNC_core_get_libctx
    - struct child_prov_globals*::c_prov_get0_provider_ctx
    - struct child_prov_globals*::c_prov_get0_dispatch
    - c_get_libctx
    linkageType: ''
    returnType: int
    signature: "int ossl_child_provider_init(const OSSL_CORE_HANDLE *handle,\n                                    const
      OSSL_DISPATCH *in,\n                                    const OSSL_DISPATCH
      **out,\n                                    void **provctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_child.c:100,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_child.c:104,1
    - Dst: struct child_prov_globals*::c_prov_name
      Src: /src/openssl/crypto/provider_child.c:107,1
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/provider_child.c:115,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_child.c:120,1
    - Dst: ossl_provider_activate
      Src: /src/openssl/crypto/provider_child.c:127,1
    - Dst: ossl_provider_new
      Src: /src/openssl/crypto/provider_child.c:134,1
    - Dst: ossl_provider_activate
      Src: /src/openssl/crypto/provider_child.c:138,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_child.c:139,1
    - Dst: ossl_provider_set_child
      Src: /src/openssl/crypto/provider_child.c:143,1
    - Dst: ossl_provider_add_to_store
      Src: /src/openssl/crypto/provider_child.c:144,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_child.c:145,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_child.c:146,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_child.c:153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - prov
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 92
    functionDepth: 9
    functionLinenumber: 92
    functionLinenumberEnd: 155
    functionName: provider_create_child_cb
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 0
    functionsReached:
    - ossl_provider_add_to_store
    - ossl_provider_free
    - struct child_prov_globals*::c_prov_name
    - ossl_lib_ctx_get_data
    - ossl_provider_activate
    - ossl_provider_find
    - CRYPTO_THREAD_write_lock
    - ossl_provider_deactivate
    - ossl_provider_set_child
    - CRYPTO_THREAD_unlock
    - ossl_provider_new
    linkageType: ''
    returnType: int
    signature: int provider_create_child_cb(const OSSL_CORE_HANDLE *prov, void *cbdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_child.c:164,1
    - Dst: struct child_prov_globals*::c_prov_name
      Src: /src/openssl/crypto/provider_child.c:168,1
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/provider_child.c:169,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_child.c:176,1
    - Dst: ossl_provider_is_child
      Src: /src/openssl/crypto/provider_child.c:177,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_child.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - prov
    - cbdata
    argTypes:
    - OSSL_CORE_HANDLE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 157
    functionDepth: 8
    functionLinenumber: 157
    functionLinenumberEnd: 182
    functionName: provider_remove_child_cb
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 0
    functionsReached:
    - ossl_provider_free
    - struct child_prov_globals*::c_prov_name
    - ossl_lib_ctx_get_data
    - ossl_provider_is_child
    - ossl_provider_find
    - ossl_provider_deactivate
    linkageType: ''
    returnType: int
    signature: int provider_remove_child_cb(const OSSL_CORE_HANDLE *prov, void *cbdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_set_default_properties_int
      Src: /src/openssl/crypto/provider_child.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - props
    - cbdata
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: provider_global_props_cb
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 0
    functionsReached:
    - evp_set_default_properties_int
    linkageType: ''
    returnType: int
    signature: int provider_global_props_cb(const char *props, void *cbdata)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_child.c:200,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/crypto/provider_child.c:208,1
    - Dst: OSSL_FUNC_provider_register_child_cb
      Src: /src/openssl/crypto/provider_child.c:212,1
    - Dst: OSSL_FUNC_provider_deregister_child_cb
      Src: /src/openssl/crypto/provider_child.c:216,1
    - Dst: OSSL_FUNC_provider_name
      Src: /src/openssl/crypto/provider_child.c:219,1
    - Dst: OSSL_FUNC_provider_get0_provider_ctx
      Src: /src/openssl/crypto/provider_child.c:223,1
    - Dst: OSSL_FUNC_provider_get0_dispatch
      Src: /src/openssl/crypto/provider_child.c:226,1
    - Dst: OSSL_FUNC_provider_up_ref
      Src: /src/openssl/crypto/provider_child.c:230,1
    - Dst: OSSL_FUNC_provider_free
      Src: /src/openssl/crypto/provider_child.c:233,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_child.c:250,1
    - Dst: struct child_prov_globals*::c_provider_register_child_cb
      Src: /src/openssl/crypto/provider_child.c:254,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 3
    argNames:
    - ctx
    - handle
    - in
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 262
    functionName: ossl_provider_init_as_child
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 1
    functionsReached:
    - OSSL_FUNC_provider_register_child_cb
    - ossl_lib_ctx_get_data
    - OSSL_FUNC_provider_deregister_child_cb
    - OSSL_FUNC_core_get_libctx
    - OSSL_FUNC_provider_get0_provider_ctx
    - OSSL_FUNC_provider_name
    - CRYPTO_THREAD_lock_new
    - OSSL_FUNC_provider_up_ref
    - OSSL_FUNC_provider_free
    - struct child_prov_globals*::c_provider_register_child_cb
    - OSSL_FUNC_provider_get0_dispatch
    linkageType: ''
    returnType: int
    signature: "int ossl_provider_init_as_child(OSSL_LIB_CTX *ctx,\n                                const
      OSSL_CORE_HANDLE *handle,\n                                const OSSL_DISPATCH
      *in)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_child.c:267,1
    - Dst: struct child_prov_globals*::c_provider_deregister_child_cb
      Src: /src/openssl/crypto/provider_child.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 5
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: ossl_provider_deinit_child
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 1
    functionsReached:
    - struct child_prov_globals*::c_provider_deregister_child_cb
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: void
    signature: void ossl_provider_deinit_child(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_child.c:291,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/provider_child.c:291,1
    - Dst: ossl_provider_get_parent
      Src: /src/openssl/crypto/provider_child.c:296,1
    - Dst: struct child_prov_globals*::c_prov_up_ref
      Src: /src/openssl/crypto/provider_child.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - activate
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: ossl_provider_up_ref_parent
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 2
    functionsReached:
    - ossl_provider_libctx
    - ossl_lib_ctx_get_data
    - ossl_provider_get_parent
    - struct child_prov_globals*::c_prov_up_ref
    linkageType: ''
    returnType: int
    signature: int ossl_provider_up_ref_parent(OSSL_PROVIDER *prov, int activate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_child.c:307,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/provider_child.c:307,1
    - Dst: ossl_provider_get_parent
      Src: /src/openssl/crypto/provider_child.c:312,1
    - Dst: struct child_prov_globals*::c_prov_free
      Src: /src/openssl/crypto/provider_child.c:315,1
    - Dst: ossl_provider_get_parent
      Src: /src/openssl/crypto/provider_child.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - prov
    - deactivate
    argTypes:
    - OSSL_PROVIDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 5
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: ossl_provider_free_parent
    functionSourceFile: /src/openssl/crypto/provider_child.c
    functionUses: 3
    functionsReached:
    - struct child_prov_globals*::c_prov_free
    - ossl_provider_libctx
    - ossl_lib_ctx_get_data
    - ossl_provider_get_parent
    linkageType: ''
    returnType: int
    signature: int ossl_provider_free_parent(OSSL_PROVIDER *prov, int deactivate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/o_str.c:30,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/o_str.c:31,1
    - Dst: memcpy
      Src: /src/openssl/crypto/o_str.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - str
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: CRYPTO_strdup
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - CRYPTO_malloc
    linkageType: ''
    returnType: char
    signature: char *CRYPTO_strdup(const char *str, const char* file, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/crypto/o_str.c:45,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/o_str.c:47,1
    - Dst: memcpy
      Src: /src/openssl/crypto/o_str.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - str
    - s
    - file
    - line
    argTypes:
    - char*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: CRYPTO_strndup
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CRYPTO_malloc
    - OPENSSL_strnlen
    linkageType: ''
    returnType: char
    signature: char *CRYPTO_strndup(const char *str, size_t s, const char* file, int
      line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/o_str.c:62,1
    - Dst: memcpy
      Src: /src/openssl/crypto/o_str.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - data
    - siz
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: CRYPTO_memdup
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CRYPTO_malloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_memdup(const void *data, size_t siz, const char* file,
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - str
    - maxlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: OPENSSL_strnlen
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_strnlen(const char *str, size_t maxlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/o_str.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: OPENSSL_strlcpy
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 3
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_strlcpy(char *dst, const char *src, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/o_str.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: OPENSSL_strlcat
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strlcpy
    linkageType: ''
    returnType: size_t
    signature: size_t OPENSSL_strlcat(char *dst, const char *src, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/openssl/crypto/o_str.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - str
    - endptr
    - base
    - num
    argTypes:
    - char*
    - char**
    - int
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 163
    functionName: OPENSSL_strtoul
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - strtoul
    linkageType: ''
    returnType: int
    signature: "int OPENSSL_strtoul(const char *str, char **endptr, int base,\n                    unsigned
      long *num)"
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 206
    functionName: OPENSSL_hexchar2int
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_hexchar2int(unsigned char c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:224,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/o_str.c:227,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/o_str.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - buf
    - buf_n
    - buflen
    - str
    - sep
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 246
    functionName: hexstr2buf_sep
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_hexchar2int
    linkageType: ''
    returnType: int
    signature: "int hexstr2buf_sep(unsigned char *buf, size_t buf_n, size_t *buflen,\n
      \                         const char *str, const char sep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexstr2buf_sep
      Src: /src/openssl/crypto/o_str.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - buf
    - buf_n
    - buflen
    - str
    - sep
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: OPENSSL_hexstr2buf_ex
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 1
    functionsReached:
    - hexstr2buf_sep
    linkageType: ''
    returnType: int
    signature: "int OPENSSL_hexstr2buf_ex(unsigned char *buf, size_t buf_n, size_t
      *buflen,\n                          const char *str, const char sep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/o_str.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:265,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/o_str.c:269,1
    - Dst: hexstr2buf_sep
      Src: /src/openssl/crypto/o_str.c:275,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/o_str.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - str
    - buflen
    - sep
    argTypes:
    - char*
    - long*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 282
    functionName: ossl_hexstr2buf_sep
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - hexstr2buf_sep
    - OPENSSL_free
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *ossl_hexstr2buf_sep(const char *str, long *buflen,\n
      \                                  const char sep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_hexstr2buf_sep
      Src: /src/openssl/crypto/o_str.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - buflen
    argTypes:
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: OPENSSL_hexstr2buf
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - ossl_hexstr2buf_sep
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *OPENSSL_hexstr2buf(const char *str, long *buflen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/o_str.c:305,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/o_str.c:311,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/o_str.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - str
    - str_n
    - strlength
    - buf
    - buflen
    - sep
    argTypes:
    - char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 323
    functionName: buf2hexstr_sep
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - ebcdic2ascii
    - ERR_raise
    - ossl_to_hex
    linkageType: ''
    returnType: int
    signature: "int buf2hexstr_sep(char *str, size_t str_n, size_t *strlength,\n                          const
      unsigned char *buf, size_t buflen,\n                          const char sep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buf2hexstr_sep
      Src: /src/openssl/crypto/o_str.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - str
    - str_n
    - strlength
    - buf
    - buflen
    - sep
    argTypes:
    - char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: OPENSSL_buf2hexstr_ex
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - buf2hexstr_sep
    linkageType: ''
    returnType: int
    signature: "int OPENSSL_buf2hexstr_ex(char *str, size_t str_n, size_t *strlength,\n
      \                         const unsigned char *buf, size_t buflen,\n                          const
      char sep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/o_str.c:338,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/o_str.c:341,1
    - Dst: buf2hexstr_sep
      Src: /src/openssl/crypto/o_str.c:344,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/o_str.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - buflen
    - sep
    argTypes:
    - unsigned char*
    - long
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: ossl_buf2hexstr_sep
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - buf2hexstr_sep
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *ossl_buf2hexstr_sep(const unsigned char *buf, long buflen, char
      sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_buf2hexstr_sep
      Src: /src/openssl/crypto/o_str.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: OPENSSL_buf2hexstr
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - ossl_buf2hexstr_sep
    linkageType: ''
    returnType: char
    signature: char *OPENSSL_buf2hexstr(const unsigned char *buf, long buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strerror_s
      Src: /src/openssl/crypto/o_str.c:364,1
    - Dst: strerror_r
      Src: /src/openssl/crypto/o_str.c:373,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/o_str.c:384,1
    - Dst: strerror_r
      Src: /src/openssl/crypto/o_str.c:393,1
    - Dst: strerror
      Src: /src/openssl/crypto/o_str.c:400,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/o_str.c:404,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - errnum
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 407
    functionName: openssl_strerror_r
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 0
    functionsReached:
    - strerror_r
    - OPENSSL_strlcpy
    - strerror_s
    - strerror
    linkageType: ''
    returnType: int
    signature: int openssl_strerror_r(int errnum, char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/o_str.c:413,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/o_str.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: OPENSSL_strcasecmp
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 5
    functionsReached:
    - ossl_tolower
    linkageType: ''
    returnType: int
    signature: int OPENSSL_strcasecmp(const char *s1, const char *s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/o_str.c:425,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/o_str.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 430
    functionName: OPENSSL_strncasecmp
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 1
    functionsReached:
    - ossl_tolower
    linkageType: ''
    returnType: int
    signature: int OPENSSL_strncasecmp(const char *s1, const char *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_hex
      Src: /src/openssl/crypto/o_str.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: ossl_to_hex
    functionSourceFile: /src/openssl/crypto/o_str.c
    functionUses: 1
    functionsReached:
    - to_hex
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_to_hex(char *buf, uint8_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: name_string_free
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void name_string_free(char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/crypto/core_namemap.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: names_free
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_pop_free
    linkageType: ''
    returnType: void
    signature: void names_free(NAMES *n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_new
      Src: /src/openssl/crypto/core_namemap.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ossl_stored_namemap_new
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 1
    functionsReached:
    - ossl_namemap_new
    linkageType: ''
    returnType: void
    signature: void *ossl_stored_namemap_new(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_free
      Src: /src/openssl/crypto/core_namemap.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vnamemap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: ossl_stored_namemap_free
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 1
    functionsReached:
    - ossl_namemap_free
    linkageType: ''
    returnType: void
    signature: void ossl_stored_namemap_free(void *vnamemap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/core_namemap.c:96,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:99,1
    - Dst: tsan_load
      Src: /src/openssl/crypto/core_namemap.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - namemap
    argTypes:
    - OSSL_NAMEMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: ossl_namemap_empty
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - tsan_load
    linkageType: ''
    returnType: int
    signature: int ossl_namemap_empty(OSSL_NAMEMAP *namemap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/core_namemap.c:127,1
    - Dst: sk_NAMES_value
      Src: /src/openssl/crypto/core_namemap.c:130,1
    - Dst: sk_OPENSSL_STRING_dup
      Src: /src/openssl/crypto/core_namemap.c:132,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:134,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/crypto/core_namemap.c:139,1
    - Dst: fn
      Src: /src/openssl/crypto/core_namemap.c:140,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/crypto/core_namemap.c:140,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/crypto/core_namemap.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - namemap
    - number
    - data
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 144
    functionName: ossl_namemap_doall_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - sk_NAMES_value
    - fn
    - CRYPTO_THREAD_read_lock
    - sk_OPENSSL_STRING_free
    - CRYPTO_THREAD_unlock
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_dup
    linkageType: ''
    returnType: int
    signature: "int ossl_namemap_doall_names(const OSSL_NAMEMAP *namemap, int number,\n
      \                            void (*fn)(const char *name, void *data),\n                             void
      *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/core_namemap.c:154,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/crypto/core_namemap.c:160,1
    - Dst: HT_SET_KEY_STRING_CASE
      Src: /src/openssl/crypto/core_namemap.c:161,1
    - Dst: ossl_ht_get
      Src: /src/openssl/crypto/core_namemap.c:163,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/core_namemap.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - namemap
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: ossl_namemap_name2num
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - HT_INIT_KEY
    - TO_HT_KEY
    - HT_SET_KEY_STRING_CASE
    - ossl_ht_get
    - ossl_namemap_stored
    linkageType: ''
    returnType: int
    signature: int ossl_namemap_name2num(const OSSL_NAMEMAP *namemap, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/core_namemap.c:181,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/crypto/core_namemap.c:187,1
    - Dst: HT_SET_KEY_STRING_CASE_N
      Src: /src/openssl/crypto/core_namemap.c:188,1
    - Dst: ossl_ht_get
      Src: /src/openssl/crypto/core_namemap.c:190,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/core_namemap.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - namemap
    - name
    - name_len
    argTypes:
    - OSSL_NAMEMAP*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: ossl_namemap_name2num_n
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - HT_INIT_KEY
    - TO_HT_KEY
    - ossl_ht_get
    - ossl_namemap_stored
    - HT_SET_KEY_STRING_CASE_N
    linkageType: ''
    returnType: int
    signature: "int ossl_namemap_name2num_n(const OSSL_NAMEMAP *namemap,\n                            const
      char *name, size_t name_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/core_namemap.c:208,1
    - Dst: sk_NAMES_value
      Src: /src/openssl/crypto/core_namemap.c:211,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/crypto/core_namemap.c:213,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - namemap
    - number
    - idx
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: ossl_namemap_num2name
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_value
    - CRYPTO_THREAD_read_lock
    - sk_NAMES_value
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: char
    signature: "char *ossl_namemap_num2name(const OSSL_NAMEMAP *namemap, int number,\n
      \                                 int idx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_NAMES_value
      Src: /src/openssl/crypto/core_namemap.c:228,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/core_namemap.c:229,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/crypto/core_namemap.c:235,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/core_namemap.c:240,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/crypto/core_namemap.c:243,1
    - Dst: sk_NAMES_push
      Src: /src/openssl/crypto/core_namemap.c:248,1
    - Dst: sk_NAMES_num
      Src: /src/openssl/crypto/core_namemap.c:250,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/crypto/core_namemap.c:256,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - namemap
    - number
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 259
    functionName: numname_insert
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - sk_OPENSSL_STRING_push
    - sk_NAMES_value
    - sk_OPENSSL_STRING_new_null
    - OPENSSL_free
    - OPENSSL_strdup
    - sk_NAMES_push
    - sk_OPENSSL_STRING_pop_free
    - sk_NAMES_num
    linkageType: ''
    returnType: int
    signature: "int numname_insert(OSSL_NAMEMAP *namemap, int number,\n                          const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/core_namemap.c:270,1
    - Dst: numname_insert
      Src: /src/openssl/crypto/core_namemap.c:273,1
    - Dst: tsan_store
      Src: /src/openssl/crypto/core_namemap.c:277,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/crypto/core_namemap.c:279,1
    - Dst: HT_SET_KEY_STRING_CASE
      Src: /src/openssl/crypto/core_namemap.c:280,1
    - Dst: ossl_ht_insert
      Src: /src/openssl/crypto/core_namemap.c:282,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/crypto/core_namemap.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/core_namemap.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - namemap
    - number
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 292
    functionName: namemap_add_name
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - HT_INIT_KEY
    - ossl_ht_insert
    - ERR_raise
    - TO_HT_KEY
    - numname_insert
    - HT_SET_KEY_STRING_CASE
    - ossl_namemap_name2num
    - tsan_store
    linkageType: ''
    returnType: int
    signature: "int namemap_add_name(OSSL_NAMEMAP *namemap, int number,\n                            const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/core_namemap.c:301,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/core_namemap.c:307,1
    - Dst: namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:309,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - namemap
    - number
    - name
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 312
    functionName: ossl_namemap_add_name
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - namemap_add_name
    - ossl_namemap_stored
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int ossl_namemap_add_name(OSSL_NAMEMAP *namemap, int number,\n                          const
      char *name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/core_namemap.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/core_namemap.c:321,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/core_namemap.c:325,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/core_namemap.c:328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:329,1
    - Dst: strchr
      Src: /src/openssl/crypto/core_namemap.c:340,1
    - Dst: strlen
      Src: /src/openssl/crypto/core_namemap.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/core_namemap.c:349,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/core_namemap.c:354,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/core_namemap.c:359,1
    - Dst: strlen
      Src: /src/openssl/crypto/core_namemap.c:372,1
    - Dst: namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:374,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/core_namemap.c:378,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/core_namemap.c:387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - namemap
    - number
    - names
    - separator
    argTypes:
    - OSSL_NAMEMAP*
    - int
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 390
    functionName: ossl_namemap_add_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - strchr
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - ERR_raise_data
    - OPENSSL_free
    - OPENSSL_strdup
    - CRYPTO_THREAD_unlock
    - namemap_add_name
    - strlen
    - ossl_namemap_name2num
    linkageType: ''
    returnType: int
    signature: "int ossl_namemap_add_names(OSSL_NAMEMAP *namemap, int number,\n                           const
      char *names, const char separator)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:408,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/core_namemap.c:408,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:409,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/core_namemap.c:409,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:413,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/core_namemap.c:413,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:414,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/core_namemap.c:414,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/core_namemap.c:415,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/core_namemap.c:418,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:419,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - base_nid
    - nid
    - pem_name
    - arg
    argTypes:
    - int
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 424
    functionName: get_legacy_evp_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2txt
    - ossl_namemap_add_name
    - OBJ_nid2sn
    - OBJ_nid2obj
    - OBJ_nid2ln
    linkageType: ''
    returnType: void
    signature: "void get_legacy_evp_names(int base_nid, int nid, const char *pem_name,\n
      \                                void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/openssl/crypto/core_namemap.c:428,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:431,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/core_namemap.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - 'on'
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: get_legacy_cipher_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_type
    - OBJ_NAME_get
    - get_legacy_evp_names
    linkageType: ''
    returnType: void
    signature: void get_legacy_cipher_names(const OBJ_NAME *on, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/openssl/crypto/core_namemap.c:436,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:439,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/core_namemap.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - 'on'
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 5
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: get_legacy_md_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_type
    - OBJ_NAME_get
    - get_legacy_evp_names
    linkageType: ''
    returnType: void
    signature: void get_legacy_md_names(const OBJ_NAME *on, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/crypto/core_namemap.c:449,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:455,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:458,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:472,1
    - Dst: get_legacy_evp_names
      Src: /src/openssl/crypto/core_namemap.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ameth
    - arg
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 480
    functionName: get_legacy_pkey_meth_names
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_asn1_get0_info
    - get_legacy_evp_names
    linkageType: ''
    returnType: void
    signature: "void get_legacy_pkey_meth_names(const EVP_PKEY_ASN1_METHOD *ameth,\n
      \                                      void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/core_namemap.c:495,1
    - Dst: ossl_namemap_empty
      Src: /src/openssl/crypto/core_namemap.c:501,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/core_namemap.c:513,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/core_namemap.c:516,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/core_namemap.c:518,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:525,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:527,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:529,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/core_namemap.c:530,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/openssl/crypto/core_namemap.c:537,1
    - Dst: get_legacy_pkey_meth_names
      Src: /src/openssl/crypto/core_namemap.c:538,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/openssl/crypto/core_namemap.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 489
    functionDepth: 6
    functionLinenumber: 489
    functionLinenumberEnd: 545
    functionName: ossl_namemap_stored
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 3
    functionsReached:
    - ossl_namemap_add_name
    - ossl_lib_ctx_get_data
    - get_legacy_pkey_meth_names
    - OBJ_NAME_do_all
    - ossl_namemap_empty
    - EVP_PKEY_asn1_get_count
    - OPENSSL_init_crypto
    - EVP_PKEY_asn1_get0
    linkageType: ''
    returnType: OSSL_NAMEMAP
    signature: OSSL_NAMEMAP *ossl_namemap_stored(OSSL_LIB_CTX *libctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/core_namemap.c:554,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/core_namemap.c:557,1
    - Dst: ossl_ht_new
      Src: /src/openssl/crypto/core_namemap.c:560,1
    - Dst: sk_NAMES_new_null
      Src: /src/openssl/crypto/core_namemap.c:563,1
    - Dst: ossl_namemap_free
      Src: /src/openssl/crypto/core_namemap.c:569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 571
    functionName: ossl_namemap_new
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - sk_NAMES_new_null
    - ossl_ht_new
    - CRYPTO_THREAD_lock_new
    - ossl_namemap_free
    linkageType: ''
    returnType: OSSL_NAMEMAP
    signature: OSSL_NAMEMAP *ossl_namemap_new(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_NAMES_pop_free
      Src: /src/openssl/crypto/core_namemap.c:578,1
    - Dst: ossl_ht_free
      Src: /src/openssl/crypto/core_namemap.c:580,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/core_namemap.c:582,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/core_namemap.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - namemap
    argTypes:
    - OSSL_NAMEMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 584
    functionName: ossl_namemap_free
    functionSourceFile: /src/openssl/crypto/core_namemap.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - ossl_ht_free
    - OPENSSL_free
    - sk_NAMES_pop_free
    linkageType: ''
    returnType: void
    signature: void ossl_namemap_free(OSSL_NAMEMAP *namemap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/openssl/crypto/o_time.c:35,1
    - Dst: memcpy
      Src: /src/openssl/crypto/o_time.c:37,1
    - Dst: gmtime_r
      Src: /src/openssl/crypto/o_time.c:41,1
    - Dst: gmtime_s
      Src: /src/openssl/crypto/o_time.c:45,1
    - Dst: gmtime
      Src: /src/openssl/crypto/o_time.c:49,1
    - Dst: memcpy
      Src: /src/openssl/crypto/o_time.c:53,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - timer
    - result
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 57
    functionName: OPENSSL_gmtime
    functionSourceFile: /src/openssl/crypto/o_time.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gmtime_s
    - gmtime
    - gmtime_r
    linkageType: ''
    returnType: struct tm
    signature: struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: julian_adj
      Src: /src/openssl/crypto/o_time.c:78,1
    - Dst: julian_to_date
      Src: /src/openssl/crypto/o_time.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tm
    - off_day
    - offset_sec
    argTypes:
    - struct tm*
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 100
    functionName: OPENSSL_gmtime_adj
    functionSourceFile: /src/openssl/crypto/o_time.c
    functionUses: 0
    functionsReached:
    - julian_to_date
    - julian_adj
    linkageType: ''
    returnType: int
    signature: int OPENSSL_gmtime_adj(struct tm *tm, int off_day, long offset_sec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: julian_adj
      Src: /src/openssl/crypto/o_time.c:107,1
    - Dst: julian_adj
      Src: /src/openssl/crypto/o_time.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - pday
    - psec
    - from
    - to
    argTypes:
    - int*
    - int*
    - struct tm*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: OPENSSL_gmtime_diff
    functionSourceFile: /src/openssl/crypto/o_time.c
    functionUses: 0
    functionsReached:
    - julian_adj
    linkageType: ''
    returnType: int
    signature: "int OPENSSL_gmtime_diff(int *pday, int *psec,\n                        const
      struct tm *from, const struct tm *to)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: date_to_julian
      Src: /src/openssl/crypto/o_time.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - tm
    - off_day
    - offset_sec
    - pday
    - psec
    argTypes:
    - struct tm*
    - int
    - long
    - long*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 174
    functionName: julian_adj
    functionSourceFile: /src/openssl/crypto/o_time.c
    functionUses: 2
    functionsReached:
    - date_to_julian
    linkageType: ''
    returnType: int
    signature: "int julian_adj(const struct tm *tm, int off_day, long offset_sec,\n
      \                     long *pday, int *psec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - y
    - m
    - d
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: date_to_julian
    functionSourceFile: /src/openssl/crypto/o_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long date_to_julian(int y, int m, int d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - jd
    - y
    - m
    - d
    argTypes:
    - long
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: julian_to_date
    functionSourceFile: /src/openssl/crypto/o_time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void julian_to_date(long jd, int *y, int *m, int *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/deterministic_nonce.c:34,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/deterministic_nonce.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - out
    - qlen_bits
    - in
    - inlen
    argTypes:
    - BIGNUM*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: bits2int
    functionSourceFile: /src/openssl/crypto/deterministic_nonce.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_rshift
    linkageType: ''
    returnType: int
    signature: "int bits2int(BIGNUM *out, int qlen_bits,\n                    const
      unsigned char *in, size_t inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/deterministic_nonce.c:61,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/deterministic_nonce.c:64,1
    - Dst: ossl_bn_mask_bits_fixed_top
      Src: /src/openssl/crypto/deterministic_nonce.c:65,1
    - Dst: bn_rshift_fixed_top
      Src: /src/openssl/crypto/deterministic_nonce.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - out
    - qlen_bits
    - in
    - inlen
    argTypes:
    - BIGNUM*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: bits2int_consttime
    functionSourceFile: /src/openssl/crypto/deterministic_nonce.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - ossl_bn_mask_bits_fixed_top
    - BN_set_flags
    - bn_rshift_fixed_top
    linkageType: ''
    returnType: int
    signature: "int bits2int_consttime(BIGNUM *out, int qlen_bits,\n                              const
      unsigned char *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/deterministic_nonce.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - num
    - rlen
    argTypes:
    - unsigned char*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: int2octets
    functionSourceFile: /src/openssl/crypto/deterministic_nonce.c
    functionUses: 0
    functionsReached:
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: int int2octets(unsigned char *out, const BIGNUM *num, int rlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/deterministic_nonce.c:103,1
    - Dst: bits2int
      Src: /src/openssl/crypto/deterministic_nonce.c:106,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/deterministic_nonce.c:110,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/deterministic_nonce.c:111,1
    - Dst: int2octets
      Src: /src/openssl/crypto/deterministic_nonce.c:114,1
    - Dst: BN_free
      Src: /src/openssl/crypto/deterministic_nonce.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - out
    - q
    - qlen_bits
    - rlen
    - in
    - inlen
    argTypes:
    - unsigned char*
    - BIGNUM*
    - int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: bits2octets
    functionSourceFile: /src/openssl/crypto/deterministic_nonce.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - bits2int
    - BN_new
    - BN_usub
    - BN_free
    - int2octets
    linkageType: ''
    returnType: int
    signature: "int bits2octets(unsigned char *out, const BIGNUM *q, int qlen_bits,\n
      \                      int rlen, const unsigned char *in, size_t inlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/deterministic_nonce.c:140,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/deterministic_nonce.c:141,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/deterministic_nonce.c:142,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/deterministic_nonce.c:147,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/deterministic_nonce.c:150,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/deterministic_nonce.c:152,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/deterministic_nonce.c:154,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/deterministic_nonce.c:156,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/crypto/deterministic_nonce.c:158,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/deterministic_nonce.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 7
    argNames:
    - digestname
    - entropy
    - entropylen
    - nonce
    - noncelen
    - libctx
    - propq
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 165
    functionName: kdf_setup
    functionSourceFile: /src/openssl/crypto/deterministic_nonce.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: EVP_KDF_CTX
    signature: "EVP_KDF_CTX *kdf_setup(const char *digestname,\n                              const
      unsigned char *entropy, size_t entropylen,\n                              const
      unsigned char *nonce, size_t noncelen,\n                              OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/deterministic_nonce.c:197,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/deterministic_nonce.c:206,1
    - Dst: memset
      Src: /src/openssl/crypto/deterministic_nonce.c:213,1
    - Dst: int2octets
      Src: /src/openssl/crypto/deterministic_nonce.c:215,1
    - Dst: bits2octets
      Src: /src/openssl/crypto/deterministic_nonce.c:216,1
    - Dst: kdf_setup
      Src: /src/openssl/crypto/deterministic_nonce.c:219,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/deterministic_nonce.c:224,1
    - Dst: bits2int_consttime
      Src: /src/openssl/crypto/deterministic_nonce.c:225,1
    - Dst: ossl_bn_is_word_fixed_top
      Src: /src/openssl/crypto/deterministic_nonce.c:227,1
    - Dst: ossl_bn_is_word_fixed_top
      Src: /src/openssl/crypto/deterministic_nonce.c:228,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/deterministic_nonce.c:229,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/deterministic_nonce.c:232,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/deterministic_nonce.c:237,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/deterministic_nonce.c:238,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 8
    argNames:
    - out
    - q
    - priv
    - hm
    - hmlen
    - digestname
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - unsigned char*
    - size_t
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 240
    functionName: ossl_gen_deterministic_nonce_rfc6979
    functionSourceFile: /src/openssl/crypto/deterministic_nonce.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - memset
    - bn_correct_top
    - bits2octets
    - EVP_KDF_CTX_free
    - OPENSSL_clear_free
    - ossl_bn_is_word_fixed_top
    - BN_ucmp
    - bits2int_consttime
    - kdf_setup
    - EVP_KDF_derive
    - BN_num_bits
    - int2octets
    linkageType: ''
    returnType: int
    signature: "int ossl_gen_deterministic_nonce_rfc6979(BIGNUM *out, const BIGNUM
      *q,\n                                         const BIGNUM *priv,\n                                         const
      unsigned char *hm, size_t hmlen,\n                                         const
      char *digestname,\n                                         OSSL_LIB_CTX *libctx,\n
      \                                        const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/threads_win.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lock
    - count
    argTypes:
    - struct rcu_lock_st*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: allocate_new_qp_group
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - OPENSSL_calloc
    linkageType: ''
    returnType: struct rcu_qp
    signature: "struct rcu_qp *allocate_new_qp_group(struct rcu_lock_st *lock,\n                                            uint32_t
      count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/threads_win.c:147,1
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:151,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/threads_win.c:157,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/threads_win.c:158,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/crypto/threads_win.c:159,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/crypto/threads_win.c:160,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/threads_win.c:161,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/threads_win.c:162,1
    - Dst: allocate_new_qp_group
      Src: /src/openssl/crypto/threads_win.c:163,1
    - Dst: num_writers::num_writers
      Src: /src/openssl/crypto/threads_win.c:163,1
    - Dst: qp_group::qp_group
      Src: /src/openssl/crypto/threads_win.c:164,1
    - Dst: alloc_signal::alloc_signal
      Src: /src/openssl/crypto/threads_win.c:165,1
    - Dst: prior_signal::prior_signal
      Src: /src/openssl/crypto/threads_win.c:166,1
    - Dst: write_lock::write_lock
      Src: /src/openssl/crypto/threads_win.c:167,1
    - Dst: alloc_lock::alloc_lock
      Src: /src/openssl/crypto/threads_win.c:168,1
    - Dst: prior_lock::prior_lock
      Src: /src/openssl/crypto/threads_win.c:169,1
    - Dst: rw_lock::rw_lock
      Src: /src/openssl/crypto/threads_win.c:170,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/threads_win.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:172,1
    - Dst: qp_group::qp_group
      Src: /src/openssl/crypto/threads_win.c:172,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/threads_win.c:173,1
    - Dst: alloc_signal::alloc_signal
      Src: /src/openssl/crypto/threads_win.c:173,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/threads_win.c:174,1
    - Dst: prior_signal::prior_signal
      Src: /src/openssl/crypto/threads_win.c:174,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:175,1
    - Dst: alloc_lock::alloc_lock
      Src: /src/openssl/crypto/threads_win.c:175,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:176,1
    - Dst: prior_lock::prior_lock
      Src: /src/openssl/crypto/threads_win.c:176,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:177,1
    - Dst: write_lock::write_lock
      Src: /src/openssl/crypto/threads_win.c:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - num_writers
    - ctx
    argTypes:
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 184
    functionName: ossl_rcu_lock_new
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - write_lock::write_lock
    - ossl_crypto_mutex_free
    - ossl_crypto_condvar_free
    - ossl_crypto_mutex_new
    - alloc_signal::alloc_signal
    - alloc_lock::alloc_lock
    - prior_signal::prior_signal
    - rw_lock::rw_lock
    - ossl_crypto_condvar_new
    - ossl_lib_ctx_get_concrete
    - prior_lock::prior_lock
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - qp_group::qp_group
    - OPENSSL_zalloc::OPENSSL_zalloc
    - num_writers::num_writers
    - allocate_new_qp_group
    linkageType: ''
    returnType: CRYPTO_RCU_LOCK
    signature: CRYPTO_RCU_LOCK *ossl_rcu_lock_new(int num_writers, OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/threads_win.c:188,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:189,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/threads_win.c:190,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/threads_win.c:191,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:192,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:193,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/threads_win.c:194,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: ossl_rcu_lock_free
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - ossl_crypto_condvar_free
    - ossl_crypto_mutex_free
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_lock_free(CRYPTO_RCU_LOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_load_int
      Src: /src/openssl/crypto/threads_win.c:207,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/crypto/threads_win.c:209,1
    - Dst: CRYPTO_atomic_load_int
      Src: /src/openssl/crypto/threads_win.c:211,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/crypto/threads_win.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: get_hold_current_qp
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - CRYPTO_atomic_load_int
    - CRYPTO_atomic_add64
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline *get_hold_current_qp(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/threads_win.c:225,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_win.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: ossl_rcu_free_local_data
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_free_local_data(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/threads_win.c:241,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:244,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_win.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:248,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/threads_win.c:251,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:252,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/threads_win.c:253,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_win.c:269,1
    - Dst: get_hold_current_qp
      Src: /src/openssl/crypto/threads_win.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts:
    - condition: (available_qp != -1)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/openssl/crypto/threads_win.c
    constantsTouched: []
    func_position:
      end: 275
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 275
    functionName: ossl_rcu_read_lock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - get_hold_current_qp
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    - OPENSSL_free
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_rcu_read_lock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/threads_win.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: ossl_rcu_write_lock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_write_lock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: ossl_rcu_write_unlock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_write_unlock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/threads_win.c:289,1
    - Dst: assert
      Src: /src/openssl/crypto/threads_win.c:293,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/crypto/threads_win.c:299,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/threads_win.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts:
    - condition: (data != NULL)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/openssl/crypto/threads_win.c
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: ossl_rcu_read_unlock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_atomic_add64
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/threads_win.c:320,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/crypto/threads_win.c:328,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:346,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:348,1
    - Dst: InterlockedExchange
      Src: /src/openssl/crypto/threads_win.c:350,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/crypto/threads_win.c:354,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - lock
    - curr_id
    argTypes:
    - CRYPTO_RCU_LOCK*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 357
    functionName: update_qp
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - ossl_crypto_mutex_unlock
    - CRYPTO_THREAD_unlock
    - ossl_crypto_condvar_broadcast
    - InterlockedExchange
    - ossl_crypto_mutex_lock
    - ossl_crypto_condvar_wait
    linkageType: ''
    returnType: struct rcu_qp
    signature: struct rcu_qp *update_qp(CRYPTO_RCU_LOCK *lock, uint32_t *curr_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/threads_win.c:362,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/crypto/threads_win.c:364,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lock
    - qp
    argTypes:
    - CRYPTO_RCU_LOCK*
    - struct rcu_qp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: retire_qp
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_broadcast
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void retire_qp(CRYPTO_RCU_LOCK *lock,\n                      struct
      rcu_qp *qp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/threads_win.c:377,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:380,1
    - Dst: update_qp
      Src: /src/openssl/crypto/threads_win.c:382,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/threads_win.c:385,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/crypto/threads_win.c:387,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/threads_win.c:391,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/crypto/threads_win.c:395,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/threads_win.c:396,1
    - Dst: retire_qp
      Src: /src/openssl/crypto/threads_win.c:398,1
    - Dst: fn
      Src: /src/openssl/crypto/threads_win.c:404,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RCU_LOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 411
    functionName: ossl_synchronize_rcu
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - CRYPTO_atomic_load
    - fn
    - retire_qp
    - OPENSSL_free
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_broadcast
    - ossl_crypto_mutex_lock
    - ossl_crypto_condvar_wait
    - update_qp
    linkageType: ''
    returnType: void
    signature: void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc::OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - lock
    - cb
    - data
    argTypes:
    - CRYPTO_RCU_LOCK*
    - rcu_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 430
    functionName: ossl_rcu_call
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc::OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: ossl_rcu_uptr_deref
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ossl_rcu_uptr_deref(void **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchangePointer
      Src: /src/openssl/crypto/threads_win.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: ossl_rcu_assign_uptr
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - InterlockedExchangePointer
    linkageType: ''
    returnType: void
    signature: void ossl_rcu_assign_uptr(void **p, void **v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:449,1
    - Dst: InitializeSRWLock
      Src: /src/openssl/crypto/threads_win.c:453,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/threads_win.c:456,1
    - Dst: InitializeCriticalSectionAndSpinCount
      Src: /src/openssl/crypto/threads_win.c:462,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:463,1
    - Dst: InitializeCriticalSection
      Src: /src/openssl/crypto/threads_win.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 472
    functionName: CRYPTO_THREAD_lock_new
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 10
    functionsReached:
    - OPENSSL_zalloc
    - InitializeCriticalSection
    - OPENSSL_free
    - InitializeSRWLock
    - InitializeCriticalSectionAndSpinCount
    linkageType: ''
    returnType: CRYPTO_RWLOCK
    signature: CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockShared
      Src: /src/openssl/crypto/threads_win.c:479,1
    - Dst: EnterCriticalSection
      Src: /src/openssl/crypto/threads_win.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: CRYPTO_THREAD_read_lock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 22
    functionsReached:
    - EnterCriticalSection
    - AcquireSRWLockShared
    linkageType: ''
    returnType: __owur
    signature: __owur CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AcquireSRWLockExclusive
      Src: /src/openssl/crypto/threads_win.c:491,1
    - Dst: EnterCriticalSection
      Src: /src/openssl/crypto/threads_win.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 497
    functionName: CRYPTO_THREAD_write_lock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 31
    functionsReached:
    - AcquireSRWLockExclusive
    - EnterCriticalSection
    linkageType: ''
    returnType: __owur
    signature: __owur CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSRWLockExclusive
      Src: /src/openssl/crypto/threads_win.c:506,1
    - Dst: ReleaseSRWLockShared
      Src: /src/openssl/crypto/threads_win.c:508,1
    - Dst: LeaveCriticalSection
      Src: /src/openssl/crypto/threads_win.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: CRYPTO_THREAD_unlock
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 51
    functionsReached:
    - ReleaseSRWLockShared
    - LeaveCriticalSection
    - ReleaseSRWLockExclusive
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/openssl/crypto/threads_win.c:522,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/threads_win.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lock
    argTypes:
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 527
    functionName: CRYPTO_THREAD_lock_free
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 15
    functionsReached:
    - OPENSSL_free
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/openssl/crypto/threads_win.c:546,1
    - Dst: init
      Src: /src/openssl/crypto/threads_win.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - once
    argTypes:
    - CRYPTO_ONCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 555
    functionName: CRYPTO_THREAD_run_once
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 3
    functionsReached:
    - InterlockedCompareExchange
    - init
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsAlloc
      Src: /src/openssl/crypto/threads_win.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 564
    functionName: CRYPTO_THREAD_init_local
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 5
    functionsReached:
    - TlsAlloc
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void
      *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/openssl/crypto/threads_win.c:584,1
    - Dst: TlsGetValue
      Src: /src/openssl/crypto/threads_win.c:585,1
    - Dst: SetLastError
      Src: /src/openssl/crypto/threads_win.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 588
    functionName: CRYPTO_THREAD_get_local
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 7
    functionsReached:
    - GetLastError
    - SetLastError
    - TlsGetValue
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsSetValue
      Src: /src/openssl/crypto/threads_win.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: CRYPTO_THREAD_set_local
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 5
    functionsReached:
    - TlsSetValue
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsFree
      Src: /src/openssl/crypto/threads_win.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - CRYPTO_THREAD_LOCAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: CRYPTO_THREAD_cleanup_local
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 5
    functionsReached:
    - TlsFree
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/openssl/crypto/threads_win.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: CRYPTO_THREAD_get_current_id
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - GetCurrentThreadId
    linkageType: ''
    returnType: CRYPTO_THREAD_ID
    signature: CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CRYPTO_THREAD_ID
    - CRYPTO_THREAD_ID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: CRYPTO_THREAD_compare_id
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:619,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:624,1
    - Dst: InterlockedExchangeAdd
      Src: /src/openssl/crypto/threads_win.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - val
    - amount
    - ret
    - lock
    argTypes:
    - int*
    - int
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 633
    functionName: CRYPTO_atomic_add
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 3
    functionsReached:
    - InterlockedExchangeAdd
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK
      *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:639,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:644,1
    - Dst: InterlockedAdd64
      Src: /src/openssl/crypto/threads_win.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 652
    functionName: CRYPTO_atomic_add64
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 2
    functionsReached:
    - InterlockedAdd64
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_add64(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                       CRYPTO_RWLOCK *lock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:658,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:663,1
    - Dst: InterlockedAnd64
      Src: /src/openssl/crypto/threads_win.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 671
    functionName: CRYPTO_atomic_and
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - InterlockedAnd64
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_and(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                     CRYPTO_RWLOCK *lock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/threads_win.c:677,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:682,1
    - Dst: InterlockedOr64
      Src: /src/openssl/crypto/threads_win.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - val
    - op
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 690
    functionName: CRYPTO_atomic_or
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - InterlockedOr64
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_atomic_or(uint64_t *val, uint64_t op, uint64_t *ret,\n
      \                    CRYPTO_RWLOCK *lock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_win.c:695,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:698,1
    - Dst: InterlockedOr64
      Src: /src/openssl/crypto/threads_win.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - uint64_t*
    - uint64_t*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 706
    functionName: CRYPTO_atomic_load
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - InterlockedOr64
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load(uint64_t *val, uint64_t *ret, CRYPTO_RWLOCK
      *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_win.c:711,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:714,1
    - Dst: InterlockedExchange64
      Src: /src/openssl/crypto/threads_win.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - val
    - lock
    argTypes:
    - uint64_t*
    - uint64_t
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 722
    functionName: CRYPTO_atomic_store
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached:
    - InterlockedExchange64
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_store(uint64_t *dst, uint64_t val, CRYPTO_RWLOCK
      *lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/threads_win.c:727,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/threads_win.c:730,1
    - Dst: InterlockedOr
      Src: /src/openssl/crypto/threads_win.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - val
    - ret
    - lock
    argTypes:
    - int*
    - int*
    - CRYPTO_RWLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 739
    functionName: CRYPTO_atomic_load_int
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - InterlockedOr
    linkageType: ''
    returnType: int
    signature: int CRYPTO_atomic_load_int(int *val, int *ret, CRYPTO_RWLOCK *lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: openssl_init_fork_handlers
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int openssl_init_fork_handlers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: openssl_get_fork_id
    functionSourceFile: /src/openssl/crypto/threads_win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int openssl_get_fork_id(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/crypto/param_build_set.c:26,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:27,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/crypto/param_build_set.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - bld
    - p
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: ossl_param_build_set_int
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_push_int
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: "int ossl_param_build_set_int(OSSL_PARAM_BLD *bld, OSSL_PARAM *p,\n
      \                            const char *key, int num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/openssl/crypto/param_build_set.c:37,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:38,1
    - Dst: OSSL_PARAM_set_long
      Src: /src/openssl/crypto/param_build_set.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - bld
    - p
    - key
    - num
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: ossl_param_build_set_long
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_push_long
    - OSSL_PARAM_set_long
    linkageType: ''
    returnType: int
    signature: "int ossl_param_build_set_long(OSSL_PARAM_BLD *bld, OSSL_PARAM *p,\n
      \                             const char *key, long num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/crypto/param_build_set.c:48,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:49,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/crypto/param_build_set.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - bld
    - p
    - key
    - buf
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: ossl_param_build_set_utf8_string
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_BLD_push_utf8_string
    linkageType: ''
    returnType: int
    signature: "int ossl_param_build_set_utf8_string(OSSL_PARAM_BLD *bld, OSSL_PARAM
      *p,\n                                     const char *key, const char *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/param_build_set.c:61,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:63,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/crypto/param_build_set.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - bld
    - p
    - key
    - data
    - data_len
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: ossl_param_build_set_octet_string
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: "int ossl_param_build_set_octet_string(OSSL_PARAM_BLD *bld, OSSL_PARAM
      *p,\n                                      const char *key,\n                                      const
      unsigned char *data,\n                                      size_t data_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_BN_pad
      Src: /src/openssl/crypto/param_build_set.c:73,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/param_build_set.c:77,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/param_build_set.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - bld
    - p
    - key
    - bn
    - sz
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - BIGNUM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: ossl_param_build_set_bn_pad
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_BN
    - ERR_raise
    - OSSL_PARAM_BLD_push_BN_pad
    linkageType: ''
    returnType: int
    signature: "int ossl_param_build_set_bn_pad(OSSL_PARAM_BLD *bld, OSSL_PARAM *p,\n
      \                               const char *key, const BIGNUM *bn,  size_t sz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/param_build_set.c:90,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:92,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/param_build_set.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - bld
    - p
    - key
    - bn
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ossl_param_build_set_bn
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_locate
    linkageType: ''
    returnType: int
    signature: "int ossl_param_build_set_bn(OSSL_PARAM_BLD *bld, OSSL_PARAM *p,\n
      \                           const char *key, const BIGNUM *bn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/crypto/param_build_set.c:102,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/param_build_set.c:108,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/param_build_set.c:109,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/param_build_set.c:116,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/param_build_set.c:117,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/param_build_set.c:119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - bld
    - params
    - names
    - stk
    argTypes:
    - OSSL_PARAM_BLD*
    - OSSL_PARAM*
    - char*[]
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 124
    functionName: ossl_param_build_set_multi_key_bn
    functionSourceFile: /src/openssl/crypto/param_build_set.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_BLD_push_BN
    - sk_BIGNUM_const_value
    - sk_BIGNUM_const_num
    linkageType: ''
    returnType: int
    signature: "int ossl_param_build_set_multi_key_bn(OSSL_PARAM_BLD *bld, OSSL_PARAM
      *params,\n                                      const char *names[],\n                                      STACK_OF(BIGNUM_const)
      *stk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sparse_array.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: ossl_sa_new
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OPENSSL_SA
    signature: OPENSSL_SA *ossl_sa_new(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - sa
    - arg
    argTypes:
    - OPENSSL_SA*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 98
    functionName: sa_doall
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sa_doall(const OPENSSL_SA *sa, void (*node)(void **),\n                     void
      (*leaf)(ossl_uintmax_t, void *, void *), void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sparse_array.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: sa_free_node
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void sa_free_node(void **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sparse_array.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - p
    - arg
    argTypes:
    - ossl_uintmax_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: sa_free_leaf
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void sa_free_leaf(ossl_uintmax_t n, void *p, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_doall
      Src: /src/openssl/crypto/sparse_array.c:113,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sparse_array.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sa
    argTypes:
    - OPENSSL_SA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: ossl_sa_free
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sa_doall
    linkageType: ''
    returnType: void
    signature: void ossl_sa_free(OPENSSL_SA *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sa_doall
      Src: /src/openssl/crypto/sparse_array.c:120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sparse_array.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sa
    argTypes:
    - OPENSSL_SA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: ossl_sa_free_leaves
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sa_doall
    linkageType: ''
    returnType: void
    signature: void ossl_sa_free_leaves(OPENSSL_SA *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/openssl/crypto/sparse_array.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - l
    - arg
    argTypes:
    - ossl_uintmax_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: trampoline
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - func
    linkageType: ''
    returnType: void
    signature: void trampoline(ossl_uintmax_t n, void *l, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_doall
      Src: /src/openssl/crypto/sparse_array.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sa
    argTypes:
    - OPENSSL_SA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: ossl_sa_doall
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - sa_doall
    linkageType: ''
    returnType: void
    signature: void ossl_sa_doall(const OPENSSL_SA *sa, void (*leaf)(ossl_uintmax_t,
      void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_doall
      Src: /src/openssl/crypto/sparse_array.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sa
    - arg
    argTypes:
    - OPENSSL_SA*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: ossl_sa_doall_arg
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - sa_doall
    linkageType: ''
    returnType: void
    signature: "void ossl_sa_doall_arg(const OPENSSL_SA *sa,\n                          void
      (*leaf)(ossl_uintmax_t, void *, void *),\n                          void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sa
    argTypes:
    - OPENSSL_SA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: ossl_sa_num
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_sa_num(const OPENSSL_SA *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - sa
    - n
    argTypes:
    - OPENSSL_SA*
    - ossl_uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: ossl_sa_get
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ossl_sa_get(const OPENSSL_SA *sa, ossl_uintmax_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/sparse_array.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: alloc_node
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - OPENSSL_calloc
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline **alloc_node(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: alloc_node
      Src: /src/openssl/crypto/sparse_array.c:193,1
    - Dst: alloc_node
      Src: /src/openssl/crypto/sparse_array.c:205,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - sa
    - posn
    - val
    argTypes:
    - OPENSSL_SA*
    - ossl_uintmax_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 216
    functionName: ossl_sa_set
    functionSourceFile: /src/openssl/crypto/sparse_array.c
    functionUses: 0
    functionsReached:
    - alloc_node
    linkageType: ''
    returnType: int
    signature: int ossl_sa_set(OPENSSL_SA *sa, ossl_uintmax_t posn, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: STR_
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: STR
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: TOK_FUNC
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOK_FUNC(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - STRUCT_NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: TOK_CPU_ALIAS
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOK_CPU_ALIAS(NAME, STRUCT_NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: TOK_CPU
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOK_CPU(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siglongjmp
      Src: /src/openssl/crypto/s390xcap.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ill_handler
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 0
    functionsReached:
    - siglongjmp
    linkageType: ''
    returnType: void
    signature: void ill_handler(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/openssl/crypto/s390xcap.c:98,1
    - Dst: close
      Src: /src/openssl/crypto/s390xcap.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: OPENSSL_s390x_cleanup
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 0
    functionsReached:
    - visibility
    - close
    linkageType: ''
    returnType: void
    signature: void OPENSSL_s390x_cleanup(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: visibility
      Src: /src/openssl/crypto/s390xcap.c:110,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:121,1
    - Dst: getauxval
      Src: /src/openssl/crypto/s390xcap.c:125,1
    - Dst: OPENSSL_s390x_facilities
      Src: /src/openssl/crypto/s390xcap.c:129,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:133,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:134,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:135,1
    - Dst: memset
      Src: /src/openssl/crypto/s390xcap.c:143,1
    - Dst: sigfillset
      Src: /src/openssl/crypto/s390xcap.c:145,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/s390xcap.c:146,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/s390xcap.c:147,1
    - Dst: sigdelset
      Src: /src/openssl/crypto/s390xcap.c:148,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/s390xcap.c:150,1
    - Dst: sigaction
      Src: /src/openssl/crypto/s390xcap.c:151,1
    - Dst: sigaction
      Src: /src/openssl/crypto/s390xcap.c:152,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/s390xcap.c:155,1
    - Dst: OPENSSL_s390x_facilities
      Src: /src/openssl/crypto/s390xcap.c:156,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:159,1
    - Dst: sigsetjmp
      Src: /src/openssl/crypto/s390xcap.c:160,1
    - Dst: OPENSSL_vx_probe
      Src: /src/openssl/crypto/s390xcap.c:161,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:163,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:164,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:165,1
    - Dst: sigaction
      Src: /src/openssl/crypto/s390xcap.c:168,1
    - Dst: sigaction
      Src: /src/openssl/crypto/s390xcap.c:169,1
    - Dst: sigprocmask
      Src: /src/openssl/crypto/s390xcap.c:170,1
    - Dst: getenv
      Src: /src/openssl/crypto/s390xcap.c:174,1
    - Dst: parse_env
      Src: /src/openssl/crypto/s390xcap.c:176,1
    - Dst: OPENSSL_s390x_functions
      Src: /src/openssl/crypto/s390xcap.c:186,1
    - Dst: open
      Src: /src/openssl/crypto/s390xcap.c:219,1
    - Dst: OPENSSL_atexit
      Src: /src/openssl/crypto/s390xcap.c:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 224
    functionName: OPENSSL_cpuid_setup
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 1
    functionsReached:
    - OPENSSL_s390x_facilities
    - memset
    - OPENSSL_atexit
    - visibility
    - sigprocmask
    - getauxval
    - sigsetjmp
    - sigdelset
    - sigaction
    - sigfillset
    - OPENSSL_vx_probe
    - parse_env
    - OPENSSL_s390x_functions
    - S390X_CAPBIT
    - getenv
    - open
    linkageType: ''
    returnType: void
    signature: void OPENSSL_cpuid_setup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:258,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:260,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:261,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:263,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:264,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:266,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:268,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:270,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:286,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:287,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:289,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:290,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:291,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:293,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:294,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:295,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:297,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:298,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:300,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:301,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:303,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:319,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:320,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:322,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:323,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:324,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:325,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:327,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:328,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:329,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:330,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:332,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:333,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:334,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:335,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:337,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:338,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:339,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:340,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:342,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:358,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:359,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:360,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:361,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:363,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:364,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:365,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:366,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:367,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:368,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:369,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:370,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:371,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:373,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:374,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:375,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:376,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:377,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:378,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:380,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:381,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:382,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:383,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:385,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:386,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:387,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:388,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:390,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:391,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:392,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:393,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:395,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:396,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:397,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:398,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:400,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:401,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:402,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:403,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:407,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:417,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:418,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:419,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:420,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:422,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:423,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:424,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:425,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:426,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:427,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:428,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:429,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:430,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:432,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:433,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:434,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:435,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:436,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:437,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:439,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:440,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:441,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:442,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:444,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:445,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:446,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:447,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:449,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:450,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:451,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:452,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:454,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:455,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:456,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:457,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:459,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:460,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:461,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:462,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:466,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:476,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:477,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:478,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:479,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:480,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:481,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:483,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:484,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:485,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:486,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:487,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:488,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:489,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:490,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:491,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:493,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:494,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:495,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:496,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:497,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:498,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:500,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:501,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:502,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:503,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:505,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:506,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:507,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:508,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:510,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:511,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:512,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:513,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:515,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:516,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:517,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:518,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:520,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:521,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:522,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:523,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:525,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:526,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:529,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:539,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:540,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:541,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:542,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:543,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:544,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:545,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:546,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:547,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:549,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:550,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:551,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:552,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:553,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:554,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:555,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:556,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:557,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:558,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:559,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:560,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:561,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:562,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:563,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:564,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:565,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:566,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:567,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:568,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:569,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:571,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:572,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:573,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:574,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:575,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:576,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:578,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:579,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:580,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:581,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:583,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:584,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:585,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:586,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:588,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:589,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:590,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:591,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:593,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:594,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:595,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:596,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:598,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:599,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:600,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:601,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:603,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:604,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:605,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:606,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:607,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:608,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:609,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:611,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:621,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:622,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:623,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:624,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:625,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:626,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:627,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:628,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:629,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:630,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:632,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:633,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:634,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:635,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:636,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:637,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:638,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:639,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:640,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:641,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:642,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:643,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:644,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:645,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:646,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:647,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:648,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:649,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:650,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:651,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:652,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:654,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:655,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:656,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:657,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:658,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:659,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:661,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:662,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:663,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:664,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:666,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:667,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:668,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:669,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:671,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:672,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:673,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:674,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:676,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:677,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:678,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:679,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:681,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:682,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:683,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:684,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:686,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:687,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:688,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:689,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:690,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:691,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:692,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:694,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:695,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:696,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:697,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:698,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:699,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:700,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:701,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:702,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:703,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:704,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:705,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:706,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:707,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:708,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:709,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:710,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:711,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:712,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:726,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:727,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:728,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:729,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:730,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:731,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:732,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:733,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:734,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:735,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:736,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:738,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:739,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:740,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:741,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:742,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:743,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:744,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:745,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:746,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:747,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:748,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:749,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:750,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:751,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:752,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:753,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:754,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:755,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:756,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:757,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:758,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:760,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:761,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:762,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:763,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:764,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:765,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:766,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:767,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:768,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:769,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:770,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:771,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:773,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:774,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:775,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:776,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:777,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:778,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:779,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:780,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:781,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:782,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:783,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:784,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:786,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:787,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:788,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:789,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:791,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:792,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:793,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:794,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:796,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:797,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:798,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:799,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:800,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:801,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:802,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:804,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:805,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:806,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:807,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:808,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:809,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:810,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:811,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:812,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:813,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:814,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:815,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:816,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:817,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:818,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:819,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:820,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:821,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/s390xcap.c:822,1
    - Dst: malloc
      Src: /src/openssl/crypto/s390xcap.c:829,1
    - Dst: strlen
      Src: /src/openssl/crypto/s390xcap.c:829,1
    - Dst: memset
      Src: /src/openssl/crypto/s390xcap.c:834,1
    - Dst: strcpy
      Src: /src/openssl/crypto/s390xcap.c:835,1
    - Dst: strspn
      Src: /src/openssl/crypto/s390xcap.c:837,1
    - Dst: strtok
      Src: /src/openssl/crypto/s390xcap.c:838,1
    - Dst: strtok
      Src: /src/openssl/crypto/s390xcap.c:839,1
    - Dst: sscanf
      Src: /src/openssl/crypto/s390xcap.c:843,1
    - Dst: STR
      Src: /src/openssl/crypto/s390xcap.c:844,1
    - Dst: STR
      Src: /src/openssl/crypto/s390xcap.c:845,1
    - Dst: sscanf
      Src: /src/openssl/crypto/s390xcap.c:849,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:857,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:858,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:859,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:860,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:861,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:862,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:863,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:864,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:865,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:866,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:867,1
    - Dst: TOK_FUNC
      Src: /src/openssl/crypto/s390xcap.c:868,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:871,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:872,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:873,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:874,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:875,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:876,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:877,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:878,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:879,1
    - Dst: TOK_CPU_ALIAS
      Src: /src/openssl/crypto/s390xcap.c:880,1
    - Dst: TOK_CPU
      Src: /src/openssl/crypto/s390xcap.c:881,1
    - Dst: sscanf
      Src: /src/openssl/crypto/s390xcap.c:884,1
    - Dst: STR
      Src: /src/openssl/crypto/s390xcap.c:884,1
    - Dst: strcmp
      Src: /src/openssl/crypto/s390xcap.c:886,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/s390xcap.c:893,1
    - Dst: strtok
      Src: /src/openssl/crypto/s390xcap.c:900,1
    - Dst: free
      Src: /src/openssl/crypto/s390xcap.c:905,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - cap
    - cex
    argTypes:
    - struct OPENSSL_s390xcap_st*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 907
    functionName: parse_env
    functionSourceFile: /src/openssl/crypto/s390xcap.c
    functionUses: 2
    functionsReached:
    - free
    - strcpy
    - memset
    - TOK_FUNC
    - TOK_CPU_ALIAS
    - strlen
    - TOK_CPU
    - ossl_isspace
    - malloc
    - STR
    - strspn
    - strcmp
    - strtok
    - S390X_CAPBIT
    - sscanf
    linkageType: ''
    returnType: int
    signature: int parse_env(struct OPENSSL_s390xcap_st *cap, int *cex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: OPENSSL_issetugid
    functionSourceFile: /src/openssl/crypto/uid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_issetugid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: issetugid
      Src: /src/openssl/crypto/uid.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: OPENSSL_issetugid
    functionSourceFile: /src/openssl/crypto/uid.c
    functionUses: 1
    functionsReached:
    - issetugid
    linkageType: ''
    returnType: int
    signature: int OPENSSL_issetugid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/openssl/crypto/uid.c:50,1
    - Dst: getuid
      Src: /src/openssl/crypto/uid.c:52,1
    - Dst: geteuid
      Src: /src/openssl/crypto/uid.c:52,1
    - Dst: getgid
      Src: /src/openssl/crypto/uid.c:52,1
    - Dst: getegid
      Src: /src/openssl/crypto/uid.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: OPENSSL_issetugid
    functionSourceFile: /src/openssl/crypto/uid.c
    functionUses: 1
    functionsReached:
    - geteuid
    - getegid
    - getauxval
    - getgid
    - getuid
    linkageType: ''
    returnType: int
    signature: int OPENSSL_issetugid(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/openssl/crypto/time.c:26,1
    - Dst: SystemTimeToFileTime
      Src: /src/openssl/crypto/time.c:27,1
    - Dst: gettimeofday
      Src: /src/openssl/crypto/time.c:38,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/time.c:39,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/time.c:39,1
    - Dst: ossl_time_zero
      Src: /src/openssl/crypto/time.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: ossl_time_now
    functionSourceFile: /src/openssl/crypto/time.c
    functionUses: 3
    functionsReached:
    - ossl_time_zero
    - SystemTimeToFileTime
    - ERR_raise_data
    - GetSystemTime
    - gettimeofday
    - get_last_sys_error
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_time_now(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/asn1_dsa.c:45,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/crypto/asn1_dsa.c:46,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/asn1_dsa.c:50,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/asn1_dsa.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - cont_len
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: ossl_encode_der_length
    functionSourceFile: /src/openssl/crypto/asn1_dsa.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: int
    signature: int ossl_encode_der_length(WPACKET *pkt, size_t cont_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/asn1_dsa.c:71,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/asn1_dsa.c:83,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/asn1_dsa.c:85,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/asn1_dsa.c:86,1
    - Dst: ossl_encode_der_length
      Src: /src/openssl/crypto/asn1_dsa.c:87,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/asn1_dsa.c:88,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/asn1_dsa.c:89,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/asn1_dsa.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - n
    argTypes:
    - WPACKET*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 97
    functionName: ossl_encode_der_integer
    functionSourceFile: /src/openssl/crypto/asn1_dsa.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - ossl_encode_der_length
    - WPACKET_put_bytes_u8
    - BN_is_negative
    - WPACKET_close
    - BN_bn2binpad
    - WPACKET_allocate_bytes
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int ossl_encode_der_integer(WPACKET *pkt, const BIGNUM *n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_is_null_buf
      Src: /src/openssl/crypto/asn1_dsa.c:110,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/crypto/asn1_dsa.c:112,1
    - Dst: WPACKET_init_null
      Src: /src/openssl/crypto/asn1_dsa.c:116,1
    - Dst: ossl_encode_der_integer
      Src: /src/openssl/crypto/asn1_dsa.c:125,1
    - Dst: ossl_encode_der_integer
      Src: /src/openssl/crypto/asn1_dsa.c:126,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/crypto/asn1_dsa.c:127,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/asn1_dsa.c:128,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/asn1_dsa.c:130,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/asn1_dsa.c:135,1
    - Dst: ossl_encode_der_length
      Src: /src/openssl/crypto/asn1_dsa.c:136,1
    - Dst: ossl_encode_der_integer
      Src: /src/openssl/crypto/asn1_dsa.c:141,1
    - Dst: ossl_encode_der_integer
      Src: /src/openssl/crypto/asn1_dsa.c:142,1
    - Dst: WPACKET_close
      Src: /src/openssl/crypto/asn1_dsa.c:143,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 3
    argNames:
    - pkt
    - r
    - s
    argTypes:
    - WPACKET*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 147
    functionName: ossl_encode_der_dsa_sig
    functionSourceFile: /src/openssl/crypto/asn1_dsa.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - WPACKET_init_null
    - WPACKET_finish
    - ossl_encode_der_integer
    - WPACKET_cleanup
    - WPACKET_is_null_buf
    - WPACKET_put_bytes_u8
    - ossl_encode_der_length
    - WPACKET_close
    - WPACKET_get_length
    linkageType: ''
    returnType: int
    signature: int ossl_encode_der_dsa_sig(WPACKET *pkt, const BIGNUM *r, const BIGNUM
      *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/crypto/asn1_dsa.c:159,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/crypto/asn1_dsa.c:163,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/crypto/asn1_dsa.c:165,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/crypto/asn1_dsa.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: ossl_decode_der_length
    functionSourceFile: /src/openssl/crypto/asn1_dsa.c
    functionUses: 0
    functionsReached:
    - PACKET_get_sub_packet
    - PACKET_get_length_prefixed_2
    - PACKET_get_length_prefixed_1
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: int ossl_decode_der_length(PACKET *pkt, PACKET *subpkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/crypto/asn1_dsa.c:193,1
    - Dst: ossl_decode_der_length
      Src: /src/openssl/crypto/asn1_dsa.c:195,1
    - Dst: PACKET_get_1
      Src: /src/openssl/crypto/asn1_dsa.c:201,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/asn1_dsa.c:205,1
    - Dst: PACKET_get_1
      Src: /src/openssl/crypto/asn1_dsa.c:206,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/asn1_dsa.c:211,1
    - Dst: PACKET_data
      Src: /src/openssl/crypto/asn1_dsa.c:211,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/asn1_dsa.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - n
    argTypes:
    - PACKET*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 216
    functionName: ossl_decode_der_integer
    functionSourceFile: /src/openssl/crypto/asn1_dsa.c
    functionUses: 0
    functionsReached:
    - ossl_decode_der_length
    - BN_bin2bn
    - PACKET_remaining
    - PACKET_get_1
    - PACKET_data
    linkageType: ''
    returnType: int
    signature: int ossl_decode_der_integer(PACKET *pkt, BIGNUM *n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/asn1_dsa.c:240,1
    - Dst: PACKET_get_1
      Src: /src/openssl/crypto/asn1_dsa.c:241,1
    - Dst: ossl_decode_der_length
      Src: /src/openssl/crypto/asn1_dsa.c:243,1
    - Dst: ossl_decode_der_integer
      Src: /src/openssl/crypto/asn1_dsa.c:244,1
    - Dst: ossl_decode_der_integer
      Src: /src/openssl/crypto/asn1_dsa.c:245,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/asn1_dsa.c:246,1
    - Dst: PACKET_data
      Src: /src/openssl/crypto/asn1_dsa.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - r
    - s
    - ppin
    - len
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 252
    functionName: ossl_decode_der_dsa_sig
    functionSourceFile: /src/openssl/crypto/asn1_dsa.c
    functionUses: 0
    functionsReached:
    - ossl_decode_der_integer
    - PACKET_buf_init
    - ossl_decode_der_length
    - PACKET_get_1
    - PACKET_remaining
    - PACKET_data
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_decode_der_dsa_sig(BIGNUM *r, BIGNUM *s,\n                               const
      unsigned char **ppin, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - delta
    - numpoints
    - firsttime
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: adapt
    functionSourceFile: /src/openssl/crypto/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int adapt(unsigned int delta, unsigned int numpoints,\n                 unsigned
      int firsttime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: is_basic
    functionSourceFile: /src/openssl/crypto/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline is_basic(unsigned int a)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: digit_decoded
    functionSourceFile: /src/openssl/crypto/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline digit_decoded(const unsigned char a)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_basic
      Src: /src/openssl/crypto/punycode.c:143,1
    - Dst: digit_decoded
      Src: /src/openssl/crypto/punycode.c:162,1
    - Dst: adapt
      Src: /src/openssl/crypto/punycode.c:181,1
    - Dst: memmove
      Src: /src/openssl/crypto/punycode.c:190,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - pEncoded
    - enc_len
    - pDecoded
    - pout_length
    argTypes:
    - char*
    - size_t
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 199
    functionName: ossl_punycode_decode
    functionSourceFile: /src/openssl/crypto/punycode.c
    functionUses: 0
    functionsReached:
    - digit_decoded
    - is_basic
    - adapt
    - memmove
    linkageType: ''
    returnType: int
    signature: "int ossl_punycode_decode(const char *pEncoded, const size_t enc_len,\n
      \                        unsigned int *pDecoded, unsigned int *pout_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - out
    - utf
    argTypes:
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 242
    functionName: codepoint2utf8
    functionSourceFile: /src/openssl/crypto/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int codepoint2utf8(unsigned char *out, unsigned long utf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/punycode.c:266,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/punycode.c:269,1
    - Dst: strchr
      Src: /src/openssl/crypto/punycode.c:273,1
    - Dst: strlen
      Src: /src/openssl/crypto/punycode.c:274,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/punycode.c:276,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/punycode.c:277,1
    - Dst: ossl_punycode_decode
      Src: /src/openssl/crypto/punycode.c:282,1
    - Dst: codepoint2utf8
      Src: /src/openssl/crypto/punycode.c:289,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/punycode.c:296,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/punycode.c:304,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/crypto/punycode.c:310,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/punycode.c:313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - in
    - out
    - outlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 315
    functionName: ossl_a2ulabel
    functionSourceFile: /src/openssl/crypto/punycode.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - strchr
    - WPACKET_put_bytes_u8
    - WPACKET_memcpy
    - WPACKET_cleanup
    - ossl_punycode_decode
    - strlen
    - codepoint2utf8
    - WPACKET_init_static_len
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int ossl_a2ulabel(const char *in, char *out, size_t outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/trace.c:68,1
    - Dst: struct trace_data_st*::callback
      Src: /src/openssl/crypto/trace.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - channel
    - buf
    - num
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: trace_write
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - struct trace_data_st*::callback
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: "int trace_write(BIO *channel,\n                       const char *buf,
      size_t num, size_t *written)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trace_write
      Src: /src/openssl/crypto/trace.c:80,1
    - Dst: strlen
      Src: /src/openssl/crypto/trace.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - channel
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: trace_puts
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - strlen
    - trace_write
    linkageType: ''
    returnType: int
    signature: int trace_puts(BIO *channel, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/trace.c:88,1
    - Dst: struct trace_data_st*::callback
      Src: /src/openssl/crypto/trace.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - channel
    - cmd
    - argl
    - argp
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: trace_ctrl
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - struct trace_data_st*::callback
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long trace_ctrl(BIO *channel, int cmd, long argl, void *argp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/trace.c:106,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/trace.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - channel
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: trace_free
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int trace_free(BIO *channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: TRACE_CATEGORY_
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE_CATEGORY_(name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/trace.c:149,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/trace.c:155,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/trace.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: OSSL_trace_get_category_name
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *OSSL_trace_get_category_name(int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/trace.c:168,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/trace.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: OSSL_trace_get_category_num
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int OSSL_trace_get_category_num(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:201,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:205,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - category
    - type
    - data
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: trace_attach_cb
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE2
    linkageType: ''
    returnType: int
    signature: int trace_attach_cb(int category, int type, const void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:222,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:226,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - category
    - type
    - data
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: trace_detach_cb
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE2
    linkageType: ''
    returnType: int
    signature: int trace_detach_cb(int category, int type, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ossl_trace_init
      Src: /src/openssl/crypto/trace.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - do_ossl_trace_init
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_trace_init)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/trace.c:256,1
    - Dst: detach_cb
      Src: /src/openssl/crypto/trace.c:265,1
    - Dst: detach_cb
      Src: /src/openssl/crypto/trace.c:269,1
    - Dst: detach_cb
      Src: /src/openssl/crypto/trace.c:273,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/trace.c:278,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/trace.c:283,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/trace.c:288,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/trace.c:295,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/trace.c:301,1
    - Dst: attach_cb
      Src: /src/openssl/crypto/trace.c:317,1
    - Dst: attach_cb
      Src: /src/openssl/crypto/trace.c:321,1
    - Dst: attach_cb
      Src: /src/openssl/crypto/trace.c:325,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 5
    argNames:
    - category
    - type
    - channel
    - prefix
    - suffix
    argTypes:
    - int
    - int
    - BIO**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 329
    functionName: set_trace_data
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - detach_cb
    - BIO_free
    - attach_cb
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: "int set_trace_data(int category, int type, BIO **channel,\n                          const
      char **prefix, const char **suffix,\n                          int (*attach_cb)(int,
      int, const void *),\n                          int (*detach_cb)(int, int, const
      void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/trace.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: do_ossl_trace_init
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: int do_ossl_trace_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_trace_data
      Src: /src/openssl/crypto/trace.c:351,1
    - Dst: set_trace_data
      Src: /src/openssl/crypto/trace.c:354,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/trace.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 359
    functionName: ossl_trace_cleanup
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 1
    functionsReached:
    - set_trace_data
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: void ossl_trace_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_trace_data
      Src: /src/openssl/crypto/trace.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - category
    - channel
    argTypes:
    - int
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: OSSL_trace_set_channel
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - set_trace_data
    linkageType: ''
    returnType: int
    signature: int OSSL_trace_set_channel(int category, BIO *channel)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:376,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:381,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/trace.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - category
    - type
    - data
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 392
    functionName: trace_attach_w_callback_cb
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE2
    linkageType: ''
    returnType: int
    signature: int trace_attach_w_callback_cb(int category, int type, const void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/trace.c:405,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/trace.c:407,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/trace.c:414,1
    - Dst: set_trace_data
      Src: /src/openssl/crypto/trace.c:417,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/trace.c:424,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/trace.c:425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - category
    - callback
    - data
    argTypes:
    - int
    - OSSL_trace_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 429
    functionName: OSSL_trace_set_callback
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - OPENSSL_zalloc
    - BIO_free
    - BIO_set_data
    - OPENSSL_free
    - set_trace_data
    linkageType: ''
    returnType: int
    signature: int OSSL_trace_set_callback(int category, OSSL_trace_cb callback, void
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_trace_data
      Src: /src/openssl/crypto/trace.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - category
    - prefix
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: OSSL_trace_set_prefix
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - set_trace_data
    linkageType: ''
    returnType: int
    signature: int OSSL_trace_set_prefix(int category, const char *prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_trace_data
      Src: /src/openssl/crypto/trace.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - category
    - suffix
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: OSSL_trace_set_suffix
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - set_trace_data
    linkageType: ''
    returnType: int
    signature: int OSSL_trace_set_suffix(int category, const char *suffix)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: ossl_trace_get_category
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_trace_get_category(int category)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_trace_get_category
      Src: /src/openssl/crypto/trace.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: OSSL_trace_enabled
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - ossl_trace_get_category
    linkageType: ''
    returnType: int
    signature: int OSSL_trace_enabled(int category)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_trace_get_category
      Src: /src/openssl/crypto/trace.c:479,1
    - Dst: OSSL_trace_enabled
      Src: /src/openssl/crypto/trace.c:480,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/trace.c:487,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/trace.c:493,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/trace.c:494,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/trace.c:498,1
    - Dst: strlen
      Src: /src/openssl/crypto/trace.c:499,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 505
    functionName: OSSL_trace_begin
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - ossl_trace_get_category
    - BIO_ctrl
    - BIO_puts
    - CRYPTO_THREAD_write_lock
    - OSSL_trace_enabled
    - strlen
    linkageType: ''
    returnType: BIO
    signature: BIO *OSSL_trace_begin(int category)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_trace_get_category
      Src: /src/openssl/crypto/trace.c:512,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/trace.c:517,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/trace.c:518,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/trace.c:522,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/trace.c:523,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/trace.c:527,1
    - Dst: strlen
      Src: /src/openssl/crypto/trace.c:528,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/trace.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - category
    - channel
    argTypes:
    - int
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 535
    functionName: OSSL_trace_end
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - ossl_trace_get_category
    - ossl_assert
    - BIO_ctrl
    - BIO_puts
    - BIO_flush
    - CRYPTO_THREAD_unlock
    - strlen
    linkageType: ''
    returnType: void
    signature: void OSSL_trace_end(int category, BIO *channel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/trace.c:544,1
    - Dst: ossl_iscntrl
      Src: /src/openssl/crypto/trace.c:552,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/trace.c:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - out
    - text
    - full
    - data
    - size
    argTypes:
    - BIO*
    - int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 559
    functionName: OSSL_trace_string
    functionSourceFile: /src/openssl/crypto/trace.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ossl_iscntrl
    linkageType: ''
    returnType: int
    signature: "int OSSL_trace_string(BIO *out, int text, int full,\n                      const
      unsigned char *data, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: MIDR_PARTNUM
    functionSourceFile: /src/openssl/crypto/arm_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIDR_PARTNUM(midr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: MIDR_IMPLEMENTER
    functionSourceFile: /src/openssl/crypto/arm_arch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIDR_IMPLEMENTER(midr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - midr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: MIDR_ARCHITECTURE
    functionSourceFile: /src/openssl/crypto/arm_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIDR_ARCHITECTURE(midr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - imp
    - ','
    - partnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: MIDR_CPU_MODEL
    functionSourceFile: /src/openssl/crypto/arm_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIDR_CPU_MODEL(imp, partnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - midr
    - ','
    - imp
    - ','
    - partnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: MIDR_IS_CPU_MODEL
    functionSourceFile: /src/openssl/crypto/arm_arch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIDR_IS_CPU_MODEL(midr, imp, partnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: IS_CPU_SUPPORT_UNROLL8_EOR3
    functionSourceFile: /src/openssl/crypto/arm_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CPU_SUPPORT_UNROLL8_EOR3()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/array_alloc.c:22,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/array_alloc.c:22,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/array_alloc.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - num
    - size
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: CRYPTO_malloc_array
    functionSourceFile: /src/openssl/crypto/array_alloc.c
    functionUses: 0
    functionsReached:
    - ossl_size_mul
    - ossl_unlikely
    - CRYPTO_malloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_malloc_array(size_t num, size_t size, const char *file,
      int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/array_alloc.c:32,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/array_alloc.c:32,1
    - Dst: CRYPTO_zalloc
      Src: /src/openssl/crypto/array_alloc.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - num
    - size
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: CRYPTO_calloc
    functionSourceFile: /src/openssl/crypto/array_alloc.c
    functionUses: 0
    functionsReached:
    - ossl_size_mul
    - ossl_unlikely
    - CRYPTO_zalloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_calloc(size_t num, size_t size, const char *file, int
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/array_alloc.c:43,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/array_alloc.c:43,1
    - Dst: CRYPTO_aligned_alloc
      Src: /src/openssl/crypto/array_alloc.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - num
    - size
    - align
    - freeptr
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - size_t
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: CRYPTO_aligned_alloc_array
    functionSourceFile: /src/openssl/crypto/array_alloc.c
    functionUses: 0
    functionsReached:
    - ossl_size_mul
    - ossl_unlikely
    - CRYPTO_aligned_alloc
    linkageType: ''
    returnType: void
    signature: "void *CRYPTO_aligned_alloc_array(size_t num, size_t size, size_t align,\n
      \                                void **freeptr, const char *file, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/array_alloc.c:57,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/array_alloc.c:57,1
    - Dst: CRYPTO_realloc
      Src: /src/openssl/crypto/array_alloc.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - addr
    - num
    - size
    - file
    - line
    argTypes:
    - void*
    - size_t
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: CRYPTO_realloc_array
    functionSourceFile: /src/openssl/crypto/array_alloc.c
    functionUses: 0
    functionsReached:
    - ossl_size_mul
    - ossl_unlikely
    - CRYPTO_realloc
    linkageType: ''
    returnType: void
    signature: "void *CRYPTO_realloc_array(void *addr, size_t num, size_t size,\n
      \                          const char *file, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/array_alloc.c:68,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/array_alloc.c:68,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/array_alloc.c:69,1
    - Dst: CRYPTO_clear_realloc
      Src: /src/openssl/crypto/array_alloc.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - addr
    - old_num
    - num
    - size
    - file
    - line
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: CRYPTO_clear_realloc_array
    functionSourceFile: /src/openssl/crypto/array_alloc.c
    functionUses: 0
    functionsReached:
    - ossl_size_mul
    - ossl_unlikely
    - CRYPTO_clear_realloc
    linkageType: ''
    returnType: void
    signature: "void *CRYPTO_clear_realloc_array(void *addr, size_t old_num, size_t
      num,\n                                 size_t size, const char *file, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/array_alloc.c:80,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/array_alloc.c:80,1
    - Dst: CRYPTO_secure_malloc
      Src: /src/openssl/crypto/array_alloc.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - num
    - size
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: CRYPTO_secure_malloc_array
    functionSourceFile: /src/openssl/crypto/array_alloc.c
    functionUses: 0
    functionsReached:
    - ossl_size_mul
    - ossl_unlikely
    - CRYPTO_secure_malloc
    linkageType: ''
    returnType: void
    signature: "void *CRYPTO_secure_malloc_array(size_t num, size_t size,\n                                 const
      char *file, int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/array_alloc.c:90,1
    - Dst: ossl_size_mul
      Src: /src/openssl/crypto/array_alloc.c:90,1
    - Dst: CRYPTO_secure_zalloc
      Src: /src/openssl/crypto/array_alloc.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - num
    - size
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: CRYPTO_secure_calloc
    functionSourceFile: /src/openssl/crypto/array_alloc.c
    functionUses: 0
    functionsReached:
    - ossl_size_mul
    - ossl_unlikely
    - CRYPTO_secure_zalloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_secure_calloc(size_t num, size_t size, const char *file,
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: OpenSSL_version_num
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long OpenSSL_version_num(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: OPENSSL_version_major
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int OPENSSL_version_major(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: OPENSSL_version_minor
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int OPENSSL_version_minor(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: OPENSSL_version_patch
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int OPENSSL_version_patch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: OPENSSL_version_pre_release
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OPENSSL_version_pre_release(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: OPENSSL_version_build_metadata
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OPENSSL_version_build_metadata(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cversion.c:65,1
    - Dst: ossl_get_openssldir
      Src: /src/openssl/crypto/cversion.c:66,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cversion.c:67,1
    - Dst: ossl_get_enginesdir
      Src: /src/openssl/crypto/cversion.c:68,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cversion.c:69,1
    - Dst: ossl_get_modulesdir
      Src: /src/openssl/crypto/cversion.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - ossl_get_enginesdir
    - ossl_get_openssldir
    - ossl_get_modulesdir
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(version_strings_setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: TOSTR
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOSTR(x)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/cversion.c:83,1
    - Dst: OPENSSL_info
      Src: /src/openssl/crypto/cversion.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 139
    functionName: OpenSSL_version
    functionSourceFile: /src/openssl/crypto/cversion.c
    functionUses: 0
    functionsReached:
    - OPENSSL_info
    - RUN_ONCE
    linkageType: ''
    returnType: char
    signature: char *OpenSSL_version(int t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/provider_conf.c:32,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/provider_conf.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_conf.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: ossl_prov_conf_ctx_new
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void *ossl_prov_conf_ctx_new(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_pop_free
      Src: /src/openssl/crypto/provider_conf.c:50,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/provider_conf.c:53,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/provider_conf.c:54,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/provider_conf.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vpcgbl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: ossl_prov_conf_ctx_free
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OSSL_TRACE
    - OPENSSL_free
    - sk_OSSL_PROVIDER_pop_free
    linkageType: ''
    returnType: void
    signature: void ossl_prov_conf_ctx_free(void *vpcgbl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/provider_conf.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: skip_dot
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *skip_dot(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/provider_conf.c:80,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/provider_conf.c:84,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/provider_conf.c:90,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/crypto/provider_conf.c:98,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/crypto/provider_conf.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_conf.c:100,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/crypto/provider_conf.c:108,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/provider_conf.c:112,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/provider_conf.c:113,1
    - Dst: strlen
      Src: /src/openssl/crypto/provider_conf.c:114,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/provider_conf.c:117,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/provider_conf.c:118,1
    - Dst: strlen
      Src: /src/openssl/crypto/provider_conf.c:120,1
    - Dst: sk_OPENSSL_CSTRING_pop
      Src: /src/openssl/crypto/provider_conf.c:121,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/provider_conf.c:125,1
    - Dst: provider_conf_params_internal
      Src: /src/openssl/crypto/provider_conf.c:126,1
    - Dst: sk_OPENSSL_CSTRING_pop
      Src: /src/openssl/crypto/provider_conf.c:129,1
    - Dst: sk_OPENSSL_CSTRING_pop
      Src: /src/openssl/crypto/provider_conf.c:133,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/provider_conf.c:135,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/provider_conf.c:137,1
    - Dst: OSSL_PROVIDER_add_conf_parameter
      Src: /src/openssl/crypto/provider_conf.c:139,1
    - Dst: ossl_provider_info_add_parameter
      Src: /src/openssl/crypto/provider_conf.c:141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 6
    argNames:
    - prov
    - provinfo
    - name
    - value
    - cnf
    - visited
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PROVIDER_INFO*
    - char*
    - char*
    - CONF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 145
    functionName: provider_conf_params_internal
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 1
    functionsReached:
    - OSSL_TRACE1
    - ERR_raise
    - sk_OPENSSL_CSTRING_value
    - sk_OPENSSL_CSTRING_pop
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - sk_CONF_VALUE_num
    - provider_conf_params_internal
    - OSSL_TRACE2
    - NCONF_get_section
    - STACK_OF
    - ossl_provider_info_add_parameter
    - sk_OPENSSL_CSTRING_num
    - sk_OPENSSL_CSTRING_push
    - strlen
    - OSSL_PROVIDER_add_conf_parameter
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int provider_conf_params_internal(OSSL_PROVIDER *prov,\n                                         OSSL_PROVIDER_INFO
      *provinfo,\n                                         const char *name, const
      char *value,\n                                         const CONF *cnf,\n                                         STACK_OF(OPENSSL_CSTRING)
      *visited)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/provider_conf.c:161,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/crypto/provider_conf.c:161,1
    - Dst: provider_conf_params_internal
      Src: /src/openssl/crypto/provider_conf.c:166,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/provider_conf.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - prov
    - provinfo
    - name
    - value
    - cnf
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PROVIDER_INFO*
    - char*
    - char*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: provider_conf_params
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - STACK_OF
    - sk_OPENSSL_CSTRING_new_null
    - provider_conf_params_internal
    linkageType: ''
    returnType: int
    signature: "int provider_conf_params(OSSL_PROVIDER *prov,\n                                OSSL_PROVIDER_INFO
      *provinfo,\n                                const char *name, const char *value,\n
      \                               const CONF *cnf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/openssl/crypto/provider_conf.c:182,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/crypto/provider_conf.c:184,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:186,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/provider_conf.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - name
    - activated
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: prov_already_activated
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_PROVIDER_value
    - sk_OSSL_PROVIDER_num
    linkageType: ''
    returnType: int
    signature: "int prov_already_activated(const char *name,\n                                  STACK_OF(OSSL_PROVIDER)
      *activated)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/provider_conf.c:206,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/provider_conf.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_conf.c:211,1
    - Dst: prov_already_activated
      Src: /src/openssl/crypto/provider_conf.c:214,1
    - Dst: ossl_provider_disable_fallback_loading
      Src: /src/openssl/crypto/provider_conf.c:222,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_conf.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_conf.c:224,1
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/provider_conf.c:227,1
    - Dst: ossl_provider_new
      Src: /src/openssl/crypto/provider_conf.c:229,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_conf.c:231,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/provider_conf.c:233,1
    - Dst: ossl_provider_set_module_path
      Src: /src/openssl/crypto/provider_conf.c:238,1
    - Dst: provider_conf_params
      Src: /src/openssl/crypto/provider_conf.c:240,1
    - Dst: ossl_provider_activate
      Src: /src/openssl/crypto/provider_conf.c:243,1
    - Dst: ossl_provider_add_to_store
      Src: /src/openssl/crypto/provider_conf.c:245,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_conf.c:246,1
    - Dst: ossl_provider_activate
      Src: /src/openssl/crypto/provider_conf.c:249,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_conf.c:250,1
    - Dst: sk_OSSL_PROVIDER_new_null
      Src: /src/openssl/crypto/provider_conf.c:254,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/openssl/crypto/provider_conf.c:256,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/crypto/provider_conf.c:258,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_conf.c:259,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/provider_conf.c:268,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/provider_conf.c:270,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 6
    argNames:
    - libctx
    - name
    - value
    - path
    - soft
    - cnf
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - char*
    - int
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 201
    functionDepth: 9
    functionLinenumber: 201
    functionLinenumberEnd: 273
    functionName: provider_conf_activate
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PROVIDER_new_null
    - ossl_provider_add_to_store
    - ossl_provider_free
    - sk_OSSL_PROVIDER_push
    - ERR_raise
    - ossl_lib_ctx_get_data
    - ossl_provider_activate
    - ERR_clear_error
    - ossl_provider_find
    - CRYPTO_THREAD_write_lock
    - ossl_provider_disable_fallback_loading
    - ossl_provider_deactivate
    - CRYPTO_THREAD_unlock
    - ossl_provider_new
    - provider_conf_params
    - prov_already_activated
    - ossl_provider_set_module_path
    linkageType: ''
    returnType: int
    signature: "int provider_conf_activate(OSSL_LIB_CTX *libctx, const char *name,\n
      \                                 const char *value, const char *path,\n                                  int
      soft, const CONF *cnf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_conf.c:280,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:285,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:286,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:287,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:288,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:289,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:290,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:291,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:293,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:294,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:295,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:296,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:297,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:298,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:299,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_conf.c:302,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 3
    argNames:
    - confname
    - confvalue
    - val
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 309
    functionName: provider_conf_parse_bool_setting
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int provider_conf_parse_bool_setting(const char *confname,\n                                            const
      char *confvalue, int *val)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/provider_conf.c:315,1
    - Dst: skip_dot
      Src: /src/openssl/crypto/provider_conf.c:322,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/provider_conf.c:323,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/provider_conf.c:325,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/provider_conf.c:328,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/provider_conf.c:334,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/provider_conf.c:335,1
    - Dst: skip_dot
      Src: /src/openssl/crypto/provider_conf.c:336,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/provider_conf.c:339,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:345,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:347,1
    - Dst: provider_conf_parse_bool_setting
      Src: /src/openssl/crypto/provider_conf.c:348,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:352,1
    - Dst: strcmp
      Src: /src/openssl/crypto/provider_conf.c:354,1
    - Dst: provider_conf_parse_bool_setting
      Src: /src/openssl/crypto/provider_conf.c:355,1
    - Dst: provider_conf_activate
      Src: /src/openssl/crypto/provider_conf.c:362,1
    - Dst: memset
      Src: /src/openssl/crypto/provider_conf.c:366,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_conf.c:369,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/provider_conf.c:374,1
    - Dst: provider_conf_params
      Src: /src/openssl/crypto/provider_conf.c:379,1
    - Dst: ossl_provider_info_add_to_store
      Src: /src/openssl/crypto/provider_conf.c:381,1
    - Dst: ossl_provider_info_clear
      Src: /src/openssl/crypto/provider_conf.c:385,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 4
    argNames:
    - libctx
    - name
    - value
    - cnf
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 311
    functionDepth: 10
    functionLinenumber: 311
    functionLinenumberEnd: 397
    functionName: provider_conf_load
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 0
    functionsReached:
    - ossl_provider_info_clear
    - OSSL_TRACE1
    - memset
    - provider_conf_activate
    - provider_conf_parse_bool_setting
    - sk_CONF_VALUE_num
    - skip_dot
    - ERR_raise_data
    - OSSL_TRACE2
    - NCONF_get_section
    - STACK_OF
    - OPENSSL_strdup
    - ossl_provider_info_add_to_store
    - provider_conf_params
    - strcmp
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int provider_conf_load(OSSL_LIB_CTX *libctx, const char *name,\n                              const
      char *value, const CONF *cnf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/provider_conf.c:401,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/provider_conf.c:405,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/provider_conf.c:406,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/provider_conf.c:409,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/provider_conf.c:409,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/provider_conf.c:412,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/provider_conf.c:416,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/provider_conf.c:417,1
    - Dst: provider_conf_load
      Src: /src/openssl/crypto/provider_conf.c:418,1
    - Dst: NCONF_get0_libctx
      Src: /src/openssl/crypto/provider_conf.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 399
    functionDepth: 11
    functionLinenumber: 399
    functionLinenumberEnd: 424
    functionName: provider_conf_init
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - ERR_raise
    - sk_CONF_VALUE_num
    - NCONF_get0_libctx
    - provider_conf_load
    - NCONF_get_section
    - STACK_OF
    - CONF_imodule_get_value
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int provider_conf_init(CONF_IMODULE *md, const CONF *cnf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/provider_conf.c:428,1
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/provider_conf.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: ossl_provider_add_conf_module
    functionSourceFile: /src/openssl/crypto/provider_conf.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: void ossl_provider_add_conf_module(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: OPENSSL_isservice
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_isservice(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/openssl/crypto/cryptlib.c:51,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/cryptlib.c:55,1
    - Dst: GetProcessWindowStation
      Src: /src/openssl/crypto/cryptlib.c:65,1
    - Dst: GetUserObjectInformationW
      Src: /src/openssl/crypto/cryptlib.c:69,1
    - Dst: GetLastError
      Src: /src/openssl/crypto/cryptlib.c:70,1
    - Dst: alloca
      Src: /src/openssl/crypto/cryptlib.c:76,1
    - Dst: GetUserObjectInformationW
      Src: /src/openssl/crypto/cryptlib.c:77,1
    - Dst: wcsstr
      Src: /src/openssl/crypto/cryptlib.c:88,1
    - Dst: wcsstr
      Src: /src/openssl/crypto/cryptlib.c:92,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 97
    functionName: OPENSSL_isservice
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 1
    functionsReached:
    - GetLastError
    - GetModuleHandle
    - wcsstr
    - alloca
    - GetProcAddress
    - GetUserObjectInformationW
    - GetProcessWindowStation
    linkageType: ''
    returnType: int
    signature: int OPENSSL_isservice(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: OPENSSL_isservice
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_isservice(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/cryptlib.c:120,1
    - Dst: GetFileType
      Src: /src/openssl/crypto/cryptlib.c:121,1
    - Dst: va_start
      Src: /src/openssl/crypto/cryptlib.c:126,1
    - Dst: _vsnprintf
      Src: /src/openssl/crypto/cryptlib.c:127,1
    - Dst: WriteFile
      Src: /src/openssl/crypto/cryptlib.c:128,1
    - Dst: va_end
      Src: /src/openssl/crypto/cryptlib.c:129,1
    - Dst: strlen
      Src: /src/openssl/crypto/cryptlib.c:139,1
    - Dst: alloca
      Src: /src/openssl/crypto/cryptlib.c:142,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/cryptlib.c:147,1
    - Dst: va_start
      Src: /src/openssl/crypto/cryptlib.c:189,1
    - Dst: _vsntprintf
      Src: /src/openssl/crypto/cryptlib.c:190,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/cryptlib.c:190,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/cryptlib.c:191,1
    - Dst: _T
      Src: /src/openssl/crypto/cryptlib.c:191,1
    - Dst: va_end
      Src: /src/openssl/crypto/cryptlib.c:192,1
    - Dst: OutputDebugString
      Src: /src/openssl/crypto/cryptlib.c:204,1
    - Dst: check_winnt
      Src: /src/openssl/crypto/cryptlib.c:208,1
    - Dst: OPENSSL_isservice
      Src: /src/openssl/crypto/cryptlib.c:208,1
    - Dst: RegisterEventSource
      Src: /src/openssl/crypto/cryptlib.c:209,1
    - Dst: _T
      Src: /src/openssl/crypto/cryptlib.c:209,1
    - Dst: ReportEvent
      Src: /src/openssl/crypto/cryptlib.c:214,1
    - Dst: OutputDebugString
      Src: /src/openssl/crypto/cryptlib.c:223,1
    - Dst: DeregisterEventSource
      Src: /src/openssl/crypto/cryptlib.c:227,1
    - Dst: MessageBox
      Src: /src/openssl/crypto/cryptlib.c:230,1
    - Dst: _T
      Src: /src/openssl/crypto/cryptlib.c:230,1
    - Dst: MessageBox
      Src: /src/openssl/crypto/cryptlib.c:234,1
    - Dst: _T
      Src: /src/openssl/crypto/cryptlib.c:234,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 1
    argNames:
    - fmta
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 236
    functionName: OPENSSL_showfatal
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached:
    - WriteFile
    - _vsnprintf
    - GetFileType
    - MessageBox
    - check_winnt
    - DeregisterEventSource
    - strlen
    - _T
    - OPENSSL_isservice
    - _vsntprintf
    - RegisterEventSource
    - GetStdHandle
    - OutputDebugString
    - va_end
    - va_start
    - MultiByteToWideChar
    - ReportEvent
    - OSSL_NELEM
    - alloca
    linkageType: ''
    returnType: void
    signature: void OPENSSL_showfatal(const char *fmta, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/cryptlib.c:243,1
    - Dst: vfprintf
      Src: /src/openssl/crypto/cryptlib.c:244,1
    - Dst: va_end
      Src: /src/openssl/crypto/cryptlib.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmta
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: OPENSSL_showfatal
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void OPENSSL_showfatal(const char *fmta, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: OPENSSL_isservice
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_isservice(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_showfatal
      Src: /src/openssl/crypto/cryptlib.c:257,1
    - Dst: abort
      Src: /src/openssl/crypto/cryptlib.c:260,1
    - Dst: raise
      Src: /src/openssl/crypto/cryptlib.c:266,1
    - Dst: _exit
      Src: /src/openssl/crypto/cryptlib.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - message
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: OPENSSL_die
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_showfatal
    - abort
    - _exit
    - raise
    linkageType: ''
    returnType: void
    signature: void OPENSSL_die(const char *message, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: OPENSSL_VPROC_STRING_
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_VPROC_STRING_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: OPENSSL_VPROC_STRING
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_VPROC_STRING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: OPENSSL_VPROC_FUNC
    functionSourceFile: /src/openssl/crypto/cryptlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_VPROC_FUNC(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: PREFETCH_NEIGHBORHOOD
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFETCH_NEIGHBORHOOD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: PREFETCH
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFETCH(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_aligned_alloc_array
      Src: /src/openssl/crypto/hashtable/hashtable.c:157,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/hashtable/hashtable.c:163,1
    - Dst: memset
      Src: /src/openssl/crypto/hashtable/hashtable.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - len
    - freeptr
    argTypes:
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: alloc_new_neighborhood_list
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_aligned_alloc_array
    - OPENSSL_malloc_array
    - memset
    linkageType: ''
    returnType: struct ht_neighborhood_st
    signature: "struct ht_neighborhood_st *alloc_new_neighborhood_list(size_t len,\n
      \                                                             void **freeptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: internal_free_nop
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void internal_free_nop(HT_VALUE *v)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:178,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/hashtable/hashtable.c:183,1
    - Dst: atomic_lock::atomic_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:184,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hashtable/hashtable.c:187,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:187,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:189,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:190,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:190,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:192,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:193,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:193,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:194,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:194,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:195,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:195,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:196,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:196,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:197,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:197,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:198,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:200,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:203,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:204,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:206,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:206,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:207,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:210,1
    - Dst: alloc_new_neighborhood_list
      Src: /src/openssl/crypto/hashtable/hashtable.c:211,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:211,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:212,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:213,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:215,1
    - Dst: wpd::wpd
      Src: /src/openssl/crypto/hashtable/hashtable.c:215,1
    - Dst: ossl_rcu_lock_new
      Src: /src/openssl/crypto/hashtable/hashtable.c:217,1
    - Dst: lock::lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:218,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:221,1
    - Dst: config::config
      Src: /src/openssl/crypto/hashtable/hashtable.c:222,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:227,1
    - Dst: atomic_lock::atomic_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:227,1
    - Dst: ossl_rcu_lock_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:228,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:229,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:230,1
    - Dst: md::md
      Src: /src/openssl/crypto/hashtable/hashtable.c:230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:231,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - conf
    argTypes:
    - HT_CONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 234
    functionName: ossl_ht_new
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ossl_rcu_lock_new
    - CRYPTO_THREAD_lock_free
    - memcpy
    - alloc_new_neighborhood_list
    - md::md
    - ossl_rcu_lock_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - atomic_lock::atomic_lock
    - config::config
    - wpd::wpd
    - lock::lock
    linkageType: ''
    returnType: HT
    signature: HT *ossl_ht_new(const HT_CONFIG *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_read_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htable
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: ossl_ht_read_lock
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_read_lock
    linkageType: ''
    returnType: int
    signature: int ossl_ht_read_lock(HT *htable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_read_unlock
      Src: /src/openssl/crypto/hashtable/hashtable.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htable
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: ossl_ht_read_unlock
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_read_unlock
    linkageType: ''
    returnType: void
    signature: void ossl_ht_read_unlock(HT *htable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - htable
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: ossl_ht_write_lock
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_write_lock
    linkageType: ''
    returnType: void
    signature: void ossl_ht_write_lock(HT *htable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/hashtable/hashtable.c:257,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/hashtable/hashtable.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - htable
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: ossl_ht_write_unlock
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_synchronize_rcu
    - ossl_rcu_write_unlock
    linkageType: ''
    returnType: void
    signature: void ossl_ht_write_unlock(HT *htable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:270,1
    - Dst: struct ht_internal_value_st*::ht::config::ht_free_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:274,1
    - Dst: free_value
      Src: /src/openssl/crypto/hashtable/hashtable.c:275,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 282
    functionName: free_oldmd
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - PREFETCH_NEIGHBORHOOD
    - OPENSSL_free
    - struct ht_internal_value_st*::ht::config::ht_free_fn
    - free_value
    linkageType: ''
    returnType: void
    signature: void free_oldmd(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:289,1
    - Dst: alloc_new_neighborhood_list
      Src: /src/openssl/crypto/hashtable/hashtable.c:293,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:296,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:303,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:304,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/crypto/hashtable/hashtable.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - h
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 313
    functionName: ossl_ht_flush_internal
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - alloc_new_neighborhood_list
    - ossl_rcu_deref
    - ossl_rcu_assign_ptr
    - OPENSSL_free
    - ossl_rcu_call
    linkageType: ''
    returnType: int
    signature: int ossl_ht_flush_internal(HT *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_flush_internal
      Src: /src/openssl/crypto/hashtable/hashtable.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: ossl_ht_flush
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_ht_flush_internal
    linkageType: ''
    returnType: int
    signature: int ossl_ht_flush(HT *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/crypto/hashtable/hashtable.c:325,1
    - Dst: ossl_ht_flush_internal
      Src: /src/openssl/crypto/hashtable/hashtable.c:326,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/crypto/hashtable/hashtable.c:327,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:329,1
    - Dst: ossl_rcu_lock_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:330,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 335
    functionName: ossl_ht_free
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - ossl_ht_write_unlock
    - ossl_ht_write_lock
    - CRYPTO_THREAD_lock_free
    - ossl_ht_flush_internal
    - ossl_rcu_lock_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_ht_free(HT *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - HT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: ossl_ht_count
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_ht_count(HT *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:351,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:353,1
    - Dst: cb
      Src: /src/openssl/crypto/hashtable/hashtable.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - h
    - arg
    argTypes:
    - HT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 363
    functionName: ossl_ht_foreach_until
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - PREFETCH_NEIGHBORHOOD
    - ossl_rcu_deref
    - cb
    linkageType: ''
    returnType: void
    signature: "void ossl_ht_foreach_until(HT *h, int (*cb)(HT_VALUE *obj, void *arg),\n
      \                          void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:370,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:384,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:386,1
    - Dst: filter
      Src: /src/openssl/crypto/hashtable/hashtable.c:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - h
    - max_len
    - arg
    argTypes:
    - HT*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 398
    functionName: ossl_ht_filter
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - PREFETCH_NEIGHBORHOOD
    - filter
    - OPENSSL_zalloc
    - ossl_rcu_deref
    linkageType: ''
    returnType: HT_VALUE_LIST
    signature: "HT_VALUE_LIST *ossl_ht_filter(HT *h, size_t max_len,\n                                     int
      (*filter)(HT_VALUE *obj, void *arg),\n                                     void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - HT_VALUE_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: ossl_ht_value_list_free
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_ht_value_list_free(HT_VALUE_LIST *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash1
    - hash2
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: compare_hash
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_hash(uint64_t hash1, uint64_t hash2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:414,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: free_old_neigh_table
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_old_neigh_table(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:425,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:436,1
    - Dst: alloc_new_neighborhood_list
      Src: /src/openssl/crypto/hashtable/hashtable.c:440,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:454,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:472,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:473,1
    - Dst: grow_hashtable
      Src: /src/openssl/crypto/hashtable/hashtable.c:474,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:487,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/crypto/hashtable/hashtable.c:488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:498,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:499,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - h
    - oldsize
    argTypes:
    - HT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 501
    functionName: grow_hashtable
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - PREFETCH_NEIGHBORHOOD
    - OPENSSL_zalloc
    - alloc_new_neighborhood_list
    - ossl_rcu_deref
    - ossl_rcu_assign_ptr
    - OPENSSL_free
    - grow_hashtable
    - ossl_rcu_call
    linkageType: ''
    returnType: int
    signature: int grow_hashtable(HT *h, size_t oldsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 514
    functionName: free_old_ht_value
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_old_ht_value(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PREFETCH
      Src: /src/openssl/crypto/hashtable/hashtable.c:522,1
    - Dst: PREFETCH
      Src: /src/openssl/crypto/hashtable/hashtable.c:523,1
    - Dst: memcmp
      Src: /src/openssl/crypto/hashtable/hashtable.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HT_KEY*
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 528
    functionName: match_key
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - memcmp
    - PREFETCH
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline match_key(HT_KEY *a, HT_KEY *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:544,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:547,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/hashtable/hashtable.c:555,1
    - Dst: compare_hash
      Src: /src/openssl/crypto/hashtable/hashtable.c:558,1
    - Dst: match_key
      Src: /src/openssl/crypto/hashtable/hashtable.c:558,1
    - Dst: CRYPTO_atomic_store
      Src: /src/openssl/crypto/hashtable/hashtable.c:565,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:569,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/crypto/hashtable/hashtable.c:571,1
    - Dst: CRYPTO_atomic_store
      Src: /src/openssl/crypto/hashtable/hashtable.c:586,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:590,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - h
    - hash
    - newval
    - olddata
    argTypes:
    - HT*
    - uint64_t
    - struct ht_internal_value_st*
    - HT_VALUE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 593
    functionName: ossl_ht_insert_locked
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - PREFETCH_NEIGHBORHOOD
    - CRYPTO_atomic_load
    - CRYPTO_atomic_store
    - ossl_rcu_deref
    - compare_hash
    - ossl_rcu_assign_ptr
    - match_key
    - ossl_rcu_call
    linkageType: ''
    returnType: int
    signature: "int ossl_ht_insert_locked(HT *h, uint64_t hash,\n                                 struct
      ht_internal_value_st *newval,\n                                 HT_VALUE **olddata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hashtable/hashtable.c:605,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hashtable/hashtable.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - h
    - key
    - data
    - type
    argTypes:
    - HT*
    - HT_KEY*
    - void*
    - uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 622
    functionName: alloc_new_value
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: struct ht_internal_value_st
    signature: "struct ht_internal_value_st *alloc_new_value(HT *h, HT_KEY *key,\n
      \                                                   void *data,\n                                                    uintptr_t
      *type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hashtable/hashtable.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct ht_internal_value_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: free_value
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_value(struct ht_internal_value_st *v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_value
      Src: /src/openssl/crypto/hashtable/hashtable.c:640,1
    - Dst: HT*::config::ht_hash_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:648,1
    - Dst: ossl_ht_insert_locked
      Src: /src/openssl/crypto/hashtable/hashtable.c:651,1
    - Dst: grow_hashtable
      Src: /src/openssl/crypto/hashtable/hashtable.c:654,1
    - Dst: free_value
      Src: /src/openssl/crypto/hashtable/hashtable.c:660,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - h
    - key
    - data
    - olddata
    argTypes:
    - HT*
    - HT_KEY*
    - HT_VALUE*
    - HT_VALUE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 664
    functionName: ossl_ht_insert
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 1
    functionsReached:
    - free_value
    - grow_hashtable
    - HT*::config::ht_hash_fn
    - alloc_new_value
    - ossl_ht_insert_locked
    linkageType: ''
    returnType: int
    signature: int ossl_ht_insert(HT *h, HT_KEY *key, HT_VALUE *data, HT_VALUE **olddata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HT*::config::ht_hash_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:677,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:679,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:682,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/hashtable/hashtable.c:684,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/crypto/hashtable/hashtable.c:691,1
    - Dst: compare_hash
      Src: /src/openssl/crypto/hashtable/hashtable.c:694,1
    - Dst: match_key
      Src: /src/openssl/crypto/hashtable/hashtable.c:694,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - h
    - key
    argTypes:
    - HT*
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 704
    functionName: ossl_ht_get
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 2
    functionsReached:
    - PREFETCH_NEIGHBORHOOD
    - CRYPTO_atomic_load
    - ossl_rcu_deref
    - compare_hash
    - HT*::config::ht_hash_fn
    - match_key
    linkageType: ''
    returnType: HT_VALUE
    signature: HT_VALUE *ossl_ht_get(HT *h, HT_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ht_internal_value_st*::ht::config::ht_free_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:710,1
    - Dst: free_value
      Src: /src/openssl/crypto/hashtable/hashtable.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: free_old_entry
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - struct ht_internal_value_st*::ht::config::ht_free_fn
    - free_value
    linkageType: ''
    returnType: void
    signature: void free_old_entry(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HT*::config::ht_hash_fn
      Src: /src/openssl/crypto/hashtable/hashtable.c:726,1
    - Dst: PREFETCH_NEIGHBORHOOD
      Src: /src/openssl/crypto/hashtable/hashtable.c:729,1
    - Dst: compare_hash
      Src: /src/openssl/crypto/hashtable/hashtable.c:734,1
    - Dst: match_key
      Src: /src/openssl/crypto/hashtable/hashtable.c:735,1
    - Dst: CRYPTO_atomic_store
      Src: /src/openssl/crypto/hashtable/hashtable.c:736,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/hashtable/hashtable.c:740,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/crypto/hashtable/hashtable.c:747,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - h
    - key
    argTypes:
    - HT*
    - HT_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 751
    functionName: ossl_ht_delete
    functionSourceFile: /src/openssl/crypto/hashtable/hashtable.c
    functionUses: 0
    functionsReached:
    - PREFETCH_NEIGHBORHOOD
    - CRYPTO_atomic_store
    - compare_hash
    - ossl_rcu_assign_ptr
    - HT*::config::ht_hash_fn
    - match_key
    - ossl_rcu_call
    linkageType: ''
    returnType: int
    signature: int ossl_ht_delete(HT *h, HT_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 23
    functionName: ossl_fnv1a_hash
    functionSourceFile: /src/openssl/crypto/hashtable/hashfunc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_fnv1a_hash(uint8_t *key, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: RC4_options
    functionSourceFile: /src/openssl/crypto/rc4/rc4_skey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *RC4_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SK_LOOP
      Src: /src/openssl/crypto/rc4/rc4_skey.c:58,1
    - Dst: SK_LOOP
      Src: /src/openssl/crypto/rc4/rc4_skey.c:59,1
    - Dst: SK_LOOP
      Src: /src/openssl/crypto/rc4/rc4_skey.c:60,1
    - Dst: SK_LOOP
      Src: /src/openssl/crypto/rc4/rc4_skey.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - key
    - len
    - data
    argTypes:
    - RC4_KEY*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: RC4_set_key
    functionSourceFile: /src/openssl/crypto/rc4/rc4_skey.c
    functionUses: 0
    functionsReached:
    - SK_LOOP
    linkageType: ''
    returnType: void
    signature: void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: SK_LOOP
    functionSourceFile: /src/openssl/crypto/rc4/rc4_skey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SK_LOOP(d,n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:49,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:50,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:51,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:52,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:53,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:54,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:55,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:56,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:66,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:69,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:72,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:75,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:78,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:81,1
    - Dst: LOOP
      Src: /src/openssl/crypto/rc4/rc4_enc.c:84,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - key
    - len
    - indata
    - outdata
    argTypes:
    - RC4_KEY*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 91
    functionName: RC4
    functionSourceFile: /src/openssl/crypto/rc4/rc4_enc.c
    functionUses: 0
    functionsReached:
    - LOOP
    linkageType: ''
    returnType: void
    signature: "void RC4(RC4_KEY *key, size_t len, const unsigned char *indata,\n
      \        unsigned char *outdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: LOOP
    functionSourceFile: /src/openssl/crypto/rc4/rc4_enc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOP(in,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: ctr128_inc
    functionSourceFile: /src/openssl/crypto/modes/ctr128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctr128_inc(unsigned char *counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctr128_inc
      Src: /src/openssl/crypto/modes/ctr128.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: ctr128_inc_aligned
    functionSourceFile: /src/openssl/crypto/modes/ctr128.c
    functionUses: 0
    functionsReached:
    - ctr128_inc
    linkageType: ''
    returnType: void
    signature: void ctr128_inc_aligned(unsigned char *counter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctr128_inc_aligned
      Src: /src/openssl/crypto/modes/ctr128.c:100,1
    - Dst: ctr128_inc_aligned
      Src: /src/openssl/crypto/modes/ctr128.c:112,1
    - Dst: ctr128_inc
      Src: /src/openssl/crypto/modes/ctr128.c:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 8
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - ecount_buf
    - num
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - unsigned char[]
    - unsigned int*
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 135
    functionName: CRYPTO_ctr128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/ctr128.c
    functionUses: 0
    functionsReached:
    - ctr128_inc
    - ctr128_inc_aligned
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char
      *out,\n                           size_t len, const void *key,\n                           unsigned
      char ivec[16],\n                           unsigned char ecount_buf[16], unsigned
      int *num,\n                           block128_f block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: ctr96_inc
    functionSourceFile: /src/openssl/crypto/modes/ctr128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctr96_inc(unsigned char *counter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/ctr128.c:166,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/ctr128.c:189,1
    - Dst: ctr96_inc
      Src: /src/openssl/crypto/modes/ctr128.c:192,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/ctr128.c:199,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/ctr128.c:202,1
    - Dst: ctr96_inc
      Src: /src/openssl/crypto/modes/ctr128.c:204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 8
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - ecount_buf
    - num
    - func
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - unsigned char[]
    - unsigned int*
    - ctr128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 212
    functionName: CRYPTO_ctr128_encrypt_ctr32
    functionSourceFile: /src/openssl/crypto/modes/ctr128.c
    functionUses: 1
    functionsReached:
    - PUTU32
    - memset
    - GETU32
    - ctr96_inc
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned
      char *out,\n                                 size_t len, const void *key,\n
      \                                unsigned char ivec[16],\n                                 unsigned
      char ecount_buf[16],\n                                 unsigned int *num, ctr128_f
      func)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/openssl/crypto/modes/wrap128.c:59,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:63,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:68,1
    - Dst: block
      Src: /src/openssl/crypto/modes/wrap128.c:69,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:76,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: CRYPTO_128_wrap
    functionSourceFile: /src/openssl/crypto/modes/wrap128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - block
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_128_wrap(void *key, const unsigned char *iv,\n                       unsigned
      char *out,\n                       const unsigned char *in, size_t inlen,\n
      \                      block128_f block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:111,1
    - Dst: memmove
      Src: /src/openssl/crypto/modes/wrap128.c:112,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:122,1
    - Dst: block
      Src: /src/openssl/crypto/modes/wrap128.c:123,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:124,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 129
    functionName: crypto_128_unwrap_raw
    functionSourceFile: /src/openssl/crypto/modes/wrap128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - block
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t crypto_128_unwrap_raw(void *key, unsigned char *iv,\n                                    unsigned
      char *out,\n                                    const unsigned char *in, size_t
      inlen,\n                                    block128_f block)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: crypto_128_unwrap_raw
      Src: /src/openssl/crypto/modes/wrap128.c:157,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/wrap128.c:163,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: CRYPTO_128_unwrap
    functionSourceFile: /src/openssl/crypto/modes/wrap128.c
    functionUses: 0
    functionsReached:
    - crypto_128_unwrap_raw
    - OPENSSL_cleanse
    - CRYPTO_memcmp
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv,\n                         unsigned
      char *out, const unsigned char *in,\n                         size_t inlen,
      block128_f block)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:207,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:209,1
    - Dst: memmove
      Src: /src/openssl/crypto/modes/wrap128.c:222,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:223,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/wrap128.c:224,1
    - Dst: block
      Src: /src/openssl/crypto/modes/wrap128.c:225,1
    - Dst: memmove
      Src: /src/openssl/crypto/modes/wrap128.c:228,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/wrap128.c:229,1
    - Dst: CRYPTO_128_wrap
      Src: /src/openssl/crypto/modes/wrap128.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - key
    - icv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 234
    functionName: CRYPTO_128_wrap_pad
    functionSourceFile: /src/openssl/crypto/modes/wrap128.c
    functionUses: 0
    functionsReached:
    - block
    - memset
    - memcpy
    - memmove
    - CRYPTO_128_wrap
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_128_wrap_pad(void *key, const unsigned char *icv,\n
      \                          unsigned char *out,\n                           const
      unsigned char *in, size_t inlen,\n                           block128_f block)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: block
      Src: /src/openssl/crypto/modes/wrap128.c:279,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:280,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/wrap128.c:282,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:284,1
    - Dst: crypto_128_unwrap_raw
      Src: /src/openssl/crypto/modes/wrap128.c:287,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:289,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/wrap128.c:299,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/wrap128.c:300,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:301,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:315,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/wrap128.c:324,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/wrap128.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 6
    argNames:
    - key
    - icv
    - out
    - in
    - inlen
    - block
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 331
    functionName: CRYPTO_128_unwrap_pad
    functionSourceFile: /src/openssl/crypto/modes/wrap128.c
    functionUses: 0
    functionsReached:
    - block
    - crypto_128_unwrap_raw
    - memcpy
    - CRYPTO_memcmp
    - OPENSSL_cleanse
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_128_unwrap_pad(void *key, const unsigned char *icv,\n
      \                            unsigned char *out,\n                             const
      unsigned char *in, size_t inlen,\n                             block128_f block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/ccm128.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - M
    - L
    - key
    - block
    argTypes:
    - CCM128_CONTEXT*
    - unsigned int
    - unsigned int
    - void*
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: CRYPTO_ccm128_init
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx,\n                        unsigned
      int M, unsigned int L, void *key,\n                        block128_f block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ccm128.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - nonce
    - nlen
    - mlen
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 65
    functionName: CRYPTO_ccm128_setiv
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx,\n                        const
      unsigned char *nonce, size_t nlen, size_t mlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 113
    functionName: CRYPTO_ccm128_aad
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx,\n                       const
      unsigned char *aad, size_t alen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: ctr64_inc
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctr64_inc(unsigned char *counter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/modes/ccm128.c:167,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ccm128.c:177,1
    - Dst: ctr64_inc
      Src: /src/openssl/crypto/modes/ccm128.c:186,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ccm128.c:190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - inp
    - out
    - len
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 219
    functionName: CRYPTO_ccm128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - U64
    - ctr64_inc
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx,\n                          const
      unsigned char *inp, unsigned char *out,\n                          size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctr64_inc
      Src: /src/openssl/crypto/modes/ccm128.c:258,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ccm128.c:260,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ccm128.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 4
    argNames:
    - ctx
    - inp
    - out
    - len
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 294
    functionName: CRYPTO_ccm128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ctr64_inc
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx,\n                          const
      unsigned char *inp, unsigned char *out,\n                          size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - counter
    - inc
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: ctr64_add
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctr64_add(unsigned char *counter, size_t inc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/modes/ccm128.c:340,1
    - Dst: ctr64_add
      Src: /src/openssl/crypto/modes/ccm128.c:350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 5
    argNames:
    - ctx
    - inp
    - out
    - len
    - stream
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    - ccm128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 372
    functionName: CRYPTO_ccm128_encrypt_ccm64
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached:
    - ctr64_add
    - U64
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx,\n                                const
      unsigned char *inp, unsigned char *out,\n                                size_t
      len, ccm128_f stream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctr64_add
      Src: /src/openssl/crypto/modes/ccm128.c:410,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - inp
    - out
    - len
    - stream
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    - ccm128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 430
    functionName: CRYPTO_ccm128_decrypt_ccm64
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached:
    - ctr64_add
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx,\n                                const
      unsigned char *inp, unsigned char *out,\n                                size_t
      len, ccm128_f stream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ccm128.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - CCM128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: CRYPTO_ccm128_tag
    functionSourceFile: /src/openssl/crypto/modes/ccm128.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cbc128.c:73,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 74
    functionName: CRYPTO_cbc128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/cbc128.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char
      *out,\n                           size_t len, const void *key,\n                           unsigned
      char ivec[16], block128_f block)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cbc128.c:119,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 172
    functionName: CRYPTO_cbc128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/cbc128.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char
      *out,\n                           size_t len, const void *key,\n                           unsigned
      char ivec[16], block128_f block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/modes/cts128.c:42,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:50,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 54
    functionName: CRYPTO_cts128_encrypt_block
    functionSourceFile: /src/openssl/crypto/modes/cts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_cts128_encrypt_block(const unsigned char *in,\n                                   unsigned
      char *out, size_t len,\n                                   const void *key,
      unsigned char ivec[16],\n                                   block128_f block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/modes/cts128.c:71,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: CRYPTO_nistcts128_encrypt_block
    functionSourceFile: /src/openssl/crypto/modes/cts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CRYPTO_cbc128_encrypt
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in,\n
      \                                      unsigned char *out, size_t len,\n                                       const
      void *key,\n                                       unsigned char ivec[16],\n
      \                                      block128_f block)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:111,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:113,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/cts128.c:115,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:116,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - cbc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - cbc128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: CRYPTO_cts128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/cts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char
      *out,\n                             size_t len, const void *key,\n                             unsigned
      char ivec[16], cbc128_f cbc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/cts128.c:151,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - cbc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - cbc128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 156
    functionName: CRYPTO_nistcts128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/cts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned
      char *out,\n                                 size_t len, const void *key,\n
      \                                unsigned char ivec[16], cbc128_f cbc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/modes/cts128.c:178,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:185,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 198
    functionName: CRYPTO_cts128_decrypt_block
    functionSourceFile: /src/openssl/crypto/modes/cts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_cts128_decrypt_block(const unsigned char *in,\n                                   unsigned
      char *out, size_t len,\n                                   const void *key,
      unsigned char ivec[16],\n                                   block128_f block)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/modes/cts128.c:218,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/modes/cts128.c:225,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:232,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 246
    functionName: CRYPTO_nistcts128_decrypt_block
    functionSourceFile: /src/openssl/crypto/modes/cts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in,\n
      \                                      unsigned char *out, size_t len,\n                                       const
      void *key,\n                                       unsigned char ivec[16],\n
      \                                      block128_f block)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/cts128.c:272,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:278,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - cbc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - cbc128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 286
    functionName: CRYPTO_cts128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/cts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char
      *out,\n                             size_t len, const void *key,\n                             unsigned
      char ivec[16], cbc128_f cbc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/cts128.c:316,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:322,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cts128.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - cbc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - cbc128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 330
    functionName: CRYPTO_nistcts128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/cts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: "size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned
      char *out,\n                                 size_t len, const void *key,\n
      \                                unsigned char ivec[16], cbc128_f cbc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: GETU32
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: PUTU32
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(p,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: PACK
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - V
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: REDUCE1BIT
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REDUCE1BIT(V)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REDUCE1BIT
      Src: /src/openssl/crypto/modes/gcm128.c:102,1
    - Dst: REDUCE1BIT
      Src: /src/openssl/crypto/modes/gcm128.c:116,1
    - Dst: REDUCE1BIT
      Src: /src/openssl/crypto/modes/gcm128.c:118,1
    - Dst: REDUCE1BIT
      Src: /src/openssl/crypto/modes/gcm128.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - Htable
    - H
    argTypes:
    - u128[]
    - u64[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 157
    functionName: gcm_init_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - REDUCE1BIT
    linkageType: ''
    returnType: void
    signature: void gcm_init_4bit(u128 Htable[16], const u64 H[2])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:214,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:215,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:220,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:222,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:224,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 2
    argNames:
    - Xi
    - Htable
    argTypes:
    - u64[]
    - u128[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 232
    functionName: gcm_gmult_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - BSWAP8
    - PUTU32
    linkageType: ''
    returnType: void
    signature: void gcm_gmult_4bit(u64 Xi[2], const u128 Htable[16])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:297,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:298,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:303,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:305,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:307,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 4
    argNames:
    - Xi
    - Htable
    - inp
    - len
    argTypes:
    - u64[]
    - u128[]
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 320
    functionName: gcm_ghash_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - BSWAP8
    - PUTU32
    linkageType: ''
    returnType: void
    signature: "void gcm_ghash_4bit(u64 Xi[2], const u128 Htable[16],\n                           const
      u8 *inp, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: GCM_MUL
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GCM_MUL(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - in
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: GHASH
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GHASH(ctx,in,len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: RISCV_HAS_ZVKG
      Src: /src/openssl/crypto/modes/gcm128.c:530,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/modes/gcm128.c:530,1
    - Dst: RISCV_HAS_ZVKB
      Src: /src/openssl/crypto/modes/gcm128.c:531,1
    - Dst: RISCV_HAS_ZVKB
      Src: /src/openssl/crypto/modes/gcm128.c:537,1
    - Dst: RISCV_HAS_ZVBC
      Src: /src/openssl/crypto/modes/gcm128.c:537,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/modes/gcm128.c:537,1
    - Dst: RISCV_HAS_ZBC
      Src: /src/openssl/crypto/modes/gcm128.c:541,1
    - Dst: RISCV_HAS_ZBKB
      Src: /src/openssl/crypto/modes/gcm128.c:542,1
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/modes/gcm128.c:546,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 96
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct gcm_funcs_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 563
    functionName: gcm_get_funcs
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - RISCV_HAS_ZVKB
    - RISCV_HAS_ZBC
    - RISCV_HAS_ZBB
    - riscv_vlen
    - RISCV_HAS_ZVBC
    - RISCV_HAS_ZVKG
    - RISCV_HAS_ZBKB
    linkageType: ''
    returnType: void
    signature: void gcm_get_funcs(struct gcm_funcs_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcm_get_funcs
      Src: /src/openssl/crypto/modes/gcm128.c:569,1
    - Dst: struct gcm_funcs_st::ginit
      Src: /src/openssl/crypto/modes/gcm128.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - Htable
    - H
    argTypes:
    - u128[]
    - u64[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: ossl_gcm_init_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - struct gcm_funcs_st::ginit
    - gcm_get_funcs
    linkageType: ''
    returnType: void
    signature: void ossl_gcm_init_4bit(u128 Htable[16], const u64 H[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcm_get_funcs
      Src: /src/openssl/crypto/modes/gcm128.c:577,1
    - Dst: struct gcm_funcs_st::gmult
      Src: /src/openssl/crypto/modes/gcm128.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - Xi
    - Htable
    argTypes:
    - u64[]
    - u128[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: ossl_gcm_gmult_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - struct gcm_funcs_st::gmult
    - gcm_get_funcs
    linkageType: ''
    returnType: void
    signature: void ossl_gcm_gmult_4bit(u64 Xi[2], const u128 Htable[16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcm_get_funcs
      Src: /src/openssl/crypto/modes/gcm128.c:588,1
    - Dst: struct gcm_funcs_st::ghash
      Src: /src/openssl/crypto/modes/gcm128.c:590,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:594,1
    - Dst: struct gcm_funcs_st::gmult
      Src: /src/openssl/crypto/modes/gcm128.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - Xi
    - Htable
    - inp
    - len
    argTypes:
    - u64[]
    - u128[]
    - u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 600
    functionName: ossl_gcm_ghash_4bit
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - struct gcm_funcs_st::gmult
    - struct gcm_funcs_st::ghash
    - gcm_get_funcs
    linkageType: ''
    returnType: void
    signature: "void ossl_gcm_ghash_4bit(u64 Xi[2], const u128 Htable[16],\n                         const
      u8 *inp, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/gcm128.c:606,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:615,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:616,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:620,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:620,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:621,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:621,1
    - Dst: gcm_get_funcs
      Src: /src/openssl/crypto/modes/gcm128.c:627,1
    - Dst: GCM128_CONTEXT*::funcs::ginit
      Src: /src/openssl/crypto/modes/gcm128.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - key
    - block
    argTypes:
    - GCM128_CONTEXT*
    - void*
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 629
    functionName: CRYPTO_gcm128_init
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - memset
    - gcm_get_funcs
    - BSWAP8
    - GCM128_CONTEXT*::funcs::ginit
    - GETU32
    linkageType: ''
    returnType: void
    signature: void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, void *key, block128_f
      block)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:643,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:660,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:667,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:672,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:687,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:691,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:693,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:710,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:712,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - iv
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 716
    functionName: CRYPTO_gcm128_setiv
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - GCM_MUL
    - memcpy
    - PUTU32
    - BSWAP4
    - BSWAP8
    - GETU32
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char
      *iv,\n                         size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/modes/gcm128.c:729,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:741,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:749,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:757,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 770
    functionName: CRYPTO_gcm128_aad
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - GCM_MUL
    - U64
    - GHASH
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad,\n
      \                     size_t len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/modes/gcm128.c:784,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:794,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:798,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:803,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:810,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:812,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:829,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:842,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:856,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:871,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:873,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:883,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:898,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:900,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:910,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:921,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:923,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:929,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:940,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:942,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:971,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:973,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:982,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:989,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 149
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 995
    functionName: CRYPTO_gcm128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - GCM_MUL
    - GHASH
    - memcpy
    - PUTU32
    - BSWAP4
    - U64
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx,\n                          const
      unsigned char *in, unsigned char *out,\n                          size_t len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/modes/gcm128.c:1009,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1019,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1023,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1028,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1035,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1037,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1054,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1069,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1083,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1090,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1099,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1101,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1115,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1124,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1126,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1146,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1148,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1157,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1168,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1170,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1202,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1204,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1213,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1222,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 155
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1228
    functionName: CRYPTO_gcm128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - GCM_MUL
    - GHASH
    - memcpy
    - PUTU32
    - BSWAP4
    - U64
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx,\n                          const
      unsigned char *in, unsigned char *out,\n                          size_t len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/modes/gcm128.c:1235,1
    - Dst: U64
      Src: /src/openssl/crypto/modes/gcm128.c:1244,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1254,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1258,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1263,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1270,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1272,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1286,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1299,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1309,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1318,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1320,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1324,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1338,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1340,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1347,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1353,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1363,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1365,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 101
    argCount: 5
    argNames:
    - ctx
    - in
    - out
    - len
    - stream
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    - ctr128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1382
    functionName: CRYPTO_gcm128_encrypt_ctr32
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - GCM_MUL
    - GHASH
    - memcpy
    - PUTU32
    - BSWAP4
    - U64
    - CRYPTO_gcm128_encrypt
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx,\n                                const
      unsigned char *in, unsigned char *out,\n                                size_t
      len, ctr128_f stream)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/modes/gcm128.c:1389,1
    - Dst: U64
      Src: /src/openssl/crypto/modes/gcm128.c:1398,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1408,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1412,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1417,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1424,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1426,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1440,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1455,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1465,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1470,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1475,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1477,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1491,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1497,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1507,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1509,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/modes/gcm128.c:1522,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/modes/gcm128.c:1524,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 105
    argCount: 5
    argNames:
    - ctx
    - in
    - out
    - len
    - stream
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    - ctr128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1543
    functionName: CRYPTO_gcm128_decrypt_ctr32
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - GCM_MUL
    - GHASH
    - memcpy
    - CRYPTO_gcm128_decrypt
    - PUTU32
    - BSWAP4
    - U64
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx,\n                                const
      unsigned char *in, unsigned char *out,\n                                size_t
      len, ctr128_f stream)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/gcm128.c:1559,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1562,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1566,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1570,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:1575,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/gcm128.c:1576,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1583,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1583,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1584,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/gcm128.c:1584,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1591,1
    - Dst: GHASH
      Src: /src/openssl/crypto/modes/gcm128.c:1593,1
    - Dst: GCM_MUL
      Src: /src/openssl/crypto/modes/gcm128.c:1597,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/gcm128.c:1604,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1607
    functionName: CRYPTO_gcm128_finish
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - memset
    - GCM_MUL
    - GHASH
    - memcpy
    - CRYPTO_memcmp
    - BSWAP8
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx, const unsigned char
      *tag,\n                         size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/crypto/modes/gcm128.c:1611,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/gcm128.c:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - GCM128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1609
    functionDepth: 2
    functionLinenumber: 1609
    functionLinenumberEnd: 1614
    functionName: CRYPTO_gcm128_tag
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CRYPTO_gcm128_finish
    linkageType: ''
    returnType: void
    signature: void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/modes/gcm128.c:1620,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/modes/gcm128.c:1621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - block
    argTypes:
    - void*
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1616
    functionDepth: 3
    functionLinenumber: 1616
    functionLinenumberEnd: 1624
    functionName: CRYPTO_gcm128_new
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_init
    - OPENSSL_malloc
    linkageType: ''
    returnType: GCM128_CONTEXT
    signature: GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/modes/gcm128.c:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GCM128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1629
    functionName: CRYPTO_gcm128_release
    functionSourceFile: /src/openssl/crypto/modes/gcm128.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: ocb_ntz
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 ocb_ntz(u64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - shift
    - out
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: ocb_block_lshift
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ocb_block_lshift(const unsigned char *in, size_t shift,\n                             unsigned
      char *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocb_block_lshift
      Src: /src/openssl/crypto/modes/ocb128.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - OCB_BLOCK*
    - OCB_BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: ocb_double
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_block_lshift
    linkageType: ''
    returnType: void
    signature: void ocb_double(OCB_BLOCK *in, OCB_BLOCK *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - in1
    - in2
    - len
    - out
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: ocb_block_xor
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ocb_block_xor(const unsigned char *in1,\n                          const
      unsigned char *in2, size_t len,\n                          unsigned char *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/crypto/modes/ocb128.c:113,1
    - Dst: ocb_double
      Src: /src/openssl/crypto/modes/ocb128.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - OCB128_CONTEXT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: ocb_lookup_l
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_double
    - OPENSSL_realloc_array
    linkageType: ''
    returnType: OCB_BLOCK
    signature: OCB_BLOCK *ocb_lookup_l(OCB128_CONTEXT *ctx, size_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/modes/ocb128.c:137,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/openssl/crypto/modes/ocb128.c:138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/modes/ocb128.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - keyenc
    - keydec
    - encrypt
    - decrypt
    - stream
    argTypes:
    - void*
    - void*
    - block128_f
    - block128_f
    - ocb128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: CRYPTO_ocb128_new
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    - CRYPTO_ocb128_init
    linkageType: ''
    returnType: OCB128_CONTEXT
    signature: "OCB128_CONTEXT *CRYPTO_ocb128_new(void *keyenc, void *keydec,\n                                  block128_f
      encrypt, block128_f decrypt,\n                                  ocb128_f stream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:155,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/modes/ocb128.c:158,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:173,1
    - Dst: ocb_double
      Src: /src/openssl/crypto/modes/ocb128.c:176,1
    - Dst: ocb_double
      Src: /src/openssl/crypto/modes/ocb128.c:179,1
    - Dst: ocb_double
      Src: /src/openssl/crypto/modes/ocb128.c:182,1
    - Dst: ocb_double
      Src: /src/openssl/crypto/modes/ocb128.c:183,1
    - Dst: ocb_double
      Src: /src/openssl/crypto/modes/ocb128.c:184,1
    - Dst: ocb_double
      Src: /src/openssl/crypto/modes/ocb128.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - keyenc
    - keydec
    - encrypt
    - decrypt
    - stream
    argTypes:
    - OCB128_CONTEXT*
    - void*
    - void*
    - block128_f
    - block128_f
    - ocb128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 189
    functionName: CRYPTO_ocb128_init
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 1
    functionsReached:
    - ocb_double
    - OPENSSL_malloc_array
    - OCB128_CONTEXT*::encrypt
    - memset
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ocb128_init(OCB128_CONTEXT *ctx, void *keyenc, void *keydec,\n
      \                      block128_f encrypt, block128_f decrypt,\n                       ocb128_f
      stream)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:197,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/modes/ocb128.c:203,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - dest
    - src
    - keyenc
    - keydec
    argTypes:
    - OCB128_CONTEXT*
    - OCB128_CONTEXT*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: CRYPTO_ocb128_copy_ctx
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_malloc_array
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ocb128_copy_ctx(OCB128_CONTEXT *dest, OCB128_CONTEXT *src,\n
      \                          void *keyenc, void *keydec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:229,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:233,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:234,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:238,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:240,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:243,1
    - Dst: ocb_block_xor
      Src: /src/openssl/crypto/modes/ocb128.c:244,1
    - Dst: ocb_block_lshift
      Src: /src/openssl/crypto/modes/ocb128.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - iv
    - len
    - taglen
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 258
    functionName: CRYPTO_ocb128_setiv
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - memset
    - ocb_block_xor
    - memcpy
    - ocb_block_lshift
    - OCB128_CONTEXT*::encrypt
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ocb128_setiv(OCB128_CONTEXT *ctx, const unsigned char *iv,\n
      \                       size_t len, size_t taglen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ocb_lookup_l
      Src: /src/openssl/crypto/modes/ocb128.c:280,1
    - Dst: ocb_ntz
      Src: /src/openssl/crypto/modes/ocb128.c:280,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:283,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:285,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:289,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:290,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:291,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:302,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:306,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:307,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:309,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:312,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 319
    functionName: CRYPTO_ocb128_aad
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_lookup_l
    - memset
    - memcpy
    - ocb_ntz
    - ocb_block16_xor
    - OCB128_CONTEXT*::encrypt
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ocb128_aad(OCB128_CONTEXT *ctx, const unsigned char *aad,\n
      \                     size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ocb_lookup_l
      Src: /src/openssl/crypto/modes/ocb128.c:349,1
    - Dst: OCB128_CONTEXT*::stream
      Src: /src/openssl/crypto/modes/ocb128.c:352,1
    - Dst: ocb_lookup_l
      Src: /src/openssl/crypto/modes/ocb128.c:362,1
    - Dst: ocb_ntz
      Src: /src/openssl/crypto/modes/ocb128.c:362,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:365,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:367,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:371,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:374,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:375,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:376,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:378,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:393,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:396,1
    - Dst: ocb_block_xor
      Src: /src/openssl/crypto/modes/ocb128.c:399,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:402,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:403,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 411
    functionName: CRYPTO_ocb128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_lookup_l
    - OCB128_CONTEXT*::stream
    - memset
    - ocb_block_xor
    - memcpy
    - ocb_ntz
    - ocb_block16_xor
    - OCB128_CONTEXT*::encrypt
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ocb128_encrypt(OCB128_CONTEXT *ctx,\n                          const
      unsigned char *in, unsigned char *out,\n                          size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ocb_lookup_l
      Src: /src/openssl/crypto/modes/ocb128.c:441,1
    - Dst: OCB128_CONTEXT*::stream
      Src: /src/openssl/crypto/modes/ocb128.c:444,1
    - Dst: ocb_lookup_l
      Src: /src/openssl/crypto/modes/ocb128.c:454,1
    - Dst: ocb_ntz
      Src: /src/openssl/crypto/modes/ocb128.c:454,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:457,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:459,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:463,1
    - Dst: OCB128_CONTEXT*::decrypt
      Src: /src/openssl/crypto/modes/ocb128.c:464,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:465,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:468,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:470,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:485,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:488,1
    - Dst: ocb_block_xor
      Src: /src/openssl/crypto/modes/ocb128.c:491,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/ocb128.c:494,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:495,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 503
    functionName: CRYPTO_ocb128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_lookup_l
    - OCB128_CONTEXT*::stream
    - OCB128_CONTEXT*::decrypt
    - memset
    - ocb_block_xor
    - memcpy
    - ocb_ntz
    - ocb_block16_xor
    - OCB128_CONTEXT*::encrypt
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ocb128_decrypt(OCB128_CONTEXT *ctx,\n                          const
      unsigned char *in, unsigned char *out,\n                          size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:517,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:518,1
    - Dst: OCB128_CONTEXT*::encrypt
      Src: /src/openssl/crypto/modes/ocb128.c:519,1
    - Dst: ocb_block16_xor
      Src: /src/openssl/crypto/modes/ocb128.c:520,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/ocb128.c:523,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/modes/ocb128.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - tag
    - len
    - write
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 528
    functionName: ocb_finish
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - OCB128_CONTEXT*::encrypt
    - memcpy
    - ocb_block16_xor
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: "int ocb_finish(OCB128_CONTEXT *ctx, unsigned char *tag, size_t len,\n
      \                     int write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocb_finish
      Src: /src/openssl/crypto/modes/ocb128.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: CRYPTO_ocb128_finish
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_finish
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_ocb128_finish(OCB128_CONTEXT *ctx, const unsigned char
      *tag,\n                         size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocb_finish
      Src: /src/openssl/crypto/modes/ocb128.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - OCB128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: CRYPTO_ocb128_tag
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - ocb_finish
    linkageType: ''
    returnType: int
    signature: int CRYPTO_ocb128_tag(OCB128_CONTEXT *ctx, unsigned char *tag, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/modes/ocb128.c:553,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/ocb128.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OCB128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: CRYPTO_ocb128_cleanup
    functionSourceFile: /src/openssl/crypto/modes/ocb128.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void CRYPTO_ocb128_cleanup(OCB128_CONTEXT *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 8
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - num
    - enc
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - int*
    - int
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 144
    functionName: CRYPTO_cfb128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/cfb128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char
      *out,\n                           size_t len, const void *key,\n                           unsigned
      char ivec[16], int *num,\n                           int enc, block128_f block)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cfb128.c:163,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/cfb128.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 7
    argNames:
    - in
    - out
    - nbits
    - key
    - ivec
    - enc
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - void*
    - unsigned char[]
    - int
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 183
    functionName: cfbr_encrypt_block
    functionSourceFile: /src/openssl/crypto/modes/cfb128.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void cfbr_encrypt_block(const unsigned char *in, unsigned char *out,\n
      \                              int nbits, const void *key,\n                               unsigned
      char ivec[16], int enc,\n                               block128_f block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfbr_encrypt_block
      Src: /src/openssl/crypto/modes/cfb128.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - in
    - out
    - bits
    - key
    - ivec
    - num
    - enc
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - int*
    - int
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: CRYPTO_cfb128_1_encrypt
    functionSourceFile: /src/openssl/crypto/modes/cfb128.c
    functionUses: 0
    functionsReached:
    - cfbr_encrypt_block
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char
      *out,\n                             size_t bits, const void *key,\n                             unsigned
      char ivec[16], int *num,\n                             int enc, block128_f block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfbr_encrypt_block
      Src: /src/openssl/crypto/modes/cfb128.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 8
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - int*
    - int
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: CRYPTO_cfb128_8_encrypt
    functionSourceFile: /src/openssl/crypto/modes/cfb128.c
    functionUses: 0
    functionsReached:
    - cfbr_encrypt_block
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char
      *out,\n                             size_t length, const void *key,\n                             unsigned
      char ivec[16], int *num,\n                             int enc, block128_f block)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128.c:39,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128.c:48,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128.c:59,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128.c:103,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128.c:131,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128.c:153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 86
    argCount: 6
    argNames:
    - ctx
    - iv
    - inp
    - out
    - len
    - enc
    argTypes:
    - XTS128_CONTEXT*
    - unsigned char[]
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 161
    functionName: CRYPTO_xts128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/xts128.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx,\n                          const
      unsigned char iv[16],\n                          const unsigned char *inp, unsigned
      char *out,\n                          size_t len, int enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 7
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - num
    - block
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - void*
    - unsigned char[]
    - int*
    - block128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 86
    functionName: CRYPTO_ofb128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/ofb128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char
      *out,\n                           size_t len, const void *key,\n                           unsigned
      char ivec[16], int *num, block128_f block)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128gb.c:39,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128gb.c:48,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128gb.c:59,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/xts128gb.c:75,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/xts128gb.c:76,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:80,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:80,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:81,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:81,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/xts128gb.c:89,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/xts128gb.c:90,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:94,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:94,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:95,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:95,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128gb.c:122,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/xts128gb.c:133,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/xts128gb.c:134,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:138,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:138,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:139,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:139,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/xts128gb.c:147,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/modes/xts128gb.c:148,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:152,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:152,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:153,1
    - Dst: GETU32
      Src: /src/openssl/crypto/modes/xts128gb.c:153,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128gb.c:169,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/xts128gb.c:191,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 114
    argCount: 6
    argNames:
    - ctx
    - iv
    - inp
    - out
    - len
    - enc
    argTypes:
    - XTS128_CONTEXT*
    - unsigned char[]
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 199
    functionName: ossl_crypto_xts128gb_encrypt
    functionSourceFile: /src/openssl/crypto/modes/xts128gb.c
    functionUses: 0
    functionsReached:
    - BSWAP8
    - memcpy
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int ossl_crypto_xts128gb_encrypt(const XTS128_CONTEXT *ctx,\n                                 const
      unsigned char iv[16],\n                                 const unsigned char
      *inp, unsigned char *out,\n                                 size_t len, int
      enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rotl8
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __owur
    signature: __owur rotl8(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: rotr8
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __owur
    signature: __owur rotr8(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl8
      Src: /src/openssl/crypto/modes/siv128.c:37,1
    - Dst: rotr8
      Src: /src/openssl/crypto/modes/siv128.c:37,1
    - Dst: rotl8
      Src: /src/openssl/crypto/modes/siv128.c:38,1
    - Dst: rotr8
      Src: /src/openssl/crypto/modes/siv128.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: byteswap8
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - rotr8
    - rotl8
    linkageType: ''
    returnType: __owur
    signature: __owur byteswap8(uint64_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byteswap8
      Src: /src/openssl/crypto/modes/siv128.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - i
    argTypes:
    - SIV_BLOCK*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: siv128_getword
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - byteswap8
    linkageType: ''
    returnType: __owur
    signature: __owur siv128_getword(SIV_BLOCK const *b, size_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byteswap8
      Src: /src/openssl/crypto/modes/siv128.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b
    - i
    - x
    argTypes:
    - SIV_BLOCK*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: siv128_putword
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - byteswap8
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline siv128_putword(SIV_BLOCK *b, size_t i, uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SIV_BLOCK*
    - SIV_BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: siv128_xorblock
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline siv128_xorblock(SIV_BLOCK *x,\n                                        SIV_BLOCK
      const *y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siv128_getword
      Src: /src/openssl/crypto/modes/siv128.c:76,1
    - Dst: siv128_getword
      Src: /src/openssl/crypto/modes/siv128.c:77,1
    - Dst: siv128_putword
      Src: /src/openssl/crypto/modes/siv128.c:85,1
    - Dst: siv128_putword
      Src: /src/openssl/crypto/modes/siv128.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - SIV_BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: siv128_dbl
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - siv128_getword
    - siv128_putword
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline siv128_dbl(SIV_BLOCK *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/modes/siv128.c:97,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/modes/siv128.c:102,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/siv128.c:104,1
    - Dst: siv128_xorblock
      Src: /src/openssl/crypto/modes/siv128.c:105,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/modes/siv128.c:106,1
    - Dst: memset
      Src: /src/openssl/crypto/modes/siv128.c:109,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/siv128.c:110,1
    - Dst: siv128_dbl
      Src: /src/openssl/crypto/modes/siv128.c:112,1
    - Dst: siv128_xorblock
      Src: /src/openssl/crypto/modes/siv128.c:113,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/modes/siv128.c:114,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/modes/siv128.c:117,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - SIV128_CONTEXT*
    - SIV_BLOCK*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 126
    functionName: siv128_do_s2v_p
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_free
    - memset
    - memcpy
    - EVP_MAC_CTX_dup
    - EVP_MAC_final
    - siv128_dbl
    - siv128_xorblock
    - EVP_MAC_update
    linkageType: ''
    returnType: __owur
    signature: "__owur siv128_do_s2v_p(SIV128_CONTEXT *ctx, SIV_BLOCK *out,\n                                              unsigned
      char const* in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/modes/siv128.c:135,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/modes/siv128.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - in
    - len
    - icv
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - SIV_BLOCK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: siv128_do_encrypt
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptUpdate
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: __owur
    signature: "__owur siv128_do_encrypt(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                            unsigned char const *in, size_t
      len,\n                                             SIV_BLOCK *icv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/modes/siv128.c:150,1
    - Dst: ossl_siv128_init
      Src: /src/openssl/crypto/modes/siv128.c:151,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/modes/siv128.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - key
    - klen
    - cbc
    - ctr
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - int
    - EVP_CIPHER*
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: ossl_siv128_new
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    - ossl_siv128_init
    linkageType: ''
    returnType: SIV128_CONTEXT
    signature: "SIV128_CONTEXT *ossl_siv128_new(const unsigned char *key, int klen,\n
      \                                 EVP_CIPHER *cbc, EVP_CIPHER *ctr,\n                                  OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/modes/siv128.c:176,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:177,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:178,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/modes/siv128.c:179,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/modes/siv128.c:187,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/modes/siv128.c:188,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/modes/siv128.c:190,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/modes/siv128.c:192,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/modes/siv128.c:194,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/crypto/modes/siv128.c:196,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/crypto/modes/siv128.c:197,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/crypto/modes/siv128.c:198,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/modes/siv128.c:199,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/modes/siv128.c:200,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/modes/siv128.c:201,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/modes/siv128.c:202,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:204,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:205,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:206,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/modes/siv128.c:207,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 7
    argNames:
    - ctx
    - key
    - klen
    - cbc
    - ctr
    - libctx
    - propq
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - int
    - EVP_CIPHER*
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 216
    functionName: ossl_siv128_init
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_MAC_CTX_new
    - EVP_EncryptInit_ex
    - memset
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_get0_name
    - EVP_MAC_free
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_MAC_CTX_dup
    - EVP_MAC_CTX_set_params
    - EVP_MAC_final
    - EVP_CIPHER_CTX_free
    - EVP_MAC_fetch
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: "int ossl_siv128_init(SIV128_CONTEXT *ctx, const unsigned char *key,
      int klen,\n                       const EVP_CIPHER *cbc, const EVP_CIPHER *ctr,\n
      \                      OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/siv128.c:223,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/modes/siv128.c:225,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/crypto/modes/siv128.c:229,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:231,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/modes/siv128.c:232,1
    - Dst: EVP_MAC_up_ref
      Src: /src/openssl/crypto/modes/siv128.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - SIV128_CONTEXT*
    - SIV128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: ossl_siv128_copy_ctx
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_copy
    - memcpy
    - EVP_MAC_CTX_dup
    - EVP_MAC_up_ref
    linkageType: ''
    returnType: int
    signature: int ossl_siv128_copy_ctx(SIV128_CONTEXT *dest, SIV128_CONTEXT *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: siv128_dbl
      Src: /src/openssl/crypto/modes/siv128.c:253,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/modes/siv128.c:255,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/modes/siv128.c:256,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/modes/siv128.c:257,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:260,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:263,1
    - Dst: siv128_xorblock
      Src: /src/openssl/crypto/modes/siv128.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 268
    functionName: ossl_siv128_aad
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_free
    - EVP_MAC_CTX_dup
    - siv128_xorblock
    - EVP_MAC_final
    - siv128_dbl
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: "int ossl_siv128_aad(SIV128_CONTEXT *ctx, const unsigned char *aad,\n
      \                     size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: siv128_do_s2v_p
      Src: /src/openssl/crypto/modes/siv128.c:284,1
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/siv128.c:287,1
    - Dst: siv128_do_encrypt
      Src: /src/openssl/crypto/modes/siv128.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 295
    functionName: ossl_siv128_encrypt
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - siv128_do_encrypt
    - siv128_do_s2v_p
    linkageType: ''
    returnType: int
    signature: "int ossl_siv128_encrypt(SIV128_CONTEXT *ctx,\n                          const
      unsigned char *in, unsigned char *out,\n                          size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/siv128.c:313,1
    - Dst: siv128_do_encrypt
      Src: /src/openssl/crypto/modes/siv128.c:317,1
    - Dst: siv128_do_s2v_p
      Src: /src/openssl/crypto/modes/siv128.c:318,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/siv128.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 300
    functionDepth: 5
    functionLinenumber: 300
    functionLinenumberEnd: 331
    functionName: ossl_siv128_decrypt
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - memcpy
    - siv128_do_encrypt
    - siv128_do_s2v_p
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ossl_siv128_decrypt(SIV128_CONTEXT *ctx,\n                          const
      unsigned char *in, unsigned char *out,\n                          size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SIV128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: ossl_siv128_finish
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_siv128_finish(SIV128_CONTEXT *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/siv128.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: ossl_siv128_set_tag
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ossl_siv128_set_tag(SIV128_CONTEXT *ctx, const unsigned char *tag,
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/modes/siv128.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - tag
    - len
    argTypes:
    - SIV128_CONTEXT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: ossl_siv128_get_tag
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ossl_siv128_get_tag(SIV128_CONTEXT *ctx, unsigned char *tag, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:373,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/modes/siv128.c:375,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/modes/siv128.c:377,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/siv128.c:379,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/modes/siv128.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SIV128_CONTEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: ossl_siv128_cleanup
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_free
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - EVP_MAC_free
    linkageType: ''
    returnType: int
    signature: int ossl_siv128_cleanup(SIV128_CONTEXT *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - SIV128_CONTEXT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: ossl_siv128_speed
    functionSourceFile: /src/openssl/crypto/modes/siv128.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_siv128_speed(SIV128_CONTEXT *ctx, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: U8TOU64
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 U8TOU64(const unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - unsigned char*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: U64TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U64TO8(unsigned char *p, u64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:67,1
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: poly1305_init
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: 0
    functionsReached:
    - U8TOU64
    linkageType: ''
    returnType: int
    signature: int poly1305_init(void *ctx, const unsigned char key[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:105,1
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 133
    functionName: poly1305_blocks
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: 0
    functionsReached:
    - U8TOU64
    linkageType: ''
    returnType: void
    signature: "void poly1305_blocks(void *ctx, const unsigned char *inp, size_t len,\n
      \                    u32 padbit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64TO8
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:169,1
    - Dst: U64TO8
      Src: /src/openssl/crypto/poly1305/poly1305_base2_44.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char[]
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: poly1305_emit
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_base2_44.c
    functionUses: 0
    functionsReached:
    - U64TO8
    linkageType: ''
    returnType: void
    signature: void poly1305_emit(void *ctx, unsigned char mac[16], const u32 nonce[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: Poly1305_ctx_size
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Poly1305_ctx_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: U8TOU32
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int U8TOU32(const unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: CONSTANT_TIME_CARRY
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTANT_TIME_CARRY(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: U8TOU64
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 U8TOU64(const unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - unsigned char*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: U64TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U64TO8(unsigned char *p, u64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305.c:143,1
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: poly1305_init
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - U8TOU64
    linkageType: ''
    returnType: void
    signature: void poly1305_init(void *ctx, const unsigned char key[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305.c:167,1
    - Dst: U8TOU64
      Src: /src/openssl/crypto/poly1305/poly1305.c:168,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:192,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 211
    functionName: poly1305_blocks
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - U8TOU64
    - CONSTANT_TIME_CARRY
    linkageType: ''
    returnType: void
    signature: void poly1305_blocks(void *ctx, const unsigned char *inp, size_t len,
      u32 padbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:243,1
    - Dst: U64TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char[]
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: poly1305_emit
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - U64TO8
    linkageType: ''
    returnType: void
    signature: "void poly1305_emit(void *ctx, unsigned char mac[16],\n                          const
      u32 nonce[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: U32TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void U32TO8(unsigned char *p, unsigned int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:283,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:284,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:285,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 287
    functionName: poly1305_init
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - U8TOU32
    linkageType: ''
    returnType: void
    signature: void poly1305_init(void *ctx, const unsigned char key[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:315,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:316,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:317,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:318,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:354,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:355,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:356,1
    - Dst: CONSTANT_TIME_CARRY
      Src: /src/openssl/crypto/poly1305/poly1305.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 377
    functionName: poly1305_blocks
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - U8TOU32
    - CONSTANT_TIME_CARRY
    linkageType: ''
    returnType: void
    signature: void poly1305_blocks(void *ctx, const unsigned char *inp, size_t len,
      u32 padbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:419,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:420,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:421,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char[]
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 423
    functionName: poly1305_emit
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - U32TO8
    linkageType: ''
    returnType: void
    signature: "void poly1305_emit(void *ctx, unsigned char mac[16],\n                          const
      u32 nonce[4])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:435,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:436,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:437,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305.c:438,1
    - Dst: poly1305_init
      Src: /src/openssl/crypto/poly1305/poly1305.c:441,1
    - Dst: poly1305_init
      Src: /src/openssl/crypto/poly1305/poly1305.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - POLY1305*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 457
    functionName: Poly1305_Init
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - U8TOU32
    - poly1305_init
    linkageType: ''
    returnType: void
    signature: void Poly1305_Init(POLY1305 *ctx, const unsigned char key[32])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/poly1305/poly1305.c:484,1
    - Dst: poly1305_blocks
      Src: /src/openssl/crypto/poly1305/poly1305.c:485,1
    - Dst: memcpy
      Src: /src/openssl/crypto/poly1305/poly1305.c:490,1
    - Dst: poly1305_blocks
      Src: /src/openssl/crypto/poly1305/poly1305.c:500,1
    - Dst: memcpy
      Src: /src/openssl/crypto/poly1305/poly1305.c:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - POLY1305*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 508
    functionName: Poly1305_Update
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - memcpy
    - poly1305_blocks
    linkageType: ''
    returnType: void
    signature: void Poly1305_Update(POLY1305 *ctx, const unsigned char *inp, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_blocks
      Src: /src/openssl/crypto/poly1305/poly1305.c:522,1
    - Dst: poly1305_emit
      Src: /src/openssl/crypto/poly1305/poly1305.c:525,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/poly1305/poly1305.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - mac
    argTypes:
    - POLY1305*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 529
    functionName: Poly1305_Final
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305.c
    functionUses: 0
    functionsReached:
    - poly1305_blocks
    - OPENSSL_cleanse
    - poly1305_emit
    linkageType: ''
    returnType: void
    signature: void Poly1305_Final(POLY1305 *ctx, unsigned char mac[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: TWO
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TWO(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: EXP
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXP(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: U8TOU32
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TOU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: U32TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32TO8(p,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: U8TOU32
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TOU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: U32TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32TO8(p,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: U8TOU32
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TOU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: U32TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32TO8(p,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: U8TOU32
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TOU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: U32TO8
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32TO8(p,v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:117,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:118,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:119,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:120,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:122,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:123,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:124,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:125,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:160,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:160,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:161,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:161,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:162,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:162,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:163,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:163,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:165,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:166,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:167,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:168,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:177,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:177,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:178,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:178,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:181,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:181,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:182,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:182,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:185,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:185,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:186,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:186,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:189,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:189,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:190,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:190,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:193,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:193,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:194,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:194,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:197,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:197,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:198,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:198,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:201,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:201,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:202,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - void*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 222
    functionName: poly1305_init
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 1
    functionsReached:
    - U8TOU32
    - TWO
    - EXP
    linkageType: ''
    returnType: int
    signature: int poly1305_init(void *ctx, const unsigned char key[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:284,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:285,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:286,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:287,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:295,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:295,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:296,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:296,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:297,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:297,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:298,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:298,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:300,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:301,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:302,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:303,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:314,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:314,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:315,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:315,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:316,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:316,1
    - Dst: EXP
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:317,1
    - Dst: U8TOU32
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:317,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:319,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:320,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:321,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:322,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:336,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:336,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:337,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:337,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:338,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:338,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:339,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:339,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:341,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:341,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:342,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:342,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:343,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:343,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:344,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:344,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:383,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:383,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:384,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:384,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:385,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:385,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:386,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:386,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:388,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:388,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:389,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:389,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:390,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:390,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:391,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:391,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:409,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:410,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:411,1
    - Dst: TWO
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 101
    argCount: 4
    argNames:
    - ctx
    - inp
    - len
    - padbit
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 428
    functionName: poly1305_blocks
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 2
    functionsReached:
    - U8TOU32
    - TWO
    - EXP
    linkageType: ''
    returnType: void
    signature: "void poly1305_blocks(void *ctx, const unsigned char *inp, size_t len,\n
      \                    int padbit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:484,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:485,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:486,1
    - Dst: U32TO8
      Src: /src/openssl/crypto/poly1305/poly1305_ieee754.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - mac
    - nonce
    argTypes:
    - void*
    - unsigned char[]
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 488
    functionName: poly1305_emit
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ieee754.c
    functionUses: 1
    functionsReached:
    - U32TO8
    linkageType: ''
    returnType: void
    signature: void poly1305_emit(void *ctx, unsigned char mac[16], const u32 nonce[4])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poly1305_init_int
      Src: /src/openssl/crypto/poly1305/poly1305_ppc.c:34,1
    - Dst: poly1305_init_fpu
      Src: /src/openssl/crypto/poly1305/poly1305_ppc.c:38,1
    - Dst: poly1305_init_int
      Src: /src/openssl/crypto/poly1305/poly1305_ppc.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - key
    - func
    argTypes:
    - void*
    - unsigned char[]
    - void*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: poly1305_init
    functionSourceFile: /src/openssl/crypto/poly1305/poly1305_ppc.c
    functionUses: 1
    functionsReached:
    - poly1305_init_int
    - poly1305_init_fpu
    linkageType: ''
    returnType: int
    signature: int poly1305_init(void *ctx, const unsigned char key[16], void *func[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - v
    - polys
    - num_polys
    argTypes:
    - VECTOR*
    - POLY*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: vector_init
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_init(VECTOR *v, POLY *polys, size_t num_polys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - num_polys
    argTypes:
    - VECTOR*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: vector_alloc
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc_array
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_alloc(VECTOR *v, size_t num_polys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc_array
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - v
    - num_polys
    argTypes:
    - VECTOR*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: vector_secure_alloc
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc_array
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_secure_alloc(VECTOR *v, size_t num_polys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: vector_free
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_free(VECTOR *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - rank
    argTypes:
    - VECTOR*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: vector_secure_free
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_secure_free(VECTOR *v, size_t rank)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - va
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: vector_zero
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_zero(VECTOR *va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:84,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - VECTOR*
    - VECTOR*
    assertStmts:
    - condition: (dst->num_poly == src->num_poly)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: vector_copy
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_copy(VECTOR *dst, const VECTOR *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poly_equal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: vector_equal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_equal
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_equal(const VECTOR *a, const VECTOR *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_add
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - VECTOR*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: vector_add
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_add
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_add(const VECTOR *lhs, const VECTOR *rhs, VECTOR
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - VECTOR*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: vector_sub
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_sub
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_sub(const VECTOR *lhs, const VECTOR *rhs, VECTOR
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_poly_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - va
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: vector_ntt
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_poly_ntt
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_ntt(VECTOR *va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_poly_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - va
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: vector_ntt_inverse
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_poly_ntt_inverse
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_ntt_inverse(VECTOR *va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_poly_ntt_mult
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - VECTOR*
    - POLY*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: vector_mult_scalar
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_poly_ntt_mult
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_mult_scalar(const VECTOR *lhs, const POLY *rhs,
      VECTOR *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_vector_expand_S
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - h_ctx
    - md
    - eta
    - seed
    - s1
    - s2
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - int
    - uint8_t*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: vector_expand_S
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_vector_expand_S
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline vector_expand_S(EVP_MD_CTX *h_ctx, const EVP_MD *md, int
      eta,\n                const uint8_t *seed, VECTOR *s1, VECTOR *s2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:168,1
    - Dst: poly_expand_mask
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - out
    - rho_prime
    - rho_prime_len
    - kappa
    - gamma1
    - h_ctx
    - md
    argTypes:
    - VECTOR*
    - uint8_t*
    - size_t
    - uint32_t
    - uint32_t
    - EVP_MD_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: vector_expand_mask
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - memcpy
    - poly_expand_mask
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline vector_expand_mask(VECTOR *out, const uint8_t *rho_prime,
      size_t rho_prime_len,\n                   uint32_t kappa, uint32_t gamma1,\n
      \                  EVP_MD_CTX *h_ctx, const EVP_MD *md)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_scale_power2_round
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:187,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: vector_scale_power2_round_ntt
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - vector_ntt
    - poly_scale_power2_round
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_scale_power2_round_ntt(const VECTOR *in, VECTOR
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_power2_round
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - t
    - t1
    - t0
    argTypes:
    - VECTOR*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: vector_power2_round
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_power2_round
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_power2_round(const VECTOR *t, VECTOR *t1, VECTOR
      *t0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_high_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - in
    - gamma2
    - out
    argTypes:
    - VECTOR*
    - uint32_t
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: vector_high_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_high_bits
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_high_bits(const VECTOR *in, uint32_t gamma2, VECTOR
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_low_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - in
    - gamma2
    - out
    argTypes:
    - VECTOR*
    - uint32_t
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: vector_low_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_low_bits
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_low_bits(const VECTOR *in, uint32_t gamma2, VECTOR
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_max
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: vector_max
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_max
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_max(const VECTOR *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_max_signed
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: vector_max_signed
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_max_signed
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_max_signed(const VECTOR *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: vector_count_ones
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_count_ones(const VECTOR *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_make_hint
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - ct0
    - cs2
    - w
    - gamma2
    - out
    argTypes:
    - VECTOR*
    - VECTOR*
    - VECTOR*
    - uint32_t
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: vector_make_hint
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_make_hint
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline vector_make_hint(const VECTOR *ct0, const VECTOR *cs2,
      const VECTOR *w,\n                 uint32_t gamma2, VECTOR *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poly_use_hint
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - h
    - r
    - gamma2
    - out
    argTypes:
    - VECTOR*
    - VECTOR*
    - uint32_t
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: vector_use_hint
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_vector.h
    functionUses: 0
    functionsReached:
    - poly_use_hint
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline vector_use_hint(const VECTOR *h, const VECTOR *r, uint32_t
      gamma2, VECTOR *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: POLY_COEFF_NUM_BYTES
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY_COEFF_NUM_BYTES(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: mod_sub_64
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_sub_64(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:58,1
    - Dst: POLY_COEFF_NUM_BYTES
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: poly_encode_4_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - POLY_COEFF_NUM_BYTES
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int poly_encode_4_bits(const POLY *p, WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:95,1
    - Dst: POLY_COEFF_NUM_BYTES
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: poly_encode_6_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - POLY_COEFF_NUM_BYTES
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int poly_encode_6_bits(const POLY *p, WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:135,1
    - Dst: POLY_COEFF_NUM_BYTES
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 151
    functionName: poly_encode_10_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - POLY_COEFF_NUM_BYTES
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int poly_encode_10_bits(const POLY *p, WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:169,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: poly_decode_10_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - OPENSSL_load_u32_le
    - PACKET_get_bytes
    linkageType: ''
    returnType: int
    signature: int poly_decode_10_bits(POLY *p, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:204,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:208,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: poly_encode_signed_4
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - mod_sub
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int poly_encode_signed_4(const POLY *p, WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:233,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:235,1
    - Dst: value_barrier_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:248,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:251,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:252,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:253,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:254,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:255,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:256,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:257,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 263
    functionName: poly_decode_signed_4
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - value_barrier_32
    - mod_sub
    - OPENSSL_load_u32_le
    - PACKET_get_bytes
    linkageType: ''
    returnType: int
    signature: int poly_decode_signed_4(POLY *p, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:292,1
    - Dst: POLY_COEFF_NUM_BYTES
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:292,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:298,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:299,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:300,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:301,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:302,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:303,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:304,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:305,1
    - Dst: OPENSSL_store_u16_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 311
    functionName: poly_encode_signed_2
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u16_le
    - mod_sub
    - POLY_COEFF_NUM_BYTES
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int poly_encode_signed_2(const POLY *p, WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:331,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:333,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:334,1
    - Dst: value_barrier_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:348,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:351,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:352,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:353,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:354,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:355,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:356,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:357,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 363
    functionName: poly_decode_signed_2
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - PACKET_get_bytes
    - memcpy
    - value_barrier_32
    - mod_sub
    - OPENSSL_load_u32_le
    linkageType: ''
    returnType: int
    signature: int poly_decode_signed_2(POLY *p, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:395,1
    - Dst: mod_sub_64
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:398,1
    - Dst: mod_sub_64
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:399,1
    - Dst: mod_sub_64
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:400,1
    - Dst: mod_sub_64
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:401,1
    - Dst: mod_sub_64
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:402,1
    - Dst: mod_sub_64
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:403,1
    - Dst: mod_sub_64
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:404,1
    - Dst: mod_sub_64
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:405,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:407,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 412
    functionName: poly_encode_signed_two_to_power_12
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u64_le
    - OPENSSL_store_u32_le
    - WPACKET_allocate_bytes
    - mod_sub_64
    linkageType: ''
    returnType: int
    signature: int poly_encode_signed_two_to_power_12(const POLY *p, WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:435,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:437,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:438,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:441,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:442,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:443,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:444,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:445,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:446,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:447,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 453
    functionName: poly_decode_signed_two_to_power_12
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - mod_sub
    - OPENSSL_load_u32_le
    - OPENSSL_load_u64_le
    - PACKET_get_bytes
    linkageType: ''
    returnType: int
    signature: int poly_decode_signed_two_to_power_12(POLY *p, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:484,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:487,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:488,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:489,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:490,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:492,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:493,1
    - Dst: OPENSSL_store_u16_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 497
    functionName: poly_encode_signed_two_to_power_19
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_le
    - mod_sub
    - OPENSSL_store_u16_le
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int poly_encode_signed_two_to_power_19(const POLY *p, WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:520,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:522,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:523,1
    - Dst: OPENSSL_load_u16_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:524,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:526,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:527,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:528,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: poly_decode_signed_two_to_power_19
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - mod_sub
    - OPENSSL_load_u32_le
    - OPENSSL_load_u16_le
    - PACKET_get_bytes
    linkageType: ''
    returnType: int
    signature: int poly_decode_signed_two_to_power_19(POLY *p, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:565,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:568,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:569,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:570,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:571,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:573,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 578
    functionName: poly_encode_signed_two_to_power_17
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_le
    - mod_sub
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int poly_encode_signed_two_to_power_17(const POLY *p, WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:600,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:602,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:603,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:606,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:607,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:608,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p
    - pkt
    argTypes:
    - POLY*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 612
    functionName: poly_decode_signed_two_to_power_17
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - mod_sub
    - OPENSSL_load_u32_le
    - PACKET_get_bytes
    linkageType: ''
    returnType: int
    signature: int poly_decode_signed_two_to_power_17(POLY *p, PACKET *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:629,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:635,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:636,1
    - Dst: poly_encode_10_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:639,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:641,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:644,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:648,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:650,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 622
    functionDepth: 4
    functionLinenumber: 622
    functionLinenumberEnd: 652
    functionName: ossl_ml_dsa_pk_encode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_memcpy
    - WPACKET_get_total_written
    - OPENSSL_free
    - poly_encode_10_bits
    - OPENSSL_malloc
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_pk_encode(ML_DSA_KEY *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:676,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:678,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:681,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:682,1
    - Dst: poly_decode_10_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:685,1
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:689,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:692,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:695,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - key
    - in
    - in_len
    argTypes:
    - ML_DSA_KEY*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 697
    functionName: ossl_ml_dsa_pk_decode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - ossl_ml_dsa_key_pub_alloc
    - EVP_MD_CTX_new
    - OPENSSL_memdup
    - EVP_MD_CTX_free
    - poly_decode_10_bits
    - shake_xof
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_pk_decode(ML_DSA_KEY *key, const uint8_t *in, size_t
      in_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:716,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:727,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:728,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:729,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:730,1
    - Dst: encode_fn
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:733,1
    - Dst: encode_fn
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:736,1
    - Dst: poly_encode_signed_two_to_power_12
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:739,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:741,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:744,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:748,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:750,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 752
    functionName: ossl_ml_dsa_sk_encode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_init_static_len
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    - WPACKET_get_total_written
    - encode_fn
    - poly_encode_signed_two_to_power_12
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_sk_encode(ML_DSA_KEY *key)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:773,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:782,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:791,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:792,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:793,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:794,1
    - Dst: decode_fn
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:798,1
    - Dst: decode_fn
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:801,1
    - Dst: poly_decode_signed_two_to_power_12
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:804,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:806,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:809,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:812,1
    - Dst: ossl_ml_dsa_key_public_from_private
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:818,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:819,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:820,1
    - Dst: ossl_ml_dsa_key_reset
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:823,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 46
    argCount: 3
    argNames:
    - key
    - in
    - in_len
    argTypes:
    - ML_DSA_KEY*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 830
    functionName: ossl_ml_dsa_sk_decode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - memcmp
    - decode_fn
    - ossl_ml_dsa_key_reset
    - PACKET_buf_init
    - memcpy
    - ossl_ml_dsa_key_public_from_private
    - OPENSSL_secure_clear_free
    - ossl_ml_dsa_key_priv_alloc
    - ERR_raise_data
    - OPENSSL_secure_malloc
    - poly_decode_signed_two_to_power_12
    - PACKET_remaining
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_sk_decode(ML_DSA_KEY *key, const uint8_t *in, size_t
      in_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:847,1
    - Dst: memset
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - hint
    - pkt
    - omega
    argTypes:
    - VECTOR*
    - WPACKET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 858
    functionName: hint_bits_encode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - memset
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int hint_bits_encode(const VECTOR *hint, WPACKET *pkt, uint32_t omega)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:873,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:874,1
    - Dst: vector_zero
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:877,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - hint
    - pkt
    - omega
    argTypes:
    - VECTOR*
    - PACKET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 900
    functionName: hint_bits_decode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - vector_zero
    - PACKET_get_bytes
    linkageType: ''
    returnType: int
    signature: int hint_bits_decode(VECTOR *hint, PACKET *pkt, uint32_t omega)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:926,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:927,1
    - Dst: encode_fn
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:931,1
    - Dst: hint_bits_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:933,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:937,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - sig
    - params
    - out
    argTypes:
    - ML_DSA_SIG*
    - ML_DSA_PARAMS*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 910
    functionDepth: 4
    functionLinenumber: 910
    functionLinenumberEnd: 939
    functionName: ossl_ml_dsa_sig_encode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_init_static_len
    - encode_fn
    - hint_bits_encode
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_sig_encode(const ML_DSA_SIG *sig, const ML_DSA_PARAMS
      *params,\n                           uint8_t *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:961,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:962,1
    - Dst: decode_fn
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:965,1
    - Dst: hint_bits_decode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:968,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:969,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - sig
    - in
    - in_len
    - params
    argTypes:
    - ML_DSA_SIG*
    - uint8_t*
    - size_t
    - ML_DSA_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 974
    functionName: ossl_ml_dsa_sig_decode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - decode_fn
    - hint_bits_decode
    - PACKET_buf_init
    - PACKET_remaining
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_sig_decode(ML_DSA_SIG *sig, const uint8_t *in, size_t
      in_len,\n                           const ML_DSA_PARAMS *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:982,1
    - Dst: poly_decode_signed_two_to_power_19
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:985,1
    - Dst: poly_decode_signed_two_to_power_17
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - out
    - in
    - in_len
    - gamma1
    argTypes:
    - POLY*
    - uint8_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 988
    functionName: ossl_ml_dsa_poly_decode_expand_mask
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - poly_decode_signed_two_to_power_17
    - poly_decode_signed_two_to_power_19
    - PACKET_buf_init
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_poly_decode_expand_mask(POLY *out,\n                                        const
      uint8_t *in, size_t in_len,\n                                        uint32_t
      gamma1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:1009,1
    - Dst: encode_fn
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:1016,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c:1020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - w1
    - gamma2
    - out
    - out_len
    argTypes:
    - VECTOR*
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1001
    functionDepth: 4
    functionLinenumber: 1001
    functionLinenumberEnd: 1022
    functionName: ossl_ml_dsa_w1_encode
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_encoders.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - encode_fn
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_w1_encode(const VECTOR *w1, uint32_t gamma2,\n                          uint8_t
      *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:42,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:46,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:48,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - r
    - r1
    - r0
    argTypes:
    - uint32_t
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: ossl_ml_dsa_key_compress_power2_round
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c
    functionUses: 0
    functionsReached:
    - constant_time_lt
    - mod_sub
    - constant_time_select_int
    linkageType: ''
    returnType: void
    signature: void ossl_ml_dsa_key_compress_power2_round(uint32_t r, uint32_t *r1,
      uint32_t *r0)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - gamma2
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: ossl_ml_dsa_key_compress_high_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_ml_dsa_key_compress_high_bits(uint32_t r, uint32_t gamma2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_compress_high_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - gamma2
    - r1
    - r0
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ossl_ml_dsa_key_compress_decompose
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_compress_high_bits
    linkageType: ''
    returnType: void
    signature: "void ossl_ml_dsa_key_compress_decompose(uint32_t r, uint32_t gamma2,\n
      \                                       uint32_t *r1, int32_t *r0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_compress_decompose
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - gamma2
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: ossl_ml_dsa_key_compress_low_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_compress_decompose
    linkageType: ''
    returnType: int32_t
    signature: int32_t ossl_ml_dsa_key_compress_low_bits(uint32_t r, uint32_t gamma2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:136,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:137,1
    - Dst: ossl_ml_dsa_key_compress_high_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:139,1
    - Dst: ossl_ml_dsa_key_compress_high_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ct0
    - cs2
    - gamma2
    - w
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: ossl_ml_dsa_key_compress_make_hint
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c
    functionUses: 0
    functionsReached:
    - reduce_once
    - mod_sub
    - ossl_ml_dsa_key_compress_high_bits
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ossl_ml_dsa_key_compress_make_hint(uint32_t ct0, uint32_t
      cs2,\n                                           uint32_t gamma2, uint32_t w)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_compress_decompose
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - hint
    - r
    - gamma2
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: ossl_ml_dsa_key_compress_use_hint
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key_compress.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_compress_decompose
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ossl_ml_dsa_key_compress_use_hint(uint32_t hint, uint32_t
      r,\n                                           uint32_t gamma2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: poly_zero
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_zero(POLY *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: poly_add
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - reduce_once
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_add(const POLY *lhs, const POLY *rhs, POLY *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: poly_sub
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - mod_sub
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_sub(const POLY *lhs, const POLY *rhs, POLY *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: poly_equal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - CRYPTO_memcmp
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_equal(const POLY *a, const POLY *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_poly_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: poly_ntt
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 2
    functionsReached:
    - ossl_ml_dsa_poly_ntt
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_ntt(POLY *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_poly_sample_in_ball
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:77,1
    - Dst: poly_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - out
    - seed
    - seed_len
    - h_ctx
    - md
    - tau
    argTypes:
    - POLY*
    - uint8_t*
    - int
    - EVP_MD_CTX*
    - EVP_MD*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: poly_sample_in_ball_ntt
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 0
    functionsReached:
    - poly_ntt
    - ossl_ml_dsa_poly_sample_in_ball
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline poly_sample_in_ball_ntt(POLY *out, const uint8_t *seed,
      int seed_len,\n                        EVP_MD_CTX *h_ctx, const EVP_MD *md,
      uint32_t tau)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_poly_expand_mask
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - out
    - seed
    - seed_len
    - gamma1
    - h_ctx
    - md
    argTypes:
    - POLY*
    - uint8_t*
    - size_t
    - uint32_t
    - EVP_MD_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: poly_expand_mask
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 2
    functionsReached:
    - ossl_ml_dsa_poly_expand_mask
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline poly_expand_mask(POLY *out, const uint8_t *seed, size_t
      seed_len,\n                 uint32_t gamma1, EVP_MD_CTX *h_ctx, const EVP_MD
      *md)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_compress_power2_round
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - t
    - t1
    - t0
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: poly_power2_round
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_key_compress_power2_round
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_power2_round(const POLY *t, POLY *t1, POLY *t0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: poly_scale_power2_round
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_scale_power2_round(POLY *in, POLY *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_compress_high_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - in
    - gamma2
    - out
    argTypes:
    - POLY*
    - uint32_t
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: poly_high_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_key_compress_high_bits
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_high_bits(const POLY *in, uint32_t gamma2, POLY *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_compress_low_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - in
    - gamma2
    - out
    argTypes:
    - POLY*
    - uint32_t
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: poly_low_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_key_compress_low_bits
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_low_bits(const POLY *in, uint32_t gamma2, POLY *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_compress_make_hint
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - ct0
    - cs2
    - w
    - gamma2
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    - uint32_t
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: poly_make_hint
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_key_compress_make_hint
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline poly_make_hint(const POLY *ct0, const POLY *cs2, const
      POLY *w, uint32_t gamma2,\n               POLY *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_compress_use_hint
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - h
    - r
    - gamma2
    - out
    argTypes:
    - POLY*
    - POLY*
    - uint32_t
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: poly_use_hint
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_key_compress_use_hint
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_use_hint(const POLY *h, const POLY *r, uint32_t gamma2,
      POLY *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs_mod_prime
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:167,1
    - Dst: maximum
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - mx
    argTypes:
    - POLY*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: poly_max
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - abs_mod_prime
    - maximum
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_max(const POLY *p, uint32_t *mx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs_signed
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:180,1
    - Dst: maximum
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - mx
    argTypes:
    - POLY*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: poly_max_signed
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_poly.h
    functionUses: 1
    functionsReached:
    - abs_signed
    - maximum
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline poly_max_signed(const POLY *p, uint32_t *mx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ossl_ml_dsa_key_params
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ML_DSA_PARAMS
    signature: ML_DSA_PARAMS *ossl_ml_dsa_key_params(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ossl_ml_dsa_key_get_seed
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ossl_ml_dsa_key_get_seed(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ossl_ml_dsa_key_get_prov_flags
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_get_prov_flags(const ML_DSA_KEY *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:52,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:55,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:59,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:61,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:69,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:70,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 7
    argNames:
    - key
    - flags_set
    - flags_clr
    - seed
    - seed_len
    - sk
    - sk_len
    argTypes:
    - ML_DSA_KEY*
    - int
    - int
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 74
    functionName: ossl_ml_dsa_set_prekey
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - memcpy
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_set_prekey(ML_DSA_KEY *key, int flags_set, int flags_clr,\n
      \                          const uint8_t *seed, size_t seed_len,\n                           const
      uint8_t *sk, size_t sk_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_params_get
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:88,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:93,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:98,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:99,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - libctx
    - propq
    - evp_type
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: ossl_ml_dsa_key_new
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - OPENSSL_zalloc
    - ossl_ml_dsa_key_free
    - ossl_ml_dsa_params_get
    linkageType: ''
    returnType: ML_DSA_KEY
    signature: "ML_DSA_KEY *ossl_ml_dsa_key_new(OSSL_LIB_CTX *libctx, const char *propq,\n
      \                               int evp_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: ossl_ml_dsa_key_pub_alloc
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - vector_alloc
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_pub_alloc(ML_DSA_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vector_secure_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:123,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:128,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: ossl_ml_dsa_key_priv_alloc
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - vector_init
    - vector_secure_alloc
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_priv_alloc(ML_DSA_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:141,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:142,1
    - Dst: ossl_ml_dsa_key_reset
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: ossl_ml_dsa_key_free
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - EVP_MD_free
    - ossl_ml_dsa_key_reset
    linkageType: ''
    returnType: void
    signature: void ossl_ml_dsa_key_free(ML_DSA_KEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vector_secure_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:160,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:161,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:162,1
    - Dst: vector_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:165,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:167,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:170,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: ossl_ml_dsa_key_reset
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 2
    functionsReached:
    - vector_free
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    - vector_secure_free
    - vector_init
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ossl_ml_dsa_key_reset(ML_DSA_KEY *key)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:197,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:205,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:206,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:208,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:210,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:212,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:218,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:220,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:222,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:223,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:224,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:226,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:229,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:232,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:235,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:239,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:240,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:246,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - src
    - selection
    argTypes:
    - ML_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 248
    functionName: ossl_ml_dsa_key_dup
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_MD_up_ref
    - ossl_ml_dsa_key_pub_alloc
    - memcpy
    - ossl_ml_dsa_key_free
    - ossl_ml_dsa_key_priv_alloc
    - OPENSSL_memdup
    - OPENSSL_secure_malloc
    - vector_copy
    linkageType: ''
    returnType: ML_DSA_KEY
    signature: ML_DSA_KEY *ossl_ml_dsa_key_dup(const ML_DSA_KEY *src, int selection)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:273,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:282,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - key1
    - key2
    - selection
    argTypes:
    - ML_DSA_KEY*
    - ML_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 291
    functionName: ossl_ml_dsa_key_equal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_key_equal(const ML_DSA_KEY *key1, const ML_DSA_KEY
      *key2,\n                          int selection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:297,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - ML_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: ossl_ml_dsa_key_has
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_get_priv
    - ossl_ml_dsa_key_get_pub
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_has(const ML_DSA_KEY *key, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:329,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:333,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:334,1
    - Dst: matrix_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:335,1
    - Dst: matrix_expand_A
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:338,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:342,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:343,1
    - Dst: matrix_mult_vector
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:345,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:346,1
    - Dst: vector_add
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:347,1
    - Dst: vector_power2_round
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:350,1
    - Dst: vector_zero
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:353,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - key
    - md_ctx
    - t1
    - t0
    argTypes:
    - ML_DSA_KEY*
    - EVP_MD_CTX*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 357
    functionName: public_from_private
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - vector_ntt
    - matrix_init
    - vector_copy
    - vector_ntt_inverse
    - OPENSSL_malloc_array
    - vector_power2_round
    - vector_add
    - OPENSSL_free
    - vector_zero
    - vector_init
    - matrix_mult_vector
    - matrix_expand_A
    linkageType: ''
    returnType: int
    signature: "int public_from_private(const ML_DSA_KEY *key, EVP_MD_CTX *md_ctx,\n
      \                              VECTOR *t1, VECTOR *t0)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:365,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:367,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:368,1
    - Dst: public_from_private
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:369,1
    - Dst: vector_equal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:370,1
    - Dst: ossl_ml_dsa_pk_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:371,1
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:372,1
    - Dst: vector_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:375,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: ossl_ml_dsa_key_public_from_private
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_pk_encode
    - ossl_ml_dsa_key_pub_alloc
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - vector_equal
    - vector_alloc
    - shake_xof
    - vector_free
    - public_from_private
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_public_from_private(ML_DSA_KEY *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:391,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:394,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:398,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:399,1
    - Dst: public_from_private
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:400,1
    - Dst: vector_equal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:403,1
    - Dst: vector_equal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:403,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:405,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 408
    functionName: ossl_ml_dsa_key_pairwise_check
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc_array
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - vector_equal
    - OPENSSL_free
    - vector_init
    - public_from_private
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_pairwise_check(const ML_DSA_KEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:430,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:431,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:432,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:436,1
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:440,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:444,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:445,1
    - Dst: vector_expand_S
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:447,1
    - Dst: public_from_private
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:448,1
    - Dst: ossl_ml_dsa_pk_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:449,1
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:450,1
    - Dst: ossl_ml_dsa_sk_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:452,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:456,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:459,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:460,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:461,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - out
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 463
    functionName: keygen_internal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - vector_expand_S
    - ossl_ml_dsa_pk_encode
    - ossl_ml_dsa_sk_encode
    - ossl_ml_dsa_key_pub_alloc
    - memcpy
    - OPENSSL_clear_free
    - EVP_MD_CTX_new
    - ossl_ml_dsa_key_priv_alloc
    - EVP_MD_CTX_free
    - shake_xof
    - OPENSSL_cleanse
    - public_from_private
    linkageType: ''
    returnType: int
    signature: int keygen_internal(ML_DSA_KEY *out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:472,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:474,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:475,1
    - Dst: keygen_internal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:484,1
    - Dst: keygen_internal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:486,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:487,1
    - Dst: ossl_ml_dsa_key_reset
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:489,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:490,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_key.c:494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - out
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 465
    functionDepth: 6
    functionLinenumber: 465
    functionLinenumberEnd: 497
    functionName: ossl_ml_dsa_generate_key
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ossl_ml_dsa_key_reset
    - OPENSSL_secure_free
    - RAND_priv_bytes_ex
    - ERR_raise_data
    - OPENSSL_secure_malloc
    - OPENSSL_free
    - keygen_internal
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_generate_key(ML_DSA_KEY *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - evp_type
    argTypes:
    - ML_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: ossl_ml_dsa_key_matches
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_matches(const ML_DSA_KEY *key, int evp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: ossl_ml_dsa_key_get_pub
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ossl_ml_dsa_key_get_pub(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: ossl_ml_dsa_key_get_pub_len
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_ml_dsa_key_get_pub_len(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: ossl_ml_dsa_key_get_collision_strength_bits
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_ml_dsa_key_get_collision_strength_bits(const ML_DSA_KEY
      *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: ossl_ml_dsa_key_get_security_category
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_get_security_category(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: ossl_ml_dsa_key_get_priv
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ossl_ml_dsa_key_get_priv(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: ossl_ml_dsa_key_get_priv_len
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_ml_dsa_key_get_priv_len(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: ossl_ml_dsa_key_get_sig_len
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_ml_dsa_key_get_sig_len(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: ossl_ml_dsa_key_get0_libctx
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_ml_dsa_key_get0_libctx(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: ossl_ml_dsa_key_get_name
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_ml_dsa_key_get_name(const ML_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:113,1
    - Dst: constant_time_lt_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: reduce_once
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 2
    functionsReached:
    - constant_time_lt_32
    - constant_time_select_32
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline reduce_once(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: mod_sub
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 12
    functionsReached:
    - reduce_once
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline mod_sub(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:138,1
    - Dst: constant_time_lt_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: abs_signed
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 1
    functionsReached:
    - constant_time_lt_32
    - constant_time_select_32
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline abs_signed(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:147,1
    - Dst: constant_time_lt_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: abs_mod_prime
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 1
    functionsReached:
    - constant_time_lt_32
    - constant_time_select_32
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline abs_mod_prime(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:157,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_local.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: maximum
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_local.h
    functionUses: 2
    functionsReached:
    - constant_time_lt
    - constant_time_select_int
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline maximum(uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - m
    - polys
    - k
    - l
    argTypes:
    - MATRIX*
    - POLY*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: matrix_init
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline matrix_init(MATRIX *m, POLY *polys, size_t k, size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_matrix_mult_vector
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - s
    - t
    argTypes:
    - MATRIX*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: matrix_mult_vector
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.h
    functionUses: 2
    functionsReached:
    - ossl_ml_dsa_matrix_mult_vector
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline matrix_mult_vector(const MATRIX *a, const VECTOR *s, VECTOR
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_matrix_expand_A
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - g_ctx
    - md
    - rho
    - out
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - uint8_t*
    - MATRIX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: matrix_expand_A
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.h
    functionUses: 2
    functionsReached:
    - ossl_ml_dsa_matrix_expand_A
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline matrix_expand_A(EVP_MD_CTX *g_ctx, const EVP_MD *md, const
      uint8_t *rho,\n                MATRIX *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector_zero
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.c:29,1
    - Dst: ossl_ml_dsa_poly_ntt_mult
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.c:35,1
    - Dst: poly_add
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - a
    - s
    - t
    argTypes:
    - MATRIX*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: ossl_ml_dsa_matrix_mult_vector
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_matrix.c
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_poly_ntt_mult
    - vector_zero
    - poly_add
    linkageType: ''
    returnType: void
    signature: "void ossl_ml_dsa_matrix_mult_vector(const MATRIX *a, const VECTOR
      *s,\n                                    VECTOR *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:16,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:17,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - md
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: shake_xof
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h
    functionUses: 3
    functionsReached:
    - EVP_DigestSqueeze
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline shake_xof(EVP_MD_CTX *ctx, const EVP_MD *md, const uint8_t
      *in, size_t in_len,\n          uint8_t *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:25,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:26,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:27,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - md
    - in1
    - in1_len
    - in2
    - in2_len
    - out
    - out_len
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: shake_xof_2
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h
    functionUses: 0
    functionsReached:
    - EVP_DigestSqueeze
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline shake_xof_2(EVP_MD_CTX *ctx, const EVP_MD *md, const uint8_t
      *in1, size_t in1_len,\n            const uint8_t *in2, size_t in2_len, uint8_t
      *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:36,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:37,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:38,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:39,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 10
    argNames:
    - ctx
    - md
    - in1
    - in1_len
    - in2
    - in2_len
    - in3
    - in3_len
    - out
    - out_len
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: shake_xof_3
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_hash.h
    functionUses: 0
    functionsReached:
    - EVP_DigestSqueeze
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline shake_xof_3(EVP_MD_CTX *ctx, const EVP_MD *md, const uint8_t
      *in1, size_t in1_len,\n            const uint8_t *in2, size_t in2_len,\n            const
      uint8_t *in3, size_t in3_len, uint8_t *out, size_t out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - evp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: ossl_ml_dsa_params_get
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_params.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ML_DSA_PARAMS
    signature: ML_DSA_PARAMS *ossl_ml_dsa_params_get(int evp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: MOD5
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD5(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - uint8_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: coeff_from_three_bytes
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline coeff_from_three_bytes(const uint8_t *s, uint32_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:71,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nibble
    - out
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: coeff_from_nibble_4
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 0
    functionsReached:
    - value_barrier_32
    - mod_sub
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline coeff_from_nibble_4(uint32_t nibble, uint32_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:90,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:91,1
    - Dst: MOD5
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nibble
    - out
    argTypes:
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: coeff_from_nibble_2
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 0
    functionsReached:
    - value_barrier_32
    - mod_sub
    - MOD5
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline coeff_from_nibble_2(uint32_t nibble, uint32_t *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:126,1
    - Dst: coeff_from_three_bytes
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:131,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - g_ctx
    - md
    - seed
    - seed_len
    - out
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - uint8_t*
    - size_t
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 139
    functionName: rej_ntt_poly
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSqueeze
    - coeff_from_three_bytes
    - shake_xof
    linkageType: ''
    returnType: int
    signature: "int rej_ntt_poly(EVP_MD_CTX *g_ctx, const EVP_MD *md,\n                        const
      uint8_t *seed, size_t seed_len, POLY *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:167,1
    - Dst: coef_from_nibble
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:175,1
    - Dst: coef_from_nibble
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:178,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 6
    argNames:
    - h_ctx
    - md
    - coef_from_nibble
    - seed
    - seed_len
    - out
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - COEFF_FROM_NIBBLE_FUNC*
    - uint8_t*
    - size_t
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: rej_bounded_poly
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 0
    functionsReached:
    - coef_from_nibble
    - EVP_DigestSqueeze
    - shake_xof
    linkageType: ''
    returnType: int
    signature: "int rej_bounded_poly(EVP_MD_CTX *h_ctx, const EVP_MD *md,\n                            COEFF_FROM_NIBBLE_FUNC
      *coef_from_nibble,\n                            const uint8_t *seed, size_t
      seed_len, POLY *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:209,1
    - Dst: rej_ntt_poly
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - g_ctx
    - md
    - rho
    - out
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - uint8_t*
    - MATRIX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 223
    functionName: ossl_ml_dsa_matrix_expand_A
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 1
    functionsReached:
    - memcpy
    - rej_ntt_poly
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_matrix_expand_A(EVP_MD_CTX *g_ctx, const EVP_MD *md,\n
      \                               const uint8_t *rho, MATRIX *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:259,1
    - Dst: rej_bounded_poly
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:264,1
    - Dst: rej_bounded_poly
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - h_ctx
    - md
    - eta
    - seed
    - s1
    - s2
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - int
    - uint8_t*
    - VECTOR*
    - VECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 278
    functionName: ossl_ml_dsa_vector_expand_S
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 1
    functionsReached:
    - memcpy
    - rej_bounded_poly
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_vector_expand_S(EVP_MD_CTX *h_ctx, const EVP_MD *md,
      int eta,\n                                const uint8_t *seed, VECTOR *s1, VECTOR
      *s2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:288,1
    - Dst: ossl_ml_dsa_poly_decode_expand_mask
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 6
    argNames:
    - out
    - seed
    - seed_len
    - gamma1
    - h_ctx
    - md
    argTypes:
    - POLY*
    - uint8_t*
    - size_t
    - uint32_t
    - EVP_MD_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: ossl_ml_dsa_poly_expand_mask
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 1
    functionsReached:
    - ossl_ml_dsa_poly_decode_expand_mask
    - shake_xof
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_poly_expand_mask(POLY *out, const uint8_t *seed, size_t
      seed_len,\n                                 uint32_t gamma1,\n                                 EVP_MD_CTX
      *h_ctx, const EVP_MD *md)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shake_xof
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:319,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:326,1
    - Dst: poly_zero
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:328,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:338,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c:354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - out_c
    - seed
    - seed_len
    - h_ctx
    - md
    - tau
    argTypes:
    - POLY*
    - uint8_t*
    - int
    - EVP_MD_CTX*
    - EVP_MD*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 358
    functionName: ossl_ml_dsa_poly_sample_in_ball
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sample.c
    functionUses: 1
    functionsReached:
    - poly_zero
    - EVP_DigestSqueeze
    - mod_sub
    - shake_xof
    - OPENSSL_load_u64_le
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_poly_sample_in_ball(POLY *out_c, const uint8_t *seed,
      int seed_len,\n                                    EVP_MD_CTX *h_ctx, const
      EVP_MD *md,\n                                    uint32_t tau)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:42,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - sig
    - hint
    - k
    - z
    - l
    - c_tilde
    - c_tilde_len
    argTypes:
    - ML_DSA_SIG*
    - POLY*
    - uint32_t
    - POLY*
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: signature_init
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - vector_init
    linkageType: ''
    returnType: void
    signature: "void signature_init(ML_DSA_SIG *sig,\n                           POLY
      *hint, uint32_t k, POLY *z, uint32_t l,\n                           uint8_t
      *c_tilde, size_t c_tilde_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:78,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:83,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:86,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:96,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:99,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - key
    - encode
    - ctx
    - ctx_len
    argTypes:
    - ML_DSA_KEY*
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: ossl_ml_dsa_mu_init
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex2
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: "EVP_MD_CTX *ossl_ml_dsa_mu_init(const ML_DSA_KEY *key, int encode,\n
      \                               const uint8_t *ctx, size_t ctx_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - md_ctx
    - msg
    - msg_len
    argTypes:
    - EVP_MD_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ossl_ml_dsa_mu_update
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_mu_update(EVP_MD_CTX *md_ctx, const uint8_t *msg, size_t
      msg_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:135,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - md_ctx
    - mu
    - mu_len
    argTypes:
    - EVP_MD_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: ossl_ml_dsa_mu_finalize
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - EVP_DigestSqueeze
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_mu_finalize(EVP_MD_CTX *md_ctx, uint8_t *mu, size_t
      mu_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:181,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:193,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:196,1
    - Dst: matrix_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:204,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:206,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:207,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:208,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:209,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:210,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:212,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:213,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:214,1
    - Dst: signature_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:216,1
    - Dst: matrix_expand_A
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:219,1
    - Dst: shake_xof_3
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:222,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:227,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:228,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:229,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:230,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:231,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:232,1
    - Dst: vector_expand_mask
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:244,1
    - Dst: vector_copy
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:246,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:247,1
    - Dst: matrix_mult_vector
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:249,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:250,1
    - Dst: vector_high_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:252,1
    - Dst: ossl_ml_dsa_w1_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:253,1
    - Dst: shake_xof_2
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:255,1
    - Dst: poly_sample_in_ball_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:259,1
    - Dst: vector_mult_scalar
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:263,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:264,1
    - Dst: vector_mult_scalar
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:265,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:266,1
    - Dst: vector_add
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:268,1
    - Dst: vector_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:271,1
    - Dst: vector_low_bits
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:272,1
    - Dst: vector_max
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:278,1
    - Dst: vector_max_signed
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:279,1
    - Dst: value_barrier_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:280,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:280,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:281,1
    - Dst: vector_mult_scalar
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:284,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:285,1
    - Dst: vector_make_hint
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:286,1
    - Dst: vector_max
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:288,1
    - Dst: vector_count_ones
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:289,1
    - Dst: value_barrier_32
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:291,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:291,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:292,1
    - Dst: ossl_ml_dsa_sig_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:294,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:298,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:299,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:300,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 81
    argCount: 6
    argNames:
    - priv
    - mu
    - mu_len
    - rnd
    - rnd_len
    - out_sig
    argTypes:
    - ML_DSA_KEY*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 155
    functionDepth: 5
    functionLinenumber: 155
    functionLinenumberEnd: 302
    functionName: ml_dsa_sign_internal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_sig_encode
    - matrix_init
    - ERR_raise
    - vector_max_signed
    - vector_high_bits
    - shake_xof_3
    - poly_sample_in_ball_ntt
    - ossl_ml_dsa_w1_encode
    - vector_ntt
    - vector_max
    - vector_low_bits
    - vector_ntt_inverse
    - vector_sub
    - shake_xof_2
    - vector_add
    - vector_expand_mask
    - signature_init
    - OPENSSL_malloc
    - value_barrier_32
    - vector_copy
    - matrix_mult_vector
    - matrix_expand_A
    - constant_time_ge
    - OPENSSL_clear_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - vector_count_ones
    - vector_make_hint
    - vector_mult_scalar
    - vector_init
    - constant_time_lt
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_sign_internal(const ML_DSA_KEY *priv,\n                                const
      uint8_t *mu, size_t mu_len,\n                                const uint8_t *rnd,
      size_t rnd_len,\n                                uint8_t *out_sig)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:344,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:351,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:358,1
    - Dst: matrix_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:366,1
    - Dst: signature_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:368,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:370,1
    - Dst: vector_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:371,1
    - Dst: ossl_ml_dsa_sig_decode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:373,1
    - Dst: matrix_expand_A
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:374,1
    - Dst: poly_sample_in_ball_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:378,1
    - Dst: vector_scale_power2_round_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:383,1
    - Dst: vector_mult_scalar
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:384,1
    - Dst: vector_max
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:387,1
    - Dst: vector_ntt
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:391,1
    - Dst: matrix_mult_vector
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:392,1
    - Dst: vector_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:394,1
    - Dst: vector_ntt_inverse
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:395,1
    - Dst: vector_use_hint
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:399,1
    - Dst: ossl_ml_dsa_w1_encode
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:400,1
    - Dst: shake_xof_3
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:402,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:409,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 5
    argNames:
    - pub
    - mu
    - mu_len
    - sig_enc
    - sig_enc_len
    argTypes:
    - ML_DSA_KEY*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 412
    functionName: ml_dsa_verify_internal
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - matrix_init
    - ERR_raise
    - shake_xof_3
    - OPENSSL_free
    - poly_sample_in_ball_ntt
    - ossl_ml_dsa_w1_encode
    - vector_ntt
    - vector_max
    - ossl_ml_dsa_sig_decode
    - vector_ntt_inverse
    - vector_sub
    - signature_init
    - OPENSSL_malloc
    - vector_use_hint
    - matrix_mult_vector
    - matrix_expand_A
    - memcmp
    - vector_scale_power2_round_ntt
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - vector_mult_scalar
    - vector_init
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_verify_internal(const ML_DSA_KEY *pub,\n                                  const
      uint8_t *mu, size_t mu_len,\n                                  const uint8_t
      *sig_enc,\n                                  size_t sig_enc_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:431,1
    - Dst: ossl_ml_dsa_mu_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:447,1
    - Dst: ossl_ml_dsa_mu_update
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:451,1
    - Dst: ossl_ml_dsa_mu_finalize
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:454,1
    - Dst: ml_dsa_sign_internal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:458,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:461,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 12
    argNames:
    - priv
    - msg_is_mu
    - msg
    - msg_len
    - context
    - context_len
    - rand
    - rand_len
    - encode
    - sig
    - sig_len
    - sig_size
    argTypes:
    - ML_DSA_KEY*
    - int
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 419
    functionDepth: 6
    functionLinenumber: 419
    functionLinenumberEnd: 463
    functionName: ossl_ml_dsa_sign
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - ml_dsa_sign_internal
    - ossl_ml_dsa_mu_update
    - ossl_ml_dsa_mu_finalize
    - EVP_MD_CTX_free
    - ossl_ml_dsa_key_get_priv
    - ossl_ml_dsa_mu_init
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_sign(const ML_DSA_KEY *priv, int msg_is_mu,\n                     const
      uint8_t *msg, size_t msg_len,\n                     const uint8_t *context,
      size_t context_len,\n                     const uint8_t *rand, size_t rand_len,
      int encode,\n                     unsigned char *sig, size_t *sig_len, size_t
      sig_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:480,1
    - Dst: ossl_ml_dsa_mu_init
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:487,1
    - Dst: ossl_ml_dsa_mu_update
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:491,1
    - Dst: ossl_ml_dsa_mu_finalize
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:494,1
    - Dst: ml_dsa_verify_internal
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:498,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c:500,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 9
    argNames:
    - pub
    - msg_is_mu
    - msg
    - msg_len
    - context
    - context_len
    - encode
    - sig
    - sig_len
    argTypes:
    - ML_DSA_KEY*
    - int
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 469
    functionDepth: 6
    functionLinenumber: 469
    functionLinenumberEnd: 502
    functionName: ossl_ml_dsa_verify
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_sign.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_mu_update
    - ossl_ml_dsa_mu_finalize
    - ml_dsa_verify_internal
    - EVP_MD_CTX_free
    - ossl_ml_dsa_key_get_pub
    - ossl_ml_dsa_mu_init
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_verify(const ML_DSA_KEY *pub, int msg_is_mu,\n                       const
      uint8_t *msg, size_t msg_len,\n                       const uint8_t *context,
      size_t context_len, int encode,\n                       const uint8_t *sig,
      size_t sig_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: reduce_montgomery
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 0
    functionsReached:
    - reduce_once
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t reduce_montgomery(uint64_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_montgomery
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - out
    argTypes:
    - POLY*
    - POLY*
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: ossl_ml_dsa_poly_ntt_mult
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 2
    functionsReached:
    - reduce_montgomery
    linkageType: ''
    returnType: void
    signature: void ossl_ml_dsa_poly_ntt_mult(const POLY *lhs, const POLY *rhs, POLY
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_montgomery
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:145,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:148,1
    - Dst: mod_sub
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: ossl_ml_dsa_poly_ntt
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 2
    functionsReached:
    - reduce_once
    - reduce_montgomery
    - mod_sub
    linkageType: ''
    returnType: void
    signature: void ossl_ml_dsa_poly_ntt(POLY *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:187,1
    - Dst: reduce_montgomery
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:189,1
    - Dst: reduce_montgomery
      Src: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - POLY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 198
    functionName: ossl_ml_dsa_poly_ntt_inverse
    functionSourceFile: /src/openssl/crypto/ml_dsa/ml_dsa_ntt.c
    functionUses: 1
    functionsReached:
    - reduce_once
    - reduce_montgomery
    linkageType: ''
    returnType: void
    signature: void ossl_ml_dsa_poly_ntt_inverse(POLY *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _malloc32
      Src: /src/openssl/crypto/dso/dso_vms.c:33,1
    - Dst: ERR_new
      Src: /src/openssl/crypto/dso/dso_vms.c:35,1
    - Dst: ERR_set_debug
      Src: /src/openssl/crypto/dso/dso_vms.c:36,1
    - Dst: ERR_set_error
      Src: /src/openssl/crypto/dso/dso_vms.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - __size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: dso_malloc
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached:
    - ERR_set_error
    - _malloc32
    - ERR_set_debug
    - ERR_new
    linkageType: ''
    returnType: void
    signature: void *dso_malloc(__size_t num, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DSO_MALLOC
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSO_MALLOC(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD
    signature: DSO_METHOD *DSO_METHOD_openssl(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DSO_convert_filename
      Src: /src/openssl/crypto/dso/dso_vms.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_vms.c:125,1
    - Dst: strrchr
      Src: /src/openssl/crypto/dso/dso_vms.c:150,1
    - Dst: strrchr
      Src: /src/openssl/crypto/dso/dso_vms.c:151,1
    - Dst: strrchr
      Src: /src/openssl/crypto/dso/dso_vms.c:157,1
    - Dst: strchr
      Src: /src/openssl/crypto/dso/dso_vms.c:163,1
    - Dst: strchr
      Src: /src/openssl/crypto/dso/dso_vms.c:175,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_vms.c:183,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_vms.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_vms.c:188,1
    - Dst: DSO_MALLOC
      Src: /src/openssl/crypto/dso/dso_vms.c:192,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_vms.c:196,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_vms.c:199,1
    - Dst: strcat
      Src: /src/openssl/crypto/dso/dso_vms.c:202,1
    - Dst: strcat
      Src: /src/openssl/crypto/dso/dso_vms.c:206,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_vms.c:208,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_vms.c:212,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_vms.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_vms.c:218,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_vms.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_vms.c:228,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 230
    functionName: vms_load
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached:
    - DSO_MALLOC
    - strncpy
    - strchr
    - ERR_raise
    - sk_void_push
    - OPENSSL_free
    - strcat
    - DSO_convert_filename
    - strrchr
    - strlen
    linkageType: ''
    returnType: int
    signature: int vms_load(DSO *dso)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_vms.c:241,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_vms.c:244,1
    - Dst: sk_void_pop
      Src: /src/openssl/crypto/dso/dso_vms.c:246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_vms.c:248,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_vms.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: vms_unload
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_void_num
    - ERR_raise
    - sk_void_pop
    linkageType: ''
    returnType: int
    signature: int vms_unload(DSO *dso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lib$establish
      Src: /src/openssl/crypto/dso/dso_vms.c:269,1
    - Dst: lib$find_image_symbol
      Src: /src/openssl/crypto/dso/dso_vms.c:272,1
    - Dst: lib$find_image_symbol
      Src: /src/openssl/crypto/dso/dso_vms.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - symname_dsc
    - sym
    - flags
    argTypes:
    - DSO_VMS_INTERNAL*
    - struct dsc$descriptor_s*
    - void**
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: do_find_symbol
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached:
    - lib$find_image_symbol
    - lib$establish
    linkageType: ''
    returnType: int
    signature: "int do_find_symbol(DSO_VMS_INTERNAL *ptr,\n                          struct
      dsc$descriptor_s *symname_dsc, void **sym,\n                          unsigned
      long flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_vms.c:304,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_vms.c:310,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_vms.c:313,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_vms.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_vms.c:319,1
    - Dst: sk_void_value
      Src: /src/openssl/crypto/dso/dso_vms.c:322,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_vms.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_vms.c:325,1
    - Dst: do_find_symbol
      Src: /src/openssl/crypto/dso/dso_vms.c:329,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/openssl/crypto/dso/dso_vms.c:331,1
    - Dst: do_find_symbol
      Src: /src/openssl/crypto/dso/dso_vms.c:332,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/openssl/crypto/dso/dso_vms.c:334,1
    - Dst: sys$getmsg
      Src: /src/openssl/crypto/dso/dso_vms.c:346,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/openssl/crypto/dso/dso_vms.c:348,1
    - Dst: lib$signal
      Src: /src/openssl/crypto/dso/dso_vms.c:349,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_vms.c:354,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_vms.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - dso
    - symname
    - sym
    argTypes:
    - DSO*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 366
    functionName: vms_bind_sym
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached:
    - strcpy
    - ERR_raise
    - sk_void_num
    - ERR_raise_data
    - $VMS_STATUS_SUCCESS
    - lib$signal
    - do_find_symbol
    - sys$getmsg
    - strlen
    - sk_void_value
    linkageType: ''
    returnType: void
    signature: void vms_bind_sym(DSO *dso, const char *symname, void **sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vms_bind_sym
      Src: /src/openssl/crypto/dso/dso_vms.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: vms_bind_func
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached:
    - vms_bind_sym
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: DSO_FUNC_TYPE vms_bind_func(DSO *dso, const char *symname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_vms.c:405,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_vms.c:406,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_vms.c:412,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_vms.c:413,1
    - Dst: FAB_OR_NAML
      Src: /src/openssl/crypto/dso/dso_vms.c:419,1
    - Dst: FAB_OR_NAML
      Src: /src/openssl/crypto/dso/dso_vms.c:420,1
    - Dst: FAB_OR_NAML
      Src: /src/openssl/crypto/dso/dso_vms.c:421,1
    - Dst: FAB_OR_NAML
      Src: /src/openssl/crypto/dso/dso_vms.c:422,1
    - Dst: NAMX_DNA_FNA_SET
      Src: /src/openssl/crypto/dso/dso_vms.c:423,1
    - Dst: SET_NAMX_NO_SHORT_UPCASE
      Src: /src/openssl/crypto/dso/dso_vms.c:428,1
    - Dst: sys$parse
      Src: /src/openssl/crypto/dso/dso_vms.c:432,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/openssl/crypto/dso/dso_vms.c:434,1
    - Dst: sys$getmsg
      Src: /src/openssl/crypto/dso/dso_vms.c:444,1
    - Dst: $VMS_STATUS_SUCCESS
      Src: /src/openssl/crypto/dso/dso_vms.c:446,1
    - Dst: lib$signal
      Src: /src/openssl/crypto/dso/dso_vms.c:447,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_vms.c:451,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_vms.c:458,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_vms.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 464
    functionName: vms_merger
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached:
    - strncpy
    - strcpy
    - SET_NAMX_NO_SHORT_UPCASE
    - FAB_OR_NAML
    - ERR_raise_data
    - $VMS_STATUS_SUCCESS
    - lib$signal
    - NAMX_DNA_FNA_SET
    - sys$getmsg
    - strlen
    - sys$parse
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: "char *vms_merger(DSO *dso, const char *filespec1,\n                        const
      char *filespec2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_vms.c:472,1
    - Dst: strchr
      Src: /src/openssl/crypto/dso/dso_vms.c:474,1
    - Dst: strrchr
      Src: /src/openssl/crypto/dso/dso_vms.c:479,1
    - Dst: strrchr
      Src: /src/openssl/crypto/dso/dso_vms.c:479,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_vms.c:485,1
    - Dst: strrchr
      Src: /src/openssl/crypto/dso/dso_vms.c:486,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_vms.c:489,1
    - Dst: strcat
      Src: /src/openssl/crypto/dso/dso_vms.c:491,1
    - Dst: strcat
      Src: /src/openssl/crypto/dso/dso_vms.c:493,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_vms.c:496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 499
    functionName: vms_name_converter
    functionSourceFile: /src/openssl/crypto/dso/dso_vms.c
    functionUses: 0
    functionsReached:
    - strncpy
    - strchr
    - strcat
    - OPENSSL_strdup
    - strrchr
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *vms_name_converter(DSO *dso, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddressW
      Src: /src/openssl/crypto/dso/dso_win32.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - hModule
    - lpProcName
    argTypes:
    - HMODULE
    - LPCSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: GetProcAddressA
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - GetProcAddressW
    linkageType: ''
    returnType: FARPROC
    signature: FARPROC GetProcAddressA(HMODULE hModule, LPCSTR lpProcName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_win32.c:37,1
    - Dst: _alloca
      Src: /src/openssl/crypto/dso/dso_win32.c:40,1
    - Dst: alloca
      Src: /src/openssl/crypto/dso/dso_win32.c:42,1
    - Dst: SetLastError
      Src: /src/openssl/crypto/dso/dso_win32.c:45,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/crypto/dso/dso_win32.c:49,1
    - Dst: LoadLibraryW
      Src: /src/openssl/crypto/dso/dso_win32.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - lpLibFileName
    argTypes:
    - LPCSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: LoadLibraryA
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - SetLastError
    - _alloca
    - alloca
    - strlen
    - MultiByteToWideChar
    - LoadLibraryW
    linkageType: ''
    returnType: HINSTANCE
    signature: HINSTANCE LoadLibraryA(LPCSTR lpLibFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD
    signature: DSO_METHOD *DSO_METHOD_openssl(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DSO_convert_filename
      Src: /src/openssl/crypto/dso/dso_win32.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:103,1
    - Dst: LoadLibraryA
      Src: /src/openssl/crypto/dso/dso_win32.c:106,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:108,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_win32.c:112,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_win32.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:126,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 130
    functionName: win32_load
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ERR_raise_data
    - sk_void_push
    - LoadLibraryA
    - OPENSSL_free
    - DSO_convert_filename
    - FreeLibrary
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int win32_load(DSO *dso)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:136,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_win32.c:139,1
    - Dst: sk_void_pop
      Src: /src/openssl/crypto/dso/dso_win32.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:143,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:147,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_win32.c:151,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: win32_unload
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_void_num
    - sk_void_push
    - OPENSSL_free
    - FreeLibrary
    - sk_void_pop
    linkageType: ''
    returnType: int
    signature: int win32_unload(DSO *dso)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:168,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_win32.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:172,1
    - Dst: sk_void_value
      Src: /src/openssl/crypto/dso/dso_win32.c:175,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_win32.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:177,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:180,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_win32.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: win32_bind_func
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_void_num
    - ERR_raise_data
    - GetProcAddress
    - sk_void_value
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: DSO_FUNC_TYPE win32_bind_func(DSO *dso, const char *symname)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:210,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dso/dso_win32.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:234,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 3
    argNames:
    - dso
    - filename
    - assume_last_is_dir
    argTypes:
    - DSO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 297
    functionName: win32_splitter
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - ERR_raise
    linkageType: ''
    returnType: struct file_st
    signature: "struct file_st *win32_splitter(DSO *dso, const char *filename,\n                                      int
      assume_last_is_dir)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:327,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_win32.c:331,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_win32.c:336,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:338,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:345,1
    - Dst: openssl_strnchr
      Src: /src/openssl/crypto/dso/dso_win32.c:352,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:358,1
    - Dst: openssl_strnchr
      Src: /src/openssl/crypto/dso/dso_win32.c:366,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:371,1
    - Dst: strncpy
      Src: /src/openssl/crypto/dso/dso_win32.c:377,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 2
    argNames:
    - dso
    - file_split
    argTypes:
    - DSO*
    - struct file_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 381
    functionName: win32_joiner
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - strncpy
    - strcpy
    - ERR_raise
    - openssl_strnchr
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *win32_joiner(DSO *dso, const struct file_st *file_split)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:391,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_win32.c:395,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_win32.c:399,1
    - Dst: win32_splitter
      Src: /src/openssl/crypto/dso/dso_win32.c:403,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:405,1
    - Dst: win32_splitter
      Src: /src/openssl/crypto/dso/dso_win32.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:410,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:411,1
    - Dst: win32_joiner
      Src: /src/openssl/crypto/dso/dso_win32.c:435,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_win32.c:438,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 440
    functionName: win32_merger
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - win32_joiner
    - ERR_raise
    - win32_splitter
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: "char *win32_merger(DSO *dso, const char *filespec1,\n                          const
      char *filespec2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/openssl/crypto/dso/dso_win32.c:447,1
    - Dst: strstr
      Src: /src/openssl/crypto/dso/dso_win32.c:448,1
    - Dst: strstr
      Src: /src/openssl/crypto/dso/dso_win32.c:449,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_win32.c:452,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_win32.c:454,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_win32.c:455,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:457,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_win32.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 462
    functionName: win32_name_converter
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - strstr
    - BIO_snprintf
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *win32_name_converter(DSO *dso, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - string
    - c
    - len
    argTypes:
    - char*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: openssl_strnchr
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *openssl_strnchr(const char *string, int c, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:508,1
    - Dst: TEXT
      Src: /src/openssl/crypto/dso/dso_win32.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:510,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:515,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:518,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:524,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:528,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:529,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:537,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:538,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:546,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:547,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:556,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/dso/dso_win32.c:559,1
    - Dst: wcslen
      Src: /src/openssl/crypto/dso/dso_win32.c:563,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_win32.c:576,1
    - Dst: memcpy
      Src: /src/openssl/crypto/dso/dso_win32.c:581,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:590,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 592
    functionName: win32_pathbyaddr
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - LoadLibrary
    - ERR_raise
    - WideCharToMultiByte
    - memcpy
    - FreeLibrary
    - GetProcAddress
    - TEXT
    - strlen
    - wcslen
    linkageType: ''
    returnType: int
    signature: int win32_pathbyaddr(void *addr, char *path, int sz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:607,1
    - Dst: TEXT
      Src: /src/openssl/crypto/dso/dso_win32.c:607,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:609,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:614,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:616,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:617,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:623,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:627,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:628,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:632,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_win32.c:633,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:641,1
    - Dst: GetProcAddress
      Src: /src/openssl/crypto/dso/dso_win32.c:646,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:648,1
    - Dst: FreeLibrary
      Src: /src/openssl/crypto/dso/dso_win32.c:654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 656
    functionName: win32_globallookup
    functionSourceFile: /src/openssl/crypto/dso/dso_win32.c
    functionUses: 0
    functionsReached:
    - LoadLibrary
    - ERR_raise
    - FreeLibrary
    - GetProcAddress
    - TEXT
    linkageType: ''
    returnType: void
    signature: void *win32_globallookup(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/openssl/crypto/dso/dso_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD
    signature: DSO_METHOD *DSO_METHOD_openssl(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dso/dso_lib.c:17,1
    - Dst: sk_void_new_null
      Src: /src/openssl/crypto/dso/dso_lib.c:20,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:23,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_lib.c:24,1
    - Dst: DSO_METHOD_openssl
      Src: /src/openssl/crypto/dso/dso_lib.c:27,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/dso/dso_lib.c:28,1
    - Dst: sk_void_free
      Src: /src/openssl/crypto/dso/dso_lib.c:29,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_lib.c:30,1
    - Dst: DSO*::meth::init
      Src: /src/openssl/crypto/dso/dso_lib.c:34,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/dso/dso_lib.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - meth
    argTypes:
    - DSO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 40
    functionName: DSO_new_method
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ERR_raise
    - DSO_free
    - sk_void_free
    - DSO_METHOD_openssl
    - OPENSSL_free
    - DSO*::meth::init
    - sk_void_new_null
    linkageType: ''
    returnType: DSO
    signature: DSO *DSO_new_method(DSO_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_new_method
      Src: /src/openssl/crypto/dso/dso_lib.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: DSO_new
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 1
    functionsReached:
    - DSO_new_method
    linkageType: ''
    returnType: DSO
    signature: DSO *DSO_new(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/dso/dso_lib.c:54,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dso/dso_lib.c:57,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dso/dso_lib.c:60,1
    - Dst: DSO*::meth::dso_unload
      Src: /src/openssl/crypto/dso/dso_lib.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:64,1
    - Dst: DSO*::meth::finish
      Src: /src/openssl/crypto/dso/dso_lib.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:70,1
    - Dst: sk_void_free
      Src: /src/openssl/crypto/dso/dso_lib.c:74,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_lib.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_lib.c:76,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/dso/dso_lib.c:77,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_lib.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: DSO_free
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 5
    functionsReached:
    - DSO*::meth::dso_unload
    - REF_PRINT_COUNT
    - ERR_raise
    - sk_void_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - DSO*::meth::finish
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: int
    signature: int DSO_free(DSO *dso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: DSO_flags
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DSO_flags(DSO *dso)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:92,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/dso/dso_lib.c:96,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dso/dso_lib.c:99,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dso/dso_lib.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: DSO_up_ref
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int DSO_up_ref(DSO *dso)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DSO_new_method
      Src: /src/openssl/crypto/dso/dso_lib.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:112,1
    - Dst: DSO_ctrl
      Src: /src/openssl/crypto/dso/dso_lib.c:117,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:125,1
    - Dst: DSO_set_filename
      Src: /src/openssl/crypto/dso/dso_lib.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:139,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:143,1
    - Dst: DSO*::meth::dso_load
      Src: /src/openssl/crypto/dso/dso_lib.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:147,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/dso/dso_lib.c:154,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - dso
    - filename
    - meth
    - flags
    argTypes:
    - DSO*
    - char*
    - DSO_METHOD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 156
    functionName: DSO_load
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 1
    functionsReached:
    - DSO_ctrl
    - ERR_raise
    - DSO_new_method
    - DSO_free
    - DSO_set_filename
    - DSO*::meth::dso_load
    linkageType: ''
    returnType: DSO
    signature: DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int
      flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:167,1
    - Dst: DSO*::meth::dso_bind_func
      Src: /src/openssl/crypto/dso/dso_lib.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: DSO_bind_func
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - DSO*::meth::dso_bind_func
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:210,1
    - Dst: DSO*::meth::dso_ctrl
      Src: /src/openssl/crypto/dso/dso_lib.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - dso
    - cmd
    - larg
    - parg
    argTypes:
    - DSO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 214
    functionName: DSO_ctrl
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 2
    functionsReached:
    - DSO*::meth::dso_ctrl
    - ERR_raise
    linkageType: ''
    returnType: long
    signature: long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: DSO_get_filename
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: char
    signature: char *DSO_get_filename(DSO *dso)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:234,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_lib.c:238,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_lib.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: DSO_set_filename
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int DSO_set_filename(DSO *dso, const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:251,1
    - Dst: DSO*::merger
      Src: /src/openssl/crypto/dso/dso_lib.c:256,1
    - Dst: DSO*::meth::dso_merger
      Src: /src/openssl/crypto/dso/dso_lib.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: DSO_merge
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 1
    functionsReached:
    - DSO*::meth::dso_merger
    - DSO*::merger
    - ERR_raise
    linkageType: ''
    returnType: char
    signature: char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:274,1
    - Dst: DSO*::name_converter
      Src: /src/openssl/crypto/dso/dso_lib.c:279,1
    - Dst: DSO*::meth::dso_name_converter
      Src: /src/openssl/crypto/dso/dso_lib.c:281,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_lib.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 289
    functionName: DSO_convert_filename
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 3
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    - DSO*::name_converter
    - DSO*::meth::dso_name_converter
    linkageType: ''
    returnType: char
    signature: char *DSO_convert_filename(DSO *dso, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSO_METHOD_openssl
      Src: /src/openssl/crypto/dso/dso_lib.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: DSO_pathbyaddr
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - DSO_METHOD_openssl
    linkageType: ''
    returnType: int
    signature: int DSO_pathbyaddr(void *addr, char *path, int sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSO_pathbyaddr
      Src: /src/openssl/crypto/dso/dso_lib.c:306,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_lib.c:311,1
    - Dst: DSO_pathbyaddr
      Src: /src/openssl/crypto/dso/dso_lib.c:313,1
    - Dst: DSO_load
      Src: /src/openssl/crypto/dso/dso_lib.c:314,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_lib.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: DSO_dsobyaddr
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - DSO_pathbyaddr
    - OPENSSL_malloc
    - DSO_load
    linkageType: ''
    returnType: DSO
    signature: DSO *DSO_dsobyaddr(void *addr, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSO_METHOD_openssl
      Src: /src/openssl/crypto/dso/dso_lib.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_lib.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: DSO_global_lookup
    functionSourceFile: /src/openssl/crypto/dso/dso_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - DSO_METHOD_openssl
    linkageType: ''
    returnType: void
    signature: void *DSO_global_lookup(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD
    signature: DSO_METHOD *DSO_METHOD_openssl(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DSO_convert_filename
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:100,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:105,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:113,1
    - Dst: dlopen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:116,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:118,1
    - Dst: dlerror
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:119,1
    - Dst: set_sys_error
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:126,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:136,1
    - Dst: dlclose
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 140
    functionName: dlfcn_load
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - dlclose
    - dlerror
    - ERR_raise_data
    - sk_void_push
    - OPENSSL_free
    - get_last_sys_error
    - DSO_convert_filename
    - dlopen
    - strlen
    - set_sys_error
    linkageType: ''
    returnType: int
    signature: int dlfcn_load(DSO *dso)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:146,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:149,1
    - Dst: sk_void_pop
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:151,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:153,1
    - Dst: sk_void_push
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:157,1
    - Dst: dlclose
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: dlfcn_unload
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - dlclose
    - sk_void_num
    - sk_void_push
    - sk_void_pop
    linkageType: ''
    returnType: int
    signature: int dlfcn_unload(DSO *dso)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:174,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:178,1
    - Dst: sk_void_value
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:181,1
    - Dst: sk_void_num
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:183,1
    - Dst: dlsym
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:186,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:188,1
    - Dst: dlerror
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 193
    functionName: dlfcn_bind_func
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_void_num
    - dlerror
    - ERR_raise_data
    - dlsym
    - sk_void_value
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:201,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:209,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:217,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:230,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:231,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:237,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:240,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 245
    functionName: dlfcn_merger
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - strcpy
    - ERR_raise
    - OPENSSL_strdup
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: "char *dlfcn_merger(DSO *dso, const char *filespec1,\n                          const
      char *filespec2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:252,1
    - Dst: strchr
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:254,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:257,1
    - Dst: DSO_flags
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:258,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:263,1
    - Dst: DSO_flags
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:267,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:268,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:270,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 275
    functionName: dlfcn_name_converter
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - strchr
    - ERR_raise
    - BIO_snprintf
    - DSO_flags
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *dlfcn_name_converter(DSO *dso, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _rld_new_interface
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - address
    - dl
    argTypes:
    - void*
    - Dl_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: dladdr
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - _rld_new_interface
    linkageType: ''
    returnType: int
    signature: int dladdr(void *address, Dl_info *dl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:340,1
    - Dst: loadquery
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:346,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:353,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:370,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:372,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:375,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:376,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:383,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:384,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:385,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:396,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - ptr
    - dl
    argTypes:
    - void*
    - Dl_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 398
    functionName: dladdr
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - loadquery
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - OPENSSL_free
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int dladdr(void *ptr, Dl_info *dl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:417,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:421,1
    - Dst: memcpy
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:427,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:430,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:435,1
    - Dst: dlerror
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 438
    functionName: dlfcn_pathbyaddr
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ERR_add_error_data
    - dlerror
    - OPENSSL_free
    - dladdr
    - strlen
    linkageType: ''
    returnType: int
    signature: int dlfcn_pathbyaddr(void *addr, char *path, int sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:442,1
    - Dst: dlsym
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:445,1
    - Dst: dlclose
      Src: /src/openssl/crypto/dso/dso_dlfcn.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: dlfcn_globallookup
    functionSourceFile: /src/openssl/crypto/dso/dso_dlfcn.c
    functionUses: 0
    functionsReached:
    - dlclose
    - dlsym
    - dlopen
    linkageType: ''
    returnType: void
    signature: void *dlfcn_globallookup(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/dso/dso_err.c:52,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/dso/dso_err.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ossl_err_load_DSO_strings
    functionSourceFile: /src/openssl/crypto/dso/dso_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_DSO_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: DSO_METHOD_openssl
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: DSO_METHOD
    signature: DSO_METHOD *DSO_METHOD_openssl(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DSO_convert_filename
      Src: /src/openssl/crypto/dso/dso_dl.c:61,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:64,1
    - Dst: shl_load
      Src: /src/openssl/crypto/dso/dso_dl.c:67,1
    - Dst: openssl_strerror_r
      Src: /src/openssl/crypto/dso/dso_dl.c:73,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dl.c:74,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dl.c:77,1
    - Dst: sk_push
      Src: /src/openssl/crypto/dso/dso_dl.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:82,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dso/dso_dl.c:93,1
    - Dst: shl_unload
      Src: /src/openssl/crypto/dso/dso_dl.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 97
    functionName: dl_load
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - openssl_strerror_r
    - ERR_raise
    - shl_load
    - sk_push
    - ERR_raise_data
    - OPENSSL_free
    - DSO_convert_filename
    - shl_unload
    linkageType: ''
    returnType: int
    signature: int dl_load(DSO *dso)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:103,1
    - Dst: sk_num
      Src: /src/openssl/crypto/dso/dso_dl.c:106,1
    - Dst: sk_pop
      Src: /src/openssl/crypto/dso/dso_dl.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:111,1
    - Dst: sk_push
      Src: /src/openssl/crypto/dso/dso_dl.c:115,1
    - Dst: shl_unload
      Src: /src/openssl/crypto/dso/dso_dl.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dso
    argTypes:
    - DSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: dl_unload
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_pop
    - sk_push
    - sk_num
    - shl_unload
    linkageType: ''
    returnType: int
    signature: int dl_unload(DSO *dso)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:128,1
    - Dst: sk_num
      Src: /src/openssl/crypto/dso/dso_dl.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:132,1
    - Dst: sk_value
      Src: /src/openssl/crypto/dso/dso_dl.c:135,1
    - Dst: sk_num
      Src: /src/openssl/crypto/dso/dso_dl.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:137,1
    - Dst: shl_findsym
      Src: /src/openssl/crypto/dso/dso_dl.c:140,1
    - Dst: openssl_strerror_r
      Src: /src/openssl/crypto/dso/dso_dl.c:143,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dl.c:144,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/dso/dso_dl.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - dso
    - symname
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 152
    functionName: dl_bind_func
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - openssl_strerror_r
    - ERR_raise
    - sk_value
    - sk_num
    - ERR_raise_data
    - shl_findsym
    linkageType: ''
    returnType: DSO_FUNC_TYPE
    signature: DSO_FUNC_TYPE dl_bind_func(DSO *dso, const char *symname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:159,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_dl.c:167,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dso/dso_dl.c:175,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dl.c:189,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dl.c:190,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dl.c:196,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_dl.c:199,1
    - Dst: strcpy
      Src: /src/openssl/crypto/dso/dso_dl.c:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - dso
    - filespec1
    - filespec2
    argTypes:
    - DSO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 204
    functionName: dl_merger
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - ERR_raise
    - OPENSSL_strdup
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *dl_merger(DSO *dso, const char *filespec1, const char *filespec2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dl.c:218,1
    - Dst: strchr
      Src: /src/openssl/crypto/dso/dso_dl.c:220,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dl.c:223,1
    - Dst: DSO_flags
      Src: /src/openssl/crypto/dso/dso_dl.c:224,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dso/dso_dl.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dso/dso_dl.c:229,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dl.c:233,1
    - Dst: DSO_flags
      Src: /src/openssl/crypto/dso/dso_dl.c:234,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/dso/dso_dl.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - dso
    - filename
    argTypes:
    - DSO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: dl_name_converter
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - strchr
    - ERR_raise
    - BIO_snprintf
    - DSO_flags
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *dl_name_converter(DSO *dso, const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shl_get_r
      Src: /src/openssl/crypto/dso/dso_dl.c:256,1
    - Dst: strlen
      Src: /src/openssl/crypto/dso/dso_dl.c:259,1
    - Dst: memcpy
      Src: /src/openssl/crypto/dso/dso_dl.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - addr
    - path
    - sz
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 271
    functionName: dl_pathbyaddr
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - shl_get_r
    linkageType: ''
    returnType: int
    signature: int dl_pathbyaddr(void *addr, char *path, int sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shl_findsym
      Src: /src/openssl/crypto/dso/dso_dl.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: dl_globallookup
    functionSourceFile: /src/openssl/crypto/dso/dso_dl.c
    functionUses: 0
    functionsReached:
    - shl_findsym
    linkageType: ''
    returnType: void
    signature: void *dl_globallookup(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_new_method
      Src: /src/openssl/crypto/ui/ui_lib.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: UI_new
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 2
    functionsReached:
    - UI_new_method
    linkageType: ''
    returnType: UI
    signature: UI *UI_new(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ui/ui_lib.c:25,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/ui/ui_lib.c:30,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:32,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:33,1
    - Dst: UI_get_default_method
      Src: /src/openssl/crypto/ui/ui_lib.c:38,1
    - Dst: UI_null
      Src: /src/openssl/crypto/ui/ui_lib.c:40,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/ui/ui_lib.c:43,1
    - Dst: UI_free
      Src: /src/openssl/crypto/ui/ui_lib.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - method
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: UI_new_method
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - UI_free
    - ERR_raise
    - CRYPTO_new_ex_data
    - UI_get_default_method
    - UI_null
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: UI
    signature: UI *UI_new_method(const UI_METHOD *method)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:53,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:56,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:57,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:58,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: free_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_string(UI_STRING *uis)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UI*::meth::ui_destroy_data
      Src: /src/openssl/crypto/ui/ui_lib.c:76,1
    - Dst: sk_UI_STRING_pop_free
      Src: /src/openssl/crypto/ui/ui_lib.c:78,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/ui/ui_lib.c:79,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/ui/ui_lib.c:80,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: UI_free
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 3
    functionsReached:
    - sk_UI_STRING_pop_free
    - CRYPTO_THREAD_lock_free
    - UI*::meth::ui_destroy_data
    - CRYPTO_free_ex_data
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void UI_free(UI *ui)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_UI_STRING_new_null
      Src: /src/openssl/crypto/ui/ui_lib.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: allocate_string_stack
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - sk_UI_STRING_new_null
    linkageType: ''
    returnType: int
    signature: int allocate_string_stack(UI *ui)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:106,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ui/ui_lib.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - ui
    - prompt
    - prompt_freeable
    - type
    - input_flags
    - result_buf
    argTypes:
    - UI*
    - char*
    - int
    - enum UI_string_types
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: general_allocate_prompt
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    linkageType: ''
    returnType: UI_STRING
    signature: "UI_STRING *general_allocate_prompt(UI *ui, const char *prompt,\n                                          int
      prompt_freeable,\n                                          enum UI_string_types
      type,\n                                          int input_flags, char *result_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_prompt
      Src: /src/openssl/crypto/ui/ui_lib.c:124,1
    - Dst: allocate_string_stack
      Src: /src/openssl/crypto/ui/ui_lib.c:128,1
    - Dst: sk_UI_STRING_push
      Src: /src/openssl/crypto/ui/ui_lib.c:132,1
    - Dst: free_string
      Src: /src/openssl/crypto/ui/ui_lib.c:136,1
    - Dst: free_string
      Src: /src/openssl/crypto/ui/ui_lib.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 9
    argNames:
    - ui
    - prompt
    - prompt_freeable
    - type
    - input_flags
    - result_buf
    - minsize
    - maxsize
    - test_buf
    argTypes:
    - UI*
    - char*
    - int
    - enum UI_string_types
    - int
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: general_allocate_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - sk_UI_STRING_push
    - free_string
    - general_allocate_prompt
    - allocate_string_stack
    linkageType: ''
    returnType: int
    signature: "int general_allocate_string(UI *ui, const char *prompt,\n                                   int
      prompt_freeable,\n                                   enum UI_string_types type,
      int input_flags,\n                                   char *result_buf, int minsize,
      int maxsize,\n                                   const char *test_buf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:160,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_lib.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:164,1
    - Dst: general_allocate_prompt
      Src: /src/openssl/crypto/ui/ui_lib.c:168,1
    - Dst: allocate_string_stack
      Src: /src/openssl/crypto/ui/ui_lib.c:172,1
    - Dst: sk_UI_STRING_push
      Src: /src/openssl/crypto/ui/ui_lib.c:176,1
    - Dst: free_string
      Src: /src/openssl/crypto/ui/ui_lib.c:182,1
    - Dst: free_string
      Src: /src/openssl/crypto/ui/ui_lib.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 9
    argNames:
    - ui
    - prompt
    - action_desc
    - ok_chars
    - cancel_chars
    - prompt_freeable
    - type
    - input_flags
    - result_buf
    argTypes:
    - UI*
    - char*
    - char*
    - char*
    - char*
    - int
    - enum UI_string_types
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 189
    functionName: general_allocate_boolean
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - strchr
    - ERR_raise
    - general_allocate_prompt
    - allocate_string_stack
    - sk_UI_STRING_push
    - free_string
    linkageType: ''
    returnType: int
    signature: "int general_allocate_boolean(UI *ui,\n                                    const
      char *prompt,\n                                    const char *action_desc,\n
      \                                   const char *ok_chars,\n                                    const
      char *cancel_chars,\n                                    int prompt_freeable,\n
      \                                   enum UI_string_types type,\n                                    int
      input_flags, char *result_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ui
    - prompt
    - flags
    - result_buf
    - minsize
    - maxsize
    argTypes:
    - UI*
    - char*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: UI_add_input_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 2
    functionsReached:
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: "int UI_add_input_string(UI *ui, const char *prompt, int flags,\n                        char
      *result_buf, int minsize, int maxsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:211,1
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:216,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - ui
    - prompt
    - flags
    - result_buf
    - minsize
    - maxsize
    argTypes:
    - UI*
    - char*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: UI_dup_input_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: "int UI_dup_input_string(UI *ui, const char *prompt, int flags,\n                        char
      *result_buf, int minsize, int maxsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ui
    - prompt
    - flags
    - result_buf
    - minsize
    - maxsize
    - test_buf
    argTypes:
    - UI*
    - char*
    - int
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: UI_add_verify_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: "int UI_add_verify_string(UI *ui, const char *prompt, int flags,\n
      \                        char *result_buf, int minsize, int maxsize,\n                         const
      char *test_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:242,1
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - ui
    - prompt
    - flags
    - result_buf
    - minsize
    - maxsize
    - test_buf
    argTypes:
    - UI*
    - char*
    - int
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: UI_dup_verify_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: "int UI_dup_verify_string(UI *ui, const char *prompt, int flags,\n
      \                        char *result_buf, int minsize, int maxsize,\n                         const
      char *test_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_boolean
      Src: /src/openssl/crypto/ui/ui_lib.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ui
    - prompt
    - action_desc
    - ok_chars
    - cancel_chars
    - flags
    - result_buf
    argTypes:
    - UI*
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: UI_add_input_boolean
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - general_allocate_boolean
    linkageType: ''
    returnType: int
    signature: "int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc,\n
      \                        const char *ok_chars, const char *cancel_chars,\n                         int
      flags, char *result_buf)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:275,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:281,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:287,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:293,1
    - Dst: general_allocate_boolean
      Src: /src/openssl/crypto/ui/ui_lib.c:298,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:310,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 7
    argNames:
    - ui
    - prompt
    - action_desc
    - ok_chars
    - cancel_chars
    - flags
    - result_buf
    argTypes:
    - UI*
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 312
    functionName: UI_dup_input_boolean
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - general_allocate_boolean
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: "int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc,\n
      \                        const char *ok_chars, const char *cancel_chars,\n                         int
      flags, char *result_buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: UI_add_info_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: int UI_add_info_string(UI *ui, const char *text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:326,1
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 336
    functionName: UI_dup_info_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: int UI_dup_info_string(UI *ui, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: UI_add_error_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: int UI_add_error_string(UI *ui, const char *text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:350,1
    - Dst: general_allocate_string
      Src: /src/openssl/crypto/ui/ui_lib.c:355,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - text
    argTypes:
    - UI*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: UI_dup_error_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    - general_allocate_string
    linkageType: ''
    returnType: int
    signature: int UI_dup_error_string(UI *ui, const char *text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UI*::meth::ui_construct_prompt
      Src: /src/openssl/crypto/ui/ui_lib.c:368,1
    - Dst: strlen
      Src: /src/openssl/crypto/ui/ui_lib.c:377,1
    - Dst: strlen
      Src: /src/openssl/crypto/ui/ui_lib.c:379,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ui/ui_lib.c:382,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/ui/ui_lib.c:384,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/ui/ui_lib.c:385,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/ui/ui_lib.c:387,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/ui/ui_lib.c:388,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/ui/ui_lib.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ui
    - phrase_desc
    - object_name
    argTypes:
    - UI*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 393
    functionName: UI_construct_prompt
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - UI*::meth::ui_construct_prompt
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: "char *UI_construct_prompt(UI *ui, const char *phrase_desc,\n                          const
      char *object_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI*::meth::ui_destroy_data
      Src: /src/openssl/crypto/ui/ui_lib.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ui
    - user_data
    argTypes:
    - UI*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 406
    functionName: UI_add_user_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 2
    functionsReached:
    - UI*::meth::ui_destroy_data
    linkageType: ''
    returnType: void
    signature: void *UI_add_user_data(UI *ui, void *user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:414,1
    - Dst: UI*::meth::ui_duplicate_data
      Src: /src/openssl/crypto/ui/ui_lib.c:418,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:420,1
    - Dst: UI_add_user_data
      Src: /src/openssl/crypto/ui/ui_lib.c:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ui
    - user_data
    argTypes:
    - UI*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 428
    functionName: UI_dup_user_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - UI_add_user_data
    - ERR_raise
    - UI*::meth::ui_duplicate_data
    linkageType: ''
    returnType: int
    signature: int UI_dup_user_data(UI *ui, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: UI_get0_user_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *UI_get0_user_data(UI *ui)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:438,1
    - Dst: sk_UI_STRING_num
      Src: /src/openssl/crypto/ui/ui_lib.c:441,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:442,1
    - Dst: UI_get0_result_string
      Src: /src/openssl/crypto/ui/ui_lib.c:445,1
    - Dst: sk_UI_STRING_value
      Src: /src/openssl/crypto/ui/ui_lib.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - i
    argTypes:
    - UI*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 446
    functionName: UI_get0_result
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - sk_UI_STRING_num
    - sk_UI_STRING_value
    - ERR_raise
    - UI_get0_result_string
    linkageType: ''
    returnType: char
    signature: char *UI_get0_result(UI *ui, int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:451,1
    - Dst: sk_UI_STRING_num
      Src: /src/openssl/crypto/ui/ui_lib.c:454,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:455,1
    - Dst: UI_get_result_string_length
      Src: /src/openssl/crypto/ui/ui_lib.c:458,1
    - Dst: sk_UI_STRING_value
      Src: /src/openssl/crypto/ui/ui_lib.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ui
    - i
    argTypes:
    - UI*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: UI_get_result_length
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - sk_UI_STRING_num
    - UI_get_result_string_length
    - sk_UI_STRING_value
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int UI_get_result_length(UI *ui, int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ui/ui_lib.c:465,1
    - Dst: UI*::meth::ui_write_string
      Src: /src/openssl/crypto/ui/ui_lib.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - str
    - len
    - ui
    argTypes:
    - char*
    - size_t
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: print_error
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - UI*::meth::ui_write_string
    - memset
    linkageType: ''
    returnType: int
    signature: int print_error(const char *str, size_t len, UI *ui)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: UI*::meth::ui_open_session
      Src: /src/openssl/crypto/ui/ui_lib.c:481,1
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/crypto/ui/ui_lib.c:488,1
    - Dst: sk_UI_STRING_num
      Src: /src/openssl/crypto/ui/ui_lib.c:491,1
    - Dst: UI*::meth::ui_write_string
      Src: /src/openssl/crypto/ui/ui_lib.c:493,1
    - Dst: sk_UI_STRING_value
      Src: /src/openssl/crypto/ui/ui_lib.c:494,1
    - Dst: UI*::meth::ui_flush
      Src: /src/openssl/crypto/ui/ui_lib.c:504,1
    - Dst: sk_UI_STRING_num
      Src: /src/openssl/crypto/ui/ui_lib.c:518,1
    - Dst: UI*::meth::ui_read_string
      Src: /src/openssl/crypto/ui/ui_lib.c:520,1
    - Dst: sk_UI_STRING_value
      Src: /src/openssl/crypto/ui/ui_lib.c:521,1
    - Dst: UI*::meth::ui_close_session
      Src: /src/openssl/crypto/ui/ui_lib.c:545,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_lib.c:552,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 554
    functionName: UI_process
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 2
    functionsReached:
    - UI*::meth::ui_close_session
    - sk_UI_STRING_value
    - UI*::meth::ui_open_session
    - UI*::meth::ui_write_string
    - ERR_raise_data
    - sk_UI_STRING_num
    - UI*::meth::ui_flush
    - UI*::meth::ui_read_string
    - ERR_print_errors_cb
    linkageType: ''
    returnType: int
    signature: int UI_process(UI *ui)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ui
    - cmd
    - i
    - p
    argTypes:
    - UI*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 579
    functionName: UI_ctrl
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f) (void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/ui/ui_lib.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - idx
    - arg
    argTypes:
    - UI*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: UI_set_ex_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int UI_set_ex_data(UI *r, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ui/ui_lib.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - idx
    argTypes:
    - UI*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: UI_get_ex_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *UI_get_ex_data(const UI *r, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: UI_get_method
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *UI_get_method(UI *ui)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ui
    - meth
    argTypes:
    - UI*
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 600
    functionName: UI_set_method
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ui/ui_lib.c:606,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ui/ui_lib.c:607,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/ui/ui_lib.c:608,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:617,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:618,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 602
    functionDepth: 3
    functionLinenumber: 602
    functionLinenumberEnd: 624
    functionName: UI_create_method
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - CRYPTO_new_ex_data
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *UI_create_method(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/ui/ui_lib.c:635,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:637,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_lib.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ui_method
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 640
    functionName: UI_destroy_method
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free_ex_data
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void UI_destroy_method(UI_METHOD *ui_method)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - method
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 649
    functionName: UI_method_set_opener
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UI_method_set_opener(UI_METHOD *method, int (*opener) (UI *ui))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - method
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: UI_method_set_writer
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int UI_method_set_writer(UI_METHOD *method,\n                         int
      (*writer) (UI *ui, UI_STRING *uis))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - method
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 668
    functionName: UI_method_set_flusher
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UI_method_set_flusher(UI_METHOD *method, int (*flusher) (UI *ui))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - method
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 678
    functionName: UI_method_set_reader
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int UI_method_set_reader(UI_METHOD *method,\n                         int
      (*reader) (UI *ui, UI_STRING *uis))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - method
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: UI_method_set_closer
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UI_method_set_closer(UI_METHOD *method, int (*closer) (UI *ui))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - method
    - (*duplicator) (UI *ui, void *ui_data)
    argTypes:
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 699
    functionName: UI_method_set_data_duplicator
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int UI_method_set_data_duplicator(UI_METHOD *method,\n                                  void
      *(*duplicator) (UI *ui, void *ui_data),\n                                  void
      (*destructor)(UI *ui, void *ui_data))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - method
    - "(*prompt_constructor) (UI *ui,\n                                                                  const
      char *,\n                                                                  const
      char *)"
    argTypes:
    - UI_METHOD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 711
    functionName: UI_method_set_prompt_constructor
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int UI_method_set_prompt_constructor(UI_METHOD *method,\n                                     char
      *(*prompt_constructor) (UI *ui,\n                                                                  const
      char *,\n                                                                  const
      char *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/ui/ui_lib.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - idx
    - data
    argTypes:
    - UI_METHOD*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 716
    functionName: UI_method_set_ex_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int UI_method_set_ex_data(UI_METHOD *method, int idx, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 723
    functionName: (*UI_method_get_opener(const UI_METHOD *method)) (UI *)
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*UI_method_get_opener(const UI_METHOD *method)) (UI *)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: (*UI_method_get_writer(const UI_METHOD *method)) (UI *, UI_STRING
      *)
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*UI_method_get_writer(const UI_METHOD *method)) (UI *, UI_STRING
      *)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 737
    functionName: (*UI_method_get_flusher(const UI_METHOD *method)) (UI *)
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*UI_method_get_flusher(const UI_METHOD *method)) (UI *)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: (*UI_method_get_reader(const UI_METHOD *method)) (UI *, UI_STRING
      *)
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*UI_method_get_reader(const UI_METHOD *method)) (UI *, UI_STRING
      *)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 751
    functionName: (*UI_method_get_closer(const UI_METHOD *method)) (UI *)
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*UI_method_get_closer(const UI_METHOD *method)) (UI *)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 759
    functionName: "*(*UI_method_get_prompt_constructor(const UI_METHOD *method))\n
      \   (UI *, const char *, const char *)"
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *(*UI_method_get_prompt_constructor(const UI_METHOD *method))\n
      \   (UI *, const char *, const char *)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 766
    functionName: '*(*UI_method_get_data_duplicator(const UI_METHOD *method)) (UI
      *, void *)'
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(*UI_method_get_data_duplicator(const UI_METHOD *method)) (UI
      *, void *)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 773
    functionName: (*UI_method_get_data_destructor(const UI_METHOD *method)) (UI *,
      void *)
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (*UI_method_get_data_destructor(const UI_METHOD *method)) (UI
      *, void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ui/ui_lib.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - idx
    argTypes:
    - UI_METHOD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: UI_method_get_ex_data
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *UI_method_get_ex_data(const UI_METHOD *method, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: UI_get_string_type
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum UI_string_types
    signature: enum UI_string_types UI_get_string_type(UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 788
    functionName: UI_get_input_flags
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UI_get_input_flags(UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: UI_get0_output_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *UI_get0_output_string(UI_STRING *uis)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 808
    functionName: UI_get0_action_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *UI_get0_action_string(UI_STRING *uis)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 823
    functionName: UI_get0_result_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *UI_get0_result_string(UI_STRING *uis)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 838
    functionName: UI_get_result_string_length
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UI_get_result_string_length(UI_STRING *uis)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 853
    functionName: UI_get0_test_string
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *UI_get0_test_string(UI_STRING *uis)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 868
    functionName: UI_get_result_minsize
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UI_get_result_minsize(UI_STRING *uis)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - uis
    argTypes:
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 883
    functionName: UI_get_result_maxsize
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int UI_get_result_maxsize(UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_set_result_ex
      Src: /src/openssl/crypto/ui/ui_lib.c:887,1
    - Dst: strlen
      Src: /src/openssl/crypto/ui/ui_lib.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ui
    - uis
    - result
    argTypes:
    - UI*
    - UI_STRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 888
    functionName: UI_set_result
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 0
    functionsReached:
    - strlen
    - UI_set_result_ex
    linkageType: ''
    returnType: int
    signature: int UI_set_result(UI *ui, UI_STRING *uis, const char *result)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_lib.c:899,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_lib.c:907,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:915,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ui/ui_lib.c:919,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ui/ui_lib.c:929,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_lib.c:935,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_lib.c:939,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - ui
    - uis
    - result
    - len
    argTypes:
    - UI*
    - UI_STRING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 951
    functionName: UI_set_result_ex
    functionSourceFile: /src/openssl/crypto/ui/ui_lib.c
    functionUses: 1
    functionsReached:
    - memcpy
    - strchr
    - ERR_raise
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int UI_set_result_ex(UI *ui, UI_STRING *uis, const char *result, int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_UTIL_read_pw
      Src: /src/openssl/crypto/ui/ui_util.c:26,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ui/ui_util.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - length
    - prompt
    - verify
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: UI_UTIL_read_pw_string
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached:
    - UI_UTIL_read_pw
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int UI_UTIL_read_pw_string(char *buf, int length, const char *prompt,\n
      \                          int verify)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UI_new
      Src: /src/openssl/crypto/ui/ui_util.c:41,1
    - Dst: UI_add_input_string
      Src: /src/openssl/crypto/ui/ui_util.c:43,1
    - Dst: UI_add_verify_string
      Src: /src/openssl/crypto/ui/ui_util.c:45,1
    - Dst: UI_process
      Src: /src/openssl/crypto/ui/ui_util.c:47,1
    - Dst: UI_free
      Src: /src/openssl/crypto/ui/ui_util.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - buf
    - buff
    - size
    - prompt
    - verify
    argTypes:
    - char*
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: UI_UTIL_read_pw
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 1
    functionsReached:
    - UI_free
    - UI_process
    - UI_new
    - UI_add_input_string
    - UI_add_verify_string
    linkageType: ''
    returnType: int
    signature: "int UI_UTIL_read_pw(char *buf, char *buff, int size, const char *prompt,\n
      \                   int verify)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: ui_new_method_data
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ui_new_method_data(void *parent, void *ptr, CRYPTO_EX_DATA *ad,\n
      \                              int idx, long argl, void *argp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ui/ui_util.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - to
    - from
    - pptr
    - idx
    - argl
    - argp
    argTypes:
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    - void**
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: ui_dup_method_data
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int ui_dup_method_data(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from,\n
      \                             void **pptr, int idx, long argl, void *argp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_util.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: ui_free_method_data
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: "void ui_free_method_data(void *parent, void *ptr, CRYPTO_EX_DATA *ad,\n
      \                               int idx, long argl, void *argp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_new_index
      Src: /src/openssl/crypto/ui/ui_util.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_new_index
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ui_method_data_index_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: ui_open
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ui_open(UI *ui)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/openssl/crypto/ui/ui_util.c:105,1
    - Dst: UI_method_get_ex_data
      Src: /src/openssl/crypto/ui/ui_util.c:111,1
    - Dst: UI_get_method
      Src: /src/openssl/crypto/ui/ui_util.c:111,1
    - Dst: UI_get_result_maxsize
      Src: /src/openssl/crypto/ui/ui_util.c:112,1
    - Dst: struct pem_password_cb_data*::cb
      Src: /src/openssl/crypto/ui/ui_util.c:116,1
    - Dst: UI_get0_user_data
      Src: /src/openssl/crypto/ui/ui_util.c:117,1
    - Dst: UI_set_result_ex
      Src: /src/openssl/crypto/ui/ui_util.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: ui_read
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached:
    - UI_get_result_maxsize
    - UI_get0_user_data
    - struct pem_password_cb_data*::cb
    - UI_get_method
    - UI_get_string_type
    - UI_method_get_ex_data
    - UI_set_result_ex
    linkageType: ''
    returnType: int
    signature: int ui_read(UI *ui, UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: ui_write
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ui_write(UI *ui, UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: ui_close
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ui_close(UI *ui)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ui/ui_util.c:151,1
    - Dst: UI_create_method
      Src: /src/openssl/crypto/ui/ui_util.c:152,1
    - Dst: UI_method_set_opener
      Src: /src/openssl/crypto/ui/ui_util.c:153,1
    - Dst: UI_method_set_reader
      Src: /src/openssl/crypto/ui/ui_util.c:154,1
    - Dst: UI_method_set_writer
      Src: /src/openssl/crypto/ui/ui_util.c:155,1
    - Dst: UI_method_set_closer
      Src: /src/openssl/crypto/ui/ui_util.c:156,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/ui/ui_util.c:157,1
    - Dst: UI_method_set_ex_data
      Src: /src/openssl/crypto/ui/ui_util.c:158,1
    - Dst: UI_destroy_method
      Src: /src/openssl/crypto/ui/ui_util.c:159,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ui/ui_util.c:160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - cb
    - rwflag
    argTypes:
    - pem_password_cb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: UI_UTIL_wrap_read_pem_callback
    functionSourceFile: /src/openssl/crypto/ui/ui_util.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - RUN_ONCE
    - UI_method_set_ex_data
    - UI_method_set_opener
    - UI_method_set_closer
    - UI_method_set_reader
    - UI_method_set_writer
    - UI_create_method
    - UI_destroy_method
    - OPENSSL_free
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *UI_UTIL_wrap_read_pem_callback(pem_password_cb *cb, int
      rwflag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/ui/ui_err.c:43,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/ui/ui_err.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: ossl_err_load_UI_strings
    functionSourceFile: /src/openssl/crypto/ui/ui_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_UI_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tty
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: TTY_get
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTY_get(tty,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tty
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: TTY_set
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTY_set(tty,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tty
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: TTY_get
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTY_get(tty,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tty
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: TTY_set
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTY_set(tty,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tty
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: TTY_get
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTY_get(tty,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tty
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: TTY_set
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTY_set(tty,data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/openssl/crypto/ui/ui_openssl.c:205,1
    - Dst: fputs
      Src: /src/openssl/crypto/ui/ui_openssl.c:208,1
    - Dst: UI_get0_output_string
      Src: /src/openssl/crypto/ui/ui_openssl.c:208,1
    - Dst: fflush
      Src: /src/openssl/crypto/ui/ui_openssl.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: write_string
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 2
    functionsReached:
    - fflush
    - UI_get_string_type
    - fputs
    - UI_get0_output_string
    linkageType: ''
    returnType: int
    signature: int write_string(UI *ui, UI_STRING *uis)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/openssl/crypto/ui/ui_openssl.c:224,1
    - Dst: fputs
      Src: /src/openssl/crypto/ui/ui_openssl.c:226,1
    - Dst: UI_get0_output_string
      Src: /src/openssl/crypto/ui/ui_openssl.c:226,1
    - Dst: fputs
      Src: /src/openssl/crypto/ui/ui_openssl.c:227,1
    - Dst: UI_get0_action_string
      Src: /src/openssl/crypto/ui/ui_openssl.c:227,1
    - Dst: fflush
      Src: /src/openssl/crypto/ui/ui_openssl.c:228,1
    - Dst: read_string_inner
      Src: /src/openssl/crypto/ui/ui_openssl.c:229,1
    - Dst: UI_get_input_flags
      Src: /src/openssl/crypto/ui/ui_openssl.c:230,1
    - Dst: fputs
      Src: /src/openssl/crypto/ui/ui_openssl.c:233,1
    - Dst: UI_get0_output_string
      Src: /src/openssl/crypto/ui/ui_openssl.c:233,1
    - Dst: fflush
      Src: /src/openssl/crypto/ui/ui_openssl.c:234,1
    - Dst: read_string_inner
      Src: /src/openssl/crypto/ui/ui_openssl.c:235,1
    - Dst: UI_get_input_flags
      Src: /src/openssl/crypto/ui/ui_openssl.c:236,1
    - Dst: fprintf
      Src: /src/openssl/crypto/ui/ui_openssl.c:239,1
    - Dst: UI_get0_output_string
      Src: /src/openssl/crypto/ui/ui_openssl.c:239,1
    - Dst: fflush
      Src: /src/openssl/crypto/ui/ui_openssl.c:240,1
    - Dst: read_string_inner
      Src: /src/openssl/crypto/ui/ui_openssl.c:241,1
    - Dst: UI_get_input_flags
      Src: /src/openssl/crypto/ui/ui_openssl.c:242,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ui/ui_openssl.c:245,1
    - Dst: UI_get0_result_string
      Src: /src/openssl/crypto/ui/ui_openssl.c:245,1
    - Dst: UI_get0_test_string
      Src: /src/openssl/crypto/ui/ui_openssl.c:245,1
    - Dst: fprintf
      Src: /src/openssl/crypto/ui/ui_openssl.c:246,1
    - Dst: fflush
      Src: /src/openssl/crypto/ui/ui_openssl.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 257
    functionName: read_string
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 2
    functionsReached:
    - UI_get_input_flags
    - UI_get0_test_string
    - fputs
    - UI_get0_output_string
    - UI_get0_result_string
    - strcmp
    - read_string_inner
    - UI_get_string_type
    - fprintf
    - UI_get0_action_string
    - fflush
    linkageType: ''
    returnType: int
    signature: int read_string(UI *ui, UI_STRING *uis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/openssl/crypto/ui/ui_openssl.c:267,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_openssl.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: read_till_nl
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached:
    - strchr
    - fgets
    linkageType: ''
    returnType: int
    signature: int read_till_nl(FILE *in)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: pushsig
      Src: /src/openssl/crypto/ui/ui_openssl.c:290,1
    - Dst: noecho_console
      Src: /src/openssl/crypto/ui/ui_openssl.c:293,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/ui/ui_openssl.c:302,1
    - Dst: ReadConsoleW
      Src: /src/openssl/crypto/ui/ui_openssl.c:305,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:305,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/ui/ui_openssl.c:314,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ui/ui_openssl.c:318,1
    - Dst: ReadConsoleA
      Src: /src/openssl/crypto/ui/ui_openssl.c:322,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:322,1
    - Dst: noecho_fgets
      Src: /src/openssl/crypto/ui/ui_openssl.c:335,1
    - Dst: fgets
      Src: /src/openssl/crypto/ui/ui_openssl.c:339,1
    - Dst: feof
      Src: /src/openssl/crypto/ui/ui_openssl.c:342,1
    - Dst: ferror
      Src: /src/openssl/crypto/ui/ui_openssl.c:344,1
    - Dst: strchr
      Src: /src/openssl/crypto/ui/ui_openssl.c:346,1
    - Dst: read_till_nl
      Src: /src/openssl/crypto/ui/ui_openssl.c:349,1
    - Dst: UI_set_result
      Src: /src/openssl/crypto/ui/ui_openssl.c:351,1
    - Dst: fprintf
      Src: /src/openssl/crypto/ui/ui_openssl.c:358,1
    - Dst: echo_console
      Src: /src/openssl/crypto/ui/ui_openssl.c:359,1
    - Dst: popsig
      Src: /src/openssl/crypto/ui/ui_openssl.c:363,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ui/ui_openssl.c:368,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 69
    argCount: 4
    argNames:
    - ui
    - uis
    - echo
    - strip_nl
    argTypes:
    - UI*
    - UI_STRING*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 370
    functionName: read_string_inner
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - feof
    - strchr
    - noecho_fgets
    - fgets
    - noecho_console
    - GetEnvironmentVariableW
    - WideCharToMultiByte
    - ferror
    - GetStdHandle
    - read_till_nl
    - popsig
    - UI_set_result
    - pushsig
    - fprintf
    - echo_console
    - ReadConsoleA
    - OPENSSL_cleanse
    - ReadConsoleW
    linkageType: ''
    returnType: int
    signature: int read_string_inner(UI *ui, UI_STRING *uis, int echo, int strip_nl)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/ui/ui_openssl.c:375,1
    - Dst: fopen
      Src: /src/openssl/crypto/ui/ui_openssl.c:383,1
    - Dst: GetConsoleMode
      Src: /src/openssl/crypto/ui/ui_openssl.c:386,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:386,1
    - Dst: fopen
      Src: /src/openssl/crypto/ui/ui_openssl.c:390,1
    - Dst: fopen
      Src: /src/openssl/crypto/ui/ui_openssl.c:399,1
    - Dst: fopen
      Src: /src/openssl/crypto/ui/ui_openssl.c:401,1
    - Dst: TTY_get
      Src: /src/openssl/crypto/ui/ui_openssl.c:406,1
    - Dst: fileno
      Src: /src/openssl/crypto/ui/ui_openssl.c:406,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:459,1
    - Dst: sys$assign
      Src: /src/openssl/crypto/ui/ui_openssl.c:466,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:470,1
    - Dst: sys$qiow
      Src: /src/openssl/crypto/ui/ui_openssl.c:475,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 483
    functionName: open_console
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached:
    - fileno
    - GetStdHandle
    - fopen
    - CRYPTO_THREAD_write_lock
    - ERR_raise_data
    - sys$qiow
    - GetConsoleMode
    - sys$assign
    - TTY_get
    linkageType: ''
    returnType: int
    signature: int open_console(UI *ui)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ui/ui_openssl.c:488,1
    - Dst: TTY_set
      Src: /src/openssl/crypto/ui/ui_openssl.c:493,1
    - Dst: fileno
      Src: /src/openssl/crypto/ui/ui_openssl.c:493,1
    - Dst: sys$qiow
      Src: /src/openssl/crypto/ui/ui_openssl.c:501,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:504,1
    - Dst: SetConsoleMode
      Src: /src/openssl/crypto/ui/ui_openssl.c:515,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 519
    functionName: noecho_console
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - fileno
    - memcpy
    - GetStdHandle
    - ERR_raise_data
    - sys$qiow
    - SetConsoleMode
    - TTY_set
    linkageType: ''
    returnType: int
    signature: int noecho_console(UI *ui)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ui/ui_openssl.c:524,1
    - Dst: TTY_set
      Src: /src/openssl/crypto/ui/ui_openssl.c:525,1
    - Dst: fileno
      Src: /src/openssl/crypto/ui/ui_openssl.c:525,1
    - Dst: sys$qiow
      Src: /src/openssl/crypto/ui/ui_openssl.c:533,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:536,1
    - Dst: SetConsoleMode
      Src: /src/openssl/crypto/ui/ui_openssl.c:546,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 550
    functionName: echo_console
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - fileno
    - memcpy
    - GetStdHandle
    - ERR_raise_data
    - sys$qiow
    - SetConsoleMode
    - TTY_set
    linkageType: ''
    returnType: int
    signature: int echo_console(UI *ui)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/openssl/crypto/ui/ui_openssl.c:557,1
    - Dst: fclose
      Src: /src/openssl/crypto/ui/ui_openssl.c:559,1
    - Dst: sys$dassgn
      Src: /src/openssl/crypto/ui/ui_openssl.c:561,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ui/ui_openssl.c:563,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/ui/ui_openssl.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 571
    functionName: close_console
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached:
    - fclose
    - CRYPTO_THREAD_unlock
    - ERR_raise_data
    - sys$dassgn
    linkageType: ''
    returnType: int
    signature: int close_console(UI *ui)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ui/ui_openssl.c:583,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:588,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:589,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:590,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:591,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:592,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:593,1
    - Dst: sigaction
      Src: /src/openssl/crypto/ui/ui_openssl.c:609,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:611,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 619
    functionName: pushsig
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - sigaction
    - memset
    - signal
    linkageType: ''
    returnType: void
    signature: void pushsig(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:624,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:625,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:626,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:627,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:628,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:629,1
    - Dst: sigaction
      Src: /src/openssl/crypto/ui/ui_openssl.c:642,1
    - Dst: signal
      Src: /src/openssl/crypto/ui/ui_openssl.c:644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 648
    functionName: popsig
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - sigaction
    - signal
    linkageType: ''
    returnType: void
    signature: void popsig(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: recsig
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void recsig(int i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _getch
      Src: /src/openssl/crypto/ui/ui_openssl.c:671,1
    - Dst: getch
      Src: /src/openssl/crypto/ui/ui_openssl.c:673,1
    - Dst: GetStdHandle
      Src: /src/openssl/crypto/ui/ui_openssl.c:692,1
    - Dst: FlushConsoleInputBuffer
      Src: /src/openssl/crypto/ui/ui_openssl.c:693,1
    - Dst: strlen
      Src: /src/openssl/crypto/ui/ui_openssl.c:696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - size
    - tty
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 697
    functionName: noecho_fgets
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached:
    - _getch
    - GetStdHandle
    - getch
    - strlen
    - FlushConsoleInputBuffer
    linkageType: ''
    returnType: int
    signature: int noecho_fgets(char *buf, int size, FILE *tty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: UI_OpenSSL
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *UI_OpenSSL(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: UI_set_default_method
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UI_set_default_method(const UI_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: UI_get_default_method
    functionSourceFile: /src/openssl/crypto/ui/ui_openssl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *UI_get_default_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: UI_null
    functionSourceFile: /src/openssl/crypto/ui/ui_null.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *UI_null(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_field
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:49,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: ec_field_size
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - EC_GROUP_get0_field
    linkageType: ''
    returnType: int
    signature: int ec_field_size(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - msglen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: is_all_zeros
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_all_zeros(const unsigned char *msg, size_t msglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_SM2_Ciphertext
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:77,1
    - Dst: SM2_Ciphertext_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ct
    - ct_size
    - pt_size
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: ossl_sm2_plaintext_size
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached:
    - d2i_SM2_Ciphertext
    - ERR_raise
    - SM2_Ciphertext_free
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_plaintext_size(const unsigned char *ct, size_t ct_size,\n
      \                           size_t *pt_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_field_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:90,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:90,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:91,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:98,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:99,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:100,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - key
    - digest
    - msg_len
    - ct_size
    argTypes:
    - EC_KEY*
    - EVP_MD*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: ossl_sm2_ciphertext_size
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached:
    - ec_field_size
    - EC_KEY_get0_group
    - EVP_MD_get_size
    - ASN1_object_size
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_ciphertext_size(const EC_KEY *key, const EVP_MD *digest,\n
      \                            size_t msg_len, size_t *ct_size)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:120,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:122,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:123,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:124,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:131,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:133,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:146,1
    - Dst: ec_field_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:152,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:156,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:159,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:164,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:168,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:169,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:170,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:171,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:172,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:176,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:180,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:181,1
    - Dst: memset
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:186,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:188,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:194,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:198,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:199,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:200,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:202,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:206,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:208,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:215,1
    - Dst: is_all_zeros
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:219,1
    - Dst: memset
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:220,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:227,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:229,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:232,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:233,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:234,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:235,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:236,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:237,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:243,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:247,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:250,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:251,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:252,1
    - Dst: i2d_SM2_Ciphertext
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:259,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:267,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:268,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:269,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:270,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:271,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:272,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:273,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:274,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:275,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:276,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 128
    argCount: 6
    argNames:
    - key
    - digest
    - msg
    - msg_len
    - ciphertext_buf
    - ciphertext_len
    argTypes:
    - EC_KEY*
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 278
    functionName: ossl_sm2_encrypt
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EVP_MD_free
    - ERR_raise
    - EVP_DigestUpdate
    - EC_POINT_mul
    - ASN1_OCTET_STRING_set
    - OPENSSL_free
    - ASN1_OCTET_STRING_free
    - EC_POINT_get_affine_coordinates
    - EC_KEY_get0_public_key
    - ossl_ec_key_get0_propq
    - BN_CTX_new_ex
    - is_all_zeros
    - OPENSSL_zalloc
    - ossl_ec_key_get_libctx
    - ec_field_size
    - BN_CTX_free
    - ASN1_OCTET_STRING_new
    - EC_GROUP_get0_order
    - i2d_SM2_Ciphertext
    - ossl_ecdh_kdf_X9_63
    - EVP_DigestFinal
    - EVP_MD_get0_name
    - BN_priv_rand_range_ex
    - EVP_MD_fetch
    - EC_POINT_new
    - BN_bn2binpad
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - EVP_DigestInit
    - EVP_MD_get_size
    - OPENSSL_calloc
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_encrypt(const EC_KEY *key,\n                     const
      EVP_MD *digest,\n                     const uint8_t *msg, size_t msg_len,\n
      \                    uint8_t *ciphertext_buf, size_t *ciphertext_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:288,1
    - Dst: ec_field_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:295,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:296,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:302,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:303,1
    - Dst: memset
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:308,1
    - Dst: d2i_SM2_Ciphertext
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:313,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:326,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:332,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:336,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:337,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:341,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:345,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:346,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:347,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:354,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:358,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:360,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:360,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:363,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:367,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:368,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:369,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:371,1
    - Dst: is_all_zeros
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:375,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:376,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:383,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:385,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:389,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:390,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:391,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:392,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:393,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:394,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:398,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:399,1
    - Dst: memset
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:408,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:410,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:411,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:412,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:413,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:414,1
    - Dst: SM2_Ciphertext_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:415,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_crypt.c:416,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 97
    argCount: 6
    argNames:
    - key
    - digest
    - ciphertext
    - ciphertext_len
    - ptext_buf
    - ptext_len
    argTypes:
    - EC_KEY*
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 419
    functionName: ossl_sm2_decrypt
    functionSourceFile: /src/openssl/crypto/sm2/sm2_crypt.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EVP_DigestUpdate
    - EC_POINT_mul
    - CRYPTO_memcmp
    - OPENSSL_free
    - EC_POINT_get_affine_coordinates
    - d2i_SM2_Ciphertext
    - ossl_ec_key_get0_propq
    - BN_CTX_new_ex
    - is_all_zeros
    - OPENSSL_zalloc
    - EC_POINT_set_affine_coordinates
    - ossl_ec_key_get_libctx
    - ec_field_size
    - BN_CTX_free
    - ossl_ecdh_kdf_X9_63
    - EVP_DigestFinal
    - SM2_Ciphertext_free
    - EC_POINT_new
    - BN_bn2binpad
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - EVP_DigestInit
    - EVP_MD_get_size
    - OPENSSL_calloc
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EC_KEY_get0_private_key
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_decrypt(const EC_KEY *key,\n                     const
      EVP_MD *digest,\n                     const uint8_t *ciphertext, size_t ciphertext_len,\n
      \                    uint8_t *ptext_buf, size_t *ptext_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/sm2/sm2_err.c:43,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/sm2/sm2_err.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: ossl_err_load_SM2_strings
    functionSourceFile: /src/openssl/crypto/sm2/sm2_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_SM2_strings(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_sign.c:30,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/sm2/sm2_sign.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:48,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:52,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:54,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_sign.c:57,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_sign.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:59,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:63,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:64,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:65,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:66,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:67,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:68,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:72,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/sm2/sm2_sign.c:76,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:85,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:93,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:98,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:103,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/sm2/sm2_sign.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:108,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/sm2/sm2_sign.c:112,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_sign.c:113,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:117,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:118,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:119,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:120,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_sign.c:121,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/sm2/sm2_sign.c:122,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:124,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:125,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:126,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:127,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_sign.c:128,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:131,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:132,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/sm2/sm2_sign.c:133,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:134,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/sm2/sm2_sign.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:143,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:144,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:145,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 80
    argCount: 5
    argNames:
    - out
    - digest
    - id
    - id_len
    - key
    argTypes:
    - uint8_t*
    - EVP_MD*
    - uint8_t*
    - size_t
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 147
    functionName: ossl_sm2_compute_z_digest
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_DigestUpdate
    - BN_num_bytes
    - OPENSSL_free
    - EC_POINT_get_affine_coordinates
    - EC_KEY_get0_public_key
    - EC_GROUP_get0_generator
    - BN_CTX_new_ex
    - OPENSSL_zalloc
    - ossl_ec_key_get_libctx
    - BN_CTX_free
    - EVP_DigestFinal
    - BN_bn2binpad
    - BN_CTX_get
    - EVP_DigestInit
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EC_KEY_get0_group
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_compute_z_digest(uint8_t *out,\n                              const
      EVP_MD *digest,\n                              const uint8_t *id,\n                              const
      size_t id_len,\n                              const EC_KEY *key)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:155,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/sm2/sm2_sign.c:156,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_sign.c:160,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/crypto/sm2/sm2_sign.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:168,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/sm2/sm2_sign.c:172,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/sm2/sm2_sign.c:176,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/sm2/sm2_sign.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:178,1
    - Dst: ossl_sm2_compute_z_digest
      Src: /src/openssl/crypto/sm2/sm2_sign.c:182,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/sm2/sm2_sign.c:187,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:188,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/sm2/sm2_sign.c:189,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/sm2/sm2_sign.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:192,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/sm2/sm2_sign.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:198,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:202,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:203,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 6
    argNames:
    - digest
    - key
    - id
    - id_len
    - msg
    - msg_len
    argTypes:
    - EVP_MD*
    - EC_KEY*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 205
    functionName: sm2_compute_msg_hash
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_DigestFinal
    - ERR_raise
    - EVP_MD_free
    - EVP_DigestUpdate
    - EVP_DigestInit
    - EVP_MD_get_size
    - ossl_ec_key_get_libctx
    - EVP_MD_CTX_new
    - EVP_MD_get0_name
    - BN_bin2bn
    - OPENSSL_free
    - EVP_MD_CTX_free
    - ossl_sm2_compute_z_digest
    - EVP_MD_fetch
    - ossl_ec_key_get0_propq
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *sm2_compute_msg_hash(const EVP_MD *digest,\n                                    const
      EC_KEY *key,\n                                    const uint8_t *id,\n                                    const
      size_t id_len,\n                                    const uint8_t *msg, size_t
      msg_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/sm2/sm2_sign.c:209,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_sign.c:210,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/sm2/sm2_sign.c:211,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_sign.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:224,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:229,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_sign.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:234,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/sm2/sm2_sign.c:238,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:239,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:240,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:241,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:244,1
    - Dst: BN_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:252,1
    - Dst: BN_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:256,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/sm2/sm2_sign.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:271,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/sm2/sm2_sign.c:275,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_sign.c:276,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:279,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/sm2/sm2_sign.c:284,1
    - Dst: BN_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:287,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:288,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:292,1
    - Dst: BN_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:295,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/sm2/sm2_sign.c:295,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/openssl/crypto/sm2/sm2_sign.c:296,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/sm2/sm2_sign.c:297,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/sm2/sm2_sign.c:298,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/sm2/sm2_sign.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:300,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/sm2/sm2_sign.c:305,1
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:310,1
    - Dst: ECDSA_SIG_set0
      Src: /src/openssl/crypto/sm2/sm2_sign.c:315,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:321,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:322,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:325,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:326,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 80
    argCount: 2
    argNames:
    - key
    - e
    argTypes:
    - EC_KEY*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 328
    functionName: sm2_sig_gen
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_POINT_mul
    - BN_is_zero
    - ossl_ec_group_do_inverse_ord
    - BN_add
    - EC_POINT_get_affine_coordinates
    - BN_CTX_new_ex
    - BN_mod_mul
    - ossl_ec_key_get_libctx
    - BN_cmp
    - BN_CTX_free
    - BN_new
    - ECDSA_SIG_new
    - BN_free
    - EC_GROUP_get0_order
    - BN_priv_rand_range_ex
    - BN_sub
    - EC_POINT_new
    - BN_CTX_get
    - BN_CTX_start
    - BN_value_one
    - EC_KEY_get0_private_key
    - ECDSA_SIG_set0
    - EC_KEY_get0_group
    - BN_mod_add
    linkageType: ''
    returnType: ECDSA_SIG
    signature: ECDSA_SIG *sm2_sig_gen(const EC_KEY *key, const BIGNUM *e)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_sign.c:334,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/sm2/sm2_sign.c:335,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/sm2/sm2_sign.c:342,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/sm2/sm2_sign.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:346,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/sm2/sm2_sign.c:349,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:350,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/sm2/sm2_sign.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:353,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:359,1
    - Dst: ECDSA_SIG_get0
      Src: /src/openssl/crypto/sm2/sm2_sign.c:373,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:375,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/sm2/sm2_sign.c:375,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:376,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/sm2/sm2_sign.c:376,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:377,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:378,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:379,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:383,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:384,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/sm2/sm2_sign.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:389,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/sm2/sm2_sign.c:393,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/sm2/sm2_sign.c:393,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/sm2/sm2_sign.c:394,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:395,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/sm2/sm2_sign.c:399,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:400,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:404,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/sm2/sm2_sign.c:408,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:409,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:410,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - key
    - sig
    - e
    argTypes:
    - EC_KEY*
    - ECDSA_SIG*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 412
    functionName: sm2_sig_verify
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_POINT_mul
    - BN_is_zero
    - ECDSA_SIG_get0
    - EC_POINT_get_affine_coordinates
    - EC_KEY_get0_public_key
    - BN_CTX_new_ex
    - BN_CTX_end
    - ossl_ec_key_get_libctx
    - BN_cmp
    - BN_CTX_free
    - EC_GROUP_get0_order
    - EC_POINT_new
    - BN_CTX_get
    - BN_CTX_start
    - BN_value_one
    - EC_KEY_get0_group
    - BN_mod_add
    linkageType: ''
    returnType: int
    signature: "int sm2_sig_verify(const EC_KEY *key, const ECDSA_SIG *sig,\n                          const
      BIGNUM *e)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sm2_compute_msg_hash
      Src: /src/openssl/crypto/sm2/sm2_sign.c:423,1
    - Dst: sm2_sig_gen
      Src: /src/openssl/crypto/sm2/sm2_sign.c:429,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - key
    - digest
    - id
    - id_len
    - msg
    - msg_len
    argTypes:
    - EC_KEY*
    - EVP_MD*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 434
    functionName: ossl_sm2_do_sign
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - sm2_compute_msg_hash
    - BN_free
    - sm2_sig_gen
    linkageType: ''
    returnType: ECDSA_SIG
    signature: "ECDSA_SIG *ossl_sm2_do_sign(const EC_KEY *key,\n                            const
      EVP_MD *digest,\n                            const uint8_t *id,\n                            const
      size_t id_len,\n                            const uint8_t *msg, size_t msg_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sm2_compute_msg_hash
      Src: /src/openssl/crypto/sm2/sm2_sign.c:446,1
    - Dst: sm2_sig_verify
      Src: /src/openssl/crypto/sm2/sm2_sign.c:452,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - key
    - digest
    - sig
    - id
    - id_len
    - msg
    - msg_len
    argTypes:
    - EC_KEY*
    - EVP_MD*
    - ECDSA_SIG*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 457
    functionName: ossl_sm2_do_verify
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - sm2_compute_msg_hash
    - sm2_sig_verify
    - BN_free
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_do_verify(const EC_KEY *key,\n                       const
      EVP_MD *digest,\n                       const ECDSA_SIG *sig,\n                       const
      uint8_t *id,\n                       const size_t id_len,\n                       const
      uint8_t *msg, size_t msg_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:469,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/sm2/sm2_sign.c:473,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:475,1
    - Dst: sm2_sig_gen
      Src: /src/openssl/crypto/sm2/sm2_sign.c:479,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:481,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/sm2/sm2_sign.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:487,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:495,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - dgst
    - dgstlen
    - sig
    - siglen
    - eckey
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 498
    functionName: ossl_sm2_internal_sign
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - i2d_ECDSA_SIG
    - sm2_sig_gen
    - BN_bin2bn
    - ECDSA_SIG_free
    - BN_free
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_internal_sign(const unsigned char *dgst, int dgstlen,\n
      \                          unsigned char *sig, unsigned int *siglen,\n                           EC_KEY
      *eckey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/crypto/sm2/sm2_sign.c:511,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:513,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/openssl/crypto/sm2/sm2_sign.c:516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:517,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/sm2/sm2_sign.c:521,1
    - Dst: memcmp
      Src: /src/openssl/crypto/sm2/sm2_sign.c:522,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:523,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/sm2/sm2_sign.c:527,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_sign.c:529,1
    - Dst: sm2_sig_verify
      Src: /src/openssl/crypto/sm2/sm2_sign.c:533,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:536,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:537,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/sm2/sm2_sign.c:538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - dgst
    - dgstlen
    - sig
    - sig_len
    - eckey
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 540
    functionName: ossl_sm2_internal_verify
    functionSourceFile: /src/openssl/crypto/sm2/sm2_sign.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ERR_raise
    - sm2_sig_verify
    - i2d_ECDSA_SIG
    - d2i_ECDSA_SIG
    - BN_bin2bn
    - OPENSSL_free
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - BN_free
    linkageType: ''
    returnType: int
    signature: "int ossl_sm2_internal_verify(const unsigned char *dgst, int dgstlen,\n
      \                            const unsigned char *sig, int sig_len,\n                             EC_KEY
      *eckey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/sm2/sm2_key.c:30,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/sm2/sm2_key.c:31,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/sm2/sm2_key.c:32,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_key.c:33,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/sm2/sm2_key.c:38,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/sm2/sm2_key.c:39,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_key.c:41,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/sm2/sm2_key.c:41,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/sm2/sm2_key.c:42,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/sm2/sm2_key.c:43,1
    - Dst: BN_free
      Src: /src/openssl/crypto/sm2/sm2_key.c:49,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 51
    functionName: ossl_sm2_key_private_check
    functionSourceFile: /src/openssl/crypto/sm2/sm2_key.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_cmp
    - BN_value_one
    - EC_KEY_get0_private_key
    - EC_KEY_get0_group
    - BN_sub_word
    - BN_dup
    - BN_free
    - EC_GROUP_get0_order
    linkageType: ''
    returnType: int
    signature: int ossl_sm2_key_private_check(const EC_KEY *eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/pem/pem_sign.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: PEM_SignInit
    functionSourceFile: /src/openssl/crypto/pem/pem_sign.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: int PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/pem/pem_sign.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: PEM_SignUpdate
    functionSourceFile: /src/openssl/crypto/pem/pem_sign.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: "int PEM_SignUpdate(EVP_MD_CTX *ctx,\n                   const unsigned
      char *data, unsigned int count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pem/pem_sign.c:35,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/pem/pem_sign.c:35,1
    - Dst: EVP_SignFinal
      Src: /src/openssl/crypto/pem/pem_sign.c:39,1
    - Dst: EVP_EncodeBlock
      Src: /src/openssl/crypto/pem/pem_sign.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pem_sign.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - sigret
    - siglen
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: PEM_SignFinal
    functionSourceFile: /src/openssl/crypto/pem/pem_sign.c
    functionUses: 0
    functionsReached:
    - EVP_SignFinal
    - EVP_PKEY_get_size
    - OPENSSL_free
    - EVP_EncodeBlock
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,\n                  unsigned
      int *siglen, EVP_PKEY *pkey)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_tell
      Src: /src/openssl/crypto/pem/pem_pkey.c:45,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/pem/pem_pkey.c:49,1
    - Dst: OSSL_DECODER_CTX_set_pem_password_cb
      Src: /src/openssl/crypto/pem/pem_pkey.c:58,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:61,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/crypto/pem/pem_pkey.c:62,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/pem/pem_pkey.c:63,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/pem/pem_pkey.c:63,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:64,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/pem/pem_pkey.c:67,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/pem/pem_pkey.c:67,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:69,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:70,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:73,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:78,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/pem/pem_pkey.c:84,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:87,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:92,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:97,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 7
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    - selection
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 99
    functionName: pem_read_bio_key_decoder
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - ERR_raise
    - ERR_pop_to_mark
    - evp_keymgmt_util_has
    - ERR_set_mark
    - BIO_tell
    - BIO_eof
    - OSSL_DECODER_CTX_new_for_pkey
    - ERR_GET_REASON
    - EVP_PKEY_free
    - OSSL_DECODER_from_bio
    - ERR_peek_error
    - ERR_clear_last_mark
    - OSSL_DECODER_CTX_set_pem_password_cb
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *pem_read_bio_key_decoder(BIO *bp, EVP_PKEY **x,\n                                          pem_password_cb
      *cb, void *u,\n                                          OSSL_LIB_CTX *libctx,\n
      \                                         const char *propq,\n                                          int
      selection)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:114,1
    - Dst: PEM_bytes_read_bio_secmem
      Src: /src/openssl/crypto/pem/pem_pkey.c:116,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:119,1
    - Dst: PEM_bytes_read_bio
      Src: /src/openssl/crypto/pem/pem_pkey.c:127,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:130,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:134,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_pkey.c:137,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/pem/pem_pkey.c:140,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:142,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:144,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:147,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_pkey.c:148,1
    - Dst: d2i_X509_SIG
      Src: /src/openssl/crypto/pem/pem_pkey.c:154,1
    - Dst: cb
      Src: /src/openssl/crypto/pem/pem_pkey.c:157,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pem_pkey.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:161,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:162,1
    - Dst: PKCS8_decrypt
      Src: /src/openssl/crypto/pem/pem_pkey.c:165,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:166,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_pkey.c:167,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:170,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:172,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:175,1
    - Dst: ossl_pem_check_suffix
      Src: /src/openssl/crypto/pem/pem_pkey.c:176,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/crypto/pem/pem_pkey.c:178,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:181,1
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:186,1
    - Dst: ossl_pem_check_suffix
      Src: /src/openssl/crypto/pem/pem_pkey.c:188,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/pem/pem_pkey.c:190,1
    - Dst: EVP_PKEY_set_type_str
      Src: /src/openssl/crypto/pem/pem_pkey.c:193,1
    - Dst: EVP_PKEY*::ameth::param_decode
      Src: /src/openssl/crypto/pem/pem_pkey.c:195,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:196,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:201,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/pem/pem_pkey.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:209,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:211,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:212,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 7
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    - selection
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 214
    functionName: pem_read_bio_key_legacy
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_secure_free
    - ossl_d2i_PUBKEY_legacy
    - ERR_pop_to_mark
    - cb
    - d2i_PKCS8_PRIV_KEY_INFO
    - EVP_PKEY*::ameth::param_decode
    - strcmp
    - PKCS8_PRIV_KEY_INFO_free
    - ossl_pem_check_suffix
    - PEM_def_callback
    - EVP_PKEY_free
    - EVP_PKEY_asn1_find_str
    - ERR_clear_last_mark
    - EVP_PKEY_new
    - EVP_PKEY_set_type_str
    - OPENSSL_secure_clear_free
    - d2i_X509_SIG
    - ERR_peek_last_error
    - X509_SIG_free
    - evp_pkcs82pkey_legacy
    - ERR_set_mark
    - PKCS8_decrypt
    - PEM_bytes_read_bio
    - PEM_bytes_read_bio_secmem
    - ossl_d2i_PrivateKey_legacy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *pem_read_bio_key_legacy(BIO *bp, EVP_PKEY **x,\n                                         pem_password_cb
      *cb, void *u,\n                                         OSSL_LIB_CTX *libctx,\n
      \                                        const char *propq,\n                                         int
      selection)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_tell
      Src: /src/openssl/crypto/pem/pem_pkey.c:227,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_pkey.c:228,1
    - Dst: BIO_f_readbuffer
      Src: /src/openssl/crypto/pem/pem_pkey.c:228,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pem/pem_pkey.c:231,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/pem/pem_pkey.c:232,1
    - Dst: ossl_pw_set_pem_password_cb
      Src: /src/openssl/crypto/pem/pem_pkey.c:238,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/openssl/crypto/pem/pem_pkey.c:239,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:242,1
    - Dst: pem_read_bio_key_decoder
      Src: /src/openssl/crypto/pem/pem_pkey.c:243,1
    - Dst: BIO_seek
      Src: /src/openssl/crypto/pem/pem_pkey.c:246,1
    - Dst: pem_read_bio_key_legacy
      Src: /src/openssl/crypto/pem/pem_pkey.c:247,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:251,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pem/pem_pkey.c:253,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/pem/pem_pkey.c:256,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/pem/pem_pkey.c:258,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 7
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    - selection
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 262
    functionName: pem_read_bio_key
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ossl_pw_set_pem_password_cb
    - pem_read_bio_key_legacy
    - BIO_seek
    - ERR_pop_to_mark
    - ossl_pw_enable_passphrase_caching
    - BIO_free
    - ERR_set_mark
    - BIO_tell
    - BIO_f_readbuffer
    - ossl_pw_clear_passphrase_data
    - BIO_push
    - pem_read_bio_key_decoder
    - ERR_clear_last_mark
    - BIO_pop
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *pem_read_bio_key(BIO *bp, EVP_PKEY **x,\n                                  pem_password_cb
      *cb, void *u,\n                                  OSSL_LIB_CTX *libctx,\n                                  const
      char *propq,\n                                  int selection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_read_bio_key
      Src: /src/openssl/crypto/pem/pem_pkey.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: PEM_read_bio_PUBKEY_ex
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - pem_read_bio_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *PEM_read_bio_PUBKEY_ex(BIO *bp, EVP_PKEY **x,\n                                 pem_password_cb
      *cb, void *u,\n                                 OSSL_LIB_CTX *libctx, const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - x
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: PEM_read_bio_PUBKEY
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 1
    functionsReached:
    - PEM_read_bio_PUBKEY_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *PEM_read_bio_PUBKEY(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb,\n                              void *u)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_pkey.c:286,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_pkey.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:287,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_pkey.c:290,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:291,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - fp
    - x
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: PEM_read_PUBKEY_ex
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - PEM_read_bio_PUBKEY_ex
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *PEM_read_PUBKEY_ex(FILE *fp, EVP_PKEY **x,\n                             pem_password_cb
      *cb, void *u,\n                             OSSL_LIB_CTX *libctx, const char
      *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PUBKEY_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fp
    - x
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 6
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: PEM_read_PUBKEY
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - PEM_read_PUBKEY_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *PEM_read_PUBKEY(FILE *fp, EVP_PKEY **x, pem_password_cb *cb,
      void *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_read_bio_key
      Src: /src/openssl/crypto/pem/pem_pkey.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - bp
    - x
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: PEM_read_bio_PrivateKey_ex
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - pem_read_bio_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *PEM_read_bio_PrivateKey_ex(BIO *bp, EVP_PKEY **x,\n                                     pem_password_cb
      *cb, void *u,\n                                     OSSL_LIB_CTX *libctx, const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - x
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 5
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: PEM_read_bio_PrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 2
    functionsReached:
    - PEM_read_bio_PrivateKey_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb,\n                                  void *u)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_PEM_provided_write_body_vars
      Src: /src/openssl/crypto/pem/pem_pkey.c:319,1
    - Dst: IMPLEMENT_PEM_provided_write_body_pass
      Src: /src/openssl/crypto/pem/pem_pkey.c:321,1
    - Dst: IMPLEMENT_PEM_provided_write_body_main
      Src: /src/openssl/crypto/pem/pem_pkey.c:322,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/crypto/pem/pem_pkey.c:326,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/crypto/pem/pem_pkey.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: PEM_write_cb_ex_fnsig
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - IMPLEMENT_PEM_provided_write_body_vars
    - PEM_write_bio_PKCS8PrivateKey
    - PEM_write_bio_PrivateKey_traditional
    - IMPLEMENT_PEM_provided_write_body_pass
    - IMPLEMENT_PEM_provided_write_body_main
    linkageType: ''
    returnType: void
    signature: void PEM_write_cb_ex_fnsig(PrivateKey, EVP_PKEY, BIO, write_bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: PEM_write_cb_fnsig
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_PrivateKey_ex
    linkageType: ''
    returnType: void
    signature: void PEM_write_cb_fnsig(PrivateKey, EVP_PKEY, BIO, write_bio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/pem/pem_pkey.c:353,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/pem/pem_pkey.c:354,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/crypto/pem/pem_pkey.c:355,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:359,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:360,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/pem/pem_pkey.c:363,1
    - Dst: PEM_ASN1_write_bio
      Src: /src/openssl/crypto/pem/pem_pkey.c:364,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 7
    argNames:
    - bp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: PEM_write_bio_PrivateKey_traditional
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - PEM_ASN1_write_bio
    - evp_pkey_is_assigned
    - EVP_PKEY_free
    - evp_pkey_copy_downgraded
    - BIO_snprintf
    - evp_pkey_is_provided
    linkageType: ''
    returnType: int
    signature: "int PEM_write_bio_PrivateKey_traditional(BIO *bp, const EVP_PKEY *x,\n
      \                                        const EVP_CIPHER *enc,\n                                         const
      unsigned char *kstr, int klen,\n                                         pem_password_cb
      *cb, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - num
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: no_password_cb
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int no_password_cb(char *buf, int num, int rwflag, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_read_bio_key
      Src: /src/openssl/crypto/pem/pem_pkey.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - x
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 385
    functionName: PEM_read_bio_Parameters_ex
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - pem_read_bio_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *PEM_read_bio_Parameters_ex(BIO *bp, EVP_PKEY **x,\n                                     OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 5
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: PEM_read_bio_Parameters
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_Parameters_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IMPLEMENT_PEM_provided_write_body_vars
      Src: /src/openssl/crypto/pem/pem_pkey.c:395,1
    - Dst: IMPLEMENT_PEM_provided_write_body_main
      Src: /src/openssl/crypto/pem/pem_pkey.c:397,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/pem/pem_pkey.c:403,1
    - Dst: PEM_ASN1_write_bio
      Src: /src/openssl/crypto/pem/pem_pkey.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: PEM_write_fnsig
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - IMPLEMENT_PEM_provided_write_body_vars
    - PEM_ASN1_write_bio
    - IMPLEMENT_PEM_provided_write_body_main
    linkageType: ''
    returnType: void
    signature: void PEM_write_fnsig(Parameters, EVP_PKEY, BIO, write_bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_pkey.c:416,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_pkey.c:416,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:417,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_pkey.c:420,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:421,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - fp
    - x
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: PEM_read_PrivateKey_ex
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *PEM_read_PrivateKey_ex(FILE *fp, EVP_PKEY **x, pem_password_cb
      *cb,\n                                 void *u, OSSL_LIB_CTX *libctx,\n                                 const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PrivateKey_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fp
    - x
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 6
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: PEM_read_PrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - PEM_read_PrivateKey_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb
      *cb,\n                              void *u)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/pem/pem_pkey.c:437,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pkey.c:438,1
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:441,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_pkey.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 445
    functionName: PEM_write_cb_ex_fnsig
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - PEM_write_bio_PrivateKey_ex
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void PEM_write_cb_ex_fnsig(PrivateKey, EVP_PKEY, FILE, write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_PrivateKey_ex
      Src: /src/openssl/crypto/pem/pem_pkey.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: PEM_write_cb_fnsig
    functionSourceFile: /src/openssl/crypto/pem/pem_pkey.c
    functionUses: 0
    functionsReached:
    - PEM_write_PrivateKey_ex
    linkageType: ''
    returnType: void
    signature: void PEM_write_cb_fnsig(PrivateKey, EVP_PKEY, FILE, write)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/crypto/pem/pem_all.c:58,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_all.c:59,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/pem/pem_all.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - key
    - rsa
    argTypes:
    - EVP_PKEY*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: pkey_get_rsa
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get1_RSA
    - RSA_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: RSA
    signature: RSA *pkey_get_rsa(EVP_PKEY *key, RSA **rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/crypto/pem/pem_all.c:73,1
    - Dst: pkey_get_rsa
      Src: /src/openssl/crypto/pem/pem_all.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - bp
    - rsa
    - cb
    - u
    argTypes:
    - BIO*
    - RSA**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: PEM_read_bio_RSAPrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - pkey_get_rsa
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: RSA
    signature: "RSA *PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **rsa, pem_password_cb
      *cb,\n                                void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PrivateKey
      Src: /src/openssl/crypto/pem/pem_all.c:82,1
    - Dst: pkey_get_rsa
      Src: /src/openssl/crypto/pem/pem_all.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - fp
    - rsa
    - cb
    - u
    argTypes:
    - FILE*
    - RSA**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 7
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: PEM_read_RSAPrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - pkey_get_rsa
    - PEM_read_PrivateKey
    linkageType: ''
    returnType: RSA
    signature: RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **rsa, pem_password_cb *cb,
      void *u)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_DSA
      Src: /src/openssl/crypto/pem/pem_all.c:98,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_all.c:99,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/pem/pem_all.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - key
    - dsa
    argTypes:
    - EVP_PKEY*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: pkey_get_dsa
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get1_DSA
    - DSA_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: DSA
    signature: DSA *pkey_get_dsa(EVP_PKEY *key, DSA **dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/crypto/pem/pem_all.c:113,1
    - Dst: pkey_get_dsa
      Src: /src/openssl/crypto/pem/pem_all.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - bp
    - dsa
    - cb
    - u
    argTypes:
    - BIO*
    - DSA**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: PEM_read_bio_DSAPrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - pkey_get_dsa
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: DSA
    signature: "DSA *PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **dsa, pem_password_cb
      *cb,\n                                void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PrivateKey
      Src: /src/openssl/crypto/pem/pem_all.c:123,1
    - Dst: pkey_get_dsa
      Src: /src/openssl/crypto/pem/pem_all.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - fp
    - dsa
    - cb
    - u
    argTypes:
    - FILE*
    - DSA**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 7
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: PEM_read_DSAPrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - pkey_get_dsa
    - PEM_read_PrivateKey
    linkageType: ''
    returnType: DSA
    signature: DSA *PEM_read_DSAPrivateKey(FILE *fp, DSA **dsa, pem_password_cb *cb,
      void *u)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/openssl/crypto/pem/pem_all.c:139,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_all.c:140,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/pem/pem_all.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - key
    - eckey
    argTypes:
    - EVP_PKEY*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: pkey_get_eckey
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    - EVP_PKEY_free
    - EVP_PKEY_get1_EC_KEY
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *pkey_get_eckey(EVP_PKEY *key, EC_KEY **eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/crypto/pem/pem_all.c:154,1
    - Dst: pkey_get_eckey
      Src: /src/openssl/crypto/pem/pem_all.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - bp
    - key
    - cb
    - u
    argTypes:
    - BIO*
    - EC_KEY**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: PEM_read_bio_ECPrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - pkey_get_eckey
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: EC_KEY
    signature: "EC_KEY *PEM_read_bio_ECPrivateKey(BIO *bp, EC_KEY **key, pem_password_cb
      *cb,\n                                  void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_PrivateKey
      Src: /src/openssl/crypto/pem/pem_all.c:170,1
    - Dst: pkey_get_eckey
      Src: /src/openssl/crypto/pem/pem_all.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - fp
    - eckey
    - cb
    - u
    argTypes:
    - FILE*
    - EC_KEY**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 7
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: PEM_read_ECPrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - pkey_get_eckey
    - PEM_read_PrivateKey
    linkageType: ''
    returnType: EC_KEY
    signature: "EC_KEY *PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb
      *cb,\n                              void *u)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PEM_bytes_read_bio
      Src: /src/openssl/crypto/pem/pem_all.c:192,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_all.c:196,1
    - Dst: d2i_DHxparams
      Src: /src/openssl/crypto/pem/pem_all.c:197,1
    - Dst: d2i_DHparams
      Src: /src/openssl/crypto/pem/pem_all.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_all.c:202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pem_all.c:203,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pem_all.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - bp
    - x
    - cb
    - u
    argTypes:
    - BIO*
    - DH**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 206
    functionName: PEM_read_bio_DHparams
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - d2i_DHxparams
    - ERR_raise
    - d2i_DHparams
    - OPENSSL_free
    - PEM_bytes_read_bio
    - strcmp
    linkageType: ''
    returnType: DH
    signature: DH *PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void
      *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_all.c:214,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_all.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_all.c:215,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_all.c:218,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/openssl/crypto/pem/pem_all.c:219,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_all.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - fp
    - x
    - cb
    - u
    argTypes:
    - FILE*
    - DH**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: PEM_read_DHparams
    functionSourceFile: /src/openssl/crypto/pem/pem_all.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - PEM_read_bio_DHparams
    - ERR_raise
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: DH
    signature: DH *PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb, void *u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PEM_bytes_read_bio
      Src: /src/openssl/crypto/pem/pem_oth.c:28,1
    - Dst: d2i
      Src: /src/openssl/crypto/pem/pem_oth.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_oth.c:33,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pem_oth.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - d2i
    - name
    - bp
    - x
    - cb
    - u
    argTypes:
    - d2i_of_void*
    - char*
    - BIO*
    - void**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: PEM_ASN1_read_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_oth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - PEM_bytes_read_bio
    - ERR_raise
    - d2i
    linkageType: ''
    returnType: void
    signature: "void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp,
      void **x,\n                        pem_password_cb *cb, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey
      Src: /src/openssl/crypto/pem/pem_pk8.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - bp
    - x
    - nid
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: PEM_write_bio_PKCS8PrivateKey_nid
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: "int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, const EVP_PKEY *x,
      int nid,\n                                      const char *kstr, int klen,\n
      \                                     pem_password_cb *cb, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey
      Src: /src/openssl/crypto/pem/pem_pk8.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - bp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: PEM_write_bio_PKCS8PrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 1
    functionsReached:
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: "int PEM_write_bio_PKCS8PrivateKey(BIO *bp, const EVP_PKEY *x, const
      EVP_CIPHER *enc,\n                                  const char *kstr, int klen,\n
      \                                 pem_password_cb *cb, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey
      Src: /src/openssl/crypto/pem/pem_pk8.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - bp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: i2d_PKCS8PrivateKey_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: "int i2d_PKCS8PrivateKey_bio(BIO *bp, const EVP_PKEY *x, const EVP_CIPHER
      *enc,\n                            const char *kstr, int klen,\n                            pem_password_cb
      *cb, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey
      Src: /src/openssl/crypto/pem/pem_pk8.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - bp
    - x
    - nid
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: i2d_PKCS8PrivateKey_nid_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: "int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, const EVP_PKEY *x, int nid,\n
      \                               const char *kstr, int klen,\n                                pem_password_cb
      *cb, void *u)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/pem/pem_pk8.c:76,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_pk8.c:90,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/pem/pem_pk8.c:102,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/crypto/pem/pem_pk8.c:106,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/pem/pem_pk8.c:106,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/crypto/pem/pem_pk8.c:118,1
    - Dst: OSSL_ENCODER_CTX_set_pem_password_cb
      Src: /src/openssl/crypto/pem/pem_pk8.c:121,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:125,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/crypto/pem/pem_pk8.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:133,1
    - Dst: cb
      Src: /src/openssl/crypto/pem/pem_pk8.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:140,1
    - Dst: PKCS8_encrypt
      Src: /src/openssl/crypto/pem/pem_pk8.c:146,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_pk8.c:148,1
    - Dst: i2d_PKCS8_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:152,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/openssl/crypto/pem/pem_pk8.c:154,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:155,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:158,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/pem/pem_pk8.c:160,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:163,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:165,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 10
    argNames:
    - bp
    - x
    - isder
    - nid
    - enc
    - kstr
    - klen
    - cb
    - u
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - int
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 167
    functionName: do_pk8pkey
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    - OSSL_ENCODER_CTX_get_num_encoders
    - PEM_write_bio_PKCS8
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    - cb
    - strlen
    - OSSL_ENCODER_CTX_set_pem_password_cb
    - PKCS8_PRIV_KEY_INFO_free
    - i2d_PKCS8_bio
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_CTX_free
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_to_bio
    - X509_SIG_free
    - PKCS8_encrypt
    - EVP_CIPHER_get0_name
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    - EVP_PKEY2PKCS8
    - OSSL_ENCODER_CTX_set_cipher
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int do_pk8pkey(BIO *bp, const EVP_PKEY *x, int isder, int nid,\n                      const
      EVP_CIPHER *enc, const char *kstr, int klen,\n                      pem_password_cb
      *cb, void *u, const char *propq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:178,1
    - Dst: cb
      Src: /src/openssl/crypto/pem/pem_pk8.c:182,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pem_pk8.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:186,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:187,1
    - Dst: PKCS8_decrypt
      Src: /src/openssl/crypto/pem/pem_pk8.c:190,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:191,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_pk8.c:192,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/crypto/pem/pem_pk8.c:195,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:196,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - bp
    - x
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 204
    functionName: d2i_PKCS8PrivateKey_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PEM_def_callback
    - ERR_raise
    - X509_SIG_free
    - d2i_PKCS8_bio
    - EVP_PKCS82PKEY
    - PKCS8_decrypt
    - EVP_PKEY_free
    - cb
    - OPENSSL_cleanse
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb
      *cb,\n                                  void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey_fp
      Src: /src/openssl/crypto/pem/pem_pk8.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - fp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY*
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: i2d_PKCS8PrivateKey_fp
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - do_pk8pkey_fp
    linkageType: ''
    returnType: int
    signature: "int i2d_PKCS8PrivateKey_fp(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER
      *enc,\n                           const char *kstr, int klen,\n                           pem_password_cb
      *cb, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey_fp
      Src: /src/openssl/crypto/pem/pem_pk8.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - fp
    - x
    - nid
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: i2d_PKCS8PrivateKey_nid_fp
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - do_pk8pkey_fp
    linkageType: ''
    returnType: int
    signature: "int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, const EVP_PKEY *x, int nid,\n
      \                              const char *kstr, int klen,\n                               pem_password_cb
      *cb, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey_fp
      Src: /src/openssl/crypto/pem/pem_pk8.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - fp
    - x
    - nid
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: PEM_write_PKCS8PrivateKey_nid
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - do_pk8pkey_fp
    linkageType: ''
    returnType: int
    signature: "int PEM_write_PKCS8PrivateKey_nid(FILE *fp, const EVP_PKEY *x, int
      nid,\n                                  const char *kstr, int klen,\n                                  pem_password_cb
      *cb, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_pk8pkey_fp
      Src: /src/openssl/crypto/pem/pem_pk8.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - fp
    - x
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY*
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: PEM_write_PKCS8PrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - do_pk8pkey_fp
    linkageType: ''
    returnType: int
    signature: "int PEM_write_PKCS8PrivateKey(FILE *fp, const EVP_PKEY *x, const EVP_CIPHER
      *enc,\n                              const char *kstr, int klen,\n                              pem_password_cb
      *cb, void *u)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/pem/pem_pk8.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:244,1
    - Dst: do_pk8pkey
      Src: /src/openssl/crypto/pem/pem_pk8.c:247,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - fp
    - x
    - isder
    - nid
    - enc
    - kstr
    - klen
    - cb
    - u
    - propq
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - int
    - EVP_CIPHER*
    - char*
    - int
    - pem_password_cb*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: do_pk8pkey_fp
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 4
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - ERR_raise
    - do_pk8pkey
    linkageType: ''
    returnType: int
    signature: "int do_pk8pkey_fp(FILE *fp, const EVP_PKEY *x, int isder, int nid,\n
      \                        const EVP_CIPHER *enc, const char *kstr, int klen,\n
      \                        pem_password_cb *cb, void *u, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/pem/pem_pk8.c:258,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_pk8.c:259,1
    - Dst: d2i_PKCS8PrivateKey_bio
      Src: /src/openssl/crypto/pem/pem_pk8.c:262,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_pk8.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - fp
    - x
    - cb
    - u
    argTypes:
    - FILE*
    - EVP_PKEY**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: d2i_PKCS8PrivateKey_fp
    functionSourceFile: /src/openssl/crypto/pem/pem_pk8.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - d2i_PKCS8PrivateKey_bio
    - ERR_raise
    - BIO_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb
      *cb,\n                                 void *u)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/pem/pem_info.c:235,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_info.c:241,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_info.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_info.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_info.c:256,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/pem/pem_info.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_info.c:272,1
    - Dst: PEM_proc_type
      Src: /src/openssl/crypto/pem/pem_info.c:278,1
    - Dst: PEM_dek_info
      Src: /src/openssl/crypto/pem/pem_info.c:279,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_info.c:279,1
    - Dst: PEM_write_bio
      Src: /src/openssl/crypto/pem/pem_info.c:283,1
    - Dst: PEM_write_bio_RSAPrivateKey
      Src: /src/openssl/crypto/pem/pem_info.c:289,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/pem/pem_info.c:290,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/crypto/pem/pem_info.c:297,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_info.c:309,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 7
    argNames:
    - bp
    - xi
    - enc
    - kstr
    - klen
    - cb
    - u
    argTypes:
    - BIO*
    - X509_INFO*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 311
    functionName: PEM_X509_INFO_write_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_info.c
    functionUses: 0
    functionsReached:
    - PEM_dek_info
    - ERR_raise
    - PEM_write_bio_RSAPrivateKey
    - EVP_CIPHER_get0_name
    - PEM_proc_type
    - PEM_write_bio_X509
    - EVP_PKEY_get0_RSA
    - PEM_write_bio
    - strlen
    - EVP_CIPHER_get_iv_length
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int PEM_X509_INFO_write_bio(BIO *bp, const X509_INFO *xi, EVP_CIPHER
      *enc,\n                            const unsigned char *kstr, int klen,\n                            pem_password_cb
      *cb, void *u)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/pem/pem_err.c:72,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/pem/pem_err.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: ossl_err_load_PEM_strings
    functionSourceFile: /src/openssl/crypto/pem/pem_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_PEM_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - asn1
    - ','
    - pq
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: IMPLEMENT_PEM_provided_write_body_vars
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write_body_vars(type, asn1, pq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: IMPLEMENT_PEM_provided_write_body_pass
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write_body_pass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - outtype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: IMPLEMENT_PEM_provided_write_body_main
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write_body_main(type, outtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - asn1
    - ','
    - writename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: IMPLEMENT_PEM_provided_write_body_fallback
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_PEM_provided_write_body_fallback(str, asn1,          \\\n
      \                                                   writename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - asn1
    - ','
    - writename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: IMPLEMENT_PEM_provided_write_body_fallback_cb
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_PEM_provided_write_body_fallback_cb(str, asn1,       \\\n
      \                                                      writename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - ','
    - OUTTYPE
    - ','
    - outtype
    - ','
    - writename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: IMPLEMENT_PEM_provided_write_to
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_PEM_provided_write_to(name, TYPE, type, str, asn1,   \\\n
      \                                        OUTTYPE, outtype, writename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - ','
    - OUTTYPE
    - ','
    - outtype
    - ','
    - writename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: IMPLEMENT_PEM_provided_write_cb_to
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_PEM_provided_write_cb_to(name, TYPE, type, str, asn1, \\\n
      \                                           OUTTYPE, outtype, writename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: IMPLEMENT_PEM_provided_write_fp
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write_fp(name, TYPE, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: IMPLEMENT_PEM_provided_write_cb_fp
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write_cb_fp(name, TYPE, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: IMPLEMENT_PEM_provided_write_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write_bio(name, TYPE, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: IMPLEMENT_PEM_provided_write_cb_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write_cb_bio(name, TYPE, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: IMPLEMENT_PEM_provided_write
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write(name, TYPE, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: IMPLEMENT_PEM_provided_write_cb
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_write_cb(name, TYPE, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: IMPLEMENT_PEM_provided_rw
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_rw(name, TYPE, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - TYPE
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: IMPLEMENT_PEM_provided_rw_cb
    functionSourceFile: /src/openssl/crypto/pem/pem_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_provided_rw_cb(name, TYPE, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: read_ledword
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int read_ledword(const unsigned char **in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/pem/pvkfmt.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - nbyte
    - r
    argTypes:
    - unsigned char**
    - unsigned int
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: read_lebn
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - BN_lebin2bn
    linkageType: ''
    returnType: int
    signature: int read_lebn(const unsigned char **in, unsigned int nbyte, BIGNUM
      **r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - isdss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: isdss_to_evp_type
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isdss_to_evp_type(isdss)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/pem/pvkfmt.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:84,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:88,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/openssl/crypto/pem/pvkfmt.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:93,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:94,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/openssl/crypto/pem/pvkfmt.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:101,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:108,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:113,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - key
    - evp_type
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 123
    functionName: evp_pkey_new0_key
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_set1_DSA
    - RSA_free
    - DSA_free
    - EVP_PKEY_free
    - EVP_PKEY_set1_RSA
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *evp_pkey_new0_key(void *key, int evp_type)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:195,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:200,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:231,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:246,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 6
    argNames:
    - in
    - length
    - pmagic
    - pbitlen
    - pisdss
    - pispub
    argTypes:
    - unsigned char**
    - unsigned int
    - unsigned int*
    - unsigned int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 251
    functionName: ossl_do_blob_header
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 1
    functionsReached:
    - read_ledword
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_do_blob_header(const unsigned char **in, unsigned int length,\n
      \                       unsigned int *pmagic, unsigned int *pbitlen,\n                        int
      *pisdss, int *pispub)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - bitlen
    - isdss
    - ispub
    argTypes:
    - unsigned
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 284
    functionName: ossl_blob_length
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ossl_blob_length(unsigned bitlen, int isdss, int ispub)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_do_blob_header
      Src: /src/openssl/crypto/pem/pvkfmt.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:294,1
    - Dst: ossl_blob_length
      Src: /src/openssl/crypto/pem/pvkfmt.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:299,1
    - Dst: ossl_b2i_RSA_after_header
      Src: /src/openssl/crypto/pem/pvkfmt.c:303,1
    - Dst: ossl_b2i_DSA_after_header
      Src: /src/openssl/crypto/pem/pvkfmt.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - in
    - length
    - isdss
    - ispub
    argTypes:
    - unsigned char**
    - unsigned int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 315
    functionName: do_b2i_key
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - ossl_b2i_DSA_after_header
    - ossl_do_blob_header
    - ossl_blob_length
    - ERR_raise
    - ossl_b2i_RSA_after_header
    linkageType: ''
    returnType: void
    signature: "void *do_b2i_key(const unsigned char **in, unsigned int length,\n
      \                       int *isdss, int *ispub)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_b2i_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:320,1
    - Dst: evp_pkey_new0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:322,1
    - Dst: isdss_to_evp_type
      Src: /src/openssl/crypto/pem/pvkfmt.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - length
    - ispub
    argTypes:
    - unsigned char**
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: ossl_b2i
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - evp_pkey_new0_key
    - isdss_to_evp_type
    - do_b2i_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *ossl_b2i(const unsigned char **in, unsigned int length, int
      *ispub)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/crypto/pem/pvkfmt.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:335,1
    - Dst: ossl_do_blob_header
      Src: /src/openssl/crypto/pem/pvkfmt.c:339,1
    - Dst: ossl_blob_length
      Src: /src/openssl/crypto/pem/pvkfmt.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:344,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pem/pvkfmt.c:347,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pem/pvkfmt.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:352,1
    - Dst: ossl_b2i_RSA_after_header
      Src: /src/openssl/crypto/pem/pvkfmt.c:357,1
    - Dst: ossl_b2i_DSA_after_header
      Src: /src/openssl/crypto/pem/pvkfmt.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:364,1
    - Dst: evp_pkey_new0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:368,1
    - Dst: isdss_to_evp_type
      Src: /src/openssl/crypto/pem/pvkfmt.c:368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - in
    - ispub
    argTypes:
    - BIO*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 372
    functionName: ossl_b2i_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - ossl_b2i_DSA_after_header
    - ossl_do_blob_header
    - ERR_raise
    - ossl_blob_length
    - isdss_to_evp_type
    - ossl_b2i_RSA_after_header
    - evp_pkey_new0_key
    - OPENSSL_free
    - BIO_read
    - OPENSSL_malloc
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *ossl_b2i_bio(BIO *in, int *ispub)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:385,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:388,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:391,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:394,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:398,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:401,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/pem/pvkfmt.c:405,1
    - Dst: BN_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:408,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:411,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/pem/pvkfmt.c:414,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:417,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/crypto/pem/pvkfmt.c:420,1
    - Dst: DSA_set0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:431,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:434,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:437,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:438,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:439,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:440,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:441,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:442,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:443,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 3
    argNames:
    - in
    - bitlen
    - ispub
    argTypes:
    - unsigned char**
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 445
    functionName: ossl_b2i_DSA_after_header
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 2
    functionsReached:
    - BN_free
    - ERR_raise
    - read_lebn
    - DSA_free
    - BN_CTX_new
    - DSA_set0_pqg
    - DSA_new
    - BN_CTX_free
    - BN_new
    - BN_mod_exp
    - DSA_set0_key
    - BN_set_flags
    linkageType: ''
    returnType: DSA
    signature: "DSA *ossl_b2i_DSA_after_header(const unsigned char **in, unsigned
      int bitlen,\n                               int ispub)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:458,1
    - Dst: BN_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:461,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/pem/pvkfmt.c:464,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:464,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:466,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:469,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:471,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:473,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:475,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:477,1
    - Dst: read_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:479,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/crypto/pem/pvkfmt.c:481,1
    - Dst: RSA_set0_crt_params
      Src: /src/openssl/crypto/pem/pvkfmt.c:484,1
    - Dst: RSA_set0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:499,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:502,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:503,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:504,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:505,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:506,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:507,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:508,1
    - Dst: BN_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:509,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:510,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    argCount: 3
    argNames:
    - in
    - bitlen
    - ispub
    argTypes:
    - unsigned char**
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 512
    functionName: ossl_b2i_RSA_after_header
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 2
    functionsReached:
    - RSA_set0_factors
    - RSA_set0_crt_params
    - RSA_set0_key
    - ERR_raise
    - read_lebn
    - RSA_free
    - RSA_new
    - BN_set_word
    - read_ledword
    - BN_new
    - BN_free
    linkageType: ''
    returnType: RSA
    signature: "RSA *ossl_b2i_RSA_after_header(const unsigned char **in, unsigned
      int bitlen,\n                               int ispub)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_b2i
      Src: /src/openssl/crypto/pem/pvkfmt.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: b2i_PrivateKey
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - ossl_b2i
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_b2i
      Src: /src/openssl/crypto/pem/pvkfmt.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - length
    argTypes:
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 4
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: b2i_PublicKey
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - ossl_b2i
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_b2i_bio
      Src: /src/openssl/crypto/pem/pvkfmt.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: b2i_PrivateKey_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 1
    functionsReached:
    - ossl_b2i_bio
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *b2i_PrivateKey_bio(BIO *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_b2i_bio
      Src: /src/openssl/crypto/pem/pvkfmt.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: b2i_PublicKey_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 1
    functionsReached:
    - ossl_b2i_bio
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *b2i_PublicKey_bio(BIO *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - dw
    argTypes:
    - unsigned char**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 551
    functionName: write_ledword
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_ledword(unsigned char **out, unsigned int dw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/pem/pvkfmt.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - bn
    - len
    argTypes:
    - unsigned char**
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 557
    functionName: write_lebn
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - BN_bn2lebinpad
    linkageType: ''
    returnType: void
    signature: void write_lebn(unsigned char **out, const BIGNUM *bn, int len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pem/pvkfmt.c:573,1
    - Dst: check_bitlen_rsa
      Src: /src/openssl/crypto/pem/pvkfmt.c:574,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/pem/pvkfmt.c:574,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pem/pvkfmt.c:577,1
    - Dst: check_bitlen_dsa
      Src: /src/openssl/crypto/pem/pvkfmt.c:578,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/pem/pvkfmt.c:578,1
    - Dst: ossl_blob_length
      Src: /src/openssl/crypto/pem/pvkfmt.c:586,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pem/pvkfmt.c:592,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:606,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:607,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:608,1
    - Dst: write_rsa
      Src: /src/openssl/crypto/pem/pvkfmt.c:610,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/pem/pvkfmt.c:610,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/pem/pvkfmt.c:613,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - out
    - pk
    - ispub
    argTypes:
    - unsigned char**
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 619
    functionName: do_i2b
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - check_bitlen_dsa
    - ossl_blob_length
    - check_bitlen_rsa
    - EVP_PKEY_is_a
    - write_ledword
    - EVP_PKEY_get0_RSA
    - write_rsa
    - EVP_PKEY_get0_DSA
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int do_i2b(unsigned char **out, const EVP_PKEY *pk, int ispub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_i2b
      Src: /src/openssl/crypto/pem/pvkfmt.c:626,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pvkfmt.c:629,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - out
    - pk
    - ispub
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 634
    functionName: do_i2b_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - do_i2b
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int do_i2b_bio(BIO *out, const EVP_PKEY *pk, int ispub)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:641,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/pem/pvkfmt.c:642,1
    - Dst: RSA_bits
      Src: /src/openssl/crypto/pem/pvkfmt.c:644,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/pem/pvkfmt.c:645,1
    - Dst: RSA_get0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:658,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/pem/pvkfmt.c:659,1
    - Dst: RSA_get0_factors
      Src: /src/openssl/crypto/pem/pvkfmt.c:661,1
    - Dst: RSA_get0_crt_params
      Src: /src/openssl/crypto/pem/pvkfmt.c:662,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/pem/pvkfmt.c:663,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/pem/pvkfmt.c:664,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/pem/pvkfmt.c:665,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/pem/pvkfmt.c:666,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/pem/pvkfmt.c:667,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:672,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - rsa
    - ispub
    - pmagic
    argTypes:
    - RSA*
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 674
    functionName: check_bitlen_rsa
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - RSA_get0_factors
    - BN_num_bytes
    - RSA_get0_key
    - RSA_size
    - RSA_bits
    - BN_num_bits
    - RSA_get0_crt_params
    linkageType: ''
    returnType: int
    signature: int check_bitlen_rsa(const RSA *rsa, int ispub, unsigned int *pmagic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/crypto/pem/pvkfmt.c:681,1
    - Dst: RSA_bits
      Src: /src/openssl/crypto/pem/pvkfmt.c:682,1
    - Dst: RSA_get0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:683,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:684,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:685,1
    - Dst: RSA_get0_factors
      Src: /src/openssl/crypto/pem/pvkfmt.c:688,1
    - Dst: RSA_get0_crt_params
      Src: /src/openssl/crypto/pem/pvkfmt.c:689,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:690,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:691,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:692,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:693,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:694,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - out
    - rsa
    - ispub
    argTypes:
    - unsigned char**
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 696
    functionName: write_rsa
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 1
    functionsReached:
    - RSA_get0_factors
    - RSA_get0_key
    - RSA_size
    - RSA_bits
    - write_lebn
    - RSA_get0_crt_params
    linkageType: ''
    returnType: void
    signature: void write_rsa(unsigned char **out, const RSA *rsa, int ispub)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_pqg
      Src: /src/openssl/crypto/pem/pvkfmt.c:705,1
    - Dst: DSA_get0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:706,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/pem/pvkfmt.c:707,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/pem/pvkfmt.c:708,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/pem/pvkfmt.c:709,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/pem/pvkfmt.c:712,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/pem/pvkfmt.c:716,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:723,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - dsa
    - ispub
    - pmagic
    argTypes:
    - DSA*
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 725
    functionName: check_bitlen_dsa
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - BN_num_bits
    - DSA_get0_pqg
    - DSA_get0_key
    linkageType: ''
    returnType: int
    signature: int check_bitlen_dsa(const DSA *dsa, int ispub, unsigned int *pmagic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_pqg
      Src: /src/openssl/crypto/pem/pvkfmt.c:733,1
    - Dst: DSA_get0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:734,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/pem/pvkfmt.c:735,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:736,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:737,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:738,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:740,1
    - Dst: write_lebn
      Src: /src/openssl/crypto/pem/pvkfmt.c:742,1
    - Dst: memset
      Src: /src/openssl/crypto/pem/pvkfmt.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - out
    - dsa
    - ispub
    argTypes:
    - unsigned char**
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 747
    functionName: write_dsa
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - memset
    - DSA_get0_key
    - BN_num_bytes
    - write_lebn
    - DSA_get0_pqg
    linkageType: ''
    returnType: void
    signature: void write_dsa(unsigned char **out, const DSA *dsa, int ispub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_i2b_bio
      Src: /src/openssl/crypto/pem/pvkfmt.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - pk
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: i2b_PrivateKey_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - do_i2b_bio
    linkageType: ''
    returnType: int
    signature: int i2b_PrivateKey_bio(BIO *out, const EVP_PKEY *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_i2b_bio
      Src: /src/openssl/crypto/pem/pvkfmt.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - pk
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 758
    functionName: i2b_PublicKey_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - do_i2b_bio
    linkageType: ''
    returnType: int
    signature: int i2b_PublicKey_bio(BIO *out, const EVP_PKEY *pk)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:769,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:774,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:777,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:779,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:786,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:789,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:796,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:802,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:805,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:806,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:807,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:813,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 6
    argNames:
    - in
    - length
    - skip_magic
    - isdss
    - psaltlen
    - pkeylen
    argTypes:
    - unsigned char**
    - unsigned int
    - int
    - int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 819
    functionName: ossl_do_PVK_header
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 1
    functionsReached:
    - read_ledword
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_do_PVK_header(const unsigned char **in, unsigned int length,\n
      \                      int skip_magic, int *isdss,\n                       unsigned
      int *psaltlen, unsigned int *pkeylen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/pem/pvkfmt.c:832,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:834,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:835,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/pem/pvkfmt.c:839,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/pem/pvkfmt.c:841,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/pem/pvkfmt.c:843,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/pem/pvkfmt.c:844,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/pem/pvkfmt.c:846,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/pem/pvkfmt.c:848,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - key
    - keylen
    - salt
    - saltlen
    - pass
    - passlen
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned int
    - unsigned char*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 851
    functionName: derive_pvk_key
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int derive_pvk_key(unsigned char *key, size_t keylen,\n                          const
      unsigned char *salt, unsigned int saltlen,\n                          const
      unsigned char *pass, int passlen,\n                          OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:867,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:870,1
    - Dst: cb
      Src: /src/openssl/crypto/pem/pvkfmt.c:882,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pvkfmt.c:884,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:886,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pem/pvkfmt.c:889,1
    - Dst: derive_pvk_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:892,1
    - Dst: memcpy
      Src: /src/openssl/crypto/pem/pvkfmt.c:897,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:900,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pem/pvkfmt.c:905,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:907,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/pem/pvkfmt.c:909,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:911,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:913,1
    - Dst: memset
      Src: /src/openssl/crypto/pem/pvkfmt.c:916,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:917,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/pem/pvkfmt.c:919,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:921,1
    - Dst: read_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:923,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:925,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:931,1
    - Dst: do_b2i_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:936,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:938,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:940,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pvkfmt.c:943,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:944,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 9
    argNames:
    - in
    - saltlen
    - keylen
    - cb
    - u
    - isdss
    - ispub
    - libctx
    - propq
    argTypes:
    - unsigned char**
    - unsigned int
    - unsigned int
    - pem_password_cb*
    - void*
    - int*
    - int*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 854
    functionDepth: 3
    functionLinenumber: 854
    functionLinenumberEnd: 947
    functionName: do_PVK_body_key
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - PEM_def_callback
    - ERR_raise
    - EVP_DecryptFinal_ex
    - memset
    - do_b2i_key
    - memcpy
    - EVP_DecryptInit_ex
    - EVP_DecryptUpdate
    - derive_pvk_key
    - OPENSSL_free
    - EVP_CIPHER_fetch
    - read_ledword
    - EVP_CIPHER_free
    - cb
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: "void *do_PVK_body_key(const unsigned char **in,\n                             unsigned
      int saltlen, unsigned int keylen,\n                             pem_password_cb
      *cb, void *u,\n                             int *isdss, int *ispub,\n                             OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/crypto/pem/pvkfmt.c:959,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:960,1
    - Dst: ossl_do_PVK_header
      Src: /src/openssl/crypto/pem/pvkfmt.c:965,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pem/pvkfmt.c:968,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pem/pvkfmt.c:972,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:973,1
    - Dst: do_PVK_body_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:976,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 7
    argNames:
    - in
    - cb
    - u
    - isdss
    - ispub
    - libctx
    - propq
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    - int*
    - int*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 949
    functionDepth: 4
    functionLinenumber: 949
    functionLinenumberEnd: 981
    functionName: do_PVK_key_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - do_PVK_body_key
    - OPENSSL_clear_free
    - ossl_do_PVK_header
    - BIO_read
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: "void *do_PVK_key_bio(BIO *in, pem_password_cb *cb, void *u,\n                            int
      *isdss, int *ispub,\n                            OSSL_LIB_CTX *libctx, const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_PVK_key_bio
      Src: /src/openssl/crypto/pem/pvkfmt.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - in
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 984
    functionDepth: 5
    functionLinenumber: 984
    functionLinenumberEnd: 991
    functionName: b2i_DSA_PVK_bio_ex
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - do_PVK_key_bio
    linkageType: ''
    returnType: DSA
    signature: "DSA *b2i_DSA_PVK_bio_ex(BIO *in, pem_password_cb *cb, void *u,\n                        OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_DSA_PVK_bio_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - cb
    - u
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 993
    functionDepth: 6
    functionLinenumber: 993
    functionLinenumberEnd: 996
    functionName: b2i_DSA_PVK_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - b2i_DSA_PVK_bio_ex
    linkageType: ''
    returnType: DSA
    signature: DSA *b2i_DSA_PVK_bio(BIO *in, pem_password_cb *cb, void *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_PVK_key_bio
      Src: /src/openssl/crypto/pem/pvkfmt.c:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - in
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 999
    functionDepth: 5
    functionLinenumber: 999
    functionLinenumberEnd: 1006
    functionName: b2i_RSA_PVK_bio_ex
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - do_PVK_key_bio
    linkageType: ''
    returnType: RSA
    signature: "RSA *b2i_RSA_PVK_bio_ex(BIO *in, pem_password_cb *cb, void *u,\n                        OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_RSA_PVK_bio_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - cb
    - u
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1008
    functionDepth: 6
    functionLinenumber: 1008
    functionLinenumberEnd: 1011
    functionName: b2i_RSA_PVK_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - b2i_RSA_PVK_bio_ex
    linkageType: ''
    returnType: RSA
    signature: RSA *b2i_RSA_PVK_bio(BIO *in, pem_password_cb *cb, void *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_PVK_key_bio
      Src: /src/openssl/crypto/pem/pvkfmt.c:1018,1
    - Dst: evp_pkey_new0_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:1020,1
    - Dst: isdss_to_evp_type
      Src: /src/openssl/crypto/pem/pvkfmt.c:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - in
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1013
    functionDepth: 5
    functionLinenumber: 1013
    functionLinenumberEnd: 1021
    functionName: b2i_PVK_bio_ex
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - evp_pkey_new0_key
    - isdss_to_evp_type
    - do_PVK_key_bio
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *b2i_PVK_bio_ex(BIO *in, pem_password_cb *cb, void *u,\n
      \                        OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_PVK_bio_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - cb
    - u
    argTypes:
    - BIO*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 6
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: b2i_PVK_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 1
    functionsReached:
    - b2i_PVK_bio_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: do_i2b
      Src: /src/openssl/crypto/pem/pvkfmt.c:1043,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pem/pvkfmt.c:1052,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/pem/pvkfmt.c:1057,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:1061,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:1062,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/pem/pvkfmt.c:1063,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:1064,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:1069,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:1070,1
    - Dst: write_ledword
      Src: /src/openssl/crypto/pem/pvkfmt.c:1071,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:1074,1
    - Dst: do_i2b
      Src: /src/openssl/crypto/pem/pvkfmt.c:1080,1
    - Dst: cb
      Src: /src/openssl/crypto/pem/pvkfmt.c:1087,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pvkfmt.c:1089,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:1091,1
    - Dst: derive_pvk_key
      Src: /src/openssl/crypto/pem/pvkfmt.c:1094,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pem/pvkfmt.c:1097,1
    - Dst: memset
      Src: /src/openssl/crypto/pem/pvkfmt.c:1100,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:1102,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pvkfmt.c:1104,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/pem/pvkfmt.c:1105,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:1107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:1110,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:1119,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:1121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:1124,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 77
    argCount: 7
    argNames:
    - out
    - pk
    - enclevel
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - unsigned char**
    - EVP_PKEY*
    - int
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1028
    functionDepth: 3
    functionLinenumber: 1028
    functionLinenumberEnd: 1127
    functionName: i2b_PVK
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_EncryptUpdate
    - EVP_PKEY_get_id
    - OPENSSL_free
    - cb
    - EVP_EncryptInit_ex
    - PEM_def_callback
    - EVP_CIPHER_free
    - OPENSSL_malloc
    - write_ledword
    - EVP_EncryptFinal_ex
    - do_i2b
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_new
    - memset
    - derive_pvk_key
    - EVP_CIPHER_CTX_free
    - RAND_bytes_ex
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int i2b_PVK(unsigned char **out, const EVP_PKEY *pk, int enclevel,\n
      \                  pem_password_cb *cb, void *u, OSSL_LIB_CTX *libctx,\n                   const
      char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2b_PVK
      Src: /src/openssl/crypto/pem/pvkfmt.c:1136,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pvkfmt.c:1139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pem/pvkfmt.c:1140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pvkfmt.c:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - out
    - pk
    - enclevel
    - cb
    - u
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - pem_password_cb*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1129
    functionDepth: 4
    functionLinenumber: 1129
    functionLinenumberEnd: 1146
    functionName: i2b_PVK_bio_ex
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - i2b_PVK
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int i2b_PVK_bio_ex(BIO *out, const EVP_PKEY *pk, int enclevel,\n                   pem_password_cb
      *cb, void *u, OSSL_LIB_CTX *libctx,\n                   const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2b_PVK_bio_ex
      Src: /src/openssl/crypto/pem/pvkfmt.c:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - pk
    - enclevel
    - cb
    - u
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1148
    functionDepth: 5
    functionLinenumber: 1148
    functionLinenumberEnd: 1152
    functionName: i2b_PVK_bio
    functionSourceFile: /src/openssl/crypto/pem/pvkfmt.c
    functionUses: 0
    functionsReached:
    - i2b_PVK_bio_ex
    linkageType: ''
    returnType: int
    signature: "int i2b_PVK_bio(BIO *out, const EVP_PKEY *pk, int enclevel,\n                pem_password_cb
      *cb, void *u)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:43,1
    - Dst: memcpy
      Src: /src/openssl/crypto/pem/pem_lib.c:45,1
    - Dst: EVP_get_pw_prompt
      Src: /src/openssl/crypto/pem/pem_lib.c:49,1
    - Dst: EVP_read_pw_string_min
      Src: /src/openssl/crypto/pem/pem_lib.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:64,1
    - Dst: memset
      Src: /src/openssl/crypto/pem/pem_lib.c:65,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - num
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 69
    functionName: PEM_def_callback
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    - memset
    - EVP_read_pw_string_min
    - memcpy
    - EVP_get_pw_prompt
    - strlen
    linkageType: ''
    returnType: int
    signature: int PEM_def_callback(char *buf, int num, int rwflag, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:74,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/pem/pem_lib.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: PEM_proc_type
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    functionsReached:
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void PEM_proc_type(char *buf, int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:91,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/pem/pem_lib.c:94,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/pem/pem_lib.c:99,1
    - Dst: strcpy
      Src: /src/openssl/crypto/pem/pem_lib.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - type
    - len
    - str
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: PEM_dek_info
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    functionsReached:
    - BIO_snprintf
    - strcpy
    - strlen
    linkageType: ''
    returnType: void
    signature: void PEM_dek_info(char *buf, const char *type, int len, const char
      *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_lib.c:117,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_lib.c:117,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:118,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_lib.c:121,1
    - Dst: PEM_ASN1_read_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:122,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - d2i
    - name
    - fp
    - x
    - cb
    - u
    argTypes:
    - d2i_of_void*
    - char*
    - FILE*
    - void**
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: PEM_ASN1_read
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - PEM_ASN1_read_bio
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: void
    signature: "void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp,
      void **x,\n                    pem_password_cb *cb, void *u)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:131,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:136,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:139,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:141,1
    - Dst: ossl_pem_check_suffix
      Src: /src/openssl/crypto/pem/pem_lib.c:143,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/crypto/pem/pem_lib.c:149,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:156,1
    - Dst: ossl_pem_check_suffix
      Src: /src/openssl/crypto/pem/pem_lib.c:159,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/crypto/pem/pem_lib.c:162,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/pem/pem_lib.c:170,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:178,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:179,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:184,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:185,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:188,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:189,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:193,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:194,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:197,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:198,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:202,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:203,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:206,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:207,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:211,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:212,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:215,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:216,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    argCount: 2
    argNames:
    - nm
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 221
    functionName: check_pem
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ossl_pem_check_suffix
    - ENGINE_finish
    - EVP_PKEY_asn1_find_str
    linkageType: ''
    returnType: int
    signature: int check_pem(const char *nm, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - flags
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: PEM_FREE
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEM_FREE(p, flags, num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_clear_free
      Src: /src/openssl/crypto/pem/pem_lib.c:229,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - p
    - flags
    - num
    - file
    - line
    argTypes:
    - void*
    - unsigned int
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: pem_free
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_free
    - CRYPTO_secure_clear_free
    linkageType: ''
    returnType: void
    signature: "void pem_free(void *p, unsigned int flags, size_t num,\n                     const
      char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: PEM_MALLOC
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEM_MALLOC(num, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_malloc
      Src: /src/openssl/crypto/pem/pem_lib.c:239,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/pem/pem_lib.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - flags
    - file
    - line
    argTypes:
    - int
    - unsigned int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: pem_malloc
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_malloc
    - CRYPTO_malloc
    linkageType: ''
    returnType: void
    signature: "void *pem_malloc(int num, unsigned int flags,\n                        const
      char *file, int line)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:256,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:257,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:258,1
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:259,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/pem/pem_lib.c:260,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/pem/pem_lib.c:260,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/pem/pem_lib.c:261,1
    - Dst: check_pem
      Src: /src/openssl/crypto/pem/pem_lib.c:264,1
    - Dst: PEM_get_EVP_CIPHER_INFO
      Src: /src/openssl/crypto/pem/pem_lib.c:265,1
    - Dst: PEM_do_header
      Src: /src/openssl/crypto/pem/pem_lib.c:267,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:280,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:281,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 8
    argNames:
    - pdata
    - plen
    - pnm
    - name
    - bp
    - cb
    - u
    - flags
    argTypes:
    - unsigned char**
    - long*
    - char**
    - char*
    - BIO*
    - pem_password_cb*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 285
    functionName: pem_bytes_read_bio_flags
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - PEM_FREE
    - ERR_add_error_data
    - PEM_get_EVP_CIPHER_INFO
    - ERR_GET_REASON
    - PEM_do_header
    - PEM_read_bio_ex
    - ERR_peek_error
    - check_pem
    linkageType: ''
    returnType: int
    signature: "int pem_bytes_read_bio_flags(unsigned char **pdata, long *plen,\n
      \                                   char **pnm, const char *name, BIO *bp,\n
      \                                   pem_password_cb *cb, void *u,\n                                    unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_bytes_read_bio_flags
      Src: /src/openssl/crypto/pem/pem_lib.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pdata
    - plen
    - pnm
    - name
    - bp
    - cb
    - u
    argTypes:
    - unsigned char**
    - long*
    - char**
    - char*
    - BIO*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: PEM_bytes_read_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 3
    functionsReached:
    - pem_bytes_read_bio_flags
    linkageType: ''
    returnType: int
    signature: "int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm,\n
      \                      const char *name, BIO *bp, pem_password_cb *cb,\n                       void
      *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pem_bytes_read_bio_flags
      Src: /src/openssl/crypto/pem/pem_lib.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pdata
    - plen
    - pnm
    - name
    - bp
    - cb
    - u
    argTypes:
    - unsigned char**
    - long*
    - char**
    - char*
    - BIO*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: PEM_bytes_read_bio_secmem
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    functionsReached:
    - pem_bytes_read_bio_flags
    linkageType: ''
    returnType: int
    signature: "int PEM_bytes_read_bio_secmem(unsigned char **pdata, long *plen, char
      **pnm,\n                              const char *name, BIO *bp, pem_password_cb
      *cb,\n                              void *u)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_lib.c:310,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_lib.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:311,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_lib.c:314,1
    - Dst: PEM_ASN1_write_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:315,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 9
    argNames:
    - i2d
    - name
    - fp
    - x
    - enc
    - kstr
    - klen
    - callback
    - u
    argTypes:
    - i2d_of_void*
    - char*
    - FILE*
    - void*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: PEM_ASN1_write
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - PEM_ASN1_write_bio
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: "int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp,\n
      \                  const void *x, const EVP_CIPHER *enc,\n                   const
      unsigned char *kstr, int klen,\n                   pem_password_cb *callback,
      void *u)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/pem/pem_lib.c:336,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:337,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:338,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:343,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:343,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:351,1
    - Dst: i2d
      Src: /src/openssl/crypto/pem/pem_lib.c:355,1
    - Dst: i2d_ctx
      Src: /src/openssl/crypto/pem/pem_lib.c:355,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:357,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pem/pem_lib.c:362,1
    - Dst: i2d
      Src: /src/openssl/crypto/pem/pem_lib.c:366,1
    - Dst: i2d_ctx
      Src: /src/openssl/crypto/pem/pem_lib.c:366,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pem_lib.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:375,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/pem/pem_lib.c:380,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/pem/pem_lib.c:385,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:385,1
    - Dst: EVP_BytesToKey
      Src: /src/openssl/crypto/pem/pem_lib.c:391,1
    - Dst: EVP_md5
      Src: /src/openssl/crypto/pem/pem_lib.c:391,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:395,1
    - Dst: PEM_proc_type
      Src: /src/openssl/crypto/pem/pem_lib.c:398,1
    - Dst: PEM_dek_info
      Src: /src/openssl/crypto/pem/pem_lib.c:399,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:399,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/pem/pem_lib.c:403,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:404,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/pem/pem_lib.c:405,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:406,1
    - Dst: PEM_write_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:415,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:419,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:420,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/pem/pem_lib.c:421,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:422,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pem/pem_lib.c:423,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 11
    argNames:
    - i2d
    - i2d_ctx
    - vctx
    - name
    - bp
    - x
    - enc
    - kstr
    - klen
    - callback
    - u
    argTypes:
    - i2d_of_void*
    - OSSL_i2d_of_void_ctx*
    - void*
    - char*
    - BIO*
    - void*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 425
    functionName: PEM_ASN1_write_bio_internal
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_md5
    - EVP_EncryptUpdate
    - ebcdic2ascii
    - i2d_ctx
    - EVP_BytesToKey
    - PEM_write_bio
    - strlen
    - EVP_EncryptInit_ex
    - PEM_def_callback
    - OPENSSL_malloc
    - PEM_dek_info
    - i2d
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_get0_name
    - PEM_proc_type
    - OPENSSL_clear_free
    - RAND_bytes
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_get_iv_length
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int PEM_ASN1_write_bio_internal(\n    i2d_of_void *i2d, OSSL_i2d_of_void_ctx
      *i2d_ctx, void *vctx,\n    const char *name, BIO *bp, const void *x, const EVP_CIPHER
      *enc,\n    const unsigned char *kstr, int klen, pem_password_cb *callback, void
      *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_ASN1_write_bio_internal
      Src: /src/openssl/crypto/pem/pem_lib.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - i2d
    - name
    - bp
    - x
    - enc
    - kstr
    - klen
    - callback
    - u
    argTypes:
    - i2d_of_void*
    - char*
    - BIO*
    - void*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: PEM_ASN1_write_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 3
    functionsReached:
    - PEM_ASN1_write_bio_internal
    linkageType: ''
    returnType: int
    signature: "int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp,
      const void *x,\n                   const EVP_CIPHER *enc, const unsigned char
      *kstr, int klen,\n                   pem_password_cb *callback, void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_ASN1_write_bio_internal
      Src: /src/openssl/crypto/pem/pem_lib.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - i2d
    - vctx
    - name
    - bp
    - x
    - enc
    - kstr
    - klen
    - callback
    - u
    argTypes:
    - OSSL_i2d_of_void_ctx*
    - void*
    - char*
    - BIO*
    - void*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: PEM_ASN1_write_bio_ctx
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - PEM_ASN1_write_bio_internal
    linkageType: ''
    returnType: int
    signature: "int PEM_ASN1_write_bio_ctx(OSSL_i2d_of_void_ctx *i2d, void *vctx,\n
      \                          const char *name, BIO *bp, const void *x,\n                           const
      EVP_CIPHER *enc, const unsigned char *kstr,\n                           int
      klen, pem_password_cb *callback, void *u)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:459,1
    - Dst: PEM_def_callback
      Src: /src/openssl/crypto/pem/pem_lib.c:467,1
    - Dst: callback
      Src: /src/openssl/crypto/pem/pem_lib.c:469,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:471,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/pem/pem_lib.c:476,1
    - Dst: EVP_BytesToKey
      Src: /src/openssl/crypto/pem/pem_lib.c:479,1
    - Dst: EVP_md5
      Src: /src/openssl/crypto/pem/pem_lib.c:479,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/pem/pem_lib.c:483,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:487,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/pem/pem_lib.c:489,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:493,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:498,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/pem/pem_lib.c:500,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:501,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pem/pem_lib.c:502,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - cipher
    - data
    - plen
    - callback
    - u
    argTypes:
    - EVP_CIPHER_INFO*
    - unsigned char*
    - long*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 504
    functionName: PEM_do_header
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 2
    functionsReached:
    - callback
    - EVP_CIPHER_CTX_new
    - PEM_def_callback
    - ERR_raise
    - EVP_md5
    - ebcdic2ascii
    - EVP_DecryptInit_ex
    - EVP_DecryptUpdate
    - EVP_BytesToKey
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: "int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long
      *plen,\n                  pem_password_cb *callback, void *u)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/pem/pem_lib.c:528,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:532,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:533,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:536,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:540,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:543,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:545,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:548,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:550,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:558,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:559,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:562,1
    - Dst: strcspn
      Src: /src/openssl/crypto/pem/pem_lib.c:569,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/crypto/pem/pem_lib.c:572,1
    - Dst: strspn
      Src: /src/openssl/crypto/pem/pem_lib.c:574,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:577,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:582,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:585,1
    - Dst: load_iv
      Src: /src/openssl/crypto/pem/pem_lib.c:589,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pem/pem_lib.c:589,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - header
    - cipher
    argTypes:
    - char*
    - EVP_CIPHER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 593
    functionName: PEM_get_EVP_CIPHER_INFO
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 2
    functionsReached:
    - memset
    - ERR_raise
    - strcspn
    - load_iv
    - CHECK_AND_SKIP_PREFIX
    - EVP_get_cipherbyname
    - strspn
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/pem/pem_lib.c:605,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - fromp
    - to
    - num
    argTypes:
    - char**
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 616
    functionName: load_iv
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OPENSSL_hexchar2int
    linkageType: ''
    returnType: int
    signature: int load_iv(char **fromp, unsigned char *to, int num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_lib.c:625,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_lib.c:625,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:626,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_lib.c:629,1
    - Dst: PEM_write_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:630,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - fp
    - name
    - header
    - data
    - len
    argTypes:
    - FILE*
    - char*
    - char*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 633
    functionName: PEM_write
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - PEM_write_bio
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: "int PEM_write(FILE *fp, const char *name, const char *header,\n              const
      unsigned char *data, long len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/crypto/pem/pem_lib.c:641,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/crypto/pem/pem_lib.c:650,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:651,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:653,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:654,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:655,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:660,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:662,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:662,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/pem/pem_lib.c:668,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/crypto/pem/pem_lib.c:675,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:679,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/crypto/pem/pem_lib.c:687,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:688,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:692,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:693,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pem/pem_lib.c:694,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:702,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/pem/pem_lib.c:703,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pem/pem_lib.c:704,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 5
    argNames:
    - bp
    - name
    - header
    - data
    - len
    argTypes:
    - BIO*
    - char*
    - char*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 706
    functionName: PEM_write_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 3
    functionsReached:
    - BIO_write
    - EVP_EncodeUpdate
    - EVP_EncodeInit
    - ERR_raise
    - OPENSSL_clear_free
    - OPENSSL_malloc_array
    - EVP_ENCODE_CTX_free
    - EVP_EncodeFinal
    - strlen
    - EVP_ENCODE_CTX_new
    linkageType: ''
    returnType: int
    signature: "int PEM_write_bio(BIO *bp, const char *name, const char *header,\n
      \                 const unsigned char *data, long len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_lib.c:715,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/pem/pem_lib.c:715,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:716,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/pem/pem_lib.c:719,1
    - Dst: PEM_read_bio
      Src: /src/openssl/crypto/pem/pem_lib.c:720,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - fp
    - name
    - header
    - data
    - len
    argTypes:
    - FILE*
    - char**
    - char**
    - unsigned char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 723
    functionName: PEM_read
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - PEM_read_bio
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: "int PEM_read(FILE *fp, char **name, char **header, unsigned char **data,\n
      \            long *len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:735,1
    - Dst: memmove
      Src: /src/openssl/crypto/pem/pem_lib.c:736,1
    - Dst: ossl_isbase64
      Src: /src/openssl/crypto/pem/pem_lib.c:750,1
    - Dst: ossl_iscntrl
      Src: /src/openssl/crypto/pem/pem_lib.c:761,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - linebuf
    - len
    - flags
    - first_call
    argTypes:
    - char*
    - int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 770
    functionName: sanitize_line
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ossl_isbase64
    - ossl_iscntrl
    - memmove
    linkageType: ''
    returnType: int
    signature: int sanitize_line(char *linebuf, int len, unsigned int flags, int first_call)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PEM_MALLOC
      Src: /src/openssl/crypto/pem/pem_lib.c:791,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/pem/pem_lib.c:796,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:799,1
    - Dst: sanitize_line
      Src: /src/openssl/crypto/pem/pem_lib.c:804,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:808,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:810,1
    - Dst: PEM_MALLOC
      Src: /src/openssl/crypto/pem/pem_lib.c:813,1
    - Dst: memcpy
      Src: /src/openssl/crypto/pem/pem_lib.c:816,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:820,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - bp
    - name
    - flags
    argTypes:
    - BIO*
    - char**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 822
    functionName: get_name
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_gets
    - memcpy
    - PEM_FREE
    - PEM_MALLOC
    - sanitize_line
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int get_name(BIO *bp, char **name, unsigned int flags)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PEM_MALLOC
      Src: /src/openssl/crypto/pem/pem_lib.c:855,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/pem/pem_lib.c:861,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:863,1
    - Dst: memchr
      Src: /src/openssl/crypto/pem/pem_lib.c:876,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:879,1
    - Dst: sanitize_line
      Src: /src/openssl/crypto/pem/pem_lib.c:881,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:892,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:903,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:904,1
    - Dst: strncmp
      Src: /src/openssl/crypto/pem/pem_lib.c:905,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/pem/pem_lib.c:906,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:907,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:917,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/pem/pem_lib.c:924,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:940,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 5
    argNames:
    - bp
    - header
    - data
    - name
    - flags
    argTypes:
    - BIO*
    - BIO**
    - BIO**
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 842
    functionDepth: 2
    functionLinenumber: 842
    functionLinenumberEnd: 942
    functionName: get_header_and_data
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_gets
    - BIO_puts
    - PEM_FREE
    - memchr
    - CHECK_AND_SKIP_PREFIX
    - strncmp
    - PEM_MALLOC
    - sanitize_line
    - strlen
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: "int get_header_and_data(BIO *bp, BIO **header, BIO **data, char *name,\n
      \                              unsigned int flags)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:965,1
    - Dst: BIO_s_secmem
      Src: /src/openssl/crypto/pem/pem_lib.c:968,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pem/pem_lib.c:968,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_lib.c:970,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pem/pem_lib.c:971,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:973,1
    - Dst: get_name
      Src: /src/openssl/crypto/pem/pem_lib.c:977,1
    - Dst: get_header_and_data
      Src: /src/openssl/crypto/pem/pem_lib.c:979,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/crypto/pem/pem_lib.c:982,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:984,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/crypto/pem/pem_lib.c:993,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:995,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/pem/pem_lib.c:999,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/crypto/pem/pem_lib.c:1000,1
    - Dst: EVP_DecodeFinal
      Src: /src/openssl/crypto/pem/pem_lib.c:1002,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pem/pem_lib.c:1004,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/pem/pem_lib.c:1010,1
    - Dst: PEM_MALLOC
      Src: /src/openssl/crypto/pem/pem_lib.c:1011,1
    - Dst: PEM_MALLOC
      Src: /src/openssl/crypto/pem/pem_lib.c:1012,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pem/pem_lib.c:1015,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pem/pem_lib.c:1018,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:1027,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:1029,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/pem/pem_lib.c:1032,1
    - Dst: PEM_FREE
      Src: /src/openssl/crypto/pem/pem_lib.c:1033,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:1034,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pem/pem_lib.c:1035,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 6
    argNames:
    - bp
    - name_out
    - header
    - data
    - len_out
    - flags
    argTypes:
    - BIO*
    - char**
    - char**
    - unsigned char**
    - long*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 950
    functionDepth: 3
    functionLinenumber: 950
    functionLinenumberEnd: 1037
    functionName: PEM_read_bio_ex
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - ERR_raise
    - get_header_and_data
    - EVP_DecodeInit
    - PEM_FREE
    - EVP_DecodeFinal
    - BIO_free
    - EVP_DecodeUpdate
    - EVP_ENCODE_CTX_free
    - BIO_get_mem_data
    - BIO_s_mem
    - get_name
    - BIO_s_secmem
    - PEM_MALLOC
    - BIO_get_mem_ptr
    - BIO_read
    - EVP_ENCODE_CTX_new
    linkageType: ''
    returnType: int
    signature: "int PEM_read_bio_ex(BIO *bp, char **name_out, char **header,\n                    unsigned
      char **data, long *len_out, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/crypto/pem/pem_lib.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - bp
    - name
    - header
    - data
    - len
    argTypes:
    - BIO*
    - char**
    - char**
    - unsigned char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1039
    functionDepth: 4
    functionLinenumber: 1039
    functionLinenumberEnd: 1043
    functionName: PEM_read_bio
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 2
    functionsReached:
    - PEM_read_bio_ex
    linkageType: ''
    returnType: int
    signature: "int PEM_read_bio(BIO *bp, char **name, char **header, unsigned char
      **data,\n                 long *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:1053,1
    - Dst: strlen
      Src: /src/openssl/crypto/pem/pem_lib.c:1054,1
    - Dst: strcmp
      Src: /src/openssl/crypto/pem/pem_lib.c:1060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pem_str
    - suffix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1066
    functionName: ossl_pem_check_suffix
    functionSourceFile: /src/openssl/crypto/pem/pem_lib.c
    functionUses: 2
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int ossl_pem_check_suffix(const char *pem_str, const char *suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - table
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: prefetch256
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefetch256(const void *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: GETU32
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: U64
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: U64
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: U64
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:494,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:495,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:496,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:497,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:516,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:517,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:538,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:539,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 569
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 1
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int AES_set_encrypt_key(const unsigned char *userKey, const int bits,\n
      \                       AES_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/aes/aes_x86core.c:583,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:618,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:619,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 650
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 1
    functionsReached:
    - ROTATE
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int AES_set_decrypt_key(const unsigned char *userKey, const int bits,\n
      \                       AES_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_x86core.c:664,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:671,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:672,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:673,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:674,1
    - Dst: prefetch256
      Src: /src/openssl/crypto/aes/aes_x86core.c:677,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:706,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:706,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:707,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:707,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:773,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:773,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:774,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:774,1
    - Dst: prefetch256
      Src: /src/openssl/crypto/aes/aes_x86core.c:812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 61
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    assertStmts:
    - condition: (in && out && key)
      pos:
        line_end: 663
        line_start: 663
        source_file: /src/openssl/crypto/aes/aes_x86core.c
    constantsTouched: []
    func_position:
      end: 864
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 864
    functionName: AES_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached:
    - prefetch256
    - ROTATE
    - GETU32
    - assert
    linkageType: ''
    returnType: void
    signature: "void AES_encrypt(const unsigned char *in, unsigned char *out,\n                 const
      AES_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_x86core.c:878,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:885,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:886,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:887,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_x86core.c:888,1
    - Dst: prefetch256
      Src: /src/openssl/crypto/aes/aes_x86core.c:891,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:931,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:932,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:932,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:1008,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:1009,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_x86core.c:1009,1
    - Dst: prefetch256
      Src: /src/openssl/crypto/aes/aes_x86core.c:1046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    assertStmts:
    - condition: (in && out && key)
      pos:
        line_end: 877
        line_start: 877
        source_file: /src/openssl/crypto/aes/aes_x86core.c
    constantsTouched: []
    func_position:
      end: 1072
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 1072
    functionName: AES_decrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_x86core.c
    functionUses: 0
    functionsReached:
    - prefetch256
    - ROTATE
    - GETU32
    - assert
    linkageType: ''
    returnType: void
    signature: "void AES_decrypt(const unsigned char *in, unsigned char *out,\n                 const
      AES_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: SWAP
    functionSourceFile: /src/openssl/crypto/aes/aes_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: GETU32
    functionSourceFile: /src/openssl/crypto/aes/aes_local.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: PUTU32
    functionSourceFile: /src/openssl/crypto/aes/aes_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(ct, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: GETU32
    functionSourceFile: /src/openssl/crypto/aes/aes_local.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: PUTU32
    functionSourceFile: /src/openssl/crypto/aes/aes_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(ct, st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_ecb.c:25,1
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_ecb.c:26,1
    - Dst: AES_encrypt
      Src: /src/openssl/crypto/aes/aes_ecb.c:29,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ecb.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - in
    - out
    - key
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    - int
    assertStmts:
    - condition: (in && out && key)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/openssl/crypto/aes/aes_ecb.c
    - condition: ((AES_ENCRYPT == enc) || (AES_DECRYPT == enc))
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/openssl/crypto/aes/aes_ecb.c
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: AES_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_ecb.c
    functionUses: 0
    functionsReached:
    - AES_encrypt
    - AES_decrypt
    - assert
    linkageType: ''
    returnType: void
    signature: "void AES_ecb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                    const AES_KEY *key, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_128_wrap
      Src: /src/openssl/crypto/aes/aes_wrap.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    argTypes:
    - AES_KEY*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: AES_wrap_key
    functionSourceFile: /src/openssl/crypto/aes/aes_wrap.c
    functionUses: 0
    functionsReached:
    - CRYPTO_128_wrap
    linkageType: ''
    returnType: int
    signature: "int AES_wrap_key(AES_KEY *key, const unsigned char *iv,\n                 unsigned
      char *out,\n                 const unsigned char *in, unsigned int inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_128_unwrap
      Src: /src/openssl/crypto/aes/aes_wrap.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key
    - iv
    - out
    - in
    - inlen
    argTypes:
    - AES_KEY*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: AES_unwrap_key
    functionSourceFile: /src/openssl/crypto/aes/aes_wrap.c
    functionUses: 0
    functionsReached:
    - CRYPTO_128_unwrap
    linkageType: ''
    returnType: int
    signature: "int AES_unwrap_key(AES_KEY *key, const unsigned char *iv,\n                   unsigned
      char *out,\n                   const unsigned char *in, unsigned int inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: AES_options
    functionSourceFile: /src/openssl/crypto/aes/aes_misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *AES_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: load_block
    functionSourceFile: /src/openssl/crypto/aes/aes_ige.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_block(d, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: store_block
    functionSourceFile: /src/openssl/crypto/aes/aes_ige.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: store_block(d, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: load_block
    functionSourceFile: /src/openssl/crypto/aes/aes_ige.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_block(d, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: store_block
    functionSourceFile: /src/openssl/crypto/aes/aes_ige.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: store_block(d, s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:58,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:59,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:60,1
    - Dst: AES_encrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:76,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:86,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:87,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:93,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:94,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:97,1
    - Dst: AES_encrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:100,1
    - Dst: store_block
      Src: /src/openssl/crypto/aes/aes_ige.c:104,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:111,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:112,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:129,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:139,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:140,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:146,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:147,1
    - Dst: load_block
      Src: /src/openssl/crypto/aes/aes_ige.c:150,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:154,1
    - Dst: store_block
      Src: /src/openssl/crypto/aes/aes_ige.c:158,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:165,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:166,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 169
    functionName: AES_ige_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_ige.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_assert
    - load_block
    - store_block
    - AES_encrypt
    - AES_decrypt
    linkageType: ''
    returnType: void
    signature: "void AES_ige_encrypt(const unsigned char *in, unsigned char *out,\n
      \                    size_t length, const AES_KEY *key,\n                     unsigned
      char *ivec, const int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:200,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:201,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/aes/aes_ige.c:202,1
    - Dst: AES_encrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:216,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:220,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:236,1
    - Dst: AES_encrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:242,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:255,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:268,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:269,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:272,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:275,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:286,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:287,1
    - Dst: AES_decrypt
      Src: /src/openssl/crypto/aes/aes_ige.c:290,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_ige.c:293,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - key2
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - AES_KEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 301
    functionName: AES_bi_ige_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_ige.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_assert
    - AES_decrypt
    - AES_encrypt
    linkageType: ''
    returnType: void
    signature: "void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       size_t length, const AES_KEY *key,\n                        const
      AES_KEY *key2, const unsigned char *ivec,\n                        const int
      enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/openssl/crypto/aes/aes_ofb.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: AES_ofb128_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_ofb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: "void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       size_t length, const AES_KEY *key,\n                        unsigned
      char *ivec, int *num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/openssl/crypto/aes/aes_cfb.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: AES_cfb128_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_cfb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: "void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       size_t length, const AES_KEY *key,\n                        unsigned
      char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/aes/aes_cfb.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: AES_cfb1_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_cfb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: void
    signature: "void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     size_t length, const AES_KEY *key,\n                      unsigned
      char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/openssl/crypto/aes/aes_cfb.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: AES_cfb8_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_cfb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_8_encrypt
    linkageType: ''
    returnType: void
    signature: "void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     size_t length, const AES_KEY *key,\n                      unsigned
      char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: U64
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: U64
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: U64
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - w
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: XtimeWord
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XtimeWord(u32 *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:91,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - w
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: XtimeLong
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - U64
    linkageType: ''
    returnType: void
    signature: void XtimeLong(u64 *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 1
    argNames:
    - w
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 234
    functionName: SubWord
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SubWord(u32 *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:241,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:241,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:242,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:243,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:244,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:244,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:245,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:246,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:246,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:247,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:248,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:248,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:249,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:250,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:250,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:251,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:252,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:252,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:253,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:255,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:256,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:256,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:258,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:259,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:261,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:262,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:263,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:264,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:265,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:267,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:269,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:271,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:272,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:274,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:275,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:277,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:280,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:282,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:284,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:285,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:286,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:288,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:290,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:291,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:294,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:295,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:297,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:297,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:299,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:300,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:302,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:303,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:304,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:305,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:306,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:308,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:310,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:310,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:311,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:312,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:313,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:313,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:314,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:315,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:315,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:316,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:317,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:317,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:318,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:319,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:319,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:320,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:321,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:321,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:322,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 1
    argNames:
    - w
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 325
    functionName: SubLong
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - U64
    linkageType: ''
    returnType: void
    signature: void SubLong(u64 *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:335,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:336,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:336,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:337,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:338,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:339,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:339,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:340,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:341,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:341,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:342,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:343,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:343,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:344,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:345,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:345,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:346,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:347,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:347,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:348,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:349,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:349,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:350,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:352,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:353,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:353,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:355,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:356,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:358,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:359,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:360,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:361,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:362,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:364,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:366,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:368,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:369,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:371,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:372,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:374,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:377,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:379,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:381,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:382,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:383,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:385,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:387,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:388,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:391,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:392,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:394,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:394,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:396,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:397,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:399,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:400,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:401,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:402,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:403,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:405,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:407,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:407,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:408,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:409,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:410,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:410,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:411,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:412,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:412,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:413,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:414,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:414,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:415,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:416,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:416,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:417,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:418,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:418,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:419,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:420,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:420,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 90
    argCount: 1
    argNames:
    - w
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 423
    functionName: InvSubLong
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - U64
    linkageType: ''
    returnType: void
    signature: void InvSubLong(u64 *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 442
    functionName: ShiftRows
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ShiftRows(u64 *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: InvShiftRows
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvShiftRows(u64 *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:472,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:473,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:474,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:475,1
    - Dst: XtimeLong
      Src: /src/openssl/crypto/aes/aes_core.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 489
    functionName: MixColumns
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - XtimeLong
    - U64
    linkageType: ''
    returnType: void
    signature: void MixColumns(u64 *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:500,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:501,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:502,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:503,1
    - Dst: XtimeLong
      Src: /src/openssl/crypto/aes/aes_core.c:505,1
    - Dst: XtimeLong
      Src: /src/openssl/crypto/aes/aes_core.c:515,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:516,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:517,1
    - Dst: XtimeLong
      Src: /src/openssl/crypto/aes/aes_core.c:519,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:520,1
    - Dst: U64
      Src: /src/openssl/crypto/aes/aes_core.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - state
    argTypes:
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 525
    functionName: InvMixColumns
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - XtimeLong
    - U64
    linkageType: ''
    returnType: void
    signature: void InvMixColumns(u64 *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - w
    argTypes:
    - u64*
    - u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: AddRoundKey
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddRoundKey(u64 *state, const u64 *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_core.c:539,1
    - Dst: AddRoundKey
      Src: /src/openssl/crypto/aes/aes_core.c:541,1
    - Dst: SubLong
      Src: /src/openssl/crypto/aes/aes_core.c:544,1
    - Dst: SubLong
      Src: /src/openssl/crypto/aes/aes_core.c:545,1
    - Dst: ShiftRows
      Src: /src/openssl/crypto/aes/aes_core.c:546,1
    - Dst: MixColumns
      Src: /src/openssl/crypto/aes/aes_core.c:547,1
    - Dst: AddRoundKey
      Src: /src/openssl/crypto/aes/aes_core.c:548,1
    - Dst: SubLong
      Src: /src/openssl/crypto/aes/aes_core.c:551,1
    - Dst: SubLong
      Src: /src/openssl/crypto/aes/aes_core.c:552,1
    - Dst: ShiftRows
      Src: /src/openssl/crypto/aes/aes_core.c:553,1
    - Dst: AddRoundKey
      Src: /src/openssl/crypto/aes/aes_core.c:554,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_core.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - in
    - out
    - w
    - nr
    argTypes:
    - unsigned char*
    - unsigned char*
    - u64*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 557
    functionName: Cipher
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - memcpy
    - MixColumns
    - SubLong
    - ShiftRows
    - AddRoundKey
    linkageType: ''
    returnType: void
    signature: "void Cipher(const unsigned char *in, unsigned char *out,\n                   const
      u64 *w, int nr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_core.c:566,1
    - Dst: AddRoundKey
      Src: /src/openssl/crypto/aes/aes_core.c:568,1
    - Dst: InvShiftRows
      Src: /src/openssl/crypto/aes/aes_core.c:571,1
    - Dst: InvSubLong
      Src: /src/openssl/crypto/aes/aes_core.c:572,1
    - Dst: InvSubLong
      Src: /src/openssl/crypto/aes/aes_core.c:573,1
    - Dst: AddRoundKey
      Src: /src/openssl/crypto/aes/aes_core.c:574,1
    - Dst: InvMixColumns
      Src: /src/openssl/crypto/aes/aes_core.c:575,1
    - Dst: InvShiftRows
      Src: /src/openssl/crypto/aes/aes_core.c:578,1
    - Dst: InvSubLong
      Src: /src/openssl/crypto/aes/aes_core.c:579,1
    - Dst: InvSubLong
      Src: /src/openssl/crypto/aes/aes_core.c:580,1
    - Dst: AddRoundKey
      Src: /src/openssl/crypto/aes/aes_core.c:581,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_core.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - in
    - out
    - w
    - nr
    argTypes:
    - unsigned char*
    - unsigned char*
    - u64*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 584
    functionName: InvCipher
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - InvMixColumns
    - InvShiftRows
    - memcpy
    - AddRoundKey
    - InvSubLong
    linkageType: ''
    returnType: void
    signature: "void InvCipher(const unsigned char *in, unsigned char *out,\n                      const
      u64 *w, int nr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 597
    functionName: RotWord
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RotWord(u32 *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_core.c:607,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aes/aes_core.c:608,1
    - Dst: RotWord
      Src: /src/openssl/crypto/aes/aes_core.c:614,1
    - Dst: SubWord
      Src: /src/openssl/crypto/aes/aes_core.c:615,1
    - Dst: XtimeWord
      Src: /src/openssl/crypto/aes/aes_core.c:617,1
    - Dst: SubWord
      Src: /src/openssl/crypto/aes/aes_core.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - key
    - w
    - nr
    - nk
    argTypes:
    - unsigned char*
    - u64*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 626
    functionName: KeyExpansion
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 0
    functionsReached:
    - memcpy
    - RotWord
    - SubWord
    - XtimeWord
    linkageType: ''
    returnType: void
    signature: "void KeyExpansion(const unsigned char *key, u64 *w,\n                         int
      nr, int nk)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: KeyExpansion
      Src: /src/openssl/crypto/aes/aes_core.c:650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 652
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 2
    functionsReached:
    - KeyExpansion
    linkageType: ''
    returnType: int
    signature: "int AES_set_encrypt_key(const unsigned char *userKey, const int bits,\n
      \                       AES_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/aes/aes_core.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 1
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int AES_set_decrypt_key(const unsigned char *userKey, const int bits,\n
      \                       AES_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_core.c:672,1
    - Dst: Cipher
      Src: /src/openssl/crypto/aes/aes_core.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    assertStmts:
    - condition: (in && out && key)
      pos:
        line_end: 671
        line_start: 671
        source_file: /src/openssl/crypto/aes/aes_core.c
    constantsTouched: []
    func_position:
      end: 676
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 676
    functionName: AES_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 3
    functionsReached:
    - Cipher
    - assert
    linkageType: ''
    returnType: void
    signature: "void AES_encrypt(const unsigned char *in, unsigned char *out,\n                 const
      AES_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_core.c:687,1
    - Dst: InvCipher
      Src: /src/openssl/crypto/aes/aes_core.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    assertStmts:
    - condition: (in && out && key)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/openssl/crypto/aes/aes_core.c
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 3
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: AES_decrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 3
    functionsReached:
    - InvCipher
    - assert
    linkageType: ''
    returnType: void
    signature: "void AES_decrypt(const unsigned char *in, unsigned char *out,\n                 const
      AES_KEY *key)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1300,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1301,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1302,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1303,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1322,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1323,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1344,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1345,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1375
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 3
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int AES_set_encrypt_key(const unsigned char *userKey, const int bits,\n
      \                       AES_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/aes/aes_core.c:1389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1427
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 1
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int AES_set_decrypt_key(const unsigned char *userKey, const int bits,\n
      \                       AES_KEY *key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_core.c:1442,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1449,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1450,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1451,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1452,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:1596,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:1603,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:1610,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:1617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 87
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    assertStmts:
    - condition: (in && out && key)
      pos:
        line_end: 1441
        line_start: 1441
        source_file: /src/openssl/crypto/aes/aes_core.c
    constantsTouched: []
    func_position:
      end: 1618
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1618
    functionName: AES_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 3
    functionsReached:
    - PUTU32
    - GETU32
    - assert
    linkageType: ''
    returnType: void
    signature: "void AES_encrypt(const unsigned char *in, unsigned char *out,\n                 const
      AES_KEY *key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aes/aes_core.c:1634,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1641,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1642,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1643,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1644,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:1788,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:1795,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:1802,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/aes/aes_core.c:1809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 87
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - AES_KEY*
    assertStmts:
    - condition: (in && out && key)
      pos:
        line_end: 1633
        line_start: 1633
        source_file: /src/openssl/crypto/aes/aes_core.c
    constantsTouched: []
    func_position:
      end: 1810
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1810
    functionName: AES_decrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 3
    functionsReached:
    - PUTU32
    - GETU32
    - assert
    linkageType: ''
    returnType: void
    signature: "void AES_decrypt(const unsigned char *in, unsigned char *out,\n                 const
      AES_KEY *key)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1878,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1879,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1880,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1881,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1900,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1901,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1922,1
    - Dst: GETU32
      Src: /src/openssl/crypto/aes/aes_core.c:1923,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1953
    functionName: AES_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 4
    functionsReached:
    - GETU32
    linkageType: ''
    returnType: int
    signature: "int AES_set_encrypt_key(const unsigned char *userKey, const int bits,\n
      \                       AES_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/aes/aes_core.c:1967,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_core.c:2001,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_core.c:2002,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/aes/aes_core.c:2002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - AES_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 2011
    functionName: AES_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aes/aes_core.c
    functionUses: 1
    functionsReached:
    - ROTATE
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int AES_set_decrypt_key(const unsigned char *userKey, const int bits,\n
      \                       AES_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/aes/aes_cbc.c:26,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/aes/aes_cbc.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - AES_KEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: AES_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/aes/aes_cbc.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: void
    signature: "void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,\n
      \                    size_t len, const AES_KEY *key,\n                     unsigned
      char *ivec, const int enc)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/txt_db/txt_db.c:31,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/txt_db/txt_db.c:33,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/txt_db/txt_db.c:36,1
    - Dst: sk_OPENSSL_PSTRING_new_null
      Src: /src/openssl/crypto/txt_db/txt_db.c:41,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/txt_db/txt_db.c:43,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/txt_db/txt_db.c:45,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/txt_db/txt_db.c:58,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/txt_db/txt_db.c:62,1
    - Dst: strlen
      Src: /src/openssl/crypto/txt_db/txt_db.c:67,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/txt_db/txt_db.c:73,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:104,1
    - Dst: sk_OPENSSL_PSTRING_push
      Src: /src/openssl/crypto/txt_db/txt_db.c:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:110,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:114,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:117,1
    - Dst: sk_OPENSSL_PSTRING_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:122,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    argCount: 2
    argNames:
    - in
    - num
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 125
    functionName: TXT_DB_read
    functionSourceFile: /src/openssl/crypto/txt_db/txt_db.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    - sk_OPENSSL_PSTRING_free
    - sk_OPENSSL_PSTRING_push
    - BIO_gets
    - OPENSSL_malloc_array
    - OPENSSL_free
    - BUF_MEM_grow_clean
    - BUF_MEM_new
    - strlen
    - BUF_MEM_grow
    - OPENSSL_malloc
    - sk_OPENSSL_PSTRING_new_null
    linkageType: ''
    returnType: TXT_DB
    signature: TXT_DB *TXT_DB_read(BIO *in, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/openssl/crypto/txt_db/txt_db.c:131,1
    - Dst: lh_OPENSSL_STRING_retrieve
      Src: /src/openssl/crypto/txt_db/txt_db.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - db
    - idx
    - value
    argTypes:
    - TXT_DB*
    - int
    - OPENSSL_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: TXT_DB_get_by_index
    functionSourceFile: /src/openssl/crypto/txt_db/txt_db.c
    functionUses: 0
    functionsReached:
    - LHASH_OF
    - lh_OPENSSL_STRING_retrieve
    linkageType: ''
    returnType: OPENSSL_STRING
    signature: "OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx,\n                                    OPENSSL_STRING
      *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/openssl/crypto/txt_db/txt_db.c:150,1
    - Dst: LHASH_OF
      Src: /src/openssl/crypto/txt_db/txt_db.c:159,1
    - Dst: OPENSSL_LH_new
      Src: /src/openssl/crypto/txt_db/txt_db.c:159,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/crypto/txt_db/txt_db.c:163,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/crypto/txt_db/txt_db.c:165,1
    - Dst: qual
      Src: /src/openssl/crypto/txt_db/txt_db.c:166,1
    - Dst: lh_OPENSSL_STRING_insert
      Src: /src/openssl/crypto/txt_db/txt_db.c:168,1
    - Dst: sk_OPENSSL_PSTRING_find
      Src: /src/openssl/crypto/txt_db/txt_db.c:170,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:172,1
    - Dst: lh_OPENSSL_STRING_retrieve
      Src: /src/openssl/crypto/txt_db/txt_db.c:175,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:177,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - db
    - field
    - hash
    - cmp
    argTypes:
    - TXT_DB*
    - int
    - OPENSSL_LH_HASHFUNC
    - OPENSSL_LH_COMPFUNC
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 185
    functionName: TXT_DB_create_index
    functionSourceFile: /src/openssl/crypto/txt_db/txt_db.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_PSTRING_num
    - qual
    - sk_OPENSSL_PSTRING_find
    - lh_OPENSSL_STRING_insert
    - LHASH_OF
    - lh_OPENSSL_STRING_free
    - lh_OPENSSL_STRING_retrieve
    - OPENSSL_LH_new
    - sk_OPENSSL_PSTRING_value
    linkageType: ''
    returnType: int
    signature: "int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING
      *),\n                        OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC cmp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/txt_db/txt_db.c:194,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/crypto/txt_db/txt_db.c:196,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/crypto/txt_db/txt_db.c:199,1
    - Dst: strlen
      Src: /src/openssl/crypto/txt_db/txt_db.c:204,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/txt_db/txt_db.c:206,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/txt_db/txt_db.c:224,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:230,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - out
    - db
    argTypes:
    - BIO*
    - TXT_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 232
    functionName: TXT_DB_write
    functionSourceFile: /src/openssl/crypto/txt_db/txt_db.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - sk_OPENSSL_PSTRING_num
    - BUF_MEM_free
    - sk_OPENSSL_PSTRING_value
    - BUF_MEM_grow_clean
    - BUF_MEM_new
    - strlen
    linkageType: ''
    returnType: long
    signature: long TXT_DB_write(BIO *out, TXT_DB *db)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lh_OPENSSL_STRING_retrieve
      Src: /src/openssl/crypto/txt_db/txt_db.c:243,1
    - Dst: lh_OPENSSL_STRING_insert
      Src: /src/openssl/crypto/txt_db/txt_db.c:257,1
    - Dst: lh_OPENSSL_STRING_retrieve
      Src: /src/openssl/crypto/txt_db/txt_db.c:258,1
    - Dst: sk_OPENSSL_PSTRING_push
      Src: /src/openssl/crypto/txt_db/txt_db.c:262,1
    - Dst: lh_OPENSSL_STRING_delete
      Src: /src/openssl/crypto/txt_db/txt_db.c:272,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - db
    - row
    argTypes:
    - TXT_DB*
    - OPENSSL_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 277
    functionName: TXT_DB_insert
    functionSourceFile: /src/openssl/crypto/txt_db/txt_db.c
    functionUses: 0
    functionsReached:
    - lh_OPENSSL_STRING_insert
    - lh_OPENSSL_STRING_delete
    - lh_OPENSSL_STRING_retrieve
    - sk_OPENSSL_PSTRING_push
    linkageType: ''
    returnType: int
    signature: int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *row)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:288,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:289,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:291,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/crypto/txt_db/txt_db.c:293,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/crypto/txt_db/txt_db.c:298,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:302,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:309,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/crypto/txt_db/txt_db.c:309,1
    - Dst: sk_OPENSSL_PSTRING_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/txt_db/txt_db.c:313,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - db
    argTypes:
    - TXT_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 314
    functionName: TXT_DB_free
    functionSourceFile: /src/openssl/crypto/txt_db/txt_db.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_PSTRING_num
    - sk_OPENSSL_PSTRING_free
    - lh_OPENSSL_STRING_free
    - OPENSSL_free
    - sk_OPENSSL_PSTRING_value
    linkageType: ''
    returnType: void
    signature: void TXT_DB_free(TXT_DB *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: ROTL
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL(x, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: U32TO8_LE
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: U64TO8_LE
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: U8TO64_LE
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TO64_LE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: SipHash_ctx_size
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SipHash_ctx_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SIPHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: SipHash_hash_size
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SipHash_hash_size(SIPHASH *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hash_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: siphash_adjust_hash_size
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t siphash_adjust_hash_size(size_t hash_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: siphash_adjust_hash_size
      Src: /src/openssl/crypto/siphash/siphash.c:87,1
    - Dst: siphash_adjust_hash_size
      Src: /src/openssl/crypto/siphash/siphash.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - hash_size
    argTypes:
    - SIPHASH*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: SipHash_set_hash_size
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached:
    - siphash_adjust_hash_size
    linkageType: ''
    returnType: int
    signature: int SipHash_set_hash_size(SIPHASH *ctx, size_t hash_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: U8TO64_LE
      Src: /src/openssl/crypto/siphash/siphash.c:111,1
    - Dst: U8TO64_LE
      Src: /src/openssl/crypto/siphash/siphash.c:112,1
    - Dst: siphash_adjust_hash_size
      Src: /src/openssl/crypto/siphash/siphash.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - k
    - crounds
    - drounds
    argTypes:
    - SIPHASH*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 137
    functionName: SipHash_Init
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached:
    - siphash_adjust_hash_size
    - U8TO64_LE
    linkageType: ''
    returnType: int
    signature: int SipHash_Init(SIPHASH *ctx, const unsigned char *k, int crounds,
      int drounds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/siphash/siphash.c:158,1
    - Dst: memcpy
      Src: /src/openssl/crypto/siphash/siphash.c:164,1
    - Dst: U8TO64_LE
      Src: /src/openssl/crypto/siphash/siphash.c:169,1
    - Dst: U8TO64_LE
      Src: /src/openssl/crypto/siphash/siphash.c:179,1
    - Dst: memcpy
      Src: /src/openssl/crypto/siphash/siphash.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - SIPHASH*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 195
    functionName: SipHash_Update
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached:
    - memcpy
    - U8TO64_LE
    linkageType: ''
    returnType: void
    signature: void SipHash_Update(SIPHASH *ctx, const unsigned char *in, size_t inlen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: U64TO8_LE
      Src: /src/openssl/crypto/siphash/siphash.c:246,1
    - Dst: U64TO8_LE
      Src: /src/openssl/crypto/siphash/siphash.c:253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - SIPHASH*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 255
    functionName: SipHash_Final
    functionSourceFile: /src/openssl/crypto/siphash/siphash.c
    functionUses: 0
    functionsReached:
    - U64TO8_LE
    linkageType: ''
    returnType: int
    signature: int SipHash_Final(SIPHASH *ctx, unsigned char *out, size_t outlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:25,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:38,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:40,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:40,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:44,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:48,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:49,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:52,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_key_generate.c:58,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - params
    - N
    - s
    - priv
    argTypes:
    - BN_CTX*
    - FFC_PARAMS*
    - int
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 60
    functionName: ossl_ffc_generate_private_key
    functionSourceFile: /src/openssl/crypto/ffc/ffc_key_generate.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - BN_value_one
    - BN_priv_rand_range_ex
    - BN_new
    - BN_add_word
    - BN_free
    - BN_num_bits
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_generate_private_key(BN_CTX *ctx, const FFC_PARAMS *params,\n
      \                                 int N, int s, BIGNUM *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ffc/ffc_params.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - FFC_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: ossl_ffc_params_init
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_params_init(FFC_PARAMS *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:31,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:32,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:33,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:34,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:35,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:37,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:38,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:39,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:41,1
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/crypto/ffc/ffc_params.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - params
    argTypes:
    - FFC_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: ossl_ffc_params_cleanup
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - OPENSSL_clear_free
    - OPENSSL_free
    - ossl_ffc_params_init
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_params_cleanup(FFC_PARAMS *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:49,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:53,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: ossl_ffc_params_set0_pqg
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_params_set0_pqg(FFC_PARAMS *d, BIGNUM *p, BIGNUM *q,
      BIGNUM *g)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - FFC_PARAMS*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: ossl_ffc_params_get0_pqg
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_ffc_params_get0_pqg(const FFC_PARAMS *d, const BIGNUM **p,\n
      \                             const BIGNUM **q, const BIGNUM **g)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - d
    - j
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: ossl_ffc_params_set0_j
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_params_set0_j(FFC_PARAMS *d, BIGNUM *j)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:89,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ffc/ffc_params.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - params
    - seed
    - seedlen
    argTypes:
    - FFC_PARAMS*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: ossl_ffc_params_set_seed
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_set_seed(FFC_PARAMS *params,\n                             const
      unsigned char *seed, size_t seedlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - index
    argTypes:
    - FFC_PARAMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ossl_ffc_params_set_gindex
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_params_set_gindex(FFC_PARAMS *params, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - index
    argTypes:
    - FFC_PARAMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ossl_ffc_params_set_pcounter
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_params_set_pcounter(FFC_PARAMS *params, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - index
    argTypes:
    - FFC_PARAMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: ossl_ffc_params_set_h
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_params_set_h(FFC_PARAMS *params, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - flags
    argTypes:
    - FFC_PARAMS*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ossl_ffc_params_set_flags
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_params_set_flags(FFC_PARAMS *params, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - params
    - flags
    - enable
    argTypes:
    - FFC_PARAMS*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: ossl_ffc_params_enable_flags
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_ffc_params_enable_flags(FFC_PARAMS *params, unsigned int
      flags,\n                                  int enable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - params
    - alg
    - props
    argTypes:
    - FFC_PARAMS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ossl_ffc_set_digest
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ffc_set_digest(FFC_PARAMS *params, const char *alg, const
      char *props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_set_seed
      Src: /src/openssl/crypto/ffc/ffc_params.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - params
    - seed
    - seedlen
    - counter
    argTypes:
    - FFC_PARAMS*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: ossl_ffc_params_set_validate_params
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_set_seed
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_set_validate_params(FFC_PARAMS *params,\n                                        const
      unsigned char *seed,\n                                        size_t seedlen,
      int counter)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - params
    - seed
    - seedlen
    - pcounter
    argTypes:
    - FFC_PARAMS*
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: ossl_ffc_params_get_validate_params
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_ffc_params_get_validate_params(const FFC_PARAMS *params,\n
      \                                        unsigned char **seed, size_t *seedlen,\n
      \                                        int *pcounter)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/ffc/ffc_params.c:171,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/ffc/ffc_params.c:172,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params.c:174,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - BIGNUM**
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: ffc_bn_cpy
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - BN_get_flags
    - BN_dup
    linkageType: ''
    returnType: int
    signature: int ffc_bn_cpy(BIGNUM **dst, const BIGNUM *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ffc_bn_cpy
      Src: /src/openssl/crypto/ffc/ffc_params.c:183,1
    - Dst: ffc_bn_cpy
      Src: /src/openssl/crypto/ffc/ffc_params.c:184,1
    - Dst: ffc_bn_cpy
      Src: /src/openssl/crypto/ffc/ffc_params.c:185,1
    - Dst: ffc_bn_cpy
      Src: /src/openssl/crypto/ffc/ffc_params.c:186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ffc/ffc_params.c:191,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ffc/ffc_params.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - FFC_PARAMS*
    - FFC_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 207
    functionName: ossl_ffc_params_copy
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - ffc_bn_cpy
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int ossl_ffc_params_copy(FFC_PARAMS *dst, const FFC_PARAMS *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params.c:211,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params.c:212,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - ignore_q
    argTypes:
    - FFC_PARAMS*
    - FFC_PARAMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: ossl_ffc_params_cmp
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_ffc_params_cmp(const FFC_PARAMS *a, const FFC_PARAMS *b, int
      ignore_q)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ffc/ffc_params.c:222,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ffc/ffc_params.c:225,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ffc/ffc_params.c:228,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ffc/ffc_params.c:231,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:234,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:237,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:240,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/crypto/ffc/ffc_params.c:243,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/ffc/ffc_params.c:248,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/ffc/ffc_params.c:249,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ffc/ffc_params.c:252,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:258,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:262,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ffc/ffc_params.c:266,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ffc/ffc_params.c:272,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ffc/ffc_params.c:277,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 3
    argNames:
    - ffc
    - bld
    - params
    argTypes:
    - FFC_PARAMS*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 282
    functionName: ossl_ffc_params_todata
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_utf8_string
    - ossl_ffc_named_group_get_name
    - ossl_param_build_set_bn
    - ossl_ffc_uid_to_dh_named_group
    - ossl_param_build_set_int
    - ossl_param_build_set_octet_string
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_todata(const FFC_PARAMS *ffc, OSSL_PARAM_BLD *bld,\n
      \                     OSSL_PARAM params[])"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ffc/ffc_params.c:287,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ffc/ffc_params.c:289,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ffc/ffc_params.c:292,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ffc/ffc_params.c:295,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ffc/ffc_params.c:300,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ffc/ffc_params.c:301,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ffc/ffc_params.c:305,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ffc/ffc_params.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ffc/ffc_params.c:309,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ffc/ffc_params.c:313,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ffc/ffc_params.c:317,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ffc/ffc_params.c:318,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 3
    argNames:
    - bp
    - ffc
    - indent
    argTypes:
    - BIO*
    - FFC_PARAMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 324
    functionName: ossl_ffc_params_print
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ASN1_bn_print
    - BIO_puts
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_ffc_params_print(BIO *bp, const FFC_PARAMS *ffc, int indent)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:27,1
    - Dst: ossl_ffc_name_to_dh_named_group
      Src: /src/openssl/crypto/ffc/ffc_backend.c:38,1
    - Dst: ossl_ffc_named_group_set
      Src: /src/openssl/crypto/ffc/ffc_backend.c:39,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:44,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:45,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:46,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ffc/ffc_backend.c:48,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ffc/ffc_backend.c:49,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ffc/ffc_backend.c:50,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:53,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ffc/ffc_backend.c:55,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:59,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ffc/ffc_backend.c:61,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:65,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ffc/ffc_backend.c:66,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:68,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ffc/ffc_backend.c:70,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:74,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/openssl/crypto/ffc/ffc_backend.c:77,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:80,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ffc/ffc_backend.c:82,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/crypto/ffc/ffc_backend.c:84,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:86,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ffc/ffc_backend.c:88,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/crypto/ffc/ffc_backend.c:90,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:92,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ffc/ffc_backend.c:94,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/crypto/ffc/ffc_backend.c:96,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:99,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ffc/ffc_backend.c:106,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/crypto/ffc/ffc_backend.c:112,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/crypto/ffc/ffc_backend.c:114,1
    - Dst: ossl_ffc_params_set0_j
      Src: /src/openssl/crypto/ffc/ffc_backend.c:115,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_backend.c:119,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_backend.c:120,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_backend.c:121,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_backend.c:122,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 90
    argCount: 2
    argNames:
    - ffc
    - params
    argTypes:
    - FFC_PARAMS*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 124
    functionName: ossl_ffc_params_fromdata
    functionSourceFile: /src/openssl/crypto/ffc/ffc_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_locate_const
    - ossl_ffc_named_group_set
    - ossl_ffc_params_set0_j
    - ossl_ffc_params_set_seed
    - ossl_ffc_params_set0_pqg
    - ossl_ffc_params_enable_flags
    - OSSL_PARAM_get_int
    - BN_free
    - ossl_ffc_name_to_dh_named_group
    - ossl_ffc_set_digest
    linkageType: ''
    returnType: int
    signature: int ossl_ffc_params_fromdata(FFC_PARAMS *ffc, const OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:33,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:33,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:33,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:43,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:45,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 7
    argNames:
    - ctx
    - mont
    - p
    - q
    - g
    - tmp
    - ret
    argTypes:
    - BN_CTX*
    - BN_MONT_CTX*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 50
    functionName: ossl_ffc_params_validate_unverifiable_g
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - BN_mod_exp_mont
    - BN_value_one
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_validate_unverifiable_g(BN_CTX *ctx, BN_MONT_CTX
      *mont,\n                                            const BIGNUM *p, const BIGNUM
      *q,\n                                            const BIGNUM *g, BIGNUM *tmp,\n
      \                                           int *ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:62,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:63,1
    - Dst: ossl_ffc_params_FIPS186_4_gen_verify
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - libctx
    - params
    - type
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: ossl_ffc_params_FIPS186_4_validate
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_4_gen_verify
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_FIPS186_4_validate(OSSL_LIB_CTX *libctx,\n                                       const
      FFC_PARAMS *params, int type,\n                                       int *res,
      BN_GENCB *cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:82,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:83,1
    - Dst: ossl_ffc_params_FIPS186_2_gen_verify
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - libctx
    - params
    - type
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: ossl_ffc_params_FIPS186_2_validate
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_2_gen_verify
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_FIPS186_2_validate(OSSL_LIB_CTX *libctx,\n                                       const
      FFC_PARAMS *params, int type,\n                                       int *res,
      BN_GENCB *cb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:108,1
    - Dst: ossl_ffc_params_FIPS186_2_validate
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:116,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:125,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - libctx
    - params
    - paramstype
    - res
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 132
    functionName: ossl_ffc_params_simple_validate
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_FIPS186_2_validate
    - ossl_ffc_params_copy
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_simple_validate(OSSL_LIB_CTX *libctx, const FFC_PARAMS
      *params,\n                                    int paramstype, int *res)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:151,1
    - Dst: ossl_ffc_params_FIPS186_2_validate
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:156,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:159,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:164,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:168,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:172,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:178,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_validate.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - libctx
    - params
    - paramstype
    - res
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 187
    functionName: ossl_ffc_params_full_validate
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_validate.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_simple_validate
    - ERR_raise
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_FIPS186_2_validate
    - BN_CTX_free
    - BN_check_prime
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_full_validate(OSSL_LIB_CTX *libctx, const FFC_PARAMS
      *params,\n                                  int paramstype, int *res)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:49,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:61,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 4
    argNames:
    - L
    - N
    - type
    - verify
    argTypes:
    - size_t
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: ffc_validate_LN
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ffc_validate_LN(size_t L, size_t N, int type, int verify)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:87,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - L
    - N
    - type
    - verify
    argTypes:
    - size_t
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: ffc_validate_LN
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ffc_validate_LN(size_t L, size_t N, int type, int verify)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:103,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:108,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:111,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:111,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:115,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 8
    argNames:
    - ctx
    - mont
    - g
    - hbn
    - p
    - e
    - pm1
    - hret
    argTypes:
    - BN_CTX*
    - BN_MONT_CTX*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 121
    functionName: generate_unverifiable_g
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - BN_set_word
    - BN_mod_exp_mont
    - BN_value_one
    - BN_add_word
    linkageType: ''
    returnType: int
    signature: "int generate_unverifiable_g(BN_CTX *ctx, BN_MONT_CTX *mont, BIGNUM
      *g,\n                                   BIGNUM *hbn, const BIGNUM *p,\n                                   const
      BIGNUM *e,const BIGNUM *pm1,\n                                   int *hret)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:143,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:147,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:168,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:169,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:170,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:171,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:172,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:173,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:174,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:181,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:181,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 10
    argNames:
    - ctx
    - mont
    - evpmd
    - g
    - tmp
    - p
    - e
    - gindex
    - seed
    - seedlen
    argTypes:
    - BN_CTX*
    - BN_MONT_CTX*
    - EVP_MD*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 188
    functionName: generate_canonical_g
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - BN_cmp
    - BN_mod_exp_mont
    - BN_value_one
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - BN_bin2bn
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: "int generate_canonical_g(BN_CTX *ctx, BN_MONT_CTX *mont,\n                                const
      EVP_MD *evpmd, BIGNUM *g, BIGNUM *tmp,\n                                const
      BIGNUM *p, const BIGNUM *e,\n                                int gindex, unsigned
      char *seed, size_t seedlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:202,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:203,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:204,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:205,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:206,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:207,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:211,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:211,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:214,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:227,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:230,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:244,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:245,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:251,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:252,1
    - Dst: BN_mask_bits
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:261,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:262,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:263,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:269,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:270,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:276,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:276,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:277,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:286,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:293,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:309,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 54
    argCount: 12
    argNames:
    - ctx
    - evpmd
    - max_counter
    - n
    - buf
    - buf_len
    - q
    - p
    - L
    - cb
    - counter
    - res
    argTypes:
    - BN_CTX*
    - EVP_MD*
    - int
    - int
    - unsigned char*
    - size_t
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_GENCB*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 311
    functionName: generate_p
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_mask_bits
    - BN_CTX_end
    - BN_CTX_start
    - BN_mod
    - EVP_MD_get_size
    - BN_cmp
    - BN_value_one
    - BN_zero
    - EVP_Digest
    - BN_add
    - BN_bin2bn
    - BN_GENCB_call
    - BN_lshift1
    - BN_sub
    - BN_copy
    - BN_check_prime
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: "int generate_p(BN_CTX *ctx, const EVP_MD *evpmd, int max_counter,
      int n,\n                      unsigned char *buf, size_t buf_len, const BIGNUM
      *q,\n                      BIGNUM *p, int L, BN_GENCB *cb, int *counter,\n                      int
      *res)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:321,1
    - Dst: ossl_bn_get_libctx
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:323,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:330,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:335,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:342,1
    - Dst: memset
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:350,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:359,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:367,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 10
    argNames:
    - ctx
    - q
    - evpmd
    - qsize
    - seed
    - seedlen
    - generate_seed
    - retm
    - res
    - cb
    argTypes:
    - BN_CTX*
    - BIGNUM*
    - EVP_MD*
    - int
    - unsigned char*
    - size_t
    - int
    - int*
    - int*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 387
    functionName: generate_q_fips186_4
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - memset
    - EVP_MD_get_size
    - ossl_bn_get_libctx
    - EVP_Digest
    - BN_bin2bn
    - BN_GENCB_call
    - RAND_bytes_ex
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: "int generate_q_fips186_4(BN_CTX *ctx, BIGNUM *q, const EVP_MD *evpmd,\n
      \                               int qsize, unsigned char *seed, size_t seedlen,\n
      \                               int generate_seed, int *retm, int *res,\n                                BN_GENCB
      *cb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_get_libctx
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:397,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:402,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:405,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:408,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:409,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:419,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:421,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:429,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:433,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 10
    argNames:
    - ctx
    - q
    - evpmd
    - buf
    - seed
    - qsize
    - generate_seed
    - retm
    - res
    - cb
    argTypes:
    - BN_CTX*
    - BIGNUM*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    - int*
    - int*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 447
    functionName: generate_q_fips186_2
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_bn_get_libctx
    - EVP_Digest
    - BN_bin2bn
    - BN_GENCB_call
    - RAND_bytes_ex
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: "int generate_q_fips186_2(BN_CTX *ctx, BIGNUM *q, const EVP_MD *evpmd,\n
      \                               unsigned char *buf, unsigned char *seed,\n                                size_t
      qsize, int generate_seed, int *retm,\n                                int *res,
      BN_GENCB *cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - N
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: default_mdname
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *default_mdname(size_t N)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:540,1
    - Dst: default_mdname
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:544,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:549,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:553,1
    - Dst: ffc_validate_LN
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:566,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:571,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:575,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:578,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:579,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:580,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:581,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:582,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:583,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:631,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:632,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:646,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:657,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:682,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:682,1
    - Dst: generate_q_fips186_4
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:686,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:690,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:694,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:696,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:699,1
    - Dst: generate_p
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:700,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:716,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:722,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:729,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:731,1
    - Dst: ossl_ffc_params_validate_unverifiable_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:735,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:745,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:745,1
    - Dst: BN_div
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:745,1
    - Dst: generate_canonical_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:751,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:757,1
    - Dst: generate_unverifiable_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:762,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:766,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:771,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:772,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:775,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:776,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:779,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:780,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:784,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:797,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:798,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:800,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:801,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:802,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:803,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:804,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 227
    argCount: 8
    argNames:
    - libctx
    - params
    - mode
    - type
    - L
    - N
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int
    - size_t
    - size_t
    - int*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 806
    functionName: ossl_ffc_params_FIPS186_4_gen_verify
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - BN_div
    - memcpy
    - OPENSSL_free
    - BN_dup
    - ossl_ffc_params_set_validate_params
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_MONT_CTX_set
    - generate_p
    - BN_cmp
    - BN_CTX_free
    - generate_q_fips186_4
    - ffc_validate_LN
    - generate_canonical_g
    - BN_MONT_CTX_free
    - BN_free
    - OPENSSL_malloc
    - BN_GENCB_call
    - generate_unverifiable_g
    - BN_sub
    - EVP_MD_fetch
    - BN_MONT_CTX_new
    - BN_lshift
    - BN_CTX_get
    - BN_CTX_start
    - default_mdname
    - EVP_MD_get_size
    - BN_value_one
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ossl_ffc_params_validate_unverifiable_g
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_FIPS186_4_gen_verify(OSSL_LIB_CTX *libctx,\n                                         FFC_PARAMS
      *params, int mode, int type,\n                                         size_t
      L, size_t N, int *res,\n                                         BN_GENCB *cb)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:836,1
    - Dst: default_mdname
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:840,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:845,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:849,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:883,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:886,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:890,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:892,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:893,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:894,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:895,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:896,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:897,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:901,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:901,1
    - Dst: generate_q_fips186_2
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:937,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:941,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:943,1
    - Dst: generate_p
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:958,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:968,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:976,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:985,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:987,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:993,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:993,1
    - Dst: BN_div
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:996,1
    - Dst: generate_unverifiable_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:998,1
    - Dst: ossl_ffc_params_validate_unverifiable_g
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1001,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1007,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1012,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1013,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1016,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1017,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1020,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1021,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1025,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1036,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1037,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1038,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1039,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 198
    argCount: 8
    argNames:
    - libctx
    - params
    - mode
    - type
    - L
    - N
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - int
    - size_t
    - size_t
    - int*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 1041
    functionName: ossl_ffc_params_FIPS186_2_gen_verify
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - BN_div
    - memcpy
    - BN_dup
    - ossl_ffc_params_set_validate_params
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_MONT_CTX_set
    - generate_p
    - BN_cmp
    - BN_CTX_free
    - BN_MONT_CTX_free
    - BN_free
    - BN_GENCB_call
    - generate_unverifiable_g
    - generate_q_fips186_2
    - BN_sub
    - EVP_MD_fetch
    - BN_MONT_CTX_new
    - BN_lshift
    - BN_CTX_get
    - BN_CTX_start
    - default_mdname
    - EVP_MD_get_size
    - BN_value_one
    - ossl_ffc_params_validate_unverifiable_g
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_FIPS186_2_gen_verify(OSSL_LIB_CTX *libctx,\n                                         FFC_PARAMS
      *params, int mode, int type,\n                                         size_t
      L, size_t N, int *res,\n                                         BN_GENCB *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_4_gen_verify
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - libctx
    - params
    - type
    - L
    - N
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - size_t
    - size_t
    - int*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1050
    functionName: ossl_ffc_params_FIPS186_4_generate
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_4_gen_verify
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_FIPS186_4_generate(OSSL_LIB_CTX *libctx, FFC_PARAMS
      *params,\n                                       int type, size_t L, size_t
      N,\n                                       int *res, BN_GENCB *cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_2_gen_verify
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1057,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/crypto/ffc/ffc_params_generate.c:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - libctx
    - params
    - type
    - L
    - N
    - res
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - FFC_PARAMS*
    - int
    - size_t
    - size_t
    - int*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1053
    functionDepth: 3
    functionLinenumber: 1053
    functionLinenumberEnd: 1064
    functionName: ossl_ffc_params_FIPS186_2_generate
    functionSourceFile: /src/openssl/crypto/ffc/ffc_params_generate.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_enable_flags
    - ossl_ffc_params_FIPS186_2_gen_verify
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_params_FIPS186_2_generate(OSSL_LIB_CTX *libctx, FFC_PARAMS
      *params,\n                                       int type, size_t L, size_t
      N,\n                                       int *res, BN_GENCB *cb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:32,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:36,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:37,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:40,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:42,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:45,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:46,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:48,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:53,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:54,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - params
    - pub_key
    - ret
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 57
    functionName: ossl_ffc_validate_public_key_partial
    functionSourceFile: /src/openssl/crypto/ffc/ffc_key_validate.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_cmp
    - BN_set_word
    - BN_CTX_free
    - BN_sub_word
    - BN_copy
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_validate_public_key_partial(const FFC_PARAMS *params,\n
      \                                        const BIGNUM *pub_key, int *ret)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_validate_public_key_partial
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:69,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:73,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:76,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:77,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:81,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:83,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:90,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - params
    - pub_key
    - ret
    argTypes:
    - FFC_PARAMS*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 94
    functionName: ossl_ffc_validate_public_key
    functionSourceFile: /src/openssl/crypto/ffc/ffc_key_validate.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ossl_ffc_validate_public_key_partial
    - BN_CTX_start
    - BN_CTX_end
    - BN_is_one
    - BN_CTX_free
    - BN_mod_exp
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_validate_public_key(const FFC_PARAMS *params,\n                                 const
      BIGNUM *pub_key, int *ret)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:113,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:113,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_key_validate.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - upper
    - priv
    - ret
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: ossl_ffc_validate_private_key
    functionSourceFile: /src/openssl/crypto/ffc/ffc_key_validate.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - BN_value_one
    linkageType: ''
    returnType: int
    signature: "int ossl_ffc_validate_private_key(const BIGNUM *upper, const BIGNUM
      *priv,\n                                  int *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sz
    - ','
    - keylength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: FFDHE
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFDHE(sz, keylength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sz
    - ','
    - keylength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: MODP
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MODP(sz, keylength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - uid
    - ','
    - sz
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: RFC5114
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RFC5114(name, uid, sz, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sz
    - ','
    - keylength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: FFDHE
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FFDHE(sz, keylength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sz
    - ','
    - keylength
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: MODP
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MODP(sz, keylength)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - uid
    - ','
    - sz
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: RFC5114
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RFC5114(name, uid, sz, tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ffc/ffc_dh.c:94,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ffc/ffc_dh.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: ossl_ffc_name_to_dh_named_group
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: DH_NAMED_GROUP
    signature: DH_NAMED_GROUP *ossl_ffc_name_to_dh_named_group(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ffc/ffc_dh.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - uid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: ossl_ffc_uid_to_dh_named_group
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: DH_NAMED_GROUP
    signature: DH_NAMED_GROUP *ossl_ffc_uid_to_dh_named_group(int uid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ffc/ffc_dh.c:119,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_dh.c:121,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_dh.c:122,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ffc/ffc_dh.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - p
    - q
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: ossl_ffc_numbers_to_dh_named_group
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - OSSL_NELEM
    linkageType: ''
    returnType: DH_NAMED_GROUP
    signature: "DH_NAMED_GROUP *ossl_ffc_numbers_to_dh_named_group(const BIGNUM *p,\n
      \                                                        const BIGNUM *q,\n
      \                                                        const BIGNUM *g)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - DH_NAMED_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: ossl_ffc_named_group_get_uid
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_ffc_named_group_get_uid(const DH_NAMED_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - DH_NAMED_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: ossl_ffc_named_group_get_name
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_ffc_named_group_get_name(const DH_NAMED_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - DH_NAMED_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: ossl_ffc_named_group_get_keylength
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_ffc_named_group_get_keylength(const DH_NAMED_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - DH_NAMED_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: ossl_ffc_named_group_get_q
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *ossl_ffc_named_group_get_q(const DH_NAMED_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/crypto/ffc/ffc_dh.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ffc
    - group
    argTypes:
    - FFC_PARAMS*
    - DH_NAMED_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: ossl_ffc_named_group_set
    functionSourceFile: /src/openssl/crypto/ffc/ffc_dh.c
    functionUses: 1
    functionsReached:
    - ossl_ffc_params_set0_pqg
    linkageType: ''
    returnType: int
    signature: int ossl_ffc_named_group_set(FFC_PARAMS *ffc, const DH_NAMED_GROUP
      *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/buffer/buffer.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: BUF_MEM_new_ex
    functionSourceFile: /src/openssl/crypto/buffer/buffer.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_new
    linkageType: ''
    returnType: BUF_MEM
    signature: BUF_MEM *BUF_MEM_new_ex(unsigned long flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/buffer/buffer.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: BUF_MEM_new
    functionSourceFile: /src/openssl/crypto/buffer/buffer.c
    functionUses: 4
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BUF_MEM
    signature: BUF_MEM *BUF_MEM_new(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/buffer/buffer.c:47,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/buffer/buffer.c:49,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/buffer/buffer.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BUF_MEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: BUF_MEM_free
    functionSourceFile: /src/openssl/crypto/buffer/buffer.c
    functionUses: 5
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void BUF_MEM_free(BUF_MEM *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/buffer/buffer.c:60,1
    - Dst: memcpy
      Src: /src/openssl/crypto/buffer/buffer.c:63,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/buffer/buffer.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - BUF_MEM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: sec_alloc_realloc
    functionSourceFile: /src/openssl/crypto/buffer/buffer.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - memcpy
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: char
    signature: char *sec_alloc_realloc(BUF_MEM *str, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/buffer/buffer.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/buffer/buffer.c:88,1
    - Dst: sec_alloc_realloc
      Src: /src/openssl/crypto/buffer/buffer.c:93,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/buffer/buffer.c:95,1
    - Dst: memset
      Src: /src/openssl/crypto/buffer/buffer.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - BUF_MEM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: BUF_MEM_grow
    functionSourceFile: /src/openssl/crypto/buffer/buffer.c
    functionUses: 2
    functionsReached:
    - OPENSSL_realloc
    - sec_alloc_realloc
    - memset
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: size_t BUF_MEM_grow(BUF_MEM *str, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/buffer/buffer.c:114,1
    - Dst: memset
      Src: /src/openssl/crypto/buffer/buffer.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/buffer/buffer.c:125,1
    - Dst: sec_alloc_realloc
      Src: /src/openssl/crypto/buffer/buffer.c:130,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/crypto/buffer/buffer.c:132,1
    - Dst: memset
      Src: /src/openssl/crypto/buffer/buffer.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - BUF_MEM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: BUF_MEM_grow_clean
    functionSourceFile: /src/openssl/crypto/buffer/buffer.c
    functionUses: 2
    functionsReached:
    - OPENSSL_clear_realloc
    - sec_alloc_realloc
    - memset
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - out
    - in
    - size
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: BUF_reverse
    functionSourceFile: /src/openssl/crypto/buffer/buffer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BUF_reverse(unsigned char *out, const unsigned char *in, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/buffer/buf_err.c:26,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/buffer/buf_err.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: ossl_err_load_BUF_strings
    functionSourceFile: /src/openssl/crypto/buffer/buf_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_BUF_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: bit0
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bit0(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: bitn
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitn(n, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: constish_time_non_zero
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: constish_time_non_zero(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: constish_time_non_zero
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: constish_time_non_zero(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - rank
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: DECLARE_ML_KEM_PUBKEYDATA
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_ML_KEM_PUBKEYDATA(name, rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - rank
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: DECLARE_ML_KEM_PRVKEYDATA
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_ML_KEM_PRVKEYDATA(name, rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: DECLARE_ML_KEM_VARIANT_KEYDATA
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_ML_KEM_VARIANT_KEYDATA(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: VECTOR_BYTES
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VECTOR_BYTES(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: PUBKEY_BYTES
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUBKEY_BYTES(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: PRVKEY_BYTES
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRVKEY_BYTES(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: U_VECTOR_BYTES
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U_VECTOR_BYTES(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: V_SCALAR_BYTES
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V_SCALAR_BYTES(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: CTEXT_BYTES
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTEXT_BYTES(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: CONSTTIME_SECRET
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTTIME_SECRET(ptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: CONSTTIME_DECLASSIFY
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSTTIME_DECLASSIFY(ptr, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:342,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:344,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:344,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:345,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:346,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - out
    - outlen
    - in
    - inlen
    - mdctx
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 348
    functionName: single_keccak
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_MD_xof
    - ossl_assert
    - EVP_DigestFinalXOF
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_get0_md
    - EVP_DigestUpdate
    linkageType: ''
    returnType: __owur
    signature: "__owur single_keccak(uint8_t *out, size_t outlen, const uint8_t *in,
      size_t inlen,\n                  EVP_MD_CTX *mdctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:358,1
    - Dst: single_keccak
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - out
    - len
    - in
    - mdctx
    - key
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t[]
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: prf
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - single_keccak
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: __owur
    signature: "__owur prf(uint8_t *out, size_t len, const uint8_t in[ML_KEM_RANDOM_BYTES
      + 1],\n        EVP_MD_CTX *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:370,1
    - Dst: single_keccak
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - len
    - mdctx
    - key
    argTypes:
    - uint8_t[]
    - uint8_t*
    - size_t
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: hash_h
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - single_keccak
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: __owur
    signature: "__owur hash_h(uint8_t out[ML_KEM_PKHASH_BYTES], const uint8_t *in,
      size_t len,\n           EVP_MD_CTX *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:383,1
    - Dst: scalar_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:389,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:390,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:394,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:396,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pkhash
    - mdctx
    - key
    argTypes:
    - uint8_t[]
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 398
    functionName: hash_h_pubkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_DigestInit_ex
    - scalar_encode
    linkageType: ''
    returnType: int
    signature: "int hash_h_pubkey(uint8_t pkhash[ML_KEM_PKHASH_BYTES],\n              EVP_MD_CTX
      *mdctx, ML_KEM_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:409,1
    - Dst: single_keccak
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - len
    - mdctx
    - key
    argTypes:
    - uint8_t[]
    - uint8_t*
    - size_t
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: hash_g
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - single_keccak
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: __owur
    signature: "__owur hash_g(uint8_t out[ML_KEM_SEED_BYTES], const uint8_t *in, size_t
      len,\n           EVP_MD_CTX *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:425,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:426,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:427,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - out
    - z
    - ctext
    - len
    - mdctx
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t*
    - size_t
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: kdf
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - EVP_DigestInit_ex
    - EVP_DigestUpdate
    linkageType: ''
    returnType: __owur
    signature: "__owur kdf(uint8_t out[ML_KEM_SHARED_SECRET_BYTES],\n        const
      uint8_t z[ML_KEM_RANDOM_BYTES],\n        const uint8_t *ctext, size_t len,\n
      \       EVP_MD_CTX *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - out
    - mdctx
    argTypes:
    - scalar*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 465
    functionName: sample_scalar
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSqueeze
    linkageType: ''
    returnType: __owur
    signature: __owur sample_scalar(scalar *out, EVP_MD_CTX *mdctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constish_time_non_zero
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: reduce_once
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 6
    functionsReached:
    - constish_time_non_zero
    linkageType: ''
    returnType: __owur
    signature: __owur reduce_once(uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: reduce
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce_once
    linkageType: ''
    returnType: __owur
    signature: __owur reduce(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - scalar*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 506
    functionName: scalar_mult_const
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce
    linkageType: ''
    returnType: void
    signature: void scalar_mult_const(scalar *s, uint16_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:533,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:534,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 539
    functionName: scalar_ntt
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce_once
    - reduce
    linkageType: ''
    returnType: void
    signature: void scalar_ntt(scalar *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:566,1
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:567,1
    - Dst: scalar_mult_const
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 572
    functionName: scalar_inverse_ntt
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce_once
    - reduce
    - scalar_mult_const
    linkageType: ''
    returnType: void
    signature: void scalar_inverse_ntt(scalar *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - scalar*
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: scalar_add
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce_once
    linkageType: ''
    returnType: void
    signature: void scalar_add(scalar *lhs, const scalar *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce_once
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - scalar*
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: scalar_sub
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce_once
    linkageType: ''
    returnType: void
    signature: void scalar_sub(scalar *lhs, const scalar *rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:615,1
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:615,1
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - lhs
    - rhs
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: scalar_mult
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce
    linkageType: ''
    returnType: void
    signature: "void scalar_mult(scalar *out, const scalar *lhs,\n                        const
      scalar *rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:636,1
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:636,1
    - Dst: reduce
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - lhs
    - rhs
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 639
    functionName: scalar_mult_add
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - reduce
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline scalar_mult_add(scalar *out, const scalar *lhs,\n                     const
      scalar *rhs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:657,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - out
    - s
    - bits
    argTypes:
    - uint8_t*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 666
    functionName: scalar_encode
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 1
    functionsReached:
    - OPENSSL_store_u64_le
    linkageType: ''
    returnType: void
    signature: void scalar_encode(uint8_t *out, const scalar *s, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - uint8_t[]
    - scalar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 683
    functionName: scalar_encode_1
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - bit0
    linkageType: ''
    returnType: void
    signature: void scalar_encode_1(uint8_t out[DEGREE / 8], const scalar *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - out
    - in
    - bits
    argTypes:
    - scalar*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 736
    functionName: scalar_decode
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_load_u64_le
    linkageType: ''
    returnType: void
    signature: void scalar_decode(scalar *out, const uint8_t *in, int bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - scalar*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 755
    functionName: scalar_decode_12
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __owur
    signature: __owur scalar_decode_12(scalar *out, const uint8_t in[3 * DEGREE /
      2])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - scalar*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 802
    functionName: scalar_decode_decompress_add
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scalar_decode_decompress_add(scalar *out, const uint8_t in[DEGREE
      / 8])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_lt_32
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:827,1
    - Dst: constant_time_lt_32
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - bits
    argTypes:
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 830
    functionName: compress
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - constant_time_lt_32
    linkageType: ''
    returnType: __owur
    signature: __owur compress(uint16_t x, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - bits
    argTypes:
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 855
    functionName: decompress
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __owur
    signature: __owur decompress(uint16_t x, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bits
    argTypes:
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 867
    functionName: scalar_compress
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - compress
    linkageType: ''
    returnType: void
    signature: void scalar_compress(scalar *s, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decompress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - s
    - bits
    argTypes:
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 879
    functionName: scalar_decompress
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - decompress
    linkageType: ''
    returnType: void
    signature: void scalar_decompress(scalar *s, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - lhs
    - rhs
    - rank
    argTypes:
    - scalar*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: vector_add
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 2
    functionsReached:
    - scalar_add
    linkageType: ''
    returnType: void
    signature: void vector_add(scalar *lhs, const scalar *rhs, int rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - out
    - a
    - bits
    - rank
    argTypes:
    - uint8_t*
    - scalar*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: vector_encode
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_encode
    linkageType: ''
    returnType: void
    signature: void vector_encode(uint8_t *out, const scalar *a, int bits, int rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_decode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:917,1
    - Dst: scalar_decompress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:918,1
    - Dst: scalar_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - out
    - in
    - bits
    - rank
    argTypes:
    - scalar*
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 921
    functionName: vector_decode_decompress_ntt
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_decode
    - scalar_ntt
    - scalar_decompress
    linkageType: ''
    returnType: void
    signature: void vector_decode_decompress_ntt(scalar *out, const uint8_t *in, int
      bits, int rank)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalar_decode_12
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - in
    - rank
    argTypes:
    - scalar*
    - uint8_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 933
    functionName: vector_decode_12
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_decode_12
    linkageType: ''
    returnType: __owur
    signature: __owur vector_decode_12(scalar *out, const uint8_t in[3 * DEGREE /
      2], int rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_compress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - bits
    - rank
    argTypes:
    - scalar*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: vector_compress
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_compress
    linkageType: ''
    returnType: void
    signature: void vector_compress(scalar *a, int bits, int rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mult
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:947,1
    - Dst: scalar_mult_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - out
    - lhs
    - rhs
    - rank
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 950
    functionName: inner_product
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_mult
    - scalar_mult_add
    linkageType: ''
    returnType: void
    signature: "void inner_product(scalar *out, const scalar *lhs, const scalar *rhs,\n
      \                         int rank)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mult
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:963,1
    - Dst: scalar_mult_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:965,1
    - Dst: scalar_inverse_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - out
    - m
    - a
    - rank
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 956
    functionDepth: 3
    functionLinenumber: 956
    functionLinenumberEnd: 968
    functionName: matrix_mult_intt
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_mult
    - scalar_inverse_ntt
    - scalar_mult_add
    linkageType: ''
    returnType: void
    signature: void matrix_mult_intt(scalar *out, const scalar *m, const scalar *a,
      int rank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mult_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:978,1
    - Dst: scalar_mult_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - out
    - m
    - a
    - rank
    argTypes:
    - scalar*
    - scalar*
    - scalar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 982
    functionName: matrix_mult_transpose_add
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - scalar_mult_add
    linkageType: ''
    returnType: void
    signature: void matrix_mult_transpose_add(scalar *out, const scalar *m, const
      scalar *a, int rank)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:999,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1004,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1005,1
    - Dst: sample_scalar
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - mdctx
    - key
    argTypes:
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1011
    functionName: matrix_expand
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - sample_scalar
    - memcpy
    - EVP_DigestInit_ex
    - EVP_DigestUpdate
    linkageType: ''
    returnType: __owur
    signature: __owur matrix_expand(EVP_MD_CTX *mdctx, ML_KEM_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1030,1
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1043,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1043,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1044,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1044,1
    - Dst: constish_time_non_zero
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1045,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1048,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1048,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1049,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1049,1
    - Dst: constish_time_non_zero
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - out
    - in
    - mdctx
    - key
    argTypes:
    - scalar*
    - uint8_t[]
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1021
    functionDepth: 3
    functionLinenumber: 1021
    functionLinenumberEnd: 1054
    functionName: cbd_2
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - constish_time_non_zero
    - prf
    - bitn
    - bit0
    linkageType: ''
    returnType: __owur
    signature: "__owur cbd_2(scalar *out, uint8_t in[ML_KEM_RANDOM_BYTES + 1],\n          EVP_MD_CTX
      *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1071,1
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1086,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1086,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1086,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1087,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1087,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1087,1
    - Dst: constish_time_non_zero
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1088,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1091,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1091,1
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1091,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1092,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1092,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1092,1
    - Dst: constish_time_non_zero
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1093,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1096,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1096,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1096,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1097,1
    - Dst: bit0
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1097,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1097,1
    - Dst: constish_time_non_zero
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1098,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1101,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1101,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1101,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1102,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1102,1
    - Dst: bitn
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1102,1
    - Dst: constish_time_non_zero
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - out
    - in
    - mdctx
    - key
    argTypes:
    - scalar*
    - uint8_t[]
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1107
    functionName: cbd_3
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - constish_time_non_zero
    - prf
    - bitn
    - bit0
    linkageType: ''
    returnType: __owur
    signature: "__owur cbd_3(scalar *out, uint8_t in[ML_KEM_RANDOM_BYTES + 1],\n          EVP_MD_CTX
      *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1120,1
    - Dst: cbd
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - out
    - cbd
    - counter
    - seed
    - rank
    - mdctx
    - key
    argTypes:
    - scalar*
    - CBD_FUNC
    - uint8_t*
    - uint8_t[]
    - int
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1127
    functionName: gencbd_vector
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cbd
    linkageType: ''
    returnType: __owur
    signature: "__owur gencbd_vector(scalar *out, CBD_FUNC cbd, uint8_t *counter,\n
      \                 const uint8_t seed[ML_KEM_RANDOM_BYTES], int rank,\n                  EVP_MD_CTX
      *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1139,1
    - Dst: cbd
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1142,1
    - Dst: scalar_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - out
    - cbd
    - counter
    - seed
    - rank
    - mdctx
    - key
    argTypes:
    - scalar*
    - CBD_FUNC
    - uint8_t*
    - uint8_t[]
    - int
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1147
    functionName: gencbd_vector_ntt
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cbd
    - scalar_ntt
    linkageType: ''
    returnType: __owur
    signature: "__owur gencbd_vector_ntt(scalar *out, CBD_FUNC cbd, uint8_t *counter,\n
      \                     const uint8_t seed[ML_KEM_RANDOM_BYTES], int rank,\n                      EVP_MD_CTX
      *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - evp_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1151
    functionName: CBD1
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBD1(evp_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CBD1
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1175,1
    - Dst: gencbd_vector_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1188,1
    - Dst: inner_product
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1191,1
    - Dst: scalar_inverse_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1192,1
    - Dst: matrix_mult_intt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1194,1
    - Dst: gencbd_vector
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1197,1
    - Dst: vector_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1199,1
    - Dst: vector_compress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1200,1
    - Dst: vector_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1201,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1204,1
    - Dst: cbd_2
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1206,1
    - Dst: scalar_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1208,1
    - Dst: scalar_decode_decompress_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1211,1
    - Dst: scalar_compress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1212,1
    - Dst: scalar_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - out
    - message
    - r
    - tmp
    - mdctx
    - key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - scalar*
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1168
    functionDepth: 4
    functionLinenumber: 1168
    functionLinenumberEnd: 1215
    functionName: encrypt_cpa
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - gencbd_vector
    - memcpy
    - vector_encode
    - vector_compress
    - scalar_compress
    - vector_add
    - matrix_mult_intt
    - scalar_add
    - scalar_inverse_ntt
    - inner_product
    - scalar_decode_decompress_add
    - cbd_2
    - CBD1
    - scalar_encode
    - gencbd_vector_ntt
    linkageType: ''
    returnType: __owur
    signature: "__owur encrypt_cpa(uint8_t out[ML_KEM_SHARED_SECRET_BYTES],\n                const
      uint8_t message[DEGREE / 8],\n                const uint8_t r[ML_KEM_RANDOM_BYTES],
      scalar *tmp,\n                EVP_MD_CTX *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector_decode_decompress_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1230,1
    - Dst: scalar_decode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1231,1
    - Dst: scalar_decompress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1232,1
    - Dst: inner_product
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1233,1
    - Dst: scalar_inverse_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1234,1
    - Dst: scalar_sub
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1235,1
    - Dst: scalar_compress
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1236,1
    - Dst: scalar_encode_1
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - out
    - ctext
    - u
    - key
    argTypes:
    - uint8_t[]
    - uint8_t*
    - scalar*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1220
    functionDepth: 3
    functionLinenumber: 1220
    functionLinenumberEnd: 1238
    functionName: decrypt_cpa
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - vector_decode_decompress_ntt
    - scalar_decompress
    - scalar_encode_1
    - scalar_decode
    - scalar_compress
    - scalar_inverse_ntt
    - inner_product
    - scalar_sub
    linkageType: ''
    returnType: void
    signature: "void decrypt_cpa(uint8_t out[ML_KEM_SHARED_SECRET_BYTES],\n            const
      uint8_t *ctext, scalar *u, const ML_KEM_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1253,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - uint8_t*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1248
    functionDepth: 3
    functionLinenumber: 1248
    functionLinenumberEnd: 1255
    functionName: encode_pubkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - vector_encode
    linkageType: ''
    returnType: void
    signature: void encode_pubkey(uint8_t *out, const ML_KEM_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector_encode
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1267,1
    - Dst: encode_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1269,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1271,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - uint8_t*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1263
    functionDepth: 4
    functionLinenumber: 1263
    functionLinenumberEnd: 1274
    functionName: encode_prvkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - encode_pubkey
    - vector_encode
    - memcpy
    linkageType: ''
    returnType: void
    signature: void encode_prvkey(uint8_t *out, const ML_KEM_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vector_decode_12
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1289,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1290,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1296,1
    - Dst: hash_h
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1301,1
    - Dst: matrix_expand
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1302,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - in
    - mdctx
    - key
    argTypes:
    - uint8_t*
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1284
    functionDepth: 3
    functionLinenumber: 1284
    functionLinenumberEnd: 1309
    functionName: parse_pubkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - matrix_expand
    - hash_h
    - memcpy
    - ERR_raise_data
    - vector_decode_12
    linkageType: ''
    returnType: int
    signature: int parse_pubkey(const uint8_t *in, EVP_MD_CTX *mdctx, ML_KEM_KEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vector_decode_12
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1322,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1323,1
    - Dst: parse_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1330,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1335,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1336,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - in
    - mdctx
    - key
    argTypes:
    - uint8_t*
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1317
    functionDepth: 4
    functionLinenumber: 1317
    functionLinenumberEnd: 1345
    functionName: parse_prvkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memcpy
    - ERR_raise_data
    - vector_decode_12
    - parse_pubkey
    linkageType: ''
    returnType: int
    signature: int parse_prvkey(const uint8_t *in, EVP_MD_CTX *mdctx, ML_KEM_KEY *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CBD1
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1380,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1389,1
    - Dst: hash_g
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1391,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1393,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1395,1
    - Dst: matrix_expand
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1398,1
    - Dst: gencbd_vector_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1399,1
    - Dst: gencbd_vector_ntt
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1400,1
    - Dst: matrix_mult_transpose_add
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1404,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1406,1
    - Dst: hash_h_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1410,1
    - Dst: encode_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1413,1
    - Dst: hash_h
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1414,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1419,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1424,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1426,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1432,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1433,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1435,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - seed
    - mdctx
    - pubenc
    - key
    argTypes:
    - uint8_t[]
    - EVP_MD_CTX*
    - uint8_t*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1372
    functionDepth: 4
    functionLinenumber: 1372
    functionLinenumberEnd: 1440
    functionName: genkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - matrix_expand
    - gencbd_vector_ntt
    - hash_h
    - hash_h_pubkey
    - memcpy
    - ERR_raise_data
    - hash_g
    - CONSTTIME_DECLASSIFY
    - encode_pubkey
    - OPENSSL_cleanse
    - matrix_mult_transpose_add
    - CBD1
    linkageType: ''
    returnType: __owur
    signature: "__owur genkey(const uint8_t seed[ML_KEM_SEED_BYTES],\n           EVP_MD_CTX
      *mdctx, uint8_t *pubenc, ML_KEM_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1460,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1461,1
    - Dst: hash_g
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1462,1
    - Dst: encrypt_cpa
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1463,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1464,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1467,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ctext
    - secret
    - entropy
    - tmp
    - mdctx
    - key
    argTypes:
    - uint8_t*
    - uint8_t[]
    - uint8_t[]
    - scalar*
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1450
    functionDepth: 5
    functionLinenumber: 1450
    functionLinenumberEnd: 1473
    functionName: encap
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - encrypt_cpa
    - memcpy
    - ERR_raise_data
    - hash_g
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int encap(uint8_t *ctext, uint8_t secret[ML_KEM_SHARED_SECRET_BYTES],\n
      \         const uint8_t entropy[ML_KEM_RANDOM_BYTES],\n          scalar *tmp,
      EVP_MD_CTX *mdctx, const ML_KEM_KEY *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: kdf
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1515,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1516,1
    - Dst: decrypt_cpa
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1521,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1522,1
    - Dst: hash_g
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1523,1
    - Dst: encrypt_cpa
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1524,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1525,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1526,1
    - Dst: constant_time_eq_int_8
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1529,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1530,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1532,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1533,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - secret
    - ctext
    - tmp_ctext
    - tmp
    - mdctx
    - key
    argTypes:
    - uint8_t[]
    - uint8_t*
    - uint8_t*
    - scalar*
    - EVP_MD_CTX*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1486
    functionDepth: 5
    functionLinenumber: 1486
    functionLinenumberEnd: 1536
    functionName: decap
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - kdf
    - encrypt_cpa
    - constant_time_select_8
    - memcpy
    - CRYPTO_memcmp
    - ERR_raise_data
    - decrypt_cpa
    - hash_g
    - constant_time_eq_int_8
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int decap(uint8_t secret[ML_KEM_SHARED_SECRET_BYTES],\n          const
      uint8_t *ctext, uint8_t *tmp_ctext, scalar *tmp,\n          EVP_MD_CTX *mdctx,
      const ML_KEM_KEY *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1555,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1556,1
    - Dst: memset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pub
    - priv
    - private
    - key
    argTypes:
    - scalar*
    - scalar*
    - int
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1581
    functionName: add_storage
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - memset
    - OPENSSL_secure_free
    linkageType: ''
    returnType: __owur
    signature: __owur add_storage(scalar *pub, scalar *priv, int private, ML_KEM_KEY
      *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1597,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1598,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1599,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1607,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1608,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1613
    functionName: ossl_ml_kem_key_reset
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_dkenc
    - OPENSSL_free
    - ossl_ml_kem_have_prvkey
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void ossl_ml_kem_key_reset(ML_KEM_KEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - evp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1634
    functionName: ossl_ml_kem_get_vinfo
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ML_KEM_VINFO
    signature: ML_KEM_VINFO *ossl_ml_kem_get_vinfo(int evp_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_get_vinfo
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1639,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1643,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1648,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1654,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1655,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1656,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1657,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1667,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - libctx
    - properties
    - evp_type
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1672
    functionName: ossl_ml_kem_key_new
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - ossl_ml_kem_key_free
    - ossl_ml_kem_get_vinfo
    - EVP_MD_fetch
    - OPENSSL_malloc
    linkageType: ''
    returnType: ML_KEM_KEY
    signature: "ML_KEM_KEY *ossl_ml_kem_key_new(OSSL_LIB_CTX *libctx, const char *properties,\n
      \                               int evp_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_decoded_key
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1687,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1690,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1697,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1699,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1707,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1707,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1710,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1713,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1715,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1718,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1719,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1727,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1731,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1732,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1733,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1734,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - ML_KEM_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1737
    functionName: ossl_ml_kem_key_dup
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - ossl_ml_kem_have_prvkey
    - EVP_MD_up_ref
    - memcpy
    - OPENSSL_memdup
    - ossl_ml_kem_decoded_key
    - OPENSSL_secure_malloc
    - add_storage
    - OPENSSL_free
    linkageType: ''
    returnType: ML_KEM_KEY
    signature: ML_KEM_KEY *ossl_ml_kem_key_dup(const ML_KEM_KEY *key, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1744,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1745,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1746,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1747,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1749,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1739
    functionDepth: 2
    functionLinenumber: 1739
    functionLinenumberEnd: 1751
    functionName: ossl_ml_kem_key_free
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 1
    functionsReached:
    - ossl_ml_kem_key_reset
    - OPENSSL_free
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void ossl_ml_kem_key_free(ML_KEM_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1757,1
    - Dst: encode_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - len
    - key
    argTypes:
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1754
    functionDepth: 4
    functionLinenumber: 1754
    functionLinenumberEnd: 1762
    functionName: ossl_ml_kem_encode_public_key
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - encode_pubkey
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_encode_public_key(uint8_t *out, size_t len,\n                                  const
      ML_KEM_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1768,1
    - Dst: encode_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - len
    - key
    argTypes:
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1765
    functionDepth: 5
    functionLinenumber: 1765
    functionLinenumberEnd: 1773
    functionName: ossl_ml_kem_encode_private_key
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_prvkey
    - encode_prvkey
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_encode_private_key(uint8_t *out, size_t len,\n                                   const
      ML_KEM_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1784,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - out
    - len
    - key
    argTypes:
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1788
    functionName: ossl_ml_kem_encode_seed
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_encode_seed(uint8_t *out, size_t len,\n                            const
      ML_KEM_KEY *key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1798,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1799,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1804,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1811,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1813,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - seed
    - seedlen
    - key
    argTypes:
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1815
    functionName: ossl_ml_kem_set_seed
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - ossl_ml_kem_have_pubkey
    - memcpy
    - ossl_ml_kem_have_seed
    linkageType: ''
    returnType: ML_KEM_KEY
    signature: ML_KEM_KEY *ossl_ml_kem_set_seed(const uint8_t *seed, size_t seedlen,
      ML_KEM_KEY *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1826,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1827,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1832,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1835,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1835,1
    - Dst: parse_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1836,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1839,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - in
    - len
    - key
    argTypes:
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1818
    functionDepth: 4
    functionLinenumber: 1818
    functionLinenumberEnd: 1842
    functionName: ossl_ml_kem_parse_public_key
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - parse_pubkey
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ossl_ml_kem_have_dkenc
    - ossl_ml_kem_key_reset
    - add_storage
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_parse_public_key(const uint8_t *in, size_t len, ML_KEM_KEY
      *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1854,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1855,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1860,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1863,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1863,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1864,1
    - Dst: parse_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1865,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1868,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - in
    - len
    - key
    argTypes:
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1845
    functionDepth: 5
    functionLinenumber: 1845
    functionLinenumberEnd: 1871
    functionName: ossl_ml_kem_parse_private_key
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ossl_ml_kem_have_dkenc
    - OPENSSL_secure_malloc
    - add_storage
    - parse_prvkey
    - ossl_ml_kem_key_reset
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_parse_private_key(const uint8_t *in, size_t len,\n
      \                                 ML_KEM_KEY *key)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1885,1
    - Dst: ossl_ml_kem_have_dkenc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1886,1
    - Dst: ossl_ml_kem_encode_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1894,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1896,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1897,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1902,1
    - Dst: CONSTTIME_SECRET
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1909,1
    - Dst: add_storage
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1911,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1911,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1912,1
    - Dst: genkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1913,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1914,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1917,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1919,1
    - Dst: ossl_ml_kem_key_reset
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1921,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1926,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1927,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pubenc
    - publen
    - key
    argTypes:
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1877
    functionDepth: 5
    functionLinenumber: 1877
    functionLinenumberEnd: 1929
    functionName: ossl_ml_kem_genkey
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - ossl_ml_kem_encode_seed
    - RAND_priv_bytes_ex
    - EVP_MD_CTX_new
    - genkey
    - EVP_MD_CTX_free
    - ossl_ml_kem_have_dkenc
    - ossl_ml_kem_key_reset
    - add_storage
    - OPENSSL_secure_malloc
    - CONSTTIME_DECLASSIFY
    - CONSTTIME_SECRET
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_genkey(uint8_t *pubenc, size_t publen, ML_KEM_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1944,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1951,1
    - Dst: CONSTTIME_SECRET
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1957,1
    - Dst: case_encap_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1974,1
    - Dst: case_encap_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1975,1
    - Dst: case_encap_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1976,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1981,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1982,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1983,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1985,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 7
    argNames:
    - ctext
    - clen
    - shared_secret
    - slen
    - entropy
    - elen
    - key
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1935
    functionDepth: 1
    functionLinenumber: 1935
    functionLinenumberEnd: 1987
    functionName: ossl_ml_kem_encap_seed
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - case_encap_seed
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - CONSTTIME_DECLASSIFY
    - CONSTTIME_SECRET
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_encap_seed(uint8_t *ctext, size_t clen,\n                           uint8_t
      *shared_secret, size_t slen,\n                           const uint8_t *entropy,
      size_t elen,\n                           const ML_KEM_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1973
    functionName: case_encap_seed
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: case_encap_seed(bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:1998,1
    - Dst: ossl_ml_kem_encap_seed
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - ctext
    - clen
    - shared_secret
    - slen
    - key
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1989
    functionDepth: 2
    functionLinenumber: 1989
    functionLinenumberEnd: 2004
    functionName: ossl_ml_kem_encap_rand
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - RAND_bytes_ex
    - ossl_ml_kem_encap_seed
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_encap_rand(uint8_t *ctext, size_t clen,\n                           uint8_t
      *shared_secret, size_t slen,\n                           const ML_KEM_KEY *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2018,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2024,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2025,1
    - Dst: CONSTTIME_SECRET
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2035,1
    - Dst: case_decap
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2055,1
    - Dst: case_decap
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2056,1
    - Dst: case_decap
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2057,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2061,1
    - Dst: CONSTTIME_DECLASSIFY
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2062,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2063,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - shared_secret
    - slen
    - ctext
    - clen
    - key
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2067
    functionName: ossl_ml_kem_decap
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_prvkey
    - case_decap
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - CONSTTIME_DECLASSIFY
    - CONSTTIME_SECRET
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_decap(uint8_t *shared_secret, size_t slen,\n                      const
      uint8_t *ctext, size_t clen,\n                      const ML_KEM_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2054
    functionName: case_decap
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: case_decap(bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2076,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2076,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2077,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2083,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/crypto/ml_kem/ml_kem.c:2083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - ML_KEM_KEY*
    - ML_KEM_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2084
    functionName: ossl_ml_kem_pubkey_cmp
    functionSourceFile: /src/openssl/crypto/ml_kem/ml_kem.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_pubkey_cmp(const ML_KEM_KEY *key1, const ML_KEM_KEY
      *key2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: HASH_MAKE_STRING
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_STRING(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: F1
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: F2
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: F3
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: F4
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F4(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: F5
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F5(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - w
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: RIP1
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RIP1(a,b,c,d,e,w,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - w
    - ','
    - s
    - ','
    - K
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: RIP2
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RIP2(a,b,c,d,e,w,s,K)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - w
    - ','
    - s
    - ','
    - K
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: RIP3
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RIP3(a,b,c,d,e,w,s,K)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - w
    - ','
    - s
    - ','
    - K
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: RIP4
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RIP4(a,b,c,d,e,w,s,K)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - w
    - ','
    - s
    - ','
    - K
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: RIP5
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RIP5(a,b,c,d,e,w,s,K)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - RIPEMD160_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: RIPEMD160_Init
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_dgst.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int RIPEMD160_Init(RIPEMD160_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:65,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:66,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:67,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:68,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:69,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:70,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:71,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:72,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:73,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:74,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:75,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:76,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:77,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:78,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:79,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:80,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:81,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:82,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:83,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:84,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:85,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:86,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:87,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:88,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:89,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:90,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:91,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:92,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:93,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:94,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:95,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:96,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:97,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:98,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:99,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:100,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:101,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:102,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:103,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:104,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:105,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:106,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:107,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:108,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:109,1
    - Dst: X
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:110,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:111,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:112,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:114,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:115,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:116,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:117,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:118,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:119,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:120,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:121,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:122,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:123,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:124,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:125,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:126,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:127,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:128,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:129,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:131,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:132,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:133,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:134,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:135,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:136,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:137,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:138,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:139,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:140,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:141,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:142,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:143,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:144,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:145,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:146,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:148,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:149,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:150,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:151,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:152,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:153,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:154,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:155,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:156,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:157,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:158,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:159,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:160,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:161,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:162,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:163,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:165,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:166,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:167,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:168,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:169,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:170,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:171,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:172,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:173,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:174,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:175,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:176,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:177,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:178,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:179,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:180,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:194,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:195,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:196,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:197,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:198,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:199,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:200,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:201,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:202,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:203,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:204,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:205,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:206,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:207,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:208,1
    - Dst: RIP5
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:209,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:211,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:212,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:213,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:214,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:215,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:216,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:217,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:218,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:219,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:220,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:221,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:222,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:223,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:224,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:225,1
    - Dst: RIP4
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:226,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:228,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:229,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:230,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:231,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:232,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:233,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:234,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:235,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:236,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:237,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:238,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:239,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:240,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:241,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:242,1
    - Dst: RIP3
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:243,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:245,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:246,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:247,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:248,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:249,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:250,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:251,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:252,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:253,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:254,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:255,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:256,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:257,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:258,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:259,1
    - Dst: RIP2
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:260,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:262,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:263,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:264,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:265,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:266,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:267,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:268,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:269,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:270,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:271,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:272,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:273,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:274,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:275,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:276,1
    - Dst: RIP1
      Src: /src/openssl/crypto/ripemd/rmd_dgst.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 216
    argCount: 3
    argNames:
    - ctx
    - p
    - num
    argTypes:
    - RIPEMD160_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 287
    functionName: ripemd160_block_data_order
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_dgst.c
    functionUses: 0
    functionsReached:
    - RIP5
    - RIP2
    - HOST_c2l
    - RIP4
    - X
    - RIP3
    - RIP1
    linkageType: ''
    returnType: void
    signature: void ripemd160_block_data_order(RIPEMD160_CTX *ctx, const void *p,
      size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: X
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_dgst.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: X
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_dgst.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RIPEMD160_Init
      Src: /src/openssl/crypto/ripemd/rmd_one.c:28,1
    - Dst: RIPEMD160_Update
      Src: /src/openssl/crypto/ripemd/rmd_one.c:30,1
    - Dst: RIPEMD160_Final
      Src: /src/openssl/crypto/ripemd/rmd_one.c:31,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ripemd/rmd_one.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: RIPEMD160
    functionSourceFile: /src/openssl/crypto/ripemd/rmd_one.c
    functionUses: 0
    functionsReached:
    - RIPEMD160_Init
    - OPENSSL_cleanse
    - RIPEMD160_Final
    - RIPEMD160_Update
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *RIPEMD160(const unsigned char *d, size_t n, unsigned
      char *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: rotl
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline rotl(uint32_t a, uint8_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: load_u32_be
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline load_u32_be(const uint8_t *b, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - v
    - b
    argTypes:
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: store_u32_be
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline store_u32_be(uint32_t v, uint8_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: SM4_T_non_lin_sub
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline SM4_T_non_lin_sub(uint32_t X)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM4_T_non_lin_sub
      Src: /src/openssl/crypto/sm4/sm4.c:258,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:263,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:263,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:263,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: SM4_T_slow
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached:
    - rotl
    - SM4_T_non_lin_sub
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline SM4_T_slow(uint32_t X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: SM4_T
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline SM4_T(uint32_t X)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SM4_T_non_lin_sub
      Src: /src/openssl/crypto/sm4/sm4.c:276,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:278,1
    - Dst: rotl
      Src: /src/openssl/crypto/sm4/sm4.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - X
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: SM4_key_sub
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached:
    - rotl
    - SM4_T_non_lin_sub
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline SM4_key_sub(uint32_t X)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:307,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:308,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:309,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:310,1
    - Dst: SM4_key_sub
      Src: /src/openssl/crypto/sm4/sm4.c:313,1
    - Dst: SM4_key_sub
      Src: /src/openssl/crypto/sm4/sm4.c:314,1
    - Dst: SM4_key_sub
      Src: /src/openssl/crypto/sm4/sm4.c:315,1
    - Dst: SM4_key_sub
      Src: /src/openssl/crypto/sm4/sm4.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - key
    - ks
    argTypes:
    - uint8_t*
    - SM4_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 324
    functionName: ossl_sm4_set_key
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached:
    - load_u32_be
    - SM4_key_sub
    linkageType: ''
    returnType: int
    signature: int ossl_sm4_set_key(const uint8_t *key, SM4_KEY *ks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - k0
    - ','
    - k1
    - ','
    - k2
    - ','
    - k3
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: SM4_RNDS
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM4_RNDS(k0, k1, k2, k3, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:336,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:337,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:338,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:339,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:345,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:346,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:347,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:348,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:349,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:350,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:351,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:352,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:354,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:355,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:356,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - in
    - out
    - ks
    argTypes:
    - uint8_t*
    - uint8_t*
    - SM4_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 358
    functionName: ossl_sm4_encrypt
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached:
    - load_u32_be
    - store_u32_be
    - SM4_RNDS
    linkageType: ''
    returnType: void
    signature: void ossl_sm4_encrypt(const uint8_t *in, uint8_t *out, const SM4_KEY
      *ks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:362,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:363,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:364,1
    - Dst: load_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:365,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:367,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:368,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:369,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:370,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:371,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:372,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:373,1
    - Dst: SM4_RNDS
      Src: /src/openssl/crypto/sm4/sm4.c:374,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:376,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:377,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:378,1
    - Dst: store_u32_be
      Src: /src/openssl/crypto/sm4/sm4.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - in
    - out
    - ks
    argTypes:
    - uint8_t*
    - uint8_t*
    - SM4_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 380
    functionName: ossl_sm4_decrypt
    functionSourceFile: /src/openssl/crypto/sm4/sm4.c
    functionUses: 0
    functionsReached:
    - load_u32_be
    - store_u32_be
    - SM4_RNDS
    linkageType: ''
    returnType: void
    signature: void ossl_sm4_decrypt(const uint8_t *in, uint8_t *out, const SM4_KEY
      *ks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:158,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/hpke/hpke_util.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: ossl_HPKE_KEM_INFO_find_curve
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ERR_raise
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: OSSL_HPKE_KEM_INFO
    signature: OSSL_HPKE_KEM_INFO *ossl_HPKE_KEM_INFO_find_curve(const char *curve)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - kemid
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: ossl_HPKE_KEM_INFO_find_id
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ERR_raise
    linkageType: ''
    returnType: OSSL_HPKE_KEM_INFO
    signature: OSSL_HPKE_KEM_INFO *ossl_HPKE_KEM_INFO_find_id(uint16_t kemid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:196,1
    - Dst: ossl_rand_uniform_uint32
      Src: /src/openssl/crypto/hpke/hpke_util.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: ossl_HPKE_KEM_INFO_find_random
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ossl_rand_uniform_uint32
    linkageType: ''
    returnType: OSSL_HPKE_KEM_INFO
    signature: OSSL_HPKE_KEM_INFO *ossl_HPKE_KEM_INFO_find_random(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - kdfid
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: ossl_HPKE_KDF_INFO_find_id
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ERR_raise
    linkageType: ''
    returnType: OSSL_HPKE_KDF_INFO
    signature: OSSL_HPKE_KDF_INFO *ossl_HPKE_KDF_INFO_find_id(uint16_t kdfid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:218,1
    - Dst: ossl_rand_uniform_uint32
      Src: /src/openssl/crypto/hpke/hpke_util.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: ossl_HPKE_KDF_INFO_find_random
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ossl_rand_uniform_uint32
    linkageType: ''
    returnType: OSSL_HPKE_KDF_INFO
    signature: OSSL_HPKE_KDF_INFO *ossl_HPKE_KDF_INFO_find_random(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - aeadid
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: ossl_HPKE_AEAD_INFO_find_id
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ERR_raise
    linkageType: ''
    returnType: OSSL_HPKE_AEAD_INFO
    signature: OSSL_HPKE_AEAD_INFO *ossl_HPKE_AEAD_INFO_find_id(uint16_t aeadid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:241,1
    - Dst: ossl_rand_uniform_uint32
      Src: /src/openssl/crypto/hpke/hpke_util.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: ossl_HPKE_AEAD_INFO_find_random
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ossl_rand_uniform_uint32
    linkageType: ''
    returnType: OSSL_HPKE_AEAD_INFO
    signature: OSSL_HPKE_AEAD_INFO *ossl_HPKE_AEAD_INFO_find_random(OSSL_LIB_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/hpke/hpke_util.c:256,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/hpke/hpke_util.c:258,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/hpke/hpke_util.c:261,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/hpke/hpke_util.c:264,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke_util.c:266,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/hpke/hpke_util.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 10
    argNames:
    - kctx
    - out
    - outlen
    - mode
    - salt
    - saltlen
    - ikm
    - ikmlen
    - info
    - infolen
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: kdf_derive
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int kdf_derive(EVP_KDF_CTX *kctx,\n                      unsigned
      char *out, size_t outlen, int mode,\n                      const unsigned char
      *salt, size_t saltlen,\n                      const unsigned char *ikm, size_t
      ikmlen,\n                      const unsigned char *info, size_t infolen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_derive
      Src: /src/openssl/crypto/hpke/hpke_util.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - kctx
    - prk
    - prklen
    - salt
    - saltlen
    - ikm
    - ikmlen
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: ossl_hpke_kdf_extract
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - kdf_derive
    linkageType: ''
    returnType: int
    signature: "int ossl_hpke_kdf_extract(EVP_KDF_CTX *kctx,\n                          unsigned
      char *prk, size_t prklen,\n                          const unsigned char *salt,
      size_t saltlen,\n                          const unsigned char *ikm, size_t
      ikmlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_derive
      Src: /src/openssl/crypto/hpke/hpke_util.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - kctx
    - okm
    - okmlen
    - prk
    - prklen
    - info
    - infolen
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: ossl_hpke_kdf_expand
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - kdf_derive
    linkageType: ''
    returnType: int
    signature: "int ossl_hpke_kdf_expand(EVP_KDF_CTX *kctx,\n                         unsigned
      char *okm, size_t okmlen,\n                         const unsigned char *prk,
      size_t prklen,\n                         const unsigned char *info, size_t infolen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke_util.c:311,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke_util.c:312,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke_util.c:313,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke_util.c:316,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/hpke/hpke_util.c:321,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:322,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:323,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:324,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:325,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:326,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/hpke/hpke_util.c:327,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/hpke/hpke_util.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:329,1
    - Dst: ossl_hpke_kdf_extract
      Src: /src/openssl/crypto/hpke/hpke_util.c:333,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/hpke/hpke_util.c:336,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke_util.c:337,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke_util.c:338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 11
    argNames:
    - kctx
    - prk
    - prklen
    - salt
    - saltlen
    - protocol_label
    - suiteid
    - suiteidlen
    - label
    - ikm
    - ikmlen
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 340
    functionName: ossl_hpke_labeled_extract
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - WPACKET_finish
    - WPACKET_memcpy
    - ERR_raise
    - WPACKET_cleanup
    - WPACKET_get_total_written
    - OPENSSL_free
    - ossl_hpke_kdf_extract
    - strlen
    - OPENSSL_malloc
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int ossl_hpke_labeled_extract(EVP_KDF_CTX *kctx,\n                              unsigned
      char *prk, size_t prklen,\n                              const unsigned char
      *salt, size_t saltlen,\n                              const char *protocol_label,\n
      \                             const unsigned char *suiteid, size_t suiteidlen,\n
      \                             const char *label,\n                              const
      unsigned char *ikm, size_t ikmlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke_util.c:361,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke_util.c:362,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke_util.c:363,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke_util.c:366,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/hpke/hpke_util.c:371,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/crypto/hpke/hpke_util.c:372,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:373,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:374,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:375,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:376,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/hpke/hpke_util.c:377,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/hpke/hpke_util.c:378,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/hpke/hpke_util.c:379,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:380,1
    - Dst: ossl_hpke_kdf_expand
      Src: /src/openssl/crypto/hpke/hpke_util.c:384,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/hpke/hpke_util.c:387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke_util.c:388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 11
    argNames:
    - kctx
    - okm
    - okmlen
    - prk
    - prklen
    - protocol_label
    - suiteid
    - suiteidlen
    - label
    - info
    - infolen
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 390
    functionName: ossl_hpke_labeled_expand
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_put_bytes_u16
    - ERR_raise
    - WPACKET_cleanup
    - WPACKET_init_static_len
    - WPACKET_get_total_written
    - OPENSSL_free
    - ossl_hpke_kdf_expand
    - strlen
    - OPENSSL_malloc
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_hpke_labeled_expand(EVP_KDF_CTX *kctx,\n                             unsigned
      char *okm, size_t okmlen,\n                             const unsigned char
      *prk, size_t prklen,\n                             const char *protocol_label,\n
      \                            const unsigned char *suiteid, size_t suiteidlen,\n
      \                            const char *label,\n                             const
      unsigned char *info, size_t infolen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/hpke/hpke_util.c:399,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:401,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/hpke/hpke_util.c:404,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/hpke/hpke_util.c:405,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke_util.c:410,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke_util.c:413,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke_util.c:415,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/crypto/hpke/hpke_util.c:416,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/hpke/hpke_util.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - kdfname
    - mdname
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 422
    functionName: ossl_kdf_ctx_create
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - ERR_raise
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: EVP_KDF_CTX
    signature: "EVP_KDF_CTX *ossl_kdf_ctx_create(const char *kdfname, const char *mdname,\n
      \                                OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:437,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/hpke/hpke_util.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - st
    - synp
    - arrsize
    argTypes:
    - char*
    - synonymttab_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 443
    functionName: synonyms_name2id
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t synonyms_name2id(const char *st, const synonymttab_t *synp,\n
      \                                size_t arrsize)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:460,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/crypto/hpke/hpke_util.c:463,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke_util.c:465,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/hpke/hpke_util.c:484,1
    - Dst: strchr
      Src: /src/openssl/crypto/hpke/hpke_util.c:492,1
    - Dst: synonyms_name2id
      Src: /src/openssl/crypto/hpke/hpke_util.c:500,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:501,1
    - Dst: synonyms_name2id
      Src: /src/openssl/crypto/hpke/hpke_util.c:504,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:505,1
    - Dst: synonyms_name2id
      Src: /src/openssl/crypto/hpke/hpke_util.c:508,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/hpke/hpke_util.c:509,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke_util.c:526,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 2
    argNames:
    - suitestr
    - suite
    argTypes:
    - char*
    - OSSL_HPKE_SUITE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 451
    functionDepth: 4
    functionLinenumber: 451
    functionLinenumberEnd: 528
    functionName: ossl_hpke_str2suite
    functionSourceFile: /src/openssl/crypto/hpke/hpke_util.c
    functionUses: 0
    functionsReached:
    - strchr
    - ERR_raise
    - synonyms_name2id
    - OPENSSL_memdup
    - OPENSSL_strnlen
    - OPENSSL_free
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_hpke_str2suite(const char *suitestr, OSSL_HPKE_SUITE *suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - kem_id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: hpke_kem_id_nist_curve
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ossl_HPKE_KEM_INFO_find_id
    linkageType: ''
    returnType: int
    signature: int hpke_kem_id_nist_curve(uint16_t kem_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/hpke/hpke.c:110,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke.c:112,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke.c:114,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/crypto/hpke/hpke.c:116,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/hpke/hpke.c:117,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/crypto/hpke/hpke.c:118,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/crypto/hpke/hpke.c:119,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:120,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:122,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - libctx
    - propq
    - gname
    - buf
    - buflen
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 127
    functionName: evp_pkey_new_raw_nist_public_key
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_set1_encoded_public_key
    - OSSL_PARAM_construct_end
    - EVP_PKEY_paramgen
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *evp_pkey_new_raw_nist_public_key(OSSL_LIB_CTX *libctx,\n
      \                                                 const char *propq,\n                                                  const
      char *gname,\n                                                  const unsigned
      char *buf,\n                                                  size_t buflen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:154,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/hpke/hpke.c:158,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/hpke/hpke.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:162,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/hpke/hpke.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:167,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/hpke/hpke.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:172,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/hpke/hpke.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:178,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/hpke/hpke.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:183,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/hpke/hpke.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:189,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/hpke/hpke.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:194,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:201,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:202,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 8
    argNames:
    - hctx
    - iv
    - aad
    - aadlen
    - ct
    - ctlen
    - pt
    - ptlen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 204
    functionName: hpke_aead_dec
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - ERR_raise
    - EVP_DecryptInit_ex
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: "int hpke_aead_dec(OSSL_HPKE_CTX *hctx, const unsigned char *iv,\n
      \                        const unsigned char *aad, size_t aadlen,\n                         const
      unsigned char *ct, size_t ctlen,\n                         unsigned char *pt,
      size_t *ptlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:232,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hpke/hpke.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:236,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/hpke/hpke.c:240,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/hpke/hpke.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:244,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/hpke/hpke.c:247,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:249,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/hpke/hpke.c:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:254,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/hpke/hpke.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:260,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/hpke/hpke.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:265,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/hpke/hpke.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:271,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/hpke/hpke.c:276,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:277,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hpke/hpke.c:280,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:286,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:287,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 8
    argNames:
    - hctx
    - iv
    - aad
    - aadlen
    - pt
    - ptlen
    - ct
    - ctlen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 289
    functionName: hpke_aead_enc
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - ossl_assert
    - EVP_CIPHER_CTX_new
    - ERR_raise
    - EVP_EncryptUpdate
    - memcpy
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int hpke_aead_enc(OSSL_HPKE_CTX *hctx, const unsigned char *iv,\n
      \                        const unsigned char *aad, size_t aadlen,\n                         const
      unsigned char *pt, size_t ptlen,\n                         unsigned char *ct,
      size_t *ctlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: hpke_mode_check
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hpke_mode_check(unsigned int mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:325,1
    - Dst: ossl_HPKE_KDF_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:327,1
    - Dst: ossl_HPKE_AEAD_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - suite
    - kem_info
    - kdf_info
    - aead_info
    argTypes:
    - OSSL_HPKE_SUITE
    - OSSL_HPKE_KEM_INFO**
    - OSSL_HPKE_KDF_INFO**
    - OSSL_HPKE_AEAD_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 340
    functionName: hpke_suite_check
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ossl_HPKE_AEAD_INFO_find_id
    - ossl_HPKE_KDF_INFO_find_id
    - ossl_HPKE_KEM_INFO_find_id
    linkageType: ''
    returnType: int
    signature: "int hpke_suite_check(OSSL_HPKE_SUITE suite,\n                            const
      OSSL_HPKE_KEM_INFO **kem_info,\n                            const OSSL_HPKE_KDF_INFO
      **kdf_info,\n                            const OSSL_HPKE_AEAD_INFO **aead_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_HPKE_KEM_INFO_find_random
      Src: /src/openssl/crypto/hpke/hpke.c:358,1
    - Dst: ossl_HPKE_KDF_INFO_find_random
      Src: /src/openssl/crypto/hpke/hpke.c:362,1
    - Dst: ossl_HPKE_AEAD_INFO_find_random
      Src: /src/openssl/crypto/hpke/hpke.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - libctx
    - propq
    - suite
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_HPKE_SUITE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: hpke_random_suite
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ossl_HPKE_AEAD_INFO_find_random
    - ossl_HPKE_KDF_INFO_find_random
    - ossl_HPKE_KEM_INFO_find_random
    linkageType: ''
    returnType: int
    signature: "int hpke_random_suite(OSSL_LIB_CTX *libctx,\n                             const
      char *propq,\n                             OSSL_HPKE_SUITE *suite)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:401,1
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - suite
    - enclen
    - clearlen
    - cipherlen
    argTypes:
    - OSSL_HPKE_SUITE
    - size_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 411
    functionName: hpke_expansion
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_suite_check
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int hpke_expansion(OSSL_HPKE_SUITE suite,\n                          size_t
      *enclen,\n                          size_t clearlen,\n                          size_t
      *cipherlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/hpke/hpke.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - buf
    - blen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: hpke_seqnonce2buf
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: size_t
    signature: "size_t hpke_seqnonce2buf(OSSL_HPKE_CTX *ctx,\n                                unsigned
      char *buf, size_t blen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:460,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:465,1
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:470,1
    - Dst: hpke_kem_id_nist_curve
      Src: /src/openssl/crypto/hpke/hpke.c:473,1
    - Dst: evp_pkey_new_raw_nist_public_key
      Src: /src/openssl/crypto/hpke/hpke.c:474,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/crypto/hpke/hpke.c:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:483,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/hpke/hpke.c:486,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:488,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke.c:491,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/hpke/hpke.c:495,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke.c:498,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/crypto/hpke/hpke.c:501,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:503,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/crypto/hpke/hpke.c:507,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:508,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/crypto/hpke/hpke.c:513,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:514,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:518,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:521,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/crypto/hpke/hpke.c:525,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:528,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:530,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:536,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:537,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 5
    argNames:
    - ctx
    - enc
    - enclen
    - pub
    - publen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 539
    functionName: hpke_encap
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - evp_pkey_new_raw_nist_public_key
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_new_raw_public_key_ex
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_free
    - hpke_kem_id_nist_curve
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_HPKE_KEM_INFO_find_id
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: "int hpke_encap(OSSL_HPKE_CTX *ctx, unsigned char *enc, size_t *enclen,\n
      \                     const unsigned char *pub, size_t publen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:565,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/hpke/hpke.c:568,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:570,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke.c:573,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke.c:576,1
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:581,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:583,1
    - Dst: hpke_kem_id_nist_curve
      Src: /src/openssl/crypto/hpke/hpke.c:586,1
    - Dst: evp_pkey_new_raw_nist_public_key
      Src: /src/openssl/crypto/hpke/hpke.c:587,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/crypto/hpke/hpke.c:592,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:599,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/crypto/hpke/hpke.c:602,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:603,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/crypto/hpke/hpke.c:607,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:608,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/crypto/hpke/hpke.c:612,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:613,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:616,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/crypto/hpke/hpke.c:619,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:621,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:628,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:629,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:631,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 4
    argNames:
    - ctx
    - enc
    - enclen
    - priv
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 636
    functionName: hpke_decap
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - evp_pkey_new_raw_nist_public_key
    - EVP_PKEY_decapsulate_init
    - ERR_raise
    - EVP_PKEY_decapsulate
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_new_raw_public_key_ex
    - EVP_PKEY_free
    - hpke_kem_id_nist_curve
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_HPKE_KEM_INFO_find_id
    - EVP_PKEY_auth_decapsulate_init
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int hpke_decap(OSSL_HPKE_CTX *ctx,\n                      const unsigned
      char *enc, size_t enclen,\n                      EVP_PKEY *priv)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:667,1
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:670,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:671,1
    - Dst: ossl_HPKE_AEAD_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:674,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:676,1
    - Dst: ossl_HPKE_KDF_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:679,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:681,1
    - Dst: memset
      Src: /src/openssl/crypto/hpke/hpke.c:686,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:691,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:698,1
    - Dst: ossl_kdf_ctx_create
      Src: /src/openssl/crypto/hpke/hpke.c:702,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:704,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke.c:707,1
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/crypto/hpke/hpke.c:716,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:721,1
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/crypto/hpke/hpke.c:724,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:735,1
    - Dst: ossl_hpke_labeled_extract
      Src: /src/openssl/crypto/hpke/hpke.c:738,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:744,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:750,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/crypto/hpke/hpke.c:753,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:758,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:762,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/crypto/hpke/hpke.c:765,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:770,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:775,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/crypto/hpke/hpke.c:778,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:783,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:789,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:790,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:791,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 107
    argCount: 3
    argNames:
    - ctx
    - info
    - infolen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 649
    functionDepth: 5
    functionLinenumber: 649
    functionLinenumberEnd: 793
    functionName: hpke_do_middle
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ossl_hpke_labeled_expand
    - ERR_raise
    - memset
    - ossl_kdf_ctx_create
    - ossl_hpke_labeled_extract
    - EVP_KDF_CTX_free
    - ossl_HPKE_AEAD_INFO_find_id
    - ossl_HPKE_KDF_INFO_find_id
    - ossl_HPKE_KEM_INFO_find_id
    - strlen
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int hpke_do_middle(OSSL_HPKE_CTX *ctx,\n                          const
      unsigned char *info, size_t infolen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hpke_mode_check
      Src: /src/openssl/crypto/hpke/hpke.c:808,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:809,1
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:812,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:813,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:817,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hpke/hpke.c:820,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/hpke/hpke.c:825,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/hpke/hpke.c:830,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:832,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/hpke/hpke.c:845,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:846,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:847,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 5
    argNames:
    - mode
    - suite
    - role
    - libctx
    - propq
    argTypes:
    - int
    - OSSL_HPKE_SUITE
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 849
    functionName: OSSL_HPKE_CTX_new
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - hpke_suite_check
    - ERR_raise
    - OPENSSL_free
    - EVP_CIPHER_fetch
    - OPENSSL_strdup
    - EVP_CIPHER_free
    - hpke_mode_check
    linkageType: ''
    returnType: OSSL_HPKE_CTX
    signature: "OSSL_HPKE_CTX *OSSL_HPKE_CTX_new(int mode, OSSL_HPKE_SUITE suite,
      int role,\n                                 OSSL_LIB_CTX *libctx, const char
      *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/hpke/hpke.c:855,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:856,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:857,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:858,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:859,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:860,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:861,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:862,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:863,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:864,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:865,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_HPKE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 869
    functionName: OSSL_HPKE_CTX_free
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_CIPHER_free
    - OPENSSL_clear_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void OSSL_HPKE_CTX_free(OSSL_HPKE_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:876,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:880,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:884,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke.c:887,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:888,1
    - Dst: strlen
      Src: /src/openssl/crypto/hpke/hpke.c:891,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:892,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:897,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:901,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/hpke/hpke.c:902,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:906,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/hpke/hpke.c:907,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - pskid
    - psk
    - psklen
    argTypes:
    - OSSL_HPKE_CTX*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 915
    functionName: OSSL_HPKE_CTX_set1_psk
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_clear_free
    - OPENSSL_memdup
    - OPENSSL_free
    - OPENSSL_strdup
    - strlen
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_CTX_set1_psk(OSSL_HPKE_CTX *ctx,\n                           const
      char *pskid,\n                           const unsigned char *psk, size_t psklen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:921,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:925,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:929,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hpke/hpke.c:932,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/hpke/hpke.c:933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - ikme
    - ikmelen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 938
    functionName: OSSL_HPKE_CTX_set1_ikme
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ERR_raise
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_CTX_set1_ikme(OSSL_HPKE_CTX *ctx,\n                            const
      unsigned char *ikme, size_t ikmelen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:943,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:948,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:952,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:955,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/crypto/hpke/hpke.c:956,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - priv
    argTypes:
    - OSSL_HPKE_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 960
    functionName: OSSL_HPKE_CTX_set1_authpriv
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_dup
    - ERR_raise
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int OSSL_HPKE_CTX_set1_authpriv(OSSL_HPKE_CTX *ctx, EVP_PKEY *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:972,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:977,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:981,1
    - Dst: ossl_HPKE_KEM_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:985,1
    - Dst: hpke_kem_id_nist_curve
      Src: /src/openssl/crypto/hpke/hpke.c:988,1
    - Dst: evp_pkey_new_raw_nist_public_key
      Src: /src/openssl/crypto/hpke/hpke.c:989,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/crypto/hpke/hpke.c:993,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1000,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/hpke/hpke.c:1007,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/crypto/hpke/hpke.c:1010,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:1014,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1015,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hpke/hpke.c:1019,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:1025,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - ctx
    - pub
    - publen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 1027
    functionName: OSSL_HPKE_CTX_set1_authpub
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - evp_pkey_new_raw_nist_public_key
    - ERR_raise
    - EVP_PKEY_new_raw_public_key_ex
    - EVP_PKEY_free
    - hpke_kem_id_nist_curve
    - OPENSSL_free
    - ossl_HPKE_KEM_INFO_find_id
    - EVP_PKEY_get_octet_string_param
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_CTX_set1_authpub(OSSL_HPKE_CTX *ctx,\n                               const
      unsigned char *pub, size_t publen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - seq
    argTypes:
    - OSSL_HPKE_CTX*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1037
    functionName: OSSL_HPKE_CTX_get_seq
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_HPKE_CTX_get_seq(OSSL_HPKE_CTX *ctx, uint64_t *seq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1042,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - seq
    argTypes:
    - OSSL_HPKE_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1056
    functionName: OSSL_HPKE_CTX_set_seq
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_HPKE_CTX_set_seq(OSSL_HPKE_CTX *ctx, uint64_t seq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1068,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1072,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1076,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1080,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/crypto/hpke/hpke.c:1083,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1085,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1090,1
    - Dst: hpke_encap
      Src: /src/openssl/crypto/hpke/hpke.c:1093,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1094,1
    - Dst: hpke_do_middle
      Src: /src/openssl/crypto/hpke/hpke.c:1102,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 7
    argNames:
    - ctx
    - enc
    - enclen
    - pub
    - publen
    - info
    - infolen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1058
    functionDepth: 6
    functionLinenumber: 1058
    functionLinenumberEnd: 1104
    functionName: OSSL_HPKE_encap
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_do_middle
    - ERR_raise
    - hpke_encap
    - OSSL_HPKE_get_public_encap_size
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_encap(OSSL_HPKE_CTX *ctx,\n                    unsigned
      char *enc, size_t *enclen,\n                    const unsigned char *pub, size_t
      publen,\n                    const unsigned char *info, size_t infolen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1127,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/crypto/hpke/hpke.c:1130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1137,1
    - Dst: hpke_decap
      Src: /src/openssl/crypto/hpke/hpke.c:1140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1142,1
    - Dst: hpke_do_middle
      Src: /src/openssl/crypto/hpke/hpke.c:1150,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - ctx
    - enc
    - enclen
    - recippriv
    - info
    - infolen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t
    - EVP_PKEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1106
    functionDepth: 6
    functionLinenumber: 1106
    functionLinenumberEnd: 1152
    functionName: OSSL_HPKE_decap
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_decap
    - ERR_raise
    - hpke_do_middle
    - OSSL_HPKE_get_public_encap_size
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_decap(OSSL_HPKE_CTX *ctx,\n                    const
      unsigned char *enc, size_t enclen,\n                    EVP_PKEY *recippriv,\n
      \                   const unsigned char *info, size_t infolen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1177,1
    - Dst: hpke_seqnonce2buf
      Src: /src/openssl/crypto/hpke/hpke.c:1180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1182,1
    - Dst: hpke_aead_enc
      Src: /src/openssl/crypto/hpke/hpke.c:1185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1186,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:1187,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:1192,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 7
    argNames:
    - ctx
    - ct
    - ctlen
    - aad
    - aadlen
    - pt
    - ptlen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1194
    functionName: OSSL_HPKE_seal
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - hpke_aead_enc
    - ERR_raise
    - hpke_seqnonce2buf
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_seal(OSSL_HPKE_CTX *ctx,\n                   unsigned
      char *ct, size_t *ctlen,\n                   const unsigned char *aad, size_t
      aadlen,\n                   const unsigned char *pt, size_t ptlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1219,1
    - Dst: hpke_seqnonce2buf
      Src: /src/openssl/crypto/hpke/hpke.c:1222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1224,1
    - Dst: hpke_aead_dec
      Src: /src/openssl/crypto/hpke/hpke.c:1227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1228,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:1229,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hpke/hpke.c:1233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - ctx
    - pt
    - ptlen
    - aad
    - aadlen
    - ct
    - ctlen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1235
    functionName: OSSL_HPKE_open
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_aead_dec
    - OPENSSL_cleanse
    - ERR_raise
    - hpke_seqnonce2buf
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_open(OSSL_HPKE_CTX *ctx,\n                   unsigned
      char *pt, size_t *ptlen,\n                   const unsigned char *aad, size_t
      aadlen,\n                   const unsigned char *ct, size_t ctlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1248,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1252,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1260,1
    - Dst: ossl_HPKE_KDF_INFO_find_id
      Src: /src/openssl/crypto/hpke/hpke.c:1263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1265,1
    - Dst: ossl_kdf_ctx_create
      Src: /src/openssl/crypto/hpke/hpke.c:1269,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1271,1
    - Dst: ossl_hpke_labeled_expand
      Src: /src/openssl/crypto/hpke/hpke.c:1281,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:1287,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - ctx
    - secret
    - secretlen
    - label
    - labellen
    argTypes:
    - OSSL_HPKE_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1237
    functionDepth: 5
    functionLinenumber: 1237
    functionLinenumberEnd: 1291
    functionName: OSSL_HPKE_export
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ossl_hpke_labeled_expand
    - ossl_kdf_ctx_create
    - ERR_raise
    - EVP_KDF_CTX_free
    - ossl_HPKE_KDF_INFO_find_id
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_export(OSSL_HPKE_CTX *ctx,\n                     unsigned
      char *secret, size_t secretlen,\n                     const unsigned char *label,
      size_t labellen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1305,1
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:1308,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1315,1
    - Dst: hpke_kem_id_nist_curve
      Src: /src/openssl/crypto/hpke/hpke.c:1319,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/hpke/hpke.c:1320,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/hpke/hpke.c:1322,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/hpke/hpke.c:1324,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/crypto/hpke/hpke.c:1327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1328,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/hpke/hpke.c:1332,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/hpke/hpke.c:1334,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/hpke/hpke.c:1335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1336,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/crypto/hpke/hpke.c:1339,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1340,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:1343,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/crypto/hpke/hpke.c:1345,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1347,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:1355,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/hpke/hpke.c:1356,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 8
    argNames:
    - suite
    - pub
    - publen
    - priv
    - ikm
    - ikmlen
    - libctx
    - propq
    argTypes:
    - OSSL_HPKE_SUITE
    - unsigned char*
    - size_t*
    - EVP_PKEY**
    - unsigned char*
    - size_t
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1293
    functionDepth: 2
    functionLinenumber: 1293
    functionLinenumberEnd: 1358
    functionName: OSSL_HPKE_keygen
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_suite_check
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - hpke_kem_id_nist_curve
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_keygen_init
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_keygen(OSSL_HPKE_SUITE suite,\n                     unsigned
      char *pub, size_t *publen, EVP_PKEY **priv,\n                     const unsigned
      char *ikm, size_t ikmlen,\n                     OSSL_LIB_CTX *libctx, const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite
    argTypes:
    - OSSL_HPKE_SUITE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: OSSL_HPKE_suite_check
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_suite_check
    linkageType: ''
    returnType: int
    signature: int OSSL_HPKE_suite_check(OSSL_HPKE_SUITE suite)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1379,1
    - Dst: hpke_random_suite
      Src: /src/openssl/crypto/hpke/hpke.c:1384,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1385,1
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:1391,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1392,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1398,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1404,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/crypto/hpke/hpke.c:1414,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1416,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/hpke/hpke.c:1419,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/hpke/hpke.c:1420,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hpke/hpke.c:1421,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 8
    argNames:
    - suite_in
    - suite
    - enc
    - enclen
    - ct
    - ctlen
    - libctx
    - propq
    argTypes:
    - OSSL_HPKE_SUITE*
    - OSSL_HPKE_SUITE*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1365
    functionDepth: 3
    functionLinenumber: 1365
    functionLinenumberEnd: 1427
    functionName: OSSL_HPKE_get_grease_value
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_suite_check
    - ERR_raise
    - hpke_random_suite
    - EVP_PKEY_free
    - OSSL_HPKE_keygen
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: "int OSSL_HPKE_get_grease_value(const OSSL_HPKE_SUITE *suite_in,\n
      \                              OSSL_HPKE_SUITE *suite,\n                               unsigned
      char *enc, size_t *enclen,\n                               unsigned char *ct,
      size_t ctlen,\n                               OSSL_LIB_CTX *libctx, const char
      *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_hpke_str2suite
      Src: /src/openssl/crypto/hpke/hpke.c:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - suite
    argTypes:
    - char*
    - OSSL_HPKE_SUITE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1429
    functionDepth: 5
    functionLinenumber: 1429
    functionLinenumberEnd: 1432
    functionName: OSSL_HPKE_str2suite
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - ossl_hpke_str2suite
    linkageType: ''
    returnType: int
    signature: int OSSL_HPKE_str2suite(const char *str, OSSL_HPKE_SUITE *suite)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hpke_expansion
      Src: /src/openssl/crypto/hpke/hpke.c:1439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - suite
    - clearlen
    argTypes:
    - OSSL_HPKE_SUITE
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1434
    functionDepth: 3
    functionLinenumber: 1434
    functionLinenumberEnd: 1442
    functionName: OSSL_HPKE_get_ciphertext_size
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_expansion
    linkageType: ''
    returnType: size_t
    signature: size_t OSSL_HPKE_get_ciphertext_size(OSSL_HPKE_SUITE suite, size_t
      clearlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hpke_expansion
      Src: /src/openssl/crypto/hpke/hpke.c:1450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - suite
    argTypes:
    - OSSL_HPKE_SUITE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1444
    functionDepth: 3
    functionLinenumber: 1444
    functionLinenumberEnd: 1453
    functionName: OSSL_HPKE_get_public_encap_size
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 2
    functionsReached:
    - hpke_expansion
    linkageType: ''
    returnType: size_t
    signature: size_t OSSL_HPKE_get_public_encap_size(OSSL_HPKE_SUITE suite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hpke_suite_check
      Src: /src/openssl/crypto/hpke/hpke.c:1459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - suite
    argTypes:
    - OSSL_HPKE_SUITE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1465
    functionName: OSSL_HPKE_get_recommended_ikmelen
    functionSourceFile: /src/openssl/crypto/hpke/hpke.c
    functionUses: 0
    functionsReached:
    - hpke_suite_check
    linkageType: ''
    returnType: size_t
    signature: size_t OSSL_HPKE_get_recommended_ikmelen(OSSL_HPKE_SUITE suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - k1
    - l
    - bl
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: make_kn
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void make_kn(unsigned char *k1, const unsigned char *l, int bl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cmac/cmac.c:58,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cmac/cmac.c:60,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmac/cmac.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: CMAC_CTX_new
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: CMAC_CTX
    signature: CMAC_CTX *CMAC_CTX_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/cmac/cmac.c:71,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:72,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:73,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:74,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: CMAC_CTX_cleanup
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void CMAC_CTX_cleanup(CMAC_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: CMAC_CTX_get0_cipher_ctx
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_cleanup
      Src: /src/openssl/crypto/cmac/cmac.c:88,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cmac/cmac.c:89,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmac/cmac.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: CMAC_CTX_free
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - CMAC_CTX_cleanup
    - OPENSSL_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void CMAC_CTX_free(CMAC_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/cmac/cmac.c:99,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/crypto/cmac/cmac.c:101,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:103,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:104,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:105,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - CMAC_CTX*
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: CMAC_CTX_copy
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX_copy
    linkageType: ''
    returnType: int
    signature: int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/crypto/cmac/cmac.c:123,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/cmac/cmac.c:125,1
    - Dst: memset
      Src: /src/openssl/crypto/cmac/cmac.c:128,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cmac/cmac.c:137,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/crypto/cmac/cmac.c:140,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/cmac/cmac.c:150,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/crypto/cmac/cmac.c:153,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/crypto/cmac/cmac.c:155,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/cmac/cmac.c:157,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:159,1
    - Dst: make_kn
      Src: /src/openssl/crypto/cmac/cmac.c:161,1
    - Dst: make_kn
      Src: /src/openssl/crypto/cmac/cmac.c:162,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:163,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/crypto/cmac/cmac.c:165,1
    - Dst: memset
      Src: /src/openssl/crypto/cmac/cmac.c:168,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - cipher
    - impl
    - param
    argTypes:
    - CMAC_CTX*
    - void*
    - size_t
    - EVP_CIPHER*
    - ENGINE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 172
    functionName: ossl_cmac_init
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_EncryptInit_ex
    - memset
    - EVP_CIPHER_CTX_get_block_size
    - make_kn
    - EVP_CIPHER_CTX_set_key_length
    - OPENSSL_cleanse
    - EVP_Cipher
    linkageType: ''
    returnType: int
    signature: "int ossl_cmac_init(CMAC_CTX *ctx, const void *key, size_t keylen,\n
      \                  const EVP_CIPHER *cipher, ENGINE *impl,\n                   const
      OSSL_PARAM param[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmac_init
      Src: /src/openssl/crypto/cmac/cmac.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - key
    - keylen
    - cipher
    - impl
    argTypes:
    - CMAC_CTX*
    - void*
    - size_t
    - EVP_CIPHER*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: CMAC_Init
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - ossl_cmac_init
    linkageType: ''
    returnType: int
    signature: "int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen,\n              const
      EVP_CIPHER *cipher, ENGINE *impl)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/cmac/cmac.c:191,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:200,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:208,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:221,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:228,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:235,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:239,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cmac/cmac.c:243,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - in
    - dlen
    argTypes:
    - CMAC_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 247
    functionName: CMAC_Update
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVP_CIPHER_CTX_get_block_size
    - EVP_Cipher
    linkageType: ''
    returnType: int
    signature: int CMAC_Update(CMAC_CTX *ctx, const void *in, size_t dlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/cmac/cmac.c:255,1
    - Dst: memset
      Src: /src/openssl/crypto/cmac/cmac.c:269,1
    - Dst: EVP_Cipher
      Src: /src/openssl/crypto/cmac/cmac.c:273,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmac/cmac.c:274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - out
    - poutlen
    argTypes:
    - CMAC_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 278
    functionName: CMAC_Final
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_get_block_size
    - memset
    - EVP_Cipher
    linkageType: ''
    returnType: int
    signature: int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cmac/cmac.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: CMAC_resume
    functionSourceFile: /src/openssl/crypto/cmac/cmac.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: int CMAC_resume(CMAC_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: OSSL_SLH_PARAMS
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SLH_PARAMS(name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/slh_dsa/slh_params.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - alg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: ossl_slh_dsa_params_get
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_params.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: SLH_DSA_PARAMS
    signature: SLH_DSA_PARAMS *ossl_slh_dsa_params_get(const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:46,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:47,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:49,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:50,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:51,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:52,1
    - Dst: SLH_DSA_KEY*::hash_func::PRF
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - ctx
    - sk_seed
    - pk_seed
    - adrs
    - id
    - pk_out
    - pk_out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: slh_fors_sk_gen
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_fors.c
    functionUses: 0
    functionsReached:
    - copy
    - set_type_and_clear
    - set_tree_index
    - copy_keypair_address
    - SLH_ADRS_DECLARE
    - SLH_DSA_KEY*::hash_func::PRF
    - SLH_ADRS_FUNC_DECLARE
    linkageType: ''
    returnType: int
    signature: "int slh_fors_sk_gen(SLH_DSA_HASH_CTX *ctx, const uint8_t *sk_seed,\n
      \                          const uint8_t *pk_seed, uint8_t *adrs, uint32_t id,\n
      \                          uint8_t *pk_out, size_t pk_out_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:86,1
    - Dst: slh_fors_sk_gen
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:90,1
    - Dst: set_tree_height
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:92,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:93,1
    - Dst: SLH_DSA_KEY*::hash_func::F
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:94,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:95,1
    - Dst: slh_fors_node
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:98,1
    - Dst: slh_fors_node
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:100,1
    - Dst: set_tree_height
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:103,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:104,1
    - Dst: SLH_DSA_KEY*::hash_func::H
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 8
    argNames:
    - ctx
    - sk_seed
    - pk_seed
    - adrs
    - node_id
    - height
    - node
    - node_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: slh_fors_node
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_fors.c
    functionUses: 1
    functionsReached:
    - SLH_DSA_KEY*::hash_func::F
    - slh_fors_node
    - set_tree_index
    - SLH_DSA_KEY*::hash_func::H
    - slh_fors_sk_gen
    - SLH_ADRS_FUNC_DECLARE
    - OPENSSL_cleanse
    - set_tree_height
    linkageType: ''
    returnType: int
    signature: "int slh_fors_node(SLH_DSA_HASH_CTX *ctx, const uint8_t *sk_seed,\n
      \                        const uint8_t *pk_seed, uint8_t *adrs, uint32_t node_id,\n
      \                        uint32_t height, uint8_t *node, size_t node_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: slh_base_2b
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:150,1
    - Dst: slh_fors_sk_gen
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:165,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:167,1
    - Dst: slh_fors_node
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:179,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - ctx
    - md
    - sk_seed
    - pk_seed
    - adrs
    - sig_wpkt
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 190
    functionName: ossl_slh_fors_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_fors.c
    functionUses: 0
    functionsReached:
    - slh_base_2b
    - slh_fors_node
    - slh_fors_sk_gen
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_fors_sign(SLH_DSA_HASH_CTX *ctx, const uint8_t *md,\n
      \                      const uint8_t *sk_seed, const uint8_t *pk_seed,\n                       uint8_t
      *adrs, WPACKET *sig_wpkt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:229,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:230,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:231,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:232,1
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:233,1
    - Dst: SLH_HASH_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:234,1
    - Dst: SLH_HASH_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:235,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:237,1
    - Dst: slh_base_2b
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:241,1
    - Dst: set_tree_height
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:248,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:249,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:252,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:253,1
    - Dst: F
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:254,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:261,1
    - Dst: set_tree_height
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:264,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:267,1
    - Dst: H
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:268,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:272,1
    - Dst: H
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:273,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:280,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:284,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:285,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:286,1
    - Dst: T
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:287,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/slh_dsa/slh_fors.c:289,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 7
    argNames:
    - ctx
    - fors_sig_rpkt
    - md
    - pk_seed
    - adrs
    - pk_out
    - pk_out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - PACKET*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 292
    functionName: ossl_slh_fors_pk_from_sig
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_fors.c
    functionUses: 0
    functionsReached:
    - F
    - PACKET_get_bytes
    - T
    - set_tree_index
    - slh_base_2b
    - SLH_ADRS_DECLARE
    - H
    - WPACKET_allocate_bytes
    - SLH_ADRS_FUNC_DECLARE
    - copy
    - SLH_HASH_FUNC_DECLARE
    - set_tree_height
    - SLH_HASH_FN_DECLARE
    - set_type_and_clear
    - copy_keypair_address
    - WPACKET_init_static_len
    - WPACKET_finish
    - SLH_ADRS_FN_DECLARE
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_fors_pk_from_sig(SLH_DSA_HASH_CTX *ctx, PACKET *fors_sig_rpkt,\n
      \                             const uint8_t *md, const uint8_t *pk_seed,\n                              uint8_t
      *adrs, uint8_t *pk_out, size_t pk_out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - in
    - b
    - out
    - out_len
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 322
    functionName: slh_base_2b
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_fors.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void slh_base_2b(const uint8_t *in, uint32_t b,\n                        uint32_t
      *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:41,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:42,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:43,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:44,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - in1
    - in1_len
    - in2
    - in2_len
    - in3
    - in3_len
    - out
    - out_len
    argTypes:
    - EVP_MD_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: xof_digest_3
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline xof_digest_3(EVP_MD_CTX *ctx,\n                                    const
      uint8_t *in1, size_t in1_len,\n                                    const uint8_t
      *in2, size_t in2_len,\n                                    const uint8_t *in3,
      size_t in3_len,\n                                    uint8_t *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:55,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:56,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:57,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:58,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:59,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 11
    argNames:
    - ctx
    - in1
    - in1_len
    - in2
    - in2_len
    - in3
    - in3_len
    - in4
    - in4_len
    - out
    - out_len
    argTypes:
    - EVP_MD_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: xof_digest_4
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline xof_digest_4(EVP_MD_CTX *ctx,\n                                    const
      uint8_t *in1, size_t in1_len,\n                                    const uint8_t
      *in2, size_t in2_len,\n                                    const uint8_t *in3,
      size_t in3_len,\n                                    const uint8_t *in4, size_t
      in4_len,\n                                    uint8_t *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xof_digest_4
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - r
    - pk_seed
    - pk_root
    - msg
    - msg_len
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: slh_hmsg_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - xof_digest_4
    linkageType: ''
    returnType: int
    signature: "int slh_hmsg_shake(SLH_DSA_HASH_CTX *ctx, const uint8_t *r,\n               const
      uint8_t *pk_seed, const uint8_t *pk_root,\n               const uint8_t *msg,
      size_t msg_len,\n               uint8_t *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xof_digest_3
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - pk_seed
    - sk_seed
    - adrs
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: slh_prf_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - xof_digest_3
    linkageType: ''
    returnType: int
    signature: "int slh_prf_shake(SLH_DSA_HASH_CTX *ctx,\n              const uint8_t
      *pk_seed, const uint8_t *sk_seed,\n              const uint8_t *adrs, uint8_t
      *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xof_digest_3
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:99,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - sk_prf
    - opt_rand
    - msg
    - msg_len
    - pkt
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: slh_prf_msg_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - xof_digest_3
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int slh_prf_msg_shake(SLH_DSA_HASH_CTX *ctx, const uint8_t *sk_prf,\n
      \                 const uint8_t *opt_rand, const uint8_t *msg, size_t msg_len,\n
      \                 WPACKET *pkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xof_digest_3
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pk_seed
    - adrs
    - m1
    - m1_len
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: slh_f_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - xof_digest_3
    linkageType: ''
    returnType: int
    signature: "int slh_f_shake(SLH_DSA_HASH_CTX *ctx, const uint8_t *pk_seed, const
      uint8_t *adrs,\n            const uint8_t *m1, size_t m1_len, uint8_t *out,
      size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xof_digest_4
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pk_seed
    - adrs
    - m1
    - m2
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: slh_h_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - xof_digest_4
    linkageType: ''
    returnType: int
    signature: "int slh_h_shake(SLH_DSA_HASH_CTX *ctx, const uint8_t *pk_seed, const
      uint8_t *adrs,\n            const uint8_t *m1, const uint8_t *m2, uint8_t *out,
      size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xof_digest_3
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pk_seed
    - adrs
    - ml
    - ml_len
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: slh_t_shake
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - xof_digest_3
    linkageType: ''
    returnType: int
    signature: "int slh_t_shake(SLH_DSA_HASH_CTX *ctx, const uint8_t *pk_seed, const
      uint8_t *adrs,\n            const uint8_t *ml, size_t ml_len, uint8_t *out,
      size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:139,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:140,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:141,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:142,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:143,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 10
    argNames:
    - ctx
    - in1
    - in1_len
    - in2
    - in2_len
    - in3
    - in3_len
    - in4
    - in4_len
    - out
    argTypes:
    - EVP_MD_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: digest_4
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 2
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline digest_4(EVP_MD_CTX *ctx,\n         const uint8_t *in1,
      size_t in1_len, const uint8_t *in2, size_t in2_len,\n         const uint8_t
      *in3, size_t in3_len, const uint8_t *in4, size_t in4_len,\n         uint8_t
      *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:158,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:164,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:165,1
    - Dst: digest_4
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:166,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - hctx
    - r
    - pk_seed
    - pk_root
    - msg
    - msg_len
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: slh_hmsg_sha2
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    - PKCS1_MGF1
    - memcpy
    - digest_4
    linkageType: ''
    returnType: int
    signature: "int slh_hmsg_sha2(SLH_DSA_HASH_CTX *hctx, const uint8_t *r, const
      uint8_t *pk_seed,\n              const uint8_t *pk_root, const uint8_t *msg,
      size_t msg_len,\n              uint8_t *out, size_t out_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:193,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:194,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:196,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:198,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:203,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:204,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:205,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:206,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 6
    argNames:
    - hctx
    - sk_prf
    - opt_rand
    - msg
    - msg_len
    - pkt
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 209
    functionName: slh_prf_msg_sha2
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_final
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_end
    - EVP_MAC_update
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int slh_prf_msg_sha2(SLH_DSA_HASH_CTX *hctx,\n                 const
      uint8_t *sk_prf, const uint8_t *opt_rand,\n                 const uint8_t *msg,
      size_t msg_len, WPACKET *pkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digest_4
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:219,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - ctx
    - n
    - pk_seed
    - adrs
    - m
    - m_len
    - b
    - out
    - out_len
    argTypes:
    - EVP_MD_CTX*
    - size_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: do_hash
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - memcpy
    - digest_4
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline do_hash(EVP_MD_CTX *ctx, size_t n, const uint8_t *pk_seed,
      const uint8_t *adrs,\n        const uint8_t *m, size_t m_len, size_t b, uint8_t
      *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hctx
    - pk_seed
    - sk_seed
    - adrs
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: slh_prf_sha2
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - do_hash
    linkageType: ''
    returnType: int
    signature: "int slh_prf_sha2(SLH_DSA_HASH_CTX *hctx, const uint8_t *pk_seed,\n
      \            const uint8_t *sk_seed, const uint8_t *adrs,\n             uint8_t
      *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - hctx
    - pk_seed
    - adrs
    - m1
    - m1_len
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: slh_f_sha2
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - do_hash
    linkageType: ''
    returnType: int
    signature: "int slh_f_sha2(SLH_DSA_HASH_CTX *hctx, const uint8_t *pk_seed, const
      uint8_t *adrs,\n           const uint8_t *m1, size_t m1_len, uint8_t *out, size_t
      out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:253,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:254,1
    - Dst: do_hash
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - hctx
    - pk_seed
    - adrs
    - m1
    - m2
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: slh_h_sha2
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - memcpy
    - do_hash
    linkageType: ''
    returnType: int
    signature: "int slh_h_sha2(SLH_DSA_HASH_CTX *hctx, const uint8_t *pk_seed, const
      uint8_t *adrs,\n           const uint8_t *m1, const uint8_t *m2, uint8_t *out,
      size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/openssl/crypto/slh_dsa/slh_hash.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - hctx
    - pk_seed
    - adrs
    - ml
    - ml_len
    - out
    - out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: slh_t_sha2
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached:
    - do_hash
    linkageType: ''
    returnType: int
    signature: "int slh_t_sha2(SLH_DSA_HASH_CTX *hctx, const uint8_t *pk_seed, const
      uint8_t *adrs,\n           const uint8_t *ml, size_t ml_len, uint8_t *out, size_t
      out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_shake
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: ossl_slh_get_hash_fn
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SLH_HASH_FUNC
    signature: SLH_HASH_FUNC *ossl_slh_get_hash_fn(int is_shake)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: SLH_WOTS_LEN1
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_WOTS_LEN1(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: slh_bytes_to_nibbles
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline slh_bytes_to_nibbles(const uint8_t *in, size_t in_len,\n
      \                                            uint8_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - in
    - in_len
    - out
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: compute_checksum_nibbles
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline compute_checksum_nibbles(const uint8_t *in, size_t in_len,\n
      \                                                uint8_t *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:97,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:98,1
    - Dst: SLH_HASH_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:99,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:100,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:107,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:109,1
    - Dst: set_hash_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:112,1
    - Dst: F
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:113,1
    - Dst: set_hash_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:118,1
    - Dst: F
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 7
    argNames:
    - ctx
    - in
    - start_index
    - steps
    - pk_seed
    - adrs
    - wpkt
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t*
    - uint8_t*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 123
    functionName: slh_wots_chain
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached:
    - F
    - SLH_HASH_FN_DECLARE
    - set_hash_address
    - SLH_HASH_FUNC_DECLARE
    - SLH_ADRS_FN_DECLARE
    - WPACKET_allocate_bytes
    - SLH_ADRS_FUNC_DECLARE
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int slh_wots_chain(SLH_DSA_HASH_CTX *ctx, const uint8_t *in,\n                          uint8_t
      start_index, uint8_t steps,\n                          const uint8_t *pk_seed,
      uint8_t *adrs, WPACKET *wpkt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SLH_WOTS_LEN
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:145,1
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:151,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:152,1
    - Dst: SLH_HASH_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:153,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:154,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:155,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:156,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:158,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:160,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:161,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:162,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:165,1
    - Dst: PRF
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:166,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:169,1
    - Dst: slh_wots_chain
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:170,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:174,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:176,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:177,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:178,1
    - Dst: T
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:179,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:181,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:182,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 6
    argNames:
    - ctx
    - sk_seed
    - pk_seed
    - adrs
    - pk_out
    - pk_out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 185
    functionName: ossl_slh_wots_pk_gen
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - SLH_HASH_FN_DECLARE
    - copy
    - SLH_WOTS_LEN
    - set_type_and_clear
    - T
    - SLH_HASH_FUNC_DECLARE
    - slh_wots_chain
    - SLH_ADRS_FN_DECLARE
    - copy_keypair_address
    - WPACKET_get_total_written
    - SLH_ADRS_DECLARE
    - set_chain_address
    - SLH_ADRS_FUNC_DECLARE
    - OPENSSL_cleanse
    - PRF
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_wots_pk_gen(SLH_DSA_HASH_CTX *ctx,\n                         const
      uint8_t *sk_seed, const uint8_t *pk_seed,\n                         uint8_t
      *adrs, uint8_t *pk_out, size_t pk_out_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SLH_WOTS_LEN1
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:213,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:216,1
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:217,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:218,1
    - Dst: SLH_HASH_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:219,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:220,1
    - Dst: slh_bytes_to_nibbles
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:226,1
    - Dst: compute_checksum_nibbles
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:228,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:230,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:231,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:232,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:235,1
    - Dst: PRF
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:237,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:239,1
    - Dst: slh_wots_chain
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - ctx
    - msg
    - sk_seed
    - pk_seed
    - adrs
    - sig_wpkt
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 248
    functionName: ossl_slh_wots_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached:
    - SLH_HASH_FN_DECLARE
    - slh_bytes_to_nibbles
    - copy
    - set_type_and_clear
    - SLH_HASH_FUNC_DECLARE
    - compute_checksum_nibbles
    - SLH_ADRS_FN_DECLARE
    - copy_keypair_address
    - slh_wots_chain
    - PRF
    - SLH_ADRS_DECLARE
    - SLH_ADRS_FUNC_DECLARE
    - SLH_WOTS_LEN1
    - set_chain_address
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_wots_sign(SLH_DSA_HASH_CTX *ctx, const uint8_t *msg,\n
      \                      const uint8_t *sk_seed, const uint8_t *pk_seed,\n                       uint8_t
      *adrs, WPACKET *sig_wpkt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SLH_WOTS_LEN1
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:276,1
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:283,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:284,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:285,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:286,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:288,1
    - Dst: slh_bytes_to_nibbles
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:291,1
    - Dst: compute_checksum_nibbles
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:292,1
    - Dst: set_chain_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:296,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:297,1
    - Dst: slh_wots_chain
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:298,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:304,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:305,1
    - Dst: copy_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:306,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:307,1
    - Dst: T
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:309,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/slh_dsa/slh_wots.c:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 7
    argNames:
    - ctx
    - sig_rpkt
    - msg
    - pk_seed
    - adrs
    - pk_out
    - pk_out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - PACKET*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 315
    functionName: ossl_slh_wots_pk_from_sig
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_wots.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - slh_bytes_to_nibbles
    - copy
    - PACKET_get_bytes
    - set_type_and_clear
    - T
    - SLH_HASH_FUNC_DECLARE
    - compute_checksum_nibbles
    - SLH_ADRS_FN_DECLARE
    - slh_wots_chain
    - copy_keypair_address
    - WPACKET_get_total_written
    - SLH_ADRS_DECLARE
    - set_chain_address
    - SLH_ADRS_FUNC_DECLARE
    - SLH_WOTS_LEN1
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_wots_pk_from_sig(SLH_DSA_HASH_CTX *ctx,\n                              PACKET
      *sig_rpkt, const uint8_t *msg,\n                              const uint8_t
      *pk_seed, uint8_t *adrs,\n                              uint8_t *pk_out, size_t
      pk_out_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:41,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:45,1
    - Dst: set_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:46,1
    - Dst: ossl_slh_wots_pk_gen
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:47,1
    - Dst: ossl_slh_xmss_node
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:53,1
    - Dst: ossl_slh_xmss_node
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:55,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:58,1
    - Dst: set_tree_height
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:59,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:60,1
    - Dst: SLH_DSA_KEY*::hash_func::H
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 8
    argNames:
    - ctx
    - sk_seed
    - node_id
    - h
    - pk_seed
    - adrs
    - pk_out
    - pk_out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 65
    functionName: ossl_slh_xmss_node
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_xmss.c
    functionUses: 1
    functionsReached:
    - ossl_slh_wots_pk_gen
    - set_keypair_address
    - set_type_and_clear
    - set_tree_index
    - SLH_DSA_KEY*::hash_func::H
    - SLH_ADRS_FUNC_DECLARE
    - set_tree_height
    - ossl_slh_xmss_node
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_xmss_node(SLH_DSA_HASH_CTX *ctx, const uint8_t *sk_seed,\n
      \                      uint32_t node_id, uint32_t h,\n                       const
      uint8_t *pk_seed, uint8_t *adrs,\n                       uint8_t *pk_out, size_t
      pk_out_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:90,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:91,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:102,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:103,1
    - Dst: set_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:104,1
    - Dst: ossl_slh_wots_sign
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:105,1
    - Dst: copy
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:108,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:110,1
    - Dst: ossl_slh_xmss_node
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - ctx
    - msg
    - sk_seed
    - node_id
    - pk_seed
    - adrs
    - sig_wpkt
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint8_t*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: ossl_slh_xmss_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_xmss.c
    functionUses: 0
    functionsReached:
    - copy
    - ossl_slh_wots_sign
    - set_keypair_address
    - set_type_and_clear
    - SLH_ADRS_DECLARE
    - WPACKET_allocate_bytes
    - SLH_ADRS_FUNC_DECLARE
    - ossl_slh_xmss_node
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_xmss_sign(SLH_DSA_HASH_CTX *ctx, const uint8_t *msg,\n
      \                      const uint8_t *sk_seed, uint32_t node_id,\n                       const
      uint8_t *pk_seed, uint8_t *adrs, WPACKET *sig_wpkt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:145,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:146,1
    - Dst: SLH_HASH_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:147,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:148,1
    - Dst: SLH_ADRS_FN_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:149,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:156,1
    - Dst: set_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:157,1
    - Dst: ossl_slh_wots_pk_from_sig
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:158,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:162,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:165,1
    - Dst: set_tree_height
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:167,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:170,1
    - Dst: H
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:171,1
    - Dst: set_tree_index
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:175,1
    - Dst: H
      Src: /src/openssl/crypto/slh_dsa/slh_xmss.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 8
    argNames:
    - ctx
    - node_id
    - sig_rpkt
    - msg
    - pk_seed
    - adrs
    - pk_out
    - pk_out_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint32_t
    - PACKET*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 181
    functionName: ossl_slh_xmss_pk_from_sig
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_xmss.c
    functionUses: 0
    functionsReached:
    - SLH_HASH_FN_DECLARE
    - PACKET_get_bytes
    - set_keypair_address
    - set_type_and_clear
    - SLH_HASH_FUNC_DECLARE
    - set_tree_index
    - SLH_ADRS_FN_DECLARE
    - ossl_slh_wots_pk_from_sig
    - H
    - SLH_ADRS_FUNC_DECLARE
    - set_tree_height
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_xmss_pk_from_sig(SLH_DSA_HASH_CTX *ctx, uint32_t node_id,\n
      \                             PACKET *sig_rpkt, const uint8_t *msg,\n                              const
      uint8_t *pk_seed, uint8_t *adrs,\n                              uint8_t *pk_out,
      size_t pk_out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:25,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:27,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:29,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: slh_dsa_key_hash_cleanup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_free
    - OPENSSL_free
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void slh_dsa_key_hash_cleanup(SLH_DSA_KEY *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:40,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:53,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:57,1
    - Dst: ossl_slh_get_adrs_fn
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:61,1
    - Dst: ossl_slh_get_hash_fn
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:62,1
    - Dst: slh_dsa_key_hash_cleanup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 67
    functionName: slh_dsa_key_hash_init
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - ossl_slh_get_adrs_fn
    - ossl_slh_get_hash_fn
    - EVP_MD_fetch
    - EVP_MAC_fetch
    - slh_dsa_key_hash_cleanup
    linkageType: ''
    returnType: int
    signature: int slh_dsa_key_hash_init(SLH_DSA_KEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:72,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:74,1
    - Dst: EVP_MAC_up_ref
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SLH_DSA_KEY*
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: slh_dsa_key_hash_dup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_up_ref
    - EVP_MD_up_ref
    linkageType: ''
    returnType: void
    signature: void slh_dsa_key_hash_dup(SLH_DSA_KEY *dst, const SLH_DSA_KEY *src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_params_get
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:91,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:96,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:101,1
    - Dst: slh_dsa_key_hash_init
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:105,1
    - Dst: ossl_slh_dsa_key_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - libctx
    - propq
    - alg
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 112
    functionName: ossl_slh_dsa_key_new
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - slh_dsa_key_hash_init
    - ossl_slh_dsa_key_free
    - OPENSSL_strdup
    - ossl_slh_dsa_params_get
    linkageType: ''
    returnType: SLH_DSA_KEY
    signature: "SLH_DSA_KEY *ossl_slh_dsa_key_new(OSSL_LIB_CTX *libctx, const char
      *propq,\n                                  const char *alg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: slh_dsa_key_hash_cleanup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:122,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: ossl_slh_dsa_key_free
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_free
    - slh_dsa_key_hash_cleanup
    linkageType: ''
    returnType: void
    signature: void ossl_slh_dsa_key_free(SLH_DSA_KEY *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:142,1
    - Dst: slh_dsa_key_hash_dup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:148,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:150,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:157,1
    - Dst: ossl_slh_dsa_key_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - src
    - selection
    argTypes:
    - SLH_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: ossl_slh_dsa_key_dup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - slh_dsa_key_hash_dup
    - OPENSSL_zalloc
    - SLH_DSA_PUB
    - ossl_slh_dsa_key_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: SLH_DSA_KEY
    signature: SLH_DSA_KEY *ossl_slh_dsa_key_dup(const SLH_DSA_KEY *src, int selection)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:190,1
    - Dst: memcmp
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - key1
    - key2
    - selection
    argTypes:
    - SLH_DSA_KEY*
    - SLH_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: ossl_slh_dsa_key_equal
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_dsa_key_equal(const SLH_DSA_KEY *key1, const SLH_DSA_KEY
      *key2,\n                           int selection)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - SLH_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: ossl_slh_dsa_key_has
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_key_has(const SLH_DSA_KEY *key, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_hash_ctx_new
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:230,1
    - Dst: slh_dsa_compute_pk_root
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:233,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: ossl_slh_dsa_key_pairwise_check
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_hash_ctx_new
    - slh_dsa_compute_pk_root
    - ossl_slh_dsa_hash_ctx_free
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_key_pairwise_check(const SLH_DSA_KEY *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_key_get_priv_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:258,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:266,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:271,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:286,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:288,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:296,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - key
    - param_pub
    - param_priv
    - include_private
    argTypes:
    - SLH_DSA_KEY*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 298
    functionName: ossl_slh_dsa_key_fromdata
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - OSSL_PARAM_get_octet_string
    - SLH_DSA_PUB
    - ossl_slh_dsa_key_get_priv_len
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_dsa_key_fromdata(SLH_DSA_KEY *key, const OSSL_PARAM *param_pub,\n
      \                             const OSSL_PARAM *param_priv,\n                              int
      include_private)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:315,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:316,1
    - Dst: zero
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:321,1
    - Dst: set_layer_address
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:322,1
    - Dst: SLH_DSA_PK_ROOT
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:324,1
    - Dst: ossl_slh_xmss_node
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:327,1
    - Dst: SLH_DSA_SK_SEED
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:327,1
    - Dst: SLH_DSA_PK_SEED
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:328,1
    - Dst: memcmp
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:329,1
    - Dst: SLH_DSA_PK_ROOT
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - out
    - validate
    argTypes:
    - SLH_DSA_HASH_CTX*
    - SLH_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 6
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: slh_dsa_compute_pk_root
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 1
    functionsReached:
    - memcmp
    - SLH_DSA_SK_SEED
    - SLH_DSA_PK_SEED
    - zero
    - set_layer_address
    - SLH_ADRS_DECLARE
    - SLH_DSA_PK_ROOT
    - SLH_ADRS_FUNC_DECLARE
    - ossl_slh_xmss_node
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_compute_pk_root(SLH_DSA_HASH_CTX *ctx, SLH_DSA_KEY *out,\n
      \                                  int validate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SLH_DSA_PRIV
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:354,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:355,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:360,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:362,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:363,1
    - Dst: slh_dsa_compute_pk_root
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:366,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - out
    - lib_ctx
    - entropy
    - entropy_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - SLH_DSA_KEY*
    - OSSL_LIB_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 346
    functionDepth: 7
    functionLinenumber: 346
    functionLinenumberEnd: 376
    functionName: ossl_slh_dsa_generate_key
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - SLH_DSA_PRIV
    - memcpy
    - RAND_priv_bytes_ex
    - SLH_DSA_PUB
    - slh_dsa_compute_pk_root
    - RAND_bytes_ex
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_dsa_generate_key(SLH_DSA_HASH_CTX *ctx, SLH_DSA_KEY *out,\n
      \                             OSSL_LIB_CTX *lib_ctx,\n                              const
      uint8_t *entropy, size_t entropy_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - alg
    argTypes:
    - SLH_DSA_KEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: ossl_slh_dsa_key_type_matches
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_key_type_matches(const SLH_DSA_KEY *key, const char
      *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: ossl_slh_dsa_key_get_pub
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ossl_slh_dsa_key_get_pub(const SLH_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: ossl_slh_dsa_key_get_pub_len
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_slh_dsa_key_get_pub_len(const SLH_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: ossl_slh_dsa_key_get_priv
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *ossl_slh_dsa_key_get_priv(const SLH_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: ossl_slh_dsa_key_get_priv_len
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_slh_dsa_key_get_priv_len(const SLH_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: ossl_slh_dsa_key_get_n
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_slh_dsa_key_get_n(const SLH_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: ossl_slh_dsa_key_get_security_category
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_key_get_security_category(const SLH_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: ossl_slh_dsa_key_get_sig_len
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_slh_dsa_key_get_sig_len(const SLH_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: ossl_slh_dsa_key_get_name
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_slh_dsa_key_get_name(const SLH_DSA_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: ossl_slh_dsa_key_get_type
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_key_get_type(const SLH_DSA_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_key_get_priv_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:446,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:448,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - priv
    - priv_len
    argTypes:
    - SLH_DSA_KEY*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: ossl_slh_dsa_set_priv
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SLH_DSA_PUB
    - ossl_slh_dsa_key_get_priv_len
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_set_priv(SLH_DSA_KEY *key, const uint8_t *priv, size_t
      priv_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_key_get_pub_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:456,1
    - Dst: SLH_DSA_PUB
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:458,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - pub
    - pub_len
    argTypes:
    - SLH_DSA_KEY*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: ossl_slh_dsa_set_pub
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SLH_DSA_PUB
    - ossl_slh_dsa_key_get_pub_len
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_set_pub(SLH_DSA_KEY *key, const uint8_t *pub, size_t
      pub_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:470,1
    - Dst: ossl_slh_dsa_key_get_name
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:473,1
    - Dst: ossl_slh_dsa_key_get_pub
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:474,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:476,1
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:482,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:483,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:487,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:489,1
    - Dst: ossl_slh_dsa_key_get_priv
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:489,1
    - Dst: ossl_slh_dsa_key_get_priv_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:490,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:493,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:497,1
    - Dst: ossl_slh_dsa_key_get_pub
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:497,1
    - Dst: ossl_slh_dsa_key_get_pub_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_key.c:498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - SLH_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 502
    functionName: ossl_slh_dsa_key_to_text
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_slh_dsa_key_get_name
    - ERR_raise_data
    - BIO_printf
    - ossl_slh_dsa_key_get_priv
    - ossl_bio_print_labeled_buf
    - ossl_slh_dsa_key_get_pub_len
    - ossl_slh_dsa_key_get_pub
    - ossl_slh_dsa_key_get_priv_len
    linkageType: ''
    returnType: int
    signature: int ossl_slh_dsa_key_to_text(BIO *out, const SLH_DSA_KEY *key, int
      selection)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:28,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:34,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:37,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:45,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:48,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:52,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:59,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - key
    argTypes:
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: ossl_slh_dsa_hash_ctx_new
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_new
    - OPENSSL_zalloc
    - EVP_DigestInit_ex2
    - ossl_slh_dsa_hash_ctx_free
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: SLH_DSA_HASH_CTX
    signature: SLH_DSA_HASH_CTX *ossl_slh_dsa_hash_ctx_new(const SLH_DSA_KEY *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:70,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:80,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:84,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:91,1
    - Dst: ossl_slh_dsa_hash_ctx_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - src
    argTypes:
    - SLH_DSA_HASH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 97
    functionName: ossl_slh_dsa_hash_ctx_dup
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_dup
    - OPENSSL_zalloc
    - EVP_MD_CTX_dup
    - ossl_slh_dsa_hash_ctx_free
    linkageType: ''
    returnType: SLH_DSA_HASH_CTX
    signature: SLH_DSA_HASH_CTX *ossl_slh_dsa_hash_ctx_dup(const SLH_DSA_HASH_CTX
      *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:108,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:110,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SLH_DSA_HASH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: ossl_slh_dsa_hash_ctx_free
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_hash_ctx.c
    functionUses: 3
    functionsReached:
    - EVP_MAC_CTX_free
    - OPENSSL_free
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void ossl_slh_dsa_hash_ctx_free(SLH_DSA_HASH_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: SLH_WOTS_LEN
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_WOTS_LEN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - hashf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: SLH_HASH_FUNC_DECLARE
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_HASH_FUNC_DECLARE(ctx, hashf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hashf
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: SLH_HASH_FN_DECLARE
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hash.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_HASH_FN_DECLARE(hashf, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: SLH_ADRS_DECLARE
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_ADRS_DECLARE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - adrsf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: SLH_ADRS_FUNC_DECLARE
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_ADRS_FUNC_DECLARE(ctx, adrsf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - adrsf
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: SLH_ADRS_FN_DECLARE
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_ADRS_FN_DECLARE(adrsf, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: SLH_DSA_SK_SEED
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_DSA_SK_SEED(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: SLH_DSA_SK_PRF
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_DSA_SK_PRF(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: SLH_DSA_PK_SEED
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_DSA_PK_SEED(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: SLH_DSA_PK_ROOT
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_DSA_PK_ROOT(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: SLH_DSA_PUB
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_DSA_PUB(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: SLH_DSA_PRIV
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLH_DSA_PRIV(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: MD_LEN
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_LEN(params)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MD_LEN
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:53,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:63,1
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:64,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:65,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:79,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:83,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:85,1
    - Dst: SLH_DSA_PK_SEED
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:88,1
    - Dst: SLH_DSA_SK_SEED
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:89,1
    - Dst: zero
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:94,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:96,1
    - Dst: PRF_MSG
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:97,1
    - Dst: SLH_DSA_SK_PRF
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:97,1
    - Dst: H_MSG
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:99,1
    - Dst: SLH_DSA_PK_ROOT
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:99,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:102,1
    - Dst: get_tree_ids
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:104,1
    - Dst: set_tree_address
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:107,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:108,1
    - Dst: set_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:109,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:111,1
    - Dst: ossl_slh_fors_sign
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:113,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:115,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:115,1
    - Dst: ossl_slh_fors_pk_from_sig
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:117,1
    - Dst: ossl_slh_ht_sign
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:120,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 7
    argNames:
    - hctx
    - msg
    - msg_len
    - sig
    - sig_len
    - sig_size
    - opt_rand
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 128
    functionName: slh_sign_internal
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - PACKET_get_bytes
    - ossl_slh_ht_sign
    - zero
    - SLH_ADRS_DECLARE
    - SLH_DSA_PK_ROOT
    - SLH_ADRS_FUNC_DECLARE
    - PACKET_buf_init
    - SLH_DSA_SK_SEED
    - SLH_HASH_FUNC_DECLARE
    - MD_LEN
    - get_tree_ids
    - H_MSG
    - ossl_slh_fors_pk_from_sig
    - set_type_and_clear
    - ossl_slh_fors_sign
    - SLH_DSA_SK_PRF
    - ERR_raise_data
    - set_tree_address
    - WPACKET_init_static_len
    - WPACKET_finish
    - set_keypair_address
    - SLH_DSA_PK_SEED
    - WPACKET_get_curr
    - PRF_MSG
    linkageType: ''
    returnType: int
    signature: "int slh_sign_internal(SLH_DSA_HASH_CTX *hctx,\n                             const
      uint8_t *msg, size_t msg_len,\n                             uint8_t *sig, size_t
      *sig_len, size_t sig_size,\n                             const uint8_t *opt_rand)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SLH_HASH_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:152,1
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:153,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:154,1
    - Dst: MD_LEN
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:170,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:176,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:178,1
    - Dst: zero
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:181,1
    - Dst: SLH_DSA_PK_SEED
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:183,1
    - Dst: SLH_DSA_PK_ROOT
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:184,1
    - Dst: H_MSG
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:186,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:195,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:196,1
    - Dst: get_tree_ids
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:197,1
    - Dst: set_tree_address
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:200,1
    - Dst: set_type_and_clear
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:201,1
    - Dst: set_keypair_address
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:202,1
    - Dst: ossl_slh_fors_pk_from_sig
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:203,1
    - Dst: ossl_slh_ht_verify
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:205,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - hctx
    - msg
    - msg_len
    - sig
    - sig_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 208
    functionName: slh_verify_internal
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - PACKET_buf_init
    - PACKET_get_bytes
    - set_keypair_address
    - ossl_slh_fors_pk_from_sig
    - SLH_DSA_PK_SEED
    - set_type_and_clear
    - SLH_HASH_FUNC_DECLARE
    - MD_LEN
    - set_tree_address
    - PACKET_remaining
    - zero
    - get_tree_ids
    - SLH_ADRS_DECLARE
    - ossl_slh_ht_verify
    - SLH_DSA_PK_ROOT
    - H_MSG
    - SLH_ADRS_FUNC_DECLARE
    linkageType: ''
    returnType: int
    signature: "int slh_verify_internal(SLH_DSA_HASH_CTX *hctx,\n                               const
      uint8_t *msg, size_t msg_len,\n                               const uint8_t
      *sig, size_t sig_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:252,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:258,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 8
    argNames:
    - msg
    - msg_len
    - ctx
    - ctx_len
    - encode
    - tmp
    - tmp_len
    - out_len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int
    - uint8_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 261
    functionName: msg_encode
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_zalloc
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *msg_encode(const uint8_t *msg, size_t msg_len,\n                           const
      uint8_t *ctx, size_t ctx_len, int encode,\n                           uint8_t
      *tmp, size_t tmp_len, size_t *out_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: msg_encode
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:278,1
    - Dst: slh_sign_internal
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 10
    argNames:
    - slh_ctx
    - msg
    - msg_len
    - ctx
    - ctx_len
    - add_rand
    - encode
    - sig
    - siglen
    - sigsize
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - int
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 267
    functionDepth: 6
    functionLinenumber: 267
    functionLinenumberEnd: 287
    functionName: ossl_slh_dsa_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - slh_sign_internal
    - msg_encode
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_dsa_sign(SLH_DSA_HASH_CTX *slh_ctx,\n                      const
      uint8_t *msg, size_t msg_len,\n                      const uint8_t *ctx, size_t
      ctx_len,\n                      const uint8_t *add_rand, int encode,\n                      unsigned
      char *sig, size_t *siglen, size_t sigsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msg_encode
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:303,1
    - Dst: slh_verify_internal
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 8
    argNames:
    - slh_ctx
    - msg
    - msg_len
    - ctx
    - ctx_len
    - encode
    - sig
    - sig_len
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 6
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: ossl_slh_dsa_verify
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - slh_verify_internal
    - msg_encode
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_dsa_verify(SLH_DSA_HASH_CTX *slh_ctx,\n                        const
      uint8_t *msg, size_t msg_len,\n                        const uint8_t *ctx, size_t
      ctx_len, int encode,\n                        const uint8_t *sig, size_t sig_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - in
    - in_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: bytes_to_u64_be
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bytes_to_u64_be(const uint8_t *in, size_t in_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:344,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:345,1
    - Dst: bytes_to_u64_be
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:358,1
    - Dst: bytes_to_u64_be
      Src: /src/openssl/crypto/slh_dsa/slh_dsa.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rpkt
    - params
    - tree_id
    - leaf_id
    argTypes:
    - PACKET*
    - SLH_DSA_PARAMS*
    - uint64_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 361
    functionName: get_tree_ids
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_dsa.c
    functionUses: 2
    functionsReached:
    - bytes_to_u64_be
    - PACKET_get_bytes
    linkageType: ''
    returnType: int
    signature: "int get_tree_ids(PACKET *rpkt, const SLH_DSA_PARAMS *params,\n                        uint64_t
      *tree_id, uint32_t *leaf_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:37,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:38,1
    - Dst: zero
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:50,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:64,1
    - Dst: set_layer_address
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:68,1
    - Dst: set_tree_address
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:69,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:70,1
    - Dst: ossl_slh_xmss_sign
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:71,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:80,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:81,1
    - Dst: ossl_slh_xmss_pk_from_sig
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 7
    argNames:
    - ctx
    - msg
    - sk_seed
    - pk_seed
    - tree_id
    - leaf_id
    - sig_wpkt
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint64_t
    - uint32_t
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 31
    functionDepth: 7
    functionLinenumber: 31
    functionLinenumberEnd: 91
    functionName: ossl_slh_ht_sign
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hypertree.c
    functionUses: 1
    functionsReached:
    - PACKET_buf_init
    - ossl_slh_xmss_sign
    - memcpy
    - WPACKET_get_curr
    - ossl_slh_xmss_pk_from_sig
    - set_tree_address
    - zero
    - set_layer_address
    - SLH_ADRS_DECLARE
    - SLH_ADRS_FUNC_DECLARE
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_ht_sign(SLH_DSA_HASH_CTX *ctx,\n                     const
      uint8_t *msg, const uint8_t *sk_seed,\n                     const uint8_t *pk_seed,\n
      \                    uint64_t tree_id, uint32_t leaf_id, WPACKET *sig_wpkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SLH_ADRS_FUNC_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:112,1
    - Dst: SLH_ADRS_DECLARE
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:113,1
    - Dst: zero
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:122,1
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:123,1
    - Dst: set_layer_address
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:126,1
    - Dst: set_tree_address
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:127,1
    - Dst: ossl_slh_xmss_pk_from_sig
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:128,1
    - Dst: memcmp
      Src: /src/openssl/crypto/slh_dsa/slh_hypertree.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - ctx
    - msg
    - sig_pkt
    - pk_seed
    - tree_id
    - leaf_id
    - pk_root
    argTypes:
    - SLH_DSA_HASH_CTX*
    - uint8_t*
    - PACKET*
    - uint8_t*
    - uint64_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: ossl_slh_ht_verify
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_hypertree.c
    functionUses: 1
    functionsReached:
    - memcmp
    - memcpy
    - ossl_slh_xmss_pk_from_sig
    - set_tree_address
    - zero
    - set_layer_address
    - SLH_ADRS_DECLARE
    - SLH_ADRS_FUNC_DECLARE
    linkageType: ''
    returnType: int
    signature: "int ossl_slh_ht_verify(SLH_DSA_HASH_CTX *ctx, const uint8_t *msg,
      PACKET *sig_pkt,\n                       const uint8_t *pk_seed, uint64_t tree_id,
      uint32_t leaf_id,\n                       const uint8_t *pk_root)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrs
    - layer
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: slh_adrs_set_layer_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_be
    linkageType: ''
    returnType: void
    signature: void slh_adrs_set_layer_address(uint8_t *adrs, uint32_t layer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u64_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrs
    - address
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: slh_adrs_set_tree_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u64_be
    linkageType: ''
    returnType: void
    signature: void slh_adrs_set_tree_address(uint8_t *adrs, uint64_t address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:84,1
    - Dst: memset
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - adrs
    - type
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: slh_adrs_set_type_and_clear
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_be
    - memset
    linkageType: ''
    returnType: void
    signature: void slh_adrs_set_type_and_clear(uint8_t *adrs, uint32_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrs
    - in
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: slh_adrs_set_keypair_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_be
    linkageType: ''
    returnType: void
    signature: void slh_adrs_set_keypair_address(uint8_t *adrs, uint32_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: slh_adrs_copy_keypair_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void slh_adrs_copy_keypair_address(uint8_t *dst, const uint8_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrs
    - in
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: slh_adrs_set_chain_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_be
    linkageType: ''
    returnType: void
    signature: void slh_adrs_set_chain_address(uint8_t *adrs, uint32_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrs
    - in
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: slh_adrs_set_hash_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_be
    linkageType: ''
    returnType: void
    signature: void slh_adrs_set_hash_address(uint8_t *adrs, uint32_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adrs
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: slh_adrs_zero
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void slh_adrs_zero(uint8_t *adrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: slh_adrs_copy
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void slh_adrs_copy(uint8_t *dst, const uint8_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrsc
    - layer
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: slh_adrsc_set_layer_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_set_layer_address(uint8_t *adrsc, uint32_t layer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u64_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrsc
    - in
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: slh_adrsc_set_tree_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u64_be
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_set_tree_address(uint8_t *adrsc, uint64_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - adrsc
    - type
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: slh_adrsc_set_type_and_clear
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_set_type_and_clear(uint8_t *adrsc, uint32_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrsc
    - in
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: slh_adrsc_set_keypair_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_be
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_set_keypair_address(uint8_t *adrsc, uint32_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: slh_adrsc_copy_keypair_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_copy_keypair_address(uint8_t *dst, const uint8_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrsc
    - in
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: slh_adrsc_set_chain_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_be
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_set_chain_address(uint8_t *adrsc, uint32_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - adrsc
    - in
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: slh_adrsc_set_hash_address
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_store_u32_be
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_set_hash_address(uint8_t *adrsc, uint32_t in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adrsc
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: slh_adrsc_zero
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_zero(uint8_t *adrsc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/slh_dsa/slh_adrs.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: slh_adrsc_copy
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void slh_adrsc_copy(uint8_t *dst, const uint8_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_compressed
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 184
    functionName: ossl_slh_get_adrs_fn
    functionSourceFile: /src/openssl/crypto/slh_dsa/slh_adrs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SLH_ADRS_FUNC
    signature: SLH_ADRS_FUNC *ossl_slh_get_adrs_fn(int is_compressed)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:27,1
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:30,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:33,1
    - Dst: EVP_PBE_find
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:34,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:37,1
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:40,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:43,1
    - Dst: PKCS5_pbe_set_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:44,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:48,1
    - Dst: PKCS8_set0_pbe_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:51,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 10
    argNames:
    - pbe_nid
    - cipher
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - p8inf
    - libctx
    - propq
    argTypes:
    - int
    - EVP_CIPHER*
    - char*
    - int
    - unsigned char*
    - int
    - int
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 58
    functionName: PKCS8_encrypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: 0
    functionsReached:
    - PKCS5_pbe2_set_iv_ex
    - ERR_raise
    - ERR_pop_to_mark
    - ERR_set_mark
    - PKCS5_pbe_set_ex
    - PKCS8_set0_pbe_ex
    - X509_ALGOR_free
    - ERR_clear_last_mark
    - EVP_PBE_find
    linkageType: ''
    returnType: X509_SIG
    signature: "X509_SIG *PKCS8_encrypt_ex(int pbe_nid, const EVP_CIPHER *cipher,\n
      \                          const char *pass, int passlen,\n                           unsigned
      char *salt, int saltlen, int iter,\n                           PKCS8_PRIV_KEY_INFO
      *p8inf,\n                           OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - pbe_nid
    - cipher
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - p8inf
    argTypes:
    - int
    - EVP_CIPHER*
    - char*
    - int
    - unsigned char*
    - int
    - int
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: PKCS8_encrypt
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: 1
    functionsReached:
    - PKCS8_encrypt_ex
    linkageType: ''
    returnType: X509_SIG
    signature: "X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher,\n                        const
      char *pass, int passlen,\n                        unsigned char *salt, int saltlen,
      int iter,\n                        PKCS8_PRIV_KEY_INFO *p8inf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_i2d_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:77,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:80,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:84,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - pass
    - passlen
    - p8inf
    - pbe
    - ctx
    - propq
    argTypes:
    - char*
    - int
    - PKCS8_PRIV_KEY_INFO*
    - X509_ALGOR*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: PKCS8_set0_pbe_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - ASN1_ITEM_rptr
    - ASN1_OCTET_STRING_free
    - PKCS12_item_i2d_encrypt_ex
    linkageType: ''
    returnType: X509_SIG
    signature: "X509_SIG *PKCS8_set0_pbe_ex(const char *pass, int passlen,\n                            PKCS8_PRIV_KEY_INFO
      *p8inf, X509_ALGOR *pbe,\n                            OSSL_LIB_CTX *ctx, const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_set0_pbe_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8e.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pass
    - passlen
    - p8inf
    - pbe
    argTypes:
    - char*
    - int
    - PKCS8_PRIV_KEY_INFO*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: PKCS8_set0_pbe
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_p8e.c
    functionUses: 0
    functionsReached:
    - PKCS8_set0_pbe_ex
    linkageType: ''
    returnType: X509_SIG
    signature: "X509_SIG *PKCS8_set0_pbe(const char *pass, int passlen,\n                         PKCS8_PRIV_KEY_INFO
      *p8inf, X509_ALGOR *pbe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new
      Src: /src/openssl/crypto/pkcs12/p12_asn.c:29,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_asn.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: PKCS12_new
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_asn.c
    functionUses: 0
    functionsReached:
    - ASN1_item_new
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *PKCS12_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_asn.c:35,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/pkcs12/p12_asn.c:38,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_asn.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p12
    argTypes:
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: PKCS12_free
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_asn.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ASN1_ITEM_rptr
    - ASN1_item_free
    linkageType: ''
    returnType: void
    signature: void PKCS12_free(PKCS12 *p12)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:28,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:32,1
    - Dst: EVP_PKEY_get_attr
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - pkey
    - nid
    argTypes:
    - PKCS12_SAFEBAG*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: copy_bag_attr
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crt.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_attr_by_NID
    - X509at_add1_attr
    - EVP_PKEY_get_attr
    linkageType: ''
    returnType: int
    signature: int copy_bag_attr(PKCS12_SAFEBAG *bag, EVP_PKEY *pkey, int nid)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:42,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:43,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:63,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:68,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:70,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:70,1
    - Dst: X509_alias_get0
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:76,1
    - Dst: X509_keyid_get0
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:81,1
    - Dst: pkcs12_add_cert_bag
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:84,1
    - Dst: cb
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:88,1
    - Dst: pkcs12_remove_bag
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:91,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:97,1
    - Dst: PKCS12_add_cert
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:98,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:98,1
    - Dst: cb
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:103,1
    - Dst: pkcs12_remove_bag
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:106,1
    - Dst: PKCS12_add_safe_ex
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:111,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:115,1
    - Dst: PKCS12_add_key_ex
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:119,1
    - Dst: copy_bag_attr
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:125,1
    - Dst: copy_bag_attr
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:127,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:130,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:132,1
    - Dst: cb
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:137,1
    - Dst: pkcs12_remove_bag
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:140,1
    - Dst: PKCS12_add_safe
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:145,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:148,1
    - Dst: PKCS12_add_safes_ex
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:151,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:156,1
    - Dst: PKCS12_set_mac
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:161,1
    - Dst: PKCS12_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:167,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:168,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:169,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 114
    argCount: 14
    argNames:
    - pass
    - name
    - pkey
    - cert
    - ca
    - nid_key
    - nid_cert
    - iter
    - mac_iter
    - keytype
    - ctx
    - propq
    - cb
    - cbarg
    argTypes:
    - char*
    - char*
    - EVP_PKEY*
    - X509*
    - STACK_OF*
    - int
    - int
    - int
    - int
    - int
    - OSSL_LIB_CTX*
    - char*
    - PKCS12_create_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 172
    functionName: PKCS12_create_ex2
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_digest
    - cb
    - sk_X509_num
    - PKCS12_add_cert
    - sk_X509_value
    - PKCS12_add_key_ex
    - copy_bag_attr
    - X509_alias_get0
    - PKCS12_add_safe_ex
    - sk_PKCS7_pop_free
    - X509_check_private_key
    - pkcs12_remove_bag
    - PKCS12_add_safe
    - PKCS12_add_localkeyid
    - STACK_OF
    - pkcs12_add_cert_bag
    - PKCS12_add_friendlyname
    - sk_PKCS12_SAFEBAG_pop_free
    - X509_keyid_get0
    - PKCS12_set_mac
    - PKCS12_add_safes_ex
    - EVP_sha1
    - PKCS12_free
    linkageType: ''
    returnType: PKCS12
    signature: "PKCS12 *PKCS12_create_ex2(const char *pass, const char *name, EVP_PKEY
      *pkey,\n                          X509 *cert, STACK_OF(X509) *ca, int nid_key,
      int nid_cert,\n                          int iter, int mac_iter, int keytype,\n
      \                         OSSL_LIB_CTX *ctx, const char *propq,\n                          PKCS12_create_cb
      *cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - pass
    - name
    - pkey
    - cert
    - ca
    - nid_key
    - nid_cert
    - iter
    - mac_iter
    - keytype
    - ctx
    - propq
    argTypes:
    - char*
    - char*
    - EVP_PKEY*
    - X509*
    - STACK_OF*
    - int
    - int
    - int
    - int
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: PKCS12_create_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crt.c
    functionUses: 0
    functionsReached:
    - PKCS12_create_ex2
    linkageType: ''
    returnType: PKCS12
    signature: "PKCS12 *PKCS12_create_ex(const char *pass, const char *name, EVP_PKEY
      *pkey, X509 *cert,\n                        STACK_OF(X509) *ca, int nid_key,
      int nid_cert, int iter,\n                        int mac_iter, int keytype,\n
      \                       OSSL_LIB_CTX *ctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_create_ex
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - pass
    - name
    - pkey
    - cert
    - ca
    - nid_key
    - nid_cert
    - iter
    - mac_iter
    - keytype
    argTypes:
    - char*
    - char*
    - EVP_PKEY*
    - X509*
    - STACK_OF*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: PKCS12_create
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crt.c
    functionUses: 0
    functionsReached:
    - PKCS12_create_ex
    linkageType: ''
    returnType: PKCS12
    signature: "PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY
      *pkey, X509 *cert,\n                      STACK_OF(X509) *ca, int nid_key, int
      nid_cert, int iter,\n                      int mac_iter, int keytype)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_create_cert
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:202,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:205,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:208,1
    - Dst: pkcs12_add_bag
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:211,1
    - Dst: PKCS12_SAFEBAG_free
      Src: /src/openssl/crypto/pkcs12/p12_crt.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 6
    argNames:
    - pbags
    - cert
    - name
    - namelen
    - keyid
    - keyidlen
    argTypes:
    - STACK_OF**
    - X509*
    - char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 219
    functionName: pkcs12_add_cert_bag
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crt.c
    functionUses: 1
    functionsReached:
    - PKCS12_SAFEBAG_create_cert
    - PKCS12_add_localkeyid
    - PKCS12_add_friendlyname
    - PKCS12_SAFEBAG_free
    - pkcs12_add_bag
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: "PKCS12_SAFEBAG *pkcs12_add_cert_bag(STACK_OF(PKCS12_SAFEBAG) **pbags,\n
      \                                          X509 *cert,\n                                           const
      char *name,\n                                           int namelen,\n                                           unsigned
      char *keyid,\n                                           int keyidlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/pkcs12/pk12err.c:58,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/pkcs12/pk12err.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: ossl_err_load_PKCS12_strings
    functionSourceFile: /src/openssl/crypto/pkcs12/pk12err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_PKCS12_strings(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:39,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:46,1
    - Dst: newpass_p12
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - p12
    - oldpass
    - newpass
    argTypes:
    - PKCS12*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: PKCS12_newpass
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_npas.c
    functionUses: 0
    functionsReached:
    - newpass_p12
    - ERR_raise
    - PKCS12_verify_mac
    linkageType: ''
    returnType: int
    signature: int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:62,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:63,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:72,1
    - Dst: sk_PKCS7_new_null
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:74,1
    - Dst: sk_PKCS7_num
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:76,1
    - Dst: sk_PKCS7_value
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:77,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:79,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:81,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:83,1
    - Dst: alg_get
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:85,1
    - Dst: newpass_bags
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:93,1
    - Dst: PKCS12_pack_p7data
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:98,1
    - Dst: PKCS12_pack_p7encdata_ex
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:100,1
    - Dst: sk_PKCS7_push
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:103,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:104,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:107,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:114,1
    - Dst: PKCS12_pack_authsafes
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:116,1
    - Dst: PKCS12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:120,1
    - Dst: X509_SIG_getm
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:122,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:123,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:132,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:134,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:137,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:138,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:139,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 3
    argNames:
    - p12
    - oldpass
    - newpass
    argTypes:
    - PKCS12*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 141
    functionName: newpass_p12
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_npas.c
    functionUses: 1
    functionsReached:
    - alg_get
    - PKCS7_free
    - sk_PKCS7_new_null
    - ASN1_OCTET_STRING_set
    - PKCS12_pack_p7data
    - ASN1_OCTET_STRING_free
    - sk_PKCS7_num
    - PKCS12_unpack_p7data
    - sk_PKCS7_pop_free
    - ASN1_OCTET_STRING_new
    - OBJ_obj2nid
    - newpass_bags
    - STACK_OF
    - PKCS12_pack_p7encdata_ex
    - sk_PKCS7_value
    - PKCS12_gen_mac
    - PKCS12_unpack_authsafes
    - X509_SIG_getm
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS7_push
    - PKCS12_unpack_p7encdata
    - PKCS12_pack_authsafes
    linkageType: ''
    returnType: int
    signature: int newpass_p12(PKCS12 *p12, const char *oldpass, const char *newpass)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:168,1
    - Dst: PKCS8_decrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:171,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:174,1
    - Dst: alg_get
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:175,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:176,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:180,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:180,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:182,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:186,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:188,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:189,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - bag
    - oldpass
    - newpass
    - libctx
    - propq
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 195
    functionName: newpass_bag
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_npas.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS12_SAFEBAG_get_nid
    - X509_SIG_get0
    - alg_get
    - X509_SIG_free
    - OBJ_nid2sn
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - PKCS8_encrypt_ex
    - PKCS8_decrypt_ex
    linkageType: ''
    returnType: int
    signature: "int newpass_bag(PKCS12_SAFEBAG *bag, const char *oldpass,\n                       const
      char *newpass,\n                       OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:208,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:209,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:214,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:214,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:218,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:219,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:220,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:223,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:223,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:234,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:235,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:238,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:243,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:243,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:246,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:247,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:256,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:258,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_npas.c:260,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 5
    argNames:
    - alg
    - pnid
    - piter
    - psaltlen
    - cipherid
    argTypes:
    - X509_ALGOR*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 262
    functionName: alg_get
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_npas.c
    functionUses: 2
    functionsReached:
    - OBJ_obj2nid
    - ASN1_ITEM_rptr
    - X509_ALGOR_get0
    - ASN1_TYPE_unpack_sequence
    - PBKDF2PARAM_free
    - ASN1_item_unpack
    - PBEPARAM_free
    - PBE2PARAM_free
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: "int alg_get(const X509_ALGOR *alg, int *pnid, int *piter,\n                   int
      *psaltlen, int *cipherid)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:32,1
    - Dst: EVP_PBE_CipherInit_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:37,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:47,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:50,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:55,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:55,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:58,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:66,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:72,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:78,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:84,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:89,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:90,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:92,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:98,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:98,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:100,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:105,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:116,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 10
    argNames:
    - algor
    - pass
    - passlen
    - in
    - inlen
    - data
    - datalen
    - en_de
    - libctx
    - propq
    argTypes:
    - X509_ALGOR*
    - char*
    - int
    - unsigned char*
    - int
    - unsigned char**
    - int*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 119
    functionName: PKCS12_pbe_crypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CipherUpdate
    - ERR_raise
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_block_size
    - ERR_raise_data
    - EVP_CIPHER_CTX_ctrl
    - OPENSSL_free
    - EVP_CipherFinal_ex
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_CTX_free
    - EVP_PBE_CipherInit_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *PKCS12_pbe_crypt_ex(const X509_ALGOR *algor,\n                                   const
      char *pass, int passlen,\n                                   const unsigned
      char *in, int inlen,\n                                   unsigned char **data,
      int *datalen, int en_de,\n                                   OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - algor
    - pass
    - passlen
    - in
    - inlen
    - data
    - datalen
    - en_de
    argTypes:
    - X509_ALGOR*
    - char*
    - int
    - unsigned char*
    - int
    - unsigned char**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: PKCS12_pbe_crypt
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 1
    functionsReached:
    - PKCS12_pbe_crypt_ex
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *PKCS12_pbe_crypt(const X509_ALGOR *algor,\n                                const
      char *pass, int passlen,\n                                const unsigned char
      *in, int inlen,\n                                unsigned char **data, int *datalen,
      int en_de)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:151,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:153,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:154,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:155,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:159,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 8
    argNames:
    - algor
    - it
    - pass
    - passlen
    - oct
    - zbuf
    - libctx
    - propq
    argTypes:
    - X509_ALGOR*
    - ASN1_ITEM*
    - char*
    - int
    - ASN1_OCTET_STRING*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 162
    functionName: PKCS12_item_decrypt_d2i_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - ERR_raise
    - PKCS12_pbe_crypt_ex
    - BIO_dump
    - OPENSSL_free
    - ASN1_item_d2i
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void *PKCS12_item_decrypt_d2i_ex(const X509_ALGOR *algor, const ASN1_ITEM
      *it,\n                                 const char *pass, int passlen,\n                                 const
      ASN1_OCTET_STRING *oct, int zbuf,\n                                 OSSL_LIB_CTX
      *libctx,\n                                 const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:151,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 0
    functionsReached:
    - BIO_dump
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PKCS12_DECRYPT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_decrypt_d2i_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - algor
    - it
    - pass
    - passlen
    - oct
    - zbuf
    argTypes:
    - X509_ALGOR*
    - ASN1_ITEM*
    - char*
    - int
    - ASN1_OCTET_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: PKCS12_item_decrypt_d2i
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 0
    functionsReached:
    - PKCS12_item_decrypt_d2i_ex
    linkageType: ''
    returnType: void
    signature: "void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM
      *it,\n                              const char *pass, int passlen,\n                              const
      ASN1_OCTET_STRING *oct, int zbuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:189,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:194,1
    - Dst: PKCS12_pbe_crypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:199,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:200,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:204,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:205,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 8
    argNames:
    - algor
    - it
    - pass
    - passlen
    - obj
    - zbuf
    - ctx
    - propq
    argTypes:
    - X509_ALGOR*
    - ASN1_ITEM*
    - char*
    - int
    - void*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 210
    functionName: PKCS12_item_i2d_encrypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ASN1_item_i2d
    - PKCS12_pbe_crypt_ex
    - OPENSSL_free
    - ASN1_OCTET_STRING_free
    - OPENSSL_cleanse
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: "ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt_ex(X509_ALGOR *algor,\n
      \                                             const ASN1_ITEM *it,\n                                              const
      char *pass, int passlen,\n                                              void
      *obj, int zbuf,\n                                              OSSL_LIB_CTX
      *ctx,\n                                              const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_i2d_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_decr.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - algor
    - it
    - pass
    - passlen
    - obj
    - zbuf
    argTypes:
    - X509_ALGOR*
    - ASN1_ITEM*
    - char*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: PKCS12_item_i2d_encrypt
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_decr.c
    functionUses: 0
    functionsReached:
    - PKCS12_item_i2d_encrypt_ex
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: "ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor,\n                                           const
      ASN1_ITEM *it,\n                                           const char *pass,
      int passlen,\n                                           void *obj, int zbuf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_new
      Src: /src/openssl/crypto/pkcs12/p12_init.c:22,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_init.c:23,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs12/p12_init.c:26,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_init.c:28,1
    - Dst: ossl_pkcs7_set0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_init.c:30,1
    - Dst: ossl_pkcs7_set1_propq
      Src: /src/openssl/crypto/pkcs12/p12_init.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_init.c:32,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs12/p12_init.c:38,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_init.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_init.c:44,1
    - Dst: PKCS12_free
      Src: /src/openssl/crypto/pkcs12/p12_init.c:50,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - mode
    - ctx
    - propq
    argTypes:
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 52
    functionName: PKCS12_init_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_init.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_pkcs7_set1_propq
    - PKCS12_free
    - PKCS12_new
    - ossl_pkcs7_set0_libctx
    - ASN1_INTEGER_set
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *PKCS12_init_ex(int mode, OSSL_LIB_CTX *ctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_init_ex
      Src: /src/openssl/crypto/pkcs12/p12_init.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: PKCS12_init
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_init.c
    functionUses: 0
    functionsReached:
    - PKCS12_init_ex
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *PKCS12_init(int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p12
    argTypes:
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: ossl_pkcs12_get0_pkcs7ctx
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_init.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PKCS7_CTX
    signature: PKCS7_CTX *ossl_pkcs12_get0_pkcs7ctx(const PKCS12 *p12)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_BAGS_new
      Src: /src/openssl/crypto/pkcs12/p12_add.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:27,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_add.c:30,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/pkcs12/p12_add.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:32,1
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/openssl/crypto/pkcs12/p12_add.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:36,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_add.c:40,1
    - Dst: PKCS12_BAGS_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:44,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - obj
    - it
    - nid1
    - nid2
    argTypes:
    - void*
    - ASN1_ITEM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 46
    functionName: PKCS12_item_pack_safebag
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_add.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - PKCS12_BAGS_new
    - PKCS12_SAFEBAG_new
    - OBJ_nid2obj
    - ASN1_item_pack
    - PKCS12_BAGS_free
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: "PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM
      *it,\n                                         int nid1, int nid2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:105,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/crypto/pkcs12/p12_add.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:109,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs12/p12_add.c:113,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs12/p12_add.c:114,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs12/p12_add.c:114,1
    - Dst: EVP_get_cipherbynid
      Src: /src/openssl/crypto/pkcs12/p12_add.c:116,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs12/p12_add.c:117,1
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:120,1
    - Dst: PKCS5_pbe_set_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:126,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:129,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:131,1
    - Dst: PKCS12_item_i2d_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:133,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_add.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_add.c:135,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:139,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:143,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs12/p12_add.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 9
    argNames:
    - pbe_nid
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - bags
    - ctx
    - propq
    argTypes:
    - int
    - char*
    - int
    - unsigned char*
    - int
    - int
    - STACK_OF*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 146
    functionName: PKCS12_pack_p7encdata_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_add.c
    functionUses: 1
    functionsReached:
    - PKCS5_pbe2_set_iv_ex
    - PKCS7_free
    - ERR_raise
    - ERR_pop_to_mark
    - OBJ_nid2sn
    - EVP_get_cipherbynid
    - ERR_set_mark
    - PKCS5_pbe_set_ex
    - ASN1_ITEM_rptr
    - EVP_CIPHER_fetch
    - X509_ALGOR_free
    - EVP_CIPHER_free
    - ASN1_OCTET_STRING_free
    - PKCS7_set_type
    - PKCS12_item_i2d_encrypt_ex
    - PKCS7_new_ex
    linkageType: ''
    returnType: PKCS7
    signature: "PKCS7 *PKCS12_pack_p7encdata_ex(int pbe_nid, const char *pass, int
      passlen,\n                                unsigned char *salt, int saltlen,
      int iter,\n                                STACK_OF(PKCS12_SAFEBAG) *bags,\n
      \                               OSSL_LIB_CTX *ctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_pack_p7encdata_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pbe_nid
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - bags
    argTypes:
    - int
    - char*
    - int
    - unsigned char*
    - int
    - int
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: PKCS12_pack_p7encdata
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_add.c
    functionUses: 0
    functionsReached:
    - PKCS12_pack_p7encdata_ex
    linkageType: ''
    returnType: PKCS7
    signature: "PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen,\n
      \                            unsigned char *salt, int saltlen, int iter,\n                             STACK_OF(PKCS12_SAFEBAG)
      *bags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_decrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - bag
    - pass
    - passlen
    - ctx
    - propq
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: PKCS12_decrypt_skey_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_add.c
    functionUses: 0
    functionsReached:
    - PKCS8_decrypt_ex
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: "PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey_ex(const PKCS12_SAFEBAG *bag,\n
      \                                           const char *pass, int passlen,\n
      \                                           OSSL_LIB_CTX *ctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_decrypt_skey_ex
      Src: /src/openssl/crypto/pkcs12/p12_add.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bag
    - pass
    - passlen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: PKCS12_decrypt_skey
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_add.c
    functionUses: 0
    functionsReached:
    - PKCS12_decrypt_skey_ex
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: "PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(const PKCS12_SAFEBAG *bag,\n
      \                                        const char *pass, int passlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: PKCS12_PBE_add
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crpt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS12_PBE_add(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:39,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:41,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:48,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:51,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:52,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:55,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:56,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:59,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:60,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:61,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:64,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:65,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:71,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:72,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:73,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 9
    argNames:
    - ctx
    - pass
    - passlen
    - param
    - cipher
    - md
    - en_de
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 76
    functionName: PKCS12_PBE_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crpt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - PKCS12_key_gen_utf8_ex
    - ASN1_ITEM_rptr
    - ASN1_TYPE_unpack_sequence
    - EVP_CipherInit_ex
    - PBEPARAM_free
    - EVP_CIPHER_get_key_length
    - OPENSSL_cleanse
    - ASN1_INTEGER_get
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: "int PKCS12_PBE_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,
      int passlen,\n                           ASN1_TYPE *param, const EVP_CIPHER
      *cipher,\n                           const EVP_MD *md, int en_de,\n                           OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_PBE_keyivgen_ex
      Src: /src/openssl/crypto/pkcs12/p12_crpt.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pass
    - passlen
    - param
    - cipher
    - md
    - en_de
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: PKCS12_PBE_keyivgen
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_crpt.c
    functionUses: 0
    functionsReached:
    - PKCS12_PBE_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int
      passlen,\n                        ASN1_TYPE *param, const EVP_CIPHER *cipher,\n
      \                       const EVP_MD *md, int en_de)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:38,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:49,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:54,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:62,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:67,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:71,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:81,1
    - Dst: parse_pk12
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:85,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:86,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:88,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:89,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:90,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:95,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:100,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:101,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:102,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:110,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:114,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:116,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:123,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:127,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:130,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:131,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 74
    argCount: 5
    argNames:
    - p12
    - pass
    - pkey
    - cert
    - ca
    argTypes:
    - PKCS12*
    - char*
    - EVP_PKEY**
    - X509**
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 134
    functionName: PKCS12_parse
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ERR_GET_LIB
    - sk_X509_free
    - ossl_x509_add_cert_new
    - sk_X509_shift
    - PKCS12_mac_present
    - ERR_pop_to_mark
    - parse_pk12
    - ERR_set_mark
    - PKCS12_verify_mac
    - ERR_GET_REASON
    - ERR_peek_last_error
    - X509_free
    - STACK_OF
    - EVP_PKEY_free
    - OSSL_STACK_OF_X509_free
    - X509_check_private_key
    - sk_X509_new_null
    linkageType: ''
    returnType: int
    signature: "int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509
      **cert,\n                 STACK_OF(X509) **ca)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:142,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:143,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:147,1
    - Dst: sk_PKCS7_num
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:149,1
    - Dst: sk_PKCS7_value
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:150,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:151,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:153,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:155,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:159,1
    - Dst: parse_bags
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:162,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:164,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:165,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:168,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - p12
    - pass
    - passlen
    - pkey
    - ocerts
    argTypes:
    - PKCS12*
    - char*
    - int
    - EVP_PKEY**
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: parse_pk12
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: 1
    functionsReached:
    - PKCS12_unpack_authsafes
    - sk_PKCS12_SAFEBAG_pop_free
    - STACK_OF
    - parse_bags
    - PKCS12_unpack_p7data
    - sk_PKCS7_pop_free
    - sk_PKCS7_value
    - PKCS12_unpack_p7encdata
    - OBJ_obj2nid
    - sk_PKCS7_num
    linkageType: ''
    returnType: int
    signature: "int parse_pk12(PKCS12 *p12, const char *pass, int passlen,\n                      EVP_PKEY
      **pkey, STACK_OF(X509) *ocerts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:180,1
    - Dst: parse_bag
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:181,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - bags
    - pass
    - passlen
    - pkey
    - ocerts
    - libctx
    - propq
    argTypes:
    - STACK_OF*
    - char*
    - int
    - EVP_PKEY**
    - STACK_OF*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: parse_bags
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: 1
    functionsReached:
    - sk_PKCS12_SAFEBAG_num
    - parse_bag
    - sk_PKCS12_SAFEBAG_value
    linkageType: ''
    returnType: int
    signature: "int parse_bags(const STACK_OF(PKCS12_SAFEBAG) *bags, const char *pass,\n
      \                     int passlen, EVP_PKEY **pkey, STACK_OF(X509) *ocerts,\n
      \                     OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:200,1
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:203,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:206,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:210,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:210,1
    - Dst: PKCS12_decrypt_skey_ex
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:219,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:222,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:223,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:230,1
    - Dst: PKCS12_SAFEBAG_get1_cert_ex
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:232,1
    - Dst: X509_keyid_set1
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:234,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:235,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:242,1
    - Dst: X509_alias_set1
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:244,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:245,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:247,1
    - Dst: sk_X509_push
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:253,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:254,1
    - Dst: parse_bags
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:261,1
    - Dst: PKCS12_SAFEBAG_get0_safes
      Src: /src/openssl/crypto/pkcs12/p12_kiss.c:261,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 7
    argNames:
    - bag
    - pass
    - passlen
    - pkey
    - ocerts
    - libctx
    - propq
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    - EVP_PKEY**
    - STACK_OF*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 268
    functionName: parse_bag
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_kiss.c
    functionUses: 1
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS12_SAFEBAG_get_nid
    - EVP_PKCS82PKEY_ex
    - PKCS12_SAFEBAG_get_bag_nid
    - PKCS12_SAFEBAG_get0_safes
    - PKCS12_SAFEBAG_get0_p8inf
    - PKCS12_SAFEBAG_get1_cert_ex
    - X509_alias_set1
    - sk_X509_push
    - X509_free
    - PKCS12_decrypt_skey_ex
    - PKCS12_SAFEBAG_get0_attr
    - OPENSSL_free
    - parse_bags
    - ASN1_STRING_to_UTF8
    - X509_keyid_set1
    linkageType: ''
    returnType: int
    signature: "int parse_bag(PKCS12_SAFEBAG *bag, const char *pass, int passlen,\n
      \                    EVP_PKEY **pkey, STACK_OF(X509) *ocerts,\n                     OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p12
    argTypes:
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: PKCS12_mac_present
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PKCS12_mac_present(const PKCS12 *p12)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:43,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - pmac
    - pmacalg
    - psalt
    - piter
    - p12
    argTypes:
    - ASN1_OCTET_STRING**
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    - ASN1_INTEGER**
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: PKCS12_get0_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - X509_SIG_get0
    linkageType: ''
    returnType: void
    signature: "void PKCS12_get0_mac(const ASN1_OCTET_STRING **pmac,\n                     const
      X509_ALGOR **pmacalg,\n                     const ASN1_OCTET_STRING **psalt,\n
      \                    const ASN1_INTEGER **piter,\n                     const
      PKCS12 *p12)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:73,1
    - Dst: memcpy
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:77,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 8
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - keylen
    - key
    - digest
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: pkcs12_gen_gost_mac_key
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    - PKCS5_PBKDF2_HMAC
    linkageType: ''
    returnType: int
    signature: "int pkcs12_gen_gost_mac_key(const char *pass, int passlen,\n                                   const
      unsigned char *salt, int saltlen,\n                                   int iter,
      int keylen, unsigned char *key,\n                                   const EVP_MD
      *digest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:88,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:88,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:90,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:94,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:96,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:97,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:101,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:101,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - macalg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: PBMAC1_get1_pbkdf2_param
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    - ASN1_TYPE_unpack_sequence
    - PBMAC1PARAM_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: PBKDF2PARAM
    signature: PBKDF2PARAM *PBMAC1_get1_pbkdf2_param(const X509_ALGOR *macalg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PBMAC1_get1_pbkdf2_param
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:122,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:125,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:131,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:132,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:135,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:135,1
    - Dst: ossl_hmac2mdnid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:137,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:141,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:143,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:149,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 6
    argNames:
    - ctx
    - propq
    - pass
    - passlen
    - macalg
    - key
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - int
    - X509_ALGOR*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 153
    functionName: PBMAC1_PBKDF2_HMAC
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - PBMAC1_get1_pbkdf2_param
    - EVP_MD_free
    - ERR_raise
    - ASN1_INTEGER_get
    - OBJ_nid2sn
    - X509_ALGOR_get0
    - PKCS5_PBKDF2_HMAC
    - PBKDF2PARAM_free
    - ossl_hmac2mdnid
    - EVP_MD_fetch
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int PBMAC1_PBKDF2_HMAC(OSSL_LIB_CTX *ctx, const char *propq,\n                              const
      char *pass, int passlen,\n                              const X509_ALGOR *macalg,
      unsigned char *key)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_data
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:183,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:192,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:193,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:194,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:195,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:196,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:196,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:199,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:202,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:203,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:206,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:206,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:210,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:213,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:215,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:216,1
    - Dst: PBMAC1_PBKDF2_HMAC
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:222,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:229,1
    - Dst: pkcs12_gen_gost_mac_key
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:231,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:233,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:243,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:243,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:245,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:255,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:257,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:262,1
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:267,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:272,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:273,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:274,1
    - Dst: HMAC_Final
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:276,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:282,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:283,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:284,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 91
    argCount: 7
    argNames:
    - p12
    - pass
    - passlen
    - mac
    - maclen
    - pbmac1_md_nid
    - pbmac1_kdf_nid
    argTypes:
    - PKCS12*
    - char*
    - int
    - unsigned char*
    - unsigned int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 286
    functionName: pkcs12_gen_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - X509_SIG_get0
    - ERR_raise
    - OBJ_obj2txt
    - EVP_MD_free
    - HMAC_CTX_new
    - ERR_pop_to_mark
    - PKCS12_key_gen_utf8_ex
    - ossl_safe_getenv
    - PKCS7_type_is_data
    - EVP_MD_get_type
    - HMAC_Final
    - EVP_get_digestbynid
    - HMAC_CTX_free
    - OBJ_nid2obj
    - ERR_clear_last_mark
    - OBJ_obj2nid
    - EVP_MD_fetch
    - PBMAC1_PBKDF2_HMAC
    - EVP_MD_get_size
    - ERR_set_mark
    - X509_ALGOR_get0
    - HMAC_Update
    - HMAC_Init_ex
    - pkcs12_gen_gost_mac_key
    - OPENSSL_cleanse
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: "int pkcs12_gen_mac(PKCS12 *p12, const char *pass, int passlen,\n                          unsigned
      char *mac, unsigned int *maclen,\n                          int pbmac1_md_nid,
      int pbmac1_kdf_nid,\n                          int (*pkcs12_key_gen)(const char
      *pass, int passlen,\n                                                unsigned
      char *salt, int slen,\n                                                int id,
      int iter, int n,\n                                                unsigned char
      *out,\n                                                const EVP_MD *md_type))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p12
    - pass
    - passlen
    - mac
    - maclen
    argTypes:
    - PKCS12*
    - char*
    - int
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: PKCS12_gen_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 1
    functionsReached:
    - pkcs12_gen_mac
    linkageType: ''
    returnType: int
    signature: "int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,\n                   unsigned
      char *mac, unsigned int *maclen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:304,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:308,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:309,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:310,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:315,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:315,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:317,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:320,1
    - Dst: ossl_hmac2mdnid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:321,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:321,1
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:324,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:325,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:328,1
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:331,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:335,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:336,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:337,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - p12
    - pass
    - passlen
    argTypes:
    - PKCS12*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 341
    functionName: PKCS12_verify_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 3
    functionsReached:
    - X509_SIG_get0
    - ERR_raise
    - pkcs12_gen_mac
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    - CRYPTO_memcmp
    - ASN1_TYPE_unpack_sequence
    - ossl_hmac2mdnid
    - PBMAC1PARAM_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:354,1
    - Dst: PKCS12_setup_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:358,1
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:364,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:365,1
    - Dst: X509_SIG_getm
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:368,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:369,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 7
    argNames:
    - p12
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - md_type
    argTypes:
    - PKCS12*
    - char*
    - int
    - unsigned char*
    - int
    - int
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 374
    functionName: PKCS12_set_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 1
    functionsReached:
    - X509_SIG_getm
    - ERR_raise
    - pkcs12_gen_mac
    - ASN1_OCTET_STRING_set
    - PKCS12_setup_mac
    - EVP_sha256
    linkageType: ''
    returnType: int
    signature: "int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen,\n                   unsigned
      char *salt, int saltlen, int iter,\n                   const EVP_MD *md_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - keylen
    - out
    - md_type
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: pkcs12_pbmac1_pbkdf2_key_gen
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - PKCS5_PBKDF2_HMAC
    linkageType: ''
    returnType: int
    signature: "int pkcs12_pbmac1_pbkdf2_key_gen(const char *pass, int passlen,\n
      \                                       unsigned char *salt, int saltlen,\n
      \                                       int id, int iter, int keylen,\n                                        unsigned
      char *out,\n                                        const EVP_MD *md_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_MAC_DATA_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:391,1
    - Dst: PKCS12_MAC_DATA_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:394,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:397,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:398,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:402,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:410,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:414,1
    - Dst: memcpy
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:418,1
    - Dst: X509_SIG_getm
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:420,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:421,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:421,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - p12
    - iter
    - salt
    - saltlen
    - nid
    argTypes:
    - PKCS12*
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 427
    functionName: pkcs12_setup_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - PKCS12_MAC_DATA_free
    - X509_SIG_getm
    - X509_ALGOR_set0
    - ERR_raise
    - memcpy
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - OBJ_nid2obj
    - PKCS12_MAC_DATA_new
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int pkcs12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int
      saltlen,\n                            int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkcs12_setup_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:433,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p12
    - iter
    - salt
    - saltlen
    - md_type
    argTypes:
    - PKCS12*
    - int
    - unsigned char*
    - int
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: PKCS12_setup_mac
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 1
    functionsReached:
    - EVP_MD_get_type
    - pkcs12_setup_mac
    linkageType: ''
    returnType: int
    signature: "int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, int
      saltlen,\n                     const EVP_MD *md_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:453,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:456,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:458,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:463,1
    - Dst: ossl_md2hmacnid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:465,1
    - Dst: ossl_md2hmacnid
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:466,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:466,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:469,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:474,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:479,1
    - Dst: PBMAC1PARAM_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:484,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:485,1
    - Dst: PKCS5_pbkdf2_set
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:486,1
    - Dst: pkcs12_setup_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:490,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:492,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:496,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:497,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:501,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:502,1
    - Dst: X509_SIG_getm
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:506,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:507,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:507,1
    - Dst: pkcs12_gen_mac
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:513,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:514,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:516,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:519,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:520,1
    - Dst: PBMAC1PARAM_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:526,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs12/p12_mutl.c:527,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 8
    argNames:
    - p12
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - md_type
    - prf_md_name
    argTypes:
    - PKCS12*
    - char*
    - int
    - unsigned char*
    - int
    - int
    - EVP_MD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 436
    functionDepth: 4
    functionLinenumber: 436
    functionLinenumberEnd: 529
    functionName: PKCS12_set_pbmac1_pbkdf2
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_mutl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_OCTET_STRING_set
    - ossl_md2hmacnid
    - pkcs12_setup_mac
    - OPENSSL_free
    - X509_ALGOR_free
    - OBJ_txt2nid
    - EVP_MD_get_type
    - ASN1_TYPE_pack_sequence
    - OBJ_nid2obj
    - OPENSSL_malloc
    - X509_ALGOR_set0
    - pkcs12_gen_mac
    - PKCS5_pbkdf2_set
    - EVP_sha256
    - X509_SIG_getm
    - EVP_MD_get_size
    - ASN1_ITEM_rptr
    - X509_ALGOR_new
    - PBMAC1PARAM_new
    - RAND_bytes_ex
    - PBMAC1PARAM_free
    linkageType: ''
    returnType: int
    signature: "int PKCS12_set_pbmac1_pbkdf2(PKCS12 *p12, const char *pass, int passlen,\n
      \                            unsigned char *salt, int saltlen, int iter,\n                             const
      EVP_MD *md_type, const char *prf_md_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/pkcs12/p12_p8d.c:21,1
    - Dst: PKCS12_item_decrypt_d2i_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8d.c:22,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_p8d.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - p8
    - pass
    - passlen
    - ctx
    - propq
    argTypes:
    - X509_SIG*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: PKCS8_decrypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_p8d.c
    functionUses: 2
    functionsReached:
    - PKCS12_item_decrypt_d2i_ex
    - X509_SIG_get0
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: "PKCS8_PRIV_KEY_INFO *PKCS8_decrypt_ex(const X509_SIG *p8, const char
      *pass,\n                                      int passlen, OSSL_LIB_CTX *ctx,\n
      \                                     const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_decrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_p8d.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p8
    - pass
    - passlen
    argTypes:
    - X509_SIG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: PKCS8_decrypt
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_p8d.c
    functionUses: 2
    functionsReached:
    - PKCS8_decrypt_ex
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: "PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(const X509_SIG *p8, const char
      *pass,\n                                   int passlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:25,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:29,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - asc
    - asclen
    - uni
    - unilen
    argTypes:
    - char*
    - int
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: OPENSSL_asc2uni
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *OPENSSL_asc2uni(const char *asc, int asclen,\n                               unsigned
      char **uni, int *unilen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - uni
    - unilen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: OPENSSL_uni2asc
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *OPENSSL_uni2asc(const unsigned char *uni, int unilen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:85,1
    - Dst: UTF8_getc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:88,1
    - Dst: OPENSSL_asc2uni
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:107,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:120,1
    - Dst: UTF8_getc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:124,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - asc
    - asclen
    - uni
    - unilen
    argTypes:
    - char*
    - int
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 148
    functionName: OPENSSL_utf82uni
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_asc2uni
    - strlen
    - UTF8_getc
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *OPENSSL_utf82uni(const char *asc, int asclen,\n                                unsigned
      char **uni, int *unilen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_putc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - str
    - utf16
    - len
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: bmp_to_utf8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - UTF8_putc
    linkageType: ''
    returnType: int
    signature: int bmp_to_utf8(char *str, const unsigned char *utf16, int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bmp_to_utf8
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:187,1
    - Dst: OPENSSL_uni2asc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:193,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:203,1
    - Dst: bmp_to_utf8
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:208,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - uni
    - unilen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 219
    functionName: OPENSSL_uni2utf8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_uni2asc
    - OPENSSL_malloc
    - bmp_to_utf8
    linkageType: ''
    returnType: char
    signature: char *OPENSSL_uni2utf8(const unsigned char *uni, int unilen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:223,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p12
    argTypes:
    - BIO*
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: i2d_PKCS12_bio
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS12_bio(BIO *bp, const PKCS12 *p12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:229,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p12
    argTypes:
    - FILE*
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: i2d_PKCS12_fp
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs12_get0_pkcs7ctx
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:240,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:242,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:243,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:246,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bp
    - p12
    argTypes:
    - BIO*
    - PKCS12**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: d2i_PKCS12_bio
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs7_ctx_get0_propq
    - ASN1_item_d2i_bio_ex
    - ASN1_ITEM_rptr
    - ossl_pkcs7_ctx_get0_libctx
    - ossl_pkcs12_get0_pkcs7ctx
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs12_get0_pkcs7ctx
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:257,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:259,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:260,1
    - Dst: ASN1_item_d2i_fp_ex
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:263,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_utl.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - p12
    argTypes:
    - FILE*
    - PKCS12**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: d2i_PKCS12_fp
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_utl.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs7_ctx_get0_propq
    - ASN1_item_d2i_fp_ex
    - ASN1_ITEM_rptr
    - ossl_pkcs7_ctx_get0_libctx
    - ossl_pkcs12_get0_pkcs7ctx
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_asc2uni
      Src: /src/openssl/crypto/pkcs12/p12_key.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_key.c:32,1
    - Dst: PKCS12_key_gen_uni_ex
      Src: /src/openssl/crypto/pkcs12/p12_key.c:35,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs12/p12_key.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 11
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - n
    - out
    - md_type
    - ctx
    - propq
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: PKCS12_key_gen_asc_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_asc2uni
    - ERR_raise
    - PKCS12_key_gen_uni_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS12_key_gen_asc_ex(const char *pass, int passlen, unsigned
      char *salt,\n                          int saltlen, int id, int iter, int n,\n
      \                         unsigned char *out, const EVP_MD *md_type,\n                          OSSL_LIB_CTX
      *ctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_key_gen_asc_ex
      Src: /src/openssl/crypto/pkcs12/p12_key.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - n
    - out
    - md_type
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: PKCS12_key_gen_asc
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 0
    functionsReached:
    - PKCS12_key_gen_asc_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char
      *salt,\n                       int saltlen, int id, int iter, int n,\n                       unsigned
      char *out, const EVP_MD *md_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_utf82uni
      Src: /src/openssl/crypto/pkcs12/p12_key.c:61,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_key.c:62,1
    - Dst: PKCS12_key_gen_uni_ex
      Src: /src/openssl/crypto/pkcs12/p12_key.c:65,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs12/p12_key.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 11
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - n
    - out
    - md_type
    - ctx
    - propq
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: PKCS12_key_gen_utf8_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 2
    functionsReached:
    - OPENSSL_utf82uni
    - OPENSSL_clear_free
    - ERR_raise
    - PKCS12_key_gen_uni_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS12_key_gen_utf8_ex(const char *pass, int passlen, unsigned
      char *salt,\n                           int saltlen, int id, int iter, int n,\n
      \                          unsigned char *out, const EVP_MD *md_type,\n                           OSSL_LIB_CTX
      *ctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_key_gen_utf8_ex
      Src: /src/openssl/crypto/pkcs12/p12_key.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - n
    - out
    - md_type
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: PKCS12_key_gen_utf8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 0
    functionsReached:
    - PKCS12_key_gen_utf8_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS12_key_gen_utf8(const char *pass, int passlen, unsigned char
      *salt,\n                        int saltlen, int id, int iter, int n,\n                        unsigned
      char *out, const EVP_MD *md_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/pkcs12/p12_key.c:92,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/pkcs12/p12_key.c:95,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/pkcs12/p12_key.c:96,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:100,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/pkcs12/p12_key.c:101,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:103,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:105,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/pkcs12/p12_key.c:107,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/pkcs12/p12_key.c:108,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/pkcs12/p12_key.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:112,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:113,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:114,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:115,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:116,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:117,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:118,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/pkcs12/p12_key.c:119,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/pkcs12/p12_key.c:121,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:124,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:126,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/pkcs12/p12_key.c:127,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/pkcs12/p12_key.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 11
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - n
    - out
    - md_type
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 131
    functionName: PKCS12_key_gen_uni_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 2
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - BIO_hex_string
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int PKCS12_key_gen_uni_ex(unsigned char *pass, int passlen, unsigned
      char *salt,\n                          int saltlen, int id, int iter, int n,\n
      \                         unsigned char *out, const EVP_MD *md_type,\n                          OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:112,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:113,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:114,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:115,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:116,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:117,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 0
    functionsReached:
    - BIO_hex_string
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PKCS12_KEYGEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:124,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/pkcs12/p12_key.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/pkcs12/p12_key.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 0
    functionsReached:
    - BIO_hex_string
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PKCS12_KEYGEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_key_gen_uni_ex
      Src: /src/openssl/crypto/pkcs12/p12_key.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - id
    - iter
    - n
    - out
    - md_type
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - int
    - unsigned char*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: PKCS12_key_gen_uni
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_key.c
    functionUses: 0
    functionsReached:
    - PKCS12_key_gen_uni_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned
      char *salt,\n                       int saltlen, int id, int iter, int n,\n
      \                      unsigned char *out, const EVP_MD *md_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_get_attr_gen
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bag
    - attr_nid
    argTypes:
    - PKCS12_SAFEBAG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: PKCS12_get_attr
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_get_attr_gen
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *PKCS12_get_attr(const PKCS12_SAFEBAG *bag, int attr_nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_get_attr_gen
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bag
    - attr_nid
    argTypes:
    - PKCS12_SAFEBAG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: PKCS12_SAFEBAG_get0_attr
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 1
    functionsReached:
    - PKCS12_get_attr_gen
    linkageType: ''
    returnType: ASN1_TYPE
    signature: "ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag,\n                                          int
      attr_nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_get_attr_gen
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:31,1
    - Dst: PKCS8_pkey_get0_attrs
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p8
    - attr_nid
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: PKCS8_get_attr
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS8_pkey_get0_attrs
    - PKCS12_get_attr_gen
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *PKCS8_get_attr(PKCS8_PRIV_KEY_INFO *p8, int attr_nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: PKCS12_SAFEBAG_get0_p8inf
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 1
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG
      *bag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: PKCS12_SAFEBAG_get0_pkcs8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509_SIG
    signature: X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: PKCS12_SAFEBAG_get0_safes
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: STACK_OF
    signature: 'STACK_OF *

      PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: PKCS12_SAFEBAG_get0_type
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: PKCS12_SAFEBAG_get_nid
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 3
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:68,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: PKCS12_SAFEBAG_get_bag_nid
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 1
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: PKCS12_SAFEBAG_get0_bag_type
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *PKCS12_SAFEBAG_get0_bag_type(const PKCS12_SAFEBAG *bag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: PKCS12_SAFEBAG_get0_bag_obj
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *PKCS12_SAFEBAG_get0_bag_obj(const PKCS12_SAFEBAG *bag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:87,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:89,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:91,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: PKCS12_SAFEBAG_get1_cert
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - PKCS12_SAFEBAG_get_nid
    - OBJ_obj2nid
    - ASN1_item_unpack
    linkageType: ''
    returnType: X509
    signature: X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:97,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:99,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:101,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: PKCS12_SAFEBAG_get1_crl
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - PKCS12_SAFEBAG_get_nid
    - OBJ_obj2nid
    - ASN1_item_unpack
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:110,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:112,1
    - Dst: ASN1_item_unpack_ex
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:114,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:115,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:116,1
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bag
    - libctx
    - propq
    argTypes:
    - PKCS12_SAFEBAG*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: PKCS12_SAFEBAG_get1_cert_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 1
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    - ASN1_item_unpack_ex
    - ossl_x509_set0_libctx
    - ASN1_ITEM_rptr
    - X509_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509
    signature: "X509 *PKCS12_SAFEBAG_get1_cert_ex(const PKCS12_SAFEBAG *bag,\n                                  OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:128,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:130,1
    - Dst: ASN1_item_unpack_ex
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:132,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:133,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:134,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - bag
    - libctx
    - propq
    argTypes:
    - PKCS12_SAFEBAG*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: PKCS12_SAFEBAG_get1_crl_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    - ASN1_item_unpack_ex
    - ASN1_ITEM_rptr
    - X509_CRL_free
    - ossl_x509_crl_set0_libctx
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL *PKCS12_SAFEBAG_get1_crl_ex(const PKCS12_SAFEBAG *bag,\n
      \                                    OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_pack_safebag
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:143,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x509
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: PKCS12_SAFEBAG_create_cert
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 1
    functionsReached:
    - PKCS12_item_pack_safebag
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_cert(X509 *x509)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_item_pack_safebag
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:149,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: PKCS12_SAFEBAG_create_crl
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_item_pack_safebag
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_crl(X509_CRL *crl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_BAGS_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:159,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:162,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:170,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:174,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:176,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:179,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:182,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:190,1
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:195,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:199,1
    - Dst: PKCS12_BAGS_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - type
    - vtype
    - value
    - len
    argTypes:
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 205
    functionName: PKCS12_SAFEBAG_create_secret
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_OCTET_STRING_set
    - PKCS12_BAGS_new
    - PKCS12_SAFEBAG_new
    - ASN1_TYPE_new
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_free
    - ASN1_TYPE_set
    - PKCS12_BAGS_free
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_secret(int type, int vtype, const
      unsigned char *value, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:214,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p8
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: PKCS12_SAFEBAG_create0_p8inf
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_new
    - ERR_raise
    - OBJ_nid2obj
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_p8inf(PKCS8_PRIV_KEY_INFO *p8)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_new
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:230,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p8
    argTypes:
    - X509_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: PKCS12_SAFEBAG_create0_pkcs8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_new
    - ERR_raise
    - OBJ_nid2obj
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:252,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:253,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:253,1
    - Dst: EVP_get_cipherbynid
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:255,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:256,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:261,1
    - Dst: PKCS12_SAFEBAG_create0_pkcs8
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:266,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:268,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 9
    argNames:
    - pbe_nid
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - p8inf
    - ctx
    - propq
    argTypes:
    - int
    - char*
    - int
    - unsigned char*
    - int
    - int
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 273
    functionName: PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - X509_SIG_free
    - ERR_pop_to_mark
    - OBJ_nid2sn
    - EVP_get_cipherbynid
    - ERR_set_mark
    - EVP_CIPHER_fetch
    - PKCS12_SAFEBAG_create0_pkcs8
    - EVP_CIPHER_free
    - PKCS8_encrypt_ex
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: "PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt_ex(int pbe_nid,\n
      \                                                      const char *pass,\n                                                       int
      passlen,\n                                                       unsigned char
      *salt,\n                                                       int saltlen,
      int iter,\n                                                       PKCS8_PRIV_KEY_INFO
      *p8inf,\n                                                       OSSL_LIB_CTX
      *ctx,\n                                                       const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
      Src: /src/openssl/crypto/pkcs12/p12_sbag.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pbe_nid
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - p8inf
    argTypes:
    - int
    - char*
    - int
    - unsigned char*
    - int
    - int
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: PKCS12_SAFEBAG_create_pkcs8_encrypt
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_sbag.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_create_pkcs8_encrypt_ex
    linkageType: ''
    returnType: PKCS12_SAFEBAG
    signature: "PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid,\n
      \                                                   const char *pass,\n                                                    int
      passlen,\n                                                    unsigned char
      *salt,\n                                                    int saltlen, int
      iter,\n                                                    PKCS8_PRIV_KEY_INFO
      *p8inf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: PKCS12_add_localkeyid
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 2
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name,\n
      \                         int namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_add1_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p8
    - usage
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: PKCS8_add_keyusage
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached:
    - PKCS8_pkey_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: PKCS12_add_friendlyname_asc
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name,\n
      \                               int namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: PKCS12_add_friendlyname_utf8
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int PKCS12_add_friendlyname_utf8(PKCS12_SAFEBAG *bag, const char *name,\n
      \                               int namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: PKCS12_add_friendlyname_uni
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag,\n                                const
      unsigned char *name, int namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bag
    - name
    - namelen
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: PKCS12_add_CSPName_asc
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, int
      namelen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - bag
    - nid
    - type
    - bytes
    - len
    argTypes:
    - PKCS12_SAFEBAG*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: PKCS12_add1_attr_by_NID
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int PKCS12_add1_attr_by_NID(PKCS12_SAFEBAG *bag, int nid, int type,\n
      \                           const unsigned char *bytes, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_txt
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - bag
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - PKCS12_SAFEBAG*
    - char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: PKCS12_add1_attr_by_txt
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: "int PKCS12_add1_attr_by_txt(PKCS12_SAFEBAG *bag, const char *attrname,
      int type,\n                            const unsigned char *bytes, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:98,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:102,1
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - attrs
    - attr_nid
    argTypes:
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: PKCS12_get_attr_gen
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 3
    functionsReached:
    - X509_ATTRIBUTE_get0_type
    - X509at_get_attr
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: ASN1_TYPE
    signature: "ASN1_TYPE *PKCS12_get_attr_gen(const STACK_OF(X509_ATTRIBUTE) *attrs,\n
      \                              int attr_nid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:109,1
    - Dst: OPENSSL_uni2utf8
      Src: /src/openssl/crypto/pkcs12/p12_attr.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: PKCS12_get_friendlyname
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached:
    - PKCS12_SAFEBAG_get0_attr
    - OPENSSL_uni2utf8
    linkageType: ''
    returnType: char
    signature: char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bag
    argTypes:
    - PKCS12_SAFEBAG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: PKCS12_SAFEBAG_get0_attrs
    functionSourceFile: /src/openssl/crypto/pkcs12/p12_attr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: 'STACK_OF *

      PKCS12_SAFEBAG_get0_attrs(const PKCS12_SAFEBAG *bag)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/async/async.c:37,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/async/async.c:40,1
    - Dst: async_fibre_init_dispatcher
      Src: /src/openssl/crypto/async/async.c:44,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/async/async.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: async_ctx_new
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - ossl_init_thread_start
    - CRYPTO_THREAD_set_local_ex
    - OPENSSL_free
    - async_fibre_init_dispatcher
    - OPENSSL_malloc
    linkageType: ''
    returnType: async_ctx
    signature: async_ctx *async_ctx_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/async/async.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: async_get_ctx
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local_ex
    linkageType: ''
    returnType: async_ctx
    signature: async_ctx *async_get_ctx(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:68,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/async/async.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: async_ctx_free
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_get_ctx
    - OPENSSL_free
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: int
    signature: int async_ctx_free(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/async/async.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: async_job_new
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASYNC_JOB
    signature: ASYNC_JOB *async_job_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:95,1
    - Dst: async_fibre_free
      Src: /src/openssl/crypto/async/async.c:96,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - job
    argTypes:
    - ASYNC_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: async_job_free
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - async_fibre_free
    linkageType: ''
    returnType: void
    signature: void async_job_free(ASYNC_JOB *job)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/async/async.c:105,1
    - Dst: ASYNC_init_thread
      Src: /src/openssl/crypto/async/async.c:112,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/async/async.c:114,1
    - Dst: sk_ASYNC_JOB_pop
      Src: /src/openssl/crypto/async/async.c:118,1
    - Dst: async_job_new
      Src: /src/openssl/crypto/async/async.c:124,1
    - Dst: async_fibre_makecontext
      Src: /src/openssl/crypto/async/async.c:126,1
    - Dst: async_job_free
      Src: /src/openssl/crypto/async/async.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: async_get_pool_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - sk_ASYNC_JOB_pop
    - async_job_new
    - CRYPTO_THREAD_get_local_ex
    - ASYNC_init_thread
    - async_fibre_makecontext
    - async_job_free
    linkageType: ''
    returnType: ASYNC_JOB
    signature: ASYNC_JOB *async_get_pool_job(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/async/async.c:139,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:142,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:145,1
    - Dst: sk_ASYNC_JOB_push
      Src: /src/openssl/crypto/async/async.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - job
    argTypes:
    - ASYNC_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: async_release_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_get_local_ex
    - ERR_raise
    - sk_ASYNC_JOB_push
    linkageType: ''
    returnType: void
    signature: void async_release_job(ASYNC_JOB *job)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:156,1
    - Dst: ASYNC_JOB*::func
      Src: /src/openssl/crypto/async/async.c:162,1
    - Dst: async_fibre_swapcontext
      Src: /src/openssl/crypto/async/async.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: async_start_func
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_get_ctx
    - ASYNC_JOB*::func
    - async_fibre_swapcontext
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void async_start_func(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:183,1
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:186,1
    - Dst: async_ctx_new
      Src: /src/openssl/crypto/async/async.c:188,1
    - Dst: async_release_job
      Src: /src/openssl/crypto/async/async.c:200,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/crypto/async/async.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:225,1
    - Dst: async_fibre_swapcontext
      Src: /src/openssl/crypto/async/async.c:229,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/crypto/async/async.c:231,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:232,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/crypto/async/async.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:245,1
    - Dst: async_release_job
      Src: /src/openssl/crypto/async/async.c:246,1
    - Dst: async_get_pool_job
      Src: /src/openssl/crypto/async/async.c:253,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/async/async.c:257,1
    - Dst: async_release_job
      Src: /src/openssl/crypto/async/async.c:259,1
    - Dst: memcpy
      Src: /src/openssl/crypto/async/async.c:263,1
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/async/async.c:270,1
    - Dst: async_fibre_swapcontext
      Src: /src/openssl/crypto/async/async.c:271,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:273,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/crypto/async/async.c:280,1
    - Dst: async_release_job
      Src: /src/openssl/crypto/async/async.c:284,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 5
    argNames:
    - job
    - wctx
    - ret
    - args
    - size
    argTypes:
    - ASYNC_JOB**
    - ASYNC_WAIT_CTX*
    - int*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 288
    functionName: ASYNC_start_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_fibre_swapcontext
    - ERR_raise
    - memcpy
    - ossl_lib_ctx_get_concrete
    - async_get_ctx
    - async_release_job
    - OPENSSL_init_crypto
    - async_get_pool_job
    - OSSL_LIB_CTX_set0_default
    - async_ctx_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *wctx, int *ret,\n
      \                   int (*func)(void *), void *args, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:293,1
    - Dst: async_fibre_swapcontext
      Src: /src/openssl/crypto/async/async.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:310,1
    - Dst: async_wait_ctx_reset_counts
      Src: /src/openssl/crypto/async/async.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 317
    functionName: ASYNC_pause_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 2
    functionsReached:
    - async_get_ctx
    - async_fibre_swapcontext
    - ERR_raise
    - async_wait_ctx_reset_counts
    linkageType: ''
    returnType: int
    signature: int ASYNC_pause_job(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASYNC_JOB_pop
      Src: /src/openssl/crypto/async/async.c:327,1
    - Dst: async_job_free
      Src: /src/openssl/crypto/async/async.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - async_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: async_empty_pool
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - sk_ASYNC_JOB_pop
    - async_job_free
    linkageType: ''
    returnType: void
    signature: void async_empty_pool(async_pool *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_local_init
      Src: /src/openssl/crypto/async/async.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: async_init
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 1
    functionsReached:
    - async_local_init
    linkageType: ''
    returnType: int
    signature: int async_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_local_deinit
      Src: /src/openssl/crypto/async/async.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: async_deinit
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 1
    functionsReached:
    - async_local_deinit
    linkageType: ''
    returnType: void
    signature: void async_deinit(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:348,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:352,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/async/async.c:355,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/async/async.c:358,1
    - Dst: sk_ASYNC_JOB_new_reserve
      Src: /src/openssl/crypto/async/async.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:364,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:365,1
    - Dst: async_job_new
      Src: /src/openssl/crypto/async/async.c:374,1
    - Dst: async_fibre_makecontext
      Src: /src/openssl/crypto/async/async.c:375,1
    - Dst: async_job_free
      Src: /src/openssl/crypto/async/async.c:380,1
    - Dst: sk_ASYNC_JOB_push
      Src: /src/openssl/crypto/async/async.c:384,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/async/async.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/async/async.c:390,1
    - Dst: async_empty_pool
      Src: /src/openssl/crypto/async/async.c:396,1
    - Dst: sk_ASYNC_JOB_free
      Src: /src/openssl/crypto/async/async.c:397,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:398,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - max_size
    - init_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 400
    functionName: ASYNC_init_thread
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - async_job_new
    - sk_ASYNC_JOB_push
    - async_empty_pool
    - ossl_init_thread_start
    - CRYPTO_THREAD_set_local_ex
    - OPENSSL_free
    - async_fibre_makecontext
    - async_job_free
    - OPENSSL_init_crypto
    - sk_ASYNC_JOB_free
    - sk_ASYNC_JOB_new_reserve
    linkageType: ''
    returnType: int
    signature: int ASYNC_init_thread(size_t max_size, size_t init_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/async/async.c:404,1
    - Dst: async_empty_pool
      Src: /src/openssl/crypto/async/async.c:408,1
    - Dst: sk_ASYNC_JOB_free
      Src: /src/openssl/crypto/async/async.c:409,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async.c:410,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/async/async.c:411,1
    - Dst: async_local_cleanup
      Src: /src/openssl/crypto/async/async.c:414,1
    - Dst: async_ctx_free
      Src: /src/openssl/crypto/async/async.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 416
    functionName: async_delete_thread_state
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_empty_pool
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    - OPENSSL_free
    - sk_ASYNC_JOB_free
    - async_ctx_free
    - async_local_cleanup
    linkageType: ''
    returnType: void
    signature: void async_delete_thread_state(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:420,1
    - Dst: async_delete_thread_state
      Src: /src/openssl/crypto/async/async.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: ASYNC_cleanup_thread
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_delete_thread_state
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: void ASYNC_cleanup_thread(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:430,1
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: ASYNC_get_current_job
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 2
    functionsReached:
    - async_get_ctx
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: ASYNC_JOB
    signature: ASYNC_JOB *ASYNC_get_current_job(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - job
    argTypes:
    - ASYNC_JOB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: ASYNC_get_wait_ctx
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ASYNC_WAIT_CTX
    signature: ASYNC_WAIT_CTX *ASYNC_get_wait_ctx(ASYNC_JOB *job)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:449,1
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: ASYNC_block_pause
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_get_ctx
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: void ASYNC_block_pause(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/async.c:466,1
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/async.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 478
    functionName: ASYNC_unblock_pause
    functionSourceFile: /src/openssl/crypto/async/async.c
    functionUses: 0
    functionsReached:
    - async_get_ctx
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: void ASYNC_unblock_pause(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/async/async_wait.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: ASYNC_WAIT_CTX_new
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASYNC_WAIT_CTX
    signature: ASYNC_WAIT_CTX *ASYNC_WAIT_CTX_new(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct fd_lookup_st*::cleanup
      Src: /src/openssl/crypto/async/async_wait.c:33,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async_wait.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async_wait.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ASYNC_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: ASYNC_WAIT_CTX_free
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 0
    functionsReached:
    - struct fd_lookup_st*::cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ASYNC_WAIT_CTX_free(ASYNC_WAIT_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/async/async_wait.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - key
    - fd
    - custom_data
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    - OSSL_ASYNC_FD
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: ASYNC_WAIT_CTX_set_wait_fd
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: "int ASYNC_WAIT_CTX_set_wait_fd(ASYNC_WAIT_CTX *ctx, const void *key,\n
      \                              OSSL_ASYNC_FD fd, void *custom_data,\n                               void
      (*cleanup)(ASYNC_WAIT_CTX *, const void *,\n                                               OSSL_ASYNC_FD,
      void *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - key
    - fd
    - custom_data
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    - OSSL_ASYNC_FD*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: ASYNC_WAIT_CTX_get_fd
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASYNC_WAIT_CTX_get_fd(ASYNC_WAIT_CTX *ctx, const void *key,\n
      \                         OSSL_ASYNC_FD *fd, void **custom_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - fd
    - numfds
    argTypes:
    - ASYNC_WAIT_CTX*
    - OSSL_ASYNC_FD*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: ASYNC_WAIT_CTX_get_all_fds
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASYNC_WAIT_CTX_get_all_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD
      *fd,\n                               size_t *numfds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - addfd
    - numaddfds
    - delfd
    - numdelfds
    argTypes:
    - ASYNC_WAIT_CTX*
    - OSSL_ASYNC_FD*
    - size_t*
    - OSSL_ASYNC_FD*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: ASYNC_WAIT_CTX_get_changed_fds
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASYNC_WAIT_CTX_get_changed_fds(ASYNC_WAIT_CTX *ctx, OSSL_ASYNC_FD
      *addfd,\n                                   size_t *numaddfds, OSSL_ASYNC_FD
      *delfd,\n                                   size_t *numdelfds)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async_wait.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - ASYNC_WAIT_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 182
    functionName: ASYNC_WAIT_CTX_clear_fd
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - callback
    - callback_arg
    argTypes:
    - ASYNC_WAIT_CTX*
    - ASYNC_callback_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: ASYNC_WAIT_CTX_set_callback
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASYNC_WAIT_CTX_set_callback(ASYNC_WAIT_CTX *ctx,\n                                ASYNC_callback_fn
      callback,\n                                void *callback_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - callback
    - callback_arg
    argTypes:
    - ASYNC_WAIT_CTX*
    - ASYNC_callback_fn*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: ASYNC_WAIT_CTX_get_callback
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASYNC_WAIT_CTX_get_callback(ASYNC_WAIT_CTX *ctx,\n                                ASYNC_callback_fn
      *callback,\n                                void **callback_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - status
    argTypes:
    - ASYNC_WAIT_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: ASYNC_WAIT_CTX_set_status
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASYNC_WAIT_CTX_set_status(ASYNC_WAIT_CTX *ctx, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ASYNC_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: ASYNC_WAIT_CTX_get_status
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASYNC_WAIT_CTX_get_status(ASYNC_WAIT_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/async_wait.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ASYNC_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: async_wait_ctx_reset_counts
    functionSourceFile: /src/openssl/crypto/async/async_wait.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void async_wait_ctx_reset_counts(ASYNC_WAIT_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/async/async_err.c:33,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/async/async_err.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: ossl_err_load_ASYNC_strings
    functionSourceFile: /src/openssl/crypto/async/async_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_ASYNC_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: ASYNC_is_capable
    functionSourceFile: /src/openssl/crypto/async/arch/async_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASYNC_is_capable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc_fn
    - free_fn
    argTypes:
    - ASYNC_stack_alloc_fn
    - ASYNC_stack_free_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: ASYNC_set_mem_functions
    functionSourceFile: /src/openssl/crypto/async/arch/async_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASYNC_set_mem_functions(ASYNC_stack_alloc_fn alloc_fn,\n                            ASYNC_stack_free_fn
      free_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - alloc_fn
    - free_fn
    argTypes:
    - ASYNC_stack_alloc_fn*
    - ASYNC_stack_free_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: ASYNC_get_mem_functions
    functionSourceFile: /src/openssl/crypto/async/arch/async_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ASYNC_get_mem_functions(ASYNC_stack_alloc_fn *alloc_fn,\n                             ASYNC_stack_free_fn
      *free_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: async_local_cleanup
    functionSourceFile: /src/openssl/crypto/async/arch/async_null.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void async_local_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - n
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: async_fibre_swapcontext
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_fibre_swapcontext(o,n,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: async_fibre_makecontext
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_fibre_makecontext(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: async_fibre_makecontext
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_fibre_makecontext(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: async_fibre_free
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_fibre_free(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: async_local_init
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_local_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - n
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: async_fibre_swapcontext
    functionSourceFile: /src/openssl/crypto/async/arch/async_null.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_fibre_swapcontext(o,n,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: async_fibre_makecontext
    functionSourceFile: /src/openssl/crypto/async/arch/async_null.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_fibre_makecontext(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: async_local_init
    functionSourceFile: /src/openssl/crypto/async/arch/async_null.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: async_local_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ASYNC_is_capable
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASYNC_is_capable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alloc_fn
    - free_fn
    argTypes:
    - ASYNC_stack_alloc_fn
    - ASYNC_stack_free_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: ASYNC_set_mem_functions
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASYNC_set_mem_functions(ASYNC_stack_alloc_fn alloc_fn,\n                            ASYNC_stack_free_fn
      free_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - alloc_fn
    - free_fn
    argTypes:
    - ASYNC_stack_alloc_fn*
    - ASYNC_stack_free_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ASYNC_get_mem_functions
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ASYNC_get_mem_functions(ASYNC_stack_alloc_fn *alloc_fn,\n                             ASYNC_stack_free_fn
      *free_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: async_get_ctx
      Src: /src/openssl/crypto/async/arch/async_win.c:40,1
    - Dst: ConvertFiberToThread
      Src: /src/openssl/crypto/async/arch/async_win.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: async_local_cleanup
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.c
    functionUses: 1
    functionsReached:
    - async_get_ctx
    - ConvertFiberToThread
    linkageType: ''
    returnType: void
    signature: void async_local_cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ConvertThreadToFiberEx
      Src: /src/openssl/crypto/async/arch/async_win.c:53,1
    - Dst: ConvertThreadToFiber
      Src: /src/openssl/crypto/async/arch/async_win.c:55,1
    - Dst: GetCurrentFiber
      Src: /src/openssl/crypto/async/arch/async_win.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - fibre
    argTypes:
    - async_fibre*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: async_fibre_init_dispatcher
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.c
    functionUses: 1
    functionsReached:
    - ConvertThreadToFiberEx
    - GetCurrentFiber
    - ConvertThreadToFiber
    linkageType: ''
    returnType: int
    signature: int async_fibre_init_dispatcher(async_fibre *fibre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_start_func
      Src: /src/openssl/crypto/async/arch/async_win.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused
    argTypes:
    - PVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: async_start_func_win
    functionSourceFile: /src/openssl/crypto/async/arch/async_win.c
    functionUses: 0
    functionsReached:
    - async_start_func
    linkageType: ''
    returnType: VOID
    signature: VOID async_start_func_win(PVOID unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/async/arch/async_posix.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: async_local_init
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: int async_local_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/async/arch/async_posix.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: async_local_deinit
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: void
    signature: void async_local_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getcontext
      Src: /src/openssl/crypto/async/arch/async_posix.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: ASYNC_is_capable
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 0
    functionsReached:
    - getcontext
    linkageType: ''
    returnType: int
    signature: int ASYNC_is_capable(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/async/arch/async_posix.c:56,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/async/arch/async_posix.c:58,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/async/arch/async_posix.c:61,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/async/arch/async_posix.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - alloc_fn
    - free_fn
    argTypes:
    - ASYNC_stack_alloc_fn
    - ASYNC_stack_free_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: ASYNC_set_mem_functions
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - OPENSSL_init_crypto
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int ASYNC_set_mem_functions(ASYNC_stack_alloc_fn alloc_fn,\n                            ASYNC_stack_free_fn
      free_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - alloc_fn
    - free_fn
    argTypes:
    - ASYNC_stack_alloc_fn*
    - ASYNC_stack_free_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: ASYNC_get_mem_functions
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ASYNC_get_mem_functions(ASYNC_stack_alloc_fn *alloc_fn,\n                             ASYNC_stack_free_fn
      *free_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/async/arch/async_posix.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: async_stack_alloc
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *async_stack_alloc(size_t *num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/async/arch/async_posix.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: async_stack_free
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void async_stack_free(void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: async_local_cleanup
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void async_local_cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getcontext
      Src: /src/openssl/crypto/async/arch/async_posix.c:101,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/async/arch/async_posix.c:109,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/async/arch/async_posix.c:112,1
    - Dst: stack_alloc_impl
      Src: /src/openssl/crypto/async/arch/async_posix.c:115,1
    - Dst: makecontext
      Src: /src/openssl/crypto/async/arch/async_posix.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - fibre
    argTypes:
    - async_fibre*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 126
    functionName: async_fibre_makecontext
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 2
    functionsReached:
    - stack_alloc_impl
    - CRYPTO_THREAD_write_lock
    - makecontext
    - CRYPTO_THREAD_unlock
    - getcontext
    linkageType: ''
    returnType: int
    signature: int async_fibre_makecontext(async_fibre *fibre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stack_free_impl
      Src: /src/openssl/crypto/async/arch/async_posix.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fibre
    argTypes:
    - async_fibre*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: async_fibre_free
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.c
    functionUses: 1
    functionsReached:
    - stack_free_impl
    linkageType: ''
    returnType: void
    signature: void async_fibre_free(async_fibre *fibre)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swapcontext
      Src: /src/openssl/crypto/async/arch/async_posix.h:70,1
    - Dst: _setjmp
      Src: /src/openssl/crypto/async/arch/async_posix.h:74,1
    - Dst: _longjmp
      Src: /src/openssl/crypto/async/arch/async_posix.h:76,1
    - Dst: setcontext
      Src: /src/openssl/crypto/async/arch/async_posix.h:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - o
    - n
    - r
    argTypes:
    - async_fibre*
    - async_fibre*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: async_fibre_swapcontext
    functionSourceFile: /src/openssl/crypto/async/arch/async_posix.h
    functionUses: 3
    functionsReached:
    - setcontext
    - _longjmp
    - _setjmp
    - swapcontext
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline async_fibre_swapcontext(async_fibre *o, async_fibre *n,
      int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - WHIRLPOOL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: WHIRLPOOL_Init
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int WHIRLPOOL_Init(WHIRLPOOL_CTX *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WHIRLPOOL_BitUpdate
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:82,1
    - Dst: WHIRLPOOL_BitUpdate
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - c
    - _inp
    - bytes
    argTypes:
    - WHIRLPOOL_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: WHIRLPOOL_Update
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: 0
    functionsReached:
    - WHIRLPOOL_BitUpdate
    linkageType: ''
    returnType: int
    signature: int WHIRLPOOL_Update(WHIRLPOOL_CTX *c, const void *_inp, size_t bytes)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: whirlpool_block
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:117,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:127,1
    - Dst: whirlpool_block
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:129,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:132,1
    - Dst: whirlpool_block
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:168,1
    - Dst: whirlpool_block
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:186,1
    - Dst: whirlpool_block
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:201,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 3
    argNames:
    - c
    - _inp
    - bits
    argTypes:
    - WHIRLPOOL_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 212
    functionName: WHIRLPOOL_BitUpdate
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: 1
    functionsReached:
    - memcpy
    - whirlpool_block
    linkageType: ''
    returnType: void
    signature: void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c, const void *_inp, size_t
      bits)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:230,1
    - Dst: whirlpool_block
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:231,1
    - Dst: memset
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:235,1
    - Dst: whirlpool_block
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:243,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:246,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - WHIRLPOOL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 251
    functionName: WHIRLPOOL_Final
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - memcpy
    - memset
    - whirlpool_block
    linkageType: ''
    returnType: int
    signature: int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WHIRLPOOL_Init
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:260,1
    - Dst: WHIRLPOOL_Update
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:261,1
    - Dst: WHIRLPOOL_Final
      Src: /src/openssl/crypto/whrlpool/wp_dgst.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - inp
    - bytes
    - md
    argTypes:
    - void*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: WHIRLPOOL
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_dgst.c
    functionUses: 0
    functionsReached:
    - WHIRLPOOL_Final
    - WHIRLPOOL_Update
    - WHIRLPOOL_Init
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *WHIRLPOOL(const void *inp, size_t bytes, unsigned char
      *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - inp
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: GO_FOR_MMX
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GO_FOR_MMX(ctx,inp,num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(i,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(i,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - c0
    - ','
    - c1
    - ','
    - c2
    - ','
    - c3
    - ','
    - c4
    - ','
    - c5
    - ','
    - c6
    - ','
    - c7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: LL
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL(c0,c1,c2,c3,c4,c5,c6,c7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: C0
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C0(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: C1
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C1(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: C2
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C2(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: C3
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C3(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: C4
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C4(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: C5
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C5(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: C6
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C6(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: C7
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C7(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - c0
    - ','
    - c1
    - ','
    - c2
    - ','
    - c3
    - ','
    - c4
    - ','
    - c5
    - ','
    - c6
    - ','
    - c7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: LL
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL(c0,c1,c2,c3,c4,c5,c6,c7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: C0
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C0(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: C1
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C1(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: C2
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C2(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: C3
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C3(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: C4
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C4(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: C5
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C5(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: C6
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C6(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: C7
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C7(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - c0
    - ','
    - c1
    - ','
    - c2
    - ','
    - c3
    - ','
    - c4
    - ','
    - c5
    - ','
    - c6
    - ','
    - c7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: LL
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL(c0,c1,c2,c3,c4,c5,c6,c7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: C0
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C0(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: C1
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C1(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: C2
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C2(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: C3
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C3(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: C4
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C4(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: C5
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C5(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: C6
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C6(K,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: C7
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C7(K,i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GO_FOR_MMX
      Src: /src/openssl/crypto/whrlpool/wp_block.c:509,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:521,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:521,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:522,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:522,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:523,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:523,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:524,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:524,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_block.c:526,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:528,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:528,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:529,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:529,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:530,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:530,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:531,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:531,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_block.c:533,1
    - Dst: memcpy
      Src: /src/openssl/crypto/whrlpool/wp_block.c:542,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:567,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:567,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:567,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:567,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:568,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:569,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:570,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:571,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:572,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:573,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:574,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:575,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:576,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:576,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:576,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:576,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:577,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:577,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:577,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:577,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:578,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:578,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:578,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:578,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:579,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:579,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:579,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:579,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:580,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:580,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:580,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:580,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:581,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:581,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:581,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:581,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:582,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:582,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:582,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:582,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:593,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:594,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:594,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:594,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:594,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:595,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:595,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:595,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:595,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:596,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:597,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:598,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:598,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:598,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:598,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:599,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:599,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:599,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:599,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:600,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:600,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:600,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:600,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:601,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:601,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:601,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:601,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:602,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:603,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:604,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:604,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:604,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:604,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:605,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:606,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:607,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:608,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:608,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:608,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:608,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:619,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:620,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:621,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:622,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:623,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:624,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:625,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:626,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:629,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:630,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:631,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:632,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:633,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:634,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:635,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:636,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:638,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:639,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:640,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:641,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:642,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:643,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:644,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:645,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:647,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:648,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:649,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:650,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:651,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:652,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:653,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:654,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:656,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:657,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:658,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:659,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:660,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:661,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:662,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:663,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:665,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:666,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:667,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:668,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:669,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:670,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:671,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:672,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:674,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:675,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:676,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:677,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:678,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:679,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:680,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:681,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:683,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:684,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:685,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:686,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:687,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:688,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:689,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:690,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:701,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:702,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:703,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:704,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:705,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:706,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:707,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:708,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:710,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:711,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:712,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:713,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:714,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:715,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:716,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:717,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:719,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:720,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:721,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:722,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:723,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:724,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:725,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:726,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:728,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:729,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:730,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:731,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:732,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:733,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:734,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:735,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:737,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:738,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:739,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:740,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:741,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:742,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:743,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:744,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:746,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:747,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:748,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:749,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:750,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:751,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:752,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:753,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:755,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:756,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:757,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:758,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:759,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:760,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:761,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:762,1
    - Dst: C0
      Src: /src/openssl/crypto/whrlpool/wp_block.c:764,1
    - Dst: C1
      Src: /src/openssl/crypto/whrlpool/wp_block.c:765,1
    - Dst: C2
      Src: /src/openssl/crypto/whrlpool/wp_block.c:766,1
    - Dst: C3
      Src: /src/openssl/crypto/whrlpool/wp_block.c:767,1
    - Dst: C4
      Src: /src/openssl/crypto/whrlpool/wp_block.c:768,1
    - Dst: C5
      Src: /src/openssl/crypto/whrlpool/wp_block.c:769,1
    - Dst: C6
      Src: /src/openssl/crypto/whrlpool/wp_block.c:770,1
    - Dst: C7
      Src: /src/openssl/crypto/whrlpool/wp_block.c:771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 232
    argCount: 3
    argNames:
    - ctx
    - inp
    - n
    argTypes:
    - WHIRLPOOL_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 805
    functionName: whirlpool_block
    functionSourceFile: /src/openssl/crypto/whrlpool/wp_block.c
    functionUses: 2
    functionsReached:
    - C1
    - C4
    - C2
    - C0
    - C5
    - memcpy
    - C7
    - C6
    - C3
    - GO_FOR_MMX
    linkageType: ''
    returnType: void
    signature: void whirlpool_block(WHIRLPOOL_CTX *ctx, const void *inp, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:30,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:31,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:34,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:35,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_cbc.c:40,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:42,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:44,1
    - Dst: n2ln
      Src: /src/openssl/crypto/idea/i_cbc.c:47,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_cbc.c:52,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:54,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:56,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:58,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:59,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:61,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:62,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:65,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:67,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_cbc.c:69,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:72,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:73,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:78,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cbc.c:80,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_cbc.c:82,1
    - Dst: l2nn
      Src: /src/openssl/crypto/idea/i_cbc.c:85,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:89,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cbc.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 6
    argNames:
    - in
    - out
    - length
    - ks
    - iv
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - IDEA_KEY_SCHEDULE*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 94
    functionName: IDEA_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/idea/i_cbc.c
    functionUses: 0
    functionsReached:
    - n2l
    - n2ln
    - l2nn
    - l2n
    - IDEA_encrypt
    linkageType: ''
    returnType: void
    signature: "void IDEA_cbc_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,\n
      \                     int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: E_IDEA
      Src: /src/openssl/crypto/idea/i_cbc.c:108,1
    - Dst: E_IDEA
      Src: /src/openssl/crypto/idea/i_cbc.c:109,1
    - Dst: E_IDEA
      Src: /src/openssl/crypto/idea/i_cbc.c:110,1
    - Dst: E_IDEA
      Src: /src/openssl/crypto/idea/i_cbc.c:111,1
    - Dst: E_IDEA
      Src: /src/openssl/crypto/idea/i_cbc.c:112,1
    - Dst: E_IDEA
      Src: /src/openssl/crypto/idea/i_cbc.c:113,1
    - Dst: E_IDEA
      Src: /src/openssl/crypto/idea/i_cbc.c:114,1
    - Dst: E_IDEA
      Src: /src/openssl/crypto/idea/i_cbc.c:115,1
    - Dst: idea_mul
      Src: /src/openssl/crypto/idea/i_cbc.c:118,1
    - Dst: idea_mul
      Src: /src/openssl/crypto/idea/i_cbc.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - IDEA_KEY_SCHEDULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: IDEA_encrypt
    functionSourceFile: /src/openssl/crypto/idea/i_cbc.c
    functionUses: 1
    functionsReached:
    - idea_mul
    - E_IDEA
    linkageType: ''
    returnType: void
    signature: void IDEA_encrypt(unsigned long *d, IDEA_KEY_SCHEDULE *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_ofb64.c:44,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_ofb64.c:45,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:49,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:50,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_ofb64.c:53,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:56,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:58,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:68,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ofb64.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - IDEA_KEY_SCHEDULE*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 73
    functionName: IDEA_ofb64_encrypt
    functionSourceFile: /src/openssl/crypto/idea/i_ofb64.c
    functionUses: 0
    functionsReached:
    - IDEA_encrypt
    - l2n
    - n2l
    linkageType: ''
    returnType: void
    signature: "void IDEA_ofb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       long length, IDEA_KEY_SCHEDULE *schedule,\n                        unsigned
      char *ivec, int *num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: n2s
      Src: /src/openssl/crypto/idea/i_skey.c:27,1
    - Dst: n2s
      Src: /src/openssl/crypto/idea/i_skey.c:28,1
    - Dst: n2s
      Src: /src/openssl/crypto/idea/i_skey.c:29,1
    - Dst: n2s
      Src: /src/openssl/crypto/idea/i_skey.c:30,1
    - Dst: n2s
      Src: /src/openssl/crypto/idea/i_skey.c:31,1
    - Dst: n2s
      Src: /src/openssl/crypto/idea/i_skey.c:32,1
    - Dst: n2s
      Src: /src/openssl/crypto/idea/i_skey.c:33,1
    - Dst: n2s
      Src: /src/openssl/crypto/idea/i_skey.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - key
    - ks
    argTypes:
    - unsigned char*
    - IDEA_KEY_SCHEDULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 59
    functionName: IDEA_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/idea/i_skey.c
    functionUses: 0
    functionsReached:
    - n2s
    linkageType: ''
    returnType: void
    signature: void IDEA_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE
      *ks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inverse
      Src: /src/openssl/crypto/idea/i_skey.c:69,1
    - Dst: inverse
      Src: /src/openssl/crypto/idea/i_skey.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ek
    - dk
    argTypes:
    - IDEA_KEY_SCHEDULE*
    - IDEA_KEY_SCHEDULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: IDEA_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/idea/i_skey.c
    functionUses: 0
    functionsReached:
    - inverse
    linkageType: ''
    returnType: void
    signature: void IDEA_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE
      *dk)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - xin
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 119
    functionName: inverse
    functionSourceFile: /src/openssl/crypto/idea/i_skey.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: IDEA_INT
    signature: IDEA_INT inverse(unsigned int xin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: IDEA_options
    functionSourceFile: /src/openssl/crypto/idea/i_ecb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *IDEA_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_ecb.c:31,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_ecb.c:33,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_ecb.c:35,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ecb.c:37,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_ecb.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - in
    - out
    - ks
    argTypes:
    - unsigned char*
    - unsigned char*
    - IDEA_KEY_SCHEDULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: IDEA_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/idea/i_ecb.c
    functionUses: 0
    functionsReached:
    - IDEA_encrypt
    - n2l
    - l2n
    linkageType: ''
    returnType: void
    signature: "void IDEA_ecb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     IDEA_KEY_SCHEDULE *ks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cfb64.c:45,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cfb64.c:47,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_cfb64.c:49,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cfb64.c:52,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cfb64.c:54,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cfb64.c:65,1
    - Dst: n2l
      Src: /src/openssl/crypto/idea/i_cfb64.c:67,1
    - Dst: IDEA_encrypt
      Src: /src/openssl/crypto/idea/i_cfb64.c:69,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cfb64.c:72,1
    - Dst: l2n
      Src: /src/openssl/crypto/idea/i_cfb64.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - IDEA_KEY_SCHEDULE*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 86
    functionName: IDEA_cfb64_encrypt
    functionSourceFile: /src/openssl/crypto/idea/i_cfb64.c
    functionUses: 0
    functionsReached:
    - IDEA_encrypt
    - n2l
    - l2n
    linkageType: ''
    returnType: void
    signature: "void IDEA_cfb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       long length, IDEA_KEY_SCHEDULE *schedule,\n                        unsigned
      char *ivec, int *num, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - l1
    - ','
    - l2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: n2ln
    functionSourceFile: /src/openssl/crypto/idea/idea_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2ln(c,l1,l2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l1
    - ','
    - l2
    - ','
    - c
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: l2nn
    functionSourceFile: /src/openssl/crypto/idea/idea_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2nn(l1,l2,c,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: n2l
    functionSourceFile: /src/openssl/crypto/idea/idea_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: l2n
    functionSourceFile: /src/openssl/crypto/idea/idea_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2n(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: s2n
    functionSourceFile: /src/openssl/crypto/idea/idea_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s2n(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: n2s
    functionSourceFile: /src/openssl/crypto/idea/idea_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2s(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: E_IDEA
    functionSourceFile: /src/openssl/crypto/idea/idea_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E_IDEA(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: c2l
    functionSourceFile: /src/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: l2c
    functionSourceFile: /src/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2c(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:40,1
    - Dst: memset
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - MDC2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: MDC2_Init
    functionSourceFile: /src/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int MDC2_Init(MDC2_CTX *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:53,1
    - Dst: memcpy
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:59,1
    - Dst: mdc2_body
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:63,1
    - Dst: mdc2_body
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:68,1
    - Dst: memcpy
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - c
    - in
    - len
    argTypes:
    - MDC2_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: MDC2_Update
    functionSourceFile: /src/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mdc2_body
    linkageType: ''
    returnType: int
    signature: int MDC2_Update(MDC2_CTX *c, const unsigned char *in, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:87,1
    - Dst: c2l
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:89,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:94,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:95,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:96,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:98,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:99,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:100,1
    - Dst: l2c
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:108,1
    - Dst: l2c
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:109,1
    - Dst: l2c
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:111,1
    - Dst: l2c
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - c
    - in
    - len
    argTypes:
    - MDC2_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 114
    functionName: mdc2_body
    functionSourceFile: /src/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: 1
    functionsReached:
    - c2l
    - DES_set_odd_parity
    - DES_set_key_unchecked
    - DES_encrypt1
    - l2c
    linkageType: ''
    returnType: void
    signature: void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:126,1
    - Dst: mdc2_body
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:127,1
    - Dst: memcpy
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:129,1
    - Dst: memcpy
      Src: /src/openssl/crypto/mdc2/mdc2dgst.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - MDC2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: MDC2_Final
    functionSourceFile: /src/openssl/crypto/mdc2/mdc2dgst.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mdc2_body
    - memset
    linkageType: ''
    returnType: int
    signature: int MDC2_Final(unsigned char *md, MDC2_CTX *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MDC2_Init
      Src: /src/openssl/crypto/mdc2/mdc2_one.c:27,1
    - Dst: MDC2_Update
      Src: /src/openssl/crypto/mdc2/mdc2_one.c:29,1
    - Dst: MDC2_Final
      Src: /src/openssl/crypto/mdc2/mdc2_one.c:30,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/mdc2/mdc2_one.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: MDC2
    functionSourceFile: /src/openssl/crypto/mdc2/mdc2_one.c
    functionUses: 0
    functionsReached:
    - MDC2_Init
    - MDC2_Final
    - OPENSSL_cleanse
    - MDC2_Update
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *MDC2(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:28,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:29,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:32,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:33,1
    - Dst: RC2_encrypt
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:38,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:40,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:42,1
    - Dst: c2ln
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:45,1
    - Dst: RC2_encrypt
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:50,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:52,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:54,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:56,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:57,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:59,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:60,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:63,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:65,1
    - Dst: RC2_decrypt
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:67,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:70,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:71,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:76,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:78,1
    - Dst: RC2_decrypt
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:80,1
    - Dst: l2cn
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:83,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:87,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_cbc.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 6
    argNames:
    - in
    - out
    - length
    - ks
    - iv
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC2_KEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 92
    functionName: RC2_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/rc2/rc2_cbc.c
    functionUses: 0
    functionsReached:
    - c2l
    - c2ln
    - RC2_decrypt
    - RC2_encrypt
    - l2cn
    - l2c
    linkageType: ''
    returnType: void
    signature: "void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out,
      long length,\n                     RC2_KEY *ks, unsigned char *iv, int encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - RC2_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 138
    functionName: RC2_encrypt
    functionSourceFile: /src/openssl/crypto/rc2/rc2_cbc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RC2_encrypt(unsigned long *d, RC2_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - RC2_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 185
    functionName: RC2_decrypt
    functionSourceFile: /src/openssl/crypto/rc2/rc2_cbc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RC2_decrypt(unsigned long *d, RC2_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_ecb.c:33,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2_ecb.c:35,1
    - Dst: RC2_encrypt
      Src: /src/openssl/crypto/rc2/rc2_ecb.c:38,1
    - Dst: RC2_decrypt
      Src: /src/openssl/crypto/rc2/rc2_ecb.c:40,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_ecb.c:42,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2_ecb.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - RC2_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: RC2_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/rc2/rc2_ecb.c
    functionUses: 0
    functionsReached:
    - c2l
    - RC2_decrypt
    - l2c
    - RC2_encrypt
    linkageType: ''
    returnType: void
    signature: "void RC2_ecb_encrypt(const unsigned char *in, unsigned char *out,
      RC2_KEY *ks,\n                     int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: c2l
    functionSourceFile: /src/openssl/crypto/rc2/rc2_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - l1
    - ','
    - l2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: c2ln
    functionSourceFile: /src/openssl/crypto/rc2/rc2_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2ln(c,l1,l2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: l2c
    functionSourceFile: /src/openssl/crypto/rc2/rc2_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2c(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l1
    - ','
    - l2
    - ','
    - c
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: l2cn
    functionSourceFile: /src/openssl/crypto/rc2/rc2_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2cn(l1,l2,c,n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:38,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:39,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:43,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:44,1
    - Dst: RC2_encrypt
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:47,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:50,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:52,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:62,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2ofb64.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC2_KEY*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: RC2_ofb64_encrypt
    functionSourceFile: /src/openssl/crypto/rc2/rc2ofb64.c
    functionUses: 0
    functionsReached:
    - c2l
    - l2c
    - RC2_encrypt
    linkageType: ''
    returnType: void
    signature: "void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                      long length, RC2_KEY *schedule, unsigned char *ivec,\n
      \                      int *num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - key
    - len
    - data
    - bits
    argTypes:
    - RC2_KEY*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 100
    functionName: RC2_set_key
    functionSourceFile: /src/openssl/crypto/rc2/rc2_skey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data,
      int bits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:39,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:41,1
    - Dst: RC2_encrypt
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:43,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:46,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:48,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:59,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:61,1
    - Dst: RC2_encrypt
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:63,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:66,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc2/rc2cfb64.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC2_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: RC2_cfb64_encrypt
    functionSourceFile: /src/openssl/crypto/rc2/rc2cfb64.c
    functionUses: 0
    functionsReached:
    - c2l
    - l2c
    - RC2_encrypt
    linkageType: ''
    returnType: void
    signature: "void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                      long length, RC2_KEY *schedule, unsigned char *ivec,\n
      \                      int *num, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 149
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BLOCK_CIPHER_ecb_loop
      Src: /src/openssl/crypto/evp/e_des3.c:72,1
    - Dst: DES_ecb3_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:73,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:75,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:75,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:76,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: des_ede_ecb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - BLOCK_CIPHER_ecb_loop
    - EVP_CIPHER_CTX_is_encrypting
    - data
    - DES_ecb3_encrypt
    linkageType: ''
    returnType: int
    signature: "int des_ede_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                             const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_des3.c:84,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:85,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:86,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:86,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:87,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_des3.c:90,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_des3.c:96,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:97,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:98,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:98,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:99,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_des3.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: des_ede_ofb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - DES_ede3_ofb64_encrypt
    - EVP_CIPHER_CTX_get_num
    - data
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int des_ede_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                             const unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:110,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:119,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:122,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:128,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: des_ede_cbc_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - DES_ede3_cbc_encrypt
    - data
    linkageType: ''
    returnType: int
    signature: "int des_ede_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                             const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_des3.c:139,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:140,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:141,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:141,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:142,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:143,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_des3.c:144,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_des3.c:150,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:151,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:152,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:152,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:153,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:154,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_des3.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: des_ede_cfb64_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_num
    - data
    - DES_ede3_cfb64_encrypt
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int des_ede_cfb64_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/openssl/crypto/evp/e_des3.c:171,1
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:175,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:176,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:176,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:177,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: des_ede3_cfb1_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - DES_ede3_cfb_encrypt
    - EVP_CIPHER_CTX_is_encrypting
    - data
    - EVP_CIPHER_CTX_test_flags
    linkageType: ''
    returnType: int
    signature: "int des_ede3_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:190,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:191,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:191,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:192,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:193,1
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/openssl/crypto/evp/e_des3.c:199,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:200,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:200,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:201,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: des_ede3_cfb8_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - DES_ede3_cfb_encrypt
    - EVP_CIPHER_CTX_is_encrypting
    - data
    linkageType: ''
    returnType: int
    signature: "int des_ede3_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:229,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_des3.c:234,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/crypto/evp/e_des3.c:237,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/crypto/evp/e_des3.c:238,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_des3.c:239,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/evp/e_des3.c:246,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/evp/e_des3.c:247,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_des3.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 250
    functionName: des_ede_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - memcpy
    - DES_set_key_unchecked
    - data
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: "int des_ede_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_des3.c:256,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_des3.c:261,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/crypto/evp/e_des3.c:264,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/crypto/evp/e_des3.c:265,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/crypto/evp/e_des3.c:266,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/evp/e_des3.c:273,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/evp/e_des3.c:274,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/evp/e_des3.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: des_ede3_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - data
    - des_t4_key_expand
    - EVP_CIPHER_CTX_get_mode
    linkageType: ''
    returnType: int
    signature: "int des_ede3_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                            const unsigned char *iv, int enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_des3.c:287,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/evp/e_des3.c:288,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/evp/e_des3.c:290,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/evp/e_des3.c:292,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/evp/e_des3.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 300
    functionName: des3_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - DES_set_odd_parity
    - EVP_CIPHER_CTX_get_key_length
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: int des3_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: EVP_des_ede
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_des_ede(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: EVP_des_ede3
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_des_ede3(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_des3.c:329,1
    - Dst: des_ede_cbc_cipher
      Src: /src/openssl/crypto/evp/e_des3.c:331,1
    - Dst: memmove
      Src: /src/openssl/crypto/evp/e_des3.c:338,1
    - Dst: des_ede_cbc_cipher
      Src: /src/openssl/crypto/evp/e_des3.c:341,1
    - Dst: des_ede_cbc_cipher
      Src: /src/openssl/crypto/evp/e_des3.c:343,1
    - Dst: BUF_reverse
      Src: /src/openssl/crypto/evp/e_des3.c:345,1
    - Dst: BUF_reverse
      Src: /src/openssl/crypto/evp/e_des3.c:346,1
    - Dst: BUF_reverse
      Src: /src/openssl/crypto/evp/e_des3.c:347,1
    - Dst: des_ede_cbc_cipher
      Src: /src/openssl/crypto/evp/e_des3.c:349,1
    - Dst: des_ede_cbc_cipher
      Src: /src/openssl/crypto/evp/e_des3.c:350,1
    - Dst: ossl_sha1
      Src: /src/openssl/crypto/evp/e_des3.c:351,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_des3.c:352,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_des3.c:354,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_des3.c:355,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_des3.c:356,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_des3.c:357,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_des3.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 362
    functionName: des_ede3_unwrap
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - BUF_reverse
    - memcpy
    - CRYPTO_memcmp
    - memmove
    - des_ede_cbc_cipher
    - OPENSSL_cleanse
    - ossl_sha1
    linkageType: ''
    returnType: int
    signature: "int des_ede3_unwrap(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/openssl/crypto/evp/e_des3.c:371,1
    - Dst: ossl_sha1
      Src: /src/openssl/crypto/evp/e_des3.c:373,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_des3.c:375,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_des3.c:376,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/evp/e_des3.c:378,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_des3.c:380,1
    - Dst: des_ede_cbc_cipher
      Src: /src/openssl/crypto/evp/e_des3.c:382,1
    - Dst: BUF_reverse
      Src: /src/openssl/crypto/evp/e_des3.c:383,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_des3.c:384,1
    - Dst: des_ede_cbc_cipher
      Src: /src/openssl/crypto/evp/e_des3.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: des_ede3_wrap
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - BUF_reverse
    - memcpy
    - memmove
    - RAND_bytes
    - des_ede_cbc_cipher
    - OPENSSL_cleanse
    - ossl_sha1
    linkageType: ''
    returnType: int
    signature: "int des_ede3_wrap(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                         const
      unsigned char *in, size_t inl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_is_partially_overlapping
      Src: /src/openssl/crypto/evp/e_des3.c:400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_des3.c:401,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des3.c:405,1
    - Dst: des_ede3_wrap
      Src: /src/openssl/crypto/evp/e_des3.c:406,1
    - Dst: des_ede3_unwrap
      Src: /src/openssl/crypto/evp/e_des3.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 409
    functionName: des_ede3_wrap_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached:
    - des_ede3_wrap
    - ERR_raise
    - EVP_CIPHER_CTX_is_encrypting
    - ossl_is_partially_overlapping
    - des_ede3_unwrap
    linkageType: ''
    returnType: int
    signature: "int des_ede3_wrap_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: EVP_des_ede3_wrap
    functionSourceFile: /src/openssl/crypto/evp/e_des3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_des_ede3_wrap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: update
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 26
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int update(EVP_MD_CTX *ctx, const void *data, size_t datalen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/m_sigver.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mdname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: canon_mdname
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *canon_mdname(const char *mdname)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_ctx_free_algctx
      Src: /src/openssl/crypto/evp/m_sigver.c:53,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/m_sigver.c:59,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/crypto/evp/m_sigver.c:61,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/m_sigver.c:66,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:69,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/m_sigver.c:71,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:88,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/m_sigver.c:93,1
    - Dst: canon_mdname
      Src: /src/openssl/crypto/evp/m_sigver.c:96,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/m_sigver.c:96,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/m_sigver.c:103,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:106,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/m_sigver.c:109,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:112,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:113,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/m_sigver.c:142,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:143,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/crypto/evp/m_sigver.c:147,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/m_sigver.c:150,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/m_sigver.c:153,1
    - Dst: evp_signature_fetch_from_prov
      Src: /src/openssl/crypto/evp/m_sigver.c:155,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/m_sigver.c:175,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/m_sigver.c:176,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/m_sigver.c:179,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:182,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/m_sigver.c:186,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:188,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:192,1
    - Dst: EVP_SIGNATURE*::newctx
      Src: /src/openssl/crypto/evp/m_sigver.c:200,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/m_sigver.c:200,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:202,1
    - Dst: canon_mdname
      Src: /src/openssl/crypto/evp/m_sigver.c:213,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/m_sigver.c:213,1
    - Dst: evp_keymgmt_util_get_deflt_digest_name
      Src: /src/openssl/crypto/evp/m_sigver.c:216,1
    - Dst: canon_mdname
      Src: /src/openssl/crypto/evp/m_sigver.c:219,1
    - Dst: evp_md_ctx_clear_digest
      Src: /src/openssl/crypto/evp/m_sigver.c:228,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:231,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/m_sigver.c:239,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/evp/m_sigver.c:244,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:247,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:251,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:258,1
    - Dst: EVP_SIGNATURE*::digest_verify_init
      Src: /src/openssl/crypto/evp/m_sigver.c:262,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:266,1
    - Dst: EVP_SIGNATURE*::digest_sign_init
      Src: /src/openssl/crypto/evp/m_sigver.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:281,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:282,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/m_sigver.c:287,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:289,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:297,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:298,1
    - Dst: evp_get_digestbyname_ex
      Src: /src/openssl/crypto/evp/m_sigver.c:302,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:305,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/openssl/crypto/evp/m_sigver.c:313,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/evp/m_sigver.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:318,1
    - Dst: EVP_MD_CTX*::pctx::pmeth::verifyctx_init
      Src: /src/openssl/crypto/evp/m_sigver.c:325,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/crypto/evp/m_sigver.c:331,1
    - Dst: EVP_MD_CTX*::pctx::pmeth::signctx_init
      Src: /src/openssl/crypto/evp/m_sigver.c:336,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/crypto/evp/m_sigver.c:342,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/crypto/evp/m_sigver.c:346,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/m_sigver.c:352,1
    - Dst: evp_pkey_ctx_use_cached_data
      Src: /src/openssl/crypto/evp/m_sigver.c:365,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/m_sigver.c:367,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 215
    argCount: 10
    argNames:
    - ctx
    - pctx
    - type
    - mdname
    - libctx
    - props
    - e
    - pkey
    - ver
    - params
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - EVP_MD*
    - char*
    - OSSL_LIB_CTX*
    - char*
    - ENGINE*
    - EVP_PKEY*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 369
    functionName: do_sigver_init
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - canon_mdname
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - evp_md_ctx_free_algctx
    - EVP_SIGNATURE_get0_provider
    - ERR_pop_to_mark
    - EVP_PKEY_CTX_new
    - EVP_MD_CTX_clear_flags
    - EVP_PKEY_get_default_digest_nid
    - ossl_assert
    - evp_pkey_ctx_use_cached_data
    - EVP_PKEY_verify_init
    - EVP_get_digestbynid
    - evp_signature_fetch_from_prov
    - evp_md_ctx_clear_digest
    - EVP_DigestInit_ex
    - evp_pkey_export_to_provider
    - evp_keymgmt_fetch_from_prov
    - EVP_get_digestbyname
    - ERR_clear_last_mark
    - EVP_SIGNATURE*::digest_verify_init
    - EVP_MD_CTX*::pctx::pmeth::verifyctx_init
    - evp_pkey_ctx_is_legacy
    - EVP_PKEY_sign_init
    - EVP_SIGNATURE_free
    - evp_pkey_ctx_free_old_ops
    - ossl_provider_ctx
    - evp_keymgmt_util_get_deflt_digest_name
    - ERR_raise_data
    - EVP_MD_get0_name
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_KEYMGMT_get0_provider
    - EVP_MD_fetch
    - EVP_SIGNATURE*::digest_sign_init
    - evp_get_digestbyname_ex
    - ERR_set_mark
    - EVP_PKEY_CTX_set_signature_md
    - EVP_MD_CTX*::pctx::pmeth::signctx_init
    - EVP_KEYMGMT_get0_name
    - EVP_KEYMGMT_free
    - EVP_SIGNATURE*::newctx
    linkageType: ''
    returnType: int
    signature: "int do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,\n                          const
      EVP_MD *type, const char *mdname,\n                          OSSL_LIB_CTX *libctx,
      const char *props,\n                          ENGINE *e, EVP_PKEY *pkey, int
      ver,\n                          const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sigver_init
      Src: /src/openssl/crypto/evp/m_sigver.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pctx
    - mdname
    - libctx
    - props
    - pkey
    - params
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - char*
    - OSSL_LIB_CTX*
    - char*
    - EVP_PKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: EVP_DigestSignInit_ex
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - do_sigver_init
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestSignInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,\n
      \                         const char *mdname, OSSL_LIB_CTX *libctx,\n                          const
      char *props, EVP_PKEY *pkey,\n                          const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sigver_init
      Src: /src/openssl/crypto/evp/m_sigver.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - pctx
    - type
    - e
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - EVP_MD*
    - ENGINE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: EVP_DigestSignInit
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - do_sigver_init
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,\n                       const
      EVP_MD *type, ENGINE *e, EVP_PKEY *pkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sigver_init
      Src: /src/openssl/crypto/evp/m_sigver.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pctx
    - mdname
    - libctx
    - props
    - pkey
    - params
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - char*
    - OSSL_LIB_CTX*
    - char*
    - EVP_PKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: EVP_DigestVerifyInit_ex
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - do_sigver_init
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestVerifyInit_ex(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,\n
      \                           const char *mdname, OSSL_LIB_CTX *libctx,\n                            const
      char *props, EVP_PKEY *pkey,\n                            const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_sigver_init
      Src: /src/openssl/crypto/evp/m_sigver.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - pctx
    - type
    - e
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX**
    - EVP_MD*
    - ENGINE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: EVP_DigestVerifyInit
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - do_sigver_init
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,\n                         const
      EVP_MD *type, ENGINE *e, EVP_PKEY *pkey)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:411,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:424,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:429,1
    - Dst: EVP_SIGNATURE*::digest_sign_update
      Src: /src/openssl/crypto/evp/m_sigver.c:430,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:431,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:432,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:434,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:440,1
    - Dst: EVP_MD_CTX*::pctx::pmeth::digest_custom
      Src: /src/openssl/crypto/evp/m_sigver.c:445,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/m_sigver.c:450,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - data
    - dsize
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 451
    functionName: EVP_DigestSignUpdate
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_DigestUpdate
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - EVP_SIGNATURE*::digest_sign_update
    - EVP_MD_CTX*::pctx::pmeth::digest_custom
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t
      dsize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:461,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:474,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:479,1
    - Dst: EVP_SIGNATURE*::digest_verify_update
      Src: /src/openssl/crypto/evp/m_sigver.c:480,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:481,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:482,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:484,1
    - Dst: EVP_MD_CTX*::pctx::pmeth::digest_custom
      Src: /src/openssl/crypto/evp/m_sigver.c:491,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/m_sigver.c:496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ctx
    - data
    - dsize
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 497
    functionName: EVP_DigestVerifyUpdate
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_DigestUpdate
    - EVP_SIGNATURE*::digest_verify_update
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - EVP_MD_CTX*::pctx::pmeth::digest_custom
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t
      dsize)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:509,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:522,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/crypto/evp/m_sigver.c:529,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:534,1
    - Dst: EVP_SIGNATURE*::digest_sign_final
      Src: /src/openssl/crypto/evp/m_sigver.c:535,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:537,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:538,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:540,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:549,1
    - Dst: EVP_MD_CTX*::pctx::pmeth::digest_custom
      Src: /src/openssl/crypto/evp/m_sigver.c:555,1
    - Dst: pmeth::signctx
      Src: /src/openssl/crypto/evp/m_sigver.c:561,1
    - Dst: pmeth::signctx
      Src: /src/openssl/crypto/evp/m_sigver.c:563,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/crypto/evp/m_sigver.c:566,1
    - Dst: EVP_PKEY_CTX*::pmeth::signctx
      Src: /src/openssl/crypto/evp/m_sigver.c:569,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:570,1
    - Dst: pmeth::signctx
      Src: /src/openssl/crypto/evp/m_sigver.c:584,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/m_sigver.c:586,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/m_sigver.c:588,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/m_sigver.c:592,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:593,1
    - Dst: EVP_MD_CTX*::pctx::pmeth::signctx
      Src: /src/openssl/crypto/evp/m_sigver.c:597,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/m_sigver.c:600,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:601,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/crypto/evp/m_sigver.c:605,1
    - Dst: pmeth::signctx
      Src: /src/openssl/crypto/evp/m_sigver.c:609,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/m_sigver.c:612,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/crypto/evp/m_sigver.c:614,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    argCount: 3
    argNames:
    - ctx
    - sigret
    - siglen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 619
    functionName: EVP_DigestSignFinal
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_dup
    - ERR_raise
    - EVP_DigestFinal_ex
    - pmeth::signctx
    - EVP_MD_get_size
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - EVP_PKEY_CTX*::pmeth::signctx
    - EVP_MD_CTX_new
    - ERR_clear_last_mark
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX*::pctx::pmeth::digest_custom
    - EVP_MD_CTX_free
    - EVP_MD_CTX*::pctx::pmeth::signctx
    - EVP_MD_CTX_copy_ex
    - EVP_PKEY_sign
    - EVP_SIGNATURE*::digest_sign_final
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,\n
      \                       size_t *siglen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:628,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:633,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:647,1
    - Dst: EVP_SIGNATURE*::digest_sign
      Src: /src/openssl/crypto/evp/m_sigver.c:648,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:650,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:651,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:653,1
    - Dst: EVP_PKEY_CTX*::pmeth::digestsign
      Src: /src/openssl/crypto/evp/m_sigver.c:659,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/crypto/evp/m_sigver.c:662,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/evp/m_sigver.c:664,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - ctx
    - sigret
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 665
    functionName: EVP_DigestSign
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - EVP_DigestSignUpdate
    - EVP_PKEY_CTX*::pmeth::digestsign
    - EVP_DigestSignFinal
    - ERR_clear_last_mark
    - EVP_SIGNATURE*::digest_sign
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestSign(EVP_MD_CTX *ctx, unsigned char *sigret, size_t
      *siglen,\n                   const unsigned char *tbs, size_t tbslen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:679,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:692,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/crypto/evp/m_sigver.c:699,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:704,1
    - Dst: EVP_SIGNATURE*::digest_verify_final
      Src: /src/openssl/crypto/evp/m_sigver.c:705,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:706,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:707,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:709,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:713,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:718,1
    - Dst: EVP_MD_CTX*::pctx::pmeth::digest_custom
      Src: /src/openssl/crypto/evp/m_sigver.c:724,1
    - Dst: pmeth::verifyctx
      Src: /src/openssl/crypto/evp/m_sigver.c:734,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/m_sigver.c:737,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/m_sigver.c:739,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/m_sigver.c:742,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:743,1
    - Dst: EVP_MD_CTX*::pctx::pmeth::verifyctx
      Src: /src/openssl/crypto/evp/m_sigver.c:747,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/m_sigver.c:750,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/m_sigver.c:751,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/crypto/evp/m_sigver.c:755,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 3
    argNames:
    - ctx
    - sig
    - siglen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 756
    functionName: EVP_DigestVerifyFinal
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - pmeth::verifyctx
    - EVP_PKEY_CTX_dup
    - ERR_raise
    - EVP_DigestFinal_ex
    - EVP_SIGNATURE*::digest_verify_final
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX*::pctx::pmeth::digest_custom
    - EVP_PKEY_verify
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX*::pctx::pmeth::verifyctx
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig,\n
      \                         size_t siglen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:764,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/m_sigver.c:769,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:782,1
    - Dst: EVP_SIGNATURE*::digest_verify
      Src: /src/openssl/crypto/evp/m_sigver.c:783,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:784,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/m_sigver.c:785,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/m_sigver.c:787,1
    - Dst: EVP_PKEY_CTX*::pmeth::digestverify
      Src: /src/openssl/crypto/evp/m_sigver.c:793,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/crypto/evp/m_sigver.c:795,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/crypto/evp/m_sigver.c:797,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - ctx
    - sigret
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 798
    functionName: EVP_DigestVerify
    functionSourceFile: /src/openssl/crypto/evp/m_sigver.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_DigestVerifyFinal
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - EVP_PKEY_CTX*::pmeth::digestverify
    - EVP_DigestVerifyUpdate
    - ERR_clear_last_mark
    - EVP_SIGNATURE*::digest_verify
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestVerify(EVP_MD_CTX *ctx, const unsigned char *sigret,\n
      \                    size_t siglen, const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: PKCS5_PBE_add
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS5_PBE_add(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_name
      Src: /src/openssl/crypto/evp/p5_crpt.c:42,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt.c:47,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/evp/p5_crpt.c:51,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/evp/p5_crpt.c:51,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt.c:53,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/p5_crpt.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt.c:59,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/evp/p5_crpt.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt.c:64,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/evp/p5_crpt.c:71,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/p5_crpt.c:78,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/p5_crpt.c:80,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/evp/p5_crpt.c:84,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/evp/p5_crpt.c:85,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/evp/p5_crpt.c:86,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p5_crpt.c:89,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p5_crpt.c:91,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/p5_crpt.c:93,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p5_crpt.c:94,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p5_crpt.c:96,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/evp/p5_crpt.c:97,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/p5_crpt.c:99,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/p5_crpt.c:100,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/p5_crpt.c:101,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p5_crpt.c:103,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p5_crpt.c:104,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p5_crpt.c:105,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/evp/p5_crpt.c:108,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/evp/p5_crpt.c:109,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 9
    argNames:
    - cctx
    - pass
    - passlen
    - param
    - cipher
    - md
    - en_de
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 111
    functionName: PKCS5_PBE_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - memcpy
    - strlen
    - EVP_MD_name
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_get_key_length
    - EVP_KDF_fetch
    - EVP_KDF_CTX_new
    - EVP_CipherInit_ex
    - PBEPARAM_free
    - EVP_KDF_derive
    - EVP_MD_get_size
    - EVP_KDF_free
    - ASN1_ITEM_rptr
    - OSSL_PARAM_construct_int
    - ASN1_TYPE_unpack_sequence
    - EVP_CIPHER_get_iv_length
    - OPENSSL_cleanse
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: "int PKCS5_PBE_keyivgen_ex(EVP_CIPHER_CTX *cctx, const char *pass,
      int passlen,\n                          ASN1_TYPE *param, const EVP_CIPHER *cipher,\n
      \                         const EVP_MD *md, int en_de, OSSL_LIB_CTX *libctx,\n
      \                         const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_PBE_keyivgen_ex
      Src: /src/openssl/crypto/evp/p5_crpt.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - cctx
    - pass
    - passlen
    - param
    - cipher
    - md
    - en_de
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: PKCS5_PBE_keyivgen
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt.c
    functionUses: 0
    functionsReached:
    - PKCS5_PBE_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int
      passlen,\n                       ASN1_TYPE *param, const EVP_CIPHER *cipher,\n
      \                      const EVP_MD *md, int en_de)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/kdf_meth.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vkdf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: evp_kdf_up_ref
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int evp_kdf_up_ref(void *vkdf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/kdf_meth.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_meth.c:40,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/kdf_meth.c:41,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/kdf_meth.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_meth.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vkdf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: evp_kdf_free
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void evp_kdf_free(void *vkdf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/kdf_meth.c:50,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/kdf_meth.c:51,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_meth.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: evp_kdf_new
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *evp_kdf_new(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: evp_kdf_new
      Src: /src/openssl/crypto/evp/kdf_meth.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_meth.c:67,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/kdf_meth.c:71,1
    - Dst: OSSL_FUNC_kdf_newctx
      Src: /src/openssl/crypto/evp/kdf_meth.c:81,1
    - Dst: OSSL_FUNC_kdf_dupctx
      Src: /src/openssl/crypto/evp/kdf_meth.c:87,1
    - Dst: OSSL_FUNC_kdf_freectx
      Src: /src/openssl/crypto/evp/kdf_meth.c:92,1
    - Dst: OSSL_FUNC_kdf_reset
      Src: /src/openssl/crypto/evp/kdf_meth.c:98,1
    - Dst: OSSL_FUNC_kdf_derive
      Src: /src/openssl/crypto/evp/kdf_meth.c:103,1
    - Dst: OSSL_FUNC_kdf_gettable_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:110,1
    - Dst: OSSL_FUNC_kdf_gettable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:116,1
    - Dst: OSSL_FUNC_kdf_settable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:122,1
    - Dst: OSSL_FUNC_kdf_get_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:127,1
    - Dst: OSSL_FUNC_kdf_get_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:132,1
    - Dst: OSSL_FUNC_kdf_set_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_meth.c:147,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/kdf_meth.c:150,1
    - Dst: evp_kdf_free
      Src: /src/openssl/crypto/evp/kdf_meth.c:158,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 86
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 160
    functionName: evp_kdf_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - ossl_algorithm_get1_first_name
    - evp_kdf_new
    - OSSL_FUNC_kdf_freectx
    - ERR_raise
    - OSSL_FUNC_kdf_get_params
    - OSSL_FUNC_kdf_reset
    - ossl_provider_up_ref
    - OSSL_FUNC_kdf_newctx
    - OSSL_FUNC_kdf_derive
    - OSSL_FUNC_kdf_gettable_params
    - OSSL_FUNC_kdf_set_ctx_params
    - OSSL_FUNC_kdf_dupctx
    - OSSL_FUNC_kdf_get_ctx_params
    - OSSL_FUNC_kdf_gettable_ctx_params
    - OSSL_FUNC_kdf_settable_ctx_params
    - evp_kdf_free
    linkageType: ''
    returnType: void
    signature: "void *evp_kdf_from_algorithm(int name_id,\n                                    const
      OSSL_ALGORITHM *algodef,\n                                    OSSL_PROVIDER
      *prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/kdf_meth.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: EVP_KDF_fetch
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 5
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_KDF
    signature: "EVP_KDF *EVP_KDF_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,\n
      \                      const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_kdf_up_ref
      Src: /src/openssl/crypto/evp/kdf_meth.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: EVP_KDF_up_ref
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - evp_kdf_up_ref
    linkageType: ''
    returnType: int
    signature: int EVP_KDF_up_ref(EVP_KDF *kdf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_kdf_free
      Src: /src/openssl/crypto/evp/kdf_meth.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: EVP_KDF_free
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 5
    functionsReached:
    - evp_kdf_free
    linkageType: ''
    returnType: void
    signature: void EVP_KDF_free(EVP_KDF *kdf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF*::gettable_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:184,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_meth.c:184,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: EVP_KDF_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    - EVP_KDF*::gettable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KDF_gettable_params(const EVP_KDF *kdf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_meth.c:193,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:193,1
    - Dst: EVP_KDF*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: EVP_KDF_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    - EVP_KDF*::gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KDF_gettable_ctx_params(const EVP_KDF *kdf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_meth.c:203,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:203,1
    - Dst: EVP_KDF*::settable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: EVP_KDF_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_get0_provider
    - EVP_KDF*::settable_ctx_params
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KDF_settable_ctx_params(const EVP_KDF *kdf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_meth.c:213,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:213,1
    - Dst: EVP_KDF_CTX*::meth::gettable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: EVP_KDF_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    - EVP_KDF_CTX*::meth::gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KDF_CTX_gettable_params(EVP_KDF_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_meth.c:223,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/crypto/evp/kdf_meth.c:223,1
    - Dst: EVP_KDF_CTX*::meth::settable_ctx_params
      Src: /src/openssl/crypto/evp/kdf_meth.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: EVP_KDF_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_get0_provider
    - ossl_provider_ctx
    - EVP_KDF_CTX*::meth::settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KDF_CTX_settable_params(EVP_KDF_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/kdf_meth.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: EVP_KDF_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/kdf_meth.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_KDF_do_all_provided(OSSL_LIB_CTX *libctx,\n                             void
      (*fn)(EVP_KDF *kdf, void *arg),\n                             void *arg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/p_open.c:28,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/evp/p_open.c:29,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/crypto/evp/p_open.c:36,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_open.c:37,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/crypto/evp/p_open.c:41,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/evp/p_open.c:42,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/p_open.c:45,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/evp/p_open.c:48,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/crypto/evp/p_open.c:51,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/evp/p_open.c:52,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_open.c:57,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/p_open.c:58,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 6
    argNames:
    - ctx
    - type
    - ek
    - ekl
    - iv
    - priv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - int
    - unsigned char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 60
    functionName: EVP_OpenInit
    functionSourceFile: /src/openssl/crypto/evp/p_open.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decrypt
    - ERR_raise
    - EVP_PKEY_decrypt_init
    - OPENSSL_clear_free
    - EVP_DecryptInit_ex
    - EVP_PKEY_CTX_new
    - EVP_CIPHER_CTX_reset
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_CTX_set_key_length
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,\n                 const
      unsigned char *ek, int ekl, const unsigned char *iv,\n                 EVP_PKEY
      *priv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/evp/p_open.c:66,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/evp/p_open.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: EVP_OpenFinal
    functionSourceFile: /src/openssl/crypto/evp/p_open.c
    functionUses: 0
    functionsReached:
    - EVP_DecryptInit_ex
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/openssl/crypto/evp/p_sign.c:28,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/p_sign.c:29,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/p_sign.c:33,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_sign.c:36,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/p_sign.c:39,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/p_sign.c:41,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/p_sign.c:43,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/p_sign.c:44,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/evp/p_sign.c:49,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/p_sign.c:51,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/crypto/evp/p_sign.c:54,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/crypto/evp/p_sign.c:56,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/p_sign.c:56,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/crypto/evp/p_sign.c:58,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_sign.c:63,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 6
    argNames:
    - ctx
    - sigret
    - siglen
    - pkey
    - libctx
    - propq
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 65
    functionName: EVP_SignFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/p_sign.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_sign_init
    - ERR_raise
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_get0_md
    - EVP_MD_CTX_test_flags
    - EVP_MD_CTX_new
    - EVP_PKEY_CTX_set_signature_md
    - EVP_MD_CTX_free
    - EVP_PKEY_get_size
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_CTX_copy_ex
    - EVP_PKEY_sign
    linkageType: ''
    returnType: int
    signature: "int EVP_SignFinal_ex(EVP_MD_CTX *ctx, unsigned char *sigret,\n                     unsigned
      int *siglen, EVP_PKEY *pkey, OSSL_LIB_CTX *libctx,\n                     const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SignFinal_ex
      Src: /src/openssl/crypto/evp/p_sign.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - sigret
    - siglen
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: EVP_SignFinal
    functionSourceFile: /src/openssl/crypto/evp/p_sign.c
    functionUses: 1
    functionsReached:
    - EVP_SignFinal_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,\n                  unsigned
      int *siglen, EVP_PKEY *pkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 164
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:40,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:45,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - user_key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char[]
    - unsigned char[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: chacha_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - CHACHA_U8TOU32
    - data
    linkageType: ''
    returnType: int
    signature: "int chacha_init_key(EVP_CIPHER_CTX *ctx,\n                           const
      unsigned char user_key[CHACHA_KEY_SIZE],\n                           const unsigned
      char iv[CHACHA_CTR_SIZE], int enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:61,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:107,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:117,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - ctx
    - out
    - inp
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 126
    functionName: chacha_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - data
    - memset
    - ChaCha20_ctr32
    linkageType: ''
    returnType: int
    signature: "int chacha_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                         const
      unsigned char *inp, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: EVP_chacha20
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_chacha20(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: aead_data
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aead_data(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: POLY1305_ctx
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLY1305_ctx(actx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:171,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:187,1
    - Dst: chacha_init_key
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:190,1
    - Dst: chacha_init_key
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 200
    functionName: chacha20_poly1305_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - memcpy
    - aead_data
    - chacha_init_key
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_init_key(EVP_CIPHER_CTX *ctx,\n                                      const
      unsigned char *inkey,\n                                      const unsigned
      char *iv, int enc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:217,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:232,1
    - Dst: Poly1305_Init
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:234,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:234,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:236,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:242,1
    - Dst: xor128_encrypt_n_pad
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:243,1
    - Dst: xor128_decrypt_n_pad
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:245,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:257,1
    - Dst: Poly1305_Init
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:259,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:259,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:261,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:266,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:282,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:289,1
    - Dst: Poly1305_Init
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:291,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:291,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:294,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:294,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:300,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:301,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:302,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:302,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:304,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:304,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:305,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:311,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 72
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 312
    functionName: chacha20_poly1305_tls_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - memset
    - Poly1305_Init
    - ChaCha20_ctr32
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - xor128_encrypt_n_pad
    - Poly1305_Update
    - aead_data
    - POLY1305_ctx
    - xor128_decrypt_n_pad
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out,\n                                        const unsigned char *in, size_t
      len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:367,1
    - Dst: chacha20_poly1305_tls_cipher
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:373,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:376,1
    - Dst: Poly1305_Init
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:378,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:378,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:384,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:384,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:393,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:393,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:400,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:400,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:411,1
    - Dst: chacha_cipher
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:412,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:413,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:413,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:418,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:418,1
    - Dst: chacha_cipher
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:419,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:433,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:433,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:439,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:439,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:443,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:443,1
    - Dst: Poly1305_Update
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:464,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:464,1
    - Dst: Poly1305_Final
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:466,1
    - Dst: POLY1305_ctx
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:466,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:467,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:471,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:472,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:474,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:475,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:480,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:481,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 97
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 486
    functionName: chacha20_poly1305_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - chacha20_poly1305_tls_cipher
    - memset
    - Poly1305_Init
    - ChaCha20_ctr32
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - CRYPTO_memcmp
    - Poly1305_Update
    - aead_data
    - Poly1305_Final
    - POLY1305_ctx
    - chacha_cipher
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                   const unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:490,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:492,1
    - Dst: Poly1305_ctx_size
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: chacha20_poly1305_cleanup
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - Poly1305_ctx_size
    - OPENSSL_cleanse
    - aead_data
    linkageType: ''
    returnType: int
    signature: int chacha20_poly1305_cleanup(EVP_CIPHER_CTX *ctx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: aead_data
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:499,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:505,1
    - Dst: Poly1305_ctx_size
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:507,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:517,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:525,1
    - Dst: Poly1305_ctx_size
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:525,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:527,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:547,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:549,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:551,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:558,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:565,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:567,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:577,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:581,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:594,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/crypto/evp/e_chacha20_poly1305.c:595,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 80
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 608
    functionName: chacha20_poly1305_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - Poly1305_ctx_size
    - memset
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - OPENSSL_memdup
    - CHACHA_U8TOU32
    - aead_data
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,\n
      \                                 void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 633
    functionName: EVP_chacha20_poly1305
    functionSourceFile: /src/openssl/crypto/evp/e_chacha20_poly1305.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_chacha20_poly1305(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nm
    - ','
    - fn
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: IMPLEMENT_LEGACY_EVP_MD_METH_SHA3
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_LEGACY_EVP_MD_METH_SHA3(nm, fn, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nm
    - ','
    - fn
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: IMPLEMENT_LEGACY_EVP_MD_METH_SHAKE
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_LEGACY_EVP_MD_METH_SHAKE(nm, fn, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sha1_ctrl
      Src: /src/openssl/crypto/evp/legacy_sha.c:69,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/crypto/evp/legacy_sha.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: sha1_int_ctrl
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - ossl_sha1_ctrl
    linkageType: ''
    returnType: int
    signature: int sha1_int_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - evp_ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: shake_ctrl
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int shake_ctrl(EVP_MD_CTX *evp_ctx, int cmd, int p1, void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: EVP_sha1
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: EVP_sha224
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_sha224(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: EVP_sha256
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: EVP_sha512_224
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_sha512_224(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: EVP_sha512_256
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_sha512_256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: EVP_sha384
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_sha384(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: EVP_sha512
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_sha512(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: EVP_MD_SHA3
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_SHA3(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 226
    functionName: EVP_MD_SHAKE
    functionSourceFile: /src/openssl/crypto/evp/legacy_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_SHAKE(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/exchange.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: evp_keyexch_free
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - EVP_KEYEXCH_free
    linkageType: ''
    returnType: void
    signature: void evp_keyexch_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYEXCH_up_ref
      Src: /src/openssl/crypto/evp/exchange.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: evp_keyexch_up_ref
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - EVP_KEYEXCH_up_ref
    linkageType: ''
    returnType: int
    signature: int evp_keyexch_up_ref(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/exchange.c:33,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/exchange.c:38,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/exchange.c:39,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/exchange.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/exchange.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: evp_keyexch_new
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - ossl_provider_up_ref
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: EVP_KEYEXCH
    signature: EVP_KEYEXCH *evp_keyexch_new(OSSL_PROVIDER *prov)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: evp_keyexch_new
      Src: /src/openssl/crypto/evp/exchange.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:58,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/exchange.c:63,1
    - Dst: OSSL_FUNC_keyexch_newctx
      Src: /src/openssl/crypto/evp/exchange.c:72,1
    - Dst: OSSL_FUNC_keyexch_init
      Src: /src/openssl/crypto/evp/exchange.c:78,1
    - Dst: OSSL_FUNC_keyexch_set_peer
      Src: /src/openssl/crypto/evp/exchange.c:84,1
    - Dst: OSSL_FUNC_keyexch_derive
      Src: /src/openssl/crypto/evp/exchange.c:89,1
    - Dst: OSSL_FUNC_keyexch_freectx
      Src: /src/openssl/crypto/evp/exchange.c:95,1
    - Dst: OSSL_FUNC_keyexch_dupctx
      Src: /src/openssl/crypto/evp/exchange.c:101,1
    - Dst: OSSL_FUNC_keyexch_get_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:106,1
    - Dst: OSSL_FUNC_keyexch_gettable_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:113,1
    - Dst: OSSL_FUNC_keyexch_set_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:119,1
    - Dst: OSSL_FUNC_keyexch_settable_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:142,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/exchange.c:149,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 83
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 151
    functionName: evp_keyexch_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - evp_keyexch_new
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_keyexch_init
    - OSSL_FUNC_keyexch_set_peer
    - ERR_raise
    - OSSL_FUNC_keyexch_derive
    - OSSL_FUNC_keyexch_set_ctx_params
    - OSSL_FUNC_keyexch_dupctx
    - OSSL_FUNC_keyexch_get_ctx_params
    - EVP_KEYEXCH_free
    - OSSL_FUNC_keyexch_freectx
    - OSSL_FUNC_keyexch_gettable_ctx_params
    - OSSL_FUNC_keyexch_newctx
    - OSSL_FUNC_keyexch_settable_ctx_params
    linkageType: ''
    returnType: void
    signature: "void *evp_keyexch_from_algorithm(int name_id,\n                                        const
      OSSL_ALGORITHM *algodef,\n                                        OSSL_PROVIDER
      *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/exchange.c:159,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/exchange.c:162,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/exchange.c:163,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/exchange.c:164,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/exchange.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: EVP_KEYEXCH_free
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void EVP_KEYEXCH_free(EVP_KEYEXCH *exchange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/exchange.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: EVP_KEYEXCH_up_ref
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 1
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_KEYEXCH_up_ref(EVP_KEYEXCH *exchange)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exchange
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: EVP_KEYEXCH_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_KEYEXCH_get0_provider(const EVP_KEYEXCH *exchange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/exchange.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: EVP_KEYEXCH_fetch
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_KEYEXCH
    signature: "EVP_KEYEXCH *EVP_KEYEXCH_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,\n
      \                              const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/exchange.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: evp_keyexch_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_KEYEXCH
    signature: "EVP_KEYEXCH *evp_keyexch_fetch_from_prov(OSSL_PROVIDER *prov,\n                                         const
      char *algorithm,\n                                         const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_derive_init_ex
      Src: /src/openssl/crypto/evp/exchange.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: EVP_PKEY_derive_init
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive_init_ex
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:217,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/exchange.c:221,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/exchange.c:224,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/exchange.c:226,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/exchange.c:234,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/openssl/crypto/evp/exchange.c:237,1
    - Dst: evp_keymgmt_newdata
      Src: /src/openssl/crypto/evp/exchange.c:238,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/exchange.c:239,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/exchange.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:241,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/exchange.c:250,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/exchange.c:252,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:253,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/exchange.c:256,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/exchange.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:260,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/exchange.c:290,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:291,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/openssl/crypto/evp/exchange.c:296,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:298,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:301,1
    - Dst: evp_keyexch_fetch_from_prov
      Src: /src/openssl/crypto/evp/exchange.c:303,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/exchange.c:322,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/exchange.c:323,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/exchange.c:326,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:329,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/exchange.c:333,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/exchange.c:337,1
    - Dst: EVP_KEYEXCH*::newctx
      Src: /src/openssl/crypto/evp/exchange.c:346,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/exchange.c:346,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:349,1
    - Dst: EVP_KEYEXCH*::init
      Src: /src/openssl/crypto/evp/exchange.c:352,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:354,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/exchange.c:357,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:359,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/exchange.c:367,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:373,1
    - Dst: EVP_PKEY_CTX*::pmeth::derive_init
      Src: /src/openssl/crypto/evp/exchange.c:379,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:382,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 385
    functionName: EVP_PKEY_derive_init_ex
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 1
    functionsReached:
    - EVP_KEYEXCH*::init
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - ERR_pop_to_mark
    - EVP_KEYEXCH_free
    - EVP_PKEY_set_type_by_keymgmt
    - ossl_assert
    - evp_keymgmt_newdata
    - EVP_PKEY_free
    - evp_keyexch_fetch_from_prov
    - evp_pkey_export_to_provider
    - evp_keymgmt_fetch_from_prov
    - EVP_KEYEXCH_fetch
    - ERR_clear_last_mark
    - evp_pkey_ctx_is_legacy
    - EVP_PKEY_CTX*::pmeth::derive_init
    - EVP_PKEY_new
    - evp_pkey_ctx_free_old_ops
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYEXCH_get0_provider
    - ERR_set_mark
    - EVP_KEYMGMT_get0_name
    - EVP_KEYMGMT_free
    - EVP_KEYEXCH*::newctx
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_derive_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:396,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/exchange.c:400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:404,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/exchange.c:409,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/crypto/evp/exchange.c:412,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/exchange.c:413,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/exchange.c:428,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:429,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/exchange.c:430,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/exchange.c:435,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/exchange.c:437,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::set_peer
      Src: /src/openssl/crypto/evp/exchange.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:465,1
    - Dst: EVP_PKEY_CTX*::pmeth::ctrl
      Src: /src/openssl/crypto/evp/exchange.c:469,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:483,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/crypto/evp/exchange.c:494,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/crypto/evp/exchange.c:495,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:496,1
    - Dst: EVP_PKEY_CTX*::pmeth::ctrl
      Src: /src/openssl/crypto/evp/exchange.c:500,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/evp/exchange.c:506,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/exchange.c:509,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 3
    argNames:
    - ctx
    - peer
    - validate_peer
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 513
    functionName: EVP_PKEY_derive_set_peer_ex
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_KEYEXCH_get0_provider
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_CTX*::pmeth::ctrl
    - EVP_PKEY_free
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - evp_keymgmt_fetch_from_prov
    - evp_pkey_export_to_provider
    - EVP_KEYMGMT_get0_name
    - EVP_PKEY_CTX*::op::kex::exchange::set_peer
    - EVP_PKEY_parameters_eq
    - EVP_PKEY_up_ref
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_derive_set_peer_ex(EVP_PKEY_CTX *ctx, EVP_PKEY *peer,\n
      \                               int validate_peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_derive_set_peer_ex
      Src: /src/openssl/crypto/evp/exchange.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - peer
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: EVP_PKEY_derive_set_peer
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive_set_peer_ex
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:525,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/exchange.c:529,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:530,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::derive
      Src: /src/openssl/crypto/evp/exchange.c:537,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/exchange.c:543,1
    - Dst: M_check_autoarg
      Src: /src/openssl/crypto/evp/exchange.c:547,1
    - Dst: EVP_PKEY_CTX*::pmeth::derive
      Src: /src/openssl/crypto/evp/exchange.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - key
    - pkeylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 549
    functionName: EVP_PKEY_derive
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    - EVP_PKEY_CTX*::pmeth::derive
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::kex::exchange::derive
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *pkeylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: evp_keyexch_get_number
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_keyexch_get_number(const EVP_KEYEXCH *keyexch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: EVP_KEYEXCH_get0_name
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_KEYEXCH_get0_name(const EVP_KEYEXCH *keyexch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: EVP_KEYEXCH_get0_description
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_KEYEXCH_get0_description(const EVP_KEYEXCH *keyexch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/exchange.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - keyexch
    - name
    argTypes:
    - EVP_KEYEXCH*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: EVP_KEYEXCH_is_a
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_KEYEXCH_is_a(const EVP_KEYEXCH *keyexch, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/exchange.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 581
    functionName: EVP_KEYEXCH_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_KEYEXCH_do_all_provided(OSSL_LIB_CTX *libctx,\n                                 void
      (*fn)(EVP_KEYEXCH *keyexch, void *arg),\n                                 void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/exchange.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keyexch
    - data
    argTypes:
    - EVP_KEYEXCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 591
    functionName: EVP_KEYEXCH_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_KEYEXCH_names_do_all(const EVP_KEYEXCH *keyexch,\n                             void
      (*fn)(const char *name, void *data),\n                             void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/exchange.c:600,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:600,1
    - Dst: EVP_KEYEXCH*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 602
    functionName: EVP_KEYEXCH_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - EVP_KEYEXCH*::gettable_ctx_params
    - ossl_provider_ctx
    - EVP_KEYEXCH_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KEYEXCH_gettable_ctx_params(const EVP_KEYEXCH *keyexch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/exchange.c:610,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/exchange.c:610,1
    - Dst: EVP_KEYEXCH*::settable_ctx_params
      Src: /src/openssl/crypto/evp/exchange.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - keyexch
    argTypes:
    - EVP_KEYEXCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: EVP_KEYEXCH_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/exchange.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYEXCH*::settable_ctx_params
    - EVP_KEYEXCH_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KEYEXCH_settable_ctx_params(const EVP_KEYEXCH *keyexch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_bf_cfb64
      Src: /src/openssl/crypto/evp/e_old.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: EVP_bf_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_bf_cfb64
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_bf_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_des_cfb64
      Src: /src/openssl/crypto/evp/e_old.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: EVP_des_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_des_cfb64
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_des_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_des_ede3_cfb64
      Src: /src/openssl/crypto/evp/e_old.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: EVP_des_ede3_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_des_ede3_cfb64
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_des_ede3_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_des_ede_cfb64
      Src: /src/openssl/crypto/evp/e_old.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: EVP_des_ede_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_des_ede_cfb64
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_des_ede_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_idea_cfb64
      Src: /src/openssl/crypto/evp/e_old.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: EVP_idea_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_idea_cfb64
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_idea_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_rc2_cfb64
      Src: /src/openssl/crypto/evp/e_old.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: EVP_rc2_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_rc2_cfb64
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_rc2_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_cast5_cfb64
      Src: /src/openssl/crypto/evp/e_old.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: EVP_cast5_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_cast5_cfb64
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_cast5_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_rc5_32_12_16_cfb64
      Src: /src/openssl/crypto/evp/e_old.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: EVP_rc5_32_12_16_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_rc5_32_12_16_cfb64
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_rc5_32_12_16_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_cfb128
      Src: /src/openssl/crypto/evp/e_old.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: EVP_aes_128_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_aes_128_cfb128
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_128_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_192_cfb128
      Src: /src/openssl/crypto/evp/e_old.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: EVP_aes_192_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_aes_192_cfb128
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_192_cfb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_256_cfb128
      Src: /src/openssl/crypto/evp/e_old.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: EVP_aes_256_cfb
    functionSourceFile: /src/openssl/crypto/evp/e_old.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_cfb128
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_256_cfb(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX*::cipher::freectx
      Src: /src/openssl/crypto/evp/evp_enc.c:43,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:47,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/evp_enc.c:48,1
    - Dst: EVP_CIPHER_CTX*::cipher::cleanup
      Src: /src/openssl/crypto/evp/evp_enc.c:57,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/evp_enc.c:61,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_enc.c:63,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/evp_enc.c:65,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/evp_enc.c:67,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 70
    functionName: EVP_CIPHER_CTX_reset
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::freectx
    - memset
    - EVP_CIPHER_CTX*::cipher::cleanup
    - OPENSSL_free
    - EVP_CIPHER_free
    - ENGINE_finish
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/evp_enc.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: EVP_CIPHER_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 10
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:88,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_enc.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: EVP_CIPHER_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 10
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:118,1
    - Dst: ENGINE_get_cipher_engine
      Src: /src/openssl/crypto/evp/evp_enc.c:139,1
    - Dst: defined
      Src: /src/openssl/crypto/evp/evp_enc.c:147,1
    - Dst: defined
      Src: /src/openssl/crypto/evp/evp_enc.c:147,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:156,1
    - Dst: EVP_CIPHER_CTX*::cipher::cleanup
      Src: /src/openssl/crypto/evp/evp_enc.c:165,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/evp_enc.c:167,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:189,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/evp/evp_enc.c:193,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_enc.c:195,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:201,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:207,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:213,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:216,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/crypto/evp/evp_enc.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:224,1
    - Dst: EVP_CIPHER_CTX*::cipher::newctx
      Src: /src/openssl/crypto/evp/evp_enc.c:229,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:231,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/crypto/evp/evp_enc.c:241,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:260,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:262,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:268,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:270,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_enc.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:274,1
    - Dst: EVP_CIPHER_CTX*::cipher::einit_skey
      Src: /src/openssl/crypto/evp/evp_enc.c:291,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:294,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:297,1
    - Dst: EVP_CIPHER_CTX*::cipher::einit
      Src: /src/openssl/crypto/evp/evp_enc.c:301,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:304,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:307,1
    - Dst: EVP_CIPHER_CTX*::cipher::dinit_skey
      Src: /src/openssl/crypto/evp/evp_enc.c:317,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:323,1
    - Dst: EVP_CIPHER_CTX*::cipher::dinit
      Src: /src/openssl/crypto/evp/evp_enc.c:327,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:330,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:333,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:347,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/evp/evp_enc.c:354,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:355,1
    - Dst: ENGINE_get_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:363,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:371,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/evp_enc.c:388,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/evp_enc.c:400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:402,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:414,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/evp_enc.c:419,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:420,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/evp/evp_enc.c:424,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:424,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/evp_enc.c:426,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:439,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:441,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:445,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:446,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_enc.c:453,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:455,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:458,1
    - Dst: EVP_CIPHER_CTX*::cipher::init
      Src: /src/openssl/crypto/evp/evp_enc.c:468,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 211
    argCount: 8
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    - enc
    - is_pipeline
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    - int
    - uint8_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 475
    functionName: evp_cipher_init_internal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX*::cipher::dinit
    - ERR_raise
    - EVP_CIPHER_CTX*::cipher::init
    - EVP_CIPHER_CTX_set_padding
    - memcpy
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_can_pipeline
    - ossl_assert
    - EVP_CIPHER_CTX_get_iv_length
    - OPENSSL_zalloc
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_free
    - EVP_CIPHER_get_flags
    - ENGINE_get_cipher
    - ENGINE_init
    - OBJ_nid2sn
    - ossl_provider_ctx
    - OPENSSL_assert
    - EVP_CIPHER_CTX*::cipher::einit
    - EVP_CIPHER_CTX*::cipher::cleanup
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX*::cipher::dinit_skey
    - EVP_CIPHER_CTX*::cipher::einit_skey
    - defined
    - EVP_CIPHER_CTX_get_mode
    - OPENSSL_clear_free
    - ENGINE_get_cipher_engine
    - EVP_CIPHER_up_ref
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_CTX*::cipher::newctx
    linkageType: ''
    returnType: int
    signature: "int evp_cipher_init_internal(EVP_CIPHER_CTX *ctx,\n                                    const
      EVP_CIPHER *cipher,\n                                    ENGINE *impl, const
      unsigned char *key,\n                                    const unsigned char
      *iv, int enc,\n                                    uint8_t is_pipeline,\n                                    const
      OSSL_PARAM params[])"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:500,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:511,1
    - Dst: EVP_CIPHER_CTX*::cipher::cleanup
      Src: /src/openssl/crypto/evp/evp_enc.c:519,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/evp_enc.c:521,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:529,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:539,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:545,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:548,1
    - Dst: EVP_CIPHER_CTX*::cipher::newctx
      Src: /src/openssl/crypto/evp/evp_enc.c:555,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:555,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:557,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:563,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/crypto/evp/evp_enc.c:572,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/crypto/evp/evp_enc.c:589,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:590,1
    - Dst: EVP_CIPHER_CTX*::cipher::einit
      Src: /src/openssl/crypto/evp/evp_enc.c:594,1
    - Dst: EVP_CIPHER_CTX*::cipher::einit_skey
      Src: /src/openssl/crypto/evp/evp_enc.c:597,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/crypto/evp/evp_enc.c:610,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:611,1
    - Dst: EVP_CIPHER_CTX*::cipher::dinit
      Src: /src/openssl/crypto/evp/evp_enc.c:615,1
    - Dst: EVP_CIPHER_CTX*::cipher::dinit_skey
      Src: /src/openssl/crypto/evp/evp_enc.c:618,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 77
    argCount: 7
    argNames:
    - ctx
    - cipher
    - skey
    - iv
    - iv_len
    - enc
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - EVP_SKEY*
    - unsigned char*
    - size_t
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 625
    functionName: evp_cipher_init_skey_internal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::dinit
    - ERR_raise
    - EVP_SKEY_get0_raw_key
    - OPENSSL_clear_free
    - EVP_CIPHER_up_ref
    - ossl_provider_ctx
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_CTX*::cipher::einit
    - EVP_CIPHER_CTX*::cipher::cleanup
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX*::cipher::dinit_skey
    - EVP_CIPHER_CTX*::cipher::einit_skey
    - EVP_CIPHER_CTX*::cipher::newctx
    linkageType: ''
    returnType: int
    signature: "int evp_cipher_init_skey_internal(EVP_CIPHER_CTX *ctx,\n                                         const
      EVP_CIPHER *cipher,\n                                         const EVP_SKEY
      *skey,\n                                         const unsigned char *iv, size_t
      iv_len,\n                                         int enc, const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_init_skey_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - cipher
    - skey
    - iv
    - iv_len
    - enc
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - EVP_SKEY*
    - unsigned char*
    - size_t
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: EVP_CipherInit_SKEY
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - evp_cipher_init_skey_internal
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherInit_SKEY(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                       EVP_SKEY *skey, const unsigned char *iv, size_t iv_len,\n
      \                       int enc, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - enc
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: EVP_CipherInit_ex2
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - evp_cipher_init_internal
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                      const unsigned char *key, const unsigned char *iv,\n
      \                      int enc, const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:645,1
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: EVP_CipherInit
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_reset
    - evp_cipher_init_internal
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                  const unsigned char *key, const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 4
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: EVP_CipherInit_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 3
    functionsReached:
    - evp_cipher_init_internal
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                     ENGINE *impl, const unsigned char *key,\n                      const
      unsigned char *iv, int enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:662,1
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:668,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:673,1
    - Dst: EVP_CIPHER_CTX*::cipher::p_einit
      Src: /src/openssl/crypto/evp/evp_enc.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - ctx
    - cipher
    - key
    - keylen
    - numpipes
    - iv
    - ivlen
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - size_t
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 656
    functionDepth: 4
    functionLinenumber: 656
    functionLinenumberEnd: 684
    functionName: EVP_CipherPipelineEncryptInit
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::p_einit
    - ERR_raise
    - evp_cipher_init_internal
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherPipelineEncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER
      *cipher,\n                                  const unsigned char *key, size_t
      keylen,\n                                  size_t numpipes,\n                                  const
      unsigned char **iv, size_t ivlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:692,1
    - Dst: evp_cipher_init_internal
      Src: /src/openssl/crypto/evp/evp_enc.c:698,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:703,1
    - Dst: EVP_CIPHER_CTX*::cipher::p_dinit
      Src: /src/openssl/crypto/evp/evp_enc.c:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - ctx
    - cipher
    - key
    - keylen
    - numpipes
    - iv
    - ivlen
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - size_t
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 686
    functionDepth: 4
    functionLinenumber: 686
    functionLinenumberEnd: 714
    functionName: EVP_CipherPipelineDecryptInit
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::p_dinit
    - ERR_raise
    - evp_cipher_init_internal
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherPipelineDecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER
      *cipher,\n                                  const unsigned char *key, size_t
      keylen,\n                                  size_t numpipes,\n                                  const
      unsigned char **iv, size_t ivlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/evp/evp_enc.c:720,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/evp/evp_enc.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: EVP_CipherUpdate
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached:
    - EVP_EncryptUpdate
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl,\n                     const unsigned char *in, int inl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:732,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:733,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:737,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:738,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:742,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:743,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:747,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:748,1
    - Dst: EVP_CIPHER_CTX*::cipher::p_cupdate
      Src: /src/openssl/crypto/evp/evp_enc.c:755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - ctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char**
    - size_t*
    - size_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 758
    functionName: EVP_CipherPipelineUpdate
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - EVP_CIPHER_CTX*::cipher::p_cupdate
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherPipelineUpdate(EVP_CIPHER_CTX *ctx,\n                             unsigned
      char **out, size_t *outl,\n                             const size_t *outsize,\n
      \                            const unsigned char **in, const size_t *inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:763,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: EVP_CipherFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached:
    - EVP_DecryptFinal_ex
    - EVP_EncryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal
      Src: /src/openssl/crypto/evp/evp_enc.c:771,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/crypto/evp/evp_enc.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 774
    functionName: EVP_CipherFinal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptFinal
    - EVP_DecryptFinal
    linkageType: ''
    returnType: int
    signature: int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:782,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:783,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:787,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:788,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:792,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:793,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:797,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:798,1
    - Dst: EVP_CIPHER_CTX*::cipher::p_cfinal
      Src: /src/openssl/crypto/evp/evp_enc.c:805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - out
    - outl
    - outsize
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 807
    functionName: EVP_CipherPipelineFinal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - EVP_CIPHER_CTX*::cipher::p_cfinal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EVP_CipherPipelineFinal(EVP_CIPHER_CTX *ctx,\n                            unsigned
      char **out, size_t *outl,\n                            const size_t *outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit
      Src: /src/openssl/crypto/evp/evp_enc.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 5
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: EVP_EncryptInit
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit
    linkageType: ''
    returnType: int
    signature: "int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                   const unsigned char *key, const unsigned char *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 815
    functionDepth: 5
    functionLinenumber: 815
    functionLinenumberEnd: 820
    functionName: EVP_EncryptInit_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 6
    functionsReached:
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                      ENGINE *impl, const unsigned char *key,\n                       const
      unsigned char *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/crypto/evp/evp_enc.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 827
    functionName: EVP_EncryptInit_ex2
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached:
    - EVP_CipherInit_ex2
    linkageType: ''
    returnType: int
    signature: "int EVP_EncryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                       const unsigned char *key, const unsigned char *iv,\n
      \                       const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit
      Src: /src/openssl/crypto/evp/evp_enc.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 829
    functionDepth: 5
    functionLinenumber: 829
    functionLinenumberEnd: 833
    functionName: EVP_DecryptInit
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit
    linkageType: ''
    returnType: int
    signature: "int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                   const unsigned char *key, const unsigned char *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cipher
    - impl
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ENGINE*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 835
    functionDepth: 5
    functionLinenumber: 835
    functionLinenumberEnd: 840
    functionName: EVP_DecryptInit_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 5
    functionsReached:
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                      ENGINE *impl, const unsigned char *key,\n                       const
      unsigned char *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/crypto/evp/evp_enc.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cipher
    - key
    - iv
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 5
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: EVP_DecryptInit_ex2
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit_ex2
    linkageType: ''
    returnType: int
    signature: "int EVP_DecryptInit_ex2(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n
      \                       const unsigned char *key, const unsigned char *iv,\n
      \                       const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr1
    - ptr2
    - len
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 884
    functionName: ossl_is_partially_overlapping
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_is_partially_overlapping(const void *ptr1, const void *ptr2,
      int len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/openssl/crypto/evp/evp_enc.c:892,1
    - Dst: safe_div_round_up_int
      Src: /src/openssl/crypto/evp/evp_enc.c:893,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/openssl/crypto/evp/evp_enc.c:899,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:900,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:904,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/openssl/crypto/evp/evp_enc.c:916,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:917,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:922,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:931,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:934,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:949,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:952,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:955,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:965,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:971,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 974
    functionName: evp_EncryptDecryptUpdate
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_test_flags
    - ossl_is_partially_overlapping
    - EVP_CIPHER_CTX*::cipher::do_cipher
    - OPENSSL_assert
    - memcpy
    - safe_div_round_up_int
    linkageType: ''
    returnType: int
    signature: "int evp_EncryptDecryptUpdate(EVP_CIPHER_CTX *ctx,\n                                    unsigned
      char *out, int *outl,\n                                    const unsigned char
      *in, int inl)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/evp_enc.c:984,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:987,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:992,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:993,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:997,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:998,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:1002,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:1007,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1008,1
    - Dst: EVP_CIPHER_CTX*::cipher::cupdate
      Src: /src/openssl/crypto/evp/evp_enc.c:1012,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/evp_enc.c:1016,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:1017,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1018,1
    - Dst: evp_EncryptDecryptUpdate
      Src: /src/openssl/crypto/evp/evp_enc.c:1029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 1030
    functionName: EVP_EncryptUpdate
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 5
    functionsReached:
    - ossl_unlikely
    - ERR_raise
    - evp_EncryptDecryptUpdate
    - ossl_likely
    - EVP_CIPHER_CTX*::cipher::cupdate
    linkageType: ''
    returnType: int
    signature: "int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl,\n                      const unsigned char *in, int inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1037
    functionName: EVP_EncryptFinal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached:
    - EVP_EncryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1049,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1055,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1060,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/evp_enc.c:1066,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1069,1
    - Dst: EVP_CIPHER_CTX*::cipher::cfinal
      Src: /src/openssl/crypto/evp/evp_enc.c:1073,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1078,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:1090,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:1099,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1107,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:1117,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1123
    functionName: EVP_EncryptFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 5
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX*::cipher::do_cipher
    - EVP_CIPHER_CTX_get_block_size
    - OPENSSL_assert
    - EVP_CIPHER_CTX*::cipher::cfinal
    linkageType: ''
    returnType: int
    signature: int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/evp_enc.c:1133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1136,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:1141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1142,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:1146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1147,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:1150,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/evp_enc.c:1153,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:1155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1156,1
    - Dst: EVP_CIPHER_CTX*::cipher::cupdate
      Src: /src/openssl/crypto/evp/evp_enc.c:1159,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/evp_enc.c:1163,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/evp_enc.c:1164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1165,1
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/openssl/crypto/evp/evp_enc.c:1178,1
    - Dst: safe_div_round_up_int
      Src: /src/openssl/crypto/evp/evp_enc.c:1179,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/openssl/crypto/evp/evp_enc.c:1182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1183,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:1187,1
    - Dst: evp_EncryptDecryptUpdate
      Src: /src/openssl/crypto/evp/evp_enc.c:1202,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:1204,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/openssl/crypto/evp/evp_enc.c:1209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1223,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:1226,1
    - Dst: evp_EncryptDecryptUpdate
      Src: /src/openssl/crypto/evp/evp_enc.c:1232,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:1242,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1250
    functionName: EVP_DecryptUpdate
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 4
    functionsReached:
    - ossl_unlikely
    - ERR_raise
    - EVP_CIPHER_CTX_test_flags
    - ossl_is_partially_overlapping
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX*::cipher::do_cipher
    - OPENSSL_assert
    - safe_div_round_up_int
    - memcpy
    - evp_EncryptDecryptUpdate
    - ossl_likely
    - EVP_CIPHER_CTX*::cipher::cupdate
    linkageType: ''
    returnType: int
    signature: "int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl,\n                      const unsigned char *in, int inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1257
    functionName: EVP_DecryptFinal
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached:
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1276,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1281,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/evp_enc.c:1288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1291,1
    - Dst: EVP_CIPHER_CTX*::cipher::cfinal
      Src: /src/openssl/crypto/evp/evp_enc.c:1295,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1300,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:1313,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1324,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1332,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_enc.c:1335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1343,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1348,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1358
    functionName: EVP_DecryptFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX*::cipher::do_cipher
    - EVP_CIPHER_CTX_get_block_size
    - OPENSSL_assert
    - EVP_CIPHER_CTX*::cipher::cfinal
    linkageType: ''
    returnType: int
    signature: int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int
      *outl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:1367,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:1371,1
    - Dst: EVP_CIPHER_settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1373,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1377,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/crypto/evp/evp_enc.c:1378,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1380,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/evp_enc.c:1394,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:1395,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - c
    - keylen
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1360
    functionDepth: 5
    functionLinenumber: 1360
    functionLinenumberEnd: 1403
    functionName: EVP_CIPHER_CTX_set_key_length
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_settable_ctx_params
    - ERR_raise
    - evp_do_ciph_ctx_setparams
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_CTX_get_key_length
    - OSSL_PARAM_set_int
    - EVP_CIPHER_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *c, int keylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1418,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pad
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1405
    functionDepth: 2
    functionLinenumber: 1405
    functionLinenumberEnd: 1422
    functionName: EVP_CIPHER_CTX_set_padding
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_construct_uint
    - evp_do_ciph_ctx_setparams
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *ctx, int pad)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1435,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1449,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1455,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1477,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1484,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1488,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1495,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1501,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1510,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1516,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1521,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1527,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1529,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1533,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1534,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1544,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1549,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1551,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1555,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_enc.c:1557,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1558,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1569,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1571,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1573,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1577,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1579,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_enc.c:1581,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1582,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1591,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1594,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_enc.c:1597,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1599,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_enc.c:1602,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_enc.c:1604,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1605,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_enc.c:1614,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1620,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_enc.c:1622,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1628,1
    - Dst: EVP_CIPHER_CTX*::cipher::ctrl
      Src: /src/openssl/crypto/evp/evp_enc.c:1632,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1636,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 160
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1424
    functionDepth: 2
    functionLinenumber: 1424
    functionLinenumberEnd: 1640
    functionName: EVP_CIPHER_CTX_ctrl
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 5
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - evp_do_ciph_ctx_setparams
    - OSSL_PARAM_construct_size_t
    - EVP_CIPHER_CTX*::cipher::ctrl
    - OSSL_PARAM_construct_end
    - evp_do_ciph_ctx_getparams
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void
      *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER*::get_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - params
    argTypes:
    - EVP_CIPHER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1647
    functionName: EVP_CIPHER_get_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER*::get_params
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_get_params(EVP_CIPHER *cipher, OSSL_PARAM params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX*::cipher::set_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1655,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:1657,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/evp_enc.c:1658,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_enc.c:1664,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/evp_enc.c:1665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1649
    functionDepth: 5
    functionLinenumber: 1649
    functionLinenumberEnd: 1672
    functionName: EVP_CIPHER_CTX_set_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::set_ctx_params
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_set_params(EVP_CIPHER_CTX *ctx, const OSSL_PARAM
      params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX*::cipher::get_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_CIPHER_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1679
    functionName: EVP_CIPHER_CTX_get_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::get_ctx_params
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_params(EVP_CIPHER_CTX *ctx, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER*::gettable_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1684,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1685,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1687
    functionName: EVP_CIPHER_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER*::gettable_params
    - EVP_CIPHER_get0_provider
    - ossl_provider_ctx
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_CIPHER_gettable_params(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1694,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1694,1
    - Dst: EVP_CIPHER*::settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1689
    functionDepth: 1
    functionLinenumber: 1689
    functionLinenumberEnd: 1698
    functionName: EVP_CIPHER_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_get0_provider
    - ossl_provider_ctx
    - EVP_CIPHER*::settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_CIPHER_settable_ctx_params(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1705,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1705,1
    - Dst: EVP_CIPHER*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1709
    functionName: EVP_CIPHER_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get0_provider
    - ossl_provider_ctx
    - EVP_CIPHER*::gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_CIPHER_gettable_ctx_params(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1716,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1716,1
    - Dst: EVP_CIPHER_CTX*::cipher::settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1720
    functionName: EVP_CIPHER_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get0_provider
    - ossl_provider_ctx
    - EVP_CIPHER_CTX*::cipher::settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_CIPHER_CTX_settable_params(EVP_CIPHER_CTX *cctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1727,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1727,1
    - Dst: EVP_CIPHER_CTX*::cipher::gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:1728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1731
    functionName: EVP_CIPHER_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get0_provider
    - ossl_provider_ctx
    - EVP_CIPHER_CTX*::cipher::gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_CIPHER_CTX_gettable_params(EVP_CIPHER_CTX *cctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/evp_enc.c:1742,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1734
    functionDepth: 1
    functionLinenumber: 1734
    functionLinenumberEnd: 1744
    functionName: EVP_CIPHER_CTX_get_libctx
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get0_provider
    - ossl_provider_libctx
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *EVP_CIPHER_CTX_get_libctx(EVP_CIPHER_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/evp_enc.c:1750,1
    - Dst: EVP_CIPHER_CTX_get_libctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1757,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/evp_enc.c:1759,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/evp/evp_enc.c:1760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1765
    functionName: EVP_CIPHER_CTX_rand_key
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_get_libctx
    - EVP_CIPHER_CTX_get_key_length
    - RAND_priv_bytes_ex
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/evp/evp_enc.c:1769,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/crypto/evp/evp_enc.c:1771,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/evp/evp_enc.c:1772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1767
    functionDepth: 3
    functionLinenumber: 1767
    functionLinenumberEnd: 1776
    functionName: EVP_CIPHER_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_copy
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX *EVP_CIPHER_CTX_dup(const EVP_CIPHER_CTX *in)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1781,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1789,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:1793,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:1798,1
    - Dst: EVP_CIPHER_CTX*::cipher::dupctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1803,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1805,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1816,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1817,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/evp_enc.c:1822,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:1823,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_enc.c:1826,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_enc.c:1831,1
    - Dst: EVP_CIPHER_CTX*::cipher::ctrl
      Src: /src/openssl/crypto/evp/evp_enc.c:1835,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1837,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1778
    functionDepth: 2
    functionLinenumber: 1778
    functionLinenumberEnd: 1841
    functionName: EVP_CIPHER_CTX_copy
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - ENGINE_init
    - memcpy
    - EVP_CIPHER_up_ref
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_CTX*::cipher::dupctx
    - EVP_CIPHER_CTX*::cipher::ctrl
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/evp_enc.c:1845,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/evp_enc.c:1847,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_enc.c:1848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1852
    functionName: evp_cipher_new
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *evp_cipher_new(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/openssl/crypto/evp/evp_enc.c:1870,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_enc.c:1876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - name
    - vlegacy_nid
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1882
    functionName: set_legacy_nid
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_nid
    - OBJ_NAME_get
    linkageType: ''
    returnType: void
    signature: void set_legacy_nid(const char *name, void *vlegacy_nid)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_new
      Src: /src/openssl/crypto/evp/evp_enc.c:1893,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1894,1
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/evp_enc.c:1900,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:1902,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/evp_enc.c:1908,1
    - Dst: OSSL_FUNC_cipher_newctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1918,1
    - Dst: OSSL_FUNC_cipher_encrypt_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1924,1
    - Dst: OSSL_FUNC_cipher_decrypt_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1930,1
    - Dst: OSSL_FUNC_cipher_encrypt_skey_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1936,1
    - Dst: OSSL_FUNC_cipher_decrypt_skey_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1942,1
    - Dst: OSSL_FUNC_cipher_update
      Src: /src/openssl/crypto/evp/evp_enc.c:1948,1
    - Dst: OSSL_FUNC_cipher_final
      Src: /src/openssl/crypto/evp/evp_enc.c:1954,1
    - Dst: OSSL_FUNC_cipher_cipher
      Src: /src/openssl/crypto/evp/evp_enc.c:1960,1
    - Dst: OSSL_FUNC_cipher_pipeline_encrypt_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1965,1
    - Dst: OSSL_FUNC_cipher_pipeline_decrypt_init
      Src: /src/openssl/crypto/evp/evp_enc.c:1971,1
    - Dst: OSSL_FUNC_cipher_pipeline_update
      Src: /src/openssl/crypto/evp/evp_enc.c:1977,1
    - Dst: OSSL_FUNC_cipher_pipeline_final
      Src: /src/openssl/crypto/evp/evp_enc.c:1983,1
    - Dst: OSSL_FUNC_cipher_freectx
      Src: /src/openssl/crypto/evp/evp_enc.c:1989,1
    - Dst: OSSL_FUNC_cipher_dupctx
      Src: /src/openssl/crypto/evp/evp_enc.c:1995,1
    - Dst: OSSL_FUNC_cipher_get_params
      Src: /src/openssl/crypto/evp/evp_enc.c:2000,1
    - Dst: OSSL_FUNC_cipher_get_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:2005,1
    - Dst: OSSL_FUNC_cipher_set_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:2010,1
    - Dst: OSSL_FUNC_cipher_gettable_params
      Src: /src/openssl/crypto/evp/evp_enc.c:2015,1
    - Dst: OSSL_FUNC_cipher_gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:2021,1
    - Dst: OSSL_FUNC_cipher_settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_enc.c:2027,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:2043,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:2046,1
    - Dst: evp_cipher_cache_constants
      Src: /src/openssl/crypto/evp/evp_enc.c:2051,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_enc.c:2052,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:2059,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 152
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 1885
    functionDepth: 2
    functionLinenumber: 1885
    functionLinenumberEnd: 2061
    functionName: evp_cipher_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - evp_cipher_new
    - OSSL_FUNC_cipher_pipeline_decrypt_init
    - ERR_raise
    - OSSL_FUNC_cipher_pipeline_update
    - OSSL_FUNC_cipher_get_ctx_params
    - OSSL_FUNC_cipher_cipher
    - OSSL_FUNC_cipher_newctx
    - OSSL_FUNC_cipher_gettable_params
    - OSSL_FUNC_cipher_pipeline_final
    - ossl_provider_up_ref
    - OSSL_FUNC_cipher_gettable_ctx_params
    - OSSL_FUNC_cipher_update
    - OSSL_FUNC_cipher_freectx
    - OSSL_FUNC_cipher_dupctx
    - OSSL_FUNC_cipher_encrypt_init
    - EVP_CIPHER_free
    - evp_names_do_all
    - OSSL_FUNC_cipher_final
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_cipher_decrypt_skey_init
    - OSSL_FUNC_cipher_encrypt_skey_init
    - OSSL_FUNC_cipher_get_params
    - evp_cipher_cache_constants
    - OSSL_FUNC_cipher_pipeline_encrypt_init
    - OSSL_FUNC_cipher_decrypt_init
    - OSSL_FUNC_cipher_settable_ctx_params
    - OSSL_FUNC_cipher_set_ctx_params
    linkageType: ''
    returnType: void
    signature: "void *evp_cipher_from_algorithm(const int name_id,\n                                       const
      OSSL_ALGORITHM *algodef,\n                                       OSSL_PROVIDER
      *prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/evp_enc.c:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2063
    functionDepth: 1
    functionLinenumber: 2063
    functionLinenumberEnd: 2066
    functionName: evp_cipher_up_ref
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_up_ref
    linkageType: ''
    returnType: int
    signature: int evp_cipher_up_ref(void *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_enc.c:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2071
    functionName: evp_cipher_free
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: void evp_cipher_free(void *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/evp_enc.c:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2073
    functionDepth: 1
    functionLinenumber: 2073
    functionLinenumberEnd: 2082
    functionName: EVP_CIPHER_fetch
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 7
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_CIPHER
    signature: "EVP_CIPHER *EVP_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,\n
      \                            const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/evp_enc.c:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2084
    functionDepth: 1
    functionLinenumber: 2084
    functionLinenumberEnd: 2093
    functionName: evp_cipher_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_CIPHER
    signature: "EVP_CIPHER *evp_cipher_fetch_from_prov(OSSL_PROVIDER *prov,\n                                       const
      char *algorithm,\n                                       const char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - enc
    argTypes:
    - EVP_CIPHER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2102
    functionName: EVP_CIPHER_can_pipeline
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_can_pipeline(const EVP_CIPHER *cipher, int enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/evp_enc.c:2109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2104
    functionDepth: 1
    functionLinenumber: 2104
    functionLinenumberEnd: 2111
    functionName: EVP_CIPHER_up_ref
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 4
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_up_ref(EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_enc.c:2115,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/evp_enc.c:2116,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_enc.c:2117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_enc.c:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2113
    functionDepth: 2
    functionLinenumber: 2113
    functionLinenumberEnd: 2119
    functionName: evp_cipher_free_int
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void evp_cipher_free_int(EVP_CIPHER *cipher)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/evp_enc.c:2128,1
    - Dst: evp_cipher_free_int
      Src: /src/openssl/crypto/evp/evp_enc.c:2131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2121
    functionDepth: 3
    functionLinenumber: 2121
    functionLinenumberEnd: 2132
    functionName: EVP_CIPHER_free
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 12
    functionsReached:
    - evp_cipher_free_int
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void EVP_CIPHER_free(EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/evp_enc.c:2138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2142
    functionName: EVP_CIPHER_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/evp_enc.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,\n                                void
      (*fn)(EVP_CIPHER *mac, void *arg),\n                                void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: EVP_mdc2
    functionSourceFile: /src/openssl/crypto/evp/legacy_mdc2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_mdc2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: BIO_f_md
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_md(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/bio_md.c:52,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_md.c:56,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_md.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: md_new
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: int
    signature: int md_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/bio_md.c:66,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_md.c:66,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_md.c:67,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_md.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: md_free
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_get_data
    - BIO_set_data
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int md_free(BIO *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_md.c:82,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_md.c:83,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/evp/bio_md.c:88,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_md.c:89,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/bio_md.c:91,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_md.c:96,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_md.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 99
    functionName: md_read
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_DigestUpdate
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_init
    - BIO_read
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int md_read(BIO *b, char *out, int outl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_md.c:110,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_md.c:111,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_md.c:113,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_md.c:115,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/bio_md.c:117,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_md.c:119,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_md.c:125,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_md.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: md_write
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_clear_retry_flags
    - EVP_DigestUpdate
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_init
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int md_write(BIO *b, const char *in, int inl)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_md.c:140,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_md.c:141,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_md.c:145,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/bio_md.c:146,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/bio_md.c:146,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_md.c:150,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_md.c:153,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/bio_md.c:155,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_md.c:162,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_md.c:165,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_md.c:166,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_md.c:171,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_md.c:172,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_md.c:173,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/bio_md.c:178,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_md.c:180,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_md.c:184,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/bio_md.c:185,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_md.c:187,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_md.c:190,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 194
    functionName: md_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_MD_CTX_get0_md
    - BIO_ctrl
    - BIO_set_init
    - BIO_set_data
    - EVP_DigestInit_ex
    - BIO_copy_next_retry
    - BIO_next
    - EVP_MD_CTX_copy_ex
    - BIO_get_init
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long md_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_md.c:200,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/evp/bio_md.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: md_callback_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long md_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_md.c:213,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/crypto/evp/bio_md.c:215,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/bio_md.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: md_gets
    functionSourceFile: /src/openssl/crypto/evp/bio_md.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_size
    - EVP_DigestFinal_ex
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int md_gets(BIO *bp, char *buf, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ec_support.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: OSSL_EC_curve_nid2name
    functionSourceFile: /src/openssl/crypto/evp/ec_support.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *OSSL_EC_curve_nid2name(int nid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_curve_nist2nid_int
      Src: /src/openssl/crypto/evp/ec_support.c:138,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ec_support.c:141,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ec_support.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: ossl_ec_curve_name2nid
    functionSourceFile: /src/openssl/crypto/evp/ec_support.c
    functionUses: 0
    functionsReached:
    - ossl_ec_curve_nist2nid_int
    - OPENSSL_strcasecmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_ec_curve_name2nid(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ec_support.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: ossl_ec_curve_nid2nist_int
    functionSourceFile: /src/openssl/crypto/evp/ec_support.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ossl_ec_curve_nid2nist_int(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ec_support.c:183,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ec_support.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: ossl_ec_curve_nist2nid_int
    functionSourceFile: /src/openssl/crypto/evp/ec_support.c
    functionUses: 1
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_ec_curve_nist2nid_int(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/evp/p_enc.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_enc.c:28,1
    - Dst: evp_pkey_get0_RSA_int
      Src: /src/openssl/crypto/evp/p_enc.c:32,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/crypto/evp/p_enc.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ek
    - key
    - key_len
    - pubk
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: EVP_PKEY_encrypt_old
    functionSourceFile: /src/openssl/crypto/evp/p_enc.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_id
    - ERR_raise
    - RSA_public_encrypt
    - evp_pkey_get0_RSA_int
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_encrypt_old(unsigned char *ek, const unsigned char *key,\n
      \                        int key_len, EVP_PKEY *pubk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY_METHOD**
    - pmeth_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pmeth_func_cmp
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pmeth_func_cmp(const EVP_PKEY_METHOD *const *a, pmeth_fn const
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY_METHOD**
    - EVP_PKEY_METHOD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pmeth_cmp
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pmeth_cmp(const EVP_PKEY_METHOD *const *a,\n                     const
      EVP_PKEY_METHOD *const *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_METHOD_find
      Src: /src/openssl/crypto/evp/pmeth_lib.c:99,1
    - Dst: sk_EVP_PKEY_METHOD_value
      Src: /src/openssl/crypto/evp/pmeth_lib.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: evp_pkey_meth_find_added_by_application
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - sk_EVP_PKEY_METHOD_find
    - sk_EVP_PKEY_METHOD_value
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *evp_pkey_meth_find_added_by_application(int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_meth_find_added_by_application
      Src: /src/openssl/crypto/evp/pmeth_lib.c:112,1
    - Dst: OBJ_bsearch_pmeth_func
      Src: /src/openssl/crypto/evp/pmeth_lib.c:117,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/pmeth_lib.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: EVP_PKEY_meth_find
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_meth_find_added_by_application
    - OSSL_NELEM
    - OBJ_bsearch_pmeth_func
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/pmeth_lib.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - id
    - flags
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: EVP_PKEY_meth_new
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:143,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:145,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:147,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:149,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:151,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: evp_pkey_ctx_state
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    linkageType: ''
    returnType: int
    signature: int evp_pkey_ctx_state(const EVP_PKEY_CTX *ctx)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/pmeth_lib.c:171,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/pmeth_lib.c:176,1
    - Dst: evp_pkey_name2type
      Src: /src/openssl/crypto/evp/pmeth_lib.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:192,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/pmeth_lib.c:211,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/evp/pmeth_lib.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:219,1
    - Dst: ENGINE_get_pkey_meth_engine
      Src: /src/openssl/crypto/evp/pmeth_lib.c:223,1
    - Dst: ENGINE_get_pkey_meth
      Src: /src/openssl/crypto/evp/pmeth_lib.c:231,1
    - Dst: EVP_PKEY_meth_find
      Src: /src/openssl/crypto/evp/pmeth_lib.c:235,1
    - Dst: evp_pkey_meth_find_added_by_application
      Src: /src/openssl/crypto/evp/pmeth_lib.c:237,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:255,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/crypto/evp/pmeth_lib.c:259,1
    - Dst: evp_keymgmt_get_legacy_alg
      Src: /src/openssl/crypto/evp/pmeth_lib.c:273,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:284,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:295,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/pmeth_lib.c:297,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/pmeth_lib.c:302,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:306,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:310,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:312,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:313,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:325,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:326,1
    - Dst: EVP_PKEY_METHOD*::init
      Src: /src/openssl/crypto/evp/pmeth_lib.c:333,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:335,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 107
    argCount: 6
    argNames:
    - libctx
    - pkey
    - e
    - keytype
    - propquery
    - id
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY*
    - ENGINE*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 341
    functionName: int_ctx_new
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_KEYMGMT_fetch
    - OPENSSL_free
    - ENGINE_finish
    - ENGINE_get_pkey_meth_engine
    - EVP_PKEY_up_ref
    - ossl_assert
    - OPENSSL_zalloc
    - EVP_PKEY_CTX_free
    - OPENSSL_strdup
    - ENGINE_get_pkey_meth
    - evp_pkey_is_provided
    - ENGINE_init
    - evp_keymgmt_get_legacy_alg
    - OBJ_nid2sn
    - EVP_KEYMGMT_up_ref
    - EVP_PKEY_meth_find
    - evp_pkey_meth_find_added_by_application
    - evp_pkey_name2type
    - EVP_PKEY_METHOD*::init
    - EVP_KEYMGMT_get0_name
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *int_ctx_new(OSSL_LIB_CTX *libctx,\n                                 EVP_PKEY
      *pkey, ENGINE *e,\n                                 const char *keytype, const
      char *propquery,\n                                 int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_ctx_new
      Src: /src/openssl/crypto/evp/pmeth_lib.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - name
    - propquery
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: EVP_PKEY_CTX_new_from_name
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OSSL_LIB_CTX *libctx,\n                                         const
      char *name,\n                                         const char *propquery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_ctx_new
      Src: /src/openssl/crypto/evp/pmeth_lib.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - pkey
    - propquery
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: EVP_PKEY_CTX_new_from_pkey
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 5
    functionsReached:
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_pkey(OSSL_LIB_CTX *libctx, EVP_PKEY
      *pkey,\n                                         const char *propquery)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:360,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::freectx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:362,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:363,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:366,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::freectx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:368,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:369,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:372,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::freectx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:374,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:375,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:379,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::freectx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:381,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:382,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:385,1
    - Dst: evp_keymgmt_gen_cleanup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:387,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 389
    functionName: evp_pkey_ctx_free_old_ops
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - EVP_ASYM_CIPHER_free
    - EVP_KEM_free
    - EVP_SIGNATURE_free
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_KEYEXCH_free
    - EVP_PKEY_CTX*::op::encap::kem::freectx
    - EVP_PKEY_CTX*::op::kex::exchange::freectx
    - EVP_PKEY_CTX*::op::ciph::cipher::freectx
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - evp_keymgmt_gen_cleanup
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX*::op::sig::signature::freectx
    linkageType: ''
    returnType: void
    signature: void evp_pkey_ctx_free_old_ops(EVP_PKEY_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX*::pmeth::cleanup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:396,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/pmeth_lib.c:398,1
    - Dst: evp_pkey_ctx_free_all_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:400,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:402,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:404,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:405,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:406,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/pmeth_lib.c:408,1
    - Dst: BN_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:410,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 412
    functionName: EVP_PKEY_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 10
    functionsReached:
    - BN_free
    - evp_pkey_ctx_free_all_cached_data
    - evp_pkey_ctx_free_old_ops
    - EVP_PKEY_free
    - EVP_PKEY_CTX*::pmeth::cleanup
    - OPENSSL_free
    - ENGINE_finish
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ppkey_id
    - pflags
    - meth
    argTypes:
    - int*
    - int*
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: EVP_PKEY_meth_get0_info
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags,\n                             const
      EVP_PKEY_METHOD *meth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_METHOD*
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: EVP_PKEY_meth_copy
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD
      *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: EVP_PKEY_meth_free
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_ctx_new
      Src: /src/openssl/crypto/evp/pmeth_lib.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - e
    argTypes:
    - EVP_PKEY*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: EVP_PKEY_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_ctx_new
      Src: /src/openssl/crypto/evp/pmeth_lib.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - e
    argTypes:
    - int
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: EVP_PKEY_CTX_new_id
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - int_ctx_new
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/evp/pmeth_lib.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:460,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/pmeth_lib.c:464,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:468,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:477,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:484,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:489,1
    - Dst: EVP_KEYEXCH_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:492,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:496,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::dupctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:501,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:504,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:510,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:513,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:517,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::dupctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:522,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:525,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:531,1
    - Dst: EVP_ASYM_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:534,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:538,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::dupctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:543,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:546,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:552,1
    - Dst: EVP_KEM_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:555,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:559,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::dupctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:564,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:567,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:573,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:583,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:596,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/pmeth_lib.c:600,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:602,1
    - Dst: EVP_PKEY_CTX*::pmeth::copy
      Src: /src/openssl/crypto/evp/pmeth_lib.c:606,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:611,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 151
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 613
    functionName: EVP_PKEY_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - EVP_ASYM_CIPHER_free
    - EVP_ASYM_CIPHER_up_ref
    - ERR_raise
    - EVP_PKEY_CTX*::op::ciph::cipher::dupctx
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_KEYEXCH_free
    - EVP_PKEY_up_ref
    - EVP_PKEY_CTX_IS_GEN_OP
    - ossl_assert
    - OPENSSL_zalloc
    - EVP_PKEY_CTX*::pmeth::copy
    - EVP_SIGNATURE_up_ref
    - EVP_PKEY_CTX*::op::sig::signature::dupctx
    - EVP_KEYEXCH_up_ref
    - EVP_PKEY_CTX_free
    - OPENSSL_strdup
    - evp_pkey_export_to_provider
    - EVP_PKEY_CTX*::op::encap::kem::dupctx
    - EVP_SIGNATURE_free
    - ENGINE_init
    - EVP_KEYMGMT_up_ref
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_KEM_free
    - EVP_KEM_up_ref
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_KEYMGMT_free
    - EVP_PKEY_CTX*::op::kex::exchange::dupctx
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *pctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_METHOD_new
      Src: /src/openssl/crypto/evp/pmeth_lib.c:618,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:620,1
    - Dst: sk_EVP_PKEY_METHOD_push
      Src: /src/openssl/crypto/evp/pmeth_lib.c:624,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:625,1
    - Dst: sk_EVP_PKEY_METHOD_sort
      Src: /src/openssl/crypto/evp/pmeth_lib.c:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 630
    functionName: EVP_PKEY_meth_add0
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - sk_EVP_PKEY_METHOD_new
    - ERR_raise
    - sk_EVP_PKEY_METHOD_push
    - sk_EVP_PKEY_METHOD_sort
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_METHOD_pop_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: evp_app_cleanup_int
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - sk_EVP_PKEY_METHOD_pop_free
    linkageType: ''
    returnType: void
    signature: void evp_app_cleanup_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_METHOD_delete_ptr
      Src: /src/openssl/crypto/evp/pmeth_lib.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: EVP_PKEY_meth_remove
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - sk_EVP_PKEY_METHOD_delete_ptr
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_meth_remove(const EVP_PKEY_METHOD *pmeth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/pmeth_lib.c:649,1
    - Dst: sk_EVP_PKEY_METHOD_num
      Src: /src/openssl/crypto/evp/pmeth_lib.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: EVP_PKEY_meth_get_count
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - sk_EVP_PKEY_METHOD_num
    linkageType: ''
    returnType: size_t
    signature: size_t EVP_PKEY_meth_get_count(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/pmeth_lib.c:658,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/pmeth_lib.c:662,1
    - Dst: sk_EVP_PKEY_METHOD_num
      Src: /src/openssl/crypto/evp/pmeth_lib.c:663,1
    - Dst: sk_EVP_PKEY_METHOD_value
      Src: /src/openssl/crypto/evp/pmeth_lib.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: EVP_PKEY_meth_get0
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - sk_EVP_PKEY_METHOD_value
    - OSSL_NELEM
    - sk_EVP_PKEY_METHOD_num
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *EVP_PKEY_meth_get0(size_t idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/pmeth_lib.c:672,1
    - Dst: evp_pkey_name2type
      Src: /src/openssl/crypto/evp/pmeth_lib.c:673,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/pmeth_lib.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - keytype
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 676
    functionName: EVP_PKEY_CTX_is_a
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT_is_a
    - evp_pkey_ctx_is_legacy
    - evp_pkey_name2type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_is_a(EVP_PKEY_CTX *ctx, const char *keytype)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_state
      Src: /src/openssl/crypto/evp/pmeth_lib.c:680,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:682,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::set_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:686,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:688,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::set_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:692,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:694,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::set_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:698,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:700,1
    - Dst: evp_keymgmt_gen_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:704,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:706,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::set_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:710,1
    - Dst: evp_pkey_ctx_set_params_to_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:717,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 721
    functionName: EVP_PKEY_CTX_set_params
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - evp_keymgmt_gen_set_params
    - EVP_PKEY_CTX*::op::ciph::cipher::set_ctx_params
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX*::op::sig::signature::set_ctx_params
    - EVP_PKEY_CTX*::op::kex::exchange::set_ctx_params
    - EVP_PKEY_CTX*::op::encap::kem::set_ctx_params
    - evp_pkey_ctx_set_params_to_ctrl
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - evp_pkey_ctx_state
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_params(EVP_PKEY_CTX *ctx, const OSSL_PARAM *params)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_state
      Src: /src/openssl/crypto/evp/pmeth_lib.c:725,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:727,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::get_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:731,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:733,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::get_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:737,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:739,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::get_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:743,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:745,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::get_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:749,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:751,1
    - Dst: evp_keymgmt_gen_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:755,1
    - Dst: evp_pkey_ctx_get_params_to_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:762,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 766
    functionName: EVP_PKEY_CTX_get_params
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX*::op::ciph::cipher::get_ctx_params
    - evp_keymgmt_gen_get_params
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - evp_pkey_ctx_get_params_to_ctrl
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX*::op::kex::exchange::get_ctx_params
    - evp_pkey_ctx_state
    - EVP_PKEY_CTX*::op::sig::signature::get_ctx_params
    - EVP_PKEY_CTX*::op::encap::kem::get_ctx_params
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_params(EVP_PKEY_CTX *ctx, OSSL_PARAM *params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:773,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:776,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:776,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::gettable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:777,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:780,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:783,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:784,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::gettable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:785,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:788,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:791,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:792,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::gettable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:793,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:796,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:799,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:799,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::gettable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:800,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:803,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:806,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:806,1
    - Dst: EVP_PKEY_CTX*::keymgmt::gen_gettable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:807,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 811
    functionName: EVP_PKEY_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KEYEXCH_get0_provider
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_GEN_OP
    - ossl_provider_ctx
    - EVP_PKEY_CTX*::op::kex::exchange::gettable_ctx_params
    - EVP_PKEY_CTX*::keymgmt::gen_gettable_params
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::sig::signature::gettable_ctx_params
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX*::op::encap::kem::gettable_ctx_params
    - EVP_PKEY_CTX*::op::ciph::cipher::gettable_ctx_params
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_KEYMGMT_get0_provider
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_PKEY_CTX_gettable_params(const EVP_PKEY_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:817,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:820,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:820,1
    - Dst: EVP_PKEY_CTX*::op::kex::exchange::settable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:821,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:824,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:827,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:828,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::settable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:829,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:832,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:835,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:836,1
    - Dst: EVP_PKEY_CTX*::op::ciph::cipher::settable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:837,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:840,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:843,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:843,1
    - Dst: EVP_PKEY_CTX*::keymgmt::gen_settable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:844,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:847,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/pmeth_lib.c:850,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:850,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::settable_ctx_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:851,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 855
    functionName: EVP_PKEY_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KEYEXCH_get0_provider
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_GEN_OP
    - ossl_provider_ctx
    - EVP_PKEY_CTX*::op::encap::kem::settable_ctx_params
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX*::op::sig::signature::settable_ctx_params
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_KEYMGMT_get0_provider
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_PKEY_CTX*::op::ciph::cipher::settable_ctx_params
    - EVP_KEM_get0_provider
    - EVP_PKEY_CTX*::op::kex::exchange::settable_ctx_params
    - EVP_PKEY_CTX*::keymgmt::gen_settable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_PKEY_CTX_settable_params(const EVP_PKEY_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/openssl/crypto/evp/pmeth_lib.c:880,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:881,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_lib.c:886,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 869
    functionDepth: 3
    functionLinenumber: 869
    functionLinenumberEnd: 892
    functionName: evp_pkey_ctx_set_params_strict
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_settable_params
    - OSSL_PARAM_locate_const
    - evp_pkey_ctx_is_provided
    linkageType: ''
    returnType: int
    signature: int evp_pkey_ctx_set_params_strict(EVP_PKEY_CTX *ctx, OSSL_PARAM *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/openssl/crypto/evp/pmeth_lib.c:905,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:906,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_lib.c:911,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 917
    functionName: evp_pkey_ctx_get_params_strict
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_CTX_gettable_params
    - OSSL_PARAM_locate_const
    - evp_pkey_ctx_is_provided
    linkageType: ''
    returnType: int
    signature: int evp_pkey_ctx_get_params_strict(EVP_PKEY_CTX *ctx, OSSL_PARAM *params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:926,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:927,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:933,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:936,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:939,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:941,1
    - Dst: evp_get_digestbyname_ex
      Src: /src/openssl/crypto/evp/pmeth_lib.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 951
    functionName: EVP_PKEY_CTX_get_signature_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_ctrl
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_get_params
    - evp_get_digestbyname_ex
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD **md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:961,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:967,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/pmeth_lib.c:972,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:975,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:981,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - ctx
    - md
    - fallback
    - param
    - op
    - ctrl
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 984
    functionName: evp_pkey_ctx_set_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_ctrl
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_set_params
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_set_md(EVP_PKEY_CTX *ctx, const EVP_MD *md,\n                               int
      fallback, const char *param, int op,\n                               int ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_md
      Src: /src/openssl/crypto/evp/pmeth_lib.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 986
    functionDepth: 4
    functionLinenumber: 986
    functionLinenumberEnd: 991
    functionName: EVP_PKEY_CTX_set_signature_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - evp_pkey_ctx_set_md
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_md
      Src: /src/openssl/crypto/evp/pmeth_lib.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 993
    functionDepth: 4
    functionLinenumber: 993
    functionLinenumberEnd: 998
    functionName: EVP_PKEY_CTX_set_tls1_prf_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_md
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_tls1_prf_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1008,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1015,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1019,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1023,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1030,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 7
    argNames:
    - ctx
    - fallback
    - param
    - op
    - ctrl
    - data
    - datalen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1000
    functionDepth: 3
    functionLinenumber: 1000
    functionLinenumberEnd: 1033
    functionName: evp_pkey_ctx_set1_octet_string
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - EVP_PKEY_CTX_ctrl
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_set1_octet_string(EVP_PKEY_CTX *ctx, int fallback,\n
      \                                         const char *param, int op, int ctrl,\n
      \                                         const unsigned char *data,\n                                          int
      datalen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1048,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1055,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1059,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1066,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1067,1
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1068,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1072,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1073,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1075,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1085,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1090,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1094,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1099,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1100,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1103,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 7
    argNames:
    - ctx
    - fallback
    - param
    - op
    - ctrl
    - data
    - datalen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1035
    functionDepth: 4
    functionLinenumber: 1035
    functionLinenumberEnd: 1105
    functionName: evp_pkey_ctx_add1_octet_string
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_ctrl
    - memcpy
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_CTX_gettable_params
    - OSSL_PARAM_locate_const
    - evp_pkey_ctx_set1_octet_string
    - EVP_PKEY_CTX_set_params
    - OPENSSL_clear_free
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_add1_octet_string(EVP_PKEY_CTX *ctx, int fallback,\n
      \                                         const char *param, int op, int ctrl,\n
      \                                         const unsigned char *data,\n                                          int
      datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - sec
    - seclen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1107
    functionDepth: 4
    functionLinenumber: 1107
    functionLinenumberEnd: 1115
    functionName: EVP_PKEY_CTX_set1_tls1_prf_secret
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set1_tls1_prf_secret(EVP_PKEY_CTX *ctx,\n                                      const
      unsigned char *sec, int seclen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - seed
    - seedlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1117
    functionDepth: 4
    functionLinenumber: 1117
    functionLinenumberEnd: 1125
    functionName: EVP_PKEY_CTX_add1_tls1_prf_seed
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_add1_tls1_prf_seed(EVP_PKEY_CTX *ctx,\n                                    const
      unsigned char *seed, int seedlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_md
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1127
    functionDepth: 4
    functionLinenumber: 1127
    functionLinenumberEnd: 1132
    functionName: EVP_PKEY_CTX_set_hkdf_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_md
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_hkdf_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - salt
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1134
    functionDepth: 4
    functionLinenumber: 1134
    functionLinenumberEnd: 1142
    functionName: EVP_PKEY_CTX_set1_hkdf_salt
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set1_hkdf_salt(EVP_PKEY_CTX *ctx,\n                                const
      unsigned char *salt, int saltlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1144
    functionDepth: 4
    functionLinenumber: 1144
    functionLinenumberEnd: 1152
    functionName: EVP_PKEY_CTX_set1_hkdf_key
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set1_hkdf_key(EVP_PKEY_CTX *ctx,\n                                      const
      unsigned char *key, int keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_add1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - info
    - infolen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1154
    functionDepth: 5
    functionLinenumber: 1154
    functionLinenumberEnd: 1162
    functionName: EVP_PKEY_CTX_add1_hkdf_info
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_add1_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_add1_hkdf_info(EVP_PKEY_CTX *ctx,\n                                      const
      unsigned char *info, int infolen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1169,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1181,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1185,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1186,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1164
    functionDepth: 3
    functionLinenumber: 1164
    functionLinenumberEnd: 1189
    functionName: EVP_PKEY_CTX_set_hkdf_mode
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_ctrl
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_int
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_hkdf_mode(EVP_PKEY_CTX *ctx, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - pass
    - passlen
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1191
    functionDepth: 4
    functionLinenumber: 1191
    functionLinenumberEnd: 1199
    functionName: EVP_PKEY_CTX_set1_pbe_pass
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set1_pbe_pass(EVP_PKEY_CTX *ctx, const char *pass,\n
      \                              int passlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - salt
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1201
    functionDepth: 4
    functionLinenumber: 1201
    functionLinenumberEnd: 1209
    functionName: EVP_PKEY_CTX_set1_scrypt_salt
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set1_scrypt_salt(EVP_PKEY_CTX *ctx,\n                                  const
      unsigned char *salt, int saltlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1217,1
    - Dst: EVP_PKEY_CTX_ctrl_uint64
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1224,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1227,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1228,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - param
    - op
    - ctrl
    - val
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - int
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1211
    functionDepth: 3
    functionLinenumber: 1211
    functionLinenumberEnd: 1231
    functionName: evp_pkey_ctx_set_uint64
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_ctrl_uint64
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint64
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_set_uint64(EVP_PKEY_CTX *ctx, const char *param,\n
      \                                  int op, int ctrl, uint64_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_uint64
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - n
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1233
    functionDepth: 4
    functionLinenumber: 1233
    functionLinenumberEnd: 1238
    functionName: EVP_PKEY_CTX_set_scrypt_N
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_uint64
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_scrypt_N(EVP_PKEY_CTX *ctx, uint64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_uint64
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - r
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1240
    functionDepth: 4
    functionLinenumber: 1240
    functionLinenumberEnd: 1245
    functionName: EVP_PKEY_CTX_set_scrypt_r
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_uint64
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_scrypt_r(EVP_PKEY_CTX *ctx, uint64_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_uint64
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1247
    functionDepth: 4
    functionLinenumber: 1247
    functionLinenumberEnd: 1252
    functionName: EVP_PKEY_CTX_set_scrypt_p
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_uint64
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_scrypt_p(EVP_PKEY_CTX *ctx, uint64_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set_uint64
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - maxmem_bytes
    argTypes:
    - EVP_PKEY_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1254
    functionDepth: 4
    functionLinenumber: 1254
    functionLinenumberEnd: 1261
    functionName: EVP_PKEY_CTX_set_scrypt_maxmem_bytes
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set_uint64
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_scrypt_maxmem_bytes(EVP_PKEY_CTX *ctx,\n                                         uint64_t
      maxmem_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_set1_octet_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1263
    functionDepth: 4
    functionLinenumber: 1263
    functionLinenumberEnd: 1271
    functionName: EVP_PKEY_CTX_set_mac_key
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_set1_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_mac_key(EVP_PKEY_CTX *ctx, const unsigned char
      *key,\n                             int keylen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1278,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1281,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1282,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1285,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1287,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - op
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1273
    functionDepth: 3
    functionLinenumber: 1273
    functionLinenumberEnd: 1289
    functionName: EVP_PKEY_CTX_set_kem_op
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_IS_KEM_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_kem_op(EVP_PKEY_CTX *ctx, const char *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - id
    - len
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1295
    functionName: EVP_PKEY_CTX_set1_id
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set1_id(EVP_PKEY_CTX *ctx, const void *id, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - id
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1300
    functionName: EVP_PKEY_CTX_get1_id
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get1_id(EVP_PKEY_CTX *ctx, void *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - id_len
    argTypes:
    - EVP_PKEY_CTX*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1306
    functionName: EVP_PKEY_CTX_get1_id_len
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get1_id_len(EVP_PKEY_CTX *ctx, size_t *id_len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1325,1
    - Dst: evp_pkey_ctx_state
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1330,1
    - Dst: evp_pkey_ctx_ctrl_to_param
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1332,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1336,1
    - Dst: EVP_PKEY_CTX*::pmeth::ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1345,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1349
    functionName: evp_pkey_ctx_ctrl_int
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_ctrl_to_param
    - ERR_raise
    - EVP_PKEY_CTX*::pmeth::ctrl
    - evp_pkey_ctx_state
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_ctrl_int(EVP_PKEY_CTX *ctx, int keytype, int optype,\n
      \                                int cmd, int p1, void *p2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1357,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1361,1
    - Dst: evp_pkey_ctx_store_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1362,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1365,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1367,1
    - Dst: evp_pkey_ctx_ctrl_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1351
    functionDepth: 3
    functionLinenumber: 1351
    functionLinenumberEnd: 1377
    functionName: EVP_PKEY_CTX_ctrl
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 8
    functionsReached:
    - evp_pkey_ctx_store_cached_data
    - ERR_raise
    - ERR_pop_to_mark
    - ERR_set_mark
    - evp_pkey_ctx_ctrl_int
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype,\n
      \                     int cmd, int p1, void *p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 4
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    functionName: EVP_PKEY_CTX_ctrl_uint64
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_ctrl_uint64(EVP_PKEY_CTX *ctx, int keytype, int optype,\n
      \                            int cmd, uint64_t value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1392,1
    - Dst: evp_pkey_ctx_state
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1396,1
    - Dst: evp_pkey_ctx_ctrl_str_to_param
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1398,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1402,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1405,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1406,1
    - Dst: EVP_PKEY_CTX*::pmeth::ctrl_str
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1415
    functionName: evp_pkey_ctx_ctrl_str_int
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX*::pmeth::ctrl_str
    - evp_pkey_ctx_state
    - strcmp
    - evp_pkey_ctx_ctrl_str_to_param
    - EVP_PKEY_CTX_md
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_ctrl_str_int(EVP_PKEY_CTX *ctx,\n                                     const
      char *name, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1423,1
    - Dst: evp_pkey_ctx_store_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1424,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1425,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1427,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1429,1
    - Dst: evp_pkey_ctx_ctrl_str_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1417
    functionDepth: 3
    functionLinenumber: 1417
    functionLinenumberEnd: 1440
    functionName: EVP_PKEY_CTX_ctrl_str
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_ctx_store_cached_data
    - ERR_pop_to_mark
    - ERR_set_mark
    - evp_pkey_ctx_ctrl_str_int
    - strlen
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx,\n                          const
      char *name, const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1450,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1451,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cmd
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1442
    functionDepth: 1
    functionLinenumber: 1442
    functionLinenumberEnd: 1456
    functionName: decode_cmd
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int decode_cmd(int cmd, const char *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: decode_cmd
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1472,1
    - Dst: evp_pkey_ctx_state
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1477,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1480,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1483,1
    - Dst: evp_pkey_type2name
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1484,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1492,1
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1495,1
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1495,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1496,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1503,1
    - Dst: evp_pkey_ctx_free_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1509,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1511,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1516,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 7
    argNames:
    - ctx
    - keytype
    - optype
    - cmd
    - name
    - data
    - data_len
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1525
    functionName: evp_pkey_ctx_store_cached_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached:
    - evp_pkey_type2name
    - EVP_PKEY_type
    - ERR_raise
    - decode_cmd
    - EVP_KEYMGMT_is_a
    - OPENSSL_memdup
    - evp_pkey_ctx_free_cached_data
    - OPENSSL_strdup
    - evp_pkey_ctx_state
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_store_cached_data(EVP_PKEY_CTX *ctx,\n                                          int
      keytype, int optype,\n                                          int cmd, const
      char *name,\n                                          const void *data, size_t
      data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_cmd
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1530,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1533,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - cmd
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1527
    functionDepth: 2
    functionLinenumber: 1527
    functionLinenumberEnd: 1539
    functionName: evp_pkey_ctx_free_cached_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - decode_cmd
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: "void evp_pkey_ctx_free_cached_data(EVP_PKEY_CTX *ctx,\n                                          int
      cmd, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_cached_data
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1541
    functionDepth: 3
    functionLinenumber: 1541
    functionLinenumberEnd: 1544
    functionName: evp_pkey_ctx_free_all_cached_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_ctx_free_cached_data
    linkageType: ''
    returnType: void
    signature: void evp_pkey_ctx_free_all_cached_data(EVP_PKEY_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_ctrl_str_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1556,1
    - Dst: evp_pkey_ctx_ctrl_int
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1546
    functionDepth: 3
    functionLinenumber: 1546
    functionLinenumberEnd: 1564
    functionName: evp_pkey_ctx_use_cached_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_ctx_ctrl_int
    - evp_pkey_ctx_ctrl_str_int
    linkageType: ''
    returnType: int
    signature: int evp_pkey_ctx_use_cached_data(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1569
    functionName: EVP_PKEY_CTX_get0_libctx
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *EVP_PKEY_CTX_get0_libctx(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1574
    functionName: EVP_PKEY_CTX_get0_propq
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_PKEY_CTX_get0_propq(const EVP_PKEY_CTX *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1578,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1580,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1581,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1583,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1584,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1586,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1587,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1589,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1590,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1596
    functionName: EVP_PKEY_CTX_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KEYEXCH_get0_provider
    - EVP_SIGNATURE_get0_provider
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_CTX_IS_GEN_OP
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - EVP_PKEY_CTX_IS_KEM_OP
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_KEYMGMT_get0_provider
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_PKEY_CTX_get0_provider(const EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1604,1
    - Dst: EVP_PKEY_CTX*::pmeth::ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - cmd
    - str
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1608
    functionName: EVP_PKEY_CTX_str2ctrl
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - strlen
    - EVP_PKEY_CTX*::pmeth::ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1616,1
    - Dst: EVP_PKEY_CTX*::pmeth::ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1620,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - cmd
    - hex
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1610
    functionDepth: 4
    functionLinenumber: 1610
    functionLinenumberEnd: 1623
    functionName: EVP_PKEY_CTX_hex2ctrl
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_CTX*::pmeth::ctrl
    - OPENSSL_hexstr2buf
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *hex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1630,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1631,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/pmeth_lib.c:1634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - optype
    - cmd
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1626
    functionDepth: 4
    functionLinenumber: 1626
    functionLinenumberEnd: 1635
    functionName: EVP_PKEY_CTX_md
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    - ERR_raise
    - EVP_get_digestbyname
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_md(EVP_PKEY_CTX *ctx, int optype, int cmd, const char
      *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1640
    functionName: EVP_PKEY_CTX_get_operation
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - dat
    - datlen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1646
    functionName: EVP_PKEY_CTX_set0_keygen_info
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int
      datlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1651
    functionName: EVP_PKEY_CTX_set_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1656
    functionName: EVP_PKEY_CTX_get_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *EVP_PKEY_CTX_get_data(const EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1661
    functionName: EVP_PKEY_CTX_get0_pkey
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1666
    functionName: EVP_PKEY_CTX_get0_peerkey
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1671
    functionName: EVP_PKEY_CTX_set_app_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1676
    functionName: EVP_PKEY_CTX_get_app_data
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1682
    functionName: EVP_PKEY_meth_set_init
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth,\n                            int
      (*init) (EVP_PKEY_CTX *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1689
    functionName: EVP_PKEY_meth_set_copy
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth,\n                            int
      (*copy) (EVP_PKEY_CTX *dst,\n                                         const
      EVP_PKEY_CTX *src))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1695
    functionName: EVP_PKEY_meth_set_cleanup
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth,\n                               void
      (*cleanup) (EVP_PKEY_CTX *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1704
    functionName: EVP_PKEY_meth_set_paramgen
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth,\n                                int
      (*paramgen_init) (EVP_PKEY_CTX *ctx),\n                                int (*paramgen)
      (EVP_PKEY_CTX *ctx,\n                                                 EVP_PKEY
      *pkey))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1713
    functionName: EVP_PKEY_meth_set_keygen
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth,\n                              int
      (*keygen_init) (EVP_PKEY_CTX *ctx),\n                              int (*keygen)
      (EVP_PKEY_CTX *ctx,\n                                             EVP_PKEY *pkey))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1724
    functionName: EVP_PKEY_meth_set_sign
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth,\n                            int
      (*sign_init) (EVP_PKEY_CTX *ctx),\n                            int (*sign) (EVP_PKEY_CTX
      *ctx,\n                                         unsigned char *sig, size_t *siglen,\n
      \                                        const unsigned char *tbs,\n                                         size_t
      tbslen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1736
    functionName: EVP_PKEY_meth_set_verify
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth,\n                              int
      (*verify_init) (EVP_PKEY_CTX *ctx),\n                              int (*verify)
      (EVP_PKEY_CTX *ctx,\n                                             const unsigned
      char *sig,\n                                             size_t siglen,\n                                             const
      unsigned char *tbs,\n                                             size_t tbslen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1752
    functionName: EVP_PKEY_meth_set_verify_recover
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth,\n                                      int
      (*verify_recover_init) (EVP_PKEY_CTX\n                                                                  *ctx),\n
      \                                     int (*verify_recover) (EVP_PKEY_CTX\n
      \                                                            *ctx,\n                                                             unsigned
      char\n                                                             *sig,\n                                                             size_t
      *siglen,\n                                                             const
      unsigned\n                                                             char
      *tbs,\n                                                             size_t tbslen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1764
    functionName: EVP_PKEY_meth_set_signctx
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth,\n                               int
      (*signctx_init) (EVP_PKEY_CTX *ctx,\n                                                    EVP_MD_CTX
      *mctx),\n                               int (*signctx) (EVP_PKEY_CTX *ctx,\n
      \                                              unsigned char *sig,\n                                               size_t
      *siglen,\n                                               EVP_MD_CTX *mctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1776
    functionName: EVP_PKEY_meth_set_verifyctx
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth,\n                                 int
      (*verifyctx_init) (EVP_PKEY_CTX *ctx,\n                                                        EVP_MD_CTX
      *mctx),\n                                 int (*verifyctx) (EVP_PKEY_CTX *ctx,\n
      \                                                  const unsigned char *sig,\n
      \                                                  int siglen,\n                                                   EVP_MD_CTX
      *mctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1788
    functionName: EVP_PKEY_meth_set_encrypt
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth,\n                               int
      (*encrypt_init) (EVP_PKEY_CTX *ctx),\n                               int (*encryptfn)
      (EVP_PKEY_CTX *ctx,\n                                                 unsigned
      char *out,\n                                                 size_t *outlen,\n
      \                                                const unsigned char *in,\n
      \                                                size_t inlen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1800
    functionName: EVP_PKEY_meth_set_decrypt
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth,\n                               int
      (*decrypt_init) (EVP_PKEY_CTX *ctx),\n                               int (*decrypt)
      (EVP_PKEY_CTX *ctx,\n                                               unsigned
      char *out,\n                                               size_t *outlen,\n
      \                                              const unsigned char *in,\n                                               size_t
      inlen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1810
    functionName: EVP_PKEY_meth_set_derive
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth,\n                              int
      (*derive_init) (EVP_PKEY_CTX *ctx),\n                              int (*derive)
      (EVP_PKEY_CTX *ctx,\n                                             unsigned char
      *key,\n                                             size_t *keylen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1821
    functionName: EVP_PKEY_meth_set_ctrl
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth,\n                            int
      (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1,\n                                         void
      *p2),\n                            int (*ctrl_str) (EVP_PKEY_CTX *ctx,\n                                             const
      char *type,\n                                             const char *value))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1828
    functionName: EVP_PKEY_meth_set_digestsign
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_digestsign(EVP_PKEY_METHOD *pmeth,\n    int
      (*digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen,\n                       const
      unsigned char *tbs, size_t tbslen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1836
    functionName: EVP_PKEY_meth_set_digestverify
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_digestverify(EVP_PKEY_METHOD *pmeth,\n    int
      (*digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig,\n                         size_t
      siglen, const unsigned char *tbs,\n                         size_t tbslen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1842
    functionName: EVP_PKEY_meth_set_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_check(EVP_PKEY_METHOD *pmeth,\n                             int
      (*check) (EVP_PKEY *pkey))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1848
    functionName: EVP_PKEY_meth_set_public_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_public_check(EVP_PKEY_METHOD *pmeth,\n                                    int
      (*check) (EVP_PKEY *pkey))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1854
    functionName: EVP_PKEY_meth_set_param_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_param_check(EVP_PKEY_METHOD *pmeth,\n                                   int
      (*check) (EVP_PKEY *pkey))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1861
    functionName: EVP_PKEY_meth_set_digest_custom
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_set_digest_custom(EVP_PKEY_METHOD *pmeth,\n                                     int
      (*digest_custom) (EVP_PKEY_CTX *ctx,\n                                                           EVP_MD_CTX
      *mctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1867
    functionName: EVP_PKEY_meth_get_init
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_init(const EVP_PKEY_METHOD *pmeth,\n                            int
      (**pinit) (EVP_PKEY_CTX *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1874
    functionName: EVP_PKEY_meth_get_copy
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_copy(const EVP_PKEY_METHOD *pmeth,\n                            int
      (**pcopy) (EVP_PKEY_CTX *dst,\n                                           const
      EVP_PKEY_CTX *src))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1880
    functionName: EVP_PKEY_meth_get_cleanup
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_cleanup(const EVP_PKEY_METHOD *pmeth,\n                               void
      (**pcleanup) (EVP_PKEY_CTX *ctx))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1891
    functionName: EVP_PKEY_meth_get_paramgen
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_paramgen(const EVP_PKEY_METHOD *pmeth,\n                                int
      (**pparamgen_init) (EVP_PKEY_CTX *ctx),\n                                int
      (**pparamgen) (EVP_PKEY_CTX *ctx,\n                                                   EVP_PKEY
      *pkey))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1902
    functionName: EVP_PKEY_meth_get_keygen
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_keygen(const EVP_PKEY_METHOD *pmeth,\n                              int
      (**pkeygen_init) (EVP_PKEY_CTX *ctx),\n                              int (**pkeygen)
      (EVP_PKEY_CTX *ctx,\n                                               EVP_PKEY
      *pkey))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1915
    functionName: EVP_PKEY_meth_get_sign
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_sign(const EVP_PKEY_METHOD *pmeth,\n                            int
      (**psign_init) (EVP_PKEY_CTX *ctx),\n                            int (**psign)
      (EVP_PKEY_CTX *ctx,\n                                           unsigned char
      *sig, size_t *siglen,\n                                           const unsigned
      char *tbs,\n                                           size_t tbslen))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1929
    functionName: EVP_PKEY_meth_get_verify
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_verify(const EVP_PKEY_METHOD *pmeth,\n                              int
      (**pverify_init) (EVP_PKEY_CTX *ctx),\n                              int (**pverify)
      (EVP_PKEY_CTX *ctx,\n                                               const unsigned
      char *sig,\n                                               size_t siglen,\n
      \                                              const unsigned char *tbs,\n                                               size_t
      tbslen))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1947
    functionName: EVP_PKEY_meth_get_verify_recover
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_verify_recover(const EVP_PKEY_METHOD *pmeth,\n
      \                                     int (**pverify_recover_init) (EVP_PKEY_CTX\n
      \                                                                   *ctx),\n
      \                                     int (**pverify_recover) (EVP_PKEY_CTX\n
      \                                                              *ctx,\n                                                               unsigned
      char\n                                                               *sig,\n
      \                                                              size_t *siglen,\n
      \                                                              const unsigned\n
      \                                                              char *tbs,\n
      \                                                              size_t tbslen))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1961
    functionName: EVP_PKEY_meth_get_signctx
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_signctx(const EVP_PKEY_METHOD *pmeth,\n                               int
      (**psignctx_init) (EVP_PKEY_CTX *ctx,\n                                                      EVP_MD_CTX
      *mctx),\n                               int (**psignctx) (EVP_PKEY_CTX *ctx,\n
      \                                                unsigned char *sig,\n                                                 size_t
      *siglen,\n                                                 EVP_MD_CTX *mctx))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1975
    functionName: EVP_PKEY_meth_get_verifyctx
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_verifyctx(const EVP_PKEY_METHOD *pmeth,\n                                 int
      (**pverifyctx_init) (EVP_PKEY_CTX *ctx,\n                                                          EVP_MD_CTX
      *mctx),\n                                 int (**pverifyctx) (EVP_PKEY_CTX *ctx,\n
      \                                                    const unsigned char *sig,\n
      \                                                    int siglen,\n                                                     EVP_MD_CTX
      *mctx))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1989
    functionName: EVP_PKEY_meth_get_encrypt
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_encrypt(const EVP_PKEY_METHOD *pmeth,\n                               int
      (**pencrypt_init) (EVP_PKEY_CTX *ctx),\n                               int (**pencryptfn)
      (EVP_PKEY_CTX *ctx,\n                                                   unsigned
      char *out,\n                                                   size_t *outlen,\n
      \                                                  const unsigned char *in,\n
      \                                                  size_t inlen))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2003
    functionName: EVP_PKEY_meth_get_decrypt
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_decrypt(const EVP_PKEY_METHOD *pmeth,\n                               int
      (**pdecrypt_init) (EVP_PKEY_CTX *ctx),\n                               int (**pdecrypt)
      (EVP_PKEY_CTX *ctx,\n                                                 unsigned
      char *out,\n                                                 size_t *outlen,\n
      \                                                const unsigned char *in,\n
      \                                                size_t inlen))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2015
    functionName: EVP_PKEY_meth_get_derive
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_derive(const EVP_PKEY_METHOD *pmeth,\n                              int
      (**pderive_init) (EVP_PKEY_CTX *ctx),\n                              int (**pderive)
      (EVP_PKEY_CTX *ctx,\n                                               unsigned
      char *key,\n                                               size_t *keylen))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2028
    functionName: EVP_PKEY_meth_get_ctrl
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_ctrl(const EVP_PKEY_METHOD *pmeth,\n                            int
      (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1,\n                                           void
      *p2),\n                            int (**pctrl_str) (EVP_PKEY_CTX *ctx,\n                                               const
      char *type,\n                                               const char *value))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2036
    functionName: EVP_PKEY_meth_get_digestsign
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_digestsign(const EVP_PKEY_METHOD *pmeth,\n
      \   int (**digestsign) (EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen,\n
      \                       const unsigned char *tbs, size_t tbslen))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2045
    functionName: EVP_PKEY_meth_get_digestverify
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_digestverify(const EVP_PKEY_METHOD *pmeth,\n
      \   int (**digestverify) (EVP_MD_CTX *ctx, const unsigned char *sig,\n                          size_t
      siglen, const unsigned char *tbs,\n                          size_t tbslen))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2052
    functionName: EVP_PKEY_meth_get_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth,\n                             int
      (**pcheck) (EVP_PKEY *pkey))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2059
    functionName: EVP_PKEY_meth_get_public_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_public_check(const EVP_PKEY_METHOD *pmeth,\n
      \                                   int (**pcheck) (EVP_PKEY *pkey))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2066
    functionName: EVP_PKEY_meth_get_param_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_param_check(const EVP_PKEY_METHOD *pmeth,\n
      \                                  int (**pcheck) (EVP_PKEY *pkey))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pmeth
    argTypes:
    - EVP_PKEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2074
    functionName: EVP_PKEY_meth_get_digest_custom
    functionSourceFile: /src/openssl/crypto/evp/pmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_meth_get_digest_custom(const EVP_PKEY_METHOD *pmeth,\n
      \                                    int (**pdigest_custom) (EVP_PKEY_CTX *ctx,\n
      \                                                            EVP_MD_CTX *mctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/asymcipher.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: evp_asym_cipher_free
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - EVP_ASYM_CIPHER_free
    linkageType: ''
    returnType: void
    signature: void evp_asym_cipher_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_ASYM_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/asymcipher.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: evp_asym_cipher_up_ref
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - EVP_ASYM_CIPHER_up_ref
    linkageType: ''
    returnType: int
    signature: int evp_asym_cipher_up_ref(void *data)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:43,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/asymcipher.c:47,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:50,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/asymcipher.c:52,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:57,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/asymcipher.c:64,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:67,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/asymcipher.c:71,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:75,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/asymcipher.c:104,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/asymcipher.c:105,1
    - Dst: EVP_ASYM_CIPHER_fetch
      Src: /src/openssl/crypto/evp/asymcipher.c:109,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:112,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:115,1
    - Dst: evp_asym_cipher_fetch_from_prov
      Src: /src/openssl/crypto/evp/asymcipher.c:117,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/asymcipher.c:136,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/asymcipher.c:137,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:140,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/asymcipher.c:143,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/asymcipher.c:147,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:151,1
    - Dst: EVP_ASYM_CIPHER*::newctx
      Src: /src/openssl/crypto/evp/asymcipher.c:156,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/asymcipher.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:159,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/asymcipher.c:167,1
    - Dst: EVP_ASYM_CIPHER*::encrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:172,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/asymcipher.c:176,1
    - Dst: EVP_ASYM_CIPHER*::decrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:184,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/asymcipher.c:190,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:198,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/asymcipher.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:203,1
    - Dst: EVP_PKEY_CTX*::pmeth::encrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:210,1
    - Dst: EVP_PKEY_CTX*::pmeth::decrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:218,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/asymcipher.c:224,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/asymcipher.c:227,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 130
    argCount: 3
    argNames:
    - ctx
    - operation
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 229
    functionName: evp_pkey_asym_cipher_init
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - EVP_ASYM_CIPHER_free
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - ERR_pop_to_mark
    - EVP_ASYM_CIPHER_fetch
    - ossl_assert
    - evp_pkey_export_to_provider
    - evp_keymgmt_fetch_from_prov
    - ERR_clear_last_mark
    - evp_pkey_ctx_is_legacy
    - evp_asym_cipher_fetch_from_prov
    - evp_pkey_ctx_free_old_ops
    - ossl_provider_ctx
    - EVP_ASYM_CIPHER*::encrypt_init
    - EVP_PKEY_CTX*::pmeth::decrypt_init
    - ERR_raise_data
    - EVP_ASYM_CIPHER_get0_provider
    - EVP_KEYMGMT_get0_provider
    - EVP_ASYM_CIPHER*::newctx
    - EVP_ASYM_CIPHER*::decrypt_init
    - EVP_PKEY_CTX*::pmeth::encrypt_init
    - ERR_set_mark
    - EVP_KEYMGMT_get0_name
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_asym_cipher_init(EVP_PKEY_CTX *ctx, int operation,\n
      \                                    const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asym_cipher_init
      Src: /src/openssl/crypto/evp/asymcipher.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: EVP_PKEY_encrypt_init
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - evp_pkey_asym_cipher_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asym_cipher_init
      Src: /src/openssl/crypto/evp/asymcipher.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: EVP_PKEY_encrypt_init_ex
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - evp_pkey_asym_cipher_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_encrypt_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:255,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:264,1
    - Dst: EVP_ASYM_CIPHER*::encrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:265,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:266,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/asymcipher.c:267,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:274,1
    - Dst: M_check_autoarg
      Src: /src/openssl/crypto/evp/asymcipher.c:277,1
    - Dst: EVP_PKEY_CTX*::pmeth::encrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 279
    functionName: EVP_PKEY_encrypt
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - EVP_PKEY_CTX*::pmeth::encrypt
    - EVP_ASYM_CIPHER*::encrypt
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx,\n                     unsigned
      char *out, size_t *outlen,\n                     const unsigned char *in, size_t
      inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asym_cipher_init
      Src: /src/openssl/crypto/evp/asymcipher.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: EVP_PKEY_decrypt_init
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 1
    functionsReached:
    - evp_pkey_asym_cipher_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asym_cipher_init
      Src: /src/openssl/crypto/evp/asymcipher.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: EVP_PKEY_decrypt_init_ex
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - evp_pkey_asym_cipher_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_decrypt_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:300,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:305,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:314,1
    - Dst: EVP_ASYM_CIPHER*::decrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:315,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:316,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/asymcipher.c:317,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/asymcipher.c:319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:325,1
    - Dst: M_check_autoarg
      Src: /src/openssl/crypto/evp/asymcipher.c:328,1
    - Dst: EVP_PKEY_CTX*::pmeth::decrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 330
    functionName: EVP_PKEY_decrypt
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 1
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    - EVP_PKEY_CTX*::pmeth::decrypt
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - EVP_ASYM_CIPHER*::decrypt
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx,\n                     unsigned
      char *out, size_t *outlen,\n                     const unsigned char *in, size_t
      inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:337,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/asymcipher.c:338,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:340,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:343,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/asymcipher.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 6
    argNames:
    - ctx
    - outp
    - outlenp
    - expected_outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: evp_pkey_decrypt_alloc
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_PKEY_decrypt
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_decrypt_alloc(EVP_PKEY_CTX *ctx, unsigned char **outp,\n
      \                          size_t *outlenp, size_t expected_outlen,\n                           const
      unsigned char *in, size_t inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/asymcipher.c:353,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/asymcipher.c:358,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/asymcipher.c:359,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/asymcipher.c:360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/asymcipher.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 367
    functionName: evp_asym_cipher_new
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - ossl_provider_up_ref
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: EVP_ASYM_CIPHER
    signature: EVP_ASYM_CIPHER *evp_asym_cipher_new(OSSL_PROVIDER *prov)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: evp_asym_cipher_new
      Src: /src/openssl/crypto/evp/asymcipher.c:378,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:379,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/asymcipher.c:384,1
    - Dst: OSSL_FUNC_asym_cipher_newctx
      Src: /src/openssl/crypto/evp/asymcipher.c:393,1
    - Dst: OSSL_FUNC_asym_cipher_encrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:399,1
    - Dst: OSSL_FUNC_asym_cipher_encrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:405,1
    - Dst: OSSL_FUNC_asym_cipher_decrypt_init
      Src: /src/openssl/crypto/evp/asymcipher.c:411,1
    - Dst: OSSL_FUNC_asym_cipher_decrypt
      Src: /src/openssl/crypto/evp/asymcipher.c:417,1
    - Dst: OSSL_FUNC_asym_cipher_freectx
      Src: /src/openssl/crypto/evp/asymcipher.c:423,1
    - Dst: OSSL_FUNC_asym_cipher_dupctx
      Src: /src/openssl/crypto/evp/asymcipher.c:429,1
    - Dst: OSSL_FUNC_asym_cipher_get_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:435,1
    - Dst: OSSL_FUNC_asym_cipher_gettable_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:442,1
    - Dst: OSSL_FUNC_asym_cipher_set_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:449,1
    - Dst: OSSL_FUNC_asym_cipher_settable_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:456,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/asymcipher.c:476,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/crypto/evp/asymcipher.c:482,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 90
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 484
    functionName: evp_asym_cipher_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_asym_cipher_encrypt_init
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_asym_cipher_gettable_ctx_params
    - EVP_ASYM_CIPHER_free
    - ERR_raise
    - OSSL_FUNC_asym_cipher_get_ctx_params
    - OSSL_FUNC_asym_cipher_decrypt
    - OSSL_FUNC_asym_cipher_freectx
    - OSSL_FUNC_asym_cipher_set_ctx_params
    - OSSL_FUNC_asym_cipher_decrypt_init
    - OSSL_FUNC_asym_cipher_dupctx
    - OSSL_FUNC_asym_cipher_encrypt
    - OSSL_FUNC_asym_cipher_settable_ctx_params
    - OSSL_FUNC_asym_cipher_newctx
    - evp_asym_cipher_new
    linkageType: ''
    returnType: void
    signature: "void *evp_asym_cipher_from_algorithm(int name_id,\n                                            const
      OSSL_ALGORITHM *algodef,\n                                            OSSL_PROVIDER
      *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/asymcipher.c:492,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/asymcipher.c:495,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/asymcipher.c:496,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/asymcipher.c:497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/asymcipher.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 499
    functionName: EVP_ASYM_CIPHER_free
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void EVP_ASYM_CIPHER_free(EVP_ASYM_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/asymcipher.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: EVP_ASYM_CIPHER_up_ref
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 2
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_ASYM_CIPHER_up_ref(EVP_ASYM_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: EVP_ASYM_CIPHER_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_ASYM_CIPHER_get0_provider(const EVP_ASYM_CIPHER
      *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/asymcipher.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: EVP_ASYM_CIPHER_fetch
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 1
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_ASYM_CIPHER
    signature: "EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char
      *algorithm,\n                                       const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/asymcipher.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 532
    functionName: evp_asym_cipher_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 1
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_ASYM_CIPHER
    signature: "EVP_ASYM_CIPHER *evp_asym_cipher_fetch_from_prov(OSSL_PROVIDER *prov,\n
      \                                                const char *algorithm,\n                                                 const
      char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/asymcipher.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cipher
    - name
    argTypes:
    - EVP_ASYM_CIPHER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: EVP_ASYM_CIPHER_is_a
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_ASYM_CIPHER_is_a(const EVP_ASYM_CIPHER *cipher, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: evp_asym_cipher_get_number
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_asym_cipher_get_number(const EVP_ASYM_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: EVP_ASYM_CIPHER_get0_name
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_ASYM_CIPHER_get0_name(const EVP_ASYM_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: EVP_ASYM_CIPHER_get0_description
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_ASYM_CIPHER_get0_description(const EVP_ASYM_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/asymcipher.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: EVP_ASYM_CIPHER_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_ASYM_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,\n                                     void
      (*fn)(EVP_ASYM_CIPHER *cipher,\n                                                void
      *arg),\n                                     void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/asymcipher.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - data
    argTypes:
    - EVP_ASYM_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 575
    functionName: EVP_ASYM_CIPHER_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_ASYM_CIPHER_names_do_all(const EVP_ASYM_CIPHER *cipher,\n
      \                                void (*fn)(const char *name, void *data),\n
      \                                void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/asymcipher.c:584,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:584,1
    - Dst: EVP_ASYM_CIPHER*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cip
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 586
    functionName: EVP_ASYM_CIPHER_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - EVP_ASYM_CIPHER*::gettable_ctx_params
    - ossl_provider_ctx
    - EVP_ASYM_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_ASYM_CIPHER_gettable_ctx_params(const EVP_ASYM_CIPHER
      *cip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/asymcipher.c:595,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/asymcipher.c:595,1
    - Dst: EVP_ASYM_CIPHER*::settable_ctx_params
      Src: /src/openssl/crypto/evp/asymcipher.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cip
    argTypes:
    - EVP_ASYM_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 597
    functionName: EVP_ASYM_CIPHER_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/asymcipher.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_ASYM_CIPHER*::settable_ctx_params
    - EVP_ASYM_CIPHER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_ASYM_CIPHER_settable_ctx_params(const EVP_ASYM_CIPHER
      *cip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/p5_crpt2.c:31,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/p5_crpt2.c:39,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/evp/p5_crpt2.c:44,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/evp/p5_crpt2.c:47,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:48,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:51,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/p5_crpt2.c:53,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:54,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/p5_crpt2.c:56,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:57,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p5_crpt2.c:59,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/evp/p5_crpt2.c:60,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:63,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:66,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:67,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:69,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:70,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:74,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:75,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:78,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/evp/p5_crpt2.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 10
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - digest
    - keylen
    - out
    - libctx
    - propq
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - EVP_MD*
    - int
    - unsigned char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 81
    functionName: ossl_pkcs5_pbkdf2_hmac_ex
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - BIO_hex_string
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_end
    - strlen
    - EVP_KDF_derive
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ossl_pkcs5_pbkdf2_hmac_ex(const char *pass, int passlen,\n                              const
      unsigned char *salt, int saltlen, int iter,\n                              const
      EVP_MD *digest, int keylen, unsigned char *out,\n                              OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:66,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:67,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:69,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:70,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:74,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:75,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/evp/p5_crpt2.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - BIO_hex_string
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(PKCS5V2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - digest
    - keylen
    - out
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - EVP_MD*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: PKCS5_PBKDF2_HMAC
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 3
    functionsReached:
    - ossl_pkcs5_pbkdf2_hmac_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, const unsigned
      char *salt,\n                      int saltlen, int iter, const EVP_MD *digest,
      int keylen,\n                      unsigned char *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/p5_crpt2.c:99,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:100,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - iter
    - keylen
    - out
    argTypes:
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: PKCS5_PBKDF2_HMAC_SHA1
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs5_pbkdf2_hmac_ex
    - EVP_MD_fetch
    - EVP_MD_free
    linkageType: ''
    returnType: int
    signature: "int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen,\n                           const
      unsigned char *salt, int saltlen, int iter,\n                           int
      keylen, unsigned char *out)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/evp/p5_crpt2.c:125,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/evp/p5_crpt2.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:127,1
    - Dst: EVP_PBE_find_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:132,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/evp/p5_crpt2.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:134,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/evp/p5_crpt2.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:142,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p5_crpt2.c:146,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/evp/p5_crpt2.c:147,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/crypto/evp/p5_crpt2.c:150,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/p5_crpt2.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:154,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p5_crpt2.c:157,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:160,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/evp/p5_crpt2.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:163,1
    - Dst: kdf
      Src: /src/openssl/crypto/evp/p5_crpt2.c:166,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:168,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 9
    argNames:
    - ctx
    - pass
    - passlen
    - param
    - c
    - md
    - en_de
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 171
    functionName: PKCS5_v2_PBE_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2txt
    - kdf
    - ERR_pop_to_mark
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - EVP_CIPHER_asn1_to_param
    - ASN1_TYPE_unpack_sequence
    - EVP_PBE_find_ex
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_get_cipherbyname
    - EVP_CIPHER_free
    - ERR_clear_last_mark
    - PBE2PARAM_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int PKCS5_v2_PBE_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,
      int passlen,\n                             ASN1_TYPE *param, const EVP_CIPHER
      *c,\n                             const EVP_MD *md, int en_de,\n                             OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_v2_PBE_keyivgen_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pass
    - passlen
    - param
    - c
    - md
    - en_de
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 6
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: PKCS5_v2_PBE_keyivgen
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - PKCS5_v2_PBE_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int
      passlen,\n                          ASN1_TYPE *param, const EVP_CIPHER *c,\n
      \                         const EVP_MD *md, int en_de)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/evp/p5_crpt2.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:195,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/p5_crpt2.c:198,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/p5_crpt2.c:199,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/evp/p5_crpt2.c:203,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/evp/p5_crpt2.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:206,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/p5_crpt2.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:212,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/evp/p5_crpt2.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:220,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/evp/p5_crpt2.c:225,1
    - Dst: EVP_PBE_find
      Src: /src/openssl/crypto/evp/p5_crpt2.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:230,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p5_crpt2.c:234,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/p5_crpt2.c:235,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p5_crpt2.c:235,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/evp/p5_crpt2.c:237,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/p5_crpt2.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:240,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p5_crpt2.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p5_crpt2.c:246,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/evp/p5_crpt2.c:253,1
    - Dst: ossl_pkcs5_pbkdf2_hmac_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:254,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:257,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p5_crpt2.c:259,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:260,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/p5_crpt2.c:261,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 9
    argNames:
    - ctx
    - pass
    - passlen
    - param
    - c
    - md
    - en_de
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 263
    functionName: PKCS5_v2_PBKDF2_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_MD_free
    - ERR_raise
    - EVP_PBE_find
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_get_key_length
    - EVP_get_digestbynid
    - ERR_clear_last_mark
    - OBJ_obj2nid
    - ossl_pkcs5_pbkdf2_hmac_ex
    - OPENSSL_assert
    - OBJ_nid2sn
    - EVP_CipherInit_ex
    - PBKDF2PARAM_free
    - EVP_MD_fetch
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - ASN1_TYPE_unpack_sequence
    - OPENSSL_cleanse
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: "int PKCS5_v2_PBKDF2_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,\n
      \                               int passlen, ASN1_TYPE *param,\n                                const
      EVP_CIPHER *c, const EVP_MD *md, int en_de,\n                                OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_v2_PBKDF2_keyivgen_ex
      Src: /src/openssl/crypto/evp/p5_crpt2.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pass
    - passlen
    - param
    - c
    - md
    - en_de
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 6
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: PKCS5_v2_PBKDF2_keyivgen
    functionSourceFile: /src/openssl/crypto/evp/p5_crpt2.c
    functionUses: 0
    functionsReached:
    - PKCS5_v2_PBKDF2_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS5_v2_PBKDF2_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass,\n
      \                            int passlen, ASN1_TYPE *param,\n                             const
      EVP_CIPHER *c, const EVP_MD *md, int en_de)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/dh_ctrl.c:21,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/dh_ctrl.c:22,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/dh_ctrl.c:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: dh_paramgen_check
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_GEN_OP
    - ERR_raise
    - evp_pkey_ctx_is_legacy
    linkageType: ''
    returnType: int
    signature: int dh_paramgen_check(EVP_PKEY_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/dh_ctrl.c:36,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/dh_ctrl.c:37,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/dh_ctrl.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: dh_param_derive_check
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - ERR_raise
    - evp_pkey_ctx_is_legacy
    linkageType: ''
    returnType: int
    signature: int dh_param_derive_check(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:54,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/dh_ctrl.c:57,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:58,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - gindex
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: EVP_PKEY_CTX_set_dh_paramgen_gindex
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_set_params_strict
    - dh_paramgen_check
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:70,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/dh_ctrl.c:73,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:75,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - seed
    - seedlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: EVP_PKEY_CTX_set_dh_paramgen_seed
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - dh_paramgen_check
    - evp_pkey_ctx_set_params_strict
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_dh_paramgen_seed(EVP_PKEY_CTX *ctx,\n                                      const
      unsigned char *seed,\n                                      size_t seedlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - typ
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: EVP_PKEY_CTX_set_dh_paramgen_type
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_paramgen_type(EVP_PKEY_CTX *ctx, int typ)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:96,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/dh_ctrl.c:99,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:100,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pbits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: EVP_PKEY_CTX_set_dh_paramgen_prime_len
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    - dh_paramgen_check
    - evp_pkey_ctx_set_params_strict
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_paramgen_prime_len(EVP_PKEY_CTX *ctx, int pbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:110,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/dh_ctrl.c:113,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:114,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - qbits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: EVP_PKEY_CTX_set_dh_paramgen_subprime_len
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    - dh_paramgen_check
    - evp_pkey_ctx_set_params_strict
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_paramgen_subprime_len(EVP_PKEY_CTX *ctx, int
      qbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dh_paramgen_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:124,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/dh_ctrl.c:127,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:128,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - gen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: EVP_PKEY_CTX_set_dh_paramgen_generator
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_set_params_strict
    - dh_paramgen_check
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_paramgen_generator(EVP_PKEY_CTX *ctx, int gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - gen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: EVP_PKEY_CTX_set_dh_rfc5114
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_rfc5114(EVP_PKEY_CTX *ctx, int gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_set_dh_rfc5114
      Src: /src/openssl/crypto/evp/dh_ctrl.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - gen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: EVP_PKEY_CTX_set_dhx_rfc5114
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_dh_rfc5114
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dhx_rfc5114(EVP_PKEY_CTX *ctx, int gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nid
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: EVP_PKEY_CTX_set_dh_nid
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_nid(EVP_PKEY_CTX *ctx, int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/dh_ctrl.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/dh_ctrl.c:166,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/dh_ctrl.c:170,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:171,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pad
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: EVP_PKEY_CTX_set_dh_pad
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - ERR_raise
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_pad(EVP_PKEY_CTX *ctx, int pad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - kdf
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: EVP_PKEY_CTX_set_dh_kdf_type
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_kdf_type(EVP_PKEY_CTX *ctx, int kdf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: EVP_PKEY_CTX_get_dh_kdf_type
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_dh_kdf_type(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - oid
    argTypes:
    - EVP_PKEY_CTX*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: EVP_PKEY_CTX_set0_dh_kdf_oid
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set0_dh_kdf_oid(EVP_PKEY_CTX *ctx, ASN1_OBJECT *oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - oid
    argTypes:
    - EVP_PKEY_CTX*
    - ASN1_OBJECT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: EVP_PKEY_CTX_get0_dh_kdf_oid
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get0_dh_kdf_oid(EVP_PKEY_CTX *ctx, ASN1_OBJECT **oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: EVP_PKEY_CTX_set_dh_kdf_md
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dh_ctrl.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pmd
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: EVP_PKEY_CTX_get_dh_kdf_md
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_dh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD **pmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dh_param_derive_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:242,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/dh_ctrl.c:255,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:257,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/dh_ctrl.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - outlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 263
    functionName: EVP_PKEY_CTX_set_dh_kdf_outlen
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - dh_param_derive_check
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dh_kdf_outlen(EVP_PKEY_CTX *ctx, int outlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dh_param_derive_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:271,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/dh_ctrl.c:275,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:277,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:279,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/dh_ctrl.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - plen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 288
    functionName: EVP_PKEY_CTX_get_dh_kdf_outlen
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - dh_param_derive_check
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_get_params_strict
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_dh_kdf_outlen(EVP_PKEY_CTX *ctx, int *plen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dh_param_derive_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:298,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/dh_ctrl.c:302,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:309,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/dh_ctrl.c:313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/dh_ctrl.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - ukm
    - len
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 317
    functionName: EVP_PKEY_CTX_set0_dh_kdf_ukm
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - dh_param_derive_check
    - evp_pkey_ctx_set_params_strict
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char *ukm,
      int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dh_param_derive_check
      Src: /src/openssl/crypto/evp/dh_ctrl.c:326,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/dh_ctrl.c:330,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dh_ctrl.c:332,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/dh_ctrl.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/dh_ctrl.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - pukm
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 345
    functionName: EVP_PKEY_CTX_get0_dh_kdf_ukm
    functionSourceFile: /src/openssl/crypto/evp/dh_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - dh_param_derive_check
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get0_dh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char **pukm)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_find_ex
      Src: /src/openssl/crypto/evp/evp_pbe.c:109,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/evp/evp_pbe.c:109,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/evp/evp_pbe.c:114,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/evp/evp_pbe.c:116,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_pbe.c:117,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/evp_pbe.c:125,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/evp_pbe.c:128,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/evp/evp_pbe.c:129,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_pbe.c:129,1
    - Dst: EVP_get_cipherbynid
      Src: /src/openssl/crypto/evp/evp_pbe.c:132,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/evp_pbe.c:134,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_pbe.c:135,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_pbe.c:136,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/evp_pbe.c:139,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/evp_pbe.c:143,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/evp_pbe.c:144,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_pbe.c:144,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/evp/evp_pbe.c:147,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/evp_pbe.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pbe.c:151,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/evp_pbe.c:154,1
    - Dst: keygen_ex
      Src: /src/openssl/crypto/evp/evp_pbe.c:159,1
    - Dst: keygen
      Src: /src/openssl/crypto/evp/evp_pbe.c:161,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/evp_pbe.c:164,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/evp_pbe.c:165,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 8
    argNames:
    - pbe_obj
    - pass
    - passlen
    - param
    - ctx
    - en_de
    - libctx
    - propq
    argTypes:
    - ASN1_OBJECT*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER_CTX*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 168
    functionName: EVP_PBE_CipherInit_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - OPENSSL_strlcpy
    - ERR_pop_to_mark
    - strlen
    - keygen_ex
    - EVP_get_digestbynid
    - EVP_PBE_find_ex
    - EVP_CIPHER_free
    - keygen
    - ERR_clear_last_mark
    - OBJ_obj2nid
    - OBJ_nid2sn
    - ERR_raise_data
    - EVP_CIPHER_fetch
    - EVP_MD_fetch
    - i2t_ASN1_OBJECT
    - EVP_get_cipherbynid
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: "int EVP_PBE_CipherInit_ex(ASN1_OBJECT *pbe_obj, const char *pass,
      int passlen,\n                          ASN1_TYPE *param, EVP_CIPHER_CTX *ctx,
      int en_de,\n                          OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_CipherInit_ex
      Src: /src/openssl/crypto/evp/evp_pbe.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pbe_obj
    - pass
    - passlen
    - param
    - ctx
    - en_de
    argTypes:
    - ASN1_OBJECT*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: EVP_PBE_CipherInit
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached:
    - EVP_PBE_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int
      passlen,\n                       ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int
      en_de)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pbe1
    - pbe2
    argTypes:
    - EVP_PBE_CTL*
    - EVP_PBE_CTL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: pbe2_cmp
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pbe2_cmp(const EVP_PBE_CTL *pbe1, const EVP_PBE_CTL *pbe2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PBE_CTL**
    - EVP_PBE_CTL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: pbe_cmp
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pbe_cmp(const EVP_PBE_CTL *const *a, const EVP_PBE_CTL *const *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PBE_CTL_new
      Src: /src/openssl/crypto/evp/evp_pbe.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pbe.c:208,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/evp_pbe.c:213,1
    - Dst: sk_EVP_PBE_CTL_push
      Src: /src/openssl/crypto/evp/evp_pbe.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pbe.c:223,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_pbe.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - pbe_type
    - pbe_nid
    - cipher_nid
    - md_nid
    - keygen
    argTypes:
    - int
    - int
    - int
    - int
    - EVP_PBE_KEYGEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 231
    functionName: EVP_PBE_alg_add_type
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - sk_EVP_PBE_CTL_new
    - OPENSSL_free
    - sk_EVP_PBE_CTL_push
    linkageType: ''
    returnType: int
    signature: "int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid,\n
      \                        int md_nid, EVP_PBE_KEYGEN *keygen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_pbe.c:239,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/evp/evp_pbe.c:243,1
    - Dst: EVP_PBE_alg_add_type
      Src: /src/openssl/crypto/evp/evp_pbe.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - nid
    - cipher
    - md
    - keygen
    argTypes:
    - int
    - EVP_CIPHER*
    - EVP_MD*
    - EVP_PBE_KEYGEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: EVP_PBE_alg_add
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_type
    - EVP_CIPHER_get_nid
    - EVP_PBE_alg_add_type
    linkageType: ''
    returnType: int
    signature: "int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD
      *md,\n                    EVP_PBE_KEYGEN *keygen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PBE_CTL_sort
      Src: /src/openssl/crypto/evp/evp_pbe.c:264,1
    - Dst: sk_EVP_PBE_CTL_find
      Src: /src/openssl/crypto/evp/evp_pbe.c:265,1
    - Dst: sk_EVP_PBE_CTL_value
      Src: /src/openssl/crypto/evp/evp_pbe.c:266,1
    - Dst: OBJ_bsearch_pbe2
      Src: /src/openssl/crypto/evp/evp_pbe.c:269,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/evp_pbe.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - type
    - pbe_nid
    - pcnid
    - pmnid
    - pkeygen
    - pkeygen_ex
    argTypes:
    - int
    - int
    - int*
    - int*
    - EVP_PBE_KEYGEN**
    - EVP_PBE_KEYGEN_EX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 282
    functionName: EVP_PBE_find_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 2
    functionsReached:
    - sk_EVP_PBE_CTL_value
    - OBJ_bsearch_pbe2
    - sk_EVP_PBE_CTL_sort
    - sk_EVP_PBE_CTL_find
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: "int EVP_PBE_find_ex(int type, int pbe_nid, int *pcnid, int *pmnid,\n
      \                   EVP_PBE_KEYGEN **pkeygen, EVP_PBE_KEYGEN_EX **pkeygen_ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_find_ex
      Src: /src/openssl/crypto/evp/evp_pbe.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - type
    - pbe_nid
    - pcnid
    - pmnid
    - pkeygen
    argTypes:
    - int
    - int
    - int*
    - int*
    - EVP_PBE_KEYGEN**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: EVP_PBE_find
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 2
    functionsReached:
    - EVP_PBE_find_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_PBE_find(int type, int pbe_nid,\n                 int *pcnid,
      int *pmnid, EVP_PBE_KEYGEN **pkeygen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_pbe.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbe
    argTypes:
    - EVP_PBE_CTL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: free_evp_pbe_ctl
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_evp_pbe_ctl(EVP_PBE_CTL *pbe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PBE_CTL_pop_free
      Src: /src/openssl/crypto/evp/evp_pbe.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: EVP_PBE_cleanup
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached:
    - sk_EVP_PBE_CTL_pop_free
    linkageType: ''
    returnType: void
    signature: void EVP_PBE_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/evp_pbe.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ptype
    - ppbe_nid
    - num
    argTypes:
    - int*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: EVP_PBE_get
    functionSourceFile: /src/openssl/crypto/evp/evp_pbe.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/signature.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: evp_signature_free
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_free
    linkageType: ''
    returnType: void
    signature: void evp_signature_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/crypto/evp/signature.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: evp_signature_up_ref
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_up_ref
    linkageType: ''
    returnType: int
    signature: int evp_signature_up_ref(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/signature.c:35,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/signature.c:40,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/signature.c:41,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/signature.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/signature.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: evp_signature_new
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - ossl_provider_up_ref
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: EVP_SIGNATURE
    signature: EVP_SIGNATURE *evp_signature_new(OSSL_PROVIDER *prov)
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: evp_signature_new
      Src: /src/openssl/crypto/evp/signature.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:68,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/signature.c:73,1
    - Dst: OSSL_FUNC_signature_newctx
      Src: /src/openssl/crypto/evp/signature.c:83,1
    - Dst: OSSL_FUNC_signature_sign_init
      Src: /src/openssl/crypto/evp/signature.c:89,1
    - Dst: OSSL_FUNC_signature_sign
      Src: /src/openssl/crypto/evp/signature.c:95,1
    - Dst: OSSL_FUNC_signature_sign_message_init
      Src: /src/openssl/crypto/evp/signature.c:101,1
    - Dst: OSSL_FUNC_signature_sign_message_update
      Src: /src/openssl/crypto/evp/signature.c:108,1
    - Dst: OSSL_FUNC_signature_sign_message_final
      Src: /src/openssl/crypto/evp/signature.c:114,1
    - Dst: OSSL_FUNC_signature_verify_init
      Src: /src/openssl/crypto/evp/signature.c:119,1
    - Dst: OSSL_FUNC_signature_verify
      Src: /src/openssl/crypto/evp/signature.c:125,1
    - Dst: OSSL_FUNC_signature_verify_message_init
      Src: /src/openssl/crypto/evp/signature.c:131,1
    - Dst: OSSL_FUNC_signature_verify_message_update
      Src: /src/openssl/crypto/evp/signature.c:138,1
    - Dst: OSSL_FUNC_signature_verify_message_final
      Src: /src/openssl/crypto/evp/signature.c:144,1
    - Dst: OSSL_FUNC_signature_verify_recover_init
      Src: /src/openssl/crypto/evp/signature.c:150,1
    - Dst: OSSL_FUNC_signature_verify_recover
      Src: /src/openssl/crypto/evp/signature.c:157,1
    - Dst: OSSL_FUNC_signature_digest_sign_init
      Src: /src/openssl/crypto/evp/signature.c:163,1
    - Dst: OSSL_FUNC_signature_digest_sign_update
      Src: /src/openssl/crypto/evp/signature.c:170,1
    - Dst: OSSL_FUNC_signature_digest_sign_final
      Src: /src/openssl/crypto/evp/signature.c:176,1
    - Dst: OSSL_FUNC_signature_digest_sign
      Src: /src/openssl/crypto/evp/signature.c:182,1
    - Dst: OSSL_FUNC_signature_digest_verify_init
      Src: /src/openssl/crypto/evp/signature.c:188,1
    - Dst: OSSL_FUNC_signature_digest_verify_update
      Src: /src/openssl/crypto/evp/signature.c:195,1
    - Dst: OSSL_FUNC_signature_digest_verify_final
      Src: /src/openssl/crypto/evp/signature.c:201,1
    - Dst: OSSL_FUNC_signature_digest_verify
      Src: /src/openssl/crypto/evp/signature.c:207,1
    - Dst: OSSL_FUNC_signature_freectx
      Src: /src/openssl/crypto/evp/signature.c:212,1
    - Dst: OSSL_FUNC_signature_dupctx
      Src: /src/openssl/crypto/evp/signature.c:218,1
    - Dst: OSSL_FUNC_signature_get_ctx_params
      Src: /src/openssl/crypto/evp/signature.c:224,1
    - Dst: OSSL_FUNC_signature_gettable_ctx_params
      Src: /src/openssl/crypto/evp/signature.c:231,1
    - Dst: OSSL_FUNC_signature_set_ctx_params
      Src: /src/openssl/crypto/evp/signature.c:238,1
    - Dst: OSSL_FUNC_signature_settable_ctx_params
      Src: /src/openssl/crypto/evp/signature.c:245,1
    - Dst: OSSL_FUNC_signature_get_ctx_md_params
      Src: /src/openssl/crypto/evp/signature.c:252,1
    - Dst: OSSL_FUNC_signature_gettable_ctx_md_params
      Src: /src/openssl/crypto/evp/signature.c:259,1
    - Dst: OSSL_FUNC_signature_set_ctx_md_params
      Src: /src/openssl/crypto/evp/signature.c:266,1
    - Dst: OSSL_FUNC_signature_settable_ctx_md_params
      Src: /src/openssl/crypto/evp/signature.c:273,1
    - Dst: OSSL_FUNC_signature_query_key_types
      Src: /src/openssl/crypto/evp/signature.c:280,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:296,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:310,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:315,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:329,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:340,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:353,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:363,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:374,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:385,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:396,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:409,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:419,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:426,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:433,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:440,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:447,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/signature.c:455,1
    CyclomaticComplexity: 173
    EdgeCount: 173
    ICount: 272
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 457
    functionName: evp_signature_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_signature_query_key_types
    - OSSL_FUNC_signature_sign_message_final
    - ERR_raise
    - OSSL_FUNC_signature_set_ctx_md_params
    - OSSL_FUNC_signature_sign_message_init
    - OSSL_FUNC_signature_verify_recover
    - OSSL_FUNC_signature_digest_sign_final
    - OSSL_FUNC_signature_digest_verify_final
    - OSSL_FUNC_signature_settable_ctx_md_params
    - OSSL_FUNC_signature_verify_message_init
    - OSSL_FUNC_signature_verify
    - OSSL_FUNC_signature_newctx
    - OSSL_FUNC_signature_verify_recover_init
    - OSSL_FUNC_signature_get_ctx_params
    - OSSL_FUNC_signature_gettable_ctx_params
    - OSSL_FUNC_signature_digest_sign_init
    - OSSL_FUNC_signature_digest_verify_init
    - OSSL_FUNC_signature_set_ctx_params
    - OSSL_FUNC_signature_sign_message_update
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_signature_digest_sign_update
    - OSSL_FUNC_signature_settable_ctx_params
    - EVP_SIGNATURE_free
    - OSSL_FUNC_signature_sign
    - OSSL_FUNC_signature_digest_verify
    - OSSL_FUNC_signature_gettable_ctx_md_params
    - ERR_raise_data
    - OSSL_FUNC_signature_verify_init
    - OSSL_FUNC_signature_verify_message_update
    - OSSL_FUNC_signature_digest_sign
    - evp_signature_new
    - OSSL_FUNC_signature_sign_init
    - OSSL_FUNC_signature_freectx
    - OSSL_FUNC_signature_digest_verify_update
    - OSSL_FUNC_signature_verify_message_final
    - OSSL_FUNC_signature_get_ctx_md_params
    - OSSL_FUNC_signature_dupctx
    linkageType: ''
    returnType: void
    signature: "void *evp_signature_from_algorithm(int name_id,\n                                          const
      OSSL_ALGORITHM *algodef,\n                                          OSSL_PROVIDER
      *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/signature.c:465,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/signature.c:468,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/signature.c:469,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/signature.c:470,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/signature.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 472
    functionName: EVP_SIGNATURE_free
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void EVP_SIGNATURE_free(EVP_SIGNATURE *signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/signature.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: EVP_SIGNATURE_up_ref
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 2
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_SIGNATURE_up_ref(EVP_SIGNATURE *signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: EVP_SIGNATURE_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_SIGNATURE_get0_provider(const EVP_SIGNATURE *signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/signature.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: EVP_SIGNATURE_fetch
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 1
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_SIGNATURE
    signature: "EVP_SIGNATURE *EVP_SIGNATURE_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,\n
      \                                  const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/signature.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 505
    functionName: evp_signature_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 1
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_SIGNATURE
    signature: "EVP_SIGNATURE *evp_signature_fetch_from_prov(OSSL_PROVIDER *prov,\n
      \                                            const char *algorithm,\n                                             const
      char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/signature.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - signature
    - name
    argTypes:
    - EVP_SIGNATURE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: EVP_SIGNATURE_is_a
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: evp_signature_get_number
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_signature_get_number(const EVP_SIGNATURE *signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: EVP_SIGNATURE_get0_name
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_SIGNATURE_get0_name(const EVP_SIGNATURE *signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signature
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: EVP_SIGNATURE_get0_description
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_SIGNATURE_get0_description(const EVP_SIGNATURE *signature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/signature.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: EVP_SIGNATURE_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_SIGNATURE_do_all_provided(OSSL_LIB_CTX *libctx,\n                                   void
      (*fn)(EVP_SIGNATURE *signature,\n                                              void
      *arg),\n                                   void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/signature.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - EVP_SIGNATURE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: EVP_SIGNATURE_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_SIGNATURE_names_do_all(const EVP_SIGNATURE *signature,\n                               void
      (*fn)(const char *name, void *data),\n                               void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/signature.c:558,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:558,1
    - Dst: EVP_SIGNATURE*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/signature.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 560
    functionName: EVP_SIGNATURE_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_SIGNATURE*::gettable_ctx_params
    - EVP_SIGNATURE_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_SIGNATURE_gettable_ctx_params(const EVP_SIGNATURE *sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/signature.c:569,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:569,1
    - Dst: EVP_SIGNATURE*::settable_ctx_params
      Src: /src/openssl/crypto/evp/signature.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - EVP_SIGNATURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: EVP_SIGNATURE_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE*::settable_ctx_params
    - ossl_provider_ctx
    - EVP_SIGNATURE_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_SIGNATURE_settable_ctx_params(const EVP_SIGNATURE *sig)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:585,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/signature.c:589,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:601,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:615,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/signature.c:617,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/signature.c:618,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/signature.c:621,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:624,1
    - Dst: EVP_SIGNATURE*::query_key_types
      Src: /src/openssl/crypto/evp/signature.c:638,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/evp/signature.c:640,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:643,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/signature.c:651,1
    - Dst: EVP_SIGNATURE_is_a
      Src: /src/openssl/crypto/evp/signature.c:652,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/signature.c:661,1
    - Dst: EVP_SIGNATURE_is_a
      Src: /src/openssl/crypto/evp/signature.c:664,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:669,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/crypto/evp/signature.c:674,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/signature.c:678,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/signature.c:680,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/signature.c:684,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:685,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/signature.c:692,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/signature.c:694,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:695,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/signature.c:699,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/signature.c:702,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:703,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/signature.c:732,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:733,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/crypto/evp/signature.c:738,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:740,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/signature.c:743,1
    - Dst: evp_signature_fetch_from_prov
      Src: /src/openssl/crypto/evp/signature.c:745,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/signature.c:765,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/signature.c:766,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/signature.c:769,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:772,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/signature.c:776,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/signature.c:780,1
    - Dst: EVP_SIGNATURE*::newctx
      Src: /src/openssl/crypto/evp/signature.c:789,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/signature.c:789,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:792,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:799,1
    - Dst: EVP_SIGNATURE*::sign_init
      Src: /src/openssl/crypto/evp/signature.c:804,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:808,1
    - Dst: EVP_SIGNATURE*::sign_message_init
      Src: /src/openssl/crypto/evp/signature.c:813,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:817,1
    - Dst: EVP_SIGNATURE*::verify_init
      Src: /src/openssl/crypto/evp/signature.c:822,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:826,1
    - Dst: EVP_SIGNATURE*::verify_message_init
      Src: /src/openssl/crypto/evp/signature.c:831,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:835,1
    - Dst: EVP_SIGNATURE*::verify_recover_init
      Src: /src/openssl/crypto/evp/signature.c:840,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:843,1
    - Dst: EVP_SIGNATURE*::freectx
      Src: /src/openssl/crypto/evp/signature.c:848,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/signature.c:859,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:860,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:868,1
    - Dst: EVP_PKEY_CTX*::pmeth::sign_init
      Src: /src/openssl/crypto/evp/signature.c:876,1
    - Dst: EVP_PKEY_CTX*::pmeth::verify_init
      Src: /src/openssl/crypto/evp/signature.c:881,1
    - Dst: EVP_PKEY_CTX*::pmeth::verify_recover_init
      Src: /src/openssl/crypto/evp/signature.c:886,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:889,1
    - Dst: evp_pkey_ctx_use_cached_data
      Src: /src/openssl/crypto/evp/signature.c:897,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:900,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/signature.c:903,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/signature.c:905,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 211
    argCount: 4
    argNames:
    - ctx
    - signature
    - operation
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_SIGNATURE*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 907
    functionName: evp_pkey_signature_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - EVP_SIGNATURE*::sign_init
    - EVP_SIGNATURE_get0_provider
    - EVP_SIGNATURE*::verify_recover_init
    - ERR_pop_to_mark
    - ossl_assert
    - evp_pkey_ctx_use_cached_data
    - EVP_SIGNATURE_is_a
    - EVP_SIGNATURE_up_ref
    - EVP_SIGNATURE*::query_key_types
    - evp_signature_fetch_from_prov
    - EVP_SIGNATURE*::verify_init
    - EVP_PKEY_CTX*::pmeth::verify_init
    - evp_pkey_export_to_provider
    - evp_keymgmt_fetch_from_prov
    - EVP_SIGNATURE*::sign_message_init
    - ERR_clear_last_mark
    - evp_pkey_ctx_is_legacy
    - EVP_SIGNATURE*::verify_message_init
    - EVP_SIGNATURE_free
    - evp_pkey_ctx_free_old_ops
    - ossl_provider_ctx
    - ERR_raise_data
    - EVP_SIGNATURE*::freectx
    - EVP_KEYMGMT_get0_provider
    - EVP_PKEY_CTX*::pmeth::sign_init
    - EVP_PKEY_CTX*::pmeth::verify_recover_init
    - ERR_set_mark
    - EVP_PKEY_CTX_is_a
    - EVP_KEYMGMT_get0_name
    - EVP_KEYMGMT_free
    - EVP_SIGNATURE*::newctx
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_signature_init(EVP_PKEY_CTX *ctx, EVP_SIGNATURE *signature,\n
      \                                  int operation, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 5
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: EVP_PKEY_sign_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 2
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 5
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: EVP_PKEY_sign_init_ex
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_sign_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algo
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_SIGNATURE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 5
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: EVP_PKEY_sign_init_ex2
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_sign_init_ex2(EVP_PKEY_CTX *ctx,\n                           EVP_SIGNATURE
      *algo, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algo
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_SIGNATURE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 925
    functionDepth: 5
    functionLinenumber: 925
    functionLinenumberEnd: 929
    functionName: EVP_PKEY_sign_message_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_sign_message_init(EVP_PKEY_CTX *ctx,\n                               EVP_SIGNATURE
      *algo, const OSSL_PARAM params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:939,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:944,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:951,1
    - Dst: EVP_SIGNATURE*::sign_message_update
      Src: /src/openssl/crypto/evp/signature.c:956,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 961
    functionName: EVP_PKEY_sign_message_update
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_SIGNATURE*::sign_message_update
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_sign_message_update(EVP_PKEY_CTX *ctx,\n                                 const
      unsigned char *in, size_t inlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:971,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:976,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:983,1
    - Dst: EVP_SIGNATURE*::sign_message_final
      Src: /src/openssl/crypto/evp/signature.c:988,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - sig
    - siglen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 994
    functionName: EVP_PKEY_sign_message_final
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE*::sign_message_final
    - ERR_raise
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_sign_message_final(EVP_PKEY_CTX *ctx,\n                                unsigned
      char *sig, size_t *siglen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1005,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1011,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1021,1
    - Dst: EVP_SIGNATURE*::sign
      Src: /src/openssl/crypto/evp/signature.c:1026,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1029,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1035,1
    - Dst: M_check_autoarg
      Src: /src/openssl/crypto/evp/signature.c:1039,1
    - Dst: EVP_PKEY_CTX*::pmeth::sign
      Src: /src/openssl/crypto/evp/signature.c:1040,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1041
    functionName: EVP_PKEY_sign
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 2
    functionsReached:
    - M_check_autoarg
    - ERR_raise
    - EVP_PKEY_CTX*::pmeth::sign
    - EVP_SIGNATURE*::sign
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_sign(EVP_PKEY_CTX *ctx,\n                  unsigned char
      *sig, size_t *siglen,\n                  const unsigned char *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 5
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: EVP_PKEY_verify_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 1
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 5
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: EVP_PKEY_verify_init_ex
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_verify_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algo
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_SIGNATURE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1053
    functionDepth: 5
    functionLinenumber: 1053
    functionLinenumberEnd: 1057
    functionName: EVP_PKEY_verify_init_ex2
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_verify_init_ex2(EVP_PKEY_CTX *ctx,\n                             EVP_SIGNATURE
      *algo, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algo
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_SIGNATURE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 5
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    functionName: EVP_PKEY_verify_message_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_verify_message_init(EVP_PKEY_CTX *ctx,\n                                 EVP_SIGNATURE
      *algo, const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1071,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/signature.c:1075,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/signature.c:1081,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/signature.c:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - sig
    - siglen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1065
    functionDepth: 3
    functionLinenumber: 1065
    functionLinenumberEnd: 1084
    functionName: EVP_PKEY_CTX_set_signature
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_signature(EVP_PKEY_CTX *ctx,\n                               const
      unsigned char *sig, size_t siglen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1094,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1099,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1106,1
    - Dst: EVP_SIGNATURE*::verify_message_update
      Src: /src/openssl/crypto/evp/signature.c:1111,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1116
    functionName: EVP_PKEY_verify_message_update
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ERR_raise_data
    - EVP_SIGNATURE*::verify_message_update
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_verify_message_update(EVP_PKEY_CTX *ctx,\n                                   const
      unsigned char *in, size_t inlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1130,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1137,1
    - Dst: EVP_SIGNATURE*::verify_message_final
      Src: /src/openssl/crypto/evp/signature.c:1143,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1148
    functionName: EVP_PKEY_verify_message_final
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_SIGNATURE*::verify_message_final
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_verify_message_final(EVP_PKEY_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1165,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1175,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::verify
      Src: /src/openssl/crypto/evp/signature.c:1180,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1189,1
    - Dst: EVP_PKEY_CTX*::pmeth::verify
      Src: /src/openssl/crypto/evp/signature.c:1193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1194
    functionName: EVP_PKEY_verify
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX*::op::sig::signature::verify
    - EVP_PKEY_CTX*::pmeth::verify
    - ERR_raise
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_verify(EVP_PKEY_CTX *ctx,\n                    const
      unsigned char *sig, size_t siglen,\n                    const unsigned char
      *tbs, size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1196
    functionDepth: 5
    functionLinenumber: 1196
    functionLinenumberEnd: 1199
    functionName: EVP_PKEY_verify_recover_init
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1201
    functionDepth: 5
    functionLinenumber: 1201
    functionLinenumberEnd: 1205
    functionName: EVP_PKEY_verify_recover_init_ex
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_verify_recover_init_ex(EVP_PKEY_CTX *ctx,\n                                    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_signature_init
      Src: /src/openssl/crypto/evp/signature.c:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algo
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_SIGNATURE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1207
    functionDepth: 5
    functionLinenumber: 1207
    functionLinenumberEnd: 1211
    functionName: EVP_PKEY_verify_recover_init_ex2
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - evp_pkey_signature_init
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_verify_recover_init_ex2(EVP_PKEY_CTX *ctx,\n                                     EVP_SIGNATURE
      *algo, const OSSL_PARAM params[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1227,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1237,1
    - Dst: EVP_SIGNATURE*::verify_recover
      Src: /src/openssl/crypto/evp/signature.c:1242,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/signature.c:1245,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/signature.c:1250,1
    - Dst: M_check_autoarg
      Src: /src/openssl/crypto/evp/signature.c:1253,1
    - Dst: EVP_PKEY_CTX*::pmeth::verify_recover
      Src: /src/openssl/crypto/evp/signature.c:1254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - rout
    - routlen
    - sig
    - siglen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1255
    functionName: EVP_PKEY_verify_recover
    functionSourceFile: /src/openssl/crypto/evp/signature.c
    functionUses: 0
    functionsReached:
    - M_check_autoarg
    - EVP_PKEY_CTX*::pmeth::verify_recover
    - ERR_raise
    - ERR_raise_data
    - EVP_SIGNATURE*::verify_recover
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx,\n                            unsigned
      char *rout, size_t *routlen,\n                            const unsigned char
      *sig, size_t siglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_blake2s_param_init
      Src: /src/openssl/crypto/evp/legacy_blake2.c:22,1
    - Dst: ossl_blake2s_init
      Src: /src/openssl/crypto/evp/legacy_blake2.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - C
    argTypes:
    - BLAKE2S_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: blake2s_init
    functionSourceFile: /src/openssl/crypto/evp/legacy_blake2.c
    functionUses: 1
    functionsReached:
    - ossl_blake2s_param_init
    - ossl_blake2s_init
    linkageType: ''
    returnType: int
    signature: int blake2s_init(BLAKE2S_CTX *C)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_blake2b_param_init
      Src: /src/openssl/crypto/evp/legacy_blake2.c:29,1
    - Dst: ossl_blake2b_init
      Src: /src/openssl/crypto/evp/legacy_blake2.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - C
    argTypes:
    - BLAKE2B_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: blake2b_init
    functionSourceFile: /src/openssl/crypto/evp/legacy_blake2.c
    functionUses: 1
    functionsReached:
    - ossl_blake2b_init
    - ossl_blake2b_param_init
    linkageType: ''
    returnType: int
    signature: int blake2b_init(BLAKE2B_CTX *C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: EVP_blake2b512
    functionSourceFile: /src/openssl/crypto/evp/legacy_blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_blake2b512(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: EVP_blake2s256
    functionSourceFile: /src/openssl/crypto/evp/legacy_blake2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_blake2s256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - arg
    - ','
    - arglen
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: M_check_autoarg
    functionSourceFile: /src/openssl/crypto/evp/evp_local.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M_check_autoarg(ctx, arg, arglen, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:22,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:22,1
    - Dst: EVP_SKEYMGMT*::generate
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - skeymgmt
    - params
    argTypes:
    - EVP_SKEYMGMT*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: evp_skeymgmt_generate
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT*::generate
    - ossl_provider_ctx
    - EVP_SKEYMGMT_get0_provider
    linkageType: ''
    returnType: void
    signature: void *evp_skeymgmt_generate(const EVP_SKEYMGMT *skeymgmt, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:29,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:29,1
    - Dst: EVP_SKEYMGMT*::import
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - skeymgmt
    - selection
    - params
    argTypes:
    - EVP_SKEYMGMT*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: evp_skeymgmt_import
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT*::import
    - ossl_provider_ctx
    - EVP_SKEYMGMT_get0_provider
    linkageType: ''
    returnType: void
    signature: void *evp_skeymgmt_import(const EVP_SKEYMGMT *skeymgmt, int selection,
      const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEYMGMT*::export
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - skeymgmt
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - EVP_SKEYMGMT*
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: evp_skeymgmt_export
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT*::export
    linkageType: ''
    returnType: int
    signature: "int evp_skeymgmt_export(const EVP_SKEYMGMT *skeymgmt, void *keydata,\n
      \                       int selection, OSSL_CALLBACK *param_cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEYMGMT*::free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - skeymgmt
    - keydata
    argTypes:
    - EVP_SKEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: evp_skeymgmt_freedata
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT*::free
    linkageType: ''
    returnType: void
    signature: void evp_skeymgmt_freedata(const EVP_SKEYMGMT *skeymgmt, void *keydata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:52,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:54,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: skeymgmt_new
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - EVP_SKEYMGMT_free
    linkageType: ''
    returnType: void
    signature: void *skeymgmt_new(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: skeymgmt_new
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:68,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:72,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:73,1
    - Dst: OSSL_FUNC_skeymgmt_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:82,1
    - Dst: OSSL_FUNC_skeymgmt_import
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:86,1
    - Dst: OSSL_FUNC_skeymgmt_export
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:90,1
    - Dst: OSSL_FUNC_skeymgmt_generate
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:94,1
    - Dst: OSSL_FUNC_skeymgmt_get_key_id
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:98,1
    - Dst: OSSL_FUNC_skeymgmt_imp_settable_params
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:102,1
    - Dst: OSSL_FUNC_skeymgmt_gen_settable_params
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:106,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:116,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:120,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:122,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 128
    functionName: skeymgmt_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_skeymgmt_get_key_id
    - ossl_algorithm_get1_first_name
    - ossl_provider_up_ref
    - ERR_raise
    - EVP_SKEYMGMT_free
    - OSSL_FUNC_skeymgmt_gen_settable_params
    - OSSL_FUNC_skeymgmt_free
    - OSSL_FUNC_skeymgmt_import
    - OSSL_FUNC_skeymgmt_export
    - OSSL_FUNC_skeymgmt_imp_settable_params
    - OSSL_FUNC_skeymgmt_generate
    - skeymgmt_new
    linkageType: ''
    returnType: void
    signature: "void *skeymgmt_from_algorithm(int name_id,\n                                     const
      OSSL_ALGORITHM *algodef,\n                                     OSSL_PROVIDER
      *prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - name
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: evp_skeymgmt_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_SKEYMGMT
    signature: "EVP_SKEYMGMT *evp_skeymgmt_fetch_from_prov(OSSL_PROVIDER *prov,\n
      \                                          const char *name,\n                                           const
      char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: EVP_SKEYMGMT_fetch
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_SKEYMGMT
    signature: "EVP_SKEYMGMT *EVP_SKEYMGMT_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,\n
      \                                const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: EVP_SKEYMGMT_up_ref
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_SKEYMGMT_up_ref(EVP_SKEYMGMT *skeymgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:169,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:170,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: EVP_SKEYMGMT_free
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void EVP_SKEYMGMT_free(EVP_SKEYMGMT *skeymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: EVP_SKEYMGMT_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_SKEYMGMT_get0_provider(const EVP_SKEYMGMT *skeymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: EVP_SKEYMGMT_get0_description
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_SKEYMGMT_get0_description(const EVP_SKEYMGMT *skeymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: EVP_SKEYMGMT_get0_name
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_SKEYMGMT_get0_name(const EVP_SKEYMGMT *skeymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - skeymgmt
    - name
    argTypes:
    - EVP_SKEYMGMT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: EVP_SKEYMGMT_is_a
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_SKEYMGMT_is_a(const EVP_SKEYMGMT *skeymgmt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: EVP_SKEYMGMT_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_SKEYMGMT_do_all_provided(OSSL_LIB_CTX *libctx,\n                                  void
      (*fn)(EVP_SKEYMGMT *skeymgmt, void *arg),\n                                  void
      *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - skeymgmt
    - data
    argTypes:
    - EVP_SKEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: EVP_SKEYMGMT_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_SKEYMGMT_names_do_all(const EVP_SKEYMGMT *skeymgmt,\n                              void
      (*fn)(const char *name, void *data),\n                              void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:227,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:227,1
    - Dst: EVP_SKEYMGMT*::gen_params
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: EVP_SKEYMGMT_get0_gen_settable_params
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT*::gen_params
    - ossl_provider_ctx
    - EVP_SKEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_SKEYMGMT_get0_gen_settable_params(const EVP_SKEYMGMT
      *skeymgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:239,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:239,1
    - Dst: EVP_SKEYMGMT*::imp_params
      Src: /src/openssl/crypto/evp/skeymgmt_meth.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: EVP_SKEYMGMT_get0_imp_settable_params
    functionSourceFile: /src/openssl/crypto/evp/skeymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_SKEYMGMT*::imp_params
    - EVP_SKEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_SKEYMGMT_get0_imp_settable_params(const EVP_SKEYMGMT
      *skeymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: BIO_f_cipher
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_cipher(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/bio_enc.c:68,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/evp/bio_enc.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_enc.c:73,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_enc.c:79,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: enc_new
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OPENSSL_zalloc
    - BIO_set_init
    - BIO_set_data
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int enc_new(BIO *bi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_enc.c:92,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/evp/bio_enc.c:96,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/bio_enc.c:97,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_enc.c:98,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: enc_free
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - BIO_set_init
    - BIO_set_data
    - EVP_CIPHER_CTX_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int enc_free(BIO *a)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_enc.c:112,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_enc.c:114,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_enc.c:123,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/bio_enc.c:134,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/evp/bio_enc.c:153,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:162,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:165,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/evp/bio_enc.c:182,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:185,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/evp/bio_enc.c:200,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:203,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_enc.c:225,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:232,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:233,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 235
    functionName: enc_read
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - BIO_clear_retry_flags
    - memcpy
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CipherFinal_ex
    - BIO_copy_next_retry
    - BIO_next
    - BIO_read
    - BIO_get_data
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int enc_read(BIO *b, char *out, int outl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_enc.c:243,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_enc.c:244,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:250,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_enc.c:253,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:255,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/evp/bio_enc.c:269,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:272,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_enc.c:282,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:284,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 295
    functionName: enc_write
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - EVP_CipherUpdate
    - BIO_clear_retry_flags
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int enc_write(BIO *b, const char *in, int inl)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_enc.c:307,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_enc.c:308,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:316,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/bio_enc.c:317,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:319,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:325,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:330,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:335,1
    - Dst: enc_write
      Src: /src/openssl/crypto/evp/bio_enc.c:342,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:355,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:367,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:368,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_enc.c:374,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:375,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_enc.c:376,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:381,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_enc.c:385,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/evp/bio_enc.c:386,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/crypto/evp/bio_enc.c:389,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:391,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:394,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 398
    functionName: enc_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - BIO_clear_retry_flags
    - EVP_CIPHER_CTX_copy
    - BIO_ctrl
    - EVP_CIPHER_CTX_is_encrypting
    - enc_write
    - BIO_set_init
    - EVP_CipherFinal_ex
    - EVP_CipherInit_ex
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long enc_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_enc.c:402,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/evp/bio_enc.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 408
    functionName: enc_callback_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long enc_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_enc.c:419,1
    - Dst: BIO_get_callback_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:423,1
    - Dst: callback_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:424,1
    - Dst: BIO_get_callback
      Src: /src/openssl/crypto/evp/bio_enc.c:430,1
    - Dst: callback
      Src: /src/openssl/crypto/evp/bio_enc.c:433,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_enc.c:439,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:441,1
    - Dst: callback_ex
      Src: /src/openssl/crypto/evp/bio_enc.c:445,1
    - Dst: callback
      Src: /src/openssl/crypto/evp/bio_enc.c:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - b
    - c
    - k
    - i
    - e
    argTypes:
    - BIO*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 452
    functionName: BIO_set_cipher
    functionSourceFile: /src/openssl/crypto/evp/bio_enc.c
    functionUses: 0
    functionsReached:
    - callback
    - callback_ex
    - BIO_get_callback
    - BIO_set_init
    - BIO_get_callback_ex
    - EVP_CipherInit_ex
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: "int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char
      *k,\n                   const unsigned char *i, int e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: EVP_md4
    functionSourceFile: /src/openssl/crypto/evp/legacy_md4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_md4(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:25,1
    - Dst: evp_skeymgmt_export
      Src: /src/openssl/crypto/evp/s_lib.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - skey
    - selection
    - export_cb
    - export_cbarg
    argTypes:
    - EVP_SKEY*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: EVP_SKEY_export
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - evp_skeymgmt_export
    linkageType: ''
    returnType: int
    signature: "int EVP_SKEY_export(const EVP_SKEY *skey, int selection,\n                    OSSL_CALLBACK
      *export_cb, void *export_cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/s_lib.c:36,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/s_lib.c:39,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/s_lib.c:42,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/evp/s_lib.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:47,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/s_lib.c:54,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/evp/s_lib.c:55,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/s_lib.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - skeymgmt
    argTypes:
    - EVP_SKEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: evp_skey_alloc
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OPENSSL_zalloc
    - CRYPTO_NEW_REF
    - ERR_raise
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: EVP_SKEY
    signature: EVP_SKEY *evp_skey_alloc(EVP_SKEYMGMT *skeymgmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:67,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:75,1
    - Dst: evp_skey_alloc
      Src: /src/openssl/crypto/evp/s_lib.c:80,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - libctx
    - skeymgmtname
    - propquery
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 85
    functionName: evp_skey_alloc_fetch
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - evp_skey_alloc
    - EVP_SKEYMGMT_free
    - EVP_SKEYMGMT_fetch
    - ERR_raise
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *evp_skey_alloc_fetch(OSSL_LIB_CTX *libctx,\n                                      const
      char *skeymgmtname,\n                                      const char *propquery)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_skey_alloc_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:90,1
    - Dst: evp_skeymgmt_import
      Src: /src/openssl/crypto/evp/s_lib.c:95,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/s_lib.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - libctx
    - skeymgmtname
    - propquery
    - selection
    - params
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - int
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: EVP_SKEY_import
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - EVP_SKEY_free
    - evp_skeymgmt_import
    - evp_skey_alloc_fetch
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *EVP_SKEY_import(OSSL_LIB_CTX *libctx, const char *skeymgmtname,
      const char *propquery,\n                          int selection, const OSSL_PARAM
      *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_skey_alloc_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:109,1
    - Dst: evp_skeymgmt_generate
      Src: /src/openssl/crypto/evp/s_lib.c:114,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/s_lib.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - libctx
    - skeymgmtname
    - propquery
    - params
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: EVP_SKEY_generate
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - evp_skeymgmt_generate
    - EVP_SKEY_free
    - evp_skey_alloc_fetch
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *EVP_SKEY_generate(OSSL_LIB_CTX *libctx, const char *skeymgmtname,\n
      \                           const char *propquery, const OSSL_PARAM *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/s_lib.c:135,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/crypto/evp/s_lib.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: get_secret_key
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_octet_string_ptr
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int get_secret_key(const OSSL_PARAM params[], void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:147,1
    - Dst: evp_skeymgmt_export
      Src: /src/openssl/crypto/evp/s_lib.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - skey
    - key
    - len
    argTypes:
    - EVP_SKEY*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: EVP_SKEY_get0_raw_key
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - evp_skeymgmt_export
    linkageType: ''
    returnType: int
    signature: "int EVP_SKEY_get0_raw_key(const EVP_SKEY *skey, const unsigned char
      **key,\n                          size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/s_lib.c:165,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/s_lib.c:167,1
    - Dst: EVP_SKEY_import
      Src: /src/openssl/crypto/evp/s_lib.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - libctx
    - skeymgmtname
    - key
    - keylen
    - propquery
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: EVP_SKEY_import_raw_key
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - EVP_SKEY_import
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *EVP_SKEY_import_raw_key(OSSL_LIB_CTX *libctx, const char
      *skeymgmtname,\n                                  unsigned char *key, size_t
      keylen,\n                                  const char *propquery)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/s_lib.c:177,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/evp/s_lib.c:180,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/evp/s_lib.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: EVP_SKEY_up_ref
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_SKEY_up_ref(EVP_SKEY *skey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/s_lib.c:192,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/evp/s_lib.c:193,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/evp/s_lib.c:196,1
    - Dst: evp_skeymgmt_freedata
      Src: /src/openssl/crypto/evp/s_lib.c:197,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:199,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/evp/s_lib.c:201,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/s_lib.c:202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/s_lib.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 204
    functionName: EVP_SKEY_free
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 2
    functionsReached:
    - REF_PRINT_COUNT
    - CRYPTO_THREAD_lock_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - EVP_SKEYMGMT_free
    - OPENSSL_free
    - evp_skeymgmt_freedata
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EVP_SKEY_free(EVP_SKEY *skey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEY*::skeymgmt::get_key_id
      Src: /src/openssl/crypto/evp/s_lib.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: EVP_SKEY_get0_key_id
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - EVP_SKEY*::skeymgmt::get_key_id
    linkageType: ''
    returnType: char
    signature: char *EVP_SKEY_get0_key_id(const EVP_SKEY *skey)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: EVP_SKEY_get0_skeymgmt_name
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_SKEY_get0_skeymgmt_name(const EVP_SKEY *skey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/evp/s_lib.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - skey
    argTypes:
    - EVP_SKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: EVP_SKEY_get0_provider_name
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - ossl_provider_name
    linkageType: ''
    returnType: char
    signature: char *EVP_SKEY_get0_provider_name(const EVP_SKEY *skey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SKEYMGMT_is_a
      Src: /src/openssl/crypto/evp/s_lib.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - skey
    - name
    argTypes:
    - EVP_SKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: EVP_SKEY_is_a
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_SKEY_is_a(const EVP_SKEY *skey, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_skeymgmt_import
      Src: /src/openssl/crypto/evp/s_lib.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: transfer_cb
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - evp_skeymgmt_import
    linkageType: ''
    returnType: int
    signature: int transfer_cb(const OSSL_PARAM params[], void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:264,1
    - Dst: evp_skeymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/s_lib.c:272,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/crypto/evp/s_lib.c:276,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/s_lib.c:280,1
    - Dst: EVP_SKEY_up_ref
      Src: /src/openssl/crypto/evp/s_lib.c:287,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:289,1
    - Dst: EVP_SKEY_export
      Src: /src/openssl/crypto/evp/s_lib.c:296,1
    - Dst: evp_skey_alloc
      Src: /src/openssl/crypto/evp/s_lib.c:302,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/crypto/evp/s_lib.c:311,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/crypto/evp/s_lib.c:312,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - skey
    - libctx
    - prov
    - propquery
    argTypes:
    - EVP_SKEY*
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 314
    functionName: EVP_SKEY_to_provider
    functionSourceFile: /src/openssl/crypto/evp/s_lib.c
    functionUses: 0
    functionsReached:
    - evp_skey_alloc
    - ERR_raise
    - EVP_SKEY_export
    - EVP_SKEYMGMT_fetch
    - EVP_SKEY_up_ref
    - EVP_SKEY_free
    - EVP_SKEYMGMT_free
    - evp_skeymgmt_fetch_from_prov
    linkageType: ''
    returnType: EVP_SKEY
    signature: "EVP_SKEY *EVP_SKEY_to_provider(EVP_SKEY *skey, OSSL_LIB_CTX *libctx,\n
      \                              OSSL_PROVIDER *prov, const char *propquery)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/evp/evp_fetch.c:52,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/evp/evp_fetch.c:53,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/evp/evp_fetch.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: get_tmp_evp_method_store
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - ossl_method_store_new
    linkageType: ''
    returnType: void
    signature: void *get_tmp_evp_method_store(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/evp/evp_fetch.c:62,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: dealloc_tmp_evp_method_store
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: void dealloc_tmp_evp_method_store(void *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/evp/evp_fetch.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: get_evp_method_store
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_METHOD_STORE
    signature: OSSL_METHOD_STORE *get_evp_method_store(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:77,1
    - Dst: ossl_method_lock_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: reserve_evp_method_store
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - get_evp_method_store
    - ossl_method_lock_store
    linkageType: ''
    returnType: int
    signature: int reserve_evp_method_store(void *store, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:88,1
    - Dst: ossl_method_unlock_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: unreserve_evp_method_store
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - get_evp_method_store
    - ossl_method_unlock_store
    linkageType: ''
    returnType: int
    signature: int unreserve_evp_method_store(void *store, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_fetch.c:118,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_fetch.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - name_id
    - operation_id
    argTypes:
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: evp_method_id
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t evp_method_id(int name_id, unsigned int operation_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/evp_fetch.c:140,1
    - Dst: strchr
      Src: /src/openssl/crypto/evp/evp_fetch.c:142,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/evp_fetch.c:143,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/evp/evp_fetch.c:147,1
    - Dst: evp_method_id
      Src: /src/openssl/crypto/evp/evp_fetch.c:151,1
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:155,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/crypto/evp/evp_fetch.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 126
    functionDepth: 7
    functionLinenumber: 126
    functionLinenumberEnd: 162
    functionName: get_evp_method_from_store
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - evp_method_id
    - strchr
    - get_evp_method_store
    - ossl_namemap_name2num_n
    - ossl_namemap_stored
    - ossl_method_store_fetch
    - strlen
    linkageType: ''
    returnType: void
    signature: "void *get_evp_method_from_store(void *store, const OSSL_PROVIDER **prov,\n
      \                                      void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/evp/evp_fetch.c:182,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/evp_fetch.c:184,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/evp_fetch.c:187,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/evp/evp_fetch.c:188,1
    - Dst: evp_method_id
      Src: /src/openssl/crypto/evp/evp_fetch.c:189,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/evp/evp_fetch.c:192,1
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:194,1
    - Dst: OSSL_TRACE5
      Src: /src/openssl/crypto/evp/evp_fetch.c:197,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/crypto/evp/evp_fetch.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 6
    argNames:
    - store
    - method
    - prov
    - names
    - propdef
    - data
    argTypes:
    - void*
    - void*
    - OSSL_PROVIDER*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 164
    functionDepth: 7
    functionLinenumber: 164
    functionLinenumberEnd: 204
    functionName: put_evp_method_in_store
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - evp_method_id
    - strchr
    - OSSL_TRACE1
    - get_evp_method_store
    - ossl_namemap_name2num_n
    - ossl_method_store_add
    - ossl_namemap_stored
    - OSSL_TRACE5
    - strlen
    linkageType: ''
    returnType: int
    signature: "int put_evp_method_in_store(void *store, void *method,\n                                   const
      OSSL_PROVIDER *prov,\n                                   const char *names,
      const char *propdef,\n                                   void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/evp_fetch.c:221,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/evp_fetch.c:222,1
    - Dst: ossl_namemap_add_names
      Src: /src/openssl/crypto/evp/evp_fetch.c:224,1
    - Dst: struct evp_method_data_st*::method_from_algorithm
      Src: /src/openssl/crypto/evp/evp_fetch.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 210
    functionDepth: 7
    functionLinenumber: 210
    functionLinenumberEnd: 241
    functionName: construct_evp_method
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - struct evp_method_data_st*::method_from_algorithm
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_add_names
    linkageType: ''
    returnType: void
    signature: "void *construct_evp_method(const OSSL_ALGORITHM *algodef,\n                                  OSSL_PROVIDER
      *prov, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct evp_method_data_st*::destruct_method
      Src: /src/openssl/crypto/evp/evp_fetch.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: destruct_evp_method
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - struct evp_method_data_st*::destruct_method
    linkageType: ''
    returnType: void
    signature: void destruct_evp_method(void *method, void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:260,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/evp_fetch.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:278,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_fetch.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:287,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/evp_fetch.c:292,1
    - Dst: evp_method_id
      Src: /src/openssl/crypto/evp/evp_fetch.c:302,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:303,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/crypto/evp/evp_fetch.c:314,1
    - Dst: ossl_method_construct
      Src: /src/openssl/crypto/evp/evp_fetch.c:333,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/evp_fetch.c:349,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_fetch.c:351,1
    - Dst: free_method
      Src: /src/openssl/crypto/evp/evp_fetch.c:353,1
    - Dst: evp_method_id
      Src: /src/openssl/crypto/evp/evp_fetch.c:356,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/crypto/evp/evp_fetch.c:358,1
    - Dst: ossl_namemap_num2name
      Src: /src/openssl/crypto/evp/evp_fetch.c:374,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_fetch.c:375,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/evp/evp_fetch.c:377,1
    - Dst: OSSL_TRACE4
      Src: /src/openssl/crypto/evp/evp_fetch.c:381,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/evp/evp_fetch.c:382,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 6
    argNames:
    - methdata
    - prov
    - operation_id
    - name
    - properties
    - "(*new_method)(int name_id,\n                                            const
      OSSL_ALGORITHM *algodef,\n                                            OSSL_PROVIDER
      *prov)"
    argTypes:
    - struct evp_method_data_st*
    - OSSL_PROVIDER*
    - int
    - char*
    - ossl_unused*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 250
    functionDepth: 7
    functionLinenumber: 250
    functionLinenumberEnd: 388
    functionName: inner_evp_generic_fetch
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ossl_method_construct
    - ossl_assert
    - evp_method_id
    - ERR_raise
    - ossl_method_store_cache_set
    - get_evp_method_store
    - ossl_lib_ctx_get_descriptor
    - OSSL_TRACE4
    - ERR_raise_data
    - ossl_namemap_stored
    - free_method
    - ossl_namemap_num2name
    - ossl_method_store_cache_get
    - ossl_namemap_name2num
    linkageType: ''
    returnType: void
    signature: "void *\ninner_evp_generic_fetch(struct evp_method_data_st *methdata,\n
      \                       OSSL_PROVIDER *prov, int operation_id,\n                        const
      char *name, ossl_unused const char *properties,\n                        void
      *(*new_method)(int name_id,\n                                            const
      OSSL_ALGORITHM *algodef,\n                                            OSSL_PROVIDER
      *prov),\n                        int (*up_ref_method)(void *),\n                        void
      (*free_method)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_evp_generic_fetch
      Src: /src/openssl/crypto/evp/evp_fetch.c:403,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - libctx
    - operation_id
    - name
    - properties
    - "(*new_method)(int name_id,\n                                            const
      OSSL_ALGORITHM *algodef,\n                                            OSSL_PROVIDER
      *prov)"
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 390
    functionDepth: 8
    functionLinenumber: 390
    functionLinenumberEnd: 408
    functionName: evp_generic_fetch
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 7
    functionsReached:
    - dealloc_tmp_evp_method_store
    - inner_evp_generic_fetch
    linkageType: ''
    returnType: void
    signature: "void *evp_generic_fetch(OSSL_LIB_CTX *libctx, int operation_id,\n
      \                       const char *name, const char *properties,\n                        void
      *(*new_method)(int name_id,\n                                            const
      OSSL_ALGORITHM *algodef,\n                                            OSSL_PROVIDER
      *prov),\n                        int (*up_ref_method)(void *),\n                        void
      (*free_method)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/evp_fetch.c:427,1
    - Dst: inner_evp_generic_fetch
      Src: /src/openssl/crypto/evp/evp_fetch.c:429,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - prov
    - operation_id
    - name
    - properties
    - "(*new_method)(int name_id,\n                                                      const
      OSSL_ALGORITHM *algodef,\n                                                      OSSL_PROVIDER
      *prov)"
    argTypes:
    - OSSL_PROVIDER*
    - int
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 8
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: evp_generic_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 5
    functionsReached:
    - dealloc_tmp_evp_method_store
    - ossl_provider_libctx
    - inner_evp_generic_fetch
    linkageType: ''
    returnType: void
    signature: "void *evp_generic_fetch_from_prov(OSSL_PROVIDER *prov, int operation_id,\n
      \                                 const char *name, const char *properties,\n
      \                                 void *(*new_method)(int name_id,\n                                                      const
      OSSL_ALGORITHM *algodef,\n                                                      OSSL_PROVIDER
      *prov),\n                                  int (*up_ref_method)(void *),\n                                  void
      (*free_method)(void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:438,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/evp/evp_fetch.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 6
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: evp_method_store_cache_flush
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 1
    functionsReached:
    - ossl_method_store_cache_flush_all
    - get_evp_method_store
    linkageType: ''
    returnType: int
    signature: int evp_method_store_cache_flush(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/evp_fetch.c:447,1
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:448,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/openssl/crypto/evp/evp_fetch.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 6
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: evp_method_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 1
    functionsReached:
    - get_evp_method_store
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    linkageType: ''
    returnType: int
    signature: int evp_method_store_remove_all_provided(const OSSL_PROVIDER *prov)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:460,1
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:461,1
    - Dst: ossl_global_properties_no_mirrored
      Src: /src/openssl/crypto/evp/evp_fetch.c:470,1
    - Dst: ossl_global_properties_stop_mirroring
      Src: /src/openssl/crypto/evp/evp_fetch.c:477,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/evp/evp_fetch.c:480,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_fetch.c:482,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:484,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/evp/evp_fetch.c:487,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:489,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:490,1
    - Dst: ossl_provider_default_props_update
      Src: /src/openssl/crypto/evp/evp_fetch.c:493,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:494,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:496,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/evp/evp_fetch.c:499,1
    - Dst: ossl_decoder_cache_flush
      Src: /src/openssl/crypto/evp/evp_fetch.c:501,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:505,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - libctx
    - def_prop
    - loadconfig
    - mirrored
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_LIST*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 455
    functionDepth: 7
    functionLinenumber: 455
    functionLinenumberEnd: 507
    functionName: evp_set_parsed_default_properties
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_cache_flush_all
    - ossl_provider_default_props_update
    - ossl_decoder_cache_flush
    - OPENSSL_malloc
    - ERR_raise
    - get_evp_method_store
    - ossl_global_properties_no_mirrored
    - ossl_property_free
    - OPENSSL_free
    - ossl_ctx_global_properties
    - ossl_property_list_to_string
    - ossl_global_properties_stop_mirroring
    linkageType: ''
    returnType: int
    signature: "int evp_set_parsed_default_properties(OSSL_LIB_CTX *libctx,\n                                             OSSL_PROPERTY_LIST
      *def_prop,\n                                             int loadconfig,\n                                             int
      mirrored)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_parse_query
      Src: /src/openssl/crypto/evp/evp_fetch.c:514,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:515,1
    - Dst: evp_set_parsed_default_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:518,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - libctx
    - propq
    - loadconfig
    - mirrored
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 509
    functionDepth: 8
    functionLinenumber: 509
    functionLinenumberEnd: 523
    functionName: evp_set_default_properties_int
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 1
    functionsReached:
    - ossl_parse_query
    - ossl_property_free
    - ERR_raise
    - evp_set_parsed_default_properties
    linkageType: ''
    returnType: int
    signature: "int evp_set_default_properties_int(OSSL_LIB_CTX *libctx, const char
      *propq,\n                                   int loadconfig, int mirrored)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_set_default_properties_int
      Src: /src/openssl/crypto/evp/evp_fetch.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 9
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: EVP_set_default_properties
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - evp_set_default_properties_int
    linkageType: ''
    returnType: int
    signature: int EVP_set_default_properties(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:533,1
    - Dst: evp_set_default_properties_int
      Src: /src/openssl/crypto/evp/evp_fetch.c:539,1
    - Dst: ossl_parse_query
      Src: /src/openssl/crypto/evp/evp_fetch.c:540,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:541,1
    - Dst: ossl_property_merge
      Src: /src/openssl/crypto/evp/evp_fetch.c:544,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:545,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:547,1
    - Dst: evp_set_parsed_default_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:550,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - libctx
    - propq
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 530
    functionDepth: 9
    functionLinenumber: 530
    functionLinenumberEnd: 555
    functionName: evp_default_properties_merge
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_property_free
    - evp_set_default_properties_int
    - ossl_parse_query
    - evp_set_parsed_default_properties
    - ossl_ctx_global_properties
    - ossl_property_merge
    linkageType: ''
    returnType: int
    signature: "int evp_default_properties_merge(OSSL_LIB_CTX *libctx, const char
      *propq,\n                                        int loadconfig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:560,1
    - Dst: ossl_property_is_enabled
      Src: /src/openssl/crypto/evp/evp_fetch.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - prop_name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: evp_default_property_is_enabled
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ossl_ctx_global_properties
    - ossl_property_is_enabled
    linkageType: ''
    returnType: int
    signature: "int evp_default_property_is_enabled(OSSL_LIB_CTX *libctx,\n                                           const
      char *prop_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_default_property_is_enabled
      Src: /src/openssl/crypto/evp/evp_fetch.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: EVP_default_properties_is_fips_enabled
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - evp_default_property_is_enabled
    linkageType: ''
    returnType: int
    signature: int EVP_default_properties_is_fips_enabled(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_default_properties_merge
      Src: /src/openssl/crypto/evp/evp_fetch.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - enable
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 10
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: evp_default_properties_enable_fips_int
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - evp_default_properties_merge
    linkageType: ''
    returnType: int
    signature: "int evp_default_properties_enable_fips_int(OSSL_LIB_CTX *libctx, int
      enable,\n                                           int loadconfig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_default_properties_enable_fips_int
      Src: /src/openssl/crypto/evp/evp_fetch.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - enable
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 11
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: EVP_default_properties_enable_fips
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - evp_default_properties_enable_fips_int
    linkageType: ''
    returnType: int
    signature: int EVP_default_properties_enable_fips(OSSL_LIB_CTX *libctx, int enable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/evp/evp_fetch.c:585,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/evp/evp_fetch.c:590,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/evp/evp_fetch.c:592,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:594,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_fetch.c:598,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/evp/evp_fetch.c:601,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_fetch.c:602,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_fetch.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - libctx
    - loadconfig
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 607
    functionName: evp_get_global_properties_str
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_strdup
    - ossl_ctx_global_properties
    - ossl_property_list_to_string
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *evp_get_global_properties_str(OSSL_LIB_CTX *libctx, int loadconfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_global_properties_str
      Src: /src/openssl/crypto/evp/evp_fetch.c:611,1
    - Dst: ossl_lib_ctx_is_global_default
      Src: /src/openssl/crypto/evp/evp_fetch.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 5
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: EVP_get1_default_properties
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_is_global_default
    - evp_get_global_properties_str
    linkageType: ''
    returnType: char
    signature: char *EVP_get1_default_properties(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct filter_data_st*::user_fn
      Src: /src/openssl/crypto/evp/evp_fetch.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - id
    - method
    - arg
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: filter_on_operation_id
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 0
    functionsReached:
    - struct filter_data_st*::user_fn
    linkageType: ''
    returnType: void
    signature: void filter_on_operation_id(int id, void *method, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inner_evp_generic_fetch
      Src: /src/openssl/crypto/evp/evp_fetch.c:642,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/evp/evp_fetch.c:649,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/evp/evp_fetch.c:651,1
    - Dst: get_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:651,1
    - Dst: dealloc_tmp_evp_method_store
      Src: /src/openssl/crypto/evp/evp_fetch.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - libctx
    - operation_id
    - user_arg
    - "(*new_method)(int name_id,\n                                            const
      OSSL_ALGORITHM *algodef,\n                                            OSSL_PROVIDER
      *prov)"
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 628
    functionDepth: 8
    functionLinenumber: 628
    functionLinenumberEnd: 654
    functionName: evp_generic_do_all
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 6
    functionsReached:
    - get_evp_method_store
    - dealloc_tmp_evp_method_store
    - ossl_method_store_do_all
    - inner_evp_generic_fetch
    linkageType: ''
    returnType: void
    signature: "void evp_generic_do_all(OSSL_LIB_CTX *libctx, int operation_id,\n
      \                       void (*user_fn)(void *method, void *arg),\n                        void
      *user_arg,\n                        void *(*new_method)(int name_id,\n                                            const
      OSSL_ALGORITHM *algodef,\n                                            OSSL_PROVIDER
      *prov),\n                        int (*up_ref_method)(void *),\n                        void
      (*free_method)(void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/evp_fetch.c:662,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/evp_fetch.c:663,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/evp_fetch.c:666,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/evp_fetch.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - prov
    - number
    - legacy_name
    - name
    argTypes:
    - OSSL_PROVIDER*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 656
    functionDepth: 7
    functionLinenumber: 656
    functionLinenumberEnd: 668
    functionName: evp_is_a
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 4
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_name2num
    linkageType: ''
    returnType: int
    signature: "int evp_is_a(OSSL_PROVIDER *prov, int number,\n             const
      char *legacy_name, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/evp_fetch.c:674,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/evp_fetch.c:675,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/evp/evp_fetch.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - number
    - data
    argTypes:
    - OSSL_PROVIDER*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 7
    functionLinenumber: 670
    functionLinenumberEnd: 678
    functionName: evp_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/evp_fetch.c
    functionUses: 5
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_doall_names
    linkageType: ''
    returnType: int
    signature: "int evp_names_do_all(OSSL_PROVIDER *prov, int number,\n                     void
      (*fn)(const char *name, void *data),\n                     void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/evp/evp_err.c:229,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/evp/evp_err.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: ossl_err_load_EVP_strings
    functionSourceFile: /src/openssl/crypto/evp/evp_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_EVP_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - nid
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: BLOCK_CIPHER_generic
    functionSourceFile: /src/openssl/crypto/evp/e_sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic(nid,blocksize,ivlen,nmode,mode,MODE,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nid
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: DEFINE_BLOCK_CIPHERS
    functionSourceFile: /src/openssl/crypto/evp/e_sm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_BLOCK_CIPHERS(nid,flags)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_sm4.c:60,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_sm4.c:62,1
    - Dst: HWSM4_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_sm4.c:67,1
    - Dst: vpsm4_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_sm4.c:82,1
    - Dst: ossl_sm4_set_key
      Src: /src/openssl/crypto/evp/e_sm4.c:93,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_sm4.c:93,1
    - Dst: HWSM4_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_sm4.c:98,1
    - Dst: vpsm4_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_sm4.c:121,1
    - Dst: ossl_sm4_set_key
      Src: /src/openssl/crypto/evp/e_sm4.c:134,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_sm4.c:134,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 137
    functionName: sm4_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_sm4.c
    functionUses: 0
    functionsReached:
    - vpsm4_set_encrypt_key
    - EVP_CIPHER_CTX_get_cipher_data
    - HWSM4_set_encrypt_key
    - HWSM4_set_decrypt_key
    - EVP_CIPHER_CTX_get_mode
    - EVP_C_DATA
    - vpsm4_set_decrypt_key
    - ossl_sm4_set_key
    linkageType: ''
    returnType: int
    signature: "int sm4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                       const unsigned char *iv, int enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_sm4.c:142,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_sm4.c:146,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_sm4.c:147,1
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/evp/e_sm4.c:148,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/evp/e_sm4.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: sm4_cbc_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_sm4.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int sm4_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_sm4.c:159,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_sm4.c:160,1
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/openssl/crypto/evp/e_sm4.c:162,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_sm4.c:164,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_sm4.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: sm4_cfb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_sm4.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_num
    - EVP_C_DATA
    - CRYPTO_cfb128_encrypt
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int sm4_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/e_sm4.c:172,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_sm4.c:174,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_sm4.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 187
    functionName: sm4_ecb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_sm4.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_block_size
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int sm4_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_sm4.c:192,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_sm4.c:193,1
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/openssl/crypto/evp/e_sm4.c:195,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_sm4.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: sm4_ofb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_sm4.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_set_num
    - EVP_C_DATA
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: int
    signature: "int sm4_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_sm4.c:204,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_sm4.c:206,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/openssl/crypto/evp/e_sm4.c:213,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_sm4.c:215,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/openssl/crypto/evp/e_sm4.c:218,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_sm4.c:220,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_sm4.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: sm4_ctr_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_sm4.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ctr128_encrypt_ctr32
    - EVP_CIPHER_CTX_get_num
    - EVP_C_DATA
    - CRYPTO_ctr128_encrypt
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int sm4_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_new
      Src: /src/openssl/crypto/evp/cmeth_lib.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cipher_type
    - block_size
    - key_len
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: EVP_CIPHER_meth_new
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 6
    functionsReached:
    - evp_cipher_new
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int
      key_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/crypto/evp/cmeth_lib.c:47,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/cmeth_lib.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: EVP_CIPHER_meth_dup
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVP_CIPHER_meth_new
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_free_int
      Src: /src/openssl/crypto/evp/cmeth_lib.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: EVP_CIPHER_meth_free
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 10
    functionsReached:
    - evp_cipher_free_int
    linkageType: ''
    returnType: void
    signature: void EVP_CIPHER_meth_free(EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cipher
    - iv_len
    argTypes:
    - EVP_CIPHER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: EVP_CIPHER_meth_set_iv_length
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cipher
    - flags
    argTypes:
    - EVP_CIPHER*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: EVP_CIPHER_meth_set_flags
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cipher
    - ctx_size
    argTypes:
    - EVP_CIPHER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: EVP_CIPHER_meth_set_impl_ctx_size
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: EVP_CIPHER_meth_set_init
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher,\n                             int
      (*init) (EVP_CIPHER_CTX *ctx,\n                                          const
      unsigned char *key,\n                                          const unsigned
      char *iv,\n                                          int enc))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: EVP_CIPHER_meth_set_do_cipher
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher,\n                                  int
      (*do_cipher) (EVP_CIPHER_CTX *ctx,\n                                                    unsigned
      char *out,\n                                                    const unsigned
      char *in,\n                                                    size_t inl))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: EVP_CIPHER_meth_set_cleanup
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher,\n                                int
      (*cleanup) (EVP_CIPHER_CTX *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: EVP_CIPHER_meth_set_set_asn1_params
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher,\n                                        int
      (*set_asn1_parameters) (EVP_CIPHER_CTX *,\n                                                                    ASN1_TYPE
      *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: EVP_CIPHER_meth_set_get_asn1_params
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher,\n                                        int
      (*get_asn1_parameters) (EVP_CIPHER_CTX *,\n                                                                    ASN1_TYPE
      *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: EVP_CIPHER_meth_set_ctrl
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher,\n                             int
      (*ctrl) (EVP_CIPHER_CTX *, int type,\n                                          int
      arg, void *ptr))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: "(*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *ctx,\n                                                          const unsigned
      char *key,\n                                                          const
      unsigned char *iv,\n                                                          int
      enc)"
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *ctx,\n                                                          const unsigned
      char *key,\n                                                          const
      unsigned char *iv,\n                                                          int
      enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: "(*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *ctx,\n                                                               unsigned
      char *out,\n                                                               const
      unsigned char *in,\n                                                               size_t
      inl)"
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *ctx,\n                                                               unsigned
      char *out,\n                                                               const
      unsigned char *in,\n                                                               size_t
      inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *)
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: "(*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *,\n                                                                     ASN1_TYPE
      *)"
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *,\n                                                                     ASN1_TYPE
      *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: "(*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *,\n                                                               ASN1_TYPE
      *)"
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *,\n                                                               ASN1_TYPE
      *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - arg
    - ptr
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: "(*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *,\n                                                          int type, int
      arg,\n                                                          void *ptr)"
    functionSourceFile: /src/openssl/crypto/evp/cmeth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX
      *,\n                                                          int type, int
      arg,\n                                                          void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY*::ameth::pkey_bits
      Src: /src/openssl/crypto/evp/p_lib.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: EVP_PKEY_get_bits
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY*::ameth::pkey_bits
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_bits(const EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY*::ameth::pkey_security_bits
      Src: /src/openssl/crypto/evp/p_lib.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: EVP_PKEY_get_security_bits
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY*::ameth::pkey_security_bits
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_security_bits(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: EVP_PKEY_get_security_category
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_security_category(const EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pkey
    - mode
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: EVP_PKEY_save_parameters
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/evp/p_lib.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - arg
    argTypes:
    - EVP_PKEY*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: EVP_PKEY_set_ex_data
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set_ex_data(EVP_PKEY *key, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/evp/p_lib.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: EVP_PKEY_get_ex_data
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *EVP_PKEY_get_ex_data(const EVP_PKEY *key, int idx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:146,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:146,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/crypto/evp/p_lib.c:147,1
    - Dst: evp_pkey_is_blank
      Src: /src/openssl/crypto/evp/p_lib.c:165,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:167,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:168,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/openssl/crypto/evp/p_lib.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:180,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/crypto/evp/p_lib.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:187,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/crypto/evp/p_lib.c:191,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/crypto/evp/p_lib.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:195,1
    - Dst: evp_keymgmt_util_copy
      Src: /src/openssl/crypto/evp/p_lib.c:201,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/p_lib.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:224,1
    - Dst: evp_keymgmt_dup
      Src: /src/openssl/crypto/evp/p_lib.c:226,1
    - Dst: EVP_PKEY*::ameth::param_copy
      Src: /src/openssl/crypto/evp/p_lib.c:234,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/p_lib.c:237,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 239
    functionName: EVP_PKEY_copy_parameters
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - evp_keymgmt_dup
    - evp_pkey_is_blank
    - EVP_PKEY*::ameth::param_copy
    - evp_keymgmt_util_copy
    - EVP_PKEY_missing_parameters
    - evp_pkey_copy_downgraded
    - EVP_PKEY_set_type_by_keymgmt
    - EVP_PKEY_parameters_eq
    - EVP_PKEY_free
    - evp_pkey_export_to_provider
    - evp_pkey_is_provided
    - evp_pkey_is_legacy
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: if
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: else
    signature: else if (evp_pkey_is_legacy(to))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/evp/p_lib.c:245,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/evp/p_lib.c:248,1
    - Dst: EVP_PKEY*::ameth::param_missing
      Src: /src/openssl/crypto/evp/p_lib.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: EVP_PKEY_missing_parameters
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - evp_keymgmt_util_has
    - EVP_PKEY*::ameth::param_missing
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_match
      Src: /src/openssl/crypto/evp/p_lib.c:265,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:271,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:271,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:271,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:275,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:275,1
    - Dst: evp_keymgmt_util_match
      Src: /src/openssl/crypto/evp/p_lib.c:276,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:282,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/p_lib.c:283,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:283,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:285,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/p_lib.c:286,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:286,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/p_lib.c:301,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/p_lib.c:309,1
    - Dst: evp_keymgmt_match
      Src: /src/openssl/crypto/evp/p_lib.c:324,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - a
    - b
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 326
    functionName: evp_pkey_cmp_any
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - evp_keymgmt_match
    - OBJ_nid2sn
    - EVP_KEYMGMT_is_a
    - evp_pkey_export_to_provider
    - evp_keymgmt_util_match
    - evp_pkey_is_provided
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_cmp_any(const EVP_PKEY *a, const EVP_PKEY *b,\n                            int
      selection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/crypto/evp/p_lib.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: EVP_PKEY_cmp_parameters
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_parameters_eq
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_cmp_any
      Src: /src/openssl/crypto/evp/p_lib.c:340,1
    - Dst: evp_pkey_cmp_any
      Src: /src/openssl/crypto/evp/p_lib.c:348,1
    - Dst: EVP_PKEY*::ameth::param_cmp
      Src: /src/openssl/crypto/evp/p_lib.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 357
    functionName: EVP_PKEY_parameters_eq
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 3
    functionsReached:
    - evp_pkey_cmp_any
    - EVP_PKEY*::ameth::param_cmp
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_parameters_eq(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/crypto/evp/p_lib.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: EVP_PKEY_cmp
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/evp/p_lib.c:387,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/evp/p_lib.c:388,1
    - Dst: evp_pkey_cmp_any
      Src: /src/openssl/crypto/evp/p_lib.c:392,1
    - Dst: EVP_PKEY*::ameth::param_cmp
      Src: /src/openssl/crypto/evp/p_lib.c:404,1
    - Dst: EVP_PKEY*::ameth::pub_cmp
      Src: /src/openssl/crypto/evp/p_lib.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 415
    functionName: EVP_PKEY_eq
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_util_has
    - evp_pkey_cmp_any
    - EVP_PKEY*::ameth::param_cmp
    - EVP_PKEY*::ameth::pub_cmp
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_eq(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/crypto/evp/p_lib.c:438,1
    - Dst: EVP_PKEY_asn1_find
      Src: /src/openssl/crypto/evp/p_lib.c:440,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:446,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/evp/p_lib.c:455,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:457,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p_lib.c:462,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/crypto/evp/p_lib.c:463,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/p_lib.c:466,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:467,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/crypto/evp/p_lib.c:472,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:473,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:477,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p_lib.c:481,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/p_lib.c:487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:489,1
    - Dst: pkey_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:493,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:498,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:503,1
    - Dst: EVP_PKEY*::ameth::set_priv_key
      Src: /src/openssl/crypto/evp/p_lib.c:507,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:513,1
    - Dst: EVP_PKEY*::ameth::set_pub_key
      Src: /src/openssl/crypto/evp/p_lib.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:518,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/p_lib.c:526,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:529,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 8
    argNames:
    - libctx
    - strtype
    - propq
    - nidtype
    - e
    - key
    - len
    - key_is_priv
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - int
    - ENGINE*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 531
    functionName: new_raw_key_int
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - ERR_pop_to_mark
    - EVP_PKEY_asn1_find
    - ENGINE_finish
    - EVP_PKEY*::ameth::set_pub_key
    - pkey_set_type
    - ossl_assert
    - EVP_PKEY*::ameth::set_priv_key
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_asn1_find_str
    - ERR_clear_last_mark
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_new
    - EVP_PKEY_fromdata
    - OBJ_nid2sn
    - ERR_set_mark
    - EVP_PKEY_CTX_new_from_name
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *new_raw_key_int(OSSL_LIB_CTX *libctx,\n                                 const
      char *strtype,\n                                 const char *propq,\n                                 int
      nidtype,\n                                 ENGINE *e,\n                                 const
      unsigned char *key,\n                                 size_t len,\n                                 int
      key_is_priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_raw_key_int
      Src: /src/openssl/crypto/evp/p_lib.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - libctx
    - keytype
    - propq
    - priv
    - len
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 6
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: EVP_PKEY_new_raw_private_key_ex
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - new_raw_key_int
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *EVP_PKEY_new_raw_private_key_ex(OSSL_LIB_CTX *libctx,\n
      \                                         const char *keytype,\n                                          const
      char *propq,\n                                          const unsigned char
      *priv, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_raw_key_int
      Src: /src/openssl/crypto/evp/p_lib.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - e
    - priv
    - len
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 6
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: EVP_PKEY_new_raw_private_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - new_raw_key_int
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *EVP_PKEY_new_raw_private_key(int type, ENGINE *e,\n                                       const
      unsigned char *priv,\n                                       size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_raw_key_int
      Src: /src/openssl/crypto/evp/p_lib.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - libctx
    - keytype
    - propq
    - pub
    - len
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 6
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: EVP_PKEY_new_raw_public_key_ex
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 3
    functionsReached:
    - new_raw_key_int
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *EVP_PKEY_new_raw_public_key_ex(OSSL_LIB_CTX *libctx,\n                                         const
      char *keytype, const char *propq,\n                                         const
      unsigned char *pub, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_raw_key_int
      Src: /src/openssl/crypto/evp/p_lib.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - e
    - pub
    - len
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 6
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: EVP_PKEY_new_raw_public_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - new_raw_key_int
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *EVP_PKEY_new_raw_public_key(int type, ENGINE *e,\n                                      const
      unsigned char *pub,\n                                      size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/p_lib.c:577,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:579,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/p_lib.c:583,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 591
    functionName: get_raw_key_details
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_octet_string
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int get_raw_key_details(const OSSL_PARAM params[], void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/crypto/evp/p_lib.c:603,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:608,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:613,1
    - Dst: EVP_PKEY*::ameth::get_priv_key
      Src: /src/openssl/crypto/evp/p_lib.c:617,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pkey
    - priv
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 623
    functionName: EVP_PKEY_get_raw_private_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY*::ameth::get_priv_key
    - evp_keymgmt_util_export
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_raw_private_key(const EVP_PKEY *pkey, unsigned char
      *priv,\n                                 size_t *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/crypto/evp/p_lib.c:635,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:640,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:645,1
    - Dst: EVP_PKEY*::ameth::get_pub_key
      Src: /src/openssl/crypto/evp/p_lib.c:649,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pkey
    - pub
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 655
    functionName: EVP_PKEY_get_raw_public_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_keymgmt_util_export
    - ERR_raise
    - EVP_PKEY*::ameth::get_pub_key
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_raw_public_key(const EVP_PKEY *pkey, unsigned char
      *pub,\n                                size_t *len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_id
      Src: /src/openssl/crypto/evp/p_lib.c:665,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/evp/p_lib.c:672,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:675,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/evp/p_lib.c:679,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/crypto/evp/p_lib.c:683,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:684,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:688,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p_lib.c:690,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p_lib.c:693,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p_lib.c:697,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:700,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/crypto/evp/p_lib.c:702,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:703,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:708,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:712,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 7
    argNames:
    - priv
    - len
    - cipher_name
    - cipher
    - libctx
    - propq
    - e
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 657
    functionDepth: 5
    functionLinenumber: 657
    functionLinenumberEnd: 715
    functionName: new_cmac_key_int
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_get0_name
    - EVP_PKEY_fromdata
    - OSSL_PARAM_construct_utf8_string
    - ENGINE_get_id
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *new_cmac_key_int(const unsigned char *priv, size_t len,\n
      \                                 const char *cipher_name,\n                                  const
      EVP_CIPHER *cipher,\n                                  OSSL_LIB_CTX *libctx,\n
      \                                 const char *propq, ENGINE *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_cmac_key_int
      Src: /src/openssl/crypto/evp/p_lib.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - e
    - priv
    - len
    - cipher
    argTypes:
    - ENGINE*
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 717
    functionDepth: 6
    functionLinenumber: 717
    functionLinenumberEnd: 721
    functionName: EVP_PKEY_new_CMAC_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - new_cmac_key_int
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *EVP_PKEY_new_CMAC_key(ENGINE *e, const unsigned char *priv,\n
      \                               size_t len, const EVP_CIPHER *cipher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: EVP_PKEY_set_type
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - pkey_set_type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set_type(EVP_PKEY *pkey, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkey
    - str
    - len
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: EVP_PKEY_set_type_str
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - pkey_set_type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/evp/p_lib.c:737,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:738,1
    - Dst: ENGINE_get_pkey_meth
      Src: /src/openssl/crypto/evp/p_lib.c:741,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:742,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:743,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pkey
    - e
    argTypes:
    - EVP_PKEY*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 750
    functionName: EVP_PKEY_set1_engine
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ENGINE_init
    - ENGINE_finish
    - ERR_raise
    - ENGINE_get_pkey_meth
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set1_engine(EVP_PKEY *pkey, ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: EVP_PKEY_get0_engine
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *EVP_PKEY_get0_engine(const EVP_PKEY *pkey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_is_foreign
      Src: /src/openssl/crypto/evp/p_lib.c:765,1
    - Dst: ossl_ec_key_is_foreign
      Src: /src/openssl/crypto/evp/p_lib.c:772,1
    - Dst: ossl_dsa_is_foreign
      Src: /src/openssl/crypto/evp/p_lib.c:778,1
    - Dst: ossl_dh_is_foreign
      Src: /src/openssl/crypto/evp/p_lib.c:784,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 791
    functionName: detect_foreign_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_is_foreign
    - ossl_rsa_is_foreign
    - ossl_dh_is_foreign
    - ossl_ec_key_is_foreign
    linkageType: ''
    returnType: void
    signature: void detect_foreign_key(EVP_PKEY *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/evp/p_lib.c:798,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/p_lib.c:800,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/evp/p_lib.c:803,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:817,1
    - Dst: detect_foreign_key
      Src: /src/openssl/crypto/evp/p_lib.c:821,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pkey
    - type
    - key
    argTypes:
    - EVP_PKEY*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 824
    functionName: EVP_PKEY_assign
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_type
    - EC_KEY_get0_group
    - detect_foreign_key
    - EC_GROUP_get_curve_name
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 836
    functionName: EVP_PKEY_get0
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    linkageType: ''
    returnType: void
    signature: void *EVP_PKEY_get0(const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:842,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 851
    functionName: EVP_PKEY_get0_hmac
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:858,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 867
    functionName: EVP_PKEY_get0_poly1305
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *EVP_PKEY_get0_poly1305(const EVP_PKEY *pkey, size_t
      *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:876,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - len
    argTypes:
    - EVP_PKEY*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 885
    functionName: EVP_PKEY_get0_siphash
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *EVP_PKEY_get0_siphash(const EVP_PKEY *pkey, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:892,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: evp_pkey_get0_DSA_int
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: DSA
    signature: DSA *evp_pkey_get0_DSA_int(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_DSA_int
      Src: /src/openssl/crypto/evp/p_lib.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 901
    functionName: EVP_PKEY_get0_DSA
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_get0_DSA_int
    linkageType: ''
    returnType: DSA
    signature: DSA *EVP_PKEY_get0_DSA(const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:907,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/evp/p_lib.c:910,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/evp/p_lib.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - EVP_PKEY*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 916
    functionName: EVP_PKEY_set1_DSA
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_assign_DSA
    - DSA_free
    - DSA_up_ref
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_DSA_int
      Src: /src/openssl/crypto/evp/p_lib.c:919,1
    - Dst: DSA_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 925
    functionName: EVP_PKEY_get1_DSA
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_get0_DSA_int
    - DSA_up_ref
    linkageType: ''
    returnType: DSA
    signature: DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/p_lib.c:931,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:932,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: evp_pkey_get0_ECX_KEY
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_base_id
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: ECX_KEY
    signature: ECX_KEY *evp_pkey_get0_ECX_KEY(const EVP_PKEY *pkey, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_ECX_KEY
      Src: /src/openssl/crypto/evp/p_lib.c:940,1
    - Dst: ossl_ecx_key_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkey
    - type
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 945
    functionName: evp_pkey_get1_ECX_KEY
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_up_ref
    - evp_pkey_get0_ECX_KEY
    linkageType: ''
    returnType: ECX_KEY
    signature: ECX_KEY *evp_pkey_get1_ECX_KEY(EVP_PKEY *pkey, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: IMPLEMENT_ECX_VARIANT
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_ECX_VARIANT(NAME)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_is_named_safe_prime_group
      Src: /src/openssl/crypto/evp/p_lib.c:984,1
    - Dst: DH_get0_q
      Src: /src/openssl/crypto/evp/p_lib.c:987,1
    - Dst: DH_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:989,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/evp/p_lib.c:992,1
    - Dst: DH_free
      Src: /src/openssl/crypto/evp/p_lib.c:995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pkey
    - dhkey
    argTypes:
    - EVP_PKEY*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 998
    functionName: EVP_PKEY_set1_DH
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - DH_up_ref
    - EVP_PKEY_assign
    - ossl_dh_is_named_safe_prime_group
    - DH_free
    - DH_get0_q
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *dhkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1003,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:1006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1007
    functionName: evp_pkey_get0_DH_int
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: DH
    signature: DH *evp_pkey_get0_DH_int(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_DH_int
      Src: /src/openssl/crypto/evp/p_lib.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1012
    functionName: EVP_PKEY_get0_DH
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get0_DH_int
    linkageType: ''
    returnType: DH
    signature: DH *EVP_PKEY_get0_DH(const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_DH_int
      Src: /src/openssl/crypto/evp/p_lib.c:1016,1
    - Dst: DH_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1022
    functionName: EVP_PKEY_get1_DH
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - DH_up_ref
    - evp_pkey_get0_DH_int
    linkageType: ''
    returnType: DH
    signature: DH *EVP_PKEY_get1_DH(EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: EVP_PKEY_get_id
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_id(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/evp/p_lib.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    functionName: EVP_PKEY_get_base_id
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_base_id(const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/p_lib.c:1067,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/p_lib.c:1068,1
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/evp/p_lib.c:1072,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/evp/p_lib.c:1072,1
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/evp/p_lib.c:1074,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/evp/p_lib.c:1074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1075
    functionName: evp_pkey_name2type
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_type
    - OBJ_sn2nid
    - OPENSSL_strcasecmp
    - OBJ_ln2nid
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int evp_pkey_name2type(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/p_lib.c:1081,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:1086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1087
    functionName: evp_pkey_type2name
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_nid2sn
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *evp_pkey_type2name(int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_name2type
      Src: /src/openssl/crypto/evp/p_lib.c:1094,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/p_lib.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - name
    argTypes:
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1089
    functionDepth: 4
    functionLinenumber: 1089
    functionLinenumberEnd: 1096
    functionName: EVP_PKEY_is_a
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT_is_a
    - evp_pkey_name2type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_is_a(const EVP_PKEY *pkey, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_typed
      Src: /src/openssl/crypto/evp/p_lib.c:1102,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:1105,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:1106,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/evp/p_lib.c:1106,1
    - Dst: fn
      Src: /src/openssl/crypto/evp/p_lib.c:1108,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/openssl/crypto/evp/p_lib.c:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkey
    - data
    argTypes:
    - EVP_PKEY*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1112
    functionName: EVP_PKEY_type_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - fn
    - evp_pkey_is_typed
    - OBJ_nid2sn
    - EVP_PKEY_get_id
    - EVP_KEYMGMT_names_do_all
    - evp_pkey_is_provided
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_type_names_do_all(const EVP_PKEY *pkey,\n                               void
      (*fn)(const char *name, void *data),\n                               void *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/p_lib.c:1117,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/evp/p_lib.c:1130,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/p_lib.c:1136,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/p_lib.c:1137,1
    - Dst: EVP_PKEY*::keymgmt::query_operation_name
      Src: /src/openssl/crypto/evp/p_lib.c:1140,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/p_lib.c:1141,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/crypto/evp/p_lib.c:1144,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/crypto/evp/p_lib.c:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1114
    functionDepth: 3
    functionLinenumber: 1114
    functionLinenumberEnd: 1151
    functionName: EVP_PKEY_can_sign
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - EC_KEY_can_sign
    - EVP_SIGNATURE_free
    - ossl_provider_libctx
    - EVP_PKEY*::keymgmt::query_operation_name
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT_get0_name
    - EVP_PKEY_get_base_id
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_can_sign(const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1155,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/evp/p_lib.c:1157,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/evp/p_lib.c:1159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - pop_f_prefix
    - saved_indent
    argTypes:
    - BIO**
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1163
    functionName: print_reset_indent
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_set_indent
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: int print_reset_indent(BIO **out, int pop_f_prefix, long saved_indent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1171,1
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1174,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/evp/p_lib.c:1175,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/crypto/evp/p_lib.c:1175,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/evp/p_lib.c:1179,1
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1182,1
    - Dst: print_reset_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - out
    - pop_f_prefix
    - saved_indent
    - indent
    argTypes:
    - BIO**
    - int*
    - long*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1165
    functionDepth: 2
    functionLinenumber: 1165
    functionLinenumberEnd: 1188
    functionName: print_set_indent
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - print_reset_indent
    - BIO_set_indent
    - BIO_push
    - BIO_get_indent
    - BIO_f_prefix
    linkageType: ''
    returnType: int
    signature: "int print_set_indent(BIO **out, int *pop_f_prefix, long *saved_indent,\n
      \                           long indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1193,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/evp/p_lib.c:1194,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/evp/p_lib.c:1195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - out
    - pkey
    - indent
    - kstr
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1196
    functionName: unsup_alg
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int unsup_alg(BIO *out, const EVP_PKEY *pkey, int indent,\n                     const
      char *kstr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_set_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1210,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:1213,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/evp/p_lib.c:1215,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/evp/p_lib.c:1216,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:1217,1
    - Dst: legacy_print
      Src: /src/openssl/crypto/evp/p_lib.c:1224,1
    - Dst: unsup_alg
      Src: /src/openssl/crypto/evp/p_lib.c:1226,1
    - Dst: print_reset_indent
      Src: /src/openssl/crypto/evp/p_lib.c:1229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - pkey
    - out
    - indent
    - selection
    - propquery
    - legacy_pctx
    argTypes:
    - EVP_PKEY*
    - BIO*
    - int
    - int
    - char*
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1198
    functionDepth: 3
    functionLinenumber: 1198
    functionLinenumberEnd: 1231
    functionName: print_pkey
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_to_bio
    - unsup_alg
    - print_reset_indent
    - OSSL_ENCODER_CTX_get_num_encoders
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_CTX_free
    - print_set_indent
    - legacy_print
    linkageType: ''
    returnType: int
    signature: "int print_pkey(const EVP_PKEY *pkey, BIO *out, int indent,\n                      int
      selection /* For provided encoding */,\n                      const char *propquery
      /* For provided encoding */,\n                      int (*legacy_print)(BIO
      *out, const EVP_PKEY *pkey,\n                                          int indent,
      ASN1_PCTX *pctx),\n                      ASN1_PCTX *legacy_pctx /* For legacy
      print */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - pkey
    - indent
    - pctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1233
    functionDepth: 4
    functionLinenumber: 1233
    functionLinenumberEnd: 1239
    functionName: EVP_PKEY_print_public
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - print_pkey
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey,\n                          int
      indent, ASN1_PCTX *pctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - pkey
    - indent
    - pctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1241
    functionDepth: 4
    functionLinenumber: 1241
    functionLinenumberEnd: 1247
    functionName: EVP_PKEY_print_private
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - print_pkey
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey,\n                           int
      indent, ASN1_PCTX *pctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - pkey
    - indent
    - pctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1249
    functionDepth: 4
    functionLinenumber: 1249
    functionLinenumberEnd: 1255
    functionName: EVP_PKEY_print_params
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - print_pkey
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey,\n                          int
      indent, ASN1_PCTX *pctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/evp/p_lib.c:1262,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/crypto/evp/p_lib.c:1266,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/evp/p_lib.c:1267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - fp
    - pkey
    - indent
    - pctx
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1258
    functionDepth: 5
    functionLinenumber: 1258
    functionLinenumberEnd: 1269
    functionName: EVP_PKEY_print_public_fp
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - EVP_PKEY_print_public
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_print_public_fp(FILE *fp, const EVP_PKEY *pkey,\n                             int
      indent, ASN1_PCTX *pctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/evp/p_lib.c:1275,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/crypto/evp/p_lib.c:1279,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/evp/p_lib.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - fp
    - pkey
    - indent
    - pctx
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1271
    functionDepth: 5
    functionLinenumber: 1271
    functionLinenumberEnd: 1282
    functionName: EVP_PKEY_print_private_fp
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_print_private_fp(FILE *fp, const EVP_PKEY *pkey,\n                              int
      indent, ASN1_PCTX *pctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/evp/p_lib.c:1288,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/crypto/evp/p_lib.c:1292,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/evp/p_lib.c:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - fp
    - pkey
    - indent
    - pctx
    argTypes:
    - FILE*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1284
    functionDepth: 5
    functionLinenumber: 1284
    functionLinenumberEnd: 1295
    functionName: EVP_PKEY_print_params_fp
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - EVP_PKEY_print_params
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_print_params_fp(FILE *fp, const EVP_PKEY *pkey,\n                             int
      indent, ASN1_PCTX *pctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/evp/p_lib.c:1305,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/evp/p_lib.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - mdname
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1308
    functionName: mdname2nid
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_ln2nid
    - OBJ_sn2nid
    linkageType: ''
    returnType: void
    signature: void mdname2nid(const char *mdname, void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/crypto/evp/p_lib.c:1319,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/p_lib.c:1324,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1330,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/p_lib.c:1331,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1332,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/p_lib.c:1333,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/p_lib.c:1339,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/p_lib.c:1340,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/evp/p_lib.c:1348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1310
    functionDepth: 7
    functionLinenumber: 1310
    functionLinenumberEnd: 1357
    functionName: legacy_asn1_ctrl_to_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ERR_pop_to_mark
    - ossl_provider_libctx
    - ERR_set_mark
    - ossl_namemap_stored
    - EVP_PKEY_get_default_digest_name
    - EVP_MD_fetch
    - ossl_namemap_name2num
    - ossl_namemap_doall_names
    linkageType: ''
    returnType: int
    signature: "int legacy_asn1_ctrl_to_param(EVP_PKEY *pkey, int op,\n                                     int
      arg1, void *arg2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: legacy_asn1_ctrl_to_param
      Src: /src/openssl/crypto/evp/p_lib.c:1362,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:1365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1359
    functionDepth: 8
    functionLinenumber: 1359
    functionLinenumberEnd: 1366
    functionName: evp_pkey_asn1_ctrl
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY*::ameth::pkey_ctrl
    - legacy_asn1_ctrl_to_param
    linkageType: ''
    returnType: int
    signature: int evp_pkey_asn1_ctrl(EVP_PKEY *pkey, int op, int arg1, void *arg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_asn1_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:1372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkey
    - pnid
    argTypes:
    - EVP_PKEY*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1368
    functionDepth: 9
    functionLinenumber: 1368
    functionLinenumberEnd: 1373
    functionName: EVP_PKEY_get_default_digest_nid
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_asn1_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_get_deflt_digest_name
      Src: /src/openssl/crypto/evp/p_lib.c:1379,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/openssl/crypto/evp/p_lib.c:1385,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:1386,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/evp/p_lib.c:1389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pkey
    - mdname
    - mdname_sz
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1375
    functionDepth: 10
    functionLinenumber: 1375
    functionLinenumberEnd: 1392
    functionName: EVP_PKEY_get_default_digest_name
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strlcpy
    - OBJ_nid2sn
    - evp_keymgmt_util_get_deflt_digest_name
    - EVP_PKEY_get_default_digest_nid
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_default_digest_name(EVP_PKEY *pkey,\n                                     char
      *mdname, size_t mdname_sz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pkey
    - gname
    - gname_sz
    - gname_len
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1399
    functionName: EVP_PKEY_get_group_name
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_utf8_string_param
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_group_name(const EVP_PKEY *pkey, char *gname, size_t
      gname_sz,\n                            size_t *gname_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/p_lib.c:1407,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1410,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/evp/p_lib.c:1411,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1413,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pkey
    - libctx
    - name
    - propq
    argTypes:
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1401
    functionDepth: 3
    functionLinenumber: 1401
    functionLinenumberEnd: 1417
    functionName: EVP_PKEY_digestsign_supports_digest
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestSignInit_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_digestsign_supports_digest(EVP_PKEY *pkey, OSSL_LIB_CTX
      *libctx,\n                                        const char *name, const char
      *propq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:1426,1
    - Dst: EVP_PKEY_set_octet_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:1429,1
    - Dst: evp_pkey_asn1_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:1437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pkey
    - pub
    - publen
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1420
    functionDepth: 9
    functionLinenumber: 1420
    functionLinenumberEnd: 1442
    functionName: EVP_PKEY_set1_encoded_public_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_pkey_asn1_ctrl
    - evp_pkey_is_provided
    - EVP_PKEY_set_octet_string_param
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_set1_encoded_public_key(EVP_PKEY *pkey, const unsigned
      char *pub,\n                                     size_t publen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:1449,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:1459,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/p_lib.c:1466,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:1470,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/p_lib.c:1473,1
    - Dst: evp_pkey_asn1_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:1482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pkey
    - ppub
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1444
    functionDepth: 9
    functionLinenumber: 1444
    functionLinenumberEnd: 1488
    functionName: EVP_PKEY_get1_encoded_public_key
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - evp_pkey_asn1_ctrl
    - evp_pkey_is_provided
    - EVP_PKEY_get_octet_string_param
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: size_t EVP_PKEY_get1_encoded_public_key(EVP_PKEY *pkey, unsigned char
      **ppub)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/p_lib.c:1494,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/p_lib.c:1502,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/evp/p_lib.c:1505,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1507,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/evp/p_lib.c:1513,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1514,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/p_lib.c:1521,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/evp/p_lib.c:1522,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/p_lib.c:1523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1492
    functionDepth: 3
    functionLinenumber: 1492
    functionLinenumberEnd: 1525
    functionName: EVP_PKEY_new
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 6
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ERR_raise
    - CRYPTO_THREAD_lock_free
    - CRYPTO_new_ex_data
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *EVP_PKEY_new(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:1552,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:1553,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1554,1
    - Dst: evp_pkey_free_it
      Src: /src/openssl/crypto/evp/p_lib.c:1566,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:1578,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:1580,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/crypto/evp/p_lib.c:1587,1
    - Dst: EVP_PKEY_asn1_find
      Src: /src/openssl/crypto/evp/p_lib.c:1589,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:1592,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1605,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:1610,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1611,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/evp/p_lib.c:1644,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1645,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 6
    argNames:
    - pkey
    - e
    - type
    - str
    - len
    - keymgmt
    argTypes:
    - EVP_PKEY*
    - ENGINE*
    - int
    - char*
    - int
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1653
    functionName: pkey_set_type
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 3
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ENGINE_init
    - EVP_KEYMGMT_up_ref
    - ENGINE_finish
    - EVP_PKEY_asn1_find
    - evp_pkey_free_it
    - EVP_PKEY_asn1_find_str
    linkageType: ''
    returnType: int
    signature: "int pkey_set_type(EVP_PKEY *pkey, ENGINE *e, int type, const char
      *str,\n                         int len, EVP_KEYMGMT *keymgmt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1664,1
    - Dst: pkey_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:1666,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/p_lib.c:1666,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/p_lib.c:1674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1656
    functionDepth: 2
    functionLinenumber: 1656
    functionLinenumberEnd: 1675
    functionName: find_ameth
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - pkey_set_type
    - ERR_pop_to_mark
    - strlen
    - ERR_set_mark
    linkageType: ''
    returnType: void
    signature: void find_ameth(const char *name, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/openssl/crypto/evp/p_lib.c:1690,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1692,1
    - Dst: pkey_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - keymgmt
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1678
    functionDepth: 2
    functionLinenumber: 1678
    functionLinenumberEnd: 1705
    functionName: EVP_PKEY_set_type_by_keymgmt
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - EVP_KEYMGMT_names_do_all
    - ERR_raise
    - pkey_set_type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set_type_by_keymgmt(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/p_lib.c:1711,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/evp/p_lib.c:1714,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/evp/p_lib.c:1715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1717
    functionName: EVP_PKEY_up_ref
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 3
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_up_ref(EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find
      Src: /src/openssl/crypto/evp/p_lib.c:1787,1
    - Dst: assert
      Src: /src/openssl/crypto/evp/p_lib.c:1795,1
    - Dst: EVP_PKEY_ASN1_METHOD*::pkey_free
      Src: /src/openssl/crypto/evp/p_lib.c:1804,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:1808,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:1809,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/p_lib.c:1811,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    assertStmts:
    - condition: (x->pkey.ptr == NULL)
      pos:
        line_end: 1794
        line_start: 1794
        source_file: /src/openssl/crypto/evp/p_lib.c
    constantsTouched: []
    func_position:
      end: 1814
      start: 1781
    functionDepth: 1
    functionLinenumber: 1781
    functionLinenumberEnd: 1814
    functionName: evp_pkey_free_legacy
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_asn1_find
    - EVP_PKEY_ASN1_METHOD*::pkey_free
    - assert
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: void evp_pkey_free_legacy(EVP_PKEY *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_util_clear_operation_cache
      Src: /src/openssl/crypto/evp/p_lib.c:1820,1
    - Dst: evp_pkey_free_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:1822,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:1826,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/p_lib.c:1827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1817
    functionDepth: 2
    functionLinenumber: 1817
    functionLinenumberEnd: 1832
    functionName: evp_pkey_free_it
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_freedata
    - evp_keymgmt_util_clear_operation_cache
    - EVP_KEYMGMT_free
    - evp_pkey_free_legacy
    linkageType: ''
    returnType: void
    signature: void evp_pkey_free_it(EVP_PKEY *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/p_lib.c:1841,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/evp/p_lib.c:1842,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/evp/p_lib.c:1845,1
    - Dst: evp_pkey_free_it
      Src: /src/openssl/crypto/evp/p_lib.c:1846,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/evp/p_lib.c:1848,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/evp/p_lib.c:1850,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/p_lib.c:1851,1
    - Dst: sk_X509_ATTRIBUTE_pop_free
      Src: /src/openssl/crypto/evp/p_lib.c:1853,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/p_lib.c:1855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1834
    functionDepth: 3
    functionLinenumber: 1834
    functionLinenumberEnd: 1856
    functionName: EVP_PKEY_free
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 29
    functionsReached:
    - REF_PRINT_COUNT
    - CRYPTO_THREAD_lock_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - CRYPTO_free_ex_data
    - OPENSSL_free
    - evp_pkey_free_it
    - sk_X509_ATTRIBUTE_pop_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_free(EVP_PKEY *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY*::ameth::pkey_size
      Src: /src/openssl/crypto/evp/p_lib.c:1866,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:1870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1874
    functionName: EVP_PKEY_get_size
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - EVP_PKEY*::ameth::pkey_size
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_size(const EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/evp/p_lib.c:1878,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:1881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1876
    functionDepth: 1
    functionLinenumber: 1876
    functionLinenumberEnd: 1888
    functionName: EVP_PKEY_get0_description
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_assigned
    - evp_pkey_is_provided
    linkageType: ''
    returnType: char
    signature: char *EVP_PKEY_get0_description(const EVP_PKEY *pkey)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:1933,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:1939,1
    - Dst: EVP_PKEY*::ameth::dirty_cnt
      Src: /src/openssl/crypto/evp/p_lib.c:1955,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/evp/p_lib.c:1956,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/openssl/crypto/evp/p_lib.c:1958,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:1977,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:1980,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/p_lib.c:1984,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:1984,1
    - Dst: evp_keymgmt_newdata
      Src: /src/openssl/crypto/evp/p_lib.c:1987,1
    - Dst: EVP_PKEY*::ameth::export_to
      Src: /src/openssl/crypto/evp/p_lib.c:1990,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:1992,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/p_lib.c:2003,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:2004,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/evp/p_lib.c:2009,1
    - Dst: EVP_PKEY*::ameth::dirty_cnt
      Src: /src/openssl/crypto/evp/p_lib.c:2011,1
    - Dst: evp_keymgmt_util_clear_operation_cache
      Src: /src/openssl/crypto/evp/p_lib.c:2012,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:2013,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:2014,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/p_lib.c:2016,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/p_lib.c:2019,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/openssl/crypto/evp/p_lib.c:2022,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:2026,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:2027,1
    - Dst: evp_keymgmt_util_cache_keydata
      Src: /src/openssl/crypto/evp/p_lib.c:2033,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:2035,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/p_lib.c:2036,1
    - Dst: EVP_PKEY*::ameth::dirty_cnt
      Src: /src/openssl/crypto/evp/p_lib.c:2042,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:2044,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/openssl/crypto/evp/p_lib.c:2049,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/p_lib.c:2065,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 102
    argCount: 4
    argNames:
    - pk
    - libctx
    - keymgmt
    - propquery
    argTypes:
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - EVP_KEYMGMT**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 1890
    functionDepth: 5
    functionLinenumber: 1890
    functionLinenumberEnd: 2067
    functionName: evp_pkey_export_to_provider
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 8
    functionsReached:
    - evp_keymgmt_newdata
    - EVP_PKEY*::ameth::dirty_cnt
    - EVP_PKEY*::ameth::export_to
    - evp_keymgmt_util_find_operation_cache
    - evp_keymgmt_util_cache_keydata
    - CRYPTO_THREAD_read_lock
    - OBJ_nid2sn
    - EVP_KEYMGMT_is_a
    - evp_keymgmt_freedata
    - EVP_KEYMGMT_up_ref
    - CRYPTO_THREAD_write_lock
    - evp_keymgmt_util_export_to_provider
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - CRYPTO_THREAD_unlock
    - evp_keymgmt_util_clear_operation_cache
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: void
    signature: "void *evp_pkey_export_to_provider(EVP_PKEY *pk, OSSL_LIB_CTX *libctx,\n
      \                                 EVP_KEYMGMT **keymgmt,\n                                  const
      char *propquery)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:2074,1
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/evp/p_lib.c:2077,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:2077,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/p_lib.c:2083,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:2091,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/p_lib.c:2092,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/p_lib.c:2100,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/p_lib.c:2104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:2106,1
    - Dst: evp_pkey_free_it
      Src: /src/openssl/crypto/evp/p_lib.c:2110,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/evp/p_lib.c:2113,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/p_lib.c:2119,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/p_lib.c:2127,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/p_lib.c:2129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:2132,1
    - Dst: evp_keymgmt_export
      Src: /src/openssl/crypto/evp/p_lib.c:2135,1
    - Dst: ameth::dirty_cnt
      Src: /src/openssl/crypto/evp/p_lib.c:2140,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:2142,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_lib.c:2145,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/p_lib.c:2148,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/p_lib.c:2154,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EVP_PKEY**
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2070
    functionDepth: 5
    functionLinenumber: 2070
    functionLinenumberEnd: 2158
    functionName: evp_pkey_copy_downgraded
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    - ERR_raise
    - EVP_PKEY_new
    - OBJ_nid2sn
    - evp_pkey_is_assigned
    - ossl_provider_libctx
    - evp_keymgmt_export
    - ERR_raise_data
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - evp_pkey_free_it
    - ameth::dirty_cnt
    - EVP_KEYMGMT_get0_name
    - evp_pkey_is_provided
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: int
    signature: int evp_pkey_copy_downgraded(EVP_PKEY **dest, const EVP_PKEY *src)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:2165,1
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/evp/p_lib.c:2172,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:2174,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/evp/p_lib.c:2177,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:2182,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/crypto/evp/p_lib.c:2188,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/evp/p_lib.c:2191,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/p_lib.c:2202,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/p_lib.c:2208,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2160
    functionDepth: 6
    functionLinenumber: 2160
    functionLinenumberEnd: 2211
    functionName: evp_pkey_get_legacy
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 6
    functionsReached:
    - ossl_assert
    - CRYPTO_THREAD_read_lock
    - evp_pkey_is_assigned
    - CRYPTO_THREAD_write_lock
    - evp_pkey_copy_downgraded
    - EVP_PKEY_free
    - CRYPTO_THREAD_unlock
    - evp_pkey_is_provided
    linkageType: ''
    returnType: void
    signature: void *evp_pkey_get_legacy(EVP_PKEY *pk)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/evp/p_lib.c:2227,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/crypto/evp/p_lib.c:2228,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2229,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2230,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2231,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/p_lib.c:2238,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2244,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2248,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/evp/p_lib.c:2250,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2253,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/p_lib.c:2254,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/p_lib.c:2256,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2257,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p_lib.c:2258,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - pkey
    - key_name
    - bn
    argTypes:
    - EVP_PKEY*
    - char*
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2214
    functionDepth: 2
    functionLinenumber: 2214
    functionLinenumberEnd: 2261
    functionName: EVP_PKEY_get_bn_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_PARAM_get_BN
    - memset
    - OSSL_PARAM_construct_BN
    - OPENSSL_clear_free
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_bn_param(const EVP_PKEY *pkey, const char *key_name,\n
      \                         BIGNUM **bn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:2273,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2274,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2275,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - pkey
    - key_name
    - buf
    - max_buf_sz
    - out_len
    argTypes:
    - EVP_PKEY*
    - char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2263
    functionDepth: 2
    functionLinenumber: 2263
    functionLinenumberEnd: 2280
    functionName: EVP_PKEY_get_octet_string_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 3
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_octet_string_param(const EVP_PKEY *pkey, const char
      *key_name,\n                                    unsigned char *buf, size_t max_buf_sz,\n
      \                                   size_t *out_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p_lib.c:2292,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2293,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2294,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - pkey
    - key_name
    - str
    - max_buf_sz
    - out_len
    argTypes:
    - EVP_PKEY*
    - char*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2282
    functionDepth: 2
    functionLinenumber: 2282
    functionLinenumberEnd: 2307
    functionName: EVP_PKEY_get_utf8_string_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_utf8_string_param(const EVP_PKEY *pkey, const char
      *key_name,\n                                    char *str, size_t max_buf_sz,\n
      \                                   size_t *out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/p_lib.c:2317,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2318,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2319,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - key_name
    - out
    argTypes:
    - EVP_PKEY*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2309
    functionDepth: 2
    functionLinenumber: 2309
    functionLinenumberEnd: 2321
    functionName: EVP_PKEY_get_int_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_int_param(const EVP_PKEY *pkey, const char *key_name,\n
      \                          int *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/p_lib.c:2331,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2332,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2333,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/p_lib.c:2334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - key_name
    - out
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2323
    functionDepth: 2
    functionLinenumber: 2323
    functionLinenumberEnd: 2335
    functionName: EVP_PKEY_get_size_t_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    - EVP_PKEY_get_params
    - OSSL_PARAM_modified
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_size_t_param(const EVP_PKEY *pkey, const char *key_name,\n
      \                             size_t *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/p_lib.c:2344,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2345,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - key_name
    - in
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2337
    functionDepth: 2
    functionLinenumber: 2337
    functionLinenumberEnd: 2347
    functionName: EVP_PKEY_set_int_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_set_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set_int_param(EVP_PKEY *pkey, const char *key_name, int
      in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/p_lib.c:2356,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2357,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - key_name
    - in
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2349
    functionDepth: 2
    functionLinenumber: 2349
    functionLinenumberEnd: 2359
    functionName: EVP_PKEY_set_size_t_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    - EVP_PKEY_set_params
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set_size_t_param(EVP_PKEY *pkey, const char *key_name,
      size_t in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/evp/p_lib.c:2371,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/evp/p_lib.c:2374,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/p_lib.c:2375,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/crypto/evp/p_lib.c:2378,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/crypto/evp/p_lib.c:2380,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2381,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pkey
    - key_name
    - bn
    argTypes:
    - EVP_PKEY*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2361
    functionDepth: 2
    functionLinenumber: 2361
    functionLinenumberEnd: 2383
    functionName: EVP_PKEY_set_bn_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_PARAM_construct_BN
    - BN_num_bytes
    - evp_pkey_is_assigned
    - EVP_PKEY_set_params
    - BN_bn2nativepad
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_set_bn_param(EVP_PKEY *pkey, const char *key_name,\n
      \                         const BIGNUM *bn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/p_lib.c:2393,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2394,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - key_name
    - str
    argTypes:
    - EVP_PKEY*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2385
    functionDepth: 2
    functionLinenumber: 2385
    functionLinenumberEnd: 2396
    functionName: EVP_PKEY_set_utf8_string_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_set_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_set_utf8_string_param(EVP_PKEY *pkey, const char *key_name,\n
      \                                  const char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/p_lib.c:2406,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/p_lib.c:2408,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pkey
    - key_name
    - buf
    - bsize
    argTypes:
    - EVP_PKEY*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2398
    functionDepth: 2
    functionLinenumber: 2398
    functionLinenumberEnd: 2410
    functionName: EVP_PKEY_set_octet_string_param
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_set_params
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_set_octet_string_param(EVP_PKEY *pkey, const char *key_name,\n
      \                                   const unsigned char *buf, size_t bsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:2414,1
    - Dst: EVP_KEYMGMT_settable_params
      Src: /src/openssl/crypto/evp/p_lib.c:2415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2417
    functionName: EVP_PKEY_settable_params
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT_settable_params
    - evp_pkey_is_provided
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_PKEY_settable_params(const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:2422,1
    - Dst: evp_keymgmt_set_params
      Src: /src/openssl/crypto/evp/p_lib.c:2424,1
    - Dst: evp_pkey_set_params_to_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:2435,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:2440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2419
    functionDepth: 1
    functionLinenumber: 2419
    functionLinenumberEnd: 2442
    functionName: EVP_PKEY_set_params
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 5
    functionsReached:
    - evp_keymgmt_set_params
    - evp_pkey_set_params_to_ctrl
    - evp_pkey_is_provided
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set_params(EVP_PKEY *pkey, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_set_params_to_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:2435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2436
    functionName: if
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_set_params_to_ctrl
    linkageType: ''
    returnType: else
    signature: else if (evp_pkey_is_legacy(pkey))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:2446,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/openssl/crypto/evp/p_lib.c:2447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2444
    functionDepth: 1
    functionLinenumber: 2444
    functionLinenumberEnd: 2449
    functionName: EVP_PKEY_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT_gettable_params
    - evp_pkey_is_provided
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_PKEY_gettable_params(const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/p_lib.c:2454,1
    - Dst: evp_keymgmt_get_params
      Src: /src/openssl/crypto/evp/p_lib.c:2455,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/p_lib.c:2457,1
    - Dst: evp_pkey_get_params_to_ctrl
      Src: /src/openssl/crypto/evp/p_lib.c:2458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_lib.c:2461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2451
    functionDepth: 1
    functionLinenumber: 2451
    functionLinenumberEnd: 2463
    functionName: EVP_PKEY_get_params
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 5
    functionsReached:
    - evp_keymgmt_get_params
    - ERR_raise
    - evp_pkey_get_params_to_ctrl
    - evp_pkey_is_provided
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_params(const EVP_PKEY *pkey, OSSL_PARAM params[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/p_lib.c:2478,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/crypto/evp/p_lib.c:2483,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:2489,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2494,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2497,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2466
    functionDepth: 3
    functionLinenumber: 2466
    functionLinenumberEnd: 2504
    functionName: EVP_PKEY_get_ec_point_conv_form
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_get_conv_form
    - strcmp
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_ec_point_conv_form(const EVP_PKEY *pkey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/p_lib.c:2518,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/p_lib.c:2523,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/evp/p_lib.c:2527,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/crypto/evp/p_lib.c:2533,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2537,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/p_lib.c:2539,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2506
    functionDepth: 3
    functionLinenumber: 2506
    functionLinenumberEnd: 2543
    functionName: EVP_PKEY_get_field_type
    functionSourceFile: /src/openssl/crypto/evp/p_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_get_utf8_string_param
    - EC_KEY_get0_group
    - strcmp
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_field_type(const EVP_PKEY *pkey)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/evp/p_seal.c:32,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/evp/p_seal.c:33,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/evp/p_seal.c:36,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/crypto/evp/p_seal.c:37,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/evp/p_seal.c:38,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/crypto/evp/p_seal.c:42,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/p_seal.c:45,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/evp/p_seal.c:46,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/p_seal.c:49,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/evp/p_seal.c:53,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/p_seal.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_seal.c:61,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/evp/p_seal.c:65,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/evp/p_seal.c:66,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_seal.c:69,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_seal.c:74,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/p_seal.c:75,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 7
    argNames:
    - ctx
    - type
    - ek
    - ekl
    - iv
    - pubk
    - npubk
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char**
    - int*
    - unsigned char*
    - EVP_PKEY**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 77
    functionName: EVP_SealInit
    functionSourceFile: /src/openssl/crypto/evp/p_seal.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX_get_iv_length
    - ERR_raise
    - EVP_CIPHER_CTX_rand_key
    - EVP_PKEY_encrypt
    - RAND_priv_bytes_ex
    - ossl_provider_libctx
    - EVP_CIPHER_CTX_get_key_length
    - EVP_PKEY_encrypt_init
    - EVP_CIPHER_CTX_reset
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_get0_provider
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,\n                 unsigned
      char **ek, int *ekl, unsigned char *iv,\n                 EVP_PKEY **pubk, int
      npubk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/evp/p_seal.c:82,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/evp/p_seal.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 6
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: EVP_SealFinal
    functionSourceFile: /src/openssl/crypto/evp/p_seal.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_EncryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 216
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:73,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:78,1
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:82,1
    - Dst: aesni_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:84,1
    - Dst: SHA1_Init
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: aesni_cbc_hmac_sha1_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    - aesni_set_decrypt_key
    - ERR_raise
    - data
    - EVP_CIPHER_CTX_get_key_length
    - SHA1_Init
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha1_init_key(EVP_CIPHER_CTX *ctx,\n                                        const
      unsigned char *inkey,\n                                        const unsigned
      char *iv, int enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:113,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:122,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 133
    functionName: sha1_update
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 0
    functionsReached:
    - sha1_block_data_order
    - SHA1_Update
    linkageType: ''
    returnType: void
    signature: void sha1_update(SHA_CTX *c, const void *data, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:184,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:203,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:204,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:210,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:211,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:216,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:217,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:233,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:247,1
    - Dst: sha1_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:256,1
    - Dst: sha1_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:274,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:275,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:284,1
    - Dst: sha1_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:292,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:294,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:301,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:307,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:309,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:314,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:316,1
    - Dst: sha1_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:324,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:326,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:329,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:331,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:333,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:335,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:337,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:340,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:342,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:344,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:346,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:348,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:350,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:353,1
    - Dst: sha1_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:360,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:366,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:372,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:373,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:374,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:375,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:376,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:400,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:402,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:403,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 151
    argCount: 5
    argNames:
    - key
    - out
    - inp
    - inp_len
    - n4x
    argTypes:
    - EVP_AES_HMAC_SHA1*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 406
    functionName: tls1_1_multi_block_encrypt
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - PUTU32
    - BSWAP4
    - aesni_multi_cbc_encrypt
    - RAND_bytes
    - sha1_multi_block
    - BSWAP8
    - OPENSSL_cleanse
    linkageType: ''
    returnType: size_t
    signature: "size_t tls1_1_multi_block_encrypt(EVP_AES_HMAC_SHA1 *key,\n                                         unsigned
      char *out,\n                                         const unsigned char *inp,\n
      \                                        size_t inp_len, int n4x)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:412,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:428,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:441,1
    - Dst: aesni_cbc_sha1_enc
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:443,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:457,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:461,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:464,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:466,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:467,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:474,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:477,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:500,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:503,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:514,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:525,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:527,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:534,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:543,1
    - Dst: constant_time_select
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:551,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:560,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:568,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:570,1
    - Dst: aesni256_cbc_sha1_dec
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:571,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:581,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:590,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:599,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:627,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:643,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:651,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:655,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:664,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:665,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:666,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:667,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:668,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:680,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:682,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:696,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:700,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:701,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:751,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:752,1
    - Dst: aesni256_cbc_sha1_dec
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:753,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:768,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:771,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 225
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 776
    functionName: aesni_cbc_hmac_sha1_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 0
    functionsReached:
    - aesni_cbc_encrypt
    - ERR_raise
    - aesni_cbc_sha1_enc
    - constant_time_ge
    - memset
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - data
    - EVP_CIPHER_CTX_get_key_length
    - SHA1_Update
    - constant_time_select
    - BSWAP4
    - aesni256_cbc_sha1_dec
    - SHA1_Final
    - sha1_block_data_order
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, unsigned char
      *out,\n                                      const unsigned char *in, size_t
      len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:781,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:789,1
    - Dst: SHA1_Init
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:792,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:793,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:794,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:796,1
    - Dst: SHA1_Init
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:801,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:802,1
    - Dst: SHA1_Init
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:806,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:807,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:809,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:823,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:834,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:840,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:861,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:877,1
    - Dst: tls1_1_multi_block_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c:904,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 87
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 913
    functionName: aesni_cbc_hmac_sha1_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 0
    functionsReached:
    - memset
    - tls1_1_multi_block_encrypt
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - data
    - SHA1_Update
    - SHA1_Init
    - SHA1_Final
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,\n
      \                                   void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 959
    functionName: EVP_aes_128_cbc_hmac_sha1
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: EVP_aes_256_cbc_hmac_sha1
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: EVP_aes_128_cbc_hmac_sha1
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 975
    functionName: EVP_aes_256_cbc_hmac_sha1
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_rc5.c
    functionUses: 219
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc5.c:47,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc5.c:51,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc5.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_rc5.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: rc5_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_rc5.c
    functionUses: 0
    functionsReached:
    - data
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int rc5_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_rc5.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_rc5.c:78,1
    - Dst: RC5_32_set_key
      Src: /src/openssl/crypto/evp/e_rc5.c:81,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc5.c:81,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc5.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: r_32_12_16_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_rc5.c
    functionUses: 0
    functionsReached:
    - RC5_32_set_key
    - data
    - ERR_raise
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int r_32_12_16_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                              const unsigned char *iv, int enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find
      Src: /src/openssl/crypto/evp/evp_pkey_type.c:70,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/evp_pkey_type.c:76,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/evp_pkey_type.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: EVP_PKEY_type
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey_type.c
    functionUses: 4
    functionsReached:
    - EVP_PKEY_asn1_find
    - OSSL_NELEM
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_type(int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_md5_sha1_ctrl
      Src: /src/openssl/crypto/evp/legacy_md5_sha1.c:24,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/crypto/evp/legacy_md5_sha1.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cmd
    - mslen
    - ms
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: md5_sha1_int_ctrl
    functionSourceFile: /src/openssl/crypto/evp/legacy_md5_sha1.c
    functionUses: 0
    functionsReached:
    - ossl_md5_sha1_ctrl
    - EVP_MD_CTX_get0_md_data
    linkageType: ''
    returnType: int
    signature: int md5_sha1_int_ctrl(EVP_MD_CTX *ctx, int cmd, int mslen, void *ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: EVP_md5_sha1
    functionSourceFile: /src/openssl/crypto/evp/legacy_md5_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_md5_sha1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: ctr64_inc
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctr64_inc(unsigned char *counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: AES_GCM_ASM2
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_GCM_ASM2(gctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:148,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:152,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_aes.c:155,1
    - Dst: aesni_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:158,1
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: aesni_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    - aesni_set_decrypt_key
    - ERR_raise
    - EVP_CIPHER_CTX_get_mode
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int aesni_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                         const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:184,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:184,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: aesni_cbc_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - aesni_cbc_encrypt
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                            const
      unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/e_aes.c:193,1
    - Dst: aesni_ecb_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:198,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:198,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: aesni_ecb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_C_DATA
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_block_size
    - aesni_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: "int aesni_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                            const
      unsigned char *in, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:227,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:236,1
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:239,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:240,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:248,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:255,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 262
    functionName: aesni_gcm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_gcm128_init
    - CRYPTO_gcm128_setiv
    linkageType: ''
    returnType: int
    signature: "int aesni_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                             const unsigned char *iv, int enc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:271,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:283,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:294,1
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:300,1
    - Dst: aesni_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:304,1
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:309,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 321
    functionName: aesni_xts_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    - aesni_set_decrypt_key
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int aesni_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                             const unsigned char *iv, int enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:330,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:339,1
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:342,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:343,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 354
    functionName: aesni_ccm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_ccm128_init
    linkageType: ''
    returnType: int
    signature: "int aesni_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                             const unsigned char *iv, int enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:364,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:370,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:373,1
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:382,1
    - Dst: aesni_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:383,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/openssl/crypto/evp/e_aes.c:384,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:400,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:409,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 415
    functionName: aesni_ocb_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    - aesni_set_decrypt_key
    - ERR_raise
    - memcpy
    - CRYPTO_ocb128_setiv
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_ocb128_init
    linkageType: ''
    returnType: int
    signature: "int aesni_ocb_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                             const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 444
    functionName: BLOCK_CIPHER_generic
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 470
    functionName: BLOCK_CIPHER_custom
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_custom(nid,keylen,blocksize,ivlen,mode,MODE,flags)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:477,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_aes.c:479,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:480,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:482,1
    - Dst: aes_t4_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:488,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:541,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 546
    functionName: aes_t4_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_get_mode
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - aes_t4_set_decrypt_key
    - aes_t4_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_t4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                          const unsigned char *iv, int enc)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:579,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:584,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:587,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:590,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:591,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:612,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:619,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:621,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 626
    functionName: aes_t4_gcm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - CRYPTO_gcm128_init
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_gcm128_setiv
    - aes_t4_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_t4_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                              const unsigned char *iv, int enc)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:635,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:642,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:647,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:657,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:658,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:665,1
    - Dst: aes_t4_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:678,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:692,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:700,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 704
    functionName: aes_t4_xts_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_get_key_length
    - aes_t4_set_decrypt_key
    - aes_t4_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_t4_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                              const unsigned char *iv, int enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:713,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:719,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:722,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:725,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:726,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 736
    functionName: aes_t4_ccm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - aes_t4_set_encrypt_key
    - CRYPTO_ccm128_init
    linkageType: ''
    returnType: int
    signature: "int aes_t4_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                              const unsigned char *iv, int enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:746,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:752,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:755,1
    - Dst: aes_t4_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:764,1
    - Dst: aes_t4_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:765,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/openssl/crypto/evp/e_aes.c:766,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:781,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:790,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:792,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 796
    functionName: aes_t4_ocb_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - CRYPTO_ocb128_setiv
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - aes_t4_set_decrypt_key
    - aes_t4_set_encrypt_key
    - CRYPTO_ocb128_init
    linkageType: ''
    returnType: int
    signature: "int aes_t4_ocb_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                              const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 830
    functionName: BLOCK_CIPHER_generic
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 856
    functionName: BLOCK_CIPHER_custom
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_custom(nid,keylen,blocksize,ivlen,mode,MODE,flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1023,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:1024,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1027,1
    - Dst: S390X_AES_FC
      Src: /src/openssl/crypto/evp/e_aes.c:1030,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1036
    functionName: s390x_aes_ecb_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - S390X_AES_FC
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_ecb_init_key(EVP_CIPHER_CTX *ctx,\n                                  const
      unsigned char *key,\n                                  const unsigned char *iv,
      int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1041,1
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1045
    functionName: s390x_aes_ecb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_C_DATA
    - s390x_km
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1051,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:1053,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:1054,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1057,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1061,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1064,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1065,1
    - Dst: S390X_AES_FC
      Src: /src/openssl/crypto/evp/e_aes.c:1066,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - key
    - ivec
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1068
    functionName: s390x_aes_ofb_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - S390X_AES_FC
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_ofb_init_key(EVP_CIPHER_CTX *ctx,\n                                  const
      unsigned char *key,\n                                  const unsigned char *ivec,
      int enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1073,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:1074,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:1075,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1079,1
    - Dst: s390x_kmo
      Src: /src/openssl/crypto/evp/e_aes.c:1092,1
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1099,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1111
    functionName: s390x_aes_ofb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - memcpy
    - EVP_CIPHER_CTX_iv_noconst
    - EVP_C_DATA
    - s390x_kmo
    - s390x_km
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1117,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:1119,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:1120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1127,1
    - Dst: S390X_AES_FC
      Src: /src/openssl/crypto/evp/e_aes.c:1130,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1135,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - key
    - ivec
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1138
    functionName: s390x_aes_cfb_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - S390X_AES_FC
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_cfb_init_key(EVP_CIPHER_CTX *ctx,\n                                  const
      unsigned char *key,\n                                  const unsigned char *ivec,
      int enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1143,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:1144,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1145,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:1146,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:1147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1157,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1160,1
    - Dst: s390x_kmf
      Src: /src/openssl/crypto/evp/e_aes.c:1175,1
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1182,1
    - Dst: S390X_AES_FC
      Src: /src/openssl/crypto/evp/e_aes.c:1183,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1196
    functionName: s390x_aes_cfb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - S390X_AES_FC
    - ERR_raise
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_iv_noconst
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - s390x_kmf
    - s390x_km
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1202,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:1204,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:1205,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1212,1
    - Dst: S390X_AES_FC
      Src: /src/openssl/crypto/evp/e_aes.c:1215,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1220,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - key
    - ivec
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1223
    functionName: s390x_aes_cfb8_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - S390X_AES_FC
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_cfb8_init_key(EVP_CIPHER_CTX *ctx,\n                                   const
      unsigned char *key,\n                                   const unsigned char
      *ivec, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1228,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:1229,1
    - Dst: EVP_CIPHER_CTX_iv_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:1230,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1232,1
    - Dst: s390x_kmf
      Src: /src/openssl/crypto/evp/e_aes.c:1233,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1236
    functionName: s390x_aes_cfb8_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - memcpy
    - EVP_CIPHER_CTX_iv_noconst
    - s390x_kmf
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1254
    functionName: S390X_gcm_ivpadlen
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_gcm_ivpadlen(i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/evp/e_aes.c:1269,1
    - Dst: s390x_kma
      Src: /src/openssl/crypto/evp/e_aes.c:1283,1
    - Dst: s390x_kma
      Src: /src/openssl/crypto/evp/e_aes.c:1293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - S390X_AES_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1307
    functionName: s390x_aes_gcm_aad
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - s390x_kma
    - U64
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_gcm_aad(S390X_AES_GCM_CTX *ctx, const unsigned char
      *aad,\n                             size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/evp/e_aes.c:1326,1
    - Dst: s390x_kma
      Src: /src/openssl/crypto/evp/e_aes.c:1342,1
    - Dst: s390x_kma
      Src: /src/openssl/crypto/evp/e_aes.c:1365,1
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1384,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - S390X_AES_GCM_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1396
    functionName: s390x_aes_gcm
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - s390x_kma
    - U64
    - s390x_km
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_gcm(S390X_AES_GCM_CTX *ctx, const unsigned char *in,\n
      \                        unsigned char *out, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1413,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1418,1
    - Dst: s390x_kma
      Src: /src/openssl/crypto/evp/e_aes.c:1419,1
    - Dst: S390X_gcm_ivpadlen
      Src: /src/openssl/crypto/evp/e_aes.c:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - S390X_AES_GCM_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1429
    functionName: s390x_aes_gcm_setiv
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - memcpy
    - s390x_kma
    - S390X_gcm_ivpadlen
    linkageType: ''
    returnType: void
    signature: "void s390x_aes_gcm_setiv(S390X_AES_GCM_CTX *ctx,\n                                const
      unsigned char *iv)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1438,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:1446,1
    - Dst: S390X_gcm_ivpadlen
      Src: /src/openssl/crypto/evp/e_aes.c:1465,1
    - Dst: S390X_gcm_ivpadlen
      Src: /src/openssl/crypto/evp/e_aes.c:1468,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/e_aes.c:1470,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/e_aes.c:1472,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes.c:1476,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:1483,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1484,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1488,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1493,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1497,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1503,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1515,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1517,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/evp/e_aes.c:1518,1
    - Dst: s390x_aes_gcm_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:1528,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1533,1
    - Dst: ctr64_inc
      Src: /src/openssl/crypto/evp/e_aes.c:1538,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1543,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1547,1
    - Dst: s390x_aes_gcm_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:1548,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:1557,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1558,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1569,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1582,1
    - Dst: S390X_gcm_ivpadlen
      Src: /src/openssl/crypto/evp/e_aes.c:1587,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/e_aes.c:1589,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1592,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 113
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1599
    functionName: s390x_aes_gcm_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - s390x_aes_gcm_setiv
    - memset
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - ctr64_inc
    - OPENSSL_free
    - RAND_bytes
    - S390X_gcm_ivpadlen
    - EVP_CIPHER_get_iv_length
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: int s390x_aes_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1608,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:1615,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1617,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1621,1
    - Dst: S390X_AES_FC
      Src: /src/openssl/crypto/evp/e_aes.c:1623,1
    - Dst: s390x_aes_gcm_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:1631,1
    - Dst: s390x_aes_gcm_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:1637,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1639,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1604
    functionDepth: 2
    functionLinenumber: 1604
    functionLinenumberEnd: 1645
    functionName: s390x_aes_gcm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - S390X_AES_FC
    - s390x_aes_gcm_setiv
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_gcm_init_key(EVP_CIPHER_CTX *ctx,\n                                  const
      unsigned char *key,\n                                  const unsigned char *iv,
      int enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1654,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:1655,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1656,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:1669,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/e_aes.c:1673,1
    - Dst: s390x_kma
      Src: /src/openssl/crypto/evp/e_aes.c:1684,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1688,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:1691,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:1693,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1651
    functionDepth: 3
    functionLinenumber: 1651
    functionLinenumberEnd: 1702
    functionName: s390x_aes_gcm_tls_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_ctrl
    - s390x_kma
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_gcm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                   const unsigned char *in, size_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1713,1
    - Dst: s390x_aes_gcm_tls_cipher
      Src: /src/openssl/crypto/evp/e_aes.c:1721,1
    - Dst: s390x_aes_gcm_aad
      Src: /src/openssl/crypto/evp/e_aes.c:1728,1
    - Dst: s390x_aes_gcm
      Src: /src/openssl/crypto/evp/e_aes.c:1731,1
    - Dst: s390x_kma
      Src: /src/openssl/crypto/evp/e_aes.c:1738,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:1742,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1745,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:1752,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:1753,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1710
    functionDepth: 4
    functionLinenumber: 1710
    functionLinenumberEnd: 1758
    functionName: s390x_aes_gcm_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_memcmp
    - s390x_aes_gcm_aad
    - s390x_aes_gcm_tls_cipher
    - s390x_kma
    - s390x_aes_gcm
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1762,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/e_aes.c:1768,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:1770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1772
    functionName: s390x_aes_gcm_cleanup
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_free
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: int s390x_aes_gcm_cleanup(EVP_CIPHER_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - nonce
    - mlen
    argTypes:
    - S390X_AES_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1797
    functionName: s390x_aes_ccm_setiv
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void s390x_aes_ccm_setiv(S390X_AES_CCM_CTX *ctx,\n                                          const
      unsigned char *nonce,\n                                          size_t mlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s390x_kmac
      Src: /src/openssl/crypto/evp/e_aes.c:1843,1
    - Dst: s390x_kmac
      Src: /src/openssl/crypto/evp/e_aes.c:1850,1
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1858,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - S390X_AES_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1863
    functionName: s390x_aes_ccm_aad
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - s390x_kmac
    - s390x_km
    linkageType: ''
    returnType: void
    signature: "void s390x_aes_ccm_aad(S390X_AES_CCM_CTX *ctx, const unsigned char
      *aad,\n                              size_t alen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1878,1
    - Dst: s390x_kmac
      Src: /src/openssl/crypto/evp/e_aes.c:1915,1
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1920,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/openssl/crypto/evp/e_aes.c:1925,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/openssl/crypto/evp/e_aes.c:1930,1
    - Dst: s390x_kmac
      Src: /src/openssl/crypto/evp/e_aes.c:1935,1
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1940,1
    - Dst: s390x_km
      Src: /src/openssl/crypto/evp/e_aes.c:1949,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 5
    argNames:
    - ctx
    - in
    - out
    - len
    - enc
    argTypes:
    - S390X_AES_CCM_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1956
    functionName: s390x_aes_ccm
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - s390x_kmac
    - CRYPTO_ctr128_encrypt_ctr32
    - s390x_km
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_ccm(S390X_AES_CCM_CTX *ctx, const unsigned char *in,\n
      \                        unsigned char *out, size_t len, int enc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:1965,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:1967,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:1968,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1976,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1984,1
    - Dst: s390x_aes_ccm_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:1985,1
    - Dst: s390x_aes_ccm_aad
      Src: /src/openssl/crypto/evp/e_aes.c:1988,1
    - Dst: s390x_aes_ccm
      Src: /src/openssl/crypto/evp/e_aes.c:1994,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:1997,1
    - Dst: s390x_aes_ccm
      Src: /src/openssl/crypto/evp/e_aes.c:2000,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:2001,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:2006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1962
    functionDepth: 3
    functionLinenumber: 1962
    functionLinenumberEnd: 2009
    functionName: s390x_aes_ccm_tls_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - CRYPTO_memcmp
    - s390x_aes_ccm_aad
    - s390x_aes_ccm
    - s390x_aes_ccm_setiv
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_ccm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                   const unsigned char *in, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2019,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:2026,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:2028,1
    - Dst: S390X_AES_FC
      Src: /src/openssl/crypto/evp/e_aes.c:2032,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2033,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes.c:2038,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2052
    functionName: s390x_aes_ccm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - S390X_AES_FC
    - ERR_raise
    - memset
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_ccm_init_key(EVP_CIPHER_CTX *ctx,\n                                  const
      unsigned char *key,\n                                  const unsigned char *iv,
      int enc)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2063,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2064,1
    - Dst: s390x_aes_ccm_tls_cipher
      Src: /src/openssl/crypto/evp/e_aes.c:2072,1
    - Dst: s390x_aes_ccm_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:2088,1
    - Dst: s390x_aes_ccm_aad
      Src: /src/openssl/crypto/evp/e_aes.c:2098,1
    - Dst: s390x_aes_ccm_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:2113,1
    - Dst: s390x_aes_ccm
      Src: /src/openssl/crypto/evp/e_aes.c:2119,1
    - Dst: s390x_aes_ccm
      Src: /src/openssl/crypto/evp/e_aes.c:2127,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:2128,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:2129,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:2135,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2060
    functionDepth: 4
    functionLinenumber: 2060
    functionLinenumberEnd: 2142
    functionName: s390x_aes_ccm_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_memcmp
    - s390x_aes_ccm_aad
    - s390x_aes_ccm_tls_cipher
    - s390x_aes_ccm
    - s390x_aes_ccm_setiv
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int s390x_aes_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t len)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2151,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:2175,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2176,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2186,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2206,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2224,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:2230,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2231,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2238,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2245,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2257
    functionName: s390x_aes_ccm_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: int s390x_aes_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2323
    functionName: BLOCK_CIPHER_generic
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,    \\\n
      \                             MODE,flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2361
    functionName: BLOCK_CIPHER_custom
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_custom(nid,keylen,blocksize,ivlen,mode,MODE,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2376
    functionName: BLOCK_CIPHER_generic
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2391
    functionName: BLOCK_CIPHER_custom
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_custom(nid,keylen,blocksize,ivlen,mode,MODE,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2402
    functionName: BLOCK_CIPHER_generic_pack
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic_pack(nid,keylen,flags)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2407,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:2408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:2411,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_aes.c:2415,1
    - Dst: HWAES_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2420,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2431,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2438,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2445,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2453,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2471,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2478,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:2496,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2403
    functionDepth: 1
    functionLinenumber: 2403
    functionLinenumberEnd: 2501
    functionName: aes_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - ERR_raise
    - EVP_CIPHER_CTX_get_mode
    - vpaes_set_decrypt_key
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - AES_set_encrypt_key
    - HWAES_set_encrypt_key
    - vpaes_set_encrypt_key
    - HWAES_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                       const unsigned char *iv, int enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2506,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2510,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2511,1
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2512,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2503
    functionDepth: 1
    functionLinenumber: 2503
    functionLinenumberEnd: 2519
    functionName: aes_cbc_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int aes_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/e_aes.c:2524,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2521
    functionDepth: 1
    functionLinenumber: 2521
    functionLinenumberEnd: 2535
    functionName: aes_ecb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int aes_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2540,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_aes.c:2542,1
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2543,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_aes.c:2545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2547
    functionName: aes_ofb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_set_num
    - EVP_C_DATA
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: int
    signature: "int aes_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2552,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_aes.c:2554,1
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2555,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2557,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_aes.c:2558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2549
    functionDepth: 1
    functionLinenumber: 2549
    functionLinenumberEnd: 2560
    functionName: aes_cfb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_num
    - EVP_C_DATA
    - CRYPTO_cfb128_encrypt
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int aes_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2565,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_aes.c:2567,1
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2568,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2570,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_aes.c:2571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2562
    functionDepth: 2
    functionLinenumber: 2562
    functionLinenumberEnd: 2573
    functionName: aes_cfb8_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_cfb128_8_encrypt
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int aes_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2578,1
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/openssl/crypto/evp/e_aes.c:2580,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_aes.c:2581,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2582,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2584,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_aes.c:2585,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_aes.c:2590,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2591,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2593,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_aes.c:2594,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_aes.c:2600,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2601,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2603,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_aes.c:2604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2575
    functionDepth: 2
    functionLinenumber: 2575
    functionLinenumberEnd: 2608
    functionName: aes_cfb1_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_test_flags
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_num
    - CRYPTO_cfb128_1_encrypt
    - EVP_C_DATA
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int aes_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_aes.c:2613,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2615,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/openssl/crypto/evp/e_aes.c:2622,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:2624,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2627,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:2629,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_aes.c:2631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2610
    functionDepth: 3
    functionLinenumber: 2610
    functionLinenumberEnd: 2633
    functionName: aes_ctr_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ctr128_encrypt_ctr32
    - EVP_CIPHER_CTX_get_num
    - EVP_C_DATA
    - CRYPTO_ctr128_encrypt
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int aes_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2641,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:2644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/e_aes.c:2646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2639
    functionDepth: 1
    functionLinenumber: 2639
    functionLinenumberEnd: 2648
    functionName: aes_gcm_cleanup
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - OPENSSL_free
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: int aes_gcm_cleanup(EVP_CIPHER_CTX *c)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2652,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:2657,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/e_aes.c:2674,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/e_aes.c:2675,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2684,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2692,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2698,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2709,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/evp/e_aes.c:2710,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:2718,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2721,1
    - Dst: ctr64_inc
      Src: /src/openssl/crypto/evp/e_aes.c:2726,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2733,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:2734,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2742,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2766,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/e_aes.c:2775,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2777,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 102
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2650
    functionDepth: 2
    functionLinenumber: 2650
    functionLinenumberEnd: 2786
    functionName: aes_gcm_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVP_C_DATA
    - CRYPTO_gcm128_setiv
    - ctr64_inc
    - OPENSSL_free
    - RAND_bytes
    - EVP_CIPHER_get_iv_length
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int aes_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2791,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:2797,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:2800,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2806,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:2807,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2819,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:2820,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2828,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:2829,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:2837,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:2838,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:2853,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:2860,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:2862,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2788
    functionDepth: 3
    functionLinenumber: 2788
    functionLinenumberEnd: 2867
    functionName: aes_gcm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_gcm128_init
    - AES_set_encrypt_key
    - CRYPTO_gcm128_setiv
    - HWAES_set_encrypt_key
    - vpaes_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:2879,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2892,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:2893,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/e_aes.c:2901,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2902,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/crypto/evp/e_aes.c:2907,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:2907,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:2914,1
    - Dst: AES_GCM_ASM
      Src: /src/openssl/crypto/evp/e_aes.c:2919,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2920,1
    - Dst: AES_gcm_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2923,1
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/openssl/crypto/evp/e_aes.c:2929,1
    - Dst: AES_GCM_ASM2
      Src: /src/openssl/crypto/evp/e_aes.c:2937,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2938,1
    - Dst: AES_gcm_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2941,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2947,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/openssl/crypto/evp/e_aes.c:2953,1
    - Dst: AES_GCM_ASM
      Src: /src/openssl/crypto/evp/e_aes.c:2960,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2961,1
    - Dst: AES_gcm_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2964,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/openssl/crypto/evp/e_aes.c:2970,1
    - Dst: AES_GCM_ASM2
      Src: /src/openssl/crypto/evp/e_aes.c:2978,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2979,1
    - Dst: AES_gcm_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2982,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:2988,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/openssl/crypto/evp/e_aes.c:2993,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:2993,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:2996,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:2996,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:2998,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 77
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 2876
    functionDepth: 3
    functionLinenumber: 2876
    functionLinenumberEnd: 3008
    functionName: aes_gcm_tls_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 1
    functionsReached:
    - AES_gcm_decrypt
    - AES_gcm_encrypt
    - OPENSSL_cleanse
    - CRYPTO_gcm128_tag
    - ERR_raise
    - CRYPTO_gcm128_decrypt_ctr32
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_gcm128_decrypt
    - EVP_C_DATA
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_ctrl
    - CRYPTO_gcm128_aad
    - CRYPTO_gcm128_encrypt_ctr32
    - CRYPTO_gcm128_encrypt
    - AES_GCM_ASM2
    - AES_GCM_ASM
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                             const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/evp/e_aes.c:3028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - gctx
    - offset
    argTypes:
    - EVP_AES_GCM_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 3019
    functionDepth: 1
    functionLinenumber: 3019
    functionLinenumberEnd: 3031
    functionName: aes_gcm_iv_generate
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: int aes_gcm_iv_generate(EVP_AES_GCM_CTX *gctx, int offset)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3037,1
    - Dst: aes_gcm_tls_cipher
      Src: /src/openssl/crypto/evp/e_aes.c:3044,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3054,1
    - Dst: aes_gcm_iv_generate
      Src: /src/openssl/crypto/evp/e_aes.c:3054,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:3056,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/crypto/evp/e_aes.c:3067,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3069,1
    - Dst: AES_GCM_ASM
      Src: /src/openssl/crypto/evp/e_aes.c:3073,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3076,1
    - Dst: AES_gcm_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3079,1
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/openssl/crypto/evp/e_aes.c:3087,1
    - Dst: AES_GCM_ASM2
      Src: /src/openssl/crypto/evp/e_aes.c:3095,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3098,1
    - Dst: AES_gcm_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3101,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3109,1
    - Dst: AES_GCM_ASM
      Src: /src/openssl/crypto/evp/e_aes.c:3117,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3120,1
    - Dst: AES_gcm_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3123,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/openssl/crypto/evp/e_aes.c:3131,1
    - Dst: AES_GCM_ASM2
      Src: /src/openssl/crypto/evp/e_aes.c:3139,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3142,1
    - Dst: AES_gcm_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3145,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3153,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3160,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/crypto/evp/e_aes.c:3163,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3164,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/openssl/crypto/evp/e_aes.c:3170,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3170,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3034
    functionDepth: 4
    functionLinenumber: 3034
    functionLinenumberEnd: 3177
    functionName: aes_gcm_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - AES_gcm_decrypt
    - AES_gcm_encrypt
    - CRYPTO_gcm128_tag
    - CRYPTO_gcm128_decrypt_ctr32
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_gcm128_decrypt
    - EVP_C_DATA
    - aes_gcm_tls_cipher
    - CRYPTO_gcm128_setiv
    - CRYPTO_gcm128_aad
    - CRYPTO_gcm128_encrypt_ctr32
    - CRYPTO_gcm128_finish
    - CRYPTO_gcm128_encrypt
    - aes_gcm_iv_generate
    - AES_GCM_ASM2
    - AES_GCM_ASM
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3193,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3191
    functionDepth: 1
    functionLinenumber: 3191
    functionLinenumberEnd: 3216
    functionName: aes_xts_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: int aes_xts_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3221,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:3229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:3234,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:3254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:3255,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3268,1
    - Dst: HWAES_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3274,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3281,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3296,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3299,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3303,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3313,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3316,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3320,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3329,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3218
    functionDepth: 1
    functionLinenumber: 3218
    functionLinenumberEnd: 3333
    functionName: aes_xts_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - ERR_raise
    - memcpy
    - vpaes_set_decrypt_key
    - EVP_C_DATA
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_get_key_length
    - AES_set_encrypt_key
    - HWAES_set_encrypt_key
    - vpaes_set_encrypt_key
    - HWAES_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:3354,1
    - Dst: CRYPTO_xts128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3362,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3335
    functionDepth: 1
    functionLinenumber: 3335
    functionLinenumberEnd: 3366
    functionName: aes_xts_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - ERR_raise
    - CRYPTO_xts128_encrypt
    linkageType: ''
    returnType: int
    signature: "int aes_xts_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3379,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3399,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3399,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3403,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3404,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3410,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3415,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3416,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3426,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3441,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3445,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3445,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3451,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/crypto/evp/e_aes.c:3453,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3463,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3377
    functionDepth: 1
    functionLinenumber: 3377
    functionLinenumberEnd: 3476
    functionName: aes_ccm_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_ccm128_tag
    linkageType: ''
    returnType: int
    signature: int aes_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3481,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:3487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:3490,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3496,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:3498,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3507,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:3508,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3515,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/openssl/crypto/evp/e_aes.c:3516,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3523,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3478
    functionDepth: 1
    functionLinenumber: 3478
    functionLinenumberEnd: 3527
    functionName: aes_ccm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - AES_set_encrypt_key
    - HWAES_set_encrypt_key
    - CRYPTO_ccm128_init
    - vpaes_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3532,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3538,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3539,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3539,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3542,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:3546,1
    - Dst: CRYPTO_ccm128_aad
      Src: /src/openssl/crypto/evp/e_aes.c:3550,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3550,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3555,1
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/openssl/crypto/evp/e_aes.c:3556,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3558,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/crypto/evp/e_aes.c:3560,1
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/openssl/crypto/evp/e_aes.c:3564,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3566,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/crypto/evp/e_aes.c:3568,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:3569,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:3573,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3529
    functionDepth: 2
    functionLinenumber: 3529
    functionLinenumberEnd: 3576
    functionName: aes_ccm_tls_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 1
    functionsReached:
    - CRYPTO_ccm128_tag
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - CRYPTO_ccm128_aad
    - CRYPTO_ccm128_setiv
    - CRYPTO_ccm128_decrypt_ccm64
    - CRYPTO_memcmp
    - CRYPTO_ccm128_decrypt
    - CRYPTO_ccm128_encrypt
    - CRYPTO_ccm128_encrypt_ccm64
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                             const unsigned char *in, size_t len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3581,1
    - Dst: aes_ccm_tls_cipher
      Src: /src/openssl/crypto/evp/e_aes.c:3588,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:3599,1
    - Dst: CRYPTO_ccm128_aad
      Src: /src/openssl/crypto/evp/e_aes.c:3608,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3613,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:3618,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3622,1
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/openssl/crypto/evp/e_aes.c:3623,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3625,1
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/openssl/crypto/evp/e_aes.c:3631,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:3633,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/crypto/evp/e_aes.c:3635,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aes.c:3636,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aes.c:3636,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes.c:3642,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3648
      start: 3578
    functionDepth: 3
    functionLinenumber: 3578
    functionLinenumberEnd: 3648
    functionName: aes_ccm_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_ccm128_aad
    - CRYPTO_ccm128_setiv
    - CRYPTO_ccm128_decrypt_ccm64
    - CRYPTO_memcmp
    - aes_ccm_tls_cipher
    - CRYPTO_ccm128_decrypt
    - CRYPTO_ccm128_encrypt
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_ccm128_encrypt_ccm64
    - OPENSSL_cleanse
    - CRYPTO_ccm128_tag
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3672,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:3677,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:3680,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3683,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3684,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3686,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:3691,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3697
      start: 3668
    functionDepth: 1
    functionLinenumber: 3668
    functionLinenumberEnd: 3697
    functionName: aes_wrap_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - AES_set_decrypt_key
    - ERR_raise
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - AES_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_wrap_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                            const unsigned char *iv, int enc)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3702,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:3705,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3713,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/openssl/crypto/evp/e_aes.c:3718,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:3719,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3723,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3739,1
    - Dst: CRYPTO_128_wrap_pad
      Src: /src/openssl/crypto/evp/e_aes.c:3740,1
    - Dst: CRYPTO_128_unwrap_pad
      Src: /src/openssl/crypto/evp/e_aes.c:3744,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3748,1
    - Dst: CRYPTO_128_wrap
      Src: /src/openssl/crypto/evp/e_aes.c:3749,1
    - Dst: CRYPTO_128_unwrap
      Src: /src/openssl/crypto/evp/e_aes.c:3752,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inlen
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3699
    functionDepth: 2
    functionLinenumber: 3699
    functionLinenumberEnd: 3756
    functionName: aes_wrap_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - ERR_raise
    - EVP_CIPHER_CTX_is_encrypting
    - ossl_is_partially_overlapping
    - EVP_C_DATA
    - CRYPTO_128_wrap_pad
    - CRYPTO_128_unwrap_pad
    - CRYPTO_128_unwrap
    - CRYPTO_128_wrap
    linkageType: ''
    returnType: int
    signature: "int aes_wrap_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3774
      start: 3771
    functionDepth: 0
    functionLinenumber: 3771
    functionLinenumberEnd: 3774
    functionName: EVP_aes_128_wrap
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_128_wrap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3788
      start: 3785
    functionDepth: 0
    functionLinenumber: 3785
    functionLinenumberEnd: 3788
    functionName: EVP_aes_192_wrap
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_192_wrap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3802
      start: 3799
    functionDepth: 0
    functionLinenumber: 3799
    functionLinenumberEnd: 3802
    functionName: EVP_aes_256_wrap
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_256_wrap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3816
      start: 3813
    functionDepth: 0
    functionLinenumber: 3813
    functionLinenumberEnd: 3816
    functionName: EVP_aes_128_wrap_pad
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_128_wrap_pad(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3827
    functionDepth: 0
    functionLinenumber: 3827
    functionLinenumberEnd: 3830
    functionName: EVP_aes_192_wrap_pad
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_192_wrap_pad(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3841
    functionDepth: 0
    functionLinenumber: 3841
    functionLinenumberEnd: 3844
    functionName: EVP_aes_256_wrap_pad
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_256_wrap_pad(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3849,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/e_aes.c:3857,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3885,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3887,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:3891,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3894,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3899,1
    - Dst: CRYPTO_ocb128_copy_ctx
      Src: /src/openssl/crypto/evp/e_aes.c:3900,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3847
    functionDepth: 1
    functionLinenumber: 3847
    functionLinenumberEnd: 3908
    functionName: aes_ocb_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_get_iv_length
    - CRYPTO_ocb128_copy_ctx
    linkageType: ''
    returnType: int
    signature: int aes_ocb_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3913,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes.c:3919,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:3922,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3933,1
    - Dst: HWAES_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3934,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/openssl/crypto/evp/e_aes.c:3935,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3947,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3948,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/openssl/crypto/evp/e_aes.c:3949,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3958,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes.c:3959,1
    - Dst: CRYPTO_ocb128_init
      Src: /src/openssl/crypto/evp/e_aes.c:3960,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:3975,1
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/openssl/crypto/evp/e_aes.c:3984,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:3986,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3910
    functionDepth: 3
    functionLinenumber: 3910
    functionLinenumberEnd: 3990
    functionName: aes_ocb_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - ERR_raise
    - memcpy
    - vpaes_set_decrypt_key
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - AES_set_encrypt_key
    - CRYPTO_ocb128_setiv
    - HWAES_set_encrypt_key
    - vpaes_set_encrypt_key
    - HWAES_set_decrypt_key
    - CRYPTO_ocb128_init
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:3999,1
    - Dst: ossl_is_partially_overlapping
      Src: /src/openssl/crypto/evp/e_aes.c:4024,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aes.c:4025,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:4039,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:4043,1
    - Dst: CRYPTO_ocb128_aad
      Src: /src/openssl/crypto/evp/e_aes.c:4051,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:4053,1
    - Dst: CRYPTO_ocb128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:4054,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:4058,1
    - Dst: CRYPTO_ocb128_aad
      Src: /src/openssl/crypto/evp/e_aes.c:4076,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:4078,1
    - Dst: CRYPTO_ocb128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:4079,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:4083,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes.c:4093,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:4104,1
    - Dst: CRYPTO_ocb128_encrypt
      Src: /src/openssl/crypto/evp/e_aes.c:4105,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/openssl/crypto/evp/e_aes.c:4109,1
    - Dst: CRYPTO_ocb128_aad
      Src: /src/openssl/crypto/evp/e_aes.c:4117,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes.c:4123,1
    - Dst: CRYPTO_ocb128_finish
      Src: /src/openssl/crypto/evp/e_aes.c:4126,1
    - Dst: CRYPTO_ocb128_tag
      Src: /src/openssl/crypto/evp/e_aes.c:4133,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 3992
    functionDepth: 4
    functionLinenumber: 3992
    functionLinenumberEnd: 4139
    functionName: aes_ocb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CRYPTO_ocb128_encrypt
    - ossl_is_partially_overlapping
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_ocb128_finish
    - CRYPTO_ocb128_tag
    - CRYPTO_ocb128_decrypt
    - CRYPTO_ocb128_aad
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aes.c:4143,1
    - Dst: CRYPTO_ocb128_cleanup
      Src: /src/openssl/crypto/evp/e_aes.c:4144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4141
    functionDepth: 2
    functionLinenumber: 4141
    functionLinenumberEnd: 4146
    functionName: aes_ocb_cleanup
    functionSourceFile: /src/openssl/crypto/evp/e_aes.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ocb128_cleanup
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: int aes_ocb_cleanup(EVP_CIPHER_CTX *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vrand
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: evp_rand_up_ref
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int evp_rand_up_ref(void *vrand)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:73,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/evp_rand.c:74,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vrand
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: evp_rand_free
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void evp_rand_free(void *vrand)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/evp_rand.c:81,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: evp_rand_new
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *evp_rand_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::enable_locking
      Src: /src/openssl/crypto/evp/evp_rand.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: EVP_RAND_enable_locking
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_RAND_CTX*::meth::enable_locking
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_enable_locking(EVP_RAND_CTX *rand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::lock
      Src: /src/openssl/crypto/evp/evp_rand.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: evp_rand_lock
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::lock
    linkageType: ''
    returnType: int
    signature: int evp_rand_lock(EVP_RAND_CTX *rand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: evp_rand_unlock
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::unlock
    linkageType: ''
    returnType: void
    signature: void evp_rand_unlock(EVP_RAND_CTX *rand)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_new
      Src: /src/openssl/crypto/evp/evp_rand.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:129,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/evp_rand.c:133,1
    - Dst: evp_rand_free
      Src: /src/openssl/crypto/evp/evp_rand.c:134,1
    - Dst: OSSL_FUNC_rand_newctx
      Src: /src/openssl/crypto/evp/evp_rand.c:144,1
    - Dst: OSSL_FUNC_rand_freectx
      Src: /src/openssl/crypto/evp/evp_rand.c:150,1
    - Dst: OSSL_FUNC_rand_instantiate
      Src: /src/openssl/crypto/evp/evp_rand.c:156,1
    - Dst: OSSL_FUNC_rand_uninstantiate
      Src: /src/openssl/crypto/evp/evp_rand.c:162,1
    - Dst: OSSL_FUNC_rand_generate
      Src: /src/openssl/crypto/evp/evp_rand.c:168,1
    - Dst: OSSL_FUNC_rand_reseed
      Src: /src/openssl/crypto/evp/evp_rand.c:174,1
    - Dst: OSSL_FUNC_rand_nonce
      Src: /src/openssl/crypto/evp/evp_rand.c:179,1
    - Dst: OSSL_FUNC_rand_enable_locking
      Src: /src/openssl/crypto/evp/evp_rand.c:184,1
    - Dst: OSSL_FUNC_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:190,1
    - Dst: OSSL_FUNC_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:196,1
    - Dst: OSSL_FUNC_rand_gettable_params
      Src: /src/openssl/crypto/evp/evp_rand.c:203,1
    - Dst: OSSL_FUNC_rand_gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:209,1
    - Dst: OSSL_FUNC_rand_settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:215,1
    - Dst: OSSL_FUNC_rand_get_params
      Src: /src/openssl/crypto/evp/evp_rand.c:220,1
    - Dst: OSSL_FUNC_rand_get_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:225,1
    - Dst: OSSL_FUNC_rand_set_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:231,1
    - Dst: OSSL_FUNC_rand_verify_zeroization
      Src: /src/openssl/crypto/evp/evp_rand.c:236,1
    - Dst: OSSL_FUNC_rand_get_seed
      Src: /src/openssl/crypto/evp/evp_rand.c:244,1
    - Dst: OSSL_FUNC_rand_clear_seed
      Src: /src/openssl/crypto/evp/evp_rand.c:249,1
    - Dst: evp_rand_free
      Src: /src/openssl/crypto/evp/evp_rand.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:271,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/evp_rand.c:275,1
    - Dst: evp_rand_free
      Src: /src/openssl/crypto/evp/evp_rand.c:276,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:277,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 133
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 283
    functionName: evp_rand_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_rand_get_ctx_params
    - OSSL_FUNC_rand_settable_ctx_params
    - ERR_raise
    - OSSL_FUNC_rand_instantiate
    - OSSL_FUNC_rand_nonce
    - OSSL_FUNC_rand_newctx
    - OSSL_FUNC_rand_get_params
    - OSSL_FUNC_rand_gettable_ctx_params
    - OSSL_FUNC_rand_verify_zeroization
    - OSSL_FUNC_rand_gettable_params
    - OSSL_FUNC_rand_clear_seed
    - ossl_provider_up_ref
    - OSSL_FUNC_rand_generate
    - evp_rand_new
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_rand_freectx
    - OSSL_FUNC_rand_reseed
    - OSSL_FUNC_rand_unlock
    - OSSL_FUNC_rand_uninstantiate
    - OSSL_FUNC_rand_enable_locking
    - OSSL_FUNC_rand_get_seed
    - OSSL_FUNC_rand_set_ctx_params
    - evp_rand_free
    - OSSL_FUNC_rand_lock
    linkageType: ''
    returnType: void
    signature: "void *evp_rand_from_algorithm(int name_id,\n                                     const
      OSSL_ALGORITHM *algodef,\n                                     OSSL_PROVIDER
      *prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/evp_rand.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 9
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: EVP_RAND_fetch
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_RAND
    signature: "EVP_RAND *EVP_RAND_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,\n
      \                        const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_up_ref
      Src: /src/openssl/crypto/evp/evp_rand.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: EVP_RAND_up_ref
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_up_ref
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_up_ref(EVP_RAND *rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_free
      Src: /src/openssl/crypto/evp/evp_rand.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: EVP_RAND_free
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_free
    linkageType: ''
    returnType: void
    signature: void EVP_RAND_free(EVP_RAND *rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: evp_rand_get_number
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_rand_get_number(const EVP_RAND *rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: EVP_RAND_get0_name
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_RAND_get0_name(const EVP_RAND *rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: EVP_RAND_get0_description
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_RAND_get0_description(const EVP_RAND *rand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/evp_rand.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - rand
    - name
    argTypes:
    - EVP_RAND*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 8
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: EVP_RAND_is_a
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_is_a(const EVP_RAND *rand, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: EVP_RAND_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_RAND_get0_provider(const EVP_RAND *rand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND*::get_params
      Src: /src/openssl/crypto/evp/evp_rand.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rand
    - params
    argTypes:
    - EVP_RAND*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: EVP_RAND_get_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND*::get_params
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_get_params(EVP_RAND *rand, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: EVP_RAND_CTX_up_ref
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_CTX_up_ref(EVP_RAND_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:349,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/evp_rand.c:353,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:357,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/crypto/evp/evp_rand.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:362,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:363,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:364,1
    - Dst: EVP_RAND*::newctx
      Src: /src/openssl/crypto/evp/evp_rand.c:370,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_rand.c:370,1
    - Dst: EVP_RAND_up_ref
      Src: /src/openssl/crypto/evp/evp_rand.c:372,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:373,1
    - Dst: EVP_RAND*::freectx
      Src: /src/openssl/crypto/evp/evp_rand.c:374,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:375,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:376,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/evp/evp_rand.c:377,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - rand
    - parent
    argTypes:
    - EVP_RAND*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 383
    functionName: EVP_RAND_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ERR_raise
    - EVP_RAND_up_ref
    - EVP_RAND_CTX_free
    - EVP_RAND*::freectx
    - ossl_provider_ctx
    - EVP_RAND_CTX_up_ref
    - OPENSSL_free
    - EVP_RAND*::newctx
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *EVP_RAND_CTX_new(EVP_RAND *rand, EVP_RAND_CTX *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:393,1
    - Dst: EVP_RAND_CTX*::meth::freectx
      Src: /src/openssl/crypto/evp/evp_rand.c:397,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/crypto/evp/evp_rand.c:399,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_rand.c:400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_rand.c:401,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/evp/evp_rand.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: EVP_RAND_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 2
    functionsReached:
    - EVP_RAND_free
    - EVP_RAND_CTX_free
    - EVP_RAND_CTX*::meth::freectx
    - CRYPTO_DOWN_REF
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EVP_RAND_CTX_free(EVP_RAND_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: EVP_RAND_CTX_get0_rand
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_RAND
    signature: EVP_RAND *EVP_RAND_CTX_get0_rand(EVP_RAND_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::get_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: evp_rand_get_ctx_params_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::get_ctx_params
    linkageType: ''
    returnType: int
    signature: "int evp_rand_get_ctx_params_locked(EVP_RAND_CTX *ctx,\n                                          OSSL_PARAM
      params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:420,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:422,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: EVP_RAND_CTX_get_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_get_ctx_params_locked
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_CTX_get_params(EVP_RAND_CTX *ctx, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::set_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: evp_rand_set_ctx_params_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int evp_rand_set_ctx_params_locked(EVP_RAND_CTX *ctx,\n                                          const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:439,1
    - Dst: evp_rand_set_ctx_params_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:441,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_RAND_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: EVP_RAND_CTX_set_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_set_ctx_params_locked
    - evp_rand_lock
    - evp_rand_unlock
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_CTX_set_params(EVP_RAND_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND*::gettable_params
      Src: /src/openssl/crypto/evp/evp_rand.c:450,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_rand.c:450,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: EVP_RAND_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    - EVP_RAND*::gettable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_RAND_gettable_params(const EVP_RAND *rand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_rand.c:459,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:459,1
    - Dst: EVP_RAND*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: EVP_RAND_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    - EVP_RAND*::gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_RAND_gettable_ctx_params(const EVP_RAND *rand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_rand.c:469,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:469,1
    - Dst: EVP_RAND*::settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rand
    argTypes:
    - EVP_RAND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: EVP_RAND_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND*::settable_ctx_params
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_RAND_settable_ctx_params(const EVP_RAND *rand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_rand.c:479,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:479,1
    - Dst: EVP_RAND_CTX*::meth::gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: EVP_RAND_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    - EVP_RAND_CTX*::meth::gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_RAND_CTX_gettable_params(EVP_RAND_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/evp_rand.c:489,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/evp/evp_rand.c:489,1
    - Dst: EVP_RAND_CTX*::meth::settable_ctx_params
      Src: /src/openssl/crypto/evp/evp_rand.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: EVP_RAND_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::settable_ctx_params
    - ossl_provider_ctx
    - EVP_RAND_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_RAND_CTX_settable_params(EVP_RAND_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/evp_rand.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 493
    functionDepth: 9
    functionLinenumber: 493
    functionLinenumberEnd: 501
    functionName: EVP_RAND_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_RAND_do_all_provided(OSSL_LIB_CTX *libctx,\n                              void
      (*fn)(EVP_RAND *rand, void *arg),\n                              void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/evp_rand.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rand
    - data
    argTypes:
    - EVP_RAND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 8
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: EVP_RAND_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_RAND_names_do_all(const EVP_RAND *rand,\n                          void
      (*fn)(const char *name, void *data),\n                          void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::instantiate
      Src: /src/openssl/crypto/evp/evp_rand.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - EVP_RAND_CTX*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: evp_rand_instantiate_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::instantiate
    linkageType: ''
    returnType: int
    signature: "int evp_rand_instantiate_locked\n    (EVP_RAND_CTX *ctx, unsigned
      int strength, int prediction_resistance,\n     const unsigned char *pstr, size_t
      pstr_len, const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:528,1
    - Dst: evp_rand_instantiate_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:530,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - EVP_RAND_CTX*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 534
    functionName: EVP_RAND_instantiate
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_instantiate_locked
    linkageType: ''
    returnType: int
    signature: "int EVP_RAND_instantiate(EVP_RAND_CTX *ctx, unsigned int strength,\n
      \                        int prediction_resistance,\n                         const
      unsigned char *pstr, size_t pstr_len,\n                         const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::uninstantiate
      Src: /src/openssl/crypto/evp/evp_rand.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: evp_rand_uninstantiate_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::uninstantiate
    linkageType: ''
    returnType: int
    signature: int evp_rand_uninstantiate_locked(EVP_RAND_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:545,1
    - Dst: evp_rand_uninstantiate_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:547,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 550
    functionName: EVP_RAND_uninstantiate
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_uninstantiate_locked
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_uninstantiate(EVP_RAND_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_rand.c:561,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:563,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:565,1
    - Dst: EVP_RAND_CTX*::meth::generate
      Src: /src/openssl/crypto/evp/evp_rand.c:570,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - ctx
    - out
    - outlen
    - strength
    - prediction_resistance
    - addin
    - addin_len
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 582
    functionName: evp_rand_generate_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_get_ctx_params_locked
    - OSSL_PARAM_construct_size_t
    - ERR_raise
    - EVP_RAND_CTX*::meth::generate
    linkageType: ''
    returnType: int
    signature: "int evp_rand_generate_locked(EVP_RAND_CTX *ctx, unsigned char *out,\n
      \                                   size_t outlen, unsigned int strength,\n
      \                                   int prediction_resistance,\n                                    const
      unsigned char *addin,\n                                    size_t addin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:590,1
    - Dst: evp_rand_generate_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:592,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ctx
    - out
    - outlen
    - strength
    - prediction_resistance
    - addin
    - addin_len
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 596
    functionName: EVP_RAND_generate
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_generate_locked
    linkageType: ''
    returnType: int
    signature: "int EVP_RAND_generate(EVP_RAND_CTX *ctx, unsigned char *out, size_t
      outlen,\n                      unsigned int strength, int prediction_resistance,\n
      \                     const unsigned char *addin, size_t addin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::reseed
      Src: /src/openssl/crypto/evp/evp_rand.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - prediction_resistance
    - ent
    - ent_len
    - addin
    - addin_len
    argTypes:
    - EVP_RAND_CTX*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 606
    functionName: evp_rand_reseed_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::reseed
    linkageType: ''
    returnType: int
    signature: "int evp_rand_reseed_locked(EVP_RAND_CTX *ctx, int prediction_resistance,\n
      \                                 const unsigned char *ent, size_t ent_len,\n
      \                                 const unsigned char *addin, size_t addin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:614,1
    - Dst: evp_rand_reseed_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:616,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - prediction_resistance
    - ent
    - ent_len
    - addin
    - addin_len
    argTypes:
    - EVP_RAND_CTX*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 620
    functionName: EVP_RAND_reseed
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_reseed_locked
    linkageType: ''
    returnType: int
    signature: "int EVP_RAND_reseed(EVP_RAND_CTX *ctx, int prediction_resistance,\n
      \                   const unsigned char *ent, size_t ent_len,\n                    const
      unsigned char *addin, size_t addin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_rand.c:627,1
    - Dst: evp_rand_get_ctx_params_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: evp_rand_strength_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - evp_rand_get_ctx_params_locked
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int evp_rand_strength_locked(EVP_RAND_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:637,1
    - Dst: evp_rand_strength_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:639,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 3
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: EVP_RAND_get_strength
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_strength_locked
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int EVP_RAND_get_strength(EVP_RAND_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_strength_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:647,1
    - Dst: EVP_RAND_CTX*::meth::nonce
      Src: /src/openssl/crypto/evp/evp_rand.c:650,1
    - Dst: evp_rand_generate_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 652
    functionName: evp_rand_nonce_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_strength_locked
    - EVP_RAND_CTX*::meth::nonce
    - evp_rand_generate_locked
    linkageType: ''
    returnType: int
    signature: "int evp_rand_nonce_locked(EVP_RAND_CTX *ctx, unsigned char *out,\n
      \                                size_t outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_rand.c:659,1
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:663,1
    - Dst: evp_rand_nonce_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:665,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 668
    functionName: EVP_RAND_nonce
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_nonce_locked
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_nonce(EVP_RAND_CTX *ctx, unsigned char *out, size_t outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_rand.c:675,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_rand.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 679
    functionName: EVP_RAND_get_state
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX_get_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_get_state(EVP_RAND_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::verify_zeroization
      Src: /src/openssl/crypto/evp/evp_rand.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: evp_rand_verify_zeroization_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::verify_zeroization
    linkageType: ''
    returnType: int
    signature: int evp_rand_verify_zeroization_locked(EVP_RAND_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:692,1
    - Dst: evp_rand_verify_zeroization_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:694,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 697
    functionName: EVP_RAND_verify_zeroization
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_verify_zeroization_locked
    linkageType: ''
    returnType: int
    signature: int EVP_RAND_verify_zeroization(EVP_RAND_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: evp_rand_can_seed
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_rand_can_seed(EVP_RAND_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::get_seed
      Src: /src/openssl/crypto/evp/evp_rand.c:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - ctx
    - buffer
    - entropy
    - min_len
    - max_len
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char**
    - int
    - size_t
    - size_t
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 718
    functionName: evp_rand_get_seed_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::get_seed
    linkageType: ''
    returnType: size_t
    signature: "size_t evp_rand_get_seed_locked(EVP_RAND_CTX *ctx,\n                                       unsigned
      char **buffer,\n                                       int entropy,\n                                       size_t
      min_len, size_t max_len,\n                                       int prediction_resistance,\n
      \                                      const unsigned char *adin,\n                                       size_t
      adin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:728,1
    - Dst: evp_rand_get_seed_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:730,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - ctx
    - buffer
    - entropy
    - min_len
    - max_len
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char**
    - int
    - size_t
    - size_t
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 737
    functionName: evp_rand_get_seed
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_get_seed_locked
    linkageType: ''
    returnType: size_t
    signature: "size_t evp_rand_get_seed(EVP_RAND_CTX *ctx,\n                         unsigned
      char **buffer,\n                         int entropy, size_t min_len, size_t
      max_len,\n                         int prediction_resistance,\n                         const
      unsigned char *adin, size_t adin_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX*::meth::clear_seed
      Src: /src/openssl/crypto/evp/evp_rand.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buffer
    - b_len
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: evp_rand_clear_seed_locked
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX*::meth::clear_seed
    linkageType: ''
    returnType: void
    signature: "void evp_rand_clear_seed_locked(EVP_RAND_CTX *ctx,\n                                       unsigned
      char *buffer, size_t b_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_rand_lock
      Src: /src/openssl/crypto/evp/evp_rand.c:749,1
    - Dst: evp_rand_clear_seed_locked
      Src: /src/openssl/crypto/evp/evp_rand.c:751,1
    - Dst: evp_rand_unlock
      Src: /src/openssl/crypto/evp/evp_rand.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - buffer
    - b_len
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 753
    functionName: evp_rand_clear_seed
    functionSourceFile: /src/openssl/crypto/evp/evp_rand.c
    functionUses: 0
    functionsReached:
    - evp_rand_unlock
    - evp_rand_lock
    - evp_rand_clear_seed_locked
    linkageType: ''
    returnType: void
    signature: "void evp_rand_clear_seed(EVP_RAND_CTX *ctx,\n                         unsigned
      char *buffer, size_t b_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/mac_lib.c:24,1
    - Dst: EVP_MAC*::newctx
      Src: /src/openssl/crypto/evp/mac_lib.c:28,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/mac_lib.c:28,1
    - Dst: EVP_MAC_up_ref
      Src: /src/openssl/crypto/evp/mac_lib.c:29,1
    - Dst: EVP_MAC*::freectx
      Src: /src/openssl/crypto/evp/mac_lib.c:30,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:31,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/mac_lib.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: EVP_MAC_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    - EVP_MAC*::newctx
    - ERR_raise
    - ossl_provider_ctx
    - EVP_MAC_up_ref
    - OPENSSL_free
    - EVP_MAC*::freectx
    linkageType: ''
    returnType: EVP_MAC_CTX
    signature: EVP_MAC_CTX *EVP_MAC_CTX_new(EVP_MAC *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX*::meth::freectx
      Src: /src/openssl/crypto/evp/mac_lib.c:43,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/evp/mac_lib.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/mac_lib.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: EVP_MAC_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 6
    functionsReached:
    - EVP_MAC_free
    - OPENSSL_free
    - EVP_MAC_CTX*::meth::freectx
    linkageType: ''
    returnType: void
    signature: void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/mac_lib.c:57,1
    - Dst: EVP_MAC_up_ref
      Src: /src/openssl/crypto/evp/mac_lib.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:63,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/mac_lib.c:64,1
    - Dst: EVP_MAC_CTX*::meth::dupctx
      Src: /src/openssl/crypto/evp/mac_lib.c:68,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/evp/mac_lib.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: EVP_MAC_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 5
    functionsReached:
    - EVP_MAC_CTX_free
    - ERR_raise
    - EVP_MAC_CTX*::meth::dupctx
    - EVP_MAC_up_ref
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: EVP_MAC_CTX
    signature: EVP_MAC_CTX *EVP_MAC_CTX_dup(const EVP_MAC_CTX *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: EVP_MAC_CTX_get0_mac
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MAC
    signature: EVP_MAC *EVP_MAC_CTX_get0_mac(EVP_MAC_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/mac_lib.c:89,1
    - Dst: EVP_MAC_CTX*::meth::get_ctx_params
      Src: /src/openssl/crypto/evp/mac_lib.c:91,1
    - Dst: EVP_MAC_CTX*::meth::get_params
      Src: /src/openssl/crypto/evp/mac_lib.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_MAC_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: get_size_t_ctx_param
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX*::meth::get_ctx_params
    - OSSL_PARAM_construct_size_t
    - EVP_MAC_CTX*::meth::get_params
    linkageType: ''
    returnType: size_t
    signature: size_t get_size_t_ctx_param(EVP_MAC_CTX *ctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_size_t_ctx_param
      Src: /src/openssl/crypto/evp/mac_lib.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: EVP_MAC_CTX_get_mac_size
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - get_size_t_ctx_param
    linkageType: ''
    returnType: size_t
    signature: size_t EVP_MAC_CTX_get_mac_size(EVP_MAC_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_size_t_ctx_param
      Src: /src/openssl/crypto/evp/mac_lib.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: EVP_MAC_CTX_get_block_size
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - get_size_t_ctx_param
    linkageType: ''
    returnType: size_t
    signature: size_t EVP_MAC_CTX_get_block_size(EVP_MAC_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:119,1
    - Dst: EVP_MAC_CTX*::meth::init
      Src: /src/openssl/crypto/evp/mac_lib.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - key
    - keylen
    - params
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: EVP_MAC_init
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_MAC_CTX*::meth::init
    linkageType: ''
    returnType: int
    signature: "int EVP_MAC_init(EVP_MAC_CTX *ctx, const unsigned char *key, size_t
      keylen,\n                 const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:130,1
    - Dst: EVP_MAC_CTX*::meth::init_skey
      Src: /src/openssl/crypto/evp/mac_lib.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - skey
    - params
    argTypes:
    - EVP_MAC_CTX*
    - EVP_SKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: EVP_MAC_init_SKEY
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX*::meth::init_skey
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_init_SKEY(EVP_MAC_CTX *ctx, EVP_SKEY *skey, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX*::meth::update
      Src: /src/openssl/crypto/evp/mac_lib.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: EVP_MAC_update
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 4
    functionsReached:
    - EVP_MAC_CTX*::meth::update
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_update(EVP_MAC_CTX *ctx, const unsigned char *data, size_t
      datalen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:154,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/crypto/evp/mac_lib.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:168,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/mac_lib.c:172,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/mac_lib.c:173,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/crypto/evp/mac_lib.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:176,1
    - Dst: EVP_MAC_CTX*::meth::final
      Src: /src/openssl/crypto/evp/mac_lib.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - xof
    - out
    - outl
    - outsize
    argTypes:
    - EVP_MAC_CTX*
    - int
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: evp_mac_final
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX*::meth::final
    - ERR_raise
    - EVP_MAC_CTX_set_params
    - OSSL_PARAM_construct_int
    - EVP_MAC_CTX_get_mac_size
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int evp_mac_final(EVP_MAC_CTX *ctx, int xof,\n                         unsigned
      char *out, size_t *outl, size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_final
      Src: /src/openssl/crypto/evp/mac_lib.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out
    - outl
    - outsize
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: EVP_MAC_final
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 4
    functionsReached:
    - evp_mac_final
    linkageType: ''
    returnType: int
    signature: "int EVP_MAC_final(EVP_MAC_CTX *ctx,\n                  unsigned char
      *out, size_t *outl, size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_final
      Src: /src/openssl/crypto/evp/mac_lib.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - out
    - outsize
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: EVP_MAC_finalXOF
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - evp_mac_final
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_finalXOF(EVP_MAC_CTX *ctx, unsigned char *out, size_t outsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC*::get_params
      Src: /src/openssl/crypto/evp/mac_lib.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - params
    argTypes:
    - EVP_MAC*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: EVP_MAC_get_params
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MAC*::get_params
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_get_params(EVP_MAC *mac, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX*::meth::get_ctx_params
      Src: /src/openssl/crypto/evp/mac_lib.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MAC_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: EVP_MAC_CTX_get_params
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX*::meth::get_ctx_params
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_CTX_get_params(EVP_MAC_CTX *ctx, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX*::meth::set_ctx_params
      Src: /src/openssl/crypto/evp/mac_lib.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MAC_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: EVP_MAC_CTX_set_params
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 2
    functionsReached:
    - EVP_MAC_CTX*::meth::set_ctx_params
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_CTX_set_params(EVP_MAC_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: evp_mac_get_number
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_mac_get_number(const EVP_MAC *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: EVP_MAC_get0_name
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_MAC_get0_name(const EVP_MAC *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: EVP_MAC_get0_description
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_MAC_get0_description(const EVP_MAC *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/mac_lib.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - mac
    - name
    argTypes:
    - EVP_MAC*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 8
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: EVP_MAC_is_a
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_is_a(const EVP_MAC *mac, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/mac_lib.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - data
    argTypes:
    - EVP_MAC*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 8
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: EVP_MAC_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_MAC_names_do_all(const EVP_MAC *mac,\n                         void
      (*fn)(const char *name, void *data),\n                         void *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/crypto/evp/mac_lib.c:261,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/crypto/evp/mac_lib.c:272,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/mac_lib.c:280,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/mac_lib.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_lib.c:283,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/mac_lib.c:288,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/crypto/evp/mac_lib.c:293,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/crypto/evp/mac_lib.c:294,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/crypto/evp/mac_lib.c:295,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/crypto/evp/mac_lib.c:296,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/crypto/evp/mac_lib.c:297,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/evp/mac_lib.c:298,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/mac_lib.c:300,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/crypto/evp/mac_lib.c:301,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/mac_lib.c:302,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/crypto/evp/mac_lib.c:312,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/crypto/evp/mac_lib.c:313,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 12
    argNames:
    - libctx
    - name
    - propq
    - subalg
    - params
    - key
    - keylen
    - data
    - datalen
    - out
    - outsize
    - outlen
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - char*
    - OSSL_PARAM*
    - void*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 254
    functionDepth: 6
    functionLinenumber: 254
    functionLinenumberEnd: 315
    functionName: EVP_Q_mac
    functionSourceFile: /src/openssl/crypto/evp/mac_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_CTX_free
    - ERR_raise
    - EVP_MAC_init
    - EVP_MAC_settable_ctx_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_free
    - OSSL_PARAM_locate_const
    - EVP_MAC_CTX_set_params
    - EVP_MAC_final
    - OPENSSL_free
    - EVP_MAC_fetch
    - EVP_MAC_update
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *EVP_Q_mac(OSSL_LIB_CTX *libctx,\n                         const
      char *name, const char *propq,\n                         const char *subalg,
      const OSSL_PARAM *params,\n                         const void *key, size_t
      keylen,\n                         const unsigned char *data, size_t datalen,\n
      \                        unsigned char *out, size_t outsize, size_t *outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/ec_ctrl.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:27,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/ec_ctrl.c:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 38
    functionName: evp_pkey_ctx_getset_ecdh_param_checks
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - ERR_raise
    - evp_pkey_ctx_is_legacy
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline evp_pkey_ctx_getset_ecdh_param_checks(const EVP_PKEY_CTX
      *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/openssl/crypto/evp/ec_ctrl.c:45,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/ec_ctrl.c:60,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:62,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - cofactor_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: EVP_PKEY_CTX_set_ecdh_cofactor_mode
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - evp_pkey_ctx_set_params_strict
    - OSSL_PARAM_construct_int
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx, int cofactor_mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/openssl/crypto/evp/ec_ctrl.c:75,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/ec_ctrl.c:79,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:81,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 105
    functionName: EVP_PKEY_CTX_get_ecdh_cofactor_mode
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_int
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_get_params_strict
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_ecdh_cofactor_mode(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/ec_ctrl.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - kdf
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: EVP_PKEY_CTX_set_ecdh_kdf_type
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_ecdh_kdf_type(EVP_PKEY_CTX *ctx, int kdf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/ec_ctrl.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: EVP_PKEY_CTX_get_ecdh_kdf_type
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_ecdh_kdf_type(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/ec_ctrl.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: EVP_PKEY_CTX_set_ecdh_kdf_md
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_ecdh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/ec_ctrl.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pmd
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: EVP_PKEY_CTX_get_ecdh_kdf_md
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_ecdh_kdf_md(EVP_PKEY_CTX *ctx, const EVP_MD **pmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/openssl/crypto/evp/ec_ctrl.c:153,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/ec_ctrl.c:166,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:168,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - outlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: EVP_PKEY_CTX_set_ecdh_kdf_outlen
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_set_params_strict
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_ecdh_kdf_outlen(EVP_PKEY_CTX *ctx, int outlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/openssl/crypto/evp/ec_ctrl.c:182,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/ec_ctrl.c:186,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:188,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - plen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: EVP_PKEY_CTX_get_ecdh_kdf_outlen
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_get_params_strict
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_ecdh_kdf_outlen(EVP_PKEY_CTX *ctx, int *plen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/openssl/crypto/evp/ec_ctrl.c:215,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/ec_ctrl.c:219,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:226,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:232,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ec_ctrl.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - ukm
    - len
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 240
    functionName: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - evp_pkey_ctx_set_params_strict
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set0_ecdh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char
      *ukm, int len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_getset_ecdh_param_checks
      Src: /src/openssl/crypto/evp/ec_ctrl.c:249,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/ec_ctrl.c:253,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/ec_ctrl.c:255,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/ec_ctrl.c:257,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ec_ctrl.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - pukm
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 275
    functionName: EVP_PKEY_CTX_get0_ecdh_kdf_ukm
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - evp_pkey_ctx_getset_ecdh_param_checks
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_get_params_strict
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get0_ecdh_kdf_ukm(EVP_PKEY_CTX *ctx, unsigned char
      **pukm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/ec_ctrl.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - nid
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_ec_paramgen_curve_nid(EVP_PKEY_CTX *ctx, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/ec_ctrl.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - param_enc
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: EVP_PKEY_CTX_set_ec_param_enc
    functionSourceFile: /src/openssl/crypto/evp/ec_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_ec_param_enc(EVP_PKEY_CTX *ctx, int param_enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 222
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:69,1
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:73,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:74,1
    - Dst: aesni_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:77,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:78,1
    - Dst: SHA256_Init
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionName: aesni_cbc_hmac_sha256_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    - aesni_set_decrypt_key
    - SHA256_Init
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_init_key(EVP_CIPHER_CTX *ctx,\n                                          const
      unsigned char *inkey,\n                                          const unsigned
      char *iv, int enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:107,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:116,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: sha256_update
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 0
    functionsReached:
    - sha256_block_data_order
    - SHA256_Update
    linkageType: ''
    returnType: void
    signature: void sha256_update(SHA256_CTX *c, const void *data, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:178,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:198,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:199,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:205,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:206,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:211,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:212,1
    - Dst: BSWAP8
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:231,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:245,1
    - Dst: sha256_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:254,1
    - Dst: sha256_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:272,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:273,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:282,1
    - Dst: sha256_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:290,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:292,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:299,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:305,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:307,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:312,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:314,1
    - Dst: sha256_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:322,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:324,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:327,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:329,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:331,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:333,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:335,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:337,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:339,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:341,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:344,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:346,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:348,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:350,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:352,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:354,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:356,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:358,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:360,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:363,1
    - Dst: sha256_multi_block
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:370,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:376,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:382,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:383,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:384,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:385,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:386,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:387,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:388,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:389,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:413,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:415,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 169
    argCount: 5
    argNames:
    - key
    - out
    - inp
    - inp_len
    - n4x
    argTypes:
    - EVP_AES_HMAC_SHA256*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 419
    functionName: tls1_1_multi_block_encrypt
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 1
    functionsReached:
    - memset
    - sha256_multi_block
    - memcpy
    - PUTU32
    - BSWAP4
    - aesni_multi_cbc_encrypt
    - RAND_bytes
    - BSWAP8
    - OPENSSL_cleanse
    linkageType: ''
    returnType: size_t
    signature: "size_t tls1_1_multi_block_encrypt(EVP_AES_HMAC_SHA256 *key,\n                                         unsigned
      char *out,\n                                         const unsigned char *inp,\n
      \                                        size_t inp_len, int n4x)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:426,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:442,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:469,1
    - Dst: aesni_cbc_sha256_enc
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:471,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:485,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:489,1
    - Dst: SHA256_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:492,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:494,1
    - Dst: SHA256_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:495,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:502,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:505,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:518,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:547,1
    - Dst: constant_time_select
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:555,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:564,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:571,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:580,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:611,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:630,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:641,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:645,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:657,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:658,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:659,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:660,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:661,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:662,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:663,1
    - Dst: BSWAP4
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:664,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:676,1
    - Dst: SHA256_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:678,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:692,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:696,1
    - Dst: SHA256_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:697,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:741,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 196
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 746
    functionName: aesni_cbc_hmac_sha256_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 0
    functionsReached:
    - aesni_cbc_encrypt
    - constant_time_ge
    - memset
    - SHA256_Final
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - SHA256_Update
    - data
    - BSWAP4
    - constant_time_select
    - sha256_block_data_order
    - aesni_cbc_sha256_enc
    - sha1_block_data_order
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_cipher(EVP_CIPHER_CTX *ctx,\n                                        unsigned
      char *out,\n                                        const unsigned char *in,
      size_t len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:751,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:760,1
    - Dst: SHA256_Init
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:766,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:767,1
    - Dst: SHA256_Final
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:768,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:770,1
    - Dst: SHA256_Init
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:775,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:776,1
    - Dst: SHA256_Init
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:780,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:781,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:783,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:797,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:808,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:814,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:838,1
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:854,1
    - Dst: tls1_1_multi_block_encrypt
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:881,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 91
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 890
    functionName: aesni_cbc_hmac_sha256_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 0
    functionsReached:
    - memset
    - tls1_1_multi_block_encrypt
    - SHA256_Final
    - memcpy
    - SHA256_Init
    - SHA256_Update
    - data
    - EVP_CIPHER_CTX_is_encrypting
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_ctrl(EVP_CIPHER_CTX *ctx, int type, int
      arg,\n                                      void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_sha256_enc
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: EVP_aes_128_cbc_hmac_sha256
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 0
    functionsReached:
    - aesni_cbc_sha256_enc
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_sha256_enc
      Src: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 944
    functionName: EVP_aes_256_cbc_hmac_sha256
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 0
    functionsReached:
    - aesni_cbc_sha256_enc
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: EVP_aes_128_cbc_hmac_sha256
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: EVP_aes_256_cbc_hmac_sha256
    functionSourceFile: /src/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_xcbc_d.c
    functionUses: 225
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: EVP_desx_cbc
    functionSourceFile: /src/openssl/crypto/evp/e_xcbc_d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_desx_cbc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:65,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:65,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:66,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:66,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:67,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: desx_cbc_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_xcbc_d.c
    functionUses: 0
    functionsReached:
    - memcpy
    - DES_set_key_unchecked
    - data
    linkageType: ''
    returnType: int
    signature: "int desx_cbc_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                            const unsigned char *iv, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_xcbc_encrypt
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:76,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:76,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:78,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:78,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:79,1
    - Dst: DES_xcbc_encrypt
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:85,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:85,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:87,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:87,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_xcbc_d.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: desx_cbc_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_xcbc_d.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - data
    - DES_xcbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int desx_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:21,1
    - Dst: EVP_des_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:21,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:22,1
    - Dst: EVP_des_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:22,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:23,1
    - Dst: EVP_des_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:23,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:24,1
    - Dst: EVP_des_ede_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:24,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:25,1
    - Dst: EVP_des_ede3_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:25,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:26,1
    - Dst: EVP_des_ede3_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:26,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:27,1
    - Dst: EVP_des_ede3_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:27,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:29,1
    - Dst: EVP_des_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:29,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:30,1
    - Dst: EVP_des_ede_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:30,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:31,1
    - Dst: EVP_des_ede3_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:31,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:33,1
    - Dst: EVP_desx_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:33,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:34,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:35,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:37,1
    - Dst: EVP_des_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:37,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:38,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:39,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:40,1
    - Dst: EVP_des_ede_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:40,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:41,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:41,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:42,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:43,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:45,1
    - Dst: EVP_des_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:45,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:46,1
    - Dst: EVP_des_ede
      Src: /src/openssl/crypto/evp/c_allc.c:46,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:47,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:48,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:49,1
    - Dst: EVP_des_ede3
      Src: /src/openssl/crypto/evp/c_allc.c:49,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:50,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:51,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:52,1
    - Dst: EVP_des_ede3_wrap
      Src: /src/openssl/crypto/evp/c_allc.c:52,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:53,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:57,1
    - Dst: EVP_rc4
      Src: /src/openssl/crypto/evp/c_allc.c:57,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:58,1
    - Dst: EVP_rc4_40
      Src: /src/openssl/crypto/evp/c_allc.c:58,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:60,1
    - Dst: EVP_rc4_hmac_md5
      Src: /src/openssl/crypto/evp/c_allc.c:60,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:65,1
    - Dst: EVP_idea_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:65,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:66,1
    - Dst: EVP_idea_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:66,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:67,1
    - Dst: EVP_idea_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:67,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:68,1
    - Dst: EVP_idea_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:68,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:69,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:70,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:74,1
    - Dst: EVP_seed_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:74,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:75,1
    - Dst: EVP_seed_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:75,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:76,1
    - Dst: EVP_seed_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:76,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:77,1
    - Dst: EVP_seed_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:77,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:78,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:79,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:83,1
    - Dst: EVP_sm4_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:83,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:84,1
    - Dst: EVP_sm4_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:84,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:85,1
    - Dst: EVP_sm4_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:85,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:86,1
    - Dst: EVP_sm4_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:86,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:87,1
    - Dst: EVP_sm4_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:87,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:88,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:89,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:93,1
    - Dst: EVP_rc2_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:93,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:94,1
    - Dst: EVP_rc2_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:94,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:95,1
    - Dst: EVP_rc2_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:95,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:96,1
    - Dst: EVP_rc2_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:96,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:97,1
    - Dst: EVP_rc2_40_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:97,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:98,1
    - Dst: EVP_rc2_64_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:98,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:99,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:100,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:101,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:102,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:103,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:107,1
    - Dst: EVP_bf_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:107,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:108,1
    - Dst: EVP_bf_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:108,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:109,1
    - Dst: EVP_bf_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:109,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:110,1
    - Dst: EVP_bf_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:110,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:111,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:112,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:113,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:117,1
    - Dst: EVP_cast5_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:117,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:118,1
    - Dst: EVP_cast5_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:118,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:119,1
    - Dst: EVP_cast5_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:119,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:120,1
    - Dst: EVP_cast5_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:120,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:121,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:122,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:123,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:124,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:128,1
    - Dst: EVP_rc5_32_12_16_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:128,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:129,1
    - Dst: EVP_rc5_32_12_16_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:129,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:130,1
    - Dst: EVP_rc5_32_12_16_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:130,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:131,1
    - Dst: EVP_rc5_32_12_16_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:131,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:132,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:133,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:136,1
    - Dst: EVP_aes_128_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:136,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:137,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:137,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:138,1
    - Dst: EVP_aes_128_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:138,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:139,1
    - Dst: EVP_aes_128_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:139,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:140,1
    - Dst: EVP_aes_128_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:140,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:141,1
    - Dst: EVP_aes_128_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:141,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:142,1
    - Dst: EVP_aes_128_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:142,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:143,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/crypto/evp/c_allc.c:143,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:145,1
    - Dst: EVP_aes_128_ocb
      Src: /src/openssl/crypto/evp/c_allc.c:145,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:147,1
    - Dst: EVP_aes_128_xts
      Src: /src/openssl/crypto/evp/c_allc.c:147,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:148,1
    - Dst: EVP_aes_128_ccm
      Src: /src/openssl/crypto/evp/c_allc.c:148,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:149,1
    - Dst: EVP_aes_128_wrap
      Src: /src/openssl/crypto/evp/c_allc.c:149,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:150,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:151,1
    - Dst: EVP_aes_128_wrap_pad
      Src: /src/openssl/crypto/evp/c_allc.c:151,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:152,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:153,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:154,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:155,1
    - Dst: EVP_aes_192_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:155,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:156,1
    - Dst: EVP_aes_192_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:156,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:157,1
    - Dst: EVP_aes_192_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:157,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:158,1
    - Dst: EVP_aes_192_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:158,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:159,1
    - Dst: EVP_aes_192_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:159,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:160,1
    - Dst: EVP_aes_192_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:160,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:161,1
    - Dst: EVP_aes_192_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:161,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:162,1
    - Dst: EVP_aes_192_gcm
      Src: /src/openssl/crypto/evp/c_allc.c:162,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:164,1
    - Dst: EVP_aes_192_ocb
      Src: /src/openssl/crypto/evp/c_allc.c:164,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:166,1
    - Dst: EVP_aes_192_ccm
      Src: /src/openssl/crypto/evp/c_allc.c:166,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:167,1
    - Dst: EVP_aes_192_wrap
      Src: /src/openssl/crypto/evp/c_allc.c:167,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:168,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:169,1
    - Dst: EVP_aes_192_wrap_pad
      Src: /src/openssl/crypto/evp/c_allc.c:169,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:170,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:171,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:172,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:173,1
    - Dst: EVP_aes_256_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:173,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:174,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:174,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:175,1
    - Dst: EVP_aes_256_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:175,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:176,1
    - Dst: EVP_aes_256_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:176,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:177,1
    - Dst: EVP_aes_256_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:177,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:178,1
    - Dst: EVP_aes_256_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:178,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:179,1
    - Dst: EVP_aes_256_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:179,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:180,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/crypto/evp/c_allc.c:180,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:182,1
    - Dst: EVP_aes_256_ocb
      Src: /src/openssl/crypto/evp/c_allc.c:182,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:184,1
    - Dst: EVP_aes_256_xts
      Src: /src/openssl/crypto/evp/c_allc.c:184,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:185,1
    - Dst: EVP_aes_256_ccm
      Src: /src/openssl/crypto/evp/c_allc.c:185,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:186,1
    - Dst: EVP_aes_256_wrap
      Src: /src/openssl/crypto/evp/c_allc.c:186,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:187,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:188,1
    - Dst: EVP_aes_256_wrap_pad
      Src: /src/openssl/crypto/evp/c_allc.c:188,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:189,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:190,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:191,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:192,1
    - Dst: EVP_aes_128_cbc_hmac_sha1
      Src: /src/openssl/crypto/evp/c_allc.c:192,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:193,1
    - Dst: EVP_aes_256_cbc_hmac_sha1
      Src: /src/openssl/crypto/evp/c_allc.c:193,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:194,1
    - Dst: EVP_aes_128_cbc_hmac_sha256
      Src: /src/openssl/crypto/evp/c_allc.c:194,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:195,1
    - Dst: EVP_aes_256_cbc_hmac_sha256
      Src: /src/openssl/crypto/evp/c_allc.c:195,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:197,1
    - Dst: EVP_aria_128_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:197,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:198,1
    - Dst: EVP_aria_128_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:198,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:199,1
    - Dst: EVP_aria_128_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:199,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:200,1
    - Dst: EVP_aria_128_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:200,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:201,1
    - Dst: EVP_aria_128_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:201,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:202,1
    - Dst: EVP_aria_128_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:202,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:203,1
    - Dst: EVP_aria_128_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:203,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:204,1
    - Dst: EVP_aria_128_gcm
      Src: /src/openssl/crypto/evp/c_allc.c:204,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:205,1
    - Dst: EVP_aria_128_ccm
      Src: /src/openssl/crypto/evp/c_allc.c:205,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:206,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:207,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:208,1
    - Dst: EVP_aria_192_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:208,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:209,1
    - Dst: EVP_aria_192_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:209,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:210,1
    - Dst: EVP_aria_192_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:210,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:211,1
    - Dst: EVP_aria_192_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:211,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:212,1
    - Dst: EVP_aria_192_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:212,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:213,1
    - Dst: EVP_aria_192_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:213,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:214,1
    - Dst: EVP_aria_192_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:214,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:215,1
    - Dst: EVP_aria_192_gcm
      Src: /src/openssl/crypto/evp/c_allc.c:215,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:216,1
    - Dst: EVP_aria_192_ccm
      Src: /src/openssl/crypto/evp/c_allc.c:216,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:217,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:218,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:219,1
    - Dst: EVP_aria_256_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:219,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:220,1
    - Dst: EVP_aria_256_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:220,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:221,1
    - Dst: EVP_aria_256_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:221,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:222,1
    - Dst: EVP_aria_256_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:222,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:223,1
    - Dst: EVP_aria_256_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:223,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:224,1
    - Dst: EVP_aria_256_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:224,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:225,1
    - Dst: EVP_aria_256_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:225,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:226,1
    - Dst: EVP_aria_256_gcm
      Src: /src/openssl/crypto/evp/c_allc.c:226,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:227,1
    - Dst: EVP_aria_256_ccm
      Src: /src/openssl/crypto/evp/c_allc.c:227,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:228,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:229,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:233,1
    - Dst: EVP_camellia_128_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:233,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:234,1
    - Dst: EVP_camellia_128_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:234,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:235,1
    - Dst: EVP_camellia_128_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:235,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:236,1
    - Dst: EVP_camellia_128_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:236,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:237,1
    - Dst: EVP_camellia_128_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:237,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:238,1
    - Dst: EVP_camellia_128_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:238,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:239,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:240,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:241,1
    - Dst: EVP_camellia_192_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:241,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:242,1
    - Dst: EVP_camellia_192_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:242,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:243,1
    - Dst: EVP_camellia_192_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:243,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:244,1
    - Dst: EVP_camellia_192_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:244,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:245,1
    - Dst: EVP_camellia_192_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:245,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:246,1
    - Dst: EVP_camellia_192_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:246,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:247,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:248,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:249,1
    - Dst: EVP_camellia_256_ecb
      Src: /src/openssl/crypto/evp/c_allc.c:249,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:250,1
    - Dst: EVP_camellia_256_cbc
      Src: /src/openssl/crypto/evp/c_allc.c:250,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:251,1
    - Dst: EVP_camellia_256_cfb
      Src: /src/openssl/crypto/evp/c_allc.c:251,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:252,1
    - Dst: EVP_camellia_256_cfb1
      Src: /src/openssl/crypto/evp/c_allc.c:252,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:253,1
    - Dst: EVP_camellia_256_cfb8
      Src: /src/openssl/crypto/evp/c_allc.c:253,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:254,1
    - Dst: EVP_camellia_256_ofb
      Src: /src/openssl/crypto/evp/c_allc.c:254,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:255,1
    - Dst: EVP_add_cipher_alias
      Src: /src/openssl/crypto/evp/c_allc.c:256,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:257,1
    - Dst: EVP_camellia_128_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:257,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:258,1
    - Dst: EVP_camellia_192_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:258,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:259,1
    - Dst: EVP_camellia_256_ctr
      Src: /src/openssl/crypto/evp/c_allc.c:259,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:263,1
    - Dst: EVP_chacha20
      Src: /src/openssl/crypto/evp/c_allc.c:263,1
    - Dst: EVP_add_cipher
      Src: /src/openssl/crypto/evp/c_allc.c:265,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/openssl/crypto/evp/c_allc.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 200
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 268
    functionName: openssl_add_all_ciphers_int
    functionSourceFile: /src/openssl/crypto/evp/c_allc.c
    functionUses: 1
    functionsReached:
    - EVP_aria_192_gcm
    - EVP_bf_cfb
    - EVP_sm4_cbc
    - EVP_des_ecb
    - EVP_idea_cbc
    - EVP_aes_256_ccm
    - EVP_rc5_32_12_16_cbc
    - EVP_aes_256_ecb
    - EVP_rc4
    - EVP_aria_192_ofb
    - EVP_aes_128_xts
    - EVP_des_cbc
    - EVP_camellia_128_cfb
    - EVP_des_ede3_cfb
    - EVP_rc5_32_12_16_ecb
    - EVP_aes_128_wrap_pad
    - EVP_aes_192_cfb
    - EVP_sm4_cfb
    - EVP_aria_128_cfb1
    - EVP_aria_192_ecb
    - EVP_des_ede3_cfb1
    - EVP_aes_256_cfb8
    - EVP_aes_192_cfb1
    - EVP_camellia_192_cbc
    - EVP_aria_256_ccm
    - EVP_camellia_128_cbc
    - EVP_chacha20_poly1305
    - EVP_camellia_128_ecb
    - EVP_camellia_256_cfb8
    - EVP_seed_ofb
    - EVP_aes_192_ocb
    - EVP_aes_256_wrap_pad
    - EVP_aes_256_cbc_hmac_sha256
    - EVP_rc5_32_12_16_ofb
    - EVP_aria_128_ecb
    - EVP_aria_256_cbc
    - EVP_add_cipher
    - EVP_cast5_cbc
    - EVP_aria_128_gcm
    - EVP_aria_128_cbc
    - EVP_aes_192_ctr
    - EVP_cast5_ofb
    - EVP_des_ede3
    - EVP_des_ede3_wrap
    - EVP_des_ede3_cbc
    - EVP_aria_192_cfb1
    - EVP_des_ede_cfb
    - EVP_rc4_40
    - EVP_aria_192_cbc
    - EVP_sm4_ecb
    - EVP_rc4_hmac_md5
    - EVP_idea_cfb
    - EVP_aria_128_ofb
    - EVP_aria_128_ctr
    - EVP_aes_256_gcm
    - EVP_camellia_192_cfb8
    - EVP_des_ede_ofb
    - EVP_camellia_256_ctr
    - EVP_aes_128_gcm
    - EVP_aria_192_cfb8
    - EVP_aria_256_cfb
    - EVP_des_ede3_ofb
    - EVP_aes_192_cfb8
    - EVP_aes_256_wrap
    - EVP_camellia_256_cfb
    - EVP_chacha20
    - EVP_camellia_256_cbc
    - EVP_bf_ofb
    - EVP_aes_192_ecb
    - EVP_aes_192_wrap_pad
    - EVP_aria_256_ecb
    - EVP_camellia_192_ofb
    - EVP_cast5_cfb
    - EVP_aes_256_cfb1
    - EVP_camellia_128_cfb8
    - EVP_rc2_64_cbc
    - EVP_camellia_128_cfb1
    - EVP_idea_ecb
    - EVP_aria_256_ctr
    - EVP_des_cfb1
    - EVP_camellia_192_cfb
    - EVP_aria_256_cfb1
    - EVP_des_ede3_cfb8
    - EVP_bf_ecb
    - EVP_aria_192_ccm
    - EVP_aria_128_ccm
    - EVP_des_ede_cbc
    - EVP_bf_cbc
    - EVP_aes_256_ocb
    - EVP_aria_256_gcm
    - EVP_aria_256_ofb
    - EVP_des_cfb
    - EVP_rc2_ecb
    - EVP_idea_ofb
    - EVP_camellia_128_ctr
    - EVP_aes_256_xts
    - EVP_sm4_ctr
    - EVP_aes_128_ecb
    - EVP_aes_128_cbc_hmac_sha256
    - EVP_camellia_256_ecb
    - EVP_desx_cbc
    - EVP_rc5_32_12_16_cfb
    - EVP_rc2_40_cbc
    - EVP_seed_cfb
    - EVP_rc2_cbc
    - EVP_camellia_256_cfb1
    - EVP_aes_192_ccm
    - EVP_aes_256_cbc_hmac_sha1
    - EVP_aes_192_ofb
    - EVP_aes_192_wrap
    - EVP_rc2_cfb
    - EVP_des_ede
    - EVP_camellia_256_ofb
    - EVP_aes_256_cfb
    - EVP_cast5_ecb
    - EVP_add_cipher_alias
    - EVP_camellia_128_ofb
    - EVP_aes_256_cbc
    - EVP_aes_128_cfb
    - EVP_camellia_192_cfb1
    - EVP_sm4_ofb
    - EVP_rc2_ofb
    - EVP_seed_cbc
    - EVP_aes_128_cfb1
    - EVP_aes_256_ofb
    - EVP_aes_128_ccm
    - EVP_aes_192_gcm
    - EVP_aes_128_ofb
    - EVP_aes_128_ocb
    - EVP_aria_192_ctr
    - EVP_aria_128_cfb
    - EVP_des_ofb
    - EVP_aria_256_cfb8
    - EVP_aria_128_cfb8
    - EVP_aes_128_wrap
    - EVP_aes_128_cfb8
    - EVP_aes_192_cbc
    - EVP_aes_128_ctr
    - EVP_aes_256_ctr
    - EVP_camellia_192_ecb
    - EVP_aria_192_cfb
    - EVP_des_cfb8
    - EVP_seed_ecb
    - EVP_camellia_192_ctr
    - EVP_aes_128_cbc_hmac_sha1
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: void
    signature: void openssl_add_all_ciphers_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: EVP_md2
    functionSourceFile: /src/openssl/crypto/evp/legacy_md2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_md2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_rc4.c
    functionUses: 227
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: EVP_rc4
    functionSourceFile: /src/openssl/crypto/evp/e_rc4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_rc4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: EVP_rc4_40
    functionSourceFile: /src/openssl/crypto/evp/e_rc4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_rc4_40(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_rc4.c:82,1
    - Dst: RC4_set_key
      Src: /src/openssl/crypto/evp/e_rc4.c:84,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc4.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: rc4_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_rc4.c
    functionUses: 0
    functionsReached:
    - RC4_set_key
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int rc4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                       const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4
      Src: /src/openssl/crypto/evp/e_rc4.c:91,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc4.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: rc4_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_rc4.c
    functionUses: 0
    functionsReached:
    - RC4
    - data
    linkageType: ''
    returnType: int
    signature: "int rc4_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                      const
      unsigned char *in, size_t inl)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:297,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:298,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:301,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:302,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:303,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:315,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:316,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:319,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:321,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:329,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:332,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:334,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 341
    functionName: default_check
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int default_check(enum state state,\n                         const
      struct translation_st *translation,\n                         const struct translation_ctx_st
      *ctx)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:393,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:399,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:416,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:422,1
    - Dst: EVP_PKEY_CTX_IS_DERIVE_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:424,1
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:426,1
    - Dst: EVP_PKEY_CTX_IS_KEM_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:428,1
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:434,1
    - Dst: EVP_PKEY_CTX_IS_FROMDATA_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:436,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:438,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:449,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:463,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:465,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:467,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:470,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:475,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:483,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:491,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:497,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:502,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:507,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:512,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:552,1
    - Dst: strcpy
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:566,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:567,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:569,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:576,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:577,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:579,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:582,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:623,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:627,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:631,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:637,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:640,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:644,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:647,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:664,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:665,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:673,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:677,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:680,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:685,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:687,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:690,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:693,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 165
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 387
    functionDepth: 5
    functionLinenumber: 387
    functionLinenumberEnd: 709
    functionName: default_fixup_args
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - strcpy
    - OSSL_PARAM_get_BN
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_get_uint
    - BN_num_bytes
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - OPENSSL_strlcat
    - OSSL_PARAM_set_BN
    - OPENSSL_free
    - EVP_PKEY_CTX_IS_GEN_OP
    - strlen
    - OSSL_PARAM_construct_utf8_ptr
    - ossl_assert
    - OSSL_PARAM_construct_BN
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_get_octet_ptr
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_utf8_string
    - OPENSSL_malloc
    - OSSL_PARAM_set_octet_ptr
    - EVP_PKEY_CTX_IS_FROMDATA_OP
    - ERR_raise_data
    - OSSL_PARAM_get_utf8_string
    - EVP_PKEY_CTX_IS_KEM_OP
    - BN_bn2nativepad
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - OSSL_PARAM_get_int
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_construct_octet_ptr
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_get_octet_string
    - EVP_PKEY_CTX_IS_DERIVE_OP
    - OSSL_PARAM_allocate_from_text
    - EVP_PKEY_CTX_settable_params
    - default_check
    linkageType: ''
    returnType: int
    signature: "int default_fixup_args(enum state state,\n                              const
      struct translation_st *translation,\n                              struct translation_ctx_st
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 720
    functionName: cleanup_translation_ctx
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int cleanup_translation_ctx(enum state state,\n                        const
      struct translation_st *translation,\n                        struct translation_ctx_st
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: get_cipher_name
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: char
    signature: char *get_cipher_name(void *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: get_md_name
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get0_name
    linkageType: ''
    returnType: char
    signature: char *get_md_name(void *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_cipherbyname_ex
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: get_cipher_by_name
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - evp_get_cipherbyname_ex
    linkageType: ''
    returnType: void
    signature: void *get_cipher_by_name(OSSL_LIB_CTX *libctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_digestbyname_ex
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: get_md_by_name
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - evp_get_digestbyname_ex
    linkageType: ''
    returnType: void
    signature: void *get_md_by_name(OSSL_LIB_CTX *libctx, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:755,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:776,1
    - Dst: get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:777,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:778,1
    - Dst: get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:780,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:781,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:784,1
    - Dst: get_algo_by_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:793,1
    - Dst: get_algo_by_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:796,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - state
    - translation
    - ctx
    - (*get_name)(void *algo)
    - "(*get_algo_by_name)(OSSL_LIB_CTX *libctx,\n                                                         const
      char *name)"
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 746
    functionDepth: 6
    functionLinenumber: 746
    functionLinenumberEnd: 801
    functionName: fix_cipher_md
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - default_fixup_args
    - OBJ_nid2sn
    - get_name
    - strlen
    - get_algo_by_name
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_cipher_md(enum state state,\n                         const
      struct translation_st *translation,\n                         struct translation_ctx_st
      *ctx,\n                         const char *(*get_name)(void *algo),\n                         const
      void *(*get_algo_by_name)(OSSL_LIB_CTX *libctx,\n                                                         const
      char *name))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_cipher_md
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 803
    functionDepth: 7
    functionLinenumber: 803
    functionLinenumberEnd: 809
    functionName: fix_cipher
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - fix_cipher_md
    linkageType: ''
    returnType: int
    signature: "int fix_cipher(enum state state,\n                      const struct
      translation_st *translation,\n                      struct translation_ctx_st
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_cipher_md
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 811
    functionDepth: 7
    functionLinenumber: 811
    functionLinenumberEnd: 817
    functionName: fix_md
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - fix_cipher_md
    linkageType: ''
    returnType: int
    signature: "int fix_md(enum state state,\n                  const struct translation_st
      *translation,\n                  struct translation_ctx_st *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 819
    functionDepth: 6
    functionLinenumber: 819
    functionLinenumberEnd: 834
    functionName: fix_distid_len
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - default_fixup_args
    linkageType: ''
    returnType: int
    signature: "int fix_distid_len(enum state state,\n                          const
      struct translation_st *translation,\n                          struct translation_ctx_st
      *ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:855,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:863,1
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:884,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:899,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:902,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:911,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - kdf_type_map
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - struct kdf_type_map_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 841
    functionDepth: 6
    functionLinenumber: 841
    functionLinenumberEnd: 922
    functionName: fix_kdf_type
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - default_fixup_args
    - OPENSSL_strcasecmp
    - strlen
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_kdf_type(enum state state,\n                        const
      struct translation_st *translation,\n                        struct translation_ctx_st
      *ctx,\n                        const struct kdf_type_map_st *kdf_type_map)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_kdf_type
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 925
    functionDepth: 7
    functionLinenumber: 925
    functionLinenumberEnd: 936
    functionName: fix_dh_kdf_type
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - fix_kdf_type
    linkageType: ''
    returnType: int
    signature: "int fix_dh_kdf_type(enum state state,\n                           const
      struct translation_st *translation,\n                           struct translation_ctx_st
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_kdf_type
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 939
    functionDepth: 7
    functionLinenumber: 939
    functionLinenumberEnd: 950
    functionName: fix_ec_kdf_type
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - fix_kdf_type
    linkageType: ''
    returnType: int
    signature: "int fix_ec_kdf_type(enum state state,\n                           const
      struct translation_st *translation,\n                           struct translation_ctx_st
      *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:959,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:972,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:977,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 953
    functionDepth: 6
    functionLinenumber: 953
    functionLinenumberEnd: 993
    functionName: fix_oid
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2obj
    - OBJ_obj2txt
    - default_fixup_args
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_oid(enum state state,\n                   const struct translation_st
      *translation,\n                   struct translation_ctx_st *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1002,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1010,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1011,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1012,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1018,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 996
    functionDepth: 6
    functionLinenumber: 996
    functionLinenumberEnd: 1019
    functionName: fix_dh_nid
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - default_fixup_args
    - ossl_ffc_named_group_get_name
    - ossl_ffc_uid_to_dh_named_group
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_dh_nid(enum state state,\n                      const struct
      translation_st *translation,\n                      struct translation_ctx_st
      *ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1028,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1037,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1038,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1039,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1049,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1050,1
    - Dst: atoi
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1050,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1051,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1062,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1022
    functionDepth: 6
    functionLinenumber: 1022
    functionLinenumberEnd: 1063
    functionName: fix_dh_nid5114
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - atoi
    - ERR_raise
    - default_fixup_args
    - ossl_ffc_named_group_get_name
    - ossl_ffc_uid_to_dh_named_group
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_dh_nid5114(enum state state,\n                          const
      struct translation_st *translation,\n                          struct translation_ctx_st
      *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1072,1
    - Dst: ossl_dh_gen_type_id2name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1080,1
    - Dst: atoi
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1080,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1082,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1085,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1066
    functionDepth: 6
    functionLinenumber: 1066
    functionLinenumberEnd: 1089
    functionName: fix_dh_paramgen_type
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - atoi
    - ERR_raise
    - default_fixup_args
    - ossl_dh_gen_type_id2name
    - strlen
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_dh_paramgen_type(enum state state,\n                                const
      struct translation_st *translation,\n                                struct
      translation_ctx_st *ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1098,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1120,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1124,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1092
    functionDepth: 6
    functionLinenumber: 1092
    functionLinenumberEnd: 1137
    functionName: fix_ec_param_enc
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ERR_raise
    - default_fixup_args
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_ec_param_enc(enum state state,\n                            const
      struct translation_st *translation,\n                            struct translation_ctx_st
      *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1147,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1155,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1171,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1140
    functionDepth: 6
    functionLinenumber: 1140
    functionLinenumberEnd: 1180
    functionName: fix_ec_paramgen_curve_nid
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - OBJ_sn2nid
    - default_fixup_args
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_ec_paramgen_curve_nid(enum state state,\n                                     const
      struct translation_st *translation,\n                                     struct
      translation_ctx_st *ctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1201,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1213,1
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1219,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1229,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1183
    functionDepth: 6
    functionLinenumber: 1183
    functionLinenumberEnd: 1247
    functionName: fix_ecdh_cofactor
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - default_fixup_args
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_ecdh_cofactor(enum state state,\n                             const
      struct translation_st *translation,\n                             struct translation_ctx_st
      *ctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1266,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1302,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1316,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1318,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1323,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1327,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1328,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1338,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1342,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1345,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1352,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1353,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1357,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1358,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1250
    functionDepth: 6
    functionLinenumber: 1250
    functionLinenumberEnd: 1372
    functionName: fix_rsa_padding_mode
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_uint
    - ERR_raise
    - default_fixup_args
    - strlen
    - ERR_raise_data
    - OSSL_PARAM_construct_int
    - OSSL_NELEM
    - strcmp
    - OSSL_PARAM_get_int
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_rsa_padding_mode(enum state state,\n                                const
      struct translation_st *translation,\n                                struct
      translation_ctx_st *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1386,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1409,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1413,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1414,1
    - Dst: strncpy
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1417,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1421,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1424,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1432,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1433,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1437,1
    - Dst: atoi
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1437,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1375
    functionDepth: 6
    functionLinenumber: 1375
    functionLinenumberEnd: 1452
    functionName: fix_rsa_pss_saltlen
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - strncpy
    - atoi
    - default_fixup_args
    - BIO_snprintf
    - OSSL_NELEM
    - strcmp
    - strlen
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_rsa_pss_saltlen(enum state state,\n                               const
      struct translation_st *translation,\n                               struct translation_ctx_st
      *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: default_check
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1466,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1473,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1477,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1480,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1483,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1490,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1491,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1494,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1455
    functionDepth: 6
    functionLinenumber: 1455
    functionLinenumberEnd: 1504
    functionName: fix_hkdf_mode
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - default_fixup_args
    - OSSL_NELEM
    - strcmp
    - strlen
    - default_check
    linkageType: ''
    returnType: int
    signature: "int fix_hkdf_mode(enum state state,\n                         const
      struct translation_st *translation,\n                         struct translation_ctx_st
      *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1523,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1527,1
    - Dst: DH_get_nid
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1528,1
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1532,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1534,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1543,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1543,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1547,1
    - Dst: OSSL_EC_curve_nid2name
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1549,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1554,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1565,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1516
    functionDepth: 6
    functionLinenumber: 1516
    functionLinenumberEnd: 1567
    functionName: get_payload_group_name
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - DH_get_nid
    - default_fixup_args
    - EVP_PKEY_get0_EC_KEY
    - OSSL_EC_curve_nid2name
    - ossl_ffc_named_group_get_name
    - EC_KEY_get0_group
    - ossl_ffc_uid_to_dh_named_group
    - EVP_PKEY_get_base_id
    - strlen
    - EVP_PKEY_get0_DH
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: "int get_payload_group_name(enum state state,\n                                  const
      struct translation_st *translation,\n                                  struct
      translation_ctx_st *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1579,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1583,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1585,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1592,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1599,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1569
    functionDepth: 6
    functionLinenumber: 1569
    functionLinenumberEnd: 1604
    functionName: get_payload_private_key
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - default_fixup_args
    - EVP_PKEY_get0_EC_KEY
    - DH_get0_priv_key
    - EC_KEY_get0_private_key
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_DH
    linkageType: ''
    returnType: int
    signature: "int get_payload_private_key(enum state state,\n                                   const
      struct translation_st *translation,\n                                   struct
      translation_ctx_st *ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1615,1
    - Dst: ossl_dh_key2buf
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1621,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1621,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1625,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1625,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1635,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1635,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1643,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1644,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1644,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1645,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1646,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1650,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1654,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1660,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1664,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1665,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1606
    functionDepth: 6
    functionLinenumber: 1606
    functionLinenumberEnd: 1667
    functionName: get_payload_public_key
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_dh_key2buf
    - ERR_raise
    - default_fixup_args
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get0_EC_KEY
    - ossl_ec_key_get_libctx
    - BN_CTX_free
    - OPENSSL_free
    - DSA_get0_pub_key
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - EVP_PKEY_get_base_id
    - DH_get0_pub_key
    - EVP_PKEY_get0_DH
    - BN_CTX_new_ex
    - EC_POINT_point2buf
    linkageType: ''
    returnType: int
    signature: "int get_payload_public_key(enum state state,\n                                  const
      struct translation_st *translation,\n                                  struct
      translation_ctx_st *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1675,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1686,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1690,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1690,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1694,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1695,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1701,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1702,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1706,1
    - Dst: strncmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1709,1
    - Dst: strncmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1711,1
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1717,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1719,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1669
    functionDepth: 6
    functionLinenumber: 1669
    functionLinenumberEnd: 1725
    functionName: get_payload_public_key_ec
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - EC_POINT_get_affine_coordinates
    - ERR_raise
    - default_fixup_args
    - EVP_PKEY_get0_EC_KEY
    - ossl_ec_key_get_libctx
    - BN_CTX_free
    - strncmp
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int get_payload_public_key_ec(enum state state,\n                                     const
      struct translation_st *translation,\n                                     struct
      translation_ctx_st *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - bn
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1727
    functionDepth: 6
    functionLinenumber: 1727
    functionLinenumberEnd: 1738
    functionName: get_payload_bn
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - default_fixup_args
    linkageType: ''
    returnType: int
    signature: "int get_payload_bn(enum state state,\n                          const
      struct translation_st *translation,\n                          struct translation_ctx_st
      *ctx, const BIGNUM *bn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1747,1
    - Dst: DH_get0_p
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1750,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1750,1
    - Dst: DSA_get0_p
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1755,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1755,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1759,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1740
    functionDepth: 7
    functionLinenumber: 1740
    functionLinenumberEnd: 1763
    functionName: get_dh_dsa_payload_p
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - DH_get0_p
    - get_payload_bn
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get0_DH
    - DSA_get0_p
    linkageType: ''
    returnType: int
    signature: "int get_dh_dsa_payload_p(enum state state,\n                                const
      struct translation_st *translation,\n                                struct
      translation_ctx_st *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1771,1
    - Dst: DH_get0_q
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1774,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1774,1
    - Dst: DSA_get0_q
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1779,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1779,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1765
    functionDepth: 7
    functionLinenumber: 1765
    functionLinenumberEnd: 1785
    functionName: get_dh_dsa_payload_q
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - DSA_get0_q
    - get_payload_bn
    - DH_get0_q
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get0_DH
    linkageType: ''
    returnType: int
    signature: "int get_dh_dsa_payload_q(enum state state,\n                                const
      struct translation_st *translation,\n                                struct
      translation_ctx_st *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1793,1
    - Dst: DH_get0_g
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1796,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1796,1
    - Dst: DSA_get0_g
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1801,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1801,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1787
    functionDepth: 7
    functionLinenumber: 1787
    functionLinenumberEnd: 1807
    functionName: get_dh_dsa_payload_g
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - DSA_get0_g
    - DH_get0_g
    - get_payload_bn
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_get0_DH
    linkageType: ''
    returnType: int
    signature: "int get_dh_dsa_payload_g(enum state state,\n                                const
      struct translation_st *translation,\n                                struct
      translation_ctx_st *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_fixup_args
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - val
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1809
    functionDepth: 6
    functionLinenumber: 1809
    functionLinenumberEnd: 1820
    functionName: get_payload_int
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - default_fixup_args
    linkageType: ''
    returnType: int
    signature: "int get_payload_int(enum state state,\n                           const
      struct translation_st *translation,\n                           struct translation_ctx_st
      *ctx,\n                           const int val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1829,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1832,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1832,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1834,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1840,1
    - Dst: get_payload_int
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1822
    functionDepth: 7
    functionLinenumber: 1822
    functionLinenumberEnd: 1845
    functionName: get_ec_decoded_from_explicit_params
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_decoded_from_explicit_params
    - get_payload_int
    - EVP_PKEY_base_id
    linkageType: ''
    returnType: int
    signature: "int get_ec_decoded_from_explicit_params(enum state state,\n                                               const
      struct translation_st *translation,\n                                               struct
      translation_ctx_st *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1853,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1854,1
    - Dst: RSA_get0_n
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1856,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1856,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1847
    functionDepth: 7
    functionLinenumber: 1847
    functionLinenumberEnd: 1859
    functionName: get_rsa_payload_n
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_RSA
    - get_payload_bn
    - RSA_get0_n
    linkageType: ''
    returnType: int
    signature: "int get_rsa_payload_n(enum state state,\n                             const
      struct translation_st *translation,\n                             struct translation_ctx_st
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1867,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1868,1
    - Dst: RSA_get0_e
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1870,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1870,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1861
    functionDepth: 7
    functionLinenumber: 1861
    functionLinenumberEnd: 1873
    functionName: get_rsa_payload_e
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_RSA
    - RSA_get0_e
    - get_payload_bn
    linkageType: ''
    returnType: int
    signature: "int get_rsa_payload_e(enum state state,\n                             const
      struct translation_st *translation,\n                             struct translation_ctx_st
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1881,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1882,1
    - Dst: RSA_get0_d
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1884,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1884,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1875
    functionDepth: 7
    functionLinenumber: 1875
    functionLinenumberEnd: 1887
    functionName: get_rsa_payload_d
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_RSA
    - RSA_get0_d
    - get_payload_bn
    linkageType: ''
    returnType: int
    signature: "int get_rsa_payload_d(enum state state,\n                             const
      struct translation_st *translation,\n                             struct translation_ctx_st
      *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1894,1
    - Dst: RSA_get0_p
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1899,1
    - Dst: RSA_get0_q
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1902,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1906,1
    - Dst: RSA_get0_multi_prime_factors
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1910,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - factornum
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1889
    functionDepth: 7
    functionLinenumber: 1889
    functionLinenumberEnd: 1917
    functionName: get_rsa_payload_factor
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - EVP_PKEY_get0_RSA
    - get_payload_bn
    - RSA_get0_p
    - RSA_get0_q
    - RSA_get0_multi_prime_factors
    linkageType: ''
    returnType: int
    signature: "int get_rsa_payload_factor(enum state state,\n                                  const
      struct translation_st *translation,\n                                  struct
      translation_ctx_st *ctx,\n                                  size_t factornum)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1924,1
    - Dst: RSA_get0_dmp1
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1929,1
    - Dst: RSA_get0_dmq1
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1932,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1936,1
    - Dst: RSA_get0_multi_prime_crt_params
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1940,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - exponentnum
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1919
    functionDepth: 7
    functionLinenumber: 1919
    functionLinenumberEnd: 1947
    functionName: get_rsa_payload_exponent
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - EVP_PKEY_get0_RSA
    - RSA_get0_dmp1
    - RSA_get0_dmq1
    - get_payload_bn
    - RSA_get0_multi_prime_crt_params
    linkageType: ''
    returnType: int
    signature: "int get_rsa_payload_exponent(enum state state,\n                                    const
      struct translation_st *translation,\n                                    struct
      translation_ctx_st *ctx,\n                                    size_t exponentnum)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1954,1
    - Dst: RSA_get0_iqmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1959,1
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1963,1
    - Dst: RSA_get0_multi_prime_crt_params
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1967,1
    - Dst: get_payload_bn
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:1973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - state
    - translation
    - ctx
    - coefficientnum
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1949
    functionDepth: 7
    functionLinenumber: 1949
    functionLinenumberEnd: 1974
    functionName: get_rsa_payload_coefficient
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - RSA_get_multi_prime_extra_count
    - EVP_PKEY_get0_RSA
    - get_payload_bn
    - RSA_get0_iqmp
    - RSA_get0_multi_prime_crt_params
    linkageType: ''
    returnType: int
    signature: "int get_rsa_payload_coefficient(enum state state,\n                                       const
      struct translation_st *translation,\n                                       struct
      translation_ctx_st *ctx,\n                                       size_t coefficientnum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1987
    functionName: IMPL_GET_RSA_PAYLOAD_FACTOR
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_GET_RSA_PAYLOAD_FACTOR(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2000
    functionName: IMPL_GET_RSA_PAYLOAD_EXPONENT
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_GET_RSA_PAYLOAD_EXPONENT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2013
    functionName: IMPL_GET_RSA_PAYLOAD_COEFFICIENT
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPL_GET_RSA_PAYLOAD_COEFFICIENT(n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2052,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2057,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2058,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - state
    - translation
    - ctx
    argTypes:
    - enum state
    - struct translation_st*
    - struct translation_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2044
    functionDepth: 3
    functionLinenumber: 2044
    functionLinenumberEnd: 2068
    functionName: fix_group_ecx
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_utf8_string_ptr
    - EVP_PKEY_CTX_IS_GEN_OP
    - ERR_raise
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int fix_group_ecx(enum state state,\n                         const
      struct translation_st *translation,\n                         struct translation_ctx_st
      *ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2607,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2651,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2654,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2683,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 32
    argCount: 3
    argNames:
    - tmpl
    - translations
    - translations_num
    argTypes:
    - struct translation_st*
    - struct translation_st*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2591
    functionDepth: 3
    functionLinenumber: 2591
    functionLinenumberEnd: 2694
    functionName: lookup_translation
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: struct translation_st
    signature: "struct translation_st *\nlookup_translation(struct translation_st
      *tmpl,\n                   const struct translation_st *translations,\n                   size_t
      translations_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_translation
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2699,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - struct translation_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2696
    functionDepth: 4
    functionLinenumber: 2696
    functionLinenumberEnd: 2701
    functionName: lookup_evp_pkey_ctx_translation
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - lookup_translation
    linkageType: ''
    returnType: struct translation_st
    signature: 'struct translation_st *

      lookup_evp_pkey_ctx_translation(struct translation_st *tmpl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_translation
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2706,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - struct translation_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2703
    functionDepth: 4
    functionLinenumber: 2703
    functionLinenumberEnd: 2708
    functionName: lookup_evp_pkey_translation
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - lookup_translation
    linkageType: ''
    returnType: struct translation_st
    signature: 'struct translation_st *

      lookup_evp_pkey_translation(struct translation_st *tmpl)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_ctx_translation
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2727,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2730,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2748,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2756,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2759,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2770,1
    - Dst: cleanup_translation_ctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2774,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 6
    argNames:
    - pctx
    - keytype
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2711
    functionDepth: 5
    functionLinenumber: 2711
    functionLinenumberEnd: 2777
    functionName: evp_pkey_ctx_ctrl_to_param
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 1
    functionsReached:
    - lookup_evp_pkey_ctx_translation
    - ERR_raise
    - fixup
    - evp_pkey_ctx_set_params_strict
    - evp_pkey_ctx_get_params_strict
    - cleanup_translation_ctx
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_ctrl_to_param(EVP_PKEY_CTX *pctx,\n                               int
      keytype, int optype,\n                               int cmd, int p1, void *p2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_ctx_translation
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2797,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2809,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2814,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2828,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2834,1
    - Dst: cleanup_translation_ctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - pctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2780
    functionDepth: 5
    functionLinenumber: 2780
    functionLinenumberEnd: 2839
    functionName: evp_pkey_ctx_ctrl_str_to_param
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 1
    functionsReached:
    - lookup_evp_pkey_ctx_translation
    - fixup
    - evp_pkey_ctx_set_params_strict
    - strlen
    - cleanup_translation_ctx
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_ctrl_str_to_param(EVP_PKEY_CTX *pctx,\n                                   const
      char *name, const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_ctx_translation
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2860,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2870,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2873,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2888,1
    - Dst: cleanup_translation_ctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pctx
    - action_type
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - enum action
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2842
    functionDepth: 5
    functionLinenumber: 2842
    functionLinenumberEnd: 2898
    functionName: evp_pkey_ctx_setget_params_to_ctrl
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    - lookup_evp_pkey_ctx_translation
    - fixup
    - cleanup_translation_ctx
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_ctx_setget_params_to_ctrl(EVP_PKEY_CTX *pctx,\n                                              enum
      action action_type,\n                                              OSSL_PARAM
      *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_setget_params_to_ctrl
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2900
    functionDepth: 6
    functionLinenumber: 2900
    functionLinenumberEnd: 2905
    functionName: evp_pkey_ctx_set_params_to_ctrl
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 1
    functionsReached:
    - evp_pkey_ctx_setget_params_to_ctrl
    linkageType: ''
    returnType: int
    signature: int evp_pkey_ctx_set_params_to_ctrl(EVP_PKEY_CTX *ctx, const OSSL_PARAM
      *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_setget_params_to_ctrl
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2907
    functionDepth: 6
    functionLinenumber: 2907
    functionLinenumberEnd: 2912
    functionName: evp_pkey_ctx_get_params_to_ctrl
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 1
    functionsReached:
    - evp_pkey_ctx_setget_params_to_ctrl
    linkageType: ''
    returnType: int
    signature: int evp_pkey_ctx_get_params_to_ctrl(EVP_PKEY_CTX *ctx, OSSL_PARAM *params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup_evp_pkey_translation
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2929,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2944,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2945,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2946,1
    - Dst: fixup
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2950,1
    - Dst: cleanup_translation_ctx
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2952,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pkey
    - action_type
    - params
    argTypes:
    - EVP_PKEY*
    - enum action
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2915
    functionDepth: 5
    functionLinenumber: 2915
    functionLinenumberEnd: 2955
    functionName: evp_pkey_setget_params_to_ctrl
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - fixup
    - lookup_evp_pkey_translation
    - cleanup_translation_ctx
    linkageType: ''
    returnType: int
    signature: "int evp_pkey_setget_params_to_ctrl(const EVP_PKEY *pkey,\n                                          enum
      action action_type,\n                                          OSSL_PARAM *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_setget_params_to_ctrl
      Src: /src/openssl/crypto/evp/ctrl_params_translate.c:2959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2957
    functionDepth: 6
    functionLinenumber: 2957
    functionLinenumberEnd: 2960
    functionName: evp_pkey_get_params_to_ctrl
    functionSourceFile: /src/openssl/crypto/evp/ctrl_params_translate.c
    functionUses: 1
    functionsReached:
    - evp_pkey_setget_params_to_ctrl
    linkageType: ''
    returnType: int
    signature: int evp_pkey_get_params_to_ctrl(const EVP_PKEY *pkey, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:20,1
    - Dst: EVP_md4
      Src: /src/openssl/crypto/evp/c_alld.c:20,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:23,1
    - Dst: EVP_md5
      Src: /src/openssl/crypto/evp/c_alld.c:23,1
    - Dst: EVP_add_digest_alias
      Src: /src/openssl/crypto/evp/c_alld.c:24,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:25,1
    - Dst: EVP_md5_sha1
      Src: /src/openssl/crypto/evp/c_alld.c:25,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:27,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/evp/c_alld.c:27,1
    - Dst: EVP_add_digest_alias
      Src: /src/openssl/crypto/evp/c_alld.c:28,1
    - Dst: EVP_add_digest_alias
      Src: /src/openssl/crypto/evp/c_alld.c:29,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:31,1
    - Dst: EVP_mdc2
      Src: /src/openssl/crypto/evp/c_alld.c:31,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:34,1
    - Dst: EVP_ripemd160
      Src: /src/openssl/crypto/evp/c_alld.c:34,1
    - Dst: EVP_add_digest_alias
      Src: /src/openssl/crypto/evp/c_alld.c:35,1
    - Dst: EVP_add_digest_alias
      Src: /src/openssl/crypto/evp/c_alld.c:36,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:38,1
    - Dst: EVP_sha224
      Src: /src/openssl/crypto/evp/c_alld.c:38,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:39,1
    - Dst: EVP_sha256
      Src: /src/openssl/crypto/evp/c_alld.c:39,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:40,1
    - Dst: EVP_sha384
      Src: /src/openssl/crypto/evp/c_alld.c:40,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:41,1
    - Dst: EVP_sha512
      Src: /src/openssl/crypto/evp/c_alld.c:41,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:42,1
    - Dst: EVP_sha512_224
      Src: /src/openssl/crypto/evp/c_alld.c:42,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:43,1
    - Dst: EVP_sha512_256
      Src: /src/openssl/crypto/evp/c_alld.c:43,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:45,1
    - Dst: EVP_whirlpool
      Src: /src/openssl/crypto/evp/c_alld.c:45,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:48,1
    - Dst: EVP_sm3
      Src: /src/openssl/crypto/evp/c_alld.c:48,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:51,1
    - Dst: EVP_blake2b512
      Src: /src/openssl/crypto/evp/c_alld.c:51,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:52,1
    - Dst: EVP_blake2s256
      Src: /src/openssl/crypto/evp/c_alld.c:52,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:54,1
    - Dst: EVP_sha3_224
      Src: /src/openssl/crypto/evp/c_alld.c:54,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:55,1
    - Dst: EVP_sha3_256
      Src: /src/openssl/crypto/evp/c_alld.c:55,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:56,1
    - Dst: EVP_sha3_384
      Src: /src/openssl/crypto/evp/c_alld.c:56,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:57,1
    - Dst: EVP_sha3_512
      Src: /src/openssl/crypto/evp/c_alld.c:57,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:58,1
    - Dst: EVP_shake128
      Src: /src/openssl/crypto/evp/c_alld.c:58,1
    - Dst: EVP_add_digest
      Src: /src/openssl/crypto/evp/c_alld.c:59,1
    - Dst: EVP_shake256
      Src: /src/openssl/crypto/evp/c_alld.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 60
    functionName: openssl_add_all_digests_int
    functionSourceFile: /src/openssl/crypto/evp/c_alld.c
    functionUses: 1
    functionsReached:
    - EVP_md5
    - EVP_add_digest
    - EVP_whirlpool
    - EVP_blake2b512
    - EVP_shake128
    - EVP_sha3_256
    - EVP_shake256
    - EVP_sha3_384
    - EVP_sm3
    - EVP_sha256
    - EVP_ripemd160
    - EVP_sha512_256
    - EVP_sha384
    - EVP_md5_sha1
    - EVP_add_digest_alias
    - EVP_sha3_224
    - EVP_sha512
    - EVP_sha1
    - EVP_sha512_224
    - EVP_blake2s256
    - EVP_sha3_512
    - EVP_md4
    - EVP_sha224
    - EVP_mdc2
    linkageType: ''
    returnType: void
    signature: void openssl_add_all_digests_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/mac_meth.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vmac
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: evp_mac_up_ref
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int evp_mac_up_ref(void *vmac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/mac_meth.c:36,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/mac_meth.c:39,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/mac_meth.c:40,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/mac_meth.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/mac_meth.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vmac
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: evp_mac_free
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void evp_mac_free(void *vmac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/mac_meth.c:49,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/mac_meth.c:50,1
    - Dst: evp_mac_free
      Src: /src/openssl/crypto/evp/mac_meth.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: evp_mac_new
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - evp_mac_free
    linkageType: ''
    returnType: void
    signature: void *evp_mac_new(void)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_new
      Src: /src/openssl/crypto/evp/mac_meth.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_meth.c:66,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/mac_meth.c:71,1
    - Dst: OSSL_FUNC_mac_newctx
      Src: /src/openssl/crypto/evp/mac_meth.c:81,1
    - Dst: OSSL_FUNC_mac_dupctx
      Src: /src/openssl/crypto/evp/mac_meth.c:87,1
    - Dst: OSSL_FUNC_mac_freectx
      Src: /src/openssl/crypto/evp/mac_meth.c:92,1
    - Dst: OSSL_FUNC_mac_init
      Src: /src/openssl/crypto/evp/mac_meth.c:98,1
    - Dst: OSSL_FUNC_mac_update
      Src: /src/openssl/crypto/evp/mac_meth.c:104,1
    - Dst: OSSL_FUNC_mac_final
      Src: /src/openssl/crypto/evp/mac_meth.c:110,1
    - Dst: OSSL_FUNC_mac_gettable_params
      Src: /src/openssl/crypto/evp/mac_meth.c:117,1
    - Dst: OSSL_FUNC_mac_gettable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:123,1
    - Dst: OSSL_FUNC_mac_settable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:129,1
    - Dst: OSSL_FUNC_mac_get_params
      Src: /src/openssl/crypto/evp/mac_meth.c:134,1
    - Dst: OSSL_FUNC_mac_get_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:139,1
    - Dst: OSSL_FUNC_mac_set_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:144,1
    - Dst: OSSL_FUNC_mac_init_skey
      Src: /src/openssl/crypto/evp/mac_meth.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/mac_meth.c:162,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/mac_meth.c:166,1
    - Dst: evp_mac_free
      Src: /src/openssl/crypto/evp/mac_meth.c:174,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 101
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 176
    functionName: evp_mac_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_mac_final
    - ossl_algorithm_get1_first_name
    - ossl_provider_up_ref
    - ERR_raise
    - OSSL_FUNC_mac_init
    - OSSL_FUNC_mac_update
    - OSSL_FUNC_mac_set_ctx_params
    - OSSL_FUNC_mac_newctx
    - OSSL_FUNC_mac_dupctx
    - OSSL_FUNC_mac_get_ctx_params
    - OSSL_FUNC_mac_init_skey
    - evp_mac_free
    - OSSL_FUNC_mac_freectx
    - OSSL_FUNC_mac_get_params
    - OSSL_FUNC_mac_gettable_params
    - OSSL_FUNC_mac_settable_ctx_params
    - evp_mac_new
    - OSSL_FUNC_mac_gettable_ctx_params
    linkageType: ''
    returnType: void
    signature: "void *evp_mac_from_algorithm(int name_id,\n                                    const
      OSSL_ALGORITHM *algodef,\n                                    OSSL_PROVIDER
      *prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/mac_meth.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - libctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 9
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: EVP_MAC_fetch
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 3
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_MAC
    signature: "EVP_MAC *EVP_MAC_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,\n
      \                      const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_up_ref
      Src: /src/openssl/crypto/evp/mac_meth.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: EVP_MAC_up_ref
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 4
    functionsReached:
    - evp_mac_up_ref
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_up_ref(EVP_MAC *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_mac_free
      Src: /src/openssl/crypto/evp/mac_meth.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: EVP_MAC_free
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 5
    functionsReached:
    - evp_mac_free
    linkageType: ''
    returnType: void
    signature: void EVP_MAC_free(EVP_MAC *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: EVP_MAC_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_MAC_get0_provider(const EVP_MAC *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC*::gettable_params
      Src: /src/openssl/crypto/evp/mac_meth.c:205,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/mac_meth.c:205,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: EVP_MAC_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_MAC*::gettable_params
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MAC_gettable_params(const EVP_MAC *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/mac_meth.c:214,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:214,1
    - Dst: EVP_MAC*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: EVP_MAC_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_MAC*::gettable_ctx_params
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MAC_gettable_ctx_params(const EVP_MAC *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/mac_meth.c:224,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:224,1
    - Dst: EVP_MAC*::settable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mac
    argTypes:
    - EVP_MAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: EVP_MAC_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 1
    functionsReached:
    - ossl_provider_ctx
    - EVP_MAC*::settable_ctx_params
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MAC_settable_ctx_params(const EVP_MAC *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/mac_meth.c:234,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:234,1
    - Dst: EVP_MAC_CTX*::meth::gettable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: EVP_MAC_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX*::meth::gettable_ctx_params
    - ossl_provider_ctx
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MAC_CTX_gettable_params(EVP_MAC_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/mac_meth.c:244,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/crypto/evp/mac_meth.c:244,1
    - Dst: EVP_MAC_CTX*::meth::settable_ctx_params
      Src: /src/openssl/crypto/evp/mac_meth.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: EVP_MAC_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX*::meth::settable_ctx_params
    - ossl_provider_ctx
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MAC_CTX_settable_params(EVP_MAC_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/mac_meth.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 9
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: EVP_MAC_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_MAC_do_all_provided(OSSL_LIB_CTX *libctx,\n                             void
      (*fn)(EVP_MAC *mac, void *arg),\n                             void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/mac_meth.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 9
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: evp_mac_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/mac_meth.c
    functionUses: 0
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_MAC
    signature: "EVP_MAC *evp_mac_fetch_from_prov(OSSL_PROVIDER *prov,\n                                 const
      char *algorithm,\n                                 const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_cast.c
    functionUses: 231
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_cast.c:43,1
    - Dst: CAST_set_key
      Src: /src/openssl/crypto/evp/e_cast.c:47,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_cast.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: cast_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_cast.c
    functionUses: 0
    functionsReached:
    - CAST_set_key
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int cast_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                        const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nm
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 23
    functionName: IMPLEMENT_LEGACY_EVP_MD_METH
    functionSourceFile: /src/openssl/crypto/evp/legacy_meth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_LEGACY_EVP_MD_METH(nm, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nm
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: IMPLEMENT_LEGACY_EVP_MD_METH_LC
    functionSourceFile: /src/openssl/crypto/evp/legacy_meth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_LEGACY_EVP_MD_METH_LC(nm, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - init
    - ','
    - update
    - ','
    - final
    - ','
    - ctrl
    - ','
    - blksz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: LEGACY_EVP_MD_METH_TABLE
    functionSourceFile: /src/openssl/crypto/evp/legacy_meth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEGACY_EVP_MD_METH_TABLE(init, update, final, ctrl, blksz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: conv_bin2ascii
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: conv_bin2ascii(a, table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: conv_bin2ascii
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: conv_bin2ascii(a, table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: B64_NOT_BASE64
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B64_NOT_BASE64(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: B64_BASE64
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B64_BASE64(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - table
    argTypes:
    - unsigned char
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: conv_ascii2bin
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char conv_ascii2bin(unsigned char a, const unsigned char *table)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - table
    argTypes:
    - unsigned char
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: conv_ascii2bin
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char conv_ascii2bin(unsigned char a, const unsigned char *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/encode.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: EVP_ENCODE_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_ENCODE_CTX
    signature: EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/encode.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: EVP_ENCODE_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/encode.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dctx
    - sctx
    argTypes:
    - EVP_ENCODE_CTX*
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: EVP_ENCODE_CTX_copy
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, const EVP_ENCODE_CTX
      *sctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: EVP_ENCODE_CTX_num
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: evp_encode_ctx_set_flags
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void evp_encode_ctx_set_flags(EVP_ENCODE_CTX *ctx, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: EVP_EncodeInit
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_EncodeInit(EVP_ENCODE_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/encode.c:171,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/encode.c:173,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/encode.c:179,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:182,1
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:193,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/encode.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 215
    functionName: EVP_EncodeUpdate
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - evp_encodeblock_int
    - memcpy
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: "int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int
      *outl,\n                      const unsigned char *in, int inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: EVP_EncodeFinal
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - evp_encodeblock_int
    linkageType: ''
    returnType: void
    signature: void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: conv_bin2ascii
      Src: /src/openssl/crypto/evp/encode.c:247,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/crypto/evp/encode.c:248,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/crypto/evp/encode.c:249,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/crypto/evp/encode.c:250,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/crypto/evp/encode.c:256,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/crypto/evp/encode.c:257,1
    - Dst: conv_bin2ascii
      Src: /src/openssl/crypto/evp/encode.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - t
    - f
    - dlen
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 267
    functionName: evp_encodeblock_int
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 2
    functionsReached:
    - conv_bin2ascii
    linkageType: ''
    returnType: int
    signature: "int evp_encodeblock_int(EVP_ENCODE_CTX *ctx, unsigned char *t,\n                               const
      unsigned char *f, int dlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_encodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - f
    - dlen
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: EVP_EncodeBlock
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - evp_encodeblock_int
    linkageType: ''
    returnType: int
    signature: int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int dlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_ENCODE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: EVP_DecodeInit
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_DecodeInit(EVP_ENCODE_CTX *ctx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:332,1
    - Dst: B64_BASE64
      Src: /src/openssl/crypto/evp/encode.c:340,1
    - Dst: B64_BASE64
      Src: /src/openssl/crypto/evp/encode.c:357,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/encode.c:367,1
    - Dst: evp_decodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:372,1
    - Dst: evp_decodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:391,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 88
    argCount: 5
    argNames:
    - ctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 411
    functionName: EVP_DecodeUpdate
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - B64_BASE64
    - OPENSSL_assert
    - conv_ascii2bin
    - evp_decodeblock_int
    linkageType: ''
    returnType: int
    signature: "int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int
      *outl,\n                     const unsigned char *in, int inl)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:430,1
    - Dst: B64_NOT_BASE64
      Src: /src/openssl/crypto/evp/encode.c:439,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:439,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:449,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:450,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:451,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:452,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:465,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:466,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:467,1
    - Dst: conv_ascii2bin
      Src: /src/openssl/crypto/evp/encode.c:468,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 5
    argNames:
    - ctx
    - t
    - f
    - n
    - eof
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 495
    functionName: evp_decodeblock_int
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - conv_ascii2bin
    - B64_NOT_BASE64
    linkageType: ''
    returnType: int
    signature: "int evp_decodeblock_int(EVP_ENCODE_CTX *ctx, unsigned char *t,\n                               const
      unsigned char *f, int n,\n                               int eof)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_decodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - f
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: EVP_DecodeBlock
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 0
    functionsReached:
    - evp_decodeblock_int
    linkageType: ''
    returnType: int
    signature: int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_decodeblock_int
      Src: /src/openssl/crypto/evp/encode.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - out
    - outl
    argTypes:
    - EVP_ENCODE_CTX*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 516
    functionName: EVP_DecodeFinal
    functionSourceFile: /src/openssl/crypto/evp/encode.c
    functionUses: 1
    functionsReached:
    - evp_decodeblock_int
    linkageType: ''
    returnType: int
    signature: int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: EVP_whirlpool
    functionSourceFile: /src/openssl/crypto/evp/legacy_wp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_whirlpool(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/evp/evp_cnf.c:25,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/evp/evp_cnf.c:28,1
    - Dst: CONF_imodule_get_name
      Src: /src/openssl/crypto/evp/evp_cnf.c:29,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/evp/evp_cnf.c:29,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/evp/evp_cnf.c:31,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/evp/evp_cnf.c:32,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_cnf.c:33,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/evp/evp_cnf.c:36,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/evp/evp_cnf.c:37,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/evp_cnf.c:38,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/evp/evp_cnf.c:42,1
    - Dst: evp_default_properties_enable_fips_int
      Src: /src/openssl/crypto/evp/evp_cnf.c:49,1
    - Dst: NCONF_get0_libctx
      Src: /src/openssl/crypto/evp/evp_cnf.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_cnf.c:51,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/evp_cnf.c:54,1
    - Dst: evp_set_default_properties_int
      Src: /src/openssl/crypto/evp/evp_cnf.c:55,1
    - Dst: NCONF_get0_libctx
      Src: /src/openssl/crypto/evp/evp_cnf.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_cnf.c:57,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_cnf.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 21
    functionDepth: 11
    functionLinenumber: 21
    functionLinenumberEnd: 68
    functionName: alg_module_init
    functionSourceFile: /src/openssl/crypto/evp/evp_cnf.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_bool
    - ERR_raise
    - evp_default_properties_enable_fips_int
    - sk_CONF_VALUE_num
    - NCONF_get0_libctx
    - OSSL_TRACE2
    - ERR_raise_data
    - NCONF_get_section
    - STACK_OF
    - CONF_imodule_get_value
    - evp_set_default_properties_int
    - CONF_imodule_get_name
    - strcmp
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int alg_module_init(CONF_IMODULE *md, const CONF *cnf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/evp/evp_cnf.c:72,1
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/evp/evp_cnf.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: EVP_add_alg_module
    functionSourceFile: /src/openssl/crypto/evp/evp_cnf.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: void EVP_add_alg_module(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: init
    functionSourceFile: /src/openssl/crypto/evp/m_null.c
    functionUses: 209
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: update
    functionSourceFile: /src/openssl/crypto/evp/m_null.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int update(EVP_MD_CTX *ctx, const void *data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: final
    functionSourceFile: /src/openssl/crypto/evp/m_null.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: EVP_md_null
    functionSourceFile: /src/openssl/crypto/evp/m_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_md_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: evp_keymgmt_free
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: void
    signature: void evp_keymgmt_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: evp_keymgmt_up_ref
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT_up_ref
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_up_ref(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:34,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:36,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: keymgmt_new
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: void
    signature: void *keymgmt_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_name2type
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - keytype
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: help_get_legacy_alg_type_from_keymgmt
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - evp_pkey_name2type
    linkageType: ''
    returnType: void
    signature: "void help_get_legacy_alg_type_from_keymgmt(const char *keytype,\n
      \                                                 void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: get_legacy_alg_type_from_keymgmt
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT_names_do_all
    linkageType: ''
    returnType: int
    signature: int get_legacy_alg_type_from_keymgmt(const EVP_KEYMGMT *keymgmt)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: keymgmt_new
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:75,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:79,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:80,1
    - Dst: OSSL_FUNC_keymgmt_new
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:89,1
    - Dst: OSSL_FUNC_keymgmt_gen_init
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:93,1
    - Dst: OSSL_FUNC_keymgmt_gen_set_template
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:98,1
    - Dst: OSSL_FUNC_keymgmt_gen_set_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:104,1
    - Dst: OSSL_FUNC_keymgmt_gen_settable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:111,1
    - Dst: OSSL_FUNC_keymgmt_gen_get_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:118,1
    - Dst: OSSL_FUNC_keymgmt_gen_gettable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:125,1
    - Dst: OSSL_FUNC_keymgmt_gen
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:130,1
    - Dst: OSSL_FUNC_keymgmt_gen_cleanup
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:134,1
    - Dst: OSSL_FUNC_keymgmt_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:138,1
    - Dst: OSSL_FUNC_keymgmt_load
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:142,1
    - Dst: OSSL_FUNC_keymgmt_get_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:147,1
    - Dst: OSSL_FUNC_keymgmt_gettable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:154,1
    - Dst: OSSL_FUNC_keymgmt_set_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:160,1
    - Dst: OSSL_FUNC_keymgmt_settable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:167,1
    - Dst: OSSL_FUNC_keymgmt_query_operation_name
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:173,1
    - Dst: OSSL_FUNC_keymgmt_has
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:177,1
    - Dst: OSSL_FUNC_keymgmt_dup
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:181,1
    - Dst: OSSL_FUNC_keymgmt_validate
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:185,1
    - Dst: OSSL_FUNC_keymgmt_match
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:189,1
    - Dst: OSSL_FUNC_keymgmt_import
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:194,1
    - Dst: OSSL_FUNC_keymgmt_import_types
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:202,1
    - Dst: OSSL_FUNC_keymgmt_import_types_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:210,1
    - Dst: OSSL_FUNC_keymgmt_export
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:216,1
    - Dst: OSSL_FUNC_keymgmt_export_types
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:224,1
    - Dst: OSSL_FUNC_keymgmt_export_types_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:232,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:260,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:265,1
    - Dst: get_legacy_alg_type_from_keymgmt
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:268,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 163
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 272
    functionName: keymgmt_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_export_types_ex
    - ERR_raise
    - OSSL_FUNC_keymgmt_set_params
    - OSSL_FUNC_keymgmt_gen_get_params
    - OSSL_FUNC_keymgmt_match
    - OSSL_FUNC_keymgmt_gen_gettable_params
    - OSSL_FUNC_keymgmt_dup
    - OSSL_FUNC_keymgmt_gettable_params
    - OSSL_FUNC_keymgmt_gen_settable_params
    - OSSL_FUNC_keymgmt_free
    - ossl_provider_up_ref
    - OSSL_FUNC_keymgmt_import_types_ex
    - OSSL_FUNC_keymgmt_load
    - OSSL_FUNC_keymgmt_import
    - OSSL_FUNC_keymgmt_gen_cleanup
    - ossl_algorithm_get1_first_name
    - get_legacy_alg_type_from_keymgmt
    - OSSL_FUNC_keymgmt_export
    - OSSL_FUNC_keymgmt_import_types
    - OSSL_FUNC_keymgmt_validate
    - OSSL_FUNC_keymgmt_get_params
    - OSSL_FUNC_keymgmt_settable_params
    - OSSL_FUNC_keymgmt_gen_set_params
    - OSSL_FUNC_keymgmt_gen
    - OSSL_FUNC_keymgmt_query_operation_name
    - OSSL_FUNC_keymgmt_export_types
    - OSSL_FUNC_keymgmt_gen_set_template
    - OSSL_FUNC_keymgmt_has
    - OSSL_FUNC_keymgmt_new
    - keymgmt_new
    - EVP_KEYMGMT_free
    - OSSL_FUNC_keymgmt_gen_init
    linkageType: ''
    returnType: void
    signature: "void *keymgmt_from_algorithm(int name_id,\n                                    const
      OSSL_ALGORITHM *algodef,\n                                    OSSL_PROVIDER
      *prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - name
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 9
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: evp_keymgmt_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 5
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_KEYMGMT
    signature: "EVP_KEYMGMT *evp_keymgmt_fetch_from_prov(OSSL_PROVIDER *prov,\n                                         const
      char *name,\n                                         const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 9
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: EVP_KEYMGMT_fetch
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_KEYMGMT
    signature: "EVP_KEYMGMT *EVP_KEYMGMT_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,\n
      \                              const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: EVP_KEYMGMT_up_ref
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 5
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_KEYMGMT_up_ref(EVP_KEYMGMT *keymgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:312,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:313,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:314,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: EVP_KEYMGMT_free
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 13
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void EVP_KEYMGMT_free(EVP_KEYMGMT *keymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: EVP_KEYMGMT_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_KEYMGMT_get0_provider(const EVP_KEYMGMT *keymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: evp_keymgmt_get_number
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_get_number(const EVP_KEYMGMT *keymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: evp_keymgmt_get_legacy_alg
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_get_legacy_alg(const EVP_KEYMGMT *keymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: EVP_KEYMGMT_get0_description
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_KEYMGMT_get0_description(const EVP_KEYMGMT *keymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: EVP_KEYMGMT_get0_name
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_KEYMGMT_get0_name(const EVP_KEYMGMT *keymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - keymgmt
    - name
    argTypes:
    - EVP_KEYMGMT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 8
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: EVP_KEYMGMT_is_a
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 5
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_KEYMGMT_is_a(const EVP_KEYMGMT *keymgmt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 9
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: EVP_KEYMGMT_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_KEYMGMT_do_all_provided(OSSL_LIB_CTX *libctx,\n                                 void
      (*fn)(EVP_KEYMGMT *keymgmt, void *arg),\n                                 void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keymgmt
    - data
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 8
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: EVP_KEYMGMT_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 3
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_KEYMGMT_names_do_all(const EVP_KEYMGMT *keymgmt,\n                             void
      (*fn)(const char *name, void *data),\n                             void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:375,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:375,1
    - Dst: EVP_KEYMGMT*::new
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 385
    functionName: evp_keymgmt_newdata
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 2
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT*::new
    linkageType: ''
    returnType: void
    signature: void *evp_keymgmt_newdata(const EVP_KEYMGMT *keymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::free
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keymgmt
    - keydata
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: evp_keymgmt_freedata
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 2
    functionsReached:
    - EVP_KEYMGMT*::free
    linkageType: ''
    returnType: void
    signature: void evp_keymgmt_freedata(const EVP_KEYMGMT *keymgmt, void *keydata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:396,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:396,1
    - Dst: EVP_KEYMGMT*::gen_init
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - selection
    - params
    argTypes:
    - EVP_KEYMGMT*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: evp_keymgmt_gen_init
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::gen_init
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: void
    signature: "void *evp_keymgmt_gen_init(const EVP_KEYMGMT *keymgmt, int selection,\n
      \                          const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::gen_set_template
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - genctx
    - templ
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 415
    functionName: evp_keymgmt_gen_set_template
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::gen_set_template
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_gen_set_template(const EVP_KEYMGMT *keymgmt, void
      *genctx,\n                                 void *templ)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::gen_set_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - genctx
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: evp_keymgmt_gen_set_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::gen_set_params
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_gen_set_params(const EVP_KEYMGMT *keymgmt, void *genctx,\n
      \                              const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:427,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:427,1
    - Dst: EVP_KEYMGMT*::gen_settable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: EVP_KEYMGMT_gen_settable_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::gen_settable_params
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KEYMGMT_gen_settable_params(const EVP_KEYMGMT *keymgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::gen_get_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - genctx
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: evp_keymgmt_gen_get_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::gen_get_params
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_gen_get_params(const EVP_KEYMGMT *keymgmt, void *genctx,\n
      \                              OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:444,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:444,1
    - Dst: EVP_KEYMGMT*::gen_gettable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: EVP_KEYMGMT_gen_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT*::gen_gettable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KEYMGMT_gen_gettable_params(const EVP_KEYMGMT *keymgmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:458,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:463,1
    - Dst: EVP_KEYMGMT*::gen
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:464,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:465,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:466,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - keymgmt
    - genctx
    - cb
    - cbarg
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 470
    functionName: evp_keymgmt_gen
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ERR_set_mark
    - ERR_count_to_mark
    - ERR_raise_data
    - ERR_clear_last_mark
    - EVP_KEYMGMT*::gen
    linkageType: ''
    returnType: void
    signature: "void *evp_keymgmt_gen(const EVP_KEYMGMT *keymgmt, void *genctx,\n
      \                     OSSL_CALLBACK *cb, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::gen_cleanup
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - keymgmt
    - genctx
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: evp_keymgmt_gen_cleanup
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::gen_cleanup
    linkageType: ''
    returnType: void
    signature: void evp_keymgmt_gen_cleanup(const EVP_KEYMGMT *keymgmt, void *genctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: evp_keymgmt_has_load
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_has_load(const EVP_KEYMGMT *keymgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_has_load
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:486,1
    - Dst: EVP_KEYMGMT*::load
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - objref
    - objref_sz
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: evp_keymgmt_load
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - evp_keymgmt_has_load
    - EVP_KEYMGMT*::load
    linkageType: ''
    returnType: void
    signature: "void *evp_keymgmt_load(const EVP_KEYMGMT *keymgmt,\n                       const
      void *objref, size_t objref_sz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::get_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: evp_keymgmt_get_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::get_params
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_get_params(const EVP_KEYMGMT *keymgmt, void *keydata,\n
      \                          OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:501,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:501,1
    - Dst: EVP_KEYMGMT*::gettable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: EVP_KEYMGMT_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::gettable_params
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KEYMGMT_gettable_params(const EVP_KEYMGMT *keymgmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::set_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 514
    functionName: evp_keymgmt_set_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::set_params
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_set_params(const EVP_KEYMGMT *keymgmt, void *keydata,\n
      \                          const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:518,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:518,1
    - Dst: EVP_KEYMGMT*::settable_params
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: EVP_KEYMGMT_settable_params
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT*::settable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KEYMGMT_settable_params(const EVP_KEYMGMT *keymgmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::has
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keymgmt
    - keydata
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: evp_keymgmt_has
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::has
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_has(const EVP_KEYMGMT *keymgmt, void *keydata, int
      selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::validate
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - keymgmt
    - keydata
    - selection
    - checktype
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: evp_keymgmt_validate
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::validate
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_validate(const EVP_KEYMGMT *keymgmt, void *keydata,\n
      \                        int selection, int checktype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::match
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - keymgmt
    - keydata1
    - keydata2
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: evp_keymgmt_match
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::match
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_match(const EVP_KEYMGMT *keymgmt,\n                      const
      void *keydata1, const void *keydata2,\n                      int selection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::import
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - keymgmt
    - keydata
    - selection
    - params
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: evp_keymgmt_import
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::import
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_import(const EVP_KEYMGMT *keymgmt, void *keydata,\n
      \                      int selection, const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:561,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:561,1
    - Dst: EVP_KEYMGMT*::import_types_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:564,1
    - Dst: EVP_KEYMGMT*::import_types
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - keymgmt
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: evp_keymgmt_import_types
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT*::import_types
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT*::import_types_ex
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *evp_keymgmt_import_types(const EVP_KEYMGMT *keymgmt,\n
      \                                          int selection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::export
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - keymgmt
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: evp_keymgmt_export
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::export
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_export(const EVP_KEYMGMT *keymgmt, void *keydata,\n
      \                      int selection, OSSL_CALLBACK *param_cb, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:581,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:581,1
    - Dst: EVP_KEYMGMT*::export_types_ex
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:584,1
    - Dst: EVP_KEYMGMT*::export_types
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - keymgmt
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 588
    functionName: evp_keymgmt_export_types
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT*::export_types
    - EVP_KEYMGMT*::export_types_ex
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *evp_keymgmt_export_types(const EVP_KEYMGMT *keymgmt,\n
      \                                          int selection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::dup
      Src: /src/openssl/crypto/evp/keymgmt_meth.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - keymgmt
    - keydata_from
    - selection
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: evp_keymgmt_dup
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_meth.c
    functionUses: 1
    functionsReached:
    - EVP_KEYMGMT*::dup
    linkageType: ''
    returnType: void
    signature: "void *evp_keymgmt_dup(const EVP_KEYMGMT *keymgmt, const void *keydata_from,\n
      \                     int selection)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/openssl/crypto/evp/evp_key.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: EVP_set_pw_prompt
    functionSourceFile: /src/openssl/crypto/evp/evp_key.c
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void EVP_set_pw_prompt(const char *prompt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: EVP_get_pw_prompt
    functionSourceFile: /src/openssl/crypto/evp/evp_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_get_pw_prompt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_read_pw_string_min
      Src: /src/openssl/crypto/evp/evp_key.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - len
    - prompt
    - verify
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: EVP_read_pw_string
    functionSourceFile: /src/openssl/crypto/evp/evp_key.c
    functionUses: 0
    functionsReached:
    - EVP_read_pw_string_min
    linkageType: ''
    returnType: int
    signature: int EVP_read_pw_string(char *buf, int len, const char *prompt, int
      verify)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UI_new
      Src: /src/openssl/crypto/evp/evp_key.c:61,1
    - Dst: UI_add_input_string
      Src: /src/openssl/crypto/evp/evp_key.c:64,1
    - Dst: UI_add_verify_string
      Src: /src/openssl/crypto/evp/evp_key.c:67,1
    - Dst: UI_process
      Src: /src/openssl/crypto/evp/evp_key.c:71,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/evp_key.c:72,1
    - Dst: UI_free
      Src: /src/openssl/crypto/evp/evp_key.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - buf
    - min
    - len
    - prompt
    - verify
    argTypes:
    - char*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 76
    functionName: EVP_read_pw_string_min
    functionSourceFile: /src/openssl/crypto/evp/evp_key.c
    functionUses: 2
    functionsReached:
    - UI_free
    - UI_process
    - UI_new
    - OPENSSL_cleanse
    - UI_add_input_string
    - UI_add_verify_string
    linkageType: ''
    returnType: int
    signature: "int EVP_read_pw_string_min(char *buf, int min, int len, const char
      *prompt,\n                           int verify)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/evp/evp_key.c:88,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/evp_key.c:89,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_key.c:90,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_key.c:91,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/evp_key.c:96,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/evp_key.c:100,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/evp_key.c:103,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/evp_key.c:105,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/evp_key.c:108,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/evp_key.c:110,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/evp_key.c:114,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/evp_key.c:116,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/evp_key.c:118,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/evp/evp_key.c:149,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/evp_key.c:151,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/evp_key.c:152,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 74
    argCount: 8
    argNames:
    - type
    - md
    - salt
    - data
    - datal
    - count
    - key
    - iv
    argTypes:
    - EVP_CIPHER*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - int
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 154
    functionName: EVP_BytesToKey
    functionSourceFile: /src/openssl/crypto/evp/evp_key.c
    functionUses: 2
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - OPENSSL_assert
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - EVP_CIPHER_get_key_length
    - OPENSSL_cleanse
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: "int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,\n                   const
      unsigned char *salt, const unsigned char *data,\n                   int datal,
      int count, unsigned char *key,\n                   unsigned char *iv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_add
      Src: /src/openssl/crypto/evp/names.c:26,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/names.c:26,1
    - Dst: OBJ_NAME_add
      Src: /src/openssl/crypto/evp/names.c:30,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/evp/names.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: EVP_add_cipher
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 1
    functionsReached:
    - OBJ_NAME_add
    - OBJ_nid2sn
    - OBJ_nid2ln
    linkageType: ''
    returnType: int
    signature: int EVP_add_cipher(const EVP_CIPHER *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/names.c:40,1
    - Dst: OBJ_NAME_add
      Src: /src/openssl/crypto/evp/names.c:41,1
    - Dst: OBJ_NAME_add
      Src: /src/openssl/crypto/evp/names.c:44,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/evp/names.c:44,1
    - Dst: OBJ_NAME_add
      Src: /src/openssl/crypto/evp/names.c:50,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/names.c:50,1
    - Dst: OBJ_NAME_add
      Src: /src/openssl/crypto/evp/names.c:54,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/evp/names.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: EVP_add_digest
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 1
    functionsReached:
    - OBJ_NAME_add
    - OBJ_nid2sn
    - OBJ_nid2ln
    linkageType: ''
    returnType: int
    signature: int EVP_add_digest(const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/openssl/crypto/evp/names.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: cipher_from_name
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_get
    linkageType: ''
    returnType: void
    signature: void cipher_from_name(const char *name, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_cipherbyname_ex
      Src: /src/openssl/crypto/evp/names.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: EVP_get_cipherbyname
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 3
    functionsReached:
    - evp_get_cipherbyname_ex
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_get_cipherbyname(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/evp/names.c:83,1
    - Dst: OBJ_NAME_get
      Src: /src/openssl/crypto/evp/names.c:86,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/names.c:97,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/names.c:99,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/names.c:107,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/evp/names.c:108,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/evp/names.c:109,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/names.c:110,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/evp/names.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 75
    functionDepth: 7
    functionLinenumber: 75
    functionLinenumberEnd: 118
    functionName: evp_get_cipherbyname_ex
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 2
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - EVP_CIPHER_fetch
    - ossl_namemap_stored
    - EVP_CIPHER_free
    - OPENSSL_init_crypto
    - OBJ_NAME_get
    - ossl_namemap_name2num
    - ossl_namemap_doall_names
    linkageType: ''
    returnType: EVP_CIPHER
    signature: "EVP_CIPHER *evp_get_cipherbyname_ex(OSSL_LIB_CTX *libctx,\n                                          const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/openssl/crypto/evp/names.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: digest_from_name
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_get
    linkageType: ''
    returnType: void
    signature: void digest_from_name(const char *name, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_get_digestbyname_ex
      Src: /src/openssl/crypto/evp/names.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: EVP_get_digestbyname
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 3
    functionsReached:
    - evp_get_digestbyname_ex
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_get_digestbyname(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/evp/names.c:142,1
    - Dst: OBJ_NAME_get
      Src: /src/openssl/crypto/evp/names.c:145,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/evp/names.c:156,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/evp/names.c:158,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/evp/names.c:166,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/names.c:167,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/names.c:168,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/evp/names.c:169,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/evp/names.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 135
    functionDepth: 7
    functionLinenumber: 135
    functionLinenumberEnd: 177
    functionName: evp_get_digestbyname_ex
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 4
    functionsReached:
    - EVP_MD_free
    - ERR_pop_to_mark
    - ERR_set_mark
    - ossl_namemap_stored
    - OPENSSL_init_crypto
    - EVP_MD_fetch
    - OBJ_NAME_get
    - ossl_namemap_name2num
    - ossl_namemap_doall_names
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *evp_get_digestbyname_ex(OSSL_LIB_CTX *libctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_cleanup
      Src: /src/openssl/crypto/evp/names.c:181,1
    - Dst: OBJ_NAME_cleanup
      Src: /src/openssl/crypto/evp/names.c:182,1
    - Dst: OBJ_NAME_cleanup
      Src: /src/openssl/crypto/evp/names.c:183,1
    - Dst: OBJ_NAME_cleanup
      Src: /src/openssl/crypto/evp/names.c:189,1
    - Dst: EVP_PBE_cleanup
      Src: /src/openssl/crypto/evp/names.c:191,1
    - Dst: OBJ_sigid_free
      Src: /src/openssl/crypto/evp/names.c:192,1
    - Dst: evp_app_cleanup_int
      Src: /src/openssl/crypto/evp/names.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: evp_cleanup_int
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 1
    functionsReached:
    - EVP_PBE_cleanup
    - OBJ_sigid_free
    - OBJ_NAME_cleanup
    - evp_app_cleanup_int
    linkageType: ''
    returnType: void
    signature: void evp_cleanup_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct doall_cipher*::fn
      Src: /src/openssl/crypto/evp/names.c:207,1
    - Dst: struct doall_cipher*::fn
      Src: /src/openssl/crypto/evp/names.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nm
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: do_all_cipher_fn
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 0
    functionsReached:
    - struct doall_cipher*::fn
    linkageType: ''
    returnType: void
    signature: void do_all_cipher_fn(const OBJ_NAME *nm, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/evp/names.c:219,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/evp/names.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: EVP_CIPHER_do_all
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_do_all
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: "void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph,\n                                   const
      char *from, const char *to, void *x),\n                       void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/evp/names.c:233,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/openssl/crypto/evp/names.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: EVP_CIPHER_do_all_sorted
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_do_all_sorted
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: "void EVP_CIPHER_do_all_sorted(void (*fn) (const EVP_CIPHER *ciph,\n
      \                                         const char *from, const char *to,\n
      \                                         void *x), void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct doall_md*::fn
      Src: /src/openssl/crypto/evp/names.c:250,1
    - Dst: struct doall_md*::fn
      Src: /src/openssl/crypto/evp/names.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - nm
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: do_all_md_fn
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 0
    functionsReached:
    - struct doall_md*::fn
    linkageType: ''
    returnType: void
    signature: void do_all_md_fn(const OBJ_NAME *nm, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/evp/names.c:262,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/evp/names.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: EVP_MD_do_all
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_do_all
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: "void EVP_MD_do_all(void (*fn) (const EVP_MD *md,\n                               const
      char *from, const char *to, void *x),\n                   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/evp/names.c:275,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/openssl/crypto/evp/names.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: EVP_MD_do_all_sorted
    functionSourceFile: /src/openssl/crypto/evp/names.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_do_all_sorted
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: "void EVP_MD_do_all_sorted(void (*fn) (const EVP_MD *md,\n                                      const
      char *from, const char *to,\n                                      void *x),
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: 234
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:48,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:49,1
    - Dst: RC4_set_key
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:54,1
    - Dst: MD5_Init
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - inkey
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: rc4_hmac_md5_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - MD5_Init
    - RC4_set_key
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int rc4_hmac_md5_init_key(EVP_CIPHER_CTX *ctx,\n                                 const
      unsigned char *inkey,\n                                 const unsigned char
      *iv, int enc)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:79,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:91,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:101,1
    - Dst: RC4
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:102,1
    - Dst: rc4_md5_enc
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:104,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:118,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:122,1
    - Dst: MD5_Final
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:125,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:127,1
    - Dst: MD5_Final
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:128,1
    - Dst: RC4
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:130,1
    - Dst: RC4
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:132,1
    - Dst: RC4
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:145,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:146,1
    - Dst: rc4_md5_enc
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:148,1
    - Dst: RC4
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:164,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:166,1
    - Dst: MD5_Final
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:169,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:171,1
    - Dst: MD5_Final
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:172,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:174,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:177,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 184
    functionName: rc4_hmac_md5_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - RC4
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - data
    - CRYPTO_memcmp
    - MD5_Update
    - rc4_md5_enc
    - MD5_Final
    linkageType: ''
    returnType: int
    signature: "int rc4_hmac_md5_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                              const unsigned char *in, size_t len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:189,1
    - Dst: memset
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:197,1
    - Dst: MD5_Init
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:200,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:201,1
    - Dst: MD5_Final
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:202,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:204,1
    - Dst: MD5_Init
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:209,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:210,1
    - Dst: MD5_Init
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:214,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:215,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:217,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:231,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/evp/e_rc4_hmac_md5.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 247
    functionName: rc4_hmac_md5_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - memset
    - MD5_Init
    - memcpy
    - EVP_CIPHER_CTX_is_encrypting
    - data
    - MD5_Update
    - MD5_Final
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int rc4_hmac_md5_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg,\n                             void
      *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: EVP_rc4_hmac_md5
    functionSourceFile: /src/openssl/crypto/evp/e_rc4_hmac_md5.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_rc4_hmac_md5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: EVP_enc_null
    functionSourceFile: /src/openssl/crypto/evp/e_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_enc_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: null_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                        const unsigned char *iv, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_null.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: null_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_null.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int null_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                       const
      unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - func
    - ','
    - errfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: PARAM_CHECK
    functionSourceFile: /src/openssl/crypto/evp/evp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_CHECK(obj, func, errfunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - func
    - ','
    - type
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: PARAM_FUNC
    functionSourceFile: /src/openssl/crypto/evp/evp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_FUNC(name, func, type, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - func
    - ','
    - type
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: PARAM_CTX_FUNC
    functionSourceFile: /src/openssl/crypto/evp/evp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_CTX_FUNC(name, func, type, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - type
    - ','
    - getname
    - ','
    - getfunc
    - ','
    - getctxname
    - ','
    - getctxfunc
    - ','
    - setctxname
    - ','
    - setctxfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: PARAM_FUNCTIONS
    functionSourceFile: /src/openssl/crypto/evp/evp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "PARAM_FUNCTIONS(type,                                                  \\\n
      \                       getname, getfunc,                                      \\\n
      \                       getctxname, getctxfunc,                                \\\n
      \                       setctxname, setctxfunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_utils.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: geterr
    functionSourceFile: /src/openssl/crypto/evp/evp_utils.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void geterr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_utils.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: seterr
    functionSourceFile: /src/openssl/crypto/evp/evp_utils.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void seterr(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/kdf_lib.c:30,1
    - Dst: EVP_KDF*::newctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:32,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:32,1
    - Dst: EVP_KDF_up_ref
      Src: /src/openssl/crypto/evp/kdf_lib.c:33,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_lib.c:34,1
    - Dst: EVP_KDF*::freectx
      Src: /src/openssl/crypto/evp/kdf_lib.c:36,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: EVP_KDF_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 6
    functionsReached:
    - EVP_KDF_up_ref
    - OPENSSL_zalloc
    - ERR_raise
    - EVP_KDF*::freectx
    - ossl_provider_ctx
    - EVP_KDF*::newctx
    - OPENSSL_free
    linkageType: ''
    returnType: EVP_KDF_CTX
    signature: EVP_KDF_CTX *EVP_KDF_CTX_new(EVP_KDF *kdf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX*::meth::freectx
      Src: /src/openssl/crypto/evp/kdf_lib.c:49,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:51,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: EVP_KDF_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 9
    functionsReached:
    - EVP_KDF_CTX*::meth::freectx
    - EVP_KDF_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void EVP_KDF_CTX_free(EVP_KDF_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/kdf_lib.c:62,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/kdf_lib.c:66,1
    - Dst: EVP_KDF_up_ref
      Src: /src/openssl/crypto/evp/kdf_lib.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kdf_lib.c:68,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:69,1
    - Dst: EVP_KDF_CTX*::meth::dupctx
      Src: /src/openssl/crypto/evp/kdf_lib.c:73,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/evp/kdf_lib.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - src
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: EVP_KDF_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_up_ref
    - ERR_raise
    - EVP_KDF_CTX_free
    - memcpy
    - OPENSSL_free
    - EVP_KDF_CTX*::meth::dupctx
    - OPENSSL_malloc
    linkageType: ''
    returnType: EVP_KDF_CTX
    signature: EVP_KDF_CTX *EVP_KDF_CTX_dup(const EVP_KDF_CTX *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: evp_kdf_get_number
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_kdf_get_number(const EVP_KDF *kdf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: EVP_KDF_get0_name
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_KDF_get0_name(const EVP_KDF *kdf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: EVP_KDF_get0_description
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_KDF_get0_description(const EVP_KDF *kdf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/kdf_lib.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - kdf
    - name
    argTypes:
    - EVP_KDF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 8
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: EVP_KDF_is_a
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_KDF_is_a(const EVP_KDF *kdf, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: EVP_KDF_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_KDF_get0_provider(const EVP_KDF *kdf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: EVP_KDF_CTX_kdf
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_KDF
    signature: EVP_KDF *EVP_KDF_CTX_kdf(EVP_KDF_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX*::meth::reset
      Src: /src/openssl/crypto/evp/kdf_lib.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: EVP_KDF_CTX_reset
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX*::meth::reset
    linkageType: ''
    returnType: void
    signature: void EVP_KDF_CTX_reset(EVP_KDF_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/kdf_lib.c:128,1
    - Dst: EVP_KDF_CTX*::meth::get_ctx_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:130,1
    - Dst: EVP_KDF_CTX*::meth::get_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_KDF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: EVP_KDF_CTX_get_kdf_size
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX*::meth::get_params
    - OSSL_PARAM_construct_size_t
    - EVP_KDF_CTX*::meth::get_ctx_params
    linkageType: ''
    returnType: size_t
    signature: size_t EVP_KDF_CTX_get_kdf_size(EVP_KDF_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX*::meth::derive
      Src: /src/openssl/crypto/evp/kdf_lib.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - key
    - keylen
    - params
    argTypes:
    - EVP_KDF_CTX*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: EVP_KDF_derive
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 6
    functionsReached:
    - EVP_KDF_CTX*::meth::derive
    linkageType: ''
    returnType: int
    signature: "int EVP_KDF_derive(EVP_KDF_CTX *ctx, unsigned char *key, size_t keylen,\n
      \                  const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF*::get_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kdf
    - params
    argTypes:
    - EVP_KDF*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: EVP_KDF_get_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KDF*::get_params
    linkageType: ''
    returnType: int
    signature: int EVP_KDF_get_params(EVP_KDF *kdf, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX*::meth::get_ctx_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_KDF_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: EVP_KDF_CTX_get_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX*::meth::get_ctx_params
    linkageType: ''
    returnType: int
    signature: int EVP_KDF_CTX_get_params(EVP_KDF_CTX *ctx, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX*::meth::set_ctx_params
      Src: /src/openssl/crypto/evp/kdf_lib.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_KDF_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: EVP_KDF_CTX_set_params
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 2
    functionsReached:
    - EVP_KDF_CTX*::meth::set_ctx_params
    linkageType: ''
    returnType: int
    signature: int EVP_KDF_CTX_set_params(EVP_KDF_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/kdf_lib.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kdf
    - data
    argTypes:
    - EVP_KDF*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 8
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: EVP_KDF_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/kdf_lib.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_KDF_names_do_all(const EVP_KDF *kdf,\n                         void
      (*fn)(const char *name, void *data),\n                         void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 237
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_camellia.c:56,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_camellia.c:58,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_camellia.c:59,1
    - Dst: cmll_t4_set_key
      Src: /src/openssl/crypto/evp/e_camellia.c:61,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_camellia.c:107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 112
    functionName: cmll_t4_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - ERR_raise
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_CTX_get_key_length
    - cmll_t4_set_key
    linkageType: ''
    returnType: int
    signature: "int cmll_t4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 164
    functionName: BLOCK_CIPHER_generic
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: BLOCK_CIPHER_generic
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: BLOCK_CIPHER_generic_pack
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic_pack(nid,keylen,flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_camellia.c:196,1
    - Dst: Camellia_set_key
      Src: /src/openssl/crypto/evp/e_camellia.c:198,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_camellia.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_camellia.c:201,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_camellia.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 218
    functionName: camellia_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_CTX_get_mode
    - Camellia_set_key
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int camellia_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                            const unsigned char *iv, int enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_camellia.c:223,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_camellia.c:227,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_camellia.c:228,1
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:229,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: camellia_cbc_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int camellia_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                              const unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/e_camellia.c:239,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_camellia.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: camellia_ecb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_block_size
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int camellia_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                              const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_camellia.c:255,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_camellia.c:257,1
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:258,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_camellia.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: camellia_ofb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_set_num
    - EVP_C_DATA
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: int
    signature: "int camellia_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                              const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_camellia.c:266,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_camellia.c:268,1
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:269,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_camellia.c:270,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_camellia.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: camellia_cfb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_num
    - EVP_C_DATA
    - CRYPTO_cfb128_encrypt
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int camellia_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                              const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_camellia.c:278,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_camellia.c:280,1
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:281,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_camellia.c:282,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_camellia.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: camellia_cfb8_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_cfb128_8_encrypt
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int camellia_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_camellia.c:290,1
    - Dst: EVP_CIPHER_CTX_test_flags
      Src: /src/openssl/crypto/evp/e_camellia.c:292,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_camellia.c:293,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:294,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_camellia.c:295,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_camellia.c:297,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_camellia.c:302,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:303,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_camellia.c:305,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_camellia.c:307,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_camellia.c:313,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:314,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_camellia.c:316,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_camellia.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 322
    functionName: camellia_cfb1_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_test_flags
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_num
    - CRYPTO_cfb128_1_encrypt
    - EVP_C_DATA
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int camellia_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_camellia.c:327,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_camellia.c:329,1
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/openssl/crypto/evp/e_camellia.c:335,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_camellia.c:336,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/openssl/crypto/evp/e_camellia.c:340,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_camellia.c:341,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_camellia.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 345
    functionName: camellia_ctr_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_camellia.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ctr128_encrypt_ctr32
    - EVP_CIPHER_CTX_get_num
    - EVP_C_DATA
    - CRYPTO_ctr128_encrypt
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int camellia_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                              const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_up_ref
      Src: /src/openssl/crypto/evp/p_legacy.c:29,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/crypto/evp/p_legacy.c:32,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/evp/p_legacy.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - EVP_PKEY*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: EVP_PKEY_set1_RSA
    functionSourceFile: /src/openssl/crypto/evp/p_legacy.c
    functionUses: 1
    functionsReached:
    - RSA_up_ref
    - EVP_PKEY_assign_RSA
    - RSA_free
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_legacy.c:43,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_legacy.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 7
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: evp_pkey_get0_RSA_int
    functionSourceFile: /src/openssl/crypto/evp/p_legacy.c
    functionUses: 1
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: RSA
    signature: RSA *evp_pkey_get0_RSA_int(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_RSA_int
      Src: /src/openssl/crypto/evp/p_legacy.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 8
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: EVP_PKEY_get0_RSA
    functionSourceFile: /src/openssl/crypto/evp/p_legacy.c
    functionUses: 8
    functionsReached:
    - evp_pkey_get0_RSA_int
    linkageType: ''
    returnType: RSA
    signature: RSA *EVP_PKEY_get0_RSA(const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_RSA_int
      Src: /src/openssl/crypto/evp/p_legacy.c:56,1
    - Dst: RSA_up_ref
      Src: /src/openssl/crypto/evp/p_legacy.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 8
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: EVP_PKEY_get1_RSA
    functionSourceFile: /src/openssl/crypto/evp/p_legacy.c
    functionUses: 1
    functionsReached:
    - RSA_up_ref
    - evp_pkey_get0_RSA_int
    linkageType: ''
    returnType: RSA
    signature: RSA *EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/crypto/evp/p_legacy.c:67,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/evp/p_legacy.c:69,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/evp/p_legacy.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkey
    - key
    argTypes:
    - EVP_PKEY*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: EVP_PKEY_set1_EC_KEY
    functionSourceFile: /src/openssl/crypto/evp/p_legacy.c
    functionUses: 0
    functionsReached:
    - EC_KEY_up_ref
    - EC_KEY_free
    - EVP_PKEY_assign_EC_KEY
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/evp/p_legacy.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_legacy.c:79,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/evp/p_legacy.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: evp_pkey_get0_EC_KEY_int
    functionSourceFile: /src/openssl/crypto/evp/p_legacy.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_base_id
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *evp_pkey_get0_EC_KEY_int(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_EC_KEY_int
      Src: /src/openssl/crypto/evp/p_legacy.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 8
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: EVP_PKEY_get0_EC_KEY
    functionSourceFile: /src/openssl/crypto/evp/p_legacy.c
    functionUses: 7
    functionsReached:
    - evp_pkey_get0_EC_KEY_int
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EVP_PKEY_get0_EC_KEY(const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get0_EC_KEY_int
      Src: /src/openssl/crypto/evp/p_legacy.c:92,1
    - Dst: EC_KEY_up_ref
      Src: /src/openssl/crypto/evp/p_legacy.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 8
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: EVP_PKEY_get1_EC_KEY
    functionSourceFile: /src/openssl/crypto/evp/p_legacy.c
    functionUses: 1
    functionsReached:
    - EC_KEY_up_ref
    - evp_pkey_get0_EC_KEY_int
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_aria.c:65,1
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aria.c:68,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aria.c:69,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_aria.c:70,1
    - Dst: ossl_aria_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_aria.c:72,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aria.c:73,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_aria.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aria.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: aria_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - ERR_raise
    - EVP_CIPHER_CTX_get_mode
    - ossl_aria_set_decrypt_key
    - EVP_CIPHER_CTX_get_key_length
    - ossl_aria_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aria_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:88,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/evp/e_aria.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: aria_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: void
    signature: "void aria_cbc_encrypt(const unsigned char *in, unsigned char *out,\n
      \                            size_t len, const ARIA_KEY *key,\n                             unsigned
      char *ivec, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: aria_cfb128_encrypt
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: "void aria_cfb128_encrypt(const unsigned char *in, unsigned char *out,\n
      \                               size_t length, const ARIA_KEY *key,\n                                unsigned
      char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: aria_cfb1_encrypt
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: void
    signature: "void aria_cfb1_encrypt(const unsigned char *in, unsigned char *out,\n
      \                             size_t length, const ARIA_KEY *key,\n                              unsigned
      char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: aria_cfb8_encrypt
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_8_encrypt
    linkageType: ''
    returnType: void
    signature: "void aria_cfb8_encrypt(const unsigned char *in, unsigned char *out,\n
      \                             size_t length, const ARIA_KEY *key,\n                              unsigned
      char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in
    - out
    - key
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - ARIA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: aria_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - ossl_aria_encrypt
    linkageType: ''
    returnType: void
    signature: "void aria_ecb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                            const ARIA_KEY *key, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - ARIA_KEY*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: aria_ofb128_encrypt
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: "void aria_ofb128_encrypt(const unsigned char *in, unsigned char *out,\n
      \                            size_t length, const ARIA_KEY *key,\n                             unsigned
      char *ivec, int *num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ksize
    - ','
    - cbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: IMPLEMENT_ARIA_CFBR
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_ARIA_CFBR(ksize,cbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - nid
    - ','
    - keylen
    - ','
    - blocksize
    - ','
    - ivlen
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: BLOCK_CIPHER_generic
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_generic(nid,keylen,blocksize,ivlen,nmode,mode,MODE,flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_aria.c:178,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:180,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:186,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:187,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_aria.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: aria_ctr_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_num
    - EVP_C_DATA
    - CRYPTO_ctr128_encrypt
    - EVP_CIPHER_CTX_set_num
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int aria_ctr_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                               const
      unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - counter
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: ctr64_inc
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctr64_inc(unsigned char *counter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:219,1
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aria.c:224,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aria.c:225,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/crypto/evp/e_aria.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aria.c:230,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aria.c:240,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aria.c:247,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 254
    functionName: aria_gcm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - CRYPTO_gcm128_init
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_gcm128_setiv
    - ossl_aria_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aria_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                                const unsigned char *iv, int enc)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:258,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/e_aria.c:264,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/e_aria.c:281,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/e_aria.c:282,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:289,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:291,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:291,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:296,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:299,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:299,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:305,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:316,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:317,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/evp/e_aria.c:318,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aria.c:326,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:329,1
    - Dst: ctr64_inc
      Src: /src/openssl/crypto/evp/e_aria.c:334,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:340,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:342,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/crypto/evp/e_aria.c:343,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:351,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:351,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:355,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:356,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:362,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:367,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:368,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:376,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/e_aria.c:385,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:387,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 101
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 396
    functionName: aria_gcm_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - CRYPTO_gcm128_setiv
    - ctr64_inc
    - OPENSSL_free
    - RAND_bytes
    - EVP_CIPHER_get_iv_length
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: int aria_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:401,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/e_aria.c:412,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:412,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/crypto/evp/e_aria.c:417,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:417,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:424,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:426,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/openssl/crypto/evp/e_aria.c:430,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/evp/e_aria.c:434,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/openssl/crypto/evp/e_aria.c:437,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:437,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aria.c:440,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:440,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aria.c:442,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 452
    functionName: aria_gcm_tls_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_tag
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_gcm128_decrypt
    - EVP_C_DATA
    - CRYPTO_memcmp
    - EVP_CIPHER_CTX_ctrl
    - CRYPTO_gcm128_aad
    - CRYPTO_gcm128_encrypt
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int aria_gcm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                             const unsigned char *in, size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:457,1
    - Dst: aria_gcm_tls_cipher
      Src: /src/openssl/crypto/evp/e_aria.c:464,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/crypto/evp/e_aria.c:470,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:472,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:473,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/crypto/evp/e_aria.c:476,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:481,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/crypto/evp/e_aria.c:484,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:485,1
    - Dst: CRYPTO_gcm128_tag
      Src: /src/openssl/crypto/evp/e_aria.c:491,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:491,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 496
    functionName: aria_gcm_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_tag
    - EVP_CIPHER_CTX_is_encrypting
    - CRYPTO_gcm128_decrypt
    - EVP_C_DATA
    - CRYPTO_gcm128_aad
    - aria_gcm_tls_cipher
    - CRYPTO_gcm128_finish
    - CRYPTO_gcm128_encrypt
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int aria_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/e_aria.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 506
    functionName: aria_gcm_cleanup
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: int aria_gcm_cleanup(EVP_CIPHER_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:512,1
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_aria.c:518,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_aria.c:519,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/openssl/crypto/evp/e_aria.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_aria.c:524,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:531,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 535
    functionName: aria_ccm_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_get_key_length
    - CRYPTO_ccm128_init
    - ossl_aria_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aria_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:539,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:560,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:560,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:564,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:565,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:571,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:576,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:577,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:587,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:601,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:605,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:605,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:611,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/crypto/evp/e_aria.c:613,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:623,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 635
    functionName: aria_ccm_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_ccm128_tag
    linkageType: ''
    returnType: int
    signature: int aria_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:640,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:647,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:648,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:648,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/e_aria.c:651,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/openssl/crypto/evp/e_aria.c:655,1
    - Dst: CRYPTO_ccm128_aad
      Src: /src/openssl/crypto/evp/e_aria.c:659,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:659,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:664,1
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/openssl/crypto/evp/e_aria.c:665,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:666,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/crypto/evp/e_aria.c:668,1
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/openssl/crypto/evp/e_aria.c:672,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/openssl/crypto/evp/e_aria.c:673,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/crypto/evp/e_aria.c:675,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aria.c:676,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aria.c:680,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 683
    functionName: aria_ccm_tls_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ccm128_tag
    - EVP_CIPHER_CTX_is_encrypting
    - memcpy
    - EVP_C_DATA
    - CRYPTO_ccm128_aad
    - CRYPTO_ccm128_setiv
    - CRYPTO_ccm128_decrypt_ccm64
    - CRYPTO_memcmp
    - CRYPTO_ccm128_decrypt
    - CRYPTO_ccm128_encrypt
    - CRYPTO_ccm128_encrypt_ccm64
    - OPENSSL_cleanse
    - EVP_CIPHER_CTX_buf_noconst
    linkageType: ''
    returnType: int
    signature: "int aria_ccm_tls_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n
      \                             const unsigned char *in, size_t len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_aria.c:688,1
    - Dst: aria_ccm_tls_cipher
      Src: /src/openssl/crypto/evp/e_aria.c:696,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/openssl/crypto/evp/e_aria.c:707,1
    - Dst: CRYPTO_ccm128_aad
      Src: /src/openssl/crypto/evp/e_aria.c:715,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:720,1
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/openssl/crypto/evp/e_aria.c:725,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_aria.c:729,1
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/openssl/crypto/evp/e_aria.c:730,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/openssl/crypto/evp/e_aria.c:731,1
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/openssl/crypto/evp/e_aria.c:737,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/openssl/crypto/evp/e_aria.c:739,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/crypto/evp/e_aria.c:741,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/evp/e_aria.c:742,1
    - Dst: EVP_CIPHER_CTX_buf_noconst
      Src: /src/openssl/crypto/evp/e_aria.c:742,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_aria.c:748,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 754
    functionName: aria_ccm_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_C_DATA
    - CRYPTO_ccm128_aad
    - CRYPTO_ccm128_setiv
    - CRYPTO_ccm128_decrypt_ccm64
    - CRYPTO_memcmp
    - aria_ccm_tls_cipher
    - CRYPTO_ccm128_decrypt
    - CRYPTO_ccm128_encrypt
    - EVP_CIPHER_CTX_buf_noconst
    - CRYPTO_ccm128_encrypt_ccm64
    - OPENSSL_cleanse
    - CRYPTO_ccm128_tag
    linkageType: ''
    returnType: int
    signature: "int aria_ccm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - keylen
    - ','
    - mode
    - ','
    - MODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 777
    functionName: BLOCK_CIPHER_aead
    functionSourceFile: /src/openssl/crypto/evp/e_aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_aead(keylen,mode,MODE)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/openssl/crypto/evp/p_verify.c:26,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/p_verify.c:27,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/p_verify.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_verify.c:34,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/p_verify.c:37,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/p_verify.c:39,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/p_verify.c:41,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/p_verify.c:42,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/p_verify.c:48,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/crypto/evp/p_verify.c:51,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/crypto/evp/p_verify.c:53,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/p_verify.c:53,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/crypto/evp/p_verify.c:55,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/p_verify.c:57,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 6
    argNames:
    - ctx
    - sigbuf
    - siglen
    - pkey
    - libctx
    - propq
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 17
    functionDepth: 6
    functionLinenumber: 17
    functionLinenumberEnd: 59
    functionName: EVP_VerifyFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/p_verify.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_DigestFinal_ex
    - EVP_PKEY_verify_init
    - EVP_MD_CTX_get0_md
    - EVP_MD_CTX_test_flags
    - EVP_MD_CTX_new
    - EVP_PKEY_CTX_set_signature_md
    - EVP_MD_CTX_free
    - EVP_PKEY_verify
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_CTX_copy_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_VerifyFinal_ex(EVP_MD_CTX *ctx, const unsigned char *sigbuf,\n
      \                      unsigned int siglen, EVP_PKEY *pkey, OSSL_LIB_CTX *libctx,\n
      \                      const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_VerifyFinal_ex
      Src: /src/openssl/crypto/evp/p_verify.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - sigbuf
    - siglen
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 7
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: EVP_VerifyFinal
    functionSourceFile: /src/openssl/crypto/evp/p_verify.c
    functionUses: 0
    functionsReached:
    - EVP_VerifyFinal_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,\n
      \                   unsigned int siglen, EVP_PKEY *pkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/evp/p_dec.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/p_dec.c:28,1
    - Dst: evp_pkey_get0_RSA_int
      Src: /src/openssl/crypto/evp/p_dec.c:32,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/crypto/evp/p_dec.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - ek
    - ekl
    - priv
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 8
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: EVP_PKEY_decrypt_old
    functionSourceFile: /src/openssl/crypto/evp/p_dec.c
    functionUses: 0
    functionsReached:
    - RSA_private_decrypt
    - EVP_PKEY_get_id
    - ERR_raise
    - evp_pkey_get0_RSA_int
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_decrypt_old(unsigned char *key, const unsigned char *ek,
      int ekl,\n                         EVP_PKEY *priv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/openssl/crypto/evp/digest.c:33,1
    - Dst: EVP_MD_CTX*::digest::cleanup
      Src: /src/openssl/crypto/evp/digest.c:34,1
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/openssl/crypto/evp/digest.c:36,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/digest.c:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - force
    argTypes:
    - EVP_MD_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: cleanup_old_md_data
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_MD_CTX*::digest::cleanup
    - EVP_MD_CTX_test_flags
    linkageType: ''
    returnType: void
    signature: void cleanup_old_md_data(EVP_MD_CTX *ctx, int force)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX*::digest::freectx
      Src: /src/openssl/crypto/evp/digest.c:48,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/digest.c:50,1
    - Dst: cleanup_old_md_data
      Src: /src/openssl/crypto/evp/digest.c:59,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/digest.c:64,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - force
    - keep_fetched
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: evp_md_ctx_clear_digest
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - EVP_MD_CTX*::digest::freectx
    - EVP_MD_CTX_set_flags
    - cleanup_old_md_data
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: void evp_md_ctx_clear_digest(EVP_MD_CTX *ctx, int force, int keep_fetched)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/openssl/crypto/evp/digest.c:85,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:86,1
    - Dst: evp_md_ctx_clear_digest
      Src: /src/openssl/crypto/evp/digest.c:90,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/digest.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - keep_fetched
    argTypes:
    - EVP_MD_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: evp_md_ctx_reset_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - evp_md_ctx_clear_digest
    - EVP_PKEY_CTX_free
    - OPENSSL_cleanse
    - EVP_MD_CTX_test_flags
    linkageType: ''
    returnType: int
    signature: int evp_md_ctx_reset_ex(EVP_MD_CTX *ctx, int keep_fetched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_ctx_reset_ex
      Src: /src/openssl/crypto/evp/digest.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: EVP_MD_CTX_reset
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - evp_md_ctx_reset_ex
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_reset(EVP_MD_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/digest.c:110,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/evp/digest.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:112,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/crypto/evp/digest.c:116,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/crypto/evp/digest.c:119,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:123,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - pkey
    - id
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - ASN1_OCTET_STRING*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: evp_md_ctx_new_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_set1_id
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_CTX_set_pkey_ctx
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: "EVP_MD_CTX *evp_md_ctx_new_ex(EVP_PKEY *pkey, const ASN1_OCTET_STRING
      *id,\n                              OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/digest.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: EVP_MD_CTX_new
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 27
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX *EVP_MD_CTX_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/digest.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 7
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: EVP_MD_CTX_free
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 29
    functionsReached:
    - OPENSSL_free
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: void
    signature: void EVP_MD_CTX_free(EVP_MD_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/digest.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:147,1
    - Dst: EVP_MD_CTX*::digest::freectx
      Src: /src/openssl/crypto/evp/digest.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: evp_md_ctx_free_algctx
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ERR_raise
    - EVP_MD_CTX*::digest::freectx
    linkageType: ''
    returnType: int
    signature: int evp_md_ctx_free_algctx(EVP_MD_CTX *ctx)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/digest.c:166,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/crypto/evp/digest.c:175,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/crypto/evp/digest.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:178,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/digest.c:183,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:190,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:204,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/digest.c:214,1
    - Dst: ENGINE_get_digest_engine
      Src: /src/openssl/crypto/evp/digest.c:218,1
    - Dst: defined
      Src: /src/openssl/crypto/evp/digest.c:226,1
    - Dst: defined
      Src: /src/openssl/crypto/evp/digest.c:228,1
    - Dst: evp_md_ctx_free_algctx
      Src: /src/openssl/crypto/evp/digest.c:237,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:241,1
    - Dst: cleanup_old_md_data
      Src: /src/openssl/crypto/evp/digest.c:246,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/digest.c:249,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:250,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/digest.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:251,1
    - Dst: evp_md_ctx_free_algctx
      Src: /src/openssl/crypto/evp/digest.c:255,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:262,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/digest.c:266,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/digest.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:271,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:275,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:280,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:281,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/evp/digest.c:281,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:282,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:285,1
    - Dst: EVP_MD_CTX*::digest::newctx
      Src: /src/openssl/crypto/evp/digest.c:290,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:290,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:292,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:298,1
    - Dst: EVP_MD_CTX*::digest::dinit
      Src: /src/openssl/crypto/evp/digest.c:302,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/evp/digest.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:311,1
    - Dst: ENGINE_get_digest
      Src: /src/openssl/crypto/evp/digest.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:323,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/evp/digest.c:324,1
    - Dst: cleanup_old_md_data
      Src: /src/openssl/crypto/evp/digest.c:339,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/digest.c:344,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/digest.c:354,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/digest.c:357,1
    - Dst: EVP_MD_CTX*::digest::init
      Src: /src/openssl/crypto/evp/digest.c:365,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 122
    argCount: 4
    argNames:
    - ctx
    - type
    - params
    - impl
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - OSSL_PARAM[]
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 366
    functionName: evp_md_init_internal
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - evp_md_ctx_free_algctx
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_MD_CTX*::digest::newctx
    - cleanup_old_md_data
    - ENGINE_finish
    - EVP_MD_CTX_clear_flags
    - ossl_likely
    - ossl_assert
    - ossl_unlikely
    - EVP_MD_up_ref
    - OPENSSL_zalloc
    - ENGINE_get_digest
    - EVP_PKEY_CTX_ctrl
    - EVP_MD_CTX*::digest::init
    - ENGINE_init
    - OBJ_nid2sn
    - ossl_provider_ctx
    - EVP_DigestVerifyInit
    - defined
    - EVP_MD_fetch
    - EVP_DigestSignInit
    - EVP_MD_CTX*::digest::dinit
    - ENGINE_get_digest_engine
    linkageType: ''
    returnType: int
    signature: "int evp_md_init_internal(EVP_MD_CTX *ctx, const EVP_MD *type,\n                                const
      OSSL_PARAM params[], ENGINE *impl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_init_internal
      Src: /src/openssl/crypto/evp/digest.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - type
    - params
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: EVP_DigestInit_ex2
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 8
    functionsReached:
    - evp_md_init_internal
    linkageType: ''
    returnType: int
    signature: "int EVP_DigestInit_ex2(EVP_MD_CTX *ctx, const EVP_MD *type,\n                       const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:376,1
    - Dst: evp_md_init_internal
      Src: /src/openssl/crypto/evp/digest.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 7
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: EVP_DigestInit
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 4
    functionsReached:
    - evp_md_init_internal
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: int
    signature: int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_init_internal
      Src: /src/openssl/crypto/evp/digest.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - type
    - impl
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: EVP_DigestInit_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 11
    functionsReached:
    - evp_md_init_internal
    linkageType: ''
    returnType: int
    signature: int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:387,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:390,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:391,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:395,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/evp/digest.c:396,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/crypto/evp/digest.c:408,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/crypto/evp/digest.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:412,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:418,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:421,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:422,1
    - Dst: EVP_MD_CTX*::digest::dupdate
      Src: /src/openssl/crypto/evp/digest.c:425,1
    - Dst: EVP_MD_CTX*::update
      Src: /src/openssl/crypto/evp/digest.c:429,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 430
    functionName: EVP_DigestUpdate
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 23
    functionsReached:
    - ossl_unlikely
    - ERR_raise
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_DigestSignUpdate
    - EVP_MD_CTX*::update
    - EVP_DigestVerifyUpdate
    - EVP_MD_CTX*::digest::dupdate
    linkageType: ''
    returnType: int
    signature: int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/digest.c:436,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - md
    - size
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 7
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: EVP_DigestFinal
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 4
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: int
    signature: int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int
      *size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:448,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/crypto/evp/digest.c:451,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:452,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:455,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:459,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:463,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:464,1
    - Dst: EVP_MD_CTX*::digest::dfinal
      Src: /src/openssl/crypto/evp/digest.c:468,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/digest.c:473,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:476,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/digest.c:485,1
    - Dst: EVP_MD_CTX*::digest::final
      Src: /src/openssl/crypto/evp/digest.c:486,1
    - Dst: EVP_MD_CTX*::digest::cleanup
      Src: /src/openssl/crypto/evp/digest.c:490,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/digest.c:491,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/digest.c:493,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - md
    - isize
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 495
    functionName: EVP_DigestFinal_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 11
    functionsReached:
    - EVP_MD_CTX*::digest::dfinal
    - ossl_unlikely
    - ERR_raise
    - OPENSSL_assert
    - EVP_MD_CTX_set_flags
    - EVP_MD_CTX_get_size
    - EVP_MD_CTX*::digest::final
    - EVP_MD_CTX*::digest::cleanup
    - ossl_likely
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned
      int *isize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:504,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:505,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:509,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:512,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:513,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:518,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/digest.c:527,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/digest.c:528,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/digest.c:530,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/crypto/evp/digest.c:530,1
    - Dst: EVP_MD_CTX*::digest::dfinal
      Src: /src/openssl/crypto/evp/digest.c:531,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/evp/digest.c:538,1
    - Dst: EVP_MD_CTX*::digest::md_ctrl
      Src: /src/openssl/crypto/evp/digest.c:540,1
    - Dst: EVP_MD_CTX*::digest::final
      Src: /src/openssl/crypto/evp/digest.c:541,1
    - Dst: EVP_MD_CTX*::digest::cleanup
      Src: /src/openssl/crypto/evp/digest.c:543,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/digest.c:544,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/digest.c:546,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - ctx
    - md
    - size
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 552
    functionName: EVP_DigestFinalXOF
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 4
    functionsReached:
    - EVP_MD_xof
    - EVP_MD_CTX*::digest::dfinal
    - ossl_unlikely
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - EVP_MD_CTX*::digest::md_ctrl
    - EVP_MD_CTX_set_flags
    - EVP_MD_CTX*::digest::final
    - EVP_MD_CTX*::digest::cleanup
    - OSSL_PARAM_construct_end
    - EVP_MD_CTX_set_params
    - ossl_likely
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int EVP_DigestFinalXOF(EVP_MD_CTX *ctx, unsigned char *md, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:558,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:563,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:568,1
    - Dst: EVP_MD_CTX*::digest::dsqueeze
      Src: /src/openssl/crypto/evp/digest.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - md
    - size
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 573
    functionName: EVP_DigestSqueeze
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 8
    functionsReached:
    - EVP_MD_CTX*::digest::dsqueeze
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_DigestSqueeze(EVP_MD_CTX *ctx, unsigned char *md, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/digest.c:577,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/digest.c:579,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 575
    functionDepth: 8
    functionLinenumber: 575
    functionLinenumberEnd: 584
    functionName: EVP_MD_CTX_dup
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX *EVP_MD_CTX_dup(const EVP_MD_CTX *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:588,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/evp/digest.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 7
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: EVP_MD_CTX_copy
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:598,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:604,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:606,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:616,1
    - Dst: EVP_MD_CTX*::digest::copyctx
      Src: /src/openssl/crypto/evp/digest.c:622,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:624,1
    - Dst: cleanup_old_md_data
      Src: /src/openssl/crypto/evp/digest.c:626,1
    - Dst: evp_md_ctx_reset_ex
      Src: /src/openssl/crypto/evp/digest.c:631,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/evp/digest.c:635,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:638,1
    - Dst: EVP_MD_CTX*::digest::dupctx
      Src: /src/openssl/crypto/evp/digest.c:645,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:647,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/digest.c:655,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/crypto/evp/digest.c:658,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:660,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:661,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/evp/digest.c:673,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:674,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/digest.c:681,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:684,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/digest.c:685,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/digest.c:688,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/digest.c:701,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/digest.c:705,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/crypto/evp/digest.c:712,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/evp/digest.c:714,1
    - Dst: EVP_MD_CTX*::digest::copy
      Src: /src/openssl/crypto/evp/digest.c:721,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 592
    functionDepth: 7
    functionLinenumber: 592
    functionLinenumberEnd: 724
    functionName: EVP_MD_CTX_copy_ex
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 7
    functionsReached:
    - EVP_PKEY_CTX_dup
    - EVP_MD_up_ref
    - EVP_MD_free
    - ERR_raise
    - EVP_MD_CTX_reset
    - EVP_MD_CTX*::digest::copyctx
    - evp_md_ctx_reset_ex
    - ENGINE_init
    - memcpy
    - EVP_MD_CTX*::digest::copy
    - EVP_MD_CTX_set_flags
    - cleanup_old_md_data
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX*::digest::dupctx
    - EVP_MD_CTX_clear_flags
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/digest.c:730,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/digest.c:735,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/digest.c:736,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/digest.c:737,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/digest.c:738,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/digest.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - data
    - count
    - md
    - size
    - type
    - impl
    argTypes:
    - void*
    - size_t
    - unsigned char*
    - unsigned int*
    - EVP_MD*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 726
    functionDepth: 8
    functionLinenumber: 726
    functionLinenumberEnd: 742
    functionName: EVP_Digest
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 3
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_set_flags
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_Digest(const void *data, size_t count,\n               unsigned
      char *md, unsigned int *size, const EVP_MD *type,\n               ENGINE *impl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/evp/digest.c:748,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/evp/digest.c:753,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - libctx
    - name
    - propq
    - data
    - datalen
    - md
    - mdlen
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - void*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 744
    functionDepth: 9
    functionLinenumber: 744
    functionLinenumberEnd: 759
    functionName: EVP_Q_digest
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - EVP_MD_free
    - EVP_Digest
    linkageType: ''
    returnType: int
    signature: "int EVP_Q_digest(OSSL_LIB_CTX *libctx, const char *name, const char
      *propq,\n                 const void *data, size_t datalen,\n                 unsigned
      char *md, size_t *mdlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD*::get_params
      Src: /src/openssl/crypto/evp/digest.c:764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - digest
    - params
    argTypes:
    - EVP_MD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 766
    functionName: EVP_MD_get_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD*::get_params
    linkageType: ''
    returnType: int
    signature: int EVP_MD_get_params(const EVP_MD *digest, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD*::gettable_params
      Src: /src/openssl/crypto/evp/digest.c:771,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:772,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - digest
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 774
    functionName: EVP_MD_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD*::gettable_params
    - ossl_provider_ctx
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MD_gettable_params(const EVP_MD *digest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:781,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::set_ctx_md_params
      Src: /src/openssl/crypto/evp/digest.c:786,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/evp/digest.c:789,1
    - Dst: EVP_MD_CTX*::digest::set_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MD_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 793
    functionName: EVP_MD_CTX_set_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 1
    functionsReached:
    - ossl_unlikely
    - ossl_likely
    - EVP_MD_CTX*::digest::set_ctx_params
    - EVP_PKEY_CTX*::op::sig::signature::set_ctx_md_params
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_set_params(EVP_MD_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:800,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:800,1
    - Dst: EVP_MD*::settable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 804
    functionName: EVP_MD_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD*::settable_ctx_params
    - ossl_provider_ctx
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MD_settable_ctx_params(const EVP_MD *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX*::op::sig::signature::settable_ctx_md_params
      Src: /src/openssl/crypto/evp/digest.c:821,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:825,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:825,1
    - Dst: EVP_MD_CTX*::digest::settable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:826,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 830
    functionName: EVP_MD_CTX_settable_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_MD_get0_provider
    - EVP_PKEY_CTX*::op::sig::signature::settable_ctx_md_params
    - EVP_MD_CTX*::digest::settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MD_CTX_settable_params(EVP_MD_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX*::op::sig::signature::get_ctx_md_params
      Src: /src/openssl/crypto/evp/digest.c:842,1
    - Dst: EVP_MD_CTX*::digest::get_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:846,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_MD_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 849
    functionName: EVP_MD_CTX_get_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX*::op::sig::signature::get_ctx_md_params
    - EVP_MD_CTX*::digest::get_ctx_params
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_get_params(EVP_MD_CTX *ctx, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:856,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:856,1
    - Dst: EVP_MD*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 860
    functionName: EVP_MD_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD*::gettable_ctx_params
    - ossl_provider_ctx
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MD_gettable_ctx_params(const EVP_MD *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:867,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:872,1
    - Dst: EVP_PKEY_CTX*::op::sig::signature::gettable_ctx_md_params
      Src: /src/openssl/crypto/evp/digest.c:877,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/evp/digest.c:880,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/digest.c:882,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/evp/digest.c:882,1
    - Dst: EVP_MD_CTX*::digest::gettable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:883,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 886
    functionName: EVP_MD_CTX_gettable_params
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ossl_provider_ctx
    - EVP_PKEY_CTX*::op::sig::signature::gettable_ctx_md_params
    - EVP_MD_CTX*::digest::gettable_ctx_params
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_MD_CTX_gettable_params(EVP_MD_CTX *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:896,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/digest.c:906,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/digest.c:910,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/digest.c:914,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/crypto/evp/digest.c:922,1
    - Dst: EVP_MD_CTX_get_params
      Src: /src/openssl/crypto/evp/digest.c:924,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:931,1
    - Dst: EVP_MD_CTX*::digest::md_ctrl
      Src: /src/openssl/crypto/evp/digest.c:935,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 940
    functionName: EVP_MD_CTX_ctrl
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_size_t
    - EVP_MD_CTX_get_params
    - EVP_MD_CTX*::digest::md_ctrl
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/digest.c:944,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/digest.c:946,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/digest.c:947,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 951
    functionName: evp_md_new
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *evp_md_new(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_get
      Src: /src/openssl/crypto/evp/digest.c:968,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/evp/digest.c:975,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - name
    - vlegacy_nid
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 981
    functionName: set_legacy_nid
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_get
    - EVP_MD_nid
    linkageType: ''
    returnType: void
    signature: void set_legacy_nid(const char *name, void *vlegacy_nid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/digest.c:996,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/digest.c:997,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/digest.c:998,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/digest.c:999,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/digest.c:1001,1
    - Dst: evp_do_md_getparams
      Src: /src/openssl/crypto/evp/digest.c:1002,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 984
    functionDepth: 2
    functionLinenumber: 984
    functionLinenumberEnd: 1014
    functionName: evp_md_cache_constants
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    - evp_do_md_getparams
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int evp_md_cache_constants(EVP_MD *md)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_new
      Src: /src/openssl/crypto/evp/digest.c:1025,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:1026,1
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/digest.c:1032,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:1034,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/digest.c:1040,1
    - Dst: OSSL_FUNC_digest_newctx
      Src: /src/openssl/crypto/evp/digest.c:1049,1
    - Dst: OSSL_FUNC_digest_init
      Src: /src/openssl/crypto/evp/digest.c:1055,1
    - Dst: OSSL_FUNC_digest_update
      Src: /src/openssl/crypto/evp/digest.c:1061,1
    - Dst: OSSL_FUNC_digest_final
      Src: /src/openssl/crypto/evp/digest.c:1067,1
    - Dst: OSSL_FUNC_digest_squeeze
      Src: /src/openssl/crypto/evp/digest.c:1073,1
    - Dst: OSSL_FUNC_digest_digest
      Src: /src/openssl/crypto/evp/digest.c:1079,1
    - Dst: OSSL_FUNC_digest_freectx
      Src: /src/openssl/crypto/evp/digest.c:1084,1
    - Dst: OSSL_FUNC_digest_dupctx
      Src: /src/openssl/crypto/evp/digest.c:1090,1
    - Dst: OSSL_FUNC_digest_get_params
      Src: /src/openssl/crypto/evp/digest.c:1094,1
    - Dst: OSSL_FUNC_digest_set_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:1098,1
    - Dst: OSSL_FUNC_digest_get_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:1102,1
    - Dst: OSSL_FUNC_digest_gettable_params
      Src: /src/openssl/crypto/evp/digest.c:1106,1
    - Dst: OSSL_FUNC_digest_settable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:1111,1
    - Dst: OSSL_FUNC_digest_gettable_ctx_params
      Src: /src/openssl/crypto/evp/digest.c:1116,1
    - Dst: OSSL_FUNC_digest_copyctx
      Src: /src/openssl/crypto/evp/digest.c:1121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:1133,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/digest.c:1136,1
    - Dst: evp_md_cache_constants
      Src: /src/openssl/crypto/evp/digest.c:1141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/digest.c:1142,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:1149,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 111
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1016
    functionDepth: 8
    functionLinenumber: 1016
    functionLinenumberEnd: 1151
    functionName: evp_md_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_digest_dupctx
    - OSSL_FUNC_digest_settable_ctx_params
    - ERR_raise
    - OSSL_FUNC_digest_newctx
    - evp_md_cache_constants
    - EVP_MD_free
    - OSSL_FUNC_digest_final
    - ossl_provider_up_ref
    - evp_md_new
    - OSSL_FUNC_digest_set_ctx_params
    - OSSL_FUNC_digest_copyctx
    - evp_names_do_all
    - OSSL_FUNC_digest_init
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_digest_update
    - OSSL_FUNC_digest_freectx
    - OSSL_FUNC_digest_gettable_params
    - OSSL_FUNC_digest_digest
    - OSSL_FUNC_digest_gettable_ctx_params
    - OSSL_FUNC_digest_get_params
    - OSSL_FUNC_digest_get_ctx_params
    - OSSL_FUNC_digest_squeeze
    linkageType: ''
    returnType: void
    signature: "void *evp_md_from_algorithm(int name_id,\n                                   const
      OSSL_ALGORITHM *algodef,\n                                   OSSL_PROVIDER *prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/evp/digest.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1156
    functionName: evp_md_up_ref
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_up_ref
    linkageType: ''
    returnType: int
    signature: int evp_md_up_ref(void *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/evp/digest.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1161
    functionName: evp_md_free
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void evp_md_free(void *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/digest.c:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1163
    functionDepth: 9
    functionLinenumber: 1163
    functionLinenumberEnd: 1171
    functionName: EVP_MD_fetch
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 17
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_MD
    signature: "EVP_MD *EVP_MD_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,\n                     const
      char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/digest.c:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1180
    functionName: EVP_MD_up_ref
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 6
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_MD_up_ref(EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/digest.c:1189,1
    - Dst: evp_md_free_int
      Src: /src/openssl/crypto/evp/digest.c:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1193
    functionName: EVP_MD_free
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 20
    functionsReached:
    - evp_md_free_int
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void EVP_MD_free(EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/digest.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1195
    functionDepth: 9
    functionLinenumber: 1195
    functionLinenumberEnd: 1202
    functionName: EVP_MD_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_MD_do_all_provided(OSSL_LIB_CTX *libctx,\n                            void
      (*fn)(EVP_MD *mac, void *arg),\n                            void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/digest.c:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1204
    functionDepth: 9
    functionLinenumber: 1204
    functionLinenumberEnd: 1213
    functionName: evp_digest_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 0
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_MD
    signature: "EVP_MD *evp_digest_fetch_from_prov(OSSL_PROVIDER *prov,\n                                   const
      char *algorithm,\n                                   const char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/digest.c:1243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hmac_nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1251
    functionName: ossl_hmac2mdnid
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 2
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_hmac2mdnid(int hmac_nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/digest.c:1258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - md_nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1266
    functionName: ossl_md2hmacnid
    functionSourceFile: /src/openssl/crypto/evp/digest.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_md2hmacnid(int md_nid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/pmeth_gn.c:32,1
    - Dst: evp_keymgmt_gen_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:41,1
    - Dst: evp_keymgmt_gen_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:46,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:52,1
    - Dst: EVP_PKEY_CTX*::pmeth::paramgen_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:72,1
    - Dst: EVP_PKEY_CTX*::pmeth::keygen_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:76,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/pmeth_gn.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:89,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 2
    argNames:
    - ctx
    - operation
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 92
    functionName: gen_init
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 7
    functionsReached:
    - ERR_raise
    - evp_pkey_ctx_free_old_ops
    - EVP_PKEY_CTX*::pmeth::keygen_init
    - evp_keymgmt_gen_init
    - EVP_PKEY_CTX*::pmeth::paramgen_init
    linkageType: ''
    returnType: int
    signature: int gen_init(EVP_PKEY_CTX *ctx, int operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: EVP_PKEY_paramgen_init
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 1
    functionsReached:
    - gen_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: EVP_PKEY_keygen_init
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 1
    functionsReached:
    - gen_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_gn.c:113,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/pmeth_gn.c:115,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/pmeth_gn.c:117,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/pmeth_gn.c:119,1
    - Dst: EVP_PKEY_CTX*::pkey_gencb
      Src: /src/openssl/crypto/evp/pmeth_gn.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: ossl_callback_to_pkey_gencb
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX*::pkey_gencb
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int ossl_callback_to_pkey_gencb(const OSSL_PARAM params[], void *arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/pmeth_gn.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:148,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/pmeth_gn.c:171,1
    - Dst: evp_keymgmt_gen_set_template
      Src: /src/openssl/crypto/evp/pmeth_gn.c:180,1
    - Dst: evp_keymgmt_util_gen
      Src: /src/openssl/crypto/evp/pmeth_gn.c:189,1
    - Dst: evp_pkey_free_legacy
      Src: /src/openssl/crypto/evp/pmeth_gn.c:198,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/pmeth_gn.c:220,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/pmeth_gn.c:220,1
    - Dst: EVP_PKEY_CTX*::pmeth::paramgen
      Src: /src/openssl/crypto/evp/pmeth_gn.c:225,1
    - Dst: EVP_PKEY_CTX*::pmeth::keygen
      Src: /src/openssl/crypto/evp/pmeth_gn.c:228,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/pmeth_gn.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:248,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:253,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 257
    functionName: EVP_PKEY_generate
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ERR_raise
    - EVP_PKEY_new
    - evp_pkey_free_legacy
    - evp_keymgmt_gen_set_template
    - EVP_PKEY_CTX*::pmeth::paramgen
    - evp_keymgmt_util_gen
    - EVP_PKEY_free
    - evp_pkey_export_to_provider
    - evp_pkey_is_provided
    - EVP_PKEY_CTX*::pmeth::keygen
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_generate(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:262,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/crypto/evp/pmeth_gn.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 7
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: EVP_PKEY_paramgen
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_generate
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:271,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/crypto/evp/pmeth_gn.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - ppkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 7
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: EVP_PKEY_keygen
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_generate
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_gen_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: EVP_PKEY_CTX_set_cb
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: EVP_PKEY_CTX_get_cb
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_gen_cb
    signature: EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_get_arg
      Src: /src/openssl/crypto/evp/pmeth_gn.c:294,1
    - Dst: EVP_PKEY_CTX*::pkey_gencb
      Src: /src/openssl/crypto/evp/pmeth_gn.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - gcb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: trans_cb
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX*::pkey_gencb
    - BN_GENCB_get_arg
    linkageType: ''
    returnType: int
    signature: int trans_cb(int a, int b, BN_GENCB *gcb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_set
      Src: /src/openssl/crypto/evp/pmeth_gn.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - ctx
    argTypes:
    - BN_GENCB*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: evp_pkey_set_cb_translate
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_set
    linkageType: ''
    returnType: void
    signature: void evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: EVP_PKEY_CTX_get_keygen_info
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/crypto/evp/pmeth_gn.c:321,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:324,1
    - Dst: EVP_PKEY_CTX_set_mac_key
      Src: /src/openssl/crypto/evp/pmeth_gn.c:326,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/crypto/evp/pmeth_gn.c:328,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/pmeth_gn.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - type
    - e
    - key
    - keylen
    argTypes:
    - int
    - ENGINE*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 8
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: EVP_PKEY_new_mac_key
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_mac_key
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_keygen
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e,\n                               const
      unsigned char *key, int keylen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/pmeth_gn.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - operation
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 356
    functionName: fromdata_init
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 2
    functionsReached:
    - evp_pkey_ctx_free_old_ops
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int fromdata_init(EVP_PKEY_CTX *ctx, int operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fromdata_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 5
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: EVP_PKEY_fromdata_init
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 2
    functionsReached:
    - fromdata_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_fromdata_init(EVP_PKEY_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:370,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/pmeth_gn.c:378,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:381,1
    - Dst: evp_keymgmt_util_fromdata
      Src: /src/openssl/crypto/evp/pmeth_gn.c:385,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/pmeth_gn.c:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - ctx
    - ppkey
    - selection
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY**
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 363
    functionDepth: 4
    functionLinenumber: 363
    functionLinenumberEnd: 395
    functionName: EVP_PKEY_fromdata
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 2
    functionsReached:
    - evp_keymgmt_util_fromdata
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_fromdata(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey, int selection,\n
      \                     OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fromdata_init
      Src: /src/openssl/crypto/evp/pmeth_gn.c:400,1
    - Dst: evp_keymgmt_import_types
      Src: /src/openssl/crypto/evp/pmeth_gn.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 5
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: EVP_PKEY_fromdata_settable
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - evp_keymgmt_import_types
    - fromdata_init
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_PKEY_fromdata_settable(EVP_PKEY_CTX *ctx, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/crypto/evp/pmeth_gn.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: ossl_pkey_todata_cb
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_dup
    linkageType: ''
    returnType: int
    signature: int ossl_pkey_todata_cb(const OSSL_PARAM params[], void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_export
      Src: /src/openssl/crypto/evp/pmeth_gn.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pkey
    - selection
    - params
    argTypes:
    - EVP_PKEY*
    - int
    - OSSL_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: EVP_PKEY_todata
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_export
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_todata(const EVP_PKEY *pkey, int selection, OSSL_PARAM
      **params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct fake_import_data_st*::export_cb
      Src: /src/openssl/crypto/evp/pmeth_gn.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fake_keydata
    - ignored_selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: pkey_fake_import
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 0
    functionsReached:
    - struct fake_import_data_st*::export_cb
    linkageType: ''
    returnType: int
    signature: "int pkey_fake_import(void *fake_keydata, int ignored_selection,\n
      \                           const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_gn.c:442,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/evp/pmeth_gn.c:446,1
    - Dst: EVP_PKEY*::ameth::export_to
      Src: /src/openssl/crypto/evp/pmeth_gn.c:456,1
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/crypto/evp/pmeth_gn.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pkey
    - selection
    - export_cb
    - export_cbarg
    argTypes:
    - EVP_PKEY*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 461
    functionName: EVP_PKEY_export
    functionSourceFile: /src/openssl/crypto/evp/pmeth_gn.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_util_export
    - ERR_raise
    - evp_pkey_is_legacy
    - EVP_PKEY*::ameth::export_to
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_export(const EVP_PKEY *pkey, int selection,\n                    OSSL_CALLBACK
      *export_cb, void *export_cbarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:50,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:67,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:68,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:69,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:73,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:76,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:78,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:79,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:80,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:81,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:82,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:83,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 12
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - N
    - r
    - p
    - maxmem
    - key
    - keylen
    - ctx
    - propq
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - unsigned char*
    - size_t
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 88
    functionName: EVP_PBE_scrypt_ex
    functionSourceFile: /src/openssl/crypto/evp/pbe_scrypt.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint64
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int EVP_PBE_scrypt_ex(const char *pass, size_t passlen,\n                      const
      unsigned char *salt, size_t saltlen,\n                      uint64_t N, uint64_t
      r, uint64_t p, uint64_t maxmem,\n                      unsigned char *key, size_t
      keylen,\n                      OSSL_LIB_CTX *ctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_scrypt_ex
      Src: /src/openssl/crypto/evp/pbe_scrypt.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - pass
    - passlen
    - salt
    - saltlen
    - N
    - r
    - p
    - maxmem
    - key
    - keylen
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 6
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: EVP_PBE_scrypt
    functionSourceFile: /src/openssl/crypto/evp/pbe_scrypt.c
    functionUses: 0
    functionsReached:
    - EVP_PBE_scrypt_ex
    linkageType: ''
    returnType: int
    signature: "int EVP_PBE_scrypt(const char *pass, size_t passlen,\n                   const
      unsigned char *salt, size_t saltlen,\n                   uint64_t N, uint64_t
      r, uint64_t p, uint64_t maxmem,\n                   unsigned char *key, size_t
      keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:24,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keymgmt1
    - keymgmt2
    argTypes:
    - EVP_KEYMGMT*
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 9
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: match_type
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT_is_a
    - EVP_KEYMGMT_get0_name
    linkageType: ''
    returnType: int
    signature: int match_type(const EVP_KEYMGMT *keymgmt1, const EVP_KEYMGMT *keymgmt2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_newdata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:36,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:37,1
    - Dst: evp_keymgmt_import
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:50,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: evp_keymgmt_util_try_import
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 0
    functionsReached:
    - evp_keymgmt_freedata
    - evp_keymgmt_newdata
    - ERR_raise
    - evp_keymgmt_import
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_util_try_import(const OSSL_PARAM params[], void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:65,1
    - Dst: evp_keymgmt_util_cache_keyinfo
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pkey
    - keymgmt
    - keydata
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: evp_keymgmt_util_assign_pkey
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set_type_by_keymgmt
    - evp_keymgmt_util_cache_keyinfo
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_util_assign_pkey(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt,\n
      \                                void *keydata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:79,1
    - Dst: evp_keymgmt_util_assign_pkey
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:80,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - keymgmt
    - keydata
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: evp_keymgmt_util_make_pkey
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_new
    - evp_keymgmt_util_assign_pkey
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *evp_keymgmt_util_make_pkey(EVP_KEYMGMT *keymgmt, void *keydata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_export
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - pk
    - selection
    - export_cb
    - export_cbarg
    argTypes:
    - EVP_PKEY*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: evp_keymgmt_util_export
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 3
    functionsReached:
    - evp_keymgmt_export
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_util_export(const EVP_PKEY *pk, int selection,\n                            OSSL_CALLBACK
      *export_cb, void *export_cbarg)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:122,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:131,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:135,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:139,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:149,1
    - Dst: match_type
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:149,1
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:167,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:172,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:173,1
    - Dst: evp_keymgmt_util_find_operation_cache
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:177,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:181,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:187,1
    - Dst: evp_keymgmt_util_clear_operation_cache
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:197,1
    - Dst: evp_keymgmt_util_cache_keydata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:200,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:202,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:203,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:210,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - pk
    - keymgmt
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 96
    functionDepth: 10
    functionLinenumber: 96
    functionLinenumberEnd: 213
    functionName: evp_keymgmt_util_export_to_provider
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - evp_keymgmt_util_cache_keydata
    - evp_keymgmt_util_find_operation_cache
    - CRYPTO_THREAD_read_lock
    - evp_keymgmt_freedata
    - CRYPTO_THREAD_write_lock
    - match_type
    - CRYPTO_THREAD_unlock
    - evp_keymgmt_util_export
    - evp_keymgmt_util_clear_operation_cache
    linkageType: ''
    returnType: void
    signature: "void *evp_keymgmt_util_export_to_provider(EVP_PKEY *pk, EVP_KEYMGMT
      *keymgmt,\n                                          int selection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:217,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:218,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - OP_CACHE_ELEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: op_cache_free
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - evp_keymgmt_freedata
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: void
    signature: void op_cache_free(OP_CACHE_ELEM *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OP_CACHE_ELEM_pop_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: evp_keymgmt_util_clear_operation_cache
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 3
    functionsReached:
    - sk_OP_CACHE_ELEM_pop_free
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_util_clear_operation_cache(EVP_PKEY *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OP_CACHE_ELEM_num
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:236,1
    - Dst: sk_OP_CACHE_ELEM_value
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pk
    - keymgmt
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 254
    functionName: evp_keymgmt_util_find_operation_cache
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 2
    functionsReached:
    - sk_OP_CACHE_ELEM_value
    - sk_OP_CACHE_ELEM_num
    linkageType: ''
    returnType: OP_CACHE_ELEM
    signature: "OP_CACHE_ELEM *evp_keymgmt_util_find_operation_cache(EVP_PKEY *pk,\n
      \                                                    EVP_KEYMGMT *keymgmt,\n
      \                                                    int selection)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_OP_CACHE_ELEM_new_null
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:263,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:268,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:275,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:276,1
    - Dst: sk_OP_CACHE_ELEM_push
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:280,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:281,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pk
    - keymgmt
    - keydata
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 287
    functionName: evp_keymgmt_util_cache_keydata
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 2
    functionsReached:
    - sk_OP_CACHE_ELEM_push
    - EVP_KEYMGMT_up_ref
    - OPENSSL_free
    - sk_OP_CACHE_ELEM_new_null
    - EVP_KEYMGMT_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_util_cache_keydata(EVP_PKEY *pk, EVP_KEYMGMT *keymgmt,\n
      \                                  void *keydata, int selection)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:303,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:304,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:306,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:308,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:309,1
    - Dst: evp_keymgmt_get_params
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 317
    functionName: evp_keymgmt_util_cache_keyinfo
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_end
    - evp_keymgmt_get_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: void
    signature: void evp_keymgmt_util_cache_keyinfo(EVP_PKEY *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_newdata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:324,1
    - Dst: evp_keymgmt_import
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:325,1
    - Dst: evp_keymgmt_util_assign_pkey
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:326,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - target
    - keymgmt
    - selection
    - params
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: evp_keymgmt_util_fromdata
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_util_assign_pkey
    - evp_keymgmt_newdata
    - evp_keymgmt_freedata
    - evp_keymgmt_import
    linkageType: ''
    returnType: void
    signature: "void *evp_keymgmt_util_fromdata(EVP_PKEY *target, EVP_KEYMGMT *keymgmt,\n
      \                               int selection, const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_has
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pk
    - selection
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: evp_keymgmt_util_has
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 3
    functionsReached:
    - evp_keymgmt_has
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_util_has(EVP_PKEY *pk, int selection)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: match_type
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:388,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:403,1
    - Dst: evp_keymgmt_util_export_to_provider
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:424,1
    - Dst: evp_keymgmt_match
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:446,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 3
    argNames:
    - pk1
    - pk2
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 355
    functionDepth: 11
    functionLinenumber: 355
    functionLinenumberEnd: 447
    functionName: evp_keymgmt_util_match
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_match
    - match_type
    - ERR_raise
    - evp_keymgmt_util_export_to_provider
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_util_match(EVP_PKEY *pk1, EVP_PKEY *pk2, int selection)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_dup
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:469,1
    - Dst: match_type
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:474,1
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:493,1
    - Dst: EVP_PKEY_set_type_by_keymgmt
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:507,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:508,1
    - Dst: evp_keymgmt_util_cache_keyinfo
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:512,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - to
    - from
    - selection
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 449
    functionDepth: 10
    functionLinenumber: 449
    functionLinenumberEnd: 515
    functionName: evp_keymgmt_util_copy
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_util_cache_keyinfo
    - ERR_raise
    - evp_keymgmt_dup
    - evp_keymgmt_freedata
    - EVP_PKEY_set_type_by_keymgmt
    - match_type
    - evp_keymgmt_util_export
    linkageType: ''
    returnType: int
    signature: int evp_keymgmt_util_copy(EVP_PKEY *to, EVP_PKEY *from, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_keymgmt_gen
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:522,1
    - Dst: evp_keymgmt_util_assign_pkey
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:523,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - target
    - keymgmt
    - genctx
    - cb
    - cbarg
    argTypes:
    - EVP_PKEY*
    - EVP_KEYMGMT*
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 529
    functionName: evp_keymgmt_util_gen
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 1
    functionsReached:
    - evp_keymgmt_gen
    - evp_keymgmt_freedata
    - evp_keymgmt_util_assign_pkey
    linkageType: ''
    returnType: void
    signature: "void *evp_keymgmt_util_gen(EVP_PKEY *target, EVP_KEYMGMT *keymgmt,\n
      \                          void *genctx, OSSL_CALLBACK *cb, void *cbarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:548,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:551,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:554,1
    - Dst: evp_keymgmt_get_params
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:556,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:559,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:565,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - keymgmt
    - keydata
    - mdname
    - mdname_sz
    argTypes:
    - EVP_KEYMGMT*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 575
    functionName: evp_keymgmt_util_get_deflt_digest_name
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 2
    functionsReached:
    - evp_keymgmt_get_params
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_strlcpy
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int evp_keymgmt_util_get_deflt_digest_name(EVP_KEYMGMT *keymgmt,\n
      \                                          void *keydata,\n                                           char
      *mdname, size_t mdname_sz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT*::query_operation_name
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:589,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/keymgmt_lib.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - keymgmt
    - op_id
    argTypes:
    - EVP_KEYMGMT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 594
    functionName: evp_keymgmt_util_query_operation_name
    functionSourceFile: /src/openssl/crypto/evp/keymgmt_lib.c
    functionUses: 4
    functionsReached:
    - EVP_KEYMGMT*::query_operation_name
    - EVP_KEYMGMT_get0_name
    linkageType: ''
    returnType: char
    signature: "char *evp_keymgmt_util_query_operation_name(EVP_KEYMGMT *keymgmt,\n
      \                                                 int op_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BLOCK_CIPHER_ecb_loop
      Src: /src/openssl/crypto/evp/e_idea.c:44,1
    - Dst: IDEA_ecb_encrypt
      Src: /src/openssl/crypto/evp/e_idea.c:45,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_idea.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: idea_ecb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_idea.c
    functionUses: 0
    functionsReached:
    - BLOCK_CIPHER_ecb_loop
    - IDEA_ecb_encrypt
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int idea_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_idea.c:61,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_idea.c:63,1
    - Dst: IDEA_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_idea.c:67,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_idea.c:67,1
    - Dst: IDEA_set_encrypt_key
      Src: /src/openssl/crypto/evp/e_idea.c:71,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/openssl/crypto/evp/e_idea.c:72,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_idea.c:72,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/evp/e_idea.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: idea_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_idea.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_mode
    - EVP_C_DATA
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int idea_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                        const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEED_set_key
      Src: /src/openssl/crypto/evp/e_seed.c:39,1
    - Dst: EVP_C_DATA
      Src: /src/openssl/crypto/evp/e_seed.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: seed_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_seed.c
    functionUses: 0
    functionsReached:
    - SEED_set_key
    - EVP_C_DATA
    linkageType: ''
    returnType: int
    signature: "int seed_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                        const unsigned char *iv, int enc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/evp/evp_pkey.c:37,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/evp/evp_pkey.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:41,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/evp/evp_pkey.c:45,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/evp/evp_pkey.c:45,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/evp/evp_pkey.c:46,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/evp/evp_pkey.c:47,1
    - Dst: EVP_PKEY*::ameth::priv_decode_ex
      Src: /src/openssl/crypto/evp/evp_pkey.c:53,1
    - Dst: EVP_PKEY*::ameth::priv_decode
      Src: /src/openssl/crypto/evp/evp_pkey.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:61,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - p8
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 70
    functionName: evp_pkcs82pkey_legacy
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - i2t_ASN1_OBJECT
    - ERR_raise
    - EVP_PKEY_new
    - ERR_raise_data
    - EVP_PKEY_free
    - PKCS8_pkey_get0
    - EVP_PKEY*::ameth::priv_decode
    - EVP_PKEY*::ameth::priv_decode_ex
    - OBJ_obj2nid
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *evp_pkcs82pkey_legacy(const PKCS8_PRIV_KEY_INFO *p8, OSSL_LIB_CTX
      *libctx,\n                                const char *propq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/evp/evp_pkey.c:86,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/evp/evp_pkey.c:87,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/evp/evp_pkey.c:90,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/evp/evp_pkey.c:97,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/evp/evp_pkey.c:100,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:101,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/evp/evp_pkey.c:108,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/evp/evp_pkey.c:113,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/evp/evp_pkey.c:115,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:117,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - p8
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 120
    functionName: EVP_PKCS82PKEY_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 2
    functionsReached:
    - OSSL_DECODER_CTX_free
    - OBJ_obj2txt
    - OSSL_DECODER_CTX_get_num_decoders
    - evp_pkcs82pkey_legacy
    - OPENSSL_clear_free
    - OSSL_DECODER_CTX_new_for_pkey
    - PKCS8_pkey_get0
    - OSSL_DECODER_from_data
    - i2d_PKCS8_PRIV_KEY_INFO
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *EVP_PKCS82PKEY_ex(const PKCS8_PRIV_KEY_INFO *p8, OSSL_LIB_CTX
      *libctx,\n                            const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/crypto/evp/evp_pkey.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p8
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: EVP_PKCS82PKEY
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - EVP_PKCS82PKEY_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *EVP_PKCS82PKEY(const PKCS8_PRIV_KEY_INFO *p8)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/evp_pkey.c:139,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/evp/evp_pkey.c:145,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/crypto/evp/evp_pkey.c:148,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/evp/evp_pkey.c:152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:153,1
    - Dst: PKCS8_PRIV_KEY_INFO_new
      Src: /src/openssl/crypto/evp/evp_pkey.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:159,1
    - Dst: EVP_PKEY*::ameth::priv_encode
      Src: /src/openssl/crypto/evp/evp_pkey.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_pkey.c:174,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:180,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/evp/evp_pkey.c:183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 186
    functionName: EVP_PKEY2PKCS8
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ERR_raise
    - OSSL_ENCODER_CTX_new_for_pkey
    - EVP_PKEY*::ameth::priv_encode
    - OPENSSL_free
    - PKCS8_PRIV_KEY_INFO_new
    - OSSL_ENCODER_CTX_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - OSSL_ENCODER_to_data
    - evp_pkey_is_provided
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_count
      Src: /src/openssl/crypto/evp/evp_pkey.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: EVP_PKEY_get_attr_count
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_count
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_attr_count(const EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/evp/evp_pkey.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - nid
    - lastpos
    argTypes:
    - EVP_PKEY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: EVP_PKEY_get_attr_by_NID
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/evp/evp_pkey.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - obj
    - lastpos
    argTypes:
    - EVP_PKEY*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: EVP_PKEY_get_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, const ASN1_OBJECT
      *obj,\n                             int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/evp/evp_pkey.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - loc
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: EVP_PKEY_get_attr
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 1
    functionsReached:
    - X509at_get_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_delete_attr
      Src: /src/openssl/crypto/evp/evp_pkey.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - loc
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: EVP_PKEY_delete_attr
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_delete_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr
      Src: /src/openssl/crypto/evp/evp_pkey.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - attr
    argTypes:
    - EVP_PKEY*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: EVP_PKEY_add1_attr
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_OBJ
      Src: /src/openssl/crypto/evp/evp_pkey.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - key
    - obj
    - type
    - bytes
    - len
    argTypes:
    - EVP_PKEY*
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: EVP_PKEY_add1_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key,\n                              const
      ASN1_OBJECT *obj, int type,\n                              const unsigned char
      *bytes, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/evp/evp_pkey.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - key
    - nid
    - type
    - bytes
    - len
    argTypes:
    - EVP_PKEY*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: EVP_PKEY_add1_attr_by_NID
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key,\n                              int
      nid, int type,\n                              const unsigned char *bytes, int
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_txt
      Src: /src/openssl/crypto/evp/evp_pkey.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - key
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: EVP_PKEY_add1_attr_by_txt
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key,\n                              const
      char *attrname, int type,\n                              const unsigned char
      *bytes, int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/evp_pkey.c:258,1
    - Dst: EVP_PKEY_get0_asn1
      Src: /src/openssl/crypto/evp/evp_pkey.c:262,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/crypto/evp/evp_pkey.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 269
    functionName: EVP_PKEY_get0_type_name
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_asn1
    - EVP_PKEY_asn1_get0_info
    - EVP_KEYMGMT_get0_name
    linkageType: ''
    returnType: char
    signature: char *EVP_PKEY_get0_type_name(const EVP_PKEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/evp/evp_pkey.c:273,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/evp_pkey.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: EVP_PKEY_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/evp_pkey.c
    functionUses: 0
    functionsReached:
    - evp_pkey_is_provided
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_PKEY_get0_provider(const EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: EVP_ripemd160
    functionSourceFile: /src/openssl/crypto/evp/legacy_ripemd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_ripemd160(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:19,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: dsa_paramgen_check
    functionSourceFile: /src/openssl/crypto/evp/dsa_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_IS_GEN_OP
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int dsa_paramgen_check(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:35,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:38,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:40,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_type
    functionSourceFile: /src/openssl/crypto/evp/dsa_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - dsa_paramgen_check
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dsa_paramgen_type(EVP_PKEY_CTX *ctx, const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:50,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:53,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:54,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - gindex
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_gindex
    functionSourceFile: /src/openssl/crypto/evp/dsa_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - dsa_paramgen_check
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dsa_paramgen_gindex(EVP_PKEY_CTX *ctx, int gindex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:66,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:69,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:71,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - seed
    - seedlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_seed
    functionSourceFile: /src/openssl/crypto/evp/dsa_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - dsa_paramgen_check
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_dsa_paramgen_seed(EVP_PKEY_CTX *ctx,\n                                       const
      unsigned char *seed,\n                                       size_t seedlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:82,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:85,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:86,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - nbits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_bits
    functionSourceFile: /src/openssl/crypto/evp/dsa_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    - dsa_paramgen_check
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:97,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:100,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:101,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - qbits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    functionSourceFile: /src/openssl/crypto/evp/dsa_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_size_t
    - dsa_paramgen_check
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dsa_paramgen_q_bits(EVP_PKEY_CTX *ctx, int qbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dsa_paramgen_check
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:113,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:116,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:119,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:121,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - md_name
    - md_properties
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_md_props
    functionSourceFile: /src/openssl/crypto/evp/dsa_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - dsa_paramgen_check
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_dsa_paramgen_md_props(EVP_PKEY_CTX *ctx,\n                                           const
      char *md_name,\n                                           const char *md_properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/evp/dsa_ctrl.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: EVP_PKEY_CTX_set_dsa_paramgen_md
    functionSourceFile: /src/openssl/crypto/evp/dsa_ctrl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_dsa_paramgen_md(EVP_PKEY_CTX *ctx, const EVP_MD
      *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: EVP_md5
    functionSourceFile: /src/openssl/crypto/evp/legacy_md5.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_md5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: BIO_f_base64
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_base64(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/bio_b64.c:70,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/crypto/evp/bio_b64.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_b64.c:77,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_b64.c:81,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_b64.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: b64_new
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_set_init
    - BIO_set_data
    - OPENSSL_free
    - EVP_ENCODE_CTX_new
    linkageType: ''
    returnType: int
    signature: int b64_new(BIO *bi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_b64.c:94,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/evp/bio_b64.c:98,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_b64.c:99,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_b64.c:100,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_b64.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: b64_free
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - EVP_ENCODE_CTX_free
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int b64_free(BIO *a)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_b64.c:123,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_b64.c:125,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:129,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/evp/bio_b64.c:136,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:142,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:149,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_b64.c:152,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/evp/bio_b64.c:176,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:183,1
    - Dst: EVP_DecodeFinal
      Src: /src/openssl/crypto/evp/bio_b64.c:186,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/evp/bio_b64.c:188,1
    - Dst: BIO_get_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:207,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/crypto/evp/bio_b64.c:227,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/evp/bio_b64.c:228,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/crypto/evp/bio_b64.c:285,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_b64.c:308,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:319,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 136
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 321
    functionName: b64_read
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - BIO_clear_retry_flags
    - ERR_raise
    - EVP_DecodeInit
    - memcpy
    - EVP_DecodeFinal
    - EVP_DecodeUpdate
    - BIO_copy_next_retry
    - BIO_next
    - BIO_read
    - BIO_get_data
    - BIO_get_flags
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int b64_read(BIO *b, char *out, int outl)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_b64.c:331,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_b64.c:332,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:336,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/crypto/evp/bio_b64.c:343,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:346,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:349,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:350,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:354,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_b64.c:359,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:361,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:366,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:369,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:370,1
    - Dst: BIO_get_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:385,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:388,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_b64.c:397,1
    - Dst: EVP_EncodeBlock
      Src: /src/openssl/crypto/evp/bio_b64.c:403,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:405,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:409,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_b64.c:419,1
    - Dst: EVP_EncodeBlock
      Src: /src/openssl/crypto/evp/bio_b64.c:426,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:427,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:428,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:431,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:432,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/crypto/evp/bio_b64.c:438,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:441,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:442,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:446,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_b64.c:457,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:459,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:464,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:465,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:469,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 130
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 477
    functionName: b64_write
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ossl_assert
    - EVP_EncodeUpdate
    - EVP_EncodeInit
    - BIO_clear_retry_flags
    - ERR_raise
    - memcpy
    - BIO_copy_next_retry
    - BIO_next
    - EVP_EncodeBlock
    - BIO_get_data
    - BIO_get_flags
    linkageType: ''
    returnType: int
    signature: int b64_write(BIO *b, const char *in, int inl)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_b64.c:486,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_b64.c:487,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:496,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:502,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:506,1
    - Dst: EVP_ENCODE_CTX_num
      Src: /src/openssl/crypto/evp/bio_b64.c:511,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:514,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/bio_b64.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/bio_b64.c:518,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:523,1
    - Dst: b64_write
      Src: /src/openssl/crypto/evp/bio_b64.c:529,1
    - Dst: BIO_get_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:533,1
    - Dst: EVP_EncodeBlock
      Src: /src/openssl/crypto/evp/bio_b64.c:535,1
    - Dst: EVP_ENCODE_CTX_num
      Src: /src/openssl/crypto/evp/bio_b64.c:542,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/crypto/evp/bio_b64.c:544,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:549,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:550,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_b64.c:554,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:555,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_b64.c:556,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:565,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 569
    functionName: b64_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - EVP_ENCODE_CTX_num
    - ERR_raise
    - BIO_clear_retry_flags
    - BIO_ctrl
    - b64_write
    - BIO_copy_next_retry
    - BIO_next
    - EVP_EncodeBlock
    - EVP_EncodeFinal
    - BIO_get_data
    - BIO_get_flags
    linkageType: ''
    returnType: long
    signature: long b64_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_b64.c:573,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/evp/bio_b64.c:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 579
    functionName: b64_callback_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long b64_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/evp/bio_b64.c:583,1
    - Dst: b64_write
      Src: /src/openssl/crypto/evp/bio_b64.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 4
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: b64_puts
    functionSourceFile: /src/openssl/crypto/evp/bio_b64.c
    functionUses: 0
    functionsReached:
    - strlen
    - b64_write
    linkageType: ''
    returnType: int
    signature: int b64_puts(BIO *b, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_bf.c
    functionUses: 257
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_bf.c:41,1
    - Dst: BF_set_key
      Src: /src/openssl/crypto/evp/e_bf.c:45,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_bf.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: bf_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_bf.c
    functionUses: 0
    functionsReached:
    - BF_set_key
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int bf_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n                       const
      unsigned char *iv, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/dh_support.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: ossl_dh_gen_type_id2name
    functionSourceFile: /src/openssl/crypto/evp/dh_support.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ossl_dh_gen_type_id2name(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/evp/dh_support.c:54,1
    - Dst: strcmp
      Src: /src/openssl/crypto/evp/dh_support.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: ossl_dh_gen_type_name2id
    functionSourceFile: /src/openssl/crypto/evp/dh_support.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_dh_gen_type_name2id(const char *name, int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/evp/pmeth_check.c:33,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/pmeth_check.c:37,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:40,1
    - Dst: evp_keymgmt_validate
      Src: /src/openssl/crypto/evp/pmeth_check.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - selection
    - checktype
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 6
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: try_provided_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - evp_keymgmt_validate
    - evp_pkey_export_to_provider
    - ERR_raise
    - evp_pkey_ctx_is_legacy
    linkageType: ''
    returnType: int
    signature: int try_provided_check(EVP_PKEY_CTX *ctx, int selection, int checktype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:53,1
    - Dst: try_provided_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:57,1
    - Dst: EVP_PKEY_CTX*::pmeth::public_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:68,1
    - Dst: EVP_PKEY*::ameth::pkey_public_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - checktype
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 47
    functionDepth: 7
    functionLinenumber: 47
    functionLinenumberEnd: 79
    functionName: evp_pkey_public_check_combined
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX*::pmeth::public_check
    - EVP_PKEY*::ameth::pkey_public_check
    - try_provided_check
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int evp_pkey_public_check_combined(EVP_PKEY_CTX *ctx, int checktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_public_check_combined
      Src: /src/openssl/crypto/evp/pmeth_check.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 8
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: EVP_PKEY_public_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 1
    functionsReached:
    - evp_pkey_public_check_combined
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_public_check(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_public_check_combined
      Src: /src/openssl/crypto/evp/pmeth_check.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 8
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: EVP_PKEY_public_check_quick
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - evp_pkey_public_check_combined
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_public_check_quick(EVP_PKEY_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:97,1
    - Dst: try_provided_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:101,1
    - Dst: EVP_PKEY_CTX*::pmeth::param_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:113,1
    - Dst: EVP_PKEY*::ameth::pkey_param_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - checktype
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 124
    functionName: evp_pkey_param_check_combined
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - try_provided_check
    - ERR_raise
    - EVP_PKEY_CTX*::pmeth::param_check
    - EVP_PKEY*::ameth::pkey_param_check
    linkageType: ''
    returnType: int
    signature: int evp_pkey_param_check_combined(EVP_PKEY_CTX *ctx, int checktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_param_check_combined
      Src: /src/openssl/crypto/evp/pmeth_check.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 8
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: EVP_PKEY_param_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - evp_pkey_param_check_combined
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_param_check_combined
      Src: /src/openssl/crypto/evp/pmeth_check.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 8
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: EVP_PKEY_param_check_quick
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - evp_pkey_param_check_combined
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_param_check_quick(EVP_PKEY_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:142,1
    - Dst: try_provided_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 7
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: EVP_PKEY_private_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - try_provided_check
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_private_check(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: EVP_PKEY_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_pairwise_check
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_check(EVP_PKEY_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:166,1
    - Dst: try_provided_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:170,1
    - Dst: EVP_PKEY_CTX*::pmeth::check
      Src: /src/openssl/crypto/evp/pmeth_check.c:181,1
    - Dst: EVP_PKEY*::ameth::pkey_check
      Src: /src/openssl/crypto/evp/pmeth_check.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/pmeth_check.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 160
    functionDepth: 7
    functionLinenumber: 160
    functionLinenumberEnd: 192
    functionName: EVP_PKEY_pairwise_check
    functionSourceFile: /src/openssl/crypto/evp/pmeth_check.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY*::ameth::pkey_check
    - try_provided_check
    - EVP_PKEY_CTX*::pmeth::check
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: data
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 258
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: EVP_rc2_64_cbc
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_rc2_64_cbc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: EVP_rc2_40_cbc
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_rc2_40_cbc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC2_set_key
      Src: /src/openssl/crypto/evp/e_rc2.c:95,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc2.c:95,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_rc2.c:95,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc2.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: rc2_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 0
    functionsReached:
    - RC2_set_key
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: "int rc2_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                       const unsigned char *iv, int enc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/e_rc2.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: rc2_meth_to_magic
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int rc2_meth_to_magic(EVP_CIPHER_CTX *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/e_rc2.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: rc2_magic_to_meth
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int rc2_magic_to_meth(int i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_rc2.c:139,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/e_rc2.c:140,1
    - Dst: ASN1_TYPE_get_int_octetstring
      Src: /src/openssl/crypto/evp/e_rc2.c:141,1
    - Dst: rc2_magic_to_meth
      Src: /src/openssl/crypto/evp/e_rc2.c:144,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/e_rc2.c:147,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/e_rc2.c:149,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/crypto/evp/e_rc2.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 155
    functionName: rc2_get_asn1_type_and_iv
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - OPENSSL_assert
    - rc2_magic_to_meth
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - ASN1_TYPE_get_int_octetstring
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: int
    signature: int rc2_get_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc2_meth_to_magic
      Src: /src/openssl/crypto/evp/e_rc2.c:163,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/e_rc2.c:164,1
    - Dst: ASN1_TYPE_set_int_octetstring
      Src: /src/openssl/crypto/evp/e_rc2.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: rc2_set_asn1_type_and_iv
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 0
    functionsReached:
    - rc2_meth_to_magic
    - EVP_CIPHER_CTX_get_iv_length
    - ASN1_TYPE_set_int_octetstring
    linkageType: ''
    returnType: int
    signature: int rc2_set_asn1_type_and_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc2.c:174,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/evp/e_rc2.c:174,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc2.c:178,1
    - Dst: data
      Src: /src/openssl/crypto/evp/e_rc2.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 196
    functionName: rc2_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_rc2.c
    functionUses: 0
    functionsReached:
    - data
    - EVP_CIPHER_CTX_get_key_length
    linkageType: ''
    returnType: int
    signature: int rc2_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_param_to_asn1_ex
      Src: /src/openssl/crypto/evp/evp_lib.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: EVP_CIPHER_param_to_asn1
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_cipher_param_to_asn1_ex
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_asn1_to_param_ex
      Src: /src/openssl/crypto/evp/evp_lib.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: EVP_CIPHER_asn1_to_param
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - evp_cipher_asn1_to_param_ex
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_lib.c:53,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/evp_lib.c:54,1
    - Dst: ASN1_TYPE_get_octetstring
      Src: /src/openssl/crypto/evp/evp_lib.c:56,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/evp/evp_lib.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: EVP_CIPHER_get_asn1_iv
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - ASN1_TYPE_get_octetstring
    - ossl_assert
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *ctx, ASN1_TYPE *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_original_iv
      Src: /src/openssl/crypto/evp/evp_lib.c:73,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/evp/evp_lib.c:74,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/evp/evp_lib.c:75,1
    - Dst: ASN1_TYPE_set_octetstring
      Src: /src/openssl/crypto/evp/evp_lib.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: EVP_CIPHER_set_asn1_iv
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_TYPE_set_octetstring
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_original_iv
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER*::set_asn1_parameters
      Src: /src/openssl/crypto/evp/evp_lib.c:108,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:109,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/evp/evp_lib.c:110,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/crypto/evp/evp_lib.c:112,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/evp/evp_lib.c:113,1
    - Dst: evp_cipher_set_asn1_aead_params
      Src: /src/openssl/crypto/evp/evp_lib.c:118,1
    - Dst: EVP_CIPHER_set_asn1_iv
      Src: /src/openssl/crypto/evp/evp_lib.c:128,1
    - Dst: EVP_CIPHER_CTX_get_algor_params
      Src: /src/openssl/crypto/evp/evp_lib.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:146,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 150
    functionName: evp_cipher_param_to_asn1_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_CIPHER*::set_asn1_parameters
    - EVP_CIPHER_CTX_get_algor_params
    - evp_cipher_set_asn1_aead_params
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_is_a
    - EVP_CIPHER_set_asn1_iv
    - ASN1_TYPE_set
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: "int evp_cipher_param_to_asn1_ex(EVP_CIPHER_CTX *c, ASN1_TYPE *type,\n
      \                               evp_cipher_aead_asn1_params *asn1_params)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER*::get_asn1_parameters
      Src: /src/openssl/crypto/evp/evp_lib.c:179,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:180,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/evp/evp_lib.c:181,1
    - Dst: evp_cipher_get_asn1_aead_params
      Src: /src/openssl/crypto/evp/evp_lib.c:187,1
    - Dst: EVP_CIPHER_get_asn1_iv
      Src: /src/openssl/crypto/evp/evp_lib.c:197,1
    - Dst: EVP_CIPHER_CTX_set_algor_params
      Src: /src/openssl/crypto/evp/evp_lib.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 219
    functionName: evp_cipher_asn1_to_param_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_CIPHER_get_asn1_iv
    - EVP_CIPHER*::get_asn1_parameters
    - evp_cipher_get_asn1_aead_params
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_CTX_set_algor_params
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: "int evp_cipher_asn1_to_param_ex(EVP_CIPHER_CTX *c, ASN1_TYPE *type,\n
      \                               evp_cipher_aead_asn1_params *asn1_params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_type_get_octetstring_int
      Src: /src/openssl/crypto/evp/evp_lib.c:231,1
    - Dst: ossl_asn1_type_get_octetstring_int
      Src: /src/openssl/crypto/evp/evp_lib.c:234,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_lib.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: evp_cipher_get_asn1_aead_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ossl_asn1_type_get_octetstring_int
    linkageType: ''
    returnType: int
    signature: "int evp_cipher_get_asn1_aead_params(EVP_CIPHER_CTX *c, ASN1_TYPE *type,\n
      \                                   evp_cipher_aead_asn1_params *asn1_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_type_set_octetstring_int
      Src: /src/openssl/crypto/evp/evp_lib.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - c
    - type
    - asn1_params
    argTypes:
    - EVP_CIPHER_CTX*
    - ASN1_TYPE*
    - evp_cipher_aead_asn1_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: evp_cipher_set_asn1_aead_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_type_set_octetstring_int
    linkageType: ''
    returnType: int
    signature: "int evp_cipher_set_asn1_aead_params(EVP_CIPHER_CTX *c, ASN1_TYPE *type,\n
      \                                   evp_cipher_aead_asn1_params *asn1_params)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:258,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/evp/evp_lib.c:309,1
    - Dst: OBJ_get0_data
      Src: /src/openssl/crypto/evp/evp_lib.c:311,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/evp/evp_lib.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 318
    functionName: EVP_CIPHER_get_type
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_get0_data
    - EVP_CIPHER_get_nid
    - OBJ_nid2obj
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_get_type(const EVP_CIPHER *cipher)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:330,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:331,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:332,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_lib.c:333,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:334,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:335,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:337,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:338,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:340,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/evp/evp_lib.c:342,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:344,1
    - Dst: evp_do_ciph_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:345,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_lib.c:365,1
    - Dst: EVP_CIPHER_gettable_ctx_params
      Src: /src/openssl/crypto/evp/evp_lib.c:365,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 370
    functionName: evp_cipher_cache_constants
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_CIPHER_gettable_ctx_params
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_int
    - evp_do_ciph_getparams
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int evp_cipher_cache_constants(EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: EVP_CIPHER_get_block_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_get_block_size(const EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/crypto/evp/evp_lib.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: EVP_CIPHER_CTX_get_block_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 13
    functionsReached:
    - EVP_CIPHER_get_block_size
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_block_size(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: EVP_CIPHER_impl_ctx_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *e)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/evp/evp_lib.c:403,1
    - Dst: EVP_CIPHER_CTX*::cipher::ccipher
      Src: /src/openssl/crypto/evp/evp_lib.c:409,1
    - Dst: EVP_CIPHER_CTX*::cipher::cupdate
      Src: /src/openssl/crypto/evp/evp_lib.c:414,1
    - Dst: EVP_CIPHER_CTX*::cipher::cfinal
      Src: /src/openssl/crypto/evp/evp_lib.c:418,1
    - Dst: EVP_CIPHER_CTX*::cipher::do_cipher
      Src: /src/openssl/crypto/evp/evp_lib.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 425
    functionName: EVP_Cipher
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX*::cipher::ccipher
    - EVP_CIPHER_CTX*::cipher::do_cipher
    - EVP_CIPHER_CTX_get_block_size
    - EVP_CIPHER_CTX*::cipher::cfinal
    - EVP_CIPHER_CTX*::cipher::cupdate
    linkageType: ''
    returnType: int
    signature: "int EVP_Cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n               const
      unsigned char *in, unsigned int inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: EVP_CIPHER_CTX_cipher
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: EVP_CIPHER_CTX_get0_cipher
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_CIPHER_CTX_get0_cipher(const EVP_CIPHER_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/crypto/evp/evp_lib.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: EVP_CIPHER_CTX_get1_cipher
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_up_ref
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *EVP_CIPHER_CTX_get1_cipher(EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: EVP_CIPHER_CTX_is_encrypting
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_is_encrypting(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: EVP_CIPHER_get_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long EVP_CIPHER_get_flags(const EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: EVP_CIPHER_CTX_get_app_data
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - EVP_CIPHER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: EVP_CIPHER_CTX_set_app_data
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: EVP_CIPHER_CTX_get_cipher_data
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - cipher_data
    argTypes:
    - EVP_CIPHER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 488
    functionName: EVP_CIPHER_CTX_set_cipher_data
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: EVP_CIPHER_get_iv_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_get_iv_length(const EVP_CIPHER *cipher)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/evp/evp_lib.c:501,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:506,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:508,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:510,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/evp_lib.c:511,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:518,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/evp/evp_lib.c:520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 532
    functionName: EVP_CIPHER_CTX_get_iv_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 16
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_modified
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_get_flags
    - OSSL_PARAM_get_int
    - EVP_CIPHER_get_iv_length
    - evp_do_ciph_ctx_getparams
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_iv_length(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:540,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 543
    functionName: EVP_CIPHER_CTX_get_tag_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_size_t
    - evp_do_ciph_ctx_getparams
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_tag_length(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/evp_lib.c:553,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: EVP_CIPHER_CTX_original_iv
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/evp_lib.c:570,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: EVP_CIPHER_CTX_iv
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 5
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/evp/evp_lib.c:584,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 589
    functionName: EVP_CIPHER_CTX_iv_noconst
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 9
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:597,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: EVP_CIPHER_CTX_get_updated_iv
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_updated_iv(EVP_CIPHER_CTX *ctx, void *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:606,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - EVP_CIPHER_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: EVP_CIPHER_CTX_get_original_iv
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_do_ciph_ctx_getparams
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_original_iv(EVP_CIPHER_CTX *ctx, void *buf,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: EVP_CIPHER_CTX_buf_noconst
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_lib.c:621,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 625
    functionName: EVP_CIPHER_CTX_get_num
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 19
    functionsReached:
    - OSSL_PARAM_construct_uint
    - evp_do_ciph_ctx_getparams
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_num(const EVP_CIPHER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_lib.c:633,1
    - Dst: evp_do_ciph_ctx_setparams
      Src: /src/openssl/crypto/evp/evp_lib.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - num
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 639
    functionName: EVP_CIPHER_CTX_set_num
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 19
    functionsReached:
    - OSSL_PARAM_construct_uint
    - evp_do_ciph_ctx_setparams
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: EVP_CIPHER_get_key_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_get_key_length(const EVP_CIPHER *cipher)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:656,1
    - Dst: evp_do_ciph_ctx_getparams
      Src: /src/openssl/crypto/evp/evp_lib.c:657,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/evp/evp_lib.c:668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 646
    functionDepth: 5
    functionLinenumber: 646
    functionLinenumberEnd: 673
    functionName: EVP_CIPHER_CTX_get_key_length
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 46
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_construct_size_t
    - evp_do_ciph_ctx_getparams
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_key_length(const EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: EVP_CIPHER_get_nid
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_get_nid(const EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: EVP_CIPHER_CTX_get_nid
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_get_nid
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_nid(const EVP_CIPHER_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/evp_lib.c:690,1
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/evp_lib.c:691,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/evp/evp_lib.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cipher
    - name
    argTypes:
    - EVP_CIPHER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 8
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: EVP_CIPHER_is_a
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - evp_is_a
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: evp_cipher_get_number
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_cipher_get_number(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_lib.c:704,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: EVP_CIPHER_get0_name
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached:
    - OBJ_nid2sn
    - EVP_CIPHER_get_nid
    linkageType: ''
    returnType: char
    signature: char *EVP_CIPHER_get0_name(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/evp/evp_lib.c:715,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 719
    functionName: EVP_CIPHER_get0_description
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - EVP_CIPHER_get_nid
    linkageType: ''
    returnType: char
    signature: char *EVP_CIPHER_get0_description(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/evp_lib.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - data
    argTypes:
    - EVP_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 8
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: EVP_CIPHER_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher,\n                            void
      (*fn)(const char *name, void *data),\n                            void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: EVP_CIPHER_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_CIPHER_get0_provider(const EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: EVP_CIPHER_get_mode
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_get_flags
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_get_mode(const EVP_CIPHER *cipher)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/evp_lib.c:746,1
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/evp_lib.c:747,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/evp/evp_lib.c:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - md
    - name
    argTypes:
    - EVP_MD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 741
    functionDepth: 8
    functionLinenumber: 741
    functionLinenumberEnd: 748
    functionName: EVP_MD_is_a
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    - EVP_MD_get0_name
    linkageType: ''
    returnType: int
    signature: int EVP_MD_is_a(const EVP_MD *md, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: evp_md_get_number
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_md_get_number(const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/evp/evp_lib.c:760,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: EVP_MD_get0_description
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - EVP_MD_nid
    linkageType: ''
    returnType: char
    signature: char *EVP_MD_get0_description(const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/evp/evp_lib.c:773,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/evp/evp_lib.c:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 777
    functionName: EVP_MD_get0_name
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 9
    functionsReached:
    - OBJ_nid2sn
    - EVP_MD_nid
    linkageType: ''
    returnType: char
    signature: char *EVP_MD_get0_name(const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/evp_lib.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - md
    - data
    argTypes:
    - EVP_MD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 779
    functionDepth: 8
    functionLinenumber: 779
    functionLinenumberEnd: 787
    functionName: EVP_MD_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_MD_names_do_all(const EVP_MD *md,\n                        void
      (*fn)(const char *name, void *data),\n                        void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 792
    functionName: EVP_MD_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_MD_get0_provider(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: EVP_MD_get_type
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_get_type(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: EVP_MD_get_pkey_type
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_get_pkey_type(const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 811
    functionName: EVP_MD_get_block_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_MD_get_block_size(const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 820
    functionName: EVP_MD_get_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 14
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_MD_get_size(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 825
    functionName: EVP_MD_xof
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 2
    functionsReached:
    - EVP_MD_get_flags
    linkageType: ''
    returnType: int
    signature: int EVP_MD_xof(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: EVP_MD_get_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long EVP_MD_get_flags(const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_new
      Src: /src/openssl/crypto/evp/evp_lib.c:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - md_type
    - pkey_type
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 842
    functionName: EVP_MD_meth_new
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached:
    - evp_md_new
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/crypto/evp/evp_lib.c:855,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/evp_lib.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 844
    functionDepth: 3
    functionLinenumber: 844
    functionLinenumberEnd: 863
    functionName: EVP_MD_meth_dup
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_new
    - memcpy
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_MD_meth_dup(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:867,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/evp_lib.c:868,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/evp_lib.c:869,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 871
    functionName: evp_md_free_int
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void evp_md_free_int(EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_free_int
      Src: /src/openssl/crypto/evp/evp_lib.c:878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 3
    functionLinenumber: 873
    functionLinenumberEnd: 879
    functionName: EVP_MD_meth_free
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 10
    functionsReached:
    - evp_md_free_int
    linkageType: ''
    returnType: void
    signature: void EVP_MD_meth_free(EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - md
    - blocksize
    argTypes:
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 888
    functionName: EVP_MD_meth_set_input_blocksize
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - md
    - resultsize
    argTypes:
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: EVP_MD_meth_set_result_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - md
    - datasize
    argTypes:
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 904
    functionName: EVP_MD_meth_set_app_datasize
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - md
    - flags
    argTypes:
    - EVP_MD*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 912
    functionName: EVP_MD_meth_set_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 920
    functionName: EVP_MD_meth_set_init
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 930
    functionName: EVP_MD_meth_set_update
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx,\n
      \                                                    const void *data,\n                                                     size_t
      count))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 939
    functionName: EVP_MD_meth_set_final
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx,\n
      \                                                  unsigned char *md))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 948
    functionName: EVP_MD_meth_set_copy
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to,\n
      \                                                const EVP_MD_CTX *from))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 956
    functionName: EVP_MD_meth_set_cleanup
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 965
    functionName: EVP_MD_meth_set_ctrl
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx,
      int cmd,\n                                                 int p1, void *p2))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: EVP_MD_meth_get_input_blocksize
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_get_input_blocksize(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 974
    functionName: EVP_MD_meth_get_result_size
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_get_result_size(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: EVP_MD_meth_get_app_datasize
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_meth_get_app_datasize(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 982
    functionName: EVP_MD_meth_get_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long EVP_MD_meth_get_flags(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 986
    functionName: (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx)
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 992
    functionName: "(*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx,\n
      \                                               const void *data,\n                                                size_t
      count)"
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx,\n
      \                                               const void *data,\n                                                size_t
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 997
    functionName: "(*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx,\n                                               unsigned
      char *md)"
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx,\n
      \                                              unsigned char *md)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: "(*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to,\n                                              const
      EVP_MD_CTX *from)"
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to,\n                                              const
      EVP_MD_CTX *from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx)
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_MD_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    functionName: "(*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int
      cmd,\n                                              int p1, void *p2)"
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int
      cmd,\n                                              int p1, void *p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: EVP_MD_CTX_md
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1027
    functionName: EVP_MD_CTX_get0_md
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_MD_CTX_get0_md(const EVP_MD_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/crypto/evp/evp_lib.c:1036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1039
    functionName: EVP_MD_CTX_get1_md
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_up_ref
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_MD_CTX_get1_md(EVP_MD_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_gettable_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1046,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/evp/evp_lib.c:1048,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:1058,1
    - Dst: EVP_MD_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1059,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/evp_lib.c:1066,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/evp_lib.c:1066,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1067
    functionName: EVP_MD_CTX_get_size_ex
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md
    - EVP_MD_CTX_gettable_params
    - EVP_MD_CTX_get_params
    - OSSL_PARAM_construct_size_t
    - EVP_MD_get_size
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_get_size_ex(const EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: EVP_MD_CTX_get_pkey_ctx
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: EVP_PKEY_CTX *EVP_MD_CTX_get_pkey_ctx(const EVP_MD_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_test_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:1081,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1082,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:1088,1
    - Dst: EVP_MD_CTX_clear_flags
      Src: /src/openssl/crypto/evp/evp_lib.c:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - pctx
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1075
    functionDepth: 5
    functionLinenumber: 1075
    functionLinenumberEnd: 1092
    functionName: EVP_MD_CTX_set_pkey_ctx
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_clear_flags
    - EVP_MD_CTX_test_flags
    - EVP_MD_CTX_set_flags
    linkageType: ''
    returnType: void
    signature: void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: EVP_MD_CTX_get0_md_data
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *EVP_MD_CTX_get0_md_data(const EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: "(*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx,\n                                             const
      void *data, size_t count)"
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx,\n                                             const
      void *data, size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1111
    functionName: EVP_MD_CTX_set_update_fn
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx,\n                              int
      (*update) (EVP_MD_CTX *ctx,\n                                             const
      void *data, size_t count))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_MD_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1116
    functionName: EVP_MD_CTX_set_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_MD_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1121
    functionName: EVP_MD_CTX_clear_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_MD_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1126
    functionName: EVP_MD_CTX_test_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/evp/evp_lib.c:1133,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - enable
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1128
    functionDepth: 6
    functionLinenumber: 1128
    functionLinenumberEnd: 1135
    functionName: evp_cipher_ctx_enable_use_bits
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_CIPHER_CTX_set_params
    linkageType: ''
    returnType: int
    signature: "int evp_cipher_ctx_enable_use_bits(EVP_CIPHER_CTX *ctx,\n                                          unsigned
      int enable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_ctx_enable_use_bits
      Src: /src/openssl/crypto/evp/evp_lib.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1137
    functionDepth: 7
    functionLinenumber: 1137
    functionLinenumberEnd: 1144
    functionName: EVP_CIPHER_CTX_set_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_cipher_ctx_enable_use_bits
    linkageType: ''
    returnType: void
    signature: void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_cipher_ctx_enable_use_bits
      Src: /src/openssl/crypto/evp/evp_lib.c:1152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1146
    functionDepth: 7
    functionLinenumber: 1146
    functionLinenumberEnd: 1153
    functionName: EVP_CIPHER_CTX_clear_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - evp_cipher_ctx_enable_use_bits
    linkageType: ''
    returnType: void
    signature: void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1158
    functionName: EVP_CIPHER_CTX_test_flags
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/evp_lib.c:1166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:1167,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1175,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1162
    functionDepth: 3
    functionLinenumber: 1162
    functionLinenumberEnd: 1178
    functionName: EVP_PKEY_CTX_set_group_name
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_IS_GEN_OP
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_group_name(EVP_PKEY_CTX *ctx, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/evp/evp_lib.c:1185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:1187,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1195,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - name
    - namelen
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1180
    functionDepth: 3
    functionLinenumber: 1180
    functionLinenumberEnd: 1200
    functionName: EVP_PKEY_CTX_get_group_name
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_IS_GEN_OP
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_group_name(EVP_PKEY_CTX *ctx, char *name, size_t
      namelen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/evp/evp_lib.c:1216,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/crypto/evp/evp_lib.c:1219,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1220,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/crypto/evp/evp_lib.c:1221,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - libctx
    - name
    - propq
    - params
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1212
    functionDepth: 7
    functionLinenumber: 1212
    functionLinenumberEnd: 1225
    functionName: evp_pkey_keygen
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *evp_pkey_keygen(OSSL_LIB_CTX *libctx, const char *name,\n
      \                                const char *propq, const OSSL_PARAM *params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/evp/evp_lib.c:1236,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/evp_lib.c:1238,1
    - Dst: va_arg
      Src: /src/openssl/crypto/evp/evp_lib.c:1239,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/evp/evp_lib.c:1240,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/evp/evp_lib.c:1241,1
    - Dst: va_arg
      Src: /src/openssl/crypto/evp/evp_lib.c:1242,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1243,1
    - Dst: evp_pkey_keygen
      Src: /src/openssl/crypto/evp/evp_lib.c:1247,1
    - Dst: va_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - libctx
    - propq
    - type
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1227
    functionDepth: 8
    functionLinenumber: 1227
    functionLinenumberEnd: 1251
    functionName: EVP_PKEY_Q_keygen
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - va_end
    - OPENSSL_strcasecmp
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_size_t
    - va_start
    - evp_pkey_keygen
    - va_arg
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *EVP_PKEY_Q_keygen(OSSL_LIB_CTX *libctx, const char *propq,\n
      \                           const char *type, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/evp/evp_lib.c:1260,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1269,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1270,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1271,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1272,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_CIPHER_CTX*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1254
    functionDepth: 6
    functionLinenumber: 1254
    functionLinenumberEnd: 1276
    functionName: EVP_CIPHER_CTX_set_algor_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_CTX_set_params
    - OPENSSL_free
    - i2d_ASN1_TYPE
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_set_algor_params(EVP_CIPHER_CTX *ctx, const X509_ALGOR
      *alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1297,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1298,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1299,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1301,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1305,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1307,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_lib.c:1323,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1326,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1327,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1328,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/crypto/evp/evp_lib.c:1329,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1340,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_CIPHER_CTX*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1342
    functionName: EVP_CIPHER_CTX_get_algor_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_get_params
    - OSSL_PARAM_construct_octet_string
    - d2i_ASN1_TYPE
    - OSSL_PARAM_modified
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_algor_params(EVP_CIPHER_CTX *ctx, X509_ALGOR
      *alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1351,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1352,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1354,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:1360,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_lib.c:1368,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1369,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1371,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1372,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/evp/evp_lib.c:1373,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1376,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_CIPHER_CTX*
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1344
    functionDepth: 2
    functionLinenumber: 1344
    functionLinenumberEnd: 1380
    functionName: EVP_CIPHER_CTX_get_algor
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_params
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_modified
    - OPENSSL_free
    - d2i_X509_ALGOR
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int EVP_CIPHER_CTX_get_algor(EVP_CIPHER_CTX *ctx, X509_ALGOR **alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/evp/evp_lib.c:1388,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1396,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1397,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1398,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1382
    functionDepth: 3
    functionLinenumber: 1382
    functionLinenumberEnd: 1402
    functionName: EVP_PKEY_CTX_set_algor_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_set_params
    - OPENSSL_free
    - i2d_ASN1_TYPE
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_algor_params(EVP_PKEY_CTX *ctx, const X509_ALGOR
      *alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1420,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1421,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1423,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1436,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_lib.c:1440,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1443,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1444,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1445,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/crypto/evp/evp_lib.c:1446,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1404
    functionDepth: 3
    functionLinenumber: 1404
    functionLinenumberEnd: 1459
    functionName: EVP_PKEY_CTX_get_algor_params
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - d2i_ASN1_TYPE
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_modified
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_algor_params(EVP_PKEY_CTX *ctx, X509_ALGOR *alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1468,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/evp/evp_lib.c:1469,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1471,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/evp_lib.c:1477,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/evp/evp_lib.c:1485,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/evp/evp_lib.c:1486,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/evp/evp_lib.c:1488,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/evp/evp_lib.c:1489,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/evp/evp_lib.c:1490,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/evp_lib.c:1493,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1461
    functionDepth: 3
    functionLinenumber: 1461
    functionLinenumberEnd: 1497
    functionName: EVP_PKEY_CTX_get_algor
    functionSourceFile: /src/openssl/crypto/evp/evp_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_modified
    - OPENSSL_free
    - d2i_X509_ALGOR
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_algor(EVP_PKEY_CTX *ctx, X509_ALGOR **alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BLOCK_CIPHER_ecb_loop
      Src: /src/openssl/crypto/evp/e_des.c:63,1
    - Dst: DES_ecb_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:64,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:65,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: des_ecb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des.c
    functionUses: 0
    functionsReached:
    - BLOCK_CIPHER_ecb_loop
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: "int des_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_des.c:74,1
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:75,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:76,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_des.c:78,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_des.c:84,1
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:85,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:86,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_des.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: des_ofb_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_ofb64_encrypt
    - EVP_CIPHER_CTX_set_num
    linkageType: ''
    returnType: int
    signature: "int des_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:96,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:103,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:104,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des.c:106,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:112,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:113,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: des_cbc_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_cipher_data
    - DES_ncbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int des_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                          const
      unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_des.c:123,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:124,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:125,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des.c:127,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_des.c:128,1
    - Dst: EVP_CIPHER_CTX_get_num
      Src: /src/openssl/crypto/evp/e_des.c:134,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:135,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:136,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des.c:138,1
    - Dst: EVP_CIPHER_CTX_set_num
      Src: /src/openssl/crypto/evp/e_des.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: des_cfb64_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    - EVP_CIPHER_CTX_is_encrypting
    - EVP_CIPHER_CTX_get_num
    - EVP_CIPHER_CTX_set_num
    - DES_cfb64_encrypt
    linkageType: ''
    returnType: int
    signature: "int des_cfb64_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                            const
      unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:161,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:161,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: des_cfb1_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - DES_cfb_encrypt
    - EVP_CIPHER_CTX_get_cipher_data
    linkageType: ''
    returnType: int
    signature: "int des_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:182,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:183,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des.c:185,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/crypto/evp/e_des.c:191,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:192,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/evp/e_des.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: des_cfb8_cipher
    functionSourceFile: /src/openssl/crypto/evp/e_des.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_is_encrypting
    - DES_cfb_encrypt
    - EVP_CIPHER_CTX_get_cipher_data
    linkageType: ''
    returnType: int
    signature: "int des_cfb8_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:214,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/evp/e_des.c:219,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/crypto/evp/e_des.c:222,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/evp/e_des.c:228,1
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/crypto/evp/e_des.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: des_init_key
    functionSourceFile: /src/openssl/crypto/evp/e_des.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - EVP_CIPHER_CTX_get_cipher_data
    - des_t4_key_expand
    - EVP_CIPHER_CTX_get_mode
    linkageType: ''
    returnType: int
    signature: "int des_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                       const unsigned char *iv, int enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/evp/e_des.c:237,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/evp/e_des.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - c
    - type
    - arg
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: des_ctrl
    functionSourceFile: /src/openssl/crypto/evp/e_des.c
    functionUses: 0
    functionsReached:
    - DES_set_odd_parity
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: int des_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: BIO_f_reliable
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_reliable(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/bio_ok.c:135,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/evp/bio_ok.c:140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/bio_ok.c:142,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_ok.c:145,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_ok.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: ok_new
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_set_init
    - BIO_set_data
    - EVP_MD_CTX_new
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int ok_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_ok.c:158,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/evp/bio_ok.c:160,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/evp/bio_ok.c:161,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/evp/bio_ok.c:162,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_ok.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: ok_free
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - BIO_set_init
    - BIO_set_data
    - EVP_MD_CTX_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int ok_free(BIO *a)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_ok.c:177,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_ok.c:178,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_ok.c:180,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_ok.c:190,1
    - Dst: memmove
      Src: /src/openssl/crypto/evp/bio_ok.c:205,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/evp/bio_ok.c:220,1
    - Dst: sig_in
      Src: /src/openssl/crypto/evp/bio_ok.c:229,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:230,1
    - Dst: block_in
      Src: /src/openssl/crypto/evp/bio_ok.c:237,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:238,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:249,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_ok.c:250,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 252
    functionName: ok_read
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - memcpy
    - block_in
    - memmove
    - sig_in
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_init
    - BIO_read
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int ok_read(BIO *b, char *out, int outl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_ok.c:263,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_ok.c:264,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_ok.c:267,1
    - Dst: sig_out
      Src: /src/openssl/crypto/evp/bio_ok.c:270,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:274,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/evp/bio_ok.c:277,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_ok.c:279,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/evp/bio_ok.c:280,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_ok.c:301,1
    - Dst: block_out
      Src: /src/openssl/crypto/evp/bio_ok.c:307,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:308,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:314,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_ok.c:315,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 317
    functionName: ok_write
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_clear_retry_flags
    - memcpy
    - block_out
    - sig_out
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_init
    - BIO_get_data
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int ok_write(BIO *b, const char *in, int inl)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_ok.c:328,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_ok.c:329,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_ok.c:341,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_ok.c:347,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_ok.c:353,1
    - Dst: block_out
      Src: /src/openssl/crypto/evp/bio_ok.c:358,1
    - Dst: ok_write
      Src: /src/openssl/crypto/evp/bio_ok.c:362,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_ok.c:374,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_ok.c:375,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:378,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_ok.c:379,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/evp/bio_ok.c:380,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/bio_ok.c:387,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/evp/bio_ok.c:389,1
    - Dst: BIO_get_init
      Src: /src/openssl/crypto/evp/bio_ok.c:392,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/bio_ok.c:394,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/evp/bio_ok.c:399,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 403
    functionName: ok_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - EVP_MD_CTX_get0_md
    - BIO_ctrl
    - block_out
    - BIO_set_init
    - ok_write
    - BIO_copy_next_retry
    - EVP_DigestInit_ex
    - BIO_next
    - BIO_get_init
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long ok_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/evp/bio_ok.c:409,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/evp/bio_ok.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: ok_callback_ctrl
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long ok_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: longswap
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void longswap(void *_ptr, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_ok.c:440,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/bio_ok.c:442,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/bio_ok.c:443,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/crypto/evp/bio_ok.c:444,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/bio_ok.c:451,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/evp/bio_ok.c:457,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_ok.c:459,1
    - Dst: longswap
      Src: /src/openssl/crypto/evp/bio_ok.c:460,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/bio_ok.c:463,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/bio_ok.c:463,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/bio_ok.c:465,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:472,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 432
    functionDepth: 6
    functionLinenumber: 432
    functionLinenumberEnd: 474
    functionName: sig_out
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - EVP_DigestFinal_ex
    - BIO_clear_retry_flags
    - EVP_MD_CTX_get0_md
    - longswap
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - memcpy
    - RAND_bytes
    - EVP_DigestInit_ex
    - strlen
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int sig_out(BIO *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_ok.c:486,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/bio_ok.c:489,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/bio_ok.c:490,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/crypto/evp/bio_ok.c:492,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/evp/bio_ok.c:497,1
    - Dst: memcpy
      Src: /src/openssl/crypto/evp/bio_ok.c:499,1
    - Dst: longswap
      Src: /src/openssl/crypto/evp/bio_ok.c:500,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/bio_ok.c:503,1
    - Dst: strlen
      Src: /src/openssl/crypto/evp/bio_ok.c:503,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/bio_ok.c:505,1
    - Dst: memcmp
      Src: /src/openssl/crypto/evp/bio_ok.c:507,1
    - Dst: memmove
      Src: /src/openssl/crypto/evp/bio_ok.c:512,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 476
    functionDepth: 6
    functionLinenumber: 476
    functionLinenumberEnd: 524
    functionName: sig_in
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - memcmp
    - EVP_DigestFinal_ex
    - BIO_clear_retry_flags
    - EVP_MD_CTX_get0_md
    - longswap
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - memcpy
    - memmove
    - EVP_DigestInit_ex
    - strlen
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int sig_in(BIO *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_ok.c:534,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/bio_ok.c:536,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/bio_ok.c:537,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/bio_ok.c:546,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/bio_ok.c:549,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 557
    functionName: block_out
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 2
    functionsReached:
    - EVP_DigestFinal_ex
    - BIO_clear_retry_flags
    - EVP_MD_CTX_get0_md
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int block_out(BIO *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/evp/bio_ok.c:567,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/evp/bio_ok.c:569,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/evp/bio_ok.c:569,1
    - Dst: assert
      Src: /src/openssl/crypto/evp/bio_ok.c:573,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/evp/bio_ok.c:585,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/evp/bio_ok.c:588,1
    - Dst: memcmp
      Src: /src/openssl/crypto/evp/bio_ok.c:590,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/evp/bio_ok.c:602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts:
    - condition: (sizeof(tl) >= OK_BLOCK_BLOCK)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/openssl/crypto/evp/bio_ok.c
    constantsTouched: []
    func_position:
      end: 604
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 604
    functionName: block_in
    functionSourceFile: /src/openssl/crypto/evp/bio_ok.c
    functionUses: 1
    functionsReached:
    - memcmp
    - EVP_DigestFinal_ex
    - BIO_clear_retry_flags
    - EVP_MD_CTX_get0_md
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - BIO_get_data
    - assert
    linkageType: ''
    returnType: int
    signature: int block_in(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/kem.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: evp_kem_free
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - EVP_KEM_free
    linkageType: ''
    returnType: void
    signature: void evp_kem_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEM_up_ref
      Src: /src/openssl/crypto/evp/kem.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: evp_kem_up_ref
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - EVP_KEM_up_ref
    linkageType: ''
    returnType: int
    signature: int evp_kem_up_ref(void *data)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:42,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/kem.c:46,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:54,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/evp/kem.c:60,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:62,1
    - Dst: evp_keymgmt_util_query_operation_name
      Src: /src/openssl/crypto/evp/kem.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:68,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/kem.c:99,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/kem.c:100,1
    - Dst: EVP_KEM_fetch
      Src: /src/openssl/crypto/evp/kem.c:104,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/kem.c:106,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/evp/kem.c:109,1
    - Dst: evp_kem_fetch_from_prov
      Src: /src/openssl/crypto/evp/kem.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:114,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/evp/kem.c:133,1
    - Dst: EVP_KEYMGMT_get0_name
      Src: /src/openssl/crypto/evp/kem.c:134,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/kem.c:137,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/crypto/evp/kem.c:140,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/kem.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:145,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/kem.c:151,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/kem.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:156,1
    - Dst: EVP_KEM*::newctx
      Src: /src/openssl/crypto/evp/kem.c:161,1
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kem.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:164,1
    - Dst: EVP_KEM*::auth_encapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:171,1
    - Dst: EVP_KEM*::encapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:176,1
    - Dst: EVP_KEM*::auth_decapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:183,1
    - Dst: EVP_KEM*::decapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:194,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/kem.c:198,1
    - Dst: evp_pkey_ctx_free_old_ops
      Src: /src/openssl/crypto/evp/kem.c:205,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/evp/kem.c:208,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 121
    argCount: 4
    argNames:
    - ctx
    - operation
    - params
    - authkey
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - OSSL_PARAM[]
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 30
    functionDepth: 10
    functionLinenumber: 30
    functionLinenumberEnd: 210
    functionName: evp_kem_init
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - evp_keymgmt_util_query_operation_name
    - evp_kem_fetch_from_prov
    - EVP_KEM*::encapsulate_init
    - ossl_assert
    - EVP_KEM_fetch
    - EVP_KEM*::decapsulate_init
    - evp_pkey_export_to_provider
    - evp_keymgmt_fetch_from_prov
    - EVP_KEM*::newctx
    - EVP_KEM*::auth_decapsulate_init
    - evp_pkey_ctx_free_old_ops
    - ossl_provider_ctx
    - EVP_KEYMGMT_get0_provider
    - EVP_KEM_get0_provider
    - EVP_KEM_free
    - EVP_KEM*::auth_encapsulate_init
    - EVP_KEYMGMT_get0_name
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: int
    signature: "int evp_kem_init(EVP_PKEY_CTX *ctx, int operation,\n                        const
      OSSL_PARAM params[], EVP_PKEY *authkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_kem_init
      Src: /src/openssl/crypto/evp/kem.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - authpriv
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 11
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: EVP_PKEY_auth_encapsulate_init
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - evp_kem_init
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_auth_encapsulate_init(EVP_PKEY_CTX *ctx, EVP_PKEY *authpriv,\n
      \                                  const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_kem_init
      Src: /src/openssl/crypto/evp/kem.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 11
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: EVP_PKEY_encapsulate_init
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - evp_kem_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_encapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:238,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::encapsulate
      Src: /src/openssl/crypto/evp/kem.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 247
    functionName: EVP_PKEY_encapsulate
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX*::op::encap::kem::encapsulate
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_encapsulate(EVP_PKEY_CTX *ctx,\n                         unsigned
      char *out, size_t *outlen,\n                         unsigned char *secret,
      size_t *secretlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_kem_init
      Src: /src/openssl/crypto/evp/kem.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 11
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: EVP_PKEY_decapsulate_init
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - evp_kem_init
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_decapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_kem_init
      Src: /src/openssl/crypto/evp/kem.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - authpub
    - params
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 11
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: EVP_PKEY_auth_decapsulate_init
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - evp_kem_init
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_auth_decapsulate_init(EVP_PKEY_CTX *ctx, EVP_PKEY *authpub,\n
      \                                  const OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:277,1
    - Dst: EVP_PKEY_CTX*::op::encap::kem::decapsulate
      Src: /src/openssl/crypto/evp/kem.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - secret
    - secretlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 282
    functionName: EVP_PKEY_decapsulate
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX*::op::encap::kem::decapsulate
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_decapsulate(EVP_PKEY_CTX *ctx,\n                         unsigned
      char *secret, size_t *secretlen,\n                         const unsigned char
      *in, size_t inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/evp/kem.c:286,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/evp/kem.c:291,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/evp/kem.c:292,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/kem.c:293,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kem.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: evp_kem_new
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - ossl_provider_up_ref
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: EVP_KEM
    signature: EVP_KEM *evp_kem_new(OSSL_PROVIDER *prov)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: evp_kem_new
      Src: /src/openssl/crypto/evp/kem.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:311,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/evp/kem.c:316,1
    - Dst: OSSL_FUNC_kem_newctx
      Src: /src/openssl/crypto/evp/kem.c:325,1
    - Dst: OSSL_FUNC_kem_encapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:331,1
    - Dst: OSSL_FUNC_kem_auth_encapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:337,1
    - Dst: OSSL_FUNC_kem_encapsulate
      Src: /src/openssl/crypto/evp/kem.c:343,1
    - Dst: OSSL_FUNC_kem_decapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:349,1
    - Dst: OSSL_FUNC_kem_auth_decapsulate_init
      Src: /src/openssl/crypto/evp/kem.c:355,1
    - Dst: OSSL_FUNC_kem_decapsulate
      Src: /src/openssl/crypto/evp/kem.c:361,1
    - Dst: OSSL_FUNC_kem_freectx
      Src: /src/openssl/crypto/evp/kem.c:367,1
    - Dst: OSSL_FUNC_kem_dupctx
      Src: /src/openssl/crypto/evp/kem.c:373,1
    - Dst: OSSL_FUNC_kem_get_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:379,1
    - Dst: OSSL_FUNC_kem_gettable_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:386,1
    - Dst: OSSL_FUNC_kem_set_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:393,1
    - Dst: OSSL_FUNC_kem_settable_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/evp/kem.c:422,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/crypto/evp/kem.c:428,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 102
    argCount: 3
    argNames:
    - name_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 430
    functionName: evp_kem_from_algorithm
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_kem_freectx
    - OSSL_FUNC_kem_dupctx
    - ERR_raise
    - evp_kem_new
    - OSSL_FUNC_kem_settable_ctx_params
    - EVP_KEM_free
    - OSSL_FUNC_kem_decapsulate_init
    - OSSL_FUNC_kem_set_ctx_params
    - OSSL_FUNC_kem_auth_encapsulate_init
    - OSSL_FUNC_kem_encapsulate
    - OSSL_FUNC_kem_decapsulate
    - OSSL_FUNC_kem_newctx
    - OSSL_FUNC_kem_get_ctx_params
    - OSSL_FUNC_kem_auth_decapsulate_init
    - OSSL_FUNC_kem_gettable_ctx_params
    - OSSL_FUNC_kem_encapsulate_init
    linkageType: ''
    returnType: void
    signature: "void *evp_kem_from_algorithm(int name_id, const OSSL_ALGORITHM *algodef,\n
      \                                   OSSL_PROVIDER *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/evp/kem.c:439,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kem.c:442,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/evp/kem.c:443,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/evp/kem.c:444,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/evp/kem.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 446
    functionName: EVP_KEM_free
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void EVP_KEM_free(EVP_KEM *kem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/evp/kem.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: EVP_KEM_up_ref
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 2
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EVP_KEM_up_ref(EVP_KEM *kem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: EVP_KEM_get0_provider
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *EVP_KEM_get0_provider(const EVP_KEM *kem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch
      Src: /src/openssl/crypto/evp/kem.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - algorithm
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 9
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: EVP_KEM_fetch
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - evp_generic_fetch
    linkageType: ''
    returnType: EVP_KEM
    signature: "EVP_KEM *EVP_KEM_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,\n
      \                      const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_fetch_from_prov
      Src: /src/openssl/crypto/evp/kem.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prov
    - algorithm
    - properties
    argTypes:
    - OSSL_PROVIDER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 9
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: evp_kem_fetch_from_prov
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 1
    functionsReached:
    - evp_generic_fetch_from_prov
    linkageType: ''
    returnType: EVP_KEM
    signature: "EVP_KEM *evp_kem_fetch_from_prov(OSSL_PROVIDER *prov, const char *algorithm,\n
      \                                const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_is_a
      Src: /src/openssl/crypto/evp/kem.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - kem
    - name
    argTypes:
    - EVP_KEM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 8
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: EVP_KEM_is_a
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - evp_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_KEM_is_a(const EVP_KEM *kem, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: evp_kem_get_number
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int evp_kem_get_number(const EVP_KEM *kem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: EVP_KEM_get0_name
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_KEM_get0_name(const EVP_KEM *kem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: EVP_KEM_get0_description
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *EVP_KEM_get0_description(const EVP_KEM *kem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: evp_generic_do_all
      Src: /src/openssl/crypto/evp/kem.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - libctx
    - arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 499
    functionDepth: 9
    functionLinenumber: 499
    functionLinenumberEnd: 507
    functionName: EVP_KEM_do_all_provided
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - evp_generic_do_all
    linkageType: ''
    returnType: void
    signature: "void EVP_KEM_do_all_provided(OSSL_LIB_CTX *libctx,\n                             void
      (*fn)(EVP_KEM *kem, void *arg),\n                             void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_names_do_all
      Src: /src/openssl/crypto/evp/kem.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - kem
    - data
    argTypes:
    - EVP_KEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 509
    functionDepth: 8
    functionLinenumber: 509
    functionLinenumberEnd: 517
    functionName: EVP_KEM_names_do_all
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - evp_names_do_all
    linkageType: ''
    returnType: int
    signature: "int EVP_KEM_names_do_all(const EVP_KEM *kem,\n                         void
      (*fn)(const char *name, void *data),\n                         void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kem.c:526,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/kem.c:526,1
    - Dst: EVP_KEM*::gettable_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 528
    functionName: EVP_KEM_gettable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - EVP_KEM*::gettable_ctx_params
    - ossl_provider_ctx
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KEM_gettable_ctx_params(const EVP_KEM *kem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/evp/kem.c:537,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/crypto/evp/kem.c:537,1
    - Dst: EVP_KEM*::settable_ctx_params
      Src: /src/openssl/crypto/evp/kem.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - kem
    argTypes:
    - EVP_KEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: EVP_KEM_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/evp/kem.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - EVP_KEM_get0_provider
    - EVP_KEM*::settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *EVP_KEM_settable_ctx_params(const EVP_KEM *kem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_count
      Src: /src/openssl/crypto/cms/cms_att.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: CMS_signed_get_attr_count
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_count
    linkageType: ''
    returnType: int
    signature: int CMS_signed_get_attr_count(const CMS_SignerInfo *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_att.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - si
    - nid
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: CMS_signed_get_attr_by_NID
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, int
      lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/cms/cms_att.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - si
    - obj
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: CMS_signed_get_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT
      *obj,\n                               int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/cms/cms_att.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: CMS_signed_get_attr
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_delete_attr
      Src: /src/openssl/crypto/cms/cms_att.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: CMS_signed_delete_attr
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_delete_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr
      Src: /src/openssl/crypto/cms/cms_att.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - si
    - attr
    argTypes:
    - CMS_SignerInfo*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: CMS_signed_add1_attr
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ossl_x509at_add1_attr
    linkageType: ''
    returnType: int
    signature: int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_OBJ
      Src: /src/openssl/crypto/cms/cms_att.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - si
    - obj
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: CMS_signed_add1_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ossl_x509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si,\n                                const
      ASN1_OBJECT *obj, int type,\n                                const void *bytes,
      int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_att.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - si
    - nid
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: CMS_signed_add1_attr_by_NID
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ossl_x509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si,\n                                int
      nid, int type, const void *bytes, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_txt
      Src: /src/openssl/crypto/cms/cms_att.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - si
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - char*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: CMS_signed_add1_attr_by_txt
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ossl_x509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: "int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si,\n                                const
      char *attrname, int type,\n                                const void *bytes,
      int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_att.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - si
    - oid
    - lastpos
    - type
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: CMS_signed_get0_data_by_OBJ
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get0_data_by_OBJ
    linkageType: ''
    returnType: void
    signature: "void *CMS_signed_get0_data_by_OBJ(const CMS_SignerInfo *si,\n                                  const
      ASN1_OBJECT *oid,\n                                  int lastpos, int type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_count
      Src: /src/openssl/crypto/cms/cms_att.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: CMS_unsigned_get_attr_count
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_count
    linkageType: ''
    returnType: int
    signature: int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_att.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - si
    - nid
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: CMS_unsigned_get_attr_by_NID
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid,\n
      \                                int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/cms/cms_att.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - si
    - obj
    - lastpos
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: CMS_unsigned_get_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si,\n                                 const
      ASN1_OBJECT *obj, int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/cms/cms_att.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: CMS_unsigned_get_attr
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int
      loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_delete_attr
      Src: /src/openssl/crypto/cms/cms_att.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - loc
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: CMS_unsigned_delete_attr
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_delete_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr
      Src: /src/openssl/crypto/cms/cms_att.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - si
    - attr
    argTypes:
    - CMS_SignerInfo*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: CMS_unsigned_add1_attr
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ossl_x509at_add1_attr
    linkageType: ''
    returnType: int
    signature: int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_OBJ
      Src: /src/openssl/crypto/cms/cms_att.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - si
    - obj
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: CMS_unsigned_add1_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ossl_x509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si,\n                                  const
      ASN1_OBJECT *obj, int type,\n                                  const void *bytes,
      int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_att.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - si
    - nid
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - int
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: CMS_unsigned_add1_attr_by_NID
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ossl_x509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si,\n                                  int
      nid, int type,\n                                  const void *bytes, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509at_add1_attr_by_txt
      Src: /src/openssl/crypto/cms/cms_att.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - si
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - CMS_SignerInfo*
    - char*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: CMS_unsigned_add1_attr_by_txt
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ossl_x509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: "int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si,\n                                  const
      char *attrname, int type,\n                                  const void *bytes,
      int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_att.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - si
    - oid
    - lastpos
    - type
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OBJECT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: CMS_unsigned_get0_data_by_OBJ
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get0_data_by_OBJ
    linkageType: ''
    returnType: void
    signature: "void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT
      *oid,\n                                    int lastpos, int type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_att.c:218,1
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/cms/cms_att.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - nid
    - attrs
    - lastpos
    argTypes:
    - int
    - STACK_OF*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: cms_attrib_get
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: "X509_ATTRIBUTE *cms_attrib_get(int nid,\n                                      const
      STACK_OF(X509_ATTRIBUTE) *attrs,\n                                      int
      *lastpos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cms_attrib_get
      Src: /src/openssl/crypto/cms/cms_att.c:232,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/cms/cms_att.c:235,1
    - Dst: cms_attrib_get
      Src: /src/openssl/crypto/cms/cms_att.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 5
    argNames:
    - nid
    - flags
    - type
    - attrs
    - have_attrs
    argTypes:
    - int
    - int
    - int
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: cms_check_attribute
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_count
    - cms_attrib_get
    linkageType: ''
    returnType: int
    signature: "int cms_check_attribute(int nid, int flags, int type,\n                               const
      STACK_OF(X509_ATTRIBUTE) *attrs,\n                               int have_attrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_signed_get_attr_count
      Src: /src/openssl/crypto/cms/cms_att.c:271,1
    - Dst: CMS_unsigned_get_attr_count
      Src: /src/openssl/crypto/cms/cms_att.c:272,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/cms/cms_att.c:274,1
    - Dst: cms_check_attribute
      Src: /src/openssl/crypto/cms/cms_att.c:278,1
    - Dst: cms_check_attribute
      Src: /src/openssl/crypto/cms/cms_att.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_att.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 287
    functionName: ossl_cms_si_check_attributes
    functionSourceFile: /src/openssl/crypto/cms/cms_att.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - cms_check_attribute
    - CMS_signed_get_attr_count
    - OSSL_NELEM
    - CMS_unsigned_get_attr_count
    linkageType: ''
    returnType: int
    signature: int ossl_cms_si_check_attributes(const CMS_SignerInfo *si)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_enc.c:41,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_enc.c:42,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_enc.c:46,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/crypto/cms/cms_enc.c:46,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:48,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/cms/cms_enc.c:52,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_enc.c:54,1
    - Dst: EVP_get_cipherbyobj
      Src: /src/openssl/crypto/cms/cms_enc.c:63,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_enc.c:66,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/cms/cms_enc.c:66,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cms/cms_enc.c:72,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:73,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_enc.c:76,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_enc.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:79,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_enc.c:84,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_enc.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:86,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/cms/cms_enc.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:92,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/cms/cms_enc.c:97,1
    - Dst: evp_cipher_asn1_to_param_ex
      Src: /src/openssl/crypto/cms/cms_enc.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:103,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_enc.c:106,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/cms/cms_enc.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:111,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_enc.c:116,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_enc.c:123,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/crypto/cms/cms_enc.c:126,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_enc.c:137,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/crypto/cms/cms_enc.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:149,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_enc.c:153,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_enc.c:157,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_enc.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:163,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cms/cms_enc.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:169,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_enc.c:172,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cms/cms_enc.c:173,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/crypto/cms/cms_enc.c:175,1
    - Dst: evp_cipher_param_to_asn1_ex
      Src: /src/openssl/crypto/cms/cms_enc.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:181,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_enc.c:186,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_enc.c:193,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_enc.c:195,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_enc.c:198,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_enc.c:201,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 147
    argCount: 2
    argNames:
    - ec
    - cms_ctx
    argTypes:
    - CMS_EncryptedContentInfo*
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 25
    functionDepth: 7
    functionLinenumber: 25
    functionLinenumberEnd: 203
    functionName: ossl_cms_EncryptedContent_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_enc.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - evp_cipher_param_to_asn1_ex
    - ERR_pop_to_mark
    - memcpy
    - EVP_CIPHER_CTX_get_key_length
    - BIO_get_cipher_ctx
    - BIO_new
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_get_tag_length
    - ERR_clear_error
    - evp_cipher_asn1_to_param_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_free
    - EVP_CIPHER_get_flags
    - ossl_cms_ctx_get0_propq
    - OBJ_nid2obj
    - EVP_CIPHER_CTX_set_key_length
    - ERR_clear_last_mark
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_get_type
    - BIO_f_cipher
    - EVP_CIPHER_CTX_rand_key
    - BIO_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_get_cipherbyobj
    - EVP_CIPHER_get0_name
    - OPENSSL_clear_free
    - ERR_set_mark
    - ASN1_TYPE_new
    - ASN1_TYPE_free
    - RAND_bytes_ex
    linkageType: ''
    returnType: BIO
    signature: "BIO *ossl_cms_EncryptedContent_init_bio(CMS_EncryptedContentInfo *ec,\n
      \                                       const CMS_CTX *cms_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_enc.c:212,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cms/cms_enc.c:214,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_enc.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ec
    - cipher
    - key
    - keylen
    - cms_ctx
    argTypes:
    - CMS_EncryptedContentInfo*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: ossl_cms_EncryptedContent_init
    functionSourceFile: /src/openssl/crypto/cms/cms_enc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OBJ_nid2obj
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_EncryptedContent_init(CMS_EncryptedContentInfo *ec,\n
      \                                  const EVP_CIPHER *cipher,\n                                   const
      unsigned char *key, size_t keylen,\n                                   const
      CMS_CTX *cms_ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:228,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_enc.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:234,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_enc.c:237,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_enc.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_enc.c:240,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/openssl/crypto/cms/cms_enc.c:244,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_enc.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - cms
    - ciph
    - key
    - keylen
    argTypes:
    - CMS_ContentInfo*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 246
    functionName: CMS_EncryptedData_set1_key
    functionSourceFile: /src/openssl/crypto/cms/cms_enc.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - ERR_raise
    - OBJ_nid2obj
    - ossl_cms_EncryptedContent_init
    - OBJ_obj2nid
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: int
    signature: "int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER
      *ciph,\n                               const unsigned char *key, size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/openssl/crypto/cms/cms_enc.c:253,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_enc.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 8
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: ossl_cms_EncryptedData_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_enc.c
    functionUses: 0
    functionsReached:
    - ossl_cms_EncryptedContent_init_bio
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_cms_EncryptedData_init_bio(const CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cms/cms_err.c:182,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/cms/cms_err.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: ossl_err_load_CMS_strings
    functionSourceFile: /src/openssl/crypto/cms/cms_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_CMS_strings(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:27,1
    - Dst: strlen
      Src: /src/openssl/crypto/cms/cms_pwri.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ri
    - pass
    - passlen
    argTypes:
    - CMS_RecipientInfo*
    - unsigned char*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 37
    functionName: CMS_RecipientInfo_set0_password
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - strlen
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri,\n                                    unsigned
      char *pass, ossl_ssize_t passlen)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_pwri.c:46,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_pwri.c:54,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_pwri.c:56,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_pwri.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:71,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_pwri.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:79,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cms/cms_pwri.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:86,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_pwri.c:89,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:91,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:96,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/crypto/cms/cms_pwri.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:102,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:107,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_pwri.c:107,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:110,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cms/cms_pwri.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:115,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/cms/cms_pwri.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:119,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_pwri.c:124,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_pwri.c:124,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:126,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_pwri.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:132,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_pwri.c:136,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:138,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:146,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cms/cms_pwri.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:149,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_pwri.c:152,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cms/cms_pwri.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:155,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/cms/cms_pwri.c:159,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_pwri.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:162,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:167,1
    - Dst: PKCS5_pbkdf2_set_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:172,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/openssl/crypto/cms/cms_pwri.c:178,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/openssl/crypto/cms/cms_pwri.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:182,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:189,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_pwri.c:191,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:192,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 127
    argCount: 7
    argNames:
    - cms
    - iter
    - wrap_nid
    - pbe_nid
    - pass
    - passlen
    - kekciph
    argTypes:
    - CMS_ContentInfo*
    - int
    - int
    - int
    - unsigned char*
    - ossl_ssize_t
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 195
    functionName: CMS_add0_recipient_password
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_param_to_asn1
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - X509_ALGOR_free
    - sk_CMS_RecipientInfo_push
    - CMS_RecipientInfo_set0_password
    - EVP_EncryptInit_ex
    - ossl_cms_get0_env_enc_content
    - EVP_CIPHER_CTX_get_iv_length
    - M_ASN1_new_of
    - M_ASN1_free_of
    - EVP_CIPHER_get_flags
    - OBJ_nid2obj
    - ASN1_item_pack
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_CTX_get_type
    - STACK_OF
    - CMS_get0_RecipientInfos
    - EVP_CIPHER_CTX_new
    - PKCS5_pbkdf2_set_ex
    - ASN1_ITEM_rptr
    - X509_ALGOR_new
    - ASN1_TYPE_new
    - EVP_CIPHER_CTX_free
    - RAND_bytes_ex
    linkageType: ''
    returnType: CMS_RecipientInfo
    signature: "CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms,\n
      \                                              int iter, int wrap_nid,\n                                               int
      pbe_nid,\n                                               unsigned char *pass,\n
      \                                              ossl_ssize_t passlen,\n                                               const
      EVP_CIPHER *kekciph)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/cms/cms_pwri.c:206,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_pwri.c:221,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:224,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:231,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:234,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:237,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:239,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cms/cms_pwri.c:251,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:254,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 5
    argNames:
    - out
    - outlen
    - in
    - inlen
    - ctx
    argTypes:
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 202
    functionDepth: 6
    functionLinenumber: 202
    functionLinenumberEnd: 257
    functionName: kek_unwrap_key
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - memcpy
    - EVP_CIPHER_CTX_get_block_size
    - EVP_DecryptInit_ex
    - OPENSSL_clear_free
    - EVP_DecryptUpdate
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int kek_unwrap_key(unsigned char *out, size_t *outlen,\n                          const
      unsigned char *in, size_t inlen,\n                          EVP_CIPHER_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/crypto/cms/cms_pwri.c:263,1
    - Dst: memcpy
      Src: /src/openssl/crypto/cms/cms_pwri.c:290,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:293,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_pwri.c:293,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:297,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/cms/cms_pwri.c:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - out
    - outlen
    - in
    - inlen
    - ctx
    - cms_ctx
    argTypes:
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - EVP_CIPHER_CTX*
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 305
    functionName: kek_wrap_key
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - EVP_EncryptUpdate
    - memcpy
    - EVP_CIPHER_CTX_get_block_size
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: "int kek_wrap_key(unsigned char *out, size_t *outlen,\n                        const
      unsigned char *in, size_t inlen,\n                        EVP_CIPHER_CTX *ctx,
      const CMS_CTX *cms_ctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_pwri.c:321,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_pwri.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:328,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_pwri.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:334,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/cms/cms_pwri.c:338,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_pwri.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:342,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_pwri.c:346,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_pwri.c:347,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_pwri.c:347,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_pwri.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:351,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_pwri.c:355,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:357,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:361,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/crypto/cms/cms_pwri.c:363,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/cms/cms_pwri.c:364,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:365,1
    - Dst: EVP_PBE_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_pwri.c:373,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:377,1
    - Dst: kek_wrap_key
      Src: /src/openssl/crypto/cms/cms_pwri.c:385,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_pwri.c:388,1
    - Dst: kek_wrap_key
      Src: /src/openssl/crypto/cms/cms_pwri.c:393,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_pwri.c:398,1
    - Dst: kek_unwrap_key
      Src: /src/openssl/crypto/cms/cms_pwri.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_pwri.c:404,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:408,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:417,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:421,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_pwri.c:422,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 3
    argNames:
    - cms
    - ri
    - en_de
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 309
    functionDepth: 7
    functionLinenumber: 309
    functionLinenumberEnd: 426
    functionName: ossl_cms_RecipientInfo_pwri_crypt
    functionSourceFile: /src/openssl/crypto/cms/cms_pwri.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2txt
    - ossl_cms_ctx_get0_libctx
    - EVP_CIPHER_CTX_set_padding
    - OPENSSL_free
    - X509_ALGOR_free
    - ossl_cms_get0_env_enc_content
    - EVP_CIPHER_asn1_to_param
    - EVP_CIPHER_free
    - ossl_cms_ctx_get0_propq
    - OBJ_obj2nid
    - OPENSSL_malloc
    - ossl_cms_get0_cmsctx
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - kek_wrap_key
    - EVP_CIPHER_CTX_new
    - OPENSSL_clear_free
    - ASN1_ITEM_rptr
    - kek_unwrap_key
    - ASN1_TYPE_unpack_sequence
    - EVP_CIPHER_CTX_free
    - EVP_PBE_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_RecipientInfo_pwri_crypt(const CMS_ContentInfo *cms,\n
      \                                     CMS_RecipientInfo *ri, int en_de)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/cms/cms_ec.c:33,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/cms/cms_ec.c:38,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:39,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/cms/cms_ec.c:42,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/crypto/cms/cms_ec.c:49,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/crypto/cms/cms_ec.c:50,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_ec.c:52,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/openssl/crypto/cms/cms_ec.c:53,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:54,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/crypto/cms/cms_ec.c:57,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_ec.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:63,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_ec.c:67,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_ec.c:68,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/cms/cms_ec.c:69,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - ptype
    - pval
    - libctx
    - propq
    argTypes:
    - int
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 20
    functionDepth: 8
    functionLinenumber: 20
    functionLinenumberEnd: 71
    functionName: pkey_type2param
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - ERR_raise
    - OBJ_obj2txt
    - EVP_PKEY_CTX_new_from_name
    - OSSL_DECODER_CTX_new_for_pkey
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_DECODER_from_data
    - EVP_PKEY_paramgen
    - EVP_PKEY_CTX_set_group_name
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *pkey_type2param(int ptype, const void *pval,\n                                 OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_ec.c:84,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_ec.c:85,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_ec.c:92,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/cms/cms_ec.c:96,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/crypto/cms/cms_ec.c:99,1
    - Dst: pkey_type2param
      Src: /src/openssl/crypto/cms/cms_ec.c:102,1
    - Dst: EVP_PKEY_CTX_get0_libctx
      Src: /src/openssl/crypto/cms/cms_ec.c:103,1
    - Dst: EVP_PKEY_CTX_get0_propq
      Src: /src/openssl/crypto/cms/cms_ec.c:104,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_ec.c:109,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_ec.c:110,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/crypto/cms/cms_ec.c:114,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/crypto/cms/cms_ec.c:117,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_ec.c:120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - pctx
    - alg
    - pubkey
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 73
    functionDepth: 10
    functionLinenumber: 73
    functionLinenumberEnd: 122
    functionName: ecdh_cms_set_peerkey
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - EVP_PKEY_CTX_get0_libctx
    - EVP_PKEY_CTX_get0_pkey
    - pkey_type2param
    - ASN1_STRING_length
    - X509_ALGOR_get0
    - ASN1_STRING_get0_data
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_free
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_CTX_get0_propq
    - EVP_PKEY_copy_parameters
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int ecdh_cms_set_peerkey(EVP_PKEY_CTX *pctx,\n                                X509_ALGOR
      *alg, ASN1_BIT_STRING *pubkey)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/cms/cms_ec.c:134,1
    - Dst: EVP_PKEY_CTX_set_ecdh_cofactor_mode
      Src: /src/openssl/crypto/cms/cms_ec.c:144,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_type
      Src: /src/openssl/crypto/cms/cms_ec.c:147,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/cms/cms_ec.c:150,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_md
      Src: /src/openssl/crypto/cms/cms_ec.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pctx
    - eckdf_nid
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 157
    functionName: ecdh_cms_set_kdf_param
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_ecdh_kdf_type
    - EVP_get_digestbynid
    - OBJ_find_sigid_algs
    - EVP_PKEY_CTX_set_ecdh_cofactor_mode
    - EVP_PKEY_CTX_set_ecdh_kdf_md
    linkageType: ''
    returnType: int
    signature: int ecdh_cms_set_kdf_param(EVP_PKEY_CTX *pctx, int eckdf_nid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/openssl/crypto/cms/cms_ec.c:171,1
    - Dst: ecdh_cms_set_kdf_param
      Src: /src/openssl/crypto/cms/cms_ec.c:174,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_ec.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:175,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_ec.c:184,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/crypto/cms/cms_ec.c:187,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_ec.c:190,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_ec.c:191,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/cms/cms_ec.c:192,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_ec.c:194,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/cms/cms_ec.c:196,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_ec.c:199,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_outlen
      Src: /src/openssl/crypto/cms/cms_ec.c:200,1
    - Dst: CMS_SharedInfo_encode
      Src: /src/openssl/crypto/cms/cms_ec.c:203,1
    - Dst: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
      Src: /src/openssl/crypto/cms/cms_ec.c:208,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_ec.c:214,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_ec.c:215,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_ec.c:216,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - pctx
    - ri
    argTypes:
    - EVP_PKEY_CTX*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 159
    functionDepth: 6
    functionLinenumber: 159
    functionLinenumberEnd: 218
    functionName: ecdh_cms_set_shared_info
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - ERR_raise
    - OBJ_obj2txt
    - CMS_SharedInfo_encode
    - CMS_RecipientInfo_kari_get0_alg
    - EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_asn1_to_param
    - EVP_PKEY_CTX_set_ecdh_kdf_outlen
    - OPENSSL_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - X509_ALGOR_free
    - d2i_X509_ALGOR
    - ecdh_cms_set_kdf_param
    - EVP_CIPHER_get_mode
    - OBJ_obj2nid
    - CMS_RecipientInfo_kari_get0_ctx
    linkageType: ''
    returnType: int
    signature: int ecdh_cms_set_shared_info(EVP_PKEY_CTX *pctx, CMS_RecipientInfo
      *ri)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_ec.c:224,1
    - Dst: EVP_PKEY_CTX_get0_peerkey
      Src: /src/openssl/crypto/cms/cms_ec.c:228,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/openssl/crypto/cms/cms_ec.c:232,1
    - Dst: ecdh_cms_set_peerkey
      Src: /src/openssl/crypto/cms/cms_ec.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:238,1
    - Dst: ecdh_cms_set_shared_info
      Src: /src/openssl/crypto/cms/cms_ec.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 220
    functionDepth: 11
    functionLinenumber: 220
    functionLinenumberEnd: 248
    functionName: ecdh_cms_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ecdh_cms_set_peerkey
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_PKEY_CTX_get0_peerkey
    - CMS_RecipientInfo_kari_get0_orig_id
    - ecdh_cms_set_shared_info
    linkageType: ''
    returnType: int
    signature: int ecdh_cms_decrypt(CMS_RecipientInfo *ri)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_ec.c:267,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_ec.c:271,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/openssl/crypto/cms/cms_ec.c:272,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_ec.c:275,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ec.c:277,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/crypto/cms/cms_ec.c:281,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_ec.c:284,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/cms/cms_ec.c:285,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_ec.c:288,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ec.c:288,1
    - Dst: EVP_PKEY_CTX_get_ecdh_kdf_type
      Src: /src/openssl/crypto/cms/cms_ec.c:293,1
    - Dst: EVP_PKEY_CTX_get_ecdh_kdf_md
      Src: /src/openssl/crypto/cms/cms_ec.c:296,1
    - Dst: EVP_PKEY_CTX_get_ecdh_cofactor_mode
      Src: /src/openssl/crypto/cms/cms_ec.c:298,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_type
      Src: /src/openssl/crypto/cms/cms_ec.c:308,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/cms/cms_ec.c:315,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_md
      Src: /src/openssl/crypto/cms/cms_ec.c:316,1
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/openssl/crypto/cms/cms_ec.c:320,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/crypto/cms/cms_ec.c:325,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cms/cms_ec.c:325,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/crypto/cms/cms_ec.c:328,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_ec.c:329,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_ec.c:330,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cms/cms_ec.c:334,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ec.c:337,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cms/cms_ec.c:338,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/cms/cms_ec.c:341,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/cms/cms_ec.c:343,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_ec.c:344,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_outlen
      Src: /src/openssl/crypto/cms/cms_ec.c:348,1
    - Dst: CMS_SharedInfo_encode
      Src: /src/openssl/crypto/cms/cms_ec.c:351,1
    - Dst: EVP_PKEY_CTX_set0_ecdh_kdf_ukm
      Src: /src/openssl/crypto/cms/cms_ec.c:356,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_ec.c:364,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/cms/cms_ec.c:367,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_ec.c:370,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_ec.c:372,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ec.c:372,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_ec.c:374,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_ec.c:377,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_ec.c:378,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 102
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 250
    functionDepth: 10
    functionLinenumber: 250
    functionLinenumberEnd: 380
    functionName: ecdh_cms_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_param_to_asn1
    - CMS_SharedInfo_encode
    - EVP_CIPHER_CTX_get_key_length
    - EVP_PKEY_CTX_set_ecdh_kdf_outlen
    - OPENSSL_free
    - X509_ALGOR_free
    - EVP_MD_get_type
    - ASN1_STRING_set0
    - ossl_asn1_string_set_bits_left
    - i2d_X509_ALGOR
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_PKEY_CTX_get0_pkey
    - ASN1_STRING_new
    - EVP_PKEY_CTX_get_ecdh_cofactor_mode
    - OBJ_nid2obj
    - X509_ALGOR_set0
    - EVP_CIPHER_CTX_get_type
    - EVP_PKEY_CTX_get_ecdh_kdf_type
    - EVP_PKEY_CTX_set_ecdh_kdf_type
    - EVP_PKEY_get1_encoded_public_key
    - EVP_PKEY_CTX_set0_ecdh_kdf_ukm
    - EVP_PKEY_CTX_get_ecdh_kdf_md
    - EVP_PKEY_CTX_set_ecdh_kdf_md
    - CMS_RecipientInfo_kari_get0_ctx
    - ASN1_TYPE_get
    - CMS_RecipientInfo_kari_get0_alg
    - CMS_RecipientInfo_kari_get0_orig_id
    - ASN1_STRING_free
    - X509_ALGOR_get0
    - EVP_sha1
    - X509_ALGOR_new
    - ASN1_TYPE_new
    - ASN1_TYPE_free
    - OBJ_find_sigid_by_algs
    linkageType: ''
    returnType: int
    signature: int ecdh_cms_encrypt(CMS_RecipientInfo *ri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/cms/cms_ec.c:384,1
    - Dst: ecdh_cms_decrypt
      Src: /src/openssl/crypto/cms/cms_ec.c:387,1
    - Dst: ecdh_cms_encrypt
      Src: /src/openssl/crypto/cms/cms_ec.c:390,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ec.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - CMS_RecipientInfo*
    - int
    assertStmts:
    - condition: (decrypt == 0 || decrypt == 1)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/openssl/crypto/cms/cms_ec.c
    constantsTouched: []
    func_position:
      end: 394
      start: 382
    functionDepth: 12
    functionLinenumber: 382
    functionLinenumberEnd: 394
    functionName: ossl_cms_ecdh_envelope
    functionSourceFile: /src/openssl/crypto/cms/cms_ec.c
    functionUses: 0
    functionsReached:
    - ecdh_cms_decrypt
    - ecdh_cms_encrypt
    - ERR_raise
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_cms_ecdh_envelope(CMS_RecipientInfo *ri, int decrypt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_lib.c:34,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/cms/cms_lib.c:36,1
    - Dst: CMS_ContentInfo_it
      Src: /src/openssl/crypto/cms/cms_lib.c:37,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:38,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_lib.c:39,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_lib.c:41,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:42,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_lib.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - CMS_ContentInfo**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: d2i_CMS_ContentInfo
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - ERR_pop_to_mark
    - ASN1_item_d2i_ex
    - ERR_set_mark
    - ossl_cms_resolve_libctx
    - CMS_ContentInfo_it
    - ossl_cms_ctx_get0_propq
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *d2i_CMS_ContentInfo(CMS_ContentInfo **a,\n                                     const
      unsigned char **in, long len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cms/cms_lib.c:50,1
    - Dst: CMS_ContentInfo_it
      Src: /src/openssl/crypto/cms/cms_lib.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - CMS_ContentInfo*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: i2d_CMS_ContentInfo
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - CMS_ContentInfo_it
    - ASN1_item_i2d
    linkageType: ''
    returnType: int
    signature: int i2d_CMS_ContentInfo(const CMS_ContentInfo *a, unsigned char **out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/openssl/crypto/cms/cms_lib.c:57,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_lib.c:57,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/cms/cms_lib.c:63,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_lib.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: CMS_ContentInfo_new_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_item_new_ex
    - OPENSSL_strdup
    - ASN1_ITEM_rptr
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *CMS_ContentInfo_new_ex(OSSL_LIB_CTX *libctx, const
      char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ossl_cms_get0_cmsctx
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CMS_CTX
    signature: CMS_CTX *ossl_cms_get0_cmsctx(const CMS_ContentInfo *cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ossl_cms_ctx_get0_libctx
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_cms_ctx_get0_libctx(const CMS_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ossl_cms_ctx_get0_propq
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_cms_ctx_get0_propq(const CMS_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_lib.c:92,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_lib.c:93,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:94,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_lib.c:95,1
    - Dst: ossl_cms_SignerInfos_set_cmsctx
      Src: /src/openssl/crypto/cms/cms_lib.c:97,1
    - Dst: ossl_cms_RecipientInfos_set_cmsctx
      Src: /src/openssl/crypto/cms/cms_lib.c:98,1
    - Dst: cms_get0_certificate_choices
      Src: /src/openssl/crypto/cms/cms_lib.c:100,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/openssl/crypto/cms/cms_lib.c:102,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_lib.c:103,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ci
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: ossl_cms_resolve_libctx
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 1
    functionsReached:
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - ossl_cms_ctx_get0_libctx
    - ossl_x509_set0_libctx
    - STACK_OF
    - cms_get0_certificate_choices
    - ossl_cms_ctx_get0_propq
    - ossl_cms_RecipientInfos_set_cmsctx
    - ossl_cms_SignerInfos_set_cmsctx
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: void
    signature: void ossl_cms_resolve_libctx(CMS_ContentInfo *ci)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: CMS_get0_type
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_lib.c:117,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_lib.c:120,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_lib.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: ossl_cms_Data_create
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - CMS_set_detached
    - OBJ_nid2obj
    - CMS_ContentInfo_new_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *ossl_cms_Data_create(OSSL_LIB_CTX *libctx, const char
      *propq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_lib.c:129,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_lib.c:135,1
    - Dst: BIO_s_null
      Src: /src/openssl/crypto/cms/cms_lib.c:135,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_lib.c:140,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cms/cms_lib.c:140,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/cms/cms_lib.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: ossl_cms_content_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - CMS_get0_content
    - BIO_new
    - BIO_s_null
    - BIO_s_mem
    - BIO_new_mem_buf
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_cms_content_bio(CMS_ContentInfo *cms)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_content_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:151,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:153,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:156,1
    - Dst: ossl_cms_SignedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:162,1
    - Dst: ossl_cms_DigestedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:166,1
    - Dst: ossl_cms_CompressedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:170,1
    - Dst: ossl_cms_EncryptedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:175,1
    - Dst: ossl_cms_EnvelopedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:179,1
    - Dst: ossl_cms_AuthEnvelopedData_init_bio
      Src: /src/openssl/crypto/cms/cms_lib.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:187,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/cms/cms_lib.c:192,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_lib.c:195,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - cms
    - icont
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 145
    functionDepth: 9
    functionLinenumber: 145
    functionLinenumberEnd: 198
    functionName: CMS_dataInit
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ossl_cms_SignedData_init_bio
    - ossl_cms_EncryptedData_init_bio
    - ossl_cms_AuthEnvelopedData_init_bio
    - ossl_cms_content_bio
    - ERR_raise
    - ossl_cms_EnvelopedData_init_bio
    - BIO_free
    - ossl_cms_DigestedData_init_bio
    - BIO_push
    - ossl_cms_CompressedData_init_bio
    - OBJ_obj2nid
    linkageType: ''
    returnType: BIO
    signature: BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_DataFinal
      Src: /src/openssl/crypto/cms/cms_lib.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - cmsbio
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: CMS_dataFinal
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ossl_cms_DataFinal
    linkageType: ''
    returnType: int
    signature: int CMS_dataFinal(CMS_ContentInfo *cms, BIO *cmsbio)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_lib.c:210,1
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/cms/cms_lib.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:221,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/cms/cms_lib.c:224,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/cms/cms_lib.c:226,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/cms/cms_lib.c:227,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_lib.c:228,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:232,1
    - Dst: ossl_cms_EnvelopedData_final
      Src: /src/openssl/crypto/cms/cms_lib.c:241,1
    - Dst: ossl_cms_AuthEnvelopedData_final
      Src: /src/openssl/crypto/cms/cms_lib.c:244,1
    - Dst: ossl_cms_SignedData_final
      Src: /src/openssl/crypto/cms/cms_lib.c:247,1
    - Dst: ossl_cms_DigestedData_do_final
      Src: /src/openssl/crypto/cms/cms_lib.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - cms
    - cmsbio
    - precomp_md
    - precomp_mdlen
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 256
    functionName: ossl_cms_DataFinal
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 1
    functionsReached:
    - CMS_get0_content
    - BIO_set_flags
    - ERR_raise
    - ASN1_STRING_set0
    - ossl_cms_EnvelopedData_final
    - ossl_cms_AuthEnvelopedData_final
    - BIO_set_mem_eof_return
    - ossl_cms_SignedData_final
    - ossl_cms_DigestedData_do_final
    - BIO_get_mem_data
    - BIO_find_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_DataFinal(CMS_ContentInfo *cms, BIO *cmsbio,\n                       const
      unsigned char *precomp_md,\n                       unsigned int precomp_mdlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:265,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 299
    functionName: CMS_get0_content
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 336
    functionName: cms_get0_econtent_type
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT **cms_get0_econtent_type(CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_econtent_type
      Src: /src/openssl/crypto/cms/cms_lib.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: CMS_get0_eContentType
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - cms_get0_econtent_type
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_econtent_type
      Src: /src/openssl/crypto/cms/cms_lib.c:351,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/cms/cms_lib.c:356,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_lib.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cms
    - oid
    argTypes:
    - CMS_ContentInfo*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: CMS_set1_eContentType
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_dup
    - cms_get0_econtent_type
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_lib.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: CMS_is_detached
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - CMS_get0_content
    linkageType: ''
    returnType: int
    signature: int CMS_is_detached(CMS_ContentInfo *cms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_lib.c:380,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_lib.c:384,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_lib.c:389,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cms
    - detached
    argTypes:
    - CMS_ContentInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: CMS_set_detached
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 1
    functionsReached:
    - CMS_get0_content
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: int CMS_set_detached(CMS_ContentInfo *cms, int detached)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_lib.c:413,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_lib.c:414,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_lib.c:416,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/cms/cms_lib.c:417,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_lib.c:417,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_lib.c:418,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/crypto/cms/cms_lib.c:423,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cms/cms_lib.c:425,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:426,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_lib.c:429,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_lib.c:431,1
    - Dst: BIO_f_md
      Src: /src/openssl/crypto/cms/cms_lib.c:431,1
    - Dst: BIO_set_md
      Src: /src/openssl/crypto/cms/cms_lib.c:432,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:433,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/cms/cms_lib.c:436,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/cms/cms_lib.c:437,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/cms/cms_lib.c:439,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/crypto/cms/cms_lib.c:445,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/cms/cms_lib.c:447,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/cms/cms_lib.c:449,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/crypto/cms/cms_lib.c:450,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cms/cms_lib.c:454,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cms/cms_lib.c:457,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_lib.c:458,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - digestAlgorithm
    - ctx
    argTypes:
    - X509_ALGOR*
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 403
    functionDepth: 10
    functionLinenumber: 403
    functionLinenumberEnd: 460
    functionName: ossl_cms_DigestAlgorithm_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OBJ_obj2txt
    - ossl_cms_ctx_get0_libctx
    - ERR_raise
    - ERR_pop_to_mark
    - EVP_MD_is_a
    - BIO_f_md
    - BIO_new
    - OSSL_PARAM_construct_size_t
    - ossl_cms_ctx_get0_propq
    - OSSL_PARAM_construct_end
    - BIO_get_md_ctx
    - ERR_clear_last_mark
    - EVP_MD_xof
    - BIO_free
    - BIO_set_md
    - EVP_MD_fetch
    - ERR_set_mark
    - X509_ALGOR_get0
    - EVP_get_digestbyobj
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: BIO
    signature: "BIO *ossl_cms_DigestAlgorithm_init_bio(X509_ALGOR *digestAlgorithm,\n
      \                                      const CMS_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_lib.c:469,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:470,1
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/cms/cms_lib.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:476,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/crypto/cms/cms_lib.c:479,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_lib.c:480,1
    - Dst: EVP_MD_get_pkey_type
      Src: /src/openssl/crypto/cms/cms_lib.c:485,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/cms/cms_lib.c:485,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/cms/cms_lib.c:486,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/cms/cms_lib.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - mctx
    - chain
    - mdalg
    argTypes:
    - EVP_MD_CTX*
    - BIO*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 464
    functionDepth: 8
    functionLinenumber: 464
    functionLinenumberEnd: 489
    functionName: ossl_cms_DigestAlgorithm_find_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_MD_CTX_get_type
    - EVP_MD_CTX_get0_md
    - X509_ALGOR_get0
    - EVP_MD_get_pkey_type
    - BIO_next
    - EVP_MD_CTX_copy_ex
    - BIO_get_md_ctx
    - BIO_find_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_DigestAlgorithm_find_ctx(EVP_MD_CTX *mctx, BIO *chain,\n
      \                                     X509_ALGOR *mdalg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:494,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 514
    functionName: cms_get0_certificate_choices
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF **cms_get0_certificate_choices(CMS_ContentInfo *cms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_lib.c:518,1
    - Dst: cms_get0_certificate_choices
      Src: /src/openssl/crypto/cms/cms_lib.c:521,1
    - Dst: sk_CMS_CertificateChoices_new_null
      Src: /src/openssl/crypto/cms/cms_lib.c:525,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_lib.c:528,1
    - Dst: sk_CMS_CertificateChoices_push
      Src: /src/openssl/crypto/cms/cms_lib.c:531,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_lib.c:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 536
    functionName: CMS_add0_CertificateChoices
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - M_ASN1_free_of
    - sk_CMS_CertificateChoices_push
    - STACK_OF
    - cms_get0_certificate_choices
    - sk_CMS_CertificateChoices_new_null
    linkageType: ''
    returnType: CMS_CertificateChoices
    signature: CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo
      *cms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_lib.c:541,1
    - Dst: cms_get0_certificate_choices
      Src: /src/openssl/crypto/cms/cms_lib.c:544,1
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/openssl/crypto/cms/cms_lib.c:547,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_lib.c:548,1
    - Dst: X509_cmp
      Src: /src/openssl/crypto/cms/cms_lib.c:550,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_lib.c:551,1
    - Dst: CMS_add0_CertificateChoices
      Src: /src/openssl/crypto/cms/cms_lib.c:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - CMS_ContentInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 562
    functionName: CMS_add0_cert
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - X509_cmp
    - X509_free
    - STACK_OF
    - cms_get0_certificate_choices
    - CMS_add0_CertificateChoices
    linkageType: ''
    returnType: int
    signature: int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cms/cms_lib.c:566,1
    - Dst: CMS_add0_cert
      Src: /src/openssl/crypto/cms/cms_lib.c:568,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_lib.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cms
    - cert
    argTypes:
    - CMS_ContentInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 4
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: CMS_add1_cert
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - X509_free
    - CMS_add0_cert
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_lib.c:577,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 597
    functionName: cms_get0_revocation_choices
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF **cms_get0_revocation_choices(CMS_ContentInfo *cms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_lib.c:601,1
    - Dst: cms_get0_revocation_choices
      Src: /src/openssl/crypto/cms/cms_lib.c:604,1
    - Dst: sk_CMS_RevocationInfoChoice_new_null
      Src: /src/openssl/crypto/cms/cms_lib.c:608,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_lib.c:611,1
    - Dst: sk_CMS_RevocationInfoChoice_push
      Src: /src/openssl/crypto/cms/cms_lib.c:614,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_lib.c:615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 619
    functionName: CMS_add0_RevocationInfoChoice
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - M_ASN1_free_of
    - sk_CMS_RevocationInfoChoice_push
    - sk_CMS_RevocationInfoChoice_new_null
    - STACK_OF
    - cms_get0_revocation_choices
    linkageType: ''
    returnType: CMS_RevocationInfoChoice
    signature: CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo
      *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_add0_RevocationInfoChoice
      Src: /src/openssl/crypto/cms/cms_lib.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cms
    - crl
    argTypes:
    - CMS_ContentInfo*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 630
    functionName: CMS_add0_crl
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - CMS_add0_RevocationInfoChoice
    linkageType: ''
    returnType: int
    signature: int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/cms/cms_lib.c:634,1
    - Dst: CMS_add0_crl
      Src: /src/openssl/crypto/cms/cms_lib.c:636,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/cms/cms_lib.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cms
    - crl
    argTypes:
    - CMS_ContentInfo*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 632
    functionDepth: 4
    functionLinenumber: 632
    functionLinenumberEnd: 640
    functionName: CMS_add1_crl
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - CMS_add0_crl
    - X509_CRL_up_ref
    - X509_CRL_free
    linkageType: ''
    returnType: int
    signature: int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/cms/cms_lib.c:736,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cms/cms_lib.c:736,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/cms/cms_lib.c:739,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/cms/cms_lib.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ias
    - cert
    argTypes:
    - CMS_IssuerAndSerialNumber*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 740
    functionName: ossl_cms_ias_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_cms_ias_cert_cmp(CMS_IssuerAndSerialNumber *ias, X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_subject_key_id
      Src: /src/openssl/crypto/cms/cms_lib.c:744,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/cms/cms_lib.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keyid
    - cert
    argTypes:
    - ASN1_OCTET_STRING*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 749
    functionName: ossl_cms_keyid_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - X509_get0_subject_key_id
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_cms_keyid_cert_cmp(ASN1_OCTET_STRING *keyid, X509 *cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_lib.c:754,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:756,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/cms/cms_lib.c:759,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cms/cms_lib.c:759,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:760,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/cms/cms_lib.c:763,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/cms/cms_lib.c:763,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:764,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_lib.c:767,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_lib.c:771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pias
    - cert
    argTypes:
    - CMS_IssuerAndSerialNumber**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 773
    functionName: ossl_cms_set1_ias
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - ERR_raise
    - X509_NAME_set
    - M_ASN1_free_of
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: int ossl_cms_set1_ias(CMS_IssuerAndSerialNumber **pias, X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_subject_key_id
      Src: /src/openssl/crypto/cms/cms_lib.c:779,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:781,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/cms/cms_lib.c:784,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_lib.c:786,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_lib.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pkeyid
    - cert
    argTypes:
    - ASN1_OCTET_STRING**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 792
    functionName: ossl_cms_set1_keyid
    functionSourceFile: /src/openssl/crypto/cms/cms_lib.c
    functionUses: 0
    functionsReached:
    - X509_get0_subject_key_id
    - ASN1_STRING_dup
    - ERR_raise
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: int ossl_cms_set1_keyid(ASN1_OCTET_STRING **pkeyid, X509 *cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_env.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: cms_get_enveloped_type_simple
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int cms_get_enveloped_type_simple(const CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_get_enveloped_type_simple
      Src: /src/openssl/crypto/cms/cms_env.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: cms_get_enveloped_type
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - cms_get_enveloped_type_simple
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int cms_get_enveloped_type(const CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_env.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: ossl_cms_get0_enveloped
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: CMS_EnvelopedData
    signature: CMS_EnvelopedData *ossl_cms_get0_enveloped(CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_env.c:72,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: ossl_cms_get0_auth_enveloped
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: CMS_AuthEnvelopedData
    signature: CMS_AuthEnvelopedData *ossl_cms_get0_auth_enveloped(CMS_ContentInfo
      *cms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:84,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:89,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_env.c:90,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:91,1
    - Dst: ossl_cms_get0_enveloped
      Src: /src/openssl/crypto/cms/cms_env.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: cms_enveloped_data_init
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - ERR_raise
    - ossl_cms_get0_enveloped
    - OBJ_nid2obj
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: CMS_EnvelopedData
    signature: CMS_EnvelopedData *cms_enveloped_data_init(CMS_ContentInfo *cms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:103,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:109,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_env.c:110,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:111,1
    - Dst: ossl_cms_get0_auth_enveloped
      Src: /src/openssl/crypto/cms/cms_env.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: cms_auth_enveloped_data_init
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - ERR_raise
    - OBJ_nid2obj
    - ossl_cms_get0_auth_enveloped
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: CMS_AuthEnvelopedData
    signature: 'CMS_AuthEnvelopedData *

      cms_auth_enveloped_data_init(CMS_ContentInfo *cms)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_env.c:131,1
    - Dst: ossl_cms_kem_envelope
      Src: /src/openssl/crypto/cms/cms_env.c:137,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:142,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:142,1
    - Dst: ossl_cms_dh_envelope
      Src: /src/openssl/crypto/cms/cms_env.c:143,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:144,1
    - Dst: ossl_cms_ecdh_envelope
      Src: /src/openssl/crypto/cms/cms_env.c:145,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:146,1
    - Dst: ossl_cms_rsa_envelope
      Src: /src/openssl/crypto/cms/cms_env.c:147,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:158,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - ri
    - cmd
    argTypes:
    - CMS_RecipientInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 117
    functionDepth: 13
    functionLinenumber: 117
    functionLinenumberEnd: 162
    functionName: ossl_cms_env_asn1_ctrl
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_kem_envelope
    - ossl_cms_ecdh_envelope
    - ERR_raise
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY*::ameth::pkey_ctrl
    - ossl_cms_rsa_envelope
    - ossl_cms_dh_envelope
    linkageType: ''
    returnType: int
    signature: int ossl_cms_env_asn1_ctrl(CMS_RecipientInfo *ri, int cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cms_get_enveloped_type
      Src: /src/openssl/crypto/cms/cms_env.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: ossl_cms_get0_env_enc_content
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 2
    functionsReached:
    - cms_get_enveloped_type
    linkageType: ''
    returnType: CMS_EncryptedContentInfo
    signature: CMS_EncryptedContentInfo *ossl_cms_get0_env_enc_content(const CMS_ContentInfo
      *cms)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:198,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_env.c:199,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_env.c:199,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_env.c:201,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_env.c:202,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:210,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:211,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 228
    functionName: ossl_cms_RecipientInfos_set_cmsctx
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - ossl_x509_set0_libctx
    - sk_CMS_RecipientInfo_num
    - STACK_OF
    - CMS_get0_RecipientInfos
    - ossl_cms_get0_cmsctx
    - ossl_cms_ctx_get0_propq
    - sk_CMS_RecipientInfo_value
    linkageType: ''
    returnType: void
    signature: void ossl_cms_RecipientInfos_set_cmsctx(CMS_ContentInfo *cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: CMS_RecipientInfo_type
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_type(CMS_RecipientInfo *ri)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: CMS_RecipientInfo_get0_pkey_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: EVP_PKEY_CTX *CMS_RecipientInfo_get0_pkey_ctx(CMS_RecipientInfo *ri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_env.c:253,1
    - Dst: cms_enveloped_data_init
      Src: /src/openssl/crypto/cms/cms_env.c:256,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/openssl/crypto/cms/cms_env.c:260,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:261,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_env.c:265,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - cipher
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 268
    functionName: CMS_EnvelopedData_create_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CMS_ContentInfo_new_ex
    - CMS_ContentInfo_free
    - ossl_cms_EncryptedContent_init
    - cms_enveloped_data_init
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_EnvelopedData_create_ex(const EVP_CIPHER *cipher,\n
      \                                            OSSL_LIB_CTX *libctx,\n                                             const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_EnvelopedData_create_ex
      Src: /src/openssl/crypto/cms/cms_env.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 4
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: CMS_EnvelopedData_create
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - CMS_EnvelopedData_create_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:285,1
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_env.c:289,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_env.c:290,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cms/cms_env.c:290,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:292,1
    - Dst: CMS_decrypt_set1_password
      Src: /src/openssl/crypto/cms/cms_env.c:295,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_env.c:296,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_env.c:297,1
    - Dst: CMS_decrypt
      Src: /src/openssl/crypto/cms/cms_env.c:299,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_env.c:307,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 8
    argNames:
    - env
    - detached_data
    - pkey
    - cert
    - secret
    - flags
    - libctx
    - propq
    argTypes:
    - CMS_EnvelopedData*
    - BIO*
    - EVP_PKEY*
    - X509*
    - ASN1_OCTET_STRING*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 313
    functionName: CMS_EnvelopedData_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ERR_raise
    - CMS_ContentInfo_new_ex
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - BIO_free
    - CMS_decrypt_set1_password
    - BIO_s_mem
    - OBJ_nid2obj
    - CMS_ContentInfo_free
    - CMS_decrypt
    linkageType: ''
    returnType: BIO
    signature: "BIO *CMS_EnvelopedData_decrypt(CMS_EnvelopedData *env, BIO *detached_data,\n
      \                              EVP_PKEY *pkey, X509 *cert,\n                               ASN1_OCTET_STRING
      *secret, unsigned int flags,\n                               OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_env.c:322,1
    - Dst: cms_auth_enveloped_data_init
      Src: /src/openssl/crypto/cms/cms_env.c:325,1
    - Dst: ossl_cms_EncryptedContent_init
      Src: /src/openssl/crypto/cms/cms_env.c:328,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:330,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_env.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - cipher
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: CMS_AuthEnvelopedData_create_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CMS_ContentInfo_new_ex
    - CMS_ContentInfo_free
    - ossl_cms_EncryptedContent_init
    - cms_auth_enveloped_data_init
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *\nCMS_AuthEnvelopedData_create_ex(const EVP_CIPHER
      *cipher, OSSL_LIB_CTX *libctx,\n                                const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_AuthEnvelopedData_create_ex
      Src: /src/openssl/crypto/cms/cms_env.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: CMS_AuthEnvelopedData_create
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - CMS_AuthEnvelopedData_create_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *CMS_AuthEnvelopedData_create(const EVP_CIPHER *cipher)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:356,1
    - Dst: ossl_cms_set1_SignerIdentifier
      Src: /src/openssl/crypto/cms/cms_env.c:377,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cms/cms_env.c:380,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/cms/cms_env.c:382,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_env.c:383,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_env.c:391,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:391,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:393,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/cms/cms_env.c:396,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - ri
    - recip
    - pk
    - flags
    - ctx
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    - EVP_PKEY*
    - unsigned int
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 349
    functionDepth: 14
    functionLinenumber: 349
    functionLinenumberEnd: 401
    functionName: cms_RecipientInfo_ktri_init
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_set1_SignerIdentifier
    - ossl_cms_env_asn1_ctrl
    - EVP_PKEY_encrypt_init
    - X509_up_ref
    - X509_free
    - EVP_PKEY_up_ref
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_cms_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: "int cms_RecipientInfo_ktri_init(CMS_RecipientInfo *ri, X509 *recip,\n
      \                                      EVP_PKEY *pk, unsigned int flags,\n                                       const
      CMS_CTX *ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_env.c:412,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:414,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_env.c:416,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:421,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:423,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/cms/cms_env.c:427,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:429,1
    - Dst: ossl_cms_pkey_get_ri_type
      Src: /src/openssl/crypto/cms/cms_env.c:433,1
    - Dst: cms_RecipientInfo_ktri_init
      Src: /src/openssl/crypto/cms/cms_env.c:436,1
    - Dst: ossl_cms_RecipientInfo_kari_init
      Src: /src/openssl/crypto/cms/cms_env.c:441,1
    - Dst: ossl_cms_RecipientInfo_kemri_init
      Src: /src/openssl/crypto/cms/cms_env.c:447,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:452,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/openssl/crypto/cms/cms_env.c:457,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:458,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_env.c:465,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 5
    argNames:
    - cms
    - recip
    - originatorPrivKey
    - originator
    - flags
    argTypes:
    - CMS_ContentInfo*
    - X509*
    - EVP_PKEY*
    - X509*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 407
    functionDepth: 15
    functionLinenumber: 407
    functionLinenumberEnd: 468
    functionName: CMS_add1_recipient
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - ossl_cms_RecipientInfo_kari_init
    - ERR_raise
    - X509_get0_pubkey
    - M_ASN1_free_of
    - cms_RecipientInfo_ktri_init
    - ossl_cms_pkey_get_ri_type
    - STACK_OF
    - sk_CMS_RecipientInfo_push
    - CMS_get0_RecipientInfos
    - ossl_cms_RecipientInfo_kemri_init
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: CMS_RecipientInfo
    signature: "CMS_RecipientInfo *CMS_add1_recipient(CMS_ContentInfo *cms, X509 *recip,\n
      \                                     EVP_PKEY *originatorPrivKey,\n                                      X509
      *originator, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_add1_recipient
      Src: /src/openssl/crypto/cms/cms_env.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - recip
    - flags
    argTypes:
    - CMS_ContentInfo*
    - X509*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 16
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: CMS_add1_recipient_cert
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - CMS_add1_recipient
    linkageType: ''
    returnType: CMS_RecipientInfo
    signature: "CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, X509
      *recip,\n                                           unsigned int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ri
    - pk
    - recip
    - palg
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY**
    - X509**
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 495
    functionName: CMS_RecipientInfo_ktri_get0_algs
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri,\n                                     EVP_PKEY
      **pk, X509 **recip,\n                                     X509_ALGOR **palg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:504,1
    - Dst: ossl_cms_SignerIdentifier_get0_signer_id
      Src: /src/openssl/crypto/cms/cms_env.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ri
    - keyid
    - issuer
    - sno
    argTypes:
    - CMS_RecipientInfo*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 511
    functionName: CMS_RecipientInfo_ktri_get0_signer_id
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cms_SignerIdentifier_get0_signer_id
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri,\n
      \                                         ASN1_OCTET_STRING **keyid,\n                                          X509_NAME
      **issuer,\n                                          ASN1_INTEGER **sno)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:516,1
    - Dst: ossl_cms_SignerIdentifier_cert_cmp
      Src: /src/openssl/crypto/cms/cms_env.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ri
    - cert
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: CMS_RecipientInfo_ktri_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cms_SignerIdentifier_cert_cmp
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:525,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_env.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ri
    - pkey
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 4
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: CMS_RecipientInfo_set0_pkey
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:548,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_env.c:552,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:557,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_env.c:560,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:560,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:562,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/cms/cms_env.c:566,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:570,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_env.c:573,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:577,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_env.c:580,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:586,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:588,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 535
    functionDepth: 14
    functionLinenumber: 535
    functionLinenumberEnd: 590
    functionName: cms_RecipientInfo_ktri_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_get0_env_enc_content
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_env_asn1_ctrl
    - EVP_PKEY_encrypt
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_cms_ctx_get0_propq
    - ASN1_STRING_set0
    - OPENSSL_malloc
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: int
    signature: "int cms_RecipientInfo_ktri_encrypt(const CMS_ContentInfo *cms,\n                                          CMS_RecipientInfo
      *ri)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:606,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:607,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:608,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_env.c:610,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:613,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_env.c:622,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_env.c:624,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_env.c:625,1
    - Dst: EVP_get_cipherbyobj
      Src: /src/openssl/crypto/cms/cms_env.c:630,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cms/cms_env.c:632,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:633,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_env.c:636,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/cms/cms_env.c:638,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_env.c:639,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_env.c:642,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/crypto/cms/cms_env.c:646,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:649,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:652,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/crypto/cms/cms_env.c:657,1
    - Dst: evp_pkey_decrypt_alloc
      Src: /src/openssl/crypto/cms/cms_env.c:659,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_env.c:666,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:671,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:674,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 594
    functionDepth: 14
    functionLinenumber: 594
    functionLinenumberEnd: 677
    functionName: cms_RecipientInfo_ktri_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - OBJ_obj2txt
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_ctrl_str
    - ERR_pop_to_mark
    - OPENSSL_free
    - ossl_cms_get0_env_enc_content
    - evp_pkey_decrypt_alloc
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_free
    - ossl_cms_ctx_get0_propq
    - EVP_CIPHER_get_key_length
    - ERR_clear_last_mark
    - ossl_cms_get0_cmsctx
    - ossl_cms_env_asn1_ctrl
    - EVP_PKEY_decrypt_init
    - EVP_CIPHER_fetch
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_get_cipherbyobj
    - OPENSSL_clear_free
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: "int cms_RecipientInfo_ktri_decrypt(CMS_ContentInfo *cms,\n                                          CMS_RecipientInfo
      *ri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:687,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/cms/cms_env.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ri
    - id
    - idlen
    argTypes:
    - CMS_RecipientInfo*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 696
    functionName: CMS_RecipientInfo_kekri_id_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri,\n                                   const
      unsigned char *id, size_t idlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 715
    functionName: aes_wrap_keylen
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t aes_wrap_keylen(int nid)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_env.c:726,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_env.c:726,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:746,1
    - Dst: aes_wrap_keylen
      Src: /src/openssl/crypto/cms/cms_env.c:752,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:755,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:760,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:767,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:769,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:773,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:775,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_env.c:783,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:785,1
    - Dst: sk_CMS_RecipientInfo_push
      Src: /src/openssl/crypto/cms/cms_env.c:790,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:791,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_env.c:802,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_env.c:811,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_env.c:811,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_env.c:817,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 9
    argNames:
    - cms
    - nid
    - key
    - keylen
    - id
    - idlen
    - date
    - otherTypeId
    - otherType
    argTypes:
    - CMS_ContentInfo*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - ASN1_GENERALIZEDTIME*
    - ASN1_OBJECT*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 819
    functionName: CMS_add0_recipient_key
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - M_ASN1_new_of
    - ERR_raise
    - M_ASN1_free_of
    - aes_wrap_keylen
    - STACK_OF
    - sk_CMS_RecipientInfo_push
    - CMS_get0_RecipientInfos
    - OBJ_nid2obj
    - ASN1_STRING_set0
    linkageType: ''
    returnType: CMS_RecipientInfo
    signature: "CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int
      nid,\n                                          unsigned char *key, size_t keylen,\n
      \                                         unsigned char *id, size_t idlen,\n
      \                                         ASN1_GENERALIZEDTIME *date,\n                                          ASN1_OBJECT
      *otherTypeId,\n                                          ASN1_TYPE *otherType)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - ri
    - palg
    - pid
    - pdate
    - potherid
    - pothertype
    argTypes:
    - CMS_RecipientInfo*
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    - ASN1_GENERALIZEDTIME**
    - ASN1_OBJECT**
    - ASN1_TYPE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 853
    functionName: CMS_RecipientInfo_kekri_get0_id
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri,\n                                    X509_ALGOR
      **palg,\n                                    ASN1_OCTET_STRING **pid,\n                                    ASN1_GENERALIZEDTIME
      **pdate,\n                                    ASN1_OBJECT **potherid,\n                                    ASN1_TYPE
      **pothertype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ri
    - key
    - keylen
    argTypes:
    - CMS_RecipientInfo*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 868
    functionName: CMS_RecipientInfo_set0_key
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri,\n                               unsigned
      char *key, size_t keylen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_env.c:887,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:887,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - keylen
    - ctx
    argTypes:
    - size_t
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 889
    functionName: cms_get_key_wrap_cipher
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_fetch
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_ctx_get0_propq
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *cms_get_key_wrap_cipher(size_t keylen, const CMS_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:905,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_env.c:907,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:914,1
    - Dst: cms_get_key_wrap_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:918,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:920,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_env.c:925,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_env.c:929,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:931,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_env.c:935,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_env.c:936,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/crypto/cms/cms_env.c:937,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/crypto/cms/cms_env.c:938,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:939,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cms/cms_env.c:943,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:944,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_env.c:948,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_env.c:953,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:955,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:956,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 894
    functionDepth: 8
    functionLinenumber: 894
    functionLinenumberEnd: 959
    functionName: cms_RecipientInfo_kekri_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - ossl_cms_get0_env_enc_content
    - EVP_CIPHER_CTX_new
    - ossl_assert
    - ERR_raise
    - EVP_CIPHER_CTX_set_flags
    - EVP_EncryptUpdate
    - EVP_EncryptFinal_ex
    - cms_get_key_wrap_cipher
    - OPENSSL_free
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - ASN1_STRING_set0
    - OPENSSL_malloc
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: int
    signature: "int cms_RecipientInfo_kekri_encrypt(const CMS_ContentInfo *cms,\n
      \                                          CMS_RecipientInfo *ri)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:974,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_env.c:976,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:983,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_env.c:987,1
    - Dst: aes_wrap_keylen
      Src: /src/openssl/crypto/cms/cms_env.c:988,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:989,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:996,1
    - Dst: cms_get_key_wrap_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:1000,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1002,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_env.c:1006,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_env.c:1010,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1012,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/crypto/cms/cms_env.c:1016,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/cms/cms_env.c:1017,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/crypto/cms/cms_env.c:1020,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1021,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_env.c:1026,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_env.c:1033,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:1035,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:1036,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 963
    functionDepth: 6
    functionLinenumber: 963
    functionLinenumberEnd: 1039
    functionName: cms_RecipientInfo_kekri_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_get0_env_enc_content
    - EVP_CIPHER_CTX_new
    - ERR_raise
    - EVP_DecryptFinal_ex
    - aes_wrap_keylen
    - OPENSSL_clear_free
    - EVP_DecryptInit_ex
    - EVP_DecryptUpdate
    - cms_get_key_wrap_cipher
    - OPENSSL_free
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - OBJ_obj2nid
    - OPENSSL_malloc
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: int
    signature: "int cms_RecipientInfo_kekri_decrypt(CMS_ContentInfo *cms,\n                                           CMS_RecipientInfo
      *ri)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cms_RecipientInfo_ktri_decrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1045,1
    - Dst: cms_RecipientInfo_kekri_decrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1048,1
    - Dst: ossl_cms_RecipientInfo_pwri_crypt
      Src: /src/openssl/crypto/cms/cms_env.c:1051,1
    - Dst: ossl_cms_RecipientInfo_kemri_decrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1054,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1041
    functionDepth: 15
    functionLinenumber: 1041
    functionLinenumberEnd: 1060
    functionName: CMS_RecipientInfo_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - cms_RecipientInfo_kekri_decrypt
    - ERR_raise
    - cms_RecipientInfo_ktri_decrypt
    - ossl_cms_RecipientInfo_pwri_crypt
    - ossl_cms_RecipientInfo_kemri_decrypt
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo
      *ri)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cms_RecipientInfo_ktri_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1066,1
    - Dst: ossl_cms_RecipientInfo_kari_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1069,1
    - Dst: cms_RecipientInfo_kekri_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1072,1
    - Dst: ossl_cms_RecipientInfo_pwri_crypt
      Src: /src/openssl/crypto/cms/cms_env.c:1075,1
    - Dst: ossl_cms_RecipientInfo_kemri_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1078,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1062
    functionDepth: 15
    functionLinenumber: 1062
    functionLinenumberEnd: 1084
    functionName: CMS_RecipientInfo_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_RecipientInfo_kemri_encrypt
    - ERR_raise
    - cms_RecipientInfo_kekri_encrypt
    - ossl_cms_RecipientInfo_kari_encrypt
    - cms_RecipientInfo_ktri_encrypt
    - ossl_cms_RecipientInfo_pwri_crypt
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_encrypt(const CMS_ContentInfo *cms, CMS_RecipientInfo
      *ri)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/openssl/crypto/cms/cms_env.c:1094,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_env.c:1096,1
    - Dst: sk_CMS_RevocationInfoChoice_num
      Src: /src/openssl/crypto/cms/cms_env.c:1106,1
    - Dst: sk_CMS_RevocationInfoChoice_value
      Src: /src/openssl/crypto/cms/cms_env.c:1108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - env
    argTypes:
    - CMS_EnvelopedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1114
    functionName: cms_env_set_originfo_version
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - sk_CMS_RevocationInfoChoice_value
    - sk_CMS_RevocationInfoChoice_num
    linkageType: ''
    returnType: void
    signature: void cms_env_set_originfo_version(CMS_EnvelopedData *env)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cms_env_set_originfo_version
      Src: /src/openssl/crypto/cms/cms_env.c:1127,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_env.c:1132,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_env.c:1133,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - env
    argTypes:
    - CMS_EnvelopedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1148
    functionName: cms_env_set_version
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - cms_env_set_originfo_version
    - sk_CMS_RecipientInfo_num
    - sk_CMS_RecipientInfo_value
    linkageType: ''
    returnType: void
    signature: void cms_env_set_version(CMS_EnvelopedData *env)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_env.c:1156,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_env.c:1157,1
    - Dst: CMS_RecipientInfo_encrypt
      Src: /src/openssl/crypto/cms/cms_env.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cms
    - ris
    argTypes:
    - CMS_ContentInfo*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1150
    functionDepth: 16
    functionLinenumber: 1150
    functionLinenumberEnd: 1162
    functionName: cms_env_encrypt_content_key
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - CMS_RecipientInfo_encrypt
    - sk_CMS_RecipientInfo_num
    - sk_CMS_RecipientInfo_value
    linkageType: ''
    returnType: int
    signature: "int cms_env_encrypt_content_key(const CMS_ContentInfo *cms,\n                                       STACK_OF(CMS_RecipientInfo)
      *ris)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_env.c:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ec
    argTypes:
    - CMS_EncryptedContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1170
    functionName: cms_env_clear_ec
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void cms_env_clear_ec(CMS_EncryptedContentInfo *ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/openssl/crypto/cms/cms_env.c:1175,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:1176,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/cms/cms_env.c:1182,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:1184,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_env.c:1191,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:1191,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1193,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:1195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1172
    functionDepth: 8
    functionLinenumber: 1172
    functionLinenumberEnd: 1199
    functionName: cms_EnvelopedData_Decryption_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - BIO_get_cipher_ctx
    - EVP_CIPHER_CTX_get0_cipher
    - ossl_cms_EncryptedContent_init_bio
    - BIO_free
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_get_flags
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: BIO
    signature: BIO *cms_EnvelopedData_Decryption_init_bio(CMS_ContentInfo *cms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_env.c:1204,1
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/openssl/crypto/cms/cms_env.c:1212,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:1212,1
    - Dst: cms_env_encrypt_content_key
      Src: /src/openssl/crypto/cms/cms_env.c:1220,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1221,1
    - Dst: cms_env_set_version
      Src: /src/openssl/crypto/cms/cms_env.c:1226,1
    - Dst: cms_env_clear_ec
      Src: /src/openssl/crypto/cms/cms_env.c:1231,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:1234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1201
    functionDepth: 17
    functionLinenumber: 1201
    functionLinenumberEnd: 1236
    functionName: cms_EnvelopedData_Encryption_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - ossl_cms_EncryptedContent_init_bio
    - ERR_raise
    - cms_env_clear_ec
    - cms_env_encrypt_content_key
    - BIO_free
    - STACK_OF
    - cms_env_set_version
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: BIO
    signature: BIO *cms_EnvelopedData_Encryption_init_bio(CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_EnvelopedData_Encryption_init_bio
      Src: /src/openssl/crypto/cms/cms_env.c:1242,1
    - Dst: cms_EnvelopedData_Decryption_init_bio
      Src: /src/openssl/crypto/cms/cms_env.c:1246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1238
    functionDepth: 18
    functionLinenumber: 1238
    functionLinenumberEnd: 1247
    functionName: ossl_cms_EnvelopedData_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - cms_EnvelopedData_Encryption_init_bio
    - cms_EnvelopedData_Decryption_init_bio
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_cms_EnvelopedData_init_bio(CMS_ContentInfo *cms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_env.c:1252,1
    - Dst: ossl_cms_EncryptedContent_init_bio
      Src: /src/openssl/crypto/cms/cms_env.c:1264,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_env.c:1264,1
    - Dst: cms_env_encrypt_content_key
      Src: /src/openssl/crypto/cms/cms_env.c:1272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1273,1
    - Dst: cms_env_clear_ec
      Src: /src/openssl/crypto/cms/cms_env.c:1283,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_env.c:1286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1249
    functionDepth: 17
    functionLinenumber: 1249
    functionLinenumberEnd: 1288
    functionName: ossl_cms_AuthEnvelopedData_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - ossl_cms_EncryptedContent_init_bio
    - ERR_raise
    - cms_env_clear_ec
    - cms_env_encrypt_content_key
    - BIO_free
    - STACK_OF
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_cms_AuthEnvelopedData_init_bio(CMS_ContentInfo *cms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/cms/cms_env.c:1294,1
    - Dst: ossl_cms_get0_enveloped
      Src: /src/openssl/crypto/cms/cms_env.c:1296,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1301,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/cms/cms_env.c:1305,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_env.c:1311,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:1311,1
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/openssl/crypto/cms/cms_env.c:1314,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1317,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1323,1
    - Dst: cms_env_set_version
      Src: /src/openssl/crypto/cms/cms_env.c:1328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - cms
    - chain
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1330
    functionName: ossl_cms_EnvelopedData_final
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - BIO_get_cipher_ctx
    - EVP_CIPHER_CTX_get0_cipher
    - ERR_raise
    - sk_X509_ATTRIBUTE_new_null
    - EVP_CIPHER_CTX_ctrl
    - ossl_cms_get0_enveloped
    - EVP_CIPHER_get_flags
    - BIO_find_type
    - cms_env_set_version
    linkageType: ''
    returnType: int
    signature: int ossl_cms_EnvelopedData_final(CMS_ContentInfo *cms, BIO *chain)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/cms/cms_env.c:1338,1
    - Dst: EVP_CIPHER_CTX_is_encrypting
      Src: /src/openssl/crypto/cms/cms_env.c:1344,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/crypto/cms/cms_env.c:1347,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_env.c:1349,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1350,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1352,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/cms/cms_env.c:1356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_env.c:1361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - cms
    - cmsbio
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1363
    functionName: ossl_cms_AuthEnvelopedData_final
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - BIO_get_cipher_ctx
    - ERR_raise
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_CIPHER_CTX_is_encrypting
    - ASN1_OCTET_STRING_set
    - EVP_CIPHER_CTX_ctrl
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ossl_cms_AuthEnvelopedData_final(CMS_ContentInfo *cms, BIO *cmsbio)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/cms/cms_env.c:1380,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/crypto/cms/cms_env.c:1381,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:1385,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:1387,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:1389,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:1391,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_env.c:1393,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1402,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/crypto/cms/cms_env.c:1411,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_env.c:1413,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/cms/cms_env.c:1414,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/crypto/cms/cms_env.c:1416,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/crypto/cms/cms_env.c:1418,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_env.c:1420,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_env.c:1422,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - pk
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1370
    functionDepth: 12
    functionLinenumber: 1370
    functionLinenumberEnd: 1425
    functionName: ossl_cms_pkey_get_ri_type
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_is_a
    - EVP_PKEY_derive_init
    - ERR_pop_to_mark
    - EVP_PKEY_CTX_new
    - ERR_set_mark
    - EVP_PKEY_encrypt_init
    - EVP_PKEY*::ameth::pkey_ctrl
    - EVP_PKEY_CTX_free
    - EVP_PKEY_get_int_param
    - EVP_PKEY_encapsulate_init
    - evp_pkey_is_provided
    linkageType: ''
    returnType: int
    signature: int ossl_cms_pkey_get_ri_type(EVP_PKEY *pk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1434,1
    - Dst: ossl_cms_pkey_get_ri_type
      Src: /src/openssl/crypto/cms/cms_env.c:1440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pk
    - ri_type
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1427
    functionDepth: 13
    functionLinenumber: 1427
    functionLinenumberEnd: 1445
    functionName: ossl_cms_pkey_is_ri_type_supported
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY*::ameth::pkey_ctrl
    - ossl_cms_pkey_get_ri_type
    linkageType: ''
    returnType: int
    signature: int ossl_cms_pkey_is_ri_type_supported(EVP_PKEY *pk, int ri_type)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1465,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/cms/cms_env.c:1470,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/crypto/cms/cms_env.c:1472,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/cms/cms_env.c:1478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_env.c:1480,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/crypto/cms/cms_env.c:1483,1
    - Dst: EVP_CIPHER_meth_get_ctrl
      Src: /src/openssl/crypto/cms/cms_env.c:1484,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/cms/cms_env.c:1490,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/cms/cms_env.c:1492,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/cms/cms_env.c:1502,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_env.c:1513,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_env.c:1513,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_env.c:1515,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_env.c:1518,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_env.c:1519,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - ri
    - cipher
    argTypes:
    - CMS_RecipientInfo*
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1447
    functionDepth: 6
    functionLinenumber: 1447
    functionLinenumberEnd: 1521
    functionName: ossl_cms_RecipientInfo_wrap_init
    functionSourceFile: /src/openssl/crypto/cms/cms_env.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get0_cipher
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - EVP_CIPHER_CTX_get_mode
    - EVP_CIPHER_get0_name
    - EVP_CIPHER_get_type
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_get_flags
    - ossl_cms_ctx_get0_propq
    - EVP_CIPHER_meth_get_ctrl
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_RecipientInfo_wrap_init(CMS_RecipientInfo *ri,\n                                     const
      EVP_CIPHER *cipher)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:30,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:34,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/cms/cms_ess.c:38,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:38,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/crypto/cms/cms_ess.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - si
    - prr
    argTypes:
    - CMS_SignerInfo*
    - CMS_ReceiptRequest**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: CMS_get1_ReceiptRequest
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - CMS_signed_get0_data_by_OBJ
    - ASN1_item_unpack
    - OBJ_nid2obj
    - CMS_ReceiptRequest_free
    linkageType: ''
    returnType: int
    signature: int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest
      **prr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:57,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:61,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/cms/cms_ess.c:65,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:65,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/cms/cms_ess.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - si
    - psc
    argTypes:
    - CMS_SignerInfo*
    - ESS_SIGNING_CERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: ossl_cms_signerinfo_get_signing_cert
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ESS_SIGNING_CERT_free
    - CMS_signed_get0_data_by_OBJ
    - ASN1_item_unpack
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_signerinfo_get_signing_cert(const CMS_SignerInfo *si,\n
      \                                               ESS_SIGNING_CERT **psc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:84,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:88,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/cms/cms_ess.c:92,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:92,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/cms/cms_ess.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - si
    - psc
    argTypes:
    - CMS_SignerInfo*
    - ESS_SIGNING_CERT_V2**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: ossl_cms_signerinfo_get_signing_cert_v2
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ESS_SIGNING_CERT_V2_free
    - ASN1_ITEM_rptr
    - CMS_signed_get0_data_by_OBJ
    - ASN1_item_unpack
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_signerinfo_get_signing_cert_v2(const CMS_SignerInfo *si,\n
      \                                                  ESS_SIGNING_CERT_V2 **psc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_signerinfo_get_signing_cert
      Src: /src/openssl/crypto/cms/cms_ess.c:107,1
    - Dst: ossl_cms_signerinfo_get_signing_cert_v2
      Src: /src/openssl/crypto/cms/cms_ess.c:108,1
    - Dst: OSSL_ESS_check_signing_certs
      Src: /src/openssl/crypto/cms/cms_ess.c:109,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/cms/cms_ess.c:111,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/cms/cms_ess.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - CMS_SignerInfo*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: ossl_cms_check_signing_certs
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ossl_cms_signerinfo_get_signing_cert
    - ESS_SIGNING_CERT_V2_free
    - ESS_SIGNING_CERT_free
    - OSSL_ESS_check_signing_certs
    - ossl_cms_signerinfo_get_signing_cert_v2
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_check_signing_certs(const CMS_SignerInfo *si,\n                                 const
      STACK_OF(X509) *chain)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ReceiptRequest_new
      Src: /src/openssl/crypto/cms/cms_ess.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:125,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_ess.c:129,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cms/cms_ess.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:132,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/cms/cms_ess.c:135,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/crypto/cms/cms_ess.c:140,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/crypto/cms/cms_ess.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - id
    - idlen
    - allorfirst
    - receiptList
    - receiptsTo
    - libctx
    argTypes:
    - unsigned char*
    - int
    - int
    - STACK_OF*
    - STACK_OF*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: CMS_ReceiptRequest_create0_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAMES_pop_free
    - ASN1_STRING_set0
    - ERR_raise
    - CMS_ReceiptRequest_new
    - ASN1_STRING_set
    - RAND_bytes_ex
    - CMS_ReceiptRequest_free
    linkageType: ''
    returnType: CMS_ReceiptRequest
    signature: "CMS_ReceiptRequest *CMS_ReceiptRequest_create0_ex(\n    unsigned char
      *id, int idlen, int allorfirst,\n    STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES)
      *receiptsTo,\n    OSSL_LIB_CTX *libctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ReceiptRequest_create0_ex
      Src: /src/openssl/crypto/cms/cms_ess.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - id
    - idlen
    - allorfirst
    - receiptList
    - receiptsTo
    argTypes:
    - unsigned char*
    - int
    - int
    - STACK_OF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: CMS_ReceiptRequest_create0
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - CMS_ReceiptRequest_create0_ex
    linkageType: ''
    returnType: CMS_ReceiptRequest
    signature: "CMS_ReceiptRequest *CMS_ReceiptRequest_create0(\n    unsigned char
      *id, int idlen, int allorfirst,\n    STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES)
      *receiptsTo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_CMS_ReceiptRequest
      Src: /src/openssl/crypto/cms/cms_ess.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:174,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_ess.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_ess.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - si
    - rr
    argTypes:
    - CMS_SignerInfo*
    - CMS_ReceiptRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: CMS_add1_ReceiptRequest
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - i2d_CMS_ReceiptRequest
    - CMS_signed_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest
      *rr)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - rr
    - pcid
    - pallorfirst
    - plist
    - prto
    argTypes:
    - CMS_ReceiptRequest*
    - ASN1_STRING**
    - int*
    - STACK_OF**
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 214
    functionName: CMS_ReceiptRequest_get0_values
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr,\n                                    ASN1_STRING
      **pcid,\n                                    int *pallorfirst,\n                                    STACK_OF(GENERAL_NAMES)
      **plist,\n                                    STACK_OF(GENERAL_NAMES) **prto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/crypto/cms/cms_ess.c:221,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/openssl/crypto/cms/cms_ess.c:225,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:225,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_ess.c:227,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_ess.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - si
    - dig
    - diglen
    argTypes:
    - CMS_SignerInfo*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: cms_msgSigDigest
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - ASN1_ITEM_rptr
    - ossl_asn1_item_digest_ex
    - EVP_get_digestbyobj
    - ossl_cms_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: "int cms_msgSigDigest(CMS_SignerInfo *si,\n                            unsigned
      char *dig, unsigned int *diglen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cms_msgSigDigest
      Src: /src/openssl/crypto/cms/cms_ess.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:241,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_ess.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - CMS_SignerInfo*
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: ossl_cms_msgSigDigest_add1
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - cms_msgSigDigest
    - ERR_raise
    - CMS_signed_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int ossl_cms_msgSigDigest_add1(CMS_SignerInfo *dest, CMS_SignerInfo
      *src)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_ess.c:259,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_ess.c:267,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_ess.c:268,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_ess.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:273,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_ess.c:278,1
    - Dst: CMS_get0_eContentType
      Src: /src/openssl/crypto/cms/cms_ess.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:279,1
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_ess.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:286,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/cms/cms_ess.c:290,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:290,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:293,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_ess.c:299,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_ess.c:300,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/cms/cms_ess.c:301,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_ess.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:306,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_ess.c:310,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:314,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:315,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:320,1
    - Dst: cms_msgSigDigest
      Src: /src/openssl/crypto/cms/cms_ess.c:324,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:325,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:330,1
    - Dst: memcmp
      Src: /src/openssl/crypto/cms/cms_ess.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:335,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:341,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:345,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/cms/cms_ess.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:352,1
    - Dst: CMS_get1_ReceiptRequest
      Src: /src/openssl/crypto/cms/cms_ess.c:358,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:359,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/cms/cms_ess.c:363,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:365,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/crypto/cms/cms_ess.c:372,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_ess.c:373,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 88
    argCount: 2
    argNames:
    - cms
    - req_cms
    argTypes:
    - CMS_ContentInfo*
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 376
    functionName: ossl_cms_Receipt_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_STRING_cmp
    - CMS_get0_eContentType
    - OBJ_cmp
    - CMS_ReceiptRequest_free
    - CMS_get0_content
    - CMS_get0_SignerInfos
    - M_ASN1_free_of
    - sk_CMS_SignerInfo_value
    - CMS_get1_ReceiptRequest
    - ASN1_item_unpack
    - OBJ_nid2obj
    - OBJ_obj2nid
    - STACK_OF
    - CMS_signed_get0_data_by_OBJ
    - sk_CMS_SignerInfo_num
    - memcmp
    - cms_msgSigDigest
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int ossl_cms_Receipt_verify(CMS_ContentInfo *cms, CMS_ContentInfo *req_cms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get1_ReceiptRequest
      Src: /src/openssl/crypto/cms/cms_ess.c:394,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:395,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_ess.c:401,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_ess.c:402,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_ess.c:405,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/cms/cms_ess.c:414,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_ess.c:414,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/crypto/cms/cms_ess.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 419
    functionName: ossl_cms_encode_Receipt
    functionSourceFile: /src/openssl/crypto/cms/cms_ess.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_ITEM_rptr
    - CMS_get1_ReceiptRequest
    - CMS_signed_get0_data_by_OBJ
    - OBJ_nid2obj
    - ASN1_item_pack
    - CMS_ReceiptRequest_free
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *ossl_cms_encode_Receipt(CMS_SignerInfo *si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_sd.c:29,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: cms_get0_signed
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: CMS_SignedData
    signature: CMS_SignedData *cms_get0_signed(CMS_ContentInfo *cms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_sd.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:41,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:46,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_sd.c:48,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:49,1
    - Dst: cms_get0_signed
      Src: /src/openssl/crypto/cms/cms_sd.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: cms_signed_data_init
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - ERR_raise
    - ASN1_OBJECT_free
    - OBJ_nid2obj
    - cms_get0_signed
    linkageType: ''
    returnType: CMS_SignedData
    signature: CMS_SignedData *cms_signed_data_init(CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cms_signed_data_init
      Src: /src/openssl/crypto/cms/cms_sd.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: CMS_SignedData_init
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - cms_signed_data_init
    linkageType: ''
    returnType: int
    signature: int CMS_SignedData_init(CMS_ContentInfo *cms)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sk_CMS_CertificateChoices_num
      Src: /src/openssl/crypto/cms/cms_sd.c:72,1
    - Dst: sk_CMS_CertificateChoices_value
      Src: /src/openssl/crypto/cms/cms_sd.c:73,1
    - Dst: sk_CMS_RevocationInfoChoice_num
      Src: /src/openssl/crypto/cms/cms_sd.c:86,1
    - Dst: sk_CMS_RevocationInfoChoice_value
      Src: /src/openssl/crypto/cms/cms_sd.c:87,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_sd.c:94,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:98,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:99,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 1
    argNames:
    - sd
    argTypes:
    - CMS_SignedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 113
    functionName: cms_sd_set_version
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - sk_CMS_CertificateChoices_num
    - sk_CMS_CertificateChoices_value
    - sk_CMS_RevocationInfoChoice_value
    - sk_CMS_SignerInfo_value
    - sk_CMS_RevocationInfoChoice_num
    - sk_CMS_SignerInfo_num
    - OBJ_obj2nid
    linkageType: ''
    returnType: void
    signature: void cms_sd_set_version(CMS_SignedData *sd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cms
    - si
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: cms_set_si_contentType_attr
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - CMS_signed_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int cms_set_si_contentType_attr(CMS_ContentInfo *cms, CMS_SignerInfo
      *si)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_sd.c:139,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_sd.c:143,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:144,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:147,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/openssl/crypto/cms/cms_sd.c:150,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/cms/cms_sd.c:152,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_sd.c:155,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:160,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - cms
    - si
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 173
    functionName: cms_copy_messageDigest
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - CMS_get0_SignerInfos
    - ERR_raise
    - sk_CMS_SignerInfo_value
    - CMS_signed_get_attr_count
    - STACK_OF
    - OBJ_cmp
    - CMS_signed_get0_data_by_OBJ
    - OBJ_nid2obj
    - sk_CMS_SignerInfo_num
    - CMS_signed_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int cms_copy_messageDigest(CMS_ContentInfo *cms, CMS_SignerInfo *si)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_set1_ias
      Src: /src/openssl/crypto/cms/cms_sd.c:180,1
    - Dst: ossl_cms_set1_keyid
      Src: /src/openssl/crypto/cms/cms_sd.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - sid
    - cert
    - type
    - ctx
    argTypes:
    - CMS_SignerIdentifier*
    - X509*
    - int
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 197
    functionName: ossl_cms_set1_SignerIdentifier
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - ossl_cms_set1_keyid
    - ERR_raise
    - ossl_cms_set1_ias
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_set1_SignerIdentifier(CMS_SignerIdentifier *sid, X509
      *cert,\n                                   int type, const CMS_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - sid
    - keyid
    - issuer
    - sno
    argTypes:
    - CMS_SignerIdentifier*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: ossl_cms_SignerIdentifier_get0_signer_id
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_SignerIdentifier_get0_signer_id(CMS_SignerIdentifier
      *sid,\n                                             ASN1_OCTET_STRING **keyid,\n
      \                                            X509_NAME **issuer,\n                                             ASN1_INTEGER
      **sno)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_ias_cert_cmp
      Src: /src/openssl/crypto/cms/cms_sd.c:221,1
    - Dst: ossl_cms_keyid_cert_cmp
      Src: /src/openssl/crypto/cms/cms_sd.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sid
    - cert
    argTypes:
    - CMS_SignerIdentifier*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: ossl_cms_SignerIdentifier_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - ossl_cms_ias_cert_cmp
    - ossl_cms_keyid_cert_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_cms_SignerIdentifier_cert_cmp(CMS_SignerIdentifier *sid, X509
      *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/crypto/cms/cms_sd.c:232,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cms/cms_sd.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 11
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: cms_signature_nomd
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - strcmp
    - EVP_PKEY_get_default_digest_name
    linkageType: ''
    returnType: int
    signature: int cms_signature_nomd(EVP_PKEY *pkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cms/cms_sd.c:240,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/cms/cms_sd.c:245,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/openssl/crypto/cms/cms_sd.c:248,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_sd.c:251,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/crypto/cms/cms_sd.c:255,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/cms/cms_sd.c:258,1
    - Dst: cms_signature_nomd
      Src: /src/openssl/crypto/cms/cms_sd.c:260,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/crypto/cms/cms_sd.c:262,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_sd.c:264,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 238
    functionDepth: 12
    functionLinenumber: 238
    functionLinenumberEnd: 267
    functionName: cms_generic_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - X509_ALGOR_set0
    - cms_signature_nomd
    - EVP_PKEY_get_id
    - CMS_SignerInfo_get0_algs
    - EVP_PKEY_get0_type_name
    - OBJ_find_sigid_by_algs
    - OBJ_nid2obj
    - OBJ_txt2nid
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int cms_generic_sign(CMS_SignerInfo *si, int verify)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:274,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:274,1
    - Dst: cms_generic_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:275,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:276,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:276,1
    - Dst: ossl_cms_rsa_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:277,1
    - Dst: cms_generic_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:281,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - si
    - cmd
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 269
    functionDepth: 13
    functionLinenumber: 269
    functionLinenumberEnd: 292
    functionName: cms_sd_asn1_ctrl
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ossl_cms_rsa_sign
    - ERR_raise
    - EVP_PKEY_is_a
    - EVP_PKEY*::ameth::pkey_ctrl
    - cms_generic_sign
    linkageType: ''
    returnType: int
    signature: int cms_sd_asn1_ctrl(CMS_SignerInfo *si, int cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/openssl/crypto/cms/cms_sd.c:300,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_sd.c:302,1
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/openssl/crypto/cms/cms_sd.c:306,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/cms/cms_sd.c:307,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cms/cms_sd.c:307,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_sd.c:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:312,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:313,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_sd.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - CMS_SignerInfo*
    - ESS_SIGNING_CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: ossl_cms_add1_signing_cert
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ASN1_STRING_new
    - OPENSSL_free
    - ASN1_STRING_set
    - i2d_ESS_SIGNING_CERT
    - OPENSSL_malloc
    - CMS_signed_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_add1_signing_cert(CMS_SignerInfo *si,\n                                      const
      ESS_SIGNING_CERT *sc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/openssl/crypto/cms/cms_sd.c:325,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_sd.c:327,1
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/openssl/crypto/cms/cms_sd.c:331,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/cms/cms_sd.c:332,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cms/cms_sd.c:332,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_sd.c:333,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:334,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:337,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:338,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_sd.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - CMS_SignerInfo*
    - ESS_SIGNING_CERT_V2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 342
    functionName: ossl_cms_add1_signing_cert_v2
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ASN1_STRING_new
    - OPENSSL_free
    - ASN1_STRING_set
    - i2d_ESS_SIGNING_CERT_V2
    - OPENSSL_malloc
    - CMS_signed_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_add1_signing_cert_v2(CMS_SignerInfo *si,\n                                         const
      ESS_SIGNING_CERT_V2 *sc)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_sd.c:352,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/cms/cms_sd.c:354,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:355,1
    - Dst: cms_signed_data_init
      Src: /src/openssl/crypto/cms/cms_sd.c:358,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_sd.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:363,1
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/cms/cms_sd.c:367,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cms/cms_sd.c:369,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/cms/cms_sd.c:371,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_sd.c:372,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:379,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:384,1
    - Dst: ossl_cms_set1_SignerIdentifier
      Src: /src/openssl/crypto/cms/cms_sd.c:398,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/openssl/crypto/cms/cms_sd.c:404,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cms/cms_sd.c:405,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/cms/cms_sd.c:406,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/cms/cms_sd.c:409,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cms/cms_sd.c:411,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/cms/cms_sd.c:417,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/cms/cms_sd.c:420,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/cms/cms_sd.c:424,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_sd.c:425,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_sd.c:426,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:427,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/cms/cms_sd.c:431,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cms/cms_sd.c:432,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:433,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/cms/cms_sd.c:436,1
    - Dst: sk_X509_ALGOR_push
      Src: /src/openssl/crypto/cms/cms_sd.c:437,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_sd.c:438,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:439,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:444,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cms/cms_sd.c:445,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/cms/cms_sd.c:446,1
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/openssl/crypto/cms/cms_sd.c:455,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:457,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_sd.c:463,1
    - Dst: CMS_add_standard_smimecap
      Src: /src/openssl/crypto/cms/cms_sd.c:465,1
    - Dst: CMS_add_smimecap
      Src: /src/openssl/crypto/cms/cms_sd.c:467,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/openssl/crypto/cms/cms_sd.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:470,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/cms/cms_sd.c:487,1
    - Dst: OSSL_ESS_signing_cert_new_init
      Src: /src/openssl/crypto/cms/cms_sd.c:488,1
    - Dst: ossl_cms_add1_signing_cert
      Src: /src/openssl/crypto/cms/cms_sd.c:491,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/cms/cms_sd.c:492,1
    - Dst: OSSL_ESS_signing_cert_v2_new_init
      Src: /src/openssl/crypto/cms/cms_sd.c:494,1
    - Dst: ossl_cms_add1_signing_cert_v2
      Src: /src/openssl/crypto/cms/cms_sd.c:497,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/cms/cms_sd.c:498,1
    - Dst: cms_copy_messageDigest
      Src: /src/openssl/crypto/cms/cms_sd.c:504,1
    - Dst: cms_set_si_contentType_attr
      Src: /src/openssl/crypto/cms/cms_sd.c:506,1
    - Dst: CMS_SignerInfo_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:509,1
    - Dst: CMS_add1_cert
      Src: /src/openssl/crypto/cms/cms_sd.c:516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:517,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_sd.c:524,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:524,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:526,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/crypto/cms/cms_sd.c:529,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/crypto/cms/cms_sd.c:531,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:533,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/cms/cms_sd.c:534,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:535,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:536,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_sd.c:542,1
    - Dst: sk_CMS_SignerInfo_new_null
      Src: /src/openssl/crypto/cms/cms_sd.c:547,1
    - Dst: sk_CMS_SignerInfo_push
      Src: /src/openssl/crypto/cms/cms_sd.c:548,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:549,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_sd.c:556,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 181
    argCount: 5
    argNames:
    - cms
    - signer
    - pk
    - md
    - flags
    argTypes:
    - CMS_ContentInfo*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 344
    functionDepth: 14
    functionLinenumber: 344
    functionLinenumberEnd: 559
    functionName: CMS_add1_signer
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2txt
    - ossl_cms_set1_SignerIdentifier
    - cms_set_si_contentType_attr
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_get_id
    - EVP_MD_is_a
    - sk_X509_ALGOR_push
    - CMS_add_standard_smimecap
    - X509_free
    - EVP_PKEY_up_ref
    - X509_ALGOR_free
    - CMS_SignerInfo_sign
    - EVP_PKEY_get_default_digest_nid
    - M_ASN1_new_of
    - M_ASN1_free_of
    - sk_X509_ALGOR_num
    - sk_X509_ATTRIBUTE_new_null
    - EVP_get_digestbynid
    - X509_up_ref
    - EVP_MD_CTX_set_flags
    - X509_check_private_key
    - ossl_cms_ctx_get0_propq
    - ossl_cms_get0_cmsctx
    - X509_check_purpose
    - EVP_PKEY_sign_init
    - sk_CMS_SignerInfo_new_null
    - ossl_cms_add1_signing_cert
    - CMS_add_smimecap
    - ERR_raise_data
    - cms_copy_messageDigest
    - X509_ALGOR_set_md
    - STACK_OF
    - EVP_DigestSignInit_ex
    - sk_X509_ALGOR_value
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_get0_name
    - CMS_add1_cert
    - cms_signed_data_init
    - sk_CMS_SignerInfo_push
    - ESS_SIGNING_CERT_V2_free
    - sk_X509_ALGOR_pop_free
    - EVP_PKEY_CTX_set_signature_md
    - EVP_MD_CTX_new
    - X509_ALGOR_get0
    - ESS_SIGNING_CERT_free
    - X509_ALGOR_new
    - OSSL_ESS_signing_cert_v2_new_init
    - OSSL_ESS_signing_cert_new_init
    - ossl_cms_add1_signing_cert_v2
    - cms_sd_asn1_ctrl
    linkageType: ''
    returnType: CMS_SignerInfo
    signature: "CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms,\n                                X509
      *signer, EVP_PKEY *pk, const EVP_MD *md,\n                                unsigned
      int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_sd.c:565,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_sd.c:566,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:568,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_sd.c:569,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:570,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:572,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 577
    functionName: ossl_cms_SignerInfos_set_cmsctx
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - CMS_get0_SignerInfos
    - sk_CMS_SignerInfo_value
    - ERR_pop_to_mark
    - ERR_set_mark
    - STACK_OF
    - sk_CMS_SignerInfo_num
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: void
    signature: void ossl_cms_SignerInfos_set_cmsctx(CMS_ContentInfo *cms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_gmtime_adj
      Src: /src/openssl/crypto/cms/cms_sd.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:590,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:596,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/cms/cms_sd.c:603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - si
    - t
    argTypes:
    - CMS_SignerInfo*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 607
    functionName: cms_add1_signingTime
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - X509_gmtime_adj
    - ERR_raise
    - ASN1_TIME_free
    - CMS_signed_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int cms_add1_signingTime(CMS_SignerInfo *si, ASN1_TIME *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: CMS_SignerInfo_get0_pkey_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: EVP_PKEY_CTX *CMS_SignerInfo_get0_pkey_ctx(CMS_SignerInfo *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: CMS_SignerInfo_get0_md_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX *CMS_SignerInfo_get0_md_ctx(CMS_SignerInfo *si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cms/cms_sd.c:650,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_sd.c:652,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/crypto/cms/cms_sd.c:653,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_sd.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - si
    - signer
    argTypes:
    - CMS_SignerInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 647
    functionDepth: 4
    functionLinenumber: 647
    functionLinenumberEnd: 657
    functionName: CMS_SignerInfo_set1_signer_cert
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - X509_free
    - X509_get_pubkey
    - X509_up_ref
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_SignerIdentifier_get0_signer_id
      Src: /src/openssl/crypto/cms/cms_sd.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - si
    - keyid
    - issuer
    - sno
    argTypes:
    - CMS_SignerInfo*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: CMS_SignerInfo_get0_signer_id
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ossl_cms_SignerIdentifier_get0_signer_id
    linkageType: ''
    returnType: int
    signature: "int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si,\n                                  ASN1_OCTET_STRING
      **keyid,\n                                  X509_NAME **issuer, ASN1_INTEGER
      **sno)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_SignerIdentifier_cert_cmp
      Src: /src/openssl/crypto/cms/cms_sd.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - cert
    argTypes:
    - CMS_SignerInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 669
    functionName: CMS_SignerInfo_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ossl_cms_SignerIdentifier_cert_cmp
    linkageType: ''
    returnType: int
    signature: int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - si
    - pk
    - signer
    - pdig
    - psig
    argTypes:
    - CMS_SignerInfo*
    - EVP_PKEY**
    - X509**
    - X509_ALGOR**
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 730
    functionName: CMS_SignerInfo_get0_algs
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk,\n
      \                             X509 **signer, X509_ALGOR **pdig,\n                              X509_ALGOR
      **psig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: CMS_SignerInfo_get0_signature
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:742,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_sd.c:745,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:748,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:753,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/openssl/crypto/cms/cms_sd.c:757,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:760,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/openssl/crypto/cms/cms_sd.c:766,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:770,1
    - Dst: CMS_signed_add1_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:774,1
    - Dst: cms_set_si_contentType_attr
      Src: /src/openssl/crypto/cms/cms_sd.c:778,1
    - Dst: CMS_SignerInfo_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:781,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:791,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/cms/cms_sd.c:795,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_sd.c:796,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:798,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:799,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_sd.c:802,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:808,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/cms/cms_sd.c:811,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_sd.c:812,1
    - Dst: EVP_SignFinal_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:814,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:815,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:816,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:817,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:818,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_sd.c:821,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:827,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:828,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 76
    argCount: 5
    argNames:
    - cms
    - si
    - chain
    - md
    - mdlen
    argTypes:
    - CMS_ContentInfo*
    - CMS_SignerInfo*
    - BIO*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 737
    functionDepth: 14
    functionLinenumber: 737
    functionLinenumberEnd: 831
    functionName: cms_SignerInfo_content_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - cms_set_si_contentType_attr
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_get_size
    - OPENSSL_free
    - CMS_SignerInfo_sign
    - EVP_SignFinal_ex
    - ASN1_STRING_set0
    - CMS_signed_add1_attr_by_NID
    - ossl_cms_DigestAlgorithm_find_ctx
    - CMS_signed_get_attr_count
    - EVP_PKEY_CTX_free
    - ossl_cms_ctx_get0_propq
    - OPENSSL_malloc
    - ossl_cms_get0_cmsctx
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_sign
    - cms_sd_asn1_ctrl
    linkageType: ''
    returnType: int
    signature: "int cms_SignerInfo_content_sign(CMS_ContentInfo *cms,\n                                       CMS_SignerInfo
      *si, BIO *chain,\n                                       const unsigned char
      *md,\n                                       unsigned int mdlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_sd.c:837,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/crypto/cms/cms_sd.c:841,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/crypto/cms/cms_sd.c:842,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/crypto/cms/cms_sd.c:843,1
    - Dst: cms_SignerInfo_content_sign
      Src: /src/openssl/crypto/cms/cms_sd.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - cms
    - chain
    - precomp_md
    - precomp_mdlen
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 833
    functionDepth: 15
    functionLinenumber: 833
    functionLinenumberEnd: 850
    functionName: ossl_cms_SignedData_final
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - CMS_get0_SignerInfos
    - sk_CMS_SignerInfo_value
    - STACK_OF
    - cms_SignerInfo_content_sign
    - sk_CMS_SignerInfo_num
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_SignedData_final(CMS_ContentInfo *cms, BIO *chain,\n
      \                             const unsigned char *precomp_md,\n                              unsigned
      int precomp_mdlen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_sd.c:862,1
    - Dst: cms_signature_nomd
      Src: /src/openssl/crypto/cms/cms_sd.c:865,1
    - Dst: CMS_signed_get_attr_by_NID
      Src: /src/openssl/crypto/cms/cms_sd.c:868,1
    - Dst: cms_add1_signingTime
      Src: /src/openssl/crypto/cms/cms_sd.c:869,1
    - Dst: ossl_cms_si_check_attributes
      Src: /src/openssl/crypto/cms/cms_sd.c:873,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/cms/cms_sd.c:879,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:880,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:881,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:882,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_sd.c:885,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/cms/cms_sd.c:890,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_sd.c:890,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cms/cms_sd.c:896,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_sd.c:897,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/crypto/cms/cms_sd.c:900,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/cms/cms_sd.c:902,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:904,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_sd.c:905,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/cms/cms_sd.c:908,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/cms/cms_sd.c:911,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_sd.c:913,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:918,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/cms/cms_sd.c:919,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 852
    functionDepth: 12
    functionLinenumber: 852
    functionLinenumberEnd: 921
    functionName: CMS_SignerInfo_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 2
    functionsReached:
    - OBJ_obj2txt
    - ossl_cms_ctx_get0_libctx
    - EVP_MD_CTX_reset
    - ASN1_item_sign_ctx
    - cms_signature_nomd
    - CMS_signed_get_attr_by_NID
    - ASN1_item_i2d
    - ASN1_ITEM_rptr
    - cms_add1_signingTime
    - EVP_MD_CTX_set_flags
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - ossl_cms_ctx_get0_propq
    - ossl_cms_si_check_attributes
    - ASN1_STRING_set0
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int CMS_SignerInfo_sign(CMS_SignerInfo *si)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:932,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:933,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:936,1
    - Dst: ossl_cms_si_check_attributes
      Src: /src/openssl/crypto/cms/cms_sd.c:940,1
    - Dst: cms_signature_nomd
      Src: /src/openssl/crypto/cms/cms_sd.c:943,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:944,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_sd.c:944,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:949,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_sd.c:953,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:955,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/cms/cms_sd.c:956,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/crypto/cms/cms_sd.c:961,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:963,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:964,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_sd.c:967,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:969,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:970,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:975,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:978,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/cms/cms_sd.c:978,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_sd.c:983,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:985,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cms/cms_sd.c:988,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_sd.c:989,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/crypto/cms/cms_sd.c:992,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_sd.c:993,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/crypto/cms/cms_sd.c:998,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1001,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1003,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/cms/cms_sd.c:1004,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 923
    functionDepth: 14
    functionLinenumber: 923
    functionLinenumberEnd: 1006
    functionName: CMS_SignerInfo_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - OPENSSL_free
    - EVP_DigestVerifyUpdate
    - ASN1_item_verify_ex
    - EVP_MD_CTX_set_flags
    - EVP_PKEY_CTX_free
    - ossl_cms_ctx_get0_propq
    - ossl_cms_si_check_attributes
    - ERR_clear_last_mark
    - EVP_DigestVerifyFinal
    - cms_signature_nomd
    - EVP_MD_get0_name
    - EVP_MD_fetch
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_reset
    - ASN1_item_i2d
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - EVP_MD_CTX_new
    - EVP_get_digestbyobj
    - cms_sd_asn1_ctrl
    linkageType: ''
    returnType: int
    signature: int CMS_SignerInfo_verify(CMS_SignerInfo *si)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cms_get0_signed
      Src: /src/openssl/crypto/cms/cms_sd.c:1015,1
    - Dst: cms_sd_set_version
      Src: /src/openssl/crypto/cms/cms_sd.c:1019,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/cms/cms_sd.c:1020,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/cms/cms_sd.c:1024,1
    - Dst: ossl_cms_DigestAlgorithm_init_bio
      Src: /src/openssl/crypto/cms/cms_sd.c:1025,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1026,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/cms/cms_sd.c:1030,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/cms/cms_sd.c:1036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1009
    functionDepth: 11
    functionLinenumber: 1009
    functionLinenumberEnd: 1038
    functionName: ossl_cms_SignedData_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 1
    functionsReached:
    - ossl_cms_DigestAlgorithm_init_bio
    - sk_X509_ALGOR_num
    - BIO_free_all
    - cms_sd_set_version
    - sk_X509_ALGOR_value
    - BIO_push
    - ossl_cms_get0_cmsctx
    - cms_get0_signed
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_cms_SignedData_init_bio(CMS_ContentInfo *cms)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_sd.c:1043,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1050,1
    - Dst: CMS_signed_get_attr_count
      Src: /src/openssl/crypto/cms/cms_sd.c:1054,1
    - Dst: CMS_signed_get0_data_by_OBJ
      Src: /src/openssl/crypto/cms/cms_sd.c:1055,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_sd.c:1056,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1059,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1064,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/cms/cms_sd.c:1067,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1068,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1075,1
    - Dst: memcmp
      Src: /src/openssl/crypto/cms/cms_sd.c:1079,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1080,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/cms/cms_sd.c:1086,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_sd.c:1089,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_sd.c:1089,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_sd.c:1091,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/crypto/cms/cms_sd.c:1094,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/crypto/cms/cms_sd.c:1096,1
    - Dst: cms_sd_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_sd.c:1099,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/crypto/cms/cms_sd.c:1104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_sd.c:1107,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1113,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/cms/cms_sd.c:1114,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - CMS_SignerInfo*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1040
    functionDepth: 14
    functionLinenumber: 1040
    functionLinenumberEnd: 1117
    functionName: CMS_SignerInfo_verify_content
    functionSourceFile: /src/openssl/crypto/cms/cms_sd.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ERR_raise
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_get0_md
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_verify_init
    - ossl_cms_DigestAlgorithm_find_ctx
    - EVP_MD_CTX_new
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_verify
    - CMS_signed_get_attr_count
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - CMS_signed_get0_data_by_OBJ
    - OBJ_nid2obj
    - ossl_cms_ctx_get0_propq
    - cms_sd_asn1_ctrl
    linkageType: ''
    returnType: int
    signature: int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_dd.c:27,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_dd.c:31,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dd.c:36,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dd.c:40,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/cms/cms_dd.c:42,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_dd.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - md
    - libctx
    - propq
    argTypes:
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 49
    functionName: ossl_cms_DigestedData_create
    functionSourceFile: /src/openssl/crypto/cms/cms_dd.c
    functionUses: 0
    functionsReached:
    - M_ASN1_new_of
    - CMS_ContentInfo_new_ex
    - X509_ALGOR_set_md
    - OBJ_nid2obj
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *ossl_cms_DigestedData_create(const EVP_MD *md,\n
      \                                             OSSL_LIB_CTX *libctx,\n                                              const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_DigestAlgorithm_init_bio
      Src: /src/openssl/crypto/cms/cms_dd.c:55,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_dd.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 11
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: ossl_cms_DigestedData_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_dd.c
    functionUses: 1
    functionsReached:
    - ossl_cms_DigestAlgorithm_init_bio
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_cms_DigestedData_init_bio(const CMS_ContentInfo *cms)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/cms/cms_dd.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dd.c:69,1
    - Dst: ossl_cms_DigestAlgorithm_find_ctx
      Src: /src/openssl/crypto/cms/cms_dd.c:75,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/cms/cms_dd.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dd.c:83,1
    - Dst: memcmp
      Src: /src/openssl/crypto/cms/cms_dd.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dd.c:88,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cms/cms_dd.c:92,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/cms/cms_dd.c:98,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - cms
    - chain
    - verify
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 59
    functionDepth: 9
    functionLinenumber: 59
    functionLinenumberEnd: 102
    functionName: ossl_cms_DigestedData_do_final
    functionSourceFile: /src/openssl/crypto/cms/cms_dd.c
    functionUses: 1
    functionsReached:
    - memcmp
    - EVP_DigestFinal_ex
    - ERR_raise
    - ossl_cms_DigestAlgorithm_find_ctx
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_DigestedData_do_final(const CMS_ContentInfo *cms, BIO
      *chain,\n                                   int verify)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_dh.c:34,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_dh.c:35,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_dh.c:41,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_dh.c:42,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_dh.c:46,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_dh.c:47,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/openssl/crypto/cms/cms_dh.c:51,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/cms/cms_dh.c:57,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/cms/cms_dh.c:58,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_dh.c:60,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/cms/cms_dh.c:62,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/cms/cms_dh.c:65,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/crypto/cms/cms_dh.c:67,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/crypto/cms/cms_dh.c:68,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/crypto/cms/cms_dh.c:71,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/cms/cms_dh.c:74,1
    - Dst: BN_free
      Src: /src/openssl/crypto/cms/cms_dh.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_dh.c:76,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_dh.c:77,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 3
    argNames:
    - pctx
    - alg
    - pubkey
    argTypes:
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 20
    functionDepth: 10
    functionLinenumber: 20
    functionLinenumberEnd: 79
    functionName: dh_cms_set_peerkey
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_is_a
    - d2i_ASN1_INTEGER
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - ASN1_INTEGER_to_BN
    - EVP_PKEY_get_size
    - ASN1_INTEGER_free
    - OPENSSL_free
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_free
    - BN_free
    - OBJ_obj2nid
    - OPENSSL_malloc
    - EVP_PKEY_new
    - BN_bn2binpad
    - X509_ALGOR_get0
    - EVP_PKEY_derive_set_peer
    linkageType: ''
    returnType: int
    signature: "int dh_cms_set_peerkey(EVP_PKEY_CTX *pctx,\n                              X509_ALGOR
      *alg, ASN1_BIT_STRING *pubkey)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/openssl/crypto/cms/cms_dh.c:94,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_dh.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dh.c:102,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_type
      Src: /src/openssl/crypto/cms/cms_dh.c:106,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_md
      Src: /src/openssl/crypto/cms/cms_dh.c:107,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/cms/cms_dh.c:107,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_dh.c:115,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/crypto/cms/cms_dh.c:118,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_dh.c:122,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_dh.c:125,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/cms/cms_dh.c:127,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_dh.c:129,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/cms/cms_dh.c:131,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_dh.c:134,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_outlen
      Src: /src/openssl/crypto/cms/cms_dh.c:135,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_oid
      Src: /src/openssl/crypto/cms/cms_dh.c:138,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:139,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/cms/cms_dh.c:139,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_dh.c:144,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/cms/cms_dh.c:145,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_dh.c:145,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_ukm
      Src: /src/openssl/crypto/cms/cms_dh.c:150,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_dh.c:156,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_dh.c:157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_dh.c:158,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 63
    argCount: 2
    argNames:
    - pctx
    - ri
    argTypes:
    - EVP_PKEY_CTX*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 160
    functionName: dh_cms_set_shared_info
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_set_dh_kdf_md
    - ERR_raise
    - OBJ_obj2txt
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - EVP_PKEY_CTX_set_dh_kdf_type
    - EVP_CIPHER_CTX_get_key_length
    - OPENSSL_free
    - X509_ALGOR_free
    - EVP_EncryptInit_ex
    - EVP_CIPHER_asn1_to_param
    - OPENSSL_memdup
    - EVP_CIPHER_free
    - OBJ_nid2obj
    - OBJ_obj2nid
    - EVP_PKEY_CTX_set_dh_kdf_outlen
    - EVP_PKEY_CTX_set0_dh_kdf_ukm
    - EVP_CIPHER_get_type
    - EVP_CIPHER_fetch
    - EVP_PKEY_CTX_set0_dh_kdf_oid
    - EVP_CIPHER_get_mode
    - CMS_RecipientInfo_kari_get0_ctx
    - CMS_RecipientInfo_kari_get0_alg
    - EVP_sha1
    - d2i_X509_ALGOR
    linkageType: ''
    returnType: int
    signature: int dh_cms_set_shared_info(EVP_PKEY_CTX *pctx, CMS_RecipientInfo *ri)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_dh.c:164,1
    - Dst: EVP_PKEY_CTX_get0_peerkey
      Src: /src/openssl/crypto/cms/cms_dh.c:169,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/openssl/crypto/cms/cms_dh.c:173,1
    - Dst: dh_cms_set_peerkey
      Src: /src/openssl/crypto/cms/cms_dh.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dh.c:179,1
    - Dst: dh_cms_set_shared_info
      Src: /src/openssl/crypto/cms/cms_dh.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dh.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 162
    functionDepth: 11
    functionLinenumber: 162
    functionLinenumberEnd: 189
    functionName: dh_cms_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - dh_cms_set_peerkey
    - dh_cms_set_shared_info
    - ERR_raise
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_PKEY_CTX_get0_peerkey
    - CMS_RecipientInfo_kari_get0_orig_id
    linkageType: ''
    returnType: int
    signature: int dh_cms_decrypt(CMS_RecipientInfo *ri)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_dh.c:209,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_dh.c:213,1
    - Dst: CMS_RecipientInfo_kari_get0_orig_id
      Src: /src/openssl/crypto/cms/cms_dh.c:214,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_dh.c:219,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:220,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/crypto/cms/cms_dh.c:224,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/cms/cms_dh.c:227,1
    - Dst: BN_free
      Src: /src/openssl/crypto/cms/cms_dh.c:228,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/crypto/cms/cms_dh.c:233,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/cms/cms_dh.c:234,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_dh.c:237,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/cms/cms_dh.c:238,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_dh.c:241,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:241,1
    - Dst: EVP_PKEY_CTX_get_dh_kdf_type
      Src: /src/openssl/crypto/cms/cms_dh.c:246,1
    - Dst: EVP_PKEY_CTX_get_dh_kdf_md
      Src: /src/openssl/crypto/cms/cms_dh.c:247,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_type
      Src: /src/openssl/crypto/cms/cms_dh.c:252,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/cms/cms_dh.c:259,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_md
      Src: /src/openssl/crypto/cms/cms_dh.c:260,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cms/cms_dh.c:262,1
    - Dst: CMS_RecipientInfo_kari_get0_alg
      Src: /src/openssl/crypto/cms/cms_dh.c:266,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/crypto/cms/cms_dh.c:270,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_dh.c:271,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_oid
      Src: /src/openssl/crypto/cms/cms_dh.c:272,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:272,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_dh.c:274,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cms/cms_dh.c:278,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:281,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cms/cms_dh.c:282,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/cms/cms_dh.c:285,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/cms/cms_dh.c:287,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_dh.c:288,1
    - Dst: EVP_PKEY_CTX_set_dh_kdf_outlen
      Src: /src/openssl/crypto/cms/cms_dh.c:292,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_dh.c:296,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/cms/cms_dh.c:297,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_dh.c:297,1
    - Dst: EVP_PKEY_CTX_set0_dh_kdf_ukm
      Src: /src/openssl/crypto/cms/cms_dh.c:302,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_dh.c:311,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/cms/cms_dh.c:314,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_dh.c:317,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_dh.c:319,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_dh.c:319,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_dh.c:322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_dh.c:325,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_dh.c:326,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_dh.c:327,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 109
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 191
    functionDepth: 6
    functionLinenumber: 191
    functionLinenumberEnd: 329
    functionName: dh_cms_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_param_to_asn1
    - EVP_PKEY_CTX_set_dh_kdf_md
    - EVP_PKEY_CTX_get_dh_kdf_type
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - EVP_PKEY_CTX_set_dh_kdf_type
    - EVP_CIPHER_CTX_get_key_length
    - OPENSSL_free
    - ASN1_INTEGER_free
    - X509_ALGOR_free
    - BN_to_ASN1_INTEGER
    - EVP_MD_get_type
    - EVP_PKEY_get_bn_param
    - ASN1_STRING_set0
    - ossl_asn1_string_set_bits_left
    - i2d_ASN1_INTEGER
    - i2d_X509_ALGOR
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_PKEY_CTX_get0_pkey
    - ASN1_STRING_new
    - OPENSSL_memdup
    - OBJ_nid2obj
    - BN_free
    - X509_ALGOR_set0
    - EVP_CIPHER_CTX_get_type
    - EVP_PKEY_CTX_set_dh_kdf_outlen
    - EVP_PKEY_CTX_set0_dh_kdf_ukm
    - EVP_PKEY_CTX_set0_dh_kdf_oid
    - CMS_RecipientInfo_kari_get0_ctx
    - ASN1_TYPE_get
    - CMS_RecipientInfo_kari_get0_alg
    - CMS_RecipientInfo_kari_get0_orig_id
    - EVP_PKEY_CTX_get_dh_kdf_md
    - X509_ALGOR_get0
    - EVP_sha1
    - ASN1_STRING_free
    - X509_ALGOR_new
    - ASN1_TYPE_new
    - ASN1_TYPE_free
    linkageType: ''
    returnType: int
    signature: int dh_cms_encrypt(CMS_RecipientInfo *ri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/cms/cms_dh.c:333,1
    - Dst: dh_cms_decrypt
      Src: /src/openssl/crypto/cms/cms_dh.c:336,1
    - Dst: dh_cms_encrypt
      Src: /src/openssl/crypto/cms/cms_dh.c:339,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_dh.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - CMS_RecipientInfo*
    - int
    assertStmts:
    - condition: (decrypt == 0 || decrypt == 1)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/openssl/crypto/cms/cms_dh.c
    constantsTouched: []
    func_position:
      end: 343
      start: 331
    functionDepth: 12
    functionLinenumber: 331
    functionLinenumberEnd: 343
    functionName: ossl_cms_dh_envelope
    functionSourceFile: /src/openssl/crypto/cms/cms_dh.c
    functionUses: 1
    functionsReached:
    - dh_cms_encrypt
    - dh_cms_decrypt
    - ERR_raise
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_cms_dh_envelope(CMS_RecipientInfo *ri, int decrypt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ri
    - pkekLength
    - pwrap
    argTypes:
    - CMS_RecipientInfo*
    - uint32_t**
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: ossl_cms_RecipientInfo_kemri_get0_alg
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_RecipientInfo_kemri_get0_alg(CMS_RecipientInfo *ri,\n
      \                                         uint32_t **pkekLength,\n                                          X509_ALGOR
      **pwrap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:41,1
    - Dst: ossl_cms_SignerIdentifier_cert_cmp
      Src: /src/openssl/crypto/cms/cms_kemri.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ri
    - cert
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: CMS_RecipientInfo_kemri_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cms_SignerIdentifier_cert_cmp
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_kemri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:53,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:59,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_kemri.c:63,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kemri.c:63,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kemri.c:64,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/crypto/cms/cms_kemri.c:65,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ri
    - pk
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 12
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: CMS_RecipientInfo_kemri_set0_pkey
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_cms_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_kemri_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY
      *pk)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_kemri.c:89,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_kemri.c:96,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_kemri.c:99,1
    - Dst: ossl_cms_set1_SignerIdentifier
      Src: /src/openssl/crypto/cms/cms_kemri.c:113,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/crypto/cms/cms_kemri.c:116,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/cms/cms_kemri.c:119,1
    - Dst: X509_ALGOR_copy
      Src: /src/openssl/crypto/cms/cms_kemri.c:121,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_kemri.c:124,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kemri.c:124,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kemri.c:126,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/crypto/cms/cms_kemri.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - ri
    - recip
    - recipPubKey
    - flags
    - ctx
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    - EVP_PKEY*
    - unsigned int
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 79
    functionDepth: 12
    functionLinenumber: 79
    functionLinenumberEnd: 133
    functionName: ossl_cms_RecipientInfo_kemri_init
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 1
    functionsReached:
    - X509_ALGOR_copy
    - M_ASN1_new_of
    - X509_PUBKEY_get0_param
    - ossl_cms_ctx_get0_libctx
    - ossl_cms_set1_SignerIdentifier
    - EVP_PKEY_CTX_new_from_pkey
    - OBJ_nid2obj
    - ossl_cms_ctx_get0_propq
    - EVP_PKEY_encapsulate_init
    - X509_get_X509_PUBKEY
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_RecipientInfo_kemri_init(CMS_RecipientInfo *ri, X509
      *recip,\n                                      EVP_PKEY *recipPubKey, unsigned
      int flags,\n                                      const CMS_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: CMS_RecipientInfo_kemri_get0_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX *CMS_RecipientInfo_kemri_get0_ctx(CMS_RecipientInfo
      *ri)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: CMS_RecipientInfo_kemri_get0_kdf_alg
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *CMS_RecipientInfo_kemri_get0_kdf_alg(CMS_RecipientInfo
      *ri)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:162,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_kemri.c:168,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/cms/cms_kemri.c:171,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:172,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ri
    - ukm
    - ukmLength
    argTypes:
    - CMS_RecipientInfo*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 178
    functionName: CMS_RecipientInfo_kemri_set_ukm
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_kemri_set_ukm(CMS_RecipientInfo *ri,\n                                    const
      unsigned char *ukm,\n                                    int ukmLength)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_kemri.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:196,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_kemri.c:199,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/cms/cms_kemri.c:202,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kemri.c:202,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kemri.c:203,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/cms/cms_kemri.c:207,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - kemri
    argTypes:
    - CMS_KEMRecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 211
    functionName: create_kdf_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OBJ_obj2txt
    - ERR_raise
    - ossl_cms_ctx_get0_libctx
    - EVP_KDF_CTX_new
    - EVP_KDF_free
    - X509_ALGOR_get0
    - ossl_cms_ctx_get0_propq
    linkageType: ''
    returnType: EVP_KDF_CTX
    signature: EVP_KDF_CTX *create_kdf_ctx(CMS_KEMRecipientInfo *kemri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_CMSORIforKEMOtherInfo_encode
      Src: /src/openssl/crypto/cms/cms_kemri.c:223,1
    - Dst: create_kdf_ctx
      Src: /src/openssl/crypto/cms/cms_kemri.c:228,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/cms/cms_kemri.c:232,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/cms/cms_kemri.c:234,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/cms/cms_kemri.c:236,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/cms/cms_kemri.c:238,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:243,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - kek
    - keklen
    - ss
    - sslen
    - kemri
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - CMS_KEMRecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: kdf_derive
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 3
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - CMS_CMSORIforKEMOtherInfo_encode
    - create_kdf_ctx
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int kdf_derive(unsigned char *kek, size_t keklen,\n                      const
      unsigned char *ss, size_t sslen,\n                      CMS_KEMRecipientInfo
      *kemri)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:267,1
    - Dst: kdf_derive
      Src: /src/openssl/crypto/cms/cms_kemri.c:271,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_kemri.c:275,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/cms/cms_kemri.c:278,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kemri.c:280,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/cms/cms_kemri.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:291,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cms/cms_kemri.c:292,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/cms/cms_kemri.c:293,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 8
    argNames:
    - pout
    - poutlen
    - ss
    - sslen
    - in
    - inlen
    - kemri
    - enc
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - CMS_KEMRecipientInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 297
    functionName: cms_kek_cipher
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - ERR_raise
    - EVP_CIPHER_CTX_reset
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_CipherInit_ex
    - kdf_derive
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int cms_kek_cipher(unsigned char **pout, size_t *poutlen,\n                          const
      unsigned char *ss, size_t sslen,\n                          const unsigned char
      *in, size_t inlen,\n                          CMS_KEMRecipientInfo *kemri, int
      enc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:315,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_kemri.c:321,1
    - Dst: ossl_cms_RecipientInfo_wrap_init
      Src: /src/openssl/crypto/cms/cms_kemri.c:323,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_kemri.c:327,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/crypto/cms/cms_kemri.c:330,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kemri.c:332,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kemri.c:333,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/crypto/cms/cms_kemri.c:337,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_kemri.c:340,1
    - Dst: cms_kek_cipher
      Src: /src/openssl/crypto/cms/cms_kemri.c:343,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_kemri.c:346,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:350,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 301
    functionDepth: 14
    functionLinenumber: 301
    functionLinenumberEnd: 353
    functionName: ossl_cms_RecipientInfo_kemri_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 1
    functionsReached:
    - ossl_cms_get0_env_enc_content
    - ossl_cms_RecipientInfo_wrap_init
    - ERR_raise
    - ossl_cms_env_asn1_ctrl
    - OPENSSL_clear_free
    - cms_kek_cipher
    - OPENSSL_free
    - EVP_PKEY_encapsulate
    - ASN1_STRING_set0
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_RecipientInfo_kemri_encrypt(const CMS_ContentInfo *cms,\n
      \                                        CMS_RecipientInfo *ri)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:371,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_kemri.c:377,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kemri.c:380,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_kemri.c:385,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cms/cms_kemri.c:388,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cms/cms_kemri.c:389,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/crypto/cms/cms_kemri.c:391,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kemri.c:393,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/crypto/cms/cms_kemri.c:397,1
    - Dst: cms_kek_cipher
      Src: /src/openssl/crypto/cms/cms_kemri.c:403,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_kemri.c:405,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:406,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_kemri.c:412,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 355
    functionDepth: 14
    functionLinenumber: 355
    functionLinenumberEnd: 414
    functionName: ossl_cms_RecipientInfo_kemri_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_kemri.c
    functionUses: 1
    functionsReached:
    - ossl_cms_get0_env_enc_content
    - ERR_raise
    - ossl_cms_env_asn1_ctrl
    - EVP_PKEY_decapsulate
    - OPENSSL_clear_free
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - cms_kek_cipher
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_RecipientInfo_kemri_decrypt(const CMS_ContentInfo *cms,\n
      \                                        CMS_RecipientInfo *ri)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_cd.c:36,1
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_cd.c:39,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_cd.c:43,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_cd.c:48,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_cd.c:53,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_cd.c:54,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_cd.c:57,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_cd.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - comp_nid
    - libctx
    - propq
    argTypes:
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 64
    functionName: ossl_cms_CompressedData_create
    functionSourceFile: /src/openssl/crypto/cms/cms_cd.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - M_ASN1_new_of
    - ERR_raise
    - CMS_ContentInfo_new_ex
    - OBJ_nid2obj
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *ossl_cms_CompressedData_create(int comp_nid,\n                                                OSSL_LIB_CTX
      *libctx,\n                                                const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_cd.c:71,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_cd.c:72,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_cd.c:76,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_cd.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_cd.c:78,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_cd.c:81,1
    - Dst: BIO_f_zlib
      Src: /src/openssl/crypto/cms/cms_cd.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: ossl_cms_CompressedData_init_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_cd.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - BIO_f_zlib
    - ERR_raise
    - X509_ALGOR_get0
    - OBJ_obj2nid
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_cms_CompressedData_init_bio(const CMS_ContentInfo *cms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kari.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ri
    - palg
    - pukm
    argTypes:
    - CMS_RecipientInfo*
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: CMS_RecipientInfo_kari_get0_alg
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_kari_get0_alg(CMS_RecipientInfo *ri,\n                                    X509_ALGOR
      **palg,\n                                    ASN1_OCTET_STRING **pukm)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kari.c:59,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 6
    argNames:
    - ri
    - pubalg
    - pubkey
    - keyid
    - issuer
    - sno
    argTypes:
    - CMS_RecipientInfo*
    - X509_ALGOR**
    - ASN1_BIT_STRING**
    - ASN1_OCTET_STRING**
    - X509_NAME**
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 89
    functionName: CMS_RecipientInfo_kari_get0_orig_id
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_kari_get0_orig_id(CMS_RecipientInfo *ri,\n                                        X509_ALGOR
      **pubalg,\n                                        ASN1_BIT_STRING **pubkey,\n
      \                                       ASN1_OCTET_STRING **keyid,\n                                        X509_NAME
      **issuer,\n                                        ASN1_INTEGER **sno)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kari.c:96,1
    - Dst: ossl_cms_ias_cert_cmp
      Src: /src/openssl/crypto/cms/cms_kari.c:101,1
    - Dst: ossl_cms_keyid_cert_cmp
      Src: /src/openssl/crypto/cms/cms_kari.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ri
    - cert
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: CMS_RecipientInfo_kari_orig_id_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ias_cert_cmp
    - ossl_cms_keyid_cert_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_kari_orig_id_cmp(CMS_RecipientInfo *ri, X509
      *cert)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 6
    argNames:
    - rek
    - keyid
    - tm
    - other
    - issuer
    - sno
    argTypes:
    - CMS_RecipientEncryptedKey*
    - ASN1_OCTET_STRING**
    - ASN1_GENERALIZEDTIME**
    - CMS_OtherKeyAttribute**
    - X509_NAME**
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 140
    functionName: CMS_RecipientEncryptedKey_get0_id
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientEncryptedKey_get0_id(CMS_RecipientEncryptedKey *rek,\n
      \                                     ASN1_OCTET_STRING **keyid,\n                                      ASN1_GENERALIZEDTIME
      **tm,\n                                      CMS_OtherKeyAttribute **other,\n
      \                                     X509_NAME **issuer, ASN1_INTEGER **sno)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_ias_cert_cmp
      Src: /src/openssl/crypto/cms/cms_kari.c:148,1
    - Dst: ossl_cms_keyid_cert_cmp
      Src: /src/openssl/crypto/cms/cms_kari.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rek
    - cert
    argTypes:
    - CMS_RecipientEncryptedKey*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: CMS_RecipientEncryptedKey_cert_cmp
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ias_cert_cmp
    - ossl_cms_keyid_cert_cmp
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientEncryptedKey_cert_cmp(CMS_RecipientEncryptedKey *rek,\n
      \                                      X509 *cert)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kari.c:162,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_kari.c:167,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kari.c:167,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kari.c:169,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/crypto/cms/cms_kari.c:170,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/cms/cms_kari.c:174,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/crypto/cms/cms_kari.c:176,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kari.c:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ri
    - pk
    - peer
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 156
    functionDepth: 5
    functionLinenumber: 156
    functionLinenumberEnd: 185
    functionName: CMS_RecipientInfo_kari_set0_pkey_and_peer
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - X509_get0_pubkey
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_cms_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_kari_set0_pkey_and_peer(CMS_RecipientInfo *ri,\n
      \                                             EVP_PKEY *pk, X509 *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_kari_set0_pkey_and_peer
      Src: /src/openssl/crypto/cms/cms_kari.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ri
    - pk
    argTypes:
    - CMS_RecipientInfo*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 6
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: CMS_RecipientInfo_kari_set0_pkey
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 0
    functionsReached:
    - CMS_RecipientInfo_kari_set0_pkey_and_peer
    linkageType: ''
    returnType: int
    signature: int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY
      *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: CMS_RecipientInfo_kari_get0_ctx
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: EVP_CIPHER_CTX *CMS_RecipientInfo_kari_get0_ctx(CMS_RecipientInfo *ri)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_kari.c:215,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/crypto/cms/cms_kari.c:219,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/cms/cms_kari.c:222,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/cms/cms_kari.c:225,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cms/cms_kari.c:227,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/crypto/cms/cms_kari.c:230,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cms/cms_kari.c:237,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_kari.c:239,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/crypto/cms/cms_kari.c:240,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kari.c:242,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 6
    argNames:
    - pout
    - poutlen
    - in
    - inlen
    - kari
    - enc
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned char*
    - size_t
    - CMS_KeyAgreeRecipientInfo*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 204
    functionDepth: 6
    functionLinenumber: 204
    functionLinenumberEnd: 245
    functionName: cms_kek_cipher
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 2
    functionsReached:
    - EVP_CipherUpdate
    - EVP_PKEY_derive
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_CTX_reset
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_CipherInit_ex
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int cms_kek_cipher(unsigned char **pout, size_t *poutlen,\n                          const
      unsigned char *in, size_t inlen,\n                          CMS_KeyAgreeRecipientInfo
      *kari, int enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_kari.c:260,1
    - Dst: cms_kek_cipher
      Src: /src/openssl/crypto/cms/cms_kari.c:263,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_kari.c:265,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_kari.c:266,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_kari.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cms
    - ri
    - rek
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    - CMS_RecipientEncryptedKey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 247
    functionDepth: 14
    functionLinenumber: 247
    functionLinenumberEnd: 274
    functionName: CMS_RecipientInfo_kari_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 0
    functionsReached:
    - ossl_cms_get0_env_enc_content
    - ossl_cms_env_asn1_ctrl
    - OPENSSL_clear_free
    - cms_kek_cipher
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int CMS_RecipientInfo_kari_decrypt(CMS_ContentInfo *cms,\n                                   CMS_RecipientInfo
      *ri,\n                                   CMS_RecipientEncryptedKey *rek)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kari.c:284,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kari.c:285,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_kari.c:287,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/crypto/cms/cms_kari.c:290,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/crypto/cms/cms_kari.c:292,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kari.c:294,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_kari.c:295,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/crypto/cms/cms_kari.c:298,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kari.c:304,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_kari.c:305,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - kari
    - pk
    argTypes:
    - CMS_KeyAgreeRecipientInfo*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 277
    functionDepth: 8
    functionLinenumber: 277
    functionLinenumberEnd: 307
    functionName: cms_kari_create_ephemeral_key
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_derive_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_cms_ctx_get0_propq
    - EVP_PKEY_keygen
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: "int cms_kari_create_ephemeral_key(CMS_KeyAgreeRecipientInfo *kari,\n
      \                                        EVP_PKEY *pk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/cms/cms_kari.c:317,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_kari.c:317,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_kari.c:319,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/crypto/cms/cms_kari.c:322,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_kari.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - kari
    - originatorPrivKey
    argTypes:
    - CMS_KeyAgreeRecipientInfo*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 331
    functionName: cms_kari_set_originator_private_key
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - ossl_cms_ctx_get0_propq
    linkageType: ''
    returnType: int
    signature: "int cms_kari_set_originator_private_key(CMS_KeyAgreeRecipientInfo
      *kari,\n                                               EVP_PKEY *originatorPrivKey
      )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_kari.c:343,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_kari.c:352,1
    - Dst: sk_CMS_RecipientEncryptedKey_push
      Src: /src/openssl/crypto/cms/cms_kari.c:356,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cms/cms_kari.c:357,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_kari.c:363,1
    - Dst: ossl_cms_set1_keyid
      Src: /src/openssl/crypto/cms/cms_kari.c:366,1
    - Dst: ossl_cms_set1_ias
      Src: /src/openssl/crypto/cms/cms_kari.c:370,1
    - Dst: cms_kari_create_ephemeral_key
      Src: /src/openssl/crypto/cms/cms_kari.c:376,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_kari.c:387,1
    - Dst: ossl_cms_set1_keyid
      Src: /src/openssl/crypto/cms/cms_kari.c:390,1
    - Dst: ossl_cms_set1_ias
      Src: /src/openssl/crypto/cms/cms_kari.c:394,1
    - Dst: cms_kari_set_originator_private_key
      Src: /src/openssl/crypto/cms/cms_kari.c:398,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/cms/cms_kari.c:402,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 7
    argNames:
    - ri
    - recip
    - recipPubKey
    - originator
    - originatorPrivKey
    - flags
    - ctx
    argTypes:
    - CMS_RecipientInfo*
    - X509*
    - EVP_PKEY*
    - X509*
    - EVP_PKEY*
    - unsigned int
    - CMS_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 335
    functionDepth: 9
    functionLinenumber: 335
    functionLinenumberEnd: 407
    functionName: ossl_cms_RecipientInfo_kari_init
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 1
    functionsReached:
    - M_ASN1_new_of
    - ossl_cms_set1_keyid
    - M_ASN1_free_of
    - ossl_cms_set1_ias
    - sk_CMS_RecipientEncryptedKey_push
    - cms_kari_create_ephemeral_key
    - EVP_PKEY_up_ref
    - cms_kari_set_originator_private_key
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri,  X509
      *recip,\n                                     EVP_PKEY *recipPubKey, X509 *originator,\n
      \                                    EVP_PKEY *originatorPrivKey,\n                                     unsigned
      int flags, const CMS_CTX *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_kari.c:417,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kari.c:421,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_kari.c:426,1
    - Dst: ossl_cms_RecipientInfo_wrap_init
      Src: /src/openssl/crypto/cms/cms_kari.c:428,1
    - Dst: M_ASN1_new_of
      Src: /src/openssl/crypto/cms/cms_kari.c:437,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kari.c:445,1
    - Dst: ossl_cms_env_asn1_ctrl
      Src: /src/openssl/crypto/cms/cms_kari.c:449,1
    - Dst: sk_CMS_RecipientEncryptedKey_num
      Src: /src/openssl/crypto/cms/cms_kari.c:452,1
    - Dst: sk_CMS_RecipientEncryptedKey_value
      Src: /src/openssl/crypto/cms/cms_kari.c:455,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/crypto/cms/cms_kari.c:456,1
    - Dst: cms_kek_cipher
      Src: /src/openssl/crypto/cms/cms_kari.c:458,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/cms/cms_kari.c:461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - cms
    - ri
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 411
    functionDepth: 14
    functionLinenumber: 411
    functionLinenumberEnd: 465
    functionName: ossl_cms_RecipientInfo_kari_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_kari.c
    functionUses: 1
    functionsReached:
    - ossl_cms_RecipientInfo_wrap_init
    - M_ASN1_new_of
    - ossl_cms_get0_env_enc_content
    - ERR_raise
    - sk_CMS_RecipientEncryptedKey_value
    - ossl_cms_env_asn1_ctrl
    - cms_kek_cipher
    - EVP_PKEY_derive_set_peer
    - STACK_OF
    - sk_CMS_RecipientEncryptedKey_num
    - ASN1_STRING_set0
    linkageType: ''
    returnType: int
    signature: "int ossl_cms_RecipientInfo_kari_encrypt(const CMS_ContentInfo *cms,\n
      \                                       CMS_RecipientInfo *ri)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_smime.c:25,1
    - Dst: BIO_s_null
      Src: /src/openssl/crypto/cms/cms_smime.c:25,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cms/cms_smime.c:27,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cms/cms_smime.c:27,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/cms/cms_smime.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - out
    - flags
    argTypes:
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: cms_get_text_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - BIO_set_mem_eof_return
    - BIO_new
    - BIO_s_mem
    - BIO_s_null
    linkageType: ''
    returnType: BIO
    signature: BIO *cms_get_text_bio(BIO *out, unsigned int flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cms_get_text_bio
      Src: /src/openssl/crypto/cms/cms_smime.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:43,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/cms/cms_smime.c:49,1
    - Dst: BIO_method_type
      Src: /src/openssl/crypto/cms/cms_smime.c:51,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/crypto/cms/cms_smime.c:52,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/cms/cms_smime.c:60,1
    - Dst: SMIME_text
      Src: /src/openssl/crypto/cms/cms_smime.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:66,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_smime.c:74,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - out
    - in
    - flags
    argTypes:
    - BIO*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 77
    functionName: cms_copy_content
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - cms_get_text_bio
    - BIO_method_type
    - ERR_raise
    - BIO_get_cipher_status
    - BIO_free
    - SMIME_text
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int cms_copy_content(BIO *out, BIO *in, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_smime.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: check_content
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_get0_content
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int check_content(CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pop
      Src: /src/openssl/crypto/cms/cms_smime.c:96,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cms/cms_smime.c:97,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/cms/cms_smime.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - f
    - upto
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: do_free_upto
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - BIO_pop
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void do_free_upto(BIO *f, BIO *upto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_smime.c:110,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:111,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:114,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:117,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/cms/cms_smime.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cms
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 10
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: CMS_data
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CMS_dataInit
    - BIO_free_all
    - cms_copy_content
    - CMS_get0_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_Data_create
      Src: /src/openssl/crypto/cms/cms_smime.c:125,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:130,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - in
    - flags
    - libctx
    - propq
    argTypes:
    - BIO*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: CMS_data_create_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_ContentInfo_free
    - CMS_final
    - ossl_cms_Data_create
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_data_create_ex(BIO *in, unsigned int flags,\n
      \                                   OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_data_create_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - flags
    argTypes:
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: CMS_data_create
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_data_create_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_smime.c:148,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:149,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:153,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:156,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:160,1
    - Dst: ossl_cms_DigestedData_do_final
      Src: /src/openssl/crypto/cms/cms_smime.c:162,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - cms
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 10
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: CMS_digest_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CMS_dataInit
    - ossl_cms_DigestedData_do_final
    - do_free_upto
    - check_content
    - cms_copy_content
    - CMS_get0_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out,\n
      \                     unsigned int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/cms/cms_smime.c:178,1
    - Dst: ossl_cms_DigestedData_create
      Src: /src/openssl/crypto/cms/cms_smime.c:179,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_smime.c:184,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:186,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - in
    - md
    - flags
    - ctx
    - propq
    argTypes:
    - BIO*
    - EVP_MD*
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: CMS_digest_create_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - EVP_sha1
    - CMS_set_detached
    - CMS_ContentInfo_free
    - ossl_cms_DigestedData_create
    - CMS_final
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_digest_create_ex(BIO *in, const EVP_MD *md,\n
      \                                     unsigned int flags, OSSL_LIB_CTX *ctx,\n
      \                                     const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_digest_create_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - md
    - flags
    argTypes:
    - BIO*
    - EVP_MD*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: CMS_digest_create
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_digest_create_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md,\n                                   unsigned
      int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_smime.c:206,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:207,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:211,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/openssl/crypto/cms/cms_smime.c:214,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:216,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:219,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - cms
    - key
    - keylen
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - unsigned char*
    - size_t
    - BIO*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 199
    functionDepth: 10
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionName: CMS_EncryptedData_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CMS_dataInit
    - CMS_EncryptedData_set1_key
    - check_content
    - do_free_upto
    - cms_copy_content
    - CMS_get0_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms,\n                              const
      unsigned char *key, size_t keylen,\n                              BIO *dcont,
      BIO *out, unsigned int flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:233,1
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:236,1
    - Dst: CMS_EncryptedData_set1_key
      Src: /src/openssl/crypto/cms/cms_smime.c:239,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_smime.c:243,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:246,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - in
    - cipher
    - key
    - keylen
    - flags
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - unsigned int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 252
    functionName: CMS_EncryptedData_encrypt_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CMS_ContentInfo_new_ex
    - CMS_EncryptedData_set1_key
    - CMS_set_detached
    - CMS_ContentInfo_free
    - CMS_final
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_EncryptedData_encrypt_ex(BIO *in, const EVP_CIPHER
      *cipher,\n                                              const unsigned char
      *key,\n                                              size_t keylen, unsigned
      int flags,\n                                              OSSL_LIB_CTX *libctx,\n
      \                                             const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_EncryptedData_encrypt_ex
      Src: /src/openssl/crypto/cms/cms_smime.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - in
    - cipher
    - key
    - keylen
    - flags
    argTypes:
    - BIO*
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: CMS_EncryptedData_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_EncryptedData_encrypt_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER
      *cipher,\n                                           const unsigned char *key,\n
      \                                          size_t keylen, unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:689,1
    - Dst: CMS_RecipientInfo_kari_get0_reks
      Src: /src/openssl/crypto/cms/cms_smime.c:692,1
    - Dst: sk_CMS_RecipientEncryptedKey_num
      Src: /src/openssl/crypto/cms/cms_smime.c:693,1
    - Dst: sk_CMS_RecipientEncryptedKey_value
      Src: /src/openssl/crypto/cms/cms_smime.c:696,1
    - Dst: CMS_RecipientEncryptedKey_cert_cmp
      Src: /src/openssl/crypto/cms/cms_smime.c:697,1
    - Dst: CMS_RecipientInfo_kari_set0_pkey_and_peer
      Src: /src/openssl/crypto/cms/cms_smime.c:699,1
    - Dst: CMS_RecipientInfo_kari_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:700,1
    - Dst: CMS_RecipientInfo_kari_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - cms
    - ri
    - pk
    - cert
    - peer
    argTypes:
    - CMS_ContentInfo*
    - CMS_RecipientInfo*
    - EVP_PKEY*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 684
    functionDepth: 15
    functionLinenumber: 684
    functionLinenumberEnd: 707
    functionName: cms_kari_set1_pkey_and_peer
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - sk_CMS_RecipientEncryptedKey_value
    - CMS_RecipientInfo_kari_set0_pkey
    - CMS_RecipientInfo_kari_set0_pkey_and_peer
    - STACK_OF
    - sk_CMS_RecipientEncryptedKey_num
    - CMS_RecipientInfo_kari_decrypt
    - CMS_RecipientEncryptedKey_cert_cmp
    - CMS_RecipientInfo_kari_get0_reks
    linkageType: ''
    returnType: int
    signature: "int cms_kari_set1_pkey_and_peer(CMS_ContentInfo *cms,\n                                       CMS_RecipientInfo
      *ri,\n                                       EVP_PKEY *pk, X509 *cert, X509
      *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMS_decrypt_set1_pkey_and_peer
      Src: /src/openssl/crypto/cms/cms_smime.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cms
    - pk
    - cert
    argTypes:
    - CMS_ContentInfo*
    - EVP_PKEY*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: CMS_decrypt_set1_pkey
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_decrypt_set1_pkey_and_peer
    linkageType: ''
    returnType: int
    signature: int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509
      *cert)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:717,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_smime.c:717,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_smime.c:721,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_smime.c:725,1
    - Dst: ossl_cms_pkey_get_ri_type
      Src: /src/openssl/crypto/cms/cms_smime.c:733,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:735,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:739,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:742,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/openssl/crypto/cms/cms_smime.c:743,1
    - Dst: ossl_cms_pkey_is_ri_type_supported
      Src: /src/openssl/crypto/cms/cms_smime.c:744,1
    - Dst: cms_kari_set1_pkey_and_peer
      Src: /src/openssl/crypto/cms/cms_smime.c:748,1
    - Dst: CMS_RecipientInfo_kemri_cert_cmp
      Src: /src/openssl/crypto/cms/cms_smime.c:754,1
    - Dst: CMS_RecipientInfo_kemri_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:755,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:756,1
    - Dst: CMS_RecipientInfo_kemri_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:757,1
    - Dst: CMS_RecipientInfo_ktri_cert_cmp
      Src: /src/openssl/crypto/cms/cms_smime.c:763,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/cms/cms_smime.c:764,1
    - Dst: CMS_RecipientInfo_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:766,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:767,1
    - Dst: CMS_RecipientInfo_set0_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:768,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_smime.c:775,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:780,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_smime.c:797,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:802,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 63
    argCount: 4
    argNames:
    - cms
    - pk
    - cert
    - peer
    argTypes:
    - CMS_ContentInfo*
    - EVP_PKEY*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 714
    functionDepth: 16
    functionLinenumber: 714
    functionLinenumberEnd: 805
    functionName: CMS_decrypt_set1_pkey_and_peer
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 1
    functionsReached:
    - ossl_cms_get0_env_enc_content
    - ERR_raise
    - CMS_RecipientInfo_ktri_cert_cmp
    - CMS_RecipientInfo_set0_pkey
    - OPENSSL_clear_free
    - ERR_clear_error
    - sk_CMS_RecipientInfo_num
    - CMS_RecipientInfo_type
    - ossl_cms_pkey_get_ri_type
    - STACK_OF
    - CMS_RecipientInfo_decrypt
    - cms_kari_set1_pkey_and_peer
    - EVP_PKEY_up_ref
    - CMS_get0_RecipientInfos
    - CMS_RecipientInfo_kemri_set0_pkey
    - ossl_cms_pkey_is_ri_type_supported
    - CMS_RecipientInfo_kemri_cert_cmp
    - sk_CMS_RecipientInfo_value
    linkageType: ''
    returnType: int
    signature: "int CMS_decrypt_set1_pkey_and_peer(CMS_ContentInfo *cms, EVP_PKEY
      *pk,\n                                   X509 *cert, X509 *peer)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:811,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_smime.c:815,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:816,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:817,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/openssl/crypto/cms/cms_smime.c:818,1
    - Dst: CMS_RecipientInfo_kekri_id_cmp
      Src: /src/openssl/crypto/cms/cms_smime.c:823,1
    - Dst: CMS_RecipientInfo_set0_key
      Src: /src/openssl/crypto/cms/cms_smime.c:825,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:826,1
    - Dst: CMS_RecipientInfo_set0_key
      Src: /src/openssl/crypto/cms/cms_smime.c:827,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:831,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/cms/cms_smime.c:834,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:839,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - cms
    - key
    - keylen
    - id
    - idlen
    argTypes:
    - CMS_ContentInfo*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 807
    functionDepth: 16
    functionLinenumber: 807
    functionLinenumberEnd: 842
    functionName: CMS_decrypt_set1_key
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ERR_clear_error
    - sk_CMS_RecipientInfo_num
    - CMS_RecipientInfo_type
    - STACK_OF
    - CMS_RecipientInfo_kekri_id_cmp
    - CMS_RecipientInfo_decrypt
    - CMS_get0_RecipientInfos
    - CMS_RecipientInfo_set0_key
    - sk_CMS_RecipientInfo_value
    linkageType: ''
    returnType: int
    signature: "int CMS_decrypt_set1_key(CMS_ContentInfo *cms,\n                         unsigned
      char *key, size_t keylen,\n                         const unsigned char *id,
      size_t idlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_smime.c:847,1
    - Dst: CMS_get0_RecipientInfos
      Src: /src/openssl/crypto/cms/cms_smime.c:847,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_smime.c:850,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_smime.c:854,1
    - Dst: sk_CMS_RecipientInfo_num
      Src: /src/openssl/crypto/cms/cms_smime.c:859,1
    - Dst: sk_CMS_RecipientInfo_value
      Src: /src/openssl/crypto/cms/cms_smime.c:860,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/openssl/crypto/cms/cms_smime.c:861,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/openssl/crypto/cms/cms_smime.c:866,1
    - Dst: CMS_RecipientInfo_decrypt
      Src: /src/openssl/crypto/cms/cms_smime.c:867,1
    - Dst: CMS_RecipientInfo_set0_password
      Src: /src/openssl/crypto/cms/cms_smime.c:868,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - cms
    - pass
    - passlen
    argTypes:
    - CMS_ContentInfo*
    - unsigned char*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 844
    functionDepth: 16
    functionLinenumber: 844
    functionLinenumberEnd: 877
    functionName: CMS_decrypt_set1_password
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 1
    functionsReached:
    - ossl_cms_get0_env_enc_content
    - ERR_raise
    - OPENSSL_clear_free
    - sk_CMS_RecipientInfo_num
    - CMS_RecipientInfo_type
    - STACK_OF
    - CMS_RecipientInfo_decrypt
    - CMS_get0_RecipientInfos
    - CMS_RecipientInfo_set0_password
    - sk_CMS_RecipientInfo_value
    linkageType: ''
    returnType: int
    signature: "int CMS_decrypt_set1_password(CMS_ContentInfo *cms,\n                              unsigned
      char *pass, ossl_ssize_t passlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_smime.c:885,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:885,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:889,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:892,1
    - Dst: ossl_cms_get0_env_enc_content
      Src: /src/openssl/crypto/cms/cms_smime.c:894,1
    - Dst: CMS_decrypt_set1_pkey
      Src: /src/openssl/crypto/cms/cms_smime.c:899,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:901,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:904,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:905,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - cms
    - pk
    - cert
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - EVP_PKEY*
    - X509*
    - BIO*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 879
    functionDepth: 10
    functionLinenumber: 879
    functionLinenumberEnd: 907
    functionName: CMS_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 1
    functionsReached:
    - ossl_cms_get0_env_enc_content
    - ERR_raise
    - CMS_dataInit
    - CMS_decrypt_set1_pkey
    - do_free_upto
    - check_content
    - cms_copy_content
    - CMS_get0_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert,\n
      \               BIO *dcont, BIO *out, unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:914,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:915,1
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/cms/cms_smime.c:919,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/cms/cms_smime.c:923,1
    - Dst: CMS_dataFinal
      Src: /src/openssl/crypto/cms/cms_smime.c:925,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:926,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - cms
    - data
    - dcont
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 909
    functionDepth: 10
    functionLinenumber: 909
    functionLinenumberEnd: 937
    functionName: CMS_final
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - CMS_dataFinal
    - CMS_dataInit
    - BIO_flush
    - do_free_upto
    - SMIME_crlf_copy
    linkageType: ''
    returnType: int
    signature: int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, unsigned
      int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:946,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:947,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/cms/cms_smime.c:951,1
    - Dst: ossl_cms_DataFinal
      Src: /src/openssl/crypto/cms/cms_smime.c:953,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:954,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - cms
    - md
    - mdlen
    - dcont
    - flags
    argTypes:
    - CMS_ContentInfo*
    - unsigned char*
    - unsigned int
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 939
    functionDepth: 10
    functionLinenumber: 939
    functionLinenumberEnd: 962
    functionName: CMS_final_digest
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ossl_cms_DataFinal
    - ERR_raise
    - CMS_dataInit
    - BIO_flush
    - do_free_upto
    linkageType: ''
    returnType: int
    signature: "int CMS_final_digest(CMS_ContentInfo *cms,\n                     const
      unsigned char *md, unsigned int mdlen,\n                     BIO *dcont, unsigned
      int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_smime.c:972,1
    - Dst: CMS_get0_type
      Src: /src/openssl/crypto/cms/cms_smime.c:972,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:973,1
    - Dst: check_content
      Src: /src/openssl/crypto/cms/cms_smime.c:977,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_smime.c:980,1
    - Dst: cms_copy_content
      Src: /src/openssl/crypto/cms/cms_smime.c:983,1
    - Dst: do_free_upto
      Src: /src/openssl/crypto/cms/cms_smime.c:984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - cms
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 966
    functionDepth: 10
    functionLinenumber: 966
    functionLinenumberEnd: 986
    functionName: CMS_uncompress
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CMS_dataInit
    - do_free_upto
    - check_content
    - cms_copy_content
    - CMS_get0_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out,\n                   unsigned
      int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_CompressedData_create
      Src: /src/openssl/crypto/cms/cms_smime.c:994,1
    - Dst: CMS_set_detached
      Src: /src/openssl/crypto/cms/cms_smime.c:999,1
    - Dst: CMS_final
      Src: /src/openssl/crypto/cms/cms_smime.c:1001,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/crypto/cms/cms_smime.c:1004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - in
    - comp_nid
    - flags
    argTypes:
    - BIO*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 988
    functionDepth: 11
    functionLinenumber: 988
    functionLinenumberEnd: 1006
    functionName: CMS_compress
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - CMS_ContentInfo_free
    - CMS_set_detached
    - CMS_final
    - ossl_cms_CompressedData_create
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cms
    - dcont
    - out
    - flags
    argTypes:
    - CMS_ContentInfo*
    - BIO*
    - BIO*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: CMS_uncompress
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out,\n                   unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_smime.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - comp_nid
    - flags
    argTypes:
    - BIO*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1021
    functionName: CMS_compress
    functionSourceFile: /src/openssl/crypto/cms/cms_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_RecipientInfo_kemri_get0_alg
      Src: /src/openssl/crypto/cms/cms_kem.c:32,1
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_kem.c:35,1
    - Dst: CMS_RecipientInfo_kemri_get0_ctx
      Src: /src/openssl/crypto/cms/cms_kem.c:39,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cms/cms_kem.c:43,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cms/cms_kem.c:44,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/crypto/cms/cms_kem.c:45,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/crypto/cms/cms_kem.c:47,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/cms/cms_kem.c:49,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_kem.c:52,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kem.c:54,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cms/cms_kem.c:60,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 21
    functionDepth: 6
    functionLinenumber: 21
    functionLinenumberEnd: 62
    functionName: kem_cms_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_kem.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - ossl_cms_RecipientInfo_kemri_get0_alg
    - CMS_RecipientInfo_kemri_get0_ctx
    - OBJ_obj2txt
    - ERR_raise
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_CIPHER_CTX_get_key_length
    - EVP_CIPHER_asn1_to_param
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: int kem_cms_decrypt(CMS_RecipientInfo *ri)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_RecipientInfo_kemri_get0_alg
      Src: /src/openssl/crypto/cms/cms_kem.c:80,1
    - Dst: CMS_RecipientInfo_kemri_get0_kdf_alg
      Src: /src/openssl/crypto/cms/cms_kem.c:83,1
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_kem.c:87,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_kem.c:91,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/crypto/cms/cms_kem.c:95,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cms/cms_kem.c:99,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_kem.c:100,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/cms/cms_kem.c:105,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/cms/cms_kem.c:107,1
    - Dst: EVP_PKEY_get_params
      Src: /src/openssl/crypto/cms/cms_kem.c:108,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/crypto/cms/cms_kem.c:110,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_kem.c:113,1
    - Dst: X509_ALGOR_copy
      Src: /src/openssl/crypto/cms/cms_kem.c:116,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_kem.c:119,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_kem.c:119,1
    - Dst: CMS_RecipientInfo_kemri_get0_ctx
      Src: /src/openssl/crypto/cms/cms_kem.c:125,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/cms/cms_kem.c:128,1
    - Dst: EVP_CIPHER_CTX_get_type
      Src: /src/openssl/crypto/cms/cms_kem.c:129,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/cms/cms_kem.c:132,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_kem.c:133,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_kem.c:134,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cms/cms_kem.c:135,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/cms/cms_kem.c:138,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_kem.c:139,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/cms/cms_kem.c:143,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cms/cms_kem.c:144,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cms/cms_kem.c:150,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 152
    functionName: kem_cms_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_kem.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_param_to_asn1
    - OSSL_PARAM_construct_octet_string
    - CMS_RecipientInfo_kemri_get0_kdf_alg
    - EVP_CIPHER_CTX_get_key_length
    - X509_ALGOR_free
    - X509_ALGOR_copy
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_PKEY_CTX_get0_pkey
    - OSSL_PARAM_modified
    - OBJ_nid2obj
    - OSSL_PARAM_construct_end
    - OBJ_obj2nid
    - X509_ALGOR_set0
    - EVP_CIPHER_CTX_get_type
    - EVP_PKEY_get_security_bits
    - ASN1_TYPE_get
    - ossl_cms_RecipientInfo_kemri_get0_alg
    - CMS_RecipientInfo_kemri_get0_ctx
    - EVP_PKEY_get_params
    - X509_ALGOR_get0
    - d2i_X509_ALGOR
    - ASN1_TYPE_new
    - ASN1_TYPE_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int kem_cms_encrypt(CMS_RecipientInfo *ri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/cms/cms_kem.c:156,1
    - Dst: kem_cms_decrypt
      Src: /src/openssl/crypto/cms/cms_kem.c:159,1
    - Dst: kem_cms_encrypt
      Src: /src/openssl/crypto/cms/cms_kem.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_kem.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - CMS_RecipientInfo*
    - int
    assertStmts:
    - condition: (decrypt == 0 || decrypt == 1)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/openssl/crypto/cms/cms_kem.c
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 7
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: ossl_cms_kem_envelope
    functionSourceFile: /src/openssl/crypto/cms/cms_kem.c
    functionUses: 1
    functionsReached:
    - kem_cms_encrypt
    - ERR_raise
    - kem_cms_decrypt
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_cms_kem_envelope(CMS_RecipientInfo *ri, int decrypt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/cms/cms_rsa.c:23,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_rsa.c:23,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/openssl/crypto/cms/cms_rsa.c:30,1
    - Dst: RSA_OAEP_PARAMS_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: rsa_oaep_decode
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - ossl_x509_algor_mgf1_decode
    - ASN1_TYPE_unpack_sequence
    - RSA_OAEP_PARAMS_free
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: RSA_OAEP_PARAMS
    signature: RSA_OAEP_PARAMS *rsa_oaep_decode(const X509_ALGOR *alg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_rsa.c:50,1
    - Dst: CMS_RecipientInfo_ktri_get0_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:53,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_rsa.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:59,1
    - Dst: rsa_oaep_decode
      Src: /src/openssl/crypto/cms/cms_rsa.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:66,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:70,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:73,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_rsa.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:85,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/crypto/cms/cms_rsa.c:95,1
    - Dst: EVP_PKEY_CTX_set_rsa_oaep_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:97,1
    - Dst: EVP_PKEY_CTX_set_rsa_mgf1_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:99,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/openssl/crypto/cms/cms_rsa.c:102,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:103,1
    - Dst: RSA_OAEP_PARAMS_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:110,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 112
    functionName: rsa_cms_decrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - rsa_oaep_decode
    - ERR_raise
    - ossl_x509_algor_get_md
    - EVP_PKEY_CTX_set_rsa_padding
    - RSA_OAEP_PARAMS_free
    - CMS_RecipientInfo_get0_pkey_ctx
    - EVP_PKEY_CTX_set_rsa_mgf1_md
    - OPENSSL_free
    - CMS_RecipientInfo_ktri_get0_algs
    - EVP_PKEY_CTX_set_rsa_oaep_md
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int rsa_cms_decrypt(CMS_RecipientInfo *ri)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_rsa.c:121,1
    - Dst: CMS_RecipientInfo_ktri_get0_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:125,1
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/openssl/crypto/cms/cms_rsa.c:128,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_rsa.c:132,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_rsa.c:132,1
    - Dst: EVP_PKEY_CTX_get_rsa_oaep_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:138,1
    - Dst: EVP_PKEY_CTX_get_rsa_mgf1_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:140,1
    - Dst: EVP_PKEY_CTX_get0_rsa_oaep_label
      Src: /src/openssl/crypto/cms/cms_rsa.c:142,1
    - Dst: RSA_OAEP_PARAMS_new
      Src: /src/openssl/crypto/cms/cms_rsa.c:145,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/openssl/crypto/cms/cms_rsa.c:148,1
    - Dst: ossl_x509_algor_md_to_mgf1
      Src: /src/openssl/crypto/cms/cms_rsa.c:150,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_rsa.c:153,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/cms/cms_rsa.c:157,1
    - Dst: ossl_X509_ALGOR_from_nid
      Src: /src/openssl/crypto/cms/cms_rsa.c:160,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/cms/cms_rsa.c:168,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_rsa.c:168,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_rsa.c:170,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_rsa.c:170,1
    - Dst: RSA_OAEP_PARAMS_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:175,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:176,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:177,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 1
    argNames:
    - ri
    argTypes:
    - CMS_RecipientInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 179
    functionName: rsa_cms_encrypt
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - ossl_x509_algor_md_to_mgf1
    - ossl_X509_ALGOR_from_nid
    - ASN1_OCTET_STRING_free
    - RSA_OAEP_PARAMS_new
    - CMS_RecipientInfo_get0_pkey_ctx
    - CMS_RecipientInfo_ktri_get0_algs
    - OBJ_nid2obj
    - ASN1_item_pack
    - ASN1_OCTET_STRING_new
    - X509_ALGOR_set0
    - EVP_PKEY_CTX_get_rsa_mgf1_md
    - ossl_x509_algor_new_from_md
    - EVP_PKEY_CTX_get0_rsa_oaep_label
    - EVP_PKEY_CTX_get_rsa_oaep_md
    - RSA_OAEP_PARAMS_free
    - ASN1_STRING_free
    - ASN1_ITEM_rptr
    - EVP_PKEY_CTX_get_rsa_padding
    linkageType: ''
    returnType: int
    signature: int rsa_cms_encrypt(CMS_RecipientInfo *ri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/cms/cms_rsa.c:183,1
    - Dst: rsa_cms_decrypt
      Src: /src/openssl/crypto/cms/cms_rsa.c:186,1
    - Dst: rsa_cms_encrypt
      Src: /src/openssl/crypto/cms/cms_rsa.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - CMS_RecipientInfo*
    - int
    assertStmts:
    - condition: (decrypt == 0 || decrypt == 1)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/openssl/crypto/cms/cms_rsa.c
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: ossl_cms_rsa_envelope
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 1
    functionsReached:
    - rsa_cms_encrypt
    - rsa_cms_decrypt
    - ERR_raise
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_cms_rsa_envelope(CMS_RecipientInfo *ri, int decrypt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CMS_SignerInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_rsa.c:199,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:205,1
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/openssl/crypto/cms/cms_rsa.c:207,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_rsa.c:211,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_rsa.c:211,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/cms/cms_rsa.c:218,1
    - Dst: ossl_rsa_ctx_to_pss_string
      Src: /src/openssl/crypto/cms/cms_rsa.c:222,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/cms/cms_rsa.c:225,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cms/cms_rsa.c:225,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cms/cms_rsa.c:227,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/cms/cms_rsa.c:231,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/cms/cms_rsa.c:233,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/cms/cms_rsa.c:235,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/cms/cms_rsa.c:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 242
    functionName: rsa_cms_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_get_params
    - CMS_SignerInfo_get0_algs
    - ASN1_STRING_free
    - ossl_rsa_ctx_to_pss_string
    - EVP_PKEY_CTX_get_rsa_padding
    - d2i_X509_ALGOR
    - OBJ_nid2obj
    - CMS_SignerInfo_get0_pkey_ctx
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_is_legacy
    linkageType: ''
    returnType: int
    signature: int rsa_cms_sign(CMS_SignerInfo *si)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMS_SignerInfo_get0_pkey_ctx
      Src: /src/openssl/crypto/cms/cms_rsa.c:248,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/cms/cms_rsa.c:249,1
    - Dst: CMS_SignerInfo_get0_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:251,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_rsa.c:252,1
    - Dst: ossl_rsa_pss_to_ctx
      Src: /src/openssl/crypto/cms/cms_rsa.c:254,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/cms/cms_rsa.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:257,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/cms/cms_rsa.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - si
    argTypes:
    - CMS_SignerInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 268
    functionName: rsa_cms_verify
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_get0_pkey
    - CMS_SignerInfo_get0_algs
    - CMS_SignerInfo_get0_pkey_ctx
    - ossl_rsa_pss_to_ctx
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int rsa_cms_verify(CMS_SignerInfo *si)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/cms/cms_rsa.c:272,1
    - Dst: rsa_cms_verify
      Src: /src/openssl/crypto/cms/cms_rsa.c:275,1
    - Dst: rsa_cms_sign
      Src: /src/openssl/crypto/cms/cms_rsa.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_rsa.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - CMS_SignerInfo*
    - int
    assertStmts:
    - condition: (verify == 0 || verify == 1)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/openssl/crypto/cms/cms_rsa.c
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: ossl_cms_rsa_sign
    functionSourceFile: /src/openssl/crypto/cms/cms_rsa.c
    functionUses: 1
    functionsReached:
    - rsa_cms_verify
    - ERR_raise
    - assert
    - rsa_cms_sign
    linkageType: ''
    returnType: int
    signature: int ossl_cms_rsa_sign(CMS_SignerInfo *si, int verify)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMS_get0_content
      Src: /src/openssl/crypto/cms/cms_io.c:22,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cms/cms_io.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cms/cms_io.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - boundary
    - cms
    argTypes:
    - unsigned char***
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: CMS_stream
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - CMS_get0_content
    - ERR_raise
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_io.c:40,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/cms/cms_io.c:42,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:42,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:43,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_io.c:44,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_io.c:46,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:47,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_io.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bp
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: d2i_CMS_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - ASN1_item_d2i_bio_ex
    - ERR_pop_to_mark
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - ossl_cms_resolve_libctx
    - ossl_cms_ctx_get0_propq
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/cms/cms_io.c:55,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: i2d_CMS_bio
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_NDEF
      Src: /src/openssl/crypto/cms/cms_io.c:62,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - cms
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: BIO_new_CMS
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - BIO_new_NDEF
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ASN1_bio_stream
      Src: /src/openssl/crypto/cms/cms_io.c:70,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - cms
    - in
    - flags
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: i2d_CMS_bio_stream
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - i2d_ASN1_bio_stream
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_ASN1_stream
      Src: /src/openssl/crypto/cms/cms_io.c:77,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - cms
    - in
    - flags
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: PEM_write_bio_CMS_stream
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_ASN1_stream
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: "int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in,\n
      \                            int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cms/cms_io.c:83,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_io.c:84,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_io.c:85,1
    - Dst: CMS_get0_eContentType
      Src: /src/openssl/crypto/cms/cms_io.c:85,1
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_io.c:86,1
    - Dst: SMIME_write_ASN1_ex
      Src: /src/openssl/crypto/cms/cms_io.c:93,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:95,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:96,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_io.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - bio
    - cms
    - data
    - flags
    argTypes:
    - BIO*
    - CMS_ContentInfo*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: SMIME_write_CMS
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - SMIME_write_ASN1_ex
    - ossl_cms_ctx_get0_libctx
    - CMS_get0_eContentType
    - ASN1_ITEM_rptr
    - STACK_OF
    - ossl_cms_ctx_get0_propq
    - OBJ_obj2nid
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: int
    signature: int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cms_get0_cmsctx
      Src: /src/openssl/crypto/cms/cms_io.c:104,1
    - Dst: SMIME_read_ASN1_ex
      Src: /src/openssl/crypto/cms/cms_io.c:106,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_io.c:107,1
    - Dst: ossl_cms_ctx_get0_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:109,1
    - Dst: ossl_cms_ctx_get0_propq
      Src: /src/openssl/crypto/cms/cms_io.c:110,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cms/cms_io.c:112,1
    - Dst: ossl_cms_resolve_libctx
      Src: /src/openssl/crypto/cms/cms_io.c:113,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cms/cms_io.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - bio
    - flags
    - bcont
    - cms
    argTypes:
    - BIO*
    - int
    - BIO**
    - CMS_ContentInfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: SMIME_read_CMS_ex
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - ossl_cms_ctx_get0_libctx
    - ERR_pop_to_mark
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - ossl_cms_resolve_libctx
    - ossl_cms_ctx_get0_propq
    - SMIME_read_ASN1_ex
    - ossl_cms_get0_cmsctx
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *SMIME_read_CMS_ex(BIO *bio, int flags, BIO **bcont,\n
      \                                  CMS_ContentInfo **cms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_CMS_ex
      Src: /src/openssl/crypto/cms/cms_io.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - bcont
    argTypes:
    - BIO*
    - BIO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: SMIME_read_CMS
    functionSourceFile: /src/openssl/crypto/cms/cms_io.c
    functionUses: 0
    functionsReached:
    - SMIME_read_CMS_ex
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:51,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:52,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:53,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 8
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: cms_si_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - X509_free
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int cms_si_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                    void *exarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: cms_ec_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: "int cms_ec_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                    void *exarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: cms_rek_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int cms_rek_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                     void *exarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_asn1.c:164,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_asn1.c:167,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:170,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 8
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: cms_kari_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_set_flags
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: int
    signature: "int cms_kari_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it,\n                       void *exarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/cms/cms_asn1.c:210,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/crypto/cms/cms_asn1.c:213,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:216,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:217,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 8
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: cms_kemri_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_flags
    - EVP_PKEY_CTX_free
    - ASN1_OCTET_STRING_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: "int cms_kemri_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it,\n                        void *exarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:259,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:260,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:261,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:264,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:267,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cms/cms_asn1.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 252
    functionDepth: 5
    functionLinenumber: 252
    functionLinenumberEnd: 288
    functionName: cms_ri_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - EVP_PKEY_free
    - X509_free
    - EVP_PKEY_CTX_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int cms_ri_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                    void *exarg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CMS_stream
      Src: /src/openssl/crypto/cms/cms_asn1.c:377,1
    - Dst: CMS_dataInit
      Src: /src/openssl/crypto/cms/cms_asn1.c:381,1
    - Dst: CMS_dataFinal
      Src: /src/openssl/crypto/cms/cms_asn1.c:388,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cms/cms_asn1.c:393,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 365
    functionDepth: 10
    functionLinenumber: 365
    functionLinenumberEnd: 398
    functionName: cms_cb
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 0
    functionsReached:
    - CMS_dataInit
    - OPENSSL_free
    - CMS_stream
    - CMS_dataFinal
    linkageType: ''
    returnType: int
    signature: "int cms_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                 void *exarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cms/cms_asn1.c:490,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_asn1.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - pder
    - kekalg
    - ukm
    - keylen
    argTypes:
    - unsigned char**
    - X509_ALGOR*
    - ASN1_OCTET_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 491
    functionName: CMS_SharedInfo_encode
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 2
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_i2d
    linkageType: ''
    returnType: int
    signature: "int CMS_SharedInfo_encode(unsigned char **pder, X509_ALGOR *kekalg,\n
      \                         ASN1_OCTET_STRING *ukm, int keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cms/cms_asn1.c:519,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cms/cms_asn1.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pder
    - wrap
    - ukm
    - keylen
    argTypes:
    - unsigned char**
    - X509_ALGOR*
    - ASN1_OCTET_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 521
    functionName: CMS_CMSORIforKEMOtherInfo_encode
    functionSourceFile: /src/openssl/crypto/cms/cms_asn1.c
    functionUses: 1
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_i2d
    linkageType: ''
    returnType: int
    signature: "int CMS_CMSORIforKEMOtherInfo_encode(unsigned char **pder, X509_ALGOR
      *wrap,\n                                     ASN1_OCTET_STRING *ukm, int keylen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:28,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:30,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:32,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:34,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 9
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: s390x_fc_from_md
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - S390X_CAPBIT
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: int s390x_fc_from_md(const EVP_MD *md)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: s390x_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - in
    - len
    argTypes:
    - HMAC_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: s390x_call_kmac
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - s390x_kmac
    linkageType: ''
    returnType: void
    signature: void s390x_call_kmac(HMAC_CTX *ctx, const unsigned char *in, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:79,1
    - Dst: ENGINE_get_digest_engine
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:82,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:82,1
    - Dst: ENGINE_get_digest
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:88,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:88,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - md
    - impl
    argTypes:
    - EVP_MD*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: s390x_check_engine_used
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - ENGINE_init
    - ENGINE_get_digest
    - ENGINE_get_digest_engine
    - ENGINE_finish
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: int s390x_check_engine_used(const EVP_MD *md, ENGINE *impl)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: s390x_fc_from_md
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:103,1
    - Dst: s390x_check_engine_used
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:107,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:112,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:118,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:120,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:136,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:142,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:153,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:160,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:169,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:173,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:174,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:175,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:181,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 4
    argNames:
    - ctx
    - key
    - key_len
    - impl
    argTypes:
    - HMAC_CTX*
    - void*
    - int
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 98
    functionDepth: 10
    functionLinenumber: 98
    functionLinenumberEnd: 187
    functionName: s390x_HMAC_init
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - EVP_DigestFinal_ex
    - EVP_MD_get_block_size
    - EVP_DigestUpdate
    - OPENSSL_clear_free
    - OPENSSL_calloc
    - memcpy
    - s390x_check_engine_used
    - EVP_DigestInit_ex
    - s390x_fc_from_md
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int s390x_HMAC_init(HMAC_CTX *ctx, const void *key, int key_len, ENGINE
      *impl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:194,1
    - Dst: s390x_call_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:203,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:213,1
    - Dst: s390x_call_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:216,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:224,1
    - Dst: s390x_call_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:235,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:243,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:247,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - HMAC_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 252
    functionName: s390x_HMAC_update
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - memcpy
    - s390x_call_kmac
    - ERR_raise
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int s390x_HMAC_update(HMAC_CTX *ctx, const unsigned char *data, size_t
      len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:260,1
    - Dst: s390x_call_kmac
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:265,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - md
    - len
    argTypes:
    - HMAC_CTX*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 295
    functionName: s390x_HMAC_final
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - memcpy
    - s390x_call_kmac
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int s390x_HMAC_final(HMAC_CTX *ctx, unsigned char *md, unsigned int
      *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:304,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:307,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - dctx
    - sctx
    argTypes:
    - HMAC_CTX*
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 320
    functionName: s390x_HMAC_CTX_copy
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_clear_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int s390x_HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:324,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac_s390x.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 338
    functionName: s390x_HMAC_CTX_cleanup
    functionSourceFile: /src/openssl/crypto/hmac/hmac_s390x.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int s390x_HMAC_CTX_cleanup(HMAC_CTX *ctx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/hmac/hmac.c:49,1
    - Dst: s390x_HMAC_init
      Src: /src/openssl/crypto/hmac/hmac.c:53,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/crypto/hmac/hmac.c:61,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/hmac/hmac.c:62,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/hmac/hmac.c:67,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:68,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/hmac/hmac.c:69,1
    - Dst: memcpy
      Src: /src/openssl/crypto/hmac/hmac.c:75,1
    - Dst: memset
      Src: /src/openssl/crypto/hmac/hmac.c:79,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/hmac/hmac.c:84,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:85,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/crypto/hmac/hmac.c:86,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/hmac/hmac.c:91,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:92,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/crypto/hmac/hmac.c:93,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:96,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac.c:101,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/hmac/hmac.c:102,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 53
    argCount: 5
    argNames:
    - ctx
    - key
    - len
    - md
    - impl
    argTypes:
    - HMAC_CTX*
    - void*
    - int
    - EVP_MD*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 25
    functionDepth: 11
    functionLinenumber: 25
    functionLinenumberEnd: 105
    functionName: HMAC_Init_ex
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 1
    functionsReached:
    - EVP_MD_xof
    - ossl_assert
    - s390x_HMAC_init
    - EVP_MD_get_block_size
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - memset
    - memcpy
    - EVP_DigestInit_ex
    - EVP_MD_CTX_copy_ex
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,\n                 const
      EVP_MD *md, ENGINE *impl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_reset
      Src: /src/openssl/crypto/hmac/hmac.c:111,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/hmac/hmac.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - key
    - len
    - md
    argTypes:
    - HMAC_CTX*
    - void*
    - int
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 12
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: HMAC_Init
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_reset
    - HMAC_Init_ex
    linkageType: ''
    returnType: int
    signature: int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, const EVP_MD
      *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s390x_HMAC_update
      Src: /src/openssl/crypto/hmac/hmac.c:123,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - HMAC_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: HMAC_Update
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 1
    functionsReached:
    - s390x_HMAC_update
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: s390x_HMAC_final
      Src: /src/openssl/crypto/hmac/hmac.c:139,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/hmac/hmac.c:142,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:144,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/hmac/hmac.c:146,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/hmac/hmac.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - md
    - len
    argTypes:
    - HMAC_CTX*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 129
    functionDepth: 8
    functionLinenumber: 129
    functionLinenumberEnd: 153
    functionName: HMAC_Final
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX_copy_ex
    - EVP_DigestFinal_ex
    - s390x_HMAC_final
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/hmac/hmac.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: HMAC_size
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    linkageType: ''
    returnType: size_t
    signature: size_t HMAC_size(const HMAC_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/hmac/hmac.c:164,1
    - Dst: HMAC_CTX_reset
      Src: /src/openssl/crypto/hmac/hmac.c:167,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/crypto/hmac/hmac.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: HMAC_CTX_new
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - HMAC_CTX_free
    - HMAC_CTX_reset
    linkageType: ''
    returnType: HMAC_CTX
    signature: HMAC_CTX *HMAC_CTX_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/hmac/hmac.c:177,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/hmac/hmac.c:178,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/crypto/hmac/hmac.c:179,1
    - Dst: s390x_HMAC_CTX_cleanup
      Src: /src/openssl/crypto/hmac/hmac.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 7
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: hmac_ctx_cleanup
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - s390x_HMAC_CTX_cleanup
    - EVP_MD_CTX_reset
    linkageType: ''
    returnType: void
    signature: void hmac_ctx_cleanup(HMAC_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_ctx_cleanup
      Src: /src/openssl/crypto/hmac/hmac.c:190,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/hmac/hmac.c:191,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/hmac/hmac.c:192,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/hmac/hmac.c:193,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/hmac/hmac.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 8
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: HMAC_CTX_free
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - hmac_ctx_cleanup
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void HMAC_CTX_free(HMAC_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/hmac/hmac.c:201,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/hmac/hmac.c:205,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/hmac/hmac.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: hmac_ctx_alloc_mds
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    linkageType: ''
    returnType: int
    signature: int hmac_ctx_alloc_mds(HMAC_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_ctx_cleanup
      Src: /src/openssl/crypto/hmac/hmac.c:217,1
    - Dst: hmac_ctx_alloc_mds
      Src: /src/openssl/crypto/hmac/hmac.c:218,1
    - Dst: hmac_ctx_cleanup
      Src: /src/openssl/crypto/hmac/hmac.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 8
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: HMAC_CTX_reset
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 2
    functionsReached:
    - hmac_ctx_alloc_mds
    - hmac_ctx_cleanup
    linkageType: ''
    returnType: int
    signature: int HMAC_CTX_reset(HMAC_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hmac_ctx_alloc_mds
      Src: /src/openssl/crypto/hmac/hmac.c:227,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:229,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:231,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/hmac/hmac.c:233,1
    - Dst: s390x_HMAC_CTX_copy
      Src: /src/openssl/crypto/hmac/hmac.c:238,1
    - Dst: hmac_ctx_cleanup
      Src: /src/openssl/crypto/hmac/hmac.c:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - dctx
    - sctx
    argTypes:
    - HMAC_CTX*
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 225
    functionDepth: 8
    functionLinenumber: 225
    functionLinenumberEnd: 246
    functionName: HMAC_CTX_copy
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX_copy_ex
    - hmac_ctx_alloc_mds
    - hmac_ctx_cleanup
    - s390x_HMAC_CTX_copy
    linkageType: ''
    returnType: int
    signature: int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/hmac/hmac.c:253,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/crypto/hmac/hmac.c:258,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/hmac/hmac.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - evp_md
    - key
    - key_len
    - data
    - data_len
    - md
    - md_len
    argTypes:
    - EVP_MD*
    - void*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 7
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: HMAC
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 4
    functionsReached:
    - EVP_Q_mac
    - EVP_MD_get_size
    - EVP_MD_get0_name
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,\n
      \                   const unsigned char *data, size_t data_len,\n                    unsigned
      char *md, unsigned int *md_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/hmac/hmac.c:269,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/hmac/hmac.c:270,1
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/hmac/hmac.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - HMAC_CTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: HMAC_CTX_set_flags
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_flags
    linkageType: ''
    returnType: void
    signature: void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - HMAC_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: HMAC_CTX_get_md
    functionSourceFile: /src/openssl/crypto/hmac/hmac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: BN_lsw
    functionSourceFile: /src/openssl/crypto/bn/bn_kron.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_lsw(n)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_kron.c:32,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_kron.c:33,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_kron.c:35,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_kron.c:36,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_kron.c:37,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_kron.c:41,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_kron.c:44,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_kron.c:56,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_kron.c:57,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_kron.c:63,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_kron.c:63,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_kron.c:70,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_kron.c:72,1
    - Dst: BN_lsw
      Src: /src/openssl/crypto/bn/bn_kron.c:80,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_kron.c:102,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_kron.c:103,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_kron.c:109,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_kron.c:111,1
    - Dst: BN_lsw
      Src: /src/openssl/crypto/bn/bn_kron.c:117,1
    - Dst: BN_lsw
      Src: /src/openssl/crypto/bn/bn_kron.c:122,1
    - Dst: BN_lsw
      Src: /src/openssl/crypto/bn/bn_kron.c:122,1
    - Dst: BN_lsw
      Src: /src/openssl/crypto/bn/bn_kron.c:122,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_kron.c:126,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_kron.c:135,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 3
    argNames:
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 140
    functionName: BN_kronecker
    functionSourceFile: /src/openssl/crypto/bn/bn_kron.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_abs_is_word
    - BN_is_one
    - BN_nnmod
    - BN_is_zero
    - BN_is_odd
    - bn_check_top
    - BN_rshift
    - BN_copy
    - BN_lsw
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: int BN_kronecker(const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:30,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:31,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gcd.c:33,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:34,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:35,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:36,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:37,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:38,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:39,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:40,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_gcd.c:45,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:51,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:53,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:54,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:56,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:60,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_gcd.c:67,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:68,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_gcd.c:69,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:83,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_gcd.c:98,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:99,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_gcd.c:102,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_gcd.c:142,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:144,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:163,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:168,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:170,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:171,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_gcd.c:174,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_gcd.c:188,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gcd.c:189,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:190,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 5
    argNames:
    - in
    - a
    - n
    - ctx
    - pnoinv
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 192
    functionName: bn_mod_inverse_no_branch
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - BN_div
    - BN_is_one
    - BN_nnmod
    - BN_is_zero
    - BN_add
    - BN_copy
    - BN_CTX_end
    - bn_init
    - bn_check_top
    - BN_ucmp
    - BN_new
    - BN_free
    - BN_mul
    - BN_one
    - BN_sub
    - BN_CTX_get
    - BN_with_flags
    - BN_CTX_start
    - BN_zero
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline *bn_mod_inverse_no_branch(BIGNUM *in,\n                                 const
      BIGNUM *a, const BIGNUM *n,\n                                 BN_CTX *ctx, int
      *pnoinv)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:207,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:207,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:214,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:215,1
    - Dst: bn_mod_inverse_no_branch
      Src: /src/openssl/crypto/bn/bn_gcd.c:216,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:219,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:220,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gcd.c:222,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:223,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:224,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:225,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:226,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:227,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:228,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:229,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_gcd.c:234,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:240,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:242,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:243,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:245,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:248,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_gcd.c:249,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gcd.c:261,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:261,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:270,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_gcd.c:284,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gcd.c:287,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_gcd.c:288,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:294,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:298,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_gcd.c:306,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gcd.c:309,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_gcd.c:310,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:314,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:318,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:334,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_gcd.c:336,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_gcd.c:342,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_gcd.c:346,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_gcd.c:351,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:358,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:368,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:368,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:369,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:371,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:373,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:373,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:375,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:377,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:379,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:381,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:385,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:387,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:389,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:391,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:398,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:403,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_gcd.c:408,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:449,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:450,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:453,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:454,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:456,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:457,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:460,1
    - Dst: BN_mul_word
      Src: /src/openssl/crypto/bn/bn_gcd.c:462,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_gcd.c:465,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:468,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_gcd.c:488,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_gcd.c:493,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_gcd.c:495,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:496,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_gcd.c:499,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_gcd.c:509,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gcd.c:510,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:511,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 211
    argCount: 5
    argNames:
    - in
    - a
    - n
    - ctx
    - pnoinv
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 513
    functionName: int_bn_mod_inverse
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - BN_div
    - BN_is_one
    - BN_nnmod
    - BN_is_zero
    - BN_add
    - BN_lshift1
    - BN_rshift
    - BN_copy
    - bn_mod_inverse_no_branch
    - BN_CTX_end
    - BN_abs_is_word
    - BN_set_word
    - BN_is_odd
    - bn_check_top
    - BN_ucmp
    - BN_new
    - BN_free
    - BN_mul
    - BN_one
    - BN_sub
    - BN_usub
    - BN_num_bits
    - BN_lshift
    - BN_CTX_get
    - BN_CTX_start
    - BN_zero
    - BN_rshift1
    - BN_is_word
    - BN_get_flags
    - BN_uadd
    - BN_mul_word
    - BN_is_bit_set
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *int_bn_mod_inverse(BIGNUM *in,\n                           const
      BIGNUM *a, const BIGNUM *n, BN_CTX *ctx,\n                           int *pnoinv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/bn/bn_gcd.c:524,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gcd.c:526,1
    - Dst: int_bn_mod_inverse
      Src: /src/openssl/crypto/bn/bn_gcd.c:531,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gcd.c:533,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/bn/bn_gcd.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - in
    - a
    - n
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 536
    functionName: BN_mod_inverse
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - int_bn_mod_inverse
    - ERR_raise
    - BN_CTX_new_ex
    - BN_CTX_free
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *BN_mod_inverse(BIGNUM *in,\n                       const BIGNUM
      *a, const BIGNUM *n, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gcd.c:554,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:555,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/bn/bn_gcd.c:559,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_gcd.c:560,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_gcd.c:561,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/bn/bn_gcd.c:563,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gcd.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 549
    functionDepth: 4
    functionLinenumber: 549
    functionLinenumberEnd: 567
    functionName: BN_are_coprime
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - ERR_pop_to_mark
    - BN_mod_inverse
    - ERR_set_mark
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int BN_are_coprime(BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:590,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:591,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gcd.c:595,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gcd.c:596,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:601,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:602,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gcd.c:604,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:605,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gcd.c:606,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:610,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:611,1
    - Dst: constant_time_is_zero_bn
      Src: /src/openssl/crypto/bn/bn_gcd.c:620,1
    - Dst: constant_time_is_zero_bn
      Src: /src/openssl/crypto/bn/bn_gcd.c:621,1
    - Dst: constant_time_select_bn
      Src: /src/openssl/crypto/bn/bn_gcd.c:623,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:636,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:637,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gcd.c:642,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gcd.c:643,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gcd.c:644,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/crypto/bn/bn_gcd.c:648,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:651,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gcd.c:652,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/crypto/bn/bn_gcd.c:663,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_gcd.c:667,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/crypto/bn/bn_gcd.c:669,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:673,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_gcd.c:680,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gcd.c:681,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gcd.c:687,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gcd.c:688,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 4
    argNames:
    - r
    - in_a
    - in_b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 690
    functionName: BN_gcd
    functionSourceFile: /src/openssl/crypto/bn/bn_gcd.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - constant_time_select_bn
    - BN_CTX_start
    - BN_CTX_end
    - BN_consttime_swap
    - BN_rshift1
    - BN_is_zero
    - bn_wexpand
    - BN_add
    - bn_check_top
    - BN_lshift1
    - BN_rshift
    - BN_copy
    - constant_time_is_zero_bn
    - BN_num_bits
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int BN_gcd(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b, BN_CTX
      *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul4x_mont_int
      Src: /src/openssl/crypto/bn/bn_ppc.c:33,1
    - Dst: bn_mul_mont_300_fixed_n6
      Src: /src/openssl/crypto/bn/bn_ppc.c:48,1
    - Dst: bn_mul_mont_fixed_n6
      Src: /src/openssl/crypto/bn/bn_ppc.c:50,1
    - Dst: bn_mul_mont_int
      Src: /src/openssl/crypto/bn/bn_ppc.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 56
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_ppc.c
    functionUses: 0
    functionsReached:
    - bn_mul4x_mont_int
    - bn_mul_mont_300_fixed_n6
    - bn_mul_mont_fixed_n6
    - bn_mul_mont_int
    linkageType: ''
    returnType: int
    signature: "int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,\n
      \               const BN_ULONG *np, const BN_ULONG *n0, int num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/bn/bn_err.c:52,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/bn/bn_err.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ossl_err_load_BN_strings
    functionSourceFile: /src/openssl/crypto/bn/bn_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_BN_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsaz_1024_norm2red_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:74,1
    - Dst: rsaz_1024_norm2red_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:75,1
    - Dst: rsaz_1024_norm2red_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:76,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:78,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:79,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:82,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:84,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:86,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:87,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:90,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:91,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:95,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:96,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:100,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:101,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:103,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:104,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:106,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:107,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:109,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:110,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:113,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:114,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:115,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:117,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:118,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:120,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:121,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:123,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:124,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:126,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:127,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:130,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:131,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:132,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:134,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:135,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:137,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:138,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:140,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:141,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:144,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:145,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:146,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:148,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:149,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:151,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:152,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:154,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:155,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:158,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:159,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:160,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:162,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:163,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:165,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:166,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:169,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:170,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:171,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:173,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:174,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:176,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:177,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:180,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:181,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:182,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:184,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:185,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:187,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:188,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:191,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:192,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:193,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:195,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:196,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:198,1
    - Dst: rsaz_1024_scatter5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:199,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:205,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:211,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:217,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:218,1
    - Dst: rsaz_1024_sqr_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:222,1
    - Dst: rsaz_1024_gather5_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:226,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:227,1
    - Dst: rsaz_1024_mul_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:230,1
    - Dst: rsaz_1024_red2norm_avx2
      Src: /src/openssl/crypto/bn/rsaz_exp.c:232,1
    - Dst: bn_reduce_once_in_place
      Src: /src/openssl/crypto/bn/rsaz_exp.c:234,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/rsaz_exp.c:236,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/rsaz_exp.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 111
    argCount: 6
    argNames:
    - result_norm
    - base_norm
    - exponent
    - m_norm
    - RR
    - k0
    argTypes:
    - BN_ULONG[]
    - BN_ULONG[]
    - BN_ULONG[]
    - BN_ULONG[]
    - BN_ULONG[]
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 238
    functionName: RSAZ_1024_mod_exp_avx2
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp.c
    functionUses: 0
    functionsReached:
    - rsaz_1024_scatter5_avx2
    - bn_reduce_once_in_place
    - rsaz_1024_gather5_avx2
    - rsaz_1024_red2norm_avx2
    - rsaz_1024_norm2red_avx2
    - rsaz_1024_mul_avx2
    - rsaz_1024_sqr_avx2
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void RSAZ_1024_mod_exp_avx2(BN_ULONG result_norm[16],\n                            const
      BN_ULONG base_norm[16],\n                            const BN_ULONG exponent[16],\n
      \                           const BN_ULONG m_norm[16], const BN_ULONG RR[16],\n
      \                           BN_ULONG k0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsaz_512_scatter4
      Src: /src/openssl/crypto/bn/rsaz_exp.c:277,1
    - Dst: rsaz_512_mul
      Src: /src/openssl/crypto/bn/rsaz_exp.c:280,1
    - Dst: rsaz_512_scatter4
      Src: /src/openssl/crypto/bn/rsaz_exp.c:281,1
    - Dst: rsaz_512_sqr
      Src: /src/openssl/crypto/bn/rsaz_exp.c:284,1
    - Dst: rsaz_512_scatter4
      Src: /src/openssl/crypto/bn/rsaz_exp.c:285,1
    - Dst: rsaz_512_mul_scatter4
      Src: /src/openssl/crypto/bn/rsaz_exp.c:288,1
    - Dst: rsaz_512_gather4
      Src: /src/openssl/crypto/bn/rsaz_exp.c:293,1
    - Dst: rsaz_512_sqr
      Src: /src/openssl/crypto/bn/rsaz_exp.c:294,1
    - Dst: rsaz_512_mul_gather4
      Src: /src/openssl/crypto/bn/rsaz_exp.c:295,1
    - Dst: rsaz_512_sqr
      Src: /src/openssl/crypto/bn/rsaz_exp.c:300,1
    - Dst: rsaz_512_mul_gather4
      Src: /src/openssl/crypto/bn/rsaz_exp.c:301,1
    - Dst: rsaz_512_sqr
      Src: /src/openssl/crypto/bn/rsaz_exp.c:303,1
    - Dst: rsaz_512_mul_gather4
      Src: /src/openssl/crypto/bn/rsaz_exp.c:304,1
    - Dst: rsaz_512_mul_by_one
      Src: /src/openssl/crypto/bn/rsaz_exp.c:308,1
    - Dst: bn_reduce_once_in_place
      Src: /src/openssl/crypto/bn/rsaz_exp.c:310,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/rsaz_exp.c:312,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/rsaz_exp.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 6
    argNames:
    - result
    - base
    - exponent
    - m
    - k0
    - RR
    argTypes:
    - BN_ULONG[]
    - BN_ULONG[]
    - BN_ULONG[]
    - BN_ULONG[]
    - BN_ULONG
    - BN_ULONG[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 314
    functionName: RSAZ_512_mod_exp
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp.c
    functionUses: 0
    functionsReached:
    - rsaz_512_scatter4
    - bn_reduce_once_in_place
    - rsaz_512_mul
    - rsaz_512_sqr
    - rsaz_512_mul_scatter4
    - rsaz_512_mul_gather4
    - rsaz_512_gather4
    - OPENSSL_cleanse
    - rsaz_512_mul_by_one
    linkageType: ''
    returnType: void
    signature: "void RSAZ_512_mod_exp(BN_ULONG result[8],\n                      const
      BN_ULONG base[8], const BN_ULONG exponent[8],\n                      const BN_ULONG
      m[8], BN_ULONG k0, const BN_ULONG RR[8])"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:24,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:25,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_div.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_div.c:27,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_div.c:31,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_div.c:33,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_div.c:37,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_div.c:41,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:42,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:44,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:46,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_div.c:50,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_div.c:51,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_div.c:52,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_div.c:54,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_div.c:61,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_div.c:62,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_div.c:66,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_div.c:69,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_div.c:71,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_div.c:73,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_div.c:77,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_div.c:80,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_div.c:84,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 5
    argNames:
    - dv
    - rem
    - m
    - d
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 86
    functionName: BN_div
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 4
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_zero
    - BN_is_zero
    - bn_wexpand
    - BN_rshift1
    - BN_ucmp
    - bn_check_top
    - BN_lshift1
    - BN_copy
    - BN_usub
    - BN_num_bits
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: "int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM
      *d,\n           BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - m
    - d1
    - d0
    argTypes:
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: bn_div_3_words
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_div_3_words(const BN_ULONG *m, BN_ULONG d1, BN_ULONG d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_div.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - num
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: bn_left_align
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 0
    functionsReached:
    - BN_num_bits_word
    linkageType: ''
    returnType: int
    signature: int bn_left_align(BIGNUM *num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n0
    - ','
    - n1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: bn_div_words
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_div_words(n0,n1,d0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n0
    - ','
    - n1
    - ','
    - d0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: bn_div_words
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_div_words(n0,n1,d0)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_div.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_div.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_div.c:225,1
    - Dst: bn_div_fixed_top
      Src: /src/openssl/crypto/bn/bn_div.c:229,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_div.c:233,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_div.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - dv
    - rm
    - num
    - divisor
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 239
    functionName: BN_div
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 4
    functionsReached:
    - bn_div_fixed_top
    - ERR_raise
    - BN_is_zero
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: "int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM
      *divisor,\n           BN_CTX *ctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_div.c:273,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:275,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:276,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:277,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:278,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_div.c:280,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:281,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:282,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:283,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_div.c:284,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_div.c:289,1
    - Dst: bn_left_align
      Src: /src/openssl/crypto/bn/bn_div.c:291,1
    - Dst: bn_lshift_fixed_top
      Src: /src/openssl/crypto/bn/bn_div.c:300,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_div.c:308,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_div.c:310,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_div.c:327,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_div.c:336,1
    - Dst: bn_div_3_words
      Src: /src/openssl/crypto/bn/bn_div.c:346,1
    - Dst: bn_div_words
      Src: /src/openssl/crypto/bn/bn_div.c:362,1
    - Dst: bn_div_words
      Src: /src/openssl/crypto/bn/bn_div.c:386,1
    - Dst: BN_UMULT_LOHI
      Src: /src/openssl/crypto/bn/bn_div.c:392,1
    - Dst: BN_UMULT_HIGH
      Src: /src/openssl/crypto/bn/bn_div.c:395,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_div.c:399,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_div.c:400,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_div.c:401,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_div.c:402,1
    - Dst: mul64
      Src: /src/openssl/crypto/bn/bn_div.c:403,1
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_div.c:422,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_div.c:429,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_div.c:438,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_div.c:440,1
    - Dst: bn_rshift_fixed_top
      Src: /src/openssl/crypto/bn/bn_div.c:450,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_div.c:453,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_div.c:456,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_div.c:457,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 5
    argNames:
    - dv
    - rm
    - num
    - divisor
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts:
    - condition: ((*wnumtop) == 0)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/openssl/crypto/bn/bn_div.c
    - condition: (divisor->top > 0 && divisor->d[divisor->top - 1] != 0)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/openssl/crypto/bn/bn_div.c
    constantsTouched: []
    func_position:
      end: 459
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 459
    functionName: bn_div_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_div.c
    functionUses: 1
    functionsReached:
    - mul64
    - bn_rshift_fixed_top
    - BN_UMULT_LOHI
    - bn_wexpand
    - BN_UMULT_HIGH
    - bn_lshift_fixed_top
    - BN_copy
    - assert
    - bn_div_words
    - BN_CTX_end
    - bn_check_top
    - bn_mul_words
    - bn_sub_words
    - bn_add_words
    - HBITS
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - bn_left_align
    - bn_div_3_words
    - LBITS
    linkageType: ''
    returnType: int
    signature: "int bn_div_fixed_top(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num,\n
      \                    const BIGNUM *divisor, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:19,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:20,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_shift.c:24,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_shift.c:28,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 43
    functionName: BN_lshift1
    functionSourceFile: /src/openssl/crypto/bn/bn_shift.c
    functionUses: 4
    functionsReached:
    - bn_check_top
    - bn_wexpand
    linkageType: ''
    returnType: int
    signature: int BN_lshift1(BIGNUM *r, const BIGNUM *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:50,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:51,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_shift.c:53,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_shift.c:54,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_shift.c:60,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 79
    functionName: BN_rshift1
    functionSourceFile: /src/openssl/crypto/bn/bn_shift.c
    functionUses: 3
    functionsReached:
    - bn_wexpand
    - bn_check_top
    - BN_is_zero
    - BN_zero
    linkageType: ''
    returnType: int
    signature: int BN_rshift1(BIGNUM *r, const BIGNUM *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_shift.c:86,1
    - Dst: bn_lshift_fixed_top
      Src: /src/openssl/crypto/bn/bn_shift.c:90,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_shift.c:92,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: BN_lshift
    functionSourceFile: /src/openssl/crypto/bn/bn_shift.c
    functionUses: 7
    functionsReached:
    - bn_lshift_fixed_top
    - bn_check_top
    - ERR_raise
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: int BN_lshift(BIGNUM *r, const BIGNUM *a, int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_shift.c:111,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:113,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:114,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_shift.c:117,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_shift.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/openssl/crypto/bn/bn_shift.c
    constantsTouched: []
    func_position:
      end: 148
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 148
    functionName: bn_lshift_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_shift.c
    functionUses: 2
    functionsReached:
    - memset
    - bn_check_top
    - bn_wexpand
    - assert
    linkageType: ''
    returnType: int
    signature: int bn_lshift_fixed_top(BIGNUM *r, const BIGNUM *a, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_shift.c:155,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:159,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:160,1
    - Dst: bn_rshift_fixed_top
      Src: /src/openssl/crypto/bn/bn_shift.c:162,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_shift.c:164,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_shift.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: BN_rshift
    functionSourceFile: /src/openssl/crypto/bn/bn_shift.c
    functionUses: 4
    functionsReached:
    - bn_correct_top
    - ERR_raise
    - bn_check_top
    - bn_rshift_fixed_top
    linkageType: ''
    returnType: int
    signature: int BN_rshift(BIGNUM *r, const BIGNUM *a, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_shift.c:183,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_shift.c:188,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_shift.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/openssl/crypto/bn/bn_shift.c
    constantsTouched: []
    func_position:
      end: 216
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 216
    functionName: bn_rshift_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_shift.c
    functionUses: 3
    functionsReached:
    - BN_zero
    - bn_wexpand
    - assert
    linkageType: ''
    returnType: int
    signature: int bn_rshift_fixed_top(BIGNUM *r, const BIGNUM *a, int n)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - mult
    - high
    - low
    - mont
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: BN_set_params
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BN_set_params(int mult, int high, int low, int mont)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - which
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: BN_get_params
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BN_get_params(int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: BN_value_one
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_value_one(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - l
    argTypes:
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 144
    functionName: BN_num_bits_word
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BN_num_bits_word(BN_ULONG l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:159,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_lib.c:162,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_lib.c:165,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_lib.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 177
    functionName: bn_num_bits_consttime
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bn_check_top
    - constant_time_eq_int
    - BN_num_bits_word
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline bn_num_bits_consttime(const BIGNUM *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:182,1
    - Dst: bn_num_bits_consttime
      Src: /src/openssl/crypto/bn/bn_lib.c:194,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:197,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_lib.c:197,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_lib.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 201
    functionName: BN_num_bits
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 11
    functionsReached:
    - ossl_unlikely
    - BN_is_zero
    - bn_num_bits_consttime
    - bn_check_top
    - BN_num_bits_word
    linkageType: ''
    returnType: int
    signature: int BN_num_bits(const BIGNUM *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:205,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/bn/bn_lib.c:206,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/bn/bn_lib.c:208,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_lib.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - clear
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: bn_free_d
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - BN_get_flags
    - OPENSSL_clear_free
    - OPENSSL_secure_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void bn_free_d(BIGNUM *a, int clear)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:218,1
    - Dst: bn_free_d
      Src: /src/openssl/crypto/bn/bn_lib.c:219,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:220,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_lib.c:221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_lib.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: BN_clear_free
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - BN_get_flags
    - bn_free_d
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void BN_clear_free(BIGNUM *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:230,1
    - Dst: bn_free_d
      Src: /src/openssl/crypto/bn/bn_lib.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_lib.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: BN_free
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 25
    functionsReached:
    - BN_get_flags
    - bn_free_d
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void BN_free(BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: bn_init
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - bn_check_top
    linkageType: ''
    returnType: void
    signature: void bn_init(BIGNUM *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bn/bn_lib.c:248,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: BN_new
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 10
    functionsReached:
    - OPENSSL_zalloc
    - bn_check_top
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_lib.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: BN_secure_new
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - BN_new
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_secure_new(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_lib.c:271,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:274,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_lib.c:275,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:278,1
    - Dst: OPENSSL_secure_calloc
      Src: /src/openssl/crypto/bn/bn_lib.c:279,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/bn/bn_lib.c:281,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:282,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_lib.c:285,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_lib.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - b
    - words
    argTypes:
    - BIGNUM*
    - int
    assertStmts:
    - condition: (b->top <= words)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/openssl/crypto/bn/bn_lib.c
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: bn_expand_internal
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ERR_raise
    - memcpy
    - OPENSSL_calloc
    - OPENSSL_secure_calloc
    - BN_get_flags
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG *bn_expand_internal(const BIGNUM *b, int words)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_lib.c:302,1
    - Dst: bn_expand_internal
      Src: /src/openssl/crypto/bn/bn_lib.c:303,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:305,1
    - Dst: bn_free_d
      Src: /src/openssl/crypto/bn/bn_lib.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - b
    - words
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 314
    functionName: bn_expand2
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ossl_likely
    - bn_free_d
    - bn_expand_internal
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *bn_expand2(BIGNUM *b, int words)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:322,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:324,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/bn/bn_lib.c:324,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_lib.c:324,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_lib.c:327,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_lib.c:328,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: BN_dup
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 4
    functionsReached:
    - BN_secure_new
    - BN_get_flags
    - bn_check_top
    - BN_new
    - BN_copy
    - BN_free
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_dup(const BIGNUM *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:339,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:341,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:343,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:345,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_lib.c:345,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_lib.c:348,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_lib.c:349,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: BN_copy
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 9
    functionsReached:
    - ossl_unlikely
    - memcpy
    - bn_wexpand
    - BN_get_flags
    - bn_check_top
    - ossl_likely
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: FLAGS_DATA
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLAGS_DATA(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: FLAGS_STRUCT
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLAGS_STRUCT(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:370,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:371,1
    - Dst: FLAGS_STRUCT
      Src: /src/openssl/crypto/bn/bn_lib.c:391,1
    - Dst: FLAGS_DATA
      Src: /src/openssl/crypto/bn/bn_lib.c:391,1
    - Dst: FLAGS_STRUCT
      Src: /src/openssl/crypto/bn/bn_lib.c:392,1
    - Dst: FLAGS_DATA
      Src: /src/openssl/crypto/bn/bn_lib.c:392,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:393,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 395
    functionName: BN_swap
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - FLAGS_STRUCT
    - bn_check_top
    - FLAGS_DATA
    linkageType: ''
    returnType: void
    signature: void BN_swap(BIGNUM *a, BIGNUM *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:401,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_lib.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: BN_clear
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - bn_check_top
    linkageType: ''
    returnType: void
    signature: void BN_clear(BIGNUM *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: BN_get_word
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG BN_get_word(const BIGNUM *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:421,1
    - Dst: bn_expand
      Src: /src/openssl/crypto/bn/bn_lib.c:422,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 430
    functionName: BN_set_word
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 6
    functionsReached:
    - bn_check_top
    - bn_expand
    linkageType: ''
    returnType: int
    signature: int BN_set_word(BIGNUM *a, BN_ULONG w)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_lib.c:451,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:454,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_lib.c:461,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_lib.c:510,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_lib.c:511,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_lib.c:533,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 5
    argNames:
    - s
    - len
    - ret
    - endianness
    - signedness
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - endianness_t
    - signedness_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 535
    functionName: bin2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 12
    functionsReached:
    - bn_correct_top
    - bn_wexpand
    - BN_clear
    - bn_check_top
    - BN_new
    - BN_free
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *bin2bn(const unsigned char *s, int len, BIGNUM *ret,\n                      endianness_t
      endianness, signedness_t signedness)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: BN_bin2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 11
    functionsReached:
    - bin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: BN_signed_bin2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_signed_bin2bn(const unsigned char *s, int len, BIGNUM *ret)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_lib.c:561,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_lib.c:585,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_lib.c:586,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_lib.c:596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 5
    argNames:
    - a
    - to
    - tolen
    - endianness
    - signedness
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    - endianness_t
    - signedness_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 628
    functionName: bn2binpad
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 6
    functionsReached:
    - memset
    - BN_num_bits
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: "int bn2binpad(const BIGNUM *a, unsigned char *to, int tolen,\n                     endianness_t
      endianness, signedness_t signedness)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn2binpad
      Src: /src/openssl/crypto/bn/bn_lib.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: BN_bn2binpad
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 6
    functionsReached:
    - bn2binpad
    linkageType: ''
    returnType: int
    signature: int BN_bn2binpad(const BIGNUM *a, unsigned char *to, int tolen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn2binpad
      Src: /src/openssl/crypto/bn/bn_lib.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: BN_signed_bn2bin
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bn2binpad
    linkageType: ''
    returnType: int
    signature: int BN_signed_bn2bin(const BIGNUM *a, unsigned char *to, int tolen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn2binpad
      Src: /src/openssl/crypto/bn/bn_lib.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - to
    argTypes:
    - BIGNUM*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: BN_bn2bin
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - bn2binpad
    linkageType: ''
    returnType: int
    signature: int BN_bn2bin(const BIGNUM *a, unsigned char *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 4
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: BN_lebin2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - bin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_lebin2bn(const unsigned char *s, int len, BIGNUM *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: BN_signed_lebin2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_signed_lebin2bn(const unsigned char *s, int len, BIGNUM
      *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn2binpad
      Src: /src/openssl/crypto/bn/bn_lib.c:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: BN_bn2lebinpad
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - bn2binpad
    linkageType: ''
    returnType: int
    signature: int BN_bn2lebinpad(const BIGNUM *a, unsigned char *to, int tolen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn2binpad
      Src: /src/openssl/crypto/bn/bn_lib.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 4
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: BN_signed_bn2lebin
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bn2binpad
    linkageType: ''
    returnType: int
    signature: int BN_signed_bn2lebin(const BIGNUM *a, unsigned char *to, int tolen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:678,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 5
    functionLinenumber: 673
    functionLinenumberEnd: 680
    functionName: BN_native2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - BN_bin2bn
    - BN_lebin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_native2bn(const unsigned char *s, int len, BIGNUM *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_signed_lebin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:687,1
    - Dst: BN_signed_bin2bn
      Src: /src/openssl/crypto/bn/bn_lib.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 5
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: BN_signed_native2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - BN_signed_bin2bn
    - BN_signed_lebin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_signed_native2bn(const unsigned char *s, int len, BIGNUM
      *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/bn/bn_lib.c:696,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_lib.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 691
    functionDepth: 5
    functionLinenumber: 691
    functionLinenumberEnd: 698
    functionName: BN_bn2nativepad
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 5
    functionsReached:
    - BN_bn2lebinpad
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: int BN_bn2nativepad(const BIGNUM *a, unsigned char *to, int tolen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_signed_bn2lebin
      Src: /src/openssl/crypto/bn/bn_lib.c:705,1
    - Dst: BN_signed_bn2bin
      Src: /src/openssl/crypto/bn/bn_lib.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - to
    - tolen
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 5
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: BN_signed_bn2native
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 2
    functionsReached:
    - BN_signed_bn2bin
    - BN_signed_bn2lebin
    linkageType: ''
    returnType: int
    signature: int BN_signed_bn2native(const BIGNUM *a, unsigned char *to, int tolen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_lib.c:717,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:722,1
    - Dst: constant_time_lt_bn
      Src: /src/openssl/crypto/bn/bn_lib.c:722,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:724,1
    - Dst: constant_time_lt_bn
      Src: /src/openssl/crypto/bn/bn_lib.c:724,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:730,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 744
    functionName: BN_ucmp
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 4
    functionsReached:
    - BN_get_flags
    - constant_time_lt_bn
    - bn_check_top
    - constant_time_select_int
    linkageType: ''
    returnType: int
    signature: int BN_ucmp(const BIGNUM *a, const BIGNUM *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:761,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:762,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 791
    functionName: BN_cmp
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 15
    functionsReached:
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: int BN_cmp(const BIGNUM *a, const BIGNUM *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_lib.c:803,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 814
    functionName: BN_set_bit
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bn_check_top
    - bn_wexpand
    linkageType: ''
    returnType: int
    signature: int BN_set_bit(BIGNUM *a, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:820,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_lib.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 832
    functionName: BN_clear_bit
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bn_check_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: int BN_clear_bit(BIGNUM *a, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:838,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:839,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 846
    functionName: BN_is_bit_set
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 2
    functionsReached:
    - ossl_unlikely
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: int BN_is_bit_set(const BIGNUM *a, int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 867
    functionName: ossl_bn_mask_bits_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_bn_mask_bits_fixed_top(BIGNUM *a, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_lib.c:873,1
    - Dst: ossl_bn_mask_bits_fixed_top
      Src: /src/openssl/crypto/bn/bn_lib.c:874,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_lib.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 878
    functionName: BN_mask_bits
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - bn_check_top
    - ossl_bn_mask_bits_fixed_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: int BN_mask_bits(BIGNUM *a, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_lib.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 886
    functionName: BN_set_negative
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    linkageType: ''
    returnType: void
    signature: void BN_set_negative(BIGNUM *a, int b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/bn/bn_lib.c:893,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_lib.c:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 907
    functionName: bn_cmp_words
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - ossl_likely
    linkageType: ''
    returnType: int
    signature: int bn_cmp_words(const BN_ULONG *a, const BN_ULONG *b, int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_cmp_words
      Src: /src/openssl/crypto/bn/bn_lib.c:935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - a
    - b
    - cl
    - dl
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 936
    functionName: bn_cmp_part_words
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - bn_cmp_words
    linkageType: ''
    returnType: int
    signature: int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b, int cl,
      int dl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_wcheck_size
      Src: /src/openssl/crypto/bn/bn_lib.c:950,1
    - Dst: bn_wcheck_size
      Src: /src/openssl/crypto/bn/bn_lib.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - condition
    - a
    - b
    - nwords
    argTypes:
    - BN_ULONG
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 997
    functionName: BN_consttime_swap
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - bn_wcheck_size
    linkageType: ''
    returnType: void
    signature: void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int
      nwords)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - L
    - N
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1024
    functionName: BN_security_bits
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BN_security_bits(int L, int N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1031
    functionName: BN_zero_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BN_zero_ex(BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: BN_abs_is_word
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BN_abs_is_word(const BIGNUM *a, const BN_ULONG w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1041
    functionName: BN_is_zero
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BN_is_zero(const BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_lib.c:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1046
    functionName: BN_is_one
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 4
    functionsReached:
    - BN_abs_is_word
    linkageType: ''
    returnType: int
    signature: int BN_is_one(const BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_lib.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: BN_is_word
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - BN_abs_is_word
    linkageType: ''
    returnType: int
    signature: int BN_is_word(const BIGNUM *a, const BN_ULONG w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1061,1
    - Dst: constant_time_eq_bn
      Src: /src/openssl/crypto/bn/bn_lib.c:1061,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1064,1
    - Dst: constant_time_is_zero_bn
      Src: /src/openssl/crypto/bn/bn_lib.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1067
    functionName: ossl_bn_is_word_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached:
    - constant_time_eq_bn
    - constant_time_is_zero_bn
    - constant_time_select_int
    linkageType: ''
    returnType: int
    signature: int ossl_bn_is_word_fixed_top(const BIGNUM *a, const BN_ULONG w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: BN_is_odd
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BN_is_odd(const BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1077
    functionName: BN_is_negative
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BN_is_negative(const BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_lib.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1083
    functionName: BN_to_montgomery
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - BN_mod_mul_montgomery
    linkageType: ''
    returnType: int
    signature: "int BN_to_montgomery(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,\n
      \                    BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - b
    - flags
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1094
    functionName: BN_with_flags
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_lib.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1104
    functionName: BN_GENCB_new
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: BN_GENCB
    signature: BN_GENCB *BN_GENCB_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_lib.c:1110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cb
    argTypes:
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1111
    functionName: BN_GENCB_free
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void BN_GENCB_free(BN_GENCB *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1116
    functionName: BN_set_flags
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BN_set_flags(BIGNUM *b, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1121
    functionName: BN_get_flags
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BN_get_flags(const BIGNUM *b, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gencb
    - cb_arg
    argTypes:
    - BN_GENCB*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1131
    functionName: BN_GENCB_set_old
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BN_GENCB_set_old(BN_GENCB *gencb, void (*callback) (int, int,
      void *),\n                      void *cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - gencb
    - cb_arg
    argTypes:
    - BN_GENCB*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1141
    functionName: BN_GENCB_set
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BN_GENCB_set(BN_GENCB *gencb, int (*callback) (int, int, BN_GENCB
      *),\n                  void *cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    functionName: BN_GENCB_get_arg
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *BN_GENCB_get_arg(BN_GENCB *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_expand2
      Src: /src/openssl/crypto/bn/bn_lib.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - words
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1148
    functionDepth: 3
    functionLinenumber: 1148
    functionLinenumberEnd: 1151
    functionName: bn_wexpand
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 10
    functionsReached:
    - bn_expand2
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *bn_wexpand(BIGNUM *a, int words)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb
      Src: /src/openssl/crypto/bn/bn_lib.c:1165,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1166,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1169,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/bn/bn_lib.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1173
    functionName: bn_correct_top_consttime
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 0
    functionsReached:
    - constant_time_msb
    - constant_time_eq_int
    - constant_time_select_int
    linkageType: ''
    returnType: void
    signature: void bn_correct_top_consttime(BIGNUM *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_lib.c:1180,1
    - Dst: bn_pollute
      Src: /src/openssl/crypto/bn/bn_lib.c:1191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1192
    functionName: bn_correct_top
    functionSourceFile: /src/openssl/crypto/bn/bn_lib.c
    functionUses: 8
    functionsReached:
    - ossl_likely
    - bn_pollute
    linkageType: ''
    returnType: void
    signature: void bn_correct_top(BIGNUM *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_mod.c:22,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_mod.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - r
    - m
    - d
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 32
    functionName: BN_nnmod
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - BN_mod
    linkageType: ''
    returnType: int
    signature: int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_mod.c:37,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_mod.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - r
    - a
    - b
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: BN_mod_add
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 2
    functionsReached:
    - BN_nnmod
    - BN_add
    linkageType: ''
    returnType: int
    signature: "int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const
      BIGNUM *m,\n               BN_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mod.c:62,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_mod.c:65,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_mod.c:66,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_mod.c:88,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_mod.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - r
    - a
    - b
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 101
    functionName: bn_mod_add_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - bn_sub_words
    - OPENSSL_malloc_array
    - bn_wexpand
    - OPENSSL_free
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: "int bn_mod_add_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *b,\n                         const BIGNUM *m)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_mod_add_fixed_top
      Src: /src/openssl/crypto/bn/bn_mod.c:106,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_mod.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - r
    - a
    - b
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: BN_mod_add_quick
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - bn_mod_add_fixed_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: "int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,\n
      \                    const BIGNUM *m)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_mod.c:117,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_mod.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - r
    - a
    - b
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: BN_mod_sub
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - BN_nnmod
    - BN_sub
    linkageType: ''
    returnType: int
    signature: "int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const
      BIGNUM *m,\n               BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mod.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - r
    - a
    - b
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 184
    functionName: bn_mod_sub_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - bn_wexpand
    linkageType: ''
    returnType: int
    signature: "int bn_mod_sub_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *b,\n                         const BIGNUM *m)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_mod.c:194,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_mod.c:198,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_mod.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - r
    - a
    - b
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: BN_mod_sub_quick
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_sub
    - BN_add
    linkageType: ''
    returnType: int
    signature: "int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,\n
      \                    const BIGNUM *m)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mod.c:212,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mod.c:213,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mod.c:214,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mod.c:216,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mod.c:217,1
    - Dst: BN_sqr
      Src: /src/openssl/crypto/bn/bn_mod.c:220,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_mod.c:223,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_mod.c:226,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mod.c:228,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mod.c:231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - r
    - a
    - b
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 233
    functionName: BN_mod_mul
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_mul
    - BN_CTX_end
    - BN_CTX_start
    - BN_nnmod
    - bn_check_top
    - BN_sqr
    linkageType: ''
    returnType: int
    signature: "int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const
      BIGNUM *m,\n               BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_sqr
      Src: /src/openssl/crypto/bn/bn_mod.c:237,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_mod.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - r
    - a
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: BN_mod_sqr
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - BN_sqr
    - BN_mod
    linkageType: ''
    returnType: int
    signature: int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_mod.c:245,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mod.c:247,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_mod.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - r
    - a
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: BN_mod_lshift1
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - BN_nnmod
    - bn_check_top
    - BN_lshift1
    linkageType: ''
    returnType: int
    signature: int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_mod.c:257,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mod.c:259,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_mod.c:260,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_mod.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - a
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: BN_mod_lshift1_quick
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - bn_check_top
    - BN_sub
    - BN_lshift1
    linkageType: ''
    returnType: int
    signature: int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_mod.c:271,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/bn/bn_mod.c:275,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/bn/bn_mod.c:281,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mod.c:282,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_mod.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - r
    - a
    - n
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 286
    functionName: BN_mod_lshift
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 0
    functionsReached:
    - BN_nnmod
    - BN_mod_lshift_quick
    - bn_check_top
    - BN_dup
    - BN_free
    linkageType: ''
    returnType: int
    signature: "int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM
      *m,\n                  BN_CTX *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mod.c:295,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mod.c:303,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mod.c:303,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_mod.c:307,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_mod.c:315,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_mod.c:319,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_mod.c:326,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_mod.c:327,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mod.c:331,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - r
    - a
    - n
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 334
    functionName: BN_mod_lshift_quick
    functionSourceFile: /src/openssl/crypto/bn/bn_mod.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - BN_cmp
    - bn_check_top
    - BN_lshift1
    - BN_sub
    - BN_copy
    - BN_num_bits
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM
      *m)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_blind.c:34,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bn/bn_blind.c:36,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/bn/bn_blind.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_blind.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_blind.c:42,1
    - Dst: BN_BLINDING_set_current_thread
      Src: /src/openssl/crypto/bn/bn_blind.c:46,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/bn/bn_blind.c:49,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/bn/bn_blind.c:54,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/bn/bn_blind.c:59,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_blind.c:62,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_blind.c:63,1
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/bn/bn_blind.c:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - A
    - Ai
    - mod
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 77
    functionName: BN_BLINDING_new
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached:
    - BN_BLINDING_free
    - BN_BLINDING_set_current_thread
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - BN_get_flags
    - bn_check_top
    - BN_dup
    - BN_set_flags
    linkageType: ''
    returnType: BN_BLINDING
    signature: BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM
      *mod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_blind.c:83,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_blind.c:84,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_blind.c:85,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_blind.c:86,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/bn/bn_blind.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_blind.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: BN_BLINDING_free
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void BN_BLINDING_free(BN_BLINDING *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_blind.c:96,1
    - Dst: BN_BLINDING_create_param
      Src: /src/openssl/crypto/bn/bn_blind.c:106,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:110,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:111,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_blind.c:114,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_blind.c:115,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 2
    argNames:
    - b
    - ctx
    argTypes:
    - BN_BLINDING*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 125
    functionName: BN_BLINDING_update
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached:
    - BN_mod_mul
    - ERR_raise
    - bn_mul_mont_fixed_top
    - BN_BLINDING_create_param
    linkageType: ''
    returnType: int
    signature: int BN_BLINDING_update(BN_BLINDING *b, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_convert_ex
      Src: /src/openssl/crypto/bn/bn_blind.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: BN_BLINDING_convert
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached:
    - BN_BLINDING_convert_ex
    linkageType: ''
    returnType: int
    signature: int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_blind.c:136,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_blind.c:139,1
    - Dst: BN_BLINDING_update
      Src: /src/openssl/crypto/bn/bn_blind.c:146,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_blind.c:149,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_blind.c:153,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_blind.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - n
    - r
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 158
    functionName: BN_BLINDING_convert_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - BN_mod_mul_montgomery
    - bn_check_top
    - BN_BLINDING_update
    - BN_copy
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_invert_ex
      Src: /src/openssl/crypto/bn/bn_blind.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: BN_BLINDING_invert
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached:
    - BN_BLINDING_invert_ex
    linkageType: ''
    returnType: int
    signature: int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_blind.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_blind.c:173,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:192,1
    - Dst: bn_correct_top_consttime
      Src: /src/openssl/crypto/bn/bn_blind.c:193,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_blind.c:195,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_blind.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - n
    - r
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_BLINDING*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 200
    functionName: BN_BLINDING_invert_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - bn_mul_mont_fixed_top
    - bn_correct_top_consttime
    - bn_check_top
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: "int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING
      *b,\n                          BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_compare_id
      Src: /src/openssl/crypto/bn/bn_blind.c:204,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/crypto/bn/bn_blind.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: BN_BLINDING_is_current_thread
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_compare_id
    - CRYPTO_THREAD_get_current_id
    linkageType: ''
    returnType: int
    signature: int BN_BLINDING_is_current_thread(BN_BLINDING *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/crypto/bn/bn_blind.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: BN_BLINDING_set_current_thread
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    linkageType: ''
    returnType: void
    signature: void BN_BLINDING_set_current_thread(BN_BLINDING *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bn/bn_blind.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: BN_BLINDING_lock
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: int BN_BLINDING_lock(BN_BLINDING *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bn/bn_blind.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: BN_BLINDING_unlock
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int BN_BLINDING_unlock(BN_BLINDING *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: BN_BLINDING_get_flags
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long BN_BLINDING_get_flags(const BN_BLINDING *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BN_BLINDING*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: BN_BLINDING_set_flags
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BN_BLINDING_set_flags(BN_BLINDING *b, unsigned long flags)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_new
      Src: /src/openssl/crypto/bn/bn_blind.c:246,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_blind.c:253,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_blind.c:255,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_blind.c:259,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/bn/bn_blind.c:260,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/bn/bn_blind.c:272,1
    - Dst: int_bn_mod_inverse
      Src: /src/openssl/crypto/bn/bn_blind.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_blind.c:284,1
    - Dst: BN_BLINDING*::bn_mod_exp
      Src: /src/openssl/crypto/bn/bn_blind.c:290,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/bn/bn_blind.c:293,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:298,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_blind.c:299,1
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/bn/bn_blind.c:306,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 61
    argCount: 5
    argNames:
    - b
    - e
    - m
    - ctx
    - m_ctx
    argTypes:
    - BN_BLINDING*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 311
    functionName: BN_BLINDING_create_param
    functionSourceFile: /src/openssl/crypto/bn/bn_blind.c
    functionUses: 1
    functionsReached:
    - BN_BLINDING_free
    - ERR_raise
    - int_bn_mod_inverse
    - BN_BLINDING*::bn_mod_exp
    - BN_priv_rand_range_ex
    - bn_to_mont_fixed_top
    - BN_new
    - BN_dup
    - BN_free
    - BN_mod_exp
    - BN_BLINDING_new
    linkageType: ''
    returnType: BN_BLINDING
    signature: "BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b,\n                                      const
      BIGNUM *e, BIGNUM *m, BN_CTX *ctx,\n                                      int
      (*bn_mod_exp) (BIGNUM *r,\n                                                         const
      BIGNUM *a,\n                                                         const BIGNUM
      *p,\n                                                         const BIGNUM *m,\n
      \                                                        BN_CTX *ctx,\n                                                         BN_MONT_CTX
      *m_ctx),\n                                      BN_MONT_CTX *m_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: BN_get0_nist_prime_192
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get0_nist_prime_192(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: BN_get0_nist_prime_224
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get0_nist_prime_224(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: BN_get0_nist_prime_256
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get0_nist_prime_256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: BN_get0_nist_prime_384
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get0_nist_prime_384(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: BN_get0_nist_prime_521
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get0_nist_prime_521(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dst
    - ','
    - src_in
    - ','
    - top
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: nist_cp_bn_0
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nist_cp_bn_0(dst, src_in, top, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - src
    - top
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: nist_cp_bn
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nist_cp_bn(BN_ULONG *dst, const BN_ULONG *src, int top)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - to
    - ','
    - n
    - ','
    - from
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: bn_cp_64
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_cp_64(to, n, from, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: bn_64_set_0
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_64_set_0(to, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - to
    - ','
    - n
    - ','
    - from
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: bn_cp_32_naked
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_cp_32_naked(to, n, from, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: bn_32_set_0
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_32_set_0(to, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - to
    - ','
    - n
    - ','
    - from
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: bn_cp_32
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_cp_32(to,n,from,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - to
    - ','
    - n
    - ','
    - from
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: bn_cp_64
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_cp_64(to, n, from, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: bn_64_set_0
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_64_set_0(to, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - to
    - ','
    - n
    - ','
    - from
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: bn_cp_32
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_cp_32(to, n, from, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: bn_32_set_0
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_32_set_0(to, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_nist.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: load_u32
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline load_u32(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_nist.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - val
    argTypes:
    - void*
    - NIST_INT64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: store_lo32
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline store_lo32(void *ptr, NIST_INT64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: nist_set_192
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nist_set_192(to, from, a1, a2, a3)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:365,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:366,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:372,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:372,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:373,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:375,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:377,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:380,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:383,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:386,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:390,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:399,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:402,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:405,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:408,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:411,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:415,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:418,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:422,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:425,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:428,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:431,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:434,1
    - Dst: nist_set_192
      Src: /src/openssl/crypto/bn/bn_nist.c:442,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:443,1
    - Dst: nist_set_192
      Src: /src/openssl/crypto/bn/bn_nist.c:444,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:445,1
    - Dst: nist_set_192
      Src: /src/openssl/crypto/bn/bn_nist.c:446,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:447,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:452,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:463,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:466,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 471
    functionName: BN_nist_mod_192
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - bn_sub_words
    - load_u32
    - store_lo32
    - bn_add_words
    - BN_nnmod
    - BN_is_negative
    - BN_zero
    - bn_wexpand
    - nist_cp_bn
    - bn_correct_top
    - OSSL_NELEM
    - BN_ucmp
    - nist_cp_bn_0
    - BN_copy
    - nist_set_192
    linkageType: ''
    returnType: int
    signature: "int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,\n
      \                   BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: nist_set_224
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nist_set_224(to, from, a1, a2, a3, a4, a5, a6, a7)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:502,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:503,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:509,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:509,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:510,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:512,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:514,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:517,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:520,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:523,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:529,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:532,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:536,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:599,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:600,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:601,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:602,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:603,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:604,1
    - Dst: nist_set_224
      Src: /src/openssl/crypto/bn/bn_nist.c:605,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:606,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:616,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:630,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:640,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 87
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 487
    functionDepth: 4
    functionLinenumber: 487
    functionLinenumberEnd: 645
    functionName: BN_nist_mod_224
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - bn_sub_words
    - bn_add_words
    - bn_correct_top
    - BN_nnmod
    - BN_is_negative
    - BN_zero
    - bn_wexpand
    - nist_cp_bn
    - nist_set_224
    - OSSL_NELEM
    - BN_ucmp
    - nist_cp_bn_0
    - BN_copy
    linkageType: ''
    returnType: int
    signature: "int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,\n
      \                   BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 658
    functionName: nist_set_256
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nist_set_256(to, from, a1, a2, a3, a4, a5, a6, a7, a8)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:674,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:675,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:681,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:681,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:682,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:684,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:686,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:689,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:692,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:695,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:699,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:708,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:715,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:718,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:725,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:728,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:734,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:737,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:746,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:749,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:757,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:760,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:768,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:771,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:780,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:783,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:792,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:803,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:807,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:808,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:822,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:826,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:827,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:831,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:832,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:836,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:837,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:841,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:842,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:846,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:847,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:851,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:852,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:860,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:864,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:873,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:875,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 139
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 878
    functionName: BN_nist_mod_256
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - bn_sub_words
    - load_u32
    - store_lo32
    - bn_add_words
    - BN_nnmod
    - BN_is_negative
    - BN_zero
    - bn_wexpand
    - nist_cp_bn
    - nist_set_256
    - bn_correct_top
    - OSSL_NELEM
    - BN_ucmp
    - nist_cp_bn_0
    - BN_copy
    linkageType: ''
    returnType: int
    signature: "int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,\n
      \                   BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 895
    functionName: nist_set_384
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nist_set_384(to,from,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:911,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:912,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:918,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:918,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:919,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:921,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:923,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:926,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:929,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:932,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:936,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:945,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:950,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:953,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:959,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:962,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:967,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:970,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:978,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:981,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:992,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:995,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1004,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1007,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1015,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1018,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1024,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1027,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1032,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1035,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1040,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1043,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1048,1
    - Dst: load_u32
      Src: /src/openssl/crypto/bn/bn_nist.c:1051,1
    - Dst: store_lo32
      Src: /src/openssl/crypto/bn/bn_nist.c:1056,1
    - Dst: nist_set_256
      Src: /src/openssl/crypto/bn/bn_nist.c:1067,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1081,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1086,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1090,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1092,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1096,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1098,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1102,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1103,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1107,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1108,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1112,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1114,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1118,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1119,1
    - Dst: nist_set_384
      Src: /src/openssl/crypto/bn/bn_nist.c:1123,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1124,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1132,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1136,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:1145,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:1147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 162
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 896
    functionDepth: 4
    functionLinenumber: 896
    functionLinenumberEnd: 1150
    functionName: BN_nist_mod_384
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - bn_sub_words
    - load_u32
    - store_lo32
    - bn_add_words
    - BN_nnmod
    - BN_is_negative
    - BN_zero
    - bn_wexpand
    - nist_cp_bn
    - nist_set_256
    - bn_correct_top
    - OSSL_NELEM
    - BN_ucmp
    - nist_set_384
    - nist_cp_bn_0
    - BN_copy
    linkageType: ''
    returnType: int
    signature: "int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,\n
      \                   BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:1163,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_nist.c:1164,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_nist.c:1170,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1170,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_nist.c:1171,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1173,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_nist.c:1175,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_nist.c:1178,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_nist.c:1181,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:1184,1
    - Dst: nist_cp_bn_0
      Src: /src/openssl/crypto/bn/bn_nist.c:1189,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1212,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_nist.c:1213,1
    - Dst: nist_cp_bn
      Src: /src/openssl/crypto/bn/bn_nist.c:1217,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_nist.c:1219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1156
    functionDepth: 4
    functionLinenumber: 1156
    functionLinenumberEnd: 1222
    functionName: BN_nist_mod_521
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - bn_sub_words
    - bn_add_words
    - bn_correct_top
    - BN_nnmod
    - BN_is_negative
    - BN_zero
    - bn_wexpand
    - nist_cp_bn
    - OSSL_NELEM
    - BN_ucmp
    - nist_cp_bn_0
    - BN_copy
    linkageType: ''
    returnType: int
    signature: "int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,\n
      \                   BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1226,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1228,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1230,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1232,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_nist.c:1234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - r
    - a
    - field
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1224
    functionDepth: 2
    functionLinenumber: 1224
    functionLinenumberEnd: 1237
    functionName: "(*BN_nist_mod_func(const BIGNUM *p)) (BIGNUM *r, const BIGNUM *a,\n
      \                                         const BIGNUM *field, BN_CTX *ctx)"
    functionSourceFile: /src/openssl/crypto/bn/bn_nist.c
    functionUses: 0
    functionsReached:
    - BN_ucmp
    linkageType: ''
    returnType: int
    signature: "int (*BN_nist_mod_func(const BIGNUM *p)) (BIGNUM *r, const BIGNUM
      *a,\n                                          const BIGNUM *field, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_64
      Src: /src/openssl/crypto/bn/rsaz_exp.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - r
    - mask
    - a
    - b
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG*
    - BN_ULONG*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: bn_select_words
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp.h
    functionUses: 0
    functionsReached:
    - constant_time_select_64
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline bn_select_words(BN_ULONG *r, BN_ULONG mask,\n                                        const
      BN_ULONG *a,\n                                        const BN_ULONG *b, size_t
      num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/rsaz_exp.h:75,1
    - Dst: bn_select_words
      Src: /src/openssl/crypto/bn/rsaz_exp.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - r
    - carry
    - m
    - tmp
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG*
    - BN_ULONG*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: bn_reduce_once_in_place
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp.h
    functionUses: 2
    functionsReached:
    - bn_select_words
    - bn_sub_words
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline bn_reduce_once_in_place(BN_ULONG *r,\n                                                    BN_ULONG
      carry,\n                                                    const BN_ULONG *m,\n
      \                                                   BN_ULONG *tmp, size_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: bn_pollute
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_pollute(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: bn_check_top
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_check_top(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: bn_fix_top
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_fix_top(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bn
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: bn_check_size
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_check_size(bn, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bn
    - ','
    - words
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: bn_wcheck_size
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_wcheck_size(bn, words)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: bn_fix_top
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_fix_top(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: BN_window_bits_for_exponent_size
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_window_bits_for_exponent_size(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: BN_window_bits_for_ctime_exponent_size
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_window_bits_for_ctime_exponent_size(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: BN_window_bits_for_ctime_exponent_size
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_window_bits_for_ctime_exponent_size(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: BN_UMULT_HIGH
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_HIGH(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - low
    - ','
    - high
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: BN_UMULT_LOHI
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_LOHI(low,high,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: BN_UMULT_HIGH
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_HIGH(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: BN_UMULT_HIGH
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_HIGH(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: BN_UMULT_HIGH
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_HIGH(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 424
    functionName: BN_UMULT_HIGH
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_HIGH(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - low
    - ','
    - high
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: BN_UMULT_LOHI
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_LOHI(low,high,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: BN_UMULT_HIGH
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_HIGH(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - low
    - ','
    - high
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: BN_UMULT_LOHI
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_LOHI(low,high,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: BN_UMULT_HIGH
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_HIGH(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - low
    - ','
    - high
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: BN_UMULT_LOHI
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_LOHI(low,high,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: BN_UMULT_HIGH
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_UMULT_HIGH(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: bn_clear_top2max
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_clear_top2max(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: Lw
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Lw(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: Hw
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Hw(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - w
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: mul_add
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add(r,a,w,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - w
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: mul
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul(r,a,w,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: sqr
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr(r0,r1,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - w
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 516
    functionName: mul_add
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add(r,a,w,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - w
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: mul
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul(r,a,w,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: sqr
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr(r0,r1,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - w
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 544
    functionName: mul_add
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add(r,a,w,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - w
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 554
    functionName: mul
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul(r,a,w,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: sqr
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr(r0,r1,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 567
    functionName: LBITS
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LBITS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 568
    functionName: HBITS
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HBITS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: L2HBITS
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L2HBITS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: LLBITS
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLBITS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: LHBITS
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LHBITS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: LL2HBITS
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL2HBITS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - h
    - ','
    - bl
    - ','
    - bh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 591
    functionName: mul64
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul64(l,h,bl,bh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lo
    - ','
    - ho
    - ','
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: sqr64
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr64(lo,ho,in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - bl
    - ','
    - bh
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 617
    functionName: mul_add
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add(r,a,bl,bh,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - bl
    - ','
    - bh
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: mul
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul(r,a,bl,bh,c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_expand2
      Src: /src/openssl/crypto/bn/bn_local.h:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - bits
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 678
    functionName: bn_expand
    functionSourceFile: /src/openssl/crypto/bn/bn_local.h
    functionUses: 1
    functionsReached:
    - bn_expand2
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline *bn_expand(BIGNUM *a, int bits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:18,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:19,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_add.c:23,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_add.c:25,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_add.c:28,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_add.c:31,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_add.c:34,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 42
    functionName: BN_add
    functionSourceFile: /src/openssl/crypto/bn/bn_add.c
    functionUses: 7
    functionsReached:
    - BN_zero
    - BN_ucmp
    - bn_check_top
    - BN_uadd
    - BN_usub
    linkageType: ''
    returnType: int
    signature: int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:49,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:50,1
    - Dst: BN_uadd
      Src: /src/openssl/crypto/bn/bn_add.c:54,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_add.c:56,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_add.c:59,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_add.c:62,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_add.c:65,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: BN_sub
    functionSourceFile: /src/openssl/crypto/bn/bn_add.c
    functionUses: 10
    functionsReached:
    - BN_zero
    - BN_ucmp
    - bn_check_top
    - BN_uadd
    - BN_usub
    linkageType: ''
    returnType: int
    signature: int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:82,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:83,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_add.c:96,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_add.c:105,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 122
    functionName: BN_uadd
    functionSourceFile: /src/openssl/crypto/bn/bn_add.c
    functionUses: 3
    functionsReached:
    - bn_check_top
    - bn_wexpand
    - bn_add_words
    linkageType: ''
    returnType: int
    signature: int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:131,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_add.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_add.c:139,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_add.c:143,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_add.c:150,1
    - Dst: bn_pollute
      Src: /src/openssl/crypto/bn/bn_add.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 170
    functionName: BN_usub
    functionSourceFile: /src/openssl/crypto/bn/bn_add.c
    functionUses: 5
    functionsReached:
    - ERR_raise
    - bn_sub_words
    - bn_wexpand
    - bn_check_top
    - bn_pollute
    linkageType: ''
    returnType: int
    signature: int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: BN_DEF
    functionSourceFile: /src/openssl/crypto/bn/bn_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_DEF(lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: BN_DEF
    functionSourceFile: /src/openssl/crypto/bn/bn_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_DEF(lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1013
    functionName: make_dh_bn
    functionSourceFile: /src/openssl/crypto/bn/bn_dh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_dh_bn(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_dup
      Src: /src/openssl/crypto/bn/bn_word.c:31,1
    - Dst: BN_div_word
      Src: /src/openssl/crypto/bn/bn_word.c:35,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_word.c:36,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 13
    functionDepth: 4
    functionLinenumber: 13
    functionLinenumberEnd: 59
    functionName: BN_mod_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 0
    functionsReached:
    - BN_dup
    - BN_free
    - bn_check_top
    - BN_div_word
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:66,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_word.c:76,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_word.c:78,1
    - Dst: bn_div_words
      Src: /src/openssl/crypto/bn/bn_word.c:85,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 96
    functionName: BN_div_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 1
    functionsReached:
    - bn_div_words
    - bn_check_top
    - BN_num_bits_word
    - BN_lshift
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:103,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_word.c:110,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_word.c:111,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_word.c:115,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_word.c:116,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_word.c:125,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: BN_add_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 3
    functionsReached:
    - BN_set_word
    - BN_is_zero
    - bn_wexpand
    - BN_sub_word
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: int BN_add_word(BIGNUM *a, BN_ULONG w)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:138,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_word.c:145,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_word.c:146,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/bn/bn_word.c:148,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_word.c:154,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 179
    functionName: BN_sub_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 3
    functionsReached:
    - BN_set_negative
    - BN_set_word
    - BN_is_zero
    - bn_check_top
    - BN_add_word
    linkageType: ''
    returnType: int
    signature: int BN_sub_word(BIGNUM *a, BN_ULONG w)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:185,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_word.c:189,1
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_word.c:191,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_word.c:193,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_word.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - w
    argTypes:
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: BN_mul_word
    functionSourceFile: /src/openssl/crypto/bn/bn_word.c
    functionUses: 1
    functionsReached:
    - bn_mul_words
    - bn_check_top
    - bn_wexpand
    - BN_zero
    linkageType: ''
    returnType: int
    signature: int BN_mul_word(BIGNUM *a, BN_ULONG w)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_get_libctx
      Src: /src/openssl/crypto/bn/bn_rand.c:28,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_rand.c:33,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_rand.c:43,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:48,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:49,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:61,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_rand.c:87,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/bn/bn_rand.c:91,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_rand.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:96,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 7
    argNames:
    - flag
    - rnd
    - bits
    - top
    - bottom
    - strength
    - ctx
    argTypes:
    - BNRAND_FLAG
    - BIGNUM*
    - int
    - int
    - int
    - unsigned int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 98
    functionName: bnrand
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - RAND_priv_bytes_ex
    - OPENSSL_clear_free
    - ossl_bn_get_libctx
    - BN_zero
    - BN_bin2bn
    - bn_check_top
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int bnrand(BNRAND_FLAG flag, BIGNUM *rnd, int bits, int top, int bottom,\n
      \                 unsigned int strength, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rnd
    - bits
    - top
    - bottom
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    - unsigned int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: BN_rand_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - bnrand
    linkageType: ''
    returnType: int
    signature: "int BN_rand_ex(BIGNUM *rnd, int bits, int top, int bottom,\n               unsigned
      int strength, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: BN_rand
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - bnrand
    linkageType: ''
    returnType: int
    signature: int BN_rand(BIGNUM *rnd, int bits, int top, int bottom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 6
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: BN_bntest_rand
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - bnrand
    linkageType: ''
    returnType: int
    signature: int BN_bntest_rand(BIGNUM *rnd, int bits, int top, int bottom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rnd
    - bits
    - top
    - bottom
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    - unsigned int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: BN_priv_rand_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - bnrand
    linkageType: ''
    returnType: int
    signature: "int BN_priv_rand_ex(BIGNUM *rnd, int bits, int top, int bottom,\n
      \                   unsigned int strength, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: BN_priv_rand
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - bnrand
    linkageType: ''
    returnType: int
    signature: int BN_priv_rand(BIGNUM *rnd, int bits, int top, int bottom)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:138,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_rand.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:143,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rand.c:147,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_rand.c:152,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_rand.c:153,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_rand.c:153,1
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:159,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_rand.c:169,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_rand.c:170,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_rand.c:172,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_rand.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:178,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_rand.c:183,1
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:192,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_rand.c:196,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_rand.c:199,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 5
    argNames:
    - flag
    - r
    - range
    - strength
    - ctx
    argTypes:
    - BNRAND_FLAG
    - BIGNUM*
    - BIGNUM*
    - unsigned int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 201
    functionName: bnrand_range
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_cmp
    - BN_zero
    - BN_is_zero
    - bn_check_top
    - BN_sub
    - BN_num_bits
    - bnrand
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int bnrand_range(BNRAND_FLAG flag, BIGNUM *r, const BIGNUM *range,\n
      \                       unsigned int strength, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand_range
      Src: /src/openssl/crypto/bn/bn_rand.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - range
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - unsigned int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 7
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: BN_rand_range_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - bnrand_range
    linkageType: ''
    returnType: int
    signature: "int BN_rand_range_ex(BIGNUM *r, const BIGNUM *range, unsigned int
      strength,\n                     BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand_range
      Src: /src/openssl/crypto/bn/bn_rand.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - range
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 7
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: BN_rand_range
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - bnrand_range
    linkageType: ''
    returnType: int
    signature: int BN_rand_range(BIGNUM *r, const BIGNUM *range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand_range
      Src: /src/openssl/crypto/bn/bn_rand.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - range
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - unsigned int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 7
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: BN_priv_rand_range_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 4
    functionsReached:
    - bnrand_range
    linkageType: ''
    returnType: int
    signature: "int BN_priv_rand_range_ex(BIGNUM *r, const BIGNUM *range, unsigned
      int strength,\n                          BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bnrand_range
      Src: /src/openssl/crypto/bn/bn_rand.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - range
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 7
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: BN_priv_rand_range
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - bnrand_range
    linkageType: ''
    returnType: int
    signature: int BN_priv_rand_range(BIGNUM *r, const BIGNUM *range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_rand
      Src: /src/openssl/crypto/bn/bn_rand.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rnd
    - bits
    - top
    - bottom
    argTypes:
    - BIGNUM*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 7
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: BN_pseudo_rand
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - BN_rand
    linkageType: ''
    returnType: int
    signature: int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_rand_range
      Src: /src/openssl/crypto/bn/bn_rand.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - range
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 8
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: BN_pseudo_rand_range
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - BN_rand_range
    linkageType: ''
    returnType: int
    signature: int BN_pseudo_rand_range(BIGNUM *r, const BIGNUM *range)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:248,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_rand.c:252,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:253,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rand.c:257,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_rand.c:262,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_rand.c:264,1
    - Dst: bnrand
      Src: /src/openssl/crypto/bn/bn_rand.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:271,1
    - Dst: ossl_bn_mask_bits_fixed_top
      Src: /src/openssl/crypto/bn/bn_rand.c:274,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_rand.c:276,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_rand.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - r
    - range
    - strength
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - unsigned int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 241
    functionDepth: 6
    functionLinenumber: 241
    functionLinenumberEnd: 284
    functionName: ossl_bn_priv_rand_range_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_bn_mask_bits_fixed_top
    - bn_correct_top
    - BN_zero
    - BN_is_zero
    - BN_ucmp
    - BN_num_bits
    - BN_set_flags
    - bnrand
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_priv_rand_range_fixed_top(BIGNUM *r, const BIGNUM *range,\n
      \                                     unsigned int strength, BN_CTX *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/bn/bn_rand.c:299,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/bn/bn_rand.c:308,1
    - Dst: ossl_bn_get_libctx
      Src: /src/openssl/crypto/bn/bn_rand.c:315,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_rand.c:320,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_rand.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:333,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/bn/bn_rand.c:337,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:339,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:346,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:350,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/bn/bn_rand.c:351,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/bn/bn_rand.c:352,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/bn/bn_rand.c:354,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/bn/bn_rand.c:355,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/bn/bn_rand.c:357,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_rand.c:363,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_rand.c:368,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_rand.c:372,1
    - Dst: ossl_bn_mask_bits_fixed_top
      Src: /src/openssl/crypto/bn/bn_rand.c:373,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rand.c:373,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_rand.c:375,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_rand.c:379,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rand.c:385,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/bn/bn_rand.c:388,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/bn/bn_rand.c:389,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/bn/bn_rand.c:390,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_rand.c:391,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_rand.c:392,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_rand.c:393,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 6
    argNames:
    - out
    - range
    - priv
    - message
    - message_len
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 294
    functionDepth: 10
    functionLinenumber: 294
    functionLinenumberEnd: 395
    functionName: ossl_bn_gen_dsa_nonce_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - bn_correct_top
    - EVP_DigestUpdate
    - BN_num_bytes
    - memcpy
    - BN_bin2bn
    - RAND_priv_bytes_ex
    - EVP_DigestInit_ex
    - BN_ucmp
    - BN_set_flags
    - OPENSSL_malloc
    - EVP_DigestFinal_ex
    - ossl_bn_mask_bits_fixed_top
    - ossl_bn_get_libctx
    - EVP_MD_fetch
    - BN_num_bits
    - BN_bn2binpad
    - OPENSSL_clear_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_gen_dsa_nonce_fixed_top(BIGNUM *out, const BIGNUM *range,\n
      \                                   const BIGNUM *priv,\n                                    const
      unsigned char *message,\n                                    size_t message_len,
      BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_gen_dsa_nonce_fixed_top
      Src: /src/openssl/crypto/bn/bn_rand.c:403,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_rand.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - out
    - range
    - priv
    - message
    - message_len
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 11
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: BN_generate_dsa_nonce
    functionSourceFile: /src/openssl/crypto/bn/bn_rand.c
    functionUses: 0
    functionsReached:
    - ossl_bn_gen_dsa_nonce_fixed_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: "int BN_generate_dsa_nonce(BIGNUM *out, const BIGNUM *range,\n                          const
      BIGNUM *priv, const unsigned char *message,\n                          size_t
      message_len, BN_CTX *ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_intern.c:30,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_intern.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_intern.c:41,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_intern.c:48,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_intern.c:53,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_intern.c:57,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_intern.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_intern.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_intern.c:109,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_intern.c:117,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_intern.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_intern.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_intern.c:133,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 3
    argNames:
    - scalar
    - w
    - ret_len
    argTypes:
    - BIGNUM*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 135
    functionName: bn_compute_wNAF
    functionSourceFile: /src/openssl/crypto/bn/bn_intern.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_is_negative
    - BN_is_zero
    - OPENSSL_free
    - BN_num_bits
    - OPENSSL_malloc
    - BN_is_bit_set
    linkageType: ''
    returnType: signed char
    signature: signed char *bn_compute_wNAF(const BIGNUM *scalar, int w, size_t *ret_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: bn_get_top
    functionSourceFile: /src/openssl/crypto/bn/bn_intern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bn_get_top(const BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: bn_get_dmax
    functionSourceFile: /src/openssl/crypto/bn/bn_intern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bn_get_dmax(const BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: bn_set_all_zero
    functionSourceFile: /src/openssl/crypto/bn/bn_intern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bn_set_all_zero(BIGNUM *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_intern.c:160,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_intern.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - out
    - in
    - size
    argTypes:
    - BN_ULONG*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: bn_copy_words
    functionSourceFile: /src/openssl/crypto/bn/bn_intern.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int bn_copy_words(BN_ULONG *out, const BIGNUM *in, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: bn_get_words
    functionSourceFile: /src/openssl/crypto/bn/bn_intern.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG *bn_get_words(const BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_intern.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - a
    - words
    - size
    argTypes:
    - BIGNUM*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: bn_set_static_words
    functionSourceFile: /src/openssl/crypto/bn/bn_intern.c
    functionUses: 0
    functionsReached:
    - bn_correct_top
    linkageType: ''
    returnType: void
    signature: void bn_set_static_words(BIGNUM *a, const BN_ULONG *words, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_intern.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_intern.c:187,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_intern.c:191,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_intern.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - a
    - words
    - num_words
    argTypes:
    - BIGNUM*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: bn_set_words
    functionSourceFile: /src/openssl/crypto/bn/bn_intern.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ERR_raise
    - bn_wexpand
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: int bn_set_words(BIGNUM *a, const BN_ULONG *words, int num_words)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: alloca
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alloca(s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:54,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:57,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:61,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:62,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:63,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_exp.c:67,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:69,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_exp.c:71,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_exp.c:72,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:75,1
    - Dst: BN_sqr
      Src: /src/openssl/crypto/bn/bn_exp.c:80,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:82,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:83,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_exp.c:87,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:92,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:93,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 95
    functionName: BN_exp
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_mul
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_one
    - BN_is_odd
    - BN_get_flags
    - BN_sqr
    - bn_check_top
    - BN_copy
    - BN_num_bits
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:102,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:103,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:104,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_exp.c:142,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:145,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:146,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:147,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/openssl/crypto/bn/bn_exp.c:149,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:152,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/crypto/bn/bn_exp.c:157,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/crypto/bn/bn_exp.c:161,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 167
    functionName: BN_mod_exp
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 3
    functionsReached:
    - BN_mod_exp_mont
    - BN_mod_exp_mont_word
    - BN_is_odd
    - BN_mod_exp_simple
    - BN_get_flags
    - bn_check_top
    - BN_mod_exp_recp
    linkageType: ''
    returnType: int
    signature: "int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, const
      BIGNUM *m,\n               BN_CTX *ctx)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:179,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:180,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:183,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:187,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:190,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:192,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:194,1
    - Dst: BN_RECP_CTX_init
      Src: /src/openssl/crypto/bn/bn_exp.c:199,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:201,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:202,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:203,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_exp.c:209,1
    - Dst: BN_RECP_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:212,1
    - Dst: BN_RECP_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:215,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_exp.c:219,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:221,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:222,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp.c:227,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/openssl/crypto/bn/bn_exp.c:229,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:233,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/openssl/crypto/bn/bn_exp.c:234,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:246,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_exp.c:248,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:253,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:259,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/openssl/crypto/bn/bn_exp.c:261,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:278,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/openssl/crypto/bn/bn_exp.c:290,1
    - Dst: BN_mod_mul_reciprocal
      Src: /src/openssl/crypto/bn/bn_exp.c:295,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:306,1
    - Dst: BN_RECP_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:307,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:308,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 112
    argCount: 5
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 310
    functionName: BN_mod_exp_recp
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached:
    - BN_RECP_CTX_free
    - ERR_raise
    - BN_RECP_CTX_init
    - BN_nnmod
    - BN_is_zero
    - BN_copy
    - BN_mod_mul_reciprocal
    - BN_CTX_end
    - BN_abs_is_word
    - bn_check_top
    - BN_one
    - BN_RECP_CTX_set
    - BN_num_bits
    - BN_CTX_get
    - BN_window_bits_for_exponent_size
    - BN_CTX_start
    - BN_zero
    - BN_get_flags
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,\n
      \                   const BIGNUM *m, BN_CTX *ctx)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:323,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:324,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:325,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_exp.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:328,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:333,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:334,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:335,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/crypto/bn/bn_exp.c:336,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:339,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:342,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:344,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:346,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:351,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:352,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:353,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:354,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:365,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:367,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_exp.c:371,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_exp.c:372,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:377,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp.c:380,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:382,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:386,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:387,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:401,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:411,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_exp.c:411,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:416,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:418,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:436,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:448,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:453,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:474,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:478,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:483,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:484,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:485,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 135
    argCount: 6
    argNames:
    - rr
    - a
    - p
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 487
    functionName: BN_mod_exp_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    - BN_from_montgomery
    - BN_nnmod
    - bn_wexpand
    - bn_mul_mont_fixed_top
    - BN_CTX_end
    - BN_abs_is_word
    - BN_MONT_CTX_set
    - BN_mod_exp_mont_consttime
    - BN_is_odd
    - bn_check_top
    - BN_ucmp
    - BN_MONT_CTX_free
    - BN_mod_mul_montgomery
    - BN_one
    - BN_num_bits
    - BN_MONT_CTX_new
    - BN_CTX_get
    - BN_window_bits_for_exponent_size
    - BN_CTX_start
    - BN_zero
    - BN_value_one
    - BN_get_flags
    - bn_to_mont_fixed_top
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int BN_mod_exp_mont(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p,\n
      \                   const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - a
    - bitpos
    argTypes:
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 506
    functionName: bn_get_bits
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_get_bits(const BIGNUM *a, int bitpos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - b
    - top
    - buf
    - idx
    - window
    argTypes:
    - BIGNUM*
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 531
    functionName: MOD_EXP_CTIME_COPY_TO_PREBUF
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int MOD_EXP_CTIME_COPY_TO_PREBUF(const BIGNUM *b, int top,\n                                        unsigned
      char *buf, int idx,\n                                        int window)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:549,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:558,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:570,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:571,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:572,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:573,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/bn/bn_exp.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - b
    - top
    - buf
    - idx
    - window
    argTypes:
    - BIGNUM*
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 593
    functionName: MOD_EXP_CTIME_COPY_FROM_PREBUF
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached:
    - constant_time_eq_int
    - bn_wexpand
    linkageType: ''
    returnType: int
    signature: "int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top,\n                                          unsigned
      char *buf, int idx,\n                                          int window)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: MOD_EXP_CTIME_ALIGN
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD_EXP_CTIME_ALIGN(x_)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_exp.c:626,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:627,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:635,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:645,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:647,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:649,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:654,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:663,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:665,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_exp.c:669,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:670,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_exp.c:672,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:684,1
    - Dst: rsaz_avx2_eligible
      Src: /src/openssl/crypto/bn/bn_exp.c:685,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:686,1
    - Dst: RSAZ_1024_mod_exp_avx2
      Src: /src/openssl/crypto/bn/bn_exp.c:688,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:692,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:695,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:696,1
    - Dst: RSAZ_512_mod_exp
      Src: /src/openssl/crypto/bn/bn_exp.c:698,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:701,1
    - Dst: BN_window_bits_for_ctime_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp.c:708,1
    - Dst: alloca
      Src: /src/openssl/crypto/bn/bn_exp.c:737,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_exp.c:741,1
    - Dst: MOD_EXP_CTIME_ALIGN
      Src: /src/openssl/crypto/bn/bn_exp.c:745,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_exp.c:746,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:771,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_exp.c:771,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:775,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:852,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:853,1
    - Dst: bn_mul_mont_vis3
      Src: /src/openssl/crypto/bn/bn_exp.c:856,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:857,1
    - Dst: bn_mul_mont_vis3
      Src: /src/openssl/crypto/bn/bn_exp.c:863,1
    - Dst: bn_flip_n_scatter5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:864,1
    - Dst: alloca
      Src: /src/openssl/crypto/bn/bn_exp.c:868,1
    - Dst: bn_flip_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:870,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:881,1
    - Dst: bn_gather5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:882,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:892,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:903,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:904,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:905,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:906,1
    - Dst: bn_mul_mont_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:907,1
    - Dst: bn_mul_mont_gather5_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:908,1
    - Dst: bn_flip_t4
      Src: /src/openssl/crypto/bn/bn_exp.c:912,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:916,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_exp.c:917,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:967,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:968,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:969,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:970,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:975,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:976,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:981,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:982,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:986,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:987,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:989,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:990,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:994,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:995,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:996,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:997,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:1000,1
    - Dst: bn_scatter5
      Src: /src/openssl/crypto/bn/bn_exp.c:1001,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1013,1
    - Dst: bn_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:1014,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1022,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1023,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1024,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1025,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_exp.c:1026,1
    - Dst: bn_mul_mont_gather5
      Src: /src/openssl/crypto/bn/bn_exp.c:1027,1
    - Dst: bn_get_bits5
      Src: /src/openssl/crypto/bn/bn_exp.c:1028,1
    - Dst: bn_power5
      Src: /src/openssl/crypto/bn/bn_exp.c:1032,1
    - Dst: bn_get_bits5
      Src: /src/openssl/crypto/bn/bn_exp.c:1033,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1053,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1055,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1065,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1067,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1072,1
    - Dst: MOD_EXP_CTIME_COPY_TO_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1074,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1089,1
    - Dst: MOD_EXP_CTIME_COPY_FROM_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1090,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1103,1
    - Dst: bn_get_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1117,1
    - Dst: MOD_EXP_CTIME_COPY_FROM_PREBUF
      Src: /src/openssl/crypto/bn/bn_exp.c:1121,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1126,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:1141,1
    - Dst: bn_from_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1145,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1150,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/bn_exp.c:1152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1153,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:1155,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 275
    argCount: 6
    argNames:
    - rr
    - a
    - p
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 609
    functionDepth: 5
    functionLinenumber: 609
    functionLinenumberEnd: 1157
    functionName: bn_mod_exp_mont_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - RSAZ_512_mod_exp
    - bn_correct_top
    - bn_mul_mont
    - MOD_EXP_CTIME_COPY_FROM_PREBUF
    - BN_nnmod
    - bn_wexpand
    - bn_power5
    - OPENSSL_free
    - RSAZ_1024_mod_exp_avx2
    - bn_mul_mont_fixed_top
    - BN_CTX_end
    - BN_abs_is_word
    - BN_MONT_CTX_set
    - BN_mod_exp_mont
    - BN_is_odd
    - bn_mul_mont_gather5_t4
    - MOD_EXP_CTIME_ALIGN
    - BN_ucmp
    - bn_scatter5
    - BN_MONT_CTX_free
    - OPENSSL_malloc
    - bn_flip_n_scatter5_t4
    - bn_gather5_t4
    - BN_mod_mul_montgomery
    - bn_get_bits
    - BN_one
    - bn_flip_t4
    - bn_gather5
    - bn_from_mont_fixed_top
    - BN_num_bits
    - BN_MONT_CTX_new
    - bn_mul_mont_gather5
    - BN_CTX_get
    - bn_get_bits5
    - MOD_EXP_CTIME_COPY_TO_PREBUF
    - memset
    - BN_CTX_start
    - rsaz_avx2_eligible
    - BN_window_bits_for_ctime_exponent_size
    - BN_zero
    - BN_value_one
    - bn_to_mont_fixed_top
    - bn_mul_mont_vis3
    - alloca
    - bn_mul_mont_t4
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int bn_mod_exp_mont_fixed_top(BIGNUM *rr, const BIGNUM *a, const BIGNUM
      *p,\n                              const BIGNUM *m, BN_CTX *ctx,\n                              BN_MONT_CTX
      *in_mont)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1163,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1164,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1165,1
    - Dst: bn_mod_exp_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1166,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - rr
    - a
    - p
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1159
    functionDepth: 6
    functionLinenumber: 1159
    functionLinenumberEnd: 1170
    functionName: BN_mod_exp_mont_consttime
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached:
    - bn_mod_exp_mont_fixed_top
    - bn_check_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: "int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM
      *p,\n                              const BIGNUM *m, BN_CTX *ctx,\n                              BN_MONT_CTX
      *in_mont)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:1198,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:1199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:1201,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1205,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1206,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_exp.c:1208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:1209,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1215,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:1218,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1220,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:1222,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1227,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:1232,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1233,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1234,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:1241,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1243,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1258,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1262,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:1269,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1274,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1278,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1282,1
    - Dst: BN_TO_MONTGOMERY_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1294,1
    - Dst: BN_MOD_MUL_WORD
      Src: /src/openssl/crypto/bn/bn_exp.c:1298,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:1304,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/bn/bn_exp.c:1307,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1313,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:1314,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1315,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 113
    argCount: 6
    argNames:
    - rr
    - a
    - p
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BN_ULONG
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1172
    functionDepth: 3
    functionLinenumber: 1172
    functionLinenumberEnd: 1317
    functionName: BN_mod_exp_mont_word
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - BN_from_montgomery
    - BN_CTX_end
    - BN_abs_is_word
    - BN_MONT_CTX_set
    - BN_is_odd
    - bn_check_top
    - BN_MONT_CTX_free
    - BN_mod_mul_montgomery
    - BN_one
    - BN_num_bits
    - BN_MONT_CTX_new
    - BN_CTX_get
    - BN_CTX_start
    - BN_TO_MONTGOMERY_WORD
    - BN_zero
    - BN_get_flags
    - BN_MOD_MUL_WORD
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int BN_mod_exp_mont_word(BIGNUM *rr, BN_ULONG a, const BIGNUM *p,\n
      \                        const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - w
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1183
    functionName: BN_MOD_MUL_WORD
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_MOD_MUL_WORD(r, w, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - w
    - ','
    - mont
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1197
    functionName: BN_TO_MONTGOMERY_WORD
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_TO_MONTGOMERY_WORD(r, w, mont)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:1329,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:1330,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_exp.c:1331,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:1333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp.c:1338,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1342,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_exp.c:1345,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1347,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:1349,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp.c:1354,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1355,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1356,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_exp.c:1360,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1362,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp.c:1363,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp.c:1368,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1370,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1374,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1375,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp.c:1387,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_exp.c:1389,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp.c:1394,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1400,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1402,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1419,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1431,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_exp.c:1436,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp.c:1447,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1448,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 101
    argCount: 5
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1320
    functionDepth: 3
    functionLinenumber: 1320
    functionLinenumberEnd: 1450
    functionName: BN_mod_exp_simple
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_abs_is_word
    - BN_window_bits_for_exponent_size
    - BN_CTX_end
    - BN_nnmod
    - BN_one
    - BN_zero
    - BN_is_zero
    - BN_get_flags
    - bn_check_top
    - BN_copy
    - BN_num_bits
    - BN_mod_mul
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,\n
      \                     const BIGNUM *m, BN_CTX *ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsaz_avx512ifma_eligible
      Src: /src/openssl/crypto/bn/bn_exp.c:1471,1
    - Dst: ossl_rsaz_avxifma_eligible
      Src: /src/openssl/crypto/bn/bn_exp.c:1471,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1472,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1473,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1474,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1475,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1476,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1477,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp.c:1481,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:1483,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_exp.c:1485,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:1492,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1494,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp.c:1500,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp.c:1502,1
    - Dst: ossl_rsaz_mod_exp_avx512_x2
      Src: /src/openssl/crypto/bn/bn_exp.c:1506,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1514,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1515,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1519,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp.c:1520,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/crypto/bn/bn_exp.c:1527,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/crypto/bn/bn_exp.c:1529,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1534,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp.c:1536,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 49
    argCount: 11
    argNames:
    - rr1
    - a1
    - p1
    - m1
    - in_mont1
    - rr2
    - a2
    - p2
    - m2
    - in_mont2
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1459
    functionDepth: 7
    functionLinenumber: 1459
    functionLinenumberEnd: 1540
    functionName: BN_mod_exp_mont_consttime_x2
    functionSourceFile: /src/openssl/crypto/bn/bn_exp.c
    functionUses: 0
    functionsReached:
    - bn_correct_top
    - BN_MONT_CTX_set
    - BN_mod_exp_mont_consttime
    - bn_wexpand
    - ossl_rsaz_mod_exp_avx512_x2
    - ossl_rsaz_avxifma_eligible
    - bn_check_top
    - ossl_rsaz_avx512ifma_eligible
    - BN_MONT_CTX_free
    - BN_num_bits
    - BN_MONT_CTX_new
    linkageType: ''
    returnType: int
    signature: "int BN_mod_exp_mont_consttime_x2(BIGNUM *rr1, const BIGNUM *a1, const
      BIGNUM *p1,\n                                 const BIGNUM *m1, BN_MONT_CTX
      *in_mont1,\n                                 BIGNUM *rr2, const BIGNUM *a2,
      const BIGNUM *p2,\n                                 const BIGNUM *m2, BN_MONT_CTX
      *in_mont2,\n                                 BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: bn_pack4
    functionSourceFile: /src/openssl/crypto/bn/bn_srp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_pack4(a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: bn_pack4
    functionSourceFile: /src/openssl/crypto/bn/bn_srp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_pack4(a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: bn_pack4
    functionSourceFile: /src/openssl/crypto/bn/bn_srp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_pack4(a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: bn_pack4
    functionSourceFile: /src/openssl/crypto/bn/bn_srp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bn_pack4(a1,a2,a3,a4)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_set_old
      Src: /src/openssl/crypto/bn/bn_depr.c:29,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_depr.c:32,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/crypto/bn/bn_depr.c:36,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_depr.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - ret
    - bits
    - safe
    - add
    - rem
    - cb_arg
    argTypes:
    - BIGNUM*
    - int
    - int
    - BIGNUM*
    - BIGNUM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: BN_generate_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_depr.c
    functionUses: 0
    functionsReached:
    - BN_generate_prime_ex
    - BN_free
    - BN_new
    - BN_GENCB_set_old
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe,\n                          const
      BIGNUM *add, const BIGNUM *rem,\n                          void (*callback)
      (int, int, void *), void *cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_set_old
      Src: /src/openssl/crypto/bn/bn_depr.c:51,1
    - Dst: ossl_bn_check_prime
      Src: /src/openssl/crypto/bn/bn_depr.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - a
    - checks
    - ctx_passed
    - cb_arg
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: BN_is_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_depr.c
    functionUses: 0
    functionsReached:
    - ossl_bn_check_prime
    - BN_GENCB_set_old
    linkageType: ''
    returnType: int
    signature: "int BN_is_prime(const BIGNUM *a, int checks,\n                void
      (*callback) (int, int, void *), BN_CTX *ctx_passed,\n                void *cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_set_old
      Src: /src/openssl/crypto/bn/bn_depr.c:61,1
    - Dst: ossl_bn_check_prime
      Src: /src/openssl/crypto/bn/bn_depr.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - a
    - checks
    - ctx_passed
    - cb_arg
    - do_trial_division
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: BN_is_prime_fasttest
    functionSourceFile: /src/openssl/crypto/bn/bn_depr.c
    functionUses: 0
    functionsReached:
    - ossl_bn_check_prime
    - BN_GENCB_set_old
    linkageType: ''
    returnType: int
    signature: "int BN_is_prime_fasttest(const BIGNUM *a, int checks,\n                         void
      (*callback) (int, int, void *),\n                         BN_CTX *ctx_passed,
      void *cb_arg,\n                         int do_trial_division)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bn/bn_print.c:22,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/bn/bn_print.c:22,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/bn/bn_print.c:24,1
    - Dst: BN_print
      Src: /src/openssl/crypto/bn/bn_print.c:25,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bn/bn_print.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: BN_print_fp
    functionSourceFile: /src/openssl/crypto/bn/bn_print.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - BIO_free
    - BN_print
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int BN_print_fp(FILE *fp, const BIGNUM *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/bn/bn_print.c:36,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_print.c:38,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bn/bn_print.c:38,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bn/bn_print.c:45,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: BN_print
    functionSourceFile: /src/openssl/crypto/bn/bn_print.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: int BN_print(BIO *bp, const BIGNUM *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bn/bn_print.c:64,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bn/bn_print.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: BN_options
    functionSourceFile: /src/openssl/crypto/bn/bn_print.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: char
    signature: char *BN_options(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:88,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:91,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:96,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:101,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - channel
    - text
    - ctx
    argTypes:
    - BIO*
    - char*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: ctxdbg
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void ctxdbg(BIO *channel, const char *text, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: CTXDBG
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTXDBG(str, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: CTXDBG
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTXDBG(str, ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bn/bn_ctx.c:122,1
    - Dst: BN_POOL_init
      Src: /src/openssl/crypto/bn/bn_ctx.c:125,1
    - Dst: BN_STACK_init
      Src: /src/openssl/crypto/bn/bn_ctx.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: BN_CTX_new_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 13
    functionsReached:
    - OPENSSL_zalloc
    - BN_STACK_init
    - BN_POOL_init
    linkageType: ''
    returnType: BN_CTX
    signature: BN_CTX *BN_CTX_new_ex(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/bn/bn_ctx.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: BN_CTX_new
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached:
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BN_CTX
    signature: BN_CTX *BN_CTX_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/bn/bn_ctx.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: BN_CTX_secure_new_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BN_CTX
    signature: BN_CTX *BN_CTX_secure_new_ex(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new_ex
      Src: /src/openssl/crypto/bn/bn_ctx.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: BN_CTX_secure_new
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 0
    functionsReached:
    - BN_CTX_secure_new_ex
    linkageType: ''
    returnType: BN_CTX
    signature: BN_CTX *BN_CTX_secure_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:164,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:168,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:171,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/bn/bn_ctx.c:172,1
    - Dst: BN_STACK_finish
      Src: /src/openssl/crypto/bn/bn_ctx.c:174,1
    - Dst: BN_POOL_finish
      Src: /src/openssl/crypto/bn/bn_ctx.c:175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_ctx.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: BN_CTX_free
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 14
    functionsReached:
    - BN_STACK_finish
    - BN_POOL_finish
    - OPENSSL_free
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void BN_CTX_free(BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:164,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:168,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bn/bn_ctx.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(BN_CTX)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:181,1
    - Dst: BN_STACK_push
      Src: /src/openssl/crypto/bn/bn_ctx.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_ctx.c:187,1
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: BN_CTX_start
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 23
    functionsReached:
    - BN_STACK_push
    - CTXDBG
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void BN_CTX_start(BN_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:197,1
    - Dst: BN_STACK_pop
      Src: /src/openssl/crypto/bn/bn_ctx.c:201,1
    - Dst: BN_POOL_release
      Src: /src/openssl/crypto/bn/bn_ctx.c:204,1
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: BN_CTX_end
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 20
    functionsReached:
    - BN_STACK_pop
    - CTXDBG
    - BN_POOL_release
    linkageType: ''
    returnType: void
    signature: void BN_CTX_end(BN_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:216,1
    - Dst: BN_POOL_get
      Src: /src/openssl/crypto/bn/bn_ctx.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_ctx.c:225,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_ctx.c:229,1
    - Dst: CTXDBG
      Src: /src/openssl/crypto/bn/bn_ctx.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 235
    functionName: BN_CTX_get
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 25
    functionsReached:
    - BN_POOL_get
    - CTXDBG
    - ERR_raise
    - BN_zero
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_CTX_get(BN_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: ossl_bn_get_libctx
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_bn_get_libctx(BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - BN_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: BN_STACK_init
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BN_STACK_init(BN_STACK *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_ctx.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - BN_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: BN_STACK_finish
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void BN_STACK_finish(BN_STACK *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_ctx.c:269,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/bn_ctx.c:272,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_ctx.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - st
    - idx
    argTypes:
    - BN_STACK*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 279
    functionName: BN_STACK_push
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached:
    - memcpy
    - OPENSSL_malloc_array
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int BN_STACK_push(BN_STACK *st, unsigned int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - BN_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: BN_STACK_pop
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int BN_STACK_pop(BN_STACK *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - BN_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: BN_POOL_init
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BN_POOL_init(BN_POOL *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/bn/bn_ctx.c:304,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_ctx.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - BN_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 309
    functionName: BN_POOL_finish
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void BN_POOL_finish(BN_POOL *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_ctx.c:321,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_ctx.c:324,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_ctx.c:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - p
    - flag
    argTypes:
    - BN_POOL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 349
    functionName: BN_POOL_get
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached:
    - bn_init
    - BN_set_flags
    - OPENSSL_malloc
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_POOL_get(BN_POOL *p, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_ctx.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p
    - num
    argTypes:
    - BN_POOL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: BN_POOL_release
    functionSourceFile: /src/openssl/crypto/bn/bn_ctx.c
    functionUses: 1
    functionsReached:
    - bn_check_top
    linkageType: ''
    returnType: void
    signature: void BN_POOL_release(BN_POOL *p, unsigned int num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_conv.c:21,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/bn/bn_conv.c:22,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_conv.c:23,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/bn/bn_conv.c:34,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 42
    functionName: BN_bn2hex
    functionSourceFile: /src/openssl/crypto/bn/bn_conv.c
    functionUses: 0
    functionsReached:
    - ossl_to_hex
    - OPENSSL_strdup
    - BN_is_zero
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *BN_bn2hex(const BIGNUM *a)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_conv.c:62,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_conv.c:66,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_conv.c:67,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/bn/bn_conv.c:70,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_conv.c:75,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_conv.c:79,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_conv.c:82,1
    - Dst: BN_div_word
      Src: /src/openssl/crypto/bn/bn_conv.c:85,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bn/bn_conv.c:96,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bn/bn_conv.c:102,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_conv.c:110,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_conv.c:111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_conv.c:114,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 116
    functionName: BN_bn2dec
    functionSourceFile: /src/openssl/crypto/bn/bn_conv.c
    functionUses: 0
    functionsReached:
    - BN_div_word
    - OPENSSL_malloc_array
    - BN_is_negative
    - BN_is_zero
    - BIO_snprintf
    - OPENSSL_free
    - BN_dup
    - BN_free
    - BN_num_bits
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *BN_bn2dec(const BIGNUM *a)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/bn/bn_conv.c:134,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_conv.c:146,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_conv.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_conv.c:151,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_conv.c:154,1
    - Dst: bn_expand
      Src: /src/openssl/crypto/bn/bn_conv.c:158,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/bn/bn_conv.c:169,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_conv.c:182,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_conv.c:185,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_conv.c:192,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 2
    argNames:
    - bn
    - a
    argTypes:
    - BIGNUM**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 194
    functionName: BN_hex2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_conv.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OPENSSL_hexchar2int
    - bn_correct_top
    - BN_zero
    - bn_expand
    - BN_get_flags
    - bn_check_top
    - BN_new
    - BN_free
    - ossl_isxdigit
    linkageType: ''
    returnType: int
    signature: int BN_hex2bn(BIGNUM **bn, const char *a)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/bn/bn_conv.c:210,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_conv.c:225,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_conv.c:229,1
    - Dst: bn_expand
      Src: /src/openssl/crypto/bn/bn_conv.c:233,1
    - Dst: BN_mul_word
      Src: /src/openssl/crypto/bn/bn_conv.c:245,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_conv.c:246,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_conv.c:253,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_conv.c:255,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_conv.c:262,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - bn
    - a
    argTypes:
    - BIGNUM**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 264
    functionName: BN_dec2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_conv.c
    functionUses: 0
    functionsReached:
    - bn_correct_top
    - BN_zero
    - bn_expand
    - ossl_isdigit
    - bn_check_top
    - BN_new
    - BN_add_word
    - BN_mul_word
    - BN_free
    linkageType: ''
    returnType: int
    signature: int BN_dec2bn(BIGNUM **bn, const char *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/openssl/crypto/bn/bn_conv.c:274,1
    - Dst: BN_dec2bn
      Src: /src/openssl/crypto/bn/bn_conv.c:277,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - bn
    - a
    argTypes:
    - BIGNUM**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 6
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: BN_asc2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_conv.c
    functionUses: 1
    functionsReached:
    - BN_hex2bn
    - BN_dec2bn
    linkageType: ''
    returnType: int
    signature: int BN_asc2bn(BIGNUM **bn, const char *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - boundary
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: ALIGN_OF
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN_OF(ptr, boundary)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: BITS2WORD8_SIZE
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS2WORD8_SIZE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: BITS2WORD64_SIZE
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS2WORD64_SIZE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - digits_num
    - ','
    - register_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: NUMBER_OF_REGISTERS
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NUMBER_OF_REGISTERS(digits_num, register_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitsize
    - digit_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: number_of_digits
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline number_of_digits(int bitsize, int digit_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: number_of_digits
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:212,1
    - Dst: NUMBER_OF_REGISTERS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:216,1
    - Dst: ossl_rsaz_avx512ifma_eligible
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:232,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:239,1
    - Dst: ALIGN_OF
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:242,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:254,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:255,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:256,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:257,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:258,1
    - Dst: to_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:259,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:277,1
    - Dst: set_bit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:279,1
    - Dst: amm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:281,1
    - Dst: amm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:282,1
    - Dst: amm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:284,1
    - Dst: amm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:285,1
    - Dst: RSAZ_mod_exp_x2_ifma256
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:294,1
    - Dst: from_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:300,1
    - Dst: from_words52
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:301,1
    - Dst: bn_reduce_once_in_place
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:306,1
    - Dst: bn_reduce_once_in_place
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:307,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 13
    argNames:
    - res1
    - base1
    - exp1
    - m1
    - rr1
    - k0_1
    - res2
    - base2
    - exp2
    - m2
    - rr2
    - k0_2
    - factor_size
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 315
    functionName: ossl_rsaz_mod_exp_avx512_x2
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - memset
    - RSAZ_mod_exp_x2_ifma256
    - bn_reduce_once_in_place
    - ALIGN_OF
    - amm
    - from_words52
    - OPENSSL_free
    - set_bit
    - NUMBER_OF_REGISTERS
    - ossl_rsaz_avx512ifma_eligible
    - number_of_digits
    - to_words52
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_rsaz_mod_exp_avx512_x2(BN_ULONG *res1,\n                                const
      BN_ULONG *base1,\n                                const BN_ULONG *exp1,\n                                const
      BN_ULONG *m1,\n                                const BN_ULONG *rr1,\n                                BN_ULONG
      k0_1,\n                                BN_ULONG *res2,\n                                const
      BN_ULONG *base2,\n                                const BN_ULONG *exp2,\n                                const
      BN_ULONG *m2,\n                                const BN_ULONG *rr2,\n                                BN_ULONG
      k0_2,\n                                int factor_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsaz_avx512ifma_eligible
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:377,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:416,1
    - Dst: ALIGN_OF
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:419,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:433,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:434,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:437,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:439,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:445,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:447,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:469,1
    - Dst: extract
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:482,1
    - Dst: extract
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:523,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:527,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:528,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:529,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:530,1
    - Dst: DAMS
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:531,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:533,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:549,1
    - Dst: damm
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:552,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:559,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:560,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 94
    argCount: 7
    argNames:
    - out
    - base
    - exp
    - m
    - rr
    - k0
    - modulus_bitsize
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*[]
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 565
    functionName: RSAZ_mod_exp_x2_ifma256
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - memset
    - ALIGN_OF
    - memcpy
    - OPENSSL_assert
    - damm
    - OPENSSL_free
    - ossl_rsaz_avx512ifma_eligible
    - extract
    - OPENSSL_cleanse
    - DAMS
    linkageType: ''
    returnType: int
    signature: "int RSAZ_mod_exp_x2_ifma256(BN_ULONG *out,\n                            const
      BN_ULONG *base,\n                            const BN_ULONG *exp[2],\n                            const
      BN_ULONG *m,\n                            const BN_ULONG *rr,\n                            const
      BN_ULONG k0[2],\n                            int modulus_bitsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - m
    - ','
    - k0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: DAMS
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DAMS(r,a,m,k0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:571,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - in
    - in_len
    argTypes:
    - uint8_t*
    - int
    assertStmts:
    - condition: (in != NULL)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (in_len <= 8)
      pos:
        line_end: 571
        line_start: 571
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 579
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 579
    functionName: get_digit
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline get_digit(const uint8_t *in, int in_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:590,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:591,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:593,1
    - Dst: number_of_digits
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:593,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:600,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:603,1
    - Dst: get_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:610,1
    - Dst: get_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:615,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:615,1
    - Dst: get_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:620,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:620,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - out
    - out_len
    - in
    - in_bitsize
    argTypes:
    - BN_ULONG*
    - int
    - BN_ULONG*
    - int
    assertStmts:
    - condition: (out != NULL)
      pos:
        line_end: 589
        line_start: 589
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (in != NULL)
      pos:
        line_end: 590
        line_start: 590
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (out_len >= number_of_digits(in_bitsize, DIGIT_SIZE))
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 626
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 626
    functionName: to_words52
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - memset
    - BITS2WORD8_SIZE
    - get_digit
    - memcpy
    - number_of_digits
    - assert
    linkageType: ''
    returnType: void
    signature: "void to_words52(BN_ULONG *out, int out_len,\n                       const
      BN_ULONG *in, int in_bitsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:630,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - out_len
    - digit
    argTypes:
    - uint8_t*
    - int
    - uint64_t
    assertStmts:
    - condition: (out != NULL)
      pos:
        line_end: 629
        line_start: 629
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (out_len <= 8)
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 637
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 637
    functionName: put_digit
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline put_digit(uint8_t *out, int out_len, uint64_t digit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BITS2WORD64_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:646,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:648,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:649,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:662,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:665,1
    - Dst: put_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:670,1
    - Dst: put_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:673,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:673,1
    - Dst: put_digit
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:676,1
    - Dst: BITS2WORD8_SIZE
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - out
    - out_bitsize
    - in
    argTypes:
    - BN_ULONG*
    - int
    - BN_ULONG*
    assertStmts:
    - condition: (in != NULL)
      pos:
        line_end: 648
        line_start: 648
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    - condition: (out != NULL)
      pos:
        line_end: 647
        line_start: 647
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 679
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 679
    functionName: from_words52
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - BITS2WORD8_SIZE
    - memcpy
    - BITS2WORD64_SIZE
    - put_digit
    - assert
    linkageType: ''
    returnType: void
    signature: void from_words52(BN_ULONG *out, int out_bitsize, const BN_ULONG *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/rsaz_exp_x2.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - idx
    argTypes:
    - BN_ULONG*
    - int
    assertStmts:
    - condition: (a != NULL)
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/openssl/crypto/bn/rsaz_exp_x2.c
    constantsTouched: []
    func_position:
      end: 697
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 697
    functionName: set_bit
    functionSourceFile: /src/openssl/crypto/bn/rsaz_exp_x2.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline set_bit(BN_ULONG *a, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: SQR_nibble
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQR_nibble(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: SQR1
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQR1(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: SQR0
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQR0(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: SQR1
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQR1(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: SQR0
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQR0(w)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 4
    argNames:
    - r1
    - r0
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 127
    functionName: bn_GF2m_mul_1x1
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bn_GF2m_mul_1x1(BN_ULONG *r1, BN_ULONG *r0, const BN_ULONG a,\n
      \                           const BN_ULONG b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 82
    argCount: 4
    argNames:
    - r1
    - r0
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 224
    functionName: bn_GF2m_mul_1x1
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bn_GF2m_mul_1x1(BN_ULONG *r1, BN_ULONG *r0, const BN_ULONG a,\n
      \                           const BN_ULONG b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_GF2m_mul_1x1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:237,1
    - Dst: bn_GF2m_mul_1x1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:238,1
    - Dst: bn_GF2m_mul_1x1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - r
    - a1
    - a0
    - b1
    - b0
    argTypes:
    - BN_ULONG*
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: bn_GF2m_mul_2x2
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - bn_GF2m_mul_1x1
    linkageType: ''
    returnType: void
    signature: "void bn_GF2m_mul_2x2(BN_ULONG *r, const BN_ULONG a1, const BN_ULONG
      a0,\n                            const BN_ULONG b1, const BN_ULONG b0)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:258,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:259,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:269,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 283
    functionName: BN_GF2m_add
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - bn_check_top
    - bn_wexpand
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:299,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:303,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:312,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_gf2m.c:347,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/bn/bn_gf2m.c:361,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:381,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - r
    - a
    - p
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 383
    functionName: BN_GF2m_mod_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - bn_correct_top
    - BN_zero
    - bn_wexpand
    - bn_check_top
    - ossl_likely
    linkageType: ''
    returnType: int
    signature: int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:395,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:396,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:397,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_gf2m.c:397,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/bn/bn_gf2m.c:398,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:399,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:402,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - r
    - a
    - p
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: BN_GF2m_mod
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - BN_GF2m_mod_arr
    - OSSL_NELEM
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:418,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:419,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:422,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:425,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:426,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:430,1
    - Dst: bn_GF2m_mul_2x2
      Src: /src/openssl/crypto/bn/bn_gf2m.c:443,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:449,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:450,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:452,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:455,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - r
    - a
    - b
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 411
    functionDepth: 5
    functionLinenumber: 411
    functionLinenumberEnd: 457
    functionName: BN_GF2m_mod_mul_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - bn_correct_top
    - BN_GF2m_mod_arr
    - bn_GF2m_mul_2x2
    - bn_wexpand
    - BN_GF2m_mod_sqr_arr
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,\n
      \                       const int p[], BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:470,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:473,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:474,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:475,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:477,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:480,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:482,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:485,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:486,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - r
    - a
    - b
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 466
    functionDepth: 6
    functionLinenumber: 466
    functionLinenumberEnd: 490
    functionName: BN_GF2m_mod_mul
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - OPENSSL_malloc_array
    - OPENSSL_free
    - bn_check_top
    - BN_GF2m_mod_mul_arr
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,\n
      \                   const BIGNUM *p, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:499,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:500,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:501,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:503,1
    - Dst: SQR1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:507,1
    - Dst: SQR0
      Src: /src/openssl/crypto/bn/bn_gf2m.c:508,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:512,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:513,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:515,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 493
    functionDepth: 5
    functionLinenumber: 493
    functionLinenumberEnd: 520
    functionName: BN_GF2m_mod_sqr_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - bn_correct_top
    - BN_GF2m_mod_arr
    - SQR1
    - bn_wexpand
    - SQR0
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[],\n
      \                       BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:531,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:534,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:535,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:537,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:540,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:542,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:545,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:546,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 550
    functionName: BN_GF2m_mod_sqr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - OPENSSL_malloc_array
    - OPENSSL_free
    - BN_GF2m_mod_sqr_arr
    - bn_check_top
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX
      *ctx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:564,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:565,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:567,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:569,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:570,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:571,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:572,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/crypto/bn/bn_gf2m.c:576,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:578,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:581,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gf2m.c:584,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gf2m.c:588,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:589,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:591,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gf2m.c:593,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:594,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_gf2m.c:597,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_gf2m.c:601,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:604,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:604,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:613,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:615,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:621,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:622,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:626,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:632,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_gf2m.c:639,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_gf2m.c:702,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:705,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:709,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:711,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:718,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:719,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:721,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 143
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 558
    functionDepth: 6
    functionLinenumber: 558
    functionLinenumberEnd: 723
    functionName: BN_GF2m_mod_inv_vartime
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_abs_is_word
    - bn_correct_top
    - BN_one
    - BN_rshift1
    - BN_is_zero
    - BN_is_odd
    - bn_wexpand
    - bn_check_top
    - BN_GF2m_mod
    - BN_copy
    - BN_num_bits
    - BN_num_bits_word
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_inv_vartime(BIGNUM *r, const BIGNUM *a,\n                                   const
      BIGNUM *p, BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:736,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:737,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:741,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_gf2m.c:747,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:750,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/crypto/bn/bn_gf2m.c:753,1
    - Dst: BN_GF2m_mod_inv_vartime
      Src: /src/openssl/crypto/bn/bn_gf2m.c:757,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/crypto/bn/bn_gf2m.c:761,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:767,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 730
    functionDepth: 7
    functionLinenumber: 730
    functionLinenumberEnd: 769
    functionName: BN_GF2m_mod_inv
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_zero
    - BN_GF2m_mod_mul
    - BN_GF2m_mod_inv_vartime
    - BN_priv_rand_ex
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:783,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:784,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:785,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/crypto/bn/bn_gf2m.c:787,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/crypto/bn/bn_gf2m.c:790,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:791,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - r
    - xx
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 777
    functionDepth: 8
    functionLinenumber: 777
    functionLinenumberEnd: 796
    functionName: BN_GF2m_mod_inv_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_arr2poly
    - bn_check_top
    - BN_GF2m_mod_inv
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *xx, const int p[],\n
      \                       BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:808,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:809,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:810,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:812,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:813,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/crypto/bn/bn_gf2m.c:817,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/crypto/bn/bn_gf2m.c:819,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:821,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - r
    - y
    - x
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 802
    functionDepth: 8
    functionLinenumber: 802
    functionLinenumberEnd: 827
    functionName: BN_GF2m_mod_div
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - bn_check_top
    - BN_GF2m_mod_mul
    - BN_GF2m_mod_inv
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *y, const BIGNUM *x,\n
      \                   const BIGNUM *p, BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:841,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:842,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:844,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:845,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/crypto/bn/bn_gf2m.c:847,1
    - Dst: BN_GF2m_mod_div
      Src: /src/openssl/crypto/bn/bn_gf2m.c:850,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:851,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - r
    - yy
    - xx
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 835
    functionDepth: 9
    functionLinenumber: 835
    functionLinenumberEnd: 856
    functionName: BN_GF2m_mod_div_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_mod_div
    - BN_GF2m_arr2poly
    - bn_check_top
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *yy, const BIGNUM
      *xx,\n                        const int p[], BN_CTX *ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:869,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:870,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:872,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_gf2m.c:873,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_gf2m.c:875,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:876,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:878,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:879,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:882,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:885,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:887,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_gf2m.c:889,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:890,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:894,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:896,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:899,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 5
    argNames:
    - r
    - a
    - b
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 863
    functionDepth: 6
    functionLinenumber: 863
    functionLinenumberEnd: 901
    functionName: BN_GF2m_mod_exp_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_abs_is_word
    - BN_GF2m_mod_arr
    - BN_one
    - BN_is_zero
    - BN_GF2m_mod_sqr_arr
    - bn_check_top
    - BN_copy
    - BN_GF2m_mod_mul_arr
    - BN_num_bits
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,\n
      \                       const int p[], BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:913,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:916,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:917,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:918,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:920,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:923,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:925,1
    - Dst: BN_GF2m_mod_exp_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:928,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:929,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - r
    - a
    - b
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 909
    functionDepth: 7
    functionLinenumber: 909
    functionLinenumberEnd: 933
    functionName: BN_GF2m_mod_exp
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - OPENSSL_malloc_array
    - BN_GF2m_mod_exp_arr
    - OPENSSL_free
    - bn_check_top
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,\n
      \                   const BIGNUM *p, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:945,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:949,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:953,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:954,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_gf2m.c:957,1
    - Dst: BN_GF2m_mod_exp_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:959,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:960,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 939
    functionDepth: 7
    functionLinenumber: 939
    functionLinenumberEnd: 965
    functionName: BN_GF2m_mod_sqrt_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_GF2m_mod_exp_arr
    - BN_zero
    - bn_check_top
    - BN_set_bit
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, const int p[],\n
      \                        BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:976,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:979,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:980,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:982,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:985,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:987,1
    - Dst: BN_GF2m_mod_sqrt_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:990,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:991,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 973
    functionDepth: 8
    functionLinenumber: 973
    functionLinenumberEnd: 995
    functionName: BN_GF2m_mod_sqrt
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_sqrt_arr
    - ERR_raise
    - BN_GF2m_poly2arr
    - OPENSSL_malloc_array
    - OPENSSL_free
    - bn_check_top
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX
      *ctx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1007,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1011,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1015,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1016,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1017,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1018,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1022,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1025,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1026,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1033,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1036,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1038,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1040,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1046,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1047,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1048,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1052,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1055,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1057,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1058,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1061,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1063,1
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1065,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1067,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1069,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1073,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1074,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1075,1
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1080,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1082,1
    - Dst: BN_GF2m_cmp
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1084,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1085,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1089,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1091,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1096,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 100
    argCount: 4
    argNames:
    - r
    - a_
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1001
    functionDepth: 7
    functionLinenumber: 1001
    functionLinenumberEnd: 1098
    functionName: BN_GF2m_mod_solve_quad_arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_GF2m_cmp
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_GF2m_mod_arr
    - BN_zero
    - BN_is_zero
    - BN_GF2m_mod_mul_arr
    - BN_GF2m_mod_sqr_arr
    - bn_check_top
    - BN_copy
    - BN_priv_rand_ex
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a_, const
      int p[],\n                               BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1110,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1113,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1114,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1116,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1121,1
    - Dst: BN_GF2m_mod_solve_quad_arr
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1124,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - r
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1106
    functionDepth: 8
    functionLinenumber: 1106
    functionLinenumberEnd: 1129
    functionName: BN_GF2m_mod_solve_quad
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - OPENSSL_malloc_array
    - OPENSSL_free
    - BN_GF2m_mod_solve_quad_arr
    - bn_check_top
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *p,\n                           BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - a
    - p
    - max
    argTypes:
    - BIGNUM*
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1178
    functionName: BN_GF2m_poly2arr
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 6
    functionsReached:
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1188,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1189,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1191,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_gf2m.c:1194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - a
    argTypes:
    - int[]
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1197
    functionName: BN_GF2m_arr2poly
    functionSourceFile: /src/openssl/crypto/bn/bn_gf2m.c
    functionUses: 2
    functionsReached:
    - bn_check_top
    - BN_zero
    - BN_set_bit
    linkageType: ''
    returnType: int
    signature: int BN_GF2m_arr2poly(const int p[], BIGNUM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_recp.c:15,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_recp.c:16,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_recp.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - recp
    argTypes:
    - BN_RECP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: BN_RECP_CTX_init
    functionSourceFile: /src/openssl/crypto/bn/bn_recp.c
    functionUses: 1
    functionsReached:
    - bn_init
    - memset
    linkageType: ''
    returnType: void
    signature: void BN_RECP_CTX_init(BN_RECP_CTX *recp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bn/bn_recp.c:24,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_recp.c:27,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_recp.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: BN_RECP_CTX_new
    functionSourceFile: /src/openssl/crypto/bn/bn_recp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - bn_init
    linkageType: ''
    returnType: BN_RECP_CTX
    signature: BN_RECP_CTX *BN_RECP_CTX_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_recp.c:37,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_recp.c:38,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_recp.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - recp
    argTypes:
    - BN_RECP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: BN_RECP_CTX_free
    functionSourceFile: /src/openssl/crypto/bn/bn_recp.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void BN_RECP_CTX_free(BN_RECP_CTX *recp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_recp.c:45,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_recp.c:45,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_recp.c:47,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_recp.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - recp
    - d
    - ctx
    argTypes:
    - BN_RECP_CTX*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: BN_RECP_CTX_set
    functionSourceFile: /src/openssl/crypto/bn/bn_recp.c
    functionUses: 1
    functionsReached:
    - BN_copy
    - BN_zero
    - BN_is_zero
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *d, BN_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_recp.c:60,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_recp.c:61,1
    - Dst: BN_sqr
      Src: /src/openssl/crypto/bn/bn_recp.c:65,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_recp.c:68,1
    - Dst: BN_div_recp
      Src: /src/openssl/crypto/bn/bn_recp.c:75,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_recp.c:77,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_recp.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - r
    - x
    - y
    - recp
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_RECP_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: BN_mod_mul_reciprocal
    functionSourceFile: /src/openssl/crypto/bn/bn_recp.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_mul
    - BN_CTX_end
    - BN_CTX_start
    - BN_sqr
    - bn_check_top
    - BN_div_recp
    linkageType: ''
    returnType: int
    signature: "int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM
      *y,\n                          BN_RECP_CTX *recp, BN_CTX *ctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_recp.c:88,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_recp.c:89,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_recp.c:90,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_recp.c:91,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_recp.c:92,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_recp.c:96,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_recp.c:97,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_recp.c:98,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_recp.c:99,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_recp.c:102,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_recp.c:112,1
    - Dst: BN_reciprocal
      Src: /src/openssl/crypto/bn/bn_recp.c:119,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_recp.c:130,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_recp.c:132,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_recp.c:134,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_recp.c:138,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_recp.c:140,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_recp.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_recp.c:147,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_recp.c:150,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_recp.c:152,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_recp.c:156,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_recp.c:160,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_recp.c:161,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_recp.c:162,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 5
    argNames:
    - dv
    - rem
    - m
    - recp
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_RECP_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 164
    functionName: BN_div_recp
    functionSourceFile: /src/openssl/crypto/bn/bn_recp.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_reciprocal
    - BN_mul
    - BN_CTX_end
    - BN_CTX_start
    - ERR_raise
    - BN_zero
    - BN_is_zero
    - BN_ucmp
    - bn_check_top
    - BN_rshift
    - BN_add_word
    - BN_copy
    - BN_usub
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,\n                BN_RECP_CTX
      *recp, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_recp.c:177,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_recp.c:178,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_recp.c:181,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_recp.c:184,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_recp.c:189,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_recp.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - r
    - m
    - len
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: BN_reciprocal
    functionSourceFile: /src/openssl/crypto/bn/bn_recp.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_div
    - bn_check_top
    - BN_set_bit
    linkageType: ''
    returnType: int
    signature: int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: BN_DEF
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_DEF(lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: BN_DEF
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_DEF(lo, hi)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: bn_rsa_fips186_5_aux_prime_MR_rounds
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bn_rsa_fips186_5_aux_prime_MR_rounds(int nbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: bn_rsa_fips186_5_prime_MR_rounds
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bn_rsa_fips186_5_prime_MR_rounds(int nbits)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: bn_rsa_fips186_5_aux_prime_min_size
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bn_rsa_fips186_5_aux_prime_min_size(int nbits)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nbits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes(int nbits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:141,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:143,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:148,1
    - Dst: ossl_bn_check_generated_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:150,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:156,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - Xp1
    - p1
    - ctx
    - rounds
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: bn_rsa_fips186_4_find_aux_prob_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 0
    functionsReached:
    - ossl_bn_check_generated_prime
    - BN_GENCB_call
    - BN_add_word
    - BN_copy
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: "int bn_rsa_fips186_4_find_aux_prob_prime(const BIGNUM *Xp1,\n                                                BIGNUM
      *p1, BN_CTX *ctx,\n                                                int rounds,\n
      \                                               BN_GENCB *cb)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:198,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:200,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:201,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:202,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:203,1
    - Dst: bn_rsa_fips186_5_aux_prime_min_size
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:207,1
    - Dst: bn_rsa_fips186_5_aux_prime_MR_rounds
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:210,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:215,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:222,1
    - Dst: bn_rsa_fips186_4_find_aux_prob_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:228,1
    - Dst: bn_rsa_fips186_4_find_aux_prob_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:229,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:232,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:232,1
    - Dst: bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:233,1
    - Dst: ossl_bn_rsa_fips186_4_derive_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:236,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:243,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:245,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:247,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:249,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:250,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 11
    argNames:
    - p
    - Xpout
    - p1
    - p2
    - Xp
    - Xp1
    - Xp2
    - nlen
    - e
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 184
    functionDepth: 7
    functionLinenumber: 184
    functionLinenumberEnd: 252
    functionName: ossl_bn_rsa_fips186_4_gen_prob_primes
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - bn_rsa_fips186_5_aux_prime_min_size
    - BN_CTX_end
    - BN_CTX_start
    - bn_rsa_fips186_5_aux_prime_max_sum_size_for_prob_primes
    - bn_rsa_fips186_5_aux_prime_MR_rounds
    - BN_clear
    - ossl_bn_rsa_fips186_4_derive_prime
    - bn_rsa_fips186_4_find_aux_prob_prime
    - BN_priv_rand_ex
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_rsa_fips186_4_gen_prob_primes(BIGNUM *p, BIGNUM *Xpout,\n
      \                                         BIGNUM *p1, BIGNUM *p2,\n                                          const
      BIGNUM *Xp, const BIGNUM *Xp1,\n                                          const
      BIGNUM *Xp2, int nlen,\n                                          const BIGNUM
      *e, BN_CTX *ctx,\n                                          BN_GENCB *cb)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:286,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:288,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:289,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:290,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:291,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:292,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:293,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:294,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:298,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:311,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:313,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:314,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:315,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:315,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:316,1
    - Dst: BN_lshift1
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:329,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:330,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:332,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:333,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:334,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:335,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:337,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:340,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:340,1
    - Dst: bn_rsa_fips186_5_prime_MR_rounds
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:351,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:359,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:359,1
    - Dst: BN_mod_sub
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:363,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:363,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:369,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:375,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:378,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:379,1
    - Dst: BN_are_coprime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:382,1
    - Dst: ossl_bn_check_generated_prime
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:383,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:392,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:395,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:401,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:403,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_rsa_fips186_4.c:404,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 79
    argCount: 9
    argNames:
    - Y
    - X
    - Xin
    - r1
    - r2
    - nlen
    - e
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 275
    functionDepth: 8
    functionLinenumber: 275
    functionLinenumberEnd: 406
    functionName: ossl_bn_rsa_fips186_4_derive_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_rsa_fips186_4.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - BN_is_negative
    - BN_add
    - BN_sub_word
    - BN_are_coprime
    - BN_lshift1
    - BN_copy
    - bn_rsa_fips186_5_prime_MR_rounds
    - BN_CTX_end
    - BN_clear
    - BN_mod_sub
    - BN_mul
    - BN_mod_inverse
    - BN_priv_rand_range_ex
    - BN_GENCB_call
    - BN_sub
    - BN_num_bits
    - BN_lshift
    - BN_CTX_get
    - BN_CTX_start
    - BN_value_one
    - ossl_bn_check_generated_prime
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_rsa_fips186_4_derive_prime(BIGNUM *Y, BIGNUM *X, const
      BIGNUM *Xin,\n                                       const BIGNUM *r1, const
      BIGNUM *r2,\n                                       int nlen, const BIGNUM *e,\n
      \                                      BN_CTX *ctx, BN_GENCB *cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:22,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:28,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:29,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:30,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:31,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    assertStmts:
    - condition: (num >= 0)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: bn_mul_add_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - mul_add
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num,\n
      \                         BN_ULONG w)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:51,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:57,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:58,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:59,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:60,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    assertStmts:
    - condition: (num >= 0)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 73
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 73
    functionName: bn_mul_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 2
    functionsReached:
    - mul
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG
      w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:77,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/bn_asm.c:83,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/bn_asm.c:84,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/bn_asm.c:85,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/bn_asm.c:86,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/bn_asm.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: bn_sqr_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - sqr
    - assert
    linkageType: ''
    returnType: void
    signature: void bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:109,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:113,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:114,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:118,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:119,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:120,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:121,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    assertStmts:
    - condition: (num >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 134
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 134
    functionName: bn_mul_add_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - mul_add
    - LBITS
    - HBITS
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num,\n
      \                         BN_ULONG w)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:141,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:145,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:146,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:150,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:151,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:152,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:153,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    assertStmts:
    - condition: (num >= 0)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 166
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 166
    functionName: bn_mul_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 2
    functionsReached:
    - mul
    - LBITS
    - HBITS
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG
      w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:170,1
    - Dst: sqr64
      Src: /src/openssl/crypto/bn/bn_asm.c:176,1
    - Dst: sqr64
      Src: /src/openssl/crypto/bn/bn_asm.c:177,1
    - Dst: sqr64
      Src: /src/openssl/crypto/bn/bn_asm.c:178,1
    - Dst: sqr64
      Src: /src/openssl/crypto/bn/bn_asm.c:179,1
    - Dst: sqr64
      Src: /src/openssl/crypto/bn/bn_asm.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: bn_sqr_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - sqr64
    - assert
    linkageType: ''
    returnType: void
    signature: void bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - l
    - d
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: bn_div_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_asm.c:215,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - h
    - l
    - d
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    assertStmts:
    - condition: ((i == BN_BITS2) || (h <= (BN_ULONG)1 << i))
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 268
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 268
    functionName: bn_div_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 2
    functionsReached:
    - BN_num_bits_word
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 311
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 311
    functionName: bn_add_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_add_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG
      *b,\n                      int n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 368
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 368
    functionName: bn_add_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_add_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG
      *b,\n                      int n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_asm.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/openssl/crypto/bn/bn_asm.c
    constantsTouched: []
    func_position:
      end: 431
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 431
    functionName: bn_sub_words
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 9
    functionsReached:
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_sub_words(BN_ULONG *r, const BN_ULONG *a, const BN_ULONG
      *b,\n                      int n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: mul_add_c
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: mul_add_c2
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c2(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: sqr_add_c
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c(a,i,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - j
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: sqr_add_c2
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c2(a,i,j,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: mul_add_c
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 504
    functionName: mul_add_c2
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c2(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 512
    functionName: sqr_add_c
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c(a,i,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - j
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: sqr_add_c2
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c2(a,i,j,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: mul_add_c
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: mul_add_c2
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c2(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: sqr_add_c
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c(a,i,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - j
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: sqr_add_c2
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c2(a,i,j,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: mul_add_c
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 574
    functionName: mul_add_c2
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c2(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: sqr_add_c
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c(a,i,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - j
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 584
    functionName: sqr_add_c2
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c2(a,i,j,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:593,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:596,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:597,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:600,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:601,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:602,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:605,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:606,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:607,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:608,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:611,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:612,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:613,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:614,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:615,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:618,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:619,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:620,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:621,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:622,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:623,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:626,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:627,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:628,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:629,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:630,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:631,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:632,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:635,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:636,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:637,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:638,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:639,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:640,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:641,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:642,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:645,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:646,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:647,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:648,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:649,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:650,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:651,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:654,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:655,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:656,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:657,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:658,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:659,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:662,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:663,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:664,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:665,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:666,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:669,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:670,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:671,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:672,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:675,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:676,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:677,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:680,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:681,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 687
    functionName: bn_mul_comba8
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - mul_add_c
    linkageType: ''
    returnType: void
    signature: void bn_mul_comba8(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:696,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:699,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:700,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:703,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:704,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:705,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:708,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:709,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:710,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:711,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:714,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:715,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:716,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:719,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:720,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 726
    functionName: bn_mul_comba4
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - mul_add_c
    linkageType: ''
    returnType: void
    signature: void bn_mul_comba4(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:735,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:738,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:741,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:742,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:745,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:746,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:749,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:750,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:751,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:754,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:755,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:756,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:759,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:760,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:761,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:762,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:765,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:766,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:767,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:768,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:771,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:772,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:773,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:774,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:777,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:778,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:779,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:782,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:783,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:784,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:787,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:788,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:791,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:792,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:795,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 801
    functionName: bn_sqr_comba8
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - sqr_add_c2
    - sqr_add_c
    linkageType: ''
    returnType: void
    signature: void bn_sqr_comba8(BN_ULONG *r, const BN_ULONG *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:810,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:813,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:816,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:817,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:820,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:821,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:824,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:825,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/bn_asm.c:828,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/bn_asm.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 834
    functionName: bn_sqr_comba4
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - sqr_add_c2
    - sqr_add_c
    linkageType: ''
    returnType: void
    signature: void bn_sqr_comba4(BN_ULONG *r, const BN_ULONG *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_sqr_mont
      Src: /src/openssl/crypto/bn/bn_asm.c:865,1
    - Dst: alloca
      Src: /src/openssl/crypto/bn/bn_asm.c:867,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:874,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:875,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:877,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/bn_asm.c:880,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:891,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:892,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:894,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:897,1
    - Dst: HBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:907,1
    - Dst: LBITS
      Src: /src/openssl/crypto/bn/bn_asm.c:908,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:909,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:911,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:916,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/bn_asm.c:918,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_asm.c:928,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0p
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 940
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 1
    functionsReached:
    - bn_sqr_mont
    - bn_sub_words
    - HBITS
    - alloca
    - mul
    - mul_add
    - LBITS
    linkageType: ''
    returnType: int
    signature: "int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,\n
      \               const BN_ULONG *np, const BN_ULONG *n0p, int num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 951
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,\n
      \               const BN_ULONG *np, const BN_ULONG *n0, int num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_asm.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 962
    functionName: bn_sqr_comba4
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - bn_sqr_normal
    linkageType: ''
    returnType: void
    signature: void bn_sqr_comba4(BN_ULONG *r, const BN_ULONG *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_asm.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 968
    functionName: bn_sqr_comba8
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - bn_sqr_normal
    linkageType: ''
    returnType: void
    signature: void bn_sqr_comba8(BN_ULONG *r, const BN_ULONG *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_asm.c:972,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:973,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:974,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 976
    functionName: bn_mul_comba4
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - bn_mul_add_words
    - bn_mul_words
    linkageType: ''
    returnType: void
    signature: void bn_mul_comba4(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_asm.c:980,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:981,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:982,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:983,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:984,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:985,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:986,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 988
    functionName: bn_mul_comba8
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 0
    functionsReached:
    - bn_mul_add_words
    - bn_mul_words
    linkageType: ''
    returnType: void
    signature: void bn_mul_comba8(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/openssl/crypto/bn/bn_asm.c:1000,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1006,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1011,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_asm.c:1020,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0p
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1032
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 1
    functionsReached:
    - bn_mul_add_words
    - bn_sub_words
    - alloca
    linkageType: ''
    returnType: int
    signature: "int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,\n
      \               const BN_ULONG *np, const BN_ULONG *n0p, int num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1038
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_asm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,\n
      \               const BN_ULONG *np, const BN_ULONG *n0, int num)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mpi.c:21,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/bn/bn_mpi.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - a
    - d
    argTypes:
    - BIGNUM*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: BN_bn2mpi
    functionSourceFile: /src/openssl/crypto/bn/bn_mpi.c
    functionUses: 0
    functionsReached:
    - BN_bn2bin
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int BN_bn2mpi(const BIGNUM *a, unsigned char *d)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_mpi.c:49,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_mpi.c:55,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_mpi.c:60,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_mpi.c:75,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_mpi.c:77,1
    - Dst: BN_clear_bit
      Src: /src/openssl/crypto/bn/bn_mpi.c:82,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mpi.c:82,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mpi.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - d
    - n
    - ain
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 86
    functionName: BN_mpi2bn
    functionSourceFile: /src/openssl/crypto/bn/bn_mpi.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_bin2bn
    - BN_clear_bit
    - bn_check_top
    - BN_new
    - BN_free
    - BN_num_bits
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_mpi2bn(const unsigned char *d, int n, BIGNUM *ain)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/bn/bn_s390x.c:33,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/bn/bn_s390x.c:34,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:43,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:44,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:45,1
    - Dst: ioctl
      Src: /src/openssl/crypto/bn/bn_s390x.c:47,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_s390x.c:48,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/bn/bn_s390x.c:67,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - r
    - a
    - p
    - m
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 69
    functionName: s390x_mod_exp_hw
    functionSourceFile: /src/openssl/crypto/bn/bn_s390x.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - OPENSSL_clear_free
    - OPENSSL_calloc
    - ioctl
    - BN_bin2bn
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: "int s390x_mod_exp_hw(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,\n
      \                           const BIGNUM *m)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s390x_mod_exp_hw
      Src: /src/openssl/crypto/bn/bn_s390x.c:74,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/bn/bn_s390x.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    - m_ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: s390x_mod_exp
    functionSourceFile: /src/openssl/crypto/bn/bn_s390x.c
    functionUses: 0
    functionsReached:
    - s390x_mod_exp_hw
    - BN_mod_exp_mont
    linkageType: ''
    returnType: int
    signature: "int s390x_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,\n                  const
      BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_s390x.c:93,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/bn/bn_s390x.c:95,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/bn/bn_s390x.c:96,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bn/bn_s390x.c:98,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:117,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:118,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:119,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:120,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:121,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/bn/bn_s390x.c:122,1
    - Dst: ioctl
      Src: /src/openssl/crypto/bn/bn_s390x.c:124,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_s390x.c:125,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/bn/bn_s390x.c:144,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 7
    argNames:
    - r
    - i
    - p
    - q
    - dmp
    - dmq
    - iqmp
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 146
    functionName: s390x_crt
    functionSourceFile: /src/openssl/crypto/bn/bn_s390x.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BN_num_bytes
    - OPENSSL_clear_free
    - ioctl
    - BN_bin2bn
    - BN_ucmp
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: "int s390x_crt(BIGNUM *r, const BIGNUM *i, const BIGNUM *p, const BIGNUM
      *q,\n              const BIGNUM *dmp, const BIGNUM *dmq, const BIGNUM *iqmp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/bn/bn_s390x.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    - m_ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: s390x_mod_exp
    functionSourceFile: /src/openssl/crypto/bn/bn_s390x.c
    functionUses: 0
    functionsReached:
    - BN_mod_exp_mont
    linkageType: ''
    returnType: int
    signature: "int s390x_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,\n                  const
      BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - r
    - i
    - p
    - q
    - dmp
    - dmq
    - iqmp
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: s390x_crt
    functionSourceFile: /src/openssl/crypto/bn/bn_s390x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s390x_crt(BIGNUM *r, const BIGNUM *i, const BIGNUM *p, const BIGNUM
      *q,\n              const BIGNUM *dmp, const BIGNUM *dmq, const BIGNUM *iqmp)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp2.c:29,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp2.c:30,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp2.c:31,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp2.c:32,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp2.c:33,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_exp2.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_exp2.c:36,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp2.c:39,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_exp2.c:40,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_exp2.c:42,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_exp2.c:48,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp2.c:49,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp2.c:50,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp2.c:51,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp2.c:52,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_exp2.c:59,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:61,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp2.c:65,1
    - Dst: BN_window_bits_for_exponent_size
      Src: /src/openssl/crypto/bn/bn_exp2.c:66,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_exp2.c:71,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_exp2.c:72,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_exp2.c:77,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp2.c:78,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:83,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:86,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp2.c:91,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:92,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_exp2.c:100,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_exp2.c:101,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_exp2.c:106,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_exp2.c:107,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:111,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:114,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_exp2.c:119,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:120,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:134,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_exp2.c:134,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:138,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:143,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:148,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:154,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:160,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:165,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_exp2.c:171,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:178,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:186,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/bn/bn_exp2.c:192,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_exp2.c:197,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_exp2.c:198,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_exp2.c:199,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 156
    argCount: 8
    argNames:
    - rr
    - a1
    - p1
    - a2
    - p2
    - m
    - ctx
    - in_mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 201
    functionName: BN_mod_exp2_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_exp2.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_from_montgomery
    - BN_is_zero
    - BN_CTX_end
    - BN_to_montgomery
    - BN_MONT_CTX_set
    - BN_is_odd
    - bn_check_top
    - BN_ucmp
    - BN_MONT_CTX_free
    - BN_mod
    - BN_mod_mul_montgomery
    - BN_one
    - BN_num_bits
    - BN_MONT_CTX_new
    - BN_CTX_get
    - BN_window_bits_for_exponent_size
    - BN_CTX_start
    - BN_zero
    - BN_value_one
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int BN_mod_exp2_mont(BIGNUM *rr, const BIGNUM *a1, const BIGNUM *p1,\n
      \                    const BIGNUM *a2, const BIGNUM *p2, const BIGNUM *m,\n
      \                    BN_CTX *ctx, BN_MONT_CTX *in_mont)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_mont_vis3
      Src: /src/openssl/crypto/bn/bn_sparc.c:57,1
    - Dst: bn_mul_mont_vis3
      Src: /src/openssl/crypto/bn/bn_sparc.c:60,1
    - Dst: bn_mul_mont_fpu
      Src: /src/openssl/crypto/bn/bn_sparc.c:74,1
    - Dst: bn_mul_mont_int
      Src: /src/openssl/crypto/bn/bn_sparc.c:76,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - rp
    - ap
    - bp
    - np
    - n0
    - num
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 77
    functionName: bn_mul_mont
    functionSourceFile: /src/openssl/crypto/bn/bn_sparc.c
    functionUses: 1
    functionsReached:
    - bn_mul_mont_vis3
    - bn_mul_mont_int
    - bn_mul_mont_fpu
    linkageType: ''
    returnType: int
    signature: "int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,\n
      \               const BN_ULONG *np, const BN_ULONG *n0, int num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_sqr_fixed_top
      Src: /src/openssl/crypto/bn/bn_sqr.c:19,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_sqr.c:21,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_sqr.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - r
    - a
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: BN_sqr
    functionSourceFile: /src/openssl/crypto/bn/bn_sqr.c
    functionUses: 4
    functionsReached:
    - bn_sqr_fixed_top
    - bn_check_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_sqr.c:33,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_sqr.c:42,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_sqr.c:43,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_sqr.c:44,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_sqr.c:49,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:55,1
    - Dst: bn_sqr_comba4
      Src: /src/openssl/crypto/bn/bn_sqr.c:57,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:62,1
    - Dst: bn_sqr_comba8
      Src: /src/openssl/crypto/bn/bn_sqr.c:64,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:70,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_sqr.c:74,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_sqr.c:78,1
    - Dst: bn_sqr_recursive
      Src: /src/openssl/crypto/bn/bn_sqr.c:80,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_sqr.c:82,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:84,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_sqr.c:88,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:90,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_sqr.c:97,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_sqr.c:102,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_sqr.c:103,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_sqr.c:104,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 3
    argNames:
    - r
    - a
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 106
    functionName: bn_sqr_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_sqr.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - bn_sqr_normal
    - bn_wexpand
    - bn_sqr_comba8
    - bn_sqr_recursive
    - bn_check_top
    - bn_sqr_comba4
    - BN_copy
    - BN_num_bits_word
    linkageType: ''
    returnType: int
    signature: int bn_sqr_fixed_top(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:124,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:131,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:135,1
    - Dst: bn_sqr_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:139,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - r
    - a
    - n
    - tmp
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 142
    functionName: bn_sqr_normal
    functionSourceFile: /src/openssl/crypto/bn/bn_sqr.c
    functionUses: 3
    functionsReached:
    - bn_mul_add_words
    - bn_sqr_words
    - bn_mul_words
    - bn_add_words
    linkageType: ''
    returnType: void
    signature: void bn_sqr_normal(BN_ULONG *r, const BN_ULONG *a, int n, BN_ULONG
      *tmp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:164,1
    - Dst: bn_sqr_comba4
      Src: /src/openssl/crypto/bn/bn_sqr.c:166,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:171,1
    - Dst: bn_sqr_comba8
      Src: /src/openssl/crypto/bn/bn_sqr.c:173,1
    - Dst: bn_sqr_normal
      Src: /src/openssl/crypto/bn/bn_sqr.c:178,1
    - Dst: bn_cmp_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:182,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:185,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:187,1
    - Dst: bn_sqr_recursive
      Src: /src/openssl/crypto/bn/bn_sqr.c:195,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_sqr.c:197,1
    - Dst: bn_sqr_recursive
      Src: /src/openssl/crypto/bn/bn_sqr.c:198,1
    - Dst: bn_sqr_recursive
      Src: /src/openssl/crypto/bn/bn_sqr.c:199,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:207,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:210,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_sqr.c:218,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 4
    argNames:
    - r
    - a
    - n2
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 238
    functionName: bn_sqr_recursive
    functionSourceFile: /src/openssl/crypto/bn/bn_sqr.c
    functionUses: 2
    functionsReached:
    - memset
    - bn_sub_words
    - bn_sqr_normal
    - bn_add_words
    - bn_cmp_words
    - bn_sqr_comba8
    - bn_sqr_recursive
    - bn_sqr_comba4
    linkageType: ''
    returnType: void
    signature: void bn_sqr_recursive(BN_ULONG *r, const BN_ULONG *a, int n2, BN_ULONG
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: square
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: square(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: BN_DEF
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_DEF(lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: BN_DEF
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_DEF(lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ossl_bn_get0_small_factors
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *ossl_bn_get0_small_factors(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: calc_trial_divisions
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int calc_trial_divisions(int bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: bn_mr_min_checks
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bn_mr_min_checks(int bits)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB*::cb::cb_1
      Src: /src/openssl/crypto/bn/bn_prime.c:111,1
    - Dst: BN_GENCB*::cb::cb_2
      Src: /src/openssl/crypto/bn/bn_prime.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - cb
    - a
    - b
    argTypes:
    - BN_GENCB*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: BN_GENCB_call
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 7
    functionsReached:
    - BN_GENCB*::cb::cb_1
    - BN_GENCB*::cb::cb_2
    linkageType: ''
    returnType: int
    signature: int BN_GENCB_call(BN_GENCB *cb, int a, int b)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bn_mr_min_checks
      Src: /src/openssl/crypto/bn/bn_prime.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_prime.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_prime.c:143,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/bn/bn_prime.c:147,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_prime.c:151,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:152,1
    - Dst: probable_prime
      Src: /src/openssl/crypto/bn/bn_prime.c:158,1
    - Dst: probable_prime_dh
      Src: /src/openssl/crypto/bn/bn_prime.c:161,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_prime.c:165,1
    - Dst: bn_is_prime_int
      Src: /src/openssl/crypto/bn/bn_prime.c:170,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_prime.c:180,1
    - Dst: bn_is_prime_int
      Src: /src/openssl/crypto/bn/bn_prime.c:184,1
    - Dst: bn_is_prime_int
      Src: /src/openssl/crypto/bn/bn_prime.c:190,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_prime.c:196,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_prime.c:204,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_prime.c:205,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_prime.c:206,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 70
    argCount: 7
    argNames:
    - ret
    - bits
    - safe
    - add
    - rem
    - cb
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - BIGNUM*
    - BIGNUM*
    - BN_GENCB*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 208
    functionName: BN_generate_prime_ex2
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - OPENSSL_calloc
    - bn_is_prime_int
    - BN_rshift1
    - bn_mr_min_checks
    - BN_GENCB_call
    - probable_prime
    - OPENSSL_free
    - bn_check_top
    - probable_prime_dh
    linkageType: ''
    returnType: int
    signature: "int BN_generate_prime_ex2(BIGNUM *ret, int bits, int safe,\n                          const
      BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb,\n                          BN_CTX
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/bn/bn_prime.c:214,1
    - Dst: BN_generate_prime_ex2
      Src: /src/openssl/crypto/bn/bn_prime.c:220,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/bn/bn_prime.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - ret
    - bits
    - safe
    - add
    - rem
    - cb
    argTypes:
    - BIGNUM*
    - int
    - int
    - BIGNUM*
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: BN_generate_prime_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 1
    functionsReached:
    - BN_CTX_free
    - BN_CTX_new
    - BN_generate_prime_ex2
    linkageType: ''
    returnType: int
    signature: "int BN_generate_prime_ex(BIGNUM *ret, int bits, int safe,\n                         const
      BIGNUM *add, const BIGNUM *rem, BN_GENCB *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_check_prime
      Src: /src/openssl/crypto/bn/bn_prime.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - checks
    - ctx_passed
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: BN_is_prime_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached:
    - ossl_bn_check_prime
    linkageType: ''
    returnType: int
    signature: "int BN_is_prime_ex(const BIGNUM *a, int checks, BN_CTX *ctx_passed,\n
      \                  BN_GENCB *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_check_prime
      Src: /src/openssl/crypto/bn/bn_prime.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - w
    - checks
    - ctx
    - do_trial_division
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: BN_is_prime_fasttest_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 0
    functionsReached:
    - ossl_bn_check_prime
    linkageType: ''
    returnType: int
    signature: "int BN_is_prime_fasttest_ex(const BIGNUM *w, int checks, BN_CTX *ctx,\n
      \                           int do_trial_division, BN_GENCB *cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_mr_min_checks
      Src: /src/openssl/crypto/bn/bn_prime.c:245,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_prime.c:245,1
    - Dst: bn_is_prime_int
      Src: /src/openssl/crypto/bn/bn_prime.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - w
    - checks
    - ctx
    - do_trial_division
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: ossl_bn_check_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 4
    functionsReached:
    - bn_is_prime_int
    - BN_num_bits
    - bn_mr_min_checks
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_check_prime(const BIGNUM *w, int checks, BN_CTX *ctx,\n
      \                       int do_trial_division, BN_GENCB *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_is_prime_int
      Src: /src/openssl/crypto/bn/bn_prime.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - w
    - checks
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: ossl_bn_check_generated_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 2
    functionsReached:
    - bn_is_prime_int
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_check_generated_prime(const BIGNUM *w, int checks, BN_CTX
      *ctx,\n                                  BN_GENCB *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bn_check_prime
      Src: /src/openssl/crypto/bn/bn_prime.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 4
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: BN_check_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 4
    functionsReached:
    - ossl_bn_check_prime
    linkageType: ''
    returnType: int
    signature: int BN_check_prime(const BIGNUM *p, BN_CTX *ctx, BN_GENCB *cb)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_prime.c:288,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/bn/bn_prime.c:288,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_prime.c:292,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/bn/bn_prime.c:294,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/bn/bn_prime.c:298,1
    - Dst: calc_trial_divisions
      Src: /src/openssl/crypto/bn/bn_prime.c:303,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_prime.c:303,1
    - Dst: BN_mod_word
      Src: /src/openssl/crypto/bn/bn_prime.c:306,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/bn/bn_prime.c:310,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_prime.c:312,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/bn/bn_prime.c:316,1
    - Dst: ossl_bn_miller_rabin_is_prime
      Src: /src/openssl/crypto/bn/bn_prime.c:320,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 5
    argNames:
    - w
    - checks
    - ctx
    - do_trial_division
    - cb
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 275
    functionDepth: 5
    functionLinenumber: 275
    functionLinenumberEnd: 330
    functionName: bn_is_prime_int
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 3
    functionsReached:
    - BN_cmp
    - BN_CTX_new
    - BN_is_word
    - BN_value_one
    - BN_is_odd
    - ossl_bn_miller_rabin_is_prime
    - BN_mod_word
    - BN_GENCB_call
    - calc_trial_divisions
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int bn_is_prime_int(const BIGNUM *w, int checks, BN_CTX *ctx,\n                           int
      do_trial_division, BN_GENCB *cb)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_prime.c:355,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_prime.c:358,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:359,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:360,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:361,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:362,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:363,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:364,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:365,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_prime.c:369,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_prime.c:370,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_prime.c:372,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_prime.c:373,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_prime.c:377,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/bn/bn_prime.c:377,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_prime.c:382,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_prime.c:385,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_prime.c:389,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_prime.c:390,1
    - Dst: bn_mr_min_checks
      Src: /src/openssl/crypto/bn/bn_prime.c:394,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_prime.c:394,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/bn/bn_prime.c:399,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_prime.c:400,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/bn/bn_prime.c:405,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_prime.c:408,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/bn/bn_prime.c:415,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_prime.c:418,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_prime.c:418,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_prime.c:423,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_prime.c:423,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_prime.c:426,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_prime.c:429,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_prime.c:434,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_prime.c:434,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_prime.c:437,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_prime.c:440,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_prime.c:445,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/bn/bn_prime.c:445,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_prime.c:448,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_prime.c:459,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_prime.c:466,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_prime.c:467,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_prime.c:468,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_prime.c:469,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_prime.c:470,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_prime.c:471,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/bn/bn_prime.c:472,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_prime.c:473,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_prime.c:474,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 106
    argCount: 6
    argNames:
    - w
    - iterations
    - ctx
    - cb
    - enhanced
    - status
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    - BN_GENCB*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 347
    functionDepth: 8
    functionLinenumber: 347
    functionLinenumberEnd: 476
    functionName: ossl_bn_miller_rabin_is_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 1
    functionsReached:
    - BN_is_one
    - BN_is_negative
    - BN_is_zero
    - BN_sub_word
    - BN_rshift
    - BN_copy
    - BN_mod_mul
    - BN_CTX_end
    - BN_MONT_CTX_set
    - BN_cmp
    - BN_mod_exp_mont
    - BN_is_odd
    - BN_clear
    - BN_MONT_CTX_free
    - BN_priv_rand_range_ex
    - BN_GENCB_call
    - BN_gcd
    - BN_num_bits
    - BN_MONT_CTX_new
    - BN_CTX_get
    - BN_CTX_start
    - bn_mr_min_checks
    - BN_add_word
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_miller_rabin_is_prime(const BIGNUM *w, int iterations,
      BN_CTX *ctx,\n                                  BN_GENCB *cb, int enhanced,
      int *status)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calc_trial_divisions
      Src: /src/openssl/crypto/bn/bn_prime.c:492,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_prime.c:496,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_prime.c:499,1
    - Dst: BN_mod_word
      Src: /src/openssl/crypto/bn/bn_prime.c:503,1
    - Dst: square
      Src: /src/openssl/crypto/bn/bn_prime.c:519,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/bn/bn_prime.c:519,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_prime.c:529,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_prime.c:531,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_prime.c:533,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 5
    argNames:
    - rnd
    - bits
    - safe
    - mods
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - prime_t*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 487
    functionDepth: 7
    functionLinenumber: 487
    functionLinenumberEnd: 535
    functionName: probable_prime
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 1
    functionsReached:
    - square
    - BN_num_bits
    - BN_mod_word
    - BN_get_word
    - bn_check_top
    - BN_set_bit
    - calc_trial_divisions
    - BN_priv_rand_ex
    - BN_add_word
    linkageType: ''
    returnType: int
    signature: "int probable_prime(BIGNUM *rnd, int bits, int safe, prime_t *mods,\n
      \                         BN_CTX *ctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: calc_trial_divisions
      Src: /src/openssl/crypto/bn/bn_prime.c:552,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_prime.c:555,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_prime.c:556,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/bn/bn_prime.c:559,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/bn/bn_prime.c:560,1
    - Dst: BN_rand_ex
      Src: /src/openssl/crypto/bn/bn_prime.c:563,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_prime.c:568,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_prime.c:570,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_prime.c:573,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_prime.c:576,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_prime.c:580,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/bn/bn_prime.c:581,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_prime.c:582,1
    - Dst: BN_mod_word
      Src: /src/openssl/crypto/bn/bn_prime.c:588,1
    - Dst: square
      Src: /src/openssl/crypto/bn/bn_prime.c:598,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/bn/bn_prime.c:598,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/bn/bn_prime.c:603,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_prime.c:609,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_prime.c:614,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_prime.c:615,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 62
    argCount: 7
    argNames:
    - rnd
    - bits
    - safe
    - mods
    - add
    - rem
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - int
    - prime_t*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 545
    functionDepth: 7
    functionLinenumber: 545
    functionLinenumberEnd: 617
    functionName: probable_prime_dh
    functionSourceFile: /src/openssl/crypto/bn/bn_prime.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_mod
    - BN_num_bits
    - square
    - BN_add
    - BN_mod_word
    - BN_get_word
    - BN_rand_ex
    - bn_check_top
    - BN_sub
    - calc_trial_divisions
    - BN_add_word
    linkageType: ''
    returnType: int
    signature: "int probable_prime_dh(BIGNUM *rnd, int bits, int safe, prime_t *mods,\n
      \                            const BIGNUM *add, const BIGNUM *rem,\n                             BN_CTX
      *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_x931p.c:27,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_x931p.c:29,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_x931p.c:29,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_x931p.c:33,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/bn/bn_x931p.c:35,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_x931p.c:40,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_x931p.c:43,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - pi
    - Xpi
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: bn_x931_derive_pi
    functionSourceFile: /src/openssl/crypto/bn/bn_x931p.c
    functionUses: 0
    functionsReached:
    - BN_is_odd
    - BN_GENCB_call
    - BN_add_word
    - BN_copy
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: "int bn_x931_derive_pi(BIGNUM *pi, const BIGNUM *Xpi, BN_CTX *ctx,\n
      \                            BN_GENCB *cb)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_x931p.c:63,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_x931p.c:66,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_x931p.c:68,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_x931p.c:71,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_x931p.c:73,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_x931p.c:75,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_x931p.c:77,1
    - Dst: bn_x931_derive_pi
      Src: /src/openssl/crypto/bn/bn_x931p.c:82,1
    - Dst: bn_x931_derive_pi
      Src: /src/openssl/crypto/bn/bn_x931p.c:85,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_x931p.c:88,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_x931p.c:93,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_x931p.c:96,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_x931p.c:99,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_x931p.c:102,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_x931p.c:105,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_x931p.c:108,1
    - Dst: BN_mod_sub
      Src: /src/openssl/crypto/bn/bn_x931p.c:113,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_x931p.c:116,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_x931p.c:123,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_x931p.c:124,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_x931p.c:126,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/bn/bn_x931p.c:128,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_x931p.c:130,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/bn/bn_x931p.c:136,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_x931p.c:142,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/bn/bn_x931p.c:146,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_x931p.c:152,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 75
    argCount: 9
    argNames:
    - p
    - p1
    - p2
    - Xp
    - Xp1
    - Xp2
    - e
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 53
    functionDepth: 6
    functionLinenumber: 53
    functionLinenumberEnd: 155
    functionName: BN_X931_derive_prime_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_x931p.c
    functionUses: 0
    functionsReached:
    - bn_x931_derive_pi
    - BN_mul
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_one
    - BN_mod_inverse
    - BN_is_odd
    - BN_add
    - BN_GENCB_call
    - BN_mod_sub
    - BN_sub_word
    - BN_gcd
    - BN_sub
    - BN_copy
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: "int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2,\n                            const
      BIGNUM *Xp, const BIGNUM *Xp1,\n                            const BIGNUM *Xp2,
      const BIGNUM *e, BN_CTX *ctx,\n                            BN_GENCB *cb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_x931p.c:178,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_x931p.c:182,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_x931p.c:183,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_x931p.c:188,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/bn/bn_x931p.c:193,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_x931p.c:195,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_x931p.c:199,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_x931p.c:207,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - Xp
    - Xq
    - nbits
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 162
    functionDepth: 7
    functionLinenumber: 162
    functionLinenumberEnd: 209
    functionName: BN_X931_generate_Xpq
    functionSourceFile: /src/openssl/crypto/bn/bn_x931p.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_sub
    - BN_priv_rand_ex
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX
      *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_x931p.c:226,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_x931p.c:228,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_x931p.c:230,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_x931p.c:234,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_x931p.c:236,1
    - Dst: BN_X931_derive_prime_ex
      Src: /src/openssl/crypto/bn/bn_x931p.c:238,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_x931p.c:244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 9
    argNames:
    - p
    - p1
    - p2
    - Xp1
    - Xp2
    - Xp
    - e
    - ctx
    - cb
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 219
    functionDepth: 7
    functionLinenumber: 219
    functionLinenumberEnd: 248
    functionName: BN_X931_generate_prime_ex
    functionSourceFile: /src/openssl/crypto/bn/bn_x931p.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_X931_derive_prime_ex
    - BN_priv_rand_ex
    linkageType: ''
    returnType: int
    signature: "int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2,\n
      \                             BIGNUM *Xp1, BIGNUM *Xp2,\n                              const
      BIGNUM *Xp,\n                              const BIGNUM *e, BN_CTX *ctx, BN_GENCB
      *cb)"
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/bn/bn_sqrt.c:28,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_sqrt.c:28,1
    - Dst: BN_abs_is_word
      Src: /src/openssl/crypto/bn/bn_sqrt.c:29,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_sqrt.c:31,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_sqrt.c:34,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_sqrt.c:34,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_sqrt.c:36,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_sqrt.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:43,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:47,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:47,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_sqrt.c:49,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_sqrt.c:52,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:52,1
    - Dst: BN_free
      Src: /src/openssl/crypto/bn/bn_sqrt.c:54,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_sqrt.c:57,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_sqrt.c:61,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_sqrt.c:63,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_sqrt.c:64,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_sqrt.c:65,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_sqrt.c:66,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_sqrt.c:67,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_sqrt.c:68,1
    - Dst: BN_new
      Src: /src/openssl/crypto/bn/bn_sqrt.c:73,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_sqrt.c:78,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/bn/bn_sqrt.c:83,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_sqrt.c:96,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/bn/bn_sqrt.c:99,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:101,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/bn/bn_sqrt.c:137,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_sqrt.c:141,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:144,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:148,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:152,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_sqrt.c:154,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:158,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:160,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_sqrt.c:163,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_sqrt.c:173,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_sqrt.c:183,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/bn/bn_sqrt.c:186,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_sqrt.c:186,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:188,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:193,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_sqrt.c:194,1
    - Dst: BN_kronecker
      Src: /src/openssl/crypto/bn/bn_sqrt.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:215,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_sqrt.c:220,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:227,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:230,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/bn/bn_sqrt.c:254,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:258,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/bn/bn_sqrt.c:259,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:261,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:263,1
    - Dst: BN_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:266,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:269,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:271,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_sqrt.c:273,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:280,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:282,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:286,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:300,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_sqrt.c:301,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:310,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:314,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_sqrt.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:322,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_sqrt.c:327,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:330,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:333,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:335,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/bn/bn_sqrt.c:337,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/bn/bn_sqrt.c:349,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_sqrt.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bn/bn_sqrt.c:353,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/bn/bn_sqrt.c:361,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_sqrt.c:365,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_sqrt.c:366,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 256
    argCount: 4
    argNames:
    - in
    - a
    - p
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 13
    functionDepth: 7
    functionLinenumber: 13
    functionLinenumberEnd: 368
    functionName: BN_mod_sqrt
    functionSourceFile: /src/openssl/crypto/bn/bn_sqrt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_is_one
    - BN_nnmod
    - BN_is_zero
    - BN_mod_sqr
    - BN_sub_word
    - BN_rshift
    - BN_copy
    - BN_priv_rand_ex
    - BN_mod_mul
    - BN_CTX_end
    - BN_abs_is_word
    - BN_kronecker
    - BN_set_word
    - BN_mod_lshift1_quick
    - BN_cmp
    - BN_is_odd
    - bn_check_top
    - BN_ucmp
    - BN_new
    - BN_free
    - BN_clear_free
    - BN_one
    - BN_mod_exp
    - BN_num_bits
    - BN_CTX_get
    - BN_CTX_start
    - BN_rshift1
    - BN_zero
    - BN_add_word
    - BN_is_bit_set
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_mod_sqrt(BIGNUM *in, const BIGNUM *a, const BIGNUM *p, BN_CTX
      *ctx)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_mul.c:33,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_mul.c:34,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 107
    argCount: 5
    argNames:
    - r
    - a
    - b
    - cl
    - dl
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    - int
    assertStmts:
    - condition: (cl >= 0)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/openssl/crypto/bn/bn_mul.c
    constantsTouched: []
    func_position:
      end: 154
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 154
    functionName: bn_sub_part_words
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 0
    functionsReached:
    - bn_sub_words
    - assert
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_sub_part_words(BN_ULONG *r,\n                           const
      BN_ULONG *a, const BN_ULONG *b,\n                           int cl, int dl)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:186,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:195,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:201,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:203,1
    - Dst: bn_cmp_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:208,1
    - Dst: bn_cmp_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:209,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:213,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:214,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:220,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:221,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:230,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:231,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:238,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:239,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:247,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:249,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:251,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:252,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:257,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:259,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:261,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:262,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:268,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:270,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:271,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:272,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:281,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_mul.c:284,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:287,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:296,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 7
    argNames:
    - r
    - a
    - b
    - n2
    - dna
    - dnb
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    - int
    - int
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 316
    functionName: bn_mul_recursive
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - memset
    - bn_sub_words
    - bn_add_words
    - bn_sub_part_words
    - bn_mul_recursive
    - bn_mul_comba8
    - bn_cmp_part_words
    - bn_mul_normal
    - bn_mul_comba4
    linkageType: ''
    returnType: void
    signature: "void bn_mul_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2,\n
      \                     int dna, int dnb, BN_ULONG *t)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:330,1
    - Dst: bn_cmp_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:335,1
    - Dst: bn_cmp_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:336,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:340,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:341,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:345,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:346,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:353,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:354,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:359,1
    - Dst: bn_sub_part_words
      Src: /src/openssl/crypto/bn/bn_mul.c:360,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:369,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:370,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:371,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:372,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:376,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:377,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:378,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:379,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:382,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:383,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:393,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:395,1
    - Dst: bn_mul_part_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:397,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:399,1
    - Dst: memset
      Src: /src/openssl/crypto/bn/bn_mul.c:403,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:406,1
    - Dst: bn_mul_part_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:415,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:420,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:436,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_mul.c:439,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:442,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:451,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 99
    argCount: 7
    argNames:
    - r
    - a
    - b
    - n
    - tna
    - tnb
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    - int
    - int
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 471
    functionName: bn_mul_part_recursive
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - memset
    - bn_sub_words
    - bn_add_words
    - bn_sub_part_words
    - bn_mul_recursive
    - bn_mul_comba8
    - bn_mul_part_recursive
    - bn_cmp_part_words
    - bn_mul_normal
    - bn_mul_comba4
    linkageType: ''
    returnType: void
    signature: "void bn_mul_part_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b,
      int n,\n                           int tna, int tnb, BN_ULONG *t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:482,1
    - Dst: bn_mul_low_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:484,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:485,1
    - Dst: bn_mul_low_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:486,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:487,1
    - Dst: bn_mul_low_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:489,1
    - Dst: bn_mul_low_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:490,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:491,1
    - Dst: bn_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - r
    - a
    - b
    - n2
    - t
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 477
    functionDepth: 4
    functionLinenumber: 477
    functionLinenumberEnd: 494
    functionName: bn_mul_low_recursive
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - bn_mul_low_recursive
    - bn_mul_recursive
    - bn_mul_low_normal
    - bn_add_words
    linkageType: ''
    returnType: void
    signature: "void bn_mul_low_recursive(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int
      n2,\n                          BN_ULONG *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_fixed_top
      Src: /src/openssl/crypto/bn/bn_mul.c:499,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_mul.c:501,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: BN_mul
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 8
    functionsReached:
    - bn_mul_fixed_top
    - bn_check_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:520,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:521,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:522,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mul.c:528,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mul.c:533,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mul.c:535,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:547,1
    - Dst: bn_mul_comba4
      Src: /src/openssl/crypto/bn/bn_mul.c:550,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:555,1
    - Dst: bn_mul_comba8
      Src: /src/openssl/crypto/bn/bn_mul.c:558,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_mul.c:571,1
    - Dst: BN_num_bits_word
      Src: /src/openssl/crypto/bn/bn_mul.c:574,1
    - Dst: assert
      Src: /src/openssl/crypto/bn/bn_mul.c:577,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mul.c:579,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:583,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:585,1
    - Dst: bn_mul_part_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:587,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:591,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:593,1
    - Dst: bn_mul_recursive
      Src: /src/openssl/crypto/bn/bn_mul.c:595,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mul.c:602,1
    - Dst: bn_mul_normal
      Src: /src/openssl/crypto/bn/bn_mul.c:605,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mul.c:612,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mul.c:617,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mul.c:618,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 95
    argCount: 4
    argNames:
    - r
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts:
    - condition: (j <= al || j <= bl)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/openssl/crypto/bn/bn_mul.c
    constantsTouched: []
    func_position:
      end: 620
      start: 507
    functionDepth: 5
    functionLinenumber: 507
    functionLinenumberEnd: 620
    functionName: bn_mul_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - bn_mul_recursive
    - BN_zero
    - bn_wexpand
    - bn_mul_comba8
    - bn_mul_part_recursive
    - bn_check_top
    - bn_mul_normal
    - BN_copy
    - bn_mul_comba4
    - BN_num_bits_word
    - assert
    linkageType: ''
    returnType: int
    signature: int bn_mul_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX
      *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_mul.c:640,1
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_mul.c:643,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:648,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:651,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:654,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - r
    - a
    - na
    - b
    - nb
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 662
    functionName: bn_mul_normal
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 3
    functionsReached:
    - bn_mul_add_words
    - bn_mul_words
    linkageType: ''
    returnType: void
    signature: void bn_mul_normal(BN_ULONG *r, BN_ULONG *a, int na, BN_ULONG *b, int
      nb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_words
      Src: /src/openssl/crypto/bn/bn_mul.c:666,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:671,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:674,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:677,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mul.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 684
    functionName: bn_mul_low_normal
    functionSourceFile: /src/openssl/crypto/bn/bn_mul.c
    functionUses: 1
    functionsReached:
    - bn_mul_add_words
    - bn_mul_words
    linkageType: ''
    returnType: void
    signature: void bn_mul_low_normal(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: COPY_BN
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_BN(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_const.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: BN_get_rfc2409_prime_768
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_const.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: BN_get_rfc2409_prime_1024
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/openssl/crypto/bn/bn_const.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: BN_get_rfc3526_prime_1536
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/openssl/crypto/bn/bn_const.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: BN_get_rfc3526_prime_2048
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/openssl/crypto/bn/bn_const.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: BN_get_rfc3526_prime_3072
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/openssl/crypto/bn/bn_const.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: BN_get_rfc3526_prime_4096
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/openssl/crypto/bn/bn_const.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: BN_get_rfc3526_prime_6144
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BN
      Src: /src/openssl/crypto/bn/bn_const.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: BN_get_rfc3526_prime_8192
    functionSourceFile: /src/openssl/crypto/bn/bn_const.c
    functionUses: 0
    functionsReached:
    - COPY_BN
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_mont.c:29,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_mont.c:31,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mont.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - r
    - a
    - b
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: BN_mod_mul_montgomery
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 6
    functionsReached:
    - bn_check_top
    - bn_mul_mont_fixed_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: "int BN_mod_mul_montgomery(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *b,\n                          BN_MONT_CTX *mont, BN_CTX *ctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mont.c:46,1
    - Dst: bn_mul_mont
      Src: /src/openssl/crypto/bn/bn_mont.c:48,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mont.c:60,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mont.c:61,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mont.c:65,1
    - Dst: bn_sqr_fixed_top
      Src: /src/openssl/crypto/bn/bn_mont.c:67,1
    - Dst: bn_mul_fixed_top
      Src: /src/openssl/crypto/bn/bn_mont.c:70,1
    - Dst: bn_from_montgomery_word
      Src: /src/openssl/crypto/bn/bn_mont.c:75,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/bn/bn_mont.c:78,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mont.c:83,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 5
    argNames:
    - r
    - a
    - b
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 85
    functionName: bn_mul_mont_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 5
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - bn_mul_mont
    - bn_from_montgomery_word
    - BN_from_montgomery
    - bn_wexpand
    - bn_mul_fixed_top
    - bn_check_top
    - bn_sqr_fixed_top
    linkageType: ''
    returnType: int
    signature: "int bn_mul_mont_fixed_top(BIGNUM *r, const BIGNUM *a, const BIGNUM
      *b,\n                          BN_MONT_CTX *mont, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mont.c:103,1
    - Dst: bn_mul_add_words
      Src: /src/openssl/crypto/bn/bn_mont.c:126,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/bn/bn_mont.c:133,1
    - Dst: bn_sub_words
      Src: /src/openssl/crypto/bn/bn_mont.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - ret
    - r
    - mont
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 159
    functionName: bn_from_montgomery_word
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 1
    functionsReached:
    - bn_mul_add_words
    - bn_wexpand
    - bn_sub_words
    linkageType: ''
    returnType: int
    signature: int bn_from_montgomery_word(BIGNUM *ret, BIGNUM *r, BN_MONT_CTX *mont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_from_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_mont.c:167,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/bn/bn_mont.c:168,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mont.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ret
    - a
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: BN_from_montgomery
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 4
    functionsReached:
    - bn_from_mont_fixed_top
    - bn_check_top
    - bn_correct_top
    linkageType: ''
    returnType: int
    signature: "int BN_from_montgomery(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX *mont,\n
      \                      BN_CTX *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mont.c:181,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mont.c:182,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:182,1
    - Dst: bn_from_montgomery_word
      Src: /src/openssl/crypto/bn/bn_mont.c:183,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mont.c:185,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mont.c:189,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mont.c:190,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mont.c:191,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:195,1
    - Dst: BN_mask_bits
      Src: /src/openssl/crypto/bn/bn_mont.c:197,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_mont.c:199,1
    - Dst: BN_mask_bits
      Src: /src/openssl/crypto/bn/bn_mont.c:201,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/bn/bn_mont.c:203,1
    - Dst: BN_add
      Src: /src/openssl/crypto/bn/bn_mont.c:205,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/bn/bn_mont.c:207,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/bn/bn_mont.c:210,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/bn/bn_mont.c:211,1
    - Dst: bn_check_top
      Src: /src/openssl/crypto/bn/bn_mont.c:215,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mont.c:217,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 4
    argNames:
    - ret
    - a
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 220
    functionName: bn_from_mont_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 2
    functionsReached:
    - BN_CTX_get
    - BN_mask_bits
    - BN_mul
    - BN_CTX_end
    - bn_from_montgomery_word
    - BN_CTX_start
    - BN_add
    - BN_ucmp
    - bn_check_top
    - BN_rshift
    - BN_copy
    - BN_usub
    linkageType: ''
    returnType: int
    signature: "int bn_from_mont_fixed_top(BIGNUM *ret, const BIGNUM *a, BN_MONT_CTX
      *mont,\n                           BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/bn/bn_mont.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - a
    - mont
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_MONT_CTX*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 7
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: bn_to_mont_fixed_top
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 3
    functionsReached:
    - bn_mul_mont_fixed_top
    linkageType: ''
    returnType: int
    signature: "int bn_to_mont_fixed_top(BIGNUM *r, const BIGNUM *a, BN_MONT_CTX *mont,\n
      \                        BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bn/bn_mont.c:232,1
    - Dst: BN_MONT_CTX_init
      Src: /src/openssl/crypto/bn/bn_mont.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: BN_MONT_CTX_new
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 8
    functionsReached:
    - BN_MONT_CTX_init
    - OPENSSL_malloc
    linkageType: ''
    returnType: BN_MONT_CTX
    signature: BN_MONT_CTX *BN_MONT_CTX_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_mont.c:243,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_mont.c:244,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_mont.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: BN_MONT_CTX_init
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 1
    functionsReached:
    - bn_init
    linkageType: ''
    returnType: void
    signature: void BN_MONT_CTX_init(BN_MONT_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/bn/bn_mont.c:254,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/bn/bn_mont.c:255,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/bn/bn_mont.c:256,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bn/bn_mont.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mont
    argTypes:
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: BN_MONT_CTX_free
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 8
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void BN_MONT_CTX_free(BN_MONT_CTX *mont)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:266,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/bn/bn_mont.c:269,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/bn/bn_mont.c:270,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:273,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_mont.c:275,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_mont.c:276,1
    - Dst: bn_init
      Src: /src/openssl/crypto/bn/bn_mont.c:284,1
    - Dst: BN_get_flags
      Src: /src/openssl/crypto/bn/bn_mont.c:289,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/bn/bn_mont.c:290,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mont.c:292,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:302,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_mont.c:303,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_mont.c:312,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:313,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_mont.c:314,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_mont.c:316,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:318,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_mont.c:319,1
    - Dst: bn_expand
      Src: /src/openssl/crypto/bn/bn_mont.c:323,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_mont.c:331,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:339,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_mont.c:340,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/bn/bn_mont.c:347,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:348,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_mont.c:349,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_mont.c:351,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:353,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_mont.c:354,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/bn/bn_mont.c:358,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_mont.c:361,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/bn/bn_mont.c:372,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:373,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_mont.c:374,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/bn/bn_mont.c:377,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/bn/bn_mont.c:379,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/bn/bn_mont.c:381,1
    - Dst: BN_div
      Src: /src/openssl/crypto/bn/bn_mont.c:386,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/bn/bn_mont.c:392,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/bn/bn_mont.c:393,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/bn/bn_mont.c:395,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/bn/bn_mont.c:405,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 120
    argCount: 3
    argNames:
    - mont
    - mod
    - ctx
    argTypes:
    - BN_MONT_CTX*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 261
    functionDepth: 6
    functionLinenumber: 261
    functionLinenumberEnd: 407
    functionName: BN_MONT_CTX_set
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 8
    functionsReached:
    - BN_div
    - BN_is_one
    - BN_is_zero
    - BN_sub_word
    - BN_set_bit
    - BN_copy
    - BN_CTX_end
    - BN_set_word
    - bn_init
    - bn_expand
    - BN_set_flags
    - BN_mod
    - BN_mod_inverse
    - BN_num_bits
    - BN_lshift
    - BN_CTX_get
    - BN_CTX_start
    - BN_zero
    - BN_get_flags
    linkageType: ''
    returnType: int
    signature: int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *mod, BN_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:414,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:416,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - BN_MONT_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: BN_MONT_CTX_copy
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 0
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: BN_MONT_CTX
    signature: BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/bn/bn_mont.c:431,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bn/bn_mont.c:434,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/bn/bn_mont.c:446,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/bn/bn_mont.c:449,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_mont.c:450,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bn/bn_mont.c:455,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_mont.c:456,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/bn/bn_mont.c:461,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bn/bn_mont.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pmont
    - lock
    - mod
    - ctx
    argTypes:
    - BN_MONT_CTX**
    - CRYPTO_RWLOCK*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 426
    functionDepth: 7
    functionLinenumber: 426
    functionLinenumberEnd: 467
    functionName: BN_MONT_CTX_set_locked
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_set
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - BN_MONT_CTX_free
    - BN_MONT_CTX_new
    linkageType: ''
    returnType: BN_MONT_CTX
    signature: "BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, CRYPTO_RWLOCK
      *lock,\n                                    const BIGNUM *mod, BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/bn/bn_mont.c:472,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/bn/bn_mont.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - ctx
    - modulus
    - ri
    - rr
    - rrlen
    - nlo
    - nhi
    argTypes:
    - BN_MONT_CTX*
    - BIGNUM*
    - int
    - unsigned char*
    - int
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 469
    functionDepth: 5
    functionLinenumber: 469
    functionLinenumberEnd: 489
    functionName: ossl_bn_mont_ctx_set
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_copy
    linkageType: ''
    returnType: int
    signature: "int ossl_bn_mont_ctx_set(BN_MONT_CTX *ctx, const BIGNUM *modulus,
      int ri, const unsigned char *rr,\n                         int rrlen, uint32_t
      nlo, uint32_t nhi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_mont.c:495,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/bn/bn_mont.c:505,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - BN_MONT_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 509
    functionName: ossl_bn_mont_ctx_eq
    functionSourceFile: /src/openssl/crypto/bn/bn_mont.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_bn_mont_ctx_eq(const BN_MONT_CTX *m1, const BN_MONT_CTX *m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - word
    - ','
    - carry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: mul_add
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add(r,a,word,carry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - word
    - ','
    - carry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: mul
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul(r,a,word,carry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: sqr
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr(r0,r1,a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:119,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:120,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:121,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:122,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:128,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:131,1
    - Dst: mul_add
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: bn_mul_add_words
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 7
    functionsReached:
    - mul_add
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num,\n
      \                         BN_ULONG w)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:149,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:150,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:151,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:152,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:158,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:161,1
    - Dst: mul
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - rp
    - ap
    - num
    - w
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 167
    functionName: bn_mul_words
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 7
    functionsReached:
    - mul
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG
      w)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:175,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:176,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:177,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:178,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:184,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:187,1
    - Dst: sqr
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - r
    - a
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: bn_sqr_words
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 1
    functionsReached:
    - sqr
    linkageType: ''
    returnType: void
    signature: void bn_sqr_words(BN_ULONG *r, const BN_ULONG *a, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - h
    - l
    - d
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: bn_div_words
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 229
    functionName: bn_add_words
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG
      *bp,\n                      int n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rp
    - ap
    - bp
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 256
    functionName: bn_sub_words
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG bn_sub_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG
      *bp,\n                      int n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - r
    - a
    - b
    - n
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 306
    functionName: bn_sub_words
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG bn_sub_words(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: mul_add_c
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: mul_add_c2
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c2(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: sqr_add_c
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c(a,i,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: mul_add_c
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: sqr_add_c
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c(a,i,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: mul_add_c2
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mul_add_c2(a,b,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - i
    - ','
    - j
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: sqr_add_c2
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqr_add_c2(a,i,j,c0,c1,c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:400,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:403,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:404,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:407,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:408,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:409,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:412,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:413,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:414,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:415,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:418,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:419,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:420,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:421,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:422,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:425,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:426,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:427,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:428,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:429,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:430,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:433,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:434,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:435,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:436,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:437,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:438,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:439,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:442,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:443,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:444,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:445,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:446,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:447,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:448,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:449,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:452,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:453,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:454,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:455,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:456,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:457,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:458,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:461,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:462,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:463,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:464,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:465,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:466,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:469,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:470,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:471,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:472,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:473,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:476,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:477,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:478,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:479,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:482,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:483,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:484,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:487,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:488,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 494
    functionName: bn_mul_comba8
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 3
    functionsReached:
    - mul_add_c
    linkageType: ''
    returnType: void
    signature: void bn_mul_comba8(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:503,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:506,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:507,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:510,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:511,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:512,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:515,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:516,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:517,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:518,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:521,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:522,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:523,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:526,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:527,1
    - Dst: mul_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 533
    functionName: bn_mul_comba4
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 3
    functionsReached:
    - mul_add_c
    linkageType: ''
    returnType: void
    signature: void bn_mul_comba4(BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:542,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:545,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:548,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:549,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:552,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:553,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:556,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:557,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:558,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:561,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:562,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:563,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:566,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:567,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:568,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:569,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:572,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:573,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:574,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:575,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:578,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:579,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:580,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:581,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:584,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:585,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:586,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:589,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:590,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:591,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:594,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:595,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:598,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:599,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:602,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 608
    functionName: bn_sqr_comba8
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 2
    functionsReached:
    - sqr_add_c2
    - sqr_add_c
    linkageType: ''
    returnType: void
    signature: void bn_sqr_comba8(BN_ULONG *r, const BN_ULONG *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:617,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:620,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:623,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:624,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:627,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:628,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:631,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:632,1
    - Dst: sqr_add_c2
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:635,1
    - Dst: sqr_add_c
      Src: /src/openssl/crypto/bn/asm/x86_64-gcc.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 641
    functionName: bn_sqr_comba4
    functionSourceFile: /src/openssl/crypto/bn/asm/x86_64-gcc.c
    functionUses: 2
    functionsReached:
    - sqr_add_c2
    - sqr_add_c
    linkageType: ''
    returnType: void
    signature: void bn_sqr_comba4(BN_ULONG *r, const BN_ULONG *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:72,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:75,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:86,1
    - Dst: encoder_process
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - OSSL_ENCODER_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: OSSL_ENCODER_to_bio
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 2
    functionsReached:
    - memset
    - ERR_raise
    - OSSL_ENCODER_CTX_get_num_encoders
    - ERR_raise_data
    - encoder_process
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_to_bio(OSSL_ENCODER_CTX *ctx, BIO *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:98,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:99,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: bio_from_file
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_s_file
    linkageType: ''
    returnType: BIO
    signature: BIO *bio_from_file(FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bio_from_file
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:108,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:112,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - OSSL_ENCODER_CTX*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: OSSL_ENCODER_to_fp
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - bio_from_file
    - BIO_free
    - OSSL_ENCODER_to_bio
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_to_fp(OSSL_ENCODER_CTX *ctx, FILE *fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:127,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:131,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:131,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:134,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:135,1
    - Dst: memcpy
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:156,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - pdata
    - pdata_len
    argTypes:
    - OSSL_ENCODER_CTX*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 168
    functionName: OSSL_ENCODER_to_data
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_ENCODER_to_bio
    - BIO_new
    - ERR_raise
    - memcpy
    - BIO_free
    - BIO_s_mem
    - BIO_get_mem_ptr
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_to_data(OSSL_ENCODER_CTX *ctx, unsigned char **pdata,\n
      \                        size_t *pdata_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:173,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - OSSL_ENCODER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: OSSL_ENCODER_CTX_set_selection
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_CTX_set_selection(OSSL_ENCODER_CTX *ctx, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:189,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - output_type
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: OSSL_ENCODER_CTX_set_output_type
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_output_type(OSSL_ENCODER_CTX *ctx,\n                                     const
      char *output_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:201,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - output_structure
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: OSSL_ENCODER_CTX_set_output_structure
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_output_structure(OSSL_ENCODER_CTX *ctx,\n
      \                                         const char *output_structure)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:220,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:224,1
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:228,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:232,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:233,1
    - Dst: ossl_encoder_parsed_properties
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:234,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:236,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:238,1
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:243,1
    - Dst: ossl_property_get_string_value
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:244,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:246,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:249,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:250,1
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:255,1
    - Dst: ossl_property_get_string_value
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:258,1
    - Dst: ossl_encoder_instance_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - encoder
    - encoderctx
    argTypes:
    - OSSL_ENCODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 266
    functionName: ossl_encoder_instance_new
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_encoder_parsed_properties
    - ossl_assert
    - OPENSSL_zalloc
    - OSSL_ENCODER_get0_name
    - ERR_raise
    - OSSL_ENCODER_up_ref
    - ossl_encoder_instance_free
    - ossl_provider_libctx
    - OSSL_ENCODER_get0_provider
    - ossl_property_get_string_value
    - ERR_raise_data
    - OSSL_ENCODER_get0_properties
    - ossl_property_find_property
    linkageType: ''
    returnType: OSSL_ENCODER_INSTANCE
    signature: "OSSL_ENCODER_INSTANCE *ossl_encoder_instance_new(OSSL_ENCODER *encoder,\n
      \                                                       void *encoderctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_INSTANCE*::encoder::freectx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:272,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: ossl_encoder_instance_free
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OSSL_ENCODER_INSTANCE*::encoder::freectx
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: void
    signature: void ossl_encoder_instance_free(OSSL_ENCODER_INSTANCE *encoder_inst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ENCODER_INSTANCE_new_null
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:287,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:288,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_push
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:292,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:295,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:299,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:300,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - ei
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 304
    functionName: ossl_encoder_ctx_add_encoder_inst
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_get0_name
    - ERR_raise
    - sk_OSSL_ENCODER_INSTANCE_new_null
    - sk_OSSL_ENCODER_INSTANCE_push
    - OSSL_ENCODER_get0_properties
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ossl_encoder_ctx_add_encoder_inst(OSSL_ENCODER_CTX *ctx,\n                                             OSSL_ENCODER_INSTANCE
      *ei)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:295,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:299,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_get0_name
    - BIO_printf
    - OSSL_ENCODER_get0_properties
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:313,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:313,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:314,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:318,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:319,1
    - Dst: OSSL_ENCODER*::newctx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:321,1
    - Dst: ossl_encoder_instance_new
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:323,1
    - Dst: ossl_encoder_ctx_add_encoder_inst
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:328,1
    - Dst: ossl_encoder_instance_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:333,1
    - Dst: OSSL_ENCODER*::freectx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - encoder
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 337
    functionName: OSSL_ENCODER_CTX_add_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OSSL_ENCODER*::freectx
    - ossl_encoder_instance_free
    - ossl_encoder_ctx_add_encoder_inst
    - OSSL_ENCODER_get0_provider
    - OSSL_PROVIDER_get0_provider_ctx
    - ossl_encoder_instance_new
    - OSSL_ENCODER*::newctx
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_CTX_add_encoder(OSSL_ENCODER_CTX *ctx, OSSL_ENCODER
      *encoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - libctx
    - propq
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: OSSL_ENCODER_CTX_add_extra
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_add_extra(OSSL_ENCODER_CTX *ctx,\n                               OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ENCODER_INSTANCE_num
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_ENCODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: OSSL_ENCODER_CTX_get_num_encoders
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 3
    functionsReached:
    - sk_OSSL_ENCODER_INSTANCE_num
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_CTX_get_num_encoders(OSSL_ENCODER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:355,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - construct
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_CONSTRUCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: OSSL_ENCODER_CTX_set_construct
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_construct(OSSL_ENCODER_CTX *ctx,\n                                   OSSL_ENCODER_CONSTRUCT
      *construct)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:366,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - construct_data
    argTypes:
    - OSSL_ENCODER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: OSSL_ENCODER_CTX_set_construct_data
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_construct_data(OSSL_ENCODER_CTX *ctx,\n                                        void
      *construct_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:377,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - cleanup
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_ENCODER_CLEANUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: OSSL_ENCODER_CTX_set_cleanup
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_cleanup(OSSL_ENCODER_CTX *ctx,\n                                 OSSL_ENCODER_CLEANUP
      *cleanup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: OSSL_ENCODER_INSTANCE_get_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ENCODER
    signature: 'OSSL_ENCODER *

      OSSL_ENCODER_INSTANCE_get_encoder(OSSL_ENCODER_INSTANCE *encoder_inst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: OSSL_ENCODER_INSTANCE_get_encoder_ctx
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      OSSL_ENCODER_INSTANCE_get_encoder_ctx(OSSL_ENCODER_INSTANCE *encoder_inst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: OSSL_ENCODER_INSTANCE_get_output_type
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      OSSL_ENCODER_INSTANCE_get_output_type(OSSL_ENCODER_INSTANCE *encoder_inst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - encoder_inst
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: OSSL_ENCODER_INSTANCE_get_output_structure
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      OSSL_ENCODER_INSTANCE_get_output_structure(OSSL_ENCODER_INSTANCE *encoder_inst)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:446,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:449,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:451,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:453,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_type
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:455,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_structure
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:457,1
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:458,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:466,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:470,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:481,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:484,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:488,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:492,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:494,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:498,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:510,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:513,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:518,1
    - Dst: encoder_process
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:529,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:550,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:553,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:564,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:567,1
    - Dst: struct encoder_process_data_st*::ctx::construct
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:594,1
    - Dst: OSSL_ENCODER_get0_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:598,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:607,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:608,1
    - Dst: OSSL_ENCODER_INSTANCE_get_output_structure
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:621,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:624,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:628,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:632,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:635,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:653,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:653,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:658,1
    - Dst: OSSL_ENCODER*::encode
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:660,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:666,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:670,1
    - Dst: ossl_core_bio_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:673,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:680,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:690,1
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:693,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:696,1
    - Dst: struct encoder_process_data_st*::ctx::cleanup
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:698,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct encoder_process_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 700
    functionName: encoder_process
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 2
    functionsReached:
    - OSSL_ENCODER_INSTANCE_get_output_structure
    - ERR_raise
    - OPENSSL_strcasecmp
    - OSSL_PARAM_construct_octet_string
    - struct encoder_process_data_st*::ctx::construct
    - OPENSSL_free
    - BIO_s_mem
    - OSSL_ENCODER*::encode
    - BIO_get_mem_ptr
    - encoder_process
    - ossl_assert
    - BIO_new
    - OSSL_PARAM_construct_utf8_string
    - ossl_core_bio_new_from_bio
    - ossl_core_bio_free
    - OSSL_PARAM_construct_end
    - sk_OSSL_ENCODER_INSTANCE_value
    - BIO_printf
    - BIO_free
    - OSSL_ENCODER_is_a
    - struct encoder_process_data_st*::ctx::cleanup
    - OSSL_ENCODER_INSTANCE_get_encoder
    - OSSL_TRACE_END
    - OSSL_ENCODER_get0_name
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - memset
    - OSSL_ENCODER_INSTANCE_get_output_type
    linkageType: ''
    returnType: int
    signature: int encoder_process(struct encoder_process_data_st *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 670
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:719,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:720,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:722,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:723,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:725,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:728,1
    - Dst: BN_bn2hex
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:732,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:741,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:747,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:752,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:760,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:764,1
    - Dst: tolower
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:765,1
    - Dst: tolower
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:766,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:772,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:776,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 3
    argNames:
    - out
    - label
    - bn
    argTypes:
    - BIO*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 778
    functionName: ossl_bio_print_labeled_bignum
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - bn_get_words
    - BN_bn2hex
    - tolower
    - BN_num_bytes
    - BN_is_negative
    - BN_is_zero
    - OPENSSL_free
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_bio_print_labeled_bignum(BIO *out, const char *label, const
      BIGNUM *bn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:785,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:790,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:792,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:796,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - out
    - label
    - buf
    - buflen
    argTypes:
    - BIO*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 804
    functionName: ossl_bio_print_labeled_buf
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ossl_bio_print_labeled_buf(BIO *out, const char *label,\n                           const
      unsigned char *buf, size_t buflen)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:811,1
    - Dst: ossl_ffc_named_group_get_name
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:812,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:816,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:825,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:828,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:831,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:834,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:838,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:842,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:846,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_lib.c:850,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 2
    argNames:
    - out
    - ffc
    argTypes:
    - BIO*
    - FFC_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 856
    functionName: ossl_bio_print_ffc_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_bio_print_labeled_bignum
    - ossl_ffc_named_group_get_name
    - ossl_bio_print_labeled_buf
    - ossl_ffc_uid_to_dh_named_group
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_bio_print_ffc_params(BIO *out, const FFC_PARAMS *ffc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:55,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:59,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:60,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:67,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:69,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:70,1
    - Dst: BIO_f_readbuffer
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:70,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:73,1
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:75,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:80,1
    - Dst: decoder_process
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:82,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:100,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:100,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:102,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:110,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:113,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - OSSL_DECODER_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 117
    functionName: OSSL_DECODER_from_bio
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - ossl_pw_clear_passphrase_cache
    - ERR_raise
    - memset
    - OSSL_DECODER_CTX_get_num_decoders
    - ossl_pw_enable_passphrase_caching
    - BIO_free
    - BIO_tell
    - ERR_raise_data
    - ERR_peek_last_error
    - BIO_f_readbuffer
    - BIO_push
    - decoder_process
    - ERR_peek_error
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_from_bio(OSSL_DECODER_CTX *ctx, BIO *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:124,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:125,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: bio_from_file
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_s_file
    linkageType: ''
    returnType: BIO
    signature: BIO *bio_from_file(FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bio_from_file
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:134,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:138,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - OSSL_DECODER_CTX*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: OSSL_DECODER_from_fp
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - bio_from_file
    - BIO_free
    - OSSL_DECODER_from_bio
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_from_fp(OSSL_DECODER_CTX *ctx, FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:152,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:156,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:157,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:158,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - pdata
    - pdata_len
    argTypes:
    - OSSL_DECODER_CTX*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: OSSL_DECODER_from_data
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - BIO_free
    - BIO_get_mem_data
    - OSSL_DECODER_from_bio
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_from_data(OSSL_DECODER_CTX *ctx, const unsigned char
      **pdata,\n                           size_t *pdata_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - selection
    argTypes:
    - OSSL_DECODER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: OSSL_DECODER_CTX_set_selection
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_CTX_set_selection(OSSL_DECODER_CTX *ctx, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - input_type
    argTypes:
    - OSSL_DECODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: OSSL_DECODER_CTX_set_input_type
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_input_type(OSSL_DECODER_CTX *ctx,\n                                    const
      char *input_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:200,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - input_structure
    argTypes:
    - OSSL_DECODER_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: OSSL_DECODER_CTX_set_input_structure
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_input_structure(OSSL_DECODER_CTX *ctx,\n
      \                                        const char *input_structure)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:220,1
    - Dst: OSSL_DECODER*::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:224,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:231,1
    - Dst: OSSL_DECODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:233,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:234,1
    - Dst: ossl_decoder_instance_new
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - decoder
    - provctx
    - input_structure
    argTypes:
    - OSSL_DECODER*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: ossl_decoder_instance_new_forprov
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OSSL_PARAM_construct_utf8_string
    - OSSL_DECODER*::set_ctx_params
    - OSSL_DECODER*::newctx
    - OSSL_DECODER*::freectx
    - ossl_decoder_instance_new
    linkageType: ''
    returnType: OSSL_DECODER_INSTANCE
    signature: "OSSL_DECODER_INSTANCE *\nossl_decoder_instance_new_forprov(OSSL_DECODER
      *decoder, void *provctx,\n                                  const char *input_structure)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:251,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:255,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:258,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:259,1
    - Dst: ossl_decoder_parsed_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:260,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:262,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:264,1
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:269,1
    - Dst: ossl_property_get_string_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:270,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:273,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:276,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:277,1
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:282,1
    - Dst: ossl_property_get_string_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:285,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:289,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - decoder
    - decoderctx
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 298
    functionName: ossl_decoder_instance_new
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - OPENSSL_zalloc
    - ERR_raise
    - ossl_provider_libctx
    - ossl_property_get_string_value
    - ERR_raise_data
    - ossl_decoder_instance_free
    - ossl_decoder_parsed_properties
    - OSSL_DECODER_get0_provider
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_up_ref
    - ossl_property_find_property
    - OSSL_DECODER_get0_properties
    linkageType: ''
    returnType: OSSL_DECODER_INSTANCE
    signature: "OSSL_DECODER_INSTANCE *ossl_decoder_instance_new(OSSL_DECODER *decoder,\n
      \                                                void *decoderctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_INSTANCE*::decoder::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:304,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: ossl_decoder_instance_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_DECODER_free
    - OPENSSL_free
    - OSSL_DECODER_INSTANCE*::decoder::freectx
    linkageType: ''
    returnType: void
    signature: void ossl_decoder_instance_free(OSSL_DECODER_INSTANCE *decoder_inst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:318,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:323,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:326,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:327,1
    - Dst: OSSL_DECODER_INSTANCE*::decoder::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:329,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:331,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - src
    argTypes:
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 341
    functionName: ossl_decoder_instance_dup
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - OSSL_DECODER_free
    - OSSL_DECODER_INSTANCE*::decoder::newctx
    - OPENSSL_free
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_DECODER_get0_provider
    - OSSL_DECODER_up_ref
    linkageType: ''
    returnType: OSSL_DECODER_INSTANCE
    signature: OSSL_DECODER_INSTANCE *ossl_decoder_instance_dup(const OSSL_DECODER_INSTANCE
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: ossl_decoder_ctx_set_harderr
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_decoder_ctx_set_harderr(OSSL_DECODER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: ossl_decoder_ctx_get_harderr
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_decoder_ctx_get_harderr(const OSSL_DECODER_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_DECODER_INSTANCE_new_null
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:361,1
    - Dst: sk_OSSL_DECODER_INSTANCE_push
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:365,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:368,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:372,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:373,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - di
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: ossl_decoder_ctx_add_decoder_inst
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_properties
    - ERR_raise
    - OSSL_TRACE_END
    - sk_OSSL_DECODER_INSTANCE_new_null
    - OSSL_DECODER_get0_name
    - sk_OSSL_DECODER_INSTANCE_push
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ossl_decoder_ctx_add_decoder_inst(OSSL_DECODER_CTX *ctx,\n                                      OSSL_DECODER_INSTANCE
      *di)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:368,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:372,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:386,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:387,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:391,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:392,1
    - Dst: OSSL_DECODER*::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:394,1
    - Dst: ossl_decoder_instance_new
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:396,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:401,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:406,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - decoder
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 410
    functionName: OSSL_DECODER_CTX_add_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OSSL_DECODER*::newctx
    - OSSL_DECODER*::freectx
    - ossl_decoder_instance_free
    - ossl_decoder_ctx_add_decoder_inst
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_DECODER_get0_provider
    - ossl_decoder_instance_new
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_CTX_add_decoder(OSSL_DECODER_CTX *ctx, OSSL_DECODER
      *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:430,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:432,1
    - Dst: sk_OSSL_DECODER_push
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:433,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: collect_all_decoders
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    - STACK_OF
    - OSSL_DECODER_up_ref
    - sk_OSSL_DECODER_push
    linkageType: ''
    returnType: void
    signature: void collect_all_decoders(OSSL_DECODER *decoder, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:441,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:442,1
    - Dst: ossl_decoder_fast_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:444,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:449,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:453,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:454,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:455,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:464,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:469,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:471,1
    - Dst: OSSL_DECODER*::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:476,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:485,1
    - Dst: OSSL_DECODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:487,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:488,1
    - Dst: ossl_decoder_instance_new
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:493,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:494,1
    - Dst: ossl_decoder_fast_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:501,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:502,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:504,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:506,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:508,1
    - Dst: ossl_decoder_fast_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:514,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:515,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:517,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:519,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:521,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:531,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:532,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 538
    functionName: collect_extra_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_properties
    - OSSL_DECODER_INSTANCE_get_input_type
    - OSSL_PARAM_construct_utf8_string
    - OSSL_DECODER*::set_ctx_params
    - ossl_decoder_fast_is_a
    - OSSL_DECODER*::newctx
    - OSSL_DECODER*::freectx
    - sk_OSSL_DECODER_INSTANCE_value
    - ossl_decoder_instance_free
    - ossl_decoder_ctx_add_decoder_inst
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_provider
    - OSSL_TRACE_END
    - ossl_decoder_instance_new
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void collect_extra_decoder(OSSL_DECODER *decoder, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:449,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:453,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_DECODER_INSTANCE**
    - OSSL_DECODER_INSTANCE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 546
    functionName: decoder_sk_cmp
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int decoder_sk_cmp(const OSSL_DECODER_INSTANCE *const *a,\n                          const
      OSSL_DECODER_INSTANCE *const *b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:578,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:581,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:593,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:595,1
    - Dst: sk_OSSL_DECODER_new_null
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:598,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:600,1
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:603,1
    - Dst: sk_OSSL_DECODER_num
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:604,1
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:611,1
    - Dst: sk_OSSL_DECODER_INSTANCE_num
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:612,1
    - Dst: sk_OSSL_DECODER_INSTANCE_set_cmp_func
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:616,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:619,1
    - Dst: sk_OSSL_DECODER_INSTANCE_sort
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:622,1
    - Dst: sk_OSSL_DECODER_INSTANCE_set_cmp_func
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:623,1
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:626,1
    - Dst: sk_OSSL_DECODER_INSTANCE_num
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:629,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:647,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:650,1
    - Dst: collect_extra_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:655,1
    - Dst: sk_OSSL_DECODER_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:655,1
    - Dst: sk_OSSL_DECODER_pop_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:669,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - libctx
    - propq
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 671
    functionName: OSSL_DECODER_CTX_add_extra
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_DECODER_value
    - ossl_assert
    - sk_OSSL_DECODER_INSTANCE_sort
    - ERR_raise
    - memset
    - OSSL_DECODER_INSTANCE_get_input_type
    - sk_OSSL_DECODER_pop_free
    - sk_OSSL_DECODER_new_null
    - sk_OSSL_DECODER_num
    - sk_OSSL_DECODER_INSTANCE_num
    - collect_extra_decoder
    - STACK_OF
    - OSSL_DECODER_do_all_provided
    - sk_OSSL_DECODER_INSTANCE_value
    - ossl_ctx_global_properties
    - OSSL_TRACE_END
    - sk_OSSL_DECODER_INSTANCE_set_cmp_func
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_add_extra(OSSL_DECODER_CTX *ctx,\n                               OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_DECODER_INSTANCE_num
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: OSSL_DECODER_CTX_get_num_decoders
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 2
    functionsReached:
    - sk_OSSL_DECODER_INSTANCE_num
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_CTX_get_num_decoders(OSSL_DECODER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:683,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - construct
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_CONSTRUCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 689
    functionName: OSSL_DECODER_CTX_set_construct
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_construct(OSSL_DECODER_CTX *ctx,\n                                   OSSL_DECODER_CONSTRUCT
      *construct)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:694,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - construct_data
    argTypes:
    - OSSL_DECODER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 700
    functionName: OSSL_DECODER_CTX_set_construct_data
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_construct_data(OSSL_DECODER_CTX *ctx,\n                                        void
      *construct_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:705,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - cleanup
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_DECODER_CLEANUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 711
    functionName: OSSL_DECODER_CTX_set_cleanup
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_cleanup(OSSL_DECODER_CTX *ctx,\n                                 OSSL_DECODER_CLEANUP
      *cleanup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 719
    functionName: OSSL_DECODER_CTX_get_construct
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DECODER_CONSTRUCT
    signature: 'OSSL_DECODER_CONSTRUCT *

      OSSL_DECODER_CTX_get_construct(OSSL_DECODER_CTX *ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: OSSL_DECODER_CTX_get_construct_data
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *OSSL_DECODER_CTX_get_construct_data(OSSL_DECODER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 734
    functionName: OSSL_DECODER_CTX_get_cleanup
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DECODER_CLEANUP
    signature: 'OSSL_DECODER_CLEANUP *

      OSSL_DECODER_CTX_get_cleanup(OSSL_DECODER_CTX *ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:743,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:744,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:745,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:746,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:747,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:751,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:752,1
    - Dst: OSSL_DECODER*::export_object
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - decoder_inst
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 755
    functionName: OSSL_DECODER_export
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - OSSL_DECODER_INSTANCE_get_decoder
    - ERR_raise
    - OSSL_DECODER*::export_object
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_export(OSSL_DECODER_INSTANCE *decoder_inst,\n                        void
      *reference, size_t reference_sz,\n                        OSSL_CALLBACK *export_cb,
      void *export_cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 763
    functionName: OSSL_DECODER_INSTANCE_get_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DECODER
    signature: 'OSSL_DECODER *

      OSSL_DECODER_INSTANCE_get_decoder(OSSL_DECODER_INSTANCE *decoder_inst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 771
    functionName: OSSL_DECODER_INSTANCE_get_decoder_ctx
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      OSSL_DECODER_INSTANCE_get_decoder_ctx(OSSL_DECODER_INSTANCE *decoder_inst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - decoder_inst
    argTypes:
    - OSSL_DECODER_INSTANCE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: OSSL_DECODER_INSTANCE_get_input_type
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      OSSL_DECODER_INSTANCE_get_input_type(OSSL_DECODER_INSTANCE *decoder_inst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - decoder_inst
    - was_set
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: OSSL_DECODER_INSTANCE_get_input_structure
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\nOSSL_DECODER_INSTANCE_get_input_structure(OSSL_DECODER_INSTANCE
      *decoder_inst,\n                                          int *was_set)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:815,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:828,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:831,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:834,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:842,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:844,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:851,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:854,1
    - Dst: OSSL_DECODER_CTX*::construct
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:856,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:859,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:862,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:880,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:883,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:889,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:890,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:894,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:895,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:899,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:901,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:909,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:910,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:911,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:929,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:933,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:940,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:950,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:951,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:955,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:956,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:962,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:964,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:967,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:969,1
    - Dst: OSSL_DECODER_INSTANCE_get_input_structure
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:972,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:976,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:977,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:983,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:984,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:992,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:994,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:998,1
    - Dst: ossl_decoder_fast_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1008,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1011,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1015,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1023,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1025,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1028,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1039,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1042,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1045,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1059,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1062,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1065,1
    - Dst: BIO_seek
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1080,1
    - Dst: BIO_tell
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1081,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1086,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1090,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1096,1
    - Dst: OSSL_DECODER*::decode
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1101,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1108,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1115,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1121,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1124,1
    - Dst: ossl_core_bio_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1135,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1136,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 142
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 1139
    functionName: decoder_process
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - ERR_raise
    - OPENSSL_strcasecmp
    - ERR_pop_to_mark
    - OSSL_DECODER_get0_properties
    - OSSL_DECODER_INSTANCE_get_input_structure
    - OSSL_DECODER_is_a
    - OSSL_DECODER_CTX*::construct
    - BIO_seek
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_PARAM_get_utf8_string_ptr
    - ossl_decoder_fast_is_a
    - OSSL_PARAM_locate_const
    - BIO_tell
    - ossl_core_bio_new_from_bio
    - ossl_core_bio_free
    - ERR_clear_last_mark
    - BIO_printf
    - BIO_free
    - OSSL_TRACE_END
    - OSSL_DECODER*::decode
    - OSSL_DECODER_INSTANCE_get_decoder
    - memset
    - OSSL_DECODER_INSTANCE_get_input_type
    - ERR_set_mark
    - sk_OSSL_DECODER_INSTANCE_value
    - OSSL_DECODER_get0_name
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: int decoder_process(const OSSL_PARAM params[], void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 854
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 862
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 940
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:976,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:977,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 984
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 998
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1045
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1065
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1090
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_lib.c:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1115
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_lib.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_passphrase
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - kstr
    - klen
    argTypes:
    - OSSL_DECODER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: OSSL_DECODER_CTX_set_passphrase
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - ossl_pw_set_passphrase
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_passphrase(OSSL_DECODER_CTX *ctx,\n                                    const
      unsigned char *kstr,\n                                    size_t klen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_ui_method
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_DECODER_CTX*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: OSSL_DECODER_CTX_set_passphrase_ui
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - ossl_pw_set_ui_method
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_passphrase_ui(OSSL_DECODER_CTX *ctx,\n                                       const
      UI_METHOD *ui_method,\n                                       void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_pem_password_cb
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cb
    - cbarg
    argTypes:
    - OSSL_DECODER_CTX*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: OSSL_DECODER_CTX_set_pem_password_cb
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 1
    functionsReached:
    - ossl_pw_set_pem_password_cb
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_pem_password_cb(OSSL_DECODER_CTX *ctx,\n
      \                                        pem_password_cb *cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cb
    - cbarg
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: OSSL_DECODER_CTX_set_passphrase_cb
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - ossl_pw_set_ossl_passphrase_cb
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_passphrase_cb(OSSL_DECODER_CTX *ctx,\n                                       OSSL_PASSPHRASE_CALLBACK
      *cb,\n                                       void *cbarg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:76,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:77,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:78,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:94,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:98,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:100,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:109,1
    - Dst: sk_EVP_KEYMGMT_num
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:119,1
    - Dst: sk_EVP_KEYMGMT_value
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:121,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:122,1
    - Dst: evp_keymgmt_has_load
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:125,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:126,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:131,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:133,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:136,1
    - Dst: evp_keymgmt_load
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:152,1
    - Dst: OSSL_DECODER*::export_object
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:168,1
    - Dst: ossl_decoder_ctx_set_harderr
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:182,1
    - Dst: evp_keymgmt_util_make_pkey
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:185,1
    - Dst: evp_keymgmt_freedata
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:186,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:194,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - decoder_inst
    - params
    - construct_data
    argTypes:
    - OSSL_DECODER_INSTANCE*
    - OSSL_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 71
    functionDepth: 10
    functionLinenumber: 71
    functionLinenumberEnd: 201
    functionName: decoder_construct_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - EVP_KEYMGMT_fetch
    - OPENSSL_free
    - ossl_decoder_ctx_set_harderr
    - evp_keymgmt_freedata
    - OSSL_PARAM_locate_const
    - EVP_KEYMGMT_is_a
    - sk_EVP_KEYMGMT_num
    - evp_keymgmt_load
    - OSSL_DECODER_get0_provider
    - OSSL_DECODER*::export_object
    - EVP_KEYMGMT_up_ref
    - evp_keymgmt_util_make_pkey
    - OSSL_PARAM_get_utf8_string
    - EVP_KEYMGMT_get0_provider
    - evp_keymgmt_has_load
    - OSSL_DECODER_INSTANCE_get_decoder
    - sk_EVP_KEYMGMT_value
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: int
    signature: "int decoder_construct_pkey(OSSL_DECODER_INSTANCE *decoder_inst,\n
      \                                 const OSSL_PARAM *params,\n                                  void
      *construct_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_KEYMGMT_pop_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:208,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - construct_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: decoder_clean_pkey_construct_arg
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_EVP_KEYMGMT_pop_free
    linkageType: ''
    returnType: void
    signature: void decoder_clean_pkey_construct_arg(void *construct_data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER*::newctx
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:250,1
    - Dst: ossl_decoder_instance_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:255,1
    - Dst: OSSL_DECODER*::freectx
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:256,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:267,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:268,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:269,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:271,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:276,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:280,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:281,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:282,1
    - Dst: ossl_decoder_parsed_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:287,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:289,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:295,1
    - Dst: ossl_decoder_ctx_add_decoder_inst
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:300,1
    - Dst: ossl_decoder_instance_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - keymgmt
    - decoder
    - provctx
    - data
    argTypes:
    - EVP_KEYMGMT*
    - OSSL_DECODER*
    - void*
    - struct collect_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 308
    functionName: collect_decoder_keymgmt
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_properties
    - OPENSSL_strcasecmp
    - OSSL_DECODER*::newctx
    - OSSL_DECODER*::freectx
    - ossl_decoder_instance_free
    - ossl_decoder_parsed_properties
    - ossl_property_match_count
    - ossl_decoder_ctx_add_decoder_inst
    - OSSL_DECODER_get0_name
    - OSSL_TRACE_END
    - ossl_decoder_instance_new
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int collect_decoder_keymgmt(EVP_KEYMGMT *keymgmt, OSSL_DECODER *decoder,\n
      \                                  void *provctx, struct collect_data_st *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:276,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:280,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:313,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:322,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:323,1
    - Dst: OSSL_DECODER*::does_selection
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:331,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:335,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:339,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:340,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:341,1
    - Dst: sk_EVP_KEYMGMT_num
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:343,1
    - Dst: sk_EVP_KEYMGMT_value
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:345,1
    - Dst: collect_decoder_keymgmt
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - decoder
    - arg
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 353
    functionName: collect_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER*::does_selection
    - OSSL_DECODER_get0_properties
    - sk_EVP_KEYMGMT_value
    - sk_EVP_KEYMGMT_num
    - STACK_OF
    - collect_decoder_keymgmt
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_provider
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void collect_decoder(OSSL_DECODER *decoder, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:335,1
    - Dst: OSSL_DECODER_get0_name
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:339,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_get0_name
    - OSSL_DECODER_get0_properties
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:367,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:368,1
    - Dst: strcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:375,1
    - Dst: strcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:376,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - keymgmt
    - data
    argTypes:
    - EVP_KEYMGMT*
    - struct collect_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 359
    functionDepth: 7
    functionLinenumber: 359
    functionLinenumberEnd: 396
    functionName: check_keymgmt
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ossl_namemap_stored
    - ossl_namemap_name2num
    linkageType: ''
    returnType: int
    signature: int check_keymgmt(EVP_KEYMGMT *keymgmt, struct collect_data_st *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_keymgmt
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:402,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:412,1
    - Dst: sk_EVP_KEYMGMT_push
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:415,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - keymgmt
    - arg
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 398
    functionDepth: 8
    functionLinenumber: 398
    functionLinenumberEnd: 419
    functionName: collect_keymgmt
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - EVP_KEYMGMT_up_ref
    - sk_EVP_KEYMGMT_push
    - check_keymgmt
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: void
    signature: void collect_keymgmt(EVP_KEYMGMT *keymgmt, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:434,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:442,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:451,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:454,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:457,1
    - Dst: sk_EVP_KEYMGMT_new_null
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:461,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:463,1
    - Dst: ossl_parse_query
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:476,1
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:478,1
    - Dst: ossl_property_merge
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:483,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:484,1
    - Dst: EVP_KEYMGMT_do_all_provided
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:511,1
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:517,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:523,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:526,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:533,1
    - Dst: OSSL_DECODER_CTX_set_construct
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:534,1
    - Dst: OSSL_DECODER_CTX_set_construct_data
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:535,1
    - Dst: OSSL_DECODER_CTX_set_cleanup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:536,1
    - Dst: decoder_clean_pkey_construct_arg
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:545,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:546,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 4
    argNames:
    - ctx
    - keytype
    - libctx
    - propquery
    argTypes:
    - OSSL_DECODER_CTX*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 426
    functionDepth: 10
    functionLinenumber: 426
    functionLinenumberEnd: 548
    functionName: ossl_decoder_ctx_setup_for_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_set_construct
    - OPENSSL_zalloc
    - ERR_raise
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_DECODER_CTX_set_construct_data
    - OSSL_DECODER_CTX_set_cleanup
    - decoder_clean_pkey_construct_arg
    - ossl_ctx_global_properties
    - ossl_property_free
    - EVP_KEYMGMT_do_all_provided
    - STACK_OF
    - ossl_parse_query
    - OPENSSL_strdup
    - OSSL_DECODER_do_all_provided
    - sk_EVP_KEYMGMT_new_null
    - ossl_property_merge
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ossl_decoder_ctx_setup_for_pkey(OSSL_DECODER_CTX *ctx,\n                                           const
      char *keytype,\n                                           OSSL_LIB_CTX *libctx,\n
      \                                          const char *propquery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 451
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keymgmt
    argTypes:
    - EVP_KEYMGMT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: keymgmt_dup
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 3
    functionsReached:
    - EVP_KEYMGMT_up_ref
    linkageType: ''
    returnType: EVP_KEYMGMT
    signature: EVP_KEYMGMT *keymgmt_dup(const EVP_KEYMGMT *keymgmt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:577,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:578,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:582,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:583,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:584,1
    - Dst: sk_OSSL_DECODER_INSTANCE_deep_copy
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:591,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:595,1
    - Dst: OSSL_DECODER_CTX_set_construct
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:600,1
    - Dst: OSSL_DECODER_CTX_get_construct
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:601,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:602,1
    - Dst: OSSL_DECODER_CTX_get_construct_data
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:606,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:608,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:610,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:614,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:616,1
    - Dst: sk_EVP_KEYMGMT_deep_copy
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:623,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:627,1
    - Dst: OSSL_DECODER_CTX_set_construct_data
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:636,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:637,1
    - Dst: OSSL_DECODER_CTX_set_cleanup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:643,1
    - Dst: OSSL_DECODER_CTX_get_cleanup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:644,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:645,1
    - Dst: decoder_clean_pkey_construct_arg
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:651,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:652,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 4
    argNames:
    - src
    - pkey
    - input_type
    - input_structure
    argTypes:
    - OSSL_DECODER_CTX*
    - EVP_PKEY**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 654
    functionName: ossl_decoder_ctx_for_pkey_dup
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_set_construct
    - OSSL_DECODER_CTX_new
    - OPENSSL_zalloc
    - ERR_raise
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_CTX_set_input_type
    - sk_EVP_KEYMGMT_deep_copy
    - decoder_clean_pkey_construct_arg
    - sk_OSSL_DECODER_INSTANCE_deep_copy
    - OSSL_DECODER_CTX_get_construct
    - OPENSSL_strdup
    - OSSL_DECODER_CTX_get_construct_data
    - OSSL_DECODER_CTX_set_input_structure
    - OSSL_DECODER_CTX_get_cleanup
    - OSSL_DECODER_CTX_set_construct_data
    - OSSL_DECODER_CTX_set_cleanup
    linkageType: ''
    returnType: OSSL_DECODER_CTX
    signature: "OSSL_DECODER_CTX *\nossl_decoder_ctx_for_pkey_dup(OSSL_DECODER_CTX
      *src,\n                              EVP_PKEY **pkey,\n                              const
      char *input_type,\n                              const char *input_structure)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:676,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:677,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:678,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:679,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:680,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - entry
    argTypes:
    - DECODER_CACHE_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: decoder_cache_entry_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_DECODER_CTX_free
    linkageType: ''
    returnType: void
    signature: void decoder_cache_entry_free(DECODER_CACHE_ENTRY *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:690,1
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:693,1
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:696,1
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - DECODER_CACHE_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 704
    functionName: decoder_cache_entry_hash
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - ossl_lh_strcasehash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long decoder_cache_entry_hash(const DECODER_CACHE_ENTRY *cache)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:719,1
    - Dst: strcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - casecmp
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 723
    functionName: nullstrcmp
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline nullstrcmp(const char *a, const char *b, int casecmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nullstrcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:733,1
    - Dst: nullstrcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:737,1
    - Dst: nullstrcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:741,1
    - Dst: nullstrcmp
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DECODER_CACHE_ENTRY*
    - DECODER_CACHE_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 725
    functionDepth: 4
    functionLinenumber: 725
    functionLinenumberEnd: 748
    functionName: decoder_cache_entry_cmp
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - nullstrcmp
    linkageType: ''
    returnType: int
    signature: "int decoder_cache_entry_cmp(const DECODER_CACHE_ENTRY *a,\n                                   const
      DECODER_CACHE_ENTRY *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:752,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:757,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:759,1
    - Dst: lh_DECODER_CACHE_ENTRY_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:762,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:765,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 771
    functionName: ossl_decoder_cache_new
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - lh_DECODER_CACHE_ENTRY_new
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *ossl_decoder_cache_new(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_DECODER_CACHE_ENTRY_doall
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:777,1
    - Dst: lh_DECODER_CACHE_ENTRY_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:778,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:779,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vcache
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: ossl_decoder_cache_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 1
    functionsReached:
    - lh_DECODER_CACHE_ENTRY_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - lh_DECODER_CACHE_ENTRY_doall
    linkageType: ''
    returnType: void
    signature: void ossl_decoder_cache_free(void *vcache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:790,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:796,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:797,1
    - Dst: lh_DECODER_CACHE_ENTRY_doall
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:801,1
    - Dst: lh_DECODER_CACHE_ENTRY_flush
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:802,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 787
    functionDepth: 5
    functionLinenumber: 787
    functionLinenumberEnd: 806
    functionName: ossl_decoder_cache_flush
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    - ossl_lib_ctx_get_data
    - CRYPTO_THREAD_write_lock
    - lh_DECODER_CACHE_ENTRY_doall
    - CRYPTO_THREAD_unlock
    - lh_DECODER_CACHE_ENTRY_flush
    linkageType: ''
    returnType: int
    signature: int ossl_decoder_cache_flush(OSSL_LIB_CTX *libctx)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:822,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:827,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:832,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:836,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:846,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:847,1
    - Dst: lh_DECODER_CACHE_ENTRY_retrieve
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:852,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:860,1
    - Dst: OSSL_DECODER_CTX_new
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:862,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:863,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:868,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:871,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:873,1
    - Dst: OSSL_DECODER_CTX_set_input_type
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:875,1
    - Dst: OSSL_DECODER_CTX_set_input_structure
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:876,1
    - Dst: OSSL_DECODER_CTX_set_selection
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:877,1
    - Dst: ossl_decoder_ctx_setup_for_pkey
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:878,1
    - Dst: OSSL_DECODER_CTX_add_extra
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:879,1
    - Dst: OSSL_DECODER_CTX_set_params
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:881,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:883,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:884,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:885,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:887,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:888,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:892,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:894,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:899,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:904,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:909,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:914,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:921,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:923,1
    - Dst: lh_DECODER_CACHE_ENTRY_retrieve
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:926,1
    - Dst: lh_DECODER_CACHE_ENTRY_insert
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:928,1
    - Dst: lh_DECODER_CACHE_ENTRY_error
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:929,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:931,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:932,1
    - Dst: decoder_cache_entry_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:940,1
    - Dst: ossl_decoder_ctx_for_pkey_dup
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:947,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:948,1
    - Dst: decoder_cache_entry_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:952,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:953,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 100
    argCount: 7
    argNames:
    - pkey
    - input_type
    - input_structure
    - keytype
    - selection
    - libctx
    - propquery
    argTypes:
    - EVP_PKEY**
    - char*
    - char*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 808
    functionDepth: 11
    functionLinenumber: 808
    functionLinenumberEnd: 955
    functionName: OSSL_DECODER_CTX_new_for_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - OSSL_DECODER_CTX_set_params
    - decoder_cache_entry_free
    - OSSL_DECODER_CTX_set_input_structure
    - OSSL_DECODER_CTX_new
    - OPENSSL_zalloc
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_PARAM_construct_utf8_string
    - CRYPTO_THREAD_read_lock
    - ossl_decoder_ctx_for_pkey_dup
    - CRYPTO_THREAD_write_lock
    - OSSL_DECODER_CTX_add_extra
    - OPENSSL_strdup
    - ossl_decoder_ctx_setup_for_pkey
    - BIO_printf
    - lh_DECODER_CACHE_ENTRY_insert
    - OSSL_DECODER_CTX_free
    - lh_DECODER_CACHE_ENTRY_retrieve
    - lh_DECODER_CACHE_ENTRY_error
    - CRYPTO_THREAD_unlock
    - OSSL_TRACE_END
    - ossl_lib_ctx_get_data
    - OSSL_DECODER_CTX_set_input_type
    - OSSL_DECODER_CTX_set_selection
    linkageType: ''
    returnType: OSSL_DECODER_CTX
    signature: "OSSL_DECODER_CTX *\nOSSL_DECODER_CTX_new_for_pkey(EVP_PKEY **pkey,\n
      \                             const char *input_type,\n                              const
      char *input_structure,\n                              const char *keytype, int
      selection,\n                              OSSL_LIB_CTX *libctx, const char *propquery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:868,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 873
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:883,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_pkey.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_get_num_decoders
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(DECODER)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/encode_decode/decoder_err.c:32,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/encode_decode/decoder_err.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ossl_err_load_OSSL_DECODER_strings
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_OSSL_DECODER_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ossl_decoder_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    linkageType: ''
    returnType: void
    signature: void ossl_decoder_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ossl_decoder_up_ref
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_up_ref
    linkageType: ''
    returnType: int
    signature: int ossl_decoder_up_ref(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:42,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:44,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: ossl_decoder_new
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_DECODER
    signature: OSSL_DECODER *ossl_decoder_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: OSSL_DECODER_up_ref
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 4
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_up_ref(OSSL_DECODER *decoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:67,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:70,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:71,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:72,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:73,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: OSSL_DECODER_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 5
    functionsReached:
    - ossl_provider_free
    - ossl_property_free
    - CRYPTO_DOWN_REF
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void OSSL_DECODER_free(OSSL_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: get_tmp_decoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void
    signature: void *get_tmp_decoder_store(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: dealloc_tmp_decoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: void dealloc_tmp_decoder_store(void *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: get_decoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_METHOD_STORE
    signature: OSSL_METHOD_STORE *get_decoder_store(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:121,1
    - Dst: ossl_method_lock_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 6
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: reserve_decoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - get_decoder_store
    - ossl_method_lock_store
    linkageType: ''
    returnType: int
    signature: int reserve_decoder_store(void *store, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:132,1
    - Dst: ossl_method_unlock_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: unreserve_decoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_unlock_store
    - get_decoder_store
    linkageType: ''
    returnType: int
    signature: int unreserve_decoder_store(void *store, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:152,1
    - Dst: strchr
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:154,1
    - Dst: strlen
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:155,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:159,1
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:166,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: get_decoder_from_store
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - strchr
    - ossl_namemap_name2num_n
    - ossl_namemap_stored
    - get_decoder_store
    - ossl_method_store_fetch
    - strlen
    linkageType: ''
    returnType: void
    signature: "void *get_decoder_from_store(void *store, const OSSL_PROVIDER **prov,\n
      \                                   void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:191,1
    - Dst: strlen
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:193,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:196,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:197,1
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:200,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - store
    - method
    - prov
    - names
    - propdef
    - data
    argTypes:
    - void*
    - void*
    - OSSL_PROVIDER*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 174
    functionDepth: 7
    functionLinenumber: 174
    functionLinenumberEnd: 206
    functionName: put_decoder_in_store
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - strchr
    - ossl_namemap_name2num_n
    - ossl_method_store_add
    - get_decoder_store
    - ossl_namemap_stored
    - strlen
    linkageType: ''
    returnType: int
    signature: "int put_decoder_in_store(void *store, void *method,\n                                const
      OSSL_PROVIDER *prov,\n                                const char *names, const
      char *propdef,\n                                void *data)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:214,1
    - Dst: ossl_decoder_new
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:216,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:219,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:220,1
    - Dst: ossl_parse_property
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:225,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:226,1
    - Dst: OSSL_FUNC_decoder_newctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:234,1
    - Dst: OSSL_FUNC_decoder_freectx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:238,1
    - Dst: OSSL_FUNC_decoder_get_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:243,1
    - Dst: OSSL_FUNC_decoder_gettable_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:248,1
    - Dst: OSSL_FUNC_decoder_set_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:253,1
    - Dst: OSSL_FUNC_decoder_settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:258,1
    - Dst: OSSL_FUNC_decoder_does_selection
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:263,1
    - Dst: OSSL_FUNC_decoder_decode
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:267,1
    - Dst: OSSL_FUNC_decoder_export_object
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:271,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:284,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:288,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:289,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 3
    argNames:
    - id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 295
    functionName: ossl_decoder_from_algorithm
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_decoder_freectx
    - ossl_algorithm_get1_first_name
    - OSSL_FUNC_decoder_decode
    - ossl_provider_up_ref
    - ERR_raise
    - OSSL_DECODER_free
    - ossl_parse_property
    - ossl_provider_libctx
    - OSSL_FUNC_decoder_get_params
    - OSSL_FUNC_decoder_gettable_params
    - OSSL_FUNC_decoder_set_ctx_params
    - OSSL_FUNC_decoder_settable_ctx_params
    - ossl_decoder_new
    - OSSL_FUNC_decoder_newctx
    - OSSL_FUNC_decoder_does_selection
    - OSSL_FUNC_decoder_export_object
    linkageType: ''
    returnType: void
    signature: "void *ossl_decoder_from_algorithm(int id, const OSSL_ALGORITHM *algodef,\n
      \                                 OSSL_PROVIDER *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:313,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:314,1
    - Dst: ossl_namemap_add_names
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:316,1
    - Dst: ossl_decoder_from_algorithm
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 303
    functionDepth: 7
    functionLinenumber: 303
    functionLinenumberEnd: 331
    functionName: construct_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_decoder_from_algorithm
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_add_names
    linkageType: ''
    returnType: void
    signature: "void *construct_decoder(const OSSL_ALGORITHM *algodef,\n                               OSSL_PROVIDER
      *prov, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: destruct_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    linkageType: ''
    returnType: void
    signature: void destruct_decoder(void *method, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: up_ref_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_up_ref
    linkageType: ''
    returnType: int
    signature: int up_ref_decoder(void *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: free_decoder
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    linkageType: ''
    returnType: void
    signature: void free_decoder(void *method)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:354,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:355,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:361,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:365,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:374,1
    - Dst: ossl_method_construct
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:390,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:400,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:402,1
    - Dst: ossl_namemap_num2name
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:417,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:418,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - methdata
    - name
    - properties
    argTypes:
    - struct decoder_data_st*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 350
    functionDepth: 7
    functionLinenumber: 350
    functionLinenumberEnd: 426
    functionName: inner_ossl_decoder_fetch
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_construct
    - ERR_raise
    - ossl_method_store_cache_set
    - ossl_lib_ctx_get_descriptor
    - ERR_raise_data
    - ossl_namemap_stored
    - get_decoder_store
    - ossl_namemap_num2name
    - ossl_method_store_cache_get
    - ossl_namemap_name2num
    linkageType: ''
    returnType: OSSL_DECODER
    signature: "OSSL_DECODER *\ninner_ossl_decoder_fetch(struct decoder_data_st *methdata,\n
      \                        const char *name, const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_decoder_fetch
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:436,1
    - Dst: dealloc_tmp_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - name
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 428
    functionDepth: 8
    functionLinenumber: 428
    functionLinenumberEnd: 439
    functionName: OSSL_DECODER_fetch
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - inner_ossl_decoder_fetch
    - dealloc_tmp_decoder_store
    linkageType: ''
    returnType: OSSL_DECODER
    signature: "OSSL_DECODER *OSSL_DECODER_fetch(OSSL_LIB_CTX *libctx, const char
      *name,\n                                 const char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:443,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 6
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: ossl_decoder_store_cache_flush
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 1
    functionsReached:
    - ossl_method_store_cache_flush_all
    - get_decoder_store
    linkageType: ''
    returnType: int
    signature: int ossl_decoder_store_cache_flush(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:452,1
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:453,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 450
    functionDepth: 6
    functionLinenumber: 450
    functionLinenumberEnd: 458
    functionName: ossl_decoder_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 1
    functionsReached:
    - get_decoder_store
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    linkageType: ''
    returnType: int
    signature: int ossl_decoder_store_remove_all_provided(const OSSL_PROVIDER *prov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:466,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 472
    functionName: OSSL_DECODER_get0_provider
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 6
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *OSSL_DECODER_get0_provider(const OSSL_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:476,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: OSSL_DECODER_get0_properties
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 11
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: char
    signature: char *OSSL_DECODER_get0_properties(const OSSL_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 493
    functionName: ossl_decoder_parsed_properties
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST
    signature: 'OSSL_PROPERTY_LIST *

      ossl_decoder_parsed_properties(const OSSL_DECODER *decoder)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:497,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: ossl_decoder_get_number
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_decoder_get_number(const OSSL_DECODER *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: OSSL_DECODER_get0_name
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_DECODER_get0_name(const OSSL_DECODER *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: OSSL_DECODER_get0_description
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_DECODER_get0_description(const OSSL_DECODER *decoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:518,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:519,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - decoder
    - name
    argTypes:
    - OSSL_DECODER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 515
    functionDepth: 7
    functionLinenumber: 515
    functionLinenumberEnd: 524
    functionName: OSSL_DECODER_is_a
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 1
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_name2num
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_is_a(const OSSL_DECODER *decoder, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:528,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:529,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - decoder
    - name
    argTypes:
    - OSSL_DECODER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 7
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: resolve_name
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_name2num
    linkageType: ''
    returnType: int
    signature: int resolve_name(OSSL_DECODER *decoder, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resolve_name
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:539,1
    - Dst: ossl_decoder_get_number
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - decoder
    - name
    - id_cache
    argTypes:
    - OSSL_DECODER*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 8
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: ossl_decoder_fast_is_a
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 2
    functionsReached:
    - ossl_decoder_get_number
    - resolve_name
    linkageType: ''
    returnType: int
    signature: int ossl_decoder_fast_is_a(OSSL_DECODER *decoder, const char *name,
      int *id_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct do_one_data_st*::user_fn
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - int
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: do_one
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - struct do_one_data_st*::user_fn
    linkageType: ''
    returnType: void
    signature: void do_one(ossl_unused int id, void *method, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_decoder_fetch
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:566,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:571,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:572,1
    - Dst: get_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:572,1
    - Dst: dealloc_tmp_decoder_store
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 556
    functionDepth: 8
    functionLinenumber: 556
    functionLinenumberEnd: 574
    functionName: OSSL_DECODER_do_all_provided
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 2
    functionsReached:
    - inner_ossl_decoder_fetch
    - get_decoder_store
    - dealloc_tmp_decoder_store
    - ossl_method_store_do_all
    linkageType: ''
    returnType: void
    signature: "void OSSL_DECODER_do_all_provided(OSSL_LIB_CTX *libctx,\n                                  void
      (*user_fn)(OSSL_DECODER *decoder,\n                                                  void
      *arg),\n                                  void *user_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:584,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:585,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - decoder
    - data
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 576
    functionDepth: 7
    functionLinenumber: 576
    functionLinenumberEnd: 591
    functionName: OSSL_DECODER_names_do_all
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_doall_names
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_names_do_all(const OSSL_DECODER *decoder,\n                              void
      (*fn)(const char *name, void *data),\n                              void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:597,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:597,1
    - Dst: OSSL_DECODER*::gettable_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 602
    functionName: OSSL_DECODER_gettable_params
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER*::gettable_params
    - ossl_provider_ctx
    - OSSL_DECODER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM *

      OSSL_DECODER_gettable_params(OSSL_DECODER *decoder)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER*::get_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - decoder
    - params
    argTypes:
    - OSSL_DECODER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: OSSL_DECODER_get_params
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER*::get_params
    linkageType: ''
    returnType: int
    signature: int OSSL_DECODER_get_params(OSSL_DECODER *decoder, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:615,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:615,1
    - Dst: OSSL_DECODER*::settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - OSSL_DECODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 620
    functionName: OSSL_DECODER_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - OSSL_DECODER*::settable_ctx_params
    - OSSL_DECODER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM *

      OSSL_DECODER_settable_ctx_params(OSSL_DECODER *decoder)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: OSSL_DECODER_CTX_new
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_DECODER_CTX
    signature: OSSL_DECODER_CTX *OSSL_DECODER_CTX_new(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:647,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:648,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:655,1
    - Dst: sk_OSSL_DECODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:658,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:660,1
    - Dst: OSSL_DECODER_INSTANCE_get_decoder_ctx
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:662,1
    - Dst: OSSL_DECODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - OSSL_DECODER_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 670
    functionName: OSSL_DECODER_CTX_set_params
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - OSSL_DECODER_INSTANCE_get_decoder
    - ERR_raise
    - OSSL_DECODER_INSTANCE_get_decoder_ctx
    - OSSL_DECODER_CTX_get_num_decoders
    - OSSL_DECODER*::set_ctx_params
    - sk_OSSL_DECODER_INSTANCE_value
    linkageType: ''
    returnType: int
    signature: "int OSSL_DECODER_CTX_set_params(OSSL_DECODER_CTX *ctx,\n                                const
      OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX*::cleanup
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:676,1
    - Dst: sk_OSSL_DECODER_INSTANCE_pop_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:677,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:679,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/decoder_meth.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_DECODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: OSSL_DECODER_CTX_free
    functionSourceFile: /src/openssl/crypto/encode_decode/decoder_meth.c
    functionUses: 6
    functionsReached:
    - OSSL_DECODER_CTX*::cleanup
    - ossl_pw_clear_passphrase_data
    - OPENSSL_free
    - sk_OSSL_DECODER_INSTANCE_pop_free
    linkageType: ''
    returnType: void
    signature: void OSSL_DECODER_CTX_free(OSSL_DECODER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:33,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:36,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - cipher_name
    - propquery
    argTypes:
    - OSSL_ENCODER_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: OSSL_ENCODER_CTX_set_cipher
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_ENCODER_CTX_set_params
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_cipher(OSSL_ENCODER_CTX *ctx,\n                                const
      char *cipher_name,\n                                const char *propquery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_passphrase
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - kstr
    - klen
    argTypes:
    - OSSL_ENCODER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: OSSL_ENCODER_CTX_set_passphrase
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 1
    functionsReached:
    - ossl_pw_set_passphrase
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_passphrase(OSSL_ENCODER_CTX *ctx,\n                                    const
      unsigned char *kstr,\n                                    size_t klen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_ui_method
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_ENCODER_CTX*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: OSSL_ENCODER_CTX_set_passphrase_ui
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - ossl_pw_set_ui_method
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_passphrase_ui(OSSL_ENCODER_CTX *ctx,\n                                       const
      UI_METHOD *ui_method,\n                                       void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_pem_password_cb
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cb
    - cbarg
    argTypes:
    - OSSL_ENCODER_CTX*
    - pem_password_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: OSSL_ENCODER_CTX_set_pem_password_cb
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 1
    functionsReached:
    - ossl_pw_set_pem_password_cb
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_pem_password_cb(OSSL_ENCODER_CTX *ctx,\n
      \                                        pem_password_cb *cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cb
    - cbarg
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: OSSL_ENCODER_CTX_set_passphrase_cb
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - ossl_pw_set_ossl_passphrase_cb
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_passphrase_cb(OSSL_ENCODER_CTX *ctx,\n                                       OSSL_PASSPHRASE_CALLBACK
      *cb,\n                                       void *cbarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:97,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:105,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:106,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:113,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:114,1
    - Dst: OSSL_ENCODER*::does_selection
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:117,1
    - Dst: OSSL_ENCODER_CTX_add_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:123,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - encoder
    - arg
    argTypes:
    - OSSL_ENCODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 129
    functionName: collect_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_CTX_add_encoder
    - sk_OPENSSL_CSTRING_value
    - OSSL_ENCODER_is_a
    - OSSL_ENCODER_get0_provider
    - sk_OPENSSL_CSTRING_num
    - OSSL_ENCODER*::does_selection
    - OSSL_PROVIDER_get0_provider_ctx
    linkageType: ''
    returnType: void
    signature: void collect_encoder(OSSL_ENCODER *encoder, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: collect_name
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_push
    linkageType: ''
    returnType: void
    signature: void collect_name(const char *name, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:170,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:171,1
    - Dst: OSSL_ENCODER*::import_object
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: encoder_import_cb
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER*::import_object
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - OSSL_ENCODER_INSTANCE_get_encoder
    linkageType: ''
    returnType: int
    signature: int encoder_import_cb(const OSSL_PARAM params[], void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:186,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:188,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:189,1
    - Dst: evp_keymgmt_export
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - encoder_inst
    - arg
    argTypes:
    - OSSL_ENCODER_INSTANCE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: encoder_construct_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - evp_keymgmt_export
    - OSSL_ENCODER_INSTANCE_get_encoder
    - OSSL_ENCODER_get0_provider
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: void
    signature: 'void *

      encoder_construct_pkey(OSSL_ENCODER_INSTANCE *encoder_inst, void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:217,1
    - Dst: OSSL_ENCODER*::free_object
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: encoder_destruct_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER*::free_object
    - OSSL_ENCODER_INSTANCE_get_encoder
    linkageType: ''
    returnType: void
    signature: void encoder_destruct_pkey(void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:243,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:244,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:248,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:249,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:250,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:257,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:266,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:271,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:273,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:290,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:291,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:293,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:295,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:299,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:301,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:309,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:316,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:318,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:321,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:326,1
    - Dst: OSSL_ENCODER_CTX_set_construct
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:327,1
    - Dst: OSSL_ENCODER_CTX_set_construct_data
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:328,1
    - Dst: OSSL_ENCODER_CTX_set_cleanup
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:329,1
    - Dst: OSSL_ENCODER_CTX_set_construct_data
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:342,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 4
    argNames:
    - ctx
    - pkey
    - selection
    - propquery
    argTypes:
    - OSSL_ENCODER_CTX*
    - EVP_PKEY*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 232
    functionDepth: 9
    functionLinenumber: 232
    functionLinenumberEnd: 345
    functionName: ossl_encoder_ctx_setup_for_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - ERR_raise
    - OSSL_ENCODER_CTX_get_num_encoders
    - OPENSSL_free
    - ossl_assert
    - OPENSSL_zalloc
    - OSSL_ENCODER_CTX_set_construct_data
    - sk_OPENSSL_CSTRING_new_null
    - evp_pkey_is_provided
    - OSSL_ENCODER_CTX_set_cleanup
    - OPENSSL_malloc_array
    - ossl_namemap_stored
    - sk_OPENSSL_CSTRING_num
    - EVP_KEYMGMT_get0_provider
    - OSSL_ENCODER_do_all_provided
    - EVP_KEYMGMT_names_do_all
    - OSSL_ENCODER_CTX_set_construct
    - ossl_namemap_name2num
    - sk_OPENSSL_CSTRING_value
    - ossl_provider_libctx
    linkageType: ''
    returnType: int
    signature: "int ossl_encoder_ctx_setup_for_pkey(OSSL_ENCODER_CTX *ctx,\n                                           const
      EVP_PKEY *pkey,\n                                           int selection,\n
      \                                          const char *propquery)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:357,1
    - Dst: evp_pkey_is_assigned
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:361,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:362,1
    - Dst: OSSL_ENCODER_CTX_new
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:367,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:368,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:372,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:373,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:375,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:379,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:381,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:382,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:384,1
    - Dst: OSSL_ENCODER_CTX_set_output_type
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:386,1
    - Dst: OSSL_ENCODER_CTX_set_output_structure
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:388,1
    - Dst: OSSL_ENCODER_CTX_set_selection
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:389,1
    - Dst: ossl_encoder_ctx_setup_for_pkey
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:390,1
    - Dst: OSSL_ENCODER_CTX_add_extra
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:391,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:395,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:398,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:401,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:402,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:403,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - pkey
    - selection
    - output_type
    - output_struct
    - propquery
    argTypes:
    - EVP_PKEY*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 347
    functionDepth: 10
    functionLinenumber: 347
    functionLinenumberEnd: 409
    functionName: OSSL_ENCODER_CTX_new_for_pkey
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - OSSL_ENCODER_CTX_get_num_encoders
    - evp_pkey_is_assigned
    - OSSL_ENCODER_CTX_new
    - ossl_encoder_ctx_setup_for_pkey
    - evp_pkey_is_provided
    - BIO_printf
    - OSSL_ENCODER_CTX_set_selection
    - OSSL_ENCODER_CTX_set_output_type
    - ERR_raise_data
    - OSSL_ENCODER_CTX_free
    - EVP_KEYMGMT_get0_provider
    - OSSL_TRACE_END
    - OSSL_ENCODER_CTX_set_output_structure
    - ossl_provider_libctx
    - EVP_PKEY_get0_type_name
    - OSSL_PARAM_construct_int
    - OSSL_ENCODER_CTX_add_extra
    - OSSL_ENCODER_CTX_set_params
    linkageType: ''
    returnType: OSSL_ENCODER_CTX
    signature: "OSSL_ENCODER_CTX *OSSL_ENCODER_CTX_new_for_pkey(const EVP_PKEY *pkey,\n
      \                                               int selection,\n                                                const
      char *output_type,\n                                                const char
      *output_struct,\n                                                const char
      *propquery)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:379,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:381,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_type_name
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:401,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_pkey.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_pkey.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OSSL_ENCODER_CTX_get_num_encoders
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(ENCODER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ossl_encoder_free
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: void
    signature: void ossl_encoder_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ossl_encoder_up_ref
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_up_ref
    linkageType: ''
    returnType: int
    signature: int ossl_encoder_up_ref(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:42,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:44,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: ossl_encoder_new
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: OSSL_ENCODER
    signature: OSSL_ENCODER *ossl_encoder_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: OSSL_ENCODER_up_ref
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 2
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_up_ref(OSSL_ENCODER *encoder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:67,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:70,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:71,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:72,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:73,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: OSSL_ENCODER_free
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 3
    functionsReached:
    - ossl_provider_free
    - ossl_property_free
    - CRYPTO_DOWN_REF
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void OSSL_ENCODER_free(OSSL_ENCODER *encoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: get_tmp_encoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void
    signature: void *get_tmp_encoder_store(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: dealloc_tmp_encoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: void dealloc_tmp_encoder_store(void *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: get_encoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_METHOD_STORE
    signature: OSSL_METHOD_STORE *get_encoder_store(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:121,1
    - Dst: ossl_method_lock_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 6
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: reserve_encoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_lock_store
    - get_encoder_store
    linkageType: ''
    returnType: int
    signature: int reserve_encoder_store(void *store, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:132,1
    - Dst: ossl_method_unlock_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: unreserve_encoder_store
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_unlock_store
    - get_encoder_store
    linkageType: ''
    returnType: int
    signature: int unreserve_encoder_store(void *store, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:152,1
    - Dst: strchr
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:154,1
    - Dst: strlen
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:155,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:159,1
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:166,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: get_encoder_from_store
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - strchr
    - ossl_namemap_name2num_n
    - ossl_namemap_stored
    - ossl_method_store_fetch
    - strlen
    - get_encoder_store
    linkageType: ''
    returnType: void
    signature: "void *get_encoder_from_store(void *store, const OSSL_PROVIDER **prov,\n
      \                                   void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:191,1
    - Dst: strlen
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:193,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:196,1
    - Dst: ossl_namemap_name2num_n
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:197,1
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:200,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - store
    - method
    - prov
    - names
    - propdef
    - data
    argTypes:
    - void*
    - void*
    - OSSL_PROVIDER*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 174
    functionDepth: 7
    functionLinenumber: 174
    functionLinenumberEnd: 206
    functionName: put_encoder_in_store
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - strchr
    - ossl_namemap_name2num_n
    - ossl_method_store_add
    - ossl_namemap_stored
    - strlen
    - get_encoder_store
    linkageType: ''
    returnType: int
    signature: "int put_encoder_in_store(void *store, void *method,\n                                const
      OSSL_PROVIDER *prov,\n                                const char *names, const
      char *propdef,\n                                void *data)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:214,1
    - Dst: ossl_encoder_new
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:216,1
    - Dst: ossl_algorithm_get1_first_name
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:219,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:220,1
    - Dst: ossl_parse_property
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:225,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:226,1
    - Dst: OSSL_FUNC_encoder_newctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:235,1
    - Dst: OSSL_FUNC_encoder_freectx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:240,1
    - Dst: OSSL_FUNC_encoder_get_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:245,1
    - Dst: OSSL_FUNC_encoder_gettable_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:250,1
    - Dst: OSSL_FUNC_encoder_set_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:255,1
    - Dst: OSSL_FUNC_encoder_settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:260,1
    - Dst: OSSL_FUNC_encoder_does_selection
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:265,1
    - Dst: OSSL_FUNC_encoder_encode
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:269,1
    - Dst: OSSL_FUNC_encoder_import_object
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:274,1
    - Dst: OSSL_FUNC_encoder_free_object
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:279,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:294,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:298,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:299,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 68
    argCount: 3
    argNames:
    - id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 305
    functionName: encoder_from_algorithm
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_encoder_settable_ctx_params
    - ossl_algorithm_get1_first_name
    - ossl_provider_up_ref
    - OSSL_FUNC_encoder_freectx
    - OSSL_FUNC_encoder_get_params
    - OSSL_FUNC_encoder_gettable_params
    - ERR_raise
    - OSSL_FUNC_encoder_does_selection
    - OSSL_FUNC_encoder_set_ctx_params
    - ossl_parse_property
    - ossl_provider_libctx
    - OSSL_FUNC_encoder_free_object
    - OSSL_FUNC_encoder_newctx
    - OSSL_FUNC_encoder_import_object
    - OSSL_FUNC_encoder_encode
    - OSSL_ENCODER_free
    - ossl_encoder_new
    linkageType: ''
    returnType: void
    signature: "void *encoder_from_algorithm(int id, const OSSL_ALGORITHM *algodef,\n
      \                                   OSSL_PROVIDER *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:323,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:324,1
    - Dst: ossl_namemap_add_names
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:326,1
    - Dst: encoder_from_algorithm
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 313
    functionDepth: 7
    functionLinenumber: 313
    functionLinenumberEnd: 341
    functionName: construct_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - encoder_from_algorithm
    - ossl_namemap_add_names
    linkageType: ''
    returnType: void
    signature: "void *construct_encoder(const OSSL_ALGORITHM *algodef,\n                               OSSL_PROVIDER
      *prov, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: destruct_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: void
    signature: void destruct_encoder(void *method, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: up_ref_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_up_ref
    linkageType: ''
    returnType: int
    signature: int up_ref_encoder(void *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: free_encoder
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: void
    signature: void free_encoder(void *method)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:364,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:371,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:375,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:384,1
    - Dst: ossl_method_construct
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:400,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:410,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:411,1
    - Dst: ossl_namemap_num2name
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:426,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:427,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - methdata
    - name
    - properties
    argTypes:
    - struct encoder_data_st*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 360
    functionDepth: 7
    functionLinenumber: 360
    functionLinenumberEnd: 435
    functionName: inner_ossl_encoder_fetch
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_construct
    - ERR_raise
    - ossl_method_store_cache_set
    - ossl_lib_ctx_get_descriptor
    - ERR_raise_data
    - ossl_namemap_stored
    - ossl_namemap_num2name
    - ossl_method_store_cache_get
    - ossl_namemap_name2num
    - get_encoder_store
    linkageType: ''
    returnType: OSSL_ENCODER
    signature: "OSSL_ENCODER *\ninner_ossl_encoder_fetch(struct encoder_data_st *methdata,\n
      \                        const char *name, const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_encoder_fetch
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:445,1
    - Dst: dealloc_tmp_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - name
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 437
    functionDepth: 8
    functionLinenumber: 437
    functionLinenumberEnd: 448
    functionName: OSSL_ENCODER_fetch
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - inner_ossl_encoder_fetch
    - dealloc_tmp_encoder_store
    linkageType: ''
    returnType: OSSL_ENCODER
    signature: "OSSL_ENCODER *OSSL_ENCODER_fetch(OSSL_LIB_CTX *libctx, const char
      *name,\n                                 const char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:452,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 6
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: ossl_encoder_store_cache_flush
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 1
    functionsReached:
    - ossl_method_store_cache_flush_all
    - get_encoder_store
    linkageType: ''
    returnType: int
    signature: int ossl_encoder_store_cache_flush(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:461,1
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:462,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 6
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: ossl_encoder_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 1
    functionsReached:
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    - get_encoder_store
    linkageType: ''
    returnType: int
    signature: int ossl_encoder_store_remove_all_provided(const OSSL_PROVIDER *prov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:475,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: OSSL_ENCODER_get0_provider
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 4
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *OSSL_ENCODER_get0_provider(const OSSL_ENCODER *encoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: OSSL_ENCODER_get0_properties
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 3
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: char
    signature: char *OSSL_ENCODER_get0_properties(const OSSL_ENCODER *encoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 502
    functionName: ossl_encoder_parsed_properties
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST
    signature: 'OSSL_PROPERTY_LIST *

      ossl_encoder_parsed_properties(const OSSL_ENCODER *encoder)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:506,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: ossl_encoder_get_number
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_encoder_get_number(const OSSL_ENCODER *encoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: OSSL_ENCODER_get0_name
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_ENCODER_get0_name(const OSSL_ENCODER *encoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: OSSL_ENCODER_get0_description
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_ENCODER_get0_description(const OSSL_ENCODER *encoder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:527,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:528,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - encoder
    - name
    argTypes:
    - OSSL_ENCODER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 524
    functionDepth: 7
    functionLinenumber: 524
    functionLinenumberEnd: 533
    functionName: OSSL_ENCODER_is_a
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 2
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_name2num
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_is_a(const OSSL_ENCODER *encoder, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct do_one_data_st*::user_fn
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - int
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 545
    functionName: do_one
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - struct do_one_data_st*::user_fn
    linkageType: ''
    returnType: void
    signature: void do_one(ossl_unused int id, void *method, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inner_ossl_encoder_fetch
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:557,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:562,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:563,1
    - Dst: get_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:563,1
    - Dst: dealloc_tmp_encoder_store
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 547
    functionDepth: 8
    functionLinenumber: 547
    functionLinenumberEnd: 565
    functionName: OSSL_ENCODER_do_all_provided
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 1
    functionsReached:
    - inner_ossl_encoder_fetch
    - dealloc_tmp_encoder_store
    - get_encoder_store
    - ossl_method_store_do_all
    linkageType: ''
    returnType: void
    signature: "void OSSL_ENCODER_do_all_provided(OSSL_LIB_CTX *libctx,\n                                  void
      (*user_fn)(OSSL_ENCODER *encoder,\n                                                  void
      *arg),\n                                  void *user_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:575,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:576,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - encoder
    - data
    argTypes:
    - OSSL_ENCODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 567
    functionDepth: 7
    functionLinenumber: 567
    functionLinenumberEnd: 582
    functionName: OSSL_ENCODER_names_do_all
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_doall_names
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_names_do_all(const OSSL_ENCODER *encoder,\n                              void
      (*fn)(const char *name, void *data),\n                              void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:588,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:588,1
    - Dst: OSSL_ENCODER*::gettable_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: OSSL_ENCODER_gettable_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER*::gettable_params
    - ossl_provider_ctx
    - OSSL_ENCODER_get0_provider
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM *

      OSSL_ENCODER_gettable_params(OSSL_ENCODER *encoder)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER*::get_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - encoder
    - params
    argTypes:
    - OSSL_ENCODER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: OSSL_ENCODER_get_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER*::get_params
    linkageType: ''
    returnType: int
    signature: int OSSL_ENCODER_get_params(OSSL_ENCODER *encoder, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:605,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:605,1
    - Dst: OSSL_ENCODER*::settable_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - OSSL_ENCODER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 610
    functionName: OSSL_ENCODER_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - OSSL_ENCODER_get0_provider
    - OSSL_ENCODER*::settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *OSSL_ENCODER_settable_ctx_params(OSSL_ENCODER *encoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: OSSL_ENCODER_CTX_new
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_ENCODER_CTX
    signature: OSSL_ENCODER_CTX *OSSL_ENCODER_CTX_new(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:631,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:632,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:639,1
    - Dst: sk_OSSL_ENCODER_INSTANCE_value
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:642,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:643,1
    - Dst: OSSL_ENCODER_INSTANCE_get_encoder_ctx
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:644,1
    - Dst: OSSL_ENCODER*::set_ctx_params
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - OSSL_ENCODER_CTX*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 652
    functionName: OSSL_ENCODER_CTX_set_params
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    - OSSL_ENCODER_INSTANCE_get_encoder_ctx
    - ERR_raise
    - OSSL_ENCODER_CTX_get_num_encoders
    - OSSL_ENCODER*::set_ctx_params
    - OSSL_ENCODER_INSTANCE_get_encoder
    - sk_OSSL_ENCODER_INSTANCE_value
    linkageType: ''
    returnType: int
    signature: "int OSSL_ENCODER_CTX_set_params(OSSL_ENCODER_CTX *ctx,\n                                const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ENCODER_INSTANCE_pop_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:657,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:659,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:660,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/encode_decode/encoder_meth.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_ENCODER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 663
    functionName: OSSL_ENCODER_CTX_free
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_meth.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - sk_OSSL_ENCODER_INSTANCE_pop_free
    - ossl_pw_clear_passphrase_data
    linkageType: ''
    returnType: void
    signature: void OSSL_ENCODER_CTX_free(OSSL_ENCODER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/encode_decode/encoder_err.c:32,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/encode_decode/encoder_err.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ossl_err_load_OSSL_ENCODER_strings
    functionSourceFile: /src/openssl/crypto/encode_decode/encoder_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_OSSL_ENCODER_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/ess/ess_err.c:44,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/ess/ess_err.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: ossl_err_load_ESS_strings
    functionSourceFile: /src/openssl/crypto/ess/ess_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_ESS_strings(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ESS_SIGNING_CERT_new
      Src: /src/openssl/crypto/ess/ess_lib.c:32,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:33,1
    - Dst: sk_ESS_CERT_ID_new_null
      Src: /src/openssl/crypto/ess/ess_lib.c:37,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:38,1
    - Dst: ESS_CERT_ID_new_init
      Src: /src/openssl/crypto/ess/ess_lib.c:42,1
    - Dst: sk_ESS_CERT_ID_push
      Src: /src/openssl/crypto/ess/ess_lib.c:43,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:44,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ess/ess_lib.c:47,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ess/ess_lib.c:48,1
    - Dst: ESS_CERT_ID_new_init
      Src: /src/openssl/crypto/ess/ess_lib.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:51,1
    - Dst: sk_ESS_CERT_ID_push
      Src: /src/openssl/crypto/ess/ess_lib.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:55,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/ess/ess_lib.c:62,1
    - Dst: ESS_CERT_ID_free
      Src: /src/openssl/crypto/ess/ess_lib.c:63,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - signcert
    - certs
    - set_issuer_serial
    argTypes:
    - X509*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 65
    functionName: OSSL_ESS_signing_cert_new_init
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - ESS_CERT_ID_free
    - ERR_raise
    - ESS_SIGNING_CERT_new
    - sk_ESS_CERT_ID_push
    - sk_X509_value
    - ESS_SIGNING_CERT_free
    - ESS_CERT_ID_new_init
    - sk_X509_num
    - sk_ESS_CERT_ID_new_null
    linkageType: ''
    returnType: ESS_SIGNING_CERT
    signature: "ESS_SIGNING_CERT *OSSL_ESS_signing_cert_new_init(const X509 *signcert,\n
      \                                                const STACK_OF(X509) *certs,\n
      \                                                int set_issuer_serial)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ESS_CERT_ID_new
      Src: /src/openssl/crypto/ess/ess_lib.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:75,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/ess/ess_lib.c:78,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/ess/ess_lib.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:79,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ess/ess_lib.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:83,1
    - Dst: ESS_ISSUER_SERIAL_new
      Src: /src/openssl/crypto/ess/ess_lib.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:93,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/ess/ess_lib.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:97,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/ess/ess_lib.c:101,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/ess/ess_lib.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:102,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/ess/ess_lib.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:106,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ess/ess_lib.c:110,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ess/ess_lib.c:112,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/ess/ess_lib.c:112,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:113,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ess/ess_lib.c:119,1
    - Dst: ESS_CERT_ID_free
      Src: /src/openssl/crypto/ess/ess_lib.c:120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - cert
    - set_issuer_serial
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 122
    functionName: ESS_CERT_ID_new_init
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - ESS_CERT_ID_free
    - ERR_raise
    - sk_GENERAL_NAME_push
    - ASN1_OCTET_STRING_set
    - GENERAL_NAME_new
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - EVP_sha1
    - ASN1_INTEGER_free
    - X509_digest
    - ASN1_INTEGER_dup
    - X509_NAME_dup
    - ESS_ISSUER_SERIAL_new
    - GENERAL_NAME_free
    - ESS_CERT_ID_new
    linkageType: ''
    returnType: ESS_CERT_ID
    signature: "ESS_CERT_ID *ESS_CERT_ID_new_init(const X509 *cert,\n                                         int
      set_issuer_serial)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ESS_SIGNING_CERT_V2_new
      Src: /src/openssl/crypto/ess/ess_lib.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:135,1
    - Dst: ESS_CERT_ID_V2_new_init
      Src: /src/openssl/crypto/ess/ess_lib.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:140,1
    - Dst: sk_ESS_CERT_ID_V2_push
      Src: /src/openssl/crypto/ess/ess_lib.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:144,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ess/ess_lib.c:149,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ess/ess_lib.c:150,1
    - Dst: ESS_CERT_ID_V2_new_init
      Src: /src/openssl/crypto/ess/ess_lib.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:153,1
    - Dst: sk_ESS_CERT_ID_V2_push
      Src: /src/openssl/crypto/ess/ess_lib.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:157,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/ess/ess_lib.c:165,1
    - Dst: ESS_CERT_ID_V2_free
      Src: /src/openssl/crypto/ess/ess_lib.c:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - hash_alg
    - signcert
    - certs
    - set_issuer_serial
    argTypes:
    - EVP_MD*
    - X509*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 168
    functionName: OSSL_ESS_signing_cert_v2_new_init
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ESS_SIGNING_CERT_V2_free
    - sk_X509_value
    - ESS_CERT_ID_V2_new_init
    - ESS_SIGNING_CERT_V2_new
    - sk_ESS_CERT_ID_V2_push
    - ESS_CERT_ID_V2_free
    - sk_X509_num
    linkageType: ''
    returnType: ESS_SIGNING_CERT_V2
    signature: "ESS_SIGNING_CERT_V2 *OSSL_ESS_signing_cert_v2_new_init(const EVP_MD
      *hash_alg,\n                                                       const X509
      *signcert,\n                                                       const\n                                                       STACK_OF(X509)
      *certs,\n                                                       int set_issuer_serial)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ess/ess_lib.c:180,1
    - Dst: ESS_CERT_ID_V2_new
      Src: /src/openssl/crypto/ess/ess_lib.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:183,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/ess/ess_lib.c:187,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/ess/ess_lib.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:190,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/ess/ess_lib.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:195,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/ess/ess_lib.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:205,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ess/ess_lib.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:210,1
    - Dst: ESS_ISSUER_SERIAL_new
      Src: /src/openssl/crypto/ess/ess_lib.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:218,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/ess/ess_lib.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:222,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/ess/ess_lib.c:226,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/ess/ess_lib.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:227,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/ess/ess_lib.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:231,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ess/ess_lib.c:235,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ess/ess_lib.c:236,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/ess/ess_lib.c:236,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:238,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/ess/ess_lib.c:244,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ess/ess_lib.c:245,1
    - Dst: ESS_CERT_ID_V2_free
      Src: /src/openssl/crypto/ess/ess_lib.c:246,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - hash_alg
    - cert
    - set_issuer_serial
    argTypes:
    - EVP_MD*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 170
    functionDepth: 9
    functionLinenumber: 170
    functionLinenumberEnd: 248
    functionName: ESS_CERT_ID_V2_new_init
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ASN1_OCTET_STRING_set
    - EVP_MD_is_a
    - ASN1_INTEGER_free
    - X509_digest
    - X509_ALGOR_free
    - ESS_CERT_ID_V2_free
    - ESS_CERT_ID_V2_new
    - sk_GENERAL_NAME_push
    - GENERAL_NAME_new
    - X509_get0_serialNumber
    - ASN1_INTEGER_dup
    - X509_NAME_dup
    - ESS_ISSUER_SERIAL_new
    - GENERAL_NAME_free
    - X509_get_issuer_name
    - X509_ALGOR_set_md
    - memset
    - X509_ALGOR_new
    linkageType: ''
    returnType: ESS_CERT_ID_V2
    signature: "ESS_CERT_ID_V2 *ESS_CERT_ID_V2_new_init(const EVP_MD *hash_alg,\n
      \                                              const X509 *cert,\n                                               int
      set_issuer_serial)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/ess/ess_lib.c:254,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/ess/ess_lib.c:257,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/ess/ess_lib.c:259,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/ess/ess_lib.c:259,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/ess/ess_lib.c:262,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/ess/ess_lib.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - is
    - cert
    argTypes:
    - ESS_ISSUER_SERIAL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 263
    functionName: ess_issuer_serial_cmp
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 0
    functionsReached:
    - X509_get_issuer_name
    - ASN1_INTEGER_cmp
    - X509_get0_serialNumber
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    linkageType: ''
    returnType: int
    signature: int ess_issuer_serial_cmp(const ESS_ISSUER_SERIAL *is, const X509 *cert)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:283,1
    - Dst: strcpy
      Src: /src/openssl/crypto/ess/ess_lib.c:288,1
    - Dst: strcpy
      Src: /src/openssl/crypto/ess/ess_lib.c:290,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/ess/ess_lib.c:292,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/ess/ess_lib.c:294,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ess/ess_lib.c:295,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/ess/ess_lib.c:298,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/ess/ess_lib.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:302,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/ess/ess_lib.c:305,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ess/ess_lib.c:307,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ess/ess_lib.c:308,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/ess/ess_lib.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:313,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ess/ess_lib.c:317,1
    - Dst: ess_issuer_serial_cmp
      Src: /src/openssl/crypto/ess/ess_lib.c:321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:333,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ess/ess_lib.c:335,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 4
    argNames:
    - cid
    - cid_v2
    - index
    - certs
    argTypes:
    - ESS_CERT_ID*
    - ESS_CERT_ID_V2*
    - int
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 270
    functionDepth: 10
    functionLinenumber: 270
    functionLinenumberEnd: 337
    functionName: find
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 26
    functionsReached:
    - strcpy
    - memcmp
    - EVP_MD_free
    - ERR_raise
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - sk_X509_value
    - ERR_set_mark
    - ess_issuer_serial_cmp
    - X509_digest
    - EVP_get_digestbyname
    - EVP_MD_fetch
    - ERR_clear_last_mark
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: "int find(const ESS_CERT_ID *cid, const ESS_CERT_ID_V2 *cid_v2,\n                int
      index, const STACK_OF(X509) *certs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_ESS_CERT_ID_num
      Src: /src/openssl/crypto/ess/ess_lib.c:344,1
    - Dst: sk_ESS_CERT_ID_V2_num
      Src: /src/openssl/crypto/ess/ess_lib.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:349,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ess/ess_lib.c:353,1
    - Dst: find
      Src: /src/openssl/crypto/ess/ess_lib.c:358,1
    - Dst: sk_ESS_CERT_ID_value
      Src: /src/openssl/crypto/ess/ess_lib.c:358,1
    - Dst: find
      Src: /src/openssl/crypto/ess/ess_lib.c:363,1
    - Dst: sk_ESS_CERT_ID_V2_value
      Src: /src/openssl/crypto/ess/ess_lib.c:363,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - ss
    - ssv2
    - chain
    - require_signing_cert
    argTypes:
    - ESS_SIGNING_CERT*
    - ESS_SIGNING_CERT_V2*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 339
    functionDepth: 11
    functionLinenumber: 339
    functionLinenumberEnd: 368
    functionName: OSSL_ESS_check_signing_certs
    functionSourceFile: /src/openssl/crypto/ess/ess_lib.c
    functionUses: 1
    functionsReached:
    - find
    - ERR_raise
    - sk_ESS_CERT_ID_V2_value
    - sk_ESS_CERT_ID_num
    - sk_ESS_CERT_ID_V2_num
    - sk_ESS_CERT_ID_value
    linkageType: ''
    returnType: int
    signature: "int OSSL_ESS_check_signing_certs(const ESS_SIGNING_CERT *ss,\n                                 const
      ESS_SIGNING_CERT_V2 *ssv2,\n                                 const STACK_OF(X509)
      *chain,\n                                 int require_signing_cert)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/srp/srp_vfy.c:53,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:61,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/crypto/srp/srp_vfy.c:82,1
    - Dst: evp_encode_ctx_set_flags
      Src: /src/openssl/crypto/srp/srp_vfy.c:83,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:87,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:91,1
    - Dst: EVP_DecodeFinal
      Src: /src/openssl/crypto/srp/srp_vfy.c:96,1
    - Dst: memmove
      Src: /src/openssl/crypto/srp/srp_vfy.c:119,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:124,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - a
    - alen
    - src
    argTypes:
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 127
    functionName: t_fromb64
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - EVP_DecodeInit
    - EVP_DecodeFinal
    - evp_encode_ctx_set_flags
    - EVP_DecodeUpdate
    - memmove
    - EVP_ENCODE_CTX_free
    - strlen
    - EVP_ENCODE_CTX_new
    linkageType: ''
    returnType: int
    signature: int t_fromb64(unsigned char *a, size_t alen, const char *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:135,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/crypto/srp/srp_vfy.c:143,1
    - Dst: evp_encode_ctx_set_flags
      Src: /src/openssl/crypto/srp/srp_vfy.c:144,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:154,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:156,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:160,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:162,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/crypto/srp/srp_vfy.c:166,1
    - Dst: memmove
      Src: /src/openssl/crypto/srp/srp_vfy.c:171,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 177
    functionName: t_tob64
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - EVP_EncodeUpdate
    - EVP_EncodeInit
    - evp_encode_ctx_set_flags
    - memmove
    - EVP_ENCODE_CTX_free
    - EVP_EncodeFinal
    - EVP_ENCODE_CTX_new
    linkageType: ''
    returnType: int
    signature: int t_tob64(char *dst, const unsigned char *src, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:183,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:184,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:185,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - user_pwd
    argTypes:
    - SRP_user_pwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: SRP_user_pwd_free
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void SRP_user_pwd_free(SRP_user_pwd *user_pwd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_vfy.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: SRP_user_pwd_new
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: SRP_user_pwd
    signature: SRP_user_pwd *SRP_user_pwd_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vinfo
    - g
    - N
    argTypes:
    - SRP_user_pwd*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: SRP_user_pwd_set_gN
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SRP_user_pwd_set_gN(SRP_user_pwd *vinfo, const BIGNUM *g,\n                         const
      BIGNUM *N)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:215,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:216,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:219,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - vinfo
    - id
    - info
    argTypes:
    - SRP_user_pwd*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: SRP_user_pwd_set1_ids
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: "int SRP_user_pwd_set1_ids(SRP_user_pwd *vinfo, const char *id,\n                          const
      char *info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:233,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:236,1
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:238,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:241,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - vinfo
    - s
    - v
    argTypes:
    - SRP_user_pwd*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 249
    functionName: SRP_user_pwd_set_sv
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - t_fromb64
    - BN_free
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: "int SRP_user_pwd_set_sv(SRP_user_pwd *vinfo, const char *s,\n                               const
      char *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:253,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vinfo
    - s
    - v
    argTypes:
    - SRP_user_pwd*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: SRP_user_pwd_set0_sv
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - BN_free
    linkageType: ''
    returnType: int
    signature: int SRP_user_pwd_set0_sv(SRP_user_pwd *vinfo, BIGNUM *s, BIGNUM *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SRP_user_pwd_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:266,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:269,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/openssl/crypto/srp/srp_vfy.c:270,1
    - Dst: SRP_user_pwd_set0_sv
      Src: /src/openssl/crypto/srp/srp_vfy.c:271,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/srp/srp_vfy.c:271,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/srp/srp_vfy.c:271,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - src
    argTypes:
    - SRP_user_pwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: srp_user_pwd_dup
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - SRP_user_pwd_free
    - SRP_user_pwd_set0_sv
    - SRP_user_pwd_set_gN
    - SRP_user_pwd_new
    - BN_dup
    - SRP_user_pwd_set1_ids
    linkageType: ''
    returnType: SRP_user_pwd
    signature: SRP_user_pwd *srp_user_pwd_dup(SRP_user_pwd *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_vfy.c:280,1
    - Dst: sk_SRP_user_pwd_new_null
      Src: /src/openssl/crypto/srp/srp_vfy.c:284,1
    - Dst: sk_SRP_gN_cache_new_null
      Src: /src/openssl/crypto/srp/srp_vfy.c:285,1
    - Dst: sk_SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:286,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:287,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:293,1
    - Dst: sk_SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:294,1
    - Dst: sk_SRP_gN_cache_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:295,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - seed_key
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: SRP_VBASE_new
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_SRP_user_pwd_new_null
    - sk_SRP_gN_cache_new_null
    - OPENSSL_free
    - OPENSSL_strdup
    - sk_SRP_gN_cache_free
    - sk_SRP_user_pwd_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: SRP_VBASE
    signature: SRP_VBASE *SRP_VBASE_new(char *seed_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_user_pwd_pop_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:306,1
    - Dst: sk_SRP_gN_cache_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vb
    argTypes:
    - SRP_VBASE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: SRP_VBASE_free
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_SRP_user_pwd_pop_free
    - OPENSSL_free
    - sk_SRP_gN_cache_free
    linkageType: ''
    returnType: void
    signature: void SRP_VBASE_free(SRP_VBASE *vb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_vfy.c:316,1
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:321,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:325,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 335
    functionName: SRP_gN_new_init
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - t_fromb64
    - BN_bin2bn
    - OPENSSL_free
    - OPENSSL_strdup
    - OPENSSL_malloc
    linkageType: ''
    returnType: SRP_gN_cache
    signature: SRP_gN_cache *SRP_gN_new_init(const char *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:341,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:342,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - gN_cache
    argTypes:
    - SRP_gN_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: SRP_gN_free
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void SRP_gN_free(SRP_gN_cache *gN_cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_gN_num
      Src: /src/openssl/crypto/srp/srp_vfy.c:352,1
    - Dst: sk_SRP_gN_value
      Src: /src/openssl/crypto/srp/srp_vfy.c:353,1
    - Dst: strcmp
      Src: /src/openssl/crypto/srp/srp_vfy.c:354,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - id
    - gN_tab
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: SRP_get_gN_by_id
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - SRP_get_default_gN
    - sk_SRP_gN_num
    - sk_SRP_gN_value
    linkageType: ''
    returnType: SRP_gN
    signature: SRP_gN *SRP_get_gN_by_id(const char *id, STACK_OF(SRP_gN) *gN_tab)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_gN_cache_num
      Src: /src/openssl/crypto/srp/srp_vfy.c:369,1
    - Dst: sk_SRP_gN_cache_value
      Src: /src/openssl/crypto/srp/srp_vfy.c:370,1
    - Dst: strcmp
      Src: /src/openssl/crypto/srp/srp_vfy.c:371,1
    - Dst: SRP_gN_new_init
      Src: /src/openssl/crypto/srp/srp_vfy.c:375,1
    - Dst: sk_SRP_gN_cache_insert
      Src: /src/openssl/crypto/srp/srp_vfy.c:377,1
    - Dst: SRP_gN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - gN_cache
    - ch
    argTypes:
    - STACK_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 362
    functionDepth: 6
    functionLinenumber: 362
    functionLinenumberEnd: 383
    functionName: SRP_gN_place_bn
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - SRP_gN_new_init
    - SRP_gN_free
    - sk_SRP_gN_cache_insert
    - sk_SRP_gN_cache_value
    - sk_SRP_gN_cache_num
    - strcmp
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *SRP_gN_place_bn(STACK_OF(SRP_gN_cache) *gN_cache, char *ch)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/srp/srp_vfy.c:398,1
    - Dst: sk_SRP_gN_new_null
      Src: /src/openssl/crypto/srp/srp_vfy.c:398,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:407,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/srp/srp_vfy.c:407,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/srp/srp_vfy.c:415,1
    - Dst: BIO_read_filename
      Src: /src/openssl/crypto/srp/srp_vfy.c:419,1
    - Dst: TXT_DB_read
      Src: /src/openssl/crypto/srp/srp_vfy.c:424,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:430,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/crypto/srp/srp_vfy.c:432,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/crypto/srp/srp_vfy.c:433,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_vfy.c:439,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/srp/srp_vfy.c:442,1
    - Dst: SRP_gN_place_bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:443,1
    - Dst: SRP_gN_place_bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:445,1
    - Dst: sk_SRP_gN_insert
      Src: /src/openssl/crypto/srp/srp_vfy.c:447,1
    - Dst: SRP_get_gN_by_id
      Src: /src/openssl/crypto/srp/srp_vfy.c:459,1
    - Dst: SRP_user_pwd_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:461,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:464,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/openssl/crypto/srp/srp_vfy.c:465,1
    - Dst: SRP_user_pwd_set_sv
      Src: /src/openssl/crypto/srp/srp_vfy.c:470,1
    - Dst: sk_SRP_user_pwd_insert
      Src: /src/openssl/crypto/srp/srp_vfy.c:474,1
    - Dst: SRP_get_gN_by_id
      Src: /src/openssl/crypto/srp/srp_vfy.c:484,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:501,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:502,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:505,1
    - Dst: TXT_DB_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:507,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/srp/srp_vfy.c:508,1
    - Dst: sk_SRP_gN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:510,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 79
    argCount: 2
    argNames:
    - vb
    - verifier_file
    argTypes:
    - SRP_VBASE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 395
    functionDepth: 7
    functionLinenumber: 395
    functionLinenumberEnd: 514
    functionName: SRP_VBASE_init
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - TXT_DB_read
    - sk_SRP_gN_insert
    - sk_SRP_gN_new_null
    - OPENSSL_free
    - SRP_user_pwd_new
    - BIO_new
    - BIO_free_all
    - sk_OPENSSL_PSTRING_value
    - SRP_user_pwd_set_gN
    - OPENSSL_strdup
    - SRP_user_pwd_set1_ids
    - OPENSSL_malloc
    - sk_OPENSSL_PSTRING_num
    - SRP_user_pwd_free
    - sk_SRP_user_pwd_insert
    - STACK_OF
    - SRP_get_default_gN
    - BIO_s_file
    - SRP_user_pwd_set_sv
    - sk_SRP_gN_free
    - BIO_read_filename
    - TXT_DB_free
    - SRP_get_gN_by_id
    - SRP_gN_place_bn
    linkageType: ''
    returnType: int
    signature: int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_user_pwd_num
      Src: /src/openssl/crypto/srp/srp_vfy.c:524,1
    - Dst: sk_SRP_user_pwd_value
      Src: /src/openssl/crypto/srp/srp_vfy.c:525,1
    - Dst: strcmp
      Src: /src/openssl/crypto/srp/srp_vfy.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 531
    functionName: find_user
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - sk_SRP_user_pwd_num
    - sk_SRP_user_pwd_value
    linkageType: ''
    returnType: SRP_user_pwd
    signature: SRP_user_pwd *find_user(SRP_VBASE *vb, char *username)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_SRP_user_pwd_push
      Src: /src/openssl/crypto/srp/srp_vfy.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vb
    - user_pwd
    argTypes:
    - SRP_VBASE*
    - SRP_user_pwd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: SRP_VBASE_add0_user
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_SRP_user_pwd_push
    linkageType: ''
    returnType: int
    signature: int SRP_VBASE_add0_user(SRP_VBASE *vb, SRP_user_pwd *user_pwd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_user
      Src: /src/openssl/crypto/srp/srp_vfy.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: SRP_VBASE_get_by_user
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - find_user
    linkageType: ''
    returnType: SRP_user_pwd
    signature: SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: find_user
      Src: /src/openssl/crypto/srp/srp_vfy.c:568,1
    - Dst: srp_user_pwd_dup
      Src: /src/openssl/crypto/srp/srp_vfy.c:569,1
    - Dst: SRP_user_pwd_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:577,1
    - Dst: SRP_user_pwd_set_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:580,1
    - Dst: SRP_user_pwd_set1_ids
      Src: /src/openssl/crypto/srp/srp_vfy.c:582,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/srp/srp_vfy.c:585,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/srp/srp_vfy.c:587,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:590,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:592,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:593,1
    - Dst: strlen
      Src: /src/openssl/crypto/srp/srp_vfy.c:593,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_vfy.c:594,1
    - Dst: strlen
      Src: /src/openssl/crypto/srp/srp_vfy.c:594,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:595,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:597,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:599,1
    - Dst: SRP_user_pwd_set0_sv
      Src: /src/openssl/crypto/srp/srp_vfy.c:601,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:602,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:603,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:607,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:608,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:609,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - vb
    - username
    argTypes:
    - SRP_VBASE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 557
    functionDepth: 10
    functionLinenumber: 557
    functionLinenumberEnd: 611
    functionName: SRP_VBASE_get1_by_user
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_DigestFinal_ex
    - SRP_user_pwd_free
    - find_user
    - EVP_DigestUpdate
    - SRP_user_pwd_set0_sv
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - srp_user_pwd_dup
    - SRP_user_pwd_set_gN
    - BN_bin2bn
    - EVP_DigestInit_ex
    - SRP_user_pwd_new
    - EVP_MD_fetch
    - strlen
    - SRP_user_pwd_set1_ids
    - RAND_priv_bytes
    linkageType: ''
    returnType: SRP_user_pwd
    signature: SRP_user_pwd *SRP_VBASE_get1_by_user(SRP_VBASE *vb, char *username)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:634,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:636,1
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:640,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:642,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/crypto/srp/srp_vfy.c:648,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:657,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:660,1
    - Dst: t_fromb64
      Src: /src/openssl/crypto/srp/srp_vfy.c:662,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:664,1
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:669,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/srp/srp_vfy.c:673,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_vfy.c:675,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_vfy.c:676,1
    - Dst: t_tob64
      Src: /src/openssl/crypto/srp/srp_vfy.c:678,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_vfy.c:678,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/srp/srp_vfy.c:684,1
    - Dst: t_tob64
      Src: /src/openssl/crypto/srp/srp_vfy.c:686,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:687,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:698,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:699,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:700,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:701,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:702,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 79
    argCount: 8
    argNames:
    - user
    - pass
    - salt
    - verifier
    - N
    - g
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - char**
    - char**
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 704
    functionName: SRP_create_verifier_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - BN_free
    - t_tob64
    - t_fromb64
    - BN_num_bytes
    - OPENSSL_malloc_array
    - OPENSSL_clear_free
    - BN_clear_free
    - BN_bin2bn
    - SRP_create_verifier_BN_ex
    - SRP_get_default_gN
    - OPENSSL_free
    - BN_bn2bin
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: "char *SRP_create_verifier_ex(const char *user, const char *pass, char
      **salt,\n                             char **verifier, const char *N, const
      char *g,\n                             OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_create_verifier_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - user
    - pass
    - salt
    - verifier
    - N
    - g
    argTypes:
    - char*
    - char*
    - char**
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 6
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: SRP_create_verifier
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - SRP_create_verifier_ex
    linkageType: ''
    returnType: char
    signature: "char *SRP_create_verifier(const char *user, const char *pass, char
      **salt,\n                          char **verifier, const char *N, const char
      *g)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:728,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:739,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_vfy.c:742,1
    - Dst: SRP_Calc_x_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:749,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_vfy.c:753,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_vfy.c:757,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:758,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:768,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:769,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_vfy.c:770,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 8
    argNames:
    - user
    - pass
    - salt
    - verifier
    - N
    - g
    - libctx
    - propq
    argTypes:
    - char*
    - char*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 721
    functionDepth: 5
    functionLinenumber: 721
    functionLinenumberEnd: 772
    functionName: SRP_create_verifier_BN_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 1
    functionsReached:
    - RAND_bytes_ex
    - BN_clear_free
    - BN_bin2bn
    - BN_CTX_free
    - BN_new
    - BN_mod_exp
    - SRP_Calc_x_ex
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int SRP_create_verifier_BN_ex(const char *user, const char *pass,
      BIGNUM **salt,\n                              BIGNUM **verifier, const BIGNUM
      *N,\n                              const BIGNUM *g, OSSL_LIB_CTX *libctx,\n
      \                             const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/openssl/crypto/srp/srp_vfy.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - user
    - pass
    - salt
    - verifier
    - N
    - g
    argTypes:
    - char*
    - char*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 774
    functionDepth: 6
    functionLinenumber: 774
    functionLinenumberEnd: 780
    functionName: SRP_create_verifier_BN
    functionSourceFile: /src/openssl/crypto/srp/srp_vfy.c
    functionUses: 0
    functionsReached:
    - SRP_create_verifier_BN_ex
    linkageType: ''
    returnType: int
    signature: "int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM
      **salt,\n                           BIGNUM **verifier, const BIGNUM *N,\n                           const
      BIGNUM *g)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_lib.c:31,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/srp/srp_lib.c:33,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/srp/srp_lib.c:38,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/srp/srp_lib.c:40,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/srp/srp_lib.c:42,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/srp/srp_lib.c:44,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/srp/srp_lib.c:45,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/srp/srp_lib.c:46,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_lib.c:48,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/srp/srp_lib.c:50,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_lib.c:51,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 5
    argNames:
    - x
    - y
    - N
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 10
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: srp_Calc_xy
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - BN_num_bytes
    - OPENSSL_malloc_array
    - EVP_Digest
    - BN_bin2bn
    - OPENSSL_free
    - BN_ucmp
    - EVP_MD_fetch
    - BN_bn2binpad
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *srp_Calc_xy(const BIGNUM *x, const BIGNUM *y, const BIGNUM
      *N,\n                           OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srp_Calc_xy
      Src: /src/openssl/crypto/srp/srp_lib.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - N
    - g
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 11
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: srp_Calc_k
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - srp_Calc_xy
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *srp_Calc_k(const BIGNUM *N, const BIGNUM *g,\n                          OSSL_LIB_CTX
      *libctx,\n                          const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srp_Calc_xy
      Src: /src/openssl/crypto/srp/srp_lib.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - A
    - B
    - N
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 11
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: SRP_Calc_u_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - srp_Calc_xy
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *SRP_Calc_u_ex(const BIGNUM *A, const BIGNUM *B, const BIGNUM
      *N,\n                      OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srp_Calc_xy
      Src: /src/openssl/crypto/srp/srp_lib.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - A
    - B
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 11
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: SRP_Calc_u
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - srp_Calc_xy
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/srp/srp_lib.c:85,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:85,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:90,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/srp/srp_lib.c:92,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:95,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:96,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:97,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:101,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:102,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 5
    argNames:
    - A
    - v
    - u
    - b
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 104
    functionName: SRP_Calc_server_key
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - BN_CTX_new
    - BN_CTX_free
    - BN_new
    - BN_mod_exp
    - BN_free
    - BN_mod_mul
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const
      BIGNUM *u,\n                            const BIGNUM *b, const BIGNUM *N)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:114,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:117,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:118,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:118,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:123,1
    - Dst: srp_Calc_k
      Src: /src/openssl/crypto/srp/srp_lib.c:124,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/srp/srp_lib.c:125,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/srp/srp_lib.c:126,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:127,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:131,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:132,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:133,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 6
    argNames:
    - b
    - N
    - g
    - v
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 106
    functionDepth: 12
    functionLinenumber: 106
    functionLinenumberEnd: 136
    functionName: SRP_Calc_B_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - srp_Calc_k
    - BN_mod_mul
    - BN_clear_free
    - BN_CTX_free
    - BN_new
    - BN_mod_exp
    - BN_free
    - BN_mod_add
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *SRP_Calc_B_ex(const BIGNUM *b, const BIGNUM *N, const BIGNUM
      *g,\n                      const BIGNUM *v, OSSL_LIB_CTX *libctx, const char
      *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_Calc_B_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - b
    - N
    - g
    - v
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 13
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: SRP_Calc_B
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - SRP_Calc_B_ex
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM
      *g,\n                   const BIGNUM *v)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/srp/srp_lib.c:156,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/srp/srp_lib.c:159,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_lib.c:159,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/srp/srp_lib.c:162,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:166,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_lib.c:167,1
    - Dst: strlen
      Src: /src/openssl/crypto/srp/srp_lib.c:167,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_lib.c:168,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_lib.c:169,1
    - Dst: strlen
      Src: /src/openssl/crypto/srp/srp_lib.c:169,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:170,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:171,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/srp/srp_lib.c:173,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_lib.c:175,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/srp/srp_lib.c:175,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/srp/srp_lib.c:178,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:179,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/srp/srp_lib.c:182,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/srp/srp_lib.c:185,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/srp/srp_lib.c:186,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:187,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 32
    argCount: 5
    argNames:
    - s
    - user
    - pass
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 144
    functionDepth: 10
    functionLinenumber: 144
    functionLinenumberEnd: 189
    functionName: SRP_Calc_x_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - BN_num_bytes
    - BN_bn2bin
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - BN_bin2bn
    - OPENSSL_free
    - EVP_DigestInit_ex
    - EVP_MD_fetch
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *SRP_Calc_x_ex(const BIGNUM *s, const char *user, const char
      *pass,\n                      OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_Calc_x_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - user
    - pass
    argTypes:
    - BIGNUM*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 11
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: SRP_Calc_x
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - SRP_Calc_x_ex
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/srp/srp_lib.c:201,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:204,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:204,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:205,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - a
    - N
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: SRP_Calc_A
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new
    - BN_CTX_free
    - BN_new
    - BN_mod_exp
    - BN_free
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM *g)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:221,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:224,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:225,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:226,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:227,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/srp/srp_lib.c:230,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/srp/srp_lib.c:231,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:232,1
    - Dst: srp_Calc_k
      Src: /src/openssl/crypto/srp/srp_lib.c:234,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/srp/srp_lib.c:236,1
    - Dst: BN_mod_sub
      Src: /src/openssl/crypto/srp/srp_lib.c:238,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/srp/srp_lib.c:240,1
    - Dst: BN_add
      Src: /src/openssl/crypto/srp/srp_lib.c:242,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:244,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/srp/srp_lib.c:245,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:246,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:251,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:252,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:253,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:254,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/srp/srp_lib.c:255,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:256,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 40
    argCount: 8
    argNames:
    - N
    - B
    - g
    - x
    - a
    - u
    - libctx
    - propq
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 212
    functionDepth: 12
    functionLinenumber: 212
    functionLinenumberEnd: 258
    functionName: SRP_Calc_client_key_ex
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - srp_Calc_k
    - BN_mul
    - BN_with_flags
    - BN_mod_mul
    - BN_clear_free
    - BN_add
    - BN_CTX_free
    - BN_mod_sub
    - BN_new
    - BN_mod_exp
    - BN_free
    - BN_set_flags
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *SRP_Calc_client_key_ex(const BIGNUM *N, const BIGNUM *B, const
      BIGNUM *g,\n                            const BIGNUM *x, const BIGNUM *a, const
      BIGNUM *u,\n                            OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_Calc_client_key_ex
      Src: /src/openssl/crypto/srp/srp_lib.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - N
    - B
    - g
    - x
    - a
    - u
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 13
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: SRP_Calc_client_key
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - SRP_Calc_client_key_ex
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const
      BIGNUM *g,\n                            const BIGNUM *x, const BIGNUM *a, const
      BIGNUM *u)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/srp/srp_lib.c:272,1
    - Dst: BN_new
      Src: /src/openssl/crypto/srp/srp_lib.c:275,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/srp/srp_lib.c:278,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/srp/srp_lib.c:280,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/srp/srp_lib.c:282,1
    - Dst: BN_free
      Src: /src/openssl/crypto/srp/srp_lib.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - B
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 285
    functionName: SRP_Verify_B_mod_N
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - BN_nnmod
    - BN_CTX_new
    - BN_is_zero
    - BN_CTX_free
    - BN_new
    - BN_free
    linkageType: ''
    returnType: int
    signature: int SRP_Verify_B_mod_N(const BIGNUM *B, const BIGNUM *N)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SRP_Verify_B_mod_N
      Src: /src/openssl/crypto/srp/srp_lib.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - A
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: SRP_Verify_A_mod_N
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - SRP_Verify_B_mod_N
    linkageType: ''
    returnType: int
    signature: int SRP_Verify_A_mod_N(const BIGNUM *A, const BIGNUM *N)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/crypto/srp/srp_lib.c:316,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/srp/srp_lib.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - g
    - N
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: SRP_check_known_gN_param
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    linkageType: ''
    returnType: char
    signature: char *SRP_check_known_gN_param(const BIGNUM *g, const BIGNUM *N)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/srp/srp_lib.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 333
    functionName: SRP_get_default_gN
    functionSourceFile: /src/openssl/crypto/srp/srp_lib.c
    functionUses: 3
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: SRP_gN
    signature: SRP_gN *SRP_get_default_gN(const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_TRUST**
    - X509_TRUST**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: tr_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tr_cmp(const X509_TRUST *const *a, const X509_TRUST *const *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: "(*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int,
      X509 *,\n                                                                int)"
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*X509_TRUST_set_default(int (*trust) (int, X509 *, int))) (int,
      X509 *,\n                                                                int)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obj_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:73,1
    - Dst: X509_TRUST_get_by_id
      Src: /src/openssl/crypto/x509/x509_trust.c:75,1
    - Dst: default_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:77,1
    - Dst: X509_TRUST_get0
      Src: /src/openssl/crypto/x509/x509_trust.c:78,1
    - Dst: X509_TRUST*::check_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - id
    - flags
    argTypes:
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: X509_check_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - X509_TRUST*::check_trust
    - obj_trust
    - X509_TRUST_get_by_id
    - X509_TRUST_get0
    - default_trust
    linkageType: ''
    returnType: int
    signature: int X509_check_trust(X509 *x, int id, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_num
      Src: /src/openssl/crypto/x509/x509_trust.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: X509_TRUST_get_count
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - sk_X509_TRUST_num
    linkageType: ''
    returnType: int
    signature: int X509_TRUST_get_count(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_value
      Src: /src/openssl/crypto/x509/x509_trust.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: X509_TRUST_get0
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 1
    functionsReached:
    - sk_X509_TRUST_value
    linkageType: ''
    returnType: X509_TRUST
    signature: X509_TRUST *X509_TRUST_get0(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_sort
      Src: /src/openssl/crypto/x509/x509_trust.c:109,1
    - Dst: sk_X509_TRUST_find
      Src: /src/openssl/crypto/x509/x509_trust.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: X509_TRUST_get_by_id
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 1
    functionsReached:
    - sk_X509_TRUST_find
    - sk_X509_TRUST_sort
    linkageType: ''
    returnType: int
    signature: int X509_TRUST_get_by_id(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_TRUST_get_by_id
      Src: /src/openssl/crypto/x509/x509_trust.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_trust.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - t
    - trust
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: X509_TRUST_set
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_TRUST_get_by_id
    linkageType: ''
    returnType: int
    signature: int X509_TRUST_set(int *t, int trust)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_TRUST_get_by_id
      Src: /src/openssl/crypto/x509/x509_trust.c:138,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x509_trust.c:141,1
    - Dst: X509_TRUST_get0
      Src: /src/openssl/crypto/x509/x509_trust.c:145,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:149,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_trust.c:151,1
    - Dst: sk_X509_TRUST_new
      Src: /src/openssl/crypto/x509/x509_trust.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_trust.c:167,1
    - Dst: sk_X509_TRUST_push
      Src: /src/openssl/crypto/x509/x509_trust.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_trust.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:178,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:179,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 5
    argNames:
    - id
    - flags
    - name
    - arg1
    - arg2
    argTypes:
    - int
    - int
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 182
    functionName: X509_TRUST_add
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_TRUST_get_by_id
    - sk_X509_TRUST_new
    - OPENSSL_free
    - OPENSSL_strdup
    - X509_TRUST_get0
    - sk_X509_TRUST_push
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int X509_TRUST_add(int id, int flags, int (*ck) (X509_TRUST *, X509
      *, int),\n                   const char *name, int arg1, void *arg2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:190,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_trust.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509_TRUST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: trtable_free
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void trtable_free(X509_TRUST *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_TRUST_pop_free
      Src: /src/openssl/crypto/x509/x509_trust.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: X509_TRUST_cleanup
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - sk_X509_TRUST_pop_free
    linkageType: ''
    returnType: void
    signature: void X509_TRUST_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_TRUST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: X509_TRUST_get_flags
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_TRUST_get_flags(const X509_TRUST *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_TRUST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: X509_TRUST_get0_name
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_TRUST_get0_name(const X509_TRUST *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_TRUST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: X509_TRUST_get_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_TRUST_get_trust(const X509_TRUST *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: trust_1oidany
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - obj_trust
    linkageType: ''
    returnType: int
    signature: int trust_1oidany(X509_TRUST *trust, X509 *x, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_trust
      Src: /src/openssl/crypto/x509/x509_trust.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: trust_1oid
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - obj_trust
    linkageType: ''
    returnType: int
    signature: int trust_1oid(X509_TRUST *trust, X509 *x, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_trust.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - trust
    - x
    - flags
    argTypes:
    - X509_TRUST*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: trust_compat
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: int
    signature: int trust_compat(X509_TRUST *trust, X509 *x, int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/x509_trust.c:256,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/x509_trust.c:257,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_trust.c:258,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/x509_trust.c:267,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/x509_trust.c:268,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_trust.c:269,1
    - Dst: trust_compat
      Src: /src/openssl/crypto/x509/x509_trust.c:298,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - id
    - x
    - flags
    argTypes:
    - int
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 299
    functionName: obj_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_trust.c
    functionUses: 3
    functionsReached:
    - sk_ASN1_OBJECT_num
    - sk_ASN1_OBJECT_value
    - OBJ_obj2nid
    - trust_compat
    linkageType: ''
    returnType: int
    signature: int obj_trust(int id, X509 *x, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utf8.c:35,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_utf8.c:38,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_utf8.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - method
    - utf8
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_UTF8STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: i2s_ASN1_UTF8STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_utf8.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: "char *i2s_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,\n                          ASN1_UTF8STRING
      *utf8)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utf8.c:50,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/x509/v3_utf8.c:53,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utf8.c:54,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_utf8.c:57,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utf8.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utf8.c:58,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/x509/v3_utf8.c:59,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/x509/v3_utf8.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: s2i_ASN1_UTF8STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_utf8.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ebcdic2ascii
    - ASN1_STRING_set
    - strlen
    - ASN1_UTF8STRING_new
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: ASN1_UTF8STRING
    signature: "ASN1_UTF8STRING *s2i_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,\n
      \                                    X509V3_CTX *ctx, const char *str)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_info.c:112,1
    - Dst: sk_ACCESS_DESCRIPTION_new_reserve
      Src: /src/openssl/crypto/x509/v3_info.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_info.c:116,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_info.c:120,1
    - Dst: ACCESS_DESCRIPTION_new
      Src: /src/openssl/crypto/x509/v3_info.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_info.c:122,1
    - Dst: sk_ACCESS_DESCRIPTION_push
      Src: /src/openssl/crypto/x509/v3_info.c:125,1
    - Dst: strchr
      Src: /src/openssl/crypto/x509/v3_info.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_info.c:128,1
    - Dst: v2i_GENERAL_NAME_ex
      Src: /src/openssl/crypto/x509/v3_info.c:133,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_info.c:135,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_info.c:137,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_info.c:139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_info.c:141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_info.c:144,1
    - Dst: sk_ACCESS_DESCRIPTION_pop_free
      Src: /src/openssl/crypto/x509/v3_info.c:148,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 150
    functionName: v2i_AUTHORITY_INFO_ACCESS
    functionSourceFile: /src/openssl/crypto/x509/v3_info.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strndup
    - sk_ACCESS_DESCRIPTION_new_reserve
    - strchr
    - ERR_raise
    - v2i_GENERAL_NAME_ex
    - sk_CONF_VALUE_num
    - ERR_raise_data
    - sk_ACCESS_DESCRIPTION_pop_free
    - OPENSSL_free
    - OBJ_txt2obj
    - sk_ACCESS_DESCRIPTION_push
    - sk_CONF_VALUE_value
    - ACCESS_DESCRIPTION_new
    linkageType: ''
    returnType: AUTHORITY_INFO_ACCESS
    signature: "AUTHORITY_INFO_ACCESS *v2i_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD\n
      \                                                       *method,\n                                                        X509V3_CTX
      *ctx,\n                                                        STACK_OF(CONF_VALUE)\n
      \                                                       *nval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_info.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ACCESS_DESCRIPTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: i2a_ACCESS_DESCRIPTION
    functionSourceFile: /src/openssl/crypto/x509/v3_info.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_OBJECT
    linkageType: ''
    returnType: int
    signature: int i2a_ACCESS_DESCRIPTION(BIO *bp, const ACCESS_DESCRIPTION *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pku.c:40,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_pku.c:42,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/x509/v3_pku.c:43,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_pku.c:45,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_pku.c:48,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/x509/v3_pku.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - method
    - usage
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - PKEY_USAGE_PERIOD*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: i2r_PKEY_USAGE_PERIOD
    functionSourceFile: /src/openssl/crypto/x509/v3_pku.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_printf
    - ASN1_GENERALIZEDTIME_print
    linkageType: ''
    returnType: int
    signature: "int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method,\n                                 PKEY_USAGE_PERIOD
      *usage, BIO *out,\n                                 int indent)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/x509/x509cset.c:24,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/x509cset.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509_CRL*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: X509_CRL_set_version
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_set
    - ASN1_INTEGER_new
    linkageType: ''
    returnType: int
    signature: int X509_CRL_set_version(X509_CRL *x, long version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/x509/x509cset.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509_CRL*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: X509_CRL_set_issuer_name
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: int X509_CRL_set_issuer_name(X509_CRL *x, const X509_NAME *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_set1_time
      Src: /src/openssl/crypto/x509/x509cset.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509_CRL*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: X509_CRL_set1_lastUpdate
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - ossl_x509_set1_time
    linkageType: ''
    returnType: int
    signature: int X509_CRL_set1_lastUpdate(X509_CRL *x, const ASN1_TIME *tm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_set1_time
      Src: /src/openssl/crypto/x509/x509cset.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509_CRL*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: X509_CRL_set1_nextUpdate
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - ossl_x509_set1_time
    linkageType: ''
    returnType: int
    signature: int X509_CRL_set1_nextUpdate(X509_CRL *x, const ASN1_TIME *tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_REVOKED_sort
      Src: /src/openssl/crypto/x509/x509cset.c:65,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/x509cset.c:66,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/openssl/crypto/x509/x509cset.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: X509_CRL_sort
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - sk_X509_REVOKED_sort
    - sk_X509_REVOKED_value
    - sk_X509_REVOKED_num
    linkageType: ''
    returnType: int
    signature: int X509_CRL_sort(X509_CRL *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/x509/x509cset.c:78,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/x509/x509cset.c:81,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/x509/x509cset.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: X509_CRL_up_ref
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 1
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int X509_CRL_up_ref(X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/x509cset.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: X509_CRL_get_version
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: long X509_CRL_get_version(const X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: X509_CRL_get0_lastUpdate
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: X509_CRL_get0_nextUpdate
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: X509_CRL_get_lastUpdate
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: X509_CRL_get_nextUpdate
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: X509_CRL_get_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *X509_CRL_get_issuer(const X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: X509_CRL_get0_extensions
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *X509_CRL_get0_extensions(const X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: X509_CRL_get0_tbs_sigalg
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *X509_CRL_get0_tbs_sigalg(const X509_CRL *crl)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - crl
    - psig
    - palg
    argTypes:
    - X509_CRL*
    - ASN1_BIT_STRING**
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: X509_CRL_get0_signature
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING
      **psig,\n                             const X509_ALGOR **palg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509cset.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: X509_CRL_get_signature_nid
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int X509_CRL_get_signature_nid(const X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: X509_REVOKED_get0_revocationDate
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_set1_time
      Src: /src/openssl/crypto/x509/x509cset.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509_REVOKED*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: X509_REVOKED_set_revocationDate
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - ossl_x509_set1_time
    linkageType: ''
    returnType: int
    signature: int X509_REVOKED_set_revocationDate(X509_REVOKED *x, ASN1_TIME *tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: X509_REVOKED_get0_serialNumber
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/x509/x509cset.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - serial
    argTypes:
    - X509_REVOKED*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: X509_REVOKED_set_serialNumber
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - X509_REVOKED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: X509_REVOKED_get0_extensions
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: "STACK_OF *X509_REVOKED_get0_extensions(const\n                                                             X509_REVOKED
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_CRL_INFO
      Src: /src/openssl/crypto/x509/x509cset.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - crl
    - pp
    argTypes:
    - X509_CRL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: i2d_re_X509_CRL_tbs
    functionSourceFile: /src/openssl/crypto/x509/x509cset.c
    functionUses: 0
    functionsReached:
    - i2d_X509_CRL_INFO
    linkageType: ''
    returnType: int
    signature: int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_POLICYINFO_num
      Src: /src/openssl/crypto/x509/pcy_cache.c:34,1
    - Dst: sk_X509_POLICY_DATA_new
      Src: /src/openssl/crypto/x509/pcy_cache.c:36,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/pcy_cache.c:38,1
    - Dst: sk_POLICYINFO_value
      Src: /src/openssl/crypto/x509/pcy_cache.c:42,1
    - Dst: ossl_policy_data_new
      Src: /src/openssl/crypto/x509/pcy_cache.c:43,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/pcy_cache.c:45,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/pcy_cache.c:51,1
    - Dst: sk_X509_POLICY_DATA_find
      Src: /src/openssl/crypto/x509/pcy_cache.c:57,1
    - Dst: sk_X509_POLICY_DATA_push
      Src: /src/openssl/crypto/x509/pcy_cache.c:60,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/pcy_cache.c:61,1
    - Dst: sk_X509_POLICY_DATA_sort
      Src: /src/openssl/crypto/x509/pcy_cache.c:67,1
    - Dst: ossl_policy_data_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:73,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:75,1
    - Dst: sk_X509_POLICY_DATA_pop_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:77,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - x
    - policies
    - crit
    argTypes:
    - X509*
    - CERTIFICATEPOLICIES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 81
    functionName: policy_cache_create
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_DATA_sort
    - sk_POLICYINFO_value
    - sk_X509_POLICY_DATA_pop_free
    - sk_X509_POLICY_DATA_find
    - ERR_raise
    - sk_X509_POLICY_DATA_push
    - ossl_policy_data_free
    - sk_X509_POLICY_DATA_new
    - ossl_policy_data_new
    - sk_POLICYINFO_num
    - sk_POLICYINFO_pop_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int policy_cache_create(X509 *x,\n                               CERTIFICATEPOLICIES
      *policies, int crit)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/pcy_cache.c:94,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/pcy_cache.c:109,1
    - Dst: policy_cache_set_int
      Src: /src/openssl/crypto/x509/pcy_cache.c:118,1
    - Dst: policy_cache_set_int
      Src: /src/openssl/crypto/x509/pcy_cache.c:121,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/pcy_cache.c:128,1
    - Dst: policy_cache_create
      Src: /src/openssl/crypto/x509/pcy_cache.c:140,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/pcy_cache.c:147,1
    - Dst: ossl_policy_cache_set_mapping
      Src: /src/openssl/crypto/x509/pcy_cache.c:154,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/pcy_cache.c:159,1
    - Dst: policy_cache_set_int
      Src: /src/openssl/crypto/x509/pcy_cache.c:164,1
    - Dst: POLICY_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:172,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:173,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 176
    functionName: policy_cache_new
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - POLICY_CONSTRAINTS_free
    - X509_get_ext_d2i
    - policy_cache_set_int
    - ASN1_INTEGER_free
    - policy_cache_create
    - ossl_policy_cache_set_mapping
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int policy_cache_new(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_policy_data_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:182,1
    - Dst: sk_X509_POLICY_DATA_pop_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_cache.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - X509_POLICY_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: ossl_policy_cache_free
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_X509_POLICY_DATA_pop_free
    - ossl_policy_data_free
    linkageType: ''
    returnType: void
    signature: void ossl_policy_cache_free(X509_POLICY_CACHE *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/pcy_cache.c:191,1
    - Dst: policy_cache_new
      Src: /src/openssl/crypto/x509/pcy_cache.c:193,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/pcy_cache.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ossl_policy_cache_set
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - policy_cache_new
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: X509_POLICY_CACHE
    signature: X509_POLICY_CACHE *ossl_policy_cache_set(X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_DATA_find
      Src: /src/openssl/crypto/x509/pcy_cache.c:207,1
    - Dst: sk_X509_POLICY_DATA_value
      Src: /src/openssl/crypto/x509/pcy_cache.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cache
    - id
    argTypes:
    - X509_POLICY_CACHE*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: ossl_policy_cache_find_data
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_DATA_value
    - sk_X509_POLICY_DATA_find
    linkageType: ''
    returnType: X509_POLICY_DATA
    signature: "X509_POLICY_DATA *ossl_policy_cache_find_data(const X509_POLICY_CACHE
      *cache,\n                                              const ASN1_OBJECT *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/pcy_cache.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_POLICY_DATA**
    - X509_POLICY_DATA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: policy_data_cmp
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    linkageType: ''
    returnType: int
    signature: "int policy_data_cmp(const X509_POLICY_DATA *const *a,\n                           const
      X509_POLICY_DATA *const *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/pcy_cache.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - value
    argTypes:
    - long*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: policy_cache_set_int
    functionSourceFile: /src/openssl/crypto/x509/pcy_cache.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: int policy_cache_set_int(long *out, ASN1_INTEGER *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_prn.c:79,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/v3_prn.c:82,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/x509/v3_prn.c:83,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/x509/v3_prn.c:84,1
    - Dst: X509V3_EXT_get
      Src: /src/openssl/crypto/x509/v3_prn.c:86,1
    - Dst: unknown_ext_print
      Src: /src/openssl/crypto/x509/v3_prn.c:87,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/x509/v3_prn.c:89,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_prn.c:89,1
    - Dst: X509V3_EXT_METHOD*::d2i
      Src: /src/openssl/crypto/x509/v3_prn.c:91,1
    - Dst: unknown_ext_print
      Src: /src/openssl/crypto/x509/v3_prn.c:94,1
    - Dst: X509V3_EXT_METHOD*::i2s
      Src: /src/openssl/crypto/x509/v3_prn.c:97,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:102,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_prn.c:107,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_prn.c:108,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/crypto/x509/v3_prn.c:110,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_prn.c:112,1
    - Dst: X509V3_EXT_METHOD*::i2v
      Src: /src/openssl/crypto/x509/v3_prn.c:117,1
    - Dst: X509V3_EXT_val_prn
      Src: /src/openssl/crypto/x509/v3_prn.c:121,1
    - Dst: X509V3_EXT_METHOD*::i2r
      Src: /src/openssl/crypto/x509/v3_prn.c:124,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_prn.c:130,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_prn.c:131,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/x509/v3_prn.c:133,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_prn.c:133,1
    - Dst: X509V3_EXT_METHOD*::ext_free
      Src: /src/openssl/crypto/x509/v3_prn.c:135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - out
    - ext
    - flag
    - indent
    argTypes:
    - BIO*
    - X509_EXTENSION*
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 137
    functionName: X509V3_EXT_print
    functionSourceFile: /src/openssl/crypto/x509/v3_prn.c
    functionUses: 0
    functionsReached:
    - unknown_ext_print
    - X509V3_EXT_val_prn
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - X509V3_EXT_METHOD*::i2s
    - ASN1_item_free
    - OPENSSL_free
    - strlen
    - X509V3_EXT_get
    - X509_EXTENSION_get_data
    - X509V3_EXT_METHOD*::ext_free
    - ascii2ebcdic
    - sk_CONF_VALUE_pop_free
    - OPENSSL_malloc
    - BIO_printf
    - X509V3_EXT_METHOD*::d2i
    - X509V3_EXT_METHOD*::i2r
    - ASN1_ITEM_ptr
    - STACK_OF
    - X509V3_EXT_METHOD*::i2v
    - ASN1_item_d2i
    linkageType: ''
    returnType: int
    signature: "int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long
      flag,\n                     int indent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/v3_prn.c:145,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:149,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/v3_prn.c:153,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/v3_prn.c:157,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_prn.c:158,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_prn.c:160,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_prn.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:163,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_prn.c:165,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_prn.c:166,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:167,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/x509/v3_prn.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:170,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_prn.c:171,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/v3_prn.c:171,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_prn.c:173,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 5
    argNames:
    - bp
    - title
    - exts
    - flag
    - indent
    argTypes:
    - BIO*
    - char*
    - STACK_OF*
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 177
    functionName: X509V3_extensions_print
    functionSourceFile: /src/openssl/crypto/x509/v3_prn.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - sk_X509_EXTENSION_value
    - ASN1_STRING_print
    - X509V3_EXT_print
    - X509_EXTENSION_get_object
    - X509_EXTENSION_get_data
    - sk_X509_EXTENSION_num
    - i2a_ASN1_OBJECT
    - X509_EXTENSION_get_critical
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int X509V3_extensions_print(BIO *bp, const char *title,\n                            const
      STACK_OF(X509_EXTENSION) *exts,\n                            unsigned long flag,
      int indent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:189,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_prn.c:191,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/x509/v3_prn.c:195,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/x509/v3_prn.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - out
    - ext
    - extlen
    - flag
    - indent
    - supported
    argTypes:
    - BIO*
    - unsigned char*
    - int
    - unsigned long
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: unknown_ext_print
    functionSourceFile: /src/openssl/crypto/x509/v3_prn.c
    functionUses: 1
    functionsReached:
    - BIO_dump_indent
    - BIO_printf
    - ASN1_parse_dump
    linkageType: ''
    returnType: int
    signature: "int unknown_ext_print(BIO *out, const unsigned char *ext, int extlen,\n
      \                            unsigned long flag, int indent, int supported)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/x509/v3_prn.c:210,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/x509/v3_prn.c:212,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/v3_prn.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - fp
    - ext
    - flag
    - indent
    argTypes:
    - FILE*
    - X509_EXTENSION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: X509V3_EXT_print_fp
    functionSourceFile: /src/openssl/crypto/x509/v3_prn.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - X509V3_EXT_print
    linkageType: ''
    returnType: int
    signature: int X509V3_EXT_print_fp(FILE *fp, X509_EXTENSION *ext, int flag, int
      indent)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_san.c:214,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:226,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:231,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:236,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:241,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:246,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:251,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:257,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:262,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:266,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_san.c:267,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:271,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_san.c:272,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:276,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_san.c:277,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:281,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/v3_san.c:282,1
    - Dst: ossl_ipaddr_to_asc
      Src: /src/openssl/crypto/x509/v3_san.c:286,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:289,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_san.c:290,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_san.c:294,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_san.c:295,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 2
    argNames:
    - out
    - gen
    argTypes:
    - BIO*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 299
    functionName: GENERAL_NAME_print
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 0
    functionsReached:
    - X509_NAME_print_ex
    - ASN1_STRING_print
    - OPENSSL_free
    - i2a_ASN1_OBJECT
    - ossl_ipaddr_to_asc
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_san.c:305,1
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/openssl/crypto/x509/v3_san.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:310,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_san.c:314,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:316,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_san.c:317,1
    - Dst: copy_issuer
      Src: /src/openssl/crypto/x509/v3_san.c:318,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_san.c:321,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_san.c:325,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/x509/v3_san.c:330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 332
    functionName: v2i_issuer_alt
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAME_push
    - sk_CONF_VALUE_num
    - sk_GENERAL_NAME_pop_free
    - copy_issuer
    - ossl_v3_name_cmp
    - sk_GENERAL_NAME_new_reserve
    - v2i_GENERAL_NAME
    - strcmp
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: GENERAL_NAMES
    signature: "GENERAL_NAMES *v2i_issuer_alt(X509V3_EXT_METHOD *method,\n                                     X509V3_CTX
      *ctx,\n                                     STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:346,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_san.c:349,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_san.c:352,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/crypto/x509/v3_san.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:354,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_san.c:358,1
    - Dst: sk_GENERAL_NAME_reserve
      Src: /src/openssl/crypto/x509/v3_san.c:359,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:360,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_san.c:365,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_san.c:366,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:368,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:373,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - gens
    argTypes:
    - X509V3_CTX*
    - GENERAL_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 376
    functionName: copy_issuer
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509V3_EXT_d2i
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_reserve
    - X509_get_ext
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - X509_get_ext_by_NID
    - sk_GENERAL_NAME_free
    linkageType: ''
    returnType: int
    signature: int copy_issuer(X509V3_CTX *ctx, GENERAL_NAMES *gens)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_san.c:384,1
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/openssl/crypto/x509/v3_san.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:389,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_san.c:394,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:395,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_san.c:396,1
    - Dst: copy_email
      Src: /src/openssl/crypto/x509/v3_san.c:397,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:399,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_san.c:400,1
    - Dst: copy_email
      Src: /src/openssl/crypto/x509/v3_san.c:401,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_san.c:405,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_san.c:407,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/x509/v3_san.c:412,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 414
    functionName: v2i_subject_alt
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAME_push
    - sk_CONF_VALUE_num
    - sk_GENERAL_NAME_pop_free
    - ossl_v3_name_cmp
    - sk_GENERAL_NAME_new_reserve
    - v2i_GENERAL_NAME
    - strcmp
    - sk_CONF_VALUE_value
    - copy_email
    linkageType: ''
    returnType: GENERAL_NAMES
    signature: "GENERAL_NAMES *v2i_subject_alt(X509V3_EXT_METHOD *method,\n                                      X509V3_CTX
      *ctx,\n                                      STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:432,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_san.c:437,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/x509/v3_san.c:438,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_san.c:441,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_san.c:443,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/x509/v3_san.c:444,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_san.c:444,1
    - Dst: X509_NAME_delete_entry
      Src: /src/openssl/crypto/x509/v3_san.c:446,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/v3_san.c:447,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/v3_san.c:450,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:451,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_san.c:457,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:458,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:467,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/x509/v3_san.c:468,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - gens
    - move_p
    argTypes:
    - X509V3_CTX*
    - GENERAL_NAMES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 471
    functionName: copy_email
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 1
    functionsReached:
    - X509_NAME_get_index_by_NID
    - X509_NAME_delete_entry
    - ERR_raise
    - X509_REQ_get_subject_name
    - ASN1_STRING_dup
    - sk_GENERAL_NAME_push
    - X509_get_subject_name
    - GENERAL_NAME_new
    - GENERAL_NAME_free
    - X509_NAME_ENTRY_free
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_data
    - ASN1_IA5STRING_free
    linkageType: ''
    returnType: int
    signature: int copy_email(X509V3_CTX *ctx, GENERAL_NAMES *gens, int move_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_san.c:479,1
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/openssl/crypto/x509/v3_san.c:482,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:484,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_san.c:489,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_san.c:490,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_san.c:492,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/x509/v3_san.c:496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 498
    functionName: v2i_GENERAL_NAMES
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAME_push
    - sk_CONF_VALUE_num
    - sk_GENERAL_NAME_pop_free
    - sk_GENERAL_NAME_new_reserve
    - v2i_GENERAL_NAME
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: GENERAL_NAMES
    signature: "GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method,\n
      \                                X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: v2i_GENERAL_NAME_ex
      Src: /src/openssl/crypto/x509/v3_san.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - cnf
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - CONF_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: v2i_GENERAL_NAME
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 3
    functionsReached:
    - v2i_GENERAL_NAME_ex
    linkageType: ''
    returnType: GENERAL_NAME
    signature: "GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method,\n
      \                              X509V3_CTX *ctx, CONF_VALUE *cnf)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:515,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/v3_san.c:522,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:524,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_san.c:539,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_san.c:540,1
    - Dst: a2i_IPADDRESS_NC
      Src: /src/openssl/crypto/x509/v3_san.c:550,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/crypto/x509/v3_san.c:552,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_san.c:554,1
    - Dst: do_dirname
      Src: /src/openssl/crypto/x509/v3_san.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:562,1
    - Dst: do_othername
      Src: /src/openssl/crypto/x509/v3_san.c:568,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:569,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:574,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/x509/v3_san.c:579,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_san.c:580,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_san.c:581,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/x509/v3_san.c:582,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:584,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:595,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 6
    argNames:
    - out
    - method
    - ctx
    - gen_type
    - value
    - is_nc
    argTypes:
    - GENERAL_NAME*
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 597
    functionName: a2i_GENERAL_NAME
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 0
    functionsReached:
    - a2i_IPADDRESS_NC
    - ERR_raise
    - do_dirname
    - ASN1_STRING_set
    - GENERAL_NAME_new
    - ASN1_IA5STRING_new
    - GENERAL_NAME_free
    - ERR_raise_data
    - do_othername
    - a2i_IPADDRESS
    - OBJ_txt2obj
    - strlen
    - ASN1_IA5STRING_free
    linkageType: ''
    returnType: GENERAL_NAME
    signature: "GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out,\n                               const
      X509V3_EXT_METHOD *method,\n                               X509V3_CTX *ctx,
      int gen_type, const char *value,\n                               int is_nc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_san.c:611,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:615,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:617,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:619,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:621,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:623,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:625,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_san.c:627,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_san.c:630,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_san.c:635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - out
    - method
    - ctx
    - cnf
    - is_nc
    argTypes:
    - GENERAL_NAME*
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - CONF_VALUE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 637
    functionName: v2i_GENERAL_NAME_ex
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 2
    functionsReached:
    - a2i_GENERAL_NAME
    - ERR_raise
    - ERR_raise_data
    - ossl_v3_name_cmp
    linkageType: ''
    returnType: GENERAL_NAME
    signature: "GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out,\n                                  const
      X509V3_EXT_METHOD *method,\n                                  X509V3_CTX *ctx,
      CONF_VALUE *cnf, int is_nc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/x509/v3_san.c:644,1
    - Dst: OTHERNAME_new
      Src: /src/openssl/crypto/x509/v3_san.c:646,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/v3_san.c:652,1
    - Dst: ASN1_generate_v3
      Src: /src/openssl/crypto/x509/v3_san.c:653,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_san.c:656,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_san.c:659,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_san.c:660,1
    - Dst: OTHERNAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:666,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - gen
    - value
    - ctx
    argTypes:
    - GENERAL_NAME*
    - char*
    - X509V3_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 669
    functionName: do_othername
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 1
    functionsReached:
    - OTHERNAME_new
    - strchr
    - OTHERNAME_free
    - OPENSSL_free
    - OBJ_txt2obj
    - ASN1_TYPE_free
    - ASN1_generate_v3
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: int do_othername(GENERAL_NAME *gen, const char *value, X509V3_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_san.c:674,1
    - Dst: X509_NAME_new
      Src: /src/openssl/crypto/x509/v3_san.c:677,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_san.c:679,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_san.c:681,1
    - Dst: X509V3_NAME_from_section
      Src: /src/openssl/crypto/x509/v3_san.c:686,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_san.c:693,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_san.c:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - gen
    - value
    - ctx
    argTypes:
    - GENERAL_NAME*
    - char*
    - X509V3_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 696
    functionName: do_dirname
    functionSourceFile: /src/openssl/crypto/x509/v3_san.c
    functionUses: 1
    functionsReached:
    - X509V3_get_section
    - X509V3_NAME_from_section
    - ERR_raise_data
    - STACK_OF
    - X509_NAME_free
    - X509_NAME_new
    - X509V3_section_free
    linkageType: ''
    returnType: int
    signature: int do_dirname(GENERAL_NAME *gen, const char *value, X509V3_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509name.c:24,1
    - Dst: X509_NAME_get_text_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - name
    - nid
    - buf
    - len
    argTypes:
    - X509_NAME*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: X509_NAME_get_text_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 0
    functionsReached:
    - X509_NAME_get_text_by_OBJ
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_get_text_by_NID(const X509_NAME *name, int nid,\n                              char
      *buf, int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:36,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/x509name.c:39,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/x509name.c:39,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x509name.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - name
    - obj
    - buf
    - len
    argTypes:
    - X509_NAME*
    - ASN1_OBJECT*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: X509_NAME_get_text_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - X509_NAME_get_entry
    - memcpy
    - X509_NAME_get_index_by_OBJ
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_get_text_by_OBJ(const X509_NAME *name, const ASN1_OBJECT
      *obj,\n                              char *buf, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: X509_NAME_entry_count
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 0
    functionsReached:
    - sk_X509_NAME_ENTRY_num
    linkageType: ''
    returnType: int
    signature: int X509_NAME_entry_count(const X509_NAME *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509name.c:64,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - nid
    - lastpos
    argTypes:
    - X509_NAME*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: X509_NAME_get_index_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 2
    functionsReached:
    - X509_NAME_get_index_by_OBJ
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: int X509_NAME_get_index_by_NID(const X509_NAME *name, int nid, int
      lastpos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509name.c:76,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:83,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:85,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/x509name.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - name
    - obj
    - lastpos
    argTypes:
    - X509_NAME*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: X509_NAME_get_index_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 2
    functionsReached:
    - OBJ_cmp
    - STACK_OF
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_num
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_get_index_by_OBJ(const X509_NAME *name, const ASN1_OBJECT
      *obj,\n                               int lastpos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:94,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - name
    - loc
    argTypes:
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: X509_NAME_get_entry
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 3
    functionsReached:
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_num
    linkageType: ''
    returnType: X509_NAME_ENTRY
    signature: X509_NAME_ENTRY *X509_NAME_get_entry(const X509_NAME *name, int loc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509name.c:105,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:107,1
    - Dst: sk_X509_NAME_ENTRY_delete
      Src: /src/openssl/crypto/x509/x509name.c:112,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:113,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:120,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:123,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - name
    - loc
    argTypes:
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 139
    functionName: X509_NAME_delete_entry
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - STACK_OF
    - sk_X509_NAME_ENTRY_delete
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_num
    linkageType: ''
    returnType: X509_NAME_ENTRY
    signature: X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_ENTRY_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:148,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/crypto/x509/x509name.c:151,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - name
    - obj
    - type
    - bytes
    - len
    - loc
    - set
    argTypes:
    - X509_NAME*
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: X509_NAME_add_entry_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 0
    functionsReached:
    - X509_NAME_ENTRY_create_by_OBJ
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_add_entry_by_OBJ(X509_NAME *name, const ASN1_OBJECT
      *obj, int type,\n                               const unsigned char *bytes,
      int len, int loc,\n                               int set)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_ENTRY_create_by_NID
      Src: /src/openssl/crypto/x509/x509name.c:162,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/crypto/x509/x509name.c:165,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - name
    - nid
    - type
    - bytes
    - len
    - loc
    - set
    argTypes:
    - X509_NAME*
    - int
    - int
    - unsigned char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: X509_NAME_add_entry_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_create_by_NID
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type,\n
      \                              const unsigned char *bytes, int len, int loc,\n
      \                              int set)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_ENTRY_create_by_txt
      Src: /src/openssl/crypto/x509/x509name.c:176,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/crypto/x509/x509name.c:179,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - name
    - field
    - type
    - bytes
    - len
    - loc
    - set
    argTypes:
    - X509_NAME*
    - char*
    - int
    - unsigned char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: X509_NAME_add_entry_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - X509_NAME_ENTRY_create_by_txt
    - X509_NAME_add_entry
    - X509_NAME_ENTRY_free
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field,
      int type,\n                               const unsigned char *bytes, int len,
      int loc,\n                               int set)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509name.c:193,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:198,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:211,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:217,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:221,1
    - Dst: X509_NAME_ENTRY_dup
      Src: /src/openssl/crypto/x509/x509name.c:224,1
    - Dst: sk_X509_NAME_ENTRY_insert
      Src: /src/openssl/crypto/x509/x509name.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509name.c:228,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509name.c:232,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509name.c:234,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:238,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - name
    - ne
    - loc
    - set
    argTypes:
    - X509_NAME*
    - X509_NAME_ENTRY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 240
    functionName: X509_NAME_add_entry
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 3
    functionsReached:
    - sk_X509_NAME_ENTRY_value
    - ERR_raise
    - sk_X509_NAME_ENTRY_num
    - X509_NAME_ENTRY_dup
    - STACK_OF
    - X509_NAME_ENTRY_free
    - sk_X509_NAME_ENTRY_insert
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_add_entry(X509_NAME *name, const X509_NAME_ENTRY *ne,
      int loc,\n                        int set)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/x509name.c:250,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509name.c:252,1
    - Dst: X509_NAME_ENTRY_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:256,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509name.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ne
    - field
    - type
    - bytes
    - len
    argTypes:
    - X509_NAME_ENTRY**
    - char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 259
    functionName: X509_NAME_ENTRY_create_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - X509_NAME_ENTRY_create_by_OBJ
    - OBJ_txt2obj
    - ERR_raise_data
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: X509_NAME_ENTRY
    signature: "X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne,\n
      \                                              const char *field, int type,\n
      \                                              const unsigned char *bytes,\n
      \                                              int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509name.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509name.c:271,1
    - Dst: X509_NAME_ENTRY_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509name.c:274,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509name.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ne
    - nid
    - type
    - bytes
    - len
    argTypes:
    - X509_NAME_ENTRY**
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: X509_NAME_ENTRY_create_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - X509_NAME_ENTRY_create_by_OBJ
    - ERR_raise
    - OBJ_nid2obj
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: X509_NAME_ENTRY
    signature: "X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne,
      int nid,\n                                               int type,\n                                               const
      unsigned char *bytes,\n                                               int len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_ENTRY_new
      Src: /src/openssl/crypto/x509/x509name.c:287,1
    - Dst: X509_NAME_ENTRY_set_object
      Src: /src/openssl/crypto/x509/x509name.c:292,1
    - Dst: X509_NAME_ENTRY_set_data
      Src: /src/openssl/crypto/x509/x509name.c:294,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509name.c:302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - ne
    - obj
    - type
    - bytes
    - len
    argTypes:
    - X509_NAME_ENTRY**
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 304
    functionName: X509_NAME_ENTRY_create_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 3
    functionsReached:
    - X509_NAME_ENTRY_new
    - X509_NAME_ENTRY_free
    - X509_NAME_ENTRY_set_object
    - X509_NAME_ENTRY_set_data
    linkageType: ''
    returnType: X509_NAME_ENTRY
    signature: "X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne,\n
      \                                              const ASN1_OBJECT *obj, int type,\n
      \                                              const unsigned char *bytes,\n
      \                                              int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509name.c:309,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509name.c:312,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x509name.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ne
    - obj
    argTypes:
    - X509_NAME_ENTRY*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 315
    functionName: X509_NAME_ENTRY_set_object
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - OBJ_dup
    - ERR_raise
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT
      *obj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set_by_NID
      Src: /src/openssl/crypto/x509/x509name.c:325,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509name.c:327,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509name.c:329,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/x509name.c:330,1
    - Dst: ASN1_PRINTABLE_type
      Src: /src/openssl/crypto/x509/x509name.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - ne
    - type
    - bytes
    - len
    argTypes:
    - X509_NAME_ENTRY*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 340
    functionName: X509_NAME_ENTRY_set_data
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - strlen
    - ASN1_STRING_set_by_NID
    - OBJ_obj2nid
    - ASN1_PRINTABLE_type
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type,\n                             const
      unsigned char *bytes, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ne
    argTypes:
    - X509_NAME_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: X509_NAME_ENTRY_get_object
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ne
    argTypes:
    - X509_NAME_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: X509_NAME_ENTRY_get_data
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ASN1_STRING
    signature: ASN1_STRING *X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ne
    argTypes:
    - X509_NAME_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: X509_NAME_ENTRY_set
    functionSourceFile: /src/openssl/crypto/x509/x509name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ia5base
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: IA5_OFFSET_LEN
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IA5_OFFSET_LEN(ia5base, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - start
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: ia5memchr
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ia5memchr(str, start, c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - str
    - c
    argTypes:
    - ASN1_IA5STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: ia5memrchr
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ia5memrchr(ASN1_IA5STRING *str, int c)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 147
    functionName: ia5ncasecmp
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ia5ncasecmp(const char *s1, const char *s2, size_t n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_ncons.c:154,1
    - Dst: NAME_CONSTRAINTS_new
      Src: /src/openssl/crypto/x509/v3_ncons.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:160,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:163,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:164,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_ncons.c:165,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_ncons.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:172,1
    - Dst: GENERAL_SUBTREE_new
      Src: /src/openssl/crypto/x509/v3_ncons.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:178,1
    - Dst: v2i_GENERAL_NAME_ex
      Src: /src/openssl/crypto/x509/v3_ncons.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:182,1
    - Dst: sk_GENERAL_SUBTREE_new_null
      Src: /src/openssl/crypto/x509/v3_ncons.c:186,1
    - Dst: sk_GENERAL_SUBTREE_push
      Src: /src/openssl/crypto/x509/v3_ncons.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ncons.c:188,1
    - Dst: NAME_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:197,1
    - Dst: GENERAL_SUBTREE_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 201
    functionName: v2i_NAME_CONSTRAINTS
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached:
    - NAME_CONSTRAINTS_free
    - ERR_raise
    - v2i_GENERAL_NAME_ex
    - sk_GENERAL_SUBTREE_push
    - sk_CONF_VALUE_num
    - STACK_OF
    - sk_GENERAL_SUBTREE_new_null
    - NAME_CONSTRAINTS_new
    - GENERAL_SUBTREE_free
    - sk_CONF_VALUE_value
    - GENERAL_SUBTREE_new
    - HAS_PREFIX
    linkageType: ''
    returnType: void
    signature: "void *v2i_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method,\n                                  X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_i2r_name_constraints
      Src: /src/openssl/crypto/x509/v3_ncons.c:207,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ncons.c:210,1
    - Dst: do_i2r_name_constraints
      Src: /src/openssl/crypto/x509/v3_ncons.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - method
    - a
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: i2r_NAME_CONSTRAINTS
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - do_i2r_name_constraints
    linkageType: ''
    returnType: int
    signature: "int i2r_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method, void *a,\n
      \                               BIO *bp, int ind)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:222,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ncons.c:223,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:224,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ncons.c:226,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ncons.c:228,1
    - Dst: print_nc_ipadd
      Src: /src/openssl/crypto/x509/v3_ncons.c:230,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_ncons.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - method
    - trees
    - bp
    - ind
    - name
    argTypes:
    - X509V3_EXT_METHOD*
    - STACK_OF*
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: do_i2r_name_constraints
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - GENERAL_NAME_print
    - sk_GENERAL_SUBTREE_num
    - BIO_puts
    - sk_GENERAL_SUBTREE_value
    - BIO_printf
    - print_nc_ipadd
    linkageType: ''
    returnType: int
    signature: "int do_i2r_name_constraints(const X509V3_EXT_METHOD *method,\n                                   STACK_OF(GENERAL_SUBTREE)
      *trees,\n                                   BIO *bp, int ind, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ipaddr_to_asc
      Src: /src/openssl/crypto/x509/v3_ncons.c:242,1
    - Dst: ossl_ipaddr_to_asc
      Src: /src/openssl/crypto/x509/v3_ncons.c:243,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ncons.c:245,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - ip
    argTypes:
    - BIO*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: print_nc_ipadd
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ossl_ipaddr_to_asc
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int print_nc_ipadd(BIO *bp, ASN1_OCTET_STRING *ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safe_add_int
      Src: /src/openssl/crypto/x509/v3_ncons.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: add_lengths
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached:
    - safe_add_int
    linkageType: ''
    returnType: int
    signature: int add_lengths(int *out, int a, int b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_ncons.c:285,1
    - Dst: add_lengths
      Src: /src/openssl/crypto/x509/v3_ncons.c:291,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/v3_ncons.c:291,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:292,1
    - Dst: add_lengths
      Src: /src/openssl/crypto/x509/v3_ncons.c:293,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:294,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:295,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/v3_ncons.c:299,1
    - Dst: nc_match
      Src: /src/openssl/crypto/x509/v3_ncons.c:304,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_ncons.c:316,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_ncons.c:319,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_ncons.c:320,1
    - Dst: nc_match
      Src: /src/openssl/crypto/x509/v3_ncons.c:324,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:332,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:333,1
    - Dst: nc_match
      Src: /src/openssl/crypto/x509/v3_ncons.c:334,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - x
    - nc
    argTypes:
    - X509*
    - NAME_CONSTRAINTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 341
    functionName: NAME_CONSTRAINTS_check
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached:
    - X509_NAME_get_index_by_NID
    - sk_GENERAL_SUBTREE_num
    - X509_get_subject_name
    - sk_GENERAL_NAME_value
    - X509_NAME_entry_count
    - sk_GENERAL_NAME_num
    - add_lengths
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_data
    - nc_match
    linkageType: ''
    returnType: int
    signature: int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/openssl/crypto/x509/v3_ncons.c:371,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:383,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:384,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:432,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 32
    argCount: 3
    argNames:
    - cn
    - dnsid
    - idlen
    argTypes:
    - ASN1_STRING*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 434
    functionName: cn2dnsid
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ASN1_STRING_to_UTF8
    - memchr
    linkageType: ''
    returnType: int
    signature: int cn2dnsid(ASN1_STRING *cn, unsigned char **dnsid, size_t *idlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_ncons.c:442,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_ncons.c:459,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_ncons.c:462,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_ncons.c:463,1
    - Dst: cn2dnsid
      Src: /src/openssl/crypto/x509/v3_ncons.c:466,1
    - Dst: nc_match
      Src: /src/openssl/crypto/x509/v3_ncons.c:473,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - x
    - nc
    argTypes:
    - X509*
    - NAME_CONSTRAINTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 479
    functionName: NAME_CONSTRAINTS_check_CN
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached:
    - X509_NAME_get_index_by_NID
    - X509_get_subject_name
    - OPENSSL_free
    - X509_NAME_get_entry
    - cn2dnsid
    - X509_NAME_ENTRY_get_data
    - nc_match
    linkageType: ''
    returnType: int
    signature: int NAME_CONSTRAINTS_check_CN(X509 *x, NAME_CONSTRAINTS *nc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/x509/v3_ncons.c:493,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/x509/v3_ncons.c:494,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sub
    argTypes:
    - GENERAL_SUBTREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: nc_minmax_valid
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_to_BN
    - BN_free
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: int nc_minmax_valid(GENERAL_SUBTREE *sub)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_ncons.c:514,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:523,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:524,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:527,1
    - Dst: nc_minmax_valid
      Src: /src/openssl/crypto/x509/v3_ncons.c:530,1
    - Dst: nc_match_single
      Src: /src/openssl/crypto/x509/v3_ncons.c:537,1
    - Dst: sk_GENERAL_SUBTREE_num
      Src: /src/openssl/crypto/x509/v3_ncons.c:549,1
    - Dst: sk_GENERAL_SUBTREE_value
      Src: /src/openssl/crypto/x509/v3_ncons.c:550,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:553,1
    - Dst: nc_minmax_valid
      Src: /src/openssl/crypto/x509/v3_ncons.c:556,1
    - Dst: nc_match_single
      Src: /src/openssl/crypto/x509/v3_ncons.c:559,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 35
    argCount: 2
    argNames:
    - gen
    - nc
    argTypes:
    - GENERAL_NAME*
    - NAME_CONSTRAINTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 569
    functionName: nc_match
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 2
    functionsReached:
    - nc_minmax_valid
    - nc_match_single
    - sk_GENERAL_SUBTREE_num
    - OBJ_cmp
    - sk_GENERAL_SUBTREE_value
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int nc_match(GENERAL_NAME *gen, NAME_CONSTRAINTS *nc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nc_email_eai
      Src: /src/openssl/crypto/x509/v3_ncons.c:582,1
    - Dst: nc_dn
      Src: /src/openssl/crypto/x509/v3_ncons.c:589,1
    - Dst: nc_dns
      Src: /src/openssl/crypto/x509/v3_ncons.c:592,1
    - Dst: nc_email
      Src: /src/openssl/crypto/x509/v3_ncons.c:595,1
    - Dst: nc_uri
      Src: /src/openssl/crypto/x509/v3_ncons.c:598,1
    - Dst: nc_ip
      Src: /src/openssl/crypto/x509/v3_ncons.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - effective_type
    - gen
    - base
    argTypes:
    - int
    - GENERAL_NAME*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 608
    functionName: nc_match_single
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - nc_ip
    - nc_dn
    - nc_dns
    - nc_email
    - nc_email_eai
    - nc_uri
    linkageType: ''
    returnType: int
    signature: "int nc_match_single(int effective_type, GENERAL_NAME *gen,\n                           GENERAL_NAME
      *base)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/v3_ncons.c:619,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/v3_ncons.c:621,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - nm
    - base
    argTypes:
    - X509_NAME*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 628
    functionName: nc_dn
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - i2d_X509_NAME
    - memcmp
    linkageType: ''
    returnType: int
    signature: int nc_dn(const X509_NAME *nm, const X509_NAME *base)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - dns
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 657
    functionName: nc_dns
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - ia5ncasecmp
    linkageType: ''
    returnType: int
    signature: int nc_dns(ASN1_IA5STRING *dns, ASN1_IA5STRING *base)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:678,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_ncons.c:682,1
    - Dst: ia5memrchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:693,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/crypto/x509/v3_ncons.c:703,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:708,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:709,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:711,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:711,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/crypto/x509/v3_ncons.c:718,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/openssl/crypto/x509/v3_ncons.c:724,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:725,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:726,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:732,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 2
    argNames:
    - emltype
    - base
    argTypes:
    - ASN1_TYPE*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 666
    functionDepth: 5
    functionLinenumber: 666
    functionLinenumberEnd: 734
    functionName: nc_email_eai
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - ia5memrchr
    - ossl_a2ulabel
    - memchr
    - ia5ncasecmp
    - IA5_OFFSET_LEN
    - OPENSSL_free
    - strlen
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: int nc_email_eai(ASN1_TYPE *emltype, ASN1_IA5STRING *base)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ia5memrchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:740,1
    - Dst: ia5memrchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:741,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:750,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:762,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_ncons.c:763,1
    - Dst: strncmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:766,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/openssl/crypto/x509/v3_ncons.c:773,1
    - Dst: IA5_OFFSET_LEN
      Src: /src/openssl/crypto/x509/v3_ncons.c:774,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:776,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - eml
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 781
    functionName: nc_email
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - ia5memrchr
    - memchr
    - ia5ncasecmp
    - IA5_OFFSET_LEN
    - strncmp
    linkageType: ''
    returnType: int
    signature: int nc_email(ASN1_IA5STRING *eml, ASN1_IA5STRING *base)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_ncons.c:792,1
    - Dst: OSSL_parse_url
      Src: /src/openssl/crypto/x509/v3_ncons.c:795,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:796,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_ncons.c:802,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:804,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:810,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:811,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ncons.c:813,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:818,1
    - Dst: ia5ncasecmp
      Src: /src/openssl/crypto/x509/v3_ncons.c:828,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_ncons.c:835,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - uri
    - base
    argTypes:
    - ASN1_IA5STRING*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 838
    functionName: nc_uri
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached:
    - ia5ncasecmp
    - ERR_raise_data
    - OSSL_parse_url
    - OPENSSL_free
    - strlen
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: int nc_uri(ASN1_IA5STRING *uri, ASN1_IA5STRING *base)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ip
    - base
    argTypes:
    - ASN1_OCTET_STRING*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 869
    functionName: nc_ip
    functionSourceFile: /src/openssl/crypto/x509/v3_ncons.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nc_ip(ASN1_OCTET_STRING *ip, ASN1_OCTET_STRING *base)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X509_new
      Src: /src/openssl/crypto/x509/x509_r2x.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_r2x.c:28,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/x509/x509_r2x.c:35,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/x509/x509_r2x.c:36,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/x509_r2x.c:38,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/x509/x509_r2x.c:44,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/crypto/x509/x509_r2x.c:45,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/crypto/x509/x509_r2x.c:47,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/crypto/x509/x509_r2x.c:50,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/crypto/x509/x509_r2x.c:52,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_r2x.c:56,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/crypto/x509/x509_r2x.c:57,1
    - Dst: X509_sign
      Src: /src/openssl/crypto/x509/x509_r2x.c:60,1
    - Dst: EVP_md5
      Src: /src/openssl/crypto/x509/x509_r2x.c:60,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_r2x.c:65,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - r
    - days
    - pkey
    argTypes:
    - X509_REQ*
    - int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 67
    functionName: X509_REQ_to_X509
    functionSourceFile: /src/openssl/crypto/x509/x509_r2x.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_REQ_get_subject_name
    - X509_new
    - EVP_md5
    - X509_set_subject_name
    - ASN1_INTEGER_new
    - X509_set_pubkey
    - X509_free
    - ASN1_INTEGER_set
    - X509_set_issuer_name
    - X509_REQ_get0_pubkey
    - X509_gmtime_adj
    - sk_X509_ATTRIBUTE_num
    - X509_sign
    linkageType: ''
    returnType: X509
    signature: X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_int.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - meth
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: s2i_asn1_int
    functionSourceFile: /src/openssl/crypto/x509/v3_int.c
    functionUses: 0
    functionsReached:
    - s2i_ASN1_INTEGER
    linkageType: ''
    returnType: void
    signature: "void *s2i_asn1_int(X509V3_EXT_METHOD *meth, X509V3_CTX *ctx,\n                          const
      char *value)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509type.c:25,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x509type.c:32,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/crypto/x509/x509type.c:63,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/x509type.c:64,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 84
    functionName: X509_certificate_type
    functionSourceFile: /src/openssl/crypto/x509/x509type.c
    functionUses: 0
    functionsReached:
    - OBJ_find_sigid_algs
    - X509_get_signature_nid
    - EVP_PKEY_get_id
    - X509_get0_pubkey
    linkageType: ''
    returnType: int
    signature: int X509_certificate_type(const X509 *x, const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/crypto/x509/x_all.c:35,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/x509/x_all.c:38,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: X509_verify
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_verify_ex
    - X509_ALGOR_cmp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int X509_verify(X509 *a, EVP_PKEY *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_version
      Src: /src/openssl/crypto/x509/x_all.c:46,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:47,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/x509/x_all.c:51,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - a
    - r
    - libctx
    - propq
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: X509_REQ_verify_ex
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_verify_ex
    - ERR_raise
    - ASN1_ITEM_rptr
    - X509_REQ_get_version
    linkageType: ''
    returnType: int
    signature: "int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *r, OSSL_LIB_CTX *libctx,\n
      \                      const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_verify_ex
      Src: /src/openssl/crypto/x509/x_all.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: X509_REQ_verify
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - X509_REQ_verify_ex
    linkageType: ''
    returnType: int
    signature: int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/crypto/x509/x_all.c:63,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/x509/x_all.c:66,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - X509_ACERT*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: X509_ACERT_verify
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_verify_ex
    - X509_ALGOR_cmp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_verify(X509_ACERT *a, EVP_PKEY *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_verify
      Src: /src/openssl/crypto/x509/x_all.c:73,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - NETSCAPE_SPKI*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: NETSCAPE_SPKI_verify
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_verify
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:80,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_all.c:83,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/x_all.c:83,1
    - Dst: X509_set_version
      Src: /src/openssl/crypto/x509/x_all.c:84,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/x509/x_all.c:95,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: X509_sign
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - X509_get0_extensions
    - ASN1_ITEM_rptr
    - sk_X509_EXTENSION_num
    - X509_set_version
    - ASN1_item_sign_ex
    linkageType: ''
    returnType: int
    signature: int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:103,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_all.c:106,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/x_all.c:106,1
    - Dst: X509_set_version
      Src: /src/openssl/crypto/x509/x_all.c:107,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/x509/x_all.c:110,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: X509_sign_ctx
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_item_sign_ctx
    - X509_get0_extensions
    - ASN1_ITEM_rptr
    - sk_X509_EXTENSION_num
    - X509_set_version
    linkageType: ''
    returnType: int
    signature: int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:119,1
    - Dst: OSSL_HTTP_get
      Src: /src/openssl/crypto/x509/x_all.c:121,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/x509/x_all.c:126,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/x_all.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - url
    - bio
    - rbio
    - timeout
    - it
    argTypes:
    - char*
    - BIO*
    - BIO*
    - int
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: simple_get_asn1
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - OSSL_HTTP_get
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE *simple_get_asn1(const char *url, BIO *bio, BIO *rbio,\n
      \                                  int timeout, const ASN1_ITEM *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_get_asn1
      Src: /src/openssl/crypto/x509/x_all.c:137,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - url
    - bio
    - rbio
    - timeout
    argTypes:
    - char*
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: X509_load_http
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - simple_get_asn1
    linkageType: ''
    returnType: X509
    signature: X509 *X509_load_http(const char *url, BIO *bio, BIO *rbio, int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:144,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/x509/x_all.c:148,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: X509_REQ_sign
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_item_sign_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:156,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/x509/x_all.c:160,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509_REQ*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: X509_REQ_sign_ctx
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_item_sign_ctx
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:168,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/x509/x_all.c:172,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: X509_CRL_sign
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_item_sign_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:180,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/x509/x_all.c:184,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509_CRL*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: X509_CRL_sign_ctx
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_item_sign_ctx
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simple_get_asn1
      Src: /src/openssl/crypto/x509/x_all.c:191,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - url
    - bio
    - rbio
    - timeout
    argTypes:
    - char*
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: X509_CRL_load_http
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - simple_get_asn1
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *X509_CRL_load_http(const char *url, BIO *bio, BIO *rbio,
      int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/x509/x_all.c:197,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509_ACERT*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: X509_ACERT_sign
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_sign_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_sign(X509_ACERT *x, EVP_PKEY *pkey, const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/x509/x_all.c:205,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - ctx
    argTypes:
    - X509_ACERT*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: X509_ACERT_sign_ctx
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_sign_ctx
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_sign_ctx(X509_ACERT *x, EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/x509/x_all.c:213,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - NETSCAPE_SPKI*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: NETSCAPE_SPKI_sign
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_sign_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD
      *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/openssl/crypto/x509/x_all.c:220,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - x509
    argTypes:
    - FILE*
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: d2i_X509_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509
    signature: X509 *d2i_X509_fp(FILE *fp, X509 **x509)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/openssl/crypto/x509/x_all.c:225,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - x509
    argTypes:
    - FILE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: i2d_X509_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_X509_fp(FILE *fp, const X509 *x509)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/x509/x_all.c:231,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x509
    argTypes:
    - BIO*
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: d2i_X509_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: X509
    signature: X509 *d2i_X509_bio(BIO *bp, X509 **x509)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/x509/x_all.c:236,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x509
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: i2d_X509_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_X509_bio(BIO *bp, const X509 *x509)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/openssl/crypto/x509/x_all.c:242,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - crl
    argTypes:
    - FILE*
    - X509_CRL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: d2i_X509_CRL_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/openssl/crypto/x509/x_all.c:247,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - crl
    argTypes:
    - FILE*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: i2d_X509_CRL_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_X509_CRL_fp(FILE *fp, const X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/x509/x_all.c:253,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - crl
    argTypes:
    - BIO*
    - X509_CRL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: d2i_X509_CRL_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/x509/x_all.c:258,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - crl
    argTypes:
    - BIO*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: i2d_X509_CRL_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_X509_CRL_bio(BIO *bp, const X509_CRL *crl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp_ex
      Src: /src/openssl/crypto/x509/x_all.c:273,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:273,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/openssl/crypto/x509/x_all.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - p7
    argTypes:
    - FILE*
    - PKCS7**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: d2i_PKCS7_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs7_resolve_libctx
    - ASN1_item_d2i_fp_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/openssl/crypto/x509/x_all.c:281,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p7
    argTypes:
    - FILE*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: i2d_PKCS7_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS7_fp(FILE *fp, const PKCS7 *p7)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/x509/x_all.c:296,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:296,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/openssl/crypto/x509/x_all.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - bp
    - p7
    argTypes:
    - BIO*
    - PKCS7**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 300
    functionName: d2i_PKCS7_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_bio_ex
    - ASN1_ITEM_rptr
    - ossl_pkcs7_resolve_libctx
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/x509/x_all.c:304,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p7
    argTypes:
    - BIO*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: i2d_PKCS7_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS7_bio(BIO *bp, const PKCS7 *p7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/openssl/crypto/x509/x_all.c:310,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - req
    argTypes:
    - FILE*
    - X509_REQ**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: d2i_X509_REQ_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/openssl/crypto/x509/x_all.c:315,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - req
    argTypes:
    - FILE*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: i2d_X509_REQ_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_X509_REQ_fp(FILE *fp, const X509_REQ *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/x509/x_all.c:330,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bp
    - req
    argTypes:
    - BIO*
    - X509_REQ**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: d2i_X509_REQ_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_bio_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/x509/x_all.c:335,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - req
    argTypes:
    - BIO*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: i2d_X509_REQ_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_X509_REQ_bio(BIO *bp, const X509_REQ *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/openssl/crypto/x509/x_all.c:341,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: d2i_RSAPrivateKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: RSA
    signature: RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/openssl/crypto/x509/x_all.c:346,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: i2d_RSAPrivateKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_RSAPrivateKey_fp(FILE *fp, const RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/openssl/crypto/x509/x_all.c:351,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: d2i_RSAPublicKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: RSA
    signature: RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp
      Src: /src/openssl/crypto/x509/x_all.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: d2i_RSA_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp
    linkageType: ''
    returnType: RSA
    signature: RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/openssl/crypto/x509/x_all.c:363,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: i2d_RSAPublicKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_RSAPublicKey_fp(FILE *fp, const RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp
      Src: /src/openssl/crypto/x509/x_all.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - rsa
    argTypes:
    - FILE*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: i2d_RSA_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp
    linkageType: ''
    returnType: int
    signature: int i2d_RSA_PUBKEY_fp(FILE *fp, const RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/x509/x_all.c:374,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: d2i_RSAPrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: RSA
    signature: RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/x509/x_all.c:379,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: i2d_RSAPrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_RSAPrivateKey_bio(BIO *bp, const RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/x509/x_all.c:384,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: d2i_RSAPublicKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: RSA
    signature: RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: d2i_RSA_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: RSA
    signature: RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/x509/x_all.c:394,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: i2d_RSAPublicKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_RSAPublicKey_bio(BIO *bp, const RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - rsa
    argTypes:
    - BIO*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: i2d_RSA_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_RSA_PUBKEY_bio(BIO *bp, const RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: d2i_DSAPrivateKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: DSA
    signature: DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: i2d_DSAPrivateKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_DSAPrivateKey_fp(FILE *fp, const DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: d2i_DSA_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: DSA
    signature: DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - dsa
    argTypes:
    - FILE*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: i2d_DSA_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_DSA_PUBKEY_fp(FILE *fp, const DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: d2i_DSAPrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: DSA
    signature: DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: i2d_DSAPrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_DSAPrivateKey_bio(BIO *bp, const DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: d2i_DSA_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: DSA
    signature: DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - dsa
    argTypes:
    - BIO*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: i2d_DSA_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_DSA_PUBKEY_bio(BIO *bp, const DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: d2i_EC_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: i2d_EC_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_EC_PUBKEY_fp(FILE *fp, const EC_KEY *eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: d2i_ECPrivateKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - eckey
    argTypes:
    - FILE*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: i2d_ECPrivateKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_ECPrivateKey_fp(FILE *fp, const EC_KEY *eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: d2i_EC_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - ecdsa
    argTypes:
    - BIO*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: i2d_EC_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_EC_PUBKEY_bio(BIO *bp, const EC_KEY *ecdsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: d2i_ECPrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - eckey
    argTypes:
    - BIO*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: i2d_ECPrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_ECPrivateKey_bio(BIO *bp, const EC_KEY *eckey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/openssl/crypto/x509/x_all.c:493,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/x_all.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - X509*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 9
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: X509_pubkey_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - EVP_Digest
    - X509_get0_pubkey_bitstr
    linkageType: ''
    returnType: int
    signature: "int X509_pubkey_digest(const X509 *data, const EVP_MD *type,\n                       unsigned
      char *md, unsigned int *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/x509/x_all.c:503,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x_all.c:508,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/openssl/crypto/x509/x_all.c:511,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - cert
    - md
    - data
    - len
    argTypes:
    - X509*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 500
    functionDepth: 9
    functionLinenumber: 500
    functionLinenumberEnd: 513
    functionName: X509_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 4
    functionsReached:
    - memcpy
    - EVP_MD_is_a
    - ASN1_ITEM_rptr
    - ossl_asn1_item_digest_ex
    linkageType: ''
    returnType: int
    signature: "int X509_digest(const X509 *cert, const EVP_MD *md, unsigned char
      *data,\n                unsigned int *len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:532,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/x_all.c:536,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/crypto/x509/x_all.c:536,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:537,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/openssl/crypto/x509/x_all.c:543,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/openssl/crypto/x509/x_all.c:548,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/x509/x_all.c:552,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:553,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/x509/x_all.c:556,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x_all.c:558,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/x509/x_all.c:558,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x_all.c:575,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:582,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x_all.c:585,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/x509/x_all.c:585,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/x509/x_all.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:588,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/x509/x_all.c:591,1
    - Dst: ASN1_OCTET_STRING_new::ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/x_all.c:592,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/x_all.c:594,1
    - Dst: hash::hash
      Src: /src/openssl/crypto/x509/x_all.c:594,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x_all.c:598,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x_all.c:603,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 3
    argNames:
    - cert
    - md_used
    - md_is_fallback
    argTypes:
    - X509*
    - EVP_MD**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 516
    functionDepth: 10
    functionLinenumber: 516
    functionLinenumberEnd: 605
    functionName: X509_digest_sig
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - ASN1_OCTET_STRING_set
    - OBJ_nid2sn
    - hash::hash
    - EVP_get_digestbynid
    - ossl_rsa_pss_get_param_unverified
    - EVP_MD_get0_name
    - OBJ_find_sigid_algs
    - ASN1_OCTET_STRING_new::ASN1_OCTET_STRING_new
    - X509_digest
    - RSA_PSS_PARAMS_free
    - EVP_MD_fetch
    - X509_get_signature_nid
    - ossl_rsa_pss_decode
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: "ASN1_OCTET_STRING *X509_digest_sig(const X509 *cert,\n                                   EVP_MD
      **md_used, int *md_is_fallback)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:611,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/x509/x_all.c:614,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x_all.c:620,1
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/openssl/crypto/x509/x_all.c:624,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - X509_CRL*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 607
    functionDepth: 9
    functionLinenumber: 607
    functionLinenumberEnd: 626
    functionName: X509_CRL_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - EVP_MD_is_a
    - ASN1_ITEM_rptr
    - ossl_asn1_item_digest_ex
    linkageType: ''
    returnType: int
    signature: "int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type,\n                    unsigned
      char *md, unsigned int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/openssl/crypto/x509/x_all.c:632,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - X509_REQ*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: X509_REQ_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_item_digest_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: "int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type,\n                    unsigned
      char *md, unsigned int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_digest
      Src: /src/openssl/crypto/x509/x_all.c:639,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - X509_NAME*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: X509_NAME_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_digest
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type,\n
      \                    unsigned char *md, unsigned int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_digest
      Src: /src/openssl/crypto/x509/x_all.c:647,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - type
    - md
    - len
    argTypes:
    - PKCS7_ISSUER_AND_SERIAL*
    - EVP_MD*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 649
    functionName: PKCS7_ISSUER_AND_SERIAL_digest
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_digest
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: "int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data,\n
      \                                  const EVP_MD *type, unsigned char *md,\n
      \                                  unsigned int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8
    argTypes:
    - FILE*
    - X509_SIG**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: d2i_PKCS8_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: X509_SIG
    signature: X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8
    argTypes:
    - FILE*
    - X509_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: i2d_PKCS8_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS8_fp(FILE *fp, const X509_SIG *p8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8
    argTypes:
    - BIO*
    - X509_SIG**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: d2i_PKCS8_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 1
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: X509_SIG
    signature: X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8
    argTypes:
    - BIO*
    - X509_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: i2d_PKCS8_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 1
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS8_bio(BIO *bp, const X509_SIG *p8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - xpk
    argTypes:
    - FILE*
    - X509_PUBKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: d2i_X509_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *d2i_X509_PUBKEY_fp(FILE *fp, X509_PUBKEY **xpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - xpk
    argTypes:
    - FILE*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: i2d_X509_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_X509_PUBKEY_fp(FILE *fp, const X509_PUBKEY *xpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - xpk
    argTypes:
    - BIO*
    - X509_PUBKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: d2i_X509_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *d2i_X509_PUBKEY_bio(BIO *bp, X509_PUBKEY **xpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - xpk
    argTypes:
    - BIO*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: i2d_X509_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_X509_PUBKEY_bio(BIO *bp, const X509_PUBKEY *xpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8inf
    argTypes:
    - FILE*
    - PKCS8_PRIV_KEY_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 703
    functionName: d2i_PKCS8_PRIV_KEY_INFO_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: "PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,\n                                                PKCS8_PRIV_KEY_INFO
      **p8inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - p8inf
    argTypes:
    - FILE*
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: i2d_PKCS8_PRIV_KEY_INFO_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, const PKCS8_PRIV_KEY_INFO
      *p8inf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/crypto/x509/x_all.c:716,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_fp
      Src: /src/openssl/crypto/x509/x_all.c:719,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/x509/x_all.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - key
    argTypes:
    - FILE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 722
    functionName: i2d_PKCS8PrivateKeyInfo_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY2PKCS8
    - i2d_PKCS8_PRIV_KEY_INFO_fp
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, const EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - pkey
    argTypes:
    - FILE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: i2d_PrivateKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_PrivateKey_fp(FILE *fp, const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: d2i_PrivateKey_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/x_all.c:740,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/x_all.c:740,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:741,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/x_all.c:744,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/crypto/x509/x_all.c:745,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/x_all.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - fp
    - a
    - libctx
    - propq
    argTypes:
    - FILE*
    - EVP_PKEY**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 748
    functionName: d2i_PrivateKey_ex_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - d2i_PrivateKey_ex_bio
    - BIO_s_file
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PrivateKey_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX
      *libctx,\n                               const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - pkey
    argTypes:
    - FILE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: i2d_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_PUBKEY_fp(FILE *fp, const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/x_all.c:761,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/x_all.c:761,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_all.c:762,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/x_all.c:765,1
    - Dst: d2i_PUBKEY_ex_bio
      Src: /src/openssl/crypto/x509/x_all.c:766,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/x_all.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - fp
    - a
    - libctx
    - propq
    argTypes:
    - FILE*
    - EVP_PKEY**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 769
    functionName: d2i_PUBKEY_ex_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - BIO_s_file
    - d2i_PUBKEY_ex_bio
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PUBKEY_ex_fp(FILE *fp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,\n
      \                          const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/x509/x_all.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: d2i_PUBKEY_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8inf
    argTypes:
    - BIO*
    - PKCS8_PRIV_KEY_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: d2i_PKCS8_PRIV_KEY_INFO_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: "PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,\n                                                 PKCS8_PRIV_KEY_INFO
      **p8inf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - p8inf
    argTypes:
    - BIO*
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: i2d_PKCS8_PRIV_KEY_INFO_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 1
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, const PKCS8_PRIV_KEY_INFO
      *p8inf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/crypto/x509/x_all.c:796,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/crypto/x509/x_all.c:799,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/x509/x_all.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bp
    - key
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 802
    functionName: i2d_PKCS8PrivateKeyInfo_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY2PKCS8
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, const EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: i2d_PrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_PrivateKey_bio(BIO *bp, const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: d2i_PrivateKey_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/crypto/x509/x_all.c:822,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/crypto/x509/x_all.c:827,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/x_all.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - bp
    - a
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 831
    functionName: d2i_PrivateKey_ex_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 1
    functionsReached:
    - d2i_AutoPrivateKey_ex
    - BUF_MEM_free
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PrivateKey_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX
      *libctx,\n                                const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: i2d_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/crypto/x509/x_all.c:846,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/crypto/x509/x_all.c:851,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/x_all.c:853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - bp
    - a
    - libctx
    - propq
    argTypes:
    - BIO*
    - EVP_PKEY**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 855
    functionName: d2i_PUBKEY_ex_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_free
    - asn1_d2i_read_bio
    - d2i_PUBKEY_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PUBKEY_ex_bio(BIO *bp, EVP_PKEY **a, OSSL_LIB_CTX *libctx,\n
      \                           const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/x509/x_all.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: d2i_PUBKEY_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp
      Src: /src/openssl/crypto/x509/x_all.c:865,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - acert
    argTypes:
    - FILE*
    - X509_ACERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: d2i_X509_ACERT_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_ACERT
    signature: X509_ACERT *d2i_X509_ACERT_fp(FILE *fp, X509_ACERT **acert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_fp
      Src: /src/openssl/crypto/x509/x_all.c:870,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - acert
    argTypes:
    - FILE*
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: i2d_X509_ACERT_fp
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_fp
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_X509_ACERT_fp(FILE *fp, const X509_ACERT *acert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/x509/x_all.c:876,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - acert
    argTypes:
    - BIO*
    - X509_ACERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: d2i_X509_ACERT_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: X509_ACERT
    signature: X509_ACERT *d2i_X509_ACERT_bio(BIO *bp, X509_ACERT **acert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/x509/x_all.c:881,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_all.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - acert
    argTypes:
    - BIO*
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: i2d_X509_ACERT_bio
    functionSourceFile: /src/openssl/crypto/x509/x_all.c
    functionUses: 0
    functionsReached:
    - ASN1_item_i2d_bio
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_X509_ACERT_bio(BIO *bp, const X509_ACERT *acert)
  - BBCount: 103
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 207
    argCount: 1
    argNames:
    - n
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 237
    functionName: X509_verify_cert_error_string
    functionSourceFile: /src/openssl/crypto/x509/x509_txt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_verify_cert_error_string(long n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/x509/x509_ext.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: X509_CRL_get_ext_count
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int X509_CRL_get_ext_count(const X509_CRL *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_ext.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509_CRL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: X509_CRL_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/x509/x509_ext.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509_CRL*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: X509_CRL_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int X509_CRL_get_ext_by_OBJ(const X509_CRL *x, const ASN1_OBJECT *obj,\n
      \                           int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/x509/x509_ext.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - X509_CRL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: X509_CRL_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: int X509_CRL_get_ext_by_critical(const X509_CRL *x, int crit, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: X509_CRL_get_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: X509_CRL_delete_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/x509/x509_ext.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - X509_CRL*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: X509_CRL_get_ext_d2i
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: void *X509_CRL_get_ext_d2i(const X509_CRL *x, int nid, int *crit, int
      *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/openssl/crypto/x509/x509_ext.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - X509_CRL*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: X509_CRL_add1_ext_i2d
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: "int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit,\n
      \                         unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509_CRL*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: X509_CRL_add_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/x509/x509_ext.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: X509_get_ext_count
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int X509_get_ext_count(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_ext.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: X509_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int X509_get_ext_by_NID(const X509 *x, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/x509/x509_ext.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: X509_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: int X509_get_ext_by_OBJ(const X509 *x, const ASN1_OBJECT *obj, int
      lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/x509/x509_ext.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: X509_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: int X509_get_ext_by_critical(const X509 *x, int crit, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: X509_get_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 1
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509_get_ext(const X509 *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: X509_delete_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509_delete_ext(X509 *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: X509_add_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/x509/x509_ext.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - X509*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: X509_get_ext_d2i
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 2
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: void *X509_get_ext_d2i(const X509 *x, int nid, int *crit, int *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/openssl/crypto/x509/x509_ext.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - X509*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: X509_add1_ext_i2d
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: "int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit,\n                      unsigned
      long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/x509/x509_ext.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: X509_REVOKED_get_ext_count
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int X509_REVOKED_get_ext_count(const X509_REVOKED *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_ext.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509_REVOKED*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: X509_REVOKED_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int
      lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/x509/x509_ext.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509_REVOKED*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: X509_REVOKED_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT
      *obj,\n                                int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/x509/x509_ext.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - X509_REVOKED*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: X509_REVOKED_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit,
      int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_REVOKED*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: X509_REVOKED_get_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_REVOKED*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: X509_REVOKED_delete_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/x509/x509_ext.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - X509_REVOKED*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: X509_REVOKED_add_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/x509/x509_ext.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - X509_REVOKED*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: X509_REVOKED_get_ext_d2i
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: void *X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int
      *crit, int *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/openssl/crypto/x509/x509_ext.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - X509_REVOKED*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: X509_REVOKED_add1_ext_i2d
    functionSourceFile: /src/openssl/crypto/x509/x509_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: "int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value,
      int crit,\n                              unsigned long flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509rset.c:21,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/x509rset.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509_REQ*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: X509_REQ_set_version
    functionSourceFile: /src/openssl/crypto/x509/x509rset.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_set
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int X509_REQ_set_version(X509_REQ *x, long version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/x509/x509rset.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509_REQ*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: X509_REQ_set_subject_name
    functionSourceFile: /src/openssl/crypto/x509/x509rset.c
    functionUses: 0
    functionsReached:
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: int X509_REQ_set_subject_name(X509_REQ *x, const X509_NAME *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/x509/x509rset.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: X509_REQ_set_pubkey
    functionSourceFile: /src/openssl/crypto/x509/x509rset.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_extku.c:101,1
    - Dst: sk_ASN1_OBJECT_new_reserve
      Src: /src/openssl/crypto/x509/v3_extku.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_extku.c:106,1
    - Dst: sk_ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_extku.c:107,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_extku.c:112,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_extku.c:117,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/v3_extku.c:118,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_extku.c:119,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/x509/v3_extku.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 126
    functionName: v2i_EXTENDED_KEY_USAGE
    functionSourceFile: /src/openssl/crypto/x509/v3_extku.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_ASN1_OBJECT_free
    - sk_CONF_VALUE_num
    - sk_ASN1_OBJECT_new_reserve
    - ERR_raise_data
    - sk_ASN1_OBJECT_push
    - OBJ_txt2obj
    - sk_ASN1_OBJECT_pop_free
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: void
    signature: "void *v2i_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method,\n                                    X509V3_CTX
      *ctx,\n                                    STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_utl.c:47,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_utl.c:51,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_utl.c:53,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_utl.c:57,1
    - Dst: sk_CONF_VALUE_new_null
      Src: /src/openssl/crypto/x509/v3_utl.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:60,1
    - Dst: sk_CONF_VALUE_push
      Src: /src/openssl/crypto/x509/v3_utl.c:66,1
    - Dst: sk_CONF_VALUE_free
      Src: /src/openssl/crypto/x509/v3_utl.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:74,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:76,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 4
    argNames:
    - name
    - value
    - vallen
    - extlist
    argTypes:
    - char*
    - char*
    - size_t
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 78
    functionName: x509v3_add_len_value
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - sk_CONF_VALUE_new_null
    - ERR_raise
    - sk_CONF_VALUE_free
    - memchr
    - OPENSSL_free
    - OPENSSL_strdup
    - sk_CONF_VALUE_push
    - OPENSSL_strndup
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int x509v3_add_len_value(const char *name, const char *value,\n                                size_t
      vallen, STACK_OF(CONF_VALUE) **extlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509v3_add_len_value
      Src: /src/openssl/crypto/x509/v3_utl.c:83,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - extlist
    argTypes:
    - char*
    - char*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: X509V3_add_value
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - x509v3_add_len_value
    - strlen
    linkageType: ''
    returnType: int
    signature: "int X509V3_add_value(const char *name, const char *value,\n                     STACK_OF(CONF_VALUE)
      **extlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509v3_add_len_value
      Src: /src/openssl/crypto/x509/v3_utl.c:91,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - value
    - extlist
    argTypes:
    - char*
    - unsigned char*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: X509V3_add_value_uchar
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - x509v3_add_len_value
    - strlen
    linkageType: ''
    returnType: int
    signature: "int X509V3_add_value_uchar(const char *name, const unsigned char *value,\n
      \                          STACK_OF(CONF_VALUE) **extlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509v3_add_len_value
      Src: /src/openssl/crypto/x509/v3_utl.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - name
    - value
    - vallen
    - extlist
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: x509v3_add_len_value_uchar
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - x509v3_add_len_value
    linkageType: ''
    returnType: int
    signature: "int x509v3_add_len_value_uchar(const char *name, const unsigned char
      *value,\n                               size_t vallen, STACK_OF(CONF_VALUE)
      **extlist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:110,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: X509V3_conf_free
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void X509V3_conf_free(CONF_VALUE *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add_value
      Src: /src/openssl/crypto/x509/v3_utl.c:118,1
    - Dst: X509V3_add_value
      Src: /src/openssl/crypto/x509/v3_utl.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - asn1_bool
    - extlist
    argTypes:
    - char*
    - int
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: X509V3_add_value_bool
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - X509V3_add_value
    linkageType: ''
    returnType: int
    signature: "int X509V3_add_value_bool(const char *name, int asn1_bool,\n                          STACK_OF(CONF_VALUE)
      **extlist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add_value
      Src: /src/openssl/crypto/x509/v3_utl.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - asn1_bool
    - extlist
    argTypes:
    - char*
    - int
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: X509V3_add_value_bool_nf
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - X509V3_add_value
    linkageType: ''
    returnType: int
    signature: "int X509V3_add_value_bool_nf(const char *name, int asn1_bool,\n                             STACK_OF(CONF_VALUE)
      **extlist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/x509/v3_utl.c:140,1
    - Dst: BN_bn2dec
      Src: /src/openssl/crypto/x509/v3_utl.c:141,1
    - Dst: BN_bn2hex
      Src: /src/openssl/crypto/x509/v3_utl.c:143,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:147,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_utl.c:148,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:150,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/x509/v3_utl.c:156,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/x509/v3_utl.c:157,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/x509/v3_utl.c:159,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/x509/v3_utl.c:160,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: bignum_to_string
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - BN_bn2hex
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - OPENSSL_free
    - strlen
    - BN_num_bits
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *bignum_to_string(const BIGNUM *bn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_to_BN
      Src: /src/openssl/crypto/x509/v3_utl.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:174,1
    - Dst: bignum_to_string
      Src: /src/openssl/crypto/x509/v3_utl.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:176,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_utl.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - method
    - a
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: i2s_ASN1_ENUMERATED
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - BN_free
    - bignum_to_string
    - ERR_raise
    - ASN1_ENUMERATED_to_BN
    linkageType: ''
    returnType: char
    signature: char *i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *method, const ASN1_ENUMERATED
      *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/x509/v3_utl.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:189,1
    - Dst: bignum_to_string
      Src: /src/openssl/crypto/x509/v3_utl.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:191,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_utl.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - method
    - a
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 181
    functionDepth: 6
    functionLinenumber: 181
    functionLinenumberEnd: 194
    functionName: i2s_ASN1_INTEGER
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_to_BN
    - BN_free
    - bignum_to_string
    - ERR_raise
    linkageType: ''
    returnType: char
    signature: char *i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER
      *a)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:204,1
    - Dst: BN_new
      Src: /src/openssl/crypto/x509/v3_utl.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:209,1
    - Dst: BN_hex2bn
      Src: /src/openssl/crypto/x509/v3_utl.c:227,1
    - Dst: BN_dec2bn
      Src: /src/openssl/crypto/x509/v3_utl.c:229,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_utl.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:233,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/x509/v3_utl.c:237,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_utl.c:240,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_utl.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - method
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 196
    functionDepth: 6
    functionLinenumber: 196
    functionLinenumberEnd: 249
    functionName: s2i_ASN1_INTEGER
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - BN_hex2bn
    - ERR_raise
    - BN_is_zero
    - BN_dec2bn
    - BN_new
    - BN_to_ASN1_INTEGER
    - BN_free
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char
      *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_utl.c:259,1
    - Dst: X509V3_add_value
      Src: /src/openssl/crypto/x509/v3_utl.c:261,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - name
    - aint
    - extlist
    argTypes:
    - char*
    - ASN1_INTEGER*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 251
    functionDepth: 7
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: X509V3_add_value_int
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - X509V3_add_value
    - OPENSSL_free
    - i2s_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: "int X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint,\n
      \                        STACK_OF(CONF_VALUE) **extlist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:272,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:273,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:274,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:275,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:276,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:277,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:281,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:282,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:283,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:284,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:285,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_utl.c:291,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_utl.c:292,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - value
    - asn1_bool
    argTypes:
    - CONF_VALUE*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 294
    functionName: X509V3_get_value_bool
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - strcmp
    - X509V3_conf_add_error_name_value
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_utl.c:300,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_utl.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - aint
    argTypes:
    - CONF_VALUE*
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 7
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: X509V3_get_value_int
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - s2i_ASN1_INTEGER
    - X509V3_conf_add_error_name_value
    linkageType: ''
    returnType: int
    signature: int X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/v3_utl.c:413,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:417,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/v3_utl.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 425
    functionName: strip_spaces
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - strlen
    - ossl_isspace
    linkageType: ''
    returnType: char
    signature: char *strip_spaces(char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:438,1
    - Dst: strncmp
      Src: /src/openssl/crypto/x509/v3_utl.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - cmp
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 445
    functionName: ossl_v3_name_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 3
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int ossl_v3_name_cmp(const char *name, const char *cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: sk_strcmp
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int sk_strcmp(const char *const *a, const char *const *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_utl.c:503,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_utl.c:511,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_utl.c:513,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_utl.c:514,1
    - Dst: append_ia5
      Src: /src/openssl/crypto/x509/v3_utl.c:515,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_utl.c:518,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_utl.c:519,1
    - Dst: append_ia5
      Src: /src/openssl/crypto/x509/v3_utl.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - name
    - gens
    argTypes:
    - X509_NAME*
    - GENERAL_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 526
    functionName: get_email
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - X509_NAME_get_index_by_NID
    - append_ia5
    - STACK_OF
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - X509_NAME_get_entry
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: STACK_OF
    signature: "STACK_OF *get_email(const X509_NAME *name,\n                                           GENERAL_NAMES
      *gens)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - OPENSSL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: str_free
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void str_free(OPENSSL_STRING str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - p
    - plen
    - subject_len
    - flags
    argTypes:
    - unsigned char**
    - size_t*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 610
    functionName: skip_prefix
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void skip_prefix(const unsigned char **p, size_t *plen,\n                        size_t
      subject_len,\n                        unsigned int flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: skip_prefix
      Src: /src/openssl/crypto/x509/v3_utl.c:617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 640
    functionName: equal_nocase
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - skip_prefix
    linkageType: ''
    returnType: int
    signature: "int equal_nocase(const unsigned char *pattern, size_t pattern_len,\n
      \                       const unsigned char *subject, size_t subject_len,\n
      \                       unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_prefix
      Src: /src/openssl/crypto/x509/v3_utl.c:647,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 651
    functionName: equal_case
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - skip_prefix
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int equal_case(const unsigned char *pattern, size_t pattern_len,\n
      \                     const unsigned char *subject, size_t subject_len,\n                      unsigned
      int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: equal_nocase
      Src: /src/openssl/crypto/x509/v3_utl.c:673,1
    - Dst: equal_case
      Src: /src/openssl/crypto/x509/v3_utl.c:680,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - a
    - a_len
    - b
    - b_len
    - unused_flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 681
    functionName: equal_email
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - equal_nocase
    - equal_case
    linkageType: ''
    returnType: int
    signature: "int equal_email(const unsigned char *a, size_t a_len,\n                       const
      unsigned char *b, size_t b_len,\n                       unsigned int unused_flags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: equal_nocase
      Src: /src/openssl/crypto/x509/v3_utl.c:700,1
    - Dst: equal_nocase
      Src: /src/openssl/crypto/x509/v3_utl.c:704,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/crypto/x509/v3_utl.c:719,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 24
    argCount: 7
    argNames:
    - prefix
    - prefix_len
    - suffix
    - suffix_len
    - subject
    - subject_len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 736
    functionName: wildcard_match
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - equal_nocase
    - HAS_CASE_PREFIX
    linkageType: ''
    returnType: int
    signature: "int wildcard_match(const unsigned char *prefix, size_t prefix_len,\n
      \                         const unsigned char *suffix, size_t suffix_len,\n
      \                         const unsigned char *subject, size_t subject_len,\n
      \                         unsigned int flags)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/crypto/x509/v3_utl.c:779,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 34
    argCount: 3
    argNames:
    - p
    - len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 804
    functionName: valid_star
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - HAS_CASE_PREFIX
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *valid_star(const unsigned char *p, size_t len,\n                                       unsigned
      int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: valid_star
      Src: /src/openssl/crypto/x509/v3_utl.c:818,1
    - Dst: equal_nocase
      Src: /src/openssl/crypto/x509/v3_utl.c:820,1
    - Dst: wildcard_match
      Src: /src/openssl/crypto/x509/v3_utl.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - pattern
    - pattern_len
    - subject
    - subject_len
    - flags
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 825
    functionName: equal_wildcard
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - valid_star
    - equal_nocase
    - wildcard_match
    linkageType: ''
    returnType: int
    signature: "int equal_wildcard(const unsigned char *pattern, size_t pattern_len,\n
      \                         const unsigned char *subject, size_t subject_len,\n
      \                         unsigned int flags)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: equal
      Src: /src/openssl/crypto/x509/v3_utl.c:845,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_utl.c:846,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_utl.c:849,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/openssl/crypto/x509/v3_utl.c:856,1
    - Dst: equal
      Src: /src/openssl/crypto/x509/v3_utl.c:864,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/v3_utl.c:866,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:868,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:872,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 7
    argNames:
    - a
    - cmp_type
    - equal
    - flags
    - b
    - blen
    - peername
    argTypes:
    - ASN1_STRING*
    - int
    - equal_fn
    - unsigned int
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 875
    functionName: do_check_string
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - equal
    - memcmp
    - OPENSSL_free
    - ASN1_STRING_to_UTF8
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: "int do_check_string(const ASN1_STRING *a, int cmp_type, equal_fn equal,\n
      \                          unsigned int flags, const char *b, size_t blen,\n
      \                          char **peername)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:911,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_utl.c:913,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_utl.c:915,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_utl.c:919,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_utl.c:924,1
    - Dst: do_check_string
      Src: /src/openssl/crypto/x509/v3_utl.c:979,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/v3_utl.c:983,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_utl.c:995,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/crypto/x509/v3_utl.c:996,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/v3_utl.c:997,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/x509/v3_utl.c:998,1
    - Dst: do_check_string
      Src: /src/openssl/crypto/x509/v3_utl.c:1001,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 75
    argCount: 6
    argNames:
    - x
    - chk
    - chklen
    - flags
    - check_type
    - peername
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 1006
    functionName: do_x509_check
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - X509_NAME_get_index_by_NID
    - do_check_string
    - GENERAL_NAMES_free
    - X509_get_ext_d2i
    - X509_get_subject_name
    - X509_NAME_get_entry
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - X509_NAME_ENTRY_get_data
    - strlen
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int do_x509_check(X509 *x, const char *chk, size_t chklen,\n                         unsigned
      int flags, int check_type, char **peername)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:1019,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_utl.c:1020,1
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1024,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - x
    - chk
    - chklen
    - flags
    - peername
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1025
    functionName: X509_check_host
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - strlen
    - memchr
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: "int X509_check_host(X509 *x, const char *chk, size_t chklen,\n                    unsigned
      int flags, char **peername)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_utl.c:1038,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/v3_utl.c:1039,1
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - x
    - chk
    - chklen
    - flags
    argTypes:
    - X509*
    - char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1027
    functionDepth: 3
    functionLinenumber: 1027
    functionLinenumberEnd: 1044
    functionName: X509_check_email
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - strlen
    - memchr
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: "int X509_check_email(X509 *x, const char *chk, size_t chklen,\n                     unsigned
      int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - x
    - chk
    - chklen
    - flags
    argTypes:
    - X509*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1046
    functionDepth: 3
    functionLinenumber: 1046
    functionLinenumberEnd: 1052
    functionName: X509_check_ip
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: "int X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen,\n
      \                 unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_utl.c:1061,1
    - Dst: do_x509_check
      Src: /src/openssl/crypto/x509/v3_utl.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - x
    - ipasc
    - flags
    argTypes:
    - X509*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1065
    functionName: X509_check_ip_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - ossl_a2i_ipadd
    - do_x509_check
    linkageType: ''
    returnType: int
    signature: int X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/x509/v3_utl.c:1078,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/x509/v3_utl.c:1086,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/x509/v3_utl.c:1091,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_utl.c:1094,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1095
    functionName: ossl_ipaddr_to_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 2
    functionsReached:
    - BIO_snprintf
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *ossl_ipaddr_to_asc(unsigned char *p, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_utl.c:1110,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_utl.c:1115,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_utl.c:1118,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ipasc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1123
    functionName: a2i_IPADDRESS
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - ASN1_OCTET_STRING_set
    - ossl_a2i_ipadd
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/x509/v3_utl.c:1132,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_utl.c:1135,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_utl.c:1141,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_utl.c:1146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1148,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_utl.c:1154,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_utl.c:1157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1163,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - ipasc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1166
    functionName: a2i_IPADDRESS_NC
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - strchr
    - ossl_a2i_ipadd
    - ASN1_OCTET_STRING_set
    - OPENSSL_free
    - OPENSSL_strdup
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/x509/v3_utl.c:1172,1
    - Dst: ipv6_from_asc
      Src: /src/openssl/crypto/x509/v3_utl.c:1173,1
    - Dst: ipv4_from_asc
      Src: /src/openssl/crypto/x509/v3_utl.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ipout
    - ipasc
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1181
    functionName: ossl_a2i_ipadd
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 3
    functionsReached:
    - ipv6_from_asc
    - strchr
    - ipv4_from_asc
    linkageType: ''
    returnType: int
    signature: int ossl_a2i_ipadd(unsigned char *ipout, const char *ipasc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/x509/v3_utl.c:1194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - out_byte
    - str
    argTypes:
    - uint8_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1214
    functionName: get_ipv4_component
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - ossl_isdigit
    linkageType: ''
    returnType: int
    signature: int get_ipv4_component(uint8_t *out_byte, const char **str)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1227
    functionName: get_ipv4_dot
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ipv4_dot(const char **str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ipv4_component
      Src: /src/openssl/crypto/x509/v3_utl.c:1231,1
    - Dst: get_ipv4_dot
      Src: /src/openssl/crypto/x509/v3_utl.c:1231,1
    - Dst: get_ipv4_component
      Src: /src/openssl/crypto/x509/v3_utl.c:1232,1
    - Dst: get_ipv4_dot
      Src: /src/openssl/crypto/x509/v3_utl.c:1232,1
    - Dst: get_ipv4_component
      Src: /src/openssl/crypto/x509/v3_utl.c:1233,1
    - Dst: get_ipv4_dot
      Src: /src/openssl/crypto/x509/v3_utl.c:1233,1
    - Dst: get_ipv4_component
      Src: /src/openssl/crypto/x509/v3_utl.c:1234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - v4
    - in
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1229
    functionDepth: 3
    functionLinenumber: 1229
    functionLinenumberEnd: 1238
    functionName: ipv4_from_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - get_ipv4_component
    - get_ipv4_dot
    linkageType: ''
    returnType: int
    signature: int ipv4_from_asc(unsigned char *v4, const char *in)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/openssl/crypto/x509/v3_utl.c:1263,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_utl.c:1300,1
    - Dst: memset
      Src: /src/openssl/crypto/x509/v3_utl.c:1302,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_utl.c:1305,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_utl.c:1309,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - v6
    - in
    argTypes:
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1313
    functionName: ipv6_from_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - memcpy
    - memset
    - CONF_parse_list
    linkageType: ''
    returnType: int
    signature: int ipv6_from_asc(unsigned char *v6, const char *in)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ipv4_from_asc
      Src: /src/openssl/crypto/x509/v3_utl.c:1339,1
    - Dst: ipv6_hex
      Src: /src/openssl/crypto/x509/v3_utl.c:1343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - elem
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1315
    functionDepth: 4
    functionLinenumber: 1315
    functionLinenumberEnd: 1349
    functionName: ipv6_cb
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - ipv6_hex
    - ipv4_from_asc
    linkageType: ''
    returnType: int
    signature: int ipv6_cb(const char *elem, int len, void *usr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/x509/v3_utl.c:1366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - out
    - in
    - inlen
    argTypes:
    - unsigned char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1374
    functionName: ipv6_hex
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 1
    functionsReached:
    - OPENSSL_hexchar2int
    linkageType: ''
    returnType: int
    signature: int ipv6_hex(unsigned char *out, const char *in, int inlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_utl.c:1430,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_utl.c:1432,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_utl.c:1433,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_utl.c:1434,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_utl.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - gens
    - indent
    argTypes:
    - BIO*
    - GENERAL_NAMES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1437
    functionName: OSSL_GENERAL_NAMES_print
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - BIO_puts
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int OSSL_GENERAL_NAMES_print(BIO *out, GENERAL_NAMES *gens, int indent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/crypto/x509/v3_utl.c:1447,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_utl.c:1450,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_utl.c:1452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - out
    - buf
    - len
    argTypes:
    - BIO*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1439
    functionDepth: 4
    functionLinenumber: 1439
    functionLinenumberEnd: 1454
    functionName: ossl_bio_print_hex
    functionSourceFile: /src/openssl/crypto/x509/v3_utl.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OPENSSL_free
    - OPENSSL_buf2hexstr
    linkageType: ''
    returnType: int
    signature: int ossl_bio_print_hex(BIO *out, unsigned char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: node_data_critical
    functionSourceFile: /src/openssl/crypto/x509/pcy_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: node_data_critical(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: node_critical
    functionSourceFile: /src/openssl/crypto/x509/pcy_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: node_critical(node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_get_openssldir
      Src: /src/openssl/crypto/x509/x509_def.c:35,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/x509/x509_def.c:40,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_def.c:41,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_def.c:41,1
    - Dst: strcat
      Src: /src/openssl/crypto/x509/x509_def.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pathname
    - suffix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: get_windows_default_path
    functionSourceFile: /src/openssl/crypto/x509/x509_def.c
    functionUses: 0
    functionsReached:
    - strcat
    - OPENSSL_strlcpy
    - strlen
    - ossl_get_openssldir
    linkageType: ''
    returnType: void
    signature: void get_windows_default_path(char *pathname, const char *suffix)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_windows_default_path
      Src: /src/openssl/crypto/x509/x509_def.c:48,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_def.c:49,1
    - Dst: get_windows_default_path
      Src: /src/openssl/crypto/x509/x509_def.c:52,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_def.c:53,1
    - Dst: get_windows_default_path
      Src: /src/openssl/crypto/x509/x509_def.c:56,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_def.c:57,1
    - Dst: get_windows_default_path
      Src: /src/openssl/crypto/x509/x509_def.c:60,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_def.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/x509/x509_def.c
    functionUses: 0
    functionsReached:
    - get_windows_default_path
    - strlen
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_openssldir_setup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/x509/x509_def.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: X509_get_default_private_dir
    functionSourceFile: /src/openssl/crypto/x509/x509_def.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: char
    signature: char *X509_get_default_private_dir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/x509/x509_def.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: X509_get_default_cert_area
    functionSourceFile: /src/openssl/crypto/x509/x509_def.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: char
    signature: char *X509_get_default_cert_area(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/x509/x509_def.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: X509_get_default_cert_dir
    functionSourceFile: /src/openssl/crypto/x509/x509_def.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: char
    signature: char *X509_get_default_cert_dir(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/x509/x509_def.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: X509_get_default_cert_file
    functionSourceFile: /src/openssl/crypto/x509/x509_def.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: char
    signature: char *X509_get_default_cert_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: X509_get_default_cert_dir_env
    functionSourceFile: /src/openssl/crypto/x509/x509_def.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_get_default_cert_dir_env(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: X509_get_default_cert_file_env
    functionSourceFile: /src/openssl/crypto/x509/x509_def.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_get_default_cert_file_env(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/pcy_node.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_POLICY_NODE**
    - X509_POLICY_NODE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: node_cmp
    functionSourceFile: /src/openssl/crypto/x509/pcy_node.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    linkageType: ''
    returnType: int
    signature: "int node_cmp(const X509_POLICY_NODE *const *a,\n                    const
      X509_POLICY_NODE *const *b)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP_get_store
      Src: /src/openssl/crypto/x509/by_store.c:30,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/crypto/x509/by_store.c:32,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/by_store.c:55,1
    - Dst: OSSL_STORE_find
      Src: /src/openssl/crypto/x509/by_store.c:56,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/by_store.c:57,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/crypto/x509/by_store.c:61,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/crypto/x509/by_store.c:68,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/openssl/crypto/x509/by_store.c:79,1
    - Dst: cache_objects
      Src: /src/openssl/crypto/x509/by_store.c:82,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/x509/by_store.c:92,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/openssl/crypto/x509/by_store.c:93,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/crypto/x509/by_store.c:96,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/openssl/crypto/x509/by_store.c:97,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/x509/by_store.c:102,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/crypto/x509/by_store.c:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - lctx
    - store
    - criterion
    - depth
    argTypes:
    - X509_LOOKUP*
    - CACHED_STORE*
    - OSSL_STORE_SEARCH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 109
    functionName: cache_objects
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_INFO_get_type
    - ERR_pop_to_mark
    - X509_STORE_add_cert
    - OSSL_STORE_find
    - X509_LOOKUP_get_store
    - ERR_set_mark
    - OSSL_STORE_load
    - OSSL_STORE_INFO_get0_CRL
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - OSSL_STORE_INFO_get0_NAME
    - OSSL_STORE_INFO_free
    - cache_objects
    - OSSL_STORE_INFO_get0_CERT
    - X509_STORE_add_crl
    linkageType: ''
    returnType: int
    signature: "int cache_objects(X509_LOOKUP *lctx, CACHED_STORE *store,\n                         const
      OSSL_STORE_SEARCH *criterion, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_store.c:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_store.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_store.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - store
    argTypes:
    - CACHED_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: free_store
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_store(CACHED_STORE *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/by_store.c:123,1
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/openssl/crypto/x509/by_store.c:123,1
    - Dst: sk_CACHED_STORE_pop_free
      Src: /src/openssl/crypto/x509/by_store.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: by_store_free
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - X509_LOOKUP_get_method_data
    - sk_CACHED_STORE_pop_free
    linkageType: ''
    returnType: void
    signature: void by_store_free(X509_LOOKUP *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/by_store.c:134,1
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/openssl/crypto/x509/by_store.c:134,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/by_store.c:135,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/by_store.c:142,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/by_store.c:145,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/crypto/x509/by_store.c:150,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/crypto/x509/by_store.c:155,1
    - Dst: free_store
      Src: /src/openssl/crypto/x509/by_store.c:156,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/crypto/x509/by_store.c:159,1
    - Dst: sk_CACHED_STORE_new_null
      Src: /src/openssl/crypto/x509/by_store.c:162,1
    - Dst: X509_LOOKUP_set_method_data
      Src: /src/openssl/crypto/x509/by_store.c:164,1
    - Dst: sk_CACHED_STORE_push
      Src: /src/openssl/crypto/x509/by_store.c:166,1
    - Dst: free_store
      Src: /src/openssl/crypto/x509/by_store.c:167,1
    - Dst: cache_objects
      Src: /src/openssl/crypto/x509/by_store.c:181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 7
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - retp
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 187
    functionName: by_store_ctrl_ex
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - X509_LOOKUP_get_method_data
    - sk_CACHED_STORE_new_null
    - X509_LOOKUP_set_method_data
    - sk_CACHED_STORE_push
    - STACK_OF
    - OPENSSL_strdup
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - free_store
    - cache_objects
    linkageType: ''
    returnType: int
    signature: "int by_store_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char *argp,\n
      \                           long argl, char **retp, OSSL_LIB_CTX *libctx,\n
      \                           const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: by_store_ctrl_ex
      Src: /src/openssl/crypto/x509/by_store.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - retp
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: by_store_ctrl
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - by_store_ctrl_ex
    linkageType: ''
    returnType: int
    signature: "int by_store_ctrl(X509_LOOKUP *ctx, int cmd,\n                         const
      char *argp, long argl, char **retp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/by_store.c:198,1
    - Dst: X509_LOOKUP_get_method_data
      Src: /src/openssl/crypto/x509/by_store.c:198,1
    - Dst: sk_CACHED_STORE_num
      Src: /src/openssl/crypto/x509/by_store.c:202,1
    - Dst: cache_objects
      Src: /src/openssl/crypto/x509/by_store.c:203,1
    - Dst: sk_CACHED_STORE_value
      Src: /src/openssl/crypto/x509/by_store.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - type
    - criterion
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - OSSL_STORE_SEARCH*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 210
    functionName: by_store
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_get_method_data
    - STACK_OF
    - sk_CACHED_STORE_num
    - sk_CACHED_STORE_value
    - cache_objects
    linkageType: ''
    returnType: int
    signature: "int by_store(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,\n                    const
      OSSL_STORE_SEARCH *criterion, X509_OBJECT *ret)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_SEARCH_by_name
      Src: /src/openssl/crypto/x509/by_store.c:216,1
    - Dst: by_store
      Src: /src/openssl/crypto/x509/by_store.c:217,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/by_store.c:218,1
    - Dst: X509_STORE_get0_objects
      Src: /src/openssl/crypto/x509/by_store.c:219,1
    - Dst: X509_LOOKUP_get_store
      Src: /src/openssl/crypto/x509/by_store.c:219,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/openssl/crypto/x509/by_store.c:222,1
    - Dst: X509_LOOKUP_get_store
      Src: /src/openssl/crypto/x509/by_store.c:225,1
    - Dst: ossl_x509_store_read_lock
      Src: /src/openssl/crypto/x509/by_store.c:227,1
    - Dst: X509_OBJECT_retrieve_by_subject
      Src: /src/openssl/crypto/x509/by_store.c:229,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/by_store.c:230,1
    - Dst: X509_OBJECT_set1_X509
      Src: /src/openssl/crypto/x509/by_store.c:255,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/by_store.c:257,1
    - Dst: X509_OBJECT_set1_X509_CRL
      Src: /src/openssl/crypto/x509/by_store.c:260,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/by_store.c:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - type
    - name
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 269
    functionName: by_store_subject
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached:
    - by_store
    - OSSL_STORE_SEARCH_by_name
    - OSSL_STORE_SEARCH_free
    - X509_OBJECT_set1_X509
    - X509_OBJECT_retrieve_by_subject
    - ossl_x509_store_read_lock
    - X509_STORE_get0_objects
    - X509_LOOKUP_get_store
    - X509_CRL_free
    - X509_free
    - STACK_OF
    - X509_OBJECT_set1_X509_CRL
    - X509_STORE_unlock
    linkageType: ''
    returnType: int
    signature: "int by_store_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,\n                            const
      X509_NAME *name, X509_OBJECT *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: X509_LOOKUP_store
    functionSourceFile: /src/openssl/crypto/x509/by_store.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_METHOD
    signature: X509_LOOKUP_METHOD *X509_LOOKUP_store(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: X509_policy_tree_level_count
    functionSourceFile: /src/openssl/crypto/x509/pcy_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_policy_tree_level_count(const X509_POLICY_TREE *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - tree
    - i
    argTypes:
    - X509_POLICY_TREE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: X509_policy_tree_get0_level
    functionSourceFile: /src/openssl/crypto/x509/pcy_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_POLICY_LEVEL
    signature: "X509_POLICY_LEVEL *X509_policy_tree_get0_level(const X509_POLICY_TREE
      *tree,\n                                               int i)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_lib.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - level
    argTypes:
    - X509_POLICY_LEVEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: X509_policy_level_node_count
    functionSourceFile: /src/openssl/crypto/x509/pcy_lib.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_num
    linkageType: ''
    returnType: int
    signature: int X509_policy_level_node_count(X509_POLICY_LEVEL *level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_lib.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - level
    - i
    argTypes:
    - X509_POLICY_LEVEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: X509_policy_level_get0_node
    functionSourceFile: /src/openssl/crypto/x509/pcy_lib.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: X509_POLICY_NODE
    signature: X509_POLICY_NODE *X509_policy_level_get0_node(const X509_POLICY_LEVEL
      *level, int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: X509_policy_node_get0_policy
    functionSourceFile: /src/openssl/crypto/x509/pcy_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: X509_policy_node_get0_parent
    functionSourceFile: /src/openssl/crypto/x509/pcy_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_POLICY_NODE
    signature: "X509_POLICY_NODE *X509_policy_node_get0_parent(const X509_POLICY_NODE\n
      \                                                    *node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/pcy_data.c:22,1
    - Dst: sk_POLICYQUALINFO_pop_free
      Src: /src/openssl/crypto/x509/pcy_data.c:25,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/pcy_data.c:26,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_data.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - X509_POLICY_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: ossl_policy_data_free
    functionSourceFile: /src/openssl/crypto/x509/pcy_data.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - sk_ASN1_OBJECT_pop_free
    - sk_POLICYQUALINFO_pop_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: void ossl_policy_data_free(X509_POLICY_DATA *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/pcy_data.c:47,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/pcy_data.c:52,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/pcy_data.c:54,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/crypto/x509/pcy_data.c:57,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_data.c:59,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/pcy_data.c:60,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/pcy_data.c:61,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - policy
    - cid
    - crit
    argTypes:
    - POLICYINFO*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 81
    functionName: ossl_policy_data_new
    functionSourceFile: /src/openssl/crypto/x509/pcy_data.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - OBJ_dup
    - ERR_raise
    - OPENSSL_free
    - sk_ASN1_OBJECT_new_null
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: X509_POLICY_DATA
    signature: "X509_POLICY_DATA *ossl_policy_data_new(POLICYINFO *policy,\n                                       const
      ASN1_OBJECT *cid, int crit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:49,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:50,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_crld.c:52,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_crld.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:56,1
    - Dst: v2i_GENERAL_NAMES
      Src: /src/openssl/crypto/x509/v3_crld.c:59,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_crld.c:61,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - sect
    argTypes:
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 65
    functionName: gnames_from_sectname
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - ERR_raise
    - X509V3_get_section
    - v2i_GENERAL_NAMES
    - STACK_OF
    - sk_CONF_VALUE_pop_free
    - X509V3_section_free
    linkageType: ''
    returnType: STACK_OF
    signature: "STACK_OF *gnames_from_sectname(X509V3_CTX *ctx,\n                                                    char
      *sect)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:70,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:71,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:74,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_crld.c:78,1
    - Dst: gnames_from_sectname
      Src: /src/openssl/crypto/x509/v3_crld.c:79,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:82,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:84,1
    - Dst: X509_NAME_new
      Src: /src/openssl/crypto/x509/v3_crld.c:86,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_crld.c:89,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:92,1
    - Dst: X509V3_NAME_from_section
      Src: /src/openssl/crypto/x509/v3_crld.c:95,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_crld.c:96,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:99,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/v3_crld.c:100,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/v3_crld.c:105,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/v3_crld.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:114,1
    - Dst: DIST_POINT_NAME_new
      Src: /src/openssl/crypto/x509/v3_crld.c:118,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:132,1
    - Dst: sk_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:133,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - pdp
    - ctx
    - cnf
    argTypes:
    - DIST_POINT_NAME**
    - X509V3_CTX*
    - CONF_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 135
    functionName: set_dist_point_name
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - sk_X509_NAME_ENTRY_pop_free
    - sk_X509_NAME_ENTRY_value
    - ERR_raise
    - X509V3_get_section
    - sk_X509_NAME_ENTRY_num
    - DIST_POINT_NAME_new
    - X509V3_NAME_from_section
    - sk_GENERAL_NAME_pop_free
    - STACK_OF
    - gnames_from_sectname
    - strcmp
    - X509_NAME_free
    - X509V3_section_free
    - X509_NAME_new
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: "int set_dist_point_name(DIST_POINT_NAME **pdp, X509V3_CTX *ctx,\n
      \                              CONF_VALUE *cnf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:152,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_crld.c:156,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:161,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:162,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/v3_crld.c:164,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:169,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/x509/v3_crld.c:170,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:181,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - preas
    - value
    argTypes:
    - ASN1_BIT_STRING**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 183
    functionName: set_reasons
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - ASN1_BIT_STRING_new
    - sk_CONF_VALUE_num
    - STACK_OF
    - ASN1_BIT_STRING_set_bit
    - sk_CONF_VALUE_pop_free
    - strcmp
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int set_reasons(ASN1_BIT_STRING **preas, char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:190,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/x509/v3_crld.c:192,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:196,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:197,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:201,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - out
    - rname
    - rflags
    - indent
    argTypes:
    - BIO*
    - char*
    - ASN1_BIT_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: print_reasons
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: "int print_reasons(BIO *out, const char *rname,\n                         ASN1_BIT_STRING
      *rflags, int indent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DIST_POINT_new
      Src: /src/openssl/crypto/x509/v3_crld.c:212,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:216,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:218,1
    - Dst: set_dist_point_name
      Src: /src/openssl/crypto/x509/v3_crld.c:219,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:224,1
    - Dst: set_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:225,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:227,1
    - Dst: gnames_from_sectname
      Src: /src/openssl/crypto/x509/v3_crld.c:228,1
    - Dst: DIST_POINT_free
      Src: /src/openssl/crypto/x509/v3_crld.c:237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - nval
    argTypes:
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 239
    functionName: crldp_from_section
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - DIST_POINT_free
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - gnames_from_sectname
    - set_reasons
    - strcmp
    - set_dist_point_name
    - DIST_POINT_new
    linkageType: ''
    returnType: DIST_POINT
    signature: "DIST_POINT *crldp_from_section(X509V3_CTX *ctx,\n                                      STACK_OF(CONF_VALUE)
      *nval)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:244,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:248,1
    - Dst: sk_DIST_POINT_new_reserve
      Src: /src/openssl/crypto/x509/v3_crld.c:251,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:253,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:259,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:261,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_crld.c:262,1
    - Dst: crldp_from_section
      Src: /src/openssl/crypto/x509/v3_crld.c:265,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_crld.c:266,1
    - Dst: sk_DIST_POINT_push
      Src: /src/openssl/crypto/x509/v3_crld.c:269,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_crld.c:271,1
    - Dst: GENERAL_NAMES_new
      Src: /src/openssl/crypto/x509/v3_crld.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:274,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_crld.c:277,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:278,1
    - Dst: DIST_POINT_new
      Src: /src/openssl/crypto/x509/v3_crld.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:283,1
    - Dst: sk_DIST_POINT_push
      Src: /src/openssl/crypto/x509/v3_crld.c:286,1
    - Dst: DIST_POINT_NAME_new
      Src: /src/openssl/crypto/x509/v3_crld.c:287,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:288,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:299,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/v3_crld.c:300,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/crypto/x509/v3_crld.c:301,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 241
    functionDepth: 5
    functionLinenumber: 241
    functionLinenumberEnd: 303
    functionName: v2i_crld
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - sk_DIST_POINT_new_reserve
    - ERR_raise
    - X509V3_get_section
    - sk_GENERAL_NAME_push
    - DIST_POINT_NAME_new
    - GENERAL_NAMES_free
    - sk_DIST_POINT_pop_free
    - sk_DIST_POINT_push
    - sk_CONF_VALUE_num
    - STACK_OF
    - DIST_POINT_new
    - v2i_GENERAL_NAME
    - crldp_from_section
    - GENERAL_NAME_free
    - GENERAL_NAMES_new
    - sk_CONF_VALUE_value
    - X509V3_section_free
    linkageType: ''
    returnType: void
    signature: "void *v2i_crld(const X509V3_EXT_METHOD *method,\n                      X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 320
    functionName: dpn_cb
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - X509_NAME_free
    linkageType: ''
    returnType: int
    signature: "int dpn_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                 void *exarg)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ISSUING_DIST_POINT_new
      Src: /src/openssl/crypto/x509/v3_crld.c:380,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:382,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:385,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:386,1
    - Dst: set_dist_point_name
      Src: /src/openssl/crypto/x509/v3_crld.c:389,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:394,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:395,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:397,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:398,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:400,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:401,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:403,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:404,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:406,1
    - Dst: set_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:407,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:410,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_crld.c:411,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/openssl/crypto/x509/v3_crld.c:418,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 420
    functionName: v2i_idp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_bool
    - ERR_raise
    - sk_CONF_VALUE_num
    - ISSUING_DIST_POINT_new
    - ISSUING_DIST_POINT_free
    - sk_CONF_VALUE_value
    - set_reasons
    - strcmp
    - X509V3_conf_add_error_name_value
    - set_dist_point_name
    linkageType: ''
    returnType: void
    signature: "void *v2i_idp(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,\n
      \                    STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:425,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_crld.c:426,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:427,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:431,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/v3_crld.c:432,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - out
    - dpn
    - indent
    argTypes:
    - BIO*
    - DIST_POINT_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 436
    functionName: print_distpoint
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OSSL_GENERAL_NAMES_print
    - BIO_printf
    - X509_NAME_print_ex
    linkageType: ''
    returnType: int
    signature: int print_distpoint(BIO *out, DIST_POINT_NAME *dpn, int indent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: print_distpoint
      Src: /src/openssl/crypto/x509/v3_crld.c:443,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:445,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:447,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:449,1
    - Dst: print_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:451,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:453,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:457,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - method
    - pidp
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 460
    functionName: i2r_idp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - print_reasons
    - print_distpoint
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_idp(const X509V3_EXT_METHOD *method, void *pidp, BIO *out,\n
      \                  int indent)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:465,1
    - Dst: sk_DIST_POINT_num
      Src: /src/openssl/crypto/x509/v3_crld.c:468,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:470,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/crypto/x509/v3_crld.c:471,1
    - Dst: print_distpoint
      Src: /src/openssl/crypto/x509/v3_crld.c:473,1
    - Dst: print_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:475,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:477,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_crld.c:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - method
    - pcrldp
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 4
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: i2r_crldp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - sk_DIST_POINT_value
    - BIO_puts
    - print_distpoint
    - STACK_OF
    - print_reasons
    - sk_DIST_POINT_num
    - OSSL_GENERAL_NAMES_print
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp, BIO *out,\n
      \                    int indent)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:488,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:494,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/v3_crld.c:495,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/v3_crld.c:498,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/v3_crld.c:499,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/crypto/x509/v3_crld.c:500,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/v3_crld.c:504,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - dpn
    - iname
    argTypes:
    - DIST_POINT_NAME*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 511
    functionName: DIST_POINT_set_dpname
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - sk_X509_NAME_ENTRY_value
    - sk_X509_NAME_ENTRY_num
    - X509_NAME_add_entry
    - i2d_X509_NAME
    - STACK_OF
    - X509_NAME_dup
    - X509_NAME_free
    linkageType: ''
    returnType: int
    signature: int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, const X509_NAME *iname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - b
    argTypes:
    - BIO*
    - ASN1_BOOLEAN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: print_boolean
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int print_boolean(BIO *out, ASN1_BOOLEAN b)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_AA_DIST_POINT_new
      Src: /src/openssl/crypto/x509/v3_crld.c:534,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_crld.c:538,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:539,1
    - Dst: set_dist_point_name
      Src: /src/openssl/crypto/x509/v3_crld.c:540,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:545,1
    - Dst: set_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:546,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:548,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:549,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:551,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:552,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:554,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:555,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_crld.c:557,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_crld.c:558,1
    - Dst: OSSL_AA_DIST_POINT_free
      Src: /src/openssl/crypto/x509/v3_crld.c:566,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - ctx
    - nval
    argTypes:
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 568
    functionName: aaidp_from_section
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_bool
    - OSSL_AA_DIST_POINT_free
    - sk_CONF_VALUE_num
    - OSSL_AA_DIST_POINT_new
    - sk_CONF_VALUE_value
    - set_reasons
    - strcmp
    - set_dist_point_name
    linkageType: ''
    returnType: OSSL_AA_DIST_POINT
    signature: "OSSL_AA_DIST_POINT *aaidp_from_section(X509V3_CTX *ctx,\n                                              STACK_OF(CONF_VALUE)
      *nval)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_crld.c:577,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_crld.c:579,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_crld.c:583,1
    - Dst: aaidp_from_section
      Src: /src/openssl/crypto/x509/v3_crld.c:586,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_crld.c:587,1
    - Dst: v2i_GENERAL_NAME
      Src: /src/openssl/crypto/x509/v3_crld.c:591,1
    - Dst: GENERAL_NAMES_new
      Src: /src/openssl/crypto/x509/v3_crld.c:593,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:594,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_crld.c:597,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:598,1
    - Dst: OSSL_AA_DIST_POINT_new
      Src: /src/openssl/crypto/x509/v3_crld.c:602,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:603,1
    - Dst: DIST_POINT_NAME_new
      Src: /src/openssl/crypto/x509/v3_crld.c:606,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_crld.c:607,1
    - Dst: OSSL_AA_DIST_POINT_free
      Src: /src/openssl/crypto/x509/v3_crld.c:617,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_crld.c:618,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/v3_crld.c:619,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 570
    functionDepth: 5
    functionLinenumber: 570
    functionLinenumberEnd: 621
    functionName: v2i_aaidp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509V3_get_section
    - sk_GENERAL_NAME_push
    - DIST_POINT_NAME_new
    - OSSL_AA_DIST_POINT_free
    - GENERAL_NAMES_free
    - STACK_OF
    - aaidp_from_section
    - OSSL_AA_DIST_POINT_new
    - v2i_GENERAL_NAME
    - GENERAL_NAME_free
    - GENERAL_NAMES_new
    - sk_CONF_VALUE_value
    - X509V3_section_free
    linkageType: ''
    returnType: void
    signature: "void *v2i_aaidp(const X509V3_EXT_METHOD *method,\n                       X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: print_distpoint
      Src: /src/openssl/crypto/x509/v3_crld.c:629,1
    - Dst: print_reasons
      Src: /src/openssl/crypto/x509/v3_crld.c:632,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:635,1
    - Dst: print_boolean
      Src: /src/openssl/crypto/x509/v3_crld.c:637,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:639,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:643,1
    - Dst: print_boolean
      Src: /src/openssl/crypto/x509/v3_crld.c:645,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:647,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:651,1
    - Dst: print_boolean
      Src: /src/openssl/crypto/x509/v3_crld.c:654,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:656,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_crld.c:660,1
    - Dst: print_boolean
      Src: /src/openssl/crypto/x509/v3_crld.c:664,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_crld.c:666,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 4
    argNames:
    - method
    - dp
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 623
    functionDepth: 4
    functionLinenumber: 623
    functionLinenumberEnd: 670
    functionName: i2r_aaidp
    functionSourceFile: /src/openssl/crypto/x509/v3_crld.c
    functionUses: 0
    functionsReached:
    - print_boolean
    - BIO_puts
    - print_distpoint
    - print_reasons
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_aaidp(const X509V3_EXT_METHOD *method, void *dp, BIO *out,\n
      \                    int indent)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/x509/x509_obj.c:42,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/x509/x509_obj.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_obj.c:54,1
    - Dst: strncpy
      Src: /src/openssl/crypto/x509/x509_obj.c:56,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x509_obj.c:63,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x509_obj.c:64,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_obj.c:65,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/x509/x509_obj.c:66,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/x509_obj.c:67,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_obj.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_obj.c:75,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/crypto/x509/x509_obj.c:87,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/x509/x509_obj.c:113,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/x509/x509_obj.c:113,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/x509/x509_obj.c:114,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/x509/x509_obj.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_obj.c:121,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/x509/x509_obj.c:125,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x509_obj.c:133,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/x509/x509_obj.c:149,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/x509/x509_obj.c:160,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_obj.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_obj.c:180,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/x509_obj.c:182,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 132
    argCount: 3
    argNames:
    - a
    - buf
    - len
    argTypes:
    - X509_NAME*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 184
    functionName: X509_NAME_oneline
    functionSourceFile: /src/openssl/crypto/x509/x509_obj.c
    functionUses: 1
    functionsReached:
    - strncpy
    - i2t_ASN1_OBJECT
    - sk_X509_NAME_ENTRY_value
    - ERR_raise
    - ascii2ebcdic
    - sk_X509_NAME_ENTRY_num
    - BUF_MEM_free
    - ossl_toascii
    - memcpy
    - OBJ_nid2sn
    - OPENSSL_free
    - ossl_to_hex
    - BUF_MEM_new
    - strlen
    - BUF_MEM_grow
    - OBJ_obj2nid
    linkageType: ''
    returnType: char
    signature: char *X509_NAME_oneline(const X509_NAME *a, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_dup
      Src: /src/openssl/crypto/x509/v3_genn.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: GENERAL_NAME_dup
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached:
    - ASN1_dup
    linkageType: ''
    returnType: GENERAL_NAME
    signature: GENERAL_NAME *GENERAL_NAME_dup(const GENERAL_NAME *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_genn.c:66,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/v3_genn.c:70,1
    - Dst: X509_NAME_new
      Src: /src/openssl/crypto/x509/v3_genn.c:75,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/x509/v3_genn.c:77,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_genn.c:81,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_genn.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - tgt
    - src
    argTypes:
    - GENERAL_NAME**
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: GENERAL_NAME_set1_X509_NAME
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_NAME_set
    - GENERAL_NAME_new
    - GENERAL_NAME_free
    - X509_NAME_new
    linkageType: ''
    returnType: int
    signature: int GENERAL_NAME_set1_X509_NAME(GENERAL_NAME **tgt, const X509_NAME
      *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:107,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EDIPARTYNAME*
    - EDIPARTYNAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 119
    functionName: edipartyname_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int edipartyname_cmp(const EDIPARTYNAME *a, const EDIPARTYNAME *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:130,1
    - Dst: edipartyname_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:134,1
    - Dst: OTHERNAME_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:138,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:144,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:148,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:152,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - GENERAL_NAME*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 160
    functionName: GENERAL_NAME_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached:
    - OTHERNAME_cmp
    - ASN1_STRING_cmp
    - edipartyname_cmp
    - X509_NAME_cmp
    - OBJ_cmp
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:170,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/openssl/crypto/x509/v3_genn.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OTHERNAME*
    - OTHERNAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: OTHERNAME_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 1
    functionsReached:
    - OBJ_cmp
    - ASN1_TYPE_cmp
    linkageType: ''
    returnType: int
    signature: int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - a
    - type
    - value
    argTypes:
    - GENERAL_NAME*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 211
    functionName: GENERAL_NAME_set0_value
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - a
    - ptype
    argTypes:
    - GENERAL_NAME*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: GENERAL_NAME_get0_value
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *GENERAL_NAME_get0_value(const GENERAL_NAME *a, int *ptype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTHERNAME_new
      Src: /src/openssl/crypto/x509/v3_genn.c:250,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/v3_genn.c:253,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/openssl/crypto/x509/v3_genn.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - gen
    - oid
    - value
    argTypes:
    - GENERAL_NAME*
    - ASN1_OBJECT*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: GENERAL_NAME_set0_othername
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached:
    - OTHERNAME_new
    - ASN1_TYPE_free
    - GENERAL_NAME_set0_value
    linkageType: ''
    returnType: int
    signature: "int GENERAL_NAME_set0_othername(GENERAL_NAME *gen,\n                                ASN1_OBJECT
      *oid, ASN1_TYPE *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - gen
    - poid
    - pvalue
    argTypes:
    - GENERAL_NAME*
    - ASN1_OBJECT**
    - ASN1_TYPE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: GENERAL_NAME_get0_otherName
    functionSourceFile: /src/openssl/crypto/x509/v3_genn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int GENERAL_NAME_get0_otherName(const GENERAL_NAME *gen,\n                                ASN1_OBJECT
      **poid, ASN1_TYPE **pvalue)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_BASIC_ATTR_CONSTRAINTS_new
      Src: /src/openssl/crypto/x509/v3_battcons.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_battcons.c:65,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_battcons.c:68,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_battcons.c:69,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_battcons.c:70,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_battcons.c:71,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_battcons.c:73,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_battcons.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_battcons.c:77,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_battcons.c:78,1
    - Dst: OSSL_BASIC_ATTR_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_battcons.c:84,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 8
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: v2i_OSSL_BASIC_ATTR_CONSTRAINTS
    functionSourceFile: /src/openssl/crypto/x509/v3_battcons.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_bool
    - ERR_raise
    - sk_CONF_VALUE_num
    - X509V3_get_value_int
    - OSSL_BASIC_ATTR_CONSTRAINTS_new
    - strcmp
    - X509V3_conf_add_error_name_value
    - sk_CONF_VALUE_value
    - OSSL_BASIC_ATTR_CONSTRAINTS_free
    linkageType: ''
    returnType: OSSL_BASIC_ATTR_CONSTRAINTS
    signature: "OSSL_BASIC_ATTR_CONSTRAINTS *v2i_OSSL_BASIC_ATTR_CONSTRAINTS(\n    X509V3_EXT_METHOD
      *method,\n    X509V3_CTX *ctx,\n    STACK_OF(CONF_VALUE) *values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:30,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: X509_issuer_and_serial_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: int
    signature: int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/x509/x509_cmp.c:40,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/x509/x509_cmp.c:47,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x509_cmp.c:50,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/x509/x509_cmp.c:54,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/x509/x509_cmp.c:56,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_cmp.c:56,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/x509/x509_cmp.c:58,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/x509/x509_cmp.c:62,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:68,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:69,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:70,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 37
    functionDepth: 10
    functionLinenumber: 37
    functionLinenumberEnd: 72
    functionName: X509_issuer_and_serial_hash
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestInit_ex
    - X509_NAME_oneline
    - EVP_MD_fetch
    - strlen
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_issuer_and_serial_hash(X509 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: X509_issuer_name_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int X509_issuer_name_cmp(const X509 *a, const X509 *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: X509_subject_name_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int X509_subject_name_cmp(const X509 *a, const X509 *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_CRL*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: X509_CRL_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_CRL*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: X509_CRL_match
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int X509_CRL_match(const X509_CRL *a, const X509_CRL *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: X509_get_issuer_name
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *X509_get_issuer_name(const X509 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/crypto/x509/x509_cmp.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: X509_issuer_name_hash
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_hash_ex
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_issuer_name_hash(X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_old
      Src: /src/openssl/crypto/x509/x509_cmp.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: X509_issuer_name_hash_old
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_hash_old
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_issuer_name_hash_old(X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: X509_get_subject_name
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *X509_get_subject_name(const X509 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: X509_get_serialNumber
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *X509_get_serialNumber(X509 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: X509_get0_serialNumber
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *X509_get0_serialNumber(const X509 *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/crypto/x509/x509_cmp.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: X509_subject_name_hash
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_hash_ex
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_subject_name_hash(X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_old
      Src: /src/openssl/crypto/x509/x509_cmp.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: X509_subject_name_hash_old
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_NAME_hash_old
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_subject_name_hash_old(X509 *x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_cmp.c:163,1
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_cmp.c:164,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:168,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 182
    functionName: X509_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 1
    functionsReached:
    - X509_check_purpose
    - memcmp
    linkageType: ''
    returnType: int
    signature: int X509_cmp(const X509 *a, const X509 *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/x509_cmp.c:269,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/x509_cmp.c:275,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_cmp.c:287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_NAME*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 291
    functionName: X509_NAME_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 7
    functionsReached:
    - i2d_X509_NAME
    - memcmp
    linkageType: ''
    returnType: int
    signature: int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x509_cmp.c:298,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/x509_cmp.c:302,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/x509_cmp.c:306,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - x
    - libctx
    - propq
    - ok
    argTypes:
    - X509_NAME*
    - OSSL_LIB_CTX*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 293
    functionDepth: 10
    functionLinenumber: 293
    functionLinenumberEnd: 315
    functionName: X509_NAME_hash_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 3
    functionsReached:
    - i2d_X509_NAME
    - EVP_MD_fetch
    - EVP_MD_free
    - EVP_Digest
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long X509_NAME_hash_ex(const X509_NAME *x, OSSL_LIB_CTX *libctx,\n
      \                               const char *propq, int *ok)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/x509_cmp.c:324,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/x509/x509_cmp.c:325,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/x509_cmp.c:333,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/x509/x509_cmp.c:336,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/x509/x509_cmp.c:337,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/x509/x509_cmp.c:338,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:344,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/x509_cmp.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 322
    functionDepth: 10
    functionLinenumber: 322
    functionLinenumberEnd: 348
    functionName: X509_NAME_hash_old
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 2
    functionsReached:
    - EVP_MD_free
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - i2d_X509_NAME
    - EVP_DigestInit_ex
    - EVP_MD_fetch
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_NAME_hash_old(const X509_NAME *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x509_cmp.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: X509_get0_pubkey
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 3
    functionsReached:
    - X509_PUBKEY_get0
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *X509_get0_pubkey(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/x509/x509_cmp.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: X509_get_pubkey
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 1
    functionsReached:
    - X509_PUBKEY_get
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *X509_get_pubkey(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_cmp.c:401,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:404,1
    - Dst: ossl_x509_check_private_key
      Src: /src/openssl/crypto/x509/x509_cmp.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cert
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: X509_check_private_key
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - X509_get0_pubkey
    - ossl_x509_check_private_key
    linkageType: ''
    returnType: int
    signature: int X509_check_private_key(const X509 *cert, const EVP_PKEY *pkey)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:413,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/crypto/x509/x509_cmp.c:416,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:420,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_cmp.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 431
    functionName: ossl_x509_check_private_key
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_PKEY_eq
    linkageType: ''
    returnType: int
    signature: int ossl_x509_check_private_key(const EVP_PKEY *x, const EVP_PKEY *pkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/x509/x509_cmp.c:447,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/crypto/x509/x509_cmp.c:450,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/x509/x509_cmp.c:454,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - pkey
    - sign_nid
    - pflags
    argTypes:
    - EVP_PKEY*
    - int
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 441
    functionDepth: 5
    functionLinenumber: 441
    functionLinenumberEnd: 475
    functionName: check_suite_b
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - EVP_PKEY_get_group_name
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: int
    signature: int check_suite_b(EVP_PKEY *pkey, int sign_nid, unsigned long *pflags)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_cmp.c:489,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_cmp.c:494,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:503,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/x509_cmp.c:505,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:513,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_cmp.c:519,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/crypto/x509/x509_cmp.c:520,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_cmp.c:521,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/x509_cmp.c:522,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_cmp.c:526,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:527,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:533,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/crypto/x509/x509_cmp.c:533,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 4
    argNames:
    - perror_depth
    - x
    - chain
    - flags
    argTypes:
    - int*
    - X509*
    - STACK_OF*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 477
    functionDepth: 6
    functionLinenumber: 477
    functionLinenumberEnd: 550
    functionName: X509_chain_check_suiteb
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - X509_get_version
    - X509_get0_pubkey
    - sk_X509_value
    - check_suite_b
    - X509_get_signature_nid
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: "int X509_chain_check_suiteb(int *perror_depth, X509 *x, STACK_OF(X509)
      *chain,\n                            unsigned long flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_cmp.c:557,1
    - Dst: check_suite_b
      Src: /src/openssl/crypto/x509/x509_cmp.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - crl
    - pk
    - flags
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 6
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: X509_CRL_check_suiteb
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - check_suite_b
    linkageType: ''
    returnType: int
    signature: int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - perror_depth
    - x
    - chain
    - flags
    argTypes:
    - int*
    - X509*
    - STACK_OF*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: X509_chain_check_suiteb
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_chain_check_suiteb(int *perror_depth, X509 *x, STACK_OF(X509)
      *chain,\n                            unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crl
    - pk
    - flags
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: X509_CRL_check_suiteb
    functionSourceFile: /src/openssl/crypto/x509/x509_cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_CRL_check_suiteb(X509_CRL *crl, EVP_PKEY *pk, unsigned long
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: X509_trusted
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_trusted(const X509 *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_CERT_AUX_new
      Src: /src/openssl/crypto/x509/x_x509a.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: aux_get
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 0
    functionsReached:
    - X509_CERT_AUX_new
    linkageType: ''
    returnType: X509_CERT_AUX
    signature: X509_CERT_AUX *aux_get(X509 *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/x509/x_x509a.c:56,1
    - Dst: aux_get
      Src: /src/openssl/crypto/x509/x_x509a.c:60,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/x509/x_x509a.c:62,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/x_x509a.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - x
    - name
    - len
    argTypes:
    - X509*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: X509_alias_set1
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 1
    functionsReached:
    - aux_get
    - ASN1_UTF8STRING_new
    - ASN1_STRING_set
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: int
    signature: int X509_alias_set1(X509 *x, const unsigned char *name, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_x509a.c:73,1
    - Dst: aux_get
      Src: /src/openssl/crypto/x509/x_x509a.c:77,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/x_x509a.c:80,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/x_x509a.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - x
    - id
    - len
    argTypes:
    - X509*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: X509_keyid_set1
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 1
    functionsReached:
    - aux_get
    - ASN1_STRING_set
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: int X509_keyid_set1(X509 *x, const unsigned char *id, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - x
    - len
    argTypes:
    - X509*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: X509_alias_get0
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *X509_alias_get0(X509 *x, int *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - x
    - len
    argTypes:
    - X509*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: X509_keyid_get0
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *X509_keyid_get0(X509 *x, int *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x_x509a.c:108,1
    - Dst: aux_get
      Src: /src/openssl/crypto/x509/x_x509a.c:112,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/crypto/x509/x_x509a.c:115,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/x509/x_x509a.c:117,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x_x509a.c:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - x
    - obj
    argTypes:
    - X509*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: X509_add1_trust_object
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 0
    functionsReached:
    - OBJ_dup
    - sk_ASN1_OBJECT_push
    - aux_get
    - sk_ASN1_OBJECT_new_null
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int X509_add1_trust_object(X509 *x, const ASN1_OBJECT *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x_x509a.c:130,1
    - Dst: aux_get
      Src: /src/openssl/crypto/x509/x_x509a.c:132,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/crypto/x509/x_x509a.c:135,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/x509/x_x509a.c:137,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x_x509a.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - x
    - obj
    argTypes:
    - X509*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: X509_add1_reject_object
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 0
    functionsReached:
    - OBJ_dup
    - sk_ASN1_OBJECT_push
    - aux_get
    - sk_ASN1_OBJECT_new_null
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int X509_add1_reject_object(X509 *x, const ASN1_OBJECT *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/x_x509a.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: X509_trust_clear
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_OBJECT_pop_free
    linkageType: ''
    returnType: void
    signature: void X509_trust_clear(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/x_x509a.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: X509_reject_clear
    functionSourceFile: /src/openssl/crypto/x509/x_x509a.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_OBJECT_pop_free
    linkageType: ''
    returnType: void
    signature: void X509_reject_clear(X509 *x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_usernotice.c:29,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_usernotice.c:33,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_usernotice.c:34,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_usernotice.c:36,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_usernotice.c:37,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:38,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:40,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_usernotice.c:43,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_usernotice.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_usernotice.c:50,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:53,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_usernotice.c:59,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - out
    - notice
    - indent
    argTypes:
    - BIO*
    - USERNOTICE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 20
    functionDepth: 7
    functionLinenumber: 20
    functionLinenumberEnd: 62
    functionName: print_notice
    functionSourceFile: /src/openssl/crypto/x509/v3_usernotice.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_INTEGER_value
    - BIO_puts
    - OPENSSL_free
    - i2s_ASN1_INTEGER
    - sk_ASN1_INTEGER_num
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int print_notice(BIO *out, USERNOTICE *notice, int indent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_usernotice.c:71,1
    - Dst: sk_USERNOTICE_num
      Src: /src/openssl/crypto/x509/v3_usernotice.c:74,1
    - Dst: sk_USERNOTICE_value
      Src: /src/openssl/crypto/x509/v3_usernotice.c:75,1
    - Dst: print_notice
      Src: /src/openssl/crypto/x509/v3_usernotice.c:76,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_usernotice.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - method
    - uns
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_USER_NOTICE_SYNTAX*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: i2r_USER_NOTICE_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_usernotice.c
    functionUses: 0
    functionsReached:
    - print_notice
    - BIO_puts
    - sk_USERNOTICE_num
    - BIO_printf
    - sk_USERNOTICE_value
    linkageType: ''
    returnType: int
    signature: "int i2r_USER_NOTICE_SYNTAX(X509V3_EXT_METHOD *method,\n                                  OSSL_USER_NOTICE_SYNTAX
      *uns,\n                                  BIO *out, int indent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_lu.c:20,1
    - Dst: X509_LOOKUP_METHOD*::new_item
      Src: /src/openssl/crypto/x509/x509_lu.c:26,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: X509_LOOKUP_new
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - X509_LOOKUP_METHOD*::new_item
    linkageType: ''
    returnType: X509_LOOKUP
    signature: X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: X509_LOOKUP_free
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void X509_LOOKUP_free(X509_LOOKUP *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/x509_lu.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: X509_STORE_lock
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: int X509_STORE_lock(X509_STORE *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/x509/x509_lu.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ossl_x509_store_read_lock
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: int
    signature: int ossl_x509_store_read_lock(X509_STORE *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/x509_lu.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: X509_STORE_unlock
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int X509_STORE_unlock(X509_STORE *xs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP*::method::init
      Src: /src/openssl/crypto/x509/x509_lu.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: X509_LOOKUP_init
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP*::method::init
    linkageType: ''
    returnType: int
    signature: int X509_LOOKUP_init(X509_LOOKUP *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP*::method::shutdown
      Src: /src/openssl/crypto/x509/x509_lu.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: X509_LOOKUP_shutdown
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP*::method::shutdown
    linkageType: ''
    returnType: int
    signature: int X509_LOOKUP_shutdown(X509_LOOKUP *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP*::method::ctrl_ex
      Src: /src/openssl/crypto/x509/x509_lu.c:83,1
    - Dst: X509_LOOKUP*::method::ctrl
      Src: /src/openssl/crypto/x509/x509_lu.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - ctx
    - cmd
    - argc
    - argl
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: X509_LOOKUP_ctrl_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP*::method::ctrl
    - X509_LOOKUP*::method::ctrl_ex
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char *argc,
      long argl,\n                        char **ret, OSSL_LIB_CTX *libctx, const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP_ctrl_ex
      Src: /src/openssl/crypto/x509/x509_lu.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cmd
    - argc
    - argl
    - ret
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: X509_LOOKUP_ctrl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_ctrl_ex
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc,
      long argl,\n                     char **ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP*::method::get_by_subject_ex
      Src: /src/openssl/crypto/x509/x509_lu.c:105,1
    - Dst: X509_LOOKUP*::method::get_by_subject
      Src: /src/openssl/crypto/x509/x509_lu.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 6
    argNames:
    - ctx
    - type
    - name
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: X509_LOOKUP_by_subject_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP*::method::get_by_subject
    - X509_LOOKUP*::method::get_by_subject_ex
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_by_subject_ex(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,\n
      \                             const X509_NAME *name, X509_OBJECT *ret,\n                              OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP_by_subject_ex
      Src: /src/openssl/crypto/x509/x509_lu.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - name
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: X509_LOOKUP_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_by_subject_ex
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,\n
      \                          const X509_NAME *name, X509_OBJECT *ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP*::method::get_by_issuer_serial
      Src: /src/openssl/crypto/x509/x509_lu.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - type
    - name
    - serial
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - ASN1_INTEGER*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: X509_LOOKUP_by_issuer_serial
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP*::method::get_by_issuer_serial
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE
      type,\n                                 const X509_NAME *name,\n                                 const
      ASN1_INTEGER *serial,\n                                 X509_OBJECT *ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP*::method::get_by_fingerprint
      Src: /src/openssl/crypto/x509/x509_lu.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - type
    - bytes
    - len
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - unsigned char*
    - int
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: X509_LOOKUP_by_fingerprint
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP*::method::get_by_fingerprint
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE
      type,\n                               const unsigned char *bytes, int len,\n
      \                              X509_OBJECT *ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_LOOKUP*::method::get_by_alias
      Src: /src/openssl/crypto/x509/x509_lu.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - type
    - str
    - len
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - char*
    - int
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: X509_LOOKUP_by_alias
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP*::method::get_by_alias
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type,\n
      \                        const char *str, int len, X509_OBJECT *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - X509_LOOKUP*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: X509_LOOKUP_set_method_data
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: X509_LOOKUP_get_method_data
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: X509_LOOKUP_get_store
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE *X509_LOOKUP_get_store(const X509_LOOKUP *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_subject_name_cmp
      Src: /src/openssl/crypto/x509/x509_lu.c:170,1
    - Dst: X509_CRL_cmp
      Src: /src/openssl/crypto/x509/x509_lu.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_OBJECT**
    - X509_OBJECT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: x509_object_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_subject_name_cmp
    - X509_CRL_cmp
    linkageType: ''
    returnType: int
    signature: "int x509_object_cmp(const X509_OBJECT *const *a,\n                           const
      X509_OBJECT *const *b)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_lu.c:184,1
    - Dst: sk_X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_lu.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:189,1
    - Dst: sk_X509_LOOKUP_new_null
      Src: /src/openssl/crypto/x509/x509_lu.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:194,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/crypto/x509/x509_lu.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:199,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/x509/x509_lu.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:203,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/x509/x509_lu.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:209,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/x509/x509_lu.c:213,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_lu.c:218,1
    - Dst: sk_X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:219,1
    - Dst: sk_X509_LOOKUP_free
      Src: /src/openssl/crypto/x509/x509_lu.c:220,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/x509/x509_lu.c:221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:222,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 224
    functionName: X509_STORE_new
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - sk_X509_OBJECT_new
    - OPENSSL_zalloc
    - CRYPTO_NEW_REF
    - ERR_raise
    - X509_VERIFY_PARAM_free
    - sk_X509_OBJECT_free
    - CRYPTO_THREAD_lock_free
    - CRYPTO_new_ex_data
    - X509_VERIFY_PARAM_new
    - sk_X509_LOOKUP_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - sk_X509_LOOKUP_new_null
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE *X509_STORE_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:229,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/x509/x509_lu.c:234,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/x509/x509_lu.c:235,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/x509/x509_lu.c:238,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/openssl/crypto/x509/x509_lu.c:241,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/openssl/crypto/x509/x509_lu.c:242,1
    - Dst: X509_LOOKUP_shutdown
      Src: /src/openssl/crypto/x509/x509_lu.c:243,1
    - Dst: X509_LOOKUP_free
      Src: /src/openssl/crypto/x509/x509_lu.c:244,1
    - Dst: sk_X509_LOOKUP_free
      Src: /src/openssl/crypto/x509/x509_lu.c:246,1
    - Dst: sk_X509_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/x509_lu.c:247,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/x509/x509_lu.c:249,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_lu.c:250,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/x509/x509_lu.c:251,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/x509/x509_lu.c:252,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: X509_STORE_free
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - REF_PRINT_COUNT
    - sk_X509_LOOKUP_value
    - X509_VERIFY_PARAM_free
    - CRYPTO_THREAD_lock_free
    - sk_X509_OBJECT_pop_free
    - CRYPTO_DOWN_REF
    - sk_X509_LOOKUP_free
    - STACK_OF
    - REF_ASSERT_ISNT
    - X509_LOOKUP_free
    - CRYPTO_free_ex_data
    - OPENSSL_free
    - sk_X509_LOOKUP_num
    - X509_LOOKUP_shutdown
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void X509_STORE_free(X509_STORE *xs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/x509/x509_lu.c:260,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/x509/x509_lu.c:263,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/x509/x509_lu.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: X509_STORE_up_ref
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int X509_STORE_up_ref(X509_STORE *xs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_lu.c:271,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/openssl/crypto/x509/x509_lu.c:275,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/openssl/crypto/x509/x509_lu.c:276,1
    - Dst: X509_LOOKUP_new
      Src: /src/openssl/crypto/x509/x509_lu.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:284,1
    - Dst: sk_X509_LOOKUP_push
      Src: /src/openssl/crypto/x509/x509_lu.c:289,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:292,1
    - Dst: X509_LOOKUP_free
      Src: /src/openssl/crypto/x509/x509_lu.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - xs
    - m
    argTypes:
    - X509_STORE*
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 295
    functionName: X509_STORE_add_lookup
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_new
    - sk_X509_LOOKUP_value
    - ERR_raise
    - STACK_OF
    - X509_LOOKUP_free
    - sk_X509_LOOKUP_num
    - sk_X509_LOOKUP_push
    linkageType: ''
    returnType: X509_LOOKUP
    signature: X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *xs, X509_LOOKUP_METHOD
      *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_lu.c:302,1
    - Dst: X509_STORE_CTX_get_by_subject
      Src: /src/openssl/crypto/x509/x509_lu.c:306,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - type
    - name
    argTypes:
    - X509_STORE_CTX*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: X509_STORE_CTX_get_obj_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_free
    - X509_OBJECT_new
    - X509_STORE_CTX_get_by_subject
    linkageType: ''
    returnType: X509_OBJECT
    signature: "X509_OBJECT *X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *ctx,\n
      \                                              X509_LOOKUP_TYPE type,\n                                               const
      X509_NAME *name)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_store_read_lock
      Src: /src/openssl/crypto/x509/x509_lu.c:334,1
    - Dst: sk_X509_OBJECT_is_sorted
      Src: /src/openssl/crypto/x509/x509_lu.c:337,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/x509_lu.c:338,1
    - Dst: X509_STORE_lock
      Src: /src/openssl/crypto/x509/x509_lu.c:340,1
    - Dst: sk_X509_OBJECT_sort
      Src: /src/openssl/crypto/x509/x509_lu.c:346,1
    - Dst: X509_OBJECT_retrieve_by_subject
      Src: /src/openssl/crypto/x509/x509_lu.c:348,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/x509_lu.c:349,1
    - Dst: sk_X509_LOOKUP_num
      Src: /src/openssl/crypto/x509/x509_lu.c:352,1
    - Dst: sk_X509_LOOKUP_value
      Src: /src/openssl/crypto/x509/x509_lu.c:353,1
    - Dst: X509_LOOKUP_by_subject_ex
      Src: /src/openssl/crypto/x509/x509_lu.c:358,1
    - Dst: X509_OBJECT_up_ref_count
      Src: /src/openssl/crypto/x509/x509_lu.c:370,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - type
    - name
    - ret
    argTypes:
    - X509_STORE_CTX*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 376
    functionName: ossl_x509_store_ctx_get_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - sk_X509_LOOKUP_value
    - X509_OBJECT_retrieve_by_subject
    - ossl_x509_store_read_lock
    - X509_STORE_lock
    - X509_LOOKUP_by_subject_ex
    - X509_OBJECT_up_ref_count
    - sk_X509_OBJECT_is_sorted
    - sk_X509_LOOKUP_num
    - sk_X509_OBJECT_sort
    - X509_STORE_unlock
    linkageType: ''
    returnType: int
    signature: "int ossl_x509_store_ctx_get_by_subject(const X509_STORE_CTX *ctx,
      X509_LOOKUP_TYPE type,\n                                       const X509_NAME
      *name, X509_OBJECT *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_store_ctx_get_by_subject
      Src: /src/openssl/crypto/x509/x509_lu.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - type
    - name
    - ret
    argTypes:
    - X509_STORE_CTX*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: X509_STORE_CTX_get_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached:
    - ossl_x509_store_ctx_get_by_subject
    linkageType: ''
    returnType: int
    signature: "int X509_STORE_CTX_get_by_subject(const X509_STORE_CTX *ctx,\n                                  X509_LOOKUP_TYPE
      type,\n                                  const X509_NAME *name, X509_OBJECT
      *ret)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_lu.c:393,1
    - Dst: X509_OBJECT_up_ref_count
      Src: /src/openssl/crypto/x509/x509_lu.c:404,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:406,1
    - Dst: X509_STORE_lock
      Src: /src/openssl/crypto/x509/x509_lu.c:410,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:412,1
    - Dst: X509_OBJECT_retrieve_match
      Src: /src/openssl/crypto/x509/x509_lu.c:416,1
    - Dst: sk_X509_OBJECT_push
      Src: /src/openssl/crypto/x509/x509_lu.c:419,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/x509_lu.c:422,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_lu.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - store
    - x
    - crl
    argTypes:
    - X509_STORE*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 428
    functionName: x509_store_add
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_free
    - X509_OBJECT_retrieve_match
    - X509_STORE_lock
    - X509_OBJECT_up_ref_count
    - sk_X509_OBJECT_push
    - X509_OBJECT_new
    - X509_STORE_unlock
    linkageType: ''
    returnType: int
    signature: int x509_store_add(X509_STORE *store, void *x, int crl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_store_add
      Src: /src/openssl/crypto/x509/x509_lu.c:432,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - xs
    - x
    argTypes:
    - X509_STORE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: X509_STORE_add_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 2
    functionsReached:
    - x509_store_add
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int X509_STORE_add_cert(X509_STORE *xs, X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x509_store_add
      Src: /src/openssl/crypto/x509/x509_lu.c:441,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_lu.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - xs
    - x
    argTypes:
    - X509_STORE*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: X509_STORE_add_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached:
    - x509_store_add
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int X509_STORE_add_crl(X509_STORE *xs, X509_CRL *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_lu.c:454,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/x509/x509_lu.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: X509_OBJECT_up_ref_count
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 2
    functionsReached:
    - X509_CRL_up_ref
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: int X509_OBJECT_up_ref_count(X509_OBJECT *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: X509_OBJECT_get0_X509
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 *X509_OBJECT_get0_X509(const X509_OBJECT *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: X509_OBJECT_get0_X509_CRL
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *X509_OBJECT_get0_X509_CRL(const X509_OBJECT *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: X509_OBJECT_get_type
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_TYPE
    signature: X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_lu.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 488
    functionName: X509_OBJECT_new
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_OBJECT
    signature: X509_OBJECT *X509_OBJECT_new(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_lu.c:498,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 504
    functionName: x509_object_free_internal
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_free
    - X509_CRL_free
    linkageType: ''
    returnType: void
    signature: void x509_object_free_internal(X509_OBJECT *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_lu.c:508,1
    - Dst: x509_object_free_internal
      Src: /src/openssl/crypto/x509/x509_lu.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - obj
    argTypes:
    - X509_OBJECT*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 515
    functionName: X509_OBJECT_set1_X509
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached:
    - x509_object_free_internal
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/x509/x509_lu.c:519,1
    - Dst: x509_object_free_internal
      Src: /src/openssl/crypto/x509/x509_lu.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - obj
    argTypes:
    - X509_OBJECT*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: X509_OBJECT_set1_X509_CRL
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 1
    functionsReached:
    - X509_CRL_up_ref
    - x509_object_free_internal
    linkageType: ''
    returnType: int
    signature: int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_object_free_internal
      Src: /src/openssl/crypto/x509/x509_lu.c:530,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_lu.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: X509_OBJECT_free
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - x509_object_free_internal
    linkageType: ''
    returnType: void
    signature: void X509_OBJECT_free(X509_OBJECT *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_lu.c:588,1
    - Dst: X509_OBJECT_up_ref_count
      Src: /src/openssl/crypto/x509/x509_lu.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 596
    functionName: x509_object_dup
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_new
    - X509_OBJECT_up_ref_count
    linkageType: ''
    returnType: X509_OBJECT
    signature: X509_OBJECT *x509_object_dup(const X509_OBJECT *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/crypto/x509/x509_lu.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - flags
    argTypes:
    - X509_STORE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: X509_STORE_set_flags
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_flags
    linkageType: ''
    returnType: int
    signature: int X509_STORE_set_flags(X509_STORE *xs, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/crypto/x509/x509_lu.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xs
    - depth
    argTypes:
    - X509_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: X509_STORE_set_depth
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_depth
    linkageType: ''
    returnType: int
    signature: int X509_STORE_set_depth(X509_STORE *xs, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_purpose
      Src: /src/openssl/crypto/x509/x509_lu.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - purpose
    argTypes:
    - X509_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: X509_STORE_set_purpose
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_purpose
    linkageType: ''
    returnType: int
    signature: int X509_STORE_set_purpose(X509_STORE *xs, int purpose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_trust
      Src: /src/openssl/crypto/x509/x509_lu.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - trust
    argTypes:
    - X509_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 798
    functionName: X509_STORE_set_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_trust
    linkageType: ''
    returnType: int
    signature: int X509_STORE_set_trust(X509_STORE *xs, int trust)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/openssl/crypto/x509/x509_lu.c:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - param
    argTypes:
    - X509_STORE*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: X509_STORE_set1_param
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set1
    linkageType: ''
    returnType: int
    signature: int X509_STORE_set1_param(X509_STORE *xs, const X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: X509_STORE_get0_param
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_VERIFY_PARAM
    signature: X509_VERIFY_PARAM *X509_STORE_get0_param(const X509_STORE *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - verify
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_verify_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: X509_STORE_set_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_STORE_set_verify(X509_STORE *xs, X509_STORE_CTX_verify_fn
      verify)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: X509_STORE_get_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_verify_fn
    signature: X509_STORE_CTX_verify_fn X509_STORE_get_verify(const X509_STORE *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - verify_cb
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_verify_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: X509_STORE_set_verify_cb
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_verify_cb(X509_STORE *xs,\n                              X509_STORE_CTX_verify_cb
      verify_cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: X509_STORE_get_verify_cb
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_verify_cb
    signature: X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE
      *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - get_issuer
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_get_issuer_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 835
    functionName: X509_STORE_set_get_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_get_issuer(X509_STORE *xs,\n                               X509_STORE_CTX_get_issuer_fn
      get_issuer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: X509_STORE_get_get_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_get_issuer_fn
    signature: X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE
      *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - check_issued
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_check_issued_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 846
    functionName: X509_STORE_set_check_issued
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_check_issued(X509_STORE *xs,\n                                 X509_STORE_CTX_check_issued_fn
      check_issued)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: X509_STORE_get_check_issued
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_issued_fn
    signature: X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(const X509_STORE
      *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - cb
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_check_revocation_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 857
    functionName: X509_STORE_set_check_revocation
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_check_revocation(X509_STORE *xs,\n                                     X509_STORE_CTX_check_revocation_fn
      cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: X509_STORE_get_check_revocation
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_revocation_fn
    signature: X509_STORE_CTX_check_revocation_fn X509_STORE_get_check_revocation(const
      X509_STORE *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - get_crl
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_get_crl_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 868
    functionName: X509_STORE_set_get_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_get_crl(X509_STORE *xs,\n                            X509_STORE_CTX_get_crl_fn
      get_crl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: X509_STORE_get_get_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_get_crl_fn
    signature: X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - check_crl
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_check_crl_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 879
    functionName: X509_STORE_set_check_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_check_crl(X509_STORE *xs,\n                              X509_STORE_CTX_check_crl_fn
      check_crl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: X509_STORE_get_check_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_crl_fn
    signature: X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(const X509_STORE
      *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - cert_crl
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_cert_crl_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: X509_STORE_set_cert_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_cert_crl(X509_STORE *xs,\n                             X509_STORE_CTX_cert_crl_fn
      cert_crl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: X509_STORE_get_cert_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_cert_crl_fn
    signature: X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE
      *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - check_policy
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_check_policy_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 901
    functionName: X509_STORE_set_check_policy
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_check_policy(X509_STORE *xs,\n                                 X509_STORE_CTX_check_policy_fn
      check_policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: X509_STORE_get_check_policy
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_policy_fn
    signature: X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(const X509_STORE
      *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - lookup_certs
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_lookup_certs_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 912
    functionName: X509_STORE_set_lookup_certs
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_lookup_certs(X509_STORE *xs,\n                                 X509_STORE_CTX_lookup_certs_fn
      lookup_certs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: X509_STORE_get_lookup_certs
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_lookup_certs_fn
    signature: X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(const X509_STORE
      *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - lookup_crls
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_lookup_crls_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: X509_STORE_set_lookup_crls
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_lookup_crls(X509_STORE *xs,\n                                X509_STORE_CTX_lookup_crls_fn
      lookup_crls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 928
    functionName: X509_STORE_get_lookup_crls
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_lookup_crls_fn
    signature: X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(const X509_STORE
      *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - cleanup
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX_cleanup_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 934
    functionName: X509_STORE_set_cleanup
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_set_cleanup(X509_STORE *xs,\n                            X509_STORE_CTX_cleanup_fn
      cleanup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xs
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: X509_STORE_get_cleanup
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_cleanup_fn
    signature: X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE *xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/x509/x509_lu.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - xs
    - idx
    - data
    argTypes:
    - X509_STORE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: X509_STORE_set_ex_data
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int X509_STORE_set_ex_data(X509_STORE *xs, int idx, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/x509/x509_lu.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xs
    - idx
    argTypes:
    - X509_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: X509_STORE_get_ex_data
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *X509_STORE_get_ex_data(const X509_STORE *xs, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: X509_STORE_CTX_get0_store
    functionSourceFile: /src/openssl/crypto/x509/x509_lu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE *X509_STORE_CTX_get0_store(const X509_STORE_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_meth.c:22,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_meth.c:25,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_meth.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: X509_LOOKUP_meth_new
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: X509_LOOKUP_METHOD
    signature: X509_LOOKUP_METHOD *X509_LOOKUP_meth_new(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_meth.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_meth.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: X509_LOOKUP_meth_free
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: X509_LOOKUP_meth_set_new_item
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_new_item(X509_LOOKUP_METHOD *method,\n                                  int
      (*new_item) (X509_LOOKUP *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: "(*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method))\n
      \   (X509_LOOKUP *ctx)"
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD* method))\n
      \   (X509_LOOKUP *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: X509_LOOKUP_meth_set_free
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_free(\n    X509_LOOKUP_METHOD *method,\n
      \   void (*free_fn) (X509_LOOKUP *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: "(*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method))\n
      \   (X509_LOOKUP *ctx)"
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void (*X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD* method))\n
      \   (X509_LOOKUP *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: X509_LOOKUP_meth_set_init
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_init(X509_LOOKUP_METHOD *method,\n                              int
      (*init) (X509_LOOKUP *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: "(*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD* method))\n
      \   (X509_LOOKUP *ctx)"
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD* method))\n
      \   (X509_LOOKUP *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: X509_LOOKUP_meth_set_shutdown
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_shutdown(\n    X509_LOOKUP_METHOD *method,\n
      \   int (*shutdown) (X509_LOOKUP *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: "(*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD* method))\n
      \   (X509_LOOKUP *ctx)"
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD* method))\n
      \   (X509_LOOKUP *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - ctrl
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_ctrl_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: X509_LOOKUP_meth_set_ctrl
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_ctrl(\n    X509_LOOKUP_METHOD *method,\n
      \   X509_LOOKUP_ctrl_fn ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: X509_LOOKUP_meth_get_ctrl
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_ctrl_fn
    signature: X509_LOOKUP_ctrl_fn X509_LOOKUP_meth_get_ctrl(const X509_LOOKUP_METHOD
      *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - get_by_subject
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_get_by_subject_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: X509_LOOKUP_meth_set_get_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_get_by_subject(X509_LOOKUP_METHOD *method,\n
      \   X509_LOOKUP_get_by_subject_fn get_by_subject)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: X509_LOOKUP_meth_get_get_by_subject
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_get_by_subject_fn
    signature: "X509_LOOKUP_get_by_subject_fn X509_LOOKUP_meth_get_get_by_subject(\n
      \   const X509_LOOKUP_METHOD *method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - get_by_issuer_serial
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_get_by_issuer_serial_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: X509_LOOKUP_meth_set_get_by_issuer_serial
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_get_by_issuer_serial(X509_LOOKUP_METHOD *method,\n
      \   X509_LOOKUP_get_by_issuer_serial_fn get_by_issuer_serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: X509_LOOKUP_meth_get_get_by_issuer_serial
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_get_by_issuer_serial_fn
    signature: X509_LOOKUP_get_by_issuer_serial_fn X509_LOOKUP_meth_get_get_by_issuer_serial(const
      X509_LOOKUP_METHOD *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - get_by_fingerprint
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_get_by_fingerprint_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: X509_LOOKUP_meth_set_get_by_fingerprint
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_get_by_fingerprint(X509_LOOKUP_METHOD *method,\n
      \   X509_LOOKUP_get_by_fingerprint_fn get_by_fingerprint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: X509_LOOKUP_meth_get_get_by_fingerprint
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_get_by_fingerprint_fn
    signature: "X509_LOOKUP_get_by_fingerprint_fn X509_LOOKUP_meth_get_get_by_fingerprint(\n
      \   const X509_LOOKUP_METHOD *method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - get_by_alias
    argTypes:
    - X509_LOOKUP_METHOD*
    - X509_LOOKUP_get_by_alias_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: X509_LOOKUP_meth_set_get_by_alias
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_LOOKUP_meth_set_get_by_alias(X509_LOOKUP_METHOD *method,\n
      \                                     X509_LOOKUP_get_by_alias_fn get_by_alias)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - X509_LOOKUP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: X509_LOOKUP_meth_get_get_by_alias
    functionSourceFile: /src/openssl/crypto/x509/x509_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_get_by_alias_fn
    signature: "X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias(\n    const
      X509_LOOKUP_METHOD *method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: X509V3_conf_add_error_name_value
    functionSourceFile: /src/openssl/crypto/x509/x509_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509V3_conf_add_error_name_value(val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_ia5.c:34,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_ia5.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - method
    - ia5
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: i2s_ASN1_IA5STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_ia5.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *i2s_ASN1_IA5STRING(X509V3_EXT_METHOD *method, ASN1_IA5STRING
      *ia5)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ia5.c:46,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/x509/v3_ia5.c:49,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ia5.c:50,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_ia5.c:53,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ia5.c:53,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/x509/v3_ia5.c:54,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/x509/v3_ia5.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: s2i_ASN1_IA5STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_ia5.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ebcdic2ascii
    - ASN1_IA5STRING_new
    - ASN1_STRING_set
    - strlen
    - ASN1_IA5STRING_free
    linkageType: ''
    returnType: ASN1_IA5STRING
    signature: "ASN1_IA5STRING *s2i_ASN1_IA5STRING(X509V3_EXT_METHOD *method,\n                                   X509V3_CTX
      *ctx, const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: X509_LOOKUP_file
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_METHOD
    signature: X509_LOOKUP_METHOD *X509_LOOKUP_file(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/x509/by_file.c:57,1
    - Dst: X509_get_default_cert_file_env
      Src: /src/openssl/crypto/x509/by_file.c:57,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:59,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:62,1
    - Dst: X509_get_default_cert_file
      Src: /src/openssl/crypto/x509/by_file.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:67,1
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:70,1
    - Dst: X509_load_cert_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 79
    functionName: by_file_ctrl_ex
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_load_cert_crl_file_ex
    - X509_get_default_cert_file_env
    - X509_load_cert_file_ex
    - ossl_safe_getenv
    - X509_get_default_cert_file
    linkageType: ''
    returnType: int
    signature: "int by_file_ctrl_ex(X509_LOOKUP *ctx, int cmd, const char *argp,\n
      \                          long argl, char **ret, OSSL_LIB_CTX *libctx,\n                           const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: by_file_ctrl_ex
      Src: /src/openssl/crypto/x509/by_file.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - ret
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: by_file_ctrl
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 0
    functionsReached:
    - by_file_ctrl_ex
    linkageType: ''
    returnType: int
    signature: "int by_file_ctrl(X509_LOOKUP *ctx, int cmd,\n                        const
      char *argp, long argl, char **ret)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:95,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/by_file.c:99,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/by_file.c:99,1
    - Dst: BIO_read_filename
      Src: /src/openssl/crypto/x509/by_file.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:102,1
    - Dst: X509_new_ex
      Src: /src/openssl/crypto/x509/by_file.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:108,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/by_file.c:114,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/openssl/crypto/x509/by_file.c:115,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/x509/by_file.c:116,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/x509/by_file.c:116,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/by_file.c:118,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/by_file.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:125,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/by_file.c:131,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/x509/by_file.c:132,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/by_file.c:140,1
    - Dst: X509_new_ex
      Src: /src/openssl/crypto/x509/by_file.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:143,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/crypto/x509/by_file.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:151,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/x509/by_file.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:156,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/by_file.c:160,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/by_file.c:161,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 5
    argNames:
    - ctx
    - file
    - type
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 163
    functionName: X509_load_cert_file_ex
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - ERR_raise
    - ERR_pop_to_mark
    - BIO_free
    - X509_STORE_add_cert
    - BIO_read_filename
    - ERR_set_mark
    - ERR_GET_REASON
    - ERR_peek_last_error
    - X509_free
    - X509_new_ex
    - BIO_s_file
    - d2i_X509_bio
    - ERR_clear_last_mark
    - PEM_read_bio_X509_AUX
    linkageType: ''
    returnType: int
    signature: "int X509_load_cert_file_ex(X509_LOOKUP *ctx, const char *file, int
      type,\n                           OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_load_cert_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: X509_load_cert_file
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 0
    functionsReached:
    - X509_load_cert_file_ex
    linkageType: ''
    returnType: int
    signature: int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:177,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/by_file.c:181,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/by_file.c:181,1
    - Dst: BIO_read_filename
      Src: /src/openssl/crypto/x509/by_file.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:184,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/openssl/crypto/x509/by_file.c:190,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/x509/by_file.c:192,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/x509/by_file.c:192,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/x509/by_file.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:200,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/crypto/x509/by_file.c:206,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/by_file.c:211,1
    - Dst: d2i_X509_CRL_bio
      Src: /src/openssl/crypto/x509/by_file.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:217,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/crypto/x509/by_file.c:220,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:222,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/by_file.c:226,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/by_file.c:227,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 229
    functionName: X509_load_crl_file
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ERR_raise
    - ERR_clear_error
    - BIO_free
    - BIO_read_filename
    - ERR_GET_REASON
    - ERR_peek_last_error
    - X509_CRL_free
    - d2i_X509_CRL_bio
    - BIO_s_file
    - X509_STORE_add_crl
    - PEM_read_bio_X509_CRL
    linkageType: ''
    returnType: int
    signature: int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/by_file.c:234,1
    - Dst: X509_load_cert_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:240,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/x509/by_file.c:242,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/x509/by_file.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:247,1
    - Dst: PEM_X509_INFO_read_bio_ex
      Src: /src/openssl/crypto/x509/by_file.c:250,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/by_file.c:251,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:253,1
    - Dst: sk_X509_INFO_num
      Src: /src/openssl/crypto/x509/by_file.c:256,1
    - Dst: sk_X509_INFO_value
      Src: /src/openssl/crypto/x509/by_file.c:257,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/x509/by_file.c:259,1
    - Dst: X509_STORE_add_crl
      Src: /src/openssl/crypto/x509/by_file.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_file.c:274,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/openssl/crypto/x509/by_file.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - ctx
    - file
    - type
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 278
    functionName: X509_load_cert_crl_file_ex
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - sk_X509_INFO_pop_free
    - ERR_raise
    - sk_X509_INFO_num
    - BIO_free
    - X509_STORE_add_cert
    - X509_load_cert_file_ex
    - STACK_OF
    - sk_X509_INFO_value
    - PEM_X509_INFO_read_bio_ex
    - X509_STORE_add_crl
    linkageType: ''
    returnType: int
    signature: "int X509_load_cert_crl_file_ex(X509_LOOKUP *ctx, const char *file,
      int type,\n                               OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_load_cert_crl_file_ex
      Src: /src/openssl/crypto/x509/by_file.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - X509_LOOKUP*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: X509_load_cert_crl_file
    functionSourceFile: /src/openssl/crypto/x509/by_file.c
    functionUses: 0
    functionsReached:
    - X509_load_cert_crl_file_ex
    linkageType: ''
    returnType: int
    signature: int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int
      type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_acert.c:83,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_acert.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - names
    argTypes:
    - GENERAL_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: get_dirName
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *get_dirName(const GENERAL_NAMES *names)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/x509/x509_acert.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - o
    - digestedObjectType
    - digestAlgorithm
    - digest
    argTypes:
    - OSSL_OBJECT_DIGEST_INFO*
    - int*
    - X509_ALGOR**
    - ASN1_BIT_STRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: OSSL_OBJECT_DIGEST_INFO_get0_digest
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: void
    signature: "void OSSL_OBJECT_DIGEST_INFO_get0_digest(const OSSL_OBJECT_DIGEST_INFO
      *o,\n                                         int *digestedObjectType,\n                                         const
      X509_ALGOR **digestAlgorithm,\n                                         const
      ASN1_BIT_STRING **digest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dirName
      Src: /src/openssl/crypto/x509/x509_acert.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isss
    argTypes:
    - OSSL_ISSUER_SERIAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: OSSL_ISSUER_SERIAL_get0_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - get_dirName
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *OSSL_ISSUER_SERIAL_get0_issuer(const OSSL_ISSUER_SERIAL
      *isss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isss
    argTypes:
    - OSSL_ISSUER_SERIAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: OSSL_ISSUER_SERIAL_get0_serial
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *OSSL_ISSUER_SERIAL_get0_serial(const OSSL_ISSUER_SERIAL
      *isss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isss
    argTypes:
    - OSSL_ISSUER_SERIAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: OSSL_ISSUER_SERIAL_get0_issuerUID
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_BIT_STRING
    signature: ASN1_BIT_STRING *OSSL_ISSUER_SERIAL_get0_issuerUID(const OSSL_ISSUER_SERIAL
      *isss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/x509_acert.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: X509_ACERT_get_version
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: long X509_ACERT_get_version(const X509_ACERT *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x
    - psig
    - palg
    argTypes:
    - X509_ACERT*
    - ASN1_BIT_STRING**
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: X509_ACERT_get0_signature
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_ACERT_get0_signature(const X509_ACERT *x,\n                               const
      ASN1_BIT_STRING **psig,\n                               const X509_ALGOR **palg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_acert.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: X509_ACERT_get_signature_nid
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_get_signature_nid(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: X509_ACERT_get0_holder_entityName
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GENERAL_NAMES
    signature: GENERAL_NAMES *X509_ACERT_get0_holder_entityName(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: X509_ACERT_get0_holder_baseCertId
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ISSUER_SERIAL
    signature: OSSL_ISSUER_SERIAL *X509_ACERT_get0_holder_baseCertId(const X509_ACERT
      *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: X509_ACERT_get0_holder_digest
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_OBJECT_DIGEST_INFO
    signature: OSSL_OBJECT_DIGEST_INFO *X509_ACERT_get0_holder_digest(const X509_ACERT
      *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dirName
      Src: /src/openssl/crypto/x509/x509_acert.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: X509_ACERT_get0_issuerName
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - get_dirName
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *X509_ACERT_get0_issuerName(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: X509_ACERT_get0_issuerUID
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_BIT_STRING
    signature: ASN1_BIT_STRING *X509_ACERT_get0_issuerUID(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: X509_ACERT_get0_info_sigalg
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *X509_ACERT_get0_info_sigalg(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: X509_ACERT_get0_serialNumber
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *X509_ACERT_get0_serialNumber(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: X509_ACERT_get0_notBefore
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME
    signature: ASN1_GENERALIZEDTIME *X509_ACERT_get0_notBefore(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: X509_ACERT_get0_notAfter
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME
    signature: ASN1_GENERALIZEDTIME *X509_ACERT_get0_notAfter(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_count
      Src: /src/openssl/crypto/x509/x509_acert.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: X509_ACERT_get_attr_count
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_count
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_get_attr_count(const X509_ACERT *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_acert.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - X509_ACERT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: X509_ACERT_get_attr_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_get_attr_by_NID(const X509_ACERT *x, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_acert.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - X509_ACERT*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: X509_ACERT_get_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int X509_ACERT_get_attr_by_OBJ(const X509_ACERT *x, const ASN1_OBJECT
      *obj,\n                               int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/x509/x509_acert.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_ACERT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: X509_ACERT_get_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *X509_ACERT_get_attr(const X509_ACERT *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_delete_attr
      Src: /src/openssl/crypto/x509/x509_acert.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - X509_ACERT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: X509_ACERT_delete_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - X509at_delete_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *X509_ACERT_delete_attr(X509_ACERT *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_acert.c:220,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/crypto/x509/x509_acert.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - attr
    argTypes:
    - X509_ACERT*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: X509_ACERT_add1_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - X509at_add1_attr
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_add1_attr(X509_ACERT *x, X509_ATTRIBUTE *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_acert.c:228,1
    - Dst: X509at_add1_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_acert.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - x
    - obj
    - type
    - bytes
    - len
    argTypes:
    - X509_ACERT*
    - ASN1_OBJECT*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: X509_ACERT_add1_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - X509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int X509_ACERT_add1_attr_by_OBJ(X509_ACERT *x, const ASN1_OBJECT *obj,\n
      \                               int type, const void *bytes, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_acert.c:236,1
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_acert.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - x
    - nid
    - type
    - bytes
    - len
    argTypes:
    - X509_ACERT*
    - int
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: X509_ACERT_add1_attr_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_NID
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: "int X509_ACERT_add1_attr_by_NID(X509_ACERT *x, int nid, int type,\n
      \                               const void *bytes, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_acert.c:244,1
    - Dst: X509at_add1_attr_by_txt
      Src: /src/openssl/crypto/x509/x509_acert.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - x
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - X509_ACERT*
    - char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: X509_ACERT_add1_attr_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - X509at_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: "int X509_ACERT_add1_attr_by_txt(X509_ACERT *x, const char *attrname,
      int type,\n                                const unsigned char *bytes, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/crypto/x509/x509_acert.c:253,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/x509_acert.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: check_asn1_attribute
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - strncmp
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: int check_asn1_attribute(const char **value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_acert.c:268,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/x509/x509_acert.c:268,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/x509_acert.c:273,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/x509_acert.c:274,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509_acert.c:278,1
    - Dst: check_asn1_attribute
      Src: /src/openssl/crypto/x509/x509_acert.c:283,1
    - Dst: ASN1_generate_nconf
      Src: /src/openssl/crypto/x509/x509_acert.c:286,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/x509/x509_acert.c:291,1
    - Dst: X509_ACERT_add1_attr_by_txt
      Src: /src/openssl/crypto/x509/x509_acert.c:293,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_acert.c:295,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/x509_acert.c:296,1
    - Dst: X509_ACERT_add1_attr_by_txt
      Src: /src/openssl/crypto/x509/x509_acert.c:301,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_acert.c:304,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - conf
    - section
    - acert
    argTypes:
    - CONF*
    - char*
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 312
    functionName: X509_ACERT_add_attr_nconf
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - sk_CONF_VALUE_num
    - ASN1_generate_nconf
    - strlen
    - ERR_raise_data
    - NCONF_get_section
    - STACK_OF
    - X509_ACERT_add1_attr_by_txt
    - OPENSSL_free
    - i2d_ASN1_TYPE
    - check_asn1_attribute
    - ASN1_TYPE_free
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int X509_ACERT_add_attr_nconf(CONF *conf, const char *section,\n                              X509_ACERT
      *acert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/x509/x509_acert.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - X509_ACERT*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: X509_ACERT_get_ext_d2i
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: void *X509_ACERT_get_ext_d2i(const X509_ACERT *x, int nid, int *crit,
      int *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/openssl/crypto/x509/x509_acert.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - X509_ACERT*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: X509_ACERT_add1_ext_i2d
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: "int X509_ACERT_add1_ext_i2d(X509_ACERT *x, int nid, void *value, int
      crit,\n                            unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: X509_ACERT_get0_extensions
    functionSourceFile: /src/openssl/crypto/x509/x509_acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *X509_ACERT_get0_extensions(const X509_ACERT *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x_attrib.c:43,1
    - Dst: X509_ATTRIBUTE_new
      Src: /src/openssl/crypto/x509/x_attrib.c:45,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/x509/x_attrib.c:48,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/openssl/crypto/x509/x_attrib.c:50,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/x509/x_attrib.c:53,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/crypto/x509/x_attrib.c:56,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/x_attrib.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - nid
    - atrtype
    - value
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: X509_ATTRIBUTE_create
    functionSourceFile: /src/openssl/crypto/x509/x_attrib.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_free
    - ASN1_TYPE_free
    - ASN1_TYPE_new
    - OBJ_nid2obj
    - sk_ASN1_TYPE_push
    - ASN1_TYPE_set
    - X509_ATTRIBUTE_new
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/x_attrib.c:66,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/x509/x_attrib.c:68,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x_attrib.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:70,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - oid
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: print_oid
    functionSourceFile: /src/openssl/crypto/x509/x_attrib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - OBJ_obj2txt
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int print_oid(BIO *out, const ASN1_OBJECT *oid)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:91,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:96,1
    - Dst: ASN1_ENUMERATED_get_int64
      Src: /src/openssl/crypto/x509/x_attrib.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:99,1
    - Dst: ossl_bio_print_hex
      Src: /src/openssl/crypto/x509/x_attrib.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:105,1
    - Dst: ossl_bio_print_hex
      Src: /src/openssl/crypto/x509/x_attrib.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:112,1
    - Dst: ossl_bio_print_hex
      Src: /src/openssl/crypto/x509/x_attrib.c:114,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:118,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:121,1
    - Dst: print_oid
      Src: /src/openssl/crypto/x509/x_attrib.c:123,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:133,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:141,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:146,1
    - Dst: d2i_X509_NAME
      Src: /src/openssl/crypto/x509/x_attrib.c:171,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/x_attrib.c:175,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/x_attrib.c:178,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x_attrib.c:180,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/x509/x_attrib.c:186,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/x509/x_attrib.c:190,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:212,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:217,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_attrib.c:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 83
    argCount: 4
    argNames:
    - out
    - obj_nid
    - av
    - indent
    argTypes:
    - BIO*
    - int
    - ASN1_TYPE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 239
    functionName: ossl_print_attribute_value
    functionSourceFile: /src/openssl/crypto/x509/x_attrib.c
    functionUses: 0
    functionsReached:
    - X509_NAME_print_ex
    - ASN1_parse_dump
    - BIO_puts
    - ASN1_ENUMERATED_get_int64
    - print_oid
    - ossl_bio_print_hex
    - d2i_X509_NAME
    - X509_NAME_free
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ossl_print_attribute_value(BIO *out,\n                               int
      obj_nid,\n                               const ASN1_TYPE *av,\n                               int
      indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/x509/v3_enum.c:47,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_enum.c:50,1
    - Dst: i2s_ASN1_ENUMERATED
      Src: /src/openssl/crypto/x509/v3_enum.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - method
    - e
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: i2s_ASN1_ENUMERATED_TABLE
    functionSourceFile: /src/openssl/crypto/x509/v3_enum.c
    functionUses: 0
    functionsReached:
    - i2s_ASN1_ENUMERATED
    - OPENSSL_strdup
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: char
    signature: "char *i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *method,\n                                const
      ASN1_ENUMERATED *e)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_new_null
      Src: /src/openssl/crypto/x509/x_req.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: rinf_cb
    functionSourceFile: /src/openssl/crypto/x509/x_req.c
    functionUses: 0
    functionsReached:
    - sk_X509_ATTRIBUTE_new_null
    linkageType: ''
    returnType: int
    signature: "int rinf_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                  void *exarg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_req.c:55,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_req.c:62,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_req.c:63,1
    - Dst: ossl_x509_req_set0_libctx
      Src: /src/openssl/crypto/x509/x_req.c:69,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x_req.c:72,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/crypto/x509/x_req.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_req.c:77,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/x509/x_req.c:80,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_req.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_req.c:82,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_req.c:85,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 107
    functionName: req_cb
    functionSourceFile: /src/openssl/crypto/x509/x_req.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_dup
    - ossl_x509_req_set0_libctx
    - EVP_PKEY_free
    - OPENSSL_free
    - X509_PUBKEY_get0
    - ASN1_OCTET_STRING_free
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: "int req_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                 void *exarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_req.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - d_id
    argTypes:
    - X509_REQ*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: X509_REQ_set0_distinguishing_id
    functionSourceFile: /src/openssl/crypto/x509/x_req.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: void X509_REQ_set0_distinguishing_id(X509_REQ *x, ASN1_OCTET_STRING
      *d_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: X509_REQ_get0_distinguishing_id
    functionSourceFile: /src/openssl/crypto/x509/x_req.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *X509_REQ_get0_distinguishing_id(X509_REQ *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_req.c:152,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x_req.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - x
    - libctx
    - propq
    argTypes:
    - X509_REQ*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: ossl_x509_req_set0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_req.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: "int ossl_x509_req_set0_libctx(X509_REQ *x, OSSL_LIB_CTX *libctx,\n
      \                             const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new
      Src: /src/openssl/crypto/x509/x_req.c:167,1
    - Dst: X509_REQ_it
      Src: /src/openssl/crypto/x509/x_req.c:167,1
    - Dst: ossl_x509_req_set0_libctx
      Src: /src/openssl/crypto/x509/x_req.c:168,1
    - Dst: X509_REQ_free
      Src: /src/openssl/crypto/x509/x_req.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: X509_REQ_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_req.c
    functionUses: 0
    functionsReached:
    - X509_REQ_it
    - X509_REQ_free
    - ASN1_item_new
    - ossl_x509_req_set0_libctx
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *X509_REQ_new_ex(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - su
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: i2r_SINGLE_USE
    functionSourceFile: /src/openssl/crypto/x509/v3_single_use.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int i2r_SINGLE_USE(X509V3_EXT_METHOD *method,\n                        void
      *su, BIO *out,\n                        int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_single_use.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: r2i_SINGLE_USE
    functionSourceFile: /src/openssl/crypto/x509/v3_single_use.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: "void *r2i_SINGLE_USE(X509V3_EXT_METHOD *method,\n                          X509V3_CTX
      *ctx, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_single_use.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - val
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: i2s_SINGLE_USE
    functionSourceFile: /src/openssl/crypto/x509/v3_single_use.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *i2s_SINGLE_USE(const X509V3_EXT_METHOD *method, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_single_use.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: s2i_SINGLE_USE
    functionSourceFile: /src/openssl/crypto/x509/v3_single_use.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: void *s2i_SINGLE_USE(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
      const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/x509_set.c:31,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x509_set.c:34,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/x509/x509_set.c:40,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/x509_set.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: X509_set_version
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 3
    functionsReached:
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - X509_get_version
    linkageType: ''
    returnType: int
    signature: int X509_set_version(X509 *x, long version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/x509/x509_set.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - serial
    argTypes:
    - X509*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: X509_set_serialNumber
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/x509/x509_set.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: X509_set_issuer_name
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 3
    functionsReached:
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: int X509_set_issuer_name(X509 *x, const X509_NAME *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/x509/x509_set.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: X509_set_subject_name
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 2
    functionsReached:
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: int X509_set_subject_name(X509 *x, const X509_NAME *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup::ASN1_STRING_dup
      Src: /src/openssl/crypto/x509/x509_set.c:84,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/x509/x509_set.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - modified
    - ptm
    - tm
    argTypes:
    - int*
    - ASN1_TIME**
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: ossl_x509_set1_time
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 3
    functionsReached:
    - ASN1_TIME_free
    - ASN1_STRING_dup::ASN1_STRING_dup
    linkageType: ''
    returnType: int
    signature: int ossl_x509_set1_time(int *modified, ASN1_TIME **ptm, const ASN1_TIME
      *tm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_set1_time
      Src: /src/openssl/crypto/x509/x509_set.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: X509_set1_notBefore
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - ossl_x509_set1_time
    linkageType: ''
    returnType: int
    signature: int X509_set1_notBefore(X509 *x, const ASN1_TIME *tm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_set1_time
      Src: /src/openssl/crypto/x509/x509_set.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - tm
    argTypes:
    - X509*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: X509_set1_notAfter
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - ossl_x509_set1_time
    linkageType: ''
    returnType: int
    signature: int X509_set1_notAfter(X509 *x, const ASN1_TIME *tm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/x509/x509_set.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: X509_set_pubkey
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 3
    functionsReached:
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: int X509_set_pubkey(X509 *x, EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/x509/x509_set.c:124,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/x509/x509_set.c:127,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/x509/x509_set.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: X509_up_ref
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 6
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int X509_up_ref(X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/x509_set.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: X509_get_version
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 2
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: long X509_get_version(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: X509_get0_notBefore
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_get0_notBefore(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: X509_get0_notAfter
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_get0_notAfter(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: X509_getm_notBefore
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_getm_notBefore(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: X509_getm_notAfter
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_getm_notAfter(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/x509/x509_set.c:159,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_set.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: X509_get_signature_type
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_type
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int X509_get_signature_type(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: X509_get_X509_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: X509_get0_extensions
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *X509_get0_extensions(const X509 *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x
    - piuid
    - psuid
    argTypes:
    - X509*
    - ASN1_BIT_STRING**
    - ASN1_BIT_STRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: X509_get0_uids
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_get0_uids(const X509 *x, const ASN1_BIT_STRING **piuid,\n
      \                   const ASN1_BIT_STRING **psuid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: X509_get0_tbs_sigalg
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - siginf
    - mdnid
    - pknid
    - secbits
    - flags
    argTypes:
    - X509_SIG_INFO*
    - int*
    - int*
    - int*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: X509_SIG_INFO_get
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_SIG_INFO_get(const X509_SIG_INFO *siginf, int *mdnid, int
      *pknid,\n                      int *secbits, uint32_t *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - siginf
    - mdnid
    - pknid
    - secbits
    - flags
    argTypes:
    - X509_SIG_INFO*
    - int
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: X509_SIG_INFO_set
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_SIG_INFO_set(X509_SIG_INFO *siginf, int mdnid, int pknid,\n
      \                      int secbits, uint32_t flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_set.c:212,1
    - Dst: X509_SIG_INFO_get
      Src: /src/openssl/crypto/x509/x509_set.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - x
    - mdnid
    - pknid
    - secbits
    - flags
    argTypes:
    - X509*
    - int*
    - int*
    - int*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: X509_get_signature_info
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    - X509_SIG_INFO_get
    linkageType: ''
    returnType: int
    signature: "int X509_get_signature_info(X509 *x, int *mdnid, int *pknid, int *secbits,\n
      \                           uint32_t *flags)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/x509_set.c:228,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_set.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_set.c:230,1
    - Dst: EVP_PKEY_asn1_find
      Src: /src/openssl/crypto/x509/x509_set.c:239,1
    - Dst: EVP_PKEY_ASN1_METHOD*::siginf_set
      Src: /src/openssl/crypto/x509/x509_set.c:241,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/crypto/x509/x509_set.c:246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_set.c:252,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/x509/x509_set.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_set.c:284,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/x509/x509_set.c:287,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - siginf
    - alg
    - sig
    - pubkey
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 302
    functionName: x509_sig_info_init
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_ASN1_METHOD*::siginf_set
    - EVP_MD_get_size
    - EVP_get_digestbynid
    - EVP_PKEY_asn1_find
    - EVP_PKEY_get_security_bits
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int x509_sig_info_init(X509_SIG_INFO *siginf, const X509_ALGOR *alg,\n
      \                             const ASN1_STRING *sig, const EVP_PKEY *pubkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x509_sig_info_init
      Src: /src/openssl/crypto/x509/x509_set.c:307,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x509_set.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: ossl_x509_init_sig_info
    functionSourceFile: /src/openssl/crypto/x509/x509_set.c
    functionUses: 0
    functionsReached:
    - x509_sig_info_init
    - X509_PUBKEY_get0
    linkageType: ''
    returnType: int
    signature: int ossl_x509_init_sig_info(X509 *x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/x509/x_x509.c:44,1
    - Dst: X509_CERT_AUX_free
      Src: /src/openssl/crypto/x509/x_x509.c:45,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_x509.c:46,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/x_x509.c:47,1
    - Dst: CRL_DIST_POINTS_free
      Src: /src/openssl/crypto/x509/x_x509.c:48,1
    - Dst: ossl_policy_cache_free
      Src: /src/openssl/crypto/x509/x_x509.c:49,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x_x509.c:50,1
    - Dst: NAME_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/x_x509.c:51,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/crypto/x509/x_x509.c:53,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/crypto/x509/x_x509.c:54,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_x509.c:56,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/x509/x_x509.c:80,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/x509/x_x509.c:85,1
    - Dst: X509_CERT_AUX_free
      Src: /src/openssl/crypto/x509/x_x509.c:86,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_x509.c:87,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/x_x509.c:88,1
    - Dst: CRL_DIST_POINTS_free
      Src: /src/openssl/crypto/x509/x_x509.c:89,1
    - Dst: ossl_policy_cache_free
      Src: /src/openssl/crypto/x509/x_x509.c:90,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x_x509.c:91,1
    - Dst: NAME_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/x_x509.c:92,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/crypto/x509/x_x509.c:94,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/crypto/x509/x_x509.c:95,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_x509.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_x509.c:98,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/x509/x_x509.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 130
    functionName: x509_cb
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - CRL_DIST_POINTS_free
    - sk_IPAddressFamily_pop_free
    - ASIdentifiers_free
    - GENERAL_NAMES_free
    - CRYPTO_new_ex_data
    - ossl_x509_set0_libctx
    - CRYPTO_free_ex_data
    - OPENSSL_free
    - ASN1_OCTET_STRING_free
    - ossl_policy_cache_free
    - X509_CERT_AUX_free
    - NAME_CONSTRAINTS_free
    - AUTHORITY_KEYID_free
    linkageType: ''
    returnType: int
    signature: "int x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                  void *exarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_x509.c:150,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x_x509.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - x
    - libctx
    - propq
    argTypes:
    - X509*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: ossl_x509_set0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int ossl_x509_set0_libctx(X509 *x, OSSL_LIB_CTX *libctx, const char
      *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/openssl/crypto/x509/x_x509.c:165,1
    - Dst: X509_it
      Src: /src/openssl/crypto/x509/x_x509.c:165,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/x509/x_x509.c:166,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x_x509.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: X509_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 2
    functionsReached:
    - ASN1_item_new_ex
    - ossl_x509_set0_libctx
    - X509_it
    - X509_free
    linkageType: ''
    returnType: X509
    signature: X509 *X509_new_ex(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/x509/x_x509.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - idx
    - arg
    argTypes:
    - X509*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: X509_set_ex_data
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int X509_set_ex_data(X509 *r, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/x509/x_x509.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - idx
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: X509_get_ex_data
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *X509_get_ex_data(const X509 *r, int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/openssl/crypto/x509/x_x509.c:201,1
    - Dst: d2i_X509_CERT_AUX
      Src: /src/openssl/crypto/x509/x_x509.c:207,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x_x509.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - X509**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: d2i_X509_AUX
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 1
    functionsReached:
    - X509_free
    - d2i_X509_CERT_AUX
    - d2i_X509
    linkageType: ''
    returnType: X509
    signature: X509 *d2i_X509_AUX(X509 **a, const unsigned char **pp, long length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509
      Src: /src/openssl/crypto/x509/x_x509.c:236,1
    - Dst: i2d_X509_CERT_AUX
      Src: /src/openssl/crypto/x509/x_x509.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - X509*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: i2d_x509_aux_internal
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - i2d_X509
    - i2d_X509_CERT_AUX
    linkageType: ''
    returnType: int
    signature: int i2d_x509_aux_internal(const X509 *a, unsigned char **pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_x509_aux_internal
      Src: /src/openssl/crypto/x509/x_x509.c:267,1
    - Dst: i2d_x509_aux_internal
      Src: /src/openssl/crypto/x509/x_x509.c:270,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x_x509.c:274,1
    - Dst: i2d_x509_aux_internal
      Src: /src/openssl/crypto/x509/x_x509.c:279,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_x509.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - X509*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 285
    functionName: i2d_X509_AUX
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - i2d_x509_aux_internal
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int i2d_X509_AUX(const X509 *a, unsigned char **pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_CINF
      Src: /src/openssl/crypto/x509/x_x509.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - pp
    argTypes:
    - X509*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: i2d_re_X509_tbs
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - i2d_X509_CINF
    linkageType: ''
    returnType: int
    signature: int i2d_re_X509_tbs(X509 *x, unsigned char **pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - psig
    - palg
    - x
    argTypes:
    - ASN1_BIT_STRING**
    - X509_ALGOR**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: X509_get0_signature
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_get0_signature(const ASN1_BIT_STRING **psig,\n                         const
      X509_ALGOR **palg, const X509 *x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x_x509.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: X509_get_signature_nid
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 3
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int X509_get_signature_nid(const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/x_x509.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - d_id
    argTypes:
    - X509*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: X509_set0_distinguishing_id
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: void X509_set0_distinguishing_id(X509 *x, ASN1_OCTET_STRING *d_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: X509_get0_distinguishing_id
    functionSourceFile: /src/openssl/crypto/x509/x_x509.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *X509_get0_distinguishing_id(X509 *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: v3_check_critical
      Src: /src/openssl/crypto/x509/v3_conf.c:42,1
    - Dst: v3_check_generic
      Src: /src/openssl/crypto/x509/v3_conf.c:43,1
    - Dst: v3_generic_extension
      Src: /src/openssl/crypto/x509/v3_conf.c:44,1
    - Dst: do_ext_nconf
      Src: /src/openssl/crypto/x509/v3_conf.c:45,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/x509/v3_conf.c:45,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_conf.c:48,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_conf.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - conf
    - ctx
    - section
    - name
    - value
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: X509V3_EXT_nconf_int
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - ERR_raise_data
    - do_ext_nconf
    - v3_generic_extension
    - v3_check_generic
    - v3_check_critical
    linkageType: ''
    returnType: X509_EXTENSION
    signature: "X509_EXTENSION *X509V3_EXT_nconf_int(CONF *conf, X509V3_CTX *ctx,\n
      \                                           const char *section,\n                                            const
      char *name, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_nconf_int
      Src: /src/openssl/crypto/x509/v3_conf.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - ctx
    - name
    - value
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: X509V3_EXT_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_nconf_int
    linkageType: ''
    returnType: X509_EXTENSION
    signature: "X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, const
      char *name,\n                                 const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: v3_check_critical
      Src: /src/openssl/crypto/x509/v3_conf.c:70,1
    - Dst: v3_check_generic
      Src: /src/openssl/crypto/x509/v3_conf.c:71,1
    - Dst: v3_generic_extension
      Src: /src/openssl/crypto/x509/v3_conf.c:72,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/x509/v3_conf.c:72,1
    - Dst: do_ext_nconf
      Src: /src/openssl/crypto/x509/v3_conf.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - conf
    - ctx
    - ext_nid
    - value
    argTypes:
    - CONF*
    - X509V3_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: X509V3_EXT_nconf_nid
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - do_ext_nconf
    - v3_generic_extension
    - v3_check_generic
    - v3_check_critical
    linkageType: ''
    returnType: X509_EXTENSION
    signature: "X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx,
      int ext_nid,\n                                     const char *value)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_conf.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:88,1
    - Dst: X509V3_EXT_get_nid
      Src: /src/openssl/crypto/x509/v3_conf.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:92,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/x509/v3_conf.c:98,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_conf.c:100,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_conf.c:101,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_conf.c:102,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/x509/v3_conf.c:103,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_conf.c:105,1
    - Dst: X509V3_EXT_METHOD*::v2i
      Src: /src/openssl/crypto/x509/v3_conf.c:108,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_conf.c:110,1
    - Dst: X509V3_EXT_METHOD*::s2i
      Src: /src/openssl/crypto/x509/v3_conf.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:118,1
    - Dst: X509V3_EXT_METHOD*::r2i
      Src: /src/openssl/crypto/x509/v3_conf.c:121,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_conf.c:124,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/x509/v3_conf.c:125,1
    - Dst: do_ext_i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:129,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/x509/v3_conf.c:131,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_conf.c:131,1
    - Dst: X509V3_EXT_METHOD*::ext_free
      Src: /src/openssl/crypto/x509/v3_conf.c:133,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 5
    argNames:
    - conf
    - ctx
    - ext_nid
    - crit
    - value
    argTypes:
    - CONF*
    - X509V3_CTX*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 136
    functionName: do_ext_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 2
    functionsReached:
    - X509V3_parse_list
    - X509V3_EXT_get_nid
    - ERR_raise
    - X509V3_EXT_METHOD*::s2i
    - OBJ_nid2sn
    - sk_CONF_VALUE_num
    - ASN1_ITEM_ptr
    - ERR_raise_data
    - ASN1_item_free
    - NCONF_get_section
    - STACK_OF
    - X509V3_EXT_METHOD*::r2i
    - X509V3_EXT_METHOD*::ext_free
    - do_ext_i2d
    - X509V3_EXT_METHOD*::v2i
    - sk_CONF_VALUE_pop_free
    linkageType: ''
    returnType: X509_EXTENSION
    signature: "X509_EXTENSION *do_ext_nconf(CONF *conf, X509V3_CTX *ctx, int ext_nid,\n
      \                                   int crit, const char *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:150,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_conf.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:152,1
    - Dst: X509V3_EXT_METHOD*::i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:160,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_conf.c:163,1
    - Dst: X509V3_EXT_METHOD*::i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:166,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_conf.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:169,1
    - Dst: X509_EXTENSION_create_by_NID
      Src: /src/openssl/crypto/x509/v3_conf.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:178,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_conf.c:181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_conf.c:186,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_conf.c:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - method
    - ext_nid
    - crit
    - ext_struc
    argTypes:
    - X509V3_EXT_METHOD*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 190
    functionName: do_ext_i2d
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ASN1_item_i2d
    - ASN1_ITEM_ptr
    - X509_EXTENSION_create_by_NID
    - OPENSSL_free
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_new
    - OPENSSL_malloc
    - X509V3_EXT_METHOD*::i2d
    linkageType: ''
    returnType: X509_EXTENSION
    signature: "X509_EXTENSION *do_ext_i2d(const X509V3_EXT_METHOD *method,\n                                  int
      ext_nid, int crit, void *ext_struc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_get_nid
      Src: /src/openssl/crypto/x509/v3_conf.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:199,1
    - Dst: do_ext_i2d
      Src: /src/openssl/crypto/x509/v3_conf.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ext_nid
    - crit
    - ext_struc
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: X509V3_EXT_i2d
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_get_nid
    - do_ext_i2d
    - ERR_raise
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_conf.c:210,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/v3_conf.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: v3_check_critical
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 2
    functionsReached:
    - CHECK_AND_SKIP_PREFIX
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: int v3_check_critical(const char **value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_conf.c:224,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_conf.c:226,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/v3_conf.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: v3_check_generic
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 2
    functionsReached:
    - CHECK_AND_SKIP_PREFIX
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: int v3_check_generic(const char **value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_conf.c:248,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_conf.c:249,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/x509/v3_conf.c:255,1
    - Dst: generic_asn1
      Src: /src/openssl/crypto/x509/v3_conf.c:257,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_conf.c:260,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_conf.c:265,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:266,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/openssl/crypto/x509/v3_conf.c:274,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_conf.c:277,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_conf.c:278,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_conf.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - ext
    - value
    - crit
    - gen_type
    - ctx
    argTypes:
    - char*
    - char*
    - int
    - int
    - X509V3_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 282
    functionName: v3_generic_extension
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - X509_EXTENSION_create_by_OBJ
    - ERR_raise_data
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - generic_asn1
    - ASN1_OCTET_STRING_free
    - OBJ_txt2obj
    - ASN1_OCTET_STRING_new
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: X509_EXTENSION
    signature: "X509_EXTENSION *v3_generic_extension(const char *ext, const char *value,\n
      \                                           int crit, int gen_type,\n                                            X509V3_CTX
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_generate_v3
      Src: /src/openssl/crypto/x509/v3_conf.c:290,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/x509/v3_conf.c:293,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/v3_conf.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - value
    - ctx
    - ext_len
    argTypes:
    - char*
    - X509V3_CTX*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: generic_asn1
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 1
    functionsReached:
    - ASN1_TYPE_free
    - ASN1_generate_v3
    - i2d_ASN1_TYPE
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *generic_asn1(const char *value, X509V3_CTX *ctx,\n
      \                                  long *ext_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_conf.c:317,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/x509/v3_conf.c:321,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_conf.c:323,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_conf.c:324,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_conf.c:325,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_conf.c:327,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_conf.c:330,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_conf.c:331,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_conf.c:335,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_conf.c:337,1
    - Dst: X509V3_EXT_nconf_int
      Src: /src/openssl/crypto/x509/v3_conf.c:339,1
    - Dst: delete_ext
      Src: /src/openssl/crypto/x509/v3_conf.c:344,1
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/x509/v3_conf.c:345,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_conf.c:346,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_conf.c:350,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - sk
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 353
    functionName: X509V3_EXT_add_nconf_sk
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_nconf_int
    - delete_ext
    - X509_EXTENSION_free
    - sk_CONF_VALUE_num
    - NCONF_get_section
    - STACK_OF
    - X509v3_add_ext
    - strcmp
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, const char
      *section,\n                            STACK_OF(X509_EXTENSION) **sk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_conf.c:362,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/crypto/x509/v3_conf.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - cert
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: X509V3_EXT_add_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - X509V3_EXT_add_nconf_sk
    linkageType: ''
    returnType: int
    signature: "int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, const char *section,\n
      \                        X509 *cert)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_conf.c:375,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/crypto/x509/v3_conf.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - crl
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: X509V3_EXT_CRL_add_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - X509V3_EXT_add_nconf_sk
    linkageType: ''
    returnType: int
    signature: "int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, const char
      *section,\n                             X509_CRL *crl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_conf.c:388,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/crypto/x509/v3_conf.c:389,1
    - Dst: X509_REQ_add_extensions
      Src: /src/openssl/crypto/x509/v3_conf.c:392,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/v3_conf.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - conf
    - ctx
    - section
    - req
    argTypes:
    - CONF*
    - X509V3_CTX*
    - char*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: X509V3_EXT_REQ_add_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - X509_REQ_add_extensions
    - STACK_OF
    - X509V3_EXT_add_nconf_sk
    - sk_X509_EXTENSION_pop_free
    linkageType: ''
    returnType: int
    signature: "int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, const char
      *section,\n                             X509_REQ *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:402,1
    - Dst: X509V3_CTX*::db_meth::get_string
      Src: /src/openssl/crypto/x509/v3_conf.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - name
    - section
    argTypes:
    - X509V3_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: X509V3_get_string
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509V3_CTX*::db_meth::get_string
    linkageType: ''
    returnType: char
    signature: char *X509V3_get_string(X509V3_CTX *ctx, const char *name, const char
      *section)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_CTX*::db_meth::free_string
      Src: /src/openssl/crypto/x509/v3_conf.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: X509V3_string_free
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_CTX*::db_meth::free_string
    linkageType: ''
    returnType: void
    signature: void X509V3_string_free(X509V3_CTX *ctx, char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/x509/v3_conf.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - section
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: nconf_get_string
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - NCONF_get_string
    linkageType: ''
    returnType: char
    signature: char *nconf_get_string(void *db, const char *section, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/x509/v3_conf.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - section
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: nconf_get_section
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - NCONF_get_section
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *nconf_get_section(void *db, const char *section)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - conf
    argTypes:
    - X509V3_CTX*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: X509V3_set_nconf
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - issuer
    - subj
    - req
    - crl
    - flags
    argTypes:
    - X509V3_CTX*
    - X509*
    - X509*
    - X509_REQ*
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 479
    functionName: X509V3_set_ctx
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: "void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subj, X509_REQ
      *req,\n                    X509_CRL *crl, int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_conf.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - X509V3_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 494
    functionName: X509V3_set_issuer_pkey
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int X509V3_set_issuer_pkey(X509V3_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_get_string
      Src: /src/openssl/crypto/x509/v3_conf.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - section
    - value
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: conf_lhash_get_string
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - CONF_get_string
    linkageType: ''
    returnType: char
    signature: char *conf_lhash_get_string(void *db, const char *section, const char
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_get_section
      Src: /src/openssl/crypto/x509/v3_conf.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - db
    - section
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: conf_lhash_get_section
    functionSourceFile: /src/openssl/crypto/x509/v3_conf.c
    functionUses: 0
    functionsReached:
    - CONF_get_section
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *conf_lhash_get_section(void *db, const char *section)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_iobo.c:17,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_iobo.c:19,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_iobo.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - method
    - gn
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - GENERAL_NAME*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: i2r_ISSUED_ON_BEHALF_OF
    functionSourceFile: /src/openssl/crypto/x509/v3_iobo.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - BIO_puts
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ISSUED_ON_BEHALF_OF(X509V3_EXT_METHOD *method,\n                                   GENERAL_NAME
      *gn, BIO *out,\n                                   int indent)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/crypto/x509/t_acert.c:23,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:24,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_acert.c:27,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/t_acert.c:30,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_acert.c:32,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:36,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_acert.c:39,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/t_acert.c:47,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:57,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_acert.c:59,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_acert.c:63,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/x509/t_acert.c:65,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:69,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 78
    functionName: print_attribute
    functionSourceFile: /src/openssl/crypto/x509/t_acert.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - X509_ATTRIBUTE_get0_object
    - ERR_raise
    - ASN1_parse_dump
    - X509_ATTRIBUTE_count
    - BIO_puts
    - i2a_ASN1_OBJECT
    - X509_ATTRIBUTE_get0_type
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int print_attribute(BIO *bp, X509_ATTRIBUTE *a)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:91,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:93,1
    - Dst: X509_ACERT_get_version
      Src: /src/openssl/crypto/x509/t_acert.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:106,1
    - Dst: X509_ACERT_get0_serialNumber
      Src: /src/openssl/crypto/x509/t_acert.c:114,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:116,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/t_acert.c:119,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:122,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:131,1
    - Dst: X509_ACERT_get0_holder_entityName
      Src: /src/openssl/crypto/x509/t_acert.c:134,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/t_acert.c:136,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/t_acert.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:141,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/t_acert.c:143,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:145,1
    - Dst: X509_ACERT_get0_holder_baseCertId
      Src: /src/openssl/crypto/x509/t_acert.c:150,1
    - Dst: OSSL_ISSUER_SERIAL_get0_issuer
      Src: /src/openssl/crypto/x509/t_acert.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:157,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_acert.c:160,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:163,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:166,1
    - Dst: OSSL_ISSUER_SERIAL_get0_serial
      Src: /src/openssl/crypto/x509/t_acert.c:169,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/t_acert.c:171,1
    - Dst: OSSL_ISSUER_SERIAL_get0_issuerUID
      Src: /src/openssl/crypto/x509/t_acert.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:176,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/t_acert.c:178,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:181,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:189,1
    - Dst: X509_ACERT_get0_issuerName
      Src: /src/openssl/crypto/x509/t_acert.c:191,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_acert.c:193,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:196,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:199,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:204,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:206,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/x509/t_acert.c:208,1
    - Dst: X509_ACERT_get0_notBefore
      Src: /src/openssl/crypto/x509/t_acert.c:208,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:210,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/x509/t_acert.c:212,1
    - Dst: X509_ACERT_get0_notAfter
      Src: /src/openssl/crypto/x509/t_acert.c:212,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:214,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:219,1
    - Dst: X509_ACERT_get_attr_count
      Src: /src/openssl/crypto/x509/t_acert.c:222,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:223,1
    - Dst: X509_ACERT_get_attr_count
      Src: /src/openssl/crypto/x509/t_acert.c:226,1
    - Dst: print_attribute
      Src: /src/openssl/crypto/x509/t_acert.c:227,1
    - Dst: X509_ACERT_get_attr
      Src: /src/openssl/crypto/x509/t_acert.c:227,1
    - Dst: X509_ACERT_get0_extensions
      Src: /src/openssl/crypto/x509/t_acert.c:236,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:238,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/t_acert.c:240,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/t_acert.c:245,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:246,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/t_acert.c:248,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_acert.c:249,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/t_acert.c:251,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:252,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/x509/t_acert.c:254,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_acert.c:255,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/t_acert.c:257,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/t_acert.c:257,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_acert.c:260,1
    - Dst: X509_ACERT_get0_signature
      Src: /src/openssl/crypto/x509/t_acert.c:270,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_acert.c:271,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_acert.c:278,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 186
    argCount: 4
    argNames:
    - bp
    - x
    - nmflags
    - cflag
    argTypes:
    - BIO*
    - X509_ACERT*
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 280
    functionName: X509_ACERT_print_ex
    functionSourceFile: /src/openssl/crypto/x509/t_acert.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - sk_X509_EXTENSION_value
    - ERR_raise
    - i2a_ASN1_INTEGER
    - X509V3_EXT_print
    - X509_EXTENSION_get_object
    - sk_GENERAL_NAME_value
    - print_attribute
    - X509_ACERT_get0_holder_entityName
    - sk_GENERAL_NAME_num
    - X509_ACERT_get0_notAfter
    - X509_signature_dump
    - BIO_write
    - ASN1_GENERALIZEDTIME_print
    - ASN1_STRING_print
    - X509_EXTENSION_get_data
    - sk_X509_EXTENSION_num
    - BIO_printf
    - X509_NAME_print_ex
    - X509_ACERT_get0_signature
    - OSSL_ISSUER_SERIAL_get0_serial
    - X509_ACERT_get0_issuerName
    - i2a_ASN1_OBJECT
    - X509_ACERT_get_attr_count
    - X509_ACERT_get0_notBefore
    - X509_ACERT_get0_extensions
    - X509_ACERT_get_attr
    - X509_signature_print
    - X509_ACERT_get0_serialNumber
    - OSSL_ISSUER_SERIAL_get0_issuerUID
    - X509_ACERT_get_version
    - OSSL_ISSUER_SERIAL_get0_issuer
    - X509_EXTENSION_get_critical
    - X509_ACERT_get0_holder_baseCertId
    linkageType: ''
    returnType: int
    signature: "int X509_ACERT_print_ex(BIO *bp, X509_ACERT *x, unsigned long nmflags,\n
      \                       unsigned long cflag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_ACERT_print_ex
      Src: /src/openssl/crypto/x509/t_acert.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509_ACERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: X509_ACERT_print
    functionSourceFile: /src/openssl/crypto/x509/t_acert.c
    functionUses: 0
    functionsReached:
    - X509_ACERT_print_ex
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_print(BIO *bp, X509_ACERT *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BASIC_CONSTRAINTS_new
      Src: /src/openssl/crypto/x509/v3_bcons.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_bcons.c:64,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_bcons.c:67,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_bcons.c:68,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_bcons.c:69,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/x509/v3_bcons.c:70,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_bcons.c:72,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_bcons.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_bcons.c:76,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_bcons.c:77,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_bcons.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 8
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: v2i_BASIC_CONSTRAINTS
    functionSourceFile: /src/openssl/crypto/x509/v3_bcons.c
    functionUses: 0
    functionsReached:
    - X509V3_get_value_bool
    - ERR_raise
    - sk_CONF_VALUE_num
    - BASIC_CONSTRAINTS_new
    - X509V3_get_value_int
    - strcmp
    - X509V3_conf_add_error_name_value
    - sk_CONF_VALUE_value
    - BASIC_CONSTRAINTS_free
    linkageType: ''
    returnType: BASIC_CONSTRAINTS
    signature: "BASIC_CONSTRAINTS *v2i_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,\n
      \                                               X509V3_CTX *ctx,\n                                                STACK_OF(CONF_VALUE)
      *values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - afi
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: length_from_afi
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int length_from_afi(const unsigned afi)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - IPAddressFamily*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: X509v3_addr_get_afi
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int X509v3_addr_get_afi(const IPAddressFamily *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_addr.c:110,1
    - Dst: memset
      Src: /src/openssl/crypto/x509/v3_addr.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - addr
    - bs
    - length
    - fill
    argTypes:
    - unsigned char*
    - ASN1_BIT_STRING*
    - int
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: addr_expand
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: "int addr_expand(unsigned char *addr,\n                       const
      ASN1_BIT_STRING *bs,\n                       const int length, const unsigned
      char fill)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: addr_prefixlen
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: addr_prefixlen(bs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:143,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:145,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:148,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:153,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:156,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:158,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:162,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:163,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - out
    - afi
    - fill
    - bs
    argTypes:
    - BIO*
    - unsigned
    - unsigned char
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 167
    functionName: i2r_address
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_puts
    - addr_expand
    linkageType: ''
    returnType: int
    signature: "int i2r_address(BIO *out,\n                       const unsigned afi,\n
      \                      const unsigned char fill, const ASN1_BIT_STRING *bs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:179,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:180,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:182,1
    - Dst: i2r_address
      Src: /src/openssl/crypto/x509/v3_addr.c:185,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:187,1
    - Dst: addr_prefixlen
      Src: /src/openssl/crypto/x509/v3_addr.c:187,1
    - Dst: i2r_address
      Src: /src/openssl/crypto/x509/v3_addr.c:190,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:192,1
    - Dst: i2r_address
      Src: /src/openssl/crypto/x509/v3_addr.c:193,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - out
    - indent
    - aors
    - afi
    argTypes:
    - BIO*
    - int
    - IPAddressOrRanges*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 200
    functionName: i2r_IPAddressOrRanges
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - sk_IPAddressOrRange_num
    - addr_prefixlen
    - sk_IPAddressOrRange_value
    - i2r_address
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_IPAddressOrRanges(BIO *out,\n                                 const
      int indent,\n                                 const IPAddressOrRanges *aors,\n
      \                                const unsigned afi)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:211,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:212,1
    - Dst: X509v3_addr_get_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:213,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:217,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:223,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:229,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:232,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:235,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:238,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:241,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:244,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:247,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:250,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_addr.c:253,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:260,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_addr.c:263,1
    - Dst: i2r_IPAddressOrRanges
      Src: /src/openssl/crypto/x509/v3_addr.c:264,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 4
    argNames:
    - method
    - ext
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 273
    functionName: i2r_IPAddrBlocks
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - X509v3_addr_get_afi
    - sk_IPAddressFamily_value
    - BIO_puts
    - i2r_IPAddressOrRanges
    - BIO_printf
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: "int i2r_IPAddrBlocks(const X509V3_EXT_METHOD *method,\n                            void
      *ext, BIO *out, int indent)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:294,1
    - Dst: addr_prefixlen
      Src: /src/openssl/crypto/x509/v3_addr.c:296,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:299,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:309,1
    - Dst: addr_prefixlen
      Src: /src/openssl/crypto/x509/v3_addr.c:311,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:314,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:322,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - a
    - b
    - length
    argTypes:
    - IPAddressOrRange*
    - IPAddressOrRange*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 326
    functionName: IPAddressOrRange_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - memcmp
    - addr_prefixlen
    - addr_expand
    linkageType: ''
    returnType: int
    signature: "int IPAddressOrRange_cmp(const IPAddressOrRange *a,\n                                const
      IPAddressOrRange *b, const int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddressOrRange_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddressOrRange**
    - IPAddressOrRange**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: v4IPAddressOrRange_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - IPAddressOrRange_cmp
    linkageType: ''
    returnType: int
    signature: "int v4IPAddressOrRange_cmp(const IPAddressOrRange *const *a,\n                                  const
      IPAddressOrRange *const *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddressOrRange_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddressOrRange**
    - IPAddressOrRange**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: v6IPAddressOrRange_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - IPAddressOrRange_cmp
    linkageType: ''
    returnType: int
    signature: "int v6IPAddressOrRange_cmp(const IPAddressOrRange *const *a,\n                                  const
      IPAddressOrRange *const *b)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/x509/v3_addr.c:363,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:363,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 3
    argNames:
    - min
    - max
    - length
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts:
    - condition: (memcmp(min, max, length) <= 0)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/openssl/crypto/x509/v3_addr.c
    constantsTouched: []
    func_position:
      end: 401
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 401
    functionName: range_should_be_prefix
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - memcmp
    - assert
    linkageType: ''
    returnType: int
    signature: "int range_should_be_prefix(const unsigned char *min,\n                                  const
      unsigned char *max, const int length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prefixlen < 0 || prefixlen >
      Src: /src/openssl/crypto/x509/v3_addr.c:412,1
    - Dst: IPAddressOrRange_new
      Src: /src/openssl/crypto/x509/v3_addr.c:414,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/v3_addr.c:418,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/openssl/crypto/x509/v3_addr.c:420,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/x509/v3_addr.c:424,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - result
    - addr
    - prefixlen
    - afilen
    argTypes:
    - IPAddressOrRange**
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 432
    functionName: make_addressPrefix
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_set
    - ossl_asn1_string_set_bits_left
    - IPAddressOrRange_new
    - ASN1_BIT_STRING_new
    - prefixlen < 0 || prefixlen >
    - IPAddressOrRange_free
    linkageType: ''
    returnType: int
    signature: "int make_addressPrefix(IPAddressOrRange **result, unsigned char *addr,\n
      \                             const int prefixlen, const int afilen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:446,1
    - Dst: range_should_be_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:449,1
    - Dst: make_addressPrefix
      Src: /src/openssl/crypto/x509/v3_addr.c:450,1
    - Dst: IPAddressOrRange_new
      Src: /src/openssl/crypto/x509/v3_addr.c:452,1
    - Dst: IPAddressRange_new
      Src: /src/openssl/crypto/x509/v3_addr.c:455,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/v3_addr.c:458,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/v3_addr.c:461,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/openssl/crypto/x509/v3_addr.c:465,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/x509/v3_addr.c:467,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/openssl/crypto/x509/v3_addr.c:478,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/x509/v3_addr.c:480,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:494,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 4
    argNames:
    - result
    - min
    - max
    - length
    argTypes:
    - IPAddressOrRange**
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 496
    functionName: make_addressRange
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_set
    - memcmp
    - make_addressPrefix
    - ossl_asn1_string_set_bits_left
    - IPAddressOrRange_new
    - range_should_be_prefix
    - ASN1_BIT_STRING_new
    - IPAddressOrRange_free
    - IPAddressRange_new
    linkageType: ''
    returnType: int
    signature: "int make_addressRange(IPAddressOrRange **result,\n                             unsigned
      char *min,\n                             unsigned char *max, const int length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:519,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:520,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:522,1
    - Dst: IPAddressFamily_new
      Src: /src/openssl/crypto/x509/v3_addr.c:526,1
    - Dst: IPAddressChoice_new
      Src: /src/openssl/crypto/x509/v3_addr.c:529,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_addr.c:532,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_addr.c:534,1
    - Dst: sk_IPAddressFamily_push
      Src: /src/openssl/crypto/x509/v3_addr.c:536,1
    - Dst: IPAddressFamily_free
      Src: /src/openssl/crypto/x509/v3_addr.c:542,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 544
    functionName: make_IPAddressFamily
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - IPAddressChoice_new
    - memcmp
    - IPAddressFamily_free
    - sk_IPAddressFamily_value
    - IPAddressFamily_new
    - ASN1_OCTET_STRING_set
    - sk_IPAddressFamily_push
    - ASN1_OCTET_STRING_new
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: IPAddressFamily
    signature: "IPAddressFamily *make_IPAddressFamily(IPAddrBlocks *addr,\n                                             const
      unsigned afi,\n                                             const unsigned *safi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_IPAddressFamily
      Src: /src/openssl/crypto/x509/v3_addr.c:552,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_addr.c:563,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 567
    functionName: X509v3_addr_add_inherit
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    - make_IPAddressFamily
    linkageType: ''
    returnType: int
    signature: "int X509v3_addr_add_inherit(IPAddrBlocks *addr,\n                            const
      unsigned afi, const unsigned *safi)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_IPAddressFamily
      Src: /src/openssl/crypto/x509/v3_addr.c:576,1
    - Dst: sk_IPAddressOrRange_new_null
      Src: /src/openssl/crypto/x509/v3_addr.c:588,1
    - Dst: sk_IPAddressOrRange_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:592,1
    - Dst: sk_IPAddressOrRange_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:595,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - addr
    - afi
    - safi
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 601
    functionName: make_prefix_or_range
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressOrRange_set_cmp_func
    - sk_IPAddressOrRange_new_null
    - make_IPAddressFamily
    linkageType: ''
    returnType: IPAddressOrRanges
    signature: "IPAddressOrRanges *make_prefix_or_range(IPAddrBlocks *addr,\n                                               const
      unsigned afi,\n                                               const unsigned
      *safi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_prefix_or_range
      Src: /src/openssl/crypto/x509/v3_addr.c:611,1
    - Dst: make_addressPrefix
      Src: /src/openssl/crypto/x509/v3_addr.c:615,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:615,1
    - Dst: sk_IPAddressOrRange_push
      Src: /src/openssl/crypto/x509/v3_addr.c:617,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - addr
    - afi
    - safi
    - a
    - prefixlen
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 621
    functionName: X509v3_addr_add_prefix
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - make_prefix_or_range
    - make_addressPrefix
    - sk_IPAddressOrRange_push
    - IPAddressOrRange_free
    - length_from_afi
    linkageType: ''
    returnType: int
    signature: "int X509v3_addr_add_prefix(IPAddrBlocks *addr,\n                           const
      unsigned afi,\n                           const unsigned *safi,\n                           unsigned
      char *a, const int prefixlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_prefix_or_range
      Src: /src/openssl/crypto/x509/v3_addr.c:631,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:633,1
    - Dst: make_addressRange
      Src: /src/openssl/crypto/x509/v3_addr.c:637,1
    - Dst: sk_IPAddressOrRange_push
      Src: /src/openssl/crypto/x509/v3_addr.c:639,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - addr
    - afi
    - safi
    - min
    - max
    argTypes:
    - IPAddrBlocks*
    - unsigned
    - unsigned*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 626
    functionDepth: 3
    functionLinenumber: 626
    functionLinenumberEnd: 643
    functionName: X509v3_addr_add_range
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - make_prefix_or_range
    - make_addressRange
    - sk_IPAddressOrRange_push
    - IPAddressOrRange_free
    - length_from_afi
    linkageType: ''
    returnType: int
    signature: "int X509v3_addr_add_range(IPAddrBlocks *addr,\n                          const
      unsigned afi,\n                          const unsigned *safi,\n                          unsigned
      char *min, unsigned char *max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:655,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:656,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:658,1
    - Dst: addr_expand
      Src: /src/openssl/crypto/x509/v3_addr.c:659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - aor
    - min
    - max
    - length
    argTypes:
    - IPAddressOrRange*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 662
    functionName: extract_min_max
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - addr_expand
    linkageType: ''
    returnType: int
    signature: "int extract_min_max(IPAddressOrRange *aor,\n                           unsigned
      char *min, unsigned char *max, int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:672,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:678,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - aor
    - afi
    - min
    - max
    - length
    argTypes:
    - IPAddressOrRange*
    - unsigned
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 682
    functionName: X509v3_addr_get_range
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - length_from_afi
    - extract_min_max
    linkageType: ''
    returnType: int
    signature: "int X509v3_addr_get_range(IPAddressOrRange *aor,\n                          const
      unsigned afi,\n                          unsigned char *min,\n                          unsigned
      char *max, const int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - IPAddressFamily**
    - IPAddressFamily**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 703
    functionName: IPAddressFamily_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int IPAddressFamily_cmp(const IPAddressFamily *const *a_,\n                               const
      IPAddressFamily *const *b_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - IPAddressFamily*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: IPAddressFamily_check_len
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IPAddressFamily_check_len(const IPAddressFamily *f)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:732,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:733,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:734,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:736,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:736,1
    - Dst: IPAddressFamily_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:739,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:746,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:747,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:748,1
    - Dst: X509v3_addr_get_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:748,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:765,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:772,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:774,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:775,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:776,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:778,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:779,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:785,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:786,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:787,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:795,1
    - Dst: range_should_be_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:802,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:810,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:812,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:815,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:817,1
    - Dst: range_should_be_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:818,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 47
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 828
    functionName: X509v3_addr_is_canonical
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - memcmp
    - X509v3_addr_get_afi
    - range_should_be_prefix
    - sk_IPAddressFamily_value
    - IPAddressFamily_cmp
    - sk_IPAddressOrRange_num
    - IPAddressFamily_check_len
    - extract_min_max
    - sk_IPAddressOrRange_value
    - length_from_afi
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: int X509v3_addr_is_canonical(IPAddrBlocks *addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:836,1
    - Dst: sk_IPAddressOrRange_sort
      Src: /src/openssl/crypto/x509/v3_addr.c:841,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:846,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:847,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:848,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:852,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:853,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:859,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:860,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:866,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:874,1
    - Dst: make_addressRange
      Src: /src/openssl/crypto/x509/v3_addr.c:877,1
    - Dst: sk_IPAddressOrRange_set
      Src: /src/openssl/crypto/x509/v3_addr.c:879,1
    - Dst: sk_IPAddressOrRange_delete
      Src: /src/openssl/crypto/x509/v3_addr.c:880,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:881,1
    - Dst: IPAddressOrRange_free
      Src: /src/openssl/crypto/x509/v3_addr.c:882,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:891,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:893,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:898,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:900,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - aors
    - afi
    argTypes:
    - IPAddressOrRanges*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 906
    functionName: IPAddressOrRanges_canonize
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - memcmp
    - make_addressRange
    - sk_IPAddressOrRange_num
    - sk_IPAddressOrRange_sort
    - sk_IPAddressOrRange_set
    - sk_IPAddressOrRange_delete
    - IPAddressOrRange_free
    - extract_min_max
    - sk_IPAddressOrRange_value
    - length_from_afi
    linkageType: ''
    returnType: int
    signature: "int IPAddressOrRanges_canonize(IPAddressOrRanges *aors,\n                                      const
      unsigned afi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:916,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:920,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:921,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:923,1
    - Dst: IPAddressOrRanges_canonize
      Src: /src/openssl/crypto/x509/v3_addr.c:927,1
    - Dst: X509v3_addr_get_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:929,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:932,1
    - Dst: sk_IPAddressFamily_sort
      Src: /src/openssl/crypto/x509/v3_addr.c:933,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_addr.c:934,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/openssl/crypto/x509/v3_addr.c:934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 911
    functionDepth: 4
    functionLinenumber: 911
    functionLinenumberEnd: 937
    functionName: X509v3_addr_canonize
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - X509v3_addr_get_afi
    - X509v3_addr_is_canonical
    - sk_IPAddressFamily_value
    - IPAddressFamily_check_len
    - sk_IPAddressFamily_sort
    - sk_IPAddressFamily_set_cmp_func
    - IPAddressOrRanges_canonize
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: int X509v3_addr_canonize(IPAddrBlocks *addr)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_new
      Src: /src/openssl/crypto/x509/v3_addr.c:952,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:953,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_addr.c:957,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_addr.c:958,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:964,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:966,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:968,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_addr.c:971,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_addr.c:975,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:989,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:997,1
    - Dst: strtoul
      Src: /src/openssl/crypto/x509/v3_addr.c:1000,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1001,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1003,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1004,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1007,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_addr.c:1008,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_addr.c:1010,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:1019,1
    - Dst: X509v3_addr_add_inherit
      Src: /src/openssl/crypto/x509/v3_addr.c:1020,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1021,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1022,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1025,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1030,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1031,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_addr.c:1035,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1036,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1037,1
    - Dst: strtoul
      Src: /src/openssl/crypto/x509/v3_addr.c:1043,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1048,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1049,1
    - Dst: X509v3_addr_add_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:1052,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1053,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1058,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_addr.c:1059,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1061,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1062,1
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/v3_addr.c:1065,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1066,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1067,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:1070,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:1070,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1071,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1072,1
    - Dst: X509v3_addr_add_range
      Src: /src/openssl/crypto/x509/v3_addr.c:1075,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1076,1
    - Dst: X509v3_addr_add_prefix
      Src: /src/openssl/crypto/x509/v3_addr.c:1081,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1082,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_addr.c:1087,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1088,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1092,1
    - Dst: X509v3_addr_canonize
      Src: /src/openssl/crypto/x509/v3_addr.c:1099,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1104,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/crypto/x509/v3_addr.c:1105,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 143
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - struct v3_ext_method*
    - struct v3_ext_ctx*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 942
    functionDepth: 5
    functionLinenumber: 942
    functionLinenumberEnd: 1107
    functionName: v2i_IPAddrBlocks
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_v3_name_cmp
    - OPENSSL_free
    - strcmp
    - OPENSSL_strdup
    - strspn
    - X509v3_addr_canonize
    - X509V3_conf_add_error_name_value
    - ossl_a2i_ipadd
    - ERR_raise_data
    - X509v3_addr_add_prefix
    - sk_CONF_VALUE_value
    - sk_IPAddressFamily_new
    - memcmp
    - sk_IPAddressFamily_pop_free
    - strtoul
    - sk_CONF_VALUE_num
    - X509v3_addr_add_range
    - X509v3_addr_add_inherit
    - length_from_afi
    linkageType: ''
    returnType: void
    signature: "void *v2i_IPAddrBlocks(const struct v3_ext_method *method,\n                              struct
      v3_ext_ctx *ctx,\n                              STACK_OF(CONF_VALUE) *values)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1135,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1142
    functionName: X509v3_addr_inherits
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressFamily_value
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: int X509v3_addr_inherits(IPAddrBlocks *addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1160,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:1161,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1161,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1165,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_addr.c:1167,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1167,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:1170,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/v3_addr.c:1172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - parent
    - child
    - length
    argTypes:
    - IPAddressOrRanges*
    - IPAddressOrRanges*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1179
    functionName: addr_contains
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressOrRange_value
    - memcmp
    - sk_IPAddressOrRange_num
    - extract_min_max
    linkageType: ''
    returnType: int
    signature: "int addr_contains(IPAddressOrRanges *parent,\n                         IPAddressOrRanges
      *child, int length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_addr_inherits
      Src: /src/openssl/crypto/x509/v3_addr.c:1190,1
    - Dst: X509v3_addr_inherits
      Src: /src/openssl/crypto/x509/v3_addr.c:1190,1
    - Dst: sk_IPAddressFamily_set_cmp_func
      Src: /src/openssl/crypto/x509/v3_addr.c:1192,1
    - Dst: sk_IPAddressFamily_sort
      Src: /src/openssl/crypto/x509/v3_addr.c:1193,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1195,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1196,1
    - Dst: sk_IPAddressFamily_find
      Src: /src/openssl/crypto/x509/v3_addr.c:1197,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/crypto/x509/v3_addr.c:1198,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:1202,1
    - Dst: IPAddressFamily_check_len
      Src: /src/openssl/crypto/x509/v3_addr.c:1202,1
    - Dst: addr_contains
      Src: /src/openssl/crypto/x509/v3_addr.c:1204,1
    - Dst: length_from_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:1206,1
    - Dst: X509v3_addr_get_afi
      Src: /src/openssl/crypto/x509/v3_addr.c:1206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - IPAddrBlocks*
    - IPAddrBlocks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1210
    functionName: X509v3_addr_subset
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressFamily_find
    - X509v3_addr_get_afi
    - sk_IPAddressFamily_value
    - IPAddressFamily_check_len
    - length_from_afi
    - sk_IPAddressFamily_sort
    - addr_contains
    - sk_IPAddressFamily_set_cmp_func
    - X509v3_addr_inherits
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: int X509v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _err_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1228
    functionName: validation_err
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: validation_err(_err_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_addr.c:1363,1
    - Dst: addr_validate_path_internal
      Src: /src/openssl/crypto/x509/v3_addr.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1369
    functionName: X509v3_addr_validate_path
    functionSourceFile: /src/openssl/crypto/x509/v3_addr.c
    functionUses: 0
    functionsReached:
    - addr_validate_path_internal
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int X509v3_addr_validate_path(X509_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/x509/v3err.c:148,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/x509/v3err.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: ossl_err_load_X509V3_strings
    functionSourceFile: /src/openssl/crypto/x509/v3err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_X509V3_strings(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:30,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/x509/v3_sda.c:34,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:35,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/x509/v3_sda.c:40,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/openssl/crypto/x509/v3_sda.c:42,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/crypto/x509/v3_sda.c:43,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_sda.c:44,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:45,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_sda.c:48,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_sda.c:50,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:52,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/x509/v3_sda.c:52,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/v3_sda.c:56,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/v3_sda.c:57,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/v3_sda.c:59,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_sda.c:60,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_sda.c:62,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sda.c:65,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - method
    - attrlst
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ATTRIBUTES_SYNTAX*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 21
    functionDepth: 6
    functionLinenumber: 21
    functionLinenumberEnd: 70
    functionName: i2r_ATTRIBUTES_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_sda.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_get0_object
    - sk_X509_ATTRIBUTE_value
    - X509_ATTRIBUTE_count
    - BIO_puts
    - ossl_print_attribute_value
    - i2a_ASN1_OBJECT
    - OBJ_nid2ln
    - X509_ATTRIBUTE_get0_type
    - sk_X509_ATTRIBUTE_num
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ATTRIBUTES_SYNTAX(X509V3_EXT_METHOD *method,\n                                 OSSL_ATTRIBUTES_SYNTAX
      *attrlst,\n                                 BIO *out, int indent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/pcy_tree.c:36,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/pcy_tree.c:40,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/pcy_tree.c:42,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:43,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:44,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/pcy_tree.c:46,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/pcy_tree.c:47,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/pcy_tree.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - channel
    - lev
    - node
    - indent
    argTypes:
    - BIO*
    - X509_POLICY_LEVEL*
    - X509_POLICY_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: expected_print
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_OBJECT_value
    - BIO_puts
    - STACK_OF
    - i2a_ASN1_OBJECT
    - sk_ASN1_OBJECT_num
    linkageType: ''
    returnType: void
    signature: "void expected_print(BIO *channel,\n                           X509_POLICY_LEVEL
      *lev, X509_POLICY_NODE *node,\n                           int indent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/pcy_tree.c:64,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/pcy_tree.c:65,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/pcy_tree.c:70,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:72,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:74,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/openssl/crypto/x509/pcy_tree.c:76,1
    - Dst: expected_print
      Src: /src/openssl/crypto/x509/pcy_tree.c:77,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/pcy_tree.c:78,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/openssl/crypto/x509/pcy_tree.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - channel
    - str
    - tree
    - curr
    argTypes:
    - BIO*
    - char*
    - X509_POLICY_TREE*
    - X509_POLICY_LEVEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 83
    functionName: tree_print
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - X509_POLICY_NODE_print
    - sk_X509_POLICY_NODE_num
    - BIO_printf
    - sk_X509_POLICY_NODE_value
    - expected_print
    linkageType: ''
    returnType: void
    signature: "void tree_print(BIO *channel,\n                       char *str, X509_POLICY_TREE
      *tree,\n                       X509_POLICY_LEVEL *curr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - tree
    - ','
    - curr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: TREE_PRINT
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_PRINT(str, tree, curr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:266,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:267,1
    - Dst: ossl_policy_node_match
      Src: /src/openssl/crypto/x509/pcy_tree.c:269,1
    - Dst: ossl_policy_level_add_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:270,1
    - Dst: ossl_policy_level_add_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - curr
    - data
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_DATA*
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 280
    functionName: tree_link_matching_nodes
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_value
    - ossl_policy_node_match
    - sk_X509_POLICY_NODE_num
    - ossl_policy_level_add_node
    linkageType: ''
    returnType: int
    signature: "int tree_link_matching_nodes(X509_POLICY_LEVEL *curr,\n                                    X509_POLICY_DATA
      *data,\n                                    X509_POLICY_TREE *tree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_DATA_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:294,1
    - Dst: sk_X509_POLICY_DATA_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:295,1
    - Dst: tree_link_matching_nodes
      Src: /src/openssl/crypto/x509/pcy_tree.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - curr
    - cache
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_CACHE*
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 302
    functionName: tree_link_nodes
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_DATA_value
    - tree_link_matching_nodes
    - sk_X509_POLICY_DATA_num
    linkageType: ''
    returnType: int
    signature: "int tree_link_nodes(X509_POLICY_LEVEL *curr,\n                           const
      X509_POLICY_CACHE *cache,\n                           X509_POLICY_TREE *tree)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_policy_data_new
      Src: /src/openssl/crypto/x509/pcy_tree.c:323,1
    - Dst: node_critical
      Src: /src/openssl/crypto/x509/pcy_tree.c:323,1
    - Dst: ossl_policy_level_add_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:329,1
    - Dst: ossl_policy_data_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - curr
    - cache
    - id
    - node
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_CACHE*
    - ASN1_OBJECT*
    - X509_POLICY_NODE*
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: tree_add_unmatched
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - ossl_policy_level_add_node
    - node_critical
    - ossl_policy_data_new
    - ossl_policy_data_free
    linkageType: ''
    returnType: int
    signature: "int tree_add_unmatched(X509_POLICY_LEVEL *curr,\n                              const
      X509_POLICY_CACHE *cache,\n                              const ASN1_OBJECT *id,\n
      \                             X509_POLICY_NODE *node, X509_POLICY_TREE *tree)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tree_add_unmatched
      Src: /src/openssl/crypto/x509/pcy_tree.c:351,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/pcy_tree.c:356,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:357,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:360,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:361,1
    - Dst: ossl_policy_level_find_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:362,1
    - Dst: tree_add_unmatched
      Src: /src/openssl/crypto/x509/pcy_tree.c:364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - curr
    - cache
    - node
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_CACHE*
    - X509_POLICY_NODE*
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: tree_link_unmatched
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_OBJECT_value
    - tree_add_unmatched
    - STACK_OF
    - ossl_policy_level_find_node
    - sk_ASN1_OBJECT_num
    linkageType: ''
    returnType: int
    signature: "int tree_link_unmatched(X509_POLICY_LEVEL *curr,\n                               const
      X509_POLICY_CACHE *cache,\n                               X509_POLICY_NODE *node,
      X509_POLICY_TREE *tree)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:383,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:384,1
    - Dst: tree_link_unmatched
      Src: /src/openssl/crypto/x509/pcy_tree.c:386,1
    - Dst: ossl_policy_level_add_node
      Src: /src/openssl/crypto/x509/pcy_tree.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - curr
    - cache
    - tree
    argTypes:
    - X509_POLICY_LEVEL*
    - X509_POLICY_CACHE*
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: tree_link_any
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_value
    - ossl_policy_level_add_node
    - sk_X509_POLICY_NODE_num
    - tree_link_unmatched
    linkageType: ''
    returnType: int
    signature: "int tree_link_any(X509_POLICY_LEVEL *curr,\n                         const
      X509_POLICY_CACHE *cache,\n                         X509_POLICY_TREE *tree)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/pcy_tree.c:409,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:414,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:415,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:419,1
    - Dst: sk_X509_POLICY_NODE_delete
      Src: /src/openssl/crypto/x509/pcy_tree.c:420,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:428,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/crypto/x509/pcy_tree.c:429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:432,1
    - Dst: sk_X509_POLICY_NODE_delete
      Src: /src/openssl/crypto/x509/pcy_tree.c:433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:439,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - tree
    - curr
    argTypes:
    - X509_POLICY_TREE*
    - X509_POLICY_LEVEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 450
    functionName: tree_prune
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - sk_X509_POLICY_NODE_num
    - STACK_OF
    - OPENSSL_free
    - sk_X509_POLICY_NODE_delete
    - sk_X509_POLICY_NODE_value
    linkageType: ''
    returnType: int
    signature: int tree_prune(X509_POLICY_TREE *tree, X509_POLICY_LEVEL *curr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_policy_cache_set
      Src: /src/openssl/crypto/x509/pcy_tree.c:609,1
    - Dst: tree_link_nodes
      Src: /src/openssl/crypto/x509/pcy_tree.c:610,1
    - Dst: tree_link_any
      Src: /src/openssl/crypto/x509/pcy_tree.c:614,1
    - Dst: TREE_PRINT
      Src: /src/openssl/crypto/x509/pcy_tree.c:616,1
    - Dst: tree_prune
      Src: /src/openssl/crypto/x509/pcy_tree.c:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 622
    functionName: tree_evaluate
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - tree_link_any
    - ossl_policy_cache_set
    - TREE_PRINT
    - tree_link_nodes
    - tree_prune
    linkageType: ''
    returnType: int
    signature: int tree_evaluate(X509_POLICY_TREE *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - X509_POLICY_NODE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 628
    functionName: exnode_free
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void exnode_free(X509_POLICY_NODE *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_POLICY_NODE_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:638,1
    - Dst: sk_X509_POLICY_NODE_pop_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:639,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:642,1
    - Dst: sk_X509_POLICY_NODE_pop_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:643,1
    - Dst: ossl_policy_node_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:644,1
    - Dst: sk_X509_POLICY_DATA_pop_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:647,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:648,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - tree
    argTypes:
    - X509_POLICY_TREE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 651
    functionName: X509_policy_tree_free
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - ossl_policy_node_free
    - sk_X509_POLICY_DATA_pop_free
    - sk_X509_POLICY_NODE_pop_free
    - X509_free
    - OPENSSL_free
    - sk_X509_POLICY_NODE_free
    linkageType: ''
    returnType: void
    signature: void X509_policy_tree_free(X509_POLICY_TREE *tree)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/pcy_tree.c:669,1
    - Dst: tree_init
      Src: /src/openssl/crypto/x509/pcy_tree.c:673,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:680,1
    - Dst: tree_evaluate
      Src: /src/openssl/crypto/x509/pcy_tree.c:690,1
    - Dst: TREE_PRINT
      Src: /src/openssl/crypto/x509/pcy_tree.c:691,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:696,1
    - Dst: tree_calculate_authority_set
      Src: /src/openssl/crypto/x509/pcy_tree.c:704,1
    - Dst: sk_X509_POLICY_NODE_sort
      Src: /src/openssl/crypto/x509/pcy_tree.c:706,1
    - Dst: tree_calculate_user_set
      Src: /src/openssl/crypto/x509/pcy_tree.c:707,1
    - Dst: sk_X509_POLICY_NODE_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:709,1
    - Dst: X509_policy_tree_get0_user_policies
      Src: /src/openssl/crypto/x509/pcy_tree.c:716,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/crypto/x509/pcy_tree.c:717,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/pcy_tree.c:723,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 5
    argNames:
    - ptree
    - pexplicit_policy
    - certs
    - policy_oids
    - flags
    argTypes:
    - X509_POLICY_TREE**
    - int*
    - STACK_OF*
    - STACK_OF*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 661
    functionDepth: 6
    functionLinenumber: 661
    functionLinenumberEnd: 725
    functionName: X509_policy_check
    functionSourceFile: /src/openssl/crypto/x509/pcy_tree.c
    functionUses: 0
    functionsReached:
    - tree_calculate_user_set
    - X509_policy_tree_get0_user_policies
    - sk_X509_POLICY_NODE_num
    - TREE_PRINT
    - STACK_OF
    - X509_policy_tree_free
    - tree_calculate_authority_set
    - sk_X509_POLICY_NODE_sort
    - tree_init
    - tree_evaluate
    - sk_X509_POLICY_NODE_free
    linkageType: ''
    returnType: int
    signature: "int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy,\n
      \                     STACK_OF(X509) *certs,\n                      STACK_OF(ASN1_OBJECT)
      *policy_oids, unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:52,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x_pubkey.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - x
    - libctx
    - propq
    argTypes:
    - X509_PUBKEY*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: x509_pubkey_set0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: "int x509_pubkey_set0_libctx(X509_PUBKEY *x, OSSL_LIB_CTX *libctx,\n
      \                                  const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x_pubkey.c:72,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/x509/x_pubkey.c:76,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pp
    - len
    - libctx
    - propq
    argTypes:
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: ossl_d2i_X509_PUBKEY_INTERNAL
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ASN1_item_d2i_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_PUBKEY
    signature: "X509_PUBKEY *ossl_d2i_X509_PUBKEY_INTERNAL(const unsigned char **pp,\n
      \                                          long len, OSSL_LIB_CTX *libctx,\n
      \                                          const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:83,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xpub
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: ossl_X509_PUBKEY_INTERNAL_free
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_free
    linkageType: ''
    returnType: void
    signature: void ossl_X509_PUBKEY_INTERNAL_free(X509_PUBKEY *xpub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:91,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:92,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:93,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: x509_pubkey_ex_free
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - X509_ALGOR_free
    - ASN1_BIT_STRING_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void x509_pubkey_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:105,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: x509_pubkey_ex_populate
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_new
    - X509_ALGOR_new
    linkageType: ''
    returnType: int
    signature: int x509_pubkey_ex_populate(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x_pubkey.c:116,1
    - Dst: x509_pubkey_ex_populate
      Src: /src/openssl/crypto/x509/x_pubkey.c:118,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/openssl/crypto/x509/x_pubkey.c:119,1
    - Dst: x509_pubkey_ex_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pval
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: x509_pubkey_ex_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - x509_pubkey_ex_free
    - x509_pubkey_set0_libctx
    - x509_pubkey_ex_populate
    linkageType: ''
    returnType: int
    signature: "int x509_pubkey_ex_new_ex(ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                                OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: x509_pubkey_ex_new_ex
      Src: /src/openssl/crypto/x509/x_pubkey.c:143,1
    - Dst: x509_pubkey_ex_populate
      Src: /src/openssl/crypto/x509/x_pubkey.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:146,1
    - Dst: ASN1_item_ex_d2i
      Src: /src/openssl/crypto/x509/x_pubkey.c:151,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:152,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x_pubkey.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:158,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:163,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:171,1
    - Dst: x509_pubkey_decode
      Src: /src/openssl/crypto/x509/x_pubkey.c:177,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:179,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/x509/x_pubkey.c:194,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/x_pubkey.c:202,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:204,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/x509/x_pubkey.c:208,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/x509/x_pubkey.c:217,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:224,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:230,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:234,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 10
    argNames:
    - pval
    - in
    - len
    - it
    - tag
    - aclass
    - opt
    - ctx
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - int
    - int
    - char
    - ASN1_TLC*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 130
    functionDepth: 12
    functionLinenumber: 130
    functionLinenumberEnd: 236
    functionName: x509_pubkey_ex_d2i_ex
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_DECODER_CTX_free
    - ERR_raise
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - ASN1_item_ex_d2i
    - EVP_PKEY_free
    - OPENSSL_memdup
    - OSSL_DECODER_CTX_new_for_pkey
    - x509_pubkey_ex_new_ex
    - OSSL_DECODER_from_data
    - OPENSSL_free
    - x509_pubkey_ex_populate
    - x509_pubkey_decode
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int x509_pubkey_ex_d2i_ex(ASN1_VALUE **pval,\n                                 const
      unsigned char **in, long len,\n                                 const ASN1_ITEM
      *it, int tag, int aclass,\n                                 char opt, ASN1_TLC
      *ctx, OSSL_LIB_CTX *libctx,\n                                 const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/x509/x_pubkey.c:241,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pval
    - out
    - it
    - tag
    - aclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_ITEM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: x509_pubkey_ex_i2d
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_ex_i2d
    linkageType: ''
    returnType: int
    signature: "int x509_pubkey_ex_i2d(const ASN1_VALUE **pval, unsigned char **out,\n
      \                             const ASN1_ITEM *it, int tag, int aclass)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_print
      Src: /src/openssl/crypto/x509/x_pubkey.c:248,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - pval
    - indent
    - fname
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - int
    - char*
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: x509_pubkey_ex_print
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_item_print
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: "int x509_pubkey_ex_print(BIO *out, const ASN1_VALUE **pval, int indent,\n
      \                               const char *fname, const ASN1_PCTX *pctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/openssl/crypto/x509/x_pubkey.c:271,1
    - Dst: X509_PUBKEY_it
      Src: /src/openssl/crypto/x509/x_pubkey.c:271,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/openssl/crypto/x509/x_pubkey.c:272,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: X509_PUBKEY_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ASN1_item_new_ex
    - x509_pubkey_set0_libctx
    - X509_PUBKEY_it
    - X509_PUBKEY_free
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *X509_PUBKEY_new_ex(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x_pubkey.c:285,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/openssl/crypto/x509/x_pubkey.c:289,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:290,1
    - Dst: x509_pubkey_ex_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:291,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:292,1
    - Dst: X509_ALGOR_dup
      Src: /src/openssl/crypto/x509/x_pubkey.c:295,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:296,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/openssl/crypto/x509/x_pubkey.c:297,1
    - Dst: x509_pubkey_ex_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:300,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:302,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:307,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/crypto/x509/x_pubkey.c:308,1
    - Dst: x509_pubkey_decode
      Src: /src/openssl/crypto/x509/x_pubkey.c:311,1
    - Dst: x509_pubkey_ex_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:312,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:313,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:314,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/x_pubkey.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 283
    functionDepth: 5
    functionLinenumber: 283
    functionLinenumberEnd: 321
    functionName: X509_PUBKEY_dup
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_dup
    - ASN1_BIT_STRING_set
    - OPENSSL_zalloc
    - ERR_raise
    - EVP_PKEY_dup
    - ASN1_BIT_STRING_new
    - ERR_pop_to_mark
    - x509_pubkey_ex_free
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - x509_pubkey_set0_libctx
    - x509_pubkey_decode
    - ERR_clear_last_mark
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *X509_PUBKEY_dup(const X509_PUBKEY *a)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:328,1
    - Dst: X509_PUBKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:334,1
    - Dst: EVP_PKEY*::ameth::pub_encode
      Src: /src/openssl/crypto/x509/x_pubkey.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:339,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:343,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/x509/x_pubkey.c:346,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/x509/x_pubkey.c:350,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/crypto/x509/x_pubkey.c:354,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:357,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:365,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:369,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/x509/x_pubkey.c:370,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:371,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:387,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:393,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - X509_PUBKEY**
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 323
    functionDepth: 11
    functionLinenumber: 323
    functionLinenumberEnd: 395
    functionName: X509_PUBKEY_set
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - X509_PUBKEY_new
    - OSSL_ENCODER_CTX_new_for_pkey
    - X509_PUBKEY_free
    - EVP_PKEY*::ameth::pub_encode
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_up_ref
    - OSSL_ENCODER_CTX_free
    - d2i_X509_PUBKEY
    - OSSL_ENCODER_to_data
    - evp_pkey_is_provided
    linkageType: ''
    returnType: int
    signature: int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x_pubkey.c:409,1
    - Dst: ENGINE_get_pkey_meth_engine
      Src: /src/openssl/crypto/x509/x_pubkey.c:414,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/x509/x_pubkey.c:417,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:425,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/x509/x_pubkey.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:430,1
    - Dst: EVP_PKEY*::ameth::pub_decode
      Src: /src/openssl/crypto/x509/x_pubkey.c:440,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:443,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ppkey
    - key
    argTypes:
    - EVP_PKEY**
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 453
    functionName: x509_pubkey_decode
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_free
    - ENGINE_finish
    - ENGINE_get_pkey_meth_engine
    - EVP_PKEY*::ameth::pub_decode
    - OBJ_obj2nid
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: int
    signature: int x509_pubkey_decode(EVP_PKEY **ppkey, const X509_PUBKEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 469
    functionName: X509_PUBKEY_get0
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *X509_PUBKEY_get0(const X509_PUBKEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x_pubkey.c:473,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/x509/x_pubkey.c:475,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: X509_PUBKEY_get
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_up_ref
    - X509_PUBKEY_get0
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *X509_PUBKEY_get(const X509_PUBKEY *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x_pubkey.c:507,1
    - Dst: x509_pubkey_set0_libctx
      Src: /src/openssl/crypto/x509/x_pubkey.c:510,1
    - Dst: d2i_x509_pubkey
      Src: /src/openssl/crypto/x509/x_pubkey.c:515,1
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/x509/x_pubkey.c:518,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:519,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:525,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:529,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 7
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    - force_legacy
    - "(*d2i_x509_pubkey)(X509_PUBKEY **a,\n                                                   const
      unsigned char **in,\n                                                   long
      len)"
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    - unsigned int
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 486
    functionDepth: 4
    functionLinenumber: 486
    functionLinenumberEnd: 531
    functionName: d2i_PUBKEY_int
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get
    - OPENSSL_zalloc
    - X509_PUBKEY_free
    - d2i_x509_pubkey
    - EVP_PKEY_free
    - x509_pubkey_set0_libctx
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PUBKEY_int(EVP_PKEY **a,\n                                const
      unsigned char **pp, long length,\n                                OSSL_LIB_CTX
      *libctx, const char *propq,\n                                unsigned int force_legacy,\n
      \                               X509_PUBKEY *\n                                (*d2i_x509_pubkey)(X509_PUBKEY
      **a,\n                                                   const unsigned char
      **in,\n                                                   long len))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_int
      Src: /src/openssl/crypto/x509/x_pubkey.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 5
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: ossl_d2i_PUBKEY_legacy
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 1
    functionsReached:
    - d2i_PUBKEY_int
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *ossl_d2i_PUBKEY_legacy(EVP_PKEY **a, const unsigned char
      **pp,\n                                 long length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_int
      Src: /src/openssl/crypto/x509/x_pubkey.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 544
    functionName: d2i_PUBKEY_ex
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 1
    functionsReached:
    - d2i_PUBKEY_int
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PUBKEY_ex(EVP_PKEY **a, const unsigned char **pp, long
      length,\n                        OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/crypto/x509/x_pubkey.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 6
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: d2i_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 1
    functionsReached:
    - d2i_PUBKEY_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, const unsigned char **pp, long length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:560,1
    - Dst: EVP_PKEY*::ameth::pub_encode
      Src: /src/openssl/crypto/x509/x_pubkey.c:564,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:566,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:569,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/x509/x_pubkey.c:572,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:575,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/x509/x_pubkey.c:575,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/crypto/x509/x_pubkey.c:578,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/crypto/x509/x_pubkey.c:580,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/crypto/x509/x_pubkey.c:581,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x_pubkey.c:590,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:595,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:596,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 551
    functionDepth: 11
    functionLinenumber: 551
    functionLinenumberEnd: 600
    functionName: i2d_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_to_bio
    - BIO_new
    - i2d_X509_PUBKEY
    - OSSL_ENCODER_CTX_get_num_encoders
    - X509_PUBKEY_new
    - memcpy
    - BIO_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - X509_PUBKEY_free
    - EVP_PKEY*::ameth::pub_encode
    - BIO_s_mem
    - OSSL_ENCODER_CTX_free
    - BIO_get_mem_ptr
    linkageType: ''
    returnType: int
    signature: int i2d_PUBKEY(const EVP_PKEY *a, unsigned char **pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:612,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/crypto/x509/x_pubkey.c:615,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:616,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - RSA**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 605
    functionDepth: 9
    functionLinenumber: 605
    functionLinenumberEnd: 625
    functionName: d2i_RSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - EVP_PKEY_get1_RSA
    - EVP_PKEY_free
    - ossl_d2i_PUBKEY_legacy
    linkageType: ''
    returnType: RSA
    signature: RSA *d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:633,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:635,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/crypto/x509/x_pubkey.c:638,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:639,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - RSA*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 627
    functionDepth: 12
    functionLinenumber: 627
    functionLinenumberEnd: 643
    functionName: i2d_RSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_assign_RSA
    - EVP_PKEY_free
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int i2d_RSA_PUBKEY(const RSA *a, unsigned char **pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:653,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:656,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/openssl/crypto/x509/x_pubkey.c:657,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:658,1
    - Dst: DH_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 646
    functionDepth: 6
    functionLinenumber: 646
    functionLinenumberEnd: 667
    functionName: ossl_d2i_DH_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_d2i_PUBKEY_legacy
    - EVP_PKEY_get_id
    - EVP_PKEY_get1_DH
    - EVP_PKEY_free
    - DH_free
    linkageType: ''
    returnType: DH
    signature: DH *ossl_d2i_DH_PUBKEY(DH **a, const unsigned char **pp, long length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:675,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:677,1
    - Dst: EVP_PKEY_assign_DH
      Src: /src/openssl/crypto/x509/x_pubkey.c:680,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:681,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DH*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 669
    functionDepth: 12
    functionLinenumber: 669
    functionLinenumberEnd: 685
    functionName: ossl_i2d_DH_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_assign_DH
    - EVP_PKEY_free
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int ossl_i2d_DH_PUBKEY(const DH *a, unsigned char **pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:694,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:697,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/openssl/crypto/x509/x_pubkey.c:698,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:699,1
    - Dst: DH_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 687
    functionDepth: 6
    functionLinenumber: 687
    functionLinenumberEnd: 708
    functionName: ossl_d2i_DHx_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_d2i_PUBKEY_legacy
    - EVP_PKEY_get_id
    - EVP_PKEY_get1_DH
    - EVP_PKEY_free
    - DH_free
    linkageType: ''
    returnType: DH
    signature: DH *ossl_d2i_DHx_PUBKEY(DH **a, const unsigned char **pp, long length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:716,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:718,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:721,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:722,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DH*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 710
    functionDepth: 12
    functionLinenumber: 710
    functionLinenumberEnd: 726
    functionName: ossl_i2d_DHx_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int ossl_i2d_DHx_PUBKEY(const DH *a, unsigned char **pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:737,1
    - Dst: EVP_PKEY_get1_DSA
      Src: /src/openssl/crypto/x509/x_pubkey.c:740,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:741,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DSA**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 730
    functionDepth: 6
    functionLinenumber: 730
    functionLinenumberEnd: 750
    functionName: d2i_DSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_get1_DSA
    - DSA_free
    - ossl_d2i_PUBKEY_legacy
    linkageType: ''
    returnType: DSA
    signature: DSA *d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DSA_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:760,1
    - Dst: DSA_get0_pqg
      Src: /src/openssl/crypto/x509/x_pubkey.c:763,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:765,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DSA**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 753
    functionDepth: 7
    functionLinenumber: 753
    functionLinenumberEnd: 774
    functionName: ossl_d2i_DSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - d2i_DSA_PUBKEY
    - DSA_get0_pqg
    - DSA_free
    linkageType: ''
    returnType: DSA
    signature: DSA *ossl_d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:782,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:784,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/x509/x_pubkey.c:787,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:788,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - DSA*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 776
    functionDepth: 12
    functionLinenumber: 776
    functionLinenumberEnd: 792
    functionName: i2d_DSA_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_free
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int i2d_DSA_PUBKEY(const DSA *a, unsigned char **pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:804,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:807,1
    - Dst: EVP_PKEY_get1_EC_KEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:809,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:810,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:815,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 796
    functionDepth: 9
    functionLinenumber: 796
    functionLinenumberEnd: 819
    functionName: d2i_EC_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_d2i_PUBKEY_legacy
    - EVP_PKEY_get_id
    - EVP_PKEY_free
    - EVP_PKEY_get1_EC_KEY
    - EC_KEY_free
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, long length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:828,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:829,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:832,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:833,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 821
    functionDepth: 12
    functionLinenumber: 821
    functionLinenumberEnd: 837
    functionName: i2d_EC_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_free
    - EVP_PKEY_assign_EC_KEY
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int i2d_EC_PUBKEY(const EC_KEY *a, unsigned char **pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:848,1
    - Dst: ossl_evp_pkey_get1_ED25519
      Src: /src/openssl/crypto/x509/x_pubkey.c:851,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:852,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 840
    functionDepth: 6
    functionLinenumber: 840
    functionLinenumberEnd: 861
    functionName: ossl_d2i_ED25519_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - ossl_evp_pkey_get1_ED25519
    - ossl_ecx_key_free
    - ossl_d2i_PUBKEY_legacy
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *ossl_d2i_ED25519_PUBKEY(ECX_KEY **a,\n                                 const
      unsigned char **pp, long length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:870,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:871,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:874,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:875,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 12
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: ossl_i2d_ED25519_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int ossl_i2d_ED25519_PUBKEY(const ECX_KEY *a, unsigned char **pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:889,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:892,1
    - Dst: ossl_evp_pkey_get1_ED448
      Src: /src/openssl/crypto/x509/x_pubkey.c:893,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:894,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 881
    functionDepth: 6
    functionLinenumber: 881
    functionLinenumberEnd: 903
    functionName: ossl_d2i_ED448_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_d2i_PUBKEY_legacy
    - ossl_ecx_key_free
    - EVP_PKEY_get_id
    - EVP_PKEY_free
    - ossl_evp_pkey_get1_ED448
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *ossl_d2i_ED448_PUBKEY(ECX_KEY **a,\n                               const
      unsigned char **pp, long length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:912,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:913,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:916,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:917,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 905
    functionDepth: 12
    functionLinenumber: 905
    functionLinenumberEnd: 921
    functionName: ossl_i2d_ED448_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int ossl_i2d_ED448_PUBKEY(const ECX_KEY *a, unsigned char **pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:931,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:934,1
    - Dst: ossl_evp_pkey_get1_X25519
      Src: /src/openssl/crypto/x509/x_pubkey.c:935,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:936,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 923
    functionDepth: 6
    functionLinenumber: 923
    functionLinenumberEnd: 945
    functionName: ossl_d2i_X25519_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_d2i_PUBKEY_legacy
    - ossl_ecx_key_free
    - EVP_PKEY_get_id
    - EVP_PKEY_free
    - ossl_evp_pkey_get1_X25519
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *ossl_d2i_X25519_PUBKEY(ECX_KEY **a,\n                                const
      unsigned char **pp, long length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:954,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:955,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:958,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:959,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 947
    functionDepth: 12
    functionLinenumber: 947
    functionLinenumberEnd: 963
    functionName: ossl_i2d_X25519_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int ossl_i2d_X25519_PUBKEY(const ECX_KEY *a, unsigned char **pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_d2i_PUBKEY_legacy
      Src: /src/openssl/crypto/x509/x_pubkey.c:973,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x_pubkey.c:976,1
    - Dst: ossl_evp_pkey_get1_X448
      Src: /src/openssl/crypto/x509/x_pubkey.c:977,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:978,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ECX_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 965
    functionDepth: 6
    functionLinenumber: 965
    functionLinenumberEnd: 987
    functionName: ossl_d2i_X448_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_d2i_PUBKEY_legacy
    - ossl_ecx_key_free
    - EVP_PKEY_get_id
    - EVP_PKEY_free
    - ossl_evp_pkey_get1_X448
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *ossl_d2i_X448_PUBKEY(ECX_KEY **a,\n                              const
      unsigned char **pp, long length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/x509/x_pubkey.c:996,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_pubkey.c:997,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/x509/x_pubkey.c:1000,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x_pubkey.c:1001,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/x509/x_pubkey.c:1003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ECX_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 989
    functionDepth: 12
    functionLinenumber: 989
    functionLinenumberEnd: 1005
    functionName: ossl_i2d_X448_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_assign
    - EVP_PKEY_free
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int ossl_i2d_X448_PUBKEY(const ECX_KEY *a, unsigned char **pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/x509/x_pubkey.c:1013,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/x509/x_pubkey.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pub
    - penc
    - penclen
    argTypes:
    - X509_PUBKEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: X509_PUBKEY_set0_public_key
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_string_set_bits_left
    - ASN1_STRING_set0
    linkageType: ''
    returnType: void
    signature: "void X509_PUBKEY_set0_public_key(X509_PUBKEY *pub,\n                                 unsigned
      char *penc, int penclen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/x509/x_pubkey.c:1021,1
    - Dst: X509_PUBKEY_set0_public_key
      Src: /src/openssl/crypto/x509/x_pubkey.c:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - pub
    - aobj
    - ptype
    - pval
    - penc
    - penclen
    argTypes:
    - X509_PUBKEY*
    - ASN1_OBJECT*
    - int
    - void*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1026
    functionName: X509_PUBKEY_set0_param
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - X509_PUBKEY_set0_public_key
    linkageType: ''
    returnType: int
    signature: "int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj,\n
      \                          int ptype, void *pval,\n                           unsigned
      char *penc, int penclen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ppkalg
    - pk
    - ppklen
    - pa
    - pub
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - int*
    - X509_ALGOR**
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1041
    functionName: X509_PUBKEY_get0_param
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg,\n                           const
      unsigned char **pk, int *ppklen,\n                           X509_ALGOR **pa,
      const X509_PUBKEY *pub)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1048
    functionName: X509_get0_pubkey_bitstr
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ASN1_BIT_STRING
    signature: ASN1_BIT_STRING *X509_get0_pubkey_bitstr(const X509 *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/x_pubkey.c:1060,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/x_pubkey.c:1061,1
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/crypto/x509/x_pubkey.c:1063,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x_pubkey.c:1065,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x_pubkey.c:1066,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/crypto/x509/x_pubkey.c:1068,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_PUBKEY*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1051
    functionDepth: 3
    functionLinenumber: 1051
    functionLinenumberEnd: 1069
    functionName: X509_PUBKEY_eq
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0
    - X509_ALGOR_cmp
    - X509_PUBKEY_get0_param
    - EVP_PKEY_eq
    linkageType: ''
    returnType: int
    signature: int X509_PUBKEY_eq(const X509_PUBKEY *a, const X509_PUBKEY *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - plibctx
    - ppropq
    - key
    argTypes:
    - OSSL_LIB_CTX**
    - char**
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1079
    functionName: ossl_x509_PUBKEY_get0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_pubkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_x509_PUBKEY_get0_libctx(OSSL_LIB_CTX **plibctx, const char
      **ppropq,\n                                 const X509_PUBKEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: X509_LOOKUP_hash_dir
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_LOOKUP_METHOD
    signature: X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/x509/by_dir.c:91,1
    - Dst: X509_get_default_cert_dir_env
      Src: /src/openssl/crypto/x509/by_dir.c:91,1
    - Dst: add_cert_dir
      Src: /src/openssl/crypto/x509/by_dir.c:94,1
    - Dst: add_cert_dir
      Src: /src/openssl/crypto/x509/by_dir.c:96,1
    - Dst: X509_get_default_cert_dir
      Src: /src/openssl/crypto/x509/by_dir.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:99,1
    - Dst: add_cert_dir
      Src: /src/openssl/crypto/x509/by_dir.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - cmd
    - argp
    - argl
    - retp
    argTypes:
    - X509_LOOKUP*
    - int
    - char*
    - long
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: dir_ctrl
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_get_default_cert_dir_env
    - X509_get_default_cert_dir
    - ossl_safe_getenv
    - add_cert_dir
    linkageType: ''
    returnType: int
    signature: "int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,\n
      \                   char **retp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/by_dir.c:110,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/x509/by_dir.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:116,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/x509/by_dir.c:120,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/by_dir.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_dir.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - lu
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: new_dir
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    - ERR_raise
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - BUF_MEM_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int new_dir(X509_LOOKUP *lu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_dir.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - BY_DIR_HASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: by_dir_hash_free
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void by_dir_hash_free(BY_DIR_HASH *hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BY_DIR_HASH**
    - BY_DIR_HASH**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: by_dir_hash_cmp
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int by_dir_hash_cmp(const BY_DIR_HASH *const *a,\n                           const
      BY_DIR_HASH *const *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_dir.c:151,1
    - Dst: sk_BY_DIR_HASH_pop_free
      Src: /src/openssl/crypto/x509/by_dir.c:152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_dir.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ent
    argTypes:
    - BY_DIR_ENTRY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: by_dir_entry_free
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_BY_DIR_HASH_pop_free
    linkageType: ''
    returnType: void
    signature: void by_dir_entry_free(BY_DIR_ENTRY *ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_BY_DIR_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/by_dir.c:160,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/by_dir.c:161,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/x509/by_dir.c:162,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_dir.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lu
    argTypes:
    - X509_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: free_dir
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - sk_BY_DIR_ENTRY_pop_free
    - BUF_MEM_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_dir(X509_LOOKUP *lu)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:173,1
    - Dst: sk_BY_DIR_ENTRY_num
      Src: /src/openssl/crypto/x509/by_dir.c:188,1
    - Dst: sk_BY_DIR_ENTRY_value
      Src: /src/openssl/crypto/x509/by_dir.c:189,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/by_dir.c:190,1
    - Dst: strncmp
      Src: /src/openssl/crypto/x509/by_dir.c:190,1
    - Dst: sk_BY_DIR_ENTRY_num
      Src: /src/openssl/crypto/x509/by_dir.c:193,1
    - Dst: sk_BY_DIR_ENTRY_new_null
      Src: /src/openssl/crypto/x509/by_dir.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:198,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/by_dir.c:202,1
    - Dst: sk_BY_DIR_HASH_new
      Src: /src/openssl/crypto/x509/by_dir.c:206,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/by_dir.c:207,1
    - Dst: by_dir_entry_free
      Src: /src/openssl/crypto/x509/by_dir.c:209,1
    - Dst: sk_BY_DIR_ENTRY_push
      Src: /src/openssl/crypto/x509/by_dir.c:212,1
    - Dst: by_dir_entry_free
      Src: /src/openssl/crypto/x509/by_dir.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:214,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - ctx
    - dir
    - type
    argTypes:
    - BY_DIR*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 220
    functionName: add_cert_dir
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - sk_BY_DIR_ENTRY_new_null
    - strlen
    - sk_BY_DIR_ENTRY_push
    - by_dir_entry_free
    - strncmp
    - sk_BY_DIR_ENTRY_value
    - sk_BY_DIR_HASH_new
    - sk_BY_DIR_ENTRY_num
    - OPENSSL_strndup
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int add_cert_dir(BY_DIR *ctx, const char *dir, int type)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:250,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/x509/by_dir.c:254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:255,1
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/crypto/x509/by_dir.c:260,1
    - Dst: sk_BY_DIR_ENTRY_num
      Src: /src/openssl/crypto/x509/by_dir.c:263,1
    - Dst: sk_BY_DIR_ENTRY_value
      Src: /src/openssl/crypto/x509/by_dir.c:268,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/by_dir.c:269,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/x509/by_dir.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:271,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/x509/by_dir.c:276,1
    - Dst: sk_BY_DIR_HASH_find
      Src: /src/openssl/crypto/x509/by_dir.c:278,1
    - Dst: sk_BY_DIR_HASH_value
      Src: /src/openssl/crypto/x509/by_dir.c:280,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:286,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/by_dir.c:295,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/x509/by_dir.c:313,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/x509/by_dir.c:318,1
    - Dst: stat
      Src: /src/openssl/crypto/x509/by_dir.c:327,1
    - Dst: X509_load_cert_file_ex
      Src: /src/openssl/crypto/x509/by_dir.c:333,1
    - Dst: X509_load_crl_file
      Src: /src/openssl/crypto/x509/by_dir.c:337,1
    - Dst: X509_STORE_lock
      Src: /src/openssl/crypto/x509/by_dir.c:351,1
    - Dst: sk_X509_OBJECT_find
      Src: /src/openssl/crypto/x509/by_dir.c:353,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/openssl/crypto/x509/by_dir.c:354,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:355,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/by_dir.c:366,1
    - Dst: sk_BY_DIR_HASH_find
      Src: /src/openssl/crypto/x509/by_dir.c:374,1
    - Dst: sk_BY_DIR_HASH_value
      Src: /src/openssl/crypto/x509/by_dir.c:375,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/by_dir.c:378,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:380,1
    - Dst: sk_BY_DIR_HASH_push
      Src: /src/openssl/crypto/x509/by_dir.c:386,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/by_dir.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/by_dir.c:389,1
    - Dst: sk_BY_DIR_HASH_sort
      Src: /src/openssl/crypto/x509/by_dir.c:398,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:403,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/by_dir.c:410,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/x509/by_dir.c:416,1
    - Dst: X509_STORE_lock
      Src: /src/openssl/crypto/x509/by_dir.c:423,1
    - Dst: sk_X509_OBJECT_is_sorted
      Src: /src/openssl/crypto/x509/by_dir.c:424,1
    - Dst: sk_X509_OBJECT_sort
      Src: /src/openssl/crypto/x509/by_dir.c:425,1
    - Dst: X509_STORE_unlock
      Src: /src/openssl/crypto/x509/by_dir.c:427,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/by_dir.c:430,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 141
    argCount: 6
    argNames:
    - xl
    - type
    - name
    - ret
    - libctx
    - propq
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 222
    functionDepth: 11
    functionLinenumber: 222
    functionLinenumberEnd: 432
    functionName: get_cert_by_subject_ex
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached:
    - stat
    - BUF_MEM_free
    - ERR_raise
    - X509_load_crl_file
    - memcpy
    - BIO_snprintf
    - OPENSSL_free
    - sk_BY_DIR_ENTRY_value
    - sk_BY_DIR_HASH_value
    - strlen
    - X509_STORE_unlock
    - X509_NAME_hash_ex
    - ERR_clear_error
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - sk_BY_DIR_HASH_sort
    - sk_X509_OBJECT_find
    - sk_BY_DIR_HASH_find
    - BUF_MEM_new
    - sk_BY_DIR_ENTRY_num
    - BUF_MEM_grow
    - sk_X509_OBJECT_sort
    - OPENSSL_malloc
    - X509_load_cert_file_ex
    - X509_STORE_lock
    - CRYPTO_THREAD_unlock
    - sk_BY_DIR_HASH_push
    - sk_X509_OBJECT_value
    - sk_X509_OBJECT_is_sorted
    linkageType: ''
    returnType: int
    signature: "int get_cert_by_subject_ex(X509_LOOKUP *xl, X509_LOOKUP_TYPE type,\n
      \                                 const X509_NAME *name, X509_OBJECT *ret,\n
      \                                 OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_by_subject_ex
      Src: /src/openssl/crypto/x509/by_dir.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - xl
    - type
    - name
    - ret
    argTypes:
    - X509_LOOKUP*
    - X509_LOOKUP_TYPE
    - X509_NAME*
    - X509_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 12
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: get_cert_by_subject
    functionSourceFile: /src/openssl/crypto/x509/by_dir.c
    functionUses: 0
    functionsReached:
    - get_cert_by_subject_ex
    linkageType: ''
    returnType: int
    signature: "int get_cert_by_subject(X509_LOOKUP *xl, X509_LOOKUP_TYPE type,\n
      \                              const X509_NAME *name, X509_OBJECT *ret)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/x509/x509aset.c:25,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:27,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/x509/x509aset.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ASN1_STRING**
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 35
    functionName: replace_gentime
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ASN1_STRING_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int replace_gentime(ASN1_STRING **dest, const ASN1_GENERALIZEDTIME
      *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509aset.c:40,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/x509aset.c:43,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:44,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/openssl/crypto/x509/x509aset.c:48,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:49,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/x509aset.c:53,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:54,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/x509aset.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:59,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/openssl/crypto/x509/x509aset.c:63,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x509aset.c:65,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/x509aset.c:71,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/x509aset.c:72,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x509aset.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - names
    - dirName
    argTypes:
    - GENERAL_NAMES**
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 75
    functionName: replace_dirName
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAME_push
    - GENERAL_NAMES_free
    - X509_NAME_free
    - GENERAL_NAME_new
    - sk_GENERAL_NAME_new_null
    - STACK_OF
    - X509_NAME_dup
    - GENERAL_NAME_set0_value
    - GENERAL_NAME_free
    - sk_GENERAL_NAME_free
    linkageType: ''
    returnType: int
    signature: int replace_dirName(GENERAL_NAMES **names, const X509_NAME *dirName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_set
      Src: /src/openssl/crypto/x509/x509aset.c:83,1
    - Dst: X509_ALGOR_copy
      Src: /src/openssl/crypto/x509/x509aset.c:86,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/x509/x509aset.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - o
    - digestedObjectType
    - digestAlgorithm
    - digest
    argTypes:
    - OSSL_OBJECT_DIGEST_INFO*
    - int
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: OSSL_OBJECT_DIGEST_INFO_set1_digest
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_copy
    - ASN1_STRING_copy
    - ASN1_ENUMERATED_set
    linkageType: ''
    returnType: int
    signature: "int OSSL_OBJECT_DIGEST_INFO_set1_digest(OSSL_OBJECT_DIGEST_INFO *o,\n
      \                                       int digestedObjectType,\n                                        X509_ALGOR
      *digestAlgorithm,\n                                        ASN1_BIT_STRING *digest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_dirName
      Src: /src/openssl/crypto/x509/x509aset.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - isss
    - issuer
    argTypes:
    - OSSL_ISSUER_SERIAL*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: OSSL_ISSUER_SERIAL_set1_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - replace_dirName
    linkageType: ''
    returnType: int
    signature: "int OSSL_ISSUER_SERIAL_set1_issuer(OSSL_ISSUER_SERIAL *isss,\n                                   const
      X509_NAME *issuer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/x509/x509aset.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - isss
    - serial
    argTypes:
    - OSSL_ISSUER_SERIAL*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: OSSL_ISSUER_SERIAL_set1_serial
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: "int OSSL_ISSUER_SERIAL_set1_serial(OSSL_ISSUER_SERIAL *isss,\n                                   const
      ASN1_INTEGER *serial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/x509/x509aset.c:110,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/x509/x509aset.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - isss
    - uid
    argTypes:
    - OSSL_ISSUER_SERIAL*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: OSSL_ISSUER_SERIAL_set1_issuerUID
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_dup
    - ASN1_BIT_STRING_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_ISSUER_SERIAL_set1_issuerUID(OSSL_ISSUER_SERIAL *isss,\n
      \                                     const ASN1_BIT_STRING *uid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/x509aset.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - version
    argTypes:
    - X509_ACERT*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: X509_ACERT_set_version
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_set_version(X509_ACERT *x, long version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x509aset.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - names
    argTypes:
    - X509_ACERT*
    - GENERAL_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: X509_ACERT_set0_holder_entityName
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAMES_free
    linkageType: ''
    returnType: void
    signature: void X509_ACERT_set0_holder_entityName(X509_ACERT *x, GENERAL_NAMES
      *names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ISSUER_SERIAL_free
      Src: /src/openssl/crypto/x509/x509aset.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - isss
    argTypes:
    - X509_ACERT*
    - OSSL_ISSUER_SERIAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: X509_ACERT_set0_holder_baseCertId
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - OSSL_ISSUER_SERIAL_free
    linkageType: ''
    returnType: void
    signature: "void X509_ACERT_set0_holder_baseCertId(X509_ACERT *x,\n                                       OSSL_ISSUER_SERIAL
      *isss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_OBJECT_DIGEST_INFO_free
      Src: /src/openssl/crypto/x509/x509aset.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - dinfo
    argTypes:
    - X509_ACERT*
    - OSSL_OBJECT_DIGEST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: X509_ACERT_set0_holder_digest
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - OSSL_OBJECT_DIGEST_INFO_free
    linkageType: ''
    returnType: void
    signature: "void X509_ACERT_set0_holder_digest(X509_ACERT *x,\n                                   OSSL_OBJECT_DIGEST_INFO
      *dinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ACERT_ISSUER_V2FORM_new
      Src: /src/openssl/crypto/x509/x509aset.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509aset.c:154,1
    - Dst: replace_dirName
      Src: /src/openssl/crypto/x509/x509aset.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - x
    - name
    argTypes:
    - X509_ACERT*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: X509_ACERT_set1_issuerName
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_ACERT_ISSUER_V2FORM_new
    - replace_dirName
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_set1_issuerName(X509_ACERT *x, const X509_NAME *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/x509/x509aset.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - serial
    argTypes:
    - X509_ACERT*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: X509_ACERT_set1_serialNumber
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_set1_serialNumber(X509_ACERT *x, const ASN1_INTEGER
      *serial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_gentime
      Src: /src/openssl/crypto/x509/x509aset.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - time
    argTypes:
    - X509_ACERT*
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: X509_ACERT_set1_notBefore
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - replace_gentime
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_set1_notBefore(X509_ACERT *x, const ASN1_GENERALIZEDTIME
      *time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_gentime
      Src: /src/openssl/crypto/x509/x509aset.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - time
    argTypes:
    - X509_ACERT*
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: X509_ACERT_set1_notAfter
    functionSourceFile: /src/openssl/crypto/x509/x509aset.c
    functionUses: 0
    functionsReached:
    - replace_gentime
    linkageType: ''
    returnType: int
    signature: int X509_ACERT_set1_notAfter(X509_ACERT *x, const ASN1_GENERALIZEDTIME
      *time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_vpm.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: str_copy
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *str_copy(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: str_free
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void str_free(char *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_vpm.c:46,1
    - Dst: memchr
      Src: /src/openssl/crypto/x509/x509_vpm.c:48,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:54,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/x509/x509_vpm.c:60,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/crypto/x509/x509_vpm.c:65,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:66,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/crypto/x509/x509_vpm.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:71,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/crypto/x509/x509_vpm.c:72,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:73,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - vpm
    - mode
    - name
    - namelen
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 80
    functionName: int_x509_param_set_hosts
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - sk_OPENSSL_STRING_new_null
    - memchr
    - OPENSSL_free
    - sk_OPENSSL_STRING_free
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_pop_free
    - strlen
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: "int int_x509_param_set_hosts(X509_VERIFY_PARAM *vpm, int mode,\n                                    const
      char *name, size_t namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_vpm.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: X509_VERIFY_PARAM_new
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_VERIFY_PARAM
    signature: X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:100,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:102,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:104,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: X509_VERIFY_PARAM_free
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 2
    functionsReached:
    - sk_OPENSSL_STRING_pop_free
    - OPENSSL_free
    - sk_ASN1_OBJECT_pop_free
    linkageType: ''
    returnType: void
    signature: void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - field
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: test_x509_verify_param_copy
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_x509_verify_param_copy(field, def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - field
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: x509_verify_param_copy
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x509_verify_param_copy(field, def)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:170,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:171,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:172,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:173,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:188,1
    - Dst: X509_VERIFY_PARAM_set1_policies
      Src: /src/openssl/crypto/x509/x509_vpm.c:189,1
    - Dst: x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:193,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:195,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:196,1
    - Dst: sk_OPENSSL_STRING_deep_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:200,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:206,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/crypto/x509/x509_vpm.c:207,1
    - Dst: test_x509_verify_param_copy
      Src: /src/openssl/crypto/x509/x509_vpm.c:211,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:212,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 217
    functionName: X509_VERIFY_PARAM_inherit
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set1_policies
    - sk_OPENSSL_STRING_deep_copy
    - X509_VERIFY_PARAM_set1_ip
    - X509_VERIFY_PARAM_set1_email
    - test_x509_verify_param_copy
    - sk_OPENSSL_STRING_pop_free
    - x509_verify_param_copy
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *dest,\n                              const
      X509_VERIFY_PARAM *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vpm.c:226,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/crypto/x509/x509_vpm.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: X509_VERIFY_PARAM_set1
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - X509_VERIFY_PARAM_inherit
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to,\n                           const
      X509_VERIFY_PARAM *from)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509_vpm.c:243,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x509_vpm.c:245,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x509_vpm.c:248,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pdest
    - pdestlen
    - src
    - srclen
    argTypes:
    - char**
    - size_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: int_x509_param_set1
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int int_x509_param_set1(char **pdest, size_t *pdestlen,\n                               const
      char *src, size_t srclen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:263,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_vpm.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - param
    - name
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: X509_VERIFY_PARAM_set1_name
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - param
    - flags
    argTypes:
    - X509_VERIFY_PARAM*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: X509_VERIFY_PARAM_set_flags
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned
      long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - param
    - flags
    argTypes:
    - X509_VERIFY_PARAM*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: X509_VERIFY_PARAM_clear_flags
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param,\n                                  unsigned
      long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: X509_VERIFY_PARAM_get_flags
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long X509_VERIFY_PARAM_get_flags(const X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: X509_VERIFY_PARAM_get_inh_flags
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_VERIFY_PARAM_get_inh_flags(const X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - param
    - flags
    argTypes:
    - X509_VERIFY_PARAM*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: X509_VERIFY_PARAM_set_inh_flags
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param, uint32_t
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_set
      Src: /src/openssl/crypto/x509/x509_vpm.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - purpose
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: X509_VERIFY_PARAM_set_purpose
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - X509_PURPOSE_set
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: X509_VERIFY_PARAM_get_purpose
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_get_purpose(const X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_TRUST_set
      Src: /src/openssl/crypto/x509/x509_vpm.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - trust
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: X509_VERIFY_PARAM_set_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - X509_TRUST_set
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - depth
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: X509_VERIFY_PARAM_set_depth
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - auth_level
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: X509_VERIFY_PARAM_set_auth_level
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int
      auth_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: X509_VERIFY_PARAM_get_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - param
    - t
    argTypes:
    - X509_VERIFY_PARAM*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: X509_VERIFY_PARAM_set_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/crypto/x509/x509_vpm.c:340,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/x509/x509_vpm.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - param
    - policy
    argTypes:
    - X509_VERIFY_PARAM*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 348
    functionName: X509_VERIFY_PARAM_add0_policy
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_OBJECT_push
    - sk_ASN1_OBJECT_new_null
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param,\n                                  ASN1_OBJECT
      *policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - idx
    argTypes:
    - X509_VERIFY_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: X509_VERIFY_PARAM_get0_host
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_value
    linkageType: ''
    returnType: char
    signature: char *X509_VERIFY_PARAM_get0_host(X509_VERIFY_PARAM *param, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_x509_param_set_hosts
      Src: /src/openssl/crypto/x509/x509_vpm.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - param
    - name
    - namelen
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: X509_VERIFY_PARAM_set1_host
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - int_x509_param_set_hosts
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param,\n                                const
      char *name, size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_x509_param_set_hosts
      Src: /src/openssl/crypto/x509/x509_vpm.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - param
    - name
    - namelen
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: X509_VERIFY_PARAM_add1_host
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - int_x509_param_set_hosts
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param,\n                                const
      char *name, size_t namelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - flags
    argTypes:
    - X509_VERIFY_PARAM*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: X509_VERIFY_PARAM_set_hostflags
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param,\n                                     unsigned
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: X509_VERIFY_PARAM_get_hostflags
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int X509_VERIFY_PARAM_get_hostflags(const X509_VERIFY_PARAM
      *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: X509_VERIFY_PARAM_get0_peername
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_VERIFY_PARAM_get0_peername(const X509_VERIFY_PARAM *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: X509_VERIFY_PARAM_move_peername
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: "void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM *to,\n                                     X509_VERIFY_PARAM
      *from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: X509_VERIFY_PARAM_get0_email
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_VERIFY_PARAM_get0_email(X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_x509_param_set1
      Src: /src/openssl/crypto/x509/x509_vpm.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - param
    - email
    - emaillen
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: X509_VERIFY_PARAM_set1_email
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - int_x509_param_set1
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param,\n                                 const
      char *email, size_t emaillen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vpm.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - param
    - plen
    argTypes:
    - X509_VERIFY_PARAM*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: int_X509_VERIFY_PARAM_get0_ip
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *int_X509_VERIFY_PARAM_get0_ip(X509_VERIFY_PARAM *param,
      size_t *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_X509_VERIFY_PARAM_get0_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:463,1
    - Dst: ossl_ipaddr_to_asc
      Src: /src/openssl/crypto/x509/x509_vpm.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: X509_VERIFY_PARAM_get1_ip_asc
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - int_X509_VERIFY_PARAM_get0_ip
    - ossl_ipaddr_to_asc
    linkageType: ''
    returnType: char
    signature: char *X509_VERIFY_PARAM_get1_ip_asc(X509_VERIFY_PARAM *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vpm.c:472,1
    - Dst: int_x509_param_set1
      Src: /src/openssl/crypto/x509/x509_vpm.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - param
    - ip
    - iplen
    argTypes:
    - X509_VERIFY_PARAM*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 477
    functionName: X509_VERIFY_PARAM_set1_ip
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - int_x509_param_set1
    linkageType: ''
    returnType: int
    signature: "int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param,\n                              const
      unsigned char *ip, size_t iplen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_a2i_ipadd
      Src: /src/openssl/crypto/x509/x509_vpm.c:482,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/crypto/x509/x509_vpm.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - param
    - ipasc
    argTypes:
    - X509_VERIFY_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: X509_VERIFY_PARAM_set1_ip_asc
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - ossl_a2i_ipadd
    - X509_VERIFY_PARAM_set1_ip
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char
      *ipasc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: X509_VERIFY_PARAM_get_depth
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: X509_VERIFY_PARAM_get_auth_level
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_get_auth_level(const X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: X509_VERIFY_PARAM_get0_name
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/x509_vpm.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_VERIFY_PARAM*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: table_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int table_cmp(const X509_VERIFY_PARAM *a, const X509_VERIFY_PARAM *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/x509_vpm.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_VERIFY_PARAM**
    - X509_VERIFY_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: param_cmp
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int param_cmp(const X509_VERIFY_PARAM *const *a,\n                     const
      X509_VERIFY_PARAM *const *b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_VERIFY_PARAM_new
      Src: /src/openssl/crypto/x509/x509_vpm.c:609,1
    - Dst: sk_X509_VERIFY_PARAM_find
      Src: /src/openssl/crypto/x509/x509_vpm.c:613,1
    - Dst: sk_X509_VERIFY_PARAM_delete
      Src: /src/openssl/crypto/x509/x509_vpm.c:615,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:616,1
    - Dst: sk_X509_VERIFY_PARAM_push
      Src: /src/openssl/crypto/x509/x509_vpm.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 623
    functionName: X509_VERIFY_PARAM_add0_table
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_free
    - sk_X509_VERIFY_PARAM_find
    - sk_X509_VERIFY_PARAM_delete
    - sk_X509_VERIFY_PARAM_new
    - sk_X509_VERIFY_PARAM_push
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/x509_vpm.c:627,1
    - Dst: sk_X509_VERIFY_PARAM_num
      Src: /src/openssl/crypto/x509/x509_vpm.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: X509_VERIFY_PARAM_get_count
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - sk_X509_VERIFY_PARAM_num
    linkageType: ''
    returnType: int
    signature: int X509_VERIFY_PARAM_get_count(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/x509_vpm.c:636,1
    - Dst: sk_X509_VERIFY_PARAM_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: X509_VERIFY_PARAM_get0
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - sk_X509_VERIFY_PARAM_value
    linkageType: ''
    returnType: X509_VERIFY_PARAM
    signature: X509_VERIFY_PARAM *X509_VERIFY_PARAM_get0(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_VERIFY_PARAM_sort
      Src: /src/openssl/crypto/x509/x509_vpm.c:651,1
    - Dst: sk_X509_VERIFY_PARAM_find
      Src: /src/openssl/crypto/x509/x509_vpm.c:652,1
    - Dst: sk_X509_VERIFY_PARAM_value
      Src: /src/openssl/crypto/x509/x509_vpm.c:654,1
    - Dst: OBJ_bsearch_table
      Src: /src/openssl/crypto/x509/x509_vpm.c:656,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/x509_vpm.c:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 657
    functionName: X509_VERIFY_PARAM_lookup
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - OBJ_bsearch_table
    - sk_X509_VERIFY_PARAM_find
    - OSSL_NELEM
    - sk_X509_VERIFY_PARAM_sort
    - sk_X509_VERIFY_PARAM_value
    linkageType: ''
    returnType: X509_VERIFY_PARAM
    signature: X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_VERIFY_PARAM_pop_free
      Src: /src/openssl/crypto/x509/x509_vpm.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: X509_VERIFY_PARAM_table_cleanup
    functionSourceFile: /src/openssl/crypto/x509/x509_vpm.c
    functionUses: 0
    functionsReached:
    - sk_X509_VERIFY_PARAM_pop_free
    linkageType: ''
    returnType: void
    signature: void X509_VERIFY_PARAM_table_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_print_ex_fp
      Src: /src/openssl/crypto/x509/t_x509.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: X509_print_fp
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - X509_print_ex_fp
    linkageType: ''
    returnType: int
    signature: int X509_print_fp(FILE *fp, X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/t_x509.c:42,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/t_x509.c:42,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_x509.c:43,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/t_x509.c:46,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:47,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/t_x509.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - fp
    - x
    - nmflag
    - cflag
    argTypes:
    - FILE*
    - X509*
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: X509_print_ex_fp
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 1
    functionsReached:
    - X509_print_ex
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: "int X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag,\n                     unsigned
      long cflag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: X509_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - X509_print_ex
    linkageType: ''
    returnType: int
    signature: int X509_print(BIO *bp, X509 *x)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:76,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:78,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/t_x509.c:82,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:84,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:87,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/t_x509.c:92,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:94,1
    - Dst: ossl_serial_number_print
      Src: /src/openssl/crypto/x509/t_x509.c:96,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:98,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/openssl/crypto/x509/t_x509.c:103,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:105,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_x509.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:112,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:114,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/t_x509.c:114,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:117,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:121,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:123,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:125,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/crypto/x509/t_x509.c:125,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:127,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:129,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/t_x509.c:129,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:131,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:135,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:137,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/t_x509.c:138,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:140,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/crypto/x509/t_x509.c:144,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/t_x509.c:146,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:147,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:149,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_x509.c:151,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:153,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/t_x509.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:158,1
    - Dst: ERR_print_errors
      Src: /src/openssl/crypto/x509/t_x509.c:159,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/crypto/x509/t_x509.c:161,1
    - Dst: X509_get0_uids
      Src: /src/openssl/crypto/x509/t_x509.c:167,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:169,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/t_x509.c:171,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:175,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/t_x509.c:177,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/x509/t_x509.c:183,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/t_x509.c:184,1
    - Dst: X509_get0_signature
      Src: /src/openssl/crypto/x509/t_x509.c:190,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_x509.c:191,1
    - Dst: X509_aux_print
      Src: /src/openssl/crypto/x509/t_x509.c:195,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 147
    argCount: 4
    argNames:
    - bp
    - x
    - nmflags
    - cflag
    argTypes:
    - BIO*
    - X509*
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 201
    functionName: X509_print_ex
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 3
    functionsReached:
    - X509_get_version
    - X509_get0_notBefore
    - ossl_asn1_time_print_ex
    - X509_get0_notAfter
    - X509_aux_print
    - X509_signature_dump
    - X509_get_X509_PUBKEY
    - BIO_write
    - X509_PUBKEY_get0_param
    - X509_get0_extensions
    - X509_get0_serialNumber
    - X509V3_extensions_print
    - X509_get0_tbs_sigalg
    - BIO_printf
    - X509_get0_signature
    - X509_NAME_print_ex
    - BIO_puts
    - X509_get_issuer_name
    - X509_get0_uids
    - i2a_ASN1_OBJECT
    - ossl_serial_number_print
    - X509_get0_pubkey
    - X509_signature_print
    - EVP_PKEY_print_public
    - X509_get_subject_name
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: "int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags,\n                  unsigned
      long cflag)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:219,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/t_x509.c:221,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/t_x509.c:222,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/t_x509.c:225,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/t_x509.c:227,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/t_x509.c:229,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/t_x509.c:232,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:235,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/t_x509.c:238,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:244,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/openssl/crypto/x509/t_x509.c:247,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/t_x509.c:252,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/x509/t_x509.c:252,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/x509/t_x509.c:253,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:256,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:259,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/t_x509.c:260,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/t_x509.c:264,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/t_x509.c:265,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 203
    functionDepth: 10
    functionLinenumber: 203
    functionLinenumberEnd: 267
    functionName: X509_ocspid_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - X509_get0_pubkey_bitstr
    - X509_get_subject_name
    - ASN1_STRING_get0_data
    - ASN1_STRING_length
    - EVP_Digest
    - i2d_X509_NAME
    - BIO_printf
    - OPENSSL_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int X509_ocspid_print(BIO *bp, X509 *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:278,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/x509/t_x509.c:280,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:283,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - bp
    - sig
    - indent
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: X509_signature_dump
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int X509_signature_dump(BIO *bp, const ASN1_STRING *sig, int indent)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:299,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_x509.c:301,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:304,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/t_x509.c:307,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/t_x509.c:311,1
    - Dst: EVP_PKEY_asn1_find
      Src: /src/openssl/crypto/x509/t_x509.c:312,1
    - Dst: EVP_PKEY_ASN1_METHOD*::sig_print
      Src: /src/openssl/crypto/x509/t_x509.c:314,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:318,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/t_x509.c:321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - bp
    - sigalg
    - sig
    argTypes:
    - BIO*
    - X509_ALGOR*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 323
    functionName: X509_signature_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - X509_signature_dump
    - i2a_ASN1_OBJECT
    - EVP_PKEY_asn1_find
    - EVP_PKEY_ASN1_METHOD*::sig_print
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int X509_signature_print(BIO *bp, const X509_ALGOR *sigalg,\n                         const
      ASN1_STRING *sig)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/t_x509.c:328,1
    - Dst: X509_trusted
      Src: /src/openssl/crypto/x509/t_x509.c:332,1
    - Dst: X509_get0_trust_objects
      Src: /src/openssl/crypto/x509/t_x509.c:334,1
    - Dst: X509_get0_reject_objects
      Src: /src/openssl/crypto/x509/t_x509.c:335,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:338,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/t_x509.c:339,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:341,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/t_x509.c:344,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/t_x509.c:345,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:346,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:348,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:350,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:353,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/t_x509.c:354,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:356,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/t_x509.c:359,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/t_x509.c:360,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:361,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:363,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:365,1
    - Dst: X509_alias_get0
      Src: /src/openssl/crypto/x509/t_x509.c:366,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:368,1
    - Dst: X509_keyid_get0
      Src: /src/openssl/crypto/x509/t_x509.c:369,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:371,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:373,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_x509.c:374,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - out
    - x
    - indent
    argTypes:
    - BIO*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 377
    functionName: X509_aux_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - sk_ASN1_OBJECT_value
    - OBJ_obj2txt
    - X509_keyid_get0
    - BIO_puts
    - X509_get0_trust_objects
    - X509_get0_reject_objects
    - STACK_OF
    - X509_alias_get0
    - sk_ASN1_OBJECT_num
    - X509_trusted
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int X509_aux_print(BIO *out, X509 *x, int indent)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:389,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:390,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:391,1
    - Dst: X509_check_issued
      Src: /src/openssl/crypto/x509/t_x509.c:393,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:394,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:397,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:398,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:401,1
    - Dst: X509_cmp_current_time
      Src: /src/openssl/crypto/x509/t_x509.c:404,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/crypto/x509/t_x509.c:404,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:405,1
    - Dst: X509_cmp_current_time
      Src: /src/openssl/crypto/x509/t_x509.c:407,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/t_x509.c:407,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:408,1
    - Dst: X509_print_ex
      Src: /src/openssl/crypto/x509/t_x509.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - bio
    - cert
    - neg_cflags
    argTypes:
    - BIO*
    - X509*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 383
    functionDepth: 6
    functionLinenumber: 383
    functionLinenumberEnd: 412
    functionName: ossl_x509_print_ex_brief
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - X509_print_ex
    - X509_get0_notBefore
    - X509_cmp_current_time
    - X509_get0_notAfter
    - BIO_printf
    - X509_check_issued
    linkageType: ''
    returnType: int
    signature: int ossl_x509_print_ex_brief(BIO *bio, X509 *cert, unsigned long neg_cflags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/t_x509.c:418,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:419,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/t_x509.c:421,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/t_x509.c:422,1
    - Dst: ossl_x509_print_ex_brief
      Src: /src/openssl/crypto/x509/t_x509.c:425,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/x509/t_x509.c:427,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/t_x509.c:428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - certs
    argTypes:
    - BIO*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 414
    functionDepth: 7
    functionLinenumber: 414
    functionLinenumberEnd: 434
    functionName: print_certs
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - ossl_x509_print_ex_brief
    - X509_get0_extensions
    - sk_X509_value
    - X509V3_extensions_print
    - sk_X509_num
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int print_certs(BIO *bio, const STACK_OF(X509) *certs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/t_x509.c:439,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/crypto/x509/t_x509.c:439,1
    - Dst: print_certs
      Src: /src/openssl/crypto/x509/t_x509.c:440,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/t_x509.c:442,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bio
    - store
    argTypes:
    - BIO*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 8
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: print_store_certs
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - print_certs
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - X509_STORE_get1_all_certs
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int print_store_certs(BIO *bio, X509_STORE *store)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/crypto/x509/t_x509.c:453,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/t_x509.c:454,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/x509/t_x509.c:454,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:458,1
    - Dst: X509_STORE_CTX_get0_parent_ctx
      Src: /src/openssl/crypto/x509/t_x509.c:459,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/crypto/x509/t_x509.c:462,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/crypto/x509/t_x509.c:463,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/openssl/crypto/x509/t_x509.c:465,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/x509/t_x509.c:466,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:472,1
    - Dst: X509_VERIFY_PARAM_get0_host
      Src: /src/openssl/crypto/x509/t_x509.c:473,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:474,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:475,1
    - Dst: X509_VERIFY_PARAM_get0_email
      Src: /src/openssl/crypto/x509/t_x509.c:478,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:480,1
    - Dst: X509_VERIFY_PARAM_get1_ip_asc
      Src: /src/openssl/crypto/x509/t_x509.c:483,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:485,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/t_x509.c:486,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:493,1
    - Dst: ossl_x509_print_ex_brief
      Src: /src/openssl/crypto/x509/t_x509.c:494,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/crypto/x509/t_x509.c:494,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:503,1
    - Dst: print_certs
      Src: /src/openssl/crypto/x509/t_x509.c:504,1
    - Dst: X509_STORE_CTX_get0_untrusted
      Src: /src/openssl/crypto/x509/t_x509.c:504,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:505,1
    - Dst: print_store_certs
      Src: /src/openssl/crypto/x509/t_x509.c:506,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/openssl/crypto/x509/t_x509.c:506,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_x509.c:508,1
    - Dst: ERR_add_error_mem_bio
      Src: /src/openssl/crypto/x509/t_x509.c:509,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/t_x509.c:510,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 450
    functionDepth: 9
    functionLinenumber: 450
    functionLinenumberEnd: 514
    functionName: X509_STORE_CTX_print_verify_cb
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 0
    functionsReached:
    - ossl_x509_print_ex_brief
    - ERR_raise
    - X509_STORE_CTX_get0_parent_ctx
    - X509_STORE_CTX_get_current_cert
    - print_store_certs
    - OPENSSL_free
    - BIO_s_mem
    - X509_VERIFY_PARAM_get0_host
    - X509_VERIFY_PARAM_get1_ip_asc
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_get_error_depth
    - BIO_new
    - X509_STORE_CTX_get0_store
    - X509_VERIFY_PARAM_get0_email
    - BIO_printf
    - BIO_free
    - print_certs
    - X509_STORE_get0_param
    - ERR_add_error_mem_bio
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get0_untrusted
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_print_verify_cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_x509.c:528,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/t_x509.c:533,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/t_x509.c:534,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/t_x509.c:535,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:545,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:549,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:553,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_x509.c:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - out
    - bs
    - indent
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 560
    functionName: ossl_serial_number_print
    functionSourceFile: /src/openssl/crypto/x509/t_x509.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - ERR_pop_to_mark
    - ERR_set_mark
    - ASN1_INTEGER_get_int64
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_serial_number_print(BIO *out, const ASN1_INTEGER *bs, int
      indent)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_INTEGER_new_null
      Src: /src/openssl/crypto/x509/v3_tlsf.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_tlsf.c:99,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_tlsf.c:103,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_tlsf.c:104,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/v3_tlsf.c:110,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/x509/v3_tlsf.c:111,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/v3_tlsf.c:113,1
    - Dst: strtol
      Src: /src/openssl/crypto/x509/v3_tlsf.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_tlsf.c:119,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_tlsf.c:120,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/x509/v3_tlsf.c:125,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/v3_tlsf.c:126,1
    - Dst: sk_ASN1_INTEGER_push
      Src: /src/openssl/crypto/x509/v3_tlsf.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_tlsf.c:128,1
    - Dst: sk_ASN1_INTEGER_pop_free
      Src: /src/openssl/crypto/x509/v3_tlsf.c:137,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_tlsf.c:138,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 140
    functionName: v2i_TLS_FEATURE
    functionSourceFile: /src/openssl/crypto/x509/v3_tlsf.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_INTEGER_new_null
    - ERR_raise
    - sk_ASN1_INTEGER_pop_free
    - OPENSSL_strcasecmp
    - sk_CONF_VALUE_num
    - strtol
    - sk_ASN1_INTEGER_push
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - OSSL_NELEM
    - ASN1_INTEGER_free
    - X509V3_conf_add_error_name_value
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: TLS_FEATURE
    signature: "TLS_FEATURE *v2i_TLS_FEATURE(const X509V3_EXT_METHOD *method,\n                                    X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POLICY_CONSTRAINTS_new
      Src: /src/openssl/crypto/x509/v3_pcons.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pcons.c:64,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_pcons.c:67,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_pcons.c:68,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_pcons.c:69,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_pcons.c:70,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_pcons.c:72,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_pcons.c:73,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_pcons.c:76,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pcons.c:83,1
    - Dst: POLICY_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_pcons.c:89,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 55
    functionDepth: 8
    functionLinenumber: 55
    functionLinenumberEnd: 91
    functionName: v2i_POLICY_CONSTRAINTS
    functionSourceFile: /src/openssl/crypto/x509/v3_pcons.c
    functionUses: 0
    functionsReached:
    - POLICY_CONSTRAINTS_free
    - ERR_raise
    - sk_CONF_VALUE_num
    - ERR_raise_data
    - POLICY_CONSTRAINTS_new
    - X509V3_get_value_int
    - strcmp
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: void
    signature: "void *v2i_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD *method,\n                                    X509V3_CTX
      *ctx,\n                                    STACK_OF(CONF_VALUE) *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - su
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: i2r_GROUP_AC
    functionSourceFile: /src/openssl/crypto/x509/v3_group_ac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int i2r_GROUP_AC(X509V3_EXT_METHOD *method,\n                        void
      *su, BIO *out,\n                        int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_group_ac.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: r2i_GROUP_AC
    functionSourceFile: /src/openssl/crypto/x509/v3_group_ac.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: "void *r2i_GROUP_AC(X509V3_EXT_METHOD *method,\n                          X509V3_CTX
      *ctx, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_group_ac.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - val
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: i2s_GROUP_AC
    functionSourceFile: /src/openssl/crypto/x509/v3_group_ac.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *i2s_GROUP_AC(const X509V3_EXT_METHOD *method, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_group_ac.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: s2i_GROUP_AC
    functionSourceFile: /src/openssl/crypto/x509/v3_group_ac.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: void *s2i_GROUP_AC(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
      const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/crypto/x509/v3_skid.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - oct
    argTypes:
    - X509V3_EXT_METHOD*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: i2s_ASN1_OCTET_STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_skid.c
    functionUses: 0
    functionsReached:
    - OPENSSL_buf2hexstr
    linkageType: ''
    returnType: char
    signature: "char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,\n                            const
      ASN1_OCTET_STRING *oct)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_skid.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_skid.c:40,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/x509/v3_skid.c:44,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_skid.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 53
    functionName: s2i_ASN1_OCTET_STRING
    functionSourceFile: /src/openssl/crypto/x509/v3_skid.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - OPENSSL_hexstr2buf
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: "ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method,\n
      \                                        X509V3_CTX *ctx, const char *str)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_skid.c:67,1
    - Dst: ossl_x509_PUBKEY_get0_libctx
      Src: /src/openssl/crypto/x509/v3_skid.c:70,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/x509/v3_skid.c:72,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_skid.c:74,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/v3_skid.c:75,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/v3_skid.c:79,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/v3_skid.c:80,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_skid.c:81,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/v3_skid.c:82,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/x509/v3_skid.c:86,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_skid.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pubkey
    argTypes:
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 55
    functionDepth: 10
    functionLinenumber: 55
    functionLinenumberEnd: 89
    functionName: ossl_x509_pubkey_hash
    functionSourceFile: /src/openssl/crypto/x509/v3_skid.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - X509_PUBKEY_get0_param
    - ASN1_OCTET_STRING_set
    - ossl_x509_PUBKEY_get0_libctx
    - EVP_Digest
    - ASN1_OCTET_STRING_free
    - EVP_MD_fetch
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *ossl_x509_pubkey_hash(X509_PUBKEY *pubkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_skid.c:94,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_skid.c:95,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_skid.c:97,1
    - Dst: s2i_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/x509/v3_skid.c:98,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_skid.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_skid.c:104,1
    - Dst: ossl_x509_pubkey_hash
      Src: /src/openssl/crypto/x509/v3_skid.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 11
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: s2i_skey_id
    functionSourceFile: /src/openssl/crypto/x509/v3_skid.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_x509_pubkey_hash
    - s2i_ASN1_OCTET_STRING
    - strcmp
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: "ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method,\n                                      X509V3_CTX
      *ctx, char *str)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:85,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:86,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:91,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:92,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:94,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:96,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:97,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:99,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - method
    - iss
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ISSUER_SERIAL*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 104
    functionName: i2r_ISSUER_SERIAL
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_INTEGER
    - i2a_ASN1_STRING
    - BIO_puts
    - OSSL_GENERAL_NAMES_print
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ISSUER_SERIAL(X509V3_EXT_METHOD *method,\n                             OSSL_ISSUER_SERIAL
      *iss,\n                             BIO *out, int indent)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:118,1
    - Dst: ASN1_ENUMERATED_get_int64
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:122,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:127,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:130,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:133,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:137,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:138,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:141,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:143,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:145,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:146,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:150,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:154,1
    - Dst: EVP_PKEY_asn1_find
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:155,1
    - Dst: EVP_PKEY_ASN1_METHOD*::sig_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:157,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:161,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:164,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - method
    - odi
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_OBJECT_DIGEST_INFO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 166
    functionName: i2r_OBJECT_DIGEST_INFO
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ERR_raise
    - BIO_puts
    - X509_signature_dump
    - ASN1_ENUMERATED_get_int64
    - i2a_ASN1_OBJECT
    - EVP_PKEY_asn1_find
    - EVP_PKEY_ASN1_METHOD*::sig_print
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OBJECT_DIGEST_INFO(X509V3_EXT_METHOD *method,\n                           OSSL_OBJECT_DIGEST_INFO
      *odi,\n                           BIO *out, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:172,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:174,1
    - Dst: i2r_ISSUER_SERIAL
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:175,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:178,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:179,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:180,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:183,1
    - Dst: i2r_OBJECT_DIGEST_INFO
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:184,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - method
    - tc
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_TARGET_CERT*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 188
    functionName: i2r_TARGET_CERT
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - i2r_ISSUER_SERIAL
    - BIO_puts
    - i2r_OBJECT_DIGEST_INFO
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_TARGET_CERT(X509V3_EXT_METHOD *method,\n                           OSSL_TARGET_CERT
      *tc,\n                           BIO *out, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:196,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:197,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:201,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:202,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:203,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:206,1
    - Dst: i2r_TARGET_CERT
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - method
    - target
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_TARGET*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 211
    functionName: i2r_TARGET
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - BIO_puts
    - i2r_TARGET_CERT
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_TARGET(X509V3_EXT_METHOD *method,\n                      OSSL_TARGET
      *target,\n                      BIO *out, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_TARGET_num
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:221,1
    - Dst: sk_OSSL_TARGET_value
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:222,1
    - Dst: i2r_TARGET
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - method
    - targets
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_TARGETS*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: i2r_TARGETS
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_TARGET_value
    - i2r_TARGET
    - sk_OSSL_TARGET_num
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_TARGETS(X509V3_EXT_METHOD *method,\n                      OSSL_TARGETS
      *targets,\n                      BIO *out, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_TARGETS_num
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:235,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:236,1
    - Dst: sk_OSSL_TARGETS_value
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:237,1
    - Dst: i2r_TARGETS
      Src: /src/openssl/crypto/x509/v3_ac_tgt.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - method
    - tinfo
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_TARGETING_INFORMATION*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 6
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: i2r_TARGETING_INFORMATION
    functionSourceFile: /src/openssl/crypto/x509/v3_ac_tgt.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - sk_OSSL_TARGETS_value
    - i2r_TARGETS
    - sk_OSSL_TARGETS_num
    linkageType: ''
    returnType: int
    signature: "int i2r_TARGETING_INFORMATION(X509V3_EXT_METHOD *method,\n                                     OSSL_TARGETING_INFORMATION
      *tinfo,\n                                     BIO *out, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ok
    - e
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: null_callback
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int null_callback(int ok, X509_STORE_CTX *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:105,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/x509/x509_vfy.c:108,1
    - Dst: X509_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - cert
    - verify_signature
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: X509_self_signed
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_verify
    - ERR_raise
    - X509_get0_pubkey
    - ossl_x509v3_cache_extensions
    linkageType: ''
    returnType: int
    signature: int X509_self_signed(X509 *cert, int verify_signature)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:123,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/x509_vfy.c:129,1
    - Dst: X509_STORE_CTX*::lookup_certs
      Src: /src/openssl/crypto/x509/x509_vfy.c:130,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:130,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/x509_vfy.c:131,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:136,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:137,1
    - Dst: X509_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:138,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:144,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - result
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 151
    functionName: lookup_cert_match
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_X509_num
    - ERR_pop_to_mark
    - X509_get_subject_name
    - sk_X509_value
    - ERR_set_mark
    - X509_up_ref
    - X509_cmp
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - X509_STORE_CTX*::lookup_certs
    linkageType: ''
    returnType: int
    signature: int lookup_cert_match(X509 **result, X509_STORE_CTX *ctx, X509 *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:168,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - x
    - depth
    - err
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: verify_cb_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - X509_STORE_CTX*::verify_cb
    linkageType: ''
    returnType: int
    signature: int verify_cb_cert(X509_STORE_CTX *ctx, X509 *x, int depth, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - cond
    - ','
    - ctx
    - ','
    - cert
    - ','
    - depth
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: CB_FAIL_IF
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CB_FAIL_IF(cond, ctx, cert, depth, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: verify_cb_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX*::verify_cb
    linkageType: ''
    returnType: int
    signature: int verify_cb_crl(X509_STORE_CTX *ctx, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: verify_cb_ocsp
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX*::verify_cb
    linkageType: ''
    returnType: int
    signature: int verify_cb_ocsp(X509_STORE_CTX *ctx, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:213,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:219,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:225,1
    - Dst: check_cert_key_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:225,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:231,1
    - Dst: check_sig_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 235
    functionName: check_auth_level
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - CB_FAIL_IF
    - check_sig_level
    - sk_X509_value
    - check_cert_key_level
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int check_auth_level(X509_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX*::verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:245,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: verify_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX*::verify_cb
    - X509_STORE_CTX*::verify
    linkageType: ''
    returnType: int
    signature: int verify_rpk(X509_STORE_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: build_chain
      Src: /src/openssl/crypto/x509/x509_vfy.c:259,1
    - Dst: check_extensions
      Src: /src/openssl/crypto/x509/x509_vfy.c:260,1
    - Dst: check_auth_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:261,1
    - Dst: check_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:262,1
    - Dst: X509_get_pubkey_parameters
      Src: /src/openssl/crypto/x509/x509_vfy.c:263,1
    - Dst: X509_STORE_CTX*::check_revocation
      Src: /src/openssl/crypto/x509/x509_vfy.c:264,1
    - Dst: X509_chain_check_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:267,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:269,1
    - Dst: X509_STORE_CTX*::verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:272,1
    - Dst: internal_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:272,1
    - Dst: check_name_constraints
      Src: /src/openssl/crypto/x509/x509_vfy.c:276,1
    - Dst: X509v3_asid_validate_path
      Src: /src/openssl/crypto/x509/x509_vfy.c:281,1
    - Dst: X509v3_addr_validate_path
      Src: /src/openssl/crypto/x509/x509_vfy.c:283,1
    - Dst: X509_STORE_CTX*::check_policy
      Src: /src/openssl/crypto/x509/x509_vfy.c:289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 254
    functionDepth: 7
    functionLinenumber: 254
    functionLinenumberEnd: 291
    functionName: verify_chain
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509v3_addr_validate_path
    - X509_chain_check_suiteb
    - CB_FAIL_IF
    - X509_STORE_CTX*::check_revocation
    - internal_verify
    - X509_STORE_CTX*::verify
    - X509_get_pubkey_parameters
    - X509v3_asid_validate_path
    - check_extensions
    - check_id
    - X509_STORE_CTX*::check_policy
    - build_chain
    - check_auth_level
    - check_name_constraints
    linkageType: ''
    returnType: int
    signature: int verify_chain(X509_STORE_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:296,1
    - Dst: x509_verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:300,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:301,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:302,1
    - Dst: x509_verify_x509
      Src: /src/openssl/crypto/x509/x509_vfy.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: X509_STORE_CTX_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - x509_verify_x509
    - sk_X509_value
    - x509_verify_rpk
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_verify(X509_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:309,1
    - Dst: x509_verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:312,1
    - Dst: x509_verify_x509
      Src: /src/openssl/crypto/x509/x509_vfy.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: X509_verify_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - x509_verify_x509
    - x509_verify_rpk
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int X509_verify_cert(X509_STORE_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_key_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:324,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:325,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:331,1
    - Dst: dane_verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:331,1
    - Dst: verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 341
    functionName: x509_verify_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - verify_rpk
    - verify_cb_cert
    - check_key_level
    - DANETLS_ENABLED
    - dane_verify_rpk
    linkageType: ''
    returnType: int
    signature: int x509_verify_rpk(X509_STORE_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:362,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/x509/x509_vfy.c:367,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:374,1
    - Dst: check_cert_key_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:374,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:377,1
    - Dst: dane_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:377,1
    - Dst: verify_chain
      Src: /src/openssl/crypto/x509/x509_vfy.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 347
    functionDepth: 8
    functionLinenumber: 347
    functionLinenumberEnd: 387
    functionName: x509_verify_x509
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - CB_FAIL_IF
    - ossl_x509_add_cert_new
    - dane_verify
    - DANETLS_ENABLED
    - verify_chain
    - check_cert_key_level
    linkageType: ''
    returnType: int
    signature: int x509_verify_x509(X509_STORE_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:419,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:420,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:422,1
    - Dst: sk_X509_contains
      Src: /src/openssl/crypto/x509/x509_vfy.c:423,1
    - Dst: X509_STORE_CTX*::check_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:425,1
    - Dst: ossl_x509_signing_allowed
      Src: /src/openssl/crypto/x509/x509_vfy.c:428,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:430,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/crypto/x509/x509_vfy.c:437,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/x509_vfy.c:437,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/x509_vfy.c:438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - check_signing_allowed
    - no_dup
    - sk
    - x
    argTypes:
    - X509_STORE_CTX*
    - int
    - int
    - STACK_OF*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 443
    functionName: get0_best_issuer_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_compare
    - sk_X509_contains
    - ossl_x509_check_cert_time
    - sk_X509_value
    - X509_STORE_CTX*::check_issued
    - ossl_x509_signing_allowed
    - X509_get0_notAfter
    - sk_X509_num
    linkageType: ''
    returnType: X509
    signature: "X509 *get0_best_issuer_sk(X509_STORE_CTX *ctx, int check_signing_allowed,\n
      \                                int no_dup, STACK_OF(X509) *sk, X509 *x)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:456,1
    - Dst: X509_OBJECT_new
      Src: /src/openssl/crypto/x509/x509_vfy.c:457,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:458,1
    - Dst: ossl_x509_store_ctx_get_by_subject
      Src: /src/openssl/crypto/x509/x509_vfy.c:464,1
    - Dst: X509_STORE_CTX*::check_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:469,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:470,1
    - Dst: X509_STORE_CTX_get1_certs
      Src: /src/openssl/crypto/x509/x509_vfy.c:479,1
    - Dst: get0_best_issuer_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:481,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:484,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:485,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - issuer
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 489
    functionName: X509_STORE_CTX_get1_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - get0_best_issuer_sk
    - X509_OBJECT_free
    - X509_STORE_CTX*::check_issued
    - X509_get_issuer_name
    - ossl_x509_store_ctx_get_by_subject
    - X509_up_ref
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - X509_STORE_CTX_get1_certs
    - X509_OBJECT_new
    - ossl_x509_check_cert_time
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx,
      X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_likely_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - X509_STORE_CTX *ctx
    - x
    - issuer
    argTypes:
    - ossl_unused
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 503
    functionName: check_issued
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 3
    functionsReached:
    - ossl_x509_likely_issued
    linkageType: ''
    returnType: int
    signature: int check_issued(ossl_unused X509_STORE_CTX *ctx, X509 *x, X509 *issuer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get0_best_issuer_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:511,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - issuer
    - ctx
    - x
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: get1_best_issuer_other_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - get0_best_issuer_sk
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: int get1_best_issuer_other_sk(X509 **issuer, X509_STORE_CTX *ctx, X509
      *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:523,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/crypto/x509/x509_vfy.c:523,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:529,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:530,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:531,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:531,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:532,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - nm
    argTypes:
    - X509_STORE_CTX*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 540
    functionName: lookup_certs_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - X509_get_subject_name
    - OSSL_STACK_OF_X509_free
    - X509_NAME_cmp
    - STACK_OF
    - sk_X509_new_null
    - X509_add_cert
    - sk_X509_num
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *lookup_certs_sk(X509_STORE_CTX *ctx, const X509_NAME *nm)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:571,1
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/x509_vfy.c:579,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - x
    - purpose
    - depth
    - must_be_ca
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 592
    functionName: check_purpose
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 5
    functionsReached:
    - X509_check_purpose
    - X509_check_trust
    - verify_cb_cert
    linkageType: ''
    returnType: int
    signature: "int check_purpose(X509_STORE_CTX *ctx, X509 *x, int purpose, int depth,\n
      \                        int must_be_ca)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:603,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:627,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:628,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:631,1
    - Dst: X509_check_ca
      Src: /src/openssl/crypto/x509/x509_vfy.c:633,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:636,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:641,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:645,1
    - Dst: check_curve
      Src: /src/openssl/crypto/x509/x509_vfy.c:653,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:654,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:655,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:670,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:672,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:675,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:681,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:684,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:688,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:688,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:688,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:691,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:694,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:694,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:696,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:696,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:696,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:701,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:702,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:705,1
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:705,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:707,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:710,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/x509_vfy.c:713,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:715,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:722,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:725,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:725,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/x509/x509_vfy.c:725,1
    - Dst: check_purpose
      Src: /src/openssl/crypto/x509/x509_vfy.c:731,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:734,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:758,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 72
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 769
    functionName: check_extensions
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - CB_FAIL_IF
    - X509_get_version
    - X509_get0_extensions
    - check_purpose
    - sk_X509_value
    - X509_get_issuer_name
    - X509_check_ca
    - X509_get_subject_name
    - check_curve
    - sk_X509_EXTENSION_num
    - X509_NAME_entry_count
    - sk_GENERAL_NAME_num
    - X509_ALGOR_cmp
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int check_extensions(X509_STORE_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/x509_vfy.c:775,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:780,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:781,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - x
    - gtype
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 790
    functionName: has_san_id
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - GENERAL_NAMES_free
    linkageType: ''
    returnType: int
    signature: int has_san_id(X509 *x, int gtype)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:801,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:802,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:816,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:817,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:821,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:833,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:834,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/x509/x509_vfy.c:843,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/x509_vfy.c:843,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/x509/x509_vfy.c:844,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/x509/x509_vfy.c:844,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/x509_vfy.c:854,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:856,1
    - Dst: X509_NAME_delete_entry
      Src: /src/openssl/crypto/x509/x509_vfy.c:861,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_vfy.c:862,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/openssl/crypto/x509/x509_vfy.c:862,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:865,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:869,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:870,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:873,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:882,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:883,1
    - Dst: NAME_CONSTRAINTS_check
      Src: /src/openssl/crypto/x509/x509_vfy.c:886,1
    - Dst: has_san_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:895,1
    - Dst: NAME_CONSTRAINTS_check_CN
      Src: /src/openssl/crypto/x509/x509_vfy.c:896,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:906,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 913
    functionName: check_name_constraints
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_NAME_ENTRY_get_object
    - ERR_raise
    - X509_NAME_entry_count
    - X509_NAME_free
    - sk_X509_num
    - X509_NAME_delete_entry
    - X509_NAME_ENTRY_set
    - sk_X509_value
    - X509_NAME_dup
    - X509_NAME_get_entry
    - OBJ_obj2nid
    - X509_get_issuer_name
    - NAME_CONSTRAINTS_check_CN
    - NAME_CONSTRAINTS_check
    - X509_NAME_ENTRY_free
    - has_san_id
    - CB_FAIL_IF
    - X509_get_subject_name
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int check_name_constraints(X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - errcode
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: check_id_error
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - verify_cb_cert
    linkageType: ''
    returnType: int
    signature: int check_id_error(X509_STORE_CTX *ctx, int errcode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:923,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:927,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:931,1
    - Dst: X509_check_host
      Src: /src/openssl/crypto/x509/x509_vfy.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - x
    - vpm
    argTypes:
    - X509*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 920
    functionDepth: 4
    functionLinenumber: 920
    functionLinenumberEnd: 936
    functionName: check_hosts
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - X509_check_host
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_num
    linkageType: ''
    returnType: int
    signature: int check_hosts(X509 *x, X509_VERIFY_PARAM *vpm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_hosts
      Src: /src/openssl/crypto/x509/x509_vfy.c:943,1
    - Dst: check_id_error
      Src: /src/openssl/crypto/x509/x509_vfy.c:944,1
    - Dst: X509_check_email
      Src: /src/openssl/crypto/x509/x509_vfy.c:948,1
    - Dst: check_id_error
      Src: /src/openssl/crypto/x509/x509_vfy.c:949,1
    - Dst: X509_check_ip
      Src: /src/openssl/crypto/x509/x509_vfy.c:952,1
    - Dst: check_id_error
      Src: /src/openssl/crypto/x509/x509_vfy.c:953,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 938
    functionDepth: 5
    functionLinenumber: 938
    functionLinenumberEnd: 957
    functionName: check_id
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - check_id_error
    - check_hosts
    - X509_check_email
    - X509_check_ip
    linkageType: ''
    returnType: int
    signature: int check_id(X509_STORE_CTX *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:966,1
    - Dst: DANETLS_HAS_TA
      Src: /src/openssl/crypto/x509/x509_vfy.c:973,1
    - Dst: check_dane_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:974,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:986,1
    - Dst: X509_check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:987,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1012,1
    - Dst: lookup_cert_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:1013,1
    - Dst: X509_check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:1023,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1025,1
    - Dst: sk_X509_set
      Src: /src/openssl/crypto/x509/x509_vfy.c:1030,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1031,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:1043,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:1047,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 2
    argNames:
    - ctx
    - num_untrusted
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 960
    functionDepth: 3
    functionLinenumber: 960
    functionLinenumberEnd: 1055
    functionName: check_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 3
    functionsReached:
    - X509_check_trust
    - sk_X509_value
    - sk_X509_set
    - check_dane_issuer
    - verify_cb_cert
    - X509_free
    - DANETLS_ENABLED
    - DANETLS_HAS_TA
    - lookup_cert_match
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int check_trust(X509_STORE_CTX *ctx, int num_untrusted)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1081,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1087,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1094,1
    - Dst: check_cert_ocsp_resp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1096,1
    - Dst: verify_cb_ocsp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1103,1
    - Dst: check_cert_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1124,1
    - Dst: verify_cb_ocsp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1128,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1139,1
    - Dst: check_cert_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1158,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1165
    functionName: check_revocation
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - verify_cb_ocsp
    - sk_X509_value
    - check_cert_crl
    - check_cert_ocsp_resp
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int check_revocation(X509_STORE_CTX *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1183,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1188,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/crypto/x509/x509_vfy.c:1189,1
    - Dst: OCSP_resp_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:1190,1
    - Dst: OCSP_response_status
      Src: /src/openssl/crypto/x509/x509_vfy.c:1193,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1194,1
    - Dst: OCSP_basic_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:1199,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/crypto/x509/x509_vfy.c:1206,1
    - Dst: OCSP_SINGLERESP_get0_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:1209,1
    - Dst: OCSP_id_get0_info
      Src: /src/openssl/crypto/x509/x509_vfy.c:1210,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/crypto/x509/x509_vfy.c:1212,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:1217,1
    - Dst: OCSP_id_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1223,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1226,1
    - Dst: OCSP_resp_find_status
      Src: /src/openssl/crypto/x509/x509_vfy.c:1235,1
    - Dst: OCSP_check_validity
      Src: /src/openssl/crypto/x509/x509_vfy.c:1247,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1256,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1257,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1259
    functionName: check_cert_ocsp_resp
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - OCSP_CERTID_free
    - OCSP_resp_count
    - OCSP_check_validity
    - OCSP_SINGLERESP_get0_id
    - sk_OCSP_RESPONSE_num
    - OCSP_BASICRESP_free
    - OCSP_response_get1_basic
    - OCSP_response_status
    - sk_OCSP_RESPONSE_value
    - OCSP_basic_verify
    - OCSP_id_cmp
    - OCSP_resp_find_status
    - EVP_get_digestbyobj
    - OCSP_id_get0_info
    - OCSP_cert_to_id
    - OCSP_resp_get0
    linkageType: ''
    returnType: int
    signature: int check_cert_ocsp_resp(X509_STORE_CTX *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1268,1
    - Dst: X509_STORE_CTX*::get_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1286,1
    - Dst: get_crl_delta
      Src: /src/openssl/crypto/x509/x509_vfy.c:1288,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1291,1
    - Dst: X509_STORE_CTX*::check_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1295,1
    - Dst: X509_STORE_CTX*::check_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1300,1
    - Dst: X509_STORE_CTX*::cert_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1303,1
    - Dst: X509_STORE_CTX*::cert_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1312,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1317,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1318,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1326,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1331,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1332,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1336
    functionName: check_cert_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - verify_cb_crl
    - X509_STORE_CTX*::get_crl
    - sk_X509_value
    - X509_STORE_CTX*::cert_crl
    - X509_CRL_free
    - get_crl_delta
    - X509_STORE_CTX*::check_crl
    linkageType: ''
    returnType: int
    signature: int check_cert_crl(X509_STORE_CTX *ctx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1353,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1353,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1357,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1364,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1368,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1369,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1369,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1374,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1379,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - crl
    - notify
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1388
    functionName: check_crl_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_cmp_time
    - X509_CRL_get0_lastUpdate
    - X509_CRL_get0_nextUpdate
    - verify_cb_crl
    linkageType: ''
    returnType: int
    signature: int check_crl_time(X509_STORE_CTX *ctx, X509_CRL *crl, int notify)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1400,1
    - Dst: sk_X509_CRL_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1401,1
    - Dst: get_crl_score
      Src: /src/openssl/crypto/x509/x509_vfy.c:1403,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/crypto/x509/x509_vfy.c:1410,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1410,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:1411,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:1427,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1429,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1434,1
    - Dst: get_delta_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:1436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 7
    argNames:
    - ctx
    - pcrl
    - pdcrl
    - pissuer
    - pscore
    - preasons
    - crls
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL**
    - X509_CRL**
    - X509**
    - int*
    - unsigned int*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1390
    functionDepth: 2
    functionLinenumber: 1390
    functionLinenumberEnd: 1443
    functionName: get_crl_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_diff
    - sk_X509_CRL_num
    - get_delta_sk
    - X509_CRL_up_ref
    - X509_CRL_free
    - get_crl_score
    - X509_CRL_get0_lastUpdate
    - sk_X509_CRL_value
    linkageType: ''
    returnType: int
    signature: "int get_crl_sk(X509_STORE_CTX *ctx, X509_CRL **pcrl, X509_CRL **pdcrl,\n
      \                     X509 **pissuer, int *pscore, unsigned int *preasons,\n
      \                     STACK_OF(X509_CRL) *crls)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_vfy.c:1452,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_vfy.c:1456,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:1458,1
    - Dst: X509_CRL_get_ext
      Src: /src/openssl/crypto/x509/x509_vfy.c:1458,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_vfy.c:1461,1
    - Dst: X509_CRL_get_ext_by_NID
      Src: /src/openssl/crypto/x509/x509_vfy.c:1463,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:1465,1
    - Dst: X509_CRL_get_ext
      Src: /src/openssl/crypto/x509/x509_vfy.c:1465,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - a
    - b
    - nid
    argTypes:
    - X509_CRL*
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1449
    functionDepth: 2
    functionLinenumber: 1449
    functionLinenumberEnd: 1475
    functionName: crl_extension_match
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_CRL_get_ext
    - ASN1_OCTET_STRING_cmp
    - X509_EXTENSION_get_data
    - X509_CRL_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int crl_extension_match(X509_CRL *a, X509_CRL *b, int nid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1487,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1487,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1488,1
    - Dst: crl_extension_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:1491,1
    - Dst: crl_extension_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:1493,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1496,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - delta
    - base
    argTypes:
    - X509_CRL*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1478
    functionDepth: 3
    functionLinenumber: 1478
    functionLinenumberEnd: 1500
    functionName: check_delta_base
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - X509_CRL_get_issuer
    - ASN1_INTEGER_cmp
    - crl_extension_match
    linkageType: ''
    returnType: int
    signature: int check_delta_base(X509_CRL *delta, X509_CRL *base)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1516,1
    - Dst: sk_X509_CRL_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1517,1
    - Dst: check_delta_base
      Src: /src/openssl/crypto/x509/x509_vfy.c:1518,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:1519,1
    - Dst: check_crl_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - ctx
    - dcrl
    - pscore
    - base
    - crls
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL**
    - int*
    - X509_CRL*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1506
    functionDepth: 4
    functionLinenumber: 1506
    functionLinenumberEnd: 1533
    functionName: get_delta_sk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - sk_X509_CRL_num
    - X509_CRL_up_ref
    - check_crl_time
    - check_delta_base
    - sk_X509_CRL_value
    linkageType: ''
    returnType: void
    signature: "void get_delta_sk(X509_STORE_CTX *ctx, X509_CRL **dcrl, int *pscore,\n
      \                        X509_CRL *base, STACK_OF(X509_CRL) *crls)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1566,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:1566,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1566,1
    - Dst: check_crl_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1577,1
    - Dst: crl_akid_check
      Src: /src/openssl/crypto/x509/x509_vfy.c:1581,1
    - Dst: crl_crldp_check
      Src: /src/openssl/crypto/x509/x509_vfy.c:1588,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - pissuer
    - preasons
    - crl
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509**
    - unsigned int*
    - X509_CRL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1542
    functionDepth: 2
    functionLinenumber: 1542
    functionLinenumberEnd: 1600
    functionName: get_crl_score
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_get_issuer_name
    - check_crl_time
    - crl_akid_check
    - crl_crldp_check
    - X509_NAME_cmp
    - X509_CRL_get_issuer
    linkageType: ''
    returnType: int
    signature: "int get_crl_score(X509_STORE_CTX *ctx, X509 **pissuer,\n                         unsigned
      int *preasons, X509_CRL *crl, X509 *x)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1606,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1610,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1613,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/x509_vfy.c:1615,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1623,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1624,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1625,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:1625,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/x509_vfy.c:1627,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1642,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1643,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1644,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:1644,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/x509_vfy.c:1646,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - crl
    - pissuer
    - pcrl_score
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    - X509**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1652
    functionName: crl_akid_check
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - sk_X509_value
    - X509_get_subject_name
    - X509_NAME_cmp
    - X509_CRL_get_issuer
    - sk_X509_num
    - X509_check_akid
    linkageType: ''
    returnType: void
    signature: "void crl_akid_check(X509_STORE_CTX *ctx, X509_CRL *crl,\n                           X509
      **pissuer, int *pcrl_score)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/x509/x509_vfy.c:1668,1
    - Dst: X509_STORE_CTX_set0_param
      Src: /src/openssl/crypto/x509/x509_vfy.c:1673,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:1679,1
    - Dst: check_crl_chain
      Src: /src/openssl/crypto/x509/x509_vfy.c:1684,1
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/crypto/x509/x509_vfy.c:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1688
    functionName: check_crl_path
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_set0_param
    - X509_STORE_CTX_cleanup
    - check_crl_chain
    - X509_verify_cert
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int check_crl_path(X509_STORE_CTX *ctx, X509 *x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1731,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1746,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1747,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1750,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1758,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1759,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1760,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1761,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1762,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - DIST_POINT_NAME*
    - DIST_POINT_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1715
    functionDepth: 3
    functionLinenumber: 1715
    functionLinenumberEnd: 1769
    functionName: idp_check_dp
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - GENERAL_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int idp_check_dp(DIST_POINT_NAME *a, DIST_POINT_NAME *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1774,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1779,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1780,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - dp
    - crl
    - crl_score
    argTypes:
    - DIST_POINT*
    - X509_CRL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1788
    functionName: crldp_check_crlissuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - X509_CRL_get_issuer
    - sk_GENERAL_NAME_num
    linkageType: ''
    returnType: int
    signature: int crldp_check_crlissuer(DIST_POINT *dp, X509_CRL *crl, int crl_score)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_DIST_POINT_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1806,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1807,1
    - Dst: crldp_check_crlissuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:1809,1
    - Dst: idp_check_dp
      Src: /src/openssl/crypto/x509/x509_vfy.c:1811,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - x
    - crl
    - crl_score
    - preasons
    argTypes:
    - X509*
    - X509_CRL*
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1791
    functionDepth: 4
    functionLinenumber: 1791
    functionLinenumberEnd: 1819
    functionName: crl_crldp_check
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - sk_DIST_POINT_value
    - crldp_check_crlissuer
    - sk_DIST_POINT_num
    - idp_check_dp
    linkageType: ''
    returnType: int
    signature: "int crl_crldp_check(X509 *x, X509_CRL *crl, int crl_score,\n                           unsigned
      int *preasons)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:1833,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:1834,1
    - Dst: get_crl_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:1837,1
    - Dst: X509_STORE_CTX*::lookup_crls
      Src: /src/openssl/crypto/x509/x509_vfy.c:1843,1
    - Dst: get_crl_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:1849,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:1851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - ctx
    - pcrl
    - pdcrl
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL**
    - X509_CRL**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1825
    functionDepth: 3
    functionLinenumber: 1825
    functionLinenumberEnd: 1864
    functionName: get_crl_delta
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - sk_X509_CRL_pop_free
    - X509_STORE_CTX*::lookup_crls
    - X509_get_issuer_name
    - STACK_OF
    - get_crl_sk
    linkageType: ''
    returnType: int
    signature: "int get_crl_delta(X509_STORE_CTX *ctx,\n                         X509_CRL
      **pcrl, X509_CRL **pdcrl, X509 *x)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:1872,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1882,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:1884,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:1885,1
    - Dst: X509_STORE_CTX*::check_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:1888,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1889,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1903,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1907,1
    - Dst: check_crl_path
      Src: /src/openssl/crypto/x509/x509_vfy.c:1911,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1912,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1916,1
    - Dst: check_crl_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:1921,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:1925,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1927,1
    - Dst: X509_CRL_check_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:1931,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1933,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:1936,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1937,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - crl
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1867
    functionDepth: 7
    functionLinenumber: 1867
    functionLinenumberEnd: 1941
    functionName: check_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - check_crl_path
    - ossl_assert
    - verify_cb_crl
    - X509_CRL_check_suiteb
    - X509_get0_pubkey
    - sk_X509_value
    - X509_STORE_CTX*::check_issued
    - check_crl_time
    - X509_CRL_verify
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int check_crl(X509_STORE_CTX *ctx, X509_CRL *crl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1956,1
    - Dst: X509_CRL_get0_by_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:1962,1
    - Dst: verify_cb_crl
      Src: /src/openssl/crypto/x509/x509_vfy.c:1965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - crl
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509_CRL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1970
    functionName: cert_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - X509_CRL_get0_by_cert
    - verify_cb_crl
    linkageType: ''
    returnType: int
    signature: int cert_crl(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_push
      Src: /src/openssl/crypto/x509/x509_vfy.c:1990,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:1991,1
    - Dst: X509_policy_check
      Src: /src/openssl/crypto/x509/x509_vfy.c:1994,1
    - Dst: sk_X509_pop
      Src: /src/openssl/crypto/x509/x509_vfy.c:1997,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2000,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:2008,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2009,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2013,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2018,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:2027,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2030,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:2042,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 1973
    functionDepth: 7
    functionLinenumber: 1973
    functionLinenumberEnd: 2051
    functionName: check_policy
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_policy_check
    - X509_STORE_CTX*::verify_cb
    - ERR_raise
    - CB_FAIL_IF
    - sk_X509_value
    - sk_X509_push
    - sk_X509_pop
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int check_policy(X509_STORE_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2073,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/crypto/x509/x509_vfy.c:2073,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2076,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2077,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2079,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/x509/x509_vfy.c:2079,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2082,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - x
    - depth
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2061
    functionDepth: 1
    functionLinenumber: 2061
    functionLinenumberEnd: 2085
    functionName: ossl_x509_check_cert_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - X509_cmp_time
    - X509_get0_notBefore
    - X509_get0_notAfter
    - CB_FAIL_IF
    linkageType: ''
    returnType: int
    signature: int ossl_x509_check_cert_time(X509_STORE_CTX *ctx, X509 *x, int depth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:2099,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:2103,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2104,1
    - Dst: ossl_x509_likely_issued
      Src: /src/openssl/crypto/x509/x509_vfy.c:2115,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2121,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2123,1
    - Dst: ossl_x509_signing_allowed
      Src: /src/openssl/crypto/x509/x509_vfy.c:2174,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2176,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:2177,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2178,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2181,1
    - Dst: X509_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:2181,1
    - Dst: ossl_x509_check_cert_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2188,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:2198,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2203,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2091
    functionDepth: 2
    functionLinenumber: 2091
    functionLinenumberEnd: 2207
    functionName: internal_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_verify
    - X509_STORE_CTX*::verify_cb
    - ossl_x509_likely_issued
    - ossl_x509_check_cert_time
    - CB_FAIL_IF
    - X509_get0_pubkey
    - sk_X509_value
    - ossl_x509_signing_allowed
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int internal_verify(X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctm
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2209
    functionDepth: 1
    functionLinenumber: 2209
    functionLinenumberEnd: 2212
    functionName: X509_cmp_current_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_cmp_time
    linkageType: ''
    returnType: int
    signature: int X509_cmp_current_time(const ASN1_TIME *ctm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/x509/x509_vfy.c:2257,1
    - Dst: X509_time_adj
      Src: /src/openssl/crypto/x509/x509_vfy.c:2268,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/crypto/x509/x509_vfy.c:2271,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2281,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - ctm
    - cmp_time
    argTypes:
    - ASN1_TIME*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2215
    functionDepth: 2
    functionLinenumber: 2215
    functionLinenumberEnd: 2283
    functionName: X509_cmp_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 3
    functionsReached:
    - ASN1_TIME_diff
    - X509_time_adj
    - ossl_ascii_isdigit
    - ASN1_TIME_free
    linkageType: ''
    returnType: int
    signature: int X509_cmp_time(const ASN1_TIME *ctm, time_t *cmp_time)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/openssl/crypto/x509/x509_vfy.c:2294,1
    - Dst: X509_VERIFY_PARAM_get_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2297,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2303,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - vpm
    - start
    - end
    argTypes:
    - X509_VERIFY_PARAM*
    - ASN1_TIME*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2289
    functionDepth: 3
    functionLinenumber: 2289
    functionLinenumberEnd: 2308
    functionName: X509_cmp_timeframe
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_cmp_time
    - X509_VERIFY_PARAM_get_flags
    - X509_VERIFY_PARAM_get_time
    linkageType: ''
    returnType: int
    signature: "int X509_cmp_timeframe(const X509_VERIFY_PARAM *vpm,\n                       const
      ASN1_TIME *start, const ASN1_TIME *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_time_adj
      Src: /src/openssl/crypto/x509/x509_vfy.c:2312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - adj
    argTypes:
    - ASN1_TIME*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2310
    functionDepth: 1
    functionLinenumber: 2310
    functionLinenumberEnd: 2313
    functionName: X509_gmtime_adj
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 3
    functionsReached:
    - X509_time_adj
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_time_adj_ex
      Src: /src/openssl/crypto/x509/x509_vfy.c:2317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - offset_sec
    - in_tm
    argTypes:
    - ASN1_TIME*
    - long
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2315
    functionDepth: 1
    functionLinenumber: 2315
    functionLinenumberEnd: 2318
    functionName: X509_time_adj
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 3
    functionsReached:
    - X509_time_adj_ex
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *X509_time_adj(ASN1_TIME *s, long offset_sec, time_t *in_tm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2328,1
    - Dst: ASN1_UTCTIME_adj
      Src: /src/openssl/crypto/x509/x509_vfy.c:2332,1
    - Dst: ASN1_GENERALIZEDTIME_adj
      Src: /src/openssl/crypto/x509/x509_vfy.c:2334,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/crypto/x509/x509_vfy.c:2336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - s
    - offset_day
    - offset_sec
    - in_tm
    argTypes:
    - ASN1_TIME*
    - int
    - long
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2320
    functionDepth: 1
    functionLinenumber: 2320
    functionLinenumberEnd: 2337
    functionName: X509_time_adj_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - time
    - ASN1_GENERALIZEDTIME_adj
    - ASN1_UTCTIME_adj
    - ASN1_TIME_adj
    linkageType: ''
    returnType: ASN1_TIME
    signature: "ASN1_TIME *X509_time_adj_ex(ASN1_TIME *s,\n                            int
      offset_day, long offset_sec, time_t *in_tm)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:2384,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2393,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:2397,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:2397,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:2398,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2399,1
    - Dst: crl_extension_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:2403,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2404,1
    - Dst: crl_extension_match
      Src: /src/openssl/crypto/x509/x509_vfy.c:2407,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2408,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:2412,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2413,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:2417,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:2418,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2419,1
    - Dst: X509_CRL_new_ex
      Src: /src/openssl/crypto/x509/x509_vfy.c:2423,1
    - Dst: X509_CRL_set_version
      Src: /src/openssl/crypto/x509/x509_vfy.c:2424,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2425,1
    - Dst: X509_CRL_set_issuer_name
      Src: /src/openssl/crypto/x509/x509_vfy.c:2429,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:2429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2430,1
    - Dst: X509_CRL_set1_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:2434,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:2434,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2435,1
    - Dst: X509_CRL_set1_nextUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:2438,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/crypto/x509/x509_vfy.c:2438,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2439,1
    - Dst: X509_CRL_add1_ext_i2d
      Src: /src/openssl/crypto/x509/x509_vfy.c:2444,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2445,1
    - Dst: X509_CRL_get_ext_count
      Src: /src/openssl/crypto/x509/x509_vfy.c:2453,1
    - Dst: X509_CRL_get_ext
      Src: /src/openssl/crypto/x509/x509_vfy.c:2454,1
    - Dst: X509_CRL_add_ext
      Src: /src/openssl/crypto/x509/x509_vfy.c:2456,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2457,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/openssl/crypto/x509/x509_vfy.c:2463,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:2465,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:2468,1
    - Dst: X509_CRL_get0_by_serial
      Src: /src/openssl/crypto/x509/x509_vfy.c:2474,1
    - Dst: X509_REVOKED_dup
      Src: /src/openssl/crypto/x509/x509_vfy.c:2475,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2477,1
    - Dst: X509_CRL_add0_revoked
      Src: /src/openssl/crypto/x509/x509_vfy.c:2480,1
    - Dst: X509_REVOKED_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2481,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2482,1
    - Dst: X509_CRL_sign
      Src: /src/openssl/crypto/x509/x509_vfy.c:2488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2489,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2496,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 91
    argCount: 5
    argNames:
    - base
    - newer
    - skey
    - md
    - flags
    argTypes:
    - X509_CRL*
    - X509_CRL*
    - EVP_PKEY*
    - EVP_MD*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2379
    functionDepth: 3
    functionLinenumber: 2379
    functionLinenumberEnd: 2498
    functionName: X509_CRL_diff
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_CRL_set_issuer_name
    - X509_CRL_get_REVOKED
    - X509_CRL_add0_revoked
    - X509_CRL_free
    - X509_CRL_get0_by_serial
    - X509_CRL_add_ext
    - X509_CRL_new_ex
    - X509_CRL_get_ext
    - sk_X509_REVOKED_num
    - X509_CRL_get0_nextUpdate
    - X509_REVOKED_free
    - ASN1_INTEGER_cmp
    - X509_REVOKED_dup
    - STACK_OF
    - X509_CRL_sign
    - X509_CRL_get0_lastUpdate
    - sk_X509_REVOKED_value
    - X509_CRL_set1_nextUpdate
    - X509_NAME_cmp
    - X509_CRL_get_issuer
    - X509_CRL_set_version
    - X509_CRL_set1_lastUpdate
    - crl_extension_match
    - X509_CRL_verify
    - X509_CRL_get_ext_count
    - X509_CRL_add1_ext_i2d
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer,\n                        EVP_PKEY
      *skey, const EVP_MD *md, unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:2502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - idx
    - data
    argTypes:
    - X509_STORE_CTX*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2500
    functionDepth: 1
    functionLinenumber: 2500
    functionLinenumberEnd: 2503
    functionName: X509_STORE_CTX_set_ex_data
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:2507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2508
    functionName: X509_STORE_CTX_get_ex_data
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *X509_STORE_CTX_get_ex_data(const X509_STORE_CTX *ctx, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2513
    functionName: X509_STORE_CTX_get_error
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_get_error(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2518
    functionName: X509_STORE_CTX_set_error
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2523
    functionName: X509_STORE_CTX_get_error_depth
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_get_error_depth(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2528
    functionName: X509_STORE_CTX_set_error_depth
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2533
    functionName: X509_STORE_CTX_get_current_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 *X509_STORE_CTX_get_current_cert(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2535
    functionDepth: 0
    functionLinenumber: 2535
    functionLinenumberEnd: 2538
    functionName: X509_STORE_CTX_set_current_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2555
    functionName: X509_STORE_CTX_get0_current_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 *X509_STORE_CTX_get0_current_issuer(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2560
    functionName: X509_STORE_CTX_get0_current_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *X509_STORE_CTX_get0_current_crl(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: X509_STORE_CTX_get0_parent_ctx
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX
    signature: X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2570
    functionName: X509_STORE_CTX_set_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - rpk
    argTypes:
    - X509_STORE_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2575
    functionName: X509_STORE_CTX_set0_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set0_rpk(X509_STORE_CTX *ctx, EVP_PKEY *rpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_purpose_inherit
      Src: /src/openssl/crypto/x509/x509_vfy.c:2596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - purpose
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2597
    functionName: X509_STORE_CTX_set_purpose
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_purpose_inherit
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_purpose_inherit
      Src: /src/openssl/crypto/x509/x509_vfy.c:2605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - trust
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2599
    functionDepth: 1
    functionLinenumber: 2599
    functionLinenumberEnd: 2606
    functionName: X509_STORE_CTX_set_trust
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_purpose_inherit
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:2636,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2638,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/x509_vfy.c:2641,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:2643,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2645,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/x509_vfy.c:2648,1
    - Dst: X509_TRUST_get_by_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:2655,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:2657,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - ctx
    - def_purpose
    - purpose
    - trust
    argTypes:
    - X509_STORE_CTX*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2618
    functionDepth: 1
    functionLinenumber: 2618
    functionLinenumberEnd: 2667
    functionName: X509_STORE_CTX_purpose_inherit
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - X509_PURPOSE_get0
    - ERR_raise
    - X509_PURPOSE_get_by_id
    - X509_TRUST_get_by_id
    linkageType: ''
    returnType: int
    signature: "int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose,\n
      \                                  int purpose, int trust)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x509_vfy.c:2671,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x509_vfy.c:2678,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2686
    functionName: X509_STORE_CTX_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: X509_STORE_CTX
    signature: X509_STORE_CTX *X509_STORE_CTX_new_ex(OSSL_LIB_CTX *libctx, const char
      *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/crypto/x509/x509_vfy.c:2690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2688
    functionDepth: 1
    functionLinenumber: 2688
    functionLinenumberEnd: 2691
    functionName: X509_STORE_CTX_new
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_new_ex
    linkageType: ''
    returnType: X509_STORE_CTX
    signature: X509_STORE_CTX *X509_STORE_CTX_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_cleanup
      Src: /src/openssl/crypto/x509/x509_vfy.c:2698,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2701,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2693
    functionDepth: 1
    functionLinenumber: 2693
    functionLinenumberEnd: 2703
    functionName: X509_STORE_CTX_free
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - X509_STORE_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_free(X509_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/x509/x509_vfy.c:2707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - store
    - rpk
    argTypes:
    - X509_STORE_CTX*
    - X509_STORE*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2711
    functionName: X509_STORE_CTX_init_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_init_rpk(X509_STORE_CTX *ctx, X509_STORE *store,
      EVP_PKEY *rpk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX*::cleanup
      Src: /src/openssl/crypto/x509/x509_vfy.c:2870,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2875,1
    - Dst: X509_policy_tree_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2878,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:2880,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:2882,1
    - Dst: memset
      Src: /src/openssl/crypto/x509/x509_vfy.c:2883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2860
    functionDepth: 2
    functionLinenumber: 2860
    functionLinenumberEnd: 2884
    functionName: X509_STORE_CTX_cleanup
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - X509_VERIFY_PARAM_free
    - memset
    - X509_STORE_CTX*::cleanup
    - OSSL_STACK_OF_X509_free
    - X509_policy_tree_free
    - CRYPTO_free_ex_data
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/crypto/x509/x509_vfy.c:2888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2886
    functionDepth: 1
    functionLinenumber: 2886
    functionLinenumberEnd: 2889
    functionName: X509_STORE_CTX_set_depth
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_depth
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/crypto/x509/x509_vfy.c:2893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - X509_STORE_CTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2891
    functionDepth: 1
    functionLinenumber: 2891
    functionLinenumberEnd: 2894
    functionName: X509_STORE_CTX_set_flags
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_flags
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/crypto/x509/x509_vfy.c:2899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - flags
    - t
    argTypes:
    - X509_STORE_CTX*
    - unsigned long
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2896
    functionDepth: 1
    functionLinenumber: 2896
    functionLinenumberEnd: 2900
    functionName: X509_STORE_CTX_set_time
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_time
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags,\n
      \                            time_t t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - current_reasons
    argTypes:
    - X509_STORE_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2902
    functionDepth: 0
    functionLinenumber: 2902
    functionLinenumberEnd: 2906
    functionName: X509_STORE_CTX_set_current_reasons
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_CTX_set_current_reasons(X509_STORE_CTX *ctx,\n                                        unsigned
      int current_reasons)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2911
    functionName: X509_STORE_CTX_get0_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2916
    functionName: X509_STORE_CTX_get0_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *X509_STORE_CTX_get0_rpk(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - verify_cb
    argTypes:
    - X509_STORE_CTX*
    - X509_STORE_CTX_verify_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 2938
    functionName: X509_STORE_CTX_set_verify_cb
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,\n                                  X509_STORE_CTX_verify_cb
      verify_cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2943
    functionName: X509_STORE_CTX_get_verify_cb
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_verify_cb
    signature: X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - verify
    argTypes:
    - X509_STORE_CTX*
    - X509_STORE_CTX_verify_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 2949
    functionName: X509_STORE_CTX_set_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx,\n                               X509_STORE_CTX_verify_fn
      verify)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2954
    functionName: X509_STORE_CTX_get_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_verify_fn
    signature: X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2960
    functionName: X509_STORE_CTX_get_get_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_get_issuer_fn
    signature: X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2966
    functionName: X509_STORE_CTX_get_check_issued
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_issued_fn
    signature: X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(const
      X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2972
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2972
    functionName: X509_STORE_CTX_get_check_revocation
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_revocation_fn
    signature: X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(const
      X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2974
    functionDepth: 0
    functionLinenumber: 2974
    functionLinenumberEnd: 2977
    functionName: X509_STORE_CTX_get_get_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_get_crl_fn
    signature: X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - get_crl
    argTypes:
    - X509_STORE_CTX*
    - X509_STORE_CTX_get_crl_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2983
    functionName: X509_STORE_CTX_set_get_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_STORE_CTX_set_get_crl(X509_STORE_CTX *ctx,\n                                X509_STORE_CTX_get_crl_fn
      get_crl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 2989
    functionName: X509_STORE_CTX_get_check_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_crl_fn
    signature: X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2991
    functionDepth: 0
    functionLinenumber: 2991
    functionLinenumberEnd: 2995
    functionName: X509_STORE_CTX_get_cert_crl
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_cert_crl_fn
    signature: X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3001
    functionName: X509_STORE_CTX_get_check_policy
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_check_policy_fn
    signature: X509_STORE_CTX_check_policy_fn X509_STORE_CTX_get_check_policy(const
      X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3007
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3007
    functionName: X509_STORE_CTX_get_lookup_certs
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_lookup_certs_fn
    signature: X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(const
      X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3013
    functionName: X509_STORE_CTX_get_lookup_crls
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_lookup_crls_fn
    signature: X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(const
      X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3018
    functionName: X509_STORE_CTX_get_cleanup
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE_CTX_cleanup_fn
    signature: X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 3020
    functionDepth: 0
    functionLinenumber: 3020
    functionLinenumberEnd: 3023
    functionName: X509_STORE_CTX_get0_policy_tree
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_POLICY_TREE
    signature: X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(const X509_STORE_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3025
    functionDepth: 0
    functionLinenumber: 3025
    functionLinenumberEnd: 3028
    functionName: X509_STORE_CTX_get_explicit_policy
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_get_explicit_policy(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3033
    functionName: X509_STORE_CTX_get_num_untrusted
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_get_num_untrusted(const X509_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_lookup
      Src: /src/openssl/crypto/x509/x509_vfy.c:3039,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509_vfy.c:3041,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/crypto/x509/x509_vfy.c:3044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - X509_STORE_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3035
    functionDepth: 2
    functionLinenumber: 3035
    functionLinenumberEnd: 3045
    functionName: X509_STORE_CTX_set_default
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_lookup
    - X509_VERIFY_PARAM_inherit
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3050
      start: 3047
    functionDepth: 0
    functionLinenumber: 3047
    functionLinenumberEnd: 3050
    functionName: X509_STORE_CTX_get0_param
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_VERIFY_PARAM
    signature: X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(const X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - X509_STORE_CTX*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 3052
    functionDepth: 1
    functionLinenumber: 3052
    functionLinenumberEnd: 3056
    functionName: X509_STORE_CTX_set0_param
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_VERIFY_PARAM_free
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM
      *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - dane
    argTypes:
    - X509_STORE_CTX*
    - SSL_DANE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3058
    functionDepth: 0
    functionLinenumber: 3058
    functionLinenumberEnd: 3061
    functionName: X509_STORE_CTX_set0_dane
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx, SSL_DANE *dane)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509
      Src: /src/openssl/crypto/x509/x509_vfy.c:3074,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/crypto/x509/x509_vfy.c:3077,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/crypto/x509/x509_vfy.c:3077,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3080,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cert
    - selector
    - i2dlen
    argTypes:
    - X509*
    - uint8_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3091
      start: 3063
    functionDepth: 1
    functionLinenumber: 3063
    functionLinenumberEnd: 3091
    functionName: dane_i2d
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - i2d_X509
    - i2d_X509_PUBKEY
    - ERR_raise
    - X509_get_X509_PUBKEY
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *dane_i2d(X509 *cert, uint8_t selector,\n                               unsigned
      int *i2dlen)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sk_danetls_record_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3156,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3158,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/openssl/crypto/x509/x509_vfy.c:3159,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3172,1
    - Dst: dane_i2d
      Src: /src/openssl/crypto/x509/x509_vfy.c:3173,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/x509_vfy.c:3206,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:3219,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/openssl/crypto/x509/x509_vfy.c:3220,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/x509/x509_vfy.c:3223,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3228,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3238,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - cert
    - depth
    argTypes:
    - X509_STORE_CTX*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3096
    functionDepth: 9
    functionLinenumber: 3096
    functionLinenumberEnd: 3240
    functionName: dane_match_cert
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - memcmp
    - sk_danetls_record_num
    - DANETLS_USAGE_BIT
    - EVP_Digest
    - X509_up_ref
    - OPENSSL_free
    - dane_i2d
    - sk_danetls_record_value
    linkageType: ''
    returnType: int
    signature: int dane_match_cert(X509_STORE_CTX *ctx, X509 *cert, int depth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DANETLS_HAS_TA
      Src: /src/openssl/crypto/x509/x509_vfy.c:3249,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3257,1
    - Dst: dane_match_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3266
      start: 3243
    functionDepth: 10
    functionLinenumber: 3243
    functionLinenumberEnd: 3266
    functionName: check_dane_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - sk_X509_value
    - DANETLS_HAS_TA
    - dane_match_cert
    linkageType: ''
    returnType: int
    signature: int check_dane_issuer(X509_STORE_CTX *ctx, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3273,1
    - Dst: sk_danetls_record_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3274,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3278,1
    - Dst: X509_verify
      Src: /src/openssl/crypto/x509/x509_vfy.c:3282,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3286,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3295,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3297,1
    - Dst: sk_X509_pop
      Src: /src/openssl/crypto/x509/x509_vfy.c:3297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3268
    functionDepth: 2
    functionLinenumber: 3268
    functionLinenumberEnd: 3303
    functionName: check_dane_pkeys
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_verify
    - sk_X509_value
    - sk_danetls_record_num
    - X509_free
    - sk_X509_pop
    - sk_X509_num
    - sk_danetls_record_value
    linkageType: ''
    returnType: int
    signature: int check_dane_pkeys(X509_STORE_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_danetls_record_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3320,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/x509/x509_vfy.c:3325,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3331,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/x509/x509_vfy.c:3344,1
    - Dst: memcmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:3350,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3357,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - rpk
    argTypes:
    - X509_STORE_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3309
    functionDepth: 12
    functionLinenumber: 3309
    functionLinenumberEnd: 3359
    functionName: dane_match_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - memcmp
    - sk_danetls_record_num
    - EVP_Digest
    - OPENSSL_free
    - i2d_PUBKEY
    - sk_danetls_record_value
    linkageType: ''
    returnType: int
    signature: int dane_match_rpk(X509_STORE_CTX *ctx, EVP_PKEY *rpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dane
    argTypes:
    - SSL_DANE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3361
    functionDepth: 1
    functionLinenumber: 3361
    functionLinenumberEnd: 3369
    functionName: dane_reset
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void dane_reset(SSL_DANE *dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_chain_check_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:3374,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3372
    functionDepth: 7
    functionLinenumber: 3372
    functionLinenumberEnd: 3378
    functionName: check_leaf_suiteb
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - X509_chain_check_suiteb
    - CB_FAIL_IF
    linkageType: ''
    returnType: int
    signature: int check_leaf_suiteb(X509_STORE_CTX *ctx, X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dane_reset
      Src: /src/openssl/crypto/x509/x509_vfy.c:3386,1
    - Dst: dane_match_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:3394,1
    - Dst: verify_rpk
      Src: /src/openssl/crypto/x509/x509_vfy.c:3407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3381
    functionDepth: 13
    functionLinenumber: 3381
    functionLinenumberEnd: 3408
    functionName: dane_verify_rpk
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - verify_rpk
    - dane_reset
    - dane_match_rpk
    linkageType: ''
    returnType: int
    signature: int dane_verify_rpk(X509_STORE_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dane_reset
      Src: /src/openssl/crypto/x509/x509_vfy.c:3418,1
    - Dst: dane_match_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3432,1
    - Dst: DANETLS_HAS_TA
      Src: /src/openssl/crypto/x509/x509_vfy.c:3433,1
    - Dst: X509_get_pubkey_parameters
      Src: /src/openssl/crypto/x509/x509_vfy.c:3435,1
    - Dst: check_leaf_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:3440,1
    - Dst: check_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:3444,1
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/crypto/x509/x509_vfy.c:3449,1
    - Dst: check_leaf_suiteb
      Src: /src/openssl/crypto/x509/x509_vfy.c:3461,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3463,1
    - Dst: verify_chain
      Src: /src/openssl/crypto/x509/x509_vfy.c:3470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3471
      start: 3411
    functionDepth: 10
    functionLinenumber: 3411
    functionLinenumberEnd: 3471
    functionName: dane_verify
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - dane_reset
    - X509_STORE_CTX*::verify_cb
    - dane_match_cert
    - check_leaf_suiteb
    - X509_get_pubkey_parameters
    - verify_cb_cert
    - check_id
    - DANETLS_HAS_TA
    - verify_chain
    linkageType: ''
    returnType: int
    signature: int dane_verify(X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3479,1
    - Dst: X509_STORE_CTX*::get_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:3483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - issuer
    - ctx
    - cert
    argTypes:
    - X509**
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3487
      start: 3477
    functionDepth: 1
    functionLinenumber: 3477
    functionLinenumberEnd: 3487
    functionName: get1_trusted_issuer
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - X509_STORE_CTX*::get_issuer
    linkageType: ''
    returnType: int
    signature: int get1_trusted_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *cert)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3496,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3497,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3508,1
    - Dst: DANETLS_HAS_PKIX
      Src: /src/openssl/crypto/x509/x509_vfy.c:3523,1
    - Dst: DANETLS_HAS_DANE
      Src: /src/openssl/crypto/x509/x509_vfy.c:3523,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/crypto/x509/x509_vfy.c:3532,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3533,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:3541,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/x509/x509_vfy.c:3542,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3543,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/x509/x509_vfy.c:3552,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3553,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3574,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3610,1
    - Dst: get1_trusted_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:3613,1
    - Dst: X509_self_signed
      Src: /src/openssl/crypto/x509/x509_vfy.c:3622,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3625,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3643,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3644,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3649,1
    - Dst: sk_X509_pop
      Src: /src/openssl/crypto/x509/x509_vfy.c:3649,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:3652,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3655,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:3658,1
    - Dst: sk_X509_push
      Src: /src/openssl/crypto/x509/x509_vfy.c:3665,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3666,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3667,1
    - Dst: X509_self_signed
      Src: /src/openssl/crypto/x509/x509_vfy.c:3670,1
    - Dst: X509_cmp
      Src: /src/openssl/crypto/x509/x509_vfy.c:3679,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3681,1
    - Dst: X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3688,1
    - Dst: sk_X509_set
      Src: /src/openssl/crypto/x509/x509_vfy.c:3690,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3708,1
    - Dst: check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:3711,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3743,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3744,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3746,1
    - Dst: X509_self_signed
      Src: /src/openssl/crypto/x509/x509_vfy.c:3747,1
    - Dst: get0_best_issuer_sk
      Src: /src/openssl/crypto/x509/x509_vfy.c:3748,1
    - Dst: sk_X509_delete_ptr
      Src: /src/openssl/crypto/x509/x509_vfy.c:3762,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3765,1
    - Dst: check_dane_issuer
      Src: /src/openssl/crypto/x509/x509_vfy.c:3771,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3776,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/x509_vfy.c:3785,1
    - Dst: DANETLS_HAS_DANE_TA
      Src: /src/openssl/crypto/x509/x509_vfy.c:3787,1
    - Dst: check_dane_pkeys
      Src: /src/openssl/crypto/x509/x509_vfy.c:3788,1
    - Dst: check_trust
      Src: /src/openssl/crypto/x509/x509_vfy.c:3790,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3808,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3812,1
    - Dst: CB_FAIL_IF
      Src: /src/openssl/crypto/x509/x509_vfy.c:3814,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/crypto/x509/x509_vfy.c:3814,1
    - Dst: DANETLS_HAS_PKIX
      Src: /src/openssl/crypto/x509/x509_vfy.c:3815,1
    - Dst: X509_self_signed
      Src: /src/openssl/crypto/x509/x509_vfy.c:3817,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/x509/x509_vfy.c:3817,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3818,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/x509/x509_vfy.c:3822,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_vfy.c:3829,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3831,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/x509/x509_vfy.c:3836,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 179
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3493
    functionDepth: 11
    functionLinenumber: 3493
    functionLinenumberEnd: 3838
    functionName: build_chain
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - check_trust
    - X509_cmp
    - X509_free
    - verify_cb_cert
    - sk_X509_pop
    - X509_self_signed
    - sk_X509_num
    - ossl_assert
    - DANETLS_HAS_DANE_TA
    - sk_X509_value
    - sk_X509_push
    - X509_add_certs
    - get0_best_issuer_sk
    - DANETLS_HAS_DANE
    - check_dane_issuer
    - sk_X509_delete_ptr
    - check_dane_pkeys
    - STACK_OF
    - DANETLS_ENABLED
    - DANETLS_HAS_PKIX
    - CB_FAIL_IF
    - sk_X509_free
    - sk_X509_set
    - get1_trusted_issuer
    - sk_X509_new_null
    - X509_add_cert
    linkageType: ''
    returnType: int
    signature: int build_chain(X509_STORE_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/crypto/x509/x509_vfy.c:3913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - X509_STORE_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3914
      start: 3893
    functionDepth: 1
    functionLinenumber: 3893
    functionLinenumberEnd: 3914
    functionName: check_key_level
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_get_security_bits
    linkageType: ''
    returnType: int
    signature: int check_key_level(X509_STORE_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_key_level
      Src: /src/openssl/crypto/x509/x509_vfy.c:3922,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:3922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3923
      start: 3920
    functionDepth: 2
    functionLinenumber: 3920
    functionLinenumberEnd: 3923
    functionName: check_cert_key_level
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 2
    functionsReached:
    - check_key_level
    - X509_get0_pubkey
    linkageType: ''
    returnType: int
    signature: int check_cert_key_level(X509_STORE_CTX *ctx, X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_vfy.c:3933,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/x509/x509_vfy.c:3939,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/crypto/x509/x509_vfy.c:3943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3931
    functionDepth: 3
    functionLinenumber: 3931
    functionLinenumberEnd: 3947
    functionName: check_curve
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_get_id
    - EVP_PKEY_get_int_param
    - X509_get0_pubkey
    linkageType: ''
    returnType: int
    signature: int check_curve(X509 *cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_signature_info
      Src: /src/openssl/crypto/x509/x509_vfy.c:3966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3956
    functionDepth: 2
    functionLinenumber: 3956
    functionLinenumberEnd: 3970
    functionName: check_sig_level
    functionSourceFile: /src/openssl/crypto/x509/x509_vfy.c
    functionUses: 1
    functionsReached:
    - X509_get_signature_info
    linkageType: ''
    returnType: int
    signature: int check_sig_level(X509_STORE_CTX *ctx, X509 *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_PURPOSE**
    - X509_PURPOSE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: xp_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xp_cmp(const X509_PURPOSE *const *a, const X509_PURPOSE *const
      *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/x509/v3_purp.c:93,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/v3_purp.c:98,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/v3_purp.c:101,1
    - Dst: X509_PURPOSE*::check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - x
    - id
    - non_leaf
    argTypes:
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: X509_check_purpose
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 5
    functionsReached:
    - X509_PURPOSE_get0
    - X509_PURPOSE*::check_purpose
    - X509_PURPOSE_get_by_id
    - ossl_x509v3_cache_extensions
    linkageType: ''
    returnType: int
    signature: int X509_check_purpose(X509 *x, int id, int non_leaf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/v3_purp.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - purpose
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: X509_PURPOSE_set
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509_PURPOSE_get_by_id
    linkageType: ''
    returnType: int
    signature: int X509_PURPOSE_set(int *p, int purpose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_PURPOSE_num
      Src: /src/openssl/crypto/x509/v3_purp.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: X509_PURPOSE_get_count
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - sk_X509_PURPOSE_num
    linkageType: ''
    returnType: int
    signature: int X509_PURPOSE_get_count(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/v3_purp.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - OSSL_LIB_CTX *libctx
    argTypes:
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: X509_PURPOSE_get_unused_id
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_PURPOSE_get_by_id
    linkageType: ''
    returnType: int
    signature: int X509_PURPOSE_get_unused_id(ossl_unused OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_PURPOSE_value
      Src: /src/openssl/crypto/x509/v3_purp.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: X509_PURPOSE_get0
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 2
    functionsReached:
    - sk_X509_PURPOSE_value
    linkageType: ''
    returnType: X509_PURPOSE
    signature: X509_PURPOSE *X509_PURPOSE_get0(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_count
      Src: /src/openssl/crypto/x509/v3_purp.c:147,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/v3_purp.c:148,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_purp.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: X509_PURPOSE_get_by_sname
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_PURPOSE_get0
    - strcmp
    - X509_PURPOSE_get_count
    linkageType: ''
    returnType: int
    signature: int X509_PURPOSE_get_by_sname(const char *sname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_PURPOSE_find
      Src: /src/openssl/crypto/x509/v3_purp.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - purpose
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: X509_PURPOSE_get_by_id
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 4
    functionsReached:
    - sk_X509_PURPOSE_find
    linkageType: ''
    returnType: int
    signature: int X509_PURPOSE_get_by_id(int purpose)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:189,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/openssl/crypto/x509/v3_purp.c:199,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/v3_purp.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:202,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_purp.c:205,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/crypto/x509/v3_purp.c:209,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/crypto/x509/v3_purp.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:219,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:220,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_purp.c:223,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_purp.c:224,1
    - Dst: sk_X509_PURPOSE_new
      Src: /src/openssl/crypto/x509/v3_purp.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:241,1
    - Dst: sk_X509_PURPOSE_push
      Src: /src/openssl/crypto/x509/v3_purp.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:245,1
    - Dst: sk_X509_PURPOSE_set
      Src: /src/openssl/crypto/x509/v3_purp.c:250,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:255,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:256,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:257,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 6
    argNames:
    - id
    - trust
    - flags
    - name
    - sname
    - arg
    argTypes:
    - int
    - int
    - int
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 260
    functionName: X509_PURPOSE_add
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_PURPOSE_get0
    - ERR_raise
    - sk_X509_PURPOSE_push
    - sk_X509_PURPOSE_set
    - OPENSSL_free
    - sk_X509_PURPOSE_new
    - OPENSSL_strdup
    - X509_PURPOSE_get_by_id
    - X509_PURPOSE_get_by_sname
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int X509_PURPOSE_add(int id, int trust, int flags,\n                     int
      (*ck) (const X509_PURPOSE *, const X509 *, int),\n                     const
      char *name, const char *sname, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:268,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:269,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_purp.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - X509_PURPOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: xptable_free
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void xptable_free(X509_PURPOSE *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_PURPOSE_pop_free
      Src: /src/openssl/crypto/x509/v3_purp.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: X509_PURPOSE_cleanup
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - sk_X509_PURPOSE_pop_free
    linkageType: ''
    returnType: void
    signature: void X509_PURPOSE_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_PURPOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: X509_PURPOSE_get_id
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_PURPOSE_get_id(const X509_PURPOSE *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_PURPOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: X509_PURPOSE_get0_name
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_PURPOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: X509_PURPOSE_get0_sname
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xp
    argTypes:
    - X509_PURPOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: X509_PURPOSE_get_trust
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_PURPOSE_get_trust(const X509_PURPOSE *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: nid_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nid_cmp(const int *a, const int *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:338,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_purp.c:338,1
    - Dst: OBJ_bsearch_nid
      Src: /src/openssl/crypto/x509/v3_purp.c:343,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/x509/v3_purp.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 346
    functionName: X509_supported_extension
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_EXTENSION_get_object
    - OBJ_obj2nid
    - OSSL_NELEM
    - OBJ_bsearch_nid
    linkageType: ''
    returnType: int
    signature: int X509_supported_extension(X509_EXTENSION *ex)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_purp.c:354,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:355,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_purp.c:377,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_purp.c:378,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:386,1
    - Dst: DIST_POINT_set_dpname
      Src: /src/openssl/crypto/x509/v3_purp.c:387,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - x
    - dp
    argTypes:
    - X509*
    - DIST_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 388
    functionName: setup_dp
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - DIST_POINT_set_dpname
    - ERR_raise
    - X509_get_issuer_name
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    linkageType: ''
    returnType: int
    signature: int setup_dp(const X509 *x, DIST_POINT *dp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:395,1
    - Dst: sk_DIST_POINT_num
      Src: /src/openssl/crypto/x509/v3_purp.c:399,1
    - Dst: setup_dp
      Src: /src/openssl/crypto/x509/v3_purp.c:400,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/crypto/x509/v3_purp.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: setup_crldp
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - sk_DIST_POINT_value
    - sk_DIST_POINT_num
    - setup_dp
    linkageType: ''
    returnType: int
    signature: int setup_crldp(X509 *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/x509/v3_purp.c:415,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:415,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/x509/v3_purp.c:418,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/x509/v3_purp.c:418,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/x509/v3_purp.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - issuer_key
    - subject
    argTypes:
    - EVP_PKEY*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 422
    functionName: check_sig_alg_match
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: int
    signature: int check_sig_alg_match(const EVP_PKEY *issuer_key, const X509 *subject)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - usage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: ku_reject
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ku_reject(x, usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - usage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: xku_reject
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xku_reject(x, usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - usage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: ns_reject
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ns_reject(x, usage)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: tsan_ld_acq
      Src: /src/openssl/crypto/x509/v3_purp.c:451,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/v3_purp.c:455,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/v3_purp.c:458,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/v3_purp.c:462,1
    - Dst: X509_digest
      Src: /src/openssl/crypto/x509/v3_purp.c:465,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/x509/v3_purp.c:465,1
    - Dst: X509_get_version
      Src: /src/openssl/crypto/x509/v3_purp.c:469,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:483,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/v3_purp.c:486,1
    - Dst: BASIC_CONSTRAINTS_free
      Src: /src/openssl/crypto/x509/v3_purp.c:489,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:496,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_purp.c:498,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_purp.c:499,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/v3_purp.c:503,1
    - Dst: PROXY_CERT_INFO_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_purp.c:506,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:513,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/x509/v3_purp.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:524,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:533,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/v3_purp.c:535,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:536,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/v3_purp.c:536,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/x509/v3_purp.c:570,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:576,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/x509/v3_purp.c:582,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:588,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:592,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:597,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_purp.c:597,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:597,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/v3_purp.c:599,1
    - Dst: check_sig_alg_match
      Src: /src/openssl/crypto/x509/v3_purp.c:601,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/v3_purp.c:601,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:607,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:610,1
    - Dst: setup_crldp
      Src: /src/openssl/crypto/x509/v3_purp.c:615,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:620,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/x509/v3_purp.c:623,1
    - Dst: X509_get_ext_count
      Src: /src/openssl/crypto/x509/v3_purp.c:627,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_purp.c:628,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_purp.c:629,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_purp.c:629,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_purp.c:633,1
    - Dst: X509_supported_extension
      Src: /src/openssl/crypto/x509/v3_purp.c:635,1
    - Dst: ossl_x509_init_sig_info
      Src: /src/openssl/crypto/x509/v3_purp.c:658,1
    - Dst: tsan_st_rel
      Src: /src/openssl/crypto/x509/v3_purp.c:662,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/v3_purp.c:669,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/v3_purp.c:672,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/v3_purp.c:675,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_purp.c:676,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 177
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 439
    functionDepth: 10
    functionLinenumber: 439
    functionLinenumberEnd: 678
    functionName: ossl_x509v3_cache_extensions
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 2
    functionsReached:
    - tsan_ld_acq
    - ERR_raise
    - X509_get_version
    - ERR_pop_to_mark
    - X509_get_ext_count
    - X509_EXTENSION_get_object
    - X509_digest
    - sk_ASN1_OBJECT_value
    - X509_get_ext
    - CRYPTO_THREAD_write_lock
    - X509_supported_extension
    - tsan_st_rel
    - X509_get_ext_by_NID
    - sk_ASN1_OBJECT_pop_free
    - OBJ_obj2nid
    - setup_crldp
    - check_sig_alg_match
    - ossl_x509_init_sig_info
    - X509_get_issuer_name
    - CRYPTO_THREAD_unlock
    - sk_ASN1_OBJECT_num
    - X509_check_akid
    - X509_get0_pubkey
    - X509_get_ext_d2i
    - X509_get_subject_name
    - ERR_set_mark
    - EVP_sha1
    - ASN1_BIT_STRING_free
    - X509_NAME_cmp
    - X509_EXTENSION_get_critical
    - PROXY_CERT_INFO_EXTENSION_free
    - ASN1_INTEGER_get
    - BASIC_CONSTRAINTS_free
    linkageType: ''
    returnType: int
    signature: int ossl_x509v3_cache_extensions(X509 *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 716
    functionName: check_ca
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 1
    functionsReached:
    - ku_reject
    linkageType: ''
    returnType: int
    signature: int check_ca(const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/v3_purp.c:720,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/v3_purp.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 724
    functionName: X509_set_proxy_flag
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void X509_set_proxy_flag(X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - l
    argTypes:
    - X509*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: X509_set_proxy_pathlen
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_set_proxy_pathlen(X509 *x, long l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/x509/v3_purp.c:734,1
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 11
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: X509_check_ca
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 1
    functionsReached:
    - check_ca
    - ossl_x509v3_cache_extensions
    linkageType: ''
    returnType: int
    signature: int X509_check_ca(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 749
    functionName: check_ssl_ca
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - check_ca
    linkageType: ''
    returnType: int
    signature: int check_ssl_ca(const X509 *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:754,1
    - Dst: check_ssl_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:757,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:759,1
    - Dst: ns_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 765
    functionName: check_purpose_ssl_client
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - ku_reject
    - xku_reject
    - ns_reject
    - check_ssl_ca
    linkageType: ''
    returnType: int
    signature: "int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x,\n
      \                                   int non_leaf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:778,1
    - Dst: check_ssl_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:781,1
    - Dst: ns_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:783,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 790
    functionName: check_purpose_ssl_server
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - ns_reject
    - xku_reject
    - ku_reject
    - check_ssl_ca
    linkageType: ''
    returnType: int
    signature: "int check_purpose_ssl_server(const X509_PURPOSE *xp, const X509 *x,\n
      \                                   int non_leaf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_purpose_ssl_server
      Src: /src/openssl/crypto/x509/v3_purp.c:795,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 792
    functionDepth: 4
    functionLinenumber: 792
    functionLinenumberEnd: 801
    functionName: check_purpose_ns_ssl_server
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - ku_reject
    - check_purpose_ssl_server
    linkageType: ''
    returnType: int
    signature: "int check_purpose_ns_ssl_server(const X509_PURPOSE *xp, const X509
      *x,\n                                       int non_leaf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: xku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:806,1
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - x
    - non_leaf
    argTypes:
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 826
    functionName: purpose_smime
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - xku_reject
    - check_ca
    linkageType: ''
    returnType: int
    signature: int purpose_smime(const X509 *x, int non_leaf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: purpose_smime
      Src: /src/openssl/crypto/x509/v3_purp.c:831,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 828
    functionDepth: 3
    functionLinenumber: 828
    functionLinenumberEnd: 836
    functionName: check_purpose_smime_sign
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - ku_reject
    - purpose_smime
    linkageType: ''
    returnType: int
    signature: "int check_purpose_smime_sign(const X509_PURPOSE *xp, const X509 *x,\n
      \                                   int non_leaf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: purpose_smime
      Src: /src/openssl/crypto/x509/v3_purp.c:841,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 846
    functionName: check_purpose_smime_encrypt
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - ku_reject
    - purpose_smime
    linkageType: ''
    returnType: int
    signature: "int check_purpose_smime_encrypt(const X509_PURPOSE *xp, const X509
      *x,\n                                       int non_leaf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:852,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 857
    functionName: check_purpose_crl_sign
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - ku_reject
    - check_ca
    linkageType: ''
    returnType: int
    signature: "int check_purpose_crl_sign(const X509_PURPOSE *xp, const X509 *x,\n
      \                                 int non_leaf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 874
    functionName: check_purpose_ocsp_helper
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - check_ca
    linkageType: ''
    returnType: int
    signature: "int check_purpose_ocsp_helper(const X509_PURPOSE *xp, const X509 *x,\n
      \                                    int non_leaf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:886,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_purp.c:912,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_purp.c:914,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_purp.c:914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 917
    functionName: check_purpose_timestamp_sign
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_by_NID
    - X509_get_ext
    - check_ca
    - X509_EXTENSION_get_critical
    linkageType: ''
    returnType: int
    signature: "int check_purpose_timestamp_sign(const X509_PURPOSE *xp, const X509
      *x,\n                                        int non_leaf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: check_ca
      Src: /src/openssl/crypto/x509/v3_purp.c:929,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_purp.c:952,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_purp.c:956,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_purp.c:957,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 971
    functionName: check_purpose_code_sign
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_by_NID
    - X509_get_ext
    - check_ca
    - X509_EXTENSION_get_critical
    linkageType: ''
    returnType: int
    signature: "int check_purpose_code_sign(const X509_PURPOSE *xp, const X509 *x,\n
      \                                  int non_leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - xp
    - x
    - non_leaf
    argTypes:
    - X509_PURPOSE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 977
    functionName: no_check_purpose
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int no_check_purpose(const X509_PURPOSE *xp, const X509 *x,\n                            int
      non_leaf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_likely_issued
      Src: /src/openssl/crypto/x509/v3_purp.c:996,1
    - Dst: ossl_x509_signing_allowed
      Src: /src/openssl/crypto/x509/v3_purp.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 999
    functionName: X509_check_issued
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 1
    functionsReached:
    - ossl_x509_likely_issued
    - ossl_x509_signing_allowed
    linkageType: ''
    returnType: int
    signature: int X509_check_issued(X509 *issuer, X509 *subject)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1006,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/v3_purp.c:1006,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:1007,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/x509/v3_purp.c:1011,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/x509/v3_purp.c:1012,1
    - Dst: X509_check_akid
      Src: /src/openssl/crypto/x509/v3_purp.c:1015,1
    - Dst: check_sig_alg_match
      Src: /src/openssl/crypto/x509/v3_purp.c:1020,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/v3_purp.c:1020,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1002
    functionDepth: 11
    functionLinenumber: 1002
    functionLinenumberEnd: 1021
    functionName: ossl_x509_likely_issued
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 3
    functionsReached:
    - check_sig_alg_match
    - ossl_x509v3_cache_extensions
    - X509_get0_pubkey
    - X509_get_issuer_name
    - X509_get_subject_name
    - X509_NAME_cmp
    - X509_check_akid
    linkageType: ''
    returnType: int
    signature: int ossl_x509_likely_issued(X509 *issuer, X509 *subject)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:1033,1
    - Dst: ku_reject
      Src: /src/openssl/crypto/x509/v3_purp.c:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - issuer
    - subject
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1039
    functionName: ossl_x509_signing_allowed
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 3
    functionsReached:
    - ku_reject
    linkageType: ''
    returnType: int
    signature: int ossl_x509_signing_allowed(const X509 *issuer, const X509 *subject)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1048,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1052,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/v3_purp.c:1052,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/v3_purp.c:1066,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/v3_purp.c:1067,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/v3_purp.c:1073,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_purp.c:1073,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - issuer
    - akid
    argTypes:
    - X509*
    - AUTHORITY_KEYID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1077
    functionName: X509_check_akid
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 3
    functionsReached:
    - ASN1_INTEGER_cmp
    - X509_get0_serialNumber
    - X509_get_issuer_name
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int X509_check_akid(const X509 *issuer, const AUTHORITY_KEYID *akid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1079
    functionDepth: 4
    functionLinenumber: 1079
    functionLinenumberEnd: 1084
    functionName: X509_get_extension_flags
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_get_extension_flags(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1086
    functionDepth: 4
    functionLinenumber: 1086
    functionLinenumberEnd: 1092
    functionName: X509_get_key_usage
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_get_key_usage(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1094
    functionDepth: 4
    functionLinenumber: 1094
    functionLinenumberEnd: 1100
    functionName: X509_get_extended_key_usage
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t X509_get_extended_key_usage(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1102
    functionDepth: 4
    functionLinenumber: 1102
    functionLinenumberEnd: 1108
    functionName: X509_get0_subject_key_id
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 2
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *X509_get0_subject_key_id(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1110
    functionDepth: 4
    functionLinenumber: 1110
    functionLinenumberEnd: 1116
    functionName: X509_get0_authority_key_id
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *X509_get0_authority_key_id(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1118
    functionDepth: 4
    functionLinenumber: 1118
    functionLinenumberEnd: 1124
    functionName: X509_get0_authority_issuer
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: GENERAL_NAMES
    signature: GENERAL_NAMES *X509_get0_authority_issuer(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1126
    functionDepth: 4
    functionLinenumber: 1126
    functionLinenumberEnd: 1132
    functionName: X509_get0_authority_serial
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *X509_get0_authority_serial(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1134
    functionDepth: 4
    functionLinenumber: 1134
    functionLinenumberEnd: 1141
    functionName: X509_get_pathlen
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: long
    signature: long X509_get_pathlen(X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/x509/v3_purp.c:1146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1143
    functionDepth: 4
    functionLinenumber: 1143
    functionLinenumberEnd: 1150
    functionName: X509_get_proxy_pathlen
    functionSourceFile: /src/openssl/crypto/x509/v3_purp.c
    functionUses: 0
    functionsReached:
    - X509_check_purpose
    linkageType: ''
    returnType: long
    signature: long X509_get_proxy_pathlen(X509 *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pci.c:70,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_pci.c:72,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pci.c:74,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_pci.c:75,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pci.c:76,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_pci.c:77,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_pci.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - method
    - pci
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - PROXY_CERT_INFO_EXTENSION*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: i2r_pci
    functionSourceFile: /src/openssl/crypto/x509/v3_pci.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - i2a_ASN1_OBJECT
    - BIO_printf
    - i2a_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: "int i2r_pci(X509V3_EXT_METHOD *method, PROXY_CERT_INFO_EXTENSION *pci,\n
      \                  BIO *out, int indent)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_pci.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:93,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:94,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_pci.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:98,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:99,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_pci.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:104,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:106,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_pci.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:110,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:111,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_pci.c:114,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/x509/v3_pci.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:122,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:123,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_pci.c:128,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/x509/v3_pci.c:130,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:133,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/x509/v3_pci.c:137,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_pci.c:141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:151,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:157,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_pci.c:158,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/x509/v3_pci.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:163,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:164,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/x509/v3_pci.c:167,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/x509/v3_pci.c:168,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/x509/v3_pci.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:176,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:179,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/x509/v3_pci.c:180,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_pci.c:185,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/x509/v3_pci.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:192,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:193,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/x509/v3_pci.c:196,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_pci.c:197,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/x509/v3_pci.c:198,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/v3_pci.c:202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_pci.c:211,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:218,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:219,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:223,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_pci.c:230,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 127
    argCount: 4
    argNames:
    - val
    - language
    - pathlen
    - policy
    argTypes:
    - CONF_VALUE*
    - ASN1_OBJECT**
    - ASN1_INTEGER**
    - ASN1_OCTET_STRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 85
    functionDepth: 8
    functionLinenumber: 85
    functionLinenumberEnd: 234
    functionName: process_pci_value
    functionSourceFile: /src/openssl/crypto/x509/v3_pci.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - memcpy
    - strlen
    - CHECK_AND_SKIP_PREFIX
    - OPENSSL_hexstr2buf
    - BIO_free_all
    - OPENSSL_free
    - X509V3_get_value_int
    - X509V3_conf_err
    - ASN1_OCTET_STRING_free
    - strcmp
    - OBJ_txt2obj
    - OPENSSL_realloc
    - BIO_read
    - ASN1_OCTET_STRING_new
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: "int process_pci_value(CONF_VALUE *val,\n                             ASN1_OBJECT
      **language, ASN1_INTEGER **pathlen,\n                             ASN1_OCTET_STRING
      **policy)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_pci.c:240,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_pci.c:246,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_pci.c:247,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_pci.c:248,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:251,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:252,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_pci.c:256,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_pci.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:261,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:262,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_pci.c:265,1
    - Dst: process_pci_value
      Src: /src/openssl/crypto/x509/v3_pci.c:267,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_pci.c:267,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_pci.c:270,1
    - Dst: process_pci_value
      Src: /src/openssl/crypto/x509/v3_pci.c:274,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_pci.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:283,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_pci.c:287,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:289,1
    - Dst: PROXY_CERT_INFO_EXTENSION_new
      Src: /src/openssl/crypto/x509/v3_pci.c:294,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pci.c:296,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_pci.c:308,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_pci.c:309,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_pci.c:311,1
    - Dst: PROXY_CERT_INFO_EXTENSION_free
      Src: /src/openssl/crypto/x509/v3_pci.c:313,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_pci.c:316,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 236
    functionDepth: 9
    functionLinenumber: 236
    functionLinenumberEnd: 318
    functionName: r2i_pci
    functionSourceFile: /src/openssl/crypto/x509/v3_pci.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - OBJ_obj2nid
    - ERR_raise
    - X509V3_get_section
    - sk_CONF_VALUE_num
    - ASN1_OBJECT_free
    - STACK_OF
    - ASN1_INTEGER_free
    - X509V3_conf_err
    - sk_CONF_VALUE_pop_free
    - ASN1_OCTET_STRING_free
    - PROXY_CERT_INFO_EXTENSION_free
    - PROXY_CERT_INFO_EXTENSION_new
    - sk_CONF_VALUE_value
    - process_pci_value
    - X509V3_section_free
    linkageType: ''
    returnType: PROXY_CERT_INFO_EXTENSION
    signature: "PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method,\n                                          X509V3_CTX
      *ctx, char *value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_POLICY_MAPPING_num
      Src: /src/openssl/crypto/x509/pcy_map.c:29,1
    - Dst: sk_POLICY_MAPPING_num
      Src: /src/openssl/crypto/x509/pcy_map.c:33,1
    - Dst: sk_POLICY_MAPPING_value
      Src: /src/openssl/crypto/x509/pcy_map.c:34,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/pcy_map.c:36,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/pcy_map.c:37,1
    - Dst: ossl_policy_cache_find_data
      Src: /src/openssl/crypto/x509/pcy_map.c:43,1
    - Dst: ossl_policy_data_new
      Src: /src/openssl/crypto/x509/pcy_map.c:50,1
    - Dst: sk_X509_POLICY_DATA_push
      Src: /src/openssl/crypto/x509/pcy_map.c:61,1
    - Dst: ossl_policy_data_free
      Src: /src/openssl/crypto/x509/pcy_map.c:62,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/x509/pcy_map.c:67,1
    - Dst: sk_POLICY_MAPPING_pop_free
      Src: /src/openssl/crypto/x509/pcy_map.c:76,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - x
    - maps
    argTypes:
    - X509*
    - POLICY_MAPPINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 79
    functionName: ossl_policy_cache_set_mapping
    functionSourceFile: /src/openssl/crypto/x509/pcy_map.c
    functionUses: 1
    functionsReached:
    - sk_X509_POLICY_DATA_push
    - ossl_policy_data_free
    - sk_ASN1_OBJECT_push
    - sk_POLICY_MAPPING_value
    - ossl_policy_cache_find_data
    - ossl_policy_data_new
    - sk_POLICY_MAPPING_num
    - OBJ_obj2nid
    - sk_POLICY_MAPPING_pop_free
    linkageType: ''
    returnType: int
    signature: int ossl_policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_REVOKED_set_cmp_func
      Src: /src/openssl/crypto/x509/x_crl.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: crl_inf_cb
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - sk_X509_REVOKED_set_cmp_func
    linkageType: ''
    returnType: int
    signature: "int crl_inf_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                     void *exarg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_crl.c:87,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/openssl/crypto/x509/x_crl.c:89,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/x_crl.c:92,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/openssl/crypto/x509/x_crl.c:93,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_crl.c:94,1
    - Dst: X509_REVOKED_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:98,1
    - Dst: sk_GENERAL_NAMES_new_null
      Src: /src/openssl/crypto/x509/x_crl.c:107,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x_crl.c:109,1
    - Dst: sk_GENERAL_NAMES_push
      Src: /src/openssl/crypto/x509/x_crl.c:113,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x_crl.c:114,1
    - Dst: X509_REVOKED_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:121,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/x509/x_crl.c:128,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/crypto/x509/x_crl.c:129,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_crl.c:137,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x_crl.c:138,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/x_crl.c:139,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x_crl.c:140,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/x_crl.c:140,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 152
    functionName: crl_set_issuers
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_value
    - sk_X509_REVOKED_num
    - OBJ_obj2nid
    - GENERAL_NAMES_free
    - X509_CRL_get_REVOKED
    - X509_EXTENSION_get_object
    - sk_GENERAL_NAMES_new_null
    - STACK_OF
    - sk_X509_EXTENSION_num
    - X509_REVOKED_get_ext_d2i
    - X509_EXTENSION_get_critical
    - ASN1_ENUMERATED_free
    - sk_X509_REVOKED_value
    - sk_GENERAL_NAMES_push
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: int
    signature: int crl_set_issuers(X509_CRL *crl)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_crl.c:162,1
    - Dst: X509_CRL*::meth::crl_free
      Src: /src/openssl/crypto/x509/x_crl.c:169,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/x_crl.c:172,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/openssl/crypto/x509/x_crl.c:173,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x_crl.c:174,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x_crl.c:175,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/crypto/x509/x_crl.c:176,1
    - Dst: X509_CRL_digest
      Src: /src/openssl/crypto/x509/x_crl.c:193,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/x509/x_crl.c:193,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:195,1
    - Dst: setup_idp
      Src: /src/openssl/crypto/x509/x_crl.c:199,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:206,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:212,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/x509/x_crl.c:217,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x_crl.c:235,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x_crl.c:237,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x_crl.c:238,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/x_crl.c:238,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/x_crl.c:241,1
    - Dst: crl_set_issuers
      Src: /src/openssl/crypto/x509/x_crl.c:252,1
    - Dst: X509_CRL*::meth::crl_init
      Src: /src/openssl/crypto/x509/x_crl.c:256,1
    - Dst: X509_CRL*::meth::crl_free
      Src: /src/openssl/crypto/x509/x_crl.c:265,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/x_crl.c:268,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/openssl/crypto/x509/x_crl.c:269,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x_crl.c:270,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/x_crl.c:271,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/crypto/x509/x_crl.c:272,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_crl.c:273,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/openssl/crypto/x509/x_crl.c:279,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 158
    functionDepth: 10
    functionLinenumber: 158
    functionLinenumberEnd: 285
    functionName: crl_cb
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_object
    - OPENSSL_free
    - ASN1_INTEGER_free
    - X509_CRL*::meth::crl_init
    - sk_GENERAL_NAMES_pop_free
    - crl_set_issuers
    - X509_CRL*::meth::crl_free
    - X509_CRL_digest
    - sk_X509_EXTENSION_num
    - OBJ_obj2nid
    - ISSUING_DIST_POINT_free
    - STACK_OF
    - X509_CRL_get_ext_d2i
    - EVP_sha1
    - ossl_x509_crl_set0_libctx
    - setup_idp
    - X509_EXTENSION_get_critical
    - AUTHORITY_KEYID_free
    linkageType: ''
    returnType: int
    signature: "int crl_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                 void *exarg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DIST_POINT_set_dpname
      Src: /src/openssl/crypto/x509/x_crl.c:324,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x_crl.c:324,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - crl
    - idp
    argTypes:
    - X509_CRL*
    - ISSUING_DIST_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 335
    functionName: setup_idp
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 1
    functionsReached:
    - X509_CRL_get_issuer
    - DIST_POINT_set_dpname
    linkageType: ''
    returnType: int
    signature: int setup_idp(X509_CRL *crl, ISSUING_DIST_POINT *idp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/x509/x_crl.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_REVOKED**
    - X509_REVOKED**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: X509_REVOKED_cmp
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: "int X509_REVOKED_cmp(const X509_REVOKED *const *a,\n                            const
      X509_REVOKED *const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new
      Src: /src/openssl/crypto/x509/x_crl.c:364,1
    - Dst: X509_CRL_it
      Src: /src/openssl/crypto/x509/x_crl.c:364,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/openssl/crypto/x509/x_crl.c:365,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/x509/x_crl.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: X509_CRL_new_ex
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 1
    functionsReached:
    - X509_CRL_it
    - ossl_x509_crl_set0_libctx
    - ASN1_item_new
    - X509_CRL_free
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *X509_CRL_new_ex(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_REVOKED_new
      Src: /src/openssl/crypto/x509/x_crl.c:378,1
    - Dst: sk_X509_REVOKED_push
      Src: /src/openssl/crypto/x509/x_crl.c:379,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_crl.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - crl
    - rev
    argTypes:
    - X509_CRL*
    - X509_REVOKED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 385
    functionName: X509_CRL_add0_revoked
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 1
    functionsReached:
    - sk_X509_REVOKED_new
    - ERR_raise
    - sk_X509_REVOKED_push
    linkageType: ''
    returnType: int
    signature: int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL*::meth::crl_verify
      Src: /src/openssl/crypto/x509/x_crl.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - crl
    - r
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: X509_CRL_verify
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 2
    functionsReached:
    - X509_CRL*::meth::crl_verify
    linkageType: ''
    returnType: int
    signature: int X509_CRL_verify(X509_CRL *crl, EVP_PKEY *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL*::meth::crl_lookup
      Src: /src/openssl/crypto/x509/x_crl.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - crl
    - ret
    - serial
    argTypes:
    - X509_CRL*
    - X509_REVOKED**
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: X509_CRL_get0_by_serial
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 1
    functionsReached:
    - X509_CRL*::meth::crl_lookup
    linkageType: ''
    returnType: int
    signature: "int X509_CRL_get0_by_serial(X509_CRL *crl,\n                            X509_REVOKED
      **ret, const ASN1_INTEGER *serial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL*::meth::crl_lookup
      Src: /src/openssl/crypto/x509/x_crl.c:405,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/x_crl.c:406,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/x_crl.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - crl
    - ret
    - x
    argTypes:
    - X509_CRL*
    - X509_REVOKED**
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: X509_CRL_get0_by_cert
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 1
    functionsReached:
    - X509_get_issuer_name
    - X509_CRL*::meth::crl_lookup
    - X509_get0_serialNumber
    linkageType: ''
    returnType: int
    signature: int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/x509/x_crl.c:413,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_crl.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - r
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: def_crl_verify
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - ASN1_item_verify_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int def_crl_verify(X509_CRL *crl, EVP_PKEY *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x_crl.c:426,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x_crl.c:426,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/x_crl.c:432,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x_crl.c:434,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x_crl.c:435,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/x509/x_crl.c:438,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - crl
    - nm
    - rev
    argTypes:
    - X509_CRL*
    - X509_NAME*
    - X509_REVOKED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 443
    functionName: crl_revoked_issuer_match
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - X509_CRL_get_issuer
    - sk_GENERAL_NAME_num
    linkageType: ''
    returnType: int
    signature: "int crl_revoked_issuer_match(X509_CRL *crl, const X509_NAME *nm,\n
      \                                   X509_REVOKED *rev)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_REVOKED_is_sorted
      Src: /src/openssl/crypto/x509/x_crl.c:459,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/x509/x_crl.c:460,1
    - Dst: sk_X509_REVOKED_sort
      Src: /src/openssl/crypto/x509/x_crl.c:462,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/x509/x_crl.c:463,1
    - Dst: sk_X509_REVOKED_find
      Src: /src/openssl/crypto/x509/x_crl.c:466,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/x_crl.c:470,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/openssl/crypto/x509/x_crl.c:471,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/x_crl.c:472,1
    - Dst: crl_revoked_issuer_match
      Src: /src/openssl/crypto/x509/x_crl.c:474,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - crl
    - ret
    - serial
    - issuer
    argTypes:
    - X509_CRL*
    - X509_REVOKED**
    - ASN1_INTEGER*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 483
    functionName: def_crl_lookup
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - sk_X509_REVOKED_sort
    - sk_X509_REVOKED_num
    - ASN1_INTEGER_cmp
    - sk_X509_REVOKED_find
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - sk_X509_REVOKED_is_sorted
    - sk_X509_REVOKED_value
    - crl_revoked_issuer_match
    linkageType: ''
    returnType: int
    signature: "int def_crl_lookup(X509_CRL *crl,\n                          X509_REVOKED
      **ret, const ASN1_INTEGER *serial,\n                          const X509_NAME
      *issuer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - meth
    argTypes:
    - X509_CRL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 491
    functionName: X509_CRL_set_default_method
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_CRL_set_default_method(const X509_CRL_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x_crl.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 512
    functionName: X509_CRL_METHOD_new
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: X509_CRL_METHOD
    signature: "X509_CRL_METHOD *X509_CRL_METHOD_new(int (*crl_init) (X509_CRL *crl),\n
      \                                    int (*crl_free) (X509_CRL *crl),\n                                     int
      (*crl_lookup) (X509_CRL *crl,\n                                                        X509_REVOKED
      **ret,\n                                                        const ASN1_INTEGER
      *ser,\n                                                        const X509_NAME
      *issuer),\n                                     int (*crl_verify) (X509_CRL
      *crl,\n                                                        EVP_PKEY *pk))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_crl.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - X509_CRL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: X509_CRL_METHOD_free
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void X509_CRL_METHOD_free(X509_CRL_METHOD *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crl
    - dat
    argTypes:
    - X509_CRL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: X509_CRL_set_meth_data
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_CRL_set_meth_data(X509_CRL *crl, void *dat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: X509_CRL_get_meth_data
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *X509_CRL_get_meth_data(X509_CRL *crl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_crl.c:536,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/x_crl.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - x
    - libctx
    - propq
    argTypes:
    - X509_CRL*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: ossl_x509_crl_set0_libctx
    functionSourceFile: /src/openssl/crypto/x509/x_crl.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: "int ossl_x509_crl_set0_libctx(X509_CRL *x, OSSL_LIB_CTX *libctx,\n
      \                             const char *propq)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_asid.c:70,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_asid.c:73,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:76,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:78,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:81,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_asid.c:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_asid.c:84,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_asid.c:89,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_asid.c:90,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:91,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_asid.c:93,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_asid.c:94,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - out
    - choice
    - indent
    - msg
    argTypes:
    - BIO*
    - ASIdentifierChoice*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 62
    functionDepth: 7
    functionLinenumber: 62
    functionLinenumberEnd: 105
    functionName: i2r_ASIdentifierChoice
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_ASIdOrRange_value
    - i2s_ASN1_INTEGER
    - sk_ASIdOrRange_num
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ASIdentifierChoice(BIO *out,\n                                  ASIdentifierChoice
      *choice,\n                                  int indent, const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2r_ASIdentifierChoice
      Src: /src/openssl/crypto/x509/v3_asid.c:114,1
    - Dst: i2r_ASIdentifierChoice
      Src: /src/openssl/crypto/x509/v3_asid.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - method
    - ext
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: i2r_ASIdentifiers
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - i2r_ASIdentifierChoice
    linkageType: ''
    returnType: int
    signature: "int i2r_ASIdentifiers(const X509V3_EXT_METHOD *method,\n                             void
      *ext, BIO *out, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/x509/v3_asid.c:128,1
    - Dst: assert
      Src: /src/openssl/crypto/x509/v3_asid.c:132,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:137,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:140,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:141,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:146,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - ASIdOrRange**
    - ASIdOrRange**
    assertStmts:
    - condition: "((a->type == ASIdOrRange_id && a->u.id != NULL) ||\n           (a->type
        == ASIdOrRange_range && a->u.range != NULL &&\n            a->u.range->min
        != NULL && a->u.range->max != NULL))"
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/openssl/crypto/x509/v3_asid.c
    - condition: "((b->type == ASIdOrRange_id && b->u.id != NULL) ||\n           (b->type
        == ASIdOrRange_range && b->u.range != NULL &&\n            b->u.range->min
        != NULL && b->u.range->max != NULL))"
      pos:
        line_end: 133
        line_start: 131
        source_file: /src/openssl/crypto/x509/v3_asid.c
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: ASIdOrRange_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_cmp
    - assert
    linkageType: ''
    returnType: int
    signature: "int ASIdOrRange_cmp(const ASIdOrRange *const *a_,\n                           const
      ASIdOrRange *const *b_)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_new
      Src: /src/openssl/crypto/x509/v3_asid.c:170,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_asid.c:172,1
    - Dst: ASIdentifierChoice_free
      Src: /src/openssl/crypto/x509/v3_asid.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - asid
    - which
    argTypes:
    - ASIdentifiers*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 180
    functionName: X509v3_asid_add_inherit
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    - ASIdentifierChoice_free
    - ASIdentifierChoice_new
    linkageType: ''
    returnType: int
    signature: int X509v3_asid_add_inherit(ASIdentifiers *asid, int which)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_new
      Src: /src/openssl/crypto/x509/v3_asid.c:205,1
    - Dst: sk_ASIdOrRange_new
      Src: /src/openssl/crypto/x509/v3_asid.c:207,1
    - Dst: ASIdentifierChoice_free
      Src: /src/openssl/crypto/x509/v3_asid.c:209,1
    - Dst: ASIdOrRange_new
      Src: /src/openssl/crypto/x509/v3_asid.c:215,1
    - Dst: sk_ASIdOrRange_reserve
      Src: /src/openssl/crypto/x509/v3_asid.c:217,1
    - Dst: ASRange_new
      Src: /src/openssl/crypto/x509/v3_asid.c:224,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:226,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:228,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:232,1
    - Dst: sk_ASIdOrRange_push
      Src: /src/openssl/crypto/x509/v3_asid.c:232,1
    - Dst: ASIdOrRange_free
      Src: /src/openssl/crypto/x509/v3_asid.c:237,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 4
    argNames:
    - asid
    - which
    - min
    - max
    argTypes:
    - ASIdentifiers*
    - int
    - ASN1_INTEGER*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 239
    functionName: X509v3_asid_add_id_or_range
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ASIdentifierChoice_new
    - ASIdOrRange_new
    - ASIdentifierChoice_free
    - sk_ASIdOrRange_reserve
    - sk_ASIdOrRange_new
    - ASN1_INTEGER_free
    - ASIdOrRange_free
    - sk_ASIdOrRange_push
    - ASRange_new
    linkageType: ''
    returnType: int
    signature: "int X509v3_asid_add_id_or_range(ASIdentifiers *asid,\n                                int
      which, ASN1_INTEGER *min, ASN1_INTEGER *max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - aor
    - min
    - max
    argTypes:
    - ASIdOrRange*
    - ASN1_INTEGER**
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 261
    functionName: extract_min_max
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 4
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int extract_min_max(ASIdOrRange *aor,\n                           ASN1_INTEGER
      **min, ASN1_INTEGER **max)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:283,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:289,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:290,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:291,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:295,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:296,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:302,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:303,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:304,1
    - Dst: BN_new
      Src: /src/openssl/crypto/x509/v3_asid.c:310,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/x509/v3_asid.c:311,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/x509/v3_asid.c:312,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:313,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:320,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:327,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:334,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:336,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:339,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:340,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:348,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_asid.c:349,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 40
    argCount: 1
    argNames:
    - choice
    argTypes:
    - ASIdentifierChoice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 351
    functionName: ASIdentifierChoice_is_canonical
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_cmp
    - ASN1_INTEGER_to_BN
    - sk_ASIdOrRange_value
    - ASN1_INTEGER_free
    - extract_min_max
    - BN_new
    - sk_ASIdOrRange_num
    - BN_to_ASN1_INTEGER
    - BN_free
    - BN_add_word
    linkageType: ''
    returnType: int
    signature: int ASIdentifierChoice_is_canonical(ASIdentifierChoice *choice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_is_canonical
      Src: /src/openssl/crypto/x509/v3_asid.c:359,1
    - Dst: ASIdentifierChoice_is_canonical
      Src: /src/openssl/crypto/x509/v3_asid.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - asid
    argTypes:
    - ASIdentifiers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 6
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: X509v3_asid_is_canonical
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ASIdentifierChoice_is_canonical
    linkageType: ''
    returnType: int
    signature: int X509v3_asid_is_canonical(ASIdentifiers *asid)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:383,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:384,1
    - Dst: sk_ASIdOrRange_sort
      Src: /src/openssl/crypto/x509/v3_asid.c:391,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:397,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:398,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:399,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:403,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:404,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:410,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:410,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:416,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:417,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:424,1
    - Dst: BN_new
      Src: /src/openssl/crypto/x509/v3_asid.c:431,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/x509/v3_asid.c:432,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/x509/v3_asid.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:434,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:439,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:441,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:448,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_asid.c:452,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:460,1
    - Dst: ASIdOrRange_free
      Src: /src/openssl/crypto/x509/v3_asid.c:472,1
    - Dst: sk_ASIdOrRange_delete
      Src: /src/openssl/crypto/x509/v3_asid.c:473,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:482,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:484,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:487,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:488,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/x509/v3_asid.c:494,1
    - Dst: ASIdentifierChoice_is_canonical
      Src: /src/openssl/crypto/x509/v3_asid.c:494,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:500,1
    - Dst: BN_free
      Src: /src/openssl/crypto/x509/v3_asid.c:501,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 80
    argCount: 1
    argNames:
    - choice
    argTypes:
    - ASIdentifierChoice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 366
    functionDepth: 6
    functionLinenumber: 366
    functionLinenumberEnd: 503
    functionName: ASIdentifierChoice_canonize
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - sk_ASIdOrRange_sort
    - ERR_raise
    - ASIdentifierChoice_is_canonical
    - ASN1_INTEGER_cmp
    - sk_ASIdOrRange_delete
    - ASN1_INTEGER_to_BN
    - sk_ASIdOrRange_value
    - ASN1_INTEGER_free
    - ASIdOrRange_free
    - extract_min_max
    - BN_new
    - sk_ASIdOrRange_num
    - BN_to_ASN1_INTEGER
    - BN_free
    - BN_add_word
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ASIdentifierChoice_canonize(ASIdentifierChoice *choice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifierChoice_canonize
      Src: /src/openssl/crypto/x509/v3_asid.c:511,1
    - Dst: ASIdentifierChoice_canonize
      Src: /src/openssl/crypto/x509/v3_asid.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - asid
    argTypes:
    - ASIdentifiers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 7
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: X509v3_asid_canonize
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ASIdentifierChoice_canonize
    linkageType: ''
    returnType: int
    signature: int X509v3_asid_canonize(ASIdentifiers *asid)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifiers_new
      Src: /src/openssl/crypto/x509/v3_asid.c:526,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:527,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_asid.c:531,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_asid.c:532,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:538,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:540,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:543,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_asid.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:549,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_asid.c:556,1
    - Dst: X509v3_asid_add_inherit
      Src: /src/openssl/crypto/x509/v3_asid.c:557,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:559,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_asid.c:560,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_asid.c:567,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_asid.c:572,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:574,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_asid.c:575,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_asid.c:579,1
    - Dst: strspn
      Src: /src/openssl/crypto/x509/v3_asid.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:582,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_asid.c:583,1
    - Dst: X509V3_get_value_int
      Src: /src/openssl/crypto/x509/v3_asid.c:592,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:593,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_asid.c:597,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:601,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_asid.c:602,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_asid.c:603,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:605,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:608,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:609,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/openssl/crypto/x509/v3_asid.c:613,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_asid.c:614,1
    - Dst: X509v3_asid_canonize
      Src: /src/openssl/crypto/x509/v3_asid.c:623,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/crypto/x509/v3_asid.c:628,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:629,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_asid.c:630,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - struct v3_ext_method*
    - struct v3_ext_ctx*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 518
    functionDepth: 8
    functionLinenumber: 518
    functionLinenumberEnd: 632
    functionName: v2i_ASIdentifiers
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - ASIdentifiers_free
    - ERR_raise
    - ASN1_INTEGER_cmp
    - sk_CONF_VALUE_num
    - ossl_v3_name_cmp
    - ASIdentifiers_new
    - OPENSSL_free
    - ASN1_INTEGER_free
    - X509V3_get_value_int
    - OPENSSL_strdup
    - X509v3_asid_canonize
    - strspn
    - strcmp
    - X509v3_asid_add_inherit
    - X509V3_conf_add_error_name_value
    - s2i_ASN1_INTEGER
    - sk_CONF_VALUE_value
    - X509v3_asid_add_id_or_range
    linkageType: ''
    returnType: void
    signature: "void *v2i_ASIdentifiers(const struct v3_ext_method *method,\n                               struct
      v3_ext_ctx *ctx,\n                               STACK_OF(CONF_VALUE) *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - asid
    argTypes:
    - ASIdentifiers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 661
    functionName: X509v3_asid_inherits
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509v3_asid_inherits(ASIdentifiers *asid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:677,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:678,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:678,1
    - Dst: sk_ASIdOrRange_num
      Src: /src/openssl/crypto/x509/v3_asid.c:681,1
    - Dst: extract_min_max
      Src: /src/openssl/crypto/x509/v3_asid.c:683,1
    - Dst: sk_ASIdOrRange_value
      Src: /src/openssl/crypto/x509/v3_asid.c:683,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:686,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_asid.c:688,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - ASIdOrRanges*
    - ASIdOrRanges*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 695
    functionName: asid_contains
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - sk_ASIdOrRange_num
    - sk_ASIdOrRange_value
    - extract_min_max
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: int
    signature: int asid_contains(ASIdOrRanges *parent, ASIdOrRanges *child)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_asid_inherits
      Src: /src/openssl/crypto/x509/v3_asid.c:710,1
    - Dst: X509v3_asid_inherits
      Src: /src/openssl/crypto/x509/v3_asid.c:710,1
    - Dst: asid_contains
      Src: /src/openssl/crypto/x509/v3_asid.c:715,1
    - Dst: asid_contains
      Src: /src/openssl/crypto/x509/v3_asid.c:722,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASIdentifiers*
    - ASIdentifiers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 724
    functionName: X509v3_asid_subset
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached:
    - asid_contains
    - X509v3_asid_inherits
    linkageType: ''
    returnType: int
    signature: int X509v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _err_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 742
    functionName: validation_err
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: validation_err(_err_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/x509/v3_asid.c:882,1
    - Dst: asid_validate_path_internal
      Src: /src/openssl/crypto/x509/v3_asid.c:887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 888
    functionName: X509v3_asid_validate_path
    functionSourceFile: /src/openssl/crypto/x509/v3_asid.c
    functionUses: 1
    functionsReached:
    - asid_validate_path_internal
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int X509v3_asid_validate_path(X509_STORE_CTX *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrmap.c:57,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:59,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrmap.c:61,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_attrmap.c:67,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_attrmap.c:68,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrmap.c:69,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:71,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_attrmap.c:73,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:75,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrmap.c:77,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:79,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_attrmap.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - method
    - am
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ATTRIBUTE_MAPPING*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 6
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: i2r_ATTRIBUTE_MAPPING
    functionSourceFile: /src/openssl/crypto/x509/v3_attrmap.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_OBJECT
    - ossl_print_attribute_value
    - BIO_puts
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int i2r_ATTRIBUTE_MAPPING(X509V3_EXT_METHOD *method,\n                                 OSSL_ATTRIBUTE_MAPPING
      *am,\n                                 BIO *out, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ATTRIBUTE_MAPPING_num
      Src: /src/openssl/crypto/x509/v3_attrmap.c:95,1
    - Dst: sk_OSSL_ATTRIBUTE_MAPPING_value
      Src: /src/openssl/crypto/x509/v3_attrmap.c:96,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrmap.c:97,1
    - Dst: i2r_ATTRIBUTE_MAPPING
      Src: /src/openssl/crypto/x509/v3_attrmap.c:99,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrmap.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - method
    - ams
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ATTRIBUTE_MAPPINGS*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 7
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: i2r_ATTRIBUTE_MAPPINGS
    functionSourceFile: /src/openssl/crypto/x509/v3_attrmap.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_ATTRIBUTE_MAPPING_value
    - BIO_puts
    - i2r_ATTRIBUTE_MAPPING
    - sk_OSSL_ATTRIBUTE_MAPPING_num
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ATTRIBUTE_MAPPINGS(X509V3_EXT_METHOD *method,\n                                  OSSL_ATTRIBUTE_MAPPINGS
      *ams,\n                                  BIO *out, int indent)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:50,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_aaa.c:52,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_aaa.c:54,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/crypto/x509/v3_aaa.c:57,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_aaa.c:58,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:59,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_aaa.c:61,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_aaa.c:63,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/v3_aaa.c:65,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/v3_aaa.c:66,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_aaa.c:67,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_aaa.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - method
    - a
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ALLOWED_ATTRIBUTES_CHOICE*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: i2r_ALLOWED_ATTRIBUTES_CHOICE
    functionSourceFile: /src/openssl/crypto/x509/v3_aaa.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_get0_object
    - X509_ATTRIBUTE_count
    - BIO_puts
    - ossl_print_attribute_value
    - i2a_ASN1_OBJECT
    - X509_ATTRIBUTE_get0_type
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ALLOWED_ATTRIBUTES_CHOICE(X509V3_EXT_METHOD *method,\n                                         OSSL_ALLOWED_ATTRIBUTES_CHOICE
      *a,\n                                         BIO *out, int indent)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_num
      Src: /src/openssl/crypto/x509/v3_aaa.c:86,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:87,1
    - Dst: sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_value
      Src: /src/openssl/crypto/x509/v3_aaa.c:89,1
    - Dst: i2r_ALLOWED_ATTRIBUTES_CHOICE
      Src: /src/openssl/crypto/x509/v3_aaa.c:90,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:93,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_aaa.c:95,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_aaa.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - method
    - aai
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ALLOWED_ATTRIBUTES_ITEM*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 7
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: i2r_ALLOWED_ATTRIBUTES_ITEM
    functionSourceFile: /src/openssl/crypto/x509/v3_aaa.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - i2r_ALLOWED_ATTRIBUTES_CHOICE
    - BIO_puts
    - sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_num
    - sk_OSSL_ALLOWED_ATTRIBUTES_CHOICE_value
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ALLOWED_ATTRIBUTES_ITEM(X509V3_EXT_METHOD *method,\n                                       OSSL_ALLOWED_ATTRIBUTES_ITEM
      *aai,\n                                       BIO *out, int indent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_num
      Src: /src/openssl/crypto/x509/v3_aaa.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_aaa.c:110,1
    - Dst: sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_value
      Src: /src/openssl/crypto/x509/v3_aaa.c:112,1
    - Dst: i2r_ALLOWED_ATTRIBUTES_ITEM
      Src: /src/openssl/crypto/x509/v3_aaa.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - method
    - aaa
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ALLOWED_ATTRIBUTES_SYNTAX*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 8
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: i2r_ALLOWED_ATTRIBUTES_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_aaa.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - i2r_ALLOWED_ATTRIBUTES_ITEM
    - sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_value
    - sk_OSSL_ALLOWED_ATTRIBUTES_ITEM_num
    linkageType: ''
    returnType: int
    signature: "int i2r_ALLOWED_ATTRIBUTES_SYNTAX(X509V3_EXT_METHOD *method,\n                                         OSSL_ALLOWED_ATTRIBUTES_SYNTAX
      *aaa,\n                                         BIO *out, int indent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509V3_EXT_METHOD_new
      Src: /src/openssl/crypto/x509/v3_lib.c:28,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_lib.c:29,1
    - Dst: sk_X509V3_EXT_METHOD_push
      Src: /src/openssl/crypto/x509/v3_lib.c:32,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_lib.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509V3_EXT_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: X509V3_EXT_add
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached:
    - sk_X509V3_EXT_METHOD_new
    - ERR_raise
    - sk_X509V3_EXT_METHOD_push
    linkageType: ''
    returnType: int
    signature: int X509V3_EXT_add(X509V3_EXT_METHOD *ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509V3_EXT_METHOD**
    - X509V3_EXT_METHOD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ext_cmp
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ext_cmp(const X509V3_EXT_METHOD *const *a,\n                   const
      X509V3_EXT_METHOD *const *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ext
      Src: /src/openssl/crypto/x509/v3_lib.c:61,1
    - Dst: sk_X509V3_EXT_METHOD_sort
      Src: /src/openssl/crypto/x509/v3_lib.c:67,1
    - Dst: sk_X509V3_EXT_METHOD_find
      Src: /src/openssl/crypto/x509/v3_lib.c:68,1
    - Dst: sk_X509V3_EXT_METHOD_value
      Src: /src/openssl/crypto/x509/v3_lib.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: X509V3_EXT_get_nid
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 2
    functionsReached:
    - sk_X509V3_EXT_METHOD_sort
    - OBJ_bsearch_ext
    - sk_X509V3_EXT_METHOD_value
    - sk_X509V3_EXT_METHOD_find
    linkageType: ''
    returnType: X509V3_EXT_METHOD
    signature: X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_lib.c:76,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_lib.c:76,1
    - Dst: X509V3_EXT_get_nid
      Src: /src/openssl/crypto/x509/v3_lib.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: X509V3_EXT_get
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 1
    functionsReached:
    - X509V3_EXT_get_nid
    - X509_EXTENSION_get_object
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509V3_EXT_METHOD
    signature: X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_add
      Src: /src/openssl/crypto/x509/v3_lib.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - extlist
    argTypes:
    - X509V3_EXT_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: X509V3_EXT_add_list
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_add
    linkageType: ''
    returnType: int
    signature: int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_get_nid
      Src: /src/openssl/crypto/x509/v3_lib.c:94,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_lib.c:95,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/v3_lib.c:98,1
    - Dst: X509V3_EXT_add
      Src: /src/openssl/crypto/x509/v3_lib.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_lib.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - nid_to
    - nid_from
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: X509V3_EXT_add_alias
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached:
    - X509V3_EXT_get_nid
    - ERR_raise
    - OPENSSL_free
    - X509V3_EXT_add
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int X509V3_EXT_add_alias(int nid_to, int nid_from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509V3_EXT_METHOD_pop_free
      Src: /src/openssl/crypto/x509/v3_lib.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: X509V3_EXT_cleanup
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached:
    - sk_X509V3_EXT_METHOD_pop_free
    linkageType: ''
    returnType: void
    signature: void X509V3_EXT_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_lib.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509V3_EXT_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: ext_list_free
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ext_list_free(X509V3_EXT_METHOD *ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: X509V3_add_standard_extensions
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509V3_add_standard_extensions(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_EXT_get
      Src: /src/openssl/crypto/x509/v3_lib.c:141,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/v3_lib.c:143,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/x509/v3_lib.c:144,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/x509/v3_lib.c:145,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/x509/v3_lib.c:147,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/x509/v3_lib.c:147,1
    - Dst: X509V3_EXT_METHOD*::d2i
      Src: /src/openssl/crypto/x509/v3_lib.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ext
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: X509V3_EXT_d2i
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 1
    functionsReached:
    - X509V3_EXT_METHOD*::d2i
    - X509V3_EXT_get
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - ASN1_ITEM_ptr
    - X509_EXTENSION_get_data
    - ASN1_item_d2i
    linkageType: ''
    returnType: void
    signature: void *X509V3_EXT_d2i(X509_EXTENSION *ext)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/v3_lib.c:186,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/v3_lib.c:187,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_lib.c:188,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/v3_lib.c:188,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/v3_lib.c:205,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/crypto/x509/v3_lib.c:206,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - STACK_OF*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 215
    functionName: X509V3_get_d2i
    functionSourceFile: /src/openssl/crypto/x509/v3_lib.c
    functionUses: 4
    functionsReached:
    - sk_X509_EXTENSION_value
    - X509V3_EXT_d2i
    - X509_EXTENSION_get_object
    - sk_X509_EXTENSION_num
    - X509_EXTENSION_get_critical
    - OBJ_obj2nid
    linkageType: ''
    returnType: void
    signature: "void *X509V3_get_d2i(const STACK_OF(X509_EXTENSION) *x, int nid, int
      *crit,\n                     int *idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/x509/x509_err.c:94,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/x509/x509_err.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: ossl_err_load_X509_strings
    functionSourceFile: /src/openssl/crypto/x509/x509_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_X509_strings(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:83,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/x509/v3_admis.c:88,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_admis.c:88,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:90,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/v3_admis.c:93,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:95,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:100,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_admis.c:101,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:106,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_admis.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:108,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 4
    argNames:
    - method
    - in
    - bp
    - ind
    argTypes:
    - struct v3_ext_method*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 115
    functionName: i2r_NAMING_AUTHORITY
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2txt
    - ASN1_STRING_print
    - OBJ_nid2ln
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_NAMING_AUTHORITY(const struct v3_ext_method *method, void
      *in,\n                                BIO *bp, int ind)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:124,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:125,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_admis.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:127,1
    - Dst: sk_ADMISSIONS_num
      Src: /src/openssl/crypto/x509/v3_admis.c:131,1
    - Dst: sk_ADMISSIONS_value
      Src: /src/openssl/crypto/x509/v3_admis.c:132,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:134,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:138,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:139,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_admis.c:140,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:141,1
    - Dst: i2r_NAMING_AUTHORITY
      Src: /src/openssl/crypto/x509/v3_admis.c:146,1
    - Dst: sk_PROFESSION_INFO_num
      Src: /src/openssl/crypto/x509/v3_admis.c:150,1
    - Dst: sk_PROFESSION_INFO_value
      Src: /src/openssl/crypto/x509/v3_admis.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:153,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:157,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_admis.c:158,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:159,1
    - Dst: i2r_NAMING_AUTHORITY
      Src: /src/openssl/crypto/x509/v3_admis.c:164,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:170,1
    - Dst: sk_ASN1_STRING_num
      Src: /src/openssl/crypto/x509/v3_admis.c:172,1
    - Dst: sk_ASN1_STRING_value
      Src: /src/openssl/crypto/x509/v3_admis.c:173,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:175,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_admis.c:176,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:177,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:183,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/x509/v3_admis.c:185,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/x509/v3_admis.c:186,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/x509/v3_admis.c:187,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/v3_admis.c:187,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/v3_admis.c:190,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_admis.c:191,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 61
    argCount: 4
    argNames:
    - method
    - in
    - bp
    - ind
    argTypes:
    - struct v3_ext_method*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 203
    functionName: i2r_ADMISSION_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - sk_ASN1_OBJECT_value
    - OBJ_obj2txt
    - sk_ADMISSIONS_value
    - sk_PROFESSION_INFO_value
    - ASN1_STRING_print
    - sk_PROFESSION_INFO_num
    - i2r_NAMING_AUTHORITY
    - sk_ASN1_STRING_value
    - sk_ASN1_STRING_num
    - OBJ_nid2ln
    - sk_ASN1_OBJECT_num
    - sk_ADMISSIONS_num
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ADMISSION_SYNTAX(const struct v3_ext_method *method, void
      *in,\n                                BIO *bp, int ind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMING_AUTHORITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: NAMING_AUTHORITY_get0_authorityId
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId(const NAMING_AUTHORITY
      *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_admis.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - id
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: NAMING_AUTHORITY_set0_authorityId
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: void NAMING_AUTHORITY_set0_authorityId(NAMING_AUTHORITY *n, ASN1_OBJECT
      *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMING_AUTHORITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: NAMING_AUTHORITY_get0_authorityURL
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_IA5STRING
    signature: ASN1_IA5STRING *NAMING_AUTHORITY_get0_authorityURL(const NAMING_AUTHORITY
      *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/x509/v3_admis.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - u
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_IA5STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: NAMING_AUTHORITY_set0_authorityURL
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - ASN1_IA5STRING_free
    linkageType: ''
    returnType: void
    signature: void NAMING_AUTHORITY_set0_authorityURL(NAMING_AUTHORITY *n, ASN1_IA5STRING
      *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - NAMING_AUTHORITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: NAMING_AUTHORITY_get0_authorityText
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_STRING
    signature: ASN1_STRING *NAMING_AUTHORITY_get0_authorityText(const NAMING_AUTHORITY
      *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/x509/v3_admis.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - t
    argTypes:
    - NAMING_AUTHORITY*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: NAMING_AUTHORITY_set0_authorityText
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - ASN1_IA5STRING_free
    linkageType: ''
    returnType: void
    signature: void NAMING_AUTHORITY_set0_authorityText(NAMING_AUTHORITY *n, ASN1_STRING
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - as
    argTypes:
    - ADMISSION_SYNTAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: ADMISSION_SYNTAX_get0_admissionAuthority
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GENERAL_NAME
    signature: GENERAL_NAME *ADMISSION_SYNTAX_get0_admissionAuthority(const ADMISSION_SYNTAX
      *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_admis.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - as
    - aa
    argTypes:
    - ADMISSION_SYNTAX*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: ADMISSION_SYNTAX_set0_admissionAuthority
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_free
    linkageType: ''
    returnType: void
    signature: "void ADMISSION_SYNTAX_set0_admissionAuthority(ADMISSION_SYNTAX *as,\n
      \                                             GENERAL_NAME *aa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - as
    argTypes:
    - ADMISSION_SYNTAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: ADMISSION_SYNTAX_get0_contentsOfAdmissions
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *ADMISSION_SYNTAX_get0_contentsOfAdmissions(const ADMISSION_SYNTAX
      *as)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADMISSIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: ADMISSIONS_get0_admissionAuthority
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GENERAL_NAME
    signature: GENERAL_NAME *ADMISSIONS_get0_admissionAuthority(const ADMISSIONS *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_admis.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - aa
    argTypes:
    - ADMISSIONS*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: ADMISSIONS_set0_admissionAuthority
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_free
    linkageType: ''
    returnType: void
    signature: void ADMISSIONS_set0_admissionAuthority(ADMISSIONS *a, GENERAL_NAME
      *aa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADMISSIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: ADMISSIONS_get0_namingAuthority
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NAMING_AUTHORITY
    signature: NAMING_AUTHORITY *ADMISSIONS_get0_namingAuthority(const ADMISSIONS
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAMING_AUTHORITY_free
      Src: /src/openssl/crypto/x509/v3_admis.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - na
    argTypes:
    - ADMISSIONS*
    - NAMING_AUTHORITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: ADMISSIONS_set0_namingAuthority
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - NAMING_AUTHORITY_free
    linkageType: ''
    returnType: void
    signature: void ADMISSIONS_set0_namingAuthority(ADMISSIONS *a, NAMING_AUTHORITY
      *na)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADMISSIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: ADMISSIONS_get0_professionInfos
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROFESSION_INFOS
    signature: PROFESSION_INFOS *ADMISSIONS_get0_professionInfos(const ADMISSIONS
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_PROFESSION_INFO_pop_free
      Src: /src/openssl/crypto/x509/v3_admis.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - pi
    argTypes:
    - ADMISSIONS*
    - PROFESSION_INFOS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: ADMISSIONS_set0_professionInfos
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - sk_PROFESSION_INFO_pop_free
    linkageType: ''
    returnType: void
    signature: void ADMISSIONS_set0_professionInfos(ADMISSIONS *a, PROFESSION_INFOS
      *pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: PROFESSION_INFO_get0_addProfessionInfo
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *PROFESSION_INFO_get0_addProfessionInfo(const PROFESSION_INFO
      *pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_admis.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - aos
    argTypes:
    - PROFESSION_INFO*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: PROFESSION_INFO_set0_addProfessionInfo
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: "void PROFESSION_INFO_set0_addProfessionInfo(PROFESSION_INFO *pi,\n
      \                                           ASN1_OCTET_STRING *aos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: PROFESSION_INFO_get0_namingAuthority
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NAMING_AUTHORITY
    signature: NAMING_AUTHORITY *PROFESSION_INFO_get0_namingAuthority(const PROFESSION_INFO
      *pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NAMING_AUTHORITY_free
      Src: /src/openssl/crypto/x509/v3_admis.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - na
    argTypes:
    - PROFESSION_INFO*
    - NAMING_AUTHORITY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: PROFESSION_INFO_set0_namingAuthority
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - NAMING_AUTHORITY_free
    linkageType: ''
    returnType: void
    signature: "void PROFESSION_INFO_set0_namingAuthority(PROFESSION_INFO *pi,\n                                          NAMING_AUTHORITY
      *na)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: PROFESSION_INFO_get0_professionItems
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *PROFESSION_INFO_get0_professionItems(const PROFESSION_INFO
      *pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: PROFESSION_INFO_get0_professionOIDs
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *PROFESSION_INFO_get0_professionOIDs(const PROFESSION_INFO
      *pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pi
    argTypes:
    - PROFESSION_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: PROFESSION_INFO_get0_registrationNumber
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_PRINTABLESTRING
    signature: ASN1_PRINTABLESTRING *PROFESSION_INFO_get0_registrationNumber(const
      PROFESSION_INFO *pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRINTABLESTRING_free
      Src: /src/openssl/crypto/x509/v3_admis.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pi
    - rn
    argTypes:
    - PROFESSION_INFO*
    - ASN1_PRINTABLESTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: PROFESSION_INFO_set0_registrationNumber
    functionSourceFile: /src/openssl/crypto/x509/v3_admis.c
    functionUses: 0
    functionsReached:
    - ASN1_PRINTABLESTRING_free
    linkageType: ''
    returnType: void
    signature: "void PROFESSION_INFO_set0_registrationNumber(PROFESSION_INFO *pi,\n
      \                                            ASN1_PRINTABLESTRING *rn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - su
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: i2r_NO_REV_AVAIL
    functionSourceFile: /src/openssl/crypto/x509/v3_no_rev_avail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int i2r_NO_REV_AVAIL(X509V3_EXT_METHOD *method,\n                            void
      *su, BIO *out,\n                            int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_no_rev_avail.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: r2i_NO_REV_AVAIL
    functionSourceFile: /src/openssl/crypto/x509/v3_no_rev_avail.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: "void *r2i_NO_REV_AVAIL(X509V3_EXT_METHOD *method,\n                            X509V3_CTX
      *ctx, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_no_rev_avail.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - val
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: i2s_NO_REV_AVAIL
    functionSourceFile: /src/openssl/crypto/x509/v3_no_rev_avail.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *i2s_NO_REV_AVAIL(const X509V3_EXT_METHOD *method, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_no_rev_avail.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: s2i_NO_REV_AVAIL
    functionSourceFile: /src/openssl/crypto/x509/v3_no_rev_avail.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: void *s2i_NO_REV_AVAIL(const X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - su
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: i2r_NO_ASSERTION
    functionSourceFile: /src/openssl/crypto/x509/v3_no_ass.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int i2r_NO_ASSERTION(X509V3_EXT_METHOD *method,\n                            void
      *su, BIO *out,\n                            int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_no_ass.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: r2i_NO_ASSERTION
    functionSourceFile: /src/openssl/crypto/x509/v3_no_ass.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: "void *r2i_NO_ASSERTION(X509V3_EXT_METHOD *method,\n                              X509V3_CTX
      *ctx, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_no_ass.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - val
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: i2s_NO_ASSERTION
    functionSourceFile: /src/openssl/crypto/x509/v3_no_ass.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *i2s_NO_ASSERTION(const X509V3_EXT_METHOD *method, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_no_ass.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: s2i_NO_ASSERTION
    functionSourceFile: /src/openssl/crypto/x509/v3_no_ass.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: void *s2i_NO_ASSERTION(const X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/t_req.c:26,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/t_req.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_req.c:27,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/t_req.c:30,1
    - Dst: X509_REQ_print
      Src: /src/openssl/crypto/x509/t_req.c:31,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/t_req.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: X509_REQ_print_fp
    functionSourceFile: /src/openssl/crypto/x509/t_req.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - BIO_s_file
    - X509_REQ_print
    linkageType: ''
    returnType: int
    signature: int X509_REQ_print_fp(FILE *fp, X509_REQ *x)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/t_req.c:43,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:56,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:58,1
    - Dst: X509_REQ_get_version
      Src: /src/openssl/crypto/x509/t_req.c:62,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:64,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:67,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:72,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_req.c:74,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/x509/t_req.c:74,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:77,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:83,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:85,1
    - Dst: X509_REQ_get_X509_PUBKEY
      Src: /src/openssl/crypto/x509/t_req.c:87,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/x509/t_req.c:88,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_req.c:89,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_req.c:91,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/x509/t_req.c:94,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:96,1
    - Dst: ERR_print_errors
      Src: /src/openssl/crypto/x509/t_req.c:98,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/crypto/x509/t_req.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:107,1
    - Dst: X509_REQ_get_attr_count
      Src: /src/openssl/crypto/x509/t_req.c:110,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:111,1
    - Dst: X509_REQ_get_attr_count
      Src: /src/openssl/crypto/x509/t_req.c:114,1
    - Dst: X509_REQ_get_attr
      Src: /src/openssl/crypto/x509/t_req.c:121,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/crypto/x509/t_req.c:122,1
    - Dst: X509_REQ_extension_nid
      Src: /src/openssl/crypto/x509/t_req.c:123,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/t_req.c:123,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:125,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_req.c:127,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/t_req.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_req.c:131,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/t_req.c:135,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:140,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_req.c:142,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:150,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_req.c:153,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_req.c:157,1
    - Dst: X509_REQ_get_extensions
      Src: /src/openssl/crypto/x509/t_req.c:167,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:169,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/t_req.c:171,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/t_req.c:175,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:176,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/x509/t_req.c:178,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/t_req.c:179,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/t_req.c:181,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:182,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/x509/t_req.c:184,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_req.c:185,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/t_req.c:186,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/x509/t_req.c:187,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/t_req.c:190,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/t_req.c:193,1
    - Dst: X509_REQ_get0_signature
      Src: /src/openssl/crypto/x509/t_req.c:200,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_req.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_req.c:207,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 170
    argCount: 4
    argNames:
    - bp
    - x
    - nmflags
    - cflag
    argTypes:
    - BIO*
    - X509_REQ*
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 209
    functionName: X509_REQ_print_ex
    functionSourceFile: /src/openssl/crypto/x509/t_req.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_value
    - ERR_raise
    - X509_ATTRIBUTE_count
    - X509V3_EXT_print
    - X509_EXTENSION_get_object
    - X509_REQ_get0_pubkey
    - X509_REQ_extension_nid
    - BIO_write
    - X509_ATTRIBUTE_get0_object
    - X509_PUBKEY_get0_param
    - X509_REQ_get_version
    - X509_REQ_get_attr_count
    - ASN1_STRING_print
    - X509_EXTENSION_get_data
    - sk_X509_EXTENSION_num
    - X509_REQ_get0_signature
    - OBJ_obj2nid
    - BIO_printf
    - X509_REQ_get_X509_PUBKEY
    - X509_NAME_print_ex
    - sk_X509_EXTENSION_pop_free
    - BIO_puts
    - X509_REQ_get_attr
    - STACK_OF
    - i2a_ASN1_OBJECT
    - X509_REQ_get_extensions
    - X509_REQ_get_subject_name
    - EVP_PKEY_print_public
    - X509_signature_print
    - X509_EXTENSION_get_critical
    - ERR_print_errors
    - X509_ATTRIBUTE_get0_type
    linkageType: ''
    returnType: int
    signature: "int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,\n
      \                     unsigned long cflag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_print_ex
      Src: /src/openssl/crypto/x509/t_req.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 6
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: X509_REQ_print
    functionSourceFile: /src/openssl/crypto/x509/t_req.c
    functionUses: 1
    functionsReached:
    - X509_REQ_print_ex
    linkageType: ''
    returnType: int
    signature: int X509_REQ_print(BIO *bp, X509_REQ *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/x509/x_ietfatt.c:66,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_it
      Src: /src/openssl/crypto/x509/x_ietfatt.c:67,1
    - Dst: sk_OSSL_IETF_ATTR_SYNTAX_VALUE_num
      Src: /src/openssl/crypto/x509/x_ietfatt.c:71,1
    - Dst: sk_OSSL_IETF_ATTR_SYNTAX_VALUE_value
      Src: /src/openssl/crypto/x509/x_ietfatt.c:75,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_free
      Src: /src/openssl/crypto/x509/x_ietfatt.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_ietfatt.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: d2i_OSSL_IETF_ATTR_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_IETF_ATTR_SYNTAX_VALUE_num
    - ERR_raise
    - ASN1_item_d2i
    - sk_OSSL_IETF_ATTR_SYNTAX_VALUE_value
    - OSSL_IETF_ATTR_SYNTAX_it
    - OSSL_IETF_ATTR_SYNTAX_free
    linkageType: ''
    returnType: OSSL_IETF_ATTR_SYNTAX
    signature: "OSSL_IETF_ATTR_SYNTAX *d2i_OSSL_IETF_ATTR_SYNTAX (OSSL_IETF_ATTR_SYNTAX
      **a,\n                                                  const unsigned char
      **in,\n                                                  long len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/x509/x_ietfatt.c:95,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_it
      Src: /src/openssl/crypto/x509/x_ietfatt.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: i2d_OSSL_IETF_ATTR_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - OSSL_IETF_ATTR_SYNTAX_it
    - ASN1_item_i2d
    linkageType: ''
    returnType: int
    signature: "int i2d_OSSL_IETF_ATTR_SYNTAX (const OSSL_IETF_ATTR_SYNTAX *a,\n                               unsigned
      char **out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_IETF_ATTR_SYNTAX_VALUE_num
      Src: /src/openssl/crypto/x509/x_ietfatt.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: OSSL_IETF_ATTR_SYNTAX_get_value_num
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_IETF_ATTR_SYNTAX_VALUE_num
    linkageType: ''
    returnType: int
    signature: int OSSL_IETF_ATTR_SYNTAX_get_value_num(const OSSL_IETF_ATTR_SYNTAX
      *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: OSSL_IETF_ATTR_SYNTAX_get0_policyAuthority
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GENERAL_NAMES
    signature: 'GENERAL_NAMES *

      OSSL_IETF_ATTR_SYNTAX_get0_policyAuthority(const OSSL_IETF_ATTR_SYNTAX *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/x509/x_ietfatt.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - names
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    - GENERAL_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: OSSL_IETF_ATTR_SYNTAX_set0_policyAuthority
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAMES_free
    linkageType: ''
    returnType: void
    signature: "void OSSL_IETF_ATTR_SYNTAX_set0_policyAuthority(OSSL_IETF_ATTR_SYNTAX
      *a,\n                                                GENERAL_NAMES *names)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_IETF_ATTR_SYNTAX_VALUE_value
      Src: /src/openssl/crypto/x509/x_ietfatt.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - a
    - ind
    - type
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: OSSL_IETF_ATTR_SYNTAX_get0_value
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_IETF_ATTR_SYNTAX_VALUE_value
    linkageType: ''
    returnType: void
    signature: "void *OSSL_IETF_ATTR_SYNTAX_get0_value(const OSSL_IETF_ATTR_SYNTAX
      *a,\n                                       int ind, int *type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_IETF_ATTR_SYNTAX_VALUE_new_null
      Src: /src/openssl/crypto/x509/x_ietfatt.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_ietfatt.c:158,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_VALUE_new
      Src: /src/openssl/crypto/x509/x_ietfatt.c:162,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_VALUE_free
      Src: /src/openssl/crypto/x509/x_ietfatt.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_ietfatt.c:178,1
    - Dst: sk_OSSL_IETF_ATTR_SYNTAX_VALUE_push
      Src: /src/openssl/crypto/x509/x_ietfatt.c:182,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_VALUE_free
      Src: /src/openssl/crypto/x509/x_ietfatt.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_ietfatt.c:190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - a
    - type
    - data
    argTypes:
    - OSSL_IETF_ATTR_SYNTAX*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 192
    functionName: OSSL_IETF_ATTR_SYNTAX_add1_value
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_IETF_ATTR_SYNTAX_VALUE_free
    - OSSL_IETF_ATTR_SYNTAX_VALUE_new
    - sk_OSSL_IETF_ATTR_SYNTAX_VALUE_push
    - sk_OSSL_IETF_ATTR_SYNTAX_VALUE_new_null
    linkageType: ''
    returnType: int
    signature: "int OSSL_IETF_ATTR_SYNTAX_add1_value(OSSL_IETF_ATTR_SYNTAX *a, int
      type,\n                                     void *data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/x509/x_ietfatt.c:199,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:200,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/x_ietfatt.c:203,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/x509/x_ietfatt.c:203,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:207,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_get_value_num
      Src: /src/openssl/crypto/x509/x_ietfatt.c:212,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_get0_value
      Src: /src/openssl/crypto/x509/x_ietfatt.c:215,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:220,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/x_ietfatt.c:225,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:226,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/x_ietfatt.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/x_ietfatt.c:234,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - bp
    - a
    - indent
    argTypes:
    - BIO*
    - OSSL_IETF_ATTR_SYNTAX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 241
    functionName: OSSL_IETF_ATTR_SYNTAX_print
    functionSourceFile: /src/openssl/crypto/x509/x_ietfatt.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - OBJ_obj2txt
    - OSSL_IETF_ATTR_SYNTAX_get_value_num
    - ASN1_STRING_print
    - OSSL_IETF_ATTR_SYNTAX_get0_value
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int OSSL_IETF_ATTR_SYNTAX_print(BIO *bp, OSSL_IETF_ATTR_SYNTAX *a,
      int indent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/x509/t_crl.c:24,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/x509/t_crl.c:24,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/t_crl.c:25,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/x509/t_crl.c:28,1
    - Dst: X509_CRL_print
      Src: /src/openssl/crypto/x509/t_crl.c:29,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/x509/t_crl.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: X509_CRL_print_fp
    functionSourceFile: /src/openssl/crypto/x509/t_crl.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - X509_CRL_print
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int X509_CRL_print_fp(FILE *fp, X509_CRL *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_print_ex
      Src: /src/openssl/crypto/x509/t_crl.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - BIO*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: X509_CRL_print
    functionSourceFile: /src/openssl/crypto/x509/t_crl.c
    functionUses: 1
    functionsReached:
    - X509_CRL_print_ex
    linkageType: ''
    returnType: int
    signature: int X509_CRL_print(BIO *out, X509_CRL *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/t_crl.c:42,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:56,1
    - Dst: X509_CRL_get_version
      Src: /src/openssl/crypto/x509/t_crl.c:57,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:59,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:61,1
    - Dst: X509_CRL_get0_signature
      Src: /src/openssl/crypto/x509/t_crl.c:62,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_crl.c:63,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:64,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/t_crl.c:65,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/x509/t_crl.c:65,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/t_crl.c:66,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:67,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/crypto/x509/t_crl.c:68,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/x509/t_crl.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:69,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/crypto/x509/t_crl.c:70,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/crypto/x509/t_crl.c:71,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/crypto/x509/t_crl.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:74,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/x509/t_crl.c:76,1
    - Dst: X509_CRL_get0_extensions
      Src: /src/openssl/crypto/x509/t_crl.c:77,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/openssl/crypto/x509/t_crl.c:79,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/t_crl.c:81,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:82,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:84,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/openssl/crypto/x509/t_crl.c:86,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/openssl/crypto/x509/t_crl.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:88,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/t_crl.c:89,1
    - Dst: X509_REVOKED_get0_serialNumber
      Src: /src/openssl/crypto/x509/t_crl.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:90,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/crypto/x509/t_crl.c:91,1
    - Dst: X509_REVOKED_get0_revocationDate
      Src: /src/openssl/crypto/x509/t_crl.c:91,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/t_crl.c:92,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/x509/t_crl.c:93,1
    - Dst: X509_REVOKED_get0_extensions
      Src: /src/openssl/crypto/x509/t_crl.c:94,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/x509/t_crl.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - out
    - x
    - nmflag
    argTypes:
    - BIO*
    - X509_CRL*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 100
    functionName: X509_CRL_print_ex
    functionSourceFile: /src/openssl/crypto/x509/t_crl.c
    functionUses: 1
    functionsReached:
    - i2a_ASN1_INTEGER
    - X509_CRL_get_REVOKED
    - ASN1_TIME_print
    - X509_REVOKED_get0_extensions
    - sk_X509_REVOKED_num
    - X509_CRL_get0_nextUpdate
    - X509_REVOKED_get0_serialNumber
    - X509V3_extensions_print
    - BIO_printf
    - X509_NAME_print_ex
    - BIO_puts
    - STACK_OF
    - X509_CRL_get0_lastUpdate
    - sk_X509_REVOKED_value
    - X509_CRL_get0_extensions
    - X509_REVOKED_get0_revocationDate
    - X509_CRL_get0_signature
    - X509_signature_print
    - X509_CRL_get_issuer
    - X509_CRL_get_version
    linkageType: ''
    returnType: int
    signature: int X509_CRL_print_ex(BIO *out, X509_CRL *x, unsigned long nmflag)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISSUER_SIGN_TOOL_new
      Src: /src/openssl/crypto/x509/v3_ist.c:38,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:42,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_ist.c:45,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_ist.c:46,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_ist.c:51,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/x509/v3_ist.c:52,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_ist.c:55,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ist.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:56,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_ist.c:59,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/x509/v3_ist.c:60,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_ist.c:63,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ist.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:64,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_ist.c:67,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/x509/v3_ist.c:68,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_ist.c:71,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ist.c:71,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:72,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_ist.c:75,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/x509/v3_ist.c:76,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_ist.c:79,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_ist.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:84,1
    - Dst: ISSUER_SIGN_TOOL_free
      Src: /src/openssl/crypto/x509/v3_ist.c:91,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 93
    functionName: v2i_issuer_sign_tool
    functionSourceFile: /src/openssl/crypto/x509/v3_ist.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_STRING_set
    - sk_CONF_VALUE_num
    - ISSUER_SIGN_TOOL_free
    - strcmp
    - ISSUER_SIGN_TOOL_new
    - strlen
    - ASN1_UTF8STRING_new
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: ISSUER_SIGN_TOOL
    signature: "ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method,
      X509V3_CTX *ctx,\n                        STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_ist.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ist.c:106,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:107,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:112,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ist.c:114,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:115,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:120,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ist.c:122,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:123,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:128,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_ist.c:130,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/v3_ist.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - method
    - ist
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - ISSUER_SIGN_TOOL*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 135
    functionName: i2r_issuer_sign_tool
    functionSourceFile: /src/openssl/crypto/x509/v3_ist.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ERR_raise
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_issuer_sign_tool(X509V3_EXT_METHOD *method,\n                                 ISSUER_SIGN_TOOL
      *ist, BIO *out,\n                                 int indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x509_v3.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: X509v3_get_ext_count
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 3
    functionsReached:
    - sk_X509_EXTENSION_num
    linkageType: ''
    returnType: int
    signature: int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509_v3.c:35,1
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/x509/x509_v3.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - STACK_OF*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: X509v3_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 3
    functionsReached:
    - X509v3_get_ext_by_OBJ
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: "int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, int nid,\n
      \                         int lastpos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x509_v3.c:52,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x509_v3.c:54,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/x509_v3.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sk
    - obj
    - lastpos
    argTypes:
    - STACK_OF*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: X509v3_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 4
    functionsReached:
    - sk_X509_EXTENSION_num
    - OBJ_cmp
    - sk_X509_EXTENSION_value
    linkageType: ''
    returnType: int
    signature: "int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *sk,\n                          const
      ASN1_OBJECT *obj, int lastpos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x509_v3.c:72,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x509_v3.c:74,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/x509/x509_v3.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sk
    - crit
    - lastpos
    argTypes:
    - STACK_OF*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: X509v3_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 3
    functionsReached:
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_value
    - X509_EXTENSION_get_critical
    linkageType: ''
    returnType: int
    signature: "int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *sk,
      int crit,\n                               int lastpos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x509_v3.c:85,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/x509/x509_v3.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: X509v3_get_ext
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 3
    functionsReached:
    - sk_X509_EXTENSION_num
    - sk_X509_EXTENSION_value
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int
      loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509_v3.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_v3.c:184,1
    - Dst: X509_EXTENSION_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509_v3.c:187,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_v3.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ex
    - nid
    - crit
    - data
    argTypes:
    - X509_EXTENSION**
    - int
    - int
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: X509_EXTENSION_create_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509_EXTENSION_create_by_OBJ
    - OBJ_nid2obj
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: X509_EXTENSION
    signature: "X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex,
      int nid,\n                                             int crit,\n                                             ASN1_OCTET_STRING
      *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_EXTENSION_new
      Src: /src/openssl/crypto/x509/x509_v3.c:200,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_v3.c:201,1
    - Dst: X509_EXTENSION_set_object
      Src: /src/openssl/crypto/x509/x509_v3.c:207,1
    - Dst: X509_EXTENSION_set_critical
      Src: /src/openssl/crypto/x509/x509_v3.c:209,1
    - Dst: X509_EXTENSION_set_data
      Src: /src/openssl/crypto/x509/x509_v3.c:211,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/x509/x509_v3.c:219,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - ex
    - obj
    - crit
    - data
    argTypes:
    - X509_EXTENSION**
    - ASN1_OBJECT*
    - int
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 221
    functionName: X509_EXTENSION_create_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 2
    functionsReached:
    - X509_EXTENSION_set_data
    - ERR_raise
    - X509_EXTENSION_set_critical
    - X509_EXTENSION_set_object
    - X509_EXTENSION_free
    - X509_EXTENSION_new
    linkageType: ''
    returnType: X509_EXTENSION
    signature: "X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex,\n
      \                                            const ASN1_OBJECT *obj, int crit,\n
      \                                            ASN1_OCTET_STRING *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_v3.c:227,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x509_v3.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ex
    - obj
    argTypes:
    - X509_EXTENSION*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: X509_EXTENSION_set_object
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 1
    functionsReached:
    - OBJ_dup
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int X509_EXTENSION_set_object(X509_EXTENSION *ex, const ASN1_OBJECT
      *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ex
    - crit
    argTypes:
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: X509_EXTENSION_set_critical
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/x509_v3.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ex
    - data
    argTypes:
    - X509_EXTENSION*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: X509_EXTENSION_set_data
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 1
    functionsReached:
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: int
    signature: int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: X509_EXTENSION_get_object
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: X509_EXTENSION_get_data
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ex)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ex
    argTypes:
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: X509_EXTENSION_get_critical
    functionSourceFile: /src/openssl/crypto/x509/x509_v3.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_EXTENSION_get_critical(const X509_EXTENSION *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/x509/x509spki.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - x
    - pkey
    argTypes:
    - NETSCAPE_SPKI*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: NETSCAPE_SPKI_set_pubkey
    functionSourceFile: /src/openssl/crypto/x509/x509spki.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/x509/x509spki.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - NETSCAPE_SPKI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: NETSCAPE_SPKI_get_pubkey
    functionSourceFile: /src/openssl/crypto/x509/x509spki.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/x509/x509spki.c:37,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x509spki.c:38,1
    - Dst: EVP_DecodeBlock
      Src: /src/openssl/crypto/x509/x509spki.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509spki.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509spki.c:43,1
    - Dst: d2i_NETSCAPE_SPKI
      Src: /src/openssl/crypto/x509/x509spki.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509spki.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: NETSCAPE_SPKI_b64_decode
    functionSourceFile: /src/openssl/crypto/x509/x509spki.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - d2i_NETSCAPE_SPKI
    - strlen
    - OPENSSL_malloc
    - EVP_DecodeBlock
    linkageType: ''
    returnType: NETSCAPE_SPKI
    signature: NETSCAPE_SPKI *NETSCAPE_SPKI_b64_decode(const char *str, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_NETSCAPE_SPKI
      Src: /src/openssl/crypto/x509/x509spki.c:60,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x509spki.c:63,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/x509/x509spki.c:64,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509spki.c:66,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509spki.c:67,1
    - Dst: i2d_NETSCAPE_SPKI
      Src: /src/openssl/crypto/x509/x509spki.c:71,1
    - Dst: EVP_EncodeBlock
      Src: /src/openssl/crypto/x509/x509spki.c:72,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509spki.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - spki
    argTypes:
    - NETSCAPE_SPKI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: NETSCAPE_SPKI_b64_encode
    functionSourceFile: /src/openssl/crypto/x509/x509spki.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc_array
    - i2d_NETSCAPE_SPKI
    - OPENSSL_free
    - EVP_EncodeBlock
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_pmaps.c:72,1
    - Dst: sk_POLICY_MAPPING_new_reserve
      Src: /src/openssl/crypto/x509/v3_pmaps.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pmaps.c:76,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_pmaps.c:81,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_pmaps.c:83,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_pmaps.c:87,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_pmaps.c:88,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_pmaps.c:90,1
    - Dst: POLICY_MAPPING_new
      Src: /src/openssl/crypto/x509/v3_pmaps.c:94,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_pmaps.c:96,1
    - Dst: sk_POLICY_MAPPING_push
      Src: /src/openssl/crypto/x509/v3_pmaps.c:102,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_pmaps.c:106,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_pmaps.c:107,1
    - Dst: sk_POLICY_MAPPING_pop_free
      Src: /src/openssl/crypto/x509/v3_pmaps.c:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 110
    functionName: v2i_POLICY_MAPPINGS
    functionSourceFile: /src/openssl/crypto/x509/v3_pmaps.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_POLICY_MAPPING_new_reserve
    - sk_CONF_VALUE_num
    - POLICY_MAPPING_new
    - ERR_raise_data
    - sk_POLICY_MAPPING_push
    - sk_POLICY_MAPPING_pop_free
    - OBJ_txt2obj
    - sk_CONF_VALUE_value
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: "void *v2i_POLICY_MAPPINGS(const X509V3_EXT_METHOD *method,\n                                 X509V3_CTX
      *ctx, STACK_OF(CONF_VALUE) *nval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/x509/x_name.c:92,1
    - Dst: sk_X509_NAME_ENTRY_new_null
      Src: /src/openssl/crypto/x509/x_name.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:97,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/x509/x_name.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:101,1
    - Dst: sk_X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x_name.c:110,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - val
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: x509_name_ex_new
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_free
    - sk_X509_NAME_ENTRY_free
    - sk_X509_NAME_ENTRY_new_null
    - BUF_MEM_new
    linkageType: ''
    returnType: int
    signature: int x509_name_ex_new(ASN1_VALUE **val, const ASN1_ITEM *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/x509/x_name.c:124,1
    - Dst: sk_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/x_name.c:125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: x509_name_ex_free
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 0
    functionsReached:
    - sk_X509_NAME_ENTRY_pop_free
    - BUF_MEM_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void x509_name_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_name.c:160,1
    - Dst: ASN1_item_ex_d2i
      Src: /src/openssl/crypto/x509/x_name.c:168,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_name.c:169,1
    - Dst: x509_name_ex_free
      Src: /src/openssl/crypto/x509/x_name.c:176,1
    - Dst: x509_name_ex_new
      Src: /src/openssl/crypto/x509/x_name.c:177,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/x509/x_name.c:180,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x_name.c:182,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x_name.c:185,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x_name.c:186,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x_name.c:187,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x_name.c:188,1
    - Dst: sk_X509_NAME_ENTRY_push
      Src: /src/openssl/crypto/x509/x_name.c:190,1
    - Dst: sk_X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/x509/x_name.c:192,1
    - Dst: x509_name_canon
      Src: /src/openssl/crypto/x509/x_name.c:195,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/x_name.c:198,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x_name.c:207,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/x_name.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 8
    argNames:
    - val
    - in
    - len
    - it
    - tag
    - aclass
    - opt
    - ctx
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - int
    - int
    - char
    - ASN1_TLC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 212
    functionName: x509_name_ex_d2i
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 0
    functionsReached:
    - sk_STACK_OF_X509_NAME_ENTRY_num
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    - sk_X509_NAME_ENTRY_value
    - ERR_raise
    - sk_X509_NAME_ENTRY_num
    - sk_STACK_OF_X509_NAME_ENTRY_value
    - memcpy
    - ASN1_ITEM_rptr
    - x509_name_ex_free
    - ASN1_item_ex_d2i
    - STACK_OF
    - sk_X509_NAME_ENTRY_set
    - x509_name_canon
    - X509_NAME_free
    - BUF_MEM_grow
    - sk_X509_NAME_ENTRY_push
    - x509_name_ex_new
    linkageType: ''
    returnType: int
    signature: "int x509_name_ex_d2i(ASN1_VALUE **val,\n                            const
      unsigned char **in, long len,\n                            const ASN1_ITEM *it,
      int tag, int aclass,\n                            char opt, ASN1_TLC *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: x509_name_encode
      Src: /src/openssl/crypto/x509/x_name.c:221,1
    - Dst: x509_name_canon
      Src: /src/openssl/crypto/x509/x_name.c:224,1
    - Dst: memcpy
      Src: /src/openssl/crypto/x509/x_name.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - val
    - out
    - it
    - tag
    - aclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_ITEM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 234
    functionName: x509_name_ex_i2d
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 0
    functionsReached:
    - memcpy
    - x509_name_canon
    - x509_name_encode
    linkageType: ''
    returnType: int
    signature: "int x509_name_ex_i2d(const ASN1_VALUE **val, unsigned char **out,\n
      \                           const ASN1_ITEM *it, int tag, int aclass)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_name.c:246,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_new_null
      Src: /src/openssl/crypto/x509/x_name.c:250,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x_name.c:253,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x_name.c:254,1
    - Dst: sk_X509_NAME_ENTRY_new_null
      Src: /src/openssl/crypto/x509/x_name.c:256,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_push
      Src: /src/openssl/crypto/x509/x_name.c:259,1
    - Dst: sk_X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x_name.c:260,1
    - Dst: sk_X509_NAME_ENTRY_push
      Src: /src/openssl/crypto/x509/x_name.c:265,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/x509/x_name.c:268,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_name.c:269,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/x509/x_name.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:271,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/x509/x_name.c:275,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_name.c:276,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/x_name.c:277,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:282,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/x_name.c:284,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 287
    functionName: x509_name_encode
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 1
    functionsReached:
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    - sk_X509_NAME_ENTRY_value
    - ERR_raise
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_push
    - sk_STACK_OF_X509_NAME_ENTRY_new_null
    - ASN1_ITEM_rptr
    - ASN1_item_ex_i2d
    - STACK_OF
    - sk_X509_NAME_ENTRY_free
    - sk_X509_NAME_ENTRY_new_null
    - BUF_MEM_grow
    - sk_STACK_OF_X509_NAME_ENTRY_push
    linkageType: ''
    returnType: int
    signature: int x509_name_encode(X509_NAME *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/x509/x_name.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - out
    - pval
    - indent
    - fname
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - int
    - char*
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: x509_name_ex_print
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 0
    functionsReached:
    - X509_NAME_print_ex
    linkageType: ''
    returnType: int
    signature: "int x509_name_ex_print(BIO *out, const ASN1_VALUE **pval,\n                              int
      indent,\n                              const char *fname, const ASN1_PCTX *pctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_name.c:313,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_name.c:314,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:318,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x_name.c:321,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_new_null
      Src: /src/openssl/crypto/x509/x_name.c:325,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:327,1
    - Dst: sk_X509_NAME_ENTRY_num
      Src: /src/openssl/crypto/x509/x_name.c:330,1
    - Dst: sk_X509_NAME_ENTRY_value
      Src: /src/openssl/crypto/x509/x_name.c:331,1
    - Dst: sk_X509_NAME_ENTRY_new_null
      Src: /src/openssl/crypto/x509/x_name.c:333,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_push
      Src: /src/openssl/crypto/x509/x_name.c:336,1
    - Dst: sk_X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x_name.c:337,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:338,1
    - Dst: X509_NAME_ENTRY_new
      Src: /src/openssl/crypto/x509/x_name.c:343,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:345,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x_name.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:350,1
    - Dst: asn1_string_canon
      Src: /src/openssl/crypto/x509/x_name.c:353,1
    - Dst: sk_X509_NAME_ENTRY_push
      Src: /src/openssl/crypto/x509/x_name.c:355,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:356,1
    - Dst: i2d_name_canon
      Src: /src/openssl/crypto/x509/x_name.c:363,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x_name.c:368,1
    - Dst: i2d_name_canon
      Src: /src/openssl/crypto/x509/x_name.c:374,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/crypto/x509/x_name.c:379,1
    - Dst: sk_STACK_OF_X509_NAME_ENTRY_pop_free
      Src: /src/openssl/crypto/x509/x_name.c:380,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 383
    functionName: x509_name_canon
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 2
    functionsReached:
    - asn1_string_canon
    - sk_STACK_OF_X509_NAME_ENTRY_pop_free
    - OBJ_dup
    - sk_X509_NAME_ENTRY_value
    - ERR_raise
    - sk_X509_NAME_ENTRY_num
    - sk_X509_NAME_ENTRY_push
    - sk_STACK_OF_X509_NAME_ENTRY_new_null
    - STACK_OF
    - OPENSSL_free
    - sk_X509_NAME_ENTRY_free
    - sk_X509_NAME_ENTRY_new_null
    - i2d_name_canon
    - X509_NAME_ENTRY_new
    - X509_NAME_ENTRY_free
    - OPENSSL_malloc
    - sk_STACK_OF_X509_NAME_ENTRY_push
    linkageType: ''
    returnType: int
    signature: int x509_name_canon(X509_NAME *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_tag2bit
      Src: /src/openssl/crypto/x509/x_name.c:398,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/x509/x_name.c:399,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/openssl/crypto/x509/x_name.c:405,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/x_name.c:422,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/x_name.c:430,1
    - Dst: ossl_isascii
      Src: /src/openssl/crypto/x509/x_name.c:440,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/x_name.c:445,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/x509/x_name.c:457,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/x509/x_name.c:459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - ASN1_STRING*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 469
    functionName: asn1_string_canon
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 1
    functionsReached:
    - ossl_tolower
    - ossl_isspace
    - ASN1_STRING_copy
    - ASN1_tag2bit
    - ossl_isascii
    - ASN1_STRING_to_UTF8
    linkageType: ''
    returnType: int
    signature: int asn1_string_canon(ASN1_STRING *out, const ASN1_STRING *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_name.c:476,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x_name.c:476,1
    - Dst: sk_ASN1_VALUE_num
      Src: /src/openssl/crypto/x509/x_name.c:479,1
    - Dst: sk_ASN1_VALUE_value
      Src: /src/openssl/crypto/x509/x_name.c:480,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/x509/x_name.c:481,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x_name.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - _intname
    - in
    argTypes:
    - STACK_OF*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: i2d_name_canon
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 1
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_ex_i2d
    - STACK_OF
    - sk_ASN1_VALUE_num
    - sk_ASN1_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int i2d_name_canon(const STACK_OF(STACK_OF_X509_NAME_ENTRY) * _intname,\n
      \                         unsigned char **in)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/x_name.c:496,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/x_name.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - xn
    - name
    argTypes:
    - X509_NAME**
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: X509_NAME_set
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 6
    functionsReached:
    - X509_NAME_free
    - X509_NAME_dup
    linkageType: ''
    returnType: int
    signature: int X509_NAME_set(X509_NAME **xn, const X509_NAME *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/x509/x_name.c:508,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:512,1
    - Dst: ossl_isupper
      Src: /src/openssl/crypto/x509/x_name.c:520,1
    - Dst: ossl_isupper
      Src: /src/openssl/crypto/x509/x_name.c:521,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/x_name.c:525,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/x509/x_name.c:529,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:538,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x_name.c:541,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x_name.c:542,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 3
    argNames:
    - bp
    - name
    - obase
    argTypes:
    - BIO*
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 544
    functionName: X509_NAME_print
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ERR_raise
    - OPENSSL_free
    - X509_NAME_oneline
    - ossl_isupper
    linkageType: ''
    returnType: int
    signature: int X509_NAME_print(BIO *bp, const X509_NAME *name, int obase)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/x509/x_name.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - nm
    - pder
    - pderlen
    argTypes:
    - X509_NAME*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 557
    functionName: X509_NAME_get0_der
    functionSourceFile: /src/openssl/crypto/x509/x_name.c
    functionUses: 0
    functionsReached:
    - i2d_X509_NAME
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_get0_der(const X509_NAME *nm, const unsigned char **pder,\n
      \                      size_t *pderlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/crypto/x509/x509_d2.c:20,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/crypto/x509/x509_d2.c:20,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:23,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/crypto/x509/x509_d2.c:25,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/crypto/x509/x509_d2.c:25,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/crypto/x509/x509_d2.c:28,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/crypto/x509/x509_d2.c:30,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/crypto/x509/x509_d2.c:30,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:38,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/x509/x509_d2.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - libctx
    - propq
    argTypes:
    - X509_STORE*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 44
    functionName: X509_STORE_set_default_paths_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_store
    - X509_LOOKUP_hash_dir
    - ERR_clear_error
    - X509_LOOKUP_load_file_ex
    - X509_LOOKUP_add_store_ex
    - X509_STORE_add_lookup
    - X509_LOOKUP_file
    - X509_LOOKUP_add_dir
    linkageType: ''
    returnType: int
    signature: "int X509_STORE_set_default_paths_ex(X509_STORE *ctx, OSSL_LIB_CTX
      *libctx,\n                                    const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_set_default_paths_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: X509_STORE_set_default_paths
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_set_default_paths_ex
    linkageType: ''
    returnType: int
    signature: int X509_STORE_set_default_paths(X509_STORE *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/crypto/x509/x509_d2.c:56,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/crypto/x509/x509_d2.c:56,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - file
    - libctx
    - propq
    argTypes:
    - X509_STORE*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: X509_STORE_load_file_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_file
    - X509_LOOKUP_load_file_ex
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: "int X509_STORE_load_file_ex(X509_STORE *ctx, const char *file,\n                            OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_file_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: X509_STORE_load_file
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_load_file_ex
    linkageType: ''
    returnType: int
    signature: int X509_STORE_load_file(X509_STORE *ctx, const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/crypto/x509/x509_d2.c:74,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/crypto/x509/x509_d2.c:74,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/crypto/x509/x509_d2.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: X509_STORE_load_path
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_add_dir
    - X509_LOOKUP_hash_dir
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int X509_STORE_load_path(X509_STORE *ctx, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/crypto/x509/x509_d2.c:87,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/crypto/x509/x509_d2.c:87,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - uri
    - libctx
    - propq
    argTypes:
    - X509_STORE*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: X509_STORE_load_store_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_store
    - X509_LOOKUP_add_store_ex
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: "int X509_STORE_load_store_ex(X509_STORE *ctx, const char *uri,\n                             OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_store_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - uri
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: X509_STORE_load_store
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_load_store_ex
    linkageType: ''
    returnType: int
    signature: int X509_STORE_load_store(X509_STORE *ctx, const char *uri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_file_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:105,1
    - Dst: X509_STORE_load_path
      Src: /src/openssl/crypto/x509/x509_d2.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - file
    - path
    - libctx
    - propq
    argTypes:
    - X509_STORE*
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: X509_STORE_load_locations_ex
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_load_path
    - X509_STORE_load_file_ex
    linkageType: ''
    returnType: int
    signature: "int X509_STORE_load_locations_ex(X509_STORE *ctx, const char *file,\n
      \                                const char *path, OSSL_LIB_CTX *libctx,\n                                 const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_locations_ex
      Src: /src/openssl/crypto/x509/x509_d2.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - file
    - path
    argTypes:
    - X509_STORE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: X509_STORE_load_locations
    functionSourceFile: /src/openssl/crypto/x509/x509_d2.c
    functionUses: 0
    functionsReached:
    - X509_STORE_load_locations_ex
    linkageType: ''
    returnType: int
    signature: "int X509_STORE_load_locations(X509_STORE *ctx, const char *file,\n
      \                             const char *path)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:30,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_authattid.c:31,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_authattid.c:32,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:34,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:36,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_authattid.c:37,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_authattid.c:39,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:41,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/x509/v3_authattid.c:42,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_authattid.c:44,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - method
    - iss
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ISSUER_SERIAL*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: i2r_ISSUER_SERIAL
    functionSourceFile: /src/openssl/crypto/x509/v3_authattid.c
    functionUses: 1
    functionsReached:
    - i2a_ASN1_INTEGER
    - i2a_ASN1_STRING
    - BIO_puts
    - OSSL_GENERAL_NAMES_print
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ISSUER_SERIAL(X509V3_EXT_METHOD *method,\n                             OSSL_ISSUER_SERIAL
      *iss,\n                             BIO *out, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ISSUER_SERIAL_num
      Src: /src/openssl/crypto/x509/v3_authattid.c:58,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_authattid.c:59,1
    - Dst: sk_OSSL_ISSUER_SERIAL_value
      Src: /src/openssl/crypto/x509/v3_authattid.c:61,1
    - Dst: i2r_ISSUER_SERIAL
      Src: /src/openssl/crypto/x509/v3_authattid.c:62,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_authattid.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - method
    - aids
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: i2r_auth_attr_id
    functionSourceFile: /src/openssl/crypto/x509/v3_authattid.c
    functionUses: 0
    functionsReached:
    - i2r_ISSUER_SERIAL
    - sk_OSSL_ISSUER_SERIAL_num
    - BIO_puts
    - BIO_printf
    - sk_OSSL_ISSUER_SERIAL_value
    linkageType: ''
    returnType: int
    signature: "int i2r_auth_attr_id(X509V3_EXT_METHOD *method,\n                            OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX
      *aids,\n                            BIO *out, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/x509/x509_att.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: X509at_get_attr_count
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 4
    functionsReached:
    - sk_X509_ATTRIBUTE_num
    linkageType: ''
    returnType: int
    signature: int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509_att.c:29,1
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_att.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - STACK_OF*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: X509at_get_attr_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 6
    functionsReached:
    - X509at_get_attr_by_OBJ
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: "int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int
      nid,\n                           int lastpos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/x509/x509_att.c:47,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/openssl/crypto/x509/x509_att.c:49,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/x509/x509_att.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sk
    - obj
    - lastpos
    argTypes:
    - STACK_OF*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: X509at_get_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 5
    functionsReached:
    - OBJ_cmp
    - sk_X509_ATTRIBUTE_num
    - sk_X509_ATTRIBUTE_value
    linkageType: ''
    returnType: int
    signature: "int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk,\n                           const
      ASN1_OBJECT *obj, int lastpos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:59,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/x509/x509_att.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:63,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/openssl/crypto/x509/x509_att.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: X509at_get_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - sk_X509_ATTRIBUTE_value
    - sk_X509_ATTRIBUTE_num
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x,
      int loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_att.c:241,1
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_att.c:246,1
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/x509/x509_att.c:248,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/crypto/x509/x509_att.c:249,1
    - Dst: X509_ATTRIBUTE_get0_data
      Src: /src/openssl/crypto/x509/x509_att.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - x
    - obj
    - lastpos
    - type
    argTypes:
    - STACK_OF*
    - ASN1_OBJECT*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: X509at_get0_data_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 2
    functionsReached:
    - X509at_get_attr_by_OBJ
    - X509_ATTRIBUTE_get0_data
    - X509at_get_attr
    - X509_ATTRIBUTE_count
    linkageType: ''
    returnType: void
    signature: "void *X509at_get0_data_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *x,\n
      \                             const ASN1_OBJECT *obj, int lastpos, int type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/x509_att.c:272,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:276,1
    - Dst: X509_ATTRIBUTE_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509_att.c:279,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_att.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - attr
    - nid
    - atrtype
    - data
    - len
    argTypes:
    - X509_ATTRIBUTE**
    - int
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: X509_ATTRIBUTE_create_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_create_by_OBJ
    - ERR_raise
    - OBJ_nid2obj
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: "X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr,
      int nid,\n                                             int atrtype, const void
      *data,\n                                             int len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_ATTRIBUTE_new
      Src: /src/openssl/crypto/x509/x509_att.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:294,1
    - Dst: X509_ATTRIBUTE_set1_object
      Src: /src/openssl/crypto/x509/x509_att.c:301,1
    - Dst: X509_ATTRIBUTE_set1_data
      Src: /src/openssl/crypto/x509/x509_att.c:303,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/crypto/x509/x509_att.c:311,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - attr
    - obj
    - atrtype
    - data
    - len
    argTypes:
    - X509_ATTRIBUTE**
    - ASN1_OBJECT*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 313
    functionName: X509_ATTRIBUTE_create_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509_ATTRIBUTE_set1_object
    - X509_ATTRIBUTE_free
    - X509_ATTRIBUTE_set1_data
    - X509_ATTRIBUTE_new
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: "X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr,\n
      \                                            const ASN1_OBJECT *obj,\n                                             int
      atrtype, const void *data,\n                                             int
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/x509_att.c:320,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/x509_att.c:324,1
    - Dst: X509_ATTRIBUTE_create_by_OBJ
      Src: /src/openssl/crypto/x509/x509_att.c:328,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_att.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - attr
    - atrname
    - type
    - bytes
    - len
    argTypes:
    - X509_ATTRIBUTE**
    - char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 331
    functionName: X509_ATTRIBUTE_create_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2obj
    - X509_ATTRIBUTE_create_by_OBJ
    - ERR_raise_data
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: "X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr,\n
      \                                            const char *atrname, int type,\n
      \                                            const unsigned char *bytes,\n                                             int
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:336,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/x509_att.c:339,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/x509/x509_att.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - attr
    - obj
    argTypes:
    - X509_ATTRIBUTE*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: X509_ATTRIBUTE_set1_object
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 1
    functionsReached:
    - OBJ_dup
    - ERR_raise
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT
      *obj)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:352,1
    - Dst: ASN1_STRING_set_by_NID
      Src: /src/openssl/crypto/x509/x509_att.c:356,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_att.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:359,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/x509/x509_att.c:364,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/x509_att.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:366,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/x509/x509_att.c:377,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/x509/x509_att.c:380,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:381,1
    - Dst: ASN1_TYPE_set1
      Src: /src/openssl/crypto/x509/x509_att.c:385,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:386,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/x509/x509_att.c:390,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/openssl/crypto/x509/x509_att.c:393,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:394,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/x509/x509_att.c:399,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/x509/x509_att.c:400,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 4
    argNames:
    - attr
    - attrtype
    - data
    - len
    argTypes:
    - X509_ATTRIBUTE*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 402
    functionName: X509_ATTRIBUTE_set1_data
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ASN1_STRING_free
    - ASN1_TYPE_set1
    - ASN1_TYPE_free
    - ASN1_TYPE_new
    - ASN1_STRING_type_new
    - ASN1_TYPE_set
    - ASN1_STRING_set
    - sk_ASN1_TYPE_push
    - ASN1_STRING_set_by_NID
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype,\n
      \                            const void *data, int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_TYPE_num
      Src: /src/openssl/crypto/x509/x509_att.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: X509_ATTRIBUTE_count
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 6
    functionsReached:
    - sk_ASN1_TYPE_num
    linkageType: ''
    returnType: int
    signature: int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - attr
    argTypes:
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: X509_ATTRIBUTE_get0_object
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/x509_att.c:423,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/x509/x509_att.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - attr
    - idx
    - atrtype
    - data
    argTypes:
    - X509_ATTRIBUTE*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 434
    functionName: X509_ATTRIBUTE_get0_data
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 1
    functionsReached:
    - X509_ATTRIBUTE_get0_type
    - ERR_raise
    - ASN1_TYPE_get
    linkageType: ''
    returnType: void
    signature: "void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx,\n                               int
      atrtype, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_att.c:439,1
    - Dst: sk_ASN1_TYPE_value
      Src: /src/openssl/crypto/x509/x509_att.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - attr
    - idx
    argTypes:
    - X509_ATTRIBUTE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: X509_ATTRIBUTE_get0_type
    functionSourceFile: /src/openssl/crypto/x509/x509_att.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - sk_ASN1_TYPE_value
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:132,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/x509/v3_timespec.c:134,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:136,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/x509/v3_timespec.c:138,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:141,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/x509/v3_timespec.c:143,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:145,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:148,1
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/x509/v3_timespec.c:150,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:153,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - method
    - time
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_TIME_SPEC_ABSOLUTE*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 156
    functionName: i2r_OSSL_TIME_SPEC_ABSOLUTE
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_puts
    - ossl_asn1_time_print_ex
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_TIME_SPEC_ABSOLUTE(X509V3_EXT_METHOD *method,\n                                       OSSL_TIME_SPEC_ABSOLUTE
      *time,\n                                       BIO *out, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:166,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:168,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:170,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - method
    - dt
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_DAY_TIME*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: i2r_OSSL_DAY_TIME
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get_int64
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_DAY_TIME(X509V3_EXT_METHOD *method,\n                             OSSL_DAY_TIME
      *dt,\n                             BIO *out, int indent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: i2r_OSSL_DAY_TIME
      Src: /src/openssl/crypto/x509/v3_timespec.c:181,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:183,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:186,1
    - Dst: i2r_OSSL_DAY_TIME
      Src: /src/openssl/crypto/x509/v3_timespec.c:189,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - method
    - band
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_DAY_TIME_BAND*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: i2r_OSSL_DAY_TIME_BAND
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - i2r_OSSL_DAY_TIME
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_DAY_TIME_BAND(X509V3_EXT_METHOD *method,\n                                  OSSL_DAY_TIME_BAND
      *band,\n                                  BIO *out, int indent)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:201,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:203,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:205,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:207,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:209,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:211,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:213,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:217,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:219,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:221,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - out
    - month
    argTypes:
    - BIO*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 228
    functionName: print_int_month
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int print_int_month(BIO *out, int64_t month)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/x509/v3_timespec.c:236,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:237,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - out
    - bs
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: print_bit_month
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: int print_bit_month(BIO *out, ASN1_BIT_STRING *bs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/x509/v3_timespec.c:258,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:259,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - out
    - bs
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: print_bit_week
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: int print_bit_week(BIO *out, ASN1_BIT_STRING *bs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/x509/v3_timespec.c:275,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:276,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - out
    - bs
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: print_day_of_week
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: int print_day_of_week(BIO *out, ASN1_BIT_STRING *bs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:290,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:292,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:294,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:296,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:298,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:300,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - out
    - dow
    argTypes:
    - BIO*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: print_int_day_of_week
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int print_int_day_of_week(BIO *out, int64_t dow)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:313,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:315,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:317,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:319,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:321,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:323,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - out
    - nd
    argTypes:
    - BIO*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 330
    functionName: print_int_named_day
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int print_int_named_day(BIO *out, int64_t nd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_day_of_week
      Src: /src/openssl/crypto/x509/v3_timespec.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - bs
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: print_bit_named_day
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - print_day_of_week
    linkageType: ''
    returnType: int
    signature: int print_bit_named_day(BIO *out, ASN1_BIT_STRING *bs)
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:347,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:350,1
    - Dst: sk_OSSL_DAY_TIME_BAND_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:352,1
    - Dst: sk_OSSL_DAY_TIME_BAND_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:353,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:354,1
    - Dst: i2r_OSSL_DAY_TIME_BAND
      Src: /src/openssl/crypto/x509/v3_timespec.c:356,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:358,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:365,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:368,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:371,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:375,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:381,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:382,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:383,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:385,1
    - Dst: print_int_day_of_week
      Src: /src/openssl/crypto/x509/v3_timespec.c:389,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:391,1
    - Dst: print_day_of_week
      Src: /src/openssl/crypto/x509/v3_timespec.c:397,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:403,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:408,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:413,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:418,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:423,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:432,1
    - Dst: print_int_named_day
      Src: /src/openssl/crypto/x509/v3_timespec.c:434,1
    - Dst: print_bit_named_day
      Src: /src/openssl/crypto/x509/v3_timespec.c:438,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:448,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:454,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:457,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:461,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:467,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:471,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:472,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:473,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:475,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:477,1
    - Dst: print_bit_week
      Src: /src/openssl/crypto/x509/v3_timespec.c:482,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:488,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:492,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:496,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:500,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:501,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:502,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:504,1
    - Dst: print_int_month
      Src: /src/openssl/crypto/x509/v3_timespec.c:506,1
    - Dst: print_bit_month
      Src: /src/openssl/crypto/x509/v3_timespec.c:511,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:517,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:521,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:523,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:524,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:525,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:527,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:529,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 189
    argCount: 4
    argNames:
    - method
    - p
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_TIME_PERIOD*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 534
    functionName: i2r_OSSL_PERIOD
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - print_int_named_day
    - sk_OSSL_DAY_TIME_BAND_num
    - sk_ASN1_INTEGER_value
    - BIO_puts
    - print_bit_week
    - print_int_month
    - i2r_OSSL_DAY_TIME_BAND
    - ASN1_INTEGER_get_int64
    - print_int_day_of_week
    - sk_ASN1_INTEGER_num
    - print_bit_named_day
    - print_day_of_week
    - sk_OSSL_DAY_TIME_BAND_value
    - print_bit_month
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_PERIOD(X509V3_EXT_METHOD *method,\n                           OSSL_TIME_PERIOD
      *p,\n                           BIO *out, int indent)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:545,1
    - Dst: i2r_OSSL_TIME_SPEC_ABSOLUTE
      Src: /src/openssl/crypto/x509/v3_timespec.c:547,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:549,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:551,1
    - Dst: sk_OSSL_TIME_PERIOD_num
      Src: /src/openssl/crypto/x509/v3_timespec.c:553,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:554,1
    - Dst: sk_OSSL_TIME_PERIOD_value
      Src: /src/openssl/crypto/x509/v3_timespec.c:556,1
    - Dst: i2r_OSSL_PERIOD
      Src: /src/openssl/crypto/x509/v3_timespec.c:557,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_timespec.c:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - method
    - time
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_TIME_SPEC_TIME*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 536
    functionDepth: 4
    functionLinenumber: 536
    functionLinenumberEnd: 565
    functionName: i2r_OSSL_TIME_SPEC_TIME
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - i2r_OSSL_PERIOD
    - sk_OSSL_TIME_PERIOD_value
    - sk_OSSL_TIME_PERIOD_num
    - BIO_puts
    - i2r_OSSL_TIME_SPEC_ABSOLUTE
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_TIME_SPEC_TIME(X509V3_EXT_METHOD *method,\n                                   OSSL_TIME_SPEC_TIME
      *time,\n                                   BIO *out, int indent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_timespec.c:574,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:576,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:580,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_timespec.c:582,1
    - Dst: i2r_OSSL_TIME_SPEC_TIME
      Src: /src/openssl/crypto/x509/v3_timespec.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - method
    - time
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_TIME_SPEC*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 567
    functionDepth: 5
    functionLinenumber: 567
    functionLinenumberEnd: 586
    functionName: i2r_OSSL_TIME_SPEC
    functionSourceFile: /src/openssl/crypto/x509/v3_timespec.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get_int64
    - BIO_printf
    - i2r_OSSL_TIME_SPEC_TIME
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_TIME_SPEC(X509V3_EXT_METHOD *method,\n                              OSSL_TIME_SPEC
      *time,\n                              BIO *out, int indent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_new_ex
      Src: /src/openssl/crypto/x509/x509_req.c:29,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_req.c:31,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/x509/x509_req.c:38,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/crypto/x509/x509_req.c:43,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/x509/x509_req.c:43,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_req.c:46,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/openssl/crypto/x509/x509_req.c:49,1
    - Dst: X509_REQ_sign
      Src: /src/openssl/crypto/x509/x509_req.c:54,1
    - Dst: X509_REQ_free
      Src: /src/openssl/crypto/x509/x509_req.c:59,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - x
    - pkey
    - md
    argTypes:
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 61
    functionName: X509_to_X509_REQ
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509_REQ_sign
    - X509_REQ_set_pubkey
    - ERR_raise
    - X509_REQ_free
    - X509_get0_pubkey
    - X509_REQ_set_subject_name
    - X509_get_subject_name
    - OPENSSL_malloc
    - X509_REQ_new_ex
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/x509/x509_req.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: X509_REQ_get_pubkey
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/x509/x509_req.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: X509_REQ_get0_pubkey
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 2
    functionsReached:
    - X509_PUBKEY_get0
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *X509_REQ_get0_pubkey(const X509_REQ *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: X509_REQ_get_X509_PUBKEY
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_check_private_key
      Src: /src/openssl/crypto/x509/x509_req.c:84,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/x509/x509_req.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - pkey
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: X509_REQ_check_private_key
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509_REQ_get0_pubkey
    - ossl_x509_check_private_key
    linkageType: ''
    returnType: int
    signature: int X509_REQ_check_private_key(const X509_REQ *req, EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - req_nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: X509_REQ_extension_nid
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int X509_REQ_extension_nid(int req_nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: X509_REQ_get_extension_nids
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int *X509_REQ_get_extension_nids(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: X509_REQ_set_extension_nids
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509_REQ_set_extension_nids(int *nids)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_get_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_req.c:126,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/crypto/x509/x509_req.c:129,1
    - Dst: X509_REQ_get_attr
      Src: /src/openssl/crypto/x509/x509_req.c:130,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/x509/x509_req.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_req.c:133,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_req.c:137,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/x509/x509_req.c:138,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x509_req.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - req
    - nid
    argTypes:
    - X509_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: get_extensions_by_nid
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_REQ_get_attr
    - ASN1_ITEM_rptr
    - sk_X509_EXTENSION_new_null
    - STACK_OF
    - ASN1_item_d2i
    - X509_ATTRIBUTE_get0_type
    - X509_REQ_get_attr_by_NID
    linkageType: ''
    returnType: STACK_OF
    signature: "STACK_OF *get_extensions_by_nid(const X509_REQ *req,\n                                                       int
      nid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/x509_req.c:171,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/x509/x509_req.c:174,1
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_req.c:177,1
    - Dst: get_extensions_by_nid
      Src: /src/openssl/crypto/x509/x509_req.c:179,1
    - Dst: X509v3_add_extensions
      Src: /src/openssl/crypto/x509/x509_req.c:181,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/x509/x509_req.c:186,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/x509/x509_req.c:188,1
    - Dst: X509at_delete_attr
      Src: /src/openssl/crypto/x509/x509_req.c:192,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/crypto/x509/x509_req.c:196,1
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_req.c:199,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/x509_req.c:200,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/x509/x509_req.c:203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - req
    - exts
    - nid
    argTypes:
    - X509_REQ*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 205
    functionName: X509_REQ_add_extensions_nid
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509at_delete_attr
    - ASN1_item_i2d
    - X509_ATTRIBUTE_free
    - sk_X509_EXTENSION_pop_free
    - get_extensions_by_nid
    - X509v3_add_extensions
    - ASN1_ITEM_rptr
    - sk_X509_EXTENSION_num
    - STACK_OF
    - OPENSSL_free
    - X509_REQ_add1_attr_by_NID
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int X509_REQ_add_extensions_nid(X509_REQ *req,\n                                const
      STACK_OF(X509_EXTENSION) *exts, int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_REQ_add_extensions_nid
      Src: /src/openssl/crypto/x509/x509_req.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - exts
    argTypes:
    - X509_REQ*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: X509_REQ_add_extensions
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    functionsReached:
    - X509_REQ_add_extensions_nid
    linkageType: ''
    returnType: int
    signature: int X509_REQ_add_extensions(X509_REQ *req, const STACK_OF(X509_EXTENSION)
      *exts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_count
      Src: /src/openssl/crypto/x509/x509_req.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: X509_REQ_get_attr_count
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    functionsReached:
    - X509at_get_attr_count
    linkageType: ''
    returnType: int
    signature: int X509_REQ_get_attr_count(const X509_REQ *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_req.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - nid
    - lastpos
    argTypes:
    - X509_REQ*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: X509_REQ_get_attr_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    functionsReached:
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: int
    signature: int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_req.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - obj
    - lastpos
    argTypes:
    - X509_REQ*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: X509_REQ_get_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509at_get_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, const ASN1_OBJECT
      *obj,\n                             int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/x509/x509_req.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - loc
    argTypes:
    - X509_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: X509_REQ_get_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 2
    functionsReached:
    - X509at_get_attr
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_req.c:241,1
    - Dst: X509at_delete_attr
      Src: /src/openssl/crypto/x509/x509_req.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - req
    - loc
    argTypes:
    - X509_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: X509_REQ_delete_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509at_delete_attr
    - ERR_raise
    linkageType: ''
    returnType: X509_ATTRIBUTE
    signature: X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_req.c:253,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/crypto/x509/x509_req.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - req
    - attr
    argTypes:
    - X509_REQ*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: X509_REQ_add1_attr
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_req.c:267,1
    - Dst: X509at_add1_attr_by_OBJ
      Src: /src/openssl/crypto/x509/x509_req.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - req
    - obj
    - type
    - bytes
    - len
    argTypes:
    - X509_REQ*
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: X509_REQ_add1_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int X509_REQ_add1_attr_by_OBJ(X509_REQ *req,\n                              const
      ASN1_OBJECT *obj, int type,\n                              const unsigned char
      *bytes, int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_req.c:282,1
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/x509/x509_req.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - req
    - nid
    - type
    - bytes
    - len
    argTypes:
    - X509_REQ*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 290
    functionName: X509_REQ_add1_attr_by_NID
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    functionsReached:
    - X509at_add1_attr_by_NID
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int X509_REQ_add1_attr_by_NID(X509_REQ *req,\n                              int
      nid, int type,\n                              const unsigned char *bytes, int
      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_req.c:297,1
    - Dst: X509at_add1_attr_by_txt
      Src: /src/openssl/crypto/x509/x509_req.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - req
    - attrname
    - type
    - bytes
    - len
    argTypes:
    - X509_REQ*
    - char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: X509_REQ_add1_attr_by_txt
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_txt
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int X509_REQ_add1_attr_by_txt(X509_REQ *req,\n                              const
      char *attrname, int type,\n                              const unsigned char
      *bytes, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/x509/x509_req.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: X509_REQ_get_version
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 2
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: long X509_REQ_get_version(const X509_REQ *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: X509_REQ_get_subject_name
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - req
    - psig
    - palg
    argTypes:
    - X509_REQ*
    - ASN1_BIT_STRING**
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: X509_REQ_get0_signature
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING
      **psig,\n                             const X509_ALGOR **palg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/x509/x509_req.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - req
    - psig
    argTypes:
    - X509_REQ*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: X509_REQ_set0_signature
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_free
    linkageType: ''
    returnType: void
    signature: void X509_REQ_set0_signature(X509_REQ *req, ASN1_BIT_STRING *psig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_copy
      Src: /src/openssl/crypto/x509/x509_req.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - palg
    argTypes:
    - X509_REQ*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: X509_REQ_set1_signature_algo
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_copy
    linkageType: ''
    returnType: int
    signature: int X509_REQ_set1_signature_algo(X509_REQ *req, X509_ALGOR *palg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/x509/x509_req.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: X509_REQ_get_signature_nid
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int X509_REQ_get_signature_nid(const X509_REQ *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/x509_req.c:346,1
    - Dst: i2d_X509_REQ_INFO
      Src: /src/openssl/crypto/x509/x509_req.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - req
    - pp
    argTypes:
    - X509_REQ*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: i2d_re_X509_REQ_tbs
    functionSourceFile: /src/openssl/crypto/x509/x509_req.c
    functionUses: 0
    functionsReached:
    - i2d_X509_REQ_INFO
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:53,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:55,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:57,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:60,1
    - Dst: ossl_print_attribute_value
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:62,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:65,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:68,1
    - Dst: ossl_bio_print_hex
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - method
    - hash
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_HASH*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: i2r_HASH
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - ossl_print_attribute_value
    - BIO_puts
    - ossl_bio_print_hex
    - i2a_ASN1_OBJECT
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_HASH(X509V3_EXT_METHOD *method,\n                    OSSL_HASH
      *hash,\n                    BIO *out, int indent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:79,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:81,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:83,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:86,1
    - Dst: i2r_HASH
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - method
    - pointer
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_INFO_SYNTAX_POINTER*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 7
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: i2r_INFO_SYNTAX_POINTER
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - i2r_HASH
    - OSSL_GENERAL_NAMES_print
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_INFO_SYNTAX_POINTER(X509V3_EXT_METHOD *method,\n                                   OSSL_INFO_SYNTAX_POINTER
      *pointer,\n                                   BIO *out, int indent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:102,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:104,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:108,1
    - Dst: i2r_INFO_SYNTAX_POINTER
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - method
    - info
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_INFO_SYNTAX*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 8
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: i2r_OSSL_INFO_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - i2r_INFO_SYNTAX_POINTER
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_INFO_SYNTAX(X509V3_EXT_METHOD *method,\n                                OSSL_INFO_SYNTAX
      *info,\n                                BIO *out, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:124,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:128,1
    - Dst: i2r_OSSL_INFO_SYNTAX
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - method
    - ppid
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_PRIVILEGE_POLICY_ID*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 9
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: i2r_OSSL_PRIVILEGE_POLICY_ID
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - i2r_OSSL_INFO_SYNTAX
    - OBJ_obj2txt
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_PRIVILEGE_POLICY_ID(X509V3_EXT_METHOD *method,\n                                        OSSL_PRIVILEGE_POLICY_ID
      *ppid,\n                                        BIO *out, int indent)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:140,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:142,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:146,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:149,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:160,1
    - Dst: i2r_OSSL_PRIVILEGE_POLICY_ID
      Src: /src/openssl/crypto/x509/v3_attrdesc.c:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - method
    - ad
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ATTRIBUTE_DESCRIPTOR*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 133
    functionDepth: 10
    functionLinenumber: 133
    functionLinenumberEnd: 163
    functionName: i2r_OSSL_ATTRIBUTE_DESCRIPTOR
    functionSourceFile: /src/openssl/crypto/x509/v3_attrdesc.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - i2r_OSSL_PRIVILEGE_POLICY_ID
    - OBJ_obj2txt
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_ATTRIBUTE_DESCRIPTOR(X509V3_EXT_METHOD *method,\n                                         OSSL_ATTRIBUTE_DESCRIPTOR
      *ad,\n                                         BIO *out, int indent)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_akid.c:101,1
    - Dst: AUTHORITY_KEYID_new
      Src: /src/openssl/crypto/x509/v3_akid.c:111,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:116,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_akid.c:116,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_akid.c:121,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:122,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_akid.c:123,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:127,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:131,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:135,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:136,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_akid.c:137,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_akid.c:138,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_akid.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:156,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/x509/v3_akid.c:160,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/x509/v3_akid.c:162,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/x509/v3_akid.c:165,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/x509/v3_akid.c:173,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/x509/v3_akid.c:174,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/crypto/x509/v3_akid.c:176,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/x509/v3_akid.c:177,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_akid.c:178,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/x509/v3_akid.c:186,1
    - Dst: ossl_x509_pubkey_hash
      Src: /src/openssl/crypto/x509/v3_akid.c:187,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/x509/v3_akid.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:191,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/x509/v3_akid.c:197,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/x509/v3_akid.c:197,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/x509/v3_akid.c:198,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/x509/v3_akid.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:200,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/openssl/crypto/x509/v3_akid.c:206,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/x509/v3_akid.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:208,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/x509/v3_akid.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_akid.c:212,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_akid.c:228,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/x509/v3_akid.c:229,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/x509/v3_akid.c:230,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_akid.c:231,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/x509/v3_akid.c:232,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/x509/v3_akid.c:233,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 110
    argCount: 3
    argNames:
    - method
    - ctx
    - values
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 96
    functionDepth: 12
    functionLinenumber: 96
    functionLinenumberEnd: 235
    functionName: v2i_AUTHORITY_KEYID
    functionSourceFile: /src/openssl/crypto/x509/v3_akid.c
    functionUses: 0
    functionsReached:
    - AUTHORITY_KEYID_new
    - ERR_raise
    - ERR_pop_to_mark
    - ASN1_STRING_length
    - ASN1_INTEGER_free
    - ASN1_OCTET_STRING_free
    - strcmp
    - X509_NAME_free
    - sk_GENERAL_NAME_push
    - GENERAL_NAME_new
    - X509_get_ext
    - X509_get0_serialNumber
    - ASN1_INTEGER_dup
    - X509_NAME_dup
    - X509_check_private_key
    - X509_get_ext_by_NID
    - GENERAL_NAME_free
    - X509_get_issuer_name
    - X509_PUBKEY_free
    - sk_GENERAL_NAME_new_null
    - ERR_raise_data
    - sk_CONF_VALUE_value
    - X509_PUBKEY_set
    - X509V3_EXT_d2i
    - ossl_x509_pubkey_hash
    - sk_CONF_VALUE_num
    - ERR_set_mark
    - sk_GENERAL_NAME_free
    - AUTHORITY_KEYID_free
    linkageType: ''
    returnType: AUTHORITY_KEYID
    signature: "AUTHORITY_KEYID *v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,\n
      \                                           X509V3_CTX *ctx,\n                                            STACK_OF(CONF_VALUE)
      *values)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:92,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:96,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_cpols.c:96,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:102,1
    - Dst: sk_POLICYINFO_new_reserve
      Src: /src/openssl/crypto/x509/v3_cpols.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:108,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:116,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:117,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:121,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:125,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_cpols.c:127,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_cpols.c:129,1
    - Dst: policy_section
      Src: /src/openssl/crypto/x509/v3_cpols.c:133,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:134,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_cpols.c:138,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/x509/v3_cpols.c:139,1
    - Dst: POLICYINFO_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:144,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:147,1
    - Dst: sk_POLICYINFO_push
      Src: /src/openssl/crypto/x509/v3_cpols.c:152,1
    - Dst: POLICYINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:154,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:158,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:161,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:162,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 164
    functionName: r2i_certpol
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509V3_get_section
    - POLICYINFO_free
    - policy_section
    - strcmp
    - X509V3_section_free
    - X509V3_parse_list
    - sk_POLICYINFO_push
    - X509V3_conf_add_error_name_value
    - sk_CONF_VALUE_pop_free
    - ERR_raise_data
    - STACK_OF
    - sk_POLICYINFO_new_reserve
    - POLICYINFO_new
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - OBJ_txt2obj
    - sk_POLICYINFO_pop_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: STACK_OF
    signature: "STACK_OF *r2i_certpol(X509V3_EXT_METHOD *method,\n                                         X509V3_CTX
      *ctx, const char *value)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: POLICYINFO_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:175,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:178,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:179,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:180,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/x509/v3_cpols.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:184,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_cpols.c:185,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:190,1
    - Dst: sk_POLICYQUALINFO_new_null
      Src: /src/openssl/crypto/x509/v3_cpols.c:192,1
    - Dst: POLICYQUALINFO_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:194,1
    - Dst: sk_POLICYQUALINFO_push
      Src: /src/openssl/crypto/x509/v3_cpols.c:197,1
    - Dst: POLICYQUALINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:199,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/v3_cpols.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:203,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:207,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_cpols.c:210,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_cpols.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:212,1
    - Dst: ossl_v3_name_cmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:215,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:218,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_cpols.c:219,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/x509/v3_cpols.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:224,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_cpols.c:226,1
    - Dst: notice_section
      Src: /src/openssl/crypto/x509/v3_cpols.c:229,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:230,1
    - Dst: sk_POLICYQUALINFO_new_null
      Src: /src/openssl/crypto/x509/v3_cpols.c:234,1
    - Dst: sk_POLICYQUALINFO_push
      Src: /src/openssl/crypto/x509/v3_cpols.c:235,1
    - Dst: POLICYQUALINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:236,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:241,1
    - Dst: X509V3_conf_err
      Src: /src/openssl/crypto/x509/v3_cpols.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:247,1
    - Dst: POLICYINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:254,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 3
    argNames:
    - ctx
    - polstrs
    - ia5org
    argTypes:
    - X509V3_CTX*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 256
    functionName: policy_section
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509V3_get_section
    - POLICYINFO_free
    - ossl_v3_name_cmp
    - strcmp
    - strlen
    - X509V3_section_free
    - sk_POLICYQUALINFO_new_null
    - sk_POLICYQUALINFO_push
    - OBJ_nid2obj
    - POLICYQUALINFO_new
    - notice_section
    - STACK_OF
    - POLICYQUALINFO_free
    - OBJ_txt2obj
    - POLICYINFO_new
    - sk_CONF_VALUE_value
    - sk_CONF_VALUE_num
    - ASN1_IA5STRING_new
    - X509V3_conf_err
    - ASN1_STRING_set
    linkageType: ''
    returnType: POLICYINFO
    signature: "POLICYINFO *policy_section(X509V3_CTX *ctx,\n                                  STACK_OF(CONF_VALUE)
      *polstrs, int ia5org)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/x509/v3_cpols.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tagstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: displaytext_get_tag_len
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int displaytext_get_tag_len(const char *tagstr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: displaytext_get_tag_len
      Src: /src/openssl/crypto/x509/v3_cpols.c:270,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:275,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:277,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:279,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:281,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:283,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/x509/v3_cpols.c:285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - tagstr
    - tag_len
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: displaytext_str2tag
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 0
    functionsReached:
    - HAS_PREFIX
    - displaytext_get_tag_len
    linkageType: ''
    returnType: int
    signature: int displaytext_str2tag(const char *tagstr, unsigned int *tag_len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: POLICYQUALINFO_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:302,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/x509/v3_cpols.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:306,1
    - Dst: USERNOTICE_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:310,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:314,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:315,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:318,1
    - Dst: displaytext_str2tag
      Src: /src/openssl/crypto/x509/v3_cpols.c:319,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:321,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_cpols.c:326,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_cpols.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:328,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:331,1
    - Dst: NOTICEREF_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:336,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/x509/v3_cpols.c:346,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_cpols.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:348,1
    - Dst: strcmp
      Src: /src/openssl/crypto/x509/v3_cpols.c:351,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/x509/v3_cpols.c:354,1
    - Dst: NOTICEREF_new
      Src: /src/openssl/crypto/x509/v3_cpols.c:356,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:357,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/x509/v3_cpols.c:363,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:364,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:365,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:366,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:367,1
    - Dst: nref_nos
      Src: /src/openssl/crypto/x509/v3_cpols.c:370,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:375,1
    - Dst: X509V3_conf_add_error_name_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:376,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_cpols.c:383,1
    - Dst: POLICYQUALINFO_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:390,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 96
    argCount: 3
    argNames:
    - ctx
    - unot
    - ia5org
    argTypes:
    - X509V3_CTX*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 392
    functionName: notice_section
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 1
    functionsReached:
    - POLICYQUALINFO_new
    - X509V3_parse_list
    - X509V3_conf_add_error_name_value
    - ERR_raise
    - sk_CONF_VALUE_num
    - displaytext_str2tag
    - STACK_OF
    - nref_nos
    - POLICYQUALINFO_free
    - OBJ_nid2obj
    - ASN1_STRING_type_new
    - strcmp
    - ASN1_STRING_set
    - strlen
    - NOTICEREF_new
    - sk_CONF_VALUE_pop_free
    - sk_CONF_VALUE_value
    - USERNOTICE_new
    linkageType: ''
    returnType: POLICYQUALINFO
    signature: "POLICYQUALINFO *notice_section(X509V3_CTX *ctx,\n                                      STACK_OF(CONF_VALUE)
      *unot, int ia5org)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_cpols.c:472,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_cpols.c:475,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:476,1
    - Dst: sk_ASN1_INTEGER_num
      Src: /src/openssl/crypto/x509/v3_cpols.c:477,1
    - Dst: sk_ASN1_INTEGER_value
      Src: /src/openssl/crypto/x509/v3_cpols.c:480,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_cpols.c:482,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_cpols.c:484,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_cpols.c:486,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_cpols.c:489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_cpols.c:490,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_cpols.c:494,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_cpols.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - out
    - notice
    - indent
    argTypes:
    - BIO*
    - USERNOTICE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 466
    functionDepth: 7
    functionLinenumber: 466
    functionLinenumberEnd: 500
    functionName: print_notice
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 1
    functionsReached:
    - sk_ASN1_INTEGER_value
    - BIO_puts
    - OPENSSL_free
    - i2s_ASN1_INTEGER
    - sk_ASN1_INTEGER_num
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_notice(BIO *out, USERNOTICE *notice, int indent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_cpols.c:506,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/x509/v3_cpols.c:508,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_cpols.c:509,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_cpols.c:510,1
    - Dst: node_data_critical
      Src: /src/openssl/crypto/x509/v3_cpols.c:511,1
    - Dst: print_qualifiers
      Src: /src/openssl/crypto/x509/v3_cpols.c:513,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_cpols.c:514,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_cpols.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - out
    - node
    - indent
    argTypes:
    - BIO*
    - X509_POLICY_NODE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 518
    functionName: X509_POLICY_NODE_print
    functionSourceFile: /src/openssl/crypto/x509/v3_cpols.c
    functionUses: 1
    functionsReached:
    - node_data_critical
    - print_qualifiers
    - BIO_puts
    - i2a_ASN1_OBJECT
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:35,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_rolespec.c:37,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:39,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:41,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/x509/v3_rolespec.c:43,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:46,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:48,1
    - Dst: ossl_serial_number_print
      Src: /src/openssl/crypto/x509/v3_rolespec.c:50,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:54,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:56,1
    - Dst: OSSL_GENERAL_NAMES_print
      Src: /src/openssl/crypto/x509/v3_rolespec.c:58,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:61,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - method
    - rscid
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ROLE_SPEC_CERT_ID*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 62
    functionName: i2r_OSSL_ROLE_SPEC_CERT_ID
    functionSourceFile: /src/openssl/crypto/x509/v3_rolespec.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - BIO_puts
    - OSSL_GENERAL_NAMES_print
    - ossl_serial_number_print
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_ROLE_SPEC_CERT_ID(X509V3_EXT_METHOD *method,\n                                      OSSL_ROLE_SPEC_CERT_ID
      *rscid,\n                                      BIO *out, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_ROLE_SPEC_CERT_ID_num
      Src: /src/openssl/crypto/x509/v3_rolespec.c:71,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/x509/v3_rolespec.c:72,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_rolespec.c:74,1
    - Dst: sk_OSSL_ROLE_SPEC_CERT_ID_value
      Src: /src/openssl/crypto/x509/v3_rolespec.c:78,1
    - Dst: i2r_OSSL_ROLE_SPEC_CERT_ID
      Src: /src/openssl/crypto/x509/v3_rolespec.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - method
    - rscids
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - OSSL_ROLE_SPEC_CERT_ID_SYNTAX*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: i2r_OSSL_ROLE_SPEC_CERT_ID_SYNTAX
    functionSourceFile: /src/openssl/crypto/x509/v3_rolespec.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_ROLE_SPEC_CERT_ID_value
    - BIO_puts
    - i2r_OSSL_ROLE_SPEC_CERT_ID
    - sk_OSSL_ROLE_SPEC_CERT_ID_num
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_OSSL_ROLE_SPEC_CERT_ID_SYNTAX(X509V3_EXT_METHOD *method,\n
      \                                            OSSL_ROLE_SPEC_CERT_ID_SYNTAX *rscids,\n
      \                                            BIO *out, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - su
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: i2r_INDIRECT_ISSUER
    functionSourceFile: /src/openssl/crypto/x509/v3_ind_iss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int i2r_INDIRECT_ISSUER(X509V3_EXT_METHOD *method,\n                        void
      *su, BIO *out,\n                        int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_ind_iss.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: r2i_INDIRECT_ISSUER
    functionSourceFile: /src/openssl/crypto/x509/v3_ind_iss.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: "void *r2i_INDIRECT_ISSUER(X509V3_EXT_METHOD *method,\n                          X509V3_CTX
      *ctx, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_ind_iss.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - val
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: i2s_INDIRECT_ISSUER
    functionSourceFile: /src/openssl/crypto/x509/v3_ind_iss.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *i2s_INDIRECT_ISSUER(const X509V3_EXT_METHOD *method, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_ind_iss.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: s2i_INDIRECT_ISSUER
    functionSourceFile: /src/openssl/crypto/x509/v3_ind_iss.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: void *s2i_INDIRECT_ISSUER(const X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - su
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: i2r_SOA_IDENTIFIER
    functionSourceFile: /src/openssl/crypto/x509/v3_soa_id.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int i2r_SOA_IDENTIFIER(X509V3_EXT_METHOD *method,\n                              void
      *su, BIO *out,\n                              int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_soa_id.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - value
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: r2i_SOA_IDENTIFIER
    functionSourceFile: /src/openssl/crypto/x509/v3_soa_id.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: "void *r2i_SOA_IDENTIFIER(X509V3_EXT_METHOD *method,\n                                X509V3_CTX
      *ctx, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/x509/v3_soa_id.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - val
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: i2s_SOA_IDENTIFIER
    functionSourceFile: /src/openssl/crypto/x509/v3_soa_id.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *i2s_SOA_IDENTIFIER(const X509V3_EXT_METHOD *method, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/x509/v3_soa_id.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: s2i_SOA_IDENTIFIER
    functionSourceFile: /src/openssl/crypto/x509/v3_soa_id.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: void *s2i_SOA_IDENTIFIER(const X509V3_EXT_METHOD *method, X509V3_CTX
      *ctx, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/x509/v3_sxnet.c:69,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sxnet.c:72,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sxnet.c:76,1
    - Dst: sk_SXNETID_num
      Src: /src/openssl/crypto/x509/v3_sxnet.c:78,1
    - Dst: sk_SXNETID_value
      Src: /src/openssl/crypto/x509/v3_sxnet.c:79,1
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_sxnet.c:80,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/x509/v3_sxnet.c:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:84,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/x509/v3_sxnet.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - method
    - sx
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - SXNET*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 57
    functionDepth: 7
    functionLinenumber: 57
    functionLinenumberEnd: 88
    functionName: sxnet_i2r
    functionSourceFile: /src/openssl/crypto/x509/v3_sxnet.c
    functionUses: 0
    functionsReached:
    - sk_SXNETID_num
    - sk_SXNETID_value
    - ASN1_STRING_print
    - ASN1_INTEGER_get_int64
    - OPENSSL_free
    - i2s_ASN1_INTEGER
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out,\n                     int
      indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/x509/v3_sxnet.c:104,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/x509/v3_sxnet.c:105,1
    - Dst: SXNET_add_id_asc
      Src: /src/openssl/crypto/x509/v3_sxnet.c:106,1
    - Dst: SXNET_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - method
    - ctx
    - nval
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: sxnet_v2i
    functionSourceFile: /src/openssl/crypto/x509/v3_sxnet.c
    functionUses: 0
    functionsReached:
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - SXNET_free
    - SXNET_add_id_asc
    linkageType: ''
    returnType: SXNET
    signature: "SXNET *sxnet_v2i(X509V3_EXT_METHOD *method, X509V3_CTX *ctx,\n                        STACK_OF(CONF_VALUE)
      *nval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_sxnet.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:125,1
    - Dst: SXNET_add_id_INTEGER
      Src: /src/openssl/crypto/x509/v3_sxnet.c:128,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - psx
    - zone
    - user
    - userlen
    argTypes:
    - SXNET**
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 7
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: SXNET_add_id_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_sxnet.c
    functionUses: 1
    functionsReached:
    - s2i_ASN1_INTEGER
    - ASN1_INTEGER_free
    - ERR_raise
    - SXNET_add_id_INTEGER
    linkageType: ''
    returnType: int
    signature: int SXNET_add_id_asc(SXNET **psx, const char *zone, const char *user,
      int userlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/x509/v3_sxnet.c:142,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/v3_sxnet.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:144,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:145,1
    - Dst: SXNET_add_id_INTEGER
      Src: /src/openssl/crypto/x509/v3_sxnet.c:148,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - psx
    - lzone
    - user
    - userlen
    argTypes:
    - SXNET**
    - unsigned long
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: SXNET_add_id_ulong
    functionSourceFile: /src/openssl/crypto/x509/v3_sxnet.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - SXNET_add_id_INTEGER
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: int
    signature: "int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, const char
      *user,\n                       int userlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:167,1
    - Dst: strlen
      Src: /src/openssl/crypto/x509/v3_sxnet.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:173,1
    - Dst: SXNET_new
      Src: /src/openssl/crypto/x509/v3_sxnet.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:178,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/v3_sxnet.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:182,1
    - Dst: SXNET_get_id_INTEGER
      Src: /src/openssl/crypto/x509/v3_sxnet.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:188,1
    - Dst: SXNET_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:190,1
    - Dst: SXNETID_new
      Src: /src/openssl/crypto/x509/v3_sxnet.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:195,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/x509/v3_sxnet.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:200,1
    - Dst: sk_SXNETID_push
      Src: /src/openssl/crypto/x509/v3_sxnet.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:204,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:207,1
    - Dst: SXNETID_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:213,1
    - Dst: SXNET_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:215,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 4
    argNames:
    - psx
    - zone
    - user
    - userlen
    argTypes:
    - SXNET**
    - ASN1_INTEGER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 217
    functionName: SXNET_add_id_INTEGER
    functionSourceFile: /src/openssl/crypto/x509/v3_sxnet.c
    functionUses: 2
    functionsReached:
    - SXNETID_free
    - ERR_raise
    - ASN1_OCTET_STRING_set
    - SXNET_new
    - SXNET_free
    - SXNETID_new
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - sk_SXNETID_push
    - strlen
    - SXNET_get_id_INTEGER
    linkageType: ''
    returnType: int
    signature: "int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *zone, const char
      *user,\n                         int userlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/x509/v3_sxnet.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:225,1
    - Dst: SXNET_get_id_INTEGER
      Src: /src/openssl/crypto/x509/v3_sxnet.c:228,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sx
    - zone
    argTypes:
    - SXNET*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 7
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: SXNET_get_id_asc
    functionSourceFile: /src/openssl/crypto/x509/v3_sxnet.c
    functionUses: 0
    functionsReached:
    - s2i_ASN1_INTEGER
    - ASN1_INTEGER_free
    - ERR_raise
    - SXNET_get_id_INTEGER
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, const char *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/x509/v3_sxnet.c:238,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/x509/v3_sxnet.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/x509/v3_sxnet.c:240,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:241,1
    - Dst: SXNET_get_id_INTEGER
      Src: /src/openssl/crypto/x509/v3_sxnet.c:244,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/x509/v3_sxnet.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sx
    - lzone
    argTypes:
    - SXNET*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: SXNET_get_id_ulong
    functionSourceFile: /src/openssl/crypto/x509/v3_sxnet.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - SXNET_get_id_INTEGER
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_SXNETID_num
      Src: /src/openssl/crypto/x509/v3_sxnet.c:253,1
    - Dst: sk_SXNETID_value
      Src: /src/openssl/crypto/x509/v3_sxnet.c:254,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/x509/v3_sxnet.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sx
    - zone
    argTypes:
    - SXNET*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: SXNET_get_id_INTEGER
    functionSourceFile: /src/openssl/crypto/x509/v3_sxnet.c
    functionUses: 3
    functionsReached:
    - sk_SXNETID_num
    - sk_SXNETID_value
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/store/store_err.c:71,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/store/store_err.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: ossl_err_load_OSSL_STORE_strings
    functionSourceFile: /src/openssl/crypto/store/store_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_OSSL_STORE_strings(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_result.c:93,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/store/store_result.c:94,1
    - Dst: memset
      Src: /src/openssl/crypto/store/store_result.c:99,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:102,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/store/store_result.c:103,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:105,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:107,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:109,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:111,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:113,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:115,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:117,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:119,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:121,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:123,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:124,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_result.c:127,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/crypto/store/store_result.c:128,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:135,1
    - Dst: try_name
      Src: /src/openssl/crypto/store/store_result.c:136,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:138,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:139,1
    - Dst: try_key
      Src: /src/openssl/crypto/store/store_result.c:140,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:142,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:143,1
    - Dst: try_cert
      Src: /src/openssl/crypto/store/store_result.c:144,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:146,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:147,1
    - Dst: try_crl
      Src: /src/openssl/crypto/store/store_result.c:148,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:150,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:151,1
    - Dst: try_pkcs12
      Src: /src/openssl/crypto/store/store_result.c:152,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:154,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/crypto/store/store_result.c:159,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_result.c:162,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/store/store_result.c:163,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_result.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_result.c:167,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_result.c:172,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 62
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 87
    functionDepth: 10
    functionLinenumber: 87
    functionLinenumberEnd: 174
    functionName: ossl_store_handle_load_result
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PROVIDER_get0_name
    - ERR_pop_to_mark
    - OSSL_PARAM_get_utf8_string_ptr
    - OSSL_PROVIDER_available
    - OSSL_PARAM_locate_const
    - OSSL_STORE_LOADER_get0_provider
    - try_name
    - ERR_clear_last_mark
    - try_pkcs12
    - try_key
    - ERR_raise_data
    - OSSL_PARAM_get_int
    - try_crl
    - memset
    - ossl_provider_libctx
    - OSSL_PARAM_get_octet_string_ptr
    - ERR_set_mark
    - try_cert
    linkageType: ''
    returnType: int
    signature: int ossl_store_handle_load_result(const OSSL_PARAM params[], void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/store/store_result.c:183,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/store/store_result.c:185,1
    - Dst: OSSL_STORE_INFO_new_NAME
      Src: /src/openssl/crypto/store/store_result.c:186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_result.c:187,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_result.c:188,1
    - Dst: OSSL_STORE_INFO_set0_NAME_description
      Src: /src/openssl/crypto/store/store_result.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - data
    - v
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: try_name
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_INFO_new_NAME
    - OPENSSL_free
    - OPENSSL_strdup
    - OSSL_STORE_INFO_set0_NAME_description
    linkageType: ''
    returnType: int
    signature: int try_name(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/crypto/store/store_result.c:217,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:218,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/store/store_result.c:228,1
    - Dst: evp_keymgmt_load
      Src: /src/openssl/crypto/store/store_result.c:231,1
    - Dst: export_object
      Src: /src/openssl/crypto/store/store_result.c:246,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/store/store_result.c:256,1
    - Dst: evp_keymgmt_fetch_from_prov
      Src: /src/openssl/crypto/store/store_result.c:257,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:260,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_result.c:261,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_result.c:266,1
    - Dst: evp_keymgmt_util_make_pkey
      Src: /src/openssl/crypto/store/store_result.c:267,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_result.c:269,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/crypto/store/store_result.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - data
    - ctx
    - provider
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_CTX*
    - OSSL_PROVIDER*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 203
    functionDepth: 10
    functionLinenumber: 203
    functionLinenumberEnd: 274
    functionName: try_key_ref
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - export_object
    - EVP_KEYMGMT_fetch
    - evp_keymgmt_util_make_pkey
    - ERR_clear_last_mark
    - evp_keymgmt_load
    - EVP_KEYMGMT_get0_provider
    - evp_keymgmt_fetch_from_prov
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *try_key_ref(struct extracted_param_data_st *data,\n                             OSSL_STORE_CTX
      *ctx,\n                             const OSSL_PROVIDER *provider,\n                             OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/store/store_result.c:307,1
    - Dst: OSSL_DECODER_CTX_set_passphrase_cb
      Src: /src/openssl/crypto/store/store_result.c:310,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/store/store_result.c:313,1
    - Dst: ossl_decoder_ctx_get_harderr
      Src: /src/openssl/crypto/store/store_result.c:316,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/store/store_result.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 7
    argNames:
    - data
    - ctx
    - cb
    - cbarg
    - libctx
    - propq
    - harderr
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_CTX*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - OSSL_LIB_CTX*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 276
    functionDepth: 12
    functionLinenumber: 276
    functionLinenumberEnd: 320
    functionName: try_key_value
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_set_passphrase_cb
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    - ossl_decoder_ctx_get_harderr
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *try_key_value(struct extracted_param_data_st *data,\n                               OSSL_STORE_CTX
      *ctx,\n                               OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg,\n
      \                              OSSL_LIB_CTX *libctx, const char *propq,\n                               int
      *harderr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/crypto/store/store_result.c:338,1
    - Dst: d2i_X509_SIG
      Src: /src/openssl/crypto/store/store_result.c:354,1
    - Dst: cb
      Src: /src/openssl/crypto/store/store_result.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_result.c:361,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/crypto/store/store_result.c:367,1
    - Dst: PKCS12_pbe_crypt
      Src: /src/openssl/crypto/store/store_result.c:373,1
    - Dst: X509_SIG_free
      Src: /src/openssl/crypto/store/store_result.c:379,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/store/store_result.c:389,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/crypto/store/store_result.c:392,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/store/store_result.c:393,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_result.c:400,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 7
    argNames:
    - data
    - store_info_new
    - ctx
    - cb
    - cbarg
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - store_info_new_fn**
    - OSSL_STORE_CTX*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 324
    functionDepth: 6
    functionLinenumber: 324
    functionLinenumberEnd: 404
    functionName: try_key_value_legacy
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - X509_SIG_get0
    - ERR_raise
    - PKCS12_pbe_crypt
    - X509_SIG_free
    - EVP_PKCS82PKEY_ex
    - d2i_X509_SIG
    - OPENSSL_free
    - cb
    - d2i_PUBKEY_ex
    - d2i_PKCS8_PRIV_KEY_INFO
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *try_key_value_legacy(struct extracted_param_data_st *data,\n
      \                                     store_info_new_fn **store_info_new,\n
      \                                     OSSL_STORE_CTX *ctx,\n                                      OSSL_PASSPHRASE_CALLBACK
      *cb, void *cbarg,\n                                      OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: try_key_ref
      Src: /src/openssl/crypto/store/store_result.c:419,1
    - Dst: try_key_value
      Src: /src/openssl/crypto/store/store_result.c:433,1
    - Dst: try_key_value_legacy
      Src: /src/openssl/crypto/store/store_result.c:443,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/store/store_result.c:459,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/store/store_result.c:461,1
    - Dst: store_info_new
      Src: /src/openssl/crypto/store/store_result.c:467,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_result.c:471,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 6
    argNames:
    - data
    - v
    - ctx
    - provider
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    - OSSL_STORE_CTX*
    - OSSL_PROVIDER*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 406
    functionDepth: 13
    functionLinenumber: 406
    functionLinenumberEnd: 475
    functionName: try_key
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - try_key_value_legacy
    - evp_keymgmt_util_has
    - try_key_ref
    - try_key_value
    - EVP_PKEY_free
    - store_info_new
    linkageType: ''
    returnType: int
    signature: "int try_key(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v,\n                   OSSL_STORE_CTX *ctx, const OSSL_PROVIDER *provider,\n
      \                  OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_new_ex
      Src: /src/openssl/crypto/store/store_result.c:492,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/store/store_result.c:499,1
    - Dst: d2i_X509_AUX
      Src: /src/openssl/crypto/store/store_result.c:502,1
    - Dst: d2i_X509
      Src: /src/openssl/crypto/store/store_result.c:505,1
    - Dst: X509_free
      Src: /src/openssl/crypto/store/store_result.c:507,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/crypto/store/store_result.c:514,1
    - Dst: X509_free
      Src: /src/openssl/crypto/store/store_result.c:516,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - data
    - v
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 521
    functionName: try_cert
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strcasecmp
    - X509_free
    - X509_new_ex
    - d2i_X509_AUX
    - d2i_X509
    - OSSL_STORE_INFO_new_CERT
    linkageType: ''
    returnType: int
    signature: "int try_cert(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v,\n                    OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_CRL
      Src: /src/openssl/crypto/store/store_result.c:530,1
    - Dst: ossl_x509_crl_set0_libctx
      Src: /src/openssl/crypto/store/store_result.c:537,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/store/store_result.c:538,1
    - Dst: OSSL_STORE_INFO_new_CRL
      Src: /src/openssl/crypto/store/store_result.c:543,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/store/store_result.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - data
    - v
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 549
    functionName: try_crl
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - ossl_x509_crl_set0_libctx
    - d2i_X509_CRL
    - X509_CRL_free
    - OSSL_STORE_INFO_new_CRL
    linkageType: ''
    returnType: int
    signature: "int try_crl(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v,\n                   OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS12
      Src: /src/openssl/crypto/store/store_result.c:562,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/store/store_result.c:571,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/crypto/store/store_result.c:577,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/store/store_result.c:578,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/store/store_result.c:580,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/crypto/store/store_result.c:585,1
    - Dst: ossl_pw_get_passphrase
      Src: /src/openssl/crypto/store/store_result.c:591,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_result.c:594,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/crypto/store/store_result.c:604,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_result.c:605,1
    - Dst: PKCS12_parse
      Src: /src/openssl/crypto/store/store_result.c:613,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/store/store_result.c:614,1
    - Dst: sk_OSSL_STORE_INFO_new_null
      Src: /src/openssl/crypto/store/store_result.c:621,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/openssl/crypto/store/store_result.c:623,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/crypto/store/store_result.c:626,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/crypto/store/store_result.c:632,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/crypto/store/store_result.c:635,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/store/store_result.c:640,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/store/store_result.c:641,1
    - Dst: OSSL_STORE_INFO_new_CERT
      Src: /src/openssl/crypto/store/store_result.c:643,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/store/store_result.c:644,1
    - Dst: sk_OSSL_STORE_INFO_push
      Src: /src/openssl/crypto/store/store_result.c:645,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_result.c:651,1
    - Dst: X509_free
      Src: /src/openssl/crypto/store/store_result.c:652,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/store/store_result.c:653,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_result.c:654,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_result.c:655,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_result.c:656,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/openssl/crypto/store/store_result.c:658,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/store/store_result.c:664,1
    - Dst: PKCS12_free
      Src: /src/openssl/crypto/store/store_result.c:665,1
    - Dst: sk_OSSL_STORE_INFO_shift
      Src: /src/openssl/crypto/store/store_result.c:667,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 5
    argNames:
    - data
    - v
    - ctx
    - libctx
    - propq
    argTypes:
    - struct extracted_param_data_st*
    - OSSL_STORE_INFO**
    - OSSL_STORE_CTX*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 671
    functionName: try_pkcs12
    functionSourceFile: /src/openssl/crypto/store/store_result.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_utf8_string
    - ERR_raise
    - sk_X509_shift
    - X509_free
    - sk_OSSL_STORE_INFO_push
    - sk_X509_num
    - d2i_PKCS12
    - PKCS12_mac_present
    - sk_X509_value
    - EVP_PKEY_free
    - OSSL_STACK_OF_X509_free
    - sk_OSSL_STORE_INFO_shift
    - OSSL_STORE_INFO_free
    - sk_OSSL_STORE_INFO_new_null
    - sk_OSSL_STORE_INFO_pop_free
    - PKCS12_verify_mac
    - ERR_raise_data
    - STACK_OF
    - OSSL_STORE_INFO_new_PKEY
    - PKCS12_parse
    - ossl_pw_get_passphrase
    - PKCS12_free
    - OPENSSL_cleanse
    - OSSL_STORE_INFO_new_CERT
    linkageType: ''
    returnType: int
    signature: "int try_pkcs12(struct extracted_param_data_st *data, OSSL_STORE_INFO
      **v,\n                      OSSL_STORE_CTX *ctx,\n                      OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/store/store_strings.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: OSSL_STORE_INFO_type_string
    functionSourceFile: /src/openssl/crypto/store/store_strings.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_INFO_type_string(int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/store/store_meth.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: OSSL_STORE_LOADER_up_ref
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_LOADER_up_ref(OSSL_STORE_LOADER *loader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/store/store_meth.c:33,1
    - Dst: ossl_provider_free
      Src: /src/openssl/crypto/store/store_meth.c:36,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/store/store_meth.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_meth.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: OSSL_STORE_LOADER_free
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - ossl_provider_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void OSSL_STORE_LOADER_free(OSSL_STORE_LOADER *loader)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_meth.c:50,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/store/store_meth.c:51,1
    - Dst: ossl_provider_up_ref
      Src: /src/openssl/crypto/store/store_meth.c:52,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/store/store_meth.c:54,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_meth.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: new_loader
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - ossl_provider_up_ref
    - OPENSSL_zalloc
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: OSSL_STORE_LOADER
    signature: OSSL_STORE_LOADER *new_loader(OSSL_PROVIDER *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_up_ref
      Src: /src/openssl/crypto/store/store_meth.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: up_ref_loader
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_up_ref
    linkageType: ''
    returnType: int
    signature: int up_ref_loader(void *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_meth.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: free_loader
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: void
    signature: void free_loader(void *method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_new
      Src: /src/openssl/crypto/store/store_meth.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: get_tmp_loader_store
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_new
    linkageType: ''
    returnType: void
    signature: void *get_tmp_loader_store(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/store/store_meth.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - store
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: dealloc_tmp_loader_store
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_free
    linkageType: ''
    returnType: void
    signature: void dealloc_tmp_loader_store(void *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/store/store_meth.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: get_loader_store
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_METHOD_STORE
    signature: OSSL_METHOD_STORE *get_loader_store(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:118,1
    - Dst: ossl_method_lock_store
      Src: /src/openssl/crypto/store/store_meth.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 6
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: reserve_loader_store
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_lock_store
    - get_loader_store
    linkageType: ''
    returnType: int
    signature: int reserve_loader_store(void *store, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:129,1
    - Dst: ossl_method_unlock_store
      Src: /src/openssl/crypto/store/store_meth.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: unreserve_loader_store
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_unlock_store
    - get_loader_store
    linkageType: ''
    returnType: int
    signature: int unreserve_loader_store(void *store, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:144,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/store/store_meth.c:146,1
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:150,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/crypto/store/store_meth.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - store
    - prov
    - data
    argTypes:
    - void*
    - OSSL_PROVIDER**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 7
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: get_loader_from_store
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_stored
    - ossl_method_store_fetch
    - ossl_namemap_name2num
    - get_loader_store
    linkageType: ''
    returnType: void
    signature: "void *get_loader_from_store(void *store, const OSSL_PROVIDER **prov,\n
      \                                  void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:167,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/store/store_meth.c:168,1
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:171,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/crypto/store/store_meth.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 6
    argNames:
    - store
    - method
    - prov
    - scheme
    - propdef
    - data
    argTypes:
    - void*
    - void*
    - OSSL_PROVIDER*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 7
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: put_loader_in_store
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_store_add
    - ossl_namemap_stored
    - ossl_namemap_name2num
    - get_loader_store
    linkageType: ''
    returnType: int
    signature: "int put_loader_in_store(void *store, void *method,\n                               const
      OSSL_PROVIDER *prov,\n                               const char *scheme, const
      char *propdef,\n                               void *data)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: new_loader
      Src: /src/openssl/crypto/store/store_meth.c:184,1
    - Dst: OSSL_FUNC_store_open
      Src: /src/openssl/crypto/store/store_meth.c:194,1
    - Dst: OSSL_FUNC_store_attach
      Src: /src/openssl/crypto/store/store_meth.c:198,1
    - Dst: OSSL_FUNC_store_settable_ctx_params
      Src: /src/openssl/crypto/store/store_meth.c:203,1
    - Dst: OSSL_FUNC_store_set_ctx_params
      Src: /src/openssl/crypto/store/store_meth.c:207,1
    - Dst: OSSL_FUNC_store_load
      Src: /src/openssl/crypto/store/store_meth.c:211,1
    - Dst: OSSL_FUNC_store_eof
      Src: /src/openssl/crypto/store/store_meth.c:215,1
    - Dst: OSSL_FUNC_store_close
      Src: /src/openssl/crypto/store/store_meth.c:219,1
    - Dst: OSSL_FUNC_store_export_object
      Src: /src/openssl/crypto/store/store_meth.c:223,1
    - Dst: OSSL_FUNC_store_delete
      Src: /src/openssl/crypto/store/store_meth.c:227,1
    - Dst: OSSL_FUNC_store_open_ex
      Src: /src/openssl/crypto/store/store_meth.c:231,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_meth.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:242,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 3
    argNames:
    - scheme_id
    - algodef
    - prov
    argTypes:
    - int
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 246
    functionName: loader_from_algorithm
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_store_open_ex
    - ERR_raise
    - OSSL_FUNC_store_attach
    - OSSL_FUNC_store_delete
    - OSSL_STORE_LOADER_free
    - OSSL_FUNC_store_set_ctx_params
    - OSSL_FUNC_store_eof
    - OSSL_FUNC_store_load
    - OSSL_FUNC_store_open
    - OSSL_FUNC_store_settable_ctx_params
    - OSSL_FUNC_store_close
    - OSSL_FUNC_store_export_object
    - new_loader
    linkageType: ''
    returnType: void
    signature: "void *loader_from_algorithm(int scheme_id, const OSSL_ALGORITHM *algodef,\n
      \                                  OSSL_PROVIDER *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/store/store_meth.c:263,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:264,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/crypto/store/store_meth.c:266,1
    - Dst: loader_from_algorithm
      Src: /src/openssl/crypto/store/store_meth.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - algodef
    - prov
    - data
    argTypes:
    - OSSL_ALGORITHM*
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 253
    functionDepth: 7
    functionLinenumber: 253
    functionLinenumberEnd: 281
    functionName: construct_loader
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - loader_from_algorithm
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_add_name
    linkageType: ''
    returnType: void
    signature: "void *construct_loader(const OSSL_ALGORITHM *algodef,\n                              OSSL_PROVIDER
      *prov, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_meth.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: destruct_loader
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: void
    signature: void destruct_loader(void *method, void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:294,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:301,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/store/store_meth.c:306,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/crypto/store/store_meth.c:315,1
    - Dst: ossl_method_construct
      Src: /src/openssl/crypto/store/store_meth.c:331,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/store/store_meth.c:340,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/crypto/store/store_meth.c:341,1
    - Dst: ossl_namemap_num2name
      Src: /src/openssl/crypto/store/store_meth.c:362,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_meth.c:363,1
    - Dst: ossl_lib_ctx_get_descriptor
      Src: /src/openssl/crypto/store/store_meth.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - methdata
    - scheme
    - properties
    argTypes:
    - struct loader_data_st*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 290
    functionDepth: 7
    functionLinenumber: 290
    functionLinenumberEnd: 372
    functionName: inner_loader_fetch
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_method_construct
    - ERR_raise
    - ossl_method_store_cache_set
    - ossl_lib_ctx_get_descriptor
    - ERR_raise_data
    - ossl_namemap_stored
    - get_loader_store
    - ossl_namemap_num2name
    - ossl_method_store_cache_get
    - ossl_namemap_name2num
    linkageType: ''
    returnType: OSSL_STORE_LOADER
    signature: "OSSL_STORE_LOADER *\ninner_loader_fetch(struct loader_data_st *methdata,\n
      \                  const char *scheme, const char *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inner_loader_fetch
      Src: /src/openssl/crypto/store/store_meth.c:383,1
    - Dst: dealloc_tmp_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - libctx
    - scheme
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 8
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: OSSL_STORE_LOADER_fetch
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - inner_loader_fetch
    - dealloc_tmp_loader_store
    linkageType: ''
    returnType: OSSL_STORE_LOADER
    signature: "OSSL_STORE_LOADER *OSSL_STORE_LOADER_fetch(OSSL_LIB_CTX *libctx,\n
      \                                          const char *scheme,\n                                           const
      char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:390,1
    - Dst: ossl_method_store_cache_flush_all
      Src: /src/openssl/crypto/store/store_meth.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 6
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: ossl_store_loader_store_cache_flush
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 1
    functionsReached:
    - ossl_method_store_cache_flush_all
    - get_loader_store
    linkageType: ''
    returnType: int
    signature: int ossl_store_loader_store_cache_flush(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/store/store_meth.c:399,1
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:400,1
    - Dst: ossl_method_store_remove_all_provided
      Src: /src/openssl/crypto/store/store_meth.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 6
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: ossl_store_loader_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 1
    functionsReached:
    - ossl_provider_libctx
    - ossl_method_store_remove_all_provided
    - get_loader_store
    linkageType: ''
    returnType: int
    signature: int ossl_store_loader_store_remove_all_provided(const OSSL_PROVIDER
      *prov)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/store/store_meth.c:413,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: OSSL_STORE_LOADER_get0_provider
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *OSSL_STORE_LOADER_get0_provider(const OSSL_STORE_LOADER
      *loader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/store/store_meth.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: OSSL_STORE_LOADER_get0_properties
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_LOADER_get0_properties(const OSSL_STORE_LOADER *loader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/store/store_meth.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_meth.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: ossl_store_loader_get_number
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: OSSL_STORE_LOADER_get0_description
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_LOADER_get0_description(const OSSL_STORE_LOADER *loader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/store/store_meth.c:449,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:450,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/crypto/store/store_meth.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - loader
    - name
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 7
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: OSSL_STORE_LOADER_is_a
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_name2num
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct do_one_data_st*::user_fn
      Src: /src/openssl/crypto/store/store_meth.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - int
    - method
    - arg
    argTypes:
    - ossl_unused
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 467
    functionName: do_one
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - struct do_one_data_st*::user_fn
    linkageType: ''
    returnType: void
    signature: void do_one(ossl_unused int id, void *method, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inner_loader_fetch
      Src: /src/openssl/crypto/store/store_meth.c:479,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/store/store_meth.c:484,1
    - Dst: ossl_method_store_do_all
      Src: /src/openssl/crypto/store/store_meth.c:485,1
    - Dst: get_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:485,1
    - Dst: dealloc_tmp_loader_store
      Src: /src/openssl/crypto/store/store_meth.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - user_arg
    argTypes:
    - OSSL_LIB_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 469
    functionDepth: 8
    functionLinenumber: 469
    functionLinenumberEnd: 487
    functionName: OSSL_STORE_LOADER_do_all_provided
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - inner_loader_fetch
    - dealloc_tmp_loader_store
    - get_loader_store
    - ossl_method_store_do_all
    linkageType: ''
    returnType: void
    signature: "void OSSL_STORE_LOADER_do_all_provided(OSSL_LIB_CTX *libctx,\n                                       void
      (*user_fn)(OSSL_STORE_LOADER *loader,\n                                                       void
      *arg),\n                                       void *user_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/store/store_meth.c:497,1
    - Dst: ossl_namemap_stored
      Src: /src/openssl/crypto/store/store_meth.c:498,1
    - Dst: ossl_namemap_doall_names
      Src: /src/openssl/crypto/store/store_meth.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - loader
    - data
    argTypes:
    - OSSL_STORE_LOADER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 489
    functionDepth: 7
    functionLinenumber: 489
    functionLinenumberEnd: 504
    functionName: OSSL_STORE_LOADER_names_do_all
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_stored
    - ossl_provider_libctx
    - ossl_namemap_doall_names
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_names_do_all(const OSSL_STORE_LOADER *loader,\n
      \                                  void (*fn)(const char *name, void *data),\n
      \                                  void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER*::p_settable_ctx_params
      Src: /src/openssl/crypto/store/store_meth.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: OSSL_STORE_LOADER_settable_ctx_params
    functionSourceFile: /src/openssl/crypto/store/store_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER*::p_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: 'OSSL_PARAM *

      OSSL_STORE_LOADER_settable_ctx_params(const OSSL_STORE_LOADER *loader)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/store/store_register.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_registry_init)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:42,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_register.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - e
    - scheme
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: OSSL_STORE_LOADER_new
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_LOADER
    signature: OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: OSSL_STORE_LOADER_get0_engine
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *OSSL_STORE_LOADER_get0_engine(const OSSL_STORE_LOADER *loader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: OSSL_STORE_LOADER_get0_scheme
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_LOADER_get0_scheme(const OSSL_STORE_LOADER *loader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - open_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_open_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: OSSL_STORE_LOADER_set_open
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_open(OSSL_STORE_LOADER *loader,\n                               OSSL_STORE_open_fn
      open_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - open_ex_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_open_ex_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: OSSL_STORE_LOADER_set_open_ex
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_open_ex\n    (OSSL_STORE_LOADER *loader,\n
      \    OSSL_STORE_open_ex_fn open_ex_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - attach_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_attach_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: OSSL_STORE_LOADER_set_attach
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_attach(OSSL_STORE_LOADER *loader,\n                                 OSSL_STORE_attach_fn
      attach_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - ctrl_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_ctrl_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: OSSL_STORE_LOADER_set_ctrl
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_ctrl(OSSL_STORE_LOADER *loader,\n                               OSSL_STORE_ctrl_fn
      ctrl_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - expect_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_expect_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: OSSL_STORE_LOADER_set_expect
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_expect(OSSL_STORE_LOADER *loader,\n                                 OSSL_STORE_expect_fn
      expect_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - find_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_find_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: OSSL_STORE_LOADER_set_find
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_find(OSSL_STORE_LOADER *loader,\n                               OSSL_STORE_find_fn
      find_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - load_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_load_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: OSSL_STORE_LOADER_set_load
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_load(OSSL_STORE_LOADER *loader,\n                               OSSL_STORE_load_fn
      load_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - eof_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_eof_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: OSSL_STORE_LOADER_set_eof
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_eof(OSSL_STORE_LOADER *loader,\n                              OSSL_STORE_eof_fn
      eof_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - error_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_error_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: OSSL_STORE_LOADER_set_error
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_error(OSSL_STORE_LOADER *loader,\n                                OSSL_STORE_error_fn
      error_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - close_function
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_close_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: OSSL_STORE_LOADER_set_close
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_LOADER_set_close(OSSL_STORE_LOADER *loader,\n                                OSSL_STORE_close_fn
      close_function)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/store/store_register.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: store_loader_hash
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long store_loader_hash(const OSSL_STORE_LOADER *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/store/store_register.c:147,1
    - Dst: strcmp
      Src: /src/openssl/crypto/store/store_register.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_LOADER*
    assertStmts:
    - condition: (a->scheme != NULL && b->scheme != NULL)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/openssl/crypto/store/store_register.c
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: store_loader_cmp
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: int
    signature: "int store_loader_cmp(const OSSL_STORE_LOADER *a,\n                            const
      OSSL_STORE_LOADER *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_STORE_LOADER_new
      Src: /src/openssl/crypto/store/store_register.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: ossl_store_register_init
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - lh_OSSL_STORE_LOADER_new
    linkageType: ''
    returnType: int
    signature: int ossl_store_register_init(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isalpha
      Src: /src/openssl/crypto/store/store_register.c:172,1
    - Dst: ossl_isalpha
      Src: /src/openssl/crypto/store/store_register.c:174,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/store/store_register.c:175,1
    - Dst: strchr
      Src: /src/openssl/crypto/store/store_register.c:176,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_register.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:187,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/store/store_register.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:193,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/store/store_register.c:196,1
    - Dst: ossl_store_register_init
      Src: /src/openssl/crypto/store/store_register.c:199,1
    - Dst: lh_OSSL_STORE_LOADER_insert
      Src: /src/openssl/crypto/store/store_register.c:200,1
    - Dst: lh_OSSL_STORE_LOADER_error
      Src: /src/openssl/crypto/store/store_register.c:201,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/store/store_register.c:204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 207
    functionName: ossl_store_register_loader_int
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - strchr
    - RUN_ONCE
    - ossl_isalpha
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - ERR_raise_data
    - ossl_store_register_init
    - ossl_isdigit
    - CRYPTO_THREAD_unlock
    - lh_OSSL_STORE_LOADER_error
    - lh_OSSL_STORE_LOADER_insert
    linkageType: ''
    returnType: int
    signature: int ossl_store_register_loader_int(OSSL_STORE_LOADER *loader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_register_loader_int
      Src: /src/openssl/crypto/store/store_register.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - OSSL_STORE_LOADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: OSSL_STORE_register_loader
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached:
    - ossl_store_register_loader_int
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/store/store_register.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:227,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/store/store_register.c:230,1
    - Dst: ossl_store_register_init
      Src: /src/openssl/crypto/store/store_register.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:234,1
    - Dst: lh_OSSL_STORE_LOADER_retrieve
      Src: /src/openssl/crypto/store/store_register.c:235,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_register.c:237,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/store/store_register.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 243
    functionName: ossl_store_get0_loader_int
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - lh_OSSL_STORE_LOADER_retrieve
    - CRYPTO_THREAD_write_lock
    - ossl_store_register_init
    - ERR_raise_data
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: OSSL_STORE_LOADER
    signature: OSSL_STORE_LOADER *ossl_store_get0_loader_int(const char *scheme)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/store/store_register.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:258,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/store/store_register.c:261,1
    - Dst: ossl_store_register_init
      Src: /src/openssl/crypto/store/store_register.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_register.c:265,1
    - Dst: lh_OSSL_STORE_LOADER_delete
      Src: /src/openssl/crypto/store/store_register.c:266,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_register.c:268,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/store/store_register.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 274
    functionName: ossl_store_unregister_loader_int
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - ossl_store_register_init
    - ERR_raise_data
    - CRYPTO_THREAD_unlock
    - lh_OSSL_STORE_LOADER_delete
    linkageType: ''
    returnType: OSSL_STORE_LOADER
    signature: OSSL_STORE_LOADER *ossl_store_unregister_loader_int(const char *scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_unregister_loader_int
      Src: /src/openssl/crypto/store/store_register.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: OSSL_STORE_unregister_loader
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 1
    functionsReached:
    - ossl_store_unregister_loader_int
    linkageType: ''
    returnType: OSSL_STORE_LOADER
    signature: OSSL_STORE_LOADER *OSSL_STORE_unregister_loader(const char *scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_register.c:282,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/store/store_register.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: ossl_store_destroy_loaders_int
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - lh_OSSL_STORE_LOADER_free
    linkageType: ''
    returnType: void
    signature: void ossl_store_destroy_loaders_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_register_init
      Src: /src/openssl/crypto/store/store_register.c:297,1
    - Dst: lh_OSSL_STORE_LOADER_doall_void
      Src: /src/openssl/crypto/store/store_register.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - do_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: OSSL_STORE_do_all_loaders
    functionSourceFile: /src/openssl/crypto/store/store_register.c
    functionUses: 0
    functionsReached:
    - lh_OSSL_STORE_LOADER_doall_void
    - ossl_store_register_init
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_do_all_loaders(void (*do_function) (const OSSL_STORE_LOADER\n
      \                                                  *loader, void *do_arg),\n
      \                             void *do_arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER*::p_set_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:40,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:47,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/store/store_lib.c:52,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/store/store_lib.c:54,1
    - Dst: OSSL_STORE_LOADER*::p_set_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - loader
    - loader_ctx
    - params
    - propq
    argTypes:
    - OSSL_STORE_LOADER*
    - OSSL_STORE_LOADER_CTX*
    - OSSL_PARAM[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: loader_set_params
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_STORE_LOADER*::p_set_ctx_params
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int loader_set_params(OSSL_STORE_LOADER *loader,\n                             OSSL_STORE_LOADER_CTX
      *loader_ctx,\n                             const OSSL_PARAM params[], const
      char *propq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/store/store_lib.c:94,1
    - Dst: strchr
      Src: /src/openssl/crypto/store/store_lib.c:95,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/store/store_lib.c:97,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/store/store_lib.c:98,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_lib.c:104,1
    - Dst: ossl_pw_set_ui_method
      Src: /src/openssl/crypto/store/store_lib.c:107,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/openssl/crypto/store/store_lib.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:109,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:123,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_lib.c:125,1
    - Dst: ossl_store_get0_loader_int
      Src: /src/openssl/crypto/store/store_lib.c:126,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:127,1
    - Dst: OSSL_STORE_LOADER*::open_ex
      Src: /src/openssl/crypto/store/store_lib.c:130,1
    - Dst: OSSL_STORE_LOADER*::open
      Src: /src/openssl/crypto/store/store_lib.c:133,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_lib.c:135,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/crypto/store/store_lib.c:140,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_lib.c:142,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/store/store_lib.c:143,1
    - Dst: OSSL_STORE_LOADER*::p_open_ex
      Src: /src/openssl/crypto/store/store_lib.c:148,1
    - Dst: OSSL_STORE_LOADER*::p_open
      Src: /src/openssl/crypto/store/store_lib.c:153,1
    - Dst: loader_set_params
      Src: /src/openssl/crypto/store/store_lib.c:154,1
    - Dst: OSSL_STORE_LOADER*::p_close
      Src: /src/openssl/crypto/store/store_lib.c:156,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:161,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/openssl/crypto/store/store_lib.c:167,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:178,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/store/store_lib.c:187,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/store/store_lib.c:189,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:190,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_lib.c:206,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:211,1
    - Dst: ossl_store_close_it
      Src: /src/openssl/crypto/store/store_lib.c:228,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:232,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:234,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 8
    argNames:
    - uri
    - libctx
    - propq
    - ui_method
    - ui_data
    - params
    - post_process
    - post_process_data
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    - char*
    - UI_METHOD*
    - void*
    - OSSL_PARAM[]
    - OSSL_STORE_post_process_info_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 62
    functionDepth: 9
    functionLinenumber: 62
    functionLinenumberEnd: 236
    functionName: OSSL_STORE_open_ex
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - OPENSSL_strcasecmp
    - OSSL_STORE_LOADER_free
    - OPENSSL_strlcpy
    - ERR_pop_to_mark
    - OPENSSL_free
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_STORE_LOADER*::p_close
    - HAS_PREFIX
    - ossl_pw_set_ui_method
    - OPENSSL_zalloc
    - ossl_store_get0_loader_int
    - OSSL_STORE_LOADER*::p_open
    - OSSL_STORE_LOADER*::p_open_ex
    - loader_set_params
    - OSSL_TRACE2
    - ossl_store_close_it
    - OPENSSL_strdup
    - OSSL_STORE_LOADER_get0_provider
    - OSSL_STORE_LOADER*::open_ex
    - ERR_clear_last_mark
    - OSSL_STORE_LOADER_fetch
    - OSSL_TRACE1
    - strchr
    - OSSL_STORE_LOADER*::open
    - ossl_pw_clear_passphrase_cache
    - ossl_pw_enable_passphrase_caching
    - ERR_set_mark
    linkageType: ''
    returnType: OSSL_STORE_CTX
    signature: "OSSL_STORE_CTX *\nOSSL_STORE_open_ex(const char *uri, OSSL_LIB_CTX
      *libctx, const char *propq,\n                   const UI_METHOD *ui_method,
      void *ui_data,\n                   const OSSL_PARAM params[],\n                   OSSL_STORE_post_process_info_fn
      post_process,\n                   void *post_process_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/crypto/store/store_lib.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - uri
    - ui_method
    - ui_data
    - post_process
    - post_process_data
    argTypes:
    - char*
    - UI_METHOD*
    - void*
    - OSSL_STORE_post_process_info_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 10
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: OSSL_STORE_open
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_open_ex
    linkageType: ''
    returnType: OSSL_STORE_CTX
    signature: "OSSL_STORE_CTX *OSSL_STORE_open(const char *uri,\n                                const
      UI_METHOD *ui_method, void *ui_data,\n                                OSSL_STORE_post_process_info_fn
      post_process,\n                                void *post_process_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/store/store_lib.c:253,1
    - Dst: OSSL_STORE_vctrl
      Src: /src/openssl/crypto/store/store_lib.c:254,1
    - Dst: va_end
      Src: /src/openssl/crypto/store/store_lib.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - OSSL_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: OSSL_STORE_ctrl
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - va_end
    - OSSL_STORE_vctrl
    - va_start
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/store/store_lib.c:271,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:278,1
    - Dst: OSSL_STORE_CTX*::loader::ctrl
      Src: /src/openssl/crypto/store/store_lib.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - cmd
    - args
    argTypes:
    - OSSL_STORE_CTX*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 290
    functionName: OSSL_STORE_vctrl
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_CTX*::loader::ctrl
    - OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, va_list args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:303,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/store/store_lib.c:313,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:314,1
    - Dst: OSSL_STORE_CTX*::loader::expect
      Src: /src/openssl/crypto/store/store_lib.c:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - expected_type
    argTypes:
    - OSSL_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 323
    functionName: OSSL_STORE_expect
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_CTX*::loader::expect
    - OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
    - ERR_raise
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:348,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/store/store_lib.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:353,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/store/store_lib.c:361,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/store/store_lib.c:363,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/crypto/store/store_lib.c:369,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/store/store_lib.c:371,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/store/store_lib.c:372,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/store/store_lib.c:375,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/crypto/store/store_lib.c:380,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/store/store_lib.c:381,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/store/store_lib.c:383,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/crypto/store/store_lib.c:390,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/store/store_lib.c:397,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:398,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/store/store_lib.c:400,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/store/store_lib.c:402,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:403,1
    - Dst: BN_free
      Src: /src/openssl/crypto/store/store_lib.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:409,1
    - Dst: OSSL_STORE_CTX*::loader::find
      Src: /src/openssl/crypto/store/store_lib.c:412,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 2
    argNames:
    - ctx
    - search
    argTypes:
    - OSSL_STORE_CTX*
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 325
    functionDepth: 11
    functionLinenumber: 325
    functionLinenumberEnd: 417
    functionName: OSSL_STORE_find
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OSSL_STORE_CTX*::fetched_loader::p_set_ctx_params
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_MD_get0_name
    - i2d_X509_NAME
    - ASN1_INTEGER_to_BN
    - OSSL_PARAM_BLD_push_BN
    - OPENSSL_free
    - OSSL_STORE_CTX*::loader::find
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_find(OSSL_STORE_CTX *ctx, const OSSL_STORE_SEARCH *search)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/crypto/store/store_lib.c:425,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/store/store_lib.c:429,1
    - Dst: sk_OSSL_STORE_INFO_shift
      Src: /src/openssl/crypto/store/store_lib.c:432,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_load
      Src: /src/openssl/crypto/store/store_lib.c:441,1
    - Dst: OSSL_STORE_CTX*::loader::load
      Src: /src/openssl/crypto/store/store_lib.c:453,1
    - Dst: OSSL_STORE_CTX*::post_process
      Src: /src/openssl/crypto/store/store_lib.c:460,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/openssl/crypto/store/store_lib.c:471,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/crypto/store/store_lib.c:474,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_lib.c:478,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:485,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/openssl/crypto/store/store_lib.c:486,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/crypto/store/store_lib.c:486,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 489
    functionName: OSSL_STORE_load
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_TRACE1
    - OSSL_STORE_CTX*::fetched_loader::p_load
    - ossl_pw_clear_passphrase_cache
    - OSSL_STORE_CTX*::post_process
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_eof
    - OSSL_STORE_INFO_type_string
    - OSSL_TRACE
    - sk_OSSL_STORE_INFO_shift
    - OSSL_STORE_INFO_free
    - OSSL_STORE_CTX*::loader::load
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/store/store_lib.c:500,1
    - Dst: strchr
      Src: /src/openssl/crypto/store/store_lib.c:501,1
    - Dst: ossl_pw_set_ui_method
      Src: /src/openssl/crypto/store/store_lib.c:507,1
    - Dst: ossl_pw_enable_passphrase_caching
      Src: /src/openssl/crypto/store/store_lib.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:509,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:513,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/crypto/store/store_lib.c:514,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_lib.c:518,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/store/store_lib.c:519,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:525,1
    - Dst: OSSL_STORE_LOADER*::p_delete
      Src: /src/openssl/crypto/store/store_lib.c:526,1
    - Dst: ossl_pw_clear_passphrase_cache
      Src: /src/openssl/crypto/store/store_lib.c:531,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - uri
    - libctx
    - propq
    - ui_method
    - ui_data
    - params
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    - char*
    - UI_METHOD*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 491
    functionDepth: 9
    functionLinenumber: 491
    functionLinenumberEnd: 536
    functionName: OSSL_STORE_delete
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - ossl_pw_set_ui_method
    - strchr
    - ERR_raise
    - ossl_pw_clear_passphrase_cache
    - OSSL_STORE_LOADER_free
    - OPENSSL_strlcpy
    - ossl_pw_enable_passphrase_caching
    - OSSL_STORE_LOADER_get0_provider
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_STORE_LOADER*::p_delete
    - OSSL_STORE_LOADER_fetch
    linkageType: ''
    returnType: int
    signature: "int OSSL_STORE_delete(const char *uri, OSSL_LIB_CTX *libctx, const
      char *propq,\n                      const UI_METHOD *ui_method, void *ui_data,\n
      \                     const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_CTX*::loader::error
      Src: /src/openssl/crypto/store/store_lib.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 549
    functionName: OSSL_STORE_error
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_CTX*::loader::error
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_error(OSSL_STORE_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_STORE_INFO_num
      Src: /src/openssl/crypto/store/store_lib.c:556,1
    - Dst: sk_OSSL_STORE_INFO_free
      Src: /src/openssl/crypto/store/store_lib.c:557,1
    - Dst: OSSL_STORE_CTX*::loader::p_eof
      Src: /src/openssl/crypto/store/store_lib.c:564,1
    - Dst: OSSL_STORE_CTX*::loader::eof
      Src: /src/openssl/crypto/store/store_lib.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 571
    functionName: OSSL_STORE_eof
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_CTX*::loader::p_eof
    - sk_OSSL_STORE_INFO_free
    - OSSL_STORE_CTX*::loader::eof
    - sk_OSSL_STORE_INFO_num
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_eof(OSSL_STORE_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:579,1
    - Dst: OSSL_STORE_CTX*::loader::p_close
      Src: /src/openssl/crypto/store/store_lib.c:582,1
    - Dst: OSSL_STORE_CTX*::loader::closefn
      Src: /src/openssl/crypto/store/store_lib.c:585,1
    - Dst: sk_OSSL_STORE_INFO_pop_free
      Src: /src/openssl/crypto/store/store_lib.c:588,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:589,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:590,1
    - Dst: ossl_pw_clear_passphrase_data
      Src: /src/openssl/crypto/store/store_lib.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: ossl_store_close_it
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_TRACE1
    - OSSL_STORE_CTX*::loader::closefn
    - OSSL_STORE_LOADER_free
    - OSSL_STORE_CTX*::loader::p_close
    - sk_OSSL_STORE_INFO_pop_free
    - OPENSSL_free
    - ossl_pw_clear_passphrase_data
    linkageType: ''
    returnType: int
    signature: int ossl_store_close_it(OSSL_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_close_it
      Src: /src/openssl/crypto/store/store_lib.c:597,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 4
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: OSSL_STORE_close
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 2
    functionsReached:
    - ossl_store_close_it
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_close(OSSL_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 620
    functionName: OSSL_STORE_INFO_new
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new(int type, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/openssl/crypto/store/store_lib.c:624,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 635
    functionName: OSSL_STORE_INFO_new_NAME
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 2
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new_NAME(char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - info
    - desc
    argTypes:
    - OSSL_STORE_INFO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: OSSL_STORE_INFO_set0_NAME_description
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_INFO_set0_NAME_description(OSSL_STORE_INFO *info, char
      *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/openssl/crypto/store/store_lib.c:650,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - params
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: OSSL_STORE_INFO_new_PARAMS
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new_PARAMS(EVP_PKEY *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/openssl/crypto/store/store_lib.c:659,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: OSSL_STORE_INFO_new_PUBKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new_PUBKEY(EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/openssl/crypto/store/store_lib.c:668,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 673
    functionName: OSSL_STORE_INFO_new_PKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 5
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new_PKEY(EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/openssl/crypto/store/store_lib.c:677,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x509
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: OSSL_STORE_INFO_new_CERT
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 4
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new_CERT(X509 *x509)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_INFO_new
      Src: /src/openssl/crypto/store/store_lib.c:686,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 691
    functionName: OSSL_STORE_INFO_new_CRL
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 2
    functionsReached:
    - OSSL_STORE_INFO_new
    - ERR_raise
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: OSSL_STORE_INFO *OSSL_STORE_INFO_new_CRL(X509_CRL *crl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: OSSL_STORE_INFO_get_type
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_INFO_get_type(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - type
    - info
    argTypes:
    - int
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: OSSL_STORE_INFO_get0_data
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *OSSL_STORE_INFO_get0_data(int type, const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: OSSL_STORE_INFO_get0_NAME
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_INFO_get0_NAME(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/store/store_lib.c:718,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 721
    functionName: OSSL_STORE_INFO_get1_NAME
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_INFO_get1_NAME(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 728
    functionName: OSSL_STORE_INFO_get0_NAME_description
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_INFO_get0_NAME_description(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/store/store_lib.c:733,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 736
    functionName: OSSL_STORE_INFO_get1_NAME_description
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_INFO_get1_NAME_description(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: OSSL_STORE_INFO_get0_PARAMS
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *OSSL_STORE_INFO_get0_PARAMS(const OSSL_STORE_INFO *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/store/store_lib.c:748,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 754
    functionName: OSSL_STORE_INFO_get1_PARAMS
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_up_ref
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *OSSL_STORE_INFO_get1_PARAMS(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 761
    functionName: OSSL_STORE_INFO_get0_PUBKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *OSSL_STORE_INFO_get0_PUBKEY(const OSSL_STORE_INFO *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/store/store_lib.c:766,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 772
    functionName: OSSL_STORE_INFO_get1_PUBKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_up_ref
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *OSSL_STORE_INFO_get1_PUBKEY(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 779
    functionName: OSSL_STORE_INFO_get0_PKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *OSSL_STORE_INFO_get0_PKEY(const OSSL_STORE_INFO *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/store/store_lib.c:784,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 790
    functionName: OSSL_STORE_INFO_get1_PKEY
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_up_ref
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *OSSL_STORE_INFO_get1_PKEY(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 797
    functionName: OSSL_STORE_INFO_get0_CERT
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 *OSSL_STORE_INFO_get0_CERT(const OSSL_STORE_INFO *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/store/store_lib.c:802,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 808
    functionName: OSSL_STORE_INFO_get1_CERT
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_up_ref
    linkageType: ''
    returnType: X509
    signature: X509 *OSSL_STORE_INFO_get1_CERT(const OSSL_STORE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: OSSL_STORE_INFO_get0_CRL
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *OSSL_STORE_INFO_get0_CRL(const OSSL_STORE_INFO *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/store/store_lib.c:820,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/store/store_lib.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 826
    functionName: OSSL_STORE_INFO_get1_CRL
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - X509_CRL_up_ref
    - ERR_raise
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *OSSL_STORE_INFO_get1_CRL(const OSSL_STORE_INFO *info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:836,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:837,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_lib.c:840,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_lib.c:843,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/store/store_lib.c:846,1
    - Dst: X509_free
      Src: /src/openssl/crypto/store/store_lib.c:849,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/store/store_lib.c:852,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:855,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - info
    argTypes:
    - OSSL_STORE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 831
    functionDepth: 4
    functionLinenumber: 831
    functionLinenumberEnd: 857
    functionName: OSSL_STORE_INFO_free
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 5
    functionsReached:
    - X509_free
    - OPENSSL_free
    - X509_CRL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void OSSL_STORE_INFO_free(OSSL_STORE_INFO *info)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_ctx
      Src: /src/openssl/crypto/store/store_lib.c:865,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_lib.c:865,1
    - Dst: OSSL_STORE_CTX*::fetched_loader::p_settable_ctx_params
      Src: /src/openssl/crypto/store/store_lib.c:876,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:877,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:878,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:879,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:881,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/store/store_lib.c:882,1
    - Dst: OSSL_STORE_CTX*::loader::find
      Src: /src/openssl/crypto/store/store_lib.c:906,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - search_type
    argTypes:
    - OSSL_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 859
    functionDepth: 11
    functionLinenumber: 859
    functionLinenumberEnd: 910
    functionName: OSSL_STORE_supports_search
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - ossl_provider_ctx
    - OSSL_PARAM_locate_const
    - OSSL_STORE_CTX*::loader::find
    - OSSL_STORE_LOADER_get0_provider
    - OSSL_STORE_CTX*::fetched_loader::p_settable_ctx_params
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int search_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 923
    functionName: OSSL_STORE_SEARCH_by_name
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_SEARCH
    signature: OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_name(X509_NAME *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - serial
    argTypes:
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 937
    functionName: OSSL_STORE_SEARCH_by_issuer_serial
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_SEARCH
    signature: "OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_issuer_serial(X509_NAME *name,\n
      \                                                     const ASN1_INTEGER *serial)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:943,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/store/store_lib.c:949,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:951,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/store/store_lib.c:956,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/store/store_lib.c:959,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - digest
    - bytes
    - len
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 969
    functionName: OSSL_STORE_SEARCH_by_key_fingerprint
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_MD_get_size
    - ERR_raise_data
    - EVP_MD_get0_name
    - OPENSSL_free
    linkageType: ''
    returnType: OSSL_STORE_SEARCH
    signature: "OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_key_fingerprint(const EVP_MD
      *digest,\n                                                        const unsigned
      char\n                                                        *bytes, size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:973,1
    - Dst: strlen
      Src: /src/openssl/crypto/store/store_lib.c:980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - alias
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 982
    functionName: OSSL_STORE_SEARCH_by_alias
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - strlen
    linkageType: ''
    returnType: OSSL_STORE_SEARCH
    signature: OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_alias(const char *alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - search
    argTypes:
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 988
    functionName: OSSL_STORE_SEARCH_free
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void OSSL_STORE_SEARCH_free(OSSL_STORE_SEARCH *search)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 994
    functionName: OSSL_STORE_SEARCH_get_type
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OSSL_STORE_SEARCH_get_type(const OSSL_STORE_SEARCH *criterion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: OSSL_STORE_SEARCH_get0_name
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *OSSL_STORE_SEARCH_get0_name(const OSSL_STORE_SEARCH *criterion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1005
    functionName: OSSL_STORE_SEARCH_get0_serial
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: "ASN1_INTEGER *OSSL_STORE_SEARCH_get0_serial(const OSSL_STORE_SEARCH\n
      \                                                 *criterion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - criterion
    - length
    argTypes:
    - OSSL_STORE_SEARCH*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1012
    functionName: OSSL_STORE_SEARCH_get0_bytes
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *OSSL_STORE_SEARCH_get0_bytes(const OSSL_STORE_SEARCH\n
      \                                                 *criterion, size_t *length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: OSSL_STORE_SEARCH_get0_string
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_STORE_SEARCH_get0_string(const OSSL_STORE_SEARCH *criterion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - criterion
    argTypes:
    - OSSL_STORE_SEARCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1022
    functionName: OSSL_STORE_SEARCH_get0_digest
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *OSSL_STORE_SEARCH_get0_digest(const OSSL_STORE_SEARCH *criterion)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/store/store_lib.c:1039,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/store/store_lib.c:1040,1
    - Dst: ossl_store_get0_loader_int
      Src: /src/openssl/crypto/store/store_lib.c:1042,1
    - Dst: OSSL_STORE_LOADER*::attach
      Src: /src/openssl/crypto/store/store_lib.c:1043,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/crypto/store/store_lib.c:1048,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/crypto/store/store_lib.c:1050,1
    - Dst: OSSL_PROVIDER_get0_provider_ctx
      Src: /src/openssl/crypto/store/store_lib.c:1051,1
    - Dst: ossl_core_bio_new_from_bio
      Src: /src/openssl/crypto/store/store_lib.c:1052,1
    - Dst: OSSL_STORE_LOADER*::p_attach
      Src: /src/openssl/crypto/store/store_lib.c:1056,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:1057,1
    - Dst: loader_set_params
      Src: /src/openssl/crypto/store/store_lib.c:1059,1
    - Dst: OSSL_STORE_LOADER*::p_close
      Src: /src/openssl/crypto/store/store_lib.c:1061,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/crypto/store/store_lib.c:1062,1
    - Dst: ossl_core_bio_free
      Src: /src/openssl/crypto/store/store_lib.c:1066,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:1070,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/store/store_lib.c:1074,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:1075,1
    - Dst: ossl_pw_set_ui_method
      Src: /src/openssl/crypto/store/store_lib.c:1080,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/store/store_lib.c:1081,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/store/store_lib.c:1082,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/store/store_lib.c:1097,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 9
    argNames:
    - bp
    - scheme
    - libctx
    - propq
    - ui_method
    - ui_data
    - params
    - post_process
    - post_process_data
    argTypes:
    - BIO*
    - char*
    - OSSL_LIB_CTX*
    - char*
    - UI_METHOD*
    - void*
    - OSSL_PARAM[]
    - OSSL_STORE_post_process_info_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1024
    functionDepth: 9
    functionLinenumber: 1024
    functionLinenumberEnd: 1100
    functionName: OSSL_STORE_attach
    functionSourceFile: /src/openssl/crypto/store/store_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - OPENSSL_zalloc
    - ossl_pw_set_ui_method
    - ossl_store_get0_loader_int
    - OSSL_STORE_LOADER_free
    - ERR_pop_to_mark
    - ERR_set_mark
    - loader_set_params
    - ossl_core_bio_new_from_bio
    - ossl_core_bio_free
    - OPENSSL_free
    - OSSL_STORE_LOADER_get0_provider
    - OSSL_STORE_LOADER*::p_attach
    - OSSL_PROVIDER_get0_provider_ctx
    - OSSL_STORE_LOADER*::p_close
    - ERR_clear_last_mark
    - OSSL_STORE_LOADER*::attach
    - OSSL_STORE_LOADER_fetch
    linkageType: ''
    returnType: OSSL_STORE_CTX
    signature: "OSSL_STORE_CTX *OSSL_STORE_attach(BIO *bp, const char *scheme,\n                                  OSSL_LIB_CTX
      *libctx, const char *propq,\n                                  const UI_METHOD
      *ui_method, void *ui_data,\n                                  const OSSL_PARAM
      params[],\n                                  OSSL_STORE_post_process_info_fn
      post_process,\n                                  void *post_process_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_store_destroy_loaders_int
      Src: /src/openssl/crypto/store/store_init.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: ossl_store_cleanup_int
    functionSourceFile: /src/openssl/crypto/store/store_init.c
    functionUses: 1
    functionsReached:
    - ossl_store_destroy_loaders_int
    linkageType: ''
    returnType: void
    signature: void ossl_store_cleanup_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: init_pstring
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_pstring(char **pstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pint
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: init_pint
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_pint(int *pint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/http/http_lib.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - start
    - end
    argTypes:
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: copy_substring
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: int copy_substring(char **dest, const char *start, const char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: free_pstring
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_pstring(char **pstr)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:67,1
    - Dst: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:68,1
    - Dst: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:69,1
    - Dst: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:70,1
    - Dst: init_pint
      Src: /src/openssl/crypto/http/http_lib.c:71,1
    - Dst: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:72,1
    - Dst: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:73,1
    - Dst: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_lib.c:77,1
    - Dst: strstr
      Src: /src/openssl/crypto/http/http_lib.c:83,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:90,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_lib.c:95,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_lib.c:104,1
    - Dst: strpbrk
      Src: /src/openssl/crypto/http/http_lib.c:110,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:112,1
    - Dst: sscanf
      Src: /src/openssl/crypto/http/http_lib.c:122,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_lib.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_lib.c:134,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:137,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_lib.c:140,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_lib.c:150,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:158,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:159,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:160,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:161,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:162,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:163,1
    - Dst: copy_substring
      Src: /src/openssl/crypto/http/http_lib.c:168,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_lib.c:173,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/http/http_lib.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_lib.c:180,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:183,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:184,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:185,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:186,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:187,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:188,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:189,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 105
    argCount: 9
    argNames:
    - url
    - pscheme
    - puser
    - phost
    - pport
    - pport_num
    - ppath
    - pquery
    - pfrag
    argTypes:
    - char*
    - char**
    - char**
    - char**
    - char**
    - int*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 191
    functionName: OSSL_parse_url
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 1
    functionsReached:
    - strchr
    - ERR_raise
    - strstr
    - init_pint
    - strpbrk
    - ERR_raise_data
    - copy_substring
    - BIO_snprintf
    - init_pstring
    - strlen
    - sscanf
    - OPENSSL_malloc
    - free_pstring
    linkageType: ''
    returnType: int
    signature: "int OSSL_parse_url(const char *url, char **pscheme, char **puser,
      char **phost,\n                   char **pport, int *pport_num,\n                   char
      **ppath, char **pquery, char **pfrag)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: init_pstring
      Src: /src/openssl/crypto/http/http_lib.c:202,1
    - Dst: OSSL_parse_url
      Src: /src/openssl/crypto/http/http_lib.c:205,1
    - Dst: strcmp
      Src: /src/openssl/crypto/http/http_lib.c:210,1
    - Dst: strcmp
      Src: /src/openssl/crypto/http/http_lib.c:214,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_lib.c:215,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:216,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:220,1
    - Dst: strcmp
      Src: /src/openssl/crypto/http/http_lib.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:224,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/http/http_lib.c:226,1
    - Dst: sscanf
      Src: /src/openssl/crypto/http/http_lib.c:226,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_lib.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_lib.c:239,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:244,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:245,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:246,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:247,1
    - Dst: free_pstring
      Src: /src/openssl/crypto/http/http_lib.c:248,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 9
    argNames:
    - url
    - pssl
    - puser
    - phost
    - pport
    - pport_num
    - ppath
    - pquery
    - pfrag
    argTypes:
    - char*
    - int*
    - char**
    - char**
    - char**
    - int*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 250
    functionName: OSSL_HTTP_parse_url
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OSSL_parse_url
    - OPENSSL_free
    - init_pstring
    - OPENSSL_strdup
    - strcmp
    - sscanf
    - free_pstring
    linkageType: ''
    returnType: int
    signature: "int OSSL_HTTP_parse_url(const char *url, int *pssl, char **puser,
      char **phost,\n                        char **pport, int *pport_num,\n                        char
      **ppath, char **pquery, char **pfrag)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/http/http_lib.c:259,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_lib.c:261,1
    - Dst: strncpy
      Src: /src/openssl/crypto/http/http_lib.c:265,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/http/http_lib.c:274,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/http/http_lib.c:276,1
    - Dst: strstr
      Src: /src/openssl/crypto/http/http_lib.c:279,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_lib.c:281,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_lib.c:282,1
    - Dst: strstr
      Src: /src/openssl/crypto/http/http_lib.c:283,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - no_proxy
    - server
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 285
    functionName: use_proxy
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached:
    - strncpy
    - ossl_assert
    - strstr
    - ossl_isspace
    - ossl_safe_getenv
    - strlen
    linkageType: ''
    returnType: int
    signature: int use_proxy(const char *no_proxy, const char *server)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/http/http_lib.c:296,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/http/http_lib.c:298,1
    - Dst: use_proxy
      Src: /src/openssl/crypto/http/http_lib.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - proxy
    - no_proxy
    - server
    - use_ssl
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 303
    functionName: OSSL_HTTP_adapt_proxy
    functionSourceFile: /src/openssl/crypto/http/http_lib.c
    functionUses: 0
    functionsReached:
    - use_proxy
    - ossl_safe_getenv
    linkageType: ''
    returnType: char
    signature: "char *OSSL_HTTP_adapt_proxy(const char *proxy, const char *no_proxy,\n
      \                                 const char *server, int use_ssl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:102,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/http/http_client.c:106,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_client.c:110,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - wbio
    - rbio
    - buf_size
    argTypes:
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: OSSL_HTTP_REQ_CTX_new
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_HTTP_REQ_CTX
    signature: OSSL_HTTP_REQ_CTX *OSSL_HTTP_REQ_CTX_new(BIO *wbio, BIO *rbio, int
      buf_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/http/http_client.c:133,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:135,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:137,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 143
    functionName: OSSL_HTTP_REQ_CTX_free
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void OSSL_HTTP_REQ_CTX_free(OSSL_HTTP_REQ_CTX *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: OSSL_HTTP_REQ_CTX_get0_mem_bio
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: BIO
    signature: BIO *OSSL_HTTP_REQ_CTX_get0_mem_bio(const OSSL_HTTP_REQ_CTX *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: OSSL_HTTP_REQ_CTX_get_resp_len
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: size_t OSSL_HTTP_REQ_CTX_get_resp_len(const OSSL_HTTP_REQ_CTX *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rctx
    - len
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: OSSL_HTTP_REQ_CTX_set_max_response_length
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: "void OSSL_HTTP_REQ_CTX_set_max_response_length(OSSL_HTTP_REQ_CTX *rctx,\n
      \                                              unsigned long len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:183,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:186,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/http/http_client.c:187,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/http/http_client.c:187,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:191,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:199,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:201,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:210,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:213,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - rctx
    - method_POST
    - server
    - port
    - path
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 226
    functionName: OSSL_HTTP_REQ_CTX_set_request_line
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ERR_raise
    - BIO_free
    - BIO_s_mem
    - BIO_printf
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: "int OSSL_HTTP_REQ_CTX_set_request_line(OSSL_HTTP_REQ_CTX *rctx, int
      method_POST,\n                                       const char *server, const
      char *port,\n                                       const char *path)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:236,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/http/http_client.c:240,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/http/http_client.c:243,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/http/http_client.c:245,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/http/http_client.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - rctx
    - name
    - value
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 249
    functionName: OSSL_HTTP_REQ_CTX_add1_header
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_puts
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_HTTP_REQ_CTX_add1_header(OSSL_HTTP_REQ_CTX *rctx,\n                                  const
      char *name, const char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:262,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:266,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:269,1
    - Dst: time
      Src: /src/openssl/crypto/http/http_client.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - rctx
    - content_type
    - asn1
    - timeout
    - keep_alive
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 279
    functionName: OSSL_HTTP_REQ_CTX_set_expected
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - time
    - OPENSSL_free
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_HTTP_REQ_CTX_set_expected(OSSL_HTTP_REQ_CTX *rctx,\n                                   const
      char *content_type, int asn1,\n                                   int timeout,
      int keep_alive)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/openssl/crypto/http/http_client.c:357,1
    - Dst: set1_content
      Src: /src/openssl/crypto/http/http_client.c:358,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - rctx
    - content_type
    - it
    - req
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char*
    - ASN1_ITEM*
    - ASN1_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 361
    functionName: OSSL_HTTP_REQ_CTX_set1_req
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - set1_content
    - ASN1_item_i2d_mem_bio
    linkageType: ''
    returnType: int
    signature: "int OSSL_HTTP_REQ_CTX_set1_req(OSSL_HTTP_REQ_CTX *rctx, const char
      *content_type,\n                               const ASN1_ITEM *it, const ASN1_VALUE
      *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rctx
    - count
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 371
    functionName: OSSL_HTTP_REQ_CTX_set_max_response_hdr_lines
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: "void OSSL_HTTP_REQ_CTX_set_max_response_hdr_lines(OSSL_HTTP_REQ_CTX
      *rctx,\n                                                  size_t count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/http/http_client.c:380,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/http/http_client.c:381,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:382,1
    - Dst: OSSL_HTTP_REQ_CTX_add1_header
      Src: /src/openssl/crypto/http/http_client.c:384,1
    - Dst: OSSL_HTTP_REQ_CTX_add1_header
      Src: /src/openssl/crypto/http/http_client.c:388,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - rctx
    - headers
    - host
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - STACK_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 391
    functionName: add1_headers
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_REQ_CTX_add1_header
    - sk_CONF_VALUE_num
    - sk_CONF_VALUE_value
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int add1_headers(OSSL_HTTP_REQ_CTX *rctx,\n                        const
      STACK_OF(CONF_VALUE) *headers, const char *host)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_REQ_CTX_new
      Src: /src/openssl/crypto/http/http_client.c:401,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:410,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:413,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:416,1
    - Dst: time
      Src: /src/openssl/crypto/http/http_client.c:419,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/crypto/http/http_client.c:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 11
    argNames:
    - free_wbio
    - wbio
    - rbio
    - bio_update_fn
    - arg
    - use_ssl
    - proxy
    - server
    - port
    - buf_size
    - overall_timeout
    argTypes:
    - int
    - BIO*
    - BIO*
    - OSSL_HTTP_bio_cb_t
    - void*
    - int
    - char*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 425
    functionName: http_req_ctx_new
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - time
    - OSSL_HTTP_REQ_CTX_new
    - OSSL_HTTP_REQ_CTX_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: OSSL_HTTP_REQ_CTX
    signature: "OSSL_HTTP_REQ_CTX *http_req_ctx_new(int free_wbio, BIO *wbio, BIO
      *rbio,\n                                           OSSL_HTTP_bio_cb_t bio_update_fn,\n
      \                                          void *arg, int use_ssl,\n                                           const
      char *proxy,\n                                           const char *server,
      const char *port,\n                                           int buf_size,
      int overall_timeout)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:438,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:444,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:450,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:456,1
    - Dst: strtoul
      Src: /src/openssl/crypto/http/http_client.c:466,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:471,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:481,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:481,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:492,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/http/http_client.c:494,1
    - Dst: ossl_isprint
      Src: /src/openssl/crypto/http/http_client.c:501,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:504,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 2
    argNames:
    - line
    - found_keep_alive
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 506
    functionName: parse_http_line1
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ossl_isprint
    - strtoul
    - ERR_add_error_data
    - CHECK_AND_SKIP_PREFIX
    - ERR_raise_data
    - ossl_isspace
    - strlen
    linkageType: ''
    returnType: int
    signature: int parse_http_line1(char *line, int *found_keep_alive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - desc
    - max_len
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: check_max_len
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int check_max_len(const char *desc, size_t max_len, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_max_len
      Src: /src/openssl/crypto/http/http_client.c:520,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - desc
    - rctx
    - len
    argTypes:
    - char*
    - OSSL_HTTP_REQ_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 529
    functionName: check_set_resp_len
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - check_max_len
    linkageType: ''
    returnType: int
    signature: int check_set_resp_len(const char *desc, OSSL_HTTP_REQ_CTX *rctx, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/http/http_client.c:533,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - max_time
    - ptimeout
    argTypes:
    - time_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 544
    functionName: may_still_retry
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - time
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int may_still_retry(time_t max_time, int *ptimeout)
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:565,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/http/http_client.c:575,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/http/http_client.c:577,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/http/http_client.c:578,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/http/http_client.c:580,1
    - Dst: BIO_get_line
      Src: /src/openssl/crypto/http/http_client.c:581,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/http/http_client.c:583,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:588,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:589,1
    - Dst: check_set_resp_len
      Src: /src/openssl/crypto/http/http_client.c:591,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:596,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/http/http_client.c:601,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/http/http_client.c:612,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:620,1
    - Dst: BIO_write_ex
      Src: /src/openssl/crypto/http/http_client.c:633,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:634,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:639,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:641,1
    - Dst: OSSL_TRACE_STRING
      Src: /src/openssl/crypto/http/http_client.c:643,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:645,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/http/http_client.c:654,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/http/http_client.c:657,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:658,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/http/http_client.c:659,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/http/http_client.c:661,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:663,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:665,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/http/http_client.c:677,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:684,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:705,1
    - Dst: memchr
      Src: /src/openssl/crypto/http/http_client.c:706,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/http/http_client.c:713,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:716,1
    - Dst: check_max_len
      Src: /src/openssl/crypto/http/http_client.c:724,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:726,1
    - Dst: OSSL_TRACE_STRING
      Src: /src/openssl/crypto/http/http_client.c:727,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:733,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:740,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:745,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:748,1
    - Dst: OSSL_TRACE_STRING
      Src: /src/openssl/crypto/http/http_client.c:749,1
    - Dst: parse_http_line1
      Src: /src/openssl/crypto/http/http_client.c:754,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:765,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:776,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:779,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:781,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:783,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:789,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:791,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:792,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/http/http_client.c:794,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:797,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:798,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:803,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:805,1
    - Dst: strchr
      Src: /src/openssl/crypto/http/http_client.c:806,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:807,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/http/http_client.c:808,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:810,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:821,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:822,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:824,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/http/http_client.c:826,1
    - Dst: strtoul
      Src: /src/openssl/crypto/http/http_client.c:827,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:830,1
    - Dst: check_set_resp_len
      Src: /src/openssl/crypto/http/http_client.c:835,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:849,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:850,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:856,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:864,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/http/http_client.c:865,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/http/http_client.c:870,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:875,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:881,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:887,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:888,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:893,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:894,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:904,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:910,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:925,1
    - Dst: check_set_resp_len
      Src: /src/openssl/crypto/http/http_client.c:938,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:941,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/http/http_client.c:942,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:947,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/http/http_client.c:951,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/http/http_client.c:952,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 310
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 956
    functionName: OSSL_HTTP_REQ_CTX_nbio
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_strcasecmp
    - ERR_pop_to_mark
    - memchr
    - ossl_isspace
    - BIO_get_mem_data
    - BIO_reset
    - strlen
    - BIO_should_retry
    - BIO_write
    - BIO_write_ex
    - BIO_flush
    - BIO_eof
    - check_set_resp_len
    - OPENSSL_strncasecmp
    - OSSL_TRACE_STRING
    - BIO_get_line
    - check_max_len
    - parse_http_line1
    - ERR_clear_last_mark
    - BIO_read
    - OSSL_TRACE1
    - strchr
    - BIO_gets
    - HAS_CASE_PREFIX
    - ERR_raise_data
    - OSSL_TRACE_ENABLED
    - strtoul
    - ERR_set_mark
    - OSSL_TRACE
    linkageType: ''
    returnType: int
    signature: int OSSL_HTTP_REQ_CTX_nbio(OSSL_HTTP_REQ_CTX *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_REQ_CTX_nbio
      Src: /src/openssl/crypto/http/http_client.c:965,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/http/http_client.c:967,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/http/http_client.c:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rctx
    - pval
    - it
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 970
    functionName: OSSL_HTTP_REQ_CTX_nbio_d2i
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_get_mem_data
    - OSSL_HTTP_REQ_CTX_nbio
    - ASN1_item_d2i
    linkageType: ''
    returnType: int
    signature: "int OSSL_HTTP_REQ_CTX_nbio_d2i(OSSL_HTTP_REQ_CTX *rctx,\n                               ASN1_VALUE
      **pval, const ASN1_ITEM *it)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/crypto/http/http_client.c:979,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hostserv
    - port
    - use_ssl
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 986
    functionName: explict_or_default_port
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_parse_hostserv
    - OPENSSL_free
    linkageType: ''
    returnType: char
    signature: char *explict_or_default_port(const char *hostserv, const char *port,
      int use_ssl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/http/http_client.c:999,1
    - Dst: explict_or_default_port
      Src: /src/openssl/crypto/http/http_client.c:1007,1
    - Dst: BIO_new_connect
      Src: /src/openssl/crypto/http/http_client.c:1009,1
    - Dst: BIO_set_conn_port
      Src: /src/openssl/crypto/http/http_client.c:1013,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - server
    - server_port
    - use_ssl
    - proxy
    - proxy_port
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1017
    functionName: http_new_bio
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_new_connect
    - ossl_assert
    - explict_or_default_port
    - BIO_set_conn_port
    linkageType: ''
    returnType: BIO
    signature: "BIO *http_new_bio(const char *server /* optionally includes \":port\"
      */,\n                         const char *server_port /* explicit server port
      */,\n                         int use_ssl,\n                         const char
      *proxy /* optionally includes \":port\" */,\n                         const
      char *proxy_port /* explicit proxy port */)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1026,1
    - Dst: OSSL_HTTP_REQ_CTX_nbio
      Src: /src/openssl/crypto/http/http_client.c:1031,1
    - Dst: BIO_wait
      Src: /src/openssl/crypto/http/http_client.c:1036,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1043,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1045,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1021
    functionDepth: 4
    functionLinenumber: 1021
    functionLinenumberEnd: 1050
    functionName: OSSL_HTTP_REQ_CTX_exchange
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_HTTP_REQ_CTX_nbio
    - BIO_wait
    linkageType: ''
    returnType: BIO
    signature: BIO *OSSL_HTTP_REQ_CTX_exchange(OSSL_HTTP_REQ_CTX *rctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1055
    functionName: OSSL_HTTP_is_alive
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OSSL_HTTP_is_alive(const OSSL_HTTP_REQ_CTX *rctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1070,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1074,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1081,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1089,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/crypto/http/http_client.c:1094,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/crypto/http/http_client.c:1096,1
    - Dst: http_new_bio
      Src: /src/openssl/crypto/http/http_client.c:1100,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1106,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/http/http_client.c:1111,1
    - Dst: BIO_do_connect_retry
      Src: /src/openssl/crypto/http/http_client.c:1112,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/http/http_client.c:1114,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/http/http_client.c:1127,1
    - Dst: http_req_ctx_new
      Src: /src/openssl/crypto/http/http_client.c:1132,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/http/http_client.c:1139,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/http/http_client.c:1141,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 11
    argNames:
    - server
    - port
    - proxy
    - no_proxy
    - use_ssl
    - bio
    - rbio
    - bio_update_fn
    - arg
    - buf_size
    - overall_timeout
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - BIO*
    - BIO*
    - OSSL_HTTP_bio_cb_t
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1060
    functionDepth: 4
    functionLinenumber: 1060
    functionLinenumberEnd: 1144
    functionName: OSSL_HTTP_open
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ERR_pop_to_mark
    - ERR_set_mark
    - BIO_do_connect_retry
    - BIO_free_all
    - OPENSSL_free
    - http_req_ctx_new
    - http_new_bio
    - ERR_clear_last_mark
    - OSSL_HTTP_parse_url
    - OSSL_HTTP_adapt_proxy
    linkageType: ''
    returnType: OSSL_HTTP_REQ_CTX
    signature: "OSSL_HTTP_REQ_CTX *OSSL_HTTP_open(const char *server, const char *port,\n
      \                                 const char *proxy, const char *no_proxy,\n
      \                                 int use_ssl, BIO *bio, BIO *rbio,\n                                  OSSL_HTTP_bio_cb_t
      bio_update_fn, void *arg,\n                                  int buf_size, int
      overall_timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1160,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/crypto/http/http_client.c:1165,1
    - Dst: add1_headers
      Src: /src/openssl/crypto/http/http_client.c:1168,1
    - Dst: OSSL_HTTP_REQ_CTX_set_expected
      Src: /src/openssl/crypto/http/http_client.c:1169,1
    - Dst: set1_content
      Src: /src/openssl/crypto/http/http_client.c:1171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 10
    argNames:
    - rctx
    - path
    - headers
    - content_type
    - req
    - expected_content_type
    - expect_asn1
    - max_resp_len
    - timeout
    - keep_alive
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char*
    - STACK_OF*
    - char*
    - BIO*
    - char*
    - int
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1146
    functionDepth: 4
    functionLinenumber: 1146
    functionLinenumberEnd: 1172
    functionName: OSSL_HTTP_set1_request
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_HTTP_REQ_CTX_set_request_line
    - OSSL_HTTP_REQ_CTX_set_expected
    - set1_content
    - add1_headers
    linkageType: ''
    returnType: int
    signature: "int OSSL_HTTP_set1_request(OSSL_HTTP_REQ_CTX *rctx, const char *path,\n
      \                          const STACK_OF(CONF_VALUE) *headers,\n                           const
      char *content_type, BIO *req,\n                           const char *expected_content_type,
      int expect_asn1,\n                           size_t max_resp_len, int timeout,
      int keep_alive)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1184,1
    - Dst: OSSL_HTTP_REQ_CTX_exchange
      Src: /src/openssl/crypto/http/http_client.c:1191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1195,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:1198,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/http/http_client.c:1201,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/http/http_client.c:1202,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/http/http_client.c:1203,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/http/http_client.c:1214,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/http/http_client.c:1218,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/http/http_client.c:1221,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/http/http_client.c:1223,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/http/http_client.c:1226,1
    - Dst: BIO_up_ref
      Src: /src/openssl/crypto/http/http_client.c:1232,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 2
    argNames:
    - rctx
    - redirection_url
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1179
    functionDepth: 5
    functionLinenumber: 1179
    functionLinenumberEnd: 1235
    functionName: OSSL_HTTP_exchange
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - BIO_up_ref
    - ERR_raise
    - ERR_GET_LIB
    - ERR_add_error_data
    - ERR_GET_REASON
    - OSSL_HTTP_REQ_CTX_exchange
    - BIO_snprintf
    - OPENSSL_strdup
    - ERR_peek_error
    linkageType: ''
    returnType: BIO
    signature: BIO *OSSL_HTTP_exchange(OSSL_HTTP_REQ_CTX *rctx, char **redirection_url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1240,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1245,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - n_redir
    - old_url
    - new_url
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1251
    functionName: redirection_ok
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int redirection_ok(int n_redir, const char *old_url, const char *new_url)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/http/http_client.c:1268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1271,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:1274,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/crypto/http/http_client.c:1281,1
    - Dst: OSSL_HTTP_open
      Src: /src/openssl/crypto/http/http_client.c:1285,1
    - Dst: OSSL_HTTP_set1_request
      Src: /src/openssl/crypto/http/http_client.c:1291,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/crypto/http/http_client.c:1297,1
    - Dst: OSSL_HTTP_exchange
      Src: /src/openssl/crypto/http/http_client.c:1300,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1303,1
    - Dst: redirection_ok
      Src: /src/openssl/crypto/http/http_client.c:1305,1
    - Dst: may_still_retry
      Src: /src/openssl/crypto/http/http_client.c:1306,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/http/http_client.c:1307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1308,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/http/http_client.c:1311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1314,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/http/http_client.c:1315,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:1316,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1317,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1323,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/http/http_client.c:1324,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1330,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1331,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/http/http_client.c:1332,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:1333,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1338,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 13
    argNames:
    - url
    - proxy
    - no_proxy
    - bio
    - rbio
    - bio_update_fn
    - arg
    - buf_size
    - headers
    - expected_ct
    - expect_asn1
    - max_resp_len
    - timeout
    argTypes:
    - char*
    - char*
    - char*
    - BIO*
    - BIO*
    - OSSL_HTTP_bio_cb_t
    - void*
    - int
    - STACK_OF*
    - char*
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1254
    functionDepth: 6
    functionLinenumber: 1254
    functionLinenumberEnd: 1340
    functionName: OSSL_HTTP_get
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 1
    functionsReached:
    - time
    - redirection_ok
    - ERR_raise
    - OSSL_HTTP_close
    - BIO_free
    - OSSL_HTTP_REQ_CTX_free
    - OSSL_HTTP_open
    - OSSL_HTTP_exchange
    - OPENSSL_free
    - may_still_retry
    - OPENSSL_strdup
    - OSSL_HTTP_set1_request
    - BIO_reset
    - OSSL_HTTP_parse_url
    linkageType: ''
    returnType: BIO
    signature: "BIO *OSSL_HTTP_get(const char *url, const char *proxy, const char
      *no_proxy,\n                   BIO *bio, BIO *rbio,\n                   OSSL_HTTP_bio_cb_t
      bio_update_fn, void *arg,\n                   int buf_size, const STACK_OF(CONF_VALUE)
      *headers,\n                   const char *expected_ct, int expect_asn1,\n                   size_t
      max_resp_len, int timeout)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_open
      Src: /src/openssl/crypto/http/http_client.c:1358,1
    - Dst: OSSL_HTTP_set1_request
      Src: /src/openssl/crypto/http/http_client.c:1364,1
    - Dst: OSSL_HTTP_exchange
      Src: /src/openssl/crypto/http/http_client.c:1367,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/openssl/crypto/http/http_client.c:1368,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/http/http_client.c:1369,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:1370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 20
    argNames:
    - prctx
    - server
    - port
    - path
    - use_ssl
    - proxy
    - no_proxy
    - bio
    - rbio
    - bio_update_fn
    - arg
    - buf_size
    - headers
    - content_type
    - req
    - expected_ct
    - expect_asn1
    - max_resp_len
    - timeout
    - keep_alive
    argTypes:
    - OSSL_HTTP_REQ_CTX**
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - BIO*
    - BIO*
    - OSSL_HTTP_bio_cb_t
    - void*
    - int
    - STACK_OF*
    - char*
    - BIO*
    - char*
    - int
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1343
    functionDepth: 6
    functionLinenumber: 1343
    functionLinenumberEnd: 1379
    functionName: OSSL_HTTP_transfer
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_close
    - OSSL_HTTP_is_alive
    - BIO_free
    - OSSL_HTTP_open
    - OSSL_HTTP_exchange
    - OSSL_HTTP_set1_request
    linkageType: ''
    returnType: BIO
    signature: "BIO *OSSL_HTTP_transfer(OSSL_HTTP_REQ_CTX **prctx,\n                        const
      char *server, const char *port,\n                        const char *path, int
      use_ssl,\n                        const char *proxy, const char *no_proxy,\n
      \                       BIO *bio, BIO *rbio,\n                        OSSL_HTTP_bio_cb_t
      bio_update_fn, void *arg,\n                        int buf_size, const STACK_OF(CONF_VALUE)
      *headers,\n                        const char *content_type, BIO *req,\n                        const
      char *expected_ct, int expect_asn1,\n                        size_t max_resp_len,
      int timeout, int keep_alive)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/crypto/http/http_client.c:1394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rctx
    - ok
    argTypes:
    - OSSL_HTTP_REQ_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1381
    functionDepth: 2
    functionLinenumber: 1381
    functionLinenumberEnd: 1396
    functionName: OSSL_HTTP_close
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 2
    functionsReached:
    - OSSL_HTTP_REQ_CTX_free
    linkageType: ''
    returnType: int
    signature: int OSSL_HTTP_close(OSSL_HTTP_REQ_CTX *rctx, int ok)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_client.c:1412,1
    - Dst: EVP_EncodeBlock
      Src: /src/openssl/crypto/http/http_client.c:1416,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/http/http_client.c:1417,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1422
    functionName: base64encode
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OPENSSL_free
    - OPENSSL_malloc
    - EVP_EncodeBlock
    linkageType: ''
    returnType: char
    signature: char *base64encode(const void *buf, size_t len)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_client.c:1435,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/http/http_client.c:1439,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/crypto/http/http_client.c:1439,1
    - Dst: time
      Src: /src/openssl/crypto/http/http_client.c:1441,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1445,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1452,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/http/http_client.c:1455,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1457,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1463,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:1467,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:1471,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/http/http_client.c:1472,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/http/http_client.c:1475,1
    - Dst: base64encode
      Src: /src/openssl/crypto/http/http_client.c:1478,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1480,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/http/http_client.c:1481,1
    - Dst: strlen
      Src: /src/openssl/crypto/http/http_client.c:1481,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/http/http_client.c:1484,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1490,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/http/http_client.c:1493,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/http/http_client.c:1496,1
    - Dst: BIO_wait
      Src: /src/openssl/crypto/http/http_client.c:1502,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1504,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/http/http_client.c:1514,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1521,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1522,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1523,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1528,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/http/http_client.c:1529,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1530,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/http/http_client.c:1538,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:1539,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/http/http_client.c:1542,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/http/http_client.c:1545,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/http/http_client.c:1547,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/http/http_client.c:1561,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/http/http_client.c:1566,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/http/http_client.c:1567,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/http/http_client.c:1568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/http/http_client.c:1570,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 95
    argCount: 8
    argNames:
    - bio
    - server
    - port
    - proxyuser
    - proxypass
    - timeout
    - bio_err
    - prog
    argTypes:
    - BIO*
    - char*
    - char*
    - char*
    - char*
    - int
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1429
    functionDepth: 4
    functionLinenumber: 1429
    functionLinenumberEnd: 1573
    functionName: OSSL_HTTP_proxy_connect
    functionSourceFile: /src/openssl/crypto/http/http_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - base64encode
    - ossl_isspace
    - BIO_snprintf
    - OPENSSL_free
    - strlen
    - HAS_PREFIX
    - BIO_should_retry
    - BIO_new
    - BIO_flush
    - CHECK_AND_SKIP_PREFIX
    - BIO_push
    - BIO_wait
    - BIO_printf
    - time
    - OPENSSL_malloc
    - BIO_gets
    - BIO_free
    - ERR_raise_data
    - BIO_f_buffer
    - OPENSSL_clear_free
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: "int OSSL_HTTP_proxy_connect(BIO *bio, const char *server, const char
      *port,\n                            const char *proxyuser, const char *proxypass,\n
      \                           int timeout, BIO *bio_err, const char *prog)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/http/http_err.c:82,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/http/http_err.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: ossl_err_load_HTTP_strings
    functionSourceFile: /src/openssl/crypto/http/http_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_HTTP_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: rotl32
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rotl32(v, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: rotr32
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rotr32(v, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: bswap32
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap32(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: GET_U8_BE
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_U8_BE(X, Y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: GET_U32_BE
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_U32_BE(X, Y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - DEST
    - ','
    - IDX
    - ','
    - VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: PUT_U32_BE
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_U32_BE(DEST, IDX, VAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - V0
    - ','
    - V1
    - ','
    - V2
    - ','
    - V3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: MAKE_U32
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_U32(V0, V1, V2, V3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - RK
    - ','
    - T0
    - ','
    - T1
    - ','
    - T2
    - ','
    - T3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 352
    functionName: ARIA_ADD_ROUND_KEY
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_ADD_ROUND_KEY(RK, T0, T1, T2, T3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - T2
    - ','
    - T3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 377
    functionName: ARIA_SBOX_LAYER1_WITH_PRE_DIFF
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_SBOX_LAYER1_WITH_PRE_DIFF(T0, T1, T2, T3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - T2
    - ','
    - T3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 402
    functionName: ARIA_SBOX_LAYER2_WITH_PRE_DIFF
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_SBOX_LAYER2_WITH_PRE_DIFF(T0, T1, T2, T3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - T2
    - ','
    - T3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: ARIA_DIFF_WORD
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_DIFF_WORD(T0,T1,T2,T3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - T2
    - ','
    - T3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: ARIA_DIFF_BYTE
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_DIFF_BYTE(T0, T1, T2, T3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - T2
    - ','
    - T3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: ARIA_SUBST_DIFF_ODD
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_SUBST_DIFF_ODD(T0, T1, T2, T3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - T2
    - ','
    - T3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: ARIA_SUBST_DIFF_EVEN
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_SUBST_DIFF_EVEN(T0, T1, T2, T3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - RK
    - ','
    - X
    - ','
    - Y
    - ','
    - Q
    - ','
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 461
    functionName: _ARIA_GSRK
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _ARIA_GSRK(RK, X, Y, Q, R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - RK
    - ','
    - X
    - ','
    - Y
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: ARIA_GSRK
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_GSRK(RK, X, Y, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - X
    - ','
    - Y
    - ','
    - TMP
    - ','
    - TMP2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: ARIA_DEC_DIFF_BYTE
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARIA_DEC_DIFF_BYTE(X, Y, TMP, TMP2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:489,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:490,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:491,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:492,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/openssl/crypto/aria/aria.c:494,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/openssl/crypto/aria/aria.c:497,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/openssl/crypto/aria/aria.c:498,1
    - Dst: ARIA_SUBST_DIFF_EVEN
      Src: /src/openssl/crypto/aria/aria.c:502,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/openssl/crypto/aria/aria.c:503,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/openssl/crypto/aria/aria.c:506,1
    - Dst: ARIA_ADD_ROUND_KEY
      Src: /src/openssl/crypto/aria/aria.c:507,1
    - Dst: MAKE_U32
      Src: /src/openssl/crypto/aria/aria.c:511,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:512,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:513,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:514,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:515,1
    - Dst: MAKE_U32
      Src: /src/openssl/crypto/aria/aria.c:516,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:517,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:518,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:519,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:520,1
    - Dst: MAKE_U32
      Src: /src/openssl/crypto/aria/aria.c:521,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:522,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:523,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:524,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:525,1
    - Dst: MAKE_U32
      Src: /src/openssl/crypto/aria/aria.c:526,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:527,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:528,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:529,1
    - Dst: GET_U8_BE
      Src: /src/openssl/crypto/aria/aria.c:530,1
    - Dst: PUT_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:532,1
    - Dst: PUT_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:533,1
    - Dst: PUT_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:534,1
    - Dst: PUT_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 536
    functionName: ossl_aria_encrypt
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 1
    functionsReached:
    - MAKE_U32
    - ARIA_ADD_ROUND_KEY
    - ARIA_SUBST_DIFF_ODD
    - GET_U8_BE
    - PUT_U32_BE
    - GET_U32_BE
    - ARIA_SUBST_DIFF_EVEN
    linkageType: ''
    returnType: void
    signature: "void ossl_aria_encrypt(const unsigned char *in, unsigned char *out,\n
      \                      const ARIA_KEY *key)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:559,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:560,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:561,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:562,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/openssl/crypto/aria/aria.c:569,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:572,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:573,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:575,1
    - Dst: GET_U32_BE
      Src: /src/openssl/crypto/aria/aria.c:576,1
    - Dst: ARIA_SUBST_DIFF_EVEN
      Src: /src/openssl/crypto/aria/aria.c:601,1
    - Dst: ARIA_SUBST_DIFF_ODD
      Src: /src/openssl/crypto/aria/aria.c:618,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:625,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:627,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:629,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:631,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:634,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:636,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:638,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:640,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:643,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:645,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:647,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:649,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:652,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:655,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:657,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:661,1
    - Dst: ARIA_GSRK
      Src: /src/openssl/crypto/aria/aria.c:664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 99
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 668
    functionName: ossl_aria_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 3
    functionsReached:
    - ARIA_GSRK
    - GET_U32_BE
    - ARIA_SUBST_DIFF_ODD
    - ARIA_SUBST_DIFF_EVEN
    linkageType: ''
    returnType: int
    signature: "int ossl_aria_set_encrypt_key(const unsigned char *userKey, const
      int bits,\n                              ARIA_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/openssl/crypto/aria/aria.c:679,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:693,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:704,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:705,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:706,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:707,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:709,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:710,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:711,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:718,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:719,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:720,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:721,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:723,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:724,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:725,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:737,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:738,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:739,1
    - Dst: ARIA_DEC_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:740,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:742,1
    - Dst: ARIA_DIFF_BYTE
      Src: /src/openssl/crypto/aria/aria.c:743,1
    - Dst: ARIA_DIFF_WORD
      Src: /src/openssl/crypto/aria/aria.c:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 57
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 752
    functionName: ossl_aria_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 1
    functionsReached:
    - ARIA_DIFF_WORD
    - memcpy
    - ARIA_DEC_DIFF_BYTE
    - ARIA_DIFF_BYTE
    - ossl_aria_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int ossl_aria_set_decrypt_key(const unsigned char *userKey, const
      int bits,\n                              ARIA_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - o
    - x
    - y
    argTypes:
    - ARIA_c128
    - ARIA_c128
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    functionName: xor128
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor128(ARIA_c128 o, const ARIA_c128 x, const ARIA_u128 *y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - n
    - o
    - xor
    - z
    argTypes:
    - unsigned int
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 940
    functionName: rotnr
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline rotnr(unsigned int n, ARIA_u128 *o,\n                              const
      ARIA_u128 *xor, const ARIA_u128 *z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/openssl/crypto/aria/aria.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: rot19r
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: void rot19r(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128 *z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/openssl/crypto/aria/aria.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: rot31r
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: void rot31r(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128 *z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/openssl/crypto/aria/aria.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: rot61l
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: void rot61l(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128 *z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/openssl/crypto/aria/aria.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 1
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: rot31l
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: void rot31l(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128 *z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotnr
      Src: /src/openssl/crypto/aria/aria.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - o
    - xor
    - z
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: rot19l
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - rotnr
    linkageType: ''
    returnType: void
    signature: void rot19l(ARIA_u128 *o, const ARIA_u128 *xor, const ARIA_u128 *z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - o
    - x
    - y
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1000
    functionName: sl1
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sl1(ARIA_u128 *o, const ARIA_u128 *x, const ARIA_u128 *y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - o
    - x
    - y
    argTypes:
    - ARIA_c128
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1015
    functionName: sl2
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sl2(ARIA_c128 o, const ARIA_u128 *x, const ARIA_u128 *y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1055
    functionName: a
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 446
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void a(ARIA_u128 *y, const ARIA_u128 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sl1
      Src: /src/openssl/crypto/aria/aria.c:1067,1
    - Dst: a
      Src: /src/openssl/crypto/aria/aria.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - o
    - d
    - rk
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1069
    functionName: FO
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 11
    functionsReached:
    - a
    - sl1
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline FO(ARIA_u128 *o, const ARIA_u128 *d,\n                           const
      ARIA_u128 *rk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sl2
      Src: /src/openssl/crypto/aria/aria.c:1081,1
    - Dst: a
      Src: /src/openssl/crypto/aria/aria.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - o
    - d
    - rk
    argTypes:
    - ARIA_u128*
    - ARIA_u128*
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1083
    functionName: FE
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 0
    functionsReached:
    - a
    - sl2
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline FE(ARIA_u128 *o, const ARIA_u128 *d,\n                           const
      ARIA_u128 *rk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1095,1
    - Dst: FO
      Src: /src/openssl/crypto/aria/aria.c:1097,1
    - Dst: FE
      Src: /src/openssl/crypto/aria/aria.c:1098,1
    - Dst: FO
      Src: /src/openssl/crypto/aria/aria.c:1100,1
    - Dst: sl2
      Src: /src/openssl/crypto/aria/aria.c:1101,1
    - Dst: xor128
      Src: /src/openssl/crypto/aria/aria.c:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - o
    - pin
    - rounds
    - keys
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int
    - ARIA_u128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1103
    functionName: do_encrypt
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 2
    functionsReached:
    - memcpy
    - sl2
    - FO
    - FE
    - xor128
    linkageType: ''
    returnType: void
    signature: "void do_encrypt(unsigned char *o, const unsigned char *pin,\n                       unsigned
      int rounds, const ARIA_u128 *keys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/aria/aria.c:1112,1
    - Dst: do_encrypt
      Src: /src/openssl/crypto/aria/aria.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - ARIA_KEY*
    assertStmts:
    - condition: (in != NULL && out != NULL && key != NULL)
      pos:
        line_end: 1111
        line_start: 1111
        source_file: /src/openssl/crypto/aria/aria.c
    constantsTouched: []
    func_position:
      end: 1114
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1114
    functionName: ossl_aria_encrypt
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 1
    functionsReached:
    - do_encrypt
    - assert
    linkageType: ''
    returnType: void
    signature: "void ossl_aria_encrypt(const unsigned char *in, unsigned char *out,\n
      \                      const ARIA_KEY *key)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1130,1
    - Dst: memset
      Src: /src/openssl/crypto/aria/aria.c:1139,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1147,1
    - Dst: memset
      Src: /src/openssl/crypto/aria/aria.c:1148,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1156,1
    - Dst: FO
      Src: /src/openssl/crypto/aria/aria.c:1160,1
    - Dst: xor128
      Src: /src/openssl/crypto/aria/aria.c:1160,1
    - Dst: FE
      Src: /src/openssl/crypto/aria/aria.c:1161,1
    - Dst: xor128
      Src: /src/openssl/crypto/aria/aria.c:1161,1
    - Dst: FO
      Src: /src/openssl/crypto/aria/aria.c:1162,1
    - Dst: xor128
      Src: /src/openssl/crypto/aria/aria.c:1162,1
    - Dst: rot19r
      Src: /src/openssl/crypto/aria/aria.c:1164,1
    - Dst: rot19r
      Src: /src/openssl/crypto/aria/aria.c:1165,1
    - Dst: rot19r
      Src: /src/openssl/crypto/aria/aria.c:1166,1
    - Dst: rot19r
      Src: /src/openssl/crypto/aria/aria.c:1167,1
    - Dst: rot31r
      Src: /src/openssl/crypto/aria/aria.c:1169,1
    - Dst: rot31r
      Src: /src/openssl/crypto/aria/aria.c:1170,1
    - Dst: rot31r
      Src: /src/openssl/crypto/aria/aria.c:1171,1
    - Dst: rot31r
      Src: /src/openssl/crypto/aria/aria.c:1172,1
    - Dst: rot61l
      Src: /src/openssl/crypto/aria/aria.c:1174,1
    - Dst: rot61l
      Src: /src/openssl/crypto/aria/aria.c:1175,1
    - Dst: rot61l
      Src: /src/openssl/crypto/aria/aria.c:1176,1
    - Dst: rot61l
      Src: /src/openssl/crypto/aria/aria.c:1177,1
    - Dst: rot31l
      Src: /src/openssl/crypto/aria/aria.c:1179,1
    - Dst: rot31l
      Src: /src/openssl/crypto/aria/aria.c:1181,1
    - Dst: rot31l
      Src: /src/openssl/crypto/aria/aria.c:1182,1
    - Dst: rot31l
      Src: /src/openssl/crypto/aria/aria.c:1185,1
    - Dst: rot19l
      Src: /src/openssl/crypto/aria/aria.c:1186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1122
    functionDepth: 2
    functionLinenumber: 1122
    functionLinenumberEnd: 1190
    functionName: ossl_aria_set_encrypt_key
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 4
    functionsReached:
    - memset
    - rot31r
    - memcpy
    - rot19l
    - rot31l
    - FO
    - rot19r
    - FE
    - xor128
    - rot61l
    linkageType: ''
    returnType: int
    signature: "int ossl_aria_set_encrypt_key(const unsigned char *userKey, const
      int bits,\n                              ARIA_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/openssl/crypto/aria/aria.c:1199,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1204,1
    - Dst: a
      Src: /src/openssl/crypto/aria/aria.c:1206,1
    - Dst: memcpy
      Src: /src/openssl/crypto/aria/aria.c:1207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - ARIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1210
    functionName: ossl_aria_set_decrypt_key
    functionSourceFile: /src/openssl/crypto/aria/aria.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ossl_aria_set_encrypt_key
    - a
    linkageType: ''
    returnType: int
    signature: "int ossl_aria_set_decrypt_key(const unsigned char *userKey, const
      int bits,\n                              ARIA_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/property/property_err.c:42,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/property/property_err.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ossl_err_load_PROP_strings
    functionSourceFile: /src/openssl/crypto/property/property_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_PROP_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/property/property_parse.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: skip_space
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - ossl_isspace
    linkageType: ''
    returnType: char
    signature: char *skip_space(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - m
    argTypes:
    - char*[]
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: match_ch
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - skip_space
    linkageType: ''
    returnType: int
    signature: int match_ch(const char *t[], char m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: MATCH
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(s, m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/property/property_parse.c:49,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - t
    - m
    - m_len
    argTypes:
    - char*[]
    - char[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: match
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 18
    functionsReached:
    - OPENSSL_strncasecmp
    - skip_space
    linkageType: ''
    returnType: int
    signature: int match(const char *t[], const char m[], size_t m_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isalpha
      Src: /src/openssl/crypto/property/property_parse.c:66,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:67,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/property/property_parse.c:73,1
    - Dst: ossl_isalnum
      Src: /src/openssl/crypto/property/property_parse.c:76,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:88,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:91,1
    - Dst: ossl_property_name
      Src: /src/openssl/crypto/property/property_parse.c:92,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - t
    - create
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - char*[]
    - int
    - OSSL_PROPERTY_IDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: parse_name
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - ossl_tolower
    - ossl_isalpha
    - ERR_raise_data
    - skip_space
    - ossl_isalnum
    - ossl_property_name
    linkageType: ''
    returnType: int
    signature: "int parse_name(OSSL_LIB_CTX *ctx, const char *t[], int create,\n                      OSSL_PROPERTY_IDX
      *idx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/property/property_parse.c:102,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:103,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:109,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/property/property_parse.c:114,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/property/property_parse.c:115,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:116,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - t
    - res
    argTypes:
    - char*[]
    - OSSL_PROPERTY_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 124
    functionName: parse_number
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - ossl_isdigit
    - skip_space
    - ERR_raise_data
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: int parse_number(const char *t[], OSSL_PROPERTY_DEFINITION *res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/property/property_parse.c:133,1
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/property/property_parse.c:135,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/property/property_parse.c:136,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:138,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:144,1
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/property/property_parse.c:151,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/property/property_parse.c:152,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:153,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - t
    - res
    argTypes:
    - char*[]
    - OSSL_PROPERTY_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 161
    functionName: parse_hex
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - ossl_tolower
    - ERR_raise_data
    - ossl_isspace
    - ossl_isdigit
    - skip_space
    - ossl_isxdigit
    linkageType: ''
    returnType: int
    signature: int parse_hex(const char *t[], OSSL_PROPERTY_DEFINITION *res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/property/property_parse.c:169,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:170,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:175,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/property/property_parse.c:181,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/property/property_parse.c:182,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:183,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - t
    - res
    argTypes:
    - char*[]
    - OSSL_PROPERTY_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 191
    functionName: parse_oct
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - ossl_isdigit
    - skip_space
    - ERR_raise_data
    - ossl_isspace
    linkageType: ''
    returnType: int
    signature: int parse_oct(const char *t[], OSSL_PROPERTY_DEFINITION *res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:209,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:215,1
    - Dst: ossl_property_value
      Src: /src/openssl/crypto/property/property_parse.c:217,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - ctx
    - t
    - delim
    - res
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*[]
    - char
    - OSSL_PROPERTY_DEFINITION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 222
    functionName: parse_string
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - skip_space
    - ERR_raise_data
    - ossl_property_value
    linkageType: ''
    returnType: int
    signature: "int parse_string(OSSL_LIB_CTX *ctx, const char *t[], char delim,\n
      \                       OSSL_PROPERTY_DEFINITION *res, const int create)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isprint
      Src: /src/openssl/crypto/property/property_parse.c:234,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/property/property_parse.c:234,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/property/property_parse.c:236,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/property/property_parse.c:241,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:242,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:248,1
    - Dst: ossl_property_value
      Src: /src/openssl/crypto/property/property_parse.c:249,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - t
    - res
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*[]
    - OSSL_PROPERTY_DEFINITION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 254
    functionName: parse_unquoted
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - ossl_isprint
    - ossl_tolower
    - ERR_raise_data
    - ossl_isspace
    - ossl_property_value
    - skip_space
    linkageType: ''
    returnType: int
    signature: "int parse_unquoted(OSSL_LIB_CTX *ctx, const char *t[],\n                          OSSL_PROPERTY_DEFINITION
      *res, const int create)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/openssl/crypto/property/property_parse.c:264,1
    - Dst: parse_number
      Src: /src/openssl/crypto/property/property_parse.c:267,1
    - Dst: parse_number
      Src: /src/openssl/crypto/property/property_parse.c:270,1
    - Dst: parse_hex
      Src: /src/openssl/crypto/property/property_parse.c:274,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/property/property_parse.c:275,1
    - Dst: parse_oct
      Src: /src/openssl/crypto/property/property_parse.c:277,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/property/property_parse.c:278,1
    - Dst: parse_number
      Src: /src/openssl/crypto/property/property_parse.c:279,1
    - Dst: ossl_isalpha
      Src: /src/openssl/crypto/property/property_parse.c:280,1
    - Dst: parse_unquoted
      Src: /src/openssl/crypto/property/property_parse.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - t
    - res
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*[]
    - OSSL_PROPERTY_DEFINITION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 285
    functionName: parse_value
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - ossl_isalpha
    - parse_hex
    - parse_oct
    - parse_number
    - parse_string
    - ossl_isdigit
    - parse_unquoted
    linkageType: ''
    returnType: int
    signature: "int parse_value(OSSL_LIB_CTX *ctx, const char *t[],\n                       OSSL_PROPERTY_DEFINITION
      *res, int create)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - OSSL_PROPERTY_DEFINITION**
    - OSSL_PROPERTY_DEFINITION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: pd_compare
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pd_compare(const OSSL_PROPERTY_DEFINITION *const *p1,\n                      const
      OSSL_PROPERTY_DEFINITION *const *p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_parse.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pd
    argTypes:
    - OSSL_PROPERTY_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: pd_free
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void pd_free(OSSL_PROPERTY_DEFINITION *pd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROPERTY_DEFINITION_num
      Src: /src/openssl/crypto/property/property_parse.c:315,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property_parse.c:320,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_sort
      Src: /src/openssl/crypto/property/property_parse.c:323,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_value
      Src: /src/openssl/crypto/property/property_parse.c:327,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_parse.c:332,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:333,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/crypto/property/property_parse.c:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - sk
    argTypes:
    - OSSL_LIB_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 343
    functionName: stack_to_property_list
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_PROPERTY_DEFINITION_num
    - ossl_property_name_str
    - ERR_raise_data
    - sk_OSSL_PROPERTY_DEFINITION_value
    - OPENSSL_free
    - sk_OSSL_PROPERTY_DEFINITION_sort
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST
    signature: "OSSL_PROPERTY_LIST *\nstack_to_property_list(OSSL_LIB_CTX *ctx,\n
      \                      STACK_OF(OSSL_PROPERTY_DEFINITION) *sk)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/property/property_parse.c:349,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_new
      Src: /src/openssl/crypto/property/property_parse.c:353,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:356,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property_parse.c:361,1
    - Dst: memset
      Src: /src/openssl/crypto/property/property_parse.c:364,1
    - Dst: parse_name
      Src: /src/openssl/crypto/property/property_parse.c:366,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:370,1
    - Dst: match_ch
      Src: /src/openssl/crypto/property/property_parse.c:374,1
    - Dst: parse_value
      Src: /src/openssl/crypto/property/property_parse.c:375,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:376,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_push
      Src: /src/openssl/crypto/property/property_parse.c:386,1
    - Dst: match_ch
      Src: /src/openssl/crypto/property/property_parse.c:389,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:392,1
    - Dst: stack_to_property_list
      Src: /src/openssl/crypto/property/property_parse.c:396,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_parse.c:399,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_pop_free
      Src: /src/openssl/crypto/property/property_parse.c:400,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - ctx
    - defn
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 402
    functionName: ossl_parse_property
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 2
    functionsReached:
    - memset
    - sk_OSSL_PROPERTY_DEFINITION_push
    - stack_to_property_list
    - parse_value
    - ERR_raise_data
    - match_ch
    - STACK_OF
    - OPENSSL_free
    - sk_OSSL_PROPERTY_DEFINITION_new
    - sk_OSSL_PROPERTY_DEFINITION_pop_free
    - skip_space
    - parse_name
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST
    signature: OSSL_PROPERTY_LIST *ossl_parse_property(OSSL_LIB_CTX *ctx, const char
      *defn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/property/property_parse.c:407,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_new
      Src: /src/openssl/crypto/property/property_parse.c:412,1
    - Dst: skip_space
      Src: /src/openssl/crypto/property/property_parse.c:415,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property_parse.c:418,1
    - Dst: memset
      Src: /src/openssl/crypto/property/property_parse.c:421,1
    - Dst: match_ch
      Src: /src/openssl/crypto/property/property_parse.c:423,1
    - Dst: parse_name
      Src: /src/openssl/crypto/property/property_parse.c:426,1
    - Dst: match_ch
      Src: /src/openssl/crypto/property/property_parse.c:430,1
    - Dst: parse_name
      Src: /src/openssl/crypto/property/property_parse.c:431,1
    - Dst: match_ch
      Src: /src/openssl/crypto/property/property_parse.c:434,1
    - Dst: MATCH
      Src: /src/openssl/crypto/property/property_parse.c:436,1
    - Dst: parse_value
      Src: /src/openssl/crypto/property/property_parse.c:445,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_push
      Src: /src/openssl/crypto/property/property_parse.c:449,1
    - Dst: match_ch
      Src: /src/openssl/crypto/property/property_parse.c:452,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/property/property_parse.c:455,1
    - Dst: stack_to_property_list
      Src: /src/openssl/crypto/property/property_parse.c:459,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_parse.c:462,1
    - Dst: sk_OSSL_PROPERTY_DEFINITION_pop_free
      Src: /src/openssl/crypto/property/property_parse.c:463,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - ctx
    - s
    - create_values
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 465
    functionName: ossl_parse_query
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 3
    functionsReached:
    - memset
    - MATCH
    - sk_OSSL_PROPERTY_DEFINITION_push
    - stack_to_property_list
    - parse_value
    - ERR_raise_data
    - match_ch
    - STACK_OF
    - OPENSSL_free
    - sk_OSSL_PROPERTY_DEFINITION_new
    - sk_OSSL_PROPERTY_DEFINITION_pop_free
    - skip_space
    - parse_name
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST
    signature: "OSSL_PROPERTY_LIST *ossl_parse_query(OSSL_LIB_CTX *ctx, const char
      *s,\n                                     int create_values)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/property/property_parse.c:491,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 2
    argNames:
    - query
    - defn
    argTypes:
    - OSSL_PROPERTY_LIST*
    - OSSL_PROPERTY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 527
    functionName: ossl_property_match_count
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ossl_property_match_count(const OSSL_PROPERTY_LIST *query,\n                              const
      OSSL_PROPERTY_LIST *defn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_parse.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROPERTY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: ossl_property_free
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 6
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_property_free(OSSL_PROPERTY_LIST *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property_parse.c:548,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property_parse.c:566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_PROPERTY_LIST*
    - OSSL_PROPERTY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 572
    functionName: ossl_property_merge
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 2
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST
    signature: "OSSL_PROPERTY_LIST *ossl_property_merge(const OSSL_PROPERTY_LIST *a,\n
      \                                       const OSSL_PROPERTY_LIST *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/property/property_parse.c:586,1
    - Dst: ossl_property_name
      Src: /src/openssl/crypto/property/property_parse.c:587,1
    - Dst: ossl_property_value
      Src: /src/openssl/crypto/property/property_parse.c:595,1
    - Dst: ossl_property_value
      Src: /src/openssl/crypto/property/property_parse.c:596,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 602
    functionName: ossl_property_parse_init
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 1
    functionsReached:
    - ossl_property_value
    - OSSL_NELEM
    - ossl_property_name
    linkageType: ''
    returnType: int
    signature: int ossl_property_parse_init(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ch
    - buf
    - remain
    - needed
    argTypes:
    - char
    - char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 617
    functionName: put_char
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void put_char(char ch, char **buf, size_t *remain, size_t *needed)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/property/property_parse.c:625,1
    - Dst: ossl_isalnum
      Src: /src/openssl/crypto/property/property_parse.c:634,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:650,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property_parse.c:656,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:662,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - str
    - buf
    - remain
    - needed
    argTypes:
    - char*
    - char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 669
    functionName: put_str
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - ossl_isalnum
    - put_char
    linkageType: ''
    returnType: void
    signature: void put_str(const char *str, char **buf, size_t *remain, size_t *needed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/property/property_parse.c:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - val
    - buf
    - remain
    - needed
    argTypes:
    - int64_t
    - char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 695
    functionName: put_num
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: void
    signature: void put_num(int64_t val, char **buf, size_t *remain, size_t *needed)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:719,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:722,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:724,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/crypto/property/property_parse.c:726,1
    - Dst: put_str
      Src: /src/openssl/crypto/property/property_parse.c:729,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:733,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:736,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/crypto/property/property_parse.c:740,1
    - Dst: put_str
      Src: /src/openssl/crypto/property/property_parse.c:743,1
    - Dst: put_num
      Src: /src/openssl/crypto/property/property_parse.c:747,1
    - Dst: put_char
      Src: /src/openssl/crypto/property/property_parse.c:760,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - list
    - buf
    - bufsize
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_LIST*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 762
    functionName: ossl_property_list_to_string
    functionSourceFile: /src/openssl/crypto/property/property_parse.c
    functionUses: 2
    functionsReached:
    - ossl_property_value_str
    - ossl_property_name_str
    - put_str
    - put_num
    - put_char
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_property_list_to_string(OSSL_LIB_CTX *ctx,\n                                    const
      OSSL_PROPERTY_LIST *list, char *buf,\n                                    size_t
      bufsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/property/defn_cache.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PROPERTY_DEFN_ELEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: property_defn_hash
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long property_defn_hash(const PROPERTY_DEFN_ELEM *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/property/defn_cache.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PROPERTY_DEFN_ELEM*
    - PROPERTY_DEFN_ELEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: property_defn_cmp
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int property_defn_cmp(const PROPERTY_DEFN_ELEM *a,\n                             const
      PROPERTY_DEFN_ELEM *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/defn_cache.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/defn_cache.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elem
    argTypes:
    - PROPERTY_DEFN_ELEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: property_defn_free
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_property_free
    linkageType: ''
    returnType: void
    signature: void property_defn_free(PROPERTY_DEFN_ELEM *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/openssl/crypto/property/defn_cache.c:53,1
    - Dst: lh_PROPERTY_DEFN_ELEM_doall
      Src: /src/openssl/crypto/property/defn_cache.c:56,1
    - Dst: lh_PROPERTY_DEFN_ELEM_free
      Src: /src/openssl/crypto/property/defn_cache.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vproperty_defns
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: ossl_property_defns_free
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 1
    functionsReached:
    - LHASH_OF
    - lh_PROPERTY_DEFN_ELEM_free
    - lh_PROPERTY_DEFN_ELEM_doall
    linkageType: ''
    returnType: void
    signature: void ossl_property_defns_free(void *vproperty_defns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_PROPERTY_DEFN_ELEM_new
      Src: /src/openssl/crypto/property/defn_cache.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: ossl_property_defns_new
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 1
    functionsReached:
    - lh_PROPERTY_DEFN_ELEM_new
    linkageType: ''
    returnType: void
    signature: void *ossl_property_defns_new(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/openssl/crypto/property/defn_cache.c:69,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/defn_cache.c:71,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/defn_cache.c:73,1
    - Dst: ossl_lib_ctx_read_lock
      Src: /src/openssl/crypto/property/defn_cache.c:73,1
    - Dst: lh_PROPERTY_DEFN_ELEM_retrieve
      Src: /src/openssl/crypto/property/defn_cache.c:77,1
    - Dst: ossl_lib_ctx_unlock
      Src: /src/openssl/crypto/property/defn_cache.c:78,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/defn_cache.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - prop
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: ossl_prop_defn_get
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_lib_ctx_get_data
    - ossl_lib_ctx_read_lock
    - LHASH_OF
    - lh_PROPERTY_DEFN_ELEM_retrieve
    - ossl_lib_ctx_unlock
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST
    signature: OSSL_PROPERTY_LIST *ossl_prop_defn_get(OSSL_LIB_CTX *ctx, const char
      *prop)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/openssl/crypto/property/defn_cache.c:94,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/defn_cache.c:97,1
    - Dst: ossl_lib_ctx_write_lock
      Src: /src/openssl/crypto/property/defn_cache.c:105,1
    - Dst: lh_PROPERTY_DEFN_ELEM_delete
      Src: /src/openssl/crypto/property/defn_cache.c:109,1
    - Dst: lh_PROPERTY_DEFN_ELEM_retrieve
      Src: /src/openssl/crypto/property/defn_cache.c:113,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/defn_cache.c:114,1
    - Dst: strlen
      Src: /src/openssl/crypto/property/defn_cache.c:118,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/defn_cache.c:119,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/defn_cache.c:123,1
    - Dst: lh_PROPERTY_DEFN_ELEM_insert
      Src: /src/openssl/crypto/property/defn_cache.c:124,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/defn_cache.c:125,1
    - Dst: lh_PROPERTY_DEFN_ELEM_error
      Src: /src/openssl/crypto/property/defn_cache.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/defn_cache.c:131,1
    - Dst: ossl_lib_ctx_unlock
      Src: /src/openssl/crypto/property/defn_cache.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - prop
    - pl
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_PROPERTY_LIST**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 136
    functionName: ossl_prop_defn_set
    functionSourceFile: /src/openssl/crypto/property/defn_cache.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - lh_PROPERTY_DEFN_ELEM_delete
    - lh_PROPERTY_DEFN_ELEM_error
    - ossl_lib_ctx_get_data
    - lh_PROPERTY_DEFN_ELEM_insert
    - memcpy
    - LHASH_OF
    - ossl_property_free
    - ossl_lib_ctx_write_lock
    - OPENSSL_free
    - lh_PROPERTY_DEFN_ELEM_retrieve
    - strlen
    - OPENSSL_malloc
    - ossl_lib_ctx_unlock
    linkageType: ''
    returnType: int
    signature: "int ossl_prop_defn_set(OSSL_LIB_CTX *ctx, const char *prop,\n                       OSSL_PROPERTY_LIST
      **pl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keyp
    - compare
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: property_idx_cmp
    functionSourceFile: /src/openssl/crypto/property/property_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int property_idx_cmp(const void *keyp, const void *compare)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_name
      Src: /src/openssl/crypto/property/property_query.c:30,1
    - Dst: ossl_bsearch
      Src: /src/openssl/crypto/property/property_query.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - list
    - libctx
    - name
    argTypes:
    - OSSL_PROPERTY_LIST*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: ossl_property_find_property
    functionSourceFile: /src/openssl/crypto/property/property_query.c
    functionUses: 2
    functionsReached:
    - ossl_bsearch
    - ossl_property_name
    linkageType: ''
    returnType: OSSL_PROPERTY_DEFINITION
    signature: "OSSL_PROPERTY_DEFINITION *\nossl_property_find_property(const OSSL_PROPERTY_LIST
      *list,\n                            OSSL_LIB_CTX *libctx, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prop
    argTypes:
    - OSSL_PROPERTY_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ossl_property_get_type
    functionSourceFile: /src/openssl/crypto/property/property_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PROPERTY_TYPE
    signature: OSSL_PROPERTY_TYPE ossl_property_get_type(const OSSL_PROPERTY_DEFINITION
      *prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_value_str
      Src: /src/openssl/crypto/property/property_query.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - libctx
    - prop
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: ossl_property_get_string_value
    functionSourceFile: /src/openssl/crypto/property/property_query.c
    functionUses: 2
    functionsReached:
    - ossl_property_value_str
    linkageType: ''
    returnType: char
    signature: "char *ossl_property_get_string_value(OSSL_LIB_CTX *libctx,\n                                           const
      OSSL_PROPERTY_DEFINITION *prop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - prop
    argTypes:
    - OSSL_PROPERTY_DEFINITION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: ossl_property_get_number_value
    functionSourceFile: /src/openssl/crypto/property/property_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ossl_property_get_number_value(const OSSL_PROPERTY_DEFINITION
      *prop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - query
    argTypes:
    - OSSL_PROPERTY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ossl_property_has_optional
    functionSourceFile: /src/openssl/crypto/property/property_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_property_has_optional(const OSSL_PROPERTY_LIST *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_find_property
      Src: /src/openssl/crypto/property/property_query.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - property_name
    - prop_list
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_PROPERTY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: ossl_property_is_enabled
    functionSourceFile: /src/openssl/crypto/property/property_query.c
    functionUses: 1
    functionsReached:
    - ossl_property_find_property
    linkageType: ''
    returnType: int
    signature: "int ossl_property_is_enabled(OSSL_LIB_CTX *ctx,  const char *property_name,\n
      \                            const OSSL_PROPERTY_LIST *prop_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/property.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vglobp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: ossl_ctx_global_properties_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ossl_property_free
    linkageType: ''
    returnType: void
    signature: void ossl_ctx_global_properties_free(void *vglobp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/property/property.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: ossl_ctx_global_properties_new
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *ossl_ctx_global_properties_new(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/property/property.c:135,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/property.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: ossl_ctx_global_properties
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 6
    functionsReached:
    - ossl_lib_ctx_get_data
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: OSSL_PROPERTY_LIST
    signature: "OSSL_PROPERTY_LIST **ossl_ctx_global_properties(OSSL_LIB_CTX *libctx,\n
      \                                               ossl_unused int loadconfig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/property.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: ossl_global_properties_no_mirrored
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 1
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: int
    signature: int ossl_global_properties_no_mirrored(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/property.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: ossl_global_properties_stop_mirroring
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 1
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: void
    signature: void ossl_global_properties_stop_mirroring(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: ossl_method_up_ref
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_method_up_ref(METHOD *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: ossl_method_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_method_free(METHOD *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/property/property.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: ossl_property_read_lock
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    linkageType: ''
    returnType: __owur
    signature: __owur ossl_property_read_lock(OSSL_METHOD_STORE *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/property/property.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: ossl_property_write_lock
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: __owur
    signature: __owur ossl_property_write_lock(OSSL_METHOD_STORE *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: ossl_property_unlock
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ossl_property_unlock(OSSL_METHOD_STORE *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/property/property.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - QUERY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: query_hash
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long query_hash(const QUERY *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/property/property.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUERY*
    - QUERY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: query_cmp
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int query_cmp(const QUERY *a, const QUERY *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_free
      Src: /src/openssl/crypto/property/property.c:206,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - impl
    argTypes:
    - IMPLEMENTATION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: impl_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_method_free
    linkageType: ''
    returnType: void
    signature: void impl_free(IMPLEMENTATION *impl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_free
      Src: /src/openssl/crypto/property/property.c:214,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - elem
    argTypes:
    - QUERY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: impl_cache_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_method_free
    linkageType: ''
    returnType: void
    signature: void impl_cache_free(QUERY *elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUERY_doall
      Src: /src/openssl/crypto/property/property.c:221,1
    - Dst: lh_QUERY_flush
      Src: /src/openssl/crypto/property/property.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - idx
    - alg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: impl_cache_flush_alg
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - lh_QUERY_flush
    - lh_QUERY_doall
    linkageType: ''
    returnType: void
    signature: void impl_cache_flush_alg(ossl_uintmax_t idx, ALGORITHM *alg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_IMPLEMENTATION_pop_free
      Src: /src/openssl/crypto/property/property.c:230,1
    - Dst: lh_QUERY_doall
      Src: /src/openssl/crypto/property/property.c:231,1
    - Dst: lh_QUERY_free
      Src: /src/openssl/crypto/property/property.c:232,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:233,1
    - Dst: ossl_sa_ALGORITHM_set
      Src: /src/openssl/crypto/property/property.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - idx
    - a
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: alg_cleanup
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - sk_IMPLEMENTATION_pop_free
    - OPENSSL_free
    - lh_QUERY_free
    - lh_QUERY_doall
    - ossl_sa_ALGORITHM_set
    linkageType: ''
    returnType: void
    signature: void alg_cleanup(ossl_uintmax_t idx, ALGORITHM *a, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/property/property.c:247,1
    - Dst: ossl_sa_ALGORITHM_new
      Src: /src/openssl/crypto/property/property.c:250,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/property/property.c:251,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/property/property.c:252,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/crypto/property/property.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: ossl_method_store_new
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 5
    functionsReached:
    - OPENSSL_zalloc
    - ossl_sa_ALGORITHM_new
    - CRYPTO_THREAD_lock_new
    - ossl_method_store_free
    linkageType: ''
    returnType: OSSL_METHOD_STORE
    signature: OSSL_METHOD_STORE *ossl_method_store_new(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/openssl/crypto/property/property.c:264,1
    - Dst: ossl_sa_ALGORITHM_free
      Src: /src/openssl/crypto/property/property.c:265,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/property/property.c:266,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/property/property.c:267,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: ossl_method_store_free
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 6
    functionsReached:
    - ossl_sa_ALGORITHM_doall_arg
    - OPENSSL_free
    - CRYPTO_THREAD_lock_free
    - ossl_sa_ALGORITHM_free
    linkageType: ''
    returnType: void
    signature: void ossl_method_store_free(OSSL_METHOD_STORE *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/property/property.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: ossl_method_lock_store
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: int
    signature: int ossl_method_lock_store(OSSL_METHOD_STORE *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: ossl_method_unlock_store
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ossl_method_unlock_store(OSSL_METHOD_STORE *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_get
      Src: /src/openssl/crypto/property/property.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - store
    - nid
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: ossl_method_store_retrieve
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_sa_ALGORITHM_get
    linkageType: ''
    returnType: ALGORITHM
    signature: ALGORITHM *ossl_method_store_retrieve(OSSL_METHOD_STORE *store, int
      nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_ALGORITHM_set
      Src: /src/openssl/crypto/property/property.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - store
    - alg
    argTypes:
    - OSSL_METHOD_STORE*
    - ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: ossl_method_store_insert
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_sa_ALGORITHM_set
    linkageType: ''
    returnType: int
    signature: int ossl_method_store_insert(OSSL_METHOD_STORE *store, ALGORITHM *alg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/property.c:333,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property.c:337,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:343,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:344,1
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:350,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:351,1
    - Dst: ossl_method_cache_flush
      Src: /src/openssl/crypto/property/property.c:366,1
    - Dst: ossl_prop_defn_get
      Src: /src/openssl/crypto/property/property.c:373,1
    - Dst: ossl_parse_property
      Src: /src/openssl/crypto/property/property.c:374,1
    - Dst: ossl_prop_defn_set
      Src: /src/openssl/crypto/property/property.c:377,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/property.c:378,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:388,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/property/property.c:390,1
    - Dst: sk_IMPLEMENTATION_new_null
      Src: /src/openssl/crypto/property/property.c:391,1
    - Dst: lh_QUERY_new
      Src: /src/openssl/crypto/property/property.c:392,1
    - Dst: ossl_method_store_insert
      Src: /src/openssl/crypto/property/property.c:395,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/property/property.c:397,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:401,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:402,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:409,1
    - Dst: sk_IMPLEMENTATION_push
      Src: /src/openssl/crypto/property/property.c:410,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:414,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:417,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:418,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/property/property.c:419,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:422,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:424,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:428,1
    - Dst: alg_cleanup
      Src: /src/openssl/crypto/property/property.c:429,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:430,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 5
    argNames:
    - store
    - prov
    - nid
    - properties
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 317
    functionDepth: 6
    functionLinenumber: 317
    functionLinenumberEnd: 432
    functionName: ossl_method_store_add
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - ossl_prop_defn_set
    - ossl_method_up_ref
    - ossl_property_unlock
    - OPENSSL_free
    - impl_free
    - ossl_assert
    - OPENSSL_zalloc
    - ossl_prop_defn_get
    - ossl_parse_property
    - ossl_property_free
    - OSSL_TRACE2
    - OPENSSL_malloc
    - ossl_property_write_lock
    - BIO_printf
    - lh_QUERY_new
    - ossl_method_store_retrieve
    - sk_IMPLEMENTATION_new_null
    - sk_IMPLEMENTATION_num
    - sk_IMPLEMENTATION_value
    - ossl_provider_name
    - OSSL_TRACE_END
    - ossl_method_store_insert
    - ossl_method_cache_flush
    - sk_IMPLEMENTATION_push
    - alg_cleanup
    linkageType: ''
    returnType: int
    signature: "int ossl_method_store_add(OSSL_METHOD_STORE *store, const OSSL_PROVIDER
      *prov,\n                          int nid, const char *properties, void *method,\n
      \                         int (*method_up_ref)(void *),\n                          void
      (*method_destruct)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:414,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:417,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_provider_name
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(QUERY)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:443,1
    - Dst: ossl_method_cache_flush
      Src: /src/openssl/crypto/property/property.c:445,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:446,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:448,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:457,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:458,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:461,1
    - Dst: sk_IMPLEMENTATION_delete
      Src: /src/openssl/crypto/property/property.c:462,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:463,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - store
    - nid
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 469
    functionName: ossl_method_store_remove
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - sk_IMPLEMENTATION_delete
    - ossl_method_cache_flush
    - ossl_property_unlock
    - ossl_method_store_retrieve
    - sk_IMPLEMENTATION_num
    - impl_free
    - sk_IMPLEMENTATION_value
    - ossl_property_write_lock
    linkageType: ''
    returnType: int
    signature: "int ossl_method_store_remove(OSSL_METHOD_STORE *store, int nid,\n
      \                            const void *method)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:501,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:502,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/property/property.c:510,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:512,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:515,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:516,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/property/property.c:517,1
    - Dst: sk_IMPLEMENTATION_delete
      Src: /src/openssl/crypto/property/property.c:520,1
    - Dst: impl_free
      Src: /src/openssl/crypto/property/property.c:522,1
    - Dst: ossl_method_cache_flush_alg
      Src: /src/openssl/crypto/property/property.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - idx
    - alg
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 534
    functionName: alg_cleanup_by_provider
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - sk_IMPLEMENTATION_delete
    - ossl_method_cache_flush_alg
    - sk_IMPLEMENTATION_num
    - OSSL_TRACE_END
    - impl_free
    - sk_IMPLEMENTATION_value
    - ossl_provider_name
    - BIO_printf
    - ossl_property_list_to_string
    linkageType: ''
    returnType: void
    signature: void alg_cleanup_by_provider(ossl_uintmax_t idx, ALGORITHM *alg, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/property/property.c:510,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:512,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:515,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_provider_name
    - ossl_property_list_to_string
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(QUERY)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:541,1
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/openssl/crypto/property/property.c:545,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - store
    - prov
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: ossl_method_store_remove_all_provided
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - ossl_sa_ALGORITHM_doall_arg
    - ossl_property_unlock
    - ossl_property_write_lock
    linkageType: ''
    returnType: int
    signature: "int ossl_method_store_remove_all_provided(OSSL_METHOD_STORE *store,\n
      \                                         const OSSL_PROVIDER *prov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/openssl/crypto/property/property.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - alg
    - impl
    - fnarg
    argTypes:
    - ALGORITHM*
    - IMPLEMENTATION*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: alg_do_one
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: void
    signature: "void alg_do_one(ALGORITHM *alg, IMPLEMENTATION *impl,\n                       void
      (*fn)(int id, void *method, void *fnarg),\n                       void *fnarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/property/property.c:559,1
    - Dst: sk_ALGORITHM_push
      Src: /src/openssl/crypto/property/property.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - idx
    - alg
    - arg
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: alg_copy
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - sk_ALGORITHM_push
    linkageType: ''
    returnType: void
    signature: void alg_copy(ossl_uintmax_t idx, ALGORITHM *alg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/property/property.c:570,1
    - Dst: ossl_property_read_lock
      Src: /src/openssl/crypto/property/property.c:575,1
    - Dst: sk_ALGORITHM_new_reserve
      Src: /src/openssl/crypto/property/property.c:578,1
    - Dst: ossl_sa_ALGORITHM_num
      Src: /src/openssl/crypto/property/property.c:579,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:581,1
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/openssl/crypto/property/property.c:585,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:586,1
    - Dst: sk_ALGORITHM_num
      Src: /src/openssl/crypto/property/property.c:587,1
    - Dst: sk_ALGORITHM_value
      Src: /src/openssl/crypto/property/property.c:589,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:590,1
    - Dst: alg_do_one
      Src: /src/openssl/crypto/property/property.c:592,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:592,1
    - Dst: sk_ALGORITHM_free
      Src: /src/openssl/crypto/property/property.c:594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - store
    - fnarg
    argTypes:
    - OSSL_METHOD_STORE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 596
    functionName: ossl_method_store_do_all
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - alg_do_one
    - sk_ALGORITHM_free
    - ossl_property_unlock
    - ossl_sa_ALGORITHM_doall_arg
    - sk_IMPLEMENTATION_num
    - STACK_OF
    - ossl_sa_ALGORITHM_num
    - sk_ALGORITHM_new_reserve
    - ossl_property_read_lock
    - sk_ALGORITHM_value
    - sk_IMPLEMENTATION_value
    - sk_ALGORITHM_num
    linkageType: ''
    returnType: void
    signature: "void ossl_method_store_do_all(OSSL_METHOD_STORE *store,\n                              void
      (*fn)(int id, void *method, void *fnarg),\n                              void
      *fnarg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_is_default
      Src: /src/openssl/crypto/property/property.c:637,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/property/property.c:638,1
    - Dst: ossl_property_read_lock
      Src: /src/openssl/crypto/property/property.c:643,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/property/property.c:646,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:647,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:649,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/property/property.c:650,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/property/property.c:653,1
    - Dst: ossl_parse_query
      Src: /src/openssl/crypto/property/property.c:660,1
    - Dst: ossl_ctx_global_properties
      Src: /src/openssl/crypto/property/property.c:666,1
    - Dst: ossl_property_merge
      Src: /src/openssl/crypto/property/property.c:671,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/property.c:672,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:687,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:688,1
    - Dst: ossl_property_has_optional
      Src: /src/openssl/crypto/property/property.c:703,1
    - Dst: sk_IMPLEMENTATION_num
      Src: /src/openssl/crypto/property/property.c:704,1
    - Dst: sk_IMPLEMENTATION_value
      Src: /src/openssl/crypto/property/property.c:705,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/crypto/property/property.c:707,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:718,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/property/property.c:731,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:732,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:736,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/property/property.c:737,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:740,1
    - Dst: ossl_property_free
      Src: /src/openssl/crypto/property/property.c:741,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 71
    argCount: 5
    argNames:
    - store
    - nid
    - prop_query
    - prov_rw
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    - char*
    - OSSL_PROVIDER**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 621
    functionDepth: 6
    functionLinenumber: 621
    functionLinenumberEnd: 743
    functionName: ossl_method_store_fetch
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - ossl_property_unlock
    - ossl_method_up_ref
    - ossl_property_read_lock
    - ossl_property_has_optional
    - ossl_property_merge
    - OSSL_TRACE2
    - ossl_property_free
    - ossl_parse_query
    - BIO_printf
    - ossl_method_store_retrieve
    - sk_IMPLEMENTATION_num
    - ossl_property_match_count
    - sk_IMPLEMENTATION_value
    - OSSL_TRACE_END
    - ossl_provider_name
    - ossl_property_list_to_string
    - OPENSSL_init_crypto
    - ossl_ctx_global_properties
    - ossl_lib_ctx_is_default
    linkageType: ''
    returnType: int
    signature: "int ossl_method_store_fetch(OSSL_METHOD_STORE *store,\n                            int
      nid, const char *prop_query,\n                            const OSSL_PROVIDER
      **prov_rw, void **method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/crypto/property/property.c:731,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/property/property.c:732,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/property/property.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 737
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_provider_name
    - ossl_property_list_to_string
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(QUERY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUERY_num_items
      Src: /src/openssl/crypto/property/property.c:748,1
    - Dst: impl_cache_flush_alg
      Src: /src/openssl/crypto/property/property.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - store
    - alg
    argTypes:
    - OSSL_METHOD_STORE*
    - ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 750
    functionName: ossl_method_cache_flush_alg
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 1
    functionsReached:
    - impl_cache_flush_alg
    - lh_QUERY_num_items
    linkageType: ''
    returnType: void
    signature: "void ossl_method_cache_flush_alg(OSSL_METHOD_STORE *store,\n                                        ALGORITHM
      *alg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:754,1
    - Dst: ossl_method_cache_flush_alg
      Src: /src/openssl/crypto/property/property.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - store
    - nid
    argTypes:
    - OSSL_METHOD_STORE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: ossl_method_cache_flush
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 2
    functionsReached:
    - ossl_method_cache_flush_alg
    - ossl_method_store_retrieve
    linkageType: ''
    returnType: void
    signature: void ossl_method_cache_flush(OSSL_METHOD_STORE *store, int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:762,1
    - Dst: ossl_sa_ALGORITHM_doall
      Src: /src/openssl/crypto/property/property.c:764,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 768
    functionName: ossl_method_store_cache_flush_all
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 5
    functionsReached:
    - ossl_property_unlock
    - ossl_sa_ALGORITHM_doall
    - ossl_property_write_lock
    linkageType: ''
    returnType: int
    signature: int ossl_method_store_cache_flush_all(OSSL_METHOD_STORE *store)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: impl_cache_free
      Src: /src/openssl/crypto/property/property.c:806,1
    - Dst: lh_QUERY_delete
      Src: /src/openssl/crypto/property/property.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - c
    - state
    argTypes:
    - QUERY*
    - IMPL_CACHE_FLUSH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 809
    functionName: impl_cache_flush_cache
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - lh_QUERY_delete
    - impl_cache_free
    linkageType: ''
    returnType: void
    signature: void impl_cache_flush_cache(QUERY *c, IMPL_CACHE_FLUSH *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUERY_get_down_load
      Src: /src/openssl/crypto/property/property.c:815,1
    - Dst: lh_QUERY_set_down_load
      Src: /src/openssl/crypto/property/property.c:818,1
    - Dst: lh_QUERY_doall_IMPL_CACHE_FLUSH
      Src: /src/openssl/crypto/property/property.c:819,1
    - Dst: lh_QUERY_set_down_load
      Src: /src/openssl/crypto/property/property.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - idx
    - alg
    - v
    argTypes:
    - ossl_uintmax_t
    - ALGORITHM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 822
    functionName: impl_cache_flush_one_alg
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - lh_QUERY_set_down_load
    - lh_QUERY_get_down_load
    - lh_QUERY_doall_IMPL_CACHE_FLUSH
    linkageType: ''
    returnType: void
    signature: "void impl_cache_flush_one_alg(ossl_uintmax_t idx, ALGORITHM *alg,\n
      \                                    void *v)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc
      Src: /src/openssl/crypto/property/property.c:831,1
    - Dst: tsan_load
      Src: /src/openssl/crypto/property/property.c:834,1
    - Dst: ossl_sa_ALGORITHM_doall_arg
      Src: /src/openssl/crypto/property/property.c:837,1
    - Dst: tsan_add
      Src: /src/openssl/crypto/property/property.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - store
    argTypes:
    - OSSL_METHOD_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 842
    functionName: ossl_method_cache_flush_some
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 0
    functionsReached:
    - ossl_sa_ALGORITHM_doall_arg
    - OPENSSL_rdtsc
    - tsan_add
    - tsan_load
    linkageType: ''
    returnType: void
    signature: void ossl_method_cache_flush_some(OSSL_METHOD_STORE *store)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_read_lock
      Src: /src/openssl/crypto/property/property.c:854,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:856,1
    - Dst: lh_QUERY_retrieve
      Src: /src/openssl/crypto/property/property.c:862,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:865,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:870,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - store
    - prov
    - nid
    - prop_query
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 872
    functionName: ossl_method_store_cache_get
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - ossl_property_unlock
    - ossl_method_up_ref
    - lh_QUERY_retrieve
    - ossl_method_store_retrieve
    - ossl_property_read_lock
    linkageType: ''
    returnType: int
    signature: "int ossl_method_store_cache_get(OSSL_METHOD_STORE *store, OSSL_PROVIDER
      *prov,\n                                int nid, const char *prop_query, void
      **method)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/property/property.c:887,1
    - Dst: ossl_property_write_lock
      Src: /src/openssl/crypto/property/property.c:890,1
    - Dst: ossl_method_cache_flush_some
      Src: /src/openssl/crypto/property/property.c:893,1
    - Dst: ossl_method_store_retrieve
      Src: /src/openssl/crypto/property/property.c:894,1
    - Dst: lh_QUERY_delete
      Src: /src/openssl/crypto/property/property.c:901,1
    - Dst: impl_cache_free
      Src: /src/openssl/crypto/property/property.c:902,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property.c:907,1
    - Dst: strlen
      Src: /src/openssl/crypto/property/property.c:907,1
    - Dst: ossl_method_up_ref
      Src: /src/openssl/crypto/property/property.c:914,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property.c:916,1
    - Dst: lh_QUERY_insert
      Src: /src/openssl/crypto/property/property.c:917,1
    - Dst: impl_cache_free
      Src: /src/openssl/crypto/property/property.c:918,1
    - Dst: lh_QUERY_error
      Src: /src/openssl/crypto/property/property.c:921,1
    - Dst: ossl_method_free
      Src: /src/openssl/crypto/property/property.c:926,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property.c:930,1
    - Dst: ossl_property_unlock
      Src: /src/openssl/crypto/property/property.c:932,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - store
    - prov
    - nid
    - prop_query
    - method
    argTypes:
    - OSSL_METHOD_STORE*
    - OSSL_PROVIDER*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 934
    functionName: ossl_method_store_cache_set
    functionSourceFile: /src/openssl/crypto/property/property.c
    functionUses: 4
    functionsReached:
    - ossl_method_cache_flush_some
    - ossl_assert
    - lh_QUERY_error
    - ossl_method_up_ref
    - ossl_property_unlock
    - lh_QUERY_delete
    - ossl_method_store_retrieve
    - memcpy
    - ossl_method_free
    - OPENSSL_free
    - impl_cache_free
    - strlen
    - lh_QUERY_insert
    - OPENSSL_malloc
    - ossl_property_write_lock
    linkageType: ''
    returnType: int
    signature: "int ossl_method_store_cache_set(OSSL_METHOD_STORE *store, OSSL_PROVIDER
      *prov,\n                                int nid, const char *prop_query, void
      *method,\n                                int (*method_up_ref)(void *),\n                                void
      (*method_destruct)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/property/property_string.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - PROPERTY_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: property_hash
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long property_hash(const PROPERTY_STRING *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/property/property_string.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PROPERTY_STRING*
    - PROPERTY_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: property_cmp
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int property_cmp(const PROPERTY_STRING *a, const PROPERTY_STRING *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_string.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ps
    argTypes:
    - PROPERTY_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: property_free
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 11
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void property_free(PROPERTY_STRING *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_PROPERTY_STRING_doall
      Src: /src/openssl/crypto/property/property_string.c:70,1
    - Dst: lh_PROPERTY_STRING_free
      Src: /src/openssl/crypto/property/property_string.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pt
    argTypes:
    - PROP_TABLE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: property_table_free
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - lh_PROPERTY_STRING_doall
    - lh_PROPERTY_STRING_free
    linkageType: ''
    returnType: void
    signature: void property_table_free(PROP_TABLE **pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/property/property_string.c:83,1
    - Dst: property_table_free
      Src: /src/openssl/crypto/property/property_string.c:84,1
    - Dst: property_table_free
      Src: /src/openssl/crypto/property/property_string.c:85,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/property/property_string.c:87,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/crypto/property/property_string.c:88,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_string.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - vpropdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: ossl_property_string_data_free
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - property_table_free
    - OPENSSL_free
    - sk_OPENSSL_CSTRING_free
    linkageType: ''
    returnType: void
    signature: void ossl_property_string_data_free(void *vpropdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/property/property_string.c:97,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/property/property_string.c:102,1
    - Dst: lh_PROPERTY_STRING_new
      Src: /src/openssl/crypto/property/property_string.c:103,1
    - Dst: lh_PROPERTY_STRING_new
      Src: /src/openssl/crypto/property/property_string.c:105,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/crypto/property/property_string.c:108,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/crypto/property/property_string.c:109,1
    - Dst: ossl_property_string_data_free
      Src: /src/openssl/crypto/property/property_string.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: ossl_property_string_data_new
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - sk_OPENSSL_CSTRING_new_null
    - CRYPTO_THREAD_lock_new
    - ossl_property_string_data_free
    - lh_PROPERTY_STRING_new
    linkageType: ''
    returnType: void
    signature: void *ossl_property_string_data_new(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/property/property_string.c:127,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/property/property_string.c:128,1
    - Dst: memcpy
      Src: /src/openssl/crypto/property/property_string.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/property/property_string.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - pidx
    argTypes:
    - char*
    - OSSL_PROPERTY_IDX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: new_property_string
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: PROPERTY_STRING
    signature: "PROPERTY_STRING *new_property_string(const char *s,\n                                            OSSL_PROPERTY_IDX
      *pidx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/property_string.c:149,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/property/property_string.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/property/property_string.c:157,1
    - Dst: lh_PROPERTY_STRING_retrieve
      Src: /src/openssl/crypto/property/property_string.c:160,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:162,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/property/property_string.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/property/property_string.c:164,1
    - Dst: lh_PROPERTY_STRING_retrieve
      Src: /src/openssl/crypto/property/property_string.c:168,1
    - Dst: new_property_string
      Src: /src/openssl/crypto/property/property_string.c:169,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/property/property_string.c:171,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/crypto/property/property_string.c:174,1
    - Dst: property_free
      Src: /src/openssl/crypto/property/property_string.c:175,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:176,1
    - Dst: lh_PROPERTY_STRING_insert
      Src: /src/openssl/crypto/property/property_string.c:180,1
    - Dst: lh_PROPERTY_STRING_error
      Src: /src/openssl/crypto/property/property_string.c:181,1
    - Dst: sk_OPENSSL_CSTRING_pop
      Src: /src/openssl/crypto/property/property_string.c:187,1
    - Dst: property_free
      Src: /src/openssl/crypto/property/property_string.c:189,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:191,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - name
    - create
    - s
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 199
    functionName: ossl_property_string
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_lib_ctx_get_data
    - sk_OPENSSL_CSTRING_pop
    - CRYPTO_THREAD_read_lock
    - lh_PROPERTY_STRING_error
    - CRYPTO_THREAD_write_lock
    - lh_PROPERTY_STRING_insert
    - property_free
    - new_property_string
    - STACK_OF
    - CRYPTO_THREAD_unlock
    - sk_OPENSSL_CSTRING_push
    - lh_PROPERTY_STRING_retrieve
    linkageType: ''
    returnType: OSSL_PROPERTY_IDX
    signature: "OSSL_PROPERTY_IDX ossl_property_string(OSSL_LIB_CTX *ctx, int name,\n
      \                                             int create, const char *s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - prop
    - vfindstr
    argTypes:
    - PROPERTY_STRING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: find_str_fn
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_str_fn(PROPERTY_STRING *prop, void *vfindstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/property/property_string.c:221,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/property/property_string.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/property/property_string.c:227,1
    - Dst: lh_PROPERTY_STRING_doall_arg
      Src: /src/openssl/crypto/property/property_string.c:237,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/crypto/property/property_string.c:243,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/property/property_string.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - name
    - ctx
    - idx
    argTypes:
    - int
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_IDX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 249
    functionName: ossl_property_str
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_lib_ctx_get_data
    - sk_OPENSSL_CSTRING_value
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - lh_PROPERTY_STRING_doall_arg
    linkageType: ''
    returnType: char
    signature: "char *ossl_property_str(int name, OSSL_LIB_CTX *ctx,\n                                     OSSL_PROPERTY_IDX
      idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_string
      Src: /src/openssl/crypto/property/property_string.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - s
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: ossl_property_name
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 3
    functionsReached:
    - ossl_property_string
    linkageType: ''
    returnType: OSSL_PROPERTY_IDX
    signature: "OSSL_PROPERTY_IDX ossl_property_name(OSSL_LIB_CTX *ctx, const char
      *s,\n                                     int create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_str
      Src: /src/openssl/crypto/property/property_string.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_IDX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 6
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: ossl_property_name_str
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 2
    functionsReached:
    - ossl_property_str
    linkageType: ''
    returnType: char
    signature: char *ossl_property_name_str(OSSL_LIB_CTX *ctx, OSSL_PROPERTY_IDX idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_string
      Src: /src/openssl/crypto/property/property_string.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - s
    - create
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 6
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ossl_property_value
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 3
    functionsReached:
    - ossl_property_string
    linkageType: ''
    returnType: OSSL_PROPERTY_IDX
    signature: "OSSL_PROPERTY_IDX ossl_property_value(OSSL_LIB_CTX *ctx, const char
      *s,\n                                      int create)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_property_str
      Src: /src/openssl/crypto/property/property_string.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROPERTY_IDX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 6
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: ossl_property_value_str
    functionSourceFile: /src/openssl/crypto/property/property_string.c
    functionUses: 2
    functionsReached:
    - ossl_property_str
    linkageType: ''
    returnType: char
    signature: char *ossl_property_value_str(OSSL_LIB_CTX *ctx, OSSL_PROPERTY_IDX
      idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/crmf/crmf_err.c:80,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/crmf/crmf_err.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: ossl_err_load_CRMF_strings
    functionSourceFile: /src/openssl/crypto/crmf/crmf_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_CRMF_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - atyp
    - ','
    - valt
    - ','
    - ctrlinf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 77
    functionName: IMPLEMENT_CRMF_CTRL_FUNC
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CRMF_CTRL_FUNC(atyp, valt, ctrlinf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:89,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
      Src: /src/openssl/crypto/crmf/crmf_lib.c:94,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
      Src: /src/openssl/crypto/crmf/crmf_lib.c:99,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - crm
    - ctrl
    argTypes:
    - OSSL_CRMF_MSG*
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: OSSL_CRMF_MSG_push0_regCtrl
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
    - ERR_raise
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_push0_regCtrl(OSSL_CRMF_MSG *crm,\n                                       OSSL_CRMF_ATTRIBUTETYPEANDVALUE
      *ctrl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:124,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:128,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - spi
    - method
    - nm
    argTypes:
    - OSSL_CRMF_SINGLEPUBINFO*
    - int
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: OSSL_CRMF_MSG_set0_SinglePubInfo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_set
    - GENERAL_NAME_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_set0_SinglePubInfo(OSSL_CRMF_SINGLEPUBINFO *spi,\n
      \                                    int method, GENERAL_NAME *nm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:140,1
    - Dst: sk_OSSL_CRMF_SINGLEPUBINFO_new_null
      Src: /src/openssl/crypto/crmf/crmf_lib.c:144,1
    - Dst: sk_OSSL_CRMF_SINGLEPUBINFO_push
      Src: /src/openssl/crypto/crmf/crmf_lib.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pi
    - spi
    argTypes:
    - OSSL_CRMF_PKIPUBLICATIONINFO*
    - OSSL_CRMF_SINGLEPUBINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_CRMF_SINGLEPUBINFO_push
    - ERR_raise
    - sk_OSSL_CRMF_SINGLEPUBINFO_new_null
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_PKIPublicationInfo_push0_SinglePubInfo(OSSL_CRMF_PKIPUBLICATIONINFO
      *pi,\n                                                     OSSL_CRMF_SINGLEPUBINFO
      *spi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:157,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pi
    - action
    argTypes:
    - OSSL_CRMF_PKIPUBLICATIONINFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: OSSL_CRMF_MSG_set_PKIPublicationInfo_action
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_set
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_set_PKIPublicationInfo_action(OSSL_CRMF_PKIPUBLICATIONINFO
      *pi,\n                                                int action)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:177,1
    - Dst: OSSL_CRMF_CERTID_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:181,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:184,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:188,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/crmf/crmf_lib.c:189,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - issuer
    - serial
    argTypes:
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 197
    functionName: OSSL_CRMF_CERTID_gen
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_NAME_set
    - OSSL_CRMF_CERTID_free
    - ASN1_INTEGER_free
    - ASN1_INTEGER_dup
    - OSSL_CRMF_CERTID_new
    linkageType: ''
    returnType: OSSL_CRMF_CERTID
    signature: "OSSL_CRMF_CERTID *OSSL_CRMF_CERTID_gen(const X509_NAME *issuer,\n
      \                                      const ASN1_INTEGER *serial)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/crmf/crmf_lib.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:215,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
      Src: /src/openssl/crypto/crmf/crmf_lib.c:220,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
      Src: /src/openssl/crypto/crmf/crmf_lib.c:223,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - crm
    - ri
    argTypes:
    - OSSL_CRMF_MSG*
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 232
    functionName: OSSL_CRMF_MSG_push0_regInfo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - STACK_OF
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_push0_regInfo(OSSL_CRMF_MSG *crm,\n                                       OSSL_CRMF_ATTRIBUTETYPEANDVALUE
      *ri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - crm
    argTypes:
    - OSSL_CRMF_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: OSSL_CRMF_MSG_get0_tmpl
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CRMF_CERTTEMPLATE
    signature: OSSL_CRMF_CERTTEMPLATE *OSSL_CRMF_MSG_get0_tmpl(const OSSL_CRMF_MSG
      *crm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/crmf/crmf_lib.c:254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:257,1
    - Dst: OSSL_CRMF_OPTIONALVALIDITY_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - crm
    - notBefore
    - notAfter
    argTypes:
    - OSSL_CRMF_MSG*
    - ASN1_TIME*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: OSSL_CRMF_MSG_set0_validity
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_OPTIONALVALIDITY_new
    - ERR_raise
    - OSSL_CRMF_MSG_get0_tmpl
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_set0_validity(OSSL_CRMF_MSG *crm,\n                                ASN1_TIME
      *notBefore, ASN1_TIME *notAfter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:272,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - crm
    - rid
    argTypes:
    - OSSL_CRMF_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: OSSL_CRMF_MSG_set_certReqId
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_set
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_CRMF_MSG_set_certReqId(OSSL_CRMF_MSG *crm, int rid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/crmf/crmf_lib.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:289,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: crmf_asn1_get_int
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get_int64
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int crmf_asn1_get_int(const ASN1_INTEGER *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:302,1
    - Dst: crmf_asn1_get_int
      Src: /src/openssl/crypto/crmf/crmf_lib.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - crm
    argTypes:
    - OSSL_CRMF_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: OSSL_CRMF_MSG_get_certReqId
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - crmf_asn1_get_int
    linkageType: ''
    returnType: int
    signature: int OSSL_CRMF_MSG_get_certReqId(const OSSL_CRMF_MSG *crm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/crmf/crmf_lib.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:314,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/crmf/crmf_lib.c:318,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:319,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - crm
    - exts
    argTypes:
    - OSSL_CRMF_MSG*
    - X509_EXTENSIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: OSSL_CRMF_MSG_set0_extensions
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_X509_EXTENSION_pop_free
    - sk_X509_EXTENSION_free
    - OSSL_CRMF_MSG_get0_tmpl
    - sk_X509_EXTENSION_num
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_set0_extensions(OSSL_CRMF_MSG *crm,\n                                  X509_EXTENSIONS
      *exts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/crmf/crmf_lib.c:332,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:335,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/crypto/crmf/crmf_lib.c:340,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/openssl/crypto/crmf/crmf_lib.c:345,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - crm
    - ext
    argTypes:
    - OSSL_CRMF_MSG*
    - X509_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 354
    functionName: OSSL_CRMF_MSG_push0_extension
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_X509_EXTENSION_free
    - OSSL_CRMF_MSG_get0_tmpl
    - sk_X509_EXTENSION_new_null
    - sk_X509_EXTENSION_push
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_push0_extension(OSSL_CRMF_MSG *crm,\n                                  X509_EXTENSION
      *ext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:365,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/crmf/crmf_lib.c:368,1
    - Dst: ossl_x509_check_private_key
      Src: /src/openssl/crypto/crmf/crmf_lib.c:369,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:374,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/crypto/crmf/crmf_lib.c:378,1
    - Dst: strcmp
      Src: /src/openssl/crypto/crmf/crmf_lib.c:379,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/crmf/crmf_lib.c:382,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/crmf/crmf_lib.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - ps
    - cr
    - pkey
    - digest
    - libctx
    - propq
    argTypes:
    - OSSL_CRMF_POPOSIGNINGKEY*
    - OSSL_CRMF_CERTREQUEST*
    - EVP_PKEY*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 356
    functionDepth: 11
    functionLinenumber: 356
    functionLinenumberEnd: 386
    functionName: create_popo_signature
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_ITEM_rptr
    - ossl_x509_check_private_key
    - X509_PUBKEY_get0
    - ASN1_item_sign_ex
    - EVP_PKEY_get_default_digest_name
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int create_popo_signature(OSSL_CRMF_POPOSIGNINGKEY *ps,\n                                 const
      OSSL_CRMF_CERTREQUEST *cr,\n                                 EVP_PKEY *pkey,
      const EVP_MD *digest,\n                                 OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:396,1
    - Dst: OSSL_CRMF_POPO_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:402,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:408,1
    - Dst: OSSL_CRMF_POPOSIGNINGKEY_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:414,1
    - Dst: create_popo_signature
      Src: /src/openssl/crypto/crmf/crmf_lib.c:418,1
    - Dst: OSSL_CRMF_POPOSIGNINGKEY_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:420,1
    - Dst: OSSL_CRMF_POPOPRIVKEY_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:428,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:430,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:435,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:440,1
    - Dst: OSSL_CRMF_POPO_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:445,1
    - Dst: OSSL_CRMF_POPO_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:450,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 6
    argNames:
    - meth
    - crm
    - pkey
    - digest
    - libctx
    - propq
    argTypes:
    - int
    - OSSL_CRMF_MSG*
    - EVP_PKEY*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 388
    functionDepth: 12
    functionLinenumber: 388
    functionLinenumberEnd: 452
    functionName: OSSL_CRMF_MSG_create_popo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_POPOPRIVKEY_new
    - OSSL_CRMF_POPOSIGNINGKEY_new
    - ERR_raise
    - OSSL_CRMF_POPO_new
    - ASN1_INTEGER_new
    - ASN1_NULL_new
    - ASN1_INTEGER_set
    - OSSL_CRMF_POPO_free
    - create_popo_signature
    - OSSL_CRMF_POPOSIGNINGKEY_free
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSG_create_popo(int meth, OSSL_CRMF_MSG *crm,\n                              EVP_PKEY
      *pkey, const EVP_MD *digest,\n                              OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_CRMF_MSG_value
      Src: /src/openssl/crypto/crmf/crmf_lib.c:465,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:466,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:471,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:496,1
    - Dst: X509_PUBKEY_eq
      Src: /src/openssl/crypto/crmf/crmf_lib.c:499,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:500,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/crmf/crmf_lib.c:509,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:513,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/crmf/crmf_lib.c:516,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/crmf/crmf_lib.c:519,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/crypto/crmf/crmf_lib.c:520,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:533,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 5
    argNames:
    - reqs
    - rid
    - acceptRAVerified
    - libctx
    - propq
    argTypes:
    - OSSL_CRMF_MSGS*
    - int
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 537
    functionName: OSSL_CRMF_MSGS_verify_popo
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_item_verify_ex
    - ERR_raise
    - ASN1_ITEM_rptr
    - sk_OSSL_CRMF_MSG_value
    - X509_PUBKEY_get0
    - X509_PUBKEY_eq
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_MSGS_verify_popo(const OSSL_CRMF_MSGS *reqs,\n                               int
      rid, int acceptRAVerified,\n                               OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:546,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_publicKey
      Src: /src/openssl/crypto/crmf/crmf_lib.c:551,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/crmf/crmf_lib.c:551,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/crmf/crmf_lib.c:556,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - crm
    - p10cr
    argTypes:
    - OSSL_CRMF_MSG*
    - X509_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 569
    functionName: OSSL_CRMF_MSG_centralkeygen_requested
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_CERTTEMPLATE_get0_publicKey
    - ERR_raise
    - X509_PUBKEY_get0_param
    - OSSL_CRMF_MSG_get0_tmpl
    linkageType: ''
    returnType: int
    signature: int OSSL_CRMF_MSG_centralkeygen_requested(const OSSL_CRMF_MSG *crm,
      const X509_REQ *p10cr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_publicKey
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *OSSL_CRMF_CERTTEMPLATE_get0_publicKey(const OSSL_CRMF_CERTTEMPLATE
      *tmpl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *OSSL_CRMF_CERTTEMPLATE_get0_serialNumber(const OSSL_CRMF_CERTTEMPLATE
      *tmpl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 587
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_subject
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *OSSL_CRMF_CERTTEMPLATE_get0_subject(const OSSL_CRMF_CERTTEMPLATE
      *tmpl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_issuer
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *OSSL_CRMF_CERTTEMPLATE_get0_issuer(const OSSL_CRMF_CERTTEMPLATE
      *tmpl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmpl
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: OSSL_CRMF_CERTTEMPLATE_get0_extensions
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_EXTENSIONS
    signature: X509_EXTENSIONS *OSSL_CRMF_CERTTEMPLATE_get0_extensions(const OSSL_CRMF_CERTTEMPLATE
      *tmpl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cid
    argTypes:
    - OSSL_CRMF_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: OSSL_CRMF_CERTID_get0_issuer
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_NAME
    signature: X509_NAME *OSSL_CRMF_CERTID_get0_issuer(const OSSL_CRMF_CERTID *cid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cid
    argTypes:
    - OSSL_CRMF_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: OSSL_CRMF_CERTID_get0_serialNumber
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: "ASN1_INTEGER *OSSL_CRMF_CERTID_get0_serialNumber(const OSSL_CRMF_CERTID\n
      \                                                      *cid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:624,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:627,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:629,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:632,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/crmf/crmf_lib.c:633,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/crmf/crmf_lib.c:636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - tmpl
    - pubkey
    - subject
    - issuer
    - serial
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    - EVP_PKEY*
    - X509_NAME*
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 617
    functionDepth: 12
    functionLinenumber: 617
    functionLinenumberEnd: 639
    functionName: OSSL_CRMF_CERTTEMPLATE_fill
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_NAME_set
    - ASN1_INTEGER_free
    - ASN1_INTEGER_dup
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_CERTTEMPLATE_fill(OSSL_CRMF_CERTTEMPLATE *tmpl,\n                                EVP_PKEY
      *pubkey,\n                                const X509_NAME *subject,\n                                const
      X509_NAME *issuer,\n                                const ASN1_INTEGER *serial)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/crmf/crmf_lib.c:647,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/crmf/crmf_lib.c:652,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/crmf/crmf_lib.c:653,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/crmf/crmf_lib.c:654,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/crmf/crmf_lib.c:654,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - X509_PURPOSE *purpose
    - x
    - ca
    argTypes:
    - ossl_unused
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 662
    functionName: check_cmKGA
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_OBJECT_value
    - X509_get_ext_d2i
    - STACK_OF
    - sk_ASN1_OBJECT_num
    - sk_ASN1_OBJECT_pop_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int check_cmKGA(ossl_unused const X509_PURPOSE *purpose, const X509
      *x, int ca)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:680,1
    - Dst: OSSL_CRMF_ENCRYPTEDVALUE_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:688,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/crypto/crmf/crmf_lib.c:691,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:692,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:698,1
    - Dst: CMS_EnvelopedData_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:701,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:704,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/crmf/crmf_lib.c:707,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/crmf/crmf_lib.c:707,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/openssl/crypto/crmf/crmf_lib.c:711,1
    - Dst: X509_PURPOSE_get_unused_id
      Src: /src/openssl/crypto/crmf/crmf_lib.c:712,1
    - Dst: X509_PURPOSE_add
      Src: /src/openssl/crypto/crmf/crmf_lib.c:713,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/crmf/crmf_lib.c:717,1
    - Dst: X509_VERIFY_PARAM_get_purpose
      Src: /src/openssl/crypto/crmf/crmf_lib.c:721,1
    - Dst: X509_STORE_set_purpose
      Src: /src/openssl/crypto/crmf/crmf_lib.c:722,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:723,1
    - Dst: CMS_SignedData_verify
      Src: /src/openssl/crypto/crmf/crmf_lib.c:727,1
    - Dst: X509_STORE_set_purpose
      Src: /src/openssl/crypto/crmf/crmf_lib.c:730,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:731,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:736,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/crypto/crmf/crmf_lib.c:741,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:742,1
    - Dst: CMS_SignedData_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:745,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:746,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:747,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:752,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 8
    argNames:
    - encryptedKey
    - ts
    - extra
    - pkey
    - cert
    - secret
    - libctx
    - propq
    argTypes:
    - OSSL_CRMF_ENCRYPTEDKEY*
    - X509_STORE*
    - STACK_OF*
    - EVP_PKEY*
    - X509*
    - ASN1_OCTET_STRING*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 755
    functionName: OSSL_CRMF_ENCRYPTEDKEY_get1_pkey
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_ENCRYPTEDVALUE_decrypt
    - X509_STORE_set_purpose
    - ERR_raise
    - CMS_SignedData_verify
    - CMS_SignedData_free
    - X509_PURPOSE_add
    - CMS_EnvelopedData_decrypt
    - BIO_free
    - ASN1_ITEM_rptr
    - X509_PURPOSE_get_by_sname
    - X509_PURPOSE_get_unused_id
    - d2i_PrivateKey_ex_bio
    - OPENSSL_free
    - X509_STORE_get0_param
    - d2i_AutoPrivateKey_ex
    - X509_VERIFY_PARAM_get_purpose
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *OSSL_CRMF_ENCRYPTEDKEY_get1_pkey(const OSSL_CRMF_ENCRYPTEDKEY
      *encryptedKey,\n                                           X509_STORE *ts, STACK_OF(X509)
      *extra, EVP_PKEY *pkey,\n                                           X509 *cert,
      ASN1_OCTET_STRING *secret,\n                                           OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:774,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:780,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:785,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/crmf/crmf_lib.c:786,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/crmf/crmf_lib.c:787,1
    - Dst: EVP_get_cipherbyobj
      Src: /src/openssl/crypto/crmf/crmf_lib.c:789,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/crmf/crmf_lib.c:791,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:792,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/crmf/crmf_lib.c:795,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/crmf/crmf_lib.c:797,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/crmf/crmf_lib.c:799,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/crypto/crmf/crmf_lib.c:800,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:805,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_lib.c:807,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:809,1
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/crypto/crmf/crmf_lib.c:810,1
    - Dst: constant_time_msb
      Src: /src/openssl/crypto/crmf/crmf_lib.c:810,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/crmf/crmf_lib.c:811,1
    - Dst: constant_time_eq_s
      Src: /src/openssl/crypto/crmf/crmf_lib.c:812,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/crmf/crmf_lib.c:814,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:815,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_lib.c:821,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/crmf/crmf_lib.c:821,1
    - Dst: ASN1_TYPE_get_octetstring
      Src: /src/openssl/crypto/crmf/crmf_lib.c:823,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/crmf/crmf_lib.c:824,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/crmf/crmf_lib.c:825,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:826,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_lib.c:830,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/crypto/crmf/crmf_lib.c:831,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:832,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/crypto/crmf/crmf_lib.c:834,1
    - Dst: EVP_DecryptInit
      Src: /src/openssl/crypto/crmf/crmf_lib.c:836,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/crypto/crmf/crmf_lib.c:837,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/crypto/crmf/crmf_lib.c:840,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:841,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:848,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:849,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:850,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:851,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:852,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:855,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 5
    argNames:
    - enc
    - libctx
    - propq
    - pkey
    - outlen
    argTypes:
    - OSSL_CRMF_ENCRYPTEDVALUE*
    - OSSL_LIB_CTX*
    - char*
    - EVP_PKEY*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 757
    functionDepth: 6
    functionLinenumber: 757
    functionLinenumberEnd: 857
    functionName: OSSL_CRMF_ENCRYPTEDVALUE_decrypt
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 1
    functionsReached:
    - constant_time_eq_s
    - ERR_raise
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_set_padding
    - OPENSSL_free
    - constant_time_is_zero_s
    - EVP_DecryptFinal
    - ERR_clear_error
    - EVP_DecryptInit
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_free
    - EVP_CIPHER_get_key_length
    - ERR_clear_last_mark
    - OPENSSL_malloc
    - constant_time_msb
    - EVP_PKEY_decrypt_init
    - EVP_DecryptUpdate
    - EVP_CIPHER_fetch
    - EVP_PKEY_CTX_new_from_pkey
    - ASN1_TYPE_get_octetstring
    - EVP_get_cipherbyobj
    - EVP_CIPHER_get_block_size
    - EVP_CIPHER_CTX_new
    - EVP_PKEY_decrypt
    - OPENSSL_clear_free
    - ERR_set_mark
    - constant_time_is_zero
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *OSSL_CRMF_ENCRYPTEDVALUE_decrypt(const OSSL_CRMF_ENCRYPTEDVALUE
      *enc,\n                                  OSSL_LIB_CTX *libctx, const char *propq,\n
      \                                 EVP_PKEY *pkey, int *outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_ENCRYPTEDVALUE_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:875,1
    - Dst: X509_new_ex
      Src: /src/openssl/crypto/crmf/crmf_lib.c:876,1
    - Dst: d2i_X509
      Src: /src/openssl/crypto/crmf/crmf_lib.c:879,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:880,1
    - Dst: X509_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:881,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ecert
    - libctx
    - propq
    - pkey
    argTypes:
    - OSSL_CRMF_ENCRYPTEDVALUE*
    - OSSL_LIB_CTX*
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 866
    functionDepth: 7
    functionLinenumber: 866
    functionLinenumberEnd: 888
    functionName: OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_ENCRYPTEDVALUE_decrypt
    - ERR_raise
    - X509_free
    - OPENSSL_free
    - X509_new_ex
    - d2i_X509
    linkageType: ''
    returnType: X509
    signature: "X509 *OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert(const OSSL_CRMF_ENCRYPTEDVALUE
      *ecert,\n                                            OSSL_LIB_CTX *libctx, const
      char *propq,\n                                            EVP_PKEY *pkey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert
      Src: /src/openssl/crypto/crmf/crmf_lib.c:906,1
    - Dst: CMS_EnvelopedData_decrypt
      Src: /src/openssl/crypto/crmf/crmf_lib.c:909,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/crypto/crmf/crmf_lib.c:914,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:916,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/crmf/crmf_lib.c:917,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_lib.c:921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ecert
    - libctx
    - propq
    - pkey
    - flags
    argTypes:
    - OSSL_CRMF_ENCRYPTEDKEY*
    - OSSL_LIB_CTX*
    - char*
    - EVP_PKEY*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 896
    functionDepth: 8
    functionLinenumber: 896
    functionLinenumberEnd: 924
    functionName: OSSL_CRMF_ENCRYPTEDKEY_get1_encCert
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CRMF_ENCRYPTEDVALUE_get1_encCert
    - BIO_free
    - CMS_EnvelopedData_decrypt
    - d2i_X509_bio
    linkageType: ''
    returnType: X509
    signature: "X509 *OSSL_CRMF_ENCRYPTEDKEY_get1_encCert(const OSSL_CRMF_ENCRYPTEDKEY
      *ecert,\n                                          OSSL_LIB_CTX *libctx, const
      char *propq,\n                                          EVP_PKEY *pkey, unsigned
      int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_ENCRYPTEDKEY_new
      Src: /src/openssl/crypto/crmf/crmf_lib.c:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - envdata
    argTypes:
    - CMS_EnvelopedData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 936
    functionName: OSSL_CRMF_ENCRYPTEDKEY_init_envdata
    functionSourceFile: /src/openssl/crypto/crmf/crmf_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_ENCRYPTEDKEY_new
    linkageType: ''
    returnType: OSSL_CRMF_ENCRYPTEDKEY
    signature: OSSL_CRMF_ENCRYPTEDKEY *OSSL_CRMF_ENCRYPTEDKEY_init_envdata(CMS_EnvelopedData
      *envdata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_PBMPARAMETER_new
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:34,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:42,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:44,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:45,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:48,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:56,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:72,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:76,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:81,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:90,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:91,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:98,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:99,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 5
    argNames:
    - libctx
    - slen
    - owfnid
    - itercnt
    - macnid
    argTypes:
    - OSSL_LIB_CTX*
    - size_t
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 101
    functionName: OSSL_CRMF_pbmp_new
    functionSourceFile: /src/openssl/crypto/crmf/crmf_pbm.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - ERR_raise
    - OSSL_CRMF_PBMPARAMETER_new
    - ASN1_OCTET_STRING_set
    - ASN1_INTEGER_set
    - OPENSSL_free
    - OSSL_CRMF_PBMPARAMETER_free
    - OBJ_nid2obj
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_CRMF_PBMPARAMETER
    signature: "OSSL_CRMF_PBMPARAMETER *OSSL_CRMF_pbmp_new(OSSL_LIB_CTX *libctx, size_t
      slen,\n                                           int owfnid, size_t itercnt,\n
      \                                          int macnid)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:134,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:137,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:145,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:147,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:151,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:155,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:158,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:161,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:163,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:168,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:174,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:176,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:178,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:187,1
    - Dst: EVP_PBE_find
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:189,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:190,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:192,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:196,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:203,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:204,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:205,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:212,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:217,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/crmf/crmf_pbm.c:218,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 71
    argCount: 9
    argNames:
    - libctx
    - propq
    - pbmp
    - msg
    - msglen
    - sec
    - seclen
    - out
    - outlen
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - OSSL_CRMF_PBMPARAMETER*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 115
    functionDepth: 10
    functionLinenumber: 115
    functionLinenumberEnd: 221
    functionName: OSSL_CRMF_pbm_new
    functionSourceFile: /src/openssl/crypto/crmf/crmf_pbm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - EVP_Q_mac
    - EVP_MD_free
    - ERR_raise
    - OBJ_obj2txt
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - ERR_add_error_data
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ASN1_INTEGER_get_int64
    - OPENSSL_free
    - EVP_DigestInit_ex
    - OBJ_nid2obj
    - EVP_MD_fetch
    - EVP_PBE_find
    - OBJ_obj2nid
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int OSSL_CRMF_pbm_new(OSSL_LIB_CTX *libctx, const char *propq,\n                      const
      OSSL_CRMF_PBMPARAMETER *pbmp,\n                      const unsigned char *msg,
      size_t msglen,\n                      const unsigned char *sec, size_t seclen,\n
      \                     unsigned char **out, size_t *outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_block_p8
      Src: /src/openssl/crypto/sha/sha_ppc.c:22,1
    - Dst: sha256_block_ppc
      Src: /src/openssl/crypto/sha/sha_ppc.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_ppc.c
    functionUses: 2
    functionsReached:
    - sha256_block_ppc
    - sha256_block_p8
    linkageType: ''
    returnType: void
    signature: void sha256_block_data_order(void *ctx, const void *inp, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha512_block_p8
      Src: /src/openssl/crypto/sha/sha_ppc.c:31,1
    - Dst: sha512_block_ppc
      Src: /src/openssl/crypto/sha/sha_ppc.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - inp
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_ppc.c
    functionUses: 0
    functionsReached:
    - sha512_block_ppc
    - sha512_block_p8
    linkageType: ''
    returnType: void
    signature: void sha512_block_data_order(void *ctx, const void *inp, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/sha/sha1dgst.c:47,1
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha1dgst.c:51,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/sha/sha1dgst.c:53,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/sha/sha1dgst.c:56,1
    - Dst: SHA1_Init
      Src: /src/openssl/crypto/sha/sha1dgst.c:61,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/sha/sha1dgst.c:64,1
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha1dgst.c:68,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/sha/sha1dgst.c:70,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/sha/sha1dgst.c:73,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/sha/sha1dgst.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - sha1
    - cmd
    - mslen
    - ms
    argTypes:
    - SHA_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 80
    functionName: ossl_sha1_ctrl
    functionSourceFile: /src/openssl/crypto/sha/sha1dgst.c
    functionUses: 1
    functionsReached:
    - memset
    - SHA1_Update
    - SHA1_Init
    - SHA1_Final
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int ossl_sha1_ctrl(SHA_CTX *sha1, int cmd, int mslen, void *ms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RISCV_HAS_ZVKB
      Src: /src/openssl/crypto/sha/sha_riscv.c:25,1
    - Dst: RISCV_HAS_ZVKNHA
      Src: /src/openssl/crypto/sha/sha_riscv.c:25,1
    - Dst: RISCV_HAS_ZVKNHB
      Src: /src/openssl/crypto/sha/sha_riscv.c:25,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/sha/sha_riscv.c:26,1
    - Dst: sha256_block_data_order_zvkb_zvknha_or_zvknhb
      Src: /src/openssl/crypto/sha/sha_riscv.c:27,1
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/sha/sha_riscv.c:28,1
    - Dst: sha256_block_data_order_zbb
      Src: /src/openssl/crypto/sha/sha_riscv.c:29,1
    - Dst: sha256_block_data_order_riscv64
      Src: /src/openssl/crypto/sha/sha_riscv.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_riscv.c
    functionUses: 2
    functionsReached:
    - sha256_block_data_order_riscv64
    - RISCV_HAS_ZVKNHA
    - RISCV_HAS_ZVKNHB
    - sha256_block_data_order_zbb
    - RISCV_HAS_ZVKB
    - sha256_block_data_order_zvkb_zvknha_or_zvknhb
    - riscv_vlen
    - RISCV_HAS_ZBB
    linkageType: ''
    returnType: void
    signature: void sha256_block_data_order(SHA256_CTX *ctx, const void *in, size_t
      num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RISCV_HAS_ZVKB_AND_ZVKNHB
      Src: /src/openssl/crypto/sha/sha_riscv.c:42,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/sha/sha_riscv.c:42,1
    - Dst: sha512_block_data_order_zvkb_zvknhb
      Src: /src/openssl/crypto/sha/sha_riscv.c:43,1
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/sha/sha_riscv.c:44,1
    - Dst: sha512_block_data_order_zbb
      Src: /src/openssl/crypto/sha/sha_riscv.c:45,1
    - Dst: sha512_block_data_order_c
      Src: /src/openssl/crypto/sha/sha_riscv.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha_riscv.c
    functionUses: 0
    functionsReached:
    - sha512_block_data_order_c
    - sha512_block_data_order_zbb
    - sha512_block_data_order_zvkb_zvknhb
    - RISCV_HAS_ZVKB_AND_ZVKNHB
    - RISCV_HAS_ZBB
    - riscv_vlen
    linkageType: ''
    returnType: void
    signature: void sha512_block_data_order(SHA512_CTX *ctx, const void *in, size_t
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: U64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: U64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: U64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:80,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:81,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:82,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:83,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:84,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:85,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:86,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: sha512_224_init
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: int sha512_224_init(SHA512_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:98,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:99,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:100,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:101,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:102,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:103,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:104,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: sha512_256_init
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: int sha512_256_init(SHA512_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:116,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:117,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:118,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:119,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:120,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:121,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:122,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: SHA384_Init
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: int SHA384_Init(SHA512_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:134,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:135,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:136,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:137,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:138,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:139,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:140,1
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: SHA512_Init
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - U64
    linkageType: ''
    returnType: int
    signature: int SHA512_Init(SHA512_CTX *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha512.c:167,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:169,1
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha512.c:172,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:195,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 88
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 276
    functionName: SHA512_Final
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_block_data_order
    - memset
    linkageType: ''
    returnType: int
    signature: int SHA512_Final(unsigned char *md, SHA512_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Final
      Src: /src/openssl/crypto/sha/sha512.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: SHA384_Final
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - SHA512_Final
    linkageType: ''
    returnType: int
    signature: int SHA384_Final(unsigned char *md, SHA512_CTX *c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: U64
      Src: /src/openssl/crypto/sha/sha512.c:292,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:303,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:306,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:308,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:316,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:317,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:321,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - c
    - _data
    - len
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 329
    functionName: SHA512_Update
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_block_data_order
    - memcpy
    - U64
    linkageType: ''
    returnType: int
    signature: int SHA512_Update(SHA512_CTX *c, const void *_data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Update
      Src: /src/openssl/crypto/sha/sha512.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: SHA384_Update
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - SHA512_Update
    linkageType: ''
    returnType: int
    signature: int SHA384_Update(SHA512_CTX *c, const void *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha512.c:340,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/crypto/sha/sha512.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - SHA512_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: SHA512_Transform
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached:
    - sha512_block_data_order
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SHA512_Transform(SHA512_CTX *c, const unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: ROTR
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: PULL64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: PULL64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: PULL64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: ROTR
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: ROTR
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: PULL64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: PULL64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: PULL64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: Sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 472
    functionName: Sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 488
    functionName: sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: Sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: Sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 517
    functionName: Ch
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 527
    functionName: Maj
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: Ch
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: Maj
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 541
    functionName: ROTR
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 555
    functionName: __pull64be
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SHA_LONG64
    signature: SHA_LONG64 __pull64be(const void *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: __pull64be
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SHA_LONG64
    signature: SHA_LONG64 __pull64be(const void *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    functionName: PULL64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: B
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B(x,j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: PULL64
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    functionName: ROTR
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR(x,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 578
    functionName: Sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 581
    functionName: Sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: Ch
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: Maj
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:625,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha512.c:630,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha512.c:630,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha512.c:632,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha512.c:632,1
    - Dst: sigma0
      Src: /src/openssl/crypto/sha/sha512.c:636,1
    - Dst: sigma1
      Src: /src/openssl/crypto/sha/sha512.c:637,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha512.c:643,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha512.c:643,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha512.c:645,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha512.c:645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 659
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 3
    functionsReached:
    - Sigma0
    - Maj
    - Ch
    - Sigma1
    - PULL64
    - sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: "void sha512_block_data_order(SHA512_CTX *ctx, const void *in,\n                                    size_t
      num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:686,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha512.c:688,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha512.c:688,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha512.c:689,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha512.c:689,1
    - Dst: sigma0
      Src: /src/openssl/crypto/sha/sha512.c:702,1
    - Dst: sigma1
      Src: /src/openssl/crypto/sha/sha512.c:704,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha512.c:707,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha512.c:707,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha512.c:708,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha512.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 730
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 3
    functionsReached:
    - Sigma0
    - Maj
    - Ch
    - Sigma1
    - PULL64
    - sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: "void sha512_block_data_order(SHA512_CTX *ctx, const void *in,\n                                    size_t
      num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 737
    functionName: ROUND_00_15
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_00_15(i,a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: ROUND_16_80
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_16_80(i,j,a,b,c,d,e,f,g,h,X)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:769,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:771,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:773,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:775,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:777,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:779,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:781,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:783,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:785,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:787,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:789,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:791,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:793,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:795,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:797,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:799,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:801,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:802,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:803,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:804,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:805,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:806,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:807,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:808,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:809,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:810,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:811,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:812,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:813,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:814,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:815,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:816,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:817,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:818,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:819,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:820,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:821,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:822,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:823,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:824,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:825,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:826,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:827,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:828,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:829,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:830,1
    - Dst: PULL64
      Src: /src/openssl/crypto/sha/sha512.c:831,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha512.c:832,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:836,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:837,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:838,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:839,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:840,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:841,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:842,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:843,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:844,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:845,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:846,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:847,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:848,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:849,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:850,1
    - Dst: ROUND_16_80
      Src: /src/openssl/crypto/sha/sha512.c:851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 102
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 865
    functionName: sha512_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha512.c
    functionUses: 3
    functionsReached:
    - PULL64
    - ROUND_00_15
    - ROUND_16_80
    linkageType: ''
    returnType: void
    signature: "void sha512_block_data_order(SHA512_CTX *ctx, const void *in,\n                                    size_t
      num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: HASH_MAKE_STRING
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_STRING(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - ix
    - ','
    - ia
    - ','
    - ib
    - ','
    - ic
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: Xupdate
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Xupdate(a,ix,ia,ib,ic,id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha_local.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: HASH_INIT
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int HASH_INIT(SHA_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: F_00_19
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_00_19(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: F_20_39
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_20_39(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: F_40_59
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_40_59(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: F_60_79
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_60_79(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - xi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: BODY_00_15
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_00_15(i,a,b,c,d,e,f,xi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - xi
    - ','
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: BODY_16_19
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_16_19(i,a,b,c,d,e,f,xi,xa,xb,xc,xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - xi
    - ','
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: BODY_20_31
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_20_31(i,a,b,c,d,e,f,xi,xa,xb,xc,xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: BODY_32_39
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_32_39(i,a,b,c,d,e,f,xa,xb,xc,xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: BODY_40_59
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_40_59(i,a,b,c,d,e,f,xa,xb,xc,xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: BODY_60_79
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_60_79(i,a,b,c,d,e,f,xa,xb,xc,xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: X
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: X
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:161,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:162,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:163,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:163,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:164,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:165,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:165,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:166,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:167,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:167,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:168,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:169,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:169,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:170,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:171,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:171,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:172,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:173,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:173,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:174,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:175,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:175,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:176,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:177,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:177,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:178,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:179,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:179,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:180,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:181,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:181,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:182,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:183,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:183,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:184,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:185,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:185,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:186,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:187,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:187,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:188,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:189,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:189,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:190,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:191,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:191,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:192,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:192,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:196,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:197,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:198,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:199,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:200,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:200,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:201,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:202,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:203,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:203,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:204,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:205,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:206,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:206,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:207,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:208,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:209,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:209,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:210,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:211,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:212,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:212,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:213,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:214,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:215,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:215,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:216,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:217,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:218,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:218,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:219,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:220,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:221,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:221,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:222,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:223,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:224,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:224,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:225,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:226,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:227,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:227,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:228,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:229,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:230,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:230,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:231,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:232,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:233,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:233,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:234,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:235,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:236,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:236,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:237,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:238,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:239,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:239,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:240,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:241,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:242,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:242,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:243,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:243,1
    - Dst: BODY_16_19
      Src: /src/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:246,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:246,1
    - Dst: BODY_16_19
      Src: /src/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:247,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:247,1
    - Dst: BODY_16_19
      Src: /src/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:248,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:248,1
    - Dst: BODY_16_19
      Src: /src/openssl/crypto/sha/sha_local.h:249,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:249,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:249,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:249,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:249,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:249,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:251,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:251,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:252,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:252,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:253,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:253,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:254,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:254,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:255,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:255,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:256,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:256,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:257,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:257,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:258,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:258,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:259,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:259,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:260,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:260,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:261,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:261,1
    - Dst: BODY_20_31
      Src: /src/openssl/crypto/sha/sha_local.h:262,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:262,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:262,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:262,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:262,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:262,1
    - Dst: BODY_32_39
      Src: /src/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:264,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:264,1
    - Dst: BODY_32_39
      Src: /src/openssl/crypto/sha/sha_local.h:265,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:265,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:265,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:265,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:265,1
    - Dst: BODY_32_39
      Src: /src/openssl/crypto/sha/sha_local.h:266,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:266,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:266,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:266,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:266,1
    - Dst: BODY_32_39
      Src: /src/openssl/crypto/sha/sha_local.h:267,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:267,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:267,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:267,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:267,1
    - Dst: BODY_32_39
      Src: /src/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:268,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:268,1
    - Dst: BODY_32_39
      Src: /src/openssl/crypto/sha/sha_local.h:269,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:269,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:269,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:269,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:269,1
    - Dst: BODY_32_39
      Src: /src/openssl/crypto/sha/sha_local.h:270,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:270,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:270,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:270,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:270,1
    - Dst: BODY_32_39
      Src: /src/openssl/crypto/sha/sha_local.h:271,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:271,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:271,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:271,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:271,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:273,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:273,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:273,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:273,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:273,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:274,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:274,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:274,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:274,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:274,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:275,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:275,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:275,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:275,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:275,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:276,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:276,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:276,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:276,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:276,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:277,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:277,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:278,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:278,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:278,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:278,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:278,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:279,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:279,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:279,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:279,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:279,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:280,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:280,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:280,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:280,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:280,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:281,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:281,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:281,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:281,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:281,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:282,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:282,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:282,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:282,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:282,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:283,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:283,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:284,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:284,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:285,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:285,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:286,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:286,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:286,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:286,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:286,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:287,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:287,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:287,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:287,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:287,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:288,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:288,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:288,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:288,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:288,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:289,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:289,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:289,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:289,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:289,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:290,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:290,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:290,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:290,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:290,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:291,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:291,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:292,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:292,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:292,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:292,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:292,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:294,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:294,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:295,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:295,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:296,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:296,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:296,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:296,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:296,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:297,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:297,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:297,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:297,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:297,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:298,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:298,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:298,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:298,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:298,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:299,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:299,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:299,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:299,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:299,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:300,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:300,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:300,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:300,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:300,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:301,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:301,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:301,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:301,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:301,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:302,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:302,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:302,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:302,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:302,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:303,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:303,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:303,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:303,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:303,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:304,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:304,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:304,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:304,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:304,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:305,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:305,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:306,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:306,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:306,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:306,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:306,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:307,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:307,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:307,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:307,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:307,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:308,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:308,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:308,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:308,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:308,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:309,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:309,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:310,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:310,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:310,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:310,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:310,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:311,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:311,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:311,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:311,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:311,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:312,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:312,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:313,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:313,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:313,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:313,1
    - Dst: X
      Src: /src/openssl/crypto/sha/sha_local.h:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 169
    argCount: 3
    argNames:
    - c
    - p
    - num
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 331
    functionName: HASH_BLOCK_DATA_ORDER
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached:
    - BODY_16_19
    - BODY_60_79
    - BODY_00_15
    - HOST_c2l
    - X
    - BODY_20_31
    - BODY_32_39
    - BODY_40_59
    linkageType: ''
    returnType: void
    signature: void HASH_BLOCK_DATA_ORDER(SHA_CTX *c, const void *p, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: BODY_00_15
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_00_15(xi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: BODY_16_19
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_16_19(xa,xb,xc,xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: BODY_20_39
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_20_39(xa,xb,xc,xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: BODY_40_59
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_40_59(xa,xb,xc,xd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - xa
    - ','
    - xb
    - ','
    - xc
    - ','
    - xd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: BODY_60_79
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODY_60_79(xa,xb,xc,xd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha_local.h:381,1
    - Dst: BODY_00_15
      Src: /src/openssl/crypto/sha/sha_local.h:383,1
    - Dst: BODY_16_19
      Src: /src/openssl/crypto/sha/sha_local.h:386,1
    - Dst: BODY_20_39
      Src: /src/openssl/crypto/sha/sha_local.h:389,1
    - Dst: BODY_40_59
      Src: /src/openssl/crypto/sha/sha_local.h:393,1
    - Dst: BODY_60_79
      Src: /src/openssl/crypto/sha/sha_local.h:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - c
    - p
    - num
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 417
    functionName: HASH_BLOCK_DATA_ORDER
    functionSourceFile: /src/openssl/crypto/sha/sha_local.h
    functionUses: 0
    functionsReached:
    - BODY_20_39
    - BODY_16_19
    - BODY_60_79
    - BODY_00_15
    - HOST_c2l
    - BODY_40_59
    linkageType: ''
    returnType: void
    signature: void HASH_BLOCK_DATA_ORDER(SHA_CTX *c, const void *p, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: ROL32
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROL32(a, offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ROL32
      Src: /src/openssl/crypto/sha/keccak1600.c:69,1
    - Dst: ROL32
      Src: /src/openssl/crypto/sha/keccak1600.c:70,1
    - Dst: ROL32
      Src: /src/openssl/crypto/sha/keccak1600.c:73,1
    - Dst: ROL32
      Src: /src/openssl/crypto/sha/keccak1600.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - val
    - offset
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: ROL64
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - ROL32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ROL64(uint64_t val, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:145,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:146,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:147,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:148,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 158
    functionName: Theta
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - ROL64
    linkageType: ''
    returnType: void
    signature: void Theta(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:165,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:166,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:167,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:168,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: Rho
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - ROL64
    linkageType: ''
    returnType: void
    signature: void Rho(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/keccak1600.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 212
    functionName: Pi
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Pi(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: Chi
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Chi(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/sha/keccak1600.c:236,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - A
    - i
    argTypes:
    - uint64_t[][]
    - size_t
    assertStmts:
    - condition: (i < OSSL_NELEM(iotas))
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: Iota
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: void Iota(uint64_t A[5][5], size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Theta
      Src: /src/openssl/crypto/sha/keccak1600.c:245,1
    - Dst: Rho
      Src: /src/openssl/crypto/sha/keccak1600.c:246,1
    - Dst: Pi
      Src: /src/openssl/crypto/sha/keccak1600.c:247,1
    - Dst: Chi
      Src: /src/openssl/crypto/sha/keccak1600.c:248,1
    - Dst: Iota
      Src: /src/openssl/crypto/sha/keccak1600.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 251
    functionName: KeccakF1600
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - Theta
    - Rho
    - Pi
    - Iota
    - Chi
    linkageType: ''
    returnType: void
    signature: void KeccakF1600(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/sha/keccak1600.c:269,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:269,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:278,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:279,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:280,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:281,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:282,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:290,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:291,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:293,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:294,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:296,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:297,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:298,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:299,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:300,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:309,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:310,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:311,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:312,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:326,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:327,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:328,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:329,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:330,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:338,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:339,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:340,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:341,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:342,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:350,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:351,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:352,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:353,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:354,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:362,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:363,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:364,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:365,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 2
    argNames:
    - A
    - i
    argTypes:
    - uint64_t[][]
    - size_t
    assertStmts:
    - condition: (i < OSSL_NELEM(iotas))
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 373
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 373
    functionName: Round
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - ROL64
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t A[5][5], size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/openssl/crypto/sha/keccak1600.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: KeccakF1600
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - Round
    linkageType: ''
    returnType: void
    signature: void KeccakF1600(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/sha/keccak1600.c:396,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:396,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:404,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:405,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:406,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:407,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:408,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:445,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:446,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:447,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:448,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:450,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:451,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:452,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:453,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:455,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:456,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:457,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:458,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:460,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:461,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:462,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:463,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:465,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:466,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:467,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:468,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:470,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:471,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:472,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 2
    argNames:
    - A
    - i
    argTypes:
    - uint64_t[][]
    - size_t
    assertStmts:
    - condition: (i < OSSL_NELEM(iotas))
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 516
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 516
    functionName: Round
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 1
    functionsReached:
    - ROL64
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t A[5][5], size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/openssl/crypto/sha/keccak1600.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 525
    functionName: KeccakF1600
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - Round
    linkageType: ''
    returnType: void
    signature: void KeccakF1600(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/sha/keccak1600.c:541,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:541,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:549,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:550,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:551,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:552,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:553,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:556,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:557,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:558,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:559,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:575,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:576,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:577,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:578,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:579,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:595,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:596,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:597,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:598,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:599,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:615,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:616,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:617,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:618,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:619,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:635,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:636,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:637,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:638,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 3
    argNames:
    - R
    - A
    - i
    argTypes:
    - uint64_t[][]
    - uint64_t[][]
    - size_t
    assertStmts:
    - condition: (i < OSSL_NELEM(iotas))
      pos:
        line_end: 540
        line_start: 540
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 654
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 654
    functionName: Round
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 2
    functionsReached:
    - ROL64
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: void Round(uint64_t R[5][5], uint64_t A[5][5], size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round
      Src: /src/openssl/crypto/sha/keccak1600.c:671,1
    - Dst: Round
      Src: /src/openssl/crypto/sha/keccak1600.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 683
    functionName: KeccakF1600
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - Round
    linkageType: ''
    returnType: void
    signature: void KeccakF1600(uint64_t A[5][5])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/sha/keccak1600.c:699,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/sha/keccak1600.c:699,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:708,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:709,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:710,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:711,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:712,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:715,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:716,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:717,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:718,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:726,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:727,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:728,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:729,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:730,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:738,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:739,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:740,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:741,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:742,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:750,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:751,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:752,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:753,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:754,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:762,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:763,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:764,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:765,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:766,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:775,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:776,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:777,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:778,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:779,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:782,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:783,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:784,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:785,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:793,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:794,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:795,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:796,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:797,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:805,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:806,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:807,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:808,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:809,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:817,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:818,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:819,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:820,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:821,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:829,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:830,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:831,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:832,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:833,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:842,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:843,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:844,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:845,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:846,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:849,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:850,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:851,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:852,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:860,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:861,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:862,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:863,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:864,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:872,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:873,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:874,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:875,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:876,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:884,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:885,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:886,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:887,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:888,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:896,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:897,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:898,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:899,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:900,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:909,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:910,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:911,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:912,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:913,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:916,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:917,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:918,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:919,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:927,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:928,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:929,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:930,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:931,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:939,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:940,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:941,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:942,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:943,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:951,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:952,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:953,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:954,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:955,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:963,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:964,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:965,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:966,1
    - Dst: ROL64
      Src: /src/openssl/crypto/sha/keccak1600.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 227
    argCount: 2
    argNames:
    - A
    - i
    argTypes:
    - uint64_t[][]
    - size_t
    assertStmts:
    - condition: (i <= OSSL_NELEM(iotas) - 4)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 974
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 974
    functionName: FourRounds
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - ROL64
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: void FourRounds(uint64_t A[5][5], size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FourRounds
      Src: /src/openssl/crypto/sha/keccak1600.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - A
    argTypes:
    - uint64_t[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 976
    functionDepth: 3
    functionLinenumber: 976
    functionLinenumberEnd: 983
    functionName: KeccakF1600
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - FourRounds
    linkageType: ''
    returnType: void
    signature: void KeccakF1600(uint64_t A[5][5])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - Ai
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1021
    functionName: BitInterleave
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BitInterleave(uint64_t Ai)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - Ai
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1057
    functionName: BitDeinterleave
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BitDeinterleave(uint64_t Ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/sha/keccak1600.c:1075,1
    - Dst: BitInterleave
      Src: /src/openssl/crypto/sha/keccak1600.c:1085,1
    - Dst: KeccakF1600
      Src: /src/openssl/crypto/sha/keccak1600.c:1087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - A
    - inp
    - len
    - r
    argTypes:
    - uint64_t[][]
    - unsigned char*
    - size_t
    - size_t
    assertStmts:
    - condition: (r < (25 * sizeof(A[0][0])) && (r % 8) == 0)
      pos:
        line_end: 1074
        line_start: 1074
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 1092
      start: 1069
    functionDepth: 4
    functionLinenumber: 1069
    functionLinenumberEnd: 1092
    functionName: SHA3_absorb
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - KeccakF1600
    - BitInterleave
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t SHA3_absorb(uint64_t A[5][5], const unsigned char *inp, size_t
      len,\n                   size_t r)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/sha/keccak1600.c:1109,1
    - Dst: KeccakF1600
      Src: /src/openssl/crypto/sha/keccak1600.c:1113,1
    - Dst: BitDeinterleave
      Src: /src/openssl/crypto/sha/keccak1600.c:1116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - A
    - out
    - len
    - r
    - next
    argTypes:
    - uint64_t[][]
    - unsigned char*
    - size_t
    - size_t
    - int
    assertStmts:
    - condition: (r < (25 * sizeof(A[0][0])) && (r % 8) == 0)
      pos:
        line_end: 1108
        line_start: 1108
        source_file: /src/openssl/crypto/sha/keccak1600.c
    constantsTouched: []
    func_position:
      end: 1138
      start: 1103
    functionDepth: 4
    functionLinenumber: 1103
    functionLinenumberEnd: 1138
    functionName: SHA3_squeeze
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - KeccakF1600
    - BitDeinterleave
    - assert
    linkageType: ''
    returnType: void
    signature: "void SHA3_squeeze(uint64_t A[5][5], unsigned char *out, size_t len,
      size_t r,\n                  int next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/keccak1600.c:1158,1
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/keccak1600.c:1159,1
    - Dst: SHA3_squeeze
      Src: /src/openssl/crypto/sha/keccak1600.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - inp
    - len
    - out
    - d
    - r
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1153
    functionDepth: 5
    functionLinenumber: 1153
    functionLinenumberEnd: 1161
    functionName: SHA3_sponge
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 0
    functionsReached:
    - SHA3_squeeze
    - memset
    - SHA3_absorb
    linkageType: ''
    returnType: void
    signature: "void SHA3_sponge(const unsigned char *inp, size_t len,\n                 unsigned
      char *out, size_t d, size_t r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_sponge
      Src: /src/openssl/crypto/sha/keccak1600.c:1241,1
    - Dst: printf
      Src: /src/openssl/crypto/sha/keccak1600.c:1250,1
    - Dst: printf
      Src: /src/openssl/crypto/sha/keccak1600.c:1251,1
    - Dst: memcmp
      Src: /src/openssl/crypto/sha/keccak1600.c:1254,1
    - Dst: fprintf
      Src: /src/openssl/crypto/sha/keccak1600.c:1255,1
    - Dst: fprintf
      Src: /src/openssl/crypto/sha/keccak1600.c:1258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1165
    functionDepth: 6
    functionLinenumber: 1165
    functionLinenumberEnd: 1261
    functionName: main
    functionSourceFile: /src/openssl/crypto/sha/keccak1600.c
    functionUses: 4
    functionsReached:
    - memcmp
    - printf
    - fprintf
    - SHA3_sponge
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Init
      Src: /src/openssl/crypto/sha/sha1_one.c:30,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/sha/sha1_one.c:32,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/sha/sha1_one.c:33,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/sha/sha1_one.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: ossl_sha1
    functionSourceFile: /src/openssl/crypto/sha/sha1_one.c
    functionUses: 2
    functionsReached:
    - SHA1_Init
    - OPENSSL_cleanse
    - SHA1_Update
    - SHA1_Final
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ossl_sha1(const unsigned char *d, size_t n, unsigned
      char *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Q_digest
      Src: /src/openssl/crypto/sha/sha1_one.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 10
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: SHA1
    functionSourceFile: /src/openssl/crypto/sha/sha1_one.c
    functionUses: 1
    functionsReached:
    - EVP_Q_digest
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Q_digest
      Src: /src/openssl/crypto/sha/sha1_one.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 10
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: SHA224
    functionSourceFile: /src/openssl/crypto/sha/sha1_one.c
    functionUses: 0
    functionsReached:
    - EVP_Q_digest
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Q_digest
      Src: /src/openssl/crypto/sha/sha1_one.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 10
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: SHA256
    functionSourceFile: /src/openssl/crypto/sha/sha1_one.c
    functionUses: 0
    functionsReached:
    - EVP_Q_digest
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Q_digest
      Src: /src/openssl/crypto/sha/sha1_one.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 10
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: SHA384
    functionSourceFile: /src/openssl/crypto/sha/sha1_one.c
    functionUses: 0
    functionsReached:
    - EVP_Q_digest
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Q_digest
      Src: /src/openssl/crypto/sha/sha1_one.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 10
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: SHA512
    functionSourceFile: /src/openssl/crypto/sha/sha1_one.c
    functionUses: 0
    functionsReached:
    - EVP_Q_digest
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha256.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: SHA224_Init
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int SHA224_Init(SHA256_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha256.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: SHA256_Init
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int SHA256_Init(SHA256_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Init
      Src: /src/openssl/crypto/sha/sha256.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: ossl_sha256_192_init
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 0
    functionsReached:
    - SHA256_Init
    linkageType: ''
    returnType: int
    signature: int ossl_sha256_192_init(SHA256_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/openssl/crypto/sha/sha256.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: SHA224_Update
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 0
    functionsReached:
    - SHA256_Update
    linkageType: ''
    returnType: int
    signature: int SHA224_Update(SHA256_CTX *c, const void *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Final
      Src: /src/openssl/crypto/sha/sha256.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - SHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: SHA224_Final
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 0
    functionsReached:
    - SHA256_Final
    linkageType: ''
    returnType: int
    signature: int SHA224_Final(unsigned char *md, SHA256_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: HASH_MAKE_STRING
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_STRING(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: Sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: Sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: Ch
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: Maj
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: Sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: Sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: sigma0
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: sigma1
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: Ch
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: Maj
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:232,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha256.c:234,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha256.c:234,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha256.c:235,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha256.c:235,1
    - Dst: sigma0
      Src: /src/openssl/crypto/sha/sha256.c:248,1
    - Dst: sigma1
      Src: /src/openssl/crypto/sha/sha256.c:250,1
    - Dst: Sigma1
      Src: /src/openssl/crypto/sha/sha256.c:253,1
    - Dst: Ch
      Src: /src/openssl/crypto/sha/sha256.c:253,1
    - Dst: Sigma0
      Src: /src/openssl/crypto/sha/sha256.c:254,1
    - Dst: Maj
      Src: /src/openssl/crypto/sha/sha256.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 275
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached:
    - Sigma0
    - Maj
    - Ch
    - Sigma1
    - HOST_c2l
    - sigma0
    - sigma1
    linkageType: ''
    returnType: void
    signature: "void sha256_block_data_order(SHA256_CTX *ctx, const void *in,\n                                    size_t
      num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: ROUND_00_15
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_00_15(i,a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: ROUND_16_63
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_16_63(i,a,b,c,d,e,f,g,h,X)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:319,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:321,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:323,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:325,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:327,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:329,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:331,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:333,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:335,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:337,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:339,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:341,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:343,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:345,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:347,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:349,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:355,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:357,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:358,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:360,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:361,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:363,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:364,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:366,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:367,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:369,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:370,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:372,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:373,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:375,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:376,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:378,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:379,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:381,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:382,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:384,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:385,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:387,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:388,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:390,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:391,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:393,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:394,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:396,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:397,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:399,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sha/sha256.c:400,1
    - Dst: ROUND_00_15
      Src: /src/openssl/crypto/sha/sha256.c:402,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:406,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:407,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:408,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:409,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:410,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:411,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:412,1
    - Dst: ROUND_16_63
      Src: /src/openssl/crypto/sha/sha256.c:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 114
    argCount: 3
    argNames:
    - ctx
    - in
    - num
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 426
    functionName: sha256_block_data_order
    functionSourceFile: /src/openssl/crypto/sha/sha256.c
    functionUses: 2
    functionsReached:
    - ROUND_00_15
    - HOST_c2l
    - ROUND_16_63
    linkageType: ''
    returnType: void
    signature: "void sha256_block_data_order(SHA256_CTX *ctx, const void *in,\n                                    size_t
      num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/sha/sha3.c:21,1
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha3.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - KECCAK1600_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: ossl_sha3_reset
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - S390X_CAPBIT
    - memset
    linkageType: ''
    returnType: void
    signature: void ossl_sha3_reset(KECCAK1600_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHA3_BLOCKSIZE
      Src: /src/openssl/crypto/sha/sha3.c:30,1
    - Dst: ossl_sha3_reset
      Src: /src/openssl/crypto/sha/sha3.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - pad
    - bitlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: ossl_sha3_init
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - SHA3_BLOCKSIZE
    - ossl_sha3_reset
    linkageType: ''
    returnType: int
    signature: int ossl_sha3_init(KECCAK1600_CTX *ctx, unsigned char pad, size_t bitlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sha3_init
      Src: /src/openssl/crypto/sha/sha3.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - pad
    - bitlen
    - mdlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ossl_keccak_init
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - ossl_sha3_init
    linkageType: ''
    returnType: int
    signature: int ossl_keccak_init(KECCAK1600_CTX *ctx, unsigned char pad, size_t
      bitlen, size_t mdlen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:69,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:78,1
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/sha3.c:80,1
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/sha3.c:86,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - _inp
    - len
    argTypes:
    - KECCAK1600_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 96
    functionName: ossl_sha3_update
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SHA3_absorb
    linkageType: ''
    returnType: int
    signature: int ossl_sha3_update(KECCAK1600_CTX *ctx, const void *_inp, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha3.c:119,1
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/sha3.c:123,1
    - Dst: SHA3_squeeze
      Src: /src/openssl/crypto/sha/sha3.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: ossl_sha3_final
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - SHA3_squeeze
    - memset
    - SHA3_absorb
    linkageType: ''
    returnType: int
    signature: int ossl_sha3_final(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sha/sha3.c:164,1
    - Dst: SHA3_absorb
      Src: /src/openssl/crypto/sha/sha3.c:167,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:182,1
    - Dst: SHA3_squeeze
      Src: /src/openssl/crypto/sha/sha3.c:193,1
    - Dst: SHA3_squeeze
      Src: /src/openssl/crypto/sha/sha3.c:200,1
    - Dst: memcpy
      Src: /src/openssl/crypto/sha/sha3.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - out
    - outlen
    argTypes:
    - KECCAK1600_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 140
    functionDepth: 5
    functionLinenumber: 140
    functionLinenumberEnd: 207
    functionName: ossl_sha3_squeeze
    functionSourceFile: /src/openssl/crypto/sha/sha3.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SHA3_squeeze
    - memset
    - SHA3_absorb
    linkageType: ''
    returnType: int
    signature: int ossl_sha3_squeeze(KECCAK1600_CTX *ctx, unsigned char *out, size_t
      outlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SEED_encrypt
      Src: /src/openssl/crypto/seed/seed_ecb.c:22,1
    - Dst: SEED_decrypt
      Src: /src/openssl/crypto/seed/seed_ecb.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - SEED_KEY_SCHEDULE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: SEED_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/seed/seed_ecb.c
    functionUses: 0
    functionsReached:
    - SEED_encrypt
    - SEED_decrypt
    linkageType: ''
    returnType: void
    signature: "void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     const SEED_KEY_SCHEDULE *ks, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/openssl/crypto/seed/seed_ofb.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - len
    - ks
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - SEED_KEY_SCHEDULE*
    - unsigned char[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: SEED_ofb128_encrypt
    functionSourceFile: /src/openssl/crypto/seed/seed_ofb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: "void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out,\n
      \                        size_t len, const SEED_KEY_SCHEDULE *ks,\n                         unsigned
      char ivec[SEED_BLOCK_SIZE], int *num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/openssl/crypto/seed/seed_cfb.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - len
    - ks
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - SEED_KEY_SCHEDULE*
    - unsigned char[]
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: SEED_cfb128_encrypt
    functionSourceFile: /src/openssl/crypto/seed/seed_cfb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: "void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out,\n
      \                        size_t len, const SEED_KEY_SCHEDULE *ks,\n                         unsigned
      char ivec[SEED_BLOCK_SIZE], int *num,\n                         int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: G_FUNC
    functionSourceFile: /src/openssl/crypto/seed/seed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_FUNC(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: G_FUNC
    functionSourceFile: /src/openssl/crypto/seed/seed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int G_FUNC(unsigned int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:452,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:453,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:454,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:455,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:459,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:460,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:461,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:464,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:465,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:466,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:467,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:468,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:469,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:470,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:471,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:472,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:473,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:474,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:475,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:476,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:477,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:478,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:479,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:480,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:481,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:482,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:483,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:484,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:485,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:486,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:487,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:488,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:489,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:490,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:491,1
    - Dst: KEYSCHEDULE_UPDATE0
      Src: /src/openssl/crypto/seed/seed.c:496,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:497,1
    - Dst: KEYSCHEDULE_UPDATE1
      Src: /src/openssl/crypto/seed/seed.c:498,1
    - Dst: KEYUPDATE_TEMP
      Src: /src/openssl/crypto/seed/seed.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 2
    argNames:
    - rawkey
    - ks
    argTypes:
    - unsigned char[]
    - SEED_KEY_SCHEDULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 503
    functionName: SEED_set_key
    functionSourceFile: /src/openssl/crypto/seed/seed.c
    functionUses: 1
    functionsReached:
    - char2word
    - KEYSCHEDULE_UPDATE0
    - KEYSCHEDULE_UPDATE1
    - KEYUPDATE_TEMP
    linkageType: ''
    returnType: void
    signature: "void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH],\n                  SEED_KEY_SCHEDULE
      *ks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:512,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:513,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:514,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:515,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:518,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:519,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:520,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:521,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:522,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:523,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:524,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:525,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:526,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:527,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:528,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:529,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:530,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:531,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:532,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:533,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:538,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:539,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:544,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:545,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:546,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 3
    argNames:
    - s
    - d
    - ks
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - SEED_KEY_SCHEDULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 548
    functionName: SEED_encrypt
    functionSourceFile: /src/openssl/crypto/seed/seed.c
    functionUses: 1
    functionsReached:
    - char2word
    - word2char
    - E_SEED
    linkageType: ''
    returnType: void
    signature: "void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE],\n                  unsigned
      char d[SEED_BLOCK_SIZE],\n                  const SEED_KEY_SCHEDULE *ks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:557,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:558,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:559,1
    - Dst: char2word
      Src: /src/openssl/crypto/seed/seed.c:560,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:563,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:564,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:565,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:566,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:567,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:568,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:569,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:570,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:571,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:572,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:573,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:574,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:575,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:576,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:577,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:578,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:583,1
    - Dst: E_SEED
      Src: /src/openssl/crypto/seed/seed.c:584,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:590,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:591,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:592,1
    - Dst: word2char
      Src: /src/openssl/crypto/seed/seed.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 3
    argNames:
    - s
    - d
    - ks
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - SEED_KEY_SCHEDULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 594
    functionName: SEED_decrypt
    functionSourceFile: /src/openssl/crypto/seed/seed.c
    functionUses: 1
    functionsReached:
    - char2word
    - word2char
    - E_SEED
    linkageType: ''
    returnType: void
    signature: "void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE],\n                  unsigned
      char d[SEED_BLOCK_SIZE],\n                  const SEED_KEY_SCHEDULE *ks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/seed/seed_cbc.c:24,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/seed/seed_cbc.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - in
    - out
    - len
    - ks
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - SEED_KEY_SCHEDULE*
    - unsigned char[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: SEED_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/seed/seed_cbc.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: void
    signature: "void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     size_t len, const SEED_KEY_SCHEDULE *ks,\n                      unsigned
      char ivec[SEED_BLOCK_SIZE], int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: char2word
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: char2word(c, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: word2char
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: word2char(l, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - X1
    - ','
    - X2
    - ','
    - X3
    - ','
    - X4
    - ','
    - KC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: KEYSCHEDULE_UPDATE0
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEYSCHEDULE_UPDATE0(T0, T1, X1, X2, X3, X4, KC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - X1
    - ','
    - X2
    - ','
    - X3
    - ','
    - X4
    - ','
    - KC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: KEYSCHEDULE_UPDATE1
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEYSCHEDULE_UPDATE1(T0, T1, X1, X2, X3, X4, KC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - K
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: KEYUPDATE_TEMP
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEYUPDATE_TEMP(T0, T1, K)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DST
    - ','
    - SRC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: XOR_SEEDBLOCK
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XOR_SEEDBLOCK(DST, SRC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DST
    - ','
    - SRC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: MOV_SEEDBLOCK
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOV_SEEDBLOCK(DST, SRC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - C
    - ','
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: CHAR2WORD
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAR2WORD(C, I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - I
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: WORD2CHAR
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WORD2CHAR(I, C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - T0
    - ','
    - T1
    - ','
    - X1
    - ','
    - X2
    - ','
    - X3
    - ','
    - X4
    - ','
    - rbase
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: E_SEED
    functionSourceFile: /src/openssl/crypto/seed/seed_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E_SEED(T0, T1, X1, X2, X3, X4, rbase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: U32TO8_LITTLE
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32TO8_LITTLE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: QUARTERROUND
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUARTERROUND(a,b,c,d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/chacha/chacha_enc.c:71,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:74,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:75,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:76,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:77,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:78,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:79,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:80,1
    - Dst: QUARTERROUND
      Src: /src/openssl/crypto/chacha/chacha_enc.c:81,1
    - Dst: U32TO8_LITTLE
      Src: /src/openssl/crypto/chacha/chacha_enc.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - chacha_buf*
    - u32[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: chacha20_core
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - U32TO8_LITTLE
    - QUARTERROUND
    linkageType: ''
    returnType: void
    signature: void chacha20_core(chacha_buf *output, const u32 input[16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:106,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:106,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:107,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:108,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:109,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:109,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:110,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:111,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:112,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:112,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:113,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:114,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:115,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:115,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:116,1
    - Dst: ossl_toascii
      Src: /src/openssl/crypto/chacha/chacha_enc.c:117,1
    - Dst: chacha20_core
      Src: /src/openssl/crypto/chacha/chacha_enc.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - out
    - inp
    - len
    - key
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned int[]
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 154
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/openssl/crypto/chacha/chacha_enc.c
    functionUses: 3
    functionsReached:
    - ossl_toascii
    - chacha20_core
    linkageType: ''
    returnType: void
    signature: "void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
      size_t len,\n                    const unsigned int key[8], const unsigned int
      counter[4])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:54,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:54,1
    - Dst: RISCV_HAS_ZVKB
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:55,1
    - Dst: ChaCha20_ctr32_v_zbb_zvkb
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:56,1
    - Dst: ChaCha20_ctr32_v_zbb
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:58,1
    - Dst: ChaCha20_ctr32_c
      Src: /src/openssl/crypto/chacha/chacha_riscv.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - out
    - inp
    - len
    - key
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned int[]
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/openssl/crypto/chacha/chacha_riscv.c
    functionUses: 3
    functionsReached:
    - ChaCha20_ctr32_v_zbb
    - ChaCha20_ctr32_v_zbb_zvkb
    - RISCV_HAS_ZVKB
    - RISCV_HAS_ZBB
    - riscv_vlen
    - ChaCha20_ctr32_c
    linkageType: ''
    returnType: void
    signature: "void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
      size_t len,\n                    const unsigned int key[8], const unsigned int
      counter[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20_ctr32_vsx_p10
      Src: /src/openssl/crypto/chacha/chacha_ppc.c:35,1
    - Dst: ChaCha20_ctr32_vsx
      Src: /src/openssl/crypto/chacha/chacha_ppc.c:38,1
    - Dst: ChaCha20_ctr32_vmx
      Src: /src/openssl/crypto/chacha/chacha_ppc.c:40,1
    - Dst: ChaCha20_ctr32_int
      Src: /src/openssl/crypto/chacha/chacha_ppc.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - out
    - inp
    - len
    - key
    - counter
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned int[]
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/openssl/crypto/chacha/chacha_ppc.c
    functionUses: 3
    functionsReached:
    - ChaCha20_ctr32_int
    - ChaCha20_ctr32_vmx
    - ChaCha20_ctr32_vsx_p10
    - ChaCha20_ctr32_vsx
    linkageType: ''
    returnType: void
    signature: "void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,\n
      \                   size_t len, const unsigned int key[8],\n                    const
      unsigned int counter[4])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/crypto/dh/dh_group_params.c:29,1
    - Dst: ossl_ffc_named_group_set
      Src: /src/openssl/crypto/dh/dh_group_params.c:34,1
    - Dst: ossl_ffc_named_group_get_uid
      Src: /src/openssl/crypto/dh/dh_group_params.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - group
    argTypes:
    - OSSL_LIB_CTX*
    - DH_NAMED_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: dh_param_init
    functionSourceFile: /src/openssl/crypto/dh/dh_group_params.c
    functionUses: 0
    functionsReached:
    - ossl_dh_new_ex
    - ossl_ffc_named_group_get_uid
    - ossl_ffc_named_group_set
    linkageType: ''
    returnType: DH
    signature: DH *dh_param_init(OSSL_LIB_CTX *libctx, const DH_NAMED_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_uid_to_dh_named_group
      Src: /src/openssl/crypto/dh/dh_group_params.c:44,1
    - Dst: dh_param_init
      Src: /src/openssl/crypto/dh/dh_group_params.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_group_params.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - libctx
    - nid
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: ossl_dh_new_by_nid_ex
    functionSourceFile: /src/openssl/crypto/dh/dh_group_params.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - dh_param_init
    - ossl_ffc_uid_to_dh_named_group
    linkageType: ''
    returnType: DH
    signature: DH *ossl_dh_new_by_nid_ex(OSSL_LIB_CTX *libctx, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_new_by_nid_ex
      Src: /src/openssl/crypto/dh/dh_group_params.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: DH_new_by_nid
    functionSourceFile: /src/openssl/crypto/dh/dh_group_params.c
    functionUses: 0
    functionsReached:
    - ossl_dh_new_by_nid_ex
    linkageType: ''
    returnType: DH
    signature: DH *DH_new_by_nid(int nid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_numbers_to_dh_named_group
      Src: /src/openssl/crypto/dh/dh_group_params.c:70,1
    - Dst: ossl_ffc_named_group_get_q
      Src: /src/openssl/crypto/dh/dh_group_params.c:74,1
    - Dst: ossl_ffc_named_group_get_uid
      Src: /src/openssl/crypto/dh/dh_group_params.c:76,1
    - Dst: ossl_ffc_named_group_get_keylength
      Src: /src/openssl/crypto/dh/dh_group_params.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: ossl_dh_cache_named_group
    functionSourceFile: /src/openssl/crypto/dh/dh_group_params.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_named_group_get_keylength
    - ossl_ffc_numbers_to_dh_named_group
    - ossl_ffc_named_group_get_uid
    - ossl_ffc_named_group_get_q
    linkageType: ''
    returnType: void
    signature: void ossl_dh_cache_named_group(DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_get_nid
      Src: /src/openssl/crypto/dh/dh_group_params.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: ossl_dh_is_named_safe_prime_group
    functionSourceFile: /src/openssl/crypto/dh/dh_group_params.c
    functionUses: 1
    functionsReached:
    - DH_get_nid
    linkageType: ''
    returnType: int
    signature: int ossl_dh_is_named_safe_prime_group(const DH *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: DH_get_nid
    functionSourceFile: /src/openssl/crypto/dh/dh_group_params.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_get_nid(const DH *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DHxparams
      Src: /src/openssl/crypto/dh/dh_ameth.c:41,1
    - Dst: d2i_DHparams
      Src: /src/openssl/crypto/dh/dh_ameth.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pp
    - length
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: d2i_dhp
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - d2i_DHxparams
    - d2i_DHparams
    linkageType: ''
    returnType: DH
    signature: "DH *d2i_dhp(const EVP_PKEY *pkey, const unsigned char **pp,\n                   long
      length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_DHxparams
      Src: /src/openssl/crypto/dh/dh_ameth.c:51,1
    - Dst: i2d_DHparams
      Src: /src/openssl/crypto/dh/dh_ameth.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pkey
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - DH*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: i2d_dhp
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - i2d_DHxparams
    - i2d_DHparams
    linkageType: ''
    returnType: int
    signature: int i2d_dhp(const EVP_PKEY *pkey, const DH *a, unsigned char **pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: int_dh_free
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_free
    linkageType: ''
    returnType: void
    signature: void int_dh_free(EVP_PKEY *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/dh/dh_ameth.c:72,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/dh/dh_ameth.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:77,1
    - Dst: d2i_dhp
      Src: /src/openssl/crypto/dh/dh_ameth.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:86,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/openssl/crypto/dh/dh_ameth.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:91,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/dh/dh_ameth.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:97,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:101,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/dh/dh_ameth.c:102,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:106,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 109
    functionName: dh_pub_decode
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_PUBKEY_get0_param
    - d2i_ASN1_INTEGER
    - EVP_PKEY_assign
    - X509_ALGOR_get0
    - d2i_dhp
    - ASN1_INTEGER_to_BN
    - ASN1_INTEGER_free
    - DH_free
    linkageType: ''
    returnType: int
    signature: int dh_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/dh/dh_ameth.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:124,1
    - Dst: i2d_dhp
      Src: /src/openssl/crypto/dh/dh_ameth.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:129,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/dh/dh_ameth.c:134,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/crypto/dh/dh_ameth.c:138,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:143,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/crypto/dh/dh_ameth.c:147,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/dh/dh_ameth.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:152,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 156
    functionName: dh_pub_encode
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - i2d_ASN1_INTEGER
    - ASN1_STRING_new
    - ASN1_STRING_free
    - X509_PUBKEY_set0_param
    - i2d_dhp
    - ASN1_INTEGER_free
    - OPENSSL_free
    - OBJ_nid2obj
    - BN_to_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: int dh_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_key_from_pkcs8
      Src: /src/openssl/crypto/dh/dh_ameth.c:167,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/dh/dh_ameth.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - p8
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: dh_priv_decode
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - ossl_dh_key_from_pkcs8
    linkageType: ''
    returnType: int
    signature: int dh_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/dh/dh_ameth.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:187,1
    - Dst: i2d_dhp
      Src: /src/openssl/crypto/dh/dh_ameth.c:191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:193,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/dh/dh_ameth.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:202,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/crypto/dh/dh_ameth.c:206,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:211,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/crypto/dh/dh_ameth.c:215,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/dh/dh_ameth.c:215,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:217,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 225
    functionName: dh_priv_encode
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - PKCS8_pkey_set0
    - ERR_raise
    - ASN1_STRING_clear_free
    - i2d_ASN1_INTEGER
    - OPENSSL_clear_free
    - ASN1_STRING_new
    - ASN1_STRING_free
    - i2d_dhp
    - OBJ_nid2obj
    - BN_to_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: int dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_dhp
      Src: /src/openssl/crypto/dh/dh_ameth.c:232,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/dh/dh_ameth.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: dh_param_decode
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - d2i_dhp
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: "int dh_param_decode(EVP_PKEY *pkey,\n                           const
      unsigned char **pder, int derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_dhp
      Src: /src/openssl/crypto/dh/dh_ameth.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: dh_param_encode
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - i2d_dhp
    linkageType: ''
    returnType: int
    signature: int dh_param_encode(const EVP_PKEY *pkey, unsigned char **pder)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/crypto/dh/dh_ameth.c:273,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/dh/dh_ameth.c:274,1
    - Dst: DH_bits
      Src: /src/openssl/crypto/dh/dh_ameth.c:274,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dh/dh_ameth.c:278,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dh/dh_ameth.c:280,1
    - Dst: ossl_ffc_params_print
      Src: /src/openssl/crypto/dh/dh_ameth.c:283,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/dh/dh_ameth.c:287,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/dh/dh_ameth.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:296,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 4
    argNames:
    - bp
    - x
    - indent
    - ptype
    argTypes:
    - BIO*
    - DH*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 298
    functionName: do_dh_print
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_bits
    - ERR_raise
    - ASN1_bn_print
    - ossl_ffc_params_print
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int do_dh_print(BIO *bp, const DH *x, int indent, int ptype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_size
      Src: /src/openssl/crypto/dh/dh_ameth.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: int_dh_size
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_size
    linkageType: ''
    returnType: int
    signature: int int_dh_size(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_bits
      Src: /src/openssl/crypto/dh/dh_ameth.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: dh_bits
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_bits
    linkageType: ''
    returnType: int
    signature: int dh_bits(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_security_bits
      Src: /src/openssl/crypto/dh/dh_ameth.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: dh_security_bits
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_security_bits
    linkageType: ''
    returnType: int
    signature: int dh_security_bits(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_cmp
      Src: /src/openssl/crypto/dh/dh_ameth.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: dh_cmp_parameters
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_cmp
    linkageType: ''
    returnType: int
    signature: int dh_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dh/dh_ameth.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - to
    - from
    - is_x942
    argTypes:
    - DH*
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: int_dh_param_copy
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_copy
    linkageType: ''
    returnType: int
    signature: int int_dh_param_copy(DH *to, const DH *from, int is_x942)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/openssl/crypto/dh/dh_ameth.c:336,1
    - Dst: int_dh_param_copy
      Src: /src/openssl/crypto/dh/dh_ameth.c:339,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: DHparams_dup
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_free
    - DH_new
    - int_dh_param_copy
    linkageType: ''
    returnType: DH
    signature: DH *DHparams_dup(const DH *dh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/openssl/crypto/dh/dh_ameth.c:349,1
    - Dst: int_dh_param_copy
      Src: /src/openssl/crypto/dh/dh_ameth.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: dh_copy_parameters
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_new
    - int_dh_param_copy
    linkageType: ''
    returnType: int
    signature: int dh_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: dh_missing_parameters
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dh_missing_parameters(const EVP_PKEY *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dh_cmp_parameters
      Src: /src/openssl/crypto/dh/dh_ameth.c:366,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_ameth.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: dh_pub_cmp
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - dh_cmp_parameters
    linkageType: ''
    returnType: int
    signature: int dh_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_print
      Src: /src/openssl/crypto/dh/dh_ameth.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: dh_param_print
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - do_dh_print
    linkageType: ''
    returnType: int
    signature: "int dh_param_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                          ASN1_PCTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_print
      Src: /src/openssl/crypto/dh/dh_ameth.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: dh_public_print
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - do_dh_print
    linkageType: ''
    returnType: int
    signature: "int dh_public_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                           ASN1_PCTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_print
      Src: /src/openssl/crypto/dh/dh_ameth.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: dh_private_print
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - do_dh_print
    linkageType: ''
    returnType: int
    signature: "int dh_private_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n
      \                           ASN1_PCTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_print
      Src: /src/openssl/crypto/dh/dh_ameth.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: DHparams_print
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - do_dh_print
    linkageType: ''
    returnType: int
    signature: int DHparams_print(BIO *bp, const DH *x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/dh/dh_ameth.c:403,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/dh/dh_ameth.c:403,1
    - Dst: evp_pkey_get0_DH_int
      Src: /src/openssl/crypto/dh/dh_ameth.c:405,1
    - Dst: ossl_dh_buf2key
      Src: /src/openssl/crypto/dh/dh_ameth.c:408,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/dh/dh_ameth.c:410,1
    - Dst: ossl_dh_key2buf
      Src: /src/openssl/crypto/dh/dh_ameth.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 417
    functionName: dh_pkey_ctrl
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_dh_buf2key
    - ossl_dh_key2buf
    - evp_pkey_get0_DH_int
    - EVP_PKEY_get0_DH
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: int dh_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: dhx_pkey_ctrl
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dhx_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:433,1
    - Dst: DH_check_pub_key_ex
      Src: /src/openssl/crypto/dh/dh_ameth.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 438
    functionName: dh_pkey_public_check
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - DH_check_pub_key_ex
    linkageType: ''
    returnType: int
    signature: int dh_pkey_public_check(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_check_ex
      Src: /src/openssl/crypto/dh/dh_ameth.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: dh_pkey_param_check
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_check_ex
    linkageType: ''
    returnType: int
    signature: int dh_pkey_param_check(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: dh_pkey_dirty_cnt
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dh_pkey_dirty_cnt(const EVP_PKEY *pkey)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_p
      Src: /src/openssl/crypto/dh/dh_ameth.c:458,1
    - Dst: DH_get0_g
      Src: /src/openssl/crypto/dh/dh_ameth.c:458,1
    - Dst: DH_get0_q
      Src: /src/openssl/crypto/dh/dh_ameth.c:458,1
    - Dst: DH_get_length
      Src: /src/openssl/crypto/dh/dh_ameth.c:459,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/crypto/dh/dh_ameth.c:460,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/crypto/dh/dh_ameth.c:461,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/dh/dh_ameth.c:469,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dh/dh_ameth.c:472,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dh/dh_ameth.c:473,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dh/dh_ameth.c:476,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/openssl/crypto/dh/dh_ameth.c:481,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dh/dh_ameth.c:486,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dh/dh_ameth.c:491,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/dh/dh_ameth.c:497,1
    - Dst: importer
      Src: /src/openssl/crypto/dh/dh_ameth.c:501,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:503,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:505,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 452
    functionDepth: 4
    functionLinenumber: 452
    functionLinenumberEnd: 507
    functionName: dh_pkey_export_to
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_get_length
    - OSSL_PARAM_free
    - DH_get0_g
    - OSSL_PARAM_BLD_push_long
    - DH_get0_priv_key
    - OSSL_PARAM_BLD_push_BN
    - DH_get0_p
    - importer
    - DH_get0_q
    - DH_get0_pub_key
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int dh_pkey_export_to(const EVP_PKEY *from, void *to_keydata,\n                             OSSL_FUNC_keymgmt_import_fn
      *importer,\n                             OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/dh/dh_ameth.c:513,1
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/crypto/dh/dh_ameth.c:514,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_ameth.c:517,1
    - Dst: DH_clear_flags
      Src: /src/openssl/crypto/dh/dh_ameth.c:520,1
    - Dst: DH_set_flags
      Src: /src/openssl/crypto/dh/dh_ameth.c:521,1
    - Dst: ossl_dh_params_fromdata
      Src: /src/openssl/crypto/dh/dh_ameth.c:523,1
    - Dst: ossl_dh_key_fromdata
      Src: /src/openssl/crypto/dh/dh_ameth.c:524,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/dh/dh_ameth.c:525,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - params
    - vpctx
    - type
    argTypes:
    - OSSL_PARAM[]
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 530
    functionName: dh_pkey_import_from_type
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - DH_clear_flags
    - ERR_raise
    - EVP_PKEY_assign
    - EVP_PKEY_CTX_get0_pkey
    - ossl_dh_new_ex
    - ossl_dh_key_fromdata
    - DH_set_flags
    - ossl_dh_params_fromdata
    - DH_free
    linkageType: ''
    returnType: int
    signature: "int dh_pkey_import_from_type(const OSSL_PARAM params[], void *vpctx,\n
      \                                   int type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_pkey_import_from_type
      Src: /src/openssl/crypto/dh/dh_ameth.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 4
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: dh_pkey_import_from
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - dh_pkey_import_from_type
    linkageType: ''
    returnType: int
    signature: int dh_pkey_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_pkey_import_from_type
      Src: /src/openssl/crypto/dh/dh_ameth.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: dhx_pkey_import_from
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - dh_pkey_import_from_type
    linkageType: ''
    returnType: int
    signature: int dhx_pkey_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_dup
      Src: /src/openssl/crypto/dh/dh_ameth.c:549,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/dh/dh_ameth.c:554,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_ameth.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 558
    functionName: dh_pkey_copy
    functionSourceFile: /src/openssl/crypto/dh/dh_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - DH_free
    - ossl_dh_dup
    linkageType: ''
    returnType: int
    signature: int dh_pkey_copy(EVP_PKEY *to, EVP_PKEY *from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dh/dh_meth.c:22,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dh/dh_meth.c:27,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_meth.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: DH_meth_new
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: DH_METHOD
    signature: DH_METHOD *DH_meth_new(const char *name, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_meth.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_meth.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: DH_meth_free
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void DH_meth_free(DH_METHOD *dhm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dh/dh_meth.c:47,1
    - Dst: memcpy
      Src: /src/openssl/crypto/dh/dh_meth.c:50,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dh/dh_meth.c:52,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_meth.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: DH_meth_dup
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_free
    - OPENSSL_strdup
    - OPENSSL_malloc
    linkageType: ''
    returnType: DH_METHOD
    signature: DH_METHOD *DH_meth_dup(const DH_METHOD *dhm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: DH_meth_get0_name
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *DH_meth_get0_name(const DH_METHOD *dhm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dh/dh_meth.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_meth.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dhm
    - name
    argTypes:
    - DH_METHOD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: DH_meth_set1_name
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int DH_meth_set1_name(DH_METHOD *dhm, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: DH_meth_get_flags
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_meth_get_flags(const DH_METHOD *dhm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dhm
    - flags
    argTypes:
    - DH_METHOD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: DH_meth_set_flags
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_meth_set_flags(DH_METHOD *dhm, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: DH_meth_get0_app_data
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *DH_meth_get0_app_data(const DH_METHOD *dhm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dhm
    - app_data
    argTypes:
    - DH_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: DH_meth_set0_app_data
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *)
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*DH_meth_get_generate_key(const DH_METHOD *dhm)) (DH *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: DH_meth_set_generate_key
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_meth_set_generate_key(DH_METHOD *dhm, int (*generate_key) (DH
      *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: "(*DH_meth_get_compute_key(const DH_METHOD *dhm))\n        (unsigned
      char *key, const BIGNUM *pub_key, DH *dh)"
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*DH_meth_get_compute_key(const DH_METHOD *dhm))\n        (unsigned
      char *key, const BIGNUM *pub_key, DH *dh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: DH_meth_set_compute_key
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DH_meth_set_compute_key(DH_METHOD *dhm,\n        int (*compute_key)
      (unsigned char *key, const BIGNUM *pub_key, DH *dh))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: "(*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm))\n    (const DH
      *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *,\n     BN_CTX *,
      BN_MONT_CTX *)"
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*DH_meth_get_bn_mod_exp(const DH_METHOD *dhm))\n    (const DH
      *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *,\n     BN_CTX *,
      BN_MONT_CTX *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: DH_meth_set_bn_mod_exp
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DH_meth_set_bn_mod_exp(DH_METHOD *dhm,\n    int (*bn_mod_exp)
      (const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *,\n                       const
      BIGNUM *, BN_CTX *, BN_MONT_CTX *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: (*DH_meth_get_init(const DH_METHOD *dhm))(DH *)
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*DH_meth_get_init(const DH_METHOD *dhm))(DH *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: DH_meth_set_init
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_meth_set_init(DH_METHOD *dhm, int (*init)(DH *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *)
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*DH_meth_get_finish(const DH_METHOD *dhm)) (DH *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: DH_meth_set_finish
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_meth_set_finish(DH_METHOD *dhm, int (*finish) (DH *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: "(*DH_meth_get_generate_params(const DH_METHOD *dhm))\n        (DH
      *, int, int, BN_GENCB *)"
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*DH_meth_get_generate_params(const DH_METHOD *dhm))\n        (DH
      *, int, int, BN_GENCB *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dhm
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: DH_meth_set_generate_params
    functionSourceFile: /src/openssl/crypto/dh/dh_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DH_meth_set_generate_params(DH_METHOD *dhm,\n        int (*generate_params)
      (DH *, int, int, BN_GENCB *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: make_dh
    functionSourceFile: /src/openssl/crypto/dh/dh_rfc5114.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_dh(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/dh/dh_kdf.c:38,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/dh/dh_kdf.c:40,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/dh/dh_kdf.c:43,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/dh/dh_kdf.c:47,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/dh/dh_kdf.c:49,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/dh/dh_kdf.c:52,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/dh/dh_kdf.c:54,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/dh/dh_kdf.c:56,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/dh/dh_kdf.c:57,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/dh/dh_kdf.c:59,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/dh/dh_kdf.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 10
    argNames:
    - out
    - outlen
    - Z
    - Zlen
    - cek_alg
    - ukm
    - ukmlen
    - md
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - char*
    - unsigned char*
    - size_t
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 62
    functionName: ossl_dh_kdf_X9_42_asn1
    functionSourceFile: /src/openssl/crypto/dh/dh_kdf.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int ossl_dh_kdf_X9_42_asn1(unsigned char *out, size_t outlen,\n                           const
      unsigned char *Z, size_t Zlen,\n                           const char *cek_alg,\n
      \                          const unsigned char *ukm, size_t ukmlen,\n                           const
      EVP_MD *md,\n                           OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/dh/dh_kdf.c:71,1
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/dh/dh_kdf.c:72,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/dh/dh_kdf.c:74,1
    - Dst: ossl_dh_kdf_X9_42_asn1
      Src: /src/openssl/crypto/dh/dh_kdf.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - out
    - outlen
    - Z
    - Zlen
    - key_oid
    - ukm
    - ukmlen
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - ASN1_OBJECT*
    - unsigned char*
    - size_t
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 6
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: DH_KDF_X9_42
    functionSourceFile: /src/openssl/crypto/dh/dh_kdf.c
    functionUses: 0
    functionsReached:
    - ossl_provider_libctx
    - OBJ_obj2txt
    - EVP_MD_get0_provider
    - ossl_dh_kdf_X9_42_asn1
    linkageType: ''
    returnType: int
    signature: "int DH_KDF_X9_42(unsigned char *out, size_t outlen,\n                 const
      unsigned char *Z, size_t Zlen,\n                 ASN1_OBJECT *key_oid,\n                 const
      unsigned char *ukm, size_t ukmlen, const EVP_MD *md)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_2_generate
      Src: /src/openssl/crypto/dh/dh_gen.c:46,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/openssl/crypto/dh/dh_gen.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - dh
    - type
    - pbits
    - qbits
    - cb
    argTypes:
    - DH*
    - int
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: ossl_dh_generate_ffc_parameters
    functionSourceFile: /src/openssl/crypto/dh/dh_gen.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_2_generate
    - ossl_ffc_params_FIPS186_4_generate
    linkageType: ''
    returnType: int
    signature: "int ossl_dh_generate_ffc_parameters(DH *dh, int type, int pbits, int
      qbits,\n                                    BN_GENCB *cb)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pbits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: ossl_dh_get_named_group_uid_from_size
    functionSourceFile: /src/openssl/crypto/dh/dh_gen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_dh_get_named_group_uid_from_size(int pbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get_named_group_uid_from_size
      Src: /src/openssl/crypto/dh/dh_gen.c:99,1
    - Dst: ossl_dh_new_by_nid_ex
      Src: /src/openssl/crypto/dh/dh_gen.c:104,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dh/dh_gen.c:106,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_gen.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - libctx
    - ret
    - prime_len
    argTypes:
    - OSSL_LIB_CTX*
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: dh_gen_named_group
    functionSourceFile: /src/openssl/crypto/dh/dh_gen.c
    functionUses: 0
    functionsReached:
    - ossl_dh_new_by_nid_ex
    - ossl_ffc_params_copy
    - DH_free
    - ossl_dh_get_named_group_uid_from_size
    linkageType: ''
    returnType: int
    signature: int dh_gen_named_group(OSSL_LIB_CTX *libctx, DH *ret, int prime_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_named_group
      Src: /src/openssl/crypto/dh/dh_gen.c:121,1
    - Dst: DH*::meth::generate_params
      Src: /src/openssl/crypto/dh/dh_gen.c:124,1
    - Dst: dh_builtin_genparams
      Src: /src/openssl/crypto/dh/dh_gen.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ret
    - prime_len
    - generator
    - cb
    argTypes:
    - DH*
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: DH_generate_parameters_ex
    functionSourceFile: /src/openssl/crypto/dh/dh_gen.c
    functionUses: 0
    functionsReached:
    - DH*::meth::generate_params
    - dh_builtin_genparams
    - dh_gen_named_group
    linkageType: ''
    returnType: int
    signature: "int DH_generate_parameters_ex(DH *ret, int prime_len, int generator,\n
      \                             BN_GENCB *cb)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_gen.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_gen.c:169,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dh/dh_gen.c:173,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/dh/dh_gen.c:176,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dh/dh_gen.c:177,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dh/dh_gen.c:178,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dh/dh_gen.c:183,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dh/dh_gen.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_gen.c:189,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_gen.c:193,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_gen.c:195,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_gen.c:199,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_gen.c:201,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_gen.c:210,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_gen.c:212,1
    - Dst: BN_generate_prime_ex2
      Src: /src/openssl/crypto/dh/dh_gen.c:217,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/dh/dh_gen.c:219,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_gen.c:221,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/crypto/dh/dh_gen.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_gen.c:230,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/dh/dh_gen.c:234,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dh/dh_gen.c:235,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 77
    argCount: 4
    argNames:
    - ret
    - prime_len
    - generator
    - cb
    argTypes:
    - DH*
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 237
    functionName: dh_builtin_genparams
    functionSourceFile: /src/openssl/crypto/dh/dh_gen.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_set_word
    - BN_generate_prime_ex2
    - BN_GENCB_call
    - BN_CTX_free
    - BN_new
    - ossl_ifc_ffc_compute_security_bits
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int dh_builtin_genparams(DH *ret, int prime_len, int generator,\n
      \                               BN_GENCB *cb)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:47,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:48,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:53,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:54,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:59,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dh/dh_key.c:63,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/dh/dh_key.c:66,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dh/dh_key.c:67,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dh/dh_key.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:73,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/dh/dh_key.c:78,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/dh/dh_key.c:80,1
    - Dst: DH*::meth::bn_mod_exp
      Src: /src/openssl/crypto/dh/dh_key.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:88,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/dh/dh_key.c:93,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/dh/dh_key.c:94,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_key.c:95,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/dh/dh_key.c:95,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_key.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:97,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/dh/dh_key.c:102,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_key.c:102,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/dh/dh_key.c:104,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/dh/dh_key.c:105,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dh/dh_key.c:106,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 108
    functionName: ossl_dh_compute_key
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - DH*::meth::bn_mod_exp
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_MONT_CTX_set_locked
    - BN_num_bytes
    - BN_cmp
    - BN_value_one
    - BN_clear
    - BN_CTX_free
    - BN_sub_word
    - BN_bn2binpad
    - BN_copy
    - BN_num_bits
    - BN_set_flags
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ossl_dh_compute_key(unsigned char *key, const BIGNUM *pub_key,
      DH *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_compute_key
      Src: /src/openssl/crypto/dh/dh_key.c:121,1
    - Dst: DH*::meth::compute_key
      Src: /src/openssl/crypto/dh/dh_key.c:123,1
    - Dst: memmove
      Src: /src/openssl/crypto/dh/dh_key.c:137,1
    - Dst: memset
      Src: /src/openssl/crypto/dh/dh_key.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 9
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: DH_compute_key
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached:
    - memset
    - DH*::meth::compute_key
    - ossl_dh_compute_key
    - memmove
    linkageType: ''
    returnType: int
    signature: int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_compute_key
      Src: /src/openssl/crypto/dh/dh_key.c:150,1
    - Dst: DH*::meth::compute_key
      Src: /src/openssl/crypto/dh/dh_key.c:152,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_key.c:156,1
    - Dst: memmove
      Src: /src/openssl/crypto/dh/dh_key.c:159,1
    - Dst: memset
      Src: /src/openssl/crypto/dh/dh_key.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - key
    - pub_key
    - dh
    argTypes:
    - unsigned char*
    - BIGNUM*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 9
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: DH_compute_key_padded
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached:
    - memset
    - BN_num_bytes
    - memmove
    - ossl_dh_compute_key
    - DH*::meth::compute_key
    linkageType: ''
    returnType: int
    signature: int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key,
      DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: DH_OpenSSL
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DH_METHOD
    signature: DH_METHOD *DH_OpenSSL(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: DH_get_default_method
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DH_METHOD
    signature: DH_METHOD *DH_get_default_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s390x_mod_exp
      Src: /src/openssl/crypto/dh/dh_key.c:194,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/dh/dh_key.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - dh
    - r
    - a
    - p
    - m
    - ctx
    - m_ctx
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 7
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: dh_bn_mod_exp
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached:
    - s390x_mod_exp
    - BN_mod_exp_mont
    linkageType: ''
    returnType: int
    signature: "int dh_bn_mod_exp(const DH *dh, BIGNUM *r,\n                         const
      BIGNUM *a, const BIGNUM *p,\n                         const BIGNUM *m, BN_CTX
      *ctx, BN_MONT_CTX *m_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: dh_init
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dh_init(DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/dh/dh_key.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: dh_finish
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: int
    signature: int dh_finish(DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: DH_set_default_method
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_set_default_method(const DH_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_key
      Src: /src/openssl/crypto/dh/dh_key.c:223,1
    - Dst: DH*::meth::generate_key
      Src: /src/openssl/crypto/dh/dh_key.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: DH_generate_key
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached:
    - generate_key
    - DH*::meth::generate_key
    linkageType: ''
    returnType: int
    signature: int DH_generate_key(DH *dh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/dh/dh_key.c:233,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/dh/dh_key.c:249,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/dh/dh_key.c:253,1
    - Dst: DH*::meth::bn_mod_exp
      Src: /src/openssl/crypto/dh/dh_key.c:256,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_key.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - dh
    - priv_key
    - pub_key
    argTypes:
    - BN_CTX*
    - DH*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 229
    functionDepth: 8
    functionLinenumber: 229
    functionLinenumberEnd: 263
    functionName: ossl_dh_generate_public_key
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 0
    functionsReached:
    - DH*::meth::bn_mod_exp
    - BN_with_flags
    - BN_MONT_CTX_set_locked
    - BN_clear_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: "int ossl_dh_generate_public_key(BN_CTX *ctx, const DH *dh,\n                                const
      BIGNUM *priv_key, BIGNUM *pub_key)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:276,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:281,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:282,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:287,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dh/dh_key.c:291,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/dh/dh_key.c:296,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dh/dh_key.c:305,1
    - Dst: DH_get_nid
      Src: /src/openssl/crypto/dh/dh_key.c:313,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/crypto/dh/dh_key.c:315,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:315,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:318,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/crypto/dh/dh_key.c:321,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:331,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/dh/dh_key.c:337,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/dh/dh_key.c:344,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/dh/dh_key.c:345,1
    - Dst: BN_clear_bit
      Src: /src/openssl/crypto/dh/dh_key.c:347,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/openssl/crypto/dh/dh_key.c:354,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/crypto/dh/dh_key.c:362,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_key.c:363,1
    - Dst: ossl_dh_generate_public_key
      Src: /src/openssl/crypto/dh/dh_key.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:380,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_key.c:383,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_key.c:385,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dh/dh_key.c:386,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 89
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 265
    functionDepth: 9
    functionLinenumber: 265
    functionLinenumberEnd: 388
    functionName: generate_key
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 1
    functionsReached:
    - ossl_ffc_generate_private_key
    - ossl_ffc_params_simple_validate
    - ERR_raise
    - DH_get_nid
    - BN_secure_new
    - BN_is_word
    - ossl_dh_generate_public_key
    - BN_clear_bit
    - BN_CTX_free
    - BN_new
    - ossl_ifc_ffc_compute_security_bits
    - BN_priv_rand_ex
    - BN_free
    - BN_num_bits
    - BN_CTX_new_ex
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: int generate_key(DH *dh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/dh/dh_key.c:397,1
    - Dst: DH_get0_pqg
      Src: /src/openssl/crypto/dh/dh_key.c:399,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_key.c:400,1
    - Dst: ossl_dh_check_pub_key_partial
      Src: /src/openssl/crypto/dh/dh_key.c:405,1
    - Dst: DH_set0_key
      Src: /src/openssl/crypto/dh/dh_key.c:409,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:413,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_key.c:414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - dh
    - buf
    - len
    argTypes:
    - DH*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 390
    functionDepth: 5
    functionLinenumber: 390
    functionLinenumberEnd: 416
    functionName: ossl_dh_buf2key
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - BN_num_bytes
    - ossl_dh_check_pub_key_partial
    - DH_get0_pqg
    - BN_bin2bn
    - DH_set0_key
    - BN_free
    linkageType: ''
    returnType: int
    signature: int ossl_dh_buf2key(DH *dh, const unsigned char *buf, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_pqg
      Src: /src/openssl/crypto/dh/dh_key.c:426,1
    - Dst: DH_get0_key
      Src: /src/openssl/crypto/dh/dh_key.c:427,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_key.c:429,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_key.c:430,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:431,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:439,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dh/dh_key.c:441,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/dh/dh_key.c:451,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_key.c:453,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_key.c:454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - dh
    - pbuf_out
    - size
    - alloc
    argTypes:
    - DH*
    - unsigned char**
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 460
    functionName: ossl_dh_key2buf
    functionSourceFile: /src/openssl/crypto/dh/dh_key.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - BN_num_bytes
    - DH_get0_pqg
    - OPENSSL_free
    - DH_get0_key
    - BN_bn2binpad
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_dh_key2buf(const DH *dh, unsigned char **pbuf_out, size_t
      size,\n                       int alloc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dh/dh_pmeth.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: pkey_dh_init
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int pkey_dh_init(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:77,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:78,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: pkey_dh_cleanup
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: void pkey_dh_cleanup(EVP_PKEY_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pkey_dh_init
      Src: /src/openssl/crypto/dh/dh_pmeth.c:88,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/dh/dh_pmeth.c:101,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/dh/dh_pmeth.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 113
    functionName: pkey_dh_copy
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - OBJ_dup
    - pkey_dh_init
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int pkey_dh_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:195,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:208,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 80
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 220
    functionName: pkey_dh_ctrl
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int pkey_dh_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/dh/dh_pmeth.c:225,1
    - Dst: atoi
      Src: /src/openssl/crypto/dh/dh_pmeth.c:227,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_prime_len
      Src: /src/openssl/crypto/dh/dh_pmeth.c:228,1
    - Dst: strcmp
      Src: /src/openssl/crypto/dh/dh_pmeth.c:230,1
    - Dst: atoi
      Src: /src/openssl/crypto/dh/dh_pmeth.c:234,1
    - Dst: strcmp
      Src: /src/openssl/crypto/dh/dh_pmeth.c:240,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/dh/dh_pmeth.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_pmeth.c:245,1
    - Dst: strcmp
      Src: /src/openssl/crypto/dh/dh_pmeth.c:251,1
    - Dst: atoi
      Src: /src/openssl/crypto/dh/dh_pmeth.c:253,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_generator
      Src: /src/openssl/crypto/dh/dh_pmeth.c:254,1
    - Dst: strcmp
      Src: /src/openssl/crypto/dh/dh_pmeth.c:256,1
    - Dst: atoi
      Src: /src/openssl/crypto/dh/dh_pmeth.c:258,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_subprime_len
      Src: /src/openssl/crypto/dh/dh_pmeth.c:259,1
    - Dst: strcmp
      Src: /src/openssl/crypto/dh/dh_pmeth.c:261,1
    - Dst: atoi
      Src: /src/openssl/crypto/dh/dh_pmeth.c:263,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_type
      Src: /src/openssl/crypto/dh/dh_pmeth.c:264,1
    - Dst: strcmp
      Src: /src/openssl/crypto/dh/dh_pmeth.c:266,1
    - Dst: atoi
      Src: /src/openssl/crypto/dh/dh_pmeth.c:268,1
    - Dst: EVP_PKEY_CTX_set_dh_pad
      Src: /src/openssl/crypto/dh/dh_pmeth.c:269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 222
    functionDepth: 5
    functionLinenumber: 222
    functionLinenumberEnd: 272
    functionName: pkey_dh_ctrl_str
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - atoi
    - ERR_raise
    - EVP_PKEY_CTX_set_dh_paramgen_subprime_len
    - EVP_PKEY_CTX_set_dh_pad
    - strcmp
    - EVP_PKEY_CTX_set_dh_paramgen_generator
    - EVP_PKEY_CTX_set_dh_paramgen_prime_len
    - EVP_PKEY_CTX_set_dh_paramgen_type
    linkageType: ''
    returnType: int
    signature: "int pkey_dh_ctrl_str(EVP_PKEY_CTX *ctx,\n                            const
      char *type, const char *value)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/openssl/crypto/dh/dh_pmeth.c:285,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/crypto/dh/dh_pmeth.c:297,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/dh/dh_pmeth.c:297,1
    - Dst: ossl_ffc_params_FIPS186_2_generate
      Src: /src/openssl/crypto/dh/dh_pmeth.c:301,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/openssl/crypto/dh/dh_pmeth.c:309,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:314,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - libctx
    - dctx
    - pcb
    argTypes:
    - OSSL_LIB_CTX*
    - DH_PKEY_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 318
    functionName: ffc_params_generate
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - DH_new
    - ossl_ffc_params_FIPS186_2_generate
    - EVP_MD_get0_name
    - DH_free
    - ossl_ffc_params_FIPS186_4_generate
    - ossl_ffc_set_digest
    linkageType: ''
    returnType: DH
    signature: "DH *ffc_params_generate(OSSL_LIB_CTX *libctx, DH_PKEY_CTX *dctx,\n
      \                              BN_GENCB *pcb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DH_new_by_nid
      Src: /src/openssl/crypto/dh/dh_pmeth.c:336,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/dh/dh_pmeth.c:338,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/crypto/dh/dh_pmeth.c:343,1
    - Dst: evp_pkey_set_cb_translate
      Src: /src/openssl/crypto/dh/dh_pmeth.c:346,1
    - Dst: ffc_params_generate
      Src: /src/openssl/crypto/dh/dh_pmeth.c:352,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:353,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/dh/dh_pmeth.c:356,1
    - Dst: DH_new
      Src: /src/openssl/crypto/dh/dh_pmeth.c:359,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:361,1
    - Dst: DH_generate_parameters_ex
      Src: /src/openssl/crypto/dh/dh_pmeth.c:364,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:366,1
    - Dst: EVP_PKEY_assign_DH
      Src: /src/openssl/crypto/dh/dh_pmeth.c:368,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 320
    functionDepth: 7
    functionLinenumber: 320
    functionLinenumberEnd: 372
    functionName: pkey_dh_paramgen
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_new
    - DH_new
    - DH_new_by_nid
    - EVP_PKEY_assign
    - EVP_PKEY_assign_DH
    - evp_pkey_set_cb_translate
    - BN_GENCB_free
    - DH_free
    - ffc_params_generate
    - DH_generate_parameters_ex
    linkageType: ''
    returnType: int
    signature: "int pkey_dh_paramgen(EVP_PKEY_CTX *ctx,\n                            EVP_PKEY
      *pkey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_pmeth.c:380,1
    - Dst: DH_new_by_nid
      Src: /src/openssl/crypto/dh/dh_pmeth.c:384,1
    - Dst: DH_new
      Src: /src/openssl/crypto/dh/dh_pmeth.c:386,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/dh/dh_pmeth.c:389,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/crypto/dh/dh_pmeth.c:391,1
    - Dst: DH_generate_key
      Src: /src/openssl/crypto/dh/dh_pmeth.c:393,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/dh/dh_pmeth.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 394
    functionName: pkey_dh_keygen
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - DH_new
    - DH_new_by_nid
    - EVP_PKEY_assign
    - DH_generate_key
    - EVP_PKEY_get0_DH
    - EVP_PKEY_copy_parameters
    linkageType: ''
    returnType: int
    signature: int pkey_dh_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_pmeth.c:406,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/dh/dh_pmeth.c:409,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/crypto/dh/dh_pmeth.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_pmeth.c:412,1
    - Dst: DH_size
      Src: /src/openssl/crypto/dh/dh_pmeth.c:418,1
    - Dst: DH_compute_key_padded
      Src: /src/openssl/crypto/dh/dh_pmeth.c:422,1
    - Dst: DH_compute_key
      Src: /src/openssl/crypto/dh/dh_pmeth.c:424,1
    - Dst: DH_size
      Src: /src/openssl/crypto/dh/dh_pmeth.c:444,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dh/dh_pmeth.c:446,1
    - Dst: DH_compute_key_padded
      Src: /src/openssl/crypto/dh/dh_pmeth.c:448,1
    - Dst: DH_KDF_X9_42
      Src: /src/openssl/crypto/dh/dh_pmeth.c:450,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/dh/dh_pmeth.c:456,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 396
    functionDepth: 10
    functionLinenumber: 396
    functionLinenumberEnd: 460
    functionName: pkey_dh_derive
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached:
    - DH_compute_key_padded
    - ERR_raise
    - OPENSSL_clear_free
    - DH_compute_key
    - DH_KDF_X9_42
    - DH_size
    - EVP_PKEY_get0_DH
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int pkey_dh_derive(EVP_PKEY_CTX *ctx, unsigned char *key,\n                          size_t
      *keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: ossl_dh_pkey_method
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_dh_pkey_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: ossl_dhx_pkey_method
    functionSourceFile: /src/openssl/crypto/dh/dh_pmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_dhx_pkey_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/dh/dh_err.c:70,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/dh/dh_err.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: ossl_err_load_DH_strings
    functionSourceFile: /src/openssl/crypto/dh/dh_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_DH_strings(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/openssl/crypto/dh/dh_depr.c:31,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/crypto/dh/dh_depr.c:33,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_depr.c:35,1
    - Dst: BN_GENCB_set_old
      Src: /src/openssl/crypto/dh/dh_depr.c:39,1
    - Dst: DH_generate_parameters_ex
      Src: /src/openssl/crypto/dh/dh_depr.c:41,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dh/dh_depr.c:42,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dh/dh_depr.c:45,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_depr.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - prime_len
    - generator
    - cb_arg
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 7
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: DH_generate_parameters
    functionSourceFile: /src/openssl/crypto/dh/dh_depr.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_new
    - DH_new
    - BN_GENCB_set_old
    - BN_GENCB_free
    - DH_free
    - DH_generate_parameters_ex
    linkageType: ''
    returnType: DH
    signature: "DH *DH_generate_parameters(int prime_len, int generator,\n                           void
      (*callback) (int, int, void *), void *cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_METHOD*::finish
      Src: /src/openssl/crypto/dh/dh_lib.c:41,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/dh/dh_lib.c:43,1
    - Dst: DH_METHOD*::init
      Src: /src/openssl/crypto/dh/dh_lib.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dh
    - meth
    argTypes:
    - DH*
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: DH_set_method
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached:
    - DH_METHOD*::init
    - ENGINE_finish
    - DH_METHOD*::finish
    linkageType: ''
    returnType: int
    signature: int DH_set_method(DH *dh, const DH_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ossl_dh_get_method
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DH_METHOD
    signature: DH_METHOD *ossl_dh_get_method(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_new_intern
      Src: /src/openssl/crypto/dh/dh_lib.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: DH_new
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 6
    functionsReached:
    - dh_new_intern
    linkageType: ''
    returnType: DH
    signature: DH *DH_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_new_intern
      Src: /src/openssl/crypto/dh/dh_lib.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: DH_new_method
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached:
    - dh_new_intern
    linkageType: ''
    returnType: DH
    signature: DH *DH_new_method(ENGINE *engine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_new_intern
      Src: /src/openssl/crypto/dh/dh_lib.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ossl_dh_new_ex
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached:
    - dh_new_intern
    linkageType: ''
    returnType: DH
    signature: DH *ossl_dh_new_ex(OSSL_LIB_CTX *libctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dh/dh_lib.c:76,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/dh/dh_lib.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_lib.c:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_lib.c:84,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/dh/dh_lib.c:88,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/dh/dh_lib.c:89,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_lib.c:90,1
    - Dst: DH_get_default_method
      Src: /src/openssl/crypto/dh/dh_lib.c:95,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/dh/dh_lib.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_lib.c:100,1
    - Dst: ENGINE_get_default_DH
      Src: /src/openssl/crypto/dh/dh_lib.c:105,1
    - Dst: ENGINE_get_DH
      Src: /src/openssl/crypto/dh/dh_lib.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_lib.c:109,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/dh/dh_lib.c:118,1
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/crypto/dh/dh_lib.c:122,1
    - Dst: DH*::meth::init
      Src: /src/openssl/crypto/dh/dh_lib.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_lib.c:125,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_lib.c:132,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - engine
    - libctx
    argTypes:
    - ENGINE*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 134
    functionName: dh_new_intern
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 3
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ERR_raise
    - CRYPTO_THREAD_lock_free
    - ENGINE_init
    - CRYPTO_new_ex_data
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - ENGINE_get_default_DH
    - ENGINE_get_DH
    - ossl_ffc_params_init
    - DH*::meth::init
    - DH_free
    - DH_get_default_method
    linkageType: ''
    returnType: DH
    signature: DH *dh_new_intern(ENGINE *engine, OSSL_LIB_CTX *libctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/dh/dh_lib.c:143,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dh/dh_lib.c:144,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dh/dh_lib.c:147,1
    - Dst: DH*::meth::finish
      Src: /src/openssl/crypto/dh/dh_lib.c:150,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/dh/dh_lib.c:153,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/dh/dh_lib.c:155,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/dh/dh_lib.c:158,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/dh/dh_lib.c:159,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/crypto/dh/dh_lib.c:161,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_lib.c:162,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_lib.c:163,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_lib.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - r
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 165
    functionName: DH_free
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 13
    functionsReached:
    - REF_PRINT_COUNT
    - DH*::meth::finish
    - ossl_ffc_params_cleanup
    - CRYPTO_THREAD_lock_free
    - BN_clear_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - ENGINE_finish
    - CRYPTO_free_ex_data
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void DH_free(DH *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/dh/dh_lib.c:171,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dh/dh_lib.c:174,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dh/dh_lib.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: DH_up_ref
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int DH_up_ref(DH *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - libctx
    argTypes:
    - DH*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: ossl_dh_set0_libctx
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_dh_set0_libctx(DH *d, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/dh/dh_lib.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - idx
    - arg
    argTypes:
    - DH*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: DH_set_ex_data
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int DH_set_ex_data(DH *d, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/dh/dh_lib.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - idx
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: DH_get_ex_data
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *DH_get_ex_data(const DH *d, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_lib.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: DH_bits
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int DH_bits(const DH *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_lib.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: DH_size
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached:
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: int DH_size(const DH *dh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_lib.c:215,1
    - Dst: BN_security_bits
      Src: /src/openssl/crypto/dh/dh_lib.c:221,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_lib.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: DH_security_bits
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 1
    functionsReached:
    - BN_num_bits
    - BN_security_bits
    linkageType: ''
    returnType: int
    signature: int DH_security_bits(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_get0_pqg
      Src: /src/openssl/crypto/dh/dh_lib.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dh
    - p
    - q
    - g
    argTypes:
    - DH*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: DH_get0_pqg
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached:
    - ossl_ffc_params_get0_pqg
    linkageType: ''
    returnType: void
    signature: "void DH_get0_pqg(const DH *dh,\n                 const BIGNUM **p,
      const BIGNUM **q, const BIGNUM **g)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/crypto/dh/dh_lib.c:241,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/openssl/crypto/dh/dh_lib.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - dh
    - p
    - q
    - g
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: DH_set0_pqg
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_set0_pqg
    - ossl_dh_cache_named_group
    linkageType: ''
    returnType: int
    signature: int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: DH_get_length
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long DH_get_length(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dh
    - length
    argTypes:
    - DH*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: DH_set_length
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_set_length(DH *dh, long length)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - dh
    - pub_key
    - priv_key
    argTypes:
    - DH*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: DH_get0_key
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM
      **priv_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_lib.c:270,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_lib.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dh
    - pub_key
    - priv_key
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: DH_set0_key
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 1
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: DH_get0_p
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DH_get0_p(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: DH_get0_q
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DH_get0_q(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: DH_get0_g
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DH_get0_g(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: DH_get0_priv_key
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DH_get0_priv_key(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: DH_get0_pub_key
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DH_get0_pub_key(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dh
    - flags
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: DH_clear_flags
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_clear_flags(DH *dh, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dh
    - flags
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: DH_test_flags
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DH_test_flags(const DH *dh, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dh
    - flags
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: DH_set_flags
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DH_set_flags(DH *dh, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: DH_get0_engine
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *DH_get0_engine(DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: ossl_dh_get0_params
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FFC_PARAMS
    signature: FFC_PARAMS *ossl_dh_get0_params(DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: ossl_dh_get0_nid
    functionSourceFile: /src/openssl/crypto/dh/dh_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_dh_get0_nid(const DH *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/crypto/dh/dh_backend.c:34,1
    - Dst: ossl_ffc_params_fromdata
      Src: /src/openssl/crypto/dh/dh_backend.c:36,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/openssl/crypto/dh/dh_backend.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dh
    - params
    argTypes:
    - DH*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 6
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: dh_ffc_params_fromdata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - ossl_ffc_params_fromdata
    - ossl_dh_cache_named_group
    linkageType: ''
    returnType: int
    signature: int dh_ffc_params_fromdata(DH *dh, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dh_ffc_params_fromdata
      Src: /src/openssl/crypto/dh/dh_backend.c:47,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/dh/dh_backend.c:51,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/openssl/crypto/dh/dh_backend.c:53,1
    - Dst: DH_set_length
      Src: /src/openssl/crypto/dh/dh_backend.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dh
    - params
    argTypes:
    - DH*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: ossl_dh_params_fromdata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_long
    - OSSL_PARAM_locate_const
    - DH_set_length
    - dh_ffc_params_fromdata
    linkageType: ''
    returnType: int
    signature: int ossl_dh_params_fromdata(DH *dh, const OSSL_PARAM params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/dh/dh_backend.c:68,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/dh/dh_backend.c:69,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/dh/dh_backend.c:73,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/dh/dh_backend.c:77,1
    - Dst: DH_set0_key
      Src: /src/openssl/crypto/dh/dh_backend.c:80,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_backend.c:86,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_backend.c:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - dh
    - params
    - include_private
    argTypes:
    - DH*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: ossl_dh_key_fromdata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_BN
    - BN_clear_free
    - OSSL_PARAM_locate_const
    - DH_set0_key
    - BN_free
    linkageType: ''
    returnType: int
    signature: int ossl_dh_key_fromdata(DH *dh, const OSSL_PARAM params[], int include_private)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_get_length
      Src: /src/openssl/crypto/dh/dh_backend.c:93,1
    - Dst: ossl_ffc_params_todata
      Src: /src/openssl/crypto/dh/dh_backend.c:95,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/crypto/dh/dh_backend.c:95,1
    - Dst: ossl_param_build_set_long
      Src: /src/openssl/crypto/dh/dh_backend.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dh
    - bld
    - params
    argTypes:
    - DH*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ossl_dh_params_todata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - DH_get_length
    - ossl_ffc_params_todata
    - ossl_param_build_set_long
    linkageType: ''
    returnType: int
    signature: int ossl_dh_params_todata(DH *dh, OSSL_PARAM_BLD *bld, OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/openssl/crypto/dh/dh_backend.c:111,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/dh/dh_backend.c:114,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/dh/dh_backend.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - dh
    - bld
    - params
    - include_private
    argTypes:
    - DH*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: ossl_dh_key_todata
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_bn
    - DH_get0_key
    linkageType: ''
    returnType: int
    signature: "int ossl_dh_key_todata(DH *dh, OSSL_PARAM_BLD *bld, OSSL_PARAM params[],\n
      \                      int include_private)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_get_method
      Src: /src/openssl/crypto/dh/dh_backend.c:126,1
    - Dst: DH_OpenSSL
      Src: /src/openssl/crypto/dh/dh_backend.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: ossl_dh_is_foreign
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - ossl_dh_get_method
    - DH_OpenSSL
    linkageType: ''
    returnType: int
    signature: int ossl_dh_is_foreign(const DH *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_dup
      Src: /src/openssl/crypto/dh/dh_backend.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - BIGNUM**
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: dh_bn_dup_check
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 0
    functionsReached:
    - BN_dup
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline dh_bn_dup_check(BIGNUM **out, const BIGNUM *f)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_is_foreign
      Src: /src/openssl/crypto/dh/dh_backend.c:144,1
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/crypto/dh/dh_backend.c:147,1
    - Dst: DH_get_length
      Src: /src/openssl/crypto/dh/dh_backend.c:150,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dh/dh_backend.c:152,1
    - Dst: dh_bn_dup_check
      Src: /src/openssl/crypto/dh/dh_backend.c:159,1
    - Dst: dh_bn_dup_check
      Src: /src/openssl/crypto/dh/dh_backend.c:164,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/dh/dh_backend.c:168,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_backend.c:176,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - dh
    - selection
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 178
    functionName: ossl_dh_dup
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - DH_get_length
    - CRYPTO_dup_ex_data
    - ossl_dh_new_ex
    - ossl_ffc_params_copy
    - DH_free
    - ossl_dh_is_foreign
    - dh_bn_dup_check
    linkageType: ''
    returnType: DH
    signature: DH *ossl_dh_dup(const DH *dh, int selection)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/dh/dh_backend.c:194,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/dh/dh_backend.c:197,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/openssl/crypto/dh/dh_backend.c:201,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/dh/dh_backend.c:207,1
    - Dst: d2i_DHparams
      Src: /src/openssl/crypto/dh/dh_backend.c:209,1
    - Dst: d2i_DHxparams
      Src: /src/openssl/crypto/dh/dh_backend.c:212,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/dh/dh_backend.c:221,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/dh/dh_backend.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_backend.c:223,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dh/dh_backend.c:224,1
    - Dst: DH_set0_key
      Src: /src/openssl/crypto/dh/dh_backend.c:227,1
    - Dst: DH_generate_key
      Src: /src/openssl/crypto/dh/dh_backend.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_backend.c:236,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_backend.c:238,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/crypto/dh/dh_backend.c:241,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 243
    functionName: ossl_dh_key_from_pkcs8
    functionSourceFile: /src/openssl/crypto/dh/dh_backend.c
    functionUses: 1
    functionsReached:
    - d2i_DHxparams
    - d2i_DHparams
    - ERR_raise
    - ASN1_STRING_clear_free
    - d2i_ASN1_INTEGER
    - BN_clear_free
    - DH_generate_key
    - BN_secure_new
    - X509_ALGOR_get0
    - ASN1_INTEGER_to_BN
    - PKCS8_pkey_get0
    - DH_free
    - DH_set0_key
    - OBJ_obj2nid
    linkageType: ''
    returnType: DH
    signature: "DH *ossl_dh_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf,\n                           OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/openssl/crypto/dh/dh_asn1.c:29,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:34,1
    - Dst: DH_clear_flags
      Src: /src/openssl/crypto/dh/dh_asn1.c:40,1
    - Dst: DH_set_flags
      Src: /src/openssl/crypto/dh/dh_asn1.c:41,1
    - Dst: ossl_dh_cache_named_group
      Src: /src/openssl/crypto/dh/dh_asn1.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: dh_cb
    functionSourceFile: /src/openssl/crypto/dh/dh_asn1.c
    functionUses: 0
    functionsReached:
    - DH_clear_flags
    - DH_new
    - DH_set_flags
    - DH_free
    - ossl_dh_cache_named_group
    linkageType: ''
    returnType: int
    signature: "int dh_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                void *exarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/openssl/crypto/dh/dh_asn1.c:99,1
    - Dst: d2i_int_dhx
      Src: /src/openssl/crypto/dh/dh_asn1.c:102,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:104,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:109,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/crypto/dh/dh_asn1.c:114,1
    - Dst: ossl_ffc_params_set0_j
      Src: /src/openssl/crypto/dh/dh_asn1.c:115,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/dh/dh_asn1.c:119,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/crypto/dh/dh_asn1.c:120,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:123,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:129,1
    - Dst: DH_clear_flags
      Src: /src/openssl/crypto/dh/dh_asn1.c:130,1
    - Dst: DH_set_flags
      Src: /src/openssl/crypto/dh/dh_asn1.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - DH**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 133
    functionName: d2i_DHxparams
    functionSourceFile: /src/openssl/crypto/dh/dh_asn1.c
    functionUses: 3
    functionsReached:
    - DH_clear_flags
    - DH_set0_pqg
    - d2i_int_dhx
    - DH_new
    - ASN1_BIT_STRING_free
    - DH_set_flags
    - OPENSSL_free
    - ossl_ffc_params_set0_j
    - DH_free
    - BN_get_word
    - ossl_ffc_params_set_validate_params
    - BN_free
    linkageType: ''
    returnType: DH
    signature: DH *d2i_DHxparams(DH **a, const unsigned char **pp, long length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_get0_pqg
      Src: /src/openssl/crypto/dh/dh_asn1.c:145,1
    - Dst: ossl_ffc_params_get_validate_params
      Src: /src/openssl/crypto/dh/dh_asn1.c:148,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dh/dh_asn1.c:154,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dh/dh_asn1.c:157,1
    - Dst: i2d_int_dhx
      Src: /src/openssl/crypto/dh/dh_asn1.c:163,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_asn1.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - dh
    - pp
    argTypes:
    - DH*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 167
    functionName: i2d_DHxparams
    functionSourceFile: /src/openssl/crypto/dh/dh_asn1.c
    functionUses: 1
    functionsReached:
    - ossl_ffc_params_get_validate_params
    - BN_set_word
    - i2d_int_dhx
    - BN_new
    - ossl_ffc_params_get0_pqg
    - BN_free
    linkageType: ''
    returnType: int
    signature: int i2d_DHxparams(const DH *dh, unsigned char **pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/dh/dh_prn.c:27,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/dh/dh_prn.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_prn.c:28,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/dh/dh_prn.c:31,1
    - Dst: DHparams_print
      Src: /src/openssl/crypto/dh/dh_prn.c:32,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/dh/dh_prn.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: DHparams_print_fp
    functionSourceFile: /src/openssl/crypto/dh/dh_prn.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - DHparams_print
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int DHparams_print_fp(FILE *fp, const DH *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DH_check_params
      Src: /src/openssl/crypto/dh/dh_check.c:33,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:37,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:41,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: DH_check_params_ex
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - DH_check_params
    linkageType: ''
    returnType: int
    signature: int DH_check_params_ex(const DH *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DH_get_nid
      Src: /src/openssl/crypto/dh/dh_check.c:58,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/crypto/dh/dh_check.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dh
    - ret
    argTypes:
    - DH*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: DH_check_params
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 1
    functionsReached:
    - DH_get_nid
    - ossl_ffc_params_FIPS186_4_validate
    linkageType: ''
    returnType: int
    signature: int DH_check_params(const DH *dh, int *ret)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dh/dh_check.c:77,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/dh/dh_check.c:80,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dh/dh_check.c:81,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/dh/dh_check.c:85,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/dh/dh_check.c:87,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dh/dh_check.c:88,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/dh/dh_check.c:89,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/dh/dh_check.c:91,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/dh/dh_check.c:91,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_check.c:93,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_check.c:95,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_check.c:97,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/dh/dh_check.c:102,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dh/dh_check.c:103,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - dh
    - ret
    argTypes:
    - DH*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 105
    functionName: DH_check_params
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_one
    - BN_is_negative
    - BN_cmp
    - BN_is_odd
    - BN_is_zero
    - BN_CTX_free
    - BN_sub_word
    - BN_copy
    - BN_num_bits
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int DH_check_params(const DH *dh, int *ret)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DH_check
      Src: /src/openssl/crypto/dh/dh_check.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 139
    functionName: DH_check_ex
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - DH_check
    linkageType: ''
    returnType: int
    signature: int DH_check_ex(const DH *dh)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DH_check_params
      Src: /src/openssl/crypto/dh/dh_check.c:145,1
    - Dst: DH_get_nid
      Src: /src/openssl/crypto/dh/dh_check.c:150,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_check.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:158,1
    - Dst: DH_check_params
      Src: /src/openssl/crypto/dh/dh_check.c:163,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dh/dh_check.c:166,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/dh/dh_check.c:169,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dh/dh_check.c:170,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dh/dh_check.c:171,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/dh/dh_check.c:176,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_check.c:183,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/dh/dh_check.c:183,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_check.c:185,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/dh/dh_check.c:189,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/dh/dh_check.c:191,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/dh/dh_check.c:194,1
    - Dst: BN_div
      Src: /src/openssl/crypto/dh/dh_check.c:200,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/dh/dh_check.c:202,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_check.c:205,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/dh/dh_check.c:209,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/dh/dh_check.c:215,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/dh/dh_check.c:217,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/dh/dh_check.c:225,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dh/dh_check.c:226,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 2
    argNames:
    - dh
    - ret
    argTypes:
    - DH*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 229
    functionName: DH_check
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - DH_get_nid
    - BN_CTX_start
    - BN_div
    - BN_CTX_end
    - BN_is_one
    - BN_cmp
    - BN_value_one
    - BN_rshift1
    - BN_CTX_free
    - BN_ucmp
    - DH_check_params
    - BN_mod_exp
    - BN_num_bits
    - BN_check_prime
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int DH_check(const DH *dh, int *ret)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_check_pub_key
      Src: /src/openssl/crypto/dh/dh_check.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - dh
    - pub_key
    argTypes:
    - DH*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: DH_check_pub_key_ex
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - DH_check_pub_key
    linkageType: ''
    returnType: int
    signature: int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_check.c:254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dh/dh_check.c:255,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/dh/dh_check.c:260,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/crypto/dh/dh_check.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dh
    - pub_key
    - ret
    argTypes:
    - DH*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: DH_check_pub_key
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 1
    functionsReached:
    - BN_ucmp
    - BN_num_bits
    - ERR_raise
    - ossl_ffc_validate_public_key
    linkageType: ''
    returnType: int
    signature: int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_validate_public_key_partial
      Src: /src/openssl/crypto/dh/dh_check.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - dh
    - pub_key
    - ret
    argTypes:
    - DH*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: ossl_dh_check_pub_key_partial
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 1
    functionsReached:
    - ossl_ffc_validate_public_key_partial
    linkageType: ''
    returnType: int
    signature: int ossl_dh_check_pub_key_partial(const DH *dh, const BIGNUM *pub_key,
      int *ret)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/dh/dh_check.c:285,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_check.c:300,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_check.c:301,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_check.c:302,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dh/dh_check.c:304,1
    - Dst: DH_get_nid
      Src: /src/openssl/crypto/dh/dh_check.c:314,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/dh/dh_check.c:315,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/dh/dh_check.c:315,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_check.c:317,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/crypto/dh/dh_check.c:320,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_check.c:325,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - dh
    - priv_key
    - ret
    argTypes:
    - DH*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 327
    functionName: ossl_dh_check_priv_key
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 0
    functionsReached:
    - DH_get_nid
    - ossl_ffc_validate_private_key
    - BN_cmp
    - BN_value_one
    - BN_new
    - BN_free
    - BN_num_bits
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int ossl_dh_check_priv_key(const DH *dh, const BIGNUM *priv_key, int
      *ret)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/crypto/dh/dh_check.c:348,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/crypto/dh/dh_check.c:349,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/dh/dh_check.c:352,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dh/dh_check.c:355,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dh/dh_check.c:358,1
    - Dst: ossl_dh_generate_public_key
      Src: /src/openssl/crypto/dh/dh_check.c:363,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dh/dh_check.c:371,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/dh/dh_check.c:373,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/dh/dh_check.c:374,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/dh/dh_check.c:375,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dh/dh_check.c:380,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dh/dh_check.c:382,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dh/dh_check.c:383,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/dh/dh_check.c:385,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/dh/dh_check.c:386,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - dh
    - return_on_null_numbers
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 333
    functionDepth: 9
    functionLinenumber: 333
    functionLinenumberEnd: 388
    functionName: ossl_dh_check_pairwise
    functionSourceFile: /src/openssl/crypto/dh/dh_check.c
    functionUses: 0
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - OSSL_SELF_TEST_onbegin
    - BN_num_bytes
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_oncorrupt_byte
    - BN_cmp
    - ossl_dh_generate_public_key
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_free
    - BN_bin2bn
    - BN_CTX_free
    - BN_new
    - BN_bn2bin
    - BN_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ossl_dh_check_pairwise(const DH *dh, int return_on_null_numbers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_ppc.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - in
    argTypes:
    - unsigned long[]
    - unsigned long[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: ecp_nistz256_to_mont
    functionSourceFile: /src/openssl/crypto/ec/ecp_ppc.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_mul_mont
    linkageType: ''
    returnType: void
    signature: void ecp_nistz256_to_mont(unsigned long res[4], const unsigned long
      in[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_ppc.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - in
    argTypes:
    - unsigned long[]
    - unsigned long[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ecp_nistz256_from_mont
    functionSourceFile: /src/openssl/crypto/ec/ecp_ppc.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_mul_mont
    linkageType: ''
    returnType: void
    signature: void ecp_nistz256_from_mont(unsigned long res[4], const unsigned long
      in[4])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_pmeth.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: pkey_ec_init
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int pkey_ec_init(EVP_PKEY_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pkey_ec_init
      Src: /src/openssl/crypto/ec/ec_pmeth.c:63,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/crypto/ec/ec_pmeth.c:68,1
    - Dst: EC_KEY_dup
      Src: /src/openssl/crypto/ec/ec_pmeth.c:75,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ec/ec_pmeth.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 90
    functionName: pkey_ec_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_dup
    - EC_KEY_dup
    - pkey_ec_init
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int pkey_ec_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:96,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:98,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: pkey_ec_cleanup
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_free
    - OPENSSL_free
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void pkey_ec_cleanup(EVP_PKEY_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/ec/ec_pmeth.c:115,1
    - Dst: ECDSA_size
      Src: /src/openssl/crypto/ec/ec_pmeth.c:116,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ec/ec_pmeth.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:128,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:132,1
    - Dst: ECDSA_sign
      Src: /src/openssl/crypto/ec/ec_pmeth.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 9
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: pkey_ec_sign
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ECDSA_sign
    - EVP_PKEY_get0_EC_KEY
    - ECDSA_size
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: "int pkey_ec_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,\n
      \                       const unsigned char *tbs, size_t tbslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/ec/ec_pmeth.c:153,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:156,1
    - Dst: ECDSA_verify
      Src: /src/openssl/crypto/ec/ec_pmeth.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 9
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: pkey_ec_verify
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_EC_KEY
    - ECDSA_verify
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: "int pkey_ec_verify(EVP_PKEY_CTX *ctx,\n                          const
      unsigned char *sig, size_t siglen,\n                          const unsigned
      char *tbs, size_t tbslen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:176,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/ec/ec_pmeth.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:181,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/ec/ec_pmeth.c:186,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_pmeth.c:190,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_pmeth.c:194,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ec_pmeth.c:197,1
    - Dst: ECDH_compute_key
      Src: /src/openssl/crypto/ec/ec_pmeth.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 166
    functionDepth: 9
    functionLinenumber: 166
    functionLinenumberEnd: 211
    functionName: pkey_ec_derive
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - ECDH_compute_key
    - EC_GROUP_get_degree
    - ERR_raise
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    linkageType: ''
    returnType: int
    signature: int pkey_ec_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pkey_ec_derive
      Src: /src/openssl/crypto/ec/ec_pmeth.c:221,1
    - Dst: pkey_ec_derive
      Src: /src/openssl/crypto/ec/ec_pmeth.c:228,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_pmeth.c:230,1
    - Dst: pkey_ec_derive
      Src: /src/openssl/crypto/ec/ec_pmeth.c:232,1
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/openssl/crypto/ec/ec_pmeth.c:235,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 10
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: pkey_ec_kdf_derive
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - ossl_ecdh_kdf_X9_63
    - pkey_ec_derive
    - OPENSSL_clear_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int pkey_ec_kdf_derive(EVP_PKEY_CTX *ctx,\n                              unsigned
      char *key, size_t *keylen)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/crypto/ec/ec_pmeth.c:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:255,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:258,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:264,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_pmeth.c:267,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/ec/ec_pmeth.c:276,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/crypto/ec/ec_pmeth.c:277,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/ec/ec_pmeth.c:283,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/ec/ec_pmeth.c:289,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:290,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ec/ec_pmeth.c:296,1
    - Dst: EC_KEY_dup
      Src: /src/openssl/crypto/ec/ec_pmeth.c:299,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_pmeth.c:304,1
    - Dst: EC_KEY_clear_flags
      Src: /src/openssl/crypto/ec/ec_pmeth.c:306,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:341,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:354,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:355,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:356,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:357,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:358,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:359,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:360,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:361,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:362,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:363,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ec/ec_pmeth.c:364,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:365,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 99
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 247
    functionDepth: 9
    functionLinenumber: 247
    functionLinenumberEnd: 386
    functionName: pkey_ec_ctrl
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_KEY_set_flags
    - EVP_PKEY_get0_EC_KEY
    - BN_is_one
    - EC_KEY_dup
    - EC_GROUP_set_asn1_flag
    - EC_KEY_free
    - EC_GROUP_free
    - EC_KEY_clear_flags
    - OPENSSL_free
    - EVP_MD_get_type
    - EC_GROUP_new_by_curve_name
    - evp_pkey_is_provided
    - EC_KEY_get_flags
    linkageType: ''
    returnType: int
    signature: int pkey_ec_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/ec/ec_pmeth.c:391,1
    - Dst: EC_curve_nist2nid
      Src: /src/openssl/crypto/ec/ec_pmeth.c:393,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/ec/ec_pmeth.c:395,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/ec/ec_pmeth.c:397,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:399,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/crypto/ec/ec_pmeth.c:402,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ec/ec_pmeth.c:403,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ec/ec_pmeth.c:405,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ec/ec_pmeth.c:407,1
    - Dst: EVP_PKEY_CTX_set_ec_param_enc
      Src: /src/openssl/crypto/ec/ec_pmeth.c:411,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ec/ec_pmeth.c:412,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/ec/ec_pmeth.c:414,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:415,1
    - Dst: EVP_PKEY_CTX_set_ecdh_kdf_md
      Src: /src/openssl/crypto/ec/ec_pmeth.c:418,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ec/ec_pmeth.c:419,1
    - Dst: atoi
      Src: /src/openssl/crypto/ec/ec_pmeth.c:421,1
    - Dst: EVP_PKEY_CTX_set_ecdh_cofactor_mode
      Src: /src/openssl/crypto/ec/ec_pmeth.c:422,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 426
    functionName: pkey_ec_ctrl_str
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - ERR_raise
    - atoi
    - EVP_PKEY_CTX_set_ec_param_enc
    - OBJ_ln2nid
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_get_digestbyname
    - strcmp
    - EC_curve_nist2nid
    - EVP_PKEY_CTX_set_ecdh_cofactor_mode
    - EVP_PKEY_CTX_set_ecdh_kdf_md
    linkageType: ''
    returnType: int
    signature: "int pkey_ec_ctrl_str(EVP_PKEY_CTX *ctx,\n                            const
      char *type, const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:435,1
    - Dst: EC_KEY_new
      Src: /src/openssl/crypto/ec/ec_pmeth.c:438,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/crypto/ec/ec_pmeth.c:441,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ec/ec_pmeth.c:442,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_pmeth.c:442,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: pkey_ec_paramgen
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - EC_KEY_new
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_set_group
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: int pkey_ec_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_pmeth.c:454,1
    - Dst: EC_KEY_new
      Src: /src/openssl/crypto/ec/ec_pmeth.c:457,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ec/ec_pmeth.c:460,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_pmeth.c:460,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_pmeth.c:461,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/crypto/ec/ec_pmeth.c:466,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/crypto/ec/ec_pmeth.c:468,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/crypto/ec/ec_pmeth.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 471
    functionName: pkey_ec_keygen
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - EC_KEY_generate_key
    - EC_KEY_new
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_set_group
    - EC_KEY_free
    - EVP_PKEY_copy_parameters
    linkageType: ''
    returnType: int
    signature: int pkey_ec_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: ossl_ec_pkey_method
    functionSourceFile: /src/openssl/crypto/ec/ec_pmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_ec_pkey_method(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:197,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:198,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_asn1.c:200,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_asn1.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:203,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:209,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_asn1.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:214,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/ec/ec_asn1.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:220,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:226,1
    - Dst: X9_62_CHARACTERISTIC_TWO_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:234,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:238,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_asn1.c:242,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/crypto/ec/ec_asn1.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:247,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_asn1.c:251,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:252,1
    - Dst: EC_GROUP_get_trinomial_basis
      Src: /src/openssl/crypto/ec/ec_asn1.c:259,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:264,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ec/ec_asn1.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:268,1
    - Dst: EC_GROUP_get_pentanomial_basis
      Src: /src/openssl/crypto/ec/ec_asn1.c:274,1
    - Dst: X9_62_PENTANOMIAL_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:277,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:279,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:290,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:292,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:299,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 95
    argCount: 2
    argNames:
    - group
    - field
    argTypes:
    - EC_GROUP*
    - X9_62_FIELDID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 301
    functionName: ec_asn1_group2fieldid
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_degree
    - EC_GROUP_get_basis_type
    - ERR_raise
    - X9_62_PENTANOMIAL_new
    - X9_62_CHARACTERISTIC_TWO_new
    - EC_GROUP_get_pentanomial_basis
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - ASN1_NULL_new
    - OBJ_nid2obj
    - BN_new
    - BN_to_ASN1_INTEGER
    - EC_GROUP_get_trinomial_basis
    - ASN1_TYPE_free
    - EC_GROUP_get_curve
    - EC_GROUP_get_field_type
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int ec_asn1_group2fieldid(const EC_GROUP *group, X9_62_FIELDID *field)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:320,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:321,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_asn1.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:327,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_asn1.c:336,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_asn1.c:337,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_asn1.c:338,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_asn1.c:340,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_asn1.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:342,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ec/ec_asn1.c:347,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ec/ec_asn1.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:349,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:356,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:357,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/ec/ec_asn1.c:360,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/openssl/crypto/ec/ec_asn1.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:363,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:367,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:374,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:375,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:376,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:377,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 2
    argNames:
    - group
    - curve
    argTypes:
    - EC_GROUP*
    - X9_62_CURVE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 379
    functionName: ec_asn1_group2curve
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_string_set_bits_left
    - ASN1_BIT_STRING_set
    - EC_GROUP_get_degree
    - ERR_raise
    - ASN1_BIT_STRING_new
    - ASN1_OCTET_STRING_set
    - ASN1_BIT_STRING_free
    - OPENSSL_free
    - BN_new
    - BN_free
    - BN_bn2binpad
    - EC_GROUP_get_curve
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ec_asn1_group2curve(const EC_GROUP *group, X9_62_CURVE *curve)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ECPARAMETERS_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:393,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:394,1
    - Dst: ec_asn1_group2fieldid
      Src: /src/openssl/crypto/ec/ec_asn1.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:405,1
    - Dst: ec_asn1_group2curve
      Src: /src/openssl/crypto/ec/ec_asn1.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:411,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_asn1.c:416,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:417,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_asn1.c:421,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_asn1.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:425,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:428,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:430,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/ec/ec_asn1.c:433,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_asn1.c:436,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:438,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/ec/ec_asn1.c:441,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:444,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_asn1.c:449,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/ec/ec_asn1.c:451,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:454,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:463,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - ECPARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 381
    functionDepth: 6
    functionLinenumber: 381
    functionLinenumberEnd: 465
    functionName: EC_GROUP_get_ecparameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - ec_asn1_group2curve
    - ERR_raise
    - ASN1_STRING_set0
    - ASN1_OCTET_STRING_new
    - OPENSSL_free
    - ECPARAMETERS_new
    - ECPARAMETERS_free
    - BN_to_ASN1_INTEGER
    - ec_asn1_group2fieldid
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get0_generator
    - EC_GROUP_get_point_conversion_form
    - EC_GROUP_get0_order
    - EC_POINT_point2buf
    linkageType: ''
    returnType: ECPARAMETERS
    signature: "ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group,\n                                        ECPARAMETERS
      *params)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ECPKPARAMETERS_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:475,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:480,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:483,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/crypto/ec/ec_asn1.c:486,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_asn1.c:490,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_asn1.c:492,1
    - Dst: OBJ_length
      Src: /src/openssl/crypto/ec/ec_asn1.c:494,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:495,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:496,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:509,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - ECPKPARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 467
    functionDepth: 7
    functionLinenumber: 467
    functionLinenumberEnd: 518
    functionName: EC_GROUP_get_ecpkparameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_GROUP_get_asn1_flag
    - ECPKPARAMETERS_new
    - ECPARAMETERS_free
    - OBJ_nid2obj
    - OBJ_length
    - EC_GROUP_get_ecparameters
    - ECPKPARAMETERS_free
    - EC_GROUP_get_curve_name
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: ECPKPARAMETERS
    signature: "ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(const EC_GROUP *group,\n
      \                                           ECPKPARAMETERS *params)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:533,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:546,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_asn1.c:549,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:551,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_asn1.c:554,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:556,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_asn1.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:565,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:576,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:581,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_asn1.c:586,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:592,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ec/ec_asn1.c:596,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:599,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:604,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:606,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:608,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:622,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:627,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:629,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:631,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:633,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_asn1.c:635,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:638,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:642,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/crypto/ec/ec_asn1.c:647,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:654,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/ec/ec_asn1.c:657,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:659,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_asn1.c:663,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_asn1.c:663,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:664,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_asn1.c:668,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:670,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/crypto/ec/ec_asn1.c:675,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:677,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 131
    argCount: 1
    argNames:
    - params
    argTypes:
    - ECPARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 520
    functionDepth: 5
    functionLinenumber: 520
    functionLinenumberEnd: 679
    functionName: EC_GROUP_new_from_ecparameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_new_curve_GFp
    - OBJ_obj2nid
    - ERR_raise
    - BN_is_negative
    - BN_is_zero
    - BN_bin2bn
    - EC_GROUP_new_curve_GF2m
    - ASN1_INTEGER_to_BN
    - BN_new
    - BN_set_bit
    - BN_num_bits
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:852,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_asn1.c:858,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/crypto/ec/ec_asn1.c:859,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:860,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_asn1.c:863,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:866,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:868,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_asn1.c:871,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:876,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - params
    argTypes:
    - ECPKPARAMETERS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 846
    functionDepth: 6
    functionLinenumber: 846
    functionLinenumberEnd: 881
    functionName: EC_GROUP_new_from_ecpkparameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_new_from_ecparameters
    - ERR_raise
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_new_by_curve_name
    - OBJ_obj2nid
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECPKPARAMETERS
      Src: /src/openssl/crypto/ec/ec_asn1.c:891,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:892,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:896,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:897,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:905,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_GROUP**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 885
    functionDepth: 7
    functionLinenumber: 885
    functionLinenumberEnd: 912
    functionName: d2i_ECPKParameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_free
    - d2i_ECPKPARAMETERS
    - ECPKPARAMETERS_free
    - EC_GROUP_new_from_ecpkparameters
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *d2i_ECPKParameters(EC_GROUP **a, const unsigned char **in,
      long len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:917,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:919,1
    - Dst: i2d_ECPKPARAMETERS
      Src: /src/openssl/crypto/ec/ec_asn1.c:922,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:923,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:924,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_GROUP*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 914
    functionDepth: 8
    functionLinenumber: 914
    functionLinenumberEnd: 929
    functionName: i2d_ECPKParameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - i2d_ECPKPARAMETERS
    - EC_GROUP_get_ecpkparameters
    - ERR_raise
    - ECPKPARAMETERS_free
    linkageType: ''
    returnType: int
    signature: int i2d_ECPKParameters(const EC_GROUP *a, unsigned char **out)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: d2i_EC_PRIVATEKEY
      Src: /src/openssl/crypto/ec/ec_asn1.c:939,1
    - Dst: EC_KEY_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:943,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:944,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:951,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:952,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:959,1
    - Dst: EC_KEY_oct2priv
      Src: /src/openssl/crypto/ec/ec_asn1.c:967,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ec/ec_asn1.c:967,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ec/ec_asn1.c:968,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:971,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_asn1.c:975,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_asn1.c:976,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:978,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:979,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:981,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ec/ec_asn1.c:989,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ec/ec_asn1.c:990,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/crypto/ec/ec_asn1.c:991,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:992,1
    - Dst: EC_KEY*::group::meth::keygenpub
      Src: /src/openssl/crypto/ec/ec_asn1.c:997,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1005,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1012,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1013,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 933
    functionDepth: 7
    functionLinenumber: 933
    functionLinenumberEnd: 1015
    functionName: d2i_ECPrivateKey
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_POINT_clear_free
    - d2i_EC_PRIVATEKEY
    - ERR_raise
    - EC_KEY_set_flags
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - EC_KEY*::group::meth::keygenpub
    - EC_PRIVATEKEY_free
    - EC_KEY_new
    - EC_GROUP_free
    - EC_GROUP_new_from_ecpkparameters
    - EC_KEY_oct2key
    - EC_KEY_oct2priv
    - EC_POINT_new
    - EC_KEY_free
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *d2i_ECPrivateKey(EC_KEY **a, const unsigned char **in, long
      len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1027,1
    - Dst: EC_PRIVATEKEY_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1031,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1032,1
    - Dst: EC_KEY_priv2buf
      Src: /src/openssl/crypto/ec/ec_asn1.c:1038,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1041,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/ec/ec_asn1.c:1045,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:1050,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1052,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1058,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1060,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/crypto/ec/ec_asn1.c:1064,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1067,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/ec/ec_asn1.c:1071,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/ec/ec_asn1.c:1072,1
    - Dst: i2d_EC_PRIVATEKEY
      Src: /src/openssl/crypto/ec/ec_asn1.c:1076,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1077,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1082,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1083,1
    - Dst: EC_PRIVATEKEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1084,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1017
    functionDepth: 8
    functionLinenumber: 1017
    functionLinenumberEnd: 1086
    functionName: i2d_ECPrivateKey
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_KEY_key2buf
    - ossl_asn1_string_set_bits_left
    - i2d_EC_PRIVATEKEY
    - ERR_raise
    - ASN1_BIT_STRING_new
    - OPENSSL_clear_free
    - EC_PRIVATEKEY_free
    - EC_KEY_priv2buf
    - OPENSSL_free
    - EC_PRIVATEKEY_new
    - ASN1_STRING_set0
    - EC_GROUP_get_ecpkparameters
    linkageType: ''
    returnType: int
    signature: int i2d_ECPrivateKey(const EC_KEY *a, unsigned char **out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1091,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1088
    functionDepth: 9
    functionLinenumber: 1088
    functionLinenumberEnd: 1095
    functionName: i2d_ECParameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - i2d_ECPKParameters
    linkageType: ''
    returnType: int
    signature: int i2d_ECParameters(const EC_KEY *a, unsigned char **out)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1102,1
    - Dst: EC_KEY_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1108,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/crypto/ec/ec_asn1.c:1114,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1116,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_asn1.c:1122,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_asn1.c:1123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1097
    functionDepth: 8
    functionLinenumber: 1097
    functionLinenumberEnd: 1131
    functionName: d2i_ECParameters
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_KEY_set_flags
    - EC_KEY_new
    - d2i_ECPKParameters
    - EC_KEY_free
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *d2i_ECParameters(EC_KEY **a, const unsigned char **in, long
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1141,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/crypto/ec/ec_asn1.c:1146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - EC_KEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1152
    functionName: o2i_ECPublicKey
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_KEY_oct2key
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *o2i_ECPublicKey(EC_KEY **a, const unsigned char **in, long
      len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1160,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/crypto/ec/ec_asn1.c:1164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1168,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_asn1.c:1176,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/crypto/ec/ec_asn1.c:1180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_asn1.c:1182,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1192
    functionName: i2o_ECPublicKey
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached:
    - EC_POINT_point2oct
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int i2o_ECPublicKey(const EC_KEY *a, unsigned char **out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_asn1.c:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1204
    functionName: ECDSA_SIG_new
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ECDSA_SIG
    signature: ECDSA_SIG *ECDSA_SIG_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1210,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - ECDSA_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1206
    functionDepth: 3
    functionLinenumber: 1206
    functionLinenumberEnd: 1213
    functionName: ECDSA_SIG_free
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 2
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ECDSA_SIG_free(ECDSA_SIG *sig)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1224,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1229,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1231,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/crypto/ec/ec_asn1.c:1233,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1235,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - psig
    - ppin
    - len
    argTypes:
    - ECDSA_SIG**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1215
    functionDepth: 4
    functionLinenumber: 1215
    functionLinenumberEnd: 1241
    functionName: d2i_ECDSA_SIG
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 1
    functionsReached:
    - ECDSA_SIG_new
    - ossl_decode_der_dsa_sig
    - BN_new
    - ECDSA_SIG_free
    linkageType: ''
    returnType: ECDSA_SIG
    signature: ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **psig, const unsigned char **ppin,
      long len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_null
      Src: /src/openssl/crypto/ec/ec_asn1.c:1250,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/ec/ec_asn1.c:1253,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/crypto/ec/ec_asn1.c:1254,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1255,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/ec/ec_asn1.c:1259,1
    - Dst: ossl_encode_der_dsa_sig
      Src: /src/openssl/crypto/ec/ec_asn1.c:1263,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/ec/ec_asn1.c:1264,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/ec/ec_asn1.c:1265,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1266,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/ec/ec_asn1.c:1267,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1275,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - sig
    - ppout
    argTypes:
    - ECDSA_SIG*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1243
    functionDepth: 6
    functionLinenumber: 1243
    functionLinenumberEnd: 1282
    functionName: i2d_ECDSA_SIG
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 2
    functionsReached:
    - ossl_encode_der_dsa_sig
    - WPACKET_init_null
    - BUF_MEM_free
    - WPACKET_finish
    - WPACKET_cleanup
    - WPACKET_get_total_written
    - WPACKET_init_len
    - BUF_MEM_new
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **ppout)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - sig
    - pr
    - ps
    argTypes:
    - ECDSA_SIG*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1290
    functionName: ECDSA_SIG_get0
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const
      BIGNUM **ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - ECDSA_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1295
    functionName: ECDSA_SIG_get0_r
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - ECDSA_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1300
    functionName: ECDSA_SIG_get0_s
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1306,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_asn1.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - ECDSA_SIG*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1302
    functionDepth: 3
    functionLinenumber: 1302
    functionLinenumberEnd: 1311
    functionName: ECDSA_SIG_set0
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 1
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_asn1.c:1322,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_asn1.c:1326,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/ec/ec_asn1.c:1331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ec
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1313
    functionDepth: 7
    functionLinenumber: 1313
    functionLinenumberEnd: 1336
    functionName: ECDSA_size
    functionSourceFile: /src/openssl/crypto/ec/ec_asn1.c
    functionUses: 1
    functionsReached:
    - i2d_ECDSA_SIG
    - EC_KEY_get0_group
    - EC_GROUP_get0_order
    linkageType: ''
    returnType: int
    signature: int ECDSA_size(const EC_KEY *ec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GFp_mont_method
      Src: /src/openssl/crypto/ec/ec_cvt.c:49,1
    - Dst: BN_nist_mod_func
      Src: /src/openssl/crypto/ec/ec_cvt.c:51,1
    - Dst: EC_GFp_nist_method
      Src: /src/openssl/crypto/ec/ec_cvt.c:52,1
    - Dst: EC_GFp_mont_method
      Src: /src/openssl/crypto/ec/ec_cvt.c:54,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_cvt.c:57,1
    - Dst: ossl_bn_get_libctx
      Src: /src/openssl/crypto/ec/ec_cvt.c:57,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/crypto/ec/ec_cvt.c:61,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_cvt.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - p
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 67
    functionName: EC_GROUP_new_curve_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_cvt.c
    functionUses: 1
    functionsReached:
    - EC_GFp_nist_method
    - ossl_bn_get_libctx
    - EC_GROUP_free
    - BN_nist_mod_func
    - ossl_ec_group_new_ex
    - EC_GFp_mont_method
    - EC_GROUP_set_curve
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a,\n
      \                                const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GF2m_simple_method
      Src: /src/openssl/crypto/ec/ec_cvt.c:76,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_cvt.c:78,1
    - Dst: ossl_bn_get_libctx
      Src: /src/openssl/crypto/ec/ec_cvt.c:78,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/crypto/ec/ec_cvt.c:82,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_cvt.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - p
    - a
    - b
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: EC_GROUP_new_curve_GF2m
    functionSourceFile: /src/openssl/crypto/ec/ec_cvt.c
    functionUses: 1
    functionsReached:
    - ossl_bn_get_libctx
    - EC_GROUP_free
    - ossl_ec_group_new_ex
    - EC_GF2m_simple_method
    - EC_GROUP_set_curve
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a,\n
      \                                 const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_new_method_int
      Src: /src/openssl/crypto/ec/ec_key.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: EC_KEY_new
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 4
    functionsReached:
    - ossl_ec_key_new_method_int
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EC_KEY_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_new_method_int
      Src: /src/openssl/crypto/ec/ec_key.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: EC_KEY_new_ex
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_new_method_int
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EC_KEY_new_ex(OSSL_LIB_CTX *ctx, const char *propq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:48,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_key.c:51,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_key.c:53,1
    - Dst: EC_KEY*::meth::set_group
      Src: /src/openssl/crypto/ec/ec_key.c:57,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_key.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - propq
    - nid
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: EC_KEY_new_by_curve_name_ex
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_new_by_curve_name_ex
    - EC_KEY_new_ex
    - EC_KEY*::meth::set_group
    - EC_KEY_free
    linkageType: ''
    returnType: EC_KEY
    signature: "EC_KEY *EC_KEY_new_by_curve_name_ex(OSSL_LIB_CTX *ctx, const char
      *propq,\n                                    int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_key.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: EC_KEY_new_by_curve_name
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_KEY_new_by_curve_name_ex
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EC_KEY_new_by_curve_name(int nid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/ec/ec_key.c:78,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ec_key.c:79,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ec_key.c:82,1
    - Dst: EC_KEY*::meth::finish
      Src: /src/openssl/crypto/ec/ec_key.c:85,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/ec/ec_key.c:88,1
    - Dst: EC_KEY*::group::meth::keyfinish
      Src: /src/openssl/crypto/ec/ec_key.c:92,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/ec/ec_key.c:95,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ec_key.c:97,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_key.c:98,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:99,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:100,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_key.c:101,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - r
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: EC_KEY_free
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 10
    functionsReached:
    - EC_POINT_free
    - REF_PRINT_COUNT
    - BN_clear_free
    - OPENSSL_clear_free
    - CRYPTO_DOWN_REF
    - EC_GROUP_free
    - REF_ASSERT_ISNT
    - ENGINE_finish
    - CRYPTO_free_ex_data
    - EC_KEY*::meth::finish
    - OPENSSL_free
    - EC_KEY*::group::meth::keyfinish
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EC_KEY_free(EC_KEY *r)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:109,1
    - Dst: EC_KEY*::meth::finish
      Src: /src/openssl/crypto/ec/ec_key.c:114,1
    - Dst: EC_KEY*::group::meth::keyfinish
      Src: /src/openssl/crypto/ec/ec_key.c:116,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/ec/ec_key.c:118,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_key.c:127,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:128,1
    - Dst: EC_GROUP_copy
      Src: /src/openssl/crypto/ec/ec_key.c:132,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:137,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:138,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_key.c:141,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_key.c:147,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_key.c:151,1
    - Dst: EC_KEY*::group::meth::keycopy
      Src: /src/openssl/crypto/ec/ec_key.c:154,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/ec/ec_key.c:166,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/ec/ec_key.c:173,1
    - Dst: EC_KEY*::meth::copy
      Src: /src/openssl/crypto/ec/ec_key.c:180,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_KEY*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 186
    functionName: EC_KEY_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_GROUP_copy
    - EC_KEY*::meth::copy
    - CRYPTO_dup_ex_data
    - ENGINE_init
    - EC_POINT_copy
    - EC_KEY*::group::meth::keycopy
    - EC_GROUP_free
    - ENGINE_finish
    - EC_KEY*::meth::finish
    - ossl_ec_group_new_ex
    - BN_new
    - EC_KEY*::group::meth::keyfinish
    - BN_copy
    - EC_POINT_new
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EC_KEY_copy(EC_KEY *dest, const EC_KEY *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_dup
      Src: /src/openssl/crypto/ec/ec_key.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec_key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: EC_KEY_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 2
    functionsReached:
    - ossl_ec_key_dup
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EC_KEY_dup(const EC_KEY *ec_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/ec/ec_key.c:197,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ec_key.c:200,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ec_key.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: EC_KEY_up_ref
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 2
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int EC_KEY_up_ref(EC_KEY *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: EC_KEY_get0_engine
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:213,1
    - Dst: EC_KEY*::meth::keygen
      Src: /src/openssl/crypto/ec/ec_key.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: EC_KEY_generate_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - EC_KEY*::meth::keygen
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EC_KEY_generate_key(EC_KEY *eckey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::group::meth::keygen
      Src: /src/openssl/crypto/ec/ec_key.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: ossl_ec_key_gen
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_KEY*::group::meth::keygen
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_gen(EC_KEY *eckey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/crypto/ec/ec_key.c:261,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/ec/ec_key.c:265,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:268,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:272,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec_key.c:275,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ec_key.c:277,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/ec/ec_key.c:278,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_key.c:279,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:281,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/ec/ec_key.c:284,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/ec/ec_key.c:285,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - eckey
    - ctx
    - cb
    - cbarg
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 288
    functionName: ecdsa_keygen_knownanswer_test
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - OSSL_SELF_TEST_onbegin
    - EC_POINT_mul
    - OSSL_SELF_TEST_new
    - BN_num_bytes
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_free
    - BN_bin2bn
    - EC_POINT_cmp
    - BN_bn2bin
    - EC_POINT_new
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int ecdsa_keygen_knownanswer_test(EC_KEY *eckey, BN_CTX *ctx,\n                                         OSSL_CALLBACK
      *cb, void *cbarg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:310,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/crypto/ec/ec_key.c:311,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ec_key.c:317,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_key.c:329,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_key.c:344,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ec/ec_key.c:345,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec_key.c:345,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ec/ec_key.c:348,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ec_key.c:354,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_key.c:356,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:359,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:366,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/crypto/ec/ec_key.c:385,1
    - Dst: ecdsa_keygen_pairwise_test
      Src: /src/openssl/crypto/ec/ec_key.c:386,1
    - Dst: ecdsa_keygen_knownanswer_test
      Src: /src/openssl/crypto/ec/ec_key.c:387,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/crypto/ec/ec_key.c:392,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/ec/ec_key.c:393,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_key.c:395,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:398,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:399,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_key.c:400,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_key.c:401,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 2
    argNames:
    - eckey
    - pairwise_test
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 302
    functionDepth: 8
    functionLinenumber: 302
    functionLinenumberEnd: 403
    functionName: ec_generate_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EC_POINT_mul
    - BN_is_zero
    - BN_CTX_secure_new_ex
    - BN_dup
    - EC_KEY_get_flags
    - OSSL_SELF_TEST_get_callback
    - ossl_set_error_state
    - BN_clear
    - BN_CTX_free
    - ecdsa_keygen_pairwise_test
    - BN_new
    - BN_free
    - EC_GROUP_get0_order
    - EC_POINT_set_to_infinity
    - BN_clear_free
    - BN_priv_rand_range_ex
    - BN_sub
    - EC_POINT_new
    - BN_secure_new
    - BN_value_one
    - ecdsa_keygen_knownanswer_test
    linkageType: ''
    returnType: int
    signature: int ec_generate_key(EC_KEY *eckey, int pairwise_test)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ec_key.c:416,1
    - Dst: ossl_ec_dhkem_derive_private
      Src: /src/openssl/crypto/ec/ec_key.c:420,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:423,1
    - Dst: ossl_ec_key_simple_generate_public_key
      Src: /src/openssl/crypto/ec/ec_key.c:427,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:433,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_key.c:436,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - eckey
    - ikm
    - ikmlen
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 439
    functionName: ossl_ec_generate_key_dhkem
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_to_infinity
    - ossl_ec_dhkem_derive_private
    - BN_clear_free
    - BN_secure_new
    - EC_POINT_new
    - ossl_ec_key_simple_generate_public_key
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_generate_key_dhkem(EC_KEY *eckey,\n                               const
      unsigned char *ikm, size_t ikmlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_generate_key
      Src: /src/openssl/crypto/ec/ec_key.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 9
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: ossl_ec_key_simple_generate_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - ec_generate_key
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_simple_generate_key(EC_KEY *eckey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:450,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:459,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_key.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 467
    functionName: ossl_ec_key_simple_generate_public_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - EC_POINT_mul
    - BN_CTX_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_simple_generate_public_key(EC_KEY *eckey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:472,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:477,1
    - Dst: EC_KEY*::group::meth::keycheck
      Src: /src/openssl/crypto/ec/ec_key.c:481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 482
    functionName: EC_KEY_check_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_KEY*::group::meth::keycheck
    linkageType: ''
    returnType: int
    signature: int EC_KEY_check_key(const EC_KEY *eckey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_key.c:498,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_key.c:499,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_key.c:500,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_key.c:504,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_key.c:507,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_key.c:508,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:509,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_key.c:510,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:511,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_key.c:515,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_key.c:516,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_key.c:516,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_key.c:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - BN_CTX*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 524
    functionName: ec_key_public_range_check
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - EC_GROUP_get_degree
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_negative
    - BN_cmp
    - EC_POINT_get_affine_coordinates
    - BN_num_bits
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: int ec_key_public_range_check(BN_CTX *ctx, const EC_KEY *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:533,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec_key.c:538,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:539,1
    - Dst: ec_key_public_range_check
      Src: /src/openssl/crypto/ec/ec_key.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:545,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/crypto/ec/ec_key.c:550,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 530
    functionDepth: 4
    functionLinenumber: 530
    functionLinenumberEnd: 555
    functionName: ossl_ec_key_public_check_quick
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_is_on_curve
    - ERR_raise
    - ec_key_public_range_check
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_public_check_quick(const EC_KEY *eckey, BN_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_key.c:566,1
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/openssl/crypto/ec/ec_key.c:568,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ec/ec_key.c:571,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:576,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_key.c:581,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:582,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:586,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:587,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec_key.c:590,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:591,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:596,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 561
    functionDepth: 5
    functionLinenumber: 561
    functionLinenumberEnd: 598
    functionName: ossl_ec_key_public_check
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_POINT_new
    - ossl_ec_key_public_check_quick
    - EC_POINT_mul
    - BN_is_one
    - BN_is_zero
    - EC_GROUP_get0_cofactor
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_public_check(const EC_KEY *eckey, BN_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:608,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:611,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec_key.c:611,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:612,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 617
    functionName: ossl_ec_key_private_check
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_value_one
    - BN_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_private_check(const EC_KEY *eckey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:633,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:637,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_key.c:642,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:643,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:646,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:647,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:652,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - eckey
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 654
    functionName: ossl_ec_key_pairwise_check
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_POINT_mul
    - EC_POINT_cmp
    - EC_POINT_new
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_pairwise_check(const EC_KEY *eckey, BN_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:673,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:676,1
    - Dst: ossl_ec_key_public_check
      Src: /src/openssl/crypto/ec/ec_key.c:679,1
    - Dst: ossl_ec_key_private_check
      Src: /src/openssl/crypto/ec/ec_key.c:683,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/openssl/crypto/ec/ec_key.c:684,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_key.c:689,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 667
    functionDepth: 6
    functionLinenumber: 667
    functionLinenumberEnd: 691
    functionName: ossl_ec_key_simple_check_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new_ex
    - ERR_raise
    - ossl_ec_key_public_check
    - BN_CTX_free
    - ossl_ec_key_pairwise_check
    - ossl_ec_key_private_check
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_simple_check_key(const EC_KEY *eckey)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:702,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_key.c:705,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_key.c:709,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:710,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_key.c:715,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_key.c:716,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_key.c:720,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_key.c:722,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:729,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_key.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:730,1
    - Dst: EC_KEY_set_public_key
      Src: /src/openssl/crypto/ec/ec_key.c:735,1
    - Dst: EC_KEY_check_key
      Src: /src/openssl/crypto/ec/ec_key.c:738,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_key.c:744,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_key.c:745,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:746,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 3
    argNames:
    - key
    - x
    - y
    argTypes:
    - EC_KEY*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 749
    functionName: EC_KEY_set_public_key_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - BN_CTX_get
    - EC_KEY_set_public_key
    - ERR_raise
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - BN_cmp
    - BN_CTX_free
    - EC_POINT_get_affine_coordinates
    - EC_KEY_check_key
    - EC_POINT_new
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x,\n
      \                                            BIGNUM *y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: ossl_ec_key_get_libctx
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_ec_key_get_libctx(const EC_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: ossl_ec_key_get0_propq
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_ec_key_get0_propq(const EC_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - libctx
    argTypes:
    - EC_KEY*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: ossl_ec_key_set0_libctx
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ec_key_set0_libctx(EC_KEY *key, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: EC_KEY_get0_group
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *EC_KEY_get0_group(const EC_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::meth::set_group
      Src: /src/openssl/crypto/ec/ec_key.c:774,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_key.c:776,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/crypto/ec/ec_key.c:777,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_key.c:778,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_key.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - key
    - group
    argTypes:
    - EC_KEY*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 783
    functionName: EC_KEY_set_group
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 2
    functionsReached:
    - EC_GROUP_dup
    - EC_KEY_set_flags
    - EC_KEY*::meth::set_group
    - EC_GROUP_free
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 788
    functionName: EC_KEY_get0_private_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_key.c:807,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_key.c:808,1
    - Dst: EC_KEY*::group::meth::set_private
      Src: /src/openssl/crypto/ec/ec_key.c:812,1
    - Dst: EC_KEY*::meth::set_private
      Src: /src/openssl/crypto/ec/ec_key.c:815,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:823,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ec/ec_key.c:866,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/ec/ec_key.c:870,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ec_key.c:872,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_key.c:873,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:874,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_key.c:878,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - key
    - priv_key
    argTypes:
    - EC_KEY*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 790
    functionDepth: 4
    functionLinenumber: 790
    functionLinenumberEnd: 883
    functionName: EC_KEY_set_private_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - bn_get_top
    - BN_clear_free
    - BN_is_zero
    - bn_wexpand
    - EC_KEY*::group::meth::set_private
    - BN_dup
    - BN_set_flags
    - EC_GROUP_get0_order
    - EC_KEY*::meth::set_private
    linkageType: ''
    returnType: int
    signature: int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *priv_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 888
    functionName: EC_KEY_get0_public_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::meth::set_public
      Src: /src/openssl/crypto/ec/ec_key.c:893,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_key.c:895,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/crypto/ec/ec_key.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - pub_key
    argTypes:
    - EC_KEY*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 899
    functionName: EC_KEY_set_public_key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - EC_POINT_free
    - EC_KEY*::meth::set_public
    - EC_POINT_dup
    linkageType: ''
    returnType: int
    signature: int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 904
    functionName: EC_KEY_get_enc_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int EC_KEY_get_enc_flags(const EC_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - EC_KEY*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 909
    functionName: EC_KEY_set_enc_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_KEY_set_enc_flags(EC_KEY *key, unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 914
    functionName: EC_KEY_get_conv_form
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: point_conversion_form_t
    signature: point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_key.c:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - cform
    argTypes:
    - EC_KEY*
    - point_conversion_form_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 921
    functionName: EC_KEY_set_conv_form
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_point_conversion_form
    linkageType: ''
    returnType: void
    signature: void EC_KEY_set_conv_form(EC_KEY *key, point_conversion_form_t cform)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_key.c:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - flag
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 927
    functionName: EC_KEY_set_asn1_flag
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_asn1_flag
    linkageType: ''
    returnType: void
    signature: void EC_KEY_set_asn1_flag(EC_KEY *key, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_precompute_mult
      Src: /src/openssl/crypto/ec/ec_key.c:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - EC_KEY*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 935
    functionName: EC_KEY_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_precompute_mult
    linkageType: ''
    returnType: int
    signature: int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 941
    functionName: EC_KEY_get_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EC_KEY_get_flags(const EC_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 947
    functionName: EC_KEY_set_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_KEY_set_flags(EC_KEY *key, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 953
    functionName: EC_KEY_clear_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_KEY_clear_flags(EC_KEY *key, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: EC_KEY_decoded_from_explicit_params
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EC_KEY_decoded_from_explicit_params(const EC_KEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_key.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - key
    - form
    - pbuf
    - ctx
    argTypes:
    - EC_KEY*
    - point_conversion_form_t
    - unsigned char**
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 968
    functionName: EC_KEY_key2buf
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - EC_POINT_point2buf
    linkageType: ''
    returnType: size_t
    signature: "size_t EC_KEY_key2buf(const EC_KEY *key, point_conversion_form_t form,\n
      \                       unsigned char **pbuf, BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_key.c:976,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/crypto/ec/ec_key.c:979,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - key
    - buf
    - len
    - ctx
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 992
    functionName: EC_KEY_oct2key
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 2
    functionsReached:
    - EC_POINT_new
    - EC_POINT_oct2point
    linkageType: ''
    returnType: int
    signature: "int EC_KEY_oct2key(EC_KEY *key, const unsigned char *buf, size_t len,\n
      \                  BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:1000,1
    - Dst: EC_KEY*::group::meth::priv2oct
      Src: /src/openssl/crypto/ec/ec_key.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - eckey
    - buf
    - len
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1005
    functionName: EC_KEY_priv2oct
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_KEY*::group::meth::priv2oct
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: "size_t EC_KEY_priv2oct(const EC_KEY *eckey,\n                       unsigned
      char *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/crypto/ec/ec_key.c:1012,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_key.c:1022,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:1023,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - eckey
    - buf
    - len
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1007
    functionDepth: 5
    functionLinenumber: 1007
    functionLinenumberEnd: 1028
    functionName: ossl_ec_key_simple_priv2oct
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_order_bits
    - BN_bn2binpad
    - ERR_raise
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_ec_key_simple_priv2oct(const EC_KEY *eckey,\n                                   unsigned
      char *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:1037,1
    - Dst: EC_KEY*::group::meth::oct2priv
      Src: /src/openssl/crypto/ec/ec_key.c:1040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - eckey
    - buf
    - len
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    functionName: EC_KEY_oct2priv
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - EC_KEY*::group::meth::oct2priv
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EC_KEY_oct2priv(EC_KEY *eckey, const unsigned char *buf, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:1050,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ec_key.c:1054,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:1056,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_key.c:1059,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_key.c:1060,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - eckey
    - buf
    - len
    argTypes:
    - EC_KEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1046
    functionDepth: 5
    functionLinenumber: 1046
    functionLinenumberEnd: 1065
    functionName: ossl_ec_key_simple_oct2priv
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 0
    functionsReached:
    - BN_secure_new
    - ERR_raise
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_key_simple_oct2priv(EC_KEY *eckey, const unsigned char
      *buf,\n                                size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_priv2oct
      Src: /src/openssl/crypto/ec/ec_key.c:1072,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_key.c:1075,1
    - Dst: EC_KEY_priv2oct
      Src: /src/openssl/crypto/ec/ec_key.c:1077,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_key.c:1079,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - eckey
    - pbuf
    argTypes:
    - EC_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1084
    functionName: EC_KEY_priv2buf
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    - EC_KEY_priv2oct
    linkageType: ''
    returnType: size_t
    signature: size_t EC_KEY_priv2buf(const EC_KEY *eckey, unsigned char **pbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - eckey
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1092
    functionName: EC_KEY_can_sign
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EC_KEY_can_sign(const EC_KEY *eckey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/crypto/ec/ec_key.c:1112,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/ec/ec_key.c:1116,1
    - Dst: ECDSA_do_sign
      Src: /src/openssl/crypto/ec/ec_key.c:1119,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/ec/ec_key.c:1123,1
    - Dst: ECDSA_do_verify
      Src: /src/openssl/crypto/ec/ec_key.c:1125,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/ec/ec_key.c:1130,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/ec/ec_key.c:1131,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ec_key.c:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - eckey
    - cb
    - cbarg
    argTypes:
    - EC_KEY*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1103
    functionDepth: 4
    functionLinenumber: 1103
    functionLinenumberEnd: 1134
    functionName: ecdsa_keygen_pairwise_test
    functionSourceFile: /src/openssl/crypto/ec/ec_key.c
    functionUses: 1
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_new
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_free
    - ECDSA_do_sign
    - ECDSA_SIG_free
    - ECDSA_do_verify
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int ecdsa_keygen_pairwise_test(EC_KEY *eckey, OSSL_CALLBACK *cb,\n
      \                                     void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:43,1
    - Dst: EC_KEY*::group::meth::ecdsa_sign_setup
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - eckey
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: ossl_ecdsa_sign_setup
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - EC_KEY*::group::meth::ecdsa_sign_setup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdsa_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp,\n
      \                         BIGNUM **rp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:55,1
    - Dst: EC_KEY*::group::meth::ecdsa_sign_sig
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - dgst
    - dgst_len
    - in_kinv
    - in_r
    - eckey
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: ossl_ecdsa_sign_sig
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_KEY*::group::meth::ecdsa_sign_sig
    linkageType: ''
    returnType: ECDSA_SIG
    signature: "ECDSA_SIG *ossl_ecdsa_sign_sig(const unsigned char *dgst, int dgst_len,\n
      \                              const BIGNUM *in_kinv, const BIGNUM *in_r,\n
      \                              EC_KEY *eckey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:67,1
    - Dst: EC_KEY*::group::meth::ecdsa_verify_sig
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - eckey
    argTypes:
    - unsigned char*
    - int
    - ECDSA_SIG*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: ossl_ecdsa_verify_sig
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - EC_KEY*::group::meth::ecdsa_verify_sig
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdsa_verify_sig(const unsigned char *dgst, int dgst_len,\n
      \                         const ECDSA_SIG *sig, EC_KEY *eckey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_size
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:81,1
    - Dst: ECDSA_do_sign_ex
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:85,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:90,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - kinv
    - r
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 8
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: ossl_ecdsa_sign
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - i2d_ECDSA_SIG
    - ECDSA_size
    - ECDSA_do_sign_ex
    - ECDSA_SIG_free
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdsa_sign(int type, const unsigned char *dgst, int dlen,\n
      \                   unsigned char *sig, unsigned int *siglen,\n                    const
      BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:110,1
    - Dst: ecdsa_sign_setup
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:115,1
    - Dst: ECDSA_do_sign_ex
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:119,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:123,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:124,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:127,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 9
    argNames:
    - dgst
    - dlen
    - sig
    - siglen
    - eckey
    - nonce_type
    - digestname
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - EC_KEY*
    - unsigned int
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 95
    functionDepth: 7
    functionLinenumber: 95
    functionLinenumberEnd: 130
    functionName: ossl_ecdsa_deterministic_sign
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - i2d_ECDSA_SIG
    - BN_clear_free
    - ECDSA_do_sign_ex
    - ecdsa_sign_setup
    - ECDSA_SIG_free
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdsa_deterministic_sign(const unsigned char *dgst, int dlen,\n
      \                                 unsigned char *sig, unsigned int *siglen,\n
      \                                 EC_KEY *eckey, unsigned int nonce_type,\n
      \                                 const char *digestname,\n                                  OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:148,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:151,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:152,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:157,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:163,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:168,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:169,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:172,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:176,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:181,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:186,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:189,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:190,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:191,1
    - Dst: ossl_gen_deterministic_nonce_rfc6979
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:201,1
    - Dst: ossl_bn_gen_dsa_nonce_fixed_top
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:207,1
    - Dst: ossl_bn_priv_rand_range_fixed_top
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:214,1
    - Dst: ossl_bn_is_word_fixed_top
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:217,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:220,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:221,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:226,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:231,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:234,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:238,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:243,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:244,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:251,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:252,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:255,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:256,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:257,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 95
    argCount: 10
    argNames:
    - eckey
    - ctx_in
    - kinvp
    - rp
    - dgst
    - dlen
    - nonce_type
    - digestname
    - libctx
    - propq
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    - unsigned char*
    - int
    - unsigned int
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 132
    functionDepth: 11
    functionLinenumber: 132
    functionLinenumberEnd: 259
    functionName: ecdsa_sign_setup
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 2
    functionsReached:
    - EC_POINT_free
    - EC_KEY_can_sign
    - ERR_raise
    - ossl_bn_priv_rand_range_fixed_top
    - EC_POINT_mul
    - BN_nnmod
    - BN_is_zero
    - ossl_ec_group_do_inverse_ord
    - BN_set_bit
    - EC_POINT_get_affine_coordinates
    - BN_CTX_new_ex
    - ossl_bn_gen_dsa_nonce_fixed_top
    - BN_CTX_free
    - ossl_bn_is_word_fixed_top
    - BN_new
    - EC_GROUP_get0_order
    - BN_clear_free
    - EC_POINT_new
    - BN_num_bits
    - BN_secure_new
    - EC_KEY_get0_private_key
    - EC_KEY_get0_group
    - ossl_gen_deterministic_nonce_rfc6979
    linkageType: ''
    returnType: int
    signature: "int ecdsa_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in,\n                            BIGNUM
      **kinvp, BIGNUM **rp,\n                            const unsigned char *dgst,
      int dlen,\n                            unsigned int nonce_type, const char *digestname,\n
      \                           OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecdsa_sign_setup
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - eckey
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 12
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: ossl_ecdsa_simple_sign_setup
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - ecdsa_sign_setup
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdsa_simple_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM
      **kinvp,\n                                 BIGNUM **rp)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:281,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:289,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:294,1
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:300,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:303,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:304,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:306,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:311,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:312,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:313,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:318,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:322,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:329,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:334,1
    - Dst: ecdsa_sign_setup
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:339,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:341,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:348,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:360,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:362,1
    - Dst: bn_mod_add_fixed_top
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:366,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:373,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:375,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:379,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:385,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:390,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:402,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:405,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:406,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:407,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 108
    argCount: 5
    argNames:
    - dgst
    - dgst_len
    - in_kinv
    - in_r
    - eckey
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 268
    functionDepth: 12
    functionLinenumber: 268
    functionLinenumberEnd: 409
    functionName: ossl_ecdsa_simple_sign_sig
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - EC_KEY_can_sign
    - ERR_raise
    - BN_is_zero
    - BN_bin2bn
    - BN_rshift
    - BN_copy
    - bn_mod_add_fixed_top
    - BN_CTX_new_ex
    - bn_mul_mont_fixed_top
    - BN_CTX_free
    - ecdsa_sign_setup
    - BN_new
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - EC_GROUP_get0_order
    - BN_mod_mul_montgomery
    - BN_clear_free
    - BN_num_bits
    - EC_KEY_get0_private_key
    - EC_KEY_get0_group
    - bn_to_mont_fixed_top
    linkageType: ''
    returnType: ECDSA_SIG
    signature: "ECDSA_SIG *ossl_ecdsa_simple_sign_sig(const unsigned char *dgst, int
      dgst_len,\n                                      const BIGNUM *in_kinv, const
      BIGNUM *in_r,\n                                      EC_KEY *eckey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:426,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:429,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:432,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:433,1
    - Dst: ECDSA_do_verify
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:435,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:437,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - type
    - dgst
    - dgst_len
    - sigbuf
    - sig_len
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 417
    functionDepth: 7
    functionLinenumber: 417
    functionLinenumberEnd: 440
    functionName: ossl_ecdsa_verify
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - memcmp
    - i2d_ECDSA_SIG
    - d2i_ECDSA_SIG
    - OPENSSL_free
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - ECDSA_do_verify
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdsa_verify(int type, const unsigned char *dgst, int dgst_len,\n
      \                     const unsigned char *sigbuf, int sig_len, EC_KEY *eckey)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:454,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:455,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:456,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:460,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:461,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:465,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:467,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:470,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:471,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:472,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:473,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:476,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:480,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:482,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:486,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:486,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:487,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:487,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:488,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:489,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:494,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:495,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:499,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:506,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:511,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:515,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:516,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:520,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:521,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:525,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:526,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:529,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:530,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:534,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:535,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:539,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:540,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:544,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:546,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:547,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecdsa_ossl.c:548,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 91
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - eckey
    argTypes:
    - unsigned char*
    - int
    - ECDSA_SIG*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 442
    functionDepth: 5
    functionLinenumber: 442
    functionLinenumberEnd: 550
    functionName: ossl_ecdsa_simple_verify_sig
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_ossl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EC_KEY_can_sign
    - ERR_raise
    - EC_POINT_mul
    - BN_is_negative
    - BN_nnmod
    - BN_is_zero
    - ossl_ec_group_do_inverse_ord
    - BN_bin2bn
    - BN_rshift
    - EC_POINT_get_affine_coordinates
    - EC_KEY_get0_public_key
    - BN_mod_mul
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_CTX_free
    - BN_ucmp
    - EC_GROUP_get0_order
    - EC_POINT_new
    - BN_num_bits
    - BN_CTX_get
    - BN_CTX_start
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdsa_simple_verify_sig(const unsigned char *dgst, int dgst_len,\n
      \                                const ECDSA_SIG *sig, EC_KEY *eckey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 305
    functionName: EC_GFp_nistp224_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GFp_nistp224_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: bin28_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bin28_to_felem(felem out, const u8 in[28])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - u8[]
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: felem_to_bin28
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_to_bin28(u8 out[28], const felem in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:336,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:339,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:341,1
    - Dst: bin28_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 346
    functionName: BN_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - BN_bn2lebinpad
    - BN_is_negative
    - bin28_to_felem
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BN_to_felem(felem out, const BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_to_bin28
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:352,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 5
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: felem_to_BN
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - BN_lebin2bn
    - felem_to_bin28
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *felem_to_BN(BIGNUM *out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: felem_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_one(felem out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: felem_assign
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_assign(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: felem_sum
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_sum(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 411
    functionName: felem_diff
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - widefelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: widefelem_diff
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void widefelem_diff(widefelem out, const widefelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 462
    functionName: felem_diff_128_64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff_128_64(widefelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: felem_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar(felem out, const limb scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - widefelem
    - widelimb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: widefelem_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void widefelem_scalar(widefelem out, const widelimb scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 505
    functionName: felem_square
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_square(widefelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - widefelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 520
    functionName: felem_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_mul(widefelem out, const felem in1, const felem in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - widefelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 588
    functionName: felem_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_reduce(felem out, const widefelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:593,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: felem_square_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_square
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: void felem_square_reduce(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:600,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: felem_mul_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_mul
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: void felem_mul_reduce(felem out, const felem in1, const felem in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 658
    functionName: felem_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_contract(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:669,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:670,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 672
    functionName: felem_neg
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_diff_128_64
    - memset
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: void felem_neg(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 692
    functionName: felem_is_zero
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: limb
    signature: limb felem_is_zero(const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: felem_is_zero_int
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_is_zero
    linkageType: ''
    returnType: int
    signature: int felem_is_zero_int(const void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:707,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:708,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:709,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:710,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:711,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:712,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:713,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:714,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:715,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:716,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:717,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:718,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:719,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:720,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:721,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:722,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:723,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:724,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:726,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:727,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:729,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:730,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:731,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:732,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:734,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:735,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:737,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:738,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:739,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:740,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:742,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:743,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:745,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:746,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:747,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:748,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:750,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:751,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:753,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:754,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:755,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:756,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:758,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:759,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:761,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:762,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:764,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:765,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:767,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:768,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:769,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:770,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:771,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:772,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:774,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:775,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:777,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:778,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 779
    functionName: felem_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_mul
    - felem_square
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: void felem_inv(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - icopy
    argTypes:
    - felem
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 796
    functionName: copy_conditional
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_conditional(felem out, const felem in, limb icopy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:824,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:825,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:828,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:829,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:832,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:833,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:836,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:837,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:840,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:842,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:844,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:846,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:848,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:851,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:853,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:854,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:856,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:858,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:861,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:863,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:864,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:866,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:868,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:870,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:873,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:875,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:877,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:879,1
    - Dst: widefelem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:881,1
    - Dst: widefelem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:883,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 886
    functionName: point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_diff
    - felem_mul
    - felem_scalar
    - felem_diff_128_64
    - felem_square
    - felem_sum
    - felem_reduce
    - widefelem_scalar
    - felem_assign
    - widefelem_diff
    linkageType: ''
    returnType: void
    signature: "void point_double(felem x_out, felem y_out, felem z_out,\n             const
      felem x_in, const felem y_in, const felem z_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:918,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:919,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:922,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:923,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:926,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:927,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:930,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:931,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:938,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:941,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:945,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:946,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:949,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:950,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:953,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:957,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:959,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:962,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:966,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:968,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:978,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:979,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:985,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:986,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1006,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1012,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1013,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1016,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1020,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1021,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1024,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1025,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1026,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1029,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1030,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1033,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1034,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1037,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1041,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1045,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1049,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1050,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1057,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1059,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1062,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1068,1
    - Dst: widefelem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1075,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1077,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1087,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1088,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1089,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1090,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1091,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1092,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1093,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1094,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 68
    argCount: 10
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - mixed
    - x2
    - y2
    - z2
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    - int
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 1096
    functionName: point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_mul
    - felem_scalar
    - felem_diff
    - felem_diff_128_64
    - felem_square
    - felem_is_zero
    - felem_reduce
    - point_double
    - felem_assign
    - widefelem_diff
    - copy_conditional
    linkageType: ''
    returnType: void
    signature: "void point_add(felem x3, felem y3, felem z3,\n                      const
      felem x1, const felem y1, const felem z1,\n                      const int mixed,
      const felem x2, const felem y2,\n                      const felem z2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - u64
    - unsigned int
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1121
    functionName: select_point
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void select_point(const u64 idx, unsigned int size,\n                         const
      felem pre_comp[][3], felem out[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - in
    - i
    argTypes:
    - felem_bytearray
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1129
    functionName: get_bit
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char get_bit(const felem_bytearray in, unsigned i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1152,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1164,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1169,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1170,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1171,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1172,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1174,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1178,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1181,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1186,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1187,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1188,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1189,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1191,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1192,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1201,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1202,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1203,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1204,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1205,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1206,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1207,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1210,1
    - Dst: felem_neg
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1211,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1213,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1216,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1220,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1226,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1227,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 9
    argNames:
    - x_out
    - y_out
    - z_out
    - scalars
    - num_points
    - g_scalar
    - mixed
    - pre_comp
    - g_pre_comp
    argTypes:
    - felem
    - felem
    - felem
    - felem_bytearray[]
    - unsigned
    - u8*
    - int
    - felem[][][]
    - felem[][][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1229
    functionName: batch_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - select_point
    - memset
    - point_add
    - felem_neg
    - memcpy
    - felem_assign
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - point_double
    - get_bit
    - copy_conditional
    linkageType: ''
    returnType: void
    signature: "void batch_mul(felem x_out, felem y_out, felem z_out,\n                      const
      felem_bytearray scalars[],\n                      const unsigned num_points,
      const u8 *g_scalar,\n                      const int mixed, const felem pre_comp[][17][3],\n
      \                     const felem g_pre_comp[2][16][3])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1238,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1244,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1249
    functionName: nistp224_pre_comp_new
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: NISTP224_PRE_COMP
    signature: NISTP224_PRE_COMP *nistp224_pre_comp_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP224_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1257
    functionName: EC_nistp224_pre_comp_dup
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTP224_PRE_COMP
    signature: NISTP224_PRE_COMP *EC_nistp224_pre_comp_dup(NISTP224_PRE_COMP *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1266,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1267,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1270,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1272,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP224_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1274
    functionName: EC_nistp224_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EC_nistp224_pre_comp_free(NISTP224_PRE_COMP *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1287
    functionName: ossl_ec_GFp_nistp224_group_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GFp_simple_group_init
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp224_group_init(EC_GROUP *group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1299,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1304,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1305,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1306,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1307,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1310,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1311,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1312,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1313,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1313,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1313,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1314,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1318,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1320,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1322,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1289
    functionDepth: 5
    functionLinenumber: 1289
    functionLinenumberEnd: 1325
    functionName: ossl_ec_GFp_nistp224_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_cmp
    - BN_CTX_new
    - BN_bin2bn
    - BN_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp224_group_set_curve(EC_GROUP *group, const BIGNUM
      *p,\n                                         const BIGNUM *a, const BIGNUM
      *b,\n                                         BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1339,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1340,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1343,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1343,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1344,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1346,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1347,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1348,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1349,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1350,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1351,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1354,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1358,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1359,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1360,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1361,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1362,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1364,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1370
    functionName: ossl_ec_GFp_nistp224_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - felem_mul
    - ERR_raise
    - felem_to_BN
    - felem_contract
    - BN_to_felem
    - felem_square
    - felem_reduce
    - felem_inv
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp224_point_get_affine_coordinates(const EC_GROUP
      *group,\n                                                      const EC_POINT
      *point,\n                                                      BIGNUM *x, BIGNUM
      *y,\n                                                      BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_nistp_points_make_affine_internal
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_felems
    argTypes:
    - size_t
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1399
    functionName: make_points_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GFp_nistp_points_make_affine_internal
    linkageType: ''
    returnType: void
    signature: "void make_points_affine(size_t num, felem points[ /* num */ ][3],\n
      \                              felem tmp_felems[ /* num+1 */ ])"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1417,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1429,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1430,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1431,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1432,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1433,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1445,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1449,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1450,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1451,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1452,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1455,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1459,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1478,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1479,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1482,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1494,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1503,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1504,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1509,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1510,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1513,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1516,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1520,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1524,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1525,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1526,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1528,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1529,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1530,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1533,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1540,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1549,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1554,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1556,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1556,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1561,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1562,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1565,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1567,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1570,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1576,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1581,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1582,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1583,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1584,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1584,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1585,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1586,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1589,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1593,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1594,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1595,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1596,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1597,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 117
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1405
    functionDepth: 5
    functionLinenumber: 1405
    functionLinenumberEnd: 1599
    functionName: ossl_ec_GFp_nistp224_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - BN_is_negative
    - BN_nnmod
    - BN_bn2lebinpad
    - OPENSSL_free
    - felem_assign
    - EC_GROUP_get0_generator
    - felem
    - BN_CTX_end
    - point_add
    - make_points_affine
    - point_double
    - felem_to_BN
    - OPENSSL_malloc_array
    - batch_mul
    - BN_to_felem
    - EC_POINT_new
    - BN_num_bits
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - felem_contract
    - OPENSSL_calloc
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp224_points_mul(const EC_GROUP *group, EC_POINT
      *r,\n                                    const BIGNUM *scalar, size_t num,\n
      \                                   const EC_POINT *points[],\n                                    const
      BIGNUM *scalars[], BN_CTX *ctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EC_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1614,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1618,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1623,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1624,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1625,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1631,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1634,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1635,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1636,1
    - Dst: nistp224_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1638,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1643,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1644,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1647,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1648,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1649,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1656,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1660,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1666,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1671,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1681,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1684,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1690,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1696,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1704,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1711,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1721,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1724,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1728,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1729,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1731,1
    - Dst: EC_nistp224_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1733,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1601
    functionDepth: 5
    functionLinenumber: 1601
    functionLinenumberEnd: 1735
    functionName: ossl_ec_GFp_nistp224_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - memcpy
    - BN_CTX_new
    - BN_bin2bn
    - BN_CTX_end
    - EC_POINT_set_affine_coordinates
    - point_add
    - make_points_affine
    - SETPRECOMP
    - EC_nistp224_pre_comp_free
    - BN_CTX_free
    - point_double
    - nistp224_pre_comp_new
    - EC_pre_comp_free
    - BN_to_felem
    - EC_POINT_new
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp224_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HAVEPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp224.c:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1737
    functionDepth: 1
    functionLinenumber: 1737
    functionLinenumberEnd: 1740
    functionName: ossl_ec_GFp_nistp224_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp224.c
    functionUses: 0
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp224_have_precompute_mult(const EC_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/ec/eck_prn.c:26,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/ec/eck_prn.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/eck_prn.c:27,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/ec/eck_prn.c:30,1
    - Dst: ECPKParameters_print
      Src: /src/openssl/crypto/ec/eck_prn.c:31,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/ec/eck_prn.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fp
    - x
    - 'off'
    argTypes:
    - FILE*
    - EC_GROUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: ECPKParameters_print_fp
    functionSourceFile: /src/openssl/crypto/ec/eck_prn.c
    functionUses: 0
    functionsReached:
    - ECPKParameters_print
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/ec/eck_prn.c:41,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/ec/eck_prn.c:41,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/eck_prn.c:42,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/ec/eck_prn.c:45,1
    - Dst: EC_KEY_print
      Src: /src/openssl/crypto/ec/eck_prn.c:46,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/ec/eck_prn.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fp
    - x
    - 'off'
    argTypes:
    - FILE*
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: EC_KEY_print_fp
    functionSourceFile: /src/openssl/crypto/ec/eck_prn.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - EC_KEY_print
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int EC_KEY_print_fp(FILE *fp, const EC_KEY *x, int off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/ec/eck_prn.c:56,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/ec/eck_prn.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/eck_prn.c:57,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/ec/eck_prn.c:60,1
    - Dst: ECParameters_print
      Src: /src/openssl/crypto/ec/eck_prn.c:61,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/ec/eck_prn.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: ECParameters_print_fp
    functionSourceFile: /src/openssl/crypto/ec/eck_prn.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - ECParameters_print
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int ECParameters_print_fp(FILE *fp, const EC_KEY *x)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/eck_prn.c:90,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/crypto/ec/eck_prn.c:96,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ec/eck_prn.c:101,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/eck_prn.c:104,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:107,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/ec/eck_prn.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:109,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/crypto/ec/eck_prn.c:111,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ec/eck_prn.c:113,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:115,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/eck_prn.c:123,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/eck_prn.c:128,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/eck_prn.c:128,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/eck_prn.c:129,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/eck_prn.c:134,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/eck_prn.c:139,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/eck_prn.c:143,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/eck_prn.c:144,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/crypto/ec/eck_prn.c:150,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/eck_prn.c:152,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/crypto/ec/eck_prn.c:158,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/crypto/ec/eck_prn.c:159,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ec/eck_prn.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:165,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/ec/eck_prn.c:165,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/crypto/ec/eck_prn.c:171,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ec/eck_prn.c:175,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:178,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/ec/eck_prn.c:179,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:183,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:187,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:190,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:192,1
    - Dst: print_bin
      Src: /src/openssl/crypto/ec/eck_prn.c:202,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:205,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/ec/eck_prn.c:207,1
    - Dst: print_bin
      Src: /src/openssl/crypto/ec/eck_prn.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/eck_prn.c:216,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/eck_prn.c:217,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/eck_prn.c:218,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/eck_prn.c:219,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/eck_prn.c:220,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/eck_prn.c:221,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 128
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - EC_GROUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 223
    functionName: ECPKParameters_print
    functionSourceFile: /src/openssl/crypto/ec/eck_prn.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - print_bin
    - EC_GROUP_get0_seed
    - EC_GROUP_get_asn1_flag
    - BN_CTX_new
    - EC_GROUP_get_basis_type
    - EC_GROUP_get0_generator
    - EC_GROUP_get_point_conversion_form
    - EC_GROUP_get_field_type
    - ASN1_bn_print
    - BN_CTX_free
    - BIO_indent
    - BN_new
    - BN_free
    - EC_GROUP_get0_order
    - EC_POINT_point2buf
    - BIO_printf
    - OBJ_nid2sn
    - EC_GROUP_get_seed_len
    - EC_GROUP_get0_cofactor
    - OPENSSL_clear_free
    - EC_curve_nid2nist
    - EC_GROUP_get_curve
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/eck_prn.c:236,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ec/eck_prn.c:237,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:243,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/eck_prn.c:249,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ec/eck_prn.c:250,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/eck_prn.c:253,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ec/eck_prn.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - fp
    - name
    - buf
    - len
    - 'off'
    argTypes:
    - BIO*
    - char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 261
    functionName: print_bin
    functionSourceFile: /src/openssl/crypto/ec/eck_prn.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - memset
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int print_bin(BIO *fp, const char *name, const unsigned char *buf,\n
      \                    size_t len, int off)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x25519_public_from_private
      Src: /src/openssl/crypto/ec/ecx_backend.c:32,1
    - Dst: ossl_ed25519_public_from_private
      Src: /src/openssl/crypto/ec/ecx_backend.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:37,1
    - Dst: ossl_x448_public_from_private
      Src: /src/openssl/crypto/ec/ecx_backend.c:42,1
    - Dst: ossl_ed448_public_from_private
      Src: /src/openssl/crypto/ec/ecx_backend.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - key
    argTypes:
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: ossl_ecx_public_from_private
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_x25519_public_from_private
    - ossl_ed448_public_from_private
    - ossl_ed25519_public_from_private
    - ossl_x448_public_from_private
    linkageType: ''
    returnType: int
    signature: int ossl_ecx_public_from_private(ECX_KEY *key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/ec/ecx_backend.c:69,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ec/ecx_backend.c:79,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/ec/ecx_backend.c:87,1
    - Dst: ossl_ecx_public_from_private
      Src: /src/openssl/crypto/ec/ecx_backend.c:95,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - ecx
    - param_pub_key
    - param_priv_key
    - include_private
    argTypes:
    - ECX_KEY*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 101
    functionName: ossl_ecx_key_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_public_from_private
    - OSSL_PARAM_get_octet_string
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: int
    signature: "int ossl_ecx_key_fromdata(ECX_KEY *ecx, const OSSL_PARAM *param_pub_key,\n
      \                         const OSSL_PARAM *param_priv_key,\n                          int
      include_private)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ecx_backend.c:105,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecx_backend.c:115,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ec/ecx_backend.c:119,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_backend.c:126,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/crypto/ec/ecx_backend.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:133,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_backend.c:136,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecx_backend.c:142,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_backend.c:143,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - ECX_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 145
    functionName: ossl_ecx_key_dup
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ossl_ecx_key_allocate_privkey
    - ERR_raise
    - ossl_ecx_key_free
    - memcpy
    - OPENSSL_strdup
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: ECX_KEY
    signature: ECX_KEY *ossl_ecx_key_dup(const ECX_KEY *key, int selection)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/ec/ecx_backend.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:163,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ecx_backend.c:167,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ecx_backend.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:169,1
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_backend.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:175,1
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/crypto/ec/ecx_backend.c:180,1
    - Dst: KEYNID2TYPE
      Src: /src/openssl/crypto/ec/ecx_backend.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:182,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_backend.c:188,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/crypto/ec/ecx_backend.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:192,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ec/ecx_backend.c:197,1
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_backend.c:197,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_backend.c:209,1
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_backend.c:209,1
    - Dst: ossl_ecx_public_from_private
      Src: /src/openssl/crypto/ec/ecx_backend.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_backend.c:212,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_backend.c:219,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 7
    argNames:
    - palg
    - p
    - plen
    - id
    - op
    - libctx
    - propq
    argTypes:
    - X509_ALGOR*
    - unsigned char*
    - int
    - int
    - ecx_key_op_t
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 221
    functionName: ossl_ecx_key_op
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.c
    functionUses: 0
    functionsReached:
    - KEYNID2TYPE
    - ossl_ecx_key_allocate_privkey
    - ERR_raise
    - ossl_ecx_key_free
    - memcpy
    - RAND_priv_bytes_ex
    - ossl_ecx_public_from_private
    - X509_ALGOR_get0
    - ossl_ecx_key_new
    - OBJ_obj2nid
    - KEYLENID
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *ossl_ecx_key_op(const X509_ALGOR *palg,\n                         const
      unsigned char *p, int plen,\n                         int id, ecx_key_op_t op,\n
      \                        OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/ec/ecx_backend.c:232,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/ec/ecx_backend.c:235,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ec/ecx_backend.c:240,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ec/ecx_backend.c:241,1
    - Dst: ossl_ecx_key_op
      Src: /src/openssl/crypto/ec/ecx_backend.c:248,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ec/ecx_backend.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 252
    functionName: ossl_ecx_key_from_pkcs8
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - ossl_ecx_key_op
    - d2i_ASN1_OCTET_STRING
    - PKCS8_pkey_get0
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *ossl_ecx_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf,\n
      \                                OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: load_8
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_8(const uint8_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_8
      Src: /src/openssl/crypto/ec/curve25519.c:73,1
    - Dst: load_8
      Src: /src/openssl/crypto/ec/curve25519.c:74,1
    - Dst: load_8
      Src: /src/openssl/crypto/ec/curve25519.c:75,1
    - Dst: load_8
      Src: /src/openssl/crypto/ec/curve25519.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe64
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: fe64_frombytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - load_8
    linkageType: ''
    returnType: void
    signature: void fe64_frombytes(fe64 h, const uint8_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: fe64_0
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe64_0(fe64 h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: fe64_1
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe64_1(fe64 h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe64
    - fe64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: fe64_copy
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe64_copy(fe64 h, const fe64 f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - f
    - g
    - b
    argTypes:
    - fe64
    - fe64
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: fe64_cswap
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe64_cswap(fe64 f, fe64 g, unsigned int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:130,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:133,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:134,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:137,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:139,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:142,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:145,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:148,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:150,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:153,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:158,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:160,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:162,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:165,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:167,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:169,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:173,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:176,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:179,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:181,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:183,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:186,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:188,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:190,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:194,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:197,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:201,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe64
    - fe64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 205
    functionName: fe64_invert
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe64_sqr
    - fe64_mul
    linkageType: ''
    returnType: void
    signature: void fe64_invert(fe64 out, const fe64 z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/curve25519.c:219,1
    - Dst: fe64_frombytes
      Src: /src/openssl/crypto/ec/curve25519.c:223,1
    - Dst: fe64_1
      Src: /src/openssl/crypto/ec/curve25519.c:224,1
    - Dst: fe64_0
      Src: /src/openssl/crypto/ec/curve25519.c:225,1
    - Dst: fe64_copy
      Src: /src/openssl/crypto/ec/curve25519.c:226,1
    - Dst: fe64_1
      Src: /src/openssl/crypto/ec/curve25519.c:227,1
    - Dst: fe64_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:233,1
    - Dst: fe64_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:234,1
    - Dst: fe64_sub
      Src: /src/openssl/crypto/ec/curve25519.c:236,1
    - Dst: fe64_sub
      Src: /src/openssl/crypto/ec/curve25519.c:237,1
    - Dst: fe64_add
      Src: /src/openssl/crypto/ec/curve25519.c:238,1
    - Dst: fe64_add
      Src: /src/openssl/crypto/ec/curve25519.c:239,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:240,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:241,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:242,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:243,1
    - Dst: fe64_add
      Src: /src/openssl/crypto/ec/curve25519.c:244,1
    - Dst: fe64_sub
      Src: /src/openssl/crypto/ec/curve25519.c:245,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:246,1
    - Dst: fe64_sub
      Src: /src/openssl/crypto/ec/curve25519.c:247,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:248,1
    - Dst: fe64_mul121666
      Src: /src/openssl/crypto/ec/curve25519.c:249,1
    - Dst: fe64_sqr
      Src: /src/openssl/crypto/ec/curve25519.c:250,1
    - Dst: fe64_add
      Src: /src/openssl/crypto/ec/curve25519.c:251,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:252,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:253,1
    - Dst: fe64_invert
      Src: /src/openssl/crypto/ec/curve25519.c:256,1
    - Dst: fe64_mul
      Src: /src/openssl/crypto/ec/curve25519.c:257,1
    - Dst: fe64_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:258,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 261
    functionName: x25519_scalar_mulx
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe64_sub
    - fe64_1
    - memcpy
    - fe64_invert
    - fe64_tobytes
    - fe64_frombytes
    - fe64_add
    - fe64_mul
    - fe64_cswap
    - fe64_0
    - fe64_copy
    - fe64_sqr
    - OPENSSL_cleanse
    - fe64_mul121666
    linkageType: ''
    returnType: void
    signature: "void x25519_scalar_mulx(uint8_t out[32], const uint8_t scalar[32],\n
      \                              const uint8_t point[32])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: load_7
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_7(const uint8_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: load_6
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_6(const uint8_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_7
      Src: /src/openssl/crypto/ec/curve25519.c:312,1
    - Dst: load_6
      Src: /src/openssl/crypto/ec/curve25519.c:313,1
    - Dst: load_7
      Src: /src/openssl/crypto/ec/curve25519.c:314,1
    - Dst: load_6
      Src: /src/openssl/crypto/ec/curve25519.c:315,1
    - Dst: load_6
      Src: /src/openssl/crypto/ec/curve25519.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe51
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: fe51_frombytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - load_6
    - load_7
    linkageType: ''
    returnType: void
    signature: void fe51_frombytes(fe51 h, const uint8_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 387
    functionName: fe51_tobytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_tobytes(uint8_t *s, const fe51 h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe51
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 456
    functionName: fe51_mul
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_mul(fe51 h, const fe51 f, const fe51 g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 510
    functionName: fe51_sq
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe51_mul
    linkageType: ''
    returnType: void
    signature: void fe51_sq(fe51 h, const fe51 f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 536
    functionName: fe51_mul121666
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_mul121666(fe51 h, fe51 f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe51
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: fe51_add
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_add(fe51 h, const fe51 f, const fe51 g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe51
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 559
    functionName: fe51_sub
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_sub(fe51 h, const fe51 f, const fe51 g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 568
    functionName: fe51_0
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_0(fe51 h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: fe51_1
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_1(fe51 h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 586
    functionName: fe51_copy
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_copy(fe51 h, const fe51 f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - f
    - g
    - b
    argTypes:
    - fe51
    - fe51
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 599
    functionName: fe51_cswap
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe51_cswap(fe51 f, fe51 g, unsigned int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:615,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:618,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:619,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:622,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:624,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:627,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:630,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:633,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:635,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:638,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:643,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:645,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:647,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:650,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:652,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:654,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:658,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:661,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:664,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:666,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:668,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:671,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:673,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:675,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:679,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:682,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:686,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:689,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe51
    - fe51
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 690
    functionName: fe51_invert
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe51_mul
    - fe51_sq
    linkageType: ''
    returnType: void
    signature: void fe51_invert(fe51 out, const fe51 z)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x25519_fe64_eligible
      Src: /src/openssl/crypto/ec/curve25519.c:705,1
    - Dst: x25519_scalar_mulx
      Src: /src/openssl/crypto/ec/curve25519.c:706,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/curve25519.c:711,1
    - Dst: fe51_frombytes
      Src: /src/openssl/crypto/ec/curve25519.c:715,1
    - Dst: fe51_1
      Src: /src/openssl/crypto/ec/curve25519.c:716,1
    - Dst: fe51_0
      Src: /src/openssl/crypto/ec/curve25519.c:717,1
    - Dst: fe51_copy
      Src: /src/openssl/crypto/ec/curve25519.c:718,1
    - Dst: fe51_1
      Src: /src/openssl/crypto/ec/curve25519.c:719,1
    - Dst: fe51_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:725,1
    - Dst: fe51_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:726,1
    - Dst: fe51_sub
      Src: /src/openssl/crypto/ec/curve25519.c:728,1
    - Dst: fe51_sub
      Src: /src/openssl/crypto/ec/curve25519.c:729,1
    - Dst: fe51_add
      Src: /src/openssl/crypto/ec/curve25519.c:730,1
    - Dst: fe51_add
      Src: /src/openssl/crypto/ec/curve25519.c:731,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:732,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:733,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:734,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:735,1
    - Dst: fe51_add
      Src: /src/openssl/crypto/ec/curve25519.c:736,1
    - Dst: fe51_sub
      Src: /src/openssl/crypto/ec/curve25519.c:737,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:738,1
    - Dst: fe51_sub
      Src: /src/openssl/crypto/ec/curve25519.c:739,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:740,1
    - Dst: fe51_mul121666
      Src: /src/openssl/crypto/ec/curve25519.c:741,1
    - Dst: fe51_sq
      Src: /src/openssl/crypto/ec/curve25519.c:742,1
    - Dst: fe51_add
      Src: /src/openssl/crypto/ec/curve25519.c:743,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:744,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:745,1
    - Dst: fe51_invert
      Src: /src/openssl/crypto/ec/curve25519.c:748,1
    - Dst: fe51_mul
      Src: /src/openssl/crypto/ec/curve25519.c:749,1
    - Dst: fe51_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:750,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 696
    functionDepth: 3
    functionLinenumber: 696
    functionLinenumberEnd: 753
    functionName: x25519_scalar_mult
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe51_0
    - fe51_add
    - fe51_mul
    - memcpy
    - fe51_1
    - fe51_sq
    - fe51_mul121666
    - fe51_sub
    - x25519_fe64_eligible
    - x25519_scalar_mulx
    - fe51_invert
    - fe51_copy
    - fe51_tobytes
    - OPENSSL_cleanse
    - fe51_frombytes
    - fe51_cswap
    linkageType: ''
    returnType: void
    signature: "void x25519_scalar_mult(uint8_t out[32], const uint8_t scalar[32],\n
      \                              const uint8_t point[32])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 787
    functionName: load_3
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_3(const uint8_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: load_4
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t load_4(const uint8_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:803,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:804,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:805,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:806,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:807,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:808,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:809,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:810,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:811,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - fe
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 846
    functionName: fe_frombytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - load_3
    - load_4
    linkageType: ''
    returnType: void
    signature: void fe_frombytes(fe h, const uint8_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 952
    functionName: fe_tobytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_tobytes(uint8_t *s, const fe h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/openssl/crypto/ec/curve25519.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 958
    functionName: fe_copy
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void fe_copy(fe h, const fe f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/curve25519.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: fe_0
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void fe_0(fe h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/curve25519.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 971
    functionName: fe_1
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void fe_1(fe h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 992
    functionName: fe_add
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_add(fe h, const fe f, const fe g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1013
    functionName: fe_sub
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_sub(fe h, const fe f, const fe g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 3
    argNames:
    - h
    - f
    - g
    argTypes:
    - fe
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1260
    functionName: fe_mul
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_mul(fe h, const fe f, const fe g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1405
    functionName: fe_sq
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_sq(fe h, const fe f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1421,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1424,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1425,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1428,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1430,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1433,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1436,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1439,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1441,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1445,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1450,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1452,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1454,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1457,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1459,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1461,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1465,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1468,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1471,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1473,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1475,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1478,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1480,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1482,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1485,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1487,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1491,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1494,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1496,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1501
    functionName: fe_invert
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_sq
    - fe_mul
    linkageType: ''
    returnType: void
    signature: void fe_invert(fe out, const fe z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1519
    functionName: fe_neg
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_neg(fe h, const fe f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - f
    - g
    - b
    argTypes:
    - fe
    - fe
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1537
    functionName: fe_cmov
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_cmov(fe f, const fe g, unsigned b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:1551,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ec/curve25519.c:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1554
    functionName: fe_isnonzero
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_tobytes
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: int fe_isnonzero(const fe f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1569
    functionName: fe_isnegative
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_tobytes
    linkageType: ''
    returnType: int
    signature: int fe_isnegative(const fe f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1725
    functionName: fe_sq2
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_sq2(fe h, const fe f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1734,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1735,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1737,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1739,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1740,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1741,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1742,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1743,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1745,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1747,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1748,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1750,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1752,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1753,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1755,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1757,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1758,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1760,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1762,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1763,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1765,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1767,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1768,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1770,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1772,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1773,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1775,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1777,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1778,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1780,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - out
    - z
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1783
    functionName: fe_pow22523
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_sq
    - fe_mul
    linkageType: ''
    returnType: void
    signature: void fe_pow22523(fe out, const fe z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_invert
      Src: /src/openssl/crypto/ec/curve25519.c:1837,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1838,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1839,1
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:1840,1
    - Dst: fe_isnegative
      Src: /src/openssl/crypto/ec/curve25519.c:1841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1842
    functionName: ge_tobytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_invert
    - fe_mul
    - fe_tobytes
    - fe_isnegative
    linkageType: ''
    returnType: void
    signature: void ge_tobytes(uint8_t *s, const ge_p2 *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_invert
      Src: /src/openssl/crypto/ec/curve25519.c:1850,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1851,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1852,1
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:1853,1
    - Dst: fe_isnegative
      Src: /src/openssl/crypto/ec/curve25519.c:1854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - uint8_t*
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1855
    functionName: ge_p3_tobytes
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_invert
    - fe_mul
    - fe_tobytes
    - fe_isnegative
    linkageType: ''
    returnType: void
    signature: void ge_p3_tobytes(uint8_t *s, const ge_p3 *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fe_frombytes
      Src: /src/openssl/crypto/ec/curve25519.c:1875,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:1876,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1877,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1878,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:1879,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:1880,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1882,1
    - Dst: fe_pow22523
      Src: /src/openssl/crypto/ec/curve25519.c:1884,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1885,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1887,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1888,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:1889,1
    - Dst: fe_isnonzero
      Src: /src/openssl/crypto/ec/curve25519.c:1890,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:1891,1
    - Dst: fe_isnonzero
      Src: /src/openssl/crypto/ec/curve25519.c:1892,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1895,1
    - Dst: fe_isnegative
      Src: /src/openssl/crypto/ec/curve25519.c:1898,1
    - Dst: fe_neg
      Src: /src/openssl/crypto/ec/curve25519.c:1899,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - h
    - s
    argTypes:
    - ge_p3*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1904
    functionName: ge_frombytes_vartime
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_sq
    - fe_neg
    - fe_frombytes
    - fe_sub
    - fe_add
    - fe_pow22523
    - fe_isnegative
    - fe_1
    - fe_mul
    - fe_isnonzero
    linkageType: ''
    returnType: int
    signature: int ge_frombytes_vartime(ge_p3 *h, const uint8_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_0
      Src: /src/openssl/crypto/ec/curve25519.c:1908,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:1909,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1911
    functionName: ge_p2_0
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_1
    - fe_0
    linkageType: ''
    returnType: void
    signature: void ge_p2_0(ge_p2 *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_0
      Src: /src/openssl/crypto/ec/curve25519.c:1915,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:1916,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:1917,1
    - Dst: fe_0
      Src: /src/openssl/crypto/ec/curve25519.c:1918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1919
    functionName: ge_p3_0
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_1
    - fe_0
    linkageType: ''
    returnType: void
    signature: void ge_p3_0(ge_p3 *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:1923,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:1924,1
    - Dst: fe_0
      Src: /src/openssl/crypto/ec/curve25519.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - ge_precomp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1926
    functionName: ge_precomp_0
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_1
    - fe_0
    linkageType: ''
    returnType: void
    signature: void ge_precomp_0(ge_precomp *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:1931,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:1932,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p2*
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1934
    functionName: ge_p3_to_p2
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_copy
    linkageType: ''
    returnType: void
    signature: void ge_p3_to_p2(ge_p2 *r, const ge_p3 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:1944,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:1945,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:1946,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_cached*
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1948
    functionName: ge_p3_to_cached
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_add
    - fe_copy
    - fe_mul
    - fe_sub
    linkageType: ''
    returnType: void
    signature: void ge_p3_to_cached(ge_cached *r, const ge_p3 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1953,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1954,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p2*
    - ge_p1p1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1956
    functionName: ge_p1p1_to_p2
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_p1p1_to_p2(ge_p2 *r, const ge_p1p1 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1961,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1962,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1963,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p3*
    - ge_p1p1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1965
    functionName: ge_p1p1_to_p3
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_mul
    linkageType: ''
    returnType: void
    signature: void ge_p1p1_to_p3(ge_p3 *r, const ge_p1p1 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1972,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1973,1
    - Dst: fe_sq2
      Src: /src/openssl/crypto/ec/curve25519.c:1974,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:1975,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:1976,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:1977,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:1978,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:1979,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1981
    functionName: ge_p2_dbl
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_sq
    - fe_add
    - fe_sq2
    - fe_sub
    linkageType: ''
    returnType: void
    signature: void ge_p2_dbl(ge_p1p1 *r, const ge_p2 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ge_p3_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:1987,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:1988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - ge_p1p1*
    - ge_p3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1989
    functionName: ge_p3_dbl
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - ge_p2_dbl
    - ge_p3_to_p2
    linkageType: ''
    returnType: void
    signature: void ge_p3_dbl(ge_p1p1 *r, const ge_p3 *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:1996,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:1997,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1998,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:1999,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2000,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2001,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2002,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2003,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2004,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_precomp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2006
    functionName: ge_madd
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_add
    - fe_mul
    - fe_sub
    linkageType: ''
    returnType: void
    signature: void ge_madd(ge_p1p1 *r, const ge_p3 *p, const ge_precomp *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2013,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2014,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2015,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2016,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2017,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2018,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2019,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2020,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2021,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_precomp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2023
    functionName: ge_msub
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_add
    - fe_mul
    - fe_sub
    linkageType: ''
    returnType: void
    signature: void ge_msub(ge_p1p1 *r, const ge_p3 *p, const ge_precomp *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2030,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2031,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2032,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2033,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2034,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2035,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2036,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2037,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2038,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2039,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_cached*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 2026
    functionDepth: 0
    functionLinenumber: 2026
    functionLinenumberEnd: 2041
    functionName: ge_add
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_add
    - fe_mul
    - fe_sub
    linkageType: ''
    returnType: void
    signature: void ge_add(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2048,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2049,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2050,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2051,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2052,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:2053,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2054,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2055,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2056,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:2057,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - ge_p1p1*
    - ge_p3*
    - ge_cached*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2059
    functionName: ge_sub
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_add
    - fe_mul
    - fe_sub
    linkageType: ''
    returnType: void
    signature: void ge_sub(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - signed char
    - signed char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2070
    functionName: equal
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t equal(signed char b, signed char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fe_cmov
      Src: /src/openssl/crypto/ec/curve25519.c:2074,1
    - Dst: fe_cmov
      Src: /src/openssl/crypto/ec/curve25519.c:2075,1
    - Dst: fe_cmov
      Src: /src/openssl/crypto/ec/curve25519.c:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - t
    - u
    - b
    argTypes:
    - ge_precomp*
    - ge_precomp*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2077
    functionName: cmov
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 1
    functionsReached:
    - fe_cmov
    linkageType: ''
    returnType: void
    signature: void cmov(ge_precomp *t, const ge_precomp *u, uint8_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - signed char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4195
    functionDepth: 0
    functionLinenumber: 4195
    functionLinenumberEnd: 4201
    functionName: negative
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t negative(signed char b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: negative
      Src: /src/openssl/crypto/ec/curve25519.c:4206,1
    - Dst: ge_precomp_0
      Src: /src/openssl/crypto/ec/curve25519.c:4209,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4210,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4210,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4211,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4211,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4212,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4212,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4213,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4213,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4214,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4214,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4215,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4215,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4216,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4216,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4217,1
    - Dst: equal
      Src: /src/openssl/crypto/ec/curve25519.c:4217,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:4218,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:4219,1
    - Dst: fe_neg
      Src: /src/openssl/crypto/ec/curve25519.c:4220,1
    - Dst: cmov
      Src: /src/openssl/crypto/ec/curve25519.c:4221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - t
    - pos
    - b
    argTypes:
    - ge_precomp*
    - int
    - signed char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4222
      start: 4203
    functionDepth: 0
    functionLinenumber: 4203
    functionLinenumberEnd: 4222
    functionName: table_select
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - equal
    - fe_neg
    - negative
    - ge_precomp_0
    - fe_copy
    - cmov
    linkageType: ''
    returnType: void
    signature: void table_select(ge_precomp *t, int pos, signed char b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ge_p3_0
      Src: /src/openssl/crypto/ec/curve25519.c:4259,1
    - Dst: table_select
      Src: /src/openssl/crypto/ec/curve25519.c:4261,1
    - Dst: ge_madd
      Src: /src/openssl/crypto/ec/curve25519.c:4262,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4263,1
    - Dst: ge_p3_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4266,1
    - Dst: ge_p1p1_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:4267,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4268,1
    - Dst: ge_p1p1_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:4269,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4270,1
    - Dst: ge_p1p1_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:4271,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4272,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4273,1
    - Dst: table_select
      Src: /src/openssl/crypto/ec/curve25519.c:4276,1
    - Dst: ge_madd
      Src: /src/openssl/crypto/ec/curve25519.c:4277,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4278,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:4281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - h
    - a
    argTypes:
    - ge_p3*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4282
      start: 4233
    functionDepth: 1
    functionLinenumber: 4233
    functionLinenumberEnd: 4282
    functionName: ge_scalarmult_base
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - table_select
    - ge_p2_dbl
    - ge_p1p1_to_p2
    - ge_p3_dbl
    - ge_p1p1_to_p3
    - OPENSSL_cleanse
    - ge_p3_0
    - ge_madd
    linkageType: ''
    returnType: void
    signature: void ge_scalarmult_base(ge_p3 *h, const uint8_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - f
    - g
    - b
    argTypes:
    - fe
    - fe
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4302
      start: 4291
    functionDepth: 0
    functionLinenumber: 4291
    functionLinenumberEnd: 4302
    functionName: fe_cswap
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_cswap(fe f, fe g, unsigned int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 2
    argNames:
    - h
    - f
    argTypes:
    - fe
    - fe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4370
      start: 4315
    functionDepth: 0
    functionLinenumber: 4315
    functionLinenumberEnd: 4370
    functionName: fe_mul121666
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fe_mul121666(fe h, fe f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/curve25519.c:4380,1
    - Dst: fe_frombytes
      Src: /src/openssl/crypto/ec/curve25519.c:4384,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:4385,1
    - Dst: fe_0
      Src: /src/openssl/crypto/ec/curve25519.c:4386,1
    - Dst: fe_copy
      Src: /src/openssl/crypto/ec/curve25519.c:4387,1
    - Dst: fe_1
      Src: /src/openssl/crypto/ec/curve25519.c:4388,1
    - Dst: fe_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:4393,1
    - Dst: fe_cswap
      Src: /src/openssl/crypto/ec/curve25519.c:4394,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4396,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4397,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:4398,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:4399,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4400,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4401,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:4402,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:4403,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:4404,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4405,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4406,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4407,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:4408,1
    - Dst: fe_mul121666
      Src: /src/openssl/crypto/ec/curve25519.c:4409,1
    - Dst: fe_sq
      Src: /src/openssl/crypto/ec/curve25519.c:4410,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:4411,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4412,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4413,1
    - Dst: fe_invert
      Src: /src/openssl/crypto/ec/curve25519.c:4416,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:4417,1
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:4418,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:4420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4372
    functionDepth: 1
    functionLinenumber: 4372
    functionLinenumberEnd: 4421
    functionName: x25519_scalar_mult_generic
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - fe_sq
    - fe_frombytes
    - fe_sub
    - fe_mul121666
    - memcpy
    - fe_cswap
    - fe_add
    - fe_1
    - fe_mul
    - fe_0
    - fe_tobytes
    - fe_invert
    - fe_copy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void x25519_scalar_mult_generic(uint8_t out[32],\n                                       const
      uint8_t scalar[32],\n                                       const uint8_t point[32])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x25519_scalar_mult_generic
      Src: /src/openssl/crypto/ec/curve25519.c:4425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - scalar
    - point
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4423
    functionDepth: 2
    functionLinenumber: 4423
    functionLinenumberEnd: 4426
    functionName: x25519_scalar_mult
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - x25519_scalar_mult_generic
    linkageType: ''
    returnType: void
    signature: "void x25519_scalar_mult(uint8_t out[32], const uint8_t scalar[32],\n
      \                              const uint8_t point[32])"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - signed char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4462
      start: 4429
    functionDepth: 0
    functionLinenumber: 4429
    functionLinenumberEnd: 4462
    functionName: slide
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void slide(signed char *r, const uint8_t *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: slide
      Src: /src/openssl/crypto/ec/curve25519.c:4549,1
    - Dst: slide
      Src: /src/openssl/crypto/ec/curve25519.c:4550,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4552,1
    - Dst: ge_p3_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4553,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4554,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4555,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4556,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4557,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4558,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4559,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4560,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4561,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4562,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4563,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4564,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4565,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4566,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4567,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4568,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4569,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4570,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4571,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4572,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4573,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4574,1
    - Dst: ge_p3_to_cached
      Src: /src/openssl/crypto/ec/curve25519.c:4575,1
    - Dst: ge_p2_0
      Src: /src/openssl/crypto/ec/curve25519.c:4577,1
    - Dst: ge_p2_dbl
      Src: /src/openssl/crypto/ec/curve25519.c:4586,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4589,1
    - Dst: ge_add
      Src: /src/openssl/crypto/ec/curve25519.c:4590,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4592,1
    - Dst: ge_sub
      Src: /src/openssl/crypto/ec/curve25519.c:4593,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4597,1
    - Dst: ge_madd
      Src: /src/openssl/crypto/ec/curve25519.c:4598,1
    - Dst: ge_p1p1_to_p3
      Src: /src/openssl/crypto/ec/curve25519.c:4600,1
    - Dst: ge_msub
      Src: /src/openssl/crypto/ec/curve25519.c:4601,1
    - Dst: ge_p1p1_to_p2
      Src: /src/openssl/crypto/ec/curve25519.c:4604,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 4
    argNames:
    - r
    - a
    - A
    - b
    argTypes:
    - ge_p2*
    - uint8_t*
    - ge_p3*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4606
      start: 4538
    functionDepth: 0
    functionLinenumber: 4538
    functionLinenumberEnd: 4606
    functionName: ge_double_scalarmult_vartime
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - ge_madd
    - ge_p2_dbl
    - ge_add
    - ge_p1p1_to_p2
    - ge_p3_dbl
    - ge_p3_to_cached
    - ge_sub
    - ge_msub
    - ge_p1p1_to_p3
    - ge_p2_0
    - slide
    linkageType: ''
    returnType: void
    signature: "void ge_double_scalarmult_vartime(ge_p2 *r, const uint8_t *a,\n                                         const
      ge_p3 *A, const uint8_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4622,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4623,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4624,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4625,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4626,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4627,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4628,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4629,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4630,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4631,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4632,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4633,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4634,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4635,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4636,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4637,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4638,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4639,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4640,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4641,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4642,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4643,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4644,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 269
    argCount: 1
    argNames:
    - s
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4952
      start: 4620
    functionDepth: 0
    functionLinenumber: 4620
    functionLinenumberEnd: 4952
    functionName: x25519_sc_reduce
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - load_3
    - load_4
    linkageType: ''
    returnType: void
    signature: void x25519_sc_reduce(uint8_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4967,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4968,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4969,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4970,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4971,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4972,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4973,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4974,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4975,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4976,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4977,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4978,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4979,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4980,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4981,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4982,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4983,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4984,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4985,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4986,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4987,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4988,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4989,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4990,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4991,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4992,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4993,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4994,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4995,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4996,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:4997,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4998,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:4999,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5000,1
    - Dst: load_3
      Src: /src/openssl/crypto/ec/curve25519.c:5001,1
    - Dst: load_4
      Src: /src/openssl/crypto/ec/curve25519.c:5002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 362
    argCount: 4
    argNames:
    - s
    - a
    - b
    - c
    argTypes:
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5435
      start: 4964
    functionDepth: 0
    functionLinenumber: 4964
    functionLinenumberEnd: 5435
    functionName: sc_muladd
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - load_3
    - load_4
    linkageType: ''
    returnType: void
    signature: "void sc_muladd(uint8_t *s, const uint8_t *a, const uint8_t *b,\n                      const
      uint8_t *c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5451,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5464,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5465,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 6
    argNames:
    - hash_ctx
    - sha512
    - dom2flag
    - phflag
    - context
    - context_len
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5471
      start: 5437
    functionDepth: 6
    functionLinenumber: 5437
    functionLinenumberEnd: 5471
    functionName: hash_init_with_dom
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: "int hash_init_with_dom(EVP_MD_CTX *hash_ctx,\n                              EVP_MD
      *sha512,\n                              const uint8_t dom2flag,\n                              const
      uint8_t phflag,\n                              const uint8_t *context,\n                              const
      size_t context_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ec/curve25519.c:5484,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/curve25519.c:5485,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5503,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5504,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5505,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve25519.c:5512,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5513,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5514,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5515,1
    - Dst: x25519_sc_reduce
      Src: /src/openssl/crypto/ec/curve25519.c:5518,1
    - Dst: ge_scalarmult_base
      Src: /src/openssl/crypto/ec/curve25519.c:5519,1
    - Dst: ge_p3_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:5520,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve25519.c:5522,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5523,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5524,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5525,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5526,1
    - Dst: x25519_sc_reduce
      Src: /src/openssl/crypto/ec/curve25519.c:5529,1
    - Dst: sc_muladd
      Src: /src/openssl/crypto/ec/curve25519.c:5530,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5534,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5535,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve25519.c:5536,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve25519.c:5537,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 37
    argCount: 12
    argNames:
    - out_sig
    - tbs
    - tbs_len
    - public_key
    - private_key
    - dom2flag
    - phflag
    - csflag
    - context
    - context_len
    - libctx
    - propq
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5539
      start: 5473
    functionDepth: 10
    functionLinenumber: 5473
    functionLinenumberEnd: 5539
    functionName: ossl_ed25519_sign
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_DigestFinal_ex
    - ge_p3_tobytes
    - EVP_DigestUpdate
    - ge_scalarmult_base
    - x25519_sc_reduce
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - hash_init_with_dom
    - sc_muladd
    - EVP_DigestInit_ex
    - EVP_MD_fetch
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ossl_ed25519_sign(uint8_t *out_sig, const uint8_t *tbs, size_t
      tbs_len,\n                  const uint8_t public_key[32], const uint8_t private_key[32],\n
      \                 const uint8_t dom2flag, const uint8_t phflag, const uint8_t
      csflag,\n                  const uint8_t *context, size_t context_len,\n                  OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ge_frombytes_vartime
      Src: /src/openssl/crypto/ec/curve25519.c:5553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pub
    - pub_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5554
      start: 5546
    functionDepth: 1
    functionLinenumber: 5546
    functionLinenumberEnd: 5554
    functionName: ossl_ed25519_pubkey_verify
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - ge_frombytes_vartime
    linkageType: ''
    returnType: int
    signature: int ossl_ed25519_pubkey_verify(const uint8_t *pub, size_t pub_len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/ec/curve25519.c:5610,1
    - Dst: ge_frombytes_vartime
      Src: /src/openssl/crypto/ec/curve25519.c:5622,1
    - Dst: fe_neg
      Src: /src/openssl/crypto/ec/curve25519.c:5626,1
    - Dst: fe_neg
      Src: /src/openssl/crypto/ec/curve25519.c:5627,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ec/curve25519.c:5629,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/curve25519.c:5632,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve25519.c:5636,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5637,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5638,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve25519.c:5639,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/ec/curve25519.c:5640,1
    - Dst: x25519_sc_reduce
      Src: /src/openssl/crypto/ec/curve25519.c:5643,1
    - Dst: ge_double_scalarmult_vartime
      Src: /src/openssl/crypto/ec/curve25519.c:5645,1
    - Dst: ge_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:5647,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ec/curve25519.c:5649,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve25519.c:5659,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve25519.c:5660,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 11
    argNames:
    - tbs
    - tbs_len
    - signature
    - public_key
    - dom2flag
    - phflag
    - csflag
    - context
    - context_len
    - libctx
    - propq
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5662
      start: 5558
    functionDepth: 10
    functionLinenumber: 5558
    functionLinenumberEnd: 5662
    functionName: ossl_ed25519_verify
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - memcmp
    - fe_neg
    - ge_frombytes_vartime
    - EVP_DigestFinal_ex
    - EVP_MD_free
    - EVP_DigestUpdate
    - x25519_sc_reduce
    - EVP_MD_CTX_new
    - CRYPTO_memcmp
    - EVP_MD_CTX_free
    - hash_init_with_dom
    - ge_tobytes
    - ge_double_scalarmult_vartime
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: "int ossl_ed25519_verify(const uint8_t *tbs, size_t tbs_len,\n                    const
      uint8_t signature[64], const uint8_t public_key[32],\n                    const
      uint8_t dom2flag, const uint8_t phflag, const uint8_t csflag,\n                    const
      uint8_t *context, size_t context_len,\n                    OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ec/curve25519.c:5674,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ec/curve25519.c:5677,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve25519.c:5678,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5680,1
    - Dst: ge_scalarmult_base
      Src: /src/openssl/crypto/ec/curve25519.c:5688,1
    - Dst: ge_p3_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:5689,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - out_public_key
    - private_key
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t[]
    - uint8_t[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5693
      start: 5664
    functionDepth: 10
    functionLinenumber: 5664
    functionLinenumberEnd: 5693
    functionName: ossl_ed25519_public_from_private
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - ge_p3_tobytes
    - ge_scalarmult_base
    - EVP_Digest
    - EVP_MD_fetch
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ossl_ed25519_public_from_private(OSSL_LIB_CTX *ctx, uint8_t out_public_key[32],\n
      \                                const uint8_t private_key[32],\n                                 const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x25519_scalar_mult
      Src: /src/openssl/crypto/ec/curve25519.c:5700,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ec/curve25519.c:5702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out_shared_key
    - private_key
    - peer_public_value
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5703
      start: 5695
    functionDepth: 4
    functionLinenumber: 5695
    functionLinenumberEnd: 5703
    functionName: ossl_x25519
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 0
    functionsReached:
    - x25519_scalar_mult
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: "int ossl_x25519(uint8_t out_shared_key[32], const uint8_t private_key[32],\n
      \           const uint8_t peer_public_value[32])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/curve25519.c:5713,1
    - Dst: ge_scalarmult_base
      Src: /src/openssl/crypto/ec/curve25519.c:5718,1
    - Dst: fe_add
      Src: /src/openssl/crypto/ec/curve25519.c:5725,1
    - Dst: fe_sub
      Src: /src/openssl/crypto/ec/curve25519.c:5726,1
    - Dst: fe_invert
      Src: /src/openssl/crypto/ec/curve25519.c:5727,1
    - Dst: fe_mul
      Src: /src/openssl/crypto/ec/curve25519.c:5728,1
    - Dst: fe_tobytes
      Src: /src/openssl/crypto/ec/curve25519.c:5729,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve25519.c:5731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - out_public_value
    - private_key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5732
      start: 5705
    functionDepth: 1
    functionLinenumber: 5705
    functionLinenumberEnd: 5732
    functionName: ossl_x25519_public_from_private
    functionSourceFile: /src/openssl/crypto/ec/curve25519.c
    functionUses: 1
    functionsReached:
    - fe_sub
    - memcpy
    - fe_add
    - fe_invert
    - fe_mul
    - fe_tobytes
    - ge_scalarmult_base
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void ossl_x25519_public_from_private(uint8_t out_public_value[32],\n
      \                               const uint8_t private_key[32])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: S390X_OFF_RES_X
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_RES_X(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: S390X_OFF_RES_Y
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_RES_Y(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: S390X_OFF_SRC_X
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_SRC_X(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: S390X_OFF_SRC_Y
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_SRC_Y(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: S390X_OFF_SCALAR
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_SCALAR(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: S390X_OFF_R
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_R(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: S390X_OFF_S
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_S(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: S390X_OFF_H
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_H(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: S390X_OFF_K
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_K(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: S390X_OFF_X
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_X(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: S390X_OFF_RN
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_RN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: S390X_OFF_Y
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_OFF_Y(n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:61,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:66,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:68,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:69,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:80,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:81,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:84,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:91,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:92,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:93,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:97,1
    - Dst: EC_GROUP*::meth::point_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:99,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:101,1
    - Dst: S390X_OFF_SRC_X
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:101,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:102,1
    - Dst: S390X_OFF_SRC_Y
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:102,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:103,1
    - Dst: S390X_OFF_SCALAR
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:104,1
    - Dst: s390x_pcc
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:105,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:106,1
    - Dst: S390X_OFF_RES_X
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:106,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:107,1
    - Dst: S390X_OFF_RES_Y
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:107,1
    - Dst: EC_GROUP*::meth::point_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:108,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:118,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:119,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:120,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:121,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 9
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    - fc
    - len
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 123
    functionName: ec_GFp_s390x_nistp_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached:
    - BN_is_negative
    - BN_is_zero
    - s390x_pcc
    - S390X_OFF_RES_X
    - BN_bin2bn
    - S390X_OFF_RES_Y
    - EC_GROUP_get0_generator
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_CTX_free
    - EC_GROUP*::meth::point_set_affine_coordinates
    - S390X_OFF_SRC_Y
    - S390X_OFF_SRC_X
    - EC_POINT_set_to_infinity
    - S390X_OFF_SCALAR
    - BN_bn2binpad
    - EC_POINT_is_at_infinity
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - EC_GROUP*::meth::point_get_affine_coordinates
    - ossl_ec_wNAF_mul
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ec_GFp_s390x_nistp_mul(const EC_GROUP *group, EC_POINT *r,\n                                  const
      BIGNUM *scalar,\n                                  size_t num, const EC_POINT
      *points[],\n                                  const BIGNUM *scalars[],\n                                  BN_CTX
      *ctx, unsigned int fc, int len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:141,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:144,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:149,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:153,1
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:156,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:160,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:163,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:167,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:169,1
    - Dst: S390X_OFF_H
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:169,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:171,1
    - Dst: S390X_OFF_K
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:178,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:187,1
    - Dst: S390X_OFF_RN
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:189,1
    - Dst: BN_CTX_secure_new_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:193,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:193,1
    - Dst: ossl_ec_group_do_inverse_ord
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:198,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:199,1
    - Dst: S390X_OFF_RN
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:200,1
    - Dst: s390x_kdsa
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:208,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:212,1
    - Dst: S390X_OFF_R
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:212,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:213,1
    - Dst: S390X_OFF_S
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:214,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:220,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:221,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:223,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:226,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 7
    argNames:
    - dgst
    - dgstlen
    - kinv
    - r
    - eckey
    - fc
    - len
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 228
    functionName: ecdsa_s390x_nistp_sign_sig
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached:
    - EC_KEY_can_sign
    - ERR_raise
    - memcpy
    - ossl_ec_group_do_inverse_ord
    - BN_bin2bn
    - BN_CTX_secure_new_ex
    - S390X_OFF_K
    - s390x_kdsa
    - RAND_priv_bytes_ex
    - ossl_ec_key_get_libctx
    - BN_CTX_free
    - BN_new
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - S390X_OFF_R
    - BN_clear_free
    - S390X_OFF_H
    - BN_bn2binpad
    - memset
    - S390X_OFF_RN
    - BN_secure_new
    - S390X_OFF_S
    - EC_KEY_get0_private_key
    - EC_KEY_get0_group
    - OPENSSL_cleanse
    linkageType: ''
    returnType: ECDSA_SIG
    signature: "ECDSA_SIG *ecdsa_s390x_nistp_sign_sig(const unsigned char *dgst,\n
      \                                            int dgstlen,\n                                             const
      BIGNUM *kinv,\n                                             const BIGNUM *r,\n
      \                                            EC_KEY *eckey,\n                                             unsigned
      int fc, int len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:242,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:245,1
    - Dst: EC_KEY_can_sign
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:250,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:256,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:260,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:262,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:265,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:269,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:271,1
    - Dst: S390X_OFF_H
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:271,1
    - Dst: EC_GROUP*::meth::point_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:273,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:275,1
    - Dst: S390X_OFF_R
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:275,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:276,1
    - Dst: S390X_OFF_S
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:276,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:277,1
    - Dst: S390X_OFF_X
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:277,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:278,1
    - Dst: S390X_OFF_Y
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:279,1
    - Dst: s390x_kdsa
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:283,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:285,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_s390x_nistp.c:286,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 6
    argNames:
    - dgst
    - dgstlen
    - sig
    - eckey
    - fc
    - len
    argTypes:
    - unsigned char*
    - int
    - ECDSA_SIG*
    - EC_KEY*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 230
    functionDepth: 5
    functionLinenumber: 230
    functionLinenumberEnd: 288
    functionName: ecdsa_s390x_nistp_verify_sig
    functionSourceFile: /src/openssl/crypto/ec/ecp_s390x_nistp.c
    functionUses: 0
    functionsReached:
    - EC_KEY_can_sign
    - ERR_raise
    - memcpy
    - EC_KEY_get0_public_key
    - s390x_kdsa
    - BN_CTX_new_ex
    - BN_CTX_end
    - S390X_OFF_Y
    - BN_CTX_free
    - S390X_OFF_R
    - S390X_OFF_H
    - BN_bn2binpad
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - EC_GROUP*::meth::point_get_affine_coordinates
    - S390X_OFF_S
    - S390X_OFF_X
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: "int ecdsa_s390x_nistp_verify_sig(const unsigned char *dgst, int dgstlen,\n
      \                                       const ECDSA_SIG *sig, EC_KEY *eckey,\n
      \                                       unsigned int fc, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - g
    - ','
    - type
    - ','
    - pre
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: SETPRECOMP
    functionSourceFile: /src/openssl/crypto/ec/ec_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETPRECOMP(g, type, pre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: HAVEPRECOMP
    functionSourceFile: /src/openssl/crypto/ec/ec_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVEPRECOMP(g, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - point
    - group
    argTypes:
    - EC_POINT*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: ec_point_is_compat
    functionSourceFile: /src/openssl/crypto/ec/ec_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ec_point_is_compat(const EC_POINT *point,\n                                          const
      EC_GROUP *group)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::ladder_pre
      Src: /src/openssl/crypto/ec/ec_local.h:771,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_local.h:773,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_local.h:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 778
    functionName: ec_point_ladder_pre
    functionSourceFile: /src/openssl/crypto/ec/ec_local.h
    functionUses: 0
    functionsReached:
    - EC_POINT_copy
    - EC_GROUP*::meth::ladder_pre
    - EC_POINT_dbl
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ec_point_ladder_pre(const EC_GROUP *group,\n                                           EC_POINT
      *r, EC_POINT *s,\n                                           EC_POINT *p, BN_CTX
      *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::ladder_step
      Src: /src/openssl/crypto/ec/ec_local.h:785,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec_local.h:787,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_local.h:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 793
    functionName: ec_point_ladder_step
    functionSourceFile: /src/openssl/crypto/ec/ec_local.h
    functionUses: 0
    functionsReached:
    - EC_POINT_add
    - EC_POINT_dbl
    - EC_GROUP*::meth::ladder_step
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ec_point_ladder_step(const EC_GROUP *group,\n                                            EC_POINT
      *r, EC_POINT *s,\n                                            EC_POINT *p, BN_CTX
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::ladder_post
      Src: /src/openssl/crypto/ec/ec_local.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 803
    functionName: ec_point_ladder_post
    functionSourceFile: /src/openssl/crypto/ec/ec_local.h
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::ladder_post
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ec_point_ladder_post(const EC_GROUP *group,\n                                            EC_POINT
      *r, EC_POINT *s,\n                                            EC_POINT *p, BN_CTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: EC_KEY_OpenSSL
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY_METHOD
    signature: EC_KEY_METHOD *EC_KEY_OpenSSL(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: EC_KEY_get_default_method
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY_METHOD
    signature: EC_KEY_METHOD *EC_KEY_get_default_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: EC_KEY_set_default_method
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_KEY_set_default_method(const EC_KEY_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: EC_KEY_get_method
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY_METHOD
    signature: EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/openssl/crypto/ec/ec_kmeth.c:68,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/ec/ec_kmeth.c:71,1
    - Dst: EC_KEY_METHOD*::init
      Src: /src/openssl/crypto/ec/ec_kmeth.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - key
    - meth
    argTypes:
    - EC_KEY*
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: EC_KEY_set_method
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    - finish
    - EC_KEY_METHOD*::init
    linkageType: ''
    returnType: int
    signature: int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_kmeth.c:84,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ec_kmeth.c:89,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_kmeth.c:90,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ec/ec_kmeth.c:96,1
    - Dst: EC_KEY_get_default_method
      Src: /src/openssl/crypto/ec/ec_kmeth.c:101,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/ec/ec_kmeth.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:105,1
    - Dst: ENGINE_get_default_EC
      Src: /src/openssl/crypto/ec/ec_kmeth.c:110,1
    - Dst: ENGINE_get_EC
      Src: /src/openssl/crypto/ec/ec_kmeth.c:112,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:114,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/ec/ec_kmeth.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:126,1
    - Dst: EC_KEY*::meth::init
      Src: /src/openssl/crypto/ec/ec_kmeth.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:132,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_kmeth.c:138,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - libctx
    - propq
    - engine
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 140
    functionName: ossl_ec_key_new_method_int
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 2
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ERR_raise
    - ENGINE_init
    - EC_KEY*::meth::init
    - CRYPTO_new_ex_data
    - OPENSSL_free
    - EC_KEY_get_default_method
    - OPENSSL_strdup
    - ENGINE_get_default_EC
    - EC_KEY_free
    - ENGINE_get_EC
    linkageType: ''
    returnType: EC_KEY
    signature: "EC_KEY *ossl_ec_key_new_method_int(OSSL_LIB_CTX *libctx, const char
      *propq,\n                                   ENGINE *engine)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_new_method_int
      Src: /src/openssl/crypto/ec/ec_kmeth.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: EC_KEY_new_method
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_new_method_int
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *EC_KEY_new_method(ENGINE *engine)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_kmeth.c:161,1
    - Dst: EC_KEY*::meth::compute_key
      Src: /src/openssl/crypto/ec/ec_kmeth.c:164,1
    - Dst: KDF
      Src: /src/openssl/crypto/ec/ec_kmeth.c:167,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ec_kmeth.c:171,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_kmeth.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - out
    - outlen
    - pub_key
    - eckey
    - "(*KDF) (const void *in, size_t inlen, void *out,\n                                   size_t
      *outlen)"
    argTypes:
    - void*
    - size_t
    - EC_POINT*
    - EC_KEY*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 175
    functionName: ECDH_compute_key
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - memcpy
    - OPENSSL_clear_free
    - EC_KEY*::meth::compute_key
    - KDF
    linkageType: ''
    returnType: int
    signature: "int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key,\n
      \                    const EC_KEY *eckey,\n                     void *(*KDF)
      (const void *in, size_t inlen, void *out,\n                                   size_t
      *outlen))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_kmeth.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: EC_KEY_METHOD_new
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: EC_KEY_METHOD
    signature: EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_kmeth.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: EC_KEY_METHOD_free
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void EC_KEY_METHOD_free(EC_KEY_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: EC_KEY_METHOD_set_init
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth,\n                            int
      (*init)(EC_KEY *key),\n                            void (*finish)(EC_KEY *key),\n
      \                           int (*copy)(EC_KEY *dest, const EC_KEY *src),\n
      \                           int (*set_group)(EC_KEY *key, const EC_GROUP *grp),\n
      \                           int (*set_private)(EC_KEY *key,\n                                               const
      BIGNUM *priv_key),\n                            int (*set_public)(EC_KEY *key,\n
      \                                             const EC_POINT *pub_key))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: EC_KEY_METHOD_set_keygen
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth,\n                              int
      (*keygen)(EC_KEY *key))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: EC_KEY_METHOD_set_compute_key
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth,\n                                   int
      (*ckey)(unsigned char **psec,\n                                               size_t
      *pseclen,\n                                               const EC_POINT *pub_key,\n
      \                                              const EC_KEY *ecdh))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - meth
    - "(*sign_sig)(const unsigned char *dgst,\n                                                   int
      dgst_len,\n                                                   const BIGNUM *in_kinv,\n
      \                                                  const BIGNUM *in_r,\n                                                   EC_KEY
      *eckey)"
    argTypes:
    - EC_KEY_METHOD*
    - ECDSA_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: EC_KEY_METHOD_set_sign
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth,\n                            int
      (*sign)(int type, const unsigned char *dgst,\n                                        int
      dlen, unsigned char *sig,\n                                        unsigned
      int *siglen,\n                                        const BIGNUM *kinv, const
      BIGNUM *r,\n                                        EC_KEY *eckey),\n                            int
      (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in,\n                                              BIGNUM
      **kinvp, BIGNUM **rp),\n                            ECDSA_SIG *(*sign_sig)(const
      unsigned char *dgst,\n                                                   int
      dgst_len,\n                                                   const BIGNUM *in_kinv,\n
      \                                                  const BIGNUM *in_r,\n                                                   EC_KEY
      *eckey))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 259
    functionName: EC_KEY_METHOD_set_verify
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth,\n                              int
      (*verify)(int type, const unsigned\n                                            char
      *dgst, int dgst_len,\n                                            const unsigned
      char *sigbuf,\n                                            int sig_len, EC_KEY
      *eckey),\n                              int (*verify_sig)(const unsigned char
      *dgst,\n                                                int dgst_len,\n                                                const
      ECDSA_SIG *sig,\n                                                EC_KEY *eckey))"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 284
    functionName: EC_KEY_METHOD_get_init
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth,\n                            int
      (**pinit)(EC_KEY *key),\n                            void (**pfinish)(EC_KEY
      *key),\n                            int (**pcopy)(EC_KEY *dest, const EC_KEY
      *src),\n                            int (**pset_group)(EC_KEY *key,\n                                               const
      EC_GROUP *grp),\n                            int (**pset_private)(EC_KEY *key,\n
      \                                                const BIGNUM *priv_key),\n
      \                           int (**pset_public)(EC_KEY *key,\n                                                const
      EC_POINT *pub_key))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: EC_KEY_METHOD_get_keygen
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth,\n                              int
      (**pkeygen)(EC_KEY *key))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: EC_KEY_METHOD_get_compute_key
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth,\n                                   int
      (**pck)(unsigned char **pout,\n                                               size_t
      *poutlen,\n                                               const EC_POINT *pub_key,\n
      \                                              const EC_KEY *ecdh))"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - meth
    - "(**psign_sig)(const unsigned char *dgst,\n                                                     int
      dgst_len,\n                                                     const BIGNUM
      *in_kinv,\n                                                     const BIGNUM
      *in_r,\n                                                     EC_KEY *eckey)"
    argTypes:
    - EC_KEY_METHOD*
    - ECDSA_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: EC_KEY_METHOD_get_sign
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth,\n                            int
      (**psign)(int type, const unsigned char *dgst,\n                                          int
      dlen, unsigned char *sig,\n                                          unsigned
      int *siglen,\n                                          const BIGNUM *kinv,
      const BIGNUM *r,\n                                          EC_KEY *eckey),\n
      \                           int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in,\n
      \                                               BIGNUM **kinvp, BIGNUM **rp),\n
      \                           ECDSA_SIG *(**psign_sig)(const unsigned char *dgst,\n
      \                                                    int dgst_len,\n                                                     const
      BIGNUM *in_kinv,\n                                                     const
      BIGNUM *in_r,\n                                                     EC_KEY *eckey))"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: EC_KEY_METHOD_get_verify
    functionSourceFile: /src/openssl/crypto/ec/ec_kmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_KEY_METHOD_get_verify(const EC_KEY_METHOD *meth,\n                              int
      (**pverify)(int type, const unsigned\n                                              char
      *dgst, int dgst_len,\n                                              const unsigned
      char *sigbuf,\n                                              int sig_len, EC_KEY
      *eckey),\n                              int (**pverify_sig)(const unsigned char
      *dgst,\n                                                  int dgst_len,\n                                                  const
      ECDSA_SIG *sig,\n                                                  EC_KEY *eckey))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/ec/ec_err.c:129,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/ec/ec_err.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: ossl_err_load_EC_strings
    functionSourceFile: /src/openssl/crypto/ec/ec_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_EC_strings(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:29,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_oct.c:32,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:33,1
    - Dst: ossl_ec_GFp_simple_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ec_oct.c:38,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:43,1
    - Dst: ossl_ec_GF2m_simple_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ec_oct.c:47,1
    - Dst: EC_GROUP*::meth::point_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ec_oct.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: EC_POINT_set_compressed_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec_oct.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_ec_GFp_simple_set_compressed_coordinates
    - ec_point_is_compat
    - ossl_ec_GF2m_simple_set_compressed_coordinates
    - EC_GROUP*::meth::point_set_compressed_coordinates
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT
      *point,\n                                        const BIGNUM *x, int y_bit,
      BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ec_oct.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: EC_POINT_set_compressed_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_oct.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_compressed_coordinates
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group,\n
      \                                           EC_POINT *point, const BIGNUM *x,\n
      \                                           int y_bit, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ec_oct.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: EC_POINT_set_compressed_coordinates_GF2m
    functionSourceFile: /src/openssl/crypto/ec/ec_oct.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_compressed_coordinates
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group,\n
      \                                            EC_POINT *point, const BIGNUM *x,\n
      \                                            int y_bit, BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:83,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_oct.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:87,1
    - Dst: ossl_ec_GFp_simple_point2oct
      Src: /src/openssl/crypto/ec/ec_oct.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:97,1
    - Dst: ossl_ec_GF2m_simple_point2oct
      Src: /src/openssl/crypto/ec/ec_oct.c:101,1
    - Dst: EC_GROUP*::meth::point2oct
      Src: /src/openssl/crypto/ec/ec_oct.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - group
    - point
    - form
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 107
    functionName: EC_POINT_point2oct
    functionSourceFile: /src/openssl/crypto/ec/ec_oct.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ossl_ec_GFp_simple_point2oct
    - ec_point_is_compat
    - ossl_ec_GF2m_simple_point2oct
    - EC_GROUP*::meth::point2oct
    linkageType: ''
    returnType: size_t
    signature: "size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *point,\n
      \                         point_conversion_form_t form, unsigned char *buf,\n
      \                         size_t len, BN_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:114,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_oct.c:117,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:118,1
    - Dst: ossl_ec_GFp_simple_oct2point
      Src: /src/openssl/crypto/ec/ec_oct.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_oct.c:127,1
    - Dst: ossl_ec_GF2m_simple_oct2point
      Src: /src/openssl/crypto/ec/ec_oct.c:131,1
    - Dst: EC_GROUP*::meth::oct2point
      Src: /src/openssl/crypto/ec/ec_oct.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - group
    - point
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 135
    functionName: EC_POINT_oct2point
    functionSourceFile: /src/openssl/crypto/ec/ec_oct.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ec_point_is_compat
    - EC_GROUP*::meth::oct2point
    - ossl_ec_GFp_simple_oct2point
    - ossl_ec_GF2m_simple_oct2point
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *point,\n                       const
      unsigned char *buf, size_t len, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/crypto/ec/ec_oct.c:144,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_oct.c:147,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/crypto/ec/ec_oct.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_oct.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - group
    - point
    - form
    - pbuf
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - unsigned char**
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: EC_POINT_point2buf
    functionSourceFile: /src/openssl/crypto/ec/ec_oct.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - EC_POINT_point2oct
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point,\n
      \                         point_conversion_form_t form,\n                          unsigned
      char **pbuf, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_deprecated.c:29,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_deprecated.c:34,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_deprecated.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - group
    - point
    - form
    - ret
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 39
    functionName: EC_POINT_point2bn
    functionSourceFile: /src/openssl/crypto/ec/ec_deprecated.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - OPENSSL_free
    - EC_POINT_point2buf
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *EC_POINT_point2bn(const EC_GROUP *group,\n                          const
      EC_POINT *point,\n                          point_conversion_form_t form,\n
      \                         BIGNUM *ret, BN_CTX *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec_deprecated.c:48,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_deprecated.c:50,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_deprecated.c:53,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_deprecated.c:54,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_deprecated.c:59,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_deprecated.c:60,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/crypto/ec/ec_deprecated.c:66,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_deprecated.c:68,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_deprecated.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_deprecated.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - group
    - bn
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: EC_POINT_bn2point
    functionSourceFile: /src/openssl/crypto/ec/ec_deprecated.c
    functionUses: 0
    functionsReached:
    - EC_POINT_clear_free
    - BN_num_bytes
    - EC_POINT_oct2point
    - OPENSSL_free
    - EC_POINT_new
    - BN_bn2binpad
    - OPENSSL_malloc
    linkageType: ''
    returnType: EC_POINT
    signature: "EC_POINT *EC_POINT_bn2point(const EC_GROUP *group,\n                            const
      BIGNUM *bn, EC_POINT *point, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:118,1
    - Dst: memmove
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: bin48_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - memset
    - memmove
    linkageType: ''
    returnType: void
    signature: void bin48_to_felem(felem out, const u8 in[48])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:130,1
    - Dst: memmove
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - u8[]
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: felem_to_bin48
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - memset
    - memmove
    linkageType: ''
    returnType: void
    signature: void felem_to_bin48(u8 out[48], const felem in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:147,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:152,1
    - Dst: bin48_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: BN_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 3
    functionsReached:
    - BN_bn2lebinpad
    - bin48_to_felem
    - BN_is_negative
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BN_to_felem(felem out, const BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_to_bin48
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:164,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 5
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: felem_to_BN
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 2
    functionsReached:
    - felem_to_bin48
    - BN_lebin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *felem_to_BN(BIGNUM *out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: felem_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void felem_one(felem out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: felem_assign
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void felem_assign(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: felem_sum64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_sum64(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in
    - scalar
    argTypes:
    - felem
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: felem_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar(felem out, const felem in, limb scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: felem_scalar64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar64(felem out, limb scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - widefelem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: felem_scalar128
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar128(widefelem out, limb scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 253
    functionName: felem_neg
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_neg(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 299
    functionName: felem_diff64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff64(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: felem_diff_128_64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff_128_64(widefelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - widefelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 381
    functionName: felem_diff128
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff128(widefelem out, const widefelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 429
    functionName: felem_square_ref
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_scalar
    linkageType: ''
    returnType: void
    signature: void felem_square_ref(widefelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - widefelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 494
    functionName: felem_mul_ref
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_mul_ref(widefelem out, const felem in1, const felem in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 84
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - widefelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 685
    functionName: felem_reduce_ref
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void felem_reduce_ref(felem out, const widefelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square_ref
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:691,1
    - Dst: felem_reduce_ref
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 693
    functionName: felem_square_reduce_ref
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_reduce_ref
    - felem_square_ref
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline felem_square_reduce_ref(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_mul_ref
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:699,1
    - Dst: felem_reduce_ref
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: felem_mul_reduce_ref
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_mul_ref
    - felem_reduce_ref
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline felem_mul_reduce_ref(felem out, const felem in1, const
      felem in2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 750
    functionName: felem_select
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_select(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_select
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:754,1
    - Dst: felem_square_p
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - widefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 756
    functionName: felem_square_wrapper
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_square_p
    - felem_select
    linkageType: ''
    returnType: void
    signature: void felem_square_wrapper(widefelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_select
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:760,1
    - Dst: felem_mul_p
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - widefelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: felem_mul_wrapper
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_mul_p
    - felem_select
    linkageType: ''
    returnType: void
    signature: void felem_mul_wrapper(widefelem out, const felem in1, const felem
      in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:792,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:793,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:794,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:796,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:797,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:798,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:801,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:802,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:803,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:806,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:807,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:810,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:811,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:812,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:815,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:816,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:817,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:820,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:821,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:822,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:825,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:826,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:827,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:830,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:831,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:834,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:835,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:838,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:839,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:842,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:843,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:846,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:847,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:850,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:851,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:853,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 854
    functionName: felem_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 1
    functionsReached:
    - felem_assign
    - felem_square_reduce
    - felem_mul_reduce
    - memcpy
    linkageType: ''
    returnType: void
    signature: void felem_inv(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 877
    functionName: felem_is_zero
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: limb
    signature: limb felem_is_zero(const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: felem_is_zero_int
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_is_zero
    linkageType: ''
    returnType: int
    signature: int felem_is_zero_int(const void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:903,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 1017
    functionName: felem_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void felem_contract(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1044,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1045,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1048,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1051,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1054,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1057,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1058,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1059,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1060,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1063,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1064,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1065,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1066,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1067,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1070,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1071,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1072,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1073,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1074,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1075,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1078,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1079,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1080,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1081,1
    - Dst: felem_scalar128
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1082,1
    - Dst: felem_diff128
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1083,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1085
    functionName: point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 4
    functionsReached:
    - felem_square_reduce
    - felem_mul
    - felem_scalar128
    - felem_diff_128_64
    - felem_diff128
    - felem_diff64
    - felem_square
    - felem_reduce
    - felem_assign
    - felem_scalar64
    - felem_mul_reduce
    - felem_sum64
    linkageType: ''
    returnType: void
    signature: "void point_double(felem x_out, felem y_out, felem z_out,\n             const
      felem x_in, const felem y_in, const felem z_in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in
    - mask
    argTypes:
    - felem
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1094
    functionName: copy_conditional
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_conditional(felem out, const felem in, limb mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1117,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1118,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1121,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1125,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1128,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1131,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1132,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1135,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1136,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1137,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1138,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1141,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1144,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1151,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1154,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1157,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1162,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1165,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1166,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1168,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1171,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1174,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1177,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1180,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1181,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1182,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1183,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1207,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1212,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1213,1
    - Dst: felem_square_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1214,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1217,1
    - Dst: felem_mul_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1220,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1223,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1224,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1225,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1226,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1227,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1228,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1231,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1232,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1233,1
    - Dst: felem_scalar128
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1234,1
    - Dst: felem_diff128
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1235,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1236,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1238,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1239,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1240,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1241,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1242,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1243,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1244,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1245,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 62
    argCount: 10
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - mixed
    - x2
    - y2
    - z2
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    - int
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1247
    functionName: point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 3
    functionsReached:
    - felem_square_reduce
    - felem_scalar
    - felem_mul
    - felem_scalar128
    - felem_diff_128_64
    - felem_diff128
    - felem_diff64
    - felem_is_zero
    - felem_square
    - felem_reduce
    - point_double
    - felem_assign
    - felem_scalar64
    - felem_mul_reduce
    - felem_sum64
    - copy_conditional
    linkageType: ''
    returnType: void
    signature: "void point_add(felem x3, felem y3, felem z3,\n                      const
      felem x1, const felem y1, const felem z1,\n                      const int mixed,
      const felem x2, const felem y2,\n                      const felem z2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - limb
    - unsigned int
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1392
    functionName: select_point
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void select_point(const limb idx, unsigned int size,\n                         const
      felem pre_comp[][3], felem out[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - in
    - i
    argTypes:
    - felem_bytearray
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1400
    functionName: get_bit
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char get_bit(const felem_bytearray in, int i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1422,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1434,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1438,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1440,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1441,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1442,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1445,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1448,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1452,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1461,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1462,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1463,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1464,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1465,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1466,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1467,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1472,1
    - Dst: felem_neg
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1473,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1475,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1478,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1482,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1488,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1489,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 9
    argNames:
    - x_out
    - y_out
    - z_out
    - scalars
    - num_points
    - g_scalar
    - mixed
    - pre_comp
    - g_pre_comp
    argTypes:
    - felem
    - felem
    - felem
    - felem_bytearray[]
    - unsigned int
    - u8*
    - int
    - felem[][][]
    - felem[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1491
    functionName: batch_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 1
    functionsReached:
    - select_point
    - memset
    - point_add
    - felem_neg
    - memcpy
    - felem_assign
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - point_double
    - get_bit
    - copy_conditional
    linkageType: ''
    returnType: void
    signature: "void batch_mul(felem x_out, felem y_out, felem z_out,\n                      const
      felem_bytearray scalars[],\n                      const unsigned int num_points,
      const u8 *g_scalar,\n                      const int mixed, const felem pre_comp[][17][3],\n
      \                     const felem g_pre_comp[16][3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1561
    functionName: ossl_ec_GFp_nistp384_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *ossl_ec_GFp_nistp384_method(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1570,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1575,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1580
    functionName: nistp384_pre_comp_new
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: NISTP384_PRE_COMP
    signature: NISTP384_PRE_COMP *nistp384_pre_comp_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP384_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1589
    functionName: ossl_ec_nistp384_pre_comp_dup
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTP384_PRE_COMP
    signature: NISTP384_PRE_COMP *ossl_ec_nistp384_pre_comp_dup(NISTP384_PRE_COMP
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1598,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1599,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1602,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1604,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP384_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1606
    functionName: ossl_ec_nistp384_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void ossl_ec_nistp384_pre_comp_free(NISTP384_PRE_COMP *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1620
    functionName: ossl_ec_GFp_nistp384_group_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GFp_simple_group_init
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp384_group_init(EC_GROUP *group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1632,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1637,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1638,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1639,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1640,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1643,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1644,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1645,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1646,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1646,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1646,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1647,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1651,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1653,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1622
    functionDepth: 5
    functionLinenumber: 1622
    functionLinenumberEnd: 1658
    functionName: ossl_ec_GFp_nistp384_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_cmp
    - BN_CTX_new
    - BN_bin2bn
    - BN_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp384_group_set_curve(EC_GROUP *group, const BIGNUM
      *p,\n                                         const BIGNUM *a, const BIGNUM
      *b,\n                                         BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1672,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1673,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1676,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1676,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1677,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1679,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1680,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1681,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1682,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1683,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1684,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1686,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1687,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1691,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1692,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1693,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1694,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1695,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1697,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1703
    functionName: ossl_ec_GFp_nistp384_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - felem_mul
    - ERR_raise
    - felem_to_BN
    - felem_contract
    - BN_to_felem
    - felem_square
    - felem_reduce
    - felem_inv
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp384_point_get_affine_coordinates(const EC_GROUP
      *group,\n                                                      const EC_POINT
      *point,\n                                                      BIGNUM *x, BIGNUM
      *y,\n                                                      BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_nistp_points_make_affine_internal
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_felems
    argTypes:
    - size_t
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1729
    functionName: make_points_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 2
    functionsReached:
    - ossl_ec_GFp_nistp_points_make_affine_internal
    linkageType: ''
    returnType: void
    signature: "void make_points_affine(size_t num, felem points[][3],\n                               felem
      tmp_felems[])"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1746,1
    - Dst: felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1754,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1759,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1760,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1761,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1762,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1763,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1775,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1779,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1780,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1781,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1782,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1785,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1789,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1808,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1809,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1812,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1827,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1836,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1837,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1842,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1843,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1846,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1849,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1853,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1857,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1858,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1859,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1861,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1862,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1863,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1866,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1870,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1877,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1882,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1884,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1884,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1889,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1890,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1893,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1895,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1898,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1905,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1910,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1911,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1912,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1913,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1913,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1914,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1915,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1918,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1922,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1923,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1924,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1925,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1926,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 118
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1735
    functionDepth: 5
    functionLinenumber: 1735
    functionLinenumberEnd: 1928
    functionName: ossl_ec_GFp_nistp384_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - memcpy
    - BN_is_negative
    - BN_nnmod
    - BN_bn2lebinpad
    - OPENSSL_free
    - EC_GROUP_get0_generator
    - felem
    - BN_CTX_end
    - point_add
    - make_points_affine
    - point_double
    - felem_to_BN
    - OPENSSL_malloc_array
    - batch_mul
    - BN_to_felem
    - EC_POINT_new
    - BN_num_bits
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - felem_contract
    - OPENSSL_calloc
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp384_points_mul(const EC_GROUP *group, EC_POINT
      *r,\n                                    const BIGNUM *scalar, size_t num,\n
      \                                   const EC_POINT *points[],\n                                    const
      BIGNUM *scalars[], BN_CTX *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1943,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1947,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1952,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1953,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1954,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1960,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1963,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1964,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1965,1
    - Dst: nistp384_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1967,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1972,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1973,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1976,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1977,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1978,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1982,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1985,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1990,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1993,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:1997,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2001,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2005,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2010,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2014,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2017,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2021,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2022,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2024,1
    - Dst: ossl_ec_nistp384_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2026,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 1930
    functionDepth: 5
    functionLinenumber: 1930
    functionLinenumberEnd: 2028
    functionName: ossl_ec_GFp_nistp384_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - memcpy
    - BN_CTX_new
    - BN_bin2bn
    - BN_CTX_end
    - EC_POINT_set_affine_coordinates
    - point_add
    - make_points_affine
    - SETPRECOMP
    - BN_CTX_free
    - point_double
    - ossl_ec_nistp384_pre_comp_free
    - EC_pre_comp_free
    - BN_to_felem
    - EC_POINT_new
    - BN_CTX_get
    - nistp384_pre_comp_new
    - BN_CTX_start
    - memset
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp384_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HAVEPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp384.c:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2030
    functionDepth: 1
    functionLinenumber: 2030
    functionLinenumberEnd: 2033
    functionName: ossl_ec_GFp_nistp384_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp384.c
    functionUses: 0
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp384_have_precompute_mult(const EC_GROUP *group)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_oct.c:50,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_oct.c:58,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:59,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:60,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:61,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:62,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/ec/ec2_oct.c:66,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_oct.c:68,1
    - Dst: BN_GF2m_mod_sqrt_arr
      Src: /src/openssl/crypto/ec/ec2_oct.c:69,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_oct.c:72,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_oct.c:74,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_oct.c:76,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_oct.c:78,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/ec/ec2_oct.c:80,1
    - Dst: BN_GF2m_mod_solve_quad_arr
      Src: /src/openssl/crypto/ec/ec2_oct.c:81,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/ec/ec2_oct.c:83,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/ec/ec2_oct.c:85,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/ec/ec2_oct.c:86,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/ec/ec2_oct.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:88,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/ec/ec2_oct.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:93,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/ec/ec2_oct.c:97,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ec2_oct.c:98,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_oct.c:99,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_oct.c:102,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_oct.c:107,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_oct.c:113,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_oct.c:115,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 5
    argNames:
    - group
    - point
    - x_
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 39
    functionDepth: 8
    functionLinenumber: 39
    functionLinenumberEnd: 118
    functionName: ossl_ec_GF2m_simple_set_compressed_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec2_oct.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ERR_pop_to_mark
    - BN_CTX_new
    - BN_is_zero
    - EC_GROUP*::meth::field_sqr
    - EC_GROUP*::meth::field_div
    - BN_CTX_end
    - EC_POINT_set_affine_coordinates
    - BN_is_odd
    - BN_CTX_free
    - ERR_clear_last_mark
    - ERR_GET_LIB
    - BN_GF2m_mod_arr
    - ERR_peek_last_error
    - BN_GF2m_mod_solve_quad_arr
    - BN_GF2m_add
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - BN_GF2m_mod_sqrt_arr
    - BN_CTX_start
    - ERR_set_mark
    - ERR_GET_REASON
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_set_compressed_coordinates(const EC_GROUP
      *group,\n                                                   EC_POINT *point,\n
      \                                                  const BIGNUM *x_, int y_bit,\n
      \                                                  BN_CTX *ctx)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:141,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_oct.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:149,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec2_oct.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:166,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_oct.c:172,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_oct.c:178,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:180,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:181,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:182,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_oct.c:186,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_oct.c:190,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_oct.c:191,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ec2_oct.c:193,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec2_oct.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:201,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ec2_oct.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:211,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec2_oct.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:219,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ec2_oct.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:231,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_oct.c:237,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_oct.c:239,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_oct.c:245,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_oct.c:247,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 96
    argCount: 6
    argNames:
    - group
    - point
    - form
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 250
    functionName: ossl_ec_GF2m_simple_point2oct
    functionSourceFile: /src/openssl/crypto/ec/ec2_oct.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - EC_GROUP_get_degree
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_num_bytes
    - BN_CTX_new
    - BN_is_zero
    - BN_is_odd
    - BN_CTX_free
    - EC_GROUP*::meth::field_div
    - EC_POINT_get_affine_coordinates
    - BN_bn2bin
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_ec_GF2m_simple_point2oct(const EC_GROUP *group,\n                                     const
      EC_POINT *point,\n                                     point_conversion_form_t
      form,\n                                     unsigned char *buf, size_t len,
      BN_CTX *ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:291,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:302,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec2_oct.c:306,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec2_oct.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:316,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_oct.c:322,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_oct.c:328,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:329,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:330,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_oct.c:331,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec2_oct.c:335,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_oct.c:337,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:338,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ec2_oct.c:343,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec2_oct.c:346,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_oct.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:349,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_oct.c:358,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:360,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_oct.c:364,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ec2_oct.c:366,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_oct.c:367,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_oct.c:377,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_oct.c:384,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_oct.c:386,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 5
    argNames:
    - group
    - point
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 389
    functionName: ossl_ec_GF2m_simple_oct2point
    functionSourceFile: /src/openssl/crypto/ec/ec2_oct.c
    functionUses: 1
    functionsReached:
    - EC_POINT_set_to_infinity
    - EC_GROUP_get_degree
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - BN_CTX_new
    - EC_POINT_set_compressed_coordinates
    - BN_is_zero
    - BN_is_odd
    - BN_bin2bn
    - BN_CTX_free
    - EC_GROUP*::meth::field_div
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_oct2point(const EC_GROUP *group, EC_POINT
      *point,\n                                  const unsigned char *buf, size_t
      len,\n                                  BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: bin32_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bin32_to_felem(felem out, const u8 in[32])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - u8[]
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: smallfelem_to_bin32
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smallfelem_to_bin32(u8 out[32], const smallfelem in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:157,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:162,1
    - Dst: bin32_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: BN_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 6
    functionsReached:
    - BN_bn2lebinpad
    - BN_is_negative
    - bin32_to_felem
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BN_to_felem(felem out, const BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_to_bin32
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:173,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: smallfelem_to_BN
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - smallfelem_to_bin32
    - BN_lebin2bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *smallfelem_to_BN(BIGNUM *out, const smallfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: smallfelem_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smallfelem_one(smallfelem out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: smallfelem_assign
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smallfelem_assign(smallfelem out, const smallfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: felem_assign
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_assign(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: felem_sum
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_sum(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: felem_small_sum
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_small_sum(felem out, const smallfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - felem
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: felem_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar(felem out, const u64 scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - longfelem
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: longfelem_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void longfelem_scalar(longfelem out, const u64 scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - small
    argTypes:
    - felem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: smallfelem_neg
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smallfelem_neg(felem out, const smallfelem small)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 289
    functionName: felem_diff
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 322
    functionName: felem_diff_zero107
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff_zero107(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - longfelem
    - longfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 361
    functionName: longfelem_diff
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void longfelem_diff(longfelem out, const longfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 469
    functionName: felem_shrink
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_shrink(smallfelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: smallfelem_expand
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smallfelem_expand(felem out, const smallfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 2
    argNames:
    - out
    - small
    argTypes:
    - longfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 557
    functionName: smallfelem_square
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smallfelem_square(longfelem out, const smallfelem small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:569,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - longfelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 571
    functionName: felem_square
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 9
    functionsReached:
    - smallfelem_square
    - felem_shrink
    linkageType: ''
    returnType: void
    signature: void felem_square(longfelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 3
    argNames:
    - out
    - small1
    - small2
    argTypes:
    - longfelem
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 682
    functionName: smallfelem_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void smallfelem_mul(longfelem out, const smallfelem small1,\n                           const
      smallfelem small2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:695,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:696,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - longfelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: felem_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 9
    functionsReached:
    - smallfelem_mul
    - felem_shrink
    linkageType: ''
    returnType: void
    signature: void felem_mul(longfelem out, const felem in1, const felem in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:712,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - small1
    - in2
    argTypes:
    - longfelem
    - smallfelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: felem_small_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - smallfelem_mul
    - felem_shrink
    linkageType: ''
    returnType: void
    signature: "void felem_small_mul(longfelem out, const smallfelem small1,\n                            const
      felem in2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - longfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 769
    functionName: felem_reduce_
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_reduce_(felem out, const longfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_reduce_
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - longfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 800
    functionName: felem_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 10
    functionsReached:
    - felem_reduce_
    linkageType: ''
    returnType: void
    signature: void felem_reduce(felem out, const longfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_reduce_
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - longfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 829
    functionName: felem_reduce_zero105
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_reduce_
    linkageType: ''
    returnType: void
    signature: void felem_reduce_zero105(felem out, const longfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - result
    - carry
    - v
    argTypes:
    - u64*
    - u64*
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: subtract_u64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void subtract_u64(u64 *result, u64 *carry, u64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:852,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:895,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:896,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:897,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:898,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:900,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:901,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:902,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:904,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:905,1
    - Dst: subtract_u64
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 908
    functionName: felem_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 4
    functionsReached:
    - subtract_u64
    - felem_shrink
    linkageType: ''
    returnType: void
    signature: void felem_contract(smallfelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:915,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:916,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: smallfelem_square_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_contract
    - smallfelem_square
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: void smallfelem_square_contract(smallfelem out, const smallfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:926,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:927,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - smallfelem
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 929
    functionName: smallfelem_mul_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_contract
    - smallfelem_mul
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: "void smallfelem_mul_contract(smallfelem out, const smallfelem in1,\n
      \                                   const smallfelem in2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - small
    argTypes:
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 969
    functionName: smallfelem_is_zero
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: limb
    signature: limb smallfelem_is_zero(const smallfelem small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - small
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 974
    functionName: smallfelem_is_zero_int
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - smallfelem_is_zero
    linkageType: ''
    returnType: int
    signature: int smallfelem_is_zero_int(const void *small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:992,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:993,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:994,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:995,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:996,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:997,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:998,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:999,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1000,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1001,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1002,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1003,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1004,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1005,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1006,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1007,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1008,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1009,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1010,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1011,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1012,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1013,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1014,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1016,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1017,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1019,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1020,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1021,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1023,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1024,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1026,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1027,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1028,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1030,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1031,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1033,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1034,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1035,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1037,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1038,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1041,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1042,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1044,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1045,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1047,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1048,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1050,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1051,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1053,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1054,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1056,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1057,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1059,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1060,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1061,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1062,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1063,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1064,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1065,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1066,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1067,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1068,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1069,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1070,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1071,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1072,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1074,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1075,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1076
    functionName: felem_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 2
    functionsReached:
    - felem_mul
    - felem_square
    - felem_reduce
    - felem_assign
    linkageType: ''
    returnType: void
    signature: void felem_inv(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1082,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1083,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1085
    functionName: smallfelem_inv_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - smallfelem_expand
    - felem_inv
    - felem_contract
    linkageType: ''
    returnType: void
    signature: void smallfelem_inv_contract(smallfelem out, const smallfelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1113,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1115,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1119,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1120,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1124,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1125,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1127,1
    - Dst: felem_small_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1130,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1131,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1135,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1137,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1139,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1141,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1142,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1144,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1147,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1148,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1149,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1150,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1152,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1156,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1158,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1159,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1161,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1162,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1163,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1167,1
    - Dst: felem_diff_zero107
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1169,1
    - Dst: felem_small_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1171,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1173,1
    - Dst: longfelem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1175,1
    - Dst: longfelem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1177,1
    - Dst: felem_reduce_zero105
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1181
    functionName: point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 8
    functionsReached:
    - longfelem_scalar
    - felem_diff
    - felem_scalar
    - felem_mul
    - felem_reduce_zero105
    - felem_shrink
    - felem_small_mul
    - longfelem_diff
    - felem_square
    - felem_sum
    - felem_reduce
    - smallfelem_square
    - felem_assign
    - felem_diff_zero107
    linkageType: ''
    returnType: void
    signature: "void point_double(felem x_out, felem y_out, felem z_out,\n             const
      felem x_in, const felem y_in, const felem z_in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1195,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1196,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1197,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1198,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1200,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1201,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1203
    functionName: point_double_small
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - smallfelem_expand
    - felem_shrink
    - point_double
    linkageType: ''
    returnType: void
    signature: "void point_double_small(smallfelem x_out, smallfelem y_out, smallfelem
      z_out,\n                   const smallfelem x_in, const smallfelem y_in,\n                   const
      smallfelem z_in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - mask
    argTypes:
    - felem
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1213
    functionName: copy_conditional
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_conditional(felem out, const felem in, limb mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - mask
    argTypes:
    - felem
    - smallfelem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1223
    functionName: copy_small_conditional
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_small_conditional(felem out, const smallfelem in, limb mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1248,1
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1250,1
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1251,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1254,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1255,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1257,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1261,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1262,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1264,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1266,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1269,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1270,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1274,1
    - Dst: felem_small_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1275,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1279,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1280,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1282,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1284,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1288,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1289,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1292,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1293,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1301,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1305,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1306,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1310,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1315,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1316,1
    - Dst: felem_diff_zero107
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1319,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1321,1
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1323,1
    - Dst: felem_small_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1326,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1327,1
    - Dst: smallfelem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1331,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1332,1
    - Dst: felem_small_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1335,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1336,1
    - Dst: felem_diff_zero107
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1339,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1341,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1343,1
    - Dst: smallfelem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1344,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1366,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1371,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1372,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1374,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1375,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1378,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1379,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1382,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1383,1
    - Dst: smallfelem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1386,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1387,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1388,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1389,1
    - Dst: felem_sum
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1390,1
    - Dst: felem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1392,1
    - Dst: felem_diff_zero107
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1396,1
    - Dst: felem_small_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1398,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1399,1
    - Dst: longfelem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1400,1
    - Dst: longfelem_diff
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1402,1
    - Dst: felem_reduce_zero105
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1404,1
    - Dst: copy_small_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1407,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1408,1
    - Dst: copy_small_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1409,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1410,1
    - Dst: copy_small_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1411,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1412,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1413,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1414,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 79
    argCount: 10
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - mixed
    - x2
    - y2
    - z2
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    - int
    - smallfelem
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1237
    functionDepth: 2
    functionLinenumber: 1237
    functionLinenumberEnd: 1416
    functionName: point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 6
    functionsReached:
    - felem_diff
    - felem_reduce_zero105
    - felem_assign
    - longfelem_scalar
    - felem_mul
    - felem_scalar
    - felem_shrink
    - felem_small_mul
    - point_double
    - smallfelem_is_zero
    - copy_conditional
    - copy_small_conditional
    - felem_square
    - smallfelem_square
    - felem_sum
    - felem_small_sum
    - longfelem_diff
    - smallfelem_mul
    - felem_reduce
    - felem_diff_zero107
    linkageType: ''
    returnType: void
    signature: "void point_add(felem x3, felem y3, felem z3,\n                      const
      felem x1, const felem y1, const felem z1,\n                      const int mixed,
      const smallfelem x2,\n                      const smallfelem y2, const smallfelem
      z2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1428,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1429,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1430,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1431,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1433,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1434,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - x2
    - y2
    - z2
    argTypes:
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    - smallfelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1422
    functionDepth: 1
    functionLinenumber: 1422
    functionLinenumberEnd: 1436
    functionName: point_add_small
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - smallfelem_expand
    - point_add
    - felem_shrink
    linkageType: ''
    returnType: void
    signature: "void point_add_small(smallfelem x3, smallfelem y3, smallfelem z3,\n
      \                           smallfelem x1, smallfelem y1, smallfelem z1,\n                            smallfelem
      x2, smallfelem y2, smallfelem z2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - u64
    - unsigned int
    - smallfelem[][]
    - smallfelem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1657
    functionName: select_point
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void select_point(const u64 idx, unsigned int size,\n                         const
      smallfelem pre_comp[16][3], smallfelem out[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - in
    - i
    argTypes:
    - felem_bytearray
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1665
    functionName: get_bit
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char get_bit(const felem_bytearray in, int i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1688,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1700,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1705,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1706,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1707,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1708,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1710,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1714,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1717,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1718,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1719,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1724,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1725,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1726,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1727,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1729,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1731,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1739,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1740,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1741,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1742,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1743,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1744,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1745,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1750,1
    - Dst: smallfelem_neg
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1751,1
    - Dst: copy_small_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1753,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1754,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1757,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1761,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1762,1
    - Dst: smallfelem_expand
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1763,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1769,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1770,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1771,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 9
    argNames:
    - x_out
    - y_out
    - z_out
    - scalars
    - num_points
    - g_scalar
    - mixed
    - pre_comp
    - g_pre_comp
    argTypes:
    - felem
    - felem
    - felem
    - felem_bytearray[]
    - unsigned
    - u8*
    - int
    - smallfelem[][][]
    - smallfelem[][][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1772
    functionName: batch_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 2
    functionsReached:
    - smallfelem_expand
    - select_point
    - memset
    - point_add
    - felem_contract
    - copy_small_conditional
    - felem_assign
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - point_double
    - get_bit
    - smallfelem_neg
    linkageType: ''
    returnType: void
    signature: "void batch_mul(felem x_out, felem y_out, felem z_out,\n                      const
      felem_bytearray scalars[],\n                      const unsigned num_points,
      const u8 *g_scalar,\n                      const int mixed, const smallfelem
      pre_comp[][17][3],\n                      const smallfelem g_pre_comp[2][16][3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1842
    functionName: EC_GFp_nistp256_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GFp_nistp256_method(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1851,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1856,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1861
    functionName: nistp256_pre_comp_new
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: NISTP256_PRE_COMP
    signature: NISTP256_PRE_COMP *nistp256_pre_comp_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP256_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1869
    functionName: EC_nistp256_pre_comp_dup
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTP256_PRE_COMP
    signature: NISTP256_PRE_COMP *EC_nistp256_pre_comp_dup(NISTP256_PRE_COMP *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1878,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1879,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1882,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1884,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pre
    argTypes:
    - NISTP256_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1871
    functionDepth: 1
    functionLinenumber: 1871
    functionLinenumberEnd: 1886
    functionName: EC_nistp256_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EC_nistp256_pre_comp_free(NISTP256_PRE_COMP *pre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1899
    functionName: ossl_ec_GFp_nistp256_group_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GFp_simple_group_init
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp256_group_init(EC_GROUP *group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1911,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1916,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1917,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1918,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1919,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1922,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1923,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1924,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1925,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1925,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1925,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1926,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1930,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1932,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1934,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1901
    functionDepth: 5
    functionLinenumber: 1901
    functionLinenumberEnd: 1937
    functionName: ossl_ec_GFp_nistp256_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_cmp
    - BN_CTX_new
    - BN_bin2bn
    - BN_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp256_group_set_curve(EC_GROUP *group, const BIGNUM
      *p,\n                                         const BIGNUM *a, const BIGNUM
      *b,\n                                         BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1952,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1953,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1956,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1956,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1957,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1959,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1960,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1961,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1962,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1963,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1964,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1966,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1967,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1971,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1972,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1973,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1974,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1975,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1977,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1943
    functionDepth: 6
    functionLinenumber: 1943
    functionLinenumberEnd: 1983
    functionName: ossl_ec_GFp_nistp256_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - felem_mul
    - ERR_raise
    - felem_contract
    - BN_to_felem
    - felem_square
    - felem_reduce
    - smallfelem_to_BN
    - felem_inv
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp256_point_get_affine_coordinates(const EC_GROUP
      *group,\n                                                      const EC_POINT
      *point,\n                                                      BIGNUM *x, BIGNUM
      *y,\n                                                      BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_nistp_points_make_affine_internal
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_smallfelems
    argTypes:
    - size_t
    - smallfelem[][]
    - smallfelem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1986
    functionDepth: 1
    functionLinenumber: 1986
    functionLinenumberEnd: 2012
    functionName: make_points_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 4
    functionsReached:
    - ossl_ec_GFp_nistp_points_make_affine_internal
    linkageType: ''
    returnType: void
    signature: "void make_points_affine(size_t num, smallfelem points[][3],\n                               smallfelem
      tmp_smallfelems[])"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: smallfelem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2029,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2043,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2044,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2045,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2046,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2047,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2059,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2063,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2064,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2065,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2066,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2069,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2073,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2091,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2092,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2094,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2110,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2119,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2120,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2126,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2129,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2136,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2140,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2141,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2142,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2144,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2145,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2146,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2149,1
    - Dst: point_double_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2156,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2167,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2172,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2174,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2174,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2180,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2183,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2185,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2188,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2194,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2199,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2200,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2201,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2202,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2202,1
    - Dst: smallfelem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2204,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2207,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2211,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2214,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2215,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 117
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2018
    functionDepth: 6
    functionLinenumber: 2018
    functionLinenumberEnd: 2217
    functionName: ossl_ec_GFp_nistp256_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - BN_is_negative
    - BN_nnmod
    - BN_bn2lebinpad
    - OPENSSL_free
    - point_add_small
    - EC_GROUP_get0_generator
    - point_double_small
    - BN_CTX_end
    - make_points_affine
    - felem_shrink
    - OPENSSL_malloc_array
    - batch_mul
    - BN_to_felem
    - EC_POINT_new
    - BN_num_bits
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - felem_contract
    - OPENSSL_calloc
    - EC_POINT_cmp
    - smallfelem
    - smallfelem_to_BN
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp256_points_mul(const EC_GROUP *group, EC_POINT
      *r,\n                                    const BIGNUM *scalar, size_t num,\n
      \                                   const EC_POINT *points[],\n                                    const
      BIGNUM *scalars[], BN_CTX *ctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EC_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2233,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2237,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2242,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2243,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2244,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2250,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2253,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2254,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2255,1
    - Dst: nistp256_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2257,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2262,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2263,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2266,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2267,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2268,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2270,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2271,1
    - Dst: felem_shrink
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2272,1
    - Dst: point_double_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2278,1
    - Dst: point_double_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2283,1
    - Dst: point_double_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2292,1
    - Dst: point_double_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2298,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2308,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2311,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2317,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2323,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2331,1
    - Dst: point_add_small
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2338,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2349,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2352,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2357,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2358,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2360,1
    - Dst: EC_nistp256_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2362,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2219
    functionDepth: 5
    functionLinenumber: 2219
    functionLinenumberEnd: 2364
    functionName: ossl_ec_GFp_nistp256_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - memcpy
    - BN_CTX_new
    - BN_bin2bn
    - point_add_small
    - point_double_small
    - BN_CTX_end
    - EC_POINT_set_affine_coordinates
    - nistp256_pre_comp_new
    - make_points_affine
    - SETPRECOMP
    - felem_shrink
    - BN_CTX_free
    - EC_nistp256_pre_comp_free
    - EC_pre_comp_free
    - BN_to_felem
    - EC_POINT_new
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp256_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HAVEPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp256.c:2368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2366
    functionDepth: 1
    functionLinenumber: 2366
    functionLinenumberEnd: 2369
    functionName: ossl_ec_GFp_nistp256_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp256.c
    functionUses: 0
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp256_have_precompute_mult(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 83
    functionName: EC_GFp_nist_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_nist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GFp_nist_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_copy
      Src: /src/openssl/crypto/ec/ecp_nist.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: ossl_ec_GFp_nist_group_copy
    functionSourceFile: /src/openssl/crypto/ec/ecp_nist.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GFp_simple_group_copy
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nist_group_copy(EC_GROUP *dest, const EC_GROUP *src)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_nist.c:100,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nist.c:103,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_nist.c:105,1
    - Dst: BN_get0_nist_prime_192
      Src: /src/openssl/crypto/ec/ecp_nist.c:105,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_nist.c:107,1
    - Dst: BN_get0_nist_prime_224
      Src: /src/openssl/crypto/ec/ecp_nist.c:107,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_nist.c:109,1
    - Dst: BN_get0_nist_prime_256
      Src: /src/openssl/crypto/ec/ecp_nist.c:109,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_nist.c:111,1
    - Dst: BN_get0_nist_prime_384
      Src: /src/openssl/crypto/ec/ecp_nist.c:111,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_nist.c:113,1
    - Dst: BN_get0_nist_prime_521
      Src: /src/openssl/crypto/ec/ecp_nist.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nist.c:116,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nist.c:120,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nist.c:123,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nist.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: ossl_ec_GFp_nist_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nist.c
    functionUses: 0
    functionsReached:
    - BN_get0_nist_prime_224
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_get0_nist_prime_256
    - BN_CTX_free
    - BN_ucmp
    - BN_get0_nist_prime_521
    - ossl_ec_GFp_simple_group_set_curve
    - BN_get0_nist_prime_192
    - BN_get0_nist_prime_384
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM
      *p,\n                                     const BIGNUM *a, const BIGNUM *b,\n
      \                                    BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nist.c:135,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_nist.c:139,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/ec/ecp_nist.c:142,1
    - Dst: EC_GROUP*::field_mod_func
      Src: /src/openssl/crypto/ec/ecp_nist.c:144,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nist.c:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 151
    functionName: ossl_ec_GFp_nist_field_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nist.c
    functionUses: 0
    functionsReached:
    - BN_mul
    - ERR_raise
    - EC_GROUP*::field_mod_func
    - BN_CTX_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nist_field_mul(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a,\n                               const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nist.c:160,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_nist.c:164,1
    - Dst: BN_sqr
      Src: /src/openssl/crypto/ec/ecp_nist.c:167,1
    - Dst: EC_GROUP*::field_mod_func
      Src: /src/openssl/crypto/ec/ecp_nist.c:169,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nist.c:174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: ossl_ec_GFp_nist_field_sqr
    functionSourceFile: /src/openssl/crypto/ec/ecp_nist.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_GROUP*::field_mod_func
    - BN_CTX_free
    - BN_sqr
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nist_field_sqr(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a,\n                               BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 82
    functionName: EC_GFp_simple_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GFp_simple_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_smpl.c:100,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_smpl.c:101,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_smpl.c:102,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:104,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:105,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: ossl_ec_GFp_simple_group_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 3
    functionsReached:
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_simple_group_init(EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:115,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:116,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ossl_ec_GFp_simple_group_finish
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GFp_simple_group_finish(EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:122,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:123,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: ossl_ec_GFp_simple_group_clear_finish
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GFp_simple_group_clear_finish(EC_GROUP *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:129,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:131,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: ossl_ec_GFp_simple_group_copy
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 1
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_simple_group_copy(EC_GROUP *dest, const EC_GROUP *src)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_smpl.c:150,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_smpl.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:151,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:156,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:161,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:162,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:167,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ecp_smpl.c:169,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_smpl.c:172,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:175,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:177,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_smpl.c:181,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:184,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/ec/ecp_smpl.c:188,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:190,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:195,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:196,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 198
    functionName: ossl_ec_GFp_simple_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 4
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_set_negative
    - BN_nnmod
    - BN_cmp
    - BN_is_odd
    - EC_GROUP*::meth::field_encode
    - BN_CTX_free
    - BN_add_word
    - BN_copy
    - BN_num_bits
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_group_set_curve(EC_GROUP *group,\n                                       const
      BIGNUM *p, const BIGNUM *a,\n                                       const BIGNUM
      *b, BN_CTX *ctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:207,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:214,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:219,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:223,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:228,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:232,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:241,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 243
    functionName: ossl_ec_GFp_simple_group_get_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::field_decode
    - BN_copy
    - BN_CTX_new_ex
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_group_get_curve(const EC_GROUP *group, BIGNUM
      *p,\n                                       BIGNUM *a, BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_smpl.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: ossl_ec_GFp_simple_group_get_degree
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_simple_group_get_degree(const EC_GROUP *group)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:261,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:265,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:266,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:267,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:268,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:269,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:270,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:275,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:277,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:280,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:282,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:291,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:292,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:294,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:295,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:297,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/ec/ecp_smpl.c:299,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:303,1
    - Dst: BN_mul_word
      Src: /src/openssl/crypto/ec/ecp_smpl.c:305,1
    - Dst: BN_mod_add
      Src: /src/openssl/crypto/ec/ecp_smpl.c:309,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:311,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:317,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:318,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 67
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 320
    functionName: ossl_ec_GFp_simple_group_check_discriminant
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_mod_mul
    - BN_is_zero
    - BN_lshift
    - BN_mod_sqr
    - BN_CTX_free
    - EC_GROUP*::meth::field_decode
    - BN_copy
    - BN_mul_word
    - BN_mod_add
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_group_check_discriminant(const EC_GROUP *group,\n
      \                                               BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_smpl.c:324,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_smpl.c:325,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_smpl.c:326,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:330,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:331,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: ossl_ec_GFp_simple_point_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_simple_point_init(EC_POINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:340,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:341,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: ossl_ec_GFp_simple_point_finish
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GFp_simple_point_finish(EC_POINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:347,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:348,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: ossl_ec_GFp_simple_point_clear_finish
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GFp_simple_point_clear_finish(EC_POINT *point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:355,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:357,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: ossl_ec_GFp_simple_point_copy
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_simple_point_copy(EC_POINT *dest, const EC_POINT *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: ossl_ec_GFp_simple_point_set_to_infinity
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_zero
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_point_set_to_infinity(const EC_GROUP *group,\n
      \                                            EC_POINT *point)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:386,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_smpl.c:392,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:395,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_smpl.c:401,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:404,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_smpl.c:412,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:414,1
    - Dst: EC_GROUP*::meth::field_set_to_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:417,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:420,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:431,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 6
    argNames:
    - group
    - point
    - x
    - y
    - z
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 433
    functionName: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 3
    functionsReached:
    - BN_is_one
    - BN_nnmod
    - EC_GROUP*::meth::field_encode
    - BN_CTX_free
    - EC_GROUP*::meth::field_set_to_one
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp(const EC_GROUP
      *group,\n                                                       EC_POINT *point,\n
      \                                                      const BIGNUM *x,\n                                                       const
      BIGNUM *y,\n                                                       const BIGNUM
      *z,\n                                                       BN_CTX *ctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:445,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:451,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:455,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:459,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:464,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:468,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:472,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:480,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 6
    argNames:
    - group
    - point
    - x
    - y
    - z
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 482
    functionName: ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::field_decode
    - BN_copy
    - BN_CTX_new_ex
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp(const EC_GROUP
      *group,\n                                                       const EC_POINT
      *point,\n                                                       BIGNUM *x, BIGNUM
      *y,\n                                                       BIGNUM *z, BN_CTX
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:493,1
    - Dst: EC_POINT_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:497,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 499
    functionName: ossl_ec_GFp_simple_point_set_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_Jprojective_coordinates_GFp
    - BN_value_one
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_point_set_affine_coordinates(const EC_GROUP
      *group,\n                                                    EC_POINT *point,\n
      \                                                   const BIGNUM *x,\n                                                    const
      BIGNUM *y, BN_CTX *ctx)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:511,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:512,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:517,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:522,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:523,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:524,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:525,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:526,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:533,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:540,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:543,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:547,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:552,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:556,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/crypto/ec/ecp_smpl.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:562,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:568,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:571,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:580,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:589,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:592,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:600,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:608,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:609,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 91
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 611
    functionName: ossl_ec_GFp_simple_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - EC_GROUP*::meth::field_inv
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_mod_mul
    - BN_is_one
    - EC_POINT_is_at_infinity
    - BN_mod_sqr
    - EC_GROUP*::meth::field_sqr
    - BN_CTX_free
    - EC_GROUP*::meth::field_decode
    - BN_copy
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_point_get_affine_coordinates(const EC_GROUP
      *group,\n                                                    const EC_POINT
      *point,\n                                                    BIGNUM *x, BIGNUM
      *y,\n                                                    BN_CTX *ctx)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ecp_smpl.c:625,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:626,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:627,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:628,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:629,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:636,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:641,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:642,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:643,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:644,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:645,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:646,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:647,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:648,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:660,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:662,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:667,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:669,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:673,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:675,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:682,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:684,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:689,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:691,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:695,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:697,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:703,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:705,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:710,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:711,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:713,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ecp_smpl.c:714,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:719,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:727,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:729,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:736,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:740,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:743,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:746,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:749,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:756,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:758,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:760,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:762,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:767,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:769,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:774,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:776,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:778,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:780,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_smpl.c:782,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ecp_smpl.c:783,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/ec/ecp_smpl.c:786,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:793,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:794,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 162
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 613
    functionDepth: 6
    functionLinenumber: 613
    functionLinenumberEnd: 796
    functionName: ossl_ec_GFp_simple_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_mod_sub_quick
    - BN_is_zero
    - BN_add
    - BN_copy
    - BN_CTX_new_ex
    - BN_mod_add_quick
    - BN_CTX_end
    - BN_mod_lshift1_quick
    - BN_is_odd
    - field_mul
    - BN_CTX_free
    - field_sqr
    - EC_POINT_is_at_infinity
    - BN_CTX_get
    - BN_CTX_start
    - BN_zero
    - EC_POINT_copy
    - EC_POINT_dbl
    - BN_rshift1
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_add(const EC_GROUP *group, EC_POINT *r, const
      EC_POINT *a,\n                           const EC_POINT *b, BN_CTX *ctx)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:809,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:810,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:820,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:825,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:826,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:827,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:828,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:829,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:841,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:843,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:845,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:847,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:851,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:853,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:855,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:857,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:859,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:861,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:868,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:870,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:872,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:874,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:876,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:878,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:880,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:887,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:890,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:893,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:899,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:901,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:903,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:908,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:910,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:912,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:917,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:919,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:924,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:926,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:928,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:935,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:936,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 130
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 798
    functionDepth: 6
    functionLinenumber: 798
    functionLinenumberEnd: 938
    functionName: ossl_ec_GFp_simple_dbl
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_mod_add_quick
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - field_sqr
    - BN_mod_sub_quick
    - BN_mod_lshift1_quick
    - BN_zero
    - EC_POINT_is_at_infinity
    - field_mul
    - BN_mod_lshift_quick
    - BN_CTX_free
    - BN_copy
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_dbl(const EC_GROUP *group, EC_POINT *r, const
      EC_POINT *a,\n                           BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:943,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:943,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/ec/ecp_smpl.c:947,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 940
    functionDepth: 5
    functionLinenumber: 940
    functionLinenumberEnd: 948
    functionName: ossl_ec_GFp_simple_invert
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_usub
    - BN_is_zero
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_invert(const EC_GROUP *group, EC_POINT *point,\n
      \                             BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 954
    functionName: ossl_ec_GFp_simple_is_at_infinity
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_is_at_infinity(const EC_GROUP *group,\n                                      const
      EC_POINT *point)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:967,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:975,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:980,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:981,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:982,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:983,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:984,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:999,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1003,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1005,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1007,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1012,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1014,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1016,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1018,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1021,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1023,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1025,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1030,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1032,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1038,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1040,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1043,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1048,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1051,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1054,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1055,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 82
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 956
    functionDepth: 6
    functionLinenumber: 956
    functionLinenumberEnd: 1057
    functionName: ossl_ec_GFp_simple_is_on_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_mod_add_quick
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - field_sqr
    - BN_mod_sub_quick
    - BN_mod_lshift1_quick
    - EC_POINT_is_at_infinity
    - field_mul
    - BN_CTX_free
    - BN_ucmp
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_is_on_curve(const EC_GROUP *group, const EC_POINT
      *point,\n                                   BN_CTX *ctx)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1077,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1078,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1081,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1085,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1085,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1092,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1097,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1098,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1099,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1100,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1101,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1113,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1115,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1121,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1123,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1130,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1136,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1138,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1144,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1146,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1153,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1162,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1163,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 4
    argNames:
    - group
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1165
    functionName: ossl_ec_GFp_simple_cmp
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - field_sqr
    - BN_cmp
    - EC_POINT_is_at_infinity
    - field_mul
    - BN_CTX_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_cmp(const EC_GROUP *group, const EC_POINT *a,\n
      \                          const EC_POINT *b, BN_CTX *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1174,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1178,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1183,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1184,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1185,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1189,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1191,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1194,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1201,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1204
    functionName: ossl_ec_GFp_simple_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - EC_POINT_is_at_infinity
    - BN_CTX_free
    - EC_POINT_get_affine_coordinates
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_make_affine(const EC_GROUP *group, EC_POINT
      *point,\n                                   BN_CTX *ctx)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1219,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1224,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1225,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1226,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1230,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1234,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1244,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1245,1
    - Dst: EC_GROUP*::meth::field_set_to_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1249,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1252,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1258,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1259,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1264,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1275,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1284,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1286,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1295,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1300,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1306,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1309,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1314,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1316,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1325,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1328,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1330,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1333,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1335,1
    - Dst: EC_GROUP*::meth::field_set_to_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1339,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1342,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1352,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1353,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1358,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1360,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 121
    argCount: 4
    argNames:
    - group
    - num
    - points
    - ctx
    argTypes:
    - EC_GROUP*
    - size_t
    - EC_POINT*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1206
    functionDepth: 3
    functionLinenumber: 1206
    functionLinenumberEnd: 1363
    functionName: ossl_ec_GFp_simple_points_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - EC_GROUP*::meth::field_inv
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_clear_free
    - OPENSSL_malloc_array
    - BN_one
    - BN_is_zero
    - EC_GROUP*::meth::field_encode
    - BN_CTX_free
    - EC_GROUP*::meth::field_sqr
    - OPENSSL_free
    - BN_new
    - BN_copy
    - EC_GROUP*::meth::field_set_to_one
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_points_make_affine(const EC_GROUP *group, size_t
      num,\n                                          EC_POINT *points[], BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1365
    functionDepth: 3
    functionLinenumber: 1365
    functionLinenumberEnd: 1369
    functionName: ossl_ec_GFp_simple_field_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_field_mul(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a,\n                                 const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1375
    functionName: ossl_ec_GFp_simple_field_sqr
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_mod_sqr
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_field_sqr(const EC_GROUP *group, BIGNUM *r,
      const BIGNUM *a,\n                                 BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1391,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1394,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1395,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1399,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1401,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1404,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1407,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1408,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1412,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1418,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1419,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1383
    functionDepth: 8
    functionLinenumber: 1383
    functionLinenumberEnd: 1421
    functionName: ossl_ec_GFp_simple_field_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_mod_inverse
    - BN_is_zero
    - BN_priv_rand_range_ex
    - BN_CTX_free
    - BN_CTX_secure_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_field_inv(const EC_GROUP *group, BIGNUM *r,\n
      \                                const BIGNUM *a, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1437,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1438,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1439,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1441,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1451,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1452,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1453,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1458,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1462,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1463,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1464,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1465,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1466,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1467,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1474,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - group
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1430
    functionDepth: 8
    functionLinenumber: 1430
    functionLinenumberEnd: 1476
    functionName: ossl_ec_GFp_simple_blind_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - ERR_pop_to_mark
    - ERR_set_mark
    - BN_is_zero
    - EC_GROUP*::meth::field_encode
    - BN_priv_rand_range_ex
    - EC_GROUP*::meth::field_sqr
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_blind_coordinates(const EC_GROUP *group, EC_POINT
      *p,\n                                         BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1506,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1507,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1508,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1509,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1510,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1512,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1513,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1514,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1515,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1517,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1522,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1524,1
    - Dst: BN_priv_rand_range_ex
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1528,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1530,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1534,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1535,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1539,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1540,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1541,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 23
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1493
    functionDepth: 8
    functionLinenumber: 1493
    functionLinenumberEnd: 1548
    functionName: ossl_ec_GFp_simple_ladder_pre
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_mod_add_quick
    - EC_GROUP*::meth::field_mul
    - BN_mod_sub_quick
    - BN_is_zero
    - EC_GROUP*::meth::field_encode
    - BN_mod_lshift_quick
    - BN_priv_rand_range_ex
    - EC_GROUP*::meth::field_sqr
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_ladder_pre(const EC_GROUP *group,\n                                  EC_POINT
      *r, EC_POINT *s,\n                                  EC_POINT *p, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1570,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1571,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1572,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1573,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1574,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1575,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1576,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1577,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1580,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1581,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1582,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1583,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1584,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1585,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1586,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1587,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1588,1
    - Dst: BN_mod_lshift_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1589,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1590,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1591,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1592,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1594,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1595,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1596,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1598,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1599,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1600,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1601,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1602,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1603,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1604,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1605,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1606,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1607,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1608,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1609,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1611,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1612,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1613,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1614,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1615,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1616,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1618,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1624,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 17
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1563
    functionDepth: 6
    functionLinenumber: 1563
    functionLinenumberEnd: 1626
    functionName: ossl_ec_GFp_simple_ladder_step
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_mod_add_quick
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - BN_CTX_end
    - BN_CTX_start
    - BN_mod_sub_quick
    - BN_mod_lshift1_quick
    - BN_mod_lshift_quick
    - EC_GROUP*::meth::field_sqr
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_ladder_step(const EC_GROUP *group,\n                                   EC_POINT
      *r, EC_POINT *s,\n                                   EC_POINT *p, BN_CTX *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1658,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1659,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1661,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1662,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1663,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1668,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1669,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1670,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1671,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1672,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1673,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1674,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1675,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1678,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1679,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1680,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1681,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1682,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1683,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1684,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1685,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1686,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1687,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1688,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1689,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1690,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1691,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1692,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1693,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1694,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1695,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1696,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1697,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1698,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1699,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1701,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1702,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1704,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1705,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1706,1
    - Dst: EC_GROUP*::meth::field_set_to_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1710,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1713,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_smpl.c:1721,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 34
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1651
    functionDepth: 6
    functionLinenumber: 1651
    functionLinenumberEnd: 1723
    functionName: ossl_ec_GFp_simple_ladder_post
    functionSourceFile: /src/openssl/crypto/ec/ecp_smpl.c
    functionUses: 0
    functionsReached:
    - BN_mod_add_quick
    - EC_POINT_set_to_infinity
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - EC_GROUP*::meth::field_inv
    - BN_CTX_start
    - BN_CTX_end
    - EC_GROUP*::meth::field_set_to_one
    - BN_mod_sub_quick
    - BN_mod_lshift1_quick
    - BN_one
    - EC_POINT_copy
    - BN_is_zero
    - EC_GROUP*::meth::field_encode
    - EC_GROUP*::meth::field_sqr
    - EC_GROUP*::meth::field_decode
    - EC_POINT_invert
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_ladder_post(const EC_GROUP *group,\n                                   EC_POINT
      *r, EC_POINT *s,\n                                   EC_POINT *p, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_do_sign_ex
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dgst
    - dlen
    - eckey
    argTypes:
    - unsigned char*
    - int
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: ECDSA_do_sign
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_sign.c
    functionUses: 1
    functionsReached:
    - ECDSA_do_sign_ex
    linkageType: ''
    returnType: ECDSA_SIG
    signature: ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, int dlen, EC_KEY
      *eckey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::meth::sign_sig
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:30,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - dgst
    - dlen
    - kinv
    - rp
    - eckey
    argTypes:
    - unsigned char*
    - int
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: ECDSA_do_sign_ex
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_sign.c
    functionUses: 3
    functionsReached:
    - EC_KEY*::meth::sign_sig
    - ERR_raise
    linkageType: ''
    returnType: ECDSA_SIG
    signature: "ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dlen,\n
      \                           const BIGNUM *kinv, const BIGNUM *rp,\n                            EC_KEY
      *eckey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_sign_ex
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ECDSA_sign
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_sign.c
    functionUses: 1
    functionsReached:
    - ECDSA_sign_ex
    linkageType: ''
    returnType: int
    signature: "int ECDSA_sign(int type, const unsigned char *dgst, int dlen, unsigned
      char\n               *sig, unsigned int *siglen, EC_KEY *eckey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::meth::sign
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:46,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - kinv
    - r
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - BIGNUM*
    - BIGNUM*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: ECDSA_sign_ex
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_sign.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EC_KEY*::meth::sign
    linkageType: ''
    returnType: int
    signature: "int ECDSA_sign_ex(int type, const unsigned char *dgst, int dlen,\n
      \                 unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv,\n
      \                 const BIGNUM *r, EC_KEY *eckey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::meth::sign_setup
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_sign.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - eckey
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - EC_KEY*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ECDSA_sign_setup
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_sign.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_KEY*::meth::sign_setup
    linkageType: ''
    returnType: int
    signature: "int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp,\n
      \                    BIGNUM **rp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_mult.c:57,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ec_mult.c:65,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: ec_pre_comp_new
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: EC_PRE_COMP
    signature: EC_PRE_COMP *ec_pre_comp_new(const EC_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/ec/ec_mult.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pre
    argTypes:
    - EC_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: EC_ec_pre_comp_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: EC_PRE_COMP
    signature: EC_PRE_COMP *EC_ec_pre_comp_dup(EC_PRE_COMP *pre)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/ec/ec_mult.c:87,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ec_mult.c:88,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ec_mult.c:91,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:98,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ec_mult.c:100,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pre
    argTypes:
    - EC_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: EC_ec_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EC_ec_pre_comp_free(EC_PRE_COMP *pre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - P
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: EC_POINT_BN_set_flags
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EC_POINT_BN_set_flags(P, flags)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec_mult.c:152,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_mult.c:153,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:156,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:160,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_mult.c:164,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:166,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:168,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:174,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:179,1
    - Dst: EC_POINT_BN_set_flags
      Src: /src/openssl/crypto/ec/ec_mult.c:184,1
    - Dst: EC_POINT_BN_set_flags
      Src: /src/openssl/crypto/ec/ec_mult.c:185,1
    - Dst: EC_POINT_BN_set_flags
      Src: /src/openssl/crypto/ec/ec_mult.c:186,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_mult.c:188,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_mult.c:189,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_mult.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:192,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/ec/ec_mult.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:197,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:207,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ec_mult.c:208,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:209,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:211,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:216,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/ec/ec_mult.c:220,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:222,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_mult.c:222,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ec_mult.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:228,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ec_mult.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:234,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/ec/ec_mult.c:237,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ec_mult.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:239,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/ec/ec_mult.c:246,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/crypto/ec/ec_mult.c:247,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ec_mult.c:249,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:250,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:251,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:252,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:253,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:254,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:255,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:256,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:257,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_mult.c:258,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:259,1
    - Dst: EC_GROUP*::meth::make_affine
      Src: /src/openssl/crypto/ec/ec_mult.c:265,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:266,1
    - Dst: ec_point_ladder_pre
      Src: /src/openssl/crypto/ec/ec_mult.c:271,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:272,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/ec/ec_mult.c:347,1
    - Dst: EC_POINT_CSWAP
      Src: /src/openssl/crypto/ec/ec_mult.c:348,1
    - Dst: ec_point_ladder_step
      Src: /src/openssl/crypto/ec/ec_mult.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:352,1
    - Dst: EC_POINT_CSWAP
      Src: /src/openssl/crypto/ec/ec_mult.c:362,1
    - Dst: ec_point_ladder_post
      Src: /src/openssl/crypto/ec/ec_mult.c:366,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:367,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:374,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_mult.c:375,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_mult.c:376,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 119
    argCount: 5
    argNames:
    - group
    - r
    - scalar
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 379
    functionName: ossl_ec_scalar_mul_ladder
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - ec_point_ladder_step
    - BN_is_negative
    - BN_nnmod
    - BN_is_zero
    - bn_wexpand
    - BN_add
    - ec_point_ladder_pre
    - BN_copy
    - ec_point_ladder_post
    - EC_POINT_clear_free
    - BN_CTX_end
    - EC_GROUP*::meth::make_affine
    - BN_set_flags
    - EC_POINT_BN_set_flags
    - EC_POINT_set_to_infinity
    - BN_mul
    - EC_POINT_CSWAP
    - EC_POINT_new
    - BN_num_bits
    - EC_POINT_is_at_infinity
    - BN_CTX_get
    - bn_get_top
    - BN_CTX_start
    - BN_consttime_swap
    - EC_POINT_copy
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_scalar_mul_ladder(const EC_GROUP *group, EC_POINT *r,\n
      \                             const BIGNUM *scalar, const EC_POINT *point,\n
      \                             BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - a
    - ','
    - b
    - ','
    - w
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: EC_POINT_CSWAP
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EC_POINT_CSWAP(c, a, b, w, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: EC_window_bits_for_scalar_size
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EC_window_bits_for_scalar_size(b)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:432,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:432,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec_mult.c:447,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec_mult.c:457,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_mult.c:463,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:465,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_mult.c:473,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:493,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:507,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:508,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:510,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:511,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:528,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:528,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/openssl/crypto/ec/ec_mult.c:529,1
    - Dst: bn_compute_wNAF
      Src: /src/openssl/crypto/ec/ec_mult.c:533,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:546,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:555,1
    - Dst: bn_compute_wNAF
      Src: /src/openssl/crypto/ec/ec_mult.c:563,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:598,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:599,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:613,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:614,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_mult.c:626,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:628,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ec_mult.c:631,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:636,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:637,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:644,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:654,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:664,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:671,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:675,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:687,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:690,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:695,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec_mult.c:698,1
    - Dst: EC_GROUP*::meth::points_make_affine
      Src: /src/openssl/crypto/ec/ec_mult.c:706,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:715,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/crypto/ec/ec_mult.c:732,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:741,1
    - Dst: ossl_ec_point_blind_coordinates
      Src: /src/openssl/crypto/ec/ec_mult.c:752,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:753,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec_mult.c:759,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_mult.c:769,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/crypto/ec/ec_mult.c:773,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:781,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:787,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:789,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_mult.c:793,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:795,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:797,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 250
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 404
    functionDepth: 5
    functionLinenumber: 404
    functionLinenumberEnd: 799
    functionName: ossl_ec_wNAF_mul
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 1
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_GROUP*::meth::points_make_affine
    - memcpy
    - EC_window_bits_for_scalar_size
    - BN_is_zero
    - EC_POINT_add
    - OPENSSL_free
    - EC_GROUP_get0_generator
    - EC_POINT_clear_free
    - ossl_ec_scalar_mul_ladder
    - EC_POINT_invert
    - ossl_ec_point_blind_coordinates
    - OPENSSL_malloc
    - EC_POINT_set_to_infinity
    - OPENSSL_malloc_array
    - EC_POINT_new
    - BN_num_bits
    - bn_compute_wNAF
    - EC_POINT_copy
    - EC_POINT_dbl
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM
      *scalar,\n                     size_t num, const EC_POINT *points[],\n                     const
      BIGNUM *scalars[], BN_CTX *ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EC_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_mult.c:836,1
    - Dst: ec_pre_comp_new
      Src: /src/openssl/crypto/ec/ec_mult.c:837,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_mult.c:840,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:842,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec_mult.c:848,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_mult.c:853,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_mult.c:856,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_mult.c:859,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:860,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_mult.c:864,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/openssl/crypto/ec/ec_mult.c:873,1
    - Dst: EC_window_bits_for_scalar_size
      Src: /src/openssl/crypto/ec/ec_mult.c:875,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_mult.c:886,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:893,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:894,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:899,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_mult.c:900,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:901,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:905,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:912,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_mult.c:915,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec_mult.c:922,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_mult.c:933,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:937,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ec_mult.c:940,1
    - Dst: EC_GROUP*::meth::points_make_affine
      Src: /src/openssl/crypto/ec/ec_mult.c:947,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ec_mult.c:957,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_mult.c:963,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_mult.c:965,1
    - Dst: EC_ec_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_mult.c:967,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:972,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_mult.c:973,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:975,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_mult.c:976,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 111
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 978
    functionName: ossl_ec_wNAF_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_GROUP*::meth::points_make_affine
    - EC_window_bits_for_scalar_size
    - BN_CTX_new
    - BN_is_zero
    - EC_POINT_add
    - OPENSSL_free
    - EC_ec_pre_comp_free
    - EC_GROUP_get0_generator
    - BN_CTX_end
    - SETPRECOMP
    - ec_pre_comp_new
    - BN_CTX_free
    - EC_GROUP_get0_order
    - OPENSSL_malloc_array
    - EC_pre_comp_free
    - EC_POINT_new
    - BN_num_bits
    - BN_CTX_start
    - EC_POINT_copy
    - EC_POINT_dbl
    linkageType: ''
    returnType: int
    signature: int ossl_ec_wNAF_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HAVEPRECOMP
      Src: /src/openssl/crypto/ec/ec_mult.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 983
    functionName: ossl_ec_wNAF_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ec_mult.c
    functionUses: 0
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: int ossl_ec_wNAF_have_precompute_mult(const EC_GROUP *group)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_oct.c:32,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_oct.c:39,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:40,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:41,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:42,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:43,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_oct.c:54,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ecp_oct.c:58,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_oct.c:60,1
    - Dst: BN_mod_sqr
      Src: /src/openssl/crypto/ec/ecp_oct.c:63,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecp_oct.c:65,1
    - Dst: BN_mod_lshift1_quick
      Src: /src/openssl/crypto/ec/ecp_oct.c:71,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_oct.c:73,1
    - Dst: BN_mod_sub_quick
      Src: /src/openssl/crypto/ec/ecp_oct.c:75,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_oct.c:79,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/ec/ecp_oct.c:81,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ecp_oct.c:85,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_oct.c:89,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/crypto/ec/ecp_oct.c:95,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_oct.c:97,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/ec/ecp_oct.c:100,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/ec/ecp_oct.c:104,1
    - Dst: BN_mod_sqrt
      Src: /src/openssl/crypto/ec/ecp_oct.c:105,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/ec/ecp_oct.c:107,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/ec/ecp_oct.c:109,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/ec/ecp_oct.c:110,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/ec/ecp_oct.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:112,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/ec/ecp_oct.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:117,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/ec/ecp_oct.c:121,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_oct.c:123,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_oct.c:124,1
    - Dst: BN_kronecker
      Src: /src/openssl/crypto/ec/ecp_oct.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:137,1
    - Dst: BN_usub
      Src: /src/openssl/crypto/ec/ecp_oct.c:140,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_oct.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:144,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_oct.c:148,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_oct.c:154,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_oct.c:155,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 115
    argCount: 5
    argNames:
    - group
    - point
    - x_
    - y_bit
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 22
    functionDepth: 8
    functionLinenumber: 22
    functionLinenumberEnd: 157
    functionName: ossl_ec_GFp_simple_set_compressed_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_oct.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - BN_mod_sub_quick
    - BN_nnmod
    - ERR_pop_to_mark
    - BN_is_zero
    - BN_mod_sqr
    - EC_GROUP*::meth::field_sqr
    - BN_mod_mul
    - BN_CTX_new_ex
    - BN_mod_add_quick
    - BN_CTX_end
    - EC_POINT_set_affine_coordinates
    - BN_kronecker
    - BN_mod_lshift1_quick
    - BN_is_odd
    - BN_mod_sqrt
    - BN_CTX_free
    - ERR_clear_last_mark
    - ERR_GET_LIB
    - ERR_peek_last_error
    - BN_usub
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - BN_CTX_start
    - ERR_set_mark
    - ERR_GET_REASON
    - EC_GROUP*::meth::field_decode
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_set_compressed_coordinates(const EC_GROUP *group,\n
      \                                                 EC_POINT *point,\n                                                  const
      BIGNUM *x_, int y_bit,\n                                                  BN_CTX
      *ctx)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:172,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_oct.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:180,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ecp_oct.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:197,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_oct.c:202,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_oct.c:207,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:209,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:210,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_oct.c:214,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_oct.c:218,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ecp_oct.c:225,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:227,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ecp_oct.c:234,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:237,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ecp_oct.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:245,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ecp_oct.c:252,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:257,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_oct.c:263,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_oct.c:264,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_oct.c:269,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_oct.c:270,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 90
    argCount: 6
    argNames:
    - group
    - point
    - form
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 272
    functionName: ossl_ec_GFp_simple_point2oct
    functionSourceFile: /src/openssl/crypto/ec/ecp_oct.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_num_bytes
    - EC_POINT_is_at_infinity
    - BN_is_odd
    - BN_CTX_free
    - EC_POINT_get_affine_coordinates
    - BN_bn2bin
    - BN_CTX_new_ex
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_ec_GFp_simple_point2oct(const EC_GROUP *group, const EC_POINT
      *point,\n                                    point_conversion_form_t form,\n
      \                                   unsigned char *buf, size_t len, BN_CTX *ctx)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:305,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ecp_oct.c:309,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ecp_oct.c:312,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:318,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_oct.c:323,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_oct.c:328,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:329,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_oct.c:330,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_oct.c:334,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_oct.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:337,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/crypto/ec/ecp_oct.c:342,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_oct.c:345,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/ec/ecp_oct.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:348,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ecp_oct.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_oct.c:353,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_oct.c:362,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_oct.c:369,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_oct.c:370,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 5
    argNames:
    - group
    - point
    - buf
    - len
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 274
    functionDepth: 5
    functionLinenumber: 274
    functionLinenumberEnd: 372
    functionName: ossl_ec_GFp_simple_oct2point
    functionSourceFile: /src/openssl/crypto/ec/ecp_oct.c
    functionUses: 1
    functionsReached:
    - EC_POINT_set_to_infinity
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - BN_num_bytes
    - EC_POINT_set_compressed_coordinates
    - BN_is_odd
    - BN_bin2bn
    - BN_CTX_free
    - BN_ucmp
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_simple_oct2point(const EC_GROUP *group, EC_POINT *point,\n
      \                                const unsigned char *buf, size_t len,\n                                 BN_CTX
      *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ec/ec_backend.c:57,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_backend.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: ossl_ec_encoding_name2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int ossl_ec_encoding_name2id(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ec/ec_backend.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: ec_param_encoding_id2name
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ec_param_encoding_id2name(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ec/ec_backend.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: ossl_ec_check_group_type_id2name
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ossl_ec_check_group_type_id2name(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ec/ec_backend.c:94,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_backend.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: ec_check_group_type_name2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int ec_check_group_type_name2id(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_check_group_type_name2id
      Src: /src/openssl/crypto/ec/ec_backend.c:103,1
    - Dst: EC_KEY_clear_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:107,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ec
    - name
    argTypes:
    - EC_KEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: ossl_ec_set_check_group_type_from_name
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ec_check_group_type_name2id
    - EC_KEY_clear_flags
    - EC_KEY_set_flags
    linkageType: ''
    returnType: int
    signature: int ossl_ec_set_check_group_type_from_name(EC_KEY *ec, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/ec/ec_backend.c:123,1
    - Dst: ossl_ec_set_check_group_type_from_name
      Src: /src/openssl/crypto/ec/ec_backend.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ec
    - p
    argTypes:
    - EC_KEY*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: ec_set_check_group_type_from_param
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_ec_set_check_group_type_from_name
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: int
    signature: int ec_set_check_group_type_from_param(EC_KEY *ec, const OSSL_PARAM
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ec/ec_backend.c:139,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_backend.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: ossl_ec_pt_format_name2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int ossl_ec_pt_format_name2id(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ec/ec_backend.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: ossl_ec_pt_format_id2name
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ossl_ec_pt_format_id2name(int id)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_backend.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:180,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:184,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:185,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:186,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_backend.c:188,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_backend.c:189,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_backend.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:193,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_backend.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:198,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ec/ec_backend.c:201,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ec/ec_backend.c:202,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ec/ec_backend.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:204,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:209,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_backend.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:214,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ec/ec_backend.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:219,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:224,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ec/ec_backend.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:229,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:234,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_backend.c:237,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_backend.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:241,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_backend.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:246,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/crypto/ec/ec_backend.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:252,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:257,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_backend.c:259,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/ec/ec_backend.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:264,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:269,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/crypto/ec/ec_backend.c:271,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/crypto/ec/ec_backend.c:272,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/crypto/ec/ec_backend.c:276,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:279,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 94
    argCount: 5
    argNames:
    - group
    - tmpl
    - params
    - bnctx
    - genbuf
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    - BN_CTX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 286
    functionName: ec_group_explicit_todata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - EC_GROUP_get_point_conversion_form
    - EC_GROUP_get0_seed
    - OSSL_PARAM_locate_const
    - ossl_param_build_set_utf8_string
    - ossl_param_build_set_octet_string
    - ossl_param_build_set_bn
    - EC_GROUP_get_seed_len
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get0_generator
    - EC_GROUP_get0_order
    - EC_GROUP_get_curve
    - EC_GROUP_get_field_type
    - EC_POINT_point2buf
    linkageType: ''
    returnType: int
    signature: "int ec_group_explicit_todata(const EC_GROUP *group, OSSL_PARAM_BLD
      *tmpl,\n                                    OSSL_PARAM params[], BN_CTX *bnctx,\n
      \                                   unsigned char **genbuf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:298,1
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_backend.c:302,1
    - Dst: ossl_ec_pt_format_id2name
      Src: /src/openssl/crypto/ec/ec_backend.c:303,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ec/ec_backend.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:308,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/crypto/ec/ec_backend.c:311,1
    - Dst: ec_param_encoding_id2name
      Src: /src/openssl/crypto/ec/ec_backend.c:312,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ec/ec_backend.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:317,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/ec/ec_backend.c:321,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_backend.c:326,1
    - Dst: ec_group_explicit_todata
      Src: /src/openssl/crypto/ec/ec_backend.c:334,1
    - Dst: OSSL_EC_curve_nid2name
      Src: /src/openssl/crypto/ec/ec_backend.c:339,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/ec/ec_backend.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:345,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 7
    argNames:
    - group
    - tmpl
    - params
    - libctx
    - propq
    - bnctx
    - genbuf
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    - OSSL_LIB_CTX*
    - char*
    - BN_CTX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 288
    functionDepth: 6
    functionLinenumber: 288
    functionLinenumberEnd: 352
    functionName: ossl_ec_group_todata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ec_group_explicit_todata
    - EC_GROUP_get_asn1_flag
    - OSSL_EC_curve_nid2name
    - ossl_param_build_set_utf8_string
    - ossl_ec_pt_format_id2name
    - ossl_param_build_set_int
    - EC_GROUP_get_point_conversion_form
    - EC_GROUP_get_curve_name
    - ec_param_encoding_id2name
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_group_todata(const EC_GROUP *group, OSSL_PARAM_BLD *tmpl,\n
      \                        OSSL_PARAM params[], OSSL_LIB_CTX *libctx,\n                         const
      char *propq,\n                         BN_CTX *bnctx, unsigned char **genbuf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_backend.c:361,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_backend.c:373,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/ec/ec_backend.c:377,1
    - Dst: EC_KEY_set_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:381,1
    - Dst: EC_KEY_clear_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ec
    - mode
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 386
    functionName: ossl_ec_set_ecdh_cofactor_mode
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - EC_KEY_set_flags
    - BN_is_one
    - EC_KEY_clear_flags
    - EC_KEY_get0_group
    - EC_GROUP_get0_cofactor
    linkageType: ''
    returnType: int
    signature: int ossl_ec_set_ecdh_cofactor_mode(EC_KEY *ec, int mode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_backend.c:407,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:412,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:415,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_backend.c:417,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/ec/ec_backend.c:417,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/crypto/ec/ec_backend.c:422,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_backend.c:424,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/crypto/ec/ec_backend.c:425,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_backend.c:465,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_backend.c:466,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ec_backend.c:469,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/ec/ec_backend.c:471,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec_backend.c:473,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:475,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_backend.c:477,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/crypto/ec/ec_backend.c:482,1
    - Dst: EC_KEY_set_public_key
      Src: /src/openssl/crypto/ec/ec_backend.c:486,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_backend.c:492,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_backend.c:493,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_backend.c:494,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_backend.c:495,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 3
    argNames:
    - ec
    - params
    - include_private
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 396
    functionDepth: 5
    functionLinenumber: 396
    functionLinenumberEnd: 497
    functionName: ossl_ec_key_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - OSSL_PARAM_get_BN
    - EC_KEY_set_private_key
    - BN_is_zero
    - bn_wexpand
    - OPENSSL_free
    - BN_CTX_new_ex
    - ossl_ec_key_get_libctx
    - OSSL_PARAM_locate_const
    - BN_CTX_free
    - BN_set_flags
    - EC_GROUP_get0_order
    - BN_clear_free
    - EC_KEY_set_public_key
    - EC_POINT_new
    - bn_get_top
    - BN_secure_new
    - EC_POINT_oct2point
    - OSSL_PARAM_get_octet_string
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_fromdata(EC_KEY *ec, const OSSL_PARAM params[], int
      include_private)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/crypto/ec/ec_backend.c:507,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/crypto/ec/ec_backend.c:507,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/crypto/ec/ec_backend.c:508,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/crypto/ec/ec_backend.c:510,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_backend.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 516
    functionName: ossl_ec_group_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_get_libctx
    - EC_GROUP_free
    - EC_KEY_set_group
    - ossl_ec_key_get0_propq
    - EC_GROUP_new_from_params
    linkageType: ''
    returnType: int
    signature: int ossl_ec_group_fromdata(EC_KEY *ec, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:523,1
    - Dst: ossl_ec_pt_format_param2id
      Src: /src/openssl/crypto/ec/ec_backend.c:525,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:526,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/openssl/crypto/ec/ec_backend.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 532
    functionName: ec_key_point_format_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_ec_pt_format_param2id
    - OSSL_PARAM_locate_const
    - ERR_raise
    - EC_KEY_set_conv_form
    linkageType: ''
    returnType: int
    signature: int ec_key_point_format_fromdata(EC_KEY *ec, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:538,1
    - Dst: ec_set_check_group_type_from_param
      Src: /src/openssl/crypto/ec/ec_backend.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 6
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: ec_key_group_check_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - ec_set_check_group_type_from_param
    linkageType: ''
    returnType: int
    signature: int ec_key_group_check_fromdata(EC_KEY *ec, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_enc_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:546,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/openssl/crypto/ec/ec_backend.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ec
    - include
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 554
    functionName: ec_set_include_public
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - EC_KEY_set_enc_flags
    - EC_KEY_get_enc_flags
    linkageType: ''
    returnType: int
    signature: int ec_set_include_public(EC_KEY *ec, int include)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:563,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ec/ec_backend.c:567,1
    - Dst: ossl_ec_set_ecdh_cofactor_mode
      Src: /src/openssl/crypto/ec/ec_backend.c:568,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_backend.c:572,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ec/ec_backend.c:576,1
    - Dst: ec_set_include_public
      Src: /src/openssl/crypto/ec/ec_backend.c:577,1
    - Dst: ec_key_point_format_fromdata
      Src: /src/openssl/crypto/ec/ec_backend.c:580,1
    - Dst: ec_key_group_check_fromdata
      Src: /src/openssl/crypto/ec/ec_backend.c:582,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ec
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 556
    functionDepth: 7
    functionLinenumber: 556
    functionLinenumberEnd: 585
    functionName: ossl_ec_key_otherparams_fromdata
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_ec_set_ecdh_cofactor_mode
    - ec_set_include_public
    - ec_key_group_check_fromdata
    - OSSL_PARAM_locate_const
    - ec_key_point_format_fromdata
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_otherparams_fromdata(EC_KEY *ec, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_method
      Src: /src/openssl/crypto/ec/ec_backend.c:590,1
    - Dst: EC_KEY_OpenSSL
      Src: /src/openssl/crypto/ec/ec_backend.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ec
    argTypes:
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: ossl_ec_key_is_foreign
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 1
    functionsReached:
    - EC_KEY_get_method
    - EC_KEY_OpenSSL
    linkageType: ''
    returnType: int
    signature: int ossl_ec_key_is_foreign(const EC_KEY *ec)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:602,1
    - Dst: ossl_ec_key_new_method_int
      Src: /src/openssl/crypto/ec/ec_backend.c:606,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_backend.c:613,1
    - Dst: EC_GROUP_copy
      Src: /src/openssl/crypto/ec/ec_backend.c:616,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_backend.c:629,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_backend.c:631,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_backend.c:641,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_backend.c:642,1
    - Dst: EC_KEY*::group::meth::keycopy
      Src: /src/openssl/crypto/ec/ec_backend.c:645,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/ec/ec_backend.c:659,1
    - Dst: EC_KEY*::meth::copy
      Src: /src/openssl/crypto/ec/ec_backend.c:668,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_backend.c:674,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 58
    argCount: 2
    argNames:
    - src
    - selection
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 597
    functionDepth: 5
    functionLinenumber: 597
    functionLinenumberEnd: 676
    functionName: ossl_ec_key_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EC_GROUP_copy
    - EC_KEY*::meth::copy
    - CRYPTO_dup_ex_data
    - EC_POINT_copy
    - EC_KEY*::group::meth::keycopy
    - ossl_ec_group_new_ex
    - BN_new
    - ossl_ec_key_new_method_int
    - BN_copy
    - EC_POINT_new
    - EC_KEY_free
    linkageType: ''
    returnType: EC_KEY
    signature: EC_KEY *ossl_ec_key_dup(const EC_KEY *src, int selection)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/ec/ec_backend.c:690,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/openssl/crypto/ec/ec_backend.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - OSSL_PARAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 678
    functionDepth: 4
    functionLinenumber: 678
    functionLinenumberEnd: 702
    functionName: ossl_ec_encoding_param2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ossl_ec_encoding_name2id
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: int
    signature: int ossl_ec_encoding_param2id(const OSSL_PARAM *p, int *id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/ec/ec_backend.c:716,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/openssl/crypto/ec/ec_backend.c:720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p
    - id
    argTypes:
    - OSSL_PARAM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 704
    functionDepth: 4
    functionLinenumber: 704
    functionLinenumberEnd: 728
    functionName: ossl_ec_pt_format_param2id
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 1
    functionsReached:
    - ossl_ec_pt_format_name2id
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: int
    signature: int ossl_ec_pt_format_param2id(const OSSL_PARAM *p, int *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/ec/ec_backend.c:736,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_backend.c:739,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/crypto/ec/ec_backend.c:748,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_backend.c:751,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_backend.c:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - palg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 731
    functionDepth: 8
    functionLinenumber: 731
    functionLinenumberEnd: 758
    functionName: ossl_x509_algor_is_sm2
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_get0
    - EC_GROUP_free
    - d2i_ECPKParameters
    - OBJ_obj2nid
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int ossl_x509_algor_is_sm2(const X509_ALGOR *palg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/ec/ec_backend.c:768,1
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/crypto/ec/ec_backend.c:769,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:770,1
    - Dst: d2i_ECParameters
      Src: /src/openssl/crypto/ec/ec_backend.c:780,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:781,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_backend.c:791,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ec_backend.c:791,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_backend.c:794,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/crypto/ec/ec_backend.c:795,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_backend.c:797,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:799,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_backend.c:806,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_backend.c:807,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - palg
    - libctx
    - propq
    argTypes:
    - X509_ALGOR*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 760
    functionDepth: 9
    functionLinenumber: 760
    functionLinenumberEnd: 809
    functionName: ossl_ec_key_param_from_x509_algor
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_GROUP_new_by_curve_name_ex
    - EC_GROUP_set_asn1_flag
    - X509_ALGOR_get0
    - d2i_ECParameters
    - EC_GROUP_free
    - EC_KEY_new_ex
    - EC_KEY_set_group
    - EC_KEY_free
    - OBJ_obj2nid
    linkageType: ''
    returnType: EC_KEY
    signature: "EC_KEY *ossl_ec_key_param_from_x509_algor(const X509_ALGOR *palg,\n
      \                                    OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/ec/ec_backend.c:819,1
    - Dst: ossl_ec_key_param_from_x509_algor
      Src: /src/openssl/crypto/ec/ec_backend.c:821,1
    - Dst: d2i_ECPrivateKey
      Src: /src/openssl/crypto/ec/ec_backend.c:826,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_backend.c:827,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_backend.c:833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 811
    functionDepth: 10
    functionLinenumber: 811
    functionLinenumberEnd: 835
    functionName: ossl_ec_key_from_pkcs8
    functionSourceFile: /src/openssl/crypto/ec/ec_backend.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - PKCS8_pkey_get0
    - d2i_ECPrivateKey
    - ossl_ec_key_param_from_x509_algor
    - EC_KEY_free
    linkageType: ''
    returnType: EC_KEY
    signature: "EC_KEY *ossl_ec_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf,\n
      \                              OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 81
    functionName: EC_GFp_mont_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GFp_mont_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/openssl/crypto/ec/ecp_mont.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: ossl_ec_GFp_mont_group_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GFp_simple_group_init
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_mont_group_init(EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:95,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:97,1
    - Dst: ossl_ec_GFp_simple_group_finish
      Src: /src/openssl/crypto/ec/ecp_mont.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: ossl_ec_GFp_mont_group_finish
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_free
    - BN_free
    - ossl_ec_GFp_simple_group_finish
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GFp_mont_group_finish(EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:104,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:106,1
    - Dst: ossl_ec_GFp_simple_group_clear_finish
      Src: /src/openssl/crypto/ec/ecp_mont.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: ossl_ec_GFp_mont_group_clear_finish
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - BN_MONT_CTX_free
    - ossl_ec_GFp_simple_group_clear_finish
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GFp_mont_group_clear_finish(EC_GROUP *group)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:113,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:115,1
    - Dst: ossl_ec_GFp_simple_group_copy
      Src: /src/openssl/crypto/ec/ecp_mont.c:118,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ecp_mont.c:122,1
    - Dst: BN_MONT_CTX_copy
      Src: /src/openssl/crypto/ec/ecp_mont.c:125,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/ec/ecp_mont.c:129,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 140
    functionName: ossl_ec_GFp_mont_group_copy
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_copy
    - BN_clear_free
    - BN_dup
    - BN_MONT_CTX_free
    - ossl_ec_GFp_simple_group_copy
    - BN_MONT_CTX_new
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_mont_group_copy(EC_GROUP *dest, const EC_GROUP *src)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:151,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:153,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_mont.c:157,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ecp_mont.c:162,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/ec/ecp_mont.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_mont.c:166,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_mont.c:169,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/ec/ecp_mont.c:172,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ecp_mont.c:172,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_mont.c:180,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:183,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:185,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:190,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:191,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 142
    functionDepth: 7
    functionLinenumber: 142
    functionLinenumberEnd: 194
    functionName: ossl_ec_GFp_mont_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_to_montgomery
    - BN_MONT_CTX_set
    - BN_value_one
    - BN_CTX_free
    - BN_new
    - ossl_ec_GFp_simple_group_set_curve
    - BN_MONT_CTX_free
    - BN_free
    - BN_MONT_CTX_new
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_mont_group_set_curve(EC_GROUP *group, const BIGNUM
      *p,\n                                     const BIGNUM *a, const BIGNUM *b,\n
      \                                    BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_mont.c:200,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/ec/ecp_mont.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: ossl_ec_GFp_mont_field_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - BN_mod_mul_montgomery
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_mont_field_mul(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a,\n                               const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_mont.c:211,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/crypto/ec/ecp_mont.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: ossl_ec_GFp_mont_field_sqr
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - BN_mod_mul_montgomery
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_mont_field_sqr(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a,\n                               BN_CTX *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new_ex
      Src: /src/openssl/crypto/ec/ecp_mont.c:234,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_mont.c:237,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_mont.c:238,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ecp_mont.c:242,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ec/ecp_mont.c:244,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/ec/ecp_mont.c:250,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_mont.c:254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_mont.c:255,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_mont.c:262,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_mont.c:263,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 223
    functionDepth: 5
    functionLinenumber: 223
    functionLinenumberEnd: 265
    functionName: ossl_ec_GFp_mont_field_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_set_word
    - BN_mod_exp_mont
    - BN_is_zero
    - BN_CTX_free
    - BN_CTX_secure_new_ex
    - BN_sub
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_mont_field_inv(const EC_GROUP *group, BIGNUM *r, const
      BIGNUM *a,\n                               BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_mont.c:271,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/ec/ecp_mont.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: ossl_ec_GFp_mont_field_encode
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_to_montgomery
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_mont_field_encode(const EC_GROUP *group, BIGNUM *r,\n
      \                                 const BIGNUM *a, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_mont.c:282,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/crypto/ec/ecp_mont.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: ossl_ec_GFp_mont_field_decode
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_from_montgomery
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_mont_field_decode(const EC_GROUP *group, BIGNUM *r,\n
      \                                 const BIGNUM *a, BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_mont.c:293,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_mont.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - group
    - r
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: ossl_ec_GFp_mont_field_set_to_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_mont.c
    functionUses: 0
    functionsReached:
    - BN_copy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_mont_field_set_to_one(const EC_GROUP *group, BIGNUM
      *r,\n                                      BN_CTX *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ecx_key.c:23,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecx_key.c:46,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ec/ecx_key.c:50,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecx_key.c:57,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecx_key.c:58,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecx_key.c:60,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - libctx
    - type
    - haspubkey
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - ECX_KEY_TYPE
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 62
    functionName: ossl_ecx_key_new
    functionSourceFile: /src/openssl/crypto/ec/ecx_key.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    - OPENSSL_strdup
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: ECX_KEY
    signature: "ECX_KEY *ossl_ecx_key_new(OSSL_LIB_CTX *libctx, ECX_KEY_TYPE type,
      int haspubkey,\n                          const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/ec/ecx_key.c:71,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecx_key.c:72,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecx_key.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecx_key.c:77,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecx_key.c:79,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/ec/ecx_key.c:81,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecx_key.c:82,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecx_key.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: ossl_ecx_key_free
    functionSourceFile: /src/openssl/crypto/ec/ecx_key.c
    functionUses: 6
    functionsReached:
    - REF_PRINT_COUNT
    - OPENSSL_secure_clear_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - OPENSSL_cleanse
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void ossl_ecx_key_free(ECX_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - libctx
    argTypes:
    - ECX_KEY*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ossl_ecx_key_set0_libctx
    functionSourceFile: /src/openssl/crypto/ec/ecx_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ecx_key_set0_libctx(ECX_KEY *key, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/ec/ecx_key.c:95,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecx_key.c:98,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecx_key.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ossl_ecx_key_up_ref
    functionSourceFile: /src/openssl/crypto/ec/ecx_key.c
    functionUses: 1
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int ossl_ecx_key_up_ref(ECX_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/crypto/ec/ecx_key.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: ossl_ecx_key_allocate_privkey
    functionSourceFile: /src/openssl/crypto/ec/ecx_key.c
    functionUses: 2
    functionsReached:
    - OPENSSL_secure_zalloc
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ossl_ecx_key_allocate_privkey(ECX_KEY *key)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_key.c:116,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ec/ecx_key.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_key.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_key.c:131,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_key.c:138,1
    - Dst: s390x_x25519_mul
      Src: /src/openssl/crypto/ec/ecx_key.c:139,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_key.c:140,1
    - Dst: ossl_x25519
      Src: /src/openssl/crypto/ec/ecx_key.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_key.c:146,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_key.c:152,1
    - Dst: s390x_x448_mul
      Src: /src/openssl/crypto/ec/ecx_key.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_key.c:154,1
    - Dst: ossl_x448
      Src: /src/openssl/crypto/ec/ecx_key.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_key.c:160,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 6
    argNames:
    - peer
    - priv
    - keylen
    - secret
    - secretlen
    - outlen
    argTypes:
    - ECX_KEY*
    - ECX_KEY*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 166
    functionName: ossl_ecx_compute_key
    functionSourceFile: /src/openssl/crypto/ec/ecx_key.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - s390x_x448_mul
    - ERR_raise
    - ossl_x25519
    - s390x_x25519_mul
    - S390X_CAPBIT
    - ossl_x448
    linkageType: ''
    returnType: int
    signature: "int ossl_ecx_compute_key(ECX_KEY *peer, ECX_KEY *priv, size_t keylen,\n
      \                        unsigned char *secret, size_t *secretlen, size_t outlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_print.c:24,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_print.c:29,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/ec/ec_print.c:35,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_print.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - group
    - point
    - form
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 41
    functionName: EC_POINT_point2hex
    functionSourceFile: /src/openssl/crypto/ec/ec_print.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_to_hex
    - OPENSSL_malloc
    - EC_POINT_point2buf
    linkageType: ''
    returnType: char
    signature: "char *EC_POINT_point2hex(const EC_GROUP *group,\n                         const
      EC_POINT *point,\n                         point_conversion_form_t form, BN_CTX
      *ctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_print.c:55,1
    - Dst: strlen
      Src: /src/openssl/crypto/ec/ec_print.c:62,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_print.c:63,1
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/openssl/crypto/ec/ec_print.c:67,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/crypto/ec/ec_print.c:68,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_print.c:72,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_print.c:75,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - group
    - hex
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - char*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 79
    functionName: EC_POINT_hex2point
    functionSourceFile: /src/openssl/crypto/ec/ec_print.c
    functionUses: 0
    functionsReached:
    - EC_POINT_clear_free
    - OPENSSL_clear_free
    - strlen
    - EC_POINT_oct2point
    - OPENSSL_hexstr2buf_ex
    - EC_POINT_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: EC_POINT
    signature: "EC_POINT *EC_POINT_hex2point(const EC_GROUP *group,\n                             const
      char *hex, EC_POINT *point, BN_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:26,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_check.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:33,1
    - Dst: ossl_ec_curve_nid_from_params
      Src: /src/openssl/crypto/ec/ec_check.c:38,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/crypto/ec/ec_check.c:39,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_check.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - group
    - nist_only
    - ctx
    argTypes:
    - EC_GROUP*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: EC_GROUP_check_named_curve
    functionSourceFile: /src/openssl/crypto/ec/ec_check.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_ec_curve_nid_from_params
    - BN_CTX_free
    - EC_curve_nid2nist
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_check_named_curve(const EC_GROUP *group, int nist_only,\n
      \                              BN_CTX *ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/crypto/ec/ec_check.c:53,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:61,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec_check.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:72,1
    - Dst: EC_GROUP_check_discriminant
      Src: /src/openssl/crypto/ec/ec_check.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:85,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/crypto/ec/ec_check.c:88,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:89,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_check.c:94,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_check.c:96,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_check.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:100,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ec_check.c:104,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec_check.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_check.c:107,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_check.c:114,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_check.c:115,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 118
    functionName: EC_GROUP_check
    functionSourceFile: /src/openssl/crypto/ec/ec_check.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_POINT_mul
    - EC_GROUP_check_named_curve
    - BN_CTX_new
    - BN_is_zero
    - EC_POINT_is_at_infinity
    - BN_CTX_free
    - EC_POINT_new
    - EC_GROUP_get0_order
    - EC_POINT_is_on_curve
    - EC_GROUP_check_discriminant
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3148
    functionName: ec_curve_nid2curve
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ec_list_element
    signature: ec_list_element *ec_curve_nid2curve(int nid)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_curve.c:3167,1
    - Dst: ec_list_element::meth
      Src: /src/openssl/crypto/ec/ec_curve.c:3168,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_curve.c:3170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3171,1
    - Dst: ec_list_element::meth
      Src: /src/openssl/crypto/ec/ec_curve.c:3181,1
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_curve.c:3182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3183,1
    - Dst: EC_GROUP*::meth::group_full_init
      Src: /src/openssl/crypto/ec/ec_curve.c:3187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3188,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/openssl/crypto/ec/ec_curve.c:3191,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3192,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:3199,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:3200,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:3201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3202,1
    - Dst: EC_GROUP*::meth::group_set_curve
      Src: /src/openssl/crypto/ec/ec_curve.c:3207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3208,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/crypto/ec/ec_curve.c:3212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3213,1
    - Dst: if
      Src: /src/openssl/crypto/ec/ec_curve.c:3221,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/crypto/ec/ec_curve.c:3221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3222,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/openssl/crypto/ec/ec_curve.c:3228,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_curve.c:3230,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3231,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:3235,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:3236,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3237,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_curve.c:3240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3241,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ec_curve.c:3244,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ec_curve.c:3245,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3246,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/crypto/ec/ec_curve.c:3249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3250,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_curve.c:3254,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3255,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/crypto/ec/ec_curve.c:3261,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_curve.c:3274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3277,1
    - Dst: OBJ_length
      Src: /src/openssl/crypto/ec/ec_curve.c:3280,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_curve.c:3281,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3283,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3299,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3302,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3303,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3304,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3305,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3306,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3307,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3308,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3309,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 110
    argCount: 3
    argNames:
    - libctx
    - propq
    - curve
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ec_list_element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3150
    functionDepth: 5
    functionLinenumber: 3150
    functionLinenumberEnd: 3311
    functionName: ec_group_new_from_data
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - EC_GROUP_get_asn1_flag
    - BN_bin2bn
    - EC_GROUP*::meth::group_set_curve
    - OBJ_length
    - BN_CTX_new_ex
    - EC_GROUP*::meth::group_full_init
    - EC_GROUP_new_curve_GFp
    - EC_POINT_set_affine_coordinates
    - BN_set_word
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_free
    - BN_CTX_free
    - ossl_ec_group_new_ex
    - OBJ_nid2obj
    - ec_list_element::meth
    - BN_free
    - EC_GROUP_set_generator
    - EC_GROUP_set_curve_name
    - if
    - EC_POINT_new
    - EC_GROUP_set_seed
    - EC_GROUP_new_curve_GF2m
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *ec_group_new_from_data(OSSL_LIB_CTX *libctx,\n                                        const
      char *propq,\n                                        const ec_list_element
      curve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ec_curve_nid2curve
      Src: /src/openssl/crypto/ec/ec_curve.c:3319,1
    - Dst: ec_group_new_from_data
      Src: /src/openssl/crypto/ec/ec_curve.c:3320,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ec/ec_curve.c:3322,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/ec/ec_curve.c:3323,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_curve.c:3325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - libctx
    - propq
    - nid
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3313
    functionDepth: 6
    functionLinenumber: 3313
    functionLinenumberEnd: 3331
    functionName: EC_GROUP_new_by_curve_name_ex
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - OBJ_nid2sn
    - ERR_raise_data
    - ec_curve_nid2curve
    - ec_group_new_from_data
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *EC_GROUP_new_by_curve_name_ex(OSSL_LIB_CTX *libctx, const
      char *propq,\n                                        int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_curve.c:3336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3334
    functionDepth: 7
    functionLinenumber: 3334
    functionLinenumberEnd: 3337
    functionName: EC_GROUP_new_by_curve_name
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 2
    functionsReached:
    - EC_GROUP_new_by_curve_name_ex
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *EC_GROUP_new_by_curve_name(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - r
    - nitems
    argTypes:
    - EC_builtin_curve*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3340
    functionDepth: 0
    functionLinenumber: 3340
    functionLinenumberEnd: 3355
    functionName: EC_get_builtin_curves
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_curve_nid2nist_int
      Src: /src/openssl/crypto/ec/ec_curve.c:3359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3360
      start: 3357
    functionDepth: 1
    functionLinenumber: 3357
    functionLinenumberEnd: 3360
    functionName: EC_curve_nid2nist
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 2
    functionsReached:
    - ossl_ec_curve_nid2nist_int
    linkageType: ''
    returnType: char
    signature: char *EC_curve_nid2nist(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_curve_nist2nid_int
      Src: /src/openssl/crypto/ec/ec_curve.c:3364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3362
    functionDepth: 1
    functionLinenumber: 3362
    functionLinenumberEnd: 3365
    functionName: EC_curve_nist2nid
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 1
    functionsReached:
    - ossl_ec_curve_nist2nid_int
    linkageType: ''
    returnType: int
    signature: int EC_curve_nist2nid(const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_curve.c:3389,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_curve.c:3390,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/crypto/ec/ec_curve.c:3391,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/crypto/ec/ec_curve.c:3392,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_curve.c:3393,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_curve.c:3395,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec_curve.c:3403,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ec_curve.c:3404,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ec_curve.c:3409,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_curve.c:3415,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_curve.c:3423,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_curve.c:3424,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_curve.c:3426,1
    - Dst: EC_GROUP_get_order
      Src: /src/openssl/crypto/ec/ec_curve.c:3428,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/ec/ec_curve.c:3437,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_curve.c:3454,1
    - Dst: BN_is_word
      Src: /src/openssl/crypto/ec/ec_curve.c:3455,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ec/ec_curve.c:3459,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ec/ec_curve.c:3461,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_curve.c:3470,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_curve.c:3471,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3376
    functionDepth: 5
    functionLinenumber: 3376
    functionLinenumberEnd: 3473
    functionName: ossl_ec_curve_nid_from_params
    functionSourceFile: /src/openssl/crypto/ec/ec_curve.c
    functionUses: 1
    functionsReached:
    - BN_num_bytes
    - EC_GROUP_get0_seed
    - BN_is_zero
    - OPENSSL_free
    - EC_POINT_get_affine_coordinates
    - EC_GROUP_get0_generator
    - EC_GROUP_get_field_type
    - BN_CTX_end
    - OPENSSL_malloc_array
    - EC_GROUP_get_order
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get_seed_len
    - BN_bn2binpad
    - BN_CTX_get
    - memcmp
    - BN_CTX_start
    - BN_is_word
    - EC_GROUP_get_curve
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int ossl_ec_curve_nid_from_params(const EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:86,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:86,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:87,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:87,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:87,1
    - Dst: felem_one
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:89,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:89,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:91,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:91,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:92,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:92,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:92,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:92,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:94,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:94,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:94,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:101,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:101,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:101,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:109,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:109,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:109,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:109,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:111,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:111,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:111,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:113,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:113,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:118,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:118,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:118,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:118,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:123,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:123,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:123,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: X
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: X
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:124,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:125,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:126,1
    - Dst: Y
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:126,1
    - Dst: Y
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:126,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:126,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:127,1
    - Dst: X
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:127,1
    - Dst: X
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:127,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:128,1
    - Dst: Y
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:128,1
    - Dst: Y
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:128,1
    - Dst: felem_one
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:129,1
    - Dst: Z
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:129,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:135,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:135,1
    - Dst: tmp_felem
      Src: /src/openssl/crypto/ec/ecp_nistputil.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - num
    - point_array
    - felem_size
    - tmp_felems
    argTypes:
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 138
    functionName: ossl_ec_GFp_nistp_points_make_affine_internal
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 3
    functionsReached:
    - felem_mul
    - tmp_felem
    - felem_contract
    - felem_is_zero
    - felem_square
    - Y
    - Z
    - X
    - felem_assign
    - felem_inv
    - felem_one
    linkageType: ''
    returnType: void
    signature: "void ossl_ec_GFp_nistp_points_make_affine_internal(size_t num, void
      *point_array,\n                                              size_t felem_size,\n
      \                                             void *tmp_felems,\n                                              void
      (*felem_one) (void *out),\n                                              int
      (*felem_is_zero) (const void\n                                                                    *in),\n
      \                                             void (*felem_assign) (void *out,\n
      \                                                                   const void\n
      \                                                                   *in),\n
      \                                             void (*felem_square) (void *out,\n
      \                                                                   const void\n
      \                                                                   *in),\n
      \                                             void (*felem_mul) (void *out,\n
      \                                                                const void\n
      \                                                                *in1,\n                                                                 const
      void\n                                                                 *in2),\n
      \                                             void (*felem_inv) (void *out,\n
      \                                                                const void\n
      \                                                                *in),\n                                              void
      (*felem_contract) (void\n                                                                      *out,\n
      \                                                                     const\n
      \                                                                     void\n
      \                                                                     *in))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: tmp_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tmp_felem(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: X
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: Y
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Y(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: Z
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Z(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - sign
    - digit
    - in
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: ossl_ec_GFp_nistp_recode_scalar_bits
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistputil.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_ec_GFp_nistp_recode_scalar_bits(unsigned char *sign,\n                                          unsigned
      char *digit, unsigned char in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:37,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ec/ecx_meth.c:41,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:41,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/crypto/ec/ecx_meth.c:45,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ecx_meth.c:45,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:47,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: ecx_pub_encode
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_memdup
    - X509_PUBKEY_set0_param
    - OPENSSL_free
    - OBJ_nid2obj
    - KEYLEN
    linkageType: ''
    returnType: int
    signature: int ecx_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/ec/ecx_meth.c:62,1
    - Dst: ossl_ecx_key_op
      Src: /src/openssl/crypto/ec/ecx_meth.c:64,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: ecx_pub_decode
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - X509_PUBKEY_get0_param
    - ossl_ecx_key_op
    linkageType: ''
    returnType: int
    signature: int ecx_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/ec/ecx_meth.c:81,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: ecx_pub_cmp
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - KEYLEN
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: int ecx_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_from_pkcs8
      Src: /src/openssl/crypto/ec/ecx_meth.c:88,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pkey
    - p8
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: ecx_priv_decode_ex
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - ossl_ecx_key_from_pkcs8
    linkageType: ''
    returnType: int
    signature: "int ecx_priv_decode_ex(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8,\n
      \                             OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:106,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:111,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/ec/ecx_meth.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:116,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/crypto/ec/ecx_meth.c:120,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ecx_meth.c:120,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: ecx_priv_encode
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - PKCS8_pkey_set0
    - ERR_raise
    - OPENSSL_clear_free
    - i2d_ASN1_OCTET_STRING
    - OBJ_nid2obj
    - KEYLEN
    linkageType: ''
    returnType: int
    signature: int ecx_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: ecx_size
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - KEYLEN
    linkageType: ''
    returnType: int
    signature: int ecx_size(const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS25519
      Src: /src/openssl/crypto/ec/ecx_meth.c:137,1
    - Dst: ISX448
      Src: /src/openssl/crypto/ec/ecx_meth.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: ecx_bits
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - IS25519
    - ISX448
    linkageType: ''
    returnType: int
    signature: int ecx_bits(const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS25519
      Src: /src/openssl/crypto/ec/ecx_meth.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: ecx_security_bits
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - IS25519
    linkageType: ''
    returnType: int
    signature: int ecx_security_bits(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: ecx_free
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    linkageType: ''
    returnType: void
    signature: void ecx_free(EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: ecx_cmp_parameters
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecx_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/ec/ecx_meth.c:170,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ecx_meth.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ecx_meth.c:178,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ecx_meth.c:180,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/ec/ecx_meth.c:182,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:182,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ecx_meth.c:187,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ecx_meth.c:191,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ecx_meth.c:194,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/ec/ecx_meth.c:197,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:197,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    - op
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    - ecx_key_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 201
    functionName: ecx_key_print
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - ASN1_buf_print
    - KEYLEN
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ecx_key_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                         ASN1_PCTX
      *ctx, ecx_key_op_t op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_key_print
      Src: /src/openssl/crypto/ec/ecx_meth.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: ecx_priv_print
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ecx_key_print
    linkageType: ''
    returnType: int
    signature: "int ecx_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                          ASN1_PCTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_key_print
      Src: /src/openssl/crypto/ec/ecx_meth.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: ecx_pub_print
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ecx_key_print
    linkageType: ''
    returnType: int
    signature: "int ecx_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                         ASN1_PCTX
      *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_op
      Src: /src/openssl/crypto/ec/ecx_meth.c:220,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:224,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ec/ecx_meth.c:233,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:233,1
    - Dst: KEYLEN
      Src: /src/openssl/crypto/ec/ecx_meth.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 243
    functionName: ecx_ctrl
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - OPENSSL_memdup
    - KEYLEN
    - ossl_ecx_key_op
    linkageType: ''
    returnType: int
    signature: int ecx_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: ecd_ctrl
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecd_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:266,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/ec/ecx_meth.c:266,1
    - Dst: ossl_ecx_key_op
      Src: /src/openssl/crypto/ec/ecx_meth.c:268,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pkey
    - priv
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 276
    functionName: ecx_set_priv_key
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - ossl_provider_libctx
    - EVP_KEYMGMT_get0_provider
    - ossl_ecx_key_op
    linkageType: ''
    returnType: int
    signature: "int ecx_set_priv_key(EVP_PKEY *pkey, const unsigned char *priv,\n
      \                           size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_provider_libctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:284,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/crypto/ec/ecx_meth.c:284,1
    - Dst: ossl_ecx_key_op
      Src: /src/openssl/crypto/ec/ecx_meth.c:286,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pkey
    - pub
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 294
    functionName: ecx_set_pub_key
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - ossl_provider_libctx
    - EVP_KEYMGMT_get0_provider
    - ossl_ecx_key_op
    linkageType: ''
    returnType: int
    signature: int ecx_set_pub_key(EVP_PKEY *pkey, const unsigned char *pub, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_meth.c:302,1
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_meth.c:308,1
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_meth.c:311,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pkey
    - priv
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 315
    functionName: ecx_get_priv_key
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - KEYLENID
    linkageType: ''
    returnType: int
    signature: "int ecx_get_priv_key(const EVP_PKEY *pkey, unsigned char *priv,\n
      \                           size_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_meth.c:323,1
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_meth.c:328,1
    - Dst: KEYLENID
      Src: /src/openssl/crypto/ec/ecx_meth.c:331,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pkey
    - pub
    - len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: ecx_get_pub_key
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - KEYLENID
    linkageType: ''
    returnType: int
    signature: "int ecx_get_pub_key(const EVP_PKEY *pkey, unsigned char *pub,\n                           size_t
      *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: ecx_pkey_dirty_cnt
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ecx_pkey_dirty_cnt(const EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/ec/ecx_meth.c:351,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/ec/ecx_meth.c:360,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/ec/ecx_meth.c:366,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/ec/ecx_meth.c:373,1
    - Dst: importer
      Src: /src/openssl/crypto/ec/ecx_meth.c:376,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:379,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 382
    functionName: ecx_pkey_export_to
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - importer
    linkageType: ''
    returnType: int
    signature: "int ecx_pkey_export_to(const EVP_PKEY *from, void *to_keydata,\n                              OSSL_FUNC_keymgmt_import_fn
      *importer,\n                              OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/ec/ecx_meth.c:388,1
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/crypto/ec/ecx_meth.c:389,1
    - Dst: KEYNID2TYPE
      Src: /src/openssl/crypto/ec/ecx_meth.c:389,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ecx_meth.c:391,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ecx_meth.c:392,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:395,1
    - Dst: ossl_ecx_key_fromdata
      Src: /src/openssl/crypto/ec/ecx_meth.c:399,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:400,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - params
    - vpctx
    - keytype
    argTypes:
    - OSSL_PARAM[]
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 405
    functionName: ecx_generic_import_from
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - KEYNID2TYPE
    - ERR_raise
    - ossl_ecx_key_fromdata
    - EVP_PKEY_assign
    - EVP_PKEY_CTX_get0_pkey
    - ossl_ecx_key_free
    - OSSL_PARAM_locate_const
    - ossl_ecx_key_new
    linkageType: ''
    returnType: int
    signature: "int ecx_generic_import_from(const OSSL_PARAM params[], void *vpctx,\n
      \                                  int keytype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_dup
      Src: /src/openssl/crypto/ec/ecx_meth.c:413,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:418,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 422
    functionName: ecx_pkey_copy
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_free
    - ossl_ecx_key_dup
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: int ecx_pkey_copy(EVP_PKEY *to, EVP_PKEY *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_generic_import_from
      Src: /src/openssl/crypto/ec/ecx_meth.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: x25519_import_from
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ecx_generic_import_from
    linkageType: ''
    returnType: int
    signature: int x25519_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_generic_import_from
      Src: /src/openssl/crypto/ec/ecx_meth.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 4
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: x448_import_from
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ecx_generic_import_from
    linkageType: ''
    returnType: int
    signature: int x448_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: ecd_size25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecd_size25519(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: ecd_size448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ecd_size448(const EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/ec/ecx_meth.c:551,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ec/ecx_meth.c:552,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:554,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/crypto/ec/ecx_meth.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - sigalg
    - str
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 562
    functionName: ecd_item_verify
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - ERR_raise
    - X509_ALGOR_get0
    - EVP_DigestVerifyInit
    linkageType: ''
    returnType: int
    signature: "int ecd_item_verify(EVP_MD_CTX *ctx, const ASN1_ITEM *it,\n                           const
      void *asn, const X509_ALGOR *sigalg,\n                           const ASN1_BIT_STRING
      *str, EVP_PKEY *pkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/ec/ecx_meth.c:568,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ecx_meth.c:568,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/ec/ecx_meth.c:570,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ecx_meth.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - alg1
    - alg2
    - nid
    argTypes:
    - X509_ALGOR*
    - X509_ALGOR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 573
    functionName: ecd_item_sign
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: int ecd_item_sign(X509_ALGOR *alg1, X509_ALGOR *alg2, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecd_item_sign
      Src: /src/openssl/crypto/ec/ecx_meth.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - alg1
    - alg2
    - str
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: ecd_item_sign25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ecd_item_sign
    linkageType: ''
    returnType: int
    signature: "int ecd_item_sign25519(EVP_MD_CTX *ctx, const ASN1_ITEM *it,\n                              const
      void *asn,\n                              X509_ALGOR *alg1, X509_ALGOR *alg2,\n
      \                             ASN1_BIT_STRING *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_SIG_INFO_set
      Src: /src/openssl/crypto/ec/ecx_meth.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - siginf
    - alg
    - sig
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 589
    functionName: ecd_sig_info_set25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - X509_SIG_INFO_set
    linkageType: ''
    returnType: int
    signature: "int ecd_sig_info_set25519(X509_SIG_INFO *siginf, const X509_ALGOR
      *alg,\n                                 const ASN1_STRING *sig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecd_item_sign
      Src: /src/openssl/crypto/ec/ecx_meth.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - alg1
    - alg2
    - str
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 597
    functionName: ecd_item_sign448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ecd_item_sign
    linkageType: ''
    returnType: int
    signature: "int ecd_item_sign448(EVP_MD_CTX *ctx, const ASN1_ITEM *it,\n                            const
      void *asn,\n                            X509_ALGOR *alg1, X509_ALGOR *alg2,\n
      \                           ASN1_BIT_STRING *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_SIG_INFO_set
      Src: /src/openssl/crypto/ec/ecx_meth.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - siginf
    - alg
    - sig
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 605
    functionName: ecd_sig_info_set448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - X509_SIG_INFO_set
    linkageType: ''
    returnType: int
    signature: "int ecd_sig_info_set448(X509_SIG_INFO *siginf, const X509_ALGOR *alg,\n
      \                              const ASN1_STRING *sig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_generic_import_from
      Src: /src/openssl/crypto/ec/ecx_meth.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: ed25519_import_from
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ecx_generic_import_from
    linkageType: ''
    returnType: int
    signature: int ed25519_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecx_generic_import_from
      Src: /src/openssl/crypto/ec/ecx_meth.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 4
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: ed448_import_from
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ecx_generic_import_from
    linkageType: ''
    returnType: int
    signature: int ed448_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_op
      Src: /src/openssl/crypto/ec/ecx_meth.c:715,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 723
    functionName: pkey_ecx_keygen
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - ossl_ecx_key_op
    linkageType: ''
    returnType: int
    signature: int pkey_ecx_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:733,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:736,1
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:737,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:739,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - ctx
    - key
    - keylen
    - privkey
    - pubkey
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char**
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 725
    functionDepth: 7
    functionLinenumber: 725
    functionLinenumberEnd: 750
    functionName: validate_ecx_derive
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int validate_ecx_derive(EVP_PKEY_CTX *ctx, unsigned char *key,\n                                          size_t
      *keylen,\n                                          const unsigned char **privkey,\n
      \                                         const unsigned char **pubkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_ecx_derive
      Src: /src/openssl/crypto/ec/ecx_meth.c:757,1
    - Dst: ossl_x25519
      Src: /src/openssl/crypto/ec/ecx_meth.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 752
    functionDepth: 8
    functionLinenumber: 752
    functionLinenumberEnd: 763
    functionName: pkey_ecx_derive25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ossl_x25519
    - validate_ecx_derive
    linkageType: ''
    returnType: int
    signature: "int pkey_ecx_derive25519(EVP_PKEY_CTX *ctx, unsigned char *key,\n
      \                               size_t *keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_ecx_derive
      Src: /src/openssl/crypto/ec/ecx_meth.c:770,1
    - Dst: ossl_x448
      Src: /src/openssl/crypto/ec/ecx_meth.c:772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 8
    functionLinenumber: 765
    functionLinenumberEnd: 776
    functionName: pkey_ecx_derive448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ossl_x448
    - validate_ecx_derive
    linkageType: ''
    returnType: int
    signature: "int pkey_ecx_derive448(EVP_PKEY_CTX *ctx, unsigned char *key,\n                              size_t
      *keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 784
    functionName: pkey_ecx_ctrl
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pkey_ecx_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:810,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:810,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:813,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:822,1
    - Dst: ossl_ed25519_sign
      Src: /src/openssl/crypto/ec/ecx_meth.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 806
    functionDepth: 11
    functionLinenumber: 806
    functionLinenumberEnd: 833
    functionName: pkey_ecd_digestsign25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ossl_ed25519_sign
    - evp_pkey_get_legacy
    - ERR_raise
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int pkey_ecd_digestsign25519(EVP_MD_CTX *ctx, unsigned char *sig,\n
      \                                   size_t *siglen, const unsigned char *tbs,\n
      \                                   size_t tbslen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:839,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:839,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:842,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:851,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/crypto/ec/ecx_meth.c:855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 835
    functionDepth: 7
    functionLinenumber: 835
    functionLinenumberEnd: 860
    functionName: pkey_ecd_digestsign448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    - ossl_ed448_sign
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int pkey_ecd_digestsign448(EVP_MD_CTX *ctx, unsigned char *sig,\n
      \                                 size_t *siglen, const unsigned char *tbs,\n
      \                                 size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:866,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:866,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:869,1
    - Dst: ossl_ed25519_verify
      Src: /src/openssl/crypto/ec/ecx_meth.c:876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 862
    functionDepth: 11
    functionLinenumber: 862
    functionLinenumberEnd: 880
    functionName: pkey_ecd_digestverify25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    - ossl_ed25519_verify
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int pkey_ecd_digestverify25519(EVP_MD_CTX *ctx, const unsigned char
      *sig,\n                                      size_t siglen, const unsigned char
      *tbs,\n                                      size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:886,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:886,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:889,1
    - Dst: ossl_ed448_verify
      Src: /src/openssl/crypto/ec/ecx_meth.c:896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 882
    functionDepth: 7
    functionLinenumber: 882
    functionLinenumberEnd: 898
    functionName: pkey_ecd_digestverify448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - evp_pkey_get_legacy
    - ERR_raise
    - ossl_ed448_verify
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int pkey_ecd_digestverify448(EVP_MD_CTX *ctx, const unsigned char
      *sig,\n                                    size_t siglen, const unsigned char
      *tbs,\n                                    size_t tbslen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_md_null
      Src: /src/openssl/crypto/ec/ecx_meth.c:905,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 914
    functionName: pkey_ecd_ctrl
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_md_null
    linkageType: ''
    returnType: int
    signature: int pkey_ecd_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/crypto/ec/ecx_meth.c:948,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:953,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/crypto/ec/ecx_meth.c:959,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:961,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ec/ecx_meth.c:965,1
    - Dst: s390x_x25519_mul
      Src: /src/openssl/crypto/ec/ecx_meth.c:972,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:975,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 980
    functionName: s390x_pkey_ecx_keygen25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - ossl_ecx_key_allocate_privkey
    - ERR_raise
    - ossl_ecx_key_free
    - RAND_priv_bytes_ex
    - EVP_PKEY_assign
    - s390x_x25519_mul
    - ossl_ecx_key_new
    linkageType: ''
    returnType: int
    signature: int s390x_pkey_ecx_keygen25519(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/crypto/ec/ecx_meth.c:991,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:996,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/crypto/ec/ecx_meth.c:1002,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1004,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ec/ecx_meth.c:1008,1
    - Dst: s390x_x448_mul
      Src: /src/openssl/crypto/ec/ecx_meth.c:1014,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:1017,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:1020,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 982
    functionDepth: 3
    functionLinenumber: 982
    functionLinenumberEnd: 1022
    functionName: s390x_pkey_ecx_keygen448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - s390x_x448_mul
    - ossl_ecx_key_allocate_privkey
    - ERR_raise
    - ossl_ecx_key_free
    - RAND_priv_bytes_ex
    - EVP_PKEY_assign
    - ossl_ecx_key_new
    linkageType: ''
    returnType: int
    signature: int s390x_pkey_ecx_keygen448(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/crypto/ec/ecx_meth.c:1037,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1045,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/crypto/ec/ecx_meth.c:1051,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1053,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ec/ecx_meth.c:1057,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ec/ecx_meth.c:1060,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ec/ecx_meth.c:1064,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:1065,1
    - Dst: s390x_ed25519_mul
      Src: /src/openssl/crypto/ec/ecx_meth.c:1073,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:1079,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:1082,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1024
    functionDepth: 10
    functionLinenumber: 1024
    functionLinenumberEnd: 1084
    functionName: s390x_pkey_ecd_keygen25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - s390x_ed25519_mul
    - ossl_ecx_key_allocate_privkey
    - ERR_raise
    - EVP_MD_free
    - ossl_ecx_key_free
    - RAND_priv_bytes_ex
    - EVP_PKEY_assign
    - EVP_Digest
    - ossl_ecx_key_new
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int s390x_pkey_ecd_keygen25519(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecx_key_new
      Src: /src/openssl/crypto/ec/ecx_meth.c:1103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1111,1
    - Dst: ossl_ecx_key_allocate_privkey
      Src: /src/openssl/crypto/ec/ecx_meth.c:1117,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1119,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/ec/ecx_meth.c:1123,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/ecx_meth.c:1126,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ec/ecx_meth.c:1130,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ec/ecx_meth.c:1134,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:1135,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/ecx_meth.c:1139,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ec/ecx_meth.c:1141,1
    - Dst: s390x_ed448_mul
      Src: /src/openssl/crypto/ec/ecx_meth.c:1148,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/ec/ecx_meth.c:1154,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:1155,1
    - Dst: ossl_ecx_key_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:1158,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/ecx_meth.c:1159,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1086
    functionDepth: 10
    functionLinenumber: 1086
    functionLinenumberEnd: 1161
    functionName: s390x_pkey_ecd_keygen448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - ossl_ecx_key_allocate_privkey
    - ERR_raise
    - EVP_MD_free
    - EVP_DigestUpdate
    - ossl_ecx_key_free
    - RAND_priv_bytes_ex
    - EVP_PKEY_assign
    - EVP_MD_fetch
    - EVP_MD_CTX_new
    - s390x_ed448_mul
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - ossl_ecx_key_new
    linkageType: ''
    returnType: int
    signature: int s390x_pkey_ecd_keygen448(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_ecx_derive
      Src: /src/openssl/crypto/ec/ecx_meth.c:1168,1
    - Dst: s390x_x25519_mul
      Src: /src/openssl/crypto/ec/ecx_meth.c:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1163
    functionDepth: 8
    functionLinenumber: 1163
    functionLinenumberEnd: 1174
    functionName: s390x_pkey_ecx_derive25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - s390x_x25519_mul
    - validate_ecx_derive
    linkageType: ''
    returnType: int
    signature: "int s390x_pkey_ecx_derive25519(EVP_PKEY_CTX *ctx, unsigned char *key,\n
      \                                     size_t *keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validate_ecx_derive
      Src: /src/openssl/crypto/ec/ecx_meth.c:1181,1
    - Dst: s390x_x448_mul
      Src: /src/openssl/crypto/ec/ecx_meth.c:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1176
    functionDepth: 8
    functionLinenumber: 1176
    functionLinenumberEnd: 1187
    functionName: s390x_pkey_ecx_derive448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - s390x_x448_mul
    - validate_ecx_derive
    linkageType: ''
    returnType: int
    signature: "int s390x_pkey_ecx_derive448(EVP_PKEY_CTX *ctx, unsigned char *key,\n
      \                                     size_t *keylen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1201,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:1201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1205,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1215,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecx_meth.c:1219,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1220,1
    - Dst: s390x_kdsa
      Src: /src/openssl/crypto/ec/ecx_meth.c:1222,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecx_meth.c:1223,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_meth.c:1227,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_meth.c:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1189
    functionDepth: 7
    functionLinenumber: 1189
    functionLinenumberEnd: 1232
    functionName: s390x_pkey_ecd_digestsign25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - memcpy
    - evp_pkey_get_legacy
    - s390x_flip_endian32
    - OPENSSL_cleanse
    - s390x_kdsa
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int s390x_pkey_ecd_digestsign25519(EVP_MD_CTX *ctx,\n                                          unsigned
      char *sig, size_t *siglen,\n                                          const
      unsigned char *tbs,\n                                          size_t tbslen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1246,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:1246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1260,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecx_meth.c:1264,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1265,1
    - Dst: s390x_kdsa
      Src: /src/openssl/crypto/ec/ecx_meth.c:1267,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecx_meth.c:1268,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_meth.c:1272,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_meth.c:1273,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1274,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1234
    functionDepth: 7
    functionLinenumber: 1234
    functionLinenumberEnd: 1279
    functionName: s390x_pkey_ecd_digestsign448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - s390x_flip_endian64
    - memcpy
    - evp_pkey_get_legacy
    - OPENSSL_cleanse
    - s390x_kdsa
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int s390x_pkey_ecd_digestsign448(EVP_MD_CTX *ctx,\n                                        unsigned
      char *sig, size_t *siglen,\n                                        const unsigned
      char *tbs,\n                                        size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1294,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:1294,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1297,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecx_meth.c:1304,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_meth.c:1305,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_meth.c:1306,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_meth.c:1307,1
    - Dst: s390x_kdsa
      Src: /src/openssl/crypto/ec/ecx_meth.c:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1281
    functionDepth: 7
    functionLinenumber: 1281
    functionLinenumberEnd: 1311
    functionName: s390x_pkey_ecd_digestverify25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - evp_pkey_get_legacy
    - s390x_flip_endian32
    - s390x_kdsa
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int s390x_pkey_ecd_digestverify25519(EVP_MD_CTX *ctx,\n                                            const
      unsigned char *sig,\n                                            size_t siglen,\n
      \                                           const unsigned char *tbs,\n                                            size_t
      tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_get_legacy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1326,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/ec/ecx_meth.c:1326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecx_meth.c:1329,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecx_meth.c:1336,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1337,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_meth.c:1338,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1339,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_meth.c:1340,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_meth.c:1341,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_meth.c:1342,1
    - Dst: s390x_kdsa
      Src: /src/openssl/crypto/ec/ecx_meth.c:1344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1313
    functionDepth: 7
    functionLinenumber: 1313
    functionLinenumberEnd: 1346
    functionName: s390x_pkey_ecd_digestverify448
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - s390x_flip_endian64
    - memcpy
    - evp_pkey_get_legacy
    - s390x_kdsa
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int s390x_pkey_ecd_digestverify448(EVP_MD_CTX *ctx,\n                                          const
      unsigned char *sig,\n                                          size_t siglen,\n
      \                                         const unsigned char *tbs,\n                                          size_t
      tbslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_meth.c:1393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1390
    functionDepth: 1
    functionLinenumber: 1390
    functionLinenumberEnd: 1397
    functionName: ossl_ecx25519_pkey_method
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - S390X_CAPBIT
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_ecx25519_pkey_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_meth.c:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1406
    functionName: ossl_ecx448_pkey_method
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - S390X_CAPBIT
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_ecx448_pkey_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_meth.c:1411,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_meth.c:1412,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_meth.c:1414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1418
    functionName: ossl_ed25519_pkey_method
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - S390X_CAPBIT
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_ed25519_pkey_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_meth.c:1423,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_meth.c:1424,1
    - Dst: S390X_CAPBIT
      Src: /src/openssl/crypto/ec/ecx_meth.c:1425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1429
    functionName: ossl_ed448_pkey_method
    functionSourceFile: /src/openssl/crypto/ec/ecx_meth.c
    functionUses: 0
    functionsReached:
    - S390X_CAPBIT
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_ed448_pkey_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero_64
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: is_zeros
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - constant_time_is_zero_64
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline is_zeros(const BN_ULONG *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero_64
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: is_equal
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - constant_time_is_zero_64
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline is_equal(const BN_ULONG *a, const BN_ULONG *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: is_greater
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline is_greater(const BN_ULONG *a, const BN_ULONG *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: is_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_one(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: is_even
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_even(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: is_point_equal
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_point_equal(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - out
    - ','
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: ecp_sm2p256_bignum_field_elem
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ecp_sm2p256_bignum_field_elem(out, in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - out
    - ','
    - in
    - ','
    - mod_div
    - ','
    - mod_sub
    - ','
    - mod
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: BN_MOD_INV
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_MOD_INV(out, in, mod_div, mod_sub, mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MOD_INV
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: ecp_sm2p256_mod_inverse
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - BN_MOD_INV
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ecp_sm2p256_mod_inverse(BN_ULONG* out,\n                                                const
      BN_ULONG* in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MOD_INV
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BN_ULONG*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: ecp_sm2p256_mod_ord_inverse
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - BN_MOD_INV
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ecp_sm2p256_mod_ord_inverse(BN_ULONG* out,\n                                                    const
      BN_ULONG* in)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:196,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:203,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:204,1
    - Dst: ecp_sm2p256_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:205,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:206,1
    - Dst: ecp_sm2p256_mul_by_3
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:207,1
    - Dst: ecp_sm2p256_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:208,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:209,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:210,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:211,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:212,1
    - Dst: ecp_sm2p256_div_by_2
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:213,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:214,1
    - Dst: ecp_sm2p256_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:215,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:216,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:217,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:218,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:219,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - R
    - P
    argTypes:
    - P256_POINT*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 221
    functionName: ecp_sm2p256_point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ecp_sm2p256_mul
    - ecp_sm2p256_add
    - ecp_sm2p256_div_by_2
    - ecp_sm2p256_mul_by_3
    - memcpy
    - ecp_sm2p256_sqr
    - is_zeros
    - ecp_sm2p256_sub
    linkageType: ''
    returnType: void
    signature: void ecp_sm2p256_point_double(P256_POINT *R, const P256_POINT *P)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:234,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:245,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:246,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:247,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:248,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:249,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:250,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:253,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:254,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:263,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:272,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:273,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:274,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:275,1
    - Dst: ecp_sm2p256_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:276,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:277,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:278,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:279,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:280,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:281,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:282,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - R
    - P
    - Q
    argTypes:
    - P256_POINT*
    - P256_POINT*
    - P256_POINT_AFFINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 284
    functionName: ecp_sm2p256_point_add_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ecp_sm2p256_mul
    - ecp_sm2p256_add
    - ecp_sm2p256_sqr
    - is_zeros
    - ecp_sm2p256_sub
    - ecp_sm2p256_point_double
    linkageType: ''
    returnType: void
    signature: "void ecp_sm2p256_point_add_affine(P256_POINT *R, const P256_POINT
      *P,\n                                         const P256_POINT_AFFINE *Q)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:296,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:304,1
    - Dst: is_point_equal
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:312,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:313,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:318,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:319,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:320,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:321,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:322,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:323,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:324,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:325,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:326,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:327,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:328,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:329,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:330,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:331,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:332,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:333,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:334,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:335,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:336,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:337,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:338,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:339,1
    - Dst: ecp_sm2p256_sub
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 3
    argNames:
    - R
    - P
    - Q
    argTypes:
    - P256_POINT*
    - P256_POINT*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 341
    functionName: ecp_sm2p256_point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ecp_sm2p256_mul
    - ecp_sm2p256_sqr
    - is_zeros
    - ecp_sm2p256_sub
    - is_point_equal
    - ecp_sm2p256_point_double
    linkageType: ''
    returnType: void
    signature: "void ecp_sm2p256_point_add(P256_POINT *R, const P256_POINT *P,\n                                  const
      P256_POINT *Q)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:350,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:352,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:358,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:359,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:369,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:370,1
    - Dst: ecp_sm2p256_point_add_affine
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - R
    - k
    argTypes:
    - P256_POINT*
    - BN_ULONG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 374
    functionName: ecp_sm2p256_point_G_mul_by_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - memcpy
    - is_zeros
    - memset
    - ecp_sm2p256_point_add_affine
    linkageType: ''
    returnType: void
    signature: void ecp_sm2p256_point_G_mul_by_scalar(P256_POINT *R, const BN_ULONG
      *k)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:387,1
    - Dst: is_zeros
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:389,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:393,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:394,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:401,1
    - Dst: ecp_sm2p256_point_add_affine
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:405,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:412,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:416,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:417,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:418,1
    - Dst: ecp_sm2p256_point_double
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:419,1
    - Dst: ecp_sm2p256_point_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - R
    - k
    - P
    argTypes:
    - P256_POINT*
    - BN_ULONG*
    - P256_POINT_AFFINE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 380
    functionDepth: 4
    functionLinenumber: 380
    functionLinenumberEnd: 424
    functionName: ecp_sm2p256_point_P_mul_by_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - is_zeros
    - ecp_sm2p256_point_add
    - ecp_sm2p256_point_add_affine
    - ecp_sm2p256_point_double
    linkageType: ''
    returnType: void
    signature: "void ecp_sm2p256_point_P_mul_by_scalar(P256_POINT *R, const BN_ULONG
      *k,\n                                              P256_POINT_AFFINE P)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_one
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:433,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:434,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:435,1
    - Dst: ecp_sm2p256_mod_inverse
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:439,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:440,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:441,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:442,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - R
    - P
    argTypes:
    - P256_POINT_AFFINE*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 444
    functionName: ecp_sm2p256_point_get_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - is_one
    - ecp_sm2p256_mul
    - memcpy
    - ecp_sm2p256_sqr
    - ecp_sm2p256_mod_inverse
    linkageType: ''
    returnType: void
    signature: "void ecp_sm2p256_point_get_affine(P256_POINT_AFFINE *R,\n                                         const
      P256_POINT *P)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:449,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:450,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:451,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:451,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:452,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - generator
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: ecp_sm2p256_is_affine_G
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - bn_get_top
    - bn_get_words
    - is_equal
    linkageType: ''
    returnType: int
    signature: int ecp_sm2p256_is_affine_G(const EC_POINT *generator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:472,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:473,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:477,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:478,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:479,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:480,1
    - Dst: ecp_sm2p256_mod_inverse
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:484,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:485,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:488,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:489,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:494,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:495,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 460
    functionDepth: 5
    functionLinenumber: 460
    functionLinenumberEnd: 501
    functionName: ecp_sm2p256_get_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ecp_sm2p256_mul
    - ecp_sm2p256_sqr
    - ecp_sm2p256_mod_inverse
    - ecp_sm2p256_bignum_field_elem
    - bn_set_words
    - ECerr
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ecp_sm2p256_get_affine(const EC_GROUP *group,\n                                  const
      EC_POINT *point,\n                                  BIGNUM *x, BIGNUM *y, BN_CTX
      *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_MALLOC_MAX_NELEMS
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:520,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:521,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:522,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:526,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:529,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:532,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:532,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:535,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:537,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:538,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:546,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:547,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:548,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:549,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:550,1
    - Dst: ecp_sm2p256_point_get_affine
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:554,1
    - Dst: ecp_sm2p256_point_P_mul_by_scalar
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:555,1
    - Dst: ecp_sm2p256_point_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:556,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:561,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 6
    argNames:
    - group
    - r
    - scalar
    - point
    - num
    - ctx
    argTypes:
    - EC_GROUP*
    - P256_POINT*
    - BIGNUM**
    - EC_POINT**
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 563
    functionName: ecp_sm2p256_windowed_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - memset
    - ecp_sm2p256_point_P_mul_by_scalar
    - OPENSSL_MALLOC_MAX_NELEMS
    - ecp_sm2p256_point_get_affine
    - OPENSSL_malloc_array
    - BN_is_negative
    - BN_nnmod
    - OPENSSL_free
    - ecp_sm2p256_bignum_field_elem
    - ecp_sm2p256_point_add
    - BN_num_bits
    - ECerr
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ecp_sm2p256_windowed_mul(const EC_GROUP *group,\n                                    P256_POINT
      *r,\n                                    const BIGNUM **scalar,\n                                    const
      EC_POINT **point,\n                                    size_t num, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: union
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALIGN32
    signature: ALIGN32 union
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_MALLOC_MAX_NELEMS
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:581,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:582,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:586,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:589,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:591,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:595,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:596,1
    - Dst: ecp_sm2p256_is_affine_G
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:600,1
    - Dst: ecp_sm2p256_point_G_mul_by_scalar
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:601,1
    - Dst: ecp_sm2p256_windowed_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:612,1
    - Dst: ecp_sm2p256_windowed_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:626,1
    - Dst: ecp_sm2p256_point_add
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:630,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:634,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:635,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:636,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:638,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:638,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:642,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 644
    functionName: ecp_sm2p256_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ecp_sm2p256_windowed_mul
    - ecp_sm2p256_point_G_mul_by_scalar
    - bn_get_words
    - BN_CTX_start
    - BN_CTX_end
    - OPENSSL_MALLOC_MAX_NELEMS
    - is_equal
    - ecp_sm2p256_bignum_field_elem
    - ecp_sm2p256_is_affine_G
    - ecp_sm2p256_point_add
    - bn_set_words
    - EC_GROUP_get0_generator
    - ECerr
    linkageType: ''
    returnType: int
    signature: "int ecp_sm2p256_points_mul(const EC_GROUP *group,\n                                  EC_POINT
      *r,\n                                  const BIGNUM *scalar,\n                                  size_t
      num,\n                                  const EC_POINT *points[],\n                                  const
      BIGNUM *scalars[], BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: union
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALIGN32
    signature: ALIGN32 union
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:656,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:657,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:658,1
    - Dst: ecp_sm2p256_mul
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:662,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 646
    functionDepth: 5
    functionLinenumber: 646
    functionLinenumberEnd: 668
    functionName: ecp_sm2p256_field_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ecp_sm2p256_mul
    - ecp_sm2p256_bignum_field_elem
    - ECerr
    - bn_set_words
    linkageType: ''
    returnType: int
    signature: "int ecp_sm2p256_field_mul(const EC_GROUP *group, BIGNUM *r,\n                                 const
      BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:679,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:680,1
    - Dst: ecp_sm2p256_sqr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:684,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 670
    functionDepth: 5
    functionLinenumber: 670
    functionLinenumberEnd: 690
    functionName: ecp_sm2p256_field_sqr
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - ecp_sm2p256_sqr
    - ecp_sm2p256_bignum_field_elem
    - ECerr
    - bn_set_words
    linkageType: ''
    returnType: int
    signature: "int ecp_sm2p256_field_sqr(const EC_GROUP *group, BIGNUM *r,\n                                 const
      BIGNUM *a, BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:699,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:700,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:704,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:704,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:707,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:708,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:709,1
    - Dst: ecp_sm2p256_bignum_field_elem
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:715,1
    - Dst: ECerr
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:716,1
    - Dst: ecp_sm2p256_mod_ord_inverse
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:720,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_sm2p256.c:722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - group
    - r
    - x
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 692
    functionDepth: 5
    functionLinenumber: 692
    functionLinenumberEnd: 728
    functionName: ecp_sm2p256_inv_mod_ord
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ecp_sm2p256_mod_ord_inverse
    - BN_is_negative
    - BN_nnmod
    - bn_wexpand
    - ecp_sm2p256_bignum_field_elem
    - bn_set_words
    - BN_num_bits
    - ECerr
    linkageType: ''
    returnType: int
    signature: "int ecp_sm2p256_inv_mod_ord(const EC_GROUP *group, BIGNUM *r,\n                                             const
      BIGNUM *x, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 790
    functionName: EC_GFp_sm2p256_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_sm2p256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GFp_sm2p256_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:27,1
    - Dst: constant_time_cond_swap_buff
      Src: /src/openssl/crypto/ec/ecx_s390x.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: s390x_x25519_mod_p
    functionSourceFile: /src/openssl/crypto/ec/ecx_s390x.c
    functionUses: 0
    functionsReached:
    - memcpy
    - constant_time_cond_swap_buff
    linkageType: ''
    returnType: void
    signature: void s390x_x25519_mod_p(unsigned char u[32])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:51,1
    - Dst: constant_time_cond_swap_buff
      Src: /src/openssl/crypto/ec/ecx_s390x.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: s390x_x448_mod_p
    functionSourceFile: /src/openssl/crypto/ec/ecx_s390x.c
    functionUses: 0
    functionsReached:
    - memcpy
    - constant_time_cond_swap_buff
    linkageType: ''
    returnType: void
    signature: void s390x_x448_mod_p(unsigned char u[56])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecx_s390x.c:91,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_s390x.c:93,1
    - Dst: s390x_x25519_mod_p
      Src: /src/openssl/crypto/ec/ecx_s390x.c:95,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_s390x.c:97,1
    - Dst: s390x_pcc
      Src: /src/openssl/crypto/ec/ecx_s390x.c:102,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_s390x.c:104,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecx_s390x.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - u_dst
    - u_src
    - d_src
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 108
    functionName: s390x_x25519_mul
    functionSourceFile: /src/openssl/crypto/ec/ecx_s390x.c
    functionUses: 3
    functionsReached:
    - memset
    - s390x_pcc
    - s390x_flip_endian32
    - s390x_x25519_mod_p
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int s390x_x25519_mul(unsigned char u_dst[32],\n                     const
      unsigned char u_src[32],\n                     const unsigned char d_src[32])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecx_s390x.c:124,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:126,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:127,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_s390x.c:129,1
    - Dst: s390x_x448_mod_p
      Src: /src/openssl/crypto/ec/ecx_s390x.c:130,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_s390x.c:132,1
    - Dst: s390x_pcc
      Src: /src/openssl/crypto/ec/ecx_s390x.c:136,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_s390x.c:138,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:139,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecx_s390x.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - u_dst
    - u_src
    - d_src
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: s390x_x448_mul
    functionSourceFile: /src/openssl/crypto/ec/ecx_s390x.c
    functionUses: 3
    functionsReached:
    - memset
    - s390x_flip_endian64
    - memcpy
    - s390x_pcc
    - s390x_x448_mod_p
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int s390x_x448_mul(unsigned char u_dst[56],\n                   const
      unsigned char u_src[56],\n                   const unsigned char d_src[56])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecx_s390x.c:164,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_s390x.c:166,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_s390x.c:167,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_s390x.c:168,1
    - Dst: s390x_pcc
      Src: /src/openssl/crypto/ec/ecx_s390x.c:170,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_s390x.c:172,1
    - Dst: s390x_flip_endian32
      Src: /src/openssl/crypto/ec/ecx_s390x.c:173,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecx_s390x.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - x_dst
    - y_dst
    - x_src
    - y_src
    - d_src
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 178
    functionName: s390x_ed25519_mul
    functionSourceFile: /src/openssl/crypto/ec/ecx_s390x.c
    functionUses: 1
    functionsReached:
    - s390x_flip_endian32
    - OPENSSL_cleanse
    - memset
    - s390x_pcc
    linkageType: ''
    returnType: int
    signature: "int s390x_ed25519_mul(unsigned char x_dst[32],\n                      unsigned
      char y_dst[32],\n                      const unsigned char x_src[32],\n                      const
      unsigned char y_src[32],\n                      const unsigned char d_src[32])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecx_s390x.c:198,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:200,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:201,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:202,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_s390x.c:203,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_s390x.c:204,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_s390x.c:205,1
    - Dst: s390x_pcc
      Src: /src/openssl/crypto/ec/ecx_s390x.c:207,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_s390x.c:209,1
    - Dst: s390x_flip_endian64
      Src: /src/openssl/crypto/ec/ecx_s390x.c:210,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:211,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecx_s390x.c:212,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/ecx_s390x.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - x_dst
    - y_dst
    - x_src
    - y_src
    - d_src
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 217
    functionName: s390x_ed448_mul
    functionSourceFile: /src/openssl/crypto/ec/ecx_s390x.c
    functionUses: 1
    functionsReached:
    - memset
    - s390x_flip_endian64
    - memcpy
    - s390x_pcc
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int s390x_ed448_mul(unsigned char x_dst[57],\n                    unsigned
      char y_dst[57],\n                    const unsigned char x_src[57],\n                    const
      unsigned char y_src[57],\n                    const unsigned char d_src[57])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: bin66_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bin66_to_felem(felem out, const u8 in[66])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - u8[]
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: felem_to_bin66
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void felem_to_bin66(u8 out[66], const felem in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:181,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:186,1
    - Dst: bin66_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - out
    - bn
    argTypes:
    - felem
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: BN_to_felem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 9
    functionsReached:
    - BN_bn2lebinpad
    - BN_is_negative
    - ERR_raise
    - bin66_to_felem
    linkageType: ''
    returnType: int
    signature: int BN_to_felem(felem out, const BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_to_bin66
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:197,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM*
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 5
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: felem_to_BN
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 6
    functionsReached:
    - BN_lebin2bn
    - felem_to_bin66
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *felem_to_BN(BIGNUM *out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - out
    argTypes:
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: felem_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_one(felem out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: felem_assign
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_assign(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: felem_sum64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_sum64(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - out
    - in
    - scalar
    argTypes:
    - felem
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 258
    functionName: felem_scalar
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar(felem out, const felem in, limb scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: felem_scalar64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar64(felem out, limb scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - largefelem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: felem_scalar128
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_scalar128(largefelem out, limb scalar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: felem_neg
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_neg(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: felem_diff64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff64(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 367
    functionName: felem_diff_128_64
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff_128_64(largefelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - largefelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 395
    functionName: felem_diff128
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_diff128(largefelem out, const largefelem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:407,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 478
    functionName: felem_square_ref
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 1
    functionsReached:
    - felem_scalar
    linkageType: ''
    returnType: void
    signature: void felem_square_ref(largefelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - largefelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 592
    functionName: felem_mul_ref
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 1
    functionsReached:
    - felem_scalar
    linkageType: ''
    returnType: void
    signature: void felem_mul_ref(largefelem out, const felem in1, const felem in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - largefelem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 676
    functionName: felem_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_reduce(felem out, const largefelem in)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 708
    functionName: felem_select
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void felem_select(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_select
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:712,1
    - Dst: felem_square_p
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - largefelem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: felem_square_wrapper
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - felem_square_p
    - felem_select
    linkageType: ''
    returnType: void
    signature: void felem_square_wrapper(largefelem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_select
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:718,1
    - Dst: felem_mul_p
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - largefelem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 720
    functionName: felem_mul_wrapper
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - felem_mul_p
    - felem_select
    linkageType: ''
    returnType: void
    signature: void felem_mul_wrapper(largefelem out, const felem in1, const felem
      in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:732,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: felem_square_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 3
    functionsReached:
    - felem_square
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: void felem_square_reduce(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:739,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in1
    - in2
    argTypes:
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 741
    functionName: felem_mul_reduce
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 3
    functionsReached:
    - felem_mul
    - felem_reduce
    linkageType: ''
    returnType: void
    signature: void felem_mul_reduce(felem out, const felem in1, const felem in2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:757,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:758,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:759,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:760,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:761,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:762,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:763,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:764,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:765,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:766,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:767,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:769,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:770,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:771,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:772,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:773,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:774,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:776,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:777,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:778,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:779,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:780,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:781,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:782,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:783,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:784,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:785,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:786,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:787,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:788,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:789,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:790,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:791,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:794,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:795,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:797,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:798,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:799,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:802,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:803,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:805,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:806,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:807,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:810,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:811,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:813,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:814,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:815,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:818,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:819,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:821,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:822,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:823,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:826,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:827,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:829,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:830,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:831,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:834,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:835,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:837,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:838,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:841,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:842,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:844,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:845,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:846,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:847,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 848
    functionName: felem_inv
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 5
    functionsReached:
    - felem_mul
    - felem_square
    - felem_reduce
    - felem_assign
    linkageType: ''
    returnType: void
    signature: void felem_inv(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 1
    argNames:
    - in
    argTypes:
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 929
    functionName: felem_is_zero
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 7
    functionsReached:
    - felem_assign
    linkageType: ''
    returnType: limb
    signature: limb felem_is_zero(const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 934
    functionName: felem_is_zero_int
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - felem_is_zero
    linkageType: ''
    returnType: int
    signature: int felem_is_zero_int(const void *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 97
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 1068
    functionName: felem_contract
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 11
    functionsReached:
    - felem_assign
    linkageType: ''
    returnType: void
    signature: void felem_contract(felem out, const felem in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1093,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1094,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1097,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1098,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1101,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1102,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1105,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1106,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1109,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1111,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1113,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1115,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1123,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1126,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1130,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1131,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1133,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1135,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1138,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1140,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1141,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1143,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1147,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1149,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1152,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1154,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1156,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1163,1
    - Dst: felem_scalar128
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1168,1
    - Dst: felem_diff128
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1174,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 6
    argNames:
    - x_out
    - y_out
    - z_out
    - x_in
    - y_in
    - z_in
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1182
    functionName: point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 14
    functionsReached:
    - felem_mul
    - felem_scalar128
    - felem_diff_128_64
    - felem_diff128
    - felem_diff64
    - felem_square
    - felem_reduce
    - felem_assign
    - felem_scalar64
    - felem_sum64
    linkageType: ''
    returnType: void
    signature: "void point_double(felem x_out, felem y_out, felem z_out,\n             const
      felem x_in, const felem y_in, const felem z_in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - mask
    argTypes:
    - felem
    - felem
    - limb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1192
    functionName: copy_conditional
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_conditional(felem out, const felem in, limb mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1215,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1216,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1219,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1220,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1224,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1225,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1228,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1229,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1232,1
    - Dst: felem_sum64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1233,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1237,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1239,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1241,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1243,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1246,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1247,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1250,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1251,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1258,1
    - Dst: felem_scalar
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1261,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1264,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1268,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1272,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1274,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1276,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1279,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1280,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1283,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1284,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1287,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1291,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1293,1
    - Dst: felem_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1294,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1295,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1332,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1337,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1338,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1340,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1342,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1345,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1346,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1349,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1350,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1353,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1355,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1357,1
    - Dst: felem_scalar64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1358,1
    - Dst: felem_diff_128_64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1360,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1362,1
    - Dst: felem_diff64
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1365,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1369,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1371,1
    - Dst: felem_scalar128
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1373,1
    - Dst: felem_diff128
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1375,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1381,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1383,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1384,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1385,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1386,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1387,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1388,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1389,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1390,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 72
    argCount: 10
    argNames:
    - x3
    - y3
    - z3
    - x1
    - y1
    - z1
    - mixed
    - x2
    - y2
    - z2
    argTypes:
    - felem
    - felem
    - felem
    - felem
    - felem
    - felem
    - int
    - felem
    - felem
    - felem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1392
    functionName: point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 11
    functionsReached:
    - felem_mul
    - felem_scalar
    - felem_scalar128
    - felem_diff_128_64
    - felem_diff128
    - felem_diff64
    - felem_square
    - felem_is_zero
    - felem_reduce
    - point_double
    - felem_assign
    - felem_scalar64
    - felem_sum64
    - copy_conditional
    linkageType: ''
    returnType: void
    signature: "void point_add(felem x3, felem y3, felem z3,\n                      const
      felem x1, const felem y1, const felem z1,\n                      const int mixed,
      const felem x2, const felem y2,\n                      const felem z2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - idx
    - size
    - pre_comp
    - out
    argTypes:
    - limb
    - unsigned int
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1564
    functionName: select_point
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void select_point(const limb idx, unsigned int size,\n                         const
      felem pre_comp[][3], felem out[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - in
    - i
    argTypes:
    - felem_bytearray
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1572
    functionName: get_bit
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char get_bit(const felem_bytearray in, int i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1594,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1606,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1610,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1612,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1613,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1614,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1617,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1620,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1623,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1632,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1633,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1634,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1635,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1636,1
    - Dst: get_bit
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1637,1
    - Dst: ossl_ec_GFp_nistp_recode_scalar_bits
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1638,1
    - Dst: select_point
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1643,1
    - Dst: felem_neg
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1644,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1646,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1649,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1653,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1659,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1660,1
    - Dst: felem_assign
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 9
    argNames:
    - x_out
    - y_out
    - z_out
    - scalars
    - num_points
    - g_scalar
    - mixed
    - pre_comp
    - g_pre_comp
    argTypes:
    - felem
    - felem
    - felem
    - felem_bytearray[]
    - unsigned
    - u8*
    - int
    - felem[][][]
    - felem[][]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1662
    functionName: batch_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 3
    functionsReached:
    - select_point
    - memset
    - point_add
    - felem_neg
    - memcpy
    - felem_assign
    - ossl_ec_GFp_nistp_recode_scalar_bits
    - point_double
    - get_bit
    - copy_conditional
    linkageType: ''
    returnType: void
    signature: "void batch_mul(felem x_out, felem y_out, felem z_out,\n                      const
      felem_bytearray scalars[],\n                      const unsigned num_points,
      const u8 *g_scalar,\n                      const int mixed, const felem pre_comp[][17][3],\n
      \                     const felem g_pre_comp[16][3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1670
    functionDepth: 0
    functionLinenumber: 1670
    functionLinenumberEnd: 1732
    functionName: EC_GFp_nistp521_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GFp_nistp521_method(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1741,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1746,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1751
    functionName: nistp521_pre_comp_new
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: NISTP521_PRE_COMP
    signature: NISTP521_PRE_COMP *nistp521_pre_comp_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP521_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1759
    functionName: EC_nistp521_pre_comp_dup
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTP521_PRE_COMP
    signature: NISTP521_PRE_COMP *EC_nistp521_pre_comp_dup(NISTP521_PRE_COMP *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1768,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1769,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1772,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1774,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTP521_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1761
    functionDepth: 1
    functionLinenumber: 1761
    functionLinenumberEnd: 1776
    functionName: EC_nistp521_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EC_nistp521_pre_comp_free(NISTP521_PRE_COMP *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_simple_group_init
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1783
    functionDepth: 4
    functionLinenumber: 1783
    functionLinenumberEnd: 1789
    functionName: ossl_ec_GFp_nistp521_group_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GFp_simple_group_init
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp521_group_init(EC_GROUP *group)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1801,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1806,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1807,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1808,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1809,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1812,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1813,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1814,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1815,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1815,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1815,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1816,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1820,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1822,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1791
    functionDepth: 6
    functionLinenumber: 1791
    functionLinenumberEnd: 1827
    functionName: ossl_ec_GFp_nistp521_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_cmp
    - BN_CTX_new
    - BN_bin2bn
    - BN_CTX_free
    - ossl_ec_GFp_simple_group_set_curve
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp521_group_set_curve(EC_GROUP *group, const BIGNUM
      *p,\n                                         const BIGNUM *a, const BIGNUM
      *b,\n                                         BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1841,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1842,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1845,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1845,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1846,1
    - Dst: felem_inv
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1848,1
    - Dst: felem_square
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1849,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1850,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1851,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1852,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1853,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1855,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1856,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1860,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1861,1
    - Dst: felem_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1862,1
    - Dst: felem_reduce
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1863,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1864,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1866,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1867,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1872
    functionName: ossl_ec_GFp_nistp521_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - felem_mul
    - ERR_raise
    - felem_to_BN
    - felem_contract
    - BN_to_felem
    - felem_square
    - felem_reduce
    - felem_inv
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp521_point_get_affine_coordinates(const EC_GROUP
      *group,\n                                                      const EC_POINT
      *point,\n                                                      BIGNUM *x, BIGNUM
      *y,\n                                                      BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GFp_nistp_points_make_affine_internal
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - points
    - tmp_felems
    argTypes:
    - size_t
    - felem[][]
    - felem[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1875
    functionDepth: 2
    functionLinenumber: 1875
    functionLinenumberEnd: 1902
    functionName: make_points_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 6
    functionsReached:
    - ossl_ec_GFp_nistp_points_make_affine_internal
    linkageType: ''
    returnType: void
    signature: "void make_points_affine(size_t num, felem points[][3],\n                               felem
      tmp_felems[])"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1919,1
    - Dst: felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1927,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1932,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1933,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1934,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1935,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1936,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1948,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1952,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1953,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1954,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1955,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1958,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1962,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1981,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1982,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:1985,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2000,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2009,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2010,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2015,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2016,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2019,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2022,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2026,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2030,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2031,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2032,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2034,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2035,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2036,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2039,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2046,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2055,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2060,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2062,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2062,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2067,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2068,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2071,1
    - Dst: BN_bn2lebinpad
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2073,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2076,1
    - Dst: batch_mul
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2083,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2088,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2089,1
    - Dst: felem_contract
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2090,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2091,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2091,1
    - Dst: felem_to_BN
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2092,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2093,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2096,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2100,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2102,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2104,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 118
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 1908
    functionDepth: 5
    functionLinenumber: 1908
    functionLinenumberEnd: 2106
    functionName: ossl_ec_GFp_nistp521_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - memcpy
    - BN_is_negative
    - BN_nnmod
    - BN_bn2lebinpad
    - OPENSSL_free
    - EC_GROUP_get0_generator
    - felem
    - BN_CTX_end
    - point_add
    - make_points_affine
    - point_double
    - felem_to_BN
    - OPENSSL_malloc_array
    - batch_mul
    - BN_to_felem
    - EC_POINT_new
    - BN_num_bits
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - felem_contract
    - OPENSSL_calloc
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GFp_nistp521_points_mul(const EC_GROUP *group, EC_POINT
      *r,\n                                    const BIGNUM *scalar, size_t num,\n
      \                                   const EC_POINT *points[],\n                                    const
      BIGNUM *scalars[], BN_CTX *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2121,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2125,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2130,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2131,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2132,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2138,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2141,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2142,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2143,1
    - Dst: nistp521_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2145,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2150,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2151,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2154,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2155,1
    - Dst: BN_to_felem
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2156,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2160,1
    - Dst: point_double
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2164,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2173,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2176,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2182,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2188,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2194,1
    - Dst: point_add
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2201,1
    - Dst: make_points_affine
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2208,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2211,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2215,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2216,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2218,1
    - Dst: EC_nistp521_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2220,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2108
    functionDepth: 5
    functionLinenumber: 2108
    functionLinenumberEnd: 2222
    functionName: ossl_ec_GFp_nistp521_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - memcpy
    - BN_CTX_new
    - BN_bin2bn
    - BN_CTX_end
    - EC_POINT_set_affine_coordinates
    - point_add
    - make_points_affine
    - SETPRECOMP
    - BN_CTX_free
    - point_double
    - EC_pre_comp_free
    - BN_to_felem
    - EC_POINT_new
    - EC_nistp521_pre_comp_free
    - nistp521_pre_comp_new
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp521_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HAVEPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistp521.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2224
    functionDepth: 1
    functionLinenumber: 2224
    functionLinenumberEnd: 2227
    functionName: ossl_ec_GFp_nistp521_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistp521.c
    functionUses: 0
    functionsReached:
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GFp_nistp521_have_precompute_mult(const EC_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::meth::verify_sig
      Src: /src/openssl/crypto/ec/ecdsa_vrf.c:30,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_vrf.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - eckey
    argTypes:
    - unsigned char*
    - int
    - ECDSA_SIG*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: ECDSA_do_verify
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_vrf.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - EC_KEY*::meth::verify_sig
    linkageType: ''
    returnType: int
    signature: "int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,\n                    const
      ECDSA_SIG *sig, EC_KEY *eckey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY*::meth::verify
      Src: /src/openssl/crypto/ec/ecdsa_vrf.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdsa_vrf.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - type
    - dgst
    - dgst_len
    - sigbuf
    - sig_len
    - eckey
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: ECDSA_verify
    functionSourceFile: /src/openssl/crypto/ec/ecdsa_vrf.c
    functionUses: 1
    functionsReached:
    - EC_KEY*::meth::verify
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ECDSA_verify(int type, const unsigned char *dgst, int dgst_len,\n
      \                const unsigned char *sigbuf, int sig_len, EC_KEY *eckey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hi
    - ','
    - lo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: TOBN
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOBN(hi,lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hi
    - ','
    - lo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: TOBN
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOBN(hi,lo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: ALIGNPTR
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNPTR(p,N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: _booth_recode_w5
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _booth_recode_w5(unsigned int in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: _booth_recode_w7
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int _booth_recode_w7(unsigned int in)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - dst
    - src
    - move
    argTypes:
    - BN_ULONG[]
    - BN_ULONG[]
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: copy_conditional
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void copy_conditional(BN_ULONG dst[P256_LIMBS],\n                             const
      BN_ULONG src[P256_LIMBS], BN_ULONG move)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: is_zero
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG is_zero(BN_ULONG in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG[]
    - BN_ULONG[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: is_equal
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 2
    functionsReached:
    - is_zero
    linkageType: ''
    returnType: BN_ULONG
    signature: "BN_ULONG is_equal(const BN_ULONG a[P256_LIMBS],\n                         const
      BN_ULONG b[P256_LIMBS])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:216,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:218,1
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - z
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: is_one
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 16
    functionsReached:
    - bn_get_top
    - bn_get_words
    - is_zero
    linkageType: ''
    returnType: BN_ULONG
    signature: BN_ULONG is_one(const BIGNUM *z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:272,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:274,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:276,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:278,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:279,1
    - Dst: ecp_nistz256_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:281,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:282,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:284,1
    - Dst: ecp_nistz256_div_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:285,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:287,1
    - Dst: ecp_nistz256_mul_by_3
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:288,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:290,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:291,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:293,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:295,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:296,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:298,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - P256_POINT*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 300
    functionName: ecp_nistz256_point_double
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_sub
    - ecp_nistz256_mul_by_2
    - ecp_nistz256_mul_by_3
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_add
    - ecp_nistz256_mul_mont
    - ecp_nistz256_div_by_2
    linkageType: ''
    returnType: void
    signature: void ecp_nistz256_point_double(P256_POINT *r, const P256_POINT *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:340,1
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:341,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:343,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:344,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:346,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:347,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:349,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:350,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:351,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:353,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:354,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:355,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:391,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:391,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:397,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:401,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:402,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:403,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:404,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:405,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:407,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:408,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:410,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:411,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:413,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:415,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:416,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:417,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:419,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:420,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:421,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:423,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:424,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:425,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:427,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:428,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - P256_POINT*
    - P256_POINT*
    - P256_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 430
    functionName: ecp_nistz256_point_add
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_sub
    - ecp_nistz256_mul_by_2
    - memcpy
    - is_equal
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_mul_mont
    - ecp_nistz256_point_double
    - is_zero
    - copy_conditional
    linkageType: ''
    returnType: void
    signature: "void ecp_nistz256_point_add(P256_POINT *r,\n                                   const
      P256_POINT *a, const P256_POINT *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:474,1
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:475,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:477,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:479,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:480,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:482,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:484,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:486,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:487,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:489,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:490,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:491,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:493,1
    - Dst: ecp_nistz256_mul_by_2
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:494,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:496,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:497,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:498,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:500,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:501,1
    - Dst: ecp_nistz256_sub
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:502,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:504,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:505,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:507,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:508,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:510,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:511,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:513,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:514,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - P256_POINT*
    - P256_POINT*
    - P256_POINT_AFFINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 516
    functionName: ecp_nistz256_point_add_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_sub
    - ecp_nistz256_mul_by_2
    - memcpy
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_mul_mont
    - is_zero
    - copy_conditional
    linkageType: ''
    returnType: void
    signature: "void ecp_nistz256_point_add_affine(P256_POINT *r,\n                                          const
      P256_POINT *a,\n                                          const P256_POINT_AFFINE
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:535,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:536,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:538,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:539,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:540,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:542,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:543,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:544,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:545,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:546,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:548,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:550,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:551,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:553,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:555,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:556,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:558,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:560,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:561,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:564,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:565,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:568,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:569,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:572,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:573,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:576,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:577,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:579,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:580,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:581,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:582,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:583,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:585,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:586,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:587,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:589,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:590,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:591,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - r
    - in
    argTypes:
    - BN_ULONG[]
    - BN_ULONG[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 594
    functionName: ecp_nistz256_mod_inverse
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_sqr_mont
    - memcpy
    - ecp_nistz256_mul_mont
    linkageType: ''
    returnType: void
    signature: "void ecp_nistz256_mod_inverse(BN_ULONG r[P256_LIMBS],\n                                     const
      BN_ULONG in[P256_LIMBS])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_copy_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BN_ULONG[]
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 604
    functionName: ecp_nistz256_bignum_to_field_elem
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - bn_copy_words
    linkageType: ''
    returnType: __owur
    signature: "__owur ecp_nistz256_bignum_to_field_elem(BN_ULONG out[P256_LIMBS],\n
      \                                                   const BIGNUM *in)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: P256_POINT
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:622,1
    - Dst: OPENSSL_MALLOC_MAX_NELEMS
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:625,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:627,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:628,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:629,1
    - Dst: ALIGNPTR
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:632,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:639,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:639,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:642,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:644,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:645,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:652,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:653,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:670,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:671,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:672,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:673,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:683,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:684,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:685,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:686,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:687,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:688,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:689,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:690,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:691,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:692,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:693,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:694,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:695,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:696,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:697,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:698,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:699,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:700,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:701,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:702,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:703,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:704,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:705,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:706,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:707,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:708,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:709,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:710,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:711,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:712,1
    - Dst: ecp_nistz256_scatter_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:713,1
    - Dst: ecp_nistz256_gather_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:725,1
    - Dst: _booth_recode_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:725,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:726,1
    - Dst: _booth_recode_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:735,1
    - Dst: ecp_nistz256_gather_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:737,1
    - Dst: ecp_nistz256_neg
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:739,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:740,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:742,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:747,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:748,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:749,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:750,1
    - Dst: ecp_nistz256_point_double
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:751,1
    - Dst: _booth_recode_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:759,1
    - Dst: ecp_nistz256_gather_w5
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:761,1
    - Dst: ecp_nistz256_neg
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:763,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:764,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:766,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:771,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:772,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:773,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 110
    argCount: 6
    argNames:
    - group
    - r
    - scalar
    - point
    - num
    - ctx
    argTypes:
    - EC_GROUP*
    - P256_POINT*
    - BIGNUM**
    - EC_POINT**
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 775
    functionName: ecp_nistz256_windowed_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ecp_nistz256_gather_w5
    - memcpy
    - BN_is_negative
    - BN_nnmod
    - ALIGNPTR
    - OPENSSL_free
    - _booth_recode_w5
    - P256_POINT
    - OPENSSL_malloc
    - copy_conditional
    - OPENSSL_malloc_array
    - ecp_nistz256_point_add
    - ecp_nistz256_bignum_to_field_elem
    - BN_num_bits
    - BN_CTX_get
    - bn_get_top
    - bn_get_words
    - OPENSSL_MALLOC_MAX_NELEMS
    - ecp_nistz256_point_double
    - ecp_nistz256_scatter_w5
    - ecp_nistz256_neg
    linkageType: ''
    returnType: __owur
    signature: "__owur ecp_nistz256_windowed_mul(const EC_GROUP *group,\n                                            P256_POINT
      *r,\n                                            const BIGNUM **scalar,\n                                            const
      EC_POINT **point,\n                                            size_t num, BN_CTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:794,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:795,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:796,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:796,1
    - Dst: is_equal
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:797,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:797,1
    - Dst: is_one
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:798,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - generator
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 799
    functionName: ecp_nistz256_is_affine_G
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - is_one
    - bn_get_top
    - bn_get_words
    - is_equal
    linkageType: ''
    returnType: int
    signature: int ecp_nistz256_is_affine_G(const EC_POINT *generator)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EC_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:821,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:822,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:824,1
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:828,1
    - Dst: ecp_nistz256_pre_comp_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:836,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:840,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:845,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:847,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:851,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:852,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:859,1
    - Dst: ALIGNPTR
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:862,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:864,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:865,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:873,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:877,1
    - Dst: EC_GROUP*::meth::make_affine
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:886,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:888,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:889,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:890,1
    - Dst: ecp_nistz256_scatter_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:893,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:895,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:899,1
    - Dst: SETPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:908,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:913,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:914,1
    - Dst: EC_nistz256_pre_comp_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:916,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:917,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:918,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:919,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 921
    functionName: ecp_nistz256_mult_precompute
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ecp_nistz256_pre_comp_new
    - EC_nistz256_pre_comp_free
    - ERR_raise
    - BN_is_zero
    - ecp_nistz256_scatter_w7
    - EC_POINT_add
    - ALIGNPTR
    - OPENSSL_free
    - EC_GROUP_get0_generator
    - BN_CTX_new_ex
    - ecp_nistz256_is_affine_G
    - BN_CTX_end
    - SETPRECOMP
    - BN_CTX_free
    - EC_GROUP*::meth::make_affine
    - OPENSSL_malloc
    - EC_GROUP_get0_order
    - EC_pre_comp_free
    - ecp_nistz256_bignum_to_field_elem
    - EC_POINT_new
    - BN_CTX_start
    - EC_POINT_copy
    - EC_POINT_dbl
    linkageType: ''
    returnType: __owur
    signature: __owur ecp_nistz256_mult_precompute(EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:929,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:930,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - out
    - group
    - in
    - ctx
    argTypes:
    - EC_POINT*
    - EC_GROUP*
    - P256_POINT_AFFINE*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 923
    functionDepth: 5
    functionLinenumber: 923
    functionLinenumberEnd: 935
    functionName: ecp_nistz256_set_from_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - bn_set_words
    linkageType: ''
    returnType: __owur
    signature: "__owur ecp_nistz256_set_from_affine(EC_POINT *out, const EC_GROUP
      *group,\n                                               const P256_POINT_AFFINE
      *in,\n                                               BN_CTX *ctx)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_MALLOC_MAX_NELEMS
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:962,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:963,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:967,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:968,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:971,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:973,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:985,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:989,1
    - Dst: ecp_nistz256_set_from_affine
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:990,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:992,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:996,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:999,1
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1002,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1015,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1016,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1017,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1020,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1021,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1027,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1028,1
    - Dst: _booth_recode_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1050,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1052,1
    - Dst: ecp_nistz256_neg
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1055,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1056,1
    - Dst: is_zero
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1069,1
    - Dst: _booth_recode_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1089,1
    - Dst: ecp_nistz256_gather_w7
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1091,1
    - Dst: ecp_nistz256_neg
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1094,1
    - Dst: copy_conditional
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1095,1
    - Dst: ecp_nistz256_point_add_affine
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1097,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1111,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1115,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1119,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1121,1
    - Dst: ecp_nistz256_windowed_mul
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1134,1
    - Dst: ecp_nistz256_point_add
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1138,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1142,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1143,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1144,1
    - Dst: is_one
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1147,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1153,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1154,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 136
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 938
    functionDepth: 6
    functionLinenumber: 938
    functionLinenumberEnd: 1156
    functionName: ecp_nistz256_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - ecp_nistz256_windowed_mul
    - memcpy
    - BN_is_negative
    - BN_nnmod
    - OPENSSL_free
    - EC_GROUP_get0_generator
    - ecp_nistz256_is_affine_G
    - BN_CTX_end
    - ecp_nistz256_set_from_affine
    - bn_set_words
    - copy_conditional
    - OPENSSL_malloc_array
    - _booth_recode_w7
    - ecp_nistz256_point_add_affine
    - ecp_nistz256_point_add
    - EC_POINT_new
    - BN_num_bits
    - is_zero
    - BN_CTX_get
    - bn_get_top
    - is_one
    - memset
    - BN_CTX_start
    - bn_get_words
    - OPENSSL_MALLOC_MAX_NELEMS
    - ecp_nistz256_gather_w7
    - EC_POINT_cmp
    - ecp_nistz256_neg
    linkageType: ''
    returnType: __owur
    signature: "__owur ecp_nistz256_points_mul(const EC_GROUP *group,\n                                          EC_POINT
      *r,\n                                          const BIGNUM *scalar,\n                                          size_t
      num,\n                                          const EC_POINT *points[],\n
      \                                         const BIGNUM *scalars[], BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: union
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALIGN32
    signature: ALIGN32 union
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1170,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1174,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1175,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1177,1
    - Dst: ecp_nistz256_mod_inverse
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1181,1
    - Dst: ecp_nistz256_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1182,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1183,1
    - Dst: ecp_nistz256_from_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1186,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1187,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1192,1
    - Dst: ecp_nistz256_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1193,1
    - Dst: ecp_nistz256_from_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1194,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1158
    functionDepth: 5
    functionLinenumber: 1158
    functionLinenumberEnd: 1200
    functionName: ecp_nistz256_get_affine
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ecp_nistz256_sqr_mont
    - ecp_nistz256_mul_mont
    - ecp_nistz256_from_mont
    - ecp_nistz256_bignum_to_field_elem
    - ecp_nistz256_mod_inverse
    - bn_set_words
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: __owur
    signature: "__owur ecp_nistz256_get_affine(const EC_GROUP *group,\n                                          const
      EC_POINT *point,\n                                          BIGNUM *x, BIGNUM
      *y, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1209,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1222
    functionName: ecp_nistz256_pre_comp_new
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: NISTZ256_PRE_COMP
    signature: NISTZ256_PRE_COMP *ecp_nistz256_pre_comp_new(const EC_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - NISTZ256_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1230
    functionName: EC_nistz256_pre_comp_dup
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: NISTZ256_PRE_COMP
    signature: NISTZ256_PRE_COMP *EC_nistz256_pre_comp_dup(NISTZ256_PRE_COMP *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1239,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1240,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1243,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1245,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1246,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pre
    argTypes:
    - NISTZ256_PRE_COMP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1248
    functionName: EC_nistz256_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 1
    functionsReached:
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void EC_nistz256_pre_comp_free(NISTZ256_PRE_COMP *pre)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1254,1
    - Dst: ecp_nistz256_is_affine_G
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1256,1
    - Dst: HAVEPRECOMP
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1262
    functionName: ecp_nistz256_window_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - ecp_nistz256_is_affine_G
    - EC_GROUP_get0_generator
    - HAVEPRECOMP
    linkageType: ''
    returnType: int
    signature: int ecp_nistz256_window_have_precompute_mult(const EC_GROUP *group)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1283,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1283,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1284,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1284,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1288,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1288,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1288,1
    - Dst: TOBN
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1288,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1306,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1310,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1310,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1313,1
    - Dst: BN_nnmod
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1314,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1315,1
    - Dst: ecp_nistz256_bignum_to_field_elem
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1322,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1326,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1332,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1333,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1340,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1341,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1343,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1344,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1346,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1347,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1349,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1350,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1352,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1353,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1366,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1368,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1380,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1382,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1384,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1386,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1388,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1390,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1392,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1393,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1395,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1397,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1399,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1401,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1402,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1404,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1405,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1407,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1408,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1411,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1412,1
    - Dst: ecp_nistz256_ord_sqr_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1427,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1428,1
    - Dst: ecp_nistz256_ord_mul_mont
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1431,1
    - Dst: bn_set_words
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 4
    argNames:
    - group
    - r
    - x
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1278
    functionDepth: 5
    functionLinenumber: 1278
    functionLinenumberEnd: 1442
    functionName: ecp_nistz256_inv_mod_ord
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - ecp_nistz256_ord_sqr_mont
    - BN_is_negative
    - BN_nnmod
    - bn_wexpand
    - ecp_nistz256_ord_mul_mont
    - ecp_nistz256_bignum_to_field_elem
    - BN_num_bits
    - bn_set_words
    - TOBN
    linkageType: ''
    returnType: int
    signature: "int ecp_nistz256_inv_mod_ord(const EC_GROUP *group, BIGNUM *r,\n                                    const
      BIGNUM *x, BN_CTX *ctx)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1460,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1461,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1465,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1466,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1471,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1472,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1473,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1474,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1482,1
    - Dst: ossl_bn_mont_ctx_set
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1486,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1490,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1492,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1495,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1495,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1496,1
    - Dst: ossl_ec_GFp_simple_group_set_curve
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1504,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1505,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1509,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1510,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1514,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1515,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1516,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1519,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1520,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1523,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1524,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1525,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1532,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1534,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1537,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1539,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1541,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1544,1
    - Dst: ossl_bn_mont_ctx_set
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1547,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1557,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1558,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1559,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1560,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1561,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1562,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1563,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1564,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1565,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1566,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ecp_nistz256.c:1567,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 102
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1447
    functionDepth: 6
    functionLinenumber: 1447
    functionLinenumberEnd: 1570
    functionName: ecp_nistz256group_full_init
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - BN_bin2bn
    - BN_copy
    - BN_CTX_new_ex
    - BN_to_montgomery
    - EC_POINT_set_affine_coordinates
    - BN_set_word
    - BN_CTX_free
    - BN_new
    - BN_MONT_CTX_free
    - BN_free
    - ossl_bn_mont_ctx_set
    - EC_POINT_new
    - BN_MONT_CTX_new
    - BN_value_one
    - EC_GROUP_set_seed
    - EC_POINT_copy
    - ossl_ec_GFp_simple_group_set_curve
    linkageType: ''
    returnType: int
    signature: "int ecp_nistz256group_full_init(EC_GROUP *group,\n                                       const
      unsigned char *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1633
    functionName: EC_GFp_nistz256_method
    functionSourceFile: /src/openssl/crypto/ec/ecp_nistz256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GFp_nistz256_method(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:36,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:40,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_lib.c:44,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ec/ec_lib.c:50,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_lib.c:56,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec_lib.c:59,1
    - Dst: EC_METHOD*::group_init
      Src: /src/openssl/crypto/ec/ec_lib.c:65,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_lib.c:70,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_lib.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:72,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - libctx
    - propq
    - meth
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - EC_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 75
    functionName: ossl_ec_group_new_ex
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 5
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_strdup
    - BN_new
    - EC_METHOD*::group_init
    - BN_free
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *ossl_ec_group_new_ex(OSSL_LIB_CTX *libctx, const char *propq,\n
      \                              const EC_METHOD *meth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: EC_GROUP_new
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ec_group_new_ex
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *EC_GROUP_new(const EC_METHOD *meth)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EC_nistz256_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:93,1
    - Dst: EC_nistp224_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:98,1
    - Dst: EC_nistp256_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:101,1
    - Dst: ossl_ec_nistp384_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:104,1
    - Dst: EC_nistp521_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:107,1
    - Dst: EC_ec_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 121
    functionName: EC_pre_comp_free
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 6
    functionsReached:
    - EC_nistz256_pre_comp_free
    - EC_nistp256_pre_comp_free
    - ossl_ec_nistp384_pre_comp_free
    - EC_nistp224_pre_comp_free
    - EC_ec_pre_comp_free
    - EC_nistp521_pre_comp_free
    linkageType: ''
    returnType: void
    signature: void EC_pre_comp_free(EC_GROUP *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::group_finish
      Src: /src/openssl/crypto/ec/ec_lib.c:129,1
    - Dst: EC_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:131,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:132,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_lib.c:133,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_lib.c:134,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec_lib.c:135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:137,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: EC_GROUP_free
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 13
    functionsReached:
    - EC_POINT_free
    - EC_pre_comp_free
    - OPENSSL_free
    - EC_GROUP*::meth::group_finish
    - BN_MONT_CTX_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void EC_GROUP_free(EC_GROUP *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::group_clear_finish
      Src: /src/openssl/crypto/ec/ec_lib.c:148,1
    - Dst: EC_GROUP*::meth::group_finish
      Src: /src/openssl/crypto/ec/ec_lib.c:150,1
    - Dst: EC_pre_comp_free
      Src: /src/openssl/crypto/ec/ec_lib.c:152,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:153,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:154,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:155,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:156,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:157,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: EC_GROUP_clear_free
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_POINT_clear_free
    - BN_clear_free
    - OPENSSL_clear_free
    - EC_pre_comp_free
    - EC_GROUP*::meth::group_clear_finish
    - EC_GROUP*::meth::group_finish
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: void
    signature: void EC_GROUP_clear_free(EC_GROUP *group)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:169,1
    - Dst: EC_nistz256_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:186,1
    - Dst: EC_nistp224_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:191,1
    - Dst: EC_nistp256_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:194,1
    - Dst: ossl_ec_nistp384_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:197,1
    - Dst: EC_nistp521_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:200,1
    - Dst: EC_ec_pre_comp_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:210,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ec_lib.c:216,1
    - Dst: BN_MONT_CTX_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:220,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:224,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_lib.c:230,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:234,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:238,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:243,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:245,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:254,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_lib.c:255,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ec_lib.c:257,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:261,1
    - Dst: EC_GROUP*::meth::group_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:266,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 267
    functionName: EC_GROUP_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - EC_GROUP*::meth::group_copy
    - BN_MONT_CTX_copy
    - EC_POINT_clear_free
    - ERR_raise
    - EC_POINT_new
    - EC_nistp224_pre_comp_dup
    - EC_nistp256_pre_comp_dup
    - EC_nistp521_pre_comp_dup
    - memcpy
    - ossl_ec_nistp384_pre_comp_dup
    - EC_POINT_copy
    - EC_ec_pre_comp_dup
    - EC_nistz256_pre_comp_dup
    - OPENSSL_free
    - BN_copy
    - BN_MONT_CTX_free
    - BN_MONT_CTX_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_copy(EC_GROUP *dest, const EC_GROUP *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_group_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:277,1
    - Dst: EC_GROUP_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:279,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: EC_GROUP_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - EC_GROUP_free
    - ossl_ec_group_new_ex
    - EC_GROUP_copy
    linkageType: ''
    returnType: EC_GROUP
    signature: EC_GROUP *EC_GROUP_dup(const EC_GROUP *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: EC_GROUP_method_of
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - EC_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: EC_METHOD_get_field_type
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EC_METHOD_get_field_type(const EC_METHOD *meth)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:328,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:328,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:330,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:335,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:338,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:339,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:344,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/ec/ec_lib.c:345,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:345,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:348,1
    - Dst: BN_rshift1
      Src: /src/openssl/crypto/ec/ec_lib.c:353,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ec_lib.c:354,1
    - Dst: BN_add
      Src: /src/openssl/crypto/ec/ec_lib.c:356,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec_lib.c:356,1
    - Dst: BN_div
      Src: /src/openssl/crypto/ec/ec_lib.c:358,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:362,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:363,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 365
    functionName: ec_guess_cofactor
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_div
    - BN_zero
    - BN_rshift1
    - BN_value_one
    - BN_add
    - BN_CTX_free
    - BN_set_bit
    - BN_copy
    - BN_num_bits
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ec_guess_cofactor(EC_GROUP *group)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:371,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:376,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:377,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:378,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:387,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:387,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:388,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:389,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:398,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:399,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_lib.c:404,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:408,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:411,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:415,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:416,1
    - Dst: ec_guess_cofactor
      Src: /src/openssl/crypto/ec/ec_lib.c:418,1
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:419,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/ec/ec_lib.c:428,1
    - Dst: ec_precompute_mont_data
      Src: /src/openssl/crypto/ec/ec_lib.c:429,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:432,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 4
    argNames:
    - group
    - generator
    - order
    - cofactor
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 435
    functionName: EC_GROUP_set_generator
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - ec_guess_cofactor
    - ERR_raise
    - BN_is_negative
    - BN_zero
    - BN_is_zero
    - EC_POINT_copy
    - BN_is_odd
    - BN_MONT_CTX_free
    - ec_precompute_mont_data
    - BN_copy
    - EC_POINT_new
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator,\n
      \                          const BIGNUM *order, const BIGNUM *cofactor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: EC_GROUP_get0_generator
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: EC_GROUP_get_mont_data
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BN_MONT_CTX
    signature: BN_MONT_CTX *EC_GROUP_get_mont_data(const EC_GROUP *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:451,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - group
    - order
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: EC_GROUP_get_order
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - BN_copy
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: EC_GROUP_get0_order
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *EC_GROUP_get0_order(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::group_order_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: EC_GROUP_order_bits
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_GROUP*::meth::group_order_bits
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_order_bits(const EC_GROUP *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:473,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - group
    - cofactor
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 477
    functionName: EC_GROUP_get_cofactor
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_copy
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor,\n
      \                         BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: EC_GROUP_get0_cofactor
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *EC_GROUP_get0_cofactor(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - group
    - nid
    argTypes:
    - EC_GROUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: EC_GROUP_set_curve_name
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_GROUP_set_curve_name(EC_GROUP *group, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: EC_GROUP_get_curve_name
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_get_curve_name(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: EC_GROUP_get0_field
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *EC_GROUP_get0_field(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: EC_GROUP_get_field_type
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_get_field_type(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - flag
    argTypes:
    - EC_GROUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: EC_GROUP_set_asn1_flag
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: EC_GROUP_get_asn1_flag
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_get_asn1_flag(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - form
    argTypes:
    - EC_GROUP*
    - point_conversion_form_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: EC_GROUP_set_point_conversion_form
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EC_GROUP_set_point_conversion_form(EC_GROUP *group,\n                                        point_conversion_form_t
      form)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: EC_GROUP_get_point_conversion_form
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: point_conversion_form_t
    signature: "point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP\n
      \                                                          *group)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:532,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_lib.c:539,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/ec_lib.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - group
    - p
    - len
    argTypes:
    - EC_GROUP*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: EC_GROUP_set_seed
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: size_t EC_GROUP_set_seed(EC_GROUP *group, const unsigned char *p, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: EC_GROUP_get0_seed
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *EC_GROUP_get0_seed(const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: EC_GROUP_get_seed_len
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t EC_GROUP_get_seed_len(const EC_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:561,1
    - Dst: EC_GROUP*::meth::group_set_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: EC_GROUP_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - EC_GROUP*::meth::group_set_curve
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM
      *a,\n                       const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:571,1
    - Dst: EC_GROUP*::meth::group_get_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 575
    functionName: EC_GROUP_get_curve
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - EC_GROUP*::meth::group_get_curve
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a,
      BIGNUM *b,\n                       BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 582
    functionName: EC_GROUP_set_curve_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_curve
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const
      BIGNUM *a,\n                           const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: EC_GROUP_get_curve_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM
      *a,\n                           BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: EC_GROUP_set_curve_GF2m
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_set_curve
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const
      BIGNUM *a,\n                            const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: EC_GROUP_get_curve_GF2m
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM
      *a,\n                            BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:608,1
    - Dst: EC_GROUP*::meth::group_get_degree
      Src: /src/openssl/crypto/ec/ec_lib.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: EC_GROUP_get_degree
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - EC_GROUP*::meth::group_get_degree
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_get_degree(const EC_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:617,1
    - Dst: EC_GROUP*::meth::group_check_discriminant
      Src: /src/openssl/crypto/ec/ec_lib.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: EC_GROUP_check_discriminant
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_GROUP*::meth::group_check_discriminant
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_lib.c:632,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_lib.c:632,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_lib.c:635,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_lib.c:635,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_lib.c:636,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_lib.c:636,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec_lib.c:643,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:648,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:649,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:650,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:651,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:652,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:653,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:654,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:656,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:658,1
    - Dst: EC_GROUP*::meth::group_get_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:667,1
    - Dst: EC_GROUP*::meth::group_get_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:668,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:672,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:672,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:672,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:677,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:677,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:678,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_lib.c:684,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_lib.c:685,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:691,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_lib.c:700,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/crypto/ec/ec_lib.c:701,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:703,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:703,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:703,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:708,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:710,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 3
    argNames:
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 713
    functionName: EC_GROUP_cmp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP*::meth::group_get_curve
    - BN_cmp
    - BN_CTX_new
    - BN_is_zero
    - BN_CTX_free
    - EC_POINT_cmp
    - EC_GROUP_get0_order
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get_field_type
    - EC_GROUP_get0_generator
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:722,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:726,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ec/ec_lib.c:730,1
    - Dst: EC_POINT*::meth::point_init
      Src: /src/openssl/crypto/ec/ec_lib.c:737,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 743
    functionName: EC_POINT_new
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 37
    functionsReached:
    - OPENSSL_free
    - EC_POINT*::meth::point_init
    - OPENSSL_zalloc
    - ERR_raise
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT *EC_POINT_new(const EC_GROUP *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:751,1
    - Dst: EC_POINT*::meth::point_finish
      Src: /src/openssl/crypto/ec/ec_lib.c:754,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 757
    functionName: EC_POINT_free
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 33
    functionsReached:
    - EC_POINT*::meth::point_finish
    - OPENSSL_free
    - EC_POINT_clear_free
    linkageType: ''
    returnType: void
    signature: void EC_POINT_free(EC_POINT *point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT*::meth::point_clear_finish
      Src: /src/openssl/crypto/ec/ec_lib.c:765,1
    - Dst: EC_POINT*::meth::point_finish
      Src: /src/openssl/crypto/ec/ec_lib.c:767,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_lib.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 769
    functionName: EC_POINT_clear_free
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 8
    functionsReached:
    - EC_POINT*::meth::point_finish
    - OPENSSL_clear_free
    - EC_POINT*::meth::point_clear_finish
    linkageType: ''
    returnType: void
    signature: void EC_POINT_clear_free(EC_POINT *point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:774,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:781,1
    - Dst: EC_POINT*::meth::point_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 787
    functionName: EC_POINT_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 12
    functionsReached:
    - EC_POINT*::meth::point_copy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EC_POINT_copy(EC_POINT *dest, const EC_POINT *src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_lib.c:797,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec_lib.c:800,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_lib.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - a
    - group
    argTypes:
    - EC_POINT*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 806
    functionName: EC_POINT_dup
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_POINT_free
    - EC_POINT_new
    - EC_POINT_copy
    linkageType: ''
    returnType: EC_POINT
    signature: EC_POINT *EC_POINT_dup(const EC_POINT *a, const EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: EC_POINT_method_of
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_POINT_method_of(const EC_POINT *point)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:818,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:822,1
    - Dst: EC_GROUP*::meth::point_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 826
    functionName: EC_POINT_set_to_infinity
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 8
    functionsReached:
    - ERR_raise
    - EC_GROUP*::meth::point_set_to_infinity
    linkageType: ''
    returnType: int
    signature: int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:835,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:838,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:839,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ec_lib.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - group
    - point
    - x
    - y
    - z
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 829
    functionDepth: 3
    functionLinenumber: 829
    functionLinenumberEnd: 844
    functionName: EC_POINT_set_Jprojective_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group,\n
      \                                            EC_POINT *point, const BIGNUM *x,\n
      \                                            const BIGNUM *y, const BIGNUM *z,\n
      \                                            BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:852,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:855,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:856,1
    - Dst: ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp
      Src: /src/openssl/crypto/ec/ec_lib.c:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - group
    - point
    - x
    - y
    - z
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 861
    functionName: EC_POINT_get_Jprojective_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - ossl_ec_GFp_simple_get_Jprojective_coordinates_GFp
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group,\n
      \                                            const EC_POINT *point, BIGNUM *x,\n
      \                                            BIGNUM *y, BIGNUM *z,\n                                             BN_CTX
      *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:869,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:872,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:873,1
    - Dst: EC_GROUP*::meth::point_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:876,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:879,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 884
    functionName: EC_POINT_set_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 13
    functionsReached:
    - ec_point_is_compat
    - EC_GROUP*::meth::point_set_affine_coordinates
    - ERR_raise
    - EC_POINT_is_on_curve
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT
      *point,\n                                    const BIGNUM *x, const BIGNUM *y,\n
      \                                   BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 892
    functionName: EC_POINT_set_affine_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group,\n                                        EC_POINT
      *point, const BIGNUM *x,\n                                        const BIGNUM
      *y, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 900
    functionName: EC_POINT_set_affine_coordinates_GF2m
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_affine_coordinates
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group,\n
      \                                        EC_POINT *point, const BIGNUM *x,\n
      \                                        const BIGNUM *y, BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:909,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:912,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:913,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:916,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:917,1
    - Dst: EC_GROUP*::meth::point_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 921
    functionName: EC_POINT_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 14
    functionsReached:
    - ec_point_is_compat
    - EC_GROUP*::meth::point_get_affine_coordinates
    - ERR_raise
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_get_affine_coordinates(const EC_GROUP *group,\n                                    const
      EC_POINT *point, BIGNUM *x, BIGNUM *y,\n                                    BN_CTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 929
    functionName: EC_POINT_get_affine_coordinates_GFp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_POINT_get_affine_coordinates
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group,\n                                        const
      EC_POINT *point, BIGNUM *x,\n                                        BIGNUM
      *y, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: EC_POINT_get_affine_coordinates_GF2m
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_POINT_get_affine_coordinates
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group,\n
      \                                        const EC_POINT *point, BIGNUM *x,\n
      \                                        BIGNUM *y, BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:945,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:948,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:948,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:949,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:950,1
    - Dst: EC_GROUP*::meth::add
      Src: /src/openssl/crypto/ec/ec_lib.c:953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 954
    functionName: EC_POINT_add
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 4
    functionsReached:
    - ec_point_is_compat
    - EC_GROUP*::meth::add
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT
      *a,\n                 const EC_POINT *b, BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:960,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:963,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:963,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:964,1
    - Dst: EC_GROUP*::meth::dbl
      Src: /src/openssl/crypto/ec/ec_lib.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 968
    functionName: EC_POINT_dbl
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 6
    functionsReached:
    - ec_point_is_compat
    - EC_GROUP*::meth::dbl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT
      *a,\n                 BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:973,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:976,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:977,1
    - Dst: EC_GROUP*::meth::invert
      Src: /src/openssl/crypto/ec/ec_lib.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - group
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 981
    functionName: EC_POINT_invert
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - ec_point_is_compat
    - EC_GROUP*::meth::invert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:986,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:989,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:990,1
    - Dst: EC_GROUP*::meth::is_at_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 994
    functionName: EC_POINT_is_at_infinity
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 22
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_GROUP*::meth::is_at_infinity
    linkageType: ''
    returnType: int
    signature: int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *point)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1007,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1010,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1011,1
    - Dst: EC_GROUP*::meth::is_on_curve
      Src: /src/openssl/crypto/ec/ec_lib.c:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1015
    functionName: EC_POINT_is_on_curve
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 3
    functionsReached:
    - EC_GROUP*::meth::is_on_curve
    - ec_point_is_compat
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point,\n
      \                        BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1021,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1024,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1024,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1025,1
    - Dst: EC_GROUP*::meth::point_cmp
      Src: /src/openssl/crypto/ec/ec_lib.c:1028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - group
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1029
    functionName: EC_POINT_cmp
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 13
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_GROUP*::meth::point_cmp
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT
      *b,\n                 BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1035,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1038,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1039,1
    - Dst: EC_GROUP*::meth::make_affine
      Src: /src/openssl/crypto/ec/ec_lib.c:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1043
    functionName: EC_POINT_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - ec_point_is_compat
    - EC_GROUP*::meth::make_affine
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1051,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1055,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1056,1
    - Dst: EC_GROUP*::meth::points_make_affine
      Src: /src/openssl/crypto/ec/ec_lib.c:1060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - group
    - num
    - points
    - ctx
    argTypes:
    - EC_GROUP*
    - size_t
    - EC_POINT*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1061
    functionName: EC_POINTs_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - ec_point_is_compat
    - ERR_raise
    - EC_GROUP*::meth::points_make_affine
    linkageType: ''
    returnType: int
    signature: "int EC_POINTs_make_affine(const EC_GROUP *group, size_t num,\n                          EC_POINT
      *points[], BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1081,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1082,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:1087,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1090,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1091,1
    - Dst: BN_CTX_secure_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1098,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1101,1
    - Dst: EC_GROUP*::meth::mul
      Src: /src/openssl/crypto/ec/ec_lib.c:1106,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/openssl/crypto/ec/ec_lib.c:1109,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1071
    functionDepth: 6
    functionLinenumber: 1071
    functionLinenumberEnd: 1115
    functionName: EC_POINTs_mul
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_to_infinity
    - ERR_raise
    - ec_point_is_compat
    - ossl_ec_wNAF_mul
    - BN_CTX_free
    - BN_CTX_secure_new
    - EC_GROUP*::meth::mul
    linkageType: ''
    returnType: int
    signature: "int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM
      *scalar,\n                  size_t num, const EC_POINT *points[],\n                  const
      BIGNUM *scalars[], BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1127,1
    - Dst: ec_point_is_compat
      Src: /src/openssl/crypto/ec/ec_lib.c:1128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1129,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec_lib.c:1134,1
    - Dst: BN_CTX_secure_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1138,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1141,1
    - Dst: EC_GROUP*::meth::mul
      Src: /src/openssl/crypto/ec/ec_lib.c:1147,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/openssl/crypto/ec/ec_lib.c:1150,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - group
    - r
    - g_scalar
    - point
    - p_scalar
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - EC_POINT*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1118
    functionDepth: 6
    functionLinenumber: 1118
    functionLinenumberEnd: 1156
    functionName: EC_POINT_mul
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 12
    functionsReached:
    - EC_POINT_set_to_infinity
    - ERR_raise
    - ec_point_is_compat
    - ossl_ec_wNAF_mul
    - BN_CTX_free
    - BN_CTX_secure_new
    - EC_GROUP*::meth::mul
    linkageType: ''
    returnType: int
    signature: "int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM
      *g_scalar,\n                 const EC_POINT *point, const BIGNUM *p_scalar,
      BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_wNAF_precompute_mult
      Src: /src/openssl/crypto/ec/ec_lib.c:1163,1
    - Dst: EC_GROUP*::meth::precompute_mult
      Src: /src/openssl/crypto/ec/ec_lib.c:1166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1159
    functionDepth: 4
    functionLinenumber: 1159
    functionLinenumberEnd: 1169
    functionName: EC_GROUP_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_GROUP*::meth::precompute_mult
    - ossl_ec_wNAF_precompute_mult
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_wNAF_have_precompute_mult
      Src: /src/openssl/crypto/ec/ec_lib.c:1175,1
    - Dst: EC_GROUP*::meth::have_precompute_mult
      Src: /src/openssl/crypto/ec/ec_lib.c:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1171
    functionDepth: 2
    functionLinenumber: 1171
    functionLinenumberEnd: 1182
    functionName: EC_GROUP_have_precompute_mult
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ec_wNAF_have_precompute_mult
    - EC_GROUP*::meth::have_precompute_mult
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_have_precompute_mult(const EC_GROUP *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1191,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1194,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1200,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/crypto/ec/ec_lib.c:1204,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1205,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1189
    functionDepth: 7
    functionLinenumber: 1189
    functionLinenumberEnd: 1216
    functionName: ec_precompute_mont_data
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - BN_MONT_CTX_set
    - BN_CTX_free
    - BN_MONT_CTX_free
    - BN_MONT_CTX_new
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ec_precompute_mont_data(EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/ec/ec_lib.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - idx
    - arg
    argTypes:
    - EC_KEY*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1222
    functionName: EC_KEY_set_ex_data
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int EC_KEY_set_ex_data(EC_KEY *key, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/ec/ec_lib.c:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - idx
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1227
    functionName: EC_KEY_get_ex_data
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *EC_KEY_get_ex_data(const EC_KEY *key, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:1234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1230
    functionDepth: 3
    functionLinenumber: 1230
    functionLinenumberEnd: 1235
    functionName: ossl_ec_group_simple_order_bits
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int ossl_ec_group_simple_order_bits(const EC_GROUP *group)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_secure_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1251,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:1256,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1257,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/ec/ec_lib.c:1264,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/ec/ec_lib.c:1266,1
    - Dst: bn_mod_exp_mont_fixed_top
      Src: /src/openssl/crypto/ec/ec_lib.c:1272,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:1278,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - group
    - r
    - x
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1237
    functionDepth: 6
    functionLinenumber: 1237
    functionLinenumberEnd: 1283
    functionName: ec_field_inverse_mod_ord
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_set_word
    - bn_mod_exp_mont_fixed_top
    - BN_CTX_free
    - BN_CTX_secure_new
    - BN_sub
    linkageType: ''
    returnType: int
    signature: "int ec_field_inverse_mod_ord(const EC_GROUP *group, BIGNUM *r,\n                                    const
      BIGNUM *x, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::field_inverse_mod_ord
      Src: /src/openssl/crypto/ec/ec_lib.c:1302,1
    - Dst: ec_field_inverse_mod_ord
      Src: /src/openssl/crypto/ec/ec_lib.c:1304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - group
    - res
    - x
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1298
    functionDepth: 7
    functionLinenumber: 1298
    functionLinenumberEnd: 1305
    functionName: ossl_ec_group_do_inverse_ord
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 4
    functionsReached:
    - EC_GROUP*::meth::field_inverse_mod_ord
    - ec_field_inverse_mod_ord
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_group_do_inverse_ord(const EC_GROUP *group, BIGNUM *res,\n
      \                                const BIGNUM *x, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::blind_coordinates
      Src: /src/openssl/crypto/ec/ec_lib.c:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - group
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1324
    functionName: ossl_ec_point_blind_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_GROUP*::meth::blind_coordinates
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_point_blind_coordinates(const EC_GROUP *group, EC_POINT
      *p,\n                                    BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_lib.c:1330,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ec/ec_lib.c:1336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1347
    functionName: EC_GROUP_get_basis_type
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 2
    functionsReached:
    - OSSL_NELEM
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_get_basis_type(const EC_GROUP *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_lib.c:1355,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - group
    - k
    argTypes:
    - EC_GROUP*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1366
    functionName: EC_GROUP_get_trinomial_basis
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: int EC_GROUP_get_trinomial_basis(const EC_GROUP *group, unsigned int
      *k)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/crypto/ec/ec_lib.c:1374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - group
    - k1
    - k2
    - k3
    argTypes:
    - EC_GROUP*
    - unsigned int*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1390
    functionName: EC_GROUP_get_pentanomial_basis
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: "int EC_GROUP_get_pentanomial_basis(const EC_GROUP *group, unsigned
      int *k1,\n                                   unsigned int *k2, unsigned int
      *k3)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:1413,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/crypto/ec/ec_lib.c:1414,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1415,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/crypto/ec/ec_lib.c:1417,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1418,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:1419,1
    - Dst: ossl_ec_curve_nid_from_params
      Src: /src/openssl/crypto/ec/ec_lib.c:1421,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1441,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_lib.c:1449,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1461,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1467,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1470,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1471,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - group
    - libctx
    - propq
    - ctx
    argTypes:
    - EC_GROUP*
    - OSSL_LIB_CTX*
    - char*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1405
    functionDepth: 7
    functionLinenumber: 1405
    functionLinenumberEnd: 1473
    functionName: ec_group_explicit_to_named
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_dup
    - EC_GROUP_set_generator
    - EC_GROUP_get0_seed
    - EC_GROUP_new_by_curve_name_ex
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_set_seed
    - ossl_ec_curve_nid_from_params
    - EC_GROUP_free
    - EC_GROUP_get0_generator
    - EC_GROUP_get0_order
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *ec_group_explicit_to_named(const EC_GROUP *group,\n                                            OSSL_LIB_CTX
      *libctx,\n                                            const char *propq,\n                                            BN_CTX
      *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/ec/ec_lib.c:1489,1
    - Dst: ossl_ec_curve_name2nid
      Src: /src/openssl/crypto/ec/ec_lib.c:1494,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1496,1
    - Dst: EC_GROUP_new_by_curve_name_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - p
    - libctx
    - propq
    argTypes:
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1476
    functionDepth: 7
    functionLinenumber: 1476
    functionLinenumberEnd: 1503
    functionName: group_new_from_name
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ec_curve_name2nid
    - EC_GROUP_new_by_curve_name_ex
    - ERR_raise
    - OSSL_PARAM_get_utf8_ptr
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *group_new_from_name(const OSSL_PARAM *p,\n                                     OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1511,1
    - Dst: ossl_ec_pt_format_param2id
      Src: /src/openssl/crypto/ec/ec_lib.c:1513,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1514,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_lib.c:1517,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1520,1
    - Dst: ossl_ec_encoding_param2id
      Src: /src/openssl/crypto/ec/ec_lib.c:1522,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1523,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_lib.c:1526,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1529,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1533,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1506
    functionDepth: 5
    functionLinenumber: 1506
    functionLinenumberEnd: 1539
    functionName: ossl_ec_group_set_params
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_ec_pt_format_param2id
    - EC_GROUP_set_point_conversion_form
    - OSSL_PARAM_locate_const
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_set_seed
    - ossl_ec_encoding_param2id
    linkageType: ''
    returnType: int
    signature: int ossl_ec_group_set_params(EC_GROUP *group, const OSSL_PARAM params[])
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1561,1
    - Dst: group_new_from_name
      Src: /src/openssl/crypto/ec/ec_lib.c:1565,1
    - Dst: ossl_ec_group_set_params
      Src: /src/openssl/crypto/ec/ec_lib.c:1567,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1568,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1572,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/ec/ec_lib.c:1574,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1575,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1576,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1583,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1587,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1589,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:1592,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1594,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1595,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1596,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1597,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1599,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1603,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1605,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_lib.c:1608,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/ec/ec_lib.c:1610,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1615,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1619,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1620,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1621,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1624,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1625,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1626,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1631,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1632,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1633,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:1638,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:1638,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1639,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:1642,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1644,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/crypto/ec/ec_lib.c:1649,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1652,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/crypto/ec/ec_lib.c:1656,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ec_lib.c:1658,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1660,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1668,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1673,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1676,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/crypto/ec/ec_lib.c:1679,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1684,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1687,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1691,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/crypto/ec/ec_lib.c:1693,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/crypto/ec/ec_lib.c:1695,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1696,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1701,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1702,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/ec/ec_lib.c:1703,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec_lib.c:1703,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec_lib.c:1704,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1705,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1710,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec_lib.c:1712,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/ec/ec_lib.c:1713,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1714,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/crypto/ec/ec_lib.c:1720,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1721,1
    - Dst: ec_group_explicit_to_named
      Src: /src/openssl/crypto/ec/ec_lib.c:1725,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1727,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/ec/ec_lib.c:1735,1
    - Dst: ossl_ec_encoding_param2id
      Src: /src/openssl/crypto/ec/ec_lib.c:1737,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1738,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_lib.c:1742,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/crypto/ec/ec_lib.c:1745,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1747,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1755,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1758,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:1759,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1760,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 183
    argCount: 3
    argNames:
    - params
    - libctx
    - propq
    argTypes:
    - OSSL_PARAM[]
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1541
    functionDepth: 8
    functionLinenumber: 1541
    functionLinenumberEnd: 1764
    functionName: EC_GROUP_new_from_params
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 1
    functionsReached:
    - EC_POINT_free
    - OSSL_PARAM_get_BN
    - ERR_raise
    - OPENSSL_strcasecmp
    - BN_is_negative
    - BN_is_zero
    - BN_CTX_new_ex
    - EC_GROUP_new_curve_GFp
    - BN_CTX_end
    - ossl_ec_group_set_params
    - OSSL_PARAM_locate_const
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_free
    - BN_CTX_free
    - EC_GROUP_get_degree
    - EC_GROUP_set_generator
    - ossl_ec_encoding_param2id
    - EC_POINT_new
    - OSSL_PARAM_get_int
    - BN_num_bits
    - BN_CTX_get
    - BN_CTX_start
    - EC_GROUP_set_point_conversion_form
    - EC_GROUP_set_seed
    - EC_POINT_oct2point
    - group_new_from_name
    - EC_GROUP_new_curve_GF2m
    - ec_group_explicit_to_named
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *EC_GROUP_new_from_params(const OSSL_PARAM params[],\n                                   OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/ec/ec_lib.c:1777,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_lib.c:1782,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_lib.c:1785,1
    - Dst: ossl_ec_group_todata
      Src: /src/openssl/crypto/ec/ec_lib.c:1787,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/ec/ec_lib.c:1791,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1794,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1795,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_lib.c:1796,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_lib.c:1797,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - group
    - libctx
    - propq
    - bnctx
    argTypes:
    - EC_GROUP*
    - OSSL_LIB_CTX*
    - char*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1766
    functionDepth: 7
    functionLinenumber: 1766
    functionLinenumberEnd: 1799
    functionName: EC_GROUP_to_params
    functionSourceFile: /src/openssl/crypto/ec/ec_lib.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_CTX_start
    - ossl_ec_group_todata
    - OPENSSL_free
    - BN_CTX_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *EC_GROUP_to_params(const EC_GROUP *group, OSSL_LIB_CTX
      *libctx,\n                               const char *propq, BN_CTX *bnctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: ISX448
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISX448(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: IS25519
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS25519(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: KEYLENID
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEYLENID(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: KEYNID2TYPE
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEYNID2TYPE(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: KEYLEN
    functionSourceFile: /src/openssl/crypto/ec/ecx_backend.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEYLEN(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:32,1
    - Dst: EC_KEY*::group::meth::ecdh_compute_key
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - psec
    - pseclen
    - pub_key
    - ecdh
    argTypes:
    - unsigned char**
    - size_t*
    - EC_POINT*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: ossl_ecdh_compute_key
    functionSourceFile: /src/openssl/crypto/ec/ecdh_ossl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_KEY*::group::meth::ecdh_compute_key
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdh_compute_key(unsigned char **psec, size_t *pseclen,\n
      \                         const EC_POINT *pub_key, const EC_KEY *ecdh)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:61,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:63,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:66,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:72,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:76,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:82,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:84,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:88,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:94,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:95,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:100,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:110,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:118,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:121,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:124,1
    - Dst: memset
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:127,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:129,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:141,1
    - Dst: EC_POINT_clear_free
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:142,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:143,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ecdh_ossl.c:145,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 4
    argNames:
    - pout
    - poutlen
    - pub_key
    - ecdh
    argTypes:
    - unsigned char**
    - size_t*
    - EC_POINT*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 49
    functionDepth: 7
    functionLinenumber: 49
    functionLinenumberEnd: 147
    functionName: ossl_ecdh_simple_compute_key
    functionSourceFile: /src/openssl/crypto/ec/ecdh_ossl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_POINT_mul
    - BN_num_bytes
    - OPENSSL_free
    - EC_POINT_get_affine_coordinates
    - BN_CTX_new_ex
    - EC_KEY_get_flags
    - EC_POINT_clear_free
    - BN_CTX_end
    - BN_clear
    - BN_CTX_free
    - OPENSSL_malloc
    - BN_mul
    - EC_GROUP_get_degree
    - EC_GROUP_get_cofactor
    - EC_POINT_new
    - BN_CTX_get
    - memset
    - BN_CTX_start
    - EC_KEY_get0_private_key
    - EC_KEY_get0_group
    - BN_bn2bin
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdh_simple_compute_key(unsigned char **pout, size_t *poutlen,\n
      \                                const EC_POINT *pub_key, const EC_KEY *ecdh)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:34,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:35,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/crypto/ec/ec_ameth.c:38,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/crypto/ec/ec_ameth.c:39,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_ameth.c:42,1
    - Dst: OBJ_length
      Src: /src/openssl/crypto/ec/ec_ameth.c:44,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:45,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/ec/ec_ameth.c:53,1
    - Dst: i2d_ECParameters
      Src: /src/openssl/crypto/ec/ec_ameth.c:56,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pptype
    - ppval
    - ec_key
    argTypes:
    - int*
    - void**
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 10
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: eckey_param2type
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_GROUP_get_asn1_flag
    - ASN1_STRING_new
    - ASN1_STRING_free
    - EC_KEY_get0_group
    - i2d_ECParameters
    - OBJ_nid2obj
    - OBJ_length
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int eckey_param2type(int *pptype, void **ppval, const EC_KEY *ec_key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: eckey_param2type
      Src: /src/openssl/crypto/ec/ec_ameth.c:76,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:77,1
    - Dst: i2o_ECPublicKey
      Src: /src/openssl/crypto/ec/ec_ameth.c:80,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ec/ec_ameth.c:83,1
    - Dst: i2o_ECPublicKey
      Src: /src/openssl/crypto/ec/ec_ameth.c:87,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/crypto/ec/ec_ameth.c:90,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_ameth.c:90,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:96,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 11
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: eckey_pub_encode
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - i2o_ECPublicKey
    - ERR_raise
    - eckey_param2type
    - ASN1_STRING_free
    - X509_PUBKEY_set0_param
    - OPENSSL_free
    - OBJ_nid2obj
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int eckey_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_PUBKEY_get0_libctx
      Src: /src/openssl/crypto/ec/ec_ameth.c:109,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/ec/ec_ameth.c:110,1
    - Dst: ossl_ec_key_param_from_x509_algor
      Src: /src/openssl/crypto/ec/ec_ameth.c:112,1
    - Dst: o2i_ECPublicKey
      Src: /src/openssl/crypto/ec/ec_ameth.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:119,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:123,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 100
    functionDepth: 10
    functionLinenumber: 100
    functionLinenumberEnd: 129
    functionName: eckey_pub_decode
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_PUBKEY_get0_param
    - ossl_x509_PUBKEY_get0_libctx
    - EVP_PKEY_assign_EC_KEY
    - ossl_ec_key_param_from_x509_algor
    - EC_KEY_free
    - o2i_ECPublicKey
    linkageType: ''
    returnType: int
    signature: int eckey_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:134,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:135,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:136,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/crypto/ec/ec_ameth.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: eckey_pub_cmp
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - EC_POINT_cmp
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: int eckey_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_key_from_pkcs8
      Src: /src/openssl/crypto/ec/ec_ameth.c:152,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pkey
    - p8
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 11
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: eckey_priv_decode_ex
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_from_pkcs8
    - EVP_PKEY_assign_EC_KEY
    linkageType: ''
    returnType: int
    signature: "int eckey_priv_decode_ex(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO
      *p8,\n                                OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eckey_param2type
      Src: /src/openssl/crypto/ec/ec_ameth.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:171,1
    - Dst: EC_KEY_get_enc_flags
      Src: /src/openssl/crypto/ec/ec_ameth.c:181,1
    - Dst: EC_KEY_set_enc_flags
      Src: /src/openssl/crypto/ec/ec_ameth.c:182,1
    - Dst: i2d_ECPrivateKey
      Src: /src/openssl/crypto/ec/ec_ameth.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:186,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/crypto/ec/ec_ameth.c:190,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ec/ec_ameth.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:192,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:193,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 162
    functionDepth: 11
    functionLinenumber: 162
    functionLinenumberEnd: 203
    functionName: eckey_priv_encode
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - PKCS8_pkey_set0
    - ERR_raise
    - OPENSSL_clear_free
    - eckey_param2type
    - EC_KEY_set_enc_flags
    - EC_KEY_get_enc_flags
    - i2d_ECPrivateKey
    - ASN1_STRING_free
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: int eckey_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_size
      Src: /src/openssl/crypto/ec/ec_ameth.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 8
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: int_ec_size
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - ECDSA_size
    linkageType: ''
    returnType: int
    signature: int int_ec_size(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/crypto/ec/ec_ameth.c:212,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: ec_bits
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_order_bits
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: int ec_bits(const EVP_PKEY *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ec_bits
      Src: /src/openssl/crypto/ec/ec_ameth.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 230
    functionName: ec_security_bits
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - ec_bits
    linkageType: ''
    returnType: int
    signature: int ec_security_bits(const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: ec_missing_parameters
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: int ec_missing_parameters(const EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_dup
      Src: /src/openssl/crypto/ec/ec_ameth.c:241,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:241,1
    - Dst: EC_KEY_new
      Src: /src/openssl/crypto/ec/ec_ameth.c:246,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:250,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:252,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 239
    functionDepth: 6
    functionLinenumber: 239
    functionLinenumberEnd: 257
    functionName: ec_copy_parameters
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_dup
    - EC_KEY_new
    - EC_GROUP_free
    - EC_KEY_get0_group
    - EC_KEY_set_group
    linkageType: ''
    returnType: int
    signature: int ec_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:261,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:262,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/crypto/ec/ec_ameth.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: ec_cmp_parameters
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    - EC_GROUP_cmp
    linkageType: ''
    returnType: int
    signature: int ec_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: int_ec_free
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void int_ec_free(EVP_PKEY *pkey)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:291,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:292,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:296,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/crypto/ec/ec_ameth.c:297,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/crypto/ec/ec_ameth.c:297,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:302,1
    - Dst: EC_KEY_priv2buf
      Src: /src/openssl/crypto/ec/ec_ameth.c:303,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/ec/ec_ameth.c:315,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ec_ameth.c:317,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/crypto/ec/ec_ameth.c:318,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ec_ameth.c:322,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:324,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ec/ec_ameth.c:329,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:331,1
    - Dst: ECPKParameters_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:340,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:342,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 4
    argNames:
    - bp
    - x
    - 'off'
    - ktype
    argTypes:
    - BIO*
    - EC_KEY*
    - int
    - ec_print_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 344
    functionName: do_EC_KEY_print
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_key2buf
    - ECPKParameters_print
    - ERR_raise
    - EC_KEY_get_conv_form
    - ASN1_buf_print
    - OPENSSL_clear_free
    - EC_KEY_get0_private_key
    - OPENSSL_free
    - EC_KEY_get0_group
    - BIO_indent
    - EC_KEY_get0_public_key
    - EC_GROUP_order_bits
    - EC_KEY_priv2buf
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int do_EC_KEY_print(BIO *bp, const EC_KEY *x, int off, ec_print_t ktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECParameters
      Src: /src/openssl/crypto/ec/ec_ameth.c:351,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 9
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: eckey_param_decode
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_EC_KEY
    - d2i_ECParameters
    linkageType: ''
    returnType: int
    signature: "int eckey_param_decode(EVP_PKEY *pkey,\n                              const
      unsigned char **pder, int derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ECParameters
      Src: /src/openssl/crypto/ec/ec_ameth.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 10
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: eckey_param_encode
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - i2d_ECParameters
    linkageType: ''
    returnType: int
    signature: int eckey_param_encode(const EVP_PKEY *pkey, unsigned char **pder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_EC_KEY_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 5
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: eckey_param_print
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: "int eckey_param_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n
      \                            ASN1_PCTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_EC_KEY_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: eckey_pub_print
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: "int eckey_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                           ASN1_PCTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_EC_KEY_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: eckey_priv_print
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: "int eckey_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n
      \                           ASN1_PCTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECPrivateKey
      Src: /src/openssl/crypto/ec/ec_ameth.c:385,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 8
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: old_ec_priv_decode
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_EC_KEY
    - d2i_ECPrivateKey
    linkageType: ''
    returnType: int
    signature: "int old_ec_priv_decode(EVP_PKEY *pkey,\n                              const
      unsigned char **pder, int derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ECPrivateKey
      Src: /src/openssl/crypto/ec/ec_ameth.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 9
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: old_ec_priv_encode
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - i2d_ECPrivateKey
    linkageType: ''
    returnType: int
    signature: int old_ec_priv_encode(const EVP_PKEY *pkey, unsigned char **pder)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/ec/ec_ameth.c:400,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/ec/ec_ameth.c:410,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/ec/ec_ameth.c:410,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/crypto/ec/ec_ameth.c:412,1
    - Dst: evp_pkey_get0_EC_KEY_int
      Src: /src/openssl/crypto/ec/ec_ameth.c:412,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/crypto/ec/ec_ameth.c:415,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 396
    functionDepth: 9
    functionLinenumber: 396
    functionLinenumberEnd: 421
    functionName: ec_pkey_ctrl
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_key2buf
    - ossl_assert
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_get_id
    - evp_pkey_get0_EC_KEY_int
    - EC_KEY_oct2key
    - evp_pkey_is_legacy
    linkageType: ''
    returnType: int
    signature: int ec_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:429,1
    - Dst: EC_KEY_check_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: ec_pkey_check
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_check_key
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ec_pkey_check(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_check_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 450
    functionName: ec_pkey_public_check
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_check_key
    linkageType: ''
    returnType: int
    signature: int ec_pkey_public_check(const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:458,1
    - Dst: EC_GROUP_check
      Src: /src/openssl/crypto/ec/ec_ameth.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 4
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: ec_pkey_param_check
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EC_GROUP_check
    linkageType: ''
    returnType: int
    signature: int ec_pkey_param_check(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: ec_pkey_dirty_cnt
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ec_pkey_dirty_cnt(const EVP_PKEY *pkey)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/crypto/ec/ec_ameth.c:490,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/ec/ec_ameth.c:493,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/ec/ec_ameth.c:501,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec_ameth.c:504,1
    - Dst: ossl_ec_group_todata
      Src: /src/openssl/crypto/ec/ec_ameth.c:507,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:511,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:512,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/crypto/ec/ec_ameth.c:516,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/crypto/ec/ec_ameth.c:518,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/crypto/ec/ec_ameth.c:521,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/crypto/ec/ec_ameth.c:567,1
    - Dst: OSSL_PARAM_BLD_push_BN_pad
      Src: /src/openssl/crypto/ec/ec_ameth.c:572,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/crypto/ec/ec_ameth.c:584,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/crypto/ec/ec_ameth.c:587,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/ec/ec_ameth.c:594,1
    - Dst: importer
      Src: /src/openssl/crypto/ec/ec_ameth.c:597,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:600,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:601,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:602,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:603,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec_ameth.c:604,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:605,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 471
    functionDepth: 7
    functionLinenumber: 471
    functionLinenumberEnd: 607
    functionName: ec_pkey_export_to
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - ossl_ec_group_todata
    - EC_KEY_get_conv_form
    - OPENSSL_free
    - EC_KEY_get0_public_key
    - EC_GROUP_order_bits
    - BN_CTX_new_ex
    - EC_KEY_get_flags
    - BN_CTX_end
    - OSSL_PARAM_BLD_push_BN_pad
    - BN_CTX_free
    - OSSL_PARAM_BLD_push_int
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - EC_POINT_point2buf
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_new
    - BN_CTX_start
    - EC_KEY_get0_private_key
    - EC_KEY_get0_group
    - importer
    linkageType: ''
    returnType: int
    signature: "int ec_pkey_export_to(const EVP_PKEY *from, void *to_keydata,\n                      OSSL_FUNC_keymgmt_import_fn
      *importer,\n                      OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/ec/ec_ameth.c:612,1
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/crypto/ec/ec_ameth.c:613,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec_ameth.c:616,1
    - Dst: ossl_ec_group_fromdata
      Src: /src/openssl/crypto/ec/ec_ameth.c:620,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/openssl/crypto/ec/ec_ameth.c:621,1
    - Dst: ossl_ec_key_fromdata
      Src: /src/openssl/crypto/ec/ec_ameth.c:622,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:623,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 609
    functionDepth: 8
    functionLinenumber: 609
    functionLinenumberEnd: 628
    functionName: ec_pkey_import_from
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_get0_pkey
    - ossl_ec_group_fromdata
    - ossl_ec_key_fromdata
    - ossl_ec_key_otherparams_fromdata
    - EC_KEY_new_ex
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: int ec_pkey_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_dup
      Src: /src/openssl/crypto/ec/ec_ameth.c:637,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/ec/ec_ameth.c:642,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/crypto/ec/ec_ameth.c:645,1
    - Dst: EC_KEY_free
      Src: /src/openssl/crypto/ec/ec_ameth.c:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 630
    functionDepth: 4
    functionLinenumber: 630
    functionLinenumberEnd: 649
    functionName: ec_pkey_copy
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 0
    functionsReached:
    - EC_KEY_dup
    - EC_KEY_free
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: int
    signature: int ec_pkey_copy(EVP_PKEY *to, EVP_PKEY *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/crypto/ec/ec_ameth.c:712,1
    - Dst: do_EC_KEY_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 716
    functionName: EC_KEY_print
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 5
    functionsReached:
    - EC_KEY_get0_private_key
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: int EC_KEY_print(BIO *bp, const EC_KEY *x, int off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_EC_KEY_print
      Src: /src/openssl/crypto/ec/ec_ameth.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: ECParameters_print
    functionSourceFile: /src/openssl/crypto/ec/ec_ameth.c
    functionUses: 1
    functionsReached:
    - do_EC_KEY_print
    linkageType: ''
    returnType: int
    signature: int ECParameters_print(BIO *bp, const EC_KEY *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:30,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:31,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:32,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:35,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:36,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: ossl_ec_GF2m_simple_group_init
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GF2m_simple_group_init(EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:49,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:50,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ossl_ec_GF2m_simple_group_finish
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GF2m_simple_group_finish(EC_GROUP *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:60,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:61,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: ossl_ec_GF2m_simple_group_clear_finish
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GF2m_simple_group_clear_finish(EC_GROUP *group)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:77,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:79,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:81,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec2_smpl.c:89,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec2_smpl.c:92,1
    - Dst: bn_set_all_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:95,1
    - Dst: bn_set_all_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_GROUP*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: ossl_ec_GF2m_simple_group_copy
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_copy
    - bn_set_all_zero
    - bn_wexpand
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GF2m_simple_group_copy(EC_GROUP *dest, const EC_GROUP *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:108,1
    - Dst: BN_GF2m_poly2arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:112,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:117,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec2_smpl.c:119,1
    - Dst: bn_set_all_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:122,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:125,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/ec/ec2_smpl.c:127,1
    - Dst: bn_set_all_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: ossl_ec_GF2m_simple_group_set_curve
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_GF2m_poly2arr
    - BN_GF2m_mod_arr
    - bn_set_all_zero
    - bn_wexpand
    - BN_copy
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_group_set_curve(EC_GROUP *group,\n                                        const
      BIGNUM *p, const BIGNUM *a,\n                                        const BIGNUM
      *b, BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:147,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:152,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - group
    - p
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 165
    functionName: ossl_ec_GF2m_simple_group_get_curve
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_group_get_curve(const EC_GROUP *group, BIGNUM
      *p,\n                                        BIGNUM *a, BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_smpl.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: ossl_ec_GF2m_simple_group_get_degree
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GF2m_simple_group_get_degree(const EC_GROUP *group)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:191,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:196,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:197,1
    - Dst: BN_GF2m_mod_arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:201,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:208,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:214,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:216,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 219
    functionName: ossl_ec_GF2m_simple_group_check_discriminant
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_GF2m_mod_arr
    - BN_CTX_new
    - BN_is_zero
    - BN_CTX_free
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_group_check_discriminant(const EC_GROUP *group,\n
      \                                                BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:224,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:225,1
    - Dst: BN_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:226,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:229,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:230,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: ossl_ec_GF2m_simple_point_init
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GF2m_simple_point_init(EC_POINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:240,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:241,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: ossl_ec_GF2m_simple_point_finish
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GF2m_simple_point_finish(EC_POINT *point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:248,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:249,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - point
    argTypes:
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: ossl_ec_GF2m_simple_point_clear_finish
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: void
    signature: void ossl_ec_GF2m_simple_point_clear_finish(EC_POINT *point)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:260,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:262,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - EC_POINT*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: ossl_ec_GF2m_simple_point_copy
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_copy
    linkageType: ''
    returnType: int
    signature: int ossl_ec_GF2m_simple_point_copy(EC_POINT *dest, const EC_POINT *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: ossl_ec_GF2m_simple_point_set_to_infinity
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_zero
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_point_set_to_infinity(const EC_GROUP *group,\n
      \                                             EC_POINT *point)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:296,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:300,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:302,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:303,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:305,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:306,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec2_smpl.c:306,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 314
    functionName: ossl_ec_GF2m_simple_point_set_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_value_one
    - BN_copy
    - BN_set_negative
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_point_set_affine_coordinates(const EC_GROUP
      *group,\n                                                     EC_POINT *point,\n
      \                                                    const BIGNUM *x,\n                                                     const
      BIGNUM *y,\n                                                     BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:328,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:332,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/ec/ec2_smpl.c:332,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:333,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:337,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:339,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:342,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - group
    - point
    - x
    - y
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: ossl_ec_GF2m_simple_point_get_affine_coordinates
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_set_negative
    - BN_cmp
    - BN_value_one
    - BN_copy
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_point_get_affine_coordinates(const EC_GROUP
      *group,\n                                                     const EC_POINT
      *point,\n                                                     BIGNUM *x, BIGNUM
      *y,\n                                                     BN_CTX *ctx)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:365,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:366,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:371,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:372,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:379,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:385,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:386,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:387,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:388,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:389,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:390,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:391,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:392,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:393,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:398,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:400,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:403,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:407,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:409,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:412,1
    - Dst: BN_GF2m_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:416,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:417,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:419,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_smpl.c:421,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:423,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:425,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:427,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:429,1
    - Dst: BN_GF2m_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:432,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:432,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:433,1
    - Dst: EC_GROUP*::meth::field_div
      Src: /src/openssl/crypto/ec/ec2_smpl.c:438,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:440,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:443,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:445,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:447,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:451,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:453,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:455,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:457,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:460,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:466,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:468,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 120
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 356
    functionDepth: 5
    functionLinenumber: 356
    functionLinenumberEnd: 471
    functionName: ossl_ec_GF2m_simple_add
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - EC_POINT_set_to_infinity
    - BN_GF2m_cmp
    - EC_GROUP*::meth::field_mul
    - BN_CTX_start
    - EC_POINT_set_affine_coordinates
    - BN_CTX_end
    - BN_CTX_new
    - EC_POINT_copy
    - BN_GF2m_add
    - BN_is_zero
    - BN_CTX_free
    - EC_GROUP*::meth::field_div
    - EC_GROUP*::meth::field_sqr
    - EC_POINT_get_affine_coordinates
    - BN_copy
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_add(const EC_GROUP *group, EC_POINT *r,\n
      \                           const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_GF2m_simple_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 6
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: ossl_ec_GF2m_simple_dbl
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - ossl_ec_GF2m_simple_add
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_dbl(const EC_GROUP *group, EC_POINT *r,\n
      \                           const EC_POINT *a, BN_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:486,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:486,1
    - Dst: EC_GROUP*::meth::make_affine
      Src: /src/openssl/crypto/ec/ec2_smpl.c:491,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 494
    functionName: ossl_ec_GF2m_simple_invert
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_add
    - EC_GROUP*::meth::make_affine
    - BN_is_zero
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_invert(const EC_GROUP *group, EC_POINT *point,\n
      \                              BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: ossl_ec_GF2m_simple_is_at_infinity
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_is_at_infinity(const EC_GROUP *group,\n                                       const
      EC_POINT *point)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:520,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:532,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:538,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:539,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:540,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:550,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:552,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:554,1
    - Dst: field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:556,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:558,1
    - Dst: field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:560,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:562,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:564,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:567,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:569,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 508
    functionDepth: 5
    functionLinenumber: 508
    functionLinenumberEnd: 572
    functionName: ossl_ec_GF2m_simple_is_on_curve
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - field_sqr
    - BN_CTX_new
    - EC_POINT_is_at_infinity
    - field_mul
    - BN_is_zero
    - BN_CTX_free
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_is_on_curve(const EC_GROUP *group, const EC_POINT
      *point,\n                                    BN_CTX *ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:590,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:591,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:594,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:598,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:598,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:603,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:609,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:610,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:611,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:612,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:613,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:617,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:619,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:621,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/ec/ec2_smpl.c:621,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:624,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:626,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - group
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 629
    functionName: ossl_ec_GF2m_simple_cmp
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_cmp
    - BN_CTX_new
    - BN_CTX_free
    - EC_POINT_get_affine_coordinates
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_cmp(const EC_GROUP *group, const EC_POINT
      *a,\n                            const EC_POINT *b, BN_CTX *ctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:641,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:646,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:652,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:653,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:654,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/crypto/ec/ec2_smpl.c:658,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:660,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:662,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ec2_smpl.c:664,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:671,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:673,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - group
    - point
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 676
    functionName: ossl_ec_GF2m_simple_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_CTX_new
    - BN_one
    - BN_CTX_free
    - EC_POINT_get_affine_coordinates
    - BN_copy
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_make_affine(const EC_GROUP *group, EC_POINT
      *point,\n                                    BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::make_affine
      Src: /src/openssl/crypto/ec/ec2_smpl.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - group
    - num
    - points
    - ctx
    argTypes:
    - EC_GROUP*
    - size_t
    - EC_POINT*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 692
    functionName: ossl_ec_GF2m_simple_points_make_affine
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::make_affine
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_points_make_affine(const EC_GROUP *group,
      size_t num,\n                                           EC_POINT *points[],
      BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_mod_mul_arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 6
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: ossl_ec_GF2m_simple_field_mul
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_mul_arr
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_field_mul(const EC_GROUP *group, BIGNUM *r,\n
      \                                 const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_mod_sqr_arr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 702
    functionDepth: 6
    functionLinenumber: 702
    functionLinenumberEnd: 706
    functionName: ossl_ec_GF2m_simple_field_sqr
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_sqr_arr
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_field_sqr(const EC_GROUP *group, BIGNUM *r,\n
      \                                 const BIGNUM *a, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_mod_div
      Src: /src/openssl/crypto/ec/ec2_smpl.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - group
    - r
    - a
    - b
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 9
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: ossl_ec_GF2m_simple_field_div
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_div
    linkageType: ''
    returnType: int
    signature: "int ossl_ec_GF2m_simple_field_div(const EC_GROUP *group, BIGNUM *r,\n
      \                                 const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/ec/ec2_smpl.c:732,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_smpl.c:732,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:734,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:737,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ec2_smpl.c:741,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:742,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/ec/ec2_smpl.c:747,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/ec/ec2_smpl.c:747,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:749,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:752,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/crypto/ec/ec2_smpl.c:755,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:756,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:757,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:758,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:759,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:760,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 721
    functionDepth: 7
    functionLinenumber: 721
    functionLinenumberEnd: 767
    functionName: ec_GF2m_simple_ladder_pre
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::field_mul
    - ERR_raise
    - BN_is_zero
    - EC_GROUP*::meth::field_encode
    - EC_GROUP*::meth::field_sqr
    - BN_priv_rand_ex
    - BN_num_bits
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: "int ec_GF2m_simple_ladder_pre(const EC_GROUP *group,\n                              EC_POINT
      *r, EC_POINT *s,\n                              EC_POINT *p, BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:779,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:780,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:781,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:782,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:783,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:784,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:785,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:786,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:787,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:788,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:789,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:790,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:791,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:792,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 4
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 774
    functionDepth: 5
    functionLinenumber: 774
    functionLinenumberEnd: 796
    functionName: ec_GF2m_simple_ladder_step
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - EC_GROUP*::meth::field_mul
    - EC_GROUP*::meth::field_sqr
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: "int ec_GF2m_simple_ladder_step(const EC_GROUP *group,\n                               EC_POINT
      *r, EC_POINT *s,\n                               EC_POINT *p, BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:812,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/crypto/ec/ec2_smpl.c:813,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:815,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/crypto/ec/ec2_smpl.c:816,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/crypto/ec/ec2_smpl.c:817,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:818,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/ec/ec2_smpl.c:824,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:825,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:826,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/ec/ec2_smpl.c:827,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:829,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:833,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:834,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:835,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:836,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:837,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:838,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:839,1
    - Dst: EC_GROUP*::meth::field_sqr
      Src: /src/openssl/crypto/ec/ec2_smpl.c:840,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:841,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:842,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:843,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:844,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/crypto/ec/ec2_smpl.c:845,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:846,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:847,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:848,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:849,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:850,1
    - Dst: BN_one
      Src: /src/openssl/crypto/ec/ec2_smpl.c:851,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:857,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/ec/ec2_smpl.c:858,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/ec/ec2_smpl.c:863,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 30
    argCount: 5
    argNames:
    - group
    - r
    - s
    - p
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - EC_POINT*
    - EC_POINT*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 804
    functionDepth: 5
    functionLinenumber: 804
    functionLinenumberEnd: 865
    functionName: ec_GF2m_simple_ladder_post
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_set_to_infinity
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - ERR_raise
    - BN_CTX_start
    - EC_GROUP*::meth::field_inv
    - BN_CTX_end
    - BN_set_negative
    - BN_one
    - EC_POINT_copy
    - BN_is_zero
    - EC_GROUP*::meth::field_sqr
    - EC_POINT_invert
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: "int ec_GF2m_simple_ladder_post(const EC_GROUP *group,\n                               EC_POINT
      *r, EC_POINT *s,\n                               EC_POINT *p, BN_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:891,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/ec/ec2_smpl.c:891,1
    - Dst: ossl_ec_wNAF_mul
      Src: /src/openssl/crypto/ec/ec2_smpl.c:892,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec2_smpl.c:896,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec2_smpl.c:900,1
    - Dst: EC_POINT_new
      Src: /src/openssl/crypto/ec/ec2_smpl.c:907,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:908,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec2_smpl.c:912,1
    - Dst: ossl_ec_scalar_mul_ladder
      Src: /src/openssl/crypto/ec/ec2_smpl.c:913,1
    - Dst: EC_POINT_add
      Src: /src/openssl/crypto/ec/ec2_smpl.c:914,1
    - Dst: EC_POINT_free
      Src: /src/openssl/crypto/ec/ec2_smpl.c:920,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 7
    argNames:
    - group
    - r
    - scalar
    - num
    - points
    - scalars
    - ctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - BIGNUM*
    - size_t
    - EC_POINT*[]
    - BIGNUM*[]
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 867
    functionDepth: 6
    functionLinenumber: 867
    functionLinenumberEnd: 922
    functionName: ec_GF2m_simple_points_mul
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_raise
    - ossl_ec_scalar_mul_ladder
    - BN_is_zero
    - EC_POINT_add
    - ossl_ec_wNAF_mul
    - EC_POINT_new
    linkageType: ''
    returnType: int
    signature: "int ec_GF2m_simple_points_mul(const EC_GROUP *group, EC_POINT *r,\n
      \                             const BIGNUM *scalar, size_t num,\n                              const
      EC_POINT *points[],\n                              const BIGNUM *scalars[],\n
      \                             BN_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/crypto/ec/ec2_smpl.c:934,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ec/ec2_smpl.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - group
    - r
    - a
    - ctx
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 929
    functionDepth: 8
    functionLinenumber: 929
    functionLinenumberEnd: 937
    functionName: ec_GF2m_simple_field_inv
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_inv
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ec_GF2m_simple_field_inv(const EC_GROUP *group, BIGNUM *r,\n                                    const
      BIGNUM *a, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 1001
    functionName: EC_GF2m_simple_method
    functionSourceFile: /src/openssl/crypto/ec/ec2_smpl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EC_METHOD
    signature: EC_METHOD *EC_GF2m_simple_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:33,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:34,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:36,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:37,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:39,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:41,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:43,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:45,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:46,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 9
    argNames:
    - out
    - outlen
    - Z
    - Zlen
    - sinfo
    - sinfolen
    - md
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 50
    functionName: ossl_ecdh_kdf_X9_63
    functionSourceFile: /src/openssl/crypto/ec/ecdh_kdf.c
    functionUses: 3
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int ossl_ecdh_kdf_X9_63(unsigned char *out, size_t outlen,\n                        const
      unsigned char *Z, size_t Zlen,\n                        const unsigned char
      *sinfo, size_t sinfolen,\n                        const EVP_MD *md,\n                        OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ecdh_kdf_X9_63
      Src: /src/openssl/crypto/ec/ecdh_kdf.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - out
    - outlen
    - Z
    - Zlen
    - sinfo
    - sinfolen
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ECDH_KDF_X9_62
    functionSourceFile: /src/openssl/crypto/ec/ecdh_kdf.c
    functionUses: 0
    functionsReached:
    - ossl_ecdh_kdf_X9_63
    linkageType: ''
    returnType: int
    signature: "int ECDH_KDF_X9_62(unsigned char *out, size_t outlen,\n                   const
      unsigned char *Z, size_t Zlen,\n                   const unsigned char *sinfo,
      size_t sinfolen,\n                   const EVP_MD *md)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: SC_LIMB
    functionSourceFile: /src/openssl/crypto/ec/curve448/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SC_LIMB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: SC_LIMB
    functionSourceFile: /src/openssl/crypto/ec/curve448/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SC_LIMB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: c448_bool_t::mask_to_bool
    functionSourceFile: /src/openssl/crypto/ec/curve448/word.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline c448_bool_t mask_to_bool(mask_t m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/word.h:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - c448_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: bool_to_mask
    functionSourceFile: /src/openssl/crypto/ec/curve448/word.h
    functionUses: 0
    functionsReached:
    - word_is_zero
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline bool_to_mask(c448_bool_t m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:28,1
    - Dst: gf_strong_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:29,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:31,1
    - Dst: gf_hibit
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:31,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:35,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:36,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - serial
    - x
    - with_hibit
    argTypes:
    - uint8_t[]
    - gf
    - int
    assertStmts:
    - condition: (gf_hibit(red) == 0)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/openssl/crypto/ec/curve448/f_generic.c
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: gf_serialize
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - LIMBPERM
    - gf_copy
    - gf_strong_reduce
    - gf_hibit
    - assert
    - LIMB_PLACE_VALUE
    linkageType: ''
    returnType: void
    signature: void gf_serialize(uint8_t serial[SER_BYTES], const gf x, int with_hibit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:50,1
    - Dst: gf_strong_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: gf_hibit
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 1
    functionsReached:
    - gf_strong_reduce
    - gf_add
    linkageType: ''
    returnType: mask_t
    signature: mask_t gf_hibit(const gf x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:60,1
    - Dst: gf_strong_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: gf_lobit
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - gf_copy
    - gf_strong_reduce
    linkageType: ''
    returnType: mask_t
    signature: mask_t gf_lobit(const gf x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIMB_PLACE_VALUE
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:77,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:77,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:87,1
    - Dst: LIMB_MASK
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:88,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:88,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:89,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:89,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:90,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:90,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:92,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:93,1
    - Dst: gf_hibit
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:95,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:96,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - x
    - serial
    - with_hibit
    - hi_nmask
    argTypes:
    - gf
    - uint8_t[]
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 97
    functionName: gf_deserialize
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - LIMBPERM
    - LIMB_PLACE_VALUE
    - word_is_zero
    - gf_hibit
    - LIMB_MASK
    linkageType: ''
    returnType: mask_t
    signature: "mask_t gf_deserialize(gf x, const uint8_t serial[SER_BYTES], int with_hibit,\n
      \                     uint8_t hi_nmask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:108,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:115,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:115,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:116,1
    - Dst: LIMB_MASK
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:116,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:116,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:117,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:117,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:125,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:132,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:133,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:134,1
    - Dst: LIMB_MASK
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:134,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:134,1
    - Dst: LIMB_PLACE_VALUE
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:135,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:135,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    assertStmts:
    - condition: (scarry == 0 || scarry == -1)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/openssl/crypto/ec/curve448/f_generic.c
    - condition: (carry < 2 && ((word_t)carry + scarry_0) == 0)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/openssl/crypto/ec/curve448/f_generic.c
    constantsTouched: []
    func_position:
      end: 139
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 139
    functionName: gf_strong_reduce
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 3
    functionsReached:
    - LIMBPERM
    - LIMB_MASK
    - gf_weak_reduce
    - assert
    - LIMB_PLACE_VALUE
    linkageType: ''
    returnType: void
    signature: void gf_strong_reduce(gf a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_RAW
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:144,1
    - Dst: gf_bias
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:145,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - d
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: gf_sub
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - gf_weak_reduce
    - gf_bias
    - gf_sub_RAW
    linkageType: ''
    returnType: void
    signature: void gf_sub(gf d, const gf a, const gf b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add_RAW
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:152,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - d
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: gf_add
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 1
    functionsReached:
    - gf_add_RAW
    - gf_weak_reduce
    linkageType: ''
    returnType: void
    signature: void gf_add(gf d, const gf a, const gf b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:163,1
    - Dst: gf_strong_reduce
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:164,1
    - Dst: LIMBPERM
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:167,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: gf_eq
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - gf_sub
    - LIMBPERM
    - gf_strong_reduce
    - word_is_zero
    linkageType: ''
    returnType: mask_t
    signature: mask_t gf_eq(const gf a, const gf b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:176,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:177,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:178,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:179,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:180,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:181,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:182,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:183,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:184,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:185,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:186,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:187,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:188,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:189,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:190,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:191,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:192,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:193,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:194,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:195,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:196,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:197,1
    - Dst: gf_sqrn
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:198,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:199,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:200,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:201,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:202,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/f_generic.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - a
    - x
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 204
    functionName: gf_isr
    functionSourceFile: /src/openssl/crypto/ec/curve448/f_generic.c
    functionUses: 0
    functionsReached:
    - gf_copy
    - ossl_gf_sqr
    - ossl_gf_mul
    - gf_sqrn
    - gf_eq
    linkageType: ''
    returnType: mask_t
    signature: mask_t gf_isr(gf a, const gf x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:27,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:34,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:38,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:39,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:40,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:45,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 10
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: oneshot_hash
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - EVP_MD_free
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - EVP_MD_fetch
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t oneshot_hash(OSSL_LIB_CTX *ctx, uint8_t *out, size_t
      outlen,\n                                 const uint8_t *in, size_t inlen,\n
      \                                const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - secret_scalar_ser
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: clamp
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clamp(uint8_t secret_scalar_ser[EDDSA_448_PRIVATE_BYTES])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:76,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:80,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:81,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:82,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:83,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:84,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 7
    argNames:
    - ctx
    - hashctx
    - prehashed
    - for_prehash
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_MD_CTX*
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 57
    functionDepth: 10
    functionLinenumber: 57
    functionLinenumberEnd: 90
    functionName: hash_init_with_dom
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 2
    functionsReached:
    - EVP_MD_fetch
    - EVP_DigestInit_ex
    - EVP_MD_free
    - EVP_DigestUpdate
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t hash_init_with_dom(OSSL_LIB_CTX *ctx, EVP_MD_CTX *hashctx,\n
      \                                      uint8_t prehashed,\n                                       uint8_t
      for_prehash,\n                                       const uint8_t *context,\n
      \                                      size_t context_len,\n                                       const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oneshot_hash
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - x
    - ed
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t[]
    - uint8_t[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 11
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: ossl_c448_ed448_convert_private_key_to_x448
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - oneshot_hash
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_c448_ed448_convert_private_key_to_x448(\n                            OSSL_LIB_CTX
      *ctx,\n                            uint8_t x[X448_PRIVATE_BYTES],\n                            const
      uint8_t ed [EDDSA_448_PRIVATE_BYTES],\n                            const char
      *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oneshot_hash
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:119,1
    - Dst: clamp
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:125,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:127,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:139,1
    - Dst: ossl_curve448_precomputed_scalarmul
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:141,1
    - Dst: ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:144,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:147,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:148,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - pubkey
    - privkey
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t[]
    - uint8_t[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 106
    functionDepth: 11
    functionLinenumber: 106
    functionLinenumberEnd: 152
    functionName: ossl_c448_ed448_derive_public_key
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_scalar_destroy
    - ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    - ossl_curve448_point_destroy
    - ossl_curve448_scalar_decode_long
    - oneshot_hash
    - ossl_curve448_scalar_halve
    - ossl_curve448_precomputed_scalarmul
    - clamp
    - OPENSSL_cleanse
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_c448_ed448_derive_public_key(\n                        OSSL_LIB_CTX
      *ctx,\n                        uint8_t pubkey[EDDSA_448_PUBLIC_BYTES],\n                        const
      uint8_t privkey[EDDSA_448_PRIVATE_BYTES],\n                        const char
      *propq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:164,1
    - Dst: oneshot_hash
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:181,1
    - Dst: clamp
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:184,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:185,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:189,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:191,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:194,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:195,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:198,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:205,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:207,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:208,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:216,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:218,1
    - Dst: ossl_curve448_precomputed_scalarmul
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:220,1
    - Dst: ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:222,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:223,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:224,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:231,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:233,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:234,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:235,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:236,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:239,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:241,1
    - Dst: ossl_curve448_scalar_mul
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:244,1
    - Dst: ossl_curve448_scalar_add
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:245,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:247,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:248,1
    - Dst: ossl_curve448_scalar_encode
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:249,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:252,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:253,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:254,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:258,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 10
    argNames:
    - ctx
    - signature
    - privkey
    - pubkey
    - message
    - message_len
    - prehashed
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 154
    functionDepth: 11
    functionLinenumber: 154
    functionLinenumberEnd: 260
    functionName: ossl_c448_ed448_sign
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_scalar_encode
    - EVP_DigestFinalXOF
    - ossl_curve448_scalar_destroy
    - ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    - EVP_DigestUpdate
    - ossl_curve448_point_destroy
    - memcpy
    - EVP_MD_CTX_new
    - ossl_curve448_scalar_decode_long
    - EVP_MD_CTX_free
    - hash_init_with_dom
    - oneshot_hash
    - ossl_curve448_scalar_add
    - ossl_curve448_scalar_halve
    - ossl_curve448_precomputed_scalarmul
    - ossl_curve448_scalar_mul
    - clamp
    - OPENSSL_cleanse
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_c448_ed448_sign(OSSL_LIB_CTX *ctx,\n                     uint8_t
      signature[EDDSA_448_SIGNATURE_BYTES],\n                     const uint8_t privkey[EDDSA_448_PRIVATE_BYTES],\n
      \                    const uint8_t pubkey[EDDSA_448_PUBLIC_BYTES],\n                     const
      uint8_t *message, size_t message_len,\n                     uint8_t prehashed,
      const uint8_t *context,\n                     size_t context_len, const char
      *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_sign
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - signature
    - privkey
    - pubkey
    - hash
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 12
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: ossl_c448_ed448_sign_prehash
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - ossl_c448_ed448_sign
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_c448_ed448_sign_prehash(\n                        OSSL_LIB_CTX
      *ctx,\n                        uint8_t signature[EDDSA_448_SIGNATURE_BYTES],\n
      \                       const uint8_t privkey[EDDSA_448_PRIVATE_BYTES],\n                        const
      uint8_t pubkey[EDDSA_448_PUBLIC_BYTES],\n                        const uint8_t
      hash[64], const uint8_t *context,\n                        size_t context_len,
      const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pub
    - pub_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: c448_ed448_pubkey_verify
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
    linkageType: ''
    returnType: c448_error_t
    signature: c448_error_t c448_ed448_pubkey_verify(const uint8_t *pub, size_t pub_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:325,1
    - Dst: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:331,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:337,1
    - Dst: hash_init_with_dom
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:341,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:343,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:344,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:345,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:346,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:347,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:351,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:352,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:354,1
    - Dst: ossl_curve448_scalar_sub
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:356,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:359,1
    - Dst: ossl_curve448_base_double_scalarmul_non_secret
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:364,1
    - Dst: c448_succeed_if
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:367,1
    - Dst: ossl_curve448_point_eq
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:367,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 9
    argNames:
    - ctx
    - signature
    - pubkey
    - message
    - message_len
    - prehashed
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t[]
    - uint8_t[]
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t*
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 286
    functionDepth: 8
    functionLinenumber: 286
    functionLinenumberEnd: 368
    functionName: ossl_c448_ed448_verify
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_point_eq
    - EVP_DigestFinalXOF
    - ossl_curve448_scalar_sub
    - EVP_DigestUpdate
    - c448_succeed_if
    - EVP_MD_CTX_new
    - ossl_curve448_scalar_decode_long
    - EVP_MD_CTX_free
    - hash_init_with_dom
    - ossl_curve448_base_double_scalarmul_non_secret
    - ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
    - OPENSSL_cleanse
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_c448_ed448_verify(\n                    OSSL_LIB_CTX
      *ctx,\n                    const uint8_t signature[EDDSA_448_SIGNATURE_BYTES],\n
      \                   const uint8_t pubkey[EDDSA_448_PUBLIC_BYTES],\n                    const
      uint8_t *message, size_t message_len,\n                    uint8_t prehashed,
      const uint8_t *context,\n                    uint8_t context_len, const char
      *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_verify
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - signature
    - pubkey
    - hash
    - context
    - context_len
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t*
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 9
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: ossl_c448_ed448_verify_prehash
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - ossl_c448_ed448_verify
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_c448_ed448_verify_prehash(\n                    OSSL_LIB_CTX
      *ctx,\n                    const uint8_t signature[EDDSA_448_SIGNATURE_BYTES],\n
      \                   const uint8_t pubkey[EDDSA_448_PUBLIC_BYTES],\n                    const
      uint8_t hash[64], const uint8_t *context,\n                    uint8_t context_len,
      const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_sign
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - ctx
    - out_sig
    - message
    - message_len
    - public_key
    - private_key
    - context
    - context_len
    - phflag
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t*
    - size_t
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 12
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: ossl_ed448_sign
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 1
    functionsReached:
    - ossl_c448_ed448_sign
    linkageType: ''
    returnType: int
    signature: "int ossl_ed448_sign(OSSL_LIB_CTX *ctx, uint8_t *out_sig,\n                const
      uint8_t *message, size_t message_len,\n                const uint8_t public_key[57],
      const uint8_t private_key[57],\n                const uint8_t *context, size_t
      context_len,\n                const uint8_t phflag, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c448_ed448_pubkey_verify
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pub
    - pub_len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: ossl_ed448_pubkey_verify
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 0
    functionsReached:
    - c448_ed448_pubkey_verify
    linkageType: ''
    returnType: int
    signature: int ossl_ed448_pubkey_verify(const uint8_t *pub, size_t pub_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_verify
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ctx
    - message
    - message_len
    - signature
    - public_key
    - context
    - context_len
    - phflag
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t*
    - size_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t*
    - size_t
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 9
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: ossl_ed448_verify
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 1
    functionsReached:
    - ossl_c448_ed448_verify
    linkageType: ''
    returnType: int
    signature: "int ossl_ed448_verify(OSSL_LIB_CTX *ctx,\n                  const
      uint8_t *message, size_t message_len,\n                  const uint8_t signature[114],
      const uint8_t public_key[57],\n                  const uint8_t *context, size_t
      context_len,\n                  const uint8_t phflag, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_c448_ed448_derive_public_key
      Src: /src/openssl/crypto/ec/curve448/eddsa.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - out_public_key
    - private_key
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - uint8_t[]
    - uint8_t[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 12
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: ossl_ed448_public_from_private
    functionSourceFile: /src/openssl/crypto/ec/curve448/eddsa.c
    functionUses: 1
    functionsReached:
    - ossl_c448_ed448_derive_public_key
    linkageType: ''
    returnType: int
    signature: "int ossl_ed448_public_from_private(OSSL_LIB_CTX *ctx, uint8_t out_public_key[57],\n
      \                              const uint8_t private_key[57], const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - out
    - accum
    - sub
    - p
    - extra
    argTypes:
    - curve448_scalar_t
    - c448_word_t[]
    - curve448_scalar_t
    - curve448_scalar_t
    - c448_word_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: sc_subx
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sc_subx(curve448_scalar_t out,\n                    const c448_word_t
      accum[C448_SCALAR_LIMBS],\n                    const curve448_scalar_t sub,\n
      \                   const curve448_scalar_t p, c448_word_t extra)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sc_subx
      Src: /src/openssl/crypto/ec/curve448/scalar.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 107
    functionName: sc_montmul
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 0
    functionsReached:
    - sc_subx
    linkageType: ''
    returnType: void
    signature: "void sc_montmul(curve448_scalar_t out, const curve448_scalar_t a,\n
      \                      const curve448_scalar_t b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_montmul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:112,1
    - Dst: sc_montmul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: ossl_curve448_scalar_mul
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 1
    functionsReached:
    - sc_montmul
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_scalar_mul(curve448_scalar_t out, const curve448_scalar_t
      a,\n                              const curve448_scalar_t b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_subx
      Src: /src/openssl/crypto/ec/curve448/scalar.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: ossl_curve448_scalar_sub
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 1
    functionsReached:
    - sc_subx
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_scalar_sub(curve448_scalar_t out, const curve448_scalar_t
      a,\n                         const curve448_scalar_t b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_subx
      Src: /src/openssl/crypto/ec/curve448/scalar.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: ossl_curve448_scalar_add
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 1
    functionsReached:
    - sc_subx
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_scalar_add(curve448_scalar_t out, const curve448_scalar_t
      a,\n                         const curve448_scalar_t b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - ser
    - nbytes
    argTypes:
    - curve448_scalar_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: scalar_decode_short
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline scalar_decode_short(curve448_scalar_t s,\n                                            const
      unsigned char *ser,\n                                            size_t nbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalar_decode_short
      Src: /src/openssl/crypto/ec/curve448/scalar.c:160,1
    - Dst: ossl_curve448_scalar_mul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:165,1
    - Dst: c448_succeed_if
      Src: /src/openssl/crypto/ec/curve448/scalar.c:167,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/scalar.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - ser
    argTypes:
    - curve448_scalar_t
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: ossl_curve448_scalar_decode
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_scalar_mul
    - word_is_zero
    - c448_succeed_if
    - scalar_decode_short
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_curve448_scalar_decode(curve448_scalar_t s,\n                            const
      unsigned char ser[C448_SCALAR_BYTES])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/scalar.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scalar
    argTypes:
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: ossl_curve448_scalar_destroy
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 2
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ossl_curve448_scalar_destroy(curve448_scalar_t scalar)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curve448_scalar_copy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:183,1
    - Dst: scalar_decode_short
      Src: /src/openssl/crypto/ec/curve448/scalar.c:191,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/scalar.c:194,1
    - Dst: ossl_curve448_scalar_mul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:196,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:197,1
    - Dst: sc_montmul
      Src: /src/openssl/crypto/ec/curve448/scalar.c:203,1
    - Dst: ossl_curve448_scalar_decode
      Src: /src/openssl/crypto/ec/curve448/scalar.c:204,1
    - Dst: ossl_curve448_scalar_add
      Src: /src/openssl/crypto/ec/curve448/scalar.c:205,1
    - Dst: curve448_scalar_copy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:208,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:209,1
    - Dst: ossl_curve448_scalar_destroy
      Src: /src/openssl/crypto/ec/curve448/scalar.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - s
    - ser
    - ser_len
    argTypes:
    - curve448_scalar_t
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (i == 0)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/openssl/crypto/ec/curve448/scalar.c
    constantsTouched: []
    func_position:
      end: 211
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 211
    functionName: ossl_curve448_scalar_decode_long
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 3
    functionsReached:
    - ossl_curve448_scalar_destroy
    - ossl_curve448_scalar_decode
    - ossl_curve448_scalar_add
    - sc_montmul
    - ossl_curve448_scalar_mul
    - curve448_scalar_copy
    - assert
    - scalar_decode_short
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_scalar_decode_long(curve448_scalar_t s,\n                                 const
      unsigned char *ser, size_t ser_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ser
    - s
    argTypes:
    - unsigned char[]
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: ossl_curve448_scalar_encode
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_scalar_encode(unsigned char ser[C448_SCALAR_BYTES],\n
      \                           const curve448_scalar_t s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: ossl_curve448_scalar_halve
    functionSourceFile: /src/openssl/crypto/ec/curve448/scalar.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_curve448_scalar_halve(curve448_scalar_t out, const curve448_scalar_t
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: gf_copy
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: INLINE_UNUSED
    signature: INLINE_UNUSED gf_copy(gf out, const gf a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: LIMBPERM
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMBPERM(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: LIMB_MASK
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB_MASK(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: LIMB_MASK
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB_MASK(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_RAW
      Src: /src/openssl/crypto/ec/curve448/field.h:106,1
    - Dst: gf_bias
      Src: /src/openssl/crypto/ec/curve448/field.h:107,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/field.h:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: gf_sub_nr
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - gf_weak_reduce
    - gf_bias
    - gf_sub_RAW
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline gf_sub_nr(gf c, const gf a, const gf b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_RAW
      Src: /src/openssl/crypto/ec/curve448/field.h:115,1
    - Dst: gf_bias
      Src: /src/openssl/crypto/ec/curve448/field.h:116,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/field.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - c
    - a
    - b
    - amt
    argTypes:
    - gf
    - gf
    - gf
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: gf_subx_nr
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - gf_weak_reduce
    - gf_bias
    - gf_sub_RAW
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline gf_subx_nr(gf c, const gf a, const gf b, int amt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gf_mulw_unsigned
      Src: /src/openssl/crypto/ec/curve448/field.h:125,1
    - Dst: ossl_gf_mulw_unsigned
      Src: /src/openssl/crypto/ec/curve448/field.h:127,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/field.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - c
    - a
    - w
    argTypes:
    - gf
    - gf
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: gf_mulw
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - gf_sub
    - ossl_gf_mulw_unsigned
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline gf_mulw(gf c, const gf a, int32_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_32
      Src: /src/openssl/crypto/ec/curve448/field.h:139,1
    - Dst: constant_time_select_64
      Src: /src/openssl/crypto/ec/curve448/field.h:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - x
    - y
    - z
    - is_z
    argTypes:
    - gf
    - gf
    - gf
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: gf_cond_sel
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - constant_time_select_32
    - constant_time_select_64
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline gf_cond_sel(gf x, const gf y, const gf z, mask_t is_z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/field.h:154,1
    - Dst: gf_cond_sel
      Src: /src/openssl/crypto/ec/curve448/field.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - neg
    argTypes:
    - gf
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: gf_cond_neg
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - gf_sub
    - gf_cond_sel
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline gf_cond_neg(gf x, mask_t neg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_cond_swap_32
      Src: /src/openssl/crypto/ec/curve448/field.h:165,1
    - Dst: constant_time_cond_swap_64
      Src: /src/openssl/crypto/ec/curve448/field.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - RESTRICT
    - swap
    argTypes:
    - gf
    - gf_s*
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: gf_cond_swap
    functionSourceFile: /src/openssl/crypto/ec/curve448/field.h
    functionUses: 0
    functionsReached:
    - constant_time_cond_swap_64
    - constant_time_cond_swap_32
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline gf_cond_swap(gf x, gf_s * RESTRICT y, mask_t swap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:47,1
    - Dst: gf_isr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:48,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:51,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:52,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:53,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - y
    - x
    - assert_nonzero
    argTypes:
    - gf
    - gf
    - int
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: gf_invert
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_copy
    - ossl_gf_sqr
    - ossl_gf_mul
    - gf_isr
    - assert
    linkageType: ''
    returnType: void
    signature: void gf_invert(gf y, const gf x, int assert_nonzero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:67,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:68,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:69,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:70,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:71,1
    - Dst: gf_subx_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:72,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:73,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:74,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:75,1
    - Dst: gf_subx_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:76,1
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/curve448.c:78,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:79,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:80,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:81,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - p
    - q
    - before_double
    argTypes:
    - curve448_point_t
    - curve448_point_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: point_double_internal
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_add_nr
    - gf_subx_nr
    - ossl_gf_sqr
    - ossl_gf_mul
    - gf_weak_reduce
    - gf_sub_nr
    linkageType: ''
    returnType: void
    signature: "void point_double_internal(curve448_point_t p, const curve448_point_t
      q,\n                                  int before_double)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: point_double_internal
      Src: /src/openssl/crypto/ec/curve448/curve448.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - curve448_point_t
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ossl_curve448_point_double
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - point_double_internal
    linkageType: ''
    returnType: void
    signature: void ossl_curve448_point_double(curve448_point_t p, const curve448_point_t
      q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:94,1
    - Dst: gf_cond_neg
      Src: /src/openssl/crypto/ec/curve448/curve448.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - neg
    argTypes:
    - niels_t
    - mask_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: cond_neg_niels
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_cond_neg
    - gf_cond_swap
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline cond_neg_niels(niels_t n, mask_t neg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:100,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:101,1
    - Dst: gf_mulw
      Src: /src/openssl/crypto/ec/curve448/curve448.c:102,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - a
    argTypes:
    - pniels_t
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: pt_to_pniels
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_sub
    - gf_mulw
    - gf_add
    linkageType: ''
    returnType: void
    signature: void pt_to_pniels(pniels_t b, const curve448_point_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:110,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:111,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:112,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:113,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:114,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - e
    - d
    argTypes:
    - curve448_point_t
    - pniels_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: pniels_to_pt
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_sub
    - ossl_gf_sqr
    - ossl_gf_mul
    - gf_add
    linkageType: ''
    returnType: void
    signature: void pniels_to_pt(curve448_point_t e, const pniels_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:120,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:121,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:122,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - e
    - n
    argTypes:
    - curve448_point_t
    - niels_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: niels_to_pt
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_sub
    - gf_copy
    - ossl_gf_mul
    - gf_add
    linkageType: ''
    returnType: void
    signature: void niels_to_pt(curve448_point_t e, const niels_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:131,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:132,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:133,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:134,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:135,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:136,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:137,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:138,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:139,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:140,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:141,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:142,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - d
    - e
    - before_double
    argTypes:
    - curve448_point_t
    - niels_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: add_niels_to_pt
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_add_nr
    - gf_sub_nr
    - ossl_gf_mul
    linkageType: ''
    returnType: void
    signature: "void add_niels_to_pt(curve448_point_t d, const niels_t e,\n                            int
      before_double)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:152,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:153,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:154,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:155,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:156,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:157,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:158,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:159,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:160,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:161,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:162,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:163,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - d
    - e
    - before_double
    argTypes:
    - curve448_point_t
    - niels_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: sub_niels_from_pt
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_add_nr
    - gf_sub_nr
    - ossl_gf_mul
    linkageType: ''
    returnType: void
    signature: "void sub_niels_from_pt(curve448_point_t d, const niels_t e,\n                              int
      before_double)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:173,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:174,1
    - Dst: add_niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - pn
    - before_double
    argTypes:
    - curve448_point_t
    - pniels_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: add_pniels_to_pt
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_copy
    - ossl_gf_mul
    - add_niels_to_pt
    linkageType: ''
    returnType: void
    signature: "void add_pniels_to_pt(curve448_point_t p, const pniels_t pn,\n                             int
      before_double)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:183,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:184,1
    - Dst: sub_niels_from_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - pn
    - before_double
    argTypes:
    - curve448_point_t
    - pniels_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: sub_pniels_from_pt
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_copy
    - ossl_gf_mul
    - sub_niels_from_pt
    linkageType: ''
    returnType: void
    signature: "void sub_pniels_from_pt(curve448_point_t p, const pniels_t pn,\n                               int
      before_double)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:196,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:197,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:198,1
    - Dst: mask_to_bool
      Src: /src/openssl/crypto/ec/curve448/curve448.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - curve448_point_t
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 201
    functionName: ossl_curve448_point_eq
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 1
    functionsReached:
    - mask_to_bool
    - ossl_gf_mul
    - gf_eq
    linkageType: ''
    returnType: c448_bool_t
    signature: "c448_bool_t ossl_curve448_point_eq(const curve448_point_t p,\n                       const
      curve448_point_t q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:209,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:210,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:211,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:212,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:213,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:214,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:215,1
    - Dst: gf_mulw
      Src: /src/openssl/crypto/ec/curve448/curve448.c:216,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:217,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:218,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:219,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:220,1
    - Dst: mask_to_bool
      Src: /src/openssl/crypto/ec/curve448/curve448.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: ossl_curve448_point_valid
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - mask_to_bool
    - ossl_gf_sqr
    - ossl_gf_mul
    - gf_add
    - gf_sub
    - gf_eq
    - gf_mulw
    linkageType: ''
    returnType: c448_bool_t
    signature: c448_bool_t ossl_curve448_point_valid(const curve448_point_t p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_curve448_scalar_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:241,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/openssl/crypto/ec/curve448/curve448.c:242,1
    - Dst: point_double_internal
      Src: /src/openssl/crypto/ec/curve448/curve448.c:246,1
    - Dst: constant_time_lookup_niels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:264,1
    - Dst: cond_neg_niels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:267,1
    - Dst: add_niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:269,1
    - Dst: niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:271,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:275,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - out
    - table
    - scalar
    argTypes:
    - curve448_point_t
    - curve448_precomputed_s*
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 277
    functionName: ossl_curve448_precomputed_scalarmul
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 2
    functionsReached:
    - cond_neg_niels
    - OPENSSL_cleanse
    - add_niels_to_pt
    - point_double_internal
    - ossl_curve448_scalar_add
    - niels_to_pt
    - ossl_curve448_scalar_halve
    - constant_time_lookup_niels
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_precomputed_scalarmul(curve448_point_t out,\n                                    const
      curve448_precomputed_s *table,\n                                    const curve448_scalar_t
      scalar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curve448_point_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:288,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:294,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:295,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:296,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:297,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:298,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:299,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:300,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:301,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:302,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:303,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:304,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:305,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:306,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:307,1
    - Dst: gf_invert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:311,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:312,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:313,1
    - Dst: gf_serialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:317,1
    - Dst: gf_lobit
      Src: /src/openssl/crypto/ec/curve448/curve448.c:318,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:320,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:321,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:322,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:323,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - enc
    - p
    argTypes:
    - uint8_t[]
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 325
    functionName: ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 2
    functionsReached:
    - gf_serialize
    - ossl_curve448_point_destroy
    - ossl_gf_sqr
    - gf_lobit
    - curve448_point_copy
    - ossl_gf_mul
    - gf_invert
    - gf_add
    - gf_sub
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_point_mul_by_ratio_and_encode_like_eddsa(\n                                    uint8_t
      enc[EDDSA_448_PUBLIC_BYTES],\n                                    const curve448_point_t
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:336,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/curve448.c:338,1
    - Dst: gf_deserialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:341,1
    - Dst: word_is_zero
      Src: /src/openssl/crypto/ec/curve448/curve448.c:342,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:344,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:345,1
    - Dst: gf_mulw
      Src: /src/openssl/crypto/ec/curve448/curve448.c:346,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:347,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:349,1
    - Dst: gf_isr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:350,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:352,1
    - Dst: gf_cond_neg
      Src: /src/openssl/crypto/ec/curve448/curve448.c:353,1
    - Dst: gf_lobit
      Src: /src/openssl/crypto/ec/curve448/curve448.c:353,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:354,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:360,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:361,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:362,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:363,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:364,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:365,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:366,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:367,1
    - Dst: gf_add
      Src: /src/openssl/crypto/ec/curve448/curve448.c:368,1
    - Dst: gf_sub
      Src: /src/openssl/crypto/ec/curve448/curve448.c:369,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:370,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:371,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:372,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:373,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:374,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:375,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:376,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:377,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:380,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:381,1
    - Dst: ossl_curve448_point_valid
      Src: /src/openssl/crypto/ec/curve448/curve448.c:381,1
    - Dst: c448_succeed_if
      Src: /src/openssl/crypto/ec/curve448/curve448.c:383,1
    - Dst: mask_to_bool
      Src: /src/openssl/crypto/ec/curve448/curve448.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 2
    argNames:
    - p
    - enc
    argTypes:
    - curve448_point_t
    - uint8_t[]
    assertStmts:
    - condition: (ossl_curve448_point_valid(p) || ~succ)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    constantsTouched: []
    func_position:
      end: 384
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 384
    functionName: ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 2
    functionsReached:
    - OPENSSL_cleanse
    - mask_to_bool
    - c448_succeed_if
    - memcpy
    - ossl_gf_sqr
    - gf_lobit
    - ossl_gf_mul
    - gf_copy
    - word_is_zero
    - assert
    - gf_deserialize
    - gf_add
    - gf_sub
    - ossl_curve448_point_valid
    - gf_cond_neg
    - gf_isr
    - gf_mulw
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_curve448_point_decode_like_eddsa_and_mul_by_ratio(\n
      \                               curve448_point_t p,\n                                const
      uint8_t enc[EDDSA_448_PUBLIC_BYTES])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gf_deserialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:396,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:397,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:398,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:399,1
    - Dst: gf_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:400,1
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:416,1
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:417,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:425,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:426,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:427,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:428,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:429,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:430,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:431,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:432,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:433,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:434,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:435,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:437,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:438,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:439,1
    - Dst: gf_sub_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:440,1
    - Dst: gf_mulw
      Src: /src/openssl/crypto/ec/curve448/curve448.c:442,1
    - Dst: gf_add_nr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:443,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:444,1
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:448,1
    - Dst: gf_cond_swap
      Src: /src/openssl/crypto/ec/curve448/curve448.c:449,1
    - Dst: gf_invert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:450,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:451,1
    - Dst: gf_serialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:452,1
    - Dst: gf_eq
      Src: /src/openssl/crypto/ec/curve448/curve448.c:453,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:455,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:456,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:457,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:458,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:459,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:460,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:461,1
    - Dst: c448_succeed_if
      Src: /src/openssl/crypto/ec/curve448/curve448.c:463,1
    - Dst: mask_to_bool
      Src: /src/openssl/crypto/ec/curve448/curve448.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 3
    argNames:
    - out
    - base
    - scalar
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 386
    functionDepth: 5
    functionLinenumber: 386
    functionLinenumberEnd: 464
    functionName: ossl_x448_int
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_add_nr
    - mask_to_bool
    - gf_serialize
    - c448_succeed_if
    - gf_copy
    - ossl_gf_sqr
    - ossl_gf_mul
    - gf_invert
    - gf_deserialize
    - gf_sub_nr
    - OPENSSL_cleanse
    - gf_eq
    - gf_mulw
    - gf_cond_swap
    linkageType: ''
    returnType: c448_error_t
    signature: "c448_error_t ossl_x448_int(uint8_t out[X_PUBLIC_BYTES],\n              const
      uint8_t base[X_PUBLIC_BYTES],\n              const uint8_t scalar[X_PRIVATE_BYTES])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curve448_point_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:473,1
    - Dst: gf_invert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:474,1
    - Dst: ossl_gf_mul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:475,1
    - Dst: ossl_gf_sqr
      Src: /src/openssl/crypto/ec/curve448/curve448.c:476,1
    - Dst: gf_serialize
      Src: /src/openssl/crypto/ec/curve448/curve448.c:477,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - p
    argTypes:
    - uint8_t[]
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 5
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: ossl_curve448_point_mul_by_ratio_and_encode_like_x448
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - gf_serialize
    - ossl_curve448_point_destroy
    - ossl_gf_sqr
    - ossl_gf_mul
    - curve448_point_copy
    - gf_invert
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_point_mul_by_ratio_and_encode_like_x448(uint8_t\n
      \                                                     out[X_PUBLIC_BYTES],\n
      \                                                     const curve448_point_t
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:490,1
    - Dst: ossl_curve448_scalar_decode_long
      Src: /src/openssl/crypto/ec/curve448/curve448.c:496,1
    - Dst: ossl_curve448_scalar_halve
      Src: /src/openssl/crypto/ec/curve448/curve448.c:500,1
    - Dst: ossl_curve448_precomputed_scalarmul
      Src: /src/openssl/crypto/ec/curve448/curve448.c:502,1
    - Dst: ossl_curve448_point_mul_by_ratio_and_encode_like_x448
      Src: /src/openssl/crypto/ec/curve448/curve448.c:504,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - out
    - scalar
    argTypes:
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 481
    functionDepth: 6
    functionLinenumber: 481
    functionLinenumberEnd: 506
    functionName: ossl_x448_derive_public_key
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - ossl_curve448_point_destroy
    - memcpy
    - ossl_curve448_scalar_decode_long
    - ossl_curve448_scalar_halve
    - ossl_curve448_precomputed_scalarmul
    - ossl_curve448_point_mul_by_ratio_and_encode_like_x448
    linkageType: ''
    returnType: void
    signature: "void ossl_x448_derive_public_key(uint8_t out[X_PUBLIC_BYTES],\n                                 const
      uint8_t scalar[X_PRIVATE_BYTES])"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 550
    functionName: numtrailingzeros
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t numtrailingzeros(uint32_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NUMTRAILINGZEROS
      Src: /src/openssl/crypto/ec/curve448/curve448.c:585,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:589,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - control
    - scalar
    - table_bits
    argTypes:
    - struct smvt_control*
    - curve448_scalar_t
    - unsigned int
    assertStmts:
    - condition: (position >= 0)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    - condition: (current == 0)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    constantsTouched: []
    func_position:
      end: 614
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 614
    functionName: recode_wnaf
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - NUMTRAILINGZEROS
    - assert
    linkageType: ''
    returnType: int
    signature: "int recode_wnaf(struct smvt_control *control,\n                       /*
      [nbits/(table_bits + 1) + 3] */\n                       const curve448_scalar_t
      scalar,\n                       unsigned int table_bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pt_to_pniels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:624,1
    - Dst: ossl_curve448_point_double
      Src: /src/openssl/crypto/ec/curve448/curve448.c:629,1
    - Dst: pt_to_pniels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:630,1
    - Dst: add_pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:632,1
    - Dst: pt_to_pniels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:633,1
    - Dst: add_pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:636,1
    - Dst: pt_to_pniels
      Src: /src/openssl/crypto/ec/curve448/curve448.c:637,1
    - Dst: ossl_curve448_point_destroy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:640,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - output
    - working
    - tbits
    argTypes:
    - pniels_t*
    - curve448_point_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 642
    functionName: prepare_wnaf_table
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 0
    functionsReached:
    - add_pniels_to_pt
    - ossl_curve448_point_destroy
    - ossl_curve448_point_double
    - pt_to_pniels
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void prepare_wnaf_table(pniels_t *output,\n                               const
      curve448_point_t working,\n                               unsigned int tbits)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: recode_wnaf
      Src: /src/openssl/crypto/ec/curve448/curve448.c:656,1
    - Dst: recode_wnaf
      Src: /src/openssl/crypto/ec/curve448/curve448.c:657,1
    - Dst: prepare_wnaf_table
      Src: /src/openssl/crypto/ec/curve448/curve448.c:661,1
    - Dst: curve448_point_copy
      Src: /src/openssl/crypto/ec/curve448/curve448.c:665,1
    - Dst: pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:669,1
    - Dst: pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:672,1
    - Dst: add_niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:673,1
    - Dst: niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:680,1
    - Dst: point_double_internal
      Src: /src/openssl/crypto/ec/curve448/curve448.c:688,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:691,1
    - Dst: add_pniels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:694,1
    - Dst: sub_pniels_from_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:698,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:705,1
    - Dst: add_niels_to_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:708,1
    - Dst: sub_niels_from_pt
      Src: /src/openssl/crypto/ec/curve448/curve448.c:712,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:720,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:721,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:722,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:724,1
    - Dst: assert
      Src: /src/openssl/crypto/ec/curve448/curve448.c:726,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 4
    argNames:
    - combo
    - scalar1
    - base2
    - scalar2
    argTypes:
    - curve448_point_t
    - curve448_scalar_t
    - curve448_point_t
    - curve448_scalar_t
    assertStmts:
    - condition: (contp == ncb_pre)
      pos:
        line_end: 725
        line_start: 725
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    - condition: (control_pre[contp].addend)
      pos:
        line_end: 704
        line_start: 704
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    - condition: (contv == ncb_var)
      pos:
        line_end: 723
        line_start: 723
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    - condition: (control_var[contv].addend)
      pos:
        line_end: 690
        line_start: 690
        source_file: /src/openssl/crypto/ec/curve448/curve448.c
    constantsTouched: []
    func_position:
      end: 728
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 728
    functionName: ossl_curve448_base_double_scalarmul_non_secret
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 1
    functionsReached:
    - add_niels_to_pt
    - add_pniels_to_pt
    - pniels_to_pt
    - prepare_wnaf_table
    - curve448_point_copy
    - point_double_internal
    - sub_pniels_from_pt
    - niels_to_pt
    - recode_wnaf
    - sub_niels_from_pt
    - OPENSSL_cleanse
    - assert
    linkageType: ''
    returnType: void
    signature: "void ossl_curve448_base_double_scalarmul_non_secret(curve448_point_t
      combo,\n                                               const curve448_scalar_t
      scalar1,\n                                               const curve448_point_t
      base2,\n                                               const curve448_scalar_t
      scalar2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/ec/curve448/curve448.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: ossl_curve448_point_destroy
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 6
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ossl_curve448_point_destroy(curve448_point_t point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x448_int
      Src: /src/openssl/crypto/ec/curve448/curve448.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out_shared_key
    - private_key
    - peer_public_value
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 6
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: ossl_x448
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 2
    functionsReached:
    - ossl_x448_int
    linkageType: ''
    returnType: int
    signature: "int ossl_x448(uint8_t out_shared_key[56], const uint8_t private_key[56],\n
      \             const uint8_t peer_public_value[56])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x448_derive_public_key
      Src: /src/openssl/crypto/ec/curve448/curve448.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out_public_value
    - private_key
    argTypes:
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 7
    functionLinenumber: 742
    functionLinenumberEnd: 746
    functionName: ossl_x448_public_from_private
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448.c
    functionUses: 1
    functionsReached:
    - ossl_x448_derive_public_key
    linkageType: ''
    returnType: void
    signature: "void ossl_x448_public_from_private(uint8_t out_public_value[56],\n
      \                                  const uint8_t private_key[56])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - c448_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: c448_error_t::c448_succeed_if
    functionSourceFile: /src/openssl/crypto/ec/curve448/curve448utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline c448_error_t c448_succeed_if(c448_bool_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - a
    argTypes:
    - curve448_scalar_t
    - curve448_scalar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: curve448_scalar_copy
    functionSourceFile: /src/openssl/crypto/ec/curve448/point_448.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline curve448_scalar_copy(curve448_scalar_t out,\n                                             const
      curve448_scalar_t a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - curve448_point_t
    - curve448_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: curve448_point_copy
    functionSourceFile: /src/openssl/crypto/ec/curve448/point_448.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline curve448_point_copy(curve448_point_t a,\n                                            const
      curve448_point_t b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: word_is_zero
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: word_is_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: widemul
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/arch_intrinsics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline widemul(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: LIMB
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: FIELD_LITERAL
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIELD_LITERAL(a, b, c, d, e, f, g, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: LIMB_PLACE_VALUE
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB_PLACE_VALUE(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: gf_add_RAW
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_add_RAW(gf out, const gf a, const gf b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: gf_sub_RAW
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_sub_RAW(gf out, const gf a, const gf b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - amt
    argTypes:
    - gf
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: gf_bias
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_bias(gf a, int amt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: gf_weak_reduce
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_32/f_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_weak_reduce(gf a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: word_is_zero
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_64/arch_intrinsics.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: word_is_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: widemul
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_64/arch_intrinsics.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline widemul(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: FIELD_LITERAL
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIELD_LITERAL(a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: LIMB_PLACE_VALUE
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMB_PLACE_VALUE(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/arch_64/f_impl.h:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: gf_add_RAW
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: 1
    functionsReached:
    - gf_weak_reduce
    linkageType: ''
    returnType: void
    signature: void gf_add_RAW(gf out, const gf a, const gf b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf_weak_reduce
      Src: /src/openssl/crypto/ec/curve448/arch_64/f_impl.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - out
    - a
    - b
    argTypes:
    - gf
    - gf
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: gf_sub_RAW
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: 3
    functionsReached:
    - gf_weak_reduce
    linkageType: ''
    returnType: void
    signature: void gf_sub_RAW(gf out, const gf a, const gf b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - amt
    argTypes:
    - gf
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: gf_bias
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_bias(gf a, int amt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - gf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: gf_weak_reduce
    functionSourceFile: /src/openssl/crypto/ec/curve448/arch_64/f_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gf_weak_reduce(gf a)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:115,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:117,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:119,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:123,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:125,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:127,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:131,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:133,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:135,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 4
    argNames:
    - method
    - in
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: i2r_ocsp_crlid
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - i2a_ASN1_INTEGER
    - ASN1_GENERALIZEDTIME_print
    - ASN1_STRING_print
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ocsp_crlid(const X509V3_EXT_METHOD *method, void *in, BIO
      *bp,\n                          int ind)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:146,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - method
    - cutoff
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: i2r_ocsp_acutoff
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ASN1_GENERALIZEDTIME_print
    linkageType: ''
    returnType: int
    signature: "int i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void *cutoff,\n
      \                           BIO *bp, int ind)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:156,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - method
    - oid
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: i2r_object
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_OBJECT
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_object(const X509V3_EXT_METHOD *method, void *oid, BIO *bp,\n
      \                     int ind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: ocsp_nonce_new
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: void
    signature: void *ocsp_nonce_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: i2d_ocsp_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int i2d_ocsp_nonce(const void *a, unsigned char **pp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:188,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:194,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:205,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - void*
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 208
    functionName: d2i_ocsp_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - ERR_raise
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: void *d2i_ocsp_nonce(void *a, const unsigned char **pp, long length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: ocsp_nonce_free
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: void ocsp_nonce_free(void *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:218,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - method
    - nonce
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: i2r_ocsp_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_STRING
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ocsp_nonce(const X509V3_EXT_METHOD *method, void *nonce,\n
      \                         BIO *out, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - nocheck
    - out
    - indent
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: i2r_ocsp_nocheck
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int i2r_ocsp_nocheck(const X509V3_EXT_METHOD *method, void *nocheck,\n
      \                           BIO *out, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: s2i_ocsp_nocheck
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: "void *s2i_ocsp_nocheck(const X509V3_EXT_METHOD *method,\n                              X509V3_CTX
      *ctx, const char *str)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:246,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:248,1
    - Dst: sk_ACCESS_DESCRIPTION_num
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:250,1
    - Dst: sk_ACCESS_DESCRIPTION_value
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:251,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:252,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:254,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:256,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/ocsp/v3_ocsp.c:258,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - method
    - in
    - bp
    - ind
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 264
    functionName: i2r_ocsp_serviceloc
    functionSourceFile: /src/openssl/crypto/ocsp/v3_ocsp.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_print
    - sk_ACCESS_DESCRIPTION_num
    - X509_NAME_print_ex
    - BIO_puts
    - sk_ACCESS_DESCRIPTION_value
    - i2a_ASN1_OBJECT
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int i2r_ocsp_serviceloc(const X509V3_EXT_METHOD *method, void *in,\n
      \                              BIO *bp, int ind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: OCSP_REQUEST_get_ext_count
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_REQUEST*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: OCSP_REQUEST_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_REQUEST*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: OCSP_REQUEST_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, const ASN1_OBJECT
      *obj,\n                                int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_REQUEST*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: OCSP_REQUEST_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, int
      lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_REQUEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: OCSP_REQUEST_get_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_REQUEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: OCSP_REQUEST_delete_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - OCSP_REQUEST*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: OCSP_REQUEST_get1_ext_d2i
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit,
      int *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - OCSP_REQUEST*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: OCSP_REQUEST_add1_ext_i2d
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: "int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value,
      int crit,\n                              unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_REQUEST*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: OCSP_REQUEST_add_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_ONEREQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: OCSP_ONEREQ_get_ext_count
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: OCSP_ONEREQ_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: OCSP_ONEREQ_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, const ASN1_OBJECT *obj,\n
      \                              int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_ONEREQ*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: OCSP_ONEREQ_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_ONEREQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: OCSP_ONEREQ_get_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_ONEREQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: OCSP_ONEREQ_delete_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - OCSP_ONEREQ*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: OCSP_ONEREQ_get1_ext_d2i
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit,
      int *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - OCSP_ONEREQ*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: OCSP_ONEREQ_add1_ext_i2d
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: "int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value,
      int crit,\n                             unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_ONEREQ*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: OCSP_ONEREQ_add_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: OCSP_BASICRESP_get_ext_count
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: OCSP_BASICRESP_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: OCSP_BASICRESP_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, const ASN1_OBJECT
      *obj,\n                                  int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_BASICRESP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: OCSP_BASICRESP_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: "int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit,\n
      \                                      int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: OCSP_BASICRESP_get_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: OCSP_BASICRESP_delete_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - OCSP_BASICRESP*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: OCSP_BASICRESP_get1_ext_d2i
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: "void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int
      *crit,\n                                  int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - OCSP_BASICRESP*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: OCSP_BASICRESP_add1_ext_i2d
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: "int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value,\n
      \                               int crit, unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_BASICRESP*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: OCSP_BASICRESP_add_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int
      loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OCSP_SINGLERESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: OCSP_SINGLERESP_get_ext_count
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - nid
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: OCSP_SINGLERESP_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, int
      lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - obj
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: OCSP_SINGLERESP_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, const ASN1_OBJECT
      *obj,\n                                   int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - crit
    - lastpos
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: OCSP_SINGLERESP_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: "int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit,\n
      \                                       int lastpos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: OCSP_SINGLERESP_get_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: OCSP_SINGLERESP_delete_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int
      loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - nid
    - crit
    - idx
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: OCSP_SINGLERESP_get1_ext_d2i
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: "void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int
      *crit,\n                                   int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_add1_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - x
    - nid
    - value
    - crit
    - flags
    argTypes:
    - OCSP_SINGLERESP*
    - int
    - void*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: OCSP_SINGLERESP_add1_ext_i2d
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509V3_add1_i2d
    linkageType: ''
    returnType: int
    signature: "int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void
      *value,\n                                 int crit, unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - ex
    - loc
    argTypes:
    - OCSP_SINGLERESP*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: OCSP_SINGLERESP_add_ext
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex,
      int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_add1_nonce
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - req
    - val
    - len
    argTypes:
    - OCSP_REQUEST*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: OCSP_request_add1_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - ocsp_add1_nonce
    linkageType: ''
    returnType: int
    signature: int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val,
      int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ocsp_add1_nonce
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - resp
    - val
    - len
    argTypes:
    - OCSP_BASICRESP*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: OCSP_basic_add1_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - ocsp_add1_nonce
    linkageType: ''
    returnType: int
    signature: int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val,
      int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_REQUEST_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:321,1
    - Dst: OCSP_BASICRESP_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:322,1
    - Dst: OCSP_REQUEST_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:335,1
    - Dst: OCSP_BASICRESP_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:336,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:337,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:337,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - req
    - bs
    argTypes:
    - OCSP_REQUEST*
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 341
    functionName: OCSP_check_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - OCSP_REQUEST_get_ext
    - X509_EXTENSION_get_data
    - OCSP_REQUEST_get_ext_by_NID
    - ASN1_OCTET_STRING_cmp
    - OCSP_BASICRESP_get_ext
    - OCSP_BASICRESP_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_REQUEST_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:352,1
    - Dst: OCSP_REQUEST_get_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:356,1
    - Dst: OCSP_BASICRESP_add_ext
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - resp
    - req
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: OCSP_copy_nonce
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - OCSP_BASICRESP_add_ext
    - OCSP_REQUEST_get_ext_by_NID
    - OCSP_REQUEST_get_ext
    linkageType: ''
    returnType: int
    signature: int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_CRLID_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:365,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:368,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:370,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:374,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:376,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:380,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:382,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:385,1
    - Dst: OCSP_CRLID_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:387,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - url
    - n
    - tim
    argTypes:
    - char*
    - long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 389
    functionName: OCSP_crlID_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_new
    - ASN1_GENERALIZEDTIME_set_string
    - OCSP_CRLID_new
    - ASN1_IA5STRING_new
    - OCSP_CRLID_free
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - ASN1_STRING_set
    - X509V3_EXT_i2d
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_crlID_new(const char *url, long *n, char *tim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:395,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:399,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:402,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:402,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:403,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:407,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:409,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - oids
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 411
    functionName: OCSP_accept_responses_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_OBJECT_push
    - STACK_OF
    - OBJ_nid2obj
    - OBJ_txt2nid
    - sk_ASN1_OBJECT_pop_free
    - sk_ASN1_OBJECT_new_null
    - X509V3_EXT_i2d
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_accept_responses_new(char **oids)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:419,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:421,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:423,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tim
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 427
    functionName: OCSP_archive_cutoff_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_free
    - ASN1_GENERALIZEDTIME_new
    - ASN1_GENERALIZEDTIME_set_string
    - X509V3_EXT_i2d
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_archive_cutoff_new(char *tim)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_SERVICELOC_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:441,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:443,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:444,1
    - Dst: sk_ACCESS_DESCRIPTION_new_null
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:447,1
    - Dst: ACCESS_DESCRIPTION_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:450,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:452,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:454,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:456,1
    - Dst: sk_ACCESS_DESCRIPTION_push
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:462,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:467,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:469,1
    - Dst: ACCESS_DESCRIPTION_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:470,1
    - Dst: OCSP_SERVICELOC_free
      Src: /src/openssl/crypto/ocsp/ocsp_ext.c:471,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - issuer
    - urls
    argTypes:
    - X509_NAME*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 473
    functionName: OCSP_url_svcloc_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_ext.c
    functionUses: 0
    functionsReached:
    - OCSP_SERVICELOC_new
    - ACCESS_DESCRIPTION_free
    - X509V3_EXT_i2d
    - OCSP_SERVICELOC_free
    - ASN1_IA5STRING_new
    - X509_NAME_dup
    - OBJ_nid2obj
    - ASN1_STRING_set
    - X509_NAME_free
    - sk_ACCESS_DESCRIPTION_push
    - sk_ACCESS_DESCRIPTION_new_null
    - ASN1_IA5STRING_free
    - ACCESS_DESCRIPTION_new
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *OCSP_url_svcloc_new(const X509_NAME *issuer, const
      char **urls)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:34,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:39,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:42,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:43,1
    - Dst: X509_STORE_CTX_get0_param
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:46,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:49,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:51,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:56,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:57,1
    - Dst: X509_STORE_CTX_set_trust
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:58,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:60,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:62,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:64,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:65,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:69,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:72,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 6
    argNames:
    - signer
    - response
    - st
    - flags
    - untrusted
    - chain
    argTypes:
    - X509*
    - int
    - X509_STORE*
    - unsigned long
    - STACK_OF*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 74
    functionName: ocsp_verify_signer
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_verify_cert
    - X509_STORE_CTX_new
    - ERR_raise
    - X509_STORE_CTX_free
    - X509_VERIFY_PARAM_clear_flags
    - X509_STORE_CTX_set_trust
    - ERR_raise_data
    - X509_STORE_CTX_get1_chain
    - X509_STORE_CTX_get0_param
    - X509_verify_cert_error_string
    - X509_VERIFY_PARAM_set_flags
    - X509_get_ext_by_NID
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_set_purpose
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: "int ocsp_verify_signer(X509 *signer, int response,\n                              X509_STORE
      *st, unsigned long flags,\n                              STACK_OF(X509) *untrusted,
      STACK_OF(X509) **chain)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:84,1
    - Dst: OCSP_REQUEST_verify
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:88,1
    - Dst: OCSP_BASICRESP_verify
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - req
    - bs
    - signer
    - flags
    argTypes:
    - OCSP_REQUEST*
    - OCSP_BASICRESP*
    - X509*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: ocsp_verify
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - OCSP_BASICRESP_verify
    - OCSP_REQUEST_verify
    - ERR_raise
    - X509_get0_pubkey
    linkageType: ''
    returnType: int
    signature: "int ocsp_verify(OCSP_REQUEST *req, OCSP_BASICRESP *bs,\n                       X509
      *signer, unsigned long flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_find_by_subject
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:198,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:207,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:208,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:209,1
    - Dst: X509_pubkey_digest
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:211,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:212,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - certs
    - id
    argTypes:
    - STACK_OF*
    - OCSP_RESPID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 10
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: ocsp_find_signer_sk
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - memcmp
    - EVP_MD_free
    - sk_X509_value
    - X509_find_by_subject
    - X509_pubkey_digest
    - EVP_MD_fetch
    - sk_X509_num
    linkageType: ''
    returnType: X509
    signature: X509 *ocsp_find_signer_sk(STACK_OF(X509) *certs, OCSP_RESPID *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:373,1
    - Dst: X509_get_extended_key_usage
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 5
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: ocsp_check_delegated
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_get_extended_key_usage
    - X509_get_extension_flags
    linkageType: ''
    returnType: int
    signature: int ocsp_check_delegated(X509 *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_find_by_subject
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:428,1
    - Dst: X509_find_by_subject
      Src: /src/openssl/crypto/ocsp/ocsp_vfy.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - psigner
    - req
    - nm
    - certs
    - flags
    argTypes:
    - X509**
    - OCSP_REQUEST*
    - X509_NAME*
    - STACK_OF*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 440
    functionName: ocsp_req_find_signer
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_find_by_subject
    linkageType: ''
    returnType: int
    signature: "int ocsp_req_find_signer(X509 **psigner, OCSP_REQUEST *req,\n                                const
      X509_NAME *nm, STACK_OF(X509) *certs,\n                                unsigned
      long flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_REQ_CTX_new
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:18,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:31,1
    - Dst: OSSL_HTTP_REQ_CTX_set_expected
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:35,1
    - Dst: OSSL_HTTP_REQ_CTX_set1_req
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:40,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:41,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - io
    - path
    - req
    - buf_size
    argTypes:
    - BIO*
    - char*
    - OCSP_REQUEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: OCSP_sendreq_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_http.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_REQ_CTX_free
    - ASN1_ITEM_rptr
    - OSSL_HTTP_REQ_CTX_set_request_line
    - OSSL_HTTP_REQ_CTX_set_expected
    - OSSL_HTTP_REQ_CTX_set1_req
    - OSSL_HTTP_REQ_CTX_new
    linkageType: ''
    returnType: OSSL_HTTP_REQ_CTX
    signature: "OSSL_HTTP_REQ_CTX *OCSP_sendreq_new(BIO *io, const char *path,\n                                    const
      OCSP_REQUEST *req, int buf_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_sendreq_new
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:57,1
    - Dst: OSSL_HTTP_REQ_CTX_exchange
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:60,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:62,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:62,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/crypto/ocsp/ocsp_http.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - b
    - path
    - req
    argTypes:
    - BIO*
    - char*
    - OCSP_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: OCSP_sendreq_bio
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_http.c
    functionUses: 0
    functionsReached:
    - OSSL_HTTP_REQ_CTX_free
    - ASN1_ITEM_rptr
    - OSSL_HTTP_REQ_CTX_exchange
    - OCSP_sendreq_new
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: OCSP_RESPONSE
    signature: OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, const char *path, OCSP_REQUEST
      *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_ONEREQ_num
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - OCSP_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: OCSP_request_onereq_count
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - sk_OCSP_ONEREQ_num
    linkageType: ''
    returnType: int
    signature: int OCSP_request_onereq_count(OCSP_REQUEST *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_ONEREQ_value
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - req
    - i
    argTypes:
    - OCSP_REQUEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: OCSP_request_onereq_get0
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - sk_OCSP_ONEREQ_value
    linkageType: ''
    returnType: OCSP_ONEREQ
    signature: OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - one
    argTypes:
    - OCSP_ONEREQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: OCSP_onereq_get0_id
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OCSP_CERTID
    signature: OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - piNameHash
    - pmd
    - pikeyHash
    - pserial
    - cid
    argTypes:
    - ASN1_OCTET_STRING**
    - ASN1_OBJECT**
    - ASN1_OCTET_STRING**
    - ASN1_INTEGER**
    - OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: OCSP_id_get0_info
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT
      **pmd,\n                      ASN1_OCTET_STRING **pikeyHash,\n                      ASN1_INTEGER
      **pserial, OCSP_CERTID *cid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - OCSP_REQUEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: OCSP_request_is_signed
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OCSP_request_is_signed(OCSP_REQUEST *req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_RESPONSE_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:67,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:69,1
    - Dst: OCSP_RESPBYTES_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:73,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:75,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:76,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:77,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - status
    - bs
    argTypes:
    - int
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: OCSP_response_create
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - OCSP_RESPBYTES_new
    - OCSP_RESPONSE_new
    - OCSP_RESPONSE_free
    - ASN1_ITEM_rptr
    - OBJ_nid2obj
    - ASN1_item_pack
    - ASN1_ENUMERATED_set
    linkageType: ''
    returnType: OCSP_RESPONSE
    signature: OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_SINGLERESP_new_null
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:98,1
    - Dst: OCSP_SINGLERESP_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:101,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:104,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:107,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:110,1
    - Dst: OCSP_CERTID_dup
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:112,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:119,1
    - Dst: OCSP_REVOKEDINFO_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:122,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:124,1
    - Dst: ASN1_ENUMERATED_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:127,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:129,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:135,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:140,1
    - Dst: sk_OCSP_SINGLERESP_push
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:148,1
    - Dst: OCSP_SINGLERESP_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:152,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 62
    argCount: 7
    argNames:
    - rsp
    - cid
    - status
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_CERTID*
    - int
    - int
    - ASN1_TIME*
    - ASN1_TIME*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 154
    functionName: OCSP_basic_add1_status
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - OCSP_CERTID_free
    - sk_OCSP_SINGLERESP_new_null
    - ERR_raise
    - OCSP_SINGLERESP_free
    - OCSP_CERTID_dup
    - ASN1_TIME_to_generalizedtime
    - ASN1_ENUMERATED_new
    - ASN1_NULL_new
    - sk_OCSP_SINGLERESP_push
    - OCSP_REVOKEDINFO_new
    - OCSP_SINGLERESP_new
    - ASN1_ENUMERATED_set
    linkageType: ''
    returnType: OCSP_SINGLERESP
    signature: "OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp,\n                                        OCSP_CERTID
      *cid,\n                                        int status, int reason,\n                                        ASN1_TIME
      *revtime,\n                                        ASN1_TIME *thisupd,\n                                        ASN1_TIME
      *nextupd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - resp
    - cert
    argTypes:
    - OCSP_BASICRESP*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: OCSP_basic_add1_cert
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - ossl_x509_add_cert_new
    linkageType: ''
    returnType: int
    signature: int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:219,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:226,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:226,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:228,1
    - Dst: OCSP_basic_sign_ctx
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:231,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - brsp
    - signer
    - key
    - dgst
    - certs
    - flags
    argTypes:
    - OCSP_BASICRESP*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - STACK_OF*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 8
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: OCSP_basic_sign
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_MD_get0_name
    - EVP_DigestSignInit_ex
    - OCSP_basic_sign_ctx
    linkageType: ''
    returnType: int
    signature: "int OCSP_basic_sign(OCSP_BASICRESP *brsp,\n                    X509
      *signer, EVP_PKEY *key, const EVP_MD *dgst,\n                    STACK_OF(X509)
      *certs, unsigned long flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:238,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - respid
    - cert
    argTypes:
    - OCSP_RESPID*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: OCSP_RESPID_set_by_name
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: int OCSP_RESPID_set_by_name(OCSP_RESPID *respid, X509 *cert)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:251,1
    - Dst: X509_pubkey_digest
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:258,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:261,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:265,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:266,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - respid
    - cert
    - libctx
    - propq
    argTypes:
    - OCSP_RESPID*
    - X509*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 246
    functionDepth: 10
    functionLinenumber: 246
    functionLinenumberEnd: 277
    functionName: OCSP_RESPID_set_by_key_ex
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ASN1_OCTET_STRING_set
    - X509_pubkey_digest
    - ASN1_OCTET_STRING_free
    - EVP_MD_fetch
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: "int OCSP_RESPID_set_by_key_ex(OCSP_RESPID *respid, X509 *cert,\n                              OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_RESPID_set_by_key_ex
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - respid
    - cert
    argTypes:
    - OCSP_RESPID*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 11
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: OCSP_RESPID_set_by_key
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - OCSP_RESPID_set_by_key_ex
    linkageType: ''
    returnType: int
    signature: int OCSP_RESPID_set_by_key(OCSP_RESPID *respid, X509 *cert)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:295,1
    - Dst: X509_pubkey_digest
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:303,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:306,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:307,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:307,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:313,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:314,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - respid
    - cert
    - libctx
    - propq
    argTypes:
    - OCSP_RESPID*
    - X509*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 286
    functionDepth: 10
    functionLinenumber: 286
    functionLinenumberEnd: 320
    functionName: OCSP_RESPID_match_ex
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - memcmp
    - EVP_MD_free
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - X509_get_subject_name
    - X509_NAME_cmp
    - X509_pubkey_digest
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: "int OCSP_RESPID_match_ex(OCSP_RESPID *respid, X509 *cert, OSSL_LIB_CTX
      *libctx,\n                         const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_RESPID_match_ex
      Src: /src/openssl/crypto/ocsp/ocsp_srv.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - respid
    - cert
    argTypes:
    - OCSP_RESPID*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 11
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: OCSP_RESPID_match
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_srv.c
    functionUses: 0
    functionsReached:
    - OCSP_RESPID_match_ex
    linkageType: ''
    returnType: int
    signature: int OCSP_RESPID_match(OCSP_RESPID *respid, X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:30,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:32,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:33,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:35,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:38,1
    - Dst: OCSP_cert_id_new
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dgst
    - subject
    - issuer
    argTypes:
    - EVP_MD*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: OCSP_cert_to_id
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_lib.c
    functionUses: 1
    functionsReached:
    - X509_get0_pubkey_bitstr
    - OCSP_cert_id_new
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - X509_get_subject_name
    - EVP_sha1
    linkageType: ''
    returnType: OCSP_CERTID
    signature: "OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, const X509 *subject,\n
      \                            const X509 *issuer)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_CERTID_new
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:53,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:57,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:59,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:62,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:64,1
    - Dst: X509_NAME_digest
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:68,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:70,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:74,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:77,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:86,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:88,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - dgst
    - issuerName
    - issuerKey
    - serialNumber
    argTypes:
    - EVP_MD*
    - X509_NAME*
    - ASN1_BIT_STRING*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 42
    functionDepth: 9
    functionLinenumber: 42
    functionLinenumberEnd: 90
    functionName: OCSP_cert_id_new
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_lib.c
    functionUses: 1
    functionsReached:
    - OCSP_CERTID_free
    - ERR_raise
    - ASN1_OCTET_STRING_set
    - OCSP_CERTID_new
    - X509_NAME_digest
    - EVP_Digest
    - ASN1_TYPE_new
    - OBJ_nid2obj
    - ASN1_STRING_copy
    - EVP_MD_get_type
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: OCSP_CERTID
    signature: "OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst,\n                              const
      X509_NAME *issuerName,\n                              const ASN1_BIT_STRING
      *issuerKey,\n                              const ASN1_INTEGER *serialNumber)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:95,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:98,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OCSP_CERTID*
    - OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: OCSP_id_issuer_cmp
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_cmp
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int OCSP_id_issuer_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_id_issuer_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:107,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_lib.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OCSP_CERTID*
    - OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: OCSP_id_cmp
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_lib.c
    functionUses: 1
    functionsReached:
    - OCSP_id_issuer_cmp
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: int
    signature: int OCSP_id_cmp(const OCSP_CERTID *a, const OCSP_CERTID *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:19,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:21,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:22,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:23,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:24,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:25,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:26,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:27,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:28,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - bp
    - a
    - indent
    argTypes:
    - BIO*
    - OCSP_CERTID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: ocsp_certid_print
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_STRING
    - i2a_ASN1_OBJECT
    - BIO_printf
    - i2a_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: int ocsp_certid_print(BIO *bp, OCSP_CERTID *a, int indent)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - s
    - ts
    - len
    argTypes:
    - long
    - OCSP_TBLSTR*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: do_table2string
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *do_table2string(long s, const OCSP_TBLSTR *ts, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: table2string
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: table2string(s, tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: table2string
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: OCSP_response_status_str
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached:
    - table2string
    linkageType: ''
    returnType: char
    signature: char *OCSP_response_status_str(long s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: table2string
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: OCSP_cert_status_str
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached:
    - table2string
    linkageType: ''
    returnType: char
    signature: char *OCSP_cert_status_str(long s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: table2string
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: OCSP_crl_reason_str
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached:
    - table2string
    linkageType: ''
    returnType: char
    signature: char *OCSP_crl_reason_str(long s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:98,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:101,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:104,1
    - Dst: GENERAL_NAME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:106,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:108,1
    - Dst: sk_OCSP_ONEREQ_num
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:110,1
    - Dst: sk_OCSP_ONEREQ_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:111,1
    - Dst: ocsp_certid_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:113,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:114,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:119,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:123,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:124,1
    - Dst: X509_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:125,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:125,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:126,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:126,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - bp
    - o
    - flags
    argTypes:
    - BIO*
    - OCSP_REQUEST*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 132
    functionName: OCSP_REQUEST_print
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - GENERAL_NAME_print
    - sk_OCSP_ONEREQ_num
    - X509_print
    - sk_X509_num
    - X509_signature_print
    - sk_X509_value
    - PEM_write_bio_X509
    - ocsp_certid_print
    - X509V3_extensions_print
    - sk_OCSP_ONEREQ_value
    - ASN1_INTEGER_get
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST *o, unsigned long flags)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:147,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:149,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:150,1
    - Dst: OCSP_response_status_str
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:151,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:155,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:157,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:159,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:160,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:164,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:167,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:168,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:170,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:176,1
    - Dst: i2a_ASN1_STRING
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:183,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:185,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:187,1
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:189,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:190,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:192,1
    - Dst: ocsp_certid_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:197,1
    - Dst: OCSP_cert_status_str
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:202,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:204,1
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:208,1
    - Dst: OCSP_crl_reason_str
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:210,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:214,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:216,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:219,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:221,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:224,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:226,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:230,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:233,1
    - Dst: X509_signature_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:236,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:239,1
    - Dst: X509_print
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:240,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:240,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:241,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:241,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/crypto/ocsp/ocsp_prn.c:246,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 115
    argCount: 3
    argNames:
    - bp
    - o
    - flags
    argTypes:
    - BIO*
    - OCSP_RESPONSE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 248
    functionName: OCSP_RESPONSE_print
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_prn.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_X509
    - sk_X509_num
    - BIO_write
    - X509_print
    - OCSP_response_get1_basic
    - ASN1_GENERALIZEDTIME_print
    - sk_X509_value
    - sk_OCSP_SINGLERESP_num
    - OCSP_response_status_str
    - X509V3_extensions_print
    - OCSP_crl_reason_str
    - OBJ_obj2nid
    - ASN1_ENUMERATED_get
    - BIO_printf
    - sk_OCSP_SINGLERESP_value
    - OCSP_BASICRESP_free
    - X509_NAME_print_ex
    - BIO_puts
    - i2a_ASN1_STRING
    - i2a_ASN1_OBJECT
    - OCSP_cert_status_str
    - X509_signature_print
    - ocsp_certid_print
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE *o, unsigned long flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_ONEREQ_new
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:34,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:36,1
    - Dst: sk_OCSP_ONEREQ_push
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:38,1
    - Dst: OCSP_ONEREQ_free
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - req
    - cid
    argTypes:
    - OCSP_REQUEST*
    - OCSP_CERTID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: OCSP_request_add0_id
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - OCSP_CERTID_free
    - OCSP_ONEREQ_new
    - sk_OCSP_ONEREQ_push
    - OCSP_ONEREQ_free
    linkageType: ''
    returnType: OCSP_ONEREQ
    signature: OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:49,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:53,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:54,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - req
    - nm
    argTypes:
    - OCSP_REQUEST*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: OCSP_request_set1_name
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_new
    - GENERAL_NAME_free
    - X509_NAME_set
    linkageType: ''
    returnType: int
    signature: int OCSP_request_set1_name(OCSP_REQUEST *req, const X509_NAME *nm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_SIGNATURE_new
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:67,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - req
    - cert
    argTypes:
    - OCSP_REQUEST*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: OCSP_request_add1_cert
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - OCSP_SIGNATURE_new
    - ossl_x509_add_cert_new
    linkageType: ''
    returnType: int
    signature: int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_request_set1_name
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:86,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:86,1
    - Dst: OCSP_SIGNATURE_new
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:89,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:93,1
    - Dst: OCSP_REQUEST_sign
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:97,1
    - Dst: OCSP_request_add1_cert
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:102,1
    - Dst: X509_add_certs
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:103,1
    - Dst: OCSP_SIGNATURE_free
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 6
    argNames:
    - req
    - signer
    - key
    - dgst
    - certs
    - flags
    argTypes:
    - OCSP_REQUEST*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - STACK_OF*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 113
    functionName: OCSP_request_sign
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - OCSP_SIGNATURE_free
    - ERR_raise
    - X509_get_subject_name
    - OCSP_REQUEST_sign
    - X509_check_private_key
    - X509_add_certs
    - OCSP_request_set1_name
    - OCSP_SIGNATURE_new
    - OCSP_request_add1_cert
    linkageType: ''
    returnType: int
    signature: "int OCSP_request_sign(OCSP_REQUEST *req,\n                      X509
      *signer,\n                      EVP_PKEY *key,\n                      const
      EVP_MD *dgst,\n                      STACK_OF(X509) *certs, unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resp
    argTypes:
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: OCSP_response_status
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 1
    functionsReached:
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: int
    signature: int OCSP_response_status(OCSP_RESPONSE *resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:130,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:134,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:138,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - resp
    argTypes:
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: OCSP_response_get1_basic
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 2
    functionsReached:
    - ASN1_ITEM_rptr
    - ERR_raise
    - OBJ_obj2nid
    - ASN1_item_unpack
    linkageType: ''
    returnType: OCSP_BASICRESP
    signature: OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: OCSP_resp_get0_signature
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: OCSP_resp_get0_tbs_sigalg
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: OCSP_resp_get0_respdata
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OCSP_RESPDATA
    signature: OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: OCSP_resp_count
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 1
    functionsReached:
    - sk_OCSP_SINGLERESP_num
    linkageType: ''
    returnType: int
    signature: int OCSP_resp_count(OCSP_BASICRESP *bs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bs
    - idx
    argTypes:
    - OCSP_BASICRESP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: OCSP_resp_get0
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 1
    functionsReached:
    - sk_OCSP_SINGLERESP_value
    linkageType: ''
    returnType: OCSP_SINGLERESP
    signature: OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: OCSP_resp_get0_produced_at
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME
    signature: ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at(const OCSP_BASICRESP
      *bs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - OCSP_BASICRESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: OCSP_resp_get0_certs
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *OCSP_resp_get0_certs(const OCSP_BASICRESP *bs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bs
    - pid
    - pname
    argTypes:
    - OCSP_BASICRESP*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: OCSP_resp_get0_id
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OCSP_resp_get0_id(const OCSP_BASICRESP *bs,\n                      const
      ASN1_OCTET_STRING **pid,\n                      const X509_NAME **pname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:208,1
    - Dst: ASN1_OCTET_STRING_dup
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - pid
    - pname
    argTypes:
    - OCSP_BASICRESP*
    - ASN1_OCTET_STRING**
    - X509_NAME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: OCSP_resp_get1_id
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_dup
    - X509_NAME_dup
    linkageType: ''
    returnType: int
    signature: "int OCSP_resp_get1_id(const OCSP_BASICRESP *bs,\n                      ASN1_OCTET_STRING
      **pid,\n                      X509_NAME **pname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:225,1
    - Dst: sk_OCSP_SINGLERESP_num
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:235,1
    - Dst: sk_OCSP_SINGLERESP_value
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:236,1
    - Dst: OCSP_id_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - bs
    - id
    - last
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_CERTID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 241
    functionName: OCSP_resp_find
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - sk_OCSP_SINGLERESP_value
    - sk_OCSP_SINGLERESP_num
    - OCSP_id_cmp
    linkageType: ''
    returnType: int
    signature: int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - single
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - OCSP_SINGLERESP*
    - int*
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 277
    functionName: OCSP_single_get0_status
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 0
    functionsReached:
    - ASN1_ENUMERATED_get
    linkageType: ''
    returnType: int
    signature: "int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason,\n
      \                           ASN1_GENERALIZEDTIME **revtime,\n                            ASN1_GENERALIZEDTIME
      **thisupd,\n                            ASN1_GENERALIZEDTIME **nextupd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_resp_find
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:289,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:295,1
    - Dst: OCSP_single_get0_status
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - bs
    - id
    - status
    - reason
    - revtime
    - thisupd
    - nextupd
    argTypes:
    - OCSP_BASICRESP*
    - OCSP_CERTID*
    - int*
    - int*
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    - ASN1_GENERALIZEDTIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: OCSP_resp_find_status
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 1
    functionsReached:
    - OCSP_resp_get0
    - OCSP_resp_find
    - OCSP_single_get0_status
    linkageType: ''
    returnType: int
    signature: "int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int
      *status,\n                          int *reason,\n                          ASN1_GENERALIZEDTIME
      **revtime,\n                          ASN1_GENERALIZEDTIME **thisupd,\n                          ASN1_GENERALIZEDTIME
      **nextupd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:316,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:319,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:324,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:335,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:346,1
    - Dst: X509_cmp_time
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:350,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:351,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ocsp/ocsp_cl.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - thisupd
    - nextupd
    - nsec
    - maxsec
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - ASN1_GENERALIZEDTIME*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 363
    functionName: OCSP_check_validity
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 1
    functionsReached:
    - time
    - X509_cmp_time
    - ERR_raise
    - ASN1_GENERALIZEDTIME_check
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: "int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd,\n                        ASN1_GENERALIZEDTIME
      *nextupd, long nsec, long maxsec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - single
    argTypes:
    - OCSP_SINGLERESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: OCSP_SINGLERESP_get0_id
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_cl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OCSP_CERTID
    signature: OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/ocsp/ocsp_err.c:68,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/ocsp/ocsp_err.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: ossl_err_load_OCSP_strings
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_OCSP_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - o
    - ','
    - pkey
    - ','
    - md
    - ','
    - libctx
    - ','
    - propq
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: OCSP_REQUEST_sign
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCSP_REQUEST_sign(o, pkey, md, libctx, propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - o
    - ','
    - pkey
    - ','
    - md
    - ','
    - d
    - ','
    - libctx
    - ','
    - propq
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: OCSP_BASICRESP_sign
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCSP_BASICRESP_sign(o, pkey, md, d, libctx, propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - ctx
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: OCSP_BASICRESP_sign_ctx
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCSP_BASICRESP_sign_ctx(o, ctx, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - r
    - ','
    - libctx
    - ','
    - propq
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: OCSP_REQUEST_verify
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCSP_REQUEST_verify(a, r, libctx, propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - r
    - ','
    - libctx
    - ','
    - propq
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: OCSP_BASICRESP_verify
    functionSourceFile: /src/openssl/crypto/ocsp/ocsp_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OCSP_BASICRESP_verify(a, r, libctx, propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: HASH_MAKE_STRING
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_STRING(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: F
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 242
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: G
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: H
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: R0
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R0(a,b,c,d,k,s,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: R1
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(a,b,c,d,k,s,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: R2
    functionSourceFile: /src/openssl/crypto/md4/md4_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(a,b,c,d,k,s,t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MD4_Init
      Src: /src/openssl/crypto/md4/md4_one.c:32,1
    - Dst: MD4_Update
      Src: /src/openssl/crypto/md4/md4_one.c:35,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/md4/md4_one.c:43,1
    - Dst: MD4_Update
      Src: /src/openssl/crypto/md4/md4_one.c:44,1
    - Dst: MD4_Final
      Src: /src/openssl/crypto/md4/md4_one.c:50,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md4/md4_one.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: MD4
    functionSourceFile: /src/openssl/crypto/md4/md4_one.c
    functionUses: 0
    functionsReached:
    - MD4_Final
    - MD4_Init
    - ebcdic2ascii
    - MD4_Update
    - OPENSSL_cleanse
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *MD4(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/md4/md4_dgst.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - MD4_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: MD4_Init
    functionSourceFile: /src/openssl/crypto/md4/md4_dgst.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int MD4_Init(MD4_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:63,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:64,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:65,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:66,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:68,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:68,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:69,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:70,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:71,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:71,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:72,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:73,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:74,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:74,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:75,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:76,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:77,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:77,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:78,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:79,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:80,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:80,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:81,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:82,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:83,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:83,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:84,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:85,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:86,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:86,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:87,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:88,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:89,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:89,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:90,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:91,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:92,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:92,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:93,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:94,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:95,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:95,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:96,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:97,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:98,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:98,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:99,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:100,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:101,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:101,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:102,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:103,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:104,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:104,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:105,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:106,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:107,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:107,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md4/md4_dgst.c:108,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:109,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:110,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:110,1
    - Dst: R0
      Src: /src/openssl/crypto/md4/md4_dgst.c:111,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:111,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:113,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:113,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:114,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:114,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:115,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:115,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:116,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:116,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:117,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:117,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:118,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:118,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:119,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:119,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:120,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:120,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:121,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:121,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:122,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:122,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:123,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:123,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:124,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:124,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:125,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:125,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:126,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:126,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:127,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:127,1
    - Dst: R1
      Src: /src/openssl/crypto/md4/md4_dgst.c:128,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:128,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:130,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:130,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:131,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:131,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:132,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:132,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:133,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:133,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:134,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:134,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:135,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:135,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:136,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:136,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:137,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:137,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:138,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:138,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:139,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:139,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:140,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:140,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:141,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:141,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:142,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:142,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:143,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:143,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:144,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:144,1
    - Dst: R2
      Src: /src/openssl/crypto/md4/md4_dgst.c:145,1
    - Dst: X
      Src: /src/openssl/crypto/md4/md4_dgst.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 91
    argCount: 3
    argNames:
    - c
    - data_
    - num
    argTypes:
    - MD4_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 152
    functionName: md4_block_data_order
    functionSourceFile: /src/openssl/crypto/md4/md4_dgst.c
    functionUses: 0
    functionsReached:
    - R2
    - HOST_c2l
    - R0
    - R1
    - X
    linkageType: ''
    returnType: void
    signature: void md4_block_data_order(MD4_CTX *c, const void *data_, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: X
    functionSourceFile: /src/openssl/crypto/md4/md4_dgst.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: X
    functionSourceFile: /src/openssl/crypto/md4/md4_dgst.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/lhash/lh_stats.c:31,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/lhash/lh_stats.c:31,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/lhash/lh_stats.c:34,1
    - Dst: OPENSSL_LH_stats_bio
      Src: /src/openssl/crypto/lhash/lh_stats.c:35,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/lhash/lh_stats.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lh
    - fp
    argTypes:
    - OPENSSL_LHASH*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: OPENSSL_LH_stats
    functionSourceFile: /src/openssl/crypto/lhash/lh_stats.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - BIO_free
    - OPENSSL_LH_stats_bio
    - BIO_s_file
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/lhash/lh_stats.c:43,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/lhash/lh_stats.c:43,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/lhash/lh_stats.c:46,1
    - Dst: OPENSSL_LH_node_stats_bio
      Src: /src/openssl/crypto/lhash/lh_stats.c:47,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/lhash/lh_stats.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lh
    - fp
    argTypes:
    - OPENSSL_LHASH*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: OPENSSL_LH_node_stats
    functionSourceFile: /src/openssl/crypto/lhash/lh_stats.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - BIO_free
    - OPENSSL_LH_node_stats_bio
    - BIO_s_file
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_node_stats(const OPENSSL_LHASH *lh, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/lhash/lh_stats.c:55,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/lhash/lh_stats.c:55,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/lhash/lh_stats.c:58,1
    - Dst: OPENSSL_LH_node_usage_stats_bio
      Src: /src/openssl/crypto/lhash/lh_stats.c:59,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/lhash/lh_stats.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lh
    - fp
    argTypes:
    - OPENSSL_LHASH*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: OPENSSL_LH_node_usage_stats
    functionSourceFile: /src/openssl/crypto/lhash/lh_stats.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - OPENSSL_LH_node_usage_stats_bio
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_node_usage_stats(const OPENSSL_LHASH *lh, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:74,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:75,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:77,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:78,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:79,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:80,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:81,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:82,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:83,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:84,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:85,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:86,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - lh
    - out
    argTypes:
    - OPENSSL_LHASH*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: OPENSSL_LH_stats_bio
    functionSourceFile: /src/openssl/crypto/lhash/lh_stats.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - lh
    - out
    argTypes:
    - OPENSSL_LHASH*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: OPENSSL_LH_node_stats_bio
    functionSourceFile: /src/openssl/crypto/lhash/lh_stats.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_node_stats_bio(const OPENSSL_LHASH *lh, BIO *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:118,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:119,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/lhash/lh_stats.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - lh
    - out
    argTypes:
    - OPENSSL_LHASH*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: OPENSSL_LH_node_usage_stats_bio
    functionSourceFile: /src/openssl/crypto/lhash/lh_stats.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - lh
    - hw
    - cw
    - daw
    - daaw
    argTypes:
    - OPENSSL_LHASH*
    - OPENSSL_LH_HASHFUNCTHUNK
    - OPENSSL_LH_COMPFUNCTHUNK
    - OPENSSL_LH_DOALL_FUNC_THUNK
    - OPENSSL_LH_DOALL_FUNCARG_THUNK
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: OPENSSL_LH_set_thunks
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_LHASH
    signature: "OPENSSL_LHASH *OPENSSL_LH_set_thunks(OPENSSL_LHASH *lh,\n                                     OPENSSL_LH_HASHFUNCTHUNK
      hw,\n                                     OPENSSL_LH_COMPFUNCTHUNK cw,\n                                     OPENSSL_LH_DOALL_FUNC_THUNK
      daw,\n                                     OPENSSL_LH_DOALL_FUNCARG_THUNK daaw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/lhash/lhash.c:67,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/lhash/lhash.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lhash/lhash.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lhash/lhash.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - h
    - c
    argTypes:
    - OPENSSL_LH_HASHFUNC
    - OPENSSL_LH_COMPFUNC
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: OPENSSL_LH_new
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_calloc
    linkageType: ''
    returnType: OPENSSL_LHASH
    signature: OPENSSL_LHASH *OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC
      c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_flush
      Src: /src/openssl/crypto/lhash/lhash.c:91,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lhash/lhash.c:92,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lhash/lhash.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: OPENSSL_LH_free
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_flush
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_free(OPENSSL_LHASH *lh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lhash/lhash.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: OPENSSL_LH_flush
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_flush(OPENSSL_LHASH *lh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expand
      Src: /src/openssl/crypto/lhash/lhash.c:124,1
    - Dst: getrn
      Src: /src/openssl/crypto/lhash/lhash.c:127,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/lhash/lhash.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - lh
    - data
    argTypes:
    - OPENSSL_LHASH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 145
    functionName: OPENSSL_LH_insert
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - getrn
    - expand
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrn
      Src: /src/openssl/crypto/lhash/lhash.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lhash/lhash.c:162,1
    - Dst: contract
      Src: /src/openssl/crypto/lhash/lhash.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - lh
    - data
    argTypes:
    - OPENSSL_LHASH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 171
    functionName: OPENSSL_LH_delete
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - getrn
    - OPENSSL_free
    - contract
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrn
      Src: /src/openssl/crypto/lhash/lhash.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lh
    - data
    argTypes:
    - OPENSSL_LHASH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: OPENSSL_LH_retrieve
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - getrn
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wfunc_arg
      Src: /src/openssl/crypto/lhash/lhash.c:208,1
    - Dst: wfunc
      Src: /src/openssl/crypto/lhash/lhash.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - lh
    - use_arg
    - wfunc
    - func
    - func_arg
    - wfunc_arg
    - arg
    argTypes:
    - OPENSSL_LHASH*
    - int
    - OPENSSL_LH_DOALL_FUNC_THUNK
    - OPENSSL_LH_DOALL_FUNC
    - OPENSSL_LH_DOALL_FUNCARG
    - OPENSSL_LH_DOALL_FUNCARG_THUNK
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 214
    functionName: doall_util_fn
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - wfunc_arg
    - wfunc
    linkageType: ''
    returnType: void
    signature: "void doall_util_fn(OPENSSL_LHASH *lh, int use_arg,\n                          OPENSSL_LH_DOALL_FUNC_THUNK
      wfunc,\n                          OPENSSL_LH_DOALL_FUNC func,\n                          OPENSSL_LH_DOALL_FUNCARG
      func_arg,\n                          OPENSSL_LH_DOALL_FUNCARG_THUNK wfunc_arg,\n
      \                         void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doall_util_fn
      Src: /src/openssl/crypto/lhash/lhash.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - lh
    - func
    argTypes:
    - OPENSSL_LHASH*
    - OPENSSL_LH_DOALL_FUNC
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: OPENSSL_LH_doall
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - doall_util_fn
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_doall(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNC func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doall_util_fn
      Src: /src/openssl/crypto/lhash/lhash.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - lh
    - func
    - arg
    argTypes:
    - OPENSSL_LHASH*
    - OPENSSL_LH_DOALL_FUNCARG
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: OPENSSL_LH_doall_arg
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - doall_util_fn
    linkageType: ''
    returnType: void
    signature: "void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh,\n                          OPENSSL_LH_DOALL_FUNCARG
      func, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doall_util_fn
      Src: /src/openssl/crypto/lhash/lhash.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lh
    - daaw
    - fn
    - arg
    argTypes:
    - OPENSSL_LHASH*
    - OPENSSL_LH_DOALL_FUNCARG_THUNK
    - OPENSSL_LH_DOALL_FUNCARG
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: OPENSSL_LH_doall_arg_thunk
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached:
    - doall_util_fn
    linkageType: ''
    returnType: void
    signature: "void OPENSSL_LH_doall_arg_thunk(OPENSSL_LHASH *lh,\n                                OPENSSL_LH_DOALL_FUNCARG_THUNK
      daaw,\n                                OPENSSL_LH_DOALL_FUNCARG fn, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/crypto/lhash/lhash.c:254,1
    - Dst: memset
      Src: /src/openssl/crypto/lhash/lhash.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 285
    functionName: expand
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 67
    functionsReached:
    - memset
    - OPENSSL_realloc_array
    linkageType: ''
    returnType: int
    signature: int expand(OPENSSL_LHASH *lh)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/crypto/lhash/lhash.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 317
    functionName: contract
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 14
    functionsReached:
    - OPENSSL_realloc_array
    linkageType: ''
    returnType: void
    signature: void contract(OPENSSL_LHASH *lh)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hashw
      Src: /src/openssl/crypto/lhash/lhash.c:326,1
    - Dst: hash
      Src: /src/openssl/crypto/lhash/lhash.c:328,1
    - Dst: compw
      Src: /src/openssl/crypto/lhash/lhash.c:344,1
    - Dst: comp
      Src: /src/openssl/crypto/lhash/lhash.c:347,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 353
    functionName: getrn
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 3
    functionsReached:
    - hash
    - compw
    - hashw
    - comp
    linkageType: ''
    returnType: OPENSSL_LH_NODE
    signature: "OPENSSL_LH_NODE **getrn(OPENSSL_LHASH *lh,\n                               const
      void *data, unsigned long *rhash)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 382
    functionName: OPENSSL_LH_strhash
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long OPENSSL_LH_strhash(const char *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 423
    functionName: ossl_lh_strcasehash
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ossl_lh_strcasehash(const char *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: OPENSSL_LH_num_items
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: OPENSSL_LH_get_down_load
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long OPENSSL_LH_get_down_load(const OPENSSL_LHASH *lh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lh
    - down_load
    argTypes:
    - OPENSSL_LHASH*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: OPENSSL_LH_set_down_load
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh, unsigned long down_load)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lh
    argTypes:
    - OPENSSL_LHASH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: OPENSSL_LH_error
    functionSourceFile: /src/openssl/crypto/lhash/lhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_LH_error(OPENSSL_LHASH *lh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: DSA_set_default_method
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_set_default_method(const DSA_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: DSA_get_default_method
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DSA_METHOD
    signature: DSA_METHOD *DSA_get_default_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: DSA_OpenSSL
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DSA_METHOD
    signature: DSA_METHOD *DSA_OpenSSL(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DSA_SIG_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:99,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:102,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:103,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:107,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:110,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:111,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:112,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:113,1
    - Dst: dsa_sign_setup
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:118,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:122,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:128,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:129,1
    - Dst: BN_priv_rand_ex
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:147,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:147,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:150,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:151,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:152,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:153,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:156,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:158,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:162,1
    - Dst: BN_mod_add_quick
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:166,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:170,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:174,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:176,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:185,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:195,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:196,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:199,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:200,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 90
    argCount: 7
    argNames:
    - dgst
    - dlen
    - dsa
    - nonce_type
    - digestname
    - libctx
    - propq
    argTypes:
    - unsigned char*
    - int
    - DSA*
    - unsigned int
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 202
    functionName: ossl_dsa_do_sign_int
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_mod_add_quick
    - BN_CTX_get
    - ERR_raise
    - BN_mod_mul
    - BN_num_bytes
    - DSA_SIG_free
    - BN_mod_inverse
    - BN_clear_free
    - DSA_SIG_new
    - BN_is_zero
    - BN_bin2bn
    - BN_CTX_free
    - dsa_sign_setup
    - BN_new
    - BN_priv_rand_ex
    - BN_num_bits
    - BN_set_flags
    - BN_CTX_new_ex
    linkageType: ''
    returnType: DSA_SIG
    signature: "DSA_SIG *ossl_dsa_do_sign_int(const unsigned char *dgst, int dlen,
      DSA *dsa,\n                              unsigned int nonce_type, const char
      *digestname,\n                              OSSL_LIB_CTX *libctx, const char
      *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_do_sign_int
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dgst
    - dlen
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 8
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: dsa_do_sign
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_do_sign_int
    linkageType: ''
    returnType: DSA_SIG
    signature: DSA_SIG *dsa_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_sign_setup
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dsa
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - DSA*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: dsa_sign_setup_no_digest
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached:
    - dsa_sign_setup
    linkageType: ''
    returnType: int
    signature: "int dsa_sign_setup_no_digest(DSA *dsa, BN_CTX *ctx_in,\n                                    BIGNUM
      **kinvp, BIGNUM **rp)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:230,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:235,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:236,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:237,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:238,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:239,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:245,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:248,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:249,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:255,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:261,1
    - Dst: bn_get_top
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:262,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:264,1
    - Dst: bn_wexpand
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:265,1
    - Dst: ossl_gen_deterministic_nonce_rfc6979
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:273,1
    - Dst: ossl_bn_gen_dsa_nonce_fixed_top
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:285,1
    - Dst: ossl_bn_priv_rand_range_fixed_top
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:290,1
    - Dst: ossl_bn_is_word_fixed_top
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:292,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:294,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:295,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:298,1
    - Dst: BN_add
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:318,1
    - Dst: BN_add
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:319,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:322,1
    - Dst: BN_is_bit_set
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:322,1
    - Dst: DSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:325,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:329,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:334,1
    - Dst: dsa_mod_inverse_fermat
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:338,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:341,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:347,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:349,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:350,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:351,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 85
    argCount: 10
    argNames:
    - dsa
    - ctx_in
    - kinvp
    - rp
    - dgst
    - dlen
    - nonce_type
    - digestname
    - libctx
    - propq
    argTypes:
    - DSA*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    - unsigned char*
    - int
    - unsigned int
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 217
    functionDepth: 11
    functionLinenumber: 217
    functionLinenumberEnd: 353
    functionName: dsa_sign_setup
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - ossl_bn_priv_rand_range_fixed_top
    - BN_MONT_CTX_set_locked
    - BN_is_negative
    - BN_is_zero
    - bn_wexpand
    - BN_add
    - DSA*::meth::bn_mod_exp
    - dsa_mod_inverse_fermat
    - BN_CTX_new_ex
    - BN_mod_exp_mont
    - ossl_bn_gen_dsa_nonce_fixed_top
    - BN_CTX_free
    - ossl_bn_is_word_fixed_top
    - BN_new
    - BN_set_flags
    - BN_mod
    - BN_clear_free
    - BN_num_bits
    - bn_get_top
    - BN_consttime_swap
    - ossl_gen_deterministic_nonce_rfc6979
    - BN_is_bit_set
    linkageType: ''
    returnType: int
    signature: "int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in,\n                          BIGNUM
      **kinvp, BIGNUM **rp,\n                          const unsigned char *dgst,
      int dlen,\n                          unsigned int nonce_type, const char *digestname,\n
      \                         OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:367,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:374,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:378,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:379,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:382,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:383,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:384,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:385,1
    - Dst: DSA_SIG_get0
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:389,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:391,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:391,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:392,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:396,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:396,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:397,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:405,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:416,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:420,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:424,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:428,1
    - Dst: DSA*::meth::dsa_mod_exp
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:435,1
    - Dst: BN_mod_exp2_mont
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:439,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:445,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:451,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:455,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:456,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:457,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:458,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:459,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 74
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA_SIG*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 355
    functionDepth: 8
    functionLinenumber: 355
    functionLinenumberEnd: 461
    functionName: dsa_do_verify
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached:
    - DSA_SIG_get0
    - ERR_raise
    - BN_mod
    - BN_mod_mul
    - BN_MONT_CTX_set_locked
    - DSA*::meth::dsa_mod_exp
    - BN_is_negative
    - BN_mod_inverse
    - BN_is_zero
    - BN_bin2bn
    - BN_CTX_free
    - BN_ucmp
    - BN_new
    - BN_free
    - BN_num_bits
    - BN_CTX_new_ex
    - BN_mod_exp2_mont
    linkageType: ''
    returnType: int
    signature: "int dsa_do_verify(const unsigned char *dgst, int dgst_len,\n                         DSA_SIG
      *sig, DSA *dsa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: dsa_init
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dsa_init(DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 4
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: dsa_finish
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_free
    linkageType: ''
    returnType: int
    signature: int dsa_finish(DSA *dsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:489,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:492,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:493,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:494,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:495,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:496,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:499,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/dsa/dsa_ossl.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - k
    - q
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 502
    functionName: dsa_mod_inverse_fermat
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ossl.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_set_word
    - BN_mod_exp_mont
    - BN_new
    - BN_sub
    - BN_free
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *dsa_mod_inverse_fermat(const BIGNUM *k, const BIGNUM *q,\n
      \                                     BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/dsa/dsa_lib.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - idx
    - arg
    argTypes:
    - DSA*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: DSA_set_ex_data
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 2
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int DSA_set_ex_data(DSA *d, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/dsa/dsa_lib.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - idx
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: DSA_get_ex_data
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 2
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *DSA_get_ex_data(const DSA *d, int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DH_new
      Src: /src/openssl/crypto/dsa/dsa_lib.c:53,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dsa/dsa_lib.c:57,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/crypto/dsa/dsa_lib.c:57,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/dsa/dsa_lib.c:61,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/dsa/dsa_lib.c:65,1
    - Dst: DH_set0_key
      Src: /src/openssl/crypto/dsa/dsa_lib.c:69,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:79,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:80,1
    - Dst: DH_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:81,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: DSA_dup_DH
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - DH_new
    - ossl_ffc_params_copy
    - DH_free
    - DH_set0_key
    - BN_dup
    - BN_free
    linkageType: ''
    returnType: DH
    signature: DH *DSA_dup_DH(const DSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - flags
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: DSA_clear_flags
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_clear_flags(DSA *d, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - flags
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: DSA_test_flags
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DSA_test_flags(const DSA *d, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - flags
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: DSA_set_flags
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_set_flags(DSA *d, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: DSA_get0_engine
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *DSA_get0_engine(DSA *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_METHOD*::finish
      Src: /src/openssl/crypto/dsa/dsa_lib.c:115,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/dsa/dsa_lib.c:117,1
    - Dst: DSA_METHOD*::init
      Src: /src/openssl/crypto/dsa/dsa_lib.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dsa
    - meth
    argTypes:
    - DSA*
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: DSA_set_method
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    - DSA_METHOD*::finish
    - DSA_METHOD*::init
    linkageType: ''
    returnType: int
    signature: int DSA_set_method(DSA *dsa, const DSA_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: DSA_get_method
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DSA_METHOD
    signature: DSA_METHOD *DSA_get_method(DSA *d)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dsa/dsa_lib.c:135,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/dsa/dsa_lib.c:140,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_lib.c:142,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:143,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/dsa/dsa_lib.c:147,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:148,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:149,1
    - Dst: DSA_get_default_method
      Src: /src/openssl/crypto/dsa/dsa_lib.c:154,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/dsa/dsa_lib.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_lib.c:159,1
    - Dst: ENGINE_get_default_DSA
      Src: /src/openssl/crypto/dsa/dsa_lib.c:164,1
    - Dst: ENGINE_get_DSA
      Src: /src/openssl/crypto/dsa/dsa_lib.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_lib.c:168,1
    - Dst: ossl_crypto_new_ex_data_ex
      Src: /src/openssl/crypto/dsa/dsa_lib.c:177,1
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/crypto/dsa/dsa_lib.c:182,1
    - Dst: DSA*::meth::init
      Src: /src/openssl/crypto/dsa/dsa_lib.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_lib.c:185,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:192,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - engine
    - libctx
    argTypes:
    - ENGINE*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 194
    functionName: dsa_new_intern
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ERR_raise
    - DSA*::meth::init
    - DSA_free
    - CRYPTO_THREAD_lock_free
    - ENGINE_init
    - ENGINE_get_default_DSA
    - ENGINE_get_DSA
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - ossl_ffc_params_init
    - ossl_crypto_new_ex_data_ex
    - DSA_get_default_method
    linkageType: ''
    returnType: DSA
    signature: DSA *dsa_new_intern(ENGINE *engine, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_new_intern
      Src: /src/openssl/crypto/dsa/dsa_lib.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: DSA_new_method
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    functionsReached:
    - dsa_new_intern
    linkageType: ''
    returnType: DSA
    signature: DSA *DSA_new_method(ENGINE *engine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_new_intern
      Src: /src/openssl/crypto/dsa/dsa_lib.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: ossl_dsa_new
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - dsa_new_intern
    linkageType: ''
    returnType: DSA
    signature: DSA *ossl_dsa_new(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_new_intern
      Src: /src/openssl/crypto/dsa/dsa_lib.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: DSA_new
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    functionsReached:
    - dsa_new_intern
    linkageType: ''
    returnType: DSA
    signature: DSA *DSA_new(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/dsa/dsa_lib.c:220,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dsa/dsa_lib.c:221,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dsa/dsa_lib.c:224,1
    - Dst: DSA*::meth::finish
      Src: /src/openssl/crypto/dsa/dsa_lib.c:227,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/dsa/dsa_lib.c:229,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/dsa/dsa_lib.c:233,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:236,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/dsa/dsa_lib.c:237,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/crypto/dsa/dsa_lib.c:239,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:240,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:241,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 243
    functionName: DSA_free
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 8
    functionsReached:
    - REF_PRINT_COUNT
    - ossl_ffc_params_cleanup
    - CRYPTO_THREAD_lock_free
    - BN_clear_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - ENGINE_finish
    - CRYPTO_free_ex_data
    - CRYPTO_FREE_REF
    - OPENSSL_free
    - DSA*::meth::finish
    linkageType: ''
    returnType: void
    signature: void DSA_free(DSA *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/dsa/dsa_lib.c:249,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/dsa/dsa_lib.c:252,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/dsa/dsa_lib.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: DSA_up_ref
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 2
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int DSA_up_ref(DSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - libctx
    argTypes:
    - DSA*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: ossl_dsa_set0_libctx
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_dsa_set0_libctx(DSA *d, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_get0_pqg
      Src: /src/openssl/crypto/dsa/dsa_lib.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - DSA*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: DSA_get0_pqg
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 3
    functionsReached:
    - ossl_ffc_params_get0_pqg
    linkageType: ''
    returnType: void
    signature: "void DSA_get0_pqg(const DSA *d,\n                  const BIGNUM **p,
      const BIGNUM **q, const BIGNUM **g)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/crypto/dsa/dsa_lib.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - d
    - p
    - q
    - g
    argTypes:
    - DSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: DSA_set0_pqg
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 2
    functionsReached:
    - ossl_ffc_params_set0_pqg
    linkageType: ''
    returnType: int
    signature: int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: DSA_get0_p
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DSA_get0_p(const DSA *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: DSA_get0_q
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DSA_get0_q(const DSA *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: DSA_get0_g
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DSA_get0_g(const DSA *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: DSA_get0_pub_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DSA_get0_pub_key(const DSA *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: DSA_get0_priv_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *DSA_get0_priv_key(const DSA *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - d
    - pub_key
    - priv_key
    argTypes:
    - DSA*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: DSA_get0_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DSA_get0_key(const DSA *d,\n                  const BIGNUM **pub_key,
      const BIGNUM **priv_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:321,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_lib.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - d
    - pub_key
    - priv_key
    argTypes:
    - DSA*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 331
    functionName: DSA_set0_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 2
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: int
    signature: int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_security_bits
      Src: /src/openssl/crypto/dsa/dsa_lib.c:336,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_lib.c:336,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_lib.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: DSA_security_bits
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - BN_num_bits
    - BN_security_bits
    linkageType: ''
    returnType: int
    signature: int DSA_security_bits(const DSA *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_lib.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: DSA_bits
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int DSA_bits(const DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: ossl_dsa_get0_params
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FFC_PARAMS
    signature: FFC_PARAMS *ossl_dsa_get0_params(DSA *dsa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/crypto/dsa/dsa_lib.c:356,1
    - Dst: ossl_ffc_params_fromdata
      Src: /src/openssl/crypto/dsa/dsa_lib.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dsa
    - params
    argTypes:
    - DSA*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 6
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: ossl_dsa_ffc_params_fromdata
    functionSourceFile: /src/openssl/crypto/dsa/dsa_lib.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_get0_params
    - ossl_ffc_params_fromdata
    linkageType: ''
    returnType: int
    signature: int ossl_dsa_ffc_params_fromdata(DSA *dsa, const OSSL_PARAM params[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:41,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:43,1
    - Dst: d2i_DSAparams
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:51,1
    - Dst: DSA_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:61,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:66,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:71,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:76,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:77,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:81,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 85
    functionName: dsa_pub_decode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_PUBKEY_get0_param
    - DSA_free
    - d2i_ASN1_INTEGER
    - EVP_PKEY_assign_DSA
    - X509_ALGOR_get0
    - ASN1_INTEGER_to_BN
    - DSA_new
    - ASN1_INTEGER_free
    - d2i_DSAparams
    linkageType: ''
    returnType: int
    signature: int dsa_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:104,1
    - Dst: i2d_DSAparams
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:109,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:119,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:123,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:127,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:131,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:139,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:140,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 143
    functionName: dsa_pub_encode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - i2d_ASN1_INTEGER
    - ASN1_STRING_new
    - ASN1_STRING_free
    - X509_PUBKEY_set0_param
    - OPENSSL_free
    - ASN1_INTEGER_free
    - i2d_DSAparams
    - OBJ_nid2obj
    - BN_to_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: int dsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_key_from_pkcs8
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:153,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - p8
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: dsa_priv_decode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_key_from_pkcs8
    - EVP_PKEY_assign_DSA
    linkageType: ''
    returnType: int
    signature: int dsa_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:171,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:178,1
    - Dst: i2d_DSAparams
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:184,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:193,1
    - Dst: i2d_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:197,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:202,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:206,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:206,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:208,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:214,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 216
    functionName: dsa_priv_encode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - PKCS8_pkey_set0
    - ERR_raise
    - ASN1_STRING_clear_free
    - i2d_ASN1_INTEGER
    - OPENSSL_clear_free
    - ASN1_STRING_new
    - ASN1_STRING_free
    - i2d_DSAparams
    - OBJ_nid2obj
    - BN_to_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: int dsa_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_size
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: int_dsa_size
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - DSA_size
    linkageType: ''
    returnType: int
    signature: int int_dsa_size(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_bits
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: dsa_bits
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - DSA_bits
    linkageType: ''
    returnType: int
    signature: int dsa_bits(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_security_bits
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: dsa_security_bits
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - DSA_security_bits
    linkageType: ''
    returnType: int
    signature: int dsa_security_bits(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: dsa_missing_parameters
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dsa_missing_parameters(const EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:246,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: dsa_copy_parameters
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - DSA_new
    - ossl_ffc_params_copy
    linkageType: ''
    returnType: int
    signature: int dsa_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_cmp
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: dsa_cmp_parameters
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_cmp
    linkageType: ''
    returnType: int
    signature: int dsa_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: dsa_pub_cmp
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: int dsa_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: int_dsa_free
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - DSA_free
    linkageType: ''
    returnType: void
    signature: void int_dsa_free(EVP_PKEY *pkey)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DSA_bits
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:280,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:300,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:302,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:305,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:309,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:311,1
    - Dst: ossl_ffc_params_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:313,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 4
    argNames:
    - bp
    - x
    - 'off'
    - ptype
    argTypes:
    - BIO*
    - DSA*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 318
    functionName: do_dsa_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - DSA_bits
    - ASN1_bn_print
    - ossl_ffc_params_print
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int do_dsa_print(BIO *bp, const DSA *x, int off, int ptype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DSAparams
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:325,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: dsa_param_decode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_DSA
    - d2i_DSAparams
    linkageType: ''
    returnType: int
    signature: "int dsa_param_decode(EVP_PKEY *pkey,\n                            const
      unsigned char **pder, int derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_DSAparams
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: dsa_param_encode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - i2d_DSAparams
    linkageType: ''
    returnType: int
    signature: int dsa_param_encode(const EVP_PKEY *pkey, unsigned char **pder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dsa_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 5
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: dsa_param_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - do_dsa_print
    linkageType: ''
    returnType: int
    signature: "int dsa_param_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                           ASN1_PCTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dsa_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 5
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: dsa_pub_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - do_dsa_print
    linkageType: ''
    returnType: int
    signature: "int dsa_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                         ASN1_PCTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dsa_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: dsa_priv_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - do_dsa_print
    linkageType: ''
    returnType: int
    signature: "int dsa_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                          ASN1_PCTX
      *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DSAPrivateKey
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:362,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 368
    functionName: old_dsa_priv_decode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - d2i_DSAPrivateKey
    - EVP_PKEY_assign_DSA
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int old_dsa_priv_decode(EVP_PKEY *pkey,\n                               const
      unsigned char **pder, int derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_DSAPrivateKey
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: old_dsa_priv_encode
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - i2d_DSAPrivateKey
    linkageType: ''
    returnType: int
    signature: int old_dsa_priv_encode(const EVP_PKEY *pkey, unsigned char **pder)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:382,1
    - Dst: d2i_DSA_SIG
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:388,1
    - Dst: DSA_SIG_get0
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:393,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:395,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:398,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:400,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:404,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:407,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - bp
    - sigalg
    - sig
    - indent
    - pctx
    argTypes:
    - BIO*
    - X509_ALGOR*
    - ASN1_STRING*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 410
    functionName: dsa_sig_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - DSA_SIG_get0
    - ASN1_bn_print
    - BIO_puts
    - DSA_SIG_free
    - d2i_DSA_SIG
    - X509_signature_dump
    linkageType: ''
    returnType: int
    signature: "int dsa_sig_print(BIO *bp, const X509_ALGOR *sigalg,\n                         const
      ASN1_STRING *sig, int indent, ASN1_PCTX *pctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: dsa_pkey_ctrl
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: dsa_pkey_dirty_cnt
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dsa_pkey_dirty_cnt(const EVP_PKEY *pkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_p
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:435,1
    - Dst: DSA_get0_g
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:435,1
    - Dst: DSA_get0_q
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:436,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:436,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:437,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:445,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:449,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:450,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:451,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:455,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:461,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:467,1
    - Dst: importer
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:471,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:473,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:475,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 477
    functionName: dsa_pkey_export_to
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - DSA_get0_priv_key
    - DSA_get0_q
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - importer
    - DSA_get0_pub_key
    - DSA_get0_g
    - DSA_get0_p
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int dsa_pkey_export_to(const EVP_PKEY *from, void *to_keydata,\n                              OSSL_FUNC_keymgmt_import_fn
      *importer,\n                              OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:482,1
    - Dst: ossl_dsa_new
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:483,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:486,1
    - Dst: ossl_dsa_ffc_params_fromdata
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:490,1
    - Dst: ossl_dsa_key_fromdata
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:491,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:492,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 479
    functionDepth: 7
    functionLinenumber: 479
    functionLinenumberEnd: 497
    functionName: dsa_pkey_import_from
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_dsa_key_fromdata
    - DSA_free
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_assign_DSA
    - ossl_dsa_ffc_params_fromdata
    - ossl_dsa_new
    linkageType: ''
    returnType: int
    signature: int dsa_pkey_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_dup
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:506,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:511,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_ameth.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 515
    functionName: dsa_pkey_copy
    functionSourceFile: /src/openssl/crypto/dsa/dsa_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_DSA
    - ossl_dsa_dup
    - DSA_free
    linkageType: ''
    returnType: int
    signature: int dsa_pkey_copy(EVP_PKEY *to, EVP_PKEY *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA*::meth::dsa_do_verify
      Src: /src/openssl/crypto/dsa/dsa_vrf.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dgst
    - dgst_len
    - sig
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA_SIG*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 9
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: DSA_do_verify
    functionSourceFile: /src/openssl/crypto/dsa/dsa_vrf.c
    functionUses: 2
    functionsReached:
    - DSA*::meth::dsa_do_verify
    linkageType: ''
    returnType: int
    signature: "int DSA_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG
      *sig,\n                  DSA *dsa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/dsa/dsa_prn.c:27,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/dsa/dsa_prn.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_prn.c:28,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/dsa/dsa_prn.c:31,1
    - Dst: DSA_print
      Src: /src/openssl/crypto/dsa/dsa_prn.c:32,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/dsa/dsa_prn.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fp
    - x
    - 'off'
    argTypes:
    - FILE*
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: DSA_print_fp
    functionSourceFile: /src/openssl/crypto/dsa/dsa_prn.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - BIO_s_file
    - DSA_print
    linkageType: ''
    returnType: int
    signature: int DSA_print_fp(FILE *fp, const DSA *x, int off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/dsa/dsa_prn.c:42,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/dsa/dsa_prn.c:42,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_prn.c:43,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/dsa/dsa_prn.c:46,1
    - Dst: DSAparams_print
      Src: /src/openssl/crypto/dsa/dsa_prn.c:47,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/dsa/dsa_prn.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: DSAparams_print_fp
    functionSourceFile: /src/openssl/crypto/dsa/dsa_prn.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - DSAparams_print
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int DSAparams_print_fp(FILE *fp, const DSA *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/dsa/dsa_prn.c:57,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/openssl/crypto/dsa/dsa_prn.c:60,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/crypto/dsa/dsa_prn.c:62,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/dsa/dsa_prn.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: DSA_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_prn.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_set1_DSA
    - EVP_PKEY_new
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: int DSA_print(BIO *bp, const DSA *x, int off)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/dsa/dsa_prn.c:71,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/openssl/crypto/dsa/dsa_prn.c:74,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/crypto/dsa/dsa_prn.c:76,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/dsa/dsa_prn.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: DSAparams_print
    functionSourceFile: /src/openssl/crypto/dsa/dsa_prn.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_set1_DSA
    - EVP_PKEY_new
    - EVP_PKEY_print_params
    linkageType: ''
    returnType: int
    signature: int DSAparams_print(BIO *bp, const DSA *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA*::meth::dsa_do_sign
      Src: /src/openssl/crypto/dsa/dsa_sign.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dgst
    - dlen
    - dsa
    argTypes:
    - unsigned char*
    - int
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 9
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: DSA_do_sign
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 1
    functionsReached:
    - DSA*::meth::dsa_do_sign
    linkageType: ''
    returnType: DSA_SIG
    signature: DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA*::meth::dsa_sign_setup
      Src: /src/openssl/crypto/dsa/dsa_sign.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dsa
    - ctx_in
    - kinvp
    - rp
    argTypes:
    - DSA*
    - BN_CTX*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 12
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: DSA_sign_setup
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 0
    functionsReached:
    - DSA*::meth::dsa_sign_setup
    linkageType: ''
    returnType: int
    signature: int DSA_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM
      **rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dsa/dsa_sign.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: DSA_SIG_new
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 8
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: DSA_SIG
    signature: DSA_SIG *DSA_SIG_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:45,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - DSA_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: DSA_SIG_free
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 11
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void DSA_SIG_free(DSA_SIG *sig)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DSA_SIG_new
      Src: /src/openssl/crypto/dsa/dsa_sign.c:59,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_sign.c:64,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_sign.c:66,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/crypto/dsa/dsa_sign.c:68,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:70,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - psig
    - ppin
    - len
    argTypes:
    - DSA_SIG**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: d2i_DSA_SIG
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 1
    functionsReached:
    - ossl_decode_der_dsa_sig
    - DSA_SIG_new
    - BN_new
    - DSA_SIG_free
    linkageType: ''
    returnType: DSA_SIG
    signature: DSA_SIG *d2i_DSA_SIG(DSA_SIG **psig, const unsigned char **ppin, long
      len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_init_null
      Src: /src/openssl/crypto/dsa/dsa_sign.c:85,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/dsa/dsa_sign.c:88,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/crypto/dsa/dsa_sign.c:89,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:90,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/crypto/dsa/dsa_sign.c:94,1
    - Dst: ossl_encode_der_dsa_sig
      Src: /src/openssl/crypto/dsa/dsa_sign.c:98,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/crypto/dsa/dsa_sign.c:99,1
    - Dst: WPACKET_finish
      Src: /src/openssl/crypto/dsa/dsa_sign.c:100,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:101,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/crypto/dsa/dsa_sign.c:102,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - sig
    - ppout
    argTypes:
    - DSA_SIG*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 117
    functionName: i2d_DSA_SIG
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 0
    functionsReached:
    - ossl_encode_der_dsa_sig
    - WPACKET_init_null
    - BUF_MEM_free
    - WPACKET_finish
    - WPACKET_cleanup
    - WPACKET_get_total_written
    - WPACKET_init_len
    - BUF_MEM_new
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: int i2d_DSA_SIG(const DSA_SIG *sig, unsigned char **ppout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_DSA_SIG
      Src: /src/openssl/crypto/dsa/dsa_sign.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 7
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: DSA_size
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 4
    functionsReached:
    - i2d_DSA_SIG
    linkageType: ''
    returnType: int
    signature: int DSA_size(const DSA *dsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - sig
    - pr
    - ps
    argTypes:
    - DSA_SIG*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: DSA_SIG_get0
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM
      **ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:146,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - DSA_SIG*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: DSA_SIG_set0
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 2
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_size
      Src: /src/openssl/crypto/dsa/dsa_sign.c:161,1
    - Dst: DSA_get_default_method
      Src: /src/openssl/crypto/dsa/dsa_sign.c:166,1
    - Dst: DSA_do_sign
      Src: /src/openssl/crypto/dsa/dsa_sign.c:167,1
    - Dst: ossl_dsa_do_sign_int
      Src: /src/openssl/crypto/dsa/dsa_sign.c:169,1
    - Dst: i2d_DSA_SIG
      Src: /src/openssl/crypto/dsa/dsa_sign.c:175,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 10
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - dsa
    - nonce_type
    - digestname
    - libctx
    - propq
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - DSA*
    - unsigned int
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 10
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: ossl_dsa_sign_int
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 0
    functionsReached:
    - DSA_size
    - DSA_SIG_free
    - DSA_do_sign
    - ossl_dsa_do_sign_int
    - i2d_DSA_SIG
    - DSA_get_default_method
    linkageType: ''
    returnType: int
    signature: "int ossl_dsa_sign_int(int type, const unsigned char *dgst, int dlen,\n
      \                     unsigned char *sig, unsigned int *siglen, DSA *dsa,\n
      \                     unsigned int nonce_type, const char *digestname,\n                      OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_sign_int
      Src: /src/openssl/crypto/dsa/dsa_sign.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - type
    - dgst
    - dlen
    - sig
    - siglen
    - dsa
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - unsigned int*
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 11
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: DSA_sign
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 1
    functionsReached:
    - ossl_dsa_sign_int
    linkageType: ''
    returnType: int
    signature: "int DSA_sign(int type, const unsigned char *dgst, int dlen,\n             unsigned
      char *sig, unsigned int *siglen, DSA *dsa)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_SIG_new
      Src: /src/openssl/crypto/dsa/dsa_sign.c:203,1
    - Dst: d2i_DSA_SIG
      Src: /src/openssl/crypto/dsa/dsa_sign.c:206,1
    - Dst: i2d_DSA_SIG
      Src: /src/openssl/crypto/dsa/dsa_sign.c:209,1
    - Dst: memcmp
      Src: /src/openssl/crypto/dsa/dsa_sign.c:210,1
    - Dst: DSA_do_verify
      Src: /src/openssl/crypto/dsa/dsa_sign.c:212,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:214,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/crypto/dsa/dsa_sign.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - type
    - dgst
    - dgst_len
    - sigbuf
    - siglen
    - dsa
    argTypes:
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 194
    functionDepth: 10
    functionLinenumber: 194
    functionLinenumberEnd: 217
    functionName: DSA_verify
    functionSourceFile: /src/openssl/crypto/dsa/dsa_sign.c
    functionUses: 1
    functionsReached:
    - memcmp
    - OPENSSL_clear_free
    - DSA_SIG_free
    - DSA_SIG_new
    - DSA_do_verify
    - d2i_DSA_SIG
    - i2d_DSA_SIG
    linkageType: ''
    returnType: int
    signature: "int DSA_verify(int type, const unsigned char *dgst, int dgst_len,\n
      \              const unsigned char *sigbuf, int siglen, DSA *dsa)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/dsa/dsa_backend.c:41,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/dsa/dsa_backend.c:44,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/dsa/dsa_backend.c:50,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/dsa/dsa_backend.c:52,1
    - Dst: DSA_set0_key
      Src: /src/openssl/crypto/dsa/dsa_backend.c:55,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_backend.c:61,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_backend.c:62,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - dsa
    - params
    - include_private
    argTypes:
    - DSA*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: ossl_dsa_key_fromdata
    functionSourceFile: /src/openssl/crypto/dsa/dsa_backend.c
    functionUses: 1
    functionsReached:
    - BN_free
    - OSSL_PARAM_get_BN
    - BN_clear_free
    - OSSL_PARAM_locate_const
    - DSA_set0_key
    linkageType: ''
    returnType: int
    signature: "int ossl_dsa_key_fromdata(DSA *dsa, const OSSL_PARAM params[],\n                          int
      include_private)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get_method
      Src: /src/openssl/crypto/dsa/dsa_backend.c:69,1
    - Dst: DSA_OpenSSL
      Src: /src/openssl/crypto/dsa/dsa_backend.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: ossl_dsa_is_foreign
    functionSourceFile: /src/openssl/crypto/dsa/dsa_backend.c
    functionUses: 1
    functionsReached:
    - DSA_OpenSSL
    - DSA_get_method
    linkageType: ''
    returnType: int
    signature: int ossl_dsa_is_foreign(const DSA *dsa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_dup
      Src: /src/openssl/crypto/dsa/dsa_backend.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - BIGNUM**
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: dsa_bn_dup_check
    functionSourceFile: /src/openssl/crypto/dsa/dsa_backend.c
    functionUses: 0
    functionsReached:
    - BN_dup
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline dsa_bn_dup_check(BIGNUM **out, const BIGNUM *f)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_is_foreign
      Src: /src/openssl/crypto/dsa/dsa_backend.c:87,1
    - Dst: ossl_dsa_new
      Src: /src/openssl/crypto/dsa/dsa_backend.c:90,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/crypto/dsa/dsa_backend.c:94,1
    - Dst: dsa_bn_dup_check
      Src: /src/openssl/crypto/dsa/dsa_backend.c:101,1
    - Dst: dsa_bn_dup_check
      Src: /src/openssl/crypto/dsa/dsa_backend.c:106,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/dsa/dsa_backend.c:110,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_backend.c:118,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - dsa
    - selection
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 120
    functionName: ossl_dsa_dup
    functionSourceFile: /src/openssl/crypto/dsa/dsa_backend.c
    functionUses: 1
    functionsReached:
    - DSA_free
    - CRYPTO_dup_ex_data
    - ossl_dsa_is_foreign
    - ossl_ffc_params_copy
    - ossl_dsa_new
    - dsa_bn_dup_check
    linkageType: ''
    returnType: DSA
    signature: DSA *ossl_dsa_dup(const DSA *dsa, int selection)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/dsa/dsa_backend.c:139,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/dsa/dsa_backend.c:141,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/openssl/crypto/dsa/dsa_backend.c:143,1
    - Dst: d2i_DSAparams
      Src: /src/openssl/crypto/dsa/dsa_backend.c:151,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/dsa/dsa_backend.c:154,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/dsa/dsa_backend.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_backend.c:156,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_backend.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_backend.c:161,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/dsa/dsa_backend.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_backend.c:165,1
    - Dst: DSA_get0_p
      Src: /src/openssl/crypto/dsa/dsa_backend.c:169,1
    - Dst: DSA_get0_g
      Src: /src/openssl/crypto/dsa/dsa_backend.c:170,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/dsa/dsa_backend.c:171,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/dsa/dsa_backend.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_backend.c:173,1
    - Dst: DSA_set0_key
      Src: /src/openssl/crypto/dsa/dsa_backend.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_backend.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_backend.c:184,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_backend.c:186,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_backend.c:187,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_backend.c:188,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_backend.c:191,1
    - Dst: ASN1_STRING_clear_free
      Src: /src/openssl/crypto/dsa/dsa_backend.c:192,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 194
    functionName: ossl_dsa_key_from_pkcs8
    functionSourceFile: /src/openssl/crypto/dsa/dsa_backend.c
    functionUses: 1
    functionsReached:
    - BN_free
    - ERR_raise
    - ASN1_STRING_clear_free
    - DSA_free
    - d2i_ASN1_INTEGER
    - BN_CTX_new
    - BN_secure_new
    - X509_ALGOR_get0
    - DSA_set0_key
    - BN_set_flags
    - ASN1_INTEGER_to_BN
    - BN_CTX_free
    - PKCS8_pkey_get0
    - BN_new
    - BN_mod_exp
    - DSA_get0_g
    - DSA_get0_p
    - d2i_DSAparams
    linkageType: ''
    returnType: DSA
    signature: "DSA *ossl_dsa_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf,\n                             OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/dsa/dsa_err.c:48,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/dsa/dsa_err.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ossl_err_load_DSA_strings
    functionSourceFile: /src/openssl/crypto/dsa/dsa_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_DSA_strings(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/openssl/crypto/dsa/dsa_depr.c:40,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/crypto/dsa/dsa_depr.c:42,1
    - Dst: BN_GENCB_set_old
      Src: /src/openssl/crypto/dsa/dsa_depr.c:46,1
    - Dst: DSA_generate_parameters_ex
      Src: /src/openssl/crypto/dsa/dsa_depr.c:48,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dsa/dsa_depr.c:50,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dsa/dsa_depr.c:53,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_depr.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - bits
    - seed_in
    - seed_len
    - counter_ret
    - h_ret
    - cb_arg
    argTypes:
    - int
    - unsigned char*
    - int
    - int*
    - unsigned long*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: DSA_generate_parameters
    functionSourceFile: /src/openssl/crypto/dsa/dsa_depr.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_new
    - BN_GENCB_set_old
    - DSA_free
    - DSA_new
    - BN_GENCB_free
    - DSA_generate_parameters_ex
    linkageType: ''
    returnType: DSA
    signature: "DSA *DSA_generate_parameters(int bits,\n                             unsigned
      char *seed_in, int seed_len,\n                             int *counter_ret,
      unsigned long *h_ret,\n                             void (*callback) (int, int,
      void *),\n                             void *cb_arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/openssl/crypto/dsa/dsa_asn1.c:29,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_asn1.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: dsa_cb
    functionSourceFile: /src/openssl/crypto/dsa/dsa_asn1.c
    functionUses: 0
    functionsReached:
    - DSA_new
    - DSA_free
    linkageType: ''
    returnType: int
    signature: "int dsa_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                 void *exarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_dup
      Src: /src/openssl/crypto/dsa/dsa_asn1.c:71,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/dsa/dsa_asn1.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: DSAparams_dup
    functionSourceFile: /src/openssl/crypto/dsa/dsa_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_item_dup
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: DSA
    signature: DSA *DSAparams_dup(const DSA *dsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/dsa/dsa_meth.c:23,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dsa/dsa_meth.c:28,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_meth.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: DSA_meth_new
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: DSA_METHOD
    signature: DSA_METHOD *DSA_meth_new(const char *name, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_meth.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_meth.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: DSA_meth_free
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void DSA_meth_free(DSA_METHOD *dsam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dsa/dsa_meth.c:48,1
    - Dst: memcpy
      Src: /src/openssl/crypto/dsa/dsa_meth.c:51,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dsa/dsa_meth.c:53,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_meth.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: DSA_meth_dup
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_free
    - OPENSSL_strdup
    - OPENSSL_malloc
    linkageType: ''
    returnType: DSA_METHOD
    signature: DSA_METHOD *DSA_meth_dup(const DSA_METHOD *dsam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: DSA_meth_get0_name
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *DSA_meth_get0_name(const DSA_METHOD *dsam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/dsa/dsa_meth.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_meth.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dsam
    - name
    argTypes:
    - DSA_METHOD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: DSA_meth_set1_name
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: DSA_meth_get_flags
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DSA_meth_get_flags(const DSA_METHOD *dsam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dsam
    - flags
    argTypes:
    - DSA_METHOD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: DSA_meth_set_flags
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DSA_meth_set_flags(DSA_METHOD *dsam, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: DSA_meth_get0_app_data
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *DSA_meth_get0_app_data(const DSA_METHOD *dsam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dsam
    - app_data
    argTypes:
    - DSA_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: DSA_meth_set0_app_data
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DSA_meth_set0_app_data(DSA_METHOD *dsam, void *app_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: "*(*DSA_meth_get_sign(const DSA_METHOD *dsam))\n        (const unsigned
      char *, int, DSA *)"
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DSA_SIG
    signature: "DSA_SIG *(*DSA_meth_get_sign(const DSA_METHOD *dsam))\n        (const
      unsigned char *, int, DSA *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dsam
    - (*sign) (const unsigned char *, int, DSA *)
    argTypes:
    - DSA_METHOD*
    - DSA_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: DSA_meth_set_sign
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DSA_meth_set_sign(DSA_METHOD *dsam,\n                       DSA_SIG
      *(*sign) (const unsigned char *, int, DSA *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: "(*DSA_meth_get_sign_setup(const DSA_METHOD *dsam))\n        (DSA
      *, BN_CTX *, BIGNUM **, BIGNUM **)"
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*DSA_meth_get_sign_setup(const DSA_METHOD *dsam))\n        (DSA
      *, BN_CTX *, BIGNUM **, BIGNUM **)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: DSA_meth_set_sign_setup
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DSA_meth_set_sign_setup(DSA_METHOD *dsam,\n        int (*sign_setup)
      (DSA *, BN_CTX *, BIGNUM **, BIGNUM **))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: "(*DSA_meth_get_verify(const DSA_METHOD *dsam))\n        (const
      unsigned char *, int, DSA_SIG *, DSA *)"
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*DSA_meth_get_verify(const DSA_METHOD *dsam))\n        (const
      unsigned char *, int, DSA_SIG *, DSA *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: DSA_meth_set_verify
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DSA_meth_set_verify(DSA_METHOD *dsam,\n    int (*verify) (const
      unsigned char *, int, DSA_SIG *, DSA *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: "(*DSA_meth_get_mod_exp(const DSA_METHOD *dsam))\n        (DSA *,
      BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *,\n         const BIGNUM
      *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *)"
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*DSA_meth_get_mod_exp(const DSA_METHOD *dsam))\n        (DSA
      *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *,\n         const
      BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: DSA_meth_set_mod_exp
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DSA_meth_set_mod_exp(DSA_METHOD *dsam,\n    int (*mod_exp) (DSA
      *, BIGNUM *, const BIGNUM *, const BIGNUM *,\n                    const BIGNUM
      *, const BIGNUM *, const BIGNUM *, BN_CTX *,\n                    BN_MONT_CTX
      *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: "(*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam))\n    (DSA *,
      BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *,\n     BN_MONT_CTX
      *)"
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam))\n    (DSA *,
      BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *,\n     BN_MONT_CTX
      *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: DSA_meth_set_bn_mod_exp
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam,\n    int (*bn_mod_exp)
      (DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *,\n                       const
      BIGNUM *, BN_CTX *, BN_MONT_CTX *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *)
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*DSA_meth_get_init(const DSA_METHOD *dsam))(DSA *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: DSA_meth_set_init
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DSA_meth_set_init(DSA_METHOD *dsam, int (*init)(DSA *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: (*DSA_meth_get_finish(const DSA_METHOD *dsam)) (DSA *)
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*DSA_meth_get_finish(const DSA_METHOD *dsam)) (DSA *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: DSA_meth_set_finish
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DSA_meth_set_finish(DSA_METHOD *dsam, int (*finish) (DSA *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: "(*DSA_meth_get_paramgen(const DSA_METHOD *dsam))\n        (DSA
      *, int, const unsigned char *, int, int *, unsigned long *,\n         BN_GENCB
      *)"
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*DSA_meth_get_paramgen(const DSA_METHOD *dsam))\n        (DSA
      *, int, const unsigned char *, int, int *, unsigned long *,\n         BN_GENCB
      *)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: DSA_meth_set_paramgen
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int DSA_meth_set_paramgen(DSA_METHOD *dsam,\n        int (*paramgen)
      (DSA *, int, const unsigned char *, int, int *,\n                         unsigned
      long *, BN_GENCB *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: (*DSA_meth_get_keygen(const DSA_METHOD *dsam)) (DSA *)
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*DSA_meth_get_keygen(const DSA_METHOD *dsam)) (DSA *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dsam
    argTypes:
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: DSA_meth_set_keygen
    functionSourceFile: /src/openssl/crypto/dsa/dsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DSA_meth_set_keygen(DSA_METHOD *dsam, int (*keygen) (DSA *))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_FIPS186_2_generate
      Src: /src/openssl/crypto/dsa/dsa_gen.c:33,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/openssl/crypto/dsa/dsa_gen.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - dsa
    - type
    - pbits
    - qbits
    - cb
    argTypes:
    - DSA*
    - int
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: ossl_dsa_generate_ffc_parameters
    functionSourceFile: /src/openssl/crypto/dsa/dsa_gen.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_2_generate
    - ossl_ffc_params_FIPS186_4_generate
    linkageType: ''
    returnType: int
    signature: "int ossl_dsa_generate_ffc_parameters(DSA *dsa, int type, int pbits,
      int qbits,\n                                     BN_GENCB *cb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DSA*::meth::dsa_paramgen
      Src: /src/openssl/crypto/dsa/dsa_gen.c:53,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/crypto/dsa/dsa_gen.c:56,1
    - Dst: ossl_dsa_generate_ffc_parameters
      Src: /src/openssl/crypto/dsa/dsa_gen.c:62,1
    - Dst: ossl_dsa_generate_ffc_parameters
      Src: /src/openssl/crypto/dsa/dsa_gen.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 7
    argNames:
    - dsa
    - bits
    - seed_in
    - seed_len
    - counter_ret
    - h_ret
    - cb
    argTypes:
    - DSA*
    - int
    - unsigned char*
    - int
    - int*
    - unsigned long*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 76
    functionName: DSA_generate_parameters_ex
    functionSourceFile: /src/openssl/crypto/dsa/dsa_gen.c
    functionUses: 1
    functionsReached:
    - ossl_ffc_params_set_validate_params
    - ossl_dsa_generate_ffc_parameters
    - DSA*::meth::dsa_paramgen
    linkageType: ''
    returnType: int
    signature: "int DSA_generate_parameters_ex(DSA *dsa, int bits,\n                               const
      unsigned char *seed_in, int seed_len,\n                               int *counter_ret,
      unsigned long *h_ret,\n                               BN_GENCB *cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_check.c:25,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_check.c:30,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_check.c:31,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_check.c:36,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_check.c:36,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_check.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - dsa
    - ret
    argTypes:
    - DSA*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 43
    functionName: dsa_precheck_params
    functionSourceFile: /src/openssl/crypto/dsa/dsa_check.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int dsa_precheck_params(const DSA *dsa, int *ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/openssl/crypto/dsa/dsa_check.c:47,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/openssl/crypto/dsa/dsa_check.c:51,1
    - Dst: ossl_ffc_params_full_validate
      Src: /src/openssl/crypto/dsa/dsa_check.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dsa
    - checktype
    - ret
    argTypes:
    - DSA*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: ossl_dsa_check_params
    functionSourceFile: /src/openssl/crypto/dsa/dsa_check.c
    functionUses: 0
    functionsReached:
    - dsa_precheck_params
    - ossl_ffc_params_simple_validate
    - ossl_ffc_params_full_validate
    linkageType: ''
    returnType: int
    signature: int ossl_dsa_check_params(const DSA *dsa, int checktype, int *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/openssl/crypto/dsa/dsa_check.c:68,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/crypto/dsa/dsa_check.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dsa
    - pub_key
    - ret
    argTypes:
    - DSA*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: ossl_dsa_check_pub_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_check.c
    functionUses: 0
    functionsReached:
    - dsa_precheck_params
    - ossl_ffc_validate_public_key
    linkageType: ''
    returnType: int
    signature: int ossl_dsa_check_pub_key(const DSA *dsa, const BIGNUM *pub_key, int
      *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/openssl/crypto/dsa/dsa_check.c:82,1
    - Dst: ossl_ffc_validate_public_key_partial
      Src: /src/openssl/crypto/dsa/dsa_check.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dsa
    - pub_key
    - ret
    argTypes:
    - DSA*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: ossl_dsa_check_pub_key_partial
    functionSourceFile: /src/openssl/crypto/dsa/dsa_check.c
    functionUses: 0
    functionsReached:
    - dsa_precheck_params
    - ossl_ffc_validate_public_key_partial
    linkageType: ''
    returnType: int
    signature: int ossl_dsa_check_pub_key_partial(const DSA *dsa, const BIGNUM *pub_key,
      int *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/openssl/crypto/dsa/dsa_check.c:93,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/crypto/dsa/dsa_check.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dsa
    - priv_key
    - ret
    argTypes:
    - DSA*
    - BIGNUM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: ossl_dsa_check_priv_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_check.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_validate_private_key
    - dsa_precheck_params
    linkageType: ''
    returnType: int
    signature: int ossl_dsa_check_priv_key(const DSA *dsa, const BIGNUM *priv_key,
      int *ret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dsa_precheck_params
      Src: /src/openssl/crypto/dsa/dsa_check.c:109,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dsa/dsa_check.c:117,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_check.c:120,1
    - Dst: ossl_dsa_generate_public_key
      Src: /src/openssl/crypto/dsa/dsa_check.c:125,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dsa/dsa_check.c:128,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_check.c:130,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_check.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: ossl_dsa_check_pairwise
    functionSourceFile: /src/openssl/crypto/dsa/dsa_check.c
    functionUses: 0
    functionsReached:
    - dsa_precheck_params
    - ossl_dsa_generate_public_key
    - BN_cmp
    - BN_CTX_free
    - BN_new
    - BN_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ossl_dsa_check_pairwise(const DSA *dsa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA*::meth::dsa_keygen
      Src: /src/openssl/crypto/dsa/dsa_key.c:37,1
    - Dst: dsa_keygen
      Src: /src/openssl/crypto/dsa/dsa_key.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: DSA_generate_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_key.c
    functionUses: 0
    functionsReached:
    - DSA*::meth::dsa_keygen
    - dsa_keygen
    linkageType: ''
    returnType: int
    signature: int DSA_generate_key(DSA *dsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_key.c:46,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/dsa/dsa_key.c:50,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/dsa/dsa_key.c:53,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - dsa
    - priv_key
    - pub_key
    argTypes:
    - BN_CTX*
    - DSA*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: ossl_dsa_generate_public_key
    functionSourceFile: /src/openssl/crypto/dsa/dsa_key.c
    functionUses: 1
    functionsReached:
    - BN_clear_free
    - BN_mod_exp
    - BN_with_flags
    - BN_new
    linkageType: ''
    returnType: int
    signature: "int ossl_dsa_generate_public_key(BN_CTX *ctx, const DSA *dsa,\n                                 const
      BIGNUM *priv_key, BIGNUM *pub_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_key.c:81,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/crypto/dsa/dsa_key.c:86,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/dsa/dsa_key.c:90,1
    - Dst: ossl_dsa_generate_public_key
      Src: /src/openssl/crypto/dsa/dsa_key.c:93,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/dsa/dsa_key.c:96,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/dsa/dsa_key.c:98,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/dsa/dsa_key.c:99,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/dsa/dsa_key.c:100,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/dsa/dsa_key.c:101,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/dsa/dsa_key.c:104,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:105,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - dsa
    - ctx
    - cb
    - cbarg
    argTypes:
    - DSA*
    - BN_CTX*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: dsa_keygen_knownanswer_test
    functionSourceFile: /src/openssl/crypto/dsa/dsa_key.c
    functionUses: 1
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - ossl_dsa_generate_public_key
    - BN_num_bytes
    - OSSL_SELF_TEST_new
    - BN_cmp
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_free
    - BN_bin2bn
    - BN_new
    - BN_bn2bin
    - BN_free
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int dsa_keygen_knownanswer_test(DSA *dsa, BN_CTX *ctx,\n                                       OSSL_CALLBACK
      *cb, void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/crypto/dsa/dsa_key.c:122,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/dsa/dsa_key.c:126,1
    - Dst: DSA_do_sign
      Src: /src/openssl/crypto/dsa/dsa_key.c:129,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/dsa/dsa_key.c:133,1
    - Dst: DSA_do_verify
      Src: /src/openssl/crypto/dsa/dsa_key.c:135,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/dsa/dsa_key.c:140,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:141,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - dsa
    - cb
    - cbarg
    argTypes:
    - DSA*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 114
    functionDepth: 10
    functionLinenumber: 114
    functionLinenumberEnd: 144
    functionName: dsa_keygen_pairwise_test
    functionSourceFile: /src/openssl/crypto/dsa/dsa_key.c
    functionUses: 1
    functionsReached:
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_new
    - DSA_SIG_free
    - DSA_do_sign
    - OSSL_SELF_TEST_onend
    - OSSL_SELF_TEST_free
    - DSA_do_verify
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: int dsa_keygen_pairwise_test(DSA *dsa, OSSL_CALLBACK *cb, void *cbarg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/dsa/dsa_key.c:153,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/dsa/dsa_key.c:157,1
    - Dst: ossl_ffc_params_simple_validate
      Src: /src/openssl/crypto/dsa/dsa_key.c:164,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/crypto/dsa/dsa_key.c:173,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/dsa/dsa_key.c:174,1
    - Dst: BN_new
      Src: /src/openssl/crypto/dsa/dsa_key.c:179,1
    - Dst: ossl_dsa_generate_public_key
      Src: /src/openssl/crypto/dsa/dsa_key.c:185,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/crypto/dsa/dsa_key.c:197,1
    - Dst: dsa_keygen_pairwise_test
      Src: /src/openssl/crypto/dsa/dsa_key.c:198,1
    - Dst: dsa_keygen_knownanswer_test
      Src: /src/openssl/crypto/dsa/dsa_key.c:199,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/crypto/dsa/dsa_key.c:201,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:202,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:203,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:206,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:215,1
    - Dst: BN_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:217,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/dsa/dsa_key.c:218,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 147
    functionDepth: 11
    functionLinenumber: 147
    functionLinenumberEnd: 221
    functionName: dsa_keygen
    functionSourceFile: /src/openssl/crypto/dsa/dsa_key.c
    functionUses: 1
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - ossl_dsa_generate_public_key
    - ossl_ffc_params_simple_validate
    - BN_num_bits
    - BN_clear_free
    - BN_secure_new
    - dsa_keygen_knownanswer_test
    - ossl_set_error_state
    - BN_CTX_free
    - BN_new
    - BN_free
    - ossl_ffc_generate_private_key
    - dsa_keygen_pairwise_test
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int dsa_keygen(DSA *dsa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: pkey_dsa_init
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int pkey_dsa_init(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pkey_dsa_init
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: pkey_dsa_copy
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - pkey_dsa_init
    linkageType: ''
    returnType: int
    signature: int pkey_dsa_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: pkey_dsa_cleanup
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void pkey_dsa_cleanup(EVP_PKEY_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:89,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:92,1
    - Dst: DSA_sign
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 77
    functionDepth: 12
    functionLinenumber: 77
    functionLinenumberEnd: 105
    functionName: pkey_dsa_sign
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    - EVP_PKEY_get0_DSA
    - DSA_sign
    linkageType: ''
    returnType: int
    signature: "int pkey_dsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig,\n                         size_t
      *siglen, const unsigned char *tbs,\n                         size_t tbslen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:118,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:121,1
    - Dst: DSA_verify
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 107
    functionDepth: 11
    functionLinenumber: 107
    functionLinenumberEnd: 131
    functionName: pkey_dsa_verify
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    - EVP_PKEY_get0_DSA
    - DSA_verify
    linkageType: ''
    returnType: int
    signature: "int pkey_dsa_verify(EVP_PKEY_CTX *ctx,\n                           const
      unsigned char *sig, size_t siglen,\n                           const unsigned
      char *tbs, size_t tbslen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:151,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:152,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:154,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:161,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:162,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:163,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:164,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:165,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:166,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:167,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:168,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:169,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:170,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:188,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 194
    functionName: pkey_dsa_ctrl
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_type
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int pkey_dsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:199,1
    - Dst: atoi
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:201,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:202,1
    - Dst: strcmp
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:204,1
    - Dst: atoi
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:205,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:206,1
    - Dst: strcmp
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:208,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:212,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_md
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: pkey_dsa_ctrl_str
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - atoi
    - ERR_raise
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_CTX_set_dsa_paramgen_md
    - EVP_get_digestbyname
    - strcmp
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    linkageType: ''
    returnType: int
    signature: "int pkey_dsa_ctrl_str(EVP_PKEY_CTX *ctx,\n                             const
      char *type, const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_new
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:228,1
    - Dst: evp_pkey_set_cb_translate
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:231,1
    - Dst: DSA_new
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:234,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:236,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:240,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:240,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:242,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:245,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:247,1
    - Dst: DSA_free
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 251
    functionName: pkey_dsa_paramgen
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_new
    - DSA_free
    - EVP_PKEY_assign_DSA
    - EVP_MD_get0_name
    - evp_pkey_set_cb_translate
    - DSA_new
    - BN_GENCB_free
    - ossl_ffc_params_FIPS186_4_generate
    - ossl_ffc_set_digest
    linkageType: ''
    returnType: int
    signature: int pkey_dsa_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:258,1
    - Dst: DSA_new
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:261,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:264,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:266,1
    - Dst: DSA_generate_key
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:268,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/dsa/dsa_pmeth.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: pkey_dsa_keygen
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_assign_DSA
    - DSA_new
    - DSA_generate_key
    - EVP_PKEY_get0_DSA
    - EVP_PKEY_copy_parameters
    linkageType: ''
    returnType: int
    signature: int pkey_dsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: ossl_dsa_pkey_method
    functionSourceFile: /src/openssl/crypto/dsa/dsa_pmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_dsa_pkey_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/openssl/crypto/camellia/cmll_cfb.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - CAMELLIA_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: Camellia_cfb128_encrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_cfb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: void
    signature: "void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char
      *out,\n                             size_t length, const CAMELLIA_KEY *key,\n
      \                            unsigned char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/crypto/camellia/cmll_cfb.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - CAMELLIA_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: Camellia_cfb1_encrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_cfb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: void
    signature: "void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char
      *out,\n                           size_t length, const CAMELLIA_KEY *key,\n
      \                          unsigned char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/openssl/crypto/camellia/cmll_cfb.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - CAMELLIA_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: Camellia_cfb8_encrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_cfb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_8_encrypt
    linkageType: ''
    returnType: void
    signature: "void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char
      *out,\n                           size_t length, const CAMELLIA_KEY *key,\n
      \                          unsigned char *ivec, int *num, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: RightRotate
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RightRotate(x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: LeftRotate
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LeftRotate(x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: GETU32
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: PUTU32
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(p,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _s0
    - ','
    - _s1
    - ','
    - _s2
    - ','
    - _s3
    - ','
    - _key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 272
    functionName: Camellia_Feistel
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Camellia_Feistel(_s0,_s1,_s2,_s3,_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _s0
    - ','
    - _s1
    - ','
    - _s2
    - ','
    - _s3
    - ','
    - _n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: RotLeft128
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RotLeft128(_s0,_s1,_s2,_s3,_n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:290,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:291,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:292,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:293,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:296,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:297,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:302,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:303,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:309,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:310,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:313,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:314,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:319,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:321,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:323,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:325,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:327,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:329,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:333,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:335,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:337,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:339,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:341,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:343,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:350,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:351,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:354,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:356,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:358,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:362,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:364,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:366,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:368,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:372,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:374,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:378,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:382,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:384,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:386,1
    - Dst: RotLeft128
      Src: /src/openssl/crypto/camellia/camellia.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 90
    argCount: 3
    argNames:
    - keyBitLength
    - rawKey
    - k
    argTypes:
    - int
    - u8*
    - KEY_TABLE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 401
    functionName: Camellia_Ekeygen
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached:
    - GETU32
    - RotLeft128
    - Camellia_Feistel
    linkageType: ''
    returnType: int
    signature: int Camellia_Ekeygen(int keyBitLength, const u8 *rawKey, KEY_TABLE_TYPE
      k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:410,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:411,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:412,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:413,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:418,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:419,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:420,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:421,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:422,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:423,1
    - Dst: LeftRotate
      Src: /src/openssl/crypto/camellia/camellia.c:434,1
    - Dst: LeftRotate
      Src: /src/openssl/crypto/camellia/camellia.c:437,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:443,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:444,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:445,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - grandRounds
    - plaintext
    - keyTable
    - ciphertext
    argTypes:
    - int
    - u8[]
    - KEY_TABLE_TYPE
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 447
    functionName: Camellia_EncryptBlock_Rounds
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached:
    - LeftRotate
    - PUTU32
    - GETU32
    - Camellia_Feistel
    linkageType: ''
    returnType: void
    signature: "void Camellia_EncryptBlock_Rounds(int grandRounds, const u8 plaintext[],\n
      \                                 const KEY_TABLE_TYPE keyTable,\n                                  u8
      ciphertext[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_EncryptBlock_Rounds
      Src: /src/openssl/crypto/camellia/camellia.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keyBitLength
    - plaintext
    - keyTable
    - ciphertext
    argTypes:
    - int
    - u8[]
    - KEY_TABLE_TYPE
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: Camellia_EncryptBlock
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached:
    - Camellia_EncryptBlock_Rounds
    linkageType: ''
    returnType: void
    signature: "void Camellia_EncryptBlock(int keyBitLength, const u8 plaintext[],\n
      \                          const KEY_TABLE_TYPE keyTable, u8 ciphertext[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:463,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:464,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:465,1
    - Dst: GETU32
      Src: /src/openssl/crypto/camellia/camellia.c:466,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:471,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:472,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:473,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:474,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:475,1
    - Dst: Camellia_Feistel
      Src: /src/openssl/crypto/camellia/camellia.c:476,1
    - Dst: LeftRotate
      Src: /src/openssl/crypto/camellia/camellia.c:487,1
    - Dst: LeftRotate
      Src: /src/openssl/crypto/camellia/camellia.c:490,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:496,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:497,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:498,1
    - Dst: PUTU32
      Src: /src/openssl/crypto/camellia/camellia.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - grandRounds
    - ciphertext
    - keyTable
    - plaintext
    argTypes:
    - int
    - u8[]
    - KEY_TABLE_TYPE
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 500
    functionName: Camellia_DecryptBlock_Rounds
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached:
    - LeftRotate
    - PUTU32
    - GETU32
    - Camellia_Feistel
    linkageType: ''
    returnType: void
    signature: "void Camellia_DecryptBlock_Rounds(int grandRounds, const u8 ciphertext[],\n
      \                                 const KEY_TABLE_TYPE keyTable,\n                                  u8
      plaintext[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_DecryptBlock_Rounds
      Src: /src/openssl/crypto/camellia/camellia.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - keyBitLength
    - ciphertext
    - keyTable
    - plaintext
    argTypes:
    - int
    - u8[]
    - KEY_TABLE_TYPE
    - u8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: Camellia_DecryptBlock
    functionSourceFile: /src/openssl/crypto/camellia/camellia.c
    functionUses: 0
    functionsReached:
    - Camellia_DecryptBlock_Rounds
    linkageType: ''
    returnType: void
    signature: "void Camellia_DecryptBlock(int keyBitLength, const u8 ciphertext[],\n
      \                          const KEY_TABLE_TYPE keyTable, u8 plaintext[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/openssl/crypto/camellia/cmll_ofb.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - CAMELLIA_KEY*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: Camellia_ofb128_encrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_ofb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: void
    signature: "void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char
      *out,\n                             size_t length, const CAMELLIA_KEY *key,\n
      \                            unsigned char *ivec, int *num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/openssl/crypto/camellia/cmll_ctr.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - in
    - out
    - length
    - key
    - ivec
    - ecount_buf
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - CAMELLIA_KEY*
    - unsigned char[]
    - unsigned char[]
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: Camellia_ctr128_encrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_ctr.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ctr128_encrypt
    linkageType: ''
    returnType: void
    signature: "void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char
      *out,\n                             size_t length, const CAMELLIA_KEY *key,\n
      \                            unsigned char ivec[CAMELLIA_BLOCK_SIZE],\n                             unsigned
      char ecount_buf[CAMELLIA_BLOCK_SIZE],\n                             unsigned
      int *num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_Ekeygen
      Src: /src/openssl/crypto/camellia/cmll_misc.c:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - userKey
    - bits
    - key
    argTypes:
    - unsigned char*
    - int
    - CAMELLIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: Camellia_set_key
    functionSourceFile: /src/openssl/crypto/camellia/cmll_misc.c
    functionUses: 1
    functionsReached:
    - Camellia_Ekeygen
    linkageType: ''
    returnType: int
    signature: "int Camellia_set_key(const unsigned char *userKey, const int bits,\n
      \                    CAMELLIA_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_EncryptBlock_Rounds
      Src: /src/openssl/crypto/camellia/cmll_misc.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - CAMELLIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Camellia_encrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_misc.c
    functionUses: 0
    functionsReached:
    - Camellia_EncryptBlock_Rounds
    linkageType: ''
    returnType: void
    signature: "void Camellia_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     const CAMELLIA_KEY *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_DecryptBlock_Rounds
      Src: /src/openssl/crypto/camellia/cmll_misc.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - out
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - CAMELLIA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: Camellia_decrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_misc.c
    functionUses: 0
    functionsReached:
    - Camellia_DecryptBlock_Rounds
    linkageType: ''
    returnType: void
    signature: "void Camellia_decrypt(const unsigned char *in, unsigned char *out,\n
      \                     const CAMELLIA_KEY *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_encrypt
      Src: /src/openssl/crypto/camellia/cmll_ecb.c:23,1
    - Dst: Camellia_decrypt
      Src: /src/openssl/crypto/camellia/cmll_ecb.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - in
    - out
    - key
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - CAMELLIA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: Camellia_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_ecb.c
    functionUses: 0
    functionsReached:
    - Camellia_encrypt
    - Camellia_decrypt
    linkageType: ''
    returnType: void
    signature: "void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                         const CAMELLIA_KEY *key, const int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/crypto/camellia/cmll_cbc.c:25,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/crypto/camellia/cmll_cbc.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - in
    - out
    - len
    - key
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - CAMELLIA_KEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: Camellia_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/camellia/cmll_cbc.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: void
    signature: "void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out,\n
      \                         size_t len, const CAMELLIA_KEY *key,\n                          unsigned
      char *ivec, const int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/md5/md5_dgst.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: MD5_Init
    functionSourceFile: /src/openssl/crypto/md5/md5_dgst.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int MD5_Init(MD5_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:63,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:64,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:65,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:66,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:68,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:68,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:69,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:70,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:71,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:71,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:72,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:73,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:74,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:74,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:75,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:76,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:77,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:77,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:78,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:79,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:80,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:80,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:81,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:82,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:83,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:83,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:84,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:85,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:86,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:86,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:87,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:88,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:89,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:89,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:90,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:91,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:92,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:92,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:93,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:94,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:95,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:95,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:96,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:97,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:98,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:98,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:99,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:100,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:101,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:101,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:102,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:103,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:104,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:104,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:105,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:106,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:107,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:107,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/md5/md5_dgst.c:108,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:109,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:110,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:110,1
    - Dst: R0
      Src: /src/openssl/crypto/md5/md5_dgst.c:111,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:111,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:113,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:113,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:114,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:114,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:115,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:115,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:116,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:116,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:117,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:117,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:118,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:118,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:119,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:119,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:120,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:120,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:121,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:121,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:122,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:122,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:123,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:123,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:124,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:124,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:125,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:125,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:126,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:126,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:127,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:127,1
    - Dst: R1
      Src: /src/openssl/crypto/md5/md5_dgst.c:128,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:128,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:130,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:130,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:131,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:131,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:132,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:132,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:133,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:133,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:134,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:134,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:135,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:135,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:136,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:136,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:137,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:137,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:138,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:138,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:139,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:139,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:140,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:140,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:141,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:141,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:142,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:142,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:143,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:143,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:144,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:144,1
    - Dst: R2
      Src: /src/openssl/crypto/md5/md5_dgst.c:145,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:145,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:147,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:147,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:148,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:148,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:149,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:149,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:150,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:150,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:151,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:151,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:152,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:152,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:153,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:153,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:154,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:154,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:155,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:155,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:156,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:156,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:157,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:157,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:158,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:158,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:159,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:159,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:160,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:160,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:161,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:161,1
    - Dst: R3
      Src: /src/openssl/crypto/md5/md5_dgst.c:162,1
    - Dst: X
      Src: /src/openssl/crypto/md5/md5_dgst.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 107
    argCount: 3
    argNames:
    - c
    - data_
    - num
    argTypes:
    - MD5_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 169
    functionName: md5_block_data_order
    functionSourceFile: /src/openssl/crypto/md5/md5_dgst.c
    functionUses: 0
    functionsReached:
    - R2
    - HOST_c2l
    - R0
    - R3
    - R1
    - X
    linkageType: ''
    returnType: void
    signature: void md5_block_data_order(MD5_CTX *c, const void *data_, size_t num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: X
    functionSourceFile: /src/openssl/crypto/md5/md5_dgst.c
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: X
    functionSourceFile: /src/openssl/crypto/md5/md5_dgst.c
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/md5/md5_riscv.c:19,1
    - Dst: ossl_md5_block_asm_data_order_zbb
      Src: /src/openssl/crypto/md5/md5_riscv.c:20,1
    - Dst: ossl_md5_block_asm_data_order_riscv64
      Src: /src/openssl/crypto/md5/md5_riscv.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - p
    - num
    argTypes:
    - MD5_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: ossl_md5_block_asm_data_order
    functionSourceFile: /src/openssl/crypto/md5/md5_riscv.c
    functionUses: 0
    functionsReached:
    - ossl_md5_block_asm_data_order_riscv64
    - RISCV_HAS_ZBB
    - ossl_md5_block_asm_data_order_zbb
    linkageType: ''
    returnType: void
    signature: void ossl_md5_block_asm_data_order(MD5_CTX *c, const void *p, size_t
      num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/openssl/crypto/md5/md5_one.c:32,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/md5/md5_one.c:35,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/md5/md5_one.c:43,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/md5/md5_one.c:44,1
    - Dst: MD5_Final
      Src: /src/openssl/crypto/md5/md5_one.c:50,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md5/md5_one.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: MD5
    functionSourceFile: /src/openssl/crypto/md5/md5_one.c
    functionUses: 0
    functionsReached:
    - MD5_Init
    - ebcdic2ascii
    - MD5_Update
    - MD5_Final
    - OPENSSL_cleanse
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *MD5(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/openssl/crypto/md5/md5_sha1.c:22,1
    - Dst: SHA1_Init
      Src: /src/openssl/crypto/md5/md5_sha1.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - MD5_SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: ossl_md5_sha1_init
    functionSourceFile: /src/openssl/crypto/md5/md5_sha1.c
    functionUses: 0
    functionsReached:
    - SHA1_Init
    - MD5_Init
    linkageType: ''
    returnType: int
    signature: int ossl_md5_sha1_init(MD5_SHA1_CTX *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/openssl/crypto/md5/md5_sha1.c:29,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/md5/md5_sha1.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mctx
    - data
    - count
    argTypes:
    - MD5_SHA1_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: ossl_md5_sha1_update
    functionSourceFile: /src/openssl/crypto/md5/md5_sha1.c
    functionUses: 0
    functionsReached:
    - MD5_Update
    - SHA1_Update
    linkageType: ''
    returnType: int
    signature: int ossl_md5_sha1_update(MD5_SHA1_CTX *mctx, const void *data, size_t
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Final
      Src: /src/openssl/crypto/md5/md5_sha1.c:36,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/md5/md5_sha1.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - md
    - mctx
    argTypes:
    - unsigned char*
    - MD5_SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ossl_md5_sha1_final
    functionSourceFile: /src/openssl/crypto/md5/md5_sha1.c
    functionUses: 0
    functionsReached:
    - SHA1_Final
    - MD5_Final
    linkageType: ''
    returnType: int
    signature: int ossl_md5_sha1_final(unsigned char *md, MD5_SHA1_CTX *mctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_md5_sha1_update
      Src: /src/openssl/crypto/md5/md5_sha1.c:61,1
    - Dst: memset
      Src: /src/openssl/crypto/md5/md5_sha1.c:65,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/md5/md5_sha1.c:67,1
    - Dst: MD5_Final
      Src: /src/openssl/crypto/md5/md5_sha1.c:70,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/md5/md5_sha1.c:73,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/md5/md5_sha1.c:76,1
    - Dst: ossl_md5_sha1_init
      Src: /src/openssl/crypto/md5/md5_sha1.c:81,1
    - Dst: ossl_md5_sha1_update
      Src: /src/openssl/crypto/md5/md5_sha1.c:84,1
    - Dst: memset
      Src: /src/openssl/crypto/md5/md5_sha1.c:88,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/md5/md5_sha1.c:90,1
    - Dst: MD5_Update
      Src: /src/openssl/crypto/md5/md5_sha1.c:93,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/md5/md5_sha1.c:96,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/md5/md5_sha1.c:99,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md5/md5_sha1.c:104,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md5/md5_sha1.c:105,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - mctx
    - cmd
    - mslen
    - ms
    argTypes:
    - MD5_SHA1_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 108
    functionName: ossl_md5_sha1_ctrl
    functionSourceFile: /src/openssl/crypto/md5/md5_sha1.c
    functionUses: 1
    functionsReached:
    - memset
    - ossl_md5_sha1_init
    - SHA1_Update
    - MD5_Update
    - ossl_md5_sha1_update
    - MD5_Final
    - SHA1_Final
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int ossl_md5_sha1_ctrl(MD5_SHA1_CTX *mctx, int cmd, int mslen, void
      *ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: HASH_MAKE_STRING
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_STRING(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: F
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 245
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: G
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: H
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: I
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: R0
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R0(a,b,c,d,k,s,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: R1
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(a,b,c,d,k,s,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: R2
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(a,b,c,d,k,s,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: R3
    functionSourceFile: /src/openssl/crypto/md5/md5_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R3(a,b,c,d,k,s,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: char_to_int
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: char_to_int(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: OSSL_MAX
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_MAX(p,q)
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:120,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/bio/bio_print.c:152,1
    - Dst: char_to_int
      Src: /src/openssl/crypto/bio/bio_print.c:153,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:156,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/bio/bio_print.c:170,1
    - Dst: char_to_int
      Src: /src/openssl/crypto/bio/bio_print.c:173,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:176,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:220,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:223,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:226,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:229,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:232,1
    - Dst: fmtint
      Src: /src/openssl/crypto/bio/bio_print.c:235,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:248,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:251,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:254,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:257,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:260,1
    - Dst: fmtint
      Src: /src/openssl/crypto/bio/bio_print.c:263,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:271,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:273,1
    - Dst: fmtfp
      Src: /src/openssl/crypto/bio/bio_print.c:274,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:283,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:285,1
    - Dst: fmtfp
      Src: /src/openssl/crypto/bio/bio_print.c:286,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:295,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:297,1
    - Dst: fmtfp
      Src: /src/openssl/crypto/bio/bio_print.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_print.c:309,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:313,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:314,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:318,1
    - Dst: fmtstr
      Src: /src/openssl/crypto/bio/bio_print.c:325,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:330,1
    - Dst: fmtint
      Src: /src/openssl/crypto/bio/bio_print.c:331,1
    - Dst: va_arg
      Src: /src/openssl/crypto/bio/bio_print.c:339,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:344,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:375,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 245
    argCount: 7
    argNames:
    - sbuffer
    - buffer
    - maxlen
    - retlen
    - truncated
    - format
    - args
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - int*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 379
    functionName: _dopr
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - char_to_int
    - fmtint
    - ossl_isdigit
    - doapr_outch
    - fmtstr
    - fmtfp
    - va_arg
    linkageType: ''
    returnType: int
    signature: "int _dopr(char **sbuffer,\n      char **buffer,\n      size_t *maxlen,\n
      \     size_t *retlen, int *truncated, const char *format, va_list args)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/crypto/bio/bio_print.c:394,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:413,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:419,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:425,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 8
    argNames:
    - sbuffer
    - buffer
    - currlen
    - maxlen
    - value
    - flags
    - min
    - max
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 431
    functionName: fmtstr
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 1
    functionsReached:
    - doapr_outch
    - OPENSSL_strnlen
    linkageType: ''
    returnType: int
    signature: "int fmtstr(char **sbuffer,\n       char **buffer,\n       size_t *currlen,\n
      \      size_t *maxlen, const char *value, int flags, int min, int max)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_SIZE
      Src: /src/openssl/crypto/bio/bio_print.c:442,1
    - Dst: OSSL_MAX
      Src: /src/openssl/crypto/bio/bio_print.c:479,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_print.c:479,1
    - Dst: OSSL_MAX
      Src: /src/openssl/crypto/bio/bio_print.c:485,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:493,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:500,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:505,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:513,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:520,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:526,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 9
    argNames:
    - sbuffer
    - buffer
    - currlen
    - maxlen
    - value
    - base
    - min
    - max
    - flags
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - int64_t
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 531
    functionName: fmtint
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 1
    functionsReached:
    - doapr_outch
    - strlen
    - OSSL_MAX
    - DECIMAL_SIZE
    linkageType: ''
    returnType: int
    signature: "int fmtint(char **sbuffer,\n       char **buffer,\n       size_t *currlen,\n
      \      size_t *maxlen, int64_t value, int base, int min, int max, int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - LDOUBLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: abs_val
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LDOUBLE
    signature: LDOUBLE abs_val(LDOUBLE value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - in_exp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: pow_10
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LDOUBLE
    signature: LDOUBLE pow_10(int in_exp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - LDOUBLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 565
    functionName: roundv
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long roundv(LDOUBLE value)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: abs_val
      Src: /src/openssl/crypto/bio/bio_print.c:599,1
    - Dst: pow_10
      Src: /src/openssl/crypto/bio/bio_print.c:614,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:650,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:672,1
    - Dst: roundv
      Src: /src/openssl/crypto/bio/bio_print.c:688,1
    - Dst: pow_10
      Src: /src/openssl/crypto/bio/bio_print.c:688,1
    - Dst: roundv
      Src: /src/openssl/crypto/bio/bio_print.c:689,1
    - Dst: pow_10
      Src: /src/openssl/crypto/bio/bio_print.c:689,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:735,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:761,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:767,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:773,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:777,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:781,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:790,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:794,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:800,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:811,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:814,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:817,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:821,1
    - Dst: doapr_outch
      Src: /src/openssl/crypto/bio/bio_print.c:828,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 173
    argCount: 9
    argNames:
    - sbuffer
    - buffer
    - currlen
    - maxlen
    - fvalue
    - min
    - max
    - flags
    - style
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - LDOUBLE
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 833
    functionName: fmtfp
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 1
    functionsReached:
    - abs_val
    - roundv
    - doapr_outch
    - pow_10
    linkageType: ''
    returnType: int
    signature: "int fmtfp(char **sbuffer,\n      char **buffer,\n      size_t *currlen,\n
      \     size_t *maxlen, LDOUBLE fvalue, int min, int max, int flags, int style)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bio_print.c:844,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bio_print.c:848,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bio_print.c:857,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bio_print.c:860,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bio_print.c:862,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/bio/bio_print.c:868,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - sbuffer
    - buffer
    - currlen
    - maxlen
    - c
    argTypes:
    - char**
    - char**
    - size_t*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 883
    functionName: doapr_outch
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 4
    functionsReached:
    - ossl_assert
    - OPENSSL_realloc
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int doapr_outch(char **sbuffer,\n            char **buffer, size_t
      *currlen, size_t *maxlen, int c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/bio/bio_print.c:892,1
    - Dst: BIO_vprintf
      Src: /src/openssl/crypto/bio/bio_print.c:894,1
    - Dst: va_end
      Src: /src/openssl/crypto/bio/bio_print.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - format
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 898
    functionName: BIO_printf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 180
    functionsReached:
    - va_end
    - BIO_vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int BIO_printf(BIO *bio, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _dopr
      Src: /src/openssl/crypto/bio/bio_print.c:913,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_print.c:915,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bio_print.c:919,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_print.c:920,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bio_print.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - bio
    - format
    - args
    argTypes:
    - BIO*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 925
    functionName: BIO_vprintf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - _dopr
    linkageType: ''
    returnType: int
    signature: int BIO_vprintf(BIO *bio, const char *format, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/bio/bio_print.c:938,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/bio/bio_print.c:940,1
    - Dst: va_end
      Src: /src/openssl/crypto/bio/bio_print.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - n
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 944
    functionName: BIO_snprintf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 27
    functionsReached:
    - va_end
    - BIO_vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int BIO_snprintf(char *buf, size_t n, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _dopr
      Src: /src/openssl/crypto/bio/bio_print.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - n
    - format
    - args
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 946
    functionDepth: 3
    functionLinenumber: 946
    functionLinenumberEnd: 963
    functionName: BIO_vsnprintf
    functionSourceFile: /src/openssl/crypto/bio/bio_print.c
    functionUses: 1
    functionsReached:
    - _dopr
    linkageType: ''
    returnType: int
    signature: int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: BIO_s_log
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_log(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xopenlog
      Src: /src/openssl/crypto/bio/bss_log.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: slg_new
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 0
    functionsReached:
    - xopenlog
    linkageType: ''
    returnType: int
    signature: int slg_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcloselog
      Src: /src/openssl/crypto/bio/bss_log.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: slg_free
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 0
    functionsReached:
    - xcloselog
    linkageType: ''
    returnType: int
    signature: int slg_free(BIO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_log.c:202,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_log.c:204,1
    - Dst: strncmp
      Src: /src/openssl/crypto/bio/bss_log.c:208,1
    - Dst: xsyslog
      Src: /src/openssl/crypto/bio/bss_log.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_log.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 217
    functionName: slg_write
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 0
    functionsReached:
    - memcpy
    - xsyslog
    - OPENSSL_free
    - strncmp
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int slg_write(BIO *b, const char *in, int inl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xcloselog
      Src: /src/openssl/crypto/bio/bss_log.c:223,1
    - Dst: xopenlog
      Src: /src/openssl/crypto/bio/bss_log.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: slg_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 0
    functionsReached:
    - xcloselog
    - xopenlog
    linkageType: ''
    returnType: long
    signature: long slg_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_log.c:236,1
    - Dst: slg_write
      Src: /src/openssl/crypto/bio/bss_log.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: slg_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 0
    functionsReached:
    - strlen
    - slg_write
    linkageType: ''
    returnType: int
    signature: int slg_puts(BIO *bp, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_winnt
      Src: /src/openssl/crypto/bio/bss_log.c:245,1
    - Dst: RegisterEventSourceA
      Src: /src/openssl/crypto/bio/bss_log.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bp
    - name
    - level
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: xopenlog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 2
    functionsReached:
    - check_winnt
    - RegisterEventSourceA
    linkageType: ''
    returnType: void
    signature: void xopenlog(BIO *bp, char *name, int level)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_SIZE
      Src: /src/openssl/crypto/bio/bss_log.c:255,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bss_log.c:284,1
    - Dst: GetCurrentProcessId
      Src: /src/openssl/crypto/bio/bss_log.c:284,1
    - Dst: ReportEventA
      Src: /src/openssl/crypto/bio/bss_log.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 289
    functionName: xsyslog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 1
    functionsReached:
    - BIO_snprintf
    - GetCurrentProcessId
    - ReportEventA
    - DECIMAL_SIZE
    linkageType: ''
    returnType: void
    signature: void xsyslog(BIO *bp, int priority, const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeregisterEventSource
      Src: /src/openssl/crypto/bio/bss_log.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: xcloselog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 2
    functionsReached:
    - DeregisterEventSource
    linkageType: ''
    returnType: void
    signature: void xcloselog(BIO *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - name
    - level
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: xopenlog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xopenlog(BIO *bp, char *name, int level)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: $DESCRIPTOR
      Src: /src/openssl/crypto/bio/bss_log.c:331,1
    - Dst: lib$sys_fao
      Src: /src/openssl/crypto/bio/bss_log.c:366,1
    - Dst: OPCDEF_MALLOC
      Src: /src/openssl/crypto/bio/bss_log.c:369,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_log.c:371,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_log.c:373,1
    - Dst: sys$sndopr
      Src: /src/openssl/crypto/bio/bss_log.c:380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_log.c:382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 383
    functionName: xsyslog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 1
    functionsReached:
    - OPCDEF_MALLOC
    - sys$sndopr
    - lib$sys_fao
    - memcpy
    - OPENSSL_free
    - $DESCRIPTOR
    linkageType: ''
    returnType: void
    signature: void xsyslog(BIO *bp, int priority, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: xcloselog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xcloselog(BIO *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/openssl/crypto/bio/bss_log.c:394,1
    - Dst: openlog
      Src: /src/openssl/crypto/bio/bss_log.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bp
    - name
    - level
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: xopenlog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 2
    functionsReached:
    - openlog
    linkageType: ''
    returnType: void
    signature: void xopenlog(BIO *bp, char *name, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syslog
      Src: /src/openssl/crypto/bio/bss_log.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - priority
    - string
    argTypes:
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: xsyslog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 1
    functionsReached:
    - syslog
    linkageType: ''
    returnType: void
    signature: void xsyslog(BIO *bp, int priority, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closelog
      Src: /src/openssl/crypto/bio/bss_log.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: xcloselog
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 2
    functionsReached:
    - closelog
    linkageType: ''
    returnType: void
    signature: void xcloselog(BIO *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: BIO_s_log
    functionSourceFile: /src/openssl/crypto/bio/bss_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_log(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: BIO_new_fd
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_fd(int fd, int close_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: BIO_fd_non_fatal_error
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_fd_non_fatal_error(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: BIO_fd_should_retry
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_fd_should_retry(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: BIO_s_fd
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_fd(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: BIO_s_fd
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_fd(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_fd.c:83,1
    - Dst: BIO_s_fd
      Src: /src/openssl/crypto/bio/bss_fd.c:83,1
    - Dst: BIO_set_fd
      Src: /src/openssl/crypto/bio/bss_fd.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: BIO_new_fd
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached:
    - BIO_set_fd
    - BIO_new
    - BIO_s_fd
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_fd(int fd, int close_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: fd_new
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fd_new(BIO *bi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UP_close
      Src: /src/openssl/crypto/bio/bss_fd.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: fd_free
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached:
    - UP_close
    linkageType: ''
    returnType: int
    signature: int fd_free(BIO *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear_sys_error
      Src: /src/openssl/crypto/bio/bss_fd.c:118,1
    - Dst: UP_read
      Src: /src/openssl/crypto/bio/bss_fd.c:119,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_fd.c:120,1
    - Dst: BIO_fd_should_retry
      Src: /src/openssl/crypto/bio/bss_fd.c:122,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_fd.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: fd_read
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 1
    functionsReached:
    - BIO_clear_retry_flags
    - clear_sys_error
    - UP_read
    - BIO_set_retry_read
    - BIO_fd_should_retry
    linkageType: ''
    returnType: int
    signature: int fd_read(BIO *b, char *out, int outl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear_sys_error
      Src: /src/openssl/crypto/bio/bss_fd.c:134,1
    - Dst: UP_write
      Src: /src/openssl/crypto/bio/bss_fd.c:135,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_fd.c:136,1
    - Dst: BIO_fd_should_retry
      Src: /src/openssl/crypto/bio/bss_fd.c:138,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_fd.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: fd_write
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 1
    functionsReached:
    - BIO_clear_retry_flags
    - clear_sys_error
    - UP_write
    - BIO_set_retry_write
    - BIO_fd_should_retry
    linkageType: ''
    returnType: int
    signature: int fd_write(BIO *b, const char *in, int inl)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: UP_lseek
      Src: /src/openssl/crypto/bio/bss_fd.c:154,1
    - Dst: UP_lseek
      Src: /src/openssl/crypto/bio/bss_fd.c:158,1
    - Dst: fd_free
      Src: /src/openssl/crypto/bio/bss_fd.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 197
    functionName: fd_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached:
    - UP_lseek
    - fd_free
    linkageType: ''
    returnType: long
    signature: long fd_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_fd.c:202,1
    - Dst: fd_write
      Src: /src/openssl/crypto/bio/bss_fd.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: fd_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached:
    - strlen
    - fd_write
    linkageType: ''
    returnType: int
    signature: int fd_puts(BIO *bp, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fd_read
      Src: /src/openssl/crypto/bio/bss_fd.c:216,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_fd.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: fd_gets
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 0
    functionsReached:
    - strlen
    - fd_read
    linkageType: ''
    returnType: int
    signature: int fd_gets(BIO *bp, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_fd.c:233,1
    - Dst: BIO_fd_non_fatal_error
      Src: /src/openssl/crypto/bio/bss_fd.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: BIO_fd_should_retry
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 2
    functionsReached:
    - BIO_fd_non_fatal_error
    - get_last_sys_error
    linkageType: ''
    returnType: int
    signature: int BIO_fd_should_retry(int i)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 284
    functionName: BIO_fd_non_fatal_error
    functionSourceFile: /src/openssl/crypto/bio/bss_fd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_fd_non_fatal_error(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: BIO_s_null
    functionSourceFile: /src/openssl/crypto/bio/bss_null.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: null_read
    functionSourceFile: /src/openssl/crypto/bio/bss_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int null_read(BIO *b, char *out, int outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: null_write
    functionSourceFile: /src/openssl/crypto/bio/bss_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int null_write(BIO *b, const char *in, int inl)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: null_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long null_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: null_gets
    functionSourceFile: /src/openssl/crypto/bio/bss_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int null_gets(BIO *bp, char *buf, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_null.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: null_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_null.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int null_puts(BIO *bp, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: BIO_s_socket
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_socket(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_sock.c:71,1
    - Dst: BIO_s_socket
      Src: /src/openssl/crypto/bio/bss_sock.c:71,1
    - Dst: BIO_set_fd
      Src: /src/openssl/crypto/bio/bss_sock.c:74,1
    - Dst: ktls_enable
      Src: /src/openssl/crypto/bio/bss_sock.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: BIO_new_socket
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 2
    functionsReached:
    - BIO_set_fd
    - BIO_new
    - ktls_enable
    - BIO_s_socket
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_socket(int fd, int close_flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_sock.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: sock_new
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int sock_new(BIO *bi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_sock.c:106,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_sock.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: sock_free
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_closesocket
    linkageType: ''
    returnType: int
    signature: int sock_free(BIO *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_sock.c:121,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/crypto/bio/bss_sock.c:123,1
    - Dst: ktls_read_record
      Src: /src/openssl/crypto/bio/bss_sock.c:124,1
    - Dst: readsocket
      Src: /src/openssl/crypto/bio/bss_sock.c:127,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_sock.c:128,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_sock.c:130,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_sock.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: sock_read
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - clear_socket_error
    - BIO_clear_retry_flags
    - BIO_sock_should_retry
    - ktls_read_record
    - BIO_set_retry_read
    - BIO_get_ktls_recv
    - readsocket
    linkageType: ''
    returnType: int
    signature: int sock_read(BIO *b, char *out, int outl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_sock.c:146,1
    - Dst: BIO_should_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:148,1
    - Dst: ktls_send_ctrl_message
      Src: /src/openssl/crypto/bio/bss_sock.c:150,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:153,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_sock.c:160,1
    - Dst: sendto
      Src: /src/openssl/crypto/bio/bss_sock.c:162,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_sock.c:163,1
    - Dst: writesocket
      Src: /src/openssl/crypto/bio/bss_sock.c:167,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_sock.c:168,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_sock.c:170,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_sock.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 174
    functionName: sock_write
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - clear_socket_error
    - BIO_clear_retry_flags
    - BIO_ADDR_sockaddr_size
    - BIO_sock_should_retry
    - writesocket
    - BIO_should_ktls_ctrl_msg_flag
    - BIO_clear_ktls_ctrl_msg_flag
    - sendto
    - BIO_ADDR_sockaddr
    - BIO_set_retry_write
    - ktls_send_ctrl_message
    linkageType: ''
    returnType: int
    signature: int sock_write(BIO *b, const char *in, int inl)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_sock.c:190,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_sock.c:197,1
    - Dst: ktls_start
      Src: /src/openssl/crypto/bio/bss_sock.c:235,1
    - Dst: BIO_set_ktls_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:237,1
    - Dst: BIO_should_ktls_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:240,1
    - Dst: BIO_should_ktls_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:242,1
    - Dst: BIO_set_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:244,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:249,1
    - Dst: ktls_enable_tx_zerocopy_sendfile
      Src: /src/openssl/crypto/bio/bss_sock.c:253,1
    - Dst: BIO_set_ktls_zerocopy_sendfile_flag
      Src: /src/openssl/crypto/bio/bss_sock.c:255,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_sock.c:272,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_sock.c:273,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 285
    functionName: sock_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - BIO_set_ktls_ctrl_msg_flag
    - BIO_closesocket
    - memset
    - BIO_set_ktls_flag
    - ktls_enable_tx_zerocopy_sendfile
    - BIO_ADDR_make
    - BIO_set_ktls_zerocopy_sendfile_flag
    - BIO_clear_ktls_ctrl_msg_flag
    - BIO_ADDR_sockaddr
    - BIO_should_ktls_flag
    - ktls_start
    linkageType: ''
    returnType: long
    signature: long sock_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_sock.c:290,1
    - Dst: sock_write
      Src: /src/openssl/crypto/bio/bss_sock.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: sock_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 0
    functionsReached:
    - strlen
    - sock_write
    linkageType: ''
    returnType: int
    signature: int sock_puts(BIO *bp, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_sock.c:303,1
    - Dst: BIO_sock_non_fatal_error
      Src: /src/openssl/crypto/bio/bss_sock.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: BIO_sock_should_retry
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 2
    functionsReached:
    - BIO_sock_non_fatal_error
    - get_last_socket_error
    linkageType: ''
    returnType: int
    signature: int BIO_sock_should_retry(int i)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 359
    functionName: BIO_sock_non_fatal_error
    functionSourceFile: /src/openssl/crypto/bio/bss_sock.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_sock_non_fatal_error(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: BIO_f_prefix
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_prefix(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bf_prefix.c:54,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/bio/bf_prefix.c:62,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/bio/bf_prefix.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: prefix_create
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - OPENSSL_zalloc
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int prefix_create(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bf_prefix.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_prefix.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_prefix.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: prefix_destroy
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int prefix_destroy(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read_ex
      Src: /src/openssl/crypto/bio/bf_prefix.c:78,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - b
    - in
    - size
    - numread
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: prefix_read
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 0
    functionsReached:
    - BIO_next
    - BIO_read_ex
    linkageType: ''
    returnType: int
    signature: int prefix_read(BIO *b, char *in, size_t size, size_t *numread)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bf_prefix.c:84,1
    - Dst: BIO_write_ex
      Src: /src/openssl/crypto/bio/bf_prefix.c:101,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:101,1
    - Dst: BIO_write_ex
      Src: /src/openssl/crypto/bio/bf_prefix.c:118,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:118,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bf_prefix.c:118,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bio/bf_prefix.c:121,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:121,1
    - Dst: BIO_write_ex
      Src: /src/openssl/crypto/bio/bf_prefix.c:135,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:135,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 4
    argNames:
    - b
    - out
    - outl
    - numwritten
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 149
    functionName: prefix_write
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 0
    functionsReached:
    - BIO_write_ex
    - BIO_next
    - strlen
    - BIO_get_data
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int prefix_write(BIO *b, const char *out, size_t outl,\n                        size_t
      *numwritten)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bf_prefix.c:156,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_prefix.c:161,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/bio/bf_prefix.c:166,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:187,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_prefix.c:188,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:188,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 192
    functionName: prefix_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - OPENSSL_free
    - OPENSSL_strdup
    - BIO_next
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long prefix_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/bio/bf_prefix.c:196,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: prefix_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long prefix_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/crypto/bio/bf_prefix.c:201,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/bio/bf_prefix.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: prefix_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 0
    functionsReached:
    - BIO_gets
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int prefix_gets(BIO *b, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bf_prefix.c:206,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_prefix.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: prefix_puts
    functionSourceFile: /src/openssl/crypto/bio/bf_prefix.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int prefix_puts(BIO *b, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: DUMP_WIDTH_LESS_INDENT
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMP_WIDTH_LESS_INDENT(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - pos
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: SPACE
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPACE(buf, pos, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_indent_cb
      Src: /src/openssl/crypto/bio/bio_dump.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - u
    - s
    - len
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: BIO_dump_cb
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 0
    functionsReached:
    - BIO_dump_indent_cb
    linkageType: ''
    returnType: int
    signature: "int BIO_dump_cb(int (*cb) (const void *data, size_t len, void *u),\n
      \               void *u, const void *s, int len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DUMP_WIDTH_LESS_INDENT
      Src: /src/openssl/crypto/bio/bio_dump.c:43,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_dump.c:48,1
    - Dst: SPACE
      Src: /src/openssl/crypto/bio/bio_dump.c:53,1
    - Dst: strcpy
      Src: /src/openssl/crypto/bio/bio_dump.c:55,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_dump.c:58,1
    - Dst: SPACE
      Src: /src/openssl/crypto/bio/bio_dump.c:64,1
    - Dst: strcpy
      Src: /src/openssl/crypto/bio/bio_dump.c:65,1
    - Dst: SPACE
      Src: /src/openssl/crypto/bio/bio_dump.c:71,1
    - Dst: SPACE
      Src: /src/openssl/crypto/bio/bio_dump.c:83,1
    - Dst: cb
      Src: /src/openssl/crypto/bio/bio_dump.c:91,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 4
    argNames:
    - u
    - v
    - len
    - indent
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 97
    functionName: BIO_dump_indent_cb
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 1
    functionsReached:
    - strcpy
    - SPACE
    - BIO_snprintf
    - cb
    - DUMP_WIDTH_LESS_INDENT
    linkageType: ''
    returnType: int
    signature: "int BIO_dump_indent_cb(int (*cb) (const void *data, size_t len, void
      *u),\n                       void *u, const void *v, int len, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UP_fwrite
      Src: /src/openssl/crypto/bio/bio_dump.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - len
    - fp
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: write_fp
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 0
    functionsReached:
    - UP_fwrite
    linkageType: ''
    returnType: int
    signature: int write_fp(const void *data, size_t len, void *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_cb
      Src: /src/openssl/crypto/bio/bio_dump.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - s
    - len
    argTypes:
    - FILE*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: BIO_dump_fp
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 0
    functionsReached:
    - BIO_dump_cb
    linkageType: ''
    returnType: int
    signature: int BIO_dump_fp(FILE *fp, const void *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_indent_cb
      Src: /src/openssl/crypto/bio/bio_dump.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fp
    - s
    - len
    - indent
    argTypes:
    - FILE*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: BIO_dump_indent_fp
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 0
    functionsReached:
    - BIO_dump_indent_cb
    linkageType: ''
    returnType: int
    signature: int BIO_dump_indent_fp(FILE *fp, const void *s, int len, int indent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bio_dump.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - data
    - len
    - bp
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: write_bio
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 6
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int write_bio(const void *data, size_t len, void *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_cb
      Src: /src/openssl/crypto/bio/bio_dump.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - s
    - len
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: BIO_dump
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 3
    functionsReached:
    - BIO_dump_cb
    linkageType: ''
    returnType: int
    signature: int BIO_dump(BIO *bp, const void *s, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dump_indent_cb
      Src: /src/openssl/crypto/bio/bio_dump.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - s
    - len
    - indent
    argTypes:
    - BIO*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: BIO_dump_indent
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 1
    functionsReached:
    - BIO_dump_indent_cb
    linkageType: ''
    returnType: int
    signature: int BIO_dump_indent(BIO *bp, const void *s, int len, int indent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bio/bio_dump.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bio/bio_dump.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bio/bio_dump.c:150,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bio/bio_dump.c:155,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/bio/bio_dump.c:156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - out
    - indent
    - width
    - data
    - datalen
    argTypes:
    - BIO*
    - int
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: BIO_hex_string
    functionSourceFile: /src/openssl/crypto/bio/bio_dump.c
    functionUses: 5
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int BIO_hex_string(BIO *out, int indent, int width, const void *data,\n
      \                  int datalen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_dgram
      Src: /src/openssl/crypto/bio/bss_conn.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - BIO*
    - BIO_CONNECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: conn_create_dgram_bio
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_new_dgram
    linkageType: ''
    returnType: int
    signature: int conn_create_dgram_bio(BIO *b, BIO_CONNECT *c)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_conn.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:156,1
    - Dst: BIO_lookup
      Src: /src/openssl/crypto/bio/bss_conn.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:166,1
    - Dst: BIO_socket
      Src: /src/openssl/crypto/bio/bss_conn.c:174,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bss_conn.c:174,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/crypto/bio/bss_conn.c:175,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/crypto/bio/bss_conn.c:176,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_conn.c:178,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_conn.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:181,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:189,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/bio/bss_conn.c:190,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/crypto/bio/bss_conn.c:193,1
    - Dst: BIO_connect
      Src: /src/openssl/crypto/bio/bss_conn.c:196,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bss_conn.c:196,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_conn.c:199,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/crypto/bio/bss_conn.c:200,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/bio/bss_conn.c:203,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/crypto/bio/bss_conn.c:204,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_conn.c:209,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/bio/bss_conn.c:211,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/bio/bss_conn.c:214,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_conn.c:215,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_conn.c:215,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/bio/bss_conn.c:223,1
    - Dst: conn_create_dgram_bio
      Src: /src/openssl/crypto/bio/bss_conn.c:224,1
    - Dst: BIO_socket_wait
      Src: /src/openssl/crypto/bio/bss_conn.c:232,1
    - Dst: time
      Src: /src/openssl/crypto/bio/bss_conn.c:232,1
    - Dst: BIO_sock_error
      Src: /src/openssl/crypto/bio/bss_conn.c:234,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:236,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/crypto/bio/bss_conn.c:237,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_conn.c:241,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_conn.c:245,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:248,1
    - Dst: conn_create_dgram_bio
      Src: /src/openssl/crypto/bio/bss_conn.c:252,1
    - Dst: ktls_enable
      Src: /src/openssl/crypto/bio/bss_conn.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:268,1
    - Dst: cb
      Src: /src/openssl/crypto/bio/bss_conn.c:281,1
    - Dst: cb
      Src: /src/openssl/crypto/bio/bss_conn.c:289,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 142
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - BIO*
    - BIO_CONNECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 292
    functionName: conn_state
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - ktls_enable
    - conn_create_dgram_bio
    - ERR_raise
    - ERR_pop_to_mark
    - BIO_sock_error
    - BIO_set_retry_special
    - cb
    - BIO_sock_should_retry
    - ERR_clear_last_mark
    - time
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_clear_retry_flags
    - BIO_socket
    - ERR_raise_data
    - BIO_connect
    - BIO_ADDRINFO_address
    - BIO_lookup
    - ERR_set_mark
    - get_last_socket_error
    - BIO_ADDRINFO_protocol
    - BIO_socket_wait
    - BIO_ADDRINFO_socktype
    - BIO_ADDRINFO_next
    linkageType: ''
    returnType: int
    signature: int conn_state(BIO *b, BIO_CONNECT *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_conn.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: BIO_CONNECT_new
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BIO_CONNECT
    signature: BIO_CONNECT *BIO_CONNECT_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:310,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:311,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:312,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO_CONNECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: BIO_CONNECT_free
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_ADDRINFO_free
    linkageType: ''
    returnType: void
    signature: void BIO_CONNECT_free(BIO_CONNECT *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: BIO_s_connect
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_connect(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_CONNECT_new
      Src: /src/openssl/crypto/bio/bss_conn.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: conn_new
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_CONNECT_new
    linkageType: ''
    returnType: int
    signature: int conn_new(BIO *bi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/openssl/crypto/bio/bss_conn.c:340,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_conn.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 344
    functionName: conn_close_socket
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - shutdown
    - BIO_closesocket
    linkageType: ''
    returnType: void
    signature: void conn_close_socket(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:354,1
    - Dst: conn_close_socket
      Src: /src/openssl/crypto/bio/bss_conn.c:357,1
    - Dst: BIO_CONNECT_free
      Src: /src/openssl/crypto/bio/bss_conn.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: conn_free
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - conn_close_socket
    - BIO_CONNECT_free
    linkageType: ''
    returnType: int
    signature: int conn_free(BIO *a)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:373,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:379,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bss_conn.c:380,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:381,1
    - Dst: BIO_get_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:381,1
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_conn.c:386,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/crypto/bio/bss_conn.c:388,1
    - Dst: ktls_read_record
      Src: /src/openssl/crypto/bio/bss_conn.c:389,1
    - Dst: readsocket
      Src: /src/openssl/crypto/bio/bss_conn.c:392,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:393,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_conn.c:395,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_conn.c:396,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 402
    functionName: conn_read
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - clear_socket_error
    - BIO_clear_retry_flags
    - BIO_sock_should_retry
    - ktls_read_record
    - BIO_set_retry_read
    - conn_state
    - BIO_get_ktls_recv
    - BIO_get_retry_flags
    - readsocket
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int conn_read(BIO *b, char *out, int outl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:411,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:417,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bss_conn.c:418,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:419,1
    - Dst: BIO_get_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:419,1
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_conn.c:423,1
    - Dst: BIO_should_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:425,1
    - Dst: ktls_send_ctrl_message
      Src: /src/openssl/crypto/bio/bss_conn.c:426,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:429,1
    - Dst: BIO_ADDRINFO_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_conn.c:435,1
    - Dst: sendto
      Src: /src/openssl/crypto/bio/bss_conn.c:437,1
    - Dst: BIO_ADDRINFO_sockaddr
      Src: /src/openssl/crypto/bio/bss_conn.c:438,1
    - Dst: writesocket
      Src: /src/openssl/crypto/bio/bss_conn.c:442,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:443,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_conn.c:445,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_conn.c:446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 449
    functionName: conn_write
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_set_flags
    - clear_socket_error
    - BIO_clear_retry_flags
    - BIO_sock_should_retry
    - writesocket
    - BIO_ADDRINFO_sockaddr
    - BIO_get_retry_flags
    - BIO_should_ktls_ctrl_msg_flag
    - BIO_clear_ktls_ctrl_msg_flag
    - sendto
    - BIO_set_retry_write
    - conn_state
    - BIO_ADDRINFO_sockaddr_size
    - ktls_send_ctrl_message
    linkageType: ''
    returnType: int
    signature: int conn_write(BIO *b, const char *in, int inl)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: conn_close_socket
      Src: /src/openssl/crypto/bio/bss_conn.c:469,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:470,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:477,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bss_conn.c:489,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bss_conn.c:491,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:526,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/crypto/bio/bss_conn.c:528,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:533,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:535,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/bio/bss_conn.c:536,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/crypto/bio/bss_conn.c:540,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/crypto/bio/bss_conn.c:541,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:545,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:547,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:549,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:553,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_conn.c:554,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:587,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bss_conn.c:591,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_conn.c:593,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_conn.c:597,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:610,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/crypto/bio/bss_conn.c:627,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/crypto/bio/bss_conn.c:673,1
    - Dst: BIO_set_conn_port
      Src: /src/openssl/crypto/bio/bss_conn.c:675,1
    - Dst: BIO_set_conn_ip_family
      Src: /src/openssl/crypto/bio/bss_conn.c:676,1
    - Dst: BIO_set_conn_mode
      Src: /src/openssl/crypto/bio/bss_conn.c:677,1
    - Dst: BIO_set_info_callback
      Src: /src/openssl/crypto/bio/bss_conn.c:682,1
    - Dst: ktls_start
      Src: /src/openssl/crypto/bio/bss_conn.c:702,1
    - Dst: BIO_set_ktls_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:704,1
    - Dst: BIO_should_ktls_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:707,1
    - Dst: BIO_should_ktls_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:709,1
    - Dst: BIO_set_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:711,1
    - Dst: BIO_clear_ktls_ctrl_msg_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:716,1
    - Dst: ktls_enable_tx_zerocopy_sendfile
      Src: /src/openssl/crypto/bio/bss_conn.c:720,1
    - Dst: BIO_set_ktls_zerocopy_sendfile_flag
      Src: /src/openssl/crypto/bio/bss_conn.c:722,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 229
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 730
    functionName: conn_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - memcpy
    - conn_close_socket
    - OPENSSL_free
    - BIO_ADDRINFO_free
    - BIO_clear_ktls_ctrl_msg_flag
    - OPENSSL_strdup
    - BIO_set_nbio
    - BIO_set_ktls_zerocopy_sendfile_flag
    - BIO_set_info_callback
    - conn_state
    - BIO_set_conn_hostname
    - BIO_ADDRINFO_family
    - BIO_set_conn_ip_family
    - BIO_ADDR_sockaddr_size
    - BIO_set_conn_mode
    - BIO_set_ktls_flag
    - BIO_ADDR_hostname_string
    - BIO_should_ktls_flag
    - ktls_enable_tx_zerocopy_sendfile
    - BIO_ADDRINFO_address
    - BIO_set_conn_port
    - BIO_set_ktls_ctrl_msg_flag
    - BIO_parse_hostserv
    - BIO_ADDR_service_string
    - ktls_start
    linkageType: ''
    returnType: long
    signature: long conn_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 750
    functionName: conn_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long conn_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_conn.c:755,1
    - Dst: conn_write
      Src: /src/openssl/crypto/bio/bss_conn.c:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 752
    functionDepth: 4
    functionLinenumber: 752
    functionLinenumberEnd: 761
    functionName: conn_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - strlen
    - conn_write
    linkageType: ''
    returnType: int
    signature: int conn_puts(BIO *bp, const char *str)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:770,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:774,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:780,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:785,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:791,1
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_conn.c:795,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/crypto/bio/bss_conn.c:798,1
    - Dst: ktls_read_record
      Src: /src/openssl/crypto/bio/bss_conn.c:799,1
    - Dst: readsocket
      Src: /src/openssl/crypto/bio/bss_conn.c:802,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_conn.c:803,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_conn.c:805,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_conn.c:806,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 816
    functionName: conn_gets
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - clear_socket_error
    - ERR_raise
    - BIO_clear_retry_flags
    - BIO_sock_should_retry
    - ktls_read_record
    - BIO_set_retry_read
    - BIO_get_ktls_recv
    - readsocket
    - conn_state
    linkageType: ''
    returnType: int
    signature: int conn_gets(BIO *bio, char *buf, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:826,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:832,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:841,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/crypto/bio/bss_conn.c:845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - bio
    - msg
    - stride
    - num_msgs
    - flags
    - msgs_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 818
    functionDepth: 3
    functionLinenumber: 818
    functionLinenumberEnd: 847
    functionName: conn_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_sendmmsg
    - conn_state
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int conn_sendmmsg(BIO *bio, BIO_MSG *msg, size_t stride, size_t num_msgs,\n
      \                        uint64_t flags, size_t *msgs_processed)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:857,1
    - Dst: conn_state
      Src: /src/openssl/crypto/bio/bss_conn.c:863,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_conn.c:872,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/crypto/bio/bss_conn.c:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - bio
    - msg
    - stride
    - num_msgs
    - flags
    - msgs_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 878
    functionName: conn_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 0
    functionsReached:
    - BIO_recvmmsg
    - conn_state
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int conn_recvmmsg(BIO *bio, BIO_MSG *msg, size_t stride, size_t num_msgs,\n
      \                        uint64_t flags, size_t *msgs_processed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_conn.c:884,1
    - Dst: BIO_s_connect
      Src: /src/openssl/crypto/bio/bss_conn.c:884,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/crypto/bio/bss_conn.c:887,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_conn.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 891
    functionName: BIO_new_connect
    functionSourceFile: /src/openssl/crypto/bio/bss_conn.c
    functionUses: 1
    functionsReached:
    - BIO_set_conn_hostname
    - BIO_new
    - BIO_free
    - BIO_s_connect
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_connect(const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/openssl/crypto/bio/bio_sock.c:50,1
    - Dst: BIO_lookup
      Src: /src/openssl/crypto/bio/bio_sock.c:53,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bio_sock.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:57,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/crypto/bio/bio_sock.c:58,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bio_sock.c:58,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bio_sock.c:63,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/crypto/bio/bio_sock.c:64,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bio_sock.c:64,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bio_sock.c:66,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/bio/bio_sock.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - str
    - ip
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 72
    functionName: BIO_get_host_ip
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - BIO_ADDRINFO_family
    - ossl_assert
    - ERR_raise
    - BIO_lookup
    - ERR_add_error_data
    - BIO_ADDR_rawaddress
    - BIO_ADDRINFO_free
    - BIO_sock_init
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: int
    signature: int BIO_get_host_ip(const char *str, unsigned char *ip)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:80,1
    - Dst: BIO_sock_init
      Src: /src/openssl/crypto/bio/bio_sock.c:84,1
    - Dst: BIO_lookup
      Src: /src/openssl/crypto/bio/bio_sock.c:87,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bio_sock.c:88,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:89,1
    - Dst: ntohs
      Src: /src/openssl/crypto/bio/bio_sock.c:91,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/crypto/bio/bio_sock.c:91,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bio_sock.c:91,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bio_sock.c:94,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/bio/bio_sock.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - str
    - port_ptr
    argTypes:
    - char*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: BIO_get_port
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - BIO_ADDRINFO_family
    - ERR_raise
    - BIO_lookup
    - ERR_add_error_data
    - BIO_ADDRINFO_free
    - ntohs
    - BIO_sock_init
    - BIO_ADDR_rawport
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: int
    signature: int BIO_get_port(const char *str, unsigned short *port_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bio_sock.c:114,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: BIO_sock_error
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 1
    functionsReached:
    - getsockopt
    - get_last_socket_error
    linkageType: ''
    returnType: int
    signature: int BIO_sock_error(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethostbyname
      Src: /src/openssl/crypto/bio/bio_sock.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: BIO_gethostbyname
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - gethostbyname
    linkageType: ''
    returnType: struct hostent
    signature: struct hostent *BIO_gethostbyname(const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bio/bio_sock.c:144,1
    - Dst: WSAStartup
      Src: /src/openssl/crypto/bio/bio_sock.c:151,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:152,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:154,1
    - Dst: socket
      Src: /src/openssl/crypto/bio/bio_sock.c:170,1
    - Dst: WSAIoctl
      Src: /src/openssl/crypto/bio/bio_sock.c:172,1
    - Dst: WSAIoctl
      Src: /src/openssl/crypto/bio/bio_sock.c:179,1
    - Dst: closesocket
      Src: /src/openssl/crypto/bio/bio_sock.c:186,1
    - Dst: sock_init
      Src: /src/openssl/crypto/bio/bio_sock.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 200
    functionName: BIO_sock_init
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 2
    functionsReached:
    - memset
    - ERR_raise
    - socket
    - closesocket
    - get_last_socket_error
    - ERR_raise_data
    - WSAStartup
    - sock_init
    - WSAIoctl
    linkageType: ''
    returnType: int
    signature: int BIO_sock_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/openssl/crypto/bio/bio_sock.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: bio_sock_cleanup_int
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void bio_sock_cleanup_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/openssl/crypto/bio/bio_sock.c:217,1
    - Dst: ioctlsocket
      Src: /src/openssl/crypto/bio/bio_sock.c:243,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:246,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - type
    - arg
    argTypes:
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 249
    functionName: BIO_socket_ioctl
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - get_last_socket_error
    - ioctlsocket
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int BIO_socket_ioctl(int fd, long type, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/crypto/bio/bio_sock.c:258,1
    - Dst: BIO_sock_init
      Src: /src/openssl/crypto/bio/bio_sock.c:261,1
    - Dst: BIO_lookup
      Src: /src/openssl/crypto/bio/bio_sock.c:264,1
    - Dst: BIO_socket
      Src: /src/openssl/crypto/bio/bio_sock.c:267,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bio_sock.c:267,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/crypto/bio/bio_sock.c:267,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/crypto/bio/bio_sock.c:268,1
    - Dst: BIO_listen
      Src: /src/openssl/crypto/bio/bio_sock.c:273,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bio_sock.c:273,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bio_sock.c:275,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bio_sock.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_sock.c:281,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_sock.c:282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - host
    - bind_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 285
    functionName: BIO_get_accept_socket
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_lookup
    - BIO_socket
    - BIO_listen
    - BIO_parse_hostserv
    - BIO_ADDRINFO_protocol
    - BIO_ADDRINFO_free
    - OPENSSL_free
    - BIO_sock_init
    - BIO_ADDRINFO_socktype
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: int
    signature: int BIO_get_accept_socket(char *host, int bind_mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_accept_ex
      Src: /src/openssl/crypto/bio/bio_sock.c:292,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bio_sock.c:294,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:298,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:300,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/crypto/bio/bio_sock.c:305,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/crypto/bio/bio_sock.c:306,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bio_sock.c:308,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_sock.c:308,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_sock.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:311,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bio_sock.c:315,1
    - Dst: strcpy
      Src: /src/openssl/crypto/bio/bio_sock.c:318,1
    - Dst: strcat
      Src: /src/openssl/crypto/bio/bio_sock.c:319,1
    - Dst: strcat
      Src: /src/openssl/crypto/bio/bio_sock.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_sock.c:322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_sock.c:323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - sock
    - ip_port
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 328
    functionName: BIO_accept
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - strcpy
    - OPENSSL_zalloc
    - BIO_closesocket
    - ERR_raise
    - BIO_accept_ex
    - BIO_sock_should_retry
    - get_last_socket_error
    - ERR_raise_data
    - OPENSSL_free
    - BIO_ADDR_hostname_string
    - BIO_ADDR_service_string
    - strcat
    - strlen
    linkageType: ''
    returnType: int
    signature: int BIO_accept(int sock, char **ip_port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - 'on'
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: BIO_set_tcp_ndelay
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int BIO_set_tcp_ndelay(int s, int on)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_socket_ioctl
      Src: /src/openssl/crypto/bio/bio_sock.c:359,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bio_sock.c:363,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:365,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bio_sock.c:365,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bio_sock.c:381,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:384,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bio_sock.c:384,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 394
    functionName: BIO_socket_nbio
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - fcntl
    - ERR_raise
    - BIO_socket_ioctl
    - ERR_raise_data
    - get_last_sys_error
    linkageType: ''
    returnType: int
    signature: int BIO_socket_nbio(int s, int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/openssl/crypto/bio/bio_sock.c:405,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/openssl/crypto/bio/bio_sock.c:405,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock.c:408,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:414,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock.c:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - sock
    - type
    - info
    argTypes:
    - int
    - enum BIO_sock_info_type
    - union BIO_sock_info_u*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 424
    functionName: BIO_sock_info
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_ADDR_sockaddr_noconst
    - getsockname
    - get_last_socket_error
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: "int BIO_sock_info(int sock,\n                  enum BIO_sock_info_type
      type, union BIO_sock_info_u *info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/bio/bio_sock.c:447,1
    - Dst: FD_ZERO
      Src: /src/openssl/crypto/bio/bio_sock.c:451,1
    - Dst: openssl_fdset
      Src: /src/openssl/crypto/bio/bio_sock.c:452,1
    - Dst: select
      Src: /src/openssl/crypto/bio/bio_sock.c:455,1
    - Dst: time
      Src: /src/openssl/crypto/bio/bio_sock.c:466,1
    - Dst: poll
      Src: /src/openssl/crypto/bio/bio_sock.c:472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - fd
    - for_read
    - max_time
    argTypes:
    - int
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 474
    functionName: BIO_socket_wait
    functionSourceFile: /src/openssl/crypto/bio/bio_sock.c
    functionUses: 1
    functionsReached:
    - time
    - FD_ZERO
    - poll
    - openssl_fdset
    - select
    linkageType: ''
    returnType: int
    signature: int BIO_socket_wait(int fd, int for_read, time_t max_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: BIO_f_buffer
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_buffer(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bf_buff.c:47,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_buff.c:52,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:54,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_buff.c:58,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:60,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: buffer_new
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 76
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int buffer_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:78,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: buffer_free
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 81
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int buffer_free(BIO *a)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_buff.c:99,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_buff.c:107,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_buff.c:125,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:127,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_buff.c:143,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:145,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 156
    functionName: buffer_read
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 3
    functionsReached:
    - memcpy
    - BIO_copy_next_retry
    - BIO_read
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int buffer_read(BIO *b, char *out, int outl)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_buff.c:169,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_buff.c:174,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_buff.c:182,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_buff.c:190,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:193,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_buff.c:214,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:216,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 233
    functionName: buffer_write
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 3
    functionsReached:
    - BIO_write
    - memcpy
    - BIO_copy_next_retry
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int buffer_write(BIO *b, const char *in, int inl)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:254,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:259,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:277,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:285,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_buff.c:292,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:295,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_buff.c:300,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_buff.c:323,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_buff.c:328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:336,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_buff.c:343,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_buff.c:353,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:354,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:355,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:362,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:363,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_buff.c:368,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_buff.c:370,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:372,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:383,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:384,1
    - Dst: BIO_set_read_buffer_size
      Src: /src/openssl/crypto/bio/bf_buff.c:388,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/openssl/crypto/bio/bf_buff.c:389,1
    - Dst: buffer_read
      Src: /src/openssl/crypto/bio/bf_buff.c:396,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_buff.c:400,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:406,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 158
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 410
    functionName: buffer_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_clear_retry_flags
    - BIO_ctrl
    - memcpy
    - OPENSSL_free
    - BIO_copy_next_retry
    - BIO_set_read_buffer_size
    - buffer_read
    - BIO_set_write_buffer_size
    - OPENSSL_malloc
    linkageType: ''
    returnType: long
    signature: long buffer_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/bio/bf_buff.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: buffer_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long buffer_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_buff.c:427,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_buff.c:451,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_buff.c:453,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 464
    functionName: buffer_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - BIO_read
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int buffer_gets(BIO *b, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bf_buff.c:468,1
    - Dst: buffer_write
      Src: /src/openssl/crypto/bio/bf_buff.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: buffer_puts
    functionSourceFile: /src/openssl/crypto/bio/bf_buff.c
    functionUses: 0
    functionsReached:
    - strlen
    - buffer_write
    linkageType: ''
    returnType: int
    signature: int buffer_puts(BIO *b, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: BIO_s_mem
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_mem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: BIO_s_secmem
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_secmem(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_mem.c:90,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_mem.c:93,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_mem.c:94,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/bio/bss_mem.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 107
    functionName: BIO_new_mem_buf
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 4
    functionsReached:
    - BIO_new
    - strlen
    - BIO_s_mem
    - ERR_raise
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_mem_buf(const void *buf, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_mem.c:111,1
    - Dst: BUF_MEM_new_ex
      Src: /src/openssl/crypto/bio/bss_mem.c:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_mem.c:116,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_mem.c:119,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/bio/bss_mem.c:120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_mem.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - bi
    - flags
    argTypes:
    - BIO*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: mem_init
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - BUF_MEM_free
    - BUF_MEM_new_ex
    linkageType: ''
    returnType: int
    signature: int mem_init(BIO *bi, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_init
      Src: /src/openssl/crypto/bio/bss_mem.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: mem_new
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - mem_init
    linkageType: ''
    returnType: int
    signature: int mem_new(BIO *bi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_init
      Src: /src/openssl/crypto/bio/bss_mem.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: secmem_new
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - mem_init
    linkageType: ''
    returnType: int
    signature: int secmem_new(BIO *bi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_buf_free
      Src: /src/openssl/crypto/bio/bss_mem.c:150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_mem.c:152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_mem.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: mem_free
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - mem_buf_free
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int mem_free(BIO *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/bio/bss_mem.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: mem_buf_free
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_free
    linkageType: ''
    returnType: int
    signature: int mem_buf_free(BIO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/openssl/crypto/bio/bss_mem.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: mem_buf_sync
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: int mem_buf_sync(BIO *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_mem.c:199,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_mem.c:202,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_mem.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 212
    functionName: mem_read
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - BIO_set_retry_read
    - memcpy
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int mem_read(BIO *b, char *out, int outl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_mem.c:221,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_mem.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_mem.c:228,1
    - Dst: mem_buf_sync
      Src: /src/openssl/crypto/bio/bss_mem.c:232,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/bio/bss_mem.c:233,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_mem.c:235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 240
    functionName: mem_write
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_clear_retry_flags
    - memcpy
    - mem_buf_sync
    - BUF_MEM_grow_clean
    linkageType: ''
    returnType: int
    signature: int mem_write(BIO *b, const char *in, int inl)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_mem.c:266,1
    - Dst: mem_buf_free
      Src: /src/openssl/crypto/bio/bss_mem.c:304,1
    - Dst: mem_buf_sync
      Src: /src/openssl/crypto/bio/bss_mem.c:312,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 88
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 341
    functionName: mem_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - mem_buf_free
    - memset
    - mem_buf_sync
    linkageType: ''
    returnType: long
    signature: long mem_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_mem.c:353,1
    - Dst: mem_read
      Src: /src/openssl/crypto/bio/bss_mem.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 379
    functionName: mem_gets
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - mem_read
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int mem_gets(BIO *bp, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_mem.c:384,1
    - Dst: mem_write
      Src: /src/openssl/crypto/bio/bss_mem.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: mem_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_mem.c
    functionUses: 0
    functionsReached:
    - strlen
    - mem_write
    linkageType: ''
    returnType: int
    signature: int mem_puts(BIO *bp, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: HAS_LEN_OPER
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_LEN_OPER(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: HAS_CALLBACK
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_CALLBACK(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: HAS_CALLBACK
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_CALLBACK(b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO*::callback_ex
      Src: /src/openssl/crypto/bio/bio_lib.c:47,1
    - Dst: HAS_LEN_OPER
      Src: /src/openssl/crypto/bio/bio_lib.c:57,1
    - Dst: BIO*::callback
      Src: /src/openssl/crypto/bio/bio_lib.c:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 8
    argNames:
    - b
    - oper
    - argp
    - len
    - argi
    - argl
    - inret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - long
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 79
    functionName: bio_call_callback
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - HAS_LEN_OPER
    - BIO*::callback_ex
    - BIO*::callback
    linkageType: ''
    returnType: long
    signature: "long bio_call_callback(BIO *b, int oper, const char *argp, size_t
      len,\n                              int argi, long argl, long inret,\n                              size_t
      *processed)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bio_lib.c:83,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/bio/bio_lib.c:92,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/bio/bio_lib.c:95,1
    - Dst: BIO_METHOD*::create
      Src: /src/openssl/crypto/bio/bio_lib.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:99,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/bio/bio_lib.c:100,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/bio/bio_lib.c:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_lib.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - libctx
    - method
    argTypes:
    - OSSL_LIB_CTX*
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: BIO_new_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ERR_raise
    - CRYPTO_new_ex_data
    - BIO_METHOD*::create
    - CRYPTO_free_ex_data
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_ex(OSSL_LIB_CTX *libctx, const BIO_METHOD *method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_ex
      Src: /src/openssl/crypto/bio/bio_lib.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: BIO_new
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 51
    functionsReached:
    - BIO_new_ex
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new(const BIO_METHOD *method)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/bio/bio_lib.c:126,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/bio/bio_lib.c:129,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/bio/bio_lib.c:132,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:134,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:135,1
    - Dst: BIO*::method::destroy
      Src: /src/openssl/crypto/bio/bio_lib.c:141,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/bio/bio_lib.c:143,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/bio/bio_lib.c:145,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_lib.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 150
    functionName: BIO_free
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 72
    functionsReached:
    - HAS_CALLBACK
    - REF_PRINT_COUNT
    - BIO*::method::destroy
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - bio_call_callback
    - CRYPTO_free_ex_data
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: int
    signature: int BIO_free(BIO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - ptr
    argTypes:
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: BIO_set_data
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_data(BIO *a, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: BIO_get_data
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *BIO_get_data(BIO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - init
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: BIO_set_init
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_init(BIO *a, int init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: BIO_get_init
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_get_init(BIO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - shut
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: BIO_set_shutdown
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_shutdown(BIO *a, int shut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: BIO_get_shutdown
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_get_shutdown(BIO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bio_lib.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: BIO_vfree
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void BIO_vfree(BIO *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/bio/bio_lib.c:191,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/bio/bio_lib.c:194,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/bio/bio_lib.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: BIO_up_ref
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int BIO_up_ref(BIO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: BIO_clear_flags
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_clear_flags(BIO *b, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: BIO_test_flags
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_test_flags(const BIO *b, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - flags
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: BIO_set_flags
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_flags(BIO *b, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: BIO_get_callback
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIO_callback_fn
    signature: BIO_callback_fn BIO_get_callback(const BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - cb
    argTypes:
    - BIO*
    - BIO_callback_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: BIO_set_callback
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_callback(BIO *b, BIO_callback_fn cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: BIO_get_callback_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIO_callback_fn_ex
    signature: BIO_callback_fn_ex BIO_get_callback_ex(const BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - cb
    argTypes:
    - BIO*
    - BIO_callback_fn_ex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: BIO_set_callback_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_callback_ex(BIO *b, BIO_callback_fn_ex cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: BIO_set_callback_arg
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_callback_arg(BIO *b, char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: BIO_get_callback_arg
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *BIO_get_callback_arg(const BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: BIO_method_name
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *BIO_method_name(const BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: BIO_method_type
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_method_type(const BIO *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:271,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:275,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:276,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:281,1
    - Dst: BIO*::method::bread
      Src: /src/openssl/crypto/bio/bio_lib.c:285,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:290,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:291,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - readbytes
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 301
    functionName: bio_read_intern
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - HAS_CALLBACK
    - bio_call_callback
    - ERR_raise
    - BIO*::method::bread
    linkageType: ''
    returnType: int
    signature: int bio_read_intern(BIO *b, void *data, size_t dlen, size_t *readbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bio_read_intern
      Src: /src/openssl/crypto/bio/bio_lib.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - b
    - data
    - dlen
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: BIO_read
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 13
    functionsReached:
    - bio_read_intern
    linkageType: ''
    returnType: int
    signature: int BIO_read(BIO *b, void *data, int dlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_read_intern
      Src: /src/openssl/crypto/bio/bio_lib.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - readbytes
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: BIO_read_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - bio_read_intern
    linkageType: ''
    returnType: int
    signature: int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:342,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:346,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:347,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:352,1
    - Dst: BIO*::method::bwrite
      Src: /src/openssl/crypto/bio/bio_lib.c:356,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:361,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:362,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - written
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 368
    functionName: bio_write_intern
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - HAS_CALLBACK
    - bio_call_callback
    - ERR_raise
    - BIO*::method::bwrite
    linkageType: ''
    returnType: int
    signature: "int bio_write_intern(BIO *b, const void *data, size_t dlen,\n                            size_t
      *written)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bio_write_intern
      Src: /src/openssl/crypto/bio/bio_lib.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - b
    - data
    - dlen
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: BIO_write
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 36
    functionsReached:
    - bio_write_intern
    linkageType: ''
    returnType: int
    signature: int BIO_write(BIO *b, const void *data, int dlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_write_intern
      Src: /src/openssl/crypto/bio/bio_lib.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - written
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: BIO_write_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 2
    functionsReached:
    - bio_write_intern
    linkageType: ''
    returnType: int
    signature: int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:403,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:409,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:413,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:420,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:428,1
    - Dst: BIO*::method::bsendmmsg
      Src: /src/openssl/crypto/bio/bio_lib.c:432,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:434,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - b
    - msg
    - stride
    - num_msg
    - flags
    - msgs_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 439
    functionName: BIO_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - HAS_CALLBACK
    - bio_call_callback
    - BIO*::method::bsendmmsg
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int BIO_sendmmsg(BIO *b, BIO_MSG *msg,\n                 size_t stride,
      size_t num_msg, uint64_t flags,\n                 size_t *msgs_processed)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:450,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:456,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:460,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:475,1
    - Dst: BIO*::method::brecvmmsg
      Src: /src/openssl/crypto/bio/bio_lib.c:479,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:481,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - b
    - msg
    - stride
    - num_msg
    - flags
    - msgs_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 486
    functionName: BIO_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - HAS_CALLBACK
    - bio_call_callback
    - ERR_raise
    - BIO*::method::brecvmmsg
    linkageType: ''
    returnType: int
    signature: "int BIO_recvmmsg(BIO *b, BIO_MSG *msg,\n                 size_t stride,
      size_t num_msg, uint64_t flags,\n                 size_t *msgs_processed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - desc
    argTypes:
    - BIO*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: BIO_get_rpoll_descriptor
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: int BIO_get_rpoll_descriptor(BIO *b, BIO_POLL_DESCRIPTOR *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - desc
    argTypes:
    - BIO*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: BIO_get_wpoll_descriptor
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: int BIO_get_wpoll_descriptor(BIO *b, BIO_POLL_DESCRIPTOR *desc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:504,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:508,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:512,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:513,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:519,1
    - Dst: BIO*::method::bputs
      Src: /src/openssl/crypto/bio/bio_lib.c:523,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:531,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:532,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:537,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - b
    - buf
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 545
    functionName: BIO_puts
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 61
    functionsReached:
    - HAS_CALLBACK
    - bio_call_callback
    - ERR_raise
    - BIO*::method::bputs
    linkageType: ''
    returnType: int
    signature: int BIO_puts(BIO *b, const char *buf)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:553,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:557,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:562,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:566,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:567,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:573,1
    - Dst: BIO*::method::bgets
      Src: /src/openssl/crypto/bio/bio_lib.c:577,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:584,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:585,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 597
    functionName: BIO_gets
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 6
    functionsReached:
    - HAS_CALLBACK
    - bio_call_callback
    - ERR_raise
    - BIO*::method::bgets
    linkageType: ''
    returnType: int
    signature: int BIO_gets(BIO *b, char *buf, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:605,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:609,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:619,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bio_lib.c:623,1
    - Dst: BIO_eof
      Src: /src/openssl/crypto/bio/bio_lib.c:627,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 599
    functionDepth: 4
    functionLinenumber: 599
    functionLinenumberEnd: 628
    functionName: BIO_get_line
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - BIO_read
    - ERR_raise
    - BIO_eof
    linkageType: ''
    returnType: int
    signature: int BIO_get_line(BIO *bio, char *buf, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/bio/bio_lib.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - b
    - indent
    - max
    argTypes:
    - BIO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 630
    functionDepth: 3
    functionLinenumber: 630
    functionLinenumberEnd: 640
    functionName: BIO_indent
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 7
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int BIO_indent(BIO *b, int indent, int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - b
    - cmd
    - larg
    - iarg
    argTypes:
    - BIO*
    - int
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 648
    functionName: BIO_int_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: long
    signature: long BIO_int_ctrl(BIO *b, int cmd, long larg, int iarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - larg
    argTypes:
    - BIO*
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: BIO_ptr_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: void
    signature: void *BIO_ptr_ctrl(BIO *b, int cmd, long larg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:667,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:671,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:672,1
    - Dst: BIO*::method::ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:677,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:679,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - b
    - cmd
    - larg
    - parg
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 684
    functionName: BIO_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 12
    functionsReached:
    - HAS_CALLBACK
    - bio_call_callback
    - ERR_raise
    - BIO*::method::ctrl
    linkageType: ''
    returnType: long
    signature: long BIO_ctrl(BIO *b, int cmd, long larg, void *parg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:694,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:698,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:699,1
    - Dst: BIO*::method::callback_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:705,1
    - Dst: HAS_CALLBACK
      Src: /src/openssl/crypto/bio/bio_lib.c:707,1
    - Dst: bio_call_callback
      Src: /src/openssl/crypto/bio/bio_lib.c:708,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 712
    functionName: BIO_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 6
    functionsReached:
    - HAS_CALLBACK
    - bio_call_callback
    - ERR_raise
    - BIO*::method::callback_ctrl
    linkageType: ''
    returnType: long
    signature: long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 719
    functionDepth: 3
    functionLinenumber: 719
    functionLinenumberEnd: 730
    functionName: BIO_ctrl_pending
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: size_t
    signature: size_t BIO_ctrl_pending(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 743
    functionName: BIO_ctrl_wpending
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: size_t
    signature: size_t BIO_ctrl_wpending(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - b
    - bio
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 746
    functionDepth: 3
    functionLinenumber: 746
    functionLinenumberEnd: 761
    functionName: BIO_push
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 7
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_push(BIO *b, BIO *bio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bio_lib.c:772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 782
    functionName: BIO_pop
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 6
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_pop(BIO *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/bio/bio_lib.c:790,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - bio
    - reason
    argTypes:
    - BIO*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 800
    functionName: BIO_get_retry_BIO
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_should_retry
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_get_retry_BIO(BIO *bio, int *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: BIO_get_retry_reason
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_get_retry_reason(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - reason
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: BIO_set_retry_reason
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_retry_reason(BIO *bio, int reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - bio
    - type
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 835
    functionName: BIO_find_type
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_find_type(BIO *bio, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 842
    functionName: BIO_next
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_next(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - next
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: BIO_set_next
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BIO_set_next(BIO *b, BIO *next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_GET_REF
      Src: /src/openssl/crypto/bio/bio_lib.c:856,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bio_lib.c:858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 863
    functionName: BIO_free_all
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 9
    functionsReached:
    - BIO_free
    - CRYPTO_GET_REF
    linkageType: ''
    returnType: void
    signature: void BIO_free_all(BIO *bio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bio_lib.c:870,1
    - Dst: BIO_dup_state
      Src: /src/openssl/crypto/bio/bio_lib.c:884,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bio_lib.c:885,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/bio/bio_lib.c:890,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bio_lib.c:892,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/bio/bio_lib.c:900,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/bio/bio_lib.c:906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 865
    functionDepth: 5
    functionLinenumber: 865
    functionLinenumberEnd: 909
    functionName: BIO_dup_chain
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - CRYPTO_dup_ex_data
    - BIO_free
    - BIO_free_all
    - BIO_push
    - BIO_dup_state
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_dup_chain(BIO *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/bio/bio_lib.c:913,1
    - Dst: BIO_get_retry_flags
      Src: /src/openssl/crypto/bio/bio_lib.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 915
    functionName: BIO_copy_next_retry
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 16
    functionsReached:
    - BIO_set_flags
    - BIO_get_retry_flags
    linkageType: ''
    returnType: void
    signature: void BIO_copy_next_retry(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/bio/bio_lib.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - idx
    - data
    argTypes:
    - BIO*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 920
    functionName: BIO_set_ex_data
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int BIO_set_ex_data(BIO *bio, int idx, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/bio/bio_lib.c:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - idx
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 925
    functionName: BIO_get_ex_data
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *BIO_get_ex_data(const BIO *bio, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: BIO_number_read
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIO_number_read(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 939
    functionName: BIO_number_written
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BIO_number_written(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/bio/bio_lib.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: bio_free_ex_data
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_free_ex_data
    linkageType: ''
    returnType: void
    signature: void bio_free_ex_data(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_sock_cleanup_int
      Src: /src/openssl/crypto/bio/bio_lib.c:949,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/bio/bio_lib.c:950,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/bio/bio_lib.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: bio_cleanup
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - bio_sock_cleanup_int
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void bio_cleanup(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_fd
      Src: /src/openssl/crypto/bio/bio_lib.c:968,1
    - Dst: BIO_socket_wait
      Src: /src/openssl/crypto/bio/bio_lib.c:969,1
    - Dst: BIO_should_read
      Src: /src/openssl/crypto/bio/bio_lib.c:969,1
    - Dst: time
      Src: /src/openssl/crypto/bio/bio_lib.c:977,1
    - Dst: OSSL_sleep
      Src: /src/openssl/crypto/bio/bio_lib.c:989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - bio
    - max_time
    - nap_milliseconds
    argTypes:
    - BIO*
    - time_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 991
    functionName: bio_wait
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - time
    - OSSL_sleep
    - BIO_get_fd
    - BIO_should_read
    - BIO_socket_wait
    linkageType: ''
    returnType: int
    signature: int bio_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bio_wait
      Src: /src/openssl/crypto/bio/bio_lib.c:1003,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - max_time
    - nap_milliseconds
    argTypes:
    - BIO*
    - time_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1001
    functionDepth: 3
    functionLinenumber: 1001
    functionLinenumberEnd: 1009
    functionName: BIO_wait
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 2
    functionsReached:
    - bio_wait
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BIO_wait(BIO *bio, time_t max_time, unsigned int nap_milliseconds)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/bio/bio_lib.c:1022,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:1026,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/crypto/bio/bio_lib.c:1032,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/bio/bio_lib.c:1035,1
    - Dst: BIO_do_connect
      Src: /src/openssl/crypto/bio/bio_lib.c:1036,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/bio/bio_lib.c:1039,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/bio/bio_lib.c:1040,1
    - Dst: BIO_should_retry
      Src: /src/openssl/crypto/bio/bio_lib.c:1041,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/bio/bio_lib.c:1043,1
    - Dst: BIO_reset
      Src: /src/openssl/crypto/bio/bio_lib.c:1055,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/bio/bio_lib.c:1063,1
    - Dst: bio_wait
      Src: /src/openssl/crypto/bio/bio_lib.c:1065,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:1068,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/bio/bio_lib.c:1071,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_lib.c:1075,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/bio/bio_lib.c:1078,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - bio
    - timeout
    - nap_milliseconds
    argTypes:
    - BIO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1082
    functionName: BIO_do_connect_retry
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 1
    functionsReached:
    - time
    - bio_wait
    - ERR_raise
    - ERR_GET_LIB
    - ERR_pop_to_mark
    - ERR_set_mark
    - BIO_do_connect
    - ERR_GET_REASON
    - ERR_peek_last_error
    - BIO_set_nbio
    - BIO_reset
    - ERR_clear_last_mark
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int BIO_do_connect_retry(BIO *bio, int timeout, int nap_milliseconds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/crypto/bio/bio_lib.c:1088,1
    - Dst: BIO_sock_non_fatal_error
      Src: /src/openssl/crypto/bio/bio_lib.c:1089,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/bio/bio_lib.c:1089,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/bio/bio_lib.c:1090,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/bio/bio_lib.c:1091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1095
    functionName: BIO_err_is_non_fatal
    functionSourceFile: /src/openssl/crypto/bio/bio_lib.c
    functionUses: 0
    functionsReached:
    - BIO_sock_non_fatal_error
    - ERR_GET_REASON
    - ERR_GET_LIB
    - ERR_SYSTEM_ERROR
    linkageType: ''
    returnType: int
    signature: int BIO_err_is_non_fatal(unsigned int errcode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/bio/bss_file.c:60,1
    - Dst: strchr
      Src: /src/openssl/crypto/bio/bss_file.c:63,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_file.c:67,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_file.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:77,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_file.c:80,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/bio/bss_file.c:80,1
    - Dst: fclose
      Src: /src/openssl/crypto/bio/bss_file.c:81,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/crypto/bio/bss_file.c:86,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/bio/bss_file.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 89
    functionName: BIO_new_file
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 5
    functionsReached:
    - BIO_new
    - strchr
    - BIO_set_fp
    - ERR_raise
    - ERR_raise_data
    - get_last_sys_error
    - BIO_s_file
    - openssl_fopen
    - fclose
    - BIO_clear_flags
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_file(const char *filename, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_file.c:95,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/bio/bss_file.c:95,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/bio/bss_file.c:99,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/bio/bss_file.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - close_flag
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 5
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: BIO_new_fp
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 8
    functionsReached:
    - BIO_set_flags
    - BIO_new
    - BIO_set_fp
    - BIO_s_file
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_fp(FILE *stream, int close_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: BIO_s_file
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: file_new
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_new(BIO *bi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UP_fclose
      Src: /src/openssl/crypto/bio/bss_file.c:125,1
    - Dst: fclose
      Src: /src/openssl/crypto/bio/bss_file.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 134
    functionName: file_free
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - fclose
    - UP_fclose
    linkageType: ''
    returnType: int
    signature: int file_free(BIO *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UP_fread
      Src: /src/openssl/crypto/bio/bss_file.c:142,1
    - Dst: fread
      Src: /src/openssl/crypto/bio/bss_file.c:144,1
    - Dst: UP_ferror
      Src: /src/openssl/crypto/bio/bss_file.c:147,1
    - Dst: ferror
      Src: /src/openssl/crypto/bio/bss_file.c:147,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_file.c:148,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_file.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: file_read
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - UP_fread
    - ERR_raise
    - ferror
    - ERR_raise_data
    - fread
    - get_last_sys_error
    - UP_ferror
    linkageType: ''
    returnType: int
    signature: int file_read(BIO *b, char *out, int outl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UP_fwrite
      Src: /src/openssl/crypto/bio/bss_file.c:163,1
    - Dst: fwrite
      Src: /src/openssl/crypto/bio/bss_file.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 176
    functionName: file_write
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - UP_fwrite
    - fwrite
    linkageType: ''
    returnType: int
    signature: int file_write(BIO *b, const char *in, int inl)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: UP_fseek
      Src: /src/openssl/crypto/bio/bss_file.c:190,1
    - Dst: fseek
      Src: /src/openssl/crypto/bio/bss_file.c:192,1
    - Dst: UP_feof
      Src: /src/openssl/crypto/bio/bss_file.c:196,1
    - Dst: feof
      Src: /src/openssl/crypto/bio/bss_file.c:198,1
    - Dst: UP_ftell
      Src: /src/openssl/crypto/bio/bss_file.c:203,1
    - Dst: ftell
      Src: /src/openssl/crypto/bio/bss_file.c:205,1
    - Dst: file_free
      Src: /src/openssl/crypto/bio/bss_file.c:208,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/crypto/bio/bss_file.c:219,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/crypto/bio/bss_file.c:223,1
    - Dst: UP_fsetmod
      Src: /src/openssl/crypto/bio/bss_file.c:228,1
    - Dst: _fileno
      Src: /src/openssl/crypto/bio/bss_file.c:233,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:235,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:237,1
    - Dst: fileno
      Src: /src/openssl/crypto/bio/bss_file.c:239,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:242,1
    - Dst: isatty
      Src: /src/openssl/crypto/bio/bss_file.c:246,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:247,1
    - Dst: _setmode
      Src: /src/openssl/crypto/bio/bss_file.c:249,1
    - Dst: fileno
      Src: /src/openssl/crypto/bio/bss_file.c:252,1
    - Dst: setmode
      Src: /src/openssl/crypto/bio/bss_file.c:254,1
    - Dst: file_free
      Src: /src/openssl/crypto/bio/bss_file.c:259,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:263,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:265,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:267,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:269,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/bio/bss_file.c:271,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:273,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/bio/bss_file.c:279,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/bio/bss_file.c:281,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/bio/bss_file.c:284,1
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/bio/bss_file.c:286,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_file.c:288,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_file.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:291,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/crypto/bio/bss_file.c:298,1
    - Dst: UP_fflush
      Src: /src/openssl/crypto/bio/bss_file.c:315,1
    - Dst: fflush
      Src: /src/openssl/crypto/bio/bss_file.c:315,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_file.c:317,1
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/bio/bss_file.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_file.c:319,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 111
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 336
    functionName: file_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - UP_fflush
    - file_free
    - fflush
    - BIO_clear_flags
    - UP_feof
    - isatty
    - get_last_sys_error
    - openssl_fopen
    - _fileno
    - UP_fsetmod
    - fseek
    - ftell
    - ERR_raise_data
    - _setmode
    - setmode
    - feof
    - fileno
    - UP_ftell
    - UP_fseek
    linkageType: ''
    returnType: long
    signature: long file_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UP_fgets
      Src: /src/openssl/crypto/bio/bss_file.c:344,1
    - Dst: fgets
      Src: /src/openssl/crypto/bio/bss_file.c:347,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_file.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 354
    functionName: file_gets
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - UP_fgets
    - strlen
    - fgets
    linkageType: ''
    returnType: int
    signature: int file_gets(BIO *bp, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_file.c:359,1
    - Dst: file_write
      Src: /src/openssl/crypto/bio/bss_file.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: file_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached:
    - file_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int file_puts(BIO *bp, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: file_write
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_write(BIO *b, const char *in, int inl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: file_read
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_read(BIO *b, char *out, int outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: file_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_puts(BIO *bp, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: file_gets
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_gets(BIO *bp, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: file_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long file_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: file_new
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_new(BIO *bi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: file_free
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_free(BIO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: BIO_s_file
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: BIO_new_file
    functionSourceFile: /src/openssl/crypto/bio/bss_file.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_file(const char *filename, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bio_addr.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: BIO_ADDR_new
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BIO_ADDR
    signature: BIO_ADDR *BIO_ADDR_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_addr.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: BIO_ADDR_free
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void BIO_ADDR_free(BIO_ADDR *ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bio_addr.c:74,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bio_addr.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - BIO_ADDR*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: BIO_ADDR_copy
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_make
    - BIO_ADDR_clear
    linkageType: ''
    returnType: int
    signature: int BIO_ADDR_copy(BIO_ADDR *dst, const BIO_ADDR *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_new
      Src: /src/openssl/crypto/bio/bio_addr.c:86,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/crypto/bio/bio_addr.c:87,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/crypto/bio/bio_addr.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: BIO_ADDR_dup
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_copy
    - BIO_ADDR_new
    - BIO_ADDR_free
    linkageType: ''
    returnType: BIO_ADDR
    signature: BIO_ADDR *BIO_ADDR_dup(const BIO_ADDR *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bio/bio_addr.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: BIO_ADDR_clear
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void BIO_ADDR_clear(BIO_ADDR *ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bio/bio_addr.c:107,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bio_addr.c:109,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bio_addr.c:114,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bio_addr.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ap
    - sa
    argTypes:
    - BIO_ADDR*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 126
    functionName: BIO_ADDR_make
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 2
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int BIO_ADDR_make(BIO_ADDR *ap, const struct sockaddr *sa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bio/bio_addr.c:136,1
    - Dst: strncpy
      Src: /src/openssl/crypto/bio/bio_addr.c:138,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bio_addr.c:145,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bio_addr.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - ap
    - family
    - where
    - wherelen
    - port
    argTypes:
    - BIO_ADDR*
    - int
    - void*
    - size_t
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 164
    functionName: BIO_ADDR_rawmake
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - strncpy
    - memset
    linkageType: ''
    returnType: int
    signature: "int BIO_ADDR_rawmake(BIO_ADDR *ap, int family,\n                     const
      void *where, size_t wherelen,\n                     unsigned short port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: BIO_ADDR_family
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_ADDR_family(const BIO_ADDR *ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_addr.c:188,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bio_addr.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ap
    - p
    - l
    argTypes:
    - BIO_ADDR*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 203
    functionName: BIO_ADDR_rawaddress
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 1
    functionsReached:
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int BIO_ADDR_rawaddress(const BIO_ADDR *ap, void *p, size_t *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: BIO_ADDR_rawport
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short BIO_ADDR_rawport(const BIO_ADDR *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addr_strings
      Src: /src/openssl/crypto/bio/bio_addr.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ap
    - numeric
    argTypes:
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: BIO_ADDR_hostname_string
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 2
    functionsReached:
    - addr_strings
    linkageType: ''
    returnType: char
    signature: char *BIO_ADDR_hostname_string(const BIO_ADDR *ap, int numeric)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addr_strings
      Src: /src/openssl/crypto/bio/bio_addr.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ap
    - numeric
    argTypes:
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: BIO_ADDR_service_string
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 2
    functionsReached:
    - addr_strings
    linkageType: ''
    returnType: char
    signature: char *BIO_ADDR_service_string(const BIO_ADDR *ap, int numeric)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/bio/bio_addr.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: BIO_ADDR_path_string
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *BIO_ADDR_path_string(const BIO_ADDR *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: BIO_ADDR_sockaddr
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr
    signature: struct sockaddr *BIO_ADDR_sockaddr(const BIO_ADDR *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: BIO_ADDR_sockaddr_noconst
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr
    signature: struct sockaddr *BIO_ADDR_sockaddr_noconst(BIO_ADDR *ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ap
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: BIO_ADDR_sockaddr_size
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t BIO_ADDR_sockaddr_size(const BIO_ADDR *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: BIO_ADDRINFO_next
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIO_ADDRINFO
    signature: BIO_ADDRINFO *BIO_ADDRINFO_next(const BIO_ADDRINFO *bai)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: BIO_ADDRINFO_family
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_ADDRINFO_family(const BIO_ADDRINFO *bai)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: BIO_ADDRINFO_socktype
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_ADDRINFO_socktype(const BIO_ADDRINFO *bai)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: BIO_ADDRINFO_protocol
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_ADDRINFO_protocol(const BIO_ADDRINFO *bai)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: BIO_ADDRINFO_sockaddr_size
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t BIO_ADDRINFO_sockaddr_size(const BIO_ADDRINFO *bai)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: BIO_ADDRINFO_sockaddr
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr
    signature: struct sockaddr *BIO_ADDRINFO_sockaddr(const BIO_ADDRINFO *bai)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: BIO_ADDRINFO_address
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: BIO_ADDR
    signature: BIO_ADDR *BIO_ADDRINFO_address(const BIO_ADDRINFO *bai)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeaddrinfo
      Src: /src/openssl/crypto/bio/bio_addr.c:464,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_addr.c:474,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_addr.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - bai
    argTypes:
    - BIO_ADDRINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 478
    functionName: BIO_ADDRINFO_free
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    - freeaddrinfo
    linkageType: ''
    returnType: void
    signature: void BIO_ADDRINFO_free(BIO_ADDRINFO *bai)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/bio/bio_addr.c:512,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_addr.c:523,1
    - Dst: strrchr
      Src: /src/openssl/crypto/bio/bio_addr.c:526,1
    - Dst: strchr
      Src: /src/openssl/crypto/bio/bio_addr.c:527,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_addr.c:546,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_addr.c:549,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_addr.c:552,1
    - Dst: strchr
      Src: /src/openssl/crypto/bio/bio_addr.c:556,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/bio/bio_addr.c:564,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/bio/bio_addr.c:574,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_addr.c:577,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_addr.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_addr.c:590,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 4
    argNames:
    - hostserv
    - host
    - service
    - hostserv_prio
    argTypes:
    - char*
    - char**
    - char**
    - enum BIO_hostserv_priorities
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 592
    functionName: BIO_parse_hostserv
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 3
    functionsReached:
    - strchr
    - ERR_raise
    - OPENSSL_free
    - strrchr
    - strlen
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: "int BIO_parse_hostserv(const char *hostserv, char **host, char **service,\n
      \                      enum BIO_hostserv_priorities hostserv_prio)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bio_addr.c:608,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/crypto/bio/bio_addr.c:627,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/crypto/bio/bio_addr.c:629,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/openssl/crypto/bio/bio_addr.c:630,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bio_addr.c:635,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - family
    - socktype
    - where
    - wherelen
    - port
    - bai
    argTypes:
    - int
    - int
    - void*
    - size_t
    - unsigned short
    - BIO_ADDRINFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 640
    functionName: addrinfo_wrap
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_ADDR_new
    - BIO_ADDR_sockaddr_noconst
    - BIO_ADDRINFO_free
    - BIO_ADDR_rawmake
    linkageType: ''
    returnType: int
    signature: "int addrinfo_wrap(int family, int socktype,\n                         const
      void *where, size_t wherelen,\n                         unsigned short port,\n
      \                        BIO_ADDRINFO **bai)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/bio/bio_addr.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_bio_lookup_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/openssl/crypto/bio/bio_addr.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - host
    - service
    - lookup_type
    - family
    - socktype
    - res
    argTypes:
    - char*
    - char*
    - enum BIO_lookup_type
    - int
    - int
    - BIO_ADDRINFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: BIO_lookup
    functionSourceFile: /src/openssl/crypto/bio/bio_addr.c
    functionUses: 4
    functionsReached:
    - BIO_lookup_ex
    linkageType: ''
    returnType: int
    signature: "int BIO_lookup(const char *host, const char *service,\n               enum
      BIO_lookup_type lookup_type,\n               int family, int socktype, BIO_ADDRINFO
      **res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: IN6_IS_ADDR_V4MAPPED
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_V4MAPPED(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: BIO_CMSG_SPACE
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_SPACE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: BIO_CMSG_FIRSTHDR
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_FIRSTHDR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: BIO_CMSG_NXTHDR
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_NXTHDR(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: BIO_CMSG_DATA
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_DATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: BIO_CMSG_LEN
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: BIO_CMSG_SPACE
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_SPACE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: BIO_CMSG_FIRSTHDR
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_FIRSTHDR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: BIO_CMSG_NXTHDR
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_NXTHDR(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: BIO_CMSG_DATA
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_DATA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: BIO_CMSG_LEN
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_CMSG_LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: BIO_MAX
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_MAX(X,Y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - array
    - ','
    - stride
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: BIO_MSG_N
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_MSG_N(array, stride, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: BIO_s_datagram
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_datagram(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_dgram.c:257,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/crypto/bio/bss_dgram.c:257,1
    - Dst: BIO_set_fd
      Src: /src/openssl/crypto/bio/bss_dgram.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: BIO_new_dgram
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 1
    functionsReached:
    - BIO_set_fd
    - BIO_new
    - BIO_s_datagram
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_dgram(int fd, int close_flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_dgram.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: dgram_new
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int dgram_new(BIO *bi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dgram_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: dgram_free
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - dgram_clear
    linkageType: ''
    returnType: int
    signature: int dgram_free(BIO *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_dgram.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: dgram_clear
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 1
    functionsReached:
    - BIO_closesocket
    linkageType: ''
    returnType: int
    signature: int dgram_clear(BIO *a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_zero
      Src: /src/openssl/crypto/bio/bss_dgram.c:310,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:316,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:318,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:318,1
    - Dst: ossl_ms2time
      Src: /src/openssl/crypto/bio/bss_dgram.c:321,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:326,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:327,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:327,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/crypto/bio/bss_dgram.c:330,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/crypto/bio/bss_dgram.c:334,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/bio/bss_dgram.c:334,1
    - Dst: ossl_time_compare
      Src: /src/openssl/crypto/bio/bss_dgram.c:335,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/crypto/bio/bss_dgram.c:335,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/crypto/bio/bss_dgram.c:336,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/crypto/bio/bss_dgram.c:342,1
    - Dst: ossl_time_compare
      Src: /src/openssl/crypto/bio/bss_dgram.c:343,1
    - Dst: ossl_time2ms
      Src: /src/openssl/crypto/bio/bss_dgram.c:345,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:346,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:348,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:348,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/crypto/bio/bss_dgram.c:351,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:352,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:354,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 360
    functionName: dgram_adjust_rcv_timeout
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - ossl_ms2time
    - get_last_socket_error
    - ERR_raise_data
    - ossl_time_from_timeval
    - ossl_time_compare
    - ossl_time_subtract
    - ossl_time_now
    - ossl_time2ms
    - ossl_time_to_timeval
    - ossl_time_is_zero
    - getsockopt
    - ossl_ticks2time
    linkageType: ''
    returnType: void
    signature: void dgram_adjust_rcv_timeout(BIO *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/openssl/crypto/bio/bss_dgram.c:367,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: dgram_update_local_addr
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - getsockname
    - BIO_ADDR_clear
    linkageType: ''
    returnType: void
    signature: void dgram_update_local_addr(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: dgram_get_sock_family
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dgram_get_sock_family(BIO *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_zero
      Src: /src/openssl/crypto/bio/bss_dgram.c:389,1
    - Dst: ossl_time2ms
      Src: /src/openssl/crypto/bio/bss_dgram.c:391,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:393,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:395,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:395,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/crypto/bio/bss_dgram.c:398,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:400,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:401,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 406
    functionName: dgram_reset_rcv_timeout
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - ERR_raise_data
    - get_last_socket_error
    - ossl_time2ms
    - ossl_time_to_timeval
    - ossl_time_is_zero
    linkageType: ''
    returnType: void
    signature: void dgram_reset_rcv_timeout(BIO *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:418,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:419,1
    - Dst: dgram_adjust_rcv_timeout
      Src: /src/openssl/crypto/bio/bss_dgram.c:420,1
    - Dst: recvfrom
      Src: /src/openssl/crypto/bio/bss_dgram.c:423,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/openssl/crypto/bio/bss_dgram.c:424,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_dgram.c:427,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:429,1
    - Dst: BIO_dgram_should_retry
      Src: /src/openssl/crypto/bio/bss_dgram.c:431,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_dgram.c:432,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:433,1
    - Dst: dgram_reset_rcv_timeout
      Src: /src/openssl/crypto/bio/bss_dgram.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 440
    functionName: dgram_read
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - clear_socket_error
    - BIO_dgram_should_retry
    - BIO_clear_retry_flags
    - BIO_ADDR_sockaddr_noconst
    - BIO_ctrl
    - dgram_adjust_rcv_timeout
    - BIO_ADDR_clear
    - get_last_socket_error
    - BIO_set_retry_read
    - dgram_reset_rcv_timeout
    - recvfrom
    linkageType: ''
    returnType: int
    signature: int dgram_read(BIO *b, char *out, int outl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:446,1
    - Dst: writesocket
      Src: /src/openssl/crypto/bio/bss_dgram.c:449,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_dgram.c:451,1
    - Dst: sendto
      Src: /src/openssl/crypto/bio/bss_dgram.c:453,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:454,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:457,1
    - Dst: BIO_dgram_should_retry
      Src: /src/openssl/crypto/bio/bss_dgram.c:459,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:460,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 465
    functionName: dgram_write
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - clear_socket_error
    - BIO_dgram_should_retry
    - BIO_clear_retry_flags
    - BIO_ADDR_sockaddr_size
    - writesocket
    - get_last_socket_error
    - BIO_set_retry_write
    - sendto
    - BIO_ADDR_sockaddr
    linkageType: ''
    returnType: int
    signature: int dgram_write(BIO *b, const char *in, int inl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:471,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/crypto/bio/bss_dgram.c:484,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/openssl/crypto/bio/bss_dgram.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - addr
    argTypes:
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 505
    functionName: dgram_get_mtu_overhead
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_rawaddress
    - BIO_ADDR_family
    - IN6_IS_ADDR_V4MAPPED
    linkageType: ''
    returnType: long
    signature: long dgram_get_mtu_overhead(BIO_ADDR *addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:510,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:515,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:524,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - b
    - enable
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 545
    functionName: enable_local_addr
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - dgram_get_sock_family
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int enable_local_addr(BIO *b, int enable)
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: dgram_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:578,1
    - Dst: dgram_update_local_addr
      Src: /src/openssl/crypto/bio/bss_dgram.c:582,1
    - Dst: getpeername
      Src: /src/openssl/crypto/bio/bss_dgram.c:583,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_dgram.c:584,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:584,1
    - Dst: enable_local_addr
      Src: /src/openssl/crypto/bio/bss_dgram.c:589,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_dgram.c:618,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:618,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:624,1
    - Dst: getsockname
      Src: /src/openssl/crypto/bio/bss_dgram.c:625,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:632,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:634,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:634,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:640,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:642,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:642,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:657,1
    - Dst: getsockname
      Src: /src/openssl/crypto/bio/bss_dgram.c:658,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:666,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/openssl/crypto/bio/bss_dgram.c:670,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:677,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/openssl/crypto/bio/bss_dgram.c:682,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/openssl/crypto/bio/bss_dgram.c:696,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:697,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/crypto/bio/bss_dgram.c:706,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/openssl/crypto/bio/bss_dgram.c:707,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_dgram.c:729,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:729,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:732,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_dgram.c:736,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:741,1
    - Dst: BIO_ADDR_make
      Src: /src/openssl/crypto/bio/bss_dgram.c:744,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:744,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:751,1
    - Dst: getpeername
      Src: /src/openssl/crypto/bio/bss_dgram.c:752,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:753,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_dgram.c:761,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:765,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/crypto/bio/bss_dgram.c:769,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/crypto/bio/bss_dgram.c:773,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:782,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:784,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:784,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:788,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:790,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:790,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:802,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:804,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:804,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:813,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:815,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:815,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:818,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:832,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:834,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:834,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:838,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:840,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:840,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:852,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:854,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:854,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:864,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:866,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:866,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:869,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:904,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:906,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:906,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:910,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:912,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:912,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:916,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:919,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:919,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:929,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:932,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:932,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:937,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:939,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:939,1
    - Dst: dgram_get_mtu_overhead
      Src: /src/openssl/crypto/bio/bss_dgram.c:952,1
    - Dst: enable_local_addr
      Src: /src/openssl/crypto/bio/bss_dgram.c:979,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 303
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 1020
    functionName: dgram_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - memcpy
    - getsockname
    - dgram_clear
    - BIO_ADDR_rawaddress
    - getpeername
    - setsockopt
    - BIO_socket_nbio
    - dgram_update_local_addr
    - BIO_ADDR_sockaddr
    - BIO_ADDR_sockaddr_size
    - OPENSSL_assert
    - BIO_ADDR_clear
    - ERR_raise_data
    - ossl_time_from_timeval
    - getsockopt
    - enable_local_addr
    - BIO_ADDR_family
    - get_last_socket_error
    - BIO_ADDR_make
    - IN6_IS_ADDR_V4MAPPED
    - dgram_get_mtu_overhead
    linkageType: ''
    returnType: long
    signature: long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_dgram.c:1025,1
    - Dst: dgram_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1022
    functionDepth: 2
    functionLinenumber: 1022
    functionLinenumberEnd: 1031
    functionName: dgram_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - dgram_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int dgram_puts(BIO *bp, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:1042,1
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:1045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - b
    - mh
    - iov
    - control
    - msg
    argTypes:
    - BIO*
    - WSAMSG*
    - WSABUF*
    - unsigned char*
    - BIO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1063
    functionName: translate_msg_win
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - dgram_get_sock_family
    linkageType: ''
    returnType: void
    signature: "void translate_msg_win(BIO *b, WSAMSG *mh, WSABUF *iov,\n                              unsigned
      char *control, BIO_MSG *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:1080,1
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:1083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - b
    - mh
    - iov
    - control
    - msg
    argTypes:
    - BIO*
    - struct msghdr*
    - struct iovec*
    - unsigned char*
    - BIO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1098
    functionName: translate_msg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - dgram_get_sock_family
    linkageType: ''
    returnType: void
    signature: "void translate_msg(BIO *b, struct msghdr *mh, struct iovec *iov,\n
      \                         unsigned char *control, BIO_MSG *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:1106,1
    - Dst: BIO_CMSG_FIRSTHDR
      Src: /src/openssl/crypto/bio/bss_dgram.c:1108,1
    - Dst: BIO_CMSG_NXTHDR
      Src: /src/openssl/crypto/bio/bss_dgram.c:1109,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1119,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1125,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1151,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - b
    - mh
    - local
    argTypes:
    - BIO*
    - MSGHDR_TYPE*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1166
    functionName: extract_local
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_CMSG_DATA
    - BIO_CMSG_FIRSTHDR
    - BIO_CMSG_NXTHDR
    - dgram_get_sock_family
    linkageType: ''
    returnType: int
    signature: int extract_local(BIO *b, MSGHDR_TYPE *mh, BIO_ADDR *local)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dgram_get_sock_family
      Src: /src/openssl/crypto/bio/bss_dgram.c:1169,1
    - Dst: BIO_CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:1185,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1204,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1209,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1211,1
    - Dst: BIO_CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:1232,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1236,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1242,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1246,1
    - Dst: BIO_CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:1260,1
    - Dst: BIO_CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1264,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1274,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1280,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1285,1
    - Dst: BIO_CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:1287,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - b
    - mh
    - local
    argTypes:
    - BIO*
    - MSGHDR_TYPE*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1295
    functionName: pack_local
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_CMSG_DATA
    - ERR_raise
    - BIO_CMSG_LEN
    - BIO_CMSG_SPACE
    - dgram_get_sock_family
    linkageType: ''
    returnType: int
    signature: int pack_local(BIO *b, MSGHDR_TYPE *mh, const BIO_ADDR *local)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: translate_flags
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int translate_flags(uint64_t flags)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: translate_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:1353,1
    - Dst: translate_msg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1368,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1369,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1372,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1374,1
    - Dst: pack_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1379,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1380,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1381,1
    - Dst: sendmmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1389,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1391,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1391,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1397,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1398,1
    - Dst: translate_msg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1412,1
    - Dst: pack_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1417,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1418,1
    - Dst: sendmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1424,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1426,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1426,1
    - Dst: translate_msg_win
      Src: /src/openssl/crypto/bio/bss_dgram.c:1440,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1444,1
    - Dst: pack_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1449,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1450,1
    - Dst: WSASendMsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1456,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1458,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1478,1
    - Dst: sendto
      Src: /src/openssl/crypto/bio/bss_dgram.c:1483,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bss_dgram.c:1490,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bss_dgram.c:1491,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1493,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1493,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1504,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 103
    argCount: 6
    argNames:
    - b
    - msg
    - stride
    - num_msg
    - flags
    - num_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1508
    functionName: dgram_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_ADDR_sockaddr_size
    - pack_local
    - sendmmsg
    - get_last_socket_error
    - sendmsg
    - WSASendMsg
    - sendto
    - BIO_ADDR_sockaddr
    - translate_flags
    - translate_msg
    - translate_msg_win
    - BIO_MSG_N
    linkageType: ''
    returnType: int
    signature: "int dgram_sendmmsg(BIO *b, BIO_MSG *msg, size_t stride,\n                          size_t
      num_msg, uint64_t flags, size_t *num_processed)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: translate_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:1555,1
    - Dst: translate_msg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1570,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1571,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1574,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1575,1
    - Dst: recvmmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1582,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1584,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1584,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1590,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1591,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1596,1
    - Dst: extract_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1597,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram.c:1598,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:1605,1
    - Dst: translate_msg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1615,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1623,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1628,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1630,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1630,1
    - Dst: extract_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1639,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:1661,1
    - Dst: translate_msg_win
      Src: /src/openssl/crypto/bio/bss_dgram.c:1670,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1674,1
    - Dst: WSARecvMsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1679,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1681,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1681,1
    - Dst: extract_local
      Src: /src/openssl/crypto/bio/bss_dgram.c:1689,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:1706,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1721,1
    - Dst: recvfrom
      Src: /src/openssl/crypto/bio/bss_dgram.c:1727,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1737,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1737,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:1747,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 6
    argNames:
    - b
    - msg
    - stride
    - num_msg
    - flags
    - num_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1510
    functionDepth: 2
    functionLinenumber: 1510
    functionLinenumberEnd: 1751
    functionName: dgram_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - extract_local
    - recvmmsg
    - ERR_raise
    - WSARecvMsg
    - recvmsg
    - BIO_ADDR_clear
    - get_last_socket_error
    - translate_flags
    - translate_msg
    - translate_msg_win
    - recvfrom
    - BIO_MSG_N
    linkageType: ''
    returnType: int
    signature: "int dgram_recvmmsg(BIO *b, BIO_MSG *msg,\n                          size_t
      stride, size_t num_msg,\n                          uint64_t flags, size_t *num_processed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1757
    functionName: BIO_s_datagram_sctp
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_datagram_sctp(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_dgram.c:1776,1
    - Dst: BIO_s_datagram_sctp
      Src: /src/openssl/crypto/bio/bss_dgram.c:1776,1
    - Dst: BIO_set_fd
      Src: /src/openssl/crypto/bio/bss_dgram.c:1779,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1784,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1787,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:1788,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1794,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1797,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:1798,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_dgram.c:1810,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1812,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1815,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:1818,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1819,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:1832,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1835,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram.c:1836,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:1844,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1849,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1852,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1857,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1859,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1866,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1869,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1880,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/bio/bss_dgram.c:1883,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 2
    argNames:
    - fd
    - close_flag
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1759
    functionDepth: 5
    functionLinenumber: 1759
    functionLinenumberEnd: 1888
    functionName: BIO_new_dgram_sctp
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - OPENSSL_zalloc
    - memset
    - setsockopt
    - ERR_raise_data
    - OPENSSL_free
    - BIO_s_datagram_sctp
    - BIO_vfree
    - BIO_set_fd
    - getsockopt
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_dgram_sctp(int fd, int close_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_method_type
      Src: /src/openssl/crypto/bio/bss_dgram.c:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1890
    functionDepth: 1
    functionLinenumber: 1890
    functionLinenumberEnd: 1893
    functionName: BIO_dgram_is_sctp
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_method_type
    linkageType: ''
    returnType: int
    signature: int BIO_dgram_is_sctp(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_dgram.c:1901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1910
    functionName: dgram_sctp_new
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int dgram_sctp_new(BIO *bi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dgram_clear
      Src: /src/openssl/crypto/bio/bss_dgram.c:1918,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:1923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1912
    functionDepth: 2
    functionLinenumber: 1912
    functionLinenumberEnd: 1926
    functionName: dgram_sctp_free
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - dgram_clear
    linkageType: ''
    returnType: int
    signature: int dgram_sctp_free(BIO *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:1940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - snp
    argTypes:
    - BIO*
    - union sctp_notification*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1943
    functionName: dgram_sctp_handle_auth_free_key_event
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: void
    signature: "void dgram_sctp_handle_auth_free_key_event(BIO *b,\n                                           union
      sctp_notification *snp)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:1957,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:1960,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:1970,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/crypto/bio/bss_dgram.c:1979,1
    - Dst: CMSG_NXTHDR
      Src: /src/openssl/crypto/bio/bss_dgram.c:1980,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:1987,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2002,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2018,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2029,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2033,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2041,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2050,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/openssl/crypto/bio/bss_dgram.c:2060,1
    - Dst: bio_dgram_sctp_data*::handle_notifications
      Src: /src/openssl/crypto/bio/bss_dgram.c:2064,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2067,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2068,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2091,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:2093,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2101,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:2104,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/bio/bss_dgram.c:2109,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2115,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_dgram.c:2116,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:2120,1
    - Dst: BIO_dgram_should_retry
      Src: /src/openssl/crypto/bio/bss_dgram.c:2122,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_dgram.c:2123,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2124,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_dgram.c:2136,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2139,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:2153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram.c:2156,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 127
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 1946
    functionDepth: 1
    functionLinenumber: 1946
    functionLinenumberEnd: 2164
    functionName: dgram_sctp_read
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - dgram_sctp_handle_auth_free_key_event
    - ERR_raise
    - memcpy
    - recvmsg
    - OPENSSL_free
    - BIO_dgram_should_retry
    - bio_dgram_sctp_data*::handle_notifications
    - setsockopt
    - CMSG_FIRSTHDR
    - OPENSSL_malloc
    - clear_socket_error
    - CMSG_DATA
    - BIO_clear_retry_flags
    - OPENSSL_assert
    - CMSG_NXTHDR
    - getsockopt
    - memset
    - get_last_socket_error
    - BIO_set_retry_read
    linkageType: ''
    returnType: int
    signature: int dgram_sctp_read(BIO *b, char *out, int outl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2185,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2186,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2190,1
    - Dst: clear_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2194,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2201,1
    - Dst: BIO_dgram_sctp_wait_for_dry
      Src: /src/openssl/crypto/bio/bss_dgram.c:2210,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:2214,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:2215,1
    - Dst: CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:2233,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2234,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2235,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2240,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2243,1
    - Dst: CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:2246,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2247,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2248,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2251,1
    - Dst: CMSG_LEN
      Src: /src/openssl/crypto/bio/bss_dgram.c:2256,1
    - Dst: CMSG_DATA
      Src: /src/openssl/crypto/bio/bss_dgram.c:2257,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2258,1
    - Dst: CMSG_SPACE
      Src: /src/openssl/crypto/bio/bss_dgram.c:2267,1
    - Dst: sendmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2270,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram.c:2272,1
    - Dst: BIO_dgram_should_retry
      Src: /src/openssl/crypto/bio/bss_dgram.c:2274,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:2275,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2280
    functionName: dgram_sctp_write
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - clear_socket_error
    - BIO_dgram_should_retry
    - memset
    - BIO_clear_retry_flags
    - CMSG_DATA
    - CMSG_SPACE
    - BIO_dgram_sctp_wait_for_dry
    - get_last_socket_error
    - sendmsg
    - BIO_set_retry_write
    - CMSG_LEN
    linkageType: ''
    returnType: int
    signature: int dgram_sctp_write(BIO *b, const char *in, int inl)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2332,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2343,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_dgram.c:2350,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2355,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2364,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2367,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram.c:2369,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2375,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2387,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2394,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2423,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2435,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2443,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2459,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2467,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2474,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2483,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2490,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram.c:2498,1
    - Dst: dgram_sctp_wait_for_dry
      Src: /src/openssl/crypto/bio/bss_dgram.c:2508,1
    - Dst: dgram_sctp_msg_waiting
      Src: /src/openssl/crypto/bio/bss_dgram.c:2510,1
    - Dst: dgram_ctrl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2516,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 130
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2282
    functionDepth: 4
    functionLinenumber: 2282
    functionLinenumberEnd: 2520
    functionName: dgram_sctp_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - dgram_sctp_wait_for_dry
    - memset
    - setsockopt
    - dgram_ctrl
    - memcpy
    - OPENSSL_free
    - dgram_sctp_msg_waiting
    - getsockopt
    - OPENSSL_malloc
    linkageType: ''
    returnType: long
    signature: long dgram_sctp_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - handle_notifications
    - context
    argTypes:
    - BIO*
    - BIO_dgram_sctp_notification_handler_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2535
    functionName: BIO_dgram_sctp_notification_cb
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_dgram_sctp_notification_cb(BIO *b,\n                BIO_dgram_sctp_notification_handler_fn
      handle_notifications,\n                void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2550
    functionDepth: 3
    functionLinenumber: 2550
    functionLinenumberEnd: 2553
    functionName: BIO_dgram_sctp_wait_for_dry
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 1
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: int BIO_dgram_sctp_wait_for_dry(BIO *b)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2573,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2578,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2582,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2589,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2596,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2607,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2609,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2610,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2618,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2629,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2631,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2632,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2643,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2648,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2653,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bss_dgram.c:2661,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/openssl/crypto/bio/bss_dgram.c:2669,1
    - Dst: bio_dgram_sctp_data*::handle_notifications
      Src: /src/openssl/crypto/bio/bss_dgram.c:2673,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2677,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2690,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2691,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2694,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2697,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2701,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2702,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 92
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2555
    functionDepth: 1
    functionLinenumber: 2555
    functionLinenumberEnd: 2711
    functionName: dgram_sctp_wait_for_dry
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 2
    functionsReached:
    - dgram_sctp_handle_auth_free_key_event
    - fcntl
    - memset
    - bio_dgram_sctp_data*::handle_notifications
    - setsockopt
    - recvmsg
    - get_last_socket_error
    - getsockopt
    linkageType: ''
    returnType: int
    signature: int dgram_sctp_wait_for_dry(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2713
    functionDepth: 3
    functionLinenumber: 2713
    functionLinenumberEnd: 2716
    functionName: BIO_dgram_sctp_msg_waiting
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: int BIO_dgram_sctp_msg_waiting(BIO *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2728,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2739,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2740,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2741,1
    - Dst: fcntl
      Src: /src/openssl/crypto/bio/bss_dgram.c:2742,1
    - Dst: dgram_sctp_handle_auth_free_key_event
      Src: /src/openssl/crypto/bio/bss_dgram.c:2748,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bss_dgram.c:2751,1
    - Dst: recvmsg
      Src: /src/openssl/crypto/bio/bss_dgram.c:2761,1
    - Dst: bio_dgram_sctp_data*::handle_notifications
      Src: /src/openssl/crypto/bio/bss_dgram.c:2764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2718
    functionDepth: 1
    functionLinenumber: 2718
    functionLinenumberEnd: 2775
    functionName: dgram_sctp_msg_waiting
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 1
    functionsReached:
    - fcntl
    - dgram_sctp_handle_auth_free_key_event
    - memset
    - bio_dgram_sctp_data*::handle_notifications
    - recvmsg
    linkageType: ''
    returnType: int
    signature: int dgram_sctp_msg_waiting(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_dgram.c:2781,1
    - Dst: dgram_sctp_write
      Src: /src/openssl/crypto/bio/bss_dgram.c:2782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2777
    functionDepth: 2
    functionLinenumber: 2777
    functionLinenumberEnd: 2784
    functionName: dgram_sctp_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 0
    functionsReached:
    - dgram_sctp_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int dgram_sctp_puts(BIO *bp, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2792,1
    - Dst: BIO_dgram_non_fatal_error
      Src: /src/openssl/crypto/bio/bss_dgram.c:2802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2787
    functionDepth: 1
    functionLinenumber: 2787
    functionLinenumberEnd: 2805
    functionName: BIO_dgram_should_retry
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 4
    functionsReached:
    - BIO_dgram_non_fatal_error
    - get_last_socket_error
    linkageType: ''
    returnType: int
    signature: int BIO_dgram_should_retry(int i)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2853
    functionName: BIO_dgram_non_fatal_error
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_dgram_non_fatal_error(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_core.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vbcg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: ossl_bio_core_globals_free
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_bio_core_globals_free(void *vbcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_core.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ossl_bio_core_globals_new
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *ossl_bio_core_globals_new(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/bio/bss_core.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: BIO_CORE_GLOBALS *get_globals(OSSL_LIB_CTX *libctx)
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline BIO_CORE_GLOBALS *get_globals(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/crypto/bio/bss_core.c:43,1
    - Dst: BIO_CORE_GLOBALS*::c_bio_read_ex
      Src: /src/openssl/crypto/bio/bss_core.c:47,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bss_core.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - bytes_read
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: bio_core_read_ex
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - BIO_CORE_GLOBALS*::c_bio_read_ex
    - get_globals
    linkageType: ''
    returnType: int
    signature: "int bio_core_read_ex(BIO *bio, char *data, size_t data_len,\n                            size_t
      *bytes_read)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/crypto/bio/bss_core.c:53,1
    - Dst: BIO_CORE_GLOBALS*::c_bio_write_ex
      Src: /src/openssl/crypto/bio/bss_core.c:57,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bss_core.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: bio_core_write_ex
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - BIO_CORE_GLOBALS*::c_bio_write_ex
    - get_globals
    linkageType: ''
    returnType: int
    signature: "int bio_core_write_ex(BIO *bio, const char *data, size_t data_len,\n
      \                            size_t *written)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/crypto/bio/bss_core.c:62,1
    - Dst: BIO_CORE_GLOBALS*::c_bio_ctrl
      Src: /src/openssl/crypto/bio/bss_core.c:66,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bss_core.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: bio_core_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - BIO_CORE_GLOBALS*::c_bio_ctrl
    - get_globals
    linkageType: ''
    returnType: long
    signature: long bio_core_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/crypto/bio/bss_core.c:71,1
    - Dst: BIO_CORE_GLOBALS*::c_bio_gets
      Src: /src/openssl/crypto/bio/bss_core.c:75,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bss_core.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: bio_core_gets
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - get_globals
    - BIO_CORE_GLOBALS*::c_bio_gets
    linkageType: ''
    returnType: int
    signature: int bio_core_gets(BIO *bio, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/crypto/bio/bss_core.c:80,1
    - Dst: BIO_CORE_GLOBALS*::c_bio_puts
      Src: /src/openssl/crypto/bio/bss_core.c:84,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bss_core.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: bio_core_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - get_globals
    - BIO_CORE_GLOBALS*::c_bio_puts
    linkageType: ''
    returnType: int
    signature: int bio_core_puts(BIO *bio, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/bio/bss_core.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: bio_core_new
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_core_new(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/crypto/bio/bss_core.c:96,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/bio/bss_core.c:101,1
    - Dst: BIO_CORE_GLOBALS*::c_bio_free
      Src: /src/openssl/crypto/bio/bss_core.c:102,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/bio/bss_core.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: bio_core_free
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - get_globals
    - BIO_set_init
    - BIO_CORE_GLOBALS*::c_bio_free
    linkageType: ''
    returnType: int
    signature: int bio_core_free(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: BIO_s_core
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_core(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/crypto/bio/bss_core.c:130,1
    - Dst: BIO_new_ex
      Src: /src/openssl/crypto/bio/bss_core.c:136,1
    - Dst: BIO_s_core
      Src: /src/openssl/crypto/bio/bss_core.c:136,1
    - Dst: BIO_CORE_GLOBALS*::c_bio_up_ref
      Src: /src/openssl/crypto/bio/bss_core.c:139,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_core.c:140,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/bio/bss_core.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - libctx
    - corebio
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: BIO_new_from_core_bio
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 0
    functionsReached:
    - BIO_new_ex
    - BIO_free
    - get_globals
    - BIO_set_data
    - BIO_CORE_GLOBALS*::c_bio_up_ref
    - BIO_s_core
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_from_core_bio(OSSL_LIB_CTX *libctx, OSSL_CORE_BIO *corebio)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/crypto/bio/bss_core.c:149,1
    - Dst: OSSL_FUNC_BIO_read_ex
      Src: /src/openssl/crypto/bio/bss_core.c:158,1
    - Dst: OSSL_FUNC_BIO_write_ex
      Src: /src/openssl/crypto/bio/bss_core.c:162,1
    - Dst: OSSL_FUNC_BIO_gets
      Src: /src/openssl/crypto/bio/bss_core.c:166,1
    - Dst: OSSL_FUNC_BIO_puts
      Src: /src/openssl/crypto/bio/bss_core.c:170,1
    - Dst: OSSL_FUNC_BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_core.c:174,1
    - Dst: OSSL_FUNC_BIO_up_ref
      Src: /src/openssl/crypto/bio/bss_core.c:178,1
    - Dst: OSSL_FUNC_BIO_free
      Src: /src/openssl/crypto/bio/bss_core.c:182,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - libctx
    - fns
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 188
    functionName: ossl_bio_init_core
    functionSourceFile: /src/openssl/crypto/bio/bss_core.c
    functionUses: 1
    functionsReached:
    - OSSL_FUNC_BIO_up_ref
    - OSSL_FUNC_BIO_free
    - get_globals
    - OSSL_FUNC_BIO_write_ex
    - OSSL_FUNC_BIO_gets
    - OSSL_FUNC_BIO_puts
    - OSSL_FUNC_BIO_ctrl
    - OSSL_FUNC_BIO_read_ex
    linkageType: ''
    returnType: int
    signature: int ossl_bio_init_core(OSSL_LIB_CTX *libctx, const OSSL_DISPATCH *fns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: BIO_f_null
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_null(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_null.c:53,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_null.c:54,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_null.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: nullf_read
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - BIO_read
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int nullf_read(BIO *b, char *out, int outl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_null.c:67,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_null.c:68,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_null.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: nullf_write
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_copy_next_retry
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int nullf_write(BIO *b, const char *in, int inl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_null.c:81,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_null.c:82,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_null.c:83,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_null.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: nullf_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_copy_next_retry
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: long
    signature: long nullf_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/bio/bf_null.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: nullf_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long nullf_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/crypto/bio/bf_null.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: nullf_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: int nullf_gets(BIO *bp, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/bio/bf_null.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: nullf_puts
    functionSourceFile: /src/openssl/crypto/bio/bf_null.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int nullf_puts(BIO *bp, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/openssl/crypto/bio/bio_sock2.c:46,1
    - Dst: socket
      Src: /src/openssl/crypto/bio/bio_sock2.c:49,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:51,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:51,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - domain
    - socktype
    - protocol
    - options
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: BIO_socket
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - socket
    - ERR_raise_data
    - get_last_socket_error
    - BIO_sock_init
    linkageType: ''
    returnType: int
    signature: int BIO_socket(int domain, int socktype, int protocol, int options)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:86,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/crypto/bio/bio_sock2.c:90,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:94,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:96,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:98,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:104,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:106,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:108,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/bio/bio_sock2.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:125,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/bio/bio_sock2.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:139,1
    - Dst: memset
      Src: /src/openssl/crypto/bio/bio_sock2.c:147,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bio_sock2.c:148,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bio_sock2.c:149,1
    - Dst: connectx
      Src: /src/openssl/crypto/bio/bio_sock2.c:150,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bio_sock2.c:153,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:154,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:156,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:162,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:164,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:166,1
    - Dst: connect
      Src: /src/openssl/crypto/bio/bio_sock2.c:175,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bio_sock2.c:175,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bio_sock2.c:176,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bio_sock2.c:177,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:178,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:180,1
    - Dst: ktls_enable
      Src: /src/openssl/crypto/bio/bio_sock2.c:191,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 194
    functionName: BIO_connect
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 1
    functionsReached:
    - ktls_enable
    - ERR_raise
    - memset
    - setsockopt
    - BIO_ADDR_sockaddr_size
    - BIO_sock_should_retry
    - BIO_socket_nbio
    - ERR_raise_data
    - get_last_socket_error
    - BIO_ADDR_sockaddr
    - sysctlbyname
    - connectx
    - connect
    linkageType: ''
    returnType: int
    signature: int BIO_connect(int sock, const BIO_ADDR *addr, int options)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:219,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:229,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:231,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:231,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:233,1
    - Dst: bind
      Src: /src/openssl/crypto/bio/bio_sock2.c:239,1
    - Dst: BIO_ADDR_sockaddr
      Src: /src/openssl/crypto/bio/bio_sock2.c:239,1
    - Dst: BIO_ADDR_sockaddr_size
      Src: /src/openssl/crypto/bio/bio_sock2.c:239,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:240,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:240,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 247
    functionName: BIO_bind
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 0
    functionsReached:
    - bind
    - ERR_raise
    - BIO_ADDR_sockaddr_size
    - setsockopt
    - get_last_socket_error
    - ERR_raise_data
    - BIO_ADDR_sockaddr
    linkageType: ''
    returnType: int
    signature: int BIO_bind(int sock, const BIO_ADDR *addr, int options)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:294,1
    - Dst: getsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:298,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:301,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:303,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/crypto/bio/bio_sock2.c:307,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:311,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:313,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:313,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:315,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:321,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:323,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:325,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/crypto/bio/bio_sock2.c:332,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:338,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:340,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:340,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:342,1
    - Dst: BIO_bind
      Src: /src/openssl/crypto/bio/bio_sock2.c:348,1
    - Dst: listen
      Src: /src/openssl/crypto/bio/bio_sock2.c:351,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:352,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:354,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/bio/bio_sock2.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:372,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:377,1
    - Dst: sysctlbyname
      Src: /src/openssl/crypto/bio/bio_sock2.c:385,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:391,1
    - Dst: setsockopt
      Src: /src/openssl/crypto/bio/bio_sock2.c:396,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:398,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:398,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:400,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 3
    argNames:
    - sock
    - addr
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 407
    functionName: BIO_listen
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 1
    functionsReached:
    - BIO_ADDR_family
    - ERR_raise
    - setsockopt
    - listen
    - BIO_bind
    - sysctlbyname
    - BIO_socket_nbio
    - get_last_socket_error
    - ERR_raise_data
    - getsockopt
    linkageType: ''
    returnType: int
    signature: int BIO_listen(int sock, const BIO_ADDR *addr, int options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/openssl/crypto/bio/bio_sock2.c:424,1
    - Dst: BIO_ADDR_sockaddr_noconst
      Src: /src/openssl/crypto/bio/bio_sock2.c:425,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bio_sock2.c:427,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bio_sock2.c:428,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bio_sock2.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_sock2.c:430,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/crypto/bio/bio_sock2.c:435,1
    - Dst: closesocket
      Src: /src/openssl/crypto/bio/bio_sock2.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - accept_sock
    - addr_
    - options
    argTypes:
    - int
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 441
    functionName: BIO_accept_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - BIO_sock_should_retry
    - BIO_ADDR_sockaddr_noconst
    - BIO_socket_nbio
    - ERR_raise_data
    - get_last_socket_error
    - closesocket
    - accept
    linkageType: ''
    returnType: int
    signature: int BIO_accept_ex(int accept_sock, BIO_ADDR *addr_, int options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/openssl/crypto/bio/bio_sock2.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: BIO_closesocket
    functionSourceFile: /src/openssl/crypto/bio/bio_sock2.c
    functionUses: 7
    functionsReached:
    - closesocket
    linkageType: ''
    returnType: int
    signature: int BIO_closesocket(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: BIO_s_bio
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_bio(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_bio.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: bio_new
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int bio_new(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:98,1
    - Dst: bio_destroy_pair
      Src: /src/openssl/crypto/bio/bss_bio.c:101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_bio.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_bio.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts:
    - condition: (b != NULL)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: bio_free
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - bio_destroy_pair
    - assert
    linkageType: ''
    returnType: int
    signature: int bio_free(BIO *bio)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_bio.c:115,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:121,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:122,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:124,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:125,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_bio.c:136,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:156,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:160,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:166,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_bio.c:168,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:173,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - bio
    - buf
    - size_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts:
    - condition: (peer_b->buf != NULL)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b != NULL)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->peer != NULL)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b != NULL)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (rest > 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (rest <= peer_b->len)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->offset + chunk <= peer_b->size)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (chunk == rest)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->offset <= peer_b->size)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 187
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 187
    functionName: bio_read
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_set_retry_read
    - memcpy
    - BIO_clear_retry_flags
    - assert
    linkageType: ''
    returnType: int
    signature: int bio_read(BIO *bio, char *buf, int size_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_bio.c:205,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:211,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:212,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:214,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:215,1
    - Dst: bio_read
      Src: /src/openssl/crypto/bio/bss_bio.c:223,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    assertStmts:
    - condition: (b->peer != NULL)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b != NULL)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->buf != NULL)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (num > 0)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 235
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 235
    functionName: bio_nread0
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - bio_read
    - BIO_clear_retry_flags
    - assert
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t bio_nread0(BIO *bio, char **buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bio_nread0
      Src: /src/openssl/crypto/bio/bss_bio.c:247,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - bio
    - buf
    - num_
    argTypes:
    - BIO*
    - char**
    - size_t
    assertStmts:
    - condition: (peer_b->offset <= peer_b->size)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 266
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 266
    functionName: bio_nread
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - bio_nread0
    - assert
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t bio_nread(BIO *bio, char **buf, size_t num_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_bio.c:274,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:280,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:281,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:287,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:291,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_bio.c:294,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:306,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:311,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_bio.c:324,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - bio
    - buf
    - num_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts:
    - condition: (b != NULL)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->peer != NULL)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->buf != NULL)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len <= b->size)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (rest > 0)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len + rest <= b->size)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len <= b->size)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 336
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 336
    functionName: bio_write
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - ERR_raise
    - memcpy
    - BIO_set_retry_write
    - assert
    linkageType: ''
    returnType: int
    signature: int bio_write(BIO *bio, const char *buf, int num_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_bio.c:351,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:357,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:358,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:359,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:363,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:367,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_bio.c:370,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    assertStmts:
    - condition: (b != NULL)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->peer != NULL)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->buf != NULL)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len <= b->size)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (write_offset + num <= b->size)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 391
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 391
    functionName: bio_nwrite0
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_set_retry_write
    - BIO_clear_retry_flags
    - ERR_raise
    - assert
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t bio_nwrite0(BIO *bio, char **buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bio_nwrite0
      Src: /src/openssl/crypto/bio/bss_bio.c:403,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:409,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - bio
    - buf
    - num_
    argTypes:
    - BIO*
    - char**
    - size_t
    assertStmts:
    - condition: (b != NULL)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->len <= b->size)
      pos:
        line_end: 410
        line_start: 410
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 414
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 414
    functionName: bio_nwrite
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - bio_nwrite0
    - assert
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t bio_nwrite(BIO *bio, char **buf, size_t num_)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:421,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:431,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_bio.c:437,1
    - Dst: bio_make_pair
      Src: /src/openssl/crypto/bio/bss_bio.c:453,1
    - Dst: bio_destroy_pair
      Src: /src/openssl/crypto/bio/bss_bio.c:465,1
    - Dst: bio_nread0
      Src: /src/openssl/crypto/bio/bss_bio.c:507,1
    - Dst: bio_nread
      Src: /src/openssl/crypto/bio/bss_bio.c:512,1
    - Dst: bio_nwrite0
      Src: /src/openssl/crypto/bio/bss_bio.c:517,1
    - Dst: bio_nwrite
      Src: /src/openssl/crypto/bio/bss_bio.c:522,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:566,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:568,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:570,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 111
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts:
    - condition: (b != NULL)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (other_bio != NULL)
      pos:
        line_end: 565
        line_start: 565
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (other_b->buf == NULL)
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (other_b != NULL)
      pos:
        line_end: 567
        line_start: 567
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 599
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 599
    functionName: bio_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 1
    functionsReached:
    - bio_nread0
    - ERR_raise
    - bio_destroy_pair
    - bio_nwrite0
    - OPENSSL_free
    - bio_make_pair
    - bio_nread
    - bio_nwrite
    - assert
    linkageType: ''
    returnType: long
    signature: long bio_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_bio.c:603,1
    - Dst: bio_write
      Src: /src/openssl/crypto/bio/bss_bio.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: bio_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 1
    functionsReached:
    - strlen
    - bio_write
    linkageType: ''
    returnType: int
    signature: int bio_puts(BIO *bio, const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:614,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:621,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_bio.c:626,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_bio.c:634,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - bio1
    - bio2
    argTypes:
    - BIO*
    - BIO*
    assertStmts:
    - condition: (bio1 != NULL)
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (bio2 != NULL)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 652
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 652
    functionName: bio_make_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    - assert
    linkageType: ''
    returnType: int
    signature: int bio_make_pair(BIO *bio1, BIO *bio2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:664,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:665,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:669,1
    - Dst: assert
      Src: /src/openssl/crypto/bio/bss_bio.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts:
    - condition: (peer_b != NULL)
      pos:
        line_end: 663
        line_start: 663
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->buf != NULL)
      pos:
        line_end: 668
        line_start: 668
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (peer_b->peer == bio)
      pos:
        line_end: 664
        line_start: 664
        source_file: /src/openssl/crypto/bio/bss_bio.c
    - condition: (b->buf != NULL)
      pos:
        line_end: 674
        line_start: 674
        source_file: /src/openssl/crypto/bio/bss_bio.c
    constantsTouched: []
    func_position:
      end: 680
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 680
    functionName: bio_destroy_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void bio_destroy_pair(BIO *bio)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_bio.c:693,1
    - Dst: BIO_s_bio
      Src: /src/openssl/crypto/bio/bss_bio.c:693,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_bio.c:696,1
    - Dst: BIO_s_bio
      Src: /src/openssl/crypto/bio/bss_bio.c:696,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_bio.c:701,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_bio.c:706,1
    - Dst: BIO_make_bio_pair
      Src: /src/openssl/crypto/bio/bss_bio.c:711,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_bio.c:718,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_bio.c:720,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - bio1_p
    - writebuf1
    - bio2_p
    - writebuf2
    argTypes:
    - BIO**
    - size_t
    - BIO**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 683
    functionDepth: 5
    functionLinenumber: 683
    functionLinenumberEnd: 727
    functionName: BIO_new_bio_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_s_bio
    - BIO_free
    - BIO_make_bio_pair
    - BIO_set_write_buf_size
    linkageType: ''
    returnType: int
    signature: "int BIO_new_bio_pair(BIO **bio1_p, size_t writebuf1,\n                     BIO
      **bio2_p, size_t writebuf2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: BIO_ctrl_get_write_guarantee
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: size_t
    signature: size_t BIO_ctrl_get_write_guarantee(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 737
    functionName: BIO_ctrl_get_read_request
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: size_t
    signature: size_t BIO_ctrl_get_read_request(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: BIO_ctrl_reset_read_request
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: int BIO_ctrl_reset_read_request(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:754,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 763
    functionName: BIO_nread0
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BIO_nread0(BIO *bio, char **buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:770,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - buf
    - num
    argTypes:
    - BIO*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 778
    functionName: BIO_nread
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BIO_nread(BIO *bio, char **buf, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:785,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bio
    - buf
    argTypes:
    - BIO*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 780
    functionDepth: 3
    functionLinenumber: 780
    functionLinenumberEnd: 794
    functionName: BIO_nwrite0
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BIO_nwrite0(BIO *bio, char **buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_bio.c:801,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_bio.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - buf
    - num
    argTypes:
    - BIO*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 809
    functionName: BIO_nwrite
    functionSourceFile: /src/openssl/crypto/bio/bss_bio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int BIO_nwrite(BIO *bio, char **buf, int num)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:33,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:43,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:47,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:51,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:56,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:60,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:64,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:67,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:71,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:76,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:81,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:85,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:88,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:91,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:94,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:97,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:100,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:104,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/bio/bio_cb.c:108,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bio_cb.c:114,1
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bio_cb.c:114,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 120
    functionName: BIO_debug_callback_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_cb.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - BIO_write
    - strlen
    linkageType: ''
    returnType: long
    signature: "long BIO_debug_callback_ex(BIO *bio, int cmd, const char *argp, size_t
      len,\n                           int argi, long argl, int ret, size_t *processed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_debug_callback_ex
      Src: /src/openssl/crypto/bio/bio_cb.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - bio
    - cmd
    - argp
    - argi
    - argl
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - int
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: BIO_debug_callback
    functionSourceFile: /src/openssl/crypto/bio/bio_cb.c
    functionUses: 0
    functionsReached:
    - BIO_debug_callback_ex
    linkageType: ''
    returnType: long
    signature: "long BIO_debug_callback(BIO *bio, int cmd, const char *argp,\n                        int
      argi, long argl, long ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/bio/bio_meth.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_bio_type_init)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/bio/bio_meth.c:25,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bio_meth.c:27,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/bio/bio_meth.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: BIO_get_new_index
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int BIO_get_new_index(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bio_meth.c:39,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/bio/bio_meth.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_meth.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - type
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: BIO_meth_new
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_meth_new(int type, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_meth.c:53,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bio_meth.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: BIO_meth_free
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void BIO_meth_free(BIO_METHOD *biom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: (*BIO_meth_get_write(const BIO_METHOD *biom)) (BIO *, const char
      *, int)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_write(const BIO_METHOD *biom)) (BIO *, const char
      *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: "(*BIO_meth_get_write_ex(const BIO_METHOD *biom)) (BIO *, const
      char *, size_t,\n                                                size_t *)"
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*BIO_meth_get_write_ex(const BIO_METHOD *biom)) (BIO *, const
      char *, size_t,\n                                                size_t *)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO*::method::bwrite_old
      Src: /src/openssl/crypto/bio/bio_meth.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - bio
    - data
    - datal
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: bwrite_conv
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached:
    - BIO*::method::bwrite_old
    linkageType: ''
    returnType: int
    signature: int bwrite_conv(BIO *bio, const char *data, size_t datal, size_t *written)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: BIO_meth_set_write
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_write(BIO_METHOD *biom,\n                       int
      (*bwrite) (BIO *, const char *, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: BIO_meth_set_write_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_write_ex(BIO_METHOD *biom,\n                       int
      (*bwrite) (BIO *, const char *, size_t, size_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_read(const BIO_METHOD *biom)) (BIO *, char *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *,
      size_t, size_t *)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_read_ex(const BIO_METHOD *biom)) (BIO *, char *,
      size_t, size_t *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO*::method::bread_old
      Src: /src/openssl/crypto/bio/bio_meth.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - bio
    - data
    - datal
    - readbytes
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: bread_conv
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached:
    - BIO*::method::bread_old
    linkageType: ''
    returnType: int
    signature: int bread_conv(BIO *bio, char *data, size_t datal, size_t *readbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: BIO_meth_set_read
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_read(BIO_METHOD *biom,\n                      int
      (*bread) (BIO *, char *, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: BIO_meth_set_read_ex
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_read_ex(BIO_METHOD *biom,\n                         int
      (*bread) (BIO *, char *, size_t, size_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char
      *)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_puts(const BIO_METHOD *biom)) (BIO *, const char
      *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: BIO_meth_set_puts
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_puts(BIO_METHOD *biom,\n                      int
      (*bputs) (BIO *, const char *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_gets(const BIO_METHOD *biom)) (BIO *, char *, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: BIO_meth_set_gets
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_gets(BIO_METHOD *biom,\n                      int
      (*bgets) (BIO *, char *, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long,
      void *)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long (*BIO_meth_get_ctrl(const BIO_METHOD *biom)) (BIO *, int, long,
      void *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: BIO_meth_set_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_ctrl(BIO_METHOD *biom,\n                      long
      (*ctrl) (BIO *, int, long, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: (*BIO_meth_get_create(const BIO_METHOD *biom)) (BIO *)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_create(const BIO_METHOD *biom)) (BIO *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: BIO_meth_set_create
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_destroy(const BIO_METHOD *biom)) (BIO *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: BIO_meth_set_destroy
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: (*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom)) (BIO *, int,
      BIO_info_cb *)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long (*BIO_meth_get_callback_ctrl(const BIO_METHOD *biom)) (BIO *,
      int, BIO_info_cb *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: BIO_meth_set_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_callback_ctrl(BIO_METHOD *biom,\n                               long
      (*callback_ctrl) (BIO *, int,\n                                                      BIO_info_cb
      *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: BIO_meth_set_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_sendmmsg(BIO_METHOD *biom,\n                          int
      (*bsendmmsg) (BIO *, BIO_MSG *, size_t, size_t, uint64_t, size_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: (*BIO_meth_get_sendmmsg(const BIO_METHOD *biom))(BIO *, BIO_MSG
      *, size_t, size_t, uint64_t, size_t *)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_sendmmsg(const BIO_METHOD *biom))(BIO *, BIO_MSG
      *, size_t, size_t, uint64_t, size_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - biom
    argTypes:
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: BIO_meth_set_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BIO_meth_set_recvmmsg(BIO_METHOD *biom,\n                          int
      (*brecvmmsg) (BIO *, BIO_MSG *, size_t, size_t, uint64_t, size_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: (*BIO_meth_get_recvmmsg(const BIO_METHOD *biom))(BIO *, BIO_MSG
      *, size_t, size_t, uint64_t, size_t *)
    functionSourceFile: /src/openssl/crypto/bio/bio_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*BIO_meth_get_recvmmsg(const BIO_METHOD *biom))(BIO *, BIO_MSG
      *, size_t, size_t, uint64_t, size_t *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: BIO_f_readbuffer
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_readbuffer(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bf_readbuff.c:55,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bf_readbuff.c:60,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_readbuff.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: readbuffer_new
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int readbuffer_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_readbuff.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_readbuff.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: readbuffer_free
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int readbuffer_free(BIO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/bio/bf_readbuff.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - sz
    argTypes:
    - BIO_F_BUFFER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: readbuffer_resize
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached:
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: int readbuffer_resize(BIO_F_BUFFER_CTX *ctx, int sz)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_readbuff.c:117,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_readbuff.c:125,1
    - Dst: readbuffer_resize
      Src: /src/openssl/crypto/bio/bf_readbuff.c:137,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_readbuff.c:141,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_readbuff.c:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 151
    functionName: readbuffer_read
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - memcpy
    - readbuffer_resize
    - BIO_copy_next_retry
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int readbuffer_read(BIO *b, char *out, int outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: readbuffer_write
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int readbuffer_write(BIO *b, const char *in, int inl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: readbuffer_puts
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int readbuffer_puts(BIO *b, const char *str)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_readbuff.c:175,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_readbuff.c:197,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 209
    functionName: readbuffer_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: long
    signature: long readbuffer_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/bio/bf_readbuff.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: readbuffer_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long readbuffer_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_readbuff.c:232,1
    - Dst: readbuffer_resize
      Src: /src/openssl/crypto/bio/bf_readbuff.c:263,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_readbuff.c:276,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_readbuff.c:278,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 218
    functionDepth: 4
    functionLinenumber: 218
    functionLinenumberEnd: 291
    functionName: readbuffer_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_readbuff.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - readbuffer_resize
    - BIO_read
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int readbuffer_gets(BIO *b, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: BIO_f_linebuffer
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_linebuffer(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_lbuf.c:60,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_lbuf.c:62,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_lbuf.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: linebuffer_new
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int linebuffer_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_lbuf.c:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_lbuf.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: linebuffer_free
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int linebuffer_free(BIO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_lbuf.c:99,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_lbuf.c:100,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: linebuffer_read
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - BIO_read
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: int linebuffer_read(BIO *b, char *out, int outl)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_lbuf.c:116,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_lbuf.c:141,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_lbuf.c:147,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:154,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:157,1
    - Dst: memmove
      Src: /src/openssl/crypto/bio/bf_lbuf.c:165,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:174,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:176,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_lbuf.c:194,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 199
    functionName: linebuffer_write
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_clear_retry_flags
    - memcpy
    - memmove
    - BIO_copy_next_retry
    linkageType: ''
    returnType: int
    signature: int linebuffer_write(BIO *b, const char *in, int inl)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:217,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:227,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bf_lbuf.c:236,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bf_lbuf.c:244,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_lbuf.c:245,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_lbuf.c:253,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:254,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:255,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:262,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:263,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_lbuf.c:268,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:270,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:271,1
    - Dst: memmove
      Src: /src/openssl/crypto/bio/bf_lbuf.c:275,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:282,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_lbuf.c:283,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/openssl/crypto/bio/bf_lbuf.c:287,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:293,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 201
    functionDepth: 4
    functionLinenumber: 201
    functionLinenumberEnd: 297
    functionName: linebuffer_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_clear_retry_flags
    - BIO_ctrl
    - memcpy
    - memmove
    - OPENSSL_free
    - BIO_copy_next_retry
    - BIO_set_write_buffer_size
    - OPENSSL_malloc
    linkageType: ''
    returnType: long
    signature: long linebuffer_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/bio/bf_lbuf.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: linebuffer_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long linebuffer_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/crypto/bio/bf_lbuf.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: linebuffer_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: int linebuffer_gets(BIO *b, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bf_lbuf.c:315,1
    - Dst: linebuffer_write
      Src: /src/openssl/crypto/bio/bf_lbuf.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 5
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: linebuffer_puts
    functionSourceFile: /src/openssl/crypto/bio/bf_lbuf.c
    functionUses: 0
    functionsReached:
    - strlen
    - linebuffer_write
    linkageType: ''
    returnType: int
    signature: int linebuffer_puts(BIO *b, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/bio/bio_err.c:95,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/bio/bio_err.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: ossl_err_load_BIO_strings
    functionSourceFile: /src/openssl/crypto/bio/bio_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_BIO_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: BIO_s_accept
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_accept(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ACCEPT_new
      Src: /src/openssl/crypto/bio/bss_acpt.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: acpt_new
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_ACCEPT_new
    linkageType: ''
    returnType: int
    signature: int acpt_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_acpt.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: BIO_ACCEPT_new
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: BIO_ACCEPT
    signature: BIO_ACCEPT *BIO_ACCEPT_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:106,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:107,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:110,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:112,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:113,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO_ACCEPT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: BIO_ACCEPT_free
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_free
    - BIO_ADDRINFO_free
    linkageType: ''
    returnType: void
    signature: void BIO_ACCEPT_free(BIO_ACCEPT *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/openssl/crypto/bio/bss_acpt.c:123,1
    - Dst: closesocket
      Src: /src/openssl/crypto/bio/bss_acpt.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: acpt_close_socket
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - shutdown
    - closesocket
    linkageType: ''
    returnType: void
    signature: void acpt_close_socket(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acpt_close_socket
      Src: /src/openssl/crypto/bio/bss_acpt.c:139,1
    - Dst: BIO_ACCEPT_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: acpt_free
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - acpt_close_socket
    - BIO_ACCEPT_free
    linkageType: ''
    returnType: int
    signature: int acpt_free(BIO *a)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_acpt.c:157,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:168,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:170,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_acpt.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_acpt.c:204,1
    - Dst: BIO_lookup
      Src: /src/openssl/crypto/bio/bss_acpt.c:207,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_acpt.c:212,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/bio/bss_acpt.c:220,1
    - Dst: BIO_socket
      Src: /src/openssl/crypto/bio/bss_acpt.c:221,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bss_acpt.c:221,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/crypto/bio/bss_acpt.c:222,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/crypto/bio/bss_acpt.c:223,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/crypto/bio/bss_acpt.c:225,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/bio/bss_acpt.c:229,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/bio/bss_acpt.c:232,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_acpt.c:233,1
    - Dst: get_last_socket_error
      Src: /src/openssl/crypto/bio/bss_acpt.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_acpt.c:236,1
    - Dst: BIO_listen
      Src: /src/openssl/crypto/bio/bss_acpt.c:247,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/crypto/bio/bss_acpt.c:248,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_acpt.c:250,1
    - Dst: BIO_sock_info
      Src: /src/openssl/crypto/bio/bss_acpt.c:259,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_acpt.c:261,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/crypto/bio/bss_acpt.c:267,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/crypto/bio/bss_acpt.c:269,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_acpt.c:280,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:285,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/crypto/bio/bss_acpt.c:288,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/crypto/bio/bss_acpt.c:295,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/crypto/bio/bss_acpt.c:296,1
    - Dst: BIO_new_socket
      Src: /src/openssl/crypto/bio/bss_acpt.c:308,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/crypto/bio/bss_acpt.c:312,1
    - Dst: BIO_get_callback_ex
      Src: /src/openssl/crypto/bio/bss_acpt.c:312,1
    - Dst: BIO_set_callback
      Src: /src/openssl/crypto/bio/bss_acpt.c:314,1
    - Dst: BIO_get_callback
      Src: /src/openssl/crypto/bio/bss_acpt.c:314,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/crypto/bio/bss_acpt.c:316,1
    - Dst: BIO_get_callback_arg
      Src: /src/openssl/crypto/bio/bss_acpt.c:316,1
    - Dst: BIO_dup_chain
      Src: /src/openssl/crypto/bio/bss_acpt.c:322,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/bio/bss_acpt.c:324,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/bio/bss_acpt.c:328,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/crypto/bio/bss_acpt.c:332,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/crypto/bio/bss_acpt.c:334,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:356,1
    - Dst: BIO_closesocket
      Src: /src/openssl/crypto/bio/bss_acpt.c:358,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 167
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - BIO*
    - BIO_ACCEPT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 148
    functionDepth: 6
    functionLinenumber: 148
    functionLinenumberEnd: 361
    functionName: acpt_state
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_set_callback_ex
    - ERR_pop_to_mark
    - OPENSSL_free
    - BIO_set_retry_special
    - BIO_get_callback_arg
    - BIO_accept_ex
    - BIO_new_socket
    - BIO_sock_should_retry
    - BIO_get_callback
    - BIO_get_callback_ex
    - BIO_push
    - ERR_clear_last_mark
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_clear_retry_flags
    - BIO_free
    - ERR_raise_data
    - BIO_socket
    - BIO_ADDR_hostname_string
    - BIO_dup_chain
    - BIO_ADDRINFO_address
    - BIO_set_callback_arg
    - BIO_lookup
    - ERR_set_mark
    - get_last_socket_error
    - BIO_listen
    - BIO_set_callback
    - BIO_ADDRINFO_protocol
    - BIO_ADDR_service_string
    - BIO_sock_info
    - BIO_ADDRINFO_socktype
    - BIO_ADDRINFO_next
    linkageType: ''
    returnType: int
    signature: int acpt_state(BIO *b, BIO_ACCEPT *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_acpt.c:368,1
    - Dst: acpt_state
      Src: /src/openssl/crypto/bio/bss_acpt.c:372,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bss_acpt.c:377,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bss_acpt.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 363
    functionDepth: 7
    functionLinenumber: 363
    functionLinenumberEnd: 380
    functionName: acpt_read
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_copy_next_retry
    - BIO_read
    - BIO_clear_retry_flags
    - acpt_state
    linkageType: ''
    returnType: int
    signature: int acpt_read(BIO *b, char *out, int outl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_acpt.c:387,1
    - Dst: acpt_state
      Src: /src/openssl/crypto/bio/bss_acpt.c:391,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bss_acpt.c:396,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bss_acpt.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 382
    functionDepth: 7
    functionLinenumber: 382
    functionLinenumberEnd: 399
    functionName: acpt_write
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_copy_next_retry
    - BIO_clear_retry_flags
    - acpt_state
    linkageType: ''
    returnType: int
    signature: int acpt_write(BIO *b, const char *in, int inl)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: acpt_close_socket
      Src: /src/openssl/crypto/bio/bss_acpt.c:414,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:415,1
    - Dst: acpt_state
      Src: /src/openssl/crypto/bio/bss_acpt.c:421,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:431,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/crypto/bio/bss_acpt.c:433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:438,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:441,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/bio/bss_acpt.c:442,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:449,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/crypto/bio/bss_acpt.c:501,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bss_acpt.c:546,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 141
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 401
    functionDepth: 7
    functionLinenumber: 401
    functionLinenumberEnd: 553
    functionName: acpt_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_ADDRINFO_family
    - acpt_state
    - BIO_ctrl
    - BIO_free
    - OPENSSL_free
    - BIO_parse_hostserv
    - BIO_ADDRINFO_free
    - OPENSSL_strdup
    - acpt_close_socket
    linkageType: ''
    returnType: long
    signature: long acpt_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/bio/bss_acpt.c:558,1
    - Dst: acpt_write
      Src: /src/openssl/crypto/bio/bss_acpt.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 555
    functionDepth: 8
    functionLinenumber: 555
    functionLinenumberEnd: 564
    functionName: acpt_puts
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - strlen
    - acpt_write
    linkageType: ''
    returnType: int
    signature: int acpt_puts(BIO *bp, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_acpt.c:570,1
    - Dst: BIO_s_accept
      Src: /src/openssl/crypto/bio/bss_acpt.c:570,1
    - Dst: BIO_set_accept_name
      Src: /src/openssl/crypto/bio/bss_acpt.c:573,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_acpt.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 566
    functionDepth: 5
    functionLinenumber: 566
    functionLinenumberEnd: 577
    functionName: BIO_new_accept
    functionSourceFile: /src/openssl/crypto/bio/bss_acpt.c
    functionUses: 0
    functionsReached:
    - BIO_set_accept_name
    - BIO_new
    - BIO_free
    - BIO_s_accept
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_accept(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: BIO_f_nbio_test
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_nbio_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bf_nbio.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: nbiof_new
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int nbiof_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bf_nbio.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: nbiof_free
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int nbiof_free(BIO *a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_nbio.c:89,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/bio/bf_nbio.c:90,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bf_nbio.c:99,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/bio/bf_nbio.c:101,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_nbio.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: nbiof_read
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - BIO_copy_next_retry
    - BIO_read
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: int nbiof_read(BIO *b, char *out, int outl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_nbio.c:121,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/bio/bf_nbio.c:127,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bf_nbio.c:137,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/bio/bf_nbio.c:139,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_nbio.c:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 146
    functionName: nbiof_write
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_clear_retry_flags
    - BIO_copy_next_retry
    - BIO_set_retry_write
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: int nbiof_write(BIO *b, const char *in, int inl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bf_nbio.c:156,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_nbio.c:157,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/bio/bf_nbio.c:158,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/bf_nbio.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: nbiof_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_copy_next_retry
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: long
    signature: long nbiof_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/bio/bf_nbio.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: nbiof_callback_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long nbiof_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/crypto/bio/bf_nbio.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: nbiof_gets
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: int nbiof_gets(BIO *bp, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/bio/bf_nbio.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: nbiof_puts
    functionSourceFile: /src/openssl/crypto/bio/bf_nbio.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int nbiof_puts(BIO *bp, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - r
    - nbytes
    argTypes:
    - struct ring_buf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: ring_buf_init
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ring_buf_init(struct ring_buf *r, size_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: ring_buf_destroy
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ring_buf_destroy(struct ring_buf *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - r
    - idx
    - buf
    - len
    argTypes:
    - struct ring_buf*
    - int
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: ring_buf_head_tail
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_buf_head_tail(struct ring_buf *r, int idx, uint8_t **buf,
      size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: ring_buf_head
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ring_buf_head(r, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: ring_buf_tail
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ring_buf_tail(r, buf, len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:90,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - r
    - idx
    - num_bytes
    argTypes:
    - struct ring_buf*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 110
    functionName: ring_buf_push_pop
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: void
    signature: void ring_buf_push_pop(struct ring_buf *r, int idx, size_t num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - num_bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ring_buf_push
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ring_buf_push(r, num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - num_bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: ring_buf_pop
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ring_buf_pop(r, num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ring_buf_clear
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ring_buf_clear(struct ring_buf *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_init
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:125,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:134,1
    - Dst: memmove
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - r
    - nbytes
    argTypes:
    - struct ring_buf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 156
    functionName: ring_buf_resize
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - OPENSSL_realloc
    - memmove
    - ring_buf_init
    linkageType: ''
    returnType: int
    signature: int ring_buf_resize(struct ring_buf *r, size_t nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - array
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: BIO_MSG_N
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_MSG_N(array, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: BIO_s_dgram_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_dgram_pair(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: BIO_s_dgram_mem
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_s_dgram_mem(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: is_dgram_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_dgram_pair(b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:279,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:288,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 296
    functionName: dgram_pair_init
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: int
    signature: int dgram_pair_init(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dgram_pair_init
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:302,1
    - Dst: ring_buf_init
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:307,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 316
    functionName: dgram_mem_init
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - dgram_pair_init
    - ring_buf_init
    linkageType: ''
    returnType: int
    signature: int dgram_mem_init(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:326,1
    - Dst: dgram_pair_ctrl_destroy_bio_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:330,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 335
    functionName: dgram_pair_free
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - ossl_assert
    - OPENSSL_free
    - dgram_pair_ctrl_destroy_bio_pair
    linkageType: ''
    returnType: int
    signature: int dgram_pair_free(BIO *bio)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:344,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:350,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:358,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:359,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:368,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:373,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:375,1
    - Dst: ring_buf_init
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:380,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:381,1
    - Dst: ring_buf_init
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:387,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:388,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - bio1
    - bio2
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 399
    functionName: dgram_pair_ctrl_make_bio_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ring_buf_destroy
    - ERR_raise_data
    - ring_buf_init
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_make_bio_pair(BIO *bio1, BIO *bio2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_destroy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:407,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:410,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:420,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - bio1
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 430
    functionName: dgram_pair_ctrl_destroy_bio_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 1
    functionsReached:
    - ring_buf_destroy
    - ossl_assert
    - BIO_ADDR_free
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_destroy_bio_pair(BIO *bio1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:437,1
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:443,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 456
    functionName: dgram_pair_ctrl_eof
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - is_dgram_pair
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_eof(BIO *bio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:465,1
    - Dst: ring_buf_resize
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - bio
    - len
    argTypes:
    - BIO*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 481
    functionName: dgram_pair_ctrl_set_write_buf_size
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ring_buf_resize
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_set_write_buf_size(BIO *bio, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_clear
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: dgram_pair_ctrl_reset
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ring_buf_clear
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_reset(BIO *bio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:503,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:508,1
    - Dst: dgram_pair_read_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:514,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:519,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 525
    functionName: dgram_pair_ctrl_pending
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - is_dgram_pair
    - dgram_pair_read_inner
    linkageType: ''
    returnType: size_t
    signature: size_t dgram_pair_ctrl_pending(BIO *bio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:533,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 549
    functionName: dgram_pair_ctrl_get_write_guarantee
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: size_t
    signature: size_t dgram_pair_ctrl_get_write_guarantee(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 566
    functionName: dgram_pair_ctrl_get_local_addr_cap
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - is_dgram_pair
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_get_local_addr_cap(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 579
    functionName: dgram_pair_ctrl_get_effective_caps
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_get_effective_caps(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: dgram_pair_ctrl_get_caps
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dgram_pair_ctrl_get_caps(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - caps
    argTypes:
    - BIO*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 596
    functionName: dgram_pair_ctrl_set_caps
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_set_caps(BIO *bio, uint32_t caps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 604
    functionName: dgram_pair_ctrl_get_local_addr_enable
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_get_local_addr_enable(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dgram_pair_ctrl_get_local_addr_cap
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - enable
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 616
    functionName: dgram_pair_ctrl_set_local_addr_enable
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_ctrl_get_local_addr_cap
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_set_local_addr_enable(BIO *bio, int enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: dgram_pair_ctrl_get_mtu
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_get_mtu(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - mtu
    argTypes:
    - BIO*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 639
    functionName: dgram_pair_ctrl_set_mtu
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_set_mtu(BIO *bio, size_t mtu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bio
    - addr
    argTypes:
    - BIO*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 649
    functionName: dgram_pair_ctrl_set0_local_addr
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_free
    linkageType: ''
    returnType: int
    signature: int dgram_pair_ctrl_set0_local_addr(BIO *bio, BIO_ADDR *addr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:657,1
    - Dst: dgram_pair_ctrl_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:667,1
    - Dst: dgram_pair_ctrl_reset
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:681,1
    - Dst: dgram_pair_ctrl_get_write_guarantee
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:689,1
    - Dst: dgram_pair_ctrl_pending
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:694,1
    - Dst: dgram_pair_ctrl_get_local_addr_enable
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:713,1
    - Dst: dgram_pair_ctrl_set_local_addr_enable
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:718,1
    - Dst: dgram_pair_ctrl_get_local_addr_cap
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:723,1
    - Dst: dgram_pair_ctrl_get_caps
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:730,1
    - Dst: dgram_pair_ctrl_set_caps
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:735,1
    - Dst: dgram_pair_ctrl_get_mtu
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:740,1
    - Dst: dgram_pair_ctrl_set_mtu
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:745,1
    - Dst: dgram_pair_ctrl_set0_local_addr
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:749,1
    - Dst: dgram_pair_ctrl_eof
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:757,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 766
    functionName: dgram_mem_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - dgram_pair_ctrl_set_local_addr_enable
    - dgram_pair_ctrl_eof
    - dgram_pair_ctrl_get_local_addr_enable
    - dgram_pair_ctrl_reset
    - dgram_pair_ctrl_get_mtu
    - dgram_pair_ctrl_get_write_guarantee
    - dgram_pair_ctrl_set_caps
    - dgram_pair_ctrl_set0_local_addr
    - dgram_pair_ctrl_pending
    - dgram_pair_ctrl_set_mtu
    - dgram_pair_ctrl_get_local_addr_cap
    - dgram_pair_ctrl_get_caps
    - dgram_pair_ctrl_set_write_buf_size
    linkageType: ''
    returnType: long
    signature: long dgram_mem_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dgram_pair_ctrl_make_bio_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:779,1
    - Dst: dgram_pair_ctrl_destroy_bio_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:787,1
    - Dst: dgram_pair_ctrl_get_effective_caps
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:792,1
    - Dst: dgram_mem_ctrl
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 768
    functionDepth: 4
    functionLinenumber: 768
    functionLinenumberEnd: 801
    functionName: dgram_pair_ctrl
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_ctrl_make_bio_pair
    - dgram_pair_ctrl_get_effective_caps
    - dgram_mem_ctrl
    - dgram_pair_ctrl_destroy_bio_pair
    linkageType: ''
    returnType: long
    signature: long dgram_pair_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:813,1
    - Dst: BIO_s_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:813,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:817,1
    - Dst: BIO_s_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:817,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:822,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:828,1
    - Dst: BIO_make_bio_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:833,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:840,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:842,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - pbio1
    - writebuf1
    - pbio2
    - writebuf2
    argTypes:
    - BIO**
    - size_t
    - BIO**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 803
    functionDepth: 5
    functionLinenumber: 803
    functionLinenumberEnd: 849
    functionName: BIO_new_bio_dgram_pair
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_s_dgram_pair
    - BIO_free
    - BIO_make_bio_pair
    - BIO_set_write_buf_size
    linkageType: ''
    returnType: int
    signature: "int BIO_new_bio_dgram_pair(BIO **pbio1, size_t writebuf1,\n                           BIO
      **pbio2, size_t writebuf2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_tail
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:870,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:878,1
    - Dst: ring_buf_pop
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:880,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - b
    - buf
    - sz
    argTypes:
    - struct bio_dgram_pair_st*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 889
    functionName: dgram_pair_read_inner
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ring_buf_tail
    - ring_buf_pop
    linkageType: ''
    returnType: size_t
    signature: size_t dgram_pair_read_inner(struct bio_dgram_pair_st *b, uint8_t *buf,
      size_t sz)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:904,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:909,1
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:912,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:916,1
    - Dst: dgram_pair_read_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:929,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:933,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:937,1
    - Dst: dgram_pair_read_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:957,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:958,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:966,1
    - Dst: dgram_pair_read_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:966,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 6
    argNames:
    - bio
    - buf
    - sz
    - local
    - peer
    - is_multi
    argTypes:
    - BIO*
    - char*
    - size_t
    - BIO_ADDR*
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 976
    functionName: dgram_pair_read_actual
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - is_dgram_pair
    - dgram_pair_read_inner
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t dgram_pair_read_actual(BIO *bio, char *buf, size_t sz,\n
      \                                          BIO_ADDR *local, BIO_ADDR *peer,\n
      \                                          int is_multi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:987,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:990,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:993,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:996,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bio_dgram_pair_st*
    - struct bio_dgram_pair_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 1002
    functionName: dgram_pair_lock_both_write
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int dgram_pair_lock_both_write(struct bio_dgram_pair_st *a,\n                                      struct
      bio_dgram_pair_st *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1007,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct bio_dgram_pair_st*
    - struct bio_dgram_pair_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1009
    functionName: dgram_pair_unlock_both
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: "void dgram_pair_unlock_both(struct bio_dgram_pair_st *a,\n                                   struct
      bio_dgram_pair_st *b)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1019,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1024,1
    - Dst: dgram_pair_lock_both_write
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1035,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1036,1
    - Dst: dgram_pair_read_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1040,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1043,1
    - Dst: dgram_pair_unlock_both
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - bio
    - buf
    - sz_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1012
    functionDepth: 3
    functionLinenumber: 1012
    functionLinenumberEnd: 1051
    functionName: dgram_pair_read
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_unlock_both
    - ERR_raise
    - dgram_pair_lock_both_write
    - dgram_pair_read_actual
    linkageType: ''
    returnType: int
    signature: int dgram_pair_read(BIO *bio, char *buf, int sz_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1071,1
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1076,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1081,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1082,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1088,1
    - Dst: dgram_pair_read_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1089,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1096,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 6
    argNames:
    - bio
    - msg
    - stride
    - num_msg
    - flags
    - num_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1111
    functionName: dgram_pair_recvmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_read_actual
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - is_dgram_pair
    - CRYPTO_THREAD_unlock
    - BIO_MSG_N
    linkageType: ''
    returnType: int
    signature: "int dgram_pair_recvmmsg(BIO *bio, BIO_MSG *msg,\n                               size_t
      stride, size_t num_msg,\n                               uint64_t flags,\n                               size_t
      *num_processed)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1121,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1126,1
    - Dst: dgram_pair_read_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1130,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1133,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - bio
    - buf
    - sz_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1114
    functionDepth: 3
    functionLinenumber: 1114
    functionLinenumberEnd: 1141
    functionName: dgram_mem_read
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - ERR_raise
    - dgram_pair_read_actual
    linkageType: ''
    returnType: int
    signature: int dgram_mem_read(BIO *bio, char *buf, int sz_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: safe_muldiv_size_t
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - target
    - current
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1169
    functionName: compute_rbuf_growth
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - safe_muldiv_size_t
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline compute_rbuf_growth(size_t target, size_t current)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_head
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1190,1
    - Dst: compute_rbuf_growth
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1197,1
    - Dst: ring_buf_resize
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1198,1
    - Dst: memcpy
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1206,1
    - Dst: ring_buf_push
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - b
    - buf
    - sz
    argTypes:
    - struct bio_dgram_pair_st*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1215
    functionName: dgram_pair_write_inner
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ring_buf_resize
    - ring_buf_head
    - compute_rbuf_growth
    - ring_buf_push
    linkageType: ''
    returnType: size_t
    signature: "size_t dgram_pair_write_inner(struct bio_dgram_pair_st *b,\n                                     const
      uint8_t *buf, size_t sz)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1231,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1236,1
    - Dst: is_dgram_pair
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1245,1
    - Dst: dgram_pair_write_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1260,1
    - Dst: dgram_pair_write_inner
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1261,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1269,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 6
    argNames:
    - bio
    - buf
    - sz
    - local
    - peer
    - is_multi
    argTypes:
    - BIO*
    - char*
    - size_t
    - BIO_ADDR*
    - BIO_ADDR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1274
    functionName: dgram_pair_write_actual
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - BIO_clear_retry_flags
    - is_dgram_pair
    - BIO_set_retry_write
    - dgram_pair_write_inner
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t dgram_pair_write_actual(BIO *bio, const char *buf, size_t
      sz,\n                                            const BIO_ADDR *local, const
      BIO_ADDR *peer,\n                                            int is_multi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1284,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1289,1
    - Dst: dgram_pair_write_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1295,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - bio
    - buf
    - sz_
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1303
    functionName: dgram_pair_write
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_write_actual
    - CRYPTO_THREAD_write_lock
    - ERR_raise
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int dgram_pair_write(BIO *bio, const char *buf, int sz_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1322,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1328,1
    - Dst: dgram_pair_write_actual
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1329,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1336,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/bio/bss_dgram_pair.c:1347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 6
    argNames:
    - bio
    - msg
    - stride
    - num_msg
    - flags
    - num_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1306
    functionDepth: 3
    functionLinenumber: 1306
    functionLinenumberEnd: 1349
    functionName: dgram_pair_sendmmsg
    functionSourceFile: /src/openssl/crypto/bio/bss_dgram_pair.c
    functionUses: 0
    functionsReached:
    - dgram_pair_write_actual
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - BIO_MSG_N
    linkageType: ''
    returnType: int
    signature: "int dgram_pair_sendmmsg(BIO *bio, BIO_MSG *msg,\n                               size_t
      stride, size_t num_msg,\n                               uint64_t flags, size_t
      *num_processed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:25,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:27,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: core_bio_new
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_CORE_BIO
    signature: OSSL_CORE_BIO *core_bio_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cb
    argTypes:
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ossl_core_bio_up_ref
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int ossl_core_bio_up_ref(OSSL_CORE_BIO *cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:46,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:48,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:49,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cb
    argTypes:
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: ossl_core_bio_free
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - BIO_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: int
    signature: int ossl_core_bio_free(OSSL_CORE_BIO *cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: core_bio_new
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:58,1
    - Dst: BIO_up_ref
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:60,1
    - Dst: ossl_core_bio_free
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: ossl_core_bio_new_from_bio
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 3
    functionsReached:
    - BIO_up_ref
    - core_bio_new
    - ossl_core_bio_free
    linkageType: ''
    returnType: OSSL_CORE_BIO
    signature: OSSL_CORE_BIO *ossl_core_bio_new_from_bio(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: core_bio_new
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:74,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: core_bio_new_from_new_bio
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - core_bio_new
    linkageType: ''
    returnType: OSSL_CORE_BIO
    signature: OSSL_CORE_BIO *core_bio_new_from_new_bio(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: core_bio_new_from_new_bio
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:84,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: ossl_core_bio_new_file
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - core_bio_new_from_new_bio
    - BIO_new_file
    linkageType: ''
    returnType: OSSL_CORE_BIO
    signature: OSSL_CORE_BIO *ossl_core_bio_new_file(const char *filename, const char
      *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: core_bio_new_from_new_bio
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:89,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ossl_core_bio_new_mem_buf
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - core_bio_new_from_new_bio
    - BIO_new_mem_buf
    linkageType: ''
    returnType: OSSL_CORE_BIO
    signature: OSSL_CORE_BIO *ossl_core_bio_new_mem_buf(const void *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read_ex
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cb
    - data
    - dlen
    - readbytes
    argTypes:
    - OSSL_CORE_BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: ossl_core_bio_read_ex
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - BIO_read_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_core_bio_read_ex(OSSL_CORE_BIO *cb, void *data, size_t dlen,\n
      \                         size_t *readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write_ex
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cb
    - data
    - dlen
    - written
    argTypes:
    - OSSL_CORE_BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: ossl_core_bio_write_ex
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - BIO_write_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_core_bio_write_ex(OSSL_CORE_BIO *cb, const void *data, size_t
      dlen,\n                           size_t *written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cb
    - buf
    - size
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ossl_core_bio_gets
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: int ossl_core_bio_gets(OSSL_CORE_BIO *cb, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cb
    - buf
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ossl_core_bio_puts
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int ossl_core_bio_puts(OSSL_CORE_BIO *cb, const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cb
    - cmd
    - larg
    - parg
    argTypes:
    - OSSL_CORE_BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: ossl_core_bio_ctrl
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: long
    signature: long ossl_core_bio_ctrl(OSSL_CORE_BIO *cb, int cmd, long larg, void
      *parg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_vprintf
      Src: /src/openssl/crypto/bio/ossl_core_bio.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cb
    - format
    - args
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ossl_core_bio_vprintf
    functionSourceFile: /src/openssl/crypto/bio/ossl_core_bio.c
    functionUses: 0
    functionsReached:
    - BIO_vprintf
    linkageType: ''
    returnType: int
    signature: int ossl_core_bio_vprintf(OSSL_CORE_BIO *cb, const char *format, va_list
      args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/rand/rand_err.c:107,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/rand/rand_err.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: ossl_err_load_RAND_strings
    functionSourceFile: /src/openssl/crypto/rand/rand_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_RAND_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get0_primary
      Src: /src/openssl/crypto/rand/rand_meth.c:17,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/crypto/rand/rand_meth.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - num
    - randomness
    argTypes:
    - void*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: drbg_add
    functionSourceFile: /src/openssl/crypto/rand/rand_meth.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_reseed
    - RAND_get0_primary
    linkageType: ''
    returnType: int
    signature: int drbg_add(const void *buf, int num, double randomness)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: drbg_add
      Src: /src/openssl/crypto/rand/rand_meth.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: drbg_seed
    functionSourceFile: /src/openssl/crypto/rand/rand_meth.c
    functionUses: 3
    functionsReached:
    - drbg_add
    linkageType: ''
    returnType: int
    signature: int drbg_seed(const void *buf, int num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get0_primary
      Src: /src/openssl/crypto/rand/rand_meth.c:34,1
    - Dst: EVP_RAND_get_state
      Src: /src/openssl/crypto/rand/rand_meth.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: drbg_status
    functionSourceFile: /src/openssl/crypto/rand/rand_meth.c
    functionUses: 0
    functionsReached:
    - RAND_get0_primary
    - EVP_RAND_get_state
    linkageType: ''
    returnType: int
    signature: int drbg_status(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get0_public
      Src: /src/openssl/crypto/rand/rand_meth.c:45,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/crypto/rand/rand_meth.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - out
    - count
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: drbg_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_meth.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_generate
    - RAND_get0_public
    linkageType: ''
    returnType: int
    signature: int drbg_bytes(unsigned char *out, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: RAND_OpenSSL
    functionSourceFile: /src/openssl/crypto/rand/rand_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RAND_METHOD
    signature: RAND_METHOD *RAND_OpenSSL(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - path
    - buf
    - bytes
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: RAND_query_egd_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RAND_query_egd_bytes(const char *path, unsigned char *buf, int
      bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: RAND_egd
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RAND_egd(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - bytes
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: RAND_egd_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RAND_egd_bytes(const char *path, int bytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _arg_present
      Src: /src/openssl/crypto/rand/rand_egd.c:81,1
    - Dst: socket
      Src: /src/openssl/crypto/rand/rand_egd.c:82,1
    - Dst: socket_transport_name_get
      Src: /src/openssl/crypto/rand/rand_egd.c:84,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rand/rand_egd.c:86,1
    - Dst: socket
      Src: /src/openssl/crypto/rand/rand_egd.c:87,1
    - Dst: socket_transport_name_set
      Src: /src/openssl/crypto/rand/rand_egd.c:90,1
    - Dst: socket
      Src: /src/openssl/crypto/rand/rand_egd.c:93,1
    - Dst: socket_transport_name_set
      Src: /src/openssl/crypto/rand/rand_egd.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - family
    - type
    - protocol
    - transport
    argTypes:
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 100
    functionName: hpns_socket
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached:
    - _arg_present
    - socket
    - strcmp
    - socket_transport_name_set
    - socket_transport_name_get
    linkageType: ''
    returnType: _variable
    signature: "_variable hpns_socket(int family,\n                int type,\n                int
      protocol,\n                char* transport)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/rand/rand_egd.c:120,1
    - Dst: strlen
      Src: /src/openssl/crypto/rand/rand_egd.c:122,1
    - Dst: strcpy
      Src: /src/openssl/crypto/rand/rand_egd.c:124,1
    - Dst: strlen
      Src: /src/openssl/crypto/rand/rand_egd.c:125,1
    - Dst: hpns_socket
      Src: /src/openssl/crypto/rand/rand_egd.c:127,1
    - Dst: socket
      Src: /src/openssl/crypto/rand/rand_egd.c:129,1
    - Dst: fdopen
      Src: /src/openssl/crypto/rand/rand_egd.c:131,1
    - Dst: setbuf
      Src: /src/openssl/crypto/rand/rand_egd.c:133,1
    - Dst: connect
      Src: /src/openssl/crypto/rand/rand_egd.c:137,1
    - Dst: close
      Src: /src/openssl/crypto/rand/rand_egd.c:162,1
    - Dst: hpns_socket
      Src: /src/openssl/crypto/rand/rand_egd.c:163,1
    - Dst: fwrite
      Src: /src/openssl/crypto/rand/rand_egd.c:179,1
    - Dst: fflush
      Src: /src/openssl/crypto/rand/rand_egd.c:179,1
    - Dst: fread
      Src: /src/openssl/crypto/rand/rand_egd.c:181,1
    - Dst: fread
      Src: /src/openssl/crypto/rand/rand_egd.c:191,1
    - Dst: RAND_add
      Src: /src/openssl/crypto/rand/rand_egd.c:196,1
    - Dst: fclose
      Src: /src/openssl/crypto/rand/rand_egd.c:200,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 3
    argNames:
    - path
    - buf
    - bytes
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 202
    functionName: RAND_query_egd_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached:
    - strcpy
    - memset
    - fdopen
    - socket
    - fclose
    - fwrite
    - close
    - RAND_add
    - hpns_socket
    - fread
    - fflush
    - strlen
    - connect
    - setbuf
    linkageType: ''
    returnType: int
    signature: int RAND_query_egd_bytes(const char *path, unsigned char *buf, int
      bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_query_egd_bytes
      Src: /src/openssl/crypto/rand/rand_egd.c:208,1
    - Dst: RAND_status
      Src: /src/openssl/crypto/rand/rand_egd.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - path
    - bytes
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: RAND_egd_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached:
    - RAND_status
    - RAND_query_egd_bytes
    linkageType: ''
    returnType: int
    signature: int RAND_egd_bytes(const char *path, int bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_egd_bytes
      Src: /src/openssl/crypto/rand/rand_egd.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: RAND_egd
    functionSourceFile: /src/openssl/crypto/rand/rand_egd.c
    functionUses: 0
    functionsReached:
    - RAND_egd_bytes
    linkageType: ''
    returnType: int
    signature: int RAND_egd(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: S_ISREG
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: openssl_fopen
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: openssl_fopen(fname, mode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/rand/randfile.c:106,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:107,1
    - Dst: fstat
      Src: /src/openssl/crypto/rand/randfile.c:113,1
    - Dst: fileno
      Src: /src/openssl/crypto/rand/randfile.c:113,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:114,1
    - Dst: fclose
      Src: /src/openssl/crypto/rand/randfile.c:116,1
    - Dst: S_ISREG
      Src: /src/openssl/crypto/rand/randfile.c:121,1
    - Dst: setbuf
      Src: /src/openssl/crypto/rand/randfile.c:143,1
    - Dst: fread
      Src: /src/openssl/crypto/rand/randfile.c:153,1
    - Dst: ferror
      Src: /src/openssl/crypto/rand/randfile.c:155,1
    - Dst: clearerr
      Src: /src/openssl/crypto/rand/randfile.c:156,1
    - Dst: RAND_add
      Src: /src/openssl/crypto/rand/randfile.c:164,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/rand/randfile.c:172,1
    - Dst: fclose
      Src: /src/openssl/crypto/rand/randfile.c:173,1
    - Dst: RAND_status
      Src: /src/openssl/crypto/rand/randfile.c:174,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:175,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 2
    argNames:
    - file
    - bytes
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 180
    functionName: RAND_load_file
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 0
    functionsReached:
    - fileno
    - RAND_status
    - fstat
    - ferror
    - clearerr
    - RAND_add
    - ERR_raise_data
    - fread
    - openssl_fopen
    - fclose
    - OPENSSL_cleanse
    - setbuf
    - S_ISREG
    linkageType: ''
    returnType: int
    signature: int RAND_load_file(const char *file, long bytes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/openssl/crypto/rand/randfile.c:190,1
    - Dst: S_ISREG
      Src: /src/openssl/crypto/rand/randfile.c:190,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:191,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/rand/randfile.c:198,1
    - Dst: open
      Src: /src/openssl/crypto/rand/randfile.c:211,1
    - Dst: fdopen
      Src: /src/openssl/crypto/rand/randfile.c:214,1
    - Dst: close
      Src: /src/openssl/crypto/rand/randfile.c:216,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:217,1
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/rand/randfile.c:243,1
    - Dst: openssl_fopen
      Src: /src/openssl/crypto/rand/randfile.c:247,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/randfile.c:249,1
    - Dst: chmod
      Src: /src/openssl/crypto/rand/randfile.c:258,1
    - Dst: fwrite
      Src: /src/openssl/crypto/rand/randfile.c:261,1
    - Dst: fclose
      Src: /src/openssl/crypto/rand/randfile.c:262,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/rand/randfile.c:263,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 265
    functionName: RAND_write_file
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 0
    functionsReached:
    - stat
    - S_ISREG
    - fdopen
    - fclose
    - fwrite
    - close
    - ERR_raise_data
    - chmod
    - openssl_fopen
    - open
    - OPENSSL_cleanse
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: int RAND_write_file(const char *file)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:278,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:280,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:281,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:283,1
    - Dst: _alloca
      Src: /src/openssl/crypto/rand/randfile.c:289,1
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/crypto/rand/randfile.c:291,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/rand/randfile.c:292,1
    - Dst: _alloca
      Src: /src/openssl/crypto/rand/randfile.c:294,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/crypto/rand/randfile.c:295,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/rand/randfile.c:301,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/rand/randfile.c:303,1
    - Dst: strlen
      Src: /src/openssl/crypto/rand/randfile.c:314,1
    - Dst: strcpy
      Src: /src/openssl/crypto/rand/randfile.c:318,1
    - Dst: strlen
      Src: /src/openssl/crypto/rand/randfile.c:320,1
    - Dst: strcpy
      Src: /src/openssl/crypto/rand/randfile.c:322,1
    - Dst: strcat
      Src: /src/openssl/crypto/rand/randfile.c:324,1
    - Dst: strcat
      Src: /src/openssl/crypto/rand/randfile.c:326,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 330
    functionName: RAND_file_name
    functionSourceFile: /src/openssl/crypto/rand/randfile.c
    functionUses: 0
    functionsReached:
    - strcpy
    - GetEnvironmentVariableW
    - WideCharToMultiByte
    - ossl_safe_getenv
    - _alloca
    - strcat
    - strlen
    linkageType: ''
    returnType: char
    signature: char *RAND_file_name(char *buf, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/rand/rand_uniform.c:33,1
    - Dst: ossl_unlikely
      Src: /src/openssl/crypto/rand/rand_uniform.c:37,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rand/rand_uniform.c:41,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/rand/rand_uniform.c:59,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rand/rand_uniform.c:77,1
    - Dst: ossl_likely
      Src: /src/openssl/crypto/rand/rand_uniform.c:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - ctx
    - upper
    - err
    argTypes:
    - OSSL_LIB_CTX*
    - uint32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 99
    functionName: ossl_rand_uniform_uint32
    functionSourceFile: /src/openssl/crypto/rand/rand_uniform.c
    functionUses: 3
    functionsReached:
    - ossl_assert
    - ossl_unlikely
    - RAND_bytes_ex
    - ossl_likely
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_rand_uniform_uint32(OSSL_LIB_CTX *ctx, uint32_t upper,
      int *err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/rand/rand_uniform.c:104,1
    - Dst: ossl_rand_uniform_uint32
      Src: /src/openssl/crypto/rand/rand_uniform.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - lower
    - upper
    - err
    argTypes:
    - OSSL_LIB_CTX*
    - uint32_t
    - uint32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: ossl_rand_range_uint32
    functionSourceFile: /src/openssl/crypto/rand/rand_uniform.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_rand_uniform_uint32
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ossl_rand_range_uint32(OSSL_LIB_CTX *ctx, uint32_t lower,
      uint32_t upper,\n                                int *err)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:25,1
    - Dst: RAND_POOL_MIN_ALLOCATION
      Src: /src/openssl/crypto/rand/rand_pool.c:26,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:39,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_pool.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - entropy_requested
    - secure
    - min_len
    - max_len
    argTypes:
    - int
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 53
    functionName: ossl_rand_pool_new
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - RAND_POOL_MIN_ALLOCATION
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_secure_zalloc
    linkageType: ''
    returnType: RAND_POOL
    signature: "RAND_POOL *ossl_rand_pool_new(int entropy_requested, int secure,\n
      \                             size_t min_len, size_t max_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - len
    - entropy
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: ossl_rand_pool_attach
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: RAND_POOL
    signature: "RAND_POOL *ossl_rand_pool_attach(const unsigned char *buffer, size_t
      len,\n                                 size_t entropy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/rand/rand_pool.c:101,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rand/rand_pool.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_pool.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: ossl_rand_pool_free
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_free(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ossl_rand_pool_buffer
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ossl_rand_pool_buffer(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: ossl_rand_pool_entropy
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_rand_pool_entropy(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: ossl_rand_pool_length
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_rand_pool_length(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: ossl_rand_pool_detach
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ossl_rand_pool_detach(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/rand/rand_pool.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - buffer
    argTypes:
    - RAND_POOL*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: ossl_rand_pool_reattach
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_reattach(RAND_POOL *pool, unsigned char *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bits
    - ','
    - entropy_factor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: ENTROPY_TO_BYTES
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTROPY_TO_BYTES(bits, entropy_factor)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: ossl_rand_pool_entropy_available
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_rand_pool_entropy_available(RAND_POOL *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: ossl_rand_pool_entropy_needed
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_rand_pool_entropy_needed(RAND_POOL *pool)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:207,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:216,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rand/rand_pool.c:218,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rand/rand_pool.c:221,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/rand/rand_pool.c:223,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rand/rand_pool.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pool
    - len
    argTypes:
    - RAND_POOL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 230
    functionName: rand_pool_grow
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_secure_zalloc
    - memcpy
    - OPENSSL_clear_free
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: int
    signature: int rand_pool_grow(RAND_POOL *pool, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_entropy_needed
      Src: /src/openssl/crypto/rand/rand_pool.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:244,1
    - Dst: ENTROPY_TO_BYTES
      Src: /src/openssl/crypto/rand/rand_pool.c:248,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/rand_pool.c:252,1
    - Dst: rand_pool_grow
      Src: /src/openssl/crypto/rand/rand_pool.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pool
    - entropy_factor
    argTypes:
    - RAND_POOL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 284
    functionName: ossl_rand_pool_bytes_needed
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_rand_pool_entropy_needed
    - rand_pool_grow
    - ERR_raise_data
    - ENTROPY_TO_BYTES
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_rand_pool_bytes_needed(RAND_POOL *pool, unsigned int entropy_factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: ossl_rand_pool_bytes_remaining
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_rand_pool_bytes_remaining(RAND_POOL *pool)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:324,1
    - Dst: rand_pool_grow
      Src: /src/openssl/crypto/rand/rand_pool.c:334,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rand/rand_pool.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - pool
    - buffer
    - len
    - entropy
    argTypes:
    - RAND_POOL*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 342
    functionName: ossl_rand_pool_add
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ERR_raise
    - rand_pool_grow
    linkageType: ''
    returnType: int
    signature: "int ossl_rand_pool_add(RAND_POOL *pool,\n                  const unsigned
      char *buffer, size_t len, size_t entropy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:367,1
    - Dst: rand_pool_grow
      Src: /src/openssl/crypto/rand/rand_pool.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pool
    - len
    argTypes:
    - RAND_POOL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 384
    functionName: ossl_rand_pool_add_begin
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - rand_pool_grow
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ossl_rand_pool_add_begin(RAND_POOL *pool, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pool
    - len
    - entropy
    argTypes:
    - RAND_POOL*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 408
    functionName: ossl_rand_pool_add_end
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_rand_pool_add_end(RAND_POOL *pool, size_t len, size_t entropy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_pool.c:434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - pool
    - adin
    - adin_len
    argTypes:
    - RAND_POOL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 447
    functionName: ossl_rand_pool_adin_mix_in
    functionSourceFile: /src/openssl/crypto/rand/rand_pool.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_rand_pool_adin_mix_in(RAND_POOL *pool, const unsigned char
      *adin,\n                               size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/crypto/rand/rand_lib.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: rand_get_global
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: RAND_GLOBAL
    signature: RAND_GLOBAL *rand_get_global(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:110,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/rand/rand_lib.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dgbl
    - name
    argTypes:
    - RAND_GLOBAL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: set_random_provider_name
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int set_random_provider_name(RAND_GLOBAL *dgbl, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/rand/rand_lib.c:131,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/rand/rand_lib.c:137,1
    - Dst: ossl_rand_pool_init
      Src: /src/openssl/crypto/rand/rand_lib.c:142,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rand/rand_lib.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 158
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_lock_new
    - ossl_rand_pool_init
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_rand_init)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_METHOD*::cleanup
      Src: /src/openssl/crypto/rand/rand_lib.c:169,1
    - Dst: RAND_set_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:170,1
    - Dst: ossl_rand_pool_cleanup
      Src: /src/openssl/crypto/rand/rand_lib.c:172,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rand/rand_lib.c:174,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rand/rand_lib.c:178,1
    - Dst: ossl_release_default_drbg_ctx
      Src: /src/openssl/crypto/rand/rand_lib.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: ossl_rand_cleanup_int
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - ossl_rand_pool_cleanup
    - RAND_METHOD*::cleanup
    - ossl_release_default_drbg_ctx
    - RAND_set_rand_method
    linkageType: ''
    returnType: void
    signature: void ossl_rand_cleanup_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/rand/rand_lib.c:192,1
    - Dst: ossl_rand_pool_keep_random_devices_open
      Src: /src/openssl/crypto/rand/rand_lib.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: RAND_keep_random_devices_open
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - ossl_rand_pool_keep_random_devices_open
    - RUN_ONCE
    linkageType: ''
    returnType: void
    signature: void RAND_keep_random_devices_open(int keep)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:208,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/rand/rand_lib.c:209,1
    - Dst: ossl_rand_pool_new
      Src: /src/openssl/crypto/rand/rand_lib.c:216,1
    - Dst: ossl_pool_acquire_entropy
      Src: /src/openssl/crypto/rand/rand_lib.c:223,1
    - Dst: RAND_METHOD*::add
      Src: /src/openssl/crypto/rand/rand_lib.c:227,1
    - Dst: ossl_rand_pool_buffer
      Src: /src/openssl/crypto/rand/rand_lib.c:227,1
    - Dst: ossl_rand_pool_length
      Src: /src/openssl/crypto/rand/rand_lib.c:228,1
    - Dst: ossl_rand_pool_entropy
      Src: /src/openssl/crypto/rand/rand_lib.c:229,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/crypto/rand/rand_lib.c:234,1
    - Dst: RAND_seed
      Src: /src/openssl/crypto/rand/rand_lib.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 241
    functionName: RAND_poll
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - ossl_pool_acquire_entropy
    - ossl_rand_pool_buffer
    - ossl_rand_pool_length
    - ossl_rand_pool_new
    - RAND_OpenSSL
    - ossl_rand_pool_free
    - ossl_rand_pool_entropy
    - RAND_get_rand_method
    - RAND_seed
    - RAND_METHOD*::add
    linkageType: ''
    returnType: int
    signature: int RAND_poll(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/rand/rand_lib.c:247,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:250,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/rand/rand_lib.c:253,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - meth
    - e
    argTypes:
    - RAND_METHOD*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: rand_set_rand_method_internal
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    - RUN_ONCE
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int rand_set_rand_method_internal(const RAND_METHOD *meth,\n                                         ossl_unused
      ENGINE *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_set_rand_method_internal
      Src: /src/openssl/crypto/rand/rand_lib.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RAND_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: RAND_set_rand_method
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - rand_set_rand_method_internal
    linkageType: ''
    returnType: int
    signature: int RAND_set_rand_method(const RAND_METHOD *meth)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/rand/rand_lib.c:270,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:276,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:279,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:283,1
    - Dst: ENGINE_get_default_RAND
      Src: /src/openssl/crypto/rand/rand_lib.c:290,1
    - Dst: ENGINE_get_RAND
      Src: /src/openssl/crypto/rand/rand_lib.c:291,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/rand/rand_lib.c:295,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 305
    functionName: RAND_get_rand_method
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - ENGINE_get_default_RAND
    - RUN_ONCE
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - ENGINE_finish
    - CRYPTO_THREAD_unlock
    - ENGINE_get_RAND
    linkageType: ''
    returnType: RAND_METHOD
    signature: RAND_METHOD *RAND_get_rand_method(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/rand/rand_lib.c:312,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/rand/rand_lib.c:316,1
    - Dst: ENGINE_get_RAND
      Src: /src/openssl/crypto/rand/rand_lib.c:318,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/rand/rand_lib.c:320,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:324,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/rand/rand_lib.c:325,1
    - Dst: rand_set_rand_method_internal
      Src: /src/openssl/crypto/rand/rand_lib.c:330,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 333
    functionName: RAND_set_rand_engine
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - ENGINE_init
    - rand_set_rand_method_internal
    - CRYPTO_THREAD_write_lock
    - ENGINE_finish
    - CRYPTO_THREAD_unlock
    - ENGINE_get_RAND
    linkageType: ''
    returnType: int
    signature: int RAND_set_rand_engine(ENGINE *engine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:341,1
    - Dst: RAND_METHOD*::seed
      Src: /src/openssl/crypto/rand/rand_lib.c:344,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:349,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/crypto/rand/rand_lib.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: RAND_seed
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - EVP_RAND_reseed
    - RAND_get0_primary
    - RAND_get_rand_method
    - RAND_METHOD*::seed
    linkageType: ''
    returnType: void
    signature: void RAND_seed(const void *buf, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:358,1
    - Dst: RAND_METHOD*::add
      Src: /src/openssl/crypto/rand/rand_lib.c:361,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:365,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/crypto/rand/rand_lib.c:369,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/crypto/rand/rand_lib.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - num
    - randomness
    argTypes:
    - void*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 374
    functionName: RAND_add
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 2
    functionsReached:
    - EVP_RAND_reseed
    - RAND_get0_primary
    - RAND_get_rand_method
    - RAND_METHOD*::add
    linkageType: ''
    returnType: void
    signature: void RAND_add(const void *buf, int num, double randomness)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:379,1
    - Dst: RAND_METHOD*::pseudorand
      Src: /src/openssl/crypto/rand/rand_lib.c:382,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: RAND_pseudo_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - RAND_get_rand_method
    - RAND_METHOD*::pseudorand
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int RAND_pseudo_bytes(unsigned char *buf, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:392,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/rand/rand_lib.c:394,1
    - Dst: RAND_METHOD*::status
      Src: /src/openssl/crypto/rand/rand_lib.c:395,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:398,1
    - Dst: EVP_RAND_get_state
      Src: /src/openssl/crypto/rand/rand_lib.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: RAND_status
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 2
    functionsReached:
    - RAND_OpenSSL
    - RAND_METHOD*::status
    - RAND_get0_primary
    - RAND_get_rand_method
    - EVP_RAND_get_state
    linkageType: ''
    returnType: int
    signature: int RAND_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: RAND_get_rand_method
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: RAND_METHOD
    signature: RAND_METHOD *RAND_get_rand_method(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:423,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/rand/rand_lib.c:425,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:427,1
    - Dst: RAND_METHOD*::bytes
      Src: /src/openssl/crypto/rand/rand_lib.c:431,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:432,1
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:437,1
    - Dst: ossl_provider_random_bytes
      Src: /src/openssl/crypto/rand/rand_lib.c:442,1
    - Dst: rand_get0_private
      Src: /src/openssl/crypto/rand/rand_lib.c:446,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/crypto/rand/rand_lib.c:448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - buf
    - num
    - strength
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 451
    functionName: RAND_priv_bytes_ex
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 13
    functionsReached:
    - ossl_provider_random_bytes
    - ERR_raise
    - RAND_OpenSSL
    - rand_get_global
    - rand_get0_private
    - RAND_get_rand_method
    - RAND_METHOD*::bytes
    - EVP_RAND_generate
    linkageType: ''
    returnType: int
    signature: "int RAND_priv_bytes_ex(OSSL_LIB_CTX *ctx, unsigned char *buf, size_t
      num,\n                       unsigned int strength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 7
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: RAND_priv_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 6
    functionsReached:
    - RAND_priv_bytes_ex
    linkageType: ''
    returnType: int
    signature: int RAND_priv_bytes(unsigned char *buf, int num)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/crypto/rand/rand_lib.c:466,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/rand/rand_lib.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:470,1
    - Dst: RAND_METHOD*::bytes
      Src: /src/openssl/crypto/rand/rand_lib.c:474,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:475,1
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:480,1
    - Dst: ossl_provider_random_bytes
      Src: /src/openssl/crypto/rand/rand_lib.c:485,1
    - Dst: rand_get0_public
      Src: /src/openssl/crypto/rand/rand_lib.c:490,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/crypto/rand/rand_lib.c:492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - buf
    - num
    - strength
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 460
    functionDepth: 6
    functionLinenumber: 460
    functionLinenumberEnd: 495
    functionName: RAND_bytes_ex
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 18
    functionsReached:
    - ossl_provider_random_bytes
    - rand_get0_public
    - ERR_raise
    - RAND_OpenSSL
    - rand_get_global
    - RAND_get_rand_method
    - RAND_METHOD*::bytes
    - EVP_RAND_generate
    linkageType: ''
    returnType: int
    signature: "int RAND_bytes_ex(OSSL_LIB_CTX *ctx, unsigned char *buf, size_t num,\n
      \                 unsigned int strength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 7
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: RAND_bytes
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 9
    functionsReached:
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: int RAND_bytes(unsigned char *buf, int num)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rand/rand_lib.c:510,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/rand/rand_lib.c:520,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/rand/rand_lib.c:523,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/rand/rand_lib.c:528,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rand/rand_lib.c:535,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:538,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 542
    functionName: ossl_rand_ctx_new
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - OPENSSL_strdup
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: void *ossl_rand_ctx_new(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rand/rand_lib.c:551,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:552,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:553,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:555,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:557,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:558,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:559,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:560,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:561,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:562,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - vdgbl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 544
    functionDepth: 5
    functionLinenumber: 544
    functionLinenumberEnd: 565
    functionName: ossl_rand_ctx_free
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    - EVP_RAND_CTX_free
    linkageType: ''
    returnType: void
    signature: void ossl_rand_ctx_free(void *vdgbl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:570,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:576,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:577,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:578,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:580,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:581,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 567
    functionDepth: 6
    functionLinenumber: 567
    functionLinenumberEnd: 583
    functionName: rand_delete_thread_state
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_get_local_ex
    - EVP_RAND_CTX_free
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: void
    signature: void rand_delete_thread_state(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:593,1
    - Dst: OPENSSL_MSTR
      Src: /src/openssl/crypto/rand/rand_lib.c:599,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/crypto/rand/rand_lib.c:605,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:607,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/crypto/rand/rand_lib.c:610,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/crypto/rand/rand_lib.c:611,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:613,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/crypto/rand/rand_lib.c:616,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:617,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 586
    functionDepth: 10
    functionLinenumber: 586
    functionLinenumberEnd: 624
    functionName: rand_new_seed
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_fetch
    - EVP_RAND_free
    - ERR_raise
    - OPENSSL_MSTR
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - rand_get_global
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *rand_new_seed(OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:630,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:636,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 628
    functionDepth: 6
    functionLinenumber: 628
    functionLinenumberEnd: 641
    functionName: ossl_rand_get0_seed_noncreating
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *ossl_rand_get0_seed_noncreating(OSSL_LIB_CTX *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:649,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/crypto/rand/rand_lib.c:660,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:662,1
    - Dst: ossl_provider_name
      Src: /src/openssl/crypto/rand/rand_lib.c:665,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/crypto/rand/rand_lib.c:665,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/crypto/rand/rand_lib.c:666,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/crypto/rand/rand_lib.c:667,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:669,1
    - Dst: EVP_RAND_CTX_settable_params
      Src: /src/openssl/crypto/rand/rand_lib.c:673,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rand/rand_lib.c:674,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:676,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rand/rand_lib.c:680,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:681,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:684,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:687,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rand/rand_lib.c:689,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rand/rand_lib.c:690,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rand/rand_lib.c:691,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/rand/rand_lib.c:692,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/crypto/rand/rand_lib.c:693,1
    - Dst: OSSL_PARAM_construct_time_t
      Src: /src/openssl/crypto/rand/rand_lib.c:695,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rand/rand_lib.c:697,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/crypto/rand/rand_lib.c:698,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:699,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:700,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - libctx
    - parent
    - reseed_interval
    - reseed_time_interval
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_RAND_CTX*
    - unsigned int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 644
    functionDepth: 10
    functionLinenumber: 644
    functionLinenumberEnd: 704
    functionName: rand_new_drbg
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_RAND_fetch
    - EVP_RAND_free
    - ERR_raise
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - EVP_RAND_CTX_settable_params
    - rand_get_global
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_time_t
    - EVP_RAND_get0_provider
    - OSSL_PARAM_construct_end
    - ossl_provider_name
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: "EVP_RAND_CTX *rand_new_drbg(OSSL_LIB_CTX *libctx, EVP_RAND_CTX *parent,\n
      \                                  unsigned int reseed_interval,\n                                   time_t
      reseed_time_interval)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/crypto/rand/rand_lib.c:712,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:714,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/crypto/rand/rand_lib.c:717,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/crypto/rand/rand_lib.c:718,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:720,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/crypto/rand/rand_lib.c:724,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:725,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - libctx
    - parent
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 707
    functionDepth: 10
    functionLinenumber: 707
    functionLinenumberEnd: 730
    functionName: rand_new_crngt
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_free
    - EVP_RAND_fetch
    - ERR_raise
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *rand_new_crngt(OSSL_LIB_CTX *libctx, EVP_RAND_CTX *parent)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:745,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:750,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/rand/rand_lib.c:758,1
    - Dst: rand_new_seed
      Src: /src/openssl/crypto/rand/rand_lib.c:759,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/rand/rand_lib.c:760,1
    - Dst: rand_new_crngt
      Src: /src/openssl/crypto/rand/rand_lib.c:766,1
    - Dst: rand_new_drbg
      Src: /src/openssl/crypto/rand/rand_lib.c:768,1
    - Dst: EVP_RAND_enable_locking
      Src: /src/openssl/crypto/rand/rand_lib.c:776,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:778,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:779,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/rand/rand_lib.c:787,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:792,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:793,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:794,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rand/rand_lib.c:800,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - dgbl
    argTypes:
    - OSSL_LIB_CTX*
    - RAND_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 738
    functionDepth: 11
    functionLinenumber: 738
    functionLinenumberEnd: 803
    functionName: rand_get0_primary
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_new_drbg
    - EVP_RAND_enable_locking
    - ERR_raise
    - EVP_RAND_CTX_free
    - ERR_pop_to_mark
    - CRYPTO_THREAD_read_lock
    - ERR_set_mark
    - CRYPTO_THREAD_write_lock
    - rand_new_crngt
    - CRYPTO_THREAD_unlock
    - rand_new_seed
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *rand_get0_primary(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:812,1
    - Dst: rand_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 810
    functionDepth: 12
    functionLinenumber: 810
    functionLinenumberEnd: 815
    functionName: RAND_get0_primary
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 5
    functionsReached:
    - rand_get_global
    - rand_get0_primary
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *RAND_get0_primary(OSSL_LIB_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/rand/rand_lib.c:822,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:830,1
    - Dst: rand_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:832,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:840,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/rand/rand_lib.c:841,1
    - Dst: rand_new_drbg
      Src: /src/openssl/crypto/rand/rand_lib.c:843,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:845,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:846,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - dgbl
    argTypes:
    - OSSL_LIB_CTX*
    - RAND_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 817
    functionDepth: 12
    functionLinenumber: 817
    functionLinenumberEnd: 851
    functionName: rand_get0_public
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - rand_new_drbg
    - rand_get0_primary
    - EVP_RAND_CTX_free
    - ossl_lib_ctx_get_concrete
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *rand_get0_public(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:859,1
    - Dst: rand_get0_public
      Src: /src/openssl/crypto/rand/rand_lib.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 857
    functionDepth: 13
    functionLinenumber: 857
    functionLinenumberEnd: 862
    functionName: RAND_get0_public
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - rand_get0_public
    - rand_get_global
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *RAND_get0_public(OSSL_LIB_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_concrete
      Src: /src/openssl/crypto/rand/rand_lib.c:869,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:873,1
    - Dst: rand_get0_primary
      Src: /src/openssl/crypto/rand/rand_lib.c:875,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:883,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/rand/rand_lib.c:884,1
    - Dst: rand_new_drbg
      Src: /src/openssl/crypto/rand/rand_lib.c:886,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:888,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - dgbl
    argTypes:
    - OSSL_LIB_CTX*
    - RAND_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 864
    functionDepth: 12
    functionLinenumber: 864
    functionLinenumberEnd: 894
    functionName: rand_get0_private
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - rand_new_drbg
    - rand_get0_primary
    - EVP_RAND_CTX_free
    - ossl_lib_ctx_get_concrete
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *rand_get0_private(OSSL_LIB_CTX *ctx, RAND_GLOBAL *dgbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:902,1
    - Dst: rand_get0_private
      Src: /src/openssl/crypto/rand/rand_lib.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 900
    functionDepth: 13
    functionLinenumber: 900
    functionLinenumberEnd: 905
    functionName: RAND_get0_private
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get0_private
    - rand_get_global
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *RAND_get0_private(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:910,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 908
    functionDepth: 6
    functionLinenumber: 908
    functionLinenumberEnd: 916
    functionName: ossl_rand_get0_private_noncreating
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_get_local_ex
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *ossl_rand_get0_private_noncreating(OSSL_LIB_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:921,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:927,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:928,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - rand
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 919
    functionDepth: 6
    functionLinenumber: 919
    functionLinenumberEnd: 931
    functionName: RAND_set0_public
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_get_local_ex
    - EVP_RAND_CTX_free
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: int
    signature: int RAND_set0_public(OSSL_LIB_CTX *ctx, EVP_RAND_CTX *rand)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:935,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:941,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/rand/rand_lib.c:942,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/crypto/rand/rand_lib.c:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - rand
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 933
    functionDepth: 6
    functionLinenumber: 933
    functionLinenumberEnd: 945
    functionName: RAND_set0_private
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - rand_get_global
    - CRYPTO_THREAD_get_local_ex
    - EVP_RAND_CTX_free
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: int
    signature: int RAND_set0_private(OSSL_LIB_CTX *ctx, EVP_RAND_CTX *rand)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/rand/rand_lib.c:953,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 960
    functionName: random_set_string
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int random_set_string(char **p, const char *s)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rand/rand_lib.c:967,1
    - Dst: NCONF_get0_libctx
      Src: /src/openssl/crypto/rand/rand_lib.c:969,1
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:970,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/rand/rand_lib.c:973,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/rand/rand_lib.c:974,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/rand/rand_lib.c:977,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/rand/rand_lib.c:977,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:979,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/rand/rand_lib.c:986,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/rand/rand_lib.c:987,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:988,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:989,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:991,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:992,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:994,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:995,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:997,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:998,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:1000,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1001,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:1003,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1004,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rand/rand_lib.c:1006,1
    - Dst: ossl_provider_find
      Src: /src/openssl/crypto/rand/rand_lib.c:1008,1
    - Dst: RAND_set1_random_provider
      Src: /src/openssl/crypto/rand/rand_lib.c:1011,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:1012,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/crypto/rand/rand_lib.c:1013,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/crypto/rand/rand_lib.c:1027,1
    - Dst: set_random_provider_name
      Src: /src/openssl/crypto/rand/rand_lib.c:1028,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rand/rand_lib.c:1032,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 965
    functionDepth: 7
    functionLinenumber: 965
    functionLinenumberEnd: 1039
    functionName: random_conf_init
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - ERR_raise
    - OPENSSL_strcasecmp
    - RAND_set1_random_provider
    - rand_get_global
    - sk_CONF_VALUE_num
    - NCONF_get0_libctx
    - ossl_provider_find
    - ERR_raise_data
    - NCONF_get_section
    - STACK_OF
    - CONF_imodule_get_value
    - random_set_string
    - OSSL_PROVIDER_unload
    - set_random_provider_name
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int random_conf_init(CONF_IMODULE *md, const CONF *cnf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/rand/rand_lib.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1045
    functionName: random_conf_deinit
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    linkageType: ''
    returnType: void
    signature: void random_conf_deinit(CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/crypto/rand/rand_lib.c:1049,1
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/rand/rand_lib.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1051
    functionName: ossl_random_add_conf_module
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: void ossl_random_add_conf_module(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:1056,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:1061,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1064,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1065,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1066,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - drbg
    - propq
    - cipher
    - digest
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1053
    functionDepth: 6
    functionLinenumber: 1053
    functionLinenumberEnd: 1068
    functionName: RAND_set_DRBG_type
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - random_set_string
    - rand_get_global
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int RAND_set_DRBG_type(OSSL_LIB_CTX *ctx, const char *drbg, const
      char *propq,\n                       const char *cipher, const char *digest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:1073,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/rand_lib.c:1078,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1081,1
    - Dst: random_set_string
      Src: /src/openssl/crypto/rand/rand_lib.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - seed
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1070
    functionDepth: 6
    functionLinenumber: 1070
    functionLinenumberEnd: 1083
    functionName: RAND_set_seed_source_type
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 0
    functionsReached:
    - random_set_string
    - rand_get_global
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int RAND_set_seed_source_type(OSSL_LIB_CTX *ctx, const char *seed,\n
      \                             const char *propq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:1087,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/rand_lib.c:1093,1
    - Dst: set_random_provider_name
      Src: /src/openssl/crypto/rand/rand_lib.c:1102,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/rand/rand_lib.c:1102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - prov
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1085
    functionDepth: 6
    functionLinenumber: 1085
    functionLinenumberEnd: 1107
    functionName: RAND_set1_random_provider
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - rand_get_global
    - set_random_provider_name
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: int
    signature: int RAND_set1_random_provider(OSSL_LIB_CTX *ctx, OSSL_PROVIDER *prov)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:1116,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rand/rand_lib.c:1126,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/crypto/rand/rand_lib.c:1126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - prov
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1113
    functionDepth: 6
    functionLinenumber: 1113
    functionLinenumberEnd: 1131
    functionName: ossl_rand_check_random_provider_on_load
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - rand_get_global
    linkageType: ''
    returnType: int
    signature: "int ossl_rand_check_random_provider_on_load(OSSL_LIB_CTX *ctx,\n                                            OSSL_PROVIDER
      *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_get_global
      Src: /src/openssl/crypto/rand/rand_lib.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - prov
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1137
    functionDepth: 6
    functionLinenumber: 1137
    functionLinenumberEnd: 1148
    functionName: ossl_rand_check_random_provider_on_unload
    functionSourceFile: /src/openssl/crypto/rand/rand_lib.c
    functionUses: 1
    functionsReached:
    - rand_get_global
    linkageType: ''
    returnType: int
    signature: "int ossl_rand_check_random_provider_on_unload(OSSL_LIB_CTX *ctx,\n
      \                                             OSSL_PROVIDER *prov)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_new
      Src: /src/openssl/crypto/rand/prov_seed.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/prov_seed.c:28,1
    - Dst: ossl_pool_acquire_entropy
      Src: /src/openssl/crypto/rand/prov_seed.c:33,1
    - Dst: ossl_rand_pool_length
      Src: /src/openssl/crypto/rand/prov_seed.c:36,1
    - Dst: ossl_rand_pool_detach
      Src: /src/openssl/crypto/rand/prov_seed.c:37,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/crypto/rand/prov_seed.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - OSSL_LIB_CTX *ctx
    - pout
    - entropy
    - min_len
    - max_len
    argTypes:
    - ossl_unused
    - unsigned char**
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: ossl_rand_get_entropy
    functionSourceFile: /src/openssl/crypto/rand/prov_seed.c
    functionUses: 1
    functionsReached:
    - ossl_pool_acquire_entropy
    - ossl_rand_pool_length
    - ERR_raise
    - ossl_rand_pool_new
    - ossl_rand_pool_detach
    - ossl_rand_pool_free
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_rand_get_entropy(ossl_unused OSSL_LIB_CTX *ctx,\n                             unsigned
      char **pout, int entropy,\n                             size_t min_len, size_t
      max_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get0_seed_noncreating
      Src: /src/openssl/crypto/rand/prov_seed.c:48,1
    - Dst: evp_rand_can_seed
      Src: /src/openssl/crypto/rand/prov_seed.c:50,1
    - Dst: evp_rand_get_seed
      Src: /src/openssl/crypto/rand/prov_seed.c:51,1
    - Dst: ossl_rand_get_entropy
      Src: /src/openssl/crypto/rand/prov_seed.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - pout
    - entropy
    - min_len
    - max_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char**
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 7
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: ossl_rand_get_user_entropy
    functionSourceFile: /src/openssl/crypto/rand/prov_seed.c
    functionUses: 1
    functionsReached:
    - ossl_rand_get_entropy
    - evp_rand_get_seed
    - ossl_rand_get0_seed_noncreating
    - evp_rand_can_seed
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_rand_get_user_entropy(OSSL_LIB_CTX *ctx,\n                                  unsigned
      char **pout, int entropy,\n                                  size_t min_len,
      size_t max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/rand/prov_seed.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - OSSL_LIB_CTX *ctx
    - buf
    - len
    argTypes:
    - ossl_unused
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: ossl_rand_cleanup_entropy
    functionSourceFile: /src/openssl/crypto/rand/prov_seed.c
    functionUses: 1
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: "void ossl_rand_cleanup_entropy(ossl_unused OSSL_LIB_CTX *ctx,\n                               unsigned
      char *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get0_seed_noncreating
      Src: /src/openssl/crypto/rand/prov_seed.c:66,1
    - Dst: evp_rand_can_seed
      Src: /src/openssl/crypto/rand/prov_seed.c:68,1
    - Dst: evp_rand_clear_seed
      Src: /src/openssl/crypto/rand/prov_seed.c:69,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/crypto/rand/prov_seed.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: ossl_rand_cleanup_user_entropy
    functionSourceFile: /src/openssl/crypto/rand/prov_seed.c
    functionUses: 1
    functionsReached:
    - evp_rand_clear_seed
    - OPENSSL_secure_clear_free
    - ossl_rand_get0_seed_noncreating
    - evp_rand_can_seed
    linkageType: ''
    returnType: void
    signature: "void ossl_rand_cleanup_user_entropy(OSSL_LIB_CTX *ctx,\n                                    unsigned
      char *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_new
      Src: /src/openssl/crypto/rand/prov_seed.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rand/prov_seed.c:84,1
    - Dst: ossl_pool_add_nonce_data
      Src: /src/openssl/crypto/rand/prov_seed.c:88,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/crypto/rand/prov_seed.c:91,1
    - Dst: ossl_rand_pool_length
      Src: /src/openssl/crypto/rand/prov_seed.c:93,1
    - Dst: ossl_rand_pool_detach
      Src: /src/openssl/crypto/rand/prov_seed.c:94,1
    - Dst: ossl_rand_pool_free
      Src: /src/openssl/crypto/rand/prov_seed.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - OSSL_LIB_CTX *ctx
    - pout
    - min_len
    - max_len
    - salt
    - salt_len
    argTypes:
    - ossl_unused
    - unsigned char**
    - size_t
    - ossl_unused
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: ossl_rand_get_nonce
    functionSourceFile: /src/openssl/crypto/rand/prov_seed.c
    functionUses: 1
    functionsReached:
    - ossl_rand_pool_length
    - ERR_raise
    - ossl_rand_pool_new
    - ossl_rand_pool_detach
    - ossl_pool_add_nonce_data
    - ossl_rand_pool_free
    - ossl_rand_pool_add
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_rand_get_nonce(ossl_unused OSSL_LIB_CTX *ctx,\n                           unsigned
      char **pout,\n                           size_t min_len, ossl_unused size_t
      max_len,\n                           const void *salt, size_t salt_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get0_seed_noncreating
      Src: /src/openssl/crypto/rand/prov_seed.c:106,1
    - Dst: ossl_rand_get_nonce
      Src: /src/openssl/crypto/rand/prov_seed.c:109,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rand/prov_seed.c:111,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/crypto/rand/prov_seed.c:114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rand/prov_seed.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - pout
    - min_len
    - max_len
    - salt
    - salt_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char**
    - size_t
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 7
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: ossl_rand_get_user_nonce
    functionSourceFile: /src/openssl/crypto/rand/prov_seed.c
    functionUses: 1
    functionsReached:
    - ossl_rand_get0_seed_noncreating
    - OPENSSL_free
    - EVP_RAND_generate
    - ossl_rand_get_nonce
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_rand_get_user_nonce(OSSL_LIB_CTX *ctx,\n                                unsigned
      char **pout,\n                                size_t min_len, size_t max_len,\n
      \                               const void *salt, size_t salt_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rand/prov_seed.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - OSSL_LIB_CTX *ctx
    - buf
    - len
    argTypes:
    - ossl_unused
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: ossl_rand_cleanup_nonce
    functionSourceFile: /src/openssl/crypto/rand/prov_seed.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: "void ossl_rand_cleanup_nonce(ossl_unused OSSL_LIB_CTX *ctx,\n                             unsigned
      char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rand/prov_seed.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - OSSL_LIB_CTX *ctx
    - buf
    - len
    argTypes:
    - ossl_unused
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: ossl_rand_cleanup_user_nonce
    functionSourceFile: /src/openssl/crypto/rand/prov_seed.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: "void ossl_rand_cleanup_user_nonce(ossl_unused OSSL_LIB_CTX *ctx,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_poll
      Src: /src/openssl/crypto/rand/rand_deprecated.c:22,1
    - Dst: RAND_status
      Src: /src/openssl/crypto/rand/rand_deprecated.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - iMsg
    - wParam
    - lParam
    argTypes:
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: RAND_event
    functionSourceFile: /src/openssl/crypto/rand/rand_deprecated.c
    functionUses: 0
    functionsReached:
    - RAND_poll
    - RAND_status
    linkageType: ''
    returnType: int
    signature: int RAND_event(UINT iMsg, WPARAM wParam, LPARAM lParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_poll
      Src: /src/openssl/crypto/rand/rand_deprecated.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: RAND_screen
    functionSourceFile: /src/openssl/crypto/rand/rand_deprecated.c
    functionUses: 0
    functionsReached:
    - RAND_poll
    linkageType: ''
    returnType: void
    signature: void RAND_screen(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: ERR_load_KDF_strings
    functionSourceFile: /src/openssl/crypto/kdf/kdf_err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ERR_load_KDF_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/tasn_scn.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: ASN1_SCTX_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_scn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_SCTX
    signature: ASN1_SCTX *ASN1_SCTX_new(int (*scan_cb) (ASN1_SCTX *ctx))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_scn.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ASN1_SCTX_free
    functionSourceFile: /src/openssl/crypto/asn1/tasn_scn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ASN1_SCTX_free(ASN1_SCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: ASN1_SCTX_get_item
    functionSourceFile: /src/openssl/crypto/asn1/tasn_scn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_ITEM
    signature: ASN1_ITEM *ASN1_SCTX_get_item(ASN1_SCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ASN1_SCTX_get_template
    functionSourceFile: /src/openssl/crypto/asn1/tasn_scn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TEMPLATE
    signature: ASN1_TEMPLATE *ASN1_SCTX_get_template(ASN1_SCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ASN1_SCTX_get_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_scn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - data
    argTypes:
    - ASN1_SCTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ASN1_SCTX_set_app_data
    functionSourceFile: /src/openssl/crypto/asn1/tasn_scn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_SCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ASN1_SCTX_get_app_data
    functionSourceFile: /src/openssl/crypto/asn1/tasn_scn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ASN1_SCTX_get_app_data(ASN1_SCTX *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/bio_ndef.c:67,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/bio_ndef.c:70,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/bio_ndef.c:71,1
    - Dst: BIO_f_asn1
      Src: /src/openssl/crypto/asn1/bio_ndef.c:71,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/asn1/bio_ndef.c:76,1
    - Dst: BIO_asn1_set_prefix
      Src: /src/openssl/crypto/asn1/bio_ndef.c:81,1
    - Dst: BIO_asn1_set_suffix
      Src: /src/openssl/crypto/asn1/bio_ndef.c:82,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_ndef.c:83,1
    - Dst: ASN1_AUX*::asn1_cb
      Src: /src/openssl/crypto/asn1/bio_ndef.c:99,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/bio_ndef.c:123,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/bio_ndef.c:124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/bio_ndef.c:125,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - out
    - val
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 127
    functionName: BIO_new_NDEF
    functionSourceFile: /src/openssl/crypto/asn1/bio_ndef.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - OPENSSL_zalloc
    - ERR_raise
    - BIO_f_asn1
    - BIO_ctrl
    - ASN1_AUX*::asn1_cb
    - BIO_asn1_set_prefix
    - BIO_free
    - OPENSSL_free
    - BIO_push
    - BIO_asn1_set_suffix
    - BIO_pop
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ndef_i2d
      Src: /src/openssl/crypto/asn1/bio_ndef.c:140,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/bio_ndef.c:143,1
    - Dst: ASN1_item_ndef_i2d
      Src: /src/openssl/crypto/asn1/bio_ndef.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - b
    - pbuf
    - plen
    - parg
    argTypes:
    - BIO*
    - unsigned char**
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 156
    functionName: ndef_prefix
    functionSourceFile: /src/openssl/crypto/asn1/bio_ndef.c
    functionUses: 0
    functionsReached:
    - ASN1_item_ndef_i2d
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ndef_prefix(BIO *b, unsigned char **pbuf, int *plen, void *parg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/bio_ndef.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - b
    - pbuf
    - plen
    - parg
    argTypes:
    - BIO*
    - unsigned char**
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: ndef_prefix_free
    functionSourceFile: /src/openssl/crypto/asn1/bio_ndef.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int ndef_prefix_free(BIO *b, unsigned char **pbuf, int *plen,\n                            void
      *parg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndef_prefix_free
      Src: /src/openssl/crypto/asn1/bio_ndef.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/bio_ndef.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - b
    - pbuf
    - plen
    - parg
    argTypes:
    - BIO*
    - unsigned char**
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: ndef_suffix_free
    functionSourceFile: /src/openssl/crypto/asn1/bio_ndef.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ndef_prefix_free
    linkageType: ''
    returnType: int
    signature: "int ndef_suffix_free(BIO *b, unsigned char **pbuf, int *plen,\n                            void
      *parg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_AUX*::asn1_cb
      Src: /src/openssl/crypto/asn1/bio_ndef.c:209,1
    - Dst: ASN1_item_ndef_i2d
      Src: /src/openssl/crypto/asn1/bio_ndef.c:213,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/bio_ndef.c:216,1
    - Dst: ASN1_item_ndef_i2d
      Src: /src/openssl/crypto/asn1/bio_ndef.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - b
    - pbuf
    - plen
    - parg
    argTypes:
    - BIO*
    - unsigned char**
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 229
    functionName: ndef_suffix
    functionSourceFile: /src/openssl/crypto/asn1/bio_ndef.c
    functionUses: 0
    functionsReached:
    - ASN1_AUX*::asn1_cb
    - ASN1_item_ndef_i2d
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ndef_suffix(BIO *b, unsigned char **pbuf, int *plen, void *parg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/x_pkey.c:20,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/x_pkey.c:24,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/asn1/x_pkey.c:25,1
    - Dst: X509_PKEY_free
      Src: /src/openssl/crypto/asn1/x_pkey.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_pkey.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 33
    functionName: X509_PKEY_new
    functionSourceFile: /src/openssl/crypto/asn1/x_pkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - X509_PKEY_free
    - X509_ALGOR_new
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: X509_PKEY
    signature: X509_PKEY *X509_PKEY_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/x_pkey.c:40,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/asn1/x_pkey.c:41,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/x_pkey.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/x_pkey.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/x_pkey.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: X509_PKEY_free
    functionSourceFile: /src/openssl/crypto/asn1/x_pkey.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - X509_ALGOR_free
    - EVP_PKEY_free
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: void X509_PKEY_free(X509_PKEY *x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/asn1/d2i_param.c:24,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/asn1/d2i_param.c:29,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/asn1/d2i_param.c:29,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_param.c:33,1
    - Dst: EVP_PKEY*::ameth::param_decode
      Src: /src/openssl/crypto/asn1/d2i_param.c:37,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_param.c:45,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 4
    argNames:
    - type
    - a
    - pp
    - length
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: d2i_KeyParams
    functionSourceFile: /src/openssl/crypto/asn1/d2i_param.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_get_id
    - EVP_PKEY_free
    - EVP_PKEY*::ameth::param_decode
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_KeyParams(int type, EVP_PKEY **a, const unsigned char
      **pp,\n                        long length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/crypto/asn1/d2i_param.c:56,1
    - Dst: d2i_KeyParams
      Src: /src/openssl/crypto/asn1/d2i_param.c:61,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/asn1/d2i_param.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - type
    - a
    - in
    argTypes:
    - int
    - EVP_PKEY**
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: d2i_KeyParams_bio
    functionSourceFile: /src/openssl/crypto/asn1/d2i_param.c
    functionUses: 0
    functionsReached:
    - d2i_KeyParams
    - BUF_MEM_free
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *d2i_KeyParams_bio(int type, EVP_PKEY **a, BIO *in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_digest.c:34,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_digest.c:36,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_digest.c:39,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_digest.c:42,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/asn1/a_digest.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_digest.c:45,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_digest.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - i2d
    - type
    - data
    - md
    - len
    argTypes:
    - i2d_of_void*
    - EVP_MD*
    - char*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 9
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: ASN1_digest
    functionSourceFile: /src/openssl/crypto/asn1/a_digest.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - i2d
    - EVP_Digest
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data,\n
      \               unsigned char *md, unsigned int *len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/a_digest.c:62,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/asn1/a_digest.c:66,1
    - Dst: ENGINE_get_digest_engine
      Src: /src/openssl/crypto/asn1/a_digest.c:68,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/asn1/a_digest.c:68,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/asn1/a_digest.c:71,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/asn1/a_digest.c:74,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/asn1/a_digest.c:74,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/asn1/a_digest.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_digest.c:81,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/asn1/a_digest.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - it
    - md
    - asn
    - data
    - len
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - EVP_MD*
    - void*
    - unsigned char*
    - unsigned int*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 54
    functionDepth: 10
    functionLinenumber: 54
    functionLinenumberEnd: 85
    functionName: ossl_asn1_item_digest_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_digest.c
    functionUses: 4
    functionsReached:
    - EVP_MD_free
    - ASN1_item_i2d
    - ENGINE_get_digest_engine
    - EVP_MD_fetch
    - EVP_Digest
    - EVP_MD_get0_name
    - OPENSSL_free
    - ENGINE_finish
    - EVP_MD_get_type
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: int
    signature: "int ossl_asn1_item_digest_ex(const ASN1_ITEM *it, const EVP_MD *md,
      void *asn,\n                             unsigned char *data, unsigned int *len,\n
      \                            OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_item_digest_ex
      Src: /src/openssl/crypto/asn1/a_digest.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - it
    - md
    - asn
    - data
    - len
    argTypes:
    - ASN1_ITEM*
    - EVP_MD*
    - void*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 11
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: ASN1_item_digest
    functionSourceFile: /src/openssl/crypto/asn1/a_digest.c
    functionUses: 2
    functionsReached:
    - ossl_asn1_item_digest_ex
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_digest(const ASN1_ITEM *it, const EVP_MD *md, void *asn,\n
      \                    unsigned char *data, unsigned int *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/asn1/i2d_evp.c:53,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/crypto/asn1/i2d_evp.c:59,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/crypto/asn1/i2d_evp.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/i2d_evp.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - a
    - selection
    - output_info
    - pp
    argTypes:
    - EVP_PKEY*
    - int
    - struct type_and_structure_st*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 33
    functionDepth: 11
    functionLinenumber: 33
    functionLinenumberEnd: 71
    functionName: i2d_provided
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_to_data
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_CTX_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int i2d_provided(const EVP_PKEY *a, int selection,\n                        const
      struct type_and_structure_st *output_info,\n                        unsigned
      char **pp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/asn1/i2d_evp.c:75,1
    - Dst: i2d_provided
      Src: /src/openssl/crypto/asn1/i2d_evp.c:81,1
    - Dst: EVP_PKEY*::ameth::param_encode
      Src: /src/openssl/crypto/asn1/i2d_evp.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/i2d_evp.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 12
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: i2d_KeyParams
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY*::ameth::param_encode
    - evp_pkey_is_provided
    - ERR_raise
    - i2d_provided
    linkageType: ''
    returnType: int
    signature: int i2d_KeyParams(const EVP_PKEY *a, unsigned char **pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/asn1/i2d_evp.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - pkey
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: i2d_KeyParams_bio
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_KeyParams_bio(BIO *bp, const EVP_PKEY *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/asn1/i2d_evp.c:97,1
    - Dst: i2d_provided
      Src: /src/openssl/crypto/asn1/i2d_evp.c:107,1
    - Dst: EVP_PKEY*::ameth::old_priv_encode
      Src: /src/openssl/crypto/asn1/i2d_evp.c:111,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/crypto/asn1/i2d_evp.c:114,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/asn1/i2d_evp.c:118,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/i2d_evp.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/i2d_evp.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - a
    - pp
    - traditional
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 12
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: i2d_PrivateKey_impl
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ERR_raise
    - EVP_PKEY*::ameth::old_priv_encode
    - EVP_PKEY2PKCS8
    - i2d_PKCS8_PRIV_KEY_INFO
    - evp_pkey_is_provided
    - i2d_provided
    linkageType: ''
    returnType: int
    signature: int i2d_PrivateKey_impl(const EVP_PKEY *a, unsigned char **pp, int
      traditional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_PrivateKey_impl
      Src: /src/openssl/crypto/asn1/i2d_evp.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 13
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: i2d_PrivateKey
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - i2d_PrivateKey_impl
    linkageType: ''
    returnType: int
    signature: int i2d_PrivateKey(const EVP_PKEY *a, unsigned char **pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_PrivateKey_impl
      Src: /src/openssl/crypto/asn1/i2d_evp.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 13
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: i2d_PKCS8PrivateKey
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - i2d_PrivateKey_impl
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS8PrivateKey(const EVP_PKEY *a, unsigned char **pp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/asn1/i2d_evp.c:139,1
    - Dst: i2d_provided
      Src: /src/openssl/crypto/asn1/i2d_evp.c:146,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/asn1/i2d_evp.c:148,1
    - Dst: i2d_RSAPublicKey
      Src: /src/openssl/crypto/asn1/i2d_evp.c:150,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/asn1/i2d_evp.c:150,1
    - Dst: i2d_DSAPublicKey
      Src: /src/openssl/crypto/asn1/i2d_evp.c:153,1
    - Dst: EVP_PKEY_get0_DSA
      Src: /src/openssl/crypto/asn1/i2d_evp.c:153,1
    - Dst: i2o_ECPublicKey
      Src: /src/openssl/crypto/asn1/i2d_evp.c:157,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/openssl/crypto/asn1/i2d_evp.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/i2d_evp.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 137
    functionDepth: 12
    functionLinenumber: 137
    functionLinenumberEnd: 163
    functionName: i2d_PublicKey
    functionSourceFile: /src/openssl/crypto/asn1/i2d_evp.c
    functionUses: 0
    functionsReached:
    - i2o_ECPublicKey
    - ERR_raise
    - EVP_PKEY_get0_EC_KEY
    - EVP_PKEY_get0_RSA
    - i2d_DSAPublicKey
    - i2d_RSAPublicKey
    - EVP_PKEY_get_base_id
    - EVP_PKEY_get0_DSA
    - evp_pkey_is_provided
    - i2d_provided
    linkageType: ''
    returnType: int
    signature: int i2d_PublicKey(const EVP_PKEY *a, unsigned char **pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: offset2ptr
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offset2ptr(addr, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ossl_asn1_get_choice_selector
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: int
    signature: int ossl_asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: ossl_asn1_get_choice_selector_const
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: int
    signature: "int ossl_asn1_get_choice_selector_const(const ASN1_VALUE **pval,\n
      \                                       const ASN1_ITEM *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pval
    - value
    - it
    argTypes:
    - ASN1_VALUE**
    - int
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: ossl_asn1_set_choice_selector
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: int
    signature: "int ossl_asn1_set_choice_selector(ASN1_VALUE **pval, int value,\n
      \                                 const ASN1_ITEM *it)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:81,1
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:82,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/asn1/tasn_utl.c:86,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/asn1/tasn_utl.c:88,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/asn1/tasn_utl.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_utl.c:91,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/asn1/tasn_utl.c:97,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/asn1/tasn_utl.c:101,1
    - Dst: REF_PRINT_EX
      Src: /src/openssl/crypto/asn1/tasn_utl.c:103,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/asn1/tasn_utl.c:104,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/asn1/tasn_utl.c:106,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/asn1/tasn_utl.c:108,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - pval
    - op
    - it
    argTypes:
    - ASN1_VALUE**
    - int
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 114
    functionName: ossl_asn1_do_lock
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - offset2ptr
    - ERR_raise
    - REF_PRINT_EX
    - CRYPTO_THREAD_lock_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - CRYPTO_THREAD_lock_new
    - CRYPTO_UP_REF
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: int
    signature: int ossl_asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: asn1_get_enc_ptr
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: ASN1_ENCODING
    signature: ASN1_ENCODING *asn1_get_enc_ptr(ASN1_VALUE **pval, const ASN1_ITEM
      *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: asn1_get_const_enc_ptr
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: ASN1_ENCODING
    signature: "ASN1_ENCODING *asn1_get_const_enc_ptr(const ASN1_VALUE **pval,\n                                                   const
      ASN1_ITEM *it)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_enc_ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: ossl_asn1_enc_init
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - asn1_get_enc_ptr
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_enc_ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_utl.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: ossl_asn1_enc_free
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - asn1_get_enc_ptr
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_enc_ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_utl.c:172,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/tasn_utl.c:177,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/tasn_utl.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pval
    - in
    - inlen
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - long
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: ossl_asn1_enc_save
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - asn1_get_enc_ptr
    - OPENSSL_free
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in,
      long inlen,\n                       const ASN1_ITEM *it)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_const_enc_ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:189,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/tasn_utl.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - len
    - out
    - pval
    - it
    argTypes:
    - int*
    - unsigned char**
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: ossl_asn1_enc_restore
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - asn1_get_const_enc_ptr
    linkageType: ''
    returnType: int
    signature: "int ossl_asn1_enc_restore(int *len, unsigned char **out, const ASN1_VALUE
      **pval,\n                          const ASN1_ITEM *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: ossl_asn1_get_field_ptr
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: ASN1_VALUE
    signature: ASN1_VALUE **ossl_asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE
      *tt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: ossl_asn1_get_const_field_ptr
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - offset2ptr
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE **ossl_asn1_get_const_field_ptr(const ASN1_VALUE **pval,\n
      \                                                const ASN1_TEMPLATE *tt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ADB_ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:240,1
    - Dst: offset2ptr
      Src: /src/openssl/crypto/asn1/tasn_utl.c:243,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/tasn_utl.c:257,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/asn1/tasn_utl.c:259,1
    - Dst: ASN1_ADB*::adb_cb
      Src: /src/openssl/crypto/asn1/tasn_utl.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_utl.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_utl.c:288,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - val
    - tt
    - nullerr
    argTypes:
    - ASN1_VALUE*
    - ASN1_TEMPLATE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 290
    functionName: ossl_asn1_do_adb
    functionSourceFile: /src/openssl/crypto/asn1/tasn_utl.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - offset2ptr
    - ERR_raise
    - ASN1_ADB_ptr
    - ASN1_INTEGER_get
    - ASN1_ADB*::adb_cb
    linkageType: ''
    returnType: ASN1_TEMPLATE
    signature: "ASN1_TEMPLATE *ossl_asn1_do_adb(const ASN1_VALUE *val,\n                                      const
      ASN1_TEMPLATE *tt,\n                                      int nullerr)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/asn1/a_sign.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:38,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/a_sign.c:53,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/a_sign.c:57,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/a_sign.c:58,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/a_sign.c:62,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/a_sign.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:69,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_sign.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:76,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_sign.c:80,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/asn1/a_sign.c:81,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_sign.c:82,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_sign.c:89,1
    - Dst: EVP_SignInit_ex
      Src: /src/openssl/crypto/asn1/a_sign.c:90,1
    - Dst: EVP_SignUpdate
      Src: /src/openssl/crypto/asn1/a_sign.c:91,1
    - Dst: EVP_SignFinal
      Src: /src/openssl/crypto/asn1/a_sign.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:95,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_sign.c:98,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/asn1/a_sign.c:104,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/asn1/a_sign.c:106,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_sign.c:107,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_sign.c:108,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 7
    argNames:
    - i2d
    - algor1
    - algor2
    - signature
    - data
    - pkey
    - type
    argTypes:
    - i2d_of_void*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - char*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 27
    functionDepth: 8
    functionLinenumber: 27
    functionLinenumberEnd: 110
    functionName: ASN1_sign
    functionSourceFile: /src/openssl/crypto/asn1/a_sign.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_string_set_bits_left
    - EVP_SignInit_ex
    - ERR_raise
    - i2d
    - OPENSSL_clear_free
    - EVP_SignUpdate
    - EVP_MD_CTX_new
    - EVP_SignFinal
    - EVP_MD_CTX_free
    - EVP_PKEY_get_size
    - ASN1_TYPE_new
    - OBJ_nid2obj
    - ASN1_TYPE_free
    - ASN1_STRING_set0
    - OPENSSL_malloc
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: "int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, X509_ALGOR *algor2,\n
      \             ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey,\n              const
      EVP_MD *type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/asn1/a_sign.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - it
    - algor1
    - algor2
    - signature
    - data
    - pkey
    - md
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: ASN1_item_sign
    functionSourceFile: /src/openssl/crypto/asn1/a_sign.c
    functionUses: 0
    functionsReached:
    - ASN1_item_sign_ex
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR
      *algor2,\n                   ASN1_BIT_STRING *signature, const void *data,\n
      \                  EVP_PKEY *pkey, const EVP_MD *md)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_ctx_new_ex
      Src: /src/openssl/crypto/asn1/a_sign.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:132,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/crypto/asn1/a_sign.c:136,1
    - Dst: ASN1_item_sign_ctx
      Src: /src/openssl/crypto/asn1/a_sign.c:139,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/asn1/a_sign.c:142,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_sign.c:142,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/asn1/a_sign.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 10
    argNames:
    - it
    - algor1
    - algor2
    - signature
    - data
    - id
    - pkey
    - md
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - ASN1_OCTET_STRING*
    - EVP_PKEY*
    - EVP_MD*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 145
    functionName: ASN1_item_sign_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_sign.c
    functionUses: 7
    functionsReached:
    - EVP_DigestSignInit
    - ERR_raise
    - ASN1_item_sign_ctx
    - evp_md_ctx_new_ex
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_sign_ex(const ASN1_ITEM *it, X509_ALGOR *algor1,\n                      X509_ALGOR
      *algor2, ASN1_BIT_STRING *signature,\n                      const void *data,
      const ASN1_OCTET_STRING *id,\n                      EVP_PKEY *pkey, const EVP_MD
      *md, OSSL_LIB_CTX *libctx,\n                      const char *propq)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/asn1/a_sign.c:158,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/asn1/a_sign.c:159,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_sign.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:162,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_sign.c:167,1
    - Dst: EVP_PKEY_CTX_IS_SIGNATURE_OP
      Src: /src/openssl/crypto/asn1/a_sign.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:174,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/asn1/a_sign.c:179,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/asn1/a_sign.c:181,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/asn1/a_sign.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:187,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/asn1/a_sign.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:195,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/asn1/a_sign.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:204,1
    - Dst: EVP_PKEY*::ameth::item_sign
      Src: /src/openssl/crypto/asn1/a_sign.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:231,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/asn1/a_sign.c:237,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/crypto/asn1/a_sign.c:241,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/asn1/a_sign.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:242,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/a_sign.c:249,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/a_sign.c:249,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/a_sign.c:252,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/a_sign.c:252,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/a_sign.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:259,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/crypto/asn1/a_sign.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:265,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_sign.c:269,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/crypto/asn1/a_sign.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_sign.c:277,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_sign.c:280,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/asn1/a_sign.c:286,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_sign.c:288,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_sign.c:289,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 107
    argCount: 6
    argNames:
    - it
    - algor1
    - algor2
    - signature
    - data
    - ctx
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 291
    functionName: ASN1_item_sign_ctx
    functionSourceFile: /src/openssl/crypto/asn1/a_sign.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY*::ameth::item_sign
    - EVP_PKEY_CTX_IS_SIGNATURE_OP
    - EVP_PKEY_get_id
    - EVP_DigestSign
    - ASN1_STRING_set0
    - EVP_MD_nid
    - ossl_asn1_string_set_bits_left
    - EVP_MD_CTX_get0_md
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_CTX_get_params
    - OBJ_nid2obj
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - EVP_MD_CTX_get_pkey_ctx
    - X509_ALGOR_set0
    - ASN1_item_i2d
    - OPENSSL_clear_free
    - d2i_X509_ALGOR
    - OBJ_find_sigid_by_algs
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1,\n
      \                      X509_ALGOR *algor2, ASN1_BIT_STRING *signature,\n                       const
      void *data, EVP_MD_CTX *ctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PBEPARAM_new
      Src: /src/openssl/crypto/asn1/p5_pbe.c:36,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbe.c:39,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/asn1/p5_pbe.c:44,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbe.c:45,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/p5_pbe.c:53,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/p5_pbe.c:57,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/asn1/p5_pbe.c:58,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/p5_pbe.c:61,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/asn1/p5_pbe.c:64,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_pbe.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbe.c:65,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbe.c:69,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/p5_pbe.c:72,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_pbe.c:72,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/p5_pbe.c:76,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbe.c:77,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/p5_pbe.c:78,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 6
    argNames:
    - algor
    - alg
    - iter
    - salt
    - saltlen
    - ctx
    argTypes:
    - X509_ALGOR*
    - int
    - int
    - unsigned char*
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 80
    functionName: PKCS5_pbe_set0_algor_ex
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbe.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - ERR_raise
    - ASN1_STRING_set0
    - memcpy
    - ASN1_STRING_free
    - ASN1_ITEM_rptr
    - ASN1_INTEGER_set
    - OPENSSL_free
    - PBEPARAM_new
    - OBJ_nid2obj
    - PBEPARAM_free
    - ASN1_item_pack
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int PKCS5_pbe_set0_algor_ex(X509_ALGOR *algor, int alg, int iter,\n
      \                           const unsigned char *salt, int saltlen,\n                            OSSL_LIB_CTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbe_set0_algor_ex
      Src: /src/openssl/crypto/asn1/p5_pbe.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - algor
    - alg
    - iter
    - salt
    - saltlen
    argTypes:
    - X509_ALGOR*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 8
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: PKCS5_pbe_set0_algor
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbe.c
    functionUses: 0
    functionsReached:
    - PKCS5_pbe_set0_algor_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter,\n                         const
      unsigned char *salt, int saltlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_pbe.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbe.c:97,1
    - Dst: PKCS5_pbe_set0_algor_ex
      Src: /src/openssl/crypto/asn1/p5_pbe.c:101,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_pbe.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - alg
    - iter
    - salt
    - saltlen
    - ctx
    argTypes:
    - int
    - int
    - unsigned char*
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 8
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: PKCS5_pbe_set_ex
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbe.c
    functionUses: 2
    functionsReached:
    - X509_ALGOR_free
    - X509_ALGOR_new
    - ERR_raise
    - PKCS5_pbe_set0_algor_ex
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *PKCS5_pbe_set_ex(int alg, int iter,\n                             const
      unsigned char *salt, int saltlen,\n                             OSSL_LIB_CTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbe_set_ex
      Src: /src/openssl/crypto/asn1/p5_pbe.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - alg
    - iter
    - salt
    - saltlen
    argTypes:
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 9
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: PKCS5_pbe_set
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbe.c
    functionUses: 0
    functionsReached:
    - PKCS5_pbe_set_ex
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *PKCS5_pbe_set(int alg, int iter,\n                          const
      unsigned char *salt, int saltlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/a_object.c:29,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_object.c:34,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/a_object.c:40,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_object.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ASN1_OBJECT*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: i2d_ASN1_OBJECT
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ASN1_put_object
    - ASN1_object_size
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_object.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:92,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/asn1/a_object.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:105,1
    - Dst: BN_new
      Src: /src/openssl/crypto/asn1/a_object.c:111,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/asn1/a_object.c:112,1
    - Dst: BN_mul_word
      Src: /src/openssl/crypto/asn1/a_object.c:116,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/asn1/a_object.c:117,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:124,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/asn1/a_object.c:128,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/asn1/a_object.c:136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:140,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_object.c:142,1
    - Dst: BN_div_word
      Src: /src/openssl/crypto/asn1/a_object.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:164,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:174,1
    - Dst: BN_free
      Src: /src/openssl/crypto/asn1/a_object.c:175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:179,1
    - Dst: BN_free
      Src: /src/openssl/crypto/asn1/a_object.c:180,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 128
    argCount: 4
    argNames:
    - out
    - olen
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 182
    functionName: a2d_ASN1_OBJECT
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 0
    functionsReached:
    - BN_mul_word
    - ERR_raise
    - BN_div_word
    - BN_set_word
    - ossl_isdigit
    - OPENSSL_free
    - BN_new
    - BN_add_word
    - strlen
    - BN_free
    - BN_num_bits
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf,
      int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/asn1/a_object.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - a
    argTypes:
    - char*
    - int
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: i2t_ASN1_OBJECT
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 3
    functionsReached:
    - OBJ_obj2txt
    linkageType: ''
    returnType: int
    signature: int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_object.c:195,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/a_object.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:199,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_object.c:202,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/a_object.c:204,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_object.c:207,1
    - Dst: BIO_dump
      Src: /src/openssl/crypto/asn1/a_object.c:209,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_object.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 216
    functionName: i2a_ASN1_OBJECT
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 20
    functionsReached:
    - BIO_write
    - i2t_ASN1_OBJECT
    - ERR_raise
    - BIO_dump
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/a_object.c:227,1
    - Dst: ossl_c2i_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/a_object.c:237,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 244
    functionName: d2i_ASN1_OBJECT
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 0
    functionsReached:
    - ASN1_get_object
    - ERR_raise
    - ossl_c2i_ASN1_OBJECT
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: "ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char
      **pp,\n                             long length)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:261,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/a_object.c:274,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/a_object.c:281,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/a_object.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:291,1
    - Dst: ASN1_OBJECT_new
      Src: /src/openssl/crypto/asn1/a_object.c:298,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:311,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_object.c:312,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_object.c:317,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_object.c:337,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/a_object.c:339,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 341
    functionName: ossl_c2i_ASN1_OBJECT
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ASN1_OBJECT_new
    - memcpy
    - OPENSSL_free
    - OBJ_nid2obj
    - OBJ_obj2nid
    - OPENSSL_malloc
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: "ASN1_OBJECT *ossl_c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned
      char **pp,\n                                  long len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/a_object.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: ASN1_OBJECT_new
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *ASN1_OBJECT_new(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:364,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:365,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:370,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_object.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 376
    functionName: ASN1_OBJECT_free
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 32
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ASN1_OBJECT_free(ASN1_OBJECT *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/asn1/a_object.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - nid
    - data
    - len
    - sn
    - ln
    argTypes:
    - int
    - unsigned char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: ASN1_OBJECT_create
    functionSourceFile: /src/openssl/crypto/asn1/a_object.c
    functionUses: 0
    functionsReached:
    - OBJ_dup
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: "ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data, int
      len,\n                                const char *sn, const char *ln)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_type2name
      Src: /src/openssl/crypto/asn1/d2i_pr.c:45,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:51,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/asn1/d2i_pr.c:52,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:53,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/asn1/d2i_pr.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:61,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:62,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/asn1/d2i_pr.c:66,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/asn1/d2i_pr.c:67,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:70,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/crypto/asn1/d2i_pr.c:78,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/crypto/asn1/d2i_pr.c:85,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:86,1
    - Dst: evp_keymgmt_util_has
      Src: /src/openssl/crypto/asn1/d2i_pr.c:89,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:97,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 6
    argNames:
    - keytype
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 28
    functionDepth: 12
    functionLinenumber: 28
    functionLinenumberEnd: 99
    functionName: d2i_PrivateKey_decoder
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 0
    functionsReached:
    - evp_pkey_type2name
    - PKCS8_PRIV_KEY_INFO_free
    - OSSL_DECODER_CTX_free
    - ERR_raise
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - evp_keymgmt_util_has
    - ERR_set_mark
    - OSSL_DECODER_CTX_new_for_pkey
    - EVP_PKEY_free
    - ASN1_INTEGER_get_int64
    - PKCS8_pkey_get0
    - OSSL_DECODER_from_data
    - d2i_PKCS8_PRIV_KEY_INFO
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *\nd2i_PrivateKey_decoder(int keytype, EVP_PKEY **a, const
      unsigned char **pp,\n                       long length, OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/asn1/d2i_pr.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:110,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/asn1/d2i_pr.c:116,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/asn1/d2i_pr.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:122,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:126,1
    - Dst: EVP_PKEY*::ameth::old_priv_decode
      Src: /src/openssl/crypto/asn1/d2i_pr.c:128,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/asn1/d2i_pr.c:133,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:135,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:138,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:139,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:141,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:144,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:146,1
    - Dst: EVP_PKEY_type
      Src: /src/openssl/crypto/asn1/d2i_pr.c:147,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/asn1/d2i_pr.c:147,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:151,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/d2i_pr.c:155,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:163,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 6
    argNames:
    - keytype
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 165
    functionName: ossl_d2i_PrivateKey_legacy
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 1
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKEY_type
    - ERR_raise
    - EVP_PKEY_new
    - evp_pkcs82pkey_legacy
    - ERR_pop_to_mark
    - ERR_set_mark
    - EVP_PKEY_free
    - EVP_PKEY*::ameth::old_priv_decode
    - ENGINE_finish
    - d2i_PKCS8_PRIV_KEY_INFO
    - EVP_PKEY_get_base_id
    - ERR_clear_last_mark
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *\nossl_d2i_PrivateKey_legacy(int keytype, EVP_PKEY **a,
      const unsigned char **pp,\n                           long length, OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_decoder
      Src: /src/openssl/crypto/asn1/d2i_pr.c:173,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - keytype
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 13
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: d2i_PrivateKey_ex
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 1
    functionsReached:
    - d2i_PrivateKey_decoder
    - ossl_d2i_PrivateKey_legacy
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PrivateKey_ex(int keytype, EVP_PKEY **a, const unsigned
      char **pp,\n                            long length, OSSL_LIB_CTX *libctx,\n
      \                           const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/crypto/asn1/d2i_pr.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - type
    - a
    - pp
    - length
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 14
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: d2i_PrivateKey
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 0
    functionsReached:
    - d2i_PrivateKey_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char
      **pp,\n                         long length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/d2i_pr.c:192,1
    - Dst: d2i_ASN1_SEQUENCE_ANY
      Src: /src/openssl/crypto/asn1/d2i_pr.c:202,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/openssl/crypto/asn1/d2i_pr.c:208,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/openssl/crypto/asn1/d2i_pr.c:210,1
    - Dst: sk_ASN1_TYPE_num
      Src: /src/openssl/crypto/asn1/d2i_pr.c:212,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/crypto/asn1/d2i_pr.c:214,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pr.c:219,1
    - Dst: evp_pkcs82pkey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:222,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:223,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/openssl/crypto/asn1/d2i_pr.c:234,1
    - Dst: ossl_d2i_PrivateKey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 236
    functionName: d2i_AutoPrivateKey_legacy
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ERR_raise
    - sk_ASN1_TYPE_num
    - evp_pkcs82pkey_legacy
    - sk_ASN1_TYPE_pop_free
    - STACK_OF
    - d2i_PKCS8_PRIV_KEY_INFO
    - ossl_d2i_PrivateKey_legacy
    - d2i_ASN1_SEQUENCE_ANY
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_AutoPrivateKey_legacy(EVP_PKEY **a,\n                                           const
      unsigned char **pp,\n                                           long length,\n
      \                                          OSSL_LIB_CTX *libctx,\n                                           const
      char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_decoder
      Src: /src/openssl/crypto/asn1/d2i_pr.c:248,1
    - Dst: d2i_AutoPrivateKey_legacy
      Src: /src/openssl/crypto/asn1/d2i_pr.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 13
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: d2i_AutoPrivateKey_ex
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 2
    functionsReached:
    - d2i_PrivateKey_decoder
    - d2i_AutoPrivateKey_legacy
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_AutoPrivateKey_ex(EVP_PKEY **a, const unsigned char
      **pp,\n                                long length, OSSL_LIB_CTX *libctx,\n
      \                               const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/crypto/asn1/d2i_pr.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 14
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: d2i_AutoPrivateKey
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pr.c
    functionUses: 0
    functionsReached:
    - d2i_AutoPrivateKey_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp,\n
      \                            long length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: is_utc
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_utc(const int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: leap_year
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int leap_year(const int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: leap_year
      Src: /src/openssl/crypto/asn1/a_time.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: determine_days
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - leap_year
    linkageType: ''
    returnType: void
    signature: void determine_days(struct tm *tm)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/asn1/a_time.c:116,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:131,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:138,1
    - Dst: leap_year
      Src: /src/openssl/crypto/asn1/a_time.c:167,1
    - Dst: determine_days
      Src: /src/openssl/crypto/asn1/a_time.c:174,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:199,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:230,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:234,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/crypto/asn1/a_time.c:249,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 144
    argCount: 2
    argNames:
    - tm
    - d
    argTypes:
    - struct tm*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 263
    functionName: ossl_asn1_time_to_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - OPENSSL_gmtime_adj
    - determine_days
    - memset
    - leap_year
    - ossl_ascii_isdigit
    linkageType: ''
    returnType: int
    signature: int ossl_asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_utc
      Src: /src/openssl/crypto/asn1/a_time.c:272,1
    - Dst: is_utc
      Src: /src/openssl/crypto/asn1/a_time.c:277,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/asn1/a_time.c:284,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_time.c:290,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_time.c:302,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_time.c:307,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/asn1/a_time.c:314,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/a_time.c:319,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - s
    - ts
    - type
    argTypes:
    - ASN1_TIME*
    - struct tm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 321
    functionName: ossl_asn1_time_from_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - is_utc
    - ebcdic2ascii
    - ASN1_STRING_new
    - ASN1_STRING_free
    - BIO_snprintf
    - ASN1_STRING_set
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *ossl_asn1_time_from_tm(ASN1_TIME *s, struct tm *ts, int
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/crypto/asn1/a_time.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_TIME*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: ASN1_TIME_set
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_adj
    linkageType: ''
    returnType: ASN1_TIME
    signature: ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/asn1/a_time.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_time.c:336,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/crypto/asn1/a_time.c:340,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_time.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - s
    - t
    - offset_day
    - offset_sec
    argTypes:
    - ASN1_TIME*
    - time_t
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: ASN1_TIME_adj
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 2
    functionsReached:
    - OPENSSL_gmtime_adj
    - ERR_raise
    - ossl_asn1_time_from_tm
    - OPENSSL_gmtime
    linkageType: ''
    returnType: ASN1_TIME
    signature: "ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t,\n                         int
      offset_day, long offset_sec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/openssl/crypto/asn1/a_time.c:349,1
    - Dst: ASN1_UTCTIME_check
      Src: /src/openssl/crypto/asn1/a_time.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: ASN1_TIME_check
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_check
    - ASN1_UTCTIME_check
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_check(const ASN1_TIME *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:362,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_time.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - t
    - out
    argTypes:
    - ASN1_TIME*
    - ASN1_GENERALIZEDTIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 374
    functionName: ASN1_TIME_to_generalizedtime
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 1
    functionsReached:
    - ASN1_TIME_to_tm
    - ossl_asn1_time_from_tm
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME
    signature: "ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(const ASN1_TIME
      *t,\n                                                   ASN1_GENERALIZEDTIME
      **out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTCTIME_set_string
      Src: /src/openssl/crypto/asn1/a_time.c:379,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/asn1/a_time.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_TIME*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 382
    functionName: ASN1_TIME_set_string
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - ASN1_UTCTIME_set_string
    - ASN1_GENERALIZEDTIME_set_string
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_time.c:391,1
    - Dst: ASN1_TIME_check
      Src: /src/openssl/crypto/asn1/a_time.c:399,1
    - Dst: ASN1_TIME_check
      Src: /src/openssl/crypto/asn1/a_time.c:401,1
    - Dst: ossl_asn1_time_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:420,1
    - Dst: is_utc
      Src: /src/openssl/crypto/asn1/a_time.c:422,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/a_time.c:429,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_time.c:432,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/asn1/a_time.c:437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_time.c:441,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_TIME*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 444
    functionName: ASN1_TIME_set_string_X509
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - is_utc
    - OPENSSL_zalloc
    - memcpy
    - OPENSSL_free
    - ASN1_STRING_copy
    - strlen
    - ossl_asn1_time_to_tm
    - ASN1_TIME_check
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/crypto/asn1/a_time.c:451,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/a_time.c:452,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/asn1/a_time.c:453,1
    - Dst: ossl_asn1_time_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - tm
    argTypes:
    - ASN1_TIME*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 459
    functionName: ASN1_TIME_to_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 1
    functionsReached:
    - time
    - ossl_asn1_time_to_tm
    - memset
    - OPENSSL_gmtime
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:466,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:468,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/crypto/asn1/a_time.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pday
    - psec
    - from
    - to
    argTypes:
    - int*
    - int*
    - ASN1_TIME*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: ASN1_TIME_diff
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 2
    functionsReached:
    - OPENSSL_gmtime_diff
    - ASN1_TIME_to_tm
    linkageType: ''
    returnType: int
    signature: "int ASN1_TIME_diff(int *pday, int *psec,\n                   const
      ASN1_TIME *from, const ASN1_TIME *to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/crypto/asn1/a_time.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - tm
    argTypes:
    - BIO*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: ASN1_TIME_print
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 1
    functionsReached:
    - ASN1_TIME_print_ex
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_print_ex
      Src: /src/openssl/crypto/asn1/a_time.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bp
    - tm
    - flags
    argTypes:
    - BIO*
    - ASN1_TIME*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: ASN1_TIME_print_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_time_print_ex
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_print_ex(BIO *bp, const ASN1_TIME *tm, unsigned long
      flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:501,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_time.c:502,1
    - Dst: ossl_ascii_isdigit
      Src: /src/openssl/crypto/asn1/a_time.c:519,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/a_time.c:525,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/a_time.c:530,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/a_time.c:538,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/a_time.c:543,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - bp
    - tm
    - flags
    argTypes:
    - BIO*
    - ASN1_TIME*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 493
    functionDepth: 4
    functionLinenumber: 493
    functionLinenumberEnd: 547
    functionName: ossl_asn1_time_print_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 3
    functionsReached:
    - BIO_write
    - ossl_asn1_time_to_tm
    - ossl_ascii_isdigit
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_asn1_time_print_ex(BIO *bp, const ASN1_TIME *tm, unsigned
      long flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:554,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/asn1/a_time.c:557,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/crypto/asn1/a_time.c:560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_TIME*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 549
    functionDepth: 4
    functionLinenumber: 549
    functionLinenumberEnd: 568
    functionName: ASN1_TIME_cmp_time_t
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - OPENSSL_gmtime_diff
    - ASN1_TIME_to_tm
    - OPENSSL_gmtime
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/crypto/asn1/a_time.c:574,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_time.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: ASN1_TIME_normalize
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_to_tm
    - ossl_asn1_time_from_tm
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_normalize(ASN1_TIME *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/crypto/asn1/a_time.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_TIME*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 580
    functionDepth: 5
    functionLinenumber: 580
    functionLinenumberEnd: 591
    functionName: ASN1_TIME_compare
    functionSourceFile: /src/openssl/crypto/asn1/a_time.c
    functionUses: 1
    functionsReached:
    - ASN1_TIME_diff
    linkageType: ''
    returnType: int
    signature: int ASN1_TIME_compare(const ASN1_TIME *a, const ASN1_TIME *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:27,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:28,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:31,1
    - Dst: ASN1_d2i_bio
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:32,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - (*xnew) (void)
    - d2i
    - in
    - x
    argTypes:
    - void*
    - d2i_of_void*
    - FILE*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: ASN1_d2i_fp
    functionSourceFile: /src/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - ASN1_d2i_bio
    - BIO_s_file
    linkageType: ''
    returnType: void
    signature: void *ASN1_d2i_fp(void *(*xnew) (void), d2i_of_void *d2i, FILE *in,
      void **x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:45,1
    - Dst: d2i
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:50,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - (*xnew) (void)
    - d2i
    - in
    - x
    argTypes:
    - void*
    - d2i_of_void*
    - BIO*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: ASN1_d2i_bio
    functionSourceFile: /src/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_free
    - asn1_d2i_read_bio
    - d2i
    linkageType: ''
    returnType: void
    signature: void *ASN1_d2i_bio(void *(*xnew) (void), d2i_of_void *d2i, BIO *in,
      void **x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:68,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:73,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - it
    - in
    - x
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - BIO*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: ASN1_item_d2i_bio_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: 4
    functionsReached:
    - ASN1_item_d2i_ex
    - BUF_MEM_free
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: void
    signature: "void *ASN1_item_d2i_bio_ex(const ASN1_ITEM *it, BIO *in, void *x,\n
      \                          OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - it
    - in
    - x
    argTypes:
    - ASN1_ITEM*
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: ASN1_item_d2i_bio
    functionSourceFile: /src/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: 8
    functionsReached:
    - ASN1_item_d2i_bio_ex
    linkageType: ''
    returnType: void
    signature: void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:91,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:92,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:95,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:96,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - it
    - in
    - x
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - FILE*
    - void*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: ASN1_item_d2i_fp_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - ASN1_item_d2i_bio_ex
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: void
    signature: "void *ASN1_item_d2i_fp_ex(const ASN1_ITEM *it, FILE *in, void *x,\n
      \                         OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_fp_ex
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - it
    - in
    - x
    argTypes:
    - ASN1_ITEM*
    - FILE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ASN1_item_d2i_fp
    functionSourceFile: /src/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: 6
    functionsReached:
    - ASN1_item_d2i_fp_ex
    linkageType: ''
    returnType: void
    signature: void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:125,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:129,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:138,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:148,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:164,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:168,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:168,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:199,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:213,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:218,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:220,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:247,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:254,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/asn1/a_d2i_fp.c:255,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 116
    argCount: 2
    argNames:
    - in
    - pb
    argTypes:
    - BIO*
    - BUF_MEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 257
    functionName: asn1_d2i_read_bio
    functionSourceFile: /src/openssl/crypto/asn1/a_d2i_fp.c
    functionUses: 6
    functionsReached:
    - BUF_MEM_free
    - ERR_raise
    - ERR_pop_to_mark
    - ERR_set_mark
    - ERR_GET_REASON
    - ERR_peek_last_error
    - ASN1_get_object
    - ERR_clear_last_mark
    - BUF_MEM_grow_clean
    - BUF_MEM_new
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ASN1_STRING_set_default_mask
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_STRING_set_default_mask(unsigned long mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ASN1_STRING_get_default_mask
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ASN1_STRING_get_default_mask(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/asn1/a_strnid.c:53,1
    - Dst: strtoul
      Src: /src/openssl/crypto/asn1/a_strnid.c:56,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/a_strnid.c:59,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/a_strnid.c:61,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/a_strnid.c:63,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/a_strnid.c:65,1
    - Dst: ASN1_STRING_set_default_mask
      Src: /src/openssl/crypto/asn1/a_strnid.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: ASN1_STRING_set_default_mask_asc
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strtoul
    - CHECK_AND_SKIP_PREFIX
    - ASN1_STRING_set_default_mask
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_set_default_mask_asc(const char *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/openssl/crypto/asn1/a_strnid.c:90,1
    - Dst: ASN1_mbstring_ncopy
      Src: /src/openssl/crypto/asn1/a_strnid.c:95,1
    - Dst: ASN1_mbstring_copy
      Src: /src/openssl/crypto/asn1/a_strnid.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - out
    - in
    - inlen
    - inform
    - nid
    argTypes:
    - ASN1_STRING**
    - unsigned char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: ASN1_STRING_set_by_NID
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 2
    functionsReached:
    - ASN1_mbstring_copy
    - ASN1_mbstring_ncopy
    - ASN1_STRING_TABLE_get
    linkageType: ''
    returnType: ASN1_STRING
    signature: "ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out,\n                                    const
      unsigned char *in, int inlen,\n                                    int inform,
      int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_STRING_TABLE**
    - ASN1_STRING_TABLE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: sk_table_cmp
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int sk_table_cmp(const ASN1_STRING_TABLE *const *a,\n                        const
      ASN1_STRING_TABLE *const *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_STRING_TABLE*
    - ASN1_STRING_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: table_cmp
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int table_cmp(const ASN1_STRING_TABLE *a, const ASN1_STRING_TABLE *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_strnid.c:133,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/asn1/a_strnid.c:139,1
    - Dst: sk_ASN1_STRING_TABLE_sort
      Src: /src/openssl/crypto/asn1/a_strnid.c:145,1
    - Dst: sk_ASN1_STRING_TABLE_find
      Src: /src/openssl/crypto/asn1/a_strnid.c:146,1
    - Dst: sk_ASN1_STRING_TABLE_value
      Src: /src/openssl/crypto/asn1/a_strnid.c:148,1
    - Dst: OBJ_bsearch_table
      Src: /src/openssl/crypto/asn1/a_strnid.c:150,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/a_strnid.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: ASN1_STRING_TABLE_get
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OBJ_bsearch_table
    - OSSL_NELEM
    - OPENSSL_init_crypto
    - sk_ASN1_STRING_TABLE_sort
    - sk_ASN1_STRING_TABLE_find
    - sk_ASN1_STRING_TABLE_value
    linkageType: ''
    returnType: ASN1_STRING_TABLE
    signature: ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_STRING_TABLE_new
      Src: /src/openssl/crypto/asn1/a_strnid.c:164,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/openssl/crypto/asn1/a_strnid.c:168,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/a_strnid.c:171,1
    - Dst: sk_ASN1_STRING_TABLE_push
      Src: /src/openssl/crypto/asn1/a_strnid.c:173,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_strnid.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 190
    functionName: stable_get
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ASN1_STRING_TABLE_get
    - OPENSSL_free
    - sk_ASN1_STRING_TABLE_push
    - sk_ASN1_STRING_TABLE_new
    linkageType: ''
    returnType: ASN1_STRING_TABLE
    signature: ASN1_STRING_TABLE *stable_get(int nid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_strnid.c:199,1
    - Dst: stable_get
      Src: /src/openssl/crypto/asn1/a_strnid.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_strnid.c:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - nid
    - minsize
    - maxsize
    - mask
    - flags
    argTypes:
    - int
    - long
    - long
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 217
    functionName: ASN1_STRING_TABLE_add
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached:
    - stable_get
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ASN1_STRING_TABLE_add(int nid,\n                          long
      minsize, long maxsize, unsigned long mask,\n                          unsigned
      long flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/a_strnid.c:221,1
    - Dst: sk_ASN1_STRING_TABLE_pop_free
      Src: /src/openssl/crypto/asn1/a_strnid.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: ASN1_STRING_TABLE_cleanup
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - sk_ASN1_STRING_TABLE_pop_free
    linkageType: ''
    returnType: void
    signature: void ASN1_STRING_TABLE_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_strnid.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - ASN1_STRING_TABLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: st_free
    functionSourceFile: /src/openssl/crypto/asn1/a_strnid.c
    functionUses: 23
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void st_free(ASN1_STRING_TABLE *tbl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ASN1_tag2bit
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ASN1_tag2bit(int tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: asn1_tlc_clear
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: asn1_tlc_clear(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: asn1_tlc_clear_nc
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: asn1_tlc_clear_nc(c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:115,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:118,1
    - Dst: ASN1_item_ex_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 10
    argNames:
    - pval
    - in
    - len
    - it
    - tag
    - aclass
    - opt
    - ctx
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - int
    - int
    - char
    - ASN1_TLC*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: asn1_item_ex_d2i_intern
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 0
    functionsReached:
    - asn1_item_embed_d2i
    - ERR_raise
    - ASN1_item_ex_free
    linkageType: ''
    returnType: int
    signature: "int asn1_item_ex_d2i_intern(ASN1_VALUE **pval, const unsigned char
      **in,\n                                   long len, const ASN1_ITEM *it, int
      tag,\n                                   int aclass, char opt, ASN1_TLC *ctx,\n
      \                                  OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_ex_d2i_intern
      Src: /src/openssl/crypto/asn1/tasn_dec.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - pval
    - in
    - len
    - it
    - tag
    - aclass
    - opt
    - ctx
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - int
    - int
    - char
    - ASN1_TLC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: ASN1_item_ex_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 2
    functionsReached:
    - asn1_item_ex_d2i_intern
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in,
      long len,\n                     const ASN1_ITEM *it,\n                     int
      tag, int aclass, char opt, ASN1_TLC *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_tlc_clear_nc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:143,1
    - Dst: asn1_item_ex_d2i_intern
      Src: /src/openssl/crypto/asn1/tasn_dec.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - pval
    - in
    - len
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: ASN1_item_d2i_ex
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 3
    functionsReached:
    - asn1_tlc_clear_nc
    - asn1_item_ex_d2i_intern
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE *ASN1_item_d2i_ex(ASN1_VALUE **pval,\n                             const
      unsigned char **in, long len,\n                             const ASN1_ITEM
      *it, OSSL_LIB_CTX *libctx,\n                             const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/asn1/tasn_dec.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pval
    - in
    - len
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: ASN1_item_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 6
    functionsReached:
    - ASN1_item_d2i_ex
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE *ASN1_item_d2i(ASN1_VALUE **pval,\n                          const
      unsigned char **in, long len,\n                          const ASN1_ITEM *it)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:210,1
    - Dst: asn1_template_ex_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:214,1
    - Dst: asn1_d2i_ex_primitive
      Src: /src/openssl/crypto/asn1/tasn_dec.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:226,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:235,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:244,1
    - Dst: ASN1_tag2bit
      Src: /src/openssl/crypto/asn1/tasn_dec.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:253,1
    - Dst: asn1_d2i_ex_primitive
      Src: /src/openssl/crypto/asn1/tasn_dec.c:256,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_d2i_ex
      Src: /src/openssl/crypto/asn1/tasn_dec.c:262,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:272,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:276,1
    - Dst: ossl_asn1_get_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_dec.c:280,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:283,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:284,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_dec.c:285,1
    - Dst: ossl_asn1_item_ex_new_intern
      Src: /src/openssl/crypto/asn1/tasn_dec.c:287,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:288,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:294,1
    - Dst: asn1_template_ex_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:298,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:312,1
    - Dst: ASN1_item_ex_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:321,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:324,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_dec.c:328,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:330,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:346,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:349,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:361,1
    - Dst: ossl_asn1_item_ex_new_intern
      Src: /src/openssl/crypto/asn1/tasn_dec.c:366,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:367,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:371,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:379,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:382,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:383,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:391,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:394,1
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:399,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:401,1
    - Dst: asn1_template_ex_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:422,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:431,1
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:439,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:440,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:445,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:456,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:461,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:462,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:465,1
    - Dst: ossl_asn1_enc_save
      Src: /src/openssl/crypto/asn1/tasn_dec.c:470,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_dec.c:472,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:481,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/asn1/tasn_dec.c:484,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/asn1/tasn_dec.c:487,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 236
    argCount: 11
    argNames:
    - pval
    - in
    - len
    - it
    - tag
    - aclass
    - opt
    - ctx
    - depth
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - int
    - int
    - char
    - ASN1_TLC*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 489
    functionName: asn1_item_embed_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_do_adb
    - asn1_check_tlen
    - ossl_asn1_set_choice_selector
    - ERR_raise
    - ossl_asn1_get_field_ptr
    - ASN1_item_ex_free
    - asn1_check_eoc
    - ERR_add_error_data
    - ASN1_EXTERN_FUNCS*::asn1_ex_d2i
    - ossl_asn1_enc_save
    - asn1_cb
    - ossl_asn1_item_ex_new_intern
    - asn1_d2i_ex_primitive
    - asn1_template_ex_d2i
    - ASN1_tag2bit
    - ossl_asn1_template_free
    - ASN1_EXTERN_FUNCS*::asn1_ex_d2i_ex
    - ossl_asn1_get_choice_selector
    linkageType: ''
    returnType: int
    signature: "int asn1_item_embed_d2i(ASN1_VALUE **pval, const unsigned char **in,\n
      \                              long len, const ASN1_ITEM *it,\n                               int
      tag, int aclass, char opt, ASN1_TLC *ctx,\n                               int
      depth, OSSL_LIB_CTX *libctx,\n                               const char *propq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:525,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:530,1
    - Dst: asn1_template_noexp_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:534,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:537,1
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:545,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:553,1
    - Dst: asn1_template_noexp_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:558,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 9
    argNames:
    - val
    - in
    - inlen
    - tt
    - opt
    - ctx
    - depth
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_TEMPLATE*
    - char
    - ASN1_TLC*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 566
    functionName: asn1_template_ex_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - asn1_template_noexp_d2i
    - asn1_check_tlen
    - asn1_check_eoc
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int asn1_template_ex_d2i(ASN1_VALUE **val,\n                                const
      unsigned char **in, long inlen,\n                                const ASN1_TEMPLATE
      *tt, char opt,\n                                ASN1_TLC *ctx, int depth,\n
      \                               OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:610,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:613,1
    - Dst: sk_ASN1_VALUE_new_null
      Src: /src/openssl/crypto/asn1/tasn_dec.c:618,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_dec.c:623,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_dec.c:623,1
    - Dst: sk_ASN1_VALUE_num
      Src: /src/openssl/crypto/asn1/tasn_dec.c:625,1
    - Dst: sk_ASN1_VALUE_pop
      Src: /src/openssl/crypto/asn1/tasn_dec.c:626,1
    - Dst: ASN1_item_ex_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:627,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:627,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:632,1
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:641,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:643,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:651,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:652,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:654,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:656,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:656,1
    - Dst: sk_ASN1_VALUE_push
      Src: /src/openssl/crypto/asn1/tasn_dec.c:660,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_dec.c:660,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:661,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:662,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:662,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:667,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:672,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:673,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:676,1
    - Dst: asn1_item_embed_d2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:682,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_dec.c:682,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:685,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 97
    argCount: 9
    argNames:
    - val
    - in
    - len
    - tt
    - opt
    - ctx
    - depth
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_TEMPLATE*
    - char
    - ASN1_TLC*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 568
    functionDepth: 4
    functionLinenumber: 568
    functionLinenumberEnd: 696
    functionName: asn1_template_noexp_d2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - asn1_check_tlen
    - sk_ASN1_VALUE_new_null
    - ERR_raise
    - ASN1_item_ex_free
    - asn1_check_eoc
    - ASN1_ITEM_ptr
    - ASN1_item_free
    - STACK_OF
    - sk_ASN1_VALUE_pop
    - sk_ASN1_VALUE_num
    - asn1_item_embed_d2i
    - sk_ASN1_VALUE_push
    linkageType: ''
    returnType: int
    signature: "int asn1_template_noexp_d2i(ASN1_VALUE **val,\n                                   const
      unsigned char **in, long len,\n                                   const ASN1_TEMPLATE
      *tt, char opt,\n                                   ASN1_TLC *ctx, int depth,\n
      \                                  OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:712,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:726,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:730,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:734,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:737,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:749,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:752,1
    - Dst: asn1_tlc_clear
      Src: /src/openssl/crypto/asn1/tasn_dec.c:765,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:769,1
    - Dst: asn1_find_end
      Src: /src/openssl/crypto/asn1/tasn_dec.c:776,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:787,1
    - Dst: asn1_collect
      Src: /src/openssl/crypto/asn1/tasn_dec.c:799,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/asn1/tasn_dec.c:804,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:805,1
    - Dst: asn1_ex_c2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:818,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:825,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 93
    argCount: 8
    argNames:
    - pval
    - in
    - inlen
    - it
    - tag
    - aclass
    - opt
    - ctx
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - long
    - ASN1_ITEM*
    - int
    - int
    - char
    - ASN1_TLC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 827
    functionName: asn1_d2i_ex_primitive
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - asn1_check_tlen
    - asn1_find_end
    - asn1_tlc_clear
    - ERR_raise
    - OPENSSL_free
    - asn1_collect
    - BUF_MEM_grow_clean
    - asn1_ex_c2i
    linkageType: ''
    returnType: int
    signature: "int asn1_d2i_ex_primitive(ASN1_VALUE **pval,\n                                 const
      unsigned char **in, long inlen,\n                                 const ASN1_ITEM
      *it,\n                                 int tag, int aclass, char opt, ASN1_TLC
      *ctx)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_c2i
      Src: /src/openssl/crypto/asn1/tasn_dec.c:843,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/tasn_dec.c:847,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/tasn_dec.c:855,1
    - Dst: ossl_c2i_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/tasn_dec.c:861,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:867,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:875,1
    - Dst: ossl_c2i_ASN1_BIT_STRING
      Src: /src/openssl/crypto/asn1/tasn_dec.c:885,1
    - Dst: ossl_c2i_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/tasn_dec.c:892,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:917,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:921,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:925,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:929,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/tasn_dec.c:934,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:936,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/tasn_dec.c:946,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/tasn_dec.c:949,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:950,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:951,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/tasn_dec.c:965,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 130
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 970
    functionName: asn1_ex_c2i
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - ASN1_PRIMITIVE_FUNCS*::prim_c2i
    - ERR_raise
    - ossl_c2i_ASN1_INTEGER
    - ASN1_STRING_set0
    - ossl_c2i_ASN1_BIT_STRING
    - ASN1_STRING_free
    - ossl_c2i_ASN1_OBJECT
    - ASN1_TYPE_new
    - ASN1_STRING_type_new
    - ASN1_STRING_set
    - ASN1_TYPE_free
    - ASN1_TYPE_set
    linkageType: ''
    returnType: int
    signature: "int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int
      len,\n                       int utype, char *free_cont, const ASN1_ITEM *it)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:997,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1006,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1008,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1013,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1023,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - in
    - len
    - inf
    argTypes:
    - unsigned char**
    - long
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 1028
    functionName: asn1_find_end
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - asn1_check_tlen
    - asn1_check_eoc
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int asn1_find_end(const unsigned char **in, long len, char inf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: asn1_check_eoc
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1065,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1070,1
    - Dst: asn1_check_tlen
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1077,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1079,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1086,1
    - Dst: asn1_collect
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1089,1
    - Dst: collect_data
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1091,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1096,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 7
    argNames:
    - buf
    - in
    - len
    - inf
    - tag
    - aclass
    - depth
    argTypes:
    - BUF_MEM*
    - unsigned char**
    - long
    - char
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1101
    functionName: asn1_collect
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 2
    functionsReached:
    - asn1_check_tlen
    - asn1_check_eoc
    - ERR_raise
    - collect_data
    - asn1_collect
    linkageType: ''
    returnType: int
    signature: "int asn1_collect(BUF_MEM *buf, const unsigned char **in, long len,\n
      \                       char inf, int tag, int aclass, int depth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1110,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1113,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1114,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - p
    - plen
    argTypes:
    - BUF_MEM*
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1103
    functionDepth: 2
    functionLinenumber: 1103
    functionLinenumberEnd: 1121
    functionName: collect_data
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_grow_clean
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int collect_data(BUF_MEM *buf, const unsigned char **p, long plen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1137
    functionName: asn1_check_eoc
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int asn1_check_eoc(const unsigned char **in, long len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1159,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1182,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1199,1
    - Dst: asn1_tlc_clear
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1206,1
    - Dst: asn1_tlc_clear
      Src: /src/openssl/crypto/asn1/tasn_dec.c:1231,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 11
    argNames:
    - olen
    - otag
    - oclass
    - inf
    - cst
    - in
    - len
    - exptag
    - expclass
    - opt
    - ctx
    argTypes:
    - long*
    - int*
    - unsigned char*
    - char*
    - char*
    - unsigned char**
    - long
    - int
    - int
    - char
    - ASN1_TLC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1233
    functionName: asn1_check_tlen
    functionSourceFile: /src/openssl/crypto/asn1/tasn_dec.c
    functionUses: 6
    functionsReached:
    - ASN1_get_object
    - asn1_tlc_clear
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int asn1_check_tlen(long *olen, int *otag, unsigned char *oclass,\n
      \                          char *inf, char *cst,\n                           const
      unsigned char **in, long len,\n                           int exptag, int expclass,
      char opt, ASN1_TLC *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_item_embed_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - it
    argTypes:
    - ASN1_VALUE*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ASN1_item_free
    functionSourceFile: /src/openssl/crypto/asn1/tasn_fre.c
    functionUses: 5
    functionsReached:
    - ossl_asn1_item_embed_free
    linkageType: ''
    returnType: void
    signature: void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_item_embed_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: ASN1_item_ex_free
    functionSourceFile: /src/openssl/crypto/asn1/tasn_fre.c
    functionUses: 3
    functionsReached:
    - ossl_asn1_item_embed_free
    linkageType: ''
    returnType: void
    signature: void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:49,1
    - Dst: ossl_asn1_primitive_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:51,1
    - Dst: ossl_asn1_primitive_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:55,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_fre.c:60,1
    - Dst: ossl_asn1_get_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_fre.c:64,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_fre.c:69,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:70,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_fre.c:73,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:75,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:83,1
    - Dst: ossl_asn1_do_lock
      Src: /src/openssl/crypto/asn1/tasn_fre.c:88,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/asn1/tasn_fre.c:90,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_fre.c:95,1
    - Dst: ossl_asn1_enc_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:99,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_fre.c:110,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_fre.c:113,1
    - Dst: ossl_asn1_template_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:114,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_fre.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:119,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 3
    argNames:
    - pval
    - it
    - embed
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 124
    functionName: ossl_asn1_item_embed_free
    functionSourceFile: /src/openssl/crypto/asn1/tasn_fre.c
    functionUses: 2
    functionsReached:
    - ossl_asn1_do_adb
    - ossl_asn1_get_field_ptr
    - ossl_asn1_primitive_free
    - OPENSSL_assert
    - ossl_asn1_enc_free
    - asn1_cb
    - OPENSSL_free
    - ASN1_EXTERN_FUNCS*::asn1_ex_free
    - ossl_asn1_template_free
    - ossl_asn1_get_choice_selector
    - ossl_asn1_do_lock
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_item_embed_free(ASN1_VALUE **pval, const ASN1_ITEM *it,
      int embed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_fre.c:135,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_fre.c:135,1
    - Dst: sk_ASN1_VALUE_num
      Src: /src/openssl/crypto/asn1/tasn_fre.c:138,1
    - Dst: sk_ASN1_VALUE_value
      Src: /src/openssl/crypto/asn1/tasn_fre.c:139,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:141,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_fre.c:141,1
    - Dst: sk_ASN1_VALUE_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:143,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:146,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_fre.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pval
    - tt
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: ossl_asn1_template_free
    functionSourceFile: /src/openssl/crypto/asn1/tasn_fre.c
    functionUses: 2
    functionsReached:
    - sk_ASN1_VALUE_free
    - ossl_asn1_item_embed_free
    - ASN1_ITEM_ptr
    - STACK_OF
    - sk_ASN1_VALUE_num
    - sk_ASN1_VALUE_value
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE
      *tt)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_clear
      Src: /src/openssl/crypto/asn1/tasn_fre.c:160,1
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:164,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:189,1
    - Dst: ossl_asn1_primitive_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:203,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:204,1
    - Dst: ossl_asn1_string_embed_free
      Src: /src/openssl/crypto/asn1/tasn_fre.c:208,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - pval
    - it
    - embed
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 212
    functionName: ossl_asn1_primitive_free
    functionSourceFile: /src/openssl/crypto/asn1/tasn_fre.c
    functionUses: 2
    functionsReached:
    - ossl_asn1_string_embed_free
    - ASN1_PRIMITIVE_FUNCS*::prim_free
    - ossl_asn1_primitive_free
    - OPENSSL_free
    - ASN1_PRIMITIVE_FUNCS*::prim_clear
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it,
      int embed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/asn1/evp_asn1.c:20,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/asn1/evp_asn1.c:22,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/asn1/evp_asn1.c:23,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/evp_asn1.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - data
    - len
    argTypes:
    - ASN1_TYPE*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: ASN1_TYPE_set_octetstring
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 1
    functionsReached:
    - ASN1_OCTET_STRING_set
    - ASN1_TYPE_set
    - ASN1_OCTET_STRING_new
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/evp_asn1.c:40,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/asn1/evp_asn1.c:43,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/asn1/evp_asn1.c:44,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/evp_asn1.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - a
    - data
    - max_len
    argTypes:
    - ASN1_TYPE*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: ASN1_TYPE_get_octetstring
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data,
      int max_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - oct
    - data
    - len
    argTypes:
    - ASN1_OCTET_STRING*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: asn1_type_init_oct
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline asn1_type_init_oct(ASN1_OCTET_STRING *oct,\n                                           unsigned
      char *data, int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/asn1/evp_asn1.c:66,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/evp_asn1.c:77,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/asn1/evp_asn1.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - oct
    - anum
    - num
    - data
    - max_len
    argTypes:
    - ASN1_OCTET_STRING*
    - int32_t
    - long*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: asn1_type_get_int_oct
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: "int asn1_type_get_int_oct(ASN1_OCTET_STRING *oct, int32_t anum,\n
      \                                long *num, unsigned char *data, int max_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_type_init_oct
      Src: /src/openssl/crypto/asn1/evp_asn1.c:102,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/evp_asn1.c:104,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/evp_asn1.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - a
    - num
    - data
    - len
    argTypes:
    - ASN1_TYPE*
    - long
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: ASN1_TYPE_set_int_octetstring
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 1
    functionsReached:
    - ASN1_TYPE_pack_sequence
    - ASN1_ITEM_rptr
    - asn1_type_init_oct
    linkageType: ''
    returnType: int
    signature: "int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned
      char *data,\n                                  int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/asn1/evp_asn1.c:119,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/evp_asn1.c:119,1
    - Dst: asn1_type_get_int_oct
      Src: /src/openssl/crypto/asn1/evp_asn1.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/evp_asn1.c:128,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/asn1/evp_asn1.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - a
    - num
    - data
    - max_len
    argTypes:
    - ASN1_TYPE*
    - long*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: ASN1_TYPE_get_int_octetstring
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - M_ASN1_free_of
    - ASN1_ITEM_rptr
    - ASN1_TYPE_unpack_sequence
    - asn1_type_get_int_oct
    linkageType: ''
    returnType: int
    signature: "int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num,\n
      \                                 unsigned char *data, int max_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_type_init_oct
      Src: /src/openssl/crypto/asn1/evp_asn1.c:158,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/evp_asn1.c:160,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/evp_asn1.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - a
    - num
    - data
    - len
    argTypes:
    - ASN1_TYPE*
    - long
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: ossl_asn1_type_set_octetstring_int
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 1
    functionsReached:
    - ASN1_TYPE_pack_sequence
    - ASN1_ITEM_rptr
    - asn1_type_init_oct
    linkageType: ''
    returnType: int
    signature: "int ossl_asn1_type_set_octetstring_int(ASN1_TYPE *a, long num,\n                                       unsigned
      char *data, int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/asn1/evp_asn1.c:174,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/evp_asn1.c:174,1
    - Dst: asn1_type_get_int_oct
      Src: /src/openssl/crypto/asn1/evp_asn1.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/evp_asn1.c:183,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/asn1/evp_asn1.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - a
    - num
    - data
    - max_len
    argTypes:
    - ASN1_TYPE*
    - long*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 187
    functionName: ossl_asn1_type_get_octetstring_int
    functionSourceFile: /src/openssl/crypto/asn1/evp_asn1.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - M_ASN1_free_of
    - ASN1_ITEM_rptr
    - ASN1_TYPE_unpack_sequence
    - asn1_type_get_int_oct
    linkageType: ''
    returnType: int
    signature: "int ossl_asn1_type_get_octetstring_int(const ASN1_TYPE *a, long *num,\n
      \                                      unsigned char *data, int max_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_string.c:25,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_string.c:31,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/asn1/f_string.c:35,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_string.c:36,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - bp
    - a
    - type
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 44
    functionName: i2a_ASN1_STRING
    functionSourceFile: /src/openssl/crypto/asn1/f_string.c
    functionUses: 5
    functionsReached:
    - BIO_write
    - ossl_to_hex
    linkageType: ''
    returnType: int
    signature: int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/f_string.c:53,1
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/asn1/f_string.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_string.c:92,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_string.c:93,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/asn1/f_string.c:98,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_string.c:100,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/asn1/f_string.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_string.c:110,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_string.c:111,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/f_string.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_string.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_string.c:130,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 4
    argNames:
    - bp
    - bs
    - buf
    - size
    argTypes:
    - BIO*
    - ASN1_STRING*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 132
    functionName: a2i_ASN1_STRING
    functionSourceFile: /src/openssl/crypto/asn1/f_string.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_hexchar2int
    - BIO_gets
    - OPENSSL_free
    - OPENSSL_realloc
    - ossl_isxdigit
    linkageType: ''
    returnType: int
    signature: int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/x_info.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: X509_INFO_new
    functionSourceFile: /src/openssl/crypto/asn1/x_info.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: X509_INFO
    signature: X509_INFO *X509_INFO_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/crypto/asn1/x_info.c:32,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/asn1/x_info.c:33,1
    - Dst: X509_PKEY_free
      Src: /src/openssl/crypto/asn1/x_info.c:34,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/x_info.c:35,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/x_info.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: X509_INFO_free
    functionSourceFile: /src/openssl/crypto/asn1/x_info.c
    functionUses: 0
    functionsReached:
    - X509_free
    - OPENSSL_free
    - X509_PKEY_free
    - X509_CRL_free
    linkageType: ''
    returnType: void
    signature: void X509_INFO_free(X509_INFO *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: ASN1_TYPE_get
    functionSourceFile: /src/openssl/crypto/asn1/a_type.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASN1_TYPE_get(const ASN1_TYPE *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_primitive_free
      Src: /src/openssl/crypto/asn1/a_type.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - a
    - type
    - value
    argTypes:
    - ASN1_TYPE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: ASN1_TYPE_set
    functionSourceFile: /src/openssl/crypto/asn1/a_type.c
    functionUses: 6
    functionsReached:
    - ossl_asn1_primitive_free
    linkageType: ''
    returnType: void
    signature: void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/a_type.c:45,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/asn1/a_type.c:48,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/a_type.c:51,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/asn1/a_type.c:54,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/a_type.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - a
    - type
    - value
    argTypes:
    - ASN1_TYPE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: ASN1_TYPE_set1
    functionSourceFile: /src/openssl/crypto/asn1/a_type.c
    functionUses: 1
    functionsReached:
    - OBJ_dup
    - ASN1_TYPE_set
    - ASN1_STRING_dup
    linkageType: ''
    returnType: int
    signature: int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/asn1/a_type.c:72,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/asn1/a_type.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_TYPE*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 107
    functionName: ASN1_TYPE_cmp
    functionSourceFile: /src/openssl/crypto/asn1/a_type.c
    functionUses: 1
    functionsReached:
    - OBJ_cmp
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/asn1/a_type.c:114,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/a_type.c:121,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/asn1/a_type.c:123,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/a_type.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - it
    - s
    - t
    argTypes:
    - ASN1_ITEM*
    - void*
    - ASN1_TYPE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: ASN1_TYPE_pack_sequence
    functionSourceFile: /src/openssl/crypto/asn1/a_type.c
    functionUses: 3
    functionsReached:
    - ASN1_item_pack
    - ASN1_TYPE_set
    - ASN1_TYPE_new
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE
      **t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_unpack
      Src: /src/openssl/crypto/asn1/a_type.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - it
    - t
    argTypes:
    - ASN1_ITEM*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: ASN1_TYPE_unpack_sequence
    functionSourceFile: /src/openssl/crypto/asn1/a_type.c
    functionUses: 11
    functionsReached:
    - ASN1_item_unpack
    linkageType: ''
    returnType: void
    signature: void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE
      *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ex_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - it
    argTypes:
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ASN1_item_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 3
    functionsReached:
    - ASN1_item_ex_new
    linkageType: ''
    returnType: ASN1_VALUE
    signature: ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_embed_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: ASN1_item_new_ex
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 3
    functionsReached:
    - asn1_item_embed_new
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE *ASN1_item_new_ex(const ASN1_ITEM *it, OSSL_LIB_CTX *libctx,\n
      \                            const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_embed_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pval
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ossl_asn1_item_ex_new_intern
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 1
    functionsReached:
    - asn1_item_embed_new
    linkageType: ''
    returnType: int
    signature: "int ossl_asn1_item_ex_new_intern(ASN1_VALUE **pval, const ASN1_ITEM
      *it,\n                                 OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_embed_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ASN1_item_ex_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 1
    functionsReached:
    - asn1_item_embed_new
    linkageType: ''
    returnType: int
    signature: int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_new_ex
      Src: /src/openssl/crypto/asn1/tasn_new.c:80,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:83,1
    - Dst: asn1_template_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:91,1
    - Dst: asn1_primitive_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:93,1
    - Dst: asn1_primitive_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:98,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_new.c:104,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/tasn_new.c:112,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/tasn_new.c:114,1
    - Dst: ossl_asn1_set_choice_selector
      Src: /src/openssl/crypto/asn1/tasn_new.c:118,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_new.c:119,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_new.c:126,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/tasn_new.c:134,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/tasn_new.c:136,1
    - Dst: ossl_asn1_do_lock
      Src: /src/openssl/crypto/asn1/tasn_new.c:141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_new.c:143,1
    - Dst: ossl_asn1_enc_init
      Src: /src/openssl/crypto/asn1/tasn_new.c:148,1
    - Dst: ossl_asn1_get_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_new.c:150,1
    - Dst: asn1_template_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:151,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_new.c:154,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/openssl/crypto/asn1/tasn_new.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_new.c:163,1
    - Dst: ossl_asn1_item_embed_free
      Src: /src/openssl/crypto/asn1/tasn_new.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_new.c:169,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 110
    argCount: 5
    argNames:
    - pval
    - it
    - embed
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 172
    functionName: asn1_item_embed_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    - ossl_asn1_set_choice_selector
    - memset
    - ossl_asn1_get_field_ptr
    - ERR_raise
    - ossl_asn1_enc_init
    - ossl_asn1_item_embed_free
    - asn1_cb
    - OPENSSL_free
    - asn1_template_new
    - ASN1_EXTERN_FUNCS*::asn1_ex_new
    - asn1_primitive_new
    - ASN1_EXTERN_FUNCS*::asn1_ex_new_ex
    - ossl_asn1_do_lock
    linkageType: ''
    returnType: int
    signature: "int asn1_item_embed_new(ASN1_VALUE **pval, const ASN1_ITEM *it, int
      embed,\n                        OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:183,1
    - Dst: asn1_template_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:190,1
    - Dst: asn1_primitive_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:192,1
    - Dst: asn1_primitive_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 205
    functionName: asn1_item_clear
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 0
    functionsReached:
    - asn1_template_clear
    - ASN1_EXTERN_FUNCS*::asn1_ex_clear
    - asn1_primitive_clear
    linkageType: ''
    returnType: void
    signature: void asn1_item_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_new.c:210,1
    - Dst: asn1_template_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:219,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_new.c:230,1
    - Dst: sk_ASN1_VALUE_new_null
      Src: /src/openssl/crypto/asn1/tasn_new.c:231,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_new.c:233,1
    - Dst: asn1_item_embed_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - pval
    - tt
    - libctx
    - propq
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 245
    functionName: asn1_template_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 1
    functionsReached:
    - asn1_item_embed_new
    - sk_ASN1_VALUE_new_null
    - ERR_raise
    - asn1_template_clear
    - ASN1_ITEM_ptr
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: "int asn1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt,\n
      \                            OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:253,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_new.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pval
    - tt
    argTypes:
    - ASN1_VALUE**
    - ASN1_TEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: asn1_template_clear
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 2
    functionsReached:
    - asn1_item_clear
    - ASN1_ITEM_ptr
    linkageType: ''
    returnType: void
    signature: void asn1_template_clear(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:275,1
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:279,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/tasn_new.c:289,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/tasn_new.c:301,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/tasn_new.c:311,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/tasn_new.c:315,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 3
    argNames:
    - pval
    - it
    - embed
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 325
    functionName: asn1_primitive_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 1
    functionsReached:
    - ASN1_PRIMITIVE_FUNCS*::prim_new
    - memset
    - OBJ_nid2obj
    - ASN1_PRIMITIVE_FUNCS*::prim_clear
    - ASN1_STRING_type_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int asn1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it,\n                              int
      embed)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_clear
      Src: /src/openssl/crypto/asn1/tasn_new.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 346
    functionName: asn1_primitive_clear
    functionSourceFile: /src/openssl/crypto/asn1/tasn_new.c
    functionUses: 1
    functionsReached:
    - ASN1_PRIMITIVE_FUNCS*::prim_clear
    linkageType: ''
    returnType: void
    signature: void asn1_primitive_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/x_algor.c:37,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/x_algor.c:40,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/x_algor.c:46,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/asn1/x_algor.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - alg
    - aobj
    - ptype
    - pval
    argTypes:
    - X509_ALGOR*
    - ASN1_OBJECT*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: X509_ALGOR_set0
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 15
    functionsReached:
    - ASN1_TYPE_free
    - ASN1_TYPE_set
    - ASN1_TYPE_new
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype,
      void *pval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/x_algor.c:55,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/x_algor.c:60,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/x_algor.c:62,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/x_algor.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - nid
    - ptype
    - pval
    argTypes:
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: ossl_X509_ALGOR_from_nid
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - X509_ALGOR_set0
    - X509_ALGOR_new
    - OBJ_nid2obj
    - X509_ALGOR_free
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *ossl_X509_ALGOR_from_nid(int nid, int ptype, void *pval)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - paobj
    - pptype
    - ppval
    - algor
    argTypes:
    - ASN1_OBJECT**
    - int*
    - void**
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: X509_ALGOR_get0
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype,\n                     const
      void **ppval, const X509_ALGOR *algor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/x_algor.c:94,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/x_algor.c:94,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/asn1/x_algor.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alg
    - md
    argTypes:
    - X509_ALGOR*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: X509_ALGOR_set_md
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 3
    functionsReached:
    - X509_ALGOR_set0
    - EVP_MD_get_type
    - OBJ_nid2obj
    linkageType: ''
    returnType: void
    signature: void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/asn1/x_algor.c:100,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/openssl/crypto/asn1/x_algor.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_ALGOR*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: X509_ALGOR_cmp
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 4
    functionsReached:
    - OBJ_cmp
    - ASN1_TYPE_cmp
    linkageType: ''
    returnType: int
    signature: int X509_ALGOR_cmp(const X509_ALGOR *a, const X509_ALGOR *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/x_algor.c:114,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/x_algor.c:118,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/asn1/x_algor.c:122,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/x_algor.c:126,1
    - Dst: ASN1_TYPE_set1
      Src: /src/openssl/crypto/asn1/x_algor.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - X509_ALGOR*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: X509_ALGOR_copy
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 4
    functionsReached:
    - OBJ_dup
    - ASN1_TYPE_set1
    - ASN1_TYPE_new
    - ASN1_TYPE_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/asn1/x_algor.c:147,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/x_algor.c:149,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/asn1/x_algor.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - palg
    - md
    argTypes:
    - X509_ALGOR**
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 9
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: ossl_x509_algor_new_from_md
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - X509_ALGOR_set_md
    - X509_ALGOR_new
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: int ossl_x509_algor_new_from_md(X509_ALGOR **palg, const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/asn1/x_algor.c:162,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/crypto/asn1/x_algor.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_algor.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: ossl_x509_algor_get_md
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - EVP_get_digestbyobj
    - ERR_raise
    - EVP_sha1
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ossl_x509_algor_get_md(X509_ALGOR *alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/x_algor.c:171,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/asn1/x_algor.c:173,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/x_algor.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: ossl_x509_algor_mgf1_decode
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - ASN1_TYPE_unpack_sequence
    - OBJ_obj2nid
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *ossl_x509_algor_mgf1_decode(X509_ALGOR *alg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/asn1/x_algor.c:184,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/openssl/crypto/asn1/x_algor.c:187,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/asn1/x_algor.c:189,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/x_algor.c:189,1
    - Dst: ossl_X509_ALGOR_from_nid
      Src: /src/openssl/crypto/asn1/x_algor.c:191,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/x_algor.c:196,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/x_algor.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - palg
    - mgf1md
    argTypes:
    - X509_ALGOR**
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 10
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: ossl_x509_algor_md_to_mgf1
    functionSourceFile: /src/openssl/crypto/asn1/x_algor.c
    functionUses: 1
    functionsReached:
    - ossl_x509_algor_new_from_md
    - EVP_MD_is_a
    - ASN1_ITEM_rptr
    - ASN1_STRING_free
    - X509_ALGOR_free
    - ossl_X509_ALGOR_from_nid
    - ASN1_item_pack
    linkageType: ''
    returnType: int
    signature: int ossl_x509_algor_md_to_mgf1(X509_ALGOR **palg, const EVP_MD *mgf1md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_dup.c:26,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_dup.c:30,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_dup.c:34,1
    - Dst: d2i
      Src: /src/openssl/crypto/asn1/a_dup.c:36,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_dup.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - i2d
    - d2i
    - x
    argTypes:
    - i2d_of_void*
    - d2i_of_void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: ASN1_dup
    functionSourceFile: /src/openssl/crypto/asn1/a_dup.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - i2d
    - OPENSSL_malloc
    - d2i
    linkageType: ''
    returnType: void
    signature: void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, const void *x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/a_dup.c:71,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/a_dup.c:72,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/a_dup.c:73,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/a_dup.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_dup.c:79,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/asn1/a_dup.c:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_dup.c:84,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/a_dup.c:87,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/a_dup.c:93,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - it
    - x
    argTypes:
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 95
    functionName: ASN1_item_dup
    functionSourceFile: /src/openssl/crypto/asn1/a_dup.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ASN1_item_i2d
    - ASN1_item_d2i_ex
    - ERR_raise_data
    - asn1_cb
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *ASN1_item_dup(const ASN1_ITEM *it, const void *x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_print.c:25,1
    - Dst: ossl_isasn1print
      Src: /src/openssl/crypto/asn1/a_print.c:29,1
    - Dst: ossl_isascii
      Src: /src/openssl/crypto/asn1/a_print.c:31,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 39
    functionName: ASN1_PRINTABLE_type
    functionSourceFile: /src/openssl/crypto/asn1/a_print.c
    functionUses: 1
    functionsReached:
    - ossl_isasn1print
    - strlen
    - ossl_isascii
    linkageType: ''
    returnType: int
    signature: int ASN1_PRINTABLE_type(const unsigned char *s, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRINTABLE_type
      Src: /src/openssl/crypto/asn1/a_print.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - ASN1_UNIVERSALSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 67
    functionName: ASN1_UNIVERSALSTRING_to_string
    functionSourceFile: /src/openssl/crypto/asn1/a_print.c
    functionUses: 0
    functionsReached:
    - ASN1_PRINTABLE_type
    linkageType: ''
    returnType: int
    signature: int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_print.c:87,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_print.c:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - bp
    - v
    argTypes:
    - BIO*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: ASN1_STRING_print
    functionSourceFile: /src/openssl/crypto/asn1/a_print.c
    functionUses: 9
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:64,1
    - Dst: PBE2PARAM_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:69,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:75,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:76,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:77,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:82,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:85,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:86,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:92,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:97,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:100,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:107,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:109,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:112,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:113,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:119,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:125,1
    - Dst: PKCS5_pbkdf2_set_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:131,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:138,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:142,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:146,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:148,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:152,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:158,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:159,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:161,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 7
    argNames:
    - cipher
    - iter
    - salt
    - saltlen
    - aiv
    - prf_nid
    - libctx
    argTypes:
    - EVP_CIPHER*
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 164
    functionName: PKCS5_pbe2_set_iv_ex
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbev2.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_param_to_asn1
    - ERR_raise
    - memcpy
    - ERR_pop_to_mark
    - PBE2PARAM_new
    - X509_ALGOR_free
    - PBE2PARAM_free
    - EVP_CIPHER_CTX_ctrl
    - ASN1_TYPE_pack_sequence
    - OBJ_nid2obj
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_get_type
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_new
    - PKCS5_pbkdf2_set_ex
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - X509_ALGOR_new
    - ASN1_TYPE_new
    - EVP_CIPHER_CTX_free
    - RAND_bytes_ex
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *PKCS5_pbe2_set_iv_ex(const EVP_CIPHER *cipher, int iter,\n
      \                                unsigned char *salt, int saltlen,\n                                 unsigned
      char *aiv, int prf_nid,\n                                 OSSL_LIB_CTX *libctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cipher
    - iter
    - salt
    - saltlen
    - aiv
    - prf_nid
    argTypes:
    - EVP_CIPHER*
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 8
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: PKCS5_pbe2_set_iv
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbev2.c
    functionUses: 0
    functionsReached:
    - PKCS5_pbe2_set_iv_ex
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter,\n
      \                             unsigned char *salt, int saltlen,\n                              unsigned
      char *aiv, int prf_nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbe2_set_iv_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cipher
    - iter
    - salt
    - saltlen
    argTypes:
    - EVP_CIPHER*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 8
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: PKCS5_pbe2_set
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbev2.c
    functionUses: 0
    functionsReached:
    - PKCS5_pbe2_set_iv_ex
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,\n                           unsigned
      char *salt, int saltlen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2PARAM_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:191,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:195,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:203,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:208,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:215,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:217,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:225,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:233,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:236,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:237,1
    - Dst: ossl_X509_ALGOR_from_nid
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:244,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:246,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:255,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:259,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:263,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:265,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:269,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:273,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:274,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 6
    argNames:
    - iter
    - salt
    - saltlen
    - prf_nid
    - keylen
    - libctx
    argTypes:
    - int
    - unsigned char*
    - int
    - int
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 182
    functionDepth: 7
    functionLinenumber: 182
    functionLinenumberEnd: 276
    functionName: PKCS5_pbkdf2_set_ex
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbev2.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - memcpy
    - ASN1_ITEM_rptr
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - X509_ALGOR_new
    - PBKDF2PARAM_new
    - ASN1_TYPE_pack_sequence
    - ossl_X509_ALGOR_from_nid
    - OBJ_nid2obj
    - PBKDF2PARAM_free
    - X509_ALGOR_free
    - RAND_bytes_ex
    - ASN1_OCTET_STRING_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *PKCS5_pbkdf2_set_ex(int iter, unsigned char *salt, int
      saltlen,\n                                int prf_nid, int keylen,\n                                OSSL_LIB_CTX
      *libctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_pbkdf2_set_ex
      Src: /src/openssl/crypto/asn1/p5_pbev2.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - iter
    - salt
    - saltlen
    - prf_nid
    - keylen
    argTypes:
    - int
    - unsigned char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 8
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: PKCS5_pbkdf2_set
    functionSourceFile: /src/openssl/crypto/asn1/p5_pbev2.c
    functionUses: 1
    functionsReached:
    - PKCS5_pbkdf2_set_ex
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen,\n
      \                            int prf_nid, int keylen)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_surrogate
      Src: /src/openssl/crypto/asn1/a_utf8.c:62,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - str
    - len
    - val
    argTypes:
    - unsigned char*
    - int
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 83
    functionName: UTF8_getc
    functionSourceFile: /src/openssl/crypto/asn1/a_utf8.c
    functionUses: 1
    functionsReached:
    - is_unicode_surrogate
    linkageType: ''
    returnType: int
    signature: int UTF8_getc(const unsigned char *str, int len, unsigned long *val)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_surrogate
      Src: /src/openssl/crypto/asn1/a_utf8.c:114,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - str
    - len
    - value
    argTypes:
    - unsigned char*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 137
    functionName: UTF8_putc
    functionSourceFile: /src/openssl/crypto/asn1/a_utf8.c
    functionUses: 1
    functionsReached:
    - is_unicode_surrogate
    linkageType: ''
    returnType: int
    signature: int UTF8_putc(unsigned char *str, int len, unsigned long value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/tasn_prn.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: ASN1_PCTX_new
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_PCTX
    signature: ASN1_PCTX *ASN1_PCTX_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_prn.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ASN1_PCTX_free
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ASN1_PCTX_free(ASN1_PCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ASN1_PCTX_get_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ASN1_PCTX_get_flags(const ASN1_PCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ASN1_PCTX_set_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ASN1_PCTX_get_nm_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ASN1_PCTX_set_nm_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ASN1_PCTX_get_cert_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: ASN1_PCTX_set_cert_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: ASN1_PCTX_get_oid_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: ASN1_PCTX_set_oid_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ASN1_PCTX_get_str_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flags
    argTypes:
    - ASN1_PCTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: ASN1_PCTX_set_str_flags
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_print_ctx
      Src: /src/openssl/crypto/asn1/tasn_prn.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - out
    - ifld
    - indent
    - it
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - int
    - ASN1_ITEM*
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: ASN1_item_print
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 1
    functionsReached:
    - asn1_item_print_ctx
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_print(BIO *out, const ASN1_VALUE *ifld, int indent,\n
      \                   const ASN1_ITEM *it, const ASN1_PCTX *pctx)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: asn1_print_fsname
      Src: /src/openssl/crypto/asn1/tasn_prn.c:155,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:157,1
    - Dst: asn1_template_print_ctx
      Src: /src/openssl/crypto/asn1/tasn_prn.c:166,1
    - Dst: asn1_primitive_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:173,1
    - Dst: asn1_print_fsname
      Src: /src/openssl/crypto/asn1/tasn_prn.c:178,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:183,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:190,1
    - Dst: ossl_asn1_get_choice_selector_const
      Src: /src/openssl/crypto/asn1/tasn_prn.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:199,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_prn.c:204,1
    - Dst: asn1_template_print_ctx
      Src: /src/openssl/crypto/asn1/tasn_prn.c:205,1
    - Dst: asn1_print_fsname
      Src: /src/openssl/crypto/asn1/tasn_prn.c:211,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:218,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_prn.c:224,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_prn.c:234,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_prn.c:237,1
    - Dst: asn1_template_print_ctx
      Src: /src/openssl/crypto/asn1/tasn_prn.c:238,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:243,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_prn.c:248,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:255,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 97
    argCount: 8
    argNames:
    - out
    - fld
    - indent
    - it
    - fname
    - sname
    - nohdr
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - int
    - ASN1_ITEM*
    - char*
    - char*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 260
    functionName: asn1_item_print_ctx
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_do_adb
    - asn1_print_fsname
    - asn1_primitive_print
    - asn1_template_print_ctx
    - BIO_puts
    - asn1_cb
    - ASN1_EXTERN_FUNCS*::asn1_ex_print
    - ossl_asn1_get_choice_selector_const
    - ossl_asn1_get_const_field_ptr
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int asn1_item_print_ctx(BIO *out, const ASN1_VALUE **fld, int indent,\n
      \                              const ASN1_ITEM *it,\n                               const
      char *fname, const char *sname,\n                               int nohdr, const
      ASN1_PCTX *pctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_prn.c:270,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_prn.c:290,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:299,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:302,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_prn.c:305,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/openssl/crypto/asn1/tasn_prn.c:306,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:307,1
    - Dst: sk_const_ASN1_VALUE_value
      Src: /src/openssl/crypto/asn1/tasn_prn.c:310,1
    - Dst: asn1_item_print_ctx
      Src: /src/openssl/crypto/asn1/tasn_prn.c:311,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_prn.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:316,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:320,1
    - Dst: asn1_item_print_ctx
      Src: /src/openssl/crypto/asn1/tasn_prn.c:325,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_prn.c:325,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 5
    argNames:
    - out
    - fld
    - indent
    - tt
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - int
    - ASN1_TEMPLATE*
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 327
    functionName: asn1_template_print_ctx
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 1
    functionsReached:
    - sk_const_ASN1_VALUE_num
    - sk_const_ASN1_VALUE_value
    - BIO_puts
    - ASN1_ITEM_ptr
    - asn1_item_print_ctx
    - STACK_OF
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int asn1_template_print_ctx(BIO *out, const ASN1_VALUE **fld, int
      indent,\n                            const ASN1_TEMPLATE *tt, const ASN1_PCTX
      *pctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/tasn_prn.c:337,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/tasn_prn.c:341,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:350,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:355,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:358,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/tasn_prn.c:362,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 5
    argNames:
    - out
    - indent
    - fname
    - sname
    - pctx
    argTypes:
    - BIO*
    - int
    - char*
    - char*
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 365
    functionName: asn1_print_fsname
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - BIO_puts
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int asn1_print_fsname(BIO *out, int indent,\n                             const
      char *fname, const char *sname,\n                             const ASN1_PCTX
      *pctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - out
    - boolval
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: asn1_print_boolean
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int asn1_print_boolean(BIO *out, int boolval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2s_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/tasn_prn.c:395,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:398,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/tasn_prn.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - str
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 7
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: asn1_print_integer
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - OPENSSL_free
    - i2s_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: int asn1_print_integer(BIO *out, const ASN1_INTEGER *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/asn1/tasn_prn.c:408,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/tasn_prn.c:408,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/asn1/tasn_prn.c:411,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - oid
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: asn1_print_oid
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - OBJ_obj2txt
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int asn1_print_oid(BIO *out, const ASN1_OBJECT *oid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/tasn_prn.c:420,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:422,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/asn1/tasn_prn.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - out
    - str
    - indent
    argTypes:
    - BIO*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 429
    functionName: asn1_print_obstring
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: int
    signature: int asn1_print_obstring(BIO *out, const ASN1_STRING *str, int indent)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: asn1_print_fsname
      Src: /src/openssl/crypto/asn1/tasn_prn.c:442,1
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:445,1
    - Dst: ASN1_tag2str
      Src: /src/openssl/crypto/asn1/tasn_prn.c:464,1
    - Dst: ASN1_tag2str
      Src: /src/openssl/crypto/asn1/tasn_prn.c:467,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:473,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:479,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:481,1
    - Dst: asn1_print_boolean
      Src: /src/openssl/crypto/asn1/tasn_prn.c:491,1
    - Dst: asn1_print_integer
      Src: /src/openssl/crypto/asn1/tasn_prn.c:497,1
    - Dst: ASN1_UTCTIME_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:501,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/asn1/tasn_prn.c:505,1
    - Dst: asn1_print_oid
      Src: /src/openssl/crypto/asn1/tasn_prn.c:509,1
    - Dst: asn1_print_obstring
      Src: /src/openssl/crypto/asn1/tasn_prn.c:514,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:521,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/crypto/asn1/tasn_prn.c:523,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/openssl/crypto/asn1/tasn_prn.c:529,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/tasn_prn.c:534,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 7
    argNames:
    - out
    - fld
    - it
    - indent
    - fname
    - sname
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - char*
    - char*
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 431
    functionDepth: 8
    functionLinenumber: 431
    functionLinenumberEnd: 537
    functionName: asn1_primitive_print
    functionSourceFile: /src/openssl/crypto/asn1/tasn_prn.c
    functionUses: 1
    functionsReached:
    - ASN1_tag2str
    - asn1_print_fsname
    - asn1_print_oid
    - asn1_print_boolean
    - ASN1_UTCTIME_print
    - ASN1_GENERALIZEDTIME_print
    - BIO_puts
    - ASN1_parse_dump
    - asn1_print_integer
    - ASN1_STRING_print_ex
    - ASN1_PRIMITIVE_FUNCS*::prim_print
    - asn1_print_obstring
    linkageType: ''
    returnType: int
    signature: "int asn1_primitive_print(BIO *out, const ASN1_VALUE **fld,\n                                const
      ASN1_ITEM *it, int indent,\n                                const char *fname,
      const char *sname,\n                                const ASN1_PCTX *pctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:37,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:41,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/crypto/asn1/asn1_parse.c:46,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn1_parse.c:47,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/crypto/asn1/asn1_parse.c:47,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/asn1/asn1_parse.c:48,1
    - Dst: BIO_get_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:52,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/crypto/asn1/asn1_parse.c:53,1
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:53,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:63,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:65,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:67,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:69,1
    - Dst: ASN1_tag2str
      Src: /src/openssl/crypto/asn1/asn1_parse.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:73,1
    - Dst: BIO_set_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:76,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn1_parse.c:78,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:79,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 9
    argNames:
    - bp
    - offset
    - depth
    - hl
    - len
    - tag
    - xclass
    - constructed
    - indent
    argTypes:
    - BIO*
    - long
    - int
    - int
    - long
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 81
    functionName: asn1_print_info
    functionSourceFile: /src/openssl/crypto/asn1/asn1_parse.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ASN1_tag2str
    - BIO_set_indent
    - BIO_free
    - BIO_snprintf
    - BIO_push
    - BIO_get_indent
    - BIO_set_prefix
    - BIO_pop
    - BIO_printf
    - BIO_f_prefix
    linkageType: ''
    returnType: int
    signature: "int asn1_print_info(BIO *bp, long offset, int depth, int hl, long
      len,\n                           int tag, int xclass, int constructed, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse2
      Src: /src/openssl/crypto/asn1/asn1_parse.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pp
    - len
    - indent
    argTypes:
    - BIO*
    - unsigned char*
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ASN1_parse
    functionSourceFile: /src/openssl/crypto/asn1/asn1_parse.c
    functionUses: 0
    functionsReached:
    - asn1_parse2
    linkageType: ''
    returnType: int
    signature: int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse2
      Src: /src/openssl/crypto/asn1/asn1_parse.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - bp
    - pp
    - len
    - indent
    - dump
    argTypes:
    - BIO*
    - unsigned char*
    - long
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: ASN1_parse_dump
    functionSourceFile: /src/openssl/crypto/asn1/asn1_parse.c
    functionUses: 4
    functionsReached:
    - asn1_parse2
    linkageType: ''
    returnType: int
    signature: "int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int
      indent,\n                    int dump)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:109,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/asn1_parse.c:118,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:120,1
    - Dst: asn1_print_info
      Src: /src/openssl/crypto/asn1/asn1_parse.c:128,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:135,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:138,1
    - Dst: asn1_parse2
      Src: /src/openssl/crypto/asn1/asn1_parse.c:143,1
    - Dst: asn1_parse2
      Src: /src/openssl/crypto/asn1/asn1_parse.c:158,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:168,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:179,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:181,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/asn1_parse.c:186,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:187,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/asn1/asn1_parse.c:189,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:191,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:202,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/asn1/asn1_parse.c:209,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:227,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:229,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:236,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:239,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:246,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:249,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:259,1
    - Dst: d2i_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/asn1_parse.c:265,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:267,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:270,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:273,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:277,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:281,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:285,1
    - Dst: d2i_ASN1_ENUMERATED
      Src: /src/openssl/crypto/asn1/asn1_parse.c:291,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:293,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:296,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:299,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:303,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:307,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:311,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:315,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/asn1/asn1_parse.c:318,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:327,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn1_parse.c:330,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn1_parse.c:333,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn1_parse.c:339,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:352,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:353,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:354,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/crypto/asn1/asn1_parse.c:355,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 245
    argCount: 7
    argNames:
    - bp
    - pp
    - length
    - offset
    - depth
    - indent
    - dump
    argTypes:
    - BIO*
    - unsigned char**
    - long
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 358
    functionName: asn1_parse2
    functionSourceFile: /src/openssl/crypto/asn1/asn1_parse.c
    functionUses: 3
    functionsReached:
    - BIO_write
    - asn1_print_info
    - d2i_ASN1_ENUMERATED
    - d2i_ASN1_INTEGER
    - BIO_puts
    - ASN1_get_object
    - i2a_ASN1_OBJECT
    - d2i_ASN1_OCTET_STRING
    - ASN1_INTEGER_free
    - BIO_dump_indent
    - ASN1_OCTET_STRING_free
    - ASN1_ENUMERATED_free
    - d2i_ASN1_OBJECT
    - asn1_parse2
    - BIO_printf
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: "int asn1_parse2(BIO *bp, const unsigned char **pp, long length,\n
      \                      int offset, int depth, int indent, int dump)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - tag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 387
    functionName: ASN1_tag2str
    functionSourceFile: /src/openssl/crypto/asn1/asn1_parse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ASN1_tag2str(int tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/asn1_item_list.c:32,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/asn1_item_list.c:33,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn1_item_list.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: ASN1_ITEM_lookup
    functionSourceFile: /src/openssl/crypto/asn1/asn1_item_list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_NELEM
    - ASN1_ITEM_ptr
    linkageType: ''
    returnType: ASN1_ITEM
    signature: ASN1_ITEM *ASN1_ITEM_lookup(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/asn1_item_list.c:43,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/asn1_item_list.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ASN1_ITEM_get
    functionSourceFile: /src/openssl/crypto/asn1/asn1_item_list.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ASN1_ITEM_ptr
    linkageType: ''
    returnType: ASN1_ITEM
    signature: ASN1_ITEM *ASN1_ITEM_get(size_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_strex.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: send_bio_chars
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int send_bio_chars(void *arg, const void *buf, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/openssl/crypto/asn1/a_strex.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: send_fp_chars
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int send_fp_chars(void *arg, const void *buf, int len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: HEX_SIZE
      Src: /src/openssl/crypto/asn1/a_strex.c:72,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_strex.c:77,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:78,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_strex.c:83,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:84,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:98,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:102,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:104,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/asn1/a_strex.c:111,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:112,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:121,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:125,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 5
    argNames:
    - c
    - flags
    - do_quotes
    - io_ch
    - arg
    argTypes:
    - unsigned long
    - unsigned short
    - char*
    - char_io*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 128
    functionName: do_esc_char
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - io_ch
    - HEX_SIZE
    linkageType: ''
    returnType: int
    signature: "int do_esc_char(unsigned long c, unsigned short flags, char *do_quotes,\n
      \                      char_io *io_ch, void *arg)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_strex.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_strex.c:162,1
    - Dst: UTF8_getc
      Src: /src/openssl/crypto/asn1/a_strex.c:194,1
    - Dst: UTF8_putc
      Src: /src/openssl/crypto/asn1/a_strex.c:208,1
    - Dst: do_esc_char
      Src: /src/openssl/crypto/asn1/a_strex.c:216,1
    - Dst: do_esc_char
      Src: /src/openssl/crypto/asn1/a_strex.c:223,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 7
    argNames:
    - buf
    - buflen
    - type
    - flags
    - quotes
    - io_ch
    - arg
    argTypes:
    - unsigned char*
    - int
    - int
    - unsigned short
    - char*
    - char_io*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 231
    functionName: do_buf
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - do_esc_char
    - ERR_raise
    - UTF8_getc
    - UTF8_putc
    linkageType: ''
    returnType: int
    signature: "int do_buf(unsigned char *buf, int buflen,\n                  int
      type, unsigned short flags, char *quotes, char_io *io_ch,\n                  void
      *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/asn1/a_strex.c:245,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - io_ch
    - arg
    - buf
    - buflen
    argTypes:
    - char_io*
    - void*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: do_hex_dump
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - io_ch
    - ossl_to_hex
    linkageType: ''
    returnType: int
    signature: "int do_hex_dump(char_io *io_ch, void *arg, unsigned char *buf,\n                       int
      buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:271,1
    - Dst: do_hex_dump
      Src: /src/openssl/crypto/asn1/a_strex.c:275,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/asn1/a_strex.c:282,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_strex.c:285,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/asn1/a_strex.c:288,1
    - Dst: do_hex_dump
      Src: /src/openssl/crypto/asn1/a_strex.c:289,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_strex.c:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - lflags
    - io_ch
    - arg
    - str
    argTypes:
    - unsigned long
    - char_io*
    - void*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 294
    functionName: do_dump
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - do_hex_dump
    - io_ch
    - OPENSSL_free
    - i2d_ASN1_TYPE
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int do_dump(unsigned long lflags, char_io *io_ch, void *arg,\n                   const
      ASN1_STRING *str)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_tag2str
      Src: /src/openssl/crypto/asn1/a_strex.c:347,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_strex.c:349,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:350,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:350,1
    - Dst: do_dump
      Src: /src/openssl/crypto/asn1/a_strex.c:374,1
    - Dst: do_buf
      Src: /src/openssl/crypto/asn1/a_strex.c:393,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:401,1
    - Dst: do_buf
      Src: /src/openssl/crypto/asn1/a_strex.c:403,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:405,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - io_ch
    - arg
    - lflags
    - str
    argTypes:
    - char_io*
    - void*
    - unsigned long
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 408
    functionName: do_print_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - ASN1_tag2str
    - do_dump
    - io_ch
    - do_buf
    - strlen
    linkageType: ''
    returnType: int
    signature: "int do_print_ex(char_io *io_ch, void *arg, unsigned long lflags,\n
      \                      const ASN1_STRING *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - io_ch
    - arg
    - indent
    argTypes:
    - char_io*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: do_indent
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - io_ch
    linkageType: ''
    returnType: int
    signature: int do_indent(char_io *io_ch, void *arg, int indent)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: do_indent
      Src: /src/openssl/crypto/asn1/a_strex.c:440,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/crypto/asn1/a_strex.c:488,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/asn1/a_strex.c:491,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/crypto/asn1/a_strex.c:493,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/asn1/a_strex.c:495,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:496,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:500,1
    - Dst: do_indent
      Src: /src/openssl/crypto/asn1/a_strex.c:503,1
    - Dst: X509_NAME_ENTRY_set
      Src: /src/openssl/crypto/asn1/a_strex.c:508,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/openssl/crypto/asn1/a_strex.c:509,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/crypto/asn1/a_strex.c:510,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/a_strex.c:511,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/asn1/a_strex.c:515,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/asn1/a_strex.c:521,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/asn1/a_strex.c:524,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_strex.c:530,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:531,1
    - Dst: do_indent
      Src: /src/openssl/crypto/asn1/a_strex.c:534,1
    - Dst: io_ch
      Src: /src/openssl/crypto/asn1/a_strex.c:538,1
    - Dst: do_print_ex
      Src: /src/openssl/crypto/asn1/a_strex.c:552,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 107
    argCount: 5
    argNames:
    - io_ch
    - arg
    - n
    - indent
    - flags
    argTypes:
    - char_io*
    - void*
    - X509_NAME*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 424
    functionDepth: 5
    functionLinenumber: 424
    functionLinenumberEnd: 558
    functionName: do_name_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - X509_NAME_ENTRY_get_object
    - OBJ_obj2nid
    - OBJ_obj2txt
    - X509_NAME_ENTRY_set
    - OBJ_nid2sn
    - io_ch
    - strlen
    - X509_NAME_entry_count
    - OBJ_nid2ln
    - X509_NAME_get_entry
    - do_indent
    - do_print_ex
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: int
    signature: "int do_name_ex(char_io *io_ch, void *arg, const X509_NAME *n,\n                      int
      indent, unsigned long flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_print
      Src: /src/openssl/crypto/asn1/a_strex.c:566,1
    - Dst: do_name_ex
      Src: /src/openssl/crypto/asn1/a_strex.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - out
    - nm
    - indent
    - flags
    argTypes:
    - BIO*
    - X509_NAME*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 6
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: X509_NAME_print_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 11
    functionsReached:
    - do_name_ex
    - X509_NAME_print
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_print_ex(BIO *out, const X509_NAME *nm, int indent,\n
      \                      unsigned long flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/asn1/a_strex.c:577,1
    - Dst: X509_NAME_print
      Src: /src/openssl/crypto/asn1/a_strex.c:580,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/a_strex.c:581,1
    - Dst: do_name_ex
      Src: /src/openssl/crypto/asn1/a_strex.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - fp
    - nm
    - indent
    - flags
    argTypes:
    - FILE*
    - X509_NAME*
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 571
    functionDepth: 6
    functionLinenumber: 571
    functionLinenumberEnd: 585
    functionName: X509_NAME_print_ex_fp
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - X509_NAME_print
    - do_name_ex
    linkageType: ''
    returnType: int
    signature: "int X509_NAME_print_ex_fp(FILE *fp, const X509_NAME *nm, int indent,\n
      \                         unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_print_ex
      Src: /src/openssl/crypto/asn1/a_strex.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - str
    - flags
    argTypes:
    - BIO*
    - ASN1_STRING*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 5
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: ASN1_STRING_print_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 1
    functionsReached:
    - do_print_ex
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned
      long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_print_ex
      Src: /src/openssl/crypto/asn1/a_strex.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fp
    - str
    - flags
    argTypes:
    - FILE*
    - ASN1_STRING*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 5
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: ASN1_STRING_print_ex_fp
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 0
    functionsReached:
    - do_print_ex
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned
      long flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_mbstring_copy
      Src: /src/openssl/crypto/asn1/a_strex.c:622,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - unsigned char**
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 628
    functionName: ASN1_STRING_to_UTF8
    functionSourceFile: /src/openssl/crypto/asn1/a_strex.c
    functionUses: 4
    functionsReached:
    - ASN1_mbstring_copy
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/asn1/p8_pkey.c:28,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/asn1/p8_pkey.c:33,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: pkey_cb
    functionSourceFile: /src/openssl/crypto/asn1/p8_pkey.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: "int pkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                  void *exarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/asn1/p8_pkey.c:61,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/asn1/p8_pkey.c:64,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/p8_pkey.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 7
    argNames:
    - priv
    - aobj
    - version
    - ptype
    - pval
    - penc
    - penclen
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - ASN1_OBJECT*
    - int
    - int
    - void*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: PKCS8_pkey_set0
    functionSourceFile: /src/openssl/crypto/asn1/p8_pkey.c
    functionUses: 4
    functionsReached:
    - X509_ALGOR_set0
    - ASN1_INTEGER_set
    - ASN1_STRING_set0
    linkageType: ''
    returnType: int
    signature: "int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj,\n
      \                   int version,\n                    int ptype, void *pval,
      unsigned char *penc, int penclen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/asn1/p8_pkey.c:78,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/asn1/p8_pkey.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ppkalg
    - pk
    - ppklen
    - pa
    - p8
    argTypes:
    - ASN1_OBJECT**
    - unsigned char**
    - int*
    - X509_ALGOR**
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: PKCS8_pkey_get0
    functionSourceFile: /src/openssl/crypto/asn1/p8_pkey.c
    functionUses: 7
    functionsReached:
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: "int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg,\n                    const
      unsigned char **pk, int *ppklen,\n                    const X509_ALGOR **pa,
      const PKCS8_PRIV_KEY_INFO *p8)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p8
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: PKCS8_pkey_get0_attrs
    functionSourceFile: /src/openssl/crypto/asn1/p8_pkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: 'STACK_OF *

      PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_NID
      Src: /src/openssl/crypto/asn1/p8_pkey.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - p8
    - nid
    - type
    - bytes
    - len
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: PKCS8_pkey_add1_attr_by_NID
    functionSourceFile: /src/openssl/crypto/asn1/p8_pkey.c
    functionUses: 1
    functionsReached:
    - X509at_add1_attr_by_NID
    linkageType: ''
    returnType: int
    signature: "int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid,
      int type,\n                                const unsigned char *bytes, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr_by_OBJ
      Src: /src/openssl/crypto/asn1/p8_pkey.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - p8
    - obj
    - type
    - bytes
    - len
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - ASN1_OBJECT*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: PKCS8_pkey_add1_attr_by_OBJ
    functionSourceFile: /src/openssl/crypto/asn1/p8_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr_by_OBJ
    linkageType: ''
    returnType: int
    signature: "int PKCS8_pkey_add1_attr_by_OBJ(PKCS8_PRIV_KEY_INFO *p8, const ASN1_OBJECT
      *obj, int type,\n                                const unsigned char *bytes,
      int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509at_add1_attr
      Src: /src/openssl/crypto/asn1/p8_pkey.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p8
    - attr
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - X509_ATTRIBUTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: PKCS8_pkey_add1_attr
    functionSourceFile: /src/openssl/crypto/asn1/p8_pkey.c
    functionUses: 0
    functionsReached:
    - X509at_add1_attr
    linkageType: ''
    returnType: int
    signature: int PKCS8_pkey_add1_attr(PKCS8_PRIV_KEY_INFO *p8, X509_ATTRIBUTE *attr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:54,1
    - Dst: EVP_PBE_scrypt
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:59,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:65,1
    - Dst: PBE2PARAM_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:71,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:78,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:81,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:86,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:88,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:88,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:89,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:89,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:95,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:100,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:103,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:106,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:112,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:116,1
    - Dst: pkcs5_scrypt_set
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:121,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:129,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:133,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:137,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:139,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:143,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:149,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:150,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:151,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 7
    argNames:
    - cipher
    - salt
    - saltlen
    - aiv
    - N
    - r
    - p
    argTypes:
    - EVP_CIPHER*
    - unsigned char*
    - int
    - unsigned char*
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 41
    functionDepth: 8
    functionLinenumber: 41
    functionLinenumberEnd: 154
    functionName: PKCS5_pbe2_set_scrypt
    functionSourceFile: /src/openssl/crypto/asn1/p5_scrypt.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_param_to_asn1
    - ERR_raise
    - memcpy
    - PBE2PARAM_new
    - X509_ALGOR_free
    - PBE2PARAM_free
    - ASN1_TYPE_pack_sequence
    - OBJ_nid2obj
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_type
    - EVP_CipherInit_ex
    - pkcs5_scrypt_set
    - EVP_PBE_scrypt
    - EVP_CIPHER_CTX_new
    - ASN1_ITEM_rptr
    - RAND_bytes
    - X509_ALGOR_new
    - ASN1_TYPE_new
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *PKCS5_pbe2_set_scrypt(const EVP_CIPHER *cipher,\n                                  const
      unsigned char *salt, int saltlen,\n                                  unsigned
      char *aiv, uint64_t N, uint64_t r,\n                                  uint64_t
      p)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SCRYPT_PARAMS_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:164,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:172,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:173,1
    - Dst: RAND_bytes
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:177,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:181,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:186,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:191,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:200,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:204,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:213,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:217,1
    - Dst: ASN1_TYPE_pack_sequence
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:221,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:223,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:227,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:231,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:232,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 6
    argNames:
    - salt
    - saltlen
    - keylen
    - N
    - r
    - p
    argTypes:
    - unsigned char*
    - int
    - size_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 156
    functionDepth: 8
    functionLinenumber: 156
    functionLinenumberEnd: 234
    functionName: pkcs5_scrypt_set
    functionSourceFile: /src/openssl/crypto/asn1/p5_scrypt.c
    functionUses: 1
    functionsReached:
    - SCRYPT_PARAMS_new
    - ERR_raise
    - ASN1_INTEGER_set_uint64
    - ASN1_INTEGER_new
    - ASN1_ITEM_rptr
    - SCRYPT_PARAMS_free
    - RAND_bytes
    - X509_ALGOR_new
    - ASN1_TYPE_pack_sequence
    - X509_ALGOR_free
    - OBJ_nid2obj
    - ASN1_STRING_set
    - ASN1_INTEGER_set_int64
    linkageType: ''
    returnType: X509_ALGOR
    signature: "X509_ALGOR *pkcs5_scrypt_set(const unsigned char *salt, int saltlen,\n
      \                                   size_t keylen, uint64_t N, uint64_t r,\n
      \                                   uint64_t p)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:248,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:249,1
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:255,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:255,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:258,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:264,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:275,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:280,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:281,1
    - Dst: ASN1_INTEGER_get_uint64
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:282,1
    - Dst: EVP_PBE_scrypt_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:283,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:285,1
    - Dst: EVP_PBE_scrypt_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:293,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:296,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:299,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:300,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 9
    argNames:
    - ctx
    - pass
    - passlen
    - param
    - c
    - md
    - en_de
    - libctx
    - propq
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 302
    functionName: PKCS5_v2_scrypt_keyivgen_ex
    functionSourceFile: /src/openssl/crypto/asn1/p5_scrypt.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get_uint64
    - EVP_CIPHER_CTX_get0_cipher
    - OPENSSL_cleanse
    - ERR_raise
    - ASN1_ITEM_rptr
    - EVP_CIPHER_CTX_get_key_length
    - SCRYPT_PARAMS_free
    - ASN1_TYPE_unpack_sequence
    - EVP_CipherInit_ex
    - EVP_PBE_scrypt_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS5_v2_scrypt_keyivgen_ex(EVP_CIPHER_CTX *ctx, const char *pass,\n
      \                               int passlen, ASN1_TYPE *param,\n                                const
      EVP_CIPHER *c, const EVP_MD *md, int en_de,\n                                OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS5_v2_scrypt_keyivgen_ex
      Src: /src/openssl/crypto/asn1/p5_scrypt.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - pass
    - passlen
    - param
    - c
    - md
    - en_de
    argTypes:
    - EVP_CIPHER_CTX*
    - char*
    - int
    - ASN1_TYPE*
    - EVP_CIPHER*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 7
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: PKCS5_v2_scrypt_keyivgen
    functionSourceFile: /src/openssl/crypto/asn1/p5_scrypt.c
    functionUses: 0
    functionsReached:
    - PKCS5_v2_scrypt_keyivgen_ex
    linkageType: ''
    returnType: int
    signature: "int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass,\n
      \                            int passlen, ASN1_TYPE *param,\n                             const
      EVP_CIPHER *c, const EVP_MD *md, int en_de)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/asn1/d2i_pu.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pu.c:36,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/crypto/asn1/d2i_pu.c:43,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/asn1/d2i_pu.c:44,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/crypto/asn1/d2i_pu.c:45,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/asn1/d2i_pu.c:51,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/crypto/asn1/d2i_pu.c:52,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pu.c:53,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/crypto/asn1/d2i_pu.c:57,1
    - Dst: d2i_RSAPublicKey
      Src: /src/openssl/crypto/asn1/d2i_pu.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pu.c:60,1
    - Dst: d2i_DSAPublicKey
      Src: /src/openssl/crypto/asn1/d2i_pu.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pu.c:67,1
    - Dst: o2i_ECPublicKey
      Src: /src/openssl/crypto/asn1/d2i_pu.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pu.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/d2i_pu.c:86,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pu.c:91,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pu.c:95,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/d2i_pu.c:96,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 4
    argNames:
    - type
    - a
    - pp
    - length
    argTypes:
    - int
    - EVP_PKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 28
    functionDepth: 6
    functionLinenumber: 28
    functionLinenumberEnd: 98
    functionName: d2i_PublicKey
    functionSourceFile: /src/openssl/crypto/asn1/d2i_pu.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - d2i_DSAPublicKey
    - EVP_PKEY_get_id
    - evp_pkey_copy_downgraded
    - EVP_PKEY_free
    - d2i_RSAPublicKey
    - EVP_PKEY_get_base_id
    - evp_pkey_is_provided
    - o2i_ECPublicKey
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char
      **pp,\n                        long length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - sig
    - palg
    - pdigest
    argTypes:
    - X509_SIG*
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: X509_SIG_get0
    functionSourceFile: /src/openssl/crypto/asn1/x_sig.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_SIG_get0(const X509_SIG *sig, const X509_ALGOR **palg,\n
      \                  const ASN1_OCTET_STRING **pdigest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - sig
    - palg
    - pdigest
    argTypes:
    - X509_SIG*
    - X509_ALGOR**
    - ASN1_OCTET_STRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: X509_SIG_getm
    functionSourceFile: /src/openssl/crypto/asn1/x_sig.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void X509_SIG_getm(X509_SIG *sig, X509_ALGOR **palg,\n                   ASN1_OCTET_STRING
      **pdigest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_to_tm
      Src: /src/openssl/crypto/asn1/a_utctm.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tm
    - d
    argTypes:
    - struct tm*
    - ASN1_UTCTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: ossl_asn1_utctime_to_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_time_to_tm
    linkageType: ''
    returnType: int
    signature: int ossl_asn1_utctime_to_tm(struct tm *tm, const ASN1_UTCTIME *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_utctime_to_tm
      Src: /src/openssl/crypto/asn1/a_utctm.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - ASN1_UTCTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ASN1_UTCTIME_check
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_utctime_to_tm
    linkageType: ''
    returnType: int
    signature: int ASN1_UTCTIME_check(const ASN1_UTCTIME *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_utctm.c:39,1
    - Dst: ASN1_UTCTIME_check
      Src: /src/openssl/crypto/asn1/a_utctm.c:46,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/asn1/a_utctm.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_UTCTIME*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: ASN1_UTCTIME_set_string
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 1
    functionsReached:
    - strlen
    - ASN1_STRING_copy
    - ASN1_UTCTIME_check
    linkageType: ''
    returnType: int
    signature: int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTCTIME_adj
      Src: /src/openssl/crypto/asn1/a_utctm.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_UTCTIME*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ASN1_UTCTIME_set
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 0
    functionsReached:
    - ASN1_UTCTIME_adj
    linkageType: ''
    returnType: ASN1_UTCTIME
    signature: ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/asn1/a_utctm.c:66,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/crypto/asn1/a_utctm.c:71,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_utctm.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - s
    - t
    - offset_day
    - offset_sec
    argTypes:
    - ASN1_UTCTIME*
    - time_t
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: ASN1_UTCTIME_adj
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 2
    functionsReached:
    - OPENSSL_gmtime_adj
    - ossl_asn1_time_from_tm
    - OPENSSL_gmtime
    linkageType: ''
    returnType: ASN1_UTCTIME
    signature: "ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,\n                               int
      offset_day, long offset_sec)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_utctime_to_tm
      Src: /src/openssl/crypto/asn1/a_utctm.c:83,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/asn1/a_utctm.c:86,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/crypto/asn1/a_utctm.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_UTCTIME*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: ASN1_UTCTIME_cmp_time_t
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_utctime_to_tm
    - OPENSSL_gmtime_diff
    - OPENSSL_gmtime
    linkageType: ''
    returnType: int
    signature: int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_print
      Src: /src/openssl/crypto/asn1/a_utctm.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - tm
    argTypes:
    - BIO*
    - ASN1_UTCTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: ASN1_UTCTIME_print
    functionSourceFile: /src/openssl/crypto/asn1/a_utctm.c
    functionUses: 1
    functionsReached:
    - ASN1_TIME_print
    linkageType: ''
    returnType: int
    signature: int ASN1_UTCTIME_print(BIO *bp, const ASN1_UTCTIME *tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: COPY_SIZE
    functionSourceFile: /src/openssl/crypto/asn1/x_long.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_SIZE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_long.c:51,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: long_new
    functionSourceFile: /src/openssl/crypto/asn1/x_long.c
    functionUses: 0
    functionsReached:
    - memcpy
    - COPY_SIZE
    linkageType: ''
    returnType: int
    signature: int long_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_long.c:57,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: long_free
    functionSourceFile: /src/openssl/crypto/asn1/x_long.c
    functionUses: 0
    functionsReached:
    - memcpy
    - COPY_SIZE
    linkageType: ''
    returnType: void
    signature: void long_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: num_bits_ulong
    functionSourceFile: /src/openssl/crypto/asn1/x_long.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_bits_ulong(unsigned long value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_long.c:92,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:92,1
    - Dst: num_bits_ulong
      Src: /src/openssl/crypto/asn1/x_long.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pval
    - cont
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 126
    functionName: long_i2c
    functionSourceFile: /src/openssl/crypto/asn1/x_long.c
    functionUses: 0
    functionsReached:
    - memcpy
    - num_bits_ulong
    - COPY_SIZE
    linkageType: ''
    returnType: int
    signature: "int long_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype,\n
      \                   const ASN1_ITEM *it)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_long.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_long.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_long.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_long.c:182,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_long.c:185,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 187
    functionName: long_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_long.c
    functionUses: 0
    functionsReached:
    - memcpy
    - COPY_SIZE
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int long_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,\n
      \                   int utype, char *free_cont, const ASN1_ITEM *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_long.c:194,1
    - Dst: COPY_SIZE
      Src: /src/openssl/crypto/asn1/x_long.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/x_long.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - out
    - pval
    - it
    - indent
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: long_print
    functionSourceFile: /src/openssl/crypto/asn1/x_long.c
    functionUses: 0
    functionsReached:
    - memcpy
    - COPY_SIZE
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int long_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM
      *it,\n                      int indent, const ASN1_PCTX *pctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/x_int64.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: uint64_new
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int uint64_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/x_int64.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: uint64_free
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void uint64_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: uint64_clear
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint64_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_int64.c:56,1
    - Dst: ossl_i2c_uint64_int
      Src: /src/openssl/crypto/asn1/x_int64.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pval
    - cont
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: uint64_i2c
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_i2c_uint64_int
    linkageType: ''
    returnType: int
    signature: "int uint64_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype,\n
      \                     const ASN1_ITEM *it)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uint64_new
      Src: /src/openssl/crypto/asn1/x_int64.c:78,1
    - Dst: ossl_c2i_uint64_int
      Src: /src/openssl/crypto/asn1/x_int64.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:100,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_int64.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 110
    functionName: uint64_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - uint64_new
    - ERR_raise
    - ossl_c2i_uint64_int
    linkageType: ''
    returnType: int
    signature: "int uint64_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,\n
      \                     int utype, char *free_cont, const ASN1_ITEM *it)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/x_int64.c:116,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/x_int64.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - out
    - pval
    - it
    - indent
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: uint64_print
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int uint64_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM
      *it,\n                        int indent, const ASN1_PCTX *pctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/x_int64.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: uint32_new
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: int
    signature: int uint32_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/x_int64.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: uint32_free
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void uint32_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: uint32_clear
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint32_clear(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_int64.c:149,1
    - Dst: ossl_i2c_uint64_int
      Src: /src/openssl/crypto/asn1/x_int64.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pval
    - cont
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: uint32_i2c
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_i2c_uint64_int
    linkageType: ''
    returnType: int
    signature: "int uint32_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype,\n
      \                     const ASN1_ITEM *it)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uint64_new
      Src: /src/openssl/crypto/asn1/x_int64.c:179,1
    - Dst: ossl_c2i_uint64_int
      Src: /src/openssl/crypto/asn1/x_int64.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/x_int64.c:208,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/x_int64.c:215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 217
    functionName: uint32_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - memcpy
    - uint64_new
    - ERR_raise
    - ossl_c2i_uint64_int
    linkageType: ''
    returnType: int
    signature: "int uint32_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,\n
      \                     int utype, char *free_cont, const ASN1_ITEM *it)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/x_int64.c:223,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/x_int64.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - out
    - pval
    - it
    - indent
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: uint32_print
    functionSourceFile: /src/openssl/crypto/asn1/x_int64.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int uint32_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM
      *it,\n                        int indent, const ASN1_PCTX *pctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY_ASN1_METHOD**
    - EVP_PKEY_ASN1_METHOD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ameth_cmp
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ameth_cmp(const EVP_PKEY_ASN1_METHOD *const *a,\n                     const
      EVP_PKEY_ASN1_METHOD *const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/ameth_lib.c:42,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_num
      Src: /src/openssl/crypto/asn1/ameth_lib.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: EVP_PKEY_asn1_get_count
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 3
    functionsReached:
    - sk_EVP_PKEY_ASN1_METHOD_num
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_asn1_get_count(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/ameth_lib.c:50,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_value
      Src: /src/openssl/crypto/asn1/ameth_lib.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: EVP_PKEY_asn1_get0
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 3
    functionsReached:
    - sk_EVP_PKEY_ASN1_METHOD_value
    - OSSL_NELEM
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_PKEY_ASN1_METHOD_find
      Src: /src/openssl/crypto/asn1/ameth_lib.c:67,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_value
      Src: /src/openssl/crypto/asn1/ameth_lib.c:69,1
    - Dst: OBJ_bsearch_ameth
      Src: /src/openssl/crypto/asn1/ameth_lib.c:71,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/ameth_lib.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: pkey_asn1_find
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached:
    - sk_EVP_PKEY_ASN1_METHOD_value
    - sk_EVP_PKEY_ASN1_METHOD_find
    - OSSL_NELEM
    - OBJ_bsearch_ameth
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *pkey_asn1_find(int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkey_asn1_find
      Src: /src/openssl/crypto/asn1/ameth_lib.c:88,1
    - Dst: ENGINE_get_pkey_asn1_meth_engine
      Src: /src/openssl/crypto/asn1/ameth_lib.c:97,1
    - Dst: ENGINE_get_pkey_asn1_meth
      Src: /src/openssl/crypto/asn1/ameth_lib.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pe
    - type
    argTypes:
    - ENGINE**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: EVP_PKEY_asn1_find
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 7
    functionsReached:
    - ENGINE_get_pkey_asn1_meth_engine
    - ENGINE_get_pkey_asn1_meth
    - pkey_asn1_find
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/ameth_lib.c:115,1
    - Dst: ENGINE_pkey_asn1_find_str
      Src: /src/openssl/crypto/asn1/ameth_lib.c:119,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/asn1/ameth_lib.c:124,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/asn1/ameth_lib.c:126,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/openssl/crypto/asn1/ameth_lib.c:133,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/openssl/crypto/asn1/ameth_lib.c:134,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/ameth_lib.c:137,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/asn1/ameth_lib.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pe
    - str
    - len
    argTypes:
    - ENGINE**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 142
    functionName: EVP_PKEY_asn1_find_str
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 6
    functionsReached:
    - ENGINE_free
    - ENGINE_init
    - ENGINE_pkey_asn1_find_str
    - OPENSSL_strncasecmp
    - EVP_PKEY_asn1_get_count
    - EVP_PKEY_asn1_get0
    - strlen
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: "EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe,\n                                                   const
      char *str, int len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/ameth_lib.c:160,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_new
      Src: /src/openssl/crypto/asn1/ameth_lib.c:165,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_find
      Src: /src/openssl/crypto/asn1/ameth_lib.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/ameth_lib.c:172,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_push
      Src: /src/openssl/crypto/asn1/ameth_lib.c:177,1
    - Dst: sk_EVP_PKEY_ASN1_METHOD_sort
      Src: /src/openssl/crypto/asn1/ameth_lib.c:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 181
    functionName: EVP_PKEY_asn1_add0
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached:
    - sk_EVP_PKEY_ASN1_METHOD_new
    - ERR_raise
    - sk_EVP_PKEY_ASN1_METHOD_push
    - sk_EVP_PKEY_ASN1_METHOD_sort
    - sk_EVP_PKEY_ASN1_METHOD_find
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_new
      Src: /src/openssl/crypto/asn1/ameth_lib.c:186,1
    - Dst: EVP_PKEY_asn1_add0
      Src: /src/openssl/crypto/asn1/ameth_lib.c:190,1
    - Dst: EVP_PKEY_asn1_free
      Src: /src/openssl/crypto/asn1/ameth_lib.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: EVP_PKEY_asn1_add_alias
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_asn1_new
    - EVP_PKEY_asn1_free
    - EVP_PKEY_asn1_add0
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_asn1_add_alias(int to, int from)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - ppkey_id
    - ppkey_base_id
    - ppkey_flags
    - pinfo
    - ppem_str
    - ameth
    argTypes:
    - int*
    - int*
    - int*
    - char**
    - char**
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: EVP_PKEY_asn1_get0_info
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *ppkey_base_id,\n                            int
      *ppkey_flags, const char **pinfo,\n                            const char **ppem_str,\n
      \                           const EVP_PKEY_ASN1_METHOD *ameth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: EVP_PKEY_get0_asn1
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/ameth_lib.c:225,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/asn1/ameth_lib.c:235,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/asn1/ameth_lib.c:241,1
    - Dst: EVP_PKEY_asn1_free
      Src: /src/openssl/crypto/asn1/ameth_lib.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - id
    - flags
    - pem_str
    - info
    argTypes:
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 251
    functionName: EVP_PKEY_asn1_new
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - EVP_PKEY_asn1_free
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: "EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags,\n                                        const
      char *pem_str, const char *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: EVP_PKEY_asn1_copy
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst,\n                        const
      EVP_PKEY_ASN1_METHOD *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/ameth_lib.c:275,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/ameth_lib.c:276,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/ameth_lib.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: EVP_PKEY_asn1_free
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: EVP_PKEY_asn1_set_public
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,\n                              int
      (*pub_decode) (EVP_PKEY *pk,\n                                                 const
      X509_PUBKEY *pub),\n                              int (*pub_encode) (X509_PUBKEY
      *pub,\n                                                 const EVP_PKEY *pk),\n
      \                             int (*pub_cmp) (const EVP_PKEY *a,\n                                              const
      EVP_PKEY *b),\n                              int (*pub_print) (BIO *out,\n                                                const
      EVP_PKEY *pkey,\n                                                int indent,
      ASN1_PCTX *pctx),\n                              int (*pkey_size) (const EVP_PKEY
      *pk),\n                              int (*pkey_bits) (const EVP_PKEY *pk))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: EVP_PKEY_asn1_set_private
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,\n                               int
      (*priv_decode) (EVP_PKEY *pk,\n                                                   const
      PKCS8_PRIV_KEY_INFO\n                                                   *p8inf),\n
      \                              int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8,\n
      \                                                  const EVP_PKEY *pk),\n                               int
      (*priv_print) (BIO *out,\n                                                  const
      EVP_PKEY *pkey,\n                                                  int indent,\n
      \                                                 ASN1_PCTX *pctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 339
    functionName: EVP_PKEY_asn1_set_param
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,\n                             int
      (*param_decode) (EVP_PKEY *pkey,\n                                                  const
      unsigned char **pder,\n                                                  int
      derlen),\n                             int (*param_encode) (const EVP_PKEY *pkey,\n
      \                                                 unsigned char **pder),\n                             int
      (*param_missing) (const EVP_PKEY *pk),\n                             int (*param_copy)
      (EVP_PKEY *to,\n                                                const EVP_PKEY
      *from),\n                             int (*param_cmp) (const EVP_PKEY *a,\n
      \                                              const EVP_PKEY *b),\n                             int
      (*param_print) (BIO *out,\n                                                 const
      EVP_PKEY *pkey,\n                                                 int indent,
      ASN1_PCTX *pctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: EVP_PKEY_asn1_set_free
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,\n                            void
      (*pkey_free) (EVP_PKEY *pkey))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: EVP_PKEY_asn1_set_ctrl
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,\n                            int
      (*pkey_ctrl) (EVP_PKEY *pkey, int op,\n                                              long
      arg1, void *arg2))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: EVP_PKEY_asn1_set_security_bits
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,\n
      \                                    int (*pkey_security_bits) (const EVP_PKEY\n
      \                                                               *pk))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 377
    functionName: EVP_PKEY_asn1_set_item
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth,\n                            int
      (*item_verify) (EVP_MD_CTX *ctx,\n                                                const
      ASN1_ITEM *it,\n                                                const void *data,\n
      \                                               const X509_ALGOR *a,\n                                                const
      ASN1_BIT_STRING *sig,\n                                                EVP_PKEY
      *pkey),\n                            int (*item_sign) (EVP_MD_CTX *ctx,\n                                              const
      ASN1_ITEM *it,\n                                              const void *data,\n
      \                                             X509_ALGOR *alg1,\n                                              X509_ALGOR
      *alg2,\n                                              ASN1_BIT_STRING *sig))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: EVP_PKEY_asn1_set_siginf
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_siginf(EVP_PKEY_ASN1_METHOD *ameth,\n                              int
      (*siginf_set) (X509_SIG_INFO *siginf,\n                                                 const
      X509_ALGOR *alg,\n                                                 const ASN1_STRING
      *sig))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: EVP_PKEY_asn1_set_check
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_check(EVP_PKEY_ASN1_METHOD *ameth,\n                             int
      (*pkey_check) (const EVP_PKEY *pk))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: EVP_PKEY_asn1_set_public_check
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth,\n
      \                                   int (*pkey_pub_check) (const EVP_PKEY *pk))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: EVP_PKEY_asn1_set_param_check
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth,\n
      \                                  int (*pkey_param_check) (const EVP_PKEY *pk))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: EVP_PKEY_asn1_set_set_priv_key
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth,\n
      \                                   int (*set_priv_key) (EVP_PKEY *pk,\n                                                         const
      unsigned char\n                                                            *priv,\n
      \                                                        size_t len))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: EVP_PKEY_asn1_set_set_pub_key
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth,\n
      \                                  int (*set_pub_key) (EVP_PKEY *pk,\n                                                       const
      unsigned char *pub,\n                                                       size_t
      len))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: EVP_PKEY_asn1_set_get_priv_key
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_get_priv_key(EVP_PKEY_ASN1_METHOD *ameth,\n
      \                                   int (*get_priv_key) (const EVP_PKEY *pk,\n
      \                                                        unsigned char *priv,\n
      \                                                        size_t *len))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ameth
    argTypes:
    - EVP_PKEY_ASN1_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: EVP_PKEY_asn1_set_get_pub_key
    functionSourceFile: /src/openssl/crypto/asn1/ameth_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EVP_PKEY_asn1_set_get_pub_key(EVP_PKEY_ASN1_METHOD *ameth,\n
      \                                  int (*get_pub_key) (const EVP_PKEY *pk,\n
      \                                                      unsigned char *pub,\n
      \                                                      size_t *len))"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_int.c:25,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_int.c:31,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_int.c:37,1
    - Dst: ossl_to_hex
      Src: /src/openssl/crypto/asn1/f_int.c:41,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/f_int.c:42,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 50
    functionName: i2a_ASN1_INTEGER
    functionSourceFile: /src/openssl/crypto/asn1/f_int.c
    functionUses: 7
    functionsReached:
    - BIO_write
    - ossl_to_hex
    linkageType: ''
    returnType: int
    signature: int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/f_int.c:61,1
    - Dst: ossl_isxdigit
      Src: /src/openssl/crypto/asn1/f_int.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_int.c:100,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_int.c:101,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/crypto/asn1/f_int.c:106,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_int.c:108,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/crypto/asn1/f_int.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_int.c:118,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/f_int.c:127,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/f_int.c:135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/f_int.c:136,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 4
    argNames:
    - bp
    - bs
    - buf
    - size
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 138
    functionName: a2i_ASN1_INTEGER
    functionSourceFile: /src/openssl/crypto/asn1/f_int.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_hexchar2int
    - BIO_gets
    - OPENSSL_free
    - OPENSSL_clear_realloc
    - ossl_isxdigit
    linkageType: ''
    returnType: int
    signature: int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/f_int.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 5
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: i2a_ASN1_ENUMERATED
    functionSourceFile: /src/openssl/crypto/asn1/f_int.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: a2i_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/f_int.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - bp
    - bs
    - buf
    - size
    argTypes:
    - BIO*
    - ASN1_ENUMERATED*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: a2i_ASN1_ENUMERATED
    functionSourceFile: /src/openssl/crypto/asn1/f_int.c
    functionUses: 0
    functionsReached:
    - a2i_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int
      size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/t_pkey.c:27,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/asn1/t_pkey.c:29,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_pkey.c:36,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/t_pkey.c:40,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - bp
    - buf
    - buflen
    - indent
    argTypes:
    - BIO*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: ASN1_buf_print
    functionSourceFile: /src/openssl/crypto/asn1/t_pkey.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - BIO_puts
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen,
      int indent)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/asn1/t_pkey.c:55,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/asn1/t_pkey.c:56,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/asn1/t_pkey.c:58,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_pkey.c:59,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/asn1/t_pkey.c:64,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_pkey.c:65,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/asn1/t_pkey.c:66,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/asn1/t_pkey.c:67,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/asn1/t_pkey.c:72,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/t_pkey.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_pkey.c:77,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/asn1/t_pkey.c:80,1
    - Dst: ASN1_buf_print
      Src: /src/openssl/crypto/asn1/t_pkey.c:87,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/t_pkey.c:91,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - bp
    - number
    - num
    - ign
    - indent
    argTypes:
    - BIO*
    - char*
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 93
    functionName: ASN1_bn_print
    functionSourceFile: /src/openssl/crypto/asn1/t_pkey.c
    functionUses: 5
    functionsReached:
    - bn_get_words
    - BN_num_bytes
    - OPENSSL_clear_free
    - BN_is_negative
    - ASN1_buf_print
    - BN_is_zero
    - BIO_indent
    - BN_bn2bin
    - OPENSSL_malloc
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num,\n
      \                 unsigned char *ign, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: ASN1_GEN_STR
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASN1_GEN_STR(str,val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_generate_v3
      Src: /src/openssl/crypto/asn1/asn1_gen.c:84,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/crypto/asn1/asn1_gen.c:86,1
    - Dst: ASN1_generate_v3
      Src: /src/openssl/crypto/asn1/asn1_gen.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - nconf
    argTypes:
    - char*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: ASN1_generate_nconf
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 1
    functionsReached:
    - X509V3_set_nconf
    - ASN1_generate_v3
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_v3
      Src: /src/openssl/crypto/asn1/asn1_gen.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - cnf
    argTypes:
    - char*
    - X509V3_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: ASN1_generate_v3
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 3
    functionsReached:
    - generate_v3
    - ERR_raise
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/openssl/crypto/asn1/asn1_gen.c:121,1
    - Dst: asn1_multi
      Src: /src/openssl/crypto/asn1/asn1_gen.c:136,1
    - Dst: asn1_str2type
      Src: /src/openssl/crypto/asn1/asn1_gen.c:138,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/crypto/asn1/asn1_gen.c:148,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:149,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/asn1_gen.c:158,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/asn1_gen.c:179,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/asn1_gen.c:191,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn1_gen.c:196,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/asn1_gen.c:208,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/asn1_gen.c:221,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/asn1_gen.c:226,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/crypto/asn1/asn1_gen.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:234,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:235,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 4
    argNames:
    - str
    - cnf
    - depth
    - perr
    argTypes:
    - char*
    - X509V3_CTX*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 239
    functionName: generate_v3
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 4
    functionsReached:
    - asn1_multi
    - d2i_ASN1_TYPE
    - memcpy
    - ASN1_put_object
    - CONF_parse_list
    - ASN1_get_object
    - OPENSSL_free
    - i2d_ASN1_TYPE
    - ASN1_object_size
    - asn1_str2type
    - ASN1_TYPE_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_TYPE
    signature: "ASN1_TYPE *generate_v3(const char *str, X509V3_CTX *cnf, int depth,\n
      \                             int *perr)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: asn1_str2tag
      Src: /src/openssl/crypto/asn1/asn1_gen.c:264,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn1_gen.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:277,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:288,1
    - Dst: parse_tagging
      Src: /src/openssl/crypto/asn1/asn1_gen.c:291,1
    - Dst: parse_tagging
      Src: /src/openssl/crypto/asn1/asn1_gen.c:297,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:299,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:304,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:309,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:314,1
    - Dst: append_exp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:325,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:328,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:330,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:332,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:334,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:337,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 3
    argNames:
    - elem
    - len
    - bitstr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 346
    functionName: asn1_cb
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 7
    functionsReached:
    - ERR_raise
    - append_exp
    - parse_tagging
    - ERR_raise_data
    - asn1_str2tag
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int asn1_cb(const char *elem, int len, void *bitstr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/openssl/crypto/asn1/asn1_gen.c:354,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:359,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn1_gen.c:388,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - vstart
    - vlen
    - ptag
    - pclass
    argTypes:
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 398
    functionName: parse_tagging
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 1
    functionsReached:
    - strtoul
    - ERR_raise
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn1_gen.c:406,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn1_gen.c:407,1
    - Dst: sk_ASN1_TYPE_new_null
      Src: /src/openssl/crypto/asn1/asn1_gen.c:411,1
    - Dst: X509V3_get_section
      Src: /src/openssl/crypto/asn1/asn1_gen.c:417,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/asn1/asn1_gen.c:420,1
    - Dst: generate_v3
      Src: /src/openssl/crypto/asn1/asn1_gen.c:422,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/asn1/asn1_gen.c:422,1
    - Dst: sk_ASN1_TYPE_push
      Src: /src/openssl/crypto/asn1/asn1_gen.c:426,1
    - Dst: i2d_ASN1_SET_ANY
      Src: /src/openssl/crypto/asn1/asn1_gen.c:436,1
    - Dst: i2d_ASN1_SEQUENCE_ANY
      Src: /src/openssl/crypto/asn1/asn1_gen.c:438,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/asn1_gen.c:442,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/asn1_gen.c:444,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:455,1
    - Dst: sk_ASN1_TYPE_pop_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:457,1
    - Dst: X509V3_section_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:458,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 5
    argNames:
    - utype
    - section
    - cnf
    - depth
    - perr
    argTypes:
    - int
    - char*
    - X509V3_CTX*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 461
    functionName: asn1_multi
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 1
    functionsReached:
    - i2d_ASN1_SEQUENCE_ANY
    - X509V3_get_section
    - generate_v3
    - sk_CONF_VALUE_num
    - sk_ASN1_TYPE_pop_free
    - STACK_OF
    - OPENSSL_free
    - ASN1_TYPE_new
    - ASN1_STRING_type_new
    - sk_ASN1_TYPE_push
    - sk_ASN1_TYPE_new_null
    - sk_CONF_VALUE_value
    - i2d_ASN1_SET_ANY
    - X509V3_section_free
    linkageType: ''
    returnType: ASN1_TYPE
    signature: "ASN1_TYPE *asn1_multi(int utype, const char *section, X509V3_CTX *cnf,\n
      \                            int depth, int *perr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:469,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - arg
    - exp_tag
    - exp_class
    - exp_constructed
    - exp_pad
    - imp_ok
    argTypes:
    - tag_exp_arg*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 497
    functionName: append_exp
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int append_exp(tag_exp_arg *arg, int exp_tag, int exp_class,\n                      int
      exp_constructed, int exp_pad, int imp_ok)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:504,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:505,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:506,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:507,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:508,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:509,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:510,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:511,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:512,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:513,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:514,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:515,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:516,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:517,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:518,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:519,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:520,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:521,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:522,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:523,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:524,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:525,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:526,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:527,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:528,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:529,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:530,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:531,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:532,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:533,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:534,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:535,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:536,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:537,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:538,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:539,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:542,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:543,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:544,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:547,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:548,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:550,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:551,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:553,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:555,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:557,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:559,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:560,1
    - Dst: ASN1_GEN_STR
      Src: /src/openssl/crypto/asn1/asn1_gen.c:561,1
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn1_gen.c:565,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/asn1/asn1_gen.c:568,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/asn1/asn1_gen.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - tagstr
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 575
    functionName: asn1_str2tag
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strncasecmp
    - strlen
    - ASN1_GEN_STR
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int asn1_str2tag(const char *tagstr, int len)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/asn1/asn1_gen.c:585,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:586,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:597,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:604,1
    - Dst: X509V3_get_value_bool
      Src: /src/openssl/crypto/asn1/asn1_gen.c:610,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:611,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:619,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/asn1_gen.c:623,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:624,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:631,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/asn1/asn1_gen.c:634,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:635,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:643,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/asn1/asn1_gen.c:646,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:647,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/asn1_gen.c:650,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:651,1
    - Dst: ASN1_TIME_check
      Src: /src/openssl/crypto/asn1/asn1_gen.c:655,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:656,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:676,1
    - Dst: ASN1_mbstring_copy
      Src: /src/openssl/crypto/asn1/asn1_gen.c:680,1
    - Dst: ASN1_tag2bit
      Src: /src/openssl/crypto/asn1/asn1_gen.c:681,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:682,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/asn1/asn1_gen.c:690,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:691,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/asn1/asn1_gen.c:696,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:697,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/asn1_gen.c:704,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:705,1
    - Dst: CONF_parse_list
      Src: /src/openssl/crypto/asn1/asn1_gen.c:710,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:712,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:718,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/asn1/asn1_gen.c:723,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:728,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/asn1/asn1_gen.c:736,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/asn1/asn1_gen.c:739,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 155
    argCount: 3
    argNames:
    - str
    - format
    - utype
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 577
    functionDepth: 7
    functionLinenumber: 577
    functionLinenumberEnd: 742
    functionName: asn1_str2type
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_string_set_bits_left
    - X509V3_get_value_bool
    - ERR_raise
    - ASN1_mbstring_copy
    - ASN1_STRING_set
    - ERR_add_error_data
    - ASN1_STRING_new
    - CONF_parse_list
    - OPENSSL_hexstr2buf
    - ASN1_TYPE_new
    - ASN1_tag2bit
    - s2i_ASN1_INTEGER
    - OBJ_txt2obj
    - ASN1_TYPE_free
    - ASN1_TIME_check
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *asn1_str2type(const char *str, int format, int utype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/openssl/crypto/asn1/asn1_gen.c:750,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:754,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/asn1/asn1_gen.c:757,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_gen.c:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - elem
    - len
    - bitstr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 762
    functionName: bitstr_cb
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 0
    functionsReached:
    - strtoul
    - ASN1_BIT_STRING_set_bit
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int bitstr_cb(const char *elem, int len, void *bitstr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn1_gen.c:770,1
    - Dst: asn1_str2tag
      Src: /src/openssl/crypto/asn1/asn1_gen.c:774,1
    - Dst: ASN1_tag2bit
      Src: /src/openssl/crypto/asn1/asn1_gen.c:777,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 782
    functionName: mask_cb
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 0
    functionsReached:
    - asn1_str2tag
    - ASN1_tag2bit
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int mask_cb(const char *elem, int len, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/openssl/crypto/asn1/asn1_gen.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - pmask
    argTypes:
    - char*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: ASN1_str2mask
    functionSourceFile: /src/openssl/crypto/asn1/asn1_gen.c
    functionUses: 0
    functionsReached:
    - CONF_parse_list
    linkageType: ''
    returnType: int
    signature: int ASN1_str2mask(const char *str, unsigned long *pmask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/asn1/x_bignum.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: bn_new
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - BN_new
    linkageType: ''
    returnType: int
    signature: int bn_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/asn1/x_bignum.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: bn_secure_new
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - BN_secure_new
    linkageType: ''
    returnType: int
    signature: int bn_secure_new(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/asn1/x_bignum.c:88,1
    - Dst: BN_free
      Src: /src/openssl/crypto/asn1/x_bignum.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pval
    - it
    argTypes:
    - ASN1_VALUE**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: bn_free
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void bn_free(ASN1_VALUE **pval, const ASN1_ITEM *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/asn1/x_bignum.c:103,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/asn1/x_bignum.c:110,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/asn1/x_bignum.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - pval
    - cont
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: bn_i2c
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - BN_bn2bin
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int bn_i2c(const ASN1_VALUE **pval, unsigned char *cont, int *putype,\n
      \                 const ASN1_ITEM *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_new
      Src: /src/openssl/crypto/asn1/x_bignum.c:120,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/asn1/x_bignum.c:123,1
    - Dst: bn_free
      Src: /src/openssl/crypto/asn1/x_bignum.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: bn_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - bn_new
    - bn_free
    linkageType: ''
    returnType: int
    signature: "int bn_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,\n
      \                 int utype, char *free_cont, const ASN1_ITEM *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bn_secure_new
      Src: /src/openssl/crypto/asn1/x_bignum.c:136,1
    - Dst: bn_c2i
      Src: /src/openssl/crypto/asn1/x_bignum.c:139,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/asn1/x_bignum.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - pval
    - cont
    - len
    - utype
    - free_cont
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int
    - int
    - char*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: bn_secure_c2i
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 0
    functionsReached:
    - bn_c2i
    - BN_set_flags
    - bn_secure_new
    linkageType: ''
    returnType: int
    signature: "int bn_secure_c2i(ASN1_VALUE **pval, const unsigned char *cont, int
      len,\n                         int utype, char *free_cont, const ASN1_ITEM *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_print
      Src: /src/openssl/crypto/asn1/x_bignum.c:152,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/x_bignum.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - out
    - pval
    - it
    - indent
    - pctx
    argTypes:
    - BIO*
    - ASN1_VALUE**
    - ASN1_ITEM*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: bn_print
    functionSourceFile: /src/openssl/crypto/asn1/x_bignum.c
    functionUses: 5
    functionsReached:
    - BIO_puts
    - BN_print
    linkageType: ''
    returnType: int
    signature: "int bn_print(BIO *out, const ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                   int indent, const ASN1_PCTX *pctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_mbstring_ncopy
      Src: /src/openssl/crypto/asn1/a_mbstr.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - out
    - in
    - len
    - inform
    - mask
    argTypes:
    - ASN1_STRING**
    - unsigned char*
    - int
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: ASN1_mbstring_copy
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 3
    functionsReached:
    - ASN1_mbstring_ncopy
    linkageType: ''
    returnType: int
    signature: "int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in,
      int len,\n                       int inform, unsigned long mask)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_mbstr.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:83,1
    - Dst: traverse_string
      Src: /src/openssl/crypto/asn1/a_mbstr.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:94,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:104,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/a_mbstr.c:109,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/a_mbstr.c:115,1
    - Dst: traverse_string
      Src: /src/openssl/crypto/asn1/a_mbstr.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:122,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_mbstr.c:151,1
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/a_mbstr.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:157,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_mbstr.c:164,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/a_mbstr.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_mbstr.c:169,1
    - Dst: traverse_string
      Src: /src/openssl/crypto/asn1/a_mbstr.c:194,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_mbstr.c:198,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/a_mbstr.c:200,1
    - Dst: traverse_string
      Src: /src/openssl/crypto/asn1/a_mbstr.c:208,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 134
    argCount: 7
    argNames:
    - out
    - in
    - len
    - inform
    - mask
    - minsize
    - maxsize
    argTypes:
    - ASN1_STRING**
    - unsigned char*
    - int
    - int
    - unsigned long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 210
    functionName: ASN1_mbstring_ncopy
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 2
    functionsReached:
    - traverse_string
    - ERR_raise
    - ASN1_STRING_free
    - ERR_raise_data
    - ASN1_STRING_type_new
    - ASN1_STRING_set
    - strlen
    - ASN1_STRING_set0
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in,
      int len,\n                        int inform, unsigned long mask,\n                        long
      minsize, long maxsize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_getc
      Src: /src/openssl/crypto/asn1/a_mbstr.c:238,1
    - Dst: rfunc
      Src: /src/openssl/crypto/asn1/a_mbstr.c:245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - p
    - len
    - inform
    - arg
    argTypes:
    - unsigned char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 251
    functionName: traverse_string
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 1
    functionsReached:
    - rfunc
    - UTF8_getc
    linkageType: ''
    returnType: int
    signature: "int traverse_string(const unsigned char *p, int len, int inform,\n
      \                          int (*rfunc) (unsigned long value, void *in),\n                           void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_valid
      Src: /src/openssl/crypto/asn1/a_mbstr.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: in_utf8
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached:
    - is_unicode_valid
    linkageType: ''
    returnType: int
    signature: int in_utf8(unsigned long value, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_putc
      Src: /src/openssl/crypto/asn1/a_mbstr.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 280
    functionName: out_utf8
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached:
    - UTF8_putc
    linkageType: ''
    returnType: int
    signature: int out_utf8(unsigned long value, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fromascii
      Src: /src/openssl/crypto/asn1/a_mbstr.c:290,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/asn1/a_mbstr.c:292,1
    - Dst: ossl_isasn1print
      Src: /src/openssl/crypto/asn1/a_mbstr.c:295,1
    - Dst: ossl_isascii
      Src: /src/openssl/crypto/asn1/a_mbstr.c:297,1
    - Dst: is_unicode_valid
      Src: /src/openssl/crypto/asn1/a_mbstr.c:303,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: type_str
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 1
    functionsReached:
    - ossl_fromascii
    - ossl_isasn1print
    - is_unicode_valid
    - ossl_isdigit
    - ossl_isascii
    linkageType: ''
    returnType: int
    signature: int type_str(unsigned long value, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: cpy_asc
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cpy_asc(unsigned long value, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: cpy_bmp
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cpy_bmp(unsigned long value, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: cpy_univ
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cpy_univ(unsigned long value, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_putc
      Src: /src/openssl/crypto/asn1/a_mbstr.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arg
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: cpy_utf8
    functionSourceFile: /src/openssl/crypto/asn1/a_mbstr.c
    functionUses: 0
    functionsReached:
    - UTF8_putc
    linkageType: ''
    returnType: int
    signature: int cpy_utf8(unsigned long value, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_time_to_tm
      Src: /src/openssl/crypto/asn1/a_gentm.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tm
    - d
    argTypes:
    - struct tm*
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: asn1_generalizedtime_to_tm
    functionSourceFile: /src/openssl/crypto/asn1/a_gentm.c
    functionUses: 0
    functionsReached:
    - ossl_asn1_time_to_tm
    linkageType: ''
    returnType: int
    signature: "int asn1_generalizedtime_to_tm(struct tm *tm,\n                                      const
      ASN1_GENERALIZEDTIME *d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_generalizedtime_to_tm
      Src: /src/openssl/crypto/asn1/a_gentm.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ASN1_GENERALIZEDTIME_check
    functionSourceFile: /src/openssl/crypto/asn1/a_gentm.c
    functionUses: 2
    functionsReached:
    - asn1_generalizedtime_to_tm
    linkageType: ''
    returnType: int
    signature: int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/a_gentm.c:43,1
    - Dst: ASN1_GENERALIZEDTIME_check
      Src: /src/openssl/crypto/asn1/a_gentm.c:51,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/asn1/a_gentm.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: ASN1_GENERALIZEDTIME_set_string
    functionSourceFile: /src/openssl/crypto/asn1/a_gentm.c
    functionUses: 3
    functionsReached:
    - ASN1_GENERALIZEDTIME_check
    - strlen
    - ASN1_STRING_copy
    linkageType: ''
    returnType: int
    signature: int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const
      char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_adj
      Src: /src/openssl/crypto/asn1/a_gentm.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: ASN1_GENERALIZEDTIME_set
    functionSourceFile: /src/openssl/crypto/asn1/a_gentm.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_adj
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME
    signature: "ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME
      *s,\n                                               time_t t)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/asn1/a_gentm.c:73,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/crypto/asn1/a_gentm.c:78,1
    - Dst: ossl_asn1_time_from_tm
      Src: /src/openssl/crypto/asn1/a_gentm.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - s
    - t
    - offset_day
    - offset_sec
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - time_t
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: ASN1_GENERALIZEDTIME_adj
    functionSourceFile: /src/openssl/crypto/asn1/a_gentm.c
    functionUses: 2
    functionsReached:
    - OPENSSL_gmtime_adj
    - ossl_asn1_time_from_tm
    - OPENSSL_gmtime
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME
    signature: "ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME
      *s,\n                                               time_t t, int offset_day,\n
      \                                              long offset_sec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_print
      Src: /src/openssl/crypto/asn1/a_gentm.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - tm
    argTypes:
    - BIO*
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: ASN1_GENERALIZEDTIME_print
    functionSourceFile: /src/openssl/crypto/asn1/a_gentm.c
    functionUses: 6
    functionsReached:
    - ASN1_TIME_print
    linkageType: ''
    returnType: int
    signature: int ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME
      *tm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:23,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:23,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:24,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:27,1
    - Dst: ASN1_i2d_bio
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:28,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - i2d
    - out
    - x
    argTypes:
    - i2d_of_void*
    - FILE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: ASN1_i2d_fp
    functionSourceFile: /src/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - BIO_s_file
    - ASN1_i2d_bio
    linkageType: ''
    returnType: int
    signature: int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, const void *x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:40,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:44,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:49,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:52,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - i2d
    - out
    - x
    argTypes:
    - i2d_of_void*
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: ASN1_i2d_bio
    functionSourceFile: /src/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - i2d
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, const void *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:74,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:75,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:78,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:79,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - it
    - out
    - x
    argTypes:
    - ASN1_ITEM*
    - FILE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: ASN1_item_i2d_fp
    functionSourceFile: /src/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: 8
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - ASN1_item_i2d_bio
    - BIO_free
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, const void *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:92,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - it
    - out
    - x
    argTypes:
    - ASN1_ITEM*
    - BIO*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: ASN1_item_i2d_bio
    functionSourceFile: /src/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: 10
    functionsReached:
    - BIO_write
    - OPENSSL_free
    - ERR_raise
    - ASN1_item_i2d
    linkageType: ''
    returnType: int
    signature: int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, const void *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:116,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:120,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:120,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:122,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/a_i2d_fp.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - ASN1_ITEM*
    - ASN1_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: ASN1_item_i2d_mem_bio
    functionSourceFile: /src/openssl/crypto/asn1/a_i2d_fp.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - ERR_raise
    - ASN1_item_i2d_bio
    - BIO_free
    - BIO_s_mem
    linkageType: ''
    returnType: BIO
    signature: BIO *ASN1_item_i2d_mem_bio(const ASN1_ITEM *it, const ASN1_VALUE *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: BIO_f_asn1
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_asn1(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/bio_asn1.c:101,1
    - Dst: asn1_bio_init
      Src: /src/openssl/crypto/asn1/bio_asn1.c:105,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/bio_asn1.c:106,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/asn1/bio_asn1.c:109,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/asn1/bio_asn1.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: asn1_bio_new
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_set_init
    - BIO_set_data
    - asn1_bio_init
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int asn1_bio_new(BIO *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/bio_asn1.c:118,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/bio_asn1.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - BIO_ASN1_BUF_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: asn1_bio_init
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int asn1_bio_init(BIO_ASN1_BUF_CTX *ctx, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/asn1/bio_asn1.c:137,1
    - Dst: BIO_ASN1_BUF_CTX*::prefix_free
      Src: /src/openssl/crypto/asn1/bio_asn1.c:142,1
    - Dst: BIO_ASN1_BUF_CTX*::suffix_free
      Src: /src/openssl/crypto/asn1/bio_asn1.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/bio_asn1.c:146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/bio_asn1.c:147,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/asn1/bio_asn1.c:148,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/asn1/bio_asn1.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: asn1_bio_free
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_ASN1_BUF_CTX*::suffix_free
    - BIO_set_data
    - BIO_set_init
    - OPENSSL_free
    - BIO_ASN1_BUF_CTX*::prefix_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int asn1_bio_free(BIO *b)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/asn1/bio_asn1.c:161,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/asn1/bio_asn1.c:162,1
    - Dst: asn1_bio_setup_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:173,1
    - Dst: asn1_bio_flush_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:181,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/bio_asn1.c:190,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/asn1/bio_asn1.c:191,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/bio_asn1.c:194,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/bio_asn1.c:201,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/bio_asn1.c:221,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:239,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:247,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/asn1/bio_asn1.c:248,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 252
    functionName: asn1_bio_write
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ossl_assert
    - BIO_clear_retry_flags
    - ASN1_put_object
    - BIO_copy_next_retry
    - ASN1_object_size
    - BIO_next
    - asn1_bio_flush_ex
    - asn1_bio_setup_ex
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int asn1_bio_write(BIO *b, const char *in, int inl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/bio_asn1.c:262,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/asn1/bio_asn1.c:262,1
    - Dst: cleanup
      Src: /src/openssl/crypto/asn1/bio_asn1.c:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - b
    - ctx
    - cleanup
    - next
    argTypes:
    - BIO*
    - BIO_ASN1_BUF_CTX*
    - asn1_ps_func*
    - asn1_bio_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: asn1_bio_flush_ex
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - cleanup
    - BIO_next
    linkageType: ''
    returnType: int
    signature: "int asn1_bio_flush_ex(BIO *b, BIO_ASN1_BUF_CTX *ctx,\n                             asn1_ps_func
      *cleanup, asn1_bio_state_t next)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup
      Src: /src/openssl/crypto/asn1/bio_asn1.c:284,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - b
    - ctx
    - setup
    - ex_state
    - other_state
    argTypes:
    - BIO*
    - BIO_ASN1_BUF_CTX*
    - asn1_ps_func*
    - asn1_bio_state_t
    - asn1_bio_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 293
    functionName: asn1_bio_setup_ex
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 1
    functionsReached:
    - setup
    - BIO_clear_retry_flags
    linkageType: ''
    returnType: int
    signature: "int asn1_bio_setup_ex(BIO *b, BIO_ASN1_BUF_CTX *ctx,\n                             asn1_ps_func
      *setup,\n                             asn1_bio_state_t ex_state,\n                             asn1_bio_state_t
      other_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/asn1/bio_asn1.c:297,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/bio_asn1.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: asn1_bio_read
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int asn1_bio_read(BIO *b, char *in, int inl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/bio_asn1.c:305,1
    - Dst: asn1_bio_write
      Src: /src/openssl/crypto/asn1/bio_asn1.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 5
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: asn1_bio_puts
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - strlen
    - asn1_bio_write
    linkageType: ''
    returnType: int
    signature: int asn1_bio_puts(BIO *b, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/asn1/bio_asn1.c:315,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/bio_asn1.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - str
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: asn1_bio_gets
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_gets
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int asn1_bio_gets(BIO *b, char *str, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/asn1/bio_asn1.c:323,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: asn1_bio_callback_ctrl
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long asn1_bio_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/asn1/bio_asn1.c:336,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/asn1/bio_asn1.c:339,1
    - Dst: asn1_bio_setup_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:380,1
    - Dst: asn1_bio_flush_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:386,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:393,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/asn1/bio_asn1.c:395,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:402,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - b
    - cmd
    - arg1
    - arg2
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 329
    functionDepth: 5
    functionLinenumber: 329
    functionLinenumberEnd: 407
    functionName: asn1_bio_ctrl
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_ctrl
    - BIO_next
    - asn1_bio_flush_ex
    - asn1_bio_setup_ex
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long asn1_bio_ctrl(BIO *b, int cmd, long arg1, void *arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - b
    - cmd
    - ex_func
    - ex_free_func
    argTypes:
    - BIO*
    - int
    - asn1_ps_func*
    - asn1_ps_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: asn1_bio_set_ex
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: "int asn1_bio_set_ex(BIO *b, int cmd,\n                           asn1_ps_func
      *ex_func, asn1_ps_func *ex_free_func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/asn1/bio_asn1.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - b
    - cmd
    - ex_func
    - ex_free_func
    argTypes:
    - BIO*
    - int
    - asn1_ps_func**
    - asn1_ps_func**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: asn1_bio_get_ex
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: int
    signature: "int asn1_bio_get_ex(BIO *b, int cmd,\n                           asn1_ps_func
      **ex_func,\n                           asn1_ps_func **ex_free_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_set_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - prefix
    - prefix_free
    argTypes:
    - BIO*
    - asn1_ps_func*
    - asn1_ps_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 4
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: BIO_asn1_set_prefix
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 1
    functionsReached:
    - asn1_bio_set_ex
    linkageType: ''
    returnType: int
    signature: "int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix,\n                        asn1_ps_func
      *prefix_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_get_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - pprefix
    - pprefix_free
    argTypes:
    - BIO*
    - asn1_ps_func**
    - asn1_ps_func**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: BIO_asn1_get_prefix
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - asn1_bio_get_ex
    linkageType: ''
    returnType: int
    signature: "int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix,\n                        asn1_ps_func
      **pprefix_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_set_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - suffix
    - suffix_free
    argTypes:
    - BIO*
    - asn1_ps_func*
    - asn1_ps_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: BIO_asn1_set_suffix
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 1
    functionsReached:
    - asn1_bio_set_ex
    linkageType: ''
    returnType: int
    signature: "int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix,\n                        asn1_ps_func
      *suffix_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_bio_get_ex
      Src: /src/openssl/crypto/asn1/bio_asn1.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - psuffix
    - psuffix_free
    argTypes:
    - BIO*
    - asn1_ps_func**
    - asn1_ps_func**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: BIO_asn1_get_suffix
    functionSourceFile: /src/openssl/crypto/asn1/bio_asn1.c
    functionUses: 0
    functionsReached:
    - asn1_bio_get_ex
    linkageType: ''
    returnType: int
    signature: "int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix,\n                        asn1_ps_func
      **psuffix_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ASN1_BROKEN_SEQUENCE
    functionSourceFile: /src/openssl/crypto/asn1/n_pkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASN1_BROKEN_SEQUENCE(tname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: static_ASN1_BROKEN_SEQUENCE_END
    functionSourceFile: /src/openssl/crypto/asn1/n_pkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: static_ASN1_BROKEN_SEQUENCE_END(stname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_bitst.c:22,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/asn1/t_bitst.c:33,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/t_bitst.c:35,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/t_bitst.c:36,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/t_bitst.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - out
    - bs
    - tbl
    - indent
    argTypes:
    - BIO*
    - ASN1_BIT_STRING*
    - BIT_STRING_BITNAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 42
    functionName: ASN1_BIT_STRING_name_print
    functionSourceFile: /src/openssl/crypto/asn1/t_bitst.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: "int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs,\n                               BIT_STRING_BITNAME
      *tbl, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_num_asc
      Src: /src/openssl/crypto/asn1/t_bitst.c:48,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/asn1/t_bitst.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - bs
    - name
    - value
    - tbl
    argTypes:
    - ASN1_BIT_STRING*
    - char*
    - int
    - BIT_STRING_BITNAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: ASN1_BIT_STRING_set_asc
    functionSourceFile: /src/openssl/crypto/asn1/t_bitst.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_set_bit
    - ASN1_BIT_STRING_num_asc
    linkageType: ''
    returnType: int
    signature: "int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name,
      int value,\n                            BIT_STRING_BITNAME *tbl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/t_bitst.c:62,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/t_bitst.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - name
    - tbl
    argTypes:
    - char*
    - BIT_STRING_BITNAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: ASN1_BIT_STRING_num_asc
    functionSourceFile: /src/openssl/crypto/asn1/t_bitst.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:27,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/asn1/t_spki.c:28,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/t_spki.c:29,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:30,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/asn1/t_spki.c:31,1
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/asn1/t_spki.c:32,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:34,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/crypto/asn1/t_spki.c:36,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/asn1/t_spki.c:37,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:41,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/t_spki.c:42,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:43,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/asn1/t_spki.c:44,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/t_spki.c:50,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/t_spki.c:51,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/t_spki.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - out
    - spki
    argTypes:
    - BIO*
    - NETSCAPE_SPKI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 56
    functionName: NETSCAPE_SPKI_print
    functionSourceFile: /src/openssl/crypto/asn1/t_spki.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get
    - BIO_write
    - X509_PUBKEY_get0_param
    - EVP_PKEY_print_public
    - EVP_PKEY_free
    - OBJ_nid2ln
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/asn1/a_verify.c:30,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:36,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/a_verify.c:39,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/asn1/a_verify.c:40,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/asn1/a_verify.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:42,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:47,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_verify.c:51,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:53,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_verify.c:56,1
    - Dst: i2d
      Src: /src/openssl/crypto/asn1/a_verify.c:61,1
    - Dst: EVP_VerifyInit_ex
      Src: /src/openssl/crypto/asn1/a_verify.c:62,1
    - Dst: EVP_VerifyUpdate
      Src: /src/openssl/crypto/asn1/a_verify.c:63,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_verify.c:65,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:68,1
    - Dst: EVP_VerifyFinal
      Src: /src/openssl/crypto/asn1/a_verify.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:75,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/asn1/a_verify.c:81,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 5
    argNames:
    - i2d
    - a
    - signature
    - data
    - pkey
    argTypes:
    - i2d_of_void*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 8
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: ASN1_verify
    functionSourceFile: /src/openssl/crypto/asn1/a_verify.c
    functionUses: 0
    functionsReached:
    - EVP_VerifyUpdate
    - ERR_raise
    - i2d
    - OPENSSL_clear_free
    - OBJ_nid2sn
    - EVP_MD_CTX_new
    - EVP_VerifyFinal
    - EVP_MD_CTX_free
    - EVP_VerifyInit_ex
    - EVP_get_digestbyname
    - OBJ_obj2nid
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *a, ASN1_BIT_STRING *signature,\n
      \               char *data, EVP_PKEY *pkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/asn1/a_verify.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - it
    - alg
    - signature
    - data
    - pkey
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ASN1_item_verify
    functionSourceFile: /src/openssl/crypto/asn1/a_verify.c
    functionUses: 1
    functionsReached:
    - ASN1_item_verify_ex
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_verify(const ASN1_ITEM *it, const X509_ALGOR *alg,\n
      \                    const ASN1_BIT_STRING *signature, const void *data,\n                     EVP_PKEY
      *pkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: evp_md_ctx_new_ex
      Src: /src/openssl/crypto/asn1/a_verify.c:102,1
    - Dst: ASN1_item_verify_ctx
      Src: /src/openssl/crypto/asn1/a_verify.c:103,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/asn1/a_verify.c:104,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_verify.c:104,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/asn1/a_verify.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - it
    - alg
    - signature
    - data
    - id
    - pkey
    - libctx
    - propq
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - ASN1_OCTET_STRING*
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 8
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: ASN1_item_verify_ex
    functionSourceFile: /src/openssl/crypto/asn1/a_verify.c
    functionUses: 7
    functionsReached:
    - evp_md_ctx_new_ex
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - ASN1_item_verify_ctx
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_verify_ex(const ASN1_ITEM *it, const X509_ALGOR *alg,\n
      \                       const ASN1_BIT_STRING *signature, const void *data,\n
      \                       const ASN1_OCTET_STRING *id, EVP_PKEY *pkey,\n                        OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/asn1/a_verify.c:120,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/asn1/a_verify.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:128,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/crypto/asn1/a_verify.c:133,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/asn1/a_verify.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:134,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/crypto/asn1/a_verify.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:140,1
    - Dst: EVP_PKEY*::ameth::item_verify
      Src: /src/openssl/crypto/asn1/a_verify.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:151,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/asn1/a_verify.c:164,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/asn1/a_verify.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:165,1
    - Dst: ossl_rsa_pss_to_ctx
      Src: /src/openssl/crypto/asn1/a_verify.c:169,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:170,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/asn1/a_verify.c:175,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/asn1/a_verify.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:176,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/asn1/a_verify.c:181,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/a_verify.c:183,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/crypto/asn1/a_verify.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:195,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/a_verify.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:209,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/crypto/asn1/a_verify.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_verify.c:218,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/asn1/a_verify.c:223,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 5
    argNames:
    - it
    - alg
    - signature
    - data
    - ctx
    argTypes:
    - ASN1_ITEM*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - void*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 225
    functionName: ASN1_item_verify_ctx
    functionSourceFile: /src/openssl/crypto/asn1/a_verify.c
    functionUses: 1
    functionsReached:
    - EVP_DigestVerify
    - EVP_PKEY*::ameth::item_verify
    - ERR_raise
    - EVP_PKEY_is_a
    - ASN1_item_i2d
    - OPENSSL_clear_free
    - EVP_PKEY_CTX_get0_pkey
    - OBJ_nid2sn
    - EVP_get_digestbynid
    - ERR_raise_data
    - EVP_DigestVerifyInit
    - ossl_rsa_pss_to_ctx
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - evp_pkey_is_legacy
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_verify_ctx(const ASN1_ITEM *it, const X509_ALGOR *alg,\n
      \                        const ASN1_BIT_STRING *signature, const void *data,\n
      \                        EVP_MD_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:24,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:27,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:28,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:29,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:32,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:33,1
    - Dst: do_tcreate
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:34,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: stbl_module_init
    functionSourceFile: /src/openssl/crypto/asn1/asn_mstbl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_CONF_VALUE_num
    - NCONF_get_section
    - STACK_OF
    - CONF_imodule_get_value
    - do_tcreate
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int stbl_module_init(CONF_IMODULE *md, const CONF *cnf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_TABLE_cleanup
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: stbl_module_finish
    functionSourceFile: /src/openssl/crypto/asn1/asn_mstbl.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_TABLE_cleanup
    linkageType: ''
    returnType: void
    signature: void stbl_module_finish(CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ASN1_add_stable_module
    functionSourceFile: /src/openssl/crypto/asn1/asn_mstbl.c
    functionUses: 0
    functionsReached:
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: void ASN1_add_stable_module(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:63,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:65,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:67,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:70,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:73,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:74,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:77,1
    - Dst: strtoul
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:78,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:81,1
    - Dst: strtoul
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:82,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:85,1
    - Dst: ASN1_str2mask
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:86,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:88,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:89,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:91,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:102,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:107,1
    - Dst: ASN1_STRING_TABLE_add
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:113,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/asn1/asn_mstbl.c:115,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 2
    argNames:
    - value
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 117
    functionName: do_tcreate
    functionSourceFile: /src/openssl/crypto/asn1/asn_mstbl.c
    functionUses: 1
    functionsReached:
    - X509V3_parse_list
    - OBJ_sn2nid
    - ERR_raise
    - strtoul
    - sk_CONF_VALUE_num
    - OBJ_ln2nid
    - ERR_raise_data
    - STACK_OF
    - ASN1_STRING_TABLE_add
    - ASN1_str2mask
    - sk_CONF_VALUE_pop_free
    - strcmp
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int do_tcreate(const char *value, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/asn1/asn_pack.c:21,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:22,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/asn_pack.c:29,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/asn1/asn_pack.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:32,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:36,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/asn_pack.c:46,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - obj
    - it
    - oct
    argTypes:
    - void*
    - ASN1_ITEM*
    - ASN1_STRING**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 48
    functionName: ASN1_item_pack
    functionSourceFile: /src/openssl/crypto/asn1/asn_pack.c
    functionUses: 8
    functionsReached:
    - ERR_raise
    - ASN1_item_i2d
    - ASN1_STRING_free
    - ASN1_STRING_new
    - ASN1_STRING_set0
    linkageType: ''
    returnType: ASN1_STRING
    signature: ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_STRING
      **oct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i
      Src: /src/openssl/crypto/asn1/asn_pack.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - oct
    - it
    argTypes:
    - ASN1_STRING*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ASN1_item_unpack
    functionSourceFile: /src/openssl/crypto/asn1/asn_pack.c
    functionUses: 9
    functionsReached:
    - ASN1_item_d2i
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void *ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/asn1/asn_pack.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_pack.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - oct
    - it
    - libctx
    - propq
    argTypes:
    - ASN1_STRING*
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: ASN1_item_unpack_ex
    functionSourceFile: /src/openssl/crypto/asn1/asn_pack.c
    functionUses: 2
    functionsReached:
    - ASN1_item_d2i_ex
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: "void *ASN1_item_unpack_ex(const ASN1_STRING *oct, const ASN1_ITEM
      *it,\n                          OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_moid.c:27,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/asn1/asn_moid.c:30,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/asn1/asn_moid.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_moid.c:32,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/asn1/asn_moid.c:35,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/asn1/asn_moid.c:36,1
    - Dst: do_create
      Src: /src/openssl/crypto/asn1/asn_moid.c:37,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_moid.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: oid_module_init
    functionSourceFile: /src/openssl/crypto/asn1/asn_moid.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - do_create
    - sk_CONF_VALUE_num
    - NCONF_get_section
    - STACK_OF
    - CONF_imodule_get_value
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int oid_module_init(CONF_IMODULE *md, const CONF *cnf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: oid_module_finish
    functionSourceFile: /src/openssl/crypto/asn1/asn_moid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void oid_module_finish(CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/asn1/asn_moid.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: ASN1_add_oid_module
    functionSourceFile: /src/openssl/crypto/asn1/asn_moid.c
    functionUses: 0
    functionsReached:
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: void ASN1_add_oid_module(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/openssl/crypto/asn1/asn_moid.c:66,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_moid.c:79,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_moid.c:81,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_moid.c:84,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn_moid.c:90,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/asn_moid.c:92,1
    - Dst: OBJ_create
      Src: /src/openssl/crypto/asn1/asn_moid.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_moid.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - value
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 102
    functionName: do_create
    functionSourceFile: /src/openssl/crypto/asn1/asn_moid.c
    functionUses: 1
    functionsReached:
    - OBJ_create
    - memcpy
    - ossl_isspace
    - OPENSSL_free
    - strrchr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int do_create(const char *value, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/asn1/nsseq.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: nsseq_cb
    functionSourceFile: /src/openssl/crypto/asn1/nsseq.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: "int nsseq_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                   void *exarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_flags_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - out
    - it
    argTypes:
    - ASN1_VALUE*
    - unsigned char**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ASN1_item_ndef_i2d
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 2
    functionsReached:
    - asn1_item_flags_i2d
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_ndef_i2d(const ASN1_VALUE *val, unsigned char **out,\n
      \                      const ASN1_ITEM *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_item_flags_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - out
    - it
    argTypes:
    - ASN1_VALUE*
    - unsigned char**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ASN1_item_i2d
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 15
    functionsReached:
    - asn1_item_flags_i2d
    linkageType: ''
    returnType: int
    signature: int ASN1_item_i2d(const ASN1_VALUE *val, unsigned char **out, const
      ASN1_ITEM *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:62,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:65,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:68,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - val
    - out
    - it
    - flags
    argTypes:
    - ASN1_VALUE*
    - unsigned char**
    - ASN1_ITEM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: asn1_item_flags_i2d
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 2
    functionsReached:
    - OPENSSL_malloc
    - ASN1_item_ex_i2d
    linkageType: ''
    returnType: int
    signature: "int asn1_item_flags_i2d(const ASN1_VALUE *val, unsigned char **out,\n
      \                              const ASN1_ITEM *it, int flags)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: asn1_template_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:102,1
    - Dst: asn1_i2d_ex_primitive
      Src: /src/openssl/crypto/asn1/tasn_enc.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_enc.c:112,1
    - Dst: asn1_i2d_ex_primitive
      Src: /src/openssl/crypto/asn1/tasn_enc.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_enc.c:123,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_enc.c:126,1
    - Dst: ossl_asn1_get_choice_selector_const
      Src: /src/openssl/crypto/asn1/tasn_enc.c:128,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:133,1
    - Dst: asn1_template_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:134,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_enc.c:137,1
    - Dst: ASN1_EXTERN_FUNCS*::asn1_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:144,1
    - Dst: ossl_asn1_enc_restore
      Src: /src/openssl/crypto/asn1/tasn_enc.c:153,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_enc.c:169,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_enc.c:176,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:179,1
    - Dst: asn1_template_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:180,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:186,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:190,1
    - Dst: ossl_asn1_do_adb
      Src: /src/openssl/crypto/asn1/tasn_enc.c:194,1
    - Dst: ossl_asn1_get_const_field_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:197,1
    - Dst: asn1_template_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:199,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:202,1
    - Dst: asn1_cb
      Src: /src/openssl/crypto/asn1/tasn_enc.c:203,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 82
    argCount: 5
    argNames:
    - pval
    - out
    - it
    - tag
    - aclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_ITEM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 212
    functionName: ASN1_item_ex_i2d
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 4
    functionsReached:
    - ossl_asn1_do_adb
    - ERR_raise
    - asn1_template_ex_i2d
    - ASN1_EXTERN_FUNCS*::asn1_ex_i2d
    - ossl_asn1_enc_restore
    - ASN1_put_object
    - asn1_i2d_ex_primitive
    - asn1_cb
    - ASN1_put_eoc
    - ASN1_object_size
    - ossl_asn1_get_choice_selector_const
    - ossl_asn1_get_const_field_ptr
    linkageType: ''
    returnType: int
    signature: "int ASN1_item_ex_i2d(const ASN1_VALUE **pval, unsigned char **out,\n
      \                    const ASN1_ITEM *it, int tag, int aclass)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_enc.c:270,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/tasn_enc.c:270,1
    - Dst: sk_const_ASN1_VALUE_num
      Src: /src/openssl/crypto/asn1/tasn_enc.c:303,1
    - Dst: sk_const_ASN1_VALUE_value
      Src: /src/openssl/crypto/asn1/tasn_enc.c:304,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:305,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_enc.c:310,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:315,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:320,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:330,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:332,1
    - Dst: asn1_set_seq_out
      Src: /src/openssl/crypto/asn1/tasn_enc.c:334,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:334,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:337,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:339,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:348,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_enc.c:351,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:357,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:360,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:361,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:361,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:363,1
    - Dst: ASN1_item_ex_i2d
      Src: /src/openssl/crypto/asn1/tasn_enc.c:369,1
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/crypto/asn1/tasn_enc.c:369,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/tasn_enc.c:372,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 5
    argNames:
    - pval
    - out
    - tt
    - tag
    - iclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_TEMPLATE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 376
    functionName: asn1_template_ex_i2d
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 1
    functionsReached:
    - sk_const_ASN1_VALUE_num
    - ERR_raise
    - sk_const_ASN1_VALUE_value
    - ASN1_ITEM_ptr
    - ASN1_put_object
    - ASN1_put_eoc
    - ASN1_item_ex_i2d
    - STACK_OF
    - ASN1_object_size
    - asn1_set_seq_out
    linkageType: ''
    returnType: int
    signature: "int asn1_template_ex_i2d(const ASN1_VALUE **pval, unsigned char **out,\n
      \                               const ASN1_TEMPLATE *tt, int tag, int iclass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/asn1/tasn_enc.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: der_cmp
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int der_cmp(const void *a, const void *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: asn1_ex_i2c
      Src: /src/openssl/crypto/asn1/tasn_enc.c:476,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/asn1/tasn_enc.c:507,1
    - Dst: asn1_ex_i2c
      Src: /src/openssl/crypto/asn1/tasn_enc.c:508,1
    - Dst: ASN1_put_eoc
      Src: /src/openssl/crypto/asn1/tasn_enc.c:510,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/asn1/tasn_enc.c:516,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - pval
    - out
    - it
    - tag
    - aclass
    argTypes:
    - ASN1_VALUE**
    - unsigned char**
    - ASN1_ITEM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 518
    functionName: asn1_i2d_ex_primitive
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 1
    functionsReached:
    - asn1_ex_i2c
    - ASN1_put_object
    - ASN1_object_size
    - ASN1_put_eoc
    linkageType: ''
    returnType: int
    signature: "int asn1_i2d_ex_primitive(const ASN1_VALUE **pval, unsigned char **out,\n
      \                                const ASN1_ITEM *it, int tag, int aclass)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PRIMITIVE_FUNCS*::prim_i2c
      Src: /src/openssl/crypto/asn1/tasn_enc.c:535,1
    - Dst: ossl_i2c_ASN1_BIT_STRING
      Src: /src/openssl/crypto/asn1/tasn_enc.c:595,1
    - Dst: ossl_i2c_ASN1_INTEGER
      Src: /src/openssl/crypto/asn1/tasn_enc.c:603,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/tasn_enc.c:641,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 4
    argNames:
    - pval
    - cout
    - putype
    - it
    argTypes:
    - ASN1_VALUE**
    - unsigned char*
    - int*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 643
    functionName: asn1_ex_i2c
    functionSourceFile: /src/openssl/crypto/asn1/tasn_enc.c
    functionUses: 1
    functionsReached:
    - ossl_i2c_ASN1_BIT_STRING
    - ASN1_PRIMITIVE_FUNCS*::prim_i2c
    - memcpy
    - ossl_i2c_ASN1_INTEGER
    linkageType: ''
    returnType: int
    signature: "int asn1_ex_i2c(const ASN1_VALUE **pval, unsigned char *cout, int
      *putype,\n                       const ASN1_ITEM *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/asn1/a_octet.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: ASN1_OCTET_STRING_dup
    functionSourceFile: /src/openssl/crypto/asn1/a_octet.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_dup
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/asn1/a_octet.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OCTET_STRING*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: ASN1_OCTET_STRING_cmp
    functionSourceFile: /src/openssl/crypto/asn1/a_octet.c
    functionUses: 7
    functionsReached:
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: "int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a,\n                          const
      ASN1_OCTET_STRING *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_octet.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - d
    - len
    argTypes:
    - ASN1_OCTET_STRING*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ASN1_OCTET_STRING_set
    functionSourceFile: /src/openssl/crypto/asn1/a_octet.c
    functionUses: 23
    functionsReached:
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: "int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *x, const unsigned char
      *d,\n                          int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: _asn1_check_infinite_end
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _asn1_check_infinite_end(const unsigned char **p, long len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _asn1_check_infinite_end
      Src: /src/openssl/crypto/asn1/asn1_lib.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ASN1_check_infinite_end
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached:
    - _asn1_check_infinite_end
    linkageType: ''
    returnType: int
    signature: int ASN1_check_infinite_end(unsigned char **p, long len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _asn1_check_infinite_end
      Src: /src/openssl/crypto/asn1/asn1_lib.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: ASN1_const_check_infinite_end
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached:
    - _asn1_check_infinite_end
    linkageType: ''
    returnType: int
    signature: int ASN1_const_check_infinite_end(const unsigned char **p, long len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_lib.c:56,1
    - Dst: asn1_get_length
      Src: /src/openssl/crypto/asn1/asn1_lib.c:88,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_lib.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_lib.c:105,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - pp
    - plength
    - ptag
    - pclass
    - omax
    argTypes:
    - unsigned char**
    - long*
    - int*
    - int*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 107
    functionName: ASN1_get_object
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 5
    functionsReached:
    - ERR_raise
    - asn1_get_length
    linkageType: ''
    returnType: int
    signature: "int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag,\n
      \                   int *pclass, long omax)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - pp
    - inf
    - rl
    - max
    argTypes:
    - unsigned char**
    - int*
    - long*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 155
    functionName: asn1_get_length
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int asn1_get_length(const unsigned char **pp, int *inf, long *rl,\n
      \                          long max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_length
      Src: /src/openssl/crypto/asn1/asn1_lib.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - pp
    - constructed
    - length
    - tag
    - xclass
    argTypes:
    - unsigned char**
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 188
    functionName: ASN1_put_object
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 6
    functionsReached:
    - asn1_put_length
    linkageType: ''
    returnType: void
    signature: "void ASN1_put_object(unsigned char **pp, int constructed, int length,
      int tag,\n                     int xclass)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pp
    argTypes:
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: ASN1_put_eoc
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASN1_put_eoc(unsigned char **pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pp
    - length
    argTypes:
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 220
    functionName: asn1_put_length
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void asn1_put_length(unsigned char **pp, int length)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - constructed
    - length
    - tag
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: ASN1_object_size
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASN1_object_size(int constructed, int length, int tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - str
    - num
    argTypes:
    - ASN1_STRING*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: ossl_asn1_string_set_bits_left
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_string_set_bits_left(ASN1_STRING *str, unsigned int
      num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/asn1_lib.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - str
    argTypes:
    - ASN1_STRING*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: ASN1_STRING_copy
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 11
    functionsReached:
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/asn1/asn1_lib.c:276,1
    - Dst: ASN1_STRING_copy
      Src: /src/openssl/crypto/asn1/asn1_lib.c:279,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: ASN1_STRING_dup
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 7
    functionsReached:
    - ASN1_STRING_free
    - ASN1_STRING_new
    - ASN1_STRING_copy
    linkageType: ''
    returnType: ASN1_STRING
    signature: ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn1_lib.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn1_lib.c:305,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/asn1/asn1_lib.c:312,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/asn1/asn1_lib.c:314,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/asn1_lib.c:323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - str
    - _data
    - len_in
    argTypes:
    - ASN1_STRING*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 337
    functionName: ASN1_STRING_set
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 23
    functionsReached:
    - memcpy
    - strlen
    - ERR_raise
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_set(ASN1_STRING *str, const void *_data, int len_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - str
    - data
    - len
    argTypes:
    - ASN1_STRING*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: ASN1_STRING_set0
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 21
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/asn1_lib.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: ASN1_STRING_new
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 13
    functionsReached:
    - ASN1_STRING_type_new
    linkageType: ''
    returnType: ASN1_STRING
    signature: ASN1_STRING *ASN1_STRING_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/asn1/asn1_lib.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 360
    functionName: ASN1_STRING_type_new
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 7
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: ASN1_STRING
    signature: ASN1_STRING *ASN1_STRING_type_new(int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:367,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - embed
    argTypes:
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 370
    functionName: ossl_asn1_string_embed_free
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_asn1_string_embed_free(ASN1_STRING *a, int embed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_asn1_string_embed_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: ASN1_STRING_free
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 22
    functionsReached:
    - ossl_asn1_string_embed_free
    linkageType: ''
    returnType: void
    signature: void ASN1_STRING_free(ASN1_STRING *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/asn1/asn1_lib.c:384,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/asn1/asn1_lib.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: ASN1_STRING_clear_free
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 4
    functionsReached:
    - ASN1_STRING_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void ASN1_STRING_clear_free(ASN1_STRING *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/asn1/asn1_lib.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_STRING*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 403
    functionName: ASN1_STRING_cmp
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 7
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: ASN1_STRING_length
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_length(const ASN1_STRING *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - len
    argTypes:
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: ASN1_STRING_length_set
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ASN1_STRING_length_set(ASN1_STRING *x, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: ASN1_STRING_type
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASN1_STRING_type(const ASN1_STRING *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: ASN1_STRING_data
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ASN1_STRING_data(ASN1_STRING *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn1_lib.c:446,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/asn1/asn1_lib.c:448,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/asn1/asn1_lib.c:449,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/asn1/asn1_lib.c:452,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn1_lib.c:456,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/asn1/asn1_lib.c:460,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/asn1/asn1_lib.c:461,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/asn1/asn1_lib.c:462,1
    - Dst: strncpy
      Src: /src/openssl/crypto/asn1/asn1_lib.c:464,1
    - Dst: strncpy
      Src: /src/openssl/crypto/asn1/asn1_lib.c:467,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/asn1/asn1_lib.c:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - text
    - sep
    - max_len
    argTypes:
    - STACK_OF*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 473
    functionName: ossl_sk_ASN1_UTF8STRING2text
    functionSourceFile: /src/openssl/crypto/asn1/asn1_lib.c
    functionUses: 0
    functionsReached:
    - strncpy
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - sk_ASN1_UTF8STRING_num
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: "char *ossl_sk_ASN1_UTF8STRING2text(STACK_OF(ASN1_UTF8STRING) *text,\n
      \                                  const char *sep, size_t max_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_NDEF
      Src: /src/openssl/crypto/asn1/asn_mime.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:79,1
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/asn1/asn_mime.c:82,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/asn1/asn_mime.c:86,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn_mime.c:89,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:90,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/crypto/asn1/asn_mime.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - out
    - val
    - in
    - flags
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - BIO*
    - int
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: i2d_ASN1_bio_stream
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ASN1_item_i2d_bio
    - BIO_free
    - BIO_flush
    - BIO_new_NDEF
    - SMIME_crlf_copy
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: "int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags,\n
      \                       const ASN1_ITEM *it)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:110,1
    - Dst: BIO_f_base64
      Src: /src/openssl/crypto/asn1/asn_mime.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:112,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:118,1
    - Dst: i2d_ASN1_bio_stream
      Src: /src/openssl/crypto/asn1/asn_mime.c:119,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/asn1/asn_mime.c:120,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn_mime.c:121,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - out
    - val
    - in
    - flags
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - BIO*
    - int
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 7
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: B64_write_ASN1
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - i2d_ASN1_bio_stream
    - ERR_raise
    - BIO_f_base64
    - BIO_free
    - BIO_flush
    - BIO_push
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: "int B64_write_ASN1(BIO *out, ASN1_VALUE *val, BIO *in, int flags,\n
      \                         const ASN1_ITEM *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:131,1
    - Dst: B64_write_ASN1
      Src: /src/openssl/crypto/asn1/asn_mime.c:132,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 6
    argNames:
    - out
    - val
    - in
    - flags
    - hdr
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - BIO*
    - int
    - char*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 8
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: PEM_write_bio_ASN1_stream
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - B64_write_ASN1
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in,
      int flags,\n                              const char *hdr, const ASN1_ITEM *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:142,1
    - Dst: BIO_f_base64
      Src: /src/openssl/crypto/asn1/asn_mime.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:143,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:146,1
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/asn1/asn_mime.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:149,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/asn1/asn_mime.c:150,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn_mime.c:151,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - bio
    - it
    - x
    - libctx
    - propq
    argTypes:
    - BIO*
    - ASN1_ITEM*
    - ASN1_VALUE**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 5
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: b64_read_asn1
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ERR_raise
    - BIO_f_base64
    - ASN1_item_d2i_bio_ex
    - BIO_free
    - BIO_flush
    - BIO_push
    - BIO_pop
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE *b64_read_asn1(BIO *bio, const ASN1_ITEM *it, ASN1_VALUE
      **x,\n                                 OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/asn1/asn_mime.c:282,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:293,1
    - Dst: asn1_write_micalg
      Src: /src/openssl/crypto/asn1/asn_mime.c:298,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:300,1
    - Dst: asn1_output_data
      Src: /src/openssl/crypto/asn1/asn_mime.c:308,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:310,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:315,1
    - Dst: B64_write_ASN1
      Src: /src/openssl/crypto/asn1/asn_mime.c:321,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:322,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/asn1/asn_mime.c:336,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:345,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:349,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:351,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:353,1
    - Dst: B64_write_ASN1
      Src: /src/openssl/crypto/asn1/asn_mime.c:357,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/asn1/asn_mime.c:359,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 10
    argNames:
    - bio
    - val
    - data
    - flags
    - ctype_nid
    - econt_nid
    - mdalgs
    - it
    - libctx
    - propq
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - BIO*
    - int
    - int
    - int
    - STACK_OF*
    - ASN1_ITEM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 260
    functionDepth: 8
    functionLinenumber: 260
    functionLinenumberEnd: 360
    functionName: SMIME_write_ASN1_ex
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - B64_write_ASN1
    - sk_X509_ALGOR_num
    - asn1_output_data
    - asn1_write_micalg
    - RAND_bytes_ex
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int SMIME_write_ASN1_ex(BIO *bio, ASN1_VALUE *val, BIO *data, int
      flags,\n                        int ctype_nid, int econt_nid,\n                        STACK_OF(X509_ALGOR)
      *mdalgs, const ASN1_ITEM *it,\n                        OSSL_LIB_CTX *libctx,
      const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_write_ASN1_ex
      Src: /src/openssl/crypto/asn1/asn_mime.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - bio
    - val
    - data
    - flags
    - ctype_nid
    - econt_nid
    - mdalgs
    - it
    argTypes:
    - BIO*
    - ASN1_VALUE*
    - BIO*
    - int
    - int
    - int
    - STACK_OF*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 9
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: SMIME_write_ASN1
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 0
    functionsReached:
    - SMIME_write_ASN1_ex
    linkageType: ''
    returnType: int
    signature: "int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags,\n
      \                    int ctype_nid, int econt_nid,\n                     STACK_OF(X509_ALGOR)
      *mdalgs, const ASN1_ITEM *it)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/asn1/asn_mime.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:390,1
    - Dst: ASN1_AUX*::asn1_cb
      Src: /src/openssl/crypto/asn1/asn_mime.c:400,1
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/asn1/asn_mime.c:404,1
    - Dst: ASN1_AUX*::asn1_cb
      Src: /src/openssl/crypto/asn1/asn_mime.c:408,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn_mime.c:414,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - out
    - data
    - val
    - flags
    - it
    argTypes:
    - BIO*
    - BIO*
    - ASN1_VALUE*
    - int
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 421
    functionName: asn1_output_data
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ASN1_AUX*::asn1_cb
    - BIO_free
    - SMIME_crlf_copy
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: "int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,\n
      \                           const ASN1_ITEM *it)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mime.c:434,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mime.c:435,1
    - Dst: mime_parse_hdr
      Src: /src/openssl/crypto/asn1/asn_mime.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:445,1
    - Dst: mime_hdr_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:449,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:451,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:452,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:458,1
    - Dst: mime_param_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:460,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:462,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:463,1
    - Dst: multi_split
      Src: /src/openssl/crypto/asn1/asn_mime.c:466,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:467,1
    - Dst: sk_BIO_num
      Src: /src/openssl/crypto/asn1/asn_mime.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:469,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:470,1
    - Dst: sk_BIO_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:475,1
    - Dst: mime_parse_hdr
      Src: /src/openssl/crypto/asn1/asn_mime.c:477,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:478,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:479,1
    - Dst: mime_hdr_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:485,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:488,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:489,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:493,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:494,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn_mime.c:495,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:497,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:498,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:501,1
    - Dst: b64_read_asn1
      Src: /src/openssl/crypto/asn1/asn_mime.c:503,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:504,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:505,1
    - Dst: sk_BIO_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:510,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:511,1
    - Dst: sk_BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:512,1
    - Dst: sk_BIO_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:514,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:521,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:522,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn_mime.c:523,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:525,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:529,1
    - Dst: b64_read_asn1
      Src: /src/openssl/crypto/asn1/asn_mime.c:531,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:532,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 7
    argNames:
    - bio
    - flags
    - bcont
    - it
    - x
    - libctx
    - propq
    argTypes:
    - BIO*
    - int
    - BIO**
    - ASN1_ITEM*
    - ASN1_VALUE**
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 429
    functionDepth: 6
    functionLinenumber: 429
    functionLinenumberEnd: 536
    functionName: SMIME_read_ASN1_ex
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - sk_BIO_pop_free
    - mime_parse_hdr
    - ERR_raise
    - multi_split
    - sk_BIO_num
    - sk_BIO_value
    - BIO_free
    - ERR_raise_data
    - STACK_OF
    - b64_read_asn1
    - mime_param_find
    - mime_hdr_find
    - strcmp
    - sk_MIME_HEADER_pop_free
    - sk_BIO_free
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE *SMIME_read_ASN1_ex(BIO *bio, int flags, BIO **bcont,\n
      \                              const ASN1_ITEM *it, ASN1_VALUE **x,\n                               OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_ASN1_ex
      Src: /src/openssl/crypto/asn1/asn_mime.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - bcont
    - it
    argTypes:
    - BIO*
    - BIO**
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 7
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: SMIME_read_ASN1
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 0
    functionsReached:
    - SMIME_read_ASN1_ex
    linkageType: ''
    returnType: ASN1_VALUE
    signature: ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM
      *it)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:553,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:561,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/crypto/asn1/asn_mime.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:563,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:566,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/asn_mime.c:568,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn_mime.c:569,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:576,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/asn_mime.c:578,1
    - Dst: strip_eol
      Src: /src/openssl/crypto/asn1/asn_mime.c:579,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:585,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn_mime.c:589,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:591,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:596,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/asn1/asn_mime.c:604,1
    - Dst: BIO_pop
      Src: /src/openssl/crypto/asn1/asn_mime.c:605,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:606,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 3
    argNames:
    - in
    - out
    - flags
    argTypes:
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 544
    functionDepth: 5
    functionLinenumber: 544
    functionLinenumberEnd: 608
    functionName: SMIME_crlf_copy
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 3
    functionsReached:
    - BIO_write
    - BIO_new
    - ERR_raise
    - BIO_gets
    - BIO_puts
    - BIO_free
    - BIO_flush
    - strip_eol
    - BIO_f_buffer
    - BIO_push
    - BIO_read
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: int SMIME_crlf_copy(BIO *in, BIO *out, int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mime.c:615,1
    - Dst: mime_parse_hdr
      Src: /src/openssl/crypto/asn1/asn_mime.c:618,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:619,1
    - Dst: mime_hdr_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:622,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/asn_mime.c:624,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:625,1
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:628,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/asn1/asn_mime.c:629,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:631,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:634,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/asn1/asn_mime.c:635,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn_mime.c:636,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 611
    functionDepth: 4
    functionLinenumber: 611
    functionLinenumberEnd: 639
    functionName: SMIME_text
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - mime_parse_hdr
    - ERR_raise
    - ERR_raise_data
    - STACK_OF
    - mime_hdr_find
    - strcmp
    - BIO_read
    - sk_MIME_HEADER_pop_free
    linkageType: ''
    returnType: int
    signature: int SMIME_text(BIO *in, BIO *out)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn_mime.c:650,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mime.c:653,1
    - Dst: sk_BIO_new_null
      Src: /src/openssl/crypto/asn1/asn_mime.c:662,1
    - Dst: BIO_get_line
      Src: /src/openssl/crypto/asn1/asn_mime.c:666,1
    - Dst: mime_bound_check
      Src: /src/openssl/crypto/asn1/asn_mime.c:667,1
    - Dst: sk_BIO_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:672,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:673,1
    - Dst: strip_eol
      Src: /src/openssl/crypto/asn1/asn_mime.c:679,1
    - Dst: sk_BIO_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:683,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:684,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:687,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/asn1/asn_mime.c:687,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/asn1/asn_mime.c:690,1
    - Dst: OPENSSL_NO_CMS
      Src: /src/openssl/crypto/asn1/asn_mime.c:693,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:699,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/asn1/asn_mime.c:702,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/asn1/asn_mime.c:707,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:711,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 4
    argNames:
    - bio
    - flags
    - bound
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 646
    functionDepth: 5
    functionLinenumber: 646
    functionLinenumberEnd: 713
    functionName: multi_split
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - BIO_new
    - sk_BIO_new_null
    - BIO_set_mem_eof_return
    - BIO_puts
    - BIO_free
    - mime_bound_check
    - STACK_OF
    - strip_eol
    - BIO_s_mem
    - BIO_get_line
    - OPENSSL_NO_CMS
    - sk_BIO_push
    - strlen
    linkageType: ''
    returnType: int
    signature: int multi_split(BIO *bio, int flags, const char *bound, STACK_OF(BIO)
      **ret)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/asn1/asn_mime.c:731,1
    - Dst: sk_MIME_HEADER_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:734,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/asn1/asn_mime.c:737,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_mime.c:739,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:758,1
    - Dst: mime_debug
      Src: /src/openssl/crypto/asn1/asn_mime.c:765,1
    - Dst: mime_hdr_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:767,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:767,1
    - Dst: sk_MIME_HEADER_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:770,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:793,1
    - Dst: mime_hdr_addparam
      Src: /src/openssl/crypto/asn1/asn_mime.c:802,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:802,1
    - Dst: mime_debug
      Src: /src/openssl/crypto/asn1/asn_mime.c:806,1
    - Dst: mime_debug
      Src: /src/openssl/crypto/asn1/asn_mime.c:816,1
    - Dst: mime_hdr_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:824,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:824,1
    - Dst: sk_MIME_HEADER_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:827,1
    - Dst: mime_hdr_addparam
      Src: /src/openssl/crypto/asn1/asn_mime.c:832,1
    - Dst: strip_ends
      Src: /src/openssl/crypto/asn1/asn_mime.c:832,1
    - Dst: sk_MIME_HEADER_sort
      Src: /src/openssl/crypto/asn1/asn_mime.c:839,1
    - Dst: sk_MIME_HEADER_num
      Src: /src/openssl/crypto/asn1/asn_mime.c:840,1
    - Dst: sk_MIME_HEADER_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:841,1
    - Dst: sk_MIME_PARAM_sort
      Src: /src/openssl/crypto/asn1/asn_mime.c:843,1
    - Dst: mime_hdr_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:847,1
    - Dst: sk_MIME_HEADER_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:848,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 107
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 725
    functionDepth: 3
    functionLinenumber: 725
    functionLinenumberEnd: 850
    functionName: mime_parse_hdr
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 2
    functionsReached:
    - sk_MIME_HEADER_value
    - sk_MIME_HEADER_sort
    - sk_MIME_PARAM_sort
    - BIO_gets
    - strip_ends
    - mime_hdr_addparam
    - ossl_isspace
    - mime_debug
    - STACK_OF
    - sk_MIME_HEADER_push
    - mime_hdr_free
    - sk_MIME_HEADER_num
    - sk_MIME_HEADER_new
    - mime_hdr_new
    - sk_MIME_HEADER_pop_free
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *mime_parse_hdr(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strip_end
      Src: /src/openssl/crypto/asn1/asn_mime.c:854,1
    - Dst: strip_start
      Src: /src/openssl/crypto/asn1/asn_mime.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 855
    functionName: strip_ends
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - strip_start
    - strip_end
    linkageType: ''
    returnType: char
    signature: char *strip_ends(char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_mime.c:870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 874
    functionName: strip_start
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - ossl_isspace
    linkageType: ''
    returnType: char
    signature: char *strip_start(char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/asn1/asn_mime.c:883,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/asn1/asn_mime.c:891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 897
    functionName: strip_end
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - strlen
    - ossl_isspace
    linkageType: ''
    returnType: char
    signature: char *strip_end(char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/asn1/asn_mime.c:905,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/asn1/asn_mime.c:908,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/asn1/asn_mime.c:911,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/asn1/asn_mime.c:914,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn_mime.c:916,1
    - Dst: sk_MIME_PARAM_new
      Src: /src/openssl/crypto/asn1/asn_mime.c:921,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:926,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:927,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:928,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 930
    functionName: mime_hdr_new
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - ossl_tolower
    - OPENSSL_free
    - OPENSSL_strdup
    - sk_MIME_PARAM_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: MIME_HEADER
    signature: MIME_HEADER *mime_hdr_new(const char *name, const char *value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/asn1/asn_mime.c:938,1
    - Dst: ossl_tolower
      Src: /src/openssl/crypto/asn1/asn_mime.c:942,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/asn1/asn_mime.c:945,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/asn_mime.c:950,1
    - Dst: sk_MIME_PARAM_push
      Src: /src/openssl/crypto/asn1/asn_mime.c:955,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:959,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:960,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:961,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - mhdr
    - name
    - value
    argTypes:
    - MIME_HEADER*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 963
    functionName: mime_hdr_addparam
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - ossl_tolower
    - sk_MIME_PARAM_push
    - OPENSSL_free
    - OPENSSL_strdup
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int mime_hdr_addparam(MIME_HEADER *mhdr, const char *name, const char
      *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - MIME_HEADER**
    - MIME_HEADER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 972
    functionName: mime_hdr_cmp
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int mime_hdr_cmp(const MIME_HEADER *const *a,\n                        const
      MIME_HEADER *const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - MIME_PARAM**
    - MIME_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 980
    functionName: mime_param_cmp
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int mime_param_cmp(const MIME_PARAM *const *a,\n                          const
      MIME_PARAM *const *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_MIME_HEADER_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:993,1
    - Dst: sk_MIME_HEADER_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hdrs
    - name
    argTypes:
    - STACK_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 995
    functionName: mime_hdr_find
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 2
    functionsReached:
    - sk_MIME_HEADER_find
    - sk_MIME_HEADER_value
    linkageType: ''
    returnType: MIME_HEADER
    signature: MIME_HEADER *mime_hdr_find(STACK_OF(MIME_HEADER) *hdrs, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_MIME_PARAM_find
      Src: /src/openssl/crypto/asn1/asn_mime.c:1004,1
    - Dst: sk_MIME_PARAM_value
      Src: /src/openssl/crypto/asn1/asn_mime.c:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - name
    argTypes:
    - MIME_HEADER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1006
    functionName: mime_param_find
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - sk_MIME_PARAM_find
    - sk_MIME_PARAM_value
    linkageType: ''
    returnType: MIME_PARAM
    signature: MIME_PARAM *mime_param_find(MIME_HEADER *hdr, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1012,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1013,1
    - Dst: sk_MIME_PARAM_pop_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1015,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - MIME_HEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1017
    functionName: mime_hdr_free
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - sk_MIME_PARAM_pop_free
    linkageType: ''
    returnType: void
    signature: void mime_hdr_free(MIME_HEADER *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1021,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1022,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/asn1/asn_mime.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - MIME_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1024
    functionName: mime_param_free
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void mime_param_free(MIME_PARAM *param)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/asn1/asn_mime.c:1040,1
    - Dst: strncmp
      Src: /src/openssl/crypto/asn1/asn_mime.c:1040,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/asn1/asn_mime.c:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - line
    - linelen
    - bound
    - blen
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1043
    functionName: mime_bound_check
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 1
    functionsReached:
    - strncmp
    - CHECK_AND_SKIP_PREFIX
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int mime_bound_check(char *line, int linelen, const char *bound, int
      blen)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - linebuf
    - plen
    - flags
    argTypes:
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1079
    functionName: strip_eol
    functionSourceFile: /src/openssl/crypto/asn1/asn_mime.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int strip_eol(char *linebuf, int *plen, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: IMPLEMENT_ASN1_STRING_FUNCTIONS
    functionSourceFile: /src/openssl/crypto/asn1/tasn_typ.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_ASN1_STRING_FUNCTIONS(sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_bitstr.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - d
    - len
    argTypes:
    - ASN1_BIT_STRING*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: ASN1_BIT_STRING_set
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 4
    functionsReached:
    - ASN1_STRING_set
    linkageType: ''
    returnType: int
    signature: int ASN1_BIT_STRING_set(ASN1_BIT_STRING *x, unsigned char *d, int len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_bitstr.c:76,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ASN1_BIT_STRING*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 82
    functionName: ossl_i2c_ASN1_BIT_STRING
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ossl_i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a, unsigned char **pp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/asn1/a_bitstr.c:103,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/asn1/a_bitstr.c:118,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_bitstr.c:121,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_bitstr.c:125,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_bitstr.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_bitstr.c:139,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/asn1/a_bitstr.c:141,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - ASN1_BIT_STRING**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 143
    functionName: ossl_c2i_ASN1_BIT_STRING
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_string_set_bits_left
    - ERR_raise
    - ASN1_BIT_STRING_new
    - memcpy
    - ASN1_BIT_STRING_free
    - ASN1_STRING_set0
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_BIT_STRING
    signature: "ASN1_BIT_STRING *ossl_c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a,\n                                          const
      unsigned char **pp, long len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/crypto/asn1/a_bitstr.c:170,1
    - Dst: memset
      Src: /src/openssl/crypto/asn1/a_bitstr.c:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - a
    - n
    - value
    argTypes:
    - ASN1_BIT_STRING*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 182
    functionName: ASN1_BIT_STRING_set_bit
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 3
    functionsReached:
    - memset
    - OPENSSL_clear_realloc
    linkageType: ''
    returnType: int
    signature: int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - ASN1_BIT_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: ASN1_BIT_STRING_get_bit
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - a
    - flags
    - flags_len
    argTypes:
    - ASN1_BIT_STRING*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: ASN1_BIT_STRING_check
    functionSourceFile: /src/openssl/crypto/asn1/a_bitstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a,\n                          const
      unsigned char *flags, int flags_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/asn1/asn1_err.c:212,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/asn1/asn1_err.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: ossl_err_load_ASN1_strings
    functionSourceFile: /src/openssl/crypto/asn1/asn1_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_ASN1_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/asn1/a_int.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ASN1_INTEGER_dup
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 5
    functionsReached:
    - ASN1_STRING_dup
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *ASN1_INTEGER_dup(const ASN1_INTEGER *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/crypto/asn1/a_int.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ASN1_INTEGER*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: ASN1_INTEGER_cmp
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 14
    functionsReached:
    - ASN1_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - dst
    - src
    - len
    - pad
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: twos_complement
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void twos_complement(unsigned char *dst, const unsigned char *src,\n
      \                           size_t len, unsigned char pad)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: twos_complement
      Src: /src/openssl/crypto/asn1/a_int.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - b
    - blen
    - neg
    - pp
    argTypes:
    - unsigned char*
    - size_t
    - int
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 146
    functionName: i2c_ibuf
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - twos_complement
    linkageType: ''
    returnType: size_t
    signature: "size_t i2c_ibuf(const unsigned char *b, size_t blen, int neg,\n                       unsigned
      char **pp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:193,1
    - Dst: twos_complement
      Src: /src/openssl/crypto/asn1/a_int.c:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - b
    - pneg
    - p
    - plen
    argTypes:
    - unsigned char*
    - int*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 205
    functionName: c2i_ibuf
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - twos_complement
    linkageType: ''
    returnType: size_t
    signature: "size_t c2i_ibuf(unsigned char *b, int *pneg,\n                       const
      unsigned char *p, size_t plen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2c_ibuf
      Src: /src/openssl/crypto/asn1/a_int.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - ASN1_INTEGER*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: ossl_i2c_ASN1_INTEGER
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - i2c_ibuf
    linkageType: ''
    returnType: int
    signature: int ossl_i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pr
    - b
    - blen
    argTypes:
    - uint64_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 239
    functionName: asn1_get_uint64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int asn1_get_uint64(uint64_t *pr, const unsigned char *b, size_t blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - unsigned char[]
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: asn1_put_uint64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t asn1_put_uint64(unsigned char b[sizeof(uint64_t)], uint64_t
      r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pr
    - b
    - blen
    - neg
    argTypes:
    - int64_t*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: asn1_get_int64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - asn1_get_uint64
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int asn1_get_int64(int64_t *pr, const unsigned char *b, size_t blen,\n
      \                         int neg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: c2i_ibuf
      Src: /src/openssl/crypto/asn1/a_int.c:306,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/asn1/a_int.c:312,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_int.c:319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:320,1
    - Dst: c2i_ibuf
      Src: /src/openssl/crypto/asn1/a_int.c:324,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/a_int.c:337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - a
    - pp
    - len
    argTypes:
    - ASN1_INTEGER**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 339
    functionName: ossl_c2i_ASN1_INTEGER
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - c2i_ibuf
    - ASN1_INTEGER_new
    - ASN1_INTEGER_free
    - ASN1_STRING_set
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: "ASN1_INTEGER *ossl_c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned
      char **pp,\n                                    long len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:348,1
    - Dst: asn1_get_int64
      Src: /src/openssl/crypto/asn1/a_int.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pr
    - a
    - itype
    argTypes:
    - int64_t*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 352
    functionName: asn1_string_get_int64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - asn1_get_int64
    linkageType: ''
    returnType: int
    signature: int asn1_string_get_int64(int64_t *pr, const ASN1_STRING *a, int itype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:368,1
    - Dst: asn1_put_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:371,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_int.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - a
    - r
    - itype
    argTypes:
    - ASN1_STRING*
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 375
    functionName: asn1_string_set_int64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - asn1_put_uint64
    linkageType: ''
    returnType: int
    signature: int asn1_string_set_int64(ASN1_STRING *a, int64_t r, int itype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:381,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:385,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:389,1
    - Dst: asn1_get_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pr
    - a
    - itype
    argTypes:
    - uint64_t*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: asn1_string_get_uint64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - asn1_get_uint64
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int asn1_string_get_uint64(uint64_t *pr, const ASN1_STRING *a,\n                                  int
      itype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:401,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_int.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - r
    - itype
    argTypes:
    - ASN1_STRING*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 403
    functionName: asn1_string_set_uint64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set
    - asn1_put_uint64
    linkageType: ''
    returnType: int
    signature: int asn1_string_set_uint64(ASN1_STRING *a, uint64_t r, int itype)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/asn1/a_int.c:422,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/asn1/a_int.c:429,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/asn1/a_int.c:448,1
    - Dst: memcpy
      Src: /src/openssl/crypto/asn1/a_int.c:457,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/asn1/a_int.c:461,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:468,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/a_int.c:470,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - ASN1_INTEGER**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 472
    functionName: d2i_ASN1_UINTEGER
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - ASN1_INTEGER_new
    - ASN1_get_object
    - ASN1_INTEGER_free
    - ASN1_STRING_set0
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: "ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char
      **pp,\n                                long length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_type_new
      Src: /src/openssl/crypto/asn1/a_int.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:488,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/asn1/a_int.c:492,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/asn1/a_int.c:492,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/asn1/a_int.c:495,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/asn1/a_int.c:500,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:501,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/asn1/a_int.c:506,1
    - Dst: BN_bn2bin
      Src: /src/openssl/crypto/asn1/a_int.c:509,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/asn1/a_int.c:514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - bn
    - ai
    - atype
    argTypes:
    - BIGNUM*
    - ASN1_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 516
    functionName: bn_to_asn1_string
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_num_bytes
    - BN_bn2bin
    - BN_is_negative
    - BN_is_zero
    - ASN1_INTEGER_free
    - ASN1_STRING_type_new
    - ASN1_STRING_set
    linkageType: ''
    returnType: ASN1_STRING
    signature: "ASN1_STRING *bn_to_asn1_string(const BIGNUM *bn, ASN1_STRING *ai,\n
      \                                     int atype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:524,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/asn1/a_int.c:528,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:530,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/asn1/a_int.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ai
    - bn
    - itype
    argTypes:
    - ASN1_INTEGER*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 518
    functionDepth: 5
    functionLinenumber: 518
    functionLinenumberEnd: 536
    functionName: asn1_string_to_bn
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_set_negative
    - ERR_raise
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *asn1_string_to_bn(const ASN1_INTEGER *ai, BIGNUM *bn,\n                                 int
      itype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_get_int64
      Src: /src/openssl/crypto/asn1/a_int.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - int64_t*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: ASN1_INTEGER_get_int64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 8
    functionsReached:
    - asn1_string_get_int64
    linkageType: ''
    returnType: int
    signature: int ASN1_INTEGER_get_int64(int64_t *pr, const ASN1_INTEGER *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_set_int64
      Src: /src/openssl/crypto/asn1/a_int.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_INTEGER*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: ASN1_INTEGER_set_int64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 1
    functionsReached:
    - asn1_string_set_int64
    linkageType: ''
    returnType: int
    signature: int ASN1_INTEGER_set_int64(ASN1_INTEGER *a, int64_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_get_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - uint64_t*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: ASN1_INTEGER_get_uint64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 1
    functionsReached:
    - asn1_string_get_uint64
    linkageType: ''
    returnType: int
    signature: int ASN1_INTEGER_get_uint64(uint64_t *pr, const ASN1_INTEGER *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_set_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_INTEGER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: ASN1_INTEGER_set_uint64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 1
    functionsReached:
    - asn1_string_set_uint64
    linkageType: ''
    returnType: int
    signature: int ASN1_INTEGER_set_uint64(ASN1_INTEGER *a, uint64_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/crypto/asn1/a_int.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - v
    argTypes:
    - ASN1_INTEGER*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 3
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: ASN1_INTEGER_set
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 23
    functionsReached:
    - ASN1_INTEGER_set_int64
    linkageType: ''
    returnType: int
    signature: int ASN1_INTEGER_set(ASN1_INTEGER *a, long v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/asn1/a_int.c:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: ASN1_INTEGER_get
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 17
    functionsReached:
    - ASN1_INTEGER_get_int64
    linkageType: ''
    returnType: long
    signature: long ASN1_INTEGER_get(const ASN1_INTEGER *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_to_asn1_string
      Src: /src/openssl/crypto/asn1/a_int.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 6
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: BN_to_ASN1_INTEGER
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 10
    functionsReached:
    - bn_to_asn1_string
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_to_bn
      Src: /src/openssl/crypto/asn1/a_int.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - bn
    argTypes:
    - ASN1_INTEGER*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 6
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: ASN1_INTEGER_to_BN
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 11
    functionsReached:
    - asn1_string_to_bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_get_int64
      Src: /src/openssl/crypto/asn1/a_int.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pr
    - a
    argTypes:
    - int64_t*
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 3
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: ASN1_ENUMERATED_get_int64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 2
    functionsReached:
    - asn1_string_get_int64
    linkageType: ''
    returnType: int
    signature: int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_set_int64
      Src: /src/openssl/crypto/asn1/a_int.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - r
    argTypes:
    - ASN1_ENUMERATED*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: ASN1_ENUMERATED_set_int64
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - asn1_string_set_int64
    linkageType: ''
    returnType: int
    signature: int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_set_int64
      Src: /src/openssl/crypto/asn1/a_int.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - v
    argTypes:
    - ASN1_ENUMERATED*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 3
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: ASN1_ENUMERATED_set
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 3
    functionsReached:
    - ASN1_ENUMERATED_set_int64
    linkageType: ''
    returnType: int
    signature: int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_get_int64
      Src: /src/openssl/crypto/asn1/a_int.c:612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 602
    functionDepth: 4
    functionLinenumber: 602
    functionLinenumberEnd: 618
    functionName: ASN1_ENUMERATED_get
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 6
    functionsReached:
    - ASN1_ENUMERATED_get_int64
    linkageType: ''
    returnType: long
    signature: long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bn_to_asn1_string
      Src: /src/openssl/crypto/asn1/a_int.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_ENUMERATED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 6
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: BN_to_ASN1_ENUMERATED
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 0
    functionsReached:
    - bn_to_asn1_string
    linkageType: ''
    returnType: ASN1_ENUMERATED
    signature: ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED
      *ai)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_string_to_bn
      Src: /src/openssl/crypto/asn1/a_int.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ai
    - bn
    argTypes:
    - ASN1_ENUMERATED*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 6
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: ASN1_ENUMERATED_to_BN
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 1
    functionsReached:
    - asn1_string_to_bn
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2i_ibuf
      Src: /src/openssl/crypto/asn1/a_int.c:637,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/asn1/a_int.c:641,1
    - Dst: c2i_ibuf
      Src: /src/openssl/crypto/asn1/a_int.c:644,1
    - Dst: asn1_get_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ret
    - neg
    - pp
    - len
    argTypes:
    - uint64_t*
    - int*
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 646
    functionName: ossl_c2i_uint64_int
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 2
    functionsReached:
    - asn1_get_uint64
    - c2i_ibuf
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_c2i_uint64_int(uint64_t *ret, int *neg,\n                        const
      unsigned char **pp, long len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asn1_put_uint64
      Src: /src/openssl/crypto/asn1/a_int.c:653,1
    - Dst: i2c_ibuf
      Src: /src/openssl/crypto/asn1/a_int.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - r
    - neg
    argTypes:
    - unsigned char*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: ossl_i2c_uint64_int
    functionSourceFile: /src/openssl/crypto/asn1/a_int.c
    functionUses: 2
    functionsReached:
    - i2c_ibuf
    - asn1_put_uint64
    linkageType: ''
    returnType: int
    signature: int ossl_i2c_uint64_int(unsigned char *p, uint64_t r, int neg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_cfb64.c:39,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_cfb64.c:41,1
    - Dst: BF_encrypt
      Src: /src/openssl/crypto/bf/bf_cfb64.c:43,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_cfb64.c:46,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_cfb64.c:48,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_cfb64.c:59,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_cfb64.c:61,1
    - Dst: BF_encrypt
      Src: /src/openssl/crypto/bf/bf_cfb64.c:63,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_cfb64.c:66,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_cfb64.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - BF_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: BF_cfb64_encrypt
    functionSourceFile: /src/openssl/crypto/bf/bf_cfb64.c
    functionUses: 0
    functionsReached:
    - l2n
    - n2l
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: "void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     long length, const BF_KEY *schedule,\n                      unsigned
      char *ivec, int *num, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - l1
    - ','
    - l2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: n2ln
    functionSourceFile: /src/openssl/crypto/bf/bf_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2ln(c,l1,l2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l1
    - ','
    - l2
    - ','
    - c
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: l2nn
    functionSourceFile: /src/openssl/crypto/bf/bf_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2nn(l1,l2,c,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: n2l
    functionSourceFile: /src/openssl/crypto/bf/bf_local.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: l2n
    functionSourceFile: /src/openssl/crypto/bf/bf_local.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2n(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - LL
    - ','
    - R
    - ','
    - S
    - ','
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: BF_ENC
    functionSourceFile: /src/openssl/crypto/bf/bf_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BF_ENC(LL,R,S,P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: BF_options
    functionSourceFile: /src/openssl/crypto/bf/bf_ecb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *BF_options(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_ecb.c:36,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_ecb.c:38,1
    - Dst: BF_encrypt
      Src: /src/openssl/crypto/bf/bf_ecb.c:41,1
    - Dst: BF_decrypt
      Src: /src/openssl/crypto/bf/bf_ecb.c:43,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_ecb.c:45,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_ecb.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - in
    - out
    - key
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - BF_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: BF_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/bf/bf_ecb.c
    functionUses: 0
    functionsReached:
    - l2n
    - n2l
    - BF_decrypt
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: "void BF_ecb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                   const BF_KEY *key, int encrypt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/bf/bf_skey.c:28,1
    - Dst: BF_encrypt
      Src: /src/openssl/crypto/bf/bf_skey.c:62,1
    - Dst: BF_encrypt
      Src: /src/openssl/crypto/bf/bf_skey.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - key
    - len
    - data
    argTypes:
    - BF_KEY*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 73
    functionName: BF_set_key
    functionSourceFile: /src/openssl/crypto/bf/bf_skey.c
    functionUses: 1
    functionsReached:
    - memcpy
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: void BF_set_key(BF_KEY *key, int len, const unsigned char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:41,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:42,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:43,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:44,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:45,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:46,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:47,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:48,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:49,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:50,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:51,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:52,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:53,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:54,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:55,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:56,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:58,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:59,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:60,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - BF_LONG*
    - BF_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 67
    functionName: BF_encrypt
    functionSourceFile: /src/openssl/crypto/bf/bf_enc.c
    functionUses: 3
    functionsReached:
    - BF_ENC
    linkageType: ''
    returnType: void
    signature: void BF_encrypt(BF_LONG *data, const BF_KEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:81,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:82,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:83,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:84,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:86,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:87,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:88,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:89,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:90,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:91,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:92,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:93,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:94,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:95,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:96,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:97,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:98,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:99,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:100,1
    - Dst: BF_ENC
      Src: /src/openssl/crypto/bf/bf_enc.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - BF_LONG*
    - BF_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 106
    functionName: BF_decrypt
    functionSourceFile: /src/openssl/crypto/bf/bf_enc.c
    functionUses: 1
    functionsReached:
    - BF_ENC
    linkageType: ''
    returnType: void
    signature: void BF_decrypt(BF_LONG *data, const BF_KEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:117,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:118,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:121,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:122,1
    - Dst: BF_encrypt
      Src: /src/openssl/crypto/bf/bf_enc.c:127,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:130,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:131,1
    - Dst: n2ln
      Src: /src/openssl/crypto/bf/bf_enc.c:134,1
    - Dst: BF_encrypt
      Src: /src/openssl/crypto/bf/bf_enc.c:139,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:142,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:143,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:145,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:146,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:148,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:149,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:152,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:153,1
    - Dst: BF_decrypt
      Src: /src/openssl/crypto/bf/bf_enc.c:156,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:159,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:160,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:165,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_enc.c:166,1
    - Dst: BF_decrypt
      Src: /src/openssl/crypto/bf/bf_enc.c:169,1
    - Dst: l2nn
      Src: /src/openssl/crypto/bf/bf_enc.c:172,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:176,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_enc.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - BF_KEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 181
    functionName: BF_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/bf/bf_enc.c
    functionUses: 0
    functionsReached:
    - n2l
    - n2ln
    - BF_decrypt
    - l2nn
    - l2n
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: "void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long
      length,\n                    const BF_KEY *schedule, unsigned char *ivec, int
      encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_ofb64.c:38,1
    - Dst: n2l
      Src: /src/openssl/crypto/bf/bf_ofb64.c:39,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_ofb64.c:43,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_ofb64.c:44,1
    - Dst: BF_encrypt
      Src: /src/openssl/crypto/bf/bf_ofb64.c:47,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_ofb64.c:50,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_ofb64.c:52,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_ofb64.c:62,1
    - Dst: l2n
      Src: /src/openssl/crypto/bf/bf_ofb64.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - BF_KEY*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: BF_ofb64_encrypt
    functionSourceFile: /src/openssl/crypto/bf/bf_ofb64.c
    functionUses: 0
    functionsReached:
    - l2n
    - n2l
    - BF_encrypt
    linkageType: ''
    returnType: void
    signature: "void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     long length, const BF_KEY *schedule,\n                      unsigned
      char *ivec, int *num)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:25,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:28,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:28,1
    - Dst: X509_get_key_usage
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:33,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:34,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:38,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:40,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:47,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:47,1
    - Dst: ossl_x509_print_ex_brief
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:57,1
    - Dst: ERR_add_error_mem_bio
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:59,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:63,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:64,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - cmp_ctx
    - msg
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 17
    functionDepth: 9
    functionLinenumber: 17
    functionLinenumberEnd: 67
    functionName: verify_signature
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_get_key_usage
    - ossl_assert
    - BIO_new
    - ASN1_item_verify_ex
    - ERR_raise
    - ossl_x509_print_ex_brief
    - BIO_free
    - ASN1_ITEM_rptr
    - EVP_PKEY_free
    - BIO_s_mem
    - X509_get_pubkey
    - ERR_add_error_mem_bio
    linkageType: ''
    returnType: int
    signature: "int verify_signature(const OSSL_CMP_CTX *cmp_ctx,\n                            const
      OSSL_CMP_MSG *msg, X509 *cert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_calc_protection
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:76,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:82,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: verify_PBMAC
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - ERR_raise
    - ASN1_BIT_STRING_free
    - ossl_cmp_calc_protection
    linkageType: ''
    returnType: int
    signature: int verify_PBMAC(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:111,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:115,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:116,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:120,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:123,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:125,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:129,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - trusted_store
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - X509_STORE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: OSSL_CMP_validate_cert_path
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_STORE_CTX_free
    - X509_STORE_CTX_new_ex
    - ERR_GET_REASON
    - ERR_peek_last_error
    - X509_verify_cert
    - OSSL_CMP_CTX_print_errors
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_validate_cert_path(const OSSL_CMP_CTX *ctx,\n                                X509_STORE
      *trusted_store, X509 *cert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_get_verify_cb
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:140,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:142,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:143,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:144,1
    - Dst: X509_STORE_CTX_set_current_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:145,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ts
    - cert
    - err
    argTypes:
    - X509_STORE*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: verify_cb_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 6
    functionsReached:
    - X509_STORE_CTX_new
    - X509_STORE_CTX_free
    - X509_STORE_CTX_set_error
    - X509_STORE_CTX_set_current_cert
    - X509_STORE_get_verify_cb
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int verify_cb_cert(X509_STORE *ts, X509 *cert, int err)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:164,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:167,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:168,1
    - Dst: ossl_cmp_log3
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:170,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:172,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:178,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:179,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - ctx
    - log_success
    - actual_desc
    - actual_name
    - expect_desc
    - expect_name
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - char*
    - X509_NAME*
    - char*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 183
    functionName: check_name
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_log2
    - ossl_cmp_log1
    - X509_NAME_cmp
    - OPENSSL_free
    - X509_NAME_oneline
    - ossl_cmp_log3
    linkageType: ''
    returnType: int
    signature: "int check_name(const OSSL_CMP_CTX *ctx, int log_success,\n                      const
      char *actual_desc, const X509_NAME *actual_name,\n                      const
      char *expect_desc, const X509_NAME *expect_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:197,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:200,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:201,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:203,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:204,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:210,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:211,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - ckid
    - skid
    argTypes:
    - OSSL_CMP_CTX*
    - ASN1_OCTET_STRING*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 215
    functionName: check_kid
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_log1
    - i2s_ASN1_OCTET_STRING
    - OPENSSL_free
    - ASN1_OCTET_STRING_cmp
    - ossl_cmp_warn
    linkageType: ''
    returnType: int
    signature: "int check_kid(const OSSL_CMP_CTX *ctx,\n                     const
      ASN1_OCTET_STRING *ckid,\n                     const ASN1_OCTET_STRING *skid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:222,1
    - Dst: X509_cmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:223,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cert
    - already_checked
    argTypes:
    - X509*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: already_checked
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - sk_X509_num
    - X509_cmp
    linkageType: ''
    returnType: int
    signature: "int already_checked(const X509 *cert,\n                           const
      STACK_OF(X509) *already_checked)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_issued
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:243,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:245,1
    - Dst: ossl_cmp_log3
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:248,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:250,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:250,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:251,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:252,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:254,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:254,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:256,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:257,1
    - Dst: already_checked
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:260,1
    - Dst: already_checked
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:261,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:262,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:266,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:266,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:267,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:272,1
    - Dst: verify_cb_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:275,1
    - Dst: check_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:279,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:280,1
    - Dst: check_kid
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:284,1
    - Dst: X509_get0_subject_key_id
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:284,1
    - Dst: ossl_x509v3_cache_extensions
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:287,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:288,1
    - Dst: verify_signature
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:291,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:292,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 7
    argNames:
    - ctx
    - desc1
    - desc2
    - cert
    - already_checked1
    - already_checked2
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - char*
    - X509*
    - STACK_OF*
    - STACK_OF*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 236
    functionDepth: 11
    functionLinenumber: 236
    functionLinenumberEnd: 298
    functionName: cert_acceptable
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_cmp_timeframe
    - X509_get0_notBefore
    - verify_signature
    - verify_cb_cert
    - OPENSSL_free
    - X509_get0_notAfter
    - ossl_cmp_log3
    - ossl_cmp_warn
    - X509_check_issued
    - check_name
    - X509_get0_subject_key_id
    - already_checked
    - X509_NAME_oneline
    - X509_get_issuer_name
    - X509_STORE_get0_param
    - ossl_cmp_log1
    - ossl_x509v3_cache_extensions
    - X509_get_subject_name
    - check_kid
    - ossl_cmp_info
    linkageType: ''
    returnType: int
    signature: "int cert_acceptable(const OSSL_CMP_CTX *ctx,\n                           const
      char *desc1, const char *desc2, X509 *cert,\n                           const
      STACK_OF(X509) *already_checked1,\n                           const STACK_OF(X509)
      *already_checked2,\n                           const OSSL_CMP_MSG *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:303,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - store
    - scrt
    argTypes:
    - OSSL_CMP_CTX*
    - X509_STORE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: check_cert_path
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_warn
    - OSSL_CMP_validate_cert_path
    linkageType: ''
    returnType: int
    signature: "int check_cert_path(const OSSL_CMP_CTX *ctx, X509_STORE *store,\n
      \                          X509 *scrt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:327,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:328,1
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:333,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:335,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:343,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:345,1
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:351,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:352,1
    - Dst: X509_STORE_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - msg
    - scrt
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 358
    functionName: check_cert_path_3gpp
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - OSSL_CMP_validate_cert_path
    - X509_STORE_free
    - ossl_cmp_X509_STORE_add1_certs
    - X509_free
    - ossl_cmp_certresponse_get1_cert
    - ossl_cmp_warn
    - ossl_cmp_certrepmessage_get0_certresponse
    linkageType: ''
    returnType: int
    signature: "int check_cert_path_3gpp(const OSSL_CMP_CTX *ctx,\n                                const
      OSSL_CMP_MSG *msg, X509 *scrt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cert_acceptable
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:363,1
    - Dst: check_cert_path
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:365,1
    - Dst: check_cert_path_3gpp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - cert
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 12
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: check_msg_given_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - check_cert_path
    - cert_acceptable
    - check_cert_path_3gpp
    linkageType: ''
    returnType: int
    signature: "int check_msg_given_cert(const OSSL_CMP_CTX *ctx, X509 *cert,\n                                const
      OSSL_CMP_MSG *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:384,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:385,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:389,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:390,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:392,1
    - Dst: cert_acceptable
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:394,1
    - Dst: check_cert_path_3gpp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:398,1
    - Dst: check_cert_path
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:399,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:401,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 7
    argNames:
    - ctx
    - certs
    - desc
    - already_checked1
    - already_checked2
    - msg
    - mode_3gpp
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF*
    - char*
    - STACK_OF*
    - STACK_OF*
    - OSSL_CMP_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 374
    functionDepth: 12
    functionLinenumber: 374
    functionLinenumberEnd: 407
    functionName: check_msg_with_certs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_cmp_log1
    - check_cert_path
    - sk_X509_value
    - cert_acceptable
    - check_cert_path_3gpp
    - ossl_cmp_ctx_set1_validatedSrvCert
    - sk_X509_num
    - ossl_cmp_warn
    linkageType: ''
    returnType: int
    signature: "int check_msg_with_certs(OSSL_CMP_CTX *ctx, const STACK_OF(X509) *certs,\n
      \                               const char *desc,\n                                const
      STACK_OF(X509) *already_checked1,\n                                const STACK_OF(X509)
      *already_checked2,\n                                const OSSL_CMP_MSG *msg,
      int mode_3gpp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:420,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:421,1
    - Dst: check_msg_with_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:427,1
    - Dst: check_msg_with_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:430,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:435,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:438,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:438,1
    - Dst: check_msg_with_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:440,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - msg
    - mode_3gpp
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 414
    functionDepth: 13
    functionLinenumber: 414
    functionLinenumberEnd: 448
    functionName: check_msg_all_certs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - ossl_cmp_info
    - check_msg_with_certs
    - X509_STORE_get1_all_certs
    - ossl_cmp_warn
    linkageType: ''
    returnType: int
    signature: "int check_msg_all_certs(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg,\n
      \                              int mode_3gpp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:468,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:473,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:476,1
    - Dst: check_msg_given_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:484,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:486,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:490,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:492,1
    - Dst: check_msg_given_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:494,1
    - Dst: check_msg_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:497,1
    - Dst: check_msg_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:498,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:502,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:506,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:508,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:509,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:511,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:513,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:515,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:517,1
    - Dst: check_msg_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:519,1
    - Dst: check_msg_all_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:520,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:523,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:525,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:526,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:529,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:530,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:534,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:535,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 454
    functionDepth: 14
    functionLinenumber: 454
    functionLinenumberEnd: 537
    functionName: check_msg_find_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - check_msg_given_cert
    - ERR_raise
    - ossl_cmp_log1
    - i2s_ASN1_OCTET_STRING
    - ERR_pop_to_mark
    - ERR_set_mark
    - ERR_add_error_txt
    - ERR_clear_last_mark
    - OPENSSL_free
    - X509_NAME_oneline
    - ossl_cmp_info
    - ossl_cmp_ctx_set1_validatedSrvCert
    - check_msg_all_certs
    - OSSL_CMP_CTX_print_errors
    linkageType: ''
    returnType: int
    signature: int check_msg_find_cert(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:562,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:568,1
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:572,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:576,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:577,1
    - Dst: verify_PBMAC
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:580,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:587,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:595,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:598,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:606,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:610,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:618,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:628,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:629,1
    - Dst: check_msg_find_cert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:632,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:633,1
    - Dst: verify_signature
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:639,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:640,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:642,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:644,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:645,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 555
    functionDepth: 15
    functionLinenumber: 555
    functionLinenumberEnd: 650
    functionName: OSSL_CMP_validate_msg
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_get_protection_nid
    - ERR_raise
    - check_msg_find_cert
    - verify_PBMAC
    - ossl_cmp_info
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_X509_STORE_add1_certs
    - verify_signature
    - STACK_OF
    - ossl_cmp_debug
    - ossl_cmp_ctx_set1_validatedSrvCert
    - ossl_cmp_warn
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_validate_msg(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:656,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:660,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:661,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:662,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:667,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - expected
    - actual
    - reason
    argTypes:
    - ASN1_OCTET_STRING*
    - ASN1_OCTET_STRING*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 652
    functionDepth: 5
    functionLinenumber: 652
    functionLinenumberEnd: 673
    functionName: check_transactionID_or_nonce
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_cmp
    - OPENSSL_free
    - ERR_raise_data
    - i2s_ASN1_OCTET_STRING
    linkageType: ''
    returnType: int
    signature: "int check_transactionID_or_nonce(ASN1_OCTET_STRING *expected,\n                                        ASN1_OCTET_STRING
      *actual, int reason)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:702,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:704,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:709,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:715,1
    - Dst: check_name
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:724,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:726,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:727,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:729,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:735,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:737,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:748,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:749,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:753,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:757,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:757,1
    - Dst: OSSL_CMP_validate_msg
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:762,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:775,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:775,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:779,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:781,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:786,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:787,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:789,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:794,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:796,1
    - Dst: check_transactionID_or_nonce
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:802,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:810,1
    - Dst: check_transactionID_or_nonce
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:812,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:816,1
    - Dst: check_transactionID_or_nonce
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:818,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:821,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:825,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:829,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:837,1
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:840,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:847,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:853,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:856,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 83
    argCount: 4
    argNames:
    - ctx
    - msg
    - cb
    - cb_arg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - ossl_cmp_allow_unprotected_cb_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 695
    functionDepth: 16
    functionLinenumber: 695
    functionLinenumberEnd: 866
    functionName: ossl_cmp_msg_check_update
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cmp_hdr_get_pvno
    - sk_X509_shift
    - ERR_pop_to_mark
    - OSSL_CMP_validate_msg
    - ossl_cmp_X509_STORE_add1_certs
    - X509_free
    - OPENSSL_free
    - check_transactionID_or_nonce
    - sk_X509_num
    - ossl_cmp_ctx_set1_recipNonce
    - check_name
    - ossl_assert
    - ossl_cmp_hdr_get_protection_nid
    - OSSL_CMP_CTX_set1_transactionID
    - X509_NAME_oneline
    - ERR_clear_last_mark
    - ossl_x509_add_certs_new
    - OSSL_CMP_MSG_get0_header
    - ERR_raise_data
    - STACK_OF
    - ossl_cmp_log1
    - X509_get_subject_name
    - ERR_set_mark
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_msg_check_update(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *msg,\n                              ossl_cmp_allow_unprotected_cb_t cb, int
      cb_arg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:871,1
    - Dst: X509_REQ_verify_ex
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:878,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:878,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:881,1
    - Dst: OSSL_CRMF_MSGS_verify_popo
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:890,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_vfy.c:899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - msg
    - acceptRAVerified
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 868
    functionDepth: 5
    functionLinenumber: 868
    functionLinenumberEnd: 903
    functionName: ossl_cmp_verify_popo
    functionSourceFile: /src/openssl/crypto/cmp/cmp_vfy.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - X509_REQ_verify_ex
    - ERR_raise
    - OSSL_CRMF_MSGS_verify_popo
    - X509_REQ_get0_pubkey
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_verify_popo(const OSSL_CMP_CTX *ctx,\n                         const
      OSSL_CMP_MSG *msg, int acceptRAVerified)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_protect.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:43,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/cmp/cmp_protect.c:46,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_protect.c:48,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:63,1
    - Dst: i2d_OSSL_CMP_PROTECTEDPART
      Src: /src/openssl/crypto/cmp/cmp_protect.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:69,1
    - Dst: d2i_OSSL_CRMF_PBMPARAMETER
      Src: /src/openssl/crypto/cmp/cmp_protect.c:76,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:78,1
    - Dst: OSSL_CRMF_pbm_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:82,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:88,1
    - Dst: ossl_asn1_string_set_bits_left
      Src: /src/openssl/crypto/cmp/cmp_protect.c:91,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/openssl/crypto/cmp/cmp_protect.c:92,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:93,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:98,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:106,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/crypto/cmp/cmp_protect.c:110,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_protect.c:111,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:114,1
    - Dst: ASN1_item_sign_ex
      Src: /src/openssl/crypto/cmp/cmp_protect.c:116,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_protect.c:116,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:121,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 26
    functionDepth: 11
    functionLinenumber: 26
    functionLinenumberEnd: 124
    functionName: ossl_cmp_calc_protection
    functionSourceFile: /src/openssl/crypto/cmp/cmp_protect.c
    functionUses: 1
    functionsReached:
    - ossl_asn1_string_set_bits_left
    - ossl_assert
    - ASN1_BIT_STRING_set
    - ERR_raise
    - ASN1_BIT_STRING_new
    - i2d_OSSL_CMP_PROTECTEDPART
    - ASN1_BIT_STRING_free
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    - OPENSSL_free
    - OSSL_CRMF_PBMPARAMETER_free
    - ASN1_item_sign_ex
    - EVP_PKEY_get_default_digest_name
    - strcmp
    - d2i_OSSL_CRMF_PBMPARAMETER
    - OBJ_obj2nid
    - OSSL_CRMF_pbm_new
    linkageType: ''
    returnType: ASN1_BIT_STRING
    signature: "ASN1_BIT_STRING *ossl_cmp_calc_protection(const OSSL_CMP_CTX *ctx,\n
      \                                         const OSSL_CMP_MSG *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_protect.c:128,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_protect.c:132,1
    - Dst: X509_build_chain
      Src: /src/openssl/crypto/cmp/cmp_protect.c:133,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_protect.c:136,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_protect.c:139,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_protect.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: ossl_cmp_set_own_chain
    functionSourceFile: /src/openssl/crypto/cmp/cmp_protect.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - X509_build_chain
    - ossl_cmp_warn
    - ossl_cmp_debug
    - OSSL_CMP_CTX_print_errors
    linkageType: ''
    returnType: void
    signature: void ossl_cmp_set_own_chain(OSSL_CMP_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_protect.c:148,1
    - Dst: ossl_cmp_set_own_chain
      Src: /src/openssl/crypto/cmp/cmp_protect.c:157,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:159,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:163,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_protect.c:165,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:170,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_protect.c:175,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 180
    functionName: ossl_cmp_msg_add_extraCerts
    functionSourceFile: /src/openssl/crypto/cmp/cmp_protect.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - sk_X509_free
    - ossl_x509_add_cert_new
    - ossl_cmp_set_own_chain
    - ossl_cmp_debug
    - sk_X509_num
    - ossl_x509_add_certs_new
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_msg_add_extraCerts(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_protect.c:194,1
    - Dst: OSSL_CRMF_pbmp_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:197,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cmp/cmp_protect.c:198,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:200,1
    - Dst: i2d_OSSL_CRMF_PBMPARAMETER
      Src: /src/openssl/crypto/cmp/cmp_protect.c:203,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cmp/cmp_protect.c:205,1
    - Dst: ossl_X509_ALGOR_from_nid
      Src: /src/openssl/crypto/cmp/cmp_protect.c:207,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:212,1
    - Dst: OSSL_CRMF_PBMPARAMETER_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 215
    functionName: pbmac_algor
    functionSourceFile: /src/openssl/crypto/cmp/cmp_protect.c
    functionUses: 0
    functionsReached:
    - i2d_OSSL_CRMF_PBMPARAMETER
    - ossl_assert
    - ASN1_STRING_set
    - ASN1_STRING_new
    - ASN1_STRING_free
    - OPENSSL_free
    - OSSL_CRMF_PBMPARAMETER_free
    - ossl_X509_ALGOR_from_nid
    - EVP_MD_get_type
    - OSSL_CRMF_pbmp_new
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *pbmac_algor(const OSSL_CMP_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_hdr_set1_senderKID
      Src: /src/openssl/crypto/cmp/cmp_protect.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - msg
    - id
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: set_senderKID
    functionSourceFile: /src/openssl/crypto/cmp/cmp_protect.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_set1_senderKID
    linkageType: ''
    returnType: int
    signature: "int set_senderKID(const OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg,\n                         const
      ASN1_OCTET_STRING *id)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_protect.c:228,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:235,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_protect.c:237,1
    - Dst: set_senderKID
      Src: /src/openssl/crypto/cmp/cmp_protect.c:241,1
    - Dst: pbmac_algor
      Src: /src/openssl/crypto/cmp/cmp_protect.c:245,1
    - Dst: set_senderKID
      Src: /src/openssl/crypto/cmp/cmp_protect.c:247,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/cmp/cmp_protect.c:259,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:260,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cmp/cmp_protect.c:264,1
    - Dst: set_senderKID
      Src: /src/openssl/crypto/cmp/cmp_protect.c:267,1
    - Dst: X509_get0_subject_key_id
      Src: /src/openssl/crypto/cmp/cmp_protect.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:275,1
    - Dst: ossl_cmp_calc_protection
      Src: /src/openssl/crypto/cmp/cmp_protect.c:281,1
    - Dst: ossl_cmp_msg_add_extraCerts
      Src: /src/openssl/crypto/cmp/cmp_protect.c:290,1
    - Dst: ossl_cmp_general_name_is_NULL_DN
      Src: /src/openssl/crypto/cmp/cmp_protect.c:298,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_protect.c:304,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 50
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 226
    functionDepth: 12
    functionLinenumber: 226
    functionLinenumberEnd: 306
    functionName: ossl_cmp_msg_protect
    functionSourceFile: /src/openssl/crypto/cmp/cmp_protect.c
    functionUses: 0
    functionsReached:
    - X509_get0_subject_key_id
    - ossl_assert
    - pbmac_algor
    - ERR_raise
    - ossl_cmp_msg_add_extraCerts
    - ASN1_BIT_STRING_free
    - ossl_cmp_general_name_is_NULL_DN
    - X509_ALGOR_free
    - set_senderKID
    - X509_ALGOR_new
    - ossl_cmp_calc_protection
    - X509_check_private_key
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_msg_protect(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: IS_NULL_DN
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NULL_DN(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - txt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 815
    functionName: ossl_cmp_add_error_data
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_add_error_data(txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - txt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: ossl_cmp_add_error_line
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_add_error_line(txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - level
    - ','
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 834
    functionName: ossl_cmp_log
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_log(level, ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - level
    - ','
    - ctx
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: ossl_cmp_log1
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_log1(level, ctx, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - level
    - ','
    - ctx
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: ossl_cmp_log2
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_log2(level, ctx, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - level
    - ','
    - ctx
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: ossl_cmp_log3
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_log3(level, ctx, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - level
    - ','
    - ctx
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: ossl_cmp_log4
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_log4(level, ctx, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 849
    functionName: ossl_cmp_alert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_alert(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 850
    functionName: ossl_cmp_err
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_err(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 851
    functionName: ossl_cmp_warn
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_warn(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: ossl_cmp_info
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_info(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 853
    functionName: ossl_cmp_debug
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_debug(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: ossl_cmp_trace
    functionSourceFile: /src/openssl/crypto/cmp/cmp_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_cmp_trace(ctx, msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/openssl/crypto/cmp/cmp_msg.c:22,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_msg.c:22,1
    - Dst: ossl_cmp_msg_set0_libctx
      Src: /src/openssl/crypto/cmp/cmp_msg.c:24,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: OSSL_CMP_MSG_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ASN1_item_new_ex
    - ossl_cmp_msg_set0_libctx
    - ASN1_ITEM_rptr
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *OSSL_CMP_MSG_new(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:33,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_msg.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: OSSL_CMP_MSG_free
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_free
    linkageType: ''
    returnType: void
    signature: void OSSL_CMP_MSG_free(OSSL_CMP_MSG *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:46,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - libctx
    - propq
    argTypes:
    - OSSL_CMP_MSG*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: ossl_cmp_msg_set0_libctx
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_msg_set0_libctx(OSSL_CMP_MSG *msg, OSSL_LIB_CTX *libctx,\n
      \                            const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: OSSL_CMP_MSG_get0_header
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKIHEADER
    signature: OSSL_CMP_PKIHEADER *OSSL_CMP_MSG_get0_header(const OSSL_CMP_MSG *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: ossl_cmp_bodytype_to_string
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_cmp_bodytype_to_string(int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - type
    argTypes:
    - OSSL_CMP_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: ossl_cmp_msg_set_bodytype
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_msg_set_bodytype(OSSL_CMP_MSG *msg, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: OSSL_CMP_MSG_get_bodytype
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 3
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_MSG_get_bodytype(const OSSL_CMP_MSG *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_msg.c:105,1
    - Dst: sk_OSSL_CRMF_MSG_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:111,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/cmp/cmp_msg.c:114,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_publicKey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 124
    functionName: OSSL_CMP_MSG_get0_certreq_publickey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CRMF_CERTTEMPLATE_get0_publicKey
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CRMF_MSG_get0_tmpl
    - sk_OSSL_CRMF_MSG_value
    linkageType: ''
    returnType: X509_PUBKEY
    signature: X509_PUBKEY *OSSL_CMP_MSG_get0_certreq_publickey(const OSSL_CMP_MSG
      *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:132,1
    - Dst: X509V3_EXT_i2d
      Src: /src/openssl/crypto/cmp/cmp_msg.c:135,1
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/cmp/cmp_msg.c:138,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pexts
    - nid
    - crit
    - ex
    argTypes:
    - X509_EXTENSIONS**
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: add1_extension
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    - ossl_assert
    - X509_EXTENSION_free
    - X509V3_EXT_i2d
    linkageType: ''
    returnType: int
    signature: int add1_extension(X509_EXTENSIONS **pexts, int nid, int crit, void
      *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ENUMERATED_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:146,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:149,1
    - Dst: add1_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:150,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pexts
    - reason_code
    argTypes:
    - X509_EXTENSIONS**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: add_crl_reason_extension
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ASN1_ENUMERATED_new
    - ASN1_ENUMERATED_free
    - add1_extension
    - ASN1_ENUMERATED_set
    linkageType: ''
    returnType: int
    signature: int add_crl_reason_extension(X509_EXTENSIONS **pexts, int reason_code)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:159,1
    - Dst: OSSL_CMP_MSG_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:162,1
    - Dst: ossl_cmp_hdr_init
      Src: /src/openssl/crypto/cmp/cmp_msg.c:164,1
    - Dst: ossl_cmp_msg_set_bodytype
      Src: /src/openssl/crypto/cmp/cmp_msg.c:165,1
    - Dst: ossl_cmp_hdr_generalInfo_push1_items
      Src: /src/openssl/crypto/cmp/cmp_msg.c:168,1
    - Dst: OSSL_CRMF_MSGS_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:182,1
    - Dst: X509_REQ_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:185,1
    - Dst: OSSL_CMP_CERTREPMESSAGE_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:192,1
    - Dst: sk_OSSL_CMP_REVDETAILS_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:197,1
    - Dst: OSSL_CMP_REVREPCONTENT_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:201,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:207,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:211,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:213,1
    - Dst: sk_OSSL_CMP_POLLREQ_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:217,1
    - Dst: sk_OSSL_CMP_POLLREP_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:221,1
    - Dst: sk_OSSL_CMP_ITAV_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:227,1
    - Dst: OSSL_CMP_ERRORMSGCONTENT_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:237,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:242,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 2
    argNames:
    - ctx
    - bodytype
    argTypes:
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 244
    functionName: ossl_cmp_msg_create
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CERTREPMESSAGE_new
    - sk_OSSL_CMP_CERTSTATUS_new_null
    - ERR_raise
    - ossl_cmp_hdr_init
    - OSSL_CMP_MSG_free
    - ossl_cmp_hdr_generalInfo_push1_items
    - sk_OSSL_CMP_POLLREQ_new_null
    - ossl_assert
    - sk_OSSL_CMP_REVDETAILS_new_null
    - OSSL_CMP_REVREPCONTENT_new
    - OSSL_CRMF_MSGS_new
    - ASN1_TYPE_set
    - sk_OSSL_CMP_ITAV_new_null
    - OSSL_CMP_ERRORMSGCONTENT_new
    - OSSL_CMP_MSG_new
    - X509_REQ_dup
    - sk_OSSL_CMP_POLLREP_new_null
    - ASN1_TYPE_new
    - ossl_cmp_msg_set_bodytype
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *ossl_cmp_msg_create(OSSL_CMP_CTX *ctx, int bodytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: HAS_SAN
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_SAN(ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_DN
      Src: /src/openssl/crypto/cmp/cmp_msg.c:254,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:256,1
    - Dst: HAS_SAN
      Src: /src/openssl/crypto/cmp/cmp_msg.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - for_KUR
    - ref_subj
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: determine_subj
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - HAS_SAN
    - X509_REQ_get_subject_name
    - IS_NULL_DN
    linkageType: ''
    returnType: X509_NAME
    signature: "X509_NAME *determine_subj(OSSL_CMP_CTX *ctx, int for_KUR,\n                                       const
      X509_NAME *ref_subj)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/crypto/cmp/cmp_msg.c:269,1
    - Dst: ossl_cmp_ctx_get0_newPubkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:273,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_msg.c:274,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:276,1
    - Dst: determine_subj
      Src: /src/openssl/crypto/cmp/cmp_msg.c:277,1
    - Dst: IS_NULL_DN
      Src: /src/openssl/crypto/cmp/cmp_msg.c:279,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:293,1
    - Dst: OSSL_CRMF_MSG_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:296,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/cmp/cmp_msg.c:298,1
    - Dst: OSSL_CRMF_MSG_set_certReqId
      Src: /src/openssl/crypto/cmp/cmp_msg.c:299,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/openssl/crypto/cmp/cmp_msg.c:305,1
    - Dst: OSSL_CRMF_MSG_get0_tmpl
      Src: /src/openssl/crypto/cmp/cmp_msg.c:305,1
    - Dst: X509_PUBKEY_set0_public_key
      Src: /src/openssl/crypto/cmp/cmp_msg.c:309,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_publicKey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:309,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_msg.c:313,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/crypto/cmp/cmp_msg.c:314,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/crypto/cmp/cmp_msg.c:315,1
    - Dst: OSSL_CRMF_MSG_set0_validity
      Src: /src/openssl/crypto/cmp/cmp_msg.c:319,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:320,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:321,1
    - Dst: X509_REQ_get_extensions
      Src: /src/openssl/crypto/cmp/cmp_msg.c:328,1
    - Dst: HAS_SAN
      Src: /src/openssl/crypto/cmp/cmp_msg.c:330,1
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/cmp/cmp_msg.c:331,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/crypto/cmp/cmp_msg.c:331,1
    - Dst: add1_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:334,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:336,1
    - Dst: X509v3_add_extensions
      Src: /src/openssl/crypto/cmp/cmp_msg.c:337,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:339,1
    - Dst: add1_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:340,1
    - Dst: add1_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:344,1
    - Dst: OSSL_CRMF_MSG_set0_extensions
      Src: /src/openssl/crypto/cmp/cmp_msg.c:347,1
    - Dst: OSSL_CRMF_CERTID_gen
      Src: /src/openssl/crypto/cmp/cmp_msg.c:355,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:355,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_msg.c:356,1
    - Dst: OSSL_CRMF_MSG_set1_regCtrl_oldCertID
      Src: /src/openssl/crypto/cmp/cmp_msg.c:361,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:362,1
    - Dst: OSSL_CRMF_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:370,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:374,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:375,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 66
    argCount: 3
    argNames:
    - ctx
    - for_KUR
    - rid
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 266
    functionDepth: 13
    functionLinenumber: 266
    functionLinenumberEnd: 377
    functionName: OSSL_CMP_CTX_setup_CRM
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - add1_extension
    - OSSL_CRMF_CERTTEMPLATE_fill
    - sk_GENERAL_NAME_num
    - X509_get0_extensions
    - OSSL_CRMF_MSG_free
    - OSSL_CRMF_CERTTEMPLATE_get0_publicKey
    - X509_get0_serialNumber
    - OSSL_CRMF_MSG_get0_tmpl
    - sk_X509_EXTENSION_num
    - IS_NULL_DN
    - OSSL_CMP_CTX_get_option
    - OSSL_CRMF_MSG_set_certReqId
    - time
    - HAS_SAN
    - ASN1_TIME_free
    - OSSL_CRMF_MSG_new
    - determine_subj
    - OSSL_CRMF_CERTID_gen
    - OSSL_CRMF_MSG_set1_regCtrl_oldCertID
    - sk_X509_EXTENSION_pop_free
    - X509_get_issuer_name
    - STACK_OF
    - X509_REQ_get_extensions
    - ASN1_TIME_adj
    - X509_get_subject_name
    - OSSL_CRMF_CERTID_free
    - sk_GENERAL_NAME_pop_free
    - X509v3_add_extensions
    - OSSL_CRMF_MSG_set0_validity
    - X509V3_get_d2i
    - X509_PUBKEY_set0_public_key
    - ossl_cmp_ctx_get0_newPubkey
    - OSSL_CRMF_MSG_set0_extensions
    linkageType: ''
    returnType: OSSL_CRMF_MSG
    signature: OSSL_CRMF_MSG *OSSL_CMP_CTX_setup_CRM(OSSL_CMP_CTX *ctx, int for_KUR,
      int rid)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:385,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:390,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:394,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:398,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/openssl/crypto/cmp/cmp_msg.c:402,1
    - Dst: OSSL_CMP_CTX_get0_newPkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:412,1
    - Dst: OSSL_CMP_CTX_setup_CRM
      Src: /src/openssl/crypto/cmp/cmp_msg.c:416,1
    - Dst: OSSL_CRMF_MSG_create_popo
      Src: /src/openssl/crypto/cmp/cmp_msg.c:420,1
    - Dst: OSSL_CRMF_MSG_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:425,1
    - Dst: sk_OSSL_CRMF_MSG_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:430,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:435,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:441,1
    - Dst: OSSL_CRMF_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:442,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:443,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 3
    argNames:
    - ctx
    - type
    - crm
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 379
    functionDepth: 14
    functionLinenumber: 379
    functionLinenumberEnd: 445
    functionName: ossl_cmp_certreq_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_cmp_hdr_set_implicitConfirm
    - OSSL_CRMF_MSG_free
    - ossl_cmp_msg_create
    - OSSL_CMP_CTX_get0_newPkey
    - OSSL_CRMF_MSG_create_popo
    - OSSL_CRMF_MSG_dup
    - sk_OSSL_CRMF_MSG_push
    - OSSL_CMP_MSG_free
    - OSSL_CMP_CTX_setup_CRM
    - ossl_cmp_msg_protect
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *ossl_cmp_certreq_new(OSSL_CMP_CTX *ctx, int type,\n
      \                                  const OSSL_CRMF_MSG *crm)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_msg.c:455,1
    - Dst: sk_X509_new_reserve
      Src: /src/openssl/crypto/cmp/cmp_msg.c:455,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:458,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:461,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/cmp/cmp_msg.c:461,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/crypto/cmp/cmp_msg.c:462,1
    - Dst: ossl_cmp_set_own_chain
      Src: /src/openssl/crypto/cmp/cmp_msg.c:464,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/cmp/cmp_msg.c:465,1
    - Dst: ossl_cms_sign_encrypt
      Src: /src/openssl/crypto/cmp/cmp_msg.c:466,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:469,1
    - Dst: OSSL_CRMF_ENCRYPTEDKEY_init_envdata
      Src: /src/openssl/crypto/cmp/cmp_msg.c:472,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:475,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:476,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/crypto/cmp/cmp_msg.c:478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - OSSL_CMP_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 448
    functionDepth: 5
    functionLinenumber: 448
    functionLinenumberEnd: 481
    functionName: enc_privkey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - OSSL_CRMF_ENCRYPTEDKEY_init_envdata
    - ossl_cms_sign_encrypt
    - M_ASN1_free_of
    - sk_X509_pop_free
    - ossl_cmp_set_own_chain
    - BIO_free
    - STACK_OF
    - EVP_CIPHER_fetch
    - BIO_s_mem
    - EVP_CIPHER_free
    - i2d_PrivateKey_bio
    - X509_add_cert
    - sk_X509_new_reserve
    linkageType: ''
    returnType: OSSL_CRMF_ENCRYPTEDKEY
    signature: OSSL_CRMF_ENCRYPTEDKEY *enc_privkey(OSSL_CMP_CTX *ctx, const EVP_PKEY
      *pkey)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:496,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:499,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/openssl/crypto/cmp/cmp_msg.c:504,1
    - Dst: OSSL_CMP_CERTRESPONSE_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:508,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:510,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:511,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:512,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_msg.c:515,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:519,1
    - Dst: OSSL_CMP_CERTIFIEDKEYPAIR_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:523,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cmp/cmp_msg.c:528,1
    - Dst: enc_privkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:534,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:537,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:543,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/crypto/cmp/cmp_msg.c:548,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:550,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:551,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_msg.c:556,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:557,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:563,1
    - Dst: OSSL_CMP_CERTRESPONSE_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:564,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:565,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 62
    argCount: 10
    argNames:
    - ctx
    - bodytype
    - certReqId
    - si
    - cert
    - pkey
    - encryption_recip
    - chain
    - caPubs
    - unprotectedErrors
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - OSSL_CMP_PKISI*
    - X509*
    - EVP_PKEY*
    - X509*
    - STACK_OF*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 484
    functionDepth: 13
    functionLinenumber: 484
    functionLinenumberEnd: 567
    functionName: ossl_cmp_certrep_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CMP_CERTRESPONSE_free
    - enc_privkey
    - OSSL_CMP_MSG_free
    - sk_X509_num
    - ossl_assert
    - OSSL_CMP_CERTIFIEDKEYPAIR_new
    - ossl_cmp_hdr_set_implicitConfirm
    - X509_up_ref
    - ossl_cmp_msg_create
    - ASN1_INTEGER_set
    - ossl_cmp_msg_protect
    - ossl_x509_add_certs_new
    - OSSL_CMP_PKISI_free
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_PKISI_dup
    - OSSL_CMP_CERTRESPONSE_new
    - sk_OSSL_CMP_CERTRESPONSE_push
    - X509_chain_up_ref
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *ossl_cmp_certrep_new(OSSL_CMP_CTX *ctx, int bodytype,\n
      \                                  int certReqId, const OSSL_CMP_PKISI *si,\n
      \                                  X509 *cert, const EVP_PKEY *pkey,\n                                   const
      X509 *encryption_recip,\n                                   STACK_OF(X509) *chain,
      STACK_OF(X509) *caPubs,\n                                   int unprotectedErrors)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:579,1
    - Dst: OSSL_CMP_REVDETAILS_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:584,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:591,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_msg.c:592,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:594,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_msg.c:595,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/openssl/crypto/cmp/cmp_msg.c:601,1
    - Dst: add_crl_reason_extension
      Src: /src/openssl/crypto/cmp/cmp_msg.c:608,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:612,1
    - Dst: sk_OSSL_CMP_REVDETAILS_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:615,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:620,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:626,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:627,1
    - Dst: OSSL_CMP_REVDETAILS_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:628,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 569
    functionDepth: 13
    functionLinenumber: 569
    functionLinenumberEnd: 630
    functionName: ossl_cmp_rr_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - add_crl_reason_extension
    - ossl_assert
    - OSSL_CMP_REVDETAILS_free
    - X509_REQ_get_subject_name
    - ERR_raise
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - ossl_cmp_msg_create
    - OSSL_CRMF_CERTTEMPLATE_fill
    - OSSL_CMP_MSG_free
    - X509_REQ_get0_pubkey
    - sk_OSSL_CMP_REVDETAILS_push
    - ossl_cmp_msg_protect
    - OSSL_CMP_REVDETAILS_new
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *ossl_cmp_rr_new(OSSL_CMP_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:640,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:643,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:647,1
    - Dst: sk_OSSL_CMP_PKISI_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:648,1
    - Dst: sk_OSSL_CRMF_CERTID_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:653,1
    - Dst: OSSL_CRMF_CERTID_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:656,1
    - Dst: sk_OSSL_CRMF_CERTID_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:657,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_msg.c:664,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:665,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:671,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:672,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:673,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:674,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 4
    argNames:
    - ctx
    - si
    - cid
    - unprotectedErrors
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKISI*
    - OSSL_CRMF_CERTID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 632
    functionDepth: 13
    functionLinenumber: 632
    functionLinenumberEnd: 676
    functionName: ossl_cmp_rp_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_PKISI_free
    - ossl_assert
    - ERR_raise
    - sk_OSSL_CMP_PKISI_push
    - OSSL_CRMF_CERTID_free
    - OSSL_CRMF_CERTID_dup
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_PKISI_dup
    - ossl_cmp_msg_create
    - sk_OSSL_CRMF_CERTID_push
    - sk_OSSL_CRMF_CERTID_new_null
    - OSSL_CMP_MSG_free
    - ossl_cmp_msg_protect
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *ossl_cmp_rp_new(OSSL_CMP_CTX *ctx, const OSSL_CMP_PKISI
      *si,\n                              const OSSL_CRMF_CERTID *cid, int unprotectedErrors)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:682,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:685,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:687,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:691,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 678
    functionDepth: 13
    functionLinenumber: 678
    functionLinenumberEnd: 694
    functionName: ossl_cmp_pkiconf_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_cmp_msg_create
    - OSSL_CMP_MSG_free
    - ossl_cmp_msg_protect
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *ossl_cmp_pkiconf_new(OSSL_CMP_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:700,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_msg.c:703,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:706,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/crypto/cmp/cmp_msg.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - itav
    argTypes:
    - OSSL_CMP_MSG*
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: ossl_cmp_msg_gen_push0_ITAV
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_ITAV_push0_stack_item
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_msg_gen_push0_ITAV(OSSL_CMP_MSG *msg, OSSL_CMP_ITAV *itav)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:720,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:723,1
    - Dst: OSSL_CMP_ITAV_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:724,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:724,1
    - Dst: ossl_cmp_msg_gen_push0_ITAV
      Src: /src/openssl/crypto/cmp/cmp_msg.c:726,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - itavs
    argTypes:
    - OSSL_CMP_MSG*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 732
    functionName: ossl_cmp_msg_gen_push1_ITAVs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_CMP_ITAV_dup
    - sk_OSSL_CMP_ITAV_value
    - ossl_cmp_msg_gen_push0_ITAV
    - OSSL_CMP_ITAV_free
    - sk_OSSL_CMP_ITAV_num
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_msg_gen_push1_ITAVs(OSSL_CMP_MSG *msg,\n                                 const
      STACK_OF(OSSL_CMP_ITAV) *itavs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:744,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:747,1
    - Dst: ossl_cmp_msg_gen_push1_ITAVs
      Src: /src/openssl/crypto/cmp/cmp_msg.c:750,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:753,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:759,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:760,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - itavs
    - body_type
    - err_code
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 738
    functionDepth: 13
    functionLinenumber: 738
    functionLinenumberEnd: 762
    functionName: gen_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_cmp_msg_create
    - ossl_cmp_msg_gen_push1_ITAVs
    - OSSL_CMP_MSG_free
    - ossl_cmp_msg_protect
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *gen_new(OSSL_CMP_CTX *ctx,\n                             const
      STACK_OF(OSSL_CMP_ITAV) *itavs,\n                             int body_type,
      int err_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 14
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: ossl_cmp_genm_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - gen_new
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *ossl_cmp_genm_new(OSSL_CMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - itavs
    argTypes:
    - OSSL_CMP_CTX*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 14
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: ossl_cmp_genp_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - gen_new
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *ossl_cmp_genp_new(OSSL_CMP_CTX *ctx,\n                                const
      STACK_OF(OSSL_CMP_ITAV) *itavs)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:785,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:788,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:791,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:792,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:795,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/crypto/cmp/cmp_msg.c:797,1
    - Dst: ERR_lib_error_string
      Src: /src/openssl/crypto/cmp/cmp_msg.c:801,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_msg.c:802,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_msg.c:805,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/openssl/crypto/cmp/cmp_msg.c:809,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/openssl/crypto/cmp/cmp_msg.c:812,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/openssl/crypto/cmp/cmp_msg.c:815,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:819,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:824,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:825,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 44
    argCount: 5
    argNames:
    - ctx
    - si
    - errorCode
    - details
    - unprotected
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKISI*
    - int64_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 777
    functionDepth: 13
    functionLinenumber: 777
    functionLinenumberEnd: 827
    functionName: ossl_cmp_error_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_PKISI_free
    - ossl_assert
    - ossl_cmp_sk_ASN1_UTF8STRING_push_str
    - ERR_raise
    - sk_ASN1_UTF8STRING_new_null
    - ERR_reason_error_string
    - ASN1_INTEGER_new
    - OSSL_CMP_PKISI_dup
    - ossl_cmp_msg_create
    - OSSL_CMP_MSG_free
    - ERR_lib_error_string
    - ossl_cmp_msg_protect
    - ASN1_INTEGER_set_int64
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *ossl_cmp_error_new(OSSL_CMP_CTX *ctx, const OSSL_CMP_PKISI
      *si,\n                                 int64_t errorCode, const char *details,\n
      \                                int unprotected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:837,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - certStatus
    - hash
    argTypes:
    - OSSL_CMP_CERTSTATUS*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 842
    functionName: ossl_cmp_certstatus_set0_certHash
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_certstatus_set0_certHash(OSSL_CMP_CERTSTATUS *certStatus,\n
      \                                     ASN1_OCTET_STRING *hash)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:854,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:860,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:864,1
    - Dst: OSSL_CMP_CERTSTATUS_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:867,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:870,1
    - Dst: OSSL_CMP_CERTSTATUS_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:871,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:876,1
    - Dst: X509_digest_sig
      Src: /src/openssl/crypto/cmp/cmp_msg.c:885,1
    - Dst: ossl_cmp_hdr_set_pvno
      Src: /src/openssl/crypto/cmp/cmp_msg.c:888,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:890,1
    - Dst: X509_ALGOR_set_md
      Src: /src/openssl/crypto/cmp/cmp_msg.c:892,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:894,1
    - Dst: ossl_cmp_certstatus_set0_certHash
      Src: /src/openssl/crypto/cmp/cmp_msg.c:896,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:907,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:908,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:913,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:919,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:920,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:921,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 4
    argNames:
    - ctx
    - certReqId
    - fail_info
    - text
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 844
    functionDepth: 13
    functionLinenumber: 844
    functionLinenumberEnd: 923
    functionName: ossl_cmp_certConf_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_CMP_CERTSTATUS_free
    - EVP_MD_free
    - ERR_raise
    - ASN1_OCTET_STRING_free
    - sk_OSSL_CMP_CERTSTATUS_push
    - X509_digest_sig
    - ossl_cmp_msg_create
    - X509_ALGOR_set_md
    - ASN1_INTEGER_set
    - ossl_cmp_hdr_set_pvno
    - X509_ALGOR_new
    - ossl_cmp_certstatus_set0_certHash
    - OSSL_CMP_STATUSINFO_new
    - ossl_cmp_msg_protect
    - OSSL_CMP_MSG_free
    - OSSL_CMP_CERTSTATUS_new
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *ossl_cmp_certConf_new(OSSL_CMP_CTX *ctx, int certReqId,\n
      \                                   int fail_info, const char *text)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:930,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:933,1
    - Dst: OSSL_CMP_POLLREQ_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:936,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:937,1
    - Dst: sk_OSSL_CMP_POLLREQ_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:938,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:942,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:948,1
    - Dst: OSSL_CMP_POLLREQ_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:949,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:950,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - crid
    argTypes:
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 925
    functionDepth: 13
    functionLinenumber: 925
    functionLinenumberEnd: 952
    functionName: ossl_cmp_pollReq_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OSSL_CMP_POLLREQ_free
    - OSSL_CMP_POLLREQ_new
    - ossl_cmp_msg_create
    - ASN1_INTEGER_set
    - OSSL_CMP_MSG_free
    - ossl_cmp_msg_protect
    - sk_OSSL_CMP_POLLREQ_push
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *ossl_cmp_pollReq_new(OSSL_CMP_CTX *ctx, int crid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:960,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/crypto/cmp/cmp_msg.c:963,1
    - Dst: OSSL_CMP_POLLREP_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:965,1
    - Dst: sk_OSSL_CMP_POLLREP_push
      Src: /src/openssl/crypto/cmp/cmp_msg.c:967,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_msg.c:969,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/crypto/cmp/cmp_msg.c:971,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:974,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:979,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:980,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - crid
    - poll_after
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 954
    functionDepth: 13
    functionLinenumber: 954
    functionLinenumberEnd: 982
    functionName: ossl_cmp_pollRep_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OSSL_CMP_POLLREP_new
    - sk_OSSL_CMP_POLLREP_push
    - ossl_cmp_msg_create
    - ASN1_INTEGER_set
    - OSSL_CMP_MSG_free
    - ossl_cmp_msg_protect
    - ASN1_INTEGER_set_int64
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *ossl_cmp_pollRep_new(OSSL_CMP_CTX *ctx, int crid,\n
      \                                  int64_t poll_after)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:996,1
    - Dst: sk_OSSL_CMP_PKISI_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:999,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rrep
    - rsid
    argTypes:
    - OSSL_CMP_REVREPCONTENT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1004
    functionName: ossl_cmp_revrepcontent_get_pkisi
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - sk_OSSL_CMP_PKISI_value
    linkageType: ''
    returnType: OSSL_CMP_PKISI
    signature: 'OSSL_CMP_PKISI *

      ossl_cmp_revrepcontent_get_pkisi(OSSL_CMP_REVREPCONTENT *rrep, int rsid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1018,1
    - Dst: sk_OSSL_CRMF_CERTID_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1021,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rrep
    - rsid
    argTypes:
    - OSSL_CMP_REVREPCONTENT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1026
    functionName: ossl_cmp_revrepcontent_get_CertId
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - sk_OSSL_CRMF_CERTID_value
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CRMF_CERTID
    signature: 'OSSL_CRMF_CERTID *

      ossl_cmp_revrepcontent_get_CertId(OSSL_CMP_REVREPCONTENT *rrep, int rsid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1035,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1037,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - certReqId
    - rid
    argTypes:
    - ASN1_INTEGER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1041
    functionName: suitable_rid
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cmp_asn1_get_int
    linkageType: ''
    returnType: int
    signature: int suitable_rid(const ASN1_INTEGER *certReqId, int rid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1055,1
    - Dst: sk_OSSL_CMP_POLLREP_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1058,1
    - Dst: sk_OSSL_CMP_POLLREP_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1059,1
    - Dst: suitable_rid
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1060,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - prc
    - rid
    argTypes:
    - OSSL_CMP_POLLREPCONTENT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1067
    functionName: ossl_cmp_pollrepcontent_get0_pollrep
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_CMP_POLLREP_num
    - ossl_assert
    - suitable_rid
    - ERR_raise_data
    - sk_OSSL_CMP_POLLREP_value
    linkageType: ''
    returnType: OSSL_CMP_POLLREP
    signature: "OSSL_CMP_POLLREP *\nossl_cmp_pollrepcontent_get0_pollrep(const OSSL_CMP_POLLREPCONTENT
      *prc,\n                                     int rid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1081,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1084,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_value
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1085,1
    - Dst: suitable_rid
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1086,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1090,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - crm
    - rid
    argTypes:
    - OSSL_CMP_CERTREPMESSAGE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1093
    functionName: ossl_cmp_certrepmessage_get0_certresponse
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - sk_OSSL_CMP_CERTRESPONSE_value
    - ossl_assert
    - suitable_rid
    - sk_OSSL_CMP_CERTRESPONSE_num
    - ERR_raise_data
    linkageType: ''
    returnType: OSSL_CMP_CERTRESPONSE
    signature: "OSSL_CMP_CERTRESPONSE *\nossl_cmp_certrepmessage_get0_certresponse(const
      OSSL_CMP_CERTREPMESSAGE *crm,\n                                          int
      rid)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1107,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1121,1
    - Dst: OSSL_CRMF_ENCRYPTEDKEY_get1_pkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1131,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1134,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1137,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1143,1
    - Dst: OSSL_CMP_CTX_get0_newPkey
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1150,1
    - Dst: OSSL_CRMF_ENCRYPTEDKEY_get1_encCert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1153,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1162,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - ctx
    - crep
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_CERTRESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1101
    functionDepth: 9
    functionLinenumber: 1101
    functionLinenumberEnd: 1166
    functionName: ossl_cmp_certresponse_get1_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_CTX_get_option
    - OSSL_CMP_CTX_set0_newPkey
    - ossl_assert
    - ERR_raise
    - ossl_x509_set0_libctx
    - X509_dup
    - OSSL_CRMF_ENCRYPTEDKEY_get1_encCert
    - OSSL_CMP_CTX_get0_newPkey
    - OSSL_CRMF_ENCRYPTEDKEY_get1_pkey
    linkageType: ''
    returnType: X509
    signature: X509 *ossl_cmp_certresponse_get1_cert(const OSSL_CMP_CTX *ctx, const
      OSSL_CMP_CERTRESPONSE *crep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1171,1
    - Dst: ossl_cmp_hdr_set_transactionID
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1174,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1168
    functionDepth: 13
    functionLinenumber: 1168
    functionLinenumberEnd: 1178
    functionName: OSSL_CMP_MSG_update_transactionID
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - ERR_raise
    - ossl_cmp_hdr_set_transactionID
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_MSG_update_transactionID(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1183,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1188,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1180
    functionDepth: 13
    functionLinenumber: 1180
    functionLinenumberEnd: 1192
    functionName: OSSL_CMP_MSG_update_recipNonce
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ossl_cmp_msg_protect
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_MSG_update_recipNonce(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1201,1
    - Dst: OSSL_CMP_MSG_new
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1205,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1207,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1211,1
    - Dst: d2i_OSSL_CMP_MSG_bio
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1212,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1213,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - file
    - libctx
    - propq
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1218
    functionName: OSSL_CMP_MSG_read
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - BIO_free
    - d2i_OSSL_CMP_MSG_bio
    - OSSL_CMP_MSG_free
    - OSSL_CMP_MSG_new
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *OSSL_CMP_MSG_read(const char *file, OSSL_LIB_CTX *libctx,\n
      \                               const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1226,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1230,1
    - Dst: i2d_OSSL_CMP_MSG_bio
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1233,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - file
    - msg
    argTypes:
    - char*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1220
    functionDepth: 3
    functionLinenumber: 1220
    functionLinenumberEnd: 1236
    functionName: OSSL_CMP_MSG_write
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - i2d_OSSL_CMP_MSG_bio
    - BIO_new_file
    - ERR_raise
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_MSG_write(const char *file, const OSSL_CMP_MSG *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1249,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - in
    - len
    argTypes:
    - OSSL_CMP_MSG**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1252
    functionName: d2i_OSSL_CMP_MSG
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *d2i_OSSL_CMP_MSG(OSSL_CMP_MSG **msg, const unsigned
      char **in,\n                               long len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1256,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - out
    argTypes:
    - OSSL_CMP_MSG*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1258
    functionName: i2d_OSSL_CMP_MSG
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - ASN1_item_i2d
    linkageType: ''
    returnType: int
    signature: int i2d_OSSL_CMP_MSG(const OSSL_CMP_MSG *msg, unsigned char **out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_bio_ex
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1270,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - msg
    argTypes:
    - BIO*
    - OSSL_CMP_MSG**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1260
    functionDepth: 2
    functionLinenumber: 1260
    functionLinenumberEnd: 1272
    functionName: d2i_OSSL_CMP_MSG_bio
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - ASN1_item_d2i_bio_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *d2i_OSSL_CMP_MSG_bio(BIO *bio, OSSL_CMP_MSG **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - msg
    argTypes:
    - BIO*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1277
    functionName: i2d_OSSL_CMP_MSG_bio
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 1
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_OSSL_CMP_MSG_bio(BIO *bio, const OSSL_CMP_MSG *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1281,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1284,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_msg.c:1285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1287
    functionName: ossl_cmp_is_error_with_waiting
    functionSourceFile: /src/openssl/crypto/cmp/cmp_msg.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_pkisi_get_status
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_is_error_with_waiting(const OSSL_CMP_MSG *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_status.c:22,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/crypto/cmp/cmp_status.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - si
    argTypes:
    - OSSL_CMP_PKISI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: ossl_cmp_pkisi_get_status
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 3
    functionsReached:
    - ossl_assert
    - ossl_cmp_asn1_get_int
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_pkisi_get_status(const OSSL_CMP_PKISI *si)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_status.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: ossl_cmp_PKIStatus_to_string
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: char
    signature: char *ossl_cmp_PKIStatus_to_string(int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_status.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - si
    argTypes:
    - OSSL_CMP_PKISI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ossl_cmp_pkisi_get0_statusString
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: OSSL_CMP_PKIFREETEXT
    signature: OSSL_CMP_PKIFREETEXT *ossl_cmp_pkisi_get0_statusString(const OSSL_CMP_PKISI
      *si)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_status.c:64,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/cmp/cmp_status.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - si
    argTypes:
    - OSSL_CMP_PKISI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: ossl_cmp_pkisi_get_pkifailureinfo
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_pkisi_get_pkifailureinfo(const OSSL_CMP_PKISI *si)
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 137
    functionName: CMP_PKIFAILUREINFO_to_string
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *CMP_PKIFAILUREINFO_to_string(int number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_status.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_status.c:144,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/cmp/cmp_status.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - si
    - bit_index
    argTypes:
    - OSSL_CMP_PKISI*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: ossl_cmp_pkisi_check_pkifailureinfo
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_pkisi_check_pkifailureinfo(const OSSL_CMP_PKISI *si, int
      bit_index)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_PKIStatus_to_string
      Src: /src/openssl/crypto/cmp/cmp_status.c:171,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:180,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:188,1
    - Dst: CMP_PKIFAILUREINFO_to_string
      Src: /src/openssl/crypto/cmp/cmp_status.c:192,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:194,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:205,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/cmp/cmp_status.c:210,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:212,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/cmp/cmp_status.c:216,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_status.c:217,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/cmp/cmp_status.c:218,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/cmp/cmp_status.c:219,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - status
    - fail_info
    - status_strings
    - buf
    - bufsize
    argTypes:
    - int
    - int
    - OSSL_CMP_PKIFREETEXT*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 226
    functionName: snprint_PKIStatusInfo_parts
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - sk_ASN1_UTF8STRING_num
    - BIO_snprintf
    - ossl_cmp_PKIStatus_to_string
    - CMP_PKIFAILUREINFO_to_string
    linkageType: ''
    returnType: char
    signature: "char *snprint_PKIStatusInfo_parts(int status, int fail_info,\n                                  const
      OSSL_CMP_PKIFREETEXT *status_strings,\n                                  char
      *buf, size_t bufsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_status.c:234,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/openssl/crypto/cmp/cmp_status.c:238,1
    - Dst: snprint_PKIStatusInfo_parts
      Src: /src/openssl/crypto/cmp/cmp_status.c:240,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/cmp/cmp_status.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - statusInfo
    - buf
    - bufsize
    argTypes:
    - OSSL_CMP_PKISI*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: OSSL_CMP_snprint_PKIStatusInfo
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get
    - ERR_raise
    - ossl_cmp_pkisi_get_pkifailureinfo
    - snprint_PKIStatusInfo_parts
    linkageType: ''
    returnType: char
    signature: "char *OSSL_CMP_snprint_PKIStatusInfo(const OSSL_CMP_PKISI *statusInfo,\n
      \                                    char *buf, size_t bufsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_status.c:249,1
    - Dst: snprint_PKIStatusInfo_parts
      Src: /src/openssl/crypto/cmp/cmp_status.c:253,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/crypto/cmp/cmp_status.c:253,1
    - Dst: OSSL_CMP_CTX_get_failInfoCode
      Src: /src/openssl/crypto/cmp/cmp_status.c:254,1
    - Dst: OSSL_CMP_CTX_get0_statusString
      Src: /src/openssl/crypto/cmp/cmp_status.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - buf
    - bufsize
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: OSSL_CMP_CTX_snprint_PKIStatus
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_CTX_get_failInfoCode
    - OSSL_CMP_CTX_get0_statusString
    - snprint_PKIStatusInfo_parts
    linkageType: ''
    returnType: char
    signature: "char *OSSL_CMP_CTX_snprint_PKIStatus(const OSSL_CMP_CTX *ctx, char
      *buf,\n                                     size_t bufsize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_PKISI_new
      Src: /src/openssl/crypto/cmp/cmp_status.c:268,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_status.c:274,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/cmp/cmp_status.c:278,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/cmp/cmp_status.c:279,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_status.c:281,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/crypto/cmp/cmp_status.c:283,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_status.c:292,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/cmp/cmp_status.c:294,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_status.c:301,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/cmp/cmp_status.c:302,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - status
    - fail_info
    - text
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 304
    functionName: OSSL_CMP_STATUSINFO_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_status.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_PKISI_free
    - sk_ASN1_UTF8STRING_new_null
    - ASN1_BIT_STRING_new
    - OSSL_CMP_PKISI_new
    - ASN1_INTEGER_set
    - ASN1_BIT_STRING_set_bit
    - sk_ASN1_UTF8STRING_push
    - ASN1_STRING_set
    - ASN1_UTF8STRING_new
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: OSSL_CMP_PKISI
    signature: "OSSL_CMP_PKISI *OSSL_CMP_STATUSINFO_new(int status, int fail_info,\n
      \                                       const char *text)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_err.c:201,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/cmp/cmp_err.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: ossl_err_load_CMP_strings
    functionSourceFile: /src/openssl/crypto/cmp/cmp_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_CMP_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/cmp/cmp_util.c:29,1
    - Dst: OSSL_trace_set_channel
      Src: /src/openssl/crypto/cmp/cmp_util.c:31,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_util.c:33,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_util.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 23
    functionDepth: 6
    functionLinenumber: 23
    functionLinenumberEnd: 38
    functionName: OSSL_CMP_log_open
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - OSSL_trace_set_channel
    - ERR_raise
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_log_open(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_trace_set_channel
      Src: /src/openssl/crypto/cmp/cmp_util.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: OSSL_CMP_log_close
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 1
    functionsReached:
    - OSSL_trace_set_channel
    linkageType: ''
    returnType: void
    signature: void OSSL_CMP_log_close(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/cmp/cmp_util.c:49,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/crypto/cmp/cmp_util.c:56,1
    - Dst: strlen
      Src: /src/openssl/crypto/cmp/cmp_util.c:57,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/cmp/cmp_util.c:61,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:63,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:64,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:65,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:66,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:67,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:68,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:69,1
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: parse_level
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strlcpy
    - strcmp
    - strlen
    - HAS_PREFIX
    linkageType: ''
    returnType: OSSL_CMP_severity
    signature: OSSL_CMP_severity parse_level(const char *level)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/cmp/cmp_util.c:79,1
    - Dst: strchr
      Src: /src/openssl/crypto/cmp/cmp_util.c:89,1
    - Dst: parse_level
      Src: /src/openssl/crypto/cmp/cmp_util.c:91,1
    - Dst: strtol
      Src: /src/openssl/crypto/cmp/cmp_util.c:94,1
    - Dst: parse_level
      Src: /src/openssl/crypto/cmp/cmp_util.c:98,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/cmp/cmp_util.c:99,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/cmp/cmp_util.c:100,1
    - Dst: strchr
      Src: /src/openssl/crypto/cmp/cmp_util.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - buf
    - level
    - func
    - file
    - line
    argTypes:
    - char*
    - OSSL_CMP_severity*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: ossl_cmp_log_parse_metadata
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - strchr
    - strtol
    - OPENSSL_strndup
    - parse_level
    linkageType: ''
    returnType: char
    signature: "char *ossl_cmp_log_parse_metadata(const char *buf,\n                                        OSSL_CMP_severity
      *level,\n                                        char **func, char **file, int
      *line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/cmp/cmp_util.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - func
    - fallback
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: improve_location_name
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *improve_location_name(const char *func, const char *fallback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/cmp/cmp_util.c:141,1
    - Dst: improve_location_name
      Src: /src/openssl/crypto/cmp/cmp_util.c:141,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/cmp/cmp_util.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - bio
    - component
    - file
    - line
    - level
    - msg
    argTypes:
    - BIO*
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: OSSL_CMP_print_to_bio
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - improve_location_name
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_print_to_bio(BIO *bio, const char *component, const char
      *file,\n                          int line, OSSL_CMP_severity level, const char
      *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error_all
      Src: /src/openssl/crypto/cmp/cmp_util.c:158,1
    - Dst: improve_location_name
      Src: /src/openssl/crypto/cmp/cmp_util.c:160,1
    - Dst: ERR_lib_error_string
      Src: /src/openssl/crypto/cmp/cmp_util.c:160,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/cmp/cmp_util.c:161,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/crypto/cmp/cmp_util.c:166,1
    - Dst: openssl_strerror_r
      Src: /src/openssl/crypto/cmp/cmp_util.c:167,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_util.c:170,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_util.c:174,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_util.c:178,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_util.c:180,1
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/cmp/cmp_util.c:184,1
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/openssl/crypto/cmp/cmp_util.c:187,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_util.c:189,1
    - Dst: log_fn
      Src: /src/openssl/crypto/cmp/cmp_util.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - log_fn
    argTypes:
    - OSSL_CMP_log_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 151
    functionDepth: 6
    functionLinenumber: 151
    functionLinenumberEnd: 199
    functionName: OSSL_CMP_print_errors_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - openssl_strerror_r
    - ERR_SYSTEM_ERROR
    - ERR_get_error_all
    - BIO_new_fp
    - OSSL_CMP_print_to_bio
    - BIO_free
    - ERR_reason_error_string
    - improve_location_name
    - ERR_GET_REASON
    - BIO_snprintf
    - ERR_lib_error_string
    - log_fn
    linkageType: ''
    returnType: void
    signature: void OSSL_CMP_print_errors_cb(OSSL_CMP_log_cb_t log_fn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_util.c:248,1
    - Dst: ASN1_OCTET_STRING_dup::ASN1_OCTET_STRING_dup
      Src: /src/openssl/crypto/cmp/cmp_util.c:255,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_util.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - tgt
    - src
    argTypes:
    - ASN1_OCTET_STRING**
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 264
    functionName: ossl_cmp_asn1_octet_string_set1
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 1
    functionsReached:
    - ASN1_OCTET_STRING_dup::ASN1_OCTET_STRING_dup
    - ERR_raise
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_asn1_octet_string_set1(ASN1_OCTET_STRING **tgt,\n                                    const
      ASN1_OCTET_STRING *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_util.c:272,1
    - Dst: ASN1_OCTET_STRING_new::ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/cmp/cmp_util.c:276,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_util.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - tgt
    - bytes
    - len
    argTypes:
    - ASN1_OCTET_STRING**
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 286
    functionName: ossl_cmp_asn1_octet_string_set1_bytes
    functionSourceFile: /src/openssl/crypto/cmp/cmp_util.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_new::ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_asn1_octet_string_set1_bytes(ASN1_OCTET_STRING **tgt,\n
      \                                         const unsigned char *bytes, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: DEFINE_OSSL_CMP_CTX_get0
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_CMP_CTX_get0(FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: DEFINE_OSSL_CMP_CTX_get0_NAME
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_CMP_CTX_get0_NAME(NAME, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - PREFIX
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: DEFINE_OSSL_set0
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_set0(PREFIX, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - PREFIX
    - ','
    - NAME
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: DEFINE_OSSL_set0_NAME
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_set0_NAME(PREFIX, NAME, FIELD, TYPE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:84,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:84,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:88,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - pmd
    - nid
    argTypes:
    - OSSL_CMP_CTX*
    - EVP_MD**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 10
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: cmp_ctx_set_md
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - OBJ_nid2sn
    - EVP_MD_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int cmp_ctx_set_md(OSSL_CMP_CTX *ctx, EVP_MD **pmd, int nid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:102,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:108,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:121,1
    - Dst: cmp_ctx_set_md
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:126,1
    - Dst: cmp_ctx_set_md
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:131,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 100
    functionDepth: 11
    functionLinenumber: 100
    functionLinenumberEnd: 142
    functionName: OSSL_CMP_CTX_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - cmp_ctx_set_md
    - OPENSSL_zalloc
    - ERR_raise
    - OPENSSL_strdup
    - sk_X509_new_null
    - OSSL_CMP_CTX_free
    linkageType: ''
    returnType: OSSL_CMP_CTX
    signature: OSSL_CMP_CTX *OSSL_CMP_CTX_new(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itavs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: OSSL_CMP_ITAVs_free
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_CMP_ITAVs_free(itavs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: X509_EXTENSIONS_free
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_EXTENSIONS_free(exts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: OSSL_CMP_PKIFREETEXT_free
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_CMP_PKIFREETEXT_free(text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:155,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:161,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:162,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:169,1
    - Dst: ossl_cmp_ctx_set0_statusString
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:172,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:173,1
    - Dst: ossl_cmp_ctx_set1_newChain
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:174,1
    - Dst: ossl_cmp_ctx_set1_caPubs
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:175,1
    - Dst: ossl_cmp_ctx_set1_extraCertsIn
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:176,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:177,1
    - Dst: ossl_cmp_ctx_set1_first_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:178,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:179,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:180,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 182
    functionName: OSSL_CMP_CTX_reinit
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_ctx_set1_newChain
    - ERR_raise
    - OSSL_HTTP_close
    - ossl_cmp_ctx_set1_caPubs
    - ossl_cmp_ctx_set1_extraCertsIn
    - ossl_cmp_ctx_set1_first_senderNonce
    - ossl_cmp_ctx_set0_newCert
    - OSSL_CMP_CTX_set1_transactionID
    - ossl_cmp_ctx_set0_statusString
    - ossl_cmp_debug
    - OSSL_CMP_CTX_set1_senderNonce
    - ossl_cmp_ctx_set1_validatedSrvCert
    - OSSL_CMP_ITAVs_free
    - ossl_cmp_ctx_set1_recipNonce
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_reinit(OSSL_CMP_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:192,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:193,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:196,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:197,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:198,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:199,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:200,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:202,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:203,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:204,1
    - Dst: X509_STORE_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:205,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:206,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:208,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:209,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:210,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:211,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:213,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:214,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:215,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:217,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:218,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:219,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:220,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:221,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:222,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:223,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:224,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:226,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:227,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:228,1
    - Dst: X509_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:229,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:230,1
    - Dst: X509_EXTENSIONS_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:231,1
    - Dst: sk_POLICYINFO_pop_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:232,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:233,1
    - Dst: X509_REQ_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:234,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:236,1
    - Dst: OSSL_CMP_PKIFREETEXT_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:238,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:239,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:240,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:241,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:242,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 245
    functionName: OSSL_CMP_CTX_free
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 1
    functionsReached:
    - X509_REQ_free
    - EVP_MD_free
    - OSSL_CMP_PKIFREETEXT_free
    - OSSL_HTTP_close
    - X509_STORE_free
    - X509_EXTENSIONS_free
    - OSSL_CMP_ITAVs_free
    - sk_GENERAL_NAME_pop_free
    - OSSL_STACK_OF_X509_free
    - X509_free
    - OPENSSL_free
    - EVP_PKEY_free
    - ASN1_INTEGER_free
    - ASN1_OCTET_STRING_free
    - ossl_cmp_debug
    - X509_NAME_free
    - sk_POLICYINFO_pop_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void OSSL_CMP_CTX_free(OSSL_CMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - PREFIX
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: DEFINE_OSSL_set
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_set(PREFIX, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - PREFIX
    - ','
    - FIELD
    - ','
    - TYPE
    - ','
    - ERR_RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: DEFINE_OSSL_get
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_get(PREFIX, FIELD, TYPE, ERR_RET)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_log_parse_metadata
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:316,1
    - Dst: OSSL_CMP_CTX*::log_cb
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:321,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:327,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ossl_cmp_log_trace_cb
    argTypes:
    - DEFINE_OSSL_CMP_CTX_get0
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 330
    functionName: DEFINE_OSSL_get
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_cmp_log_parse_metadata
    - OSSL_CMP_CTX*::log_cb
    linkageType: ''
    returnType: void
    signature: "void DEFINE_OSSL_get(OSSL_CMP_CTX, status, int, -1)\n\n/*\n * Returns
      the statusString from the last CertRepMessage\n * or Revocation Response or
      error message, NULL on error\n */\nDEFINE_OSSL_CMP_CTX_get0(statusString, OSSL_CMP_PKIFREETEXT)\n\nDEFINE_OSSL_set0(ossl_cmp_ctx,
      statusString, OSSL_CMP_PKIFREETEXT)\n\n/* Set callback function for checking
      if the cert is ok or should be rejected */\nDEFINE_OSSL_set(OSSL_CMP_CTX, certConf_cb,
      OSSL_CMP_certConf_cb_t)\n\n/*\n * Set argument, respectively a pointer to a
      structure containing arguments,\n * optionally to be used by the certConf callback.\n
      */\nDEFINE_OSSL_set(OSSL_CMP_CTX, certConf_cb_arg, void *)\n\n/*\n * Get argument,
      respectively the pointer to a structure containing arguments,\n * optionally
      to be used by certConf callback.\n * Returns callback argument set previously
      (NULL if not set or on error)\n */\nDEFINE_OSSL_get(OSSL_CMP_CTX, certConf_cb_arg,
      void *, NULL)\n\n#ifndef OPENSSL_NO_TRACE\nstatic size_t ossl_cmp_log_trace_cb(const
      char *buf, size_t cnt,\n                                    int category, int
      cmd, void *vdata)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:351,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:361,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:364,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:368,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:370,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:372,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:376,1
    - Dst: OSSL_CMP_CTX*::log_cb
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:377,1
    - Dst: va_end
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:380,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 7
    argNames:
    - level
    - ctx
    - func
    - file
    - line
    - level_str
    - format
    argTypes:
    - OSSL_CMP_severity
    - OSSL_CMP_CTX*
    - char*
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 382
    functionName: ossl_cmp_print_log
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - va_end
    - OSSL_CMP_CTX*::log_cb
    - OSSL_TRACE_ENABLED
    - BIO_puts
    - BIO_snprintf
    - BIO_vsnprintf
    - va_start
    - OSSL_TRACE_END
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_print_log(OSSL_CMP_severity level, const OSSL_CMP_CTX
      *ctx,\n                       const char *func, const char *file, int line,\n
      \                      const char *level_str, const char *format, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:364,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:368,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - BIO_puts
    - BIO_vsnprintf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(CMP)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:388,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_log_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: OSSL_CMP_CTX_set_log_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_trace_set_callback
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_set_log_cb(OSSL_CMP_CTX *ctx, OSSL_CMP_log_cb_t cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_print_errors_cb
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 7
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: OSSL_CMP_CTX_print_errors
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 3
    functionsReached:
    - OSSL_CMP_print_errors_cb
    linkageType: ''
    returnType: void
    signature: void OSSL_CMP_CTX_print_errors(const OSSL_CMP_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:419,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - ref
    - len
    argTypes:
    - OSSL_CMP_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: OSSL_CMP_CTX_set1_referenceValue
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cmp_asn1_octet_string_set1_bytes
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_CTX_set1_referenceValue(OSSL_CMP_CTX *ctx,\n                                     const
      unsigned char *ref, int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:433,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:436,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:439,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - sec
    - len
    argTypes:
    - OSSL_CMP_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 444
    functionName: OSSL_CMP_CTX_set1_secretValue
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - ERR_raise
    - ossl_cmp_asn1_octet_string_set1_bytes
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_CTX_set1_secretValue(OSSL_CMP_CTX *ctx,\n                                  const
      unsigned char *sec, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: DEFINE_OSSL_CMP_CTX_get1_certs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_CMP_CTX_get1_certs(FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - PREFIX
    - ','
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 470
    functionName: DEFINE_OSSL_set1_certs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_set1_certs(PREFIX, FIELD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:499,1
    - Dst: CERTIFICATEPOLICIES_new
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:504,1
    - Dst: sk_POLICYINFO_push
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pinfo
    argTypes:
    - OSSL_CMP_CTX*
    - POLICYINFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: OSSL_CMP_CTX_push0_policy
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - sk_POLICYINFO_push
    - ERR_raise
    - CERTIFICATEPOLICIES_new
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_push0_policy(OSSL_CMP_CTX *ctx, POLICYINFO *pinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:514,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - itav
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: OSSL_CMP_CTX_push0_geninfo_ITAV
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAV_push0_stack_item
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_push0_geninfo_ITAV(OSSL_CMP_CTX *ctx, OSSL_CMP_ITAV
      *itav)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:523,1
    - Dst: OSSL_CMP_ITAVs_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: OSSL_CMP_CTX_reset_geninfo_ITAVs
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAVs_free
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_reset_geninfo_ITAVs(OSSL_CMP_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:537,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - itav
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: OSSL_CMP_CTX_push0_genm_ITAV
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAV_push0_stack_item
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_push0_genm_ITAV(OSSL_CMP_CTX *ctx, OSSL_CMP_ITAV *itav)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 574
    functionName: DEFINE_OSSL_CMP_CTX_set1
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_CMP_CTX_set1(FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cert
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 576
    functionName: X509_invalid
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_invalid(cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: EVP_PKEY_invalid
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_invalid(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - PREFIX
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 586
    functionName: DEFINE_OSSL_set1_up_ref
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_set1_up_ref(PREFIX, FIELD, TYPE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:628,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:632,1
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:633,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:634,1
    - Dst: X509_EXTENSIONS_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - exts
    argTypes:
    - OSSL_CMP_CTX*
    - X509_EXTENSIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 640
    functionName: OSSL_CMP_CTX_set0_reqExtensions
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - X509_EXTENSIONS_free
    - ERR_raise
    - sk_GENERAL_NAME_num
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_set0_reqExtensions(OSSL_CMP_CTX *ctx, X509_EXTENSIONS
      *exts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:646,1
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 653
    functionName: OSSL_CMP_CTX_reqExtensions_have_SAN
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_reqExtensions_have_SAN(OSSL_CMP_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:665,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:669,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:670,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:675,1
    - Dst: GENERAL_NAME_dup
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:677,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:679,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:680,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - OSSL_CMP_CTX*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 684
    functionName: OSSL_CMP_CTX_push1_subjectAltName
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_new_null
    - GENERAL_NAME_free
    - GENERAL_NAME_dup
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_CTX_push1_subjectAltName(OSSL_CMP_CTX *ctx,\n                                      const
      GENERAL_NAME *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:751,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - priv
    - pkey
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 759
    functionName: OSSL_CMP_CTX_set0_newPkey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_set0_newPkey(OSSL_CMP_CTX *ctx, int priv, EVP_PKEY
      *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:766,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - priv
    argTypes:
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 775
    functionName: OSSL_CMP_CTX_get0_newPkey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 2
    functionsReached:
    - X509_REQ_get0_pubkey
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *OSSL_CMP_CTX_get0_newPkey(const OSSL_CMP_CTX *ctx, int priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:779,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:784,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:786,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 790
    functionName: ossl_cmp_ctx_get0_newPubkey
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 1
    functionsReached:
    - X509_REQ_get0_pubkey
    - ossl_assert
    - X509_get0_pubkey
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *ossl_cmp_ctx_get0_newPubkey(const OSSL_CMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - PREFIX
    - ','
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 801
    functionName: DEFINE_set1_ASN1_OCTET_STRING
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_set1_ASN1_OCTET_STRING(PREFIX, FIELD)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:870,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:886,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:893,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:930,1
    - Dst: cmp_ctx_set_md
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:936,1
    - Dst: cmp_ctx_set_md
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:940,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:963,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:969,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 103
    argCount: 1
    argNames:
    - OSSL_CMP_CTX_set_option
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 862
    functionDepth: 11
    functionLinenumber: 862
    functionLinenumberEnd: 974
    functionName: DEFINE_OSSL_get
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 0
    functionsReached:
    - cmp_ctx_set_md
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: 'void DEFINE_OSSL_get(OSSL_CMP_CTX, failInfoCode, int, -1)


      /* Set a Boolean or integer option of the context to the "val" arg */

      int OSSL_CMP_CTX_set_option(OSSL_CMP_CTX *ctx, int opt, int val)'
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:983,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:1013,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:1015,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_ctx.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 2
    argNames:
    - ctx
    - opt
    argTypes:
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 1034
    functionName: OSSL_CMP_CTX_get_option
    functionSourceFile: /src/openssl/crypto/cmp/cmp_ctx.c
    functionUses: 2
    functionsReached:
    - EVP_MD_get_type
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_CTX_get_option(const OSSL_CMP_CTX *ctx, int opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: IS_CREP
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CREP(t)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:27,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_client.c:30,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/openssl/crypto/cmp/cmp_client.c:43,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:48,1
    - Dst: IS_CREP
      Src: /src/openssl/crypto/cmp/cmp_client.c:56,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/crypto/cmp/cmp_client.c:60,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:62,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:66,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_client.c:73,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - rep
    - invalid_protection
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 76
    functionName: unprotected_exception
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_cmp_log2
    - sk_OSSL_CMP_CERTRESPONSE_num
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_pkisi_get_status
    - ossl_cmp_revrepcontent_get_pkisi
    - IS_CREP
    - ossl_cmp_certrepmessage_get0_certresponse
    linkageType: ''
    returnType: int
    signature: "int unprotected_exception(const OSSL_CMP_CTX *ctx,\n                                 const
      OSSL_CMP_MSG *rep,\n                                 int invalid_protection,\n
      \                                ossl_unused int expected_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_client.c:84,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:87,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:91,1
    - Dst: ossl_cmp_ctx_set0_statusString
      Src: /src/openssl/crypto/cmp/cmp_client.c:93,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_client.c:93,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:98,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/cmp/cmp_client.c:99,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/cmp/cmp_client.c:100,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/crypto/cmp/cmp_client.c:102,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - si
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKISI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 108
    functionName: save_statusInfo
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ASN1_STRING_dup
    - sk_ASN1_UTF8STRING_value
    - sk_ASN1_UTF8STRING_new_null
    - ossl_cmp_pkisi_get_pkifailureinfo
    - ossl_cmp_pkisi_get_status
    - sk_ASN1_UTF8STRING_num
    - sk_ASN1_UTF8STRING_push
    - ossl_cmp_ctx_set0_statusString
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: int
    signature: int save_statusInfo(OSSL_CMP_CTX *ctx, OSSL_CMP_PKISI *si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:114,1
    - Dst: IS_CREP
      Src: /src/openssl/crypto/cmp/cmp_client.c:116,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/crypto/cmp/cmp_client.c:120,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - resp
    - rid
    argTypes:
    - OSSL_CMP_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: is_crep_with_waiting
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_pkisi_get_status
    - IS_CREP
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_certrepmessage_get0_certresponse
    linkageType: ''
    returnType: int
    signature: int is_crep_with_waiting(const OSSL_CMP_MSG *resp, int rid)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_client.c:140,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:140,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_client.c:141,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_client.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:158,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_client.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:163,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_client.c:172,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_client.c:175,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:181,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_client.c:182,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:189,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_client.c:195,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_client.c:195,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:196,1
    - Dst: ossl_cmp_ctx_set1_extraCertsIn
      Src: /src/openssl/crypto/cmp/cmp_client.c:200,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/openssl/crypto/cmp/cmp_client.c:203,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:217,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:221,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:225,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_client.c:226,1
    - Dst: save_statusInfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:232,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/crypto/cmp/cmp_client.c:233,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:235,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_client.c:237,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/cmp/cmp_client.c:238,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:239,1
    - Dst: ossl_sk_ASN1_UTF8STRING2text
      Src: /src/openssl/crypto/cmp/cmp_client.c:241,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:245,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:249,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 4
    argNames:
    - ctx
    - req
    - rep
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - OSSL_CMP_MSG**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 133
    functionDepth: 17
    functionLinenumber: 133
    functionLinenumberEnd: 255
    functionName: send_receive_check
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cmp_is_error_with_waiting
    - ossl_cmp_bodytype_to_string
    - ossl_cmp_ctx_set1_extraCertsIn
    - BIO_snprintf
    - OPENSSL_free
    - OSSL_CMP_CTX_snprint_PKIStatus
    - ossl_assert
    - ossl_cmp_msg_check_update
    - time
    - ossl_cmp_log2
    - ERR_raise_data
    - OSSL_CMP_CTX_print_errors
    - save_statusInfo
    - ossl_cmp_log1
    - ERR_add_error_data
    - OSSL_CMP_MSG_get_bodytype
    - ossl_sk_ASN1_UTF8STRING2text
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: "int send_receive_check(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *req,\n
      \                             OSSL_CMP_MSG **rep, int expected_type)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:279,1
    - Dst: ossl_cmp_pollReq_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:283,1
    - Dst: send_receive_check
      Src: /src/openssl/crypto/cmp/cmp_client.c:286,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:290,1
    - Dst: sk_OSSL_CMP_POLLREP_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:297,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:298,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/openssl/crypto/cmp/cmp_client.c:301,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/cmp/cmp_client.c:305,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:306,1
    - Dst: "check_after < 0 || (uint64_t)check_after\n                >"
      Src: /src/openssl/crypto/cmp/cmp_client.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:311,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_client.c:312,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:314,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_client.c:319,1
    - Dst: ossl_sk_ASN1_UTF8STRING2text
      Src: /src/openssl/crypto/cmp/cmp_client.c:323,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_client.c:327,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:330,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_client.c:332,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_client.c:338,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:341,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:349,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:351,1
    - Dst: OSSL_sleep
      Src: /src/openssl/crypto/cmp/cmp_client.c:354,1
    - Dst: is_crep_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:360,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:361,1
    - Dst: ossl_cmp_exchange_error
      Src: /src/openssl/crypto/cmp/cmp_client.c:363,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:367,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:370,1
    - Dst: ossl_cmp_ctx_set1_first_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_client.c:371,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:379,1
    - Dst: ossl_cmp_ctx_set1_first_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_client.c:384,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:385,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:386,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 5
    argNames:
    - ctx
    - sleep
    - rid
    - rep
    - checkAfter
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - OSSL_CMP_MSG**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 273
    functionDepth: 18
    functionLinenumber: 273
    functionLinenumberEnd: 388
    functionName: poll_for_response
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cmp_is_error_with_waiting
    - BIO_snprintf
    - OPENSSL_free
    - OSSL_sleep
    - OSSL_CMP_MSG_free
    - is_crep_with_waiting
    - "check_after < 0 || (uint64_t)check_after\n                >"
    - sk_OSSL_CMP_POLLREP_num
    - ossl_cmp_ctx_set1_first_senderNonce
    - send_receive_check
    - time
    - ossl_cmp_pollReq_new
    - ossl_cmp_log2
    - ossl_cmp_pollrepcontent_get0_pollrep
    - ossl_cmp_info
    - ossl_cmp_exchange_error
    - ERR_add_error_data
    - OSSL_CMP_MSG_get_bodytype
    - ASN1_INTEGER_get_int64
    - ossl_sk_ASN1_UTF8STRING2text
    linkageType: ''
    returnType: int
    signature: "int poll_for_response(OSSL_CMP_CTX *ctx, int sleep, int rid,\n                             OSSL_CMP_MSG
      **rep, int *checkAfter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_crep_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:398,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:399,1
    - Dst: ossl_cmp_ctx_set1_first_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_client.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - rep
    - rid
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: save_senderNonce_if_waiting
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_ctx_set1_first_senderNonce
    - is_crep_with_waiting
    - ossl_cmp_is_error_with_waiting
    linkageType: ''
    returnType: int
    signature: "int save_senderNonce_if_waiting(OSSL_CMP_CTX *ctx,\n                                       const
      OSSL_CMP_MSG *rep, int rid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: send_receive_check
      Src: /src/openssl/crypto/cmp/cmp_client.c:414,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:417,1
    - Dst: save_senderNonce_if_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:418,1
    - Dst: save_statusInfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:422,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:425,1
    - Dst: poll_for_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:430,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:434,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ctx
    - req
    - rep
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - OSSL_CMP_MSG**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 410
    functionDepth: 19
    functionLinenumber: 410
    functionLinenumberEnd: 440
    functionName: send_receive_also_delayed
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - save_statusInfo
    - ERR_raise
    - ossl_cmp_is_error_with_waiting
    - OSSL_CMP_MSG_get_bodytype
    - send_receive_check
    - save_senderNonce_if_waiting
    - OSSL_CMP_MSG_free
    - poll_for_response
    linkageType: ''
    returnType: int
    signature: "int send_receive_also_delayed(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *req,\n                                     OSSL_CMP_MSG **rep, int expected_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_certConf_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:453,1
    - Dst: send_receive_also_delayed
      Src: /src/openssl/crypto/cmp/cmp_client.c:457,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:461,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - certReqId
    - fail_info
    - txt
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 445
    functionDepth: 20
    functionLinenumber: 445
    functionLinenumberEnd: 464
    functionName: ossl_cmp_exchange_certConf
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - send_receive_also_delayed
    - OSSL_CMP_MSG_free
    - ossl_cmp_certConf_new
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_exchange_certConf(OSSL_CMP_CTX *ctx, int certReqId,\n
      \                              int fail_info, const char *txt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:476,1
    - Dst: ossl_cmp_error_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:479,1
    - Dst: send_receive_also_delayed
      Src: /src/openssl/crypto/cmp/cmp_client.c:482,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:486,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:487,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - ctx
    - status
    - fail_info
    - txt
    - errorCode
    - details
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 467
    functionDepth: 20
    functionLinenumber: 467
    functionLinenumberEnd: 490
    functionName: ossl_cmp_exchange_error
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_MSG_free
    - ossl_cmp_error_new
    - send_receive_also_delayed
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_exchange_error(OSSL_CMP_CTX *ctx, int status, int fail_info,\n
      \                           const char *txt, int errorCode, const char *details)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_client.c:503,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:506,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/crypto/cmp/cmp_client.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:510,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:513,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/crypto/cmp/cmp_client.c:519,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:520,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:523,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:527,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:532,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_client.c:537,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:540,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/openssl/crypto/cmp/cmp_client.c:543,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:545,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/crypto/cmp/cmp_client.c:550,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:551,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - ctx
    - bodytype
    - crep
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CMP_CERTRESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 497
    functionDepth: 10
    functionLinenumber: 497
    functionLinenumberEnd: 553
    functionName: get1_cert_status
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_cmp_log1
    - ossl_cmp_err
    - ERR_add_error_data
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_CTX_snprint_PKIStatus
    - ossl_cmp_certresponse_get1_cert
    - ossl_cmp_warn
    linkageType: ''
    returnType: X509
    signature: "X509 *get1_cert_status(OSSL_CMP_CTX *ctx, int bodytype,\n                              OSSL_CMP_CERTRESPONSE
      *crep)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_certConf_cb_arg
      Src: /src/openssl/crypto/cmp/cmp_client.c:575,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_client.c:576,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_client.c:584,1
    - Dst: X509_build_chain
      Src: /src/openssl/crypto/cmp/cmp_client.c:585,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/crypto/cmp/cmp_client.c:588,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_client.c:590,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/cmp/cmp_client.c:593,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/crypto/cmp/cmp_client.c:596,1
    - Dst: X509_STORE_CTX_get0_param
      Src: /src/openssl/crypto/cmp/cmp_client.c:596,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/cmp/cmp_client.c:601,1
    - Dst: ossl_x509_add_certs_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:604,1
    - Dst: X509_STORE_CTX_get0_chain
      Src: /src/openssl/crypto/cmp/cmp_client.c:604,1
    - Dst: sk_X509_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:607,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:611,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:614,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:615,1
    - Dst: sk_X509_shift
      Src: /src/openssl/crypto/cmp/cmp_client.c:615,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/crypto/cmp/cmp_client.c:618,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_client.c:621,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:625,1
    - Dst: OSSL_CMP_CTX_get1_extraCertsIn
      Src: /src/openssl/crypto/cmp/cmp_client.c:626,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_client.c:628,1
    - Dst: ossl_cmp_ctx_set1_newChain
      Src: /src/openssl/crypto/cmp/cmp_client.c:631,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:632,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - ctx
    - cert
    - fail_info
    - text
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 635
    functionName: OSSL_CMP_certConf_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - sk_X509_shift
    - X509_free
    - X509_build_chain
    - ossl_cmp_debug
    - sk_X509_num
    - ossl_cmp_warn
    - ossl_cmp_ctx_set1_newChain
    - OSSL_STACK_OF_X509_free
    - OSSL_CMP_CTX_get1_extraCertsIn
    - ossl_x509_add_certs_new
    - STACK_OF
    - X509_STORE_CTX_get0_param
    - sk_X509_free
    - X509_STORE_CTX_free
    - X509_STORE_CTX_new_ex
    - X509_VERIFY_PARAM_clear_flags
    - ossl_cmp_err
    - X509_STORE_CTX_get0_chain
    - OSSL_CMP_CTX_get_certConf_cb_arg
    - X509_verify_cert
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_certConf_cb(OSSL_CMP_CTX *ctx, X509 *cert, int fail_info,\n
      \                        const char **text)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_client.c:662,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_client.c:666,1
    - Dst: IS_CREP
      Src: /src/openssl/crypto/cmp/cmp_client.c:667,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:669,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:670,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/crypto/cmp/cmp_client.c:673,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/crypto/cmp/cmp_client.c:680,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:682,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:689,1
    - Dst: save_statusInfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:693,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:696,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:702,1
    - Dst: poll_for_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:704,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:709,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:716,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:721,1
    - Dst: get1_cert_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:725,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:727,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/crypto/cmp/cmp_client.c:730,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:731,1
    - Dst: ossl_cmp_ctx_set1_caPubs
      Src: /src/openssl/crypto/cmp/cmp_client.c:740,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_client.c:743,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_client.c:743,1
    - Dst: ossl_cmp_ctx_get0_newPubkey
      Src: /src/openssl/crypto/cmp/cmp_client.c:744,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/cmp/cmp_client.c:747,1
    - Dst: cb
      Src: /src/openssl/crypto/cmp/cmp_client.c:765,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_client.c:769,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/openssl/crypto/cmp/cmp_client.c:776,1
    - Dst: ossl_cmp_exchange_certConf
      Src: /src/openssl/crypto/cmp/cmp_client.c:777,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:783,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:789,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 7
    argNames:
    - ctx
    - sleep
    - rid
    - resp
    - checkAfter
    - req_type
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - int
    - OSSL_CMP_MSG**
    - int*
    - ossl_unused
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 645
    functionDepth: 21
    functionLinenumber: 645
    functionLinenumberEnd: 791
    functionName: cert_response
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cmp_asn1_get_int
    - ossl_cmp_ctx_set1_caPubs
    - X509_free
    - OPENSSL_free
    - cb
    - OSSL_CMP_MSG_free
    - ossl_cmp_certrepmessage_get0_certresponse
    - ossl_assert
    - get1_cert_status
    - ossl_cmp_ctx_set0_newCert
    - X509_NAME_oneline
    - X509_check_private_key
    - IS_CREP
    - ossl_cmp_exchange_certConf
    - ossl_cmp_pkisi_get_status
    - ERR_raise_data
    - save_statusInfo
    - ossl_cmp_log1
    - ERR_add_error_data
    - X509_get_subject_name
    - sk_OSSL_CMP_CERTRESPONSE_num
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_ctx_get0_newPubkey
    - ossl_cmp_hdr_has_implicitConfirm
    - poll_for_response
    linkageType: ''
    returnType: int
    signature: "int cert_response(OSSL_CMP_CTX *ctx, int sleep, int rid,\n                         OSSL_CMP_MSG
      **resp, int *checkAfter,\n                         ossl_unused int req_type,\n
      \                        ossl_unused int expected_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/crypto/cmp/cmp_client.c:801,1
    - Dst: ossl_cmp_certreq_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:805,1
    - Dst: send_receive_check
      Src: /src/openssl/crypto/cmp/cmp_client.c:809,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - req_type
    - crm
    - p_rep
    - rep_type
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    - OSSL_CMP_MSG**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 793
    functionDepth: 18
    functionLinenumber: 793
    functionLinenumberEnd: 812
    functionName: initial_certreq
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - send_receive_check
    - ossl_cmp_ctx_set0_newCert
    - ossl_cmp_certreq_new
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: int
    signature: "int initial_certreq(OSSL_CMP_CTX *ctx,\n                           int
      req_type, const OSSL_CRMF_MSG *crm,\n                           OSSL_CMP_MSG
      **p_rep, int rep_type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:824,1
    - Dst: initial_certreq
      Src: /src/openssl/crypto/cmp/cmp_client.c:829,1
    - Dst: save_senderNonce_if_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:832,1
    - Dst: ossl_cmp_exchange_error
      Src: /src/openssl/crypto/cmp/cmp_client.c:836,1
    - Dst: poll_for_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:839,1
    - Dst: cert_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:843,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:847,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - req_type
    - crm
    - checkAfter
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 814
    functionDepth: 22
    functionLinenumber: 814
    functionLinenumberEnd: 849
    functionName: OSSL_CMP_try_certreq
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - initial_certreq
    - save_senderNonce_if_waiting
    - cert_response
    - OSSL_CMP_MSG_free
    - ossl_cmp_exchange_error
    - poll_for_response
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_try_certreq(OSSL_CMP_CTX *ctx, int req_type,\n                         const
      OSSL_CRMF_MSG *crm, int *checkAfter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:868,1
    - Dst: initial_certreq
      Src: /src/openssl/crypto/cmp/cmp_client.c:872,1
    - Dst: save_senderNonce_if_waiting
      Src: /src/openssl/crypto/cmp/cmp_client.c:875,1
    - Dst: cert_response
      Src: /src/openssl/crypto/cmp/cmp_client.c:878,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - req_type
    - crm
    argTypes:
    - OSSL_CMP_CTX*
    - int
    - OSSL_CRMF_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 858
    functionDepth: 22
    functionLinenumber: 858
    functionLinenumberEnd: 886
    functionName: OSSL_CMP_exec_certreq
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - initial_certreq
    - save_senderNonce_if_waiting
    - cert_response
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: X509
    signature: "X509 *OSSL_CMP_exec_certreq(OSSL_CMP_CTX *ctx, int req_type,\n                            const
      OSSL_CRMF_MSG *crm)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:900,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:906,1
    - Dst: ossl_cmp_rr_new
      Src: /src/openssl/crypto/cmp/cmp_client.c:911,1
    - Dst: send_receive_also_delayed
      Src: /src/openssl/crypto/cmp/cmp_client.c:915,1
    - Dst: sk_OSSL_CMP_PKISI_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:920,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:921,1
    - Dst: sk_OSSL_CMP_PKISI_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:925,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:926,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/openssl/crypto/cmp/cmp_client.c:932,1
    - Dst: save_statusInfo
      Src: /src/openssl/crypto/cmp/cmp_client.c:933,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_client.c:935,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:937,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:941,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:945,1
    - Dst: ossl_cmp_info
      Src: /src/openssl/crypto/cmp/cmp_client.c:948,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_client.c:953,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:959,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:962,1
    - Dst: sk_OSSL_CRMF_CERTID_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:967,1
    - Dst: sk_OSSL_CMP_REVDETAILS_value
      Src: /src/openssl/crypto/cmp/cmp_client.c:970,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_issuer
      Src: /src/openssl/crypto/cmp/cmp_client.c:971,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_client.c:973,1
    - Dst: sk_OSSL_CRMF_CERTID_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:975,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:976,1
    - Dst: ossl_cmp_revrepcontent_get_CertId
      Src: /src/openssl/crypto/cmp/cmp_client.c:980,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:981,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/cmp/cmp_client.c:985,1
    - Dst: OSSL_CRMF_CERTID_get0_issuer
      Src: /src/openssl/crypto/cmp/cmp_client.c:985,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:987,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/cmp/cmp_client.c:992,1
    - Dst: OSSL_CRMF_CERTID_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_client.c:993,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:995,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/cmp/cmp_client.c:1003,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_client.c:1004,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/crypto/cmp/cmp_client.c:1011,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/cmp/cmp_client.c:1012,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:1015,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_client.c:1016,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 104
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 888
    functionDepth: 20
    functionLinenumber: 888
    functionLinenumberEnd: 1018
    functionName: OSSL_CMP_exec_RR_ses
    functionSourceFile: /src/openssl/crypto/cmp/cmp_client.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CMP_CTX_snprint_PKIStatus
    - OSSL_CMP_MSG_free
    - ossl_cmp_warn
    - ossl_cmp_rr_new
    - sk_OSSL_CMP_REVDETAILS_value
    - sk_OSSL_CMP_PKISI_num
    - OSSL_CRMF_CERTTEMPLATE_get0_issuer
    - ossl_cmp_revrepcontent_get_CertId
    - OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
    - send_receive_also_delayed
    - OSSL_CRMF_CERTID_get0_serialNumber
    - ASN1_INTEGER_cmp
    - ossl_cmp_pkisi_get_status
    - sk_OSSL_CRMF_CERTID_num
    - save_statusInfo
    - sk_X509_CRL_num
    - ERR_add_error_data
    - X509_NAME_cmp
    - ossl_cmp_revrepcontent_get_pkisi
    - ossl_cmp_info
    - OSSL_CRMF_CERTID_get0_issuer
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_exec_RR_ses(OSSL_CMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get0_trustedStore
      Src: /src/openssl/crypto/cmp/cmp_genm.c:16,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/cmp/cmp_genm.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: get0_trustedStore_vpm
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_trustedStore
    - X509_STORE_get0_param
    linkageType: ''
    returnType: X509_VERIFY_PARAM
    signature: X509_VERIFY_PARAM *get0_trustedStore_vpm(const OSSL_CMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/openssl/crypto/cmp/cmp_genm.c:25,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_genm.c:25,1
    - Dst: ossl_cmp_print_log
      Src: /src/openssl/crypto/cmp/cmp_genm.c:27,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - func
    - file
    - lineno
    - level
    - ctx
    - source
    - cert
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - OSSL_CMP_CTX*
    - char*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: cert_msg
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - X509_get_subject_name
    - ossl_cmp_print_log
    - X509_NAME_oneline
    linkageType: ''
    returnType: void
    signature: "void cert_msg(const char *func, const char *file, int lineno,\n                     OSSL_CMP_severity
      level, OSSL_CMP_CTX *ctx,\n                     const char *source, X509 *cert,
      const char *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/openssl/crypto/cmp/cmp_genm.c:38,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/crypto/cmp/cmp_genm.c:39,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/crypto/cmp/cmp_genm.c:39,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/crypto/cmp/cmp_genm.c:40,1
    - Dst: cert_msg
      Src: /src/openssl/crypto/cmp/cmp_genm.c:46,1
    - Dst: cert_msg
      Src: /src/openssl/crypto/cmp/cmp_genm.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - source
    - cert
    - type_CA
    - vpm
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - X509*
    - int
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 59
    functionName: ossl_X509_check
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - X509_cmp_timeframe
    - X509_get0_notBefore
    - X509_get0_notAfter
    - cert_msg
    - X509_get_extension_flags
    linkageType: ''
    returnType: int
    signature: "int ossl_X509_check(OSSL_CMP_CTX *ctx, const char *source, X509 *cert,\n
      \                          int type_CA, const X509_VERIFY_PARAM *vpm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:68,1
    - Dst: ossl_X509_check
      Src: /src/openssl/crypto/cmp/cmp_genm.c:69,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - source
    - certs
    - type_CA
    - vpm
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - STACK_OF*
    - int
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 7
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: ossl_X509_check_all
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - ossl_X509_check
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: "int ossl_X509_check_all(OSSL_CMP_CTX *ctx, const char *source,\n                               STACK_OF(X509)
      *certs,\n                               int type_CA, const X509_VERIFY_PARAM
      *vpm)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:83,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/crypto/cmp/cmp_genm.c:86,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:87,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/openssl/crypto/cmp/cmp_genm.c:92,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/openssl/crypto/cmp/cmp_genm.c:95,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/crypto/cmp/cmp_genm.c:97,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:98,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:103,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:104,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:106,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_genm.c:111,1
    - Dst: sk_OSSL_CMP_ITAV_shift
      Src: /src/openssl/crypto/cmp/cmp_genm.c:115,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/crypto/cmp/cmp_genm.c:116,1
    - Dst: strlen
      Src: /src/openssl/crypto/cmp/cmp_genm.c:118,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_genm.c:120,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:122,1
    - Dst: sk_OSSL_CMP_ITAV_shift
      Src: /src/openssl/crypto/cmp/cmp_genm.c:122,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:123,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/cmp/cmp_genm.c:127,1
    - Dst: strcat
      Src: /src/openssl/crypto/cmp/cmp_genm.c:128,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_genm.c:129,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:130,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:132,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:136,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 4
    argNames:
    - ctx
    - req
    - expected
    - desc
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_ITAV*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 139
    functionName: get_genm_itav
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_CMP_ITAV_free
    - ERR_raise
    - ossl_cmp_log2
    - OBJ_obj2txt
    - OSSL_CMP_CTX_push0_genm_ITAV
    - sk_OSSL_CMP_ITAV_shift
    - OSSL_CMP_ITAV_get0_type
    - strlen
    - ERR_raise_data
    - STACK_OF
    - OSSL_CMP_exec_GENM_ses
    - OSSL_CMP_ITAV_free
    - strcat
    - OSSL_CMP_CTX_get_status
    - sk_OSSL_CMP_ITAV_num
    - OBJ_obj2nid
    linkageType: ''
    returnType: OSSL_CMP_ITAV
    signature: "OSSL_CMP_ITAV *get_genm_itav(OSSL_CMP_CTX *ctx,\n                                    OSSL_CMP_ITAV
      *req, /* gets consumed */\n                                    int expected,
      const char *desc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/crypto/cmp/cmp_genm.c:184,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/crypto/cmp/cmp_genm.c:185,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:189,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:190,1
    - Dst: X509_STORE_CTX_get0_chain
      Src: /src/openssl/crypto/cmp/cmp_genm.c:190,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:191,1
    - Dst: X509_STORE_CTX_get0_untrusted
      Src: /src/openssl/crypto/cmp/cmp_genm.c:191,1
    - Dst: X509_STORE_CTX_get_check_issued
      Src: /src/openssl/crypto/cmp/cmp_genm.c:193,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:194,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:197,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:198,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:199,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/crypto/cmp/cmp_genm.c:203,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/openssl/crypto/cmp/cmp_genm.c:203,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:204,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:205,1
    - Dst: X509_add_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:207,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:212,1
    - Dst: X509_STORE_CTX_get0_store
      Src: /src/openssl/crypto/cmp/cmp_genm.c:215,1
    - Dst: X509_STORE_get_verify_cb
      Src: /src/openssl/crypto/cmp/cmp_genm.c:218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ok
    - store_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 222
    functionName: selfsigned_verify_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_error_depth
    - X509_STORE_CTX_get0_store
    - sk_X509_pop_free
    - sk_X509_value
    - X509_STORE_CTX_get0_chain
    - X509_STORE_get1_all_certs
    - STACK_OF
    - X509_STORE_CTX_get_check_issued
    - X509_STORE_CTX_get0_untrusted
    - X509_STORE_CTX_get_error
    - X509_add_cert
    - sk_X509_num
    - X509_STORE_get_verify_cb
    linkageType: ''
    returnType: int
    signature: int selfsigned_verify_cb(int ok, X509_STORE_CTX *store_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:233,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/crypto/cmp/cmp_genm.c:237,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/cmp/cmp_genm.c:238,1
    - Dst: X509_STORE_CTX_set_verify_cb
      Src: /src/openssl/crypto/cmp/cmp_genm.c:240,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:241,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - libctx
    - propq
    - ts
    - untrusted
    - target
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - X509_STORE*
    - STACK_OF*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 246
    functionName: verify_ss_cert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - X509_STORE_CTX_free
    - X509_STORE_CTX_new_ex
    - X509_STORE_CTX_set_verify_cb
    - X509_verify_cert
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: "int verify_ss_cert(OSSL_LIB_CTX *libctx, const char *propq,\n                          X509_STORE
      *ts, STACK_OF(X509) *untrusted,\n                          X509 *target)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get0_trusted
      Src: /src/openssl/crypto/cmp/cmp_genm.c:253,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:254,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/crypto/cmp/cmp_genm.c:258,1
    - Dst: X509_STORE_new
      Src: /src/openssl/crypto/cmp/cmp_genm.c:260,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/crypto/cmp/cmp_genm.c:262,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:263,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/cmp/cmp_genm.c:268,1
    - Dst: verify_ss_cert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:271,1
    - Dst: OSSL_CMP_CTX_get0_libctx
      Src: /src/openssl/crypto/cmp/cmp_genm.c:271,1
    - Dst: OSSL_CMP_CTX_get0_propq
      Src: /src/openssl/crypto/cmp/cmp_genm.c:272,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:275,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:281,1
    - Dst: X509_STORE_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - trusted
    - trans
    - target
    - desc
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - X509*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 285
    functionName: verify_ss_cert_trans
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - verify_ss_cert
    - OSSL_CMP_CTX_get0_trusted
    - ossl_x509_add_cert_new
    - sk_X509_pop_free
    - X509_STORE_set1_param
    - X509_STORE_add_cert
    - X509_STORE_free
    - ERR_raise_data
    - OSSL_CMP_CTX_get0_propq
    - STACK_OF
    - OSSL_CMP_CTX_get0_libctx
    - X509_STORE_get0_param
    linkageType: ''
    returnType: int
    signature: "int verify_ss_cert_trans(OSSL_CMP_CTX *ctx, X509 *trusted /* may be
      NULL */,\n                     X509 *trans /* the only untrusted cert, may be
      NULL */,\n                     X509 *target, const char *desc)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:296,1
    - Dst: OSSL_CMP_ITAV_new_rootCaCert
      Src: /src/openssl/crypto/cmp/cmp_genm.c:301,1
    - Dst: get_genm_itav
      Src: /src/openssl/crypto/cmp/cmp_genm.c:303,1
    - Dst: OSSL_CMP_ITAV_get0_rootCaKeyUpdate
      Src: /src/openssl/crypto/cmp/cmp_genm.c:307,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_genm.c:315,1
    - Dst: verify_ss_cert_trans
      Src: /src/openssl/crypto/cmp/cmp_genm.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:319,1
    - Dst: verify_ss_cert_trans
      Src: /src/openssl/crypto/cmp/cmp_genm.c:323,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:325,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cmp/cmp_genm.c:329,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cmp/cmp_genm.c:332,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/cmp/cmp_genm.c:335,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:340,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:342,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:345,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:346,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 5
    argNames:
    - ctx
    - oldWithOld
    - newWithNew
    - newWithOld
    - oldWithNew
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - X509**
    - X509**
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 348
    functionName: OSSL_CMP_get1_rootCaKeyUpdate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_get0_rootCaKeyUpdate
    - ERR_raise
    - verify_ss_cert_trans
    - X509_dup
    - OSSL_CMP_ITAV_new_rootCaCert
    - get_genm_itav
    - X509_up_ref
    - X509_free
    - OSSL_CMP_ITAV_free
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_get1_rootCaKeyUpdate(OSSL_CMP_CTX *ctx,\n                                  const
      X509 *oldWithOld, X509 **newWithNew,\n                                  X509
      **newWithOld, X509 **oldWithNew)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:355,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_genm.c:357,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:361,1
    - Dst: OSSL_CMP_CRLSTATUS_create
      Src: /src/openssl/crypto/cmp/cmp_genm.c:366,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:367,1
    - Dst: sk_OSSL_CMP_CRLSTATUS_new_reserve
      Src: /src/openssl/crypto/cmp/cmp_genm.c:370,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:371,1
    - Dst: sk_OSSL_CMP_CRLSTATUS_push
      Src: /src/openssl/crypto/cmp/cmp_genm.c:374,1
    - Dst: OSSL_CMP_ITAV_new0_crlStatusList
      Src: /src/openssl/crypto/cmp/cmp_genm.c:376,1
    - Dst: get_genm_itav
      Src: /src/openssl/crypto/cmp/cmp_genm.c:381,1
    - Dst: OSSL_CMP_ITAV_get0_crls
      Src: /src/openssl/crypto/cmp/cmp_genm.c:384,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:391,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_genm.c:392,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/crypto/cmp/cmp_genm.c:394,1
    - Dst: sk_X509_CRL_value
      Src: /src/openssl/crypto/cmp/cmp_genm.c:398,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/cmp/cmp_genm.c:398,1
    - Dst: OSSL_CMP_CRLSTATUS_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:404,1
    - Dst: sk_OSSL_CMP_CRLSTATUS_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:405,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:406,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - ctx
    - crlcert
    - last_crl
    - crl
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - X509_CRL*
    - X509_CRL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 408
    functionName: OSSL_CMP_get1_crlUpdate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_new0_crlStatusList
    - sk_X509_CRL_num
    - ERR_raise
    - X509_CRL_up_ref
    - OSSL_CMP_CRLSTATUS_free
    - ERR_raise_data
    - get_genm_itav
    - STACK_OF
    - OSSL_CMP_ITAV_get0_crls
    - OSSL_CMP_ITAV_free
    - sk_OSSL_CMP_CRLSTATUS_free
    - sk_OSSL_CMP_CRLSTATUS_new_reserve
    - OSSL_CMP_CRLSTATUS_create
    - sk_OSSL_CMP_CRLSTATUS_push
    - sk_X509_CRL_value
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_get1_crlUpdate(OSSL_CMP_CTX *ctx, const X509 *crlcert,\n
      \                           const X509_CRL *last_crl,\n                            X509_CRL
      **crl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:420,1
    - Dst: OSSL_CMP_ITAV_new0_certReqTemplate
      Src: /src/openssl/crypto/cmp/cmp_genm.c:425,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_genm.c:426,1
    - Dst: get_genm_itav
      Src: /src/openssl/crypto/cmp/cmp_genm.c:430,1
    - Dst: OSSL_CMP_ITAV_get1_certReqTemplate
      Src: /src/openssl/crypto/cmp/cmp_genm.c:434,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_genm.c:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - certTemplate
    - keySpec
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CRMF_CERTTEMPLATE**
    - OSSL_CMP_ATAVS**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 441
    functionName: OSSL_CMP_get1_certReqTemplate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_genm.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAV_get1_certReqTemplate
    - get_genm_itav
    - OSSL_CMP_ITAV_free
    - OSSL_CMP_ITAV_new0_certReqTemplate
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_get1_certReqTemplate(OSSL_CMP_CTX *ctx,\n                                  OSSL_CRMF_CERTTEMPLATE
      **certTemplate,\n                                  OSSL_CMP_ATAVS **keySpec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:177,1
    - Dst: OSSL_CMP_ITAV_set0
      Src: /src/openssl/crypto/cmp/cmp_asn.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - ASN1_OBJECT*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: OSSL_CMP_ITAV_create
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_set0
    - OSSL_CMP_ITAV_new
    linkageType: ''
    returnType: OSSL_CMP_ITAV
    signature: OSSL_CMP_ITAV *OSSL_CMP_ITAV_create(ASN1_OBJECT *type, ASN1_TYPE *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - itav
    - type
    - value
    argTypes:
    - OSSL_CMP_ITAV*
    - ASN1_OBJECT*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: OSSL_CMP_ITAV_set0
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OSSL_CMP_ITAV_set0(OSSL_CMP_ITAV *itav, ASN1_OBJECT *type,\n
      \                       ASN1_TYPE *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - itav
    argTypes:
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: OSSL_CMP_ITAV_get0_type
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *OSSL_CMP_ITAV_get0_type(const OSSL_CMP_ITAV *itav)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - itav
    argTypes:
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: OSSL_CMP_ITAV_get0_value
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *OSSL_CMP_ITAV_get0_value(const OSSL_CMP_ITAV *itav)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:247,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - itav
    - out
    argTypes:
    - OSSL_CMP_ITAV*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: OSSL_CMP_ITAV_get0_certProfile
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_ITAV_get0_certProfile(const OSSL_CMP_ITAV *itav,\n                                   STACK_OF(ASN1_UTF8STRING)
      **out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:260,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_asn.c:264,1
    - Dst: sk_X509_deep_copy
      Src: /src/openssl/crypto/cmp/cmp_asn.c:266,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:267,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - caCerts
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: OSSL_CMP_ITAV_new_caCerts
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_new
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_free
    - sk_X509_deep_copy
    - sk_X509_num
    linkageType: ''
    returnType: OSSL_CMP_ITAV
    signature: OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_caCerts(const STACK_OF(X509) *caCerts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:277,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:281,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/cmp/cmp_asn.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - itav
    - out
    argTypes:
    - OSSL_CMP_ITAV*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: OSSL_CMP_ITAV_get0_caCerts
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_ITAV_get0_caCerts(const OSSL_CMP_ITAV *itav, STACK_OF(X509)
      **out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:291,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:296,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:297,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rootCaCert
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: OSSL_CMP_ITAV_new_rootCaCert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_ITAV_new
    - OBJ_nid2obj
    - X509_dup
    - OSSL_CMP_ITAV_free
    linkageType: ''
    returnType: OSSL_CMP_ITAV
    signature: OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_rootCaCert(const X509 *rootCaCert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:307,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - itav
    - out
    argTypes:
    - OSSL_CMP_ITAV*
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: OSSL_CMP_ITAV_get0_rootCaCert
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_ITAV_get0_rootCaCert(const OSSL_CMP_ITAV *itav, X509 **out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_ROOTCAKEYUPDATE_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:325,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:329,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:332,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:335,1
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:339,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:341,1
    - Dst: OSSL_CMP_ROOTCAKEYUPDATE_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:346,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - newWithNew
    - newWithOld
    - oldWithNew
    argTypes:
    - X509*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 348
    functionName: OSSL_CMP_ITAV_new_rootCaKeyUpdate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ROOTCAKEYUPDATE_free
    - OSSL_CMP_ITAV_new
    - X509_dup
    - OBJ_nid2obj
    - OSSL_CMP_ROOTCAKEYUPDATE_new
    linkageType: ''
    returnType: OSSL_CMP_ITAV
    signature: "OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_rootCaKeyUpdate(const X509 *newWithNew,\n
      \                                                const X509 *newWithOld,\n                                                 const
      X509 *oldWithNew)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:358,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - itav
    - newWithNew
    - newWithOld
    - oldWithNew
    argTypes:
    - OSSL_CMP_ITAV*
    - X509**
    - X509**
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 372
    functionName: OSSL_CMP_ITAV_get0_rootCaKeyUpdate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_ITAV_get0_rootCaKeyUpdate(const OSSL_CMP_ITAV *itav,\n
      \                                      X509 **newWithNew,\n                                       X509
      **newWithOld,\n                                       X509 **oldWithNew)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:382,1
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:385,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:387,1
    - Dst: OSSL_CMP_CERTREQTEMPLATE_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:391,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - certTemplate
    - keySpec
    argTypes:
    - OSSL_CRMF_CERTTEMPLATE*
    - OSSL_CMP_ATAVS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 399
    functionName: OSSL_CMP_ITAV_new0_certReqTemplate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OSSL_CMP_ITAV_new
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_free
    - OSSL_CMP_CERTREQTEMPLATE_new
    linkageType: ''
    returnType: OSSL_CMP_ITAV
    signature: "OSSL_CMP_ITAV *OSSL_CMP_ITAV_new0_certReqTemplate(OSSL_CRMF_CERTTEMPLATE
      *certTemplate,\n                                    OSSL_CMP_ATAVS *keySpec)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:408,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:416,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:417,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:424,1
    - Dst: sk_OSSL_CMP_ATAV_num
      Src: /src/openssl/crypto/cmp/cmp_asn.c:427,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_reserve
      Src: /src/openssl/crypto/cmp/cmp_asn.c:429,1
    - Dst: sk_OSSL_CMP_ATAV_value
      Src: /src/openssl/crypto/cmp/cmp_asn.c:433,1
    - Dst: OSSL_CMP_ATAV_get0_type
      Src: /src/openssl/crypto/cmp/cmp_asn.c:434,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_asn.c:439,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:444,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/cmp/cmp_asn.c:448,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/cmp/cmp_asn.c:450,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/cmp/cmp_asn.c:453,1
    - Dst: OSSL_CMP_ATAV_push1
      Src: /src/openssl/crypto/cmp/cmp_asn.c:458,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:464,1
    - Dst: sk_OSSL_CMP_ATAV_pop_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:466,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 3
    argNames:
    - itav
    - certTemplate
    - keySpec
    argTypes:
    - OSSL_CMP_ITAV*
    - OSSL_CRMF_CERTTEMPLATE**
    - OSSL_CMP_ATAVS**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 470
    functionName: OSSL_CMP_ITAV_get1_certReqTemplate
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - OSSL_CRMF_CERTTEMPLATE_free
    - ERR_raise
    - sk_OSSL_CMP_ATAV_num
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_reserve
    - OSSL_CMP_ATAV_get0_type
    - OBJ_nid2sn
    - OSSL_CRMF_CERTTEMPLATE_dup
    - ERR_raise_data
    - sk_OSSL_CMP_ATAV_value
    - sk_OSSL_CMP_ATAV_pop_free
    - OBJ_nid2ln
    - OSSL_CMP_ATAV_push1
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_ITAV_get1_certReqTemplate(const OSSL_CMP_ITAV *itav,\n
      \                                      OSSL_CRMF_CERTTEMPLATE **certTemplate,\n
      \                                      OSSL_CMP_ATAVS **keySpec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:476,1
    - Dst: OSSL_CMP_ATAV_set0
      Src: /src/openssl/crypto/cmp/cmp_asn.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - ASN1_OBJECT*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: OSSL_CMP_ATAV_create
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ATAV_set0
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new
    linkageType: ''
    returnType: OSSL_CMP_ATAV
    signature: OSSL_CMP_ATAV *OSSL_CMP_ATAV_create(ASN1_OBJECT *type, ASN1_TYPE *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - atav
    - type
    - value
    argTypes:
    - OSSL_CMP_ATAV*
    - ASN1_OBJECT*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: OSSL_CMP_ATAV_set0
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OSSL_CMP_ATAV_set0(OSSL_CMP_ATAV *atav, ASN1_OBJECT *type,\n
      \                       ASN1_TYPE *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - atav
    argTypes:
    - OSSL_CMP_ATAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: OSSL_CMP_ATAV_get0_type
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *OSSL_CMP_ATAV_get0_type(const OSSL_CMP_ATAV *atav)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:502,1
    - Dst: X509_ALGOR_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:505,1
    - Dst: OSSL_CMP_ATAV_create
      Src: /src/openssl/crypto/cmp/cmp_asn.c:507,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:507,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 512
    functionName: OSSL_CMP_ATAV_new_algId
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_dup
    - ERR_raise
    - X509_ALGOR_free
    - OSSL_CMP_ATAV_create
    - OBJ_nid2obj
    linkageType: ''
    returnType: OSSL_CMP_ATAV
    signature: OSSL_CMP_ATAV *OSSL_CMP_ATAV_new_algId(const X509_ALGOR *alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - atav
    argTypes:
    - OSSL_CMP_ATAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: OSSL_CMP_ATAV_get0_algId
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *OSSL_CMP_ATAV_get0_algId(const OSSL_CMP_ATAV *atav)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:527,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:530,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_asn.c:532,1
    - Dst: OSSL_CMP_ATAV_create
      Src: /src/openssl/crypto/cmp/cmp_asn.c:533,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:533,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 521
    functionDepth: 4
    functionLinenumber: 521
    functionLinenumberEnd: 537
    functionName: OSSL_CMP_ATAV_new_rsaKeyLen
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - OSSL_CMP_ATAV_create
    - OBJ_nid2obj
    linkageType: ''
    returnType: OSSL_CMP_ATAV
    signature: OSSL_CMP_ATAV *OSSL_CMP_ATAV_new_rsaKeyLen(int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:543,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/cmp/cmp_asn.c:544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - atav
    argTypes:
    - OSSL_CMP_ATAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 549
    functionName: OSSL_CMP_ATAV_get_rsaKeyLen
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get_int64
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_ATAV_get_rsaKeyLen(const OSSL_CMP_ATAV *atav)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - atav
    argTypes:
    - OSSL_CMP_ATAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: OSSL_CMP_ATAV_get0_value
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *OSSL_CMP_ATAV_get0_value(const OSSL_CMP_ATAV *atav)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:564,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
      Src: /src/openssl/crypto/cmp/cmp_asn.c:569,1
    - Dst: OSSL_CRMF_ATTRIBUTETYPEANDVALUE_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:574,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
      Src: /src/openssl/crypto/cmp/cmp_asn.c:576,1
    - Dst: OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:578,1
    - Dst: sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:582,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - sk_p
    - atav
    argTypes:
    - OSSL_CMP_ATAVS**
    - OSSL_CMP_ATAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 586
    functionName: OSSL_CMP_ATAV_push1
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - ERR_raise
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_push
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_free
    - sk_OSSL_CRMF_ATTRIBUTETYPEANDVALUE_new_null
    - OSSL_CRMF_ATTRIBUTETYPEANDVALUE_dup
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_ATAV_push1(OSSL_CMP_ATAVS **sk_p, const OSSL_CMP_ATAV
      *atav)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:604,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:607,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - itav
    - out
    argTypes:
    - OSSL_CMP_ITAV*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 613
    functionName: OSSL_CMP_ITAV_get0_crlStatusList
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_ITAV_get0_crlStatusList(const OSSL_CMP_ITAV *itav,\n
      \                                    STACK_OF(OSSL_CMP_CRLSTATUS) **out)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:623,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:627,1
    - Dst: OSSL_CMP_CRLSTATUS_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:631,1
    - Dst: DIST_POINT_NAME_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:637,1
    - Dst: sk_GENERAL_NAME_deep_copy
      Src: /src/openssl/crypto/cmp/cmp_asn.c:642,1
    - Dst: ASN1_TIME_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:648,1
    - Dst: OSSL_CMP_CRLSTATUS_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:653,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - dpn
    - issuer
    - thisUpdate
    argTypes:
    - DIST_POINT_NAME*
    - GENERAL_NAMES*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 655
    functionName: OSSL_CMP_CRLSTATUS_new1
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_GENERAL_NAME_deep_copy
    - OSSL_CMP_CRLSTATUS_free
    - OSSL_CMP_CRLSTATUS_new
    - DIST_POINT_NAME_dup
    - ASN1_TIME_dup
    linkageType: ''
    returnType: OSSL_CMP_CRLSTATUS
    signature: "OSSL_CMP_CRLSTATUS *OSSL_CMP_CRLSTATUS_new1(const DIST_POINT_NAME
      *dpn,\n                                            const GENERAL_NAMES *issuer,\n
      \                                           const ASN1_TIME *thisUpdate)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_new_reserve
      Src: /src/openssl/crypto/cmp/cmp_asn.c:662,1
    - Dst: GENERAL_NAME_set1_X509_NAME
      Src: /src/openssl/crypto/cmp/cmp_asn.c:664,1
    - Dst: sk_GENERAL_NAME_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:665,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/crypto/cmp/cmp_asn.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nm
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 670
    functionName: gennames_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_set1_X509_NAME
    - sk_GENERAL_NAME_new_reserve
    - sk_GENERAL_NAME_push
    - sk_GENERAL_NAME_free
    linkageType: ''
    returnType: GENERAL_NAMES
    signature: GENERAL_NAMES *gennames_new(const X509_NAME *nm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/crypto/cmp/cmp_asn.c:678,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/crypto/cmp/cmp_asn.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - names
    - only_DN
    argTypes:
    - GENERAL_NAMES*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 680
    functionName: gennames_allowed
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    linkageType: ''
    returnType: int
    signature: int gennames_allowed(GENERAL_NAMES *names, int only_DN)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_asn.c:685,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/crypto/cmp/cmp_asn.c:691,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/cmp/cmp_asn.c:701,1
    - Dst: sk_DIST_POINT_num
      Src: /src/openssl/crypto/cmp/cmp_asn.c:703,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/crypto/cmp/cmp_asn.c:704,1
    - Dst: gennames_allowed
      Src: /src/openssl/crypto/cmp/cmp_asn.c:712,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:718,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/cmp/cmp_asn.c:721,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/cmp/cmp_asn.c:729,1
    - Dst: gennames_allowed
      Src: /src/openssl/crypto/cmp/cmp_asn.c:730,1
    - Dst: gennames_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:733,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_asn.c:733,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/crypto/cmp/cmp_asn.c:736,1
    - Dst: gennames_allowed
      Src: /src/openssl/crypto/cmp/cmp_asn.c:737,1
    - Dst: gennames_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:740,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/crypto/cmp/cmp_asn.c:740,1
    - Dst: OSSL_CMP_CRLSTATUS_new1
      Src: /src/openssl/crypto/cmp/cmp_asn.c:746,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:748,1
    - Dst: ISSUING_DIST_POINT_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:749,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:750,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:751,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 3
    argNames:
    - crl
    - cert
    - only_DN
    argTypes:
    - X509_CRL*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 682
    functionDepth: 3
    functionLinenumber: 682
    functionLinenumberEnd: 753
    functionName: OSSL_CMP_CRLSTATUS_create
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - gennames_new
    - sk_DIST_POINT_pop_free
    - ERR_raise
    - X509_get_ext_d2i
    - sk_DIST_POINT_value
    - X509_get_issuer_name
    - sk_GENERAL_NAME_pop_free
    - ISSUING_DIST_POINT_free
    - STACK_OF
    - X509_CRL_get_issuer
    - OSSL_CMP_CRLSTATUS_new1
    - sk_DIST_POINT_num
    - X509_CRL_get0_lastUpdate
    - X509_CRL_get_ext_d2i
    - gennames_allowed
    - AUTHORITY_KEYID_free
    linkageType: ''
    returnType: OSSL_CMP_CRLSTATUS
    signature: "OSSL_CMP_CRLSTATUS *OSSL_CMP_CRLSTATUS_create(const X509_CRL *crl,\n
      \                                             const X509 *cert, int only_DN)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:762,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:766,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:777,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - crlstatus
    - dpn
    - issuer
    - thisUpdate
    argTypes:
    - OSSL_CMP_CRLSTATUS*
    - DIST_POINT_NAME**
    - GENERAL_NAMES**
    - ASN1_TIME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 783
    functionName: OSSL_CMP_CRLSTATUS_get0
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_CRLSTATUS_get0(const OSSL_CMP_CRLSTATUS *crlstatus,\n
      \                           DIST_POINT_NAME **dpn, GENERAL_NAMES **issuer,\n
      \                           ASN1_TIME **thisUpdate)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_asn.c:789,1
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/crypto/cmp/cmp_asn.c:791,1
    - Dst: sk_X509_CRL_new_reserve
      Src: /src/openssl/crypto/cmp/cmp_asn.c:795,1
    - Dst: X509_CRL_dup
      Src: /src/openssl/crypto/cmp/cmp_asn.c:796,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/crypto/cmp/cmp_asn.c:797,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_asn.c:802,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:807,1
    - Dst: sk_X509_CRL_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:808,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 811
    functionName: OSSL_CMP_ITAV_new_crls
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - X509_CRL_dup
    - sk_X509_CRL_new_reserve
    - sk_X509_CRL_push
    - OSSL_CMP_ITAV_new
    - sk_X509_CRL_free
    - STACK_OF
    - OPENSSL_free
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_free
    linkageType: ''
    returnType: OSSL_CMP_ITAV
    signature: OSSL_CMP_ITAV *OSSL_CMP_ITAV_new_crls(const X509_CRL *crl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:816,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_asn.c:819,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - itav
    - out
    argTypes:
    - OSSL_CMP_ITAV*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 825
    functionName: OSSL_CMP_ITAV_get0_crls
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_ITAV_get0_crls(const OSSL_CMP_ITAV *itav, STACK_OF(X509_CRL)
      **out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/cmp/cmp_asn.c:832,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:833,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:837,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_asn.c:841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 828
    functionDepth: 4
    functionLinenumber: 828
    functionLinenumberEnd: 845
    functionName: ossl_cmp_asn1_get_int
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 3
    functionsReached:
    - ASN1_INTEGER_get_int64
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_asn1_get_int(const ASN1_INTEGER *a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_asn.c:854,1
    - Dst: ossl_cmp_msg_set0_libctx
      Src: /src/openssl/crypto/cmp/cmp_asn.c:861,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ossl_unused*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 884
    functionName: ossl_cmp_msg_cb
    functionSourceFile: /src/openssl/crypto/cmp/cmp_asn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_cmp_msg_set0_libctx
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_msg_cb(int operation, ASN1_VALUE **pval,\n                           ossl_unused
      const ASN1_ITEM *it, void *exarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:19,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - pvno
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: ossl_cmp_hdr_set_pvno
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_set_pvno(OSSL_CMP_PKIHEADER *hdr, int pvno)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:28,1
    - Dst: ASN1_INTEGER_get_int64
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: ossl_cmp_hdr_get_pvno
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ASN1_INTEGER_get_int64
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_get_pvno(const OSSL_CMP_PKIHEADER *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:37,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: ossl_cmp_hdr_get_protection_nid
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_get_protection_nid(const OSSL_CMP_PKIHEADER *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: OSSL_CMP_HDR_get0_transactionID
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: "ASN1_OCTET_STRING *OSSL_CMP_HDR_get0_transactionID(const\n                                                   OSSL_CMP_PKIHEADER
      *hdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: ossl_cmp_hdr_get0_senderNonce
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *ossl_cmp_hdr_get0_senderNonce(const OSSL_CMP_PKIHEADER
      *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: OSSL_CMP_HDR_get0_recipNonce
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *OSSL_CMP_HDR_get0_recipNonce(const OSSL_CMP_PKIHEADER
      *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_DN
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: ossl_cmp_general_name_is_NULL_DN
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - IS_NULL_DN
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_general_name_is_NULL_DN(GENERAL_NAME *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:93,1
    - Dst: GENERAL_NAME_set1_X509_NAME
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - nm
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: ossl_cmp_hdr_set1_sender
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - GENERAL_NAME_set1_X509_NAME
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_set1_sender(OSSL_CMP_PKIHEADER *hdr, const X509_NAME
      *nm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:100,1
    - Dst: GENERAL_NAME_set1_X509_NAME
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - nm
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: ossl_cmp_hdr_set1_recipient
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - GENERAL_NAME_set1_X509_NAME
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_set1_recipient(OSSL_CMP_PKIHEADER *hdr, const X509_NAME
      *nm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:107,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:110,1
    - Dst: ASN1_GENERALIZEDTIME_set
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:112,1
    - Dst: time
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: ossl_cmp_hdr_update_messageTime
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - time
    - ossl_assert
    - ASN1_GENERALIZEDTIME_new
    - ASN1_GENERALIZEDTIME_set
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_update_messageTime(OSSL_CMP_PKIHEADER *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:118,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:122,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - tgt
    - ctx
    - len
    argTypes:
    - ASN1_OCTET_STRING**
    - OSSL_CMP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: set_random
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_cmp_asn1_octet_string_set1_bytes
    - OPENSSL_free
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int set_random(ASN1_OCTET_STRING **tgt, OSSL_CMP_CTX *ctx, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:132,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - senderKID
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: ossl_cmp_hdr_set1_senderKID
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_hdr_set1_senderKID(OSSL_CMP_PKIHEADER *hdr,\n                                const
      ASN1_OCTET_STRING *senderKID)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:140,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:144,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - text
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_UTF8STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: ossl_cmp_hdr_push0_freeText
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - ossl_assert
    - sk_ASN1_UTF8STRING_push
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_push0_freeText(OSSL_CMP_PKIHEADER *hdr, ASN1_UTF8STRING
      *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:152,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:156,1
    - Dst: ossl_cmp_sk_ASN1_UTF8STRING_push_str
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - text
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - ASN1_UTF8STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: ossl_cmp_hdr_push1_freeText
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_UTF8STRING_new_null
    - ossl_assert
    - ossl_cmp_sk_ASN1_UTF8STRING_push_str
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_push1_freeText(OSSL_CMP_PKIHEADER *hdr, ASN1_UTF8STRING
      *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:167,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - itav
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: ossl_cmp_hdr_generalInfo_push0_item
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_CMP_ITAV_push0_stack_item
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_hdr_generalInfo_push0_item(OSSL_CMP_PKIHEADER *hdr,\n
      \                                       OSSL_CMP_ITAV *itav)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:178,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:181,1
    - Dst: OSSL_CMP_ITAV_dup
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:182,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:182,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:186,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - hdr
    - itavs
    argTypes:
    - OSSL_CMP_PKIHEADER*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: ossl_cmp_hdr_generalInfo_push1_items
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ossl_cmp_hdr_generalInfo_push0_item
    - ossl_assert
    - OSSL_CMP_ITAV_dup
    - sk_OSSL_CMP_ITAV_value
    - OSSL_CMP_ITAV_free
    - sk_OSSL_CMP_ITAV_num
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_hdr_generalInfo_push1_items(OSSL_CMP_PKIHEADER *hdr,\n
      \                                        const STACK_OF(OSSL_CMP_ITAV) *itavs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:199,1
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:201,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:204,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:204,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:207,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:212,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: ossl_cmp_hdr_set_implicitConfirm
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 2
    functionsReached:
    - ossl_cmp_hdr_generalInfo_push0_item
    - ossl_assert
    - OSSL_CMP_ITAV_create
    - ASN1_NULL_new
    - OBJ_nid2obj
    - OSSL_CMP_ITAV_free
    - ASN1_TYPE_free
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_set_implicitConfirm(OSSL_CMP_PKIHEADER *hdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:224,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:227,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:229,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: ossl_cmp_hdr_has_implicitConfirm
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - sk_OSSL_CMP_ITAV_num
    - sk_OSSL_CMP_ITAV_value
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_has_implicitConfirm(const OSSL_CMP_PKIHEADER *hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_random
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:252,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:255,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:257,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:259,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - hdr
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 8
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: ossl_cmp_hdr_set_transactionID
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ossl_cmp_log1
    - i2s_ASN1_OCTET_STRING
    - set_random
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_set_transactionID(OSSL_CMP_CTX *ctx, OSSL_CMP_PKIHEADER
      *hdr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:272,1
    - Dst: ossl_cmp_hdr_set_pvno
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:276,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:283,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:284,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:285,1
    - Dst: ossl_cmp_hdr_set1_sender
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:287,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:294,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:298,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:300,1
    - Dst: ossl_cmp_hdr_set1_recipient
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:301,1
    - Dst: ossl_cmp_hdr_update_messageTime
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:305,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:309,1
    - Dst: ossl_cmp_hdr_set_transactionID
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:313,1
    - Dst: set_random
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:328,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:332,1
    - Dst: ossl_cmp_hdr_push1_freeText
      Src: /src/openssl/crypto/cmp/cmp_hdr.c:341,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - hdr
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_PKIHEADER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 267
    functionDepth: 9
    functionLinenumber: 267
    functionLinenumberEnd: 345
    functionName: ossl_cmp_hdr_init
    functionSourceFile: /src/openssl/crypto/cmp/cmp_hdr.c
    functionUses: 1
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ossl_assert
    - ossl_cmp_hdr_push1_freeText
    - X509_REQ_get_subject_name
    - ossl_cmp_hdr_update_messageTime
    - X509_get_subject_name
    - X509_get_issuer_name
    - set_random
    - ossl_cmp_hdr_set1_sender
    - ossl_cmp_hdr_set_pvno
    - ossl_cmp_hdr_set1_recipient
    - OSSL_CMP_CTX_set1_senderNonce
    - ossl_cmp_hdr_set_transactionID
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_hdr_init(OSSL_CMP_CTX *ctx, OSSL_CMP_PKIHEADER *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - keep_alive
    - body_type
    - bios
    argTypes:
    - int
    - int
    - BIO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: keep_alive
    functionSourceFile: /src/openssl/crypto/cmp/cmp_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keep_alive(int keep_alive, int body_type, BIO **bios)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_http.c:37,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/cmp/cmp_http.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_http.c:46,1
    - Dst: X509V3_add_value
      Src: /src/openssl/crypto/cmp/cmp_http.c:50,1
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/openssl/crypto/cmp/cmp_http.c:52,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/openssl/crypto/cmp/cmp_http.c:55,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/cmp/cmp_http.c:57,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/openssl/crypto/cmp/cmp_http.c:59,1
    - Dst: ossl_cmp_log4
      Src: /src/openssl/crypto/cmp/cmp_http.c:68,1
    - Dst: ossl_cmp_log3
      Src: /src/openssl/crypto/cmp/cmp_http.c:72,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/openssl/crypto/cmp/cmp_http.c:77,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/openssl/crypto/cmp/cmp_http.c:82,1
    - Dst: keep_alive
      Src: /src/openssl/crypto/cmp/cmp_http.c:88,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_http.c:89,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/crypto/cmp/cmp_http.c:90,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/cmp/cmp_http.c:91,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_http.c:94,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/crypto/cmp/cmp_http.c:103,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/cmp/cmp_http.c:105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 33
    functionDepth: 7
    functionLinenumber: 33
    functionLinenumberEnd: 107
    functionName: OSSL_CMP_MSG_http_perform
    functionSourceFile: /src/openssl/crypto/cmp/cmp_http.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_log4
    - keep_alive
    - ERR_raise
    - X509V3_add_value
    - BIO_free
    - ASN1_ITEM_rptr
    - OSSL_CMP_CTX_get_http_cb_arg
    - ASN1_item_i2d_mem_bio
    - BIO_snprintf
    - STACK_OF
    - OSSL_HTTP_transfer
    - OSSL_CMP_CTX_get_transfer_cb_arg
    - sk_CONF_VALUE_pop_free
    - ossl_cmp_debug
    - ossl_cmp_log3
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *OSSL_CMP_MSG_http_perform(OSSL_CMP_CTX *ctx,\n                                        const
      OSSL_CMP_MSG *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: OSSL_CMP_SRV_CTX_free
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    linkageType: ''
    returnType: void
    signature: void OSSL_CMP_SRV_CTX_free(OSSL_CMP_SRV_CTX *srv_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/cmp/cmp_server.c:50,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:55,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 12
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: OSSL_CMP_SRV_CTX_new
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_new
    - OPENSSL_zalloc
    - OSSL_CMP_SRV_CTX_free
    linkageType: ''
    returnType: OSSL_CMP_SRV_CTX
    signature: OSSL_CMP_SRV_CTX *OSSL_CMP_SRV_CTX_new(OSSL_LIB_CTX *libctx, const
      char *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 8
    argNames:
    - srv_ctx
    - custom_ctx
    - process_cert_request
    - process_rr
    - process_genm
    - process_error
    - process_certConf
    - process_pollReq
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - void*
    - OSSL_CMP_SRV_cert_request_cb_t
    - OSSL_CMP_SRV_rr_cb_t
    - OSSL_CMP_SRV_genm_cb_t
    - OSSL_CMP_SRV_error_cb_t
    - OSSL_CMP_SRV_certConf_cb_t
    - OSSL_CMP_SRV_pollReq_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: OSSL_CMP_SRV_CTX_init
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_SRV_CTX_init(OSSL_CMP_SRV_CTX *srv_ctx, void *custom_ctx,\n
      \                         OSSL_CMP_SRV_cert_request_cb_t process_cert_request,\n
      \                         OSSL_CMP_SRV_rr_cb_t process_rr,\n                          OSSL_CMP_SRV_genm_cb_t
      process_genm,\n                          OSSL_CMP_SRV_error_cb_t process_error,\n
      \                         OSSL_CMP_SRV_certConf_cb_t process_certConf,\n                          OSSL_CMP_SRV_pollReq_cb_t
      process_pollReq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - srv_ctx
    - delay
    - clean
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_SRV_delayed_delivery_cb_t
    - OSSL_CMP_SRV_clean_transaction_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: OSSL_CMP_SRV_CTX_init_trans
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_SRV_CTX_init_trans(OSSL_CMP_SRV_CTX *srv_ctx,\n                                OSSL_CMP_SRV_delayed_delivery_cb_t
      delay,\n                                OSSL_CMP_SRV_clean_transaction_cb_t
      clean)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: OSSL_CMP_SRV_CTX_get0_cmp_ctx
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_CTX
    signature: OSSL_CMP_CTX *OSSL_CMP_SRV_CTX_get0_cmp_ctx(const OSSL_CMP_SRV_CTX
      *srv_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: OSSL_CMP_SRV_CTX_get0_custom_ctx
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void *OSSL_CMP_SRV_CTX_get0_custom_ctx(const OSSL_CMP_SRV_CTX *srv_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - val
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: OSSL_CMP_SRV_CTX_set_send_unprotected_errors
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_SRV_CTX_set_send_unprotected_errors(OSSL_CMP_SRV_CTX
      *srv_ctx,\n                                                 int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - val
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: OSSL_CMP_SRV_CTX_set_accept_unprotected
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_SRV_CTX_set_accept_unprotected(OSSL_CMP_SRV_CTX *srv_ctx,
      int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - val
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: OSSL_CMP_SRV_CTX_set_accept_raverified
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int OSSL_CMP_SRV_CTX_set_accept_raverified(OSSL_CMP_SRV_CTX *srv_ctx,
      int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - val
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int OSSL_CMP_SRV_CTX_set_grant_implicit_confirm(OSSL_CMP_SRV_CTX *srv_ctx,\n
      \                                               int val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:174,1
    - Dst: OSSL_CMP_SRV_CTX*::delayed_delivery
      Src: /src/openssl/crypto/cmp/cmp_server.c:178,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/cmp/cmp_server.c:187,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/cmp/cmp_server.c:188,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:189,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:192,1
    - Dst: ossl_cmp_error_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:196,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 163
    functionDepth: 14
    functionLinenumber: 163
    functionLinenumberEnd: 200
    functionName: delayed_delivery
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_PKISI_free
    - ossl_assert
    - ERR_reason_error_string
    - ERR_GET_REASON
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_SRV_CTX*::delayed_delivery
    - ERR_peek_error
    - ossl_cmp_error_new
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *delayed_delivery(OSSL_CMP_SRV_CTX *srv_ctx,\n                                      const
      OSSL_CMP_MSG *req)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/cmp/cmp_server.c:214,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:220,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:235,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:239,1
    - Dst: sk_OSSL_CRMF_MSG_num
      Src: /src/openssl/crypto/cmp/cmp_server.c:245,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:246,1
    - Dst: sk_OSSL_CRMF_MSG_value
      Src: /src/openssl/crypto/cmp/cmp_server.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:250,1
    - Dst: OSSL_CRMF_MSG_get_certReqId
      Src: /src/openssl/crypto/cmp/cmp_server.c:253,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:255,1
    - Dst: OSSL_CRMF_MSG_centralkeygen_requested
      Src: /src/openssl/crypto/cmp/cmp_server.c:261,1
    - Dst: ossl_cmp_verify_popo
      Src: /src/openssl/crypto/cmp/cmp_server.c:265,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:267,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:269,1
    - Dst: ERR_peek_error
      Src: /src/openssl/crypto/cmp/cmp_server.c:269,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/crypto/cmp/cmp_server.c:273,1
    - Dst: OSSL_CMP_SRV_CTX*::process_cert_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:275,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_server.c:279,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/crypto/cmp/cmp_server.c:282,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/openssl/crypto/cmp/cmp_server.c:284,1
    - Dst: ossl_cmp_certrep_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:294,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:299,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:302,1
    - Dst: X509_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:303,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/crypto/cmp/cmp_server.c:304,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:305,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:306,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 207
    functionDepth: 14
    functionLinenumber: 207
    functionLinenumberEnd: 308
    functionName: process_cert_request
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509_free
    - OSSL_CMP_SRV_CTX*::process_cert_request
    - ossl_assert
    - ossl_cmp_verify_popo
    - sk_OSSL_CRMF_MSG_num
    - OSSL_STACK_OF_X509_free
    - sk_OSSL_CRMF_MSG_value
    - ERR_peek_error
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_MSG_get0_header
    - ERR_reason_error_string
    - ossl_cmp_certrep_new
    - ossl_cmp_pkisi_get_status
    - STACK_OF
    - OSSL_CMP_CTX_set_option
    - OSSL_CRMF_MSG_get_certReqId
    - OSSL_CMP_CTX_set0_newPkey
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_STATUSINFO_new
    - ossl_cmp_hdr_has_implicitConfirm
    - OSSL_CRMF_MSG_centralkeygen_requested
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,\n                                          const
      OSSL_CMP_MSG *req)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:321,1
    - Dst: sk_OSSL_CMP_REVDETAILS_num
      Src: /src/openssl/crypto/cmp/cmp_server.c:324,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:325,1
    - Dst: sk_OSSL_CMP_REVDETAILS_value
      Src: /src/openssl/crypto/cmp/cmp_server.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:330,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_issuer
      Src: /src/openssl/crypto/cmp/cmp_server.c:335,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
      Src: /src/openssl/crypto/cmp/cmp_server.c:336,1
    - Dst: OSSL_CRMF_CERTID_gen
      Src: /src/openssl/crypto/cmp/cmp_server.c:338,1
    - Dst: OSSL_CMP_SRV_CTX*::process_rr
      Src: /src/openssl/crypto/cmp/cmp_server.c:340,1
    - Dst: ossl_cmp_rp_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:343,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:345,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:348,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 310
    functionDepth: 14
    functionLinenumber: 310
    functionLinenumberEnd: 351
    functionName: process_rr
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_PKISI_free
    - ossl_assert
    - OSSL_CRMF_CERTID_gen
    - ERR_raise
    - sk_OSSL_CMP_REVDETAILS_num
    - OSSL_CMP_SRV_CTX*::process_rr
    - sk_OSSL_CMP_REVDETAILS_value
    - OSSL_CRMF_CERTID_free
    - ossl_cmp_rp_new
    - OSSL_CRMF_CERTTEMPLATE_get0_issuer
    - OSSL_CRMF_CERTTEMPLATE_get0_serialNumber
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *process_rr(OSSL_CMP_SRV_CTX *srv_ctx,\n                                const
      OSSL_CMP_MSG *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:363,1
    - Dst: OSSL_CMP_SRV_CTX*::process_genm
      Src: /src/openssl/crypto/cmp/cmp_server.c:366,1
    - Dst: ossl_cmp_genp_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:369,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 357
    functionDepth: 15
    functionLinenumber: 357
    functionLinenumberEnd: 372
    functionName: process_genm
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - sk_OSSL_CMP_ITAV_pop_free
    - ossl_assert
    - ossl_cmp_genp_new
    - OSSL_CMP_SRV_CTX*::process_genm
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *process_genm(OSSL_CMP_SRV_CTX *srv_ctx,\n                                  const
      OSSL_CMP_MSG *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:380,1
    - Dst: OSSL_CMP_SRV_CTX*::process_error
      Src: /src/openssl/crypto/cmp/cmp_server.c:383,1
    - Dst: ossl_cmp_pkiconf_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 14
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: process_error
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_cmp_pkiconf_new
    - OSSL_CMP_SRV_CTX*::process_error
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *process_error(OSSL_CMP_SRV_CTX *srv_ctx,\n                                   const
      OSSL_CMP_MSG *req)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:400,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_num
      Src: /src/openssl/crypto/cmp/cmp_server.c:405,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/crypto/cmp/cmp_server.c:407,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:409,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/crypto/cmp/cmp_server.c:414,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_server.c:417,1
    - Dst: sk_OSSL_CMP_CERTSTATUS_value
      Src: /src/openssl/crypto/cmp/cmp_server.c:418,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/crypto/cmp/cmp_server.c:422,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:427,1
    - Dst: OSSL_CMP_SRV_CTX*::process_certConf
      Src: /src/openssl/crypto/cmp/cmp_server.c:430,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_server.c:434,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/crypto/cmp/cmp_server.c:435,1
    - Dst: ossl_cmp_PKIStatus_to_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:436,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/crypto/cmp/cmp_server.c:438,1
    - Dst: ossl_cmp_pkiconf_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:445,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 391
    functionDepth: 14
    functionLinenumber: 391
    functionLinenumberEnd: 447
    functionName: process_certConf
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_CTX_get_option
    - ossl_assert
    - ERR_raise
    - ossl_cmp_asn1_get_int
    - ossl_cmp_log2
    - ossl_cmp_err
    - sk_OSSL_CMP_CERTSTATUS_value
    - ossl_cmp_pkisi_get_status
    - OSSL_CMP_SRV_CTX*::process_certConf
    - ossl_cmp_PKIStatus_to_string
    - sk_OSSL_CMP_CERTSTATUS_num
    - ossl_cmp_warn
    - ossl_cmp_pkiconf_new
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *process_certConf(OSSL_CMP_SRV_CTX *srv_ctx,\n                                      const
      OSSL_CMP_MSG *req)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:455,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:465,1
    - Dst: process_cert_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:471,1
    - Dst: process_rr
      Src: /src/openssl/crypto/cmp/cmp_server.c:473,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:477,1
    - Dst: process_genm
      Src: /src/openssl/crypto/cmp/cmp_server.c:479,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:483,1
    - Dst: process_error
      Src: /src/openssl/crypto/cmp/cmp_server.c:485,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:489,1
    - Dst: process_certConf
      Src: /src/openssl/crypto/cmp/cmp_server.c:491,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:495,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:498,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 503
    functionName: process_non_polling_request
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - process_certConf
    - process_genm
    - OSSL_CMP_MSG_get_bodytype
    - process_rr
    - process_cert_request
    - process_error
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *process_non_polling_request(OSSL_CMP_SRV_CTX *srv_ctx,\n
      \                                                const OSSL_CMP_MSG *req)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:515,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:519,1
    - Dst: sk_OSSL_CMP_POLLREQ_num
      Src: /src/openssl/crypto/cmp/cmp_server.c:524,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:525,1
    - Dst: sk_OSSL_CMP_POLLREQ_value
      Src: /src/openssl/crypto/cmp/cmp_server.c:529,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/crypto/cmp/cmp_server.c:530,1
    - Dst: OSSL_CMP_SRV_CTX*::process_pollReq
      Src: /src/openssl/crypto/cmp/cmp_server.c:531,1
    - Dst: process_non_polling_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:537,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:538,1
    - Dst: ossl_cmp_pollRep_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:540,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 505
    functionDepth: 14
    functionLinenumber: 505
    functionLinenumberEnd: 545
    functionName: process_pollReq
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ERR_raise
    - ossl_cmp_asn1_get_int
    - sk_OSSL_CMP_POLLREQ_value
    - ossl_cmp_pollRep_new
    - OSSL_CMP_SRV_CTX*::process_pollReq
    - process_non_polling_request
    - OSSL_CMP_MSG_free
    - sk_OSSL_CMP_POLLREQ_num
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *process_pollReq(OSSL_CMP_SRV_CTX *srv_ctx,\n                                     const
      OSSL_CMP_MSG *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/crypto/cmp/cmp_server.c:556,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_server.c:560,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:564,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/crypto/cmp/cmp_server.c:565,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/crypto/cmp/cmp_server.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - req
    - invalid_protection
    - accept_unprotected_requests
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 570
    functionName: unprotected_exception
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get_option
    - ossl_assert
    - ossl_cmp_log1
    - OSSL_CMP_MSG_get_bodytype
    - ossl_cmp_warn
    linkageType: ''
    returnType: int
    signature: "int unprotected_exception(const OSSL_CMP_CTX *ctx,\n                                 const
      OSSL_CMP_MSG *req,\n                                 int invalid_protection,\n
      \                                int accept_unprotected_requests)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/crypto/cmp/cmp_server.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:588,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:593,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_server.c:594,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:595,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:602,1
    - Dst: OSSL_CMP_CTX_set1_recipient
      Src: /src/openssl/crypto/cmp/cmp_server.c:605,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:610,1
    - Dst: i2s_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/cmp/cmp_server.c:623,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_server.c:626,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:629,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_server.c:632,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_server.c:633,1
    - Dst: OSSL_CMP_SRV_CTX*::clean_transaction
      Src: /src/openssl/crypto/cmp/cmp_server.c:637,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:638,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:647,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/openssl/crypto/cmp/cmp_server.c:653,1
    - Dst: ossl_cmp_hdr_get_protection_nid
      Src: /src/openssl/crypto/cmp/cmp_server.c:656,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:663,1
    - Dst: process_pollReq
      Src: /src/openssl/crypto/cmp/cmp_server.c:665,1
    - Dst: delayed_delivery
      Src: /src/openssl/crypto/cmp/cmp_server.c:668,1
    - Dst: process_non_polling_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:671,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/crypto/cmp/cmp_server.c:679,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_server.c:692,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/openssl/crypto/cmp/cmp_server.c:693,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:698,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:699,1
    - Dst: ossl_cmp_error_new
      Src: /src/openssl/crypto/cmp/cmp_server.c:701,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/crypto/cmp/cmp_server.c:703,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/crypto/cmp/cmp_server.c:706,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/crypto/cmp/cmp_server.c:710,1
    - Dst: ossl_cmp_log1
      Src: /src/openssl/crypto/cmp/cmp_server.c:712,1
    - Dst: ossl_cmp_bodytype_to_string
      Src: /src/openssl/crypto/cmp/cmp_server.c:713,1
    - Dst: ossl_cmp_log
      Src: /src/openssl/crypto/cmp/cmp_server.c:715,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/crypto/cmp/cmp_server.c:723,1
    - Dst: ossl_cmp_is_error_with_waiting
      Src: /src/openssl/crypto/cmp/cmp_server.c:728,1
    - Dst: OSSL_CMP_SRV_CTX*::clean_transaction
      Src: /src/openssl/crypto/cmp/cmp_server.c:739,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/crypto/cmp/cmp_server.c:740,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/crypto/cmp/cmp_server.c:741,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 113
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 575
    functionDepth: 17
    functionLinenumber: 575
    functionLinenumberEnd: 748
    functionName: OSSL_CMP_SRV_process_request
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ERR_peek_error_data
    - process_pollReq
    - ossl_cmp_is_error_with_waiting
    - ossl_cmp_bodytype_to_string
    - OSSL_CMP_CTX_set1_recipient
    - OPENSSL_free
    - process_non_polling_request
    - ossl_cmp_error_new
    - ossl_cmp_ctx_set1_recipNonce
    - OSSL_CMP_SRV_CTX*::clean_transaction
    - ossl_cmp_msg_check_update
    - ossl_cmp_hdr_get_protection_nid
    - i2s_ASN1_OCTET_STRING
    - OSSL_CMP_CTX_set1_transactionID
    - OSSL_CMP_CTX_set1_senderNonce
    - OSSL_CMP_PKISI_free
    - OSSL_CMP_CTX_get_option
    - OSSL_CMP_MSG_get0_header
    - ERR_reason_error_string
    - OSSL_CMP_CTX_print_errors
    - ossl_cmp_log1
    - ossl_cmp_log
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_STATUSINFO_new
    - delayed_delivery
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *OSSL_CMP_SRV_process_request(OSSL_CMP_SRV_CTX *srv_ctx,\n
      \                                          const OSSL_CMP_MSG *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:762,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/openssl/crypto/cmp/cmp_server.c:766,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/cmp/cmp_server.c:767,1
    - Dst: OSSL_CMP_SRV_process_request
      Src: /src/openssl/crypto/cmp/cmp_server.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - client_ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 756
    functionDepth: 18
    functionLinenumber: 756
    functionLinenumberEnd: 772
    functionName: OSSL_CMP_CTX_server_perform
    functionSourceFile: /src/openssl/crypto/cmp/cmp_server.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get_transfer_cb_arg
    - ERR_raise
    - OSSL_CMP_SRV_process_request
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *OSSL_CMP_CTX_server_perform(OSSL_CMP_CTX *client_ctx,\n
      \                                         const OSSL_CMP_MSG *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/engine/eng_all.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: ENGINE_load_builtin_engines
    functionSourceFile: /src/openssl/crypto/engine/eng_all.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: void ENGINE_load_builtin_engines(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: ENGINE_setup_bsd_cryptodev
    functionSourceFile: /src/openssl/crypto/engine/eng_all.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ENGINE_setup_bsd_cryptodev(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_id
      Src: /src/openssl/crypto/engine/eng_openssl.c:97,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/crypto/engine/eng_openssl.c:98,1
    - Dst: ENGINE_set_destroy_function
      Src: /src/openssl/crypto/engine/eng_openssl.c:99,1
    - Dst: ENGINE_set_RSA
      Src: /src/openssl/crypto/engine/eng_openssl.c:101,1
    - Dst: RSA_get_default_method
      Src: /src/openssl/crypto/engine/eng_openssl.c:101,1
    - Dst: ENGINE_set_DSA
      Src: /src/openssl/crypto/engine/eng_openssl.c:103,1
    - Dst: DSA_get_default_method
      Src: /src/openssl/crypto/engine/eng_openssl.c:103,1
    - Dst: ENGINE_set_EC
      Src: /src/openssl/crypto/engine/eng_openssl.c:106,1
    - Dst: EC_KEY_OpenSSL
      Src: /src/openssl/crypto/engine/eng_openssl.c:106,1
    - Dst: ENGINE_set_DH
      Src: /src/openssl/crypto/engine/eng_openssl.c:109,1
    - Dst: DH_get_default_method
      Src: /src/openssl/crypto/engine/eng_openssl.c:109,1
    - Dst: ENGINE_set_RAND
      Src: /src/openssl/crypto/engine/eng_openssl.c:111,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/crypto/engine/eng_openssl.c:111,1
    - Dst: ENGINE_set_ciphers
      Src: /src/openssl/crypto/engine/eng_openssl.c:113,1
    - Dst: ENGINE_set_digests
      Src: /src/openssl/crypto/engine/eng_openssl.c:116,1
    - Dst: ENGINE_set_load_privkey_function
      Src: /src/openssl/crypto/engine/eng_openssl.c:120,1
    - Dst: ossl_register_hmac_meth
      Src: /src/openssl/crypto/engine/eng_openssl.c:123,1
    - Dst: ENGINE_set_pkey_meths
      Src: /src/openssl/crypto/engine/eng_openssl.c:124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 134
    functionName: bind_helper
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 2
    functionsReached:
    - ENGINE_set_id
    - ENGINE_set_DSA
    - ENGINE_set_destroy_function
    - ENGINE_set_EC
    - EC_KEY_OpenSSL
    - ENGINE_set_DH
    - RAND_OpenSSL
    - ENGINE_set_ciphers
    - ENGINE_set_digests
    - ENGINE_set_name
    - ENGINE_set_RSA
    - ENGINE_set_RAND
    - ENGINE_set_pkey_meths
    - ossl_register_hmac_meth
    - RSA_get_default_method
    - DH_get_default_method
    - ENGINE_set_load_privkey_function
    - DSA_get_default_method
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/openssl/crypto/engine/eng_openssl.c:138,1
    - Dst: bind_helper
      Src: /src/openssl/crypto/engine/eng_openssl.c:141,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: engine_openssl
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - bind_helper
    - ENGINE_free
    - ENGINE_new
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *engine_openssl(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_openssl
      Src: /src/openssl/crypto/engine/eng_openssl.c:150,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/engine/eng_openssl.c:154,1
    - Dst: ENGINE_add
      Src: /src/openssl/crypto/engine/eng_openssl.c:155,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:160,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/engine/eng_openssl.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: engine_load_openssl_int
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 1
    functionsReached:
    - engine_openssl
    - ENGINE_free
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    linkageType: ''
    returnType: void
    signature: void engine_load_openssl_int(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_openssl.c:176,1
    - Dst: bind_helper
      Src: /src/openssl/crypto/engine/eng_openssl.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: bind_fn
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - bind_helper
    linkageType: ''
    returnType: int
    signature: int bind_fn(ENGINE *e, const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: test
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test(ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/engine/eng_openssl.c:208,1
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:211,1
    - Dst: memcpy
      Src: /src/openssl/crypto/engine/eng_openssl.c:215,1
    - Dst: test
      Src: /src/openssl/crypto/engine/eng_openssl.c:215,1
    - Dst: RC4_set_key
      Src: /src/openssl/crypto/engine/eng_openssl.c:216,1
    - Dst: test
      Src: /src/openssl/crypto/engine/eng_openssl.c:216,1
    - Dst: test
      Src: /src/openssl/crypto/engine/eng_openssl.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: test_rc4_init_key
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - test
    - memcpy
    - EVP_CIPHER_CTX_get_key_length
    - RC4_set_key
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int test_rc4_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                            const unsigned char *iv, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:224,1
    - Dst: RC4
      Src: /src/openssl/crypto/engine/eng_openssl.c:226,1
    - Dst: test
      Src: /src/openssl/crypto/engine/eng_openssl.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: test_rc4_cipher
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - test
    - RC4
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int test_rc4_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/crypto/engine/eng_openssl.c:236,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/crypto/engine/eng_openssl.c:237,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/crypto/engine/eng_openssl.c:238,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/crypto/engine/eng_openssl.c:239,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/crypto/engine/eng_openssl.c:240,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/crypto/engine/eng_openssl.c:241,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: test_r4_cipher
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_set_init
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *test_r4_cipher(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: test_r4_cipher_destroy
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: void
    signature: void test_r4_cipher_destroy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/crypto/engine/eng_openssl.c:261,1
    - Dst: EVP_CIPHER_meth_set_iv_length
      Src: /src/openssl/crypto/engine/eng_openssl.c:262,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/crypto/engine/eng_openssl.c:263,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/crypto/engine/eng_openssl.c:264,1
    - Dst: EVP_CIPHER_meth_set_do_cipher
      Src: /src/openssl/crypto/engine/eng_openssl.c:265,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/crypto/engine/eng_openssl.c:266,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: test_r4_40_cipher
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_set_iv_length
    - EVP_CIPHER_meth_set_impl_ctx_size
    - EVP_CIPHER_meth_set_flags
    - EVP_CIPHER_meth_set_do_cipher
    - EVP_CIPHER_meth_free
    - EVP_CIPHER_meth_new
    - EVP_CIPHER_meth_set_init
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *test_r4_40_cipher(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: test_r4_40_cipher_destroy
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_free
    linkageType: ''
    returnType: void
    signature: void test_r4_40_cipher_destroy(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_r4_cipher
      Src: /src/openssl/crypto/engine/eng_openssl.c:287,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/engine/eng_openssl.c:288,1
    - Dst: test_r4_40_cipher
      Src: /src/openssl/crypto/engine/eng_openssl.c:289,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/crypto/engine/eng_openssl.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 296
    functionName: test_cipher_nids
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - test_r4_cipher
    - EVP_CIPHER_get_nid
    - test_r4_40_cipher
    linkageType: ''
    returnType: int
    signature: int test_cipher_nids(const int **nids)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_cipher_nids
      Src: /src/openssl/crypto/engine/eng_openssl.c:303,1
    - Dst: test_r4_cipher
      Src: /src/openssl/crypto/engine/eng_openssl.c:307,1
    - Dst: test_r4_40_cipher
      Src: /src/openssl/crypto/engine/eng_openssl.c:309,1
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - e
    - cipher
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_CIPHER**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 319
    functionName: openssl_ciphers
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - test_r4_40_cipher
    - test_r4_cipher
    - test_cipher_nids
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int openssl_ciphers(ENGINE *e, const EVP_CIPHER **cipher,\n                           const
      int **nids, int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:329,1
    - Dst: SHA1_Init
      Src: /src/openssl/crypto/engine/eng_openssl.c:331,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: test_sha1_init
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - SHA1_Init
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_sha1_init(EVP_MD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:337,1
    - Dst: SHA1_Update
      Src: /src/openssl/crypto/engine/eng_openssl.c:339,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: test_sha1_update
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - SHA1_Update
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_sha1_update(EVP_MD_CTX *ctx, const void *data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:345,1
    - Dst: SHA1_Final
      Src: /src/openssl/crypto/engine/eng_openssl.c:347,1
    - Dst: EVP_MD_CTX_get0_md_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: test_sha1_final
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get0_md_data
    - SHA1_Final
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_sha1_final(EVP_MD_CTX *ctx, unsigned char *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/crypto/engine/eng_openssl.c:356,1
    - Dst: EVP_MD_meth_set_result_size
      Src: /src/openssl/crypto/engine/eng_openssl.c:357,1
    - Dst: EVP_MD_meth_set_input_blocksize
      Src: /src/openssl/crypto/engine/eng_openssl.c:358,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/crypto/engine/eng_openssl.c:359,1
    - Dst: EVP_MD_meth_set_flags
      Src: /src/openssl/crypto/engine/eng_openssl.c:361,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/crypto/engine/eng_openssl.c:362,1
    - Dst: EVP_MD_meth_set_update
      Src: /src/openssl/crypto/engine/eng_openssl.c:363,1
    - Dst: EVP_MD_meth_set_final
      Src: /src/openssl/crypto/engine/eng_openssl.c:364,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:365,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 371
    functionName: test_sha_md
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_set_result_size
    - EVP_MD_meth_set_update
    - EVP_MD_meth_free
    - EVP_MD_meth_set_init
    - EVP_MD_meth_set_final
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_set_flags
    - EVP_MD_meth_new
    - EVP_MD_meth_set_input_blocksize
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *test_sha_md(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 4
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: test_sha_md_destroy
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_meth_free
    linkageType: ''
    returnType: void
    signature: void test_sha_md_destroy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_sha_md
      Src: /src/openssl/crypto/engine/eng_openssl.c:385,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/engine/eng_openssl.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nids
    argTypes:
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 5
    functionLinenumber: 377
    functionLinenumberEnd: 392
    functionName: test_digest_nids
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 1
    functionsReached:
    - test_sha_md
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: int test_digest_nids(const int **nids)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_digest_nids
      Src: /src/openssl/crypto/engine/eng_openssl.c:399,1
    - Dst: test_sha_md
      Src: /src/openssl/crypto/engine/eng_openssl.c:403,1
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - e
    - digest
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_MD**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 394
    functionDepth: 6
    functionLinenumber: 394
    functionLinenumberEnd: 413
    functionName: openssl_digests
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - test_sha_md
    - test_digest_nids
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int openssl_digests(ENGINE *e, const EVP_MD **digest,\n                           const
      int **nids, int nid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:423,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/engine/eng_openssl.c:426,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/engine/eng_openssl.c:428,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/crypto/engine/eng_openssl.c:432,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - eng
    - key_id
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 435
    functionName: openssl_load_privkey
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - fprintf
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *openssl_load_privkey(ENGINE *eng, const char *key_id,\n
      \                                     UI_METHOD *ui_method,\n                                      void
      *callback_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/engine/eng_openssl.c:457,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/crypto/engine/eng_openssl.c:460,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:462,1
    - Dst: EVP_PKEY_CTX_set_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:465,1
    - Dst: EVP_PKEY_CTX_set0_keygen_info
      Src: /src/openssl/crypto/engine/eng_openssl.c:466,1
    - Dst: fprintf
      Src: /src/openssl/crypto/engine/eng_openssl.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 471
    functionName: ossl_hmac_init
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_PKEY_CTX_set0_keygen_info
    - HMAC_CTX_new
    - EVP_PKEY_CTX_set_data
    - OPENSSL_free
    - fprintf
    linkageType: ''
    returnType: int
    signature: int ossl_hmac_init(EVP_PKEY_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_hmac_init
      Src: /src/openssl/crypto/engine/eng_openssl.c:480,1
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:482,1
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:483,1
    - Dst: HMAC_CTX_copy
      Src: /src/openssl/crypto/engine/eng_openssl.c:485,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/engine/eng_openssl.c:488,1
    - Dst: ossl_hmac_cleanup
      Src: /src/openssl/crypto/engine/eng_openssl.c:495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 475
    functionDepth: 9
    functionLinenumber: 475
    functionLinenumberEnd: 497
    functionName: ossl_hmac_copy
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - EVP_PKEY_CTX_get_data
    - ossl_hmac_init
    - ossl_hmac_cleanup
    - HMAC_CTX_copy
    linkageType: ''
    returnType: int
    signature: int ossl_hmac_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:501,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:504,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:505,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:506,1
    - Dst: EVP_PKEY_CTX_set_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 9
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: ossl_hmac_cleanup
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 1
    functionsReached:
    - OPENSSL_clear_free
    - EVP_PKEY_CTX_set_data
    - EVP_PKEY_CTX_get_data
    - HMAC_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_hmac_cleanup(EVP_PKEY_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:514,1
    - Dst: ASN1_OCTET_STRING_dup
      Src: /src/openssl/crypto/engine/eng_openssl.c:517,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/engine/eng_openssl.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 523
    functionName: ossl_hmac_keygen
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_dup
    - EVP_PKEY_CTX_get_data
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: int ossl_hmac_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:527,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/engine/eng_openssl.c:527,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/engine/eng_openssl.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - data
    - count
    argTypes:
    - EVP_MD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 531
    functionName: ossl_int_update
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_data
    - HMAC_Update
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: int ossl_int_update(EVP_MD_CTX *ctx, const void *data, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_flags
      Src: /src/openssl/crypto/engine/eng_openssl.c:535,1
    - Dst: EVP_MD_CTX_set_update_fn
      Src: /src/openssl/crypto/engine/eng_openssl.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - mctx
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: ossl_hmac_signctx_init
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_flags
    - EVP_MD_CTX_set_update_fn
    linkageType: ''
    returnType: int
    signature: int ossl_hmac_signctx_init(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:544,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/crypto/engine/eng_openssl.c:545,1
    - Dst: HMAC_Final
      Src: /src/openssl/crypto/engine/eng_openssl.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - sig
    - siglen
    - mctx
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 540
    functionDepth: 9
    functionLinenumber: 540
    functionLinenumberEnd: 557
    functionName: ossl_hmac_signctx
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - HMAC_Final
    - EVP_PKEY_CTX_get_data
    - EVP_MD_CTX_get_size
    linkageType: ''
    returnType: int
    signature: "int ossl_hmac_signctx(EVP_PKEY_CTX *ctx, unsigned char *sig,\n                             size_t
      *siglen, EVP_MD_CTX *mctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_data
      Src: /src/openssl/crypto/engine/eng_openssl.c:561,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/engine/eng_openssl.c:569,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/engine/eng_openssl.c:578,1
    - Dst: EVP_PKEY_get0
      Src: /src/openssl/crypto/engine/eng_openssl.c:579,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/engine/eng_openssl.c:580,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 559
    functionDepth: 12
    functionLinenumber: 559
    functionLinenumberEnd: 589
    functionName: ossl_hmac_ctrl
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_CTX_get_data
    - EVP_PKEY_get0
    - HMAC_Init_ex
    linkageType: ''
    returnType: int
    signature: int ossl_hmac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_openssl.c:597,1
    - Dst: ossl_hmac_ctrl
      Src: /src/openssl/crypto/engine/eng_openssl.c:599,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_openssl.c:601,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/engine/eng_openssl.c:605,1
    - Dst: ossl_hmac_ctrl
      Src: /src/openssl/crypto/engine/eng_openssl.c:608,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_openssl.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 591
    functionDepth: 13
    functionLinenumber: 591
    functionLinenumberEnd: 613
    functionName: ossl_hmac_ctrl_str
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OPENSSL_free
    - ossl_hmac_ctrl
    - OPENSSL_hexstr2buf
    linkageType: ''
    returnType: int
    signature: "int ossl_hmac_ctrl_str(EVP_PKEY_CTX *ctx,\n                              const
      char *type, const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_new
      Src: /src/openssl/crypto/engine/eng_openssl.c:620,1
    - Dst: EVP_PKEY_meth_set_init
      Src: /src/openssl/crypto/engine/eng_openssl.c:623,1
    - Dst: EVP_PKEY_meth_set_copy
      Src: /src/openssl/crypto/engine/eng_openssl.c:624,1
    - Dst: EVP_PKEY_meth_set_cleanup
      Src: /src/openssl/crypto/engine/eng_openssl.c:625,1
    - Dst: EVP_PKEY_meth_set_keygen
      Src: /src/openssl/crypto/engine/eng_openssl.c:627,1
    - Dst: EVP_PKEY_meth_set_signctx
      Src: /src/openssl/crypto/engine/eng_openssl.c:629,1
    - Dst: EVP_PKEY_meth_set_ctrl
      Src: /src/openssl/crypto/engine/eng_openssl.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 635
    functionName: ossl_register_hmac_meth
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_meth_set_copy
    - EVP_PKEY_meth_set_cleanup
    - EVP_PKEY_meth_set_keygen
    - EVP_PKEY_meth_new
    - EVP_PKEY_meth_set_ctrl
    - EVP_PKEY_meth_set_signctx
    - EVP_PKEY_meth_set_init
    linkageType: ''
    returnType: int
    signature: int ossl_register_hmac_meth(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - e
    - pmeth
    - nids
    - nid
    argTypes:
    - ENGINE*
    - EVP_PKEY_METHOD**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 657
    functionName: ossl_pkey_meths
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_pkey_meths(ENGINE *e, EVP_PKEY_METHOD **pmeth,\n                           const
      int **nids, int nid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sha_md_destroy
      Src: /src/openssl/crypto/engine/eng_openssl.c:663,1
    - Dst: test_r4_cipher_destroy
      Src: /src/openssl/crypto/engine/eng_openssl.c:665,1
    - Dst: test_r4_40_cipher_destroy
      Src: /src/openssl/crypto/engine/eng_openssl.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 661
    functionDepth: 5
    functionLinenumber: 661
    functionLinenumberEnd: 669
    functionName: openssl_destroy
    functionSourceFile: /src/openssl/crypto/engine/eng_openssl.c
    functionUses: 0
    functionsReached:
    - test_r4_40_cipher_destroy
    - test_sha_md_destroy
    - test_r4_cipher_destroy
    linkageType: ''
    returnType: int
    signature: int openssl_destroy(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __has_feature
      Src: /src/openssl/crypto/engine/eng_rdrand.c:42,1
    - Dst: __msan_unpoison
      Src: /src/openssl/crypto/engine/eng_rdrand.c:47,1
    - Dst: OPENSSL_ia32_rdrand_bytes
      Src: /src/openssl/crypto/engine/eng_rdrand.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: get_random_bytes
    functionSourceFile: /src/openssl/crypto/engine/eng_rdrand.c
    functionUses: 0
    functionsReached:
    - __msan_unpoison
    - OPENSSL_ia32_rdrand_bytes
    - __has_feature
    linkageType: ''
    returnType: int
    signature: int get_random_bytes(unsigned char *buf, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: random_status
    functionSourceFile: /src/openssl/crypto/engine/eng_rdrand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int random_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: rdrand_init
    functionSourceFile: /src/openssl/crypto/engine/eng_rdrand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rdrand_init(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_id
      Src: /src/openssl/crypto/engine/eng_rdrand.c:78,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/crypto/engine/eng_rdrand.c:79,1
    - Dst: ENGINE_set_flags
      Src: /src/openssl/crypto/engine/eng_rdrand.c:80,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/crypto/engine/eng_rdrand.c:81,1
    - Dst: ENGINE_set_RAND
      Src: /src/openssl/crypto/engine/eng_rdrand.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: bind_helper
    functionSourceFile: /src/openssl/crypto/engine/eng_rdrand.c
    functionUses: 4
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_id
    - ENGINE_set_flags
    - ENGINE_set_RAND
    - ENGINE_set_name
    linkageType: ''
    returnType: int
    signature: int bind_helper(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/openssl/crypto/engine/eng_rdrand.c:90,1
    - Dst: bind_helper
      Src: /src/openssl/crypto/engine/eng_rdrand.c:93,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_rdrand.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: ENGINE_rdrand
    functionSourceFile: /src/openssl/crypto/engine/eng_rdrand.c
    functionUses: 0
    functionsReached:
    - bind_helper
    - ENGINE_free
    - ENGINE_new
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_rdrand(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_rdrand
      Src: /src/openssl/crypto/engine/eng_rdrand.c:103,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/engine/eng_rdrand.c:106,1
    - Dst: ENGINE_add
      Src: /src/openssl/crypto/engine/eng_rdrand.c:107,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_rdrand.c:112,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/engine/eng_rdrand.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: engine_load_rdrand_int
    functionSourceFile: /src/openssl/crypto/engine/eng_rdrand.c
    functionUses: 1
    functionsReached:
    - ENGINE_free
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_add
    - ENGINE_rdrand
    linkageType: ''
    returnType: void
    signature: void engine_load_rdrand_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: engine_load_rdrand_int
    functionSourceFile: /src/openssl/crypto/engine/eng_rdrand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void engine_load_rdrand_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ENGINE_unregister_pkey_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 0
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_pkey_meths(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: engine_unregister_all_pkey_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_pkey_meths(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::pkey_meths
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:32,1
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: ENGINE_register_pkey_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 0
    functionsReached:
    - engine_table_register
    - ENGINE*::pkey_meths
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_pkey_meths(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:45,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:45,1
    - Dst: ENGINE_register_pkey_meths
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: ENGINE_register_all_pkey_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_pkey_meths
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_pkey_meths(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::pkey_meths
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:53,1
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: ENGINE_set_default_pkey_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 0
    functionsReached:
    - engine_table_register
    - ENGINE*::pkey_meths
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_pkey_meths(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ENGINE_get_pkey_meth_engine
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 2
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_pkey_meth_engine(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_pkey_meths
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:77,1
    - Dst: fn
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - e
    - nid
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: ENGINE_get_pkey_meth
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 2
    functionsReached:
    - fn
    - ERR_raise
    - ENGINE_get_pkey_meths
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: ENGINE_get_pkey_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_PKEY_METHS_PTR
    signature: ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - f
    argTypes:
    - ENGINE*
    - ENGINE_PKEY_METHS_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: ENGINE_set_pkey_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::pkey_meths
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:110,1
    - Dst: ENGINE*::pkey_meths
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:112,1
    - Dst: EVP_PKEY_meth_free
      Src: /src/openssl/crypto/engine/tb_pkmeth.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: engine_pkey_meths_free
    functionSourceFile: /src/openssl/crypto/engine/tb_pkmeth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_free
    - ENGINE*::pkey_meths
    linkageType: ''
    returnType: void
    signature: void engine_pkey_meths_free(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_digest.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ENGINE_unregister_digests
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 1
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_digests(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_digest.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: engine_unregister_all_digests
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_digests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::digests
      Src: /src/openssl/crypto/engine/tb_digest.c:31,1
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_digest.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: ENGINE_register_digests
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 1
    functionsReached:
    - ENGINE*::digests
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_digests(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_digest.c:44,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_digest.c:44,1
    - Dst: ENGINE_register_digests
      Src: /src/openssl/crypto/engine/tb_digest.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: ENGINE_register_all_digests
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_digests
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_digests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::digests
      Src: /src/openssl/crypto/engine/tb_digest.c:52,1
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_digest.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: ENGINE_set_default_digests
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 0
    functionsReached:
    - ENGINE*::digests
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_digests(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_digest.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ENGINE_get_digest_engine
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 3
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_digest_engine(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_digests
      Src: /src/openssl/crypto/engine/tb_digest.c:76,1
    - Dst: fn
      Src: /src/openssl/crypto/engine/tb_digest.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/tb_digest.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - e
    - nid
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: ENGINE_get_digest
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 2
    functionsReached:
    - ENGINE_get_digests
    - fn
    - ERR_raise
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ENGINE_get_digest(ENGINE *e, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: ENGINE_get_digests
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_DIGESTS_PTR
    signature: ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - f
    argTypes:
    - ENGINE*
    - ENGINE_DIGESTS_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: ENGINE_set_digests
    functionSourceFile: /src/openssl/crypto/engine/tb_digest.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/engine/eng_lib.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: DEFINE_RUN_ONCE
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE(do_engine_lock_init)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/engine/eng_lib.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_lib.c:33,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/engine/eng_lib.c:36,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/engine/eng_lib.c:38,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_lib.c:39,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_lib.c:42,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/engine/eng_lib.c:43,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/engine/eng_lib.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_lib.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: ENGINE_new
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 8
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - RUN_ONCE
    - ERR_raise
    - ENGINE_REF_PRINT
    - CRYPTO_new_ex_data
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: engine_set_all_null
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void engine_set_all_null(ENGINE *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/engine/eng_lib.c:83,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_lib.c:84,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/engine/eng_lib.c:87,1
    - Dst: engine_pkey_meths_free
      Src: /src/openssl/crypto/engine/eng_lib.c:89,1
    - Dst: engine_pkey_asn1_meths_free
      Src: /src/openssl/crypto/engine/eng_lib.c:90,1
    - Dst: ENGINE*::destroy
      Src: /src/openssl/crypto/engine/eng_lib.c:96,1
    - Dst: engine_remove_dynamic_id
      Src: /src/openssl/crypto/engine/eng_lib.c:97,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/engine/eng_lib.c:98,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/engine/eng_lib.c:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_lib.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - e
    - not_locked
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: engine_free_util
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached:
    - engine_remove_dynamic_id
    - ENGINE_REF_PRINT
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - CRYPTO_free_ex_data
    - engine_pkey_asn1_meths_free
    - OPENSSL_free
    - ENGINE*::destroy
    - engine_pkey_meths_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: int
    signature: int engine_free_util(ENGINE *e, int not_locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_free_util
      Src: /src/openssl/crypto/engine/eng_lib.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ENGINE_free
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 16
    functionsReached:
    - engine_free_util
    linkageType: ''
    returnType: int
    signature: int ENGINE_free(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_CLEANUP_ITEM_new_null
      Src: /src/openssl/crypto/engine/eng_lib.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - create
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: int_cleanup_check
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached:
    - sk_ENGINE_CLEANUP_ITEM_new_null
    linkageType: ''
    returnType: int
    signature: int int_cleanup_check(int create)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/engine/eng_lib.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ENGINE_CLEANUP_CB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: int_cleanup_item
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: ENGINE_CLEANUP_ITEM
    signature: ENGINE_CLEANUP_ITEM *int_cleanup_item(ENGINE_CLEANUP_CB *cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_cleanup_check
      Src: /src/openssl/crypto/engine/eng_lib.c:142,1
    - Dst: int_cleanup_item
      Src: /src/openssl/crypto/engine/eng_lib.c:144,1
    - Dst: sk_ENGINE_CLEANUP_ITEM_insert
      Src: /src/openssl/crypto/engine/eng_lib.c:146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_lib.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ENGINE_CLEANUP_CB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: engine_cleanup_add_first
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - int_cleanup_item
    - sk_ENGINE_CLEANUP_ITEM_insert
    - int_cleanup_check
    linkageType: ''
    returnType: int
    signature: int engine_cleanup_add_first(ENGINE_CLEANUP_CB *cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: int_cleanup_check
      Src: /src/openssl/crypto/engine/eng_lib.c:157,1
    - Dst: int_cleanup_item
      Src: /src/openssl/crypto/engine/eng_lib.c:159,1
    - Dst: sk_ENGINE_CLEANUP_ITEM_push
      Src: /src/openssl/crypto/engine/eng_lib.c:161,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_lib.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cb
    argTypes:
    - ENGINE_CLEANUP_CB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: engine_cleanup_add_last
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached:
    - sk_ENGINE_CLEANUP_ITEM_push
    - OPENSSL_free
    - int_cleanup_item
    - int_cleanup_check
    linkageType: ''
    returnType: int
    signature: int engine_cleanup_add_last(ENGINE_CLEANUP_CB *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_lib.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - ENGINE_CLEANUP_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: engine_cleanup_cb_free
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void engine_cleanup_cb_free(ENGINE_CLEANUP_ITEM *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_cleanup_check
      Src: /src/openssl/crypto/engine/eng_lib.c:177,1
    - Dst: sk_ENGINE_CLEANUP_ITEM_pop_free
      Src: /src/openssl/crypto/engine/eng_lib.c:178,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/engine/eng_lib.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: engine_cleanup_int
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - sk_ENGINE_CLEANUP_ITEM_pop_free
    - int_cleanup_check
    linkageType: ''
    returnType: void
    signature: void engine_cleanup_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/engine/eng_lib.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - idx
    - arg
    argTypes:
    - ENGINE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: ENGINE_set_ex_data
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 2
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/engine/eng_lib.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - idx
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: ENGINE_get_ex_data
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 6
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *ENGINE_get_ex_data(const ENGINE *e, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_lib.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - id
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: ENGINE_set_id
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 9
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_id(ENGINE *e, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_lib.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - name
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: ENGINE_set_name
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 9
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_name(ENGINE *e, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - destroy_f
    argTypes:
    - ENGINE*
    - ENGINE_GEN_INT_FUNC_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: ENGINE_set_destroy_function
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR
      destroy_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - init_f
    argTypes:
    - ENGINE*
    - ENGINE_GEN_INT_FUNC_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: ENGINE_set_init_function
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - finish_f
    argTypes:
    - ENGINE*
    - ENGINE_GEN_INT_FUNC_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: ENGINE_set_finish_function
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - ctrl_f
    argTypes:
    - ENGINE*
    - ENGINE_CTRL_FUNC_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: ENGINE_set_ctrl_function
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - flags
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: ENGINE_set_flags
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_flags(ENGINE *e, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - defns
    argTypes:
    - ENGINE*
    - ENGINE_CMD_DEFN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: ENGINE_set_cmd_defns
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: ENGINE_get_id
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ENGINE_get_id(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: ENGINE_get_name
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ENGINE_get_name(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: ENGINE_get_destroy_function
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_GEN_INT_FUNC_PTR
    signature: ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: ENGINE_get_init_function
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_GEN_INT_FUNC_PTR
    signature: ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: ENGINE_get_finish_function
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_GEN_INT_FUNC_PTR
    signature: ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: ENGINE_get_ctrl_function
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_CTRL_FUNC_PTR
    signature: ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: ENGINE_get_flags
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_get_flags(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: ENGINE_get_cmd_defns
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_CMD_DEFN
    signature: ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: ENGINE_get_static_state
    functionSourceFile: /src/openssl/crypto/engine/eng_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ENGINE_get_static_state(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_dsa.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ENGINE_unregister_DSA
    functionSourceFile: /src/openssl/crypto/engine/tb_dsa.c
    functionUses: 0
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_DSA(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_dsa.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: engine_unregister_all_DSA
    functionSourceFile: /src/openssl/crypto/engine/tb_dsa.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_DSA(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_dsa.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ENGINE_register_DSA
    functionSourceFile: /src/openssl/crypto/engine/tb_dsa.c
    functionUses: 0
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_DSA(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_dsa.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_dsa.c:41,1
    - Dst: ENGINE_register_DSA
      Src: /src/openssl/crypto/engine/tb_dsa.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: ENGINE_register_all_DSA
    functionSourceFile: /src/openssl/crypto/engine/tb_dsa.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_DSA
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_DSA(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_dsa.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ENGINE_set_default_DSA
    functionSourceFile: /src/openssl/crypto/engine/tb_dsa.c
    functionUses: 0
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_DSA(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_dsa.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ENGINE_get_default_DSA
    functionSourceFile: /src/openssl/crypto/engine/tb_dsa.c
    functionUses: 1
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_default_DSA(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ENGINE_get_DSA
    functionSourceFile: /src/openssl/crypto/engine/tb_dsa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DSA_METHOD
    signature: DSA_METHOD *ENGINE_get_DSA(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - dsa_meth
    argTypes:
    - ENGINE*
    - DSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ENGINE_set_DSA
    functionSourceFile: /src/openssl/crypto/engine/tb_dsa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - defn
    argTypes:
    - ENGINE_CMD_DEFN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: int_ctrl_cmd_is_null
    functionSourceFile: /src/openssl/crypto/engine/eng_ctrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_ctrl_cmd_is_null(const ENGINE_CMD_DEFN *defn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_ctrl_cmd_is_null
      Src: /src/openssl/crypto/engine/eng_ctrl.c:37,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_ctrl.c:37,1
    - Dst: int_ctrl_cmd_is_null
      Src: /src/openssl/crypto/engine/eng_ctrl.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - defn
    - s
    argTypes:
    - ENGINE_CMD_DEFN*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: int_ctrl_cmd_by_name
    functionSourceFile: /src/openssl/crypto/engine/eng_ctrl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - int_ctrl_cmd_is_null
    linkageType: ''
    returnType: int
    signature: int int_ctrl_cmd_by_name(const ENGINE_CMD_DEFN *defn, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_ctrl_cmd_is_null
      Src: /src/openssl/crypto/engine/eng_ctrl.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - defn
    - num
    argTypes:
    - ENGINE_CMD_DEFN*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: int_ctrl_cmd_by_num
    functionSourceFile: /src/openssl/crypto/engine/eng_ctrl.c
    functionUses: 0
    functionsReached:
    - int_ctrl_cmd_is_null
    linkageType: ''
    returnType: int
    signature: int int_ctrl_cmd_by_num(const ENGINE_CMD_DEFN *defn, unsigned int num)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: int_ctrl_cmd_is_null
      Src: /src/openssl/crypto/engine/eng_ctrl.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:82,1
    - Dst: int_ctrl_cmd_by_name
      Src: /src/openssl/crypto/engine/eng_ctrl.c:89,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:90,1
    - Dst: int_ctrl_cmd_by_num
      Src: /src/openssl/crypto/engine/eng_ctrl.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:101,1
    - Dst: int_ctrl_cmd_is_null
      Src: /src/openssl/crypto/engine/eng_ctrl.c:109,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/eng_ctrl.c:111,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/eng_ctrl.c:113,1
    - Dst: strcpy
      Src: /src/openssl/crypto/engine/eng_ctrl.c:113,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/eng_ctrl.c:115,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/eng_ctrl.c:118,1
    - Dst: strcpy
      Src: /src/openssl/crypto/engine/eng_ctrl.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - e
    - cmd
    - i
    - p
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 126
    functionName: int_ctrl_helper
    functionSourceFile: /src/openssl/crypto/engine/eng_ctrl.c
    functionUses: 0
    functionsReached:
    - strcpy
    - ERR_raise
    - strlen
    - int_ctrl_cmd_by_name
    - int_ctrl_cmd_is_null
    - int_ctrl_cmd_by_num
    linkageType: ''
    returnType: int
    signature: "int int_ctrl_helper(ENGINE *e, int cmd, long i, void *p,\n                           void
      (*f) (void))"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:133,1
    - Dst: int_ctrl_helper
      Src: /src/openssl/crypto/engine/eng_ctrl.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:170,1
    - Dst: ENGINE*::ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - e
    - cmd
    - i
    - p
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 174
    functionName: ENGINE_ctrl
    functionSourceFile: /src/openssl/crypto/engine/eng_ctrl.c
    functionUses: 0
    functionsReached:
    - int_ctrl_helper
    - ERR_raise
    - ENGINE*::ctrl
    linkageType: ''
    returnType: int
    signature: int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - e
    - cmd
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: ENGINE_cmd_is_executable
    functionSourceFile: /src/openssl/crypto/engine/eng_ctrl.c
    functionUses: 0
    functionsReached:
    - ENGINE_ctrl
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ENGINE_cmd_is_executable(ENGINE *e, int cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:197,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:201,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/engine/eng_ctrl.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:215,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - e
    - cmd_name
    - i
    - p
    - cmd_optional
    argTypes:
    - ENGINE*
    - char*
    - long
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 225
    functionName: ENGINE_ctrl_cmd
    functionSourceFile: /src/openssl/crypto/engine/eng_ctrl.c
    functionUses: 0
    functionsReached:
    - ENGINE_ctrl
    - ERR_clear_error
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,\n                    long
      i, void *p, void (*f) (void), int cmd_optional)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:235,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:239,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/engine/eng_ctrl.c:250,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:253,1
    - Dst: ENGINE_cmd_is_executable
      Src: /src/openssl/crypto/engine/eng_ctrl.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:257,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:275,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:290,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:296,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:307,1
    - Dst: strtol
      Src: /src/openssl/crypto/engine/eng_ctrl.c:310,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_ctrl.c:312,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/engine/eng_ctrl.c:319,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 4
    argNames:
    - e
    - cmd_name
    - arg
    - cmd_optional
    argTypes:
    - ENGINE*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 322
    functionName: ENGINE_ctrl_cmd_string
    functionSourceFile: /src/openssl/crypto/engine/eng_ctrl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ENGINE_ctrl
    - ERR_clear_error
    - strtol
    - ENGINE_cmd_is_executable
    linkageType: ''
    returnType: int
    signature: "int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const
      char *arg,\n                           int cmd_optional)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_rsa.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ENGINE_unregister_RSA
    functionSourceFile: /src/openssl/crypto/engine/tb_rsa.c
    functionUses: 0
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_RSA(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_rsa.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: engine_unregister_all_RSA
    functionSourceFile: /src/openssl/crypto/engine/tb_rsa.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_RSA(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_rsa.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ENGINE_register_RSA
    functionSourceFile: /src/openssl/crypto/engine/tb_rsa.c
    functionUses: 0
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_RSA(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_rsa.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_rsa.c:41,1
    - Dst: ENGINE_register_RSA
      Src: /src/openssl/crypto/engine/tb_rsa.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: ENGINE_register_all_RSA
    functionSourceFile: /src/openssl/crypto/engine/tb_rsa.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_RSA
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_RSA(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_rsa.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ENGINE_set_default_RSA
    functionSourceFile: /src/openssl/crypto/engine/tb_rsa.c
    functionUses: 0
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_RSA(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_rsa.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ENGINE_get_default_RSA
    functionSourceFile: /src/openssl/crypto/engine/tb_rsa.c
    functionUses: 0
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_default_RSA(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ENGINE_get_RSA
    functionSourceFile: /src/openssl/crypto/engine/tb_rsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD
    signature: RSA_METHOD *ENGINE_get_RSA(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - rsa_meth
    argTypes:
    - ENGINE*
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ENGINE_set_RSA
    functionSourceFile: /src/openssl/crypto/engine/tb_rsa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/crypto/engine/eng_cnf.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: skip_dot
    functionSourceFile: /src/openssl/crypto/engine/eng_cnf.c
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *skip_dot(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/engine/eng_cnf.c:32,1
    - Dst: sk_ENGINE_new_null
      Src: /src/openssl/crypto/engine/eng_cnf.c:35,1
    - Dst: sk_ENGINE_push
      Src: /src/openssl/crypto/engine/eng_cnf.c:36,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/engine/eng_cnf.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: int_engine_init
    functionSourceFile: /src/openssl/crypto/engine/eng_cnf.c
    functionUses: 0
    functionsReached:
    - ENGINE_init
    - sk_ENGINE_push
    - ENGINE_finish
    - sk_ENGINE_new_null
    linkageType: ''
    returnType: int
    signature: int int_engine_init(ENGINE *e)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/engine/eng_cnf.c:48,1
    - Dst: skip_dot
      Src: /src/openssl/crypto/engine/eng_cnf.c:54,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/engine/eng_cnf.c:55,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/engine/eng_cnf.c:57,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_cnf.c:60,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/engine/eng_cnf.c:64,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/engine/eng_cnf.c:65,1
    - Dst: skip_dot
      Src: /src/openssl/crypto/engine/eng_cnf.c:66,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/engine/eng_cnf.c:68,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_cnf.c:74,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_cnf.c:76,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_cnf.c:79,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/crypto/engine/eng_cnf.c:80,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_cnf.c:83,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_cnf.c:85,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_cnf.c:87,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/crypto/engine/eng_cnf.c:97,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/engine/eng_cnf.c:99,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_cnf.c:109,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_cnf.c:111,1
    - Dst: NCONF_get_number_e
      Src: /src/openssl/crypto/engine/eng_cnf.c:112,1
    - Dst: int_engine_init
      Src: /src/openssl/crypto/engine/eng_cnf.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_cnf.c:118,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_cnf.c:121,1
    - Dst: ENGINE_set_default_string
      Src: /src/openssl/crypto/engine/eng_cnf.c:122,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_cnf.c:124,1
    - Dst: int_engine_init
      Src: /src/openssl/crypto/engine/eng_cnf.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_cnf.c:137,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/engine/eng_cnf.c:139,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_cnf.c:143,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 85
    argCount: 3
    argNames:
    - name
    - value
    - cnf
    argTypes:
    - char*
    - char*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 145
    functionName: int_engine_configure
    functionSourceFile: /src/openssl/crypto/engine/eng_cnf.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - ERR_raise
    - ENGINE_set_default_string
    - ENGINE_free
    - ERR_clear_error
    - sk_CONF_VALUE_num
    - skip_dot
    - OSSL_TRACE2
    - ERR_raise_data
    - NCONF_get_section
    - STACK_OF
    - NCONF_get_number_e
    - ENGINE_ctrl_cmd_string
    - ENGINE_by_id
    - strcmp
    - int_engine_init
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int int_engine_configure(const char *name, const char *value, const
      CONF *cnf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/engine/eng_cnf.c:149,1
    - Dst: OSSL_TRACE2
      Src: /src/openssl/crypto/engine/eng_cnf.c:152,1
    - Dst: CONF_imodule_get_name
      Src: /src/openssl/crypto/engine/eng_cnf.c:153,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/engine/eng_cnf.c:153,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/engine/eng_cnf.c:155,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/engine/eng_cnf.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_cnf.c:158,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/engine/eng_cnf.c:162,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/engine/eng_cnf.c:163,1
    - Dst: int_engine_configure
      Src: /src/openssl/crypto/engine/eng_cnf.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 7
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: int_engine_module_init
    functionSourceFile: /src/openssl/crypto/engine/eng_cnf.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_CONF_VALUE_num
    - OSSL_TRACE2
    - NCONF_get_section
    - STACK_OF
    - CONF_imodule_get_value
    - CONF_imodule_get_name
    - int_engine_configure
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int int_engine_module_init(CONF_IMODULE *md, const CONF *cnf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_pop
      Src: /src/openssl/crypto/engine/eng_cnf.c:175,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/engine/eng_cnf.c:176,1
    - Dst: sk_ENGINE_free
      Src: /src/openssl/crypto/engine/eng_cnf.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: int_engine_module_finish
    functionSourceFile: /src/openssl/crypto/engine/eng_cnf.c
    functionUses: 0
    functionsReached:
    - sk_ENGINE_free
    - sk_ENGINE_pop
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: void int_engine_module_finish(CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/engine/eng_cnf.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: ENGINE_add_conf_module
    functionSourceFile: /src/openssl/crypto/engine/eng_cnf.c
    functionUses: 0
    functionsReached:
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: void ENGINE_add_conf_module(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - isfunct
    - ','
    - diff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: ENGINE_REF_PRINT
    functionSourceFile: /src/openssl/crypto/engine/eng_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_REF_PRINT(e, isfunct, diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_GET_REF
      Src: /src/openssl/crypto/engine/eng_local.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: eng_struct_ref
    functionSourceFile: /src/openssl/crypto/engine/eng_local.h
    functionUses: 0
    functionsReached:
    - CRYPTO_GET_REF
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused eng_struct_ref(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: int_free_str
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void int_free_str(char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSO_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:145,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: dynamic_data_ctx_free_func
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - DSO_free
    - sk_OPENSSL_STRING_pop_free
    linkageType: ''
    returnType: void
    signature: "void dynamic_data_ctx_free_func(void *parent, void *ptr,\n                                       CRYPTO_EX_DATA
      *ad, int idx, long argl,\n                                       void *argp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/engine/eng_dyn.c:159,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/crypto/engine/eng_dyn.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:166,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_dyn.c:172,1
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/crypto/engine/eng_dyn.c:174,1
    - Dst: ENGINE_set_ex_data
      Src: /src/openssl/crypto/engine/eng_dyn.c:178,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_dyn.c:184,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:192,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - e
    - ctx
    argTypes:
    - ENGINE*
    - dynamic_data_ctx**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: dynamic_set_data_ctx
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - ENGINE_set_ex_data
    - sk_OPENSSL_STRING_new_null
    - CRYPTO_THREAD_write_lock
    - ENGINE_get_ex_data
    - OPENSSL_free
    - sk_OPENSSL_STRING_free
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int dynamic_set_data_ctx(ENGINE *e, dynamic_data_ctx **ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ex_new_index
      Src: /src/openssl/crypto/engine/eng_dyn.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:213,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_dyn.c:216,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_dyn.c:224,1
    - Dst: ENGINE_get_ex_data
      Src: /src/openssl/crypto/engine/eng_dyn.c:230,1
    - Dst: dynamic_set_data_ctx
      Src: /src/openssl/crypto/engine/eng_dyn.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 236
    functionName: dynamic_get_data_ctx
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - ENGINE_get_ex_data
    - dynamic_set_data_ctx
    - CRYPTO_THREAD_unlock
    - ENGINE_get_ex_new_index
    linkageType: ''
    returnType: dynamic_data_ctx
    signature: dynamic_data_ctx *dynamic_get_data_ctx(ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_new
      Src: /src/openssl/crypto/engine/eng_dyn.c:240,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/crypto/engine/eng_dyn.c:243,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/crypto/engine/eng_dyn.c:244,1
    - Dst: ENGINE_set_init_function
      Src: /src/openssl/crypto/engine/eng_dyn.c:245,1
    - Dst: ENGINE_set_finish_function
      Src: /src/openssl/crypto/engine/eng_dyn.c:246,1
    - Dst: ENGINE_set_ctrl_function
      Src: /src/openssl/crypto/engine/eng_dyn.c:247,1
    - Dst: ENGINE_set_flags
      Src: /src/openssl/crypto/engine/eng_dyn.c:248,1
    - Dst: ENGINE_set_cmd_defns
      Src: /src/openssl/crypto/engine/eng_dyn.c:249,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: engine_dynamic
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_init_function
    - ENGINE_set_id
    - ENGINE_set_cmd_defns
    - ENGINE_set_finish_function
    - ENGINE_new
    - ENGINE_set_flags
    - ENGINE_free
    - ENGINE_set_ctrl_function
    - ENGINE_set_name
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *engine_dynamic(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_dynamic
      Src: /src/openssl/crypto/engine/eng_dyn.c:258,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/engine/eng_dyn.c:262,1
    - Dst: ENGINE_add
      Src: /src/openssl/crypto/engine/eng_dyn.c:263,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:268,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/engine/eng_dyn.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 275
    functionName: engine_load_dynamic_int
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 1
    functionsReached:
    - ENGINE_free
    - ERR_pop_to_mark
    - engine_dynamic
    - ENGINE_add
    - ERR_set_mark
    linkageType: ''
    returnType: void
    signature: void engine_load_dynamic_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: dynamic_init
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dynamic_init(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: dynamic_finish
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dynamic_finish(ENGINE *e)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_get_data_ctx
      Src: /src/openssl/crypto/engine/eng_dyn.c:297,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:307,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/eng_dyn.c:313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:315,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/engine/eng_dyn.c:317,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/eng_dyn.c:326,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:328,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/engine/eng_dyn.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:336,1
    - Dst: dynamic_load
      Src: /src/openssl/crypto/engine/eng_dyn.c:342,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:345,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/eng_dyn.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:353,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/engine/eng_dyn.c:357,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/crypto/engine/eng_dyn.c:360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:370,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 4
    argNames:
    - e
    - cmd
    - i
    - p
    argTypes:
    - ENGINE*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 372
    functionName: dynamic_ctrl
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - ERR_raise
    - strlen
    - OPENSSL_free
    - dynamic_load
    - OPENSSL_strdup
    - dynamic_get_data_ctx
    linkageType: ''
    returnType: int
    signature: int dynamic_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DSO_load
      Src: /src/openssl/crypto/engine/eng_dyn.c:378,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/crypto/engine/eng_dyn.c:383,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/crypto/engine/eng_dyn.c:386,1
    - Dst: DSO_merge
      Src: /src/openssl/crypto/engine/eng_dyn.c:387,1
    - Dst: DSO_load
      Src: /src/openssl/crypto/engine/eng_dyn.c:390,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dynamic_data_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: int_load
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached:
    - DSO_merge
    - OPENSSL_free
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    - DSO_load
    linkageType: ''
    returnType: int
    signature: int int_load(dynamic_data_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/engine/eng_dyn.c:413,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/engine/eng_dyn.c:414,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/engine/eng_dyn.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - dynamic_data_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: using_libcrypto_11
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - DSO_bind_func
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: int using_libcrypto_11(dynamic_data_ctx *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DSO_new
      Src: /src/openssl/crypto/engine/eng_dyn.c:426,1
    - Dst: DSO_ctrl
      Src: /src/openssl/crypto/engine/eng_dyn.c:432,1
    - Dst: DSO_convert_filename
      Src: /src/openssl/crypto/engine/eng_dyn.c:435,1
    - Dst: int_load
      Src: /src/openssl/crypto/engine/eng_dyn.c:437,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:438,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:439,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/engine/eng_dyn.c:446,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:449,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:451,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/engine/eng_dyn.c:462,1
    - Dst: dynamic_data_ctx*::v_check
      Src: /src/openssl/crypto/engine/eng_dyn.c:465,1
    - Dst: using_libcrypto_11
      Src: /src/openssl/crypto/engine/eng_dyn.c:471,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:475,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:477,1
    - Dst: memcpy
      Src: /src/openssl/crypto/engine/eng_dyn.c:485,1
    - Dst: ENGINE_get_static_state
      Src: /src/openssl/crypto/engine/eng_dyn.c:493,1
    - Dst: CRYPTO_get_mem_functions
      Src: /src/openssl/crypto/engine/eng_dyn.c:494,1
    - Dst: engine_set_all_null
      Src: /src/openssl/crypto/engine/eng_dyn.c:500,1
    - Dst: engine_add_dynamic_id
      Src: /src/openssl/crypto/engine/eng_dyn.c:503,1
    - Dst: dynamic_data_ctx*::bind_engine
      Src: /src/openssl/crypto/engine/eng_dyn.c:504,1
    - Dst: engine_remove_dynamic_id
      Src: /src/openssl/crypto/engine/eng_dyn.c:505,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/engine/eng_dyn.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:510,1
    - Dst: memcpy
      Src: /src/openssl/crypto/engine/eng_dyn.c:512,1
    - Dst: ENGINE_add
      Src: /src/openssl/crypto/engine/eng_dyn.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_dyn.c:526,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/engine/eng_dyn.c:530,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - e
    - ctx
    argTypes:
    - ENGINE*
    - dynamic_data_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 534
    functionName: dynamic_load
    functionSourceFile: /src/openssl/crypto/engine/eng_dyn.c
    functionUses: 1
    functionsReached:
    - DSO_ctrl
    - ERR_raise
    - CRYPTO_get_mem_functions
    - int_load
    - DSO_free
    - engine_remove_dynamic_id
    - memcpy
    - dynamic_data_ctx*::v_check
    - ERR_clear_error
    - ENGINE_get_static_state
    - ENGINE_add
    - dynamic_data_ctx*::bind_engine
    - DSO_new
    - DSO_bind_func
    - DSO_convert_filename
    - engine_add_dynamic_id
    - engine_set_all_null
    - using_libcrypto_11
    linkageType: ''
    returnType: int
    signature: int dynamic_load(ENGINE *e, dynamic_data_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: ENGINE_get_table_flags
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ENGINE_get_table_flags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: ENGINE_set_table_flags
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ENGINE_set_table_flags(unsigned int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - ENGINE_PILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: engine_pile_hash
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long engine_pile_hash(const ENGINE_PILE *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ENGINE_PILE*
    - ENGINE_PILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: engine_pile_cmp
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int engine_pile_cmp(const ENGINE_PILE *a, const ENGINE_PILE *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/openssl/crypto/engine/eng_table.c:67,1
    - Dst: lh_ENGINE_PILE_new
      Src: /src/openssl/crypto/engine/eng_table.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - t
    - create
    argTypes:
    - ENGINE_TABLE**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: int_table_check
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached:
    - LHASH_OF
    - lh_ENGINE_PILE_new
    linkageType: ''
    returnType: int
    signature: int int_table_check(ENGINE_TABLE **t, int create)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_table.c:90,1
    - Dst: int_table_check
      Src: /src/openssl/crypto/engine/eng_table.c:94,1
    - Dst: engine_cleanup_add_first
      Src: /src/openssl/crypto/engine/eng_table.c:97,1
    - Dst: lh_ENGINE_PILE_free
      Src: /src/openssl/crypto/engine/eng_table.c:98,1
    - Dst: lh_ENGINE_PILE_retrieve
      Src: /src/openssl/crypto/engine/eng_table.c:104,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/engine/eng_table.c:106,1
    - Dst: sk_ENGINE_new_null
      Src: /src/openssl/crypto/engine/eng_table.c:111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_table.c:113,1
    - Dst: lh_ENGINE_PILE_insert
      Src: /src/openssl/crypto/engine/eng_table.c:117,1
    - Dst: lh_ENGINE_PILE_retrieve
      Src: /src/openssl/crypto/engine/eng_table.c:118,1
    - Dst: sk_ENGINE_free
      Src: /src/openssl/crypto/engine/eng_table.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_table.c:120,1
    - Dst: sk_ENGINE_delete_ptr
      Src: /src/openssl/crypto/engine/eng_table.c:125,1
    - Dst: sk_ENGINE_push
      Src: /src/openssl/crypto/engine/eng_table.c:129,1
    - Dst: engine_unlocked_init
      Src: /src/openssl/crypto/engine/eng_table.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_table.c:135,1
    - Dst: engine_unlocked_finish
      Src: /src/openssl/crypto/engine/eng_table.c:139,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_table.c:147,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 6
    argNames:
    - table
    - cleanup
    - e
    - nids
    - num_nids
    - setdefault
    argTypes:
    - ENGINE_TABLE**
    - ENGINE_CLEANUP_CB*
    - ENGINE*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 149
    functionName: engine_table_register
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 8
    functionsReached:
    - lh_ENGINE_PILE_free
    - ERR_raise
    - sk_ENGINE_push
    - int_table_check
    - CRYPTO_THREAD_write_lock
    - sk_ENGINE_delete_ptr
    - engine_unlocked_init
    - sk_ENGINE_new_null
    - OPENSSL_free
    - lh_ENGINE_PILE_retrieve
    - engine_unlocked_finish
    - CRYPTO_THREAD_unlock
    - sk_ENGINE_free
    - lh_ENGINE_PILE_insert
    - engine_cleanup_add_first
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int engine_table_register(ENGINE_TABLE **table, ENGINE_CLEANUP_CB
      *cleanup,\n                          ENGINE *e, const int *nids, int num_nids,\n
      \                         int setdefault)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_find
      Src: /src/openssl/crypto/engine/eng_table.c:155,1
    - Dst: sk_ENGINE_delete
      Src: /src/openssl/crypto/engine/eng_table.c:156,1
    - Dst: engine_unlocked_finish
      Src: /src/openssl/crypto/engine/eng_table.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pile
    - e
    argTypes:
    - ENGINE_PILE*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: int_unregister_cb
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached:
    - engine_unlocked_finish
    - sk_ENGINE_find
    - sk_ENGINE_delete
    linkageType: ''
    returnType: void
    signature: void int_unregister_cb(ENGINE_PILE *pile, ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_table.c:169,1
    - Dst: int_table_check
      Src: /src/openssl/crypto/engine/eng_table.c:172,1
    - Dst: lh_ENGINE_PILE_doall_ENGINE
      Src: /src/openssl/crypto/engine/eng_table.c:173,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_table.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - table
    - e
    argTypes:
    - ENGINE_TABLE**
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: engine_table_unregister
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 4
    functionsReached:
    - int_table_check
    - CRYPTO_THREAD_write_lock
    - lh_ENGINE_PILE_doall_ENGINE
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void engine_table_unregister(ENGINE_TABLE **table, ENGINE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_free
      Src: /src/openssl/crypto/engine/eng_table.c:181,1
    - Dst: engine_unlocked_finish
      Src: /src/openssl/crypto/engine/eng_table.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/engine/eng_table.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - ENGINE_PILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: int_cleanup_cb_doall
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached:
    - sk_ENGINE_free
    - engine_unlocked_finish
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void int_cleanup_cb_doall(ENGINE_PILE *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_table.c:189,1
    - Dst: lh_ENGINE_PILE_doall
      Src: /src/openssl/crypto/engine/eng_table.c:192,1
    - Dst: lh_ENGINE_PILE_free
      Src: /src/openssl/crypto/engine/eng_table.c:193,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_table.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - table
    argTypes:
    - ENGINE_TABLE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: engine_table_cleanup
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 4
    functionsReached:
    - lh_ENGINE_PILE_doall
    - CRYPTO_THREAD_write_lock
    - lh_ENGINE_PILE_free
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void engine_table_cleanup(ENGINE_TABLE **table)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/engine/eng_table.c:209,1
    - Dst: OSSL_TRACE3
      Src: /src/openssl/crypto/engine/eng_table.c:213,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_table.c:219,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/engine/eng_table.c:222,1
    - Dst: int_table_check
      Src: /src/openssl/crypto/engine/eng_table.c:227,1
    - Dst: lh_ENGINE_PILE_retrieve
      Src: /src/openssl/crypto/engine/eng_table.c:230,1
    - Dst: engine_unlocked_init
      Src: /src/openssl/crypto/engine/eng_table.c:233,1
    - Dst: OSSL_TRACE4
      Src: /src/openssl/crypto/engine/eng_table.c:234,1
    - Dst: sk_ENGINE_value
      Src: /src/openssl/crypto/engine/eng_table.c:245,1
    - Dst: OSSL_TRACE3
      Src: /src/openssl/crypto/engine/eng_table.c:247,1
    - Dst: engine_unlocked_init
      Src: /src/openssl/crypto/engine/eng_table.c:255,1
    - Dst: engine_unlocked_init
      Src: /src/openssl/crypto/engine/eng_table.c:260,1
    - Dst: engine_unlocked_finish
      Src: /src/openssl/crypto/engine/eng_table.c:263,1
    - Dst: OSSL_TRACE4
      Src: /src/openssl/crypto/engine/eng_table.c:265,1
    - Dst: OSSL_TRACE4
      Src: /src/openssl/crypto/engine/eng_table.c:269,1
    - Dst: OSSL_TRACE4
      Src: /src/openssl/crypto/engine/eng_table.c:283,1
    - Dst: OSSL_TRACE3
      Src: /src/openssl/crypto/engine/eng_table.c:287,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_table.c:290,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/engine/eng_table.c:295,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 4
    argNames:
    - table
    - nid
    - f
    - l
    argTypes:
    - ENGINE_TABLE**
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 297
    functionName: ossl_engine_table_select
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 4
    functionsReached:
    - OSSL_TRACE3
    - sk_ENGINE_value
    - ERR_pop_to_mark
    - int_table_check
    - CRYPTO_THREAD_write_lock
    - ERR_set_mark
    - OSSL_TRACE4
    - engine_unlocked_finish
    - lh_ENGINE_PILE_retrieve
    - CRYPTO_THREAD_unlock
    - OPENSSL_init_crypto
    - engine_unlocked_init
    linkageType: ''
    returnType: ENGINE
    signature: "ENGINE *ossl_engine_table_select(ENGINE_TABLE **table, int nid,\n
      \                                const char *f, int l)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_PILE_DOALL*::cb
      Src: /src/openssl/crypto/engine/eng_table.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pile
    - dall
    argTypes:
    - ENGINE_PILE*
    - ENGINE_PILE_DOALL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: int_dall
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached:
    - ENGINE_PILE_DOALL*::cb
    linkageType: ''
    returnType: void
    signature: void int_dall(const ENGINE_PILE *pile, ENGINE_PILE_DOALL *dall)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_ENGINE_PILE_doall_ENGINE_PILE_DOALL
      Src: /src/openssl/crypto/engine/eng_table.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - table
    - cb
    - arg
    argTypes:
    - ENGINE_TABLE*
    - engine_table_doall_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: engine_table_doall
    functionSourceFile: /src/openssl/crypto/engine/eng_table.c
    functionUses: 0
    functionsReached:
    - lh_ENGINE_PILE_doall_ENGINE_PILE_DOALL
    linkageType: ''
    returnType: void
    signature: "void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb
      *cb,\n                        void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_remove
      Src: /src/openssl/crypto/engine/eng_list.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: engine_list_cleanup
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 0
    functionsReached:
    - ENGINE_remove
    linkageType: ''
    returnType: void
    signature: void engine_list_cleanup(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:64,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_list.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:73,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/eng_list.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:81,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_list.c:84,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/engine/eng_list.c:88,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:89,1
    - Dst: engine_cleanup_add_last
      Src: /src/openssl/crypto/engine/eng_list.c:95,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/engine/eng_list.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:97,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/engine/eng_list.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 117
    functionName: engine_list_add
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ENGINE_REF_PRINT
    - CRYPTO_DOWN_REF
    - engine_cleanup_add_last
    - CRYPTO_UP_REF
    - strcmp
    linkageType: ''
    returnType: int
    signature: int engine_list_add(ENGINE *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:132,1
    - Dst: engine_free_util
      Src: /src/openssl/crypto/engine/eng_list.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 147
    functionName: engine_list_remove
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 0
    functionsReached:
    - engine_free_util
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int engine_list_remove(ENGINE *e)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:162,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:198,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 3
    argNames:
    - e
    - dynamic_id
    - not_locked
    argTypes:
    - ENGINE*
    - ENGINE_DYNAMIC_ID
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 200
    functionName: engine_add_dynamic_id
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int engine_add_dynamic_id(ENGINE *e, ENGINE_DYNAMIC_ID dynamic_id,\n
      \                         int not_locked)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:208,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - e
    - not_locked
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 226
    functionName: engine_remove_dynamic_id
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void engine_remove_dynamic_id(ENGINE *e, int not_locked)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/engine/eng_list.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:235,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:239,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/eng_list.c:245,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:246,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:247,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_list.c:250,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 254
    functionName: ENGINE_get_first
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 5
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - ENGINE_REF_PRINT
    - CRYPTO_THREAD_write_lock
    - CRYPTO_UP_REF
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_first(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/engine/eng_list.c:260,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:262,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:266,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/eng_list.c:272,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:274,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_list.c:277,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 281
    functionName: ENGINE_get_last
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - ENGINE_REF_PRINT
    - CRYPTO_THREAD_write_lock
    - CRYPTO_UP_REF
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_last(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:288,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:291,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/eng_list.c:298,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:299,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:300,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_list.c:303,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:305,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_list.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 309
    functionName: ENGINE_get_next
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 5
    functionsReached:
    - ERR_raise
    - ENGINE_free
    - ENGINE_REF_PRINT
    - CRYPTO_THREAD_write_lock
    - CRYPTO_UP_REF
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_next(ENGINE *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:315,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:318,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/eng_list.c:325,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:327,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_list.c:330,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:332,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_list.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 336
    functionName: ENGINE_get_prev
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ENGINE_free
    - ENGINE_REF_PRINT
    - CRYPTO_THREAD_write_lock
    - CRYPTO_UP_REF
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_prev(ENGINE *e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:343,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:347,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:350,1
    - Dst: engine_list_add
      Src: /src/openssl/crypto/engine/eng_list.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:353,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 358
    functionName: ENGINE_add
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 10
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - ERR_raise
    - engine_list_add
    linkageType: ''
    returnType: int
    signature: int ENGINE_add(ENGINE *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:365,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:368,1
    - Dst: engine_list_remove
      Src: /src/openssl/crypto/engine/eng_list.c:370,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:371,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 376
    functionName: ENGINE_remove
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 1
    functionsReached:
    - engine_list_remove
    - CRYPTO_THREAD_write_lock
    - ERR_raise
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ENGINE_remove(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_add_dynamic_id
      Src: /src/openssl/crypto/engine/eng_list.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - ENGINE*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 406
    functionName: engine_cpy
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 0
    functionsReached:
    - engine_add_dynamic_id
    linkageType: ''
    returnType: void
    signature: void engine_cpy(ENGINE *dest, const ENGINE *src)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:413,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/openssl/crypto/engine/eng_list.c:416,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/engine/eng_list.c:418,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:420,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_list.c:424,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_list.c:427,1
    - Dst: ENGINE_new
      Src: /src/openssl/crypto/engine/eng_list.c:436,1
    - Dst: engine_cpy
      Src: /src/openssl/crypto/engine/eng_list.c:440,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/eng_list.c:446,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:447,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:448,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_list.c:451,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_list.c:454,1
    - Dst: strcmp
      Src: /src/openssl/crypto/engine/eng_list.c:460,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/engine/eng_list.c:461,1
    - Dst: ossl_get_enginesdir
      Src: /src/openssl/crypto/engine/eng_list.c:462,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/crypto/engine/eng_list.c:463,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_list.c:464,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_list.c:465,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_list.c:466,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_list.c:468,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/crypto/engine/eng_list.c:469,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/engine/eng_list.c:474,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/engine/eng_list.c:475,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 408
    functionDepth: 6
    functionLinenumber: 408
    functionLinenumberEnd: 478
    functionName: ENGINE_by_id
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 2
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - ENGINE_free
    - ENGINE_new
    - engine_cpy
    - ENGINE_REF_PRINT
    - CRYPTO_THREAD_write_lock
    - ERR_raise_data
    - CRYPTO_UP_REF
    - CRYPTO_THREAD_unlock
    - ossl_safe_getenv
    - ENGINE_load_builtin_engines
    - ENGINE_by_id
    - strcmp
    - ossl_get_enginesdir
    - ENGINE_ctrl_cmd_string
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_by_id(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_list.c:484,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/eng_list.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: ENGINE_up_ref
    functionSourceFile: /src/openssl/crypto/engine/eng_list.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ENGINE_up_ref(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/engine/eng_err.c:87,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/engine/eng_err.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: ossl_err_load_ENGINE_strings
    functionSourceFile: /src/openssl/crypto/engine/eng_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_ENGINE_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_dh.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ENGINE_unregister_DH
    functionSourceFile: /src/openssl/crypto/engine/tb_dh.c
    functionUses: 0
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_DH(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_dh.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: engine_unregister_all_DH
    functionSourceFile: /src/openssl/crypto/engine/tb_dh.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_DH(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_dh.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ENGINE_register_DH
    functionSourceFile: /src/openssl/crypto/engine/tb_dh.c
    functionUses: 0
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_DH(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_dh.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_dh.c:41,1
    - Dst: ENGINE_register_DH
      Src: /src/openssl/crypto/engine/tb_dh.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: ENGINE_register_all_DH
    functionSourceFile: /src/openssl/crypto/engine/tb_dh.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_DH
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_DH(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_dh.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ENGINE_set_default_DH
    functionSourceFile: /src/openssl/crypto/engine/tb_dh.c
    functionUses: 0
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_DH(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_dh.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ENGINE_get_default_DH
    functionSourceFile: /src/openssl/crypto/engine/tb_dh.c
    functionUses: 1
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_default_DH(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ENGINE_get_DH
    functionSourceFile: /src/openssl/crypto/engine/tb_dh.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DH_METHOD
    signature: DH_METHOD *ENGINE_get_DH(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - dh_meth
    argTypes:
    - ENGINE*
    - DH_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ENGINE_set_DH
    functionSourceFile: /src/openssl/crypto/engine/tb_dh.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_set_default_ciphers
      Src: /src/openssl/crypto/engine/eng_fat.c:19,1
    - Dst: ENGINE_set_default_digests
      Src: /src/openssl/crypto/engine/eng_fat.c:21,1
    - Dst: ENGINE_set_default_RSA
      Src: /src/openssl/crypto/engine/eng_fat.c:23,1
    - Dst: ENGINE_set_default_DSA
      Src: /src/openssl/crypto/engine/eng_fat.c:26,1
    - Dst: ENGINE_set_default_DH
      Src: /src/openssl/crypto/engine/eng_fat.c:30,1
    - Dst: ENGINE_set_default_EC
      Src: /src/openssl/crypto/engine/eng_fat.c:34,1
    - Dst: ENGINE_set_default_RAND
      Src: /src/openssl/crypto/engine/eng_fat.c:37,1
    - Dst: ENGINE_set_default_pkey_meths
      Src: /src/openssl/crypto/engine/eng_fat.c:40,1
    - Dst: ENGINE_set_default_pkey_asn1_meths
      Src: /src/openssl/crypto/engine/eng_fat.c:43,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 20
    argCount: 2
    argNames:
    - e
    - flags
    argTypes:
    - ENGINE*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 46
    functionName: ENGINE_set_default
    functionSourceFile: /src/openssl/crypto/engine/eng_fat.c
    functionUses: 0
    functionsReached:
    - ENGINE_set_default_DH
    - ENGINE_set_default_EC
    - ENGINE_set_default_RAND
    - ENGINE_set_default_ciphers
    - ENGINE_set_default_digests
    - ENGINE_set_default_RSA
    - ENGINE_set_default_DSA
    - ENGINE_set_default_pkey_meths
    - ENGINE_set_default_pkey_asn1_meths
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default(ENGINE *e, unsigned int flags)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:55,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:57,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:59,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:61,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:63,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:65,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:67,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:69,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:71,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:73,1
    - Dst: strncmp
      Src: /src/openssl/crypto/engine/eng_fat.c:75,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - alg
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 80
    functionName: int_def_cb
    functionSourceFile: /src/openssl/crypto/engine/eng_fat.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int int_def_cb(const char *alg, int len, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/openssl/crypto/engine/eng_fat.c:85,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/engine/eng_fat.c:86,1
    - Dst: ENGINE_set_default
      Src: /src/openssl/crypto/engine/eng_fat.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - e
    - def_list
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: ENGINE_set_default_string
    functionSourceFile: /src/openssl/crypto/engine/eng_fat.c
    functionUses: 1
    functionsReached:
    - ENGINE_set_default
    - CONF_parse_list
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_string(ENGINE *e, const char *def_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_register_ciphers
      Src: /src/openssl/crypto/engine/eng_fat.c:95,1
    - Dst: ENGINE_register_digests
      Src: /src/openssl/crypto/engine/eng_fat.c:96,1
    - Dst: ENGINE_register_RSA
      Src: /src/openssl/crypto/engine/eng_fat.c:97,1
    - Dst: ENGINE_register_DSA
      Src: /src/openssl/crypto/engine/eng_fat.c:99,1
    - Dst: ENGINE_register_DH
      Src: /src/openssl/crypto/engine/eng_fat.c:102,1
    - Dst: ENGINE_register_EC
      Src: /src/openssl/crypto/engine/eng_fat.c:105,1
    - Dst: ENGINE_register_RAND
      Src: /src/openssl/crypto/engine/eng_fat.c:107,1
    - Dst: ENGINE_register_pkey_meths
      Src: /src/openssl/crypto/engine/eng_fat.c:108,1
    - Dst: ENGINE_register_pkey_asn1_meths
      Src: /src/openssl/crypto/engine/eng_fat.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: ENGINE_register_complete
    functionSourceFile: /src/openssl/crypto/engine/eng_fat.c
    functionUses: 0
    functionsReached:
    - ENGINE_register_EC
    - ENGINE_register_RAND
    - ENGINE_register_pkey_meths
    - ENGINE_register_DSA
    - ENGINE_register_DH
    - ENGINE_register_digests
    - ENGINE_register_ciphers
    - ENGINE_register_RSA
    - ENGINE_register_pkey_asn1_meths
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_complete(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/eng_fat.c:117,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/eng_fat.c:117,1
    - Dst: ENGINE_register_complete
      Src: /src/openssl/crypto/engine/eng_fat.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: ENGINE_register_all_complete
    functionSourceFile: /src/openssl/crypto/engine/eng_fat.c
    functionUses: 1
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_complete
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_all_complete(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_rand.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ENGINE_unregister_RAND
    functionSourceFile: /src/openssl/crypto/engine/tb_rand.c
    functionUses: 0
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_RAND(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_rand.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: engine_unregister_all_RAND
    functionSourceFile: /src/openssl/crypto/engine/tb_rand.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_RAND(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_rand.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ENGINE_register_RAND
    functionSourceFile: /src/openssl/crypto/engine/tb_rand.c
    functionUses: 1
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_RAND(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_rand.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_rand.c:41,1
    - Dst: ENGINE_register_RAND
      Src: /src/openssl/crypto/engine/tb_rand.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: ENGINE_register_all_RAND
    functionSourceFile: /src/openssl/crypto/engine/tb_rand.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_RAND
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_RAND(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_rand.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ENGINE_set_default_RAND
    functionSourceFile: /src/openssl/crypto/engine/tb_rand.c
    functionUses: 1
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_RAND(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_rand.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ENGINE_get_default_RAND
    functionSourceFile: /src/openssl/crypto/engine/tb_rand.c
    functionUses: 1
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_default_RAND(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ENGINE_get_RAND
    functionSourceFile: /src/openssl/crypto/engine/tb_rand.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RAND_METHOD
    signature: RAND_METHOD *ENGINE_get_RAND(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - rand_meth
    argTypes:
    - ENGINE*
    - RAND_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ENGINE_set_RAND
    functionSourceFile: /src/openssl/crypto/engine/tb_rand.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - loadpriv_f
    argTypes:
    - ENGINE*
    - ENGINE_LOAD_KEY_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: ENGINE_set_load_privkey_function
    functionSourceFile: /src/openssl/crypto/engine/eng_pkey.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ENGINE_set_load_privkey_function(ENGINE *e,\n                                     ENGINE_LOAD_KEY_PTR
      loadpriv_f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - loadpub_f
    argTypes:
    - ENGINE*
    - ENGINE_LOAD_KEY_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: ENGINE_set_load_pubkey_function
    functionSourceFile: /src/openssl/crypto/engine/eng_pkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR
      loadpub_f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - loadssl_f
    argTypes:
    - ENGINE*
    - ENGINE_SSL_CLIENT_CERT_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: ENGINE_set_load_ssl_client_cert_function
    functionSourceFile: /src/openssl/crypto/engine/eng_pkey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ENGINE_set_load_ssl_client_cert_function(ENGINE *e,\n                                             ENGINE_SSL_CLIENT_CERT_PTR\n
      \                                            loadssl_f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ENGINE_get_load_privkey_function
    functionSourceFile: /src/openssl/crypto/engine/eng_pkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_LOAD_KEY_PTR
    signature: ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ENGINE_get_load_pubkey_function
    functionSourceFile: /src/openssl/crypto/engine/eng_pkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_LOAD_KEY_PTR
    signature: ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ENGINE_get_ssl_client_cert_function
    functionSourceFile: /src/openssl/crypto/engine/eng_pkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_SSL_CLIENT_CERT_PTR
    signature: "ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const
      ENGINE\n                                                               *e)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_pkey.c:62,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_pkey.c:65,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_pkey.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_pkey.c:69,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_pkey.c:72,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_pkey.c:74,1
    - Dst: ENGINE*::load_privkey
      Src: /src/openssl/crypto/engine/eng_pkey.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_pkey.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - e
    - key_id
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 83
    functionName: ENGINE_load_private_key
    functionSourceFile: /src/openssl/crypto/engine/eng_pkey.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - ERR_raise
    - ENGINE*::load_privkey
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id,\n
      \                                 UI_METHOD *ui_method, void *callback_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_pkey.c:91,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_pkey.c:94,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_pkey.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_pkey.c:98,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_pkey.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_pkey.c:103,1
    - Dst: ENGINE*::load_pubkey
      Src: /src/openssl/crypto/engine/eng_pkey.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_pkey.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - e
    - key_id
    - ui_method
    - callback_data
    argTypes:
    - ENGINE*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: ENGINE_load_public_key
    functionSourceFile: /src/openssl/crypto/engine/eng_pkey.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - ENGINE*::load_pubkey
    - ERR_raise
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id,\n
      \                                UI_METHOD *ui_method, void *callback_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_cipher.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ENGINE_unregister_ciphers
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 1
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_ciphers(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_cipher.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: engine_unregister_all_ciphers
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_ciphers(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::ciphers
      Src: /src/openssl/crypto/engine/tb_cipher.c:31,1
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_cipher.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: ENGINE_register_ciphers
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 2
    functionsReached:
    - ENGINE*::ciphers
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_ciphers(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_cipher.c:44,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_cipher.c:44,1
    - Dst: ENGINE_register_ciphers
      Src: /src/openssl/crypto/engine/tb_cipher.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: ENGINE_register_all_ciphers
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_ciphers
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_ciphers(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::ciphers
      Src: /src/openssl/crypto/engine/tb_cipher.c:52,1
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_cipher.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: ENGINE_set_default_ciphers
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 1
    functionsReached:
    - ENGINE*::ciphers
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_ciphers(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_cipher.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ENGINE_get_cipher_engine
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 1
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_cipher_engine(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_ciphers
      Src: /src/openssl/crypto/engine/tb_cipher.c:76,1
    - Dst: fn
      Src: /src/openssl/crypto/engine/tb_cipher.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/tb_cipher.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - e
    - nid
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: ENGINE_get_cipher
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 1
    functionsReached:
    - fn
    - ENGINE_get_ciphers
    - ERR_raise
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: ENGINE_get_ciphers
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_CIPHERS_PTR
    signature: ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - f
    argTypes:
    - ENGINE*
    - ENGINE_CIPHERS_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: ENGINE_set_ciphers
    functionSourceFile: /src/openssl/crypto/engine/tb_cipher.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_eckey.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ENGINE_unregister_EC
    functionSourceFile: /src/openssl/crypto/engine/tb_eckey.c
    functionUses: 0
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_EC(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_eckey.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: engine_unregister_all_EC
    functionSourceFile: /src/openssl/crypto/engine/tb_eckey.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_EC(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_eckey.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ENGINE_register_EC
    functionSourceFile: /src/openssl/crypto/engine/tb_eckey.c
    functionUses: 1
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_EC(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_eckey.c:41,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_eckey.c:41,1
    - Dst: ENGINE_register_EC
      Src: /src/openssl/crypto/engine/tb_eckey.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: ENGINE_register_all_EC
    functionSourceFile: /src/openssl/crypto/engine/tb_eckey.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_EC
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_EC(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_eckey.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ENGINE_set_default_EC
    functionSourceFile: /src/openssl/crypto/engine/tb_eckey.c
    functionUses: 1
    functionsReached:
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_EC(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_eckey.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: ENGINE_get_default_EC
    functionSourceFile: /src/openssl/crypto/engine/tb_eckey.c
    functionUses: 1
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_default_EC(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ENGINE_get_EC
    functionSourceFile: /src/openssl/crypto/engine/tb_eckey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EC_KEY_METHOD
    signature: EC_KEY_METHOD *ENGINE_get_EC(const ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - ec_meth
    argTypes:
    - ENGINE*
    - EC_KEY_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: ENGINE_set_EC
    functionSourceFile: /src/openssl/crypto/engine/tb_eckey.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_EC(ENGINE *e, const EC_KEY_METHOD *ec_meth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::init
      Src: /src/openssl/crypto/engine/eng_init.c:29,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/eng_init.c:37,1
    - Dst: ENGINE*::finish
      Src: /src/openssl/crypto/engine/eng_init.c:38,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_init.c:42,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_init.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 46
    functionName: engine_unlocked_init
    functionSourceFile: /src/openssl/crypto/engine/eng_init.c
    functionUses: 2
    functionsReached:
    - ENGINE_REF_PRINT
    - CRYPTO_UP_REF
    - ENGINE*::finish
    - ENGINE*::init
    linkageType: ''
    returnType: int
    signature: int engine_unlocked_init(ENGINE *e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/eng_init.c:65,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_init.c:68,1
    - Dst: ENGINE*::finish
      Src: /src/openssl/crypto/engine/eng_init.c:69,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_init.c:71,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/engine/eng_init.c:76,1
    - Dst: engine_free_util
      Src: /src/openssl/crypto/engine/eng_init.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_init.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - e
    - unlock_for_handlers
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: engine_unlocked_finish
    functionSourceFile: /src/openssl/crypto/engine/eng_init.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    - ENGINE_REF_PRINT
    - CRYPTO_THREAD_write_lock
    - ENGINE*::finish
    - engine_free_util
    - REF_ASSERT_ISNT
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int engine_unlocked_finish(ENGINE *e, int unlock_for_handlers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_init.c:90,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/engine/eng_init.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_init.c:95,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_init.c:98,1
    - Dst: engine_unlocked_init
      Src: /src/openssl/crypto/engine/eng_init.c:100,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_init.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: ENGINE_init
    functionSourceFile: /src/openssl/crypto/engine/eng_init.c
    functionUses: 16
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - engine_unlocked_init
    linkageType: ''
    returnType: int
    signature: int ENGINE_init(ENGINE *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/engine/eng_init.c:112,1
    - Dst: engine_unlocked_finish
      Src: /src/openssl/crypto/engine/eng_init.c:114,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/eng_init.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/eng_init.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: ENGINE_finish
    functionSourceFile: /src/openssl/crypto/engine/eng_init.c
    functionUses: 27
    functionsReached:
    - engine_unlocked_finish
    - CRYPTO_THREAD_write_lock
    - ERR_raise
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ENGINE_finish(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_unregister
      Src: /src/openssl/crypto/engine/tb_asnmth.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: ENGINE_unregister_pkey_asn1_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 0
    functionsReached:
    - engine_table_unregister
    linkageType: ''
    returnType: void
    signature: void ENGINE_unregister_pkey_asn1_meths(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: engine_table_cleanup
      Src: /src/openssl/crypto/engine/tb_asnmth.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: engine_unregister_all_pkey_asn1_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 0
    functionsReached:
    - engine_table_cleanup
    linkageType: ''
    returnType: void
    signature: void engine_unregister_all_pkey_asn1_meths(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:42,1
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_asnmth.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: ENGINE_register_pkey_asn1_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 1
    functionsReached:
    - ENGINE*::pkey_asn1_meths
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_register_pkey_asn1_meths(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/crypto/engine/tb_asnmth.c:55,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/crypto/engine/tb_asnmth.c:55,1
    - Dst: ENGINE_register_pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: ENGINE_register_all_pkey_asn1_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_first
    - ENGINE_get_next
    - ENGINE_register_pkey_asn1_meths
    linkageType: ''
    returnType: void
    signature: void ENGINE_register_all_pkey_asn1_meths(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:63,1
    - Dst: engine_table_register
      Src: /src/openssl/crypto/engine/tb_asnmth.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: ENGINE_set_default_pkey_asn1_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 1
    functionsReached:
    - ENGINE*::pkey_asn1_meths
    - engine_table_register
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_default_pkey_asn1_meths(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_engine_table_select
      Src: /src/openssl/crypto/engine/tb_asnmth.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ENGINE_get_pkey_asn1_meth_engine
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 1
    functionsReached:
    - ossl_engine_table_select
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:90,1
    - Dst: fn
      Src: /src/openssl/crypto/engine/tb_asnmth.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/tb_asnmth.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - e
    - nid
    argTypes:
    - ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: ENGINE_get_pkey_asn1_meth
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 1
    functionsReached:
    - ENGINE_get_pkey_asn1_meths
    - fn
    - ERR_raise
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: ENGINE_get_pkey_asn1_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ENGINE_PKEY_ASN1_METHS_PTR
    signature: ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - f
    argTypes:
    - ENGINE*
    - ENGINE_PKEY_ASN1_METHS_PTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: ENGINE_set_pkey_asn1_meths
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR
      f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE*::pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:123,1
    - Dst: ENGINE*::pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:125,1
    - Dst: EVP_PKEY_asn1_free
      Src: /src/openssl/crypto/engine/tb_asnmth.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: engine_pkey_asn1_meths_free
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 1
    functionsReached:
    - ENGINE*::pkey_asn1_meths
    - EVP_PKEY_asn1_free
    linkageType: ''
    returnType: void
    signature: void engine_pkey_asn1_meths_free(ENGINE *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/engine/tb_asnmth.c:149,1
    - Dst: ENGINE*::pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:150,1
    - Dst: ENGINE*::pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:152,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/tb_asnmth.c:154,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/engine/tb_asnmth.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - e
    - str
    - len
    argTypes:
    - ENGINE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: ENGINE_get_pkey_asn1_meth_str
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 0
    functionsReached:
    - ENGINE*::pkey_asn1_meths
    - strlen
    - OPENSSL_strncasecmp
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: "EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e,\n                                                          const
      char *str,\n                                                          int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_ENGINE_num
      Src: /src/openssl/crypto/engine/tb_asnmth.c:174,1
    - Dst: sk_ENGINE_value
      Src: /src/openssl/crypto/engine/tb_asnmth.c:175,1
    - Dst: ENGINE*::pkey_asn1_meths
      Src: /src/openssl/crypto/engine/tb_asnmth.c:177,1
    - Dst: strlen
      Src: /src/openssl/crypto/engine/tb_asnmth.c:179,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/crypto/engine/tb_asnmth.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - nid
    - sk
    - def
    - arg
    argTypes:
    - int
    - STACK_OF*
    - ENGINE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 186
    functionName: look_str_cb
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 0
    functionsReached:
    - sk_ENGINE_value
    - ENGINE*::pkey_asn1_meths
    - OPENSSL_strncasecmp
    - sk_ENGINE_num
    - strlen
    linkageType: ''
    returnType: void
    signature: void look_str_cb(int nid, STACK_OF(ENGINE) *sk, ENGINE *def, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/engine/tb_asnmth.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/tb_asnmth.c:200,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/engine/tb_asnmth.c:204,1
    - Dst: engine_table_doall
      Src: /src/openssl/crypto/engine/tb_asnmth.c:206,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/engine/tb_asnmth.c:211,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/tb_asnmth.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/engine/tb_asnmth.c:213,1
    - Dst: ENGINE_REF_PRINT
      Src: /src/openssl/crypto/engine/tb_asnmth.c:216,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/engine/tb_asnmth.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - pe
    - str
    - len
    argTypes:
    - ENGINE**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 221
    functionName: ENGINE_pkey_asn1_find_str
    functionSourceFile: /src/openssl/crypto/engine/tb_asnmth.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - engine_table_doall
    - CRYPTO_THREAD_read_lock
    - ENGINE_REF_PRINT
    - CRYPTO_UP_REF
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: EVP_PKEY_ASN1_METHOD
    signature: "EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe,\n                                                      const
      char *str,\n                                                      int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_lock_free
      Src: /src/openssl/crypto/conf/conf_mod.c:90,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:93,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: module_lists_free
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_lock_free
    - sk_CONF_MODULE_free
    - sk_CONF_IMODULE_free
    linkageType: ''
    returnType: void
    signature: void module_lists_free(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rcu_lock_new
      Src: /src/openssl/crypto/conf/conf_mod.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_mod.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_lock_new
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_init_module_list_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:116,1
    - Dst: NCONF_get_number_e
      Src: /src/openssl/crypto/conf/conf_mod.c:117,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:118,1
    - Dst: OSSL_LIB_CTX_set_conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:120,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cnf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: conf_diagnostics
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - OSSL_LIB_CTX_get_conf_diagnostics
    - ERR_pop_to_mark
    - ERR_set_mark
    - NCONF_get_number_e
    - OSSL_LIB_CTX_set_conf_diagnostics
    linkageType: ''
    returnType: int
    signature: int conf_diagnostics(const CONF *cnf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:131,1
    - Dst: conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:139,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:145,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/conf/conf_mod.c:147,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/conf/conf_mod.c:150,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:153,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/crypto/conf/conf_mod.c:157,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/conf/conf_mod.c:158,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:162,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_mod.c:163,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:167,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:171,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:173,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/conf/conf_mod.c:174,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:175,1
    - Dst: module_run
      Src: /src/openssl/crypto/conf/conf_mod.c:176,1
    - Dst: OSSL_TRACE3
      Src: /src/openssl/crypto/conf/conf_mod.c:177,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:181,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:184,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - cnf
    - appname
    - flags
    argTypes:
    - CONF*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 189
    functionName: CONF_modules_load
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE1
    - OSSL_TRACE3
    - ERR_pop_to_mark
    - sk_CONF_VALUE_num
    - ERR_set_mark
    - module_run
    - ERR_raise_data
    - conf_diagnostics
    - STACK_OF
    - NCONF_get_section
    - NCONF_get_string
    - ERR_clear_last_mark
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int CONF_modules_load(const CONF *cnf, const char *appname,\n                      unsigned
      long flags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:196,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:198,1
    - Dst: CONF_get1_default_config_file
      Src: /src/openssl/crypto/conf/conf_mod.c:201,1
    - Dst: NCONF_new_ex
      Src: /src/openssl/crypto/conf/conf_mod.c:213,1
    - Dst: NCONF_load
      Src: /src/openssl/crypto/conf/conf_mod.c:217,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/conf/conf_mod.c:219,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/conf/conf_mod.c:219,1
    - Dst: CONF_modules_load
      Src: /src/openssl/crypto/conf/conf_mod.c:225,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/crypto/conf/conf_mod.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:231,1
    - Dst: NCONF_free
      Src: /src/openssl/crypto/conf/conf_mod.c:232,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:238,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/conf/conf_mod.c:240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - libctx
    - filename
    - appname
    - flags
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 191
    functionDepth: 7
    functionLinenumber: 191
    functionLinenumberEnd: 243
    functionName: CONF_modules_load_file_ex
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - CONF_get1_default_config_file
    - OSSL_LIB_CTX_get_conf_diagnostics
    - NCONF_new_ex
    - ERR_pop_to_mark
    - NCONF_load
    - ERR_set_mark
    - ERR_GET_REASON
    - ERR_peek_last_error
    - OPENSSL_free
    - NCONF_free
    - ERR_clear_last_mark
    - CONF_modules_load
    linkageType: ''
    returnType: int
    signature: "int CONF_modules_load_file_ex(OSSL_LIB_CTX *libctx, const char *filename,\n
      \                             const char *appname, unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_modules_load_file_ex
      Src: /src/openssl/crypto/conf/conf_mod.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - appname
    - flags
    argTypes:
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 8
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: CONF_modules_load_file
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - CONF_modules_load_file_ex
    linkageType: ''
    returnType: int
    signature: "int CONF_modules_load_file(const char *filename,\n                           const
      char *appname, unsigned long flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_load_builtin_modules
      Src: /src/openssl/crypto/conf/conf_mod.c:253,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/openssl/crypto/conf/conf_mod.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - OPENSSL_load_builtin_modules
    - ENGINE_load_builtin_engines
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_load_builtin_modules)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:267,1
    - Dst: module_find
      Src: /src/openssl/crypto/conf/conf_mod.c:270,1
    - Dst: module_load_dso
      Src: /src/openssl/crypto/conf/conf_mod.c:274,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_mod.c:278,1
    - Dst: module_init
      Src: /src/openssl/crypto/conf/conf_mod.c:284,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_mod.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - cnf
    - name
    - value
    - flags
    argTypes:
    - CONF*
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 294
    functionName: module_run
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    - module_init
    - module_find
    - ERR_raise_data
    - module_load_dso
    linkageType: ''
    returnType: int
    signature: "int module_run(const CONF *cnf, const char *name, const char *value,\n
      \                     unsigned long flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_get_string
      Src: /src/openssl/crypto/conf/conf_mod.c:308,1
    - Dst: DSO_load
      Src: /src/openssl/crypto/conf/conf_mod.c:312,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/conf/conf_mod.c:317,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/conf/conf_mod.c:322,1
    - Dst: module_add
      Src: /src/openssl/crypto/conf/conf_mod.c:324,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/conf/conf_mod.c:332,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_mod.c:333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - cnf
    - name
    - value
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 335
    functionName: module_load_dso
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - DSO_free
    - ERR_raise_data
    - DSO_bind_func
    - module_add
    - _CONF_get_string
    - DSO_load
    linkageType: ''
    returnType: CONF_MODULE
    signature: "CONF_MODULE *module_load_dso(const CONF *cnf,\n                                    const
      char *name, const char *value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:342,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:343,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:345,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:348,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:350,1
    - Dst: sk_CONF_MODULE_new_null
      Src: /src/openssl/crypto/conf/conf_mod.c:353,1
    - Dst: sk_CONF_MODULE_dup
      Src: /src/openssl/crypto/conf/conf_mod.c:355,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/conf/conf_mod.c:360,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:364,1
    - Dst: sk_CONF_MODULE_push
      Src: /src/openssl/crypto/conf/conf_mod.c:370,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/conf/conf_mod.c:373,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:374,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/conf/conf_mod.c:375,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:377,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:381,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:383,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:384,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:386,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - dso
    - name
    - ifunc
    - ffunc
    argTypes:
    - DSO*
    - char*
    - conf_init_func*
    - conf_finish_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 388
    functionName: module_add
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 7
    functionsReached:
    - sk_CONF_MODULE_new_null
    - OPENSSL_zalloc
    - RUN_ONCE
    - ossl_synchronize_rcu
    - ossl_rcu_deref
    - ossl_rcu_assign_ptr
    - STACK_OF
    - ossl_rcu_write_lock
    - OPENSSL_strdup
    - ossl_rcu_write_unlock
    - sk_CONF_MODULE_free
    - OPENSSL_free
    - sk_CONF_MODULE_push
    - sk_CONF_MODULE_dup
    linkageType: ''
    returnType: CONF_MODULE
    signature: "CONF_MODULE *module_add(DSO *dso, const char *name,\n                               conf_init_func
      *ifunc, conf_finish_func *ffunc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:402,1
    - Dst: strrchr
      Src: /src/openssl/crypto/conf/conf_mod.c:404,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:409,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:411,1
    - Dst: ossl_rcu_read_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:414,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:417,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:419,1
    - Dst: sk_CONF_MODULE_value
      Src: /src/openssl/crypto/conf/conf_mod.c:420,1
    - Dst: strncmp
      Src: /src/openssl/crypto/conf/conf_mod.c:421,1
    - Dst: ossl_rcu_read_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:422,1
    - Dst: ossl_rcu_read_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 429
    functionName: module_find
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    - ossl_rcu_read_lock
    - ossl_rcu_deref
    - STACK_OF
    - strncmp
    - sk_CONF_MODULE_value
    - ossl_rcu_read_unlock
    - strrchr
    - strlen
    - sk_CONF_MODULE_num
    linkageType: ''
    returnType: CONF_MODULE
    signature: CONF_MODULE *module_find(const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:438,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:439,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_mod.c:442,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:447,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:448,1
    - Dst: CONF_MODULE*::init
      Src: /src/openssl/crypto/conf/conf_mod.c:456,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:463,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:466,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:468,1
    - Dst: sk_CONF_IMODULE_new_null
      Src: /src/openssl/crypto/conf/conf_mod.c:471,1
    - Dst: sk_CONF_IMODULE_dup
      Src: /src/openssl/crypto/conf/conf_mod.c:473,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:476,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_mod.c:477,1
    - Dst: sk_CONF_IMODULE_push
      Src: /src/openssl/crypto/conf/conf_mod.c:481,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:482,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:483,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_mod.c:484,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/conf/conf_mod.c:490,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:491,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/conf/conf_mod.c:492,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:493,1
    - Dst: CONF_MODULE*::finish
      Src: /src/openssl/crypto/conf/conf_mod.c:500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:504,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:505,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:506,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 4
    argNames:
    - pmod
    - name
    - value
    - cnf
    argTypes:
    - CONF_MODULE*
    - char*
    - char*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 511
    functionName: module_init
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - sk_CONF_IMODULE_free
    - sk_CONF_IMODULE_push
    - sk_CONF_IMODULE_new_null
    - ossl_synchronize_rcu
    - ossl_rcu_deref
    - CONF_MODULE*::init
    - ossl_rcu_assign_ptr
    - STACK_OF
    - ossl_rcu_write_lock
    - OPENSSL_strdup
    - ossl_rcu_write_unlock
    - CONF_MODULE*::finish
    - OPENSSL_free
    - sk_CONF_IMODULE_dup
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int module_init(CONF_MODULE *pmod, const char *name, const char *value,\n
      \                      const CONF *cnf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:523,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:524,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:525,1
    - Dst: conf_modules_finish_int
      Src: /src/openssl/crypto/conf/conf_mod.c:527,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:530,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:532,1
    - Dst: sk_CONF_MODULE_dup
      Src: /src/openssl/crypto/conf/conf_mod.c:533,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:536,1
    - Dst: sk_CONF_MODULE_new_null
      Src: /src/openssl/crypto/conf/conf_mod.c:540,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:543,1
    - Dst: sk_CONF_MODULE_value
      Src: /src/openssl/crypto/conf/conf_mod.c:544,1
    - Dst: sk_CONF_MODULE_delete
      Src: /src/openssl/crypto/conf/conf_mod.c:549,1
    - Dst: sk_CONF_MODULE_push
      Src: /src/openssl/crypto/conf/conf_mod.c:550,1
    - Dst: sk_CONF_MODULE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:553,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:554,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/conf/conf_mod.c:558,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:559,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/conf/conf_mod.c:560,1
    - Dst: sk_CONF_MODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:561,1
    - Dst: sk_CONF_MODULE_pop_free
      Src: /src/openssl/crypto/conf/conf_mod.c:562,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - all
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 564
    functionName: CONF_modules_unload
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - sk_CONF_MODULE_new_null
    - sk_CONF_MODULE_delete
    - ossl_synchronize_rcu
    - sk_CONF_MODULE_pop_free
    - ossl_rcu_deref
    - ossl_rcu_assign_ptr
    - STACK_OF
    - ossl_rcu_write_lock
    - ossl_rcu_write_unlock
    - conf_modules_finish_int
    - sk_CONF_MODULE_value
    - sk_CONF_MODULE_free
    - sk_CONF_MODULE_push
    - sk_CONF_MODULE_num
    - sk_CONF_MODULE_dup
    linkageType: ''
    returnType: void
    signature: void CONF_modules_unload(int all)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_free
      Src: /src/openssl/crypto/conf/conf_mod.c:569,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:570,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_MODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: module_free
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - DSO_free
    linkageType: ''
    returnType: void
    signature: void module_free(CONF_MODULE *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:579,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_mod.c:580,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/conf/conf_mod.c:582,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/crypto/conf/conf_mod.c:589,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/crypto/conf/conf_mod.c:590,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/crypto/conf/conf_mod.c:591,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/crypto/conf/conf_mod.c:592,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/crypto/conf/conf_mod.c:593,1
    - Dst: sk_CONF_IMODULE_num
      Src: /src/openssl/crypto/conf/conf_mod.c:595,1
    - Dst: sk_CONF_IMODULE_pop
      Src: /src/openssl/crypto/conf/conf_mod.c:596,1
    - Dst: module_finish
      Src: /src/openssl/crypto/conf/conf_mod.c:597,1
    - Dst: sk_CONF_IMODULE_free
      Src: /src/openssl/crypto/conf/conf_mod.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 602
    functionName: conf_modules_finish_int
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - sk_CONF_IMODULE_num
    - RUN_ONCE
    - sk_CONF_IMODULE_free
    - ossl_synchronize_rcu
    - ossl_rcu_deref
    - ossl_rcu_assign_ptr
    - STACK_OF
    - ossl_rcu_write_lock
    - ossl_rcu_write_unlock
    - sk_CONF_IMODULE_pop
    - module_finish
    linkageType: ''
    returnType: int
    signature: int conf_modules_finish_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conf_modules_finish_int
      Src: /src/openssl/crypto/conf/conf_mod.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: CONF_modules_finish
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached:
    - conf_modules_finish_int
    linkageType: ''
    returnType: void
    signature: void CONF_modules_finish(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CONF_IMODULE*::pmod::finish
      Src: /src/openssl/crypto/conf/conf_mod.c:616,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:618,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:619,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_mod.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - imod
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 621
    functionName: module_finish
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - CONF_IMODULE*::pmod::finish
    linkageType: ''
    returnType: void
    signature: void module_finish(CONF_IMODULE *imod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: module_add
      Src: /src/openssl/crypto/conf/conf_mod.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - ifunc
    - ffunc
    argTypes:
    - char*
    - conf_init_func*
    - conf_finish_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: CONF_module_add
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 6
    functionsReached:
    - module_add
    linkageType: ''
    returnType: int
    signature: "int CONF_module_add(const char *name, conf_init_func *ifunc,\n                    conf_finish_func
      *ffunc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_modules_unload
      Src: /src/openssl/crypto/conf/conf_mod.c:636,1
    - Dst: module_lists_free
      Src: /src/openssl/crypto/conf/conf_mod.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: ossl_config_modules_free
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - CONF_modules_unload
    - module_lists_free
    linkageType: ''
    returnType: void
    signature: void ossl_config_modules_free(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: CONF_imodule_get_name
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *CONF_imodule_get_name(const CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: CONF_imodule_get_value
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *CONF_imodule_get_value(const CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: CONF_imodule_get_usr_data
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *CONF_imodule_get_usr_data(const CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - usr_data
    argTypes:
    - CONF_IMODULE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: CONF_imodule_set_usr_data
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 665
    functionName: CONF_imodule_get_module
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CONF_MODULE
    signature: CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: CONF_imodule_get_flags
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - flags
    argTypes:
    - CONF_IMODULE*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: CONF_imodule_set_flags
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmod
    argTypes:
    - CONF_MODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 680
    functionName: CONF_module_get_usr_data
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *CONF_module_get_usr_data(CONF_MODULE *pmod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pmod
    - usr_data
    argTypes:
    - CONF_MODULE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: CONF_module_set_usr_data
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/conf/conf_mod.c:694,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:695,1
    - Dst: X509_get_default_cert_area
      Src: /src/openssl/crypto/conf/conf_mod.c:697,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_mod.c:708,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:713,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:713,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:713,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_mod.c:714,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/conf/conf_mod.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 721
    functionName: CONF_get1_default_config_file
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 1
    functionsReached:
    - X509_get_default_cert_area
    - BIO_snprintf
    - ossl_safe_getenv
    - OPENSSL_strdup
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *CONF_get1_default_config_file(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_mod.c:738,1
    - Dst: isspace
      Src: /src/openssl/crypto/conf/conf_mod.c:745,1
    - Dst: strchr
      Src: /src/openssl/crypto/conf/conf_mod.c:748,1
    - Dst: list_cb
      Src: /src/openssl/crypto/conf/conf_mod.c:750,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_mod.c:755,1
    - Dst: isspace
      Src: /src/openssl/crypto/conf/conf_mod.c:757,1
    - Dst: list_cb
      Src: /src/openssl/crypto/conf/conf_mod.c:760,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - list_
    - sep
    - nospc
    - arg
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 768
    functionName: CONF_parse_list
    functionSourceFile: /src/openssl/crypto/conf/conf_mod.c
    functionUses: 6
    functionsReached:
    - strchr
    - ERR_raise
    - isspace
    - list_cb
    - strlen
    linkageType: ''
    returnType: int
    signature: "int CONF_parse_list(const char *list_, int sep, int nospc,\n                    int
      (*list_cb) (const char *elem, int len, void *usr),\n                    void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:49,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:51,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:52,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:54,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - md
    argTypes:
    - CONF_IMODULE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: ssl_module_free
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ssl_module_free(CONF_IMODULE *md)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_ssl.c:66,1
    - Dst: CONF_imodule_get_value
      Src: /src/openssl/crypto/conf/conf_ssl.c:68,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/conf/conf_ssl.c:69,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_ssl.c:70,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_ssl.c:76,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_ssl.c:79,1
    - Dst: ssl_module_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:80,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/conf/conf_ssl.c:81,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/conf/conf_ssl.c:87,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_ssl.c:88,1
    - Dst: NCONF_get_section
      Src: /src/openssl/crypto/conf/conf_ssl.c:88,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_ssl.c:90,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_ssl.c:96,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_ssl.c:100,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_ssl.c:103,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/conf/conf_ssl.c:104,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/conf/conf_ssl.c:110,1
    - Dst: strchr
      Src: /src/openssl/crypto/conf/conf_ssl.c:114,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_ssl.c:119,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_ssl.c:120,1
    - Dst: ssl_module_free
      Src: /src/openssl/crypto/conf/conf_ssl.c:129,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - md
    - cnf
    argTypes:
    - CONF_IMODULE*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 131
    functionName: ssl_module_init
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_calloc
    - sk_CONF_VALUE_num
    - ERR_raise_data
    - NCONF_get_section
    - STACK_OF
    - CONF_imodule_get_value
    - OPENSSL_strdup
    - ssl_module_free
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int ssl_module_init(CONF_IMODULE *md, const CONF *cnf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - idx
    - name
    - cnt
    argTypes:
    - size_t
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: conf_ssl_get
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL_CONF_CMD
    signature: SSL_CONF_CMD *conf_ssl_get(size_t idx, const char **name, size_t *cnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_ssl.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - name
    - idx
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: conf_ssl_name_find
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int conf_ssl_name_find(const char *name, size_t *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - cmd
    - idx
    - cmdstr
    - arg
    argTypes:
    - SSL_CONF_CMD*
    - size_t
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: conf_ssl_get_cmd
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void conf_ssl_get_cmd(const SSL_CONF_CMD *cmd, size_t idx, char **cmdstr,\n
      \                     char **arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONF_module_add
      Src: /src/openssl/crypto/conf/conf_ssl.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: ossl_config_add_ssl_module
    functionSourceFile: /src/openssl/crypto/conf/conf_ssl.c
    functionUses: 0
    functionsReached:
    - CONF_module_add
    linkageType: ''
    returnType: void
    signature: void ossl_config_add_ssl_module(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - CONF_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: CONF_set_default_method
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CONF_set_default_method(CONF_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/conf/conf_lib.c:115,1
    - Dst: CONF_set_nconf
      Src: /src/openssl/crypto/conf/conf_lib.c:119,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/conf/conf_lib.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - conf
    - group
    - name
    argTypes:
    - LHASH_OF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: CONF_get_string
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 5
    functionsReached:
    - CONF_set_nconf
    - NCONF_get_string
    linkageType: ''
    returnType: char
    signature: "char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group,\n
      \                     const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_default
      Src: /src/openssl/crypto/conf/conf_lib.c:187,1
    - Dst: CONF_METHOD*::create
      Src: /src/openssl/crypto/conf/conf_lib.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - meth
    argTypes:
    - OSSL_LIB_CTX*
    - CONF_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: NCONF_new_ex
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 1
    functionsReached:
    - NCONF_default
    - CONF_METHOD*::create
    - ERR_raise
    linkageType: ''
    returnType: CONF
    signature: CONF *NCONF_new_ex(OSSL_LIB_CTX *libctx, CONF_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new_ex
      Src: /src/openssl/crypto/conf/conf_lib.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - CONF_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: NCONF_new
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - NCONF_new_ex
    linkageType: ''
    returnType: CONF
    signature: CONF *NCONF_new(CONF_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONF*::meth::destroy
      Src: /src/openssl/crypto/conf/conf_lib.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: NCONF_free
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 1
    functionsReached:
    - CONF*::meth::destroy
    linkageType: ''
    returnType: void
    signature: void NCONF_free(CONF *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CONF*::meth::destroy_data
      Src: /src/openssl/crypto/conf/conf_lib.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: NCONF_free_data
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - CONF*::meth::destroy_data
    linkageType: ''
    returnType: void
    signature: void NCONF_free_data(CONF *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: NCONF_get0_libctx
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *NCONF_get0_libctx(const CONF *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/crypto/conf/conf_lib.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - v
    - names
    argTypes:
    - CONF_VALUE*
    - SECTION_NAMES*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: collect_section_name
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_push
    linkageType: ''
    returnType: void
    signature: void collect_section_name(const CONF_VALUE *v, SECTION_NAMES *names)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_lib.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_CSTRING*
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: section_name_cmp
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int section_name_cmp(OPENSSL_CSTRING const *a, OPENSSL_CSTRING const
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:254,1
    - Dst: CONF*::meth::load
      Src: /src/openssl/crypto/conf/conf_lib.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conf
    - file
    - eline
    argTypes:
    - CONF*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: NCONF_load
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - CONF*::meth::load
    linkageType: ''
    returnType: int
    signature: int NCONF_load(CONF *conf, const char *file, long *eline)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/conf/conf_lib.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:267,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/crypto/conf/conf_lib.c:270,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/conf/conf_lib.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - conf
    - fp
    - eline
    argTypes:
    - CONF*
    - FILE*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 6
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: NCONF_load_fp
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - ERR_raise
    - NCONF_load_bio
    linkageType: ''
    returnType: int
    signature: int NCONF_load_fp(CONF *conf, FILE *fp, long *eline)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:279,1
    - Dst: CONF*::meth::load_bio
      Src: /src/openssl/crypto/conf/conf_lib.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conf
    - bp
    - eline
    argTypes:
    - CONF*
    - BIO*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: NCONF_load_bio
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - CONF*::meth::load_bio
    linkageType: ''
    returnType: int
    signature: int NCONF_load_bio(CONF *conf, BIO *bp, long *eline)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_get_string
      Src: /src/openssl/crypto/conf/conf_lib.c:303,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:313,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_lib.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - conf
    - group
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: NCONF_get_string
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 3
    functionsReached:
    - _CONF_get_string
    - ERR_raise
    - ERR_raise_data
    linkageType: ''
    returnType: char
    signature: char *NCONF_get_string(const CONF *conf, const char *group, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/conf/conf_lib.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: default_is_number
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - ossl_isdigit
    linkageType: ''
    returnType: int
    signature: int default_is_number(const CONF *conf, char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: default_to_int
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int default_to_int(const CONF *conf, char c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:340,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/conf/conf_lib.c:344,1
    - Dst: is_number
      Src: /src/openssl/crypto/conf/conf_lib.c:355,1
    - Dst: to_int
      Src: /src/openssl/crypto/conf/conf_lib.c:356,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - conf
    - group
    - name
    - result
    argTypes:
    - CONF*
    - char*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 367
    functionName: NCONF_get_number_e
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 2
    functionsReached:
    - to_int
    - ERR_raise
    - NCONF_get_string
    - is_number
    linkageType: ''
    returnType: int
    signature: "int NCONF_get_number_e(const CONF *conf, const char *group, const
      char *name,\n                       long *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/conf/conf_lib.c:375,1
    - Dst: NCONF_get_number_e
      Src: /src/openssl/crypto/conf/conf_lib.c:376,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/conf/conf_lib.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - section
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: _CONF_get_number
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - NCONF_get_number_e
    - ERR_pop_to_mark
    - ERR_set_mark
    linkageType: ''
    returnType: long
    signature: "long _CONF_get_number(const CONF *conf, const char *section,\n                      const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/conf/conf_lib.c:386,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:387,1
    - Dst: NCONF_dump_bio
      Src: /src/openssl/crypto/conf/conf_lib.c:390,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/conf/conf_lib.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - CONF*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 382
    functionDepth: 6
    functionLinenumber: 382
    functionLinenumberEnd: 393
    functionName: NCONF_dump_fp
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - NCONF_dump_bio
    - BIO_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int NCONF_dump_fp(const CONF *conf, FILE *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_lib.c:399,1
    - Dst: CONF*::meth::dump
      Src: /src/openssl/crypto/conf/conf_lib.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - CONF*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: NCONF_dump_bio
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 1
    functionsReached:
    - CONF*::meth::dump
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int NCONF_dump_bio(const CONF *conf, BIO *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/crypto/conf/conf_lib.c:412,1
    - Dst: memset
      Src: /src/openssl/crypto/conf/conf_lib.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 421
    functionName: OPENSSL_INIT_new
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    linkageType: ''
    returnType: OPENSSL_INIT_SETTINGS
    signature: OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/openssl/crypto/conf/conf_lib.c:437,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - settings
    - filename
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 446
    functionName: OPENSSL_INIT_set_config_filename
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: "int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings,\n
      \                                    const char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - settings
    - flags
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: OPENSSL_INIT_set_config_file_flags
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OPENSSL_INIT_set_config_file_flags(OPENSSL_INIT_SETTINGS *settings,\n
      \                                       unsigned long flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/openssl/crypto/conf/conf_lib.c:466,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - settings
    - appname
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 475
    functionName: OPENSSL_INIT_set_config_appname
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: "int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings,\n
      \                                   const char *appname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:483,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:484,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_lib.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - settings
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: OPENSSL_INIT_free
    functionSourceFile: /src/openssl/crypto/conf/conf_lib.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/conf/conf_sap.c:36,1
    - Dst: strdup
      Src: /src/openssl/crypto/conf/conf_sap.c:38,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/conf/conf_sap.c:40,1
    - Dst: free
      Src: /src/openssl/crypto/conf/conf_sap.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - appname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: OPENSSL_config
    functionSourceFile: /src/openssl/crypto/conf/conf_sap.c
    functionUses: 0
    functionsReached:
    - strdup
    - memset
    - OPENSSL_init_crypto
    - free
    linkageType: ''
    returnType: void
    signature: void OPENSSL_config(const char *appname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/crypto/conf/conf_sap.c:65,1
    - Dst: CONF_modules_load_file_ex
      Src: /src/openssl/crypto/conf/conf_sap.c:70,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/openssl/crypto/conf/conf_sap.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - settings
    argTypes:
    - OPENSSL_INIT_SETTINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 8
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: ossl_config_int
    functionSourceFile: /src/openssl/crypto/conf/conf_sap.c
    functionUses: 2
    functionsReached:
    - OSSL_LIB_CTX_get0_global_default
    - CONF_modules_load_file_ex
    - fprintf
    linkageType: ''
    returnType: int
    signature: int ossl_config_int(const OPENSSL_INIT_SETTINGS *settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: ossl_no_config_int
    functionSourceFile: /src/openssl/crypto/conf/conf_sap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_no_config_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_add_oid_module
      Src: /src/openssl/crypto/conf/conf_mall.c:29,1
    - Dst: ASN1_add_stable_module
      Src: /src/openssl/crypto/conf/conf_mall.c:30,1
    - Dst: ENGINE_add_conf_module
      Src: /src/openssl/crypto/conf/conf_mall.c:32,1
    - Dst: EVP_add_alg_module
      Src: /src/openssl/crypto/conf/conf_mall.c:34,1
    - Dst: ossl_config_add_ssl_module
      Src: /src/openssl/crypto/conf/conf_mall.c:35,1
    - Dst: ossl_provider_add_conf_module
      Src: /src/openssl/crypto/conf/conf_mall.c:36,1
    - Dst: ossl_random_add_conf_module
      Src: /src/openssl/crypto/conf/conf_mall.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: OPENSSL_load_builtin_modules
    functionSourceFile: /src/openssl/crypto/conf/conf_mall.c
    functionUses: 1
    functionsReached:
    - EVP_add_alg_module
    - ossl_provider_add_conf_module
    - ossl_config_add_ssl_module
    - ENGINE_add_conf_module
    - ASN1_add_stable_module
    - ossl_random_add_conf_module
    - ASN1_add_oid_module
    linkageType: ''
    returnType: void
    signature: void OPENSSL_load_builtin_modules(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: IS_COMMENT
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_COMMENT(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: IS_FCOMMENT
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FCOMMENT(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: IS_EOF
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_EOF(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: IS_ESC
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_ESC(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: IS_NUMBER
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NUMBER(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: IS_WS
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_WS(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: IS_ALNUM
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_ALNUM(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: IS_ALNUM_PUNCT
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_ALNUM_PUNCT(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: IS_QUOTE
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUOTE(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: IS_DQUOTE
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DQUOTE(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: IS_DOLLAR
    functionSourceFile: /src/openssl/crypto/conf/conf_def.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DOLLAR(conf,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: S_ISDIR
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: scan_esc
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scan_esc(conf,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: NCONF_default
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CONF_METHOD
    signature: CONF_METHOD *NCONF_default(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: NCONF_WIN32
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CONF_METHOD
    signature: CONF_METHOD *NCONF_WIN32(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_def.c:115,1
    - Dst: CONF_METHOD*::init
      Src: /src/openssl/crypto/conf/conf_def.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - meth
    argTypes:
    - CONF_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: def_create
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    - CONF_METHOD*::init
    linkageType: ''
    returnType: CONF
    signature: CONF *def_create(CONF_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/conf/conf_def.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: def_init_default
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int def_init_default(CONF *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/conf/conf_def.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: def_init_WIN32
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int def_init_WIN32(CONF *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: def_destroy_data
      Src: /src/openssl/crypto/conf/conf_def.c:152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: def_destroy
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - def_destroy_data
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int def_destroy(CONF *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_free_data
      Src: /src/openssl/crypto/conf/conf_def.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: def_destroy_data
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - _CONF_free_data
    linkageType: ''
    returnType: int
    signature: int def_destroy_data(CONF *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/conf/conf_def.c:173,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/conf/conf_def.c:175,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/conf/conf_def.c:178,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/conf/conf_def.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:181,1
    - Dst: def_load_bio
      Src: /src/openssl/crypto/conf/conf_def.c:185,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - conf
    - name
    - line
    argTypes:
    - CONF*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 189
    functionName: def_load
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - def_load_bio
    - BIO_free
    - ERR_GET_REASON
    - ERR_peek_last_error
    linkageType: ''
    returnType: int
    signature: int def_load(CONF *conf, const char *name, long *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:195,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:196,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:198,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pval
    - flag
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: parsebool
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int parsebool(const char *pval, int *flag)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_SIZE
      Src: /src/openssl/crypto/conf/conf_def.c:218,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_def.c:224,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/conf/conf_def.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:234,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_def.c:238,1
    - Dst: _CONF_new_data
      Src: /src/openssl/crypto/conf/conf_def.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:243,1
    - Dst: _CONF_new_section
      Src: /src/openssl/crypto/conf/conf_def.c:247,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:249,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/conf/conf_def.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:257,1
    - Dst: BIO_gets
      Src: /src/openssl/crypto/conf/conf_def.c:263,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:266,1
    - Dst: memcmp
      Src: /src/openssl/crypto/conf/conf_def.c:272,1
    - Dst: memmove
      Src: /src/openssl/crypto/conf/conf_def.c:273,1
    - Dst: get_next_file
      Src: /src/openssl/crypto/conf/conf_def.c:289,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/conf/conf_def.c:290,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:294,1
    - Dst: sk_BIO_pop
      Src: /src/openssl/crypto/conf/conf_def.c:300,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/conf/conf_def.c:304,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:339,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:339,1
    - Dst: clear_comments
      Src: /src/openssl/crypto/conf/conf_def.c:349,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:350,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:351,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:357,1
    - Dst: eat_alpha_numeric
      Src: /src/openssl/crypto/conf/conf_def.c:360,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:361,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:367,1
    - Dst: str_copy
      Src: /src/openssl/crypto/conf/conf_def.c:371,1
    - Dst: _CONF_get_section
      Src: /src/openssl/crypto/conf/conf_def.c:373,1
    - Dst: _CONF_new_section
      Src: /src/openssl/crypto/conf/conf_def.c:374,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:376,1
    - Dst: eat_alpha_numeric
      Src: /src/openssl/crypto/conf/conf_def.c:382,1
    - Dst: eat_alpha_numeric
      Src: /src/openssl/crypto/conf/conf_def.c:388,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:392,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/conf/conf_def.c:393,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:399,1
    - Dst: trim_ws
      Src: /src/openssl/crypto/conf/conf_def.c:401,1
    - Dst: strchr
      Src: /src/openssl/crypto/conf/conf_def.c:404,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:406,1
    - Dst: trim_ws
      Src: /src/openssl/crypto/conf/conf_def.c:411,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:412,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_def.c:421,1
    - Dst: parsebool
      Src: /src/openssl/crypto/conf/conf_def.c:422,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_def.c:424,1
    - Dst: parsebool
      Src: /src/openssl/crypto/conf/conf_def.c:425,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_def.c:427,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:428,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_def.c:429,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/crypto/conf/conf_def.c:437,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/conf/conf_def.c:441,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:463,1
    - Dst: trim_ws
      Src: /src/openssl/crypto/conf/conf_def.c:465,1
    - Dst: str_copy
      Src: /src/openssl/crypto/conf/conf_def.c:466,1
    - Dst: ossl_is_absolute_path
      Src: /src/openssl/crypto/conf/conf_def.c:469,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:470,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:470,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_def.c:472,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:474,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/conf/conf_def.c:478,1
    - Dst: ossl_ends_with_dirsep
      Src: /src/openssl/crypto/conf/conf_def.c:479,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/conf/conf_def.c:480,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/conf/conf_def.c:481,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:482,1
    - Dst: ossl_is_absolute_path
      Src: /src/openssl/crypto/conf/conf_def.c:488,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:490,1
    - Dst: process_include
      Src: /src/openssl/crypto/conf/conf_def.c:496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:499,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/conf/conf_def.c:502,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:503,1
    - Dst: sk_BIO_new_null
      Src: /src/openssl/crypto/conf/conf_def.c:509,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:510,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:511,1
    - Dst: sk_BIO_push
      Src: /src/openssl/crypto/conf/conf_def.c:515,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:516,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:517,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_def.c:525,1
    - Dst: eat_ws
      Src: /src/openssl/crypto/conf/conf_def.c:531,1
    - Dst: trim_ws
      Src: /src/openssl/crypto/conf/conf_def.c:532,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_def.c:534,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/conf/conf_def.c:536,1
    - Dst: str_copy
      Src: /src/openssl/crypto/conf/conf_def.c:540,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_def.c:543,1
    - Dst: _CONF_get_section
      Src: /src/openssl/crypto/conf/conf_def.c:544,1
    - Dst: _CONF_new_section
      Src: /src/openssl/crypto/conf/conf_def.c:546,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:548,1
    - Dst: _CONF_add_string
      Src: /src/openssl/crypto/conf/conf_def.c:554,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:555,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/conf/conf_def.c:561,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:562,1
    - Dst: sk_BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:567,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/conf/conf_def.c:571,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:572,1
    - Dst: sk_BIO_num
      Src: /src/openssl/crypto/conf/conf_def.c:578,1
    - Dst: sk_BIO_pop
      Src: /src/openssl/crypto/conf/conf_def.c:579,1
    - Dst: BIO_vfree
      Src: /src/openssl/crypto/conf/conf_def.c:580,1
    - Dst: sk_BIO_free
      Src: /src/openssl/crypto/conf/conf_def.c:583,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:585,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/crypto/conf/conf_def.c:587,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/conf/conf_def.c:591,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/conf/conf_def.c:592,1
    - Dst: CONF_free
      Src: /src/openssl/crypto/conf/conf_def.c:594,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:598,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:599,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:600,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 301
    argCount: 3
    argNames:
    - conf
    - in
    - line
    argTypes:
    - CONF*
    - BIO*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 603
    functionName: def_load_bio
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_free
    - ERR_raise
    - sk_BIO_pop
    - parsebool
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - get_next_file
    - OPENSSL_free
    - BIO_snprintf
    - ossl_safe_getenv
    - eat_ws
    - _CONF_new_section
    - IS_EOF
    - strcmp
    - strlen
    - sk_BIO_push
    - OPENSSL_DIR_end
    - str_copy
    - clear_comments
    - _CONF_new_data
    - trim_ws
    - CHECK_AND_SKIP_PREFIX
    - OPENSSL_strdup
    - BIO_vfree
    - BUF_MEM_new
    - eat_alpha_numeric
    - BUF_MEM_grow
    - DECIMAL_SIZE
    - OPENSSL_malloc
    - ossl_ends_with_dirsep
    - strchr
    - BIO_new_file
    - sk_BIO_new_null
    - process_include
    - BIO_gets
    - sk_BIO_num
    - BIO_free
    - ERR_raise_data
    - STACK_OF
    - IS_ESC
    - CONF_free
    - _CONF_get_section
    - memcmp
    - _CONF_add_string
    - ERR_add_error_data
    - ossl_is_absolute_path
    - memmove
    - sk_BIO_free
    linkageType: ''
    returnType: int
    signature: int def_load_bio(CONF *conf, BIO *in, long *line)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_FCOMMENT
      Src: /src/openssl/crypto/conf/conf_def.c:608,1
    - Dst: IS_WS
      Src: /src/openssl/crypto/conf/conf_def.c:612,1
    - Dst: IS_COMMENT
      Src: /src/openssl/crypto/conf/conf_def.c:619,1
    - Dst: IS_DQUOTE
      Src: /src/openssl/crypto/conf/conf_def.c:623,1
    - Dst: scan_dquote
      Src: /src/openssl/crypto/conf/conf_def.c:624,1
    - Dst: IS_QUOTE
      Src: /src/openssl/crypto/conf/conf_def.c:627,1
    - Dst: scan_quote
      Src: /src/openssl/crypto/conf/conf_def.c:628,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:631,1
    - Dst: scan_esc
      Src: /src/openssl/crypto/conf/conf_def.c:632,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:635,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 640
    functionName: clear_comments
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - scan_quote
    - IS_COMMENT
    - IS_FCOMMENT
    - IS_QUOTE
    - scan_dquote
    - IS_ESC
    - IS_DQUOTE
    - IS_EOF
    - IS_WS
    - scan_esc
    linkageType: ''
    returnType: void
    signature: void clear_comments(CONF *conf, char *p)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/crypto/conf/conf_def.c:648,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/crypto/conf/conf_def.c:651,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:651,1
    - Dst: IS_QUOTE
      Src: /src/openssl/crypto/conf/conf_def.c:655,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:658,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:659,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:661,1
    - Dst: IS_DQUOTE
      Src: /src/openssl/crypto/conf/conf_def.c:668,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:671,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:683,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:686,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:697,1
    - Dst: IS_ALNUM
      Src: /src/openssl/crypto/conf/conf_def.c:719,1
    - Dst: IS_DOLLAR
      Src: /src/openssl/crypto/conf/conf_def.c:720,1
    - Dst: IS_ALNUM
      Src: /src/openssl/crypto/conf/conf_def.c:729,1
    - Dst: IS_DOLLAR
      Src: /src/openssl/crypto/conf/conf_def.c:730,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:738,1
    - Dst: _CONF_get_string
      Src: /src/openssl/crypto/conf/conf_def.c:753,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:758,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:761,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:763,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/crypto/conf/conf_def.c:766,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/conf/conf_def.c:767,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:785,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:787,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/crypto/conf/conf_def.c:790,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 125
    argCount: 4
    argNames:
    - conf
    - section
    - pto
    - from
    argTypes:
    - CONF*
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 792
    functionName: str_copy
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_free
    - ERR_raise
    - IS_ALNUM
    - OPENSSL_free
    - _CONF_get_string
    - IS_DOLLAR
    - IS_QUOTE
    - IS_EOF
    - IS_ESC
    - IS_DQUOTE
    - BUF_MEM_new
    - strlen
    - BUF_MEM_grow
    - BUF_MEM_grow_clean
    linkageType: ''
    returnType: int
    signature: int str_copy(CONF *conf, char *section, char **pto, char *from)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/openssl/crypto/conf/conf_def.c:806,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_def.c:807,1
    - Dst: S_ISDIR
      Src: /src/openssl/crypto/conf/conf_def.c:812,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/conf/conf_def.c:814,1
    - Dst: get_next_file
      Src: /src/openssl/crypto/conf/conf_def.c:819,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/conf/conf_def.c:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - include
    - dirctx
    - dirpath
    argTypes:
    - char*
    - OPENSSL_DIR_CTX**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 826
    functionName: process_include
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - stat
    - S_ISDIR
    - ERR_raise_data
    - get_next_file
    linkageType: ''
    returnType: BIO
    signature: "BIO *process_include(char *include, OPENSSL_DIR_CTX **dirctx,\n                            char
      **dirpath)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:837,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/crypto/conf/conf_def.c:838,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_def.c:841,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:845,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/conf/conf_def.c:847,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/conf/conf_def.c:853,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/conf/conf_def.c:865,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/conf/conf_def.c:869,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/conf/conf_def.c:870,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/conf/conf_def.c:872,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/conf/conf_def.c:874,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_def.c:875,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/crypto/conf/conf_def.c:881,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - path
    - dirctx
    argTypes:
    - char*
    - OPENSSL_DIR_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 832
    functionDepth: 3
    functionLinenumber: 832
    functionLinenumberEnd: 884
    functionName: get_next_file
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    - BIO_new_file
    - OPENSSL_strcasecmp
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - OPENSSL_free
    - strlen
    - OPENSSL_DIR_read
    - OPENSSL_DIR_end
    linkageType: ''
    returnType: BIO
    signature: BIO *get_next_file(const char *path, OPENSSL_DIR_CTX **dirctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - conf
    - c
    - type
    argTypes:
    - CONF*
    - char
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 909
    functionName: is_keytype
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_keytype(const CONF *conf, char c, unsigned short type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_WS
      Src: /src/openssl/crypto/conf/conf_def.c:913,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 916
    functionName: eat_ws
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_WS
    - IS_EOF
    linkageType: ''
    returnType: char
    signature: char *eat_ws(CONF *conf, char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:922,1
    - Dst: IS_WS
      Src: /src/openssl/crypto/conf/conf_def.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - start
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 929
    functionName: trim_ws
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_WS
    - IS_EOF
    linkageType: ''
    returnType: void
    signature: void trim_ws(CONF *conf, char *start)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:934,1
    - Dst: scan_esc
      Src: /src/openssl/crypto/conf/conf_def.c:935,1
    - Dst: IS_ALNUM_PUNCT
      Src: /src/openssl/crypto/conf/conf_def.c:938,1
    - Dst: IS_DOLLAR
      Src: /src/openssl/crypto/conf/conf_def.c:939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 943
    functionName: eat_alpha_numeric
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_DOLLAR
    - scan_esc
    - IS_ALNUM_PUNCT
    - IS_ESC
    linkageType: ''
    returnType: char
    signature: char *eat_alpha_numeric(CONF *conf, char *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:950,1
    - Dst: IS_ESC
      Src: /src/openssl/crypto/conf/conf_def.c:951,1
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 961
    functionName: scan_quote
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_EOF
    - IS_ESC
    linkageType: ''
    returnType: char
    signature: char *scan_quote(CONF *conf, char *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_EOF
      Src: /src/openssl/crypto/conf/conf_def.c:968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - conf
    - p
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 981
    functionName: scan_dquote
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 1
    functionsReached:
    - IS_EOF
    linkageType: ''
    returnType: char
    signature: char *scan_dquote(CONF *conf, char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/conf/conf_def.c:986,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/conf/conf_def.c:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - CONF_VALUE*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 2
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: dump_value_doall_arg
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void dump_value_doall_arg(const CONF_VALUE *a, BIO *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_CONF_VALUE_doall_BIO
      Src: /src/openssl/crypto/conf/conf_def.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - out
    argTypes:
    - CONF*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 997
    functionName: def_dump
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - lh_CONF_VALUE_doall_BIO
    linkageType: ''
    returnType: int
    signature: int def_dump(const CONF *conf, BIO *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMBER
      Src: /src/openssl/crypto/conf/conf_def.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1002
    functionName: def_is_number
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached:
    - IS_NUMBER
    linkageType: ''
    returnType: int
    signature: int def_is_number(const CONF *conf, char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - c
    argTypes:
    - CONF*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1007
    functionName: def_to_int
    functionSourceFile: /src/openssl/crypto/conf/conf_def.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int def_to_int(const CONF *conf, char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_CONF_VALUE_retrieve
      Src: /src/openssl/crypto/conf/conf_api.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: _CONF_get_section
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 1
    functionsReached:
    - lh_CONF_VALUE_retrieve
    linkageType: ''
    returnType: CONF_VALUE
    signature: CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_api.c:48,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_api.c:50,1
    - Dst: sk_CONF_VALUE_push
      Src: /src/openssl/crypto/conf/conf_api.c:53,1
    - Dst: lh_CONF_VALUE_insert
      Src: /src/openssl/crypto/conf/conf_api.c:56,1
    - Dst: sk_CONF_VALUE_delete_ptr
      Src: /src/openssl/crypto/conf/conf_api.c:58,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:59,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:60,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - conf
    - section
    - value
    argTypes:
    - CONF*
    - CONF_VALUE*
    - CONF_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: _CONF_add_string
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 1
    functionsReached:
    - lh_CONF_VALUE_insert
    - STACK_OF
    - OPENSSL_free
    - sk_CONF_VALUE_delete_ptr
    - sk_CONF_VALUE_push
    linkageType: ''
    returnType: int
    signature: int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/conf/conf_api.c:75,1
    - Dst: lh_CONF_VALUE_retrieve
      Src: /src/openssl/crypto/conf/conf_api.c:81,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_api.c:84,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/conf/conf_api.c:85,1
    - Dst: lh_CONF_VALUE_retrieve
      Src: /src/openssl/crypto/conf/conf_api.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - conf
    - section
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 96
    functionName: _CONF_get_string
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 3
    functionsReached:
    - strcmp
    - ossl_safe_getenv
    - lh_CONF_VALUE_retrieve
    linkageType: ''
    returnType: char
    signature: "char *_CONF_get_string(const CONF *conf, const char *section,\n                       const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/conf/conf_api.c:100,1
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/conf/conf_api.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - CONF_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: conf_value_hash
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long conf_value_hash(const CONF_VALUE *v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_api.c:108,1
    - Dst: strcmp
      Src: /src/openssl/crypto/conf/conf_api.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - CONF_VALUE*
    - CONF_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: conf_value_cmp
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int conf_value_cmp(const CONF_VALUE *a, const CONF_VALUE *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lh_CONF_VALUE_new
      Src: /src/openssl/crypto/conf/conf_api.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: _CONF_new_data
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 1
    functionsReached:
    - lh_CONF_VALUE_new
    linkageType: ''
    returnType: int
    signature: int _CONF_new_data(CONF *conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:141,1
    - Dst: lh_CONF_VALUE_set_down_load
      Src: /src/openssl/crypto/conf/conf_api.c:146,1
    - Dst: lh_CONF_VALUE_doall_LH_CONF_VALUE
      Src: /src/openssl/crypto/conf/conf_api.c:147,1
    - Dst: lh_CONF_VALUE_doall
      Src: /src/openssl/crypto/conf/conf_api.c:154,1
    - Dst: lh_CONF_VALUE_free
      Src: /src/openssl/crypto/conf/conf_api.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: _CONF_free_data
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 1
    functionsReached:
    - lh_CONF_VALUE_doall_LH_CONF_VALUE
    - lh_CONF_VALUE_free
    - OPENSSL_free
    - lh_CONF_VALUE_set_down_load
    - lh_CONF_VALUE_doall
    linkageType: ''
    returnType: void
    signature: void _CONF_free_data(CONF *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_CONF_VALUE_delete
      Src: /src/openssl/crypto/conf/conf_api.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - conf
    argTypes:
    - CONF_VALUE*
    - LHASH_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: value_free_hash
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 0
    functionsReached:
    - lh_CONF_VALUE_delete
    linkageType: ''
    returnType: void
    signature: void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_api.c:167,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_api.c:173,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/conf/conf_api.c:174,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/conf/conf_api.c:175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:176,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:178,1
    - Dst: sk_CONF_VALUE_free
      Src: /src/openssl/crypto/conf/conf_api.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - CONF_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: value_free_stack_doall
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 0
    functionsReached:
    - sk_CONF_VALUE_free
    - sk_CONF_VALUE_num
    - STACK_OF
    - OPENSSL_free
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: void
    signature: void value_free_stack_doall(CONF_VALUE *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/conf/conf_api.c:187,1
    - Dst: sk_CONF_VALUE_new_null
      Src: /src/openssl/crypto/conf/conf_api.c:191,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_api.c:193,1
    - Dst: strlen
      Src: /src/openssl/crypto/conf/conf_api.c:195,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/conf/conf_api.c:196,1
    - Dst: memcpy
      Src: /src/openssl/crypto/conf/conf_api.c:199,1
    - Dst: lh_CONF_VALUE_insert
      Src: /src/openssl/crypto/conf/conf_api.c:203,1
    - Dst: lh_CONF_VALUE_error
      Src: /src/openssl/crypto/conf/conf_api.c:204,1
    - Dst: sk_CONF_VALUE_free
      Src: /src/openssl/crypto/conf/conf_api.c:209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/conf/conf_api.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 214
    functionName: _CONF_new_section
    functionSourceFile: /src/openssl/crypto/conf/conf_api.c
    functionUses: 1
    functionsReached:
    - sk_CONF_VALUE_new_null
    - lh_CONF_VALUE_insert
    - memcpy
    - sk_CONF_VALUE_free
    - lh_CONF_VALUE_error
    - STACK_OF
    - OPENSSL_free
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: CONF_VALUE
    signature: CONF_VALUE *_CONF_new_section(CONF *conf, const char *section)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/conf/conf_err.c:70,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/conf/conf_err.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: ossl_err_load_CONF_strings
    functionSourceFile: /src/openssl/crypto/conf/conf_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_CONF_strings(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MD2_Init
      Src: /src/openssl/crypto/md2/md2_one.c:32,1
    - Dst: MD2_Update
      Src: /src/openssl/crypto/md2/md2_one.c:35,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/md2/md2_one.c:43,1
    - Dst: MD2_Update
      Src: /src/openssl/crypto/md2/md2_one.c:44,1
    - Dst: MD2_Final
      Src: /src/openssl/crypto/md2/md2_one.c:50,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md2/md2_one.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 53
    functionName: MD2
    functionSourceFile: /src/openssl/crypto/md2/md2_one.c
    functionUses: 0
    functionsReached:
    - MD2_Init
    - ebcdic2ascii
    - MD2_Final
    - MD2_Update
    - OPENSSL_cleanse
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *MD2(const unsigned char *d, size_t n, unsigned char
      *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: MD2_options
    functionSourceFile: /src/openssl/crypto/md2/md2_dgst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *MD2_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/md2/md2_dgst.c:80,1
    - Dst: memset
      Src: /src/openssl/crypto/md2/md2_dgst.c:81,1
    - Dst: memset
      Src: /src/openssl/crypto/md2/md2_dgst.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - MD2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: MD2_Init
    functionSourceFile: /src/openssl/crypto/md2/md2_dgst.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int MD2_Init(MD2_CTX *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/md2/md2_dgst.c:96,1
    - Dst: md2_block
      Src: /src/openssl/crypto/md2/md2_dgst.c:97,1
    - Dst: memcpy
      Src: /src/openssl/crypto/md2/md2_dgst.c:103,1
    - Dst: md2_block
      Src: /src/openssl/crypto/md2/md2_dgst.c:114,1
    - Dst: memcpy
      Src: /src/openssl/crypto/md2/md2_dgst.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - MD2_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 121
    functionName: MD2_Update
    functionSourceFile: /src/openssl/crypto/md2/md2_dgst.c
    functionUses: 1
    functionsReached:
    - md2_block
    - memcpy
    linkageType: ''
    returnType: int
    signature: int MD2_Update(MD2_CTX *c, const unsigned char *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/md2/md2_dgst.c:152,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md2/md2_dgst.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - c
    - d
    argTypes:
    - MD2_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 154
    functionName: md2_block
    functionSourceFile: /src/openssl/crypto/md2/md2_dgst.c
    functionUses: 1
    functionsReached:
    - memcpy
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void md2_block(MD2_CTX *c, const unsigned char *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md2_block
      Src: /src/openssl/crypto/md2/md2_dgst.c:169,1
    - Dst: md2_block
      Src: /src/openssl/crypto/md2/md2_dgst.c:173,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/md2/md2_dgst.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - MD2_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: MD2_Final
    functionSourceFile: /src/openssl/crypto/md2/md2_dgst.c
    functionUses: 1
    functionsReached:
    - md2_block
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int MD2_Final(unsigned char *md, MD2_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: HASH_MAKE_STRING
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_STRING(c, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: P0
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: P1
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: P0
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P0(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: P1
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P1(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - X
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: FF0
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FF0(X,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - X
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: GG0
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GG0(X,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - X
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: FF1
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FF1(X,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - X
    - ','
    - Y
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: GG1
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GG1(X,Y,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - W0
    - ','
    - W7
    - ','
    - W13
    - ','
    - W3
    - ','
    - W10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: EXPAND
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND(W0,W7,W13,W3,W10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - F
    - ','
    - G
    - ','
    - H
    - ','
    - TJ
    - ','
    - Wi
    - ','
    - Wj
    - ','
    - FF
    - ','
    - GG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: RND
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RND(A, B, C, D, E, F, G, H, TJ, Wi, Wj, FF, GG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - F
    - ','
    - G
    - ','
    - H
    - ','
    - TJ
    - ','
    - Wi
    - ','
    - Wj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: R1
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(A,B,C,D,E,F,G,H,TJ,Wi,Wj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - F
    - ','
    - G
    - ','
    - H
    - ','
    - TJ
    - ','
    - Wi
    - ','
    - Wj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: R2
    functionSourceFile: /src/openssl/crypto/sm3/sm3_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(A,B,C,D,E,F,G,H,TJ,Wi,Wj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/sm3/sm3.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - SM3_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: ossl_sm3_init
    functionSourceFile: /src/openssl/crypto/sm3/sm3.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int ossl_sm3_init(SM3_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:52,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:53,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:54,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:55,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:56,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:57,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:58,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:59,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:60,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:61,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:62,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:63,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:64,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:65,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:66,1
    - Dst: HOST_c2l
      Src: /src/openssl/crypto/sm3/sm3.c:67,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:69,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:70,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:71,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:72,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:73,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:74,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:75,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:76,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:77,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:78,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:79,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:80,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:81,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:82,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:83,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:84,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:85,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:86,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:87,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:88,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:89,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:90,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:91,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:92,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:93,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:94,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:95,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:96,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:97,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:98,1
    - Dst: R1
      Src: /src/openssl/crypto/sm3/sm3.c:99,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:100,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:101,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:102,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:103,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:104,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:105,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:106,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:107,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:108,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:109,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:110,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:111,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:112,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:113,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:114,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:115,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:116,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:117,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:118,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:119,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:120,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:121,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:122,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:123,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:124,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:125,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:126,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:127,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:128,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:129,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:130,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:131,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:132,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:133,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:134,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:135,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:136,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:137,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:138,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:139,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:140,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:141,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:142,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:143,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:144,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:145,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:146,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:147,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:148,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:149,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:150,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:151,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:152,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:153,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:154,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:155,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:156,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:157,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:158,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:159,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:160,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:161,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:162,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:163,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:164,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:165,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:166,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:167,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:168,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:169,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:170,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:171,1
    - Dst: EXPAND
      Src: /src/openssl/crypto/sm3/sm3.c:172,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:173,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:174,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:175,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:176,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:177,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:178,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:179,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:180,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:181,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:182,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:183,1
    - Dst: R2
      Src: /src/openssl/crypto/sm3/sm3.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 151
    argCount: 3
    argNames:
    - ctx
    - p
    - num
    argTypes:
    - SM3_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 195
    functionName: ossl_sm3_block_data_order
    functionSourceFile: /src/openssl/crypto/sm3/sm3.c
    functionUses: 0
    functionsReached:
    - HOST_c2l
    - EXPAND
    - R2
    - R1
    linkageType: ''
    returnType: void
    signature: void ossl_sm3_block_data_order(SM3_CTX *ctx, const void *p, size_t
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: EVP_sm3
    functionSourceFile: /src/openssl/crypto/sm3/legacy_sm3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *EVP_sm3(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RISCV_HAS_ZVKB_AND_ZVKSH
      Src: /src/openssl/crypto/sm3/sm3_riscv.c:25,1
    - Dst: riscv_vlen
      Src: /src/openssl/crypto/sm3/sm3_riscv.c:25,1
    - Dst: ossl_hwsm3_block_data_order_zvksh
      Src: /src/openssl/crypto/sm3/sm3_riscv.c:26,1
    - Dst: RISCV_HAS_ZBB
      Src: /src/openssl/crypto/sm3/sm3_riscv.c:27,1
    - Dst: ossl_sm3_block_data_order_zbb
      Src: /src/openssl/crypto/sm3/sm3_riscv.c:28,1
    - Dst: ossl_sm3_block_data_order
      Src: /src/openssl/crypto/sm3/sm3_riscv.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - c
    - p
    - num
    argTypes:
    - SM3_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: ossl_hwsm3_block_data_order
    functionSourceFile: /src/openssl/crypto/sm3/sm3_riscv.c
    functionUses: 0
    functionsReached:
    - ossl_sm3_block_data_order
    - RISCV_HAS_ZVKB_AND_ZVKSH
    - RISCV_HAS_ZBB
    - ossl_hwsm3_block_data_order_zvksh
    - riscv_vlen
    - ossl_sm3_block_data_order_zbb
    linkageType: ''
    returnType: void
    signature: void ossl_hwsm3_block_data_order(SM3_CTX *c, const void *p, size_t
      num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/crypto/ct/ct_b64.c:26,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ct/ct_b64.c:36,1
    - Dst: EVP_DecodeBlock
      Src: /src/openssl/crypto/ct/ct_b64.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_b64.c:57,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 59
    functionName: ct_base64_decode
    functionSourceFile: /src/openssl/crypto/ct/ct_b64.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - strlen
    - OPENSSL_malloc
    - EVP_DecodeBlock
    linkageType: ''
    returnType: int
    signature: int ct_base64_decode(const char *in, unsigned char **out)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCT_new
      Src: /src/openssl/crypto/ct/ct_b64.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:72,1
    - Dst: SCT_set_version
      Src: /src/openssl/crypto/ct/ct_b64.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:81,1
    - Dst: ct_base64_decode
      Src: /src/openssl/crypto/ct/ct_b64.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:87,1
    - Dst: SCT_set0_log_id
      Src: /src/openssl/crypto/ct/ct_b64.c:90,1
    - Dst: ct_base64_decode
      Src: /src/openssl/crypto/ct/ct_b64.c:94,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:96,1
    - Dst: SCT_set0_extensions
      Src: /src/openssl/crypto/ct/ct_b64.c:99,1
    - Dst: ct_base64_decode
      Src: /src/openssl/crypto/ct/ct_b64.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:104,1
    - Dst: o2i_SCT_signature
      Src: /src/openssl/crypto/ct/ct_b64.c:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_b64.c:111,1
    - Dst: SCT_set_timestamp
      Src: /src/openssl/crypto/ct/ct_b64.c:114,1
    - Dst: SCT_set_log_entry_type
      Src: /src/openssl/crypto/ct/ct_b64.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_b64.c:122,1
    - Dst: SCT_free
      Src: /src/openssl/crypto/ct/ct_b64.c:123,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 6
    argNames:
    - version
    - logid_base64
    - entry_type
    - timestamp
    - extensions_base64
    - signature_base64
    argTypes:
    - unsigned char
    - char*
    - ct_log_entry_type_t
    - uint64_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 125
    functionName: SCT_new_from_base64
    functionSourceFile: /src/openssl/crypto/ct/ct_b64.c
    functionUses: 0
    functionsReached:
    - SCT_set_log_entry_type
    - SCT_free
    - SCT_set0_log_id
    - ERR_raise
    - SCT_set_timestamp
    - SCT_set0_extensions
    - OPENSSL_free
    - SCT_set_version
    - SCT_new
    - o2i_SCT_signature
    - ct_base64_decode
    linkageType: ''
    returnType: SCT
    signature: "SCT *SCT_new_from_base64(unsigned char version, const char *logid_base64,\n
      \                        ct_log_entry_type_t entry_type, uint64_t timestamp,\n
      \                        const char *extensions_base64,\n                         const
      char *signature_base64)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:143,1
    - Dst: ct_base64_decode
      Src: /src/openssl/crypto/ct/ct_b64.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:149,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/crypto/ct/ct_b64.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_b64.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_b64.c:157,1
    - Dst: CTLOG_new_ex
      Src: /src/openssl/crypto/ct/ct_b64.c:161,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ct/ct_b64.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - ct_log
    - pkey_base64
    - name
    - libctx
    - propq
    argTypes:
    - CTLOG**
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 133
    functionDepth: 6
    functionLinenumber: 133
    functionLinenumberEnd: 168
    functionName: CTLOG_new_from_base64_ex
    functionSourceFile: /src/openssl/crypto/ct/ct_b64.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    - OPENSSL_free
    - CTLOG_new_ex
    - d2i_PUBKEY_ex
    - ct_base64_decode
    linkageType: ''
    returnType: int
    signature: "int CTLOG_new_from_base64_ex(CTLOG **ct_log, const char *pkey_base64,\n
      \                            const char *name, OSSL_LIB_CTX *libctx,\n                             const
      char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_new_from_base64_ex
      Src: /src/openssl/crypto/ct/ct_b64.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ct_log
    - pkey_base64
    - name
    argTypes:
    - CTLOG**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 7
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: CTLOG_new_from_base64
    functionSourceFile: /src/openssl/crypto/ct/ct_b64.c
    functionUses: 0
    functionsReached:
    - CTLOG_new_from_base64_ex
    linkageType: ''
    returnType: int
    signature: "int CTLOG_new_from_base64(CTLOG **ct_log, const char *pkey_base64,\n
      \                         const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: n2s
    functionSourceFile: /src/openssl/crypto/ct/ct_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2s(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: s2n
    functionSourceFile: /src/openssl/crypto/ct/ct_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s2n(s,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: l2n3
    functionSourceFile: /src/openssl/crypto/ct/ct_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2n3(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: n2l8
    functionSourceFile: /src/openssl/crypto/ct/ct_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2l8(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: l2n8
    functionSourceFile: /src/openssl/crypto/ct/ct_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2n8(l,c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:25,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:32,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: SCT_CTX_new
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: SCT_CTX
    signature: SCT_CTX *SCT_CTX_new(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:48,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:49,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:50,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:51,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sctx
    argTypes:
    - SCT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: SCT_CTX_free
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void SCT_CTX_free(SCT_CTX *sctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:62,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - cert
    - nid
    - is_duplicated
    argTypes:
    - X509*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ct_x509_get_ext
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int ct_x509_get_ext(X509 *cert, int nid, int *is_duplicated)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ct_x509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:83,1
    - Dst: ct_x509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:85,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:100,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:100,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:104,1
    - Dst: X509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:105,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:111,1
    - Dst: X509_EXTENSION_set_data
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - cert
    - presigner
    argTypes:
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 117
    functionName: ct_x509_cert_fixup
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - X509_EXTENSION_set_data
    - X509_get_issuer_name
    - X509_get_ext
    - X509_EXTENSION_get_data
    - X509_set_issuer_name
    - ct_x509_get_ext
    linkageType: ''
    returnType: __owur
    signature: __owur ct_x509_cert_fixup(X509 *cert, X509 *presigner)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ct_x509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:126,1
    - Dst: i2d_X509
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:138,1
    - Dst: ct_x509_get_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:144,1
    - Dst: X509_dup
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:169,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:173,1
    - Dst: X509_delete_ext
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:173,1
    - Dst: ct_x509_cert_fixup
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:175,1
    - Dst: i2d_re_X509_tbs
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:178,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:185,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:195,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:196,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:197,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - sctx
    - cert
    - presigner
    argTypes:
    - SCT_CTX*
    - X509*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 199
    functionName: SCT_CTX_set1_cert
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - ct_x509_cert_fixup
    - i2d_re_X509_tbs
    - X509_EXTENSION_free
    - i2d_X509
    - X509_delete_ext
    - X509_dup
    - X509_free
    - OPENSSL_free
    - ct_x509_get_ext
    linkageType: ''
    returnType: int
    signature: int SCT_CTX_set1_cert(SCT_CTX *sctx, X509 *cert, X509 *presigner)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:208,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:217,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:223,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:231,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:239,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:240,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:241,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - sctx
    - pkey
    - hash
    - hash_len
    argTypes:
    - SCT_CTX*
    - X509_PUBKEY*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 201
    functionDepth: 10
    functionLinenumber: 201
    functionLinenumberEnd: 243
    functionName: ct_public_key_hash
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - i2d_X509_PUBKEY
    - EVP_Digest
    - OPENSSL_free
    - EVP_MD_fetch
    - OPENSSL_malloc
    linkageType: ''
    returnType: __owur
    signature: "__owur ct_public_key_hash(SCT_CTX *sctx, X509_PUBKEY *pkey,\n                                     unsigned
      char **hash, size_t *hash_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCT_CTX_set1_issuer_pubkey
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:247,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sctx
    - issuer
    argTypes:
    - SCT_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: SCT_CTX_set1_issuer
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - SCT_CTX_set1_issuer_pubkey
    - X509_get_X509_PUBKEY
    linkageType: ''
    returnType: int
    signature: int SCT_CTX_set1_issuer(SCT_CTX *sctx, const X509 *issuer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ct_public_key_hash
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sctx
    - pubkey
    argTypes:
    - SCT_CTX*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 11
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: SCT_CTX_set1_issuer_pubkey
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 1
    functionsReached:
    - ct_public_key_hash
    linkageType: ''
    returnType: int
    signature: int SCT_CTX_set1_issuer_pubkey(SCT_CTX *sctx, X509_PUBKEY *pubkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:257,1
    - Dst: ct_public_key_hash
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:262,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:263,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ct/ct_sct_ctx.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sctx
    - pubkey
    argTypes:
    - SCT_CTX*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 11
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: SCT_CTX_set1_pubkey
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get
    - ct_public_key_hash
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int SCT_CTX_set1_pubkey(SCT_CTX *sctx, X509_PUBKEY *pubkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sctx
    - time_in_ms
    argTypes:
    - SCT_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: SCT_CTX_set_time
    functionSourceFile: /src/openssl/crypto/ct/ct_sct_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SCT_CTX_set_time(SCT_CTX *sctx, uint64_t time_in_ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ct/ct_policy.c:31,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ct/ct_policy.c:39,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_policy.c:41,1
    - Dst: ossl_time_add
      Src: /src/openssl/crypto/ct/ct_policy.c:46,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/ct/ct_policy.c:46,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/crypto/ct/ct_policy.c:47,1
    - Dst: ossl_time2ms
      Src: /src/openssl/crypto/ct/ct_policy.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: CT_POLICY_EVAL_CTX_new_ex
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - OPENSSL_strdup
    - ossl_time_now
    - ossl_seconds2time
    - ossl_time2ms
    - ossl_time_add
    linkageType: ''
    returnType: CT_POLICY_EVAL_CTX
    signature: "CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new_ex(OSSL_LIB_CTX *libctx,\n
      \                                             const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CT_POLICY_EVAL_CTX_new_ex
      Src: /src/openssl/crypto/ct/ct_policy.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: CT_POLICY_EVAL_CTX_new
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached:
    - CT_POLICY_EVAL_CTX_new_ex
    linkageType: ''
    returnType: CT_POLICY_EVAL_CTX
    signature: CT_POLICY_EVAL_CTX *CT_POLICY_EVAL_CTX_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/crypto/ct/ct_policy.c:62,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ct/ct_policy.c:63,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_policy.c:64,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_policy.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: CT_POLICY_EVAL_CTX_free
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached:
    - X509_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/ct/ct_policy.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: CT_POLICY_EVAL_CTX_set1_cert
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached:
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/ct/ct_policy.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - issuer
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: CT_POLICY_EVAL_CTX_set1_issuer
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached:
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - log_store
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - CTLOG_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX
      *ctx,\n                                               CTLOG_STORE *log_store)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - time_in_ms
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: CT_POLICY_EVAL_CTX_set_time
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CT_POLICY_EVAL_CTX_set_time(CT_POLICY_EVAL_CTX *ctx, uint64_t
      time_in_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: CT_POLICY_EVAL_CTX_get0_cert
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 * CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: CT_POLICY_EVAL_CTX_get0_issuer
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 * CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: CT_POLICY_EVAL_CTX_get0_log_store
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CTLOG_STORE
    signature: CTLOG_STORE *CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: CT_POLICY_EVAL_CTX_get_time
    functionSourceFile: /src/openssl/crypto/ct/ct_policy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t CT_POLICY_EVAL_CTX_get_time(const CT_POLICY_EVAL_CTX *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: l2n8
      Src: /src/openssl/crypto/ct/ct_vfy.c:55,1
    - Dst: s2n
      Src: /src/openssl/crypto/ct/ct_vfy.c:56,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ct/ct_vfy.c:58,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ct/ct_vfy.c:65,1
    - Dst: l2n3
      Src: /src/openssl/crypto/ct/ct_vfy.c:77,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ct/ct_vfy.c:79,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ct/ct_vfy.c:81,1
    - Dst: s2n
      Src: /src/openssl/crypto/ct/ct_vfy.c:86,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ct/ct_vfy.c:87,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ct/ct_vfy.c:90,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - sctx
    - sct
    argTypes:
    - EVP_MD_CTX*
    - SCT_CTX*
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 94
    functionName: sct_ctx_update
    functionSourceFile: /src/openssl/crypto/ct/ct_vfy.c
    functionUses: 0
    functionsReached:
    - l2n8
    - l2n3
    - s2n
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int sct_ctx_update(EVP_MD_CTX *ctx, const SCT_CTX *sctx, const SCT
      *sct)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCT_is_complete
      Src: /src/openssl/crypto/ct/ct_vfy.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:104,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:108,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ct/ct_vfy.c:112,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:117,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ct/ct_vfy.c:121,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/crypto/ct/ct_vfy.c:125,1
    - Dst: sct_ctx_update
      Src: /src/openssl/crypto/ct/ct_vfy.c:129,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/crypto/ct/ct_vfy.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_vfy.c:136,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ct/ct_vfy.c:139,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - sctx
    - sct
    argTypes:
    - SCT_CTX*
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 96
    functionDepth: 8
    functionLinenumber: 96
    functionLinenumberEnd: 141
    functionName: SCT_CTX_verify
    functionSourceFile: /src/openssl/crypto/ct/ct_vfy.c
    functionUses: 0
    functionsReached:
    - memcmp
    - EVP_DigestVerifyInit_ex
    - SCT_is_complete
    - ERR_raise
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - sct_ctx_update
    - EVP_DigestVerifyFinal
    linkageType: ''
    returnType: int
    signature: int SCT_CTX_verify(const SCT_CTX *sctx, const SCT *sct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCT_get_signature_nid
      Src: /src/openssl/crypto/ct/ct_prn.c:21,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:24,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:26,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/ct/ct_prn.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sct
    - out
    argTypes:
    - SCT*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: SCT_signature_algorithms_print
    functionSourceFile: /src/openssl/crypto/ct/ct_prn.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - SCT_get_signature_nid
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void SCT_signature_algorithms_print(const SCT *sct, BIO *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/crypto/ct/ct_prn.c:31,1
    - Dst: ASN1_GENERALIZEDTIME_adj
      Src: /src/openssl/crypto/ct/ct_prn.c:36,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/ct/ct_prn.c:43,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ct/ct_prn.c:44,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/ct/ct_prn.c:45,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ct/ct_prn.c:46,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/crypto/ct/ct_prn.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - timestamp
    - out
    argTypes:
    - uint64_t
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 6
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: timestamp_print
    functionSourceFile: /src/openssl/crypto/ct/ct_prn.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_set_string
    - ASN1_GENERALIZEDTIME_new
    - ASN1_GENERALIZEDTIME_print
    - ASN1_GENERALIZEDTIME_adj
    - ASN1_STRING_get0_data
    - BIO_snprintf
    - ASN1_GENERALIZEDTIME_free
    linkageType: ''
    returnType: void
    signature: void timestamp_print(uint64_t timestamp, BIO *out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCT_get_validation_status
      Src: /src/openssl/crypto/ct/ct_prn.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: SCT_validation_status_string
    functionSourceFile: /src/openssl/crypto/ct/ct_prn.c
    functionUses: 0
    functionsReached:
    - SCT_get_validation_status
    linkageType: ''
    returnType: char
    signature: char *SCT_validation_status_string(const SCT *sct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_get0_log_by_id
      Src: /src/openssl/crypto/ct/ct_prn.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:80,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:81,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:84,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/ct/ct_prn.c:85,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:92,1
    - Dst: CTLOG_get0_name
      Src: /src/openssl/crypto/ct/ct_prn.c:93,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:96,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/ct/ct_prn.c:97,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:99,1
    - Dst: timestamp_print
      Src: /src/openssl/crypto/ct/ct_prn.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:104,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/ct/ct_prn.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:108,1
    - Dst: SCT_signature_algorithms_print
      Src: /src/openssl/crypto/ct/ct_prn.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:110,1
    - Dst: BIO_hex_string
      Src: /src/openssl/crypto/ct/ct_prn.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - sct
    - out
    - indent
    - log_store
    argTypes:
    - SCT*
    - BIO*
    - int
    - CTLOG_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: SCT_print
    functionSourceFile: /src/openssl/crypto/ct/ct_prn.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_get0_log_by_id
    - CTLOG_get0_name
    - BIO_hex_string
    - SCT_signature_algorithms_print
    - timestamp_print
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void SCT_print(const SCT *sct, BIO *out, int indent,\n               const
      CTLOG_STORE *log_store)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_SCT_num
      Src: /src/openssl/crypto/ct/ct_prn.c:117,1
    - Dst: sk_SCT_value
      Src: /src/openssl/crypto/ct/ct_prn.c:121,1
    - Dst: SCT_print
      Src: /src/openssl/crypto/ct/ct_prn.c:123,1
    - Dst: sk_SCT_num
      Src: /src/openssl/crypto/ct/ct_prn.c:124,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ct/ct_prn.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - sct_list
    - out
    - indent
    - separator
    - log_store
    argTypes:
    - STACK_OF*
    - BIO*
    - int
    - char*
    - CTLOG_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 8
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: SCT_LIST_print
    functionSourceFile: /src/openssl/crypto/ct/ct_prn.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - sk_SCT_num
    - sk_SCT_value
    - SCT_print
    linkageType: ''
    returnType: void
    signature: "void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent,\n
      \                   const char *separator, const CTLOG_STORE *log_store)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/ct/ct_err.c:54,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/ct/ct_err.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ossl_err_load_CT_strings
    functionSourceFile: /src/openssl/crypto/ct/ct_err.c
    functionUses: 0
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_CT_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ct/ct_sct.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: SCT_new
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: SCT
    signature: SCT *SCT_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:39,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: SCT_free
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void SCT_free(SCT *sct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_sct.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sct
    - version
    argTypes:
    - SCT*
    - sct_version_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: SCT_set_version
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SCT_set_version(SCT *sct, sct_version_t version)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_sct.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sct
    - entry_type
    argTypes:
    - SCT*
    - ct_log_entry_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: SCT_set_log_entry_type
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_sct.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sct
    - log_id
    - log_id_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: SCT_set0_log_id
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_sct.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:99,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ct/ct_sct.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sct
    - log_id
    - log_id_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: SCT_set1_log_id
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ERR_raise
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int SCT_set1_log_id(SCT *sct, const unsigned char *log_id, size_t log_id_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sct
    - timestamp
    argTypes:
    - SCT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: SCT_set_timestamp
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SCT_set_timestamp(SCT *sct, uint64_t timestamp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_sct.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - sct
    - nid
    argTypes:
    - SCT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: SCT_set_signature_nid
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SCT_set_signature_nid(SCT *sct, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sct
    - ext
    - ext_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: SCT_set0_extensions
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:149,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ct/ct_sct.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sct
    - ext
    - ext_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: SCT_set1_extensions
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int SCT_set1_extensions(SCT *sct, const unsigned char *ext, size_t
      ext_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sct
    - sig
    - sig_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: SCT_set0_signature
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_sct.c:173,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ct/ct_sct.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sct
    - sig
    - sig_len
    argTypes:
    - SCT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: SCT_set1_signature
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int SCT_set1_signature(SCT *sct, const unsigned char *sig, size_t sig_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: SCT_get_version
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sct_version_t
    signature: sct_version_t SCT_get_version(const SCT *sct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: SCT_get_log_entry_type
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ct_log_entry_type_t
    signature: ct_log_entry_type_t SCT_get_log_entry_type(const SCT *sct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sct
    - log_id
    argTypes:
    - SCT*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: SCT_get0_log_id
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: SCT_get_timestamp
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SCT_get_timestamp(const SCT *sct)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: SCT_get_signature_nid
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SCT_get_signature_nid(const SCT *sct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sct
    - ext
    argTypes:
    - SCT*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: SCT_get0_extensions
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sct
    - sig
    argTypes:
    - SCT*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: SCT_get0_signature
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SCT_get0_signature(const SCT *sct, unsigned char **sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCT_signature_is_complete
      Src: /src/openssl/crypto/ct/ct_sct.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: SCT_is_complete
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached:
    - SCT_signature_is_complete
    linkageType: ''
    returnType: int
    signature: int SCT_is_complete(const SCT *sct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCT_get_signature_nid
      Src: /src/openssl/crypto/ct/ct_sct.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: SCT_signature_is_complete
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached:
    - SCT_get_signature_nid
    linkageType: ''
    returnType: int
    signature: int SCT_signature_is_complete(const SCT *sct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: SCT_get_source
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sct_source_t
    signature: sct_source_t SCT_get_source(const SCT *sct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCT_set_log_entry_type
      Src: /src/openssl/crypto/ct/ct_sct.c:267,1
    - Dst: SCT_set_log_entry_type
      Src: /src/openssl/crypto/ct/ct_sct.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sct
    - source
    argTypes:
    - SCT*
    - sct_source_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: SCT_set_source
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - SCT_set_log_entry_type
    linkageType: ''
    returnType: int
    signature: int SCT_set_source(SCT *sct, sct_source_t source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sct
    argTypes:
    - SCT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: SCT_get_validation_status
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: sct_validation_status_t
    signature: sct_validation_status_t SCT_get_validation_status(const SCT *sct)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_get0_log_by_id
      Src: /src/openssl/crypto/ct/ct_sct.c:298,1
    - Dst: SCT_CTX_new
      Src: /src/openssl/crypto/ct/ct_sct.c:307,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/ct/ct_sct.c:311,1
    - Dst: CTLOG_get0_public_key
      Src: /src/openssl/crypto/ct/ct_sct.c:311,1
    - Dst: SCT_CTX_set1_pubkey
      Src: /src/openssl/crypto/ct/ct_sct.c:313,1
    - Dst: SCT_get_log_entry_type
      Src: /src/openssl/crypto/ct/ct_sct.c:316,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/ct/ct_sct.c:324,1
    - Dst: X509_PUBKEY_set
      Src: /src/openssl/crypto/ct/ct_sct.c:326,1
    - Dst: SCT_CTX_set1_issuer_pubkey
      Src: /src/openssl/crypto/ct/ct_sct.c:328,1
    - Dst: SCT_CTX_set_time
      Src: /src/openssl/crypto/ct/ct_sct.c:332,1
    - Dst: SCT_CTX_set1_cert
      Src: /src/openssl/crypto/ct/ct_sct.c:352,1
    - Dst: SCT_CTX_verify
      Src: /src/openssl/crypto/ct/ct_sct.c:355,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/ct/ct_sct.c:361,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/crypto/ct/ct_sct.c:362,1
    - Dst: SCT_CTX_free
      Src: /src/openssl/crypto/ct/ct_sct.c:363,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - sct
    - ctx
    argTypes:
    - SCT*
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 282
    functionDepth: 12
    functionLinenumber: 282
    functionLinenumberEnd: 366
    functionName: SCT_validate
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_get0_log_by_id
    - CTLOG_get0_public_key
    - SCT_CTX_set1_issuer_pubkey
    - X509_get0_pubkey
    - SCT_CTX_free
    - SCT_CTX_set1_pubkey
    - SCT_CTX_new
    - X509_PUBKEY_free
    - SCT_CTX_set_time
    - SCT_CTX_set1_cert
    - SCT_CTX_verify
    - SCT_get_log_entry_type
    - X509_PUBKEY_set
    linkageType: ''
    returnType: int
    signature: int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_SCT_num
      Src: /src/openssl/crypto/ct/ct_sct.c:371,1
    - Dst: sk_SCT_value
      Src: /src/openssl/crypto/ct/ct_sct.c:376,1
    - Dst: SCT_validate
      Src: /src/openssl/crypto/ct/ct_sct.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - scts
    - ctx
    argTypes:
    - STACK_OF*
    - CT_POLICY_EVAL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 368
    functionDepth: 13
    functionLinenumber: 368
    functionLinenumberEnd: 388
    functionName: SCT_LIST_validate
    functionSourceFile: /src/openssl/crypto/ct/ct_sct.c
    functionUses: 0
    functionsReached:
    - sk_SCT_num
    - SCT_validate
    - sk_SCT_value
    linkageType: ''
    returnType: int
    signature: int SCT_LIST_validate(const STACK_OF(SCT) *scts, CT_POLICY_EVAL_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ct/ct_log.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: ctlog_store_load_ctx_new
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CTLOG_STORE_LOAD_CTX
    signature: CTLOG_STORE_LOAD_CTX *ctlog_store_load_ctx_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - CTLOG_STORE_LOAD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ctlog_store_load_ctx_free
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ctlog_store_load_ctx_free(CTLOG_STORE_LOAD_CTX* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_PUBKEY
      Src: /src/openssl/crypto/ct/ct_log.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:83,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ct/ct_log.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:88,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/ct/ct_log.c:92,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ct/ct_log.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - log
    - pkey
    argTypes:
    - CTLOG*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 12
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: ct_v1_log_id_from_pkey
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - EVP_Digest
    - OPENSSL_free
    - EVP_MD_fetch
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int ct_v1_log_id_from_pkey(CTLOG *log, EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ct/ct_log.c:102,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ct/ct_log.c:109,1
    - Dst: sk_CTLOG_new_null
      Src: /src/openssl/crypto/ct/ct_log.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:116,1
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/crypto/ct/ct_log.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 124
    functionName: CTLOG_STORE_new_ex
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_free
    - OPENSSL_zalloc
    - ERR_raise
    - sk_CTLOG_new_null
    - OPENSSL_strdup
    linkageType: ''
    returnType: CTLOG_STORE
    signature: CTLOG_STORE *CTLOG_STORE_new_ex(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_new_ex
      Src: /src/openssl/crypto/ct/ct_log.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: CTLOG_STORE_new
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_new_ex
    linkageType: ''
    returnType: CTLOG_STORE
    signature: CTLOG_STORE *CTLOG_STORE_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:134,1
    - Dst: sk_CTLOG_pop_free
      Src: /src/openssl/crypto/ct/ct_log.c:135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - store
    argTypes:
    - CTLOG_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: CTLOG_STORE_free
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - sk_CTLOG_pop_free
    linkageType: ''
    returnType: void
    signature: void CTLOG_STORE_free(CTLOG_STORE *store)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ct/ct_log.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:147,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ct/ct_log.c:151,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:153,1
    - Dst: CTLOG_new_from_base64_ex
      Src: /src/openssl/crypto/ct/ct_log.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - store
    - ct_log
    - conf
    - section
    argTypes:
    - CTLOG_STORE*
    - CTLOG**
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 7
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: ctlog_new_from_conf
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - NCONF_get_string
    - CTLOG_new_from_base64_ex
    linkageType: ''
    returnType: int
    signature: "int ctlog_new_from_conf(CTLOG_STORE *store, CTLOG **ct_log,\n                               const
      CONF *conf, const char *section)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/crypto/ct/ct_log.c:163,1
    - Dst: CTLOG_STORE_load_file
      Src: /src/openssl/crypto/ct/ct_log.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - store
    argTypes:
    - CTLOG_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: CTLOG_STORE_load_default_file
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - ossl_safe_getenv
    - CTLOG_STORE_load_file
    linkageType: ''
    returnType: int
    signature: int CTLOG_STORE_load_default_file(CTLOG_STORE *store)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/ct/ct_log.c:190,1
    - Dst: ctlog_new_from_conf
      Src: /src/openssl/crypto/ct/ct_log.c:194,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:195,1
    - Dst: sk_CTLOG_push
      Src: /src/openssl/crypto/ct/ct_log.c:207,1
    - Dst: CTLOG_free
      Src: /src/openssl/crypto/ct/ct_log.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - log_name
    - log_name_len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 8
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: ctlog_store_load_log
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CTLOG_free
    - ctlog_new_from_conf
    - sk_CTLOG_push
    - OPENSSL_free
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: "int ctlog_store_load_log(const char *log_name, int log_name_len,\n
      \                               void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctlog_store_load_ctx_new
      Src: /src/openssl/crypto/ct/ct_log.c:219,1
    - Dst: NCONF_new
      Src: /src/openssl/crypto/ct/ct_log.c:224,1
    - Dst: NCONF_load
      Src: /src/openssl/crypto/ct/ct_log.c:228,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:229,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ct/ct_log.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:235,1
    - Dst: CONF_parse_list
      Src: /src/openssl/crypto/ct/ct_log.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_log.c:241,1
    - Dst: NCONF_free
      Src: /src/openssl/crypto/ct/ct_log.c:247,1
    - Dst: ctlog_store_load_ctx_free
      Src: /src/openssl/crypto/ct/ct_log.c:248,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - store
    - file
    argTypes:
    - CTLOG_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 250
    functionName: CTLOG_STORE_load_file
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ctlog_store_load_ctx_free
    - NCONF_load
    - CONF_parse_list
    - NCONF_new
    - NCONF_free
    - NCONF_get_string
    - ctlog_store_load_ctx_new
    linkageType: ''
    returnType: int
    signature: int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ct/ct_log.c:260,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ct/ct_log.c:267,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ct/ct_log.c:272,1
    - Dst: ct_v1_log_id_from_pkey
      Src: /src/openssl/crypto/ct/ct_log.c:276,1
    - Dst: CTLOG_free
      Src: /src/openssl/crypto/ct/ct_log.c:282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - public_key
    - name
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 257
    functionDepth: 13
    functionLinenumber: 257
    functionLinenumberEnd: 284
    functionName: CTLOG_new_ex
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - ct_v1_log_id_from_pkey
    - CTLOG_free
    linkageType: ''
    returnType: CTLOG
    signature: "CTLOG *CTLOG_new_ex(EVP_PKEY *public_key, const char *name, OSSL_LIB_CTX
      *libctx,\n                    const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_new_ex
      Src: /src/openssl/crypto/ct/ct_log.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - public_key
    - name
    argTypes:
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 14
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: CTLOG_new
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached:
    - CTLOG_new_ex
    linkageType: ''
    returnType: CTLOG
    signature: CTLOG *CTLOG_new(EVP_PKEY *public_key, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:295,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ct/ct_log.c:296,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:297,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_log.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - log
    argTypes:
    - CTLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: CTLOG_free
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void CTLOG_free(CTLOG *log)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log
    argTypes:
    - CTLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: CTLOG_get0_name
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *CTLOG_get0_name(const CTLOG *log)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - log
    - log_id
    - log_id_len
    argTypes:
    - CTLOG*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: CTLOG_get0_log_id
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id,\n
      \                      size_t *log_id_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log
    argTypes:
    - CTLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: CTLOG_get0_public_key
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *CTLOG_get0_public_key(const CTLOG *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_CTLOG_num
      Src: /src/openssl/crypto/ct/ct_log.c:329,1
    - Dst: sk_CTLOG_value
      Src: /src/openssl/crypto/ct/ct_log.c:330,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ct/ct_log.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - store
    - log_id
    - log_id_len
    argTypes:
    - CTLOG_STORE*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: CTLOG_STORE_get0_log_by_id
    functionSourceFile: /src/openssl/crypto/ct/ct_log.c
    functionUses: 2
    functionsReached:
    - sk_CTLOG_num
    - memcmp
    - sk_CTLOG_value
    linkageType: ''
    returnType: CTLOG
    signature: "CTLOG *CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store,\n                                        const
      uint8_t *log_id,\n                                        size_t log_id_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:31,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:42,1
    - Dst: SCT_get_signature_nid
      Src: /src/openssl/crypto/ct/ct_oct.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:51,1
    - Dst: n2s
      Src: /src/openssl/crypto/ct/ct_oct.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:58,1
    - Dst: SCT_set1_signature
      Src: /src/openssl/crypto/ct/ct_oct.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - sct
    - in
    - len
    argTypes:
    - SCT*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 68
    functionName: o2i_SCT_signature
    functionSourceFile: /src/openssl/crypto/ct/ct_oct.c
    functionUses: 1
    functionsReached:
    - SCT_get_signature_nid
    - ERR_raise
    - SCT_set1_signature
    - n2s
    linkageType: ''
    returnType: int
    signature: int o2i_SCT_signature(SCT *sct, const unsigned char **in, size_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:76,1
    - Dst: SCT_new
      Src: /src/openssl/crypto/ct/ct_oct.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:99,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ct/ct_oct.c:104,1
    - Dst: n2l8
      Src: /src/openssl/crypto/ct/ct_oct.c:110,1
    - Dst: n2s
      Src: /src/openssl/crypto/ct/ct_oct.c:112,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:114,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ct/ct_oct.c:118,1
    - Dst: o2i_SCT_signature
      Src: /src/openssl/crypto/ct/ct_oct.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:128,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/ct/ct_oct.c:135,1
    - Dst: SCT_free
      Src: /src/openssl/crypto/ct/ct_oct.c:143,1
    - Dst: SCT_free
      Src: /src/openssl/crypto/ct/ct_oct.c:149,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 3
    argNames:
    - psct
    - in
    - len
    argTypes:
    - SCT**
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 151
    functionName: o2i_SCT
    functionSourceFile: /src/openssl/crypto/ct/ct_oct.c
    functionUses: 0
    functionsReached:
    - SCT_free
    - ERR_raise
    - n2l8
    - OPENSSL_memdup
    - n2s
    - SCT_new
    - o2i_SCT_signature
    linkageType: ''
    returnType: SCT
    signature: SCT *o2i_SCT(SCT **psct, const unsigned char **in, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCT_signature_is_complete
      Src: /src/openssl/crypto/ct/ct_oct.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:164,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ct/ct_oct.c:180,1
    - Dst: s2n
      Src: /src/openssl/crypto/ct/ct_oct.c:188,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ct/ct_oct.c:189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_oct.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - sct
    - out
    argTypes:
    - SCT*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 196
    functionName: i2o_SCT_signature
    functionSourceFile: /src/openssl/crypto/ct/ct_oct.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - s2n
    - OPENSSL_free
    - SCT_signature_is_complete
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int i2o_SCT_signature(const SCT *sct, unsigned char **out)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCT_is_complete
      Src: /src/openssl/crypto/ct/ct_oct.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:204,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ct/ct_oct.c:227,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ct/ct_oct.c:235,1
    - Dst: l2n8
      Src: /src/openssl/crypto/ct/ct_oct.c:237,1
    - Dst: s2n
      Src: /src/openssl/crypto/ct/ct_oct.c:238,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ct/ct_oct.c:240,1
    - Dst: i2o_SCT_signature
      Src: /src/openssl/crypto/ct/ct_oct.c:243,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ct/ct_oct.c:246,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_oct.c:251,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - sct
    - out
    argTypes:
    - SCT*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 253
    functionName: i2o_SCT
    functionSourceFile: /src/openssl/crypto/ct/ct_oct.c
    functionUses: 0
    functionsReached:
    - SCT_is_complete
    - ERR_raise
    - l2n8
    - memcpy
    - s2n
    - OPENSSL_free
    - i2o_SCT_signature
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int i2o_SCT(const SCT *sct, unsigned char **out)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: i2o_SCT_LIST
      Src: /src/openssl/crypto/ct/ct_oct.c:327,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ct/ct_oct.c:328,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ct/ct_oct.c:331,1
    - Dst: sk_SCT_num
      Src: /src/openssl/crypto/ct/ct_oct.c:339,1
    - Dst: i2o_SCT
      Src: /src/openssl/crypto/ct/ct_oct.c:343,1
    - Dst: sk_SCT_value
      Src: /src/openssl/crypto/ct/ct_oct.c:343,1
    - Dst: s2n
      Src: /src/openssl/crypto/ct/ct_oct.c:345,1
    - Dst: i2o_SCT
      Src: /src/openssl/crypto/ct/ct_oct.c:347,1
    - Dst: sk_SCT_value
      Src: /src/openssl/crypto/ct/ct_oct.c:347,1
    - Dst: s2n
      Src: /src/openssl/crypto/ct/ct_oct.c:358,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_oct.c:366,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - a
    - pp
    argTypes:
    - STACK_OF*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 370
    functionName: i2o_SCT_LIST
    functionSourceFile: /src/openssl/crypto/ct/ct_oct.c
    functionUses: 1
    functionsReached:
    - i2o_SCT_LIST
    - i2o_SCT
    - ERR_raise
    - s2n
    - OPENSSL_free
    - sk_SCT_num
    - sk_SCT_value
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2o_SCT_LIST
      Src: /src/openssl/crypto/ct/ct_oct.c:397,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/ct/ct_oct.c:400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ct/ct_oct.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - STACK_OF*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 391
    functionDepth: 5
    functionLinenumber: 391
    functionLinenumberEnd: 403
    functionName: i2d_SCT_LIST
    functionSourceFile: /src/openssl/crypto/ct/ct_oct.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - i2d_ASN1_OCTET_STRING
    - i2o_SCT_LIST
    linkageType: ''
    returnType: int
    signature: int i2d_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ct/ct_x509v3.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - val
    argTypes:
    - X509V3_EXT_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: i2s_poison
    functionSourceFile: /src/openssl/crypto/ct/ct_x509v3.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *i2s_poison(const X509V3_EXT_METHOD *method, void *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_NULL_new
      Src: /src/openssl/crypto/ct/ct_x509v3.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - ctx
    - str
    argTypes:
    - X509V3_EXT_METHOD*
    - X509V3_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: s2i_poison
    functionSourceFile: /src/openssl/crypto/ct/ct_x509v3.c
    functionUses: 0
    functionsReached:
    - ASN1_NULL_new
    linkageType: ''
    returnType: void
    signature: void *s2i_poison(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx,
      const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_load_ERR_strings
      Src: /src/openssl/crypto/err/err_all.c:52,1
    - Dst: ossl_err_load_BN_strings
      Src: /src/openssl/crypto/err/err_all.c:53,1
    - Dst: ossl_err_load_RSA_strings
      Src: /src/openssl/crypto/err/err_all.c:54,1
    - Dst: ossl_err_load_DH_strings
      Src: /src/openssl/crypto/err/err_all.c:56,1
    - Dst: ossl_err_load_EVP_strings
      Src: /src/openssl/crypto/err/err_all.c:58,1
    - Dst: ossl_err_load_BUF_strings
      Src: /src/openssl/crypto/err/err_all.c:59,1
    - Dst: ossl_err_load_OBJ_strings
      Src: /src/openssl/crypto/err/err_all.c:60,1
    - Dst: ossl_err_load_PEM_strings
      Src: /src/openssl/crypto/err/err_all.c:61,1
    - Dst: ossl_err_load_DSA_strings
      Src: /src/openssl/crypto/err/err_all.c:63,1
    - Dst: ossl_err_load_X509_strings
      Src: /src/openssl/crypto/err/err_all.c:65,1
    - Dst: ossl_err_load_ASN1_strings
      Src: /src/openssl/crypto/err/err_all.c:66,1
    - Dst: ossl_err_load_CONF_strings
      Src: /src/openssl/crypto/err/err_all.c:67,1
    - Dst: ossl_err_load_CRYPTO_strings
      Src: /src/openssl/crypto/err/err_all.c:68,1
    - Dst: ossl_err_load_COMP_strings
      Src: /src/openssl/crypto/err/err_all.c:70,1
    - Dst: ossl_err_load_EC_strings
      Src: /src/openssl/crypto/err/err_all.c:73,1
    - Dst: ossl_err_load_BIO_strings
      Src: /src/openssl/crypto/err/err_all.c:76,1
    - Dst: ossl_err_load_PKCS7_strings
      Src: /src/openssl/crypto/err/err_all.c:77,1
    - Dst: ossl_err_load_X509V3_strings
      Src: /src/openssl/crypto/err/err_all.c:78,1
    - Dst: ossl_err_load_PKCS12_strings
      Src: /src/openssl/crypto/err/err_all.c:79,1
    - Dst: ossl_err_load_RAND_strings
      Src: /src/openssl/crypto/err/err_all.c:80,1
    - Dst: ossl_err_load_DSO_strings
      Src: /src/openssl/crypto/err/err_all.c:81,1
    - Dst: ossl_err_load_TS_strings
      Src: /src/openssl/crypto/err/err_all.c:83,1
    - Dst: ossl_err_load_ENGINE_strings
      Src: /src/openssl/crypto/err/err_all.c:86,1
    - Dst: ossl_err_load_HTTP_strings
      Src: /src/openssl/crypto/err/err_all.c:89,1
    - Dst: ossl_err_load_OCSP_strings
      Src: /src/openssl/crypto/err/err_all.c:92,1
    - Dst: ossl_err_load_UI_strings
      Src: /src/openssl/crypto/err/err_all.c:94,1
    - Dst: ossl_err_load_CMS_strings
      Src: /src/openssl/crypto/err/err_all.c:96,1
    - Dst: ossl_err_load_CRMF_strings
      Src: /src/openssl/crypto/err/err_all.c:99,1
    - Dst: ossl_err_load_CMP_strings
      Src: /src/openssl/crypto/err/err_all.c:100,1
    - Dst: ossl_err_load_CT_strings
      Src: /src/openssl/crypto/err/err_all.c:103,1
    - Dst: ossl_err_load_ESS_strings
      Src: /src/openssl/crypto/err/err_all.c:105,1
    - Dst: ossl_err_load_ASYNC_strings
      Src: /src/openssl/crypto/err/err_all.c:106,1
    - Dst: ossl_err_load_OSSL_STORE_strings
      Src: /src/openssl/crypto/err/err_all.c:107,1
    - Dst: ossl_err_load_PROP_strings
      Src: /src/openssl/crypto/err/err_all.c:108,1
    - Dst: ossl_err_load_PROV_strings
      Src: /src/openssl/crypto/err/err_all.c:109,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 115
    functionName: ossl_err_load_crypto_strings
    functionSourceFile: /src/openssl/crypto/err/err_all.c
    functionUses: 1
    functionsReached:
    - ossl_err_load_OSSL_STORE_strings
    - ossl_err_load_ASN1_strings
    - ossl_err_load_CONF_strings
    - ossl_err_load_PKCS7_strings
    - ossl_err_load_CMS_strings
    - ossl_err_load_PROV_strings
    - ossl_err_load_EVP_strings
    - ossl_err_load_PEM_strings
    - ossl_err_load_OBJ_strings
    - ossl_err_load_ASYNC_strings
    - ossl_err_load_CMP_strings
    - ossl_err_load_DH_strings
    - ossl_err_load_DSA_strings
    - ossl_err_load_HTTP_strings
    - ossl_err_load_ENGINE_strings
    - ossl_err_load_CRMF_strings
    - ossl_err_load_PROP_strings
    - ossl_err_load_CT_strings
    - ossl_err_load_UI_strings
    - ossl_err_load_BIO_strings
    - ossl_err_load_EC_strings
    - ossl_err_load_DSO_strings
    - ossl_err_load_ERR_strings
    - ossl_err_load_COMP_strings
    - ossl_err_load_BUF_strings
    - ossl_err_load_X509_strings
    - ossl_err_load_X509V3_strings
    - ossl_err_load_TS_strings
    - ossl_err_load_OCSP_strings
    - ossl_err_load_BN_strings
    - ossl_err_load_ESS_strings
    - ossl_err_load_PKCS12_strings
    - ossl_err_load_CRYPTO_strings
    - ossl_err_load_RSA_strings
    - ossl_err_load_RAND_strings
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_crypto_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_blocks.c:20,1
    - Dst: err_get_slot
      Src: /src/openssl/crypto/err/err_blocks.c:25,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_blocks.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: ERR_new
    functionSourceFile: /src/openssl/crypto/err/err_blocks.c
    functionUses: 3
    functionsReached:
    - ossl_err_get_state_int
    - err_get_slot
    - err_clear
    linkageType: ''
    returnType: void
    signature: void ERR_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_blocks.c:33,1
    - Dst: err_set_debug
      Src: /src/openssl/crypto/err/err_blocks.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: ERR_set_debug
    functionSourceFile: /src/openssl/crypto/err/err_blocks.c
    functionUses: 8
    functionsReached:
    - ossl_err_get_state_int
    - err_set_debug
    linkageType: ''
    returnType: void
    signature: void ERR_set_debug(const char *file, int line, const char *func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/err/err_blocks.c:44,1
    - Dst: ERR_vset_error
      Src: /src/openssl/crypto/err/err_blocks.c:45,1
    - Dst: va_end
      Src: /src/openssl/crypto/err/err_blocks.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - reason
    - fmt
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: ERR_set_error
    functionSourceFile: /src/openssl/crypto/err/err_blocks.c
    functionUses: 2
    functionsReached:
    - va_end
    - ERR_vset_error
    - va_start
    linkageType: ''
    returnType: void
    signature: void ERR_set_error(int lib, int reason, const char *fmt, ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_blocks.c:57,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/err/err_blocks.c:84,1
    - Dst: BIO_vsnprintf
      Src: /src/openssl/crypto/err/err_blocks.c:90,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/err/err_blocks.c:103,1
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err_blocks.c:113,1
    - Dst: err_set_error
      Src: /src/openssl/crypto/err/err_blocks.c:114,1
    - Dst: err_set_data
      Src: /src/openssl/crypto/err/err_blocks.c:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - lib
    - reason
    - fmt
    - args
    argTypes:
    - int
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 117
    functionName: ERR_vset_error
    functionSourceFile: /src/openssl/crypto/err/err_blocks.c
    functionUses: 2
    functionsReached:
    - err_set_data
    - ossl_err_get_state_int
    - BIO_vsnprintf
    - err_set_error
    - OPENSSL_realloc
    - err_clear_data
    linkageType: ''
    returnType: void
    signature: void ERR_vset_error(int lib, int reason, const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/err/err.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: err_string_data_hash
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long err_string_data_hash(const ERR_STRING_DATA *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ERR_STRING_DATA*
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: err_string_data_cmp
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int err_string_data_cmp(const ERR_STRING_DATA *a,\n                               const
      ERR_STRING_DATA *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/err/err.c:189,1
    - Dst: lh_ERR_STRING_DATA_retrieve
      Src: /src/openssl/crypto/err/err.c:191,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/err/err.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: int_err_get_item
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - lh_ERR_STRING_DATA_retrieve
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: ERR_STRING_DATA
    signature: ERR_STRING_DATA *int_err_get_item(const ERR_STRING_DATA *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err.c:205,1
    - Dst: CRYPTO_free
      Src: /src/openssl/crypto/err/err.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: OSSL_ERR_STATE_free
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - CRYPTO_free
    - err_clear
    linkageType: ''
    returnType: void
    signature: void OSSL_ERR_STATE_free(ERR_STATE *state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/err/err.c:212,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/err/err.c:214,1
    - Dst: lh_ERR_STRING_DATA_new
      Src: /src/openssl/crypto/err/err.c:218,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/err/err.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_lock_new
    - lh_ERR_STRING_DATA_new
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_err_strings_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/err/err.c:231,1
    - Dst: lh_ERR_STRING_DATA_free
      Src: /src/openssl/crypto/err/err.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: err_cleanup
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - lh_ERR_STRING_DATA_free
    linkageType: ''
    returnType: void
    signature: void err_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/err/err.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    functionName: err_patch
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - ERR_PACK
    linkageType: ''
    returnType: void
    signature: void err_patch(int lib, ERR_STRING_DATA *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/err/err.c:256,1
    - Dst: lh_ERR_STRING_DATA_insert
      Src: /src/openssl/crypto/err/err.c:259,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/err/err.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: err_load_strings
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - lh_ERR_STRING_DATA_insert
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int err_load_strings(const ERR_STRING_DATA *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/err/err.c:269,1
    - Dst: err_load_strings
      Src: /src/openssl/crypto/err/err.c:272,1
    - Dst: err_load_strings
      Src: /src/openssl/crypto/err/err.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: ossl_err_load_ERR_strings
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    - err_load_strings
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_ERR_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_load_ERR_strings
      Src: /src/openssl/crypto/err/err.c:281,1
    - Dst: err_patch
      Src: /src/openssl/crypto/err/err.c:284,1
    - Dst: err_load_strings
      Src: /src/openssl/crypto/err/err.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: ERR_load_strings
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 6
    functionsReached:
    - err_load_strings
    - ossl_err_load_ERR_strings
    - err_patch
    linkageType: ''
    returnType: int
    signature: int ERR_load_strings(int lib, ERR_STRING_DATA *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_load_ERR_strings
      Src: /src/openssl/crypto/err/err.c:294,1
    - Dst: err_load_strings
      Src: /src/openssl/crypto/err/err.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: ERR_load_strings_const
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 32
    functionsReached:
    - ossl_err_load_ERR_strings
    - err_load_strings
    linkageType: ''
    returnType: int
    signature: int ERR_load_strings_const(const ERR_STRING_DATA *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/err/err.c:305,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/err/err.c:308,1
    - Dst: lh_ERR_STRING_DATA_delete
      Src: /src/openssl/crypto/err/err.c:315,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/err/err.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - lib
    - str
    argTypes:
    - int
    - ERR_STRING_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 320
    functionName: ERR_unload_strings
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 6
    functionsReached:
    - RUN_ONCE
    - CRYPTO_THREAD_write_lock
    - lh_ERR_STRING_DATA_delete
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ERR_unload_strings(int lib, ERR_STRING_DATA *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: err_free_strings_int
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void err_free_strings_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err.c:334,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: ERR_clear_error
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 13
    functionsReached:
    - ossl_err_get_state_int
    - err_clear
    linkageType: ''
    returnType: void
    signature: void ERR_clear_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: ERR_get_error
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 2
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_get_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: ERR_get_error_all
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ERR_get_error_all(const char **file, int *line,\n                                const
      char **func,\n                                const char **data, int *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: ERR_get_error_line
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_get_error_line(const char **file, int *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: ERR_get_error_line_data
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ERR_get_error_line_data(const char **file, int *line,\n
      \                                     const char **data, int *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: ERR_peek_error
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 8
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_peek_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: ERR_peek_error_line
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_peek_error_line(const char **file, int *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: ERR_peek_error_func
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_peek_error_func(const char **func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: ERR_peek_error_data
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_peek_error_data(const char **data, int *flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: ERR_peek_error_all
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ERR_peek_error_all(const char **file, int *line,\n                                 const
      char **func,\n                                 const char **data, int *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: ERR_peek_error_line_data
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ERR_peek_error_line_data(const char **file, int *line,\n
      \                                      const char **data, int *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: ERR_peek_last_error
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 13
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_peek_last_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: ERR_peek_last_error_line
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_peek_last_error_line(const char **file, int *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: ERR_peek_last_error_func
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_peek_last_error_func(const char **func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: ERR_peek_last_error_data
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ERR_peek_last_error_data(const char **data, int *flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: ERR_peek_last_error_all
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ERR_peek_last_error_all(const char **file, int *line,\n
      \                                     const char **func,\n                                      const
      char **data, int *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_error_values
      Src: /src/openssl/crypto/err/err.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: ERR_peek_last_error_line_data
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - get_error_values
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ERR_peek_last_error_line_data(const char **file, int
      *line,\n                                            const char **data, int *flags)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err.c:448,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err.c:458,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err.c:465,1
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err.c:503,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 6
    argNames:
    - g
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - ERR_GET_ACTION
    - char**
    - int*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 514
    functionName: get_error_values
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 16
    functionsReached:
    - ossl_err_get_state_int
    - err_clear
    - err_clear_data
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long get_error_values(ERR_GET_ACTION g,\n                                      const
      char **file, int *line,\n                                      const char **func,\n
      \                                     const char **data, int *flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/err/err.c:526,1
    - Dst: ERR_lib_error_string
      Src: /src/openssl/crypto/err/err.c:527,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err.c:529,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/err/err.c:539,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/crypto/err/err.c:541,1
    - Dst: openssl_strerror_r
      Src: /src/openssl/crypto/err/err.c:542,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/err/err.c:545,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err.c:549,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err.c:554,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err.c:555,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - e
    - func
    - buf
    - len
    argTypes:
    - unsigned long
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 559
    functionName: ossl_err_string_int
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - openssl_strerror_r
    - ERR_GET_LIB
    - ERR_SYSTEM_ERROR
    - ERR_reason_error_string
    - ERR_GET_REASON
    - BIO_snprintf
    - ERR_lib_error_string
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ossl_err_string_int(unsigned long e, const char *func,\n                         char
      *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_string_int
      Src: /src/openssl/crypto/err/err.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - buf
    - len
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: ERR_error_string_n
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - ossl_err_string_int
    linkageType: ''
    returnType: void
    signature: void ERR_error_string_n(unsigned long e, char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_error_string_n
      Src: /src/openssl/crypto/err/err.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - e
    - ret
    argTypes:
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 579
    functionName: ERR_error_string
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - ERR_error_string_n
    linkageType: ''
    returnType: char
    signature: char *ERR_error_string(unsigned long e, char *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/err/err.c:587,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/err/err.c:591,1
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/err/err.c:592,1
    - Dst: int_err_get_item
      Src: /src/openssl/crypto/err/err.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 598
    functionName: ERR_lib_error_string
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 6
    functionsReached:
    - ERR_PACK
    - RUN_ONCE
    - ERR_GET_LIB
    - int_err_get_item
    linkageType: ''
    returnType: char
    signature: char *ERR_lib_error_string(unsigned long e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: ERR_func_error_string
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ERR_func_error_string(unsigned long e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/err/err.c:613,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/crypto/err/err.c:622,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/err/err.c:625,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/err/err.c:626,1
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/err/err.c:627,1
    - Dst: int_err_get_item
      Src: /src/openssl/crypto/err/err.c:628,1
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/err/err.c:630,1
    - Dst: int_err_get_item
      Src: /src/openssl/crypto/err/err.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - e
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 637
    functionName: ERR_reason_error_string
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 41
    functionsReached:
    - RUN_ONCE
    - ERR_GET_LIB
    - ERR_SYSTEM_ERROR
    - ERR_GET_REASON
    - int_err_get_item
    - ERR_PACK
    linkageType: ''
    returnType: char
    signature: char *ERR_reason_error_string(unsigned long e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/err/err.c:641,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:647,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/crypto/err/err.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 650
    functionName: err_delete_thread_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local_ex
    - OSSL_ERR_STATE_free
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: void
    signature: void err_delete_thread_state(void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 655
    functionName: ERR_remove_thread_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ERR_remove_thread_state(void *dummy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pid
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 661
    functionName: ERR_remove_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ERR_remove_state(unsigned long pid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/err/err.c:667,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/err/err.c:669,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/err/err.c:672,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:678,1
    - Dst: OSSL_ERR_STATE_new
      Src: /src/openssl/crypto/err/err.c:682,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:684,1
    - Dst: ossl_init_thread_start
      Src: /src/openssl/crypto/err/err.c:689,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:690,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/crypto/err/err.c:692,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:693,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/err/err.c:699,1
    - Dst: set_sys_error
      Src: /src/openssl/crypto/err/err.c:702,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 704
    functionName: ossl_err_get_state_int
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 5
    functionsReached:
    - ossl_init_thread_start
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    - get_last_sys_error
    - OPENSSL_init_crypto
    - OSSL_ERR_STATE_new
    - OSSL_ERR_STATE_free
    - set_sys_error
    linkageType: ''
    returnType: ERR_STATE
    signature: ERR_STATE *ossl_err_get_state_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: ERR_get_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - ossl_err_get_state_int
    linkageType: ''
    returnType: ERR_STATE
    signature: ERR_STATE *ERR_get_state(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/openssl/crypto/err/err.c:720,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/err/err.c:734,1
    - Dst: CRYPTO_THREAD_get_local_ex
      Src: /src/openssl/crypto/err/err.c:737,1
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:739,1
    - Dst: set_sys_error
      Src: /src/openssl/crypto/err/err.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 745
    functionName: err_shelve_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_get_local_ex
    - CRYPTO_THREAD_set_local_ex
    - get_last_sys_error
    - OPENSSL_init_crypto
    - set_sys_error
    linkageType: ''
    returnType: int
    signature: int err_shelve_state(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_set_local_ex
      Src: /src/openssl/crypto/err/err.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: err_unshelve_state
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 2
    functionsReached:
    - CRYPTO_THREAD_set_local_ex
    linkageType: ''
    returnType: void
    signature: void err_unshelve_state(void* state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/err/err.c:762,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/err/err.c:765,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/err/err.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 770
    functionName: ERR_get_next_error_library
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 13
    functionsReached:
    - RUN_ONCE
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int ERR_get_next_error_library(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err.c:777,1
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err.c:781,1
    - Dst: err_set_data
      Src: /src/openssl/crypto/err/err.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - size
    - flags
    - deallocate
    argTypes:
    - char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 772
    functionDepth: 4
    functionLinenumber: 772
    functionLinenumberEnd: 785
    functionName: err_set_error_data_int
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - err_set_data
    - ossl_err_get_state_int
    - err_clear_data
    linkageType: ''
    returnType: int
    signature: "int err_set_error_data_int(char *data, size_t size, int flags,\n                                  int
      deallocate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: err_set_error_data_int
      Src: /src/openssl/crypto/err/err.c:803,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 787
    functionDepth: 5
    functionLinenumber: 787
    functionLinenumberEnd: 804
    functionName: ERR_set_error_data
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - strlen
    - err_set_error_data_int
    linkageType: ''
    returnType: void
    signature: void ERR_set_error_data(char *data, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/crypto/err/err.c:809,1
    - Dst: ERR_add_error_vdata
      Src: /src/openssl/crypto/err/err.c:810,1
    - Dst: va_end
      Src: /src/openssl/crypto/err/err.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionName: ERR_add_error_data
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 21
    functionsReached:
    - va_end
    - ERR_add_error_vdata
    - va_start
    linkageType: ''
    returnType: void
    signature: void ERR_add_error_data(int num, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err.c:823,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/err/err.c:833,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/err/err.c:846,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err.c:851,1
    - Dst: va_arg
      Src: /src/openssl/crypto/err/err.c:854,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err.c:857,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/err/err.c:862,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err.c:864,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/crypto/err/err.c:869,1
    - Dst: err_set_error_data_int
      Src: /src/openssl/crypto/err/err.c:871,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err.c:872,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - num
    - args
    argTypes:
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 814
    functionDepth: 5
    functionLinenumber: 814
    functionLinenumberEnd: 873
    functionName: ERR_add_error_vdata
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - OPENSSL_strlcat
    - OPENSSL_free
    - ossl_err_get_state_int
    - va_arg
    - strlen
    - OPENSSL_realloc
    - OPENSSL_malloc
    - err_set_error_data_int
    linkageType: ''
    returnType: void
    signature: void ERR_add_error_vdata(int num, va_list args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err.c:880,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/err/err.c:890,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/crypto/err/err.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - clear
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 875
    functionDepth: 4
    functionLinenumber: 875
    functionLinenumberEnd: 893
    functionName: err_clear_last_constant_time
    functionSourceFile: /src/openssl/crypto/err/err.c
    functionUses: 0
    functionsReached:
    - ossl_err_get_state_int
    - constant_time_eq_int
    - constant_time_select_int
    linkageType: ''
    returnType: void
    signature: void err_clear_last_constant_time(int clear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_mark.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: ERR_set_mark
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 91
    functionsReached:
    - ossl_err_get_state_int
    linkageType: ''
    returnType: int
    signature: int ERR_set_mark(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_mark.c:33,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_mark.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: ERR_pop
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 0
    functionsReached:
    - ossl_err_get_state_int
    - err_clear
    linkageType: ''
    returnType: int
    signature: int ERR_pop(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_mark.c:46,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_mark.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: ERR_pop_to_mark
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 82
    functionsReached:
    - ossl_err_get_state_int
    - err_clear
    linkageType: ''
    returnType: int
    signature: int ERR_pop_to_mark(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_mark.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: ERR_count_to_mark
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 10
    functionsReached:
    - ossl_err_get_state_int
    linkageType: ''
    returnType: int
    signature: int ERR_count_to_mark(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_mark.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: ERR_clear_last_mark
    functionSourceFile: /src/openssl/crypto/err/err_mark.c
    functionUses: 53
    functionsReached:
    - ossl_err_get_state_int
    linkageType: ''
    returnType: int
    signature: int ERR_clear_last_mark(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/crypto/err/err_prn.c:23,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/crypto/err/err_prn.c:28,1
    - Dst: ossl_buf2hexstr_sep
      Src: /src/openssl/crypto/err/err_prn.c:36,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err_prn.c:37,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:38,1
    - Dst: ossl_err_string_int
      Src: /src/openssl/crypto/err/err_prn.c:39,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:40,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/err/err_prn.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_prn.c:43,1
    - Dst: cb
      Src: /src/openssl/crypto/err/err_prn.c:44,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - u
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 47
    functionName: ERR_print_errors_cb
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - ossl_buf2hexstr_sep
    - ERR_get_error_all
    - BIO_snprintf
    - OPENSSL_free
    - cb
    - ossl_err_string_int
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void
      *u),\n                         void *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_new
      Src: /src/openssl/crypto/err/err_prn.c:53,1
    - Dst: ERR_set_debug
      Src: /src/openssl/crypto/err/err_prn.c:54,1
    - Dst: ERR_set_error
      Src: /src/openssl/crypto/err/err_prn.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - lib
    - func
    - reason
    - file
    - line
    argTypes:
    - int
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: put_error
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 2
    functionsReached:
    - ERR_set_error
    - ERR_set_debug
    - ERR_new
    linkageType: ''
    returnType: void
    signature: "void put_error(int lib, const char *func, int reason,\n                      const
      char *file, int line)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/err/err_prn.c:67,1
    - Dst: put_error
      Src: /src/openssl/crypto/err/err_prn.c:72,1
    - Dst: ERR_peek_last_error_all
      Src: /src/openssl/crypto/err/err_prn.c:81,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:86,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:90,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:93,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:97,1
    - Dst: strstr
      Src: /src/openssl/crypto/err/err_prn.c:109,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:111,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:114,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/err/err_prn.c:123,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/err/err_prn.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_prn.c:127,1
    - Dst: put_error
      Src: /src/openssl/crypto/err/err_prn.c:129,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/err/err_prn.c:129,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/crypto/err/err_prn.c:133,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_prn.c:133,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/err/err_prn.c:137,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_prn.c:138,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/err/err_prn.c:140,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - separator
    - txt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 145
    functionName: ERR_add_error_txt
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 1
    functionsReached:
    - ERR_GET_LIB
    - strstr
    - ERR_add_error_data
    - ERR_peek_last_error
    - OPENSSL_free
    - put_error
    - ERR_peek_last_error_all
    - strlen
    - OPENSSL_strndup
    linkageType: ''
    returnType: void
    signature: void ERR_add_error_txt(const char *separator, const char *txt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/err/err_prn.c:151,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/err/err_prn.c:155,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/err/err_prn.c:158,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/crypto/err/err_prn.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - separator
    - bio
    argTypes:
    - char*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: ERR_add_error_mem_bio
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - BIO_get_mem_data
    - ERR_add_error_txt
    linkageType: ''
    returnType: void
    signature: void ERR_add_error_mem_bio(const char *separator, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/crypto/err/err_prn.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - bp
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: print_bio
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 0
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int print_bio(const char *str, size_t len, void *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/crypto/err/err_prn.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: ERR_print_errors
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 2
    functionsReached:
    - ERR_print_errors_cb
    linkageType: ''
    returnType: void
    signature: void ERR_print_errors(BIO *bp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/crypto/err/err_prn.c:179,1
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/crypto/err/err_prn.c:183,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/err/err_prn.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 6
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: ERR_print_errors_fp
    functionSourceFile: /src/openssl/crypto/err/err_prn.c
    functionUses: 1
    functionsReached:
    - BIO_new_fp
    - BIO_free
    - ERR_print_errors_cb
    linkageType: ''
    returnType: void
    signature: void ERR_print_errors_fp(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_zalloc
      Src: /src/openssl/crypto/err/err_save.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: OSSL_ERR_STATE_new
    functionSourceFile: /src/openssl/crypto/err/err_save.c
    functionUses: 1
    functionsReached:
    - CRYPTO_zalloc
    linkageType: ''
    returnType: ERR_STATE
    signature: ERR_STATE *OSSL_ERR_STATE_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:35,1
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_save.c:37,1
    - Dst: memcpy
      Src: /src/openssl/crypto/err/err_save.c:41,1
    - Dst: memset
      Src: /src/openssl/crypto/err/err_save.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - es
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: OSSL_ERR_STATE_save
    functionSourceFile: /src/openssl/crypto/err/err_save.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_err_get_state_int
    - memset
    - err_clear
    linkageType: ''
    returnType: void
    signature: void OSSL_ERR_STATE_save(ERR_STATE *es)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_save.c:55,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:58,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:75,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - es
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 111
    functionName: OSSL_ERR_STATE_save_to_mark
    functionSourceFile: /src/openssl/crypto/err/err_save.c
    functionUses: 0
    functionsReached:
    - ossl_err_get_state_int
    - err_clear
    linkageType: ''
    returnType: void
    signature: void OSSL_ERR_STATE_save_to_mark(ERR_STATE *es)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_err_get_state_int
      Src: /src/openssl/crypto/err/err_save.c:121,1
    - Dst: err_get_slot
      Src: /src/openssl/crypto/err/err_save.c:132,1
    - Dst: err_clear
      Src: /src/openssl/crypto/err/err_save.c:134,1
    - Dst: err_set_debug
      Src: /src/openssl/crypto/err/err_save.c:139,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/err/err_save.c:146,1
    - Dst: memcpy
      Src: /src/openssl/crypto/err/err_save.c:148,1
    - Dst: err_set_data
      Src: /src/openssl/crypto/err/err_save.c:149,1
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err_save.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - es
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 156
    functionName: OSSL_ERR_STATE_restore
    functionSourceFile: /src/openssl/crypto/err/err_save.c
    functionUses: 0
    functionsReached:
    - err_set_data
    - err_set_debug
    - memcpy
    - err_clear
    - ossl_err_get_state_int
    - err_get_slot
    - CRYPTO_malloc
    - err_clear_data
    linkageType: ''
    returnType: void
    signature: void OSSL_ERR_STATE_restore(const ERR_STATE *es)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lib
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: IMPLEMENT_LEGACY_ERR_LOAD
    functionSourceFile: /src/openssl/crypto/err/err_all_legacy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_LEGACY_ERR_LOAD(lib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lib
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: IMPLEMENT_LEGACY_ERR_LOAD
    functionSourceFile: /src/openssl/crypto/err/err_all_legacy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_LEGACY_ERR_LOAD(lib)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - es
    argTypes:
    - ERR_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: err_get_slot
    functionSourceFile: /src/openssl/crypto/err/err_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline err_get_slot(ERR_STATE *es)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - es
    - i
    - deall
    argTypes:
    - ERR_STATE*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: err_clear_data
    functionSourceFile: /src/openssl/crypto/err/err_local.h
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline err_clear_data(ERR_STATE *es, size_t i, int deall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_PACK
      Src: /src/openssl/crypto/err/err_local.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - es
    - i
    - lib
    - reason
    argTypes:
    - ERR_STATE*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: err_set_error
    functionSourceFile: /src/openssl/crypto/err/err_local.h
    functionUses: 1
    functionsReached:
    - ERR_PACK
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline err_set_error(ERR_STATE *es, size_t i,\n                                      int
      lib, int reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:57,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/err/err_local.h:60,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_local.h:60,1
    - Dst: strcpy
      Src: /src/openssl/crypto/err/err_local.h:63,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:66,1
    - Dst: CRYPTO_malloc
      Src: /src/openssl/crypto/err/err_local.h:69,1
    - Dst: strlen
      Src: /src/openssl/crypto/err/err_local.h:69,1
    - Dst: strcpy
      Src: /src/openssl/crypto/err/err_local.h:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - es
    - i
    - file
    - line
    - fn
    argTypes:
    - ERR_STATE*
    - size_t
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: err_set_debug
    functionSourceFile: /src/openssl/crypto/err/err_local.h
    functionUses: 2
    functionsReached:
    - strcpy
    - OPENSSL_free
    - strlen
    - CRYPTO_malloc
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline err_set_debug(ERR_STATE *es, size_t i,\n                                      const
      char *file, int line,\n                                      const char *fn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - es
    - i
    - data
    - datasz
    - flags
    argTypes:
    - ERR_STATE*
    - size_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: err_set_data
    functionSourceFile: /src/openssl/crypto/err/err_local.h
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline err_set_data(ERR_STATE *es, size_t i,\n                                     void
      *data, size_t datasz, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: err_clear_data
      Src: /src/openssl/crypto/err/err_local.h:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:91,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/err/err_local.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - es
    - i
    - deall
    argTypes:
    - ERR_STATE*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: err_clear
    functionSourceFile: /src/openssl/crypto/err/err_local.h
    functionUses: 9
    functionsReached:
    - OPENSSL_free
    - err_clear_data
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline err_clear(ERR_STATE *es, size_t i, int deall)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:30,1
    - Dst: TS_STATUS_INFO_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:31,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:33,1
    - Dst: TS_TST_INFO_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:35,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: TS_RESP_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_print.c
    functionUses: 0
    functionsReached:
    - TS_STATUS_INFO_print_bio
    - BIO_printf
    - TS_TST_INFO_print_bio
    linkageType: ''
    returnType: int
    signature: int TS_RESP_print_bio(BIO *bio, TS_RESP *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:75,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:76,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:77,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:78,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:80,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:82,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:83,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:85,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:86,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:86,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:90,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:92,1
    - Dst: ts_status_map_print
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:94,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:96,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_STATUS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 100
    functionName: TS_STATUS_INFO_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_print.c
    functionUses: 1
    functionsReached:
    - sk_ASN1_UTF8STRING_value
    - BIO_puts
    - sk_ASN1_UTF8STRING_num
    - ASN1_STRING_print_ex
    - OSSL_NELEM
    - ts_status_map_print
    - ASN1_INTEGER_get
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:108,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:110,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - a
    - v
    argTypes:
    - BIO*
    - struct status_map_st*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: ts_status_map_print
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_print.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: "int ts_status_map_print(BIO *bio, const struct status_map_st *a,\n
      \                              const ASN1_BIT_STRING *v)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:128,1
    - Dst: TS_OBJ_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:129,1
    - Dst: TS_MSG_IMPRINT_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:131,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:133,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:135,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:137,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:138,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:140,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:141,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:142,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:146,1
    - Dst: ts_ACCURACY_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:148,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:149,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:153,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:155,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:157,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:158,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:160,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:162,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:164,1
    - Dst: i2v_GENERAL_NAME
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:165,1
    - Dst: X509V3_EXT_val_prn
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:166,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:167,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:169,1
    - Dst: TS_ext_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 174
    functionName: TS_TST_INFO_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_print.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - TS_ASN1_INTEGER_print_bio
    - TS_ext_print_bio
    - ASN1_GENERALIZEDTIME_print
    - X509V3_EXT_val_prn
    - STACK_OF
    - TS_MSG_IMPRINT_print_bio
    - TS_OBJ_print_bio
    - sk_CONF_VALUE_pop_free
    - i2v_GENERAL_NAME
    - ts_ACCURACY_print_bio
    - ASN1_INTEGER_get
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:181,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:182,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:184,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:187,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:189,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:191,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_rsp_print.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_ACCURACY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: ts_ACCURACY_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_print.c
    functionUses: 1
    functionsReached:
    - TS_ASN1_INTEGER_print_bio
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ts_ACCURACY_print_bio(BIO *bio, const TS_ACCURACY *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/crypto/ts/ts_lib.c:25,1
    - Dst: BN_bn2hex
      Src: /src/openssl/crypto/ts/ts_lib.c:28,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_lib.c:29,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_lib.c:30,1
    - Dst: strlen
      Src: /src/openssl/crypto/ts/ts_lib.c:30,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_lib.c:31,1
    - Dst: BN_free
      Src: /src/openssl/crypto/ts/ts_lib.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - bio
    - num
    argTypes:
    - BIO*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 7
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: TS_ASN1_INTEGER_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_lib.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - BN_bn2hex
    - ASN1_INTEGER_to_BN
    - OPENSSL_free
    - strlen
    - BN_free
    linkageType: ''
    returnType: int
    signature: int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/ts/ts_lib.c:42,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_lib.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bio
    - obj
    argTypes:
    - BIO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: TS_OBJ_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2txt
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_lib.c:54,1
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ts/ts_lib.c:55,1
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/ts/ts_lib.c:57,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/crypto/ts/ts_lib.c:58,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/ts/ts_lib.c:59,1
    - Dst: X509_EXTENSION_get_critical
      Src: /src/openssl/crypto/ts/ts_lib.c:61,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_lib.c:62,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/crypto/ts/ts_lib.c:63,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_lib.c:64,1
    - Dst: ASN1_STRING_print
      Src: /src/openssl/crypto/ts/ts_lib.c:65,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/crypto/ts/ts_lib.c:65,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_lib.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - bio
    - extensions
    argTypes:
    - BIO*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: TS_ext_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_lib.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - ASN1_STRING_print
    - X509V3_EXT_print
    - X509_EXTENSION_get_object
    - X509v3_get_ext_count
    - X509_EXTENSION_get_data
    - i2a_ASN1_OBJECT
    - X509_EXTENSION_get_critical
    - X509v3_get_ext
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ts/ts_lib.c:75,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_lib.c:76,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/ts/ts_lib.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - alg
    argTypes:
    - BIO*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: TS_X509_ALGOR_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_X509_ALGOR_print_bio
      Src: /src/openssl/crypto/ts/ts_lib.c:84,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_lib.c:86,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/crypto/ts/ts_lib.c:88,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ts/ts_lib.c:88,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ts/ts_lib.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_MSG_IMPRINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: TS_MSG_IMPRINT_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_lib.c
    functionUses: 1
    functionsReached:
    - TS_X509_ALGOR_print_bio
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - BIO_dump_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_MSG_IMPRINT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: d2i_TS_MSG_IMPRINT_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: TS_MSG_IMPRINT
    signature: TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *bp, TS_MSG_IMPRINT **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_MSG_IMPRINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: i2d_TS_MSG_IMPRINT_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_TS_MSG_IMPRINT_bio(BIO *bp, const TS_MSG_IMPRINT *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_MSG_IMPRINT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: d2i_TS_MSG_IMPRINT_fp
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: TS_MSG_IMPRINT
    signature: TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_MSG_IMPRINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: i2d_TS_MSG_IMPRINT_fp
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_TS_MSG_IMPRINT_fp(FILE *fp, const TS_MSG_IMPRINT *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_REQ**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: d2i_TS_REQ_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: TS_REQ
    signature: TS_REQ *d2i_TS_REQ_bio(BIO *bp, TS_REQ **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: i2d_TS_REQ_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_TS_REQ_bio(BIO *bp, const TS_REQ *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_REQ**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: d2i_TS_REQ_fp
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: TS_REQ
    signature: TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: i2d_TS_REQ_fp
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_TS_REQ_fp(FILE *fp, const TS_REQ *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_TST_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: d2i_TS_TST_INFO_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: TS_TST_INFO
    signature: TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *bp, TS_TST_INFO **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: i2d_TS_TST_INFO_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_TS_TST_INFO_bio(BIO *bp, const TS_TST_INFO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_TST_INFO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: d2i_TS_TST_INFO_fp
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: TS_TST_INFO
    signature: TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: i2d_TS_TST_INFO_fp
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_TS_TST_INFO_fp(FILE *fp, const TS_TST_INFO *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ts/ts_asn1.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_asn1.c:141,1
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/crypto/ts/ts_asn1.c:144,1
    - Dst: PKCS7_to_TS_TST_INFO
      Src: /src/openssl/crypto/ts/ts_asn1.c:145,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_asn1.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_asn1.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 156
    functionName: ts_resp_set_tst_info
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - TS_TST_INFO_free
    - PKCS7_to_TS_TST_INFO
    - ERR_raise
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: int ts_resp_set_tst_info(TS_RESP *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/crypto/ts/ts_asn1.c:165,1
    - Dst: ts_resp_set_tst_info
      Src: /src/openssl/crypto/ts/ts_asn1.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - op
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 6
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: ts_resp_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - TS_TST_INFO_free
    - ts_resp_set_tst_info
    linkageType: ''
    returnType: int
    signature: "int ts_resp_cb(int op, ASN1_VALUE **pval, const ASN1_ITEM *it,\n                      void
      *exarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_bio_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_RESP**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: d2i_TS_RESP_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_bio_of
    linkageType: ''
    returnType: TS_RESP
    signature: TS_RESP *d2i_TS_RESP_bio(BIO *bp, TS_RESP **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bp
    - a
    argTypes:
    - BIO*
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: i2d_TS_RESP_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_bio_of
    linkageType: ''
    returnType: int
    signature: int i2d_TS_RESP_bio(BIO *bp, const TS_RESP *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_d2i_fp_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_RESP**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: d2i_TS_RESP_fp
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_d2i_fp_of
    linkageType: ''
    returnType: TS_RESP
    signature: TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_i2d_fp_of
      Src: /src/openssl/crypto/ts/ts_asn1.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - a
    argTypes:
    - FILE*
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: i2d_TS_RESP_fp
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_i2d_fp_of
    linkageType: ''
    returnType: int
    signature: int i2d_TS_RESP_fp(FILE *fp, const TS_RESP *a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_signed
      Src: /src/openssl/crypto/ts/ts_asn1.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_asn1.c:213,1
    - Dst: PKCS7_get_detached
      Src: /src/openssl/crypto/ts/ts_asn1.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_asn1.c:217,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/ts/ts_asn1.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_asn1.c:223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_asn1.c:228,1
    - Dst: d2i_TS_TST_INFO
      Src: /src/openssl/crypto/ts/ts_asn1.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - token
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 234
    functionName: PKCS7_to_TS_TST_INFO
    functionSourceFile: /src/openssl/crypto/ts/ts_asn1.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - PKCS7_type_is_signed
    - d2i_TS_TST_INFO
    - PKCS7_get_detached
    - OBJ_obj2nid
    linkageType: ''
    returnType: TS_TST_INFO
    signature: TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/ts/ts_conf.c:54,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/ts/ts_conf.c:56,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/openssl/crypto/ts/ts_conf.c:59,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_conf.c:62,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/ts/ts_conf.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: TS_CONF_load_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - BIO_free
    - PEM_read_bio_X509_AUX
    linkageType: ''
    returnType: X509
    signature: X509 *TS_CONF_load_cert(const char *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/ts/ts_conf.c:110,1
    - Dst: BIO_new_file
      Src: /src/openssl/crypto/ts/ts_conf.c:112,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/crypto/ts/ts_conf.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_conf.c:118,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/ts/ts_conf.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - file
    - pass
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: TS_CONF_load_key
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - ERR_raise
    - BIO_free
    - PEM_read_bio_PrivateKey
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ts/ts_conf.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - tag
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: ts_CONF_lookup_fail
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: void
    signature: void ts_CONF_lookup_fail(const char *name, const char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ts/ts_conf.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - tag
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: ts_CONF_invalid
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: void
    signature: void ts_CONF_invalid(const char *name, const char *tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:138,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - section
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: TS_CONF_get_tsa_section
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_lookup_fail
    - NCONF_get_string
    linkageType: ''
    returnType: char
    signature: char *TS_CONF_get_tsa_section(CONF *conf, const char *section)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:149,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:151,1
    - Dst: TS_RESP_CTX_set_serial_cb
      Src: /src/openssl/crypto/ts/ts_conf.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - conf
    - section
    - cb
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_serial_cb
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: TS_CONF_set_serial
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_lookup_fail
    - TS_RESP_CTX_set_serial_cb
    - NCONF_get_string
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb
      cb,\n                       TS_RESP_CTX *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:169,1
    - Dst: TS_CONF_set_default_engine
      Src: /src/openssl/crypto/ts/ts_conf.c:171,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - conf
    - section
    - device
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: TS_CONF_set_crypto_device
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_invalid
    - NCONF_get_string
    - TS_CONF_set_default_engine
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_crypto_device(CONF *conf, const char *section,\n                              const
      char *device)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:185,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/crypto/ts/ts_conf.c:188,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:190,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/crypto/ts/ts_conf.c:191,1
    - Dst: ENGINE_set_default
      Src: /src/openssl/crypto/ts/ts_conf.c:192,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ts/ts_conf.c:198,1
    - Dst: ENGINE_free
      Src: /src/openssl/crypto/ts/ts_conf.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 7
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: TS_CONF_set_default_engine
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 1
    functionsReached:
    - ENGINE_set_default
    - ENGINE_free
    - ENGINE_ctrl
    - ERR_raise_data
    - ENGINE_by_id
    - strcmp
    linkageType: ''
    returnType: int
    signature: int TS_CONF_set_default_engine(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:213,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:215,1
    - Dst: TS_CONF_load_cert
      Src: /src/openssl/crypto/ts/ts_conf.c:219,1
    - Dst: TS_RESP_CTX_set_signer_cert
      Src: /src/openssl/crypto/ts/ts_conf.c:221,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ts/ts_conf.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - conf
    - section
    - cert
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 4
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: TS_CONF_set_signer_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - TS_CONF_load_cert
    - TS_RESP_CTX_set_signer_cert
    - X509_free
    - NCONF_get_string
    - ts_CONF_lookup_fail
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_signer_cert(CONF *conf, const char *section,\n                            const
      char *cert, TS_RESP_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_conf.c:234,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:238,1
    - Dst: TS_CONF_load_certs
      Src: /src/openssl/crypto/ts/ts_conf.c:241,1
    - Dst: TS_RESP_CTX_set_certs
      Src: /src/openssl/crypto/ts/ts_conf.c:243,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/ts/ts_conf.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - conf
    - section
    - certs
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: TS_CONF_set_certs
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - TS_CONF_load_certs
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - NCONF_get_string
    - TS_RESP_CTX_set_certs
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_certs(CONF *conf, const char *section, const char
      *certs,\n                      TS_RESP_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:259,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:261,1
    - Dst: TS_CONF_load_key
      Src: /src/openssl/crypto/ts/ts_conf.c:264,1
    - Dst: TS_RESP_CTX_set_signer_key
      Src: /src/openssl/crypto/ts/ts_conf.c:266,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ts/ts_conf.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - conf
    - section
    - key
    - pass
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 252
    functionDepth: 7
    functionLinenumber: 252
    functionLinenumberEnd: 273
    functionName: TS_CONF_set_signer_key
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - TS_CONF_load_key
    - NCONF_get_string
    - ts_CONF_lookup_fail
    - TS_RESP_CTX_set_signer_key
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_signer_key(CONF *conf, const char *section,\n                           const
      char *key, const char *pass,\n                           TS_RESP_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:281,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:283,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/ts/ts_conf.c:286,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:288,1
    - Dst: TS_RESP_CTX_set_signer_digest
      Src: /src/openssl/crypto/ts/ts_conf.c:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - conf
    - section
    - md
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 297
    functionName: TS_CONF_set_signer_digest
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_invalid
    - EVP_get_digestbyname
    - NCONF_get_string
    - TS_RESP_CTX_set_signer_digest
    - ts_CONF_lookup_fail
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_signer_digest(CONF *conf, const char *section,\n                              const
      char *md, TS_RESP_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:306,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:308,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/ts/ts_conf.c:311,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:312,1
    - Dst: TS_RESP_CTX_set_def_policy
      Src: /src/openssl/crypto/ts/ts_conf.c:315,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_conf.c:320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - conf
    - section
    - policy
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 322
    functionName: TS_CONF_set_def_policy
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_invalid
    - OBJ_txt2obj
    - TS_RESP_CTX_set_def_policy
    - NCONF_get_string
    - ts_CONF_lookup_fail
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_def_policy(CONF *conf, const char *section,\n                           const
      char *policy, TS_RESP_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_conf.c:328,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:329,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/ts/ts_conf.c:332,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:333,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/ts/ts_conf.c:336,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/ts/ts_conf.c:337,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/ts/ts_conf.c:341,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:342,1
    - Dst: TS_RESP_CTX_add_policy
      Src: /src/openssl/crypto/ts/ts_conf.c:345,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_conf.c:347,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/ts/ts_conf.c:352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 354
    functionName: TS_CONF_set_policies
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - ts_CONF_invalid
    - sk_CONF_VALUE_num
    - TS_RESP_CTX_add_policy
    - STACK_OF
    - NCONF_get_string
    - sk_CONF_VALUE_pop_free
    - OBJ_txt2obj
    - sk_CONF_VALUE_value
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX
      *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_conf.c:360,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:361,1
    - Dst: ts_CONF_lookup_fail
      Src: /src/openssl/crypto/ts/ts_conf.c:364,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/ts/ts_conf.c:367,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:368,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/ts/ts_conf.c:371,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:372,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/ts/ts_conf.c:375,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/ts/ts_conf.c:376,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/ts/ts_conf.c:380,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:381,1
    - Dst: TS_RESP_CTX_add_md
      Src: /src/openssl/crypto/ts/ts_conf.c:384,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/ts/ts_conf.c:390,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 392
    functionName: TS_CONF_set_digests
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - X509V3_parse_list
    - ts_CONF_invalid
    - sk_CONF_VALUE_num
    - STACK_OF
    - TS_RESP_CTX_add_md
    - NCONF_get_string
    - EVP_get_digestbyname
    - sk_CONF_VALUE_pop_free
    - ts_CONF_lookup_fail
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX
      *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_conf.c:399,1
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:400,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/crypto/ts/ts_conf.c:402,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:403,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/crypto/ts/ts_conf.c:406,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/crypto/ts/ts_conf.c:407,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:408,1
    - Dst: atoi
      Src: /src/openssl/crypto/ts/ts_conf.c:410,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:411,1
    - Dst: atoi
      Src: /src/openssl/crypto/ts/ts_conf.c:413,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:414,1
    - Dst: atoi
      Src: /src/openssl/crypto/ts/ts_conf.c:416,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:418,1
    - Dst: TS_RESP_CTX_set_accuracy
      Src: /src/openssl/crypto/ts/ts_conf.c:422,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/crypto/ts/ts_conf.c:427,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 429
    functionName: TS_CONF_set_accuracy
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_set_accuracy
    - X509V3_parse_list
    - ts_CONF_invalid
    - atoi
    - sk_CONF_VALUE_num
    - STACK_OF
    - NCONF_get_string
    - sk_CONF_VALUE_pop_free
    - strcmp
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _CONF_get_number
      Src: /src/openssl/crypto/ts/ts_conf.c:440,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:442,1
    - Dst: TS_RESP_CTX_set_clock_precision_digits
      Src: /src/openssl/crypto/ts/ts_conf.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 452
    functionName: TS_CONF_set_clock_precision_digits
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_invalid
    - TS_RESP_CTX_set_clock_precision_digits
    - _CONF_get_number
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_clock_precision_digits(const CONF *conf, const char
      *section,\n                                       TS_RESP_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:457,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:460,1
    - Dst: TS_RESP_CTX_add_flags
      Src: /src/openssl/crypto/ts/ts_conf.c:461,1
    - Dst: strcmp
      Src: /src/openssl/crypto/ts/ts_conf.c:462,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - conf
    - section
    - field
    - flag
    - ctx
    argTypes:
    - CONF*
    - char*
    - char*
    - int
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 469
    functionName: ts_CONF_add_flag
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ts_CONF_invalid
    - NCONF_get_string
    - TS_RESP_CTX_add_flags
    linkageType: ''
    returnType: int
    signature: "int ts_CONF_add_flag(CONF *conf, const char *section,\n                            const
      char *field, int flag, TS_RESP_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_CONF_add_flag
      Src: /src/openssl/crypto/ts/ts_conf.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: TS_CONF_set_ordering
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_add_flag
    linkageType: ''
    returnType: int
    signature: int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_CONF_add_flag
      Src: /src/openssl/crypto/ts/ts_conf.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: TS_CONF_set_tsa_name
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_add_flag
    linkageType: ''
    returnType: int
    signature: int TS_CONF_set_tsa_name(CONF *conf, const char *section, TS_RESP_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ts_CONF_add_flag
      Src: /src/openssl/crypto/ts/ts_conf.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: TS_CONF_set_ess_cert_id_chain
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_add_flag
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section,\n
      \                                 TS_RESP_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/crypto/ts/ts_conf.c:493,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/ts/ts_conf.c:498,1
    - Dst: ts_CONF_invalid
      Src: /src/openssl/crypto/ts/ts_conf.c:500,1
    - Dst: TS_RESP_CTX_set_ess_cert_id_digest
      Src: /src/openssl/crypto/ts/ts_conf.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - conf
    - section
    - ctx
    argTypes:
    - CONF*
    - char*
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 510
    functionName: TS_CONF_set_ess_cert_id_digest
    functionSourceFile: /src/openssl/crypto/ts/ts_conf.c
    functionUses: 0
    functionsReached:
    - ts_CONF_invalid
    - EVP_get_digestbyname
    - NCONF_get_string
    - TS_RESP_CTX_set_ess_cert_id_digest
    linkageType: ''
    returnType: int
    signature: "int TS_CONF_set_ess_cert_id_digest(CONF *conf, const char *section,\n
      \                                  TS_RESP_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: TS_VERIFY_CTX_new
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: TS_VERIFY_CTX
    signature: TS_VERIFY_CTX *TS_VERIFY_CTX_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:24,1
    - Dst: memset
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_VERIFY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: TS_VERIFY_CTX_init
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - memset
    linkageType: ''
    returnType: void
    signature: void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TS_VERIFY_CTX_cleanup
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:33,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_VERIFY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: TS_VERIFY_CTX_free
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - TS_VERIFY_CTX_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - TS_VERIFY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: TS_VERIFY_CTX_add_flags
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TS_VERIFY_CTX_add_flags(TS_VERIFY_CTX *ctx, int f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - f
    argTypes:
    - TS_VERIFY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: TS_VERIFY_CTX_set_flags
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TS_VERIFY_CTX_set_flags(TS_VERIFY_CTX *ctx, int f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - b
    argTypes:
    - TS_VERIFY_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: TS_VERIFY_CTX_set_data
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO
    signature: BIO *TS_VERIFY_CTX_set_data(TS_VERIFY_CTX *ctx, BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - b
    argTypes:
    - TS_VERIFY_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: TS_VERIFY_CTX_set0_data
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - BIO_free_all
    linkageType: ''
    returnType: int
    signature: int TS_VERIFY_CTX_set0_data(TS_VERIFY_CTX *ctx, BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - TS_VERIFY_CTX*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: TS_VERIFY_CTX_set_store
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE *TS_VERIFY_CTX_set_store(TS_VERIFY_CTX *ctx, X509_STORE
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - TS_VERIFY_CTX*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: TS_VERIFY_CTX_set0_store
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - X509_STORE_free
    linkageType: ''
    returnType: int
    signature: int TS_VERIFY_CTX_set0_store(TS_VERIFY_CTX *ctx, X509_STORE *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - hexstr
    - len
    argTypes:
    - TS_VERIFY_CTX*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: TS_VERIFY_CTX_set_imprint
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *TS_VERIFY_CTX_set_imprint(TS_VERIFY_CTX *ctx,\n                                         unsigned
      char *hexstr, long len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - hexstr
    - len
    argTypes:
    - TS_VERIFY_CTX*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: TS_VERIFY_CTX_set0_imprint
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int TS_VERIFY_CTX_set0_imprint(TS_VERIFY_CTX *ctx,\n                              unsigned
      char *hexstr, long len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:120,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:121,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:123,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:126,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:128,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:130,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:132,1
    - Dst: TS_VERIFY_CTX_init
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_VERIFY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: TS_VERIFY_CTX_cleanup
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 1
    functionsReached:
    - X509_STORE_free
    - OSSL_STACK_OF_X509_free
    - BIO_free_all
    - OPENSSL_free
    - X509_ALGOR_free
    - ASN1_INTEGER_free
    - TS_VERIFY_CTX_init
    - GENERAL_NAME_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:146,1
    - Dst: TS_VERIFY_CTX_cleanup
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:148,1
    - Dst: TS_VERIFY_CTX_new
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:149,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:155,1
    - Dst: X509_ALGOR_dup
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:162,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:165,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:168,1
    - Dst: memcpy
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:170,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:170,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:173,1
    - Dst: TS_VERIFY_CTX_cleanup
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:181,1
    - Dst: TS_VERIFY_CTX_free
      Src: /src/openssl/crypto/ts/ts_verify_ctx.c:183,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - req
    - ctx
    argTypes:
    - TS_REQ*
    - TS_VERIFY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 185
    functionName: TS_REQ_to_TS_VERIFY_CTX
    functionSourceFile: /src/openssl/crypto/ts/ts_verify_ctx.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_dup
    - TS_VERIFY_CTX_cleanup
    - OBJ_dup
    - memcpy
    - OPENSSL_assert
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - TS_VERIFY_CTX_free
    - ASN1_INTEGER_dup
    - TS_VERIFY_CTX_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: TS_VERIFY_CTX
    signature: TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:46,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:55,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:56,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - struct TS_resp_ctx*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: def_serial_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_INTEGER_new
    - TS_RESP_CTX_set_status_info
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *def_serial_cb(struct TS_resp_ctx *ctx, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:68,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:70,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:71,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:73,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - data
    - sec
    - usec
    argTypes:
    - struct TS_resp_ctx*
    - void*
    - long*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: def_time_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - TS_RESP_CTX_add_failure_info
    - TS_RESP_CTX_set_status_info
    - ossl_time_now
    - ossl_time_to_timeval
    - ossl_time_is_zero
    linkageType: ''
    returnType: int
    signature: "int def_time_cb(struct TS_resp_ctx *ctx, void *data,\n                       long
      *sec, long *usec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:86,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - ext
    - data
    argTypes:
    - struct TS_resp_ctx*
    - X509_EXTENSION*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: def_extension_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - TS_RESP_CTX_add_failure_info
    linkageType: ''
    returnType: int
    signature: "int def_extension_cb(struct TS_resp_ctx *ctx, X509_EXTENSION *ext,\n
      \                           void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:98,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:102,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: TS_RESP_CTX_new_ex
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: TS_RESP_CTX
    signature: TS_RESP_CTX *TS_RESP_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_RESP_CTX_new_ex
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: TS_RESP_CTX_new
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_new_ex
    linkageType: ''
    returnType: TS_RESP_CTX
    signature: TS_RESP_CTX *TS_RESP_CTX_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:126,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:127,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:128,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:129,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:130,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:131,1
    - Dst: sk_EVP_MD_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:132,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:133,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:134,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: TS_RESP_CTX_free
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - OSSL_STACK_OF_X509_free
    - X509_free
    - OPENSSL_free
    - EVP_PKEY_free
    - sk_EVP_MD_free
    - ASN1_INTEGER_free
    - sk_ASN1_OBJECT_pop_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: void TS_RESP_CTX_free(TS_RESP_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_purpose
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:141,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:142,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:145,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - signer
    argTypes:
    - TS_RESP_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: TS_RESP_CTX_set_signer_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - X509_check_purpose
    - ERR_raise
    - X509_free
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:156,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - TS_RESP_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: TS_RESP_CTX_set_signer_key
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_up_ref
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - TS_RESP_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: TS_RESP_CTX_set_signer_digest
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TS_RESP_CTX_set_signer_digest(TS_RESP_CTX *ctx, const EVP_MD *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:173,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - def_policy
    argTypes:
    - TS_RESP_CTX*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: TS_RESP_CTX_set_def_policy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - OBJ_dup
    - ERR_raise
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT
      *def_policy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:195,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:196,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:200,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:204,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - policy
    argTypes:
    - TS_RESP_CTX*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: TS_RESP_CTX_add_policy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - OBJ_dup
    - ERR_raise
    - sk_ASN1_OBJECT_push
    - sk_ASN1_OBJECT_new_null
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, const ASN1_OBJECT *policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_MD_new_null
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:217,1
    - Dst: sk_EVP_MD_push
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - TS_RESP_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 226
    functionName: TS_RESP_CTX_add_md
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - sk_EVP_MD_new_null
    - ERR_raise
    - sk_EVP_MD_push
    linkageType: ''
    returnType: int
    signature: int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: TS_RESP_CTX_accuracy_free
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_RESP_CTX_accuracy_free(ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TS_RESP_CTX_accuracy_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:240,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:242,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:243,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:246,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:247,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:250,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:251,1
    - Dst: TS_RESP_CTX_accuracy_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - secs
    - millis
    - micros
    argTypes:
    - TS_RESP_CTX*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: TS_RESP_CTX_set_accuracy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - ERR_raise
    - TS_RESP_CTX_accuracy_free
    linkageType: ''
    returnType: int
    signature: "int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx,\n                             int
      secs, int millis, int micros)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - TS_RESP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: TS_RESP_CTX_add_flags
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cb
    - data
    argTypes:
    - TS_RESP_CTX*
    - TS_serial_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: TS_RESP_CTX_set_serial_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TS_RESP_CTX_set_serial_cb(TS_RESP_CTX *ctx, TS_serial_cb cb, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cb
    - data
    argTypes:
    - TS_RESP_CTX*
    - TS_time_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: TS_RESP_CTX_set_time_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cb
    - data
    argTypes:
    - TS_RESP_CTX*
    - TS_extension_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: TS_RESP_CTX_set_extension_cb
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx,\n                                  TS_extension_cb
      cb, void *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TS_STATUS_INFO_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:292,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:293,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:296,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:297,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:301,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:302,1
    - Dst: strlen
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:302,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:303,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:307,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:308,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:312,1
    - Dst: TS_RESP_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:317,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:318,1
    - Dst: TS_STATUS_INFO_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:323,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - status
    - text
    argTypes:
    - TS_RESP_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 326
    functionName: TS_RESP_CTX_set_status_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - sk_ASN1_UTF8STRING_new_null
    - TS_RESP_set_status_info
    - TS_STATUS_INFO_free
    - ASN1_INTEGER_set
    - sk_ASN1_UTF8STRING_push
    - TS_STATUS_INFO_new
    - ASN1_STRING_set
    - strlen
    - ASN1_UTF8STRING_new
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: int
    signature: "int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx,\n                                int
      status, const char *text)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:334,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - status
    - text
    argTypes:
    - TS_RESP_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 5
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: TS_RESP_CTX_set_status_info_cond
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: "int TS_RESP_CTX_set_status_info_cond(TS_RESP_CTX *ctx,\n                                     int
      status, const char *text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:344,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:346,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - failure
    argTypes:
    - TS_RESP_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: TS_RESP_CTX_add_failure_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 2
    functionsReached:
    - ASN1_BIT_STRING_new
    - ASN1_BIT_STRING_set_bit
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_RESP_CTX_add_failure_info(TS_RESP_CTX *ctx, int failure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: TS_RESP_CTX_get_request
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_REQ
    signature: TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: TS_RESP_CTX_get_tst_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_TST_INFO
    signature: TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - precision
    argTypes:
    - TS_RESP_CTX*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: TS_RESP_CTX_set_clock_precision_digits
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx,\n                                           unsigned
      precision)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ts_RESP_CTX_init
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:380,1
    - Dst: TS_RESP_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:382,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:383,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:386,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:387,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:389,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:392,1
    - Dst: ts_RESP_check_request
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:394,1
    - Dst: ts_RESP_get_policy
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:396,1
    - Dst: ts_RESP_create_tst_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:398,1
    - Dst: ts_RESP_process_extensions
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:400,1
    - Dst: ts_RESP_sign
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:402,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:408,1
    - Dst: TS_RESP_CTX_set_status_info_cond
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:410,1
    - Dst: TS_RESP_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:414,1
    - Dst: ts_RESP_CTX_cleanup
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:421,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - req_bio
    argTypes:
    - TS_RESP_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 423
    functionName: TS_RESP_create_response
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - d2i_TS_REQ_bio
    - ERR_raise
    - ts_RESP_sign
    - ts_RESP_process_extensions
    - ts_RESP_get_policy
    - TS_RESP_new
    - TS_RESP_CTX_set_status_info
    - TS_RESP_CTX_add_failure_info
    - ts_RESP_create_tst_info
    - TS_RESP_free
    - ts_RESP_check_request
    - ts_RESP_CTX_cleanup
    - ts_RESP_CTX_init
    - TS_RESP_CTX_set_status_info_cond
    linkageType: ''
    returnType: TS_RESP
    signature: TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: ts_RESP_CTX_init
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ts_RESP_CTX_init(TS_RESP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TS_REQ_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:436,1
    - Dst: TS_RESP_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:438,1
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: ts_RESP_CTX_cleanup
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - TS_TST_INFO_free
    - TS_REQ_free
    - TS_RESP_free
    linkageType: ''
    returnType: void
    signature: void ts_RESP_CTX_cleanup(TS_RESP_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TS_REQ_get_version
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:455,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:456,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:458,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:464,1
    - Dst: sk_EVP_MD_num
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:465,1
    - Dst: sk_EVP_MD_value
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:466,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:467,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:471,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:474,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:478,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:482,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:483,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:486,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:491,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 445
    functionDepth: 9
    functionLinenumber: 445
    functionLinenumberEnd: 498
    functionName: ts_RESP_check_request
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2txt
    - EVP_MD_get_size
    - EVP_MD_is_a
    - TS_RESP_CTX_add_failure_info
    - TS_RESP_CTX_set_status_info
    - sk_EVP_MD_value
    - TS_REQ_get_version
    - sk_EVP_MD_num
    - ASN1_TYPE_get
    linkageType: ''
    returnType: int
    signature: int ts_RESP_check_request(TS_RESP_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:508,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:511,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:515,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:516,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:521,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:522,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 501
    functionDepth: 5
    functionLinenumber: 501
    functionLinenumberEnd: 527
    functionName: ts_RESP_get_policy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - sk_ASN1_OBJECT_value
    - ERR_raise
    - TS_RESP_CTX_add_failure_info
    - OBJ_cmp
    - TS_RESP_CTX_set_status_info
    - sk_ASN1_OBJECT_num
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *ts_RESP_get_policy(TS_RESP_CTX *ctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TS_TST_INFO_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:542,1
    - Dst: TS_TST_INFO_set_version
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:544,1
    - Dst: TS_TST_INFO_set_policy_id
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:546,1
    - Dst: TS_TST_INFO_set_msg_imprint
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:548,1
    - Dst: TS_RESP_CTX*::serial_cb
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:550,1
    - Dst: TS_TST_INFO_set_serial
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:551,1
    - Dst: TS_RESP_CTX*::time_cb
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:553,1
    - Dst: TS_RESP_set_genTime_with_precision
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:555,1
    - Dst: TS_TST_INFO_set_time
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:557,1
    - Dst: TS_ACCURACY_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:561,1
    - Dst: TS_ACCURACY_set_seconds
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:563,1
    - Dst: TS_ACCURACY_set_millis
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:565,1
    - Dst: TS_ACCURACY_set_micros
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:567,1
    - Dst: TS_TST_INFO_set_accuracy
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:569,1
    - Dst: TS_TST_INFO_set_ordering
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:573,1
    - Dst: TS_TST_INFO_set_nonce
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:577,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:581,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:585,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:585,1
    - Dst: TS_TST_INFO_set_tsa
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:588,1
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:595,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:597,1
    - Dst: TS_RESP_CTX_set_status_info_cond
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:598,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:602,1
    - Dst: TS_ACCURACY_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:603,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:604,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:605,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 67
    argCount: 2
    argNames:
    - ctx
    - policy
    argTypes:
    - TS_RESP_CTX*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 530
    functionDepth: 6
    functionLinenumber: 530
    functionLinenumberEnd: 608
    functionName: ts_RESP_create_tst_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - TS_TST_INFO_set_serial
    - ERR_raise
    - TS_TST_INFO_set_nonce
    - ASN1_INTEGER_free
    - TS_RESP_set_genTime_with_precision
    - TS_TST_INFO_set_ordering
    - TS_ACCURACY_set_seconds
    - TS_RESP_CTX_set_status_info_cond
    - TS_TST_INFO_set_msg_imprint
    - TS_TST_INFO_set_accuracy
    - GENERAL_NAME_new
    - TS_ACCURACY_set_micros
    - X509_NAME_dup
    - GENERAL_NAME_free
    - TS_ACCURACY_free
    - TS_RESP_CTX*::serial_cb
    - TS_ACCURACY_set_millis
    - TS_TST_INFO_set_time
    - TS_TST_INFO_set_version
    - TS_RESP_CTX*::time_cb
    - TS_TST_INFO_new
    - TS_ACCURACY_new
    - X509_get_subject_name
    - TS_TST_INFO_set_tsa
    - ASN1_GENERALIZEDTIME_free
    - TS_TST_INFO_set_policy_id
    - TS_TST_INFO_free
    linkageType: ''
    returnType: TS_TST_INFO
    signature: "TS_TST_INFO *ts_RESP_create_tst_info(TS_RESP_CTX *ctx,\n                                            ASN1_OBJECT
      *policy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:613,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:617,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 629
    functionName: ts_RESP_process_extensions
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - sk_X509_EXTENSION_num
    - STACK_OF
    - sk_X509_EXTENSION_value
    linkageType: ''
    returnType: int
    signature: int ts_RESP_process_extensions(TS_RESP_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:636,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:637,1
    - Dst: i2d_ESS_SIGNING_CERT
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:643,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:644,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:644,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:645,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:650,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:651,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ESS_SIGNING_CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 657
    functionName: ossl_ess_add1_signing_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ASN1_STRING_new
    - PKCS7_add_signed_attribute
    - OPENSSL_free
    - ASN1_STRING_set
    - i2d_ESS_SIGNING_CERT
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_ess_add1_signing_cert(PKCS7_SIGNER_INFO *si,\n                                      const
      ESS_SIGNING_CERT *sc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:663,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:664,1
    - Dst: i2d_ESS_SIGNING_CERT_V2
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:670,1
    - Dst: ASN1_STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:671,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:671,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:672,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:673,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:677,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:678,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - si
    - sc
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ESS_SIGNING_CERT_V2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 684
    functionName: ossl_ess_add1_signing_cert_v2
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ASN1_STRING_new
    - PKCS7_add_signed_attribute
    - OPENSSL_free
    - ASN1_STRING_set
    - i2d_ESS_SIGNING_CERT_V2
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_ess_add1_signing_cert_v2(PKCS7_SIGNER_INFO *si,\n                                         const
      ESS_SIGNING_CERT_V2 *sc)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:691,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:699,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:700,1
    - Dst: PKCS7_new_ex
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:704,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:705,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:708,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:710,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:714,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:716,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:717,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:718,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:724,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:725,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:726,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:726,1
    - Dst: PKCS7_add_signature
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:731,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:733,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:737,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:738,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:740,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:746,1
    - Dst: OSSL_ESS_signing_cert_new_init
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:747,1
    - Dst: ossl_ess_add1_signing_cert
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:751,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:752,1
    - Dst: OSSL_ESS_signing_cert_v2_new_init
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:756,1
    - Dst: ossl_ess_add1_signing_cert_v2
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:761,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:762,1
    - Dst: ts_TST_INFO_content_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:767,1
    - Dst: PKCS7_dataInit
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:769,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:770,1
    - Dst: i2d_TS_TST_INFO_bio
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:773,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:774,1
    - Dst: PKCS7_dataFinal
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:777,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:778,1
    - Dst: TS_RESP_set_tst_info
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:781,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:788,1
    - Dst: TS_RESP_CTX_set_status_info_cond
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:791,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:794,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:795,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:796,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:797,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - TS_RESP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 686
    functionDepth: 10
    functionLinenumber: 686
    functionLinenumberEnd: 799
    functionName: ts_RESP_sign
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - PKCS7_free
    - EVP_MD_free
    - ERR_raise
    - ossl_ess_add1_signing_cert
    - EVP_MD_is_a
    - PKCS7_add_signed_attribute
    - PKCS7_set_type
    - TS_RESP_CTX_set_status_info_cond
    - sk_X509_num
    - PKCS7_dataInit
    - sk_X509_value
    - TS_RESP_set_tst_info
    - BIO_free_all
    - ASN1_INTEGER_set
    - ts_TST_INFO_content_new
    - X509_check_private_key
    - OBJ_nid2obj
    - ossl_ess_add1_signing_cert_v2
    - PKCS7_new_ex
    - i2d_TS_TST_INFO_bio
    - EVP_MD_get0_name
    - STACK_OF
    - EVP_MD_fetch
    - EVP_MD_get0_provider
    - PKCS7_dataFinal
    - ESS_SIGNING_CERT_V2_free
    - ESS_SIGNING_CERT_free
    - PKCS7_add_signature
    - PKCS7_add_certificate
    - OSSL_ESS_signing_cert_v2_new_init
    - OSSL_ESS_signing_cert_new_init
    linkageType: ''
    returnType: int
    signature: int ts_RESP_sign(TS_RESP_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:807,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:809,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:811,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:812,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:814,1
    - Dst: PKCS7_set_content
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:818,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:823,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 826
    functionName: ts_TST_INFO_content_new
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - PKCS7_free
    - PKCS7_new
    - PKCS7_set_content
    - ASN1_TYPE_new
    - OBJ_nid2obj
    - ASN1_OCTET_STRING_free
    - ASN1_TYPE_set
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int ts_TST_INFO_content_new(PKCS7 *p7)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:841,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:851,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:856,1
    - Dst: strlen
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:857,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:883,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:885,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:886,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_sign.c:892,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - asn1_time
    - sec
    - usec
    - precision
    argTypes:
    - ASN1_GENERALIZEDTIME*
    - long
    - long
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 828
    functionDepth: 6
    functionLinenumber: 828
    functionLinenumberEnd: 894
    functionName: TS_RESP_set_genTime_with_precision
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached:
    - ASN1_GENERALIZEDTIME_new
    - ASN1_GENERALIZEDTIME_set_string
    - ERR_raise
    - BIO_snprintf
    - ASN1_GENERALIZEDTIME_free
    - strlen
    - OPENSSL_gmtime
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME
    signature: "ASN1_GENERALIZEDTIME *TS_RESP_set_genTime_with_precision(\n        ASN1_GENERALIZEDTIME
      *asn1_time, long sec, long usec,\n        unsigned precision)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - TS_RESP_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 900
    functionName: TS_RESP_CTX_set_ess_cert_id_digest
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_sign.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TS_RESP_CTX_set_ess_cert_id_digest(TS_RESP_CTX *ctx, const EVP_MD
      *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_req_utils.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - version
    argTypes:
    - TS_REQ*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: TS_REQ_set_version
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: int
    signature: int TS_REQ_set_version(TS_REQ *a, long version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ts/ts_req_utils.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: TS_REQ_get_version
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: long TS_REQ_get_version(const TS_REQ *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_MSG_IMPRINT_dup
      Src: /src/openssl/crypto/ts/ts_req_utils.c:33,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_req_utils.c:35,1
    - Dst: TS_MSG_IMPRINT_free
      Src: /src/openssl/crypto/ts/ts_req_utils.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - msg_imprint
    argTypes:
    - TS_REQ*
    - TS_MSG_IMPRINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: TS_REQ_set_msg_imprint
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - TS_MSG_IMPRINT_free
    - ERR_raise
    - TS_MSG_IMPRINT_dup
    linkageType: ''
    returnType: int
    signature: int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: TS_REQ_get_msg_imprint
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_MSG_IMPRINT
    signature: TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_dup
      Src: /src/openssl/crypto/ts/ts_req_utils.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_req_utils.c:56,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/ts/ts_req_utils.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - alg
    argTypes:
    - TS_MSG_IMPRINT*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: TS_MSG_IMPRINT_set_algo
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_dup
    - X509_ALGOR_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_MSG_IMPRINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: TS_MSG_IMPRINT_get_algo
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/ts/ts_req_utils.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - d
    - len
    argTypes:
    - TS_MSG_IMPRINT*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: TS_MSG_IMPRINT_set_msg
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    linkageType: ''
    returnType: int
    signature: int TS_MSG_IMPRINT_set_msg(TS_MSG_IMPRINT *a, unsigned char *d, int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_MSG_IMPRINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: TS_MSG_IMPRINT_get_msg
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/ts/ts_req_utils.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_req_utils.c:87,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_req_utils.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - policy
    argTypes:
    - TS_REQ*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: TS_REQ_set_policy_id
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - OBJ_dup
    - ERR_raise
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int TS_REQ_set_policy_id(TS_REQ *a, const ASN1_OBJECT *policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: TS_REQ_get_policy_id
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ts/ts_req_utils.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_req_utils.c:108,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_req_utils.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - nonce
    argTypes:
    - TS_REQ*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: TS_REQ_set_nonce
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_free
    - ASN1_INTEGER_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: TS_REQ_get_nonce
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - cert_req
    argTypes:
    - TS_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: TS_REQ_set_cert_req
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TS_REQ_set_cert_req(TS_REQ *a, int cert_req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: TS_REQ_get_cert_req
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TS_REQ_get_cert_req(const TS_REQ *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/ts/ts_req_utils.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: TS_REQ_ext_free
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_pop_free
    linkageType: ''
    returnType: void
    signature: void TS_REQ_ext_free(TS_REQ *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ts/ts_req_utils.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: TS_REQ_get_ext_count
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int TS_REQ_get_ext_count(TS_REQ *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/ts/ts_req_utils.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - nid
    - lastpos
    argTypes:
    - TS_REQ*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: TS_REQ_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int TS_REQ_get_ext_by_NID(TS_REQ *a, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/ts/ts_req_utils.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - obj
    - lastpos
    argTypes:
    - TS_REQ*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: TS_REQ_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: int TS_REQ_get_ext_by_OBJ(TS_REQ *a, const ASN1_OBJECT *obj, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/ts/ts_req_utils.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - crit
    - lastpos
    argTypes:
    - TS_REQ*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: TS_REQ_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: int TS_REQ_get_ext_by_critical(TS_REQ *a, int crit, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/ts/ts_req_utils.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - loc
    argTypes:
    - TS_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: TS_REQ_get_ext
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/ts/ts_req_utils.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - loc
    argTypes:
    - TS_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: TS_REQ_delete_ext
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/ts/ts_req_utils.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - ex
    - loc
    argTypes:
    - TS_REQ*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: TS_REQ_add_ext
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int TS_REQ_add_ext(TS_REQ *a, X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/ts/ts_req_utils.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - nid
    - crit
    - idx
    argTypes:
    - TS_REQ*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: TS_REQ_get_ext_d2i
    functionSourceFile: /src/openssl/crypto/ts/ts_req_utils.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_STATUS_INFO_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:23,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:25,1
    - Dst: TS_STATUS_INFO_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - status_info
    argTypes:
    - TS_RESP*
    - TS_STATUS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: TS_RESP_set_status_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - TS_STATUS_INFO_dup
    - TS_STATUS_INFO_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *status_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: TS_RESP_get_status_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_STATUS_INFO
    signature: TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:42,1
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - p7
    - tst_info
    argTypes:
    - TS_RESP*
    - PKCS7*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: TS_RESP_set_tst_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - TS_TST_INFO_free
    - PKCS7_free
    linkageType: ''
    returnType: void
    signature: void TS_RESP_set_tst_info(TS_RESP *a, PKCS7 *p7, TS_TST_INFO *tst_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: TS_RESP_get_token
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *TS_RESP_get_token(TS_RESP *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: TS_RESP_get_tst_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_TST_INFO
    signature: TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - version
    argTypes:
    - TS_TST_INFO*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: TS_TST_INFO_set_version
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_version(TS_TST_INFO *a, long version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: TS_TST_INFO_get_version
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: long
    signature: long TS_TST_INFO_get_version(const TS_TST_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:76,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - policy
    argTypes:
    - TS_TST_INFO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: TS_TST_INFO_set_policy_id
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - OBJ_dup
    - ERR_raise
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: TS_TST_INFO_get_policy_id
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_MSG_IMPRINT_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:97,1
    - Dst: TS_MSG_IMPRINT_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - msg_imprint
    argTypes:
    - TS_TST_INFO*
    - TS_MSG_IMPRINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: TS_TST_INFO_set_msg_imprint
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - TS_MSG_IMPRINT_free
    - ERR_raise
    - TS_MSG_IMPRINT_dup
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: TS_TST_INFO_get_msg_imprint
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_MSG_IMPRINT
    signature: TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:118,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - serial
    argTypes:
    - TS_TST_INFO*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: TS_TST_INFO_set_serial
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_free
    - ASN1_INTEGER_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: TS_TST_INFO_get_serial
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:139,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - gtime
    argTypes:
    - TS_TST_INFO*
    - ASN1_GENERALIZEDTIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: TS_TST_INFO_set_time
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - ASN1_GENERALIZEDTIME_free
    - ASN1_STRING_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME
      *gtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: TS_TST_INFO_get_time
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_GENERALIZEDTIME
    signature: ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TS_ACCURACY_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:160,1
    - Dst: TS_ACCURACY_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - accuracy
    argTypes:
    - TS_TST_INFO*
    - TS_ACCURACY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: TS_TST_INFO_set_accuracy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - TS_ACCURACY_free
    - TS_ACCURACY_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: TS_TST_INFO_get_accuracy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TS_ACCURACY
    signature: TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:181,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - seconds
    argTypes:
    - TS_ACCURACY*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: TS_ACCURACY_set_seconds
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_free
    - ASN1_INTEGER_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_ACCURACY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: TS_ACCURACY_get_seconds
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:203,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - a
    - millis
    argTypes:
    - TS_ACCURACY*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: TS_ACCURACY_set_millis
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_free
    - ASN1_INTEGER_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_ACCURACY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: TS_ACCURACY_get_millis
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:226,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - a
    - micros
    argTypes:
    - TS_ACCURACY*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: TS_ACCURACY_set_micros
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_free
    - ASN1_INTEGER_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_ACCURACY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: TS_ACCURACY_get_micros
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - ordering
    argTypes:
    - TS_TST_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: TS_TST_INFO_set_ordering
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: TS_TST_INFO_get_ordering
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_get_ordering(const TS_TST_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:257,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:259,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - nonce
    argTypes:
    - TS_TST_INFO*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: TS_TST_INFO_set_nonce
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_free
    - ASN1_INTEGER_dup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: TS_TST_INFO_get_nonce
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GENERAL_NAME_dup
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:280,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - tsa
    argTypes:
    - TS_TST_INFO*
    - GENERAL_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: TS_TST_INFO_set_tsa
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 1
    functionsReached:
    - GENERAL_NAME_free
    - ERR_raise
    - GENERAL_NAME_dup
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: TS_TST_INFO_get_tsa
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GENERAL_NAME
    signature: GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: TS_TST_INFO_ext_free
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_pop_free
    linkageType: ''
    returnType: void
    signature: void TS_TST_INFO_ext_free(TS_TST_INFO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_count
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: TS_TST_INFO_get_ext_count
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_count
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_get_ext_count(TS_TST_INFO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_NID
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - nid
    - lastpos
    argTypes:
    - TS_TST_INFO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: TS_TST_INFO_get_ext_by_NID
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_NID
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_get_ext_by_NID(TS_TST_INFO *a, int nid, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - obj
    - lastpos
    argTypes:
    - TS_TST_INFO*
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: TS_TST_INFO_get_ext_by_OBJ
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_OBJ
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_get_ext_by_OBJ(TS_TST_INFO *a, const ASN1_OBJECT *obj,
      int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext_by_critical
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - crit
    - lastpos
    argTypes:
    - TS_TST_INFO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: TS_TST_INFO_get_ext_by_critical
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext_by_critical
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_get_ext_by_critical(TS_TST_INFO *a, int crit, int lastpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_get_ext
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - loc
    argTypes:
    - TS_TST_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: TS_TST_INFO_get_ext
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_get_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *TS_TST_INFO_get_ext(TS_TST_INFO *a, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_delete_ext
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - loc
    argTypes:
    - TS_TST_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: TS_TST_INFO_delete_ext
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_delete_ext
    linkageType: ''
    returnType: X509_EXTENSION
    signature: X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509v3_add_ext
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - ex
    - loc
    argTypes:
    - TS_TST_INFO*
    - X509_EXTENSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: TS_TST_INFO_add_ext
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - X509v3_add_ext
    linkageType: ''
    returnType: int
    signature: int TS_TST_INFO_add_ext(TS_TST_INFO *a, X509_EXTENSION *ex, int loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509V3_get_d2i
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a
    - nid
    - crit
    - idx
    argTypes:
    - TS_TST_INFO*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 4
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: TS_TST_INFO_get_ext_d2i
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - X509V3_get_d2i
    linkageType: ''
    returnType: void
    signature: void *TS_TST_INFO_get_ext_d2i(TS_TST_INFO *a, int nid, int *crit, int
      *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/ts/ts_rsp_utils.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - i
    argTypes:
    - TS_STATUS_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: TS_STATUS_INFO_set_status
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_set
    linkageType: ''
    returnType: int
    signature: int TS_STATUS_INFO_set_status(TS_STATUS_INFO *a, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_STATUS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: TS_STATUS_INFO_get0_status
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *TS_STATUS_INFO_get0_status(const TS_STATUS_INFO *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_STATUS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: TS_STATUS_INFO_get0_text
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: 'STACK_OF *

      TS_STATUS_INFO_get0_text(const TS_STATUS_INFO *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TS_STATUS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: TS_STATUS_INFO_get0_failure_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ASN1_BIT_STRING
    signature: ASN1_BIT_STRING *TS_STATUS_INFO_get0_failure_info(const TS_STATUS_INFO
      *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TS_REQ_get_version
      Src: /src/openssl/crypto/ts/ts_req_print.c:26,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_req_print.c:27,1
    - Dst: TS_MSG_IMPRINT_print_bio
      Src: /src/openssl/crypto/ts/ts_req_print.c:29,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_req_print.c:31,1
    - Dst: TS_REQ_get_policy_id
      Src: /src/openssl/crypto/ts/ts_req_print.c:32,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_req_print.c:34,1
    - Dst: TS_OBJ_print_bio
      Src: /src/openssl/crypto/ts/ts_req_print.c:36,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_req_print.c:38,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_req_print.c:40,1
    - Dst: TS_ASN1_INTEGER_print_bio
      Src: /src/openssl/crypto/ts/ts_req_print.c:42,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/ts/ts_req_print.c:43,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/ts/ts_req_print.c:45,1
    - Dst: TS_ext_print_bio
      Src: /src/openssl/crypto/ts/ts_req_print.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - bio
    - a
    argTypes:
    - BIO*
    - TS_REQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 18
    functionDepth: 8
    functionLinenumber: 18
    functionLinenumberEnd: 51
    functionName: TS_REQ_print_bio
    functionSourceFile: /src/openssl/crypto/ts/ts_req_print.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - TS_ASN1_INTEGER_print_bio
    - TS_ext_print_bio
    - TS_MSG_IMPRINT_print_bio
    - TS_OBJ_print_bio
    - TS_REQ_get_version
    - BIO_printf
    - TS_REQ_get_policy_id
    linkageType: ''
    returnType: int
    signature: int TS_REQ_print_bio(BIO *bio, TS_REQ *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:213,1
    - Dst: d2i_ESS_SIGNING_CERT
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: ossl_ess_get_signing_cert
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - PKCS7_get_signed_attribute
    - d2i_ESS_SIGNING_CERT
    linkageType: ''
    returnType: ESS_SIGNING_CERT
    signature: ESS_SIGNING_CERT *ossl_ess_get_signing_cert(const PKCS7_SIGNER_INFO
      *si)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:226,1
    - Dst: d2i_ESS_SIGNING_CERT_V2
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: ossl_ess_get_signing_cert_v2
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - PKCS7_get_signed_attribute
    - d2i_ESS_SIGNING_CERT_V2
    linkageType: ''
    returnType: ESS_SIGNING_CERT_V2
    signature: ESS_SIGNING_CERT_V2 *ossl_ess_get_signing_cert_v2(const PKCS7_SIGNER_INFO
      *si)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ess_get_signing_cert
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:236,1
    - Dst: ossl_ess_get_signing_cert_v2
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:237,1
    - Dst: OSSL_ESS_check_signing_certs
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:238,1
    - Dst: ESS_SIGNING_CERT_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:240,1
    - Dst: ESS_SIGNING_CERT_V2_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - si
    - chain
    argTypes:
    - PKCS7_SIGNER_INFO*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 12
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: ts_check_signing_certs
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - ESS_SIGNING_CERT_V2_free
    - ESS_SIGNING_CERT_free
    - ossl_ess_get_signing_cert_v2
    - OSSL_ESS_check_signing_certs
    - ossl_ess_get_signing_cert
    linkageType: ''
    returnType: int
    signature: "int ts_check_signing_certs(const PKCS7_SIGNER_INFO *si,\n                                  const
      STACK_OF(X509) *chain)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ts_check_status_info
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:257,1
    - Dst: int_ts_RESP_verify_token
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - response
    argTypes:
    - TS_VERIFY_CTX*
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: TS_RESP_verify_response
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - ts_check_status_info
    - int_ts_RESP_verify_token
    linkageType: ''
    returnType: int
    signature: int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_to_TS_TST_INFO
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:273,1
    - Dst: int_ts_RESP_verify_token
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:276,1
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - token
    argTypes:
    - TS_VERIFY_CTX*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: TS_RESP_verify_token
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 0
    functionsReached:
    - TS_TST_INFO_free
    - int_ts_RESP_verify_token
    - PKCS7_to_TS_TST_INFO
    linkageType: ''
    returnType: int
    signature: int TS_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TS_RESP_verify_signature
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:312,1
    - Dst: TS_TST_INFO_get_version
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:315,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:316,1
    - Dst: ts_check_policy
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:320,1
    - Dst: ts_check_imprints
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:323,1
    - Dst: ts_compute_imprint
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:327,1
    - Dst: ts_check_imprints
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:329,1
    - Dst: ts_check_nonces
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:332,1
    - Dst: ts_check_signer_name
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:335,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:336,1
    - Dst: ts_check_signer_name
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:340,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:341,1
    - Dst: X509_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:347,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:349,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 41
    argCount: 3
    argNames:
    - ctx
    - token
    - tst_info
    argTypes:
    - TS_VERIFY_CTX*
    - PKCS7*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 294
    functionDepth: 6
    functionLinenumber: 294
    functionLinenumberEnd: 351
    functionName: int_ts_RESP_verify_token
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 2
    functionsReached:
    - ts_check_imprints
    - ERR_raise
    - ts_check_nonces
    - TS_RESP_verify_signature
    - X509_free
    - OPENSSL_free
    - X509_ALGOR_free
    - ts_compute_imprint
    - ts_check_signer_name
    - ts_check_policy
    - TS_TST_INFO_get_version
    linkageType: ''
    returnType: int
    signature: "int int_ts_RESP_verify_token(TS_VERIFY_CTX *ctx,\n                                    PKCS7
      *token, TS_TST_INFO *tst_info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:356,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:365,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:370,1
    - Dst: ts_get_status_text
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:371,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:378,1
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:379,1
    - Dst: strcat
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:382,1
    - Dst: strcat
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:385,1
    - Dst: strcpy
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:390,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:397,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - response
    argTypes:
    - TS_RESP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 400
    functionName: ts_check_status_info
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - strcpy
    - sk_ASN1_UTF8STRING_num
    - ERR_raise_data
    - ts_get_status_text
    - OSSL_NELEM
    - OPENSSL_free
    - ASN1_BIT_STRING_get_bit
    - strcat
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: int ts_check_status_info(TS_RESP *response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sk_ASN1_UTF8STRING2text
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: ts_get_status_text
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - ossl_sk_ASN1_UTF8STRING2text
    linkageType: ''
    returnType: char
    signature: char *ts_get_status_text(STACK_OF(ASN1_UTF8STRING) *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:412,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req_oid
    - tst_info
    argTypes:
    - ASN1_OBJECT*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: ts_check_policy
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - OBJ_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ts_check_policy(const ASN1_OBJECT *req_oid,\n                           const
      TS_TST_INFO *tst_info)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_dup
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:435,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:438,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:440,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:441,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:444,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:447,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:450,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:452,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:456,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:459,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:461,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:464,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:466,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:468,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:469,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:472,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:474,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:478,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:479,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:480,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:482,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 5
    argNames:
    - data
    - tst_info
    - md_alg
    - imprint
    - imprint_len
    argTypes:
    - BIO*
    - TS_TST_INFO*
    - X509_ALGOR**
    - unsigned char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 420
    functionDepth: 10
    functionLinenumber: 420
    functionLinenumberEnd: 486
    functionName: ts_compute_imprint
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - OBJ_obj2txt
    - ERR_raise
    - EVP_DigestUpdate
    - ERR_pop_to_mark
    - OPENSSL_free
    - X509_ALGOR_free
    - EVP_get_digestbyname
    - BIO_read
    - ERR_clear_last_mark
    - OPENSSL_malloc
    - EVP_DigestFinal
    - EVP_MD_fetch
    - X509_ALGOR_dup
    - EVP_DigestInit
    - EVP_MD_get_size
    - ERR_set_mark
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: "int ts_compute_imprint(BIO *data, TS_TST_INFO *tst_info,\n                              X509_ALGOR
      **md_alg,\n                              unsigned char **imprint, unsigned *imprint_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:497,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:502,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:504,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:508,1
    - Dst: memcmp
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:509,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:509,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:512,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - algor_a
    - imprint_a
    - len_a
    - tst_info
    argTypes:
    - X509_ALGOR*
    - unsigned char*
    - unsigned
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 514
    functionName: ts_check_imprints
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - memcmp
    - ERR_raise
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - OBJ_cmp
    - ASN1_TYPE_get
    linkageType: ''
    returnType: int
    signature: "int ts_check_imprints(X509_ALGOR *algor_a,\n                             const
      unsigned char *imprint_a, unsigned len_a,\n                             TS_TST_INFO
      *tst_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:521,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:526,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a
    - tst_info
    argTypes:
    - ASN1_INTEGER*
    - TS_TST_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 532
    functionName: ts_check_nonces
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - ASN1_INTEGER_cmp
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ts_check_nonces(const ASN1_INTEGER *a, TS_TST_INFO *tst_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:540,1
    - Dst: X509_name_cmp
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:545,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:545,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:547,1
    - Dst: ts_find_name
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:549,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:556,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:557,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/crypto/ts/ts_rsp_verify.c:559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - tsa_name
    - signer
    argTypes:
    - GENERAL_NAME*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 562
    functionName: ts_check_signer_name
    functionSourceFile: /src/openssl/crypto/ts/ts_rsp_verify.c
    functionUses: 1
    functionsReached:
    - GENERAL_NAMES_free
    - X509_get_ext_d2i
    - X509_get_subject_name
    - X509_name_cmp
    - STACK_OF
    - ts_find_name
    linkageType: ''
    returnType: int
    signature: int ts_check_signer_name(GENERAL_NAME *tsa_name, X509 *signer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/ts/ts_err.c:84,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/ts/ts_err.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: ossl_err_load_TS_strings
    functionSourceFile: /src/openssl/crypto/ts/ts_err.c
    functionUses: 1
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_TS_strings(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sk
    - c
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_compfunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: OPENSSL_sk_set_cmp_func
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_sk_compfunc
    signature: "OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk,\n                                            OPENSSL_sk_compfunc
      c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/stack/stack.c:52,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/stack/stack.c:72,1
    - Dst: memcpy
      Src: /src/openssl/crypto/stack/stack.c:75,1
    - Dst: OPENSSL_sk_free
      Src: /src/openssl/crypto/stack/stack.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - sk
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: OPENSSL_sk_dup
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_sk_free
    - memcpy
    - OPENSSL_malloc_array
    - OPENSSL_malloc
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: OPENSSL_STACK *OPENSSL_sk_dup(const OPENSSL_STACK *sk)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/stack/stack.c:90,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/stack/stack.c:110,1
    - Dst: copy_func
      Src: /src/openssl/crypto/stack/stack.c:117,1
    - Dst: free_func
      Src: /src/openssl/crypto/stack/stack.c:120,1
    - Dst: OPENSSL_sk_free
      Src: /src/openssl/crypto/stack/stack.c:127,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - sk
    - copy_func
    - free_func
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_copyfunc
    - OPENSSL_sk_freefunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 129
    functionName: OPENSSL_sk_deep_copy
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - copy_func
    - OPENSSL_sk_free
    - OPENSSL_calloc
    - free_func
    - OPENSSL_malloc
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: "OPENSSL_STACK *OPENSSL_sk_deep_copy(const OPENSSL_STACK *sk,\n                                    OPENSSL_sk_copyfunc
      copy_func,\n                                    OPENSSL_sk_freefunc free_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_new_reserve
      Src: /src/openssl/crypto/stack/stack.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: OPENSSL_sk_new_null
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_sk_new_reserve
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: OPENSSL_STACK *OPENSSL_sk_new_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_new_reserve
      Src: /src/openssl/crypto/stack/stack.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - OPENSSL_sk_compfunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: OPENSSL_sk_new
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_sk_new_reserve
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: OPENSSL_STACK *OPENSSL_sk_new(OPENSSL_sk_compfunc c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: safe_muldiv_int
      Src: /src/openssl/crypto/stack/stack.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - target
    - current
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: compute_growth
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - safe_muldiv_int
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline compute_growth(int target, int current)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:185,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/stack/stack.c:200,1
    - Dst: compute_growth
      Src: /src/openssl/crypto/stack/stack.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:211,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/crypto/stack/stack.c:218,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - st
    - n
    - exact
    argTypes:
    - OPENSSL_STACK*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 225
    functionName: sk_reserve
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_calloc
    - ERR_raise
    - compute_growth
    - OPENSSL_realloc_array
    linkageType: ''
    returnType: int
    signature: int sk_reserve(OPENSSL_STACK *st, int n, int exact)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/stack/stack.c:229,1
    - Dst: sk_reserve
      Src: /src/openssl/crypto/stack/stack.c:239,1
    - Dst: OPENSSL_sk_free
      Src: /src/openssl/crypto/stack/stack.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - c
    - n
    argTypes:
    - OPENSSL_sk_compfunc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: OPENSSL_sk_new_reserve
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 2
    functionsReached:
    - OPENSSL_sk_free
    - OPENSSL_zalloc
    - sk_reserve
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: OPENSSL_STACK *OPENSSL_sk_new_reserve(OPENSSL_sk_compfunc c, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:250,1
    - Dst: sk_reserve
      Src: /src/openssl/crypto/stack/stack.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - st
    - n
    argTypes:
    - OPENSSL_STACK*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: OPENSSL_sk_reserve
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_reserve
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_reserve(OPENSSL_STACK *st, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - f_thunk
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_freefunc_thunk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: OPENSSL_sk_set_thunks
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPENSSL_STACK
    signature: OPENSSL_STACK *OPENSSL_sk_set_thunks(OPENSSL_STACK *st, OPENSSL_sk_freefunc_thunk
      f_thunk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:270,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:274,1
    - Dst: sk_reserve
      Src: /src/openssl/crypto/stack/stack.c:278,1
    - Dst: memmove
      Src: /src/openssl/crypto/stack/stack.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - st
    - data
    - loc
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 291
    functionName: OPENSSL_sk_insert
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - memmove
    - ERR_raise
    - sk_reserve
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_insert(OPENSSL_STACK *st, const void *data, int loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/openssl/crypto/stack/stack.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - st
    - loc
    argTypes:
    - OPENSSL_STACK*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: internal_delete
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline *internal_delete(OPENSSL_STACK *st, int loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: internal_delete
      Src: /src/openssl/crypto/stack/stack.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - st
    - p
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 316
    functionName: OPENSSL_sk_delete_ptr
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_delete
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_delete
      Src: /src/openssl/crypto/stack/stack.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - loc
    argTypes:
    - OPENSSL_STACK*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: OPENSSL_sk_delete
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_delete
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_sk_delete(OPENSSL_STACK *st, int loc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_STACK*::comp
      Src: /src/openssl/crypto/stack/stack.c:356,1
    - Dst: ossl_bsearch
      Src: /src/openssl/crypto/stack/stack.c:371,1
    - Dst: OPENSSL_STACK*::comp
      Src: /src/openssl/crypto/stack/stack.c:380,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - st
    - data
    - ret_val_options
    - pnum_matched
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 389
    functionName: internal_find
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_STACK*::comp
    - ossl_bsearch
    linkageType: ''
    returnType: int
    signature: "int internal_find(OPENSSL_STACK *st, const void *data,\n                         int
      ret_val_options, int *pnum_matched)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_find
      Src: /src/openssl/crypto/stack/stack.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: OPENSSL_sk_find
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_find
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_find(OPENSSL_STACK *st, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_find
      Src: /src/openssl/crypto/stack/stack.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: OPENSSL_sk_find_ex
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_find
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_find_ex(OPENSSL_STACK *st, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_find
      Src: /src/openssl/crypto/stack/stack.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - st
    - data
    - pnum
    argTypes:
    - OPENSSL_STACK*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: OPENSSL_sk_find_all
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_find
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_find_all(OPENSSL_STACK *st, const void *data, int *pnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_insert
      Src: /src/openssl/crypto/stack/stack.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: OPENSSL_sk_push
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_sk_insert
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_push(OPENSSL_STACK *st, const void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_sk_insert
      Src: /src/openssl/crypto/stack/stack.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - data
    argTypes:
    - OPENSSL_STACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: OPENSSL_sk_unshift
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_sk_insert
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_unshift(OPENSSL_STACK *st, const void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_delete
      Src: /src/openssl/crypto/stack/stack.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: OPENSSL_sk_shift
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_delete
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_sk_shift(OPENSSL_STACK *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_delete
      Src: /src/openssl/crypto/stack/stack.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: OPENSSL_sk_pop
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - internal_delete
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_sk_pop(OPENSSL_STACK *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/stack/stack.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: OPENSSL_sk_zero
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void OPENSSL_sk_zero(OPENSSL_STACK *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_STACK*::free_thunk
      Src: /src/openssl/crypto/stack/stack.c:450,1
    - Dst: func
      Src: /src/openssl/crypto/stack/stack.c:452,1
    - Dst: OPENSSL_sk_free
      Src: /src/openssl/crypto/stack/stack.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - st
    - func
    argTypes:
    - OPENSSL_STACK*
    - OPENSSL_sk_freefunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 456
    functionName: OPENSSL_sk_pop_free
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_sk_free
    - OPENSSL_STACK*::free_thunk
    - func
    linkageType: ''
    returnType: void
    signature: void OPENSSL_sk_pop_free(OPENSSL_STACK *st, OPENSSL_sk_freefunc func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/stack/stack.c:462,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/stack/stack.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: OPENSSL_sk_free
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void OPENSSL_sk_free(OPENSSL_STACK *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: OPENSSL_sk_num
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_num(const OPENSSL_STACK *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - st
    - i
    argTypes:
    - OPENSSL_STACK*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: OPENSSL_sk_value
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_sk_value(const OPENSSL_STACK *st, int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/stack/stack.c:481,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/stack/stack.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - st
    - i
    - data
    argTypes:
    - OPENSSL_STACK*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: OPENSSL_sk_set
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ERR_raise_data
    linkageType: ''
    returnType: void
    signature: void *OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/openssl/crypto/stack/stack.c:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: OPENSSL_sk_sort
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void OPENSSL_sk_sort(OPENSSL_STACK *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - OPENSSL_STACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: OPENSSL_sk_is_sorted
    functionSourceFile: /src/openssl/crypto/stack/stack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lms_sig_new
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:37,1
    - Dst: PACKET_get_net_4_len_u32
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:41,1
    - Dst: PACKET_get_net_4_len_u32
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:42,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:49,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:51,1
    - Dst: PACKET_get_net_4_len_u32
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:53,1
    - Dst: HASH_NOT_MATCHED
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:55,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:57,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:59,1
    - Dst: ossl_lms_sig_free
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:63,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - pkt
    - pub
    argTypes:
    - PACKET*
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: ossl_lms_sig_from_pkt
    functionSourceFile: /src/openssl/crypto/lms/lms_sig_decoder.c
    functionUses: 0
    functionsReached:
    - PACKET_get_net_4_len_u32
    - PACKET_get_bytes
    - HASH_NOT_MATCHED
    - ossl_lms_sig_free
    - ossl_lms_sig_new
    - PACKET_remaining
    linkageType: ''
    returnType: LMS_SIG
    signature: LMS_SIG *ossl_lms_sig_from_pkt(PACKET *pkt, const LMS_KEY *pub)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:90,1
    - Dst: ossl_lms_sig_from_pkt
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:93,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:98,1
    - Dst: ossl_lms_sig_free
      Src: /src/openssl/crypto/lms/lms_sig_decoder.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - out
    - pub
    - sig
    - siglen
    argTypes:
    - LMS_SIG**
    - LMS_KEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: ossl_lms_sig_decode
    functionSourceFile: /src/openssl/crypto/lms/lms_sig_decoder.c
    functionUses: 0
    functionsReached:
    - ossl_lms_sig_free
    - PACKET_remaining
    - PACKET_buf_init
    - ossl_lms_sig_from_pkt
    linkageType: ''
    returnType: int
    signature: "int ossl_lms_sig_decode(LMS_SIG **out, LMS_KEY *pub,\n                        const
      unsigned char *sig, size_t siglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ots_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: ossl_lm_ots_params_get
    functionSourceFile: /src/openssl/crypto/lms/lm_ots_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LM_OTS_PARAMS
    signature: LM_OTS_PARAMS *ossl_lm_ots_params_get(uint32_t ots_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lms_ots_coef
      Src: /src/openssl/crypto/lms/lm_ots_params.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - params
    - S
    argTypes:
    - LM_OTS_PARAMS*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: ossl_lm_ots_params_checksum
    functionSourceFile: /src/openssl/crypto/lms/lm_ots_params.c
    functionUses: 0
    functionsReached:
    - lms_ots_coef
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t ossl_lm_ots_params_checksum(const LM_OTS_PARAMS *params,\n
      \                                    const unsigned char *S)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/lms/lms_key.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: ossl_lms_key_new
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: LMS_KEY
    signature: LMS_KEY *ossl_lms_key_new(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lms/lms_key.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lms/lms_key.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lmskey
    argTypes:
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: ossl_lms_key_free
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_lms_key_free(LMS_KEY *lmskey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/lms/lms_key.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - key1
    - key2
    - selection
    argTypes:
    - LMS_KEY*
    - LMS_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: ossl_lms_key_equal
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ossl_lms_key_equal(const LMS_KEY *key1, const LMS_KEY *key2, int
      selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - LMS_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: ossl_lms_key_valid
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_lms_key_valid(const LMS_KEY *key, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - LMS_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: ossl_lms_key_has
    functionSourceFile: /src/openssl/crypto/lms/lms_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_lms_key_has(const LMS_KEY *key, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:49,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:50,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:52,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:53,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:54,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:56,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:57,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:58,1
    - Dst: lm_ots_compute_pubkey_final
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 9
    argNames:
    - ctx
    - ctxIq
    - sig
    - pub
    - Id
    - q
    - msg
    - msglen
    - Kc
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    - LM_OTS_SIG*
    - LM_OTS_PARAMS*
    - unsigned char*
    - uint32_t
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 8
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: ossl_lm_ots_compute_pubkey
    functionSourceFile: /src/openssl/crypto/lms/lm_ots_verify.c
    functionUses: 0
    functionsReached:
    - lm_ots_compute_pubkey_final
    - EVP_DigestUpdate
    - EVP_MD_CTX_copy_ex
    - OPENSSL_store_u32_be
    - OPENSSL_store_u16_be
    linkageType: ''
    returnType: int
    signature: "int ossl_lm_ots_compute_pubkey(EVP_MD_CTX *ctx, EVP_MD_CTX *ctxIq,\n
      \                              const LM_OTS_SIG *sig, const LM_OTS_PARAMS *pub,\n
      \                              const unsigned char *Id, uint32_t q,\n                               const
      unsigned char *msg, size_t msglen,\n                               unsigned
      char *Kc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - tag
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: INC16
    functionSourceFile: /src/openssl/crypto/lms/lm_ots_verify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline INC16(unsigned char *tag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:103,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:104,1
    - Dst: ossl_lm_ots_params_checksum
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:107,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:110,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:111,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:113,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:114,1
    - Dst: lms_ots_coef
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:127,1
    - Dst: memcpy
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:128,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:132,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:133,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:134,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:135,1
    - Dst: INC16
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:138,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:139,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:144,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/lms/lm_ots_verify.c:148,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - ctx
    - ctxIq
    - sig
    - Kc
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    - LM_OTS_SIG*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 86
    functionDepth: 8
    functionLinenumber: 86
    functionLinenumberEnd: 150
    functionName: lm_ots_compute_pubkey_final
    functionSourceFile: /src/openssl/crypto/lms/lm_ots_verify.c
    functionUses: 1
    functionsReached:
    - ossl_lm_ots_params_checksum
    - EVP_DigestFinal
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - INC16
    - memcpy
    - EVP_MD_CTX_create
    - EVP_MD_CTX_free
    - lms_ots_coef
    - EVP_MD_CTX_copy_ex
    - OPENSSL_store_u16_be
    linkageType: ''
    returnType: int
    signature: "int lm_ots_compute_pubkey_final(EVP_MD_CTX *ctx, EVP_MD_CTX *ctxIq,\n
      \                                      const LM_OTS_SIG *sig, unsigned char
      *Kc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - lms_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: ossl_lms_params_get
    functionSourceFile: /src/openssl/crypto/lms/lms_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LMS_PARAMS
    signature: LMS_PARAMS *ossl_lms_params_get(uint32_t lms_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/lms/lms_sig.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: ossl_lms_sig_new
    functionSourceFile: /src/openssl/crypto/lms/lms_sig.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: LMS_SIG
    signature: LMS_SIG *ossl_lms_sig_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lms/lms_sig.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - LMS_SIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: ossl_lms_sig_free
    functionSourceFile: /src/openssl/crypto/lms/lms_sig.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_lms_sig_free(LMS_SIG *sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/crypto/lms/lms_verify.c:50,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/lms/lms_verify.c:64,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/lms/lms_verify.c:71,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:72,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:73,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:77,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:78,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:81,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:82,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/lms/lms_verify.c:89,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 6
    argNames:
    - paths
    - n
    - node_num
    - ctx
    - ctxI
    - Tc
    argTypes:
    - unsigned char*
    - uint32_t
    - uint32_t
    - EVP_MD_CTX*
    - EVP_MD_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 39
    functionDepth: 8
    functionLinenumber: 39
    functionLinenumberEnd: 96
    functionName: lms_sig_compute_tc_from_path
    functionSourceFile: /src/openssl/crypto/lms/lms_verify.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_CTX_copy_ex
    - OPENSSL_store_u32_be
    - OPENSSL_store_u16_be
    linkageType: ''
    returnType: int
    signature: "int lms_sig_compute_tc_from_path(const unsigned char *paths, uint32_t
      n,\n                                 uint32_t node_num,\n                                 EVP_MD_CTX
      *ctx, EVP_MD_CTX *ctxI,\n                                 unsigned char *Tc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/crypto/lms/lms_verify.c:124,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/crypto/lms/lms_verify.c:125,1
    - Dst: lms_evp_md_ctx_init
      Src: /src/openssl/crypto/lms/lms_verify.c:129,1
    - Dst: ossl_lm_ots_compute_pubkey
      Src: /src/openssl/crypto/lms/lms_verify.c:136,1
    - Dst: ossl_assert
      Src: /src/openssl/crypto/lms/lms_verify.c:145,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/crypto/lms/lms_verify.c:149,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/crypto/lms/lms_verify.c:150,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/crypto/lms/lms_verify.c:158,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:159,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/lms/lms_verify.c:160,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:161,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:162,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/lms/lms_verify.c:163,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/lms/lms_verify.c:164,1
    - Dst: lms_sig_compute_tc_from_path
      Src: /src/openssl/crypto/lms/lms_verify.c:165,1
    - Dst: memcmp
      Src: /src/openssl/crypto/lms/lms_verify.c:169,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/lms/lms_verify.c:171,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/lms/lms_verify.c:172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 5
    argNames:
    - lms_sig
    - pub
    - md
    - msg
    - msglen
    argTypes:
    - LMS_SIG*
    - LMS_KEY*
    - EVP_MD*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 109
    functionDepth: 9
    functionLinenumber: 109
    functionLinenumberEnd: 174
    functionName: ossl_lms_sig_verify
    functionSourceFile: /src/openssl/crypto/lms/lms_verify.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - memcmp
    - lms_evp_md_ctx_init
    - EVP_DigestFinal_ex
    - ossl_lm_ots_compute_pubkey
    - EVP_DigestInit_ex2
    - EVP_DigestUpdate
    - EVP_MD_CTX_create
    - EVP_MD_CTX_free
    - EVP_MD_CTX_copy_ex
    - OPENSSL_store_u32_be
    - lms_sig_compute_tc_from_path
    - OPENSSL_store_u16_be
    linkageType: ''
    returnType: int
    signature: "int ossl_lms_sig_verify(const LMS_SIG *lms_sig, const LMS_KEY *pub,\n
      \                       const EVP_MD *md,\n                        const unsigned
      char *msg, size_t msglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:28,1
    - Dst: PACKET_get_net_4_len_u32
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:29,1
    - Dst: ossl_lms_params_get
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: ossl_lms_pubkey_length
    functionSourceFile: /src/openssl/crypto/lms/lms_pubkey_decode.c
    functionUses: 0
    functionsReached:
    - PACKET_get_net_4_len_u32
    - PACKET_buf_init
    - ossl_lms_params_get
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_lms_pubkey_length(const unsigned char *data, size_t datalen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:57,1
    - Dst: PACKET_data
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:59,1
    - Dst: PACKET_get_net_4_len_u32
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:60,1
    - Dst: ossl_lms_params_get
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:62,1
    - Dst: PACKET_get_net_4_len_u32
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:64,1
    - Dst: ossl_lm_ots_params_get
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:66,1
    - Dst: HASH_NOT_MATCHED
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:71,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:72,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:74,1
    - Dst: PACKET_data
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:77,1
    - Dst: PACKET_remaining
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:78,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - lmskey
    - pubkeydata
    - publen
    argTypes:
    - LMS_KEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: lms_pubkey_from_pkt
    functionSourceFile: /src/openssl/crypto/lms/lms_pubkey_decode.c
    functionUses: 0
    functionsReached:
    - PACKET_get_net_4_len_u32
    - PACKET_buf_init
    - PACKET_get_bytes
    - HASH_NOT_MATCHED
    - ossl_lms_params_get
    - PACKET_remaining
    - PACKET_data
    - ossl_lm_ots_params_get
    linkageType: ''
    returnType: int
    signature: "int lms_pubkey_from_pkt(LMS_KEY *lmskey, const unsigned char *pubkeydata,\n
      \                       size_t publen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:100,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:103,1
    - Dst: lms_pubkey_from_pkt
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pub
    - publen
    - lmskey
    argTypes:
    - unsigned char*
    - size_t
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: ossl_lms_pubkey_decode
    functionSourceFile: /src/openssl/crypto/lms/lms_pubkey_decode.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - lms_pubkey_from_pkt
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int ossl_lms_pubkey_decode(const unsigned char *pub, size_t publen,\n
      \                          LMS_KEY *lmskey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lms_pubkey_decode
      Src: /src/openssl/crypto/lms/lms_pubkey_decode.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pub
    - lmskey
    argTypes:
    - OSSL_PARAM*
    - LMS_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: ossl_lms_pubkey_from_params
    functionSourceFile: /src/openssl/crypto/lms/lms_pubkey_decode.c
    functionUses: 0
    functionsReached:
    - ossl_lms_pubkey_decode
    linkageType: ''
    returnType: int
    signature: int ossl_lms_pubkey_from_params(const OSSL_PARAM *pub, LMS_KEY *lmskey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/comp/comp_err.c:47,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/comp/comp_err.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ossl_err_load_COMP_strings
    functionSourceFile: /src/openssl/crypto/comp/comp_err.c
    functionUses: 1
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_COMP_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_brotli.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: brotli_alloc
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *brotli_alloc(void *opaque, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - address
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: brotli_free
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void brotli_free(void *opaque, void *address)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_brotli.c:115,1
    - Dst: BrotliEncoderCreateInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:120,1
    - Dst: BrotliDecoderCreateInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:124,1
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:131,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: brotli_stateful_init
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BrotliDecoderCreateInstance
    - BrotliEncoderDestroyInstance
    - BrotliDecoderDestroyInstance
    - OPENSSL_free
    - BrotliEncoderCreateInstance
    linkageType: ''
    returnType: int
    signature: int brotli_stateful_init(COMP_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:142,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: brotli_stateful_finish
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BrotliEncoderDestroyInstance
    - BrotliDecoderDestroyInstance
    linkageType: ''
    returnType: void
    signature: void brotli_stateful_finish(COMP_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderCompressStream
      Src: /src/openssl/crypto/comp/c_brotli.c:171,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/openssl/crypto/comp/c_brotli.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 182
    functionName: brotli_stateful_compress_block
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliEncoderCompressStream
    - BrotliEncoderHasMoreOutput
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t brotli_stateful_compress_block(COMP_CTX *ctx, unsigned
      char *out,\n                                                   size_t olen,
      unsigned char *in,\n                                                   size_t
      ilen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderDecompressStream
      Src: /src/openssl/crypto/comp/c_brotli.c:199,1
    - Dst: BrotliDecoderHasMoreOutput
      Src: /src/openssl/crypto/comp/c_brotli.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 210
    functionName: brotli_stateful_expand_block
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderDecompressStream
    - BrotliDecoderHasMoreOutput
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t brotli_stateful_expand_block(COMP_CTX *ctx, unsigned
      char *out,\n                                                 size_t olen, unsigned
      char *in,\n                                                 size_t ilen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: brotli_oneshot_init
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int brotli_oneshot_init(COMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: brotli_oneshot_finish
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void brotli_oneshot_finish(COMP_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BrotliEncoderCompress
      Src: /src/openssl/crypto/comp/c_brotli.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: brotli_oneshot_compress_block
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliEncoderCompress
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t brotli_oneshot_compress_block(COMP_CTX *ctx, unsigned
      char *out,\n                                                  size_t olen, unsigned
      char *in,\n                                                  size_t ilen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BrotliDecoderDecompress
      Src: /src/openssl/crypto/comp/c_brotli.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 272
    functionName: brotli_oneshot_expand_block
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliDecoderDecompress
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t brotli_oneshot_expand_block(COMP_CTX *ctx, unsigned char
      *out,\n                                                size_t olen, unsigned
      char *in,\n                                                size_t ilen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSO_load
      Src: /src/openssl/crypto/comp/c_brotli.c:295,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:297,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:298,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:299,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:300,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:301,1
    - Dst: DSO_load
      Src: /src/openssl/crypto/comp/c_brotli.c:304,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:306,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:307,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:308,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:309,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:310,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:311,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:312,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_brotli.c:313,1
    - Dst: ossl_comp_brotli_cleanup
      Src: /src/openssl/crypto/comp/c_brotli.c:321,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 326
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - ossl_comp_brotli_cleanup
    - DSO_bind_func
    - DSO_load
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_comp_brotli_init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_brotli.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: COMP_brotli
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *COMP_brotli(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_brotli.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: COMP_brotli_oneshot
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *COMP_brotli_oneshot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_free
      Src: /src/openssl/crypto/comp/c_brotli.c:355,1
    - Dst: DSO_free
      Src: /src/openssl/crypto/comp/c_brotli.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 373
    functionName: ossl_comp_brotli_cleanup
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 2
    functionsReached:
    - DSO_free
    linkageType: ''
    returnType: void
    signature: void ossl_comp_brotli_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_brotli.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: BIO_f_brotli
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_brotli(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_brotli.c:447,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:448,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_brotli.c:452,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:454,1
    - Dst: BrotliDecoderCreateInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:458,1
    - Dst: BrotliEncoderCreateInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:462,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_brotli.c:466,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_brotli.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:472,1
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:473,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:474,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 477
    functionName: bio_brotli_new
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - RUN_ONCE
    - ERR_raise
    - BrotliDecoderCreateInstance
    - BrotliEncoderDestroyInstance
    - BIO_set_init
    - BIO_set_data
    - BrotliDecoderDestroyInstance
    - OPENSSL_free
    - BrotliEncoderCreateInstance
    linkageType: ''
    returnType: int
    signature: int bio_brotli_new(BIO *bi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_brotli.c:486,1
    - Dst: BrotliDecoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:489,1
    - Dst: BrotliEncoderDestroyInstance
      Src: /src/openssl/crypto/comp/c_brotli.c:490,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:491,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_brotli.c:492,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_brotli.c:494,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_brotli.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 498
    functionName: bio_brotli_free
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BrotliEncoderDestroyInstance
    - BIO_set_data
    - BrotliDecoderDestroyInstance
    - BIO_set_init
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_brotli_free(BIO *bi)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_brotli.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:508,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:513,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_brotli.c:518,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_brotli.c:519,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_brotli.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:523,1
    - Dst: BrotliDecoderHasMoreOutput
      Src: /src/openssl/crypto/comp/c_brotli.c:535,1
    - Dst: BrotliDecoderDecompressStream
      Src: /src/openssl/crypto/comp/c_brotli.c:536,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:539,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_brotli.c:540,1
    - Dst: BrotliDecoderErrorString
      Src: /src/openssl/crypto/comp/c_brotli.c:540,1
    - Dst: BrotliDecoderGetErrorCode
      Src: /src/openssl/crypto/comp/c_brotli.c:540,1
    - Dst: BrotliDecoderIsFinished
      Src: /src/openssl/crypto/comp/c_brotli.c:544,1
    - Dst: BrotliDecoderIsFinished
      Src: /src/openssl/crypto/comp/c_brotli.c:549,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/comp/c_brotli.c:556,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_brotli.c:561,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 569
    functionName: bio_brotli_read
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_clear_retry_flags
    - BrotliDecoderDecompressStream
    - ERR_add_error_data
    - BrotliDecoderHasMoreOutput
    - BrotliDecoderErrorString
    - BrotliDecoderIsFinished
    - BIO_copy_next_retry
    - BIO_next
    - BIO_read
    - BrotliDecoderGetErrorCode
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int bio_brotli_read(BIO *b, char *out, int outl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_brotli.c:576,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:579,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:584,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_brotli.c:589,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_brotli.c:593,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_brotli.c:595,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:597,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_brotli.c:611,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_brotli.c:616,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/openssl/crypto/comp/c_brotli.c:626,1
    - Dst: BrotliEncoderCompressStream
      Src: /src/openssl/crypto/comp/c_brotli.c:636,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:639,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_brotli.c:640,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 645
    functionName: bio_brotli_write
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ERR_raise
    - BIO_clear_retry_flags
    - BrotliEncoderHasMoreOutput
    - ERR_add_error_data
    - BIO_copy_next_retry
    - BIO_next
    - BrotliEncoderCompressStream
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int bio_brotli_write(BIO *b, const char *in, int inl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_brotli.c:652,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_brotli.c:654,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_brotli.c:660,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_brotli.c:667,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_brotli.c:669,1
    - Dst: BrotliEncoderCompressStream
      Src: /src/openssl/crypto/comp/c_brotli.c:685,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_brotli.c:688,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_brotli.c:689,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/openssl/crypto/comp/c_brotli.c:692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 647
    functionDepth: 4
    functionLinenumber: 647
    functionLinenumberEnd: 696
    functionName: bio_brotli_flush
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_clear_retry_flags
    - ERR_raise
    - BrotliEncoderHasMoreOutput
    - ERR_add_error_data
    - BIO_copy_next_retry
    - BIO_next
    - BrotliEncoderCompressStream
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_brotli_flush(BIO *b)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_brotli.c:704,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_brotli.c:708,1
    - Dst: bio_brotli_flush
      Src: /src/openssl/crypto/comp/c_brotli.c:718,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/comp/c_brotli.c:720,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_brotli.c:721,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/comp/c_brotli.c:742,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/comp/c_brotli.c:753,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_brotli.c:764,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_brotli.c:765,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_brotli.c:766,1
    - Dst: BrotliEncoderHasMoreOutput
      Src: /src/openssl/crypto/comp/c_brotli.c:770,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_brotli.c:773,1
    - Dst: BrotliDecoderIsFinished
      Src: /src/openssl/crypto/comp/c_brotli.c:777,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_brotli.c:780,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_brotli.c:784,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 698
    functionDepth: 5
    functionLinenumber: 698
    functionLinenumberEnd: 790
    functionName: bio_brotli_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - bio_brotli_flush
    - BIO_clear_retry_flags
    - BrotliEncoderHasMoreOutput
    - BIO_ctrl
    - BIO_flush
    - BrotliDecoderIsFinished
    - BIO_copy_next_retry
    - BIO_next
    - OPENSSL_realloc
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long bio_brotli_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_brotli.c:794,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/comp/c_brotli.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 798
    functionName: bio_brotli_callback_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_brotli.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long bio_brotli_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/comp/c_zlib.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - 'no'
    - size
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: zlib_zalloc
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_calloc
    linkageType: ''
    returnType: void
    signature: void *zlib_zalloc(void *opaque, unsigned int no, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - address
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: zlib_zfree
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void zlib_zfree(void *opaque, void *address)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_zlib.c:121,1
    - Dst: inflateInit_
      Src: /src/openssl/crypto/comp/c_zlib.c:131,1
    - Dst: deflateInit_
      Src: /src/openssl/crypto/comp/c_zlib.c:140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 150
    functionName: zlib_stateful_init
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - inflateInit_
    - deflateInit_
    linkageType: ''
    returnType: int
    signature: int zlib_stateful_init(COMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/openssl/crypto/comp/c_zlib.c:155,1
    - Dst: deflateEnd
      Src: /src/openssl/crypto/comp/c_zlib.c:156,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: zlib_stateful_finish
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - deflateEnd
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void zlib_stateful_finish(COMP_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/openssl/crypto/comp/c_zlib.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 181
    functionName: zlib_stateful_compress_block
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - deflate
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t zlib_stateful_compress_block(COMP_CTX *ctx, unsigned
      char *out,\n                                                 size_t olen, unsigned
      char *in,\n                                                 size_t ilen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/openssl/crypto/comp/c_zlib.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 204
    functionName: zlib_stateful_expand_block
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - inflate
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t zlib_stateful_expand_block(COMP_CTX *ctx, unsigned char
      *out,\n                                               size_t olen, unsigned
      char *in,\n                                               size_t ilen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: zlib_oneshot_init
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int zlib_oneshot_init(COMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: zlib_oneshot_finish
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void zlib_oneshot_finish(COMP_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compress
      Src: /src/openssl/crypto/comp/c_zlib.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: zlib_oneshot_compress_block
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - compress
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t zlib_oneshot_compress_block(COMP_CTX *ctx, unsigned char
      *out,\n                                                size_t olen, unsigned
      char *in,\n                                                size_t ilen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uncompress
      Src: /src/openssl/crypto/comp/c_zlib.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 259
    functionName: zlib_oneshot_expand_block
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - uncompress
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t zlib_oneshot_expand_block(COMP_CTX *ctx, unsigned char
      *out,\n                                              size_t olen, unsigned char
      *in,\n                                              size_t ilen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSO_load
      Src: /src/openssl/crypto/comp/c_zlib.c:285,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:287,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:288,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:289,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:290,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:291,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:292,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:293,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:294,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zlib.c:295,1
    - Dst: ossl_comp_zlib_cleanup
      Src: /src/openssl/crypto/comp/c_zlib.c:301,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 307
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - DSO_bind_func
    - DSO_load
    - ossl_comp_zlib_cleanup
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_comp_zlib_init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_zlib.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: COMP_zlib
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *COMP_zlib(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_zlib.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: COMP_zlib_oneshot
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *COMP_zlib_oneshot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_free
      Src: /src/openssl/crypto/comp/c_zlib.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: ossl_comp_zlib_cleanup
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 2
    functionsReached:
    - DSO_free
    linkageType: ''
    returnType: void
    signature: void ossl_comp_zlib_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_zlib.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: BIO_f_zlib
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 1
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_zlib(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_zlib.c:400,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zlib.c:401,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_zlib.c:405,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_zlib.c:415,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_zlib.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: bio_zlib_new
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - RUN_ONCE
    - ERR_raise
    - BIO_set_init
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int bio_zlib_new(BIO *bi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:427,1
    - Dst: inflateEnd
      Src: /src/openssl/crypto/comp/c_zlib.c:430,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:431,1
    - Dst: deflateEnd
      Src: /src/openssl/crypto/comp/c_zlib.c:435,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:436,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:438,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_zlib.c:439,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_zlib.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 443
    functionName: bio_zlib_free
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - deflateEnd
    - BIO_set_data
    - BIO_set_init
    - OPENSSL_free
    - inflateEnd
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_zlib_free(BIO *bi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zlib.c:450,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:454,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zlib.c:456,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_zlib.c:458,1
    - Dst: inflateInit
      Src: /src/openssl/crypto/comp/c_zlib.c:461,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:462,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:463,1
    - Dst: inflate
      Src: /src/openssl/crypto/comp/c_zlib.c:476,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:478,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:479,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/comp/c_zlib.c:491,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:495,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 445
    functionDepth: 4
    functionLinenumber: 445
    functionLinenumberEnd: 503
    functionName: bio_zlib_read
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - inflate
    - ERR_raise_data
    - BIO_copy_next_retry
    - inflateInit
    - BIO_next
    - BIO_read
    - BIO_get_data
    - OPENSSL_malloc
    - zError
    linkageType: ''
    returnType: int
    signature: int bio_zlib_read(BIO *b, char *out, int outl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zlib.c:510,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:514,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zlib.c:518,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_zlib.c:520,1
    - Dst: deflateInit
      Src: /src/openssl/crypto/comp/c_zlib.c:526,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:527,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:528,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_zlib.c:540,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:544,1
    - Dst: deflate
      Src: /src/openssl/crypto/comp/c_zlib.c:564,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:566,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:567,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 572
    functionName: bio_zlib_write
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - deflateInit
    - BIO_clear_retry_flags
    - deflate
    - ERR_raise_data
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    - OPENSSL_malloc
    - zError
    linkageType: ''
    returnType: int
    signature: int bio_zlib_write(BIO *b, const char *in, int inl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zlib.c:579,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:581,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zlib.c:586,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_zlib.c:593,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:595,1
    - Dst: deflate
      Src: /src/openssl/crypto/comp/c_zlib.c:611,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/comp/c_zlib.c:615,1
    - Dst: zError
      Src: /src/openssl/crypto/comp/c_zlib.c:616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 621
    functionName: bio_zlib_flush
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_clear_retry_flags
    - ERR_raise_data
    - BIO_copy_next_retry
    - zError
    - BIO_next
    - BIO_get_data
    - deflate
    linkageType: ''
    returnType: int
    signature: int bio_zlib_flush(BIO *b)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zlib.c:628,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zlib.c:632,1
    - Dst: bio_zlib_flush
      Src: /src/openssl/crypto/comp/c_zlib.c:642,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/comp/c_zlib.c:644,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:645,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:664,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zlib.c:670,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zlib.c:678,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:679,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zlib.c:680,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:696,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:702,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:706,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 623
    functionDepth: 5
    functionLinenumber: 623
    functionLinenumberEnd: 712
    functionName: bio_zlib_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_ctrl
    - BIO_flush
    - OPENSSL_free
    - BIO_copy_next_retry
    - BIO_next
    - BIO_get_data
    - bio_zlib_flush
    linkageType: ''
    returnType: long
    signature: long bio_zlib_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zlib.c:716,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/comp/c_zlib.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 721
    functionName: bio_zlib_callback_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_zlib.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long bio_zlib_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_zstd.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: zstd_alloc
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *zstd_alloc(void *opaque, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - address
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: zstd_free
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void zstd_free(void *opaque, void *address)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_zstd.c:141,1
    - Dst: ZSTD_createCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:147,1
    - Dst: ZSTD_createCStream_advanced
      Src: /src/openssl/crypto/comp/c_zstd.c:149,1
    - Dst: ZSTD_initCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:153,1
    - Dst: ZSTD_createDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:156,1
    - Dst: ZSTD_createDStream_advanced
      Src: /src/openssl/crypto/comp/c_zstd.c:158,1
    - Dst: ZSTD_initDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:162,1
    - Dst: ZSTD_freeCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:167,1
    - Dst: ZSTD_freeDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:168,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 171
    functionName: zstd_stateful_init
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_createCStream_advanced
    - OPENSSL_zalloc
    - ZSTD_initCStream
    - ZSTD_createDStream
    - ZSTD_freeCStream
    - OPENSSL_free
    - ZSTD_freeDStream
    - ZSTD_createDStream_advanced
    - ZSTD_createCStream
    - ZSTD_initDStream
    linkageType: ''
    returnType: int
    signature: int zstd_stateful_init(COMP_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_freeCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:178,1
    - Dst: ZSTD_freeDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:179,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: zstd_stateful_finish
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ZSTD_freeDStream
    - ZSTD_freeCStream
    linkageType: ''
    returnType: void
    signature: void zstd_stateful_finish(COMP_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_endStream
      Src: /src/openssl/crypto/comp/c_zstd.c:207,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:208,1
    - Dst: ZSTD_compressStream2
      Src: /src/openssl/crypto/comp/c_zstd.c:221,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:222,1
    - Dst: ZSTD_flushStream
      Src: /src/openssl/crypto/comp/c_zstd.c:231,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 242
    functionName: zstd_stateful_compress_block
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_endStream
    - ZSTD_flushStream
    - ZSTD_isError
    - ZSTD_compressStream2
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t zstd_stateful_compress_block(COMP_CTX *ctx, unsigned
      char *out,\n                                                 size_t olen, unsigned
      char *in,\n                                                 size_t ilen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_decompressStream
      Src: /src/openssl/crypto/comp/c_zstd.c:268,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 284
    functionName: zstd_stateful_expand_block
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_isError
    - ZSTD_decompressStream
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t zstd_stateful_expand_block(COMP_CTX *ctx, unsigned char
      *out,\n                                               size_t olen, unsigned
      char *in,\n                                               size_t ilen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: zstd_oneshot_init
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int zstd_oneshot_init(COMP_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: zstd_oneshot_finish
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void zstd_oneshot_finish(COMP_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_compress
      Src: /src/openssl/crypto/comp/c_zstd.c:316,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 326
    functionName: zstd_oneshot_compress_block
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_isError
    - ZSTD_compress
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t zstd_oneshot_compress_block(COMP_CTX *ctx, unsigned char
      *out,\n                                               size_t olen, unsigned
      char *in,\n                                               size_t ilen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_decompress
      Src: /src/openssl/crypto/comp/c_zstd.c:339,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 349
    functionName: zstd_oneshot_expand_block
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_decompress
    - ZSTD_isError
    linkageType: ''
    returnType: ossl_ssize_t
    signature: "ossl_ssize_t zstd_oneshot_expand_block(COMP_CTX *ctx, unsigned char
      *out,\n                                              size_t olen, unsigned char
      *in,\n                                              size_t ilen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSO_load
      Src: /src/openssl/crypto/comp/c_zstd.c:370,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:372,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:373,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:374,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:375,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:376,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:377,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:378,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:379,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:380,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:381,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:382,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:383,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:384,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:385,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:386,1
    - Dst: DSO_bind_func
      Src: /src/openssl/crypto/comp/c_zstd.c:387,1
    - Dst: ossl_comp_zstd_cleanup
      Src: /src/openssl/crypto/comp/c_zstd.c:396,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 401
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - DSO_bind_func
    - ossl_comp_zstd_cleanup
    - DSO_load
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_comp_zstd_init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_zstd.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: COMP_zstd
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *COMP_zstd(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_zstd.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: COMP_zstd_oneshot
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *COMP_zstd_oneshot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSO_free
      Src: /src/openssl/crypto/comp/c_zstd.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 449
    functionName: ossl_comp_zstd_cleanup
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 2
    functionsReached:
    - DSO_free
    linkageType: ''
    returnType: void
    signature: void ossl_comp_zstd_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/comp/c_zstd.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 504
    functionName: BIO_f_zstd
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_zstd(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: COMP_zstd
      Src: /src/openssl/crypto/comp/c_zstd.c:512,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:514,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/c_zstd.c:518,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:520,1
    - Dst: ZSTD_createDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:525,1
    - Dst: ZSTD_createDStream_advanced
      Src: /src/openssl/crypto/comp/c_zstd.c:527,1
    - Dst: ZSTD_initDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:531,1
    - Dst: ZSTD_DStreamInSize
      Src: /src/openssl/crypto/comp/c_zstd.c:532,1
    - Dst: ZSTD_createCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:535,1
    - Dst: ZSTD_createCStream_advanced
      Src: /src/openssl/crypto/comp/c_zstd.c:537,1
    - Dst: ZSTD_initCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:541,1
    - Dst: ZSTD_CStreamInSize
      Src: /src/openssl/crypto/comp/c_zstd.c:542,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_zstd.c:544,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_zstd.c:545,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:549,1
    - Dst: ZSTD_freeDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:550,1
    - Dst: ZSTD_freeCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:551,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 554
    functionName: bio_zstd_new
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_createCStream_advanced
    - OPENSSL_zalloc
    - ERR_raise
    - ZSTD_DStreamInSize
    - ZSTD_initCStream
    - ZSTD_createDStream
    - BIO_set_init
    - BIO_set_data
    - ZSTD_freeCStream
    - OPENSSL_free
    - ZSTD_freeDStream
    - COMP_zstd
    - ZSTD_createDStream_advanced
    - ZSTD_CStreamInSize
    - ZSTD_createCStream
    - ZSTD_initDStream
    linkageType: ''
    returnType: int
    signature: int bio_zstd_new(BIO *bi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:563,1
    - Dst: ZSTD_freeDStream
      Src: /src/openssl/crypto/comp/c_zstd.c:565,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:566,1
    - Dst: ZSTD_freeCStream
      Src: /src/openssl/crypto/comp/c_zstd.c:567,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/c_zstd.c:569,1
    - Dst: BIO_set_data
      Src: /src/openssl/crypto/comp/c_zstd.c:571,1
    - Dst: BIO_set_init
      Src: /src/openssl/crypto/comp/c_zstd.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 575
    functionName: bio_zstd_free
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_set_data
    - ZSTD_freeCStream
    - BIO_set_init
    - OPENSSL_free
    - ZSTD_freeDStream
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_zstd_free(BIO *bi)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zstd.c:583,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:588,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zstd.c:589,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_zstd.c:591,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:593,1
    - Dst: ZSTD_decompressStream
      Src: /src/openssl/crypto/comp/c_zstd.c:608,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:609,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:610,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_zstd.c:611,1
    - Dst: ZSTD_getErrorName
      Src: /src/openssl/crypto/comp/c_zstd.c:611,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/comp/c_zstd.c:623,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 577
    functionDepth: 4
    functionLinenumber: 577
    functionLinenumberEnd: 633
    functionName: bio_zstd_read
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_clear_retry_flags
    - ERR_add_error_data
    - ZSTD_isError
    - ZSTD_decompressStream
    - BIO_copy_next_retry
    - BIO_next
    - BIO_read
    - ZSTD_getErrorName
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int bio_zstd_read(BIO *b, char *out, int outl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zstd.c:642,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:647,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zstd.c:649,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/comp/c_zstd.c:651,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:653,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_zstd.c:667,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:670,1
    - Dst: ZSTD_compressStream2
      Src: /src/openssl/crypto/comp/c_zstd.c:687,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:688,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:689,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_zstd.c:690,1
    - Dst: ZSTD_getErrorName
      Src: /src/openssl/crypto/comp/c_zstd.c:690,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 635
    functionDepth: 4
    functionLinenumber: 635
    functionLinenumberEnd: 696
    functionName: bio_zstd_write
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ZSTD_compressStream2
    - ERR_raise
    - BIO_clear_retry_flags
    - ERR_add_error_data
    - ZSTD_isError
    - BIO_copy_next_retry
    - BIO_next
    - ZSTD_getErrorName
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int bio_zstd_write(BIO *b, const char *in, int inl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zstd.c:703,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:705,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zstd.c:711,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/comp/c_zstd.c:719,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:722,1
    - Dst: ZSTD_flushStream
      Src: /src/openssl/crypto/comp/c_zstd.c:733,1
    - Dst: ZSTD_isError
      Src: /src/openssl/crypto/comp/c_zstd.c:734,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/comp/c_zstd.c:735,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/crypto/comp/c_zstd.c:736,1
    - Dst: ZSTD_getErrorName
      Src: /src/openssl/crypto/comp/c_zstd.c:736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 698
    functionDepth: 4
    functionLinenumber: 698
    functionLinenumberEnd: 742
    functionName: bio_zstd_flush
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ZSTD_getErrorName
    - BIO_clear_retry_flags
    - ERR_raise
    - ERR_add_error_data
    - ZSTD_isError
    - BIO_copy_next_retry
    - BIO_next
    - ZSTD_flushStream
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_zstd_flush(BIO *b)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zstd.c:750,1
    - Dst: BIO_get_data
      Src: /src/openssl/crypto/comp/c_zstd.c:754,1
    - Dst: bio_zstd_flush
      Src: /src/openssl/crypto/comp/c_zstd.c:764,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/comp/c_zstd.c:766,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:767,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/comp/c_zstd.c:786,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/crypto/comp/c_zstd.c:798,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/crypto/comp/c_zstd.c:809,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:810,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/crypto/comp/c_zstd.c:811,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:818,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:825,1
    - Dst: BIO_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:829,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 744
    functionDepth: 5
    functionLinenumber: 744
    functionLinenumberEnd: 835
    functionName: bio_zstd_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_ctrl
    - BIO_flush
    - bio_zstd_flush
    - BIO_copy_next_retry
    - BIO_next
    - OPENSSL_realloc
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long bio_zstd_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/crypto/comp/c_zstd.c:839,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/crypto/comp/c_zstd.c:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 843
    functionName: bio_zstd_callback_ctrl
    functionSourceFile: /src/openssl/crypto/comp/c_zstd.c
    functionUses: 0
    functionsReached:
    - BIO_callback_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long bio_zstd_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/comp/comp_lib.c:25,1
    - Dst: COMP_CTX*::meth::init
      Src: /src/openssl/crypto/comp/comp_lib.c:28,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/comp_lib.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - meth
    argTypes:
    - COMP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: COMP_CTX_new
    functionSourceFile: /src/openssl/crypto/comp/comp_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - COMP_CTX*::meth::init
    linkageType: ''
    returnType: COMP_CTX
    signature: COMP_CTX *COMP_CTX_new(COMP_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: COMP_CTX_get_method
    functionSourceFile: /src/openssl/crypto/comp/comp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - meth
    argTypes:
    - COMP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: COMP_get_type
    functionSourceFile: /src/openssl/crypto/comp/comp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int COMP_get_type(const COMP_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - meth
    argTypes:
    - COMP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: COMP_get_name
    functionSourceFile: /src/openssl/crypto/comp/comp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *COMP_get_name(const COMP_METHOD *meth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMP_CTX*::meth::finish
      Src: /src/openssl/crypto/comp/comp_lib.c:59,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/comp/comp_lib.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: COMP_CTX_free
    functionSourceFile: /src/openssl/crypto/comp/comp_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - COMP_CTX*::meth::finish
    linkageType: ''
    returnType: void
    signature: void COMP_CTX_free(COMP_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMP_CTX*::meth::compress
      Src: /src/openssl/crypto/comp/comp_lib.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: COMP_compress_block
    functionSourceFile: /src/openssl/crypto/comp/comp_lib.c
    functionUses: 0
    functionsReached:
    - COMP_CTX*::meth::compress
    linkageType: ''
    returnType: int
    signature: "int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,\n
      \                       unsigned char *in, int ilen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMP_CTX*::meth::expand
      Src: /src/openssl/crypto/comp/comp_lib.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - out
    - olen
    - in
    - ilen
    argTypes:
    - COMP_CTX*
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: COMP_expand_block
    functionSourceFile: /src/openssl/crypto/comp/comp_lib.c
    functionUses: 0
    functionsReached:
    - COMP_CTX*::meth::expand
    linkageType: ''
    returnType: int
    signature: "int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,\n
      \                     unsigned char *in, int ilen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp
    argTypes:
    - COMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: COMP_CTX_get_type
    functionSourceFile: /src/openssl/crypto/comp/comp_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int COMP_CTX_get_type(const COMP_CTX* comp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/cast/c_ofb64.c:38,1
    - Dst: n2l
      Src: /src/openssl/crypto/cast/c_ofb64.c:39,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_ofb64.c:43,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_ofb64.c:44,1
    - Dst: CAST_encrypt
      Src: /src/openssl/crypto/cast/c_ofb64.c:47,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_ofb64.c:50,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_ofb64.c:52,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_ofb64.c:62,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_ofb64.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - CAST_KEY*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: CAST_ofb64_encrypt
    functionSourceFile: /src/openssl/crypto/cast/c_ofb64.c
    functionUses: 0
    functionsReached:
    - CAST_encrypt
    - l2n
    - n2l
    linkageType: ''
    returnType: void
    signature: "void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       long length, const CAST_KEY *schedule,\n                        unsigned
      char *ivec, int *num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/cast/c_cfb64.c:39,1
    - Dst: n2l
      Src: /src/openssl/crypto/cast/c_cfb64.c:41,1
    - Dst: CAST_encrypt
      Src: /src/openssl/crypto/cast/c_cfb64.c:43,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_cfb64.c:46,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_cfb64.c:48,1
    - Dst: n2l
      Src: /src/openssl/crypto/cast/c_cfb64.c:59,1
    - Dst: n2l
      Src: /src/openssl/crypto/cast/c_cfb64.c:61,1
    - Dst: CAST_encrypt
      Src: /src/openssl/crypto/cast/c_cfb64.c:63,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_cfb64.c:66,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_cfb64.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - CAST_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: CAST_cfb64_encrypt
    functionSourceFile: /src/openssl/crypto/cast/c_cfb64.c
    functionUses: 0
    functionsReached:
    - CAST_encrypt
    - l2n
    - n2l
    linkageType: ''
    returnType: void
    signature: "void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       long length, const CAST_KEY *schedule,\n                        unsigned
      char *ivec, int *num, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - l1
    - ','
    - l2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: n2ln
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2ln(c,l1,l2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l1
    - ','
    - l2
    - ','
    - c
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: l2nn
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2nn(l1,l2,c,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: n2l
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: l2n
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2n(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: ROTL
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: ROTL
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - n
    - ','
    - key
    - ','
    - L
    - ','
    - R
    - ','
    - OP1
    - ','
    - OP2
    - ','
    - OP3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: E_CAST
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E_CAST(n,key,L,R,OP1,OP2,OP3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - n
    - ','
    - key
    - ','
    - L
    - ','
    - R
    - ','
    - OP1
    - ','
    - OP2
    - ','
    - OP3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: E_CAST
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E_CAST(n,key,L,R,OP1,OP2,OP3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - n
    - ','
    - key
    - ','
    - L
    - ','
    - R
    - ','
    - OP1
    - ','
    - OP2
    - ','
    - OP3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: E_CAST
    functionSourceFile: /src/openssl/crypto/cast/cast_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E_CAST(n,key,L,R,OP1,OP2,OP3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - A
    - ','
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: CAST_exp
    functionSourceFile: /src/openssl/crypto/cast/c_skey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_exp(l,A,a,n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:61,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:63,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:65,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:67,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:75,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:77,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:79,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:81,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:89,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:91,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:93,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:95,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:103,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:105,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:107,1
    - Dst: CAST_exp
      Src: /src/openssl/crypto/cast/c_skey.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 72
    argCount: 3
    argNames:
    - key
    - len
    - data
    argTypes:
    - CAST_KEY*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 124
    functionName: CAST_set_key
    functionSourceFile: /src/openssl/crypto/cast/c_skey.c
    functionUses: 1
    functionsReached:
    - CAST_exp
    linkageType: ''
    returnType: void
    signature: void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: n2l
      Src: /src/openssl/crypto/cast/c_ecb.c:25,1
    - Dst: n2l
      Src: /src/openssl/crypto/cast/c_ecb.c:27,1
    - Dst: CAST_encrypt
      Src: /src/openssl/crypto/cast/c_ecb.c:30,1
    - Dst: CAST_decrypt
      Src: /src/openssl/crypto/cast/c_ecb.c:32,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_ecb.c:34,1
    - Dst: l2n
      Src: /src/openssl/crypto/cast/c_ecb.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - CAST_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: CAST_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/cast/c_ecb.c
    functionUses: 0
    functionsReached:
    - CAST_encrypt
    - l2n
    - CAST_decrypt
    - n2l
    linkageType: ''
    returnType: void
    signature: "void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     const CAST_KEY *ks, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ASN1_bio_stream
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:20,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - p7
    - in
    - flags
    argTypes:
    - BIO*
    - PKCS7*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 7
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: i2d_PKCS7_bio_stream
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: 0
    functionsReached:
    - i2d_ASN1_bio_stream
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_ASN1_stream
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:26,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - p7
    - in
    - flags
    argTypes:
    - BIO*
    - PKCS7*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 9
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: PEM_write_bio_PKCS7_stream
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_ASN1_stream
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:32,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:33,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:34,1
    - Dst: SMIME_write_ASN1_ex
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:46,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:47,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:48,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - bio
    - p7
    - data
    - flags
    argTypes:
    - BIO*
    - PKCS7*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 9
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: SMIME_write_PKCS7
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: 0
    functionsReached:
    - SMIME_write_ASN1_ex
    - ossl_pkcs7_ctx_get0_propq
    - ASN1_ITEM_rptr
    - ossl_pkcs7_ctx_get0_libctx
    - STACK_OF
    - ossl_pkcs7_get0_ctx
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_ASN1_ex
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:63,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:63,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - bcont
    - p7
    argTypes:
    - BIO*
    - BIO**
    - PKCS7**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 7
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: SMIME_read_PKCS7_ex
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs7_resolve_libctx
    - SMIME_read_ASN1_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *SMIME_read_PKCS7_ex(BIO *bio, BIO **bcont, PKCS7 **p7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMIME_read_PKCS7_ex
      Src: /src/openssl/crypto/pkcs7/pk7_mime.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - bcont
    argTypes:
    - BIO*
    - BIO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 8
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: SMIME_read_PKCS7
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_mime.c
    functionUses: 0
    functionsReached:
    - SMIME_read_PKCS7_ex
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_stream
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:42,1
    - Dst: PKCS7_dataInit
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:46,1
    - Dst: PKCS7_dataFinal
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: pk7_cb
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 0
    functionsReached:
    - PKCS7_dataFinal
    - PKCS7_stream
    - PKCS7_dataInit
    linkageType: ''
    returnType: int
    signature: "int pk7_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                 void *exarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:77,1
    - Dst: PKCS7_it
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:77,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - in
    - len
    argTypes:
    - PKCS7**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: d2i_PKCS7
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_item_d2i_ex
    - PKCS7_it
    - ossl_pkcs7_resolve_libctx
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *d2i_PKCS7(PKCS7 **a, const unsigned char **in, long len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:86,1
    - Dst: PKCS7_it
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - PKCS7*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: i2d_PKCS7
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 0
    functionsReached:
    - PKCS7_it
    - ASN1_item_i2d
    linkageType: ''
    returnType: int
    signature: int i2d_PKCS7(const PKCS7 *a, unsigned char **out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:91,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: PKCS7_new
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 1
    functionsReached:
    - ASN1_item_new
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *PKCS7_new(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_new_ex
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:96,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:96,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:103,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: PKCS7_new_ex
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 2
    functionsReached:
    - ASN1_item_new_ex
    - PKCS7_free
    - OPENSSL_strdup
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: PKCS7
    signature: PKCS7 *PKCS7_new_ex(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:116,1
    - Dst: ASN1_item_free
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:117,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: PKCS7_free
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 6
    functionsReached:
    - OPENSSL_free
    - ASN1_ITEM_rptr
    - ASN1_item_free
    linkageType: ''
    returnType: void
    signature: void PKCS7_free(PKCS7 *p7)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: si_cb
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int si_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                void *exarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/crypto/pkcs7/pk7_asn1.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: ri_cb
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_asn1.c
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: int
    signature: "int ri_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                void *exarg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: PKCS7_type_is_other
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int PKCS7_type_is_other(PKCS7 *p7)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:50,1
    - Dst: PKCS7_type_is_other
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: PKCS7_get_octet_string
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - PKCS7_type_is_other
    - PKCS7_type_is_data
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *PKCS7_get_octet_string(PKCS7 *p7)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_octet_string
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:60,1
    - Dst: ASN1_OCTET_STRING_dup
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:64,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:68,1
    - Dst: PKCS7_type_is_other
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:73,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:81,1
    - Dst: ASN1_get_object
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:84,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:87,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 93
    functionName: pkcs7_get1_data
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_set0
    - ASN1_OCTET_STRING_set
    - PKCS7_get_octet_string
    - ASN1_get_object
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_dup
    - PKCS7_type_is_other
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *pkcs7_get1_data(PKCS7 *p7)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:103,1
    - Dst: BIO_f_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:104,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:108,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:110,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:111,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:111,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:112,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:116,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:120,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:123,1
    - Dst: BIO_set_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:126,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:127,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:130,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:134,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - pbio
    - alg
    - ctx
    argTypes:
    - BIO**
    - X509_ALGOR*
    - PKCS7_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 95
    functionDepth: 10
    functionLinenumber: 95
    functionLinenumberEnd: 144
    functionName: pkcs7_bio_add_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ossl_pkcs7_ctx_get0_propq
    - EVP_MD_free
    - ERR_raise
    - OBJ_obj2txt
    - ERR_pop_to_mark
    - BIO_free
    - ERR_set_mark
    - ossl_pkcs7_ctx_get0_libctx
    - BIO_f_md
    - BIO_set_md
    - BIO_push
    - EVP_get_digestbyname
    - EVP_MD_fetch
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int pkcs7_bio_add_digest(BIO **pbio, X509_ALGOR *alg,\n                                const
      PKCS7_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:156,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:160,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:160,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:161,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:165,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:168,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:171,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:175,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:178,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:184,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:185,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - ri
    - key
    - keylen
    argTypes:
    - PKCS7_RECIP_INFO*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 188
    functionName: pkcs7_encode_rinfo
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs7_ctx_get0_propq
    - EVP_PKEY_encrypt
    - X509_get0_pubkey
    - EVP_PKEY_encrypt_init
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - ASN1_STRING_set0
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int pkcs7_encode_rinfo(PKCS7_RECIP_INFO *ri,\n                              unsigned
      char *key, int keylen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:200,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:200,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:201,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:205,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:208,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:213,1
    - Dst: evp_pkey_decrypt_alloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:215,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:222,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - pek
    - peklen
    - ri
    - pkey
    - fixlen
    argTypes:
    - unsigned char**
    - int*
    - PKCS7_RECIP_INFO*
    - EVP_PKEY*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 6
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: pkcs7_decrypt_rinfo
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - evp_pkey_decrypt_alloc
    - ossl_pkcs7_ctx_get0_propq
    - EVP_PKEY_is_a
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_CTX_ctrl_str
    - OPENSSL_clear_free
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    linkageType: ''
    returnType: int
    signature: "int pkcs7_decrypt_rinfo(unsigned char **pek, int *peklen,\n                               PKCS7_RECIP_INFO
      *ri, EVP_PKEY *pkey,\n                               size_t fixlen)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:242,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:243,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:252,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:255,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:256,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:257,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:270,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:274,1
    - Dst: pkcs7_get1_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:297,1
    - Dst: pkcs7_get1_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:303,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:308,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:312,1
    - Dst: pkcs7_bio_add_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:313,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:313,1
    - Dst: pkcs7_bio_add_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:316,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:325,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:325,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:326,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:329,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:330,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:331,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:332,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:332,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:334,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:337,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:338,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:339,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:341,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:347,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:350,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:353,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:355,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:360,1
    - Dst: EVP_CIPHER_param_to_asn1
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:364,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:365,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:372,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:373,1
    - Dst: pkcs7_encode_rinfo
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:374,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:377,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:382,1
    - Dst: PKCS7_is_detached
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:387,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:388,1
    - Dst: BIO_s_null
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:388,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:394,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:394,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:396,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:397,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:398,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:403,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:403,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:406,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:412,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:416,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:420,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:421,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:422,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:423,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 153
    argCount: 2
    argNames:
    - p7
    - bio
    argTypes:
    - PKCS7*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 234
    functionDepth: 11
    functionLinenumber: 234
    functionLinenumberEnd: 425
    functionName: PKCS7_dataInit
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_param_to_asn1
    - ossl_pkcs7_ctx_get0_propq
    - ERR_raise
    - sk_PKCS7_RECIP_INFO_num
    - ERR_pop_to_mark
    - BIO_s_mem
    - ASN1_OCTET_STRING_free
    - pkcs7_get1_data
    - BIO_get_cipher_ctx
    - BIO_new
    - OPENSSL_cleanse
    - BIO_write
    - sk_X509_ALGOR_num
    - BIO_free_all
    - EVP_CIPHER_free
    - BIO_push
    - OBJ_nid2obj
    - EVP_CIPHER_get_key_length
    - pkcs7_encode_rinfo
    - OBJ_obj2nid
    - sk_PKCS7_RECIP_INFO_value
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_CTX_rand_key
    - BIO_f_cipher
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_CIPHER_get_type
    - STACK_OF
    - EVP_CIPHER_fetch
    - sk_X509_ALGOR_value
    - EVP_CipherInit_ex
    - PKCS7_is_detached
    - BIO_s_null
    - EVP_CIPHER_get0_name
    - BIO_set_mem_eof_return
    - ERR_set_mark
    - ossl_pkcs7_get0_ctx
    - ASN1_TYPE_new
    - ASN1_TYPE_free
    - RAND_bytes_ex
    - pkcs7_bio_add_digest
    linkageType: ''
    returnType: BIO
    signature: BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:430,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:431,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:434,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ri
    - pcert
    argTypes:
    - PKCS7_RECIP_INFO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: pkcs7_cmp_ri
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: int
    signature: int pkcs7_cmp_ri(PKCS7_RECIP_INFO *ri, X509 *pcert)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:451,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:452,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:462,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:466,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:467,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:468,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:471,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:475,1
    - Dst: PKCS7_get_octet_string
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:486,1
    - Dst: PKCS7_is_detached
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:488,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:500,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:502,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:503,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:507,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:511,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:514,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:521,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:523,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:524,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:528,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:531,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:532,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:535,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:538,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:544,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:550,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:551,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:552,1
    - Dst: BIO_f_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:552,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:553,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:557,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:559,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:560,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:564,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:567,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:568,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:571,1
    - Dst: BIO_set_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:573,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:574,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:575,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:578,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:582,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:588,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:588,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:589,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:604,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:605,1
    - Dst: pkcs7_cmp_ri
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:606,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:611,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:623,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:624,1
    - Dst: pkcs7_decrypt_rinfo
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:626,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:627,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:629,1
    - Dst: pkcs7_decrypt_rinfo
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:634,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:636,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:640,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:641,1
    - Dst: EVP_CIPHER_asn1_to_param
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:643,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:646,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:650,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:653,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:661,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:667,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:669,1
    - Dst: ERR_clear_error
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:676,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:677,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:680,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:682,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:688,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:695,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:697,1
    - Dst: BIO_s_mem
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:697,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:700,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:705,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:707,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:711,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:712,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:713,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:714,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:715,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:716,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:717,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 217
    argCount: 4
    argNames:
    - p7
    - pkey
    - in_bio
    - pcert
    argTypes:
    - PKCS7*
    - EVP_PKEY*
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 439
    functionDepth: 10
    functionLinenumber: 439
    functionLinenumberEnd: 719
    functionName: PKCS7_dataDecode
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs7_ctx_get0_propq
    - EVP_MD_free
    - ERR_raise
    - OBJ_obj2txt
    - sk_PKCS7_RECIP_INFO_num
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_get_key_length
    - BIO_f_md
    - BIO_s_mem
    - pkcs7_cmp_ri
    - BIO_get_cipher_ctx
    - BIO_new
    - sk_X509_ALGOR_num
    - ERR_clear_error
    - pkcs7_decrypt_rinfo
    - EVP_CIPHER_asn1_to_param
    - BIO_free_all
    - EVP_CIPHER_free
    - BIO_push
    - EVP_get_digestbyname
    - EVP_CIPHER_CTX_set_key_length
    - ERR_clear_last_mark
    - EVP_CIPHER_get_key_length
    - OBJ_obj2nid
    - sk_PKCS7_RECIP_INFO_value
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_rand_key
    - BIO_f_cipher
    - ossl_pkcs7_ctx_get0_libctx
    - STACK_OF
    - EVP_CIPHER_fetch
    - sk_X509_ALGOR_value
    - BIO_set_md
    - EVP_CipherInit_ex
    - EVP_get_cipherbyname
    - EVP_MD_fetch
    - PKCS7_is_detached
    - BIO_set_mem_eof_return
    - OPENSSL_clear_free
    - ERR_set_mark
    - PKCS7_get_octet_string
    - ossl_pkcs7_get0_ctx
    - BIO_new_mem_buf
    linkageType: ''
    returnType: BIO
    signature: BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509
      *pcert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:724,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:726,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:729,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:731,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:734,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pmd
    - bio
    - nid
    argTypes:
    - EVP_MD_CTX**
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 739
    functionName: PKCS7_find_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_MD_CTX_get_type
    - BIO_next
    - BIO_get_md_ctx
    - BIO_find_type
    linkageType: ''
    returnType: BIO
    signature: BIO *PKCS7_find_digest(EVP_MD_CTX **pmd, BIO *bio, int nid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:747,1
    - Dst: PKCS7_add0_attrib_signing_time
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:748,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:749,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:755,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:756,1
    - Dst: PKCS7_add1_attrib_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:759,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:760,1
    - Dst: PKCS7_SIGNER_INFO_sign
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - si
    - mctx
    argTypes:
    - PKCS7_SIGNER_INFO*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 769
    functionName: do_pkcs7_signed_attrib
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - ERR_raise
    - PKCS7_get_signed_attribute
    - PKCS7_add0_attrib_signing_time
    - PKCS7_add1_attrib_digest
    - PKCS7_SIGNER_INFO_sign
    linkageType: ''
    returnType: int
    signature: int do_pkcs7_signed_attrib(PKCS7_SIGNER_INFO *si, EVP_MD_CTX *mctx)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:778,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:779,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:784,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:788,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:791,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:795,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:797,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:801,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:813,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:815,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:825,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:827,1
    - Dst: PKCS7_get_octet_string
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:835,1
    - Dst: PKCS7_type_is_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:837,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:838,1
    - Dst: PKCS7_get_octet_string
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:845,1
    - Dst: PKCS7_type_is_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:847,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:848,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:855,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:860,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:861,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:865,1
    - Dst: PKCS7_find_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:869,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:877,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:886,1
    - Dst: do_pkcs7_signed_attrib
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:887,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:891,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:893,1
    - Dst: EVP_SignFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:896,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:897,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:898,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:899,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:900,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:903,1
    - Dst: PKCS7_find_digest
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:909,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:910,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:912,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:914,1
    - Dst: PKCS7_is_detached
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:918,1
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:928,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:930,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:933,1
    - Dst: BIO_set_flags
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:938,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:939,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:940,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:945,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 136
    argCount: 2
    argNames:
    - p7
    - bio
    argTypes:
    - PKCS7*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 771
    functionDepth: 8
    functionLinenumber: 771
    functionLinenumberEnd: 947
    functionName: PKCS7_dataFinal
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 2
    functionsReached:
    - ossl_pkcs7_ctx_get0_propq
    - ERR_raise
    - ASN1_OCTET_STRING_set
    - EVP_PKEY_get_size
    - OPENSSL_free
    - BIO_get_mem_data
    - ASN1_OCTET_STRING_free
    - EVP_SignFinal_ex
    - PKCS7_type_is_data
    - ASN1_STRING_set0
    - ASN1_OCTET_STRING_new
    - OBJ_obj2nid
    - OPENSSL_malloc
    - PKCS7_find_digest
    - BIO_set_flags
    - sk_PKCS7_SIGNER_INFO_num
    - EVP_DigestFinal_ex
    - sk_PKCS7_SIGNER_INFO_value
    - ossl_pkcs7_ctx_get0_libctx
    - STACK_OF
    - EVP_MD_CTX_copy_ex
    - sk_X509_ATTRIBUTE_num
    - PKCS7_is_detached
    - BIO_set_mem_eof_return
    - do_pkcs7_signed_attrib
    - EVP_MD_CTX_new
    - PKCS7_get_octet_string
    - EVP_MD_CTX_free
    - ossl_pkcs7_get0_ctx
    - BIO_find_type
    linkageType: ''
    returnType: int
    signature: int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:959,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:963,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:965,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:969,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:969,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:970,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:971,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:975,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:976,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:979,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:981,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:983,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:985,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:988,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:991,1
    - Dst: ASN1_STRING_set0
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:993,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:998,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:999,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - si
    argTypes:
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 949
    functionDepth: 8
    functionLinenumber: 949
    functionLinenumberEnd: 1001
    functionName: PKCS7_SIGNER_INFO_sign
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 1
    functionsReached:
    - ossl_pkcs7_ctx_get0_propq
    - ERR_raise
    - ASN1_item_i2d
    - EVP_MD_CTX_new
    - ossl_pkcs7_ctx_get0_libctx
    - EVP_MD_get0_name
    - ASN1_ITEM_rptr
    - OPENSSL_free
    - EVP_get_digestbyobj
    - EVP_DigestSignInit_ex
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - EVP_MD_CTX_free
    - ASN1_STRING_set0
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1009,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1010,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1014,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1019,1
    - Dst: PKCS7_type_is_signed
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1023,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1026,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1030,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1033,1
    - Dst: X509_find_by_issuer_and_serial
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1038,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1042,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1047,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1048,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1051,1
    - Dst: X509_verify_cert
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1052,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1054,1
    - Dst: PKCS7_signatureVerify
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1058,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 5
    argNames:
    - cert_store
    - ctx
    - bio
    - p7
    - si
    argTypes:
    - X509_STORE*
    - X509_STORE_CTX*
    - BIO*
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1061
    functionName: PKCS7_dataVerify
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - X509_verify_cert
    - PKCS7_signatureVerify
    - ERR_raise
    - X509_STORE_CTX_init
    - PKCS7_type_is_signed
    - X509_STORE_CTX_set0_crls
    - PKCS7_type_is_signedAndEnveloped
    - STACK_OF
    - X509_STORE_CTX_set_purpose
    - X509_find_by_issuer_and_serial
    linkageType: ''
    returnType: int
    signature: "int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx,
      BIO *bio,\n                     PKCS7 *p7, PKCS7_SIGNER_INFO *si)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1072,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1076,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1077,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1078,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1080,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1082,1
    - Dst: PKCS7_type_is_signed
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1086,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1086,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1087,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1091,1
    - Dst: BIO_find_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1096,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1097,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1102,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1105,1
    - Dst: EVP_MD_get_pkey_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1111,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1111,1
    - Dst: BIO_next
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1113,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1120,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1124,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1130,1
    - Dst: PKCS7_digest_from_attributes
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1132,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1134,1
    - Dst: memcmp
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1138,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1139,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1144,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1145,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1145,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1150,1
    - Dst: EVP_VerifyInit_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1152,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1153,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1156,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1158,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1159,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1161,1
    - Dst: EVP_VerifyUpdate
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1165,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1170,1
    - Dst: EVP_VerifyFinal_ex
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1178,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1184,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1185,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1186,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 96
    argCount: 4
    argNames:
    - bio
    - p7
    - si
    - signer
    argTypes:
    - BIO*
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1063
    functionDepth: 10
    functionLinenumber: 1063
    functionLinenumberEnd: 1188
    functionName: PKCS7_signatureVerify
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 1
    functionsReached:
    - PKCS7_digest_from_attributes
    - ossl_pkcs7_ctx_get0_propq
    - EVP_MD_free
    - ERR_raise
    - ERR_pop_to_mark
    - EVP_VerifyFinal_ex
    - OPENSSL_free
    - EVP_MD_CTX_get0_md
    - PKCS7_type_is_signedAndEnveloped
    - EVP_get_digestbynid
    - EVP_VerifyInit_ex
    - BIO_get_md_ctx
    - ERR_clear_last_mark
    - OBJ_obj2nid
    - EVP_VerifyUpdate
    - EVP_DigestFinal_ex
    - OBJ_nid2sn
    - ossl_pkcs7_ctx_get0_libctx
    - STACK_OF
    - EVP_MD_CTX_copy_ex
    - EVP_MD_fetch
    - sk_X509_ATTRIBUTE_num
    - memcmp
    - EVP_MD_CTX_get_type
    - ASN1_item_i2d
    - PKCS7_type_is_signed
    - X509_get0_pubkey
    - ERR_set_mark
    - EVP_MD_CTX_new
    - ASN1_ITEM_rptr
    - EVP_MD_CTX_free
    - ossl_pkcs7_get0_ctx
    - BIO_next
    - EVP_MD_get_pkey_type
    - BIO_find_type
    linkageType: ''
    returnType: int
    signature: "int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si,\n
      \                         X509 *signer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1192,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1196,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1204,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p7
    - idx
    argTypes:
    - PKCS7*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1208
    functionName: PKCS7_get_issuer_and_serial
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - sk_PKCS7_RECIP_INFO_num
    - STACK_OF
    - OBJ_obj2nid
    - sk_PKCS7_RECIP_INFO_value
    linkageType: ''
    returnType: PKCS7_ISSUER_AND_SERIAL
    signature: PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int
      idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - nid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1213
    functionName: PKCS7_get_signed_attribute
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 3
    functionsReached:
    - get_attribute
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *PKCS7_get_signed_attribute(const PKCS7_SIGNER_INFO *si,
      int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - si
    - nid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1218
    functionName: PKCS7_get_attribute
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - get_attribute
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *PKCS7_get_attribute(const PKCS7_SIGNER_INFO *si, int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509at_get_attr_by_NID
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1222,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1226,1
    - Dst: X509at_get_attr
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sk
    - nid
    argTypes:
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1227
    functionName: get_attribute
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 2
    functionsReached:
    - X509_ATTRIBUTE_get0_type
    - X509at_get_attr
    - X509at_get_attr_by_NID
    linkageType: ''
    returnType: ASN1_TYPE
    signature: ASN1_TYPE *get_attribute(const STACK_OF(X509_ATTRIBUTE) *sk, int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p7si
    - nid
    - atrtype
    - value
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1261
    functionName: PKCS7_add_signed_attribute
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 3
    functionsReached:
    - add_attribute
    linkageType: ''
    returnType: int
    signature: "int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int
      atrtype,\n                               void *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_doit.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p7si
    - nid
    - atrtype
    - value
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1267
    functionName: PKCS7_add_attribute
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_doit.c
    functionUses: 0
    functionsReached:
    - add_attribute
    linkageType: ''
    returnType: int
    signature: "int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype,\n
      \                       void *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_get_signed_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:99,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:102,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - si
    - coid
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: PKCS7_add_attrib_content_type
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: 0
    functionsReached:
    - PKCS7_get_signed_attribute
    - PKCS7_add_signed_attribute
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT
      *coid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_gmtime_adj
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:112,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:115,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - si
    - t
    argTypes:
    - PKCS7_SIGNER_INFO*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: PKCS7_add0_attrib_signing_time
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: 1
    functionsReached:
    - X509_gmtime_adj
    - ERR_raise
    - PKCS7_add_signed_attribute
    - ASN1_TIME_free
    linkageType: ''
    returnType: int
    signature: int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME
      *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:127,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:130,1
    - Dst: PKCS7_add_signed_attribute
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:131,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_attr.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - si
    - md
    - mdlen
    argTypes:
    - PKCS7_SIGNER_INFO*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: PKCS7_add1_attrib_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_attr.c
    functionUses: 1
    functionsReached:
    - ASN1_STRING_set
    - ASN1_OCTET_STRING_new
    - PKCS7_add_signed_attribute
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: int
    signature: "int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si,\n                             const
      unsigned char *md, int mdlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_dataInit
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:81,1
    - Dst: SMIME_crlf_copy
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:85,1
    - Dst: BIO_flush
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:88,1
    - Dst: PKCS7_dataFinal
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:91,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - p7
    - data
    - flags
    argTypes:
    - PKCS7*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 12
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: PKCS7_final
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_flush
    - BIO_free_all
    - SMIME_crlf_copy
    - PKCS7_dataFinal
    - PKCS7_dataInit
    linkageType: ''
    returnType: int
    signature: int PKCS7_final(PKCS7 *p7, BIO *data, int flags)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:123,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:126,1
    - Dst: PKCS7_add_signature
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:132,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:136,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:138,1
    - Dst: PKCS7_add_attrib_content_type
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:143,1
    - Dst: sk_X509_ALGOR_new_null
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:148,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:151,1
    - Dst: add_digest_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:152,1
    - Dst: add_digest_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:153,1
    - Dst: add_digest_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:154,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:155,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:156,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:157,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:158,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:159,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:160,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:161,1
    - Dst: add_cipher_smcap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:162,1
    - Dst: PKCS7_add_attrib_smimecap
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:163,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:165,1
    - Dst: pkcs7_copy_existing_digest
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:169,1
    - Dst: PKCS7_SIGNER_INFO_sign
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:172,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:178,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 46
    argCount: 5
    argNames:
    - p7
    - signcert
    - pkey
    - md
    - flags
    argTypes:
    - PKCS7*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 118
    functionDepth: 9
    functionLinenumber: 118
    functionLinenumberEnd: 180
    functionName: PKCS7_sign_add_signer
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_X509_ALGOR_pop_free
    - PKCS7_add_attrib_content_type
    - PKCS7_SIGNER_INFO_sign
    - add_digest_smcap
    - PKCS7_add_attrib_smimecap
    - STACK_OF
    - PKCS7_add_signature
    - ossl_pkcs7_get0_ctx
    - X509_check_private_key
    - PKCS7_add_certificate
    - add_cipher_smcap
    - sk_X509_ALGOR_new_null
    - pkcs7_copy_existing_digest
    linkageType: ''
    returnType: PKCS7_SIGNER_INFO
    signature: "PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, X509 *signcert,\n
      \                                        EVP_PKEY *pkey, const EVP_MD *md,\n
      \                                        int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:190,1
    - Dst: PKCS7_get_signer_info
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:193,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:194,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:195,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:198,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:200,1
    - Dst: PKCS7_digest_from_attributes
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:201,1
    - Dst: PKCS7_add1_attrib_digest
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - p7
    - si
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 212
    functionName: pkcs7_copy_existing_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 1
    functionsReached:
    - PKCS7_digest_from_attributes
    - sk_PKCS7_SIGNER_INFO_num
    - ERR_raise
    - sk_PKCS7_SIGNER_INFO_value
    - OBJ_cmp
    - STACK_OF
    - PKCS7_get_signer_info
    - PKCS7_add1_attrib_digest
    - sk_X509_ATTRIBUTE_num
    linkageType: ''
    returnType: int
    signature: int pkcs7_copy_existing_digest(PKCS7 *p7, PKCS7_SIGNER_INFO *si)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:485,1
    - Dst: PKCS7_type_is_enveloped
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:489,1
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:490,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:491,1
    - Dst: X509_check_private_key
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:495,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:496,1
    - Dst: PKCS7_dataDecode
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:501,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:502,1
    - Dst: BIO_new
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:509,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:509,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:510,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:511,1
    - Dst: BIO_push
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:514,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:515,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:516,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:517,1
    - Dst: SMIME_text
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:520,1
    - Dst: BIO_method_type
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:521,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:522,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:525,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:528,1
    - Dst: BIO_read
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:531,1
    - Dst: BIO_method_type
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:534,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:535,1
    - Dst: BIO_write
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:541,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:546,1
    - Dst: BIO_free_all
      Src: /src/openssl/crypto/pkcs7/pk7_smime.c:547,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 5
    argNames:
    - p7
    - pkey
    - cert
    - data
    - flags
    argTypes:
    - PKCS7*
    - EVP_PKEY*
    - X509*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 478
    functionDepth: 11
    functionLinenumber: 478
    functionLinenumberEnd: 549
    functionName: PKCS7_decrypt
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_smime.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_new
    - ERR_raise
    - BIO_method_type
    - PKCS7_type_is_signedAndEnveloped
    - PKCS7_type_is_enveloped
    - BIO_get_cipher_status
    - BIO_free_all
    - OPENSSL_free
    - BIO_f_buffer
    - BIO_push
    - SMIME_text
    - X509_check_private_key
    - BIO_read
    - OPENSSL_malloc
    - PKCS7_dataDecode
    linkageType: ''
    returnType: int
    signature: int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data,
      int flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:25,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:32,1
    - Dst: PKCS7_type_is_data
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:37,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:40,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:44,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:65,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - p7
    - cmd
    - larg
    - parg
    argTypes:
    - PKCS7*
    - int
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 69
    functionName: PKCS7_ctrl
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ERR_raise
    - OBJ_obj2nid
    - PKCS7_type_is_data
    linkageType: ''
    returnType: long
    signature: long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:75,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:77,1
    - Dst: PKCS7_set_content
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:79,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - p7
    - type
    argTypes:
    - PKCS7*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: PKCS7_content_new
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - PKCS7_set_type
    - PKCS7_free
    - PKCS7_set_content
    - PKCS7_new
    linkageType: ''
    returnType: int
    signature: int PKCS7_content_new(PKCS7 *p7, int type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:92,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:95,1
    - Dst: PKCS7_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - p7
    - p7_data
    argTypes:
    - PKCS7*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 113
    functionName: PKCS7_set_content
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 2
    functionsReached:
    - PKCS7_free
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:122,1
    - Dst: PKCS7_SIGNED_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:127,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:129,1
    - Dst: PKCS7_SIGNED_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:130,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:137,1
    - Dst: PKCS7_SIGN_ENVELOPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:142,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:145,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:148,1
    - Dst: PKCS7_ENVELOPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:152,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:155,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:157,1
    - Dst: PKCS7_ENCRYPT_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:161,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:164,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:166,1
    - Dst: PKCS7_DIGEST_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:171,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:178,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 2
    argNames:
    - p7
    - type
    argTypes:
    - PKCS7*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 184
    functionName: PKCS7_set_type
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - PKCS7_DIGEST_new
    - PKCS7_ENCRYPT_new
    - PKCS7_SIGNED_free
    - PKCS7_ENVELOPE_new
    - PKCS7_SIGN_ENVELOPE_new
    - ASN1_INTEGER_set
    - OBJ_nid2obj
    - PKCS7_SIGNED_new
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int PKCS7_set_type(PKCS7 *p7, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p7
    - type
    - other
    argTypes:
    - PKCS7*
    - int
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: PKCS7_set0_type_other
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:198,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:199,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:212,1
    - Dst: sk_X509_ALGOR_num
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:219,1
    - Dst: sk_X509_ALGOR_value
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:220,1
    - Dst: OBJ_cmp
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:221,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:229,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:230,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:231,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:232,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:239,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:240,1
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:242,1
    - Dst: sk_X509_ALGOR_push
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:244,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:245,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:250,1
    - Dst: sk_PKCS7_SIGNER_INFO_push
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - p7
    - psi
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 254
    functionName: PKCS7_add_signer
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_dup
    - ERR_raise
    - sk_PKCS7_SIGNER_INFO_push
    - sk_X509_ALGOR_num
    - sk_X509_ALGOR_push
    - OBJ_cmp
    - STACK_OF
    - X509_ALGOR_new
    - sk_X509_ALGOR_value
    - X509_ALGOR_free
    - ASN1_TYPE_new
    - OBJ_nid2obj
    - ossl_pkcs7_get0_ctx
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:259,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:270,1
    - Dst: ossl_x509_add_cert_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p7
    - x509
    argTypes:
    - PKCS7*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 275
    functionName: PKCS7_add_certificate
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 2
    functionsReached:
    - STACK_OF
    - ERR_raise
    - OBJ_obj2nid
    - ossl_x509_add_cert_new
    linkageType: ''
    returnType: int
    signature: int PKCS7_add_certificate(PKCS7 *p7, X509 *x509)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:280,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:291,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:296,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:298,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:302,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:304,1
    - Dst: X509_CRL_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - p7
    - crl
    argTypes:
    - PKCS7*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: PKCS7_add_crl
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_X509_CRL_push
    - X509_CRL_up_ref
    - X509_CRL_free
    - STACK_OF
    - sk_X509_CRL_new_null
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_SIGNER_INFO_get0_algs
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:319,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:322,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:325,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:325,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:327,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: pkcs7_ecdsa_or_dsa_sign_verify_setup
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - OBJ_obj2nid
    - EVP_PKEY_get_id
    - OBJ_nid2obj
    - PKCS7_SIGNER_INFO_get0_algs
    - OBJ_find_sigid_by_algs
    linkageType: ''
    returnType: int
    signature: "int pkcs7_ecdsa_or_dsa_sign_verify_setup(PKCS7_SIGNER_INFO *si,\n
      \                                               int verify)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_SIGNER_INFO_get0_algs
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:337,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:339,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - si
    - verify
    argTypes:
    - PKCS7_SIGNER_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: pkcs7_rsa_sign_verify_setup
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - PKCS7_SIGNER_INFO_get0_algs
    - X509_ALGOR_set0
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: int pkcs7_rsa_sign_verify_setup(PKCS7_SIGNER_INFO *si, int verify)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:351,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:353,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:354,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:361,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:363,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:363,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:367,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:374,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:374,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:374,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:378,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:378,1
    - Dst: pkcs7_ecdsa_or_dsa_sign_verify_setup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:379,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:380,1
    - Dst: pkcs7_rsa_sign_verify_setup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:381,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:384,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:388,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:392,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - p7i
    - x509
    - pkey
    - dgst
    argTypes:
    - PKCS7_SIGNER_INFO*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 394
    functionName: PKCS7_SIGNER_INFO_set
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - pkcs7_ecdsa_or_dsa_sign_verify_setup
    - ERR_raise
    - X509_NAME_set
    - EVP_PKEY_is_a
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - EVP_PKEY_up_ref
    - ASN1_INTEGER_dup
    - pkcs7_rsa_sign_verify_setup
    - OBJ_nid2obj
    - EVP_PKEY*::ameth::pkey_ctrl
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: "int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY
      *pkey,\n                          const EVP_MD *dgst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:403,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:407,1
    - Dst: PKCS7_SIGNER_INFO_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:412,1
    - Dst: PKCS7_SIGNER_INFO_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:414,1
    - Dst: PKCS7_add_signer
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:416,1
    - Dst: PKCS7_SIGNER_INFO_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:420,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - p7
    - x509
    - pkey
    - dgst
    argTypes:
    - PKCS7*
    - X509*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 396
    functionDepth: 10
    functionLinenumber: 396
    functionLinenumberEnd: 422
    functionName: PKCS7_add_signature
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - PKCS7_SIGNER_INFO_new
    - EVP_get_digestbynid
    - PKCS7_SIGNER_INFO_free
    - PKCS7_SIGNER_INFO_set
    - PKCS7_add_signer
    - EVP_PKEY_get_default_digest_nid
    linkageType: ''
    returnType: PKCS7_SIGNER_INFO
    signature: "PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, EVP_PKEY
      *pkey,\n                                       const EVP_MD *dgst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_signedAndEnveloped
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:439,1
    - Dst: PKCS7_type_is_enveloped
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: pkcs7_get_recipient_info
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - PKCS7_type_is_signedAndEnveloped
    - PKCS7_type_is_enveloped
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *pkcs7_get_recipient_info(const PKCS7 *p7)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:453,1
    - Dst: ossl_pkcs7_ctx_get0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:454,1
    - Dst: ossl_pkcs7_ctx_get0_propq
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:455,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:456,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:457,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:458,1
    - Dst: pkcs7_get_recipient_info
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:463,1
    - Dst: PKCS7_get_signer_info
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:464,1
    - Dst: pkcs7_get0_certificates
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:465,1
    - Dst: sk_X509_num
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:467,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:468,1
    - Dst: sk_X509_value
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:468,1
    - Dst: sk_PKCS7_RECIP_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:470,1
    - Dst: sk_PKCS7_RECIP_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:471,1
    - Dst: ossl_x509_set0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:473,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:476,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 482
    functionName: ossl_pkcs7_resolve_libctx
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 4
    functionsReached:
    - ossl_pkcs7_ctx_get0_propq
    - sk_PKCS7_SIGNER_INFO_num
    - sk_PKCS7_SIGNER_INFO_value
    - sk_PKCS7_RECIP_INFO_num
    - sk_X509_value
    - ossl_x509_set0_libctx
    - ossl_pkcs7_ctx_get0_libctx
    - pkcs7_get_recipient_info
    - STACK_OF
    - PKCS7_get_signer_info
    - ossl_pkcs7_get0_ctx
    - pkcs7_get0_certificates
    - sk_X509_num
    - sk_PKCS7_RECIP_INFO_value
    linkageType: ''
    returnType: void
    signature: void ossl_pkcs7_resolve_libctx(PKCS7 *p7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p7
    argTypes:
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: ossl_pkcs7_get0_ctx
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: PKCS7_CTX
    signature: PKCS7_CTX *ossl_pkcs7_get0_ctx(const PKCS7 *p7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p7
    - ctx
    argTypes:
    - PKCS7*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: ossl_pkcs7_set0_libctx
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_pkcs7_set0_libctx(PKCS7 *p7, OSSL_LIB_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:497,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - p7
    - propq
    argTypes:
    - PKCS7*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 506
    functionName: ossl_pkcs7_set1_propq
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int ossl_pkcs7_set1_propq(PKCS7 *p7, const char *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pkcs7_set0_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:510,1
    - Dst: ossl_pkcs7_set1_propq
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:511,1
    - Dst: ossl_pkcs7_resolve_libctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - PKCS7*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: ossl_pkcs7_ctx_propagate
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - ossl_pkcs7_set0_libctx
    - ossl_pkcs7_set1_propq
    - ossl_pkcs7_resolve_libctx
    linkageType: ''
    returnType: int
    signature: int ossl_pkcs7_ctx_propagate(const PKCS7 *from, PKCS7 *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PKCS7_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: ossl_pkcs7_ctx_get0_libctx
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_pkcs7_ctx_get0_libctx(const PKCS7_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PKCS7_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: ossl_pkcs7_ctx_get0_propq
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_pkcs7_ctx_get0_propq(const PKCS7_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_digest
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:529,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:530,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:531,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:535,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:535,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p7
    - md
    argTypes:
    - PKCS7*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 541
    functionName: PKCS7_set_digest
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASN1_TYPE_new
    - OBJ_nid2obj
    - PKCS7_type_is_digest
    - EVP_MD_nid
    linkageType: ''
    returnType: int
    signature: int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - si
    - pk
    - pdig
    - psig
    argTypes:
    - PKCS7_SIGNER_INFO*
    - EVP_PKEY**
    - X509_ALGOR**
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 564
    functionName: PKCS7_SIGNER_INFO_get0_algs
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk,\n
      \                                X509_ALGOR **pdig, X509_ALGOR **psig)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ri
    - penc
    argTypes:
    - PKCS7_RECIP_INFO*
    - X509_ALGOR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 570
    functionName: PKCS7_RECIP_INFO_get0_alg
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_RECIP_INFO_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:576,1
    - Dst: PKCS7_RECIP_INFO_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:578,1
    - Dst: PKCS7_add_recipient_info
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:580,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:582,1
    - Dst: PKCS7_RECIP_INFO_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - p7
    - x509
    argTypes:
    - PKCS7*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 587
    functionName: PKCS7_add_recipient
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - PKCS7_RECIP_INFO_new
    - PKCS7_RECIP_INFO_free
    - PKCS7_add_recipient_info
    - PKCS7_RECIP_INFO_set
    - ossl_pkcs7_get0_ctx
    linkageType: ''
    returnType: PKCS7_RECIP_INFO
    signature: PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:592,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:594,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:603,1
    - Dst: sk_PKCS7_RECIP_INFO_push
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - p7
    - ri
    argTypes:
    - PKCS7*
    - PKCS7_RECIP_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 610
    functionName: PKCS7_add_recipient_info
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached:
    - STACK_OF
    - ERR_raise
    - OBJ_obj2nid
    - sk_PKCS7_RECIP_INFO_push
    linkageType: ''
    returnType: int
    signature: int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_RECIP_INFO_get0_alg
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:617,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:619,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ri
    - decrypt
    argTypes:
    - PKCS7_RECIP_INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 612
    functionDepth: 4
    functionLinenumber: 612
    functionLinenumberEnd: 623
    functionName: pkcs7_rsa_encrypt_decrypt_setup
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - PKCS7_RECIP_INFO_get0_alg
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: int pkcs7_rsa_encrypt_decrypt_setup(PKCS7_RECIP_INFO *ri, int decrypt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:629,1
    - Dst: X509_NAME_set
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:631,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:632,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:635,1
    - Dst: ASN1_INTEGER_dup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:637,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:637,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:640,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:644,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:646,1
    - Dst: pkcs7_rsa_encrypt_decrypt_setup
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:647,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:653,1
    - Dst: EVP_PKEY*::ameth::pkey_ctrl
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:658,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:660,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:665,1
    - Dst: X509_up_ref
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:669,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - p7i
    - x509
    argTypes:
    - PKCS7_RECIP_INFO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 625
    functionDepth: 5
    functionLinenumber: 625
    functionLinenumberEnd: 678
    functionName: PKCS7_RECIP_INFO_set
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509_NAME_set
    - X509_get0_pubkey
    - EVP_PKEY_is_a
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - X509_up_ref
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - pkcs7_rsa_encrypt_decrypt_setup
    - ASN1_INTEGER_dup
    - EVP_PKEY*::ameth::pkey_ctrl
    linkageType: ''
    returnType: int
    signature: int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS7_type_is_signed
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:682,1
    - Dst: X509_find_by_issuer_and_serial
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p7
    - si
    argTypes:
    - PKCS7*
    - PKCS7_SIGNER_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 689
    functionName: PKCS7_cert_from_signer_info
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - PKCS7_type_is_signed
    - X509_find_by_issuer_and_serial
    linkageType: ''
    returnType: X509
    signature: X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:696,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:705,1
    - Dst: EVP_CIPHER_get_type
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:710,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:712,1
    - Dst: ossl_pkcs7_get0_ctx
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - p7
    - cipher
    argTypes:
    - PKCS7*
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 719
    functionName: PKCS7_set_cipher
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_type
    - ERR_raise
    - OBJ_obj2nid
    - ossl_pkcs7_get0_ctx
    linkageType: ''
    returnType: int
    signature: int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:726,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:734,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/crypto/pkcs7/pk7_lib.c:742,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - boundary
    - p7
    argTypes:
    - unsigned char***
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 763
    functionName: PKCS7_stream
    functionSourceFile: /src/openssl/crypto/pkcs7/pk7_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_obj2nid
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_NDEF
      Src: /src/openssl/crypto/pkcs7/bio_pk7.c:18,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/pkcs7/bio_pk7.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - p7
    argTypes:
    - BIO*
    - PKCS7*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 6
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: BIO_new_PKCS7
    functionSourceFile: /src/openssl/crypto/pkcs7/bio_pk7.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_rptr
    - BIO_new_NDEF
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/pkcs7/pkcs7err.c:94,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/pkcs7/pkcs7err.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: ossl_err_load_PKCS7_strings
    functionSourceFile: /src/openssl/crypto/pkcs7/pkcs7err.c
    functionUses: 1
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_PKCS7_strings(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/thread/arch.c:21,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/thread/arch.c:25,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/thread/arch.c:27,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/crypto/thread/arch.c:29,1
    - Dst: ossl_crypto_thread_native_spawn
      Src: /src/openssl/crypto/thread/arch.c:36,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/thread/arch.c:40,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/thread/arch.c:41,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/thread/arch.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch.c:43,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - routine
    - data
    - joinable
    argTypes:
    - CRYPTO_THREAD_ROUTINE
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 45
    functionName: ossl_crypto_thread_native_start
    functionSourceFile: /src/openssl/crypto/thread/arch.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_free
    - OPENSSL_zalloc
    - ossl_crypto_condvar_free
    - ossl_crypto_condvar_new
    - ossl_crypto_thread_native_spawn
    - OPENSSL_free
    - ossl_crypto_mutex_new
    linkageType: ''
    returnType: CRYPTO_THREAD
    signature: "CRYPTO_THREAD *ossl_crypto_thread_native_start(CRYPTO_THREAD_ROUTINE
      routine,\n                                               void *data, int joinable)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch.c:54,1
    - Dst: CRYPTO_THREAD_GET_STATE
      Src: /src/openssl/crypto/thread/arch.c:56,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/crypto/thread/arch.c:57,1
    - Dst: CRYPTO_THREAD_GET_STATE
      Src: /src/openssl/crypto/thread/arch.c:59,1
    - Dst: CRYPTO_THREAD_GET_STATE
      Src: /src/openssl/crypto/thread/arch.c:63,1
    - Dst: CRYPTO_THREAD_GET_STATE
      Src: /src/openssl/crypto/thread/arch.c:64,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/crypto/thread/arch.c:65,1
    - Dst: CRYPTO_THREAD_GET_STATE
      Src: /src/openssl/crypto/thread/arch.c:66,1
    - Dst: CRYPTO_THREAD_SET_STATE
      Src: /src/openssl/crypto/thread/arch.c:69,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch.c:70,1
    - Dst: ossl_crypto_thread_native_perform_join
      Src: /src/openssl/crypto/thread/arch.c:72,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch.c:75,1
    - Dst: CRYPTO_THREAD_UNSET_ERROR
      Src: /src/openssl/crypto/thread/arch.c:77,1
    - Dst: CRYPTO_THREAD_SET_STATE
      Src: /src/openssl/crypto/thread/arch.c:78,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/crypto/thread/arch.c:86,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch.c:87,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch.c:94,1
    - Dst: CRYPTO_THREAD_SET_ERROR
      Src: /src/openssl/crypto/thread/arch.c:95,1
    - Dst: CRYPTO_THREAD_UNSET_STATE
      Src: /src/openssl/crypto/thread/arch.c:99,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/crypto/thread/arch.c:100,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch.c:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - thread
    - retval
    argTypes:
    - CRYPTO_THREAD*
    - CRYPTO_THREAD_RETVAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 104
    functionName: ossl_crypto_thread_native_join
    functionSourceFile: /src/openssl/crypto/thread/arch.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_perform_join
    - CRYPTO_THREAD_SET_STATE
    - CRYPTO_THREAD_UNSET_ERROR
    - CRYPTO_THREAD_SET_ERROR
    - ossl_crypto_condvar_signal
    - ossl_crypto_mutex_unlock
    - CRYPTO_THREAD_UNSET_STATE
    - ossl_crypto_mutex_lock
    - CRYPTO_THREAD_GET_STATE
    - ossl_crypto_condvar_wait
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_join(CRYPTO_THREAD *thread, CRYPTO_THREAD_RETVAL
      *retval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch.c:117,1
    - Dst: CRYPTO_THREAD_GET_STATE
      Src: /src/openssl/crypto/thread/arch.c:118,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch.c:119,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch.c:122,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/thread/arch.c:124,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/thread/arch.c:125,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/thread/arch.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - handle
    argTypes:
    - CRYPTO_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: ossl_crypto_thread_native_clean
    functionSourceFile: /src/openssl/crypto/thread/arch.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_crypto_condvar_free
    - OPENSSL_free
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - CRYPTO_THREAD_GET_STATE
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_clean(CRYPTO_THREAD *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tdata
    argTypes:
    - OSSL_LIB_CTX_THREADS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: _ossl_get_avail_threads
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline _ossl_get_avail_threads(OSSL_LIB_CTX_THREADS *tdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_GET_THREADS
      Src: /src/openssl/crypto/thread/internal.c:28,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/internal.c:33,1
    - Dst: _ossl_get_avail_threads
      Src: /src/openssl/crypto/thread/internal.c:34,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/internal.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: ossl_get_avail_threads
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 1
    functionsReached:
    - OSSL_LIB_CTX_GET_THREADS
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - _ossl_get_avail_threads
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_get_avail_threads(OSSL_LIB_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_GET_THREADS
      Src: /src/openssl/crypto/thread/internal.c:44,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/internal.c:49,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/internal.c:51,1
    - Dst: _ossl_get_avail_threads
      Src: /src/openssl/crypto/thread/internal.c:55,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/crypto/thread/internal.c:56,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/internal.c:58,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/crypto/thread/internal.c:60,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/internal.c:62,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/internal.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - start
    - data
    argTypes:
    - OSSL_LIB_CTX*
    - CRYPTO_THREAD_ROUTINE
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: ossl_crypto_thread_start
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_start
    - _ossl_get_avail_threads
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - OSSL_LIB_CTX_GET_THREADS
    - ossl_crypto_condvar_wait
    linkageType: ''
    returnType: void
    signature: "void *ossl_crypto_thread_start(OSSL_LIB_CTX *ctx, CRYPTO_THREAD_ROUTINE
      start,\n                               void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_GET_THREADS
      Src: /src/openssl/crypto/thread/internal.c:81,1
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/crypto/thread/internal.c:85,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/internal.c:88,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/crypto/thread/internal.c:90,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/internal.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - vhandle
    - retval
    argTypes:
    - void*
    - CRYPTO_THREAD_RETVAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: ossl_crypto_thread_join
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_join
    - ossl_crypto_condvar_signal
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - OSSL_LIB_CTX_GET_THREADS
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_join(void *vhandle, CRYPTO_THREAD_RETVAL *retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/crypto/thread/internal.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vhandle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: ossl_crypto_thread_clean
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_clean
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_clean(void *vhandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ossl_get_avail_threads
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_get_avail_threads(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - start
    - data
    argTypes:
    - OSSL_LIB_CTX*
    - CRYPTO_THREAD_ROUTINE
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: ossl_crypto_thread_start
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *ossl_crypto_thread_start(OSSL_LIB_CTX *ctx, CRYPTO_THREAD_ROUTINE
      start,\n                               void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vhandle
    - retval
    argTypes:
    - void*
    - CRYPTO_THREAD_RETVAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ossl_crypto_thread_join
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_join(void *vhandle, CRYPTO_THREAD_RETVAL *retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vhandle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: ossl_crypto_thread_clean
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_clean(void *vhandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/thread/internal.c:129,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/thread/internal.c:134,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/crypto/thread/internal.c:135,1
    - Dst: ossl_threads_ctx_free
      Src: /src/openssl/crypto/thread/internal.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: ossl_threads_ctx_new
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_condvar_new
    - OPENSSL_zalloc
    - ossl_crypto_mutex_new
    - ossl_threads_ctx_free
    linkageType: ''
    returnType: void
    signature: void *ossl_threads_ctx_new(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/thread/internal.c:154,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/crypto/thread/internal.c:155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/internal.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: ossl_threads_ctx_free
    functionSourceFile: /src/openssl/crypto/thread/internal.c
    functionUses: 2
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_crypto_condvar_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_threads_ctx_free(void *vdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: OSSL_get_thread_support_flags
    functionSourceFile: /src/openssl/crypto/thread/api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t OSSL_get_thread_support_flags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - max_threads
    argTypes:
    - OSSL_LIB_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: OSSL_set_max_threads
    functionSourceFile: /src/openssl/crypto/thread/api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OSSL_set_max_threads(OSSL_LIB_CTX *ctx, uint64_t max_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: OSSL_get_max_threads
    functionSourceFile: /src/openssl/crypto/thread/api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t OSSL_get_max_threads(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_GET_THREADS
      Src: /src/openssl/crypto/thread/api.c:45,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/api.c:50,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/api.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: OSSL_get_max_threads
    functionSourceFile: /src/openssl/crypto/thread/api.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_GET_THREADS
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t OSSL_get_max_threads(OSSL_LIB_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_GET_THREADS
      Src: /src/openssl/crypto/thread/api.c:62,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/api.c:66,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/api.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - max_threads
    argTypes:
    - OSSL_LIB_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: OSSL_set_max_threads
    functionSourceFile: /src/openssl/crypto/thread/api.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_GET_THREADS
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: int
    signature: int OSSL_set_max_threads(OSSL_LIB_CTX *ctx, uint64_t max_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/openssl/crypto/thread/arch/thread_win.c:23,1
    - Dst: CRYPTO_THREAD*::routine
      Src: /src/openssl/crypto/thread/arch/thread_win.c:25,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:26,1
    - Dst: CRYPTO_THREAD_SET_STATE
      Src: /src/openssl/crypto/thread/arch/thread_win.c:27,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/crypto/thread/arch/thread_win.c:29,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - vthread
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 33
    functionName: thread_start_thunk
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_SET_STATE
    - GetCurrentThreadId
    - ossl_crypto_condvar_signal
    - CRYPTO_THREAD*::routine
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: unsigned
    signature: unsigned thread_start_thunk(LPVOID vthread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/thread/arch/thread_win.c:39,1
    - Dst: _beginthreadex
      Src: /src/openssl/crypto/thread/arch/thread_win.c:43,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - thread
    argTypes:
    - CRYPTO_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: ossl_crypto_thread_native_spawn
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 1
    functionsReached:
    - _beginthreadex
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_spawn(CRYPTO_THREAD *thread)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/openssl/crypto/thread/arch/thread_win.c:65,1
    - Dst: GetExitCodeThread
      Src: /src/openssl/crypto/thread/arch/thread_win.c:68,1
    - Dst: CloseHandle
      Src: /src/openssl/crypto/thread/arch/thread_win.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - thread
    - retval
    argTypes:
    - CRYPTO_THREAD*
    - CRYPTO_THREAD_RETVAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: ossl_crypto_thread_native_perform_join
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 1
    functionsReached:
    - WaitForSingleObject
    - GetExitCodeThread
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_perform_join(CRYPTO_THREAD *thread, CRYPTO_THREAD_RETVAL
      *retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _endthreadex
      Src: /src/openssl/crypto/thread/arch/thread_win.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: ossl_crypto_thread_native_exit
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 0
    functionsReached:
    - _endthreadex
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_exit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/openssl/crypto/thread/arch/thread_win.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - CRYPTO_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: ossl_crypto_thread_native_is_self
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 0
    functionsReached:
    - GetCurrentThreadId
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_is_self(CRYPTO_THREAD *thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/thread/arch/thread_win.c:101,1
    - Dst: InitializeCriticalSection
      Src: /src/openssl/crypto/thread/arch/thread_win.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: ossl_crypto_mutex_new
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    - InitializeCriticalSection
    linkageType: ''
    returnType: CRYPTO_MUTEX
    signature: CRYPTO_MUTEX *ossl_crypto_mutex_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/openssl/crypto/thread/arch/thread_win.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: ossl_crypto_mutex_lock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 12
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_lock(CRYPTO_MUTEX *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TryEnterCriticalSection
      Src: /src/openssl/crypto/thread/arch/thread_win.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ossl_crypto_mutex_try_lock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 0
    functionsReached:
    - TryEnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_mutex_try_lock(CRYPTO_MUTEX *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/openssl/crypto/thread/arch/thread_win.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: ossl_crypto_mutex_unlock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 12
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_unlock(CRYPTO_MUTEX *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/openssl/crypto/thread/arch/thread_win.c:140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: ossl_crypto_mutex_free
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_free(CRYPTO_MUTEX **mutex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/crypto/thread/arch/thread_win.c:150,1
    - Dst: ossl_time_now
      Src: /src/openssl/crypto/thread/arch/thread_win.c:155,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/crypto/thread/arch/thread_win.c:156,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/crypto/thread/arch/thread_win.c:158,1
    - Dst: ossl_time2ms
      Src: /src/openssl/crypto/thread/arch/thread_win.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - deadline
    - w_timeout_p
    argTypes:
    - OSSL_TIME
    - DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 173
    functionName: determine_timeout
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 0
    functionsReached:
    - ossl_time_is_infinite
    - ossl_time_subtract
    - ossl_time2ms
    - ossl_time_now
    - ossl_time_is_zero
    linkageType: ''
    returnType: int
    signature: int determine_timeout(OSSL_TIME deadline, DWORD *w_timeout_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/thread/arch/thread_win.c:304,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/crypto/thread/arch/thread_win.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:308,1
    - Dst: CreateSemaphoreA
      Src: /src/openssl/crypto/thread/arch/thread_win.c:312,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:314,1
    - Dst: CreateSemaphoreA
      Src: /src/openssl/crypto/thread/arch/thread_win.c:318,1
    - Dst: CloseHandle
      Src: /src/openssl/crypto/thread/arch/thread_win.c:319,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 331
    functionName: ossl_crypto_condvar_new
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 3
    functionsReached:
    - ossl_crypto_mutex_free
    - CloseHandle
    - OPENSSL_free
    - ossl_crypto_mutex_new
    - OPENSSL_malloc
    - CreateSemaphoreA
    linkageType: ''
    returnType: CRYPTO_CONDVAR
    signature: CRYPTO_CONDVAR *ossl_crypto_condvar_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/openssl/crypto/thread/arch/thread_win.c:338,1
    - Dst: CloseHandle
      Src: /src/openssl/crypto/thread/arch/thread_win.c:339,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:340,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cv_p
    argTypes:
    - CRYPTO_CONDVAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 345
    functionName: ossl_crypto_condvar_free
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 5
    functionsReached:
    - ossl_crypto_mutex_free
    - OPENSSL_free
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_free(CRYPTO_CONDVAR **cv_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: determine_timeout
      Src: /src/openssl/crypto/thread/arch/thread_win.c:351,1
    - Dst: WaitForSingleObject
      Src: /src/openssl/crypto/thread/arch/thread_win.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - deadline
    argTypes:
    - HANDLE
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: obj_wait
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    - determine_timeout
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t obj_wait(HANDLE h, OSSL_TIME deadline)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:367,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:397,1
    - Dst: obj_wait
      Src: /src/openssl/crypto/thread/arch/thread_win.c:400,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:411,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:414,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:424,1
    - Dst: obj_wait
      Src: /src/openssl/crypto/thread/arch/thread_win.c:428,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:431,1
    - Dst: ReleaseSemaphore
      Src: /src/openssl/crypto/thread/arch/thread_win.c:450,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:466,1
    - Dst: assert
      Src: /src/openssl/crypto/thread/arch/thread_win.c:473,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:480,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:481,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 3
    argNames:
    - cv_
    - ext_m
    - deadline
    argTypes:
    - CRYPTO_CONDVAR*
    - CRYPTO_MUTEX*
    - OSSL_TIME
    assertStmts:
    - condition: (cv->num_wait > 0)
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/openssl/crypto/thread/arch/thread_win.c
    constantsTouched: []
    func_position:
      end: 482
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 482
    functionName: ossl_crypto_condvar_wait_timeout
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 0
    functionsReached:
    - ReleaseSemaphore
    - obj_wait
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - assert
    linkageType: ''
    returnType: void
    signature: "void ossl_crypto_condvar_wait_timeout(CRYPTO_CONDVAR *cv_, CRYPTO_MUTEX
      *ext_m,\n                                      OSSL_TIME deadline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_condvar_wait_timeout
      Src: /src/openssl/crypto/thread/arch/thread_win.c:486,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/crypto/thread/arch/thread_win.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cv
    - ext_m
    argTypes:
    - CRYPTO_CONDVAR*
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: ossl_crypto_condvar_wait
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 4
    functionsReached:
    - ossl_crypto_condvar_wait_timeout
    - ossl_time_infinite
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_wait(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX *ext_m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:494,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:498,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:506,1
    - Dst: ReleaseSemaphore
      Src: /src/openssl/crypto/thread/arch/thread_win.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cv_
    argTypes:
    - CRYPTO_CONDVAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 508
    functionName: ossl_crypto_condvar_broadcast
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 3
    functionsReached:
    - ReleaseSemaphore
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_broadcast(CRYPTO_CONDVAR *cv_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:514,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:517,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_win.c:528,1
    - Dst: ReleaseSemaphore
      Src: /src/openssl/crypto/thread/arch/thread_win.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cv_
    argTypes:
    - CRYPTO_CONDVAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 530
    functionName: ossl_crypto_condvar_signal
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 3
    functionsReached:
    - ReleaseSemaphore
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_signal(CRYPTO_CONDVAR *cv_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/thread/arch/thread_win.c:538,1
    - Dst: InitializeConditionVariable
      Src: /src/openssl/crypto/thread/arch/thread_win.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 542
    functionName: ossl_crypto_condvar_new
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 3
    functionsReached:
    - InitializeConditionVariable
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CRYPTO_CONDVAR
    signature: CRYPTO_CONDVAR *ossl_crypto_condvar_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SleepConditionVariableCS
      Src: /src/openssl/crypto/thread/arch/thread_win.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cv
    - mutex
    argTypes:
    - CRYPTO_CONDVAR*
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: ossl_crypto_condvar_wait
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 4
    functionsReached:
    - SleepConditionVariableCS
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_wait(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: determine_timeout
      Src: /src/openssl/crypto/thread/arch/thread_win.c:561,1
    - Dst: SleepConditionVariableCS
      Src: /src/openssl/crypto/thread/arch/thread_win.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cv
    - mutex
    - deadline
    argTypes:
    - CRYPTO_CONDVAR*
    - CRYPTO_MUTEX*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 565
    functionName: ossl_crypto_condvar_wait_timeout
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 1
    functionsReached:
    - SleepConditionVariableCS
    - determine_timeout
    linkageType: ''
    returnType: void
    signature: "void ossl_crypto_condvar_wait_timeout(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX
      *mutex,\n                                      OSSL_TIME deadline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeAllConditionVariable
      Src: /src/openssl/crypto/thread/arch/thread_win.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 573
    functionName: ossl_crypto_condvar_broadcast
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 3
    functionsReached:
    - WakeAllConditionVariable
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_broadcast(CRYPTO_CONDVAR *cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WakeConditionVariable
      Src: /src/openssl/crypto/thread/arch/thread_win.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: ossl_crypto_condvar_signal
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 3
    functionsReached:
    - WakeConditionVariable
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_signal(CRYPTO_CONDVAR *cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_win.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 590
    functionName: ossl_crypto_condvar_free
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_free(CRYPTO_CONDVAR **cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemoryBarrier
      Src: /src/openssl/crypto/thread/arch/thread_win.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: ossl_crypto_mem_barrier
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_win.c
    functionUses: 0
    functionsReached:
    - MemoryBarrier
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mem_barrier(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD*::routine
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:25,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:26,1
    - Dst: CRYPTO_THREAD_SET_STATE
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:27,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:29,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - vthread
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 33
    functionName: thread_start_thunk
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_SET_STATE
    - CRYPTO_THREAD*::routine
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_broadcast
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: void
    signature: void *thread_start_thunk(void *vthread)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:41,1
    - Dst: pthread_attr_init
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:45,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:47,1
    - Dst: pthread_create
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:48,1
    - Dst: pthread_attr_destroy
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:49,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - thread
    argTypes:
    - CRYPTO_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 61
    functionName: ossl_crypto_thread_native_spawn
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - pthread_attr_init
    - pthread_attr_destroy
    - pthread_create
    - OPENSSL_free
    - pthread_attr_setdetachstate
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_spawn(CRYPTO_THREAD *thread)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - thread
    - retval
    argTypes:
    - CRYPTO_THREAD*
    - CRYPTO_THREAD_RETVAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: ossl_crypto_thread_native_perform_join
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 1
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_perform_join(CRYPTO_THREAD *thread, CRYPTO_THREAD_RETVAL
      *retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_exit
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: ossl_crypto_thread_native_exit
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 0
    functionsReached:
    - pthread_exit
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_exit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:93,1
    - Dst: pthread_self
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - CRYPTO_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ossl_crypto_thread_native_is_self
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 0
    functionsReached:
    - pthread_equal
    - pthread_self
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_is_self(CRYPTO_THREAD *thread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:100,1
    - Dst: pthread_mutex_init
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:102,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: ossl_crypto_mutex_new
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - pthread_mutex_init
    linkageType: ''
    returnType: CRYPTO_MUTEX
    signature: CRYPTO_MUTEX *ossl_crypto_mutex_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: ossl_crypto_mutex_try_lock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_trylock
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_mutex_try_lock(CRYPTO_MUTEX *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:127,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: ossl_crypto_mutex_lock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 16
    functionsReached:
    - pthread_mutex_lock
    - OPENSSL_assert
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_lock(CRYPTO_MUTEX *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:137,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: ossl_crypto_mutex_unlock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 16
    functionsReached:
    - OPENSSL_assert
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_unlock(CRYPTO_MUTEX *mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: ossl_crypto_mutex_free
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_free(CRYPTO_MUTEX **mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:159,1
    - Dst: pthread_cond_init
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:161,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: ossl_crypto_condvar_new
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - pthread_cond_init
    linkageType: ''
    returnType: CRYPTO_CONDVAR
    signature: CRYPTO_CONDVAR *ossl_crypto_condvar_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_wait
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cv
    - mutex
    argTypes:
    - CRYPTO_CONDVAR*
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: ossl_crypto_condvar_wait
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 4
    functionsReached:
    - pthread_cond_wait
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_wait(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:184,1
    - Dst: pthread_cond_wait
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:190,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:195,1
    - Dst: ossl_time2ticks
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:197,1
    - Dst: pthread_cond_timedwait
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cv
    - mutex
    - deadline
    argTypes:
    - CRYPTO_CONDVAR*
    - CRYPTO_MUTEX*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: ossl_crypto_condvar_wait_timeout
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 1
    functionsReached:
    - ossl_time2ticks
    - pthread_cond_timedwait
    - ossl_time_is_infinite
    - pthread_cond_wait
    - ossl_time2seconds
    linkageType: ''
    returnType: void
    signature: "void ossl_crypto_condvar_wait_timeout(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX
      *mutex,\n                                      OSSL_TIME deadline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_broadcast
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: ossl_crypto_condvar_broadcast
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 4
    functionsReached:
    - pthread_cond_broadcast
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_broadcast(CRYPTO_CONDVAR *cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_signal
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: ossl_crypto_condvar_signal
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 3
    functionsReached:
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_signal(CRYPTO_CONDVAR *cv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_cond_destroy
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:228,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/thread/arch/thread_posix.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: ossl_crypto_condvar_free
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_posix.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_free(CRYPTO_CONDVAR **cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - CRYPTO_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: ossl_crypto_thread_native_spawn
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_spawn(CRYPTO_THREAD *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread
    - retval
    argTypes:
    - CRYPTO_THREAD*
    - CRYPTO_THREAD_RETVAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ossl_crypto_thread_native_perform_join
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_perform_join(CRYPTO_THREAD *thread, CRYPTO_THREAD_RETVAL
      *retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ossl_crypto_thread_native_exit
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_exit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - CRYPTO_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ossl_crypto_thread_native_is_self
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_thread_native_is_self(CRYPTO_THREAD *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ossl_crypto_mutex_new
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CRYPTO_MUTEX
    signature: CRYPTO_MUTEX *ossl_crypto_mutex_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: ossl_crypto_mutex_lock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_lock(CRYPTO_MUTEX *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ossl_crypto_mutex_try_lock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_crypto_mutex_try_lock(CRYPTO_MUTEX *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: ossl_crypto_mutex_unlock
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_unlock(CRYPTO_MUTEX *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - CRYPTO_MUTEX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: ossl_crypto_mutex_free
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_mutex_free(CRYPTO_MUTEX **mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ossl_crypto_condvar_new
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CRYPTO_CONDVAR
    signature: CRYPTO_CONDVAR *ossl_crypto_condvar_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cv
    - mutex
    argTypes:
    - CRYPTO_CONDVAR*
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: ossl_crypto_condvar_wait
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_wait(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - cv
    - mutex
    - deadline
    argTypes:
    - CRYPTO_CONDVAR*
    - CRYPTO_MUTEX*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ossl_crypto_condvar_wait_timeout
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_crypto_condvar_wait_timeout(CRYPTO_CONDVAR *cv, CRYPTO_MUTEX
      *mutex,\n                                      OSSL_TIME deadline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: ossl_crypto_condvar_broadcast
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_broadcast(CRYPTO_CONDVAR *cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: ossl_crypto_condvar_signal
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_signal(CRYPTO_CONDVAR *cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cv
    argTypes:
    - CRYPTO_CONDVAR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: ossl_crypto_condvar_free
    functionSourceFile: /src/openssl/crypto/thread/arch/thread_none.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_crypto_condvar_free(CRYPTO_CONDVAR **cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/objects/obj_dat.c:53,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/objects/obj_dat.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: objs_free_locks
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline objs_free_locks(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/objects/obj_dat.c:63,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/objects/obj_dat.c:68,1
    - Dst: objs_free_locks
      Src: /src/openssl/crypto/objects/obj_dat.c:70,1
    - Dst: lh_ADDED_OBJ_new
      Src: /src/openssl/crypto/objects/obj_dat.c:74,1
    - Dst: objs_free_locks
      Src: /src/openssl/crypto/objects/obj_dat.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - lh_ADDED_OBJ_new
    - objs_free_locks
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(obj_api_initialise)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/crypto/objects/obj_dat.c:87,1
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/objects/obj_dat.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: ossl_init_added_api
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_init_added_api(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_init_added_api
      Src: /src/openssl/crypto/objects/obj_dat.c:94,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: ossl_obj_write_lock
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - ossl_init_added_api
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_obj_write_lock(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_init_added_api
      Src: /src/openssl/crypto/objects/obj_dat.c:101,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: ossl_obj_read_lock
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - ossl_init_added_api
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_obj_read_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: ossl_obj_unlock
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_obj_unlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: sn_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int sn_cmp(const ASN1_OBJECT *const *a, const unsigned int *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: ln_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ln_cmp(const ASN1_OBJECT *const *a, const unsigned int *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/objects/obj_dat.c:141,1
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/crypto/objects/obj_dat.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ca
    argTypes:
    - ADDED_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 156
    functionName: added_obj_hash
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long added_obj_hash(const ADDED_OBJ *ca)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:173,1
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:180,1
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ca
    - cb
    argTypes:
    - ADDED_OBJ*
    - ADDED_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 194
    functionName: added_obj_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - strcmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: int added_obj_cmp(const ADDED_OBJ *ca, const ADDED_OBJ *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADDED_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: cleanup1_doall
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup1_doall(ADDED_OBJ *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADDED_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: cleanup2_doall
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup2_doall(ADDED_OBJ *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_dat.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_dat.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - ADDED_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: cleanup3_doall
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: void cleanup3_doall(ADDED_OBJ *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_ADDED_OBJ_set_down_load
      Src: /src/openssl/crypto/objects/obj_dat.c:218,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/openssl/crypto/objects/obj_dat.c:219,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/openssl/crypto/objects/obj_dat.c:220,1
    - Dst: lh_ADDED_OBJ_doall
      Src: /src/openssl/crypto/objects/obj_dat.c:221,1
    - Dst: lh_ADDED_OBJ_free
      Src: /src/openssl/crypto/objects/obj_dat.c:222,1
    - Dst: objs_free_locks
      Src: /src/openssl/crypto/objects/obj_dat.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: ossl_obj_cleanup_int
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 1
    functionsReached:
    - lh_ADDED_OBJ_doall
    - lh_ADDED_OBJ_set_down_load
    - objs_free_locks
    - lh_ADDED_OBJ_free
    linkageType: ''
    returnType: void
    signature: void ossl_obj_cleanup_int(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_obj_write_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:234,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:237,1
    - Dst: tsan_add
      Src: /src/openssl/crypto/objects/obj_dat.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: OBJ_new_nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - ossl_obj_unlock
    - tsan_add
    - ossl_obj_write_lock
    linkageType: ''
    returnType: int
    signature: int OBJ_new_nid(int num)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_obj_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:257,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:260,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:261,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 267
    functionName: OBJ_nid2obj
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 98
    functionsReached:
    - lh_ADDED_OBJ_retrieve
    - ERR_raise
    - ossl_obj_read_lock
    - ossl_obj_unlock
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *OBJ_nid2obj(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/objects/obj_dat.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: OBJ_nid2sn
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 38
    functionsReached:
    - OBJ_nid2obj
    linkageType: ''
    returnType: char
    signature: char *OBJ_nid2sn(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/objects/obj_dat.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: OBJ_nid2ln
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 17
    functionsReached:
    - OBJ_nid2obj
    linkageType: ''
    returnType: char
    signature: char *OBJ_nid2ln(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/objects/obj_dat.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - ASN1_OBJECT**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: obj_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int obj_cmp(const ASN1_OBJECT *const *ap, const unsigned int *bp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_obj
      Src: /src/openssl/crypto/objects/obj_dat.c:312,1
    - Dst: ossl_obj_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:315,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:316,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:321,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 326
    functionName: ossl_obj_obj2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_obj_read_lock
    - lh_ADDED_OBJ_retrieve
    - OBJ_bsearch_obj
    - ossl_obj_unlock
    linkageType: ''
    returnType: int
    signature: int ossl_obj_obj2nid(const ASN1_OBJECT *a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:344,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:345,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/objects/obj_dat.c:346,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/objects/obj_dat.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:349,1
    - Dst: a2d_ASN1_OBJECT
      Src: /src/openssl/crypto/objects/obj_dat.c:355,1
    - Dst: ASN1_object_size
      Src: /src/openssl/crypto/objects/obj_dat.c:360,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:364,1
    - Dst: ASN1_put_object
      Src: /src/openssl/crypto/objects/obj_dat.c:369,1
    - Dst: a2d_ASN1_OBJECT
      Src: /src/openssl/crypto/objects/obj_dat.c:371,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/openssl/crypto/objects/obj_dat.c:374,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_dat.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - s
    - no_name
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 334
    functionDepth: 6
    functionLinenumber: 334
    functionLinenumberEnd: 377
    functionName: OBJ_txt2obj
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 15
    functionsReached:
    - OBJ_sn2nid
    - ERR_raise
    - OBJ_ln2nid
    - ASN1_put_object
    - ossl_isdigit
    - OPENSSL_free
    - ASN1_object_size
    - OBJ_nid2obj
    - d2i_ASN1_OBJECT
    - a2d_ASN1_OBJECT
    - OPENSSL_malloc
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_SIZE
      Src: /src/openssl/crypto/objects/obj_dat.c:385,1
    - Dst: DECIMAL_SIZE
      Src: /src/openssl/crypto/objects/obj_dat.c:385,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:395,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/crypto/objects/obj_dat.c:396,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/crypto/objects/obj_dat.c:398,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/objects/obj_dat.c:401,1
    - Dst: strlen
      Src: /src/openssl/crypto/objects/obj_dat.c:402,1
    - Dst: BN_add_word
      Src: /src/openssl/crypto/objects/obj_dat.c:441,1
    - Dst: BN_new
      Src: /src/openssl/crypto/objects/obj_dat.c:449,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/objects/obj_dat.c:451,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/objects/obj_dat.c:456,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/objects/obj_dat.c:468,1
    - Dst: BN_bn2dec
      Src: /src/openssl/crypto/objects/obj_dat.c:487,1
    - Dst: strlen
      Src: /src/openssl/crypto/objects/obj_dat.c:490,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/objects/obj_dat.c:497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_dat.c:508,1
    - Dst: BIO_snprintf
      Src: /src/openssl/crypto/objects/obj_dat.c:510,1
    - Dst: strlen
      Src: /src/openssl/crypto/objects/obj_dat.c:511,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/objects/obj_dat.c:513,1
    - Dst: BN_free
      Src: /src/openssl/crypto/objects/obj_dat.c:527,1
    - Dst: BN_free
      Src: /src/openssl/crypto/objects/obj_dat.c:531,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 125
    argCount: 4
    argNames:
    - buf
    - buf_len
    - a
    - no_name
    argTypes:
    - char*
    - int
    - ASN1_OBJECT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 379
    functionDepth: 6
    functionLinenumber: 379
    functionLinenumberEnd: 533
    functionName: OBJ_obj2txt
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 38
    functionsReached:
    - BN_bn2dec
    - OPENSSL_strlcpy
    - OBJ_nid2sn
    - BN_set_word
    - BIO_snprintf
    - OPENSSL_free
    - DECIMAL_SIZE
    - BN_sub_word
    - BN_new
    - BN_add_word
    - OBJ_nid2ln
    - strlen
    - BN_free
    - OBJ_obj2nid
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/objects/obj_dat.c:537,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:541,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_dat.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 7
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: OBJ_txt2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 7
    functionsReached:
    - OBJ_txt2obj
    - OBJ_obj2nid
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int OBJ_txt2nid(const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ln
      Src: /src/openssl/crypto/objects/obj_dat.c:556,1
    - Dst: ossl_obj_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:560,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:565,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 570
    functionName: OBJ_ln2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 5
    functionsReached:
    - OBJ_bsearch_ln
    - ERR_raise
    - ossl_obj_read_lock
    - lh_ADDED_OBJ_retrieve
    - ossl_obj_unlock
    linkageType: ''
    returnType: int
    signature: int OBJ_ln2nid(const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_sn
      Src: /src/openssl/crypto/objects/obj_dat.c:581,1
    - Dst: ossl_obj_read_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:584,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:585,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:590,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 595
    functionName: OBJ_sn2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 8
    functionsReached:
    - OBJ_bsearch_sn
    - ERR_raise
    - ossl_obj_read_lock
    - lh_ADDED_OBJ_retrieve
    - ossl_obj_unlock
    linkageType: ''
    returnType: int
    signature: int OBJ_sn2nid(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ex_
      Src: /src/openssl/crypto/objects/obj_dat.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - base
    - num
    - size
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 601
    functionName: OBJ_bsearch_
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - OBJ_bsearch_ex_
    linkageType: ''
    returnType: void
    signature: "void *OBJ_bsearch_(const void *key, const void *base, int num, int
      size,\n                         int (*cmp) (const void *, const void *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bsearch
      Src: /src/openssl/crypto/objects/obj_dat.c:608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - key
    - base
    - num
    - size
    - flags
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 631
    functionName: OBJ_bsearch_ex_
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 1
    functionsReached:
    - ossl_bsearch
    linkageType: ''
    returnType: void
    signature: "void *OBJ_bsearch_ex_(const void *key, const void *base, int num,\n
      \                           int size,\n                            int (*cmp)
      (const void *, const void *),\n                            int flags)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/crypto/objects/obj_dat.c:645,1
    - Dst: ossl_isalnum
      Src: /src/openssl/crypto/objects/obj_dat.c:649,1
    - Dst: ossl_isdigit
      Src: /src/openssl/crypto/objects/obj_dat.c:652,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/objects/obj_dat.c:656,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/objects/obj_dat.c:662,1
    - Dst: ossl_isspace
      Src: /src/openssl/crypto/objects/obj_dat.c:666,1
    - Dst: OBJ_create
      Src: /src/openssl/crypto/objects/obj_dat.c:680,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - in
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 684
    functionName: OBJ_create_objects
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 0
    functionsReached:
    - OBJ_create
    - BIO_gets
    - ossl_isspace
    - ossl_isdigit
    - ossl_isalnum
    linkageType: ''
    returnType: int
    signature: int OBJ_create_objects(BIO *in)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:693,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:698,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:699,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:700,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/crypto/objects/obj_dat.c:706,1
    - Dst: ASN1_OBJECT_new
      Src: /src/openssl/crypto/objects/obj_dat.c:711,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:713,1
    - Dst: ossl_obj_obj2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:720,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:721,1
    - Dst: OBJ_new_nid
      Src: /src/openssl/crypto/objects/obj_dat.c:725,1
    - Dst: OBJ_add_object
      Src: /src/openssl/crypto/objects/obj_dat.c:733,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_dat.c:739,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - oid
    - sn
    - ln
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 686
    functionDepth: 7
    functionLinenumber: 686
    functionLinenumberEnd: 741
    functionName: OBJ_create
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 3
    functionsReached:
    - OBJ_sn2nid
    - ERR_raise
    - ASN1_OBJECT_new
    - OBJ_ln2nid
    - ASN1_OBJECT_free
    - OBJ_new_nid
    - OBJ_txt2obj
    - OBJ_add_object
    - ossl_obj_obj2nid
    linkageType: ''
    returnType: int
    signature: int OBJ_create(const char *oid, const char *sn, const char *ln)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: OBJ_length
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OBJ_length(const ASN1_OBJECT *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 755
    functionName: OBJ_get0_data
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_dup
      Src: /src/openssl/crypto/objects/obj_dat.c:763,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:765,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:768,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:770,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_dat.c:772,1
    - Dst: ossl_obj_write_lock
      Src: /src/openssl/crypto/objects/obj_dat.c:775,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:776,1
    - Dst: lh_ADDED_OBJ_retrieve
      Src: /src/openssl/crypto/objects/obj_dat.c:784,1
    - Dst: lh_ADDED_OBJ_insert
      Src: /src/openssl/crypto/objects/obj_dat.c:787,1
    - Dst: lh_ADDED_OBJ_error
      Src: /src/openssl/crypto/objects/obj_dat.c:788,1
    - Dst: lh_ADDED_OBJ_delete
      Src: /src/openssl/crypto/objects/obj_dat.c:792,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_dat.c:796,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:805,1
    - Dst: ossl_obj_unlock
      Src: /src/openssl/crypto/objects/obj_dat.c:809,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_dat.c:812,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_dat.c:813,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 757
    functionDepth: 4
    functionLinenumber: 757
    functionLinenumberEnd: 815
    functionName: OBJ_add_object
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 1
    functionsReached:
    - OBJ_dup
    - ERR_raise
    - lh_ADDED_OBJ_delete
    - ossl_obj_write_lock
    - OPENSSL_free
    - lh_ADDED_OBJ_insert
    - lh_ADDED_OBJ_retrieve
    - ossl_obj_unlock
    - lh_ADDED_OBJ_error
    - OPENSSL_malloc
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int OBJ_add_object(const ASN1_OBJECT *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_obj_obj2nid
      Src: /src/openssl/crypto/objects/obj_dat.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 817
    functionDepth: 5
    functionLinenumber: 817
    functionLinenumberEnd: 820
    functionName: OBJ_obj2nid
    functionSourceFile: /src/openssl/crypto/objects/obj_dat.c
    functionUses: 139
    functionsReached:
    - ossl_obj_obj2nid
    linkageType: ''
    returnType: int
    signature: int OBJ_obj2nid(const ASN1_OBJECT *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/objects/obj_err.c:30,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/objects/obj_err.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: ossl_err_load_OBJ_strings
    functionSourceFile: /src/openssl/crypto/objects/obj_err.c
    functionUses: 1
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_OBJ_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - nid_triple*
    - nid_triple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: sig_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sig_cmp(const nid_triple *a, const nid_triple *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - nid_triple**
    - nid_triple**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: sig_sk_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sig_sk_cmp(const nid_triple *const *a, const nid_triple *const
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - nid_triple**
    - nid_triple**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: sigx_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sigx_cmp(const nid_triple *const *a, const nid_triple *const *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/objects/obj_xref.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(o_sig_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/objects/obj_xref.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: obj_sig_init
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline obj_sig_init(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_sig
      Src: /src/openssl/crypto/objects/obj_xref.c:77,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/objects/obj_xref.c:77,1
    - Dst: obj_sig_init
      Src: /src/openssl/crypto/objects/obj_xref.c:79,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/objects/obj_xref.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_xref.c:82,1
    - Dst: sk_nid_triple_find
      Src: /src/openssl/crypto/objects/obj_xref.c:86,1
    - Dst: sk_nid_triple_value
      Src: /src/openssl/crypto/objects/obj_xref.c:88,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/obj_xref.c:91,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - signid
    - pdig_nid
    - ppkey_nid
    - lock
    argTypes:
    - int
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: ossl_obj_find_sigid_algs
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sk_nid_triple_find
    - CRYPTO_THREAD_read_lock
    - OSSL_NELEM
    - sk_nid_triple_value
    - CRYPTO_THREAD_unlock
    - OBJ_bsearch_sig
    - obj_sig_init
    linkageType: ''
    returnType: int
    signature: "int ossl_obj_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid,\n
      \                                   int lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_obj_find_sigid_algs
      Src: /src/openssl/crypto/objects/obj_xref.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - signid
    - pdig_nid
    - ppkey_nid
    argTypes:
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: OBJ_find_sigid_algs
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 10
    functionsReached:
    - ossl_obj_find_sigid_algs
    linkageType: ''
    returnType: int
    signature: int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_sigx
      Src: /src/openssl/crypto/objects/obj_xref.c:122,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/objects/obj_xref.c:122,1
    - Dst: obj_sig_init
      Src: /src/openssl/crypto/objects/obj_xref.c:124,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/objects/obj_xref.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_xref.c:127,1
    - Dst: sk_nid_triple_find
      Src: /src/openssl/crypto/objects/obj_xref.c:131,1
    - Dst: sk_nid_triple_value
      Src: /src/openssl/crypto/objects/obj_xref.c:133,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/obj_xref.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - psignid
    - dig_nid
    - pkey_nid
    argTypes:
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 145
    functionName: OBJ_find_sigid_by_algs
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 4
    functionsReached:
    - OBJ_bsearch_sigx
    - ERR_raise
    - sk_nid_triple_find
    - CRYPTO_THREAD_read_lock
    - OSSL_NELEM
    - sk_nid_triple_value
    - CRYPTO_THREAD_unlock
    - obj_sig_init
    linkageType: ''
    returnType: int
    signature: int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: obj_sig_init
      Src: /src/openssl/crypto/objects/obj_xref.c:155,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/obj_xref.c:158,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/obj_xref.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_xref.c:165,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_xref.c:166,1
    - Dst: ossl_obj_find_sigid_algs
      Src: /src/openssl/crypto/objects/obj_xref.c:171,1
    - Dst: sk_nid_triple_new
      Src: /src/openssl/crypto/objects/obj_xref.c:177,1
    - Dst: sk_nid_triple_new
      Src: /src/openssl/crypto/objects/obj_xref.c:182,1
    - Dst: sk_nid_triple_push
      Src: /src/openssl/crypto/objects/obj_xref.c:191,1
    - Dst: sk_nid_triple_push
      Src: /src/openssl/crypto/objects/obj_xref.c:193,1
    - Dst: sk_nid_triple_sort
      Src: /src/openssl/crypto/objects/obj_xref.c:198,1
    - Dst: sk_nid_triple_sort
      Src: /src/openssl/crypto/objects/obj_xref.c:199,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_xref.c:204,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/obj_xref.c:205,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - signid
    - dig_id
    - pkey_id
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 207
    functionName: OBJ_add_sigid
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - sk_nid_triple_sort
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - sk_nid_triple_new
    - sk_nid_triple_push
    - obj_sig_init
    - ossl_obj_find_sigid_algs
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int OBJ_add_sigid(int signid, int dig_id, int pkey_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/obj_xref.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tt
    argTypes:
    - nid_triple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: sid_free
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void sid_free(nid_triple *tt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_nid_triple_pop_free
      Src: /src/openssl/crypto/objects/obj_xref.c:216,1
    - Dst: sk_nid_triple_free
      Src: /src/openssl/crypto/objects/obj_xref.c:217,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/objects/obj_xref.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: OBJ_sigid_free
    functionSourceFile: /src/openssl/crypto/objects/obj_xref.c
    functionUses: 1
    functionsReached:
    - sk_nid_triple_free
    - CRYPTO_THREAD_lock_free
    - sk_nid_triple_pop_free
    linkageType: ''
    returnType: void
    signature: void OBJ_sigid_free(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/objects/o_names.c:53,1
    - Dst: lh_OBJ_NAME_new
      Src: /src/openssl/crypto/objects/o_names.c:55,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/objects/o_names.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_lock_new
    - lh_OBJ_NAME_new
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(o_names_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/crypto/objects/o_names.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: OBJ_NAME_init
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: int OBJ_NAME_init(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_init
      Src: /src/openssl/crypto/objects/o_names.c:75,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/o_names.c:78,1
    - Dst: sk_NAME_FUNCS_new_null
      Src: /src/openssl/crypto/objects/o_names.c:82,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/openssl/crypto/objects/o_names.c:89,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/objects/o_names.c:90,1
    - Dst: sk_NAME_FUNCS_push
      Src: /src/openssl/crypto/objects/o_names.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/o_names.c:100,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:101,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:106,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/o_names.c:115,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 117
    functionName: OBJ_NAME_new_index
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - sk_NAME_FUNCS_new_null
    - ERR_raise
    - sk_NAME_FUNCS_value
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - OBJ_NAME_init
    - sk_NAME_FUNCS_push
    - sk_NAME_FUNCS_num
    linkageType: ''
    returnType: int
    signature: "int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *),\n
      \                      int (*cmp_func) (const char *, const char *),\n                       void
      (*free_func) (const char *, int, const char *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_NAME_FUNCS_num
      Src: /src/openssl/crypto/objects/o_names.c:126,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:127,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/objects/o_names.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OBJ_NAME*
    - OBJ_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: obj_name_cmp
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - sk_NAME_FUNCS_value
    - OPENSSL_strcasecmp
    - sk_NAME_FUNCS_num
    linkageType: ''
    returnType: int
    signature: int obj_name_cmp(const OBJ_NAME *a, const OBJ_NAME *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_NAME_FUNCS_num
      Src: /src/openssl/crypto/objects/o_names.c:140,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:142,1
    - Dst: ossl_lh_strcasehash
      Src: /src/openssl/crypto/objects/o_names.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - OBJ_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: obj_name_hash
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - sk_NAME_FUNCS_value
    - ossl_lh_strcasehash
    - sk_NAME_FUNCS_num
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long obj_name_hash(const OBJ_NAME *a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_init
      Src: /src/openssl/crypto/objects/o_names.c:159,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/objects/o_names.c:161,1
    - Dst: lh_OBJ_NAME_retrieve
      Src: /src/openssl/crypto/objects/o_names.c:171,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/o_names.c:184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 186
    functionName: OBJ_NAME_get
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 8
    functionsReached:
    - OBJ_NAME_init
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_read_lock
    - lh_OBJ_NAME_retrieve
    linkageType: ''
    returnType: char
    signature: char *OBJ_NAME_get(const char *name, int type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_init
      Src: /src/openssl/crypto/objects/o_names.c:193,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/objects/o_names.c:199,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/o_names.c:208,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:209,1
    - Dst: lh_OBJ_NAME_insert
      Src: /src/openssl/crypto/objects/o_names.c:213,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/openssl/crypto/objects/o_names.c:217,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:226,1
    - Dst: lh_OBJ_NAME_error
      Src: /src/openssl/crypto/objects/o_names.c:228,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:230,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/o_names.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - name
    - type
    - data
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 240
    functionName: OBJ_NAME_add
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 2
    functionsReached:
    - sk_NAME_FUNCS_value
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - lh_OBJ_NAME_insert
    - lh_OBJ_NAME_error
    - OBJ_NAME_init
    - OPENSSL_malloc
    - sk_NAME_FUNCS_num
    linkageType: ''
    returnType: int
    signature: int OBJ_NAME_add(const char *name, int type, const char *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_init
      Src: /src/openssl/crypto/objects/o_names.c:247,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/objects/o_names.c:250,1
    - Dst: lh_OBJ_NAME_delete
      Src: /src/openssl/crypto/objects/o_names.c:256,1
    - Dst: sk_NAME_FUNCS_num
      Src: /src/openssl/crypto/objects/o_names.c:260,1
    - Dst: sk_NAME_FUNCS_value
      Src: /src/openssl/crypto/objects/o_names.c:265,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:269,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/objects/o_names.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 275
    functionName: OBJ_NAME_remove
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - sk_NAME_FUNCS_value
    - lh_OBJ_NAME_delete
    - CRYPTO_THREAD_write_lock
    - OPENSSL_free
    - CRYPTO_THREAD_unlock
    - OBJ_NAME_init
    - sk_NAME_FUNCS_num
    linkageType: ''
    returnType: int
    signature: int OBJ_NAME_remove(const char *name, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_DOALL*::fn
      Src: /src/openssl/crypto/objects/o_names.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - name
    - d
    argTypes:
    - OBJ_NAME*
    - OBJ_DOALL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: do_all_fn
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - OBJ_DOALL*::fn
    linkageType: ''
    returnType: void
    signature: void do_all_fn(const OBJ_NAME *name, OBJ_DOALL *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_OBJ_NAME_doall_OBJ_DOALL
      Src: /src/openssl/crypto/objects/o_names.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - type
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: OBJ_NAME_do_all
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 3
    functionsReached:
    - lh_OBJ_NAME_doall_OBJ_DOALL
    linkageType: ''
    returnType: void
    signature: "void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void
      *arg),\n                     void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - d_
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: do_all_sorted_fn
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_all_sorted_fn(const OBJ_NAME *name, void *d_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/crypto/objects/o_names.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n1_
    - n2_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: do_all_sorted_cmp
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int do_all_sorted_cmp(const void *n1_, const void *n2_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/crypto/objects/o_names.c:336,1
    - Dst: lh_OBJ_NAME_num_items
      Src: /src/openssl/crypto/objects/o_names.c:336,1
    - Dst: OBJ_NAME_do_all
      Src: /src/openssl/crypto/objects/o_names.c:340,1
    - Dst: qsort
      Src: /src/openssl/crypto/objects/o_names.c:342,1
    - Dst: fn
      Src: /src/openssl/crypto/objects/o_names.c:345,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - type
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 349
    functionName: OBJ_NAME_do_all_sorted
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 2
    functionsReached:
    - fn
    - lh_OBJ_NAME_num_items
    - OPENSSL_malloc_array
    - OBJ_NAME_do_all
    - OPENSSL_free
    - qsort
    linkageType: ''
    returnType: void
    signature: "void OBJ_NAME_do_all_sorted(int type,\n                            void
      (*fn) (const OBJ_NAME *, void *arg),\n                            void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_NAME_remove
      Src: /src/openssl/crypto/objects/o_names.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - onp
    argTypes:
    - OBJ_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: names_lh_free_doall
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - OBJ_NAME_remove
    linkageType: ''
    returnType: void
    signature: void names_lh_free_doall(OBJ_NAME *onp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/objects/o_names.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - NAME_FUNCS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: name_funcs_free
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void name_funcs_free(NAME_FUNCS *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lh_OBJ_NAME_get_down_load
      Src: /src/openssl/crypto/objects/o_names.c:375,1
    - Dst: lh_OBJ_NAME_set_down_load
      Src: /src/openssl/crypto/objects/o_names.c:376,1
    - Dst: lh_OBJ_NAME_doall
      Src: /src/openssl/crypto/objects/o_names.c:378,1
    - Dst: lh_OBJ_NAME_free
      Src: /src/openssl/crypto/objects/o_names.c:380,1
    - Dst: sk_NAME_FUNCS_pop_free
      Src: /src/openssl/crypto/objects/o_names.c:381,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/objects/o_names.c:382,1
    - Dst: lh_OBJ_NAME_set_down_load
      Src: /src/openssl/crypto/objects/o_names.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 388
    functionName: OBJ_NAME_cleanup
    functionSourceFile: /src/openssl/crypto/objects/o_names.c
    functionUses: 1
    functionsReached:
    - sk_NAME_FUNCS_pop_free
    - lh_OBJ_NAME_doall
    - CRYPTO_THREAD_lock_free
    - lh_OBJ_NAME_free
    - lh_OBJ_NAME_get_down_load
    - lh_OBJ_NAME_set_down_load
    linkageType: ''
    returnType: void
    signature: void OBJ_NAME_cleanup(int type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_new
      Src: /src/openssl/crypto/objects/obj_lib.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/objects/obj_lib.c:28,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/objects/obj_lib.c:38,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/objects/obj_lib.c:44,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/objects/obj_lib.c:47,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/crypto/objects/obj_lib.c:52,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - o
    argTypes:
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 54
    functionName: OBJ_dup
    functionSourceFile: /src/openssl/crypto/objects/obj_lib.c
    functionUses: 19
    functionsReached:
    - ERR_raise
    - ASN1_OBJECT_new
    - OPENSSL_memdup
    - OPENSSL_strdup
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/objects/obj_lib.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ASN1_OBJECT*
    - ASN1_OBJECT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: OBJ_cmp
    functionSourceFile: /src/openssl/crypto/objects/obj_lib.c
    functionUses: 18
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_new_intern
      Src: /src/openssl/crypto/rsa/rsa_lib.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: RSA_new
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - rsa_new_intern
    linkageType: ''
    returnType: RSA
    signature: RSA *RSA_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: RSA_get_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD
    signature: RSA_METHOD *RSA_get_method(const RSA *rsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_METHOD*::finish
      Src: /src/openssl/crypto/rsa/rsa_lib.c:54,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/rsa/rsa_lib.c:56,1
    - Dst: RSA_METHOD*::init
      Src: /src/openssl/crypto/rsa/rsa_lib.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rsa
    - meth
    argTypes:
    - RSA*
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: RSA_set_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - RSA_METHOD*::finish
    - RSA_METHOD*::init
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: int RSA_set_method(RSA *rsa, const RSA_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_new_intern
      Src: /src/openssl/crypto/rsa/rsa_lib.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: RSA_new_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - rsa_new_intern
    linkageType: ''
    returnType: RSA
    signature: RSA *RSA_new_method(ENGINE *engine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_new_intern
      Src: /src/openssl/crypto/rsa/rsa_lib.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: ossl_rsa_new_with_ctx
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - rsa_new_intern
    linkageType: ''
    returnType: RSA
    signature: RSA *ossl_rsa_new_with_ctx(OSSL_LIB_CTX *libctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_lib.c:78,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/crypto/rsa/rsa_lib.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:85,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:86,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:90,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:91,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:92,1
    - Dst: ossl_rsa_alloc_blinding
      Src: /src/openssl/crypto/rsa/rsa_lib.c:96,1
    - Dst: RSA_get_default_method
      Src: /src/openssl/crypto/rsa/rsa_lib.c:101,1
    - Dst: ENGINE_init
      Src: /src/openssl/crypto/rsa/rsa_lib.c:105,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:106,1
    - Dst: ENGINE_get_default_RSA
      Src: /src/openssl/crypto/rsa/rsa_lib.c:111,1
    - Dst: ENGINE_get_RSA
      Src: /src/openssl/crypto/rsa/rsa_lib.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:116,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/crypto/rsa/rsa_lib.c:124,1
    - Dst: RSA*::meth::init
      Src: /src/openssl/crypto/rsa/rsa_lib.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:130,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:137,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - engine
    - libctx
    argTypes:
    - ENGINE*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 139
    functionName: rsa_new_intern
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 3
    functionsReached:
    - ossl_rsa_alloc_blinding
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ENGINE_get_RSA
    - ERR_raise
    - RSA_free
    - CRYPTO_THREAD_lock_free
    - ENGINE_init
    - CRYPTO_new_ex_data
    - OPENSSL_free
    - CRYPTO_THREAD_lock_new
    - RSA_get_default_method
    - RSA*::meth::init
    - ENGINE_get_default_RSA
    linkageType: ''
    returnType: RSA
    signature: RSA *rsa_new_intern(ENGINE *engine, OSSL_LIB_CTX *libctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:148,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/rsa/rsa_lib.c:149,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/rsa/rsa_lib.c:152,1
    - Dst: RSA*::meth::finish
      Src: /src/openssl/crypto/rsa/rsa_lib.c:155,1
    - Dst: ENGINE_finish
      Src: /src/openssl/crypto/rsa/rsa_lib.c:157,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/crypto/rsa/rsa_lib.c:161,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:164,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:165,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:168,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:169,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:171,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:172,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:174,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:175,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:176,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:177,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:178,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:179,1
    - Dst: ossl_rsa_acvp_test_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:182,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:186,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:187,1
    - Dst: ossl_rsa_free_blinding
      Src: /src/openssl/crypto/rsa/rsa_lib.c:189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 191
    functionName: RSA_free
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 7
    functionsReached:
    - ossl_rsa_acvp_test_free
    - REF_PRINT_COUNT
    - CRYPTO_THREAD_lock_free
    - RSA*::meth::finish
    - BN_clear_free
    - ossl_rsa_free_blinding
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - ENGINE_finish
    - CRYPTO_free_ex_data
    - RSA_PSS_PARAMS_free
    - sk_RSA_PRIME_INFO_pop_free
    - OPENSSL_free
    - BN_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void RSA_free(RSA *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:197,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/crypto/rsa/rsa_lib.c:200,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/crypto/rsa/rsa_lib.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: RSA_up_ref
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int RSA_up_ref(RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: ossl_rsa_get0_libctx
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_rsa_get0_libctx(RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - libctx
    argTypes:
    - RSA*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: ossl_rsa_set0_libctx
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rsa_set0_libctx(RSA *r, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/crypto/rsa/rsa_lib.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - idx
    - arg
    argTypes:
    - RSA*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: RSA_set_ex_data
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int RSA_set_ex_data(RSA *r, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/crypto/rsa/rsa_lib.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - idx
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: RSA_get_ex_data
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 3
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *RSA_get_ex_data(const RSA *r, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: mul2
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline mul2(uint64_t a, uint64_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: icbrt64
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t icbrt64(uint64_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mul2
      Src: /src/openssl/crypto/rsa/rsa_lib.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 307
    functionName: ilog_e
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - mul2
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ilog_e(uint64_t v)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ilog_e
      Src: /src/openssl/crypto/rsa/rsa_lib.c:378,1
    - Dst: mul2
      Src: /src/openssl/crypto/rsa/rsa_lib.c:379,1
    - Dst: icbrt64
      Src: /src/openssl/crypto/rsa/rsa_lib.c:379,1
    - Dst: mul2
      Src: /src/openssl/crypto/rsa/rsa_lib.c:379,1
    - Dst: mul2
      Src: /src/openssl/crypto/rsa/rsa_lib.c:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 385
    functionName: ossl_ifc_ffc_compute_security_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - ilog_e
    - icbrt64
    - mul2
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ossl_ifc_ffc_compute_security_bits(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:391,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:396,1
    - Dst: ossl_rsa_multip_cap
      Src: /src/openssl/crypto/rsa/rsa_lib.c:398,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: RSA_security_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - sk_RSA_PRIME_INFO_num
    - ossl_ifc_ffc_compute_security_bits
    - BN_num_bits
    - ossl_rsa_multip_cap
    linkageType: ''
    returnType: int
    signature: int RSA_security_bits(const RSA *rsa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:416,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:420,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:424,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - r
    - n
    - e
    - d
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 431
    functionName: RSA_set0_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - BN_clear_free
    - BN_free
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:443,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:445,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:448,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 455
    functionName: RSA_set0_factors
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - BN_clear_free
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:468,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:470,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:473,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:475,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:478,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:480,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - r
    - dmp1
    - dmq1
    - iqmp
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 485
    functionName: RSA_set0_crt_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - BN_clear_free
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM
      *iqmp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:495,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/openssl/crypto/rsa/rsa_lib.c:502,1
    - Dst: ossl_rsa_multip_info_new
      Src: /src/openssl/crypto/rsa/rsa_lib.c:510,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:514,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:515,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:516,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:520,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:521,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_lib.c:522,1
    - Dst: ossl_rsa_multip_info_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:524,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/openssl/crypto/rsa/rsa_lib.c:527,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/openssl/crypto/rsa/rsa_lib.c:532,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:544,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:553,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 5
    argNames:
    - r
    - primes
    - exps
    - coeffs
    - pnum
    argTypes:
    - RSA*
    - BIGNUM*[]
    - BIGNUM*[]
    - BIGNUM*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 555
    functionName: RSA_set0_multi_prime_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_multip_calc_product
    - BN_clear_free
    - ossl_rsa_multip_info_new
    - STACK_OF
    - sk_RSA_PRIME_INFO_new_reserve
    - sk_RSA_PRIME_INFO_pop_free
    - ossl_rsa_multip_info_free
    - sk_RSA_PRIME_INFO_push
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: "int RSA_set0_multi_prime_params(RSA *r, BIGNUM *primes[], BIGNUM *exps[],\n
      \                               BIGNUM *coeffs[], int pnum)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - r
    - n
    - e
    - d
    argTypes:
    - RSA*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: RSA_get0_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RSA_get0_key(const RSA *r,\n                  const BIGNUM **n,
      const BIGNUM **e, const BIGNUM **d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - p
    - q
    argTypes:
    - RSA*
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 575
    functionName: RSA_get0_factors
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM
      **q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 586
    functionName: RSA_get_multi_prime_extra_count
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 3
    functionsReached:
    - sk_RSA_PRIME_INFO_num
    linkageType: ''
    returnType: int
    signature: int RSA_get_multi_prime_extra_count(const RSA *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/openssl/crypto/rsa/rsa_lib.c:593,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - primes
    argTypes:
    - RSA*
    - BIGNUM*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 606
    functionName: RSA_get0_multi_prime_factors
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - sk_RSA_PRIME_INFO_value
    - RSA_get_multi_prime_extra_count
    linkageType: ''
    returnType: int
    signature: int RSA_get0_multi_prime_factors(const RSA *r, const BIGNUM *primes[])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - r
    - dmp1
    - dmq1
    - iqmp
    argTypes:
    - RSA*
    - BIGNUM**
    - BIGNUM**
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: RSA_get0_crt_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RSA_get0_crt_params(const RSA *r,\n                         const
      BIGNUM **dmp1, const BIGNUM **dmq1,\n                         const BIGNUM **iqmp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_multi_prime_extra_count
      Src: /src/openssl/crypto/rsa/rsa_lib.c:627,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - r
    - exps
    - coeffs
    argTypes:
    - RSA*
    - BIGNUM*[]
    - BIGNUM*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 646
    functionName: RSA_get0_multi_prime_crt_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - sk_RSA_PRIME_INFO_value
    - RSA_get_multi_prime_extra_count
    linkageType: ''
    returnType: int
    signature: "int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[],\n
      \                                   const BIGNUM *coeffs[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: RSA_get0_n
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *RSA_get0_n(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: RSA_get0_e
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *RSA_get0_e(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: RSA_get0_d
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *RSA_get0_d(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: RSA_get0_p
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *RSA_get0_p(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: RSA_get0_q
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *RSA_get0_q(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: RSA_get0_dmp1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *RSA_get0_dmp1(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: RSA_get0_dmq1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *RSA_get0_dmq1(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: RSA_get0_iqmp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *RSA_get0_iqmp(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: RSA_get0_pss_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RSA_PSS_PARAMS
    signature: RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - r
    - pss
    argTypes:
    - RSA*
    - RSA_PSS_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 708
    functionName: ossl_rsa_set0_pss_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - RSA_PSS_PARAMS_free
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_set0_pss_params(RSA *r, RSA_PSS_PARAMS *pss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: ossl_rsa_get0_pss_params_30
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RSA_PSS_PARAMS_30
    signature: RSA_PSS_PARAMS_30 *ossl_rsa_get0_pss_params_30(RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: RSA_clear_flags
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_clear_flags(RSA *r, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: RSA_test_flags
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_test_flags(const RSA *r, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - flags
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: RSA_set_flags
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_set_flags(RSA *r, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: RSA_get_version
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_get_version(RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: RSA_get0_engine
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *RSA_get0_engine(const RSA *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - optype
    - cmd
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 743
    functionDepth: 4
    functionLinenumber: 743
    functionLinenumberEnd: 751
    functionName: RSA_pkey_ctx_ctrl
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1,
      void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _k_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 914
    functionName: safe_BN_num_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: safe_BN_num_bits(_k_)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:918,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_lib.c:918,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:919,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_lib.c:919,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_lib.c:920,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_lib.c:920,1
    - Dst: ossl_rsa_get0_all_params
      Src: /src/openssl/crypto/rsa/rsa_lib.c:929,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:930,1
    - Dst: RSA_get0_n
      Src: /src/openssl/crypto/rsa/rsa_lib.c:930,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:932,1
    - Dst: RSA_get0_d
      Src: /src/openssl/crypto/rsa/rsa_lib.c:932,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:935,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:936,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:936,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:941,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:942,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:942,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/crypto/rsa/rsa_lib.c:947,1
    - Dst: safe_BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_lib.c:948,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/crypto/rsa/rsa_lib.c:948,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:956,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:957,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:958,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 961
    functionName: ossl_rsa_check_factors
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - RSA_get0_d
    - sk_BIGNUM_const_free
    - sk_BIGNUM_const_new_null
    - ossl_rsa_get0_all_params
    - STACK_OF
    - RSA_get0_n
    - safe_BN_num_bits
    - sk_BIGNUM_const_value
    - sk_BIGNUM_const_num
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_check_factors(RSA *r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:975,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:983,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:984,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:988,1
    - Dst: evp_pkey_type2name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:988,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_lib.c:994,1
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/openssl/crypto/rsa/rsa_lib.c:995,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_lib.c:997,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:999,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1001,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 7
    argNames:
    - ctx
    - keytype
    - optype
    - mdkey
    - mdname
    - propkey
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 965
    functionDepth: 4
    functionLinenumber: 965
    functionLinenumberEnd: 1002
    functionName: int_set_rsa_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_type2name
    - ERR_raise
    - evp_pkey_ctx_is_provided
    - OSSL_PARAM_construct_utf8_string
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_is_a
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int int_set_rsa_md_name(EVP_PKEY_CTX *ctx,\n                               /*
      For checks */\n                               int keytype, int optype,\n                               /*
      For EVP_PKEY_CTX_set_params() */\n                               const char
      *mdkey, const char *mdname,\n                               const char *propkey,
      const char *mdprops)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1015,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1023,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1024,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1028,1
    - Dst: evp_pkey_type2name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1028,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1034,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1035,1
    - Dst: evp_pkey_ctx_get_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1037,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 6
    argNames:
    - ctx
    - keytype
    - optype
    - mdkey
    - mdname
    - mdnamesize
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1005
    functionDepth: 4
    functionLinenumber: 1005
    functionLinenumberEnd: 1038
    functionName: int_get_rsa_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - evp_pkey_type2name
    - ERR_raise
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_is_a
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_get_params_strict
    linkageType: ''
    returnType: int
    signature: "int int_get_rsa_md_name(EVP_PKEY_CTX *ctx,\n                               /*
      For checks */\n                               int keytype, int optype,\n                               /*
      For EVP_PKEY_CTX_get_params() */\n                               const char
      *mdkey,\n                               char *mdname, size_t mdnamesize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pad_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 5
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    functionName: EVP_PKEY_CTX_set_rsa_padding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int pad_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - pad_mode
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 5
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: EVP_PKEY_CTX_get_rsa_padding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 2
    functionsReached:
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *pad_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1064
    functionDepth: 4
    functionLinenumber: 1064
    functionLinenumberEnd: 1068
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_pss_keygen_md(EVP_PKEY_CTX *ctx, const EVP_MD
      *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_set_rsa_md_name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1070
    functionDepth: 5
    functionLinenumber: 1070
    functionLinenumberEnd: 1077
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - int_set_rsa_md_name
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_rsa_pss_keygen_md_name(EVP_PKEY_CTX *ctx,\n                                            const
      char *mdname,\n                                            const char *mdprops)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1086,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1083
    functionDepth: 4
    functionLinenumber: 1083
    functionLinenumberEnd: 1091
    functionName: EVP_PKEY_CTX_set_rsa_oaep_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    - EVP_PKEY_CTX_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_set_rsa_md_name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1093
    functionDepth: 5
    functionLinenumber: 1093
    functionLinenumberEnd: 1100
    functionName: EVP_PKEY_CTX_set_rsa_oaep_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - int_set_rsa_md_name
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, const char
      *mdname,\n                                      const char *mdprops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_get_rsa_md_name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - name
    - namesize
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1102
    functionDepth: 5
    functionLinenumber: 1102
    functionLinenumberEnd: 1108
    functionName: EVP_PKEY_CTX_get_rsa_oaep_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - int_get_rsa_md_name
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_get_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, char *name,\n
      \                                     size_t namesize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1117,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1114
    functionDepth: 4
    functionLinenumber: 1114
    functionLinenumberEnd: 1122
    functionName: EVP_PKEY_CTX_get_rsa_oaep_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    - EVP_PKEY_CTX_is_a
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD **md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1128
    functionDepth: 5
    functionLinenumber: 1128
    functionLinenumberEnd: 1132
    functionName: EVP_PKEY_CTX_set_rsa_mgf1_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_set_rsa_md_name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1134
    functionDepth: 5
    functionLinenumber: 1134
    functionLinenumberEnd: 1141
    functionName: EVP_PKEY_CTX_set_rsa_mgf1_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - int_set_rsa_md_name
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, const char
      *mdname,\n                                      const char *mdprops)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_get_rsa_md_name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - name
    - namesize
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1143
    functionDepth: 5
    functionLinenumber: 1143
    functionLinenumberEnd: 1149
    functionName: EVP_PKEY_CTX_get_rsa_mgf1_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - int_get_rsa_md_name
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_get_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, char *name,\n
      \                                     size_t namesize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 4
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(EVP_PKEY_CTX *ctx, const
      EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_set_rsa_md_name
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - mdname
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1161
    functionDepth: 5
    functionLinenumber: 1161
    functionLinenumberEnd: 1167
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - int_set_rsa_md_name
    linkageType: ''
    returnType: int
    signature: "int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md_name(EVP_PKEY_CTX *ctx,\n
      \                                                const char *mdname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - md
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1173
    functionDepth: 5
    functionLinenumber: 1173
    functionLinenumberEnd: 1177
    functionName: EVP_PKEY_CTX_get_rsa_mgf1_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD **md)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1190,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1191,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1197,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1205,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1207,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - label
    - llen
    argTypes:
    - EVP_PKEY_CTX*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1179
    functionDepth: 4
    functionLinenumber: 1179
    functionLinenumberEnd: 1216
    functionName: EVP_PKEY_CTX_set0_rsa_oaep_label
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - evp_pkey_ctx_set_params_strict
    - OPENSSL_free
    - EVP_PKEY_CTX_is_a
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, void *label,
      int llen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1223,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1224,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1230,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1233,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1235,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - label
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1218
    functionDepth: 3
    functionLinenumber: 1218
    functionLinenumberEnd: 1245
    functionName: EVP_PKEY_CTX_get0_rsa_oaep_label
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_CTX_is_a
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char
      **label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1251
    functionDepth: 5
    functionLinenumber: 1251
    functionLinenumberEnd: 1265
    functionName: EVP_PKEY_CTX_set_rsa_pss_saltlen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int saltlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1271
    functionDepth: 5
    functionLinenumber: 1271
    functionLinenumberEnd: 1284
    functionName: EVP_PKEY_CTX_get_rsa_pss_saltlen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *saltlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1290,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1291,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1296,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1299,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1301,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - saltlen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1286
    functionDepth: 4
    functionLinenumber: 1286
    functionLinenumberEnd: 1304
    functionName: EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_int
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_is_a
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_IS_GEN_OP
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(EVP_PKEY_CTX *ctx, int
      saltlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1311,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1312,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1318,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1319,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1322,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1323,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - bits
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1306
    functionDepth: 4
    functionLinenumber: 1306
    functionLinenumberEnd: 1326
    functionName: EVP_PKEY_CTX_set_rsa_keygen_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_is_a
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_IS_GEN_OP
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_keygen_bits(EVP_PKEY_CTX *ctx, int bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_pkey_ctx_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1330,1
    - Dst: evp_pkey_ctx_is_provided
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1338,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pubexp
    argTypes:
    - EVP_PKEY_CTX*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1328
    functionDepth: 5
    functionLinenumber: 1328
    functionLinenumberEnd: 1344
    functionName: EVP_PKEY_CTX_set_rsa_keygen_pubexp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - BN_free
    - evp_pkey_ctx_is_provided
    - RSA_pkey_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1354,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1355,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1359,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1361,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - pubexp
    argTypes:
    - EVP_PKEY_CTX*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1346
    functionDepth: 4
    functionLinenumber: 1346
    functionLinenumberEnd: 1364
    functionName: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_ctrl
    - BN_dup
    - BN_free
    - evp_pkey_ctx_is_legacy
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set1_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_IS_GEN_OP
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1371,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1372,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1378,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1379,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1382,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1383,1
    - Dst: evp_pkey_ctx_set_params_strict
      Src: /src/openssl/crypto/rsa/rsa_lib.c:1385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - primes
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1366
    functionDepth: 4
    functionLinenumber: 1366
    functionLinenumberEnd: 1386
    functionName: EVP_PKEY_CTX_set_rsa_keygen_primes
    functionSourceFile: /src/openssl/crypto/rsa/rsa_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OSSL_PARAM_construct_size_t
    - evp_pkey_ctx_set_params_strict
    - EVP_PKEY_CTX_is_a
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_IS_GEN_OP
    linkageType: ''
    returnType: int
    signature: int EVP_PKEY_CTX_set_rsa_keygen_primes(EVP_PKEY_CTX *ctx, int primes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:36,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:37,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:38,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:39,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:41,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:42,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:43,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:50,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:51,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:53,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:54,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:56,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:56,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:57,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:59,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:59,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:60,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:62,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:62,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:63,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:65,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:66,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:68,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:69,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:71,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:72,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:73,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:74,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:75,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:76,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 24
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 78
    functionName: ossl_rsa_check_crt_components
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_one
    - BN_cmp
    - BN_value_one
    - BN_clear
    - BN_sub_word
    - BN_copy
    - BN_set_flags
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_check_crt_components(const RSA *rsa, BN_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:95,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:98,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:101,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:102,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:107,1
    - Dst: BN_lshift
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:116,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:118,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:121,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - p
    - nbits
    - ctx
    argTypes:
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: ossl_rsa_check_prime_factor_range
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_cmp
    - BN_rshift
    - BN_copy
    - BN_num_bits
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_check_prime_factor_range(const BIGNUM *p, int nbits, BN_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:142,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:144,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:147,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:148,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:149,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:151,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:152,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:159,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:160,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:161,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:162,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:164,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - p
    - e
    - nbits
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 136
    functionDepth: 6
    functionLinenumber: 136
    functionLinenumberEnd: 167
    functionName: ossl_rsa_check_prime_factor
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_one
    - BN_set_flags
    - ossl_rsa_check_prime_factor_range
    - BN_clear
    - BN_sub_word
    - BN_gcd
    - BN_copy
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_check_prime_factor(BIGNUM *p, BIGNUM *e, int nbits, BN_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:181,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:184,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:185,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:186,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:187,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:188,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:189,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:190,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:192,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:193,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:194,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:195,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:196,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:197,1
    - Dst: ossl_rsa_get_lcm
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:204,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:207,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:209,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:210,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:212,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:213,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:214,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:215,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:216,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - rsa
    - nbits
    - ctx
    argTypes:
    - RSA*
    - int
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 219
    functionName: ossl_rsa_check_private_exponent
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_is_one
    - BN_cmp
    - BN_clear
    - ossl_rsa_get_lcm
    - BN_num_bits
    - BN_set_flags
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_check_private_exponent(const RSA *rsa, int nbits, BN_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:230,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:231,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:234,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:234,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: ossl_rsa_check_public_exponent
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_value_one
    - BN_cmp
    - BN_num_bits
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_check_public_exponent(const BIGNUM *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:247,1
    - Dst: BN_set_negative
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:249,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:251,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:254,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - diff
    - p
    - q
    - nbits
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 6
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: ossl_rsa_check_pminusq_diff
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_set_negative
    - BN_is_zero
    - BN_sub_word
    - BN_sub
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_check_pminusq_diff(BIGNUM *diff, const BIGNUM *p, const
      BIGNUM *q,\n                           int nbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:269,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:269,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:270,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:270,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:271,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:272,1
    - Dst: BN_div
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - p
    - q
    - lcm
    - gcd
    - p1
    - q1
    - p1q1
    argTypes:
    - BN_CTX*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: ossl_rsa_get_lcm
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 1
    functionsReached:
    - BN_mul
    - BN_div
    - BN_value_one
    - BN_gcd
    - BN_sub
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_get_lcm(BN_CTX *ctx, const BIGNUM *p, const BIGNUM *q,\n
      \                    BIGNUM *lcm, BIGNUM *gcd, BIGNUM *p1, BIGNUM *q1,\n                     BIGNUM
      *p1q1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:360,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:360,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: ossl_rsa_sp800_56b_check_private
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - BN_value_one
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_sp800_56b_check_private(const RSA *rsa)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:386,1
    - Dst: ossl_rsa_sp800_56b_validate_strength
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:390,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:396,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:397,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:402,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:404,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:408,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:409,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:414,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:418,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:422,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:423,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:424,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:427,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:428,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:433,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:434,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:435,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:437,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:439,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:441,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:444,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:445,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c:446,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 4
    argNames:
    - rsa
    - efixed
    - strength
    - nbits
    argTypes:
    - RSA*
    - BIGNUM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 374
    functionDepth: 7
    functionLinenumber: 374
    functionLinenumberEnd: 448
    functionName: ossl_rsa_sp800_56b_check_keypair
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_check.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_mul
    - BN_CTX_new_ex
    - ERR_raise
    - BN_CTX_start
    - ossl_rsa_check_public_exponent
    - BN_CTX_end
    - BN_cmp
    - BN_clear
    - ossl_rsa_check_prime_factor
    - BN_CTX_free
    - ossl_rsa_check_private_exponent
    - ossl_rsa_check_pminusq_diff
    - ossl_rsa_check_crt_components
    - BN_num_bits
    - ossl_rsa_sp800_56b_validate_strength
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_sp800_56b_check_keypair(const RSA *rsa, const BIGNUM
      *efixed,\n                                     int strength, int nbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - n
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: ENCODE_DIGESTINFO_SHA
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_DIGESTINFO_SHA(name, n, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - n
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: ENCODE_DIGESTINFO_MD
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_DIGESTINFO_MD(name, n, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: MD_CASE
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_CASE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:171,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:174,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:177,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:180,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:183,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:186,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:189,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:190,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:191,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:192,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:193,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:194,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:195,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:196,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:197,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:198,1
    - Dst: MD_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - md_nid
    - len
    argTypes:
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 203
    functionName: ossl_rsa_digestinfo_encoding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - MD_CASE
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ossl_rsa_digestinfo_encoding(int md_nid, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: MD_NID_CASE
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_NID_CASE(name, sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:214,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:217,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:220,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:223,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:226,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:229,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:230,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:231,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:232,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:233,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:234,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:235,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:236,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:237,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:238,1
    - Dst: MD_NID_CASE
      Src: /src/openssl/crypto/rsa/rsa_sign.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 243
    functionName: digest_sz_from_nid
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - MD_NID_CASE
    linkageType: ''
    returnType: int
    signature: int digest_sz_from_nid(int nid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:266,1
    - Dst: ossl_rsa_digestinfo_encoding
      Src: /src/openssl/crypto/rsa/rsa_sign.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:271,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_sign.c:276,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:279,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - out
    - out_len
    - type
    - m
    - m_len
    argTypes:
    - unsigned char**
    - size_t*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 285
    functionName: encode_pkcs1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ERR_raise
    - OPENSSL_malloc
    - ossl_rsa_digestinfo_encoding
    linkageType: ''
    returnType: int
    signature: "int encode_pkcs1(unsigned char **out, size_t *out_len, int type,\n
      \                       const unsigned char *m, size_t m_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RSA*::meth::rsa_sign
      Src: /src/openssl/crypto/rsa/rsa_sign.c:297,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:308,1
    - Dst: encode_pkcs1
      Src: /src/openssl/crypto/rsa/rsa_sign.c:314,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_sign.c:319,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:320,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/crypto/rsa/rsa_sign.c:323,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sign.c:332,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 6
    argNames:
    - type
    - m
    - m_len
    - sigret
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 334
    functionName: RSA_sign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_clear_free
    - RSA_private_encrypt
    - RSA_size
    - RSA*::meth::rsa_sign
    - encode_pkcs1
    linkageType: ''
    returnType: int
    signature: "int RSA_sign(int type, const unsigned char *m, unsigned int m_len,\n
      \            unsigned char *sigret, unsigned int *siglen, RSA *rsa)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_sign.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:354,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_sign.c:359,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/crypto/rsa/rsa_sign.c:363,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:377,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:382,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:386,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_sign.c:390,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:391,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:402,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:406,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_sign.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:411,1
    - Dst: digest_sz_from_nid
      Src: /src/openssl/crypto/rsa/rsa_sign.c:424,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:430,1
    - Dst: encode_pkcs1
      Src: /src/openssl/crypto/rsa/rsa_sign.c:437,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_sign.c:441,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sign.c:442,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_sign.c:448,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sign.c:456,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sign.c:457,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 8
    argNames:
    - type
    - m
    - m_len
    - rm
    - prm_len
    - sigbuf
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 459
    functionName: ossl_rsa_verify
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ERR_raise
    - RSA_public_decrypt
    - memcpy
    - OPENSSL_clear_free
    - RSA_size
    - encode_pkcs1
    - OPENSSL_malloc
    - digest_sz_from_nid
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_verify(int type, const unsigned char *m, unsigned int
      m_len,\n                    unsigned char *rm, size_t *prm_len,\n                    const
      unsigned char *sigbuf, size_t siglen, RSA *rsa)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA*::meth::rsa_verify
      Src: /src/openssl/crypto/rsa/rsa_sign.c:466,1
    - Dst: ossl_rsa_verify
      Src: /src/openssl/crypto/rsa/rsa_sign.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - type
    - m
    - m_len
    - sigbuf
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: RSA_verify
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sign.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_verify
    - RSA*::meth::rsa_verify
    linkageType: ''
    returnType: int
    signature: "int RSA_verify(int type, const unsigned char *m, unsigned int m_len,\n
      \              const unsigned char *sigbuf, unsigned int siglen, RSA *rsa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:18,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pinfo
    argTypes:
    - RSA_PRIME_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: ossl_rsa_multip_info_free_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_mp.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rsa_multip_info_free_ex(RSA_PRIME_INFO *pinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:25,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:26,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:27,1
    - Dst: ossl_rsa_multip_info_free_ex
      Src: /src/openssl/crypto/rsa/rsa_mp.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pinfo
    argTypes:
    - RSA_PRIME_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: ossl_rsa_multip_info_free
    functionSourceFile: /src/openssl/crypto/rsa/rsa_mp.c
    functionUses: 1
    functionsReached:
    - BN_clear_free
    - ossl_rsa_multip_info_free_ex
    linkageType: ''
    returnType: void
    signature: void ossl_rsa_multip_info_free(RSA_PRIME_INFO *pinfo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_mp.c:36,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_mp.c:38,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_mp.c:40,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_mp.c:42,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_mp.c:44,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:50,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:51,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:52,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:53,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: ossl_rsa_multip_info_new
    functionSourceFile: /src/openssl/crypto/rsa/rsa_mp.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - BN_free
    - BN_secure_new
    linkageType: ''
    returnType: RSA_PRIME_INFO
    signature: RSA_PRIME_INFO *ossl_rsa_multip_info_new(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_mp.c:66,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_mp.c:71,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_mp.c:79,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_mp.c:81,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_mp.c:85,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_mp.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 96
    functionName: ossl_rsa_multip_calc_product
    functionSourceFile: /src/openssl/crypto/rsa/rsa_mp.c
    functionUses: 1
    functionsReached:
    - BN_mul
    - BN_CTX_new
    - BN_secure_new
    - sk_RSA_PRIME_INFO_num
    - BN_CTX_free
    - sk_RSA_PRIME_INFO_value
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_multip_calc_product(RSA *rsa)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: ossl_rsa_multip_cap
    functionSourceFile: /src/openssl/crypto/rsa/rsa_mp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_multip_cap(int bits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_x931.c:56,1
    - Dst: memset
      Src: /src/openssl/crypto/rsa/rsa_x931.c:68,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_x931.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - to
    - tlen
    - from
    - flen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: RSA_padding_add_X931
    functionSourceFile: /src/openssl/crypto/rsa/rsa_x931.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_add_X931(unsigned char *to, int tlen,\n                         const
      unsigned char *from, int flen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_x931.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_x931.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_x931.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_x931.c:115,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_x931.c:119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 122
    functionName: RSA_padding_check_X931
    functionSourceFile: /src/openssl/crypto/rsa/rsa_x931.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_check_X931(unsigned char *to, int tlen,\n                           const
      unsigned char *from, int flen, int num)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: RSA_X931_hash_id
    functionSourceFile: /src/openssl/crypto/rsa/rsa_x931.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_X931_hash_id(int nid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_meth.c:22,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/rsa/rsa_meth.c:27,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_meth.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - name
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: RSA_meth_new
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: RSA_METHOD
    signature: RSA_METHOD *RSA_meth_new(const char *name, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_meth.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_meth.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: RSA_meth_free
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void RSA_meth_free(RSA_METHOD *meth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_meth.c:47,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_meth.c:50,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/rsa/rsa_meth.c:52,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_meth.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: RSA_meth_dup
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_free
    - OPENSSL_strdup
    - OPENSSL_malloc
    linkageType: ''
    returnType: RSA_METHOD
    signature: RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: RSA_meth_get0_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *RSA_meth_get0_name(const RSA_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/crypto/rsa/rsa_meth.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_meth.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - meth
    - name
    argTypes:
    - RSA_METHOD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: RSA_meth_set1_name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int RSA_meth_set1_name(RSA_METHOD *meth, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: RSA_meth_get_flags
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_meth_get_flags(const RSA_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - meth
    - flags
    argTypes:
    - RSA_METHOD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: RSA_meth_set_flags
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_meth_set_flags(RSA_METHOD *meth, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: RSA_meth_get0_app_data
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *RSA_meth_get0_app_data(const RSA_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - meth
    - app_data
    argTypes:
    - RSA_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: RSA_meth_set0_app_data
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: "(*RSA_meth_get_pub_enc(const RSA_METHOD *meth))\n    (int flen,
      const unsigned char *from,\n     unsigned char *to, RSA *rsa, int padding)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth))\n    (int flen,
      const unsigned char *from,\n     unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: RSA_meth_set_pub_enc
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_pub_enc(RSA_METHOD *meth,\n                         int
      (*pub_enc) (int flen, const unsigned char *from,\n                                         unsigned
      char *to, RSA *rsa,\n                                         int padding))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: "(*RSA_meth_get_pub_dec(const RSA_METHOD *meth))\n    (int flen,
      const unsigned char *from,\n     unsigned char *to, RSA *rsa, int padding)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth))\n    (int flen,
      const unsigned char *from,\n     unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: RSA_meth_set_pub_dec
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_pub_dec(RSA_METHOD *meth,\n                         int
      (*pub_dec) (int flen, const unsigned char *from,\n                                         unsigned
      char *to, RSA *rsa,\n                                         int padding))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: "(*RSA_meth_get_priv_enc(const RSA_METHOD *meth))\n    (int flen,
      const unsigned char *from,\n     unsigned char *to, RSA *rsa, int padding)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth))\n    (int flen,
      const unsigned char *from,\n     unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: RSA_meth_set_priv_enc
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_priv_enc(RSA_METHOD *meth,\n                          int
      (*priv_enc) (int flen, const unsigned char *from,\n                                           unsigned
      char *to, RSA *rsa,\n                                           int padding))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: "(*RSA_meth_get_priv_dec(const RSA_METHOD *meth))\n    (int flen,
      const unsigned char *from,\n     unsigned char *to, RSA *rsa, int padding)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth))\n    (int flen,
      const unsigned char *from,\n     unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: RSA_meth_set_priv_dec
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_priv_dec(RSA_METHOD *meth,\n                          int
      (*priv_dec) (int flen, const unsigned char *from,\n                                           unsigned
      char *to, RSA *rsa,\n                                           int padding))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r0
    - i
    - rsa
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: "(*RSA_meth_get_mod_exp(const RSA_METHOD *meth))\n    (BIGNUM *r0,
      const BIGNUM *i, RSA *rsa, BN_CTX *ctx)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))\n    (BIGNUM *r0,
      const BIGNUM *i, RSA *rsa, BN_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: RSA_meth_set_mod_exp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_mod_exp(RSA_METHOD *meth,\n                         int
      (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa,\n                                         BN_CTX
      *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - r
    - a
    - p
    - m
    - ctx
    - m_ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    - BN_MONT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: "(*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth))\n    (BIGNUM
      *r, const BIGNUM *a, const BIGNUM *p,\n     const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX
      *m_ctx)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth))\n    (BIGNUM
      *r, const BIGNUM *a, const BIGNUM *p,\n     const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX
      *m_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: RSA_meth_set_bn_mod_exp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_bn_mod_exp(RSA_METHOD *meth,\n                            int
      (*bn_mod_exp) (BIGNUM *r,\n                                               const
      BIGNUM *a,\n                                               const BIGNUM *p,\n
      \                                              const BIGNUM *m,\n                                               BN_CTX
      *ctx,\n                                               BN_MONT_CTX *m_ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa)
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: RSA_meth_set_init
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_meth_set_init(RSA_METHOD *meth, int (*init) (RSA *rsa))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa)
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: RSA_meth_set_finish
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish) (RSA *rsa))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - type
    - m
    - m_length
    - sigret
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: "(*RSA_meth_get_sign(const RSA_METHOD *meth))\n    (int type,\n
      \    const unsigned char *m, unsigned int m_length,\n     unsigned char *sigret,
      unsigned int *siglen,\n     const RSA *rsa)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_sign(const RSA_METHOD *meth))\n    (int type,\n
      \    const unsigned char *m, unsigned int m_length,\n     unsigned char *sigret,
      unsigned int *siglen,\n     const RSA *rsa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: RSA_meth_set_sign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_sign(RSA_METHOD *meth,\n                      int
      (*sign) (int type, const unsigned char *m,\n                                   unsigned
      int m_length,\n                                   unsigned char *sigret, unsigned
      int *siglen,\n                                   const RSA *rsa))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dtype
    - m
    - m_length
    - sigbuf
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: "(*RSA_meth_get_verify(const RSA_METHOD *meth))\n    (int dtype,
      const unsigned char *m,\n     unsigned int m_length, const unsigned char *sigbuf,\n
      \    unsigned int siglen, const RSA *rsa)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_verify(const RSA_METHOD *meth))\n    (int dtype,
      const unsigned char *m,\n     unsigned int m_length, const unsigned char *sigbuf,\n
      \    unsigned int siglen, const RSA *rsa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: RSA_meth_set_verify
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_verify(RSA_METHOD *meth,\n                        int
      (*verify) (int dtype, const unsigned char *m,\n                                       unsigned
      int m_length,\n                                       const unsigned char *sigbuf,\n
      \                                      unsigned int siglen, const RSA *rsa))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rsa
    - bits
    - e
    - cb
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: "(*RSA_meth_get_keygen(const RSA_METHOD *meth))\n    (RSA *rsa,
      int bits, BIGNUM *e, BN_GENCB *cb)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_keygen(const RSA_METHOD *meth))\n    (RSA *rsa,
      int bits, BIGNUM *e, BN_GENCB *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: RSA_meth_set_keygen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_keygen(RSA_METHOD *meth,\n                        int
      (*keygen) (RSA *rsa, int bits, BIGNUM *e,\n                                       BN_GENCB
      *cb))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rsa
    - bits
    - primes
    - e
    - cb
    argTypes:
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: "(*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth))\n    (RSA
      *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb)"
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth))\n    (RSA
      *rsa, int bits, int primes, BIGNUM *e, BN_GENCB *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: RSA_meth_set_multi_prime_keygen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth,\n                                    int
      (*keygen) (RSA *rsa, int bits,\n                                                   int
      primes, BIGNUM *e,\n                                                   BN_GENCB
      *cb))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - RSA_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: RSA_set_default_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_set_default_method(const RSA_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: RSA_get_default_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD
    signature: RSA_METHOD *RSA_get_default_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: RSA_PKCS1_OpenSSL
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD
    signature: RSA_METHOD *RSA_PKCS1_OpenSSL(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: RSA_null_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RSA_METHOD
    signature: RSA_METHOD *RSA_null_method(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:111,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:116,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:121,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:122,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:123,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:128,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:130,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:131,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:132,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:133,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:134,1
    - Dst: ossl_rsa_padding_add_PKCS1_type_2_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:140,1
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:144,1
    - Dst: RSA_padding_add_none
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:152,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:158,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:168,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:170,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:171,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:175,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:176,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:179,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:187,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:193,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:197,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:205,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:207,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:208,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:209,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 82
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 102
    functionDepth: 8
    functionLinenumber: 102
    functionLinenumberEnd: 211
    functionName: rsa_ossl_public_encrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_num_bytes
    - BN_MONT_CTX_set_locked
    - RSA*::meth::bn_mod_exp
    - BN_bin2bn
    - BN_sub_word
    - BN_copy
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_CTX_free
    - BN_ucmp
    - OPENSSL_malloc
    - ossl_rsa_padding_add_PKCS1_type_2_ex
    - ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    - RSA_padding_add_none
    - BN_bn2binpad
    - BN_num_bits
    - BN_CTX_get
    - BN_CTX_start
    - OPENSSL_clear_free
    - BN_value_one
    linkageType: ''
    returnType: int
    signature: "int rsa_ossl_public_encrypt(int flen, const unsigned char *from,\n
      \                                 unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - idx
    - b
    - arg
    argTypes:
    - ossl_uintmax_t
    - BN_BLINDING*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: free_bn_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_BLINDING_free
    linkageType: ''
    returnType: void
    signature: void free_bn_blinding(ossl_uintmax_t idx, BN_BLINDING *b, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SPARSE_ARRAY_OF
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:220,1
    - Dst: ossl_sa_BN_BLINDING_doall_arg
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:222,1
    - Dst: ossl_sa_BN_BLINDING_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: ossl_rsa_free_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 1
    functionsReached:
    - ossl_sa_BN_BLINDING_doall_arg
    - SPARSE_ARRAY_OF
    - ossl_sa_BN_BLINDING_free
    linkageType: ''
    returnType: void
    signature: void ossl_rsa_free_blinding(RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sa_BN_BLINDING_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: ossl_rsa_alloc_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 1
    functionsReached:
    - ossl_sa_BN_BLINDING_new
    linkageType: ''
    returnType: void
    signature: void *ossl_rsa_alloc_blinding(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SPARSE_ARRAY_OF
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:233,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:234,1
    - Dst: ossl_sa_BN_BLINDING_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: ossl_rsa_get_thread_bn_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - SPARSE_ARRAY_OF
    - ossl_sa_BN_BLINDING_get
    linkageType: ''
    returnType: BN_BLINDING
    signature: BN_BLINDING *ossl_rsa_get_thread_bn_blinding(RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SPARSE_ARRAY_OF
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:241,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:242,1
    - Dst: ossl_sa_BN_BLINDING_set
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rsa
    - b
    argTypes:
    - RSA*
    - BN_BLINDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: ossl_rsa_set_thread_bn_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - ossl_sa_BN_BLINDING_set
    - SPARSE_ARRAY_OF
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_set_thread_bn_blinding(RSA *rsa, BN_BLINDING *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:251,1
    - Dst: ossl_rsa_get_thread_bn_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:254,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:255,1
    - Dst: RSA_setup_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:258,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:259,1
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:260,1
    - Dst: ossl_rsa_set_thread_bn_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:263,1
    - Dst: BN_BLINDING_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:264,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 272
    functionName: rsa_get_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_BLINDING_free
    - ossl_rsa_set_thread_bn_blinding
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - ossl_rsa_get_thread_bn_blinding
    - RSA_setup_blinding
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: BN_BLINDING
    signature: BN_BLINDING *rsa_get_blinding(RSA *rsa, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_BLINDING_convert_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - f
    - ctx
    argTypes:
    - BN_BLINDING*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 5
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: rsa_blinding_convert
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_BLINDING_convert_ex
    linkageType: ''
    returnType: int
    signature: int rsa_blinding_convert(BN_BLINDING *b, BIGNUM *f, BN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:292,1
    - Dst: BN_BLINDING_invert_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - b
    - f
    - ctx
    argTypes:
    - BN_BLINDING*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: rsa_blinding_invert
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_set_flags
    - BN_BLINDING_invert_ex
    linkageType: ''
    returnType: int
    signature: int rsa_blinding_invert(BN_BLINDING *b, BIGNUM *f, BN_CTX *ctx)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:306,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:308,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:309,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:310,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:311,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:312,1
    - Dst: RSA_padding_add_PKCS1_type_1
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:318,1
    - Dst: RSA_padding_add_X931
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:321,1
    - Dst: RSA_padding_add_none
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:324,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:327,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:333,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:338,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:343,1
    - Dst: rsa_get_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:350,1
    - Dst: rsa_blinding_convert
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:354,1
    - Dst: RSA*::meth::rsa_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:363,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:366,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:368,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:372,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:373,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:376,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:378,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:380,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:384,1
    - Dst: rsa_blinding_invert
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:388,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:392,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:394,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:406,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:408,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:409,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:410,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 98
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 297
    functionDepth: 8
    functionLinenumber: 297
    functionLinenumberEnd: 412
    functionName: rsa_ossl_private_encrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_num_bytes
    - BN_MONT_CTX_set_locked
    - RSA*::meth::rsa_mod_exp
    - RSA*::meth::bn_mod_exp
    - BN_bin2bn
    - rsa_get_blinding
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_cmp
    - RSA_padding_add_X931
    - BN_CTX_free
    - BN_ucmp
    - rsa_blinding_convert
    - BN_new
    - BN_free
    - OPENSSL_malloc
    - RSA_padding_add_PKCS1_type_1
    - RSA_padding_add_none
    - BN_sub
    - BN_bn2binpad
    - BN_CTX_get
    - BN_with_flags
    - BN_CTX_start
    - rsa_blinding_invert
    - OPENSSL_clear_free
    linkageType: ''
    returnType: int
    signature: "int rsa_ossl_private_encrypt(int flen, const unsigned char *from,\n
      \                                  unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:426,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:433,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:434,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:437,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:438,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:439,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:440,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:443,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:452,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:454,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:458,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:459,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:463,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:465,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:469,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:470,1
    - Dst: memset
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:475,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:476,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:477,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:481,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:482,1
    - Dst: HMAC_Final
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:487,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:488,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:494,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:495,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 6
    argNames:
    - flen
    - from
    - rsa
    - buf
    - num
    - kdk
    argTypes:
    - int
    - unsigned char*
    - RSA*
    - unsigned char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 414
    functionDepth: 12
    functionLinenumber: 414
    functionLinenumberEnd: 497
    functionName: derive_kdk
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_with_flags
    - ERR_raise
    - memset
    - EVP_MD_free
    - HMAC_CTX_new
    - HMAC_Final
    - EVP_Digest
    - HMAC_Update
    - HMAC_CTX_free
    - BN_new
    - HMAC_Init_ex
    - EVP_MD_fetch
    - BN_free
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: "int derive_kdk(int flen, const unsigned char *from, RSA *rsa,\n                      unsigned
      char *buf, int num, unsigned char *kdk)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:515,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:517,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:518,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:519,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:521,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:524,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:525,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:534,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:539,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:544,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:554,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:556,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:556,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:557,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:561,1
    - Dst: BN_sub_word
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:562,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:564,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:565,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:571,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:572,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:577,1
    - Dst: rsa_get_blinding
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:582,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:584,1
    - Dst: rsa_blinding_convert
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:588,1
    - Dst: RSA*::meth::rsa_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:598,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:601,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:603,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:607,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:608,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:611,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:612,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:614,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:618,1
    - Dst: rsa_blinding_invert
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:622,1
    - Dst: derive_kdk
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:630,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:634,1
    - Dst: RSA_padding_check_PKCS1_type_2
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:640,1
    - Dst: ossl_rsa_padding_check_PKCS1_type_2
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:643,1
    - Dst: RSA_padding_check_PKCS1_OAEP
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:646,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:649,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:652,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:661,1
    - Dst: err_clear_last_constant_time
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:662,1
    - Dst: constant_time_msb
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:662,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:666,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:667,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:668,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 131
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 499
    functionDepth: 13
    functionLinenumber: 499
    functionLinenumberEnd: 670
    functionName: rsa_ossl_private_decrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_num_bytes
    - BN_MONT_CTX_set_locked
    - memcpy
    - RSA*::meth::rsa_mod_exp
    - RSA*::meth::bn_mod_exp
    - BN_bin2bn
    - BN_sub_word
    - rsa_get_blinding
    - BN_copy
    - BN_CTX_new_ex
    - RSA_padding_check_PKCS1_type_2
    - BN_CTX_end
    - RSA_padding_check_PKCS1_OAEP
    - BN_CTX_free
    - BN_ucmp
    - rsa_blinding_convert
    - BN_new
    - BN_free
    - OPENSSL_malloc
    - constant_time_msb
    - ossl_rsa_padding_check_PKCS1_type_2
    - BN_bn2binpad
    - derive_kdk
    - BN_CTX_get
    - BN_with_flags
    - BN_CTX_start
    - rsa_blinding_invert
    - OPENSSL_clear_free
    - BN_value_one
    - err_clear_last_constant_time
    linkageType: ''
    returnType: int
    signature: "int rsa_ossl_private_decrypt(int flen, const unsigned char *from,\n
      \                                  unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:681,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:682,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:686,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:687,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:692,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:693,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:694,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:699,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:701,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:702,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:703,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:705,1
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:708,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:709,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:718,1
    - Dst: BN_bin2bn
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:722,1
    - Dst: BN_ucmp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:725,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:726,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:731,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:735,1
    - Dst: bn_get_words
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:740,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:741,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:744,1
    - Dst: RSA_padding_check_PKCS1_type_1
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:750,1
    - Dst: RSA_padding_check_X931
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:753,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:756,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:759,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:763,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:766,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:767,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:768,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 82
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 673
    functionDepth: 8
    functionLinenumber: 673
    functionLinenumberEnd: 770
    functionName: rsa_ossl_public_decrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_num_bytes
    - BN_MONT_CTX_set_locked
    - memcpy
    - RSA*::meth::bn_mod_exp
    - BN_bin2bn
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_CTX_free
    - BN_ucmp
    - OPENSSL_malloc
    - RSA_padding_check_PKCS1_type_1
    - BN_sub
    - BN_bn2binpad
    - BN_num_bits
    - BN_CTX_get
    - bn_get_words
    - BN_CTX_start
    - OPENSSL_clear_free
    - RSA_padding_check_X931
    linkageType: ''
    returnType: int
    signature: "int rsa_ossl_public_decrypt(int flen, const unsigned char *from,\n
      \                                 unsigned char *to, RSA *rsa, int padding)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:782,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:784,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:786,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:788,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:789,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:795,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:801,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:810,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:811,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:813,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:814,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:816,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:821,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:822,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:823,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:824,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:832,1
    - Dst: BN_MONT_CTX_set_locked
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:842,1
    - Dst: bn_from_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:855,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:856,1
    - Dst: bn_from_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:858,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:859,1
    - Dst: BN_mod_exp_mont_consttime_x2
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:866,1
    - Dst: bn_mod_sub_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:878,1
    - Dst: bn_to_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:881,1
    - Dst: bn_mul_mont_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:882,1
    - Dst: bn_mul_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:885,1
    - Dst: bn_mod_add_fixed_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:886,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:894,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:897,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:899,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:900,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:905,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:907,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:910,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:913,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:915,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:916,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:920,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:924,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:925,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:929,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:933,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:936,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:939,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:941,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:945,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:950,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:950,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:953,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:954,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:960,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:961,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:962,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:966,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:969,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:970,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:972,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:973,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:974,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:978,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:979,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:980,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:985,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:986,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:990,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:996,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:997,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1000,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1004,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1007,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1009,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1010,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1014,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1024,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1025,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1027,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1029,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1035,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1041,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1042,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1043,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1047,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1048,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1052,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1054,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1055,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1059,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1060,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1061,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1064,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1065,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1068,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1069,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1073,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1080,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1084,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1085,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1095,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1097,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1098,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1102,1
    - Dst: BN_is_negative
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1104,1
    - Dst: BN_add
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1105,1
    - Dst: BN_is_zero
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1107,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1114,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1117,1
    - Dst: RSA*::meth::bn_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1119,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1121,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1125,1
    - Dst: bn_correct_top
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1136,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1139,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 239
    argCount: 4
    argNames:
    - r0
    - I
    - rsa
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 772
    functionDepth: 8
    functionLinenumber: 772
    functionLinenumberEnd: 1141
    functionName: rsa_ossl_mod_exp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - bn_correct_top
    - BN_MONT_CTX_set_locked
    - BN_is_negative
    - BN_is_zero
    - RSA*::meth::bn_mod_exp
    - BN_add
    - bn_mod_add_fixed_top
    - bn_mul_mont_fixed_top
    - BN_CTX_end
    - BN_mod_exp_mont
    - BN_new
    - sk_RSA_PRIME_INFO_value
    - BN_free
    - BN_mul
    - BN_mod
    - bn_from_mont_fixed_top
    - BN_sub
    - BN_mod_exp_mont_consttime_x2
    - BN_CTX_get
    - BN_with_flags
    - bn_mod_sub_fixed_top
    - BN_CTX_start
    - sk_RSA_PRIME_INFO_num
    - bn_mul_fixed_top
    - bn_to_mont_fixed_top
    linkageType: ''
    returnType: int
    signature: int rsa_ossl_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1147
    functionName: rsa_ossl_init
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rsa_ossl_init(RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1155,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1156,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1157,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1161,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1162,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1149
    functionDepth: 4
    functionLinenumber: 1149
    functionLinenumberEnd: 1165
    functionName: rsa_ossl_finish
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_free
    - sk_RSA_PRIME_INFO_value
    - sk_RSA_PRIME_INFO_num
    linkageType: ''
    returnType: int
    signature: int rsa_ossl_finish(RSA *rsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s390x_crt
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1172,1
    - Dst: rsa_ossl_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_ossl.c:1175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r0
    - i
    - rsa
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1168
    functionDepth: 9
    functionLinenumber: 1168
    functionLinenumberEnd: 1176
    functionName: rsa_ossl_s390x_mod_exp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ossl.c
    functionUses: 0
    functionsReached:
    - rsa_ossl_mod_exp
    - s390x_crt
    linkageType: ''
    returnType: int
    signature: "int rsa_ossl_s390x_mod_exp(BIGNUM *r0, const BIGNUM *i, RSA *rsa,\n
      \                               BN_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_new
      Src: /src/openssl/crypto/rsa/rsa_depr.c:33,1
    - Dst: RSA_new
      Src: /src/openssl/crypto/rsa/rsa_depr.c:34,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_depr.c:35,1
    - Dst: BN_set_bit
      Src: /src/openssl/crypto/rsa/rsa_depr.c:46,1
    - Dst: BN_GENCB_set_old
      Src: /src/openssl/crypto/rsa/rsa_depr.c:50,1
    - Dst: RSA_generate_key_ex
      Src: /src/openssl/crypto/rsa/rsa_depr.c:52,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_depr.c:53,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/rsa/rsa_depr.c:54,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_depr.c:58,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_depr.c:59,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/rsa/rsa_depr.c:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - bits
    - e_value
    - cb_arg
    argTypes:
    - int
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 29
    functionDepth: 6
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: RSA_generate_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_depr.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_new
    - RSA_free
    - BN_GENCB_set_old
    - RSA_generate_key_ex
    - RSA_new
    - BN_GENCB_free
    - BN_new
    - BN_set_bit
    - BN_free
    linkageType: ''
    returnType: RSA
    signature: "RSA *RSA_generate_key(int bits, unsigned long e_value,\n                      void
      (*callback) (int, int, void *), void *cb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:39,1
    - Dst: memset
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:50,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - to
    - tlen
    - from
    - flen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 55
    functionName: RSA_padding_add_PKCS1_type_1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 1
    functionsReached:
    - memcpy
    - memset
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen,\n                                 const
      unsigned char *from, int flen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:79,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:117,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 5
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 123
    functionName: RSA_padding_check_PKCS1_type_1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen,\n
      \                                  const unsigned char *from, int flen,\n                                   int
      num)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:133,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:136,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:148,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:153,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - libctx
    - to
    - tlen
    - from
    - flen
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 125
    functionDepth: 7
    functionLinenumber: 125
    functionLinenumberEnd: 163
    functionName: ossl_rsa_padding_add_PKCS1_type_2_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 1
    functionsReached:
    - memcpy
    - RAND_bytes_ex
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_padding_add_PKCS1_type_2_ex(OSSL_LIB_CTX *libctx, unsigned
      char *to,\n                                         int tlen, const unsigned
      char *from,\n                                         int flen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_padding_add_PKCS1_type_2_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - to
    - tlen
    - from
    - flen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 8
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: RSA_padding_add_PKCS1_type_2
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_padding_add_PKCS1_type_2_ex
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen,\n                                 const
      unsigned char *from, int flen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:190,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:194,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:204,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:210,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:211,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:216,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:218,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:228,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:240,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:252,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:252,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:255,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:257,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:260,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:261,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:271,1
    - Dst: err_clear_last_constant_time
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:272,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:275,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 276
    functionName: RSA_padding_check_PKCS1_type_2
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - constant_time_ge
    - constant_time_select_8
    - OPENSSL_clear_free
    - err_clear_last_constant_time
    - constant_time_select_int
    - constant_time_is_zero
    - constant_time_lt
    - constant_time_eq
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen,\n
      \                                  const unsigned char *from, int flen,\n                                   int
      num)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:296,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:303,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:305,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:316,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:318,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:323,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:329,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:336,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:337,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:340,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:341,1
    - Dst: HMAC_Update
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:345,1
    - Dst: HMAC_Final
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:356,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:357,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:360,1
    - Dst: HMAC_Final
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:363,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:372,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:373,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 7
    argNames:
    - ctx
    - to
    - tlen
    - label
    - llen
    - kdk
    - bitlen
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - int
    - char*
    - int
    - unsigned char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 279
    functionDepth: 12
    functionLinenumber: 279
    functionLinenumberEnd: 375
    functionName: ossl_rsa_prf
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - HMAC_CTX_new
    - memcpy
    - HMAC_Final
    - HMAC_Update
    - HMAC_CTX_free
    - HMAC_Init_ex
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_prf(OSSL_LIB_CTX *ctx,\n                        unsigned
      char *to, int tlen,\n                        const char *label, int llen,\n
      \                       const unsigned char *kdk,\n                        uint16_t
      bitlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:421,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:426,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:428,1
    - Dst: ossl_rsa_prf
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:432,1
    - Dst: ossl_rsa_prf
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:436,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:461,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:462,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:469,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:470,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:475,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:476,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:486,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:499,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:501,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:511,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:521,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 7
    argNames:
    - ctx
    - to
    - tlen
    - from
    - flen
    - num
    - kdk
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 389
    functionDepth: 13
    functionLinenumber: 389
    functionLinenumberEnd: 524
    functionName: ossl_rsa_padding_check_PKCS1_type_2
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_prf
    - ERR_raise
    - constant_time_ge
    - constant_time_select_8
    - OPENSSL_free
    - constant_time_select_int
    - constant_time_is_zero
    - constant_time_lt
    - constant_time_eq
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_padding_check_PKCS1_type_2(OSSL_LIB_CTX *ctx,\n                                        unsigned
      char *to, int tlen,\n                                        const unsigned
      char *from, int flen,\n                                        int num, unsigned
      char *kdk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:562,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:570,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:572,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:576,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:577,1
    - Dst: constant_time_is_zero_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:581,1
    - Dst: constant_time_is_zero_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:582,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:594,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:597,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:614,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:617,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_pk1.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - libctx
    - to
    - tlen
    - from
    - flen
    - client_version
    - alt_version
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 547
    functionDepth: 7
    functionLinenumber: 547
    functionLinenumberEnd: 646
    functionName: ossl_rsa_padding_check_PKCS1_type_2_TLS
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pk1.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - constant_time_select_8
    - RAND_priv_bytes_ex
    - constant_time_is_zero
    - constant_time_eq
    - constant_time_is_zero_8
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_padding_check_PKCS1_type_2_TLS(OSSL_LIB_CTX *libctx,\n
      \                                           unsigned char *to, size_t tlen,\n
      \                                           const unsigned char *from,\n                                            size_t
      flen, int client_version,\n                                            int alt_version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/crypto/rsa/rsa_prn.c:27,1
    - Dst: BIO_s_file
      Src: /src/openssl/crypto/rsa/rsa_prn.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_prn.c:28,1
    - Dst: BIO_set_fp
      Src: /src/openssl/crypto/rsa/rsa_prn.c:31,1
    - Dst: RSA_print
      Src: /src/openssl/crypto/rsa/rsa_prn.c:32,1
    - Dst: BIO_free
      Src: /src/openssl/crypto/rsa/rsa_prn.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fp
    - x
    - 'off'
    argTypes:
    - FILE*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: RSA_print_fp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_prn.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - RSA_print
    - BIO_s_file
    linkageType: ''
    returnType: int
    signature: int RSA_print_fp(FILE *fp, const RSA *x, int off)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/crypto/rsa/rsa_prn.c:42,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/openssl/crypto/rsa/rsa_prn.c:45,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/crypto/rsa/rsa_prn.c:47,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/crypto/rsa/rsa_prn.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bp
    - x
    - 'off'
    argTypes:
    - BIO*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: RSA_print
    functionSourceFile: /src/openssl/crypto/rsa/rsa_prn.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_new
    - EVP_PKEY_set1_RSA
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: int RSA_print(BIO *bp, const RSA *x, int off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - to
    - tlen
    - from
    - flen
    - param
    - plen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: RSA_padding_add_PKCS1_OAEP
    functionSourceFile: /src/openssl/crypto/rsa/rsa_oaep.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen,\n                               const
      unsigned char *from, int flen,\n                               const unsigned
      char *param, int plen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:72,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:81,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:82,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:86,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:104,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:114,1
    - Dst: memset
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:117,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:120,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:122,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:126,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:131,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:138,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:146,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:147,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 9
    argNames:
    - libctx
    - to
    - tlen
    - from
    - flen
    - param
    - plen
    - md
    - mgf1md
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - EVP_MD*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 54
    functionDepth: 9
    functionLinenumber: 54
    functionLinenumberEnd: 149
    functionName: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_oaep.c
    functionUses: 2
    functionsReached:
    - EVP_MD_xof
    - ERR_raise
    - memset
    - PKCS1_MGF1
    - EVP_MD_get_size
    - memcpy
    - OPENSSL_clear_free
    - EVP_sha1
    - EVP_Digest
    - RAND_bytes_ex
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex(OSSL_LIB_CTX *libctx,\n
      \                                           unsigned char *to, int tlen,\n                                            const
      unsigned char *from, int flen,\n                                            const
      unsigned char *param,\n                                            int plen,
      const EVP_MD *md,\n                                            const EVP_MD
      *mgf1md)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - to
    - tlen
    - from
    - flen
    - param
    - plen
    - md
    - mgf1md
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    - EVP_MD*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 10
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: RSA_padding_add_PKCS1_OAEP_mgf1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_oaep.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_padding_add_PKCS1_OAEP_mgf1_ex
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,\n
      \                                   const unsigned char *from, int flen,\n                                    const
      unsigned char *param, int plen,\n                                    const EVP_MD
      *md, const EVP_MD *mgf1md)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_padding_check_PKCS1_OAEP_mgf1
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    - param
    - plen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: RSA_padding_check_PKCS1_OAEP
    functionSourceFile: /src/openssl/crypto/rsa/rsa_oaep.c
    functionUses: 1
    functionsReached:
    - RSA_padding_check_PKCS1_OAEP_mgf1
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,\n                                 const
      unsigned char *from, int flen, int num,\n                                 const
      unsigned char *param, int plen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:189,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:200,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:204,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:209,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:222,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:227,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:231,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:242,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:253,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:258,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:263,1
    - Dst: EVP_Digest
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:268,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:271,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:271,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:278,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:279,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:280,1
    - Dst: constant_time_ge
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:299,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:311,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:311,1
    - Dst: constant_time_eq
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:314,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:316,1
    - Dst: constant_time_lt
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:319,1
    - Dst: constant_time_select_8
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:332,1
    - Dst: err_clear_last_constant_time
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:333,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:336,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:337,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:338,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:340,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 9
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    - param
    - plen
    - md
    - mgf1md
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    - unsigned char*
    - int
    - EVP_MD*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 168
    functionDepth: 9
    functionLinenumber: 168
    functionLinenumberEnd: 341
    functionName: RSA_padding_check_PKCS1_OAEP_mgf1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_oaep.c
    functionUses: 1
    functionsReached:
    - EVP_MD_xof
    - ERR_raise
    - PKCS1_MGF1
    - constant_time_ge
    - constant_time_select_8
    - EVP_MD_get_size
    - OPENSSL_clear_free
    - EVP_sha1
    - EVP_Digest
    - CRYPTO_memcmp
    - err_clear_last_constant_time
    - constant_time_select_int
    - constant_time_is_zero
    - constant_time_lt
    - constant_time_eq
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,\n
      \                                     const unsigned char *from, int flen,\n
      \                                     int num, const unsigned char *param,\n
      \                                     int plen, const EVP_MD *md,\n                                      const
      EVP_MD *mgf1md)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:355,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:362,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:373,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:374,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:375,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:378,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:382,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:384,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:390,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_oaep.c:391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - mask
    - len
    - seed
    - seedlen
    - dgst
    argTypes:
    - unsigned char*
    - long
    - unsigned char*
    - long
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 350
    functionDepth: 8
    functionLinenumber: 350
    functionLinenumberEnd: 393
    functionName: PKCS1_MGF1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_oaep.c
    functionUses: 3
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - memcpy
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int PKCS1_MGF1(unsigned char *mask, long len,\n               const
      unsigned char *seed, long seedlen, const EVP_MD *dgst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_verify_PKCS1_PSS_mgf1
      Src: /src/openssl/crypto/rsa/rsa_pss.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rsa
    - mHash
    - Hash
    - EM
    - sLen
    argTypes:
    - RSA*
    - unsigned char*
    - EVP_MD*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: RSA_verify_PKCS1_PSS
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached:
    - RSA_verify_PKCS1_PSS_mgf1
    linkageType: ''
    returnType: int
    signature: "int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,\n                         const
      EVP_MD *Hash, const unsigned char *EM,\n                         int sLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_verify_PKCS1_PSS_mgf1
      Src: /src/openssl/crypto/rsa/rsa_pss.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rsa
    - mHash
    - Hash
    - mgf1Hash
    - EM
    - sLen
    argTypes:
    - RSA*
    - unsigned char*
    - EVP_MD*
    - EVP_MD*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: RSA_verify_PKCS1_PSS_mgf1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_verify_PKCS1_PSS_mgf1
    linkageType: ''
    returnType: int
    signature: "int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash,\n
      \                             const EVP_MD *Hash, const EVP_MD *mgf1Hash,\n
      \                             const unsigned char *EM, int sLen)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_pss.c:55,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_pss.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:78,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_pss.c:82,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_pss.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:103,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_pss.c:108,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/rsa/rsa_pss.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:119,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rsa/rsa_pss.c:125,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/rsa/rsa_pss.c:132,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_pss.c:133,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_pss.c:134,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_pss.c:137,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/rsa/rsa_pss.c:140,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_pss.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pss.c:151,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_pss.c:152,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 97
    argCount: 6
    argNames:
    - rsa
    - mHash
    - Hash
    - mgf1Hash
    - EM
    - sLenOut
    argTypes:
    - RSA*
    - unsigned char*
    - EVP_MD*
    - EVP_MD*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 45
    functionDepth: 9
    functionLinenumber: 45
    functionLinenumberEnd: 156
    functionName: ossl_rsa_verify_PKCS1_PSS_mgf1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 1
    functionsReached:
    - memcmp
    - ERR_raise
    - PKCS1_MGF1
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - EVP_MD_CTX_new
    - RSA_size
    - ERR_raise_data
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestInit_ex
    - BN_num_bits
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash,\n
      \                                  const EVP_MD *Hash, const EVP_MD *mgf1Hash,\n
      \                                  const unsigned char *EM, int *sLenOut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_padding_add_PKCS1_PSS_mgf1
      Src: /src/openssl/crypto/rsa/rsa_pss.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rsa
    - EM
    - mHash
    - Hash
    - sLen
    argTypes:
    - RSA*
    - unsigned char*
    - unsigned char*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: RSA_padding_add_PKCS1_PSS
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached:
    - RSA_padding_add_PKCS1_PSS_mgf1
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM,\n                              const
      unsigned char *mHash,\n                              const EVP_MD *Hash, int
      sLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_padding_add_PKCS1_PSS_mgf1
      Src: /src/openssl/crypto/rsa/rsa_pss.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rsa
    - EM
    - mHash
    - Hash
    - mgf1Hash
    - sLen
    argTypes:
    - RSA*
    - unsigned char*
    - unsigned char*
    - EVP_MD*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: RSA_padding_add_PKCS1_PSS_mgf1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_padding_add_PKCS1_PSS_mgf1
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM,\n
      \                                  const unsigned char *mHash,\n                                   const
      EVP_MD *Hash, const EVP_MD *mgf1Hash,\n                                   int
      sLen)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_pss.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:216,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_pss.c:220,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_pss.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pss.c:235,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_pss.c:239,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/crypto/rsa/rsa_pss.c:242,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_pss.c:247,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/crypto/rsa/rsa_pss.c:250,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_pss.c:251,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_pss.c:252,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/crypto/rsa/rsa_pss.c:254,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/crypto/rsa/rsa_pss.c:256,1
    - Dst: PKCS1_MGF1
      Src: /src/openssl/crypto/rsa/rsa_pss.c:260,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_pss.c:286,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_pss.c:287,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 87
    argCount: 6
    argNames:
    - rsa
    - EM
    - mHash
    - Hash
    - mgf1Hash
    - sLenOut
    argTypes:
    - RSA*
    - unsigned char*
    - unsigned char*
    - EVP_MD*
    - EVP_MD*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 173
    functionDepth: 9
    functionLinenumber: 173
    functionLinenumberEnd: 291
    functionName: ossl_rsa_padding_add_PKCS1_PSS_mgf1
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_DigestFinal_ex
    - PKCS1_MGF1
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - OPENSSL_clear_free
    - EVP_MD_CTX_new
    - RSA_size
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - RAND_bytes_ex
    - BN_num_bits
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM,\n
      \                                       const unsigned char *mHash,\n                                        const
      EVP_MD *Hash, const EVP_MD *mgf1Hash,\n                                        int
      *sLenOut)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: ossl_rsa_pss_params_30_set_defaults
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_pss_params_30_set_defaults(RSA_PSS_PARAMS_30 *rsa_pss_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_pss.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: ossl_rsa_pss_params_30_is_unrestricted
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_pss_params_30_is_unrestricted(const RSA_PSS_PARAMS_30
      *rsa_pss_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pss.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - RSA_PSS_PARAMS_30*
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: ossl_rsa_pss_params_30_copy
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_params_30_copy(RSA_PSS_PARAMS_30 *to,\n                                const
      RSA_PSS_PARAMS_30 *from)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rsa_pss_params
    - hashalg_nid
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 356
    functionName: ossl_rsa_pss_params_30_set_hashalg
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_params_30_set_hashalg(RSA_PSS_PARAMS_30 *rsa_pss_params,\n
      \                                      int hashalg_nid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rsa_pss_params
    - maskgenhashalg_nid
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: ossl_rsa_pss_params_30_set_maskgenhashalg
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_params_30_set_maskgenhashalg(RSA_PSS_PARAMS_30 *rsa_pss_params,\n
      \                                             int maskgenhashalg_nid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rsa_pss_params
    - saltlen
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: ossl_rsa_pss_params_30_set_saltlen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_params_30_set_saltlen(RSA_PSS_PARAMS_30 *rsa_pss_params,\n
      \                                      int saltlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rsa_pss_params
    - trailerfield
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: ossl_rsa_pss_params_30_set_trailerfield
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_params_30_set_trailerfield(RSA_PSS_PARAMS_30 *rsa_pss_params,\n
      \                                           int trailerfield)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: ossl_rsa_pss_params_30_hashalg
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_pss_params_30_hashalg(const RSA_PSS_PARAMS_30 *rsa_pss_params)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: ossl_rsa_pss_params_30_maskgenalg
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_pss_params_30_maskgenalg(const RSA_PSS_PARAMS_30 *rsa_pss_params)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: ossl_rsa_pss_params_30_maskgenhashalg
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_pss_params_30_maskgenhashalg(const RSA_PSS_PARAMS_30 *rsa_pss_params)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: ossl_rsa_pss_params_30_saltlen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_pss_params_30_saltlen(const RSA_PSS_PARAMS_30 *rsa_pss_params)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rsa_pss_params
    argTypes:
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: ossl_rsa_pss_params_30_trailerfield
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_pss_params_30_trailerfield(const RSA_PSS_PARAMS_30 *rsa_pss_params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA*::meth::rsa_keygen
      Src: /src/openssl/crypto/rsa/rsa_gen.c:44,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/openssl/crypto/rsa/rsa_gen.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - rsa
    - bits
    - e_value
    - cb
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: RSA_generate_key_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 2
    functionsReached:
    - RSA_generate_multi_prime_key
    - RSA*::meth::rsa_keygen
    linkageType: ''
    returnType: int
    signature: int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB
      *cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA*::meth::rsa_multi_prime_keygen
      Src: /src/openssl/crypto/rsa/rsa_gen.c:56,1
    - Dst: RSA*::meth::rsa_keygen
      Src: /src/openssl/crypto/rsa/rsa_gen.c:66,1
    - Dst: rsa_keygen
      Src: /src/openssl/crypto/rsa/rsa_gen.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - rsa
    - bits
    - primes
    - e_value
    - cb
    argTypes:
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: RSA_generate_multi_prime_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 1
    functionsReached:
    - rsa_keygen
    - RSA*::meth::rsa_multi_prime_keygen
    - RSA*::meth::rsa_keygen
    linkageType: ''
    returnType: int
    signature: "int RSA_generate_multi_prime_key(RSA *rsa, int bits, int primes,\n
      \                                BIGNUM *e_value, BN_GENCB *cb)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:88,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_gen.c:99,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_gen.c:103,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:105,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:109,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:113,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:114,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:115,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:120,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:121,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:122,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:124,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:127,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:128,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:131,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:135,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:135,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:137,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:138,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:143,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_gen.c:145,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:148,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:148,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:153,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:155,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_gen.c:157,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:160,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:160,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:169,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:169,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:171,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:171,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:173,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:175,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:176,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:177,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:180,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:181,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:181,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:183,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:185,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:185,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:191,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:194,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_gen.c:198,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:200,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:200,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_gen.c:204,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:206,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:206,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:210,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:211,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:212,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_gen.c:215,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:217,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:217,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:223,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:227,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:227,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:228,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:230,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:230,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:234,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:235,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:236,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:239,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:239,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:242,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:242,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:249,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:250,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:251,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:252,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:253,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:254,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_gen.c:255,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:256,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:257,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:258,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:259,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 172
    argCount: 7
    argNames:
    - rsa
    - bits
    - primes
    - e_value
    - factors
    - exps
    - coeffs
    argTypes:
    - RSA*
    - int
    - int
    - BIGNUM*
    - STACK_OF*
    - STACK_OF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 261
    functionName: ossl_rsa_multiprime_derive
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 0
    functionsReached:
    - BN_dup
    - BN_copy
    - sk_BIGNUM_num
    - BN_CTX_new_ex
    - BN_CTX_end
    - sk_BIGNUM_value
    - BN_CTX_free
    - sk_BIGNUM_pop_free
    - BN_new
    - BN_free
    - BN_set_flags
    - BN_mul
    - BN_mod
    - BN_clear_free
    - BN_mod_inverse
    - STACK_OF
    - BN_sub
    - BN_CTX_get
    - sk_BIGNUM_new_null
    - BN_CTX_start
    - sk_BIGNUM_insert
    - BN_value_one
    - BN_secure_new
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_multiprime_derive(RSA *rsa, int bits, int primes,\n                               BIGNUM
      *e_value,\n                               STACK_OF(BIGNUM) *factors,\n                               STACK_OF(BIGNUM)
      *exps,\n                               STACK_OF(BIGNUM) *coeffs)"
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:270,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:271,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:272,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_gen.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:284,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/crypto/rsa/rsa_gen.c:288,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:289,1
    - Dst: ossl_rsa_multip_cap
      Src: /src/openssl/crypto/rsa/rsa_gen.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:294,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:298,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:302,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:306,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_gen.c:310,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_gen.c:313,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:314,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:315,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_gen.c:316,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:330,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:332,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:334,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:335,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:337,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:339,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:340,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:342,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/openssl/crypto/rsa/rsa_gen.c:347,1
    - Dst: sk_RSA_PRIME_INFO_pop_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:352,1
    - Dst: ossl_rsa_multip_info_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:359,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/openssl/crypto/rsa/rsa_gen.c:362,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:366,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:379,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:382,1
    - Dst: BN_generate_prime_ex2
      Src: /src/openssl/crypto/rsa/rsa_gen.c:386,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:404,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_gen.c:407,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:412,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:412,1
    - Dst: ERR_set_mark
      Src: /src/openssl/crypto/rsa/rsa_gen.c:414,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:415,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:416,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/crypto/rsa/rsa_gen.c:420,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/crypto/rsa/rsa_gen.c:421,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/crypto/rsa/rsa_gen.c:422,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/crypto/rsa/rsa_gen.c:424,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/rsa/rsa_gen.c:428,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:437,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:441,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/rsa/rsa_gen.c:445,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_gen.c:447,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:450,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:450,1
    - Dst: BN_rshift
      Src: /src/openssl/crypto/rsa/rsa_gen.c:469,1
    - Dst: BN_get_word
      Src: /src/openssl/crypto/rsa/rsa_gen.c:471,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/rsa/rsa_gen.c:486,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:501,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_gen.c:502,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:511,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:513,1
    - Dst: BN_GENCB_call
      Src: /src/openssl/crypto/rsa/rsa_gen.c:515,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_gen.c:517,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:520,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_gen.c:520,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_gen.c:524,1
    - Dst: sk_BIGNUM_insert
      Src: /src/openssl/crypto/rsa/rsa_gen.c:529,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:529,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:536,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:536,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:539,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:539,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:542,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:546,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_gen.c:548,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_gen.c:548,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_gen.c:550,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_gen.c:555,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_gen.c:556,1
    - Dst: ossl_rsa_multiprime_derive
      Src: /src/openssl/crypto/rsa/rsa_gen.c:561,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:573,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:573,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:574,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:574,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:575,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:576,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:577,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_gen.c:579,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:580,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:581,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:582,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:583,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:584,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:585,1
    - Dst: sk_BIGNUM_delete
      Src: /src/openssl/crypto/rsa/rsa_gen.c:588,1
    - Dst: BN_copy
      Src: /src/openssl/crypto/rsa/rsa_gen.c:589,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:590,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:596,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:597,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:598,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_gen.c:600,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_gen.c:603,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:604,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 275
    argCount: 5
    argNames:
    - rsa
    - bits
    - primes
    - e_value
    - cb
    argTypes:
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 606
    functionName: rsa_multiprime_keygen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ERR_pop_to_mark
    - BN_generate_prime_ex2
    - BN_rshift
    - BN_copy
    - BN_dup
    - sk_BIGNUM_num
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_cmp
    - ossl_rsa_multip_info_new
    - BN_CTX_free
    - sk_BIGNUM_pop_free
    - BN_new
    - BN_get_word
    - sk_RSA_PRIME_INFO_value
    - sk_RSA_PRIME_INFO_push
    - BN_set_flags
    - BN_mul
    - ERR_GET_LIB
    - BN_clear_free
    - BN_mod_inverse
    - ERR_peek_last_error
    - STACK_OF
    - BN_GENCB_call
    - BN_sub
    - ossl_rsa_multiprime_derive
    - BN_CTX_get
    - sk_BIGNUM_new_null
    - BN_CTX_start
    - ossl_rsa_check_public_exponent
    - sk_BIGNUM_insert
    - BN_secure_new
    - BN_value_one
    - ERR_set_mark
    - ERR_GET_REASON
    - sk_RSA_PRIME_INFO_new_reserve
    - sk_RSA_PRIME_INFO_pop_free
    - sk_BIGNUM_free
    - sk_BIGNUM_delete
    - ossl_rsa_multip_cap
    linkageType: ''
    returnType: int
    signature: "int rsa_multiprime_keygen(RSA *rsa, int bits, int primes,\n                                 BIGNUM
      *e_value, BN_GENCB *cb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_sp800_56b_generate_key
      Src: /src/openssl/crypto/rsa/rsa_gen.c:615,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_gen.c:624,1
    - Dst: ossl_rsa_sp800_56b_generate_key
      Src: /src/openssl/crypto/rsa/rsa_gen.c:625,1
    - Dst: rsa_multiprime_keygen
      Src: /src/openssl/crypto/rsa/rsa_gen.c:627,1
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/crypto/rsa/rsa_gen.c:634,1
    - Dst: rsa_keygen_pairwise_test
      Src: /src/openssl/crypto/rsa/rsa_gen.c:635,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/crypto/rsa/rsa_gen.c:637,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:639,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:640,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:641,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:642,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:643,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - libctx
    - rsa
    - bits
    - primes
    - e_value
    - cb
    - pairwise_test
    argTypes:
    - OSSL_LIB_CTX*
    - RSA*
    - int
    - int
    - BIGNUM*
    - BN_GENCB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 609
    functionDepth: 6
    functionLinenumber: 609
    functionLinenumberEnd: 654
    functionName: rsa_keygen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 2
    functionsReached:
    - OSSL_SELF_TEST_get_callback
    - rsa_multiprime_keygen
    - BN_clear_free
    - rsa_keygen_pairwise_test
    - ossl_set_error_state
    - ossl_rsa_sp800_56b_generate_key
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: "int rsa_keygen(OSSL_LIB_CTX *libctx, RSA *rsa, int bits, int primes,\n
      \                     BIGNUM *e_value, BN_GENCB *cb, int pairwise_test)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/crypto/rsa/rsa_gen.c:694,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/crypto/rsa/rsa_gen.c:697,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_gen.c:706,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/crypto/rsa/rsa_gen.c:707,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/crypto/rsa/rsa_gen.c:716,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/crypto/rsa/rsa_gen.c:721,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/crypto/rsa/rsa_gen.c:723,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_gen.c:726,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/crypto/rsa/rsa_gen.c:731,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:732,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_gen.c:733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - rsa
    - cb
    - cbarg
    argTypes:
    - RSA*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 682
    functionDepth: 3
    functionLinenumber: 682
    functionLinenumberEnd: 736
    functionName: rsa_keygen_pairwise_test
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 1
    functionsReached:
    - memcmp
    - OSSL_SELF_TEST_onbegin
    - OSSL_SELF_TEST_new
    - OPENSSL_calloc
    - OSSL_SELF_TEST_onend
    - RSA_private_decrypt
    - OSSL_SELF_TEST_free
    - RSA_size
    - OPENSSL_free
    - RSA_public_encrypt
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: int rsa_keygen_pairwise_test(RSA *rsa, OSSL_CALLBACK *cb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_get_callback
      Src: /src/openssl/crypto/rsa/rsa_gen.c:745,1
    - Dst: rsa_keygen_pairwise_test
      Src: /src/openssl/crypto/rsa/rsa_gen.c:746,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/crypto/rsa/rsa_gen.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 739
    functionDepth: 4
    functionLinenumber: 739
    functionLinenumberEnd: 750
    functionName: ossl_rsa_key_pairwise_test
    functionSourceFile: /src/openssl/crypto/rsa/rsa_gen.c
    functionUses: 0
    functionsReached:
    - ossl_set_error_state
    - OSSL_SELF_TEST_get_callback
    - rsa_keygen_pairwise_test
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_key_pairwise_test(RSA *rsa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:36,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:46,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pkey
    - pstr
    - pstrtype
    argTypes:
    - EVP_PKEY*
    - ASN1_STRING**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: rsa_param_encode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ASN1_item_pack
    - RSA_test_flags
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: "int rsa_param_encode(const EVP_PKEY *pkey,\n                            ASN1_STRING
      **pstr, int *pstrtype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_param_encode
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:60,1
    - Dst: i2d_RSAPublicKey
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:62,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:64,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:67,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:67,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:71,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pk
    - pkey
    argTypes:
    - X509_PUBKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: rsa_pub_encode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - X509_PUBKEY_set0_param
    - OPENSSL_free
    - rsa_param_encode
    - OBJ_nid2obj
    - i2d_RSAPublicKey
    linkageType: ''
    returnType: int
    signature: int rsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:83,1
    - Dst: d2i_RSAPublicKey
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:85,1
    - Dst: ossl_rsa_param_decode
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:87,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:88,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:92,1
    - Dst: RSA_set_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:95,1
    - Dst: RSA_set_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:98,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:105,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pkey
    - pubkey
    argTypes:
    - EVP_PKEY*
    - X509_PUBKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 110
    functionName: rsa_pub_decode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_param_decode
    - X509_PUBKEY_get0_param
    - RSA_free
    - EVP_PKEY_assign
    - RSA_clear_flags
    - RSA_set_flags
    - d2i_RSAPublicKey
    linkageType: ''
    returnType: int
    signature: int rsa_pub_decode(EVP_PKEY *pkey, const X509_PUBKEY *pubkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:118,1
    - Dst: RSA_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:119,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:123,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: rsa_pub_cmp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - RSA_flags
    - BN_cmp
    linkageType: ''
    returnType: int
    signature: int rsa_pub_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:134,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkey
    - pder
    - derlen
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: old_rsa_priv_decode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - d2i_RSAPrivateKey
    - EVP_PKEY_assign
    linkageType: ''
    returnType: int
    signature: "int old_rsa_priv_decode(EVP_PKEY *pkey,\n                               const
      unsigned char **pder, int derlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_RSAPrivateKey
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkey
    - pder
    argTypes:
    - EVP_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: old_rsa_priv_encode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - i2d_RSAPrivateKey
    linkageType: ''
    returnType: int
    signature: int old_rsa_priv_encode(const EVP_PKEY *pkey, unsigned char **pder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rsa_param_encode
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:152,1
    - Dst: i2d_RSAPrivateKey
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:154,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:157,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:158,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:162,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:164,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:165,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - p8
    - pkey
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 171
    functionName: rsa_priv_encode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - PKCS8_pkey_set0
    - ERR_raise
    - OPENSSL_clear_free
    - ASN1_STRING_free
    - i2d_RSAPrivateKey
    - rsa_param_encode
    - OBJ_nid2obj
    linkageType: ''
    returnType: int
    signature: int rsa_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_key_from_pkcs8
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:176,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - p8
    argTypes:
    - EVP_PKEY*
    - PKCS8_PRIV_KEY_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: rsa_priv_decode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - ossl_rsa_key_from_pkcs8
    linkageType: ''
    returnType: int
    signature: int rsa_priv_decode(EVP_PKEY *pkey, const PKCS8_PRIV_KEY_INFO *p8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: int_rsa_size
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - RSA_size
    linkageType: ''
    returnType: int
    signature: int int_rsa_size(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: rsa_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int rsa_bits(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_security_bits
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: rsa_security_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - RSA_security_bits
    linkageType: ''
    returnType: int
    signature: int rsa_security_bits(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 6
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: int_rsa_free
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - RSA_free
    linkageType: ''
    returnType: void
    signature: void int_rsa_free(EVP_PKEY *pkey)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:211,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:219,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:223,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:227,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:231,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:233,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:237,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:239,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:243,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:246,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:249,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:252,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:254,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:256,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:258,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:260,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:263,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:266,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:268,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:270,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:273,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:275,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:278,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:280,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:282,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:285,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:287,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:290,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:295,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 108
    argCount: 4
    argNames:
    - bp
    - pss_key
    - pss
    - indent
    argTypes:
    - BIO*
    - int
    - RSA_PSS_PARAMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 298
    functionName: rsa_pss_param_print
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - i2a_ASN1_INTEGER
    - BIO_puts
    - i2a_ASN1_OBJECT
    - ossl_x509_algor_mgf1_decode
    - X509_ALGOR_free
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_param_print(BIO *bp, int pss_key, RSA_PSS_PARAMS *pss,\n
      \                              int indent)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:308,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:309,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:311,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:314,1
    - Dst: pkey_is_pss
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:314,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:318,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:324,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:329,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:331,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:336,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:338,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:340,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:342,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:344,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:346,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:348,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:354,1
    - Dst: BIO_indent
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:356,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:360,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:365,1
    - Dst: BIO_printf
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:370,1
    - Dst: ASN1_bn_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:377,1
    - Dst: pkey_is_pss
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:382,1
    - Dst: rsa_pss_param_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:382,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 89
    argCount: 4
    argNames:
    - bp
    - pkey
    - 'off'
    - priv
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 300
    functionDepth: 6
    functionLinenumber: 300
    functionLinenumberEnd: 387
    functionName: pkey_rsa_print
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ASN1_bn_print
    - sk_RSA_PRIME_INFO_value
    - sk_RSA_PRIME_INFO_num
    - rsa_pss_param_print
    - BIO_indent
    - pkey_is_pss
    - BN_num_bits
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int pkey_rsa_print(BIO *bp, const EVP_PKEY *pkey, int off, int priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_rsa_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 7
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: rsa_pub_print
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - pkey_rsa_print
    linkageType: ''
    returnType: int
    signature: "int rsa_pub_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                         ASN1_PCTX
      *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_rsa_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bp
    - pkey
    - indent
    - ctx
    argTypes:
    - BIO*
    - EVP_PKEY*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 7
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: rsa_priv_print
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - pkey_rsa_print
    linkageType: ''
    returnType: int
    signature: "int rsa_priv_print(BIO *bp, const EVP_PKEY *pkey, int indent,\n                          ASN1_PCTX
      *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:404,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:406,1
    - Dst: rsa_pss_param_print
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:408,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:409,1
    - Dst: BIO_puts
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:412,1
    - Dst: X509_signature_dump
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - bp
    - sigalg
    - sig
    - indent
    - pctx
    argTypes:
    - BIO*
    - X509_ALGOR*
    - ASN1_STRING*
    - int
    - ASN1_PCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 401
    functionDepth: 6
    functionLinenumber: 401
    functionLinenumberEnd: 418
    functionName: rsa_sig_print
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - X509_signature_dump
    - rsa_pss_param_print
    - RSA_PSS_PARAMS_free
    - OBJ_obj2nid
    - ossl_rsa_pss_decode
    linkageType: ''
    returnType: int
    signature: "int rsa_sig_print(BIO *bp, const X509_ALGOR *sigalg,\n                         const
      ASN1_STRING *sig, int indent, ASN1_PCTX *pctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_get_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:429,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:431,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - pkey
    - op
    - arg1
    - arg2
    argTypes:
    - EVP_PKEY*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 444
    functionName: rsa_pkey_ctrl
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_type
    - ERR_raise
    - ossl_rsa_pss_get_param
    linkageType: ''
    returnType: int
    signature: int rsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:454,1
    - Dst: EVP_PKEY_CTX_get_signature_md
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:459,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:461,1
    - Dst: EVP_PKEY_CTX_get_rsa_mgf1_md
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:464,1
    - Dst: EVP_PKEY_CTX_get_rsa_pss_saltlen
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:466,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:482,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:483,1
    - Dst: ossl_rsa_pss_params_create
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:491,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - pkctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 451
    functionDepth: 6
    functionLinenumber: 451
    functionLinenumberEnd: 492
    functionName: rsa_ctx_to_pss
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_rsa_mgf1_md
    - EVP_MD_get_size
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_get_bits
    - EVP_PKEY_get_size
    - ossl_rsa_pss_params_create
    - EVP_PKEY_CTX_get_signature_md
    - EVP_PKEY_CTX_get_rsa_pss_saltlen
    linkageType: ''
    returnType: RSA_PSS_PARAMS
    signature: RSA_PSS_PARAMS *rsa_ctx_to_pss(EVP_PKEY_CTX *pkctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RSA_PSS_PARAMS_new
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:497,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:502,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:505,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:508,1
    - Dst: ossl_x509_algor_md_to_mgf1
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:512,1
    - Dst: ossl_x509_algor_new_from_md
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:514,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:518,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - sigmd
    - mgf1md
    - saltlen
    argTypes:
    - EVP_MD*
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 494
    functionDepth: 11
    functionLinenumber: 494
    functionLinenumberEnd: 520
    functionName: ossl_rsa_pss_params_create
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 1
    functionsReached:
    - ossl_x509_algor_new_from_md
    - ossl_x509_algor_md_to_mgf1
    - ASN1_INTEGER_new
    - RSA_PSS_PARAMS_new
    - ASN1_INTEGER_set
    - RSA_PSS_PARAMS_free
    linkageType: ''
    returnType: RSA_PSS_PARAMS
    signature: "RSA_PSS_PARAMS *ossl_rsa_pss_params_create(const EVP_MD *sigmd,\n
      \                                          const EVP_MD *mgf1md, int saltlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rsa_ctx_to_pss
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:524,1
    - Dst: ASN1_item_pack
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:530,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:530,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pkctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 522
    functionDepth: 7
    functionLinenumber: 522
    functionLinenumberEnd: 533
    functionName: ossl_rsa_ctx_to_pss_string
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 1
    functionsReached:
    - ASN1_item_pack
    - rsa_ctx_to_pss
    - RSA_PSS_PARAMS_free
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: ASN1_STRING
    signature: ASN1_STRING *ossl_rsa_ctx_to_pss_string(EVP_PKEY_CTX *pkctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:550,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:551,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:555,1
    - Dst: ossl_rsa_pss_get_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:557,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:558,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:564,1
    - Dst: EVP_PKEY_CTX_get_signature_md
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:568,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:570,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:570,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:571,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:576,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:579,1
    - Dst: EVP_PKEY_CTX_set_rsa_mgf1_md
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:582,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:588,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - ctx
    - pkctx
    - sigalg
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY_CTX*
    - X509_ALGOR*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 541
    functionDepth: 6
    functionLinenumber: 541
    functionLinenumberEnd: 590
    functionName: ossl_rsa_pss_to_ctx
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - EVP_PKEY_CTX_set_rsa_padding
    - ERR_raise
    - ossl_rsa_pss_get_param
    - EVP_PKEY_CTX_set_rsa_mgf1_md
    - EVP_DigestVerifyInit
    - RSA_PSS_PARAMS_free
    - EVP_PKEY_CTX_get_signature_md
    - EVP_MD_get_type
    - OBJ_obj2nid
    - ossl_rsa_pss_decode
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_to_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pkctx,\n                        const
      X509_ALGOR *sigalg, EVP_PKEY *pkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:596,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pmd
    - pmgf1md
    - psaltlen
    - ptrailerField
    argTypes:
    - EVP_MD**
    - EVP_MD**
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 608
    functionName: rsa_pss_verify_param
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_verify_param(const EVP_MD **pmd, const EVP_MD **pmgf1md,\n
      \                               int *psaltlen, int *ptrailerField)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:623,1
    - Dst: rsa_pss_verify_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - pss
    - pmd
    - pmgf1md
    - psaltlen
    argTypes:
    - RSA_PSS_PARAMS*
    - EVP_MD**
    - EVP_MD**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 626
    functionName: ossl_rsa_pss_get_param
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 2
    functionsReached:
    - rsa_pss_verify_param
    - ossl_rsa_pss_get_param_unverified
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_get_param(const RSA_PSS_PARAMS *pss, const EVP_MD
      **pmd,\n                           const EVP_MD **pmgf1md, int *psaltlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:638,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:639,1
    - Dst: ossl_rsa_pss_to_ctx
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - sigalg
    - sig
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 633
    functionDepth: 7
    functionLinenumber: 633
    functionLinenumberEnd: 647
    functionName: rsa_item_verify
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_pss_to_ctx
    - ERR_raise
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int rsa_item_verify(EVP_MD_CTX *ctx, const ASN1_ITEM *it,\n                           const
      void *asn, const X509_ALGOR *sigalg,\n                           const ASN1_BIT_STRING
      *sig, EVP_PKEY *pkey)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:654,1
    - Dst: EVP_PKEY_CTX_get_rsa_padding
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:656,1
    - Dst: evp_pkey_ctx_is_legacy
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:665,1
    - Dst: ossl_rsa_ctx_to_pss_string
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:669,1
    - Dst: ASN1_STRING_dup
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:674,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:677,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:680,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:680,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:682,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:683,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:687,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:687,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:689,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:695,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:697,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:699,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:707,1
    - Dst: d2i_X509_ALGOR
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:713,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 6
    argNames:
    - ctx
    - it
    - asn
    - alg1
    - alg2
    - sig
    argTypes:
    - EVP_MD_CTX*
    - ASN1_ITEM*
    - void*
    - X509_ALGOR*
    - X509_ALGOR*
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 649
    functionDepth: 8
    functionLinenumber: 649
    functionLinenumberEnd: 720
    functionName: rsa_item_sign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - ASN1_STRING_dup
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_get_params
    - ASN1_STRING_free
    - ossl_rsa_ctx_to_pss_string
    - EVP_PKEY_CTX_get_rsa_padding
    - d2i_X509_ALGOR
    - OBJ_nid2obj
    - OSSL_PARAM_construct_end
    - evp_pkey_ctx_is_legacy
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: "int rsa_item_sign(EVP_MD_CTX *ctx, const ASN1_ITEM *it, const void
      *asn,\n                         X509_ALGOR *alg1, X509_ALGOR *alg2,\n                         ASN1_BIT_STRING
      *sig)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:733,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:736,1
    - Dst: ossl_rsa_pss_get_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:737,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:739,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:742,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:748,1
    - Dst: X509_SIG_INFO_set
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:771,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:775,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - siginf
    - sigalg
    - sig
    argTypes:
    - X509_SIG_INFO*
    - X509_ALGOR*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 722
    functionDepth: 6
    functionLinenumber: 722
    functionLinenumberEnd: 777
    functionName: rsa_sig_info_set
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - X509_SIG_INFO_set
    - ossl_rsa_pss_get_param
    - EVP_MD_get_size
    - RSA_PSS_PARAMS_free
    - EVP_MD_get_type
    - OBJ_obj2nid
    - ossl_rsa_pss_decode
    linkageType: ''
    returnType: int
    signature: "int rsa_sig_info_set(X509_SIG_INFO *siginf, const X509_ALGOR *sigalg,\n
      \                           const ASN1_STRING *sig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_check_key_ex
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: rsa_pkey_check
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - RSA_check_key_ex
    linkageType: ''
    returnType: int
    signature: int rsa_pkey_check(const EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: rsa_pkey_dirty_cnt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rsa_pkey_dirty_cnt(const EVP_PKEY *pkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:799,1
    - Dst: RSA_get0_n
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:807,1
    - Dst: RSA_get0_e
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:807,1
    - Dst: ossl_rsa_todata
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:810,1
    - Dst: RSA_get0_d
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:814,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:822,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:825,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:826,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:827,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:828,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:829,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:831,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:832,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:837,1
    - Dst: importer
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:841,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:844,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:845,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 6
    argNames:
    - from
    - rsa_type
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - int
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 847
    functionName: rsa_int_export_to
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - RSA_get0_d
    - ossl_rsa_pss_params_30_todata
    - OSSL_PARAM_free
    - ossl_rsa_pss_get_param_unverified
    - ossl_rsa_pss_params_30_set_defaults
    - RSA_get0_n
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - importer
    - ossl_rsa_pss_params_30_set_saltlen
    - OSSL_PARAM_BLD_free
    - ossl_rsa_pss_params_30_set_hashalg
    - ossl_rsa_todata
    - EVP_MD_get_type
    - RSA_get0_e
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int rsa_int_export_to(const EVP_PKEY *from, int rsa_type,\n                             void
      *to_keydata,\n                             OSSL_FUNC_keymgmt_import_fn *importer,\n
      \                            OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:853,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:854,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:860,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:864,1
    - Dst: RSA_set_flags
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:865,1
    - Dst: ossl_rsa_pss_params_30_fromdata
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:867,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:877,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:885,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:887,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:888,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:889,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:890,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:891,1
    - Dst: ossl_rsa_pss_params_create
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:893,1
    - Dst: ossl_rsa_fromdata
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:903,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:908,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:911,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:917,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - params
    - vpctx
    - rsa_type
    argTypes:
    - OSSL_PARAM[]
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 849
    functionDepth: 12
    functionLinenumber: 849
    functionLinenumberEnd: 919
    functionName: rsa_int_import_from
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_new_with_ctx
    - ERR_raise
    - RSA_free
    - ossl_rsa_pss_params_30_maskgenhashalg
    - EVP_PKEY_assign
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_assign_RSA
    - ossl_rsa_pss_params_30_is_unrestricted
    - RSA_clear_flags
    - EVP_get_digestbynid
    - ossl_rsa_pss_params_create
    - ossl_rsa_pss_params_30_fromdata
    - RSA_set_flags
    - ossl_rsa_fromdata
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_hashalg
    linkageType: ''
    returnType: int
    signature: "int rsa_int_import_from(const OSSL_PARAM params[], void *vpctx,\n
      \                              int rsa_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_int_export_to
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 4
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: rsa_pkey_export_to
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - rsa_int_export_to
    linkageType: ''
    returnType: int
    signature: "int rsa_pkey_export_to(const EVP_PKEY *from, void *to_keydata,\n                              OSSL_FUNC_keymgmt_import_fn
      *importer,\n                              OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_int_export_to
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - from
    - to_keydata
    - importer
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - void*
    - OSSL_FUNC_keymgmt_import_fn*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 929
    functionDepth: 4
    functionLinenumber: 929
    functionLinenumberEnd: 935
    functionName: rsa_pss_pkey_export_to
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - rsa_int_export_to
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_pkey_export_to(const EVP_PKEY *from, void *to_keydata,\n
      \                                 OSSL_FUNC_keymgmt_import_fn *importer,\n                                  OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_int_import_from
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 13
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: rsa_pkey_import_from
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - rsa_int_import_from
    linkageType: ''
    returnType: int
    signature: int rsa_pkey_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_int_import_from
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - vpctx
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 13
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: rsa_pss_pkey_import_from
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - rsa_int_import_from
    linkageType: ''
    returnType: int
    signature: int rsa_pss_pkey_import_from(const OSSL_PARAM params[], void *vpctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_dup
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:954,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:959,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_ameth.c:961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 947
    functionDepth: 6
    functionLinenumber: 947
    functionLinenumberEnd: 963
    functionName: rsa_pkey_copy
    functionSourceFile: /src/openssl/crypto/rsa/rsa_ameth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign
    - ossl_rsa_dup
    - RSA_free
    linkageType: ''
    returnType: int
    signature: int rsa_pkey_copy(EVP_PKEY *to, EVP_PKEY *from)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:32,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:37,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 6
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: rsa_cb
    functionSourceFile: /src/openssl/crypto/rsa/rsa_asn1.c
    functionUses: 0
    functionsReached:
    - RSA_new
    - RSA_free
    - ossl_rsa_multip_calc_product
    linkageType: ''
    returnType: int
    signature: "int rsa_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                 void *exarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: rsa_pss_cb
    functionSourceFile: /src/openssl/crypto/rsa/rsa_asn1.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_free
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,\n
      \                     void *exarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_free
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - operation
    - pval
    - it
    - exarg
    argTypes:
    - int
    - ASN1_VALUE**
    - ASN1_ITEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: rsa_oaep_cb
    functionSourceFile: /src/openssl/crypto/rsa/rsa_asn1.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_free
    linkageType: ''
    returnType: int
    signature: "int rsa_oaep_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM
      *it,\n                       void *exarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_dup
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:122,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: RSAPublicKey_dup
    functionSourceFile: /src/openssl/crypto/rsa/rsa_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_item_dup
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: RSA
    signature: RSA *RSAPublicKey_dup(const RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_dup
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:127,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/rsa/rsa_asn1.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: RSAPrivateKey_dup
    functionSourceFile: /src/openssl/crypto/rsa/rsa_asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_item_dup
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: RSA
    signature: RSA *RSAPrivateKey_dup(const RSA *rsa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_none.c:24,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_none.c:29,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_none.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - to
    - tlen
    - from
    - flen
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: RSA_padding_add_none
    functionSourceFile: /src/openssl/crypto/rsa/rsa_none.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_add_none(unsigned char *to, int tlen,\n                         const
      unsigned char *from, int flen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_none.c:42,1
    - Dst: memset
      Src: /src/openssl/crypto/rsa/rsa_none.c:46,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_none.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - to
    - tlen
    - from
    - flen
    - num
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: RSA_padding_check_none
    functionSourceFile: /src/openssl/crypto/rsa/rsa_none.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int RSA_padding_check_none(unsigned char *to, int tlen,\n                           const
      unsigned char *from, int flen, int num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: RSA_bits
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 2
    functionsReached:
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int RSA_bits(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: RSA_size
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 9
    functionsReached:
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: int RSA_size(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA*::meth::rsa_pub_enc
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: RSA_public_encrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 2
    functionsReached:
    - RSA*::meth::rsa_pub_enc
    linkageType: ''
    returnType: int
    signature: "int RSA_public_encrypt(int flen, const unsigned char *from, unsigned
      char *to,\n                       RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA*::meth::rsa_priv_enc
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: RSA_private_encrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 1
    functionsReached:
    - RSA*::meth::rsa_priv_enc
    linkageType: ''
    returnType: int
    signature: "int RSA_private_encrypt(int flen, const unsigned char *from,\n                        unsigned
      char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA*::meth::rsa_priv_dec
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: RSA_private_decrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 2
    functionsReached:
    - RSA*::meth::rsa_priv_dec
    linkageType: ''
    returnType: int
    signature: "int RSA_private_decrypt(int flen, const unsigned char *from,\n                        unsigned
      char *to, RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA*::meth::rsa_pub_dec
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - flen
    - from
    - to
    - rsa
    - padding
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: RSA_public_decrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 1
    functionsReached:
    - RSA*::meth::rsa_pub_dec
    linkageType: ''
    returnType: int
    signature: "int RSA_public_decrypt(int flen, const unsigned char *from, unsigned
      char *to,\n                       RSA *rsa, int padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: RSA_flags
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_flags(const RSA *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: RSA_blinding_off
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSA_blinding_off(RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: RSA_blinding_on
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RSA_blinding_on(RSA *rsa, BN_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:84,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:85,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:86,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:87,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:91,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:91,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:93,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:93,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:95,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:98,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - d
    - p
    - q
    - ctx
    argTypes:
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 102
    functionName: rsa_get_public_exp
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_mul
    - BN_CTX_end
    - BN_CTX_start
    - BN_mod_inverse
    - BN_value_one
    - BN_sub
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *rsa_get_public_exp(const BIGNUM *d, const BIGNUM *p,\n                                  const
      BIGNUM *q, BN_CTX *ctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:111,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:117,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:120,1
    - Dst: rsa_get_public_exp
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:127,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:135,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:138,1
    - Dst: BN_with_flags
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:141,1
    - Dst: BN_BLINDING_create_param
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:143,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:146,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:149,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:154,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:156,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_crpt.c:158,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - rsa
    - in_ctx
    argTypes:
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 161
    functionName: RSA_setup_blinding
    functionSourceFile: /src/openssl/crypto/rsa/rsa_crpt.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_with_flags
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - rsa_get_public_exp
    - BN_CTX_free
    - BN_new
    - BN_BLINDING_create_param
    - BN_free
    - BN_CTX_new_ex
    linkageType: ''
    returnType: BN_BLINDING
    signature: BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *in_ctx)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:31,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_chk.c:37,1
    - Dst: ossl_rsa_multip_cap
      Src: /src/openssl/crypto/rsa/rsa_chk.c:39,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_chk.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:40,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_chk.c:45,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_chk.c:46,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_chk.c:47,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_chk.c:48,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_chk.c:49,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_chk.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:54,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_chk.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:60,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/rsa/rsa_chk.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:64,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/rsa/rsa_chk.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:70,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/rsa/rsa_chk.c:74,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:76,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_chk.c:81,1
    - Dst: BN_check_prime
      Src: /src/openssl/crypto/rsa/rsa_chk.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:84,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_chk.c:89,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_chk.c:94,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_chk.c:95,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_chk.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:105,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_chk.c:109,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_chk.c:109,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_chk.c:113,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_chk.c:113,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_chk.c:119,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/rsa/rsa_chk.c:123,1
    - Dst: BN_div
      Src: /src/openssl/crypto/rsa/rsa_chk.c:127,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_chk.c:132,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_chk.c:133,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_chk.c:133,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_chk.c:137,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/rsa/rsa_chk.c:141,1
    - Dst: BN_div
      Src: /src/openssl/crypto/rsa/rsa_chk.c:145,1
    - Dst: BN_mod_mul
      Src: /src/openssl/crypto/rsa/rsa_chk.c:150,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_chk.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:157,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_chk.c:162,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_chk.c:162,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_chk.c:166,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_chk.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:172,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_chk.c:176,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_chk.c:176,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_chk.c:180,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_chk.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:186,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_chk.c:190,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_chk.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:196,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_chk.c:201,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_chk.c:203,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_chk.c:203,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_chk.c:207,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_chk.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:213,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_chk.c:216,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_chk.c:220,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:222,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_chk.c:227,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_chk.c:228,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_chk.c:229,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_chk.c:230,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_chk.c:231,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_chk.c:232,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 197
    argCount: 2
    argNames:
    - key
    - cb
    argTypes:
    - RSA*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 234
    functionName: rsa_validate_keypair_multiprime
    functionSourceFile: /src/openssl/crypto/rsa/rsa_chk.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BN_div
    - BN_is_one
    - BN_CTX_new_ex
    - BN_mod_mul
    - BN_cmp
    - BN_is_odd
    - BN_CTX_free
    - BN_new
    - sk_RSA_PRIME_INFO_value
    - BN_free
    - BN_check_prime
    - BN_mul
    - BN_mod
    - BN_mod_inverse
    - BN_gcd
    - BN_sub
    - BN_num_bits
    - sk_RSA_PRIME_INFO_num
    - BN_value_one
    - ossl_rsa_multip_cap
    linkageType: ''
    returnType: int
    signature: int rsa_validate_keypair_multiprime(const RSA *key, BN_GENCB *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/openssl/crypto/rsa/rsa_chk.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: ossl_rsa_validate_public
    functionSourceFile: /src/openssl/crypto/rsa/rsa_chk.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_sp800_56b_check_public
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_validate_public(const RSA *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/openssl/crypto/rsa/rsa_chk.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: ossl_rsa_validate_private
    functionSourceFile: /src/openssl/crypto/rsa/rsa_chk.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_sp800_56b_check_private
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_validate_private(const RSA *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/crypto/rsa/rsa_chk.c:250,1
    - Dst: RSA_bits
      Src: /src/openssl/crypto/rsa/rsa_chk.c:250,1
    - Dst: rsa_validate_keypair_multiprime
      Src: /src/openssl/crypto/rsa/rsa_chk.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 8
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: ossl_rsa_validate_pairwise
    functionSourceFile: /src/openssl/crypto/rsa/rsa_chk.c
    functionUses: 0
    functionsReached:
    - rsa_validate_keypair_multiprime
    - ossl_rsa_sp800_56b_check_keypair
    - RSA_bits
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_validate_pairwise(const RSA *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_check_key_ex
      Src: /src/openssl/crypto/rsa/rsa_chk.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: RSA_check_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_chk.c
    functionUses: 0
    functionsReached:
    - RSA_check_key_ex
    linkageType: ''
    returnType: int
    signature: int RSA_check_key(const RSA *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_validate_public
      Src: /src/openssl/crypto/rsa/rsa_chk.c:264,1
    - Dst: ossl_rsa_validate_private
      Src: /src/openssl/crypto/rsa/rsa_chk.c:265,1
    - Dst: ossl_rsa_validate_pairwise
      Src: /src/openssl/crypto/rsa/rsa_chk.c:266,1
    - Dst: rsa_validate_keypair_multiprime
      Src: /src/openssl/crypto/rsa/rsa_chk.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - key
    - cb
    argTypes:
    - RSA*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 9
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: RSA_check_key_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_chk.c
    functionUses: 2
    functionsReached:
    - rsa_validate_keypair_multiprime
    - ossl_rsa_validate_private
    - ossl_rsa_validate_pairwise
    - ossl_rsa_validate_public
    linkageType: ''
    returnType: int
    signature: int RSA_check_key_ex(const RSA *key, BN_GENCB *cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/rsa/rsa_saos.c:36,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_saos.c:37,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_saos.c:39,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_saos.c:42,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/rsa/rsa_saos.c:46,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/crypto/rsa/rsa_saos.c:47,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_saos.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - type
    - m
    - m_len
    - sigret
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 55
    functionName: RSA_sign_ASN1_OCTET_STRING
    functionSourceFile: /src/openssl/crypto/rsa/rsa_saos.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_clear_free
    - i2d_ASN1_OCTET_STRING
    - RSA_private_encrypt
    - RSA_size
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int RSA_sign_ASN1_OCTET_STRING(int type,\n                               const
      unsigned char *m, unsigned int m_len,\n                               unsigned
      char *sigret, unsigned int *siglen,\n                               RSA *rsa)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_saos.c:67,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_saos.c:68,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_saos.c:72,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/crypto/rsa/rsa_saos.c:75,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/rsa/rsa_saos.c:81,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_saos.c:86,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_saos.c:87,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/crypto/rsa/rsa_saos.c:92,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/crypto/rsa/rsa_saos.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - dtype
    - m
    - m_len
    - sigbuf
    - siglen
    - rsa
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 95
    functionName: RSA_verify_ASN1_OCTET_STRING
    functionSourceFile: /src/openssl/crypto/rsa/rsa_saos.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ERR_raise
    - RSA_public_decrypt
    - OPENSSL_clear_free
    - RSA_size
    - d2i_ASN1_OCTET_STRING
    - ASN1_OCTET_STRING_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int RSA_verify_ASN1_OCTET_STRING(int dtype,\n                                 const
      unsigned char *m,\n                                 unsigned int m_len, unsigned
      char *sigbuf,\n                                 unsigned int siglen, RSA *rsa)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:89,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:94,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:103,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:104,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:105,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:106,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:109,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:110,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:113,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:115,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:118,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:119,1
    - Dst: ossl_bn_rsa_fips186_4_gen_prob_primes
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:122,1
    - Dst: ossl_bn_rsa_fips186_4_gen_prob_primes
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:127,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:132,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:139,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:150,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:151,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:152,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:154,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:156,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:160,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 75
    argCount: 6
    argNames:
    - rsa
    - test
    - nbits
    - e
    - ctx
    - cb
    argTypes:
    - RSA*
    - RSA_ACVP_TEST*
    - int
    - BIGNUM*
    - BN_CTX*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 55
    functionDepth: 8
    functionLinenumber: 55
    functionLinenumberEnd: 162
    functionName: ossl_rsa_fips186_4_gen_prob_primes
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - ossl_rsa_check_public_exponent
    - BN_CTX_end
    - BN_clear_free
    - BN_secure_new
    - BN_clear
    - ossl_rsa_check_pminusq_diff
    - ossl_bn_rsa_fips186_4_gen_prob_primes
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_fips186_4_gen_prob_primes(RSA *rsa, RSA_ACVP_TEST *test,\n
      \                                      int nbits, const BIGNUM *e, BN_CTX *ctx,\n
      \                                      BN_GENCB *cb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - nbits
    - strength
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: ossl_rsa_sp800_56b_validate_strength
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ossl_ifc_ffc_compute_security_bits
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_sp800_56b_validate_strength(int nbits, int strength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_get_strength
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:204,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rng
    - nbits
    argTypes:
    - EVP_RAND_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: rsa_validate_rng_strength
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_get_strength
    - ERR_raise
    - ossl_ifc_ffc_compute_security_bits
    linkageType: ''
    returnType: int
    signature: int rsa_validate_rng_strength(EVP_RAND_CTX *rng, int nbits)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:242,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:243,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:244,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:245,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:246,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:247,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:251,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:252,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:253,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:254,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:255,1
    - Dst: ossl_rsa_get_lcm
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:258,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:266,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:267,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:271,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:273,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:276,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:277,1
    - Dst: BN_num_bits
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:281,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:288,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:289,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:295,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:298,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:299,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:304,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:307,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:308,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:312,1
    - Dst: BN_secure_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:313,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:316,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:317,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:324,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:326,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:328,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:330,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:332,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:334,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:337,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:338,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:339,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:340,1
    - Dst: BN_clear
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:341,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:343,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 4
    argNames:
    - rsa
    - nbits
    - e
    - ctx
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 345
    functionName: ossl_rsa_sp800_56b_derive_params_from_pq
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_mul
    - BN_CTX_end
    - BN_CTX_start
    - BN_mod
    - BN_clear_free
    - BN_mod_inverse
    - BN_secure_new
    - BN_clear
    - ossl_rsa_get_lcm
    - BN_new
    - BN_dup
    - BN_free
    - BN_num_bits
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_sp800_56b_derive_params_from_pq(RSA *rsa, int nbits,\n
      \                                            const BIGNUM *e, BN_CTX *ctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_sp800_56b_validate_strength
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:380,1
    - Dst: rsa_validate_rng_strength
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:384,1
    - Dst: RAND_get0_private
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:384,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:387,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:393,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:394,1
    - Dst: ossl_rsa_fips186_4_gen_prob_primes
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:403,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:407,1
    - Dst: ossl_rsa_sp800_56b_derive_params_from_pq
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:414,1
    - Dst: ossl_rsa_sp800_56b_pairwise_test
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:423,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:426,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:427,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 4
    argNames:
    - rsa
    - nbits
    - efixed
    - cb
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 365
    functionDepth: 14
    functionLinenumber: 365
    functionLinenumberEnd: 429
    functionName: ossl_rsa_sp800_56b_generate_key
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 1
    functionsReached:
    - rsa_validate_rng_strength
    - ossl_rsa_fips186_4_gen_prob_primes
    - BN_set_word
    - BN_cmp
    - RAND_get0_private
    - BN_CTX_free
    - BN_new
    - ossl_rsa_sp800_56b_validate_strength
    - BN_free
    - ossl_rsa_sp800_56b_pairwise_test
    - BN_CTX_new_ex
    - ossl_rsa_sp800_56b_derive_params_from_pq
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_sp800_56b_generate_key(RSA *rsa, int nbits, const BIGNUM
      *efixed,\n                                    BN_GENCB *cb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:442,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:443,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:444,1
    - Dst: BN_set_flags
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:447,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:449,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:450,1
    - Dst: BN_mod_exp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:451,1
    - Dst: BN_cmp
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:452,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:454,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 458
    functionName: ossl_rsa_sp800_56b_pairwise_test
    functionSourceFile: /src/openssl/crypto/rsa/rsa_sp800_56b_gen.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - ERR_raise
    - BN_CTX_start
    - BN_CTX_end
    - BN_set_word
    - BN_cmp
    - BN_mod_exp
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_sp800_56b_pairwise_test(RSA *rsa, BN_CTX *ctx)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:37,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:40,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:42,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:43,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:44,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:45,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:50,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:63,1
    - Dst: BN_X931_derive_prime_ex
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:67,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:73,1
    - Dst: BN_X931_derive_prime_ex
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:76,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:82,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:83,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:93,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:96,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:100,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:100,1
    - Dst: BN_sub
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:102,1
    - Dst: BN_value_one
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:102,1
    - Dst: BN_mul
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:104,1
    - Dst: BN_gcd
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:107,1
    - Dst: BN_div
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:110,1
    - Dst: BN_CTX_new
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:113,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:117,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:122,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:125,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:129,1
    - Dst: BN_mod
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:132,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:136,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:143,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:144,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:145,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 103
    argCount: 13
    argNames:
    - rsa
    - p1
    - p2
    - q1
    - q2
    - Xp1
    - Xp2
    - Xp
    - Xq1
    - Xq2
    - Xq
    - e
    - cb
    argTypes:
    - RSA*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 25
    functionDepth: 7
    functionLinenumber: 25
    functionLinenumberEnd: 148
    functionName: RSA_X931_derive_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_x931g.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_mul
    - BN_CTX_end
    - BN_CTX_start
    - BN_mod
    - BN_div
    - BN_mod_inverse
    - BN_CTX_new
    - BN_value_one
    - BN_CTX_free
    - BN_gcd
    - BN_new
    - BN_X931_derive_prime_ex
    - BN_sub
    - BN_dup
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1,\n
      \                      BIGNUM *q2, const BIGNUM *Xp1, const BIGNUM *Xp2,\n                       const
      BIGNUM *Xp, const BIGNUM *Xq1, const BIGNUM *Xq2,\n                       const
      BIGNUM *Xq, const BIGNUM *e, BN_GENCB *cb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:157,1
    - Dst: BN_CTX_start
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:161,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:162,1
    - Dst: BN_CTX_get
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:163,1
    - Dst: BN_X931_generate_Xpq
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:166,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:169,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:170,1
    - Dst: BN_X931_generate_prime_ex
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:176,1
    - Dst: BN_X931_generate_prime_ex
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:180,1
    - Dst: RSA_X931_derive_ex
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:189,1
    - Dst: BN_CTX_end
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:197,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_x931g.c:198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 4
    argNames:
    - rsa
    - bits
    - e
    - cb
    argTypes:
    - RSA*
    - int
    - BIGNUM*
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 205
    functionName: RSA_X931_generate_key_ex
    functionSourceFile: /src/openssl/crypto/rsa/rsa_x931g.c
    functionUses: 0
    functionsReached:
    - RSA_X931_derive_ex
    - BN_CTX_get
    - BN_X931_generate_prime_ex
    - BN_CTX_end
    - BN_CTX_start
    - BN_X931_generate_Xpq
    - BN_CTX_free
    - BN_new
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e,\n
      \                            BN_GENCB *cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: pkey_is_pss
    functionSourceFile: /src/openssl/crypto/rsa/rsa_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pkey_is_pss(pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: pkey_ctx_is_pss
    functionSourceFile: /src/openssl/crypto/rsa/rsa_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pkey_ctx_is_pss(ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: meth_is_a
      Src: /src/openssl/crypto/rsa/rsa_schemes.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - meth
    - items
    - items_n
    argTypes:
    - void*
    - OSSL_ITEM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: meth2nid
    functionSourceFile: /src/openssl/crypto/rsa/rsa_schemes.c
    functionUses: 0
    functionsReached:
    - meth_is_a
    linkageType: ''
    returnType: int
    signature: "int meth2nid(const void *meth,\n                    int (*meth_is_a)(const
      void *meth, const char *name),\n                    const OSSL_ITEM *items,
      size_t items_n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - meth
    - items
    - items_n
    argTypes:
    - int
    - OSSL_ITEM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: nid2name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_schemes.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *nid2name(int meth, const OSSL_ITEM *items, size_t items_n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/crypto/rsa/rsa_schemes.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 9
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: md_is_a
    functionSourceFile: /src/openssl/crypto/rsa/rsa_schemes.c
    functionUses: 0
    functionsReached:
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: int md_is_a(const void *md, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: meth2nid
      Src: /src/openssl/crypto/rsa/rsa_schemes.c:72,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/rsa/rsa_schemes.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: ossl_rsa_oaeppss_md2nid
    functionSourceFile: /src/openssl/crypto/rsa/rsa_schemes.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - meth2nid
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_oaeppss_md2nid(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nid2name
      Src: /src/openssl/crypto/rsa/rsa_schemes.c:78,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/rsa/rsa_schemes.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ossl_rsa_oaeppss_nid2name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_schemes.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - nid2name
    linkageType: ''
    returnType: char
    signature: char *ossl_rsa_oaeppss_nid2name(int md)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mgf
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ossl_rsa_mgf_nid2name
    functionSourceFile: /src/openssl/crypto/rsa/rsa_schemes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_rsa_mgf_nid2name(int mgf)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_backend.c:70,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:78,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:79,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_backend.c:81,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_backend.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:83,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:89,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/rsa/rsa_backend.c:92,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:95,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_backend.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:97,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/crypto/rsa/rsa_backend.c:102,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:107,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:108,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_backend.c:109,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_backend.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:111,1
    - Dst: RSA_set0_key
      Src: /src/openssl/crypto/rsa/rsa_backend.c:120,1
    - Dst: collect_numbers
      Src: /src/openssl/crypto/rsa/rsa_backend.c:125,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:125,1
    - Dst: collect_numbers
      Src: /src/openssl/crypto/rsa/rsa_backend.c:127,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:127,1
    - Dst: collect_numbers
      Src: /src/openssl/crypto/rsa/rsa_backend.c:129,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:129,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:133,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:134,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:139,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:140,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:148,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:150,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:155,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/crypto/rsa/rsa_backend.c:157,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_backend.c:157,1
    - Dst: sk_BIGNUM_value
      Src: /src/openssl/crypto/rsa/rsa_backend.c:158,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:159,1
    - Dst: sk_BIGNUM_pop
      Src: /src/openssl/crypto/rsa/rsa_backend.c:166,1
    - Dst: sk_BIGNUM_pop
      Src: /src/openssl/crypto/rsa/rsa_backend.c:167,1
    - Dst: ossl_rsa_sp800_56b_derive_params_from_pq
      Src: /src/openssl/crypto/rsa/rsa_backend.c:175,1
    - Dst: RSA_bits
      Src: /src/openssl/crypto/rsa/rsa_backend.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:178,1
    - Dst: ossl_rsa_multiprime_derive
      Src: /src/openssl/crypto/rsa/rsa_backend.c:187,1
    - Dst: RSA_bits
      Src: /src/openssl/crypto/rsa/rsa_backend.c:187,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:191,1
    - Dst: ossl_rsa_set0_all_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:199,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:200,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:206,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:216,1
    - Dst: ossl_rsa_set0_all_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:217,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:221,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:222,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:223,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rsa/rsa_backend.c:224,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:226,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:226,1
    - Dst: sk_BIGNUM_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:227,1
    - Dst: ossl_rsa_check_factors
      Src: /src/openssl/crypto/rsa/rsa_backend.c:232,1
    - Dst: ERR_raise_data
      Src: /src/openssl/crypto/rsa/rsa_backend.c:233,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:238,1
    - Dst: BN_clear_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:239,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:240,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:241,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:242,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:243,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:247,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:248,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:249,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:250,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:251,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:252,1
    - Dst: BN_CTX_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:253,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 117
    argCount: 3
    argNames:
    - rsa
    - params
    - include_private
    argTypes:
    - RSA*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 255
    functionName: ossl_rsa_fromdata
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_BN
    - ERR_raise
    - ossl_rsa_set0_all_params
    - RSA_bits
    - collect_numbers
    - sk_BIGNUM_num
    - BN_CTX_new_ex
    - ossl_rsa_sp800_56b_derive_params_from_pq
    - OSSL_PARAM_locate_const
    - sk_BIGNUM_pop
    - sk_BIGNUM_value
    - BN_CTX_free
    - sk_BIGNUM_pop_free
    - BN_free
    - RSA_set0_factors
    - ossl_rsa_check_factors
    - BN_clear_free
    - ERR_raise_data
    - STACK_OF
    - OSSL_PARAM_get_int
    - ossl_rsa_multiprime_derive
    - RSA_set0_key
    - sk_BIGNUM_new_null
    - sk_BIGNUM_free
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_fromdata(RSA *rsa, const OSSL_PARAM params[], int include_private)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_backend.c:264,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:264,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_backend.c:265,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:265,1
    - Dst: STACK_OF
      Src: /src/openssl/crypto/rsa/rsa_backend.c:266,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/crypto/rsa/rsa_backend.c:266,1
    - Dst: RSA_get0_key
      Src: /src/openssl/crypto/rsa/rsa_backend.c:271,1
    - Dst: ossl_rsa_get0_all_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:272,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:274,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:275,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:281,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:283,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:286,1
    - Dst: ossl_param_build_set_multi_key_bn
      Src: /src/openssl/crypto/rsa/rsa_backend.c:288,1
    - Dst: ossl_rsa_acvp_test_get_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:297,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:301,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:302,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:303,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 4
    argNames:
    - rsa
    - bld
    - params
    - include_private
    argTypes:
    - RSA*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 305
    functionName: ossl_rsa_todata
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - ossl_param_build_set_multi_key_bn
    - sk_BIGNUM_const_new_null
    - RSA_get0_key
    - ossl_rsa_get0_all_params
    - STACK_OF
    - ossl_param_build_set_bn
    - sk_BIGNUM_const_free
    - ossl_rsa_acvp_test_get_params
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_todata(RSA *rsa, OSSL_PARAM_BLD *bld, OSSL_PARAM params[],\n
      \                   int include_private)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/crypto/rsa/rsa_backend.c:310,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:311,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:312,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:313,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/crypto/rsa/rsa_backend.c:314,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:315,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:316,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:318,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/crypto/rsa/rsa_backend.c:321,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/crypto/rsa/rsa_backend.c:324,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/crypto/rsa/rsa_backend.c:327,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_backend.c:339,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_backend.c:341,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/crypto/rsa/rsa_backend.c:344,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/crypto/rsa/rsa_backend.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - pss
    - bld
    - params
    argTypes:
    - RSA_PSS_PARAMS_30*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 307
    functionDepth: 6
    functionLinenumber: 307
    functionLinenumberEnd: 350
    functionName: ossl_rsa_pss_params_30_todata
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_rsa_pss_params_30_maskgenalg
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_param_build_set_utf8_string
    - ossl_param_build_set_int
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_oaeppss_nid2name
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_params_30_todata(const RSA_PSS_PARAMS_30 *pss,\n
      \                                 OSSL_PARAM_BLD *bld, OSSL_PARAM params[])"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:367,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:369,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:371,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:373,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_backend.c:375,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/openssl/crypto/rsa/rsa_backend.c:389,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:395,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/rsa/rsa_backend.c:400,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/crypto/rsa/rsa_backend.c:403,1
    - Dst: ossl_rsa_mgf_nid2name
      Src: /src/openssl/crypto/rsa/rsa_backend.c:404,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/rsa/rsa_backend.c:418,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/rsa/rsa_backend.c:421,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:422,1
    - Dst: ossl_rsa_oaeppss_md2nid
      Src: /src/openssl/crypto/rsa/rsa_backend.c:423,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/crypto/rsa/rsa_backend.c:432,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/crypto/rsa/rsa_backend.c:435,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:436,1
    - Dst: ossl_rsa_oaeppss_md2nid
      Src: /src/openssl/crypto/rsa/rsa_backend.c:437,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/crypto/rsa/rsa_backend.c:442,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/openssl/crypto/rsa/rsa_backend.c:443,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:450,1
    - Dst: EVP_MD_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:451,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 56
    argCount: 4
    argNames:
    - pss_params
    - defaults_set
    - params
    - libctx
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int*
    - OSSL_PARAM[]
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 352
    functionDepth: 10
    functionLinenumber: 352
    functionLinenumberEnd: 453
    functionName: ossl_rsa_pss_params_30_fromdata
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - OPENSSL_strcasecmp
    - ossl_rsa_oaeppss_md2nid
    - OSSL_PARAM_locate_const
    - ossl_rsa_pss_params_30_maskgenalg
    - OSSL_PARAM_get_utf8_ptr
    - ossl_rsa_pss_params_30_set_defaults
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - ossl_rsa_mgf_nid2name
    - ossl_rsa_pss_params_30_set_saltlen
    - ossl_rsa_pss_params_30_set_hashalg
    - EVP_MD_fetch
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_params_30_fromdata(RSA_PSS_PARAMS_30 *pss_params,\n
      \                                   int *defaults_set,\n                                    const
      OSSL_PARAM params[],\n                                    OSSL_LIB_CTX *libctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get_method
      Src: /src/openssl/crypto/rsa/rsa_backend.c:458,1
    - Dst: RSA_PKCS1_OpenSSL
      Src: /src/openssl/crypto/rsa/rsa_backend.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: ossl_rsa_is_foreign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - RSA_get_method
    - RSA_PKCS1_OpenSSL
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_is_foreign(const RSA *rsa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_backend.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - BIGNUM**
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: rsa_bn_dup_check
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 0
    functionsReached:
    - BN_dup
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline rsa_bn_dup_check(BIGNUM **out, const BIGNUM *f)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_is_foreign
      Src: /src/openssl/crypto/rsa/rsa_backend.c:479,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/crypto/rsa/rsa_backend.c:482,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:487,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:489,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:496,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:500,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:502,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:504,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:506,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:508,1
    - Dst: sk_RSA_PRIME_INFO_num
      Src: /src/openssl/crypto/rsa/rsa_backend.c:520,1
    - Dst: sk_RSA_PRIME_INFO_new_reserve
      Src: /src/openssl/crypto/rsa/rsa_backend.c:521,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_backend.c:528,1
    - Dst: sk_RSA_PRIME_INFO_push
      Src: /src/openssl/crypto/rsa/rsa_backend.c:531,1
    - Dst: sk_RSA_PRIME_INFO_value
      Src: /src/openssl/crypto/rsa/rsa_backend.c:533,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:534,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:536,1
    - Dst: rsa_bn_dup_check
      Src: /src/openssl/crypto/rsa/rsa_backend.c:538,1
    - Dst: ossl_rsa_multip_calc_product
      Src: /src/openssl/crypto/rsa/rsa_backend.c:541,1
    - Dst: RSA_PSS_PARAMS_dup
      Src: /src/openssl/crypto/rsa/rsa_backend.c:546,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/openssl/crypto/rsa/rsa_backend.c:549,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/crypto/rsa/rsa_backend.c:554,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:562,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 78
    argCount: 2
    argNames:
    - rsa
    - selection
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 471
    functionDepth: 6
    functionLinenumber: 471
    functionLinenumberEnd: 564
    functionName: ossl_rsa_dup
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_new_with_ctx
    - ossl_rsa_is_foreign
    - OPENSSL_zalloc
    - rsa_bn_dup_check
    - RSA_free
    - ossl_rsa_multip_calc_product
    - CRYPTO_dup_ex_data
    - sk_RSA_PRIME_INFO_num
    - ossl_x509_algor_mgf1_decode
    - sk_RSA_PRIME_INFO_new_reserve
    - sk_RSA_PRIME_INFO_value
    - sk_RSA_PRIME_INFO_push
    - RSA_PSS_PARAMS_dup
    linkageType: ''
    returnType: RSA
    signature: RSA *ossl_rsa_dup(const RSA *rsa, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TYPE_unpack_sequence
      Src: /src/openssl/crypto/rsa/rsa_backend.c:571,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/crypto/rsa/rsa_backend.c:571,1
    - Dst: ossl_x509_algor_mgf1_decode
      Src: /src/openssl/crypto/rsa/rsa_backend.c:578,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 586
    functionName: ossl_rsa_pss_decode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 4
    functionsReached:
    - ossl_x509_algor_mgf1_decode
    - ASN1_TYPE_unpack_sequence
    - RSA_PSS_PARAMS_free
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: RSA_PSS_PARAMS
    signature: RSA_PSS_PARAMS *ossl_rsa_pss_decode(const X509_ALGOR *alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_get0_pss_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:594,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/crypto/rsa/rsa_backend.c:595,1
    - Dst: ossl_rsa_pss_get_param_unverified
      Src: /src/openssl/crypto/rsa/rsa_backend.c:609,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_backend.c:612,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_backend.c:613,1
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/openssl/crypto/rsa/rsa_backend.c:614,1
    - Dst: ossl_rsa_pss_params_30_set_hashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:615,1
    - Dst: ossl_rsa_pss_params_30_set_maskgenhashalg
      Src: /src/openssl/crypto/rsa/rsa_backend.c:616,1
    - Dst: ossl_rsa_pss_params_30_set_saltlen
      Src: /src/openssl/crypto/rsa/rsa_backend.c:618,1
    - Dst: ossl_rsa_pss_params_30_set_trailerfield
      Src: /src/openssl/crypto/rsa/rsa_backend.c:619,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - rsa
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 625
    functionName: ossl_rsa_sync_to_pss_params_30
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_get0_pss_params_30
    - ossl_rsa_pss_params_30_set_trailerfield
    - ossl_rsa_pss_get_param_unverified
    - ossl_rsa_pss_params_30_set_defaults
    - ossl_rsa_pss_params_30_set_maskgenhashalg
    - ossl_rsa_pss_params_30_set_saltlen
    - ossl_rsa_pss_params_30_set_hashalg
    - EVP_MD_get_type
    - RSA_get0_pss_params
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_sync_to_pss_params_30(RSA *rsa)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_set_defaults
      Src: /src/openssl/crypto/rsa/rsa_backend.c:634,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/openssl/crypto/rsa/rsa_backend.c:638,1
    - Dst: ossl_x509_algor_get_md
      Src: /src/openssl/crypto/rsa/rsa_backend.c:641,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/rsa/rsa_backend.c:645,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/crypto/rsa/rsa_backend.c:647,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/crypto/rsa/rsa_backend.c:649,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/openssl/crypto/rsa/rsa_backend.c:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - pss
    - pmd
    - pmgf1md
    - psaltlen
    - ptrailerField
    argTypes:
    - RSA_PSS_PARAMS*
    - EVP_MD**
    - EVP_MD**
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 627
    functionDepth: 5
    functionLinenumber: 627
    functionLinenumberEnd: 654
    functionName: ossl_rsa_pss_get_param_unverified
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 4
    functionsReached:
    - ossl_x509_algor_get_md
    - ossl_rsa_pss_params_30_set_defaults
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_trailerfield
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: "int ossl_rsa_pss_get_param_unverified(const RSA_PSS_PARAMS *pss,\n
      \                                     const EVP_MD **pmd, const EVP_MD **pmgf1md,\n
      \                                     int *psaltlen, int *ptrailerField)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/crypto/rsa/rsa_backend.c:663,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/rsa/rsa_backend.c:664,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:669,1
    - Dst: ossl_rsa_pss_decode
      Src: /src/openssl/crypto/rsa/rsa_backend.c:672,1
    - Dst: ossl_rsa_set0_pss_params
      Src: /src/openssl/crypto/rsa/rsa_backend.c:673,1
    - Dst: RSA_PSS_PARAMS_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:674,1
    - Dst: ossl_rsa_sync_to_pss_params_30
      Src: /src/openssl/crypto/rsa/rsa_backend.c:677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - rsa
    - alg
    argTypes:
    - RSA*
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 656
    functionDepth: 6
    functionLinenumber: 656
    functionLinenumberEnd: 680
    functionName: ossl_rsa_param_decode
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - X509_ALGOR_get0
    - ossl_rsa_sync_to_pss_params_30
    - RSA_PSS_PARAMS_free
    - ossl_rsa_set0_pss_params
    - OBJ_obj2nid
    - ossl_rsa_pss_decode
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_param_decode(RSA *rsa, const X509_ALGOR *alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/crypto/rsa/rsa_backend.c:690,1
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/crypto/rsa/rsa_backend.c:692,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_backend.c:694,1
    - Dst: ossl_rsa_param_decode
      Src: /src/openssl/crypto/rsa/rsa_backend.c:697,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_backend.c:698,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/crypto/rsa/rsa_backend.c:702,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/crypto/rsa/rsa_backend.c:703,1
    - Dst: RSA_set_flags
      Src: /src/openssl/crypto/rsa/rsa_backend.c:705,1
    - Dst: RSA_set_flags
      Src: /src/openssl/crypto/rsa/rsa_backend.c:708,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 682
    functionDepth: 7
    functionLinenumber: 682
    functionLinenumberEnd: 716
    functionName: ossl_rsa_key_from_pkcs8
    functionSourceFile: /src/openssl/crypto/rsa/rsa_backend.c
    functionUses: 1
    functionsReached:
    - ossl_rsa_param_decode
    - ERR_raise
    - RSA_free
    - RSA_clear_flags
    - d2i_RSAPrivateKey
    - PKCS8_pkey_get0
    - RSA_set_flags
    - OBJ_obj2nid
    linkageType: ''
    returnType: RSA
    signature: "RSA *ossl_rsa_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf,\n                             OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:23,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:24,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:25,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:26,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:27,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:28,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:33,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:38,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:45,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:49,1
    - Dst: ossl_rsa_acvp_test_gen_params_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:56,1
    - Dst: ossl_rsa_acvp_test_gen_params_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - OSSL_PARAM**
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 63
    functionName: ossl_rsa_acvp_test_gen_params_new
    functionSourceFile: /src/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_PARAM_locate_const
    - OPENSSL_memdup
    - OSSL_PARAM_BN
    - ossl_rsa_acvp_test_gen_params_free
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_acvp_test_gen_params_new(OSSL_PARAM **dst, const OSSL_PARAM
      src[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:73,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dst
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: ossl_rsa_acvp_test_gen_params_free
    functionSourceFile: /src/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rsa_acvp_test_gen_params_free(OSSL_PARAM *dst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_acvp_test_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:85,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:89,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:94,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:95,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:97,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:98,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:100,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:101,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:103,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:104,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:106,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:107,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:109,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:110,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:114,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:115,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:116,1
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:117,1
    - Dst: ossl_rsa_acvp_test_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:121,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - r
    - params
    argTypes:
    - RSA*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 123
    functionName: ossl_rsa_acvp_test_set_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_acvp_test_free
    - OPENSSL_zalloc
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_locate_const
    - BN_new
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_acvp_test_set_params(RSA *r, const OSSL_PARAM params[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:135,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:136,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:138,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:139,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:141,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:142,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:144,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - r
    - params
    argTypes:
    - RSA*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: ossl_rsa_acvp_test_get_params
    functionSourceFile: /src/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_BN
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_acvp_test_get_params(RSA *r, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:154,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:155,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:156,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:157,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:158,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:159,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:160,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:161,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:162,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:163,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_acvp_test_params.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - RSA_ACVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: ossl_rsa_acvp_test_free
    functionSourceFile: /src/openssl/crypto/rsa/rsa_acvp_test_params.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ossl_rsa_acvp_test_free(RSA_ACVP_TEST *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/crypto/rsa/rsa_err.c:162,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/crypto/rsa/rsa_err.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: ossl_err_load_RSA_strings
    functionSourceFile: /src/openssl/crypto/rsa/rsa_err.c
    functionUses: 1
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_RSA_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: rsa_pss_restricted
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rsa_pss_restricted(rctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:64,1
    - Dst: pkey_ctx_is_pss
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: pkey_rsa_init
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - pkey_ctx_is_pss
    linkageType: ''
    returnType: int
    signature: int pkey_rsa_init(EVP_PKEY_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pkey_rsa_init
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:89,1
    - Dst: BN_dup
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:105,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: pkey_rsa_copy
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - BN_dup
    - OPENSSL_free
    - pkey_rsa_init
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int pkey_rsa_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:119,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:119,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pk
    argTypes:
    - RSA_PKEY_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 9
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: setup_tbuf
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_RSA
    - OPENSSL_malloc
    - RSA_size
    linkageType: ''
    returnType: int
    signature: int setup_tbuf(RSA_PKEY_CTX *ctx, EVP_PKEY_CTX *pk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:130,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: pkey_rsa_cleanup
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void pkey_rsa_cleanup(EVP_PKEY_CTX *ctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:146,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:152,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:157,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:161,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:165,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:172,1
    - Dst: setup_tbuf
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:176,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:179,1
    - Dst: RSA_X931_hash_id
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:180,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:180,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:181,1
    - Dst: RSA_sign
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:185,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:185,1
    - Dst: setup_tbuf
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:191,1
    - Dst: RSA_padding_add_PKCS1_PSS_mgf1
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:193,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:198,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:198,1
    - Dst: RSA_private_encrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:204,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 135
    functionDepth: 10
    functionLinenumber: 135
    functionLinenumberEnd: 210
    functionName: pkey_rsa_sign
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - RSA_padding_add_PKCS1_PSS_mgf1
    - ERR_raise
    - EVP_MD_get_size
    - setup_tbuf
    - memcpy
    - RSA_private_encrypt
    - RSA_size
    - EVP_PKEY_get0_RSA
    - RSA_sign_ASN1_OCTET_STRING
    - EVP_MD_get_type
    - RSA_X931_hash_id
    - RSA_sign
    linkageType: ''
    returnType: int
    signature: "int pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig,\n                         size_t
      *siglen, const unsigned char *tbs,\n                         size_t tbslen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:223,1
    - Dst: setup_tbuf
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:227,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:229,1
    - Dst: RSA_X931_hash_id
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:234,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:234,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:235,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:239,1
    - Dst: memcpy
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:243,1
    - Dst: ossl_rsa_verify
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:246,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:246,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:256,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - ctx
    - rout
    - routlen
    - sig
    - siglen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 212
    functionDepth: 10
    functionLinenumber: 212
    functionLinenumberEnd: 262
    functionName: pkey_rsa_verifyrecover
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - RSA_public_decrypt
    - EVP_MD_get_size
    - setup_tbuf
    - memcpy
    - EVP_PKEY_get0_RSA
    - ossl_rsa_verify
    - EVP_MD_get_type
    - RSA_X931_hash_id
    linkageType: ''
    returnType: int
    signature: "int pkey_rsa_verifyrecover(EVP_PKEY_CTX *ctx,\n                                  unsigned
      char *rout, size_t *routlen,\n                                  const unsigned
      char *sig, size_t siglen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:274,1
    - Dst: RSA_verify
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:280,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:280,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:282,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:284,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:288,1
    - Dst: pkey_rsa_verifyrecover
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:292,1
    - Dst: setup_tbuf
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:296,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:298,1
    - Dst: RSA_verify_PKCS1_PSS_mgf1
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:302,1
    - Dst: setup_tbuf
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:312,1
    - Dst: RSA_public_decrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:314,1
    - Dst: memcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:320,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 264
    functionDepth: 11
    functionLinenumber: 264
    functionLinenumberEnd: 325
    functionName: pkey_rsa_verify
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ERR_raise
    - RSA_public_decrypt
    - EVP_MD_get_size
    - setup_tbuf
    - RSA_verify
    - EVP_PKEY_get0_RSA
    - RSA_verify_PKCS1_PSS_mgf1
    - pkey_rsa_verifyrecover
    - EVP_MD_get_type
    linkageType: ''
    returnType: int
    signature: "int pkey_rsa_verify(EVP_PKEY_CTX *ctx,\n                           const
      unsigned char *sig, size_t siglen,\n                           const unsigned
      char *tbs, size_t tbslen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:338,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:341,1
    - Dst: setup_tbuf
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:342,1
    - Dst: RSA_padding_add_PKCS1_OAEP_mgf1
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:344,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:350,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 327
    functionDepth: 11
    functionLinenumber: 327
    functionLinenumberEnd: 358
    functionName: pkey_rsa_encrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - setup_tbuf
    - RSA_size
    - EVP_PKEY_get0_RSA
    - RSA_public_encrypt
    - RSA_padding_add_PKCS1_OAEP_mgf1
    linkageType: ''
    returnType: int
    signature: "int pkey_rsa_encrypt(EVP_PKEY_CTX *ctx,\n                            unsigned
      char *out, size_t *outlen,\n                            const unsigned char
      *in, size_t inlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:372,1
    - Dst: setup_tbuf
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:375,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:377,1
    - Dst: RSA_padding_check_PKCS1_OAEP_mgf1
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:380,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:391,1
    - Dst: constant_time_select_s
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:393,1
    - Dst: constant_time_msb_s
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:393,1
    - Dst: constant_time_select_int
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:394,1
    - Dst: constant_time_msb
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 360
    functionDepth: 10
    functionLinenumber: 360
    functionLinenumberEnd: 396
    functionName: pkey_rsa_decrypt
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - constant_time_msb
    - RSA_padding_check_PKCS1_OAEP_mgf1
    - setup_tbuf
    - RSA_private_decrypt
    - EVP_PKEY_get0_RSA
    - constant_time_select_int
    - constant_time_select_s
    - constant_time_msb_s
    linkageType: ''
    returnType: int
    signature: "int pkey_rsa_decrypt(EVP_PKEY_CTX *ctx,\n                            unsigned
      char *out, size_t *outlen,\n                            const unsigned char
      *in, size_t inlen)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:408,1
    - Dst: RSA_X931_hash_id
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:413,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:414,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 2
    argNames:
    - md
    - padding
    argTypes:
    - EVP_MD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 447
    functionName: check_padding_md
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_type
    - ERR_raise
    - RSA_X931_hash_id
    linkageType: ''
    returnType: int
    signature: int check_padding_md(const EVP_MD *md, int padding)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: check_padding_md
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:457,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:464,1
    - Dst: pkey_ctx_is_pss
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:465,1
    - Dst: EVP_sha1
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:472,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:478,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:488,1
    - Dst: rsa_pss_restricted
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:496,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:499,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:502,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:504,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:520,1
    - Dst: BN_is_odd
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:527,1
    - Dst: BN_is_one
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:527,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:528,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:531,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:537,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:546,1
    - Dst: check_padding_md
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:556,1
    - Dst: rsa_pss_restricted
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:558,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:559,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:575,1
    - Dst: rsa_pss_restricted
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:584,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:585,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:585,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:596,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:599,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:611,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:623,1
    - Dst: pkey_ctx_is_pss
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:642,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:646,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 177
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 653
    functionName: pkey_rsa_ctrl
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_MD_get_size
    - BN_is_one
    - EVP_sha1
    - rsa_pss_restricted
    - check_padding_md
    - BN_is_odd
    - OPENSSL_free
    - EVP_MD_get_type
    - BN_free
    - pkey_ctx_is_pss
    linkageType: ''
    returnType: int
    signature: int pkey_rsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:659,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:662,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:665,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:667,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:669,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:671,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:673,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:675,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:678,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:681,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:684,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:687,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:689,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:691,1
    - Dst: atoi
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:694,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:695,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:698,1
    - Dst: atoi
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:699,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:701,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:704,1
    - Dst: BN_asc2bn
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:708,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:710,1
    - Dst: BN_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:711,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:715,1
    - Dst: atoi
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:716,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_primes
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:718,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:721,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:722,1
    - Dst: pkey_ctx_is_pss
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:726,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:728,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:729,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:732,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:733,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:736,1
    - Dst: atoi
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:737,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:739,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:743,1
    - Dst: EVP_PKEY_CTX_md
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:744,1
    - Dst: strcmp
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:747,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:752,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:755,1
    - Dst: OPENSSL_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:757,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 3
    argNames:
    - ctx
    - type
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 655
    functionDepth: 7
    functionLinenumber: 655
    functionLinenumberEnd: 762
    functionName: pkey_rsa_ctrl_str
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_keygen_primes
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - EVP_PKEY_CTX_set_rsa_padding
    - ERR_raise
    - atoi
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - OPENSSL_hexstr2buf
    - BN_asc2bn
    - OPENSSL_free
    - strcmp
    - EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen
    - BN_free
    - pkey_ctx_is_pss
    - EVP_PKEY_CTX_md
    linkageType: ''
    returnType: int
    signature: "int pkey_rsa_ctrl_str(EVP_PKEY_CTX *ctx,\n                             const
      char *type, const char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pkey_ctx_is_pss
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:769,1
    - Dst: ossl_rsa_pss_params_create
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - rsa
    - ctx
    argTypes:
    - RSA*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 765
    functionDepth: 12
    functionLinenumber: 765
    functionLinenumberEnd: 780
    functionName: rsa_set_pss_param
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_pss_params_create
    - pkey_ctx_is_pss
    linkageType: ''
    returnType: int
    signature: int rsa_set_pss_param(RSA *rsa, EVP_PKEY_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:790,1
    - Dst: BN_set_word
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:791,1
    - Dst: RSA_new
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:794,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:798,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:800,1
    - Dst: evp_pkey_set_cb_translate
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:803,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:807,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:809,1
    - Dst: rsa_set_pss_param
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:810,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:811,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:815,1
    - Dst: RSA_free
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:817,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 782
    functionDepth: 13
    functionLinenumber: 782
    functionLinenumberEnd: 819
    functionName: pkey_rsa_keygen
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_new
    - RSA_free
    - EVP_PKEY_assign
    - BN_set_word
    - RSA_new
    - evp_pkey_set_cb_translate
    - BN_GENCB_free
    - BN_new
    - RSA_generate_multi_prime_key
    - rsa_set_pss_param
    linkageType: ''
    returnType: int
    signature: int pkey_rsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: ossl_rsa_pkey_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_rsa_pkey_method(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pkey_ctx_is_pss
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:875,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:877,1
    - Dst: ossl_rsa_pss_get_param
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:882,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:886,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:888,1
    - Dst: RSA_size
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:891,1
    - Dst: RSA_bits
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:892,1
    - Dst: ERR_raise
      Src: /src/openssl/crypto/rsa/rsa_pmeth.c:895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 866
    functionDepth: 9
    functionLinenumber: 866
    functionLinenumberEnd: 911
    functionName: pkey_pss_init
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_rsa_pss_get_param
    - EVP_MD_get_size
    - RSA_size
    - EVP_PKEY_get0_RSA
    - RSA_bits
    - pkey_ctx_is_pss
    linkageType: ''
    returnType: int
    signature: int pkey_pss_init(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: ossl_rsa_pss_pkey_method
    functionSourceFile: /src/openssl/crypto/rsa/rsa_pmeth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY_METHOD
    signature: EVP_PKEY_METHOD *ossl_rsa_pss_pkey_method(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/des/ecb_enc.c:28,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/des/ecb_enc.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: DES_options
    functionSourceFile: /src/openssl/crypto/des/ecb_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strlcpy
    linkageType: ''
    returnType: char
    signature: char *DES_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/ecb_enc.c:44,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ecb_enc.c:46,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/ecb_enc.c:48,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ecb_enc.c:50,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ecb_enc.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - input
    - output
    - ks
    - enc
    argTypes:
    - const_DES_cblock*
    - DES_cblock*
    - DES_key_schedule*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: DES_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/des/ecb_enc.c
    functionUses: 1
    functionsReached:
    - c2l
    - DES_encrypt1
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,\n
      \                    DES_key_schedule *ks, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/ecb3_enc.c:27,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ecb3_enc.c:28,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/ecb3_enc.c:32,1
    - Dst: DES_decrypt3
      Src: /src/openssl/crypto/des/ecb3_enc.c:34,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ecb3_enc.c:37,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ecb3_enc.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - input
    - output
    - ks1
    - ks2
    - ks3
    - enc
    argTypes:
    - const_DES_cblock*
    - DES_cblock*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 39
    functionName: DES_ecb3_encrypt
    functionSourceFile: /src/openssl/crypto/des/ecb3_enc.c
    functionUses: 1
    functionsReached:
    - c2l
    - l2c
    - DES_decrypt3
    - DES_encrypt3
    linkageType: ''
    returnType: void
    signature: "void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output,\n
      \                     DES_key_schedule *ks1, DES_key_schedule *ks2,\n                      DES_key_schedule
      *ks3, int enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64enc.c:38,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64enc.c:40,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/cfb64enc.c:42,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64enc.c:45,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64enc.c:47,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64enc.c:58,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64enc.c:60,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/cfb64enc.c:62,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64enc.c:65,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64enc.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 79
    functionName: DES_cfb64_encrypt
    functionSourceFile: /src/openssl/crypto/des/cfb64enc.c
    functionUses: 1
    functionsReached:
    - c2l
    - DES_encrypt1
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_cfb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                      long length, DES_key_schedule *schedule,\n                       DES_cblock
      *ivec, int *num, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IP
      Src: /src/openssl/crypto/des/des_enc.c:28,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/des_enc.c:37,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/des_enc.c:38,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:46,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:47,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:48,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:49,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:50,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:51,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:52,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:53,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:54,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:55,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:56,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:57,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:58,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:59,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:60,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:61,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:63,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:64,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:65,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:66,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:67,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:68,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:69,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:70,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:71,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:72,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:73,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:74,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:75,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:76,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:77,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:78,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/des_enc.c:82,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/des_enc.c:83,1
    - Dst: FP
      Src: /src/openssl/crypto/des/des_enc.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 3
    argNames:
    - data
    - ks
    - enc
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 89
    functionName: DES_encrypt1
    functionSourceFile: /src/openssl/crypto/des/des_enc.c
    functionUses: 3
    functionsReached:
    - IP
    - ROTATE
    - FP
    - D_ENCRYPT
    linkageType: ''
    returnType: void
    signature: void DES_encrypt1(DES_LONG *data, DES_key_schedule *ks, int enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/des_enc.c:106,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/des_enc.c:107,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:115,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:116,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:117,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:118,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:119,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:120,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:121,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:122,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:123,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:124,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:125,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:126,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:127,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:128,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:129,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:130,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:132,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:133,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:134,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:135,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:136,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:137,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:138,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:139,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:140,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:141,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:142,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:143,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:144,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:145,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:146,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/des_enc.c:147,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/des_enc.c:150,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/des_enc.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 3
    argNames:
    - data
    - ks
    - enc
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 153
    functionName: DES_encrypt2
    functionSourceFile: /src/openssl/crypto/des/des_enc.c
    functionUses: 0
    functionsReached:
    - ROTATE
    - D_ENCRYPT
    linkageType: ''
    returnType: void
    signature: void DES_encrypt2(DES_LONG *data, DES_key_schedule *ks, int enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP
      Src: /src/openssl/crypto/des/des_enc.c:162,1
    - Dst: DES_encrypt2
      Src: /src/openssl/crypto/des/des_enc.c:165,1
    - Dst: DES_encrypt2
      Src: /src/openssl/crypto/des/des_enc.c:166,1
    - Dst: DES_encrypt2
      Src: /src/openssl/crypto/des/des_enc.c:167,1
    - Dst: FP
      Src: /src/openssl/crypto/des/des_enc.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - data
    - ks1
    - ks2
    - ks3
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: DES_encrypt3
    functionSourceFile: /src/openssl/crypto/des/des_enc.c
    functionUses: 1
    functionsReached:
    - IP
    - DES_encrypt2
    - FP
    linkageType: ''
    returnType: void
    signature: "void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1,\n                  DES_key_schedule
      *ks2, DES_key_schedule *ks3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IP
      Src: /src/openssl/crypto/des/des_enc.c:182,1
    - Dst: DES_encrypt2
      Src: /src/openssl/crypto/des/des_enc.c:185,1
    - Dst: DES_encrypt2
      Src: /src/openssl/crypto/des/des_enc.c:186,1
    - Dst: DES_encrypt2
      Src: /src/openssl/crypto/des/des_enc.c:187,1
    - Dst: FP
      Src: /src/openssl/crypto/des/des_enc.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - data
    - ks1
    - ks2
    - ks3
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: DES_decrypt3
    functionSourceFile: /src/openssl/crypto/des/des_enc.c
    functionUses: 1
    functionsReached:
    - IP
    - DES_encrypt2
    - FP
    linkageType: ''
    returnType: void
    signature: "void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1,\n                  DES_key_schedule
      *ks2, DES_key_schedule *ks3)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:218,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:219,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:221,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:222,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/des_enc.c:228,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:232,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:233,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/des_enc.c:236,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/des_enc.c:242,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:246,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:247,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:250,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:251,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:255,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:256,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:258,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:259,1
    - Dst: DES_decrypt3
      Src: /src/openssl/crypto/des/des_enc.c:266,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:272,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:273,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:278,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/des_enc.c:279,1
    - Dst: DES_decrypt3
      Src: /src/openssl/crypto/des/des_enc.c:286,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/des_enc.c:292,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:298,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/des_enc.c:299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 77
    argCount: 8
    argNames:
    - input
    - output
    - length
    - ks1
    - ks2
    - ks3
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_cblock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 303
    functionName: DES_ede3_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/des/des_enc.c
    functionUses: 1
    functionsReached:
    - c2l
    - c2ln
    - l2cn
    - DES_encrypt3
    - DES_decrypt3
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char
      *output,\n                          long length, DES_key_schedule *ks1,\n                          DES_key_schedule
      *ks2, DES_key_schedule *ks3,\n                          DES_cblock *ivec, int
      enc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/cbc_cksm.c:28,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cbc_cksm.c:29,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cbc_cksm.c:32,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cbc_cksm.c:33,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/cbc_cksm.c:35,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/cbc_cksm.c:41,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cbc_cksm.c:46,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cbc_cksm.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - in
    - output
    - length
    - schedule
    - ivec
    argTypes:
    - unsigned char*
    - DES_cblock*
    - long
    - DES_key_schedule*
    - const_DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 59
    functionName: DES_cbc_cksum
    functionSourceFile: /src/openssl/crypto/des/cbc_cksm.c
    functionUses: 0
    functionsReached:
    - c2l
    - DES_encrypt1
    - l2c
    - c2ln
    linkageType: ''
    returnType: DES_LONG
    signature: "DES_LONG DES_cbc_cksum(const unsigned char *in, DES_cblock *output,\n
      \                      long length, DES_key_schedule *schedule,\n                       const_DES_cblock
      *ivec)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/ofb_enc.c:52,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ofb_enc.c:53,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/ofb_enc.c:59,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/ofb_enc.c:62,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/ofb_enc.c:66,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb_enc.c:85,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb_enc.c:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 6
    argNames:
    - in
    - out
    - numbits
    - length
    - schedule
    - ivec
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - long
    - DES_key_schedule*
    - DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 88
    functionName: DES_ofb_encrypt
    functionSourceFile: /src/openssl/crypto/des/ofb_enc.c
    functionUses: 0
    functionsReached:
    - c2l
    - c2ln
    - l2cn
    - DES_encrypt1
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_ofb_encrypt(const unsigned char *in, unsigned char *out,
      int numbits,\n                     long length, DES_key_schedule *schedule,\n
      \                    DES_cblock *ivec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:34,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:35,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:37,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:38,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:43,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:44,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:46,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:47,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/xcbc_enc.c:52,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:54,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:56,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/xcbc_enc.c:59,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/xcbc_enc.c:64,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:66,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:68,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:71,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:72,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:74,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:75,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:77,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:79,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/xcbc_enc.c:81,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:84,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:85,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:90,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/xcbc_enc.c:92,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/xcbc_enc.c:94,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/xcbc_enc.c:97,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:103,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/xcbc_enc.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 74
    argCount: 8
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - inw
    - outw
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - const_DES_cblock*
    - const_DES_cblock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 109
    functionName: DES_xcbc_encrypt
    functionSourceFile: /src/openssl/crypto/des/xcbc_enc.c
    functionUses: 1
    functionsReached:
    - c2l
    - c2ln
    - l2cn
    - DES_encrypt1
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_xcbc_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     long length, DES_key_schedule *schedule,\n                      DES_cblock
      *ivec, const_DES_cblock *inw,\n                      const_DES_cblock *outw,
      int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: DES_set_odd_parity
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DES_set_odd_parity(DES_cblock *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq_8
      Src: /src/openssl/crypto/des/set_key.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - const_DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: DES_check_key_parity
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 0
    functionsReached:
    - constant_time_eq_8
    linkageType: ''
    returnType: int
    signature: int DES_check_key_parity(const_DES_cblock *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/crypto/des/set_key.c:124,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/crypto/des/set_key.c:125,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/crypto/des/set_key.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - const_DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: DES_is_weak_key
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - CRYPTO_memcmp
    - constant_time_is_zero
    linkageType: ''
    returnType: int
    signature: int DES_is_weak_key(const_DES_cblock *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - t
    - ','
    - n
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: HPERM_OP
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HPERM_OP(a,t,n,m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_check_key_parity
      Src: /src/openssl/crypto/des/set_key.c:302,1
    - Dst: DES_is_weak_key
      Src: /src/openssl/crypto/des/set_key.c:304,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/des/set_key.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: DES_set_key
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - DES_is_weak_key
    - DES_check_key_parity
    linkageType: ''
    returnType: int
    signature: int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_check_key_parity
      Src: /src/openssl/crypto/des/set_key.c:317,1
    - Dst: DES_is_weak_key
      Src: /src/openssl/crypto/des/set_key.c:319,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/des/set_key.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: DES_set_key_checked
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - DES_is_weak_key
    - DES_check_key_parity
    linkageType: ''
    returnType: int
    signature: int DES_set_key_checked(const_DES_cblock *key, DES_key_schedule *schedule)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/crypto/des/set_key.c:336,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/set_key.c:342,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/set_key.c:343,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/set_key.c:349,1
    - Dst: HPERM_OP
      Src: /src/openssl/crypto/des/set_key.c:350,1
    - Dst: HPERM_OP
      Src: /src/openssl/crypto/des/set_key.c:351,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/set_key.c:352,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/set_key.c:353,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/set_key.c:354,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/set_key.c:385,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/set_key.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 390
    functionName: DES_set_key_unchecked
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 7
    functionsReached:
    - c2l
    - memcpy
    - HPERM_OP
    - ROTATE
    - PERM_OP
    linkageType: ''
    returnType: void
    signature: void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule
      *schedule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key
      Src: /src/openssl/crypto/des/set_key.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - schedule
    argTypes:
    - const_DES_cblock*
    - DES_key_schedule*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: DES_key_sched
    functionSourceFile: /src/openssl/crypto/des/set_key.c
    functionUses: 0
    functionsReached:
    - DES_set_key
    linkageType: ''
    returnType: int
    signature: int DES_key_sched(const_DES_cblock *key, DES_key_schedule *schedule)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/ofb64enc.c:37,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ofb64enc.c:38,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64enc.c:42,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64enc.c:43,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/ofb64enc.c:46,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64enc.c:49,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64enc.c:51,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64enc.c:61,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64enc.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: DES_ofb64_encrypt
    functionSourceFile: /src/openssl/crypto/des/ofb64enc.c
    functionUses: 1
    functionsReached:
    - c2l
    - DES_encrypt1
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_ofb64_encrypt(register const unsigned char *in,\n                       register
      unsigned char *out, long length,\n                       DES_key_schedule *schedule,
      DES_cblock *ivec, int *num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - t
    - ','
    - n
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: PERM_OP
    functionSourceFile: /src/openssl/crypto/des/fcrypt_b.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERM_OP(a,b,t,n,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - t
    - ','
    - n
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: HPERM_OP
    functionSourceFile: /src/openssl/crypto/des/fcrypt_b.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HPERM_OP(a,t,n,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:47,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:48,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:49,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:50,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:51,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:52,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:53,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:54,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:55,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:56,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:57,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:58,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:59,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:60,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:61,1
    - Dst: D_ENCRYPT
      Src: /src/openssl/crypto/des/fcrypt_b.c:62,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/fcrypt_b.c:67,1
    - Dst: ROTATE
      Src: /src/openssl/crypto/des/fcrypt_b.c:68,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/fcrypt_b.c:70,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/fcrypt_b.c:71,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/fcrypt_b.c:72,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/fcrypt_b.c:73,1
    - Dst: PERM_OP
      Src: /src/openssl/crypto/des/fcrypt_b.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 4
    argNames:
    - out
    - ks
    - Eswap0
    - Eswap1
    argTypes:
    - DES_LONG*
    - DES_key_schedule*
    - DES_LONG
    - DES_LONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 78
    functionName: fcrypt_body
    functionSourceFile: /src/openssl/crypto/des/fcrypt_b.c
    functionUses: 0
    functionsReached:
    - ROTATE
    - PERM_OP
    - D_ENCRYPT
    linkageType: ''
    returnType: void
    signature: "void fcrypt_body(DES_LONG *out, DES_key_schedule *ks, DES_LONG Eswap0,\n
      \                DES_LONG Eswap1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: c2l
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - l1
    - ','
    - l2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: c2ln
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2ln(c,l1,l2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: l2c
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2c(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l1
    - ','
    - l2
    - ','
    - c
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: l2cn
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2cn(l1,l2,c,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: ROTATE
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - R
    - ','
    - S
    - ','
    - u
    - ','
    - t
    - ','
    - E0
    - ','
    - E1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: LOAD_DATA_tmp
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_DATA_tmp(R,S,u,t,E0,E1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - R
    - ','
    - S
    - ','
    - u
    - ','
    - t
    - ','
    - E0
    - ','
    - E1
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: LOAD_DATA
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_DATA(R,S,u,t,E0,E1,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: LOAD_DATA_tmp
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_DATA_tmp(a,b,c,d,e,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - R
    - ','
    - S
    - ','
    - u
    - ','
    - t
    - ','
    - E0
    - ','
    - E1
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: LOAD_DATA
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_DATA(R,S,u,t,E0,E1,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - LL
    - ','
    - R
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: D_ENCRYPT
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_ENCRYPT(LL,R,S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - t
    - ','
    - n
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: PERM_OP
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PERM_OP(a,b,t,n,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: IP
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP(l,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: FP
    functionSourceFile: /src/openssl/crypto/des/des_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FP(l,r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/ofb64ede.c:38,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ofb64ede.c:39,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64ede.c:43,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64ede.c:44,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/ofb64ede.c:49,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64ede.c:54,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64ede.c:55,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64ede.c:63,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ofb64ede.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 8
    argNames:
    - in
    - out
    - length
    - k1
    - k2
    - k3
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_cblock*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 68
    functionName: DES_ede3_ofb64_encrypt
    functionSourceFile: /src/openssl/crypto/des/ofb64ede.c
    functionUses: 1
    functionsReached:
    - c2l
    - l2c
    - DES_encrypt3
    linkageType: ''
    returnType: void
    signature: "void DES_ede3_ofb64_encrypt(register const unsigned char *in,\n                            register
      unsigned char *out, long length,\n                            DES_key_schedule
      *k1, DES_key_schedule *k2,\n                            DES_key_schedule *k3,
      DES_cblock *ivec, int *num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:36,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:37,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:39,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:40,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/ncbc_enc.c:45,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:47,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:49,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/ncbc_enc.c:52,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/ncbc_enc.c:57,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:59,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:61,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:65,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:66,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:69,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:70,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:72,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:74,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/ncbc_enc.c:76,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:79,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:80,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:85,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/ncbc_enc.c:87,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/ncbc_enc.c:89,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/ncbc_enc.c:92,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:100,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/ncbc_enc.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 6
    argNames:
    - in
    - out
    - length
    - _schedule
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 106
    functionName: DES_ncbc_encrypt
    functionSourceFile: /src/openssl/crypto/des/ncbc_enc.c
    functionUses: 1
    functionsReached:
    - c2l
    - c2ln
    - l2cn
    - DES_encrypt1
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_ncbc_encrypt(const unsigned char *in, unsigned char *out,\n
      \                     long length, DES_key_schedule *_schedule,\n                      DES_cblock
      *ivec, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes
      Src: /src/openssl/crypto/des/rand_key.c:22,1
    - Dst: DES_is_weak_key
      Src: /src/openssl/crypto/des/rand_key.c:24,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/des/rand_key.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ret
    argTypes:
    - DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 8
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: DES_random_key
    functionSourceFile: /src/openssl/crypto/des/rand_key.c
    functionUses: 0
    functionsReached:
    - DES_set_odd_parity
    - DES_is_weak_key
    - RAND_priv_bytes
    linkageType: ''
    returnType: int
    signature: int DES_random_key(DES_cblock *ret)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/pcbc_enc.c:32,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/pcbc_enc.c:33,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/pcbc_enc.c:36,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/pcbc_enc.c:37,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/pcbc_enc.c:39,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/pcbc_enc.c:42,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/pcbc_enc.c:47,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/pcbc_enc.c:48,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/pcbc_enc.c:51,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/pcbc_enc.c:52,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/pcbc_enc.c:54,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/pcbc_enc.c:55,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/pcbc_enc.c:58,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/pcbc_enc.c:62,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/pcbc_enc.c:63,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/pcbc_enc.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 6
    argNames:
    - input
    - output
    - length
    - schedule
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 72
    functionName: DES_pcbc_encrypt
    functionSourceFile: /src/openssl/crypto/des/pcbc_enc.c
    functionUses: 0
    functionsReached:
    - c2l
    - c2ln
    - l2cn
    - DES_encrypt1
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_pcbc_encrypt(const unsigned char *input, unsigned char *output,\n
      \                     long length, DES_key_schedule *schedule,\n                      DES_cblock
      *ivec, int enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:39,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:40,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/cfb64ede.c:44,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:49,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:50,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:61,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:62,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/cfb64ede.c:66,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:71,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 9
    argNames:
    - in
    - out
    - length
    - ks1
    - ks2
    - ks3
    - ivec
    - num
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_cblock*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 84
    functionName: DES_ede3_cfb64_encrypt
    functionSourceFile: /src/openssl/crypto/des/cfb64ede.c
    functionUses: 1
    functionsReached:
    - c2l
    - l2c
    - DES_encrypt3
    linkageType: ''
    returnType: void
    signature: "void DES_ede3_cfb64_encrypt(const unsigned char *in, unsigned char
      *out,\n                            long length, DES_key_schedule *ks1,\n                            DES_key_schedule
      *ks2, DES_key_schedule *ks3,\n                            DES_cblock *ivec,
      int *num, int enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:106,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:107,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/cfb64ede.c:113,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/cfb64ede.c:114,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/cfb64ede.c:118,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:132,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:133,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:134,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:135,1
    - Dst: memmove
      Src: /src/openssl/crypto/des/cfb64ede.c:137,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:145,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:146,1
    - Dst: DES_encrypt3
      Src: /src/openssl/crypto/des/cfb64ede.c:154,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/cfb64ede.c:155,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:169,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:170,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:171,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:172,1
    - Dst: memmove
      Src: /src/openssl/crypto/des/cfb64ede.c:174,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:182,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb64ede.c:183,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/cfb64ede.c:187,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:192,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb64ede.c:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 83
    argCount: 9
    argNames:
    - in
    - out
    - numbits
    - length
    - ks1
    - ks2
    - ks3
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - long
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_key_schedule*
    - DES_cblock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 195
    functionName: DES_ede3_cfb_encrypt
    functionSourceFile: /src/openssl/crypto/des/cfb64ede.c
    functionUses: 2
    functionsReached:
    - c2l
    - c2ln
    - memmove
    - l2cn
    - DES_encrypt3
    - l2c
    linkageType: ''
    returnType: void
    signature: "void DES_ede3_cfb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                         int numbits, long length, DES_key_schedule *ks1,\n
      \                         DES_key_schedule *ks2, DES_key_schedule *ks3,\n                          DES_cblock
      *ivec, int enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/crypto/des/cfb_enc.c:47,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:55,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:56,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/cfb_enc.c:62,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/cfb_enc.c:63,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/cfb_enc.c:67,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:82,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:83,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:84,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:85,1
    - Dst: memmove
      Src: /src/openssl/crypto/des/cfb_enc.c:90,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:99,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:100,1
    - Dst: DES_encrypt1
      Src: /src/openssl/crypto/des/cfb_enc.c:109,1
    - Dst: c2ln
      Src: /src/openssl/crypto/des/cfb_enc.c:110,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:125,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:126,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:127,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:128,1
    - Dst: memmove
      Src: /src/openssl/crypto/des/cfb_enc.c:133,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:142,1
    - Dst: c2l
      Src: /src/openssl/crypto/des/cfb_enc.c:143,1
    - Dst: l2cn
      Src: /src/openssl/crypto/des/cfb_enc.c:148,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:153,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/cfb_enc.c:154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 84
    argCount: 7
    argNames:
    - in
    - out
    - numbits
    - length
    - schedule
    - ivec
    - enc
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - long
    - DES_key_schedule*
    - DES_cblock*
    - int
    assertStmts:
    - condition: (sizeof(sh[0]) == 4)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/openssl/crypto/des/cfb_enc.c
    constantsTouched: []
    func_position:
      end: 156
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 156
    functionName: DES_cfb_encrypt
    functionSourceFile: /src/openssl/crypto/des/cfb_enc.c
    functionUses: 2
    functionsReached:
    - c2l
    - c2ln
    - memmove
    - l2cn
    - DES_encrypt1
    - l2c
    - assert
    linkageType: ''
    returnType: void
    signature: "void DES_cfb_encrypt(const unsigned char *in, unsigned char *out,
      int numbits,\n                     long length, DES_key_schedule *schedule,\n
      \                    DES_cblock *ivec, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: Q_B0
    functionSourceFile: /src/openssl/crypto/des/qud_cksm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_B0(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: Q_B1
    functionSourceFile: /src/openssl/crypto/des/qud_cksm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_B1(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: Q_B2
    functionSourceFile: /src/openssl/crypto/des/qud_cksm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_B2(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: Q_B3
    functionSourceFile: /src/openssl/crypto/des/qud_cksm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Q_B3(a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Q_B0
      Src: /src/openssl/crypto/des/qud_cksm.c:47,1
    - Dst: Q_B1
      Src: /src/openssl/crypto/des/qud_cksm.c:47,1
    - Dst: Q_B2
      Src: /src/openssl/crypto/des/qud_cksm.c:47,1
    - Dst: Q_B3
      Src: /src/openssl/crypto/des/qud_cksm.c:48,1
    - Dst: Q_B0
      Src: /src/openssl/crypto/des/qud_cksm.c:49,1
    - Dst: Q_B1
      Src: /src/openssl/crypto/des/qud_cksm.c:49,1
    - Dst: Q_B2
      Src: /src/openssl/crypto/des/qud_cksm.c:49,1
    - Dst: Q_B3
      Src: /src/openssl/crypto/des/qud_cksm.c:50,1
    - Dst: Q_B1
      Src: /src/openssl/crypto/des/qud_cksm.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - input
    - output
    - length
    - out_count
    - seed
    argTypes:
    - unsigned char*
    - DES_cblock[]
    - long
    - int
    - DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 83
    functionName: DES_quad_cksum
    functionSourceFile: /src/openssl/crypto/des/qud_cksm.c
    functionUses: 0
    functionsReached:
    - Q_B3
    - Q_B0
    - Q_B2
    - Q_B1
    linkageType: ''
    returnType: DES_LONG
    signature: "DES_LONG DES_quad_cksum(const unsigned char *input, DES_cblock output[],\n
      \                       long length, int out_count, DES_cblock *seed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/des/str2key.c:25,1
    - Dst: strlen
      Src: /src/openssl/crypto/des/str2key.c:26,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/des/str2key.c:42,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/des/str2key.c:43,1
    - Dst: DES_cbc_cksum
      Src: /src/openssl/crypto/des/str2key.c:44,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/des/str2key.c:45,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/des/str2key.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - str
    - key
    argTypes:
    - char*
    - DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 47
    functionName: DES_string_to_key
    functionSourceFile: /src/openssl/crypto/des/str2key.c
    functionUses: 0
    functionsReached:
    - memset
    - DES_set_odd_parity
    - DES_set_key_unchecked
    - DES_cbc_cksum
    - strlen
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void DES_string_to_key(const char *str, DES_cblock *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/crypto/des/str2key.c:55,1
    - Dst: memset
      Src: /src/openssl/crypto/des/str2key.c:56,1
    - Dst: strlen
      Src: /src/openssl/crypto/des/str2key.c:57,1
    - Dst: memcpy
      Src: /src/openssl/crypto/des/str2key.c:79,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/des/str2key.c:80,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/des/str2key.c:81,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/des/str2key.c:82,1
    - Dst: DES_cbc_cksum
      Src: /src/openssl/crypto/des/str2key.c:83,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/des/str2key.c:84,1
    - Dst: DES_cbc_cksum
      Src: /src/openssl/crypto/des/str2key.c:85,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/crypto/des/str2key.c:86,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/des/str2key.c:87,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/crypto/des/str2key.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - str
    - key1
    - key2
    argTypes:
    - char*
    - DES_cblock*
    - DES_cblock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 89
    functionName: DES_string_to_2keys
    functionSourceFile: /src/openssl/crypto/des/str2key.c
    functionUses: 0
    functionsReached:
    - memset
    - DES_set_odd_parity
    - memcpy
    - DES_set_key_unchecked
    - DES_cbc_cksum
    - strlen
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void DES_string_to_2keys(const char *str, DES_cblock *key1, DES_cblock
      *key2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_fcrypt
      Src: /src/openssl/crypto/des/fcrypt.c:69,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/des/fcrypt.c:82,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/crypto/des/fcrypt.c:85,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/crypto/des/fcrypt.c:86,1
    - Dst: DES_fcrypt
      Src: /src/openssl/crypto/des/fcrypt.c:89,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/crypto/des/fcrypt.c:91,1
    - Dst: strlen
      Src: /src/openssl/crypto/des/fcrypt.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - salt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 95
    functionName: DES_crypt
    functionSourceFile: /src/openssl/crypto/des/fcrypt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strlcpy
    - ebcdic2ascii
    - strlen
    - ascii2ebcdic
    - DES_fcrypt
    linkageType: ''
    returnType: char
    signature: char *DES_crypt(const char *buf, const char *salt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/crypto/des/fcrypt.c:129,1
    - Dst: fcrypt_body
      Src: /src/openssl/crypto/des/fcrypt.c:130,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/fcrypt.c:133,1
    - Dst: l2c
      Src: /src/openssl/crypto/des/fcrypt.c:135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - buf
    - salt
    - ret
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 155
    functionName: DES_fcrypt
    functionSourceFile: /src/openssl/crypto/des/fcrypt.c
    functionUses: 1
    functionsReached:
    - DES_set_key_unchecked
    - fcrypt_body
    - l2c
    linkageType: ''
    returnType: char
    signature: char *DES_fcrypt(const char *buf, const char *salt, char *ret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_skey.c:36,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_skey.c:38,1
    - Dst: c2ln
      Src: /src/openssl/crypto/rc5/rc5_skey.c:44,1
    - Dst: ROTATE_l32
      Src: /src/openssl/crypto/rc5/rc5_skey.c:61,1
    - Dst: ROTATE_l32
      Src: /src/openssl/crypto/rc5/rc5_skey.c:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 4
    argNames:
    - key
    - len
    - data
    - rounds
    argTypes:
    - RC5_32_KEY*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 72
    functionName: RC5_32_set_key
    functionSourceFile: /src/openssl/crypto/rc5/rc5_skey.c
    functionUses: 1
    functionsReached:
    - c2l
    - ROTATE_l32
    - c2ln
    linkageType: ''
    returnType: int
    signature: "int RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data,\n
      \                  int rounds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:30,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:31,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:34,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:35,1
    - Dst: RC5_32_encrypt
      Src: /src/openssl/crypto/rc5/rc5_enc.c:40,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:42,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:44,1
    - Dst: c2ln
      Src: /src/openssl/crypto/rc5/rc5_enc.c:47,1
    - Dst: RC5_32_encrypt
      Src: /src/openssl/crypto/rc5/rc5_enc.c:52,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:54,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:56,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:58,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:59,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:61,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:62,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:65,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:67,1
    - Dst: RC5_32_decrypt
      Src: /src/openssl/crypto/rc5/rc5_enc.c:69,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:72,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:73,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:78,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_enc.c:80,1
    - Dst: RC5_32_decrypt
      Src: /src/openssl/crypto/rc5/rc5_enc.c:82,1
    - Dst: l2cn
      Src: /src/openssl/crypto/rc5/rc5_enc.c:85,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:89,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_enc.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 6
    argNames:
    - in
    - out
    - length
    - ks
    - iv
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC5_32_KEY*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 94
    functionName: RC5_32_cbc_encrypt
    functionSourceFile: /src/openssl/crypto/rc5/rc5_enc.c
    functionUses: 0
    functionsReached:
    - c2l
    - c2ln
    - RC5_32_decrypt
    - RC5_32_encrypt
    - l2cn
    - l2c
    linkageType: ''
    returnType: void
    signature: "void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       long length, RC5_32_KEY *ks, unsigned char *iv,\n                        int
      encrypt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:104,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:105,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:106,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:107,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:108,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:109,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:110,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:111,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:113,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:114,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:115,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:116,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:119,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:120,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:121,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:122,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:123,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:124,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:125,1
    - Dst: E_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - RC5_32_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 130
    functionName: RC5_32_encrypt
    functionSourceFile: /src/openssl/crypto/rc5/rc5_enc.c
    functionUses: 1
    functionsReached:
    - E_RC5_32
    linkageType: ''
    returnType: void
    signature: void RC5_32_encrypt(unsigned long *d, RC5_32_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:141,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:142,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:143,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:144,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:146,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:147,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:148,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:149,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:151,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:152,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:153,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:154,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:156,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:157,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:158,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:159,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:160,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:161,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:162,1
    - Dst: D_RC5_32
      Src: /src/openssl/crypto/rc5/rc5_enc.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - d
    - key
    argTypes:
    - unsigned long*
    - RC5_32_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 166
    functionName: RC5_32_decrypt
    functionSourceFile: /src/openssl/crypto/rc5/rc5_enc.c
    functionUses: 1
    functionsReached:
    - D_RC5_32
    linkageType: ''
    returnType: void
    signature: void RC5_32_decrypt(unsigned long *d, RC5_32_KEY *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:38,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:39,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:43,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:44,1
    - Dst: RC5_32_encrypt
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:47,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:50,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:52,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:62,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5ofb64.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 6
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC5_32_KEY*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: RC5_32_ofb64_encrypt
    functionSourceFile: /src/openssl/crypto/rc5/rc5ofb64.c
    functionUses: 0
    functionsReached:
    - c2l
    - RC5_32_encrypt
    - l2c
    linkageType: ''
    returnType: void
    signature: "void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                         long length, RC5_32_KEY *schedule,\n                          unsigned
      char *ivec, int *num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_ecb.c:25,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5_ecb.c:27,1
    - Dst: RC5_32_encrypt
      Src: /src/openssl/crypto/rc5/rc5_ecb.c:30,1
    - Dst: RC5_32_decrypt
      Src: /src/openssl/crypto/rc5/rc5_ecb.c:32,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_ecb.c:34,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5_ecb.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - in
    - out
    - ks
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - RC5_32_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: RC5_32_ecb_encrypt
    functionSourceFile: /src/openssl/crypto/rc5/rc5_ecb.c
    functionUses: 0
    functionsReached:
    - c2l
    - RC5_32_encrypt
    - l2c
    - RC5_32_decrypt
    linkageType: ''
    returnType: void
    signature: "void RC5_32_ecb_encrypt(const unsigned char *in, unsigned char *out,\n
      \                       RC5_32_KEY *ks, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: c2l
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - l1
    - ','
    - l2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: c2ln
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2ln(c,l1,l2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: l2c
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2c(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l1
    - ','
    - l2
    - ','
    - c
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: l2cn
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2cn(l1,l2,c,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: ROTATE_l32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_l32(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: ROTATE_r32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_r32(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: ROTATE_l32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_l32(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: ROTATE_r32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_r32(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: ROTATE_l32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_l32(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ROTATE_r32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_r32(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: ROTATE_l32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_l32(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: ROTATE_r32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_r32(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: E_RC5_32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E_RC5_32(a,b,s,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: D_RC5_32
    functionSourceFile: /src/openssl/crypto/rc5/rc5_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D_RC5_32(a,b,s,n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:39,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:41,1
    - Dst: RC5_32_encrypt
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:43,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:46,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:48,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:59,1
    - Dst: c2l
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:61,1
    - Dst: RC5_32_encrypt
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:63,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:66,1
    - Dst: l2c
      Src: /src/openssl/crypto/rc5/rc5cfb64.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 7
    argNames:
    - in
    - out
    - length
    - schedule
    - ivec
    - num
    - encrypt
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    - RC5_32_KEY*
    - unsigned char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: RC5_32_cfb64_encrypt
    functionSourceFile: /src/openssl/crypto/rc5/rc5cfb64.c
    functionUses: 0
    functionsReached:
    - c2l
    - RC5_32_encrypt
    - l2c
    linkageType: ''
    returnType: void
    signature: "void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out,\n
      \                         long length, RC5_32_KEY *schedule,\n                          unsigned
      char *ivec, int *num, int encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_showfatal
      Src: /src/openssl/ms/uplink.c:31,1
    - Dst: TerminateProcess
      Src: /src/openssl/ms/uplink.c:32,1
    - Dst: GetCurrentProcess
      Src: /src/openssl/ms/uplink.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: unimplemented
    functionSourceFile: /src/openssl/ms/uplink.c
    functionUses: 0
    functionsReached:
    - OPENSSL_showfatal
    - GetCurrentProcess
    - TerminateProcess
    linkageType: ''
    returnType: void
    signature: void unimplemented(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _sntprintf
      Src: /src/openssl/ms/uplink.c:59,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:60,1
    - Dst: _tcscpy
      Src: /src/openssl/ms/uplink.c:61,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:61,1
    - Dst: GetModuleHandle
      Src: /src/openssl/ms/uplink.c:64,1
    - Dst: _tcscpy
      Src: /src/openssl/ms/uplink.c:66,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:66,1
    - Dst: GetProcAddress
      Src: /src/openssl/ms/uplink.c:77,1
    - Dst: _tcscpy
      Src: /src/openssl/ms/uplink.c:80,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:80,1
    - Dst: _tcscpy
      Src: /src/openssl/ms/uplink.c:86,1
    - Dst: _T
      Src: /src/openssl/ms/uplink.c:86,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 101
    functionName: OPENSSL_Uplink
    functionSourceFile: /src/openssl/ms/uplink.c
    functionUses: 0
    functionsReached:
    - _T
    - _sntprintf
    - GetModuleHandle
    - _tcscpy
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: void OPENSSL_Uplink(volatile void **table, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: LAZY
    functionSourceFile: /src/openssl/ms/uplink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LAZY(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UP_fprintf
      Src: /src/openssl/ms/uplink.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/openssl/ms/uplink.c
    functionUses: 4
    functionsReached:
    - UP_fprintf
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: app_stdin
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *app_stdin(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: app_stdout
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *app_stdout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: app_stderr
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *app_stderr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/openssl/ms/applink.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: app_feof
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached:
    - feof
    linkageType: ''
    returnType: int
    signature: int app_feof(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/openssl/ms/applink.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: app_ferror
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached:
    - ferror
    linkageType: ''
    returnType: int
    signature: int app_ferror(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearerr
      Src: /src/openssl/ms/applink.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: app_clearerr
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached:
    - clearerr
    linkageType: ''
    returnType: void
    signature: void app_clearerr(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _fileno
      Src: /src/openssl/ms/applink.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: app_fileno
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached:
    - _fileno
    linkageType: ''
    returnType: int
    signature: int app_fileno(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/openssl/ms/applink.c:93,1
    - Dst: _fileno
      Src: /src/openssl/ms/applink.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - mod
    argTypes:
    - FILE*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: app_fsetmod
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached:
    - _fileno
    - _setmode
    linkageType: ''
    returnType: int
    signature: int app_fsetmod(FILE *fp, char mod)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 148
    functionName: OPENSSL_Applink
    functionSourceFile: /src/openssl/ms/applink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_Applink(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/gmdifftest.c:29,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/test/gmdifftest.c:32,1
    - Dst: OPENSSL_gmtime
      Src: /src/openssl/test/gmdifftest.c:33,1
    - Dst: TEST_true
      Src: /src/openssl/test/gmdifftest.c:35,1
    - Dst: OPENSSL_gmtime_adj
      Src: /src/openssl/test/gmdifftest.c:35,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/gmdifftest.c:36,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/gmdifftest.c:37,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/gmdifftest.c:38,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/gmdifftest.c:39,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/gmdifftest.c:40,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/gmdifftest.c:41,1
    - Dst: TEST_true
      Src: /src/openssl/test/gmdifftest.c:42,1
    - Dst: OPENSSL_gmtime_diff
      Src: /src/openssl/test/gmdifftest.c:42,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/gmdifftest.c:45,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - offset
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: check_time
    functionSourceFile: /src/openssl/test/gmdifftest.c
    functionUses: 0
    functionsReached:
    - time
    - OPENSSL_gmtime_adj
    - OPENSSL_gmtime_diff
    - TEST_int_eq
    - TEST_long_eq
    - TEST_true
    - OPENSSL_gmtime
    linkageType: ''
    returnType: int
    signature: int check_time(long offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_time
      Src: /src/openssl/test/gmdifftest.c:52,1
    - Dst: check_time
      Src: /src/openssl/test/gmdifftest.c:53,1
    - Dst: check_time
      Src: /src/openssl/test/gmdifftest.c:54,1
    - Dst: check_time
      Src: /src/openssl/test/gmdifftest.c:55,1
    - Dst: check_time
      Src: /src/openssl/test/gmdifftest.c:56,1
    - Dst: check_time
      Src: /src/openssl/test/gmdifftest.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: test_gmtime
    functionSourceFile: /src/openssl/test/gmdifftest.c
    functionUses: 0
    functionsReached:
    - check_time
    linkageType: ''
    returnType: int
    signature: int test_gmtime(int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/gmdifftest.c:63,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/openssl/test/gmdifftest.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/gmdifftest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS_NOSUBTEST
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/bioprinttest.c:142,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bioprinttest.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: test_zu
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int test_zu(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/bioprinttest.c:170,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bioprinttest.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: test_j
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int test_j(int i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bioprinttest.c:201,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/bioprinttest.c:205,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/bioprinttest.c:208,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/bioprinttest.c:209,1
    - Dst: printf
      Src: /src/openssl/test/bioprinttest.c:213,1
    - Dst: printf
      Src: /src/openssl/test/bioprinttest.c:215,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bioprinttest.c:216,1
    - Dst: TEST_info
      Src: /src/openssl/test/bioprinttest.c:217,1
    - Dst: printf
      Src: /src/openssl/test/bioprinttest.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - test
    - sub
    - val
    - width
    - prec
    argTypes:
    - int
    - int
    - double
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: dofptest
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_info
    - BIO_snprintf
    - OSSL_NELEM
    - printf
    linkageType: ''
    returnType: int
    signature: int dofptest(int test, int sub, double val, const char *width, int
      prec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/bioprinttest.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:235,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:235,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:236,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:237,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:238,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:238,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:239,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:239,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:240,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:241,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:241,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:242,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:243,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:244,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:244,1
    - Dst: TEST_true
      Src: /src/openssl/test/bioprinttest.c:245,1
    - Dst: dofptest
      Src: /src/openssl/test/bioprinttest.c:245,1
    - Dst: printf
      Src: /src/openssl/test/bioprinttest.c:247,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 249
    functionName: test_fp
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - dofptest
    - printf
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_fp(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bioprinttest.c:256,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/bioprinttest.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: test_big
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_big(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/bioprinttest.c:284,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bioprinttest.c:296,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bioprinttest.c:297,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bioprinttest.c:297,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bioprinttest.c:298,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bioprinttest.c:298,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bioprinttest.c:299,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bioprinttest.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: test_open_streams
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_open_streams(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: test_adjust_streams_tap_level
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_adjust_streams_tap_level(int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: test_close_streams
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_close_streams(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/bioprinttest.c:332,1
    - Dst: vfprintf
      Src: /src/openssl/test/bioprinttest.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: test_vprintf_stdout
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int test_vprintf_stdout(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/bioprinttest.c:337,1
    - Dst: vfprintf
      Src: /src/openssl/test/bioprinttest.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: test_vprintf_stderr
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int test_vprintf_stderr(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/openssl/test/bioprinttest.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: test_flush_stdout
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: int test_flush_stdout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/openssl/test/bioprinttest.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: test_flush_stderr
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: int test_flush_stderr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/bioprinttest.c:352,1
    - Dst: vfprintf
      Src: /src/openssl/test/bioprinttest.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: test_vprintf_tapout
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int test_vprintf_tapout(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/bioprinttest.c:357,1
    - Dst: vfprintf
      Src: /src/openssl/test/bioprinttest.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: test_vprintf_taperr
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int test_vprintf_taperr(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/openssl/test/bioprinttest.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: test_flush_tapout
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: int test_flush_tapout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/openssl/test/bioprinttest.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: test_flush_taperr
    functionSourceFile: /src/openssl/test/bioprinttest.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: int test_flush_taperr(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/provider_test.c:48,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:63,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:63,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:65,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:65,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_test.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:74,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:82,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:82,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:83,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_test.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:86,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:87,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_test.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:91,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:91,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:92,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/provider_test.c:93,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_test.c:94,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/provider_test.c:98,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_test.c:100,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/provider_test.c:100,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:103,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:108,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:108,1
    - Dst: TEST_false
      Src: /src/openssl/test/provider_test.c:109,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:117,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:118,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:120,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_test.c:120,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:124,1
    - Dst: TEST_false
      Src: /src/openssl/test/provider_test.c:125,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_test.c:125,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:126,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:126,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:127,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:129,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:133,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:136,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:136,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:144,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/provider_test.c:148,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:151,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:152,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:153,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:155,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:156,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 71
    argCount: 3
    argNames:
    - libctx
    - name
    - legacy
    argTypes:
    - OSSL_LIB_CTX**
    - char*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 37
    functionDepth: 10
    functionLinenumber: 37
    functionLinenumberEnd: 159
    functionName: test_provider
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_params
    - TEST_size_t_gt
    - OSSL_LIB_CTX_free
    - TEST_str_eq
    - OSSL_PROVIDER_available
    - TEST_false
    - TEST_int_eq
    - ERR_GET_REASON
    - OSSL_PROVIDER_load
    - BIO_snprintf
    - ERR_peek_last_error
    - OSSL_PROVIDER_unload
    - ERR_print_errors_fp
    - TEST_true
    - EVP_set_default_properties
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int test_provider(OSSL_LIB_CTX **libctx, const char *name,\n                         OSSL_PROVIDER
      *legacy)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:172,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/provider_test.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:173,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/provider_test.c:173,1
    - Dst: strlen
      Src: /src/openssl/test/provider_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:175,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/provider_test.c:175,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:179,1
    - Dst: OSSL_PROVIDER_load_ex
      Src: /src/openssl/test/provider_test.c:179,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:182,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_test.c:182,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:183,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/provider_test.c:184,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_test.c:185,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/provider_test.c:189,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_test.c:190,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_test.c:191,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/provider_test.c:191,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:194,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:194,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:202,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/provider_test.c:206,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/provider_test.c:209,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_test.c:210,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:211,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:212,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 162
    functionDepth: 7
    functionLinenumber: 162
    functionLinenumberEnd: 215
    functionName: test_provider_ex
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - OSSL_PROVIDER_unload
    - TEST_ptr
    - strlen
    - OSSL_PROVIDER_get_params
    - TEST_size_t_gt
    - OSSL_PARAM_BLD_push_utf8_string
    - ERR_print_errors_fp
    - TEST_true
    - OSSL_PROVIDER_load_ex
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - TEST_str_eq
    - ERR_peek_last_error
    - OSSL_PARAM_BLD_new
    - OSSL_LIB_CTX_free
    - TEST_int_eq
    - ERR_GET_REASON
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_provider_ex(OSSL_LIB_CTX **libctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:226,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/provider_test.c:226,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_test.c:228,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 4
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: test_builtin_provider
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - test_provider
    - TEST_true
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: int
    signature: int test_builtin_provider(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_test.c:239,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:243,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_test.c:246,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_test.c:256,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/provider_test.c:256,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_test.c:258,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_test.c:259,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_test.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 265
    functionName: test_builtin_provider_with_child
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - test_provider
    - TEST_true
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: int
    signature: int test_builtin_provider_with_child(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_test.c:271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:275,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_test.c:279,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_test.c:281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_test.c:282,1
    - Dst: test_provider_ex
      Src: /src/openssl/test/provider_test.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 269
    functionDepth: 8
    functionLinenumber: 269
    functionLinenumberEnd: 289
    functionName: test_loaded_provider
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - test_provider_ex
    - OSSL_LIB_CTX_new
    - test_provider
    linkageType: ''
    returnType: int
    signature: int test_loaded_provider(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/provider_test.c:314,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_test.c:327,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_test.c:329,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_test.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 338
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/provider_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PBE_get
      Src: /src/openssl/test/pbelutest.c:23,1
    - Dst: TEST_true
      Src: /src/openssl/test/pbelutest.c:24,1
    - Dst: EVP_PBE_find
      Src: /src/openssl/test/pbelutest.c:24,1
    - Dst: TEST_note
      Src: /src/openssl/test/pbelutest.c:25,1
    - Dst: EVP_PBE_get
      Src: /src/openssl/test/pbelutest.c:35,1
    - Dst: TEST_note
      Src: /src/openssl/test/pbelutest.c:38,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/pbelutest.c:39,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 6
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: test_pbelu
    functionSourceFile: /src/openssl/test/pbelutest.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - OBJ_nid2sn
    - EVP_PBE_get
    - TEST_true
    - EVP_PBE_find
    linkageType: ''
    returnType: int
    signature: int test_pbelu(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/pbelutest.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pbelutest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:80,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/hpke_test.c:82,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:85,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pkey
    - pub
    - publen
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: cmpkey
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - EVP_PKEY_get_octet_string_param
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int cmpkey(const EVP_PKEY *pkey,\n                  const unsigned
      char *pub, size_t publen)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:118,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:118,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:121,1
    - Dst: cmpkey
      Src: /src/openssl/test/hpke_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:123,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:123,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:127,1
    - Dst: OSSL_HPKE_CTX_set1_ikme
      Src: /src/openssl/test/hpke_test.c:127,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:131,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:133,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:138,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:141,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:141,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:144,1
    - Dst: cmpkey
      Src: /src/openssl/test/hpke_test.c:144,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:148,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:148,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:152,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:152,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:156,1
    - Dst: cmpkey
      Src: /src/openssl/test/hpke_test.c:156,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:161,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:161,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:168,1
    - Dst: OSSL_HPKE_CTX_get_seq
      Src: /src/openssl/test/hpke_test.c:168,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:173,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:179,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:182,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:188,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:192,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:192,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:197,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:198,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:198,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:206,1
    - Dst: OSSL_HPKE_CTX_get_seq
      Src: /src/openssl/test/hpke_test.c:206,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:219,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:219,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:223,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:223,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:227,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:234,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:234,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:241,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:242,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:243,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:244,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:245,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 120
    argCount: 5
    argNames:
    - base
    - aead
    - aeadsz
    - export
    - exportsz
    argTypes:
    - TEST_BASEDATA*
    - TEST_AEADDATA*
    - size_t
    - TEST_EXPORTDATA*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 92
    functionDepth: 7
    functionLinenumber: 92
    functionLinenumberEnd: 247
    functionName: do_testhpke
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_keygen
    - OSSL_HPKE_CTX_set1_authpriv
    - TEST_ptr
    - cmpkey
    - OSSL_HPKE_decap
    - OSSL_HPKE_CTX_get_seq
    - OSSL_HPKE_seal
    - OSSL_HPKE_CTX_set1_psk
    - OSSL_HPKE_CTX_set1_authpub
    - EVP_PKEY_free
    - OSSL_HPKE_CTX_new
    - OSSL_HPKE_CTX_free
    - TEST_true
    - OSSL_HPKE_export
    - OSSL_HPKE_CTX_set1_ikme
    - memset
    - OSSL_HPKE_open
    - TEST_false
    - OSSL_HPKE_encap
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int do_testhpke(const TEST_BASEDATA *base,\n                       const
      TEST_AEADDATA *aead, size_t aeadsz,\n                       const TEST_EXPORTDATA
      *export, size_t exportsz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_testhpke
      Src: /src/openssl/test/hpke_test.c:417,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:417,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 370
    functionDepth: 8
    functionLinenumber: 370
    functionLinenumberEnd: 419
    functionName: x25519kdfsha256_hkdfsha256_aes128gcm_psk_test
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - do_testhpke
    linkageType: ''
    returnType: int
    signature: int x25519kdfsha256_hkdfsha256_aes128gcm_psk_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_testhpke
      Src: /src/openssl/test/hpke_test.c:543,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:543,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 503
    functionDepth: 8
    functionLinenumber: 503
    functionLinenumberEnd: 545
    functionName: x25519kdfsha256_hkdfsha256_aes128gcm_base_test
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - do_testhpke
    linkageType: ''
    returnType: int
    signature: int x25519kdfsha256_hkdfsha256_aes128gcm_base_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_testhpke
      Src: /src/openssl/test/hpke_test.c:680,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:680,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 640
    functionDepth: 8
    functionLinenumber: 640
    functionLinenumberEnd: 682
    functionName: P256kdfsha256_hkdfsha256_aes128gcm_base_test
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - do_testhpke
    linkageType: ''
    returnType: int
    signature: int P256kdfsha256_hkdfsha256_aes128gcm_base_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_testhpke
      Src: /src/openssl/test/hpke_test.c:772,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 745
    functionDepth: 8
    functionLinenumber: 745
    functionLinenumberEnd: 774
    functionName: export_only_test
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - do_testhpke
    linkageType: ''
    returnType: int
    signature: int export_only_test(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:911,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:931,1
    - Dst: strcpy
      Src: /src/openssl/test/hpke_test.c:932,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:933,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:942,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:948,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:955,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:957,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:963,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:974,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:974,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:984,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:991,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1004,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1004,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1008,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1008,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1014,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1014,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1020,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1020,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1024,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1024,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1031,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1031,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1037,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1037,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1041,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:1042,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1043,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1046,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1050,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1050,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1059,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1059,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1065,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1065,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1070,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1070,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1076,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1076,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1082,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1082,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1086,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1087,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1090,1
    - Dst: TEST_note
      Src: /src/openssl/test/hpke_test.c:1097,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1107,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 902
    functionDepth: 7
    functionLinenumber: 902
    functionLinenumberEnd: 1111
    functionName: test_hpke_modes_suites
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - TEST_note
    - OSSL_HPKE_keygen
    - OSSL_HPKE_CTX_set1_authpriv
    - TEST_ptr
    - strlen
    - OSSL_HPKE_decap
    - OSSL_HPKE_seal
    - OSSL_HPKE_CTX_set1_psk
    - OSSL_HPKE_CTX_set1_authpub
    - EVP_PKEY_free
    - OSSL_HPKE_CTX_new
    - OSSL_HPKE_CTX_free
    - TEST_true
    - memset
    - OSSL_HPKE_open
    - TEST_false
    - OSSL_HPKE_encap
    - OSSL_NELEM
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_hpke_modes_suites(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1141,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1141,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1144,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1144,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1149,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1149,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1150,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1153,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1153,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1154,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1156,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1156,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1158,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1158,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1162,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1162,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1163,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1166,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1166,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1167,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1171,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1171,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1175,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1175,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1177,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1177,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1180,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1180,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1181,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1184,1
    - Dst: OSSL_HPKE_export
      Src: /src/openssl/test/hpke_test.c:1184,1
    - Dst: strlen
      Src: /src/openssl/test/hpke_test.c:1185,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1187,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1189,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1193,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1194,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1195,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1117
    functionDepth: 7
    functionLinenumber: 1117
    functionLinenumberEnd: 1197
    functionName: test_hpke_export
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - OSSL_HPKE_seal
    - OSSL_HPKE_open
    - TEST_false
    - OSSL_HPKE_encap
    - OSSL_HPKE_CTX_free
    - OSSL_HPKE_keygen
    - OSSL_HPKE_export
    - OSSL_HPKE_CTX_new
    - EVP_PKEY_free
    - TEST_true
    - TEST_ptr
    - strlen
    - OSSL_HPKE_decap
    linkageType: ''
    returnType: int
    signature: int test_hpke_export(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:1214,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:1215,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:1216,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/hpke_test.c:1217,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1219,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1219,1
    - Dst: TEST_note
      Src: /src/openssl/test/hpke_test.c:1221,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hpke_test.c:1228,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1229,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1229,1
    - Dst: TEST_note
      Src: /src/openssl/test/hpke_test.c:1232,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1238,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1238,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1240,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1240,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1242,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1242,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:1244,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1246,1
    - Dst: OSSL_HPKE_str2suite
      Src: /src/openssl/test/hpke_test.c:1246,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1203
    functionDepth: 6
    functionLinenumber: 1203
    functionLinenumberEnd: 1250
    functionName: test_hpke_suite_strs
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - memset
    - TEST_note
    - TEST_false
    - BIO_snprintf
    - OSSL_HPKE_str2suite
    - OSSL_NELEM
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_hpke_suite_strs(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:1269,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1273,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1273,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1281,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1281,1
    - Dst: OSSL_HPKE_get_ciphertext_size
      Src: /src/openssl/test/hpke_test.c:1288,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/hpke_test.c:1289,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/test/hpke_test.c:1292,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/hpke_test.c:1293,1
    - Dst: OSSL_HPKE_get_recommended_ikmelen
      Src: /src/openssl/test/hpke_test.c:1296,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/hpke_test.c:1297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1256
    functionDepth: 4
    functionLinenumber: 1256
    functionLinenumberEnd: 1301
    functionName: test_hpke_grease
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_get_ciphertext_size
    - TEST_size_t_gt
    - memset
    - OSSL_HPKE_get_grease_value
    - OSSL_HPKE_get_public_encap_size
    - TEST_false
    - OSSL_HPKE_get_recommended_ikmelen
    - TEST_size_t_ne
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_hpke_grease(void)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1335,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1336,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1336,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1338,1
    - Dst: OSSL_HPKE_CTX_get_seq
      Src: /src/openssl/test/hpke_test.c:1338,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1340,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1340,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1342,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1342,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1344,1
    - Dst: OSSL_HPKE_CTX_set1_ikme
      Src: /src/openssl/test/hpke_test.c:1344,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1346,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1346,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1351,1
    - Dst: OSSL_HPKE_suite_check
      Src: /src/openssl/test/hpke_test.c:1351,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1354,1
    - Dst: OSSL_HPKE_suite_check
      Src: /src/openssl/test/hpke_test.c:1354,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1356,1
    - Dst: OSSL_HPKE_get_recommended_ikmelen
      Src: /src/openssl/test/hpke_test.c:1356,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1358,1
    - Dst: OSSL_HPKE_get_public_encap_size
      Src: /src/openssl/test/hpke_test.c:1358,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1360,1
    - Dst: OSSL_HPKE_get_ciphertext_size
      Src: /src/openssl/test/hpke_test.c:1360,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1362,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1362,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1365,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1365,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1371,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1371,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1375,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1375,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1379,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1379,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1383,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1383,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1388,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1388,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1394,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1394,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1396,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1396,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1404,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1404,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1409,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1409,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1414,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1414,1
    - Dst: memset
      Src: /src/openssl/test/hpke_test.c:1418,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1420,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1420,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1424,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1424,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1426,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/hpke_test.c:1429,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1429,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/hpke_test.c:1434,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1434,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1439,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1439,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1444,1
    - Dst: OSSL_HPKE_CTX_set1_ikme
      Src: /src/openssl/test/hpke_test.c:1444,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1447,1
    - Dst: OSSL_HPKE_CTX_set1_ikme
      Src: /src/openssl/test/hpke_test.c:1447,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1450,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1450,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1453,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1453,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1456,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1456,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1459,1
    - Dst: OSSL_HPKE_CTX_set1_psk
      Src: /src/openssl/test/hpke_test.c:1459,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1463,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1463,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1467,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1467,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1470,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1470,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1473,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1473,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1476,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1476,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1479,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1479,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1482,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1482,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1485,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1485,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1489,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1489,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1494,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1494,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1500,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1500,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1504,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1504,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1507,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1510,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1510,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1515,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1515,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1519,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1519,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1522,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1522,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1525,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1525,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1529,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1529,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1534,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1534,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1536,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1536,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1539,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1539,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1541,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1541,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1544,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1548,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1549,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1550,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 192
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1306
    functionDepth: 7
    functionLinenumber: 1306
    functionLinenumberEnd: 1552
    functionName: test_hpke_oddcalls
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_get_recommended_ikmelen
    - OSSL_HPKE_keygen
    - OSSL_HPKE_CTX_set1_authpriv
    - TEST_ptr
    - OSSL_HPKE_decap
    - OSSL_HPKE_CTX_get_seq
    - OSSL_HPKE_get_ciphertext_size
    - OSSL_HPKE_suite_check
    - OSSL_HPKE_seal
    - OSSL_HPKE_CTX_set1_authpub
    - OSSL_HPKE_CTX_set1_psk
    - EVP_PKEY_free
    - OSSL_HPKE_CTX_new
    - OSSL_HPKE_CTX_set_seq
    - TEST_true
    - OSSL_HPKE_CTX_free
    - OSSL_HPKE_get_public_encap_size
    - OSSL_HPKE_CTX_set1_ikme
    - memset
    - TEST_ptr_null
    - OSSL_HPKE_open
    - TEST_false
    - OSSL_HPKE_encap
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_hpke_oddcalls(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1656,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1656,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1661,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1661,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1668,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1668,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1674,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1674,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1682,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1682,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1688,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1688,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1698,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1698,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1705,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1705,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1712,1
    - Dst: OSSL_HPKE_get_grease_value
      Src: /src/openssl/test/hpke_test.c:1712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1645
    functionDepth: 4
    functionLinenumber: 1645
    functionLinenumberEnd: 1717
    functionName: test_hpke_random_suites
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - OSSL_HPKE_get_grease_value
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_hpke_random_suites(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1742,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1742,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1745,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1747,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hpke_test.c:1748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - kem_id
    - ikm
    - ikmlen
    - pub
    - publen
    argTypes:
    - uint16_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1732
    functionDepth: 4
    functionLinenumber: 1732
    functionLinenumberEnd: 1751
    functionName: test_hpke_one_ikm_gen
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_keygen
    - EVP_PKEY_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int test_hpke_one_ikm_gen(uint16_t kem_id,\n                                 const
      unsigned char *ikm, size_t ikmlen,\n                                 const unsigned
      char *pub, size_t publen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_hpke_one_ikm_gen
      Src: /src/openssl/test/hpke_test.c:1761,1
    - Dst: test_hpke_one_ikm_gen
      Src: /src/openssl/test/hpke_test.c:1768,1
    - Dst: test_hpke_one_ikm_gen
      Src: /src/openssl/test/hpke_test.c:1774,1
    - Dst: test_hpke_one_ikm_gen
      Src: /src/openssl/test/hpke_test.c:1780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1756
    functionDepth: 5
    functionLinenumber: 1756
    functionLinenumberEnd: 1787
    functionName: test_hpke_ikms
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - test_hpke_one_ikm_gen
    linkageType: ''
    returnType: int
    signature: int test_hpke_ikms(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1819,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1819,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1823,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/test/hpke_test.c:1823,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1827,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/hpke_test.c:1827,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1835,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1835,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1838,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1838,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1842,1
    - Dst: OSSL_HPKE_CTX_set1_authpriv
      Src: /src/openssl/test/hpke_test.c:1842,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1844,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1844,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1846,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1846,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1851,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1851,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1855,1
    - Dst: OSSL_HPKE_CTX_set1_authpub
      Src: /src/openssl/test/hpke_test.c:1855,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1857,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1857,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1859,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1859,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1865,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1866,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1867,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1868,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1794
    functionDepth: 7
    functionLinenumber: 1794
    functionLinenumberEnd: 1870
    functionName: test_hpke_compressed
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_seal
    - OSSL_HPKE_open
    - OSSL_HPKE_encap
    - OSSL_HPKE_CTX_set1_authpub
    - OSSL_HPKE_CTX_free
    - OSSL_HPKE_keygen
    - EVP_PKEY_free
    - OSSL_HPKE_CTX_new
    - OSSL_HPKE_CTX_set1_authpriv
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_set_utf8_string_param
    - EVP_PKEY_get_octet_string_param
    - OSSL_HPKE_decap
    linkageType: ''
    returnType: int
    signature: int test_hpke_compressed(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1896,1
    - Dst: OSSL_HPKE_keygen
      Src: /src/openssl/test/hpke_test.c:1896,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1899,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1899,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1904,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1904,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1906,1
    - Dst: OSSL_HPKE_encap
      Src: /src/openssl/test/hpke_test.c:1906,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1909,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1909,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1911,1
    - Dst: OSSL_HPKE_seal
      Src: /src/openssl/test/hpke_test.c:1911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hpke_test.c:1916,1
    - Dst: OSSL_HPKE_CTX_new
      Src: /src/openssl/test/hpke_test.c:1916,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1921,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1921,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1923,1
    - Dst: OSSL_HPKE_decap
      Src: /src/openssl/test/hpke_test.c:1923,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1926,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1926,1
    - Dst: TEST_false
      Src: /src/openssl/test/hpke_test.c:1929,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1929,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1933,1
    - Dst: OSSL_HPKE_CTX_set_seq
      Src: /src/openssl/test/hpke_test.c:1933,1
    - Dst: TEST_true
      Src: /src/openssl/test/hpke_test.c:1935,1
    - Dst: OSSL_HPKE_open
      Src: /src/openssl/test/hpke_test.c:1935,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hpke_test.c:1941,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1942,1
    - Dst: OSSL_HPKE_CTX_free
      Src: /src/openssl/test/hpke_test.c:1943,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1875
    functionDepth: 7
    functionLinenumber: 1875
    functionLinenumberEnd: 1945
    functionName: test_hpke_noncereuse
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_HPKE_seal
    - OSSL_HPKE_open
    - TEST_false
    - OSSL_HPKE_encap
    - OSSL_HPKE_CTX_free
    - OSSL_HPKE_keygen
    - EVP_PKEY_free
    - OSSL_HPKE_CTX_new
    - OSSL_HPKE_CTX_set_seq
    - TEST_true
    - TEST_ptr
    - OSSL_HPKE_decap
    linkageType: ''
    returnType: int
    signature: int test_hpke_noncereuse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1963
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/hpke_test.c:1969,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/hpke_test.c:1981,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1984,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1985,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1986,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1988,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1989,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1990,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1991,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1992,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1993,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1994,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1995,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1996,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hpke_test.c:1997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 1999
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_get_libctx
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/hpke_test.c:2003,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/hpke_test.c:2004,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/hpke_test.c:2005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 2001
    functionDepth: 4
    functionLinenumber: 2001
    functionLinenumberEnd: 2006
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/hpke_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509aux.c:31,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509aux.c:31,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509aux.c:33,1
    - Dst: PEM_read_bio
      Src: /src/openssl/test/x509aux.c:36,1
    - Dst: strcmp
      Src: /src/openssl/test/x509aux.c:37,1
    - Dst: strcmp
      Src: /src/openssl/test/x509aux.c:48,1
    - Dst: strcmp
      Src: /src/openssl/test/x509aux.c:49,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:50,1
    - Dst: d2i
      Src: /src/openssl/test/x509aux.c:54,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:57,1
    - Dst: i2d
      Src: /src/openssl/test/x509aux.c:63,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:65,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/x509aux.c:70,1
    - Dst: TEST_perror
      Src: /src/openssl/test/x509aux.c:71,1
    - Dst: i2d
      Src: /src/openssl/test/x509aux.c:75,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:77,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:84,1
    - Dst: memcmp
      Src: /src/openssl/test/x509aux.c:88,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:89,1
    - Dst: d2i
      Src: /src/openssl/test/x509aux.c:94,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:96,1
    - Dst: X509_cmp
      Src: /src/openssl/test/x509aux.c:100,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:102,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/x509aux.c:106,1
    - Dst: i2d
      Src: /src/openssl/test/x509aux.c:110,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:112,1
    - Dst: memcmp
      Src: /src/openssl/test/x509aux.c:117,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:118,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/x509aux.c:125,1
    - Dst: i2d
      Src: /src/openssl/test/x509aux.c:129,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:131,1
    - Dst: memcmp
      Src: /src/openssl/test/x509aux.c:136,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:137,1
    - Dst: X509_free
      Src: /src/openssl/test/x509aux.c:147,1
    - Dst: X509_free
      Src: /src/openssl/test/x509aux.c:148,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/x509aux.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/x509aux.c:150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/x509aux.c:151,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/x509aux.c:152,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509aux.c:154,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/x509aux.c:156,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/x509aux.c:156,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/x509aux.c:159,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 166
    functionName: test_certs
    functionSourceFile: /src/openssl/test/x509aux.c
    functionUses: 0
    functionsReached:
    - memcmp
    - BIO_new_file
    - i2d
    - d2i
    - ERR_clear_error
    - BIO_free
    - ERR_GET_REASON
    - X509_cmp
    - X509_free
    - OPENSSL_free
    - ERR_peek_last_error
    - PEM_read_bio
    - test_get_argument
    - TEST_perror
    - strcmp
    - TEST_ptr
    - OPENSSL_malloc
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_certs(int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/x509aux.c:174,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509aux.c:175,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/x509aux.c:179,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509aux.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509aux.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - test_skip_common_options
    - test_get_argument_count
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/byteorder_test.c:17,1
    - Dst: OPENSSL_load_u16_le
      Src: /src/openssl/test/byteorder_test.c:18,1
    - Dst: OPENSSL_store_u16_le
      Src: /src/openssl/test/byteorder_test.c:19,1
    - Dst: TEST_true
      Src: /src/openssl/test/byteorder_test.c:20,1
    - Dst: memcmp
      Src: /src/openssl/test/byteorder_test.c:21,1
    - Dst: TEST_info
      Src: /src/openssl/test/byteorder_test.c:24,1
    - Dst: memset
      Src: /src/openssl/test/byteorder_test.c:28,1
    - Dst: OPENSSL_load_u16_be
      Src: /src/openssl/test/byteorder_test.c:29,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/test/byteorder_test.c:30,1
    - Dst: TEST_true
      Src: /src/openssl/test/byteorder_test.c:31,1
    - Dst: memcmp
      Src: /src/openssl/test/byteorder_test.c:32,1
    - Dst: TEST_info
      Src: /src/openssl/test/byteorder_test.c:35,1
    - Dst: memset
      Src: /src/openssl/test/byteorder_test.c:39,1
    - Dst: OPENSSL_load_u32_le
      Src: /src/openssl/test/byteorder_test.c:40,1
    - Dst: OPENSSL_store_u32_le
      Src: /src/openssl/test/byteorder_test.c:41,1
    - Dst: TEST_true
      Src: /src/openssl/test/byteorder_test.c:42,1
    - Dst: memcmp
      Src: /src/openssl/test/byteorder_test.c:43,1
    - Dst: TEST_info
      Src: /src/openssl/test/byteorder_test.c:46,1
    - Dst: memset
      Src: /src/openssl/test/byteorder_test.c:50,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/test/byteorder_test.c:51,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/test/byteorder_test.c:52,1
    - Dst: TEST_true
      Src: /src/openssl/test/byteorder_test.c:53,1
    - Dst: memcmp
      Src: /src/openssl/test/byteorder_test.c:54,1
    - Dst: TEST_info
      Src: /src/openssl/test/byteorder_test.c:57,1
    - Dst: memset
      Src: /src/openssl/test/byteorder_test.c:61,1
    - Dst: OPENSSL_load_u64_le
      Src: /src/openssl/test/byteorder_test.c:62,1
    - Dst: OPENSSL_store_u64_le
      Src: /src/openssl/test/byteorder_test.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/byteorder_test.c:64,1
    - Dst: memcmp
      Src: /src/openssl/test/byteorder_test.c:65,1
    - Dst: TEST_info
      Src: /src/openssl/test/byteorder_test.c:68,1
    - Dst: memset
      Src: /src/openssl/test/byteorder_test.c:72,1
    - Dst: OPENSSL_load_u64_be
      Src: /src/openssl/test/byteorder_test.c:73,1
    - Dst: OPENSSL_store_u64_be
      Src: /src/openssl/test/byteorder_test.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/byteorder_test.c:75,1
    - Dst: memcmp
      Src: /src/openssl/test/byteorder_test.c:76,1
    - Dst: TEST_info
      Src: /src/openssl/test/byteorder_test.c:79,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 83
    functionName: test_byteorder
    functionSourceFile: /src/openssl/test/byteorder_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memset
    - OPENSSL_store_u64_le
    - TEST_info
    - OPENSSL_load_u64_be
    - OPENSSL_store_u32_le
    - OPENSSL_store_u16_be
    - OPENSSL_load_u32_le
    - OPENSSL_load_u32_be
    - TEST_true
    - OPENSSL_store_u64_be
    - OPENSSL_store_u32_be
    - OPENSSL_load_u64_le
    - OPENSSL_store_u16_le
    - OPENSSL_load_u16_le
    - OPENSSL_load_u16_be
    linkageType: ''
    returnType: int
    signature: int test_byteorder(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/byteorder_test.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/byteorder_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/test/params_test.c:92,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vobj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: cleanup_object
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void cleanup_object(void *vobj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:103,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/params_test.c:103,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:108,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/params_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:110,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/params_test.c:110,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:112,1
    - Dst: cleanup_object
      Src: /src/openssl/test/params_test.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: init_object
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - OPENSSL_zalloc
    - BN_hex2bn
    - OPENSSL_strdup
    - TEST_true
    - TEST_ptr
    - cleanup_object
    linkageType: ''
    returnType: void
    signature: void *init_object(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:135,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:137,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:139,1
    - Dst: BN_free
      Src: /src/openssl/test/params_test.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:141,1
    - Dst: BN_native2bn
      Src: /src/openssl/test/params_test.c:141,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:146,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/test/params_test.c:146,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:149,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:150,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/params_test.c:156,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/params_test.c:158,1
    - Dst: strncpy
      Src: /src/openssl/test/params_test.c:160,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:162,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 169
    functionName: raw_set_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - strncpy
    - TEST_size_t_lt
    - OPENSSL_strnlen
    - OPENSSL_free
    - strcmp
    - TEST_ptr
    - strlen
    - BN_free
    - OPENSSL_strndup
    - BN_native2bn
    linkageType: ''
    returnType: int
    signature: int raw_set_params(void *vobj, const OSSL_PARAM *params)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:176,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:179,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:182,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/params_test.c:183,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/params_test.c:184,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/test/params_test.c:186,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:187,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:188,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/params_test.c:189,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:191,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:192,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:193,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/params_test.c:194,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:196,1
    - Dst: strcmp
      Src: /src/openssl/test/params_test.c:197,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 171
    functionDepth: 6
    functionLinenumber: 171
    functionLinenumberEnd: 203
    functionName: raw_get_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - TEST_size_t_gt
    - BN_num_bytes
    - TEST_size_t_ge
    - BN_bn2nativepad
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int raw_get_params(void *vobj, OSSL_PARAM *params)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:214,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:215,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_test.c:215,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:217,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:218,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/params_test.c:218,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:221,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_test.c:221,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:223,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:224,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:227,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/params_test.c:227,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:232,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/params_test.c:232,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:234,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/params_test.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:237,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/test/params_test.c:237,1
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:239,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 243
    functionName: api_set_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_double
    - strlen
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_ptr
    - OPENSSL_free
    - OSSL_PARAM_get_utf8_string
    - TEST_true
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: int api_set_params(void *vobj, const OSSL_PARAM *params)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:251,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/params_test.c:251,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:254,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/openssl/test/params_test.c:254,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:257,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/test/params_test.c:257,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:260,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/test/params_test.c:260,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:263,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/test/params_test.c:263,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:265,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:266,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/test/params_test.c:266,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - vobj
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 5
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: api_get_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_double
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_set_int
    - TEST_true
    - OSSL_PARAM_set_utf8_string
    linkageType: ''
    returnType: int
    signature: int api_get_params(void *vobj, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/test/params_test.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: cleanup_app_variables
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: int
    signature: int cleanup_app_variables(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_app_variables
      Src: /src/openssl/test/params_test.c:333,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/params_test.c:337,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/test/params_test.c:338,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:340,1
    - Dst: strcpy
      Src: /src/openssl/test/params_test.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 329
    functionDepth: 6
    functionLinenumber: 329
    functionLinenumberEnd: 346
    functionName: init_app_variables
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - BN_hex2bn
    - cleanup_app_variables
    - BN_bn2nativepad
    linkageType: ''
    returnType: int
    signature: int init_app_variables(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_test.c:386,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/test/params_test.c:387,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/params_test.c:388,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/params_test.c:390,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/test/params_test.c:393,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/params_test.c:395,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_test.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 399
    functionName: construct_api_params
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_BN
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_ptr
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *construct_api_params(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:447,1
    - Dst: init_object
      Src: /src/openssl/test/params_test.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:448,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/params_test.c:448,1
    - Dst: init_app_variables
      Src: /src/openssl/test/params_test.c:457,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:459,1
    - Dst: struct provider_dispatch_st*::get_params
      Src: /src/openssl/test/params_test.c:459,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_test.c:460,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_test.c:461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:462,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:462,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:463,1
    - Dst: BN_native2bn
      Src: /src/openssl/test/params_test.c:463,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_test.c:464,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:465,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:466,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:466,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_test.c:467,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:470,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:470,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_test.c:471,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:473,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/params_test.c:474,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:475,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:475,1
    - Dst: init_app_variables
      Src: /src/openssl/test/params_test.c:482,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:484,1
    - Dst: struct provider_dispatch_st*::set_params
      Src: /src/openssl/test/params_test.c:484,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_test.c:489,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_test.c:490,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_test.c:491,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:492,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:493,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:494,1
    - Dst: BN_free
      Src: /src/openssl/test/params_test.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:505,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/params_test.c:505,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:510,1
    - Dst: struct provider_dispatch_st*::get_params
      Src: /src/openssl/test/params_test.c:510,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_test.c:511,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_test.c:512,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:513,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:513,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:514,1
    - Dst: BN_native2bn
      Src: /src/openssl/test/params_test.c:514,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_test.c:515,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:516,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:517,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:517,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_test.c:518,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:520,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:521,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:521,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_test.c:522,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_test.c:524,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/params_test.c:525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_test.c:526,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_test.c:526,1
    - Dst: BN_free
      Src: /src/openssl/test/params_test.c:530,1
    - Dst: cleanup_app_variables
      Src: /src/openssl/test/params_test.c:532,1
    - Dst: cleanup_object
      Src: /src/openssl/test/params_test.c:533,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 32
    argCount: 2
    argNames:
    - params
    - prov
    argTypes:
    - OSSL_PARAM*
    - struct provider_dispatch_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 437
    functionDepth: 7
    functionLinenumber: 437
    functionLinenumberEnd: 536
    functionName: test_case_variant
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - init_app_variables
    - BN_hex2bn
    - TEST_BN_eq
    - cleanup_app_variables
    - struct provider_dispatch_st*::get_params
    - TEST_str_eq
    - TEST_int_eq
    - TEST_double_eq
    - init_object
    - struct provider_dispatch_st*::set_params
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - BN_free
    - cleanup_object
    - BN_native2bn
    - TEST_char_eq
    linkageType: ''
    returnType: int
    signature: int test_case_variant(OSSL_PARAM *params, const struct provider_dispatch_st
      *prov)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/params_test.c:540,1
    - Dst: test_case_variant
      Src: /src/openssl/test/params_test.c:542,1
    - Dst: test_case_variant
      Src: /src/openssl/test/params_test.c:545,1
    - Dst: app::constructed_params
      Src: /src/openssl/test/params_test.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 538
    functionDepth: 8
    functionLinenumber: 538
    functionLinenumberEnd: 547
    functionName: test_case
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - test_case_variant
    - app::constructed_params
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_case(int i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/test/params_test.c:622,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:625,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:632,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:633,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/openssl/test/params_test.c:637,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:638,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:641,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:646,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:651,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct int_from_text_test_st
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 658
    functionName: check_int_from_text
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_long
    - OPENSSL_free
    - OSSL_PARAM_allocate_from_text
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int check_int_from_text(const struct int_from_text_test_st a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/params_test.c:669,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/params_test.c:672,1
    - Dst: memset
      Src: /src/openssl/test/params_test.c:673,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_test.c:676,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/test/params_test.c:676,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_test.c:682,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/test/params_test.c:682,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_test.c:687,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_test.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 694
    functionName: check_octetstr_from_hexstr
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_clear_error
    - TEST_false
    - OPENSSL_free
    - OSSL_PARAM_allocate_from_text
    - TEST_true
    - strlen
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int check_octetstr_from_hexstr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_int_from_text
      Src: /src/openssl/test/params_test.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 6
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: test_allocate_from_text
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - check_int_from_text
    linkageType: ''
    returnType: int
    signature: int test_allocate_from_text(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_octetstr_from_hexstr
      Src: /src/openssl/test/params_test.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 4
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: test_more_allocate_from_text
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - check_octetstr_from_hexstr
    linkageType: ''
    returnType: int
    signature: int test_more_allocate_from_text(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_test.c:708,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_test.c:708,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_test.c:709,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_test.c:709,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_test.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/params_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_new
      Src: /src/openssl/test/tls-provider.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: xor_prov_get_keymgmt_new
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_new
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_new_fn
    signature: 'OSSL_FUNC_keymgmt_new_fn *

      xor_prov_get_keymgmt_new(const OSSL_DISPATCH *fns)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_free
      Src: /src/openssl/test/tls-provider.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: xor_prov_get_keymgmt_free
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_free
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_free_fn
    signature: 'OSSL_FUNC_keymgmt_free_fn *

      xor_prov_get_keymgmt_free(const OSSL_DISPATCH *fns)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_import
      Src: /src/openssl/test/tls-provider.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: xor_prov_get_keymgmt_import
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_import
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_import_fn
    signature: 'OSSL_FUNC_keymgmt_import_fn *

      xor_prov_get_keymgmt_import(const OSSL_DISPATCH *fns)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_export
      Src: /src/openssl/test/tls-provider.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: xor_prov_get_keymgmt_export
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_export
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_export_fn
    signature: 'OSSL_FUNC_keymgmt_export_fn *

      xor_prov_get_keymgmt_export(const OSSL_DISPATCH *fns)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xor_prov_get_keymgmt_new
      Src: /src/openssl/test/tls-provider.c:175,1
    - Dst: xor_prov_get_keymgmt_free
      Src: /src/openssl/test/tls-provider.c:176,1
    - Dst: xor_prov_get_keymgmt_import
      Src: /src/openssl/test/tls-provider.c:178,1
    - Dst: kmgmt_new
      Src: /src/openssl/test/tls-provider.c:182,1
    - Dst: kmgmt_import
      Src: /src/openssl/test/tls-provider.c:183,1
    - Dst: kmgmt_free
      Src: /src/openssl/test/tls-provider.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - fns
    - provctx
    - selection
    - params
    argTypes:
    - OSSL_DISPATCH*
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: xor_prov_import_key
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_prov_get_keymgmt_new
    - xor_prov_get_keymgmt_free
    - kmgmt_import
    - xor_prov_get_keymgmt_import
    - kmgmt_new
    - kmgmt_free
    linkageType: ''
    returnType: void
    signature: "void *xor_prov_import_key(const OSSL_DISPATCH *fns, void *provctx,\n
      \                          int selection, const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xor_prov_get_keymgmt_free
      Src: /src/openssl/test/tls-provider.c:193,1
    - Dst: kmgmt_free
      Src: /src/openssl/test/tls-provider.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fns
    - key
    argTypes:
    - OSSL_DISPATCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: xor_prov_free_key
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - kmgmt_free
    - xor_prov_get_keymgmt_free
    linkageType: ''
    returnType: void
    signature: void xor_prov_free_key(const OSSL_DISPATCH *fns, void *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/tls-provider.c:384,1
    - Dst: strcmp
      Src: /src/openssl/test/tls-provider.c:386,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/tls-provider.c:388,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:390,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:391,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls-provider.c:400,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:403,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:407,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/tls-provider.c:410,1
    - Dst: strlen
      Src: /src/openssl/test/tls-provider.c:415,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:419,1
    - Dst: strcmp
      Src: /src/openssl/test/tls-provider.c:423,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:424,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:425,1
    - Dst: cb
      Src: /src/openssl/test/tls-provider.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - provctx
    - capability
    - cb
    - arg
    argTypes:
    - void*
    - char*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 429
    functionName: tls_prov_get_capabilities
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - memcpy
    - OPENSSL_assert
    - BIO_snprintf
    - OSSL_NELEM
    - cb
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int tls_prov_get_capabilities(void *provctx, const char *capability,\n
      \                                    OSSL_CALLBACK *cb, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/tls-provider.c:437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: xor_newprovctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: PROV_XOR_CTX
    signature: PROV_XOR_CTX *xor_newprovctx(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - provctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    functionName: PROV_XOR_LIBCTX_OF
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_XOR_LIBCTX_OF(provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 475
    functionName: xor_newkemkexctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *xor_newkemkexctx(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - vpxorctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: xor_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int xor_init(void *vpxorctx, void *vkey,\n                    ossl_unused
      const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vpxorctx
    - vpeerkey
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: xor_set_peer
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xor_set_peer(void *vpxorctx, void *vpeerkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - vpxorctx
    - secret
    - secretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 518
    functionName: xor_derive
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int xor_derive(void *vpxorctx, unsigned char *secret, size_t *secretlen,\n
      \                     size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pxorctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: xor_freectx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void xor_freectx(void *pxorctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vpxorctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 537
    functionName: xor_dupctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *xor_dupctx(void *vpxorctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xor_gen_init
      Src: /src/openssl/test/tls-provider.c:593,1
    - Dst: xor_gen
      Src: /src/openssl/test/tls-provider.c:596,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:601,1
    - Dst: xor_newkemkexctx
      Src: /src/openssl/test/tls-provider.c:605,1
    - Dst: xor_init
      Src: /src/openssl/test/tls-provider.c:607,1
    - Dst: xor_set_peer
      Src: /src/openssl/test/tls-provider.c:608,1
    - Dst: xor_derive
      Src: /src/openssl/test/tls-provider.c:609,1
    - Dst: xor_gen_cleanup
      Src: /src/openssl/test/tls-provider.c:615,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:616,1
    - Dst: xor_freectx
      Src: /src/openssl/test/tls-provider.c:617,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 5
    argNames:
    - vpxorctx
    - ct
    - ctlen
    - ss
    - sslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 619
    functionName: xor_encapsulate
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_init
    - xor_newkemkexctx
    - xor_gen
    - memcpy
    - xor_gen_init
    - xor_derive
    - xor_gen_cleanup
    - xor_set_peer
    - xor_freectx
    - xor_freekey
    linkageType: ''
    returnType: int
    signature: "int xor_encapsulate(void *vpxorctx,\n                           unsigned
      char *ct, size_t *ctlen,\n                           unsigned char *ss, size_t
      *sslen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xor_newkey
      Src: /src/openssl/test/tls-provider.c:646,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:649,1
    - Dst: xor_newkemkexctx
      Src: /src/openssl/test/tls-provider.c:652,1
    - Dst: xor_init
      Src: /src/openssl/test/tls-provider.c:654,1
    - Dst: xor_set_peer
      Src: /src/openssl/test/tls-provider.c:655,1
    - Dst: xor_derive
      Src: /src/openssl/test/tls-provider.c:656,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:662,1
    - Dst: xor_freectx
      Src: /src/openssl/test/tls-provider.c:663,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - vpxorctx
    - ss
    - sslen
    - ct
    - ctlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 665
    functionName: xor_decapsulate
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_newkey
    - xor_init
    - xor_newkemkexctx
    - memcpy
    - xor_derive
    - xor_set_peer
    - xor_freectx
    - xor_freekey
    linkageType: ''
    returnType: int
    signature: "int xor_decapsulate(void *vpxorctx,\n                           unsigned
      char *ss, size_t *sslen,\n                           const unsigned char *ct,
      size_t ctlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:691,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/test/tls-provider.c:696,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 702
    functionName: xor_newkey
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *xor_newkey(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/test/tls-provider.c:712,1
    - Dst: assert
      Src: /src/openssl/test/tls-provider.c:717,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:719,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/test/tls-provider.c:721,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts:
    - condition: (refcnt == 0)
      pos:
        line_end: 716
        line_start: 716
        source_file: /src/openssl/test/tls-provider.c
    constantsTouched: []
    func_position:
      end: 723
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 723
    functionName: xor_freekey
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - assert
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void xor_freekey(void *keydata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/test/tls-provider.c:729,1
    - Dst: assert
      Src: /src/openssl/test/tls-provider.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - XORKEY*
    assertStmts:
    - condition: (refcnt > 1)
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/openssl/test/tls-provider.c
    constantsTouched: []
    func_position:
      end: 734
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 734
    functionName: xor_key_up_ref
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    - assert
    linkageType: ''
    returnType: int
    signature: int xor_key_up_ref(XORKEY *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - vkey
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 750
    functionName: xor_has
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xor_has(const void *vkey, int selection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: xor_newkey
      Src: /src/openssl/test/tls-provider.c:754,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:763,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:771,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:778,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:781,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - vfromkey
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 785
    functionName: xor_dup
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_newkey
    - memcpy
    - OPENSSL_strdup
    - xor_freekey
    linkageType: ''
    returnType: void
    signature: void *xor_dup(const void *vfromkey, int selection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/tls-provider.c:792,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/tls-provider.c:793,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/tls-provider.c:796,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/tls-provider.c:797,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/tls-provider.c:800,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:806,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - vkey
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 787
    functionDepth: 5
    functionLinenumber: 787
    functionLinenumberEnd: 810
    functionName: xor_get_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - memcpy
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline xor_get_params(void *vkey, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: xor_gettable_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_gettable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:829,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vkey
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 839
    functionName: xor_set_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int xor_set_params(void *vkey, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 858
    functionName: xor_load
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *xor_load(const void *reference, size_t reference_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - kd1
    - kd2
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionName: xor_recreate
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xor_recreate(const unsigned char *kd1, const unsigned char *kd2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/tls-provider.c:878,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/test/tls-provider.c:883,1
    - Dst: xor_recreate
      Src: /src/openssl/test/tls-provider.c:886,1
    - Dst: xor_recreate
      Src: /src/openssl/test/tls-provider.c:889,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/test/tls-provider.c:898,1
    - Dst: xor_recreate
      Src: /src/openssl/test/tls-provider.c:900,1
    - Dst: xor_recreate
      Src: /src/openssl/test/tls-provider.c:903,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 910
    functionName: xor_match
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - strcmp
    - xor_recreate
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: int xor_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: xor_settable_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_settable_params(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:931,1
    - Dst: PROV_XOR_LIBCTX_OF
      Src: /src/openssl/test/tls-provider.c:935,1
    - Dst: xor_gen_set_params
      Src: /src/openssl/test/tls-provider.c:937,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 942
    functionName: xor_gen_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 1
    functionsReached:
    - xor_gen_set_params
    - OPENSSL_free
    - OPENSSL_zalloc
    - PROV_XOR_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: "void *xor_gen_init(void *provctx, int selection,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:952,1
    - Dst: strcmp
      Src: /src/openssl/test/tls-provider.c:955,1
    - Dst: strcmp
      Src: /src/openssl/test/tls-provider.c:956,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 961
    functionName: xor_gen_set_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 1
    functionsReached:
    - strcmp
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int xor_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/tls-provider.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 971
    functionName: xor_gen_settable_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *xor_gen_settable_params(ossl_unused void *genctx,\n                                                 ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xor_newkey
      Src: /src/openssl/test/tls-provider.c:976,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/tls-provider.c:983,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 973
    functionDepth: 7
    functionLinenumber: 973
    functionLinenumberEnd: 994
    functionName: xor_gen
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 1
    functionsReached:
    - xor_newkey
    - OPENSSL_free
    - RAND_bytes_ex
    linkageType: ''
    returnType: void
    signature: void *xor_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/tls-provider.c:1011,1
    - Dst: memset
      Src: /src/openssl/test/tls-provider.c:1012,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:1013,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:1014,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/tls-provider.c:1017,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/tls-provider.c:1020,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1025,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - vkey
    - select
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1035
    functionName: xor_import
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OSSL_PARAM_locate_const
    - memset
    - OSSL_PARAM_get_octet_string
    linkageType: ''
    returnType: int
    signature: int xor_import(void *vkey, int select, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/tls-provider.c:1046,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/tls-provider.c:1049,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/tls-provider.c:1051,1
    - Dst: param_cb
      Src: /src/openssl/test/tls-provider.c:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - vkey
    - select
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1054
    functionName: xor_export
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    - param_cb
    linkageType: ''
    returnType: int
    signature: "int xor_export(void *vkey, int select, OSSL_CALLBACK *param_cb,\n
      \                     void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - select
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1065
    functionName: xor_import_types
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_import_types(int select)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xor_import_types
      Src: /src/openssl/test/tls-provider.c:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - provctx
    - select
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1073
    functionName: xor_import_types_ex
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_import_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_import_types_ex(void *provctx, int select)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - select
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1078
    functionName: xor_export_types
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_export_types(int select)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xor_export_types
      Src: /src/openssl/test/tls-provider.c:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - provctx
    - select
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1086
    functionName: xor_export_types_ex
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_export_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_export_types_ex(void *provctx, int select)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: xor_gen_cleanup
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void xor_gen_cleanup(void *genctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xor_gen
      Src: /src/openssl/test/tls-provider.c:1120,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:1124,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1118
    functionDepth: 8
    functionLinenumber: 1118
    functionLinenumberEnd: 1130
    functionName: xor_xorhmacsig_gen
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - xor_freekey
    - xor_gen
    linkageType: ''
    returnType: void
    signature: void *xor_xorhmacsig_gen(void *genctx, OSSL_CALLBACK *osslcb, void
      *cbarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xor_gen
      Src: /src/openssl/test/tls-provider.c:1134,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:1138,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1132
    functionDepth: 8
    functionLinenumber: 1132
    functionLinenumberEnd: 1144
    functionName: xor_xorhmacsha2sig_gen
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - xor_freekey
    - xor_gen
    linkageType: ''
    returnType: void
    signature: void *xor_xorhmacsha2sig_gen(void *genctx, OSSL_CALLBACK *osslcb, void
      *cbarg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/test/tls-provider.c:1214,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1216,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/tls-provider.c:1219,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1223,1
    - Dst: xor_newkey
      Src: /src/openssl/test/tls-provider.c:1227,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1229,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1234,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1239,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1242,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:1246,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/tls-provider.c:1246,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:1252,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - palg
    - p
    - plen
    - op
    - libctx
    - propq
    argTypes:
    - X509_ALGOR*
    - unsigned char*
    - int
    - xor_key_op_t
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1202
    functionDepth: 6
    functionLinenumber: 1202
    functionLinenumberEnd: 1254
    functionName: xor_key_op
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_newkey
    - ERR_raise
    - memcpy
    - OBJ_nid2sn
    - X509_ALGOR_get0
    - OPENSSL_strdup
    - xor_freekey
    - OBJ_obj2nid
    linkageType: ''
    returnType: XORKEY
    signature: "XORKEY *xor_key_op(const X509_ALGOR *palg,\n                          const
      unsigned char *p, int plen,\n                          xor_key_op_t op,\n                          OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/test/tls-provider.c:1263,1
    - Dst: xor_key_op
      Src: /src/openssl/test/tls-provider.c:1266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - xpk
    - libctx
    - propq
    argTypes:
    - X509_PUBKEY*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1256
    functionDepth: 7
    functionLinenumber: 1256
    functionLinenumberEnd: 1267
    functionName: xor_key_from_x509pubkey
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_key_op
    - X509_PUBKEY_get0_param
    linkageType: ''
    returnType: XORKEY
    signature: "XORKEY *xor_key_from_x509pubkey(const X509_PUBKEY *xpk,\n                                 OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/test/tls-provider.c:1278,1
    - Dst: d2i_ASN1_OCTET_STRING
      Src: /src/openssl/test/tls-provider.c:1281,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/tls-provider.c:1286,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/tls-provider.c:1287,1
    - Dst: xor_key_op
      Src: /src/openssl/test/tls-provider.c:1290,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/tls-provider.c:1292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1269
    functionDepth: 7
    functionLinenumber: 1269
    functionLinenumberEnd: 1294
    functionName: xor_key_from_pkcs8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - xor_key_op
    - d2i_ASN1_OCTET_STRING
    - PKCS8_pkey_get0
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: XORKEY
    signature: "XORKEY *xor_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf,\n                           OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/tls-provider.c:1341,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/tls-provider.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1347
    functionName: free_asn1_data
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: void
    signature: void free_asn1_data(int type, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PKCS8_PRIV_KEY_INFO_new
      Src: /src/openssl/test/tls-provider.c:1359,1
    - Dst: k2d
      Src: /src/openssl/test/tls-provider.c:1360,1
    - Dst: PKCS8_pkey_set0
      Src: /src/openssl/test/tls-provider.c:1361,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/tls-provider.c:1361,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1364,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:1365,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:1366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    argTypes:
    - void*
    - int
    - void*
    - int
    - i2d_of_void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1349
    functionDepth: 5
    functionLinenumber: 1349
    functionLinenumberEnd: 1371
    functionName: key_to_p8info
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS8_pkey_set0
    - ERR_raise
    - k2d
    - OPENSSL_free
    - PKCS8_PRIV_KEY_INFO_new
    - OBJ_nid2obj
    linkageType: ''
    returnType: PKCS8_PRIV_KEY_INFO
    signature: "PKCS8_PRIV_KEY_INFO *key_to_p8info(const void *key, int key_nid,\n
      \                                         void *params, int params_type,\n                                          i2d_of_void
      *k2d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_XOR_LIBCTX_OF
      Src: /src/openssl/test/tls-provider.c:1379,1
    - Dst: struct key2any_ctx_st*::pwcb
      Src: /src/openssl/test/tls-provider.c:1384,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1385,1
    - Dst: PKCS8_encrypt_ex
      Src: /src/openssl/test/tls-provider.c:1389,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/tls-provider.c:1391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p8info
    - ctx
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - struct key2any_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1393
    functionName: p8info_to_encp8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - PROV_XOR_LIBCTX_OF
    - PKCS8_encrypt_ex
    - OPENSSL_cleanse
    - struct key2any_ctx_st*::pwcb
    linkageType: ''
    returnType: X509_SIG
    signature: "X509_SIG *p8info_to_encp8(PKCS8_PRIV_KEY_INFO *p8info,\n                                 struct
      key2any_ctx_st *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_to_p8info
      Src: /src/openssl/test/tls-provider.c:1400,1
    - Dst: free_asn1_data
      Src: /src/openssl/test/tls-provider.c:1404,1
    - Dst: p8info_to_encp8
      Src: /src/openssl/test/tls-provider.c:1406,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:1407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    - ctx
    argTypes:
    - void*
    - int
    - void*
    - int
    - i2d_of_void*
    - struct key2any_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1395
    functionDepth: 6
    functionLinenumber: 1395
    functionLinenumberEnd: 1410
    functionName: key_to_encp8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - free_asn1_data
    - p8info_to_encp8
    - key_to_p8info
    linkageType: ''
    returnType: X509_SIG
    signature: "X509_SIG *key_to_encp8(const void *key, int key_nid,\n                              void
      *params, int params_type,\n                              i2d_of_void *k2d, struct
      key2any_ctx_st *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_new
      Src: /src/openssl/test/tls-provider.c:1422,1
    - Dst: k2d
      Src: /src/openssl/test/tls-provider.c:1423,1
    - Dst: X509_PUBKEY_set0_param
      Src: /src/openssl/test/tls-provider.c:1424,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/tls-provider.c:1424,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1427,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/tls-provider.c:1428,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:1429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - key
    - key_nid
    - params
    - params_type
    - k2d
    argTypes:
    - void*
    - int
    - void*
    - int
    - i2d_of_void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1412
    functionDepth: 5
    functionLinenumber: 1412
    functionLinenumberEnd: 1434
    functionName: xorx_key_to_pubkey
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - k2d
    - X509_PUBKEY_new
    - X509_PUBKEY_free
    - X509_PUBKEY_set0_param
    - OPENSSL_free
    - OBJ_nid2obj
    linkageType: ''
    returnType: X509_PUBKEY
    signature: "X509_PUBKEY *xorx_key_to_pubkey(const void *key, int key_nid,\n                                  void
      *params, int params_type,\n                                  i2d_of_void k2d)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/openssl/test/tls-provider.c:1470,1
    - Dst: key_to_encp8
      Src: /src/openssl/test/tls-provider.c:1474,1
    - Dst: i2d_PKCS8_bio
      Src: /src/openssl/test/tls-provider.c:1476,1
    - Dst: X509_SIG_free
      Src: /src/openssl/test/tls-provider.c:1478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - ossl_unused*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1455
    functionDepth: 7
    functionLinenumber: 1455
    functionLinenumberEnd: 1481
    functionName: key_to_epki_der_priv_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - X509_SIG_free
    - i2d_PKCS8_bio
    - p2s
    - key_to_encp8
    linkageType: ''
    returnType: int
    signature: "int key_to_epki_der_priv_bio(BIO *out, const void *key,\n                                    int
      key_nid,\n                                    ossl_unused const char *pemname,\n
      \                                   key_to_paramstring_fn *p2s,\n                                    i2d_of_void
      *k2d,\n                                    struct key2any_ctx_st *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/openssl/test/tls-provider.c:1498,1
    - Dst: key_to_encp8
      Src: /src/openssl/test/tls-provider.c:1502,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/openssl/test/tls-provider.c:1504,1
    - Dst: X509_SIG_free
      Src: /src/openssl/test/tls-provider.c:1506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - ossl_unused*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1483
    functionDepth: 7
    functionLinenumber: 1483
    functionLinenumberEnd: 1509
    functionName: key_to_epki_pem_priv_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_PKCS8
    - X509_SIG_free
    - p2s
    - key_to_encp8
    linkageType: ''
    returnType: int
    signature: "int key_to_epki_pem_priv_bio(BIO *out, const void *key,\n                                    int
      key_nid,\n                                    ossl_unused const char *pemname,\n
      \                                   key_to_paramstring_fn *p2s,\n                                    i2d_of_void
      *k2d,\n                                    struct key2any_ctx_st *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: key_to_epki_der_priv_bio
      Src: /src/openssl/test/tls-provider.c:1524,1
    - Dst: p2s
      Src: /src/openssl/test/tls-provider.c:1527,1
    - Dst: key_to_p8info
      Src: /src/openssl/test/tls-provider.c:1531,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/test/tls-provider.c:1534,1
    - Dst: free_asn1_data
      Src: /src/openssl/test/tls-provider.c:1536,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:1538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - ossl_unused*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1511
    functionDepth: 8
    functionLinenumber: 1511
    functionLinenumberEnd: 1541
    functionName: key_to_pki_der_priv_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - key_to_epki_der_priv_bio
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    - key_to_p8info
    - free_asn1_data
    - p2s
    linkageType: ''
    returnType: int
    signature: "int key_to_pki_der_priv_bio(BIO *out, const void *key,\n                                   int
      key_nid,\n                                   ossl_unused const char *pemname,\n
      \                                  key_to_paramstring_fn *p2s,\n                                   i2d_of_void
      *k2d,\n                                   struct key2any_ctx_st *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: key_to_epki_pem_priv_bio
      Src: /src/openssl/test/tls-provider.c:1556,1
    - Dst: p2s
      Src: /src/openssl/test/tls-provider.c:1559,1
    - Dst: key_to_p8info
      Src: /src/openssl/test/tls-provider.c:1563,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/test/tls-provider.c:1566,1
    - Dst: free_asn1_data
      Src: /src/openssl/test/tls-provider.c:1568,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:1570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - ossl_unused*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1543
    functionDepth: 8
    functionLinenumber: 1543
    functionLinenumberEnd: 1573
    functionName: key_to_pki_pem_priv_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - key_to_p8info
    - key_to_epki_pem_priv_bio
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    - free_asn1_data
    - p2s
    linkageType: ''
    returnType: int
    signature: "int key_to_pki_pem_priv_bio(BIO *out, const void *key,\n                                   int
      key_nid,\n                                   ossl_unused const char *pemname,\n
      \                                  key_to_paramstring_fn *p2s,\n                                   i2d_of_void
      *k2d,\n                                   struct key2any_ctx_st *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/openssl/test/tls-provider.c:1587,1
    - Dst: xorx_key_to_pubkey
      Src: /src/openssl/test/tls-provider.c:1591,1
    - Dst: i2d_X509_PUBKEY_bio
      Src: /src/openssl/test/tls-provider.c:1594,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/tls-provider.c:1596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - ossl_unused*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1575
    functionDepth: 6
    functionLinenumber: 1575
    functionLinenumberEnd: 1598
    functionName: key_to_spki_der_pub_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_free
    - xorx_key_to_pubkey
    - p2s
    - i2d_X509_PUBKEY_bio
    linkageType: ''
    returnType: int
    signature: "int key_to_spki_der_pub_bio(BIO *out, const void *key,\n                                   int
      key_nid,\n                                   ossl_unused const char *pemname,\n
      \                                  key_to_paramstring_fn *p2s,\n                                   i2d_of_void
      *k2d,\n                                   struct key2any_ctx_st *ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: p2s
      Src: /src/openssl/test/tls-provider.c:1612,1
    - Dst: xorx_key_to_pubkey
      Src: /src/openssl/test/tls-provider.c:1616,1
    - Dst: PEM_write_bio_X509_PUBKEY
      Src: /src/openssl/test/tls-provider.c:1619,1
    - Dst: free_asn1_data
      Src: /src/openssl/test/tls-provider.c:1621,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/tls-provider.c:1624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - out
    - key
    - key_nid
    - pemname
    - p2s
    - k2d
    - ctx
    argTypes:
    - BIO*
    - void*
    - int
    - ossl_unused*
    - key_to_paramstring_fn*
    - i2d_of_void*
    - struct key2any_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1600
    functionDepth: 6
    functionLinenumber: 1600
    functionLinenumberEnd: 1626
    functionName: key_to_spki_pem_pub_bio
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_free
    - p2s
    - PEM_write_bio_X509_PUBKEY
    - free_asn1_data
    - xorx_key_to_pubkey
    linkageType: ''
    returnType: int
    signature: "int key_to_spki_pem_pub_bio(BIO *out, const void *key,\n                                   int
      key_nid,\n                                   ossl_unused const char *pemname,\n
      \                                  key_to_paramstring_fn *p2s,\n                                   i2d_of_void
      *k2d,\n                                   struct key2any_ctx_st *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/tls-provider.c:1636,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1637,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1642,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/tls-provider.c:1646,1
    - Dst: OBJ_length
      Src: /src/openssl/test/tls-provider.c:1648,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1650,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/tls-provider.c:1651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - xorxkey
    - nid
    - save
    - pstr
    - pstrtype
    argTypes:
    - void*
    - int
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1630
    functionDepth: 5
    functionLinenumber: 1630
    functionLinenumberEnd: 1657
    functionName: prepare_xorx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - ERR_raise
    - OBJ_nid2obj
    - OBJ_length
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: "int prepare_xorx_params(const void *xorxkey, int nid, int save,\n
      \                            void **pstr, int *pstrtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1666,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/tls-provider.c:1670,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - vecxkey
    - pder
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1678
    functionName: xorx_spki_pub_to_der
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int xorx_spki_pub_to_der(const void *vecxkey, unsigned char **pder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1688,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/tls-provider.c:1692,1
    - Dst: memcpy
      Src: /src/openssl/test/tls-provider.c:1693,1
    - Dst: i2d_ASN1_OCTET_STRING
      Src: /src/openssl/test/tls-provider.c:1699,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1701,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/test/tls-provider.c:1705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - vecxkey
    - pder
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1707
    functionName: xorx_pki_priv_to_der
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - i2d_ASN1_OCTET_STRING
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    linkageType: ''
    returnType: int
    signature: int xorx_pki_priv_to_der(const void *vecxkey, unsigned char **pder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:1732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1740
    functionName: key2any_newctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *key2any_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/tls-provider.c:1746,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:1747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1742
    functionDepth: 4
    functionLinenumber: 1742
    functionLinenumberEnd: 1748
    functionName: key2any_freectx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: void key2any_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/tls-provider.c:1753,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/tls-provider.c:1754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1750
    functionDepth: 1
    functionLinenumber: 1750
    functionLinenumberEnd: 1759
    functionName: key2any_settable_ctx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *key2any_settable_ctx_params(ossl_unused void *provctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROV_XOR_LIBCTX_OF
      Src: /src/openssl/test/tls-provider.c:1764,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:1766,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:1768,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:1770,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/test/tls-provider.c:1776,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/test/tls-provider.c:1778,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/tls-provider.c:1781,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/tls-provider.c:1786,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/tls-provider.c:1792,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1761
    functionDepth: 5
    functionLinenumber: 1761
    functionLinenumberEnd: 1797
    functionName: key2any_set_ctx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PROV_XOR_LIBCTX_OF
    - OSSL_PARAM_get_utf8_string_ptr
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: int key2any_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls-provider.c:1816,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - selection_mask
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1830
    functionName: key2any_check_selection
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int key2any_check_selection(int selection, int selection_mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/tls-provider.c:1840,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1843,1
    - Dst: BIO_new_from_core_bio
      Src: /src/openssl/test/tls-provider.c:1845,1
    - Dst: writer
      Src: /src/openssl/test/tls-provider.c:1851,1
    - Dst: BIO_free
      Src: /src/openssl/test/tls-provider.c:1854,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:1856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 10
    argNames:
    - ctx
    - cout
    - key
    - typestr
    - pemname
    - writer
    - pwcb
    - pwcbarg
    - key2paramstring
    - key2der
    argTypes:
    - struct key2any_ctx_st*
    - OSSL_CORE_BIO*
    - void*
    - char*
    - char*
    - key_to_der_fn*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    - key_to_paramstring_fn*
    - i2d_of_void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1832
    functionDepth: 5
    functionLinenumber: 1832
    functionLinenumberEnd: 1859
    functionName: key2any_encode
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - ERR_raise
    - writer
    - BIO_new_from_core_bio
    - BIO_free
    linkageType: ''
    returnType: int
    signature: "int key2any_encode(struct key2any_ctx_st *ctx, OSSL_CORE_BIO *cout,\n
      \                         const void *key, const char* typestr, const char *pemname,\n
      \                         key_to_der_fn *writer,\n                          OSSL_PASSPHRASE_CALLBACK
      *pwcb, void *pwcbarg,\n                          key_to_paramstring_fn *key2paramstring,\n
      \                         i2d_of_void *key2der)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - impl
    - ','
    - type
    - ','
    - kind
    - ','
    - output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1869
    functionName: DO_ENC_PRIVATE_KEY
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ENC_PRIVATE_KEY(impl, type, kind, output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - impl
    - ','
    - type
    - ','
    - kind
    - ','
    - output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1878
    functionName: DO_ENC_PUBLIC_KEY
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ENC_PUBLIC_KEY(impl, type, kind, output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - impl
    - ','
    - type
    - ','
    - kind
    - ','
    - output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1887
    functionName: DO_ENC_PARAMETERS
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ENC_PARAMETERS(impl, type, kind, output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - impl
    - ','
    - type
    - ','
    - output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1924
    functionName: DO_ENC_PrivateKeyInfo
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ENC_PrivateKeyInfo(impl, type, output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - impl
    - ','
    - type
    - ','
    - output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1928
    functionName: DO_ENC_EncryptedPrivateKeyInfo
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ENC_EncryptedPrivateKeyInfo(impl, type, output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - impl
    - ','
    - type
    - ','
    - output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1933
    functionName: DO_ENC_SubjectPublicKeyInfo
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ENC_SubjectPublicKeyInfo(impl, type, output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - impl
    - ','
    - type
    - ','
    - kind
    - ','
    - output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1986
    functionName: MAKE_ENCODER
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_ENCODER(impl, type, kind, output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _name
    - ','
    - _sym
    - ','
    - _fips
    - ','
    - _output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2070
    functionName: ENCODER
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODER(_name, _sym, _fips, _output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _name
    - ','
    - _sym
    - ','
    - _output
    - ','
    - _structure
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2076
    functionName: ENCODER_w_structure
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODER_w_structure(_name, _sym, _output, _structure)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:2183,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/test/tls-provider.c:2187,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/tls-provider.c:2188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pp
    - len
    - libctx
    argTypes:
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2180
    functionDepth: 3
    functionLinenumber: 2180
    functionLinenumberEnd: 2190
    functionName: xorx_d2i_X509_PUBKEY_INTERNAL
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ASN1_item_d2i_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_PUBKEY
    signature: "X509_PUBKEY *xorx_d2i_X509_PUBKEY_INTERNAL(const unsigned char **pp,\n
      \                                          long len, OSSL_LIB_CTX *libctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_from_core_bio
      Src: /src/openssl/test/tls-provider.c:2209,1
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/test/tls-provider.c:2210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2215,1
    - Dst: BIO_free
      Src: /src/openssl/test/tls-provider.c:2217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - provctx
    - cin
    - data
    - len
    argTypes:
    - PROV_XOR_CTX*
    - OSSL_CORE_BIO*
    - unsigned char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2205
    functionDepth: 5
    functionLinenumber: 2205
    functionLinenumberEnd: 2219
    functionName: xor_read_der
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_new_from_core_bio
    - BIO_free
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: int
    signature: "int xor_read_der(PROV_XOR_CTX *provctx, OSSL_CORE_BIO *cin,\n                        unsigned
      char **data, long *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/test/tls-provider.c:2231,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/test/tls-provider.c:2232,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/tls-provider.c:2233,1
    - Dst: key_from_pkcs8
      Src: /src/openssl/test/tls-provider.c:2234,1
    - Dst: PROV_XOR_LIBCTX_OF
      Src: /src/openssl/test/tls-provider.c:2234,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/tls-provider.c:2235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - input_der
    - input_der_len
    - ctx
    - key_from_pkcs8
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    - key_from_pkcs8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2223
    functionDepth: 6
    functionLinenumber: 2223
    functionLinenumberEnd: 2238
    functionName: xor_der2key_decode_p8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PROV_XOR_LIBCTX_OF
    - PKCS8_pkey_get0
    - key_from_pkcs8
    - d2i_PKCS8_PRIV_KEY_INFO
    - OBJ_obj2nid
    linkageType: ''
    returnType: void
    signature: "void *xor_der2key_decode_p8(const unsigned char **input_der,\n                               long
      input_der_len, struct der2key_ctx_st *ctx,\n                               key_from_pkcs8_t
      *key_from_pkcs8)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xorx_d2i_X509_PUBKEY_INTERNAL
      Src: /src/openssl/test/tls-provider.c:2246,1
    - Dst: xor_key_from_x509pubkey
      Src: /src/openssl/test/tls-provider.c:2248,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:2254,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/tls-provider.c:2259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - XORKEY**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2240
    functionDepth: 8
    functionLinenumber: 2240
    functionLinenumberEnd: 2261
    functionName: xor_d2i_PUBKEY
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_key_from_x509pubkey
    - X509_PUBKEY_free
    - xor_freekey
    - xorx_d2i_X509_PUBKEY_INTERNAL
    linkageType: ''
    returnType: XORKEY
    signature: "XORKEY *xor_d2i_PUBKEY(XORKEY **a,\n                               const
      unsigned char **pp, long length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:2273,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/tls-provider.c:2279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - desc
    - tls_name
    argTypes:
    - void*
    - struct keytype_desc_st*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2270
    functionDepth: 5
    functionLinenumber: 2270
    functionLinenumberEnd: 2283
    functionName: der2key_newctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OBJ_sn2nid
    linkageType: ''
    returnType: struct der2key_ctx_st
    signature: 'struct der2key_ctx_st *

      der2key_newctx(void *provctx, struct keytype_desc_st *desc, const char* tls_name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2290
    functionName: der2key_freectx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void der2key_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls-provider.c:2310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - desc
    argTypes:
    - int
    - struct keytype_desc_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2324
    functionName: der2key_check_selection
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: "int der2key_check_selection(int selection,\n                                   const
      struct keytype_desc_st *desc)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2349,1
    - Dst: xor_read_der
      Src: /src/openssl/test/tls-provider.c:2353,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PKCS8
      Src: /src/openssl/test/tls-provider.c:2362,1
    - Dst: struct der2key_ctx_st*::desc::d2i_private_key
      Src: /src/openssl/test/tls-provider.c:2366,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PUBKEY
      Src: /src/openssl/test/tls-provider.c:2374,1
    - Dst: struct der2key_ctx_st*::desc::d2i_public_key
      Src: /src/openssl/test/tls-provider.c:2376,1
    - Dst: struct der2key_ctx_st*::desc::d2i_key_params
      Src: /src/openssl/test/tls-provider.c:2383,1
    - Dst: struct der2key_ctx_st*::desc::check_key
      Src: /src/openssl/test/tls-provider.c:2397,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/test/tls-provider.c:2398,1
    - Dst: struct der2key_ctx_st*::desc::adjust_key
      Src: /src/openssl/test/tls-provider.c:2403,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2417,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/tls-provider.c:2425,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/tls-provider.c:2427,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/tls-provider.c:2432,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/tls-provider.c:2434,1
    - Dst: data_cb
      Src: /src/openssl/test/tls-provider.c:2436,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/test/tls-provider.c:2440,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2441,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 7
    argNames:
    - vctx
    - cin
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2326
    functionDepth: 7
    functionLinenumber: 2326
    functionLinenumberEnd: 2444
    functionName: xor_der2key_decode
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - data_cb
    - xor_read_der
    - ERR_raise
    - struct der2key_ctx_st*::desc::free_key
    - OSSL_PARAM_construct_octet_string
    - struct der2key_ctx_st*::desc::check_key
    - OSSL_PARAM_construct_utf8_string
    - struct der2key_ctx_st*::desc::d2i_PKCS8
    - OSSL_PARAM_construct_int
    - struct der2key_ctx_st*::desc::d2i_PUBKEY
    - struct der2key_ctx_st*::desc::d2i_private_key
    - struct der2key_ctx_st*::desc::d2i_public_key
    - struct der2key_ctx_st*::desc::adjust_key
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - struct der2key_ctx_st*::desc::d2i_key_params
    linkageType: ''
    returnType: int
    signature: "int xor_der2key_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,\n
      \                         OSSL_CALLBACK *data_cb, void *data_cbarg,\n                          OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xor_prov_get_keymgmt_export
      Src: /src/openssl/test/tls-provider.c:2452,1
    - Dst: export
      Src: /src/openssl/test/tls-provider.c:2459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - vctx
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - void*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2446
    functionDepth: 1
    functionLinenumber: 2446
    functionLinenumberEnd: 2462
    functionName: der2key_export_object
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - export
    - xor_prov_get_keymgmt_export
    linkageType: ''
    returnType: int
    signature: "int der2key_export_object(void *vctx,\n                                 const
      void *reference, size_t reference_sz,\n                                 OSSL_CALLBACK
      *export_cb, void *export_cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xor_der2key_decode_p8
      Src: /src/openssl/test/tls-provider.c:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - der
    - der_len
    - ctx
    argTypes:
    - void**
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2466
    functionDepth: 7
    functionLinenumber: 2466
    functionLinenumberEnd: 2471
    functionName: xorx_d2i_PKCS8
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_der2key_decode_p8
    linkageType: ''
    returnType: void
    signature: "void *xorx_d2i_PKCS8(void **key, const unsigned char **der, long der_len,\n
      \                          struct der2key_ctx_st *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2475
    functionName: xorx_key_adjust
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xorx_key_adjust(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2490
    functionName: DO_PrivateKeyInfo
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_PrivateKeyInfo(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2502
    functionName: DO_SubjectPublicKeyInfo
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_SubjectPublicKeyInfo(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - keytype_name
    - ','
    - keytype
    - ','
    - type
    - ','
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2551
    functionName: MAKE_DECODER
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DECODER(keytype_name, keytype, type, kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _name
    - ','
    - _input
    - ','
    - _structure
    - ','
    - _output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2577
    functionName: DECODER_w_structure
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODER_w_structure(_name, _input, _structure, _output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_new
      Src: /src/openssl/test/tls-provider.c:2612,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/test/tls-provider.c:2615,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/tls-provider.c:2615,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/test/tls-provider.c:2617,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/tls-provider.c:2618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - oidbuf
    - tls_name
    argTypes:
    - unsigned char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2611
    functionDepth: 7
    functionLinenumber: 2611
    functionLinenumberEnd: 2620
    functionName: xor_get_aid
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - i2d_X509_ALGOR
    - X509_ALGOR_free
    - X509_ALGOR_new
    - OBJ_txt2obj
    linkageType: ''
    returnType: int
    signature: int xor_get_aid(unsigned char** oidbuf, const char *tls_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:2654,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/tls-provider.c:2660,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2661,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2666
    functionName: xor_sig_newctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void *xor_sig_newctx(void *provctx, const char *propq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/tls-provider.c:2676,1
    - Dst: EVP_MD_nid
      Src: /src/openssl/test/tls-provider.c:2678,1
    - Dst: ERR_raise_data
      Src: /src/openssl/test/tls-provider.c:2680,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2682,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/tls-provider.c:2686,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2688,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2691,1
    - Dst: xor_get_aid
      Src: /src/openssl/test/tls-provider.c:2693,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2695,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/test/tls-provider.c:2701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - mdname
    - mdprops
    argTypes:
    - PROV_XORSIG_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2668
    functionDepth: 10
    functionLinenumber: 2668
    functionLinenumberEnd: 2703
    functionName: xor_sig_setup_md
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OPENSSL_strlcpy
    - xor_get_aid
    - ERR_raise_data
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_MD_fetch
    - EVP_MD_nid
    linkageType: ''
    returnType: int
    signature: "int xor_sig_setup_md(PROV_XORSIG_CTX *ctx,\n                        const
      char *mdname, const char *mdprops)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:2712,1
    - Dst: xor_key_up_ref
      Src: /src/openssl/test/tls-provider.c:2713,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2719,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - vpxor_sigctx
    - vxorsig
    - operation
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2705
    functionDepth: 2
    functionLinenumber: 2705
    functionLinenumberEnd: 2723
    functionName: xor_sig_signverify_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - xor_key_up_ref
    - xor_freekey
    linkageType: ''
    returnType: int
    signature: "int xor_sig_signverify_init(void *vpxor_sigctx, void *vxorsig,\n                                   int
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xor_sig_signverify_init
      Src: /src/openssl/test/tls-provider.c:2728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vpxor_sigctx
    - vxorsig
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2725
    functionDepth: 3
    functionLinenumber: 2725
    functionLinenumberEnd: 2729
    functionName: xor_sig_sign_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_sig_signverify_init
    linkageType: ''
    returnType: int
    signature: "int xor_sig_sign_init(void *vpxor_sigctx, void *vxorsig,\n                             const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xor_sig_signverify_init
      Src: /src/openssl/test/tls-provider.c:2734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vpxor_sigctx
    - vxorsig
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2731
    functionDepth: 3
    functionLinenumber: 2731
    functionLinenumberEnd: 2735
    functionName: xor_sig_verify_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_sig_signverify_init
    linkageType: ''
    returnType: int
    signature: "int xor_sig_verify_init(void *vpxor_sigctx, void *vxorsig,\n                               const
      OSSL_PARAM params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2748,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2757,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/test/tls-provider.c:2765,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - vpxor_sigctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2737
    functionDepth: 7
    functionLinenumber: 2737
    functionLinenumberEnd: 2777
    functionName: xor_sig_sign
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_Q_mac
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int xor_sig_sign(void *vpxor_sigctx, unsigned char *sig, size_t *siglen,\n
      \                   size_t sigsize, const unsigned char *tbs, size_t tbslen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2790,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/test/tls-provider.c:2803,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2806,1
    - Dst: memcmp
      Src: /src/openssl/test/tls-provider.c:2811,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:2812,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - vpxor_sigctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2779
    functionDepth: 7
    functionLinenumber: 2779
    functionLinenumberEnd: 2816
    functionName: xor_sig_verify
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_Q_mac
    - ERR_raise
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int xor_sig_verify(void *vpxor_sigctx,\n    const unsigned char *sig,
      size_t siglen,\n                          const unsigned char *tbs, size_t tbslen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: xor_sig_signverify_init
      Src: /src/openssl/test/tls-provider.c:2828,1
    - Dst: xor_sig_setup_md
      Src: /src/openssl/test/tls-provider.c:2831,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/tls-provider.c:2834,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/tls-provider.c:2838,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/tls-provider.c:2844,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - vpxor_sigctx
    - mdname
    - vxorsig
    - operation
    argTypes:
    - void*
    - char*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2818
    functionDepth: 11
    functionLinenumber: 2818
    functionLinenumberEnd: 2849
    functionName: xor_sig_digest_signverify_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - xor_sig_signverify_init
    - xor_sig_setup_md
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: "int xor_sig_digest_signverify_init(void *vpxor_sigctx, const char
      *mdname,\n                                      void *vxorsig, int operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xor_sig_digest_signverify_init
      Src: /src/openssl/test/tls-provider.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vpxor_sigctx
    - mdname
    - vxorsig
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2851
    functionDepth: 12
    functionLinenumber: 2851
    functionLinenumberEnd: 2856
    functionName: xor_sig_digest_sign_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_sig_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: "int xor_sig_digest_sign_init(void *vpxor_sigctx, const char *mdname,\n
      \                                     void *vxorsig, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xor_sig_digest_signverify_init
      Src: /src/openssl/test/tls-provider.c:2860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vpxor_sigctx
    - mdname
    - vxorsig
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2858
    functionDepth: 12
    functionLinenumber: 2858
    functionLinenumberEnd: 2862
    functionName: xor_sig_digest_verify_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_sig_digest_signverify_init
    linkageType: ''
    returnType: int
    signature: int xor_sig_digest_verify_init(void *vpxor_sigctx, const char *mdname,
      void *vxorsig, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/tls-provider.c:2873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vpxor_sigctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2864
    functionDepth: 3
    functionLinenumber: 2864
    functionLinenumberEnd: 2874
    functionName: xor_sig_digest_signverify_update
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: "int xor_sig_digest_signverify_update(void *vpxor_sigctx,\n                                     const
      unsigned char *data,\n                                     size_t datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/tls-provider.c:2888,1
    - Dst: xor_sig_sign
      Src: /src/openssl/test/tls-provider.c:2894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - vpxor_sigctx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2876
    functionDepth: 8
    functionLinenumber: 2876
    functionLinenumberEnd: 2896
    functionName: xor_sig_digest_sign_final
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - xor_sig_sign
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: int
    signature: "int xor_sig_digest_sign_final(void *vpxor_sigctx,\n                              unsigned
      char *sig, size_t *siglen,\n                              size_t sigsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/tls-provider.c:2908,1
    - Dst: xor_sig_verify
      Src: /src/openssl/test/tls-provider.c:2913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - vpxor_sigctx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2898
    functionDepth: 8
    functionLinenumber: 2898
    functionLinenumberEnd: 2914
    functionName: xor_sig_digest_verify_final
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - xor_sig_verify
    linkageType: ''
    returnType: int
    signature: "int xor_sig_digest_verify_final(void *vpxor_sigctx, const unsigned
      char *sig,\n                            size_t siglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2920,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/tls-provider.c:2921,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/tls-provider.c:2922,1
    - Dst: xor_freekey
      Src: /src/openssl/test/tls-provider.c:2926,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2928,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:2929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - vpxor_sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2916
    functionDepth: 8
    functionLinenumber: 2916
    functionLinenumberEnd: 2930
    functionName: xor_sig_freectx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_MD_free
    - xor_freekey
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void xor_sig_freectx(void *vpxor_sigctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/tls-provider.c:2937,1
    - Dst: xor_key_up_ref
      Src: /src/openssl/test/tls-provider.c:2947,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/test/tls-provider.c:2951,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/tls-provider.c:2956,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/test/tls-provider.c:2958,1
    - Dst: xor_sig_freectx
      Src: /src/openssl/test/tls-provider.c:2964,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - vpxor_sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2932
    functionDepth: 9
    functionLinenumber: 2932
    functionLinenumberEnd: 2966
    functionName: xor_sig_dupctx
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_MD_up_ref
    - xor_sig_freectx
    - EVP_MD_CTX_new
    - xor_key_up_ref
    - EVP_MD_CTX_copy_ex
    linkageType: ''
    returnType: void
    signature: void *xor_sig_dupctx(void *vpxor_sigctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/tls-provider.c:2976,1
    - Dst: xor_get_aid
      Src: /src/openssl/test/tls-provider.c:2979,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/test/tls-provider.c:2982,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/tls-provider.c:2985,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/test/tls-provider.c:2986,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - vpxor_sigctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2968
    functionDepth: 8
    functionLinenumber: 2968
    functionLinenumberEnd: 2990
    functionName: xor_sig_get_ctx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_utf8_string
    - xor_get_aid
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int xor_sig_get_ctx_params(void *vpxor_sigctx, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpxor_sigctx
    - vctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2998
    functionDepth: 0
    functionLinenumber: 2998
    functionLinenumberEnd: 3001
    functionName: xor_sig_gettable_ctx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_sig_gettable_ctx_params(ossl_unused void *vpxor_sigctx,
      ossl_unused void *vctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:3011,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/tls-provider.c:3019,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/tls-provider.c:3022,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/tls-provider.c:3025,1
    - Dst: xor_sig_setup_md
      Src: /src/openssl/test/tls-provider.c:3027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - vpxor_sigctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3003
    functionDepth: 11
    functionLinenumber: 3003
    functionLinenumberEnd: 3032
    functionName: xor_sig_set_ctx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_locate_const
    - xor_sig_setup_md
    linkageType: ''
    returnType: int
    signature: int xor_sig_set_ctx_params(void *vpxor_sigctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpsm2ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3044
    functionName: xor_sig_settable_ctx_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *xor_sig_settable_ctx_params(ossl_unused void *vpsm2ctx,\n
      \                                                    ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_params
      Src: /src/openssl/test/tls-provider.c:3053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vpxor_sigctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 3046
    functionDepth: 1
    functionLinenumber: 3046
    functionLinenumberEnd: 3054
    functionName: xor_sig_get_ctx_md_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int xor_sig_get_ctx_md_params(void *vpxor_sigctx, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/openssl/test/tls-provider.c:3063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vpxor_sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3056
    functionDepth: 2
    functionLinenumber: 3056
    functionLinenumberEnd: 3064
    functionName: xor_sig_gettable_ctx_md_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_MD_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_sig_gettable_ctx_md_params(void *vpxor_sigctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/test/tls-provider.c:3073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vpxor_sigctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3074
      start: 3066
    functionDepth: 2
    functionLinenumber: 3066
    functionLinenumberEnd: 3074
    functionName: xor_sig_set_ctx_md_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int xor_sig_set_ctx_md_params(void *vpxor_sigctx, const OSSL_PARAM
      params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/openssl/test/tls-provider.c:3083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vpxor_sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3076
    functionDepth: 2
    functionLinenumber: 3076
    functionLinenumberEnd: 3084
    functionName: xor_sig_settable_ctx_md_params
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - EVP_MD_settable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *xor_sig_settable_ctx_md_params(void *vpxor_sigctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3157
    functionName: tls_prov_query
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *tls_prov_query(void *provctx, int operation_id,\n
      \                                           int *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/tls-provider.c:3164,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:3167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:3170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3159
    functionDepth: 4
    functionLinenumber: 3159
    functionLinenumberEnd: 3171
    functionName: tls_prov_teardown
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void tls_prov_teardown(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/tls-provider.c:3194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3213
      start: 3181
    functionDepth: 7
    functionLinenumber: 3181
    functionLinenumberEnd: 3213
    functionName: randomize_tls_alg_id
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - RAND_bytes_ex
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int randomize_tls_alg_id(OSSL_LIB_CTX *libctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new_from_dispatch
      Src: /src/openssl/test/tls-provider.c:3220,1
    - Dst: xor_newprovctx
      Src: /src/openssl/test/tls-provider.c:3223,1
    - Dst: randomize_tls_alg_id
      Src: /src/openssl/test/tls-provider.c:3234,1
    - Dst: randomize_tls_alg_id
      Src: /src/openssl/test/tls-provider.c:3235,1
    - Dst: randomize_tls_alg_id
      Src: /src/openssl/test/tls-provider.c:3236,1
    - Dst: randomize_tls_alg_id
      Src: /src/openssl/test/tls-provider.c:3237,1
    - Dst: OSSL_FUNC_core_obj_create
      Src: /src/openssl/test/tls-provider.c:3243,1
    - Dst: OSSL_FUNC_core_obj_add_sigid
      Src: /src/openssl/test/tls-provider.c:3246,1
    - Dst: c_obj_create
      Src: /src/openssl/test/tls-provider.c:3259,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3260,1
    - Dst: c_obj_add_sigid
      Src: /src/openssl/test/tls-provider.c:3264,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3265,1
    - Dst: c_obj_create
      Src: /src/openssl/test/tls-provider.c:3268,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3269,1
    - Dst: c_obj_add_sigid
      Src: /src/openssl/test/tls-provider.c:3273,1
    - Dst: ERR_raise
      Src: /src/openssl/test/tls-provider.c:3274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls-provider.c:3282,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/tls-provider.c:3284,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3215
    functionDepth: 8
    functionLinenumber: 3215
    functionLinenumberEnd: 3286
    functionName: tls_provider_init
    functionSourceFile: /src/openssl/test/tls-provider.c
    functionUses: 0
    functionsReached:
    - c_obj_create
    - ERR_raise
    - OSSL_LIB_CTX_free
    - xor_newprovctx
    - OSSL_FUNC_core_obj_create
    - randomize_tls_alg_id
    - OPENSSL_free
    - c_obj_add_sigid
    - OSSL_LIB_CTX_new_from_dispatch
    - OSSL_FUNC_core_obj_add_sigid
    linkageType: ''
    returnType: int
    signature: "int tls_provider_init(const OSSL_CORE_HANDLE *handle,\n                      const
      OSSL_DISPATCH *in,\n                      const OSSL_DISPATCH **out,\n                      void
      **provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/endecoder_legacy_test.c:248,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/endecoder_legacy_test.c:249,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/endecoder_legacy_test.c:251,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/endecoder_legacy_test.c:252,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:254,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/endecoder_legacy_test.c:262,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/endecoder_legacy_test.c:263,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/endecoder_legacy_test.c:266,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/endecoder_legacy_test.c:267,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:270,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - type
    - gen_template_params
    argTypes:
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 238
    functionDepth: 8
    functionLinenumber: 238
    functionLinenumberEnd: 273
    functionName: make_key
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *make_key(const char *type,\n                          const
      OSSL_PARAM *gen_template_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:279,1
    - Dst: strcmp
      Src: /src/openssl/test/endecoder_legacy_test.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: lookup_key
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: struct key_st
    signature: struct key_st *lookup_key(const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/endecoder_legacy_test.c:289,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/endecoder_legacy_test.c:290,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/endecoder_legacy_test.c:292,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/endecoder_legacy_test.c:293,1
    - Dst: TEST_strn2_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - bio_provided
    - bio_legacy
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: test_membio_str_eq
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - TEST_long_ge
    - BIO_get_mem_data
    - TEST_strn2_eq
    linkageType: ''
    returnType: int
    signature: int test_membio_str_eq(BIO *bio_provided, BIO *bio_legacy)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:317,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecoder_legacy_test.c:317,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecoder_legacy_test.c:317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:318,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecoder_legacy_test.c:318,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecoder_legacy_test.c:318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:321,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:322,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:325,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:325,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:326,1
    - Dst: pem_write_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:326,1
    - Dst: test_membio_str_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:334,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/endecoder_legacy_test.c:334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:335,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:336,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:340,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:340,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:341,1
    - Dst: pem_read_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:342,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:343,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/test/endecoder_legacy_test.c:343,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/endecoder_legacy_test.c:347,1
    - Dst: evp_pkey_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:347,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:349,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:350,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:351,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:352,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:357,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:358,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:359,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:360,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecoder_legacy_test.c:361,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecoder_legacy_test.c:362,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 10
    argNames:
    - keytype
    - evp_type
    - legacy_key
    - pem_write_bio
    - pem_read_bio
    - evp_pkey_eq
    - evp_pkey_print
    - provided_pkey
    - selection
    - structure
    argTypes:
    - char*
    - int
    - void*
    - PEM_write_bio_of_void_protected*
    - PEM_read_bio_of_void*
    - EVP_PKEY_eq_fn*
    - EVP_PKEY_print_fn*
    - EVP_PKEY*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 298
    functionDepth: 12
    functionLinenumber: 298
    functionLinenumberEnd: 364
    functionName: test_protected_PEM
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - pem_read_bio
    - OSSL_DECODER_CTX_new_for_pkey
    - BIO_s_mem
    - TEST_ptr
    - BIO_new
    - evp_pkey_eq
    - OSSL_ENCODER_CTX_new_for_pkey
    - TEST_info
    - EVP_PKEY_free
    - OSSL_DECODER_from_bio
    - TEST_true
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_new
    - EVP_PKEY_assign
    - BIO_free
    - OSSL_ENCODER_CTX_free
    - pem_write_bio
    - OSSL_ENCODER_to_bio
    - evp_pkey_print
    - test_membio_str_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int test_protected_PEM(const char *keytype, int evp_type,\n                              const
      void *legacy_key,\n                              PEM_write_bio_of_void_protected
      *pem_write_bio,\n                              PEM_read_bio_of_void *pem_read_bio,\n
      \                             EVP_PKEY_eq_fn *evp_pkey_eq,\n                              EVP_PKEY_print_fn
      *evp_pkey_print,\n                              EVP_PKEY *provided_pkey, int
      selection,\n                              const char *structure)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:385,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecoder_legacy_test.c:385,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecoder_legacy_test.c:385,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:386,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecoder_legacy_test.c:386,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecoder_legacy_test.c:386,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:389,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:390,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:393,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:393,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:394,1
    - Dst: pem_write_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:394,1
    - Dst: test_membio_str_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:395,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:401,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/endecoder_legacy_test.c:401,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:402,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:403,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:407,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:408,1
    - Dst: pem_read_bio
      Src: /src/openssl/test/endecoder_legacy_test.c:409,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:410,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/test/endecoder_legacy_test.c:410,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/endecoder_legacy_test.c:414,1
    - Dst: evp_pkey_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:414,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:416,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:417,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:418,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:419,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:424,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:425,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:426,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:427,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecoder_legacy_test.c:428,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecoder_legacy_test.c:429,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 10
    argNames:
    - keytype
    - evp_type
    - legacy_key
    - pem_write_bio
    - pem_read_bio
    - evp_pkey_eq
    - evp_pkey_print
    - provided_pkey
    - selection
    - structure
    argTypes:
    - char*
    - int
    - void*
    - PEM_write_bio_of_void_unprotected*
    - PEM_read_bio_of_void*
    - EVP_PKEY_eq_fn*
    - EVP_PKEY_print_fn*
    - EVP_PKEY*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 366
    functionDepth: 12
    functionLinenumber: 366
    functionLinenumberEnd: 431
    functionName: test_unprotected_PEM
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - pem_read_bio
    - OSSL_DECODER_CTX_new_for_pkey
    - BIO_s_mem
    - TEST_ptr
    - BIO_new
    - evp_pkey_eq
    - OSSL_ENCODER_CTX_new_for_pkey
    - TEST_info
    - EVP_PKEY_free
    - OSSL_DECODER_from_bio
    - TEST_true
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_new
    - EVP_PKEY_assign
    - BIO_free
    - OSSL_ENCODER_CTX_free
    - pem_write_bio
    - OSSL_ENCODER_to_bio
    - evp_pkey_print
    - test_membio_str_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int test_unprotected_PEM(const char *keytype, int evp_type,\n                                const
      void *legacy_key,\n                                PEM_write_bio_of_void_unprotected
      *pem_write_bio,\n                                PEM_read_bio_of_void *pem_read_bio,\n
      \                               EVP_PKEY_eq_fn *evp_pkey_eq,\n                                EVP_PKEY_print_fn
      *evp_pkey_print,\n                                EVP_PKEY *provided_pkey, int
      selection,\n                                const char *structure)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:454,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:458,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/endecoder_legacy_test.c:458,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/endecoder_legacy_test.c:460,1
    - Dst: i2d
      Src: /src/openssl/test/endecoder_legacy_test.c:460,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:468,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/endecoder_legacy_test.c:468,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:469,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecoder_legacy_test.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:474,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/endecoder_legacy_test.c:476,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:478,1
    - Dst: d2i
      Src: /src/openssl/test/endecoder_legacy_test.c:479,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:481,1
    - Dst: EVP_PKEY_assign
      Src: /src/openssl/test/endecoder_legacy_test.c:481,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/endecoder_legacy_test.c:485,1
    - Dst: evp_pkey_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:485,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:487,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:488,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:489,1
    - Dst: evp_pkey_print
      Src: /src/openssl/test/endecoder_legacy_test.c:490,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:495,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:496,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:497,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecoder_legacy_test.c:498,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecoder_legacy_test.c:499,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecoder_legacy_test.c:500,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 10
    argNames:
    - keytype
    - evp_type
    - legacy_key
    - i2d
    - d2i
    - evp_pkey_eq
    - evp_pkey_print
    - provided_pkey
    - selection
    - structure
    argTypes:
    - char*
    - int
    - void*
    - i2d_of_void*
    - d2i_of_void*
    - EVP_PKEY_eq_fn*
    - EVP_PKEY_print_fn*
    - EVP_PKEY*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 433
    functionDepth: 12
    functionLinenumber: 433
    functionLinenumberEnd: 502
    functionName: test_DER
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_new_for_pkey
    - OPENSSL_free
    - TEST_ptr
    - TEST_size_t_gt
    - d2i
    - evp_pkey_eq
    - OSSL_ENCODER_CTX_new_for_pkey
    - TEST_info
    - EVP_PKEY_free
    - TEST_true
    - OSSL_ENCODER_to_data
    - OSSL_DECODER_CTX_free
    - i2d
    - EVP_PKEY_new
    - EVP_PKEY_assign
    - OSSL_DECODER_from_data
    - OSSL_ENCODER_CTX_free
    - evp_pkey_print
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int test_DER(const char *keytype, int evp_type,\n                    const
      void *legacy_key, i2d_of_void *i2d, d2i_of_void *d2i,\n                    EVP_PKEY_eq_fn
      *evp_pkey_eq,\n                    EVP_PKEY_print_fn *evp_pkey_print,\n                    EVP_PKEY
      *provided_pkey, int selection,\n                    const char *structure)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:514,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:515,1
    - Dst: lookup_key
      Src: /src/openssl/test/endecoder_legacy_test.c:515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:519,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecoder_legacy_test.c:520,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/test/endecoder_legacy_test.c:520,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:521,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecoder_legacy_test.c:522,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/endecoder_legacy_test.c:522,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:523,1
    - Dst: EVP_PKEY_get0
      Src: /src/openssl/test/endecoder_legacy_test.c:523,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:532,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:535,1
    - Dst: test_protected_PEM
      Src: /src/openssl/test/endecoder_legacy_test.c:537,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:552,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:555,1
    - Dst: test_unprotected_PEM
      Src: /src/openssl/test/endecoder_legacy_test.c:557,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:570,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:573,1
    - Dst: test_unprotected_PEM
      Src: /src/openssl/test/endecoder_legacy_test.c:575,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:592,1
    - Dst: test_unprotected_PEM
      Src: /src/openssl/test/endecoder_legacy_test.c:594,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:607,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:610,1
    - Dst: test_DER
      Src: /src/openssl/test/endecoder_legacy_test.c:612,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:627,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:630,1
    - Dst: test_DER
      Src: /src/openssl/test/endecoder_legacy_test.c:632,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:645,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:648,1
    - Dst: test_DER
      Src: /src/openssl/test/endecoder_legacy_test.c:650,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:665,1
    - Dst: test_DER
      Src: /src/openssl/test/endecoder_legacy_test.c:667,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:674,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 504
    functionDepth: 13
    functionLinenumber: 504
    functionLinenumberEnd: 676
    functionName: test_key
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - test_DER
    - lookup_key
    - EVP_PKEY_get_id
    - TEST_int_eq
    - TEST_info
    - evp_pkey_copy_downgraded
    - EVP_PKEY_free
    - EVP_PKEY_get0
    - OSSL_NELEM
    - test_protected_PEM
    - TEST_true
    - TEST_ptr
    - test_unprotected_PEM
    linkageType: ''
    returnType: int
    signature: int test_key(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/endecoder_legacy_test.c:685,1
    - Dst: TEST_error
      Src: /src/openssl/test/endecoder_legacy_test.c:686,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/endecoder_legacy_test.c:689,1
    - Dst: TEST_error
      Src: /src/openssl/test/endecoder_legacy_test.c:690,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:694,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:696,1
    - Dst: strcmp
      Src: /src/openssl/test/endecoder_legacy_test.c:698,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:699,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/endecoder_legacy_test.c:700,1
    - Dst: test_get_argument
      Src: /src/openssl/test/endecoder_legacy_test.c:700,1
    - Dst: strcmp
      Src: /src/openssl/test/endecoder_legacy_test.c:706,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:707,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/endecoder_legacy_test.c:708,1
    - Dst: test_get_argument
      Src: /src/openssl/test/endecoder_legacy_test.c:708,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:713,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecoder_legacy_test.c:714,1
    - Dst: make_key
      Src: /src/openssl/test/endecoder_legacy_test.c:715,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecoder_legacy_test.c:719,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/endecoder_legacy_test.c:721,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:721,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 723
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - load_pkey_pem
    - TEST_info
    - make_key
    - OSSL_NELEM
    - test_skip_common_options
    - test_get_argument_count
    - test_get_argument
    - strcmp
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/endecoder_legacy_test.c:729,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecoder_legacy_test.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 725
    functionDepth: 4
    functionLinenumber: 725
    functionLinenumberEnd: 731
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/endecoder_legacy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: TSAN_ACQUIRE
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSAN_ACQUIRE(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:77,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/threadstest.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:80,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:80,1
    - Dst: tsan_counter
      Src: /src/openssl/test/threadstest.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: get_new_uid
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - tsan_counter
    - CRYPTO_THREAD_unlock
    - CRYPTO_THREAD_write_lock
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int get_new_uid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:91,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:97,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/threadstest.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:98,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:99,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/threadstest.c:99,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:100,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:100,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: test_lock
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_lock_new
    - CRYPTO_THREAD_unlock
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_lock(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:125,1
    - Dst: CRYPTO_zalloc::CRYPTO_zalloc
      Src: /src/openssl/test/threadstest.c:128,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/threadstest.c:130,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/threadstest.c:131,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:132,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:140,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:141,1
    - Dst: CRYPTO_free
      Src: /src/openssl/test/threadstest.c:143,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:144,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/test/threadstest.c:145,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/test/threadstest.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - id
    - iterations
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 150
    functionName: rwwriter_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - abort
    - CRYPTO_zalloc::CRYPTO_zalloc
    - CRYPTO_THREAD_write_lock
    - OSSL_sleep
    - CRYPTO_free
    - ossl_time_now
    - CRYPTO_THREAD_unlock
    - ossl_time2seconds
    linkageType: ''
    returnType: void
    signature: void rwwriter_fn(int id, int *iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:156,1
    - Dst: rwwriter_fn
      Src: /src/openssl/test/threadstest.c:157,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: rwwriter1_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_atomic_add
    - TEST_info
    - rwwriter_fn
    linkageType: ''
    returnType: void
    signature: void rwwriter1_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:165,1
    - Dst: rwwriter_fn
      Src: /src/openssl/test/threadstest.c:166,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: rwwriter2_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_atomic_add
    - TEST_info
    - rwwriter_fn
    linkageType: ''
    returnType: void
    signature: void rwwriter2_fn(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/threadstest.c:178,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:179,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:182,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:183,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:187,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:190,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:191,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/threadstest.c:197,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:198,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:201,1
    - Dst: abort
      Src: /src/openssl/test/threadstest.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 203
    functionName: rwreader_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - abort
    - CRYPTO_THREAD_read_lock
    - TEST_info
    - CRYPTO_atomic_add
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void rwreader_fn(int *iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:207,1
    - Dst: rwreader_fn
      Src: /src/openssl/test/threadstest.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: rwreader1_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - rwreader_fn
    linkageType: ''
    returnType: void
    signature: void rwreader1_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:213,1
    - Dst: rwreader_fn
      Src: /src/openssl/test/threadstest.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: rwreader2_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - rwreader_fn
    linkageType: ''
    returnType: void
    signature: void rwreader2_fn(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:230,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:232,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:232,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:243,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:244,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:245,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:246,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:248,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:250,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:251,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:252,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:253,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:254,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:255,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:256,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:257,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:257,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:260,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/threadstest.c:261,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/threadstest.c:261,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:263,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:264,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:269,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:274,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:277,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:280,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:281,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 284
    functionName: _torture_rw
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - memset
    - CRYPTO_THREAD_lock_free
    - TEST_info
    - run_thread
    - TEST_int_eq
    - CRYPTO_THREAD_lock_new
    - ossl_time_subtract
    - ossl_time_now
    - ossl_time_to_timeval
    - TEST_true
    - TEST_ptr
    - wait_for_thread
    linkageType: ''
    returnType: int
    signature: int _torture_rw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _torture_rw
      Src: /src/openssl/test/threadstest.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: torture_rw_low
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - _torture_rw
    linkageType: ''
    returnType: int
    signature: int torture_rw_low(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _torture_rw
      Src: /src/openssl/test/threadstest.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: torture_rw_high
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - _torture_rw
    linkageType: ''
    returnType: int
    signature: int torture_rw_high(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free
      Src: /src/openssl/test/threadstest.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: free_old_rcu_data
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_free
    linkageType: ''
    returnType: void
    signature: void free_old_rcu_data(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:321,1
    - Dst: CRYPTO_zalloc::CRYPTO_zalloc
      Src: /src/openssl/test/threadstest.c:324,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/threadstest.c:326,1
    - Dst: ossl_rcu_write_lock
      Src: /src/openssl/test/threadstest.c:327,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/test/threadstest.c:328,1
    - Dst: TSAN_ACQUIRE
      Src: /src/openssl/test/threadstest.c:329,1
    - Dst: global_ctr::global_ctr
      Src: /src/openssl/test/threadstest.c:330,1
    - Dst: ossl_rcu_assign_ptr
      Src: /src/openssl/test/threadstest.c:331,1
    - Dst: ossl_rcu_call
      Src: /src/openssl/test/threadstest.c:333,1
    - Dst: ossl_rcu_write_unlock
      Src: /src/openssl/test/threadstest.c:334,1
    - Dst: ossl_synchronize_rcu
      Src: /src/openssl/test/threadstest.c:336,1
    - Dst: CRYPTO_free
      Src: /src/openssl/test/threadstest.c:337,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:339,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/test/threadstest.c:340,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/test/threadstest.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - id
    - iterations
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 345
    functionName: writer_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 2
    functionsReached:
    - CRYPTO_zalloc::CRYPTO_zalloc
    - global_ctr::global_ctr
    - ossl_synchronize_rcu
    - TSAN_ACQUIRE
    - ossl_rcu_deref
    - ossl_rcu_assign_ptr
    - OSSL_sleep
    - ossl_rcu_write_lock
    - ossl_rcu_write_unlock
    - ossl_time_now
    - CRYPTO_free
    - ossl_time2seconds
    - ossl_rcu_call
    linkageType: ''
    returnType: void
    signature: void writer_fn(int id, int *iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:351,1
    - Dst: writer_fn
      Src: /src/openssl/test/threadstest.c:352,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: writer1_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - writer_fn
    - CRYPTO_atomic_add
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void writer1_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:360,1
    - Dst: writer_fn
      Src: /src/openssl/test/threadstest.c:361,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: writer2_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - writer_fn
    - CRYPTO_atomic_add
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void writer2_fn(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:375,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:376,1
    - Dst: ossl_rcu_read_lock
      Src: /src/openssl/test/threadstest.c:378,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:379,1
    - Dst: ossl_rcu_deref
      Src: /src/openssl/test/threadstest.c:385,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:389,1
    - Dst: ossl_rcu_read_unlock
      Src: /src/openssl/test/threadstest.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - iterations
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 400
    functionName: reader_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 2
    functionsReached:
    - ossl_rcu_read_lock
    - ossl_rcu_deref
    - TEST_info
    - CRYPTO_atomic_add
    - ossl_rcu_read_unlock
    linkageType: ''
    returnType: void
    signature: void reader_fn(int *iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:404,1
    - Dst: reader_fn
      Src: /src/openssl/test/threadstest.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: reader1_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - reader_fn
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void reader1_fn(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:410,1
    - Dst: reader_fn
      Src: /src/openssl/test/threadstest.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: reader2_fn
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - reader_fn
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void reader2_fn(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:427,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:428,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:431,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:432,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:433,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:434,1
    - Dst: ossl_rcu_lock_new
      Src: /src/openssl/test/threadstest.c:444,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:448,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:449,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:450,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:450,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:451,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:451,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:452,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:452,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:453,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:454,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:454,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:455,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:456,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:457,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:457,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/threadstest.c:460,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/threadstest.c:461,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/threadstest.c:461,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:463,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:464,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:469,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:474,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:475,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:477,1
    - Dst: ossl_rcu_lock_free
      Src: /src/openssl/test/threadstest.c:482,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:483,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:484,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 488
    functionName: _torture_rcu
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - ossl_rcu_lock_new
    - memset
    - CRYPTO_THREAD_lock_free
    - TEST_info
    - run_thread
    - TEST_int_eq
    - ossl_rcu_lock_free
    - CRYPTO_THREAD_lock_new
    - ossl_time_subtract
    - ossl_time_now
    - ossl_time_to_timeval
    - TEST_true
    - TEST_ptr
    - wait_for_thread
    linkageType: ''
    returnType: int
    signature: int _torture_rcu(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _torture_rcu
      Src: /src/openssl/test/threadstest.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: torture_rcu_low
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - _torture_rcu
    linkageType: ''
    returnType: int
    signature: int torture_rcu_low(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _torture_rcu
      Src: /src/openssl/test/threadstest.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: torture_rcu_high
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - _torture_rcu
    linkageType: ''
    returnType: int
    signature: int torture_rcu_high(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _torture_rcu
      Src: /src/openssl/test/threadstest.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: torture_rcu_high2
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - _torture_rcu
    linkageType: ''
    returnType: int
    signature: int torture_rcu_high2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: once_do_run
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void once_do_run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/test/threadstest.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: once_run_thread_cb
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_run_once
    linkageType: ''
    returnType: void
    signature: void once_run_thread_cb(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:526,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:526,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:527,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:527,1
    - Dst: CRYPTO_THREAD_run_once
      Src: /src/openssl/test/threadstest.c:528,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: test_once
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - run_thread
    - CRYPTO_THREAD_run_once
    - TEST_true
    - wait_for_thread
    linkageType: ''
    returnType: int
    signature: int test_once(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 548
    functionName: thread_local_destructor
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void thread_local_destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/threadstest.c:554,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadstest.c:555,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:556,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/threadstest.c:556,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/threadstest.c:560,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/threadstest.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 565
    functionName: thread_local_thread_cb
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - CRYPTO_THREAD_set_local
    - TEST_true
    - TEST_ptr_eq
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: void
    signature: void thread_local_thread_cb(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:572,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/test/threadstest.c:572,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/threadstest.c:576,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadstest.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:578,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:578,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:579,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:579,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:580,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/threadstest.c:585,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadstest.c:586,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:590,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:595,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/test/threadstest.c:595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 598
    functionName: test_thread_local
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - TEST_true
    - TEST_int_eq
    - run_thread
    - CRYPTO_THREAD_init_local
    - CRYPTO_THREAD_cleanup_local
    - wait_for_thread
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: int
    signature: int test_thread_local(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:610,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/test/threadstest.c:610,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:614,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/threadstest.c:614,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:617,1
    - Dst: CRYPTO_THREAD_cleanup_local
      Src: /src/openssl/test/threadstest.c:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 621
    functionName: test_thread_local_multi_key
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_cleanup_local
    - CRYPTO_THREAD_set_local
    - CRYPTO_THREAD_init_local
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_thread_local_multi_key(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:627,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:629,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:632,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:634,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:634,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:638,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:638,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:644,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/threadstest.c:644,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:646,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:646,1
    - Dst: CRYPTO_atomic_or
      Src: /src/openssl/test/threadstest.c:649,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:651,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:652,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:656,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:657,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:663,1
    - Dst: CRYPTO_atomic_or
      Src: /src/openssl/test/threadstest.c:663,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:666,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:667,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/test/threadstest.c:671,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:673,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:674,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:678,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:679,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:684,1
    - Dst: CRYPTO_atomic_load
      Src: /src/openssl/test/threadstest.c:684,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:687,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:688,1
    - Dst: CRYPTO_atomic_and
      Src: /src/openssl/test/threadstest.c:693,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:695,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:696,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:700,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:701,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:707,1
    - Dst: CRYPTO_atomic_and
      Src: /src/openssl/test/threadstest.c:707,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:710,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:711,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/test/threadstest.c:716,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:718,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:719,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:723,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:724,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:730,1
    - Dst: CRYPTO_atomic_add64
      Src: /src/openssl/test/threadstest.c:730,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:733,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadstest.c:734,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:739,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 741
    functionName: test_atomic
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_atomic_load
    - CRYPTO_atomic_add64
    - CRYPTO_THREAD_lock_free
    - CRYPTO_atomic_and
    - TEST_int_eq
    - CRYPTO_THREAD_lock_new
    - CRYPTO_atomic_add
    - CRYPTO_atomic_or
    - TEST_true
    - TEST_ptr
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_atomic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:754,1
    - Dst: memset
      Src: /src/openssl/test/threadstest.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 756
    functionName: multi_intialise
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void multi_intialise(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/threadstest.c:760,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/threadstest.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ok
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 769
    functionName: multi_set_success
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void multi_set_success(int ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:776,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/threadstest.c:777,1
    - Dst: multi_intialise
      Src: /src/openssl/test/threadstest.c:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 779
    functionName: thead_teardown_libctx
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    - multi_intialise
    linkageType: ''
    returnType: void
    signature: void thead_teardown_libctx(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:785,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/threadstest.c:785,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/threadstest.c:791,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:792,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:792,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:794,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - libctx
    - providers
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 781
    functionDepth: 5
    functionLinenumber: 781
    functionLinenumberEnd: 798
    functionName: thread_setup_libctx
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - test_get_libctx
    - TEST_true
    - TEST_ptr
    - thead_teardown_libctx
    - TEST_size_t_lt
    linkageType: ''
    returnType: int
    signature: int thread_setup_libctx(int libctx, const char *providers[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:805,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 808
    functionName: teardown_threads
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - wait_for_thread
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int teardown_threads(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/threadstest.c:814,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:818,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest.c:818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 821
    functionName: start_threads
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_le
    - run_thread
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int start_threads(size_t n, void (*thread_func)(void))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: multi_intialise
      Src: /src/openssl/test/threadstest.c:830,1
    - Dst: thread_setup_libctx
      Src: /src/openssl/test/threadstest.c:831,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:832,1
    - Dst: main_func
      Src: /src/openssl/test/threadstest.c:836,1
    - Dst: teardown_threads
      Src: /src/openssl/test/threadstest.c:838,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:839,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - num_threads
    - libctx
    - providers
    argTypes:
    - size_t
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 824
    functionDepth: 6
    functionLinenumber: 824
    functionLinenumberEnd: 845
    functionName: thread_run_test
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - teardown_threads
    - multi_intialise
    - main_func
    - TEST_true
    - thread_setup_libctx
    - start_threads
    - thead_teardown_libctx
    linkageType: ''
    returnType: int
    signature: "int thread_run_test(void (*main_func)(void),\n                           size_t
      num_threads, void (*thread_func)(void),\n                           int libctx,
      const char *providers[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/threadstest.c:849,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/threadstest.c:850,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/threadstest.c:851,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/threadstest.c:852,1
    - Dst: strlen
      Src: /src/openssl/test/threadstest.c:854,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/threadstest.c:871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:873,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:874,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:876,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:881,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/threadstest.c:881,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:882,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/threadstest.c:882,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:883,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/threadstest.c:883,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:887,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/threadstest.c:887,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:888,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/threadstest.c:888,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:891,1
    - Dst: EVP_EncryptFinal
      Src: /src/openssl/test/threadstest.c:891,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/threadstest.c:900,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:901,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/threadstest.c:906,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/threadstest.c:907,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/threadstest.c:908,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/threadstest.c:909,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:910,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:912,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 847
    functionDepth: 10
    functionLinenumber: 847
    functionLinenumberEnd: 913
    functionName: thread_general_worker
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_DigestUpdate
    - EVP_EncryptUpdate
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - strlen
    - EVP_EncryptInit_ex
    - OSSL_PROVIDER_available
    - EVP_PKEY_free
    - EVP_CIPHER_free
    - EVP_DigestInit_ex
    - TEST_true
    - EVP_EncryptFinal
    - multi_set_success
    - EVP_DigestFinal
    - EVP_CIPHER_fetch
    - EVP_MD_fetch
    - EVP_CIPHER_CTX_new
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void thread_general_worker(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/threadstest.c:917,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/threadstest.c:920,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 915
    functionDepth: 10
    functionLinenumber: 915
    functionLinenumberEnd: 923
    functionName: thread_multi_simple_fetch
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - multi_set_success
    - EVP_MD_fetch
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void thread_multi_simple_fetch(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/threadstest.c:939,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/threadstest.c:940,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:943,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/threadstest.c:946,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/threadstest.c:946,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/threadstest.c:947,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/threadstest.c:947,1
    - Dst: strlen
      Src: /src/openssl/test/threadstest.c:948,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/threadstest.c:952,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/threadstest.c:953,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:955,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/threadstest.c:959,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/test/threadstest.c:959,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/threadstest.c:960,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/test/threadstest.c:960,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/threadstest.c:962,1
    - Dst: strlen
      Src: /src/openssl/test/threadstest.c:962,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/threadstest.c:969,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:971,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 927
    functionDepth: 6
    functionLinenumber: 927
    functionLinenumberEnd: 972
    functionName: thread_shared_evp_pkey
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - EVP_PKEY_decrypt
    - EVP_PKEY_encrypt
    - EVP_PKEY_decrypt_init
    - TEST_int_ge
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - multi_set_success
    - TEST_ptr
    - strlen
    - TEST_int_gt
    linkageType: ''
    returnType: void
    signature: void thread_shared_evp_pkey(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:976,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:978,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:979,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/threadstest.c:979,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:980,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 10
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: thread_provider_load_unload
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - TEST_true
    - multi_set_success
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: void thread_provider_load_unload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 985
    functionDepth: 7
    functionLinenumber: 985
    functionLinenumberEnd: 989
    functionName: test_multi_general_worker_default_provider
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: int test_multi_general_worker_default_provider(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/threadstest.c:994,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 7
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: test_multi_general_worker_fips_provider
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: int test_multi_general_worker_fips_provider(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 999
    functionDepth: 7
    functionLinenumber: 999
    functionLinenumberEnd: 1003
    functionName: test_multi_fetch_worker
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: int test_multi_fetch_worker(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: multi_intialise
      Src: /src/openssl/test/threadstest.c:1009,1
    - Dst: thread_setup_libctx
      Src: /src/openssl/test/threadstest.c:1010,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1012,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/threadstest.c:1012,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:1013,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:1014,1
    - Dst: thread_shared_evp_pkey
      Src: /src/openssl/test/threadstest.c:1017,1
    - Dst: teardown_threads
      Src: /src/openssl/test/threadstest.c:1019,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1020,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:1024,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:1025,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1005
    functionDepth: 7
    functionLinenumber: 1005
    functionLinenumberEnd: 1027
    functionName: test_multi_shared_pkey_common
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - teardown_threads
    - load_pkey_pem
    - multi_intialise
    - EVP_PKEY_free
    - TEST_true
    - thread_setup_libctx
    - TEST_ptr
    - thread_shared_evp_pkey
    - start_threads
    - thead_teardown_libctx
    linkageType: ''
    returnType: int
    signature: int test_multi_shared_pkey_common(void (*worker)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/test/threadstest.c:1036,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1030
    functionDepth: 9
    functionLinenumber: 1030
    functionLinenumberEnd: 1038
    functionName: thread_downgrade_shared_evp_pkey
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - multi_set_success
    - EVP_PKEY_get0_RSA
    linkageType: ''
    returnType: void
    signature: void thread_downgrade_shared_evp_pkey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_multi_shared_pkey_common
      Src: /src/openssl/test/threadstest.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1040
    functionDepth: 8
    functionLinenumber: 1040
    functionLinenumberEnd: 1043
    functionName: test_multi_downgrade_shared_pkey
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - test_multi_shared_pkey_common
    linkageType: ''
    returnType: int
    signature: int test_multi_downgrade_shared_pkey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_multi_shared_pkey_common
      Src: /src/openssl/test/threadstest.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 8
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: test_multi_shared_pkey
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - test_multi_shared_pkey_common
    linkageType: ''
    returnType: int
    signature: int test_multi_shared_pkey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_sleep
      Src: /src/openssl/test/threadstest.c:1053,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1051
    functionDepth: 4
    functionLinenumber: 1051
    functionLinenumberEnd: 1055
    functionName: thread_release_shared_pkey
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OSSL_sleep
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void thread_release_shared_pkey(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: multi_intialise
      Src: /src/openssl/test/threadstest.c:1062,1
    - Dst: thread_setup_libctx
      Src: /src/openssl/test/threadstest.c:1064,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1066,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/threadstest.c:1066,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1069,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/threadstest.c:1069,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:1073,1
    - Dst: teardown_threads
      Src: /src/openssl/test/threadstest.c:1077,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1078,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:1083,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:1086,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1057
    functionDepth: 6
    functionLinenumber: 1057
    functionLinenumberEnd: 1088
    functionName: test_multi_shared_pkey_release
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - teardown_threads
    - load_pkey_pem
    - multi_intialise
    - EVP_PKEY_free
    - EVP_PKEY_up_ref
    - TEST_true
    - thread_setup_libctx
    - TEST_ptr
    - start_threads
    - thead_teardown_libctx
    linkageType: ''
    returnType: int
    signature: int test_multi_shared_pkey_release(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: multi_intialise
      Src: /src/openssl/test/threadstest.c:1096,1
    - Dst: thread_setup_libctx
      Src: /src/openssl/test/threadstest.c:1097,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1098,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:1098,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1099,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/threadstest.c:1099,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1100,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:1100,1
    - Dst: start_threads
      Src: /src/openssl/test/threadstest.c:1104,1
    - Dst: thread_provider_load_unload
      Src: /src/openssl/test/threadstest.c:1107,1
    - Dst: teardown_threads
      Src: /src/openssl/test/threadstest.c:1109,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1110,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:1114,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/threadstest.c:1115,1
    - Dst: thead_teardown_libctx
      Src: /src/openssl/test/threadstest.c:1116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1090
    functionDepth: 11
    functionLinenumber: 1090
    functionLinenumberEnd: 1118
    functionName: test_multi_load_unload_provider
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - teardown_threads
    - EVP_MD_free
    - EVP_MD_fetch
    - thread_provider_load_unload
    - OSSL_PROVIDER_load
    - multi_intialise
    - OSSL_PROVIDER_unload
    - TEST_true
    - thread_setup_libctx
    - TEST_ptr
    - start_threads
    - thead_teardown_libctx
    linkageType: ''
    returnType: int
    signature: int test_multi_load_unload_provider(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1130,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:1130,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1131,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:1131,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1126
    functionDepth: 4
    functionLinenumber: 1126
    functionLinenumberEnd: 1133
    functionName: test_multi_load_worker
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - TEST_true
    - multi_set_success
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: void test_multi_load_worker(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/threadstest.c:1139,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1135
    functionDepth: 7
    functionLinenumber: 1135
    functionLinenumberEnd: 1146
    functionName: test_multi_default
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: int test_multi_default(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:1155,1
    - Dst: test_multi_default
      Src: /src/openssl/test/threadstest.c:1156,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/threadstest.c:1165,1
    - Dst: TEST_info
      Src: /src/openssl/test/threadstest.c:1167,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/threadstest.c:1170,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1148
    functionDepth: 8
    functionLinenumber: 1148
    functionLinenumberEnd: 1174
    functionName: test_multi_load
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - test_multi_default
    - TEST_info
    - thread_run_test
    - OSSL_PROVIDER_unload
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: int test_multi_load(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_new_uid
      Src: /src/openssl/test/threadstest.c:1179,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1181,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1182,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1183,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/threadstest.c:1184,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/threadstest.c:1185,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1186,1
    - Dst: OBJ_create
      Src: /src/openssl/test/threadstest.c:1186,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1187,1
    - Dst: OBJ_add_sigid
      Src: /src/openssl/test/threadstest.c:1187,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 8
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: test_obj_create_one
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_int_ne
    - OBJ_create
    - OBJ_add_sigid
    - BIO_snprintf
    - TEST_true
    - multi_set_success
    - get_new_uid
    linkageType: ''
    returnType: void
    signature: void test_obj_create_one(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1191
    functionDepth: 7
    functionLinenumber: 1191
    functionLinenumberEnd: 1196
    functionName: test_obj_add
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: int test_obj_add(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:1210,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/threadstest.c:1210,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/threadstest.c:1221,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/threadstest.c:1224,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1201
    functionDepth: 7
    functionLinenumber: 1201
    functionLinenumberEnd: 1231
    functionName: test_bio_dgram_pair_worker
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - BIO_sendmmsg
    - BIO_recvmmsg
    - multi_set_success
    - RAND_bytes_ex
    linkageType: ''
    returnType: void
    signature: void test_bio_dgram_pair_worker(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/threadstest.c:1238,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadstest.c:1239,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1245,1
    - Dst: BIO_free
      Src: /src/openssl/test/threadstest.c:1250,1
    - Dst: BIO_free
      Src: /src/openssl/test/threadstest.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1233
    functionDepth: 7
    functionLinenumber: 1233
    functionLinenumberEnd: 1253
    functionName: test_bio_dgram_pair
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - BIO_free
    - BIO_new_bio_dgram_pair
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: int test_bio_dgram_pair(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glue_strings
      Src: /src/openssl/test/threadstest.c:1276,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1278,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/threadstest.c:1282,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1284,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/threadstest.c:1288,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1290,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/threadstest.c:1293,1
    - Dst: BIO_free
      Src: /src/openssl/test/threadstest.c:1294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/threadstest.c:1295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1269
    functionDepth: 6
    functionLinenumber: 1269
    functionLinenumberEnd: 1296
    functionName: test_pem_read_one
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_PrivateKey
    - BIO_free
    - EVP_PKEY_free
    - BIO_new_mem_buf
    - OPENSSL_free
    - multi_set_success
    - glue_strings
    linkageType: ''
    returnType: void
    signature: void test_pem_read_one(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1299
    functionDepth: 7
    functionLinenumber: 1299
    functionLinenumberEnd: 1303
    functionName: test_pem_read
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - thread_run_test
    linkageType: ''
    returnType: int
    signature: int test_pem_read(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/threadstest.c:1314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1315,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1318,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/threadstest.c:1318,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/threadstest.c:1321,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1322,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1324,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/threadstest.c:1324,1
    - Dst: X509_STORE_CTX_get_obj_by_subject
      Src: /src/openssl/test/threadstest.c:1328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1329,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/test/threadstest.c:1334,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/threadstest.c:1335,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/threadstest.c:1336,1
    - Dst: multi_set_success
      Src: /src/openssl/test/threadstest.c:1338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1307
    functionDepth: 3
    functionLinenumber: 1307
    functionLinenumberEnd: 1339
    functionName: test_x509_store_by_subject
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_obj_by_subject
    - X509_OBJECT_free
    - X509_STORE_CTX_new
    - X509_STORE_CTX_free
    - X509_NAME_add_entry_by_txt
    - TEST_true
    - multi_set_success
    - TEST_ptr
    - X509_NAME_free
    - X509_NAME_new
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: void
    signature: void test_x509_store_by_subject(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/openssl/test/threadstest.c:1346,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1347,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest.c:1349,1
    - Dst: X509_STORE_load_store
      Src: /src/openssl/test/threadstest.c:1349,1
    - Dst: thread_run_test
      Src: /src/openssl/test/threadstest.c:1352,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/threadstest.c:1356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1342
    functionDepth: 7
    functionLinenumber: 1342
    functionLinenumberEnd: 1359
    functionName: test_x509_store
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - X509_STORE_free
    - thread_run_test
    - X509_STORE_load_store
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_x509_store(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1378
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/threadstest.c:1385,1
    - Dst: opt_arg
      Src: /src/openssl/test/threadstest.c:1391,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1400,1
    - Dst: test_get_argument
      Src: /src/openssl/test/threadstest.c:1400,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/threadstest.c:1403,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1404,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/threadstest.c:1407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1411,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:1411,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadstest.c:1415,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/threadstest.c:1415,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1420,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1422,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1424,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1425,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1426,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1427,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1428,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1430,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1431,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1432,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1433,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1434,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1435,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1436,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1437,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1438,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1440,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1442,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1443,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1444,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1446,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1448,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest.c:1449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1451
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - opt_next
    - ADD_TEST
    - TEST_ptr
    - test_mk_file_path
    - CRYPTO_THREAD_lock_new
    - test_get_argument
    - opt_arg
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/threadstest.c:1455,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/threadstest.c:1456,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:1458,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/threadstest.c:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1461
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/threadstest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bio_base64_test.c:58,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bio_base64_test.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 8
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: genbytes
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *genbytes(unsigned len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:67,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - mem
    - c
    - llen
    - pos
    argTypes:
    - BIO*
    - char
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: memout
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int memout(BIO *mem, char c, int llen, int *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_random
      Src: /src/openssl/test/bio_base64_test.c:82,1
    - Dst: memout
      Src: /src/openssl/test/bio_base64_test.c:83,1
    - Dst: memout
      Src: /src/openssl/test/bio_base64_test.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - mem
    - c
    - wscnt
    - llen
    - pos
    argTypes:
    - BIO*
    - char
    - unsigned
    - unsigned
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: memoutws
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - test_random
    - memout
    linkageType: ''
    returnType: int
    signature: int memoutws(BIO *mem, char c, unsigned wscnt, unsigned llen, int *pos)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/bio_base64_test.c:103,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:105,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:112,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:113,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:114,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:115,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:125,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:126,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:127,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:128,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:133,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:134,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:135,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:136,1
    - Dst: memoutws
      Src: /src/openssl/test/bio_base64_test.c:141,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:145,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 24
    argCount: 7
    argNames:
    - buf
    - buflen
    - encoded
    - trunc
    - llen
    - wscnt
    - mem
    argTypes:
    - unsigned const char*
    - unsigned
    - char*
    - int
    - unsigned
    - unsigned
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 149
    functionName: encode
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 38
    functionsReached:
    - BIO_write
    - strlen
    - memoutws
    linkageType: ''
    returnType: int
    signature: "int encode(unsigned const char *buf, unsigned buflen, char *encoded,\n
      \                 int trunc, unsigned llen, unsigned wscnt, BIO *mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/bio_base64_test.c:155,1
    - Dst: strlen
      Src: /src/openssl/test/bio_base64_test.c:156,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_base64_test.c:160,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_base64_test.c:160,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:165,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:166,1
    - Dst: encode
      Src: /src/openssl/test/bio_base64_test.c:167,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:168,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:169,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_base64_test.c:170,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/bio_base64_test.c:175,1
    - Dst: BIO_set_close
      Src: /src/openssl/test/bio_base64_test.c:179,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_base64_test.c:180,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/bio_base64_test.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 9
    argNames:
    - prefix
    - suffix
    - buf
    - buflen
    - trunc
    - encoded
    - llen
    - wscnt
    - out
    argTypes:
    - char*
    - char*
    - unsigned const char*
    - unsigned
    - int
    - char*
    - unsigned
    - unsigned
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 151
    functionDepth: 7
    functionLinenumber: 151
    functionLinenumberEnd: 184
    functionName: genb64
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_new
    - BUF_MEM_free
    - BIO_set_close
    - BIO_free
    - BIO_s_mem
    - BIO_get_mem_ptr
    - strlen
    - encode
    linkageType: ''
    returnType: int
    signature: "int genb64(char *prefix, char *suffix, unsigned const char *buf,\n
      \                 unsigned buflen, int trunc, char *encoded, unsigned llen,\n
      \                 unsigned wscnt, char **out)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/bio_base64_test.c:202,1
    - Dst: genbytes
      Src: /src/openssl/test/bio_base64_test.c:204,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:207,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bio_base64_test.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_base64_test.c:214,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:215,1
    - Dst: genb64
      Src: /src/openssl/test/bio_base64_test.c:219,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_base64_test.c:221,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_base64_test.c:221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_base64_test.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_base64_test.c:223,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_base64_test.c:224,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:225,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_base64_test.c:229,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_base64_test.c:231,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:242,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_base64_test.c:244,1
    - Dst: BIO_f_base64
      Src: /src/openssl/test/bio_base64_test.c:244,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_base64_test.c:246,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_base64_test.c:247,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_base64_test.c:249,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_base64_test.c:253,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_base64_test.c:255,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_base64_test.c:259,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_base64_test.c:269,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_base64_test.c:273,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:276,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:294,1
    - Dst: memcmp
      Src: /src/openssl/test/bio_base64_test.c:297,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:298,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_base64_test.c:302,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_base64_test.c:303,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_base64_test.c:304,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_base64_test.c:305,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 3
    argNames:
    - t
    - llen
    - wscnt
    argTypes:
    - test_case*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 186
    functionDepth: 9
    functionLinenumber: 186
    functionLinenumberEnd: 308
    functionName: test_bio_base64_run
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_new
    - OPENSSL_zalloc
    - BIO_set_flags
    - memcmp
    - BIO_f_base64
    - BIO_set_mem_eof_return
    - genb64
    - BIO_free_all
    - genbytes
    - OPENSSL_free
    - BIO_s_mem
    - BIO_push
    - BIO_read
    - OPENSSL_malloc
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_bio_base64_run(test_case *t, int llen, int wscnt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: test_bio_base64_run
      Src: /src/openssl/test/bio_base64_test.c:324,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:328,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:330,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:332,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:334,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:336,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:338,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:339,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:340,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:342,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:344,1
    - Dst: fputc
      Src: /src/openssl/test/bio_base64_test.c:345,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - t
    - verbose
    argTypes:
    - test_case*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 310
    functionDepth: 10
    functionLinenumber: 310
    functionLinenumberEnd: 360
    functionName: generic_case
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputc
    - test_bio_base64_run
    linkageType: ''
    returnType: int
    signature: int generic_case(test_case *t, int verbose)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - i
    - m
    - q
    argTypes:
    - int
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: quotrem
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quotrem(int i, unsigned int m, int *q)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quotrem
      Src: /src/openssl/test/bio_base64_test.c:376,1
    - Dst: quotrem
      Src: /src/openssl/test/bio_base64_test.c:377,1
    - Dst: quotrem
      Src: /src/openssl/test/bio_base64_test.c:378,1
    - Dst: quotrem
      Src: /src/openssl/test/bio_base64_test.c:379,1
    - Dst: quotrem
      Src: /src/openssl/test/bio_base64_test.c:380,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:383,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_base64_test.c:398,1
    - Dst: generic_case
      Src: /src/openssl/test/bio_base64_test.c:402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 368
    functionDepth: 11
    functionLinenumber: 368
    functionLinenumberEnd: 403
    functionName: test_bio_base64_generated
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - generic_case
    - fprintf
    - quotrem
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_bio_base64_generated(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quotrem
      Src: /src/openssl/test/bio_base64_test.c:410,1
    - Dst: quotrem
      Src: /src/openssl/test/bio_base64_test.c:411,1
    - Dst: fprintf
      Src: /src/openssl/test/bio_base64_test.c:414,1
    - Dst: generic_case
      Src: /src/openssl/test/bio_base64_test.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 405
    functionDepth: 11
    functionLinenumber: 405
    functionLinenumberEnd: 430
    functionName: test_bio_base64_corner_case_bug
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - generic_case
    - fprintf
    - quotrem
    linkageType: ''
    returnType: int
    signature: int test_bio_base64_corner_case_bug(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/bio_base64_test.c:436,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_base64_test.c:476,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_base64_test.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 488
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_base64_test.c
    functionUses: 0
    functionsReached:
    - memset
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:101,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_sp800_56b_test.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - data
    - sz
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: bn_load_new
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_new
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *bn_load_new(const unsigned char *data, int sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:113,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:113,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:115,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:115,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:116,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:118,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:118,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:119,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:121,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:122,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:122,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:123,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:123,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:124,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:125,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:125,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:126,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:126,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:128,1
    - Dst: BN_lshift
      Src: /src/openssl/test/rsa_sp800_56b_test.c:128,1
    - Dst: BN_value_one
      Src: /src/openssl/test/rsa_sp800_56b_test.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:129,1
    - Dst: BN_add
      Src: /src/openssl/test/rsa_sp800_56b_test.c:129,1
    - Dst: BN_value_one
      Src: /src/openssl/test/rsa_sp800_56b_test.c:129,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:130,1
    - Dst: ossl_rsa_check_public_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:130,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: test_check_public_exponent
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_check_public_exponent
    - BN_set_word
    - TEST_false
    - BN_value_one
    - BN_add
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int test_check_public_exponent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:151,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:152,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:153,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:153,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:154,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:155,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:156,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:156,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:157,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:157,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:158,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:159,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:159,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:160,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:161,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:161,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:162,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:162,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:163,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:164,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:164,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:165,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:166,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:166,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:167,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:167,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:168,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:169,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:170,1
    - Dst: ossl_rsa_check_prime_factor_range
      Src: /src/openssl/test/rsa_sp800_56b_test.c:170,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:172,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:173,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:174,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:175,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:176,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:177,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 179
    functionName: test_check_prime_factor_range
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - BN_CTX_new
    - TEST_false
    - ossl_rsa_check_prime_factor_range
    - BN_CTX_free
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - bn_load_new
    linkageType: ''
    returnType: int
    signature: int test_check_prime_factor_range(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:193,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:194,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:195,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:195,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:196,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:196,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:197,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:198,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:200,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:200,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:201,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/openssl/test/rsa_sp800_56b_test.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:203,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/openssl/test/rsa_sp800_56b_test.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:205,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:205,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:206,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/openssl/test/rsa_sp800_56b_test.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:208,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:208,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:209,1
    - Dst: ossl_rsa_check_prime_factor
      Src: /src/openssl/test/rsa_sp800_56b_test.c:209,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:211,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:212,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:213,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:214,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:215,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 181
    functionDepth: 7
    functionLinenumber: 181
    functionLinenumberEnd: 218
    functionName: test_check_prime_factor
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - BN_CTX_new
    - TEST_false
    - ossl_rsa_check_prime_factor
    - BN_CTX_free
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - bn_load_new
    linkageType: ''
    returnType: int
    signature: int test_check_prime_factor(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:228,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:228,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:229,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:229,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:230,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:230,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:231,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:233,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:233,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:234,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:235,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/rsa_sp800_56b_test.c:235,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:237,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:238,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:242,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:242,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:243,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:244,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:244,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:245,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:246,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:247,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:248,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_sp800_56b_test.c:248,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:250,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:251,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:252,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:256,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:257,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:259,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:259,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:261,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:261,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:263,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:263,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:264,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:266,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:266,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:267,1
    - Dst: ossl_rsa_check_private_exponent
      Src: /src/openssl/test/rsa_sp800_56b_test.c:267,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:269,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:270,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 272
    functionName: test_check_private_exponent
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_factors
    - RSA_set0_key
    - RSA_free
    - RSA_new
    - BN_CTX_new
    - BN_set_word
    - TEST_false
    - BN_CTX_free
    - BN_new
    - TEST_true
    - ossl_rsa_check_private_exponent
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_check_private_exponent(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:289,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:290,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:290,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:291,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:291,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:292,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:292,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:293,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:294,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:295,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:295,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:296,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:297,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/rsa_sp800_56b_test.c:297,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:299,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:300,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_sp800_56b_test.c:304,1
    - Dst: ossl_rsa_sp800_56b_derive_params_from_pq
      Src: /src/openssl/test/rsa_sp800_56b_test.c:304,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:305,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:306,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:307,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:308,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:309,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:309,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:311,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:311,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:312,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:312,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:313,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:313,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:314,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:315,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:317,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:317,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:318,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:318,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:319,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:319,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:320,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:321,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:323,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:323,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:324,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:324,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:325,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:325,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:326,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:326,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:327,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:327,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:329,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:329,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:330,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:330,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:331,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:331,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:333,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:333,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:334,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:334,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:335,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:335,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:337,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:337,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:338,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:338,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:339,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:339,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:341,1
    - Dst: ossl_rsa_check_crt_components
      Src: /src/openssl/test/rsa_sp800_56b_test.c:341,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:343,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:344,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:345,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 274
    functionDepth: 7
    functionLinenumber: 274
    functionLinenumberEnd: 347
    functionName: test_check_crt_components
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_factors
    - RSA_free
    - RSA_new
    - BN_CTX_new
    - BN_set_word
    - TEST_int_eq
    - TEST_false
    - BN_CTX_free
    - BN_new
    - TEST_true
    - ossl_rsa_check_crt_components
    - TEST_ptr
    - BN_free
    - TEST_BN_eq_word
    - ossl_rsa_sp800_56b_derive_params_from_pq
    linkageType: ''
    returnType: int
    signature: int test_check_crt_components(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:363,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:364,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:365,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:365,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:366,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:366,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:367,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:368,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:368,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:369,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:369,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:370,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:370,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:371,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/rsa_sp800_56b_test.c:371,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:373,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:374,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rsa_sp800_56b_test.c:378,1
    - Dst: ossl_rsa_sp800_56b_derive_params_from_pq
      Src: /src/openssl/test/rsa_sp800_56b_test.c:378,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:380,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:381,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 356
    functionDepth: 6
    functionLinenumber: 356
    functionLinenumberEnd: 384
    functionName: test_derive_params_from_pq_fail
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_factors
    - RSA_free
    - RSA_new
    - BN_CTX_new
    - BN_set_word
    - TEST_int_le
    - BN_CTX_free
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - ossl_rsa_sp800_56b_derive_params_from_pq
    linkageType: ''
    returnType: int
    signature: int test_derive_params_from_pq_fail(int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:391,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:391,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:392,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:392,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:393,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:393,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:395,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:395,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:396,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:396,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:397,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/test/rsa_sp800_56b_test.c:397,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:399,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:400,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/test/rsa_sp800_56b_test.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:401,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:402,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:403,1
    - Dst: ossl_rsa_check_pminusq_diff
      Src: /src/openssl/test/rsa_sp800_56b_test.c:403,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:404,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:405,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 386
    functionDepth: 7
    functionLinenumber: 386
    functionLinenumberEnd: 408
    functionName: test_pq_diff
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_false
    - BN_new
    - TEST_true
    - ossl_rsa_check_pminusq_diff
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_pq_diff(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:417,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:418,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:418,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:420,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:420,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:422,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:423,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:423,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:424,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/rsa_sp800_56b_test.c:424,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:426,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:427,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:431,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:431,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:432,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:432,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:433,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:433,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:434,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_sp800_56b_test.c:434,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:436,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:437,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:438,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:442,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:442,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:443,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:443,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:444,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:444,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:445,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:445,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:447,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:447,1
    - Dst: BN_value_one
      Src: /src/openssl/test/rsa_sp800_56b_test.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:450,1
    - Dst: BN_add_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:450,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:451,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:451,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:452,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:452,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:455,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:456,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:458,1
    - Dst: BN_add_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:458,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:459,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:459,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:460,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:460,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:462,1
    - Dst: BN_lshift1
      Src: /src/openssl/test/rsa_sp800_56b_test.c:462,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:463,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:463,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:464,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/rsa_sp800_56b_test.c:464,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:466,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:466,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:467,1
    - Dst: BN_mul
      Src: /src/openssl/test/rsa_sp800_56b_test.c:467,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:468,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:469,1
    - Dst: BN_add_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:469,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:470,1
    - Dst: BN_mul
      Src: /src/openssl/test/rsa_sp800_56b_test.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:472,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:472,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:473,1
    - Dst: BN_mul
      Src: /src/openssl/test/rsa_sp800_56b_test.c:473,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:474,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:474,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:475,1
    - Dst: BN_add_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:475,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:476,1
    - Dst: BN_mul
      Src: /src/openssl/test/rsa_sp800_56b_test.c:476,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:478,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:479,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 410
    functionDepth: 8
    functionLinenumber: 410
    functionLinenumberEnd: 481
    functionName: test_invalid_keypair
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_factors
    - ossl_rsa_sp800_56b_check_keypair
    - RSA_set0_key
    - BN_mul
    - RSA_free
    - RSA_new
    - BN_CTX_new
    - TEST_false
    - BN_value_one
    - BN_rshift1
    - BN_CTX_free
    - BN_sub_word
    - BN_lshift1
    - TEST_true
    - BN_add_word
    - TEST_ptr
    - BN_free
    - bn_load_new
    linkageType: ''
    returnType: int
    signature: int test_invalid_keypair(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:493,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:493,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:494,1
    - Dst: ossl_rsa_sp800_56b_generate_key
      Src: /src/openssl/test/rsa_sp800_56b_test.c:494,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:495,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/openssl/test/rsa_sp800_56b_test.c:495,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:496,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/openssl/test/rsa_sp800_56b_test.c:496,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:497,1
    - Dst: ossl_rsa_sp800_56b_check_keypair
      Src: /src/openssl/test/rsa_sp800_56b_test.c:497,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 15
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: test_sp80056b_keygen
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_sp800_56b_check_public
    - ossl_rsa_sp800_56b_check_keypair
    - RSA_free
    - RSA_new
    - ossl_rsa_sp800_56b_generate_key
    - TEST_true
    - TEST_ptr
    - ossl_rsa_sp800_56b_check_private
    linkageType: ''
    returnType: int
    signature: int test_sp80056b_keygen(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:509,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:509,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:511,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/openssl/test/rsa_sp800_56b_test.c:511,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:513,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:513,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:514,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:514,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:515,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:515,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:516,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_sp800_56b_test.c:516,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:518,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:519,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:520,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:524,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/openssl/test/rsa_sp800_56b_test.c:524,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:526,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:526,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:527,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/openssl/test/rsa_sp800_56b_test.c:527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:529,1
    - Dst: BN_copy
      Src: /src/openssl/test/rsa_sp800_56b_test.c:529,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:530,1
    - Dst: ossl_rsa_sp800_56b_check_private
      Src: /src/openssl/test/rsa_sp800_56b_test.c:530,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:532,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 503
    functionDepth: 6
    functionLinenumber: 503
    functionLinenumberEnd: 534
    functionName: test_check_private_key
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_key
    - ossl_rsa_sp800_56b_check_private
    - RSA_free
    - RSA_new
    - TEST_false
    - BN_set_word
    - BN_copy
    - TEST_true
    - TEST_ptr
    - BN_free
    - bn_load_new
    linkageType: ''
    returnType: int
    signature: int test_check_private_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:542,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:542,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:544,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/openssl/test/rsa_sp800_56b_test.c:544,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:546,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:546,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_sp800_56b_test.c:547,1
    - Dst: bn_load_new
      Src: /src/openssl/test/rsa_sp800_56b_test.c:547,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:548,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_sp800_56b_test.c:548,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:550,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:551,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:555,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/openssl/test/rsa_sp800_56b_test.c:555,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:557,1
    - Dst: BN_add_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:557,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:558,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/openssl/test/rsa_sp800_56b_test.c:558,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:559,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:559,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:561,1
    - Dst: BN_lshift1
      Src: /src/openssl/test/rsa_sp800_56b_test.c:561,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:562,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/openssl/test/rsa_sp800_56b_test.c:562,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:563,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/rsa_sp800_56b_test.c:563,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:565,1
    - Dst: BN_add_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:565,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:566,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/openssl/test/rsa_sp800_56b_test.c:566,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:567,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:567,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_sp800_56b_test.c:569,1
    - Dst: BN_add_word
      Src: /src/openssl/test/rsa_sp800_56b_test.c:569,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_sp800_56b_test.c:570,1
    - Dst: ossl_rsa_sp800_56b_check_public
      Src: /src/openssl/test/rsa_sp800_56b_test.c:570,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_sp800_56b_test.c:572,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 536
    functionDepth: 6
    functionLinenumber: 536
    functionLinenumberEnd: 574
    functionName: test_check_public_key
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_sp800_56b_check_public
    - RSA_set0_key
    - RSA_free
    - RSA_new
    - TEST_false
    - BN_rshift1
    - BN_sub_word
    - BN_lshift1
    - TEST_true
    - BN_add_word
    - TEST_ptr
    - BN_free
    - bn_load_new
    linkageType: ''
    returnType: int
    signature: int test_check_public_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:578,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:579,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:580,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:581,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:582,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_sp800_56b_test.c:583,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/rsa_sp800_56b_test.c:583,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:584,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:585,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:586,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_sp800_56b_test.c:587,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_sp800_56b_test.c:588,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/rsa_sp800_56b_test.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 590
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rsa_sp800_56b_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_format_test.c:324,1
    - Dst: OBJ_create
      Src: /src/openssl/test/pkcs12_format_test.c:324,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/pkcs12_format_test.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 8
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: get_custom_oid
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - OBJ_create
    - OBJ_txt2nid
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int get_custom_oid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:336,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:339,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:341,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:343,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:345,1
    - Dst: end_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:347,1
    - Dst: start_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:350,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:352,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:354,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:356,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:358,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 361
    functionName: test_single_cert_no_attrs
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - end_check_pkcs12
    - end_contentinfo
    - start_check_contentinfo
    - start_contentinfo
    - add_certbag
    - start_check_pkcs12
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - start_pkcs12
    - end_pkcs12
    - check_certbag
    linkageType: ''
    returnType: int
    signature: int test_single_cert_no_attrs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/pkcs12_format_test.c:368,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/pkcs12_format_test.c:369,1
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:371,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:374,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:376,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:378,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:380,1
    - Dst: end_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:382,1
    - Dst: start_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:385,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:387,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:389,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:391,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:393,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 363
    functionDepth: 6
    functionLinenumber: 363
    functionLinenumberEnd: 396
    functionName: test_single_key
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - add_keybag
    - end_check_pkcs12
    - end_contentinfo
    - OBJ_nid2sn
    - start_check_contentinfo
    - BIO_snprintf
    - start_check_pkcs12
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - start_pkcs12
    - start_contentinfo
    - end_pkcs12
    - check_keybag
    linkageType: ''
    returnType: int
    signature: int test_single_key(PKCS12_ENC *enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_single_key
      Src: /src/openssl/test/pkcs12_format_test.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 398
    functionDepth: 7
    functionLinenumber: 398
    functionLinenumberEnd: 410
    functionName: test_single_key_enc_alg
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - test_single_key
    linkageType: ''
    returnType: int
    signature: int test_single_key_enc_alg(int z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_key
      Src: /src/openssl/test/pkcs12_format_test.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 7
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: test_single_key_enc_pass
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - test_single_key
    linkageType: ''
    returnType: int
    signature: int test_single_key_enc_pass(int z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_key
      Src: /src/openssl/test/pkcs12_format_test.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 7
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: test_single_key_enc_iter
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - test_single_key
    linkageType: ''
    returnType: int
    signature: int test_single_key_enc_iter(int z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:436,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:439,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:441,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:443,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:445,1
    - Dst: end_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:447,1
    - Dst: start_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:450,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:452,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:454,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:456,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:458,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 461
    functionName: test_single_key_with_attrs
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - add_keybag
    - end_check_pkcs12
    - end_contentinfo
    - start_check_contentinfo
    - start_contentinfo
    - start_check_pkcs12
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - start_pkcs12
    - end_pkcs12
    - check_keybag
    linkageType: ''
    returnType: int
    signature: int test_single_key_with_attrs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/pkcs12_format_test.c:468,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/pkcs12_format_test.c:469,1
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:471,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:474,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:476,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:478,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:480,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:482,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:485,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:487,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:489,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:491,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:493,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - mac
    argTypes:
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 496
    functionName: test_single_cert_mac
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - end_check_pkcs12
    - end_contentinfo
    - start_check_pkcs12_with_mac
    - OBJ_nid2sn
    - start_check_contentinfo
    - BIO_snprintf
    - add_certbag
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - start_pkcs12
    - start_contentinfo
    - end_pkcs12_with_mac
    - check_certbag
    linkageType: ''
    returnType: int
    signature: int test_single_cert_mac(PKCS12_ENC *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_cert_mac
      Src: /src/openssl/test/pkcs12_format_test.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 7
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: test_single_cert_mac_alg
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - test_single_cert_mac
    linkageType: ''
    returnType: int
    signature: int test_single_cert_mac_alg(int z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_cert_mac
      Src: /src/openssl/test/pkcs12_format_test.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 509
    functionDepth: 7
    functionLinenumber: 509
    functionLinenumberEnd: 518
    functionName: test_single_cert_mac_pass
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - test_single_cert_mac
    linkageType: ''
    returnType: int
    signature: int test_single_cert_mac_pass(int z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_single_cert_mac
      Src: /src/openssl/test/pkcs12_format_test.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 7
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: test_single_cert_mac_iter
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - test_single_cert_mac
    linkageType: ''
    returnType: int
    signature: int test_single_cert_mac_iter(int z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:533,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:536,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:538,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:540,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:541,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:543,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:545,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:548,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:550,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:552,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:553,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:555,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:557,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 560
    functionName: test_cert_key_with_attrs_and_mac
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - add_keybag
    - end_check_pkcs12
    - end_contentinfo
    - start_check_pkcs12_with_mac
    - start_check_contentinfo
    - start_contentinfo
    - add_certbag
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - start_pkcs12
    - end_pkcs12_with_mac
    - check_certbag
    - check_keybag
    linkageType: ''
    returnType: int
    signature: int test_cert_key_with_attrs_and_mac(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:564,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:567,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:569,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:571,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:572,1
    - Dst: end_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:574,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:576,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:579,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:581,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:583,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:584,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:586,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:588,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 591
    functionName: test_cert_key_encrypted_content
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - end_contentinfo_encrypted
    - add_keybag
    - end_check_pkcs12
    - start_check_pkcs12_with_mac
    - start_contentinfo
    - add_certbag
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - start_check_contentinfo_encrypted
    - start_pkcs12
    - end_pkcs12_with_mac
    - check_certbag
    - check_keybag
    linkageType: ''
    returnType: int
    signature: int test_cert_key_encrypted_content(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:595,1
    - Dst: get_custom_oid
      Src: /src/openssl/test/pkcs12_format_test.c:596,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:599,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:601,1
    - Dst: add_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:603,1
    - Dst: end_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:605,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:607,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:610,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:612,1
    - Dst: check_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:614,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:616,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:618,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 593
    functionDepth: 9
    functionLinenumber: 593
    functionLinenumberEnd: 621
    functionName: test_single_secret_encrypted_content
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - end_contentinfo_encrypted
    - end_check_pkcs12
    - start_check_pkcs12_with_mac
    - start_contentinfo
    - start_check_contentinfo_encrypted
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - get_custom_oid
    - start_pkcs12
    - end_pkcs12_with_mac
    - check_secretbag
    - add_secretbag
    linkageType: ''
    returnType: int
    signature: int test_single_secret_encrypted_content(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/pkcs12_format_test.c:629,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/pkcs12_format_test.c:630,1
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:631,1
    - Dst: get_custom_oid
      Src: /src/openssl/test/pkcs12_format_test.c:632,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:635,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:637,1
    - Dst: add_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:639,1
    - Dst: end_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:641,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:643,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:646,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:648,1
    - Dst: check_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:650,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:652,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:654,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - enc
    argTypes:
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 623
    functionDepth: 9
    functionLinenumber: 623
    functionLinenumberEnd: 657
    functionName: test_single_secret
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - end_contentinfo_encrypted
    - end_check_pkcs12
    - start_check_pkcs12_with_mac
    - OBJ_nid2sn
    - start_contentinfo
    - BIO_snprintf
    - start_check_contentinfo_encrypted
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - get_custom_oid
    - start_pkcs12
    - end_pkcs12_with_mac
    - check_secretbag
    - add_secretbag
    linkageType: ''
    returnType: int
    signature: int test_single_secret(PKCS12_ENC *enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_single_secret
      Src: /src/openssl/test/pkcs12_format_test.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 659
    functionDepth: 10
    functionLinenumber: 659
    functionLinenumberEnd: 671
    functionName: test_single_secret_enc_alg
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - test_single_secret
    linkageType: ''
    returnType: int
    signature: int test_single_secret_enc_alg(int z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:675,1
    - Dst: get_custom_oid
      Src: /src/openssl/test/pkcs12_format_test.c:676,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:679,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:681,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:683,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:684,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:685,1
    - Dst: add_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:686,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:688,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:690,1
    - Dst: add_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:692,1
    - Dst: end_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:694,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:696,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:699,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:701,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:703,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:704,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:705,1
    - Dst: check_keybag
      Src: /src/openssl/test/pkcs12_format_test.c:706,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:708,1
    - Dst: start_check_contentinfo_encrypted
      Src: /src/openssl/test/pkcs12_format_test.c:710,1
    - Dst: check_secretbag
      Src: /src/openssl/test/pkcs12_format_test.c:712,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:714,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:716,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 673
    functionDepth: 9
    functionLinenumber: 673
    functionLinenumberEnd: 719
    functionName: test_multiple_contents
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - end_pkcs12_builder
    - check_keybag
    - check_secretbag
    - end_contentinfo_encrypted
    - add_keybag
    - add_certbag
    - new_pkcs12_builder
    - end_check_contentinfo
    - end_contentinfo
    - start_check_contentinfo
    - get_custom_oid
    - start_check_contentinfo_encrypted
    - start_pkcs12
    - end_pkcs12_with_mac
    - check_certbag
    - end_check_pkcs12
    - start_check_pkcs12_with_mac
    - start_contentinfo
    - add_secretbag
    linkageType: ''
    returnType: int
    signature: int test_multiple_contents(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:723,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:726,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:728,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:730,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:732,1
    - Dst: end_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:734,1
    - Dst: start_check_pkcs12_with_mac
      Src: /src/openssl/test/pkcs12_format_test.c:737,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:739,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:741,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:743,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:745,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 748
    functionName: test_jdk_trusted_attr
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - end_check_pkcs12
    - end_contentinfo
    - start_check_pkcs12_with_mac
    - start_check_contentinfo
    - start_contentinfo
    - add_certbag
    - end_check_contentinfo
    - end_pkcs12_builder
    - new_pkcs12_builder
    - start_pkcs12
    - end_pkcs12_with_mac
    - check_certbag
    linkageType: ''
    returnType: int
    signature: int test_jdk_trusted_attr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:752,1
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_format_test.c:754,1
    - Dst: start_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:757,1
    - Dst: start_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:759,1
    - Dst: add_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:762,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/test/pkcs12_format_test.c:764,1
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_format_test.c:765,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/pkcs12_format_test.c:765,1
    - Dst: X509_ATTRIBUTE_create
      Src: /src/openssl/test/pkcs12_format_test.c:768,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/pkcs12_format_test.c:768,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/test/pkcs12_format_test.c:769,1
    - Dst: PKCS12_SAFEBAG_set0_attrs
      Src: /src/openssl/test/pkcs12_format_test.c:770,1
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_format_test.c:771,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/pkcs12_format_test.c:771,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/test/pkcs12_format_test.c:772,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:773,1
    - Dst: end_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:777,1
    - Dst: end_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:779,1
    - Dst: start_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:782,1
    - Dst: start_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:784,1
    - Dst: check_certbag
      Src: /src/openssl/test/pkcs12_format_test.c:787,1
    - Dst: end_check_contentinfo
      Src: /src/openssl/test/pkcs12_format_test.c:789,1
    - Dst: end_check_pkcs12
      Src: /src/openssl/test/pkcs12_format_test.c:791,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:793,1
    - Dst: end_pkcs12_builder
      Src: /src/openssl/test/pkcs12_format_test.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 750
    functionDepth: 7
    functionLinenumber: 750
    functionLinenumberEnd: 798
    functionName: test_set0_attrs
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - end_pkcs12_builder
    - TEST_ptr
    - X509_ATTRIBUTE_free
    - sk_PKCS12_SAFEBAG_value
    - add_certbag
    - new_pkcs12_builder
    - end_check_contentinfo
    - X509_ATTRIBUTE_create
    - end_contentinfo
    - X509at_add1_attr
    - start_check_contentinfo
    - STACK_OF
    - start_pkcs12
    - end_pkcs12
    - check_certbag
    - PKCS12_SAFEBAG_get0_attrs
    - end_check_pkcs12
    - start_check_pkcs12
    - start_contentinfo
    - OBJ_txt2obj
    - PKCS12_SAFEBAG_set0_attrs
    linkageType: ''
    returnType: int
    signature: int test_set0_attrs(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:863,1
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/test/pkcs12_format_test.c:863,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:866,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs12_format_test.c:866,1
    - Dst: PKCS12_create
      Src: /src/openssl/test/pkcs12_format_test.c:868,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:871,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:874,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs12_format_test.c:874,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_format_test.c:878,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_format_test.c:879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 801
    functionDepth: 14
    functionLinenumber: 801
    functionLinenumberEnd: 881
    functionName: pkcs12_create_test
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - d2i_PrivateKey_ex
    - PKCS12_create
    - TEST_int_eq
    - PKCS12_free
    - EVP_PKEY_free
    - ERR_peek_error
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int pkcs12_create_test(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/openssl/test/pkcs12_format_test.c:898,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:899,1
    - Dst: d2i_AutoPrivateKey
      Src: /src/openssl/test/pkcs12_format_test.c:901,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:902,1
    - Dst: PKCS12_create
      Src: /src/openssl/test/pkcs12_format_test.c:904,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:906,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:908,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs12_format_test.c:908,1
    - Dst: BIO_new
      Src: /src/openssl/test/pkcs12_format_test.c:911,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/pkcs12_format_test.c:911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:912,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:914,1
    - Dst: i2d_PKCS12_bio
      Src: /src/openssl/test/pkcs12_format_test.c:914,1
    - Dst: PKCS12_init_ex
      Src: /src/openssl/test/pkcs12_format_test.c:916,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:917,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/test/pkcs12_format_test.c:919,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:920,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:922,1
    - Dst: PKCS12_parse
      Src: /src/openssl/test/pkcs12_format_test.c:922,1
    - Dst: PKCS12_create
      Src: /src/openssl/test/pkcs12_format_test.c:927,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:930,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs12_format_test.c:932,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs12_format_test.c:932,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs12_format_test.c:937,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_format_test.c:938,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_format_test.c:939,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_format_test.c:940,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_format_test.c:941,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_format_test.c:942,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs12_format_test.c:943,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs12_format_test.c:944,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 884
    functionDepth: 15
    functionLinenumber: 884
    functionLinenumberEnd: 946
    functionName: pkcs12_recreate_test
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - PKCS12_parse
    - d2i_PKCS12_bio
    - BIO_free
    - PKCS12_create
    - TEST_int_eq
    - PKCS12_free
    - PKCS12_init_ex
    - d2i_AutoPrivateKey
    - i2d_PKCS12_bio
    - EVP_PKEY_free
    - BIO_s_mem
    - X509_free
    - ERR_peek_error
    - TEST_ptr
    - d2i_X509
    linkageType: ''
    returnType: int
    signature: int pkcs12_recreate_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 967
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/pkcs12_format_test.c:973,1
    - Dst: PKCS12_helper_set_write_files
      Src: /src/openssl/test/pkcs12_format_test.c:976,1
    - Dst: PKCS12_helper_set_legacy
      Src: /src/openssl/test/pkcs12_format_test.c:979,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/pkcs12_format_test.c:992,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:993,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pkcs12_format_test.c:995,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:996,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pkcs12_format_test.c:1000,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_format_test.c:1001,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pkcs12_format_test.c:1003,1
    - Dst: PKCS12_helper_set_libctx
      Src: /src/openssl/test/pkcs12_format_test.c:1005,1
    - Dst: TEST_false
      Src: /src/openssl/test/pkcs12_format_test.c:1012,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/pkcs12_format_test.c:1012,1
    - Dst: TEST_false
      Src: /src/openssl/test/pkcs12_format_test.c:1013,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/pkcs12_format_test.c:1013,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1017,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1019,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1019,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1020,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1020,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1022,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1022,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1023,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1023,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1027,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1030,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1031,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1031,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1032,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1032,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1033,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1034,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1034,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1035,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1035,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_format_test.c:1036,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs12_format_test.c:1036,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1037,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1038,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1039,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1040,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1041,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_format_test.c:1042,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 969
    functionDepth: 10
    functionLinenumber: 969
    functionLinenumberEnd: 1044
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - PKCS12_helper_set_libctx
    - opt_next
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_new
    - TEST_false
    - ADD_TEST
    - PKCS12_helper_set_legacy
    - OSSL_PROVIDER_load
    - OSSL_NELEM
    - PKCS12_helper_set_write_files
    - TEST_ptr
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pkcs12_format_test.c:1048,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pkcs12_format_test.c:1049,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pkcs12_format_test.c:1050,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/pkcs12_format_test.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1046
    functionDepth: 4
    functionLinenumber: 1046
    functionLinenumberEnd: 1052
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/pkcs12_format_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - in
    - len
    argTypes:
    - unsigned char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: swap_copy
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_copy(unsigned char *out, const void *in, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:43,1
    - Dst: ossl_assert
      Src: /src/openssl/test/params_api_test.c:49,1
    - Dst: swap_copy
      Src: /src/openssl/test/params_api_test.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - unsigned char*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: le_copy
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - swap_copy
    - ossl_assert
    linkageType: ''
    returnType: void
    signature: "void le_copy(unsigned char *out, size_t outlen,\n                    const
      void *in, size_t inlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/test/params_api_test.c:87,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:89,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/params_api_test.c:95,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:97,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_api_test.c:99,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/params_api_test.c:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - param
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 118
    functionName: test_param_type_null
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_get_double
    - OSSL_PARAM_get_int32
    - OSSL_PARAM_get_uint64
    linkageType: ''
    returnType: int
    signature: int test_param_type_null(OSSL_PARAM *param)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:137,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/test/params_api_test.c:137,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:138,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:142,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/params_api_test.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:143,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:143,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:144,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/params_api_test.c:144,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:147,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:147,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:152,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:154,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:157,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:159,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:162,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:164,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:171,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:172,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:172,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:176,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/test/params_api_test.c:176,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:177,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:177,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:181,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:181,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 3
    argNames:
    - param
    - cmp
    - width
    argTypes:
    - OSSL_PARAM*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 120
    functionDepth: 6
    functionLinenumber: 120
    functionLinenumberEnd: 185
    functionName: test_param_type_extra
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - OSSL_PARAM_get_uint32
    - OSSL_PARAM_get_int64
    - TEST_false
    - OSSL_PARAM_modified
    - OSSL_PARAM_get_int32
    - OSSL_PARAM_set_uint32
    - OSSL_PARAM_set_int32
    - TEST_true
    - TEST_size_t_eq
    - OSSL_PARAM_get_uint64
    - le_copy
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: "int test_param_type_extra(OSSL_PARAM *param, const unsigned char *cmp,\n
      \                                size_t width)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/test/params_api_test.c:205,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:207,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:207,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:210,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:211,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:212,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:214,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/params_api_test.c:214,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:216,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:217,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:220,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:220,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:222,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:223,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 199
    functionDepth: 7
    functionLinenumber: 199
    functionLinenumberEnd: 227
    functionName: test_param_int
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - memcpy
    - TEST_int_eq
    - OSSL_PARAM_set_int
    - test_param_type_extra
    - OSSL_PARAM_int
    - TEST_true
    - test_param_type_null
    - le_copy
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: int test_param_int(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_long
      Src: /src/openssl/test/params_api_test.c:235,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:237,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:237,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:240,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:241,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:244,1
    - Dst: OSSL_PARAM_set_long
      Src: /src/openssl/test/params_api_test.c:244,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:246,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:250,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/openssl/test/params_api_test.c:250,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:252,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:253,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 229
    functionDepth: 7
    functionLinenumber: 229
    functionLinenumberEnd: 257
    functionName: test_param_long
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - memcpy
    - OSSL_PARAM_get_long
    - TEST_int_eq
    - OSSL_PARAM_set_long
    - test_param_type_extra
    - TEST_true
    - OSSL_PARAM_long
    - test_param_type_null
    - le_copy
    linkageType: ''
    returnType: int
    signature: int test_param_long(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_uint
      Src: /src/openssl/test/params_api_test.c:264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:266,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:266,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:269,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:270,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:271,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:273,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/test/params_api_test.c:273,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:275,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:279,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/test/params_api_test.c:279,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:281,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:282,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 7
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: test_param_uint
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_uint
    - TEST_mem_eq
    - memset
    - OSSL_PARAM_get_uint
    - memcpy
    - TEST_int_eq
    - OSSL_PARAM_set_uint
    - test_param_type_extra
    - TEST_true
    - test_param_type_null
    - le_copy
    linkageType: ''
    returnType: int
    signature: int test_param_uint(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/params_api_test.c:294,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:296,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:296,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:299,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:300,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:303,1
    - Dst: OSSL_PARAM_set_ulong
      Src: /src/openssl/test/params_api_test.c:303,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:305,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:306,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:309,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/openssl/test/params_api_test.c:309,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:311,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:312,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 288
    functionDepth: 7
    functionLinenumber: 288
    functionLinenumberEnd: 316
    functionName: test_param_ulong
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - memcpy
    - TEST_int_eq
    - OSSL_PARAM_get_ulong
    - test_param_type_extra
    - test_param_type_null
    - TEST_true
    - OSSL_PARAM_ulong
    - le_copy
    - OSSL_PARAM_set_ulong
    linkageType: ''
    returnType: int
    signature: int test_param_ulong(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int32
      Src: /src/openssl/test/params_api_test.c:324,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:326,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:326,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:329,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:330,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:331,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:333,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:333,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:335,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:336,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:339,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/test/params_api_test.c:339,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:341,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:342,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 318
    functionDepth: 7
    functionLinenumber: 318
    functionLinenumberEnd: 346
    functionName: test_param_int32
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - memcpy
    - TEST_int_eq
    - OSSL_PARAM_get_int32
    - OSSL_PARAM_set_int32
    - test_param_type_extra
    - test_param_type_null
    - TEST_true
    - OSSL_PARAM_int32
    - le_copy
    linkageType: ''
    returnType: int
    signature: int test_param_int32(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_uint32
      Src: /src/openssl/test/params_api_test.c:354,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:356,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:356,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:359,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:360,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:361,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:363,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/test/params_api_test.c:363,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:365,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:369,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/params_api_test.c:369,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:371,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:372,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 348
    functionDepth: 7
    functionLinenumber: 348
    functionLinenumberEnd: 376
    functionName: test_param_uint32
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - OSSL_PARAM_get_uint32
    - memcpy
    - TEST_int_eq
    - OSSL_PARAM_set_uint32
    - test_param_type_extra
    - OSSL_PARAM_uint32
    - TEST_true
    - test_param_type_null
    - le_copy
    linkageType: ''
    returnType: int
    signature: int test_param_uint32(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int64
      Src: /src/openssl/test/params_api_test.c:384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:386,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:386,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:389,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:390,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:391,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:393,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/openssl/test/params_api_test.c:393,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:395,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:396,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:399,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:399,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:401,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:402,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 378
    functionDepth: 7
    functionLinenumber: 378
    functionLinenumberEnd: 406
    functionName: test_param_int64
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - OSSL_PARAM_get_int64
    - memcpy
    - OSSL_PARAM_int64
    - TEST_int_eq
    - OSSL_PARAM_set_int64
    - test_param_type_extra
    - TEST_true
    - test_param_type_null
    - le_copy
    linkageType: ''
    returnType: int
    signature: int test_param_int64(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_uint64
      Src: /src/openssl/test/params_api_test.c:414,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:416,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:416,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:419,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:420,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:421,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:423,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/openssl/test/params_api_test.c:423,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:425,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:426,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:429,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:429,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:431,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:432,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 408
    functionDepth: 7
    functionLinenumber: 408
    functionLinenumberEnd: 436
    functionName: test_param_uint64
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - memcpy
    - OSSL_PARAM_get_uint64
    - TEST_int_eq
    - test_param_type_extra
    - OSSL_PARAM_uint64
    - TEST_true
    - test_param_type_null
    - le_copy
    - OSSL_PARAM_set_uint64
    linkageType: ''
    returnType: int
    signature: int test_param_uint64(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/test/params_api_test.c:444,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:446,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:446,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:449,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:450,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:451,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:453,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/params_api_test.c:453,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:455,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:459,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/params_api_test.c:459,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:461,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:462,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 438
    functionDepth: 7
    functionLinenumber: 438
    functionLinenumberEnd: 466
    functionName: test_param_size_t
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_size_t
    - TEST_mem_eq
    - memset
    - memcpy
    - TEST_int_eq
    - test_param_type_extra
    - TEST_true
    - OSSL_PARAM_size_t
    - test_param_type_null
    - le_copy
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int test_param_size_t(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_time_t
      Src: /src/openssl/test/params_api_test.c:474,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:476,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:476,1
    - Dst: memset
      Src: /src/openssl/test/params_api_test.c:479,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:480,1
    - Dst: memcpy
      Src: /src/openssl/test/params_api_test.c:481,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:483,1
    - Dst: OSSL_PARAM_set_time_t
      Src: /src/openssl/test/params_api_test.c:483,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:485,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:486,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:489,1
    - Dst: OSSL_PARAM_get_time_t
      Src: /src/openssl/test/params_api_test.c:489,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:491,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:492,1
    - Dst: test_param_type_extra
      Src: /src/openssl/test/params_api_test.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 468
    functionDepth: 7
    functionLinenumber: 468
    functionLinenumberEnd: 496
    functionName: test_param_time_t
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_time_t
    - TEST_mem_eq
    - memset
    - OSSL_PARAM_get_time_t
    - memcpy
    - TEST_int_eq
    - test_param_type_extra
    - TEST_true
    - test_param_type_null
    - le_copy
    - OSSL_PARAM_set_time_t
    linkageType: ''
    returnType: int
    signature: int test_param_time_t(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/test/params_api_test.c:503,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:507,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:507,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:513,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/test/params_api_test.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:516,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/test/params_api_test.c:516,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:518,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:519,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:522,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_api_test.c:522,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_api_test.c:523,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:528,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:529,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 498
    functionDepth: 6
    functionLinenumber: 498
    functionLinenumberEnd: 531
    functionName: test_param_bignum
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - BN_free
    - TEST_mem_eq
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_set_BN
    - TEST_int_eq
    - OSSL_PARAM_DEFN
    - TEST_ptr
    - TEST_true
    - test_param_type_null
    - le_copy
    - BN_lebin2bn
    linkageType: ''
    returnType: int
    signature: int test_param_bignum(int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/test/params_api_test.c:538,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:541,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:547,1
    - Dst: BN_signed_lebin2bn
      Src: /src/openssl/test/params_api_test.c:547,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:551,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/params_api_test.c:551,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:553,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/test/params_api_test.c:553,1
    - Dst: le_copy
      Src: /src/openssl/test/params_api_test.c:555,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:556,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:559,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_api_test.c:559,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_api_test.c:560,1
    - Dst: BN_print_fp
      Src: /src/openssl/test/params_api_test.c:561,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:567,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:568,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 533
    functionDepth: 6
    functionLinenumber: 533
    functionLinenumberEnd: 570
    functionName: test_param_signed_bignum
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - BN_print_fp
    - TEST_mem_eq
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_set_BN
    - BN_is_negative
    - TEST_false
    - TEST_int_eq
    - BN_signed_lebin2bn
    - OSSL_PARAM_DEFN
    - TEST_ptr
    - TEST_true
    - test_param_type_null
    - le_copy
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_param_signed_bignum(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_double
      Src: /src/openssl/test/params_api_test.c:575,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:577,1
    - Dst: test_param_type_null
      Src: /src/openssl/test/params_api_test.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:581,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/openssl/test/params_api_test.c:581,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_api_test.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 6
    functionLinenumber: 572
    functionLinenumberEnd: 583
    functionName: test_param_real
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_double
    - TEST_int_eq
    - OSSL_PARAM_double
    - TEST_double_eq
    - TEST_true
    - test_param_type_null
    linkageType: ''
    returnType: int
    signature: int test_param_real(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:618,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/params_api_test.c:619,1
    - Dst: OSSL_PARAM_construct_long
      Src: /src/openssl/test/params_api_test.c:620,1
    - Dst: OSSL_PARAM_construct_ulong
      Src: /src/openssl/test/params_api_test.c:621,1
    - Dst: OSSL_PARAM_construct_int32
      Src: /src/openssl/test/params_api_test.c:622,1
    - Dst: OSSL_PARAM_construct_int64
      Src: /src/openssl/test/params_api_test.c:623,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/test/params_api_test.c:624,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/test/params_api_test.c:625,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/params_api_test.c:626,1
    - Dst: OSSL_PARAM_construct_double
      Src: /src/openssl/test/params_api_test.c:627,1
    - Dst: OSSL_PARAM_construct_BN
      Src: /src/openssl/test/params_api_test.c:628,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/params_api_test.c:629,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/params_api_test.c:630,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/params_api_test.c:631,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/test/params_api_test.c:632,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/test/params_api_test.c:633,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/test/params_api_test.c:634,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:635,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:642,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/params_api_test.c:645,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/params_api_test.c:648,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:649,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/params_api_test.c:654,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:654,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:658,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:659,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:659,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:660,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:660,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:661,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_api_test.c:661,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:662,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:663,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_api_test.c:664,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:669,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:670,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:670,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:671,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/test/params_api_test.c:671,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:672,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_api_test.c:672,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:673,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:674,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_api_test.c:675,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:680,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:680,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:681,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/openssl/test/params_api_test.c:681,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:682,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/params_api_test.c:682,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:683,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_api_test.c:684,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/params_api_test.c:685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:689,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:689,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:690,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/test/params_api_test.c:690,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:691,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:692,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/params_api_test.c:692,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_api_test.c:693,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:694,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:697,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:699,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/params_api_test.c:699,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_api_test.c:700,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:705,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:705,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:706,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/test/params_api_test.c:706,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:707,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:708,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/test/params_api_test.c:708,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/params_api_test.c:709,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:710,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:713,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:713,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:714,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/test/params_api_test.c:714,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:716,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:720,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/params_api_test.c:720,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:721,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:722,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:726,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/params_api_test.c:726,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:727,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:728,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:732,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:732,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:733,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/test/params_api_test.c:733,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:735,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:739,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/params_api_test.c:739,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:740,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:741,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:745,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/params_api_test.c:745,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:746,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_api_test.c:747,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:752,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:752,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:753,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/test/params_api_test.c:753,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:754,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:755,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:759,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/test/params_api_test.c:759,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:760,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:761,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:767,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:767,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:768,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/test/params_api_test.c:768,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:769,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:770,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:774,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/test/params_api_test.c:774,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:775,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/params_api_test.c:776,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:779,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:779,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:780,1
    - Dst: BN_lebin2bn
      Src: /src/openssl/test/params_api_test.c:780,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:781,1
    - Dst: OSSL_PARAM_set_BN
      Src: /src/openssl/test/params_api_test.c:781,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/params_api_test.c:782,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:786,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/params_api_test.c:786,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/params_api_test.c:787,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:792,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:793,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:794,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_api_test.c:795,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:796,1
    - Dst: BN_free
      Src: /src/openssl/test/params_api_test.c:797,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 127
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 585
    functionDepth: 5
    functionLinenumber: 585
    functionLinenumberEnd: 799
    functionName: test_param_construct
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_construct_octet_string
    - TEST_note
    - OSSL_PARAM_construct_int32
    - OSSL_PARAM_set_BN
    - OSSL_PARAM_get_utf8_ptr
    - OSSL_PARAM_construct_long
    - OSSL_PARAM_set_octet_string_or_ptr
    - OPENSSL_free
    - TEST_ptr
    - OSSL_PARAM_set_uint32
    - OSSL_PARAM_dup
    - BN_lebin2bn
    - OSSL_PARAM_construct_utf8_ptr
    - OSSL_PARAM_set_double
    - OSSL_PARAM_construct_double
    - OSSL_PARAM_construct_BN
    - OSSL_PARAM_construct_uint32
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_size_t
    - OSSL_PARAM_get_double
    - OSSL_PARAM_get_octet_ptr
    - OSSL_PARAM_merge
    - TEST_true
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_get_uint64
    - BN_free
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_octet_ptr
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_get_int64
    - TEST_str_eq
    - OSSL_PARAM_construct_int64
    - TEST_double_eq
    - OSSL_PARAM_get_utf8_string
    - TEST_size_t_eq
    - OSSL_PARAM_construct_uint64
    - OSSL_PARAM_set_octet_string
    - OSSL_PARAM_construct_octet_ptr
    - TEST_ptr_null
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_set_int32
    - OSSL_NELEM
    - OSSL_PARAM_get_octet_string
    - OSSL_PARAM_construct_ulong
    - TEST_mem_eq
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_param_construct(int tstid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/test/params_api_test.c:803,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/test/params_api_test.c:804,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:810,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:810,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:811,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:811,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:812,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:812,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:813,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:813,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:814,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:814,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:815,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:815,1
    - Dst: OSSL_PARAM_set_all_unmodified
      Src: /src/openssl/test/params_api_test.c:817,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:818,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:818,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:819,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:819,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:820,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:820,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_api_test.c:821,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:821,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:822,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_api_test.c:822,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:823,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/params_api_test.c:823,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 801
    functionDepth: 5
    functionLinenumber: 801
    functionLinenumberEnd: 826
    functionName: test_param_modified
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - OSSL_PARAM_modified
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_int
    - TEST_true
    - OSSL_PARAM_set_all_unmodified
    linkageType: ''
    returnType: int
    signature: int test_param_modified(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:835,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:836,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:837,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/params_api_test.c:839,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/params_api_test.c:839,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:840,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:840,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:841,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:841,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:842,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:842,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:843,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:844,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:844,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:845,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:845,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:846,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:847,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:847,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:848,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:848,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:849,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:849,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:850,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:851,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:851,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:852,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:852,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:853,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/params_api_test.c:854,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:854,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/params_api_test.c:855,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/params_api_test.c:856,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 828
    functionDepth: 5
    functionLinenumber: 828
    functionLinenumberEnd: 858
    functionName: test_param_copy_null
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - TEST_ptr_null
    - OSSL_PARAM_free
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_merge
    - TEST_ptr
    - TEST_true
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_get_int
    - OSSL_PARAM_dup
    linkageType: ''
    returnType: int
    signature: int test_param_copy_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:866,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:867,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:868,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:869,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/params_api_test.c:870,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/params_api_test.c:871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:873,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/params_api_test.c:873,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:874,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:874,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:875,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:875,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:876,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:877,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:877,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:878,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:878,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:879,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_api_test.c:880,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_api_test.c:880,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_api_test.c:881,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/params_api_test.c:881,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/params_api_test.c:882,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/params_api_test.c:883,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 859
    functionDepth: 5
    functionLinenumber: 859
    functionLinenumberEnd: 885
    functionName: test_param_merge
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_free
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_merge
    - TEST_ptr
    - TEST_true
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: int test_param_merge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:889,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:889,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:890,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:890,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:891,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:891,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:892,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:892,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:893,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:893,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:894,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:894,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:895,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:895,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:896,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:896,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:897,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:897,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:898,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:898,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:899,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:899,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:900,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/params_api_test.c:900,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:901,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_api_test.c:902,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:903,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:904,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/params_api_test.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 907
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/params_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quicfaultstest.c:26,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicfaultstest.c:26,1
    - Dst: strlen
      Src: /src/openssl/test/quicfaultstest.c:30,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicfaultstest.c:34,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:37,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicfaultstest.c:37,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:41,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicfaultstest.c:41,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicfaultstest.c:44,1
    - Dst: SSL_write
      Src: /src/openssl/test/quicfaultstest.c:44,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicfaultstest.c:47,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:48,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicfaultstest.c:48,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicfaultstest.c:56,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicfaultstest.c:61,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicfaultstest.c:62,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicfaultstest.c:63,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 65
    functionName: test_basic
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 2
    functionsReached:
    - OSSL_QUIC_client_method
    - TEST_mem_eq
    - SSL_CTX_free
    - SSL_free
    - ossl_quic_tserver_free
    - ossl_quic_tserver_tick
    - TEST_int_eq
    - SSL_CTX_new
    - SSL_write
    - qtest_create_quic_connection
    - TEST_true
    - qtest_create_quic_objects
    - TEST_ptr
    - strlen
    - ossl_quic_tserver_read
    linkageType: ''
    returnType: int
    signature: int test_basic(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quicfaultstest.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - fault
    - hdr
    - buf
    - len
    - cbarg
    argTypes:
    - QTEST_FAULT*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: add_unknown_frame_cb
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - qtest_fault_prepend_frame
    linkageType: ''
    returnType: int
    signature: "int add_unknown_frame_cb(QTEST_FAULT *fault, QUIC_PKT_HDR *hdr,\n
      \                               unsigned char *buf, size_t len, void *cbarg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quicfaultstest.c:94,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicfaultstest.c:94,1
    - Dst: strlen
      Src: /src/openssl/test/quicfaultstest.c:98,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicfaultstest.c:104,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:107,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicfaultstest.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:111,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicfaultstest.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:118,1
    - Dst: qtest_fault_set_packet_plain_listener
      Src: /src/openssl/test/quicfaultstest.c:118,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:123,1
    - Dst: ossl_quic_tserver_stream_new
      Src: /src/openssl/test/quicfaultstest.c:123,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicfaultstest.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:127,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicfaultstest.c:127,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicfaultstest.c:131,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicfaultstest.c:134,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:135,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicfaultstest.c:135,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicfaultstest.c:138,1
    - Dst: SSL_read
      Src: /src/openssl/test/quicfaultstest.c:138,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicfaultstest.c:141,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicfaultstest.c:141,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicfaultstest.c:144,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quicfaultstest.c:144,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/quicfaultstest.c:144,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:148,1
    - Dst: qtest_check_server_frame_encoding_err
      Src: /src/openssl/test/quicfaultstest.c:148,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicfaultstest.c:153,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicfaultstest.c:154,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicfaultstest.c:155,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicfaultstest.c:156,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 158
    functionName: test_unknown_frame
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - qtest_fault_free
    - TEST_int_le
    - SSL_CTX_new
    - TEST_ptr
    - strlen
    - SSL_get_error
    - SSL_CTX_free
    - SSL_read
    - ossl_quic_tserver_write
    - qtest_check_server_frame_encoding_err
    - OSSL_QUIC_client_method
    - TEST_uint64_t_eq
    - TEST_true
    - ERR_peek_error
    - ossl_quic_tserver_stream_new
    - qtest_fault_set_packet_plain_listener
    - SSL_free
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - qtest_create_quic_connection
    - TEST_size_t_eq
    - qtest_create_quic_objects
    - ossl_quic_tserver_free
    - TEST_int_eq
    - ERR_GET_REASON
    linkageType: ''
    returnType: int
    signature: int test_unknown_frame(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qtest_fault_delete_extension
      Src: /src/openssl/test/quicfaultstest.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - fault
    - ee
    - eelen
    - encextcbarg
    argTypes:
    - QTEST_FAULT*
    - QTEST_ENCRYPTED_EXTENSIONS*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: drop_extensions_cb
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - qtest_fault_delete_extension
    linkageType: ''
    returnType: int
    signature: "int drop_extensions_cb(QTEST_FAULT *fault,\n                                    QTEST_ENCRYPTED_EXTENSIONS
      *ee,\n                                    size_t eelen, void *encextcbarg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quicfaultstest.c:180,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicfaultstest.c:180,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicfaultstest.c:186,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:189,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicfaultstest.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:201,1
    - Dst: qtest_fault_set_hand_enc_ext_listener
      Src: /src/openssl/test/quicfaultstest.c:201,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicfaultstest.c:210,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicfaultstest.c:210,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:213,1
    - Dst: qtest_check_server_transport_err
      Src: /src/openssl/test/quicfaultstest.c:213,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicfaultstest.c:218,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicfaultstest.c:219,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicfaultstest.c:220,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicfaultstest.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 223
    functionName: test_drop_extensions
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - SSL_free
    - qtest_check_server_transport_err
    - qtest_fault_free
    - TEST_false
    - qtest_fault_set_hand_enc_ext_listener
    - TEST_ptr
    - SSL_CTX_new
    - qtest_create_quic_connection
    - TEST_true
    - ossl_quic_tserver_free
    - qtest_create_quic_objects
    linkageType: ''
    returnType: int
    signature: int test_drop_extensions(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_random
      Src: /src/openssl/test/quicfaultstest.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - fault
    - hdr
    - buf
    - len
    - cbarg
    argTypes:
    - QTEST_FAULT*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: on_packet_cipher_cb
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - test_random
    linkageType: ''
    returnType: int
    signature: "int on_packet_cipher_cb(QTEST_FAULT *fault, QUIC_PKT_HDR *hdr,\n                               unsigned
      char *buf, size_t len, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qtest_fault_resize_datagram
      Src: /src/openssl/test/quicfaultstest.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - fault
    - m
    - stride
    - cbarg
    argTypes:
    - QTEST_FAULT*
    - BIO_MSG*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: on_datagram_cb
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - qtest_fault_resize_datagram
    linkageType: ''
    returnType: int
    signature: "int on_datagram_cb(QTEST_FAULT *fault, BIO_MSG *m, size_t stride,\n
      \                         void *cbarg)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quicfaultstest.c:264,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicfaultstest.c:264,1
    - Dst: strlen
      Src: /src/openssl/test/quicfaultstest.c:268,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicfaultstest.c:273,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:276,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicfaultstest.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:283,1
    - Dst: qtest_fault_set_packet_cipher_listener
      Src: /src/openssl/test/quicfaultstest.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:289,1
    - Dst: qtest_fault_set_datagram_listener
      Src: /src/openssl/test/quicfaultstest.c:289,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:294,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicfaultstest.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:300,1
    - Dst: ossl_quic_tserver_stream_new
      Src: /src/openssl/test/quicfaultstest.c:300,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicfaultstest.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:308,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicfaultstest.c:308,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicfaultstest.c:312,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicfaultstest.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:324,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicfaultstest.c:324,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicfaultstest.c:328,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:336,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicfaultstest.c:336,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicfaultstest.c:343,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:346,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicfaultstest.c:346,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicfaultstest.c:350,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicfaultstest.c:350,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicfaultstest.c:353,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicfaultstest.c:360,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicfaultstest.c:365,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicfaultstest.c:366,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicfaultstest.c:367,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicfaultstest.c:368,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 370
    functionName: test_corrupted_data
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - qtest_fault_free
    - SSL_CTX_new
    - TEST_ptr
    - strlen
    - qtest_add_time
    - qtest_fault_set_datagram_listener
    - SSL_read_ex
    - SSL_CTX_free
    - ossl_quic_tserver_write
    - OSSL_QUIC_client_method
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_tserver_stream_new
    - SSL_free
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - qtest_create_quic_connection
    - TEST_size_t_eq
    - qtest_create_quic_objects
    - ossl_quic_tserver_free
    - qtest_fault_set_packet_cipher_listener
    - TEST_false
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_corrupted_data(int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/quicfaultstest.c:378,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicfaultstest.c:379,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicfaultstest.c:383,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicfaultstest.c:383,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicfaultstest.c:386,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicfaultstest.c:390,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicfaultstest.c:394,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicfaultstest.c:395,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicfaultstest.c:396,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicfaultstest.c:397,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicfaultstest.c:402,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicfaultstest.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - OPENSSL_free
    - test_mk_file_path
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicfaultstest.c:409,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicfaultstest.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/quicfaultstest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DSA_new
      Src: /src/openssl/test/dsa_no_digest_size_test.c:98,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/dsa_no_digest_size_test.c:103,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsa_no_digest_size_test.c:103,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsa_no_digest_size_test.c:104,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsa_no_digest_size_test.c:105,1
    - Dst: DSA_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:106,1
    - Dst: BN_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:107,1
    - Dst: BN_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:108,1
    - Dst: BN_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 113
    functionName: load_dsa_params
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - DSA_free
    - BN_bin2bn
    - DSA_new
    - BN_free
    - DSA_set0_pqg
    linkageType: ''
    returnType: DSA
    signature: DSA *load_dsa_params(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:117,1
    - Dst: load_dsa_params
      Src: /src/openssl/test/dsa_no_digest_size_test.c:117,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsa_no_digest_size_test.c:120,1
    - Dst: DSA_generate_key
      Src: /src/openssl/test/dsa_no_digest_size_test.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: genkeys
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - load_dsa_params
    - TEST_ptr
    - TEST_int_eq
    - DSA_generate_key
    linkageType: ''
    returnType: int
    signature: int genkeys(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/openssl/test/dsa_no_digest_size_test.c:134,1
    - Dst: DSA_get0_q
      Src: /src/openssl/test/dsa_no_digest_size_test.c:134,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dsa_no_digest_size_test.c:137,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dsa_no_digest_size_test.c:138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsa_no_digest_size_test.c:145,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/dsa_no_digest_size_test.c:145,1
    - Dst: memset
      Src: /src/openssl/test/dsa_no_digest_size_test.c:148,1
    - Dst: memcpy
      Src: /src/openssl/test/dsa_no_digest_size_test.c:150,1
    - Dst: memcpy
      Src: /src/openssl/test/dsa_no_digest_size_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:154,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/dsa_no_digest_size_test.c:154,1
    - Dst: EVP_PKEY_set1_DSA
      Src: /src/openssl/test/dsa_no_digest_size_test.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:158,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/dsa_no_digest_size_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsa_no_digest_size_test.c:160,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/dsa_no_digest_size_test.c:160,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/dsa_no_digest_size_test.c:163,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsa_no_digest_size_test.c:168,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dsa_no_digest_size_test.c:168,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/dsa_no_digest_size_test.c:171,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:172,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsa_no_digest_size_test.c:177,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/dsa_no_digest_size_test.c:177,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:181,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:182,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:187,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:188,1
    - Dst: DSA_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:193,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:194,1
    - Dst: DSA_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:198,1
    - Dst: TEST_error
      Src: /src/openssl/test/dsa_no_digest_size_test.c:199,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:205,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:206,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:208,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:210,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 126
    functionDepth: 11
    functionLinenumber: 126
    functionLinenumberEnd: 213
    functionName: sign_and_verify
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_DSA
    - BN_num_bytes
    - memcpy
    - EVP_PKEY_CTX_new
    - OPENSSL_free
    - TEST_ptr
    - EVP_PKEY_verify_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - DSA_verify
    - OPENSSL_malloc
    - TEST_error
    - EVP_PKEY_sign_init
    - DSA_get0_q
    - EVP_PKEY_new
    - EVP_PKEY_verify
    - memset
    - TEST_int_eq
    - RAND_bytes
    - EVP_PKEY_sign
    linkageType: ''
    returnType: int
    signature: int sign_and_verify(int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:221,1
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 12
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: dsa_exact_size_test
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - sign_and_verify
    linkageType: ''
    returnType: int
    signature: int dsa_exact_size_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:225,1
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 12
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: dsa_small_digest_test
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - sign_and_verify
    linkageType: ''
    returnType: int
    signature: int dsa_small_digest_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:229,1
    - Dst: sign_and_verify
      Src: /src/openssl/test/dsa_no_digest_size_test.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 12
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: dsa_large_digest_test
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - sign_and_verify
    linkageType: ''
    returnType: int
    signature: int dsa_large_digest_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_free
      Src: /src/openssl/test/dsa_no_digest_size_test.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - DSA_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genkeys
      Src: /src/openssl/test/dsa_no_digest_size_test.c:242,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsa_no_digest_size_test.c:245,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsa_no_digest_size_test.c:246,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsa_no_digest_size_test.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 7
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dsa_no_digest_size_test.c
    functionUses: 0
    functionsReached:
    - genkeys
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sm3_internal_test.c:62,1
    - Dst: ossl_sm3_init
      Src: /src/openssl/test/sm3_internal_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm3_internal_test.c:63,1
    - Dst: ossl_sm3_update
      Src: /src/openssl/test/sm3_internal_test.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm3_internal_test.c:64,1
    - Dst: ossl_sm3_final
      Src: /src/openssl/test/sm3_internal_test.c:64,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sm3_internal_test.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm3_internal_test.c:68,1
    - Dst: ossl_sm3_init
      Src: /src/openssl/test/sm3_internal_test.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm3_internal_test.c:69,1
    - Dst: ossl_sm3_update
      Src: /src/openssl/test/sm3_internal_test.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm3_internal_test.c:70,1
    - Dst: ossl_sm3_final
      Src: /src/openssl/test/sm3_internal_test.c:70,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sm3_internal_test.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 75
    functionName: test_sm3
    functionSourceFile: /src/openssl/test/sm3_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_sm3_final
    - ossl_sm3_update
    - TEST_true
    - TEST_mem_eq
    - ossl_sm3_init
    linkageType: ''
    returnType: int
    signature: int test_sm3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/sm3_internal_test.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sm3_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/asn1_time_test.c:170,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:174,1
    - Dst: ASN1_TIME_check
      Src: /src/openssl/test/asn1_time_test.c:174,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:175,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:181,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:181,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:186,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/asn1_time_test.c:186,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:187,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:190,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:190,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:191,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:195,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/asn1_time_test.c:195,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:196,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:200,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:201,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:205,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:205,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:206,1
    - Dst: ASN1_TIME_set
      Src: /src/openssl/test/asn1_time_test.c:210,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:211,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:212,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:216,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:216,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:217,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:221,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:222,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:226,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_time_test.c:227,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/asn1_time_test.c:230,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:231,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:232,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:236,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/asn1_time_test.c:236,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:237,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:240,1
    - Dst: ASN1_TIME_normalize
      Src: /src/openssl/test/asn1_time_test.c:240,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:241,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:244,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:249,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/asn1_time_test.c:249,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:249,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:249,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:250,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:253,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:253,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:254,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:258,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_time_test.c:259,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/asn1_time_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:263,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:268,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/asn1_time_test.c:268,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:269,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_time_test.c:273,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/asn1_time_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:273,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:274,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:277,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:277,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:278,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:282,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_time_test.c:283,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/openssl/test/asn1_time_test.c:287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_time_test.c:288,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:289,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_time_test.c:291,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:292,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:295,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/asn1_time_test.c:295,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:296,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/asn1_time_test.c:299,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_time_test.c:304,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 123
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - struct testdata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 161
    functionDepth: 5
    functionLinenumber: 161
    functionLinenumberEnd: 307
    functionName: test_table
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_diff
    - ASN1_TIME_free
    - TEST_ptr_null
    - ASN1_TIME_set_string
    - TEST_info
    - TEST_int_eq
    - ASN1_TIME_to_generalizedtime
    - ASN1_TIME_normalize
    - ASN1_TIME_new
    - ASN1_TIME_cmp_time_t
    - TEST_error
    - TEST_true
    - TEST_ptr
    - strlen
    - ASN1_TIME_set
    - ASN1_TIME_check
    linkageType: ''
    returnType: int
    signature: int test_table(struct testdata *tbl, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_table
      Src: /src/openssl/test/asn1_time_test.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 6
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: test_table_pos
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - test_table
    linkageType: ''
    returnType: int
    signature: int test_table_pos(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_table
      Src: /src/openssl/test/asn1_time_test.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 6
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: test_table_neg
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - test_table
    linkageType: ''
    returnType: int
    signature: int test_table_neg(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_table
      Src: /src/openssl/test/asn1_time_test.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: test_table_pos_64bit
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - test_table
    linkageType: ''
    returnType: int
    signature: int test_table_pos_64bit(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_table
      Src: /src/openssl/test/asn1_time_test.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 6
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: test_table_neg_64bit
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - test_table
    linkageType: ''
    returnType: int
    signature: int test_table_neg_64bit(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:371,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/test/asn1_time_test.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 6
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: test_table_compare
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_compare
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_table_compare(int idx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/asn1_time_test.c:381,1
    - Dst: time
      Src: /src/openssl/test/asn1_time_test.c:381,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:383,1
    - Dst: ASN1_TIME_to_generalizedtime
      Src: /src/openssl/test/asn1_time_test.c:387,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:389,1
    - Dst: ASN1_TIME_dup
      Src: /src/openssl/test/asn1_time_test.c:393,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/asn1_time_test.c:394,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:395,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:398,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/test/asn1_time_test.c:398,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:399,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:402,1
    - Dst: ASN1_UTCTIME_dup
      Src: /src/openssl/test/asn1_time_test.c:404,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/asn1_time_test.c:405,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:406,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:409,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/test/asn1_time_test.c:409,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:410,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:413,1
    - Dst: ASN1_GENERALIZEDTIME_dup
      Src: /src/openssl/test/asn1_time_test.c:415,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/asn1_time_test.c:416,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:417,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_time_test.c:420,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/test/asn1_time_test.c:420,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:421,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:427,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:428,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:429,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 431
    functionName: test_time_dup
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - time
    - ASN1_TIME_compare
    - TEST_ptr_ne
    - ASN1_STRING_free
    - TEST_info
    - TEST_int_eq
    - ASN1_TIME_to_generalizedtime
    - ASN1_GENERALIZEDTIME_dup
    - ASN1_UTCTIME_dup
    - ASN1_TIME_dup
    - ASN1_TIME_adj
    linkageType: ''
    returnType: int
    signature: int test_time_dup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_asn1_string_to_time_t
      Src: /src/openssl/test/asn1_time_test.c:437,1
    - Dst: TEST_time_t_eq
      Src: /src/openssl/test/asn1_time_test.c:439,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 447
    functionName: convert_asn1_to_time_t
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_time_t_eq
    - test_asn1_string_to_time_t
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int convert_asn1_to_time_t(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_set
      Src: /src/openssl/test/asn1_time_test.c:462,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/test/asn1_time_test.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 471
    functionName: convert_tm_to_asn1_time
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_free
    - ASN1_TIME_set
    linkageType: ''
    returnType: int
    signature: int convert_tm_to_asn1_time(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/openssl/test/asn1_time_test.c:489,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:491,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:491,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:493,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:494,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:494,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:497,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:498,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:498,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_time_test.c:501,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:502,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:502,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:506,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:506,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_time_test.c:507,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asn1_time_test.c:508,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_time_test.c:508,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_time_test.c:509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 511
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_time_test.c
    functionUses: 0
    functionsReached:
    - localtime
    - ADD_TEST
    - TEST_info
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:57,1
    - Dst: DH_new
      Src: /src/openssl/test/dhtest.c:57,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:58,1
    - Dst: BN_new
      Src: /src/openssl/test/dhtest.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:59,1
    - Dst: BN_new
      Src: /src/openssl/test/dhtest.c:59,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:60,1
    - Dst: BN_new
      Src: /src/openssl/test/dhtest.c:60,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:61,1
    - Dst: BN_new
      Src: /src/openssl/test/dhtest.c:61,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:69,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dhtest.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:70,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dhtest.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:71,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dhtest.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:72,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/dhtest.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:76,1
    - Dst: DH_check
      Src: /src/openssl/test/dhtest.c:76,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:79,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:80,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:81,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:82,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:83,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:84,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:85,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:86,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:87,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:88,1
    - Dst: DH_get0_pqg
      Src: /src/openssl/test/dhtest.c:92,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:93,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:94,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:95,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:99,1
    - Dst: DH_get0_p
      Src: /src/openssl/test/dhtest.c:99,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:100,1
    - Dst: DH_get0_q
      Src: /src/openssl/test/dhtest.c:100,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:101,1
    - Dst: DH_get0_g
      Src: /src/openssl/test/dhtest.c:101,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:105,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dhtest.c:105,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:106,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/dhtest.c:106,1
    - Dst: DH_get0_key
      Src: /src/openssl/test/dhtest.c:110,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:111,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:112,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:116,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/test/dhtest.c:116,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/dhtest.c:117,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/test/dhtest.c:117,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:121,1
    - Dst: DH_generate_key
      Src: /src/openssl/test/dhtest.c:121,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/dhtest.c:125,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:127,1
    - Dst: BN_copy
      Src: /src/openssl/test/dhtest.c:127,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:127,1
    - Dst: BN_add
      Src: /src/openssl/test/dhtest.c:127,1
    - Dst: BN_value_one
      Src: /src/openssl/test/dhtest.c:127,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:130,1
    - Dst: DH_check
      Src: /src/openssl/test/dhtest.c:130,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:132,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:137,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dhtest.c:137,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:138,1
    - Dst: BN_lshift
      Src: /src/openssl/test/dhtest.c:138,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:144,1
    - Dst: DH_check
      Src: /src/openssl/test/dhtest.c:144,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/dhtest.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:155,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/test/dhtest.c:155,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/test/dhtest.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:158,1
    - Dst: DH_new
      Src: /src/openssl/test/dhtest.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:159,1
    - Dst: DH_generate_parameters_ex
      Src: /src/openssl/test/dhtest.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:164,1
    - Dst: DH_check
      Src: /src/openssl/test/dhtest.c:164,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:166,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:167,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:168,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:169,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:170,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:171,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:172,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:173,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:174,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:175,1
    - Dst: DH_get0_pqg
      Src: /src/openssl/test/dhtest.c:178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:181,1
    - Dst: DH_new
      Src: /src/openssl/test/dhtest.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:184,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:184,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:185,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:186,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/dhtest.c:186,1
    - Dst: DH_generate_key
      Src: /src/openssl/test/dhtest.c:194,1
    - Dst: DH_get0_key
      Src: /src/openssl/test/dhtest.c:196,1
    - Dst: DH_generate_key
      Src: /src/openssl/test/dhtest.c:198,1
    - Dst: DH_get0_key
      Src: /src/openssl/test/dhtest.c:200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:203,1
    - Dst: DHparams_dup
      Src: /src/openssl/test/dhtest.c:203,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:204,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:205,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/dhtest.c:205,1
    - Dst: DH_size
      Src: /src/openssl/test/dhtest.c:209,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:210,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dhtest.c:210,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:211,1
    - Dst: DH_compute_key
      Src: /src/openssl/test/dhtest.c:211,1
    - Dst: DH_size
      Src: /src/openssl/test/dhtest.c:214,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:215,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dhtest.c:215,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:216,1
    - Dst: DH_compute_key
      Src: /src/openssl/test/dhtest.c:216,1
    - Dst: DH_size
      Src: /src/openssl/test/dhtest.c:219,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:220,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dhtest.c:220,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:221,1
    - Dst: DH_compute_key
      Src: /src/openssl/test/dhtest.c:221,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:224,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dhtest.c:225,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dhtest.c:226,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:234,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:235,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:236,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:239,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:242,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:243,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:244,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:245,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:246,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:247,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:248,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:249,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:250,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/test/dhtest.c:251,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:252,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 37
    functionDepth: 10
    functionLinenumber: 37
    functionLinenumberEnd: 255
    functionName: dh_test
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - DH_get0_g
    - BN_add
    - OPENSSL_free
    - DH_get0_p
    - DH_size
    - DH_get0_q
    - TEST_ptr
    - BN_copy
    - BN_dup
    - DH_generate_parameters_ex
    - DH_check
    - ERR_clear_error
    - BN_set_word
    - DH_get0_priv_key
    - BN_new
    - TEST_true
    - DH_set0_key
    - DH_get0_pub_key
    - BN_free
    - OPENSSL_malloc
    - BN_GENCB_new
    - DH_new
    - BN_GENCB_set
    - DH_get0_pqg
    - DH_free
    - BN_lshift
    - DH_set0_pqg
    - DH_generate_key
    - TEST_false
    - BN_value_one
    - DH_compute_key
    - DHparams_dup
    - BN_GENCB_free
    - TEST_mem_eq
    - TEST_ptr_eq
    - DH_get0_key
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int dh_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - n
    - arg
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: cb
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 222
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cb(int p, int n, BN_GENCB *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:269,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:270,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:271,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:272,1
    - Dst: DH_new
      Src: /src/openssl/test/dhtest.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:273,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/dhtest.c:273,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:277,1
    - Dst: DH_size
      Src: /src/openssl/test/dhtest.c:277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:278,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dhtest.c:278,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:279,1
    - Dst: BN_new
      Src: /src/openssl/test/dhtest.c:279,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:280,1
    - Dst: BN_new
      Src: /src/openssl/test/dhtest.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:283,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dhtest.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:284,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/dhtest.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:287,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dhtest.c:287,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dhtest.c:293,1
    - Dst: ossl_dh_compute_key
      Src: /src/openssl/test/dhtest.c:293,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:296,1
    - Dst: BN_copy
      Src: /src/openssl/test/dhtest.c:296,1
    - Dst: DH_get0_p
      Src: /src/openssl/test/dhtest.c:296,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dhtest.c:297,1
    - Dst: ossl_dh_compute_key
      Src: /src/openssl/test/dhtest.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:300,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/dhtest.c:300,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dhtest.c:301,1
    - Dst: ossl_dh_compute_key
      Src: /src/openssl/test/dhtest.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:304,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/dhtest.c:304,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:305,1
    - Dst: ossl_dh_compute_key
      Src: /src/openssl/test/dhtest.c:305,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:310,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:311,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:312,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:313,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:314,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:315,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:316,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 262
    functionDepth: 9
    functionLinenumber: 262
    functionLinenumberEnd: 318
    functionName: dh_computekey_range_test
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - OPENSSL_free
    - DH_get0_p
    - BN_sub_word
    - ossl_dh_compute_key
    - DH_size
    - BN_dup
    - TEST_ptr
    - BN_copy
    - BN_set_word
    - BN_new
    - TEST_true
    - DH_set0_key
    - BN_free
    - OPENSSL_malloc
    - DH_new
    - DH_free
    - DH_set0_pqg
    - TEST_int_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int dh_computekey_range_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pre
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 570
    functionName: make_rfc5114_td
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_rfc5114_td(pre)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/dhtest.c:589,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:592,1
    - Dst: rfc5114_td*::get_param
      Src: /src/openssl/test/dhtest.c:592,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:593,1
    - Dst: rfc5114_td*::get_param
      Src: /src/openssl/test/dhtest.c:593,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:596,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dhtest.c:596,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:597,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dhtest.c:597,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:598,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/dhtest.c:598,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:601,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dhtest.c:601,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:602,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dhtest.c:602,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:603,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/dhtest.c:603,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:607,1
    - Dst: DH_size
      Src: /src/openssl/test/dhtest.c:607,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:608,1
    - Dst: DH_size
      Src: /src/openssl/test/dhtest.c:608,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/dhtest.c:609,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/dhtest.c:610,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:613,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dhtest.c:613,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:614,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dhtest.c:614,1
    - Dst: DH_get0_key
      Src: /src/openssl/test/dhtest.c:620,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/dhtest.c:621,1
    - Dst: DH_compute_key
      Src: /src/openssl/test/dhtest.c:621,1
    - Dst: DH_get0_key
      Src: /src/openssl/test/dhtest.c:624,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/dhtest.c:625,1
    - Dst: DH_compute_key
      Src: /src/openssl/test/dhtest.c:625,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dhtest.c:628,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dhtest.c:629,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:632,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:634,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:636,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:638,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:644,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:645,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:646,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:647,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:648,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:649,1
    - Dst: TEST_error
      Src: /src/openssl/test/dhtest.c:650,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:654,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:655,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:656,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:657,1
    - Dst: TEST_error
      Src: /src/openssl/test/dhtest.c:658,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 577
    functionDepth: 10
    functionLinenumber: 577
    functionLinenumberEnd: 660
    functionName: rfc5114_test
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - rfc5114_td*::get_param
    - TEST_int_ne
    - DH_compute_key
    - BN_bin2bn
    - OPENSSL_free
    - OSSL_NELEM
    - TEST_size_t_eq
    - DH_get0_key
    - DH_free
    - DH_set0_key
    - TEST_true
    - DH_size
    - TEST_ptr
    - TEST_mem_eq
    - BN_free
    - TEST_error
    - OPENSSL_malloc
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int rfc5114_test(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:671,1
    - Dst: DH_new_by_nid
      Src: /src/openssl/test/dhtest.c:671,1
    - Dst: DH_check
      Src: /src/openssl/test/dhtest.c:674,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:676,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:677,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:678,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:679,1
    - Dst: TEST_false
      Src: /src/openssl/test/dhtest.c:680,1
    - Dst: DH_generate_key
      Src: /src/openssl/test/dhtest.c:683,1
    - Dst: DH_get0_key
      Src: /src/openssl/test/dhtest.c:685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:688,1
    - Dst: DH_new_by_nid
      Src: /src/openssl/test/dhtest.c:688,1
    - Dst: DH_generate_key
      Src: /src/openssl/test/dhtest.c:691,1
    - Dst: DH_get0_key
      Src: /src/openssl/test/dhtest.c:693,1
    - Dst: DH_size
      Src: /src/openssl/test/dhtest.c:695,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:696,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:696,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dhtest.c:696,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:697,1
    - Dst: DH_compute_key
      Src: /src/openssl/test/dhtest.c:697,1
    - Dst: DH_size
      Src: /src/openssl/test/dhtest.c:700,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:701,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:701,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/dhtest.c:701,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dhtest.c:702,1
    - Dst: DH_compute_key
      Src: /src/openssl/test/dhtest.c:702,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:705,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dhtest.c:706,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:712,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dhtest.c:713,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:714,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:715,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 662
    functionDepth: 10
    functionLinenumber: 662
    functionLinenumberEnd: 717
    functionName: rfc7919_test
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - DH_check
    - DH_new_by_nid
    - DH_generate_key
    - TEST_false
    - DH_compute_key
    - OPENSSL_free
    - DH_free
    - DH_size
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_malloc
    - DH_get0_key
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int rfc7919_test(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:737,1
    - Dst: DH_new_by_nid
      Src: /src/openssl/test/dhtest.c:737,1
    - Dst: DH_get0_pqg
      Src: /src/openssl/test/dhtest.c:739,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:740,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:740,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:740,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:743,1
    - Dst: DH_get_nid
      Src: /src/openssl/test/dhtest.c:743,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:747,1
    - Dst: DH_get_length
      Src: /src/openssl/test/dhtest.c:747,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:752,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 731
    functionDepth: 6
    functionLinenumber: 731
    functionLinenumberEnd: 754
    functionName: dh_test_prime_groups
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - DH_get_length
    - DH_get_nid
    - DH_new_by_nid
    - DH_get0_pqg
    - TEST_int_eq
    - DH_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int dh_test_prime_groups(int index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/dhtest.c:762,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:763,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:765,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/dhtest.c:765,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:768,1
    - Dst: EVP_PKEY_CTX_set_dhx_rfc5114
      Src: /src/openssl/test/dhtest.c:768,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:771,1
    - Dst: EVP_PKEY_CTX_set_dhx_rfc5114
      Src: /src/openssl/test/dhtest.c:771,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dhtest.c:776,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 756
    functionDepth: 6
    functionLinenumber: 756
    functionLinenumberEnd: 778
    functionName: dh_rfc5114_fix_nid_test
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_dhx_rfc5114
    - TEST_int_eq
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: int
    signature: int dh_rfc5114_fix_nid_test(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/dhtest.c:786,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:787,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:789,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/dhtest.c:789,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:792,1
    - Dst: EVP_PKEY_CTX_set_dh_nid
      Src: /src/openssl/test/dhtest.c:792,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:795,1
    - Dst: EVP_PKEY_CTX_set_dh_nid
      Src: /src/openssl/test/dhtest.c:795,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dhtest.c:800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 780
    functionDepth: 5
    functionLinenumber: 780
    functionLinenumberEnd: 802
    functionName: dh_set_dh_nid_test
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_set_dh_nid
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: int
    signature: int dh_set_dh_nid_test(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DH_new_by_nid
      Src: /src/openssl/test/dhtest.c:809,1
    - Dst: DH_new
      Src: /src/openssl/test/dhtest.c:810,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:812,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:813,1
    - Dst: DH_get0_pqg
      Src: /src/openssl/test/dhtest.c:817,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:819,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:820,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:821,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:821,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:822,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:822,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:825,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/dhtest.c:825,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:829,1
    - Dst: DH_get0_q
      Src: /src/openssl/test/dhtest.c:829,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:833,1
    - Dst: DH_get_nid
      Src: /src/openssl/test/dhtest.c:833,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:837,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:837,1
    - Dst: BN_value_one
      Src: /src/openssl/test/dhtest.c:837,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:839,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/dhtest.c:839,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:842,1
    - Dst: DH_get_nid
      Src: /src/openssl/test/dhtest.c:842,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:846,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:846,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:847,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:847,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:848,1
    - Dst: BN_dup
      Src: /src/openssl/test/dhtest.c:848,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:849,1
    - Dst: BN_add_word
      Src: /src/openssl/test/dhtest.c:849,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:850,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/dhtest.c:850,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:853,1
    - Dst: DH_get_nid
      Src: /src/openssl/test/dhtest.c:853,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:858,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:859,1
    - Dst: BN_free
      Src: /src/openssl/test/dhtest.c:860,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:861,1
    - Dst: DH_free
      Src: /src/openssl/test/dhtest.c:862,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 804
    functionDepth: 6
    functionLinenumber: 804
    functionLinenumberEnd: 864
    functionName: dh_get_nid
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - DH_get0_q
    - DH_set0_pqg
    - DH_new
    - DH_new_by_nid
    - DH_get_nid
    - BN_dup
    - DH_get0_pqg
    - TEST_int_eq
    - BN_value_one
    - DH_free
    - TEST_true
    - BN_add_word
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int dh_get_nid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dhtest.c:926,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/test/dhtest.c:926,1
    - Dst: TEST_true
      Src: /src/openssl/test/dhtest.c:928,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/dhtest.c:928,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dhtest.c:930,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dhtest.c:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 920
    functionDepth: 6
    functionLinenumber: 920
    functionLinenumberEnd: 934
    functionName: dh_load_pkcs3_namedgroup_privlen_test
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - d2i_PUBKEY_ex
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int dh_load_pkcs3_namedgroup_privlen_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/dhtest.c:941,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dhtest.c:943,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dhtest.c:944,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dhtest.c:945,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dhtest.c:946,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dhtest.c:947,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/dhtest.c:947,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dhtest.c:948,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dhtest.c:949,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dhtest.c:950,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dhtest.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 954
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dhtest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    - ADD_TEST
    - TEST_note
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_ctx_new_from_name.c:10,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_ctx_new_from_name.c:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 6
    functionDepth: 5
    functionLinenumber: 6
    functionLinenumberEnd: 14
    functionName: main
    functionSourceFile: /src/openssl/test/evp_pkey_ctx_new_from_name.c
    functionUses: 4
    functionsReached:
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_name
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: fake_now
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_fifd_test.c:22,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_fifd_test.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: step_time
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached:
    - ossl_time_add
    - ossl_ms2time
    linkageType: ''
    returnType: void
    signature: void step_time(uint64_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_sstream_by_id_p
      Src: /src/openssl/test/quic_fifd_test.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream_id
    - pn_space
    - arg
    argTypes:
    - uint64_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: get_sstream_by_id
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached:
    - get_sstream_by_id_p
    linkageType: ''
    returnType: QUIC_SSTREAM
    signature: "QUIC_SSTREAM *get_sstream_by_id(uint64_t stream_id, uint32_t pn_space,\n
      \                                      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regen_frame_p
      Src: /src/openssl/test/quic_fifd_test.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frame_type
    - stream_id
    - pkt
    - arg
    argTypes:
    - uint64_t
    - uint64_t
    - QUIC_TXPIM_PKT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: regen_frame
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached:
    - regen_frame_p
    linkageType: ''
    returnType: void
    signature: "void regen_frame(uint64_t frame_type, uint64_t stream_id,\n                        QUIC_TXPIM_PKT
      *pkt, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - frame_type
    - stream_id
    - pkt
    - arg
    argTypes:
    - uint64_t
    - uint64_t
    - QUIC_TXPIM_PKT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: confirm_frame
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void confirm_frame(uint64_t frame_type, uint64_t stream_id,\n                          QUIC_TXPIM_PKT
      *pkt, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stream_id
    - arg
    argTypes:
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: sstream_updated
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sstream_updated(uint64_t stream_id, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - stream_id
    - pn_space
    - arg
    argTypes:
    - uint64_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: sstream_expect
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_SSTREAM
    signature: "QUIC_SSTREAM *sstream_expect(uint64_t stream_id, uint32_t pn_space,\n
      \                                   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - frame_type
    - stream_id
    - pkt
    - arg
    argTypes:
    - uint64_t
    - uint64_t
    - QUIC_TXPIM_PKT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: regen_expect
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void regen_expect(uint64_t frame_type, uint64_t stream_id,\n                         QUIC_TXPIM_PKT
      *pkt, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - buf_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: cfq_free_cb_
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cfq_free_cb_(unsigned char *buf, size_t buf_len, void *arg)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ossl_seconds2time
      Src: /src/openssl/test/quic_fifd_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:127,1
    - Dst: ossl_quic_txpim_pkt_alloc
      Src: /src/openssl/test/quic_fifd_test.c:127,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:131,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:132,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_fifd_test.c:132,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:135,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/test/quic_fifd_test.c:139,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:141,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_fifd_test.c:141,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fifd_test.c:143,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:144,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:145,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:146,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_fifd_test.c:146,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:147,1
    - Dst: ossl_quic_sstream_mark_transmitted
      Src: /src/openssl/test/quic_fifd_test.c:147,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:152,1
    - Dst: ossl_quic_sstream_mark_transmitted_fin
      Src: /src/openssl/test/quic_fifd_test.c:152,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:158,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/test/quic_fifd_test.c:158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:163,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/test/quic_fifd_test.c:163,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_fifd_test.c:169,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_fifd_test.c:169,1
    - Dst: ossl_quic_txpim_pkt_add_cfq_item
      Src: /src/openssl/test/quic_fifd_test.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:194,1
    - Dst: ossl_quic_fifd_pkt_commit
      Src: /src/openssl/test/quic_fifd_test.c:194,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_fifd_test.c:198,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_fifd_test.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:203,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_fifd_test.c:203,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:209,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_fifd_test.c:209,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fifd_test.c:213,1
    - Dst: ossl_quic_sstream_mark_lost_fin
      Src: /src/openssl/test/quic_fifd_test.c:213,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:217,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:228,1
    - Dst: ossl_quic_txpim_pkt_alloc
      Src: /src/openssl/test/quic_fifd_test.c:228,1
    - Dst: step_time
      Src: /src/openssl/test/quic_fifd_test.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:245,1
    - Dst: ossl_quic_fifd_pkt_commit
      Src: /src/openssl/test/quic_fifd_test.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:246,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_fifd_test.c:246,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:256,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_fifd_test.c:256,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:258,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:259,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:264,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:265,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:266,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:267,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:268,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:269,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:270,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:271,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:272,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:273,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:274,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:275,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:276,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:277,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:278,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_fifd_test.c:282,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_fifd_test.c:282,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:287,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_fifd_test.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:289,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:296,1
    - Dst: ossl_ackm_on_pkt_space_discarded
      Src: /src/openssl/test/quic_fifd_test.c:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:300,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_fifd_test.c:310,1
    - Dst: ossl_quic_txpim_get_in_use
      Src: /src/openssl/test/quic_fifd_test.c:310,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 130
    argCount: 2
    argNames:
    - info
    - kind
    argTypes:
    - INFO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 316
    functionName: test_generic
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txpim_pkt_append_chunk
    - step_time
    - ossl_ackm_on_pkt_space_discarded
    - ossl_quic_cfq_add_frame
    - ossl_quic_txpim_pkt_add_cfq_item
    - ossl_seconds2time
    - TEST_ptr
    - ossl_quic_cfq_get_priority_head
    - ossl_quic_fifd_pkt_commit
    - ossl_quic_sstream_append
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_sstream_mark_transmitted_fin
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_sstream_get_buffer_used
    - TEST_size_t_eq
    - ossl_quic_sstream_mark_transmitted
    - ossl_quic_sstream_fin
    - ossl_quic_txpim_get_in_use
    - TEST_ptr_null
    - TEST_false
    - TEST_int_eq
    - ossl_quic_sstream_mark_lost_fin
    - ossl_quic_txpim_pkt_alloc
    - OSSL_NELEM
    - ossl_ackm_on_rx_ack_frame
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_generic(INFO *info, int kind)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:327,1
    - Dst: ossl_statm_init
      Src: /src/openssl/test/quic_fifd_test.c:327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:328,1
    - Dst: new
      Src: /src/openssl/test/quic_fifd_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:329,1
    - Dst: ossl_ackm_new
      Src: /src/openssl/test/quic_fifd_test.c:329,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:334,1
    - Dst: ossl_ackm_on_handshake_confirmed
      Src: /src/openssl/test/quic_fifd_test.c:334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:335,1
    - Dst: ossl_quic_cfq_new
      Src: /src/openssl/test/quic_fifd_test.c:335,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:336,1
    - Dst: ossl_quic_txpim_new
      Src: /src/openssl/test/quic_fifd_test.c:336,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:337,1
    - Dst: ossl_quic_fifd_init
      Src: /src/openssl/test/quic_fifd_test.c:337,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:346,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_fifd_test.c:347,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/test/quic_fifd_test.c:347,1
    - Dst: ossl_statm_update_rtt
      Src: /src/openssl/test/quic_fifd_test.c:350,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_fifd_test.c:350,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_fifd_test.c:350,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fifd_test.c:352,1
    - Dst: test_generic
      Src: /src/openssl/test/quic_fifd_test.c:352,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fifd_test.c:353,1
    - Dst: ossl_quic_fifd_cleanup
      Src: /src/openssl/test/quic_fifd_test.c:358,1
    - Dst: ossl_quic_cfq_free
      Src: /src/openssl/test/quic_fifd_test.c:359,1
    - Dst: ossl_quic_txpim_free
      Src: /src/openssl/test/quic_fifd_test.c:360,1
    - Dst: ossl_ackm_free
      Src: /src/openssl/test/quic_fifd_test.c:361,1
    - Dst: ossl_statm_destroy
      Src: /src/openssl/test/quic_fifd_test.c:362,1
    - Dst: free
      Src: /src/openssl/test/quic_fifd_test.c:364,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fifd_test.c:365,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/test/quic_fifd_test.c:366,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 369
    functionName: test_fifd
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_new
    - ossl_ackm_new
    - ossl_quic_fifd_init
    - ossl_time_zero
    - ossl_ms2time
    - ossl_ackm_on_handshake_confirmed
    - test_generic
    - ossl_quic_cfq_new
    - new
    - TEST_ptr
    - ossl_ackm_free
    - ossl_quic_cfq_free
    - ossl_statm_update_rtt
    - TEST_true
    - free
    - ossl_quic_fifd_cleanup
    - ossl_quic_txpim_new
    - TEST_false
    - ossl_statm_init
    - OSSL_NELEM
    - ossl_quic_txpim_free
    - ossl_quic_sstream_free
    - ossl_statm_destroy
    linkageType: ''
    returnType: int
    signature: int test_fifd(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_fifd_test.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_fifd_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/asynciotest.c:48,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/asynciotest.c:50,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/asynciotest.c:51,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/asynciotest.c:52,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/asynciotest.c:53,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/asynciotest.c:54,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/asynciotest.c:55,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/asynciotest.c:56,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: bio_f_async_filter
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_write
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_f_async_filter(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/asynciotest.c:66,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/asynciotest.c:70,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/asynciotest.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: async_new
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - OPENSSL_zalloc
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int async_new(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/asynciotest.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asynciotest.c:82,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/asynciotest.c:83,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/asynciotest.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: async_free
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_set_init
    - BIO_get_data
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int async_free(BIO *bio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/asynciotest.c:93,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/asynciotest.c:100,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/test/asynciotest.c:102,1
    - Dst: BIO_read
      Src: /src/openssl/test/asynciotest.c:105,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/asynciotest.c:106,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/asynciotest.c:107,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/asynciotest.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 115
    functionName: async_read
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - BIO_should_read
    - BIO_next
    - BIO_read
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int async_read(BIO *bio, char *out, int outl)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/asynciotest.c:129,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/asynciotest.c:136,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/test/asynciotest.c:138,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/asynciotest.c:145,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/asynciotest.c:148,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/asynciotest.c:153,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/asynciotest.c:154,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/asynciotest.c:155,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/asynciotest.c:156,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/asynciotest.c:164,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/asynciotest.c:168,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/asynciotest.c:170,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/asynciotest.c:172,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/asynciotest.c:174,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/asynciotest.c:180,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/asynciotest.c:181,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/asynciotest.c:189,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/asynciotest.c:193,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/asynciotest.c:194,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/asynciotest.c:199,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/asynciotest.c:200,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/asynciotest.c:205,1
    - Dst: BIO_write
      Src: /src/openssl/test/asynciotest.c:222,1
    - Dst: BIO_write
      Src: /src/openssl/test/asynciotest.c:242,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/asynciotest.c:245,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/asynciotest.c:246,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/asynciotest.c:251,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 57
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 255
    functionName: async_write
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - PACKET_buf_init
    - BIO_clear_retry_flags
    - PACKET_get_length_prefixed_1
    - BIO_should_write
    - PACKET_get_net_2
    - PACKET_get_1
    - PACKET_remaining
    - BIO_set_retry_write
    - BIO_next
    - PACKET_forward
    - PACKET_get_length_prefixed_2
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int async_write(BIO *bio, const char *in, int inl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/asynciotest.c:260,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/asynciotest.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: async_ctrl
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long async_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: async_gets
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int async_gets(BIO *bio, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: async_write
      Src: /src/openssl/test/asynciotest.c:284,1
    - Dst: strlen
      Src: /src/openssl/test/asynciotest.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: async_puts
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - strlen
    - async_write
    linkageType: ''
    returnType: int
    signature: int async_puts(BIO *bio, const char *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/asynciotest.c:299,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/asynciotest.c:299,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/asynciotest.c:299,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/asynciotest.c:300,1
    - Dst: BIO_new
      Src: /src/openssl/test/asynciotest.c:315,1
    - Dst: bio_f_async_filter
      Src: /src/openssl/test/asynciotest.c:315,1
    - Dst: BIO_new
      Src: /src/openssl/test/asynciotest.c:316,1
    - Dst: bio_f_async_filter
      Src: /src/openssl/test/asynciotest.c:316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asynciotest.c:317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asynciotest.c:318,1
    - Dst: BIO_free
      Src: /src/openssl/test/asynciotest.c:319,1
    - Dst: BIO_free
      Src: /src/openssl/test/asynciotest.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/asynciotest.c:325,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/asynciotest.c:325,1
    - Dst: TEST_true
      Src: /src/openssl/test/asynciotest.c:327,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/asynciotest.c:327,1
    - Dst: SSL_write
      Src: /src/openssl/test/asynciotest.c:344,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/asynciotest.c:349,1
    - Dst: TEST_false
      Src: /src/openssl/test/asynciotest.c:351,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/asynciotest.c:356,1
    - Dst: SSL_read
      Src: /src/openssl/test/asynciotest.c:366,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/asynciotest.c:370,1
    - Dst: TEST_false
      Src: /src/openssl/test/asynciotest.c:372,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/asynciotest.c:377,1
    - Dst: SSL_free
      Src: /src/openssl/test/asynciotest.c:382,1
    - Dst: SSL_free
      Src: /src/openssl/test/asynciotest.c:383,1
    - Dst: SSL_free
      Src: /src/openssl/test/asynciotest.c:389,1
    - Dst: SSL_free
      Src: /src/openssl/test/asynciotest.c:390,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/asynciotest.c:391,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/asynciotest.c:392,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 395
    functionName: test_asyncio
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - create_ssl_connection
    - SSL_get_error
    - TEST_mem_eq
    - SSL_CTX_free
    - SSL_free
    - BIO_free
    - TEST_false
    - SSL_read
    - TEST_ptr
    - SSL_write
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - TEST_size_t_eq
    - create_ssl_ctx_pair
    - TLS_client_method
    - bio_f_async_filter
    linkageType: ''
    returnType: int
    signature: int test_asyncio(int test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/asynciotest.c:401,1
    - Dst: TEST_error
      Src: /src/openssl/test/asynciotest.c:402,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asynciotest.c:406,1
    - Dst: test_get_argument
      Src: /src/openssl/test/asynciotest.c:406,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asynciotest.c:407,1
    - Dst: test_get_argument
      Src: /src/openssl/test/asynciotest.c:407,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/asynciotest.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/asynciotest.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/asynciotest.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/curve448_internal_test.c:590,1
    - Dst: EVP_shake256
      Src: /src/openssl/test/curve448_internal_test.c:590,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/curve448_internal_test.c:591,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/curve448_internal_test.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - hashctx
    - msg
    - msglen
    argTypes:
    - EVP_MD_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 585
    functionDepth: 6
    functionLinenumber: 585
    functionLinenumberEnd: 596
    functionName: dohash
    functionSourceFile: /src/openssl/test/curve448_internal_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - EVP_DigestInit_ex
    - EVP_DigestUpdate
    - EVP_shake256
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *dohash(EVP_MD_CTX *hashctx, const uint8_t *msg,\n                             size_t
      msglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/curve448_internal_test.c:601,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/curve448_internal_test.c:603,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:604,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:604,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:606,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:606,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:607,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:607,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:609,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:609,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:610,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:610,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:613,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:614,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:614,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:616,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:616,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:617,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:617,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:619,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:619,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:620,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:620,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:622,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:622,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:623,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:623,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:625,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:625,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:626,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:626,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:628,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:628,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:629,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:629,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:631,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:631,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:632,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:632,1
    - Dst: dohash
      Src: /src/openssl/test/curve448_internal_test.c:633,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:636,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:636,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:637,1
    - Dst: ossl_ed448_sign
      Src: /src/openssl/test/curve448_internal_test.c:637,1
    - Dst: dohash
      Src: /src/openssl/test/curve448_internal_test.c:638,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:642,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:642,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/curve448_internal_test.c:643,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/curve448_internal_test.c:647,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 598
    functionDepth: 13
    functionLinenumber: 598
    functionLinenumberEnd: 649
    functionName: test_ed448
    functionSourceFile: /src/openssl/test/curve448_internal_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dohash
    - TEST_int_eq
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - TEST_true
    - TEST_ptr
    - ossl_ed448_sign
    linkageType: ''
    returnType: int
    signature: int test_ed448(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:659,1
    - Dst: ossl_x448
      Src: /src/openssl/test/curve448_internal_test.c:659,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:660,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:660,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:661,1
    - Dst: ossl_x448
      Src: /src/openssl/test/curve448_internal_test.c:661,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:662,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:662,1
    - Dst: memcpy
      Src: /src/openssl/test/curve448_internal_test.c:665,1
    - Dst: memcpy
      Src: /src/openssl/test/curve448_internal_test.c:666,1
    - Dst: printf
      Src: /src/openssl/test/curve448_internal_test.c:669,1
    - Dst: fflush
      Src: /src/openssl/test/curve448_internal_test.c:670,1
    - Dst: TEST_true
      Src: /src/openssl/test/curve448_internal_test.c:673,1
    - Dst: ossl_x448
      Src: /src/openssl/test/curve448_internal_test.c:673,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/curve448_internal_test.c:678,1
    - Dst: memcmp
      Src: /src/openssl/test/curve448_internal_test.c:678,1
    - Dst: TEST_info
      Src: /src/openssl/test/curve448_internal_test.c:679,1
    - Dst: memcpy
      Src: /src/openssl/test/curve448_internal_test.c:683,1
    - Dst: memcpy
      Src: /src/openssl/test/curve448_internal_test.c:684,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 651
    functionDepth: 7
    functionLinenumber: 651
    functionLinenumberEnd: 688
    functionName: test_x448
    functionSourceFile: /src/openssl/test/curve448_internal_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memcpy
    - TEST_int_eq
    - TEST_info
    - TEST_true
    - fflush
    - ossl_x448
    - printf
    linkageType: ''
    returnType: int
    signature: int test_x448(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/curve448_internal_test.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/curve448_internal_test.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/curve448_internal_test.c:714,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/curve448_internal_test.c:734,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/curve448_internal_test.c:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 737
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/curve448_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_vfy_test.c:45,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/test/cmp_vfy_test.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_vfy_test.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_VFY_TEST_FIXTURE *fixture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:57,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_vfy_test.c:57,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/cmp_vfy_test.c:60,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:63,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_vfy_test.c:63,1
    - Dst: OSSL_CMP_CTX_set0_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:64,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_vfy_test.c:65,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:66,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/cmp_vfy_test.c:67,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/cmp_vfy_test.c:70,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_vfy_test.c:70,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/test/cmp_vfy_test.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 12
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_set_verify_cb
    - X509_STORE_new
    - OPENSSL_zalloc
    - OSSL_CMP_CTX_set_log_cb
    - X509_STORE_free
    - OSSL_CMP_CTX_set0_trusted
    - tear_down
    - X509_STORE_get0_param
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - X509_VERIFY_PARAM_set_time
    linkageType: ''
    returnType: CMP_VFY_TEST_FIXTURE
    signature: CMP_VFY_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_BIT_STRING_get_bit
      Src: /src/openssl/test/cmp_vfy_test.c:95,1
    - Dst: ASN1_BIT_STRING_set_bit
      Src: /src/openssl/test/cmp_vfy_test.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitstr
    argTypes:
    - ASN1_BIT_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: flip_bit
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_set_bit
    - ASN1_BIT_STRING_get_bit
    linkageType: ''
    returnType: int
    signature: int flip_bit(ASN1_BIT_STRING *bitstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:102,1
    - Dst: sk_OSSL_CRMF_MSG_value
      Src: /src/openssl/test/cmp_vfy_test.c:106,1
    - Dst: flip_bit
      Src: /src/openssl/test/cmp_vfy_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:111,1
    - Dst: ossl_cmp_verify_popo
      Src: /src/openssl/test/cmp_vfy_test.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: execute_verify_popo_test
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - flip_bit
    - ossl_cmp_verify_popo
    - TEST_int_eq
    - sk_OSSL_CRMF_MSG_value
    - load_pkimsg
    linkageType: ''
    returnType: int
    signature: int execute_verify_popo_test(CMP_VFY_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:118,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: test_verify_popo
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_verify_popo(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:127,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: test_verify_popo_bad
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_verify_popo_bad(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:137,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:138,1
    - Dst: OSSL_CMP_CTX_get0_validatedSrvCert
      Src: /src/openssl/test/cmp_vfy_test.c:140,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_vfy_test.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 17
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: execute_validate_msg_test
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_check_update
    - OSSL_CMP_CTX_get0_validatedSrvCert
    - TEST_ptr_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int execute_validate_msg_test(CMP_VFY_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get0_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:147,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:148,1
    - Dst: OSSL_CMP_validate_cert_path
      Src: /src/openssl/test/cmp_vfy_test.c:149,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/test/cmp_vfy_test.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 8
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: execute_validate_cert_path_test
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_validate_cert_path
    - TEST_int_eq
    - OSSL_CMP_CTX_print_errors
    - OSSL_CMP_CTX_get0_trusted
    linkageType: ''
    returnType: int
    signature: int execute_validate_cert_path_test(CMP_VFY_TEST_FIXTURE *fixture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_vfy_test.c:162,1
    - Dst: OSSL_CMP_CTX_set0_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:162,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_vfy_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:165,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:165,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:166,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - miss
    - wrong
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: test_validate_msg_mac_alg_protection
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set0_trusted
    - OSSL_CMP_CTX_set1_secretValue
    - tear_down
    - TEST_true
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_mac_alg_protection(int miss, int wrong)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_mac_alg_protection
      Src: /src/openssl/test/cmp_vfy_test.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: test_validate_msg_mac_alg_protection_ok
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_mac_alg_protection
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_mac_alg_protection_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_mac_alg_protection
      Src: /src/openssl/test/cmp_vfy_test.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: test_validate_msg_mac_alg_protection_missing
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_mac_alg_protection
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_mac_alg_protection_missing(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_mac_alg_protection
      Src: /src/openssl/test/cmp_vfy_test.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: test_validate_msg_mac_alg_protection_wrong
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_mac_alg_protection
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_mac_alg_protection_wrong(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:196,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_vfy_test.c:200,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_vfy_test.c:200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:202,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:202,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:203,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: test_validate_msg_mac_alg_protection_bad
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_secretValue
    - tear_down
    - TEST_true
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_mac_alg_protection_bad(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/cmp_vfy_test.c:213,1
    - Dst: OSSL_CMP_CTX_get0_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: add_trusted
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_add_cert
    - OSSL_CMP_CTX_get0_trusted
    linkageType: ''
    returnType: int
    signature: int add_trusted(OSSL_CMP_CTX *ctx, X509 *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_add_cert
      Src: /src/openssl/test/cmp_vfy_test.c:218,1
    - Dst: OSSL_CMP_CTX_get0_untrusted
      Src: /src/openssl/test/cmp_vfy_test.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: add_untrusted
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_untrusted
    - X509_add_cert
    linkageType: ''
    returnType: int
    signature: int add_untrusted(OSSL_CMP_CTX *ctx, X509 *cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:226,1
    - Dst: OSSL_CMP_CTX_get0_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:229,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:232,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:232,1
    - Dst: add_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:233,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:234,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_vfy_test.c:237,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/cmp_vfy_test.c:239,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/cmp_vfy_test.c:241,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - expired
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: test_validate_msg_signature_partial_chain
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_get0_trusted
    - X509_VERIFY_PARAM_set_time
    - tear_down
    - X509_STORE_get0_param
    - X509_VERIFY_PARAM_set_flags
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - add_trusted
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_partial_chain(int expired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_partial_chain
      Src: /src/openssl/test/cmp_vfy_test.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 5
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: test_validate_msg_signature_trusted_ok
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_signature_partial_chain
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_trusted_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_partial_chain
      Src: /src/openssl/test/cmp_vfy_test.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: test_validate_msg_signature_trusted_expired
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_signature_partial_chain
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_trusted_expired(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:261,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:264,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_vfy_test.c:265,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_vfy_test.c:265,1
    - Dst: OSSL_CMP_CTX_set1_srvCert
      Src: /src/openssl/test/cmp_vfy_test.c:267,1
    - Dst: flip_bit
      Src: /src/openssl/test/cmp_vfy_test.c:269,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:270,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - bad_sig
    - miss
    - wrong
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: test_validate_msg_signature_srvcert
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_srvCert
    - flip_bit
    - OSSL_CMP_CTX_set1_secretValue
    - tear_down
    - TEST_true
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_srvcert(int bad_sig, int miss, int
      wrong)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_srvcert
      Src: /src/openssl/test/cmp_vfy_test.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: test_validate_msg_signature_srvcert_missing
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_signature_srvcert
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_srvcert_missing(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_srvcert
      Src: /src/openssl/test/cmp_vfy_test.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: test_validate_msg_signature_srvcert_wrong
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_signature_srvcert
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_srvcert_wrong(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_srvcert
      Src: /src/openssl/test/cmp_vfy_test.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: test_validate_msg_signature_bad
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_signature_srvcert
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_bad(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_msg_signature_srvcert
      Src: /src/openssl/test/cmp_vfy_test.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: test_validate_msg_signature_sender_cert_srvcert
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - test_validate_msg_signature_srvcert
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_sender_cert_srvcert(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:303,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:306,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:306,1
    - Dst: add_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:307,1
    - Dst: add_untrusted
      Src: /src/openssl/test/cmp_vfy_test.c:308,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:309,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: test_validate_msg_signature_sender_cert_untrusted
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - add_untrusted
    - tear_down
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - add_trusted
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_sender_cert_untrusted(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:321,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:321,1
    - Dst: add_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:322,1
    - Dst: add_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:323,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:324,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 329
    functionName: test_validate_msg_signature_sender_cert_trusted
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - add_trusted
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_sender_cert_trusted(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:335,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:335,1
    - Dst: add_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:336,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:337,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/cmp_vfy_test.c:340,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: test_validate_msg_signature_sender_cert_extracert
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_value
    - tear_down
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    - add_trusted
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_sender_cert_extracert(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:349,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:351,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:352,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:353,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: test_validate_msg_signature_sender_cert_absent
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_sender_cert_absent(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:366,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_vfy_test.c:367,1
    - Dst: OSSL_CMP_CTX_set1_expected_sender
      Src: /src/openssl/test/cmp_vfy_test.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_vfy_test.c:368,1
    - Dst: OSSL_CMP_CTX_set1_srvCert
      Src: /src/openssl/test/cmp_vfy_test.c:368,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:369,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - name
    - expected
    argTypes:
    - X509_NAME*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 374
    functionName: test_validate_with_sender
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_srvCert
    - tear_down
    - TEST_true
    - TEST_ptr
    - load_pkimsg
    - OSSL_CMP_CTX_set1_expected_sender
    linkageType: ''
    returnType: int
    signature: int test_validate_with_sender(const X509_NAME *name, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_with_sender
      Src: /src/openssl/test/cmp_vfy_test.c:378,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/cmp_vfy_test.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: test_validate_msg_signature_expected_sender
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - test_validate_with_sender
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_expected_sender(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_validate_with_sender
      Src: /src/openssl/test/cmp_vfy_test.c:383,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/cmp_vfy_test.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: test_validate_msg_signature_unexpected_sender
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - X509_get_subject_name
    - test_validate_with_sender
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_signature_unexpected_sender(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:389,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:391,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:391,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:392,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: test_validate_msg_unprotected_request
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_validate_msg_unprotected_request(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get0_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:405,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_vfy_test.c:406,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/cmp_vfy_test.c:408,1
    - Dst: add_trusted
      Src: /src/openssl/test/cmp_vfy_test.c:410,1
    - Dst: add_untrusted
      Src: /src/openssl/test/cmp_vfy_test.c:411,1
    - Dst: add_untrusted
      Src: /src/openssl/test/cmp_vfy_test.c:412,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - fixture
    - wrong
    - expired
    argTypes:
    - CMP_VFY_TEST_FIXTURE**
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: setup_path
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get0_trusted
    - add_untrusted
    - X509_VERIFY_PARAM_set_time
    - tear_down
    - X509_STORE_get0_param
    - add_trusted
    linkageType: ''
    returnType: void
    signature: void setup_path(CMP_VFY_TEST_FIXTURE **fixture, X509 *wrong, int expired)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:420,1
    - Dst: setup_path
      Src: /src/openssl/test/cmp_vfy_test.c:421,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 5
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: test_validate_cert_path_ok
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_path
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_validate_cert_path_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:428,1
    - Dst: setup_path
      Src: /src/openssl/test/cmp_vfy_test.c:429,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: test_validate_cert_path_wrong_anchor
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_path
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_validate_cert_path_wrong_anchor(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:436,1
    - Dst: setup_path
      Src: /src/openssl/test/cmp_vfy_test.c:437,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 5
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: test_validate_cert_path_expired
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - setup_path
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_validate_cert_path_expired(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/test/cmp_vfy_test.c:444,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/openssl/test/cmp_vfy_test.c:445,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:447,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:448,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:457,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_vfy_test.c:458,1
    - Dst: ossl_cmp_hdr_get0_senderNonce
      Src: /src/openssl/test/cmp_vfy_test.c:458,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:460,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_vfy_test.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_VFY_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 442
    functionDepth: 17
    functionLinenumber: 442
    functionLinenumberEnd: 463
    functionName: execute_msg_check_test
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_check_update
    - ossl_cmp_hdr_get0_senderNonce
    - OSSL_CMP_MSG_get0_header
    - TEST_int_eq
    - OSSL_CMP_HDR_get0_transactionID
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int execute_msg_check_test(CMP_VFY_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - msg
    - invalid_protection
    - allow
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: allow_unprotected
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int allow_unprotected(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *msg,\n                             int invalid_protection, int allow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_vfy_test.c:482,1
    - Dst: ossl_cmp_asn1_octet_string_set1_bytes
      Src: /src/openssl/test/cmp_vfy_test.c:485,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:487,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_vfy_test.c:490,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_vfy_test.c:493,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/test/cmp_vfy_test.c:495,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_vfy_test.c:496,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_vfy_test.c:499,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - fixture
    - expected
    - cb
    - arg
    - trid_data
    - nonce_data
    argTypes:
    - CMP_VFY_TEST_FIXTURE**
    - int
    - ossl_cmp_allow_unprotected_cb_t
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 501
    functionName: setup_check_update
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_MSG_dup
    - ASN1_OCTET_STRING_set
    - ossl_cmp_asn1_octet_string_set1_bytes
    - tear_down
    - OSSL_CMP_CTX_set1_transactionID
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: void
    signature: "void setup_check_update(CMP_VFY_TEST_FIXTURE **fixture, int expected,\n
      \                              ossl_cmp_allow_unprotected_cb_t cb, int arg,\n
      \                              const unsigned char *trid_data,\n                               const
      unsigned char *nonce_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:506,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:507,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: test_msg_check_no_protection_no_cb
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - setup_check_update
    linkageType: ''
    returnType: int
    signature: int test_msg_check_no_protection_no_cb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:514,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:515,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: test_msg_check_no_protection_restrictive_cb
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - setup_check_update
    linkageType: ''
    returnType: int
    signature: int test_msg_check_no_protection_restrictive_cb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:523,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:524,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: test_msg_check_no_protection_permissive_cb
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - setup_check_update
    linkageType: ''
    returnType: int
    signature: int test_msg_check_no_protection_permissive_cb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:537,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:538,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 3
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: test_msg_check_transaction_id
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - setup_check_update
    linkageType: ''
    returnType: int
    signature: int test_msg_check_transaction_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:546,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:547,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: test_msg_check_transaction_id_bad
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - setup_check_update
    linkageType: ''
    returnType: int
    signature: int test_msg_check_transaction_id_bad(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:561,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:562,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 565
    functionName: test_msg_check_recipient_nonce
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - setup_check_update
    linkageType: ''
    returnType: int
    signature: int test_msg_check_recipient_nonce(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_vfy_test.c:570,1
    - Dst: setup_check_update
      Src: /src/openssl/test/cmp_vfy_test.c:571,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 574
    functionName: test_msg_check_recipient_nonce_bad
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - setup_check_update
    linkageType: ''
    returnType: int
    signature: int test_msg_check_recipient_nonce_bad(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:579,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:580,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:581,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:582,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:583,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:584,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:585,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_vfy_test.c:586,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_vfy_test.c:587,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_vfy_test.c:588,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_vfy_test.c:589,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_vfy_test.c:590,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_vfy_test.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 577
    functionDepth: 4
    functionLinenumber: 577
    functionLinenumberEnd: 593
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - X509_free
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_unload
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mktime
      Src: /src/openssl/test/cmp_vfy_test.c:613,1
    - Dst: mktime
      Src: /src/openssl/test/cmp_vfy_test.c:615,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmp_vfy_test.c:617,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_vfy_test.c:618,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_vfy_test.c:622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:623,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:623,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:624,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:624,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:625,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:625,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:626,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:626,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:627,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:627,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:628,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:628,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:629,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:629,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:630,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:630,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:631,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:631,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:632,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:632,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:633,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:633,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:634,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:634,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:635,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:635,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:636,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_vfy_test.c:636,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_vfy_test.c:637,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_vfy_test.c:641,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:645,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:645,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:646,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:646,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:647,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:647,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:648,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:648,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:651,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:651,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:652,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:652,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:656,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:656,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:657,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_vfy_test.c:657,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_vfy_test.c:659,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_vfy_test.c:659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:661,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:661,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_vfy_test.c:662,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_vfy_test.c:662,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:667,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:669,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:671,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:673,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:674,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:676,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:678,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:680,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:681,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:682,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:683,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:685,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:687,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:688,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:690,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:692,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:694,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:695,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:696,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:700,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:701,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:702,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:705,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:706,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:708,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:709,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:711,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:713,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_vfy_test.c:715,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/cmp_vfy_test.c:721,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 605
    functionDepth: 8
    functionLinenumber: 605
    functionLinenumberEnd: 724
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_vfy_test.c
    functionUses: 0
    functionsReached:
    - load_cert_pem
    - test_arg_libctx
    - cleanup_tests
    - ADD_TEST
    - TEST_int_eq
    - RAND_bytes
    - test_skip_common_options
    - test_get_argument
    - mktime
    - TEST_ptr
    - load_pkimsg
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:36,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/ml_dsa_test.c:38,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:40,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:42,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ml_dsa_test.c:42,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:43,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/ml_dsa_test.c:43,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:44,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/ml_dsa_test.c:44,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:45,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/ml_dsa_test.c:45,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - alg
    - seed
    - seed_len
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: do_gen_key
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *do_gen_key(const char *alg,\n                            const
      uint8_t *seed, size_t seed_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:62,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:67,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:71,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:73,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ml_dsa_test.c:73,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:74,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ml_dsa_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:75,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ml_dsa_test.c:75,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 7
    argNames:
    - pkey
    - name
    - priv
    - priv_len
    - pub
    - pub_len
    - expected
    argTypes:
    - EVP_PKEY**
    - char*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: ml_dsa_create_keypair
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: "int ml_dsa_create_keypair(EVP_PKEY **pkey, const char *name,\n                                 const
      uint8_t *priv, size_t priv_len,\n                                 const uint8_t
      *pub, size_t pub_len,\n                                 int expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:94,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:95,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/ml_dsa_test.c:95,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:97,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/ml_dsa_test.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:99,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/ml_dsa_test.c:99,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:101,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:102,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:103,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:105,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ml_dsa_test.c:105,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:107,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ml_dsa_test.c:107,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:110,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ml_dsa_test.c:110,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/ml_dsa_test.c:112,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:116,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 118
    functionName: ml_dsa_keygen_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - do_gen_key
    - TEST_int_ge
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: int ml_dsa_keygen_test(int tst_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:134,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:135,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:137,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:140,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:146,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:146,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:148,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:149,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:149,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:150,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/ml_dsa_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:151,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:153,1
    - Dst: EVP_PKEY_get_size_t_param
      Src: /src/openssl/test/ml_dsa_test.c:153,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_dsa_test.c:155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:156,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_dsa_test.c:156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:157,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:157,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:159,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/test/ml_dsa_test.c:159,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:161,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:165,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:166,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:168,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 120
    functionDepth: 10
    functionLinenumber: 120
    functionLinenumberEnd: 170
    functionName: ml_dsa_siggen_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - EVP_Q_digest
    - TEST_ptr
    - OPENSSL_zalloc
    - ml_dsa_create_keypair
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_SIGNATURE_free
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_get_size_t_param
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_size_t_eq
    - EVP_PKEY_sign
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int ml_dsa_siggen_test(int tst_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:182,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:185,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:189,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:189,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:191,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:191,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:193,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/ml_dsa_test.c:193,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:194,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/ml_dsa_test.c:194,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:199,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:200,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 172
    functionDepth: 7
    functionLinenumber: 172
    functionLinenumberEnd: 203
    functionName: ml_dsa_sigver_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - ml_dsa_create_keypair
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify
    - TEST_int_eq
    - EVP_PKEY_verify_message_init
    - OSSL_PARAM_construct_int
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_true
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int ml_dsa_sigver_test(int tst_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:219,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:220,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:222,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:231,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:233,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:233,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:234,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:234,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:235,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/ml_dsa_test.c:235,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:236,1
    - Dst: EVP_PKEY_sign_message_update
      Src: /src/openssl/test/ml_dsa_test.c:236,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:237,1
    - Dst: EVP_PKEY_sign_message_update
      Src: /src/openssl/test/ml_dsa_test.c:237,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:239,1
    - Dst: EVP_PKEY_sign_message_final
      Src: /src/openssl/test/ml_dsa_test.c:239,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:240,1
    - Dst: EVP_PKEY_get_size_t_param
      Src: /src/openssl/test/ml_dsa_test.c:240,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_dsa_test.c:242,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:243,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_dsa_test.c:243,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:244,1
    - Dst: EVP_PKEY_sign_message_final
      Src: /src/openssl/test/ml_dsa_test.c:244,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:245,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/test/ml_dsa_test.c:245,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_dsa_test.c:247,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:251,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:252,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:253,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:254,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 205
    functionDepth: 10
    functionLinenumber: 205
    functionLinenumberEnd: 256
    functionName: ml_dsa_siggen_upd_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - EVP_Q_digest
    - EVP_PKEY_sign_message_update
    - EVP_PKEY_sign_message_final
    - TEST_ptr
    - OPENSSL_zalloc
    - ml_dsa_create_keypair
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_SIGNATURE_free
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_get_size_t_param
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_size_t_eq
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int ml_dsa_siggen_upd_test(int tst_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:268,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:269,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:271,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:275,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:275,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:277,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:277,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:279,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/ml_dsa_test.c:279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:280,1
    - Dst: EVP_PKEY_CTX_set_signature
      Src: /src/openssl/test/ml_dsa_test.c:280,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:282,1
    - Dst: EVP_PKEY_verify_message_update
      Src: /src/openssl/test/ml_dsa_test.c:282,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:284,1
    - Dst: EVP_PKEY_verify_message_final
      Src: /src/openssl/test/ml_dsa_test.c:284,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:288,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:289,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 258
    functionDepth: 7
    functionLinenumber: 258
    functionLinenumberEnd: 292
    functionName: ml_dsa_sigver_upd_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - EVP_PKEY_verify_message_final
    - EVP_PKEY_CTX_set_signature
    - ml_dsa_create_keypair
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify_message_update
    - TEST_int_eq
    - EVP_PKEY_verify_message_init
    - OSSL_PARAM_construct_int
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_true
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int ml_dsa_sigver_upd_test(int tst_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:301,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:301,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:302,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/ml_dsa_test.c:302,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:303,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_dsa_test.c:303,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:304,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:304,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:305,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/ml_dsa_test.c:305,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:309,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:310,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 5
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: ml_dsa_key_dup_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_check
    - do_gen_key
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ml_dsa_key_dup_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/test/ml_dsa_test.c:321,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ml_dsa_test.c:324,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/test/ml_dsa_test.c:324,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ml_dsa_test.c:326,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/test/ml_dsa_test.c:326,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ml_dsa_test.c:328,1
    - Dst: ossl_ml_dsa_key_dup
      Src: /src/openssl/test/ml_dsa_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:329,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/test/ml_dsa_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:331,1
    - Dst: ossl_ml_dsa_key_dup
      Src: /src/openssl/test/ml_dsa_test.c:331,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:332,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/test/ml_dsa_test.c:332,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_dsa_test.c:333,1
    - Dst: ossl_ml_dsa_key_pub_alloc
      Src: /src/openssl/test/ml_dsa_test.c:333,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:334,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/test/ml_dsa_test.c:334,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_dsa_test.c:335,1
    - Dst: ossl_ml_dsa_key_priv_alloc
      Src: /src/openssl/test/ml_dsa_test.c:335,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/test/ml_dsa_test.c:340,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/test/ml_dsa_test.c:341,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 343
    functionName: ml_dsa_key_internal_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - ossl_ml_dsa_key_pub_alloc
    - TEST_true
    - TEST_false
    - ossl_ml_dsa_key_free
    - ossl_ml_dsa_key_dup
    - ossl_ml_dsa_key_priv_alloc
    - ossl_ml_dsa_key_new
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ml_dsa_key_internal_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:353,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ml_dsa_test.c:353,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:357,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:357,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:359,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:359,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:361,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:361,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:363,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:363,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:365,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:365,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:367,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:367,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:373,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 345
    functionDepth: 7
    functionLinenumber: 345
    functionLinenumberEnd: 376
    functionName: from_data_invalid_public_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - ml_dsa_create_keypair
    - OPENSSL_memdup
    - EVP_PKEY_free
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int from_data_invalid_public_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:386,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ml_dsa_test.c:386,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:387,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ml_dsa_test.c:387,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:388,1
    - Dst: EVP_PKEY_fromdata_settable
      Src: /src/openssl/test/ml_dsa_test.c:388,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ml_dsa_test.c:389,1
    - Dst: EVP_PKEY_fromdata_settable
      Src: /src/openssl/test/ml_dsa_test.c:389,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/test/ml_dsa_test.c:392,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:393,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ml_dsa_test.c:394,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ml_dsa_test.c:394,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/test/ml_dsa_test.c:397,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:398,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ml_dsa_test.c:399,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ml_dsa_test.c:399,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:404,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:405,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 378
    functionDepth: 6
    functionLinenumber: 378
    functionLinenumberEnd: 407
    functionName: from_data_bad_input_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - TEST_int_ne
    - OSSL_PARAM_construct_uint32
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - EVP_PKEY_fromdata_settable
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int from_data_bad_input_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:416,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:416,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:417,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:418,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:418,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:419,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_dsa_test.c:419,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:420,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_dsa_test.c:420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:421,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/ml_dsa_test.c:421,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_dsa_test.c:422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:423,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_dsa_test.c:423,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:424,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/ml_dsa_test.c:424,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:425,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/ml_dsa_test.c:425,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_dsa_test.c:426,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:427,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_dsa_test.c:427,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:428,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/ml_dsa_test.c:428,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:430,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:430,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:433,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ml_dsa_test.c:433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:438,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:439,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:440,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:441,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:442,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 409
    functionDepth: 7
    functionLinenumber: 409
    functionLinenumberEnd: 444
    functionName: ml_dsa_keygen_drbg_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - EVP_PKEY_eq
    - ml_dsa_create_keypair
    - do_gen_key
    - TEST_int_eq
    - EVP_PKEY_free
    - OPENSSL_free
    - TEST_ptr
    - TEST_true
    - EVP_PKEY_get_raw_private_key
    - OPENSSL_malloc
    - EVP_PKEY_get_raw_public_key
    linkageType: ''
    returnType: int
    signature: int ml_dsa_keygen_drbg_test(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:486,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:486,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:489,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:492,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:494,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:496,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:496,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:497,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/ml_dsa_test.c:497,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:498,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/ml_dsa_test.c:498,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:504,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:504,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:505,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_dsa_test.c:505,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:508,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:508,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:511,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/ml_dsa_test.c:511,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:512,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_dsa_test.c:512,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:513,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/ml_dsa_test.c:513,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:514,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/ml_dsa_test.c:514,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:518,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/ml_dsa_test.c:519,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:520,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:521,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:522,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - alg
    - tstid
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 475
    functionDepth: 6
    functionLinenumber: 475
    functionLinenumberEnd: 524
    functionName: do_ml_dsa_sign_verify
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - OPENSSL_zalloc
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - EVP_SIGNATURE_free
    - do_gen_key
    - EVP_PKEY_verify
    - TEST_int_eq
    - EVP_PKEY_verify_message_init
    - OSSL_PARAM_construct_int
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_sign
    linkageType: ''
    returnType: int
    signature: int do_ml_dsa_sign_verify(const char *alg, int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ml_dsa_sign_verify
      Src: /src/openssl/test/ml_dsa_test.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 7
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: ml_dsa_44_sign_verify_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - do_ml_dsa_sign_verify
    linkageType: ''
    returnType: int
    signature: int ml_dsa_44_sign_verify_test(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ml_dsa_sign_verify
      Src: /src/openssl/test/ml_dsa_test.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 7
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: ml_dsa_65_sign_verify_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - do_ml_dsa_sign_verify
    linkageType: ''
    returnType: int
    signature: int ml_dsa_65_sign_verify_test(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ml_dsa_sign_verify
      Src: /src/openssl/test/ml_dsa_test.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 7
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: ml_dsa_87_sign_verify_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - do_ml_dsa_sign_verify
    linkageType: ''
    returnType: int
    signature: int ml_dsa_87_sign_verify_test(int tstid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:549,1
    - Dst: do_gen_key
      Src: /src/openssl/test/ml_dsa_test.c:549,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/ml_dsa_test.c:552,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_dsa_test.c:555,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_dsa_test.c:557,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:559,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/ml_dsa_test.c:559,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:560,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:560,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:563,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:563,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:570,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/ml_dsa_test.c:570,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:571,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_dsa_test.c:571,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:574,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/ml_dsa_test.c:574,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:577,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:577,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:579,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/ml_dsa_test.c:579,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:581,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:581,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:584,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/ml_dsa_test.c:584,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ml_dsa_test.c:587,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ml_dsa_test.c:587,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:592,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:593,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:594,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 538
    functionDepth: 8
    functionLinenumber: 538
    functionLinenumberEnd: 596
    functionName: ml_dsa_digest_sign_verify_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - OPENSSL_zalloc
    - EVP_DigestVerifyInit_ex
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - do_gen_key
    - EVP_MD_CTX_new
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - EVP_DigestSignInit_ex
    - EVP_DigestSign
    - OPENSSL_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ml_dsa_digest_sign_verify_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/ml_dsa_test.c:603,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_dsa_test.c:605,1
    - Dst: memcpy
      Src: /src/openssl/test/ml_dsa_test.c:607,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:613,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_dsa_test.c:618,1
    - Dst: ml_dsa_create_keypair
      Src: /src/openssl/test/ml_dsa_test.c:618,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_dsa_test.c:623,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_dsa_test.c:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 598
    functionDepth: 7
    functionLinenumber: 598
    functionLinenumberEnd: 626
    functionName: ml_dsa_priv_pub_bad_t0_test
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - ml_dsa_create_keypair
    - memcpy
    - OPENSSL_memdup
    - EVP_PKEY_free
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ml_dsa_priv_pub_bad_t0_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 637
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/ml_dsa_test.c:644,1
    - Dst: opt_arg
      Src: /src/openssl/test/ml_dsa_test.c:647,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/ml_dsa_test.c:656,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:659,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:659,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:660,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:660,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:661,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:661,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/ml_dsa_test.c:662,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:663,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:663,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:664,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:664,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:666,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:667,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:668,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:669,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:669,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:670,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:670,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ml_dsa_test.c:671,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_dsa_test.c:671,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:672,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:673,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:674,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_dsa_test.c:675,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 677
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - fips_provider_version_ge
    - ADD_TEST
    - OSSL_NELEM
    - test_get_libctx
    - opt_arg
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ml_dsa_test.c:681,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ml_dsa_test.c:682,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/ml_dsa_test.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 684
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ml_dsa_test.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:160,1
    - Dst: ossl_punycode_decode
      Src: /src/openssl/test/punycode_test.c:160,1
    - Dst: strlen
      Src: /src/openssl/test/punycode_test.c:160,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:163,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/punycode_test.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: test_punycode
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - ossl_punycode_decode
    - OSSL_NELEM
    - TEST_true
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_punycode(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:187,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: test_a2ulabel_bad_decode
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - ossl_a2ulabel
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_a2ulabel_bad_decode(int tst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:199,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:199,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:200,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:200,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:203,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:203,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:204,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:204,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/punycode_test.c:205,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:209,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:209,1
    - Dst: strcpy
      Src: /src/openssl/test/punycode_test.c:213,1
    - Dst: memset
      Src: /src/openssl/test/punycode_test.c:214,1
    - Dst: memcpy
      Src: /src/openssl/test/punycode_test.c:215,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:216,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 220
    functionName: test_a2ulabel
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - memset
    - ossl_a2ulabel
    - TEST_str_eq
    - memcpy
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_a2ulabel(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:228,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:229,1
    - Dst: TEST_false
      Src: /src/openssl/test/punycode_test.c:231,1
    - Dst: ossl_punycode_decode
      Src: /src/openssl/test/punycode_test.c:231,1
    - Dst: strlen
      Src: /src/openssl/test/punycode_test.c:231,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/punycode_test.c:232,1
    - Dst: TEST_error
      Src: /src/openssl/test/punycode_test.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: test_puny_overrun
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_false
    - ossl_punycode_decode
    - OSSL_NELEM
    - strlen
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_puny_overrun(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:242,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/punycode_test.c:250,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/punycode_test.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:252,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/punycode_test.c:252,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/punycode_test.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:257,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/punycode_test.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:259,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/punycode_test.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/punycode_test.c:262,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/punycode_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/punycode_test.c:264,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/punycode_test.c:264,1
    - Dst: memset
      Src: /src/openssl/test/punycode_test.c:268,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/punycode_test.c:269,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:269,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/punycode_test.c:270,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/punycode_test.c:274,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/test/punycode_test.c:274,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/punycode_test.c:275,1
    - Dst: strlen
      Src: /src/openssl/test/punycode_test.c:275,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/punycode_test.c:280,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/punycode_test.c:281,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/punycode_test.c:282,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 239
    functionDepth: 5
    functionLinenumber: 239
    functionLinenumberEnd: 284
    functionName: test_dotted_overflow
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    - WPACKET_put_bytes_u8
    - memset
    - ossl_a2ulabel
    - WPACKET_cleanup
    - BUF_MEM_new
    - TEST_int_le
    - TEST_int_eq
    - OPENSSL_free
    - OSSL_NELEM
    - WPACKET_init_len
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - strlen
    - OPENSSL_malloc
    - WPACKET_memcpy
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_dotted_overflow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/punycode_test.c:288,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:288,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/punycode_test.c:289,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/punycode_test.c:290,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/punycode_test.c:291,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/punycode_test.c:292,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/punycode_test.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/punycode_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_get_thread_support_flags
      Src: /src/openssl/test/threadpool_test.c:19,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:22,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:27,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:30,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:36,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: test_thread_reported_flags
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached:
    - OSSL_get_thread_support_flags
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_thread_reported_flags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: test_thread_native_fn
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t test_thread_native_fn(void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/threadpool_test.c:67,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadpool_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:77,1
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/threadpool_test.c:77,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:79,1
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/threadpool_test.c:79,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:85,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/threadpool_test.c:85,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:89,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/threadpool_test.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 93
    functionName: test_thread_native
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_join
    - ossl_crypto_thread_native_start
    - ossl_crypto_thread_native_clean
    - TEST_int_eq
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_thread_native(void)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/threadpool_test.c:104,1
    - Dst: OSSL_get_thread_support_flags
      Src: /src/openssl/test/threadpool_test.c:106,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:110,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:110,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:112,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:115,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/threadpool_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:117,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/threadpool_test.c:117,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:120,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:120,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:122,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:122,1
    - Dst: ossl_crypto_thread_start
      Src: /src/openssl/test/threadpool_test.c:125,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadpool_test.c:126,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:135,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:135,1
    - Dst: ossl_crypto_thread_start
      Src: /src/openssl/test/threadpool_test.c:137,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadpool_test.c:138,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:142,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:142,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:144,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/threadpool_test.c:144,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:146,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:146,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:148,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:148,1
    - Dst: ossl_crypto_thread_start
      Src: /src/openssl/test/threadpool_test.c:150,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/threadpool_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:153,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/threadpool_test.c:153,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:158,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/threadpool_test.c:158,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:160,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:160,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/threadpool_test.c:162,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/test/threadpool_test.c:162,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:165,1
    - Dst: ossl_crypto_thread_start
      Src: /src/openssl/test/threadpool_test.c:168,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadpool_test.c:169,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:178,1
    - Dst: ossl_crypto_thread_join
      Src: /src/openssl/test/threadpool_test.c:178,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:180,1
    - Dst: ossl_crypto_thread_join
      Src: /src/openssl/test/threadpool_test.c:180,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadpool_test.c:183,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadpool_test.c:183,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:186,1
    - Dst: ossl_crypto_thread_clean
      Src: /src/openssl/test/threadpool_test.c:186,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:190,1
    - Dst: ossl_crypto_thread_clean
      Src: /src/openssl/test/threadpool_test.c:190,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:196,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/threadpool_test.c:196,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:196,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:199,1
    - Dst: ossl_crypto_thread_start
      Src: /src/openssl/test/threadpool_test.c:201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadpool_test.c:202,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:205,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:206,1
    - Dst: ossl_crypto_thread_join
      Src: /src/openssl/test/threadpool_test.c:206,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:209,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadpool_test.c:210,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadpool_test.c:210,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:212,1
    - Dst: ossl_crypto_thread_clean
      Src: /src/openssl/test/threadpool_test.c:212,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:218,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/threadpool_test.c:218,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:218,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:221,1
    - Dst: ossl_crypto_thread_start
      Src: /src/openssl/test/threadpool_test.c:223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadpool_test.c:224,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:227,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:228,1
    - Dst: ossl_crypto_thread_join
      Src: /src/openssl/test/threadpool_test.c:228,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/threadpool_test.c:231,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadpool_test.c:232,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/threadpool_test.c:232,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:234,1
    - Dst: ossl_crypto_thread_clean
      Src: /src/openssl/test/threadpool_test.c:234,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:238,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/threadpool_test.c:238,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/threadpool_test.c:243,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 245
    functionName: test_thread_internal
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached:
    - OSSL_get_thread_support_flags
    - TEST_ptr_null
    - ossl_crypto_thread_join
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - TEST_int_eq
    - OSSL_set_max_threads
    - ossl_crypto_thread_clean
    - OSSL_NELEM
    - TEST_uint_eq
    - TEST_uint64_t_eq
    - TEST_ptr
    - OSSL_get_max_threads
    - ossl_crypto_thread_start
    linkageType: ''
    returnType: int
    signature: int test_thread_internal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: test_thread_native_multiple_joins_fn1
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t test_thread_native_multiple_joins_fn1(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/threadpool_test.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: test_thread_native_multiple_joins_fn2
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_join
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t test_thread_native_multiple_joins_fn2(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/threadpool_test.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: test_thread_native_multiple_joins_fn3
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_join
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t test_thread_native_multiple_joins_fn3(void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/threadpool_test.c:269,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/threadpool_test.c:270,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/threadpool_test.c:271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadpool_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadpool_test.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/threadpool_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:276,1
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/threadpool_test.c:276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:278,1
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/threadpool_test.c:278,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:281,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/threadpool_test.c:281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:284,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/threadpool_test.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/threadpool_test.c:287,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/threadpool_test.c:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 291
    functionName: test_thread_native_multiple_joins
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_join
    - ossl_crypto_thread_native_start
    - ossl_crypto_thread_native_clean
    - TEST_int_eq
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_thread_native_multiple_joins(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadpool_test.c:297,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadpool_test.c:299,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadpool_test.c:300,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadpool_test.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/threadpool_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RC2_set_key
      Src: /src/openssl/test/rc2test.c:53,1
    - Dst: RC2_ecb_encrypt
      Src: /src/openssl/test/rc2test.c:55,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc2test.c:56,1
    - Dst: RC2_ecb_encrypt
      Src: /src/openssl/test/rc2test.c:59,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc2test.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: test_rc2
    functionSourceFile: /src/openssl/test/rc2test.c
    functionUses: 0
    functionsReached:
    - RC2_set_key
    - TEST_mem_eq
    - RC2_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: int test_rc2(const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rc2test.c:71,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/rc2test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rc2test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test2.c:281,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:286,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - privtag
    - use_octstring
    argTypes:
    - EVP_PKEY*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 290
    functionName: pkey_has_private
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bn_param
    - BN_free
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: "int pkey_has_private(EVP_PKEY *key, const char *privtag,\n                            int
      use_octstring)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test2.c:298,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test2.c:299,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:305,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:305,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:306,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:306,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:312,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:312,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:313,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:320,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:320,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:321,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:321,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:322,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:322,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test2.c:324,1
    - Dst: pkey_has_private
      Src: /src/openssl/test/evp_extra_test2.c:324,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:330,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:330,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:332,1
    - Dst: pkey_has_private
      Src: /src/openssl/test/evp_extra_test2.c:332,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:336,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:337,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:338,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test2.c:339,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test2.c:340,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - key
    - keytype
    argTypes:
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 342
    functionName: do_pkey_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - TEST_ptr_null
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - pkey_has_private
    - TEST_false
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_todata
    - TEST_true
    - strcmp
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int do_pkey_tofrom_data_select(EVP_PKEY *key, const char *keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:356,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:357,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:358,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:358,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:359,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test2.c:359,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:360,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test2.c:360,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:361,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/evp_extra_test2.c:361,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:362,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:364,1
    - Dst: EVP_PKEY_get0_DH
      Src: /src/openssl/test/evp_extra_test2.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:365,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/test/evp_extra_test2.c:365,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_extra_test2.c:366,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/evp_extra_test2.c:366,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:368,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 345
    functionDepth: 7
    functionLinenumber: 345
    functionLinenumberEnd: 371
    functionName: test_dh_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - TEST_int_le
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - do_pkey_tofrom_data_select
    - EVP_PKEY_free
    - DH_get0_priv_key
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - BN_num_bits
    - EVP_PKEY_get0_DH
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_dh_tofrom_data_select(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_extra_test2.c:381,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:382,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:384,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:386,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:386,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:387,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_extra_test2.c:387,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:388,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test2.c:388,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:389,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_extra_test2.c:389,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:390,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:392,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:395,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test2.c:395,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:396,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/evp_extra_test2.c:396,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:397,1
    - Dst: EVP_PKEY_param_check_quick
      Src: /src/openssl/test/evp_extra_test2.c:397,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:399,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 373
    functionDepth: 9
    functionLinenumber: 373
    functionLinenumberEnd: 402
    functionName: test_dh_paramgen
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_param_check
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_param_check_quick
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_paramgen
    - EVP_PKEY_paramgen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_dh_paramgen(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:410,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:412,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:413,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:414,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - name
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 404
    functionDepth: 6
    functionLinenumber: 404
    functionLinenumberEnd: 417
    functionName: set_fromdata_string
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_fromdata
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int set_fromdata_string(EVP_PKEY_CTX *ctx, const char *name, char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:426,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_extra_test2.c:428,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:429,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:430,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 419
    functionDepth: 6
    functionLinenumber: 419
    functionLinenumberEnd: 433
    functionName: set_fromdata_uint
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_fromdata
    - EVP_PKEY_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int set_fromdata_uint(EVP_PKEY_CTX *ctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:441,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:441,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:442,1
    - Dst: set_fromdata_uint
      Src: /src/openssl/test/evp_extra_test2.c:442,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:443,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:443,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:444,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:444,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:445,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:445,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:446,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:446,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:447,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:447,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:448,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:448,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:449,1
    - Dst: set_fromdata_uint
      Src: /src/openssl/test/evp_extra_test2.c:449,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:450,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:450,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:451,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:451,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:452,1
    - Dst: set_fromdata_string
      Src: /src/openssl/test/evp_extra_test2.c:452,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:453,1
    - Dst: set_fromdata_uint
      Src: /src/openssl/test/evp_extra_test2.c:453,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:455,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 435
    functionDepth: 7
    functionLinenumber: 435
    functionLinenumberEnd: 457
    functionName: test_dh_paramfromdata
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - set_fromdata_uint
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - set_fromdata_string
    - EVP_PKEY_CTX_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_dh_paramfromdata(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:472,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:472,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:475,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/evp_extra_test2.c:475,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:477,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:477,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:480,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:480,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:483,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:483,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:484,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_extra_test2.c:484,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:485,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_extra_test2.c:485,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:487,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:488,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:489,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:491,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_extra_test2.c:491,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:492,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_extra_test2.c:492,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:493,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_extra_test2.c:493,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test2.c:494,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:499,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:501,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:502,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:503,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 462
    functionDepth: 12
    functionLinenumber: 462
    functionLinenumberEnd: 505
    functionName: test_new_keytype
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - EVP_PKEY_CTX_new
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_free
    - EVP_PKEY_encapsulate_init
    - TEST_true
    - EVP_PKEY_encapsulate
    - TEST_ptr
    - TEST_mem_eq
    - OSSL_PROVIDER_add_builtin
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_new_keytype(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:516,1
    - Dst: fopen
      Src: /src/openssl/test/evp_extra_test2.c:516,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:517,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:517,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:518,1
    - Dst: i2d_PUBKEY_fp
      Src: /src/openssl/test/evp_extra_test2.c:518,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:519,1
    - Dst: fclose
      Src: /src/openssl/test/evp_extra_test2.c:519,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:523,1
    - Dst: fopen
      Src: /src/openssl/test/evp_extra_test2.c:523,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:524,1
    - Dst: d2i_PUBKEY_ex_fp
      Src: /src/openssl/test/evp_extra_test2.c:524,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:525,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test2.c:525,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:531,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:532,1
    - Dst: fclose
      Src: /src/openssl/test/evp_extra_test2.c:533,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 509
    functionDepth: 9
    functionLinenumber: 509
    functionLinenumberEnd: 535
    functionName: test_ec_d2i_i2d_pubkey
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - i2d_PUBKEY_fp
    - EVP_PKEY_eq
    - fopen
    - TEST_int_eq
    - d2i_PUBKEY_ex_fp
    - EVP_PKEY_free
    - EVP_PKEY_Q_keygen
    - TEST_true
    - TEST_ptr
    - fclose
    linkageType: ''
    returnType: int
    signature: int test_ec_d2i_i2d_pubkey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:542,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:542,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:543,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:543,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 9
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: test_ec_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - EVP_PKEY_free
    - EVP_PKEY_Q_keygen
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_ec_tofrom_data_select(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:554,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:554,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:555,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:555,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 9
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: test_ecx_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - EVP_PKEY_free
    - EVP_PKEY_Q_keygen
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_ecx_tofrom_data_select(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:568,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_extra_test2.c:568,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:569,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:569,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 9
    functionLinenumber: 563
    functionLinenumberEnd: 572
    functionName: test_sm2_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - EVP_PKEY_free
    - EVP_PKEY_Q_keygen
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_sm2_tofrom_data_select(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:582,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:584,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:584,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 14
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: test_rsa_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_rsa_tofrom_data_select(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:604,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:604,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test2.c:606,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:607,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test2.c:607,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:611,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:611,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:618,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test2.c:618,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:624,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:624,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:630,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:630,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:631,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test2.c:631,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:638,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:639,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:640,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:641,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 590
    functionDepth: 14
    functionLinenumber: 590
    functionLinenumberEnd: 643
    functionName: test_d2i_AutoPrivateKey_ex
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_id
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - BN_free
    - TEST_ptr_eq
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: int test_d2i_AutoPrivateKey_ex(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:657,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:657,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:658,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test2.c:658,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test2.c:658,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:659,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_extra_test2.c:659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:661,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/test/evp_extra_test2.c:661,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:662,1
    - Dst: i2d_PKCS8PrivateKey_nid_bio
      Src: /src/openssl/test/evp_extra_test2.c:662,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:665,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_extra_test2.c:665,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:666,1
    - Dst: d2i_PKCS8PrivateKey_bio
      Src: /src/openssl/test/evp_extra_test2.c:666,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:668,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test2.c:668,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:670,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:671,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:672,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:673,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 646
    functionDepth: 5
    functionLinenumber: 646
    functionLinenumberEnd: 676
    functionName: test_pkcs8key_nid_bio
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - EVP_PKEY_eq
    - i2d_PKCS8PrivateKey_nid_bio
    - d2i_PKCS8PrivateKey_bio
    - BIO_free
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - d2i_PrivateKey_ex_bio
    - BIO_new_mem_buf
    - BIO_get_mem_data
    - BIO_s_mem
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - TEST_true
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_pkcs8key_nid_bio(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:689,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:689,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:696,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_extra_test2.c:696,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:697,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:697,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:699,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test2.c:706,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_extra_test2.c:706,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:707,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:707,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:712,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 679
    functionDepth: 10
    functionLinenumber: 679
    functionLinenumberEnd: 714
    functionName: test_alternative_default
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - TEST_ptr_eq
    - TEST_ptr_null
    - TEST_ptr
    - EVP_MD_fetch
    - OSSL_LIB_CTX_set0_default
    linkageType: ''
    returnType: int
    signature: int test_alternative_default(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:722,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:722,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:723,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:723,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:727,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:729,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:732,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:734,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:742,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:742,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:747,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 716
    functionDepth: 10
    functionLinenumber: 716
    functionLinenumberEnd: 750
    functionName: test_provider_unload_effective
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - TEST_ptr_null
    - EVP_MD_fetch
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_provider_unload_effective(int testid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:760,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:760,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:762,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_extra_test2.c:762,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:764,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:764,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test2.c:767,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test2.c:768,1
    - Dst: BIO_seek
      Src: /src/openssl/test/evp_extra_test2.c:768,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:770,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/openssl/test/evp_extra_test2.c:770,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:771,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test2.c:771,1
    - Dst: test_openssl_errors
      Src: /src/openssl/test/evp_extra_test2.c:772,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:775,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:776,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:777,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 752
    functionDepth: 6
    functionLinenumber: 752
    functionLinenumberEnd: 780
    functionName: test_d2i_PrivateKey_ex
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - test_openssl_errors
    - TEST_ptr_null
    - PEM_read_bio_PrivateKey
    - BIO_seek
    - ERR_clear_error
    - BIO_free
    - TEST_int_ge
    - d2i_PrivateKey_bio
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - EVP_PKEY_free
    - BIO_new_mem_buf
    - OSSL_PROVIDER_unload
    - ERR_peek_error
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_d2i_PrivateKey_ex(int testid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:789,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_extra_test2.c:789,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test2.c:792,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:793,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:793,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test2.c:795,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test2.c:795,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:797,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:797,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test2.c:799,1
    - Dst: BIO_seek
      Src: /src/openssl/test/evp_extra_test2.c:799,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test2.c:801,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:802,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:802,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test2.c:804,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test2.c:804,1
    - Dst: test_openssl_errors
      Src: /src/openssl/test/evp_extra_test2.c:810,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:811,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:812,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:813,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 782
    functionDepth: 6
    functionLinenumber: 782
    functionLinenumberEnd: 816
    functionName: test_PEM_read_bio_negative
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - test_openssl_errors
    - TEST_ptr_null
    - TEST_int_ne
    - PEM_read_bio_PrivateKey
    - BIO_seek
    - ERR_clear_error
    - BIO_free
    - TEST_int_ge
    - OSSL_PROVIDER_load
    - EVP_PKEY_free
    - BIO_new_mem_buf
    - OSSL_PROVIDER_unload
    - ERR_peek_error
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_PEM_read_bio_negative(int testid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test2.c:821,1
    - Dst: EVP_RSA_gen
      Src: /src/openssl/test/evp_extra_test2.c:823,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test2.c:824,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test2.c:824,1
    - Dst: UI_null
      Src: /src/openssl/test/evp_extra_test2.c:828,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:830,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:832,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:834,1
    - Dst: UI_get_default_method
      Src: /src/openssl/test/evp_extra_test2.c:836,1
    - Dst: UI_set_default_method
      Src: /src/openssl/test/evp_extra_test2.c:837,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:840,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:840,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_extra_test2.c:840,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test2.c:844,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:845,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:846,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:849,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_extra_test2.c:849,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_extra_test2.c:849,1
    - Dst: test_openssl_errors
      Src: /src/openssl/test/evp_extra_test2.c:854,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:855,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:856,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test2.c:857,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:858,1
    - Dst: UI_set_default_method
      Src: /src/openssl/test/evp_extra_test2.c:859,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - testid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 818
    functionDepth: 6
    functionLinenumber: 818
    functionLinenumberEnd: 862
    functionName: test_PEM_read_bio_negative_wrong_password
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - UI_set_default_method
    - OSSL_PROVIDER_unload
    - BIO_s_mem
    - TEST_ptr
    - BIO_new
    - PEM_read_bio_PrivateKey
    - ERR_clear_error
    - UI_get_default_method
    - OSSL_PROVIDER_load
    - EVP_aes_256_cbc
    - EVP_PKEY_free
    - TEST_true
    - ERR_get_error
    - BIO_free
    - PEM_write_bio_PrivateKey
    - test_openssl_errors
    - TEST_ptr_null
    - TEST_int_eq
    - ERR_GET_REASON
    - UI_null
    - EVP_RSA_gen
    linkageType: ''
    returnType: int
    signature: int test_PEM_read_bio_negative_wrong_password(int testid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:871,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:871,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:872,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:872,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:873,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:873,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:876,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test2.c:876,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:877,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - params
    - expected
    - type
    argTypes:
    - OSSL_PARAM[]
    - EVP_PKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 864
    functionDepth: 6
    functionLinenumber: 864
    functionLinenumberEnd: 880
    functionName: do_fromdata_key_is_equal
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: "int do_fromdata_key_is_equal(const OSSL_PARAM params[],\n                                    const
      EVP_PKEY *expected, const char *type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1039,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:1039,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1040,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:1040,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1041,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:1041,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1043,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test2.c:1043,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1045,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/evp_extra_test2.c:1045,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1046,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1047,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - key_params
    - expected
    argTypes:
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1033
    functionDepth: 9
    functionLinenumber: 1033
    functionLinenumberEnd: 1050
    functionName: do_check_params
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_fromdata
    - EVP_PKEY_param_check
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int do_check_params(OSSL_PARAM key_params[], int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1060,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:1060,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1061,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/evp_extra_test2.c:1061,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:1062,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/evp_extra_test2.c:1062,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test2.c:1063,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test2.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - params
    - key
    - expected
    - expected_len
    argTypes:
    - OSSL_PARAM[]
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1052
    functionDepth: 5
    functionLinenumber: 1052
    functionLinenumberEnd: 1066
    functionName: do_check_bn
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_BN
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - BN_free
    - BN_bn2binpad
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int do_check_bn(OSSL_PARAM params[], const char *key,\n                       const
      unsigned char *expected, size_t expected_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1073,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:1073,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1074,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/evp_extra_test2.c:1074,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - params
    - key
    - expected
    argTypes:
    - OSSL_PARAM[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1068
    functionDepth: 5
    functionLinenumber: 1068
    functionLinenumberEnd: 1076
    functionName: do_check_int
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - TEST_int_eq
    - TEST_true
    - TEST_ptr
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: int do_check_int(OSSL_PARAM params[], const char *key, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1084,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1084,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1086,1
    - Dst: do_pkey_tofrom_data_select
      Src: /src/openssl/test/evp_extra_test2.c:1086,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1078
    functionDepth: 14
    functionLinenumber: 1078
    functionLinenumberEnd: 1090
    functionName: test_dsa_tofrom_data_select
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_pkey_tofrom_data_select
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_dsa_tofrom_data_select(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test2.c:1108,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1111,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1113,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:1115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1117,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1117,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1119,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:1119,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1120,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1121,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1122,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1123,1
    - Dst: do_check_bn
      Src: /src/openssl/test/evp_extra_test2.c:1125,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1127,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1128,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1129,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1130,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1131,1
    - Dst: do_check_int
      Src: /src/openssl/test/evp_extra_test2.c:1132,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:1133,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_extra_test2.c:1133,1
    - Dst: do_fromdata_key_is_equal
      Src: /src/openssl/test/evp_extra_test2.c:1136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1139,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/evp_extra_test2.c:1139,1
    - Dst: do_check_params
      Src: /src/openssl/test/evp_extra_test2.c:1140,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1142,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1144,1
    - Dst: do_check_params
      Src: /src/openssl/test/evp_extra_test2.c:1152,1
    - Dst: do_check_params
      Src: /src/openssl/test/evp_extra_test2.c:1156,1
    - Dst: do_check_params
      Src: /src/openssl/test/evp_extra_test2.c:1160,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1165,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test2.c:1166,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test2.c:1167,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1092
    functionDepth: 14
    functionLinenumber: 1092
    functionLinenumberEnd: 1169
    functionName: test_dsa_todata
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_construct_octet_string
    - do_check_bn
    - TEST_ptr_null
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_free
    - do_check_int
    - TEST_int_eq
    - do_fromdata_key_is_equal
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_merge
    - EVP_PKEY_free
    - TEST_ptr
    - EVP_PKEY_todata
    - d2i_AutoPrivateKey_ex
    - do_check_params
    linkageType: ''
    returnType: int
    signature: int test_dsa_todata(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_extra_test2.c:1186,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:1187,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:1189,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:1191,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1193,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test2.c:1193,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1194,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test2.c:1194,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1195,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test2.c:1195,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1198,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test2.c:1198,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1199,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_extra_test2.c:1199,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1200,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_extra_test2.c:1200,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1205,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1206,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1207,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1177
    functionDepth: 8
    functionLinenumber: 1177
    functionLinenumberEnd: 1210
    functionName: test_dsa_fromdata_digest_prop
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    - EVP_PKEY_paramgen
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: int
    signature: int test_dsa_fromdata_digest_prop(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1220,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1222,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:1222,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1223,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test2.c:1223,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1213
    functionDepth: 14
    functionLinenumber: 1213
    functionLinenumberEnd: 1226
    functionName: test_pkey_todata_null
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - EVP_PKEY_todata
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_pkey_todata_null(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_fromdata_key_is_equal
      Src: /src/openssl/test/evp_extra_test2.c:1234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1230
    functionDepth: 7
    functionLinenumber: 1230
    functionLinenumberEnd: 1235
    functionName: test_pkey_export_cb
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - do_fromdata_key_is_equal
    linkageType: ''
    returnType: int
    signature: int test_pkey_export_cb(const OSSL_PARAM params[], void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1243,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1243,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1245,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1245,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test2.c:1247,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1247,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1237
    functionDepth: 14
    functionLinenumber: 1237
    functionLinenumberEnd: 1250
    functionName: test_pkey_export_null
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_export
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey_ex
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_pkey_export_null(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1262,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1262,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1264,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1264,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test2.c:1266,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1266,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1275,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test2.c:1275,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1276,1
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/test/evp_extra_test2.c:1276,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1277,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/openssl/test/evp_extra_test2.c:1277,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1278,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1278,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test2.c:1280,1
    - Dst: EVP_PKEY_export
      Src: /src/openssl/test/evp_extra_test2.c:1280,1
    - Dst: RSA_free
      Src: /src/openssl/test/evp_extra_test2.c:1283,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1252
    functionDepth: 14
    functionLinenumber: 1252
    functionLinenumberEnd: 1287
    functionName: test_pkey_export
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - RSA_free
    - EVP_PKEY_export
    - TEST_false
    - EVP_PKEY_free
    - d2i_RSAPrivateKey
    - d2i_AutoPrivateKey_ex
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_set1_RSA
    linkageType: ''
    returnType: int
    signature: int test_pkey_export(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test2.c:1302,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test2.c:1304,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test2.c:1306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1308,1
    - Dst: d2i_AutoPrivateKey_ex
      Src: /src/openssl/test/evp_extra_test2.c:1308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1310,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test2.c:1310,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:1311,1
    - Dst: EVP_PKEY_sign_init_ex
      Src: /src/openssl/test/evp_extra_test2.c:1311,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:1312,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test2.c:1312,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test2.c:1314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1315,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test2.c:1315,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test2.c:1316,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test2.c:1316,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1319,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test2.c:1320,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test2.c:1321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1289
    functionDepth: 14
    functionLinenumber: 1289
    functionLinenumberEnd: 1324
    functionName: test_rsa_pss_sign
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - OSSL_PARAM_construct_end
    - EVP_PKEY_sign_init_ex
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_int
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - d2i_AutoPrivateKey_ex
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_free
    - TEST_ptr
    - EVP_PKEY_sign
    - OPENSSL_malloc
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_rsa_pss_sign(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1333,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1334,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/test/evp_extra_test2.c:1334,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1336,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1326
    functionDepth: 9
    functionLinenumber: 1326
    functionLinenumberEnd: 1339
    functionName: test_evp_md_ctx_dup
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_MD_CTX_dup
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_evp_md_ctx_dup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1348,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1348,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1349,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1349,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1350,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/test/evp_extra_test2.c:1350,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1352,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1341
    functionDepth: 8
    functionLinenumber: 1341
    functionLinenumberEnd: 1355
    functionName: test_evp_md_ctx_copy
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_MD_CTX_copy_ex
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_evp_md_ctx_copy(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1365,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1365,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1366,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:1366,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1369,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test2.c:1370,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1372,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test2.c:1372,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1376,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_extra_test2.c:1376,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1378,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_extra_test2.c:1378,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1386,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/test/evp_extra_test2.c:1386,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1387,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:1390,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1391,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1392,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1393,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1357
    functionDepth: 10
    functionLinenumber: 1357
    functionLinenumberEnd: 1395
    functionName: test_evp_md_ctx_copy2
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OSSL_LIB_CTX_free
    - EVP_DigestInit_ex2
    - OSSL_LIB_CTX_new
    - EVP_MD_fetch
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - TEST_true
    - EVP_MD_CTX_copy_ex
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_evp_md_ctx_copy2(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1405,1
    - Dst: EVP_PBE_alg_add
      Src: /src/openssl/test/evp_extra_test2.c:1405,1
    - Dst: EVP_des_cbc
      Src: /src/openssl/test/evp_extra_test2.c:1405,1
    - Dst: EVP_md5
      Src: /src/openssl/test/evp_extra_test2.c:1405,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1409,1
    - Dst: EVP_PBE_find_ex
      Src: /src/openssl/test/evp_extra_test2.c:1409,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1413,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test2.c:1415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1398
    functionDepth: 2
    functionLinenumber: 1398
    functionLinenumberEnd: 1422
    functionName: test_evp_pbe_alg_add
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_md5
    - EVP_des_cbc
    - EVP_PBE_alg_add
    - EVP_PBE_find_ex
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_evp_pbe_alg_add(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test2.c:1435,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test2.c:1435,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test2.c:1436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1431
    functionDepth: 10
    functionLinenumber: 1431
    functionLinenumberEnd: 1441
    functionName: evp_test_name_parsing
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - EVP_MD_free
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: int evp_test_name_parsing(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_get_libctx
      Src: /src/openssl/test/evp_extra_test2.c:1445,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1446,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1451,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1452,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1453,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test2.c:1453,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1454,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1456,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1457,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1459,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1461,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1463,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1466,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1469,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1470,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1471,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1474,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1475,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1476,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1478,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1480,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1481,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1482,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1484,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1486,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test2.c:1486,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1487,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1488,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1489,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1490,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1491,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test2.c:1492,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test2.c:1494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1443
    functionDepth: 4
    functionLinenumber: 1443
    functionLinenumberEnd: 1497
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - ADD_TEST
    - OSSL_NELEM
    - test_get_libctx
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test2.c:1501,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test2.c:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1499
    functionDepth: 4
    functionLinenumber: 1499
    functionLinenumberEnd: 1503
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_extra_test2.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/keymgmt_internal_test.c:43,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/keymgmt_internal_test.c:44,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/keymgmt_internal_test.c:45,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/keymgmt_internal_test.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/keymgmt_internal_test.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: tear_down
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 13
    functionsReached:
    - OSSL_PROVIDER_unload
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void tear_down(FIXTURE *fixture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:55,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/keymgmt_internal_test.c:55,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:56,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/keymgmt_internal_test.c:56,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:57,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/keymgmt_internal_test.c:57,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:59,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/keymgmt_internal_test.c:59,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:60,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/keymgmt_internal_test.c:60,1
    - Dst: tear_down
      Src: /src/openssl/test/keymgmt_internal_test.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - testcase_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: set_up
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - tear_down
    - TEST_ptr
    linkageType: ''
    returnType: FIXTURE
    signature: FIXTURE *set_up(const char *testcase_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:94,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:94,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/keymgmt_internal_test.c:95,1
    - Dst: BN_bn2nativepad
      Src: /src/openssl/test/keymgmt_internal_test.c:95,1
    - Dst: BN_free
      Src: /src/openssl/test/keymgmt_internal_test.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - p
    - goal
    argTypes:
    - OSSL_PARAM*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 6
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: get_ulong_via_BN
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - TEST_int_ge
    - BN_bn2nativepad
    - TEST_true
    - BN_free
    linkageType: ''
    returnType: int
    signature: int get_ulong_via_BN(const OSSL_PARAM *p, unsigned long *goal)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:109,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:110,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:111,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:112,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:113,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:113,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:114,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:117,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:118,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:118,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:119,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:120,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:120,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:121,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:122,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:125,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:125,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:126,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:127,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:127,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:128,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:128,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:129,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:129,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:130,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:133,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:134,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:135,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/keymgmt_internal_test.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:136,1
    - Dst: get_ulong_via_BN
      Src: /src/openssl/test/keymgmt_internal_test.c:136,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 12
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 101
    functionDepth: 7
    functionLinenumber: 101
    functionLinenumberEnd: 140
    functionName: export_cb
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 1
    functionsReached:
    - get_ulong_via_BN
    - TEST_ptr
    - OSSL_PARAM_locate_const
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int export_cb(const OSSL_PARAM *params, void *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/keymgmt_internal_test.c:175,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:177,1
    - Dst: RSA_new
      Src: /src/openssl/test/keymgmt_internal_test.c:177,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:180,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:180,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:181,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:182,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:183,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:184,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:184,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:185,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:186,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/keymgmt_internal_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:189,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:190,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:190,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:191,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:191,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:192,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:192,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:193,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/keymgmt_internal_test.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:196,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:196,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:197,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:198,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:199,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:200,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:201,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:202,1
    - Dst: RSA_set0_crt_params
      Src: /src/openssl/test/keymgmt_internal_test.c:202,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:206,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:207,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:208,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:209,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:209,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:210,1
    - Dst: BN_new
      Src: /src/openssl/test/keymgmt_internal_test.c:210,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:211,1
    - Dst: BN_set_word
      Src: /src/openssl/test/keymgmt_internal_test.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:212,1
    - Dst: RSA_set0_multi_prime_params
      Src: /src/openssl/test/keymgmt_internal_test.c:212,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:216,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/keymgmt_internal_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:217,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/keymgmt_internal_test.c:217,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:221,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/test/keymgmt_internal_test.c:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:222,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/test/keymgmt_internal_test.c:222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:223,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/test/keymgmt_internal_test.c:223,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/keymgmt_internal_test.c:224,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/keymgmt_internal_test.c:231,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:236,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/keymgmt_internal_test.c:238,1
    - Dst: evp_keymgmt_export
      Src: /src/openssl/test/keymgmt_internal_test.c:238,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/keymgmt_internal_test.c:248,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/keymgmt_internal_test.c:249,1
    - Dst: TEST_info
      Src: /src/openssl/test/keymgmt_internal_test.c:252,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/keymgmt_internal_test.c:257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:262,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/keymgmt_internal_test.c:262,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/keymgmt_internal_test.c:265,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/keymgmt_internal_test.c:265,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/keymgmt_internal_test.c:266,1
    - Dst: RSA_free
      Src: /src/openssl/test/keymgmt_internal_test.c:273,1
    - Dst: BN_free
      Src: /src/openssl/test/keymgmt_internal_test.c:274,1
    - Dst: BN_free
      Src: /src/openssl/test/keymgmt_internal_test.c:275,1
    - Dst: BN_free
      Src: /src/openssl/test/keymgmt_internal_test.c:276,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/keymgmt_internal_test.c:277,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/keymgmt_internal_test.c:278,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/keymgmt_internal_test.c:279,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/keymgmt_internal_test.c:280,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 62
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 142
    functionDepth: 10
    functionLinenumber: 142
    functionLinenumberEnd: 283
    functionName: test_pass_rsa
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_multi_prime_params
    - EVP_KEYMGMT_fetch
    - TEST_ptr
    - BN_set_word
    - EVP_PKEY_assign_RSA
    - TEST_info
    - EVP_PKEY_free
    - evp_pkey_export_to_provider
    - BN_new
    - TEST_uint64_t_eq
    - TEST_true
    - BN_free
    - RSA_set0_factors
    - RSA_set0_crt_params
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - RSA_new
    - evp_keymgmt_export
    - RSA_set0_key
    - TEST_ptr_null
    - RSA_free
    - TEST_ptr_ne
    - TEST_int_eq
    - OSSL_NELEM
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: int
    signature: int test_pass_rsa(FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/keymgmt_internal_test.c:291,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/keymgmt_internal_test.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: test_pass_key
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_pass_key(int n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:308,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/keymgmt_internal_test.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:309,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/keymgmt_internal_test.c:309,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/keymgmt_internal_test.c:312,1
    - Dst: TEST_error
      Src: /src/openssl/test/keymgmt_internal_test.c:313,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/keymgmt_internal_test.c:314,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/keymgmt_internal_test.c:318,1
    - Dst: TEST_error
      Src: /src/openssl/test/keymgmt_internal_test.c:319,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/keymgmt_internal_test.c:321,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/test/keymgmt_internal_test.c:325,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/keymgmt_internal_test.c:326,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:329,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:333,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:333,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/test/keymgmt_internal_test.c:337,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:339,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/keymgmt_internal_test.c:339,1
    - Dst: BIO_free
      Src: /src/openssl/test/keymgmt_internal_test.c:346,1
    - Dst: X509_free
      Src: /src/openssl/test/keymgmt_internal_test.c:347,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/keymgmt_internal_test.c:348,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/keymgmt_internal_test.c:349,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/keymgmt_internal_test.c:350,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 296
    functionDepth: 10
    functionLinenumber: 296
    functionLinenumberEnd: 352
    functionName: test_evp_pkey_export_to_provider
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - OSSL_LIB_CTX_free
    - X509_get_X509_PUBKEY
    - BIO_free
    - OSSL_LIB_CTX_new
    - EVP_KEYMGMT_fetch
    - OSSL_PROVIDER_load
    - X509_free
    - OSSL_PROVIDER_unload
    - X509_PUBKEY_get0
    - evp_pkey_export_to_provider
    - TEST_openssl_errors
    - TEST_ptr
    - EVP_KEYMGMT_free
    - PEM_read_bio_X509
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_evp_pkey_export_to_provider(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/keymgmt_internal_test.c:356,1
    - Dst: test_get_argument
      Src: /src/openssl/test/keymgmt_internal_test.c:356,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/keymgmt_internal_test.c:359,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/keymgmt_internal_test.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/keymgmt_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - TEST_ptr
    - test_get_argument
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/openssl/test/asn1_string_table_test.c:23,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_string_table_test.c:24,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_table_test.c:25,1
    - Dst: ASN1_STRING_TABLE_add
      Src: /src/openssl/test/asn1_string_table_test.c:29,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_string_table_test.c:30,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_table_test.c:31,1
    - Dst: ASN1_STRING_TABLE_add
      Src: /src/openssl/test/asn1_string_table_test.c:35,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_string_table_test.c:36,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_table_test.c:37,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/openssl/test/asn1_string_table_test.c:41,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_table_test.c:42,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_table_test.c:43,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/openssl/test/asn1_string_table_test.c:47,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_string_table_test.c:48,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_table_test.c:49,1
    - Dst: ASN1_STRING_TABLE_cleanup
      Src: /src/openssl/test/asn1_string_table_test.c:53,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/openssl/test/asn1_string_table_test.c:56,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_string_table_test.c:57,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_table_test.c:58,1
    - Dst: ASN1_STRING_TABLE_get
      Src: /src/openssl/test/asn1_string_table_test.c:62,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_string_table_test.c:63,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_string_table_test.c:64,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 71
    functionName: test_string_tbl
    functionSourceFile: /src/openssl/test/asn1_string_table_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - ASN1_STRING_TABLE_get
    - ASN1_STRING_TABLE_cleanup
    - TEST_info
    - ASN1_STRING_TABLE_add
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_string_tbl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_string_table_test.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_string_table_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:29,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/v3ext.c:29,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:30,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/v3ext.c:30,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:31,1
    - Dst: X509_get_pathlen
      Src: /src/openssl/test/v3ext.c:31,1
    - Dst: BIO_free
      Src: /src/openssl/test/v3ext.c:37,1
    - Dst: X509_free
      Src: /src/openssl/test/v3ext.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: test_pathlen
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - X509_get_pathlen
    - BIO_free
    - TEST_int_eq
    - X509_free
    - TEST_ptr
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int test_pathlen(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASIdentifiers_new
      Src: /src/openssl/test/v3ext.c:46,1
    - Dst: ASIdentifiers_new
      Src: /src/openssl/test/v3ext.c:46,1
    - Dst: ASIdentifiers_new
      Src: /src/openssl/test/v3ext.c:47,1
    - Dst: ASIdentifiers_new
      Src: /src/openssl/test/v3ext.c:47,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:50,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:51,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:52,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:55,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/v3ext.c:55,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:56,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/test/v3ext.c:56,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:59,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/openssl/test/v3ext.c:59,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:63,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/v3ext.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:64,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/test/v3ext.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:67,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/openssl/test/v3ext.c:67,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:71,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/v3ext.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:72,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/test/v3ext.c:72,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:73,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/v3ext.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:74,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/test/v3ext.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:81,1
    - Dst: X509v3_asid_add_id_or_range
      Src: /src/openssl/test/v3ext.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:86,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:87,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:88,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:88,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:89,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:90,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:91,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:91,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:92,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:93,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:93,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:94,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:95,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:95,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:99,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:99,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:100,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:100,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:101,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:101,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:102,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:102,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:103,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:103,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:104,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:104,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:105,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:105,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:106,1
    - Dst: X509v3_asid_subset
      Src: /src/openssl/test/v3ext.c:106,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/v3ext.c:111,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/v3ext.c:112,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/test/v3ext.c:113,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/test/v3ext.c:114,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/test/v3ext.c:115,1
    - Dst: ASIdentifiers_free
      Src: /src/openssl/test/v3ext.c:116,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 118
    functionName: test_asid
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - ASIdentifiers_free
    - TEST_false
    - ASN1_INTEGER_new
    - ASIdentifiers_new
    - X509v3_asid_subset
    - ASN1_INTEGER_free
    - TEST_true
    - TEST_ptr
    - ASN1_INTEGER_set_int64
    - X509v3_asid_add_id_or_range
    linkageType: ''
    returnType: int
    signature: int test_asid(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:151,1
    - Dst: sk_IPAddressFamily_num
      Src: /src/openssl/test/v3ext.c:151,1
    - Dst: sk_IPAddressFamily_value
      Src: /src/openssl/test/v3ext.c:154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:155,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:161,1
    - Dst: sk_IPAddressOrRange_num
      Src: /src/openssl/test/v3ext.c:161,1
    - Dst: sk_IPAddressOrRange_value
      Src: /src/openssl/test/v3ext.c:164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:165,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - addr
    - type
    argTypes:
    - IPAddrBlocks*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: check_addr
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - sk_IPAddressFamily_value
    - sk_IPAddressOrRange_num
    - TEST_int_eq
    - sk_IPAddressOrRange_value
    - TEST_ptr
    - sk_IPAddressFamily_num
    linkageType: ''
    returnType: int
    signature: int check_addr(IPAddrBlocks *addr, int type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3ext.c:181,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/openssl/test/v3ext.c:182,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:189,1
    - Dst: X509v3_addr_canonize
      Src: /src/openssl/test/v3ext.c:189,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:192,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:193,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:195,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:198,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3ext.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:202,1
    - Dst: memcmp
      Src: /src/openssl/test/v3ext.c:202,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:205,1
    - Dst: X509v3_addr_add_range
      Src: /src/openssl/test/v3ext.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:208,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/openssl/test/v3ext.c:208,1
    - Dst: check_addr
      Src: /src/openssl/test/v3ext.c:211,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:214,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:216,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:217,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:223,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:224,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:225,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 227
    functionName: test_addr_ranges
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - memcmp
    - sk_IPAddressFamily_pop_free
    - ASN1_OCTET_STRING_free
    - X509v3_addr_is_canonical
    - X509v3_addr_add_range
    - TEST_int_eq
    - sk_IPAddressFamily_new_null
    - check_addr
    - OSSL_NELEM
    - TEST_true
    - TEST_ptr
    - X509v3_addr_canonize
    - a2i_IPADDRESS
    linkageType: ''
    returnType: int
    signature: int test_addr_ranges(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/openssl/test/v3ext.c:240,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:241,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:244,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:249,1
    - Dst: X509v3_addr_add_range
      Src: /src/openssl/test/v3ext.c:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:251,1
    - Dst: X509v3_addr_is_canonical
      Src: /src/openssl/test/v3ext.c:251,1
    - Dst: IPAddressFamily_new
      Src: /src/openssl/test/v3ext.c:262,1
    - Dst: IPAddressChoice_new
      Src: /src/openssl/test/v3ext.c:265,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/v3ext.c:268,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/v3ext.c:270,1
    - Dst: sk_IPAddressFamily_push
      Src: /src/openssl/test/v3ext.c:274,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:279,1
    - Dst: X509v3_addr_canonize
      Src: /src/openssl/test/v3ext.c:279,1
    - Dst: IPAddressFamily_free
      Src: /src/openssl/test/v3ext.c:283,1
    - Dst: sk_IPAddressFamily_pop
      Src: /src/openssl/test/v3ext.c:283,1
    - Dst: IPAddressFamily_new
      Src: /src/openssl/test/v3ext.c:290,1
    - Dst: IPAddressChoice_new
      Src: /src/openssl/test/v3ext.c:293,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/v3ext.c:296,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/v3ext.c:298,1
    - Dst: sk_IPAddressFamily_push
      Src: /src/openssl/test/v3ext.c:305,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:310,1
    - Dst: X509v3_addr_canonize
      Src: /src/openssl/test/v3ext.c:310,1
    - Dst: IPAddressFamily_free
      Src: /src/openssl/test/v3ext.c:316,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:317,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:319,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:320,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 322
    functionName: test_addr_fam_len
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - IPAddressChoice_new
    - IPAddressFamily_free
    - sk_IPAddressFamily_pop_free
    - ASN1_OCTET_STRING_free
    - X509v3_addr_is_canonical
    - IPAddressFamily_new
    - ASN1_OCTET_STRING_set
    - sk_IPAddressFamily_pop
    - TEST_false
    - X509v3_addr_add_range
    - sk_IPAddressFamily_new_null
    - TEST_true
    - TEST_ptr
    - X509v3_addr_canonize
    - a2i_IPADDRESS
    - sk_IPAddressFamily_push
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int test_addr_fam_len(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3ext.c:376,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/v3ext.c:378,1
    - Dst: strlen
      Src: /src/openssl/test/v3ext.c:379,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:383,1
    - Dst: NCONF_new_ex
      Src: /src/openssl/test/v3ext.c:386,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:387,1
    - Dst: BIO_free
      Src: /src/openssl/test/v3ext.c:388,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/v3ext.c:391,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/test/v3ext.c:391,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/test/v3ext.c:394,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/test/v3ext.c:395,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:398,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/test/v3ext.c:398,1
    - Dst: TEST_info
      Src: /src/openssl/test/v3ext.c:400,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/v3ext.c:404,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:405,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/test/v3ext.c:405,1
    - Dst: TEST_info
      Src: /src/openssl/test/v3ext.c:408,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/v3ext.c:409,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/v3ext.c:411,1
    - Dst: BIO_free
      Src: /src/openssl/test/v3ext.c:415,1
    - Dst: NCONF_free
      Src: /src/openssl/test/v3ext.c:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 420
    functionName: test_ext_syntax
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - NCONF_new_ex
    - TEST_true
    - BIO_free
    - TEST_false
    - X509V3_set_nconf
    - X509V3_EXT_add_nconf
    - TEST_info
    - ERR_set_mark
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - OSSL_NELEM
    - TEST_ptr
    - NCONF_free
    - NCONF_load_bio
    - BIO_new_mem_buf
    - strlen
    - TEST_long_gt
    - X509V3_set_ctx_test
    linkageType: ''
    returnType: int
    signature: int test_ext_syntax(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3ext.c:430,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:434,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/openssl/test/v3ext.c:434,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:435,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:435,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:436,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/v3ext.c:436,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:437,1
    - Dst: X509v3_addr_add_range
      Src: /src/openssl/test/v3ext.c:437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:442,1
    - Dst: sk_IPAddressFamily_new_null
      Src: /src/openssl/test/v3ext.c:442,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:443,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:443,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:444,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:444,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:445,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:445,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:446,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:446,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:447,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:448,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:448,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3ext.c:449,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:449,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:450,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:450,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:451,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:451,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:452,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:452,1
    - Dst: TEST_false
      Src: /src/openssl/test/v3ext.c:453,1
    - Dst: X509v3_addr_subset
      Src: /src/openssl/test/v3ext.c:453,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:455,1
    - Dst: sk_IPAddressFamily_pop_free
      Src: /src/openssl/test/v3ext.c:457,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:458,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/v3ext.c:459,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 462
    functionName: test_addr_subset
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - X509v3_addr_subset
    - sk_IPAddressFamily_pop_free
    - ASN1_OCTET_STRING_free
    - TEST_false
    - X509v3_addr_add_range
    - sk_IPAddressFamily_new_null
    - OSSL_NELEM
    - TEST_true
    - TEST_ptr
    - a2i_IPADDRESS
    linkageType: ''
    returnType: int
    signature: int test_addr_subset(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/v3ext.c:470,1
    - Dst: TEST_error
      Src: /src/openssl/test/v3ext.c:471,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3ext.c:475,1
    - Dst: test_get_argument
      Src: /src/openssl/test/v3ext.c:475,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:478,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:480,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:481,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:482,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:483,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3ext.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/v3ext.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:83,1
    - Dst: BIO_new_accept
      Src: /src/openssl/test/bio_tfo_test.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:84,1
    - Dst: BIO_set_nbio_accept
      Src: /src/openssl/test/bio_tfo_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:85,1
    - Dst: BIO_set_tfo_accept
      Src: /src/openssl/test/bio_tfo_test.c:85,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_tfo_test.c:86,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/bio_tfo_test.c:86,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:87,1
    - Dst: BIO_get_accept_port
      Src: /src/openssl/test/bio_tfo_test.c:87,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:88,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:95,1
    - Dst: BIO_new_connect
      Src: /src/openssl/test/bio_tfo_test.c:95,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/bio_tfo_test.c:96,1
    - Dst: BIO_set_conn_port
      Src: /src/openssl/test/bio_tfo_test.c:96,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/bio_tfo_test.c:97,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/test/bio_tfo_test.c:97,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/bio_tfo_test.c:98,1
    - Dst: BIO_set_tfo
      Src: /src/openssl/test/bio_tfo_test.c:98,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:99,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/bio_tfo_test.c:104,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/bio_tfo_test.c:105,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:107,1
    - Dst: BIO_pop
      Src: /src/openssl/test/bio_tfo_test.c:111,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:112,1
    - Dst: BIO_do_connect
      Src: /src/openssl/test/bio_tfo_test.c:117,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:118,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:120,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:123,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:129,1
    - Dst: BIO_wait
      Src: /src/openssl/test/bio_tfo_test.c:129,1
    - Dst: time
      Src: /src/openssl/test/bio_tfo_test.c:129,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:130,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:131,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/bio_tfo_test.c:136,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/bio_tfo_test.c:137,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:138,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:148,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:150,1
    - Dst: BIO_pop
      Src: /src/openssl/test/bio_tfo_test.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:156,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/bio_tfo_test.c:156,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:157,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:162,1
    - Dst: BIO_wait
      Src: /src/openssl/test/bio_tfo_test.c:162,1
    - Dst: time
      Src: /src/openssl/test/bio_tfo_test.c:162,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:163,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:164,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/bio_tfo_test.c:169,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:170,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:171,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:175,1
    - Dst: BIO_pop
      Src: /src/openssl/test/bio_tfo_test.c:175,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:176,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/bio_tfo_test.c:176,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_tfo_test.c:177,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/bio_tfo_test.c:178,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:179,1
    - Dst: strerror
      Src: /src/openssl/test/bio_tfo_test.c:189,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:192,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_tfo_test.c:194,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_tfo_test.c:195,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_tfo_test.c:196,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 115
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 198
    functionName: test_bio_tfo
    functionSourceFile: /src/openssl/test/bio_tfo_test.c
    functionUses: 0
    functionsReached:
    - BIO_do_connect
    - BIO_set_nbio_accept
    - BIO_set_tfo_accept
    - TEST_ptr
    - BIO_should_retry
    - BIO_write_ex
    - BIO_set_tfo
    - BIO_set_nbio
    - TEST_true
    - BIO_printf
    - BIO_new_accept
    - BIO_wait
    - time
    - strerror
    - BIO_free
    - TEST_size_t_eq
    - BIO_do_accept
    - BIO_set_conn_port
    - TEST_int_ge
    - BIO_new_connect
    - get_last_socket_error
    - TEST_strn_eq
    - BIO_get_accept_port
    - BIO_read_ex
    - TEST_long_gt
    - BIO_pop
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_tfo(int idx)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/bio_tfo_test.c:238,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_tfo_test.c:241,1
    - Dst: getaddrinfo
      Src: /src/openssl/test/bio_tfo_test.c:241,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:249,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:255,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:258,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_tfo_test.c:262,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_tfo_test.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:263,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_tfo_test.c:263,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:268,1
    - Dst: BIO_socket
      Src: /src/openssl/test/bio_tfo_test.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:269,1
    - Dst: BIO_listen
      Src: /src/openssl/test/bio_tfo_test.c:269,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:274,1
    - Dst: getsockname
      Src: /src/openssl/test/bio_tfo_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_tfo_test.c:292,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_tfo_test.c:292,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:296,1
    - Dst: BIO_socket
      Src: /src/openssl/test/bio_tfo_test.c:296,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/test/bio_tfo_test.c:300,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:302,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:305,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:309,1
    - Dst: BIO_connect
      Src: /src/openssl/test/bio_tfo_test.c:314,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:315,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:317,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:322,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:329,1
    - Dst: BIO_socket_wait
      Src: /src/openssl/test/bio_tfo_test.c:329,1
    - Dst: time
      Src: /src/openssl/test/bio_tfo_test.c:329,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:330,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:331,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/test/bio_tfo_test.c:336,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:338,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:341,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:346,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:348,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:350,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:352,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:358,1
    - Dst: sendto
      Src: /src/openssl/test/bio_tfo_test.c:358,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:360,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:364,1
    - Dst: writesocket
      Src: /src/openssl/test/bio_tfo_test.c:364,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:365,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_tfo_test.c:371,1
    - Dst: BIO_socket_wait
      Src: /src/openssl/test/bio_tfo_test.c:371,1
    - Dst: time
      Src: /src/openssl/test/bio_tfo_test.c:371,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:372,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:373,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/test/bio_tfo_test.c:378,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:380,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:381,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:384,1
    - Dst: readsocket
      Src: /src/openssl/test/bio_tfo_test.c:385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_tfo_test.c:386,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/bio_tfo_test.c:387,1
    - Dst: get_last_socket_error
      Src: /src/openssl/test/bio_tfo_test.c:388,1
    - Dst: strerror
      Src: /src/openssl/test/bio_tfo_test.c:398,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_tfo_test.c:401,1
    - Dst: freeaddrinfo
      Src: /src/openssl/test/bio_tfo_test.c:404,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_tfo_test.c:405,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/bio_tfo_test.c:406,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/bio_tfo_test.c:407,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/bio_tfo_test.c:408,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 171
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 410
    functionName: test_fd_tfo
    functionSourceFile: /src/openssl/test/bio_tfo_test.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_new
    - writesocket
    - getsockname
    - BIO_ADDR_rawmake
    - TEST_ptr
    - BIO_accept_ex
    - freeaddrinfo
    - sendto
    - TEST_true
    - BIO_printf
    - time
    - BIO_closesocket
    - strerror
    - BIO_socket
    - BIO_connect
    - readsocket
    - getaddrinfo
    - memset
    - BIO_ADDR_free
    - TEST_int_ge
    - TEST_int_eq
    - get_last_socket_error
    - BIO_listen
    - TEST_strn_eq
    - BIO_socket_wait
    linkageType: ''
    returnType: int
    signature: int test_fd_tfo(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_tfo_test.c:416,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_tfo_test.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_tfo_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: getname
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *getname(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_libctx_test.c:82,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:84,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:91,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/test/evp_libctx_test.c:91,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:98,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_libctx_test.c:98,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: test_evp_cipher_api_safety
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_get_block_size
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_evp_cipher_api_safety(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_libctx_test.c:144,1
    - Dst: getname
      Src: /src/openssl/test/evp_libctx_test.c:144,1
    - Dst: getname
      Src: /src/openssl/test/evp_libctx_test.c:145,1
    - Dst: getname
      Src: /src/openssl/test/evp_libctx_test.c:145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:147,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_libctx_test.c:147,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:148,1
    - Dst: DSA_new
      Src: /src/openssl/test/evp_libctx_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:149,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_libctx_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:150,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_libctx_test.c:150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:151,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_libctx_test.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:152,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/evp_libctx_test.c:152,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:156,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/test/evp_libctx_test.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:160,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:160,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_libctx_test.c:161,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_libctx_test.c:161,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:162,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_libctx_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:166,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_libctx_test.c:166,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:167,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_libctx_test.c:167,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:173,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:174,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:175,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:176,1
    - Dst: DSA_free
      Src: /src/openssl/test/evp_libctx_test.c:177,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_libctx_test.c:178,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_libctx_test.c:179,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_libctx_test.c:180,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 114
    functionDepth: 8
    functionLinenumber: 114
    functionLinenumberEnd: 182
    functionName: test_dsa_param_keygen
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - EVP_PKEY_keygen
    - BN_dup
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_free
    - DSA_new
    - EVP_PKEY_CTX_free
    - TEST_true
    - BN_free
    - DSA_set0_pqg
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - DSA_free
    - EVP_PKEY_CTX_new_from_pkey
    - getname
    - TEST_int_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_dsa_param_keygen(int tstid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_libctx_test.c:207,1
    - Dst: getname
      Src: /src/openssl/test/evp_libctx_test.c:207,1
    - Dst: getname
      Src: /src/openssl/test/evp_libctx_test.c:208,1
    - Dst: getname
      Src: /src/openssl/test/evp_libctx_test.c:208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:210,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_libctx_test.c:210,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:211,1
    - Dst: DH_new
      Src: /src/openssl/test/evp_libctx_test.c:211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:212,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_libctx_test.c:212,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:213,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_libctx_test.c:213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:214,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_libctx_test.c:214,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:215,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/evp_libctx_test.c:215,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:219,1
    - Dst: EVP_PKEY_assign_DH
      Src: /src/openssl/test/evp_libctx_test.c:219,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:223,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:223,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_libctx_test.c:224,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_libctx_test.c:224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:225,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_libctx_test.c:225,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:229,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_libctx_test.c:229,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:230,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_libctx_test.c:230,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:236,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:237,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:238,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:239,1
    - Dst: DH_free
      Src: /src/openssl/test/evp_libctx_test.c:240,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_libctx_test.c:241,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_libctx_test.c:242,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_libctx_test.c:243,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 2
    argNames:
    - tstid
    - bn
    argTypes:
    - int
    - BIGNUM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 186
    functionDepth: 8
    functionLinenumber: 186
    functionLinenumberEnd: 245
    functionName: do_dh_param_keygen
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - EVP_PKEY_assign_DH
    - EVP_PKEY_keygen
    - BN_dup
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - BN_free
    - DH_new
    - EVP_PKEY_new
    - EVP_PKEY_dup
    - EVP_PKEY_eq
    - EVP_PKEY_CTX_new_from_pkey
    - DH_free
    - DH_set0_pqg
    - getname
    - TEST_int_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int do_dh_param_keygen(int tstid, const BIGNUM **bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dh_param_keygen
      Src: /src/openssl/test/evp_libctx_test.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 9
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: test_dh_safeprime_param_keygen
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - do_dh_param_keygen
    linkageType: ''
    returnType: int
    signature: int test_dh_safeprime_param_keygen(int tstid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:335,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_libctx_test.c:335,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:336,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/evp_libctx_test.c:336,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:337,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/test/evp_libctx_test.c:337,1
    - Dst: X509_free
      Src: /src/openssl/test/evp_libctx_test.c:341,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_libctx_test.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 344
    functionName: dhx_cert_load
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - X509_free
    - BIO_new_mem_buf
    - X509_new_ex
    - TEST_ptr
    - d2i_X509_bio
    linkageType: ''
    returnType: int
    signature: int dhx_cert_load(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_libctx_test.c:379,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:381,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_libctx_test.c:381,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_libctx_test.c:384,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:385,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_libctx_test.c:385,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:389,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:392,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_libctx_test.c:398,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_libctx_test.c:399,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_libctx_test.c:400,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_libctx_test.c:403,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:404,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:405,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:406,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:406,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:407,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:407,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:410,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:410,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:411,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:411,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/evp_libctx_test.c:417,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/evp_libctx_test.c:418,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/evp_libctx_test.c:419,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:422,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:423,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_libctx_test.c:429,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:430,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 32
    argCount: 1
    argNames:
    - test_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 348
    functionDepth: 9
    functionLinenumber: 348
    functionLinenumberEnd: 432
    functionName: test_cipher_reinit
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - TEST_mem_ne
    - TEST_note
    - EVP_EncryptUpdate
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - TEST_ptr
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_is_a
    - TEST_true
    - sk_OPENSSL_STRING_value
    - TEST_mem_eq
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: int test_cipher_reinit(int test_id)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_libctx_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:475,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_libctx_test.c:475,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_libctx_test.c:478,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:479,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_libctx_test.c:479,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/test/evp_libctx_test.c:482,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_libctx_test.c:483,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_libctx_test.c:489,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:492,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:493,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:494,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:499,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:500,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:500,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:501,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:501,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:502,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:502,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_libctx_test.c:505,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:506,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_libctx_test.c:509,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:510,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_libctx_test.c:510,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:511,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_libctx_test.c:511,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_libctx_test.c:514,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:515,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_libctx_test.c:520,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:521,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 41
    argCount: 1
    argNames:
    - test_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 440
    functionDepth: 6
    functionLinenumber: 440
    functionLinenumberEnd: 523
    functionName: test_cipher_reinit_partialupdate
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_get_iv_length
    - TEST_note
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_free
    - TEST_ptr
    - EVP_CIPHER_fetch
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_free
    - TEST_true
    - sk_OPENSSL_STRING_value
    - TEST_mem_eq
    - EVP_CIPHER_get_block_size
    - EVP_CIPHER_get_mode
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_cipher_reinit_partialupdate(int test_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_libctx_test.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: name_cmp
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 9
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int name_cmp(const char * const *a, const char * const *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/evp_libctx_test.c:532,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_libctx_test.c:533,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/evp_libctx_test.c:537,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_libctx_test.c:538,1
    - Dst: assert
      Src: /src/openssl/test/evp_libctx_test.c:540,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_libctx_test.c:542,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/test/evp_libctx_test.c:543,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_libctx_test.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - cipher
    - cipher_names_list
    argTypes:
    - EVP_CIPHER*
    - void*
    assertStmts:
    - condition: (name != NULL)
      pos:
        line_end: 539
        line_start: 539
        source_file: /src/openssl/test/evp_libctx_test.c
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 10
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: collect_cipher_names
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - EVP_CIPHER_get0_name
    - OSSL_PROVIDER_available
    - STACK_OF
    - strncmp
    - OPENSSL_strdup
    - OPENSSL_free
    - assert
    linkageType: ''
    returnType: void
    signature: void collect_cipher_names(EVP_CIPHER *cipher, void *cipher_names_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:555,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_libctx_test.c:555,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:556,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/evp_libctx_test.c:557,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:561,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/evp_libctx_test.c:561,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:564,1
    - Dst: d2i_PublicKey
      Src: /src/openssl/test/evp_libctx_test.c:564,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_libctx_test.c:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - bits
    - pub
    - priv
    argTypes:
    - int
    - EVP_PKEY**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 547
    functionDepth: 11
    functionLinenumber: 547
    functionLinenumberEnd: 571
    functionName: rsa_keygen
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 2
    functionsReached:
    - d2i_PublicKey
    - OSSL_ENCODER_to_data
    - OSSL_ENCODER_CTX_new_for_pkey
    - OPENSSL_free
    - EVP_PKEY_Q_keygen
    - OSSL_ENCODER_CTX_free
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int rsa_keygen(int bits, EVP_PKEY **pub, EVP_PKEY **priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:585,1
    - Dst: rsa_keygen
      Src: /src/openssl/test/evp_libctx_test.c:585,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:586,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:586,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:587,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:587,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:588,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:588,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:589,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_libctx_test.c:589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:591,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:591,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:592,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:592,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_libctx_test.c:594,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_libctx_test.c:595,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:596,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:596,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:598,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:599,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:599,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:600,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:602,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:602,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:603,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:603,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:605,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:605,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_libctx_test.c:607,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/evp_libctx_test.c:610,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:612,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:612,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:616,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:616,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:621,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:622,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:623,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:624,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:625,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 573
    functionDepth: 12
    functionLinenumber: 573
    functionLinenumberEnd: 627
    functionName: kem_rsa_gen_recover
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - EVP_PKEY_free
    - fips_provider_version_match
    - TEST_ptr
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_size_t_eq
    - EVP_PKEY_CTX_free
    - EVP_PKEY_encapsulate_init
    - TEST_true
    - EVP_PKEY_encapsulate
    - rsa_keygen
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int kem_rsa_gen_recover(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_libctx_test.c:643,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_libctx_test.c:644,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:645,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_libctx_test.c:645,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:646,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_libctx_test.c:646,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:647,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_libctx_test.c:647,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_libctx_test.c:648,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_libctx_test.c:648,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:649,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_libctx_test.c:649,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:650,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_libctx_test.c:650,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_libctx_test.c:652,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/test/evp_libctx_test.c:652,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:654,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_libctx_test.c:655,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_libctx_test.c:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 634
    functionDepth: 5
    functionLinenumber: 634
    functionLinenumberEnd: 658
    functionName: test_cipher_tdes_randkey
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_rand_key
    - TEST_int_ne
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_free
    - TEST_ptr
    - EVP_CIPHER_fetch
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_free
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_CipherInit_ex2
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_cipher_tdes_randkey(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:671,1
    - Dst: rsa_keygen
      Src: /src/openssl/test/evp_libctx_test.c:671,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:672,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:672,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:673,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:673,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:675,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:675,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:677,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:677,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:678,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:678,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:679,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:679,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:680,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:680,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:682,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:682,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:683,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:683,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:685,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:685,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:686,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:686,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:687,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:687,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/evp_libctx_test.c:689,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:691,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:691,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:693,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:693,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:694,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:695,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:696,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:696,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:698,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:698,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:699,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:699,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:700,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:700,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:701,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:701,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:703,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:703,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:704,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:704,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:705,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:705,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:706,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:706,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:708,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:708,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:709,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:709,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:711,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:711,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:712,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:712,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:713,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:713,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:714,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:714,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:716,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:716,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:718,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_libctx_test.c:718,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:720,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:720,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:721,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_libctx_test.c:721,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:722,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:722,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:723,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:723,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_libctx_test.c:724,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:726,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:726,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:727,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:727,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:728,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:728,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:729,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_libctx_test.c:729,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:731,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:732,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:733,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:734,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 661
    functionDepth: 12
    functionLinenumber: 661
    functionLinenumberEnd: 736
    functionName: kem_rsa_params
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_decapsulate_init
    - TEST_uchar_eq
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_size_t_eq
    - EVP_PKEY_encapsulate_init
    - TEST_true
    - EVP_PKEY_encapsulate
    - rsa_keygen
    linkageType: ''
    returnType: int
    signature: int kem_rsa_params(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_libctx_test.c:745,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_libctx_test.c:746,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:748,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_libctx_test.c:748,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_libctx_test.c:749,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_libctx_test.c:749,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:750,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_libctx_test.c:750,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_libctx_test.c:751,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_libctx_test.c:751,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 739
    functionDepth: 8
    functionLinenumber: 739
    functionLinenumberEnd: 756
    functionName: gen_dh_key
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - TEST_int_gt
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *gen_dh_key(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:765,1
    - Dst: gen_dh_key
      Src: /src/openssl/test/evp_libctx_test.c:765,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:768,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_libctx_test.c:768,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_libctx_test.c:770,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_libctx_test.c:770,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_libctx_test.c:775,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 759
    functionDepth: 12
    functionLinenumber: 759
    functionLinenumberEnd: 778
    functionName: kem_invalid_keytype
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - gen_dh_key
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate_init
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int kem_invalid_keytype(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/evp_libctx_test.c:787,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_libctx_test.c:790,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_libctx_test.c:793,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/evp_libctx_test.c:803,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:806,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_libctx_test.c:808,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/evp_libctx_test.c:811,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/evp_libctx_test.c:814,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_libctx_test.c:815,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_libctx_test.c:818,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:819,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_libctx_test.c:822,1
    - Dst: sk_OPENSSL_STRING_new
      Src: /src/openssl/test/evp_libctx_test.c:822,1
    - Dst: EVP_CIPHER_do_all_provided
      Src: /src/openssl/test/evp_libctx_test.c:824,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_libctx_test.c:826,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_libctx_test.c:826,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_libctx_test.c:827,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_libctx_test.c:828,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:829,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:830,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:832,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_libctx_test.c:835,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 838
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_do_all_provided
    - opt_next
    - ADD_TEST
    - sk_OPENSSL_STRING_num
    - TEST_ptr
    - test_get_libctx
    - fips_provider_version_lt
    - strcmp
    - opt_arg
    - ADD_ALL_TESTS
    - sk_OPENSSL_STRING_new
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_libctx_test.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 844
    functionName: string_free
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void string_free(char *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/test/evp_libctx_test.c:848,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_libctx_test.c:849,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_libctx_test.c:850,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_libctx_test.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 846
    functionDepth: 4
    functionLinenumber: 846
    functionLinenumberEnd: 852
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_libctx_test.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_unload
    - sk_OPENSSL_STRING_pop_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/bio_prefix_text.c:66,1
    - Dst: BIO_vprintf
      Src: /src/openssl/test/bio_prefix_text.c:67,1
    - Dst: va_end
      Src: /src/openssl/test/bio_prefix_text.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: opt_printf_stderr
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 0
    functionsReached:
    - va_end
    - BIO_vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int opt_printf_stderr(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_prefix_text.c:76,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/bio_prefix_text.c:80,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/bio_prefix_text.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: run_pipe
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 0
    functionsReached:
    - BIO_write_ex
    - BIO_eof
    - BIO_read_ex
    linkageType: ''
    returnType: int
    signature: int run_pipe(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/bio_prefix_text.c:99,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/bio_prefix_text.c:104,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_prefix_text.c:110,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/test/bio_prefix_text.c:110,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_prefix_text.c:114,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_prefix_text.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_prefix_text.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 126
    functionName: setup_bio_chain
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 0
    functionsReached:
    - BIO_up_ref
    - BIO_new
    - OPENSSL_calloc
    - BIO_free_all
    - OPENSSL_free
    - BIO_push
    - BIO_f_prefix
    linkageType: ''
    returnType: int
    signature: int setup_bio_chain(const char *progname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_prefix_text.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_prefix_text.c:132,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_prefix_text.c:135,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_prefix_text.c:136,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_prefix_text.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: cleanup
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 77
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: opt_getprog
      Src: /src/openssl/test/bio_prefix_text.c:147,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/bio_prefix_text.c:149,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/bio_prefix_text.c:150,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/bio_prefix_text.c:151,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_prefix_text.c:153,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_prefix_text.c:153,1
    - Dst: BIO_f_linebuffer
      Src: /src/openssl/test/bio_prefix_text.c:153,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_prefix_text.c:154,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_prefix_text.c:154,1
    - Dst: BIO_f_linebuffer
      Src: /src/openssl/test/bio_prefix_text.c:154,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/bio_prefix_text.c:157,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/bio_prefix_text.c:158,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/bio_prefix_text.c:159,1
    - Dst: opt_next
      Src: /src/openssl/test/bio_prefix_text.c:162,1
    - Dst: opt_arg
      Src: /src/openssl/test/bio_prefix_text.c:165,1
    - Dst: strtoul
      Src: /src/openssl/test/bio_prefix_text.c:166,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:168,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:174,1
    - Dst: setup_bio_chain
      Src: /src/openssl/test/bio_prefix_text.c:178,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:186,1
    - Dst: opt_arg
      Src: /src/openssl/test/bio_prefix_text.c:189,1
    - Dst: strchr
      Src: /src/openssl/test/bio_prefix_text.c:190,1
    - Dst: strtoul
      Src: /src/openssl/test/bio_prefix_text.c:193,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:195,1
    - Dst: strtoul
      Src: /src/openssl/test/bio_prefix_text.c:204,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:212,1
    - Dst: BIO_set_indent
      Src: /src/openssl/test/bio_prefix_text.c:216,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:217,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:224,1
    - Dst: opt_arg
      Src: /src/openssl/test/bio_prefix_text.c:227,1
    - Dst: strchr
      Src: /src/openssl/test/bio_prefix_text.c:228,1
    - Dst: strtoul
      Src: /src/openssl/test/bio_prefix_text.c:231,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:233,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:243,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/bio_prefix_text.c:247,1
    - Dst: BIO_printf
      Src: /src/openssl/test/bio_prefix_text.c:248,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 259
    functionName: setup
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 70
    functionsReached:
    - opt_getprog
    - BIO_new
    - strchr
    - BIO_set_indent
    - opt_next
    - BIO_new_fp
    - strtoul
    - OPENSSL_assert
    - BIO_set_prefix
    - setup_bio_chain
    - BIO_push
    - opt_arg
    - BIO_f_linebuffer
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/test/bio_prefix_text.c:265,1
    - Dst: setup
      Src: /src/openssl/test/bio_prefix_text.c:266,1
    - Dst: run_pipe
      Src: /src/openssl/test/bio_prefix_text.c:266,1
    - Dst: cleanup
      Src: /src/openssl/test/bio_prefix_text.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 7
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: main
    functionSourceFile: /src/openssl/test/bio_prefix_text.c
    functionUses: 4
    functionsReached:
    - opt_init
    - run_pipe
    - cleanup
    - setup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:149,1
    - Dst: BIO_new
      Src: /src/openssl/test/pkcs7_test.c:149,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/pkcs7_test.c:149,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pkcs7_test.c:151,1
    - Dst: BIO_puts
      Src: /src/openssl/test/pkcs7_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:154,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/pkcs7_test.c:154,1
    - Dst: strlen
      Src: /src/openssl/test/pkcs7_test.c:154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:155,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/pkcs7_test.c:155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:156,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/test/pkcs7_test.c:156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs7_test.c:157,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs7_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:158,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/pkcs7_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs7_test.c:159,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/pkcs7_test.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:160,1
    - Dst: SMIME_read_PKCS7
      Src: /src/openssl/test/pkcs7_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs7_test.c:161,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs7_test.c:161,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs7_test.c:162,1
    - Dst: PKCS7_verify
      Src: /src/openssl/test/pkcs7_test.c:162,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs7_test.c:163,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs7_test.c:163,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/pkcs7_test.c:165,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs7_test.c:166,1
    - Dst: PKCS7_free
      Src: /src/openssl/test/pkcs7_test.c:167,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs7_test.c:168,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs7_test.c:169,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs7_test.c:170,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 129
    functionDepth: 9
    functionLinenumber: 129
    functionLinenumberEnd: 172
    functionName: pkcs7_verify_test
    functionSourceFile: /src/openssl/test/pkcs7_test.c
    functionUses: 0
    functionsReached:
    - PKCS7_free
    - X509_STORE_free
    - X509_STORE_add_cert
    - X509_free
    - BIO_s_mem
    - TEST_ptr
    - strlen
    - d2i_X509_bio
    - BIO_new
    - X509_STORE_new
    - TEST_true
    - ERR_peek_error
    - BIO_puts
    - BIO_free
    - SMIME_read_PKCS7
    - PKCS7_verify
    - TEST_int_eq
    - OSSL_NELEM
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: int pkcs7_verify_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:364,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/pkcs7_test.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:367,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/pkcs7_test.c:367,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:368,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/test/pkcs7_test.c:368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs7_test.c:369,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs7_test.c:369,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:370,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/pkcs7_test.c:370,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs7_test.c:371,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/pkcs7_test.c:371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:372,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/pkcs7_test.c:372,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs7_test.c:373,1
    - Dst: X509_VERIFY_PARAM_set_purpose
      Src: /src/openssl/test/pkcs7_test.c:373,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs7_test.c:375,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/test/pkcs7_test.c:375,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs7_test.c:376,1
    - Dst: d2i_PKCS7_bio
      Src: /src/openssl/test/pkcs7_test.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs7_test.c:377,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs7_test.c:377,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs7_test.c:378,1
    - Dst: PKCS7_verify
      Src: /src/openssl/test/pkcs7_test.c:378,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pkcs7_test.c:379,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/pkcs7_test.c:379,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/pkcs7_test.c:381,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs7_test.c:382,1
    - Dst: PKCS7_free
      Src: /src/openssl/test/pkcs7_test.c:383,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs7_test.c:384,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs7_test.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 387
    functionName: pkcs7_inner_content_verify_test
    functionSourceFile: /src/openssl/test/pkcs7_test.c
    functionUses: 0
    functionsReached:
    - PKCS7_verify
    - X509_STORE_new
    - PKCS7_free
    - X509_STORE_free
    - X509_STORE_set1_param
    - X509_STORE_add_cert
    - BIO_free
    - TEST_int_eq
    - d2i_PKCS7_bio
    - BIO_new_mem_buf
    - X509_VERIFY_PARAM_set_purpose
    - X509_free
    - X509_STORE_get0_param
    - TEST_true
    - ERR_peek_error
    - TEST_ptr
    - d2i_X509_bio
    linkageType: ''
    returnType: int
    signature: int pkcs7_inner_content_verify_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs7_test.c:393,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs7_test.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pkcs7_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_readbuffer_test.c:35,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/bio_readbuffer_test.c:35,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:36,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/bio_readbuffer_test.c:36,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/bio_readbuffer_test.c:38,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_readbuffer_test.c:40,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_readbuffer_test.c:44,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_readbuffer_test.c:44,1
    - Dst: BIO_f_readbuffer
      Src: /src/openssl/test/bio_readbuffer_test.c:44,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_readbuffer_test.c:45,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/bio_readbuffer_test.c:45,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_readbuffer_test.c:48,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:51,1
    - Dst: BIO_tell
      Src: /src/openssl/test/bio_readbuffer_test.c:51,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_readbuffer_test.c:56,1
    - Dst: BIO_gets
      Src: /src/openssl/test/bio_readbuffer_test.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_readbuffer_test.c:59,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_readbuffer_test.c:59,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_readbuffer_test.c:62,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bio_readbuffer_test.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_readbuffer_test.c:65,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_readbuffer_test.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_readbuffer_test.c:70,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:77,1
    - Dst: BIO_seek
      Src: /src/openssl/test/bio_readbuffer_test.c:77,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_readbuffer_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:82,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/bio_readbuffer_test.c:82,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:84,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_readbuffer_test.c:89,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_readbuffer_test.c:93,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_readbuffer_test.c:94,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_readbuffer_test.c:95,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 60
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 97
    functionName: test_readbuffer_file_bio
    functionSourceFile: /src/openssl/test/bio_readbuffer_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - TEST_ptr
    - BIO_new
    - BIO_seek
    - BIO_tell
    - BIO_f_readbuffer
    - BIO_eof
    - BIO_free_all
    - BIO_push
    - TEST_true
    - BIO_new_file
    - BIO_gets
    - BIO_free
    - TEST_size_t_eq
    - TEST_size_t_lt
    - TEST_int_eq
    - BIO_read_ex
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_readbuffer_file_bio(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/bio_readbuffer_test.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/bio_readbuffer_test.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/bio_readbuffer_test.c:119,1
    - Dst: test_get_argument
      Src: /src/openssl/test/bio_readbuffer_test.c:127,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_readbuffer_test.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_readbuffer_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - test_get_argument
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/test/cmp_client_test.c:48,1
    - Dst: ossl_cmp_mock_srv_free
      Src: /src/openssl/test/cmp_client_test.c:49,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/cmp_client_test.c:50,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_client_test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 5
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 14
    functionsReached:
    - ossl_cmp_mock_srv_free
    - OSSL_CMP_CTX_free
    - OPENSSL_free
    - sk_X509_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:60,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_client_test.c:60,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:63,1
    - Dst: ossl_cmp_mock_srv_new
      Src: /src/openssl/test/cmp_client_test.c:63,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_unprotected
      Src: /src/openssl/test/cmp_client_test.c:64,1
    - Dst: ossl_cmp_mock_srv_set1_refCert
      Src: /src/openssl/test/cmp_client_test.c:65,1
    - Dst: ossl_cmp_mock_srv_set1_certOut
      Src: /src/openssl/test/cmp_client_test.c:66,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/test/cmp_client_test.c:68,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/openssl/test/cmp_client_test.c:69,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_client_test.c:70,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:72,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_client_test.c:72,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_client_test.c:73,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb
      Src: /src/openssl/test/cmp_client_test.c:74,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:75,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:76,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:77,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/openssl/test/cmp_client_test.c:78,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_client_test.c:79,1
    - Dst: OSSL_CMP_CTX_set1_srvCert
      Src: /src/openssl/test/cmp_client_test.c:81,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_client_test.c:82,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_client_test.c:88,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 16
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 54
    functionDepth: 12
    functionLinenumber: 54
    functionLinenumberEnd: 90
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    - OPENSSL_zalloc
    - OSSL_CMP_CTX_set1_referenceValue
    - OSSL_CMP_CTX_set_log_cb
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - OSSL_CMP_CTX_set1_srvCert
    - OSSL_CMP_CTX_set1_pkey
    - OSSL_CMP_CTX_set_transfer_cb
    - OSSL_CMP_CTX_set1_oldCert
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - tear_down
    - OSSL_CMP_CTX_set_option
    - ossl_cmp_mock_srv_set1_refCert
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - ossl_cmp_mock_srv_new
    - OSSL_CMP_CTX_set1_cert
    - ossl_cmp_mock_srv_set1_certOut
    linkageType: ''
    returnType: CMP_SES_TEST_FIXTURE
    signature: CMP_SES_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:94,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:94,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:96,1
    - Dst: OSSL_CMP_exec_RR_ses
      Src: /src/openssl/test/cmp_client_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:98,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fixt
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 21
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: execute_exec_RR_ses_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_exec_RR_ses
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int execute_exec_RR_ses_test(CMP_SES_TEST_FIXTURE *fixt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/cmp_client_test.c:104,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/test/cmp_client_test.c:105,1
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_client_test.c:106,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/openssl/test/cmp_client_test.c:108,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/openssl/test/cmp_client_test.c:109,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/test/cmp_client_test.c:111,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:112,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:114,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_client_test.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 7
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: execute_exec_GENM_ses_test_single
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - OSSL_CMP_CTX_push0_genm_ITAV
    - OSSL_CMP_ITAV_create
    - OSSL_CMP_CTX_get_status
    - TEST_int_eq
    - sk_OSSL_CMP_ITAV_pop_free
    - STACK_OF
    - OSSL_CMP_exec_GENM_ses
    - TEST_ptr
    - OBJ_txt2obj
    linkageType: ''
    returnType: int
    signature: int execute_exec_GENM_ses_test_single(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_exec_GENM_ses_test_single
      Src: /src/openssl/test/cmp_client_test.c:119,1
    - Dst: OSSL_CMP_CTX_reinit
      Src: /src/openssl/test/cmp_client_test.c:120,1
    - Dst: execute_exec_GENM_ses_test_single
      Src: /src/openssl/test/cmp_client_test.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 8
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: execute_exec_GENM_ses_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - execute_exec_GENM_ses_test_single
    - OSSL_CMP_CTX_reinit
    linkageType: ''
    returnType: int
    signature: int execute_exec_GENM_ses_test(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_exec_certreq
      Src: /src/openssl/test/cmp_client_test.c:127,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/test/cmp_client_test.c:128,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/test/cmp_client_test.c:130,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:131,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:133,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_client_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:138,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:138,1
    - Dst: X509_cmp
      Src: /src/openssl/test/cmp_client_test.c:138,1
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_client_test.c:141,1
    - Dst: OSSL_CMP_CTX_get1_caPubs
      Src: /src/openssl/test/cmp_client_test.c:141,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:142,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/openssl/test/cmp_client_test.c:142,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/cmp_client_test.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 124
    functionDepth: 23
    functionLinenumber: 124
    functionLinenumberEnd: 148
    functionName: execute_exec_certrequest_ses_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - OSSL_CMP_exec_certreq
    - TEST_int_eq
    - STACK_OF_X509_cmp
    - X509_cmp
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - TEST_ptr
    - OSSL_CMP_CTX_get1_caPubs
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_CTX_print_errors
    linkageType: ''
    returnType: int
    signature: int execute_exec_certrequest_ses_test(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:152,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/openssl/test/cmp_client_test.c:154,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - request_error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: test_exec_RR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_oldCert
    linkageType: ''
    returnType: int
    signature: int test_exec_RR_ses(int request_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_RR_ses
      Src: /src/openssl/test/cmp_client_test.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: test_exec_RR_ses_ok
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_RR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_RR_ses_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_RR_ses
      Src: /src/openssl/test/cmp_client_test.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: test_exec_RR_ses_request_error
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_RR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_RR_ses_request_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:173,1
    - Dst: ossl_cmp_mock_srv_set_statusInfo
      Src: /src/openssl/test/cmp_client_test.c:174,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/openssl/test/cmp_client_test.c:178,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: test_exec_RR_ses_receive_error
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_mock_srv_set_statusInfo
    - EXECUTE_TEST
    - ossl_cmp_mock_srv_set_sendError
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_exec_RR_ses_receive_error(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:186,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_client_test.c:189,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_client_test.c:190,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_client_test.c:191,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_client_test.c:192,1
    - Dst: ossl_cmp_mock_srv_set1_caPubsOut
      Src: /src/openssl/test/cmp_client_test.c:195,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: test_exec_IR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_push
    - tear_down
    - sk_X509_new_null
    - EXECUTE_TEST
    - ossl_cmp_mock_srv_set1_caPubsOut
    linkageType: ''
    returnType: int
    signature: int test_exec_IR_ses(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:204,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/openssl/test/cmp_client_test.c:207,1
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/openssl/test/cmp_client_test.c:208,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:209,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:213,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - req_type
    - check_after
    - poll_count
    - total_timeout
    - expect
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 218
    functionName: test_exec_REQ_ses_poll
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - ossl_cmp_mock_srv_set_checkAfterTime
    - OSSL_CMP_CTX_set_option
    - EXECUTE_TEST
    - ossl_cmp_mock_srv_set_pollCount
    linkageType: ''
    returnType: int
    signature: "int test_exec_REQ_ses_poll(int req_type, int check_after,\n                                  int
      poll_count, int total_timeout,\n                                  int expect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_REQ_ses_poll
      Src: /src/openssl/test/cmp_client_test.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: test_exec_IR_ses_poll_ok
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_REQ_ses_poll
    linkageType: ''
    returnType: int
    signature: int test_exec_IR_ses_poll_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_REQ_ses_poll
      Src: /src/openssl/test/cmp_client_test.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: test_exec_IR_ses_poll_no_timeout
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_REQ_ses_poll
    linkageType: ''
    returnType: int
    signature: int test_exec_IR_ses_poll_no_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_REQ_ses_poll
      Src: /src/openssl/test/cmp_client_test.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: test_exec_IR_ses_poll_total_timeout
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_REQ_ses_poll
    linkageType: ''
    returnType: int
    signature: int test_exec_IR_ses_poll_total_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:244,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:246,1
    - Dst: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
      Src: /src/openssl/test/cmp_client_test.c:248,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/openssl/test/cmp_client_test.c:249,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - implicit_confirm
    - granted
    - reject
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: test_exec_CR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    - SETUP_TEST_FIXTURE
    - ossl_cmp_mock_srv_set_sendError
    - OSSL_CMP_CTX_set_option
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_exec_CR_ses(int implicit_confirm, int granted, int reject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_CR_ses
      Src: /src/openssl/test/cmp_client_test.c:259,1
    - Dst: test_exec_CR_ses
      Src: /src/openssl/test/cmp_client_test.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: test_exec_CR_ses_explicit_confirm
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_CR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_CR_ses_explicit_confirm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_CR_ses
      Src: /src/openssl/test/cmp_client_test.c:265,1
    - Dst: test_exec_CR_ses
      Src: /src/openssl/test/cmp_client_test.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: test_exec_CR_ses_implicit_confirm
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_CR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_CR_ses_implicit_confirm(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:271,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:276,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/cmp_client_test.c:280,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/test/cmp_client_test.c:283,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_raverified
      Src: /src/openssl/test/cmp_client_test.c:284,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/test/cmp_client_test.c:287,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - transfer_error
    - pubkey
    - raverified
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 293
    functionName: test_exec_KUR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set0_newPkey
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - EVP_PKEY_up_ref
    - OSSL_CMP_CTX_set_option
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_exec_KUR_ses(int transfer_error, int pubkey, int raverified)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/openssl/test/cmp_client_test.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 6
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: test_exec_KUR_ses_ok
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_KUR_ses_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/openssl/test/cmp_client_test.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 6
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: test_exec_KUR_ses_transfer_error
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_KUR_ses_transfer_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/openssl/test/cmp_client_test.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 6
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: test_exec_KUR_ses_wrong_popo
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_KUR_ses_wrong_popo(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/openssl/test/cmp_client_test.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 6
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: test_exec_KUR_ses_pub
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_KUR_ses_pub(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_KUR_ses
      Src: /src/openssl/test/cmp_client_test.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 6
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: test_exec_KUR_ses_wrong_pub
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_KUR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_KUR_ses_wrong_pub(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_certConf_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - cert
    - fail_info
    - txt
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 334
    functionName: test_certConf_cb
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_get_certConf_cb_arg
    linkageType: ''
    returnType: int
    signature: "int test_certConf_cb(OSSL_CMP_CTX *ctx, X509 *cert, int fail_info,\n
      \                           const char **txt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:341,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:346,1
    - Dst: load_csr_der
      Src: /src/openssl/test/cmp_client_test.c:346,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_client_test.c:347,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/openssl/test/cmp_client_test.c:347,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_client_test.c:348,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb
      Src: /src/openssl/test/cmp_client_test.c:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_client_test.c:349,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:349,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_client_test.c:350,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/cmp_client_test.c:353,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - reject
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 356
    functionName: test_exec_P10CR_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    - OSSL_CMP_CTX_set_certConf_cb_arg
    - SETUP_TEST_FIXTURE
    - load_csr_der
    - OSSL_CMP_CTX_set1_p10CSR
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set_certConf_cb
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_exec_P10CR_ses(int reject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_P10CR_ses
      Src: /src/openssl/test/cmp_client_test.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: test_exec_P10CR_ses_ok
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_P10CR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_P10CR_ses_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_P10CR_ses
      Src: /src/openssl/test/cmp_client_test.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: test_exec_P10CR_ses_reject
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_P10CR_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_P10CR_ses_reject(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/openssl/test/cmp_client_test.c:375,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/openssl/test/cmp_client_test.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:377,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:377,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_client_test.c:379,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:379,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:380,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:380,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_client_test.c:382,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:382,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:383,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:385,1
    - Dst: X509_cmp
      Src: /src/openssl/test/cmp_client_test.c:386,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 368
    functionDepth: 23
    functionLinenumber: 368
    functionLinenumberEnd: 387
    functionName: execute_try_certreq_poll_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_try_certreq
    - TEST_int_eq
    - X509_cmp
    - OSSL_CMP_CTX_get0_newCert
    - ossl_cmp_mock_srv_set_checkAfterTime
    - TEST_ptr_eq
    - ossl_cmp_mock_srv_set_pollCount
    linkageType: ''
    returnType: int
    signature: int execute_try_certreq_poll_test(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:391,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: test_try_certreq_poll
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_try_certreq_poll(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/openssl/test/cmp_client_test.c:404,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/openssl/test/cmp_client_test.c:405,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:406,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:406,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_client_test.c:408,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:408,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:409,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/test/cmp_client_test.c:410,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_client_test.c:411,1
    - Dst: OSSL_CMP_CTX_get0_newCert
      Src: /src/openssl/test/cmp_client_test.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 23
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: execute_try_certreq_poll_abort_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_try_certreq
    - TEST_int_eq
    - OSSL_CMP_CTX_get0_newCert
    - ossl_cmp_mock_srv_set_checkAfterTime
    - TEST_ptr_eq
    - ossl_cmp_mock_srv_set_pollCount
    linkageType: ''
    returnType: int
    signature: int execute_try_certreq_poll_abort_test(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:416,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: test_try_certreq_poll_abort
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_try_certreq_poll_abort(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_REQ_ses_poll
      Src: /src/openssl/test/cmp_client_test.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: test_exec_GENM_ses_poll_ok
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_REQ_ses_poll
    linkageType: ''
    returnType: int
    signature: int test_exec_GENM_ses_poll_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_REQ_ses_poll
      Src: /src/openssl/test/cmp_client_test.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: test_exec_GENM_ses_poll_no_timeout
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_REQ_ses_poll
    linkageType: ''
    returnType: int
    signature: int test_exec_GENM_ses_poll_no_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_REQ_ses_poll
      Src: /src/openssl/test/cmp_client_test.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: test_exec_GENM_ses_poll_total_timeout
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_REQ_ses_poll
    linkageType: ''
    returnType: int
    signature: int test_exec_GENM_ses_poll_total_timeout(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:444,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/test/cmp_client_test.c:446,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - transfer_error
    - total_timeout
    - expect
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: test_exec_GENM_ses
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_exec_GENM_ses(int transfer_error, int total_timeout, int expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_GENM_ses
      Src: /src/openssl/test/cmp_client_test.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: test_exec_GENM_ses_ok
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_GENM_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_GENM_ses_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_GENM_ses
      Src: /src/openssl/test/cmp_client_test.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: test_exec_GENM_ses_transfer_error
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_GENM_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_GENM_ses_transfer_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_exec_GENM_ses
      Src: /src/openssl/test/cmp_client_test.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: test_exec_GENM_ses_total_timeout
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - test_exec_GENM_ses
    linkageType: ''
    returnType: int
    signature: int test_exec_GENM_ses_total_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_exchange_certConf
      Src: /src/openssl/test/cmp_client_test.c:475,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 21
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: execute_exchange_certConf_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_exchange_certConf
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int execute_exchange_certConf_test(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_exchange_error
      Src: /src/openssl/test/cmp_client_test.c:485,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SES_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 21
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: execute_exchange_error_test
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_exchange_error
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int execute_exchange_error_test(CMP_SES_TEST_FIXTURE *fixture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:495,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_client_test.c:497,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_client_test.c:497,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_client_test.c:498,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: test_exchange_certConf
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - X509_dup
    - tear_down
    - ossl_cmp_ctx_set0_newCert
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_exchange_certConf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_client_test.c:507,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_client_test.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: test_exchange_error
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_exchange_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/test/cmp_client_test.c:515,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_client_test.c:516,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_client_test.c:517,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_client_test.c:518,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_client_test.c:519,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_client_test.c:520,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_client_test.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 1
    functionsReached:
    - X509_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmp_client_test.c:530,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_client_test.c:531,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:535,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:535,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:536,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:536,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:537,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:537,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:538,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:538,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:539,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_client_test.c:539,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_client_test.c:540,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_client_test.c:544,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:547,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_client_test.c:547,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:548,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_client_test.c:548,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:549,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_client_test.c:549,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_client_test.c:550,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_client_test.c:550,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_client_test.c:551,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/cmp_client_test.c:551,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/cmp_client_test.c:552,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:556,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:557,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:558,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:559,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:560,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:561,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:562,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:563,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:564,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:565,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:566,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:567,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:568,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:569,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:570,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:571,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:572,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:573,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:574,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:575,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:576,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:577,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:578,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:579,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:580,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_client_test.c:581,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 528
    functionDepth: 7
    functionLinenumber: 528
    functionLinenumberEnd: 583
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_client_test.c
    functionUses: 0
    functionsReached:
    - load_cert_pem
    - test_arg_libctx
    - cleanup_tests
    - load_pkey_pem
    - ADD_TEST
    - TEST_int_eq
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - RAND_bytes_ex
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ec_internal_test.c:34,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:35,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:36,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:37,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:37,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:39,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/test/ec_internal_test.c:39,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ec_internal_test.c:39,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:40,1
    - Dst: BN_is_one
      Src: /src/openssl/test/ec_internal_test.c:40,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:42,1
    - Dst: BN_rand
      Src: /src/openssl/test/ec_internal_test.c:42,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ec_internal_test.c:42,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:44,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/test/ec_internal_test.c:44,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:46,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/test/ec_internal_test.c:46,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:48,1
    - Dst: EC_GROUP*::meth::field_encode
      Src: /src/openssl/test/ec_internal_test.c:48,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:49,1
    - Dst: EC_GROUP*::meth::field_mul
      Src: /src/openssl/test/ec_internal_test.c:49,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:51,1
    - Dst: EC_GROUP*::meth::field_decode
      Src: /src/openssl/test/ec_internal_test.c:51,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:52,1
    - Dst: BN_is_one
      Src: /src/openssl/test/ec_internal_test.c:52,1
    - Dst: BN_zero
      Src: /src/openssl/test/ec_internal_test.c:56,1
    - Dst: TEST_false
      Src: /src/openssl/test/ec_internal_test.c:57,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/test/ec_internal_test.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:58,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/ec_internal_test.c:58,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/ec_internal_test.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:59,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ec_internal_test.c:59,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/ec_internal_test.c:59,1
    - Dst: TEST_false
      Src: /src/openssl/test/ec_internal_test.c:62,1
    - Dst: EC_GROUP*::meth::field_inv
      Src: /src/openssl/test/ec_internal_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:63,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/ec_internal_test.c:63,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/ec_internal_test.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:64,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ec_internal_test.c:64,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/ec_internal_test.c:64,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/ec_internal_test.c:68,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ec_internal_test.c:71,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 19
    argCount: 2
    argNames:
    - group
    - ctx
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 26
    functionDepth: 7
    functionLinenumber: 26
    functionLinenumberEnd: 73
    functionName: group_field_tests
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_is_one
    - TEST_ptr
    - BN_CTX_end
    - BN_rand
    - ERR_clear_error
    - EC_GROUP*::meth::field_encode
    - TEST_true
    - ERR_GET_LIB
    - ERR_peek_last_error
    - BN_num_bits
    - BN_CTX_get
    - EC_GROUP*::meth::field_mul
    - EC_GROUP*::meth::field_inv
    - BN_CTX_start
    - TEST_false
    - BN_value_one
    - BN_zero
    - ERR_GET_REASON
    - EC_GROUP*::meth::field_decode
    linkageType: ''
    returnType: int
    signature: int group_field_tests(const EC_GROUP *group, BN_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:84,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ec_internal_test.c:84,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ec_internal_test.c:87,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:88,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:89,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:90,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:90,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:91,1
    - Dst: EC_GROUP_new
      Src: /src/openssl/test/ec_internal_test.c:91,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:92,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ec_internal_test.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:93,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ec_internal_test.c:93,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:94,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ec_internal_test.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:95,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ec_internal_test.c:95,1
    - Dst: group_field_tests
      Src: /src/openssl/test/ec_internal_test.c:96,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ec_internal_test.c:101,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:102,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - meth
    - params
    - len
    argTypes:
    - EC_METHOD*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 76
    functionDepth: 8
    functionLinenumber: 76
    functionLinenumberEnd: 106
    functionName: field_tests
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 1
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - BN_CTX_new
    - BN_bin2bn
    - BN_CTX_free
    - EC_GROUP_free
    - group_field_tests
    - TEST_true
    - TEST_ptr
    - EC_GROUP_new
    - EC_GROUP_set_curve
    linkageType: ''
    returnType: int
    signature: "int field_tests(const EC_METHOD *meth, const unsigned char *params,\n
      \                      int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ec_internal_test.c:145,1
    - Dst: field_tests
      Src: /src/openssl/test/ec_internal_test.c:146,1
    - Dst: EC_GFp_simple_method
      Src: /src/openssl/test/ec_internal_test.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 9
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: field_tests_ecp_simple
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - field_tests
    - EC_GFp_simple_method
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int field_tests_ecp_simple(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ec_internal_test.c:153,1
    - Dst: field_tests
      Src: /src/openssl/test/ec_internal_test.c:154,1
    - Dst: EC_GFp_mont_method
      Src: /src/openssl/test/ec_internal_test.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 9
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: field_tests_ecp_mont
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - field_tests
    - EC_GFp_mont_method
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int field_tests_ecp_mont(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ec_internal_test.c:163,1
    - Dst: TEST_info
      Src: /src/openssl/test/ec_internal_test.c:167,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ec_internal_test.c:169,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:170,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:172,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:173,1
    - Dst: BN_one
      Src: /src/openssl/test/ec_internal_test.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:174,1
    - Dst: BN_one
      Src: /src/openssl/test/ec_internal_test.c:174,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:178,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ec_internal_test.c:178,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ec_internal_test.c:180,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ec_internal_test.c:180,1
    - Dst: TEST_error
      Src: /src/openssl/test/ec_internal_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:184,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ec_internal_test.c:184,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ec_internal_test.c:186,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ec_internal_test.c:186,1
    - Dst: TEST_error
      Src: /src/openssl/test/ec_internal_test.c:187,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:190,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ec_internal_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:191,1
    - Dst: BN_set_bit
      Src: /src/openssl/test/ec_internal_test.c:191,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ec_internal_test.c:193,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ec_internal_test.c:193,1
    - Dst: TEST_error
      Src: /src/openssl/test/ec_internal_test.c:194,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:200,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:201,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:202,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ec_internal_test.c:203,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 160
    functionDepth: 5
    functionLinenumber: 160
    functionLinenumberEnd: 207
    functionName: ec2m_field_sanity
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - TEST_ptr_null
    - BN_set_word
    - BN_CTX_new
    - BN_one
    - TEST_info
    - EC_GROUP_free
    - EC_GROUP_new_curve_GF2m
    - BN_CTX_free
    - TEST_true
    - BN_set_bit
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int ec2m_field_sanity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ec_internal_test.c:212,1
    - Dst: field_tests
      Src: /src/openssl/test/ec_internal_test.c:213,1
    - Dst: EC_GF2m_simple_method
      Src: /src/openssl/test/ec_internal_test.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 9
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: field_tests_ec2_simple
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_GF2m_simple_method
    - field_tests
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int field_tests_ec2_simple(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ec_internal_test.c:226,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ec_internal_test.c:226,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:228,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:228,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:229,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ec_internal_test.c:229,1
    - Dst: group_field_tests
      Src: /src/openssl/test/ec_internal_test.c:230,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:236,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 219
    functionDepth: 8
    functionLinenumber: 219
    functionLinenumberEnd: 240
    functionName: field_tests_default
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - BN_CTX_new
    - TEST_info
    - EC_GROUP_free
    - BN_CTX_free
    - group_field_tests
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int field_tests_default(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ec_internal_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:263,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ec_internal_test.c:266,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:267,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:268,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:269,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:270,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:271,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ec_internal_test.c:272,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:273,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:276,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ec_internal_test.c:277,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ec_internal_test.c:278,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ec_internal_test.c:279,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:280,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:283,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ec_internal_test.c:283,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:284,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ec_internal_test.c:284,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:285,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ec_internal_test.c:285,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:286,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ec_internal_test.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:287,1
    - Dst: ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
      Src: /src/openssl/test/ec_internal_test.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:289,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ec_internal_test.c:289,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:290,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ec_internal_test.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:291,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ec_internal_test.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:292,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ec_internal_test.c:292,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:295,1
    - Dst: BN_cmp
      Src: /src/openssl/test/ec_internal_test.c:295,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:296,1
    - Dst: BN_cmp
      Src: /src/openssl/test/ec_internal_test.c:296,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ec_internal_test.c:302,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ec_internal_test.c:303,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ec_internal_test.c:304,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ec_internal_test.c:305,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:306,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:307,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 247
    functionDepth: 8
    functionLinenumber: 247
    functionLinenumberEnd: 310
    functionName: underflow_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - BN_hex2bn
    - EC_POINT_mul
    - BN_CTX_new
    - EC_POINT_get_affine_coordinates
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    - BN_CTX_end
    - BN_cmp
    - EC_GROUP_free
    - BN_CTX_free
    - TEST_true
    - EC_POINT_new
    - ossl_ec_GFp_simple_set_Jprojective_coordinates_GFp
    - BN_CTX_get
    - BN_CTX_start
    - TEST_int_eq
    - EC_POINT_dbl
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int underflow_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:321,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:322,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:323,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:324,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:325,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ec_internal_test.c:325,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:326,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ec_internal_test.c:326,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:330,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/ec_internal_test.c:330,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:334,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/ec_internal_test.c:334,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ec_internal_test.c:335,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ec_internal_test.c:341,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ec_internal_test.c:342,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 316
    functionDepth: 5
    functionLinenumber: 316
    functionLinenumberEnd: 344
    functionName: set_private_key
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 2
    functionsReached:
    - EC_KEY_new_by_curve_name
    - EC_KEY_set_private_key
    - EC_KEY_generate_key
    - TEST_ptr_null
    - TEST_int_eq
    - TEST_ptr
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: int set_private_key(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new
      Src: /src/openssl/test/ec_internal_test.c:362,1
    - Dst: EC_GFp_simple_method
      Src: /src/openssl/test/ec_internal_test.c:362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:363,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:364,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:366,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:369,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:370,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:371,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:375,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ec_internal_test.c:375,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:376,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ec_internal_test.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:377,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:379,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ec_internal_test.c:381,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:385,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ec_internal_test.c:385,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:386,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/openssl/test/ec_internal_test.c:386,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:387,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/openssl/test/ec_internal_test.c:387,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:388,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:389,1
    - Dst: EC_KEY_new
      Src: /src/openssl/test/ec_internal_test.c:389,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:391,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/test/ec_internal_test.c:391,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:392,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/ec_internal_test.c:392,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:394,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/test/ec_internal_test.c:394,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:396,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/test/ec_internal_test.c:398,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:402,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/test/ec_internal_test.c:402,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:403,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:404,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/test/ec_internal_test.c:404,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:405,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ec_internal_test.c:409,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/test/ec_internal_test.c:413,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:414,1
    - Dst: EC_GROUP_get_ecpkparameters
      Src: /src/openssl/test/ec_internal_test.c:414,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:415,1
    - Dst: EC_GROUP_new_from_ecpkparameters
      Src: /src/openssl/test/ec_internal_test.c:415,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:416,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ec_internal_test.c:416,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:417,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:419,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ec_internal_test.c:423,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/test/ec_internal_test.c:423,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:424,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:425,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/test/ec_internal_test.c:425,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:426,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ec_internal_test.c:426,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:427,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:428,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/ec_internal_test.c:428,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:430,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/test/ec_internal_test.c:430,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ec_internal_test.c:436,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:437,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:438,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ec_internal_test.c:439,1
    - Dst: ECPKPARAMETERS_free
      Src: /src/openssl/test/ec_internal_test.c:440,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ec_internal_test.c:441,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 349
    functionDepth: 9
    functionLinenumber: 349
    functionLinenumberEnd: 444
    functionName: decoded_flag_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_get_asn1_flag
    - EC_KEY_decoded_from_explicit_params
    - OPENSSL_free
    - EC_GROUP_new_from_ecpkparameters
    - ECPARAMETERS_free
    - d2i_ECPKParameters
    - TEST_ptr
    - EC_KEY_set_group
    - ECPKPARAMETERS_free
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_set_asn1_flag
    - EC_GROUP_free
    - EC_GROUP_get_ecparameters
    - i2d_ECPKParameters
    - EC_GROUP_new
    - EC_GFp_simple_method
    - EC_KEY_new
    - EC_GROUP_get_ecpkparameters
    - EC_KEY_free
    - TEST_int_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int decoded_flag_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:455,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:455,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:459,1
    - Dst: fopen
      Src: /src/openssl/test/ec_internal_test.c:459,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:460,1
    - Dst: i2d_ECPKParameters_fp
      Src: /src/openssl/test/ec_internal_test.c:460,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ec_internal_test.c:464,1
    - Dst: fclose
      Src: /src/openssl/test/ec_internal_test.c:464,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:471,1
    - Dst: fopen
      Src: /src/openssl/test/ec_internal_test.c:471,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:472,1
    - Dst: d2i_ECPKParameters_fp
      Src: /src/openssl/test/ec_internal_test.c:472,1
    - Dst: fclose
      Src: /src/openssl/test/ec_internal_test.c:479,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:481,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:482,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 446
    functionDepth: 8
    functionLinenumber: 446
    functionLinenumberEnd: 485
    functionName: ecpkparams_i2d2i_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - i2d_ECPKParameters_fp
    - fopen
    - TEST_int_eq
    - d2i_ECPKParameters_fp
    - EC_GROUP_free
    - TEST_true
    - TEST_ptr
    - fclose
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int ecpkparams_i2d2i_test(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/test/ec_internal_test.c:491,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:493,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:495,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:498,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/ec_internal_test.c:498,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:501,1
    - Dst: ossl_bn_mont_ctx_eq
      Src: /src/openssl/test/ec_internal_test.c:501,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:507,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - mont
    - mod
    - ctx
    argTypes:
    - BN_MONT_CTX*
    - BIGNUM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 488
    functionDepth: 7
    functionLinenumber: 488
    functionLinenumberEnd: 509
    functionName: check_bn_mont_ctx
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_MONT_CTX_set
    - TEST_true
    - ossl_bn_mont_ctx_eq
    - TEST_ptr
    - BN_MONT_CTX_free
    - BN_MONT_CTX_new
    linkageType: ''
    returnType: int
    signature: int check_bn_mont_ctx(BN_MONT_CTX *mont, BIGNUM *mod, BN_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ec_internal_test.c:516,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:517,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:519,1
    - Dst: check_bn_mont_ctx
      Src: /src/openssl/test/ec_internal_test.c:519,1
    - Dst: TEST_error
      Src: /src/openssl/test/ec_internal_test.c:520,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:524,1
    - Dst: check_bn_mont_ctx
      Src: /src/openssl/test/ec_internal_test.c:524,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ec_internal_test.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 511
    functionDepth: 8
    functionLinenumber: 511
    functionLinenumberEnd: 531
    functionName: montgomery_correctness_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new
    - check_bn_mont_ctx
    - BN_CTX_free
    - TEST_true
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int montgomery_correctness_test(EC_GROUP *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:538,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ec_internal_test.c:538,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:539,1
    - Dst: montgomery_correctness_test
      Src: /src/openssl/test/ec_internal_test.c:539,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ec_internal_test.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 9
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: named_group_creation_test
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_free
    - montgomery_correctness_test
    - TEST_true
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int named_group_creation_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ec_internal_test.c:551,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ec_internal_test.c:552,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/ec_internal_test.c:552,1
    - Dst: TEST_true
      Src: /src/openssl/test/ec_internal_test.c:553,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ec_internal_test.c:553,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:556,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:557,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:559,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:560,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ec_internal_test.c:562,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:564,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:566,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:567,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ec_internal_test.c:568,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ec_internal_test.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 572
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_get_builtin_curves
    - OPENSSL_malloc_array
    - ADD_TEST
    - TEST_true
    - TEST_ptr
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ec_internal_test.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ec_internal_test.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: obj_query
    functionSourceFile: /src/openssl/test/upcallstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *obj_query(void *provctx, int operation_id,\n                                       int
      *no_cache)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_obj_add_sigid
      Src: /src/openssl/test/upcallstest.c:60,1
    - Dst: OSSL_FUNC_core_obj_create
      Src: /src/openssl/test/upcallstest.c:63,1
    - Dst: c_obj_create
      Src: /src/openssl/test/upcallstest.c:72,1
    - Dst: c_obj_create
      Src: /src/openssl/test/upcallstest.c:73,1
    - Dst: c_obj_create
      Src: /src/openssl/test/upcallstest.c:74,1
    - Dst: c_obj_create
      Src: /src/openssl/test/upcallstest.c:77,1
    - Dst: c_obj_create
      Src: /src/openssl/test/upcallstest.c:78,1
    - Dst: c_obj_add_sigid
      Src: /src/openssl/test/upcallstest.c:81,1
    - Dst: c_obj_add_sigid
      Src: /src/openssl/test/upcallstest.c:85,1
    - Dst: c_obj_add_sigid
      Src: /src/openssl/test/upcallstest.c:88,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: obj_provider_init
    functionSourceFile: /src/openssl/test/upcallstest.c
    functionUses: 0
    functionsReached:
    - c_obj_create
    - c_obj_add_sigid
    - OSSL_FUNC_core_obj_create
    - OSSL_FUNC_core_obj_add_sigid
    linkageType: ''
    returnType: int
    signature: "int obj_provider_init(const OSSL_CORE_HANDLE *handle,\n                             const
      OSSL_DISPATCH *in,\n                             const OSSL_DISPATCH **out,\n
      \                            void **provctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/upcallstest.c:96,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/upcallstest.c:101,1
    - Dst: TEST_true
      Src: /src/openssl/test/upcallstest.c:104,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/upcallstest.c:104,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/upcallstest.c:106,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/upcallstest.c:106,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/upcallstest.c:110,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/upcallstest.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/upcallstest.c:112,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/test/upcallstest.c:112,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/upcallstest.c:113,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/upcallstest.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/upcallstest.c:115,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/upcallstest.c:116,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/upcallstest.c:116,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/upcallstest.c:120,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/upcallstest.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/upcallstest.c:122,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/test/upcallstest.c:122,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/upcallstest.c:123,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/upcallstest.c:124,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:129,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:130,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/upcallstest.c:131,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/test/upcallstest.c:132,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/test/upcallstest.c:136,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:136,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:141,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/upcallstest.c:142,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/upcallstest.c:143,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/test/upcallstest.c:144,1
    - Dst: OBJ_find_sigid_by_algs
      Src: /src/openssl/test/upcallstest.c:149,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/upcallstest.c:155,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/upcallstest.c:156,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 94
    functionDepth: 8
    functionLinenumber: 94
    functionLinenumberEnd: 158
    functionName: obj_create_test
    functionSourceFile: /src/openssl/test/upcallstest.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - OBJ_txt2nid
    - TEST_int_ne
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - OBJ_ln2nid
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - OBJ_find_sigid_algs
    - TEST_true
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    - OBJ_find_sigid_by_algs
    linkageType: ''
    returnType: int
    signature: int obj_create_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/upcallstest.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/upcallstest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/test/provider_status_test.c:58,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/provider_status_test.c:61,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/provider_status_test.c:66,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/provider_status_test.c:71,1
    - Dst: strcmp
      Src: /src/openssl/test/provider_status_test.c:76,1
    - Dst: BIO_printf
      Src: /src/openssl/test/provider_status_test.c:77,1
    - Dst: strcmp
      Src: /src/openssl/test/provider_status_test.c:78,1
    - Dst: strcmp
      Src: /src/openssl/test/provider_status_test.c:79,1
    - Dst: BIO_printf
      Src: /src/openssl/test/provider_status_test.c:80,1
    - Dst: strcmp
      Src: /src/openssl/test/provider_status_test.c:85,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - params
    - arg
    - title
    - corrupt
    argTypes:
    - OSSL_PARAM[]
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 90
    functionName: self_test_events
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PARAM_locate_const
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int self_test_events(const OSSL_PARAM params[], void *arg,\n                            const
      char *title, int corrupt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_test_events
      Src: /src/openssl/test/provider_status_test.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: self_test_on_demand_fail
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached:
    - self_test_events
    linkageType: ''
    returnType: int
    signature: int self_test_on_demand_fail(const OSSL_PARAM params[], void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_test_events
      Src: /src/openssl/test/provider_status_test.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: self_test_on_demand
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached:
    - self_test_events
    linkageType: ''
    returnType: int
    signature: int self_test_on_demand(const OSSL_PARAM params[], void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: self_test_events
      Src: /src/openssl/test/provider_status_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: self_test_on_load
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached:
    - self_test_events
    linkageType: ''
    returnType: int
    signature: int self_test_on_load(const OSSL_PARAM params[], void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:115,1
    - Dst: OSSL_PROVIDER_gettable_params
      Src: /src/openssl/test/provider_status_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:116,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/provider_status_test.c:116,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:117,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/provider_status_test.c:117,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:118,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/provider_status_test.c:118,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:119,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/provider_status_test.c:119,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/test/provider_status_test.c:122,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/test/provider_status_test.c:123,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/provider_status_test.c:125,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/test/provider_status_test.c:126,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/provider_status_test.c:128,1
    - Dst: OSSL_PARAM_set_all_unmodified
      Src: /src/openssl/test/provider_status_test.c:129,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:130,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_status_test.c:130,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:132,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/provider_status_test.c:132,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:133,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/provider_status_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:134,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/provider_status_test.c:134,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:135,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/provider_status_test.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: get_provider_params
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_int
    - OSSL_PROVIDER_gettable_params
    - TEST_true
    - TEST_ptr
    - OSSL_PARAM_set_all_unmodified
    - OSSL_PARAM_construct_utf8_ptr
    linkageType: ''
    returnType: int
    signature: int get_provider_params(const OSSL_PROVIDER *prov)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:154,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_status_test.c:154,1
    - Dst: get_provider_params
      Src: /src/openssl/test/provider_status_test.c:156,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/provider_status_test.c:160,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/provider_status_test.c:161,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:162,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_status_test.c:162,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:165,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/provider_status_test.c:165,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/provider_status_test.c:167,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:170,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_status_test.c:170,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_status_test.c:171,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/provider_status_test.c:171,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_status_test.c:172,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/test/provider_status_test.c:172,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_status_test.c:173,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/provider_status_test.c:173,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_status_test.c:175,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_status_test.c:176,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/openssl/test/provider_status_test.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:183,1
    - Dst: OSSL_PROVIDER_self_test
      Src: /src/openssl/test/provider_status_test.c:183,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/openssl/test/provider_status_test.c:188,1
    - Dst: TEST_false
      Src: /src/openssl/test/provider_status_test.c:189,1
    - Dst: OSSL_PROVIDER_self_test
      Src: /src/openssl/test/provider_status_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_status_test.c:191,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/provider_status_test.c:191,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/provider_status_test.c:192,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/provider_status_test.c:194,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/provider_status_test.c:194,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/provider_status_test.c:199,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_status_test.c:200,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 144
    functionDepth: 10
    functionLinenumber: 144
    functionLinenumberEnd: 202
    functionName: test_provider_status
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_MD_free
    - OSSL_PROVIDER_unload
    - OSSL_SELF_TEST_set_callback
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - OSSL_PROVIDER_get_params
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - OSSL_PROVIDER_load
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - OSSL_PARAM_construct_end
    - get_provider_params
    - EVP_MD_fetch
    - TEST_uint_eq
    - TEST_ptr_null
    - TEST_false
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PROVIDER_self_test
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_provider_status(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_status_test.c:209,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_status_test.c:209,1
    - Dst: get_provider_params
      Src: /src/openssl/test/provider_status_test.c:211,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_status_test.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: test_provider_gettable_params
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    - TEST_ptr
    - get_provider_params
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: int test_provider_gettable_params(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/provider_status_test.c:221,1
    - Dst: opt_arg
      Src: /src/openssl/test/provider_status_test.c:224,1
    - Dst: opt_arg
      Src: /src/openssl/test/provider_status_test.c:227,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_status_test.c:237,1
    - Dst: strcmp
      Src: /src/openssl/test/provider_status_test.c:241,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/openssl/test/provider_status_test.c:243,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/provider_status_test.c:244,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/test/provider_status_test.c:245,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_status_test.c:248,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_status_test.c:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 216
    functionDepth: 7
    functionLinenumber: 216
    functionLinenumberEnd: 253
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 0
    functionsReached:
    - opt_printf_stderr
    - opt_next
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - ADD_TEST
    - OSSL_SELF_TEST_set_callback
    - strcmp
    - opt_arg
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_status_test.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/provider_status_test.c
    functionUses: 2
    functionsReached:
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: size_t_compare
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int size_t_compare(const size_t *a, const size_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_t_compare
      Src: /src/openssl/test/priority_queue_test.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: qsort_size_t_compare
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - size_t_compare
    linkageType: ''
    returnType: int
    signature: int qsort_size_t_compare(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_t_compare
      Src: /src/openssl/test/priority_queue_test.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: qsort_size_t_compare_rev
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - size_t_compare
    linkageType: ''
    returnType: int
    signature: int qsort_size_t_compare_rev(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: free_checker
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_checker(ossl_unused size_t *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/priority_queue_test.c:60,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/priority_queue_test.c:65,1
    - Dst: memset
      Src: /src/openssl/test/priority_queue_test.c:68,1
    - Dst: memset
      Src: /src/openssl/test/priority_queue_test.c:69,1
    - Dst: memset
      Src: /src/openssl/test/priority_queue_test.c:70,1
    - Dst: test_random
      Src: /src/openssl/test/priority_queue_test.c:73,1
    - Dst: memcpy
      Src: /src/openssl/test/priority_queue_test.c:74,1
    - Dst: qsort
      Src: /src/openssl/test/priority_queue_test.c:75,1
    - Dst: memcpy
      Src: /src/openssl/test/priority_queue_test.c:78,1
    - Dst: qsort
      Src: /src/openssl/test/priority_queue_test.c:80,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:82,1
    - Dst: ossl_pqueue_size_t_new
      Src: /src/openssl/test/priority_queue_test.c:82,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:83,1
    - Dst: ossl_pqueue_size_t_num
      Src: /src/openssl/test/priority_queue_test.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:86,1
    - Dst: ossl_pqueue_size_t_reserve
      Src: /src/openssl/test/priority_queue_test.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:90,1
    - Dst: ossl_pqueue_size_t_push
      Src: /src/openssl/test/priority_queue_test.c:90,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:93,1
    - Dst: ossl_pqueue_size_t_peek
      Src: /src/openssl/test/priority_queue_test.c:93,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:94,1
    - Dst: ossl_pqueue_size_t_num
      Src: /src/openssl/test/priority_queue_test.c:94,1
    - Dst: test_random
      Src: /src/openssl/test/priority_queue_test.c:99,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/priority_queue_test.c:101,1
    - Dst: ossl_pqueue_size_t_remove
      Src: /src/openssl/test/priority_queue_test.c:101,1
    - Dst: memcpy
      Src: /src/openssl/test/priority_queue_test.c:107,1
    - Dst: qsort
      Src: /src/openssl/test/priority_queue_test.c:108,1
    - Dst: ossl_pqueue_size_t_peek
      Src: /src/openssl/test/priority_queue_test.c:110,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:111,1
    - Dst: ossl_pqueue_size_t_peek
      Src: /src/openssl/test/priority_queue_test.c:111,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:112,1
    - Dst: ossl_pqueue_size_t_pop
      Src: /src/openssl/test/priority_queue_test.c:112,1
    - Dst: ossl_pqueue_size_t_num
      Src: /src/openssl/test/priority_queue_test.c:117,1
    - Dst: ossl_pqueue_size_t_pop_free
      Src: /src/openssl/test/priority_queue_test.c:118,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:120,1
    - Dst: ossl_pqueue_size_t_free
      Src: /src/openssl/test/priority_queue_test.c:125,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 6
    argNames:
    - reserve
    - order
    - count
    - remove
    - random
    - popfree
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 127
    functionName: test_size_t_priority_queue_int
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - test_random
    - ossl_pqueue_size_t_push
    - TEST_ptr
    - ossl_pqueue_size_t_pop
    - TEST_info
    - ossl_pqueue_size_t_peek
    - ossl_pqueue_size_t_reserve
    - TEST_true
    - ossl_pqueue_size_t_new
    - ossl_pqueue_size_t_free
    - ossl_pqueue_size_t_num
    - TEST_size_t_eq
    - qsort
    - memset
    - TEST_size_t_le
    - ossl_pqueue_size_t_pop_free
    - ossl_pqueue_size_t_remove
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: "int test_size_t_priority_queue_int(int reserve, int order, int count,\n
      \                                         int remove, int random, int popfree)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/priority_queue_test.c:137,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/priority_queue_test.c:138,1
    - Dst: test_size_t_priority_queue_int
      Src: /src/openssl/test/priority_queue_test.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 152
    functionName: test_size_t_priority_queue
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - test_size_t_priority_queue_int
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_size_t_priority_queue(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_size_t_priority_queue_int
      Src: /src/openssl/test/priority_queue_test.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: test_large_priority_queue
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - test_size_t_priority_queue_int
    linkageType: ''
    returnType: int
    signature: int test_large_priority_queue(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - INFO*
    - INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: cmp
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 604
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp(const INFO *a, const INFO *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PRIORITY_QUEUE_OF
      Src: /src/openssl/test/priority_queue_test.c:185,1
    - Dst: ossl_pqueue_INFO_new
      Src: /src/openssl/test/priority_queue_test.c:185,1
    - Dst: memset
      Src: /src/openssl/test/priority_queue_test.c:187,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:192,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:192,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:194,1
    - Dst: ossl_pqueue_INFO_remove
      Src: /src/openssl/test/priority_queue_test.c:194,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:198,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:198,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:200,1
    - Dst: ossl_pqueue_INFO_remove
      Src: /src/openssl/test/priority_queue_test.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:204,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:204,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:209,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:209,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:210,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:214,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:214,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:215,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:219,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:219,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:224,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:224,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:229,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:229,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/priority_queue_test.c:234,1
    - Dst: ossl_pqueue_INFO_push
      Src: /src/openssl/test/priority_queue_test.c:234,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/priority_queue_test.c:235,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:238,1
    - Dst: ossl_pqueue_INFO_pop
      Src: /src/openssl/test/priority_queue_test.c:238,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/priority_queue_test.c:239,1
    - Dst: ossl_pqueue_INFO_pop
      Src: /src/openssl/test/priority_queue_test.c:239,1
    - Dst: ossl_pqueue_INFO_free
      Src: /src/openssl/test/priority_queue_test.c:244,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 246
    functionName: test_22644
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_INFO_free
    - PRIORITY_QUEUE_OF
    - memset
    - ossl_pqueue_INFO_pop
    - ossl_pqueue_INFO_new
    - ossl_pqueue_INFO_remove
    - ossl_pqueue_INFO_push
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_22644(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/priority_queue_test.c:250,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/priority_queue_test.c:251,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/priority_queue_test.c:257,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/priority_queue_test.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/priority_queue_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_qlog_test.c:73,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_qlog_test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: now
    functionSourceFile: /src/openssl/test/quic_qlog_test.c
    functionUses: 11
    functionsReached:
    - ossl_time_add
    - ossl_ms2time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME now(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_from_time_t
      Src: /src/openssl/test/quic_qlog_test.c:86,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_qlog_test.c:97,1
    - Dst: ossl_qlog_new
      Src: /src/openssl/test/quic_qlog_test.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_qlog_test.c:100,1
    - Dst: ossl_qlog_set_event_type_enabled
      Src: /src/openssl/test/quic_qlog_test.c:100,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_qlog_test.c:103,1
    - Dst: BIO_new
      Src: /src/openssl/test/quic_qlog_test.c:103,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/quic_qlog_test.c:103,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_qlog_test.c:106,1
    - Dst: ossl_qlog_set_sink_bio
      Src: /src/openssl/test/quic_qlog_test.c:106,1
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/test/quic_qlog_test.c:109,1
    - Dst: QLOG_STR
      Src: /src/openssl/test/quic_qlog_test.c:110,1
    - Dst: QLOG_STR_LEN
      Src: /src/openssl/test/quic_qlog_test.c:111,1
    - Dst: QLOG_I64
      Src: /src/openssl/test/quic_qlog_test.c:112,1
    - Dst: QLOG_I64
      Src: /src/openssl/test/quic_qlog_test.c:113,1
    - Dst: QLOG_U64
      Src: /src/openssl/test/quic_qlog_test.c:114,1
    - Dst: QLOG_BOOL
      Src: /src/openssl/test/quic_qlog_test.c:115,1
    - Dst: QLOG_BOOL
      Src: /src/openssl/test/quic_qlog_test.c:116,1
    - Dst: QLOG_BIN
      Src: /src/openssl/test/quic_qlog_test.c:117,1
    - Dst: QLOG_CID
      Src: /src/openssl/test/quic_qlog_test.c:118,1
    - Dst: QLOG_BEGIN
      Src: /src/openssl/test/quic_qlog_test.c:119,1
    - Dst: QLOG_STR
      Src: /src/openssl/test/quic_qlog_test.c:120,1
    - Dst: QLOG_END
      Src: /src/openssl/test/quic_qlog_test.c:121,1
    - Dst: QLOG_BEGIN_ARRAY
      Src: /src/openssl/test/quic_qlog_test.c:122,1
    - Dst: QLOG_STR
      Src: /src/openssl/test/quic_qlog_test.c:123,1
    - Dst: QLOG_STR
      Src: /src/openssl/test/quic_qlog_test.c:124,1
    - Dst: QLOG_END_ARRAY
      Src: /src/openssl/test/quic_qlog_test.c:125,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/test/quic_qlog_test.c:126,1
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/test/quic_qlog_test.c:129,1
    - Dst: QLOG_STR
      Src: /src/openssl/test/quic_qlog_test.c:130,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/test/quic_qlog_test.c:131,1
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/test/quic_qlog_test.c:134,1
    - Dst: QLOG_STR
      Src: /src/openssl/test/quic_qlog_test.c:135,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/test/quic_qlog_test.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_qlog_test.c:138,1
    - Dst: ossl_qlog_flush
      Src: /src/openssl/test/quic_qlog_test.c:138,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/quic_qlog_test.c:141,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_qlog_test.c:142,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_qlog_test.c:145,1
    - Dst: ossl_qlog_free
      Src: /src/openssl/test/quic_qlog_test.c:150,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 152
    functionName: test_qlog
    functionSourceFile: /src/openssl/test/quic_qlog_test.c
    functionUses: 0
    functionsReached:
    - QLOG_BEGIN_ARRAY
    - QLOG_STR
    - ossl_qlog_free
    - QLOG_U64
    - BIO_s_mem
    - BIO_get_mem_data
    - QLOG_BIN
    - TEST_ptr
    - ossl_qlog_set_sink_bio
    - BIO_new
    - ossl_qlog_flush
    - ossl_time_from_time_t
    - TEST_size_t_gt
    - QLOG_BEGIN
    - QLOG_EVENT_END
    - TEST_true
    - QLOG_STR_LEN
    - ossl_qlog_new
    - QLOG_EVENT_BEGIN
    - QLOG_BOOL
    - QLOG_END_ARRAY
    - QLOG_CID
    - ossl_qlog_set_event_type_enabled
    - QLOG_END
    - TEST_mem_eq
    - QLOG_I64
    linkageType: ''
    returnType: int
    signature: int test_qlog(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_qlog_test.c:225,1
    - Dst: ossl_qlog_new
      Src: /src/openssl/test/quic_qlog_test.c:225,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_qlog_test.c:228,1
    - Dst: ossl_qlog_set_filter
      Src: /src/openssl/test/quic_qlog_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_qlog_test.c:233,1
    - Dst: ossl_qlog_enabled
      Src: /src/openssl/test/quic_qlog_test.c:233,1
    - Dst: ossl_qlog_free
      Src: /src/openssl/test/quic_qlog_test.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 241
    functionName: test_qlog_filter
    functionSourceFile: /src/openssl/test/quic_qlog_test.c
    functionUses: 0
    functionsReached:
    - ossl_qlog_set_filter
    - ossl_qlog_new
    - ossl_qlog_free
    - TEST_int_eq
    - ossl_qlog_enabled
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_qlog_filter(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_qlog_test.c:245,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_qlog_test.c:246,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_qlog_test.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_qlog_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/igetest.c:157,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:161,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:163,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:164,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:165,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/igetest.c:167,1
    - Dst: TEST_info
      Src: /src/openssl/test/igetest.c:168,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:169,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:170,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:171,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:176,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:177,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:178,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/igetest.c:180,1
    - Dst: TEST_info
      Src: /src/openssl/test/igetest.c:181,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:182,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:183,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 189
    functionName: test_ige_vectors
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - TEST_size_t_le
    - memcpy
    - AES_set_encrypt_key
    - TEST_info
    - AES_ige_encrypt
    - test_output_memory
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_ige_vectors(int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/igetest.c:198,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:202,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:203,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:205,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:206,1
    - Dst: AES_bi_ige_encrypt
      Src: /src/openssl/test/igetest.c:209,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/igetest.c:212,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:213,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:214,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:215,1
    - Dst: test_output_memory
      Src: /src/openssl/test/igetest.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: test_bi_ige_vectors
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - TEST_size_t_le
    - AES_set_encrypt_key
    - test_output_memory
    - AES_bi_ige_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_bi_ige_vectors(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:230,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:231,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:232,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:234,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:235,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:236,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/igetest.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: test_ige_enc_dec
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - memcpy
    - AES_set_encrypt_key
    - AES_ige_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_ige_enc_dec(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:248,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:249,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:250,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:252,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:256,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:257,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:258,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/igetest.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: test_ige_enc_chaining
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - memcpy
    - AES_set_encrypt_key
    - AES_ige_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_ige_enc_chaining(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:270,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:271,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:272,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:274,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:278,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:279,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:280,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:282,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/igetest.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: test_ige_dec_chaining
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - memcpy
    - AES_set_encrypt_key
    - AES_ige_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_ige_dec_chaining(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:300,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:301,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:302,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:307,1
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:308,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:309,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/igetest.c:318,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/igetest.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 325
    functionName: test_ige_garble_forwards
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - TEST_size_t_le
    - TEST_size_t_gt
    - memcpy
    - AES_set_encrypt_key
    - AES_ige_encrypt
    linkageType: ''
    returnType: int
    signature: int test_ige_garble_forwards(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:334,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:335,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:336,1
    - Dst: AES_bi_ige_encrypt
      Src: /src/openssl/test/igetest.c:337,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:340,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:341,1
    - Dst: AES_bi_ige_encrypt
      Src: /src/openssl/test/igetest.c:342,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/igetest.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 346
    functionName: test_bi_ige_enc_dec
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - memcpy
    - AES_set_encrypt_key
    - AES_bi_ige_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_bi_ige_enc_dec(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:357,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:358,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:359,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:360,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:365,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:366,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:367,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/igetest.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 377
    functionName: test_bi_ige_garble1
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - TEST_size_t_le
    - memcpy
    - AES_set_encrypt_key
    - AES_ige_encrypt
    linkageType: ''
    returnType: int
    signature: int test_bi_ige_garble1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:388,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:389,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:390,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:391,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:396,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:397,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:398,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/igetest.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 408
    functionName: test_bi_ige_garble2
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - TEST_size_t_le
    - memcpy
    - AES_set_encrypt_key
    - AES_ige_encrypt
    linkageType: ''
    returnType: int
    signature: int test_bi_ige_garble2(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/igetest.c:419,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:420,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/igetest.c:421,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:422,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:427,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/igetest.c:428,1
    - Dst: AES_ige_encrypt
      Src: /src/openssl/test/igetest.c:429,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/igetest.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 439
    functionName: test_bi_ige_garble3
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - TEST_size_t_le
    - memcpy
    - AES_set_encrypt_key
    - AES_ige_encrypt
    linkageType: ''
    returnType: int
    signature: int test_bi_ige_garble3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/test/igetest.c:445,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/igetest.c:446,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/igetest.c:447,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/igetest.c:448,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/igetest.c:450,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/igetest.c:451,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/igetest.c:452,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/igetest.c:453,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/igetest.c:454,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/igetest.c:455,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/igetest.c:456,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/igetest.c:457,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/igetest.c:458,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/igetest.c:458,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/igetest.c:459,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/igetest.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 442
    functionDepth: 8
    functionLinenumber: 442
    functionLinenumberEnd: 462
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/igetest.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:28,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:28,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:31,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:37,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:48,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/test/bio_dgram_test.c:48,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:52,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/test/bio_dgram_test.c:52,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:55,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:58,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:58,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIO_ADDR*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 62
    functionName: compare_addr
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_family
    - TEST_int_eq
    - BIO_ADDR_rawaddress
    - TEST_mem_eq
    - BIO_ADDR_rawport
    linkageType: ''
    returnType: int
    signature: int compare_addr(const BIO_ADDR *a, const BIO_ADDR *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - b
    - msg
    - num_msg
    - flags
    - num_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: do_sendmmsg
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - BIO_sendmmsg
    linkageType: ''
    returnType: int
    signature: "int do_sendmmsg(BIO *b, BIO_MSG *msg,\n                       size_t
      num_msg, uint64_t flags,\n                       size_t *num_processed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - b
    - msg
    - num_msg
    - flags
    - num_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: do_recvmmsg
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - BIO_recvmmsg
    linkageType: ''
    returnType: int
    signature: "int do_recvmmsg(BIO *b, BIO_MSG *msg,\n                       size_t
      num_msg, uint64_t flags,\n                       size_t *num_processed)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/bio_dgram_test.c:120,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_dgram_test.c:126,1
    - Dst: memset
      Src: /src/openssl/test/bio_dgram_test.c:135,1
    - Dst: htonl
      Src: /src/openssl/test/bio_dgram_test.c:136,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:141,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:142,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:146,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:150,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:153,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:154,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:158,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:161,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:162,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:165,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_dgram_test.c:165,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:168,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_dgram_test.c:168,1
    - Dst: BIO_socket
      Src: /src/openssl/test/bio_dgram_test.c:171,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_dgram_test.c:172,1
    - Dst: BIO_socket
      Src: /src/openssl/test/bio_dgram_test.c:175,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_dgram_test.c:176,1
    - Dst: BIO_bind
      Src: /src/openssl/test/bio_dgram_test.c:179,1
    - Dst: BIO_bind
      Src: /src/openssl/test/bio_dgram_test.c:180,1
    - Dst: TEST_skip
      Src: /src/openssl/test/bio_dgram_test.c:181,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:186,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/bio_dgram_test.c:186,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:190,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/bio_dgram_test.c:190,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:193,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:193,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:196,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:196,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/bio_dgram_test.c:199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:200,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/bio_dgram_test.c:203,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:204,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:207,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/bio_dgram_test.c:207,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:210,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_dgram_test.c:210,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:214,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_dgram_test.c:214,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:217,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:220,1
    - Dst: BIO_dgram_get_peer
      Src: /src/openssl/test/bio_dgram_test.c:220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:223,1
    - Dst: compare_addr
      Src: /src/openssl/test/bio_dgram_test.c:223,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:227,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_dgram_test.c:227,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:230,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/bio_dgram_test.c:230,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_dgram_test.c:233,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/bio_dgram_test.c:233,1
    - Dst: TEST_false
      Src: /src/openssl/test/bio_dgram_test.c:250,1
    - Dst: do_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:250,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:251,1
    - Dst: TEST_false
      Src: /src/openssl/test/bio_dgram_test.c:262,1
    - Dst: do_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:262,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:263,1
    - Dst: BIO_dgram_get_local_addr_cap
      Src: /src/openssl/test/bio_dgram_test.c:267,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:268,1
    - Dst: BIO_dgram_set_local_addr_enable
      Src: /src/openssl/test/bio_dgram_test.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:277,1
    - Dst: do_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:277,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:278,1
    - Dst: memset
      Src: /src/openssl/test/bio_dgram_test.c:287,1
    - Dst: memset
      Src: /src/openssl/test/bio_dgram_test.c:294,1
    - Dst: TEST_false
      Src: /src/openssl/test/bio_dgram_test.c:300,1
    - Dst: do_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:300,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:301,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:305,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:308,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/bio_dgram_test.c:311,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/bio_dgram_test.c:314,1
    - Dst: BIO_dgram_get_local_addr_cap
      Src: /src/openssl/test/bio_dgram_test.c:318,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:319,1
    - Dst: BIO_dgram_set_local_addr_enable
      Src: /src/openssl/test/bio_dgram_test.c:319,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:328,1
    - Dst: do_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:328,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:329,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:333,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:336,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:340,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:343,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:347,1
    - Dst: compare_addr
      Src: /src/openssl/test/bio_dgram_test.c:347,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:350,1
    - Dst: compare_addr
      Src: /src/openssl/test/bio_dgram_test.c:350,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:359,1
    - Dst: do_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:359,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:367,1
    - Dst: do_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:367,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:373,1
    - Dst: compare_addr
      Src: /src/openssl/test/bio_dgram_test.c:373,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:376,1
    - Dst: compare_addr
      Src: /src/openssl/test/bio_dgram_test.c:376,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:384,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:392,1
    - Dst: do_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:392,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:392,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:393,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:393,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:408,1
    - Dst: do_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:408,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:408,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:409,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:409,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:412,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:412,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:412,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_dgram_test.c:417,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_dgram_test.c:418,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/bio_dgram_test.c:420,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/bio_dgram_test.c:422,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:423,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:424,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:425,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:426,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:427,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:428,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 252
    argCount: 2
    argNames:
    - af
    - use_local
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 430
    functionName: test_bio_dgram_impl
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_new
    - BIO_ADDR_rawmake
    - TEST_ptr
    - do_recvmmsg
    - BIO_write
    - BIO_dgram_get_local_addr_cap
    - TEST_info
    - BIO_dgram_set_local_addr_enable
    - TEST_true
    - compare_addr
    - BIO_read
    - BIO_ADDR_rawport
    - BIO_closesocket
    - BIO_free
    - do_sendmmsg
    - TEST_skip
    - BIO_socket
    - BIO_dgram_get_peer
    - TEST_size_t_eq
    - htonl
    - BIO_dgram_set_peer
    - memset
    - BIO_ADDR_free
    - TEST_int_ge
    - BIO_bind
    - TEST_int_eq
    - TEST_false
    - TEST_ulong_eq
    - OSSL_NELEM
    - BIO_sock_info
    - TEST_mem_eq
    - BIO_new_dgram
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_dgram_impl(int af, int use_local)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bio_dgram_impl
      Src: /src/openssl/test/bio_dgram_test.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 7
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: test_bio_dgram
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - test_bio_dgram_impl
    linkageType: ''
    returnType: int
    signature: int test_bio_dgram(int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/bio_dgram_test.c:466,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/bio_dgram_test.c:470,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/bio_dgram_test.c:474,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/bio_dgram_test.c:479,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/bio_dgram_test.c:488,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/bio_dgram_test.c:489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - key
    - data
    - data_len
    - offset
    argTypes:
    - uint32_t*
    - uint8_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 456
    functionDepth: 6
    functionLinenumber: 456
    functionLinenumberEnd: 491
    functionName: random_data
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - EVP_EncryptUpdate
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int random_data(const uint32_t *key, uint8_t *data, size_t data_len,
      size_t offset)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/bio_dgram_test.c:509,1
    - Dst: memset
      Src: /src/openssl/test/bio_dgram_test.c:510,1
    - Dst: ntohl
      Src: /src/openssl/test/bio_dgram_test.c:512,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:514,1
    - Dst: test_random
      Src: /src/openssl/test/bio_dgram_test.c:515,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:518,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/bio_dgram_test.c:518,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:521,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_dgram_test.c:521,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/test/bio_dgram_test.c:521,1
    - Dst: BIO_dgram_get_mtu
      Src: /src/openssl/test/bio_dgram_test.c:525,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_dgram_test.c:526,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:537,1
    - Dst: BIO_set_write_buf_size
      Src: /src/openssl/test/bio_dgram_test.c:537,1
    - Dst: BIO_dgram_get_mtu
      Src: /src/openssl/test/bio_dgram_test.c:541,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bio_dgram_test.c:542,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:545,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bio_dgram_test.c:548,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:552,1
    - Dst: random_data
      Src: /src/openssl/test/bio_dgram_test.c:552,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_dgram_test.c:556,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:560,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/bio_dgram_test.c:566,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/bio_dgram_test.c:569,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/bio_dgram_test.c:579,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:585,1
    - Dst: random_data
      Src: /src/openssl/test/bio_dgram_test.c:585,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_dgram_test.c:589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:590,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:593,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:598,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_dgram_test.c:598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:602,1
    - Dst: random_data
      Src: /src/openssl/test/bio_dgram_test.c:602,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:610,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:610,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:610,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:612,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:619,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:619,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:619,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:621,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:624,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:627,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:631,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:632,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:635,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_dgram_test.c:635,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:639,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:640,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:643,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_dgram_test.c:643,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:647,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:648,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_dgram_test.c:651,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_dgram_test.c:652,1
    - Dst: TEST_false
      Src: /src/openssl/test/bio_dgram_test.c:658,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:658,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:659,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:660,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:663,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/test/bio_dgram_test.c:663,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:666,1
    - Dst: BIO_dgram_get_caps
      Src: /src/openssl/test/bio_dgram_test.c:666,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:669,1
    - Dst: BIO_dgram_get_effective_caps
      Src: /src/openssl/test/bio_dgram_test.c:669,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:672,1
    - Dst: BIO_dgram_get_effective_caps
      Src: /src/openssl/test/bio_dgram_test.c:672,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:675,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/test/bio_dgram_test.c:675,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:679,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:679,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:680,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:684,1
    - Dst: BIO_dgram_set_local_addr_enable
      Src: /src/openssl/test/bio_dgram_test.c:684,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:691,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:691,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:691,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:693,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:696,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:700,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:700,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:703,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:703,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:706,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:706,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:712,1
    - Dst: BIO_dgram_set_local_addr_enable
      Src: /src/openssl/test/bio_dgram_test.c:712,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:715,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/bio_dgram_test.c:715,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:716,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_dgram_test.c:721,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/bio_dgram_test.c:721,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:721,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_dgram_test.c:722,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:725,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:729,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:729,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:732,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:732,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:735,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_dgram_test.c:735,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:738,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_dgram_test.c:738,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_dgram_test.c:742,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:743,1
    - Dst: memset
      Src: /src/openssl/test/bio_dgram_test.c:746,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:747,1
    - Dst: BIO_dgram_set_no_trunc
      Src: /src/openssl/test/bio_dgram_test.c:747,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:750,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_dgram_test.c:750,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:753,1
    - Dst: BIO_pending
      Src: /src/openssl/test/bio_dgram_test.c:753,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:756,1
    - Dst: BIO_dgram_set_no_trunc
      Src: /src/openssl/test/bio_dgram_test.c:756,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_dgram_test.c:759,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_dgram_test.c:759,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_dgram_test.c:762,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_dgram_test.c:768,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_dgram_test.c:769,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:770,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:771,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:772,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_dgram_test.c:773,1
    CyclomaticComplexity: 128
    EdgeCount: 128
    ICount: 224
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 493
    functionDepth: 7
    functionLinenumber: 493
    functionLinenumberEnd: 775
    functionName: test_bio_dgram_pair
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - BIO_s_dgram_mem
    - BIO_ADDR_new
    - BIO_dgram_get_effective_caps
    - TEST_int_le
    - BIO_dgram_set_no_trunc
    - test_random
    - BIO_ADDR_rawmake
    - TEST_ptr
    - BIO_write
    - BIO_new
    - BIO_new_bio_dgram_pair
    - ntohl
    - BIO_dgram_set_local_addr_enable
    - TEST_size_t_ge
    - BIO_set_write_buf_size
    - TEST_true
    - BIO_read
    - BIO_dgram_get_mtu
    - BIO_ADDR_rawport
    - BIO_free
    - BIO_sendmmsg
    - BIO_recvmmsg
    - TEST_size_t_eq
    - TEST_size_t_lt
    - random_data
    - BIO_dgram_get_caps
    - BIO_ADDR_family
    - memset
    - BIO_pending
    - BIO_ADDR_free
    - TEST_int_ge
    - TEST_false
    - TEST_int_eq
    - BIO_dgram_set_caps
    - OSSL_NELEM
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_bio_dgram_pair(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/bio_dgram_test.c:781,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_dgram_test.c:782,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_dgram_test.c:787,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_dgram_test.c:787,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_dgram_test.c:789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_dgram_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - test_skip_common_options
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/time_offset_test.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/time_offset_test.c:79,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/test/time_offset_test.c:79,1
    - Dst: TEST_info
      Src: /src/openssl/test/time_offset_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/time_offset_test.c:94,1
    - Dst: TEST_info
      Src: /src/openssl/test/time_offset_test.c:95,1
    - Dst: ASN1_TIME_cmp_time_t
      Src: /src/openssl/test/time_offset_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/time_offset_test.c:101,1
    - Dst: TEST_info
      Src: /src/openssl/test/time_offset_test.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: test_offset
    functionSourceFile: /src/openssl/test/time_offset_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_diff
    - TEST_int_eq
    - TEST_info
    - ASN1_TIME_cmp_time_t
    - TEST_true
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_offset(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/time_offset_test.c:111,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/time_offset_test.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/time_offset_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_txp_test.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: fake_now
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_time_now
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/test/quic_txp_test.c:86,1
    - Dst: ossl_ackm_on_pkt_space_discarded
      Src: /src/openssl/test/quic_txp_test.c:92,1
    - Dst: ossl_quic_tx_packetiser_free
      Src: /src/openssl/test/quic_txp_test.c:94,1
    - Dst: ossl_qtx_free
      Src: /src/openssl/test/quic_txp_test.c:95,1
    - Dst: ossl_quic_txpim_free
      Src: /src/openssl/test/quic_txp_test.c:96,1
    - Dst: ossl_quic_cfq_free
      Src: /src/openssl/test/quic_txp_test.c:97,1
    - Dst: struct helper*::cc_method::free
      Src: /src/openssl/test/quic_txp_test.c:99,1
    - Dst: ossl_statm_destroy
      Src: /src/openssl/test/quic_txp_test.c:101,1
    - Dst: ossl_quic_stream_map_cleanup
      Src: /src/openssl/test/quic_txp_test.c:103,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/test/quic_txp_test.c:105,1
    - Dst: ossl_ackm_free
      Src: /src/openssl/test/quic_txp_test.c:106,1
    - Dst: ossl_qrx_free
      Src: /src/openssl/test/quic_txp_test.c:107,1
    - Dst: ossl_quic_demux_free
      Src: /src/openssl/test/quic_txp_test.c:108,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_txp_test.c:109,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_txp_test.c:110,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/test/quic_txp_test.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: helper_cleanup
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_on_pkt_space_discarded
    - ossl_qrx_free
    - ossl_quic_tx_packetiser_free
    - ossl_quic_stream_map_cleanup
    - ossl_quic_channel_free
    - BIO_free
    - struct helper*::cc_method::free
    - ossl_quic_cfq_free
    - ossl_qrx_pkt_release
    - ossl_qtx_free
    - ossl_quic_txpim_free
    - ossl_quic_sstream_free
    - ossl_ackm_free
    - ossl_statm_destroy
    - ossl_quic_demux_free
    linkageType: ''
    returnType: void
    signature: void helper_cleanup(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_txp_test.c:119,1
    - Dst: ossl_qrx_inject_urxe
      Src: /src/openssl/test/quic_txp_test.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - e
    - arg
    - dcid
    argTypes:
    - QUIC_URXE*
    - void*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: demux_default_handler
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_qrx_inject_urxe
    - ossl_quic_conn_id_eq
    linkageType: ''
    returnType: void
    signature: "void demux_default_handler(QUIC_URXE *e, void *arg,\n                                  const
      QUIC_CONN_ID *dcid)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/quic_txp_test.c:131,1
    - Dst: memset
      Src: /src/openssl/test/quic_txp_test.c:132,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:135,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/quic_txp_test.c:135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:141,1
    - Dst: ossl_qtx_new
      Src: /src/openssl/test/quic_txp_test.c:141,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:144,1
    - Dst: ossl_quic_txpim_new
      Src: /src/openssl/test/quic_txp_test.c:144,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:147,1
    - Dst: ossl_quic_cfq_new
      Src: /src/openssl/test/quic_txp_test.c:147,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:150,1
    - Dst: ossl_quic_txfc_init
      Src: /src/openssl/test/quic_txp_test.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:153,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_txp_test.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:160,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_txp_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:167,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_txp_test.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:173,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_txp_test.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:178,1
    - Dst: ossl_statm_init
      Src: /src/openssl/test/quic_txp_test.c:178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:184,1
    - Dst: struct helper*::cc_method::new
      Src: /src/openssl/test/quic_txp_test.c:184,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:187,1
    - Dst: ossl_ackm_new
      Src: /src/openssl/test/quic_txp_test.c:187,1
    - Dst: ossl_quic_channel_alloc
      Src: /src/openssl/test/quic_txp_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:197,1
    - Dst: ossl_quic_stream_map_init
      Src: /src/openssl/test/quic_txp_test.c:197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:206,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/test/quic_txp_test.c:206,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:221,1
    - Dst: ossl_quic_tx_packetiser_new
      Src: /src/openssl/test/quic_txp_test.c:221,1
    - Dst: ossl_quic_tx_packetiser_set_validated
      Src: /src/openssl/test/quic_txp_test.c:228,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:230,1
    - Dst: ossl_quic_demux_new
      Src: /src/openssl/test/quic_txp_test.c:230,1
    - Dst: ossl_quic_demux_set_default_handler
      Src: /src/openssl/test/quic_txp_test.c:234,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:240,1
    - Dst: ossl_qrx_new
      Src: /src/openssl/test/quic_txp_test.c:240,1
    - Dst: ossl_qrx_allow_1rtt_processing
      Src: /src/openssl/test/quic_txp_test.c:243,1
    - Dst: helper_cleanup
      Src: /src/openssl/test/quic_txp_test.c:248,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 85
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 125
    functionDepth: 6
    functionLinenumber: 125
    functionLinenumberEnd: 251
    functionName: helper_init
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_new
    - struct helper*::cc_method::new
    - ossl_ackm_new
    - ossl_quic_rxfc_init
    - ossl_quic_cfq_new
    - TEST_ptr
    - BIO_new_bio_dgram_pair
    - helper_cleanup
    - TEST_true
    - ossl_qrx_new
    - ossl_quic_txfc_init
    - ossl_quic_channel_alloc
    - ossl_quic_tx_packetiser_set_validated
    - ossl_quic_demux_new
    - ossl_quic_stream_map_init
    - ossl_quic_txpim_new
    - memset
    - ossl_qtx_new
    - ossl_statm_init
    - ossl_quic_tx_packetiser_new
    - ossl_qrx_allow_1rtt_processing
    - ossl_quic_demux_set_default_handler
    linkageType: ''
    returnType: int
    signature: int helper_init(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: OP_TXP_GENERATE
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_TXP_GENERATE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: OP_TXP_GENERATE_NONE
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_TXP_GENERATE_NONE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: OP_RX_PKT
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_RX_PKT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: OP_RX_PKT_NONE
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_RX_PKT_NONE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: OP_EXPECT_DGRAM_LEN
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_DGRAM_LEN(lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - frame_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: OP_EXPECT_FRAME
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_FRAME(frame_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: OP_EXPECT_INITIAL_TOKEN
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_INITIAL_TOKEN(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hdr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: OP_EXPECT_HDR
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_HDR(hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: OP_CHECK
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CHECK(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: OP_NEXT_FRAME
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEXT_FRAME()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: OP_EXPECT_NO_FRAME
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_NO_FRAME()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - el
    - ','
    - suite
    - ','
    - secret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: OP_PROVIDE_SECRET
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_PROVIDE_SECRET(el, suite, secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: OP_DISCARD_EL
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_DISCARD_EL(el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pn_space
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: OP_CRYPTO_SEND
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CRYPTO_SEND(pn_space, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: OP_STREAM_NEW
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_STREAM_NEW(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: OP_STREAM_SEND
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_STREAM_SEND(id, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: OP_STREAM_FIN
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_STREAM_FIN(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - aec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: OP_STOP_SENDING
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_STOP_SENDING(id, aec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - aec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: OP_RESET_STREAM
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_RESET_STREAM(id, aec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cwm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: OP_CONN_TXFC_BUMP
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CONN_TXFC_BUMP(cwm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - cwm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: OP_STREAM_TXFC_BUMP
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_STREAM_TXFC_BUMP(id, cwm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: OP_HANDSHAKE_COMPLETE
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_HANDSHAKE_COMPLETE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: OP_NOP
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NOP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tx_packetiser_schedule_handshake_done
      Src: /src/openssl/test/quic_txp_test.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: schedule_handshake_done
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tx_packetiser_schedule_handshake_done
    linkageType: ''
    returnType: int
    signature: int schedule_handshake_done(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tx_packetiser_schedule_ack_eliciting
      Src: /src/openssl/test/quic_txp_test.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: schedule_ack_eliciting_app
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tx_packetiser_schedule_ack_eliciting
    linkageType: ''
    returnType: int
    signature: int schedule_ack_eliciting_app(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/test/quic_txp_test.c:387,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:389,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/test/quic_txp_test.c:389,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:390,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/test/quic_txp_test.c:390,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_txp_test.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 395
    functionName: schedule_max_data
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rxfc_get_cwm
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_quic_rxfc_on_retire
    - TEST_true
    - ossl_ticks2time
    linkageType: ''
    returnType: int
    signature: int schedule_max_data(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quic_txp_test.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: free_buf_mem
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    linkageType: ''
    returnType: void
    signature: void free_buf_mem(unsigned char *buf, size_t buf_len, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/quic_txp_test.c:432,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:434,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quic_txp_test.c:434,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:437,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/quic_txp_test.c:437,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:440,1
    - Dst: ossl_quic_wire_encode_frame_new_conn_id
      Src: /src/openssl/test/quic_txp_test.c:440,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_txp_test.c:441,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_txp_test.c:445,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:447,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_txp_test.c:447,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:450,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/test/quic_txp_test.c:450,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quic_txp_test.c:461,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 420
    functionDepth: 5
    functionLinenumber: 420
    functionLinenumberEnd: 463
    functionName: schedule_cfq_new_conn_id
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - BUF_MEM_free
    - WPACKET_cleanup
    - BUF_MEM_new
    - memcpy
    - WPACKET_get_total_written
    - ossl_quic_wire_encode_frame_new_conn_id
    - TEST_true
    - TEST_ptr
    - ossl_quic_cfq_add_frame
    - WPACKET_init
    linkageType: ''
    returnType: int
    signature: int schedule_cfq_new_conn_id(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:467,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:468,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:469,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 478
    functionName: check_cfq_new_conn_id
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int check_cfq_new_conn_id(struct helper *h)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:509,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quic_txp_test.c:509,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:512,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/quic_txp_test.c:512,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:515,1
    - Dst: ossl_quic_wire_encode_frame_new_token
      Src: /src/openssl/test/quic_txp_test.c:515,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_txp_test.c:517,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_txp_test.c:521,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:523,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_txp_test.c:523,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:526,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/test/quic_txp_test.c:526,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quic_txp_test.c:537,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 501
    functionDepth: 5
    functionLinenumber: 501
    functionLinenumberEnd: 539
    functionName: schedule_cfq_new_token
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - BUF_MEM_free
    - WPACKET_cleanup
    - BUF_MEM_new
    - WPACKET_get_total_written
    - ossl_quic_wire_encode_frame_new_token
    - TEST_true
    - TEST_ptr
    - ossl_quic_cfq_add_frame
    - WPACKET_init
    linkageType: ''
    returnType: int
    signature: int schedule_cfq_new_token(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 550
    functionName: check_cfq_new_token
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int check_cfq_new_token(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_now
      Src: /src/openssl/test/quic_txp_test.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:581,1
    - Dst: ossl_ackm_on_rx_packet
      Src: /src/openssl/test/quic_txp_test.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 586
    functionName: schedule_ack
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_on_rx_packet
    - fake_now
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int schedule_ack(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: check_stream_9
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int check_stream_9(struct helper *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_txp_test.c:914,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_txp_test.c:915,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 924
    functionName: check_stream_10a
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_uint64_t_le
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: int
    signature: int check_stream_10a(struct helper *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_txp_test.c:928,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_txp_test.c:929,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 938
    functionName: check_stream_10b
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_uint64_t_le
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: int
    signature: int check_stream_10b(struct helper *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_txp_test.c:942,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_txp_test.c:943,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 951
    functionName: check_stream_10c
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_uint64_t_le
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: int
    signature: int check_stream_10c(struct helper *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_txp_test.c:955,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_txp_test.c:956,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 964
    functionName: check_stream_10d
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_uint64_t_le
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: int
    signature: int check_stream_10d(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1033,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1038
    functionName: check_stream_12
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int check_stream_12(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1065,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1066,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: check_stream_13
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused check_stream_13(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/quic_txp_test.c:1103,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1105,1
    - Dst: ossl_quic_tx_packetiser_schedule_conn_close
      Src: /src/openssl/test/quic_txp_test.c:1105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1109
    functionName: gen_conn_close
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tx_packetiser_schedule_conn_close
    - strlen
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int gen_conn_close(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_txp_test.c:1113,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1114,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1116,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:1117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1122
    functionName: check_14
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_int_eq
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int check_14(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/test/quic_txp_test.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1151
    functionName: gen_probe_initial
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_get0_probe_request
    linkageType: ''
    returnType: int
    signature: int gen_probe_initial(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/test/quic_txp_test.c:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1179
    functionName: gen_probe_handshake
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_get0_probe_request
    linkageType: ''
    returnType: int
    signature: int gen_probe_handshake(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/test/quic_txp_test.c:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1208
    functionName: gen_probe_1rtt
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_get0_probe_request
    linkageType: ''
    returnType: int
    signature: int gen_probe_1rtt(struct helper *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/quic_txp_test.c:1235,1
    - Dst: ossl_quic_tx_packetiser_set_initial_token
      Src: /src/openssl/test/quic_txp_test.c:1235,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_txp_test.c:1247,1
    - Dst: ossl_quic_tx_packetiser_set_initial_token
      Src: /src/openssl/test/quic_txp_test.c:1250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1256
    functionName: try_big_token
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tx_packetiser_set_initial_token
    - TEST_size_t_gt
    - TEST_false
    linkageType: ''
    returnType: int
    signature: int try_big_token(struct helper *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_txp_test.c:1300,1
    - Dst: ossl_quic_wire_decode_padding
      Src: /src/openssl/test/quic_txp_test.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1305
    functionName: skip_padding
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_padding
    - ossl_quic_wire_peek_frame_header
    linkageType: ''
    returnType: void
    signature: void skip_padding(struct helper *h)
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: helper_init
      Src: /src/openssl/test/quic_txp_test.c:1315,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1322,1
    - Dst: ossl_quic_tx_packetiser_generate
      Src: /src/openssl/test/quic_txp_test.c:1322,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_txp_test.c:1323,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/test/quic_txp_test.c:1326,1
    - Dst: ossl_qtx_flush_net
      Src: /src/openssl/test/quic_txp_test.c:1327,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1330,1
    - Dst: ossl_quic_tx_packetiser_generate
      Src: /src/openssl/test/quic_txp_test.c:1330,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1331,1
    - Dst: ossl_quic_demux_pump
      Src: /src/openssl/test/quic_txp_test.c:1336,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/test/quic_txp_test.c:1337,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1339,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/test/quic_txp_test.c:1339,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1341,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_txp_test.c:1341,1
    - Dst: ossl_quic_demux_pump
      Src: /src/openssl/test/quic_txp_test.c:1348,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_txp_test.c:1349,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/test/quic_txp_test.c:1349,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/quic_txp_test.c:1354,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/quic_txp_test.c:1355,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1359,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_txp_test.c:1363,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1368,1
    - Dst: cmp_pkt_hdr
      Src: /src/openssl/test/quic_txp_test.c:1368,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1373,1
    - Dst: struct script_op*::check_func
      Src: /src/openssl/test/quic_txp_test.c:1373,1
    - Dst: skip_padding
      Src: /src/openssl/test/quic_txp_test.c:1377,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_txp_test.c:1378,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1385,1
    - Dst: ossl_quic_wire_decode_frame_handshake_done
      Src: /src/openssl/test/quic_txp_test.c:1385,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1389,1
    - Dst: ossl_quic_wire_decode_frame_ping
      Src: /src/openssl/test/quic_txp_test.c:1389,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1393,1
    - Dst: ossl_quic_wire_decode_frame_max_data
      Src: /src/openssl/test/quic_txp_test.c:1393,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1398,1
    - Dst: ossl_quic_wire_decode_frame_new_conn_id
      Src: /src/openssl/test/quic_txp_test.c:1398,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1403,1
    - Dst: ossl_quic_wire_decode_frame_new_token
      Src: /src/openssl/test/quic_txp_test.c:1403,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txp_test.c:1411,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1412,1
    - Dst: ossl_quic_wire_decode_frame_ack
      Src: /src/openssl/test/quic_txp_test.c:1412,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1419,1
    - Dst: ossl_quic_wire_decode_frame_crypto
      Src: /src/openssl/test/quic_txp_test.c:1419,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1431,1
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/test/quic_txp_test.c:1431,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1436,1
    - Dst: ossl_quic_wire_decode_frame_stop_sending
      Src: /src/openssl/test/quic_txp_test.c:1436,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1442,1
    - Dst: ossl_quic_wire_decode_frame_reset_stream
      Src: /src/openssl/test/quic_txp_test.c:1442,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1449,1
    - Dst: ossl_quic_wire_decode_frame_conn_close
      Src: /src/openssl/test/quic_txp_test.c:1449,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_txp_test.c:1455,1
    - Dst: skip_padding
      Src: /src/openssl/test/quic_txp_test.c:1460,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1461,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quic_txp_test.c:1461,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1465,1
    - Dst: ossl_qtx_provide_secret
      Src: /src/openssl/test/quic_txp_test.c:1465,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1470,1
    - Dst: ossl_qrx_provide_secret
      Src: /src/openssl/test/quic_txp_test.c:1470,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1477,1
    - Dst: ossl_quic_tx_packetiser_discard_enc_level
      Src: /src/openssl/test/quic_txp_test.c:1477,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1490,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_txp_test.c:1490,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1495,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1503,1
    - Dst: ossl_quic_stream_map_alloc
      Src: /src/openssl/test/quic_txp_test.c:1503,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1507,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/test/quic_txp_test.c:1507,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1508,1
    - Dst: ossl_quic_txfc_init
      Src: /src/openssl/test/quic_txp_test.c:1508,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1509,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_txp_test.c:1509,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1513,1
    - Dst: ossl_quic_rstream_new
      Src: /src/openssl/test/quic_txp_test.c:1513,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/test/quic_txp_test.c:1515,1
    - Dst: ossl_quic_stream_map_release
      Src: /src/openssl/test/quic_txp_test.c:1516,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1526,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1526,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1530,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_txp_test.c:1530,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_txp_test.c:1534,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/test/quic_txp_test.c:1537,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1544,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1544,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/test/quic_txp_test.c:1548,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1555,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1555,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1559,1
    - Dst: ossl_quic_stream_map_stop_sending_recv_part
      Src: /src/openssl/test/quic_txp_test.c:1559,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/test/quic_txp_test.c:1563,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1565,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1573,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1573,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1577,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/test/quic_txp_test.c:1577,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/test/quic_txp_test.c:1581,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1583,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1588,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_txp_test.c:1588,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txp_test.c:1596,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/test/quic_txp_test.c:1596,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txp_test.c:1600,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_txp_test.c:1600,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/test/quic_txp_test.c:1603,1
    - Dst: ossl_quic_tx_packetiser_notify_handshake_complete
      Src: /src/openssl/test/quic_txp_test.c:1607,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_txp_test.c:1612,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_txp_test.c:1620,1
    - Dst: helper_cleanup
      Src: /src/openssl/test/quic_txp_test.c:1622,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 262
    argCount: 2
    argNames:
    - script_idx
    - script
    argTypes:
    - int
    - struct script_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1624
    functionName: run_script
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_new
    - ossl_quic_demux_pump
    - ossl_quic_wire_decode_frame_max_data
    - ossl_quic_rxfc_init
    - ossl_qtx_finish_dgram
    - ossl_quic_wire_decode_frame_stream
    - ossl_quic_wire_decode_frame_conn_close
    - ossl_quic_wire_decode_frame_crypto
    - TEST_ptr
    - ossl_quic_rstream_new
    - ossl_quic_stream_map_get_by_id
    - TEST_size_t_gt
    - PACKET_buf_init
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_tx_packetiser_notify_handshake_complete
    - ossl_qtx_flush_net
    - ossl_quic_wire_decode_frame_ack
    - helper_cleanup
    - ossl_quic_wire_decode_frame_ping
    - ossl_quic_tx_packetiser_discard_enc_level
    - ossl_quic_wire_peek_frame_header
    - ossl_quic_sstream_append
    - ossl_qrx_pkt_release
    - ossl_quic_stream_map_update_state
    - TEST_size_t_ge
    - TEST_uint64_t_eq
    - TEST_true
    - cmp_pkt_hdr
    - ossl_quic_wire_decode_frame_new_conn_id
    - ossl_quic_wire_decode_frame_stop_sending
    - ossl_quic_txfc_init
    - helper_init
    - ossl_quic_tx_packetiser_generate
    - TEST_error
    - ossl_quic_stream_map_stop_sending_recv_part
    - ossl_quic_wire_decode_frame_new_token
    - ossl_qrx_provide_secret
    - ossl_quic_wire_decode_frame_handshake_done
    - ossl_quic_wire_decode_frame_reset_stream
    - TEST_size_t_eq
    - struct script_op*::check_func
    - ossl_quic_sstream_fin
    - ossl_quic_stream_map_reset_stream_send_part
    - TEST_size_t_le
    - TEST_false
    - ossl_quic_stream_map_alloc
    - PACKET_remaining
    - OSSL_NELEM
    - ossl_qtx_provide_secret
    - skip_padding
    - ossl_qrx_read_pkt
    - ossl_quic_sstream_free
    - TEST_mem_eq
    - ossl_quic_stream_map_release
    linkageType: ''
    returnType: int
    signature: int run_script(int script_idx, const struct script_op *script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_script
      Src: /src/openssl/test/quic_txp_test.c:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1629
    functionName: test_script
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - run_script
    linkageType: ''
    returnType: int
    signature: int test_script(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1661
    functionName: check_is_initial
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_is_initial(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1666
    functionName: check_is_handshake
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_is_handshake(struct helper *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: run_script
      Src: /src/openssl/test/quic_txp_test.c:1704,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_txp_test.c:1705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1710
    functionName: test_dyn_script_1
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - run_script
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_dyn_script_1(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_txp_test.c:1714,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txp_test.c:1714,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_txp_test.c:1715,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txp_test.c:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1712
    functionDepth: 1
    functionLinenumber: 1712
    functionLinenumberEnd: 1719
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_txp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/x509_time_test.c:261,1
    - Dst: strlen
      Src: /src/openssl/test/x509_time_test.c:264,1
    - Dst: X509_cmp_time
      Src: /src/openssl/test/x509_time_test.c:267,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:268,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: test_x509_cmp_time
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - X509_cmp_time
    - memset
    - TEST_int_eq
    - TEST_info
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_x509_cmp_time(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/x509_time_test.c:278,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:283,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:284,1
    - Dst: X509_cmp_time
      Src: /src/openssl/test/x509_time_test.c:286,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:287,1
    - Dst: X509_cmp_time
      Src: /src/openssl/test/x509_time_test.c:290,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:291,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:294,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 298
    functionName: test_x509_cmp_time_current
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - time
    - X509_cmp_time
    - ASN1_TIME_free
    - TEST_int_eq
    - ASN1_TIME_adj
    linkageType: ''
    returnType: int
    signature: int test_x509_cmp_time_current(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/openssl/test/x509_time_test.c:306,1
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/openssl/test/x509_time_test.c:307,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:310,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:310,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:311,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:312,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:313,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:313,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:314,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:314,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:316,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:316,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:318,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/test/x509_time_test.c:318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 4
    argNames:
    - vpm
    - asn1_before
    - asn1_mid
    - asn1_after
    argTypes:
    - X509_VERIFY_PARAM*
    - ASN1_TIME*
    - ASN1_TIME*
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 320
    functionName: test_X509_cmp_timeframe_vpm
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_get_flags
    - TEST_int_eq
    - X509_cmp_timeframe
    linkageType: ''
    returnType: int
    signature: "int test_X509_cmp_timeframe_vpm(const X509_VERIFY_PARAM *vpm,\n                                       ASN1_TIME
      *asn1_before,\n                                       ASN1_TIME *asn1_mid,\n
      \                                      ASN1_TIME *asn1_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/x509_time_test.c:324,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:325,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:327,1
    - Dst: ASN1_TIME_adj
      Src: /src/openssl/test/x509_time_test.c:328,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/x509_time_test.c:329,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/openssl/test/x509_time_test.c:334,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/openssl/test/x509_time_test.c:335,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/test/x509_time_test.c:337,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/openssl/test/x509_time_test.c:339,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/x509_time_test.c:340,1
    - Dst: test_X509_cmp_timeframe_vpm
      Src: /src/openssl/test/x509_time_test.c:341,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/x509_time_test.c:343,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:345,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:346,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 322
    functionDepth: 5
    functionLinenumber: 322
    functionLinenumberEnd: 350
    functionName: test_X509_cmp_timeframe
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - time
    - test_X509_cmp_timeframe_vpm
    - X509_VERIFY_PARAM_free
    - ASN1_TIME_free
    - X509_VERIFY_PARAM_new
    - X509_VERIFY_PARAM_set_flags
    - ASN1_TIME_adj
    - X509_VERIFY_PARAM_set_time
    linkageType: ''
    returnType: int
    signature: int test_X509_cmp_timeframe(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/x509_time_test.c:359,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:361,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/test/x509_time_test.c:366,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:368,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:369,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:376,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:377,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/x509_time_test.c:385,1
    - Dst: strlen
      Src: /src/openssl/test/x509_time_test.c:387,1
    - Dst: TEST_info
      Src: /src/openssl/test/x509_time_test.c:388,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:398,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 400
    functionName: test_x509_time
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_free
    - strlen
    - TEST_int_eq
    - TEST_info
    - ASN1_TIME_set_string_X509
    - ASN1_TIME_new
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_x509_time(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/x509_time_test.c:465,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_time_test.c:469,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/x509_time_test.c:469,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_time_test.c:472,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/x509_time_test.c:472,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_time_test.c:473,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/x509_time_test.c:473,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:474,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:475,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/x509_time_test.c:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 479
    functionName: test_days
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_to_tm
    - ASN1_TIME_free
    - ASN1_TIME_set_string
    - TEST_int_eq
    - BIO_snprintf
    - ASN1_TIME_new
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_days(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - t
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: construct_asn1_time
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: construct_asn1_time(s, t, e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_time_test.c:545,1
    - Dst: BIO_new
      Src: /src/openssl/test/x509_time_test.c:545,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/x509_time_test.c:545,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/test/x509_time_test.c:548,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/x509_time_test.c:551,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/x509_time_test.c:555,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/x509_time_test.c:555,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:556,1
    - Dst: strlen
      Src: /src/openssl/test/x509_time_test.c:556,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/x509_time_test.c:557,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_time_test.c:562,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 538
    functionDepth: 5
    functionLinenumber: 538
    functionLinenumberEnd: 564
    functionName: test_x509_time_print_rfc_822
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - TEST_int_ne
    - TEST_str_eq
    - BIO_free
    - TEST_int_eq
    - TEST_strn_eq
    - BIO_get_mem_data
    - BIO_s_mem
    - ASN1_TIME_print_ex
    - TEST_ptr
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_x509_time_print_rfc_822(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_time_test.c:573,1
    - Dst: BIO_new
      Src: /src/openssl/test/x509_time_test.c:573,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/x509_time_test.c:573,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/test/x509_time_test.c:576,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/x509_time_test.c:579,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/x509_time_test.c:583,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/x509_time_test.c:583,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_time_test.c:584,1
    - Dst: strlen
      Src: /src/openssl/test/x509_time_test.c:584,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/x509_time_test.c:585,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_time_test.c:590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 566
    functionDepth: 5
    functionLinenumber: 566
    functionLinenumberEnd: 592
    functionName: test_x509_time_print_iso_8601
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - TEST_int_ne
    - TEST_str_eq
    - BIO_free
    - TEST_int_eq
    - TEST_strn_eq
    - BIO_get_mem_data
    - BIO_s_mem
    - ASN1_TIME_print_ex
    - TEST_ptr
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_x509_time_print_iso_8601(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_time_test.c:596,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_time_test.c:597,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:598,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:598,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:599,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:599,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:600,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:600,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:601,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:601,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_time_test.c:602,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_time_test.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_time_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/handshake-memfail.c:56,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/handshake-memfail.c:56,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/handshake-memfail.c:56,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/handshake-memfail.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/handshake-memfail.c:63,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/handshake-memfail.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/handshake-memfail.c:65,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/handshake-memfail.c:65,1
    - Dst: SSL_free
      Src: /src/openssl/test/handshake-memfail.c:72,1
    - Dst: SSL_free
      Src: /src/openssl/test/handshake-memfail.c:73,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/handshake-memfail.c:74,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/handshake-memfail.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 78
    functionName: do_handshake
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 4
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - create_ssl_objects
    - TLS_server_method
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int do_handshake(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/handshake-memfail.c:94,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/handshake-memfail.c:95,1
    - Dst: do_handshake
      Src: /src/openssl/test/handshake-memfail.c:98,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/handshake-memfail.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: test_record_alloc_counts
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 0
    functionsReached:
    - do_handshake
    - TEST_ptr
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_record_alloc_counts(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/handshake-memfail.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/handshake-memfail.c:122,1
    - Dst: do_handshake
      Src: /src/openssl/test/handshake-memfail.c:125,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/handshake-memfail.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: test_alloc_failures
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 0
    functionsReached:
    - do_handshake
    - TEST_ptr
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_alloc_failures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/handshake-memfail.c:135,1
    - Dst: TEST_info
      Src: /src/openssl/test/handshake-memfail.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: test_report_alloc_counts
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_alloc_counts
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_report_alloc_counts(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/handshake-memfail.c:155,1
    - Dst: test_get_argument
      Src: /src/openssl/test/handshake-memfail.c:155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/handshake-memfail.c:158,1
    - Dst: test_get_argument
      Src: /src/openssl/test/handshake-memfail.c:158,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/handshake-memfail.c:161,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/handshake-memfail.c:165,1
    - Dst: strcmp
      Src: /src/openssl/test/handshake-memfail.c:169,1
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/handshake-memfail.c:170,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/handshake-memfail.c:171,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/handshake-memfail.c:172,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/handshake-memfail.c:174,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/handshake-memfail.c:179,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/handshake-memfail.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 182
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_alloc_counts
    - ADD_TEST
    - OPENSSL_free
    - test_mk_file_path
    - test_get_argument
    - strcmp
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/handshake-memfail.c:186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/handshake-memfail.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/handshake-memfail.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue_strings
      Src: /src/openssl/test/crltest.c:286,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/crltest.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pem
    - out
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: glue2bio
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - glue_strings
    linkageType: ''
    returnType: BIO
    signature: BIO *glue2bio(const char **pem, char **out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glue2bio
      Src: /src/openssl/test/crltest.c:297,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/crltest.c:300,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/openssl/test/crltest.c:304,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/crltest.c:306,1
    - Dst: BIO_free
      Src: /src/openssl/test/crltest.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pem
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: CRL_from_strings
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - glue2bio
    - BIO_free
    - PEM_read_bio_X509_CRL
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *CRL_from_strings(const char **pem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glue2bio
      Src: /src/openssl/test/crltest.c:318,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/crltest.c:321,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/crltest.c:325,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/crltest.c:327,1
    - Dst: BIO_free
      Src: /src/openssl/test/crltest.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pem
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 330
    functionName: X509_from_strings
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - glue2bio
    - BIO_free
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: X509 *X509_from_strings(const char **pem)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/crltest.c:392,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/test/crltest.c:392,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/test/crltest.c:395,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/test/crltest.c:397,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:398,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/test/crltest.c:404,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/test/crltest.c:406,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:407,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/test/crltest.c:415,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - X509_CRL*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 417
    functionName: make_CRL_stack
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - sk_X509_CRL_pop_free
    - sk_X509_CRL_push
    - X509_CRL_up_ref
    - X509_CRL_free
    - STACK_OF
    - sk_X509_CRL_new_null
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *make_CRL_stack(X509_CRL *x1, X509_CRL *x2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:421,1
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:426,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:427,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:428,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:428,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:429,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:431,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:431,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:432,1
    - Dst: X509_CRL_get0_signature
      Src: /src/openssl/test/crltest.c:435,1
    - Dst: X509_CRL_get0_tbs_sigalg
      Src: /src/openssl/test/crltest.c:436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:438,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:439,1
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/test/crltest.c:439,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:442,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: test_basic_crl
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_cmp
    - X509_CRL_get0_tbs_sigalg
    - TEST_int_eq
    - X509_CRL_free
    - make_CRL_stack
    - verify
    - TEST_ptr
    - CRL_from_strings
    - X509_CRL_get0_signature
    linkageType: ''
    returnType: int
    signature: int test_basic_crl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:449,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: test_no_crl
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - verify
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_no_crl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:456,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:459,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:460,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:460,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:461,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: test_bad_issuer_crl
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - X509_CRL_free
    - make_CRL_stack
    - verify
    - TEST_ptr
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_bad_issuer_crl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:470,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:473,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:474,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:474,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:475,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 480
    functionName: test_crl_empty_idp
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - X509_CRL_free
    - make_CRL_stack
    - verify
    - TEST_ptr
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_crl_empty_idp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:487,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:488,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:488,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:489,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 493
    functionName: test_known_critical_crl
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - X509_CRL_free
    - make_CRL_stack
    - verify
    - TEST_ptr
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_known_critical_crl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:497,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:500,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/crltest.c:501,1
    - Dst: verify
      Src: /src/openssl/test/crltest.c:501,1
    - Dst: make_CRL_stack
      Src: /src/openssl/test/crltest.c:502,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 507
    functionName: test_unknown_critical_crl
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - X509_CRL_free
    - make_CRL_stack
    - verify
    - TEST_ptr
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_unknown_critical_crl(int n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CRL_from_strings
      Src: /src/openssl/test/crltest.c:511,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:517,1
    - Dst: TEST_true
      Src: /src/openssl/test/crltest.c:521,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/test/crltest.c:521,1
    - Dst: glue2bio
      Src: /src/openssl/test/crltest.c:527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:529,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/openssl/test/crltest.c:532,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:536,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:537,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/crltest.c:541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:542,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:546,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:547,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/crltest.c:548,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/crltest.c:556,1
    - Dst: BIO_free
      Src: /src/openssl/test/crltest.c:557,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:558,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/crltest.c:559,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 561
    functionName: test_reuse_crl
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - glue2bio
    - TEST_ptr_null
    - PEM_read_bio_X509_CRL
    - X509_CRL_up_ref
    - BIO_free
    - X509_CRL_free
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - TEST_ptr_eq
    - CRL_from_strings
    linkageType: ''
    returnType: int
    signature: int test_reuse_crl(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:565,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:565,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:566,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:566,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:567,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:567,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/crltest.c:568,1
    - Dst: X509_from_strings
      Src: /src/openssl/test/crltest.c:568,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:571,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:572,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:573,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:574,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/crltest.c:575,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/crltest.c:576,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/crltest.c:576,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/crltest.c:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 579
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - OSSL_NELEM
    - TEST_ptr
    - X509_from_strings
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:583,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:584,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:585,1
    - Dst: X509_free
      Src: /src/openssl/test/crltest.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/crltest.c
    functionUses: 2
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/decoder_propq_test.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/decoder_propq_test.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/openssl/test/decoder_propq_test.c:44,1
    - Dst: strlen
      Src: /src/openssl/test/decoder_propq_test.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: passcb
    functionSourceFile: /src/openssl/test/decoder_propq_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int passcb(char *buf, int size, int rwflag, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/decoder_propq_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/decoder_propq_test.c:60,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/decoder_propq_test.c:60,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/decoder_propq_test.c:67,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/decoder_propq_test.c:67,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/decoder_propq_test.c:74,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/decoder_propq_test.c:74,1
    - Dst: BIO_free
      Src: /src/openssl/test/decoder_propq_test.c:79,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/decoder_propq_test.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 12
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: test_decode_nonfipsalg
    functionSourceFile: /src/openssl/test/decoder_propq_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - TEST_ptr_null
    - EVP_default_properties_enable_fips
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - EVP_PKEY_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_decode_nonfipsalg(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/decoder_propq_test.c:90,1
    - Dst: opt_arg
      Src: /src/openssl/test/decoder_propq_test.c:93,1
    - Dst: opt_arg
      Src: /src/openssl/test/decoder_propq_test.c:96,1
    - Dst: test_get_argument
      Src: /src/openssl/test/decoder_propq_test.c:106,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/decoder_propq_test.c:107,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/decoder_propq_test.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/decoder_propq_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - ADD_TEST
    - test_get_libctx
    - test_get_argument
    - opt_arg
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/decoder_propq_test.c:116,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/decoder_propq_test.c:117,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/decoder_propq_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/decoder_propq_test.c
    functionUses: 2
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1517,1
    - Dst: Poly1305_Init
      Src: /src/openssl/test/poly1305_internal_test.c:1520,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1521,1
    - Dst: Poly1305_Final
      Src: /src/openssl/test/poly1305_internal_test.c:1522,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1524,1
    - Dst: TEST_info
      Src: /src/openssl/test/poly1305_internal_test.c:1525,1
    - Dst: Poly1305_Init
      Src: /src/openssl/test/poly1305_internal_test.c:1530,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1531,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1532,1
    - Dst: Poly1305_Final
      Src: /src/openssl/test/poly1305_internal_test.c:1533,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1535,1
    - Dst: TEST_info
      Src: /src/openssl/test/poly1305_internal_test.c:1536,1
    - Dst: Poly1305_Init
      Src: /src/openssl/test/poly1305_internal_test.c:1544,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1545,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1546,1
    - Dst: Poly1305_Final
      Src: /src/openssl/test/poly1305_internal_test.c:1547,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1549,1
    - Dst: TEST_info
      Src: /src/openssl/test/poly1305_internal_test.c:1550,1
    - Dst: Poly1305_Init
      Src: /src/openssl/test/poly1305_internal_test.c:1555,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1556,1
    - Dst: Poly1305_Update
      Src: /src/openssl/test/poly1305_internal_test.c:1557,1
    - Dst: Poly1305_Final
      Src: /src/openssl/test/poly1305_internal_test.c:1558,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/poly1305_internal_test.c:1560,1
    - Dst: TEST_info
      Src: /src/openssl/test/poly1305_internal_test.c:1561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1569
    functionName: test_poly1305
    functionSourceFile: /src/openssl/test/poly1305_internal_test.c
    functionUses: 0
    functionsReached:
    - Poly1305_Init
    - TEST_info
    - Poly1305_Update
    - Poly1305_Final
    - TEST_size_t_eq
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_poly1305(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/poly1305_internal_test.c:1573,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/poly1305_internal_test.c:1573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1575
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/poly1305_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/test/cmp_msg_test.c:40,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_msg_test.c:41,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/test/cmp_msg_test.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_msg_test.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 18
    functionsReached:
    - OSSL_CMP_PKISI_free
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: SET_OPT_UNPROTECTED_SEND
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_OPT_UNPROTECTED_SEND(ctx, val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:52,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_msg_test.c:52,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:56,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_msg_test.c:56,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:57,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_msg_test.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:58,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_msg_test.c:58,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 12
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_CMP_CTX_set1_referenceValue
    - TEST_true
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - TEST_ptr
    - OSSL_CMP_CTX_new
    linkageType: ''
    returnType: CMP_MSG_TEST_FIXTURE
    signature: CMP_MSG_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: EXECUTE_MSG_CREATION_TEST
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXECUTE_MSG_CREATION_TEST(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/openssl/test/cmp_msg_test.c:90,1
    - Dst: ossl_cmp_certreq_new
      Src: /src/openssl/test/cmp_msg_test.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 15
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: execute_certreq_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_certreq_new
    linkageType: ''
    returnType: int
    signature: int execute_certreq_create_test(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/openssl/test/cmp_msg_test.c:97,1
    - Dst: ossl_cmp_error_new
      Src: /src/openssl/test/cmp_msg_test.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 14
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: execute_errormsg_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_error_new
    linkageType: ''
    returnType: int
    signature: int execute_errormsg_create_test(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/openssl/test/cmp_msg_test.c:104,1
    - Dst: ossl_cmp_rr_new
      Src: /src/openssl/test/cmp_msg_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 14
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: execute_rr_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_rr_new
    linkageType: ''
    returnType: int
    signature: int execute_rr_create_test(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/openssl/test/cmp_msg_test.c:109,1
    - Dst: ossl_cmp_certConf_new
      Src: /src/openssl/test/cmp_msg_test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 14
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: execute_certconf_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_certConf_new
    linkageType: ''
    returnType: int
    signature: int execute_certconf_create_test(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/openssl/test/cmp_msg_test.c:116,1
    - Dst: ossl_cmp_genm_new
      Src: /src/openssl/test/cmp_msg_test.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 15
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: execute_genm_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_genm_new
    linkageType: ''
    returnType: int
    signature: int execute_genm_create_test(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/openssl/test/cmp_msg_test.c:121,1
    - Dst: ossl_cmp_pollReq_new
      Src: /src/openssl/test/cmp_msg_test.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 14
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: execute_pollreq_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_pollReq_new
    linkageType: ''
    returnType: int
    signature: int execute_pollreq_create_test(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXECUTE_MSG_CREATION_TEST
      Src: /src/openssl/test/cmp_msg_test.c:126,1
    - Dst: ossl_cmp_msg_create
      Src: /src/openssl/test/cmp_msg_test.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: execute_pkimessage_create_test
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_MSG_CREATION_TEST
    - ossl_cmp_msg_create
    linkageType: ''
    returnType: int
    signature: int execute_pkimessage_create_test(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/cmp_msg_test.c:132,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:135,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_msg_test.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - OSSL_CMP_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: set1_newPkey
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set0_newPkey
    - EVP_PKEY_up_ref
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int set1_newPkey(OSSL_CMP_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:147,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_msg_test.c:153,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/cmp_msg_test.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:154,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_msg_test.c:154,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:155,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:155,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:156,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_msg_test.c:156,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:158,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 7
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: test_cmp_create_ir_protection_set
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - TEST_true
    - TEST_int_eq
    - set1_newPkey
    - OSSL_CMP_CTX_set1_secretValue
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - EXECUTE_TEST
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_ir_protection_set(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:171,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_msg_test.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:172,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_msg_test.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:174,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/openssl/test/cmp_msg_test.c:174,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:175,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: test_cmp_create_ir_protection_fails
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - TEST_true
    - OSSL_CMP_CTX_set1_pkey
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_cert
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_ir_protection_fails(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:184,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: test_cmp_create_cr_without_key
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_cr_without_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:194,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:198,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:198,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:199,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 6
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: test_cmp_create_cr
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - set1_newPkey
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_cr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:212,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:212,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:213,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: test_cmp_create_certreq_with_invalid_bodytype
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - set1_newPkey
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_certreq_with_invalid_bodytype(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:225,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:230,1
    - Dst: load_csr_der
      Src: /src/openssl/test/cmp_msg_test.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:231,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:232,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/openssl/test/cmp_msg_test.c:232,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:233,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/cmp_msg_test.c:236,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 239
    functionName: test_cmp_create_p10cr
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    - SETUP_TEST_FIXTURE
    - set1_newPkey
    - load_csr_der
    - OSSL_CMP_CTX_set1_p10CSR
    - tear_down
    - TEST_true
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_p10cr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:247,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:247,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:248,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 241
    functionDepth: 6
    functionLinenumber: 241
    functionLinenumberEnd: 253
    functionName: test_cmp_create_p10cr_null
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - set1_newPkey
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_p10cr_null(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:261,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:261,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:262,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/openssl/test/cmp_msg_test.c:262,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:263,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 6
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: test_cmp_create_kur
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - set1_newPkey
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_oldCert
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_kur(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:276,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:276,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:277,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 6
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: test_cmp_create_kur_without_oldcert
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - set1_newPkey
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_kur_without_oldcert(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:289,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_msg_test.c:289,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_msg_test.c:290,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:291,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: test_cmp_create_certconf
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - X509_dup
    - tear_down
    - ossl_cmp_ctx_set0_newCert
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_certconf(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:303,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_msg_test.c:303,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_msg_test.c:304,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:305,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: test_cmp_create_certconf_badAlg
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - X509_dup
    - tear_down
    - ossl_cmp_ctx_set0_newCert
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_certconf_badAlg(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:317,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_msg_test.c:317,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_msg_test.c:318,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:319,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: test_cmp_create_certconf_fail_info_max
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - X509_dup
    - tear_down
    - ossl_cmp_ctx_set0_newCert
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_certconf_fail_info_max(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:328,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/test/cmp_msg_test.c:329,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:334,1
    - Dst: set1_newPkey
      Src: /src/openssl/test/cmp_msg_test.c:334,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:335,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 326
    functionDepth: 6
    functionLinenumber: 326
    functionLinenumberEnd: 340
    functionName: test_cmp_create_error_msg
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - set1_newPkey
    - OSSL_CMP_STATUSINFO_new
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_error_msg(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:344,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: test_cmp_create_pollreq
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_pollreq(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:352,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:354,1
    - Dst: OSSL_CMP_CTX_set1_oldCert
      Src: /src/openssl/test/cmp_msg_test.c:354,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:355,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: test_cmp_create_rr
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_oldCert
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_rr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:366,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/test/cmp_msg_test.c:368,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/cmp_msg_test.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:369,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:370,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/openssl/test/cmp_msg_test.c:370,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/test/cmp_msg_test.c:371,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:372,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 5
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: test_cmp_create_genm
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_push0_genm_ITAV
    - OSSL_CMP_ITAV_create
    - tear_down
    - OBJ_nid2obj
    - TEST_true
    - TEST_ptr
    - EXECUTE_TEST
    - OSSL_CMP_ITAV_free
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_genm(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CERTREPMESSAGE_new
      Src: /src/openssl/test/cmp_msg_test.c:383,1
    - Dst: OSSL_CMP_CERTRESPONSE_new
      Src: /src/openssl/test/cmp_msg_test.c:384,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/cmp_msg_test.c:390,1
    - Dst: OSSL_CMP_CERTIFIEDKEYPAIR_new
      Src: /src/openssl/test/cmp_msg_test.c:392,1
    - Dst: X509_dup
      Src: /src/openssl/test/cmp_msg_test.c:397,1
    - Dst: sk_OSSL_CMP_CERTRESPONSE_push
      Src: /src/openssl/test/cmp_msg_test.c:398,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/test/cmp_msg_test.c:401,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:402,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_msg_test.c:404,1
    - Dst: ossl_cmp_certrepmessage_get0_certresponse
      Src: /src/openssl/test/cmp_msg_test.c:404,1
    - Dst: ossl_cmp_certresponse_get1_cert
      Src: /src/openssl/test/cmp_msg_test.c:406,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_msg_test.c:407,1
    - Dst: X509_cmp
      Src: /src/openssl/test/cmp_msg_test.c:407,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_msg_test.c:412,1
    - Dst: OSSL_CMP_CERTRESPONSE_free
      Src: /src/openssl/test/cmp_msg_test.c:413,1
    - Dst: OSSL_CMP_CERTREPMESSAGE_free
      Src: /src/openssl/test/cmp_msg_test.c:414,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 380
    functionDepth: 10
    functionLinenumber: 380
    functionLinenumberEnd: 416
    functionName: execute_certrep_create
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CERTREPMESSAGE_new
    - TEST_ptr_null
    - OSSL_CMP_CERTIFIEDKEYPAIR_new
    - OSSL_CMP_CERTRESPONSE_free
    - TEST_int_eq
    - X509_dup
    - ossl_cmp_certresponse_get1_cert
    - X509_cmp
    - ASN1_INTEGER_set
    - X509_free
    - OSSL_CMP_CERTRESPONSE_new
    - OSSL_CMP_CERTREPMESSAGE_free
    - TEST_ptr
    - sk_OSSL_CMP_CERTRESPONSE_push
    - ossl_cmp_certrepmessage_get0_certresponse
    linkageType: ''
    returnType: int
    signature: int execute_certrep_create(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:420,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: test_cmp_create_certrep
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_certrep(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/test/cmp_msg_test.c:427,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/cmp_msg_test.c:428,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/cmp_msg_test.c:429,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/cmp_msg_test.c:437,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/cmp_msg_test.c:439,1
    - Dst: OSSL_CRMF_CERTID_gen
      Src: /src/openssl/test/cmp_msg_test.c:440,1
    - Dst: ossl_cmp_rp_new
      Src: /src/openssl/test/cmp_msg_test.c:441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:444,1
    - Dst: ossl_cmp_revrepcontent_get_CertId
      Src: /src/openssl/test/cmp_msg_test.c:444,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:447,1
    - Dst: ossl_cmp_revrepcontent_get_pkisi
      Src: /src/openssl/test/cmp_msg_test.c:447,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/cmp_msg_test.c:452,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/cmp_msg_test.c:453,1
    - Dst: OSSL_CRMF_CERTID_free
      Src: /src/openssl/test/cmp_msg_test.c:454,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/test/cmp_msg_test.c:455,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_msg_test.c:456,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 425
    functionDepth: 14
    functionLinenumber: 425
    functionLinenumberEnd: 458
    functionName: execute_rp_create
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_PKISI_free
    - OSSL_CRMF_CERTID_gen
    - X509_NAME_free
    - OSSL_CRMF_CERTID_free
    - X509_NAME_add_entry_by_txt
    - ASN1_INTEGER_new
    - OSSL_CMP_STATUSINFO_new
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - ossl_cmp_revrepcontent_get_pkisi
    - ossl_cmp_rp_new
    - OSSL_CMP_MSG_free
    - TEST_ptr
    - ossl_cmp_revrepcontent_get_CertId
    - X509_NAME_new
    linkageType: ''
    returnType: int
    signature: int execute_rp_create(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:462,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: test_cmp_create_rp
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_rp(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_pollRep_new
      Src: /src/openssl/test/cmp_msg_test.c:472,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:475,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/openssl/test/cmp_msg_test.c:475,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_msg_test.c:478,1
    - Dst: ossl_cmp_pollrepcontent_get0_pollrep
      Src: /src/openssl/test/cmp_msg_test.c:478,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_msg_test.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_MSG_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 467
    functionDepth: 14
    functionLinenumber: 467
    functionLinenumberEnd: 486
    functionName: execute_pollrep_create
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - ossl_cmp_pollrepcontent_get0_pollrep
    - OSSL_CMP_MSG_free
    - ossl_cmp_pollRep_new
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int execute_pollrep_create(CMP_MSG_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:490,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: test_cmp_create_pollrep
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_cmp_create_pollrep(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_msg_test.c:499,1
    - Dst: load_csr_der
      Src: /src/openssl/test/cmp_msg_test.c:504,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_msg_test.c:505,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/openssl/test/cmp_msg_test.c:505,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_msg_test.c:506,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/cmp_msg_test.c:509,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_msg_test.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - bodytype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 535
    functionName: test_cmp_pkimessage_create
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - X509_REQ_free
    - SETUP_TEST_FIXTURE
    - load_csr_der
    - OSSL_CMP_CTX_set1_p10CSR
    - tear_down
    - TEST_true
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_pkimessage_create(int bodytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_msg_test.c:539,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_msg_test.c:540,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_msg_test.c:541,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_msg_test.c:542,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_msg_test.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 544
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 2
    functionsReached:
    - X509_free
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmp_msg_test.c:551,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_msg_test.c:552,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:556,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_msg_test.c:556,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:557,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_msg_test.c:557,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:558,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_msg_test.c:558,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_msg_test.c:559,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_msg_test.c:563,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:566,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_msg_test.c:566,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_msg_test.c:567,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_msg_test.c:567,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_msg_test.c:568,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/cmp_msg_test.c:568,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/cmp_msg_test.c:569,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:574,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:575,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:576,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:577,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:578,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:579,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:580,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:581,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:582,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:583,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:584,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:585,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:586,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:587,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:588,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:589,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:590,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:591,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_msg_test.c:592,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/openssl/test/cmp_msg_test.c:593,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 549
    functionDepth: 7
    functionLinenumber: 549
    functionLinenumberEnd: 596
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_msg_test.c
    functionUses: 0
    functionsReached:
    - load_cert_pem
    - test_arg_libctx
    - cleanup_tests
    - load_pkey_pem
    - ADD_TEST
    - TEST_int_eq
    - ADD_ALL_TESTS_NOSUBTEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - RAND_bytes_ex
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sha_test.c:22,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sha_test.c:25,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sha_test.c:26,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sha_test.c:27,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sha_test.c:30,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sha_test.c:31,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sha_test.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - input
    - length
    - out
    - "(*md)(const unsigned char *d,\n                                                       size_t
      n,\n                                                       unsigned char *md)"
    argTypes:
    - char*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: test_static_sha_common
    functionSourceFile: /src/openssl/test/sha_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_ptr_ne
    - TEST_ptr
    - strlen
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: "int test_static_sha_common(const char *input, size_t length,\n                                  const
      unsigned char *out,\n                                  unsigned char *(*md)(const
      unsigned char *d,\n                                                       size_t
      n,\n                                                       unsigned char *md))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/openssl/test/sha_test.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: test_static_sha1
    functionSourceFile: /src/openssl/test/sha_test.c
    functionUses: 0
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: int test_static_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/openssl/test/sha_test.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: test_static_sha224
    functionSourceFile: /src/openssl/test/sha_test.c
    functionUses: 0
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: int test_static_sha224(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/openssl/test/sha_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: test_static_sha256
    functionSourceFile: /src/openssl/test/sha_test.c
    functionUses: 0
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: int test_static_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/openssl/test/sha_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: test_static_sha384
    functionSourceFile: /src/openssl/test/sha_test.c
    functionUses: 0
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: int test_static_sha384(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_static_sha_common
      Src: /src/openssl/test/sha_test.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: test_static_sha512
    functionSourceFile: /src/openssl/test/sha_test.c
    functionUses: 0
    functionsReached:
    - test_static_sha_common
    linkageType: ''
    returnType: int
    signature: int test_static_sha512(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/sha_test.c:104,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sha_test.c:105,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sha_test.c:106,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sha_test.c:107,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sha_test.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sha_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:98,1
    - Dst: d2i_X509
      Src: /src/openssl/test/x509_test.c:98,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:99,1
    - Dst: X509_sign
      Src: /src/openssl/test/x509_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:100,1
    - Dst: X509_verify
      Src: /src/openssl/test/x509_test.c:100,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_test.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: test_x509_tbs_cache
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - X509_verify
    - TEST_int_eq
    - X509_free
    - TEST_ptr
    - d2i_X509
    - X509_sign
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_x509_tbs_cache(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:116,1
    - Dst: d2i_X509_CRL
      Src: /src/openssl/test/x509_test.c:116,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:117,1
    - Dst: X509_CRL_sign
      Src: /src/openssl/test/x509_test.c:117,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_test.c:118,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/test/x509_test.c:118,1
    - Dst: X509_CRL_free
      Src: /src/openssl/test/x509_test.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: test_x509_crl_tbs_cache
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - d2i_X509_CRL
    - TEST_int_eq
    - X509_CRL_free
    - X509_CRL_verify
    - X509_CRL_sign
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_x509_crl_tbs_cache(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:137,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:138,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_test.c:138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:139,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/x509_test.c:139,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:140,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/x509_test.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_test.c:145,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/test/x509_test.c:145,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:148,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/openssl/test/x509_test.c:148,1
    - Dst: X509_get0_signature
      Src: /src/openssl/test/x509_test.c:152,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_test.c:154,1
    - Dst: ASN1_item_verify
      Src: /src/openssl/test/x509_test.c:154,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/x509_test.c:154,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/x509_test.c:159,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/x509_test.c:160,1
    - Dst: ASN1_item_verify
      Src: /src/openssl/test/x509_test.c:160,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/x509_test.c:160,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/x509_test.c:163,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/x509_test.c:166,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_test.c:174,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_test.c:175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 124
    functionDepth: 9
    functionLinenumber: 124
    functionLinenumberEnd: 177
    functionName: test_asn1_item_verify
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_RSA
    - BIO_new_file
    - X509_get0_signature
    - X509_get0_pubkey
    - ERR_pop_to_mark
    - ASN1_item_verify
    - BIO_free
    - ERR_set_mark
    - ASN1_ITEM_rptr
    - X509_free
    - ERR_clear_last_mark
    - EVP_PKEY_get1_RSA
    - test_get_argument
    - TEST_ptr
    - TEST_int_lt
    - PEM_read_bio_X509
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_asn1_item_verify(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument_count
      Src: /src/openssl/test/x509_test.c:186,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_test.c:188,1
    - Dst: d2i_PUBKEY
      Src: /src/openssl/test/x509_test.c:193,1
    - Dst: d2i_PrivateKey
      Src: /src/openssl/test/x509_test.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/test/x509_test.c:199,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/x509_test.c:204,1
    - Dst: BIO_printf
      Src: /src/openssl/test/x509_test.c:206,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:210,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:211,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_test.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 181
    functionDepth: 15
    functionLinenumber: 181
    functionLinenumberEnd: 214
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - d2i_PUBKEY
    - d2i_PrivateKey
    - test_get_argument_count
    - EVP_MD_fetch
    - BIO_printf
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/test/x509_test.c:218,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_test.c:219,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_test.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/x509_test.c
    functionUses: 3
    functionsReached:
    - EVP_MD_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/bntest.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - key
    argTypes:
    - STANZA*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: findattr
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: char
    signature: char *findattr(STANZA *s, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glue_strings
      Src: /src/openssl/test/bntest.c:74,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - bn_strings
    argTypes:
    - BIGNUM**
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: parse_bigBN
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BN_hex2bn
    - glue_strings
    linkageType: ''
    returnType: int
    signature: int parse_bigBN(BIGNUM **out, const char *bn_strings[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: parseBN
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_hex2bn
    linkageType: ''
    returnType: int
    signature: int parseBN(BIGNUM **out, const char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - BIGNUM**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 6
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: parsedecBN
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_dec2bn
    linkageType: ''
    returnType: int
    signature: int parsedecBN(BIGNUM **out, const char *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: findattr
      Src: /src/openssl/test/bntest.c:101,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:102,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:106,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:106,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - attribute
    argTypes:
    - STANZA*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: getBN
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - findattr
    - parseBN
    - strlen
    - TEST_error
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *getBN(STANZA *s, const char *attribute)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:119,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:119,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/bntest.c:120,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:120,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - out
    - attribute
    argTypes:
    - STANZA*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 7
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: getint
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_get_word
    - getBN
    - TEST_ptr
    - BN_free
    - TEST_uint64_t_le
    linkageType: ''
    returnType: int
    signature: int getint(STANZA *s, int *out, const char *attribute)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp
      Src: /src/openssl/test/bntest.c:132,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:135,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - op
    - expected
    - actual
    argTypes:
    - char*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: equalBN
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - TEST_BN_eq
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int equalBN(const char *op, const BIGNUM *expected, const BIGNUM *actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: rand_neg
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rand_neg(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:156,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:157,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:158,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:159,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:162,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:162,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:163,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:164,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:165,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:165,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/bntest.c:167,1
    - Dst: BN_swap
      Src: /src/openssl/test/bntest.c:170,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:171,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:172,1
    - Dst: BN_swap
      Src: /src/openssl/test/bntest.c:176,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:177,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/test/bntest.c:182,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:183,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:184,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/test/bntest.c:188,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:189,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/test/bntest.c:194,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:195,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:196,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/test/bntest.c:200,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:201,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:205,1
    - Dst: BN_swap
      Src: /src/openssl/test/bntest.c:207,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:208,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:210,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/bntest.c:210,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:211,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/bntest.c:211,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/test/bntest.c:215,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:216,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:217,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:218,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/bntest.c:218,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:219,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/bntest.c:219,1
    - Dst: BN_consttime_swap
      Src: /src/openssl/test/bntest.c:223,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:224,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:226,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/bntest.c:226,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:227,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/bntest.c:227,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:232,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:233,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:234,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:235,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 151
    functionDepth: 7
    functionLinenumber: 151
    functionLinenumberEnd: 237
    functionName: test_swap
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_consttime_swap
    - TEST_false
    - equalBN
    - BN_swap
    - BN_get_flags
    - TEST_ptr
    - BN_bntest_rand
    - BN_new
    - TEST_true
    - BN_copy
    - BN_free
    - BN_num_bits
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int test_swap(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:244,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:244,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:245,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:246,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:251,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:252,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:252,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/bntest.c:253,1
    - Dst: BN_set_bit
      Src: /src/openssl/test/bntest.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:254,1
    - Dst: BN_add_word
      Src: /src/openssl/test/bntest.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:257,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:257,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:259,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:259,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:260,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:262,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:263,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:264,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:264,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:265,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:270,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:271,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:272,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 239
    functionDepth: 7
    functionLinenumber: 239
    functionLinenumberEnd: 274
    functionName: test_sub
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_int_ne
    - BN_set_negative
    - BN_add
    - rand_neg
    - TEST_BN_eq_zero
    - TEST_ptr
    - BN_bntest_rand
    - BN_new
    - TEST_true
    - BN_set_bit
    - BN_copy
    - BN_sub
    - BN_free
    - BN_add_word
    linkageType: ''
    returnType: int
    signature: int test_sub(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:282,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:282,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:283,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:283,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:284,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:284,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:285,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:285,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:286,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:286,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:287,1
    - Dst: BN_RECP_CTX_new
      Src: /src/openssl/test/bntest.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:292,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:292,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:293,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:294,1
    - Dst: BN_lshift
      Src: /src/openssl/test/bntest.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:295,1
    - Dst: BN_add_word
      Src: /src/openssl/test/bntest.c:295,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:298,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:298,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:301,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:301,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:302,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:303,1
    - Dst: BN_RECP_CTX_set
      Src: /src/openssl/test/bntest.c:303,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:304,1
    - Dst: BN_div_recp
      Src: /src/openssl/test/bntest.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:305,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:305,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:306,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:306,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:307,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:307,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:308,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:313,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:314,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:315,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:316,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:317,1
    - Dst: BN_RECP_CTX_free
      Src: /src/openssl/test/bntest.c:318,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 276
    functionDepth: 7
    functionLinenumber: 276
    functionLinenumberEnd: 320
    functionName: test_div_recip
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_RECP_CTX_new
    - BN_mul
    - BN_free
    - BN_RECP_CTX_free
    - BN_set_negative
    - BN_add
    - rand_neg
    - TEST_BN_eq_zero
    - BN_bntest_rand
    - BN_new
    - TEST_true
    - BN_copy
    - TEST_ptr
    - BN_RECP_CTX_set
    - BN_div_recp
    - BN_add_word
    - BN_sub
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int test_div_recip(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:333,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:337,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:338,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 343
    functionName: set_signed_bn
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_negative
    - BN_set_word
    - BN_free
    - BN_new
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *set_signed_bn(int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:350,1
    - Dst: set_signed_bn
      Src: /src/openssl/test/bntest.c:350,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:351,1
    - Dst: set_signed_bn
      Src: /src/openssl/test/bntest.c:351,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:352,1
    - Dst: set_signed_bn
      Src: /src/openssl/test/bntest.c:352,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:353,1
    - Dst: set_signed_bn
      Src: /src/openssl/test/bntest.c:353,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:356,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:356,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:357,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:358,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:361,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:362,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:363,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 366
    functionName: test_signed_mod_replace_ab
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - set_signed_bn
    - BN_div
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_signed_mod_replace_ab(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:373,1
    - Dst: set_signed_bn
      Src: /src/openssl/test/bntest.c:373,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:374,1
    - Dst: set_signed_bn
      Src: /src/openssl/test/bntest.c:374,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:375,1
    - Dst: set_signed_bn
      Src: /src/openssl/test/bntest.c:375,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:376,1
    - Dst: set_signed_bn
      Src: /src/openssl/test/bntest.c:376,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:379,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:379,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:380,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:381,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:384,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:385,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:386,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 389
    functionName: test_signed_mod_replace_ba
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - set_signed_bn
    - BN_div
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_signed_mod_replace_ba(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:396,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:396,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:397,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:397,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:398,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:398,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:399,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:399,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:400,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:403,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:403,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:406,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:406,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:408,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:408,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:409,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:409,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:410,1
    - Dst: BN_mod
      Src: /src/openssl/test/bntest.c:410,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:411,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:411,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:412,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:413,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:413,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:414,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:414,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:415,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:420,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:421,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:422,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:423,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:424,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 391
    functionDepth: 7
    functionLinenumber: 391
    functionLinenumberEnd: 426
    functionName: test_mod
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - BN_mul
    - BN_mod
    - BN_div
    - BN_set_negative
    - BN_add
    - rand_neg
    - BN_bntest_rand
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_mod(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:479,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:479,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:480,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:480,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:481,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:481,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:482,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:482,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:483,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:483,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:484,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:485,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:485,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:486,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:486,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:487,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/test/bntest.c:487,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:491,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:491,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:493,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:493,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:495,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:497,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:497,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:503,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:503,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:508,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:513,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:520,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:520,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:521,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:521,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:522,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:522,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:523,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:527,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:527,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:528,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:528,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:530,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:531,1
    - Dst: BN_dup
      Src: /src/openssl/test/bntest.c:531,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:532,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:532,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:533,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:533,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:534,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:534,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:535,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:571,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:571,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:572,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:572,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:575,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:576,1
    - Dst: BN_dup
      Src: /src/openssl/test/bntest.c:576,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:577,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:580,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:580,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:581,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:581,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:586,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:586,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:590,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:590,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:593,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:593,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:594,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:594,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:598,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:598,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:603,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:603,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:608,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:608,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:613,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:614,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:614,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:615,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:615,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:616,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:623,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:623,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:628,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:628,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:633,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:633,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:638,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:638,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:639,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:639,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:641,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:642,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:681,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:681,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:682,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:682,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:683,1
    - Dst: parse_bigBN
      Src: /src/openssl/test/bntest.c:683,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:684,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:684,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:685,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:685,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:686,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:691,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:691,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:693,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:694,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:694,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:695,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:703,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:703,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:704,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:704,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:706,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/test/bntest.c:706,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:707,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:707,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:708,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:708,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:709,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:713,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:713,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:714,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:714,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:715,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:715,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:716,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/bntest.c:722,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:723,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:724,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:725,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:726,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:727,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:728,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:729,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:730,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 472
    functionDepth: 7
    functionLinenumber: 472
    functionLinenumberEnd: 732
    functionName: test_modexp_mont5
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - TEST_BN_eq_one
    - BN_hex2bn
    - parse_bigBN
    - BN_from_montgomery
    - BN_dup
    - TEST_ptr
    - BN_MONT_CTX_set
    - BN_mod_exp_mont_consttime
    - BN_mod_exp_mont
    - TEST_BN_eq_zero
    - BN_new
    - TEST_true
    - BN_MONT_CTX_free
    - BN_free
    - BN_mod_mul_montgomery
    - BN_one
    - BN_mod_exp_simple
    - BN_bntest_rand
    - BN_MONT_CTX_new
    - TEST_false
    - BN_zero
    linkageType: ''
    returnType: int
    signature: int test_modexp_mont5(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:740,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:740,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:741,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:741,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:742,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:742,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:746,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:746,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:747,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:747,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:747,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:749,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:749,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:750,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:750,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:751,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:751,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:753,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:753,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:753,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:754,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:754,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:756,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:756,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:758,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:763,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:764,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:765,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 735
    functionDepth: 7
    functionLinenumber: 735
    functionLinenumberEnd: 767
    functionName: test_gf2m_add
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_rand
    - BN_set_negative
    - TEST_false
    - BN_value_one
    - BN_is_odd
    - TEST_BN_eq_zero
    - rand_neg
    - TEST_ptr
    - BN_new
    - TEST_true
    - BN_copy
    - BN_free
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: int test_gf2m_add(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:774,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:774,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:775,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:775,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:776,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:776,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:777,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:777,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:778,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:778,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:779,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:779,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:782,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:782,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:783,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:783,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:787,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:787,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:790,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/test/bntest.c:790,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:791,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:791,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:792,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/test/bntest.c:792,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:794,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:800,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:801,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:802,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:803,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:804,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:805,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 769
    functionDepth: 7
    functionLinenumber: 769
    functionLinenumberEnd: 807
    functionName: test_gf2m_mod
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq_zero
    - BN_GF2m_arr2poly
    - BN_bntest_rand
    - BN_GF2m_mod
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: int test_gf2m_mod(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:815,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:815,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:816,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:816,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:817,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:817,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:818,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:819,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:819,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:820,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:820,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:821,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:821,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:822,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:822,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:823,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:823,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:826,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:826,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:827,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:827,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:831,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:831,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:832,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:832,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:833,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:833,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:836,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:836,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:837,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:837,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:838,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:838,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:839,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:839,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:840,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:840,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:841,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:841,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:843,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:850,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:851,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:852,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:853,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:854,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:855,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:856,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:857,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:858,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 809
    functionDepth: 7
    functionLinenumber: 809
    functionLinenumberEnd: 860
    functionName: test_gf2m_mul
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq_zero
    - BN_GF2m_arr2poly
    - BN_bntest_rand
    - BN_GF2m_mod_mul
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: int test_gf2m_mul(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:867,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:867,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:868,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:868,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:869,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:869,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:870,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:870,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:871,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:871,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:874,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:874,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:875,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:875,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:879,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:879,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:882,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/openssl/test/bntest.c:882,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:883,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:883,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:884,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:884,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:885,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:885,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:887,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:893,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:894,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:895,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:896,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:897,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 862
    functionDepth: 7
    functionLinenumber: 862
    functionLinenumberEnd: 899
    functionName: test_gf2m_sqr
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq_zero
    - BN_GF2m_arr2poly
    - BN_bntest_rand
    - BN_GF2m_mod_mul
    - BN_new
    - TEST_true
    - BN_copy
    - TEST_ptr
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: int test_gf2m_sqr(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:906,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:906,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:907,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:907,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:908,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:908,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:909,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:909,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:910,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:910,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:914,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:914,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:916,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:916,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:918,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/test/bntest.c:918,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:921,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:921,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:922,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:922,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:926,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:926,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:929,1
    - Dst: BN_GF2m_mod_inv
      Src: /src/openssl/test/bntest.c:929,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:930,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:930,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:932,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:938,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:939,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:940,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:941,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:942,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 901
    functionDepth: 8
    functionLinenumber: 901
    functionLinenumberEnd: 944
    functionName: test_gf2m_modinv
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq_one
    - BN_one
    - TEST_false
    - BN_GF2m_arr2poly
    - BN_bntest_rand
    - BN_GF2m_mod_mul
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_GF2m_mod_inv
    linkageType: ''
    returnType: int
    signature: int test_gf2m_modinv(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:952,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:952,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:953,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:953,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:954,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:954,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:955,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:955,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:956,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:956,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:957,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:957,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:958,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:958,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:961,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:961,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:962,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:962,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:966,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:966,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:967,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:967,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:970,1
    - Dst: BN_GF2m_mod_div
      Src: /src/openssl/test/bntest.c:970,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:971,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:971,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:972,1
    - Dst: BN_GF2m_mod_div
      Src: /src/openssl/test/bntest.c:972,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:974,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:980,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:981,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:982,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:983,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:984,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:985,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:986,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 946
    functionDepth: 9
    functionLinenumber: 946
    functionLinenumberEnd: 988
    functionName: test_gf2m_moddiv
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq_one
    - BN_GF2m_mod_div
    - BN_GF2m_arr2poly
    - BN_bntest_rand
    - BN_GF2m_mod_mul
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_gf2m_moddiv(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:996,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:996,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:997,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:997,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:998,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:998,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:999,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:999,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1000,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1000,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1001,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1001,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1002,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1002,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1005,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1005,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1006,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1006,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1010,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1010,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1011,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1011,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1012,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1012,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1015,1
    - Dst: BN_GF2m_mod_exp
      Src: /src/openssl/test/bntest.c:1015,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1016,1
    - Dst: BN_GF2m_mod_exp
      Src: /src/openssl/test/bntest.c:1016,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1017,1
    - Dst: BN_GF2m_mod_mul
      Src: /src/openssl/test/bntest.c:1017,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1018,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1018,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1019,1
    - Dst: BN_GF2m_mod_exp
      Src: /src/openssl/test/bntest.c:1019,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1020,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:1020,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:1022,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1028,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1029,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1030,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1031,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1032,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1033,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1034,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 990
    functionDepth: 8
    functionLinenumber: 990
    functionLinenumberEnd: 1036
    functionName: test_gf2m_modexp
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_exp
    - BN_add
    - TEST_BN_eq_zero
    - BN_GF2m_arr2poly
    - BN_bntest_rand
    - BN_GF2m_mod_mul
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: int test_gf2m_modexp(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1044,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1044,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1045,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1045,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1046,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1046,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1047,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1047,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1048,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1048,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1049,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1049,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1050,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1050,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1053,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1053,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1054,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1054,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1058,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1058,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1062,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/test/bntest.c:1062,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1063,1
    - Dst: BN_GF2m_mod_sqrt
      Src: /src/openssl/test/bntest.c:1063,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1064,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/openssl/test/bntest.c:1064,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1065,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:1065,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:1067,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1073,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1074,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1075,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1076,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1077,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1078,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1079,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1038
    functionDepth: 9
    functionLinenumber: 1038
    functionLinenumberEnd: 1081
    functionName: test_gf2m_modsqrt
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_GF2m_mod_sqrt
    - TEST_BN_eq_zero
    - BN_GF2m_arr2poly
    - BN_bntest_rand
    - BN_GF2m_mod
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: int test_gf2m_modsqrt(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1089,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1089,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1090,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1090,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1091,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1091,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1092,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1092,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1093,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1093,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1094,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1094,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1097,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1097,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1098,1
    - Dst: BN_GF2m_arr2poly
      Src: /src/openssl/test/bntest.c:1098,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1102,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1102,1
    - Dst: BN_GF2m_mod_solve_quad
      Src: /src/openssl/test/bntest.c:1105,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1108,1
    - Dst: BN_GF2m_mod_sqr
      Src: /src/openssl/test/bntest.c:1108,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1109,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:1109,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1110,1
    - Dst: BN_GF2m_mod
      Src: /src/openssl/test/bntest.c:1110,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1111,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/bntest.c:1111,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:1116,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bntest.c:1121,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:1122,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1127,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1128,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1129,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1130,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1131,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1132,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1083
    functionDepth: 9
    functionLinenumber: 1083
    functionLinenumberEnd: 1134
    functionName: test_gf2m_modsolvequad
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_int_ge
    - TEST_info
    - TEST_BN_eq_zero
    - BN_GF2m_arr2poly
    - BN_bntest_rand
    - BN_GF2m_mod_solve_quad
    - BN_GF2m_mod
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_GF2m_mod_sqr
    - BN_GF2m_add
    linkageType: ''
    returnType: int
    signature: int test_gf2m_modsolvequad(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1142,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1143,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1144,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1144,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1145,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1145,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1158,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:1158,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1160,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:1160,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1163,1
    - Dst: BN_bntest_rand
      Src: /src/openssl/test/bntest.c:1163,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1165,1
    - Dst: rand_neg
      Src: /src/openssl/test/bntest.c:1165,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1168,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1168,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1170,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1171,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/bntest.c:1171,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1173,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1173,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1176,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1178,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/test/bntest.c:1178,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1180,1
    - Dst: BN_is_word
      Src: /src/openssl/test/bntest.c:1182,1
    - Dst: BN_is_zero
      Src: /src/openssl/test/bntest.c:1184,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1187,1
    - Dst: BN_add_word
      Src: /src/openssl/test/bntest.c:1187,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1189,1
    - Dst: BN_ucmp
      Src: /src/openssl/test/bntest.c:1189,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:1190,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bntest.c:1196,1
    - Dst: BN_kronecker
      Src: /src/openssl/test/bntest.c:1196,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1199,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1199,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1202,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1208,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1209,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1210,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1211,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1137
    functionDepth: 7
    functionLinenumber: 1137
    functionLinenumberEnd: 1213
    functionName: test_kronecker
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_is_negative
    - BN_is_zero
    - BN_sub_word
    - TEST_ptr
    - BN_copy
    - BN_kronecker
    - BN_set_negative
    - TEST_info
    - rand_neg
    - BN_ucmp
    - BN_new
    - TEST_true
    - BN_free
    - BN_bntest_rand
    - BN_mod_exp_recp
    - BN_generate_prime_ex
    - TEST_int_ge
    - BN_rshift1
    - BN_is_word
    - TEST_int_eq
    - BN_add_word
    linkageType: ''
    returnType: int
    signature: int test_kronecker(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1221,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1222,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1223,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1224,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1224,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1227,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1227,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1228,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1229,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1229,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1230,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1231,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1231,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1232,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1240,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1240,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1241,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1241,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1242,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1243,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1243,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1244,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1244,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1245,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1246,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1246,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1247,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1247,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1248,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1249,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1249,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1250,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1250,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1251,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1252,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1252,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1253,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1253,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1254,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1255,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1255,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1256,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1256,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1257,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1266,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1266,1
    - Dst: BN_cmp
      Src: /src/openssl/test/bntest.c:1266,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1267,1
    - Dst: BN_uadd
      Src: /src/openssl/test/bntest.c:1267,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1268,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1269,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1269,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1270,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1271,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1271,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1272,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1280,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1280,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1281,1
    - Dst: BN_uadd
      Src: /src/openssl/test/bntest.c:1281,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1282,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1283,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1283,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1284,1
    - Dst: BN_uadd
      Src: /src/openssl/test/bntest.c:1284,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1285,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1286,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1286,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1287,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1287,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1288,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1289,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1289,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1290,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1290,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1291,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1292,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1292,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1293,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1293,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1294,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1295,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1295,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1296,1
    - Dst: BN_usub
      Src: /src/openssl/test/bntest.c:1296,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1297,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:1304,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1305,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1306,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1306,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1307,1
    - Dst: BN_add_word
      Src: /src/openssl/test/bntest.c:1307,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1308,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1309,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1309,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1310,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/bntest.c:1310,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1311,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1317,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1318,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1319,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1320,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1215
    functionDepth: 7
    functionLinenumber: 1215
    functionLinenumberEnd: 1322
    functionName: file_sum
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_usub
    - BN_free
    - BN_is_negative
    - BN_cmp
    - equalBN
    - BN_add
    - BN_get_word
    - BN_sub_word
    - BN_add_word
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_sub
    - BN_copy
    - BN_uadd
    linkageType: ''
    returnType: int
    signature: int file_sum(STANZA *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1330,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1330,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1331,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1332,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1333,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1334,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1335,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1335,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:1338,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1340,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:1340,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1341,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1341,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1342,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1343,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:1343,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1344,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1345,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1345,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1346,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1347,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1348,1
    - Dst: BN_lshift1
      Src: /src/openssl/test/bntest.c:1348,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1349,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1350,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1350,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1351,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1352,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1352,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1353,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1357,1
    - Dst: BN_set_bit
      Src: /src/openssl/test/bntest.c:1357,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1358,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1358,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1359,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1360,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1360,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1361,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1366,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1367,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1368,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1369,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1370,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1371,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1324
    functionDepth: 7
    functionLinenumber: 1324
    functionLinenumberEnd: 1374
    functionName: file_lshift1
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mul
    - BN_div
    - BN_set_bit
    - BN_set_word
    - BN_zero
    - equalBN
    - BN_rshift1
    - BN_add
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_lshift1
    - BN_free
    linkageType: ''
    returnType: int
    signature: int file_lshift1(STANZA *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1381,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1381,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1382,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1382,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1383,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1383,1
    - Dst: getint
      Src: /src/openssl/test/bntest.c:1384,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1387,1
    - Dst: BN_lshift
      Src: /src/openssl/test/bntest.c:1387,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1388,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1389,1
    - Dst: BN_rshift
      Src: /src/openssl/test/bntest.c:1389,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1390,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1395,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1396,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1376
    functionDepth: 8
    functionLinenumber: 1376
    functionLinenumberEnd: 1399
    functionName: file_lshift
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_rshift
    - equalBN
    - getint
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_free
    - BN_lshift
    linkageType: ''
    returnType: int
    signature: int file_lshift(STANZA *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1406,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1406,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1407,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1408,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1408,1
    - Dst: getint
      Src: /src/openssl/test/bntest.c:1409,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1412,1
    - Dst: BN_rshift
      Src: /src/openssl/test/bntest.c:1412,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1413,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1418,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/bntest.c:1418,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1419,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1425,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1426,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1427,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1401
    functionDepth: 8
    functionLinenumber: 1401
    functionLinenumberEnd: 1429
    functionName: file_rshift
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_rshift
    - equalBN
    - BN_rshift1
    - getint
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int file_rshift(STANZA *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1437,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1438,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1438,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1439,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1439,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1440,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1441,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1441,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:1444,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1445,1
    - Dst: BN_sqr
      Src: /src/openssl/test/bntest.c:1445,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1446,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1447,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:1447,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1448,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1449,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1449,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1450,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1451,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1455,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1456,1
    - Dst: BN_sqrt
      Src: /src/openssl/test/bntest.c:1456,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1457,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:1461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1462,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1462,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1463,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1463,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1465,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1467,1
    - Dst: BN_sqrt
      Src: /src/openssl/test/bntest.c:1467,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:1469,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:1471,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1472,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:1472,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1474,1
    - Dst: BN_sqrt
      Src: /src/openssl/test/bntest.c:1474,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:1476,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1482,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1483,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1484,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1485,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1486,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1487,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1431
    functionDepth: 7
    functionLinenumber: 1431
    functionLinenumberEnd: 1489
    functionName: file_square
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mul
    - BN_div
    - BN_set_negative
    - ERR_clear_error
    - BN_sqrt
    - BN_zero
    - equalBN
    - TEST_int_eq
    - TEST_BN_eq_zero
    - BN_add
    - BN_value_one
    - BN_sqr
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_copy
    - BN_free
    linkageType: ''
    returnType: int
    signature: int file_square(STANZA *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1497,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1497,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1498,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1498,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1499,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1499,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1500,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1501,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1501,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1502,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1502,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:1505,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1507,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:1507,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1508,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1509,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1509,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1510,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1511,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1512,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1512,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1513,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1514,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1519,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1520,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1521,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1522,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1523,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1524,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1491
    functionDepth: 7
    functionLinenumber: 1491
    functionLinenumberEnd: 1526
    functionName: file_product
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mul
    - BN_div
    - BN_zero
    - equalBN
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int file_product(STANZA *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1535,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1535,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1536,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1536,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1537,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1537,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1538,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1538,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1539,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1539,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1540,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1540,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1541,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1541,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1544,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:1544,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1545,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1546,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1547,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:1547,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1548,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1548,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1549,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:1556,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1557,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:1558,1
    - Dst: assert
      Src: /src/openssl/test/bntest.c:1560,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1561,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1561,1
    - Dst: BN_div_word
      Src: /src/openssl/test/bntest.c:1563,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:1566,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:1570,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1574,1
    - Dst: BN_mod_word
      Src: /src/openssl/test/bntest.c:1577,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:1580,1
    - Dst: TEST_error
      Src: /src/openssl/test/bntest.c:1584,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1591,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1592,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:1592,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1593,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1594,1
    - Dst: BN_add
      Src: /src/openssl/test/bntest.c:1594,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1595,1
    - Dst: BN_nnmod
      Src: /src/openssl/test/bntest.c:1595,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1596,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1602,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1603,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1604,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1605,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1606,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1607,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1608,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 47
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts:
    - condition: (remainder_word != (BN_ULONG)-1)
      pos:
        line_end: 1559
        line_start: 1559
        source_file: /src/openssl/test/bntest.c
    constantsTouched: []
    func_position:
      end: 1610
      start: 1528
    functionDepth: 7
    functionLinenumber: 1528
    functionLinenumberEnd: 1610
    functionName: file_quotient
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mul
    - BN_div_word
    - BN_div
    - BN_is_negative
    - BN_nnmod
    - equalBN
    - BN_add
    - BN_mod_word
    - BN_get_word
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_copy
    - BN_free
    - assert
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int file_quotient(STANZA *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1617,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1617,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1618,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1618,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1619,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1619,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1620,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1620,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1621,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1621,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1624,1
    - Dst: BN_mod_mul
      Src: /src/openssl/test/bntest.c:1624,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1625,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:1628,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/test/bntest.c:1630,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1631,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1632,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1635,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:1635,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1636,1
    - Dst: BN_nnmod
      Src: /src/openssl/test/bntest.c:1636,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1637,1
    - Dst: BN_nnmod
      Src: /src/openssl/test/bntest.c:1637,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1638,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/test/bntest.c:1638,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1639,1
    - Dst: BN_to_montgomery
      Src: /src/openssl/test/bntest.c:1639,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1640,1
    - Dst: BN_mod_mul_montgomery
      Src: /src/openssl/test/bntest.c:1640,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1642,1
    - Dst: BN_from_montgomery
      Src: /src/openssl/test/bntest.c:1642,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1643,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/bntest.c:1647,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1648,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1649,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1656,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1657,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1658,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1659,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1660,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1612
    functionDepth: 7
    functionLinenumber: 1612
    functionLinenumberEnd: 1662
    functionName: file_modmul
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_to_montgomery
    - BN_from_montgomery
    - BN_MONT_CTX_set
    - BN_mod_mul_montgomery
    - BN_nnmod
    - equalBN
    - BN_is_odd
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_MONT_CTX_free
    - BN_free
    - BN_MONT_CTX_new
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: int file_modmul(STANZA *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1670,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1670,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1671,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1671,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1672,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1672,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1673,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1673,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1674,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1675,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1675,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1678,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:1678,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1679,1
    - Dst: BN_is_odd
      Src: /src/openssl/test/bntest.c:1682,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1683,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:1683,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1684,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1685,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:1685,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1687,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:1692,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:1693,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/bntest.c:1694,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1701,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:1701,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1702,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:1702,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:1703,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1708,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1709,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1710,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1711,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1712,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1713,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1714,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1715,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1664
    functionDepth: 7
    functionLinenumber: 1664
    functionLinenumberEnd: 1717
    functionName: file_modexp
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mul
    - BN_hex2bn
    - TEST_BN_eq
    - BN_mod_exp_mont_consttime
    - BN_mod_exp_mont
    - equalBN
    - BN_is_odd
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_free
    - BN_mod_exp
    linkageType: ''
    returnType: int
    signature: int file_modexp(STANZA *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1724,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1724,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1725,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1725,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1726,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1726,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1727,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1727,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1730,1
    - Dst: BN_exp
      Src: /src/openssl/test/bntest.c:1730,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1731,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1736,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1737,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1738,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1719
    functionDepth: 7
    functionLinenumber: 1719
    functionLinenumberEnd: 1741
    functionName: file_exp
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_exp
    - equalBN
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int file_exp(STANZA *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1748,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1748,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1749,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1749,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1750,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1750,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1751,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1751,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1752,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1752,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:1755,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/bntest.c:1757,1
    - Dst: BN_mod_sqrt
      Src: /src/openssl/test/bntest.c:1757,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1765,1
    - Dst: BN_mod_sqrt
      Src: /src/openssl/test/bntest.c:1765,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1766,1
    - Dst: BN_sub
      Src: /src/openssl/test/bntest.c:1766,1
    - Dst: BN_cmp
      Src: /src/openssl/test/bntest.c:1770,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1771,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1776,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1777,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1778,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1779,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1780,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1743
    functionDepth: 8
    functionLinenumber: 1743
    functionLinenumberEnd: 1782
    functionName: file_modsqrt
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - BN_is_negative
    - BN_cmp
    - equalBN
    - BN_mod_sqrt
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_sub
    - BN_free
    linkageType: ''
    returnType: int
    signature: int file_modsqrt(STANZA *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1789,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1789,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1790,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1790,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1791,1
    - Dst: getBN
      Src: /src/openssl/test/bntest.c:1791,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1792,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1792,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1795,1
    - Dst: BN_gcd
      Src: /src/openssl/test/bntest.c:1795,1
    - Dst: equalBN
      Src: /src/openssl/test/bntest.c:1796,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1801,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1802,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1803,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1804,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1784
    functionDepth: 7
    functionLinenumber: 1784
    functionLinenumberEnd: 1806
    functionName: file_gcd
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - equalBN
    - BN_gcd
    - BN_new
    - TEST_true
    - getBN
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int file_gcd(STANZA *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1816,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1816,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1818,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1818,1
    - Dst: memset
      Src: /src/openssl/test/bntest.c:1820,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1821,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1821,1
    - Dst: memset
      Src: /src/openssl/test/bntest.c:1823,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1824,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1831,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:1831,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1833,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/bntest.c:1833,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1834,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/bntest.c:1834,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1837,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1837,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1840,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1840,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1843,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1843,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1844,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1847,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1847,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1848,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1849,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1852,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/bntest.c:1852,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1853,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1855,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1862,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1808
    functionDepth: 7
    functionLinenumber: 1808
    functionLinenumberEnd: 1864
    functionName: test_bn2padded
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - memset
    - BN_num_bytes
    - BN_rand
    - BN_bn2bin
    - TEST_int_eq
    - BN_new
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - BN_free
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: int test_bn2padded(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1926
    functionName: copy_reversed
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int copy_reversed(uint8_t *dst, uint8_t *src, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1935,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:1935,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1936,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:1936,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1945,1
    - Dst: BN_signed_bn2bin
      Src: /src/openssl/test/bntest.c:1945,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1947,1
    - Dst: copy_reversed
      Src: /src/openssl/test/bntest.c:1947,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1948,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1951,1
    - Dst: BN_signed_bin2bn
      Src: /src/openssl/test/bntest.c:1951,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:1952,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1955,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1959,1
    - Dst: BN_signed_lebin2bn
      Src: /src/openssl/test/bntest.c:1959,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:1960,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1963,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:1972,1
    - Dst: BN_signed_bn2lebin
      Src: /src/openssl/test/bntest.c:1972,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:1974,1
    - Dst: copy_reversed
      Src: /src/openssl/test/bntest.c:1974,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:1975,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1978,1
    - Dst: BN_signed_lebin2bn
      Src: /src/openssl/test/bntest.c:1978,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:1979,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1982,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:1986,1
    - Dst: BN_signed_bin2bn
      Src: /src/openssl/test/bntest.c:1986,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:1987,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1992,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:1993,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1928
    functionDepth: 7
    functionLinenumber: 1928
    functionLinenumberEnd: 1995
    functionName: test_bn2signed
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - BN_signed_bn2bin
    - BN_signed_bn2lebin
    - BN_signed_bin2bn
    - TEST_int_eq
    - BN_signed_lebin2bn
    - BN_asc2bn
    - copy_reversed
    - BN_new
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_bn2signed(int i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2002,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2002,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2003,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2004,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2005,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2006,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2007,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2009,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2012,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2012,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2013,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2014,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2015,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2016,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2017,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2019,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2022,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2022,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2023,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/bntest.c:2024,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2025,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2026,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2027,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2029,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2032,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2032,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2033,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2034,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2035,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2036,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:2037,1
    - Dst: TEST_BN_odd
      Src: /src/openssl/test/bntest.c:2038,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2040,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2043,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2043,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2044,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2045,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2046,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2047,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2049,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2052,1
    - Dst: parsedecBN
      Src: /src/openssl/test/bntest.c:2052,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2053,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2054,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2055,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2056,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2057,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2062,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 1997
    functionDepth: 7
    functionLinenumber: 1997
    functionLinenumberEnd: 2064
    functionName: test_dec2bn
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_ne_zero
    - TEST_BN_eq_one
    - TEST_BN_ge_zero
    - TEST_BN_gt_zero
    - TEST_BN_le_zero
    - parsedecBN
    - TEST_int_eq
    - TEST_BN_eq_zero
    - TEST_BN_odd
    - TEST_BN_lt_zero
    - TEST_BN_abs_eq_word
    - BN_free
    - TEST_BN_eq_word
    - TEST_BN_even
    linkageType: ''
    returnType: int
    signature: int test_dec2bn(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2071,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2071,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2072,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2073,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2074,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2076,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2079,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2079,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2080,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2081,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2082,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2083,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2084,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2086,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2089,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2089,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2090,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/bntest.c:2091,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2092,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2093,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2094,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2096,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2099,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2099,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2100,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2101,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2102,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2103,1
    - Dst: TEST_BN_odd
      Src: /src/openssl/test/bntest.c:2104,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2109,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2109,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2110,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2111,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/bntest.c:2112,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2113,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2118,1
    - Dst: parseBN
      Src: /src/openssl/test/bntest.c:2118,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2119,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2120,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/bntest.c:2121,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/bntest.c:2122,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/bntest.c:2123,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2128,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2066
    functionDepth: 6
    functionLinenumber: 2066
    functionLinenumberEnd: 2130
    functionName: test_hex2bn
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - parseBN
    - TEST_BN_ne_zero
    - TEST_BN_ge_zero
    - TEST_BN_gt_zero
    - TEST_BN_le_zero
    - TEST_int_eq
    - TEST_BN_odd
    - TEST_BN_eq_zero
    - TEST_BN_lt_zero
    - TEST_BN_abs_eq_word
    - BN_free
    - TEST_BN_eq_word
    - TEST_BN_even
    linkageType: ''
    returnType: int
    signature: int test_hex2bn(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2137,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2137,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2140,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2140,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2141,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2142,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2145,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2145,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2146,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2147,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2150,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2150,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2151,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/bntest.c:2152,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2155,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2155,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2156,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2157,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2160,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2160,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2161,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2162,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2165,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2165,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/bntest.c:2166,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/bntest.c:2167,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2170,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2170,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2171,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2172,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2175,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2175,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2176,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2177,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2182,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2132
    functionDepth: 7
    functionLinenumber: 2132
    functionLinenumberEnd: 2184
    functionName: test_asc2bn
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_ge_zero
    - TEST_BN_eq_zero
    - BN_asc2bn
    - TEST_BN_lt_zero
    - TEST_BN_abs_eq_word
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - TEST_BN_eq_word
    linkageType: ''
    returnType: int
    signature: int test_asc2bn(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2204,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2204,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2205,1
    - Dst: BN_asc2bn
      Src: /src/openssl/test/bntest.c:2205,1
    - Dst: BN_bn2mpi
      Src: /src/openssl/test/bntest.c:2207,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/bntest.c:2208,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bntest.c:2211,1
    - Dst: BN_bn2mpi
      Src: /src/openssl/test/bntest.c:2211,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:2212,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2215,1
    - Dst: BN_mpi2bn
      Src: /src/openssl/test/bntest.c:2215,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bntest.c:2218,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2219,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2222,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2226,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2195
    functionDepth: 7
    functionLinenumber: 2195
    functionLinenumberEnd: 2228
    functionName: test_mpi
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2mpi
    - TEST_BN_eq
    - TEST_size_t_le
    - BN_asc2bn
    - BN_mpi2bn
    - BN_new
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - TEST_mem_eq
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_mpi(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2236,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2236,1
    - Dst: zerotest
      Src: /src/openssl/test/bntest.c:2248,1
    - Dst: zerotest
      Src: /src/openssl/test/bntest.c:2249,1
    - Dst: zerotest
      Src: /src/openssl/test/bntest.c:2250,1
    - Dst: zerotest
      Src: /src/openssl/test/bntest.c:2251,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2230
    functionDepth: 3
    functionLinenumber: 2230
    functionLinenumberEnd: 2258
    functionName: test_bin2zero
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - zerotest
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int test_bin2zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2247
    functionName: zerotest
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zerotest(fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2267,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2268,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2268,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2269,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2270,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2271,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2271,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2272,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2272,1
    - Dst: lengthtest
      Src: /src/openssl/test/bntest.c:2283,1
    - Dst: lengthtest
      Src: /src/openssl/test/bntest.c:2284,1
    - Dst: lengthtest
      Src: /src/openssl/test/bntest.c:2285,1
    - Dst: lengthtest
      Src: /src/openssl/test/bntest.c:2286,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2291,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2292,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2293,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2260
    functionDepth: 3
    functionLinenumber: 2260
    functionLinenumberEnd: 2296
    functionName: test_bin2bn_lengths
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - BN_set_word
    - BN_new
    - lengthtest
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_bin2bn_lengths(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2282
    functionName: lengthtest
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lengthtest(fn, e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2303,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2303,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2307,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2307,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2308,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2308,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2309,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2309,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:2310,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2311,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2311,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2312,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2312,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/bntest.c:2313,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2314,1
    - Dst: BN_rand
      Src: /src/openssl/test/bntest.c:2314,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/bntest.c:2315,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2320,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2298
    functionDepth: 7
    functionLinenumber: 2298
    functionLinenumberEnd: 2322
    functionName: test_rand
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 14
    functionsReached:
    - TEST_BN_eq_one
    - BN_rand
    - TEST_false
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - TEST_BN_eq_word
    linkageType: ''
    returnType: int
    signature: int test_rand(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2358,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/bntest.c:2358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2359,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2360,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2360,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2361,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2361,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2364,1
    - Dst: BN_rand_range
      Src: /src/openssl/test/bntest.c:2364,1
    - Dst: TEST_uint_lt
      Src: /src/openssl/test/bntest.c:2365,1
    - Dst: BN_get_word
      Src: /src/openssl/test/bntest.c:2365,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:2377,1
    - Dst: TEST_note
      Src: /src/openssl/test/bntest.c:2378,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2385,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2386,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:2387,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2346
    functionDepth: 8
    functionLinenumber: 2346
    functionLinenumberEnd: 2389
    functionName: test_rand_range_single
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - OPENSSL_calloc
    - BN_set_word
    - BN_rand_range
    - TEST_info
    - OPENSSL_free
    - TEST_uint_lt
    - BN_new
    - TEST_true
    - BN_get_word
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_rand_range_single(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:2396,1
    - Dst: test_rand_range_single
      Src: /src/openssl/test/bntest.c:2397,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bntest.c:2398,1
    - Dst: TEST_note
      Src: /src/openssl/test/bntest.c:2400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2391
    functionDepth: 9
    functionLinenumber: 2391
    functionLinenumberEnd: 2402
    functionName: test_rand_range
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - test_rand_range_single
    - OSSL_NELEM
    - TEST_int_ge
    - TEST_note
    linkageType: ''
    returnType: int
    signature: int test_rand_range(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2410,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2410,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2411,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2411,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2412,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2412,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2413,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2413,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2417,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2417,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:2419,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:2420,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2421,1
    - Dst: BN_mul
      Src: /src/openssl/test/bntest.c:2421,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2423,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2424,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2428,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2429,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2429,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:2432,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:2433,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2436,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2436,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2437,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2437,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:2439,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2440,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:2440,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2441,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2442,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2446,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2446,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2447,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:2447,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2448,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/bntest.c:2449,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2451,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2452,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:2457,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:2458,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/bntest.c:2459,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2464,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2465,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2466,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2467,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2468,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2469,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2404
    functionDepth: 3
    functionLinenumber: 2404
    functionLinenumberEnd: 2471
    functionName: test_negzero
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mul
    - BN_div
    - BN_set_negative
    - BN_set_word
    - TEST_BN_ge_zero
    - BN_zero
    - BN_is_negative
    - TEST_BN_eq_zero
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int test_negzero(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2479,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2479,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2480,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2480,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2481,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2481,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2482,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/test/bntest.c:2482,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:2484,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2486,1
    - Dst: BN_div
      Src: /src/openssl/test/bntest.c:2486,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2486,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2488,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2490,1
    - Dst: BN_mod_mul
      Src: /src/openssl/test/bntest.c:2490,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2490,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2490,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2492,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2494,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:2494,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2494,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2494,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2496,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2498,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:2498,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2498,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2498,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2501,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2503,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:2503,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2503,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2503,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2506,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2508,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:2508,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2510,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2513,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2513,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2516,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/bntest.c:2516,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2518,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2520,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:2520,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2520,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2520,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2523,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2525,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:2525,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2525,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2525,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/bntest.c:2528,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2532,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2533,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2534,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/bntest.c:2535,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2473
    functionDepth: 7
    functionLinenumber: 2473
    functionLinenumberEnd: 2537
    functionName: test_badmod
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mod_exp
    - BN_div
    - BN_MONT_CTX_set
    - ERR_clear_error
    - BN_mod_exp_mont_consttime
    - TEST_false
    - BN_zero
    - BN_value_one
    - BN_mod_exp_mont
    - BN_set_word
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_MONT_CTX_free
    - BN_free
    - BN_MONT_CTX_new
    - BN_mod_mul
    linkageType: ''
    returnType: int
    signature: int test_badmod(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2544,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2544,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2545,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2545,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2546,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2546,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:2548,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2550,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:2550,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2550,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2551,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2552,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:2552,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2552,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2554,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2555,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:2555,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2556,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2558,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2559,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/openssl/test/bntest.c:2559,1
    - Dst: BN_value_one
      Src: /src/openssl/test/bntest.c:2560,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2561,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2566,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2567,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2568,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2539
    functionDepth: 7
    functionLinenumber: 2539
    functionLinenumberEnd: 2570
    functionName: test_expmodzero
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mod_exp_mont_consttime
    - BN_mod_exp_mont
    - BN_zero
    - BN_value_one
    - BN_mod_exp_mont_word
    - TEST_BN_eq_zero
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_mod_exp
    linkageType: ''
    returnType: int
    signature: int test_expmodzero(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2575,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2576,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2577,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2578,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2580,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2581,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2582,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2583,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2584,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2585,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2585,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2586,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2586,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2587,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2587,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2592,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:2592,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2593,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2594,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/bntest.c:2594,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2595,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2596,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/bntest.c:2596,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2597,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2598,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/openssl/test/bntest.c:2598,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2599,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2600,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:2600,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2601,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2602,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/test/bntest.c:2602,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/bntest.c:2603,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/bntest.c:2607,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2612,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2613,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2614,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2615,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2572
    functionDepth: 7
    functionLinenumber: 2572
    functionLinenumberEnd: 2617
    functionName: test_expmodone
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_mod_exp_mont_consttime
    - BN_set_word
    - BN_mod_exp_mont
    - BN_mod_exp_mont_word
    - BN_mod_exp_simple
    - BN_set_negative
    - TEST_BN_eq_zero
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_mod_exp_recp
    - BN_free
    - BN_mod_exp
    linkageType: ''
    returnType: int
    signature: int test_expmodone(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2624,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2624,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2628,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2628,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2632,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2632,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2634,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/bntest.c:2634,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2640,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - kBits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2619
    functionDepth: 4
    functionLinenumber: 2619
    functionLinenumberEnd: 2642
    functionName: test_smallprime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_int_eq
    - BN_new
    - TEST_true
    - BN_generate_prime_ex
    - TEST_ptr
    - BN_free
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int test_smallprime(int kBits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2649,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2649,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2653,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2653,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2657,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2657,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2659,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/bntest.c:2659,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2665,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - kBits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2644
    functionDepth: 4
    functionLinenumber: 2644
    functionLinenumberEnd: 2667
    functionName: test_smallsafeprime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - TEST_int_eq
    - BN_new
    - TEST_true
    - BN_generate_prime_ex
    - TEST_ptr
    - BN_free
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int test_smallsafeprime(int kBits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2677,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2677,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2681,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2681,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2682,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/bntest.c:2682,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2671
    functionDepth: 5
    functionLinenumber: 2671
    functionLinenumberEnd: 2691
    functionName: test_is_prime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_int_eq
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: int test_is_prime(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2701,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2701,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2705,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2705,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2706,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/bntest.c:2706,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2695
    functionDepth: 5
    functionLinenumber: 2695
    functionLinenumberEnd: 2714
    functionName: test_not_prime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_int_eq
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: int test_not_prime(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/test/bntest.c:2722,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:2723,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2724,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/bntest.c:2724,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:2727,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/bntest.c:2732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2716
    functionDepth: 2
    functionLinenumber: 2716
    functionLinenumberEnd: 2734
    functionName: test_ctx_set_ct_flag
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - OSSL_NELEM
    - TEST_ptr
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int test_ctx_set_ct_flag(BN_CTX *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_start
      Src: /src/openssl/test/bntest.c:2742,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:2743,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2744,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/bntest.c:2744,1
    - Dst: TEST_false
      Src: /src/openssl/test/bntest.c:2746,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/bntest.c:2746,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/bntest.c:2752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2736
    functionDepth: 2
    functionLinenumber: 2736
    functionLinenumberEnd: 2754
    functionName: test_ctx_check_ct_flag
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - BN_CTX_end
    - BN_CTX_start
    - TEST_false
    - BN_get_flags
    - OSSL_NELEM
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_ctx_check_ct_flag(BN_CTX *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2784,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/bntest.c:2784,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2785,1
    - Dst: BN_CTX_secure_new
      Src: /src/openssl/test/bntest.c:2785,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2790,1
    - Dst: test_ctx_set_ct_flag
      Src: /src/openssl/test/bntest.c:2790,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2791,1
    - Dst: test_ctx_check_ct_flag
      Src: /src/openssl/test/bntest.c:2791,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/bntest.c:2797,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/bntest.c:2798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2756
    functionDepth: 4
    functionLinenumber: 2756
    functionLinenumberEnd: 2800
    functionName: test_ctx_consttime_flag
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new
    - test_ctx_check_ct_flag
    - test_ctx_set_ct_flag
    - BN_CTX_free
    - BN_CTX_secure_new
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_ctx_consttime_flag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2807,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2807,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2808,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2808,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2809,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2809,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2810,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2810,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2811,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2811,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2812,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2812,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2813,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bntest.c:2813,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2814,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2814,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:2815,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2815,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2816,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2817,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2802
    functionDepth: 5
    functionLinenumber: 2802
    functionLinenumberEnd: 2819
    functionName: test_coprime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_int_eq
    - BN_are_coprime
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_coprime(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2826,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2826,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2827,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2827,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:2828,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:2828,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2831,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2831,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2834,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/test/bntest.c:2834,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2836,1
    - Dst: BN_gcd
      Src: /src/openssl/test/bntest.c:2836,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2837,1
    - Dst: BN_is_one
      Src: /src/openssl/test/bntest.c:2837,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:2838,1
    - Dst: BN_are_coprime
      Src: /src/openssl/test/bntest.c:2838,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2844,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2845,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:2846,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2821
    functionDepth: 5
    functionLinenumber: 2821
    functionLinenumberEnd: 2848
    functionName: test_gcd_prime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_is_one
    - BN_gcd
    - BN_are_coprime
    - BN_new
    - TEST_true
    - BN_generate_prime_ex
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_gcd_prime(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3067,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3067,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3068,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3068,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3069,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3069,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3070,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3070,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3073,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:3073,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3076,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3076,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:3079,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:3079,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:3079,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3085,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3086,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3087,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3088,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3089,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3091
      start: 3059
    functionDepth: 6
    functionLinenumber: 3059
    functionLinenumberEnd: 3091
    functionName: test_mod_exp
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - TEST_true
    - strlen
    - TEST_int_eq
    - OPENSSL_free
    - BN_dec2bn
    - BN_new
    - TEST_ptr
    - TEST_mem_eq
    - BN_free
    - BN_mod_exp
    linkageType: ''
    returnType: int
    signature: int test_mod_exp(int i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3101,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3101,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3102,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3102,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3103,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3103,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3104,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3104,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:3107,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:3108,1
    - Dst: BN_set_flags
      Src: /src/openssl/test/bntest.c:3109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3111,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/bntest.c:3111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3114,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3114,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bntest.c:3117,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:3117,1
    - Dst: strlen
      Src: /src/openssl/test/bntest.c:3117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3123,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3124,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3125,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3126,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3093
    functionDepth: 6
    functionLinenumber: 3093
    functionLinenumberEnd: 3129
    functionName: test_mod_exp_consttime
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - TEST_true
    - strlen
    - TEST_int_eq
    - OPENSSL_free
    - BN_dec2bn
    - BN_new
    - TEST_ptr
    - TEST_mem_eq
    - BN_free
    - BN_mod_exp
    - BN_set_flags
    linkageType: ''
    returnType: int
    signature: int test_mod_exp_consttime(int i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3142,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3143,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3144,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3144,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3145,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3146,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3146,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3147,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3147,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3150,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:3150,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3151,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:3151,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3152,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:3152,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3153,1
    - Dst: BN_one
      Src: /src/openssl/test/bntest.c:3153,1
    - Dst: BN_zero
      Src: /src/openssl/test/bntest.c:3156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3159,1
    - Dst: BN_mod_exp2_mont
      Src: /src/openssl/test/bntest.c:3159,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3166,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3167,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3168,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3169,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3170,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3171,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3173
      start: 3135
    functionDepth: 4
    functionLinenumber: 3135
    functionLinenumberEnd: 3173
    functionName: test_mod_exp2_mont
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_one
    - BN_zero
    - TEST_int_eq
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - BN_mod_exp2_mont
    linkageType: ''
    returnType: int
    signature: int test_mod_exp2_mont(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3183,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3183,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3185,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3187,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3187,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bntest.c:3189,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/test/bntest.c:3189,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/bntest.c:3191,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3191,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3193,1
    - Dst: strcmp
      Src: /src/openssl/test/bntest.c:3193,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/bntest.c:3197,1
    - Dst: BN_mod_inverse
      Src: /src/openssl/test/bntest.c:3197,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3203,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3204,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3205,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3206,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3175
    functionDepth: 6
    functionLinenumber: 3175
    functionLinenumberEnd: 3208
    functionName: test_mod_inverse
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - TEST_ptr_null
    - TEST_ptr_ne
    - TEST_true
    - BN_mod_inverse
    - TEST_int_eq
    - OPENSSL_free
    - BN_new
    - BN_dec2bn
    - strcmp
    - TEST_ptr
    - BN_free
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_mod_inverse(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3219,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3219,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3221,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3221,1
    - Dst: TEST_true
      Src: /src/openssl/test/bntest.c:3223,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/bntest.c:3223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3225,1
    - Dst: BN_new
      Src: /src/openssl/test/bntest.c:3225,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3228,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/bntest.c:3231,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3231,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bntest.c:3233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3236,1
    - Dst: BN_copy
      Src: /src/openssl/test/bntest.c:3239,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3242,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/bntest.c:3245,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3245,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bntest.c:3247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3250,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3255,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/bntest.c:3255,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bntest.c:3258,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/test/bntest.c:3258,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/bntest.c:3260,1
    - Dst: BN_bn2dec
      Src: /src/openssl/test/bntest.c:3260,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bntest.c:3262,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3269,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3270,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3271,1
    - Dst: BN_free
      Src: /src/openssl/test/bntest.c:3272,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3273,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3210
    functionDepth: 6
    functionLinenumber: 3210
    functionLinenumberEnd: 3275
    functionName: test_mod_exp_alias
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - BN_bn2dec
    - TEST_ptr_ne
    - TEST_true
    - TEST_str_eq
    - BN_mod_exp_simple
    - TEST_int_eq
    - OPENSSL_free
    - BN_new
    - BN_dec2bn
    - BN_copy
    - TEST_ptr
    - BN_mod_exp_recp
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_mod_exp_alias(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3293,1
    - Dst: findattr
      Src: /src/openssl/test/bntest.c:3297,1
    - Dst: FILETEST*::func
      Src: /src/openssl/test/bntest.c:3298,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:3299,1
    - Dst: TEST_info
      Src: /src/openssl/test/bntest.c:3306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3308
      start: 3277
    functionDepth: 4
    functionLinenumber: 3277
    functionLinenumberEnd: 3308
    functionName: file_test_run
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - findattr
    - OSSL_NELEM
    - FILETEST*::func
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int file_test_run(STANZA *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/openssl/test/bntest.c:3313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3316,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/bntest.c:3316,1
    - Dst: test_start_file
      Src: /src/openssl/test/bntest.c:3318,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3319,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bntest.c:3324,1
    - Dst: test_readstanza
      Src: /src/openssl/test/bntest.c:3324,1
    - Dst: file_test_run
      Src: /src/openssl/test/bntest.c:3327,1
    - Dst: test_clearstanza
      Src: /src/openssl/test/bntest.c:3330,1
    - Dst: test_end_file
      Src: /src/openssl/test/bntest.c:3332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bntest.c:3334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3310
    functionDepth: 5
    functionLinenumber: 3310
    functionLinenumberEnd: 3337
    functionName: run_file_tests
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - test_start_file
    - test_readstanza
    - test_clearstanza
    - BIO_eof
    - OPENSSL_free
    - test_get_argument
    - file_test_run
    - TEST_ptr
    - test_end_file
    linkageType: ''
    returnType: int
    signature: int run_file_tests(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/bntest.c:3349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3346
    functionDepth: 1
    functionLinenumber: 3346
    functionLinenumberEnd: 3356
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/bntest.c:3364,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/bntest.c:3376,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bntest.c:3378,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/bntest.c:3378,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3382,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3383,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3384,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3384,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3385,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3385,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3386,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3387,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3388,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3389,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3390,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3391,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3392,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3393,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3394,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3395,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3396,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3397,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3398,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3398,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3399,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3399,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3400,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3401,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3402,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3403,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3404,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3405,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3406,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3407,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3409,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3410,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3411,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3412,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3413,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3414,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3415,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3416,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3417,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3419,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3419,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3420,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3420,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3421,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3422,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3423,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3423,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3424,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bntest.c:3424,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3425,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bntest.c:3427,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bntest.c:3429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3358
    functionDepth: 3
    functionLinenumber: 3358
    functionLinenumberEnd: 3432
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 0
    functionsReached:
    - opt_next
    - BN_CTX_new
    - ADD_TEST
    - OSSL_NELEM
    - test_get_argument_count
    - TEST_ptr
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/openssl/test/bntest.c:3436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3434
    functionDepth: 2
    functionLinenumber: 3434
    functionLinenumberEnd: 3437
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/bntest.c
    functionUses: 3
    functionsReached:
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: cookie_gen
    functionSourceFile: /src/openssl/test/dtlsv1listentest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cookie_gen(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: cookie_verify
    functionSourceFile: /src/openssl/test/dtlsv1listentest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cookie_verify(SSL *ssl, const unsigned char *cookie,\n                         unsigned
      int cookie_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:301,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/dtlsv1listentest.c:301,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlsv1listentest.c:301,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:302,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/dtlsv1listentest.c:302,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/test/dtlsv1listentest.c:304,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/test/dtlsv1listentest.c:305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:308,1
    - Dst: SSL_new
      Src: /src/openssl/test/dtlsv1listentest.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:309,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlsv1listentest.c:309,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/dtlsv1listentest.c:309,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/dtlsv1listentest.c:311,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlsv1listentest.c:314,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/dtlsv1listentest.c:314,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/dtlsv1listentest.c:316,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/dtlsv1listentest.c:317,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/dtlsv1listentest.c:320,1
    - Dst: DTLSv1_listen
      Src: /src/openssl/test/dtlsv1listentest.c:320,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/dtlsv1listentest.c:322,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlsv1listentest.c:325,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dtlsv1listentest.c:326,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlsv1listentest.c:329,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtlsv1listentest.c:333,1
    - Dst: BIO_reset
      Src: /src/openssl/test/dtlsv1listentest.c:336,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/dtlsv1listentest.c:338,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlsv1listentest.c:343,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlsv1listentest.c:344,1
    - Dst: BIO_free
      Src: /src/openssl/test/dtlsv1listentest.c:345,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/dtlsv1listentest.c:346,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 348
    functionName: dtls_listen_test
    functionSourceFile: /src/openssl/test/dtlsv1listentest.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_new
    - SSL_set0_rbio
    - OPENSSL_free
    - SSL_CTX_new
    - BIO_s_mem
    - BIO_get_mem_data
    - TEST_ptr
    - BIO_reset
    - BIO_new
    - SSL_set0_wbio
    - SSL_CTX_free
    - TEST_info
    - TEST_true
    - SSL_CTX_set_cookie_generate_cb
    - SSL_CTX_set_cookie_verify_cb
    - SSL_free
    - BIO_free
    - SSL_new
    - DTLS_server_method
    - DTLSv1_listen
    - BIO_set_mem_eof_return
    - TEST_int_ge
    - TEST_int_eq
    - BIO_new_mem_buf
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int dtls_listen_test(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtlsv1listentest.c:354,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/dtlsv1listentest.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dtlsv1listentest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/srptest.c:47,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/test/srptest.c:47,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:51,1
    - Dst: SRP_create_verifier_BN
      Src: /src/openssl/test/srptest.c:51,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:55,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:56,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:57,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:58,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/srptest.c:61,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/srptest.c:62,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/srptest.c:63,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:65,1
    - Dst: SRP_Calc_B
      Src: /src/openssl/test/srptest.c:68,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:71,1
    - Dst: SRP_Verify_B_mod_N
      Src: /src/openssl/test/srptest.c:71,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/srptest.c:75,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/srptest.c:76,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/srptest.c:77,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:79,1
    - Dst: SRP_Calc_A
      Src: /src/openssl/test/srptest.c:82,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:85,1
    - Dst: SRP_Verify_A_mod_N
      Src: /src/openssl/test/srptest.c:85,1
    - Dst: SRP_Calc_u
      Src: /src/openssl/test/srptest.c:89,1
    - Dst: SRP_Calc_x
      Src: /src/openssl/test/srptest.c:92,1
    - Dst: SRP_Calc_client_key
      Src: /src/openssl/test/srptest.c:93,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:94,1
    - Dst: SRP_Calc_server_key
      Src: /src/openssl/test/srptest.c:97,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/srptest.c:98,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/srptest.c:100,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:106,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:107,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:108,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:109,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:110,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:111,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:112,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:113,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:114,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:115,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 3
    argNames:
    - username
    - client_pass
    - server_pass
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 29
    functionDepth: 14
    functionLinenumber: 29
    functionLinenumberEnd: 118
    functionName: run_srp
    functionSourceFile: /src/openssl/test/srptest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - BN_bin2bn
    - TEST_ptr
    - SRP_Calc_server_key
    - test_output_bignum
    - SRP_Verify_B_mod_N
    - SRP_Calc_x
    - TEST_true
    - BN_free
    - TEST_BN_ne_zero
    - SRP_create_verifier_BN
    - BN_clear_free
    - SRP_Verify_A_mod_N
    - SRP_get_default_gN
    - SRP_Calc_A
    - SRP_Calc_client_key
    - RAND_bytes
    - SRP_Calc_B
    - SRP_Calc_u
    linkageType: ''
    returnType: int
    signature: "int run_srp(const char *username, const char *client_pass,\n                   const
      char *server_pass)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:125,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/srptest.c:125,1
    - Dst: BN_cmp
      Src: /src/openssl/test/srptest.c:128,1
    - Dst: TEST_error
      Src: /src/openssl/test/srptest.c:129,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/srptest.c:130,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - name
    - bn
    - hexbn
    argTypes:
    - char*
    - BIGNUM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: check_bn
    functionSourceFile: /src/openssl/test/srptest.c
    functionUses: 1
    functionsReached:
    - TEST_BN_eq
    - BN_hex2bn
    - BN_cmp
    - TEST_true
    - BN_free
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int check_bn(const char *name, const BIGNUM *bn, const char *hexbn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/srptest.c:152,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/test/srptest.c:152,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/srptest.c:154,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:156,1
    - Dst: SRP_create_verifier_BN
      Src: /src/openssl/test/srptest.c:156,1
    - Dst: TEST_info
      Src: /src/openssl/test/srptest.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:161,1
    - Dst: check_bn
      Src: /src/openssl/test/srptest.c:161,1
    - Dst: TEST_note
      Src: /src/openssl/test/srptest.c:168,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/srptest.c:171,1
    - Dst: SRP_Calc_B
      Src: /src/openssl/test/srptest.c:175,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:176,1
    - Dst: SRP_Verify_B_mod_N
      Src: /src/openssl/test/srptest.c:176,1
    - Dst: TEST_info
      Src: /src/openssl/test/srptest.c:179,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:180,1
    - Dst: check_bn
      Src: /src/openssl/test/srptest.c:180,1
    - Dst: TEST_note
      Src: /src/openssl/test/srptest.c:187,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/srptest.c:190,1
    - Dst: SRP_Calc_A
      Src: /src/openssl/test/srptest.c:194,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:195,1
    - Dst: SRP_Verify_A_mod_N
      Src: /src/openssl/test/srptest.c:195,1
    - Dst: TEST_info
      Src: /src/openssl/test/srptest.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:199,1
    - Dst: check_bn
      Src: /src/openssl/test/srptest.c:199,1
    - Dst: TEST_note
      Src: /src/openssl/test/srptest.c:206,1
    - Dst: SRP_Calc_u
      Src: /src/openssl/test/srptest.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:211,1
    - Dst: check_bn
      Src: /src/openssl/test/srptest.c:211,1
    - Dst: SRP_Calc_x
      Src: /src/openssl/test/srptest.c:216,1
    - Dst: SRP_Calc_client_key
      Src: /src/openssl/test/srptest.c:217,1
    - Dst: TEST_info
      Src: /src/openssl/test/srptest.c:218,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:219,1
    - Dst: check_bn
      Src: /src/openssl/test/srptest.c:219,1
    - Dst: TEST_note
      Src: /src/openssl/test/srptest.c:226,1
    - Dst: SRP_Calc_server_key
      Src: /src/openssl/test/srptest.c:229,1
    - Dst: TEST_info
      Src: /src/openssl/test/srptest.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:231,1
    - Dst: check_bn
      Src: /src/openssl/test/srptest.c:231,1
    - Dst: TEST_note
      Src: /src/openssl/test/srptest.c:238,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:243,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:244,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:245,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:246,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:247,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:248,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:249,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:250,1
    - Dst: BN_free
      Src: /src/openssl/test/srptest.c:251,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/srptest.c:252,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 136
    functionDepth: 14
    functionLinenumber: 136
    functionLinenumberEnd: 255
    functionName: run_srp_kat
    functionSourceFile: /src/openssl/test/srptest.c
    functionUses: 0
    functionsReached:
    - BN_hex2bn
    - TEST_note
    - SRP_Verify_B_mod_N
    - SRP_create_verifier_BN
    - SRP_Calc_server_key
    - BN_clear_free
    - TEST_info
    - SRP_Verify_A_mod_N
    - SRP_Calc_x
    - SRP_get_default_gN
    - SRP_Calc_A
    - SRP_Calc_B
    - TEST_true
    - TEST_ptr
    - SRP_Calc_client_key
    - BN_free
    - check_bn
    - SRP_Calc_u
    linkageType: ''
    returnType: int
    signature: int run_srp_kat(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/srptest.c:260,1
    - Dst: TEST_false
      Src: /src/openssl/test/srptest.c:261,1
    - Dst: run_srp
      Src: /src/openssl/test/srptest.c:261,1
    - Dst: TEST_info
      Src: /src/openssl/test/srptest.c:265,1
    - Dst: TEST_true
      Src: /src/openssl/test/srptest.c:266,1
    - Dst: run_srp
      Src: /src/openssl/test/srptest.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 15
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: run_srp_tests
    functionSourceFile: /src/openssl/test/srptest.c
    functionUses: 0
    functionsReached:
    - run_srp
    - TEST_false
    - TEST_info
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int run_srp_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/srptest.c:276,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/srptest.c:278,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/srptest.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/srptest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - printf
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/test/cmp_server_test.c:27,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_server_test.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SRV_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 34
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_SRV_CTX_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_SRV_TEST_FIXTURE *fixture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:35,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_server_test.c:35,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:38,1
    - Dst: OSSL_CMP_SRV_CTX_new
      Src: /src/openssl/test/cmp_server_test.c:38,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_server_test.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 13
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 0
    functionsReached:
    - tear_down
    - TEST_ptr
    - OPENSSL_zalloc
    - OSSL_CMP_SRV_CTX_new
    linkageType: ''
    returnType: CMP_SRV_TEST_FIXTURE
    signature: CMP_SRV_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/cmp_server_test.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - srv_ctx
    - cert_req
    - certReqId
    - crm
    - p10cr
    - certOut
    - chainOut
    - caPubs
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - int
    - OSSL_CRMF_MSG*
    - X509_REQ*
    - X509**
    - STACK_OF**
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: process_cert_request
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKISI
    signature: "OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,\n
      \                                           const OSSL_CMP_MSG *cert_req,\n
      \                                           int certReqId,\n                                            const
      OSSL_CRMF_MSG *crm,\n                                            const X509_REQ
      *p10cr,\n                                            X509 **certOut,\n                                            STACK_OF(X509)
      **chainOut,\n                                            STACK_OF(X509) **caPubs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:72,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_server_test.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_server_test.c:73,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/test/cmp_server_test.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_server_test.c:76,1
    - Dst: OSSL_CMP_SRV_CTX_init
      Src: /src/openssl/test/cmp_server_test.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_server_test.c:79,1
    - Dst: OSSL_CMP_SRV_CTX_init_trans
      Src: /src/openssl/test/cmp_server_test.c:79,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:80,1
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/test/cmp_server_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_server_test.c:81,1
    - Dst: strcmp
      Src: /src/openssl/test/cmp_server_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_server_test.c:84,1
    - Dst: OSSL_CMP_SRV_CTX_set_send_unprotected_errors
      Src: /src/openssl/test/cmp_server_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_server_test.c:85,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_unprotected
      Src: /src/openssl/test/cmp_server_test.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_server_test.c:86,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_raverified
      Src: /src/openssl/test/cmp_server_test.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_server_test.c:87,1
    - Dst: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
      Src: /src/openssl/test/cmp_server_test.c:87,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:90,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/test/cmp_server_test.c:90,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_server_test.c:91,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_server_test.c:93,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:97,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/openssl/test/cmp_server_test.c:97,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_server_test.c:98,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/test/cmp_server_test.c:98,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:100,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_server_test.c:101,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/test/cmp_server_test.c:101,1
    - Dst: ERR_PACK
      Src: /src/openssl/test/cmp_server_test.c:102,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_server_test.c:108,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/test/cmp_server_test.c:109,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 22
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_SRV_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 62
    functionDepth: 19
    functionLinenumber: 62
    functionLinenumberEnd: 111
    functionName: execute_test_handle_request
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - OSSL_CMP_CTX_set1_secretValue
    - ERR_PACK
    - OSSL_CMP_MSG_free
    - strcmp
    - TEST_ptr
    - OSSL_CMP_CTX_set1_referenceValue
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    - OSSL_CMP_SRV_CTX_init_trans
    - TEST_true
    - OSSL_CMP_CTX_free
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - OSSL_CMP_CTX_new
    - OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    - OSSL_CMP_CTX_server_perform
    - TEST_int_eq
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_SRV_CTX_init
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_SRV_CTX_set_send_unprotected_errors
    - ASN1_INTEGER_get
    linkageType: ''
    returnType: int
    signature: int execute_test_handle_request(CMP_SRV_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_server_test.c:115,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_server_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: test_handle_request
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_handle_request(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_server_test.c:124,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_server_test.c:125,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_server_test.c:126,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_server_test.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 3
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmp_server_test.c:139,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_server_test.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:144,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_server_test.c:144,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_server_test.c:145,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_server_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_server_test.c:152,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_server_test.c:152,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/cmp_server_test.c:153,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_server_test.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 173
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_server_test.c
    functionUses: 0
    functionsReached:
    - test_arg_libctx
    - cleanup_tests
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - load_pkimsg
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sparse_array_test.c:43,1
    - Dst: ossl_sa_char_new
      Src: /src/openssl/test/sparse_array_test.c:43,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sparse_array_test.c:44,1
    - Dst: ossl_sa_char_get
      Src: /src/openssl/test/sparse_array_test.c:44,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sparse_array_test.c:45,1
    - Dst: ossl_sa_char_get
      Src: /src/openssl/test/sparse_array_test.c:45,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sparse_array_test.c:46,1
    - Dst: ossl_sa_char_get
      Src: /src/openssl/test/sparse_array_test.c:46,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sparse_array_test.c:49,1
    - Dst: TEST_true
      Src: /src/openssl/test/sparse_array_test.c:50,1
    - Dst: ossl_sa_char_set
      Src: /src/openssl/test/sparse_array_test.c:50,1
    - Dst: TEST_note
      Src: /src/openssl/test/sparse_array_test.c:51,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sparse_array_test.c:55,1
    - Dst: ossl_sa_char_get
      Src: /src/openssl/test/sparse_array_test.c:55,1
    - Dst: TEST_note
      Src: /src/openssl/test/sparse_array_test.c:56,1
    - Dst: ossl_sa_char_free
      Src: /src/openssl/test/sparse_array_test.c:63,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: test_sparse_array
    functionSourceFile: /src/openssl/test/sparse_array_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - TEST_note
    - TEST_str_eq
    - ossl_sa_char_new
    - ossl_sa_char_get
    - OSSL_NELEM
    - ossl_sa_char_free
    - TEST_true
    - TEST_ptr
    - ossl_sa_char_set
    linkageType: ''
    returnType: int
    signature: int test_sparse_array(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sparse_array_test.c:83,1
    - Dst: ossl_sa_char_num
      Src: /src/openssl/test/sparse_array_test.c:83,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sparse_array_test.c:84,1
    - Dst: ossl_sa_char_new
      Src: /src/openssl/test/sparse_array_test.c:84,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sparse_array_test.c:85,1
    - Dst: ossl_sa_char_num
      Src: /src/openssl/test/sparse_array_test.c:85,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sparse_array_test.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/sparse_array_test.c:88,1
    - Dst: ossl_sa_char_set
      Src: /src/openssl/test/sparse_array_test.c:88,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sparse_array_test.c:89,1
    - Dst: ossl_sa_char_num
      Src: /src/openssl/test/sparse_array_test.c:89,1
    - Dst: ossl_sa_char_free
      Src: /src/openssl/test/sparse_array_test.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 95
    functionName: test_sparse_array_num
    functionSourceFile: /src/openssl/test/sparse_array_test.c
    functionUses: 0
    functionsReached:
    - ossl_sa_char_num
    - ossl_sa_char_new
    - ossl_sa_char_free
    - OSSL_NELEM
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - ossl_sa_char_set
    linkageType: ''
    returnType: int
    signature: int test_sparse_array_num(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/sparse_array_test.c:120,1
    - Dst: TEST_error
      Src: /src/openssl/test/sparse_array_test.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - n
    - value
    - arg
    argTypes:
    - ossl_uintmax_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: leaf_check_all
    functionSourceFile: /src/openssl/test/sparse_array_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TEST_error
    linkageType: ''
    returnType: void
    signature: void leaf_check_all(ossl_uintmax_t n, char *value, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/sparse_array_test.c:135,1
    - Dst: ossl_sa_char_set
      Src: /src/openssl/test/sparse_array_test.c:137,1
    - Dst: TEST_error
      Src: /src/openssl/test/sparse_array_test.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - n
    - value
    - arg
    argTypes:
    - ossl_uintmax_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: leaf_delete
    functionSourceFile: /src/openssl/test/sparse_array_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ossl_sa_char_set
    - TEST_error
    linkageType: ''
    returnType: void
    signature: void leaf_delete(ossl_uintmax_t n, char *value, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sparse_array_test.c:155,1
    - Dst: ossl_sa_char_new
      Src: /src/openssl/test/sparse_array_test.c:155,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sparse_array_test.c:157,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sparse_array_test.c:161,1
    - Dst: TEST_true
      Src: /src/openssl/test/sparse_array_test.c:162,1
    - Dst: ossl_sa_char_set
      Src: /src/openssl/test/sparse_array_test.c:162,1
    - Dst: TEST_note
      Src: /src/openssl/test/sparse_array_test.c:163,1
    - Dst: ossl_sa_char_doall_arg
      Src: /src/openssl/test/sparse_array_test.c:167,1
    - Dst: TEST_info
      Src: /src/openssl/test/sparse_array_test.c:169,1
    - Dst: ossl_sa_char_doall_arg
      Src: /src/openssl/test/sparse_array_test.c:174,1
    - Dst: TEST_info
      Src: /src/openssl/test/sparse_array_test.c:176,1
    - Dst: ossl_sa_char_doall_arg
      Src: /src/openssl/test/sparse_array_test.c:179,1
    - Dst: TEST_info
      Src: /src/openssl/test/sparse_array_test.c:181,1
    - Dst: ossl_sa_char_free
      Src: /src/openssl/test/sparse_array_test.c:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 189
    functionName: test_sparse_array_doall
    functionSourceFile: /src/openssl/test/sparse_array_test.c
    functionUses: 0
    functionsReached:
    - ossl_sa_char_doall_arg
    - TEST_note
    - ossl_sa_char_new
    - TEST_info
    - ossl_sa_char_free
    - OSSL_NELEM
    - TEST_true
    - TEST_ptr
    - ossl_sa_char_set
    linkageType: ''
    returnType: int
    signature: int test_sparse_array_doall(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/sparse_array_test.c:193,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sparse_array_test.c:194,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sparse_array_test.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sparse_array_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scid_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: RX_OP_SET_SCID_LEN
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_SET_SCID_LEN(scid_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - largest_pn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: RX_OP_SET_INIT_LARGEST_PN
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_SET_INIT_LARGEST_PN(largest_pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dcid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: RX_OP_SET_RX_DCID
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_SET_RX_DCID(dcid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dgram
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: RX_OP_INJECT
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_INJECT(dgram)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - el
    - ','
    - suite
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: RX_OP_PROVIDE_SECRET
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_PROVIDE_SECRET(el, suite, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dcid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: RX_OP_PROVIDE_SECRET_INITIAL
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_PROVIDE_SECRET_INITIAL(dcid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: RX_OP_DISCARD_EL
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_DISCARD_EL(el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expect_hdr
    - ','
    - expect_body
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: RX_OP_CHECK_PKT
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_PKT(expect_hdr, expect_body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: RX_OP_CHECK_NO_PKT
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_NO_PKT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: RX_OP_CHECK_KEY_EPOCH
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_KEY_EPOCH(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - normal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: RX_OP_KEY_UPDATE_TIMEOUT
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_KEY_UPDATE_TIMEOUT(normal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kp_bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: RX_OP_SET_INIT_KEY_PHASE
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_SET_INIT_KEY_PHASE(kp_bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: RX_OP_CHECK_PKT_EPOCH
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_PKT_EPOCH(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: RX_OP_ALLOW_1RTT
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_ALLOW_1RTT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: RX_OP_INJECT_N
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_INJECT_N(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: RX_OP_CHECK_PKT_N
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_PKT_N(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: RX_OP_INJECT_CHECK
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_INJECT_CHECK(n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/test/quic_record_test.c:1734,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_record_test.c:1738,1
    - Dst: ossl_qrx_free
      Src: /src/openssl/test/quic_record_test.c:1743,1
    - Dst: ossl_quic_demux_free
      Src: /src/openssl/test/quic_record_test.c:1748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct rx_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1751
    functionName: rx_state_teardown
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_qrx_free
    - SSL_CTX_free
    - SSL_free
    - ossl_quic_demux_free
    linkageType: ''
    returnType: void
    signature: void rx_state_teardown(struct rx_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_multiply
      Src: /src/openssl/test/quic_record_test.c:1757,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_record_test.c:1757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1755
    functionDepth: 1
    functionLinenumber: 1755
    functionLinenumberEnd: 1758
    functionName: expected_time
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_ticks2time
    - ossl_time_multiply
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME expected_time(uint64_t counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expected_time
      Src: /src/openssl/test/quic_record_test.c:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1760
    functionDepth: 2
    functionLinenumber: 1760
    functionLinenumberEnd: 1763
    functionName: fake_time
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - expected_time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_time(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_record_test.c:1770,1
    - Dst: ossl_qrx_inject_urxe
      Src: /src/openssl/test/quic_record_test.c:1773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - e
    - arg
    - dcid
    argTypes:
    - QUIC_URXE*
    - void*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1774
    functionName: demux_default_handler
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_qrx_inject_urxe
    - ossl_quic_conn_id_eq
    linkageType: ''
    returnType: void
    signature: "void demux_default_handler(QUIC_URXE *e, void *arg,\n                                  const
      QUIC_CONN_ID *dcid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:1779,1
    - Dst: ossl_quic_demux_new
      Src: /src/openssl/test/quic_record_test.c:1779,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:1790,1
    - Dst: ossl_qrx_new
      Src: /src/openssl/test/quic_record_test.c:1790,1
    - Dst: ossl_quic_demux_set_default_handler
      Src: /src/openssl/test/quic_record_test.c:1793,1
    - Dst: ossl_qrx_allow_1rtt_processing
      Src: /src/openssl/test/quic_record_test.c:1796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct rx_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1799
    functionName: rx_state_ensure
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_qrx_allow_1rtt_processing
    - ossl_quic_demux_new
    - ossl_qrx_new
    - ossl_quic_demux_set_default_handler
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int rx_state_ensure(struct rx_state *s)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: rx_state_teardown
      Src: /src/openssl/test/quic_record_test.c:1813,1
    - Dst: rx_state_teardown
      Src: /src/openssl/test/quic_record_test.c:1817,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1822,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1822,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1827,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1827,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1829,1
    - Dst: ossl_qrx_provide_secret
      Src: /src/openssl/test/quic_record_test.c:1829,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1836,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1836,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1838,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/test/quic_record_test.c:1838,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1844,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1844,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1846,1
    - Dst: ossl_qrx_discard_enc_level
      Src: /src/openssl/test/quic_record_test.c:1846,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1850,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1850,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1852,1
    - Dst: ossl_quic_demux_inject
      Src: /src/openssl/test/quic_record_test.c:1852,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1858,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1858,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1861,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/test/quic_record_test.c:1861,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:1864,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:1864,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test.c:1867,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1871,1
    - Dst: cmp_pkt_hdr
      Src: /src/openssl/test/quic_record_test.c:1871,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/test/quic_record_test.c:1877,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1881,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1881,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_record_test.c:1884,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/test/quic_record_test.c:1884,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1889,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1889,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_record_test.c:1892,1
    - Dst: ossl_qrx_get_key_epoch
      Src: /src/openssl/test/quic_record_test.c:1892,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1898,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1898,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_record_test.c:1901,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1906,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1906,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1909,1
    - Dst: ossl_qrx_key_update_timeout
      Src: /src/openssl/test/quic_record_test.c:1909,1
    - Dst: rx_state_teardown
      Src: /src/openssl/test/quic_record_test.c:1915,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:1921,1
    - Dst: rx_state_ensure
      Src: /src/openssl/test/quic_record_test.c:1921,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/quic_record_test.c:1926,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/test/quic_record_test.c:1932,1
    - Dst: rx_state_teardown
      Src: /src/openssl/test/quic_record_test.c:1933,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 123
    argCount: 1
    argNames:
    - script
    argTypes:
    - struct rx_test_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1801
    functionDepth: 2
    functionLinenumber: 1801
    functionLinenumberEnd: 1935
    functionName: rx_run_script
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    - ossl_qrx_get_key_epoch
    - rx_state_teardown
    - TEST_false
    - ossl_qrx_provide_secret
    - OPENSSL_assert
    - ossl_qrx_read_pkt
    - ossl_qrx_pkt_release
    - rx_state_ensure
    - ossl_quic_demux_inject
    - ossl_qrx_discard_enc_level
    - cmp_pkt_hdr
    - TEST_true
    - ossl_qrx_key_update_timeout
    - TEST_ptr
    - TEST_mem_eq
    - ossl_quic_provide_initial_secret
    linkageType: ''
    returnType: int
    signature: int rx_run_script(const struct rx_test_op *script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rx_run_script
      Src: /src/openssl/test/quic_record_test.c:1939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1937
    functionDepth: 3
    functionLinenumber: 1937
    functionLinenumberEnd: 1940
    functionName: test_rx_script
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - rx_run_script
    linkageType: ''
    returnType: int
    signature: int test_rx_script(int idx)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:2801,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_record_test.c:2801,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2804,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_record_test.c:2804,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2807,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_record_test.c:2807,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test.c:2810,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/test/quic_record_test.c:2810,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2816,1
    - Dst: cmp_pkt_hdr
      Src: /src/openssl/test/quic_record_test.c:2816,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_record_test.c:2819,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_record_test.c:2823,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_record_test.c:2826,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_record_test.c:2831,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_record_test.c:2833,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2838,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/test/quic_record_test.c:2838,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2841,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/quic_record_test.c:2841,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2844,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_record_test.c:2844,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test.c:2847,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2852,1
    - Dst: ossl_quic_hdr_protector_init
      Src: /src/openssl/test/quic_record_test.c:2852,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_record_test.c:2864,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:2865,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_record_test.c:2868,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2874,1
    - Dst: ossl_quic_hdr_protector_encrypt
      Src: /src/openssl/test/quic_record_test.c:2874,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/quic_record_test.c:2899,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_record_test.c:2899,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test.c:2907,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2912,1
    - Dst: ossl_quic_hdr_protector_decrypt
      Src: /src/openssl/test/quic_record_test.c:2912,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test.c:2915,1
    - Dst: ossl_quic_hdr_protector_cleanup
      Src: /src/openssl/test/quic_record_test.c:2923,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_record_test.c:2924,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_record_test.c:2925,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_record_test.c:2926,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 125
    argCount: 4
    argNames:
    - tidx
    - repeat
    - cipher
    - trunc_len
    argTypes:
    - int
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2750
    functionDepth: 4
    functionLinenumber: 2750
    functionLinenumberEnd: 2928
    functionName: test_wire_pkt_hdr_actual
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - OPENSSL_free
    - TEST_ptr
    - PACKET_buf_init
    - TEST_true
    - cmp_pkt_hdr
    - WPACKET_memcpy
    - OPENSSL_malloc
    - ossl_quic_wire_decode_pkt_hdr
    - OPENSSL_assert
    - ossl_quic_wire_encode_pkt_hdr
    - ossl_quic_hdr_protector_init
    - TEST_size_t_eq
    - WPACKET_init_static_len
    - WPACKET_finish
    - TEST_ptr_null
    - ossl_quic_hdr_protector_cleanup
    - ossl_quic_hdr_protector_decrypt
    - TEST_int_eq
    - WPACKET_get_total_written
    - OSSL_NELEM
    - ossl_quic_hdr_protector_encrypt
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: "int test_wire_pkt_hdr_actual(int tidx, int repeat, int cipher,\n                                    size_t
      trunc_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2937,1
    - Dst: test_wire_pkt_hdr_actual
      Src: /src/openssl/test/quic_record_test.c:2937,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:2943,1
    - Dst: test_wire_pkt_hdr_actual
      Src: /src/openssl/test/quic_record_test.c:2943,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - tidx
    - repeat
    - cipher
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2930
    functionDepth: 5
    functionLinenumber: 2930
    functionLinenumberEnd: 2949
    functionName: test_wire_pkt_hdr_inner
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - test_wire_pkt_hdr_actual
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_wire_pkt_hdr_inner(int tidx, int repeat, int cipher)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_record_test.c:2963,1
    - Dst: TEST_uint_gt
      Src: /src/openssl/test/quic_record_test.c:2964,1
    - Dst: TEST_uint_gt
      Src: /src/openssl/test/quic_record_test.c:2966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2951
    functionDepth: 1
    functionLinenumber: 2951
    functionLinenumberEnd: 2973
    functionName: test_hdr_prot_stats
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - TEST_uint_gt
    linkageType: ''
    returnType: int
    signature: int test_hdr_prot_stats(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_hdr_prot_stats
      Src: /src/openssl/test/quic_record_test.c:2983,1
    - Dst: test_wire_pkt_hdr_inner
      Src: /src/openssl/test/quic_record_test.c:2993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2978
    functionDepth: 6
    functionLinenumber: 2978
    functionLinenumberEnd: 2994
    functionName: test_wire_pkt_hdr
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - test_wire_pkt_hdr_inner
    - test_hdr_prot_stats
    linkageType: ''
    returnType: int
    signature: int test_wire_pkt_hdr(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3019
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3019
    functionName: TX_OP_WRITE
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_WRITE(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - el
    - ','
    - suite
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3019
    functionDepth: 0
    functionLinenumber: 3019
    functionLinenumberEnd: 3024
    functionName: TX_OP_PROVIDE_SECRET
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_PROVIDE_SECRET(el, suite, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dcid
    - ','
    - is_server
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3027
      start: 3024
    functionDepth: 0
    functionLinenumber: 3024
    functionLinenumberEnd: 3027
    functionName: TX_OP_PROVIDE_SECRET_INITIAL
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_PROVIDE_SECRET_INITIAL(dcid, is_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 3027
    functionDepth: 0
    functionLinenumber: 3027
    functionLinenumberEnd: 3029
    functionName: TX_OP_DISCARD_EL
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_DISCARD_EL(el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expect_dgram
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3034
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3034
    functionName: TX_OP_CHECK_DGRAM
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_CHECK_DGRAM(expect_dgram)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3036
    functionName: TX_OP_CHECK_NO_DGRAM
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_CHECK_NO_DGRAM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3039
    functionName: TX_OP_WRITE_N
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_WRITE_N(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3041
    functionName: TX_OP_CHECK_DGRAM_N
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_CHECK_DGRAM_N(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3045
    functionName: TX_OP_WRITE_CHECK
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_WRITE_CHECK(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3046
    functionDepth: 0
    functionLinenumber: 3046
    functionLinenumberEnd: 3048
    functionName: TX_OP_KEY_UPDATE
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_KEY_UPDATE()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_record_test.c:3620,1
    - Dst: ossl_qtx_new
      Src: /src/openssl/test/quic_record_test.c:3620,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3626,1
    - Dst: ossl_qtx_provide_secret
      Src: /src/openssl/test/quic_record_test.c:3626,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3632,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/test/quic_record_test.c:3632,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3639,1
    - Dst: ossl_qtx_discard_enc_level
      Src: /src/openssl/test/quic_record_test.c:3639,1
    - Dst: ossl_quic_pkt_type_to_enc_level
      Src: /src/openssl/test/quic_record_test.c:3645,1
    - Dst: ossl_qtx_get_max_epoch_pkt_count
      Src: /src/openssl/test/quic_record_test.c:3649,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_record_test.c:3651,1
    - Dst: ossl_qtx_get_cur_epoch_pkt_count
      Src: /src/openssl/test/quic_record_test.c:3654,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_record_test.c:3655,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3659,1
    - Dst: ossl_qtx_write_pkt
      Src: /src/openssl/test/quic_record_test.c:3659,1
    - Dst: ossl_qtx_get_cur_epoch_pkt_count
      Src: /src/openssl/test/quic_record_test.c:3663,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_record_test.c:3664,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3670,1
    - Dst: ossl_qtx_pop_net
      Src: /src/openssl/test/quic_record_test.c:3670,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test.c:3673,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_record_test.c:3678,1
    - Dst: ossl_qtx_pop_net
      Src: /src/openssl/test/quic_record_test.c:3678,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test.c:3682,1
    - Dst: ossl_qtx_trigger_key_update
      Src: /src/openssl/test/quic_record_test.c:3682,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/quic_record_test.c:3686,1
    - Dst: ossl_qtx_free
      Src: /src/openssl/test/quic_record_test.c:3693,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 73
    argCount: 1
    argNames:
    - script
    argTypes:
    - struct tx_test_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3696
      start: 3610
    functionDepth: 1
    functionLinenumber: 3610
    functionLinenumberEnd: 3696
    functionName: tx_run_script
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - ossl_qtx_get_max_epoch_pkt_count
    - ossl_qtx_write_pkt
    - ossl_qtx_trigger_key_update
    - ossl_qtx_get_cur_epoch_pkt_count
    - TEST_uint64_t_eq
    - ossl_qtx_new
    - TEST_false
    - OPENSSL_assert
    - ossl_quic_pkt_type_to_enc_level
    - ossl_qtx_provide_secret
    - ossl_qtx_pop_net
    - ossl_qtx_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - TEST_uint64_t_lt
    - ossl_qtx_discard_enc_level
    - ossl_quic_provide_initial_secret
    linkageType: ''
    returnType: int
    signature: int tx_run_script(const struct tx_test_op *script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tx_run_script
      Src: /src/openssl/test/quic_record_test.c:3700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3698
    functionDepth: 2
    functionLinenumber: 3698
    functionLinenumberEnd: 3701
    functionName: test_tx_script
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - tx_run_script
    linkageType: ''
    returnType: int
    signature: int test_tx_script(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_record_test.c:3705,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_record_test.c:3705,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_record_test.c:3715,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_record_test.c:3716,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_record_test.c:3716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3718
      start: 3703
    functionDepth: 1
    functionLinenumber: 3703
    functionLinenumberEnd: 3718
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_record_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_client_test.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: is_want
    functionSourceFile: /src/openssl/test/quic_client_test.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int is_want(SSL *s, int ret)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: BIO_socket
      Src: /src/openssl/test/quic_client_test.c:49,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/quic_client_test.c:50,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:53,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_client_test.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_client_test.c:56,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quic_client_test.c:56,1
    - Dst: htonl
      Src: /src/openssl/test/quic_client_test.c:59,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:60,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quic_client_test.c:60,1
    - Dst: htons
      Src: /src/openssl/test/quic_client_test.c:61,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_client_test.c:67,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/quic_client_test.c:67,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/quic_client_test.c:71,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_client_test.c:74,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quic_client_test.c:74,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quic_client_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_client_test.c:77,1
    - Dst: SSL_new
      Src: /src/openssl/test/quic_client_test.c:77,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_client_test.c:81,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quic_client_test.c:81,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/quic_client_test.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:88,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/quic_client_test.c:88,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/quic_client_test.c:93,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:96,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/quic_client_test.c:96,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_client_test.c:99,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_client_test.c:102,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/quic_client_test.c:102,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_client_test.c:102,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_client_test.c:103,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_client_test.c:104,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quic_client_test.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:110,1
    - Dst: is_want
      Src: /src/openssl/test/quic_client_test.c:110,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_client_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_client_test.c:120,1
    - Dst: SSL_write
      Src: /src/openssl/test/quic_client_test.c:120,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:124,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/quic_client_test.c:124,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_client_test.c:131,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_client_test.c:134,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_client_test.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:137,1
    - Dst: is_want
      Src: /src/openssl/test/quic_client_test.c:137,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/quic_client_test.c:143,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quic_client_test.c:149,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/quic_client_test.c:158,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quic_client_test.c:159,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_client_test.c:164,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_client_test.c:165,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic_client_test.c:166,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_client_test.c:167,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_client_test.c:169,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 107
    argCount: 1
    argNames:
    - fd_arg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 31
    functionDepth: 6
    functionLinenumber: 31
    functionLinenumberEnd: 171
    functionName: test_quic_client_ex
    functionSourceFile: /src/openssl/test/quic_client_test.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_new
    - SSL_set_alpn_protos
    - ossl_ms2time
    - SSL_set0_rbio
    - SSL_set_blocking_mode
    - OSSL_sleep
    - SSL_CTX_new
    - BIO_ADDR_rawmake
    - TEST_ptr
    - SSL_read_ex
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_CTX_free
    - BIO_socket_nbio
    - TEST_info
    - ossl_time_now
    - OSSL_QUIC_client_method
    - TEST_true
    - TEST_error
    - BIO_closesocket
    - TEST_int_ne
    - SSL_free
    - SSL_handle_events
    - BIO_free
    - BIO_socket
    - SSL_new
    - ossl_time_subtract
    - SSL_stream_conclude
    - is_want
    - SSL_shutdown
    - htonl
    - BIO_dgram_set_peer
    - TEST_size_t_lt
    - BIO_up_ref
    - BIO_ADDR_free
    - TEST_false
    - TEST_int_eq
    - ossl_time_compare
    - SSL_connect
    - SSL_write
    - htons
    - BIO_new_dgram
    linkageType: ''
    returnType: int
    signature: int test_quic_client_ex(int fd_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_quic_client_ex
      Src: /src/openssl/test/quic_client_test.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 7
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: test_quic_client
    functionSourceFile: /src/openssl/test/quic_client_test.c
    functionUses: 0
    functionsReached:
    - test_quic_client_ex
    linkageType: ''
    returnType: int
    signature: int test_quic_client(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/openssl/test/quic_client_test.c:188,1
    - Dst: htonl
      Src: /src/openssl/test/quic_client_test.c:189,1
    - Dst: socket
      Src: /src/openssl/test/quic_client_test.c:191,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/quic_client_test.c:192,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_client_test.c:195,1
    - Dst: connect
      Src: /src/openssl/test/quic_client_test.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_client_test.c:198,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_client_test.c:198,1
    - Dst: test_quic_client_ex
      Src: /src/openssl/test/quic_client_test.c:201,1
    - Dst: close
      Src: /src/openssl/test/quic_client_test.c:203,1
    - Dst: close
      Src: /src/openssl/test/quic_client_test.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 178
    functionDepth: 7
    functionLinenumber: 178
    functionLinenumberEnd: 211
    functionName: test_quic_client_connect_first
    functionSourceFile: /src/openssl/test/quic_client_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_ne
    - socket
    - close
    - TEST_int_eq
    - BIO_socket_nbio
    - htons
    - TEST_true
    - test_quic_client_ex
    - connect
    - htonl
    linkageType: ''
    returnType: int
    signature: int test_quic_client_connect_first(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/quic_client_test.c:217,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_client_test.c:218,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_client_test.c:222,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_client_test.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_client_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:45,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:48,1
    - Dst: new_raw_public_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:48,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:52,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:52,1
    - Dst: do_encap
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:57,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:59,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 62
    functionName: test_dhkem_encapsulate
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - do_encap
    - TEST_note
    - EVP_PKEY_free
    - TEST_ptr
    - new_raw_public_key
    - new_raw_private_key
    linkageType: ''
    returnType: int
    signature: int test_dhkem_encapsulate(int tstid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:71,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:73,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:73,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:77,1
    - Dst: new_raw_public_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:77,1
    - Dst: do_decap
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:80,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:82,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: test_dhkem_decapsulate
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - EVP_PKEY_free
    - do_decap
    - TEST_ptr
    - new_raw_public_key
    - new_raw_private_key
    linkageType: ''
    returnType: int
    signature: int test_dhkem_decapsulate(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:94,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:94,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:95,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:95,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:96,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:96,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:98,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:99,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:99,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 12
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: test_settables
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - TEST_int_eq
    - EVP_PKEY_encapsulate_init
    - TEST_ptr
    - EVP_PKEY_CTX_settable_params
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_settables(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:109,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:110,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:111,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:111,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:112,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 12
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: test_init_multiple
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - TEST_int_eq
    - EVP_PKEY_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_init_multiple(int tstid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:126,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:128,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:132,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:133,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:134,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:135,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:135,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:139,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:141,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:143,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:144,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:145,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:145,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:146,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:146,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:150,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:152,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:154,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:155,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:155,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:156,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:156,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:161,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:162,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 165
    functionName: test_ec_dhkem_derivekey_fail
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - BN_free
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: int test_ec_dhkem_derivekey_fail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:174,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:174,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:175,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:175,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:176,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:176,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:177,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 12
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: test_no_operation_set
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - EVP_PKEY_encapsulate
    - EVP_PKEY_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_no_operation_set(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:193,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:196,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:198,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:200,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:200,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:201,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 12
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: test_ikm_small
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - TEST_int_eq
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int test_ikm_small(int tstid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:215,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:215,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:216,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:216,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:222,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:222,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:228,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:231,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:231,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:235,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:235,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:240,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:240,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 206
    functionDepth: 12
    functionLinenumber: 206
    functionLinenumberEnd: 243
    functionName: test_input_size_small
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - EVP_PKEY_encapsulate
    - EVP_PKEY_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_input_size_small(int tstid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:251,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:251,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:254,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:254,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 12
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: test_ec_auth_key_curve_mismatch
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_ec_auth_key_curve_mismatch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:265,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 12
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: test_auth_key_type_mismatch
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_auth_key_type_mismatch(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:281,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:283,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:283,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:284,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:284,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:285,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 269
    functionDepth: 12
    functionLinenumber: 269
    functionLinenumberEnd: 288
    functionName: test_ec_invalid_private_key
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate_init
    - TEST_ptr
    - new_raw_private_key
    linkageType: ''
    returnType: int
    signature: int test_ec_invalid_private_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:303,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:303,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:305,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:305,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:307,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:307,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:308,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:308,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:310,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:310,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:311,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:315,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:315,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:316,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:316,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:318,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 290
    functionDepth: 12
    functionLinenumber: 290
    functionLinenumberEnd: 321
    functionName: test_ec_public_key_infinity
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_ptr
    - new_raw_private_key
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_ec_public_key_infinity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:330,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:330,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:331,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:331,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:333,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:333,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:334,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:334,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:338,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:338,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:339,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 324
    functionDepth: 12
    functionLinenumber: 324
    functionLinenumberEnd: 341
    functionName: test_null_params
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - EVP_PKEY_auth_decapsulate_init
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_null_params(int tstid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:351,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:352,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:353,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:353,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:356,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:358,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:359,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:359,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:363,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:365,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:366,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:366,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:370,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:371,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:372,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:372,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:376,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:378,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:378,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:382,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:383,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:384,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 343
    functionDepth: 12
    functionLinenumber: 343
    functionLinenumberEnd: 387
    functionName: test_set_params
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - EVP_PKEY_encapsulate_init
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int test_set_params(int tstid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:403,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:404,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:404,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:407,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:407,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:411,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:411,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:414,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:414,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:418,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:418,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:418,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:422,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:423,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 393
    functionDepth: 12
    functionLinenumber: 393
    functionLinenumberEnd: 425
    functionName: test_nopublic
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - EVP_PKEY_decapsulate_init
    - TEST_note
    - TEST_int_eq
    - ERR_GET_REASON
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate_init
    - TEST_ptr
    - new_raw_private_key
    linkageType: ''
    returnType: int
    signature: int test_nopublic(int tstid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:438,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:439,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:439,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:444,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:444,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:448,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:448,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:453,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:453,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:453,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:458,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 428
    functionDepth: 12
    functionLinenumber: 428
    functionLinenumberEnd: 460
    functionName: test_noauthpublic
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - TEST_note
    - TEST_int_eq
    - ERR_GET_REASON
    - EVP_PKEY_free
    - EVP_PKEY_auth_decapsulate_init
    - TEST_ptr
    - new_raw_private_key
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_noauthpublic(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:478,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:480,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:482,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:484,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:484,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:485,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:485,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:486,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:486,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:487,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:487,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:488,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:488,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:491,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:491,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:493,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:493,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:494,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:495,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:496,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:498,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:499,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:500,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 465
    functionDepth: 7
    functionLinenumber: 465
    functionLinenumberEnd: 502
    functionName: test_ec_dhkem_derivekey
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_set_params
    - TEST_int_le
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_keygen_init
    - EVP_PKEY_get_octet_string_param
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - OSSL_PARAM_construct_end
    - BN_free
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - BN_bn2bin
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_ec_dhkem_derivekey(int tstid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:521,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:533,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:533,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:535,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:535,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:539,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:539,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:541,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:546,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:546,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:548,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:548,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:551,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:551,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:552,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:552,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:553,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:553,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:556,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:556,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:559,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:559,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:560,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:560,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:561,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:561,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:563,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:566,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:567,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:568,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 23
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 508
    functionDepth: 12
    functionLinenumber: 508
    functionLinenumberEnd: 570
    functionName: test_ec_noikme
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_decapsulate_init
    - TEST_note
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_NELEM
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_auth_decapsulate_init
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_ec_noikme(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:579,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:579,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:580,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:580,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:581,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:581,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:582,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:582,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:583,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 573
    functionDepth: 12
    functionLinenumber: 573
    functionLinenumberEnd: 586
    functionName: do_ec_curve_failtest
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_encapsulate_init
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int do_ec_curve_failtest(const char *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ec_curve_failtest
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 13
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: test_ec_curve_nonnist
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - do_ec_curve_failtest
    linkageType: ''
    returnType: int
    signature: int test_ec_curve_nonnist(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ec_curve_failtest
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 13
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: test_ec_curve_unsupported
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - do_ec_curve_failtest
    linkageType: ''
    returnType: int
    signature: int test_ec_curve_unsupported(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:610,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:613,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:613,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:617,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:617,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:624,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:624,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:626,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:626,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:630,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:630,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:632,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:632,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:638,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:638,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:638,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:642,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:643,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 599
    functionDepth: 12
    functionLinenumber: 599
    functionLinenumberEnd: 645
    functionName: test_ec_badpublic
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - EVP_PKEY_decapsulate_init
    - TEST_note
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - ERR_GET_REASON
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_ptr
    - new_raw_private_key
    linkageType: ''
    returnType: int
    signature: int test_ec_badpublic(int tstid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:660,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:663,1
    - Dst: new_raw_private_key
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:663,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:667,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:667,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:669,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:669,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:673,1
    - Dst: EVP_PKEY_auth_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:673,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:674,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:674,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:679,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:679,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:679,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 647
    functionDepth: 12
    functionLinenumber: 647
    functionLinenumberEnd: 685
    functionName: test_ec_badauth
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - TEST_note
    - EVP_PKEY_decapsulate
    - TEST_int_eq
    - ERR_GET_REASON
    - EVP_PKEY_free
    - EVP_PKEY_auth_decapsulate_init
    - EVP_PKEY_encapsulate
    - TEST_ptr
    - new_raw_private_key
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_ec_badauth(int tstid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:695,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:698,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:698,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:699,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 687
    functionDepth: 12
    functionLinenumber: 687
    functionLinenumberEnd: 701
    functionName: test_ec_invalid_decap_enc_buffer
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate
    - memcpy
    - EVP_PKEY_decapsulate_init
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_ec_invalid_decap_enc_buffer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:719,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:720,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:733,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:737,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:737,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:738,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:738,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:739,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:739,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:740,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:740,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:741,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:741,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:744,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:744,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:747,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:748,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:750,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 707
    functionDepth: 8
    functionLinenumber: 707
    functionLinenumberEnd: 753
    functionName: test_ecx_dhkem_derivekey
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_strcasecmp
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - memcpy
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_keygen_init
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: int test_ecx_dhkem_derivekey(int tstid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:761,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:761,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:764,1
    - Dst: EVP_PKEY_auth_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:764,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 756
    functionDepth: 12
    functionLinenumber: 756
    functionLinenumberEnd: 768
    functionName: test_ecx_auth_key_curve_mismatch
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    - EVP_PKEY_auth_encapsulate_init
    linkageType: ''
    returnType: int
    signature: int test_ecx_auth_key_curve_mismatch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:777,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:777,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:778,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:778,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:779,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:779,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:780,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:780,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:781,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 771
    functionDepth: 12
    functionLinenumber: 771
    functionLinenumberEnd: 784
    functionName: test_ed_curve_unsupported
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate_init
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_encapsulate_init
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_ed_curve_unsupported(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_get_libctx
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:793,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:795,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:797,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:800,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:800,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:804,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:804,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:808,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:809,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:813,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:814,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:819,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:819,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:820,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:820,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:822,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:823,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:825,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:826,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:827,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:828,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:829,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:830,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:831,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:833,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:836,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:837,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:839,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:840,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:841,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:842,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:843,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:844,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:845,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:847,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:851,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:851,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:852,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:853,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:854,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:855,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:856,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:857,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:858,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:859,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:860,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:861,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:862,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:866,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:866,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:867,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:868,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 787
    functionDepth: 9
    functionLinenumber: 787
    functionLinenumberEnd: 873
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - ADD_TEST
    - OSSL_NELEM
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_CTX_new_from_pkey
    - test_get_libctx
    - TEST_ptr
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:877,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:878,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:879,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:880,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:881,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:882,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_pkey_dhkem_test.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 875
    functionDepth: 5
    functionLinenumber: 875
    functionLinenumberEnd: 884
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_pkey_dhkem_test.c
    functionUses: 4
    functionsReached:
    - OSSL_PROVIDER_unload
    - EVP_PKEY_CTX_free
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/afalgtest.c:62,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/afalgtest.c:63,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/afalgtest.c:68,1
    - Dst: EVP_aes_192_cbc
      Src: /src/openssl/test/afalgtest.c:72,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/afalgtest.c:76,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/afalgtest.c:82,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/afalgtest.c:82,1
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:85,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/afalgtest.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:86,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/afalgtest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:87,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/afalgtest.c:87,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/afalgtest.c:91,1
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:94,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/test/afalgtest.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:95,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/afalgtest.c:95,1
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:96,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/afalgtest.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:97,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/afalgtest.c:97,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/afalgtest.c:101,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/afalgtest.c:102,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/afalgtest.c:108,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - keysize_idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 110
    functionName: test_afalg_aes_cbc
    functionSourceFile: /src/openssl/test/afalgtest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_aes_192_cbc
    - TEST_int_eq
    - EVP_aes_256_cbc
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_CTX_free
    - EVP_CipherFinal_ex
    - EVP_CipherInit_ex
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_cleanse
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_afalg_aes_cbc(int keysize_idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:118,1
    - Dst: ENGINE_init
      Src: /src/openssl/test/afalgtest.c:118,1
    - Dst: ENGINE_get_cipher
      Src: /src/openssl/test/afalgtest.c:120,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/afalgtest.c:121,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/afalgtest.c:123,1
    - Dst: TEST_true
      Src: /src/openssl/test/afalgtest.c:124,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/afalgtest.c:125,1
    - Dst: ENGINE_finish
      Src: /src/openssl/test/afalgtest.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 6
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: test_pr16743
    functionSourceFile: /src/openssl/test/afalgtest.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - ENGINE_init
    - ENGINE_finish
    - TEST_true
    - ENGINE_get_cipher
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_pr16743(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_load_builtin_engines
      Src: /src/openssl/test/afalgtest.c:132,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/test/afalgtest.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: global_init
    functionSourceFile: /src/openssl/test/afalgtest.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_crypto
    - ENGINE_load_builtin_engines
    linkageType: ''
    returnType: int
    signature: int global_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/openssl/test/afalgtest.c:143,1
    - Dst: TEST_info
      Src: /src/openssl/test/afalgtest.c:145,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/afalgtest.c:147,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/afalgtest.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 7
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/afalgtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - TEST_info
    - ADD_ALL_TESTS
    - ENGINE_by_id
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_free
      Src: /src/openssl/test/afalgtest.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/afalgtest.c
    functionUses: 4
    functionsReached:
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/http_test.c:48,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/test/http_test.c:52,1
    - Dst: TEST_true
      Src: /src/openssl/test/http_test.c:56,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/test/http_test.c:56,1
    - Dst: strncpy
      Src: /src/openssl/test/http_test.c:65,1
    - Dst: strchr
      Src: /src/openssl/test/http_test.c:71,1
    - Dst: strlen
      Src: /src/openssl/test/http_test.c:74,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/http_test.c:75,1
    - Dst: TEST_char_le
      Src: /src/openssl/test/http_test.c:79,1
    - Dst: TEST_char_le
      Src: /src/openssl/test/http_test.c:79,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/http_test.c:81,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/http_test.c:81,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/http_test.c:88,1
    - Dst: BIO_printf
      Src: /src/openssl/test/http_test.c:91,1
    - Dst: BIO_printf
      Src: /src/openssl/test/http_test.c:95,1
    - Dst: strcmp
      Src: /src/openssl/test/http_test.c:97,1
    - Dst: strcmp
      Src: /src/openssl/test/http_test.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/test/http_test.c:101,1
    - Dst: strcmp
      Src: /src/openssl/test/http_test.c:105,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:106,1
    - Dst: strlen
      Src: /src/openssl/test/http_test.c:110,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/test/http_test.c:111,1
    - Dst: BIO_printf
      Src: /src/openssl/test/http_test.c:113,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:117,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/test/http_test.c:118,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/test/http_test.c:120,1
    - Dst: strstr
      Src: /src/openssl/test/http_test.c:122,1
    - Dst: BIO_write
      Src: /src/openssl/test/http_test.c:128,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 57
    argCount: 8
    argNames:
    - in
    - out
    - version
    - keep_alive
    - content_type
    - txt
    - rsp
    - it
    argTypes:
    - BIO*
    - BIO*
    - char
    - int
    - char*
    - char*
    - ASN1_VALUE*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 130
    functionName: mock_http_server
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - strncpy
    - BIO_write
    - strchr
    - ASN1_item_i2d
    - ASN1_item_i2d_bio
    - strcmp
    - BIO_puts
    - strstr
    - CHECK_AND_SKIP_PREFIX
    - TEST_strn_eq
    - BIO_get_mem_data
    - TEST_char_le
    - TEST_true
    - HAS_PREFIX
    - strlen
    - BIO_printf
    - TEST_char_eq
    linkageType: ''
    returnType: int
    signature: "int mock_http_server(BIO *in, BIO *out, char version, int keep_alive,\n
      \                           const char *content_type, const char *txt,\n                            ASN1_VALUE
      *rsp, const ASN1_ITEM *it)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_callback_arg
      Src: /src/openssl/test/http_test.c:135,1
    - Dst: mock_http_server
      Src: /src/openssl/test/http_test.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 8
    argNames:
    - bio
    - oper
    - argp
    - len
    - cmd
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 6
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: http_bio_cb_ex
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - BIO_get_callback_arg
    - mock_http_server
    linkageType: ''
    returnType: long
    signature: "long http_bio_cb_ex(BIO *bio, int oper, const char *argp, size_t len,\n
      \                          int cmd, long argl, int ret, size_t *processed)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:152,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:152,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:153,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:153,1
    - Dst: STACK_OF
      Src: /src/openssl/test/http_test.c:157,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/http_test.c:162,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:166,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:166,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:168,1
    - Dst: BIO_puts
      Src: /src/openssl/test/http_test.c:169,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:170,1
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/openssl/test/http_test.c:176,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/test/http_test.c:184,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/test/http_test.c:185,1
    - Dst: OSSL_HTTP_get
      Src: /src/openssl/test/http_test.c:188,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/openssl/test/http_test.c:197,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:204,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:212,1
    - Dst: BIO_gets
      Src: /src/openssl/test/http_test.c:212,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:214,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:218,1
    - Dst: BIO_gets
      Src: /src/openssl/test/http_test.c:218,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:220,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/test/http_test.c:222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:224,1
    - Dst: X509_cmp
      Src: /src/openssl/test/http_test.c:224,1
    - Dst: X509_free
      Src: /src/openssl/test/http_test.c:225,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:227,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:231,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:232,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:233,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/test/http_test.c:234,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - do_get
    - do_txt
    - suggested_status
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 236
    functionName: test_http_method
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_callback_ex
    - X509_cmp
    - BIO_snprintf
    - X509_free
    - BIO_s_mem
    - TEST_ptr
    - d2i_X509_bio
    - BIO_new
    - sk_CONF_VALUE_pop_free
    - BIO_gets
    - BIO_puts
    - BIO_free
    - TEST_str_eq
    - ASN1_item_i2d_mem_bio
    - OSSL_HTTP_transfer
    - STACK_OF
    - BIO_set_callback_arg
    - TEST_int_eq
    - OSSL_HTTP_get
    linkageType: ''
    returnType: int
    signature: int test_http_method(int do_get, int do_txt, int suggested_status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:240,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:240,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:241,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:241,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/test/http_test.c:254,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/test/http_test.c:255,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/openssl/test/http_test.c:258,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:268,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:269,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/openssl/test/http_test.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:271,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:272,1
    - Dst: OSSL_HTTP_is_alive
      Src: /src/openssl/test/http_test.c:272,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:273,1
    - Dst: BIO_reset
      Src: /src/openssl/test/http_test.c:274,1
    - Dst: OSSL_HTTP_close
      Src: /src/openssl/test/http_test.c:277,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:280,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - version
    - keep_alive
    - kept_alive
    argTypes:
    - char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 238
    functionDepth: 7
    functionLinenumber: 238
    functionLinenumberEnd: 283
    functionName: test_http_keep_alive
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_callback_ex
    - TEST_ptr_null
    - OSSL_HTTP_close
    - OSSL_HTTP_is_alive
    - BIO_free
    - TEST_int_eq
    - OSSL_HTTP_transfer
    - BIO_s_mem
    - TEST_ptr
    - BIO_reset
    - BIO_set_callback_arg
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive(char version, int keep_alive, int kept_alive)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:292,1
    - Dst: sscanf
      Src: /src/openssl/test/http_test.c:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/http_test.c:294,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/test/http_test.c:294,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:296,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:297,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:298,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:299,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/http_test.c:300,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:302,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:304,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:306,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:310,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:312,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 5
    argNames:
    - url
    - exp_ssl
    - exp_host
    - exp_port
    - exp_path
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: test_http_url_ok
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - sscanf
    - OSSL_HTTP_parse_url
    linkageType: ''
    returnType: int
    signature: "int test_http_url_ok(const char *url, int exp_ssl, const char *exp_host,\n
      \                           const char *exp_port, const char *exp_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/http_test.c:321,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/test/http_test.c:321,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:323,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/http_test.c:324,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:325,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - url
    - exp_path_qu
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: test_http_url_path_query_ok
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - OPENSSL_free
    - OSSL_HTTP_parse_url
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_http_url_path_query_ok(const char *url, const char *exp_path_qu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: test_http_url_dns
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: int test_http_url_dns(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:337,1
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:339,1
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 4
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: test_http_url_timestamp
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: int test_http_url_timestamp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_path_query_ok
      Src: /src/openssl/test/http_test.c:347,1
    - Dst: test_http_url_path_query_ok
      Src: /src/openssl/test/http_test.c:348,1
    - Dst: test_http_url_path_query_ok
      Src: /src/openssl/test/http_test.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: test_http_url_path_query
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_path_query_ok
    linkageType: ''
    returnType: int
    signature: int test_http_url_path_query(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: test_http_url_userinfo_query_fragment
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: int test_http_url_userinfo_query_fragment(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: test_http_url_ipv4
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: int test_http_url_ipv4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_ok
      Src: /src/openssl/test/http_test.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: test_http_url_ipv6
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_ok
    linkageType: ''
    returnType: int
    signature: int test_http_url_ipv6(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/http_test.c:373,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/test/http_test.c:373,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:375,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:376,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:377,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:379,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/http_test.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: test_http_url_invalid
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - TEST_ptr_null
    - TEST_false
    - OSSL_HTTP_parse_url
    linkageType: ''
    returnType: int
    signature: int test_http_url_invalid(const char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_invalid
      Src: /src/openssl/test/http_test.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: test_http_url_invalid_prefix
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_invalid
    linkageType: ''
    returnType: int
    signature: int test_http_url_invalid_prefix(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_invalid
      Src: /src/openssl/test/http_test.c:393,1
    - Dst: test_http_url_invalid
      Src: /src/openssl/test/http_test.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: test_http_url_invalid_port
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_invalid
    linkageType: ''
    returnType: int
    signature: int test_http_url_invalid_port(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_url_invalid
      Src: /src/openssl/test/http_test.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 4
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: test_http_url_invalid_path
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_url_invalid
    linkageType: ''
    returnType: int
    signature: int test_http_url_invalid_path(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 8
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: test_http_get_txt
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_get_txt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 8
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: test_http_get_txt_redirected
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_get_txt_redirected(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 8
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: test_http_get_txt_fatal_status
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_get_txt_fatal_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 8
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: test_http_get_txt_error_status
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_get_txt_error_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 8
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: test_http_post_txt
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_post_txt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 8
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: test_http_get_x509
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_get_x509(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 8
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: test_http_get_x509_redirected
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_get_x509_redirected(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 8
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: test_http_post_x509
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_post_x509(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 8
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: test_http_post_x509_fatal_status
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_post_x509_fatal_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_method
      Src: /src/openssl/test/http_test.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 8
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: test_http_post_x509_error_status
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_method
    linkageType: ''
    returnType: int
    signature: int test_http_post_x509_error_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/openssl/test/http_test.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 8
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: test_http_keep_alive_0_no_no
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive_0_no_no(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/openssl/test/http_test.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 8
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: test_http_keep_alive_1_no_no
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive_1_no_no(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/openssl/test/http_test.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 8
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: test_http_keep_alive_0_prefer_yes
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive_0_prefer_yes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/openssl/test/http_test.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 8
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: test_http_keep_alive_1_prefer_yes
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive_1_prefer_yes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/openssl/test/http_test.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 8
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: test_http_keep_alive_0_require_yes
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive_0_require_yes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/openssl/test/http_test.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 8
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: test_http_keep_alive_1_require_yes
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive_1_require_yes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/openssl/test/http_test.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 8
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: test_http_keep_alive_0_require_no
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive_0_require_no(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_keep_alive
      Src: /src/openssl/test/http_test.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 8
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: test_http_keep_alive_1_require_no
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_keep_alive
    linkageType: ''
    returnType: int
    signature: int test_http_keep_alive_1_require_no(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:494,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:494,1
    - Dst: BIO_new
      Src: /src/openssl/test/http_test.c:495,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/http_test.c:495,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:501,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:501,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/test/http_test.c:509,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/test/http_test.c:510,1
    - Dst: OSSL_HTTP_REQ_CTX_new
      Src: /src/openssl/test/http_test.c:512,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/http_test.c:516,1
    - Dst: OSSL_HTTP_REQ_CTX_set_request_line
      Src: /src/openssl/test/http_test.c:516,1
    - Dst: OSSL_HTTP_REQ_CTX_set_max_response_hdr_lines
      Src: /src/openssl/test/http_test.c:520,1
    - Dst: OSSL_HTTP_REQ_CTX_exchange
      Src: /src/openssl/test/http_test.c:521,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/http_test.c:528,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:530,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:533,1
    - Dst: BIO_free
      Src: /src/openssl/test/http_test.c:534,1
    - Dst: OSSL_HTTP_REQ_CTX_free
      Src: /src/openssl/test/http_test.c:535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - limit
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 538
    functionName: test_http_resp_hdr_limit
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_callback_ex
    - TEST_ptr_null
    - BIO_free
    - OSSL_HTTP_REQ_CTX_free
    - OSSL_HTTP_REQ_CTX_set_request_line
    - OSSL_HTTP_REQ_CTX_exchange
    - BIO_s_mem
    - TEST_true
    - TEST_ptr
    - OSSL_HTTP_REQ_CTX_new
    - OSSL_HTTP_REQ_CTX_set_max_response_hdr_lines
    - BIO_set_callback_arg
    linkageType: ''
    returnType: int
    signature: int test_http_resp_hdr_limit(size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_resp_hdr_limit
      Src: /src/openssl/test/http_test.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 6
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: test_hdr_resp_hdr_limit_none
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_resp_hdr_limit
    linkageType: ''
    returnType: int
    signature: int test_hdr_resp_hdr_limit_none(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_resp_hdr_limit
      Src: /src/openssl/test/http_test.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 6
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: test_hdr_resp_hdr_limit_short
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_resp_hdr_limit
    linkageType: ''
    returnType: int
    signature: int test_hdr_resp_hdr_limit_short(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_http_resp_hdr_limit
      Src: /src/openssl/test/http_test.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 6
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: test_hdr_resp_hdr_limit_256
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - test_http_resp_hdr_limit
    linkageType: ''
    returnType: int
    signature: int test_hdr_resp_hdr_limit_256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/test/http_test.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 4
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/http_test.c:564,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/http_test.c:567,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/http_test.c:568,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/http_test.c:568,1
    - Dst: test_get_argument
      Src: /src/openssl/test/http_test.c:568,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:571,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:572,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:573,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:574,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:575,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:576,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:577,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:578,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:579,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:581,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:582,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:583,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:584,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:585,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:586,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:587,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:588,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:589,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:590,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:592,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:593,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:594,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:595,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:596,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:597,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:598,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:599,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:601,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:602,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/http_test.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 605
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/http_test.c
    functionUses: 0
    functionsReached:
    - load_cert_pem
    - ADD_TEST
    - ASN1_ITEM_rptr
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: stripcr
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stripcr(char *buf, size_t *len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/evp_pkey_provided_test.c:92,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/evp_pkey_provided_test.c:96,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/evp_pkey_provided_test.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:98,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:105,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/evp_pkey_provided_test.c:105,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:106,1
    - Dst: BIO_eof
      Src: /src/openssl/test/evp_pkey_provided_test.c:106,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/evp_pkey_provided_test.c:107,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_pkey_provided_test.c:110,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:111,1
    - Dst: stripcr
      Src: /src/openssl/test/evp_pkey_provided_test.c:116,1
    - Dst: stripcr
      Src: /src/openssl/test/evp_pkey_provided_test.c:117,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:125,1
    - Dst: BIO_reset
      Src: /src/openssl/test/evp_pkey_provided_test.c:126,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:127,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 3
    argNames:
    - alg
    - type
    - membio
    argTypes:
    - char*
    - int
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 129
    functionName: compare_with_file
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_read_ex
    - BIO_reset
    - BIO_free
    - BIO_eof
    - TEST_int_gt
    - BIO_snprintf
    - OPENSSL_free
    - BIO_get_mem_data
    - test_mk_file_path
    - stripcr
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - TEST_size_t_lt
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int compare_with_file(const char *alg, int type, BIO *membio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - u
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pass_cb
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pass_cb(char *buf, int size, int rwflag, void *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - u
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: pass_cb_error
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pass_cb_error(char *buf, int size, int rwflag, void *u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:143,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_pkey_provided_test.c:143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:146,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:150,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:150,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:154,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:154,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:155,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:158,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:158,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:161,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:161,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:162,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:164,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:164,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_pkey_provided_test.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:169,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:172,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:172,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:175,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:175,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:178,1
    - Dst: PEM_write_bio_PKCS8PrivateKey_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:178,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:183,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/test/evp_pkey_provided_test.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:184,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:184,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:186,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/test/evp_pkey_provided_test.c:186,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:187,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:187,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:189,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:191,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:191,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:193,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/evp_pkey_provided_test.c:193,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:195,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/test/evp_pkey_provided_test.c:195,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:201,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 12
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 203
    functionName: test_print_key_using_pem
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - PEM_write_bio_PKCS8PrivateKey
    - TEST_false
    - PEM_write_bio_PUBKEY
    - BIO_free
    - PEM_write_bio_PrivateKey
    - EVP_aes_256_cbc
    - EVP_PKEY_print_private
    - PEM_write_bio_PKCS8PrivateKey_nid
    - PEM_write_bio_PrivateKey_traditional
    - BIO_s_mem
    - compare_with_file
    - TEST_true
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_print_key_using_pem(const char *alg, const EVP_PKEY *pk)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:211,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_pkey_provided_test.c:211,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_pkey_provided_test.c:258,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:262,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_provided_test.c:266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:267,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:267,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_pkey_provided_test.c:272,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/test/evp_pkey_provided_test.c:272,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_provided_test.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:277,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/evp_pkey_provided_test.c:277,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:278,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:283,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/test/evp_pkey_provided_test.c:283,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_provided_test.c:289,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:290,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/test/evp_pkey_provided_test.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:291,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/evp_pkey_provided_test.c:291,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_provided_test.c:295,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:296,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/test/evp_pkey_provided_test.c:296,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:297,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/evp_pkey_provided_test.c:297,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_provided_test.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:302,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/test/evp_pkey_provided_test.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:303,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/evp_pkey_provided_test.c:303,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:304,1
    - Dst: compare_with_file
      Src: /src/openssl/test/evp_pkey_provided_test.c:304,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:309,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:310,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 3
    argNames:
    - alg
    - type
    - pk
    argTypes:
    - char*
    - int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 205
    functionDepth: 11
    functionLinenumber: 205
    functionLinenumberEnd: 312
    functionName: test_print_key_type_using_encoder
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_to_bio
    - BIO_new
    - TEST_note
    - TEST_int_ne
    - OSSL_ENCODER_CTX_get_num_encoders
    - BIO_free
    - OSSL_ENCODER_CTX_new_for_pkey
    - TEST_false
    - BIO_s_mem
    - OSSL_ENCODER_CTX_free
    - compare_with_file
    - TEST_true
    - TEST_ptr
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_set_passphrase
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int test_print_key_type_using_encoder(const char *alg, int type,\n
      \                                            const EVP_PKEY *pk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_print_key_type_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 12
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: test_print_key_using_encoder
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - test_print_key_type_using_encoder
    linkageType: ''
    returnType: int
    signature: int test_print_key_using_encoder(const char *alg, const EVP_PKEY *pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_print_key_type_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - alg
    - pk
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 12
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: test_print_key_using_encoder_public
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - test_print_key_type_using_encoder
    linkageType: ''
    returnType: int
    signature: "int test_print_key_using_encoder_public(const char *alg,\n                                               const
      EVP_PKEY *pk)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:371,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:372,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:373,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:374,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:375,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:376,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:377,1
    - Dst: OSSL_PARAM_ulong
      Src: /src/openssl/test/evp_pkey_provided_test.c:378,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:381,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:382,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:384,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:387,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:387,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:388,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:388,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:394,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:394,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:395,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:395,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:396,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:396,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:397,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:397,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:398,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:398,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:401,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:402,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:402,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:405,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:405,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:406,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:406,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:407,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:407,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:408,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:412,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:412,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:413,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:413,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:415,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:418,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:419,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:424,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:424,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:426,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:426,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:427,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:435,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_pkey_provided_test.c:435,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:436,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:436,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:438,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:441,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:442,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:443,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:444,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:445,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:446,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 349
    functionDepth: 13
    functionLinenumber: 349
    functionLinenumberEnd: 449
    functionName: test_fromdata_rsa
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - EVP_PKEY_get_size
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_pairwise_check
    - BN_set_word
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BN_new
    - TEST_true
    - BN_free
    - EVP_PKEY_fromdata_init
    - test_print_key_using_pem
    - EVP_PKEY_get_security_category
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_bits
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_private_check
    - EVP_PKEY_check
    - TEST_false
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - test_print_key_using_encoder
    - EVP_PKEY_public_check
    - OSSL_PARAM_ulong
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_fromdata_rsa(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:469,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:469,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:470,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:470,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:471,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:471,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:479,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_pkey_provided_test.c:479,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:483,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_provided_test.c:483,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:486,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:486,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:488,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_pkey_provided_test.c:489,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:492,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:497,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:497,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:498,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:498,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:499,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:499,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:500,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:500,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:501,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:501,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:504,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:505,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:505,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:508,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:508,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:509,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:509,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:510,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:510,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:511,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:511,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:515,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:515,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:516,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:516,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:518,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:524,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:524,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:526,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:526,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:527,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:530,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:535,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:536,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:537,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:538,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:539,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:540,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 61
    argCount: 5
    argNames:
    - fromdata_params
    - check
    - expected_nbits
    - expected_sbits
    - expected_ksize
    argTypes:
    - OSSL_PARAM*
    - struct check_data[]
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 456
    functionDepth: 9
    functionLinenumber: 456
    functionLinenumberEnd: 542
    functionName: do_fromdata_rsa_derive
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_free
    - EVP_PKEY_get_size
    - TEST_ptr
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_missing_parameters
    - OSSL_PARAM_locate_const
    - TEST_info
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BN_free
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_get_security_category
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_bits
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_todata
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_private_check
    - EVP_PKEY_check
    - TEST_false
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_public_check
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int do_fromdata_rsa_derive(OSSL_PARAM *fromdata_params,\n                                  struct
      check_data check[],\n                                  int expected_nbits, int
      expected_sbits,\n                                  int expected_ksize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:595,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:595,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:596,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:596,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:597,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:597,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:598,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:598,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:599,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:599,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:600,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:600,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:601,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:601,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:602,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:602,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:603,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:603,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:604,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:604,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:605,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:605,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:606,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:606,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:607,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:607,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:609,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:609,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:611,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/evp_pkey_provided_test.c:611,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:613,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:613,1
    - Dst: do_fromdata_rsa_derive
      Src: /src/openssl/test/evp_pkey_provided_test.c:625,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:628,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:629,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:630,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:631,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:632,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:633,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:634,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:635,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:636,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 544
    functionDepth: 10
    functionLinenumber: 544
    functionLinenumberEnd: 638
    functionName: test_fromdata_rsa_derive_from_pq_sp800
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - do_fromdata_rsa_derive
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_int
    - TEST_true
    - TEST_ptr
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int test_fromdata_rsa_derive_from_pq_sp800(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:777,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:777,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:778,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:778,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:779,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:779,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:780,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:781,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:781,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:782,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:782,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:783,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:783,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:784,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:784,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:785,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:785,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:786,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:786,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:787,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:787,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:788,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:788,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:789,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:789,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:790,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:790,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:791,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:791,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:792,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:792,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:794,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:794,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:796,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:796,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:798,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/evp_pkey_provided_test.c:798,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:800,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:800,1
    - Dst: do_fromdata_rsa_derive
      Src: /src/openssl/test/evp_pkey_provided_test.c:828,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:831,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:832,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:833,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:834,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:835,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:836,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:837,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:838,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:839,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:840,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:841,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:842,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 640
    functionDepth: 10
    functionLinenumber: 640
    functionLinenumberEnd: 844
    functionName: test_fromdata_rsa_derive_from_pq_multiprime
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - do_fromdata_rsa_derive
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_int
    - TEST_true
    - TEST_ptr
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int test_fromdata_rsa_derive_from_pq_multiprime(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/evp_pkey_provided_test.c:867,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:869,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:869,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:870,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:870,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:871,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:872,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:872,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:873,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:873,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:874,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:874,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:875,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:876,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:876,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:877,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:877,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:878,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:878,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:879,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:879,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:881,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:881,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:882,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:882,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:883,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:887,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:888,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:889,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:890,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:891,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:892,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:893,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:894,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:895,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 846
    functionDepth: 6
    functionLinenumber: 846
    functionLinenumberEnd: 897
    functionName: test_evp_pkey_get_bn_param_large
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - OSSL_PARAM_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_BLD_new
    - memset
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_evp_pkey_get_bn_param_large(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:953,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:953,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:954,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:954,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:955,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:955,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:956,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:956,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:959,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/openssl/test/evp_pkey_provided_test.c:959,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:961,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:961,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:962,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:962,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:963,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:963,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:966,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:966,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:969,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:969,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:970,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:970,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:979,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:979,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:983,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:985,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:985,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:990,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:992,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:992,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:998,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:998,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1007,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1007,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1008,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1008,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1009,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:1009,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1010,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:1010,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1011,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1011,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1014,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1014,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1019,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1020,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1020,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1023,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1024,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1024,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1026,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1027,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1027,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1028,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1029,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1029,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1030,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1031,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1031,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1032,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1033,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1033,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:1036,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1037,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1037,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1042,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1042,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1044,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1045,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1045,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1047,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1048,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1048,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1051,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1053,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1055,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1057,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1059,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1061,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1063,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1066,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1066,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1069,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1069,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1070,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1070,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1071,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1071,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1072,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1072,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1074,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1077,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1077,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1078,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1078,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1080,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:1083,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:1084,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1089,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1089,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1091,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1091,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1092,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1098,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1099,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1100,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1101,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1102,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1103,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1104,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1105,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1106,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1107,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1108,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1109,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1110,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1111,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 901
    functionDepth: 13
    functionLinenumber: 901
    functionLinenumberEnd: 1114
    functionName: test_fromdata_dh_named_group
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - OSSL_PARAM_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_get_size
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_pairwise_check
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - test_print_key_using_pem
    - EVP_PKEY_get_security_category
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_bits
    - TEST_str_eq
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_security_bits
    - TEST_size_t_eq
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_private_check
    - TEST_ptr_null
    - EVP_PKEY_check
    - TEST_false
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - test_print_key_using_encoder
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_public_check
    - EVP_PKEY_get_int_param
    - OSSL_PARAM_BLD_push_long
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_fromdata_dh_named_group(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1169,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1170,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1170,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1171,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1171,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1172,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1172,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1175,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/openssl/test/evp_pkey_provided_test.c:1175,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1177,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1177,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1178,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1179,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1179,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1182,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1182,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1185,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1185,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1186,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:1186,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1192,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1192,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1193,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1193,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1194,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:1194,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1195,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:1195,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1196,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1196,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1199,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1199,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1204,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1205,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1205,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1207,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1208,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1208,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1210,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1211,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1211,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1212,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1213,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1214,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1215,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1215,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1216,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1217,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1217,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:1220,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1221,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1221,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1226,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1226,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1229,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1230,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1230,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1232,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1233,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1233,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1236,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1238,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1240,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1242,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1244,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1246,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1248,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1251,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1251,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1254,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1254,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1255,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1255,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1256,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1256,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1257,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1257,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1259,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:1262,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:1263,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1268,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1268,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1270,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1270,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1271,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1277,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1278,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1279,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1280,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1281,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1282,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1283,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1284,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1285,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1286,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1287,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1288,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1289,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1116
    functionDepth: 13
    functionLinenumber: 1116
    functionLinenumberEnd: 1292
    functionName: test_fromdata_dh_fips186_4
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - OSSL_PARAM_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_get_size
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_pairwise_check
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - test_print_key_using_pem
    - EVP_PKEY_get_security_category
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_bits
    - TEST_str_eq
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_security_bits
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_private_check
    - TEST_ptr_null
    - EVP_PKEY_check
    - TEST_false
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - test_print_key_using_encoder
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_public_check
    - EVP_PKEY_get_int_param
    - OSSL_PARAM_BLD_push_long
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_fromdata_dh_fips186_4(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1407,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1410,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1416,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1419,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1425,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1428,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1434,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1437,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1482,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1483,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1497,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1497,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1498,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:1498,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1504,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1504,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1505,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1505,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1506,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:1506,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1507,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:1507,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1508,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1508,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1511,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1511,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1514,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1514,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1516,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1516,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1519,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1522,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1522,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1525,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1531,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1531,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:1532,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1532,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:1533,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1533,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1536,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1539,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1539,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1541,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1543,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1543,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:1545,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:1545,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1547,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1549,1
    - Dst: test_print_key_using_encoder_public
      Src: /src/openssl/test/evp_pkey_provided_test.c:1553,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:1555,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:1556,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1561,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1561,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1563,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1563,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1564,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1571,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1572,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1573,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1574,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 104
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1316
    functionDepth: 13
    functionLinenumber: 1316
    functionLinenumberEnd: 1577
    functionName: test_fromdata_ecx
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - EVP_PKEY_get_size
    - TEST_ptr
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - test_print_key_using_encoder_public
    - EVP_PKEY_fromdata_init
    - test_print_key_using_pem
    - EVP_PKEY_get_security_category
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_bits
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_security_bits
    - OSSL_PARAM_octet_string
    - EVP_PKEY_private_check
    - EVP_PKEY_check
    - TEST_false
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - test_print_key_using_encoder
    - EVP_PKEY_public_check
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_fromdata_ecx(int tst)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1635,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1635,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1637,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1637,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1641,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1652,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1656,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1658,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1658,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1660,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1661,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1666,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1668,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1668,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1669,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:1669,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:1671,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1674,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1674,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1675,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:1675,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1681,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1681,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1682,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:1682,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1683,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:1683,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1684,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:1684,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:1685,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1688,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1688,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1689,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:1689,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1691,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1694,1
    - Dst: EVP_PKEY_gettable_params
      Src: /src/openssl/test/evp_pkey_provided_test.c:1694,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1695,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_provided_test.c:1695,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1697,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_provided_test.c:1697,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1699,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_pkey_provided_test.c:1699,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1703,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1703,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:1703,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1704,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1704,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1705,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1705,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1706,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1706,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1707,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/evp_pkey_provided_test.c:1707,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1710,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1710,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1711,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1711,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1712,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1712,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1715,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1715,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1716,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1719,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1721,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1723,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1725,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1728,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1732,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1733,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1742,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1743,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1746,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1746,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1748,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1750,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:1753,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:1754,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1759,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1759,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1761,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:1761,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1762,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1769,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1770,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1771,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1772,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1773,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1774,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1775,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1776,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1777,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1778,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1779,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1780,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1781,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1782,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1580
    functionDepth: 13
    functionLinenumber: 1580
    functionLinenumberEnd: 1784
    functionName: test_fromdata_ec
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - OSSL_PARAM_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_get_size
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - EC_GROUP_new_by_curve_name
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_get_octet_string_param
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_missing_parameters
    - OSSL_PARAM_locate_const
    - EVP_PKEY_free
    - EC_GROUP_free
    - EVP_PKEY_CTX_free
    - BN_new
    - TEST_true
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - test_print_key_using_pem
    - OBJ_sn2nid
    - EVP_PKEY_get_security_category
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_bits
    - TEST_str_eq
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_gettable_params
    - OSSL_PARAM_BLD_new
    - TEST_ptr_null
    - TEST_false
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - test_print_key_using_encoder
    - EVP_PKEY_get_utf8_string_param
    - TEST_mem_eq
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: int test_fromdata_ec(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1792,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_pkey_provided_test.c:1792,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1793,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1793,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1794,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:1794,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1796,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_pkey_provided_test.c:1796,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1797,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1800,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1803,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1803,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1804,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1804,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1805,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1805,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1806,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_pkey_provided_test.c:1806,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1810,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1811,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1812,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1813,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1814,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1786
    functionDepth: 8
    functionLinenumber: 1786
    functionLinenumberEnd: 1816
    functionName: test_ec_dup_no_operation
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_paramgen
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_ec_dup_no_operation(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1825,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_pkey_provided_test.c:1825,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1826,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1826,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1827,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/test/evp_pkey_provided_test.c:1827,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1829,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_pkey_provided_test.c:1829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1830,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1833,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1836,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:1836,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:1837,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:1837,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:1838,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:1838,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1842,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1843,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1844,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1845,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:1846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1819
    functionDepth: 8
    functionLinenumber: 1819
    functionLinenumberEnd: 1848
    functionName: test_ec_dup_keygen_operation
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_dup
    - TEST_ptr_null
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_new_id
    - TEST_ptr
    - EVP_PKEY_paramgen
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_ec_dup_keygen_operation(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1971,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:1971,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1972,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1972,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1973,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1973,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1974,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1974,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1975,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1975,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1976,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_pkey_provided_test.c:1976,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1978,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1978,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1979,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1979,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1980,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1980,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1981,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:1981,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1985,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/evp_pkey_provided_test.c:1985,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1987,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/evp_pkey_provided_test.c:1987,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1990,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1990,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:1992,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_pkey_provided_test.c:1992,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1994,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:1994,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:1997,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:1997,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2000,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:2000,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2001,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_pkey_provided_test.c:2001,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2007,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:2007,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2008,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/test/evp_pkey_provided_test.c:2008,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2009,1
    - Dst: EVP_PKEY_get_security_category
      Src: /src/openssl/test/evp_pkey_provided_test.c:2009,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2010,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_pkey_provided_test.c:2010,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:2011,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:2011,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:2014,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2014,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2019,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2019,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2021,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2022,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2022,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2024,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2025,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2025,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2027,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2028,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2028,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2030,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2031,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2031,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2033,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_pkey_provided_test.c:2034,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2034,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_pkey_provided_test.c:2037,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2038,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2038,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2043,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2043,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2046,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2047,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2047,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2049,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2050,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/evp_pkey_provided_test.c:2050,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2053,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2055,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2057,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2059,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2061,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2063,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2065,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2068,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_pkey_provided_test.c:2068,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2071,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2071,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2072,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2072,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2073,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2073,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2074,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2074,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2076,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2079,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_pkey_provided_test.c:2079,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_pkey_provided_test.c:2080,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/evp_pkey_provided_test.c:2080,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2082,1
    - Dst: test_print_key_using_pem
      Src: /src/openssl/test/evp_pkey_provided_test.c:2085,1
    - Dst: test_print_key_using_encoder
      Src: /src/openssl/test/evp_pkey_provided_test.c:2086,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2091,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:2091,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2093,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2093,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2094,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2101,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2102,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2103,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2104,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2105,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2106,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2107,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2108,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2109,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2110,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2111,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2112,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2113,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2114,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2115,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2116,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2117,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 1853
    functionDepth: 13
    functionLinenumber: 1853
    functionLinenumberEnd: 2120
    functionName: test_fromdata_dsa_fips186_4
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - OSSL_PARAM_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_get_size
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_copy_parameters
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_missing_parameters
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_push_int
    - TEST_true
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - test_print_key_using_pem
    - EVP_PKEY_get_security_category
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_fromdata
    - EVP_PKEY_get_bits
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_get_security_bits
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_private_check
    - TEST_ptr_null
    - EVP_PKEY_check
    - TEST_false
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - test_print_key_using_encoder
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_public_check
    - EVP_PKEY_get_int_param
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_fromdata_dsa_fips186_4(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2127,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:2127,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:2128,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2128,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:2129,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2129,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:2130,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2130,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_provided_test.c:2131,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/evp_pkey_provided_test.c:2131,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2122
    functionDepth: 9
    functionLinenumber: 2122
    functionLinenumberEnd: 2139
    functionName: test_check_dsa
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_private_check
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_check
    - TEST_int_le
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_check_dsa(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/evp_pkey_provided_test.c:2146,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2149,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2150,1
    - Dst: strlen
      Src: /src/openssl/test/evp_pkey_provided_test.c:2151,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2152,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_pkey_provided_test.c:2154,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_pkey_provided_test.c:2156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - digest
    - key
    - keylen
    - salt
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2143
    functionDepth: 2
    functionLinenumber: 2143
    functionLinenumberEnd: 2159
    functionName: do_construct_hkdf_params
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc_array
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *do_construct_hkdf_params(char *digest, char *key,\n                                            size_t
      keylen, char *salt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2168,1
    - Dst: do_construct_hkdf_params
      Src: /src/openssl/test/evp_pkey_provided_test.c:2168,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2171,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:2171,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2173,1
    - Dst: EVP_PKEY_derive_init_ex
      Src: /src/openssl/test/evp_pkey_provided_test.c:2173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2175,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:2175,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2177,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_pkey_provided_test.c:2177,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2178,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2179,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_pkey_provided_test.c:2179,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_pkey_provided_test.c:2180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2184,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2185,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2186,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2161
    functionDepth: 6
    functionLinenumber: 2161
    functionLinenumberEnd: 2188
    functionName: test_evp_pkey_ctx_dup_kdf
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_derive
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - do_construct_hkdf_params
    - EVP_PKEY_derive_init_ex
    - TEST_size_t_eq
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_evp_pkey_ctx_dup_kdf(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_pkey_provided_test.c:2211,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_pkey_provided_test.c:2213,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2217,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2218,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2220,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_pkey_provided_test.c:2220,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2221,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_pkey_provided_test.c:2221,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_provided_test.c:2222,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_pkey_provided_test.c:2222,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/evp_pkey_provided_test.c:2223,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2230,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2231,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_provided_test.c:2232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2203
    functionDepth: 8
    functionLinenumber: 2203
    functionLinenumberEnd: 2235
    functionName: test_name_dup
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_CTX_new_from_name
    - TEST_info
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - ERR_print_errors
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_name_dup(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/evp_pkey_provided_test.c:2239,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_pkey_provided_test.c:2240,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_provided_test.c:2244,1
    - Dst: test_get_argument
      Src: /src/openssl/test/evp_pkey_provided_test.c:2244,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2247,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_provided_test.c:2248,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_provided_test.c:2248,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2249,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2250,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2251,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2252,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2254,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2255,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2258,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2259,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_provided_test.c:2263,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2265,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2266,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_pkey_provided_test.c:2267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2237
    functionDepth: 1
    functionLinenumber: 2237
    functionLinenumberEnd: 2270
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_pkey_provided_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - OSSL_NELEM
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:52,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:52,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:59,1
    - Dst: qtest_supports_blocking
      Src: /src/openssl/test/quicapitest.c:65,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quicapitest.c:66,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:70,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:77,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/quicapitest.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:80,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/quicapitest.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:83,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:87,1
    - Dst: BIO_get_fd
      Src: /src/openssl/test/quicapitest.c:87,1
    - Dst: ossl_quic_tserver_get0_rbio
      Src: /src/openssl/test/quicapitest.c:87,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:90,1
    - Dst: SSL_get_rfd
      Src: /src/openssl/test/quicapitest.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:98,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:98,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:99,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:103,1
    - Dst: wait_until_sock_readable
      Src: /src/openssl/test/quicapitest.c:103,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:108,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:108,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:114,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quicapitest.c:120,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:122,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:123,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:123,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:127,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:128,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:131,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:131,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:132,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:132,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:134,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:134,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:136,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:147,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:147,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:148,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:149,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/quicapitest.c:149,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:150,1
    - Dst: SSL_pending
      Src: /src/openssl/test/quicapitest.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:151,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:151,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:158,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/quicapitest.c:158,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:165,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/quicapitest.c:165,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/quicapitest.c:168,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:173,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/quicapitest.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:177,1
    - Dst: qtest_shutdown
      Src: /src/openssl/test/quicapitest.c:177,1
    - Dst: ossl_quic_tserver_get0_ssl_ctx
      Src: /src/openssl/test/quicapitest.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:182,1
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/test/quicapitest.c:182,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:187,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:189,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:199,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:200,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:201,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:202,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:203,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 101
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 206
    functionName: test_quic_write_read
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - strlen
    - SSL_read_ex
    - SSL_get_error
    - SSL_write_ex
    - SSL_CTX_free
    - SSL_CTX_up_ref
    - ossl_quic_tserver_write
    - SSL_set_tlsext_host_name
    - SSL_pending
    - TEST_true
    - OSSL_QUIC_client_method
    - SSL_session_reused
    - qtest_supports_blocking
    - BIO_closesocket
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_handle_events
    - SSL_SESSION_free
    - ossl_quic_tserver_tick
    - TEST_skip
    - wait_until_sock_readable
    - SSL_get_rfd
    - qtest_create_quic_connection
    - TEST_size_t_eq
    - qtest_create_quic_objects
    - ossl_quic_tserver_free
    - ossl_quic_tserver_read
    - SSL_export_keying_material
    - qtest_shutdown
    - ossl_quic_tserver_get0_ssl_ctx
    - TEST_false
    - TEST_int_eq
    - BIO_get_fd
    - SSL_get1_session
    - SSL_has_pending
    - ossl_quic_tserver_get0_rbio
    - TEST_mem_eq
    - SSL_set_session
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_quic_write_read(int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:214,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:214,1
    - Dst: qtest_supports_blocking
      Src: /src/openssl/test/quicapitest.c:225,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quicapitest.c:226,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:229,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:234,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/quicapitest.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:237,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:240,1
    - Dst: ossl_quic_tserver_stream_new
      Src: /src/openssl/test/quicapitest.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:241,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:241,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:243,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:244,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:244,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:249,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:249,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:250,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:255,1
    - Dst: ossl_quic_tserver_conclude
      Src: /src/openssl/test/quicapitest.c:255,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quicapitest.c:258,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:259,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:259,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/quicapitest.c:261,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quicapitest.c:261,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:263,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:263,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quicapitest.c:268,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/quicapitest.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:271,1
    - Dst: qtest_shutdown
      Src: /src/openssl/test/quicapitest.c:271,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:277,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:278,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:279,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:280,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 283
    functionName: test_fin_only_blocking
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - strlen
    - TEST_uint64_t_le
    - SSL_read_ex
    - SSL_get_error
    - SSL_CTX_free
    - ossl_quic_tserver_write
    - SSL_set_tlsext_host_name
    - ossl_time_now
    - TEST_true
    - OSSL_QUIC_client_method
    - ossl_quic_tserver_stream_new
    - qtest_supports_blocking
    - SSL_CTX_new_ex
    - SSL_free
    - ossl_quic_tserver_tick
    - TEST_skip
    - ossl_time_subtract
    - qtest_create_quic_connection
    - ossl_time2ms
    - TEST_size_t_eq
    - qtest_create_quic_objects
    - ossl_quic_tserver_free
    - ossl_quic_tserver_conclude
    - qtest_shutdown
    - TEST_false
    - TEST_int_eq
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_fin_only_blocking(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:288,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:288,1
    - Dst: defined
      Src: /src/openssl/test/quicapitest.c:296,1
    - Dst: defined
      Src: /src/openssl/test/quicapitest.c:296,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:311,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/quicapitest.c:311,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:318,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/quicapitest.c:318,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/test/quicapitest.c:321,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quicapitest.c:323,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/quicapitest.c:326,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:327,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quicapitest.c:329,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/quicapitest.c:329,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:334,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/quicapitest.c:334,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:339,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:340,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 343
    functionName: test_ciphersuites
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - SSL_CIPHER_get_id
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_CTX_set_cipher_list
    - sk_SSL_CIPHER_value
    - TEST_int_eq
    - SSL_set_cipher_list
    - SSL_new
    - OSSL_NELEM
    - sk_SSL_CIPHER_num
    - defined
    - TEST_true
    - SSL_get_ciphers
    - TEST_ptr
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_ciphersuites(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:347,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:347,1
    - Dst: defined
      Src: /src/openssl/test/quicapitest.c:358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:366,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:369,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:370,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quicapitest.c:373,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:375,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/quicapitest.c:375,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:379,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/quicapitest.c:379,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:386,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 390
    functionName: test_cipher_find
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - TEST_ptr_null
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_CIPHER_find
    - SSL_new
    - OSSL_NELEM
    - defined
    - OSSL_QUIC_client_method
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_cipher_find(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:400,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:400,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:406,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:409,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:409,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:412,1
    - Dst: SSL_version
      Src: /src/openssl/test/quicapitest.c:412,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/quicapitest.c:413,1
    - Dst: SSL_get_version
      Src: /src/openssl/test/quicapitest.c:413,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:416,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/quicapitest.c:416,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:417,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/quicapitest.c:417,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:418,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/quicapitest.c:418,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:424,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:425,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:426,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 429
    functionName: test_version
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - SSL_is_dtls
    - SSL_CTX_new_ex
    - SSL_free
    - TEST_str_eq
    - TEST_false
    - SSL_version
    - TEST_int_eq
    - SSL_is_quic
    - SSL_get_version
    - TEST_ptr
    - qtest_create_quic_connection
    - TEST_true
    - ossl_quic_tserver_free
    - qtest_create_quic_objects
    - SSL_is_tls
    linkageType: ''
    returnType: int
    signature: int test_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: strip_line_ends
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void strip_line_ends(char *str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:452,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:454,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:456,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quicapitest.c:459,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:460,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quicapitest.c:463,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:464,1
    - Dst: BIO_gets
      Src: /src/openssl/test/quicapitest.c:467,1
    - Dst: BIO_puts
      Src: /src/openssl/test/quicapitest.c:468,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:469,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quicapitest.c:473,1
    - Dst: BIO_seek
      Src: /src/openssl/test/quicapitest.c:473,1
    - Dst: BIO_gets
      Src: /src/openssl/test/quicapitest.c:476,1
    - Dst: BIO_gets
      Src: /src/openssl/test/quicapitest.c:479,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:480,1
    - Dst: strip_line_ends
      Src: /src/openssl/test/quicapitest.c:483,1
    - Dst: strip_line_ends
      Src: /src/openssl/test/quicapitest.c:484,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:485,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:488,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:491,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:492,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:493,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:494,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/quicapitest.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:505,1
    - Dst: BIO_eof
      Src: /src/openssl/test/quicapitest.c:505,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:506,1
    - Dst: BIO_eof
      Src: /src/openssl/test/quicapitest.c:506,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:511,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:512,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:513,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 1
    argNames:
    - membio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 515
    functionName: compare_with_file
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 2
    functionsReached:
    - BIO_new_file
    - BIO_seek
    - BIO_gets
    - BIO_puts
    - TEST_str_eq
    - TEST_int_ge
    - BIO_free
    - TEST_info
    - BIO_eof
    - OPENSSL_free
    - test_mk_file_path
    - strip_line_ends
    - TEST_true
    - TEST_ptr
    - strlen
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int compare_with_file(BIO *membio)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:529,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:529,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:530,1
    - Dst: BIO_new
      Src: /src/openssl/test/quicapitest.c:530,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/quicapitest.c:530,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:531,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/quicapitest.c:531,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:532,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:532,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/quicapitest.c:539,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/quicapitest.c:540,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:542,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:542,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:548,1
    - Dst: BIO_pending
      Src: /src/openssl/test/quicapitest.c:548,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:551,1
    - Dst: compare_with_file
      Src: /src/openssl/test/quicapitest.c:551,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:557,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:558,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:559,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 563
    functionName: test_ssl_trace
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - BIO_pending
    - ossl_quic_tserver_free
    - TEST_true
    - SSL_free
    - BIO_free
    - SSL_set_msg_callback
    - BIO_s_mem
    - SSL_set_msg_callback_arg
    - qtest_create_quic_connection
    - compare_with_file
    - OSSL_QUIC_client_method
    - qtest_create_quic_objects
    - TEST_ptr
    - SSL_CTX_set_ciphersuites
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_ssl_trace(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/test/quicapitest.c:599,1
    - Dst: strstr
      Src: /src/openssl/test/quicapitest.c:602,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:606,1
    - Dst: strstr
      Src: /src/openssl/test/quicapitest.c:607,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:609,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:612,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/quicapitest.c:612,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:615,1
    - Dst: strstr
      Src: /src/openssl/test/quicapitest.c:619,1
    - Dst: strcmp
      Src: /src/openssl/test/quicapitest.c:621,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:623,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:630,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - membio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 632
    functionName: find_new_token_data
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - strstr
    - BIO_gets
    - TEST_info
    - OPENSSL_free
    - OPENSSL_strdup
    - strcmp
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int find_new_token_data(BIO *membio)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:646,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:646,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:646,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:647,1
    - Dst: BIO_new
      Src: /src/openssl/test/quicapitest.c:647,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/quicapitest.c:647,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:648,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:648,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/quicapitest.c:656,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/quicapitest.c:657,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:659,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:659,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:663,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:670,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:672,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:672,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/quicapitest.c:679,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/quicapitest.c:680,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:683,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:683,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:687,1
    - Dst: find_new_token_data
      Src: /src/openssl/test/quicapitest.c:687,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:692,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:693,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:694,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:695,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:696,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:697,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 634
    functionDepth: 5
    functionLinenumber: 634
    functionLinenumberEnd: 700
    functionName: test_new_token
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_CTX_new_ex
    - ossl_quic_tserver_free
    - SSL_free
    - TEST_true
    - BIO_free
    - ossl_quic_tserver_tick
    - find_new_token_data
    - SSL_set_msg_callback
    - BIO_s_mem
    - SSL_set_msg_callback_arg
    - qtest_create_quic_connection
    - OSSL_QUIC_client_method
    - qtest_create_quic_objects
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_new_token(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/quicapitest.c:708,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/quicapitest.c:709,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/quicapitest.c:711,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:717,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/quicapitest.c:717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ciphers
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 723
    functionName: ensure_valid_ciphers
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CIPHER_get_id
    - sk_SSL_CIPHER_value
    - sk_SSL_CIPHER_num
    - SSL_CIPHER_get_name
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int ensure_valid_ciphers(const STACK_OF(SSL_CIPHER) *ciphers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:733,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:733,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:733,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:738,1
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/openssl/test/quicapitest.c:738,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:758,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/quicapitest.c:758,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 773
    functionName: test_quic_forbidden_apis_ctx
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - TEST_ptr
    - TEST_true
    - SSL_CTX_set_tlsext_use_srtp
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int test_quic_forbidden_apis_ctx(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/quicapitest.c:780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:782,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:782,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:782,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:785,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:785,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:790,1
    - Dst: SSL_set_tlsext_use_srtp
      Src: /src/openssl/test/quicapitest.c:790,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:795,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/quicapitest.c:795,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:801,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/openssl/test/quicapitest.c:801,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:802,1
    - Dst: ensure_valid_ciphers
      Src: /src/openssl/test/quicapitest.c:802,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/quicapitest.c:807,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:808,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:809,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 811
    functionName: test_quic_forbidden_apis
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_ciphersuites
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_free
    - TEST_true
    - SSL_set_tlsext_use_srtp
    - STACK_OF
    - SSL_new
    - SSL_get1_supported_ciphers
    - sk_SSL_CIPHER_free
    - ensure_valid_ciphers
    - OSSL_QUIC_client_method
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_quic_forbidden_apis(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:821,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:821,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:821,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/quicapitest.c:825,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:827,1
    - Dst: SSL_CTX_get_options
      Src: /src/openssl/test/quicapitest.c:827,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/quicapitest.c:831,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/quicapitest.c:832,1
    - Dst: SSL_CTX_set_recv_max_early_data
      Src: /src/openssl/test/quicapitest.c:833,1
    - Dst: SSL_CTX_set_quiet_shutdown
      Src: /src/openssl/test/quicapitest.c:834,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:836,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:836,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:840,1
    - Dst: SSL_get_options
      Src: /src/openssl/test/quicapitest.c:840,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/quicapitest.c:844,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:846,1
    - Dst: SSL_get_options
      Src: /src/openssl/test/quicapitest.c:846,1
    - Dst: SSL_clear_options
      Src: /src/openssl/test/quicapitest.c:850,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:852,1
    - Dst: SSL_get_options
      Src: /src/openssl/test/quicapitest.c:852,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:856,1
    - Dst: SSL_get_read_ahead
      Src: /src/openssl/test/quicapitest.c:856,1
    - Dst: SSL_set_read_ahead
      Src: /src/openssl/test/quicapitest.c:859,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:860,1
    - Dst: SSL_get_read_ahead
      Src: /src/openssl/test/quicapitest.c:860,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:864,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/quicapitest.c:864,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:865,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/quicapitest.c:865,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:866,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/quicapitest.c:866,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:870,1
    - Dst: SSL_set_tlsext_max_fragment_length
      Src: /src/openssl/test/quicapitest.c:870,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:871,1
    - Dst: SSL_set_tlsext_max_fragment_length
      Src: /src/openssl/test/quicapitest.c:871,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:875,1
    - Dst: SSL_set_recv_max_early_data
      Src: /src/openssl/test/quicapitest.c:875,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:876,1
    - Dst: SSL_set_max_early_data
      Src: /src/openssl/test/quicapitest.c:876,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:880,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/quicapitest.c:880,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:881,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/quicapitest.c:881,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:885,1
    - Dst: SSL_alloc_buffers
      Src: /src/openssl/test/quicapitest.c:885,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:886,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/quicapitest.c:886,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:890,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/quicapitest.c:890,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:891,1
    - Dst: SSL_set_split_send_fragment
      Src: /src/openssl/test/quicapitest.c:891,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:892,1
    - Dst: SSL_set_max_pipelines
      Src: /src/openssl/test/quicapitest.c:892,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:896,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/quicapitest.c:896,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:900,1
    - Dst: SSL_get_quiet_shutdown
      Src: /src/openssl/test/quicapitest.c:900,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:904,1
    - Dst: SSL_dup
      Src: /src/openssl/test/quicapitest.c:904,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:908,1
    - Dst: SSL_clear
      Src: /src/openssl/test/quicapitest.c:908,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:913,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:914,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 916
    functionName: test_quic_forbidden_options
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_options
    - SSL_get_options
    - SSL_set_recv_max_early_data
    - TEST_ptr
    - SSL_CTX_set_max_early_data
    - SSL_set_block_padding
    - SSL_CTX_set_quiet_shutdown
    - SSL_CTX_free
    - SSL_CTX_set_options
    - SSL_set_max_pipelines
    - SSL_CTX_set_read_ahead
    - SSL_set_split_send_fragment
    - SSL_CTX_set_recv_max_early_data
    - OSSL_QUIC_client_method
    - TEST_true
    - TEST_uint64_t_eq
    - SSL_set_read_ahead
    - SSL_get_quiet_shutdown
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_write_early_data
    - SSL_set_max_send_fragment
    - SSL_free_buffers
    - SSL_new
    - SSL_set_tlsext_max_fragment_length
    - SSL_read_early_data
    - SSL_stateless
    - SSL_get_read_ahead
    - SSL_alloc_buffers
    - TEST_ptr_null
    - TEST_false
    - SSL_dup
    - SSL_set_max_early_data
    - SSL_clear
    - SSL_clear_options
    - SSL_set_options
    linkageType: ''
    returnType: int
    signature: int test_quic_forbidden_options(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:926,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:926,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:926,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:929,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:929,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quicapitest.c:932,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quicapitest.c:932,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:936,1
    - Dst: SSL_set_fd
      Src: /src/openssl/test/quicapitest.c:936,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:938,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/quicapitest.c:938,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:940,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/quicapitest.c:940,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:943,1
    - Dst: SSL_set_rfd
      Src: /src/openssl/test/quicapitest.c:943,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:945,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/quicapitest.c:945,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:947,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/quicapitest.c:947,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:950,1
    - Dst: SSL_set_wfd
      Src: /src/openssl/test/quicapitest.c:950,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:952,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/quicapitest.c:952,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:954,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/quicapitest.c:954,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:958,1
    - Dst: BIO_method_type
      Src: /src/openssl/test/quicapitest.c:958,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:961,1
    - Dst: BIO_get_fd
      Src: /src/openssl/test/quicapitest.c:961,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:962,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:967,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:968,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quicapitest.c:970,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 56
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 972
    functionName: test_quic_set_fd
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_method_type
    - SSL_set_rfd
    - TEST_ptr
    - SSL_CTX_free
    - SSL_get_rbio
    - TEST_true
    - OSSL_QUIC_client_method
    - SSL_set_wfd
    - BIO_closesocket
    - SSL_CTX_new_ex
    - SSL_free
    - BIO_socket
    - SSL_new
    - TEST_ptr_null
    - TEST_int_ge
    - TEST_int_eq
    - BIO_get_fd
    - SSL_get_wbio
    - TEST_ptr_eq
    - SSL_set_fd
    linkageType: ''
    returnType: int
    signature: int test_quic_set_fd(int idx)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:984,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:984,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:995,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/test/quicapitest.c:998,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:999,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1006,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/test/quicapitest.c:1006,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1009,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1009,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1014,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/quicapitest.c:1019,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/quicapitest.c:1021,1
    - Dst: BIO_retry_type
      Src: /src/openssl/test/quicapitest.c:1022,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1029,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/quicapitest.c:1030,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1035,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1036,1
    - Dst: ossl_quic_tserver_is_term_any
      Src: /src/openssl/test/quicapitest.c:1037,1
    - Dst: ossl_quic_tserver_is_handshake_confirmed
      Src: /src/openssl/test/quicapitest.c:1039,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1046,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1056,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:1056,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:1058,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1061,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:1061,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1064,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1066,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/quicapitest.c:1066,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:1067,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1073,1
    - Dst: SSL_set_mode
      Src: /src/openssl/test/quicapitest.c:1073,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quicapitest.c:1083,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1084,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1087,1
    - Dst: SSL_set_mode
      Src: /src/openssl/test/quicapitest.c:1087,1
    - Dst: BIO_new
      Src: /src/openssl/test/quicapitest.c:1090,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/quicapitest.c:1090,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1091,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1094,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/quicapitest.c:1094,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1098,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/quicapitest.c:1098,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1101,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/quicapitest.c:1106,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/quicapitest.c:1107,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1108,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1109,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1110,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 976
    functionDepth: 5
    functionLinenumber: 976
    functionLinenumberEnd: 1113
    functionName: test_bio_ssl
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_set_ssl
    - ossl_quic_tserver_is_handshake_confirmed
    - SSL_set_mode
    - TEST_openssl_errors
    - TEST_ptr
    - strlen
    - qtest_add_time
    - BIO_should_retry
    - BIO_new
    - SSL_CTX_free
    - BIO_write_ex
    - BIO_retry_type
    - ossl_quic_tserver_write
    - TEST_info
    - BIO_free_all
    - BIO_get_ssl
    - BIO_new_ssl
    - TEST_true
    - OSSL_QUIC_client_method
    - BIO_f_ssl
    - SSL_CTX_new_ex
    - SSL_free
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_free
    - qtest_create_quic_objects
    - ossl_quic_tserver_read
    - ossl_quic_tserver_is_term_any
    - TEST_int_eq
    - BIO_read_ex
    - TEST_mem_eq
    - SSL_new_stream
    linkageType: ''
    returnType: int
    signature: int test_bio_ssl(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1122,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1132,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1133,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1133,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1136,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1136,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quicapitest.c:1139,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1140,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1142,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/quicapitest.c:1142,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1151,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1153,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:1155,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1160,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1161,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:1161,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:1167,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1173,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1174,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:1176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1120
    functionDepth: 7
    functionLinenumber: 1120
    functionLinenumberEnd: 1179
    functionName: test_back_pressure
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_get_error
    - SSL_write_ex
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_free
    - ossl_quic_tserver_read
    - ossl_quic_tserver_tick
    - TEST_int_eq
    - OPENSSL_free
    - TEST_ptr
    - qtest_create_quic_connection
    - TEST_true
    - ossl_quic_tserver_free
    - qtest_create_quic_objects
    - RAND_bytes_ex
    - OPENSSL_malloc
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_back_pressure(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - msglen
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1194
    functionName: dgram_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dgram_cb(int write_p, int version, int content_type,\n                     const
      void *buf, size_t msglen, SSL *ssl, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1199,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1199,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quicapitest.c:1207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1209,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1210,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1211,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1211,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1214,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1214,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/quicapitest.c:1218,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1219,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1219,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:1227,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1228,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1229,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1233
    functionName: test_multiple_dgrams
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - OPENSSL_zalloc
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_CTX_new_ex
    - SSL_free
    - ossl_quic_tserver_free
    - TEST_int_eq
    - OPENSSL_free
    - SSL_set_msg_callback
    - TEST_size_t_eq
    - qtest_create_quic_connection
    - TEST_true
    - qtest_create_quic_objects
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_multiple_dgrams(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/test/quicapitest.c:1237,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/openssl/test/quicapitest.c:1243,1
    - Dst: SSL_set_retry_verify
      Src: /src/openssl/test/quicapitest.c:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1252
    functionName: non_io_retry_cert_verify_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - X509_STORE_CTX_get_ex_data
    - SSL_set_retry_verify
    linkageType: ''
    returnType: int
    signature: int non_io_retry_cert_verify_cb(X509_STORE_CTX *ctx, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qtest_supports_blocking
      Src: /src/openssl/test/quicapitest.c:1266,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quicapitest.c:1267,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1269,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1270,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/quicapitest.c:1273,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1276,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1276,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1279,1
    - Dst: qtest_create_quic_connection_ex
      Src: /src/openssl/test/quicapitest.c:1279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1281,1
    - Dst: SSL_want
      Src: /src/openssl/test/quicapitest.c:1281,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1285,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1285,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1290,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1291,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1295
    functionName: test_non_io_retry
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - qtest_supports_blocking
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_CTX_set_cert_verify_callback
    - SSL_free
    - TEST_true
    - ossl_quic_tserver_free
    - TEST_skip
    - TEST_int_eq
    - SSL_want
    - qtest_create_quic_connection_ex
    - qtest_create_quic_connection
    - OSSL_QUIC_client_method
    - qtest_create_quic_objects
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_non_io_retry(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/quicapitest.c:1307,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ssl
    - md
    - id
    - idlen
    - sess
    argTypes:
    - SSL*
    - EVP_MD*
    - unsigned char**
    - size_t*
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1315
    functionName: use_session_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_SESSION_up_ref
    linkageType: ''
    returnType: int
    signature: "int use_session_cb(SSL *ssl, const EVP_MD *md, const unsigned char
      **id,\n                          size_t *idlen, SSL_SESSION **sess)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/quicapitest.c:1322,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1326,1
    - Dst: strncmp
      Src: /src/openssl/test/quicapitest.c:1327,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:1328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ssl
    - identity
    - identity_len
    - sess
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1335
    functionName: find_session_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int find_session_cb(SSL *ssl, const unsigned char *identity,\n                           size_t
      identity_len, SSL_SESSION **sess)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1339,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1344,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1346,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1346,1
    - Dst: SSL_set_psk_use_session_callback
      Src: /src/openssl/test/quicapitest.c:1351,1
    - Dst: ossl_quic_tserver_set_psk_find_session_cb
      Src: /src/openssl/test/quicapitest.c:1352,1
    - Dst: create_a_psk
      Src: /src/openssl/test/quicapitest.c:1356,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1358,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1358,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/quicapitest.c:1358,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1361,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1361,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1362,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1363,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1365,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/quicapitest.c:1365,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1371,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1372,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1373,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:1374,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:1375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1379
    functionName: test_quic_psk
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - create_a_psk
    - SSL_CTX_new_ex
    - SSL_SESSION_up_ref
    - SSL_free
    - SSL_SESSION_free
    - SSL_set_psk_use_session_callback
    - TEST_int_eq
    - TEST_ptr
    - qtest_create_quic_connection
    - TEST_true
    - ossl_quic_tserver_free
    - qtest_create_quic_objects
    - ossl_quic_tserver_set_psk_find_session_cb
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_quic_psk(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1383,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1383,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1384,1
    - Dst: TLS_method
      Src: /src/openssl/test/quicapitest.c:1384,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1393,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1393,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/quicapitest.c:1396,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1399,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/openssl/test/quicapitest.c:1399,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1403,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/quicapitest.c:1403,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1404,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/quicapitest.c:1404,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1408,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1408,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1414,1
    - Dst: ssl_ctx_add_large_cert_chain
      Src: /src/openssl/test/quicapitest.c:1414,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1415,1
    - Dst: ssl_ctx_add_large_cert_chain
      Src: /src/openssl/test/quicapitest.c:1415,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:1420,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1420,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1428,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1428,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1432,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1432,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1433,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1436,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1437,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:1437,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1442,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:1443,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1445,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:1445,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1446,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:1447,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1450,1
    - Dst: qtest_shutdown
      Src: /src/openssl/test/quicapitest.c:1450,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1456,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1457,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1458,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1459,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 53
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1462
    functionName: test_client_auth
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_verify
    - TEST_ptr
    - strlen
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_write_ex
    - ossl_quic_tserver_write
    - TEST_true
    - OSSL_QUIC_client_method
    - SSL_CTX_use_PrivateKey_file
    - ssl_ctx_add_large_cert_chain
    - TLS_method
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - qtest_create_quic_connection
    - SSL_CTX_load_verify_file
    - TEST_size_t_eq
    - qtest_create_quic_objects
    - ossl_quic_tserver_free
    - qtest_shutdown
    - SSL_CTX_use_certificate_chain_file
    - TEST_false
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_client_auth(int idx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1471,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1471,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1481,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/quicapitest.c:1481,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1484,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1485,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1485,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:1497,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quicapitest.c:1497,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:1501,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:1502,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1506,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1506,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1510,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1510,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1511,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1511,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1517,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1518,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1519,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1522
    functionName: test_alpn
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_get_error
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - ossl_quic_tserver_free
    - SSL_free
    - SSL_set_alpn_protos
    - TEST_false
    - TEST_int_le
    - TEST_int_eq
    - SSL_connect
    - qtest_create_quic_connection
    - TEST_true
    - qtest_create_quic_objects
    - TEST_ptr
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int test_alpn(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1529,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1534,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1535,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1535,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1540,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1540,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1543,1
    - Dst: SSL_get_shutdown
      Src: /src/openssl/test/quicapitest.c:1543,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1546,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quicapitest.c:1546,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1549,1
    - Dst: SSL_get_shutdown
      Src: /src/openssl/test/quicapitest.c:1549,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1553,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1554,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quicapitest.c:1555,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1557,1
    - Dst: SSL_get_shutdown
      Src: /src/openssl/test/quicapitest.c:1557,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1563,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1564,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1565,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1568
    functionName: test_get_shutdown
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - ossl_quic_tserver_free
    - SSL_free
    - SSL_get_shutdown
    - ossl_quic_tserver_tick
    - TEST_int_eq
    - TEST_ptr
    - qtest_create_quic_connection
    - TEST_true
    - SSL_shutdown
    - qtest_create_quic_objects
    - qtest_add_time
    linkageType: ''
    returnType: int
    signature: int test_get_shutdown(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:1585,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quicapitest.c:1586,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:1590,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1592,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1592,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1595,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1596,1
    - Dst: qtest_wait_for_timeout
      Src: /src/openssl/test/quicapitest.c:1597,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:1600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - clientquic
    - stream
    - buf
    - buflen
    - readbytes
    - qtserv
    argTypes:
    - SSL*
    - SSL**
    - void*
    - size_t
    - size_t*
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1602
    functionName: unreliable_client_read
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - SSL_accept_stream
    - SSL_get_error
    - qtest_wait_for_timeout
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - TEST_int_eq
    - qtest_add_time
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int unreliable_client_read(SSL *clientquic, SSL **stream, void *buf,\n
      \                                 size_t buflen, size_t *readbytes,\n                                  QUIC_TSERVER
      *qtserv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:1613,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1616,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:1617,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1618,1
    - Dst: qtest_wait_for_timeout
      Src: /src/openssl/test/quicapitest.c:1619,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:1622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - qtserv
    - sid
    - buf
    - buflen
    - readbytes
    - clientquic
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    - void*
    - size_t
    - size_t*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1624
    functionName: unreliable_server_read
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - qtest_wait_for_timeout
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - ossl_quic_tserver_read
    - qtest_add_time
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int unreliable_server_read(QUIC_TSERVER *qtserv, uint64_t sid,\n                                  void
      *buf, size_t buflen, size_t *readbytes,\n                                  SSL
      *clientquic)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1636,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1636,1
    - Dst: strlen
      Src: /src/openssl/test/quicapitest.c:1642,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1650,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1651,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1651,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1657,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1657,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1660,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quicapitest.c:1660,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1663,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/quicapitest.c:1663,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1668,1
    - Dst: ossl_quic_tserver_stream_new
      Src: /src/openssl/test/quicapitest.c:1668,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1670,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1671,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1679,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quicapitest.c:1679,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1682,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1684,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1685,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1692,1
    - Dst: unreliable_client_read
      Src: /src/openssl/test/quicapitest.c:1692,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:1695,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1701,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1701,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:1703,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1706,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1707,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1714,1
    - Dst: unreliable_server_read
      Src: /src/openssl/test/quicapitest.c:1714,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:1716,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1723,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1724,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1725,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1726,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1727,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicapitest.c:1728,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1634
    functionDepth: 2
    functionLinenumber: 1634
    functionLinenumberEnd: 1731
    functionName: test_noisy_dgram
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - qtest_fault_free
    - TEST_ptr
    - strlen
    - qtest_add_time
    - SSL_CTX_free
    - SSL_write_ex
    - ossl_quic_tserver_write
    - unreliable_server_read
    - OSSL_QUIC_client_method
    - TEST_true
    - ossl_quic_tserver_stream_new
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_set_incoming_stream_policy
    - ossl_quic_tserver_tick
    - qtest_create_quic_connection
    - ossl_quic_tserver_free
    - TEST_size_t_eq
    - qtest_create_quic_objects
    - SSL_set_default_stream_mode
    - unreliable_client_read
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_noisy_dgram(int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:1742,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:1742,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1754,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1755,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:1755,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1761,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quicapitest.c:1761,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:1762,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quicapitest.c:1762,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1766,1
    - Dst: qtest_fault_set_bw_limit
      Src: /src/openssl/test/quicapitest.c:1766,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:1769,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:1769,1
    - Dst: qtest_start_stopwatch
      Src: /src/openssl/test/quicapitest.c:1772,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/quicapitest.c:1775,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:1778,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1782,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:1783,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:1783,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1787,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:1790,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quicapitest.c:1793,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1799,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1801,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quicapitest.c:1803,1
    - Dst: qtest_get_stopwatch_time
      Src: /src/openssl/test/quicapitest.c:1805,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:1807,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quicapitest.c:1810,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:1815,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:1816,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:1817,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:1818,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:1819,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicapitest.c:1820,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1823
    functionName: test_bw_limit
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - qtest_fault_free
    - OPENSSL_free
    - TEST_ptr
    - qtest_add_time
    - OPENSSL_zalloc
    - SSL_get_error
    - SSL_write_ex
    - SSL_CTX_free
    - TEST_info
    - OSSL_QUIC_client_method
    - TEST_true
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - qtest_create_quic_connection
    - qtest_start_stopwatch
    - qtest_fault_set_bw_limit
    - ossl_quic_tserver_free
    - qtest_create_quic_objects
    - TEST_uint64_t_lt
    - ossl_quic_tserver_read
    - qtest_get_stopwatch_time
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_bw_limit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1837
    functionName: TPARAM_CHECK_DUP
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_DUP(name, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1839
    functionName: TPARAM_CHECK_DROP
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_DROP(name, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - buf_len
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1842
    functionName: TPARAM_CHECK_INJECT
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_INJECT(name, buf, buf_len, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1844
    functionName: TPARAM_CHECK_INJECT_A
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_INJECT_A(name, buf, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - buf_len
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1847
    functionName: TPARAM_CHECK_DROP_INJECT
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_DROP_INJECT(name, buf, buf_len, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1849
    functionName: TPARAM_CHECK_DROP_INJECT_A
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_DROP_INJECT_A(name, buf, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - buf_len
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1852
    functionName: TPARAM_CHECK_INJECT_TWICE
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_INJECT_TWICE(name, buf, buf_len, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1854
    functionName: TPARAM_CHECK_INJECT_TWICE_A
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_INJECT_TWICE_A(name, buf, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - buf_len
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1857
    functionName: TPARAM_CHECK_INJECT_RAW
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_INJECT_RAW(buf, buf_len, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: TPARAM_CHECK_INJECT_RAW_A
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_INJECT_RAW_A(buf, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1861
    functionName: TPARAM_CHECK_MUTATE
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_MUTATE(name, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1865
    functionName: TPARAM_CHECK_INT
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPARAM_CHECK_INT(name, reason)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2104,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2104,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2112,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2122,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2132,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2132,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quicapitest.c:2140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2146,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2146,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - ctx
    - id
    - data
    - data_len
    - wpkt
    argTypes:
    - struct tparam_ctx*
    - uint64_t
    - unsigned char*
    - size_t
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2095
    functionDepth: 1
    functionLinenumber: 2095
    functionLinenumberEnd: 2158
    functionName: tparam_handle
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_size_t_gt
    - ossl_quic_wire_encode_transport_param_bytes
    linkageType: ''
    returnType: int
    signature: "int tparam_handle(struct tparam_ctx *ctx,\n                         uint64_t
      id, unsigned char *data,\n                         size_t data_len,\n                         WPACKET
      *wpkt)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2173,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quicapitest.c:2173,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2180,1
    - Dst: qtest_fault_delete_extension
      Src: /src/openssl/test/quicapitest.c:2180,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2185,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quicapitest.c:2185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2186,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quicapitest.c:2186,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2187,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/quicapitest.c:2187,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2200,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/test/quicapitest.c:2200,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2202,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/test/quicapitest.c:2202,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quicapitest.c:2205,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2206,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2209,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quicapitest.c:2210,1
    - Dst: PACKET_data
      Src: /src/openssl/test/quicapitest.c:2210,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quicapitest.c:2210,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2214,1
    - Dst: tparam_handle
      Src: /src/openssl/test/quicapitest.c:2214,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2220,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2220,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2226,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quicapitest.c:2226,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2231,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/quicapitest.c:2231,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2235,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/quicapitest.c:2235,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2238,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quicapitest.c:2238,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quicapitest.c:2241,1
    - Dst: qtest_fault_resize_message
      Src: /src/openssl/test/quicapitest.c:2249,1
    - Dst: memcpy
      Src: /src/openssl/test/quicapitest.c:2252,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quicapitest.c:2263,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quicapitest.c:2264,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quicapitest.c:2265,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 63
    argCount: 4
    argNames:
    - qtf
    - ee
    - ee_len
    - arg
    argTypes:
    - QTEST_FAULT*
    - QTEST_ENCRYPTED_EXTENSIONS*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2160
    functionDepth: 5
    functionLinenumber: 2160
    functionLinenumberEnd: 2267
    functionName: tparam_on_enc_ext
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    - WPACKET_put_bytes_u16
    - memcpy
    - PACKET_data
    - TEST_ptr
    - WPACKET_init
    - PACKET_buf_init
    - qtest_fault_resize_message
    - WPACKET_close
    - ossl_quic_wire_encode_transport_param_bytes
    - TEST_true
    - BUF_MEM_new
    - WPACKET_memcpy
    - WPACKET_cleanup
    - ossl_quic_wire_decode_transport_param_bytes
    - WPACKET_start_sub_packet_u16
    - WPACKET_finish
    - WPACKET_get_total_written
    - PACKET_remaining
    - tparam_handle
    - TEST_mem_eq
    - qtest_fault_delete_extension
    linkageType: ''
    returnType: int
    signature: "int tparam_on_enc_ext(QTEST_FAULT *qtf, QTEST_ENCRYPTED_EXTENSIONS
      *ee,\n                             size_t ee_len, void *arg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2280,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2280,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2280,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2283,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:2283,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2288,1
    - Dst: qtest_fault_set_hand_enc_ext_listener
      Src: /src/openssl/test/quicapitest.c:2288,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2292,1
    - Dst: qtest_create_quic_connection_ex
      Src: /src/openssl/test/quicapitest.c:2292,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2299,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/quicapitest.c:2299,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2302,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:2303,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2304,1
    - Dst: strstr
      Src: /src/openssl/test/quicapitest.c:2304,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:2305,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:2318,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:2322,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:2326,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2327,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2328,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quicapitest.c:2329,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2269
    functionDepth: 1
    functionLinenumber: 2269
    functionLinenumberEnd: 2331
    functionName: test_tparam
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - strstr
    - SSL_free
    - TEST_uint64_t_eq
    - qtest_fault_free
    - qtest_fault_set_hand_enc_ext_listener
    - TEST_info
    - TEST_ptr
    - qtest_create_quic_connection_ex
    - TEST_error
    - TEST_true
    - ossl_quic_tserver_free
    - qtest_create_quic_objects
    - SSL_get_conn_close_info
    linkageType: ''
    returnType: int
    signature: int test_tparam(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/quicapitest.c:2348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2336
    functionDepth: 1
    functionLinenumber: 2336
    functionLinenumberEnd: 2350
    functionName: new_session_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_free
    linkageType: ''
    returnType: int
    signature: int new_session_cb(SSL *ssl, SSL_SESSION *sess)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2355,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2360,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/quicapitest.c:2365,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/quicapitest.c:2366,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2368,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:2368,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2375,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:2375,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2379,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2379,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2382,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quicapitest.c:2382,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2389,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2390,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:2396,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2397,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2398,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2353
    functionDepth: 1
    functionLinenumber: 2353
    functionLinenumberEnd: 2401
    functionName: test_session_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - ossl_quic_tserver_free
    - SSL_handle_events
    - SSL_CTX_set_session_cache_mode
    - TEST_true
    - SSL_free
    - TEST_int_eq
    - qtest_create_quic_connection
    - OSSL_QUIC_client_method
    - qtest_create_quic_objects
    - TEST_ptr
    - SSL_shutdown
    - TEST_ptr_eq
    - SSL_CTX_sess_set_new_cb
    linkageType: ''
    returnType: int
    signature: int test_session_cb(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2410,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2410,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2410,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2411,1
    - Dst: SSL_CTX_get_domain_flags
      Src: /src/openssl/test/quicapitest.c:2411,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quicapitest.c:2412,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quicapitest.c:2413,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quicapitest.c:2415,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2416,1
    - Dst: SSL_CTX_set_domain_flags
      Src: /src/openssl/test/quicapitest.c:2416,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2417,1
    - Dst: SSL_CTX_get_domain_flags
      Src: /src/openssl/test/quicapitest.c:2417,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:2418,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2419,1
    - Dst: SSL_new_domain
      Src: /src/openssl/test/quicapitest.c:2419,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2420,1
    - Dst: SSL_get_domain_flags
      Src: /src/openssl/test/quicapitest.c:2420,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:2421,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2422,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:2422,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2423,1
    - Dst: SSL_get_domain_flags
      Src: /src/openssl/test/quicapitest.c:2423,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quicapitest.c:2424,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2425,1
    - Dst: SSL_is_domain
      Src: /src/openssl/test/quicapitest.c:2425,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2426,1
    - Dst: SSL_is_domain
      Src: /src/openssl/test/quicapitest.c:2426,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2427,1
    - Dst: SSL_get0_domain
      Src: /src/openssl/test/quicapitest.c:2427,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:2428,1
    - Dst: SSL_get0_domain
      Src: /src/openssl/test/quicapitest.c:2428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2429,1
    - Dst: SSL_new_listener_from
      Src: /src/openssl/test/quicapitest.c:2429,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2430,1
    - Dst: SSL_is_listener
      Src: /src/openssl/test/quicapitest.c:2430,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2431,1
    - Dst: SSL_is_domain
      Src: /src/openssl/test/quicapitest.c:2431,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2432,1
    - Dst: SSL_get0_domain
      Src: /src/openssl/test/quicapitest.c:2432,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2433,1
    - Dst: SSL_get0_listener
      Src: /src/openssl/test/quicapitest.c:2433,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2438,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2439,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2440,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2441,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2403
    functionDepth: 1
    functionLinenumber: 2403
    functionLinenumberEnd: 2443
    functionName: test_domain_flags
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_is_listener
    - SSL_is_domain
    - TEST_ptr
    - SSL_CTX_free
    - SSL_CTX_get_domain_flags
    - OSSL_QUIC_client_method
    - TEST_uint64_t_eq
    - TEST_true
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_CTX_set_domain_flags
    - SSL_new
    - SSL_new_domain
    - SSL_get_domain_flags
    - TEST_ptr_null
    - SSL_new_listener_from
    - SSL_get0_listener
    - SSL_get0_domain
    - TEST_false
    - TEST_ptr_eq
    - TEST_uint64_t_ne
    linkageType: ''
    returnType: int
    signature: int test_domain_flags(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2450,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2450,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2457,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2458,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quicapitest.c:2458,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2464,1
    - Dst: SSL_in_before
      Src: /src/openssl/test/quicapitest.c:2464,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2467,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2467,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2470,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/test/quicapitest.c:2470,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2471,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2474,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/quicapitest.c:2474,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2475,1
    - Dst: SSL_pending
      Src: /src/openssl/test/quicapitest.c:2475,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2478,1
    - Dst: SSL_in_before
      Src: /src/openssl/test/quicapitest.c:2478,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2481,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quicapitest.c:2481,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2484,1
    - Dst: SSL_in_before
      Src: /src/openssl/test/quicapitest.c:2484,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2489,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2490,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quicapitest.c:2491,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2448
    functionDepth: 1
    functionLinenumber: 2448
    functionLinenumberEnd: 2493
    functionName: test_early_ticks
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_QUIC_client_method
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_handle_events
    - TEST_false
    - TEST_int_eq
    - SSL_in_before
    - SSL_pending
    - TEST_ptr
    - qtest_create_quic_connection
    - SSL_has_pending
    - TEST_true
    - ossl_quic_tserver_free
    - qtest_create_quic_objects
    - SSL_get_event_timeout
    linkageType: ''
    returnType: int
    signature: int test_early_ticks(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/quicapitest.c:2501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2495
    functionDepth: 1
    functionLinenumber: 2495
    functionLinenumberEnd: 2505
    functionName: select_alpn
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int select_alpn(SSL *ssl, const unsigned char **out,\n                       unsigned
      char *out_len, const unsigned char *in,\n                       unsigned int
      in_len, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2511,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2511,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quicapitest.c:2511,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2507
    functionDepth: 1
    functionLinenumber: 2507
    functionLinenumberEnd: 2517
    functionName: create_client_ctx
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - OSSL_QUIC_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_client_ctx(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2523,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2523,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/quicapitest.c:2523,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2524,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/quicapitest.c:2524,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2525,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/quicapitest.c:2525,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2526,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/quicapitest.c:2529,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/quicapitest.c:2530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2519
    functionDepth: 1
    functionLinenumber: 2519
    functionLinenumberEnd: 2534
    functionName: create_server_ctx
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_new_ex
    - SSL_CTX_use_certificate_file
    - SSL_CTX_set_verify
    - TEST_true
    - TEST_ptr
    - OSSL_QUIC_server_method
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_server_ctx(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2540,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quicapitest.c:2540,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2543,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quicapitest.c:2543,1
    - Dst: htons
      Src: /src/openssl/test/quicapitest.c:2544,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:2545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ina
    - port
    argTypes:
    - struct in_addr*
    - short int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2536
    functionDepth: 1
    functionLinenumber: 2536
    functionLinenumberEnd: 2550
    functionName: create_addr
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_new
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - htons
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: BIO_ADDR
    signature: BIO_ADDR *create_addr(struct in_addr *ina, short int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2556,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/test/quicapitest.c:2556,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2559,1
    - Dst: BIO_dgram_set0_local_addr
      Src: /src/openssl/test/quicapitest.c:2559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - addr
    argTypes:
    - BIO*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2563
      start: 2552
    functionDepth: 1
    functionLinenumber: 2552
    functionLinenumberEnd: 2563
    functionName: bio_addr_bind
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - BIO_dgram_set_caps
    - BIO_dgram_set0_local_addr
    - TEST_int_eq
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int bio_addr_bind(BIO *bio, BIO_ADDR *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2569,1
    - Dst: SSL_new_listener
      Src: /src/openssl/test/quicapitest.c:2569,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2570,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quicapitest.c:2574,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2576,1
    - Dst: SSL_listen
      Src: /src/openssl/test/quicapitest.c:2576,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ssl_ctx
    - bio
    argTypes:
    - SSL_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2565
    functionDepth: 3
    functionLinenumber: 2565
    functionLinenumberEnd: 2582
    functionName: ql_create
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_new_listener
    - SSL_free
    - BIO_free
    - SSL_listen
    - TEST_true
    - TEST_ptr
    - SSL_set_bio
    linkageType: ''
    returnType: SSL
    signature: SSL *ql_create(SSL_CTX *ssl_ctx, BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2588,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/test/quicapitest.c:2588,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2591,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quicapitest.c:2591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - qconn
    - dst_addr
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2584
    functionDepth: 1
    functionLinenumber: 2584
    functionLinenumberEnd: 2595
    functionName: qc_init
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_alpn_protos
    - SSL_set1_initial_peer_addr
    - TEST_false
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int qc_init(SSL *qconn, BIO_ADDR *dst_addr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/openssl/test/quicapitest.c:2607,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2608,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2608,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2609,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2609,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2610,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/quicapitest.c:2610,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2613,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2613,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2616,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2616,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2620,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2620,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2623,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2623,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:2627,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2629,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:2632,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2634,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2637,1
    - Dst: SSL_new_from_listener
      Src: /src/openssl/test/quicapitest.c:2637,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2640,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2640,1
    - Dst: qc_init
      Src: /src/openssl/test/quicapitest.c:2643,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2644,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/quicapitest.c:2647,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2648,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2649,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:2652,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:2653,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2659,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2660,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2661,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2662,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2663,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2664,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2665,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:2666,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2597
    functionDepth: 6
    functionLinenumber: 2597
    functionLinenumberEnd: 2669
    functionName: test_ssl_new_from_listener
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - ql_create
    - SSL_new_from_listener
    - BIO_new_bio_dgram_pair
    - SSL_do_handshake
    - SSL_free
    - SSL_handle_events
    - SSL_CTX_free
    - create_addr
    - BIO_free
    - BIO_ADDR_free
    - TEST_int_gt
    - TEST_info
    - create_server_ctx
    - TEST_true
    - TEST_ptr
    - htonl
    - qc_init
    - bio_addr_bind
    linkageType: ''
    returnType: int
    signature: int test_ssl_new_from_listener(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/quicapitest.c:2679,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/quicapitest.c:2679,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2680,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:2684,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quicapitest.c:2687,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/quicapitest.c:2691,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2692,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/quicapitest.c:2692,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quicapitest.c:2693,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2699,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2671
    functionDepth: 2
    functionLinenumber: 2671
    functionLinenumberEnd: 2702
    functionName: test_server_method_with_ssl_new
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - ERR_GET_LIB
    - TEST_ptr_null
    - SSL_CTX_new_ex
    - SSL_free
    - ERR_GET_REASON
    - SSL_new
    - TEST_true
    - ERR_peek_error
    - TEST_ptr
    - OSSL_QUIC_server_method
    linkageType: ''
    returnType: int
    signature: int test_server_method_with_ssl_new(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/openssl/test/quicapitest.c:2713,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2715,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/quicapitest.c:2715,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2718,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2718,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2721,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2721,1
    - Dst: ql_create
      Src: /src/openssl/test/quicapitest.c:2725,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2727,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2730,1
    - Dst: SSL_new
      Src: /src/openssl/test/quicapitest.c:2730,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2733,1
    - Dst: create_addr
      Src: /src/openssl/test/quicapitest.c:2733,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2735,1
    - Dst: bio_addr_bind
      Src: /src/openssl/test/quicapitest.c:2735,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2738,1
    - Dst: qc_init
      Src: /src/openssl/test/quicapitest.c:2738,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quicapitest.c:2743,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2750,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2751,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2754,1
    - Dst: BIO_free
      Src: /src/openssl/test/quicapitest.c:2755,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quicapitest.c:2756,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - sctx
    - cctx
    - lssl
    - cssl
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL**
    - SSL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2704
    functionDepth: 6
    functionLinenumber: 2704
    functionLinenumberEnd: 2759
    functionName: create_quic_ssl_objects
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - ql_create
    - BIO_new_bio_dgram_pair
    - SSL_free
    - BIO_ADDR_free
    - create_addr
    - BIO_free
    - SSL_new
    - TEST_true
    - TEST_ptr
    - SSL_set_bio
    - htonl
    - qc_init
    - bio_addr_bind
    linkageType: ''
    returnType: int
    signature: "int create_quic_ssl_objects(SSL_CTX *sctx, SSL_CTX *cctx,\n                                   SSL
      **lssl, SSL **cssl)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2768,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2768,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2769,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:2769,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:2772,1
    - Dst: SSL_accept
      Src: /src/openssl/test/quicapitest.c:2776,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2777,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2778,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2778,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:2783,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2784,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2785,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2785,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2787,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:2791,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2792,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2792,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/test/quicapitest.c:2792,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2796,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:2796,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2803,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2804,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2805,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2806,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2807,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2761
    functionDepth: 7
    functionLinenumber: 2761
    functionLinenumberEnd: 2810
    functionName: test_ssl_accept_connection
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - SSL_CTX_free
    - create_client_ctx
    - create_bare_ssl_connection
    - SSL_is_init_finished
    - SSL_handle_events
    - SSL_free
    - TEST_int_le
    - TEST_false
    - TEST_int_eq
    - SSL_accept
    - create_server_ctx
    - SSL_connect
    - create_quic_ssl_objects
    - TEST_true
    - TEST_ptr
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int test_ssl_accept_connection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/openssl/test/quicapitest.c:2816,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/test/quicapitest.c:2816,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quicapitest.c:2819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2814
    functionDepth: 2
    functionLinenumber: 2814
    functionLinenumberEnd: 2820
    functionName: quic_verify_cb
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - X509_STORE_CTX_get_ex_data
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int quic_verify_cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2829,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2830,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:2830,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:2833,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/quicapitest.c:2837,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:2841,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2842,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2843,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2843,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2845,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:2849,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2852,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:2852,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2859,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2860,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2861,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2862,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:2863,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2822
    functionDepth: 7
    functionLinenumber: 2822
    functionLinenumberEnd: 2866
    functionName: test_ssl_set_verify
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - SSL_CTX_free
    - create_client_ctx
    - create_bare_ssl_connection
    - SSL_free
    - SSL_handle_events
    - TEST_int_le
    - TEST_int_eq
    - SSL_set_verify
    - create_server_ctx
    - SSL_connect
    - create_quic_ssl_objects
    - TEST_true
    - TEST_ptr
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int test_ssl_set_verify(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2893,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quicapitest.c:2893,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:2894,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:2894,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:2895,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2896,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2896,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2900,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quicapitest.c:2900,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:2901,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quicapitest.c:2901,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:2902,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2903,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2903,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quicapitest.c:2906,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:2908,1
    - Dst: TEST_info
      Src: /src/openssl/test/quicapitest.c:2911,1
    - Dst: SSL_get_stream_type
      Src: /src/openssl/test/quicapitest.c:2918,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quicapitest.c:2924,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quicapitest.c:2924,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quicapitest.c:2925,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2930,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2931,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2932,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quicapitest.c:2935,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2936,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quicapitest.c:2937,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:2938,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 51
    argCount: 4
    argNames:
    - serverssl
    - clientssl
    - accept_flags
    - stream_opt
    argTypes:
    - SSL*
    - SSL*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2941
    functionName: create_accept_stream
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - SSL_accept_stream
    - SSL_write_ex
    - SSL_free
    - SSL_handle_events
    - TEST_int_eq
    - TEST_info
    - TEST_size_t_eq
    - TEST_ptr
    - SSL_new_stream
    - SSL_get_stream_type
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int create_accept_stream(SSL *serverssl, SSL *clientssl,\n                                uint64_t
      accept_flags, int stream_opt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2957,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:2957,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2958,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:2958,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:2959,1
    - Dst: SSL_accept
      Src: /src/openssl/test/quicapitest.c:2963,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2964,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2965,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2965,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:2970,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:2971,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2972,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:2972,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:2974,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:2978,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:2979,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:2979,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/test/quicapitest.c:2979,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:2983,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:2983,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2987,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/quicapitest.c:2987,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2989,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/quicapitest.c:2989,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2991,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quicapitest.c:2991,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:2994,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quicapitest.c:2994,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3000,1
    - Dst: create_accept_stream
      Src: /src/openssl/test/quicapitest.c:3000,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3002,1
    - Dst: create_accept_stream
      Src: /src/openssl/test/quicapitest.c:3002,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3004,1
    - Dst: create_accept_stream
      Src: /src/openssl/test/quicapitest.c:3004,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3012,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3013,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3014,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3015,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3016,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3019
      start: 2943
    functionDepth: 7
    functionLinenumber: 2943
    functionLinenumberEnd: 3019
    functionName: test_accept_stream
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_is_init_finished
    - TEST_int_le
    - TEST_ptr
    - create_accept_stream
    - SSL_get_error
    - SSL_CTX_free
    - create_client_ctx
    - create_bare_ssl_connection
    - TEST_true
    - SSL_free
    - SSL_handle_events
    - SSL_set_incoming_stream_policy
    - create_quic_ssl_objects
    - SSL_set_default_stream_mode
    - TEST_false
    - TEST_int_eq
    - SSL_accept
    - create_server_ctx
    - SSL_connect
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int test_accept_stream(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3032,1
    - Dst: create_server_ctx
      Src: /src/openssl/test/quicapitest.c:3032,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3033,1
    - Dst: create_client_ctx
      Src: /src/openssl/test/quicapitest.c:3033,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3038,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/quicapitest.c:3038,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3040,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/quicapitest.c:3040,1
    - Dst: create_quic_ssl_objects
      Src: /src/openssl/test/quicapitest.c:3043,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quicapitest.c:3048,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quicapitest.c:3049,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quicapitest.c:3050,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quicapitest.c:3050,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quicapitest.c:3052,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quicapitest.c:3056,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3059,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/quicapitest.c:3059,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3066,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quicapitest.c:3067,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3068,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3069,1
    - Dst: SSL_free
      Src: /src/openssl/test/quicapitest.c:3070,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quicapitest.c:3074,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3025
    functionDepth: 7
    functionLinenumber: 3025
    functionLinenumberEnd: 3076
    functionName: test_client_hello_retry
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - SSL_CTX_free
    - create_client_ctx
    - create_bare_ssl_connection
    - SSL_free
    - SSL_handle_events
    - TEST_int_le
    - TEST_int_eq
    - TEST_skip
    - create_server_ctx
    - SSL_connect
    - create_quic_ssl_objects
    - TEST_true
    - TEST_ptr
    - SSL_CTX_set1_groups_list
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int test_client_hello_retry(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/quicapitest.c:3086,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3087,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/quicapitest.c:3090,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:3096,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/quicapitest.c:3096,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:3097,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/quicapitest.c:3097,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/quicapitest.c:3100,1
    - Dst: TEST_error
      Src: /src/openssl/test/quicapitest.c:3101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3105,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicapitest.c:3105,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3106,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicapitest.c:3106,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3107,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicapitest.c:3107,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quicapitest.c:3108,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quicapitest.c:3108,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3111,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/quicapitest.c:3111,1
    - Dst: TEST_true
      Src: /src/openssl/test/quicapitest.c:3115,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/quicapitest.c:3115,1
    - Dst: strcmp
      Src: /src/openssl/test/quicapitest.c:3119,1
    - Dst: TEST_false
      Src: /src/openssl/test/quicapitest.c:3120,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/quicapitest.c:3120,1
    - Dst: strcmp
      Src: /src/openssl/test/quicapitest.c:3123,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3126,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3130,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3134,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3138,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quicapitest.c:3142,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3146,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3147,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3148,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3149,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3150,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3152,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3154,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3155,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3156,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3157,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3158,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3159,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3160,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3161,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3162,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3163,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3164,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3165,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3166,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3167,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quicapitest.c:3168,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quicapitest.c:3168,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3169,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3170,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3171,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3172,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3174,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3176,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3177,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3178,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3179,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quicapitest.c:3180,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/quicapitest.c:3183,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3081
    functionDepth: 10
    functionLinenumber: 3081
    functionLinenumberEnd: 3185
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 0
    functionsReached:
    - cleanup_tests
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - TEST_false
    - ADD_TEST
    - OSSL_PROVIDER_load
    - OSSL_NELEM
    - test_mk_file_path
    - test_skip_common_options
    - test_get_argument
    - TEST_true
    - strcmp
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_f_noisy_dgram_filter_free
      Src: /src/openssl/test/quicapitest.c:3189,1
    - Dst: bio_f_pkt_split_dgram_filter_free
      Src: /src/openssl/test/quicapitest.c:3190,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3192,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3193,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3194,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quicapitest.c:3195,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/quicapitest.c:3196,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/quicapitest.c:3197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3187
    functionDepth: 4
    functionLinenumber: 3187
    functionLinenumberEnd: 3198
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/quicapitest.c
    functionUses: 5
    functionsReached:
    - OSSL_LIB_CTX_free
    - bio_f_pkt_split_dgram_filter_free
    - bio_f_noisy_dgram_filter_free
    - OSSL_PROVIDER_unload
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/openssl/test/shlibloadtest.c:51,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:56,1
    - Dst: fclose
      Src: /src/openssl/test/shlibloadtest.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: atexit_handler
    functionSourceFile: /src/openssl/test/shlibloadtest.c
    functionUses: 0
    functionsReached:
    - fclose
    - fopen
    - fprintf
    linkageType: ''
    returnType: void
    signature: void atexit_handler(void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: sd_load
      Src: /src/openssl/test/shlibloadtest.c:85,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:86,1
    - Dst: sd_load
      Src: /src/openssl/test/shlibloadtest.c:94,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:95,1
    - Dst: sd_load
      Src: /src/openssl/test/shlibloadtest.c:100,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:101,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:110,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:111,1
    - Dst: myOPENSSL_init_crypto
      Src: /src/openssl/test/shlibloadtest.c:115,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:116,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:124,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:125,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:126,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:127,1
    - Dst: mySSL_CTX_new
      Src: /src/openssl/test/shlibloadtest.c:133,1
    - Dst: myTLS_method
      Src: /src/openssl/test/shlibloadtest.c:133,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:135,1
    - Dst: mySSL_CTX_free
      Src: /src/openssl/test/shlibloadtest.c:138,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:141,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:142,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:143,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:144,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:145,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:146,1
    - Dst: myERR_get_error
      Src: /src/openssl/test/shlibloadtest.c:150,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:151,1
    - Dst: myOPENSSL_version_major
      Src: /src/openssl/test/shlibloadtest.c:159,1
    - Dst: myOPENSSL_version_minor
      Src: /src/openssl/test/shlibloadtest.c:160,1
    - Dst: myOPENSSL_version_patch
      Src: /src/openssl/test/shlibloadtest.c:161,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:162,1
    - Dst: myOPENSSL_atexit
      Src: /src/openssl/test/shlibloadtest.c:167,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:168,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:185,1
    - Dst: sd_sym
      Src: /src/openssl/test/shlibloadtest.c:186,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:187,1
    - Dst: myDSO_dsobyaddr
      Src: /src/openssl/test/shlibloadtest.c:197,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:199,1
    - Dst: myDSO_free
      Src: /src/openssl/test/shlibloadtest.c:202,1
    - Dst: sd_close
      Src: /src/openssl/test/shlibloadtest.c:207,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:208,1
    - Dst: sd_close
      Src: /src/openssl/test/shlibloadtest.c:214,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:215,1
    - Dst: __GLIBC_PREREQ
      Src: /src/openssl/test/shlibloadtest.c:225,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:232,1
    - Dst: sd_close
      Src: /src/openssl/test/shlibloadtest.c:241,1
    - Dst: sd_close
      Src: /src/openssl/test/shlibloadtest.c:243,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 245
    functionName: test_lib
    functionSourceFile: /src/openssl/test/shlibloadtest.c
    functionUses: 0
    functionsReached:
    - myDSO_free
    - sd_sym
    - myOPENSSL_init_crypto
    - mySSL_CTX_free
    - sd_close
    - __GLIBC_PREREQ
    - myERR_get_error
    - sd_load
    - myOPENSSL_version_major
    - myDSO_dsobyaddr
    - mySSL_CTX_new
    - fprintf
    - myTLS_method
    - myOPENSSL_version_minor
    - myOPENSSL_version_patch
    - myOPENSSL_atexit
    linkageType: ''
    returnType: int
    signature: int test_lib(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:259,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:265,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:267,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:269,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:271,1
    - Dst: strcmp
      Src: /src/openssl/test/shlibloadtest.c:273,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:276,1
    - Dst: fprintf
      Src: /src/openssl/test/shlibloadtest.c:283,1
    - Dst: test_lib
      Src: /src/openssl/test/shlibloadtest.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 292
    functionName: main
    functionSourceFile: /src/openssl/test/shlibloadtest.c
    functionUses: 5
    functionsReached:
    - strcmp
    - test_lib
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:26,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/test/evp_kdf_test.c:27,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - libctx
    - name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: get_kdfbyname_libctx
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - EVP_KDF_free
    - EVP_KDF_CTX_new
    linkageType: ''
    returnType: EVP_KDF_CTX
    signature: EVP_KDF_CTX *get_kdfbyname_libctx(OSSL_LIB_CTX *libctx, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_kdfbyname_libctx
      Src: /src/openssl/test/evp_kdf_test.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: get_kdfbyname
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - get_kdfbyname_libctx
    linkageType: ''
    returnType: EVP_KDF_CTX
    signature: EVP_KDF_CTX *get_kdfbyname(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/evp_kdf_test.c:41,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:47,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:49,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:51,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:52,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:54,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - digest
    - secret
    - seed
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: construct_tls1_prf_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc_array
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *construct_tls1_prf_params(const char *digest, const char
      *secret,\n    const char *seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:71,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:73,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:74,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:74,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:75,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:75,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:76,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:78,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: test_kdf_tls1_prf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - construct_tls1_prf_params
    - OPENSSL_free
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:89,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:91,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:92,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:92,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:93,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:93,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 6
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: test_kdf_tls1_prf_invalid_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - construct_tls1_prf_params
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf_invalid_digest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:107,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:111,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:112,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:113,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:113,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: test_kdf_tls1_prf_zero_output_size
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - construct_tls1_prf_params
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf_zero_output_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:130,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:130,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:131,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:131,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:133,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 6
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: test_kdf_tls1_prf_empty_secret
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - construct_tls1_prf_params
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf_empty_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:147,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:148,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:148,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:149,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:149,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:151,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 6
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: test_kdf_tls1_prf_1byte_secret
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - construct_tls1_prf_params
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf_1byte_secret(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:166,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:167,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:167,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:168,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:168,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:169,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:169,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 6
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: test_kdf_tls1_prf_empty_seed
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - construct_tls1_prf_params
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf_empty_seed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_tls1_prf_params
      Src: /src/openssl/test/evp_kdf_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:186,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:186,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:187,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:187,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: test_kdf_tls1_prf_1byte_seed
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - construct_tls1_prf_params
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf_1byte_seed(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/evp_kdf_test.c:197,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:204,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:206,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:207,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:208,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:211,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:212,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:214,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - digest
    - key
    - keylen
    - salt
    - info
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 219
    functionName: construct_hkdf_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc_array
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *construct_hkdf_params(char *digest, char *key,\n    size_t
      keylen, char *salt, char *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:233,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:234,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:234,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:235,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:235,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:236,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:238,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 241
    functionName: test_kdf_hkdf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - get_kdfbyname
    - OPENSSL_free
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:257,1
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:261,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:261,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:262,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:266,1
    - Dst: EVP_KDF_CTX_gettable_params
      Src: /src/openssl/test/evp_kdf_test.c:266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:267,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:268,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:268,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:269,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:270,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:271,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_kdf_test.c:271,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_kdf_test.c:275,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:278,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:278,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:282,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:282,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:286,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:290,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:290,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:291,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:294,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:294,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:298,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:299,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:300,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:300,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:301,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:305,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:307,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:308,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:309,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:310,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:310,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:312,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:314,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:315,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:319,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:320,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:320,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:324,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:325,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 51
    argCount: 2
    argNames:
    - extract_only
    - has_digest
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 327
    functionName: do_kdf_hkdf_gettables
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_size_t
    - get_kdfbyname
    - OSSL_PARAM_locate_const
    - TEST_int_eq
    - TEST_str_eq
    - OSSL_PARAM_construct_int
    - OPENSSL_free
    - EVP_KDF_CTX_gettable_params
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int do_kdf_hkdf_gettables(int extract_only, int has_digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kdf_hkdf_gettables
      Src: /src/openssl/test/evp_kdf_test.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 7
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: test_kdf_hkdf_gettables
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - do_kdf_hkdf_gettables
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_gettables(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kdf_hkdf_gettables
      Src: /src/openssl/test/evp_kdf_test.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 7
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: test_kdf_hkdf_gettables_extractonly
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - do_kdf_hkdf_gettables
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_gettables_extractonly(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kdf_hkdf_gettables
      Src: /src/openssl/test/evp_kdf_test.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 7
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: test_kdf_hkdf_gettables_no_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - do_kdf_hkdf_gettables
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_gettables_no_digest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:350,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:352,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:353,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:353,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:354,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:354,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 344
    functionDepth: 6
    functionLinenumber: 344
    functionLinenumberEnd: 359
    functionName: test_kdf_hkdf_invalid_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - get_kdfbyname
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_invalid_digest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:369,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:371,1
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:373,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:376,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:377,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:378,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:378,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:379,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:379,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:380,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:380,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:382,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - kdf_name
    - bad_digest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 361
    functionDepth: 6
    functionLinenumber: 361
    functionLinenumberEnd: 385
    functionName: kdf_hkdf_fixed_digest_change_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_false
    - TEST_int_eq
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int kdf_hkdf_fixed_digest_change_digest(const char *kdf_name, char
      *bad_digest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_hkdf_fixed_digest_change_digest
      Src: /src/openssl/test/evp_kdf_test.c:389,1
    - Dst: kdf_hkdf_fixed_digest_change_digest
      Src: /src/openssl/test/evp_kdf_test.c:390,1
    - Dst: kdf_hkdf_fixed_digest_change_digest
      Src: /src/openssl/test/evp_kdf_test.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 7
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: test_kdf_hkdf_fixed_digest_change_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - kdf_hkdf_fixed_digest_change_digest
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_fixed_digest_change_digest(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:407,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:409,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:411,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:413,1
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:415,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:417,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:417,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:418,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:418,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:422,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:423,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:424,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/openssl/test/evp_kdf_test.c:427,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:428,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:428,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_kdf_test.c:429,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:430,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:431,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:432,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:433,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:433,1
    - Dst: memset
      Src: /src/openssl/test/evp_kdf_test.c:437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:438,1
    - Dst: EVP_KDF_CTX_dup
      Src: /src/openssl/test/evp_kdf_test.c:438,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:439,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:439,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:440,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:441,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:441,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:446,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:447,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:448,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - kdf_name
    - expected_digest
    - bad_digest
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 394
    functionDepth: 6
    functionLinenumber: 394
    functionLinenumberEnd: 450
    functionName: kdf_hkdf_fixed_digest_preserve_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_dup
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - OPENSSL_free
    - TEST_ptr
    - strlen
    - EVP_KDF_CTX_reset
    - EVP_KDF_CTX_get_params
    - TEST_size_t_gt
    - OSSL_PARAM_construct_utf8_string
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_str_eq
    - TEST_size_t_eq
    - memset
    - construct_hkdf_params
    - TEST_false
    - TEST_int_eq
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: "int kdf_hkdf_fixed_digest_preserve_digest(const char *kdf_name, const
      char *expected_digest,\n                                                 char
      *bad_digest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kdf_hkdf_fixed_digest_preserve_digest
      Src: /src/openssl/test/evp_kdf_test.c:454,1
    - Dst: kdf_hkdf_fixed_digest_preserve_digest
      Src: /src/openssl/test/evp_kdf_test.c:455,1
    - Dst: kdf_hkdf_fixed_digest_preserve_digest
      Src: /src/openssl/test/evp_kdf_test.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 7
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: test_kdf_hkdf_fixed_digest_preserve_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - kdf_hkdf_fixed_digest_preserve_digest
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_fixed_digest_preserve_digest(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:471,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:472,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:472,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:473,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:473,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/openssl/test/evp_kdf_test.c:477,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:479,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:481,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:483,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:483,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:486,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:488,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:490,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:492,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:492,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:493,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:494,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:499,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:500,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 459
    functionDepth: 6
    functionLinenumber: 459
    functionLinenumberEnd: 502
    functionName: test_kdf_hkdf_reset
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_int_le
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_reset
    - EVP_KDF_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_reset(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:511,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:511,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:517,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:518,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:519,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:519,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 504
    functionDepth: 6
    functionLinenumber: 504
    functionLinenumberEnd: 525
    functionName: test_kdf_hkdf_derive_set_params_fail
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - get_kdfbyname
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - TEST_ptr
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_derive_set_params_fail(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:533,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:533,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:535,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:537,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:538,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:538,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:541,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:542,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:542,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 527
    functionDepth: 6
    functionLinenumber: 527
    functionLinenumberEnd: 549
    functionName: test_kdf_hkdf_set_invalid_mode
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_set_invalid_mode(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:558,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:558,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:562,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:564,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:566,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:566,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 551
    functionDepth: 6
    functionLinenumber: 551
    functionLinenumberEnd: 573
    functionName: do_kdf_hkdf_set_invalid_param
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_int_eq
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int do_kdf_hkdf_set_invalid_param(const char *key, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/openssl/test/evp_kdf_test.c:577,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/openssl/test/evp_kdf_test.c:579,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/openssl/test/evp_kdf_test.c:581,1
    - Dst: do_kdf_hkdf_set_invalid_param
      Src: /src/openssl/test/evp_kdf_test.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 575
    functionDepth: 7
    functionLinenumber: 575
    functionLinenumberEnd: 585
    functionName: test_kdf_hkdf_set_ctx_param_fail
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - do_kdf_hkdf_set_invalid_param
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_set_ctx_param_fail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:597,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:598,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:598,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:599,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:599,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:600,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:600,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:602,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 587
    functionDepth: 6
    functionLinenumber: 587
    functionLinenumberEnd: 605
    functionName: test_kdf_hkdf_zero_output_size
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - get_kdfbyname
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_zero_output_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:614,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:616,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:617,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:617,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:618,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:618,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:620,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 607
    functionDepth: 6
    functionLinenumber: 607
    functionLinenumberEnd: 623
    functionName: test_kdf_hkdf_empty_key
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - get_kdfbyname
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_empty_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:632,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:634,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:635,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:635,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:636,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:636,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:638,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 625
    functionDepth: 6
    functionLinenumber: 625
    functionLinenumberEnd: 641
    functionName: test_kdf_hkdf_1byte_key
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - get_kdfbyname
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_1byte_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct_hkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:650,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:652,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:653,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:653,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:654,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:654,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:656,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 643
    functionDepth: 6
    functionLinenumber: 643
    functionLinenumberEnd: 659
    functionName: test_kdf_hkdf_empty_salt
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_hkdf_params
    - get_kdfbyname
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf_empty_salt(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/evp_kdf_test.c:664,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:670,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:671,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:672,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:673,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:674,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:675,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pass
    - digest
    - salt
    - iter
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 680
    functionName: construct_pbkdf1_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc_array
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *construct_pbkdf1_params(char *pass, char *digest, char
      *salt,\n    unsigned int *iter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:698,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_kdf_test.c:698,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:702,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:704,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_kdf_test.c:705,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:708,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:708,1
    - Dst: construct_pbkdf1_params
      Src: /src/openssl/test/evp_kdf_test.c:711,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:715,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:716,1
    - Dst: get_kdfbyname_libctx
      Src: /src/openssl/test/evp_kdf_test.c:716,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:717,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:717,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:718,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:718,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:719,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:724,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:725,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:726,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:727,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:728,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 682
    functionDepth: 5
    functionLinenumber: 682
    functionLinenumberEnd: 730
    functionName: test_kdf_pbkdf1
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - get_kdfbyname_libctx
    - OSSL_LIB_CTX_free
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_new
    - TEST_skip
    - OSSL_PROVIDER_load
    - construct_pbkdf1_params
    - OPENSSL_free
    - OSSL_PROVIDER_unload
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf1(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:743,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_kdf_test.c:743,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:747,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:749,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_kdf_test.c:750,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:753,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_kdf_test.c:753,1
    - Dst: construct_pbkdf1_params
      Src: /src/openssl/test/evp_kdf_test.c:756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:765,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:766,1
    - Dst: get_kdfbyname_libctx
      Src: /src/openssl/test/evp_kdf_test.c:766,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:767,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:767,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:768,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:768,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:773,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:774,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:775,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_kdf_test.c:776,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:777,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 732
    functionDepth: 5
    functionLinenumber: 732
    functionLinenumberEnd: 779
    functionName: test_kdf_pbkdf1_key_too_long
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - get_kdfbyname_libctx
    - OSSL_LIB_CTX_free
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_new
    - TEST_skip
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - construct_pbkdf1_params
    - OPENSSL_free
    - OSSL_PROVIDER_unload
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf1_key_too_long(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/evp_kdf_test.c:784,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:790,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:791,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:792,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:793,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:794,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:795,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:797,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - pass
    - digest
    - salt
    - iter
    - mode
    argTypes:
    - char*
    - char*
    - char*
    - unsigned int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 801
    functionName: construct_pbkdf2_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc_array
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *construct_pbkdf2_params(char *pass, char *digest, char
      *salt,\n    unsigned int *iter, int *mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/openssl/test/evp_kdf_test.c:818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:822,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:823,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:823,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:824,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:824,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:825,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:830,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:831,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 803
    functionDepth: 6
    functionLinenumber: 803
    functionLinenumberEnd: 833
    functionName: test_kdf_pbkdf2
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - construct_pbkdf2_params
    - OPENSSL_free
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf2(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/openssl/test/evp_kdf_test.c:844,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:849,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:849,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:850,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:850,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:852,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:852,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:857,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 835
    functionDepth: 6
    functionLinenumber: 835
    functionLinenumberEnd: 860
    functionName: test_kdf_pbkdf2_small_output
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf2_small_output(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/openssl/test/evp_kdf_test.c:875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:879,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:880,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:880,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:882,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:882,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:883,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:883,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:888,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 862
    functionDepth: 6
    functionLinenumber: 862
    functionLinenumberEnd: 891
    functionName: test_kdf_pbkdf2_large_output
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf2_large_output(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/openssl/test/evp_kdf_test.c:901,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:905,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:906,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:906,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:908,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:908,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:913,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 893
    functionDepth: 6
    functionLinenumber: 893
    functionLinenumberEnd: 916
    functionName: test_kdf_pbkdf2_small_salt
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf2_small_salt(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/openssl/test/evp_kdf_test.c:926,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:930,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:931,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:931,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:933,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:933,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:938,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 918
    functionDepth: 6
    functionLinenumber: 918
    functionLinenumberEnd: 941
    functionName: test_kdf_pbkdf2_small_iterations
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf2_small_iterations(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/openssl/test/evp_kdf_test.c:953,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:957,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:958,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:958,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:960,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:960,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:961,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:961,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:965,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:966,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:969,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:969,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:970,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:970,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:975,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:976,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 943
    functionDepth: 6
    functionLinenumber: 943
    functionLinenumberEnd: 978
    functionName: test_kdf_pbkdf2_small_salt_pkcs5
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - get_kdfbyname
    - TEST_int_gt
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf2_small_salt_pkcs5(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/openssl/test/evp_kdf_test.c:990,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:994,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:995,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:995,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:997,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:997,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:998,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:998,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1002,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1003,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1006,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1006,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1007,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1007,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1012,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1013,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 980
    functionDepth: 6
    functionLinenumber: 980
    functionLinenumberEnd: 1015
    functionName: test_kdf_pbkdf2_small_iterations_pkcs5
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - get_kdfbyname
    - TEST_int_gt
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf2_small_iterations_pkcs5(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_pbkdf2_params
      Src: /src/openssl/test/evp_kdf_test.c:1025,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1029,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1030,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1030,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1032,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1032,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1037,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1017
    functionDepth: 6
    functionLinenumber: 1017
    functionLinenumberEnd: 1040
    functionName: test_kdf_pbkdf2_invalid_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - get_kdfbyname
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    - construct_pbkdf2_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_pbkdf2_invalid_digest(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1061,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1063,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:1065,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:1066,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:1067,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_kdf_test.c:1068,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1069,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1071,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1071,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1074,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1074,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:1077,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1077,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1078,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/test/evp_kdf_test.c:1078,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1079,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1079,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1081,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1081,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1082,1
    - Dst: EVP_KDF_CTX_reset
      Src: /src/openssl/test/evp_kdf_test.c:1084,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1087,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1043
    functionDepth: 6
    functionLinenumber: 1043
    functionLinenumberEnd: 1089
    functionName: test_kdf_scrypt
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - get_kdfbyname
    - TEST_int_le
    - OSSL_PARAM_set_uint
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_reset
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_scrypt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1114,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1116,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1117,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1122,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1122,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1123,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1123,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1124,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1092
    functionDepth: 6
    functionLinenumber: 1092
    functionLinenumberEnd: 1128
    functionName: test_kdf_ss_hash
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_ss_hash(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1167,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1169,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1170,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1175,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1175,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1176,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1176,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1177,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1130
    functionDepth: 6
    functionLinenumber: 1130
    functionLinenumberEnd: 1181
    functionName: test_kdf_x963
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_x963(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1215,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1217,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1219,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1221,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1223,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1225,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1227,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1229,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1230,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1231,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1231,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1233,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1188
    functionDepth: 6
    functionLinenumber: 1188
    functionLinenumberEnd: 1241
    functionName: test_kdf_kbkdf_6803_128
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_6803_128(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1281,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1283,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1285,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1287,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1289,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1291,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1293,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1295,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1296,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1297,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1297,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1299,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1243
    functionDepth: 6
    functionLinenumber: 1243
    functionLinenumberEnd: 1307
    functionName: test_kdf_kbkdf_6803_256
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_6803_256(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/evp_kdf_test.c:1313,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1319,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1321,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1323,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1325,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1327,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1328,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1329,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1330,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1331,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - digest
    - mac
    - key
    - keylen
    - salt
    - info
    - r
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1336
    functionName: construct_kbkdf_params
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_malloc_array
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *construct_kbkdf_params(char *digest, char *mac, unsigned
      char *key,\n    size_t keylen, char *salt, char *info, int *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:1347,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1348,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1352,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1353,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1354,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1354,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1338
    functionDepth: 6
    functionLinenumber: 1338
    functionLinenumberEnd: 1359
    functionName: test_kdf_kbkdf_invalid_digest
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_kbkdf_params
    - get_kdfbyname
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_invalid_digest(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:1370,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1371,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1375,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1376,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1377,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1377,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1379,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1361
    functionDepth: 6
    functionLinenumber: 1361
    functionLinenumberEnd: 1382
    functionName: test_kdf_kbkdf_invalid_mac
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_kbkdf_params
    - get_kdfbyname
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_invalid_mac(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:1393,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1394,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1398,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1399,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_kdf_test.c:1400,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1400,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1402,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1384
    functionDepth: 6
    functionLinenumber: 1384
    functionLinenumberEnd: 1405
    functionName: test_kdf_kbkdf_invalid_r
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_kbkdf_params
    - get_kdfbyname
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_invalid_r(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:1418,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1419,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1423,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1424,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1425,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1425,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1426,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1426,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1428,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1408
    functionDepth: 6
    functionLinenumber: 1408
    functionLinenumberEnd: 1431
    functionName: test_kdf_kbkdf_empty_key
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_kbkdf_params
    - get_kdfbyname
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_empty_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:1443,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1444,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1447,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1448,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1449,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1449,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1451,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1433
    functionDepth: 6
    functionLinenumber: 1433
    functionLinenumberEnd: 1454
    functionName: test_kdf_kbkdf_1byte_key
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_kbkdf_params
    - get_kdfbyname
    - OPENSSL_free
    - TEST_ptr
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_1byte_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct_kbkdf_params
      Src: /src/openssl/test/evp_kdf_test.c:1466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1467,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1471,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1472,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:1473,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1473,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1474,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1474,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1476,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_kdf_test.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1456
    functionDepth: 6
    functionLinenumber: 1456
    functionLinenumberEnd: 1479
    functionName: test_kdf_kbkdf_zero_output_size
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - construct_kbkdf_params
    - get_kdfbyname
    - TEST_int_eq
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_zero_output_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1502,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1504,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1506,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1508,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1509,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1510,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1511,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1512,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1514,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1515,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1516,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1516,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1517,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1483
    functionDepth: 6
    functionLinenumber: 1483
    functionLinenumberEnd: 1521
    functionName: test_kdf_kbkdf_8009_prf1
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - strlen
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_8009_prf1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1546,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1548,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1550,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1552,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1553,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1554,1
    - Dst: strlen
      Src: /src/openssl/test/evp_kdf_test.c:1555,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1556,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1558,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1559,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1560,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1560,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1561,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1523
    functionDepth: 6
    functionLinenumber: 1523
    functionLinenumberEnd: 1565
    functionName: test_kdf_kbkdf_8009_prf2
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - strlen
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_8009_prf2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1605,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1606,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1607,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1608,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1610,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1612,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:1613,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1615,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1617,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1618,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1619,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1619,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1620,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1573
    functionDepth: 6
    functionLinenumber: 1573
    functionLinenumberEnd: 1624
    functionName: test_kdf_kbkdf_fixedinfo
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - OSSL_PARAM_construct_int
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_fixedinfo(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1760,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1761,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1763,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1765,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1767,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1769,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1770,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:1771,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/openssl/test/evp_kdf_test.c:1771,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1772,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1772,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1773,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1627
    functionDepth: 6
    functionLinenumber: 1627
    functionLinenumberEnd: 1777
    functionName: test_kdf_kbkdf_kmac
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_get_kdf_size
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_size_t_eq
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_kbkdf_kmac(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1800,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1802,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1804,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1805,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1807,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1809,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1812,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1812,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1813,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1813,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1814,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1779
    functionDepth: 6
    functionLinenumber: 1779
    functionLinenumberEnd: 1818
    functionName: test_kdf_ss_hmac
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_ss_hmac(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1845,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1848,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1850,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1851,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1853,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_kdf_test.c:1855,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1856,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1859,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1859,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:1860,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/openssl/test/evp_kdf_test.c:1860,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:1861,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:1861,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/evp_kdf_test.c:1863,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_kdf_test.c:1864,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/openssl/test/evp_kdf_test.c:1864,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1865,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1865,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1866,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1868,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1820
    functionDepth: 6
    functionLinenumber: 1820
    functionLinenumberEnd: 1870
    functionName: test_kdf_ss_kmac
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_get_kdf_size
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_size_t
    - get_kdfbyname
    - TEST_int_eq
    - fips_provider_version_lt
    - TEST_size_t_eq
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_ss_kmac(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1908,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1910,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1912,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:1914,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1916,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:1918,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1921,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:1921,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:1922,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:1922,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:1923,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:1925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1872
    functionDepth: 6
    functionLinenumber: 1872
    functionLinenumberEnd: 1927
    functionName: test_kdf_sshkdf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_sshkdf(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_kdf_test.c:1940,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/test/evp_kdf_test.c:1940,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/test/evp_kdf_test.c:1940,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_kdf_test.c:1941,1
    - Dst: EVP_KDF_get0_name
      Src: /src/openssl/test/evp_kdf_test.c:1941,1
    - Dst: EVP_KDF_get0_name
      Src: /src/openssl/test/evp_kdf_test.c:1941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - kdf1
    - kdf2
    argTypes:
    - EVP_KDF*
    - EVP_KDF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1929
    functionDepth: 1
    functionLinenumber: 1929
    functionLinenumberEnd: 1942
    functionName: test_kdfs_same
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - EVP_KDF_get0_provider
    - TEST_ptr_eq
    - EVP_KDF_get0_name
    linkageType: ''
    returnType: int
    signature: int test_kdfs_same(EVP_KDF *kdf1, EVP_KDF *kdf2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1950,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/evp_kdf_test.c:1950,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1951,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:1951,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1952,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:1952,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_kdf_test.c:1952,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/evp_kdf_test.c:1952,1
    - Dst: test_kdfs_same
      Src: /src/openssl/test/evp_kdf_test.c:1954,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:1956,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:1958,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1961,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:1961,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1962,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:1962,1
    - Dst: test_kdfs_same
      Src: /src/openssl/test/evp_kdf_test.c:1963,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:1966,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:1969,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_kdf_test.c:1969,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_kdf_test.c:1969,1
    - Dst: test_kdfs_same
      Src: /src/openssl/test/evp_kdf_test.c:1970,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:1972,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_kdf_test.c:1974,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1944
    functionDepth: 6
    functionLinenumber: 1944
    functionLinenumberEnd: 1978
    functionName: test_kdf_get_kdf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - test_kdfs_same
    - OBJ_nid2sn
    - EVP_KDF_free
    - OBJ_nid2obj
    - TEST_ptr
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: int test_kdf_get_kdf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:1999,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2001,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2003,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2005,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2008,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2008,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:2009,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2009,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2010,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1981
    functionDepth: 6
    functionLinenumber: 1981
    functionLinenumberEnd: 2014
    functionName: test_kdf_x942_asn1
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_x942_asn1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2035,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2037,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2039,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2041,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2044,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2044,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_kdf_test.c:2045,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2045,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2046,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2017
    functionDepth: 6
    functionLinenumber: 2017
    functionLinenumberEnd: 2050
    functionName: test_kdf_krb5kdf
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_kdf_krb5kdf(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2064,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2064,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2065,1
    - Dst: EVP_KDF_CTX_settable_params
      Src: /src/openssl/test/evp_kdf_test.c:2065,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2069,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2069,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2073,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_kdf_test.c:2079,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_kdf_test.c:2081,1
    - Dst: TEST_note
      Src: /src/openssl/test/evp_kdf_test.c:2083,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2084,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2085,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2085,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2090,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2092,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2094,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2096,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2098,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:2099,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2099,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:2101,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2101,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2104,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2106,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:2109,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:2109,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2110,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2111,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_kdf_test.c:2115,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2115,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2119,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2121,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2122,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2122,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2127,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2052
    functionDepth: 6
    functionLinenumber: 2052
    functionLinenumberEnd: 2129
    functionName: test_kdf_hmac_drbg_settables
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_strcasecmp
    - OSSL_PARAM_construct_end
    - TEST_note
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - TEST_int_le
    - get_kdfbyname
    - TEST_int_eq
    - EVP_KDF_CTX_settable_params
    - OSSL_PARAM_construct_int
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_hmac_drbg_settables(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2140,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2141,1
    - Dst: EVP_KDF_CTX_gettable_params
      Src: /src/openssl/test/evp_kdf_test.c:2141,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2144,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2146,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2147,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:2147,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2152,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_kdf_test.c:2154,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_kdf_test.c:2154,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2131
    functionDepth: 6
    functionLinenumber: 2131
    functionLinenumberEnd: 2161
    functionName: test_kdf_hmac_drbg_gettables
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - TEST_int_le
    - OSSL_PARAM_construct_int
    - EVP_KDF_CTX_gettable_params
    - TEST_ptr
    - EVP_KDF_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int test_kdf_hmac_drbg_gettables(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2193,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2195,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_kdf_test.c:2196,1
    - Dst: get_kdfbyname
      Src: /src/openssl/test/evp_kdf_test.c:2196,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:2197,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_kdf_test.c:2197,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2200,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2201,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_kdf_test.c:2202,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2203,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2204,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_kdf_test.c:2205,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2206,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_kdf_test.c:2208,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_kdf_test.c:2210,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_kdf_test.c:2211,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_kdf_test.c:2211,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_kdf_test.c:2212,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_kdf_test.c:2217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2164
    functionDepth: 6
    functionLinenumber: 2164
    functionLinenumberEnd: 2219
    functionName: test_kbkdf_mac_change
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - get_kdfbyname
    - OSSL_PARAM_construct_int
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - EVP_KDF_derive
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int test_kbkdf_mac_change(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2223,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2224,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2226,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2227,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2229,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2230,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2231,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2232,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2233,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2234,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2235,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2236,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2238,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/evp_kdf_test.c:2240,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2241,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2242,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2243,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2244,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2245,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2246,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2247,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2248,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2249,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2250,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2251,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2252,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2253,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2254,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2255,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2256,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2257,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2258,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2259,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2260,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2261,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2262,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2263,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2264,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2265,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2266,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2267,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2268,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2269,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2270,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2271,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2272,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2274,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2276,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2277,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2278,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2279,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2280,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2282,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2284,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2285,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2286,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_kdf_test.c:2287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2221
    functionDepth: 1
    functionLinenumber: 2221
    functionLinenumberEnd: 2289
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_kdf_test.c
    functionUses: 0
    functionsReached:
    - fips_provider_version_ge
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txpim_test.c:23,1
    - Dst: ossl_quic_txpim_new
      Src: /src/openssl/test/quic_txpim_test.c:23,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txpim_test.c:26,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_txpim_test.c:27,1
    - Dst: ossl_quic_txpim_pkt_alloc
      Src: /src/openssl/test/quic_txpim_test.c:27,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_txpim_test.c:30,1
    - Dst: ossl_quic_txpim_pkt_get_num_chunks
      Src: /src/openssl/test/quic_txpim_test.c:30,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txpim_test.c:33,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_txpim_test.c:38,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/test/quic_txpim_test.c:38,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_txpim_test.c:42,1
    - Dst: ossl_quic_txpim_pkt_get_num_chunks
      Src: /src/openssl/test/quic_txpim_test.c:42,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txpim_test.c:43,1
    - Dst: ossl_quic_txpim_pkt_get_chunks
      Src: /src/openssl/test/quic_txpim_test.c:46,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txpim_test.c:47,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txpim_test.c:48,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_txpim_test.c:49,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_txpim_test.c:55,1
    - Dst: ossl_quic_txpim_pkt_release
      Src: /src/openssl/test/quic_txpim_test.c:57,1
    - Dst: ossl_quic_txpim_free
      Src: /src/openssl/test/quic_txpim_test.c:59,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 61
    functionName: test_txpim
    functionSourceFile: /src/openssl/test/quic_txpim_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txpim_pkt_append_chunk
    - ossl_quic_txpim_new
    - ossl_quic_txpim_pkt_release
    - ossl_quic_txpim_pkt_get_chunks
    - TEST_uint64_t_eq
    - ossl_quic_txpim_pkt_alloc
    - OSSL_NELEM
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - ossl_quic_txpim_free
    - ossl_quic_txpim_pkt_get_num_chunks
    linkageType: ''
    returnType: int
    signature: int test_txpim(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_txpim_test.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_txpim_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:24,1
    - Dst: ossl_namemap_empty
      Src: /src/openssl/test/namemap_internal_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:25,1
    - Dst: ossl_namemap_new
      Src: /src/openssl/test/namemap_internal_test.c:25,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:26,1
    - Dst: ossl_namemap_empty
      Src: /src/openssl/test/namemap_internal_test.c:26,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/namemap_internal_test.c:27,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:27,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:28,1
    - Dst: ossl_namemap_empty
      Src: /src/openssl/test/namemap_internal_test.c:28,1
    - Dst: ossl_namemap_free
      Src: /src/openssl/test/namemap_internal_test.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: test_namemap_empty
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_free
    - ossl_namemap_add_name
    - TEST_int_ne
    - TEST_int_eq
    - ossl_namemap_empty
    - TEST_ptr
    - ossl_namemap_new
    linkageType: ''
    returnType: int
    signature: int test_namemap_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:35,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:36,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:37,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:38,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/test/namemap_internal_test.c:39,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/test/namemap_internal_test.c:40,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/test/namemap_internal_test.c:41,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/test/namemap_internal_test.c:42,1
    - Dst: ossl_namemap_name2num
      Src: /src/openssl/test/namemap_internal_test.c:43,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/namemap_internal_test.c:45,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/namemap_internal_test.c:46,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:47,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:48,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:49,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:50,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:51,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:52,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - nm
    argTypes:
    - OSSL_NAMEMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: test_namemap
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_name2num
    - TEST_int_eq
    - ossl_namemap_add_name
    - TEST_int_ne
    linkageType: ''
    returnType: int
    signature: int test_namemap(OSSL_NAMEMAP *nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_new
      Src: /src/openssl/test/namemap_internal_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:59,1
    - Dst: test_namemap
      Src: /src/openssl/test/namemap_internal_test.c:59,1
    - Dst: ossl_namemap_free
      Src: /src/openssl/test/namemap_internal_test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: test_namemap_independent
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_namemap_new
    - ossl_namemap_free
    - test_namemap
    linkageType: ''
    returnType: int
    signature: int test_namemap_independent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/test/namemap_internal_test.c:67,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:69,1
    - Dst: test_namemap
      Src: /src/openssl/test/namemap_internal_test.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 7
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: test_namemap_stored
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_namemap_stored
    - test_namemap
    linkageType: ''
    returnType: int
    signature: int test_namemap_stored(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/test/namemap_internal_test.c:80,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:83,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:85,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/namemap_internal_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:88,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:88,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/namemap_internal_test.c:91,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:92,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/namemap_internal_test.c:94,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/namemap_internal_test.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 7
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: test_digestbyname
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_add_name
    - TEST_int_ne
    - TEST_int_eq
    - ossl_namemap_stored
    - EVP_get_digestbyname
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_digestbyname(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_namemap_stored
      Src: /src/openssl/test/namemap_internal_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:111,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:113,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/namemap_internal_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/namemap_internal_test.c:116,1
    - Dst: ossl_namemap_add_name
      Src: /src/openssl/test/namemap_internal_test.c:116,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/test/namemap_internal_test.c:119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:120,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/test/namemap_internal_test.c:122,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/namemap_internal_test.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 7
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: test_cipherbyname
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_namemap_add_name
    - TEST_int_ne
    - TEST_int_eq
    - ossl_namemap_stored
    - EVP_get_cipherbyname
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_cipherbyname(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/namemap_internal_test.c:135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/namemap_internal_test.c:140,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/namemap_internal_test.c:140,1
    - Dst: TEST_false
      Src: /src/openssl/test/namemap_internal_test.c:141,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/namemap_internal_test.c:141,1
    - Dst: TEST_true
      Src: /src/openssl/test/namemap_internal_test.c:143,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/namemap_internal_test.c:143,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/namemap_internal_test.c:143,1
    - Dst: TEST_false
      Src: /src/openssl/test/namemap_internal_test.c:144,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/namemap_internal_test.c:144,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/namemap_internal_test.c:144,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/namemap_internal_test.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 9
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: test_cipher_is_a
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - EVP_aes_256_gcm
    - TEST_false
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_is_a
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_cipher_is_a(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/namemap_internal_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/namemap_internal_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/namemap_internal_test.c:162,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/namemap_internal_test.c:162,1
    - Dst: TEST_false
      Src: /src/openssl/test/namemap_internal_test.c:163,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/namemap_internal_test.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/namemap_internal_test.c:165,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/namemap_internal_test.c:165,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/namemap_internal_test.c:165,1
    - Dst: TEST_false
      Src: /src/openssl/test/namemap_internal_test.c:166,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/namemap_internal_test.c:166,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/namemap_internal_test.c:166,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/namemap_internal_test.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 10
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: test_digest_is_a
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - TEST_false
    - EVP_MD_is_a
    - TEST_ptr
    - TEST_true
    - EVP_sha256
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int test_digest_is_a(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:175,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:176,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:177,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:178,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:179,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:180,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/namemap_internal_test.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/namemap_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_trace_get_category_name
      Src: /src/openssl/test/trace_api_test.c:19,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:26,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:28,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:30,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:32,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:34,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:36,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:38,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:40,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:42,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:44,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:46,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:48,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:50,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:52,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:54,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:56,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:58,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:60,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:62,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:64,1
    - Dst: SET_EXPECTED_CAT_NAME
      Src: /src/openssl/test/trace_api_test.c:66,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/trace_api_test.c:74,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/openssl/test/trace_api_test.c:77,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 84
    functionName: test_trace_categories
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_trace_get_category_name
    - SET_EXPECTED_CAT_NAME
    - TEST_str_eq
    - TEST_int_eq
    - OSSL_trace_get_category_num
    linkageType: ''
    returnType: int
    signature: int test_trace_categories(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: SET_EXPECTED_CAT_NAME
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXPECTED_CAT_NAME(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - text
    - ','
    - full
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: trace_string
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_string(text, full, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/test/trace_api_test.c:106,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:107,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:107,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:107,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:108,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:108,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:110,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:110,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:112,1
    - Dst: BIO_printf
      Src: /src/openssl/test/trace_api_test.c:112,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:112,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/test/trace_api_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: put_trace_output
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - trace_string
    - strlen
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int put_trace_output(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/test/trace_api_test.c:106,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:107,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:107,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:107,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:108,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:108,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:110,1
    - Dst: trace_string
      Src: /src/openssl/test/trace_api_test.c:110,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:112,1
    - Dst: BIO_printf
      Src: /src/openssl/test/trace_api_test.c:112,1
    - Dst: strlen
      Src: /src/openssl/test/trace_api_test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - trace_string
    - strlen
    - TEST_int_eq
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(HTTP)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/trace_api_test.c:131,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/trace_api_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/trace_api_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:135,1
    - Dst: OSSL_trace_set_channel
      Src: /src/openssl/test/trace_api_test.c:135,1
    - Dst: BIO_free
      Src: /src/openssl/test/trace_api_test.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/trace_api_test.c:140,1
    - Dst: OSSL_trace_enabled
      Src: /src/openssl/test/trace_api_test.c:140,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:143,1
    - Dst: OSSL_trace_set_prefix
      Src: /src/openssl/test/trace_api_test.c:143,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:146,1
    - Dst: OSSL_trace_set_suffix
      Src: /src/openssl/test/trace_api_test.c:146,1
    - Dst: put_trace_output
      Src: /src/openssl/test/trace_api_test.c:150,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/trace_api_test.c:151,1
    - Dst: TEST_strn2_eq
      Src: /src/openssl/test/trace_api_test.c:152,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/trace_api_test.c:154,1
    - Dst: OSSL_trace_set_channel
      Src: /src/openssl/test/trace_api_test.c:154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 119
    functionDepth: 5
    functionLinenumber: 119
    functionLinenumberEnd: 159
    functionName: test_trace_channel
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - OSSL_trace_set_suffix
    - BIO_free
    - TEST_int_eq
    - OSSL_trace_enabled
    - OSSL_trace_set_channel
    - BIO_s_mem
    - OSSL_trace_set_prefix
    - BIO_get_mem_data
    - TEST_true
    - TEST_ptr
    - put_trace_output
    - TEST_strn2_eq
    linkageType: ''
    returnType: int
    signature: int test_trace_channel(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/trace_api_test.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - buffer
    - count
    - category
    - cmd
    - data
    argTypes:
    - char*
    - size_t
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: trace_cb
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    linkageType: ''
    returnType: size_t
    signature: "size_t trace_cb(const char *buffer, size_t count,\n                       int
      category, int cmd, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/trace_api_test.c:177,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/test/trace_api_test.c:177,1
    - Dst: put_trace_output
      Src: /src/openssl/test/trace_api_test.c:181,1
    - Dst: TEST_false
      Src: /src/openssl/test/trace_api_test.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/trace_api_test.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: test_trace_callback
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_trace_set_callback
    - TEST_false
    - put_trace_output
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_trace_callback(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/trace_api_test.c:196,1
    - Dst: TEST_error
      Src: /src/openssl/test/trace_api_test.c:197,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/trace_api_test.c:201,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/trace_api_test.c:203,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/trace_api_test.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/trace_api_test.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/openssl/test/cmactest.c:145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmactest.c:146,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:147,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:147,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:148,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:148,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:150,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:150,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmactest.c:150,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:152,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:152,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:154,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:154,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:156,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:156,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:158,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:158,1
    - Dst: EVP_aes_128_xts
      Src: /src/openssl/test/cmactest.c:158,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmactest.c:160,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:160,1
    - Dst: CMAC_CTX_free
      Src: /src/openssl/test/cmactest.c:165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 167
    functionName: test_cmac_bad
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 0
    functionsReached:
    - CMAC_Init
    - TEST_false
    - EVP_aes_128_xts
    - CMAC_CTX_new
    - CMAC_CTX_free
    - TEST_true
    - CMAC_Update
    - TEST_ptr
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_cmac_bad(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/openssl/test/cmactest.c:178,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/cmactest.c:181,1
    - Dst: strlen
      Src: /src/openssl/test/cmactest.c:182,1
    - Dst: memcpy
      Src: /src/openssl/test/cmactest.c:187,1
    - Dst: memcpy
      Src: /src/openssl/test/cmactest.c:191,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:197,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:197,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmactest.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:199,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:200,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:200,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:203,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:207,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:207,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/cmactest.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:209,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:210,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:210,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:213,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:214,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:217,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:217,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:218,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:218,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:219,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:219,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:221,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:222,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:225,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:226,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:227,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:227,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:229,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:234,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:234,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/cmactest.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:235,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:235,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:236,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:237,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:237,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:239,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:244,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:244,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmactest.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:246,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:247,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:247,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:249,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:253,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:253,1
    - Dst: EVP_aes_192_cbc
      Src: /src/openssl/test/cmactest.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:255,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:256,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:256,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:258,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:262,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:262,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/cmactest.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:264,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:265,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:265,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:267,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:272,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:272,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/openssl/test/cmactest.c:273,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:274,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:275,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:275,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:277,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:283,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:283,1
    - Dst: EVP_sm4_cbc
      Src: /src/openssl/test/cmactest.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:285,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:285,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:286,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:286,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:288,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:289,1
    - Dst: CMAC_CTX_free
      Src: /src/openssl/test/cmactest.c:295,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 297
    functionName: test_cmac_run
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 0
    functionsReached:
    - CMAC_Init
    - CMAC_Final
    - TEST_str_eq
    - memcpy
    - EVP_aes_192_cbc
    - EVP_aes_256_cbc
    - CMAC_CTX_free
    - CMAC_CTX_new
    - OSSL_NELEM
    - EVP_sm4_cbc
    - pt
    - EVP_des_ede3_cbc
    - TEST_true
    - CMAC_Update
    - strlen
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_cmac_run(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_new
      Src: /src/openssl/test/cmactest.c:307,1
    - Dst: CMAC_CTX_new
      Src: /src/openssl/test/cmactest.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmactest.c:309,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmactest.c:309,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:312,1
    - Dst: CMAC_Init
      Src: /src/openssl/test/cmactest.c:312,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmactest.c:313,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:314,1
    - Dst: CMAC_Update
      Src: /src/openssl/test/cmactest.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:315,1
    - Dst: CMAC_CTX_copy
      Src: /src/openssl/test/cmactest.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmactest.c:316,1
    - Dst: CMAC_Final
      Src: /src/openssl/test/cmactest.c:316,1
    - Dst: pt
      Src: /src/openssl/test/cmactest.c:319,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmactest.c:320,1
    - Dst: CMAC_CTX_free
      Src: /src/openssl/test/cmactest.c:325,1
    - Dst: CMAC_CTX_free
      Src: /src/openssl/test/cmactest.c:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 328
    functionName: test_cmac_copy
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 0
    functionsReached:
    - CMAC_Init
    - CMAC_Final
    - TEST_str_eq
    - CMAC_CTX_copy
    - CMAC_CTX_free
    - CMAC_CTX_new
    - pt
    - TEST_true
    - CMAC_Update
    - TEST_ptr
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_cmac_copy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/cmactest.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: pt
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 237
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: char
    signature: char *pt(unsigned char *md, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmactest.c:344,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmactest.c:345,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmactest.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmactest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:47,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bio_enc_test.c:47,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:53,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/test/bio_enc_test.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:56,1
    - Dst: BIO_set_cipher
      Src: /src/openssl/test/bio_enc_test.c:56,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_enc_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:59,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:61,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:62,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_enc_test.c:63,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:67,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/test/bio_enc_test.c:67,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:70,1
    - Dst: BIO_set_cipher
      Src: /src/openssl/test/bio_enc_test.c:70,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:71,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_enc_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:75,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:77,1
    - Dst: memset
      Src: /src/openssl/test/bio_enc_test.c:78,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:80,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/bio_enc_test.c:85,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:86,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:89,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_enc_test.c:94,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_enc_test.c:96,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:97,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:106,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/test/bio_enc_test.c:106,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:109,1
    - Dst: BIO_set_cipher
      Src: /src/openssl/test/bio_enc_test.c:109,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:110,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_enc_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:114,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:116,1
    - Dst: memset
      Src: /src/openssl/test/bio_enc_test.c:117,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:118,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_enc_test.c:121,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_enc_test.c:123,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:124,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:132,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/test/bio_enc_test.c:132,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:135,1
    - Dst: BIO_set_cipher
      Src: /src/openssl/test/bio_enc_test.c:135,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_enc_test.c:138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:139,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:141,1
    - Dst: BIO_flush
      Src: /src/openssl/test/bio_enc_test.c:151,1
    - Dst: memset
      Src: /src/openssl/test/bio_enc_test.c:153,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:154,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_enc_test.c:155,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_enc_test.c:157,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:162,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/test/bio_enc_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:165,1
    - Dst: BIO_set_cipher
      Src: /src/openssl/test/bio_enc_test.c:165,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:166,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_enc_test.c:169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:170,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:172,1
    - Dst: memset
      Src: /src/openssl/test/bio_enc_test.c:173,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:175,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/bio_enc_test.c:177,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:178,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:181,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_enc_test.c:182,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_enc_test.c:184,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:185,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:194,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/test/bio_enc_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:197,1
    - Dst: BIO_set_cipher
      Src: /src/openssl/test/bio_enc_test.c:197,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:198,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_enc_test.c:201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:202,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:204,1
    - Dst: memset
      Src: /src/openssl/test/bio_enc_test.c:205,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:206,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_enc_test.c:209,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_enc_test.c:211,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_enc_test.c:212,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/bio_enc_test.c:220,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 152
    argCount: 3
    argNames:
    - cipher
    - key
    - iv
    argTypes:
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 38
    functionDepth: 8
    functionLinenumber: 38
    functionLinenumberEnd: 222
    functionName: do_bio_cipher
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - TEST_uchar_eq
    - memset
    - BIO_f_cipher
    - BIO_flush
    - BIO_set_cipher
    - TEST_info
    - BIO_free_all
    - RAND_bytes
    - BIO_new_mem_buf
    - BIO_push
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - BIO_read
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int do_bio_cipher(const EVP_CIPHER* cipher, const unsigned char* key,\n
      \   const unsigned char* iv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_bio_cipher
      Src: /src/openssl/test/bio_enc_test.c:228,1
    - Dst: do_bio_cipher
      Src: /src/openssl/test/bio_enc_test.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cipher
    - idx
    argTypes:
    - EVP_CIPHER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 9
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: do_test_bio_cipher
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - do_bio_cipher
    linkageType: ''
    returnType: int
    signature: int do_test_bio_cipher(const EVP_CIPHER* cipher, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/openssl/test/bio_enc_test.c:237,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/bio_enc_test.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 10
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: test_bio_enc_aes_128_cbc
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - do_test_bio_cipher
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_bio_enc_aes_128_cbc(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/openssl/test/bio_enc_test.c:242,1
    - Dst: EVP_aes_128_ctr
      Src: /src/openssl/test/bio_enc_test.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 10
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: test_bio_enc_aes_128_ctr
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - do_test_bio_cipher
    - EVP_aes_128_ctr
    linkageType: ''
    returnType: int
    signature: int test_bio_enc_aes_128_ctr(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/openssl/test/bio_enc_test.c:247,1
    - Dst: EVP_aes_256_cfb
      Src: /src/openssl/test/bio_enc_test.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 10
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: test_bio_enc_aes_256_cfb
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - do_test_bio_cipher
    - EVP_aes_256_cfb
    linkageType: ''
    returnType: int
    signature: int test_bio_enc_aes_256_cfb(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/openssl/test/bio_enc_test.c:252,1
    - Dst: EVP_aes_256_ofb
      Src: /src/openssl/test/bio_enc_test.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 10
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: test_bio_enc_aes_256_ofb
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - do_test_bio_cipher
    - EVP_aes_256_ofb
    linkageType: ''
    returnType: int
    signature: int test_bio_enc_aes_256_ofb(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/openssl/test/bio_enc_test.c:258,1
    - Dst: EVP_chacha20
      Src: /src/openssl/test/bio_enc_test.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 10
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: test_bio_enc_chacha20
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - do_test_bio_cipher
    - EVP_chacha20
    linkageType: ''
    returnType: int
    signature: int test_bio_enc_chacha20(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bio_cipher
      Src: /src/openssl/test/bio_enc_test.c:264,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/openssl/test/bio_enc_test.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 10
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: test_bio_enc_chacha20_poly1305
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - do_test_bio_cipher
    - EVP_chacha20_poly1305
    linkageType: ''
    returnType: int
    signature: int test_bio_enc_chacha20_poly1305(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/bio_enc_test.c:274,1
    - Dst: memset
      Src: /src/openssl/test/bio_enc_test.c:281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:282,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:283,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/openssl/test/bio_enc_test.c:283,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:284,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/openssl/test/bio_enc_test.c:284,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:285,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:285,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_enc_test.c:285,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:286,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:286,1
    - Dst: BIO_f_base64
      Src: /src/openssl/test/bio_enc_test.c:286,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:287,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:287,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/test/bio_enc_test.c:287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:288,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:288,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:289,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:289,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:290,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/test/bio_enc_test.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:291,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/bio_enc_test.c:291,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:292,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_enc_test.c:292,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:293,1
    - Dst: BIO_flush
      Src: /src/openssl/test/bio_enc_test.c:293,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:294,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/bio_enc_test.c:294,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_enc_test.c:297,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_enc_test.c:298,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_enc_test.c:301,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_enc_test.c:302,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:303,1
    - Dst: BIO_reset
      Src: /src/openssl/test/bio_enc_test.c:303,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:304,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:304,1
    - Dst: BIO_f_base64
      Src: /src/openssl/test/bio_enc_test.c:304,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:305,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_enc_test.c:305,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/test/bio_enc_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:306,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_enc_test.c:307,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_enc_test.c:307,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:308,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/test/bio_enc_test.c:308,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:309,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/bio_enc_test.c:309,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:310,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/bio_enc_test.c:310,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:312,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_enc_test.c:312,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:313,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/test/bio_enc_test.c:313,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_enc_test.c:315,1
    - Dst: BIO_flush
      Src: /src/openssl/test/bio_enc_test.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_enc_test.c:316,1
    - Dst: BIO_get_cipher_status
      Src: /src/openssl/test/bio_enc_test.c:316,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_enc_test.c:317,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_enc_test.c:323,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_enc_test.c:324,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_enc_test.c:325,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 327
    functionName: test_bio_enc_eof_read_flush
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_key_length
    - BIO_f_base64
    - BIO_s_mem
    - TEST_ptr
    - BIO_reset
    - BIO_get_cipher_ctx
    - BIO_new
    - BIO_write
    - BIO_get_cipher_status
    - BIO_flush
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_iv_length
    - BIO_push
    - TEST_true
    - BIO_read
    - BIO_set_flags
    - EVP_aes_256_gcm
    - BIO_f_cipher
    - BIO_free
    - EVP_CipherInit_ex
    - memset
    - BIO_set_mem_eof_return
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_enc_eof_read_flush(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_enc_test.c:331,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_enc_test.c:332,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_enc_test.c:333,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_enc_test.c:334,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_enc_test.c:336,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_enc_test.c:338,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_enc_test.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_enc_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/pemtest.c:35,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/pemtest.c:35,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:43,1
    - Dst: TEST_true
      Src: /src/openssl/test/pemtest.c:44,1
    - Dst: BIO_printf
      Src: /src/openssl/test/pemtest.c:44,1
    - Dst: TEST_true
      Src: /src/openssl/test/pemtest.c:45,1
    - Dst: BIO_printf
      Src: /src/openssl/test/pemtest.c:45,1
    - Dst: TEST_true
      Src: /src/openssl/test/pemtest.c:46,1
    - Dst: BIO_printf
      Src: /src/openssl/test/pemtest.c:46,1
    - Dst: TEST_true
      Src: /src/openssl/test/pemtest.c:47,1
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/test/pemtest.c:47,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pemtest.c:50,1
    - Dst: memcmp
      Src: /src/openssl/test/pemtest.c:50,1
    - Dst: strlen
      Src: /src/openssl/test/pemtest.c:50,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/pemtest.c:51,1
    - Dst: strlen
      Src: /src/openssl/test/pemtest.c:51,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pemtest.c:52,1
    - Dst: memcmp
      Src: /src/openssl/test/pemtest.c:52,1
    - Dst: strlen
      Src: /src/openssl/test/pemtest.c:52,1
    - Dst: BIO_free
      Src: /src/openssl/test/pemtest.c:56,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:57,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:58,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 61
    functionName: test_b64
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - memcmp
    - BIO_free
    - TEST_int_eq
    - OPENSSL_free
    - TEST_long_eq
    - BIO_s_mem
    - PEM_read_bio_ex
    - TEST_true
    - TEST_ptr
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int test_b64(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/pemtest.c:65,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/pemtest.c:65,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/pemtest.c:72,1
    - Dst: BIO_printf
      Src: /src/openssl/test/pemtest.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/pemtest.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/test/pemtest.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/pemtest.c:74,1
    - Dst: BIO_printf
      Src: /src/openssl/test/pemtest.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/pemtest.c:76,1
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/test/pemtest.c:76,1
    - Dst: BIO_free
      Src: /src/openssl/test/pemtest.c:78,1
    - Dst: BIO_free
      Src: /src/openssl/test/pemtest.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:82,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:83,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 86
    functionName: test_invalid
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - OPENSSL_free
    - BIO_s_mem
    - PEM_read_bio_ex
    - TEST_true
    - TEST_ptr
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int test_invalid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:92,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/pemtest.c:92,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pemtest.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: test_cert_key_cert
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - load_pkey_pem
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int test_cert_key_cert(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/pemtest.c:111,1
    - Dst: strlen
      Src: /src/openssl/test/pemtest.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:112,1
    - Dst: TEST_false
      Src: /src/openssl/test/pemtest.c:116,1
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/test/pemtest.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:122,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pemtest.c:123,1
    - Dst: BIO_free
      Src: /src/openssl/test/pemtest.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 126
    functionName: test_empty_payload
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - TEST_false
    - OPENSSL_free
    - TEST_ptr
    - PEM_read_bio_ex
    - BIO_new_mem_buf
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_empty_payload(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/pemtest.c:141,1
    - Dst: strlen
      Src: /src/openssl/test/pemtest.c:141,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:142,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/openssl/test/pemtest.c:146,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pemtest.c:147,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pemtest.c:152,1
    - Dst: BIO_free
      Src: /src/openssl/test/pemtest.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 155
    functionName: test_protected_params
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_Parameters
    - TEST_ptr_null
    - BIO_free
    - EVP_PKEY_free
    - TEST_ptr
    - BIO_new_mem_buf
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_protected_params(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/pemtest.c:159,1
    - Dst: test_get_argument
      Src: /src/openssl/test/pemtest.c:159,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pemtest.c:161,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/pemtest.c:161,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pemtest.c:162,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pemtest.c:163,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pemtest.c:164,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pemtest.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pemtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - OSSL_NELEM
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument_count
      Src: /src/openssl/test/ca_internals_test.c:24,1
    - Dst: TEST_error
      Src: /src/openssl/test/ca_internals_test.c:32,1
    - Dst: TEST_error
      Src: /src/openssl/test/ca_internals_test.c:33,1
    - Dst: strtol
      Src: /src/openssl/test/ca_internals_test.c:41,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ca_internals_test.c:41,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ca_internals_test.c:44,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ca_internals_test.c:49,1
    - Dst: test_asn1_string_to_time_t
      Src: /src/openssl/test/ca_internals_test.c:50,1
    - Dst: TEST_time_t_lt
      Src: /src/openssl/test/ca_internals_test.c:51,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ca_internals_test.c:55,1
    - Dst: load_index
      Src: /src/openssl/test/ca_internals_test.c:56,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ca_internals_test.c:57,1
    - Dst: do_updatedb
      Src: /src/openssl/test/ca_internals_test.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/ca_internals_test.c:67,1
    - Dst: save_index
      Src: /src/openssl/test/ca_internals_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/ca_internals_test.c:70,1
    - Dst: rotate_index
      Src: /src/openssl/test/ca_internals_test.c:70,1
    - Dst: free_index
      Src: /src/openssl/test/ca_internals_test.c:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 76
    functionName: test_do_updatedb
    functionSourceFile: /src/openssl/test/ca_internals_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - TEST_true
    - save_index
    - strtol
    - free_index
    - load_index
    - TEST_time_t_lt
    - rotate_index
    - test_asn1_string_to_time_t
    - do_updatedb
    - test_get_argument
    - test_get_argument_count
    - BIO_printf
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_do_updatedb(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/openssl/test/ca_internals_test.c:80,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/ca_internals_test.c:82,1
    - Dst: TEST_error
      Src: /src/openssl/test/ca_internals_test.c:83,1
    - Dst: strcmp
      Src: /src/openssl/test/ca_internals_test.c:87,1
    - Dst: test_do_updatedb
      Src: /src/openssl/test/ca_internals_test.c:88,1
    - Dst: TEST_error
      Src: /src/openssl/test/ca_internals_test.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ca_internals_test.c
    functionUses: 0
    functionsReached:
    - test_do_updatedb
    - test_get_argument_count
    - test_get_argument
    - strcmp
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:65,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:65,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:67,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - op_name
    - a
    - b
    - is_true
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: test_binary_op
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - op
    linkageType: ''
    returnType: int
    signature: "int test_binary_op(unsigned int (*op) (unsigned int a, unsigned int
      b),\n                          const char *op_name, unsigned int a, unsigned
      int b,\n                          int is_true)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:77,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:77,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:79,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - op_name
    - a
    - b
    - is_true
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: test_binary_op_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - op
    linkageType: ''
    returnType: int
    signature: "int test_binary_op_8(unsigned\n                            char (*op)
      (unsigned int a, unsigned int b),\n                            const char *op_name,
      unsigned int a,\n                            unsigned int b, int is_true)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:88,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:88,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:90,1
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - op_name
    - a
    - b
    - is_true
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: test_binary_op_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - op
    linkageType: ''
    returnType: int
    signature: "int test_binary_op_s(size_t (*op) (size_t a, size_t b),\n                            const
      char *op_name, size_t a, size_t b,\n                            int is_true)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: op
      Src: /src/openssl/test/constant_time_test.c:99,1
    - Dst: TEST_error
      Src: /src/openssl/test/constant_time_test.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/test/constant_time_test.c:103,1
    - Dst: TEST_error
      Src: /src/openssl/test/constant_time_test.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/test/constant_time_test.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - op_name
    - a
    - b
    - is_true
    argTypes:
    - char*
    - uint64_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: test_binary_op_64
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - op
    - BIO_printf
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int test_binary_op_64(uint64_t (*op)(uint64_t a, uint64_t b),\n                             const
      char *op_name, uint64_t a, uint64_t b,\n                             int is_true)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:117,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/test/constant_time_test.c:117,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:119,1
    - Dst: constant_time_is_zero
      Src: /src/openssl/test/constant_time_test.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: test_is_zero
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - constant_time_is_zero
    linkageType: ''
    returnType: int
    signature: int test_is_zero(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:128,1
    - Dst: constant_time_is_zero_8
      Src: /src/openssl/test/constant_time_test.c:128,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:130,1
    - Dst: constant_time_is_zero_8
      Src: /src/openssl/test/constant_time_test.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: test_is_zero_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - constant_time_is_zero_8
    linkageType: ''
    returnType: int
    signature: int test_is_zero_8(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/constant_time_test.c:139,1
    - Dst: constant_time_is_zero_32
      Src: /src/openssl/test/constant_time_test.c:139,1
    - Dst: TEST_true
      Src: /src/openssl/test/constant_time_test.c:141,1
    - Dst: constant_time_is_zero_32
      Src: /src/openssl/test/constant_time_test.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: test_is_zero_32
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_is_zero_32
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_is_zero_32(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:150,1
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/test/constant_time_test.c:150,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:152,1
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/test/constant_time_test.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: test_is_zero_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - constant_time_is_zero_s
    linkageType: ''
    returnType: int
    signature: int test_is_zero_s(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:159,1
    - Dst: constant_time_select
      Src: /src/openssl/test/constant_time_test.c:159,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:161,1
    - Dst: constant_time_select
      Src: /src/openssl/test/constant_time_test.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: test_select
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    - constant_time_select
    linkageType: ''
    returnType: int
    signature: int test_select(unsigned int a, unsigned int b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:168,1
    - Dst: constant_time_select_8
      Src: /src/openssl/test/constant_time_test.c:168,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:170,1
    - Dst: constant_time_select_8
      Src: /src/openssl/test/constant_time_test.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: test_select_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_select_8
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_select_8(unsigned char a, unsigned char b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/constant_time_test.c:177,1
    - Dst: constant_time_select_32
      Src: /src/openssl/test/constant_time_test.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/constant_time_test.c:179,1
    - Dst: constant_time_select_32
      Src: /src/openssl/test/constant_time_test.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: test_select_32
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_select_32
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_select_32(uint32_t a, uint32_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:186,1
    - Dst: constant_time_select_s
      Src: /src/openssl/test/constant_time_test.c:186,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:188,1
    - Dst: constant_time_select_s
      Src: /src/openssl/test/constant_time_test.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: test_select_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - constant_time_select_s
    linkageType: ''
    returnType: int
    signature: int test_select_s(size_t a, size_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select_64
      Src: /src/openssl/test/constant_time_test.c:195,1
    - Dst: TEST_error
      Src: /src/openssl/test/constant_time_test.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/test/constant_time_test.c:199,1
    - Dst: constant_time_select_64
      Src: /src/openssl/test/constant_time_test.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/test/constant_time_test.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: test_select_64
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_error
    - BIO_printf
    - constant_time_select_64
    linkageType: ''
    returnType: int
    signature: int test_select_64(uint64_t a, uint64_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/constant_time_test.c:212,1
    - Dst: constant_time_select_int
      Src: /src/openssl/test/constant_time_test.c:212,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/constant_time_test.c:214,1
    - Dst: constant_time_select_int
      Src: /src/openssl/test/constant_time_test.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: test_select_int
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_select_int
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_select_int(int a, int b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/constant_time_test.c:221,1
    - Dst: constant_time_eq_int_8
      Src: /src/openssl/test/constant_time_test.c:221,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/constant_time_test.c:223,1
    - Dst: constant_time_eq_int_8
      Src: /src/openssl/test/constant_time_test.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: test_eq_int_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_eq_int_8
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_eq_int_8(int a, int b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:230,1
    - Dst: constant_time_eq_s
      Src: /src/openssl/test/constant_time_test.c:230,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/constant_time_test.c:232,1
    - Dst: constant_time_eq_s
      Src: /src/openssl/test/constant_time_test.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: test_eq_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - constant_time_eq_s
    linkageType: ''
    returnType: int
    signature: int test_eq_s(size_t a, size_t b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:239,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/test/constant_time_test.c:239,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:241,1
    - Dst: constant_time_eq_int
      Src: /src/openssl/test/constant_time_test.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: test_eq_int
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - constant_time_eq_int
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_eq_int(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/constant_time_test.c:248,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:248,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 251
    functionName: test_sizeofs
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_sizeofs(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:259,1
    - Dst: test_select
      Src: /src/openssl/test/constant_time_test.c:262,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:263,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:265,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:267,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:269,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:271,1
    - Dst: test_binary_op
      Src: /src/openssl/test/constant_time_test.c:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: test_binops
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_binary_op
    - OSSL_NELEM
    - test_select
    linkageType: ''
    returnType: int
    signature: int test_binops(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:286,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:289,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:291,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:293,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:295,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:297,1
    - Dst: test_binary_op_8
      Src: /src/openssl/test/constant_time_test.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 304
    functionName: test_binops_8
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - test_binary_op_8
    linkageType: ''
    returnType: int
    signature: int test_binops_8(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:312,1
    - Dst: test_select_s
      Src: /src/openssl/test/constant_time_test.c:315,1
    - Dst: test_eq_s
      Src: /src/openssl/test/constant_time_test.c:316,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:317,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:319,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:321,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:323,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:325,1
    - Dst: test_binary_op_s
      Src: /src/openssl/test/constant_time_test.c:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 332
    functionName: test_binops_s
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - test_binary_op_s
    - test_eq_s
    - test_select_s
    linkageType: ''
    returnType: int
    signature: int test_binops_s(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:340,1
    - Dst: test_select_int
      Src: /src/openssl/test/constant_time_test.c:343,1
    - Dst: test_eq_int
      Src: /src/openssl/test/constant_time_test.c:344,1
    - Dst: test_eq_int_8
      Src: /src/openssl/test/constant_time_test.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 349
    functionName: test_signed
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_eq_int
    - OSSL_NELEM
    - test_select_int
    - test_eq_int_8
    linkageType: ''
    returnType: int
    signature: int test_signed(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_select_8
      Src: /src/openssl/test/constant_time_test.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: test_8values
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_select_8
    linkageType: ''
    returnType: int
    signature: int test_8values(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:372,1
    - Dst: test_select_32
      Src: /src/openssl/test/constant_time_test.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: test_32values
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_select_32
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_32values(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:386,1
    - Dst: test_binary_op_64
      Src: /src/openssl/test/constant_time_test.c:389,1
    - Dst: test_select_64
      Src: /src/openssl/test/constant_time_test.c:391,1
    - Dst: TEST_info
      Src: /src/openssl/test/constant_time_test.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 397
    functionName: test_64values
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - test_binary_op_64
    - OSSL_NELEM
    - test_select_64
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_64values(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/constant_time_test.c:401,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:402,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:402,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:403,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:403,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:404,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:404,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:405,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:405,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:406,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:406,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:407,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:407,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:408,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:408,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:409,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:409,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:410,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:410,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:411,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:411,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/constant_time_test.c:412,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/constant_time_test.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 414
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/constant_time_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_byname_test.c:21,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/evp_byname_test.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: test_evp_get_digestbyname
    functionSourceFile: /src/openssl/test/evp_byname_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_get_digestbyname
    linkageType: ''
    returnType: int
    signature: int test_evp_get_digestbyname(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_byname_test.c:30,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/test/evp_byname_test.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: test_evp_get_cipherbyname
    functionSourceFile: /src/openssl/test/evp_byname_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_get_cipherbyname
    linkageType: ''
    returnType: int
    signature: int test_evp_get_cipherbyname(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_byname_test.c:37,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_byname_test.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_byname_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get_rand_method
      Src: /src/openssl/test/drbgtest.c:45,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/test/drbgtest.c:47,1
    - Dst: RAND_METHOD*::bytes
      Src: /src/openssl/test/drbgtest.c:49,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/drbgtest.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - drbg
    - buf
    - num
    argTypes:
    - EVP_RAND_CTX*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: gen_bytes
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_generate
    - RAND_get_rand_method
    - RAND_METHOD*::bytes
    - RAND_OpenSSL
    linkageType: ''
    returnType: int
    signature: int gen_bytes(EVP_RAND_CTX *drbg, unsigned char *buf, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_bytes
      Src: /src/openssl/test/drbgtest.c:61,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/drbgtest.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 14
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: rand_bytes
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 1
    functionsReached:
    - gen_bytes
    - RAND_get0_public
    linkageType: ''
    returnType: int
    signature: int rand_bytes(unsigned char *buf, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_bytes
      Src: /src/openssl/test/drbgtest.c:66,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/drbgtest.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 14
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: rand_priv_bytes
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - gen_bytes
    - RAND_get0_private
    linkageType: ''
    returnType: int
    signature: int rand_priv_bytes(unsigned char *buf, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_get_state
      Src: /src/openssl/test/drbgtest.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: state
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 31
    functionsReached:
    - EVP_RAND_get_state
    linkageType: ''
    returnType: int
    signature: int state(EVP_RAND_CTX *drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/drbgtest.c:86,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/test/drbgtest.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - drbg
    - name
    argTypes:
    - EVP_RAND_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: query_rand_uint
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_RAND_CTX_get_params
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int query_rand_uint(EVP_RAND_CTX *drbg, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: DRBG_UINT
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DRBG_UINT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: prov_rand
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_DRBG
    signature: PROV_DRBG *prov_rand(EVP_RAND_CTX *drbg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - drbg
    - n
    argTypes:
    - EVP_RAND_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: set_reseed_counter
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - prov_rand
    linkageType: ''
    returnType: void
    signature: void set_reseed_counter(EVP_RAND_CTX *drbg, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_reseed_counter
      Src: /src/openssl/test/drbgtest.c:113,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: inc_reseed_counter
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - set_reseed_counter
    - reseed_counter
    linkageType: ''
    returnType: void
    signature: void inc_reseed_counter(EVP_RAND_CTX *drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_time_t
      Src: /src/openssl/test/drbgtest.c:121,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/test/drbgtest.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: reseed_time
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_time_t
    - EVP_RAND_CTX_get_params
    linkageType: ''
    returnType: time_t
    signature: time_t reseed_time(EVP_RAND_CTX *drbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_get0_primary
      Src: /src/openssl/test/drbgtest.c:134,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:138,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/test/drbgtest.c:141,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/openssl/test/drbgtest.c:141,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:142,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/drbgtest.c:144,1
    - Dst: strstr
      Src: /src/openssl/test/drbgtest.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 13
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: using_fips_rng
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX_get0_rand
    - strstr
    - OSSL_PROVIDER_get0_name
    - RAND_get0_primary
    - EVP_RAND_get0_provider
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int using_fips_rng(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: disable_crngt
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int disable_crngt(EVP_RAND_CTX *drbg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_ne
      Src: /src/openssl/test/drbgtest.c:202,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:202,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/drbgtest.c:203,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:203,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/drbgtest.c:204,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:204,1
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:212,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:216,1
    - Dst: rand_bytes
      Src: /src/openssl/test/drbgtest.c:216,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:218,1
    - Dst: rand_priv_bytes
      Src: /src/openssl/test/drbgtest.c:218,1
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:221,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:229,1
    - Dst: state
      Src: /src/openssl/test/drbgtest.c:229,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:230,1
    - Dst: state
      Src: /src/openssl/test/drbgtest.c:230,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:231,1
    - Dst: state
      Src: /src/openssl/test/drbgtest.c:231,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/drbgtest.c:236,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:236,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/drbgtest.c:242,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:242,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/drbgtest.c:243,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:243,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:244,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/drbgtest.c:250,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:250,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/drbgtest.c:251,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:251,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:252,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/drbgtest.c:258,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:258,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/drbgtest.c:259,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:259,1
    - Dst: TEST_time_t_ge
      Src: /src/openssl/test/drbgtest.c:263,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:263,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:263,1
    - Dst: TEST_time_t_ge
      Src: /src/openssl/test/drbgtest.c:264,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:264,1
    - Dst: reseed_time
      Src: /src/openssl/test/drbgtest.c:264,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/drbgtest.c:267,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    argCount: 10
    argNames:
    - expect_success
    - primary
    - public
    - private
    - public_random
    - private_random
    - expect_primary_reseed
    - expect_public_reseed
    - expect_private_reseed
    - reseed_when
    argTypes:
    - int
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    - unsigned char*
    - unsigned char*
    - int
    - int
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 174
    functionDepth: 15
    functionLinenumber: 174
    functionLinenumberEnd: 271
    functionName: test_drbg_reseed
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - time
    - rand_bytes
    - TEST_uint_ge
    - TEST_int_ne
    - TEST_time_t_le
    - TEST_time_t_ge
    - ERR_clear_error
    - TEST_int_ge
    - rand_priv_bytes
    - TEST_int_eq
    - state
    - reseed_counter
    - reseed_time
    linkageType: ''
    returnType: int
    signature: "int test_drbg_reseed(int expect_success,\n                            EVP_RAND_CTX
      *primary,\n                            EVP_RAND_CTX *public,\n                            EVP_RAND_CTX
      *private,\n                            unsigned char *public_random,\n                            unsigned
      char *private_random,\n                            int expect_primary_reseed,\n
      \                           int expect_public_reseed,\n                            int
      expect_private_reseed,\n                            time_t reseed_when\n                           )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/drbgtest.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: compare_drbg_fork_result
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int compare_drbg_fork_result(const void *left, const void *right)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/drbgtest.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: compare_rand_chunk
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int compare_rand_chunk(const void *left, const void *right)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_ge
      Src: /src/openssl/test/drbgtest.c:340,1
    - Dst: pipe
      Src: /src/openssl/test/drbgtest.c:340,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/drbgtest.c:343,1
    - Dst: fork
      Src: /src/openssl/test/drbgtest.c:343,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:344,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:345,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:350,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:353,1
    - Dst: waitpid
      Src: /src/openssl/test/drbgtest.c:353,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:355,1
    - Dst: read
      Src: /src/openssl/test/drbgtest.c:355,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:361,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:366,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:372,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:379,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:382,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:382,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:385,1
    - Dst: write
      Src: /src/openssl/test/drbgtest.c:385,1
    - Dst: close
      Src: /src/openssl/test/drbgtest.c:392,1
    - Dst: exit
      Src: /src/openssl/test/drbgtest.c:395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - primary
    - public
    - private
    - result
    argTypes:
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    - drbg_fork_result[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 330
    functionDepth: 16
    functionLinenumber: 330
    functionLinenumberEnd: 397
    functionName: test_drbg_reseed_in_child
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - write
    - fork
    - exit
    - pipe
    - read
    - memcpy
    - close
    - TEST_int_ge
    - TEST_int_eq
    - TEST_true
    - test_drbg_reseed
    - waitpid
    linkageType: ''
    returnType: int
    signature: "int test_drbg_reseed_in_child(EVP_RAND_CTX *primary,\n                                     EVP_RAND_CTX
      *public,\n                                     EVP_RAND_CTX *private,\n                                     drbg_fork_result
      result[2])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/openssl/test/drbgtest.c:404,1
    - Dst: getenv
      Src: /src/openssl/test/drbgtest.c:405,1
    - Dst: memset
      Src: /src/openssl/test/drbgtest.c:414,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/drbgtest.c:420,1
    - Dst: strcpy
      Src: /src/openssl/test/drbgtest.c:421,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:424,1
    - Dst: test_drbg_reseed_in_child
      Src: /src/openssl/test/drbgtest.c:424,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:434,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:434,1
    - Dst: strcpy
      Src: /src/openssl/test/drbgtest.c:440,1
    - Dst: strcpy
      Src: /src/openssl/test/drbgtest.c:441,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:446,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:451,1
    - Dst: memcpy
      Src: /src/openssl/test/drbgtest.c:455,1
    - Dst: qsort
      Src: /src/openssl/test/drbgtest.c:460,1
    - Dst: TEST_note
      Src: /src/openssl/test/drbgtest.c:473,1
    - Dst: TEST_note
      Src: /src/openssl/test/drbgtest.c:479,1
    - Dst: qsort
      Src: /src/openssl/test/drbgtest.c:486,1
    - Dst: compare_rand_chunk
      Src: /src/openssl/test/drbgtest.c:490,1
    - Dst: TEST_note
      Src: /src/openssl/test/drbgtest.c:496,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/test/drbgtest.c:503,1
    - Dst: TEST_note
      Src: /src/openssl/test/drbgtest.c:505,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/drbgtest.c:512,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 3
    argNames:
    - primary
    - public
    - private
    argTypes:
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 399
    functionDepth: 17
    functionLinenumber: 399
    functionLinenumberEnd: 517
    functionName: test_rand_reseed_on_fork
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - strcpy
    - compare_rand_chunk
    - memset
    - TEST_note
    - memcpy
    - OPENSSL_buf2hexstr
    - BIO_snprintf
    - OPENSSL_free
    - TEST_true
    - test_drbg_reseed
    - test_drbg_reseed_in_child
    - getenv
    - getpid
    - qsort
    linkageType: ''
    returnType: int
    signature: "int test_rand_reseed_on_fork(EVP_RAND_CTX *primary,\n                                    EVP_RAND_CTX
      *public,\n                                    EVP_RAND_CTX *private)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:526,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/test/drbgtest.c:526,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:527,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/drbgtest.c:527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:528,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/drbgtest.c:528,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:532,1
    - Dst: test_rand_reseed_on_fork
      Src: /src/openssl/test/drbgtest.c:532,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:536,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/drbgtest.c:536,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:536,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/drbgtest.c:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 519
    functionDepth: 18
    functionLinenumber: 519
    functionLinenumberEnd: 540
    functionName: test_rand_fork_safety
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - test_rand_reseed_on_fork
    - RAND_get0_private
    - RAND_get0_primary
    - RAND_bytes
    - TEST_true
    - TEST_ptr
    - RAND_get0_public
    - RAND_priv_bytes
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_rand_fork_safety(int i)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: using_fips_rng
      Src: /src/openssl/test/drbgtest.c:555,1
    - Dst: TEST_skip
      Src: /src/openssl/test/drbgtest.c:556,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/drbgtest.c:560,1
    - Dst: RAND_get_rand_method
      Src: /src/openssl/test/drbgtest.c:560,1
    - Dst: RAND_OpenSSL
      Src: /src/openssl/test/drbgtest.c:560,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:565,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/test/drbgtest.c:565,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:566,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/drbgtest.c:566,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:567,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/drbgtest.c:567,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/drbgtest.c:571,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/drbgtest.c:572,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/drbgtest.c:573,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/drbgtest.c:574,1
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:574,1
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:574,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/drbgtest.c:575,1
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:575,1
    - Dst: prov_rand
      Src: /src/openssl/test/drbgtest.c:575,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:579,1
    - Dst: disable_crngt
      Src: /src/openssl/test/drbgtest.c:579,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/drbgtest.c:583,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/drbgtest.c:584,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/drbgtest.c:585,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:590,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:590,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:599,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:599,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:609,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:610,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:610,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:620,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:621,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:622,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:622,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:632,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:633,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:634,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:634,1
    - Dst: memset
      Src: /src/openssl/test/drbgtest.c:641,1
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:651,1
    - Dst: RAND_add
      Src: /src/openssl/test/drbgtest.c:652,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:653,1
    - Dst: test_drbg_reseed
      Src: /src/openssl/test/drbgtest.c:653,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 548
    functionDepth: 16
    functionLinenumber: 548
    functionLinenumberEnd: 664
    functionName: test_rand_reseed
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - RAND_add
    - TEST_ptr
    - RAND_get0_public
    - RAND_get0_private
    - RAND_get0_primary
    - TEST_true
    - test_drbg_reseed
    - time
    - RAND_OpenSSL
    - inc_reseed_counter
    - TEST_skip
    - prov_rand
    - using_fips_rng
    - disable_crngt
    - memset
    - TEST_ptr_ne
    - EVP_RAND_uninstantiate
    - RAND_get_rand_method
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_rand_reseed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/drbgtest.c:674,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/drbgtest.c:676,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/drbgtest.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - drbg
    - t
    argTypes:
    - EVP_RAND_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 678
    functionName: set_reseed_time_interval
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_RAND_CTX_set_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int set_reseed_time_interval(EVP_RAND_CTX *drbg, int t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:683,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:686,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/drbgtest.c:686,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:687,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/drbgtest.c:687,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:688,1
    - Dst: set_reseed_time_interval
      Src: /src/openssl/test/drbgtest.c:688,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:689,1
    - Dst: set_reseed_time_interval
      Src: /src/openssl/test/drbgtest.c:689,1
    - Dst: rand_bytes
      Src: /src/openssl/test/drbgtest.c:695,1
    - Dst: rand_priv_bytes
      Src: /src/openssl/test/drbgtest.c:697,1
    - Dst: time
      Src: /src/openssl/test/drbgtest.c:700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 680
    functionDepth: 15
    functionLinenumber: 680
    functionLinenumberEnd: 701
    functionName: run_multi_thread_test
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - time
    - rand_bytes
    - set_reseed_time_interval
    - RAND_get0_private
    - TEST_true
    - TEST_ptr
    - RAND_get0_public
    - rand_priv_bytes
    linkageType: ''
    returnType: void
    signature: void run_multi_thread_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_multi_thread_test
      Src: /src/openssl/test/drbgtest.c:709,1
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/test/drbgtest.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 707
    functionDepth: 16
    functionLinenumber: 707
    functionLinenumberEnd: 716
    functionName: thread_run
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_thread_stop
    - run_multi_thread_test
    linkageType: ''
    returnType: DWORD
    signature: DWORD thread_run(LPVOID arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/openssl/test/drbgtest.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 722
    functionName: run_thread
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 5
    functionsReached:
    - CreateThread
    linkageType: ''
    returnType: int
    signature: int run_thread(thread_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/openssl/test/drbgtest.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: wait_for_thread
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 5
    functionsReached:
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int wait_for_thread(thread_t thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_multi_thread_test
      Src: /src/openssl/test/drbgtest.c:735,1
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/test/drbgtest.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 16
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: thread_run
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_thread_stop
    - run_multi_thread_test
    linkageType: ''
    returnType: void
    signature: void *thread_run(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/openssl/test/drbgtest.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: run_thread
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 5
    functionsReached:
    - pthread_create
    linkageType: ''
    returnType: int
    signature: int run_thread(thread_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/openssl/test/drbgtest.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: wait_for_thread
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 5
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int wait_for_thread(thread_t thread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: run_thread
      Src: /src/openssl/test/drbgtest.c:768,1
    - Dst: run_multi_thread_test
      Src: /src/openssl/test/drbgtest.c:769,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/drbgtest.c:771,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:773,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 762
    functionDepth: 16
    functionLinenumber: 762
    functionLinenumberEnd: 779
    functionName: test_multi_thread
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - wait_for_thread
    - run_thread
    - run_multi_thread_test
    linkageType: ''
    returnType: int
    signature: int test_multi_thread(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/drbgtest.c:788,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/drbgtest.c:790,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:792,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/drbgtest.c:792,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:793,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/drbgtest.c:793,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:794,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/drbgtest.c:794,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/drbgtest.c:795,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/drbgtest.c:798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - parent
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 782
    functionDepth: 10
    functionLinenumber: 782
    functionLinenumberEnd: 800
    functionName: new_drbg
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 3
    functionsReached:
    - EVP_RAND_fetch
    - EVP_RAND_free
    - EVP_RAND_CTX_free
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - EVP_RAND_CTX_set_params
    - TEST_true
    - TEST_ptr
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: EVP_RAND_CTX
    signature: EVP_RAND_CTX *new_drbg(EVP_RAND_CTX *parent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: using_fips_rng
      Src: /src/openssl/test/drbgtest.c:808,1
    - Dst: TEST_skip
      Src: /src/openssl/test/drbgtest.c:809,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:812,1
    - Dst: new_drbg
      Src: /src/openssl/test/drbgtest.c:812,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:813,1
    - Dst: disable_crngt
      Src: /src/openssl/test/drbgtest.c:813,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:814,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/drbgtest.c:814,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:815,1
    - Dst: new_drbg
      Src: /src/openssl/test/drbgtest.c:815,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:816,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/drbgtest.c:816,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/drbgtest.c:817,1
    - Dst: new_drbg
      Src: /src/openssl/test/drbgtest.c:817,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:818,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/drbgtest.c:818,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:825,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:826,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:827,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:828,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:829,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/test/drbgtest.c:829,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:830,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:830,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:831,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:831,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:832,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:832,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:839,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:840,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/test/drbgtest.c:840,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:841,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:841,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:842,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:842,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:843,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:843,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:848,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:849,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:850,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:851,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:852,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/drbgtest.c:852,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:853,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:853,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:854,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:854,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:855,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:855,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:862,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:863,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/drbgtest.c:863,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:864,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:864,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:865,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:865,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:866,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:866,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/drbgtest.c:867,1
    - Dst: inc_reseed_counter
      Src: /src/openssl/test/drbgtest.c:871,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:872,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:873,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:874,1
    - Dst: TEST_true
      Src: /src/openssl/test/drbgtest.c:875,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/test/drbgtest.c:875,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:876,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:876,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/drbgtest.c:877,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:877,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/drbgtest.c:878,1
    - Dst: reseed_counter
      Src: /src/openssl/test/drbgtest.c:878,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/drbgtest.c:883,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/drbgtest.c:884,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/drbgtest.c:885,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 802
    functionDepth: 14
    functionLinenumber: 802
    functionLinenumberEnd: 887
    functionName: test_rand_prediction_resistance
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - new_drbg
    - TEST_mem_ne
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - EVP_RAND_reseed
    - inc_reseed_counter
    - TEST_skip
    - TEST_int_eq
    - using_fips_rng
    - EVP_RAND_generate
    - TEST_true
    - disable_crngt
    - TEST_ptr
    - reseed_counter
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_rand_prediction_resistance(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/drbgtest.c:891,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/drbgtest.c:893,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/drbgtest.c:895,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/drbgtest.c:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 900
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/drbgtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/provider_fallback_test.c:21,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_fallback_test.c:21,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_fallback_test.c:22,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/test/provider_fallback_test.c:22,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_fallback_test.c:23,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/test/provider_fallback_test.c:23,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_fallback_test.c:24,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_fallback_test.c:24,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/provider_fallback_test.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 15
    functionDepth: 10
    functionLinenumber: 15
    functionLinenumberEnd: 28
    functionName: test_provider
    functionSourceFile: /src/openssl/test/provider_fallback_test.c
    functionUses: 3
    functionsReached:
    - TEST_str_eq
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_get0_name
    - EVP_KEYMGMT_fetch
    - EVP_KEYMGMT_get0_provider
    - TEST_true
    - TEST_ptr
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: int
    signature: int test_provider(OSSL_LIB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_provider
      Src: /src/openssl/test/provider_fallback_test.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: test_fallback_provider
    functionSourceFile: /src/openssl/test/provider_fallback_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    linkageType: ''
    returnType: int
    signature: int test_fallback_provider(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_fallback_test.c:41,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_fallback_test.c:41,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_fallback_test.c:42,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_fallback_test.c:42,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_fallback_test.c:45,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_fallback_test.c:47,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_fallback_test.c:47,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_fallback_test.c:49,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_fallback_test.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: test_explicit_provider
    functionSourceFile: /src/openssl/test/provider_fallback_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - test_provider
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_explicit_provider(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_fallback_test.c:59,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_fallback_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/provider_fallback_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/memleaktest.c:49,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/memleaktest.c:50,1
    - Dst: strcpy
      Src: /src/openssl/test/memleaktest.c:53,1
    - Dst: strcmp
      Src: /src/openssl/test/memleaktest.c:55,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/memleaktest.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/openssl/test/memleaktest.c
    functionUses: 5
    functionsReached:
    - strcpy
    - OPENSSL_free
    - strcmp
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_first
      Src: /src/openssl/test/enginetest.c:35,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/test/enginetest.c:35,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:36,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/test/enginetest.c:37,1
    - Dst: ENGINE_get_name
      Src: /src/openssl/test/enginetest.c:37,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: display_engine_list
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - ENGINE_get_id
    - TEST_info
    - ENGINE_get_first
    - ENGINE_get_name
    - ENGINE_get_next
    linkageType: ''
    returnType: void
    signature: void display_engine_list(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/enginetest.c:63,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:64,1
    - Dst: ENGINE_new
      Src: /src/openssl/test/enginetest.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:65,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/test/enginetest.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:66,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/test/enginetest.c:66,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:67,1
    - Dst: ENGINE_new
      Src: /src/openssl/test/enginetest.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:68,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/test/enginetest.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:69,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/test/enginetest.c:69,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:70,1
    - Dst: ENGINE_new
      Src: /src/openssl/test/enginetest.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:71,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/test/enginetest.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:72,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/test/enginetest.c:72,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:73,1
    - Dst: ENGINE_new
      Src: /src/openssl/test/enginetest.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:74,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/test/enginetest.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:75,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/test/enginetest.c:75,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:77,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:78,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:80,1
    - Dst: ENGINE_add
      Src: /src/openssl/test/enginetest.c:80,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:82,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:83,1
    - Dst: ENGINE_get_first
      Src: /src/openssl/test/enginetest.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:86,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/enginetest.c:86,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:88,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:89,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:92,1
    - Dst: ENGINE_add
      Src: /src/openssl/test/enginetest.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:93,1
    - Dst: ENGINE_add
      Src: /src/openssl/test/enginetest.c:93,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:95,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:98,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/enginetest.c:98,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:100,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:101,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:103,1
    - Dst: ENGINE_add
      Src: /src/openssl/test/enginetest.c:103,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:105,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:106,1
    - Dst: TEST_false
      Src: /src/openssl/test/enginetest.c:109,1
    - Dst: ENGINE_add
      Src: /src/openssl/test/enginetest.c:109,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/enginetest.c:111,1
    - Dst: TEST_false
      Src: /src/openssl/test/enginetest.c:114,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/enginetest.c:114,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/enginetest.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:118,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/enginetest.c:118,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:120,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:123,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/enginetest.c:123,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:125,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:126,1
    - Dst: ENGINE_get_first
      Src: /src/openssl/test/enginetest.c:136,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/enginetest.c:137,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:138,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:140,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:141,1
    - Dst: display_engine_list
      Src: /src/openssl/test/enginetest.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:144,1
    - Dst: ENGINE_add
      Src: /src/openssl/test/enginetest.c:144,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:145,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/enginetest.c:145,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:148,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/enginetest.c:150,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/enginetest.c:151,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/enginetest.c:152,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/enginetest.c:153,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:154,1
    - Dst: ENGINE_new
      Src: /src/openssl/test/enginetest.c:154,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:155,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/test/enginetest.c:155,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:156,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/test/enginetest.c:156,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:160,1
    - Dst: ENGINE_add
      Src: /src/openssl/test/enginetest.c:160,1
    - Dst: test_note
      Src: /src/openssl/test/enginetest.c:161,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/test/enginetest.c:162,1
    - Dst: ENGINE_get_name
      Src: /src/openssl/test/enginetest.c:163,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:168,1
    - Dst: ENGINE_get_first
      Src: /src/openssl/test/enginetest.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:170,1
    - Dst: ENGINE_remove
      Src: /src/openssl/test/enginetest.c:170,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/enginetest.c:175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/enginetest.c:176,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:181,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:182,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:183,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:184,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:186,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 188
    functionName: test_engines
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 0
    functionsReached:
    - display_engine_list
    - BIO_snprintf
    - OPENSSL_free
    - TEST_ptr
    - ENGINE_set_id
    - ENGINE_free
    - ENGINE_new
    - ERR_clear_error
    - ENGINE_get_id
    - ENGINE_set_name
    - TEST_info
    - OPENSSL_strdup
    - ENGINE_get_name
    - ENGINE_remove
    - TEST_true
    - test_note
    - ENGINE_add
    - memset
    - TEST_false
    - ENGINE_get_first
    linkageType: ''
    returnType: int
    signature: int test_engines(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: test_encrypt
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int test_encrypt(EVP_PKEY_CTX *ctx, unsigned char *sig,\n                        size_t
      *siglen, const unsigned char *tbs, size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - e
    - pmeth
    - pnids
    - nid
    argTypes:
    - ENGINE*
    - EVP_PKEY_METHOD**
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: test_pkey_meths
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int test_pkey_meths(ENGINE *e, EVP_PKEY_METHOD **pmeth,\n                           const
      int **pnids, int nid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/openssl/test/enginetest.c:233,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/enginetest.c:234,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/enginetest.c:236,1
    - Dst: RSA_free
      Src: /src/openssl/test/enginetest.c:237,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/enginetest.c:238,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/enginetest.c:242,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/enginetest.c:242,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/enginetest.c:243,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/enginetest.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 223
    functionDepth: 6
    functionLinenumber: 223
    functionLinenumberEnd: 249
    functionName: get_test_pkey
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 0
    functionsReached:
    - RSA_set0_key
    - RSA_free
    - EVP_PKEY_new
    - RSA_new
    - EVP_PKEY_assign_RSA
    - EVP_PKEY_free
    - BN_bin2bn
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_test_pkey(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:262,1
    - Dst: get_test_pkey
      Src: /src/openssl/test/enginetest.c:262,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/enginetest.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:266,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/enginetest.c:266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:269,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/enginetest.c:269,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:271,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/enginetest.c:273,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/enginetest.c:273,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/enginetest.c:274,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/enginetest.c:274,1
    - Dst: TEST_false
      Src: /src/openssl/test/enginetest.c:275,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/enginetest.c:277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:281,1
    - Dst: ENGINE_new
      Src: /src/openssl/test/enginetest.c:281,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:282,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/test/enginetest.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:283,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/test/enginetest.c:283,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/enginetest.c:291,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/enginetest.c:291,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/enginetest.c:292,1
    - Dst: EVP_PKEY_set1_engine
      Src: /src/openssl/test/enginetest.c:292,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:296,1
    - Dst: EVP_PKEY_meth_new
      Src: /src/openssl/test/enginetest.c:296,1
    - Dst: ENGINE_set_pkey_meths
      Src: /src/openssl/test/enginetest.c:298,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:301,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/enginetest.c:301,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/enginetest.c:304,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/enginetest.c:304,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/enginetest.c:306,1
    - Dst: EVP_PKEY_meth_set_encrypt
      Src: /src/openssl/test/enginetest.c:310,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:312,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:313,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/enginetest.c:313,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/enginetest.c:316,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/enginetest.c:316,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/enginetest.c:317,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/enginetest.c:317,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:318,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/enginetest.c:321,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:326,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/enginetest.c:326,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/enginetest.c:327,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/enginetest.c:327,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/enginetest.c:328,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/enginetest.c:328,1
    - Dst: TEST_false
      Src: /src/openssl/test/enginetest.c:329,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/enginetest.c:332,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:336,1
    - Dst: EVP_PKEY_set1_engine
      Src: /src/openssl/test/enginetest.c:336,1
    - Dst: TEST_info
      Src: /src/openssl/test/enginetest.c:339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:342,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/enginetest.c:342,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/enginetest.c:343,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/enginetest.c:343,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/enginetest.c:344,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/enginetest.c:344,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:345,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/enginetest.c:351,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/enginetest.c:352,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:353,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/enginetest.c:354,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 251
    functionDepth: 7
    functionLinenumber: 251
    functionLinenumberEnd: 356
    functionName: test_redirect
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_new
    - TEST_int_le
    - EVP_PKEY_get_size
    - OPENSSL_free
    - TEST_ptr
    - ENGINE_set_id
    - ENGINE_free
    - ENGINE_new
    - TEST_info
    - ENGINE_set_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_meth_new
    - TEST_true
    - EVP_PKEY_set1_engine
    - OPENSSL_malloc
    - ENGINE_set_pkey_meths
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_encrypt
    - TEST_ptr_null
    - EVP_PKEY_meth_set_encrypt
    - TEST_false
    - get_test_pkey
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_redirect(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:367,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/enginetest.c:367,1
    - Dst: test_get_argument
      Src: /src/openssl/test/enginetest.c:367,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:368,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/enginetest.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:372,1
    - Dst: X509_dup
      Src: /src/openssl/test/enginetest.c:372,1
    - Dst: X509_free
      Src: /src/openssl/test/enginetest.c:374,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:377,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/test/enginetest.c:377,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:378,1
    - Dst: X509_PUBKEY_dup
      Src: /src/openssl/test/enginetest.c:378,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/enginetest.c:379,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/enginetest.c:380,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/enginetest.c:380,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/enginetest.c:380,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/enginetest.c:383,1
    - Dst: X509_free
      Src: /src/openssl/test/enginetest.c:386,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:390,1
    - Dst: ENGINE_new
      Src: /src/openssl/test/enginetest.c:390,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:391,1
    - Dst: ENGINE_set_id
      Src: /src/openssl/test/enginetest.c:391,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:392,1
    - Dst: ENGINE_set_name
      Src: /src/openssl/test/enginetest.c:392,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:395,1
    - Dst: RSA_meth_dup
      Src: /src/openssl/test/enginetest.c:395,1
    - Dst: RSA_get_default_method
      Src: /src/openssl/test/enginetest.c:395,1
    - Dst: ENGINE_set_RSA
      Src: /src/openssl/test/enginetest.c:398,1
    - Dst: TEST_true
      Src: /src/openssl/test/enginetest.c:400,1
    - Dst: ENGINE_set_default_RSA
      Src: /src/openssl/test/enginetest.c:400,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/enginetest.c:403,1
    - Dst: BIO_seek
      Src: /src/openssl/test/enginetest.c:403,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:404,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/enginetest.c:404,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:408,1
    - Dst: X509_dup
      Src: /src/openssl/test/enginetest.c:408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:411,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/test/enginetest.c:411,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/enginetest.c:412,1
    - Dst: X509_PUBKEY_dup
      Src: /src/openssl/test/enginetest.c:412,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/enginetest.c:413,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/enginetest.c:414,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/enginetest.c:414,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/enginetest.c:414,1
    - Dst: X509_free
      Src: /src/openssl/test/enginetest.c:420,1
    - Dst: X509_free
      Src: /src/openssl/test/enginetest.c:421,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/enginetest.c:422,1
    - Dst: ENGINE_unregister_RSA
      Src: /src/openssl/test/enginetest.c:424,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/enginetest.c:425,1
    - Dst: RSA_meth_free
      Src: /src/openssl/test/enginetest.c:427,1
    - Dst: BIO_free
      Src: /src/openssl/test/enginetest.c:428,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 358
    functionDepth: 6
    functionLinenumber: 358
    functionLinenumberEnd: 430
    functionName: test_x509_dup_w_engine
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 0
    functionsReached:
    - X509_dup
    - X509_free
    - RSA_get_default_method
    - ENGINE_set_default_RSA
    - TEST_ptr
    - RSA_meth_dup
    - X509_get_X509_PUBKEY
    - ENGINE_set_id
    - ENGINE_free
    - ENGINE_new
    - BIO_seek
    - ENGINE_set_name
    - TEST_true
    - BIO_new_file
    - BIO_free
    - X509_PUBKEY_free
    - ENGINE_unregister_RSA
    - X509_PUBKEY_dup
    - test_get_argument
    - TEST_ptr_ne
    - TEST_int_ge
    - ENGINE_set_RSA
    - X509_PUBKEY_get0
    - RSA_meth_free
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int test_x509_dup_w_engine(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/test/enginetest.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: global_init
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int global_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/enginetest.c:447,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/enginetest.c:451,1
    - Dst: TEST_error
      Src: /src/openssl/test/enginetest.c:452,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/enginetest.c:456,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/enginetest.c:460,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/enginetest.c:461,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/enginetest.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 465
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/enginetest.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument_count
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:40,1
    - Dst: strcmp
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:42,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:45,1
    - Dst: strcmp
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:49,1
    - Dst: strcmp
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:51,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:54,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:59,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:59,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:62,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:62,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:65,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:68,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:68,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:73,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:75,1
    - Dst: X509_check_private_key
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:79,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:82,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:84,1
    - Dst: X509_REQ_check_private_key
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:95,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:96,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:102,1
    - Dst: X509_free
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:103,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:104,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:105,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 28
    functionDepth: 6
    functionLinenumber: 28
    functionLinenumberEnd: 107
    functionName: test_x509_check_cert_pkey
    functionSourceFile: /src/openssl/test/x509_check_cert_pkey_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - X509_REQ_free
    - PEM_read_bio_X509_REQ
    - X509_REQ_check_private_key
    - PEM_read_bio_PrivateKey
    - BIO_free
    - TEST_int_eq
    - EVP_PKEY_free
    - X509_free
    - X509_check_private_key
    - strcmp
    - TEST_ptr
    - PEM_read_bio_X509
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_x509_check_cert_pkey(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:119,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:119,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:121,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:122,1
    - Dst: sk_X509_INFO_num
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:123,1
    - Dst: sk_X509_INFO_value
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:124,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: test_PEM_X509_INFO_read_bio
    functionSourceFile: /src/openssl/test/x509_check_cert_pkey_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - sk_X509_INFO_pop_free
    - sk_X509_INFO_num
    - BIO_free
    - TEST_int_eq
    - STACK_OF
    - sk_X509_INFO_value
    - TEST_ptr
    - PEM_X509_INFO_read_bio
    linkageType: ''
    returnType: int
    signature: int test_PEM_X509_INFO_read_bio(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/x509_check_cert_pkey_test.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:155,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:156,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:160,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:163,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:164,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:164,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:166,1
    - Dst: sscanf
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:166,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:168,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:172,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:173,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:174,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:174,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:175,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:175,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_check_cert_pkey_test.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_check_cert_pkey_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - TEST_int_eq
    - test_skip_common_options
    - test_get_argument
    - test_get_argument_count
    - TEST_ptr
    - sscanf
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:47,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:47,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:48,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:48,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:49,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:49,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:50,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:50,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:51,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:51,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:52,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:52,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:53,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:54,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:54,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:55,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:55,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:58,1
    - Dst: EC_GROUP_get_order
      Src: /src/openssl/test/ectest.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:59,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:59,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:60,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:60,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:62,1
    - Dst: EC_GROUP_precompute_mult
      Src: /src/openssl/test/ectest.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:64,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:65,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:66,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:66,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:67,1
    - Dst: BN_one
      Src: /src/openssl/test/ectest.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:68,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:69,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:70,1
    - Dst: BN_sub
      Src: /src/openssl/test/ectest.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:71,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:72,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:72,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:73,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:82,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:82,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:87,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:87,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:88,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:88,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:89,1
    - Dst: BN_one
      Src: /src/openssl/test/ectest.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:91,1
    - Dst: BN_sub
      Src: /src/openssl/test/ectest.c:91,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:92,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:92,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:93,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:93,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:96,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:96,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:97,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:97,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:98,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:101,1
    - Dst: BN_mul
      Src: /src/openssl/test/ectest.c:101,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:102,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:102,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:103,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:103,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:108,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:108,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:110,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:110,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:111,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:111,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:112,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:112,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:120,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:120,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:121,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:121,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:122,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:122,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:137,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:137,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:138,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:138,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:146,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:148,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:149,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:150,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:151,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:152,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:153,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:154,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:155,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 50
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 39
    functionDepth: 7
    functionLinenumber: 39
    functionLinenumberEnd: 157
    functionName: group_order_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EC_POINT_mul
    - BN_CTX_new
    - EC_POINT_add
    - BN_add
    - TEST_ptr
    - EC_GROUP_get0_generator
    - BN_set_negative
    - BN_set_word
    - TEST_info
    - BN_CTX_free
    - BN_new
    - TEST_true
    - EC_POINT_invert
    - BN_free
    - BN_mul
    - BN_one
    - EC_GROUP_precompute_mult
    - EC_POINTs_mul
    - BN_sub
    - EC_GROUP_get_order
    - EC_POINT_new
    - EC_POINT_is_at_infinity
    - TEST_false
    - BN_value_one
    - EC_POINT_copy
    - TEST_int_eq
    - EC_POINT_dbl
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: int group_order_tests(EC_GROUP *group)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:174,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:174,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:175,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:175,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:176,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:176,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:177,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:178,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:179,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:179,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:180,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:180,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:181,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/ectest.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:182,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:182,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:185,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:186,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:187,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:188,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:189,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:192,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:192,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:193,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:194,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:194,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:195,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/test/ectest.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:196,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:196,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:197,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:197,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:198,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:199,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:200,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:201,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:202,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:202,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:203,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:204,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:205,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:205,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:208,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:209,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:209,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:211,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:212,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:213,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:217,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:220,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:223,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:224,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:226,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:226,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:230,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:234,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:235,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:235,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:238,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:240,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:241,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:241,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:245,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:248,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:248,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:249,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:249,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:251,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:254,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:257,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:257,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:258,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:258,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:260,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:263,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:265,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:266,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:266,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:267,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:267,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:269,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:272,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:272,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:273,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:273,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:280,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:280,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:282,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:283,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:285,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:285,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:287,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:288,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:290,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:292,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:292,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:292,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:297,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:299,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:299,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:300,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:301,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:303,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:303,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:303,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:304,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:304,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:306,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:307,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:308,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:310,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:310,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:313,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:313,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:318,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:318,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:320,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:321,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:323,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:323,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:325,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:325,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:326,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:326,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:328,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:328,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:329,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:329,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:330,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:330,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:332,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:332,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:332,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:333,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:333,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:336,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:337,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:338,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:340,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:340,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:342,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:343,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:343,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:343,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:348,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:348,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:350,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:350,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:351,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:355,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:355,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:357,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:357,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:358,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:358,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:360,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:362,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:362,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:363,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:363,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:365,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:365,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:366,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:367,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:369,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:369,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:369,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:370,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:370,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:373,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:374,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:377,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:377,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:379,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:380,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:380,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:380,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:385,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:387,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:387,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:388,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:392,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:392,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:394,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:394,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:395,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:395,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:397,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:397,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:399,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:401,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:403,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:403,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:404,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:405,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:407,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:407,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:407,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:408,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:408,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:411,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:412,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:413,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:415,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:415,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:417,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:418,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:418,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:418,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:423,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:423,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:425,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:425,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:426,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:430,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:430,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:433,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:433,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:434,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:434,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:437,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:437,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:440,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:440,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:442,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:442,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:445,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:445,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:446,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:446,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:447,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:450,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:450,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:450,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:451,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:451,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:454,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:455,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:458,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:458,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:461,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:462,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:462,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:462,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:467,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:467,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:469,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:469,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:473,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:473,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:478,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:478,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:479,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:479,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:484,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:484,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:489,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:489,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:490,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:490,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:495,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:495,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:496,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:496,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:497,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:497,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:502,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:502,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:503,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:503,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:506,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:507,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:510,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:510,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:515,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:516,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:516,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:516,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:521,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:521,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:523,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:523,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:524,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:529,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:530,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:530,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:531,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:531,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:532,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:532,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:533,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:533,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:534,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:534,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:535,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:535,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:536,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:536,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:537,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:537,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:538,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:538,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:542,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:548,1
    - Dst: EC_GROUP_get_order
      Src: /src/openssl/test/ectest.c:548,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:549,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:549,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:549,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/ectest.c:550,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:551,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/ectest.c:551,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:558,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:558,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:559,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:559,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:560,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:560,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:561,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:561,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:562,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:562,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ectest.c:562,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:563,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:563,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:565,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:569,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:569,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:570,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:570,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:571,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:571,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ectest.c:571,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:572,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:572,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:574,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:579,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:579,1
    - Dst: BN_zero
      Src: /src/openssl/test/ectest.c:581,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:584,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:584,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:585,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:585,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:588,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:591,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:592,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:593,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:594,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:595,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:596,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:597,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:598,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:599,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:600,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:601,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:602,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:603,1
    CyclomaticComplexity: 197
    EdgeCount: 197
    ICount: 148
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 159
    functionDepth: 8
    functionLinenumber: 159
    functionLinenumberEnd: 605
    functionName: prime_field_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - TEST_BN_eq
    - BN_hex2bn
    - TEST_note
    - BN_CTX_new
    - EC_POINT_add
    - BN_add
    - test_output_memory
    - EC_POINT_get_affine_coordinates
    - TEST_ptr
    - test_output_bignum
    - EC_GROUP_new_curve_GFp
    - EC_POINT_set_affine_coordinates
    - BN_rand
    - BN_set_negative
    - TEST_info
    - EC_GROUP_free
    - BN_CTX_free
    - BN_new
    - TEST_true
    - EC_POINT_invert
    - BN_free
    - BN_check_prime
    - EC_POINT_set_to_infinity
    - EC_GROUP_set_generator
    - EC_GROUP_get_degree
    - TEST_int_ne
    - EC_POINTs_mul
    - TEST_size_t_ne
    - EC_POINT_new
    - EC_GROUP_get_order
    - BN_num_bits
    - EC_POINT_is_on_curve
    - EC_POINT_is_at_infinity
    - EC_GROUP_set_curve
    - TEST_BN_even
    - EC_POINT_point2oct
    - EC_POINT_set_compressed_coordinates
    - BN_value_one
    - EC_POINT_copy
    - TEST_int_eq
    - EC_POINT_oct2point
    - TEST_false
    - EC_POINT_dbl
    - EC_POINT_cmp
    - BN_rshift1
    - BN_zero
    - group_order_tests
    - EC_GROUP_get_curve
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int prime_field_tests(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:793,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:793,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:794,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:794,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:795,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:795,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:796,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:796,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:797,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:797,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:798,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:798,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:799,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:799,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:800,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:800,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:801,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:801,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:802,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:802,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:803,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:803,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:804,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ectest.c:804,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:805,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:805,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:806,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:806,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:807,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:807,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:808,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:808,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:809,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:809,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:810,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:810,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:810,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:819,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:819,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:820,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:820,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:823,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:823,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:824,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:824,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:825,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:825,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:826,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:826,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:827,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:827,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:829,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:830,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:831,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:833,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:833,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:834,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:841,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:841,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:842,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:842,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:843,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:843,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:844,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:844,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:845,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:845,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:846,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:846,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:848,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:849,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:850,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:853,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:853,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:854,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:858,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:859,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:859,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:860,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:860,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:861,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:861,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:862,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:862,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:863,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:863,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:864,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:864,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:865,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:865,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:866,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:866,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:867,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:867,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:868,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:868,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:872,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:877,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:877,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:877,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/ectest.c:878,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:879,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/ectest.c:879,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:885,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:885,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:886,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:886,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:887,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:887,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:888,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:888,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:891,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:891,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ectest.c:891,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:892,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:892,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:894,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:898,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:898,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:899,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:899,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:902,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:902,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ectest.c:902,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:903,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:903,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ectest.c:905,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:910,1
    - Dst: EC_POINTs_mul
      Src: /src/openssl/test/ectest.c:910,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:911,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:911,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:918,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:919,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:920,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:921,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:922,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:923,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:924,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:925,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:926,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:927,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:928,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:929,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:930,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 75
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 779
    functionDepth: 8
    functionLinenumber: 779
    functionLinenumberEnd: 932
    functionName: char2_curve_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - TEST_BN_eq
    - BN_hex2bn
    - TEST_note
    - BN_CTX_new
    - EC_POINT_add
    - BN_add
    - EC_POINT_get_affine_coordinates
    - TEST_ptr
    - test_output_bignum
    - EC_POINT_set_affine_coordinates
    - BN_rand
    - BN_set_negative
    - TEST_info
    - EC_GROUP_free
    - BN_CTX_free
    - BN_new
    - TEST_true
    - EC_POINT_invert
    - BN_free
    - EC_GROUP_set_generator
    - EC_GROUP_get_degree
    - EC_POINTs_mul
    - EC_POINT_new
    - BN_num_bits
    - EC_POINT_is_on_curve
    - EC_POINT_is_at_infinity
    - TEST_BN_even
    - TEST_false
    - BN_value_one
    - EC_POINT_set_compressed_coordinates
    - TEST_int_eq
    - EC_POINT_copy
    - EC_POINT_dbl
    - EC_GROUP_new_curve_GF2m
    - OSSL_NELEM
    - BN_rshift1
    - EC_POINT_cmp
    - group_order_tests
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int char2_curve_test(int n)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:945,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:945,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:946,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:946,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:947,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:947,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:948,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:948,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:949,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:949,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:950,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:950,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:951,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:951,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:954,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ectest.c:954,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:955,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:955,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:958,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:959,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:960,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:961,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:962,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:964,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:964,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:965,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:965,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:966,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:966,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:967,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/test/ectest.c:967,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:968,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:968,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:972,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:972,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:973,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:973,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:974,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:974,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:975,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:975,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:976,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:976,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:977,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:977,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:978,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:978,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:979,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:979,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:980,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:980,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:983,1
    - Dst: EC_POINT_set_compressed_coordinates
      Src: /src/openssl/test/ectest.c:983,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:985,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:985,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:986,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:986,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:990,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:990,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:993,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:993,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:996,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:997,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:998,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1002,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1005,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:1008,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1009,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1011,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:1011,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:1015,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/ectest.c:1016,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1019,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:1019,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1020,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:1020,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:1023,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1025,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:1025,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1026,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:1026,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1031,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:1033,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1034,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1034,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1035,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1035,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:1037,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1041,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:1043,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1044,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1044,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1045,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1045,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:1047,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1053,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:1055,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1056,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1056,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1057,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1057,1
    - Dst: test_output_memory
      Src: /src/openssl/test/ectest.c:1059,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1063,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:1063,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1064,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1064,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1067,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1071,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1072,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1073,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1074,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1075,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1076,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1077,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1078,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1079,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1080,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1081,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1082,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1083,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 934
    functionDepth: 5
    functionLinenumber: 934
    functionLinenumberEnd: 1085
    functionName: char2_field_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - BN_hex2bn
    - TEST_note
    - BN_CTX_new
    - EC_POINT_add
    - test_output_memory
    - EC_POINT_get_affine_coordinates
    - TEST_ptr
    - test_output_bignum
    - EC_POINT_set_affine_coordinates
    - TEST_info
    - EC_GROUP_free
    - BN_CTX_free
    - BN_new
    - TEST_true
    - EC_POINT_invert
    - BN_free
    - EC_POINT_set_to_infinity
    - TEST_int_ne
    - TEST_size_t_ne
    - EC_POINT_new
    - EC_POINT_is_on_curve
    - EC_POINT_is_at_infinity
    - EC_POINT_point2oct
    - EC_POINT_set_compressed_coordinates
    - EC_POINT_copy
    - TEST_int_eq
    - EC_POINT_oct2point
    - EC_GROUP_new_curve_GF2m
    - EC_POINT_cmp
    - EC_GROUP_get_curve
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int char2_field_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1096,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/ectest.c:1096,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1097,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/ectest.c:1097,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1098,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1098,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1099,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1099,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1100,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1100,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ectest.c:1101,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1107,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:1107,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1108,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:1108,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1119,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1119,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1124,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:1124,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1128,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1129,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1130,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:1132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1087
    functionDepth: 8
    functionLinenumber: 1087
    functionLinenumberEnd: 1134
    functionName: hybrid_point_encoding_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - BN_free
    - EC_POINT_point2oct
    - EC_POINT_set_affine_coordinates
    - TEST_false
    - EC_POINT_oct2point
    - EC_GROUP_free
    - OPENSSL_free
    - TEST_size_t_eq
    - BN_dec2bn
    - TEST_true
    - TEST_size_t_ne
    - TEST_ptr
    - EC_POINT_new
    - EC_GROUP_new_by_curve_name
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int hybrid_point_encoding_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1142,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1142,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1143,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1144,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1147,1
    - Dst: EC_GROUP_check
      Src: /src/openssl/test/ectest.c:1147,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1148,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1148,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1149,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1137
    functionDepth: 8
    functionLinenumber: 1137
    functionLinenumberEnd: 1154
    functionName: internal_curve_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_check
    - OBJ_nid2sn
    - TEST_info
    - EC_GROUP_free
    - TEST_true
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int internal_curve_test(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1161,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1161,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1162,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1162,1
    - Dst: group_order_tests
      Src: /src/openssl/test/ectest.c:1165,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1156
    functionDepth: 8
    functionLinenumber: 1156
    functionLinenumberEnd: 1168
    functionName: internal_curve_test_method
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - TEST_info
    - EC_GROUP_free
    - group_order_tests
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int internal_curve_test_method(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1178,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1186,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1190,1
    - Dst: BN_cmp
      Src: /src/openssl/test/ectest.c:1191,1
    - Dst: EC_GROUP_get0_field
      Src: /src/openssl/test/ectest.c:1191,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1195,1
    - Dst: BN_cmp
      Src: /src/openssl/test/ectest.c:1196,1
    - Dst: EC_GROUP_get0_field
      Src: /src/openssl/test/ectest.c:1196,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1200,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1201,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1202,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1170
    functionDepth: 8
    functionLinenumber: 1170
    functionLinenumberEnd: 1205
    functionName: group_field_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_hex2bn
    - BN_cmp
    - EC_GROUP_free
    - EC_GROUP_get0_field
    - EC_GROUP_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: int group_field_test(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1322,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1324,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:1324,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1325,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1325,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1326,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1326,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1327,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1328,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1329,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1330,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1330,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1331,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1332,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1333,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1335,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1335,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1336,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1336,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1337,1
    - Dst: BN_check_prime
      Src: /src/openssl/test/ectest.c:1337,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1338,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1338,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1339,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1339,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1340,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1340,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1341,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1341,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1342,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1342,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1343,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1343,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1344,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1344,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1345,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1345,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1346,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1346,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1347,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:1347,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:1347,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1352,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1352,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1354,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1354,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1356,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1356,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1357,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1357,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1358,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1358,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1359,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1359,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1360,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1360,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:1360,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1361,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:1361,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1364,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1365,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:1365,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1369,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1369,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1372,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1373,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1373,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1376,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:1376,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1377,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1377,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:1377,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1379,1
    - Dst: BN_rshift
      Src: /src/openssl/test/ectest.c:1379,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1385,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1385,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1388,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1389,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1389,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1392,1
    - Dst: EC_GROUP_have_precompute_mult
      Src: /src/openssl/test/ectest.c:1392,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1394,1
    - Dst: EC_GROUP_precompute_mult
      Src: /src/openssl/test/ectest.c:1394,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1400,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1401,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1401,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1404,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1405,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1405,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1408,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1408,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:1408,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1411,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1412,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1412,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1415,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1416,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1416,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1420,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:1420,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1421,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:1421,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1422,1
    - Dst: EC_POINT_copy
      Src: /src/openssl/test/ectest.c:1422,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1423,1
    - Dst: EC_POINT_invert
      Src: /src/openssl/test/ectest.c:1423,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1424,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:1424,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1425,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:1425,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1430,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1431,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1432,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1433,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1434,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1435,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1436,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1437,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1438,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1439,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1440,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1441,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1442,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1443,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1444,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 63
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1312
    functionDepth: 8
    functionLinenumber: 1312
    functionLinenumberEnd: 1446
    functionName: nistp_single_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - BN_hex2bn
    - TEST_note
    - EC_POINT_mul
    - BN_CTX_new
    - BN_add
    - BN_rshift
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    - EC_POINT_set_affine_coordinates
    - BN_set_word
    - EC_GROUP_have_precompute_mult
    - EC_GROUP_free
    - BN_CTX_free
    - BN_new
    - TEST_true
    - EC_POINT_invert
    - BN_free
    - BN_check_prime
    - EC_GROUP_set_generator
    - EC_GROUP_get_degree
    - EC_GROUP_precompute_mult
    - EC_POINT_new
    - EC_GROUP_set_curve
    - TEST_false
    - BN_value_one
    - TEST_int_eq
    - EC_POINT_dbl
    - EC_POINT_copy
    - EC_POINT_cmp
    linkageType: ''
    returnType: int
    signature: int nistp_single_test(int idx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1515,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:1515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1516,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1516,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1517,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/test/ectest.c:1517,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1518,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1518,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1519,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1519,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1520,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1520,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1521,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:1521,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1522,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:1522,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1523,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:1523,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1524,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:1524,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1525,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:1525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1526,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/test/ectest.c:1526,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1527,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:1527,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1528,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1528,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1529,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1530,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1530,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1531,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1531,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1532,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1532,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1533,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1533,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1534,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1534,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1535,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1535,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/test/ectest.c:1539,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:1540,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1542,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1542,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1543,1
    - Dst: BN_lshift1
      Src: /src/openssl/test/ectest.c:1543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1546,1
    - Dst: BN_dup
      Src: /src/openssl/test/ectest.c:1546,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1553,1
    - Dst: BN_copy
      Src: /src/openssl/test/ectest.c:1553,1
    - Dst: BN_ucmp
      Src: /src/openssl/test/ectest.c:1554,1
    - Dst: BN_get0_nist_prime_192
      Src: /src/openssl/test/ectest.c:1554,1
    - Dst: BN_get0_nist_prime_256
      Src: /src/openssl/test/ectest.c:1555,1
    - Dst: BN_get0_nist_prime_192
      Src: /src/openssl/test/ectest.c:1556,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1561,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1561,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1563,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1563,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/test/ectest.c:1564,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/openssl/test/ectest.c:1568,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1569,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:1570,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1570,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1572,1
    - Dst: EC_GROUP_set_curve_name
      Src: /src/openssl/test/ectest.c:1575,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1576,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1576,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1579,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/test/ectest.c:1579,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1588,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1588,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1595,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1595,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1599,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/test/ectest.c:1599,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1600,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1604,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1604,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1608,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1608,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1610,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1610,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1611,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1611,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1613,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1613,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1615,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1615,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1617,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1617,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1619,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1619,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1621,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1621,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1623,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1623,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1625,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1625,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1627,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1627,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1637,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1638,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:1639,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1639,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1643,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1644,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1646,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:1647,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1647,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1651,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1652,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1654,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:1655,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1655,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1659,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/ectest.c:1660,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/ectest.c:1662,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1665,1
    - Dst: EC_GROUP_set_curve
      Src: /src/openssl/test/ectest.c:1665,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1666,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1666,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1671,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1672,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1673,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1674,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1675,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1676,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1677,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1678,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:1679,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1680,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1681,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1682,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1683,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 99
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1498
    functionDepth: 8
    functionLinenumber: 1498
    functionLinenumberEnd: 1685
    functionName: check_named_curve_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ERR_pop_to_mark
    - BN_CTX_new
    - TEST_int_le
    - EC_POINT_add
    - BN_lshift1
    - BN_copy
    - BN_dup
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    - EC_GROUP_get_field_type
    - EC_GROUP_free
    - BN_CTX_free
    - BN_ucmp
    - BN_new
    - TEST_true
    - BN_get0_nist_prime_192
    - BN_free
    - EC_GROUP_get0_order
    - EC_GROUP_set_generator
    - EC_GROUP_get_cofactor
    - EC_GROUP_check_named_curve
    - EC_GROUP_set_curve_name
    - TEST_size_t_eq
    - EC_GROUP_get_seed_len
    - EC_GROUP_set_curve
    - EC_GROUP_dup
    - TEST_false
    - ERR_set_mark
    - TEST_int_eq
    - EC_GROUP_set_seed
    - BN_get0_nist_prime_256
    - EC_POINT_dup
    - BN_add_word
    - EC_curve_nid2nist
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: int check_named_curve_test(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1703,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:1703,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1704,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1704,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1705,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1705,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1709,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1710,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1710,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:1713,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/test/ectest.c:1713,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1725,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1725,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1726,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1726,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1730,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1731,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1731,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1732,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:1732,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1739,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:1740,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:1741,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:1742,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:1743,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1694
    functionDepth: 8
    functionLinenumber: 1694
    functionLinenumberEnd: 1746
    functionName: check_named_curve_lookup_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_cmp
    - EC_GROUP_check_named_curve
    - BN_CTX_new
    - TEST_int_eq
    - EC_GROUP_free
    - BN_CTX_free
    - EC_GROUP_get_ecparameters
    - ECPARAMETERS_free
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int check_named_curve_lookup_test(int id)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - n1d
    - n2d
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1810
    functionName: are_ec_nids_compatible
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline are_ec_nids_compatible(int n1d, int n2d)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:1842,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1842,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1843,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:1843,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:1845,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1848,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1849,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1849,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1850,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1850,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1851,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1851,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1852,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:1852,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1854,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:1854,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1855,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1855,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1856,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:1856,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1857,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:1857,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1858,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:1858,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1860,1
    - Dst: EC_GROUP_dup
      Src: /src/openssl/test/ectest.c:1860,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1861,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/test/ectest.c:1861,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1862,1
    - Dst: EC_POINT_add
      Src: /src/openssl/test/ectest.c:1862,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1863,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:1863,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1865,1
    - Dst: BN_copy
      Src: /src/openssl/test/ectest.c:1865,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1866,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1866,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1867,1
    - Dst: BN_copy
      Src: /src/openssl/test/ectest.c:1867,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1868,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ectest.c:1868,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:1871,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1874,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:1874,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1875,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:1875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1890,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1890,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1891,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1891,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1897,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1897,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1898,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1898,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1898,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1902,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1902,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1909,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/test/ectest.c:1909,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1911,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1912,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1913,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1914,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1915,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1915,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1916,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1916,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1917,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1917,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1919,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1919,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1919,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:1927,1
    - Dst: EC_GROUP_set_seed
      Src: /src/openssl/test/ectest.c:1927,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1928,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1929,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1930,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1931,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1932,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1932,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1933,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1933,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1934,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1934,1
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:1936,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1936,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:1936,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1945,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1945,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1947,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1948,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1949,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1950,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1951,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1951,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1953,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1953,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1955,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1956,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1957,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1958,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1959,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1959,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:1961,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1961,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1964,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1964,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1966,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1967,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1968,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1969,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1970,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1970,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1971,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1971,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1972,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1972,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1975,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1975,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1977,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1978,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1979,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1980,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1981,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1981,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1982,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1982,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1983,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1983,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1986,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:1986,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1988,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:1989,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:1990,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:1991,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ectest.c:1992,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/test/ectest.c:1992,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:1993,1
    - Dst: are_ec_nids_compatible
      Src: /src/openssl/test/ectest.c:1993,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:1994,1
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/test/ectest.c:1994,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:2000,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2001,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:2002,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:2003,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:2004,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2005,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2006,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2007,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:2008,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2009,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 52
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1821
    functionDepth: 8
    functionLinenumber: 1821
    functionLinenumberEnd: 2011
    functionName: check_named_curve_from_ecparameters
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EC_GROUP_new_from_ecparameters
    - TEST_note
    - EC_GROUP_get_asn1_flag
    - BN_CTX_new
    - EC_POINT_add
    - ECPARAMETERS_free
    - EC_POINT_get_affine_coordinates
    - TEST_ptr
    - BN_copy
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    - BN_CTX_end
    - EC_POINT_set_affine_coordinates
    - TEST_info
    - EC_GROUP_free
    - BN_CTX_free
    - EC_GROUP_get_ecparameters
    - TEST_true
    - EC_GROUP_get0_order
    - EC_GROUP_set_generator
    - TEST_int_ne
    - EC_GROUP_get_cofactor
    - OBJ_nid2sn
    - are_ec_nids_compatible
    - TEST_size_t_eq
    - EC_POINT_new
    - EC_GROUP_dup
    - BN_CTX_get
    - BN_CTX_start
    - TEST_false
    - TEST_int_eq
    - EC_GROUP_set_seed
    - OSSL_NELEM
    - EC_POINT_dup
    - BN_add_word
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int check_named_curve_from_ecparameters(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2021,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2021,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2022,1
    - Dst: EC_GROUP_get_ecparameters
      Src: /src/openssl/test/ectest.c:2022,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2023,1
    - Dst: EC_GROUP_new_from_ecparameters
      Src: /src/openssl/test/ectest.c:2023,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2024,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:2024,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2027,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2031,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2031,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2032,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/test/ectest.c:2032,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2033,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2036,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/test/ectest.c:2043,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2044,1
    - Dst: i2d_ECPKParameters
      Src: /src/openssl/test/ectest.c:2044,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2045,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2050,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2051,1
    - Dst: ECPARAMETERS_free
      Src: /src/openssl/test/ectest.c:2052,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2053,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2014
    functionDepth: 9
    functionLinenumber: 2014
    functionLinenumberEnd: 2055
    functionName: parameter_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_new_from_ecparameters
    - EC_GROUP_cmp
    - EC_GROUP_set_asn1_flag
    - TEST_int_eq
    - EC_GROUP_free
    - OPENSSL_free
    - EC_GROUP_get_ecparameters
    - TEST_true
    - i2d_ECPKParameters
    - TEST_ptr
    - TEST_mem_eq
    - EC_GROUP_new_by_curve_name
    - ECPARAMETERS_free
    linkageType: ''
    returnType: int
    signature: int parameter_test(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2075,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2075,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2079,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2079,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2081,1
    - Dst: EC_GROUP_to_params
      Src: /src/openssl/test/ectest.c:2081,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2083,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/test/ectest.c:2083,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2085,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:2085,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2087,1
    - Dst: EC_GROUP_to_params
      Src: /src/openssl/test/ectest.c:2087,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2089,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/test/ectest.c:2089,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2091,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:2091,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2095,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/ectest.c:2095,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:2098,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2099,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2100,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2101,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2103,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:2103,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2104,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/ectest.c:2104,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2106,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2106,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2107,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2107,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2108,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2108,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2111,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2112,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:2112,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2113,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/test/ectest.c:2114,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2117,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2118,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2118,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2120,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2124,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2124,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ectest.c:2125,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2125,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2128,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2128,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2129,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2129,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2130,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2132,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:2132,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2134,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2134,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2138,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/ectest.c:2138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2139,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/test/ectest.c:2140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2141,1
    - Dst: EC_GROUP_to_params
      Src: /src/openssl/test/ectest.c:2142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2143,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/test/ectest.c:2144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2145,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/test/ectest.c:2145,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2151,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2152,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2153,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2154,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2156,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2158,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2159,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:2160,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2161,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2162,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/ectest.c:2163,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2164,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2165,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2061
    functionDepth: 9
    functionLinenumber: 2061
    functionLinenumberEnd: 2167
    functionName: ossl_parameter_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_cmp
    - OSSL_PARAM_free
    - EC_GROUP_get0_seed
    - BN_CTX_new
    - OSSL_PARAM_BLD_push_BN
    - OPENSSL_free
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    - TEST_size_t_gt
    - BN_CTX_end
    - OSSL_PARAM_BLD_push_utf8_string
    - EC_GROUP_to_params
    - EC_GROUP_free
    - BN_CTX_free
    - TEST_true
    - OSSL_PARAM_BLD_free
    - OPENSSL_malloc
    - EC_GROUP_get0_order
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_push_octet_string
    - TEST_size_t_eq
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get_seed_len
    - OSSL_PARAM_BLD_new
    - BN_CTX_get
    - EC_POINT_point2oct
    - BN_CTX_start
    - TEST_int_eq
    - EC_GROUP_get_curve
    - EC_GROUP_new_from_params
    linkageType: ''
    returnType: int
    signature: int ossl_parameter_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2245,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/test/ectest.c:2245,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/ectest.c:2246,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2247,1
    - Dst: d2i_ECPKParameters
      Src: /src/openssl/test/ectest.c:2247,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2249,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ectest.c:2249,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2250,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2250,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2254,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2237
    functionDepth: 8
    functionLinenumber: 2237
    functionLinenumberEnd: 2257
    functionName: cofactor_range_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - BN_hex2bn
    - TEST_BN_eq_zero
    - EC_GROUP_free
    - d2i_ECPKParameters
    - TEST_ptr
    - EC_GROUP_get0_cofactor
    - BN_free
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int cofactor_range_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ectest.c:2275,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:2275,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2277,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2278,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2278,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2279,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2283,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:2285,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2286,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2287,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2288,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2289,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2290,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2291,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2292,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2294,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2294,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2296,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:2296,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2297,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:2297,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2298,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2299,1
    - Dst: BN_copy
      Src: /src/openssl/test/ectest.c:2299,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2299,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2300,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:2300,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2303,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ectest.c:2304,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/ectest.c:2305,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2308,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/ectest.c:2308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2310,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2310,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2311,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/ectest.c:2311,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2313,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2313,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2314,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:2314,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2315,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2317,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:2317,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2318,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2318,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2319,1
    - Dst: EC_GROUP_get_cofactor
      Src: /src/openssl/test/ectest.c:2319,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2320,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2322,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:2322,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2323,1
    - Dst: BN_sub
      Src: /src/openssl/test/ectest.c:2323,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:2323,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2324,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2324,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2326,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2326,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2328,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:2328,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2329,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2329,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2331,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ectest.c:2331,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2332,1
    - Dst: BN_sub
      Src: /src/openssl/test/ectest.c:2332,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ectest.c:2332,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2333,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2333,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2335,1
    - Dst: BN_lshift
      Src: /src/openssl/test/ectest.c:2335,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2336,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2336,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2340,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2341,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2342,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:2343,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2344,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 27
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2265
    functionDepth: 8
    functionLinenumber: 2265
    functionLinenumberEnd: 2346
    functionName: cardinality_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - TEST_BN_eq
    - BN_CTX_new
    - EC_POINT_get_affine_coordinates
    - BN_copy
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    - EC_GROUP_get_field_type
    - EC_GROUP_new_curve_GFp
    - BN_CTX_end
    - EC_POINT_set_affine_coordinates
    - BN_set_word
    - TEST_info
    - EC_GROUP_free
    - BN_CTX_free
    - TEST_true
    - EC_GROUP_get0_order
    - EC_GROUP_set_generator
    - EC_GROUP_get_cofactor
    - OBJ_nid2sn
    - BN_sub
    - EC_POINT_new
    - BN_lshift
    - BN_CTX_get
    - BN_CTX_start
    - TEST_false
    - BN_value_one
    - TEST_int_eq
    - EC_GROUP_new_curve_GF2m
    - EC_GROUP_get_curve
    linkageType: ''
    returnType: int
    signature: int cardinality_test(int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2357,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:2357,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2358,1
    - Dst: BN_new
      Src: /src/openssl/test/ectest.c:2358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2359,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2360,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/test/ectest.c:2360,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2361,1
    - Dst: EC_GROUP_get0_field
      Src: /src/openssl/test/ectest.c:2361,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2362,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ectest.c:2362,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2363,1
    - Dst: EC_KEY_check_key
      Src: /src/openssl/test/ectest.c:2363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2364,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/test/ectest.c:2364,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2365,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ectest.c:2365,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2373,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2377,1
    - Dst: BN_GF2m_add
      Src: /src/openssl/test/ectest.c:2377,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2383,1
    - Dst: BN_add
      Src: /src/openssl/test/ectest.c:2383,1
    - Dst: TEST_error
      Src: /src/openssl/test/ectest.c:2387,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ectest.c:2390,1
    - Dst: EC_KEY_set_public_key_affine_coordinates
      Src: /src/openssl/test/ectest.c:2390,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2395,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2396,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ectest.c:2397,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2348
    functionDepth: 5
    functionLinenumber: 2348
    functionLinenumberEnd: 2399
    functionName: check_ec_key_field_public_range_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_KEY_generate_key
    - TEST_int_le
    - BN_add
    - EC_GROUP_get0_field
    - EC_KEY_set_public_key_affine_coordinates
    - EC_POINT_get_affine_coordinates
    - EC_KEY_check_key
    - EC_KEY_get0_public_key
    - TEST_ptr
    - EC_GROUP_get_field_type
    - BN_new
    - TEST_true
    - BN_free
    - TEST_error
    - EC_KEY_free
    - BN_GF2m_add
    - EC_KEY_new_by_curve_name
    - EC_KEY_get0_group
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int check_ec_key_field_public_range_test(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2420,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2420,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2421,1
    - Dst: EC_POINT_set_to_infinity
      Src: /src/openssl/test/ectest.c:2421,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2426,1
    - Dst: EC_POINT_point2hex
      Src: /src/openssl/test/ectest.c:2426,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2427,1
    - Dst: EC_POINT_hex2point
      Src: /src/openssl/test/ectest.c:2427,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2428,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/test/ectest.c:2428,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2438,1
    - Dst: EC_POINT_is_at_infinity
      Src: /src/openssl/test/ectest.c:2438,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2444,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2445,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2446,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - group
    - P
    - form
    - bnctx
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2409
    functionDepth: 4
    functionLinenumber: 2409
    functionLinenumberEnd: 2449
    functionName: ec_point_hex2point_test_helper
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EC_POINT_set_to_infinity
    - TEST_int_eq
    - OPENSSL_free
    - EC_POINT_cmp
    - EC_POINT_point2hex
    - TEST_true
    - TEST_ptr
    - EC_POINT_new
    - EC_POINT_hex2point
    - EC_POINT_is_at_infinity
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ec_point_hex2point_test_helper(const EC_GROUP *group,
      const EC_POINT *P,\n                                   point_conversion_form_t
      form,\n                                   BN_CTX *bnctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2464,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2464,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2465,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2465,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2466,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2467,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/test/ectest.c:2467,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2470,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2470,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2473,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2473,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2476,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2476,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2479,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2479,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2482,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2482,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2485,1
    - Dst: ec_point_hex2point_test_helper
      Src: /src/openssl/test/ectest.c:2485,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2493,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2494,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2495,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2454
    functionDepth: 8
    functionLinenumber: 2454
    functionLinenumberEnd: 2498
    functionName: ec_point_hex2point_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - ec_point_hex2point_test_helper
    - BN_CTX_new
    - EC_GROUP_free
    - BN_CTX_free
    - EC_POINT_dup
    - TEST_true
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    linkageType: ''
    returnType: int
    signature: int ec_point_hex2point_test(int id)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2521,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2522,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2523,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2526,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/ectest.c:2526,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2529,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/test/ectest.c:2534,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2536,1
    - Dst: EC_GROUP_get_trinomial_basis
      Src: /src/openssl/test/ectest.c:2536,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2540,1
    - Dst: EC_GROUP_get_pentanomial_basis
      Src: /src/openssl/test/ectest.c:2540,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2545,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:2545,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2546,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/ectest.c:2546,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2548,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2548,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2549,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2549,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2550,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2550,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2553,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2554,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:2554,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2555,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/test/ectest.c:2556,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2559,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2560,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2560,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2561,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2565,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:2565,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2567,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:2567,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2568,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2571,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/ectest.c:2571,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2572,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ectest.c:2572,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2573,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ectest.c:2573,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:2574,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:2574,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2581,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2581,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2587,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2587,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ectest.c:2590,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2593,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2593,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ectest.c:2596,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2599,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/ectest.c:2599,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2601,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2604,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2604,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2605,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2606,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2606,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2608,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2609,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2609,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2611,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2612,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2612,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2614,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2614,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2617,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2618,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/ectest.c:2618,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ectest.c:2620,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2620,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2623,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2624,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/ectest.c:2624,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2626,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/test/ectest.c:2626,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/test/ectest.c:2627,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2631,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2633,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2633,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2635,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2635,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2637,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2637,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2639,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2639,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2641,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2641,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2643,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2643,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2649,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2649,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2651,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:2651,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2652,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/ectest.c:2652,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ectest.c:2655,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/test/ectest.c:2658,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2659,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2659,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2661,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2662,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2662,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2664,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2664,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2666,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2666,1
    - Dst: TEST_false
      Src: /src/openssl/test/ectest.c:2670,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2670,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2672,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2672,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2674,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2675,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2675,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2677,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2678,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/ectest.c:2678,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2680,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2685,1
    - Dst: EVP_PKEY_gettable_params
      Src: /src/openssl/test/ectest.c:2685,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2686,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2686,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2687,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2687,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2688,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2688,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2689,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2689,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2690,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2690,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2691,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2691,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2692,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2692,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2693,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2693,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2694,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2694,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2695,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2695,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2697,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2697,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2698,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2698,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2699,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2699,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2700,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2700,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2701,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2701,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2702,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/ectest.c:2702,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2708,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2709,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2710,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2711,1
    - Dst: BN_free
      Src: /src/openssl/test/ectest.c:2712,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:2713,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/ectest.c:2714,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:2715,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:2716,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 101
    argCount: 4
    argNames:
    - group
    - ctx
    - gen
    - gen_size
    argTypes:
    - EC_GROUP*
    - BN_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2500
    functionDepth: 6
    functionLinenumber: 2500
    functionLinenumberEnd: 2718
    functionName: do_test_custom_explicit_fromdata
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - OSSL_PARAM_free
    - EC_GROUP_get0_seed
    - OSSL_PARAM_BLD_push_BN
    - TEST_ptr
    - EC_GROUP_get_basis_type
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    - EC_GROUP_get_field_type
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_locate_const
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - EC_GROUP_get_trinomial_basis
    - EC_GROUP_get0_order
    - EC_GROUP_get_degree
    - EVP_PKEY_fromdata
    - TEST_str_eq
    - EC_GROUP_get_pentanomial_basis
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_gettable_params
    - EC_GROUP_get0_cofactor
    - EC_GROUP_get_seed_len
    - OSSL_PARAM_BLD_new
    - BN_CTX_get
    - TEST_false
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_get_int_param
    - TEST_mem_eq
    - EC_GROUP_get_curve
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int do_test_custom_explicit_fromdata(EC_GROUP *group, BN_CTX *ctx,\n
      \                                           unsigned char *gen, size_t gen_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:2735,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:2735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2736,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2736,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:2739,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2741,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2741,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:2745,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2748,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2748,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2750,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:2750,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/test/ectest.c:2750,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2753,1
    - Dst: BN_clear_bit
      Src: /src/openssl/test/ectest.c:2753,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2754,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2754,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2755,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2755,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2757,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2757,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2759,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2759,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2762,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2762,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2763,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2763,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2767,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:2767,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2767,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2769,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2769,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2770,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2771,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2772,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2772,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2773,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/ectest.c:2773,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2775,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2775,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2776,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2776,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2779,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2779,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2780,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2780,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2784,1
    - Dst: do_test_custom_explicit_fromdata
      Src: /src/openssl/test/ectest.c:2787,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2793,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2794,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2795,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:2796,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:2797,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:2798,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2799,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:2800,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 29
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2723
    functionDepth: 8
    functionLinenumber: 2723
    functionLinenumberEnd: 2803
    functionName: custom_generator_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - TEST_note
    - EC_POINT_mul
    - BN_CTX_new
    - OPENSSL_free
    - TEST_ptr
    - EC_GROUP_order_bits
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    - do_test_custom_explicit_fromdata
    - BN_CTX_end
    - BN_rand
    - EC_GROUP_free
    - BN_CTX_free
    - TEST_true
    - OPENSSL_malloc
    - EC_GROUP_get0_order
    - EC_GROUP_get_degree
    - EC_GROUP_set_generator
    - OBJ_nid2sn
    - TEST_size_t_eq
    - EC_POINT_new
    - EC_GROUP_get0_cofactor
    - BN_CTX_get
    - EC_POINT_point2oct
    - BN_CTX_start
    - BN_rshift1
    - EC_POINT_dbl
    - BN_clear_bit
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int custom_generator_test(int id)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ectest.c:2831,1
    - Dst: TEST_note
      Src: /src/openssl/test/ectest.c:2832,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ectest.c:2835,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2837,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/ectest.c:2837,1
    - Dst: BN_CTX_start
      Src: /src/openssl/test/ectest.c:2840,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2841,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2841,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2842,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2842,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2843,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2843,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2844,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/ectest.c:2844,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2847,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ectest.c:2847,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/test/ectest.c:2850,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ectest.c:2853,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/test/ectest.c:2859,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2863,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/test/ectest.c:2863,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2864,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2864,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2866,1
    - Dst: EC_POINT_dbl
      Src: /src/openssl/test/ectest.c:2866,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ectest.c:2867,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2869,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2869,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2872,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2872,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2873,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2873,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2876,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/test/ectest.c:2876,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2877,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/test/ectest.c:2877,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2883,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/ectest.c:2883,1
    - Dst: if
      Src: /src/openssl/test/ectest.c:2888,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2888,1
    - Dst: EC_GROUP_new_curve_GF2m
      Src: /src/openssl/test/ectest.c:2888,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:2894,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2895,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2895,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2896,1
    - Dst: EC_POINT_oct2point
      Src: /src/openssl/test/ectest.c:2896,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2897,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/openssl/test/ectest.c:2897,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2898,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/ectest.c:2898,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2904,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2904,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2905,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/ectest.c:2905,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2907,1
    - Dst: BN_rand
      Src: /src/openssl/test/ectest.c:2907,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/test/ectest.c:2907,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2910,1
    - Dst: BN_clear_bit
      Src: /src/openssl/test/ectest.c:2910,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2912,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2912,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2914,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2914,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2917,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2917,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2921,1
    - Dst: BN_rshift1
      Src: /src/openssl/test/ectest.c:2921,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2923,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2923,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2925,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2925,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2928,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2928,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2929,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2929,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:2933,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2937,1
    - Dst: EC_KEY_new
      Src: /src/openssl/test/ectest.c:2937,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2938,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/ectest.c:2938,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2939,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ectest.c:2939,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2940,1
    - Dst: EC_KEY_new
      Src: /src/openssl/test/ectest.c:2940,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2941,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/ectest.c:2941,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2942,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ectest.c:2942,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2946,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/test/ectest.c:2946,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:2955,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ectest.c:2955,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2956,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2956,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2959,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2959,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2960,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2960,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2966,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/test/ectest.c:2966,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2967,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2967,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2970,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ectest.c:2970,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ectest.c:2971,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/test/ectest.c:2971,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2977,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ectest.c:2977,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2978,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ectest.c:2978,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2981,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ectest.c:2981,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2982,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ectest.c:2982,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2987,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:2987,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2988,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:2988,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2989,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/ectest.c:2989,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2990,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:2990,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ectest.c:2991,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2992,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:2992,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:2994,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:2994,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2995,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:2995,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2996,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/ectest.c:2996,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:2997,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:2997,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ectest.c:2998,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/ectest.c:2999,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3000,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3000,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:3004,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3008,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/ectest.c:3008,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3009,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/ectest.c:3009,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3012,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:3012,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3015,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/ectest.c:3015,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3018,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/ectest.c:3018,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/ectest.c:3021,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3022,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/ectest.c:3022,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3023,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/ectest.c:3023,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3026,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/ectest.c:3026,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3029,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/ectest.c:3029,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3033,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3034,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ectest.c:3034,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3035,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ectest.c:3035,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3036,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:3036,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3038,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:3038,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3043,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3044,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/ectest.c:3044,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3045,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/ectest.c:3045,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3046,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/ectest.c:3046,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3047,1
    - Dst: EVP_PKEY_derive_set_peer_ex
      Src: /src/openssl/test/ectest.c:3047,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3048,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3048,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ectest.c:3049,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/ectest.c:3050,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ectest.c:3051,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/ectest.c:3051,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ectest.c:3053,1
    - Dst: BN_CTX_end
      Src: /src/openssl/test/ectest.c:3059,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ectest.c:3060,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/ectest.c:3061,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:3062,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/ectest.c:3063,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:3064,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:3065,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ectest.c:3066,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:3067,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ectest.c:3068,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3069,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3070,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3071,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3072,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ectest.c:3073,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ectest.c:3074,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:3075,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:3076,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3077,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3078,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3079,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 108
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3082
      start: 2808
    functionDepth: 8
    functionLinenumber: 2808
    functionLinenumberEnd: 3082
    functionName: custom_params_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EC_KEY_generate_key
    - TEST_note
    - EVP_PKEY_derive_init
    - EC_POINT_mul
    - OSSL_PARAM_free
    - BN_CTX_new
    - EVP_PKEY_CTX_new
    - OSSL_PARAM_BLD_push_BN
    - OPENSSL_free
    - EVP_PKEY_assign_EC_KEY
    - EC_KEY_get0_public_key
    - TEST_ptr
    - EC_GROUP_order_bits
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    - EC_KEY_set_group
    - EC_GROUP_get_field_type
    - EVP_PKEY_CTX_dup
    - EC_GROUP_new_curve_GFp
    - TEST_size_t_gt
    - BN_CTX_end
    - BN_rand
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_free
    - EC_GROUP_free
    - EVP_PKEY_CTX_free
    - BN_CTX_free
    - TEST_true
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OPENSSL_malloc
    - EC_GROUP_get0_order
    - OSSL_PARAM_BLD_to_param
    - EC_GROUP_get_degree
    - EC_GROUP_set_generator
    - EVP_PKEY_new
    - EVP_PKEY_fromdata
    - OBJ_nid2sn
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_derive
    - TEST_skip
    - EC_KEY_new
    - if
    - TEST_size_t_eq
    - EC_POINT_new
    - EC_GROUP_get0_cofactor
    - EC_KEY_free
    - EC_POINT_is_on_curve
    - OSSL_PARAM_BLD_new
    - BN_CTX_get
    - EC_POINT_point2oct
    - BN_CTX_start
    - TEST_size_t_le
    - BN_rshift1
    - TEST_int_eq
    - EC_POINT_dbl
    - EC_POINT_oct2point
    - BN_clear_bit
    - EC_GROUP_new_curve_GF2m
    - EC_KEY_get0_private_key
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_CTX_new_from_name
    - TEST_mem_eq
    - EC_GROUP_get_curve
    - EVP_PKEY_derive_set_peer_ex
    linkageType: ''
    returnType: int
    signature: int custom_params_test(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3094,1
    - Dst: EVP_EC_gen
      Src: /src/openssl/test/ectest.c:3094,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ectest.c:3097,1
    - Dst: i2d_PublicKey
      Src: /src/openssl/test/ectest.c:3097,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/ectest.c:3100,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ectest.c:3102,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3104,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/ectest.c:3104,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3105,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/ectest.c:3105,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3106,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/ectest.c:3106,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3110,1
    - Dst: d2i_PublicKey
      Src: /src/openssl/test/ectest.c:3110,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3114,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ectest.c:3114,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ectest.c:3119,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:3120,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ectest.c:3121,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3084
    functionDepth: 13
    functionLinenumber: 3084
    functionLinenumberEnd: 3123
    functionName: ec_d2i_publickey_test
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - d2i_PublicKey
    - EVP_PKEY_eq
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata
    - OSSL_PARAM_construct_utf8_string
    - i2d_PublicKey
    - EVP_PKEY_CTX_new_from_name
    - EVP_EC_gen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int ec_d2i_publickey_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ectest.c:3127,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ectest.c:3128,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/ectest.c:3128,1
    - Dst: TEST_true
      Src: /src/openssl/test/ectest.c:3129,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ectest.c:3129,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3132,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3133,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3134,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3135,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3136,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3138,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3139,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3140,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:3140,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3142,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ectest.c:3142,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3143,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3144,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3145,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3146,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3147,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3148,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3149,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3150,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3151,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ectest.c:3152,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ectest.c:3153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3125
    functionDepth: 1
    functionLinenumber: 3125
    functionLinenumberEnd: 3155
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 0
    functionsReached:
    - EC_get_builtin_curves
    - OPENSSL_malloc_array
    - ADD_TEST
    - OSSL_NELEM
    - TEST_true
    - TEST_ptr
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ectest.c:3159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3160
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ectest.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ciphername_test.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: get_std_name_by_id
    functionSourceFile: /src/openssl/test/ciphername_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *get_std_name_by_id(int id)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/ciphername_test.c:386,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/openssl/test/ciphername_test.c:391,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:392,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:393,1
    - Dst: OPENSSL_cipher_name
      Src: /src/openssl/test/ciphername_test.c:397,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:398,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:399,1
    - Dst: OPENSSL_cipher_name
      Src: /src/openssl/test/ciphername_test.c:403,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:404,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:405,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/ciphername_test.c:410,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ciphername_test.c:410,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:412,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/ciphername_test.c:416,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:417,1
    - Dst: SSL_new
      Src: /src/openssl/test/ciphername_test.c:421,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:423,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/test/ciphername_test.c:427,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:429,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/ciphername_test.c:433,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/ciphername_test.c:434,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/ciphername_test.c:435,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/openssl/test/ciphername_test.c:439,1
    - Dst: get_std_name_by_id
      Src: /src/openssl/test/ciphername_test.c:440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ciphername_test.c:441,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:442,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:447,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:448,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/ciphername_test.c:453,1
    - Dst: OPENSSL_cipher_name
      Src: /src/openssl/test/ciphername_test.c:454,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ciphername_test.c:455,1
    - Dst: TEST_info
      Src: /src/openssl/test/ciphername_test.c:456,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ciphername_test.c:463,1
    - Dst: SSL_free
      Src: /src/openssl/test/ciphername_test.c:464,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 466
    functionName: test_cipher_name
    functionSourceFile: /src/openssl/test/ciphername_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_CIPHER_get_id
    - SSL_free
    - TEST_str_eq
    - SSL_CTX_set_cipher_list
    - TEST_info
    - sk_SSL_CIPHER_value
    - OPENSSL_cipher_name
    - get_std_name_by_id
    - STACK_OF
    - SSL_CIPHER_standard_name
    - SSL_CTX_new
    - SSL_new
    - TLS_server_method
    - sk_SSL_CIPHER_num
    - SSL_get_ciphers
    - TEST_ptr
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: int
    signature: int test_cipher_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/ciphername_test.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ciphername_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/sanitytest.c:27,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sanitytest.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: test_sanity_null_zero
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    linkageType: ''
    returnType: int
    signature: int test_sanity_null_zero(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:49,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:50,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: test_sanity_enum_size
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_sanity_enum_size(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sanitytest.c:59,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sanitytest.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: test_sanity_twos_complement
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_sanity_twos_complement(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sanitytest.c:68,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sanitytest.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: test_sanity_sign
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_sanity_sign(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sanitytest.c:77,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sanitytest.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: test_sanity_unsigned_conversion
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - TEST_long_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_sanity_unsigned_conversion(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:86,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:87,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:88,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:89,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:90,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:91,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:92,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:93,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:95,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:96,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:98,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sanitytest.c:99,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:103,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:104,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:112,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:113,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/sanitytest.c:114,1
    - Dst: TEST_error
      Src: /src/openssl/test/sanitytest.c:119,1
    - Dst: TEST_error
      Src: /src/openssl/test/sanitytest.c:125,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 130
    functionName: test_sanity_range
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - TEST_size_t_ge
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_sanity_range(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/test/sanitytest.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: test_sanity_memcmp
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: int test_sanity_memcmp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: alrm_handler
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void alrm_handler(int sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/test/sanitytest.c:151,1
    - Dst: sigaction
      Src: /src/openssl/test/sanitytest.c:164,1
    - Dst: TEST_perror
      Src: /src/openssl/test/sanitytest.c:165,1
    - Dst: sigemptyset
      Src: /src/openssl/test/sanitytest.c:169,1
    - Dst: sigaddset
      Src: /src/openssl/test/sanitytest.c:170,1
    - Dst: sigprocmask
      Src: /src/openssl/test/sanitytest.c:171,1
    - Dst: TEST_perror
      Src: /src/openssl/test/sanitytest.c:172,1
    - Dst: setitimer
      Src: /src/openssl/test/sanitytest.c:176,1
    - Dst: TEST_perror
      Src: /src/openssl/test/sanitytest.c:177,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/sanitytest.c:187,1
    - Dst: setitimer
      Src: /src/openssl/test/sanitytest.c:194,1
    - Dst: TEST_perror
      Src: /src/openssl/test/sanitytest.c:195,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/sanitytest.c:201,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/sanitytest.c:201,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sanitytest.c:201,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/sanitytest.c:203,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/sanitytest.c:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 206
    functionName: test_sanity_sleep
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - setitimer
    - sigprocmask
    - sigaddset
    - sigemptyset
    - OSSL_sleep
    - sigaction
    - ossl_time_now
    - ossl_time2ms
    - ossl_time_subtract
    - TEST_perror
    - TEST_uint64_t_le
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: int
    signature: int test_sanity_sleep(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:210,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:211,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:212,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:213,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:214,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:215,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sanitytest.c:216,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sanitytest.c:217,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sanitytest.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sanitytest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - buf
    argTypes:
    - unsigned char*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: pt
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 238
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pt(const unsigned char *p, char buf[DATA_BUF_SIZE])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/test/destest.c:324,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:325,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:326,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:327,1
    - Dst: DES_ecb_encrypt
      Src: /src/openssl/test/destest.c:328,1
    - Dst: DES_ecb_encrypt
      Src: /src/openssl/test/destest.c:329,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:331,1
    - Dst: TEST_info
      Src: /src/openssl/test/destest.c:332,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:333,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:333,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:336,1
    - Dst: TEST_info
      Src: /src/openssl/test/destest.c:337,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:338,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 342
    functionName: test_des_ecb
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memset
    - DES_ecb_encrypt
    - memcpy
    - DES_set_key_unchecked
    - TEST_info
    - pt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_des_ecb(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/test/destest.c:350,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/test/destest.c:351,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/test/destest.c:352,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:353,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:354,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:355,1
    - Dst: DES_ecb3_encrypt
      Src: /src/openssl/test/destest.c:356,1
    - Dst: DES_ecb3_encrypt
      Src: /src/openssl/test/destest.c:357,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:359,1
    - Dst: TEST_info
      Src: /src/openssl/test/destest.c:360,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:361,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:361,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:364,1
    - Dst: TEST_info
      Src: /src/openssl/test/destest.c:365,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:366,1
    - Dst: pt
      Src: /src/openssl/test/destest.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 370
    functionName: test_des_ede_ecb
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - DES_set_key_unchecked
    - DES_ecb3_encrypt
    - TEST_info
    - pt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_des_ede_ecb(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:378,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:380,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:380,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:382,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:383,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:384,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/test/destest.c:385,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:387,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:390,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/test/destest.c:391,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 394
    functionName: test_des_cbc
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - DES_ncbc_encrypt
    - memcpy
    - TEST_int_eq
    - DES_set_key_checked
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_des_cbc(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:402,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:404,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:404,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:406,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:407,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:408,1
    - Dst: DES_xcbc_encrypt
      Src: /src/openssl/test/destest.c:409,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:411,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:413,1
    - Dst: DES_xcbc_encrypt
      Src: /src/openssl/test/destest.c:414,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 417
    functionName: test_des_ede_cbc
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - memcpy
    - TEST_int_eq
    - DES_set_key_checked
    - strlen
    - DES_xcbc_encrypt
    linkageType: ''
    returnType: int
    signature: int test_des_ede_cbc(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:425,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:428,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:428,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:430,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:430,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:432,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:432,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:434,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:435,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:436,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/test/destest.c:438,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/test/destest.c:440,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:442,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:445,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/test/destest.c:446,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 449
    functionName: test_ede_cbc
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_ede3_cbc_encrypt
    - TEST_mem_eq
    - memset
    - memcpy
    - TEST_int_eq
    - DES_set_key_checked
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_ede_cbc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:456,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:458,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:459,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:460,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:460,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/test/destest.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: test_input_align
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memset
    - DES_ncbc_encrypt
    - memcpy
    - TEST_int_eq
    - DES_set_key_checked
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_input_align(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:471,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:473,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:474,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:475,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:475,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/test/destest.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 479
    functionName: test_output_align
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memset
    - DES_ncbc_encrypt
    - memcpy
    - TEST_int_eq
    - DES_set_key_checked
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_output_align(int i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/openssl/test/destest.c:483,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:483,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/destest.c:485,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:485,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/destest.c:488,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:488,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/destest.c:490,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:490,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/destest.c:492,1
    - Dst: DES_crypt
      Src: /src/openssl/test/destest.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 495
    functionName: test_des_crypt
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - DES_crypt
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: int test_des_crypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/destest.c:502,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:504,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:504,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:506,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:507,1
    - Dst: DES_pcbc_encrypt
      Src: /src/openssl/test/destest.c:508,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:510,1
    - Dst: DES_pcbc_encrypt
      Src: /src/openssl/test/destest.c:512,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 515
    functionName: test_des_pcbc
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - TEST_int_eq
    - DES_set_key_checked
    - DES_pcbc_encrypt
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_des_pcbc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:521,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:522,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/test/destest.c:523,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:525,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:527,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/test/destest.c:528,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - bits
    - cfb_cipher
    argTypes:
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 531
    functionName: cfb_test
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memcpy
    - DES_cfb_encrypt
    - DES_set_key_checked
    linkageType: ''
    returnType: int
    signature: int cfb_test(int bits, unsigned char *cfb_cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/openssl/test/destest.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: test_des_cfb8
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - cfb_test
    linkageType: ''
    returnType: int
    signature: int test_des_cfb8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/openssl/test/destest.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 4
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: test_des_cfb16
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - cfb_test
    linkageType: ''
    returnType: int
    signature: int test_des_cfb16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/openssl/test/destest.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: test_des_cfb32
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - cfb_test
    linkageType: ''
    returnType: int
    signature: int test_des_cfb32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/openssl/test/destest.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: test_des_cfb48
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - cfb_test
    linkageType: ''
    returnType: int
    signature: int test_des_cfb48(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfb_test
      Src: /src/openssl/test/destest.c:559,1
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:562,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:563,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/test/destest.c:565,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/test/destest.c:566,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:568,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:570,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/test/destest.c:572,1
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/test/destest.c:573,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:575,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:578,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/test/destest.c:580,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:582,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:585,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/test/destest.c:587,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 590
    functionName: test_des_cfb64
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cfb_test
    - DES_cfb_encrypt
    - DES_set_key_checked
    - TEST_mem_eq
    - DES_cfb64_encrypt
    linkageType: ''
    returnType: int
    signature: int test_des_cfb64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:597,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:598,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/test/destest.c:600,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/test/destest.c:602,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:604,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:606,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/test/destest.c:608,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/test/destest.c:610,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 613
    functionName: test_des_ede_cfb64
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TEST_mem_eq
    - DES_ede3_cfb64_encrypt
    - DES_set_key_checked
    linkageType: ''
    returnType: int
    signature: int test_des_ede_cfb64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:619,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:620,1
    - Dst: DES_ofb_encrypt
      Src: /src/openssl/test/destest.c:621,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:622,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:625,1
    - Dst: DES_ofb_encrypt
      Src: /src/openssl/test/destest.c:626,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 629
    functionName: test_des_ofb
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TEST_mem_eq
    - DES_ofb_encrypt
    - DES_set_key_checked
    linkageType: ''
    returnType: int
    signature: int test_des_ofb(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:637,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:638,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:639,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:640,1
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/test/destest.c:643,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:645,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:647,1
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/test/destest.c:649,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 652
    functionName: test_des_ofb64
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - DES_set_key_checked
    - DES_ofb64_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_des_ofb64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:660,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:661,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:662,1
    - Dst: memset
      Src: /src/openssl/test/destest.c:663,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/test/destest.c:666,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:669,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:671,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/test/destest.c:673,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 676
    functionName: test_des_ede_ofb64
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - DES_ede3_ofb64_encrypt
    - DES_set_key_checked
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_des_ede_ofb64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_checked
      Src: /src/openssl/test/destest.c:684,1
    - Dst: DES_cbc_cksum
      Src: /src/openssl/test/destest.c:685,1
    - Dst: strlen
      Src: /src/openssl/test/destest.c:685,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:687,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 690
    functionName: test_des_cbc_cksum
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_cs_eq
    - DES_cbc_cksum
    - DES_set_key_checked
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_des_cbc_cksum(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DES_quad_cksum
      Src: /src/openssl/test/destest.c:696,1
    - Dst: strlen
      Src: /src/openssl/test/destest.c:697,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:699,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:701,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:703,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:705,1
    - Dst: TEST_cs_eq
      Src: /src/openssl/test/destest.c:707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 710
    functionName: test_des_quad_cksum
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_cs_eq
    - DES_quad_cksum
    linkageType: ''
    returnType: int
    signature: int test_des_quad_cksum(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/destest.c:731,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/destest.c:732,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/destest.c:732,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:733,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/test/destest.c:733,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/destest.c:734,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:735,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/destest.c:736,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/destest.c:736,1
    - Dst: test_random
      Src: /src/openssl/test/destest.c:741,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:744,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:745,1
    - Dst: memcpy
      Src: /src/openssl/test/destest.c:746,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:750,1
    - Dst: EVP_EncryptInit
      Src: /src/openssl/test/destest.c:750,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:751,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/destest.c:751,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:756,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:760,1
    - Dst: EVP_EncryptFinal
      Src: /src/openssl/test/destest.c:760,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:761,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:767,1
    - Dst: EVP_DecryptInit
      Src: /src/openssl/test/destest.c:767,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:768,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/destest.c:768,1
    - Dst: TEST_true
      Src: /src/openssl/test/destest.c:772,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/test/destest.c:772,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/destest.c:776,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/destest.c:780,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/destest.c:781,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 721
    functionDepth: 6
    functionLinenumber: 721
    functionLinenumberEnd: 783
    functionName: test_des_key_wrap
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptUpdate
    - memcpy
    - test_random
    - TEST_ptr
    - EVP_DecryptFinal
    - EVP_EncryptInit
    - EVP_DecryptInit
    - EVP_CIPHER_free
    - TEST_true
    - EVP_EncryptFinal
    - EVP_DecryptUpdate
    - EVP_CIPHER_fetch
    - TEST_size_t_eq
    - EVP_CIPHER_get_block_size
    - EVP_CIPHER_CTX_new
    - TEST_size_t_le
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_des_key_wrap(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:823,1
    - Dst: DES_is_weak_key
      Src: /src/openssl/test/destest.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 824
    functionName: test_des_weak_keys
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - DES_is_weak_key
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_des_weak_keys(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/destest.c:849,1
    - Dst: DES_check_key_parity
      Src: /src/openssl/test/destest.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: test_des_check_bad_parity
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - DES_check_key_parity
    linkageType: ''
    returnType: int
    signature: int test_des_check_bad_parity(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/destest.c:860,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/destest.c:860,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/destest.c:861,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/destest.c:861,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/destest.c:862,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/test/destest.c:863,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/test/destest.c:864,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/destest.c:869,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/destest.c:870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 853
    functionDepth: 6
    functionLinenumber: 853
    functionLinenumberEnd: 872
    functionName: test_des_two_key
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_rand_key
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_free
    - TEST_ptr
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: int
    signature: int test_des_two_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:879,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:880,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:881,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:882,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:883,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:884,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:885,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:886,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:887,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:888,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:889,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:890,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:891,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:892,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:893,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:894,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:895,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:896,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:897,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:898,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:899,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/destest.c:899,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:900,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/destest.c:900,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/destest.c:901,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/destest.c:901,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/destest.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 905
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/destest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strtoul
      Src: /src/openssl/test/strtoultest.c:78,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/strtoultest.c:83,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/strtoultest.c:88,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/strtoultest.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 100
    functionName: test_strtoul
    functionSourceFile: /src/openssl/test/strtoultest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strtoul
    - TEST_ptr_eq
    - TEST_int_eq
    - TEST_ulong_eq
    linkageType: ''
    returnType: int
    signature: int test_strtoul(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/strtoultest.c:104,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/strtoultest.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/strtoultest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: BN_print_var
    functionSourceFile: /src/openssl/test/exptest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_print_var(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/test/exptest.c:34,1
    - Dst: TEST_error
      Src: /src/openssl/test/exptest.c:35,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:36,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - method
    - r
    - a
    argTypes:
    - char*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: a_is_zero_mod_one
    functionSourceFile: /src/openssl/test/exptest.c
    functionUses: 0
    functionsReached:
    - BN_is_zero
    - BN_print_var
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int a_is_zero_mod_one(const char *method, const BIGNUM *r,\n                             const
      BIGNUM *a)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/test/exptest.c:51,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:55,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:55,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:56,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:56,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:57,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:57,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:58,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:58,1
    - Dst: BN_one
      Src: /src/openssl/test/exptest.c:61,1
    - Dst: BN_one
      Src: /src/openssl/test/exptest.c:62,1
    - Dst: BN_zero
      Src: /src/openssl/test/exptest.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:65,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:68,1
    - Dst: BN_mod_exp
      Src: /src/openssl/test/exptest.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:71,1
    - Dst: a_is_zero_mod_one
      Src: /src/openssl/test/exptest.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:74,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/test/exptest.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:77,1
    - Dst: a_is_zero_mod_one
      Src: /src/openssl/test/exptest.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:80,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/exptest.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:83,1
    - Dst: a_is_zero_mod_one
      Src: /src/openssl/test/exptest.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:86,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/exptest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:89,1
    - Dst: a_is_zero_mod_one
      Src: /src/openssl/test/exptest.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:92,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/exptest.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:95,1
    - Dst: a_is_zero_mod_one
      Src: /src/openssl/test/exptest.c:95,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:98,1
    - Dst: BN_MONT_CTX_new
      Src: /src/openssl/test/exptest.c:98,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/exptest.c:101,1
    - Dst: TEST_false
      Src: /src/openssl/test/exptest.c:103,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/exptest.c:103,1
    - Dst: TEST_false
      Src: /src/openssl/test/exptest.c:105,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/exptest.c:105,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/exptest.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:109,1
    - Dst: BN_MONT_CTX_set
      Src: /src/openssl/test/exptest.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:113,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/exptest.c:113,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:116,1
    - Dst: a_is_zero_mod_one
      Src: /src/openssl/test/exptest.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:119,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/exptest.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:122,1
    - Dst: a_is_zero_mod_one
      Src: /src/openssl/test/exptest.c:122,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:129,1
    - Dst: BN_mod_exp_mont_word
      Src: /src/openssl/test/exptest.c:129,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/exptest.c:132,1
    - Dst: TEST_error
      Src: /src/openssl/test/exptest.c:133,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:135,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:141,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:142,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:143,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:144,1
    - Dst: BN_MONT_CTX_free
      Src: /src/openssl/test/exptest.c:145,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/exptest.c:146,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 46
    functionDepth: 7
    functionLinenumber: 46
    functionLinenumberEnd: 149
    functionName: test_mod_exp_zero
    functionSourceFile: /src/openssl/test/exptest.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - BN_CTX_new
    - TEST_ptr
    - BN_MONT_CTX_set
    - BN_rand
    - BN_mod_exp_mont_consttime
    - BN_mod_exp_mont
    - TEST_BN_eq_zero
    - BN_CTX_free
    - BN_print_var
    - BN_new
    - TEST_true
    - BN_MONT_CTX_free
    - BN_free
    - TEST_error
    - BN_one
    - BN_mod_exp_simple
    - BN_mod_exp_mont_word
    - a_is_zero_mod_one
    - BN_mod_exp_recp
    - BN_mod_exp
    - BN_MONT_CTX_new
    - TEST_false
    - BN_zero
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: int test_mod_exp_zero(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:164,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/exptest.c:164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:167,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:167,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:168,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:168,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:169,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:170,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:170,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:171,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:172,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:173,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:173,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/exptest.c:176,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/exptest.c:176,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:179,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:179,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/exptest.c:183,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/exptest.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:186,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:186,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/exptest.c:190,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/exptest.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:193,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:193,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:197,1
    - Dst: BN_mod
      Src: /src/openssl/test/exptest.c:197,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:198,1
    - Dst: BN_mod
      Src: /src/openssl/test/exptest.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:199,1
    - Dst: BN_mod_exp_mont
      Src: /src/openssl/test/exptest.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:200,1
    - Dst: BN_mod_exp_recp
      Src: /src/openssl/test/exptest.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:201,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/exptest.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:202,1
    - Dst: BN_mod_exp_mont_consttime
      Src: /src/openssl/test/exptest.c:202,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/exptest.c:205,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/exptest.c:206,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/exptest.c:207,1
    - Dst: BN_cmp
      Src: /src/openssl/test/exptest.c:208,1
    - Dst: TEST_info
      Src: /src/openssl/test/exptest.c:209,1
    - Dst: BN_cmp
      Src: /src/openssl/test/exptest.c:210,1
    - Dst: TEST_info
      Src: /src/openssl/test/exptest.c:211,1
    - Dst: BN_cmp
      Src: /src/openssl/test/exptest.c:212,1
    - Dst: TEST_info
      Src: /src/openssl/test/exptest.c:213,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:215,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:216,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:217,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:218,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:219,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:220,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:221,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:227,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:228,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:229,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:230,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:231,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:232,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:233,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/exptest.c:234,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 60
    argCount: 1
    argNames:
    - round
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 237
    functionName: test_mod_exp
    functionSourceFile: /src/openssl/test/exptest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - BN_mod
    - BN_rand
    - BN_mod_exp_mont_consttime
    - BN_CTX_new
    - BN_mod_exp_mont
    - BN_mod_exp_simple
    - BN_cmp
    - TEST_info
    - RAND_bytes
    - BN_CTX_free
    - BN_print_var
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_mod_exp_recp
    - BN_free
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_mod_exp(int round)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:262,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/exptest.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:265,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:266,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:267,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:268,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:268,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:269,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:270,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:271,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:272,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:272,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:273,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:273,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exptest.c:274,1
    - Dst: BN_new
      Src: /src/openssl/test/exptest.c:274,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:277,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:278,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:279,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:280,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:281,1
    - Dst: BN_rand
      Src: /src/openssl/test/exptest.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:284,1
    - Dst: BN_mod
      Src: /src/openssl/test/exptest.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:285,1
    - Dst: BN_mod
      Src: /src/openssl/test/exptest.c:285,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:286,1
    - Dst: BN_mod
      Src: /src/openssl/test/exptest.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:287,1
    - Dst: BN_mod
      Src: /src/openssl/test/exptest.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:288,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/exptest.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:289,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/test/exptest.c:289,1
    - Dst: TEST_true
      Src: /src/openssl/test/exptest.c:290,1
    - Dst: BN_mod_exp_mont_consttime_x2
      Src: /src/openssl/test/exptest.c:290,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/exptest.c:295,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/exptest.c:296,1
    - Dst: BN_cmp
      Src: /src/openssl/test/exptest.c:297,1
    - Dst: TEST_info
      Src: /src/openssl/test/exptest.c:298,1
    - Dst: BN_cmp
      Src: /src/openssl/test/exptest.c:299,1
    - Dst: TEST_info
      Src: /src/openssl/test/exptest.c:300,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:302,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:303,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:304,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:305,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:306,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:307,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:308,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:309,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:310,1
    - Dst: BN_print_var
      Src: /src/openssl/test/exptest.c:311,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:317,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:318,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:319,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:320,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:321,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:322,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:323,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:324,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:325,1
    - Dst: BN_free
      Src: /src/openssl/test/exptest.c:326,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/exptest.c:327,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 239
    functionDepth: 8
    functionLinenumber: 239
    functionLinenumberEnd: 330
    functionName: test_mod_exp_x2
    functionSourceFile: /src/openssl/test/exptest.c
    functionUses: 0
    functionsReached:
    - BN_free
    - TEST_BN_eq
    - BN_mod
    - BN_rand
    - BN_cmp
    - BN_CTX_new
    - BN_mod_exp_simple
    - TEST_info
    - BN_CTX_free
    - BN_print_var
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_mod_exp_mont_consttime_x2
    linkageType: ''
    returnType: int
    signature: int test_mod_exp_x2(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/exptest.c:334,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/exptest.c:335,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/exptest.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/exptest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_set_callback
      Src: /src/openssl/test/ecdsatest.c:42,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:44,1
    - Dst: BN_new
      Src: /src/openssl/test/ecdsatest.c:44,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/ecdsatest.c:45,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ecdsatest.c:45,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:46,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ecdsatest.c:46,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ecdsatest.c:48,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/ecdsatest.c:48,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:49,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/ecdsatest.c:49,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ecdsatest.c:52,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - num
    - name
    - ctx
    argTypes:
    - unsigned char*
    - size_t
    - ossl_unused*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: fbytes
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - BN_free
    - BN_hex2bn
    - BN_num_bytes
    - TEST_int_le
    - OSSL_NELEM
    - fake_rand_set_callback
    - BN_new
    - TEST_true
    - TEST_ptr
    - TEST_int_lt
    - BN_bn2binpad
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int fbytes(unsigned char *buf, size_t num, ossl_unused const char
      *name,\n                  EVP_RAND_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ecdsatest.c:97,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:97,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/test/ecdsatest.c:100,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ecdsatest.c:101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:104,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/ecdsatest.c:104,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:106,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/ecdsatest.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:107,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/ecdsatest.c:107,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/test/ecdsatest.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:108,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/ecdsatest.c:108,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:109,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/ecdsatest.c:109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:111,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ecdsatest.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:113,1
    - Dst: BN_new
      Src: /src/openssl/test/ecdsatest.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:114,1
    - Dst: BN_new
      Src: /src/openssl/test/ecdsatest.c:114,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:115,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ecdsatest.c:115,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:116,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ecdsatest.c:116,1
    - Dst: fake_rand_set_callback
      Src: /src/openssl/test/ecdsatest.c:120,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/ecdsatest.c:120,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:121,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ecdsatest.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:122,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/test/ecdsatest.c:122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:124,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/ecdsatest.c:124,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ecdsatest.c:125,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ecdsatest.c:126,1
    - Dst: fake_rand_set_callback
      Src: /src/openssl/test/ecdsatest.c:130,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/ecdsatest.c:130,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:131,1
    - Dst: ECDSA_sign_setup
      Src: /src/openssl/test/ecdsatest.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:132,1
    - Dst: ECDSA_do_sign_ex
      Src: /src/openssl/test/ecdsatest.c:132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:135,1
    - Dst: ECDSA_do_verify
      Src: /src/openssl/test/ecdsatest.c:135,1
    - Dst: ECDSA_SIG_get0
      Src: /src/openssl/test/ecdsatest.c:139,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ecdsatest.c:140,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ecdsatest.c:141,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:148,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:149,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ecdsatest.c:150,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/test/ecdsatest.c:151,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:152,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:153,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/ecdsatest.c:154,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/ecdsatest.c:155,1
    - Dst: BN_clear_free
      Src: /src/openssl/test/ecdsatest.c:156,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 73
    functionDepth: 14
    functionLinenumber: 73
    functionLinenumberEnd: 158
    functionName: x9_62_tests
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - EC_KEY_key2buf
    - TEST_BN_eq
    - BN_hex2bn
    - EC_KEY_generate_key
    - EVP_DigestUpdate
    - OPENSSL_free
    - ECDSA_sign_setup
    - ECDSA_SIG_get0
    - TEST_ptr
    - ECDSA_do_verify
    - TEST_info
    - EVP_get_digestbynid
    - RAND_get0_private
    - EVP_DigestInit_ex
    - fake_rand_set_callback
    - BN_new
    - TEST_true
    - ECDSA_SIG_free
    - BN_free
    - EVP_DigestFinal_ex
    - BN_clear_free
    - OBJ_nid2sn
    - TEST_skip
    - ECDSA_do_sign_ex
    - TEST_size_t_eq
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    - EVP_MD_CTX_new
    - TEST_int_eq
    - OPENSSL_hexstr2buf
    - EVP_MD_CTX_free
    - TEST_mem_eq
    - EC_curve_nid2nist
    linkageType: ''
    returnType: int
    signature: int x9_62_tests(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:182,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/test/ecdsatest.c:182,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:183,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/ecdsatest.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - pkey
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: set_sm2_id
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_int_gt
    - EVP_PKEY_CTX_set1_id
    - EVP_MD_CTX_get_pkey_ctx
    linkageType: ''
    returnType: int
    signature: int set_sm2_id(EVP_MD_CTX *mctx, EVP_PKEY *pkey)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/ecdsatest.c:203,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:203,1
    - Dst: TEST_info
      Src: /src/openssl/test/ecdsatest.c:212,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:213,1
    - Dst: TEST_info
      Src: /src/openssl/test/ecdsatest.c:216,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:217,1
    - Dst: TEST_info
      Src: /src/openssl/test/ecdsatest.c:221,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ecdsatest.c:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:224,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/ecdsatest.c:224,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:226,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/ecdsatest.c:226,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:228,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ecdsatest.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:229,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ecdsatest.c:229,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:230,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ecdsatest.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:231,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ecdsatest.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:233,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ecdsatest.c:233,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:234,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ecdsatest.c:234,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:235,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ecdsatest.c:235,1
    - Dst: TEST_false
      Src: /src/openssl/test/ecdsatest.c:236,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ecdsatest.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:237,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/ecdsatest.c:237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:240,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/ecdsatest.c:240,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:241,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/ecdsatest.c:241,1
    - Dst: ECDSA_size
      Src: /src/openssl/test/ecdsatest.c:244,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/ecdsatest.c:246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:247,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ecdsatest.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:249,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/ecdsatest.c:249,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:251,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/ecdsatest.c:251,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/ecdsatest.c:252,1
    - Dst: ECDSA_size
      Src: /src/openssl/test/ecdsatest.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:253,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:255,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:255,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:256,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:257,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:258,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:260,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:260,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:261,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:262,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:263,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:265,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:265,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:266,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:267,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:267,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:268,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:273,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:273,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:274,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:275,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:275,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:276,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:280,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:280,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:282,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:283,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:315,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:315,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:316,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ecdsatest.c:317,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:317,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:318,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:318,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:322,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/ecdsatest.c:322,1
    - Dst: set_sm2_id
      Src: /src/openssl/test/ecdsatest.c:323,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:324,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/ecdsatest.c:324,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:325,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/openssl/test/ecdsatest.c:325,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ecdsatest.c:330,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ecdsatest.c:331,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ecdsatest.c:332,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/ecdsatest.c:333,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:334,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 52
    argCount: 2
    argNames:
    - n
    - as
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 188
    functionDepth: 8
    functionLinenumber: 188
    functionLinenumberEnd: 336
    functionName: test_builtin
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - EC_KEY_generate_key
    - OPENSSL_free
    - EVP_DigestSign
    - EVP_PKEY_assign_EC_KEY
    - TEST_ptr
    - ECDSA_size
    - TEST_info
    - EVP_PKEY_free
    - TEST_true
    - OPENSSL_malloc
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - set_sm2_id
    - TEST_int_ne
    - OBJ_nid2sn
    - EVP_DigestVerifyInit
    - EC_KEY_new_by_curve_name
    - EVP_DigestSignInit
    - TEST_size_t_le
    - EVP_MD_CTX_reset
    - TEST_false
    - TEST_int_ge
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_MD_CTX_free
    - RAND_bytes
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_builtin(int n, int as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_builtin
      Src: /src/openssl/test/ecdsatest.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 9
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: test_builtin_as_ec
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - test_builtin
    linkageType: ''
    returnType: int
    signature: int test_builtin_as_ec(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_builtin
      Src: /src/openssl/test/ecdsatest.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 9
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: test_builtin_as_sm2
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - test_builtin
    linkageType: ''
    returnType: int
    signature: int test_builtin_as_sm2(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:360,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/ecdsatest.c:360,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:361,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/test/ecdsatest.c:361,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:362,1
    - Dst: ECDSA_sign
      Src: /src/openssl/test/ecdsatest.c:362,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:365,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ecdsatest.c:365,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:366,1
    - Dst: ECDSA_sign
      Src: /src/openssl/test/ecdsatest.c:366,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:368,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ecdsatest.c:369,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:370,1
    - Dst: ECDSA_verify
      Src: /src/openssl/test/ecdsatest.c:370,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:372,1
    - Dst: ECDSA_sign_setup
      Src: /src/openssl/test/ecdsatest.c:372,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:373,1
    - Dst: ECDSA_sign_ex
      Src: /src/openssl/test/ecdsatest.c:373,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ecdsatest.c:375,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ecdsatest.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:377,1
    - Dst: ECDSA_sign_ex
      Src: /src/openssl/test/ecdsatest.c:377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:379,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ecdsatest.c:380,1
    - Dst: ECDSA_verify
      Src: /src/openssl/test/ecdsatest.c:380,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/ecdsatest.c:382,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:383,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:384,1
    - Dst: BN_free
      Src: /src/openssl/test/ecdsatest.c:385,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 387
    functionName: test_ecdsa_sig_NULL
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - EC_KEY_new_by_curve_name
    - BN_free
    - EC_KEY_generate_key
    - ECDSA_sign
    - ECDSA_sign_ex
    - TEST_int_le
    - TEST_int_eq
    - OPENSSL_free
    - ECDSA_sign_setup
    - TEST_ptr
    - ECDSA_verify
    - EC_KEY_free
    - OPENSSL_malloc
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_ecdsa_sig_NULL(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/ecdsatest.c:394,1
    - Dst: fake_rand_start
      Src: /src/openssl/test/ecdsatest.c:396,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ecdsatest.c:401,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecdsatest.c:402,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/ecdsatest.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecdsatest.c:403,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/test/ecdsatest.c:403,1
    - Dst: fake_rand_finish
      Src: /src/openssl/test/ecdsatest.c:404,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ecdsatest.c:407,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ecdsatest.c:408,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ecdsatest.c:410,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ecdsatest.c:412,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ecdsatest.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 415
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - EC_get_builtin_curves
    - OPENSSL_malloc_array
    - ADD_TEST
    - fake_rand_start
    - OSSL_NELEM
    - fake_rand_finish
    - TEST_true
    - TEST_ptr
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_finish
      Src: /src/openssl/test/ecdsatest.c:420,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ecdsatest.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ecdsatest.c
    functionUses: 5
    functionsReached:
    - OPENSSL_free
    - fake_rand_finish
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/openssl/test/threadstest.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: run_thread
    functionSourceFile: /src/openssl/test/threadstest.h
    functionUses: 6
    functionsReached:
    - f
    linkageType: ''
    returnType: int
    signature: int run_thread(thread_t *t, void (*f)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: wait_for_thread
    functionSourceFile: /src/openssl/test/threadstest.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wait_for_thread(thread_t thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/openssl/test/threadstest.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: thread_run
    functionSourceFile: /src/openssl/test/threadstest.h
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: DWORD
    signature: DWORD thread_run(LPVOID arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/openssl/test/threadstest.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: run_thread
    functionSourceFile: /src/openssl/test/threadstest.h
    functionUses: 6
    functionsReached:
    - CreateThread
    linkageType: ''
    returnType: int
    signature: int run_thread(thread_t *t, void (*f)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/openssl/test/threadstest.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: wait_for_thread
    functionSourceFile: /src/openssl/test/threadstest.h
    functionUses: 6
    functionsReached:
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int wait_for_thread(thread_t thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/openssl/test/threadstest.h:67,1
    - Dst: OPENSSL_thread_stop
      Src: /src/openssl/test/threadstest.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: thread_run
    functionSourceFile: /src/openssl/test/threadstest.h
    functionUses: 0
    functionsReached:
    - OPENSSL_thread_stop
    - f
    linkageType: ''
    returnType: void
    signature: void *thread_run(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/openssl/test/threadstest.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: run_thread
    functionSourceFile: /src/openssl/test/threadstest.h
    functionUses: 6
    functionsReached:
    - pthread_create
    linkageType: ''
    returnType: int
    signature: int run_thread(thread_t *t, void (*f)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/openssl/test/threadstest.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thread
    argTypes:
    - thread_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: wait_for_thread
    functionSourceFile: /src/openssl/test/threadstest.h
    functionUses: 6
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: int
    signature: int wait_for_thread(thread_t thread)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/nodefltctxtest.c:22,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/nodefltctxtest.c:24,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/nodefltctxtest.c:27,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/nodefltctxtest.c:28,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/test/nodefltctxtest.c:36,1
    - Dst: TEST_true
      Src: /src/openssl/test/nodefltctxtest.c:44,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/nodefltctxtest.c:44,1
    - Dst: TEST_false
      Src: /src/openssl/test/nodefltctxtest.c:46,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/nodefltctxtest.c:46,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/nodefltctxtest.c:51,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/nodefltctxtest.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 18
    functionDepth: 10
    functionLinenumber: 18
    functionLinenumberEnd: 54
    functionName: test_no_deflt_ctx_init
    functionSourceFile: /src/openssl/test/nodefltctxtest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_new
    - EVP_MD_fetch
    - TEST_false
    - OPENSSL_init_crypto
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_no_deflt_ctx_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/nodefltctxtest.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/nodefltctxtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/test/uitest.c:23,1
    - Dst: strlen
      Src: /src/openssl/test/uitest.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: test_pem_password_cb
    functionSourceFile: /src/openssl/test/uitest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strlcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_pem_password_cb(char *buf, int size, int rwflag, void *userdata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/uitest.c:39,1
    - Dst: UI_UTIL_wrap_read_pem_callback
      Src: /src/openssl/test/uitest.c:40,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/uitest.c:41,1
    - Dst: UI_new_method
      Src: /src/openssl/test/uitest.c:41,1
    - Dst: UI_add_user_data
      Src: /src/openssl/test/uitest.c:45,1
    - Dst: UI_add_input_string
      Src: /src/openssl/test/uitest.c:47,1
    - Dst: UI_process
      Src: /src/openssl/test/uitest.c:51,1
    - Dst: TEST_info
      Src: /src/openssl/test/uitest.c:53,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/uitest.c:61,1
    - Dst: UI_free
      Src: /src/openssl/test/uitest.c:65,1
    - Dst: UI_destroy_method
      Src: /src/openssl/test/uitest.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 69
    functionName: test_old
    functionSourceFile: /src/openssl/test/uitest.c
    functionUses: 0
    functionsReached:
    - UI_UTIL_wrap_read_pem_callback
    - UI_free
    - UI_process
    - TEST_str_eq
    - TEST_info
    - UI_destroy_method
    - TEST_ptr
    - UI_add_user_data
    - UI_new_method
    - UI_add_input_string
    linkageType: ''
    returnType: int
    signature: int test_old(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_ui_method
      Src: /src/openssl/test/uitest.c:81,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/uitest.c:82,1
    - Dst: password_callback
      Src: /src/openssl/test/uitest.c:82,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/uitest.c:83,1
    - Dst: destroy_ui_method
      Src: /src/openssl/test/uitest.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: test_new_ui
    functionSourceFile: /src/openssl/test/uitest.c
    functionUses: 0
    functionsReached:
    - setup_ui_method
    - TEST_str_eq
    - destroy_ui_method
    - password_callback
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_new_ui(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/uitest.c:91,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/uitest.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/uitest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: fake_now
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_cc_test.c:33,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_cc_test.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: step_time
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 1
    functionsReached:
    - ossl_time_add
    - ossl_ms2time
    linkageType: ''
    returnType: void
    signature: void step_time(uint32_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_cc_test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - NET_PKT*
    - NET_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: net_pkt_cmp
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    linkageType: ''
    returnType: int
    signature: int net_pkt_cmp(const NET_PKT *a, const NET_PKT *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cc_test.c:122,1
    - Dst: ossl_pqueue_NET_PKT_new
      Src: /src/openssl/test/quic_cc_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - s
    - ccm
    - cc
    - capacity
    - latency
    argTypes:
    - struct net_sim*
    - OSSL_CC_METHOD*
    - OSSL_CC_DATA*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: net_sim_init
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_pqueue_NET_PKT_new
    linkageType: ''
    returnType: int
    signature: "int net_sim_init(struct net_sim *s,\n                        const
      OSSL_CC_METHOD *ccm, OSSL_CC_DATA *cc,\n                        uint64_t capacity,
      uint64_t latency)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_cc_test.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - NET_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: do_free
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void do_free(NET_PKT *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_NET_PKT_pop_free
      Src: /src/openssl/test/quic_cc_test.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct net_sim*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: net_sim_cleanup
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_NET_PKT_pop_free
    linkageType: ''
    returnType: void
    signature: void net_sim_cleanup(struct net_sim *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_cc_test.c:142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cc_test.c:145,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:152,1
    - Dst: net_sim_process
      Src: /src/openssl/test/quic_cc_test.c:152,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_cc_test.c:162,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_cc_test.c:163,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_cc_test.c:165,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_cc_test.c:166,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_cc_test.c:175,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_cc_test.c:176,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_cc_test.c:180,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_cc_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:187,1
    - Dst: struct net_sim*::ccm::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:187,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:190,1
    - Dst: ossl_pqueue_NET_PKT_push
      Src: /src/openssl/test/quic_cc_test.c:190,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_cc_test.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - s
    - sz
    argTypes:
    - struct net_sim*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 198
    functionName: net_sim_send
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_pqueue_NET_PKT_push
    - ossl_ms2time
    - struct net_sim*::ccm::on_data_sent
    - OPENSSL_free
    - net_sim_process
    - TEST_true
    - TEST_ptr
    - ossl_time_add
    linkageType: ''
    returnType: int
    signature: int net_sim_send(struct net_sim *s, size_t sz)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_NET_PKT_peek
      Src: /src/openssl/test/quic_cc_test.c:202,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_cc_test.c:208,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_cc_test.c:212,1
    - Dst: ossl_pqueue_NET_PKT_pop
      Src: /src/openssl/test/quic_cc_test.c:217,1
    - Dst: ossl_pqueue_NET_PKT_push
      Src: /src/openssl/test/quic_cc_test.c:219,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_cc_test.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:237,1
    - Dst: struct net_sim*::ccm::on_data_lost
      Src: /src/openssl/test/quic_cc_test.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:240,1
    - Dst: struct net_sim*::ccm::on_data_lost_finished
      Src: /src/openssl/test/quic_cc_test.c:240,1
    - Dst: ossl_pqueue_NET_PKT_pop
      Src: /src/openssl/test/quic_cc_test.c:244,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_cc_test.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:252,1
    - Dst: struct net_sim*::ccm::on_data_acked
      Src: /src/openssl/test/quic_cc_test.c:252,1
    - Dst: ossl_pqueue_NET_PKT_pop
      Src: /src/openssl/test/quic_cc_test.c:256,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_cc_test.c:257,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - s
    - skip_forward
    argTypes:
    - struct net_sim*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 261
    functionName: net_sim_process_one
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - struct net_sim*::ccm::on_data_lost_finished
    - ossl_pqueue_NET_PKT_pop
    - struct net_sim*::ccm::on_data_acked
    - ossl_pqueue_NET_PKT_push
    - ossl_time_compare
    - OPENSSL_free
    - ossl_pqueue_NET_PKT_peek
    - TEST_true
    - struct net_sim*::ccm::on_data_lost
    linkageType: ''
    returnType: int
    signature: int net_sim_process_one(struct net_sim *s, int skip_forward)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net_sim_process_one
      Src: /src/openssl/test/quic_cc_test.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - skip_forward
    argTypes:
    - struct net_sim*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: net_sim_process
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 1
    functionsReached:
    - net_sim_process_one
    linkageType: ''
    returnType: int
    signature: int net_sim_process(struct net_sim *s, size_t skip_forward)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:293,1
    - Dst: OSSL_CC_METHOD*::get_option_uint
      Src: /src/openssl/test/quic_cc_test.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:297,1
    - Dst: OSSL_CC_METHOD*::get_option_uint
      Src: /src/openssl/test/quic_cc_test.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:301,1
    - Dst: OSSL_CC_METHOD*::get_option_uint
      Src: /src/openssl/test/quic_cc_test.c:301,1
    - Dst: fprintf
      Src: /src/openssl/test/quic_cc_test.c:305,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/quic_cc_test.c:306,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ccm
    - cc
    - s
    argTypes:
    - OSSL_CC_METHOD*
    - OSSL_CC_DATA*
    - struct net_sim*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 318
    functionName: dump_state
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CC_METHOD*::get_tx_allowance
    - ossl_time2ms
    - OSSL_CC_METHOD*::get_option_uint
    - fprintf
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int dump_state(const OSSL_CC_METHOD *ccm, OSSL_CC_DATA *cc,\n                                  struct
      net_sim *s)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cc_test.c:346,1
    - Dst: OSSL_CC_METHOD*::new
      Src: /src/openssl/test/quic_cc_test.c:346,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:349,1
    - Dst: net_sim_init
      Src: /src/openssl/test/quic_cc_test.c:349,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/quic_cc_test.c:354,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/quic_cc_test.c:356,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:358,1
    - Dst: OSSL_CC_METHOD*::set_input_params
      Src: /src/openssl/test/quic_cc_test.c:358,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/test/quic_cc_test.c:362,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/test/quic_cc_test.c:364,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/quic_cc_test.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:368,1
    - Dst: OSSL_CC_METHOD*::bind_diagnostics
      Src: /src/openssl/test/quic_cc_test.c:368,1
    - Dst: OSSL_CC_METHOD*::reset
      Src: /src/openssl/test/quic_cc_test.c:371,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:373,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:373,1
    - Dst: dump_state
      Src: /src/openssl/test/quic_cc_test.c:390,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:392,1
    - Dst: step_time
      Src: /src/openssl/test/quic_cc_test.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:406,1
    - Dst: net_sim_send
      Src: /src/openssl/test/quic_cc_test.c:406,1
    - Dst: net_sim_process
      Src: /src/openssl/test/quic_cc_test.c:413,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quic_cc_test.c:414,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:422,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:425,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:425,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_cc_test.c:433,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_cc_test.c:434,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_cc_test.c:451,1
    - Dst: TEST_double_le
      Src: /src/openssl/test/quic_cc_test.c:457,1
    - Dst: net_sim_cleanup
      Src: /src/openssl/test/quic_cc_test.c:464,1
    - Dst: OSSL_CC_METHOD*::free
      Src: /src/openssl/test/quic_cc_test.c:467,1
    - Dst: fflush
      Src: /src/openssl/test/quic_cc_test.c:471,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 475
    functionName: test_simulate
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - step_time
    - OSSL_CC_METHOD*::reset
    - fflush
    - TEST_ptr
    - TEST_uint64_t_ge
    - TEST_int_gt
    - TEST_double_le
    - net_sim_init
    - OSSL_CC_METHOD*::set_input_params
    - OSSL_PARAM_construct_size_t
    - TEST_info
    - TEST_uint64_t_eq
    - TEST_true
    - OSSL_PARAM_construct_end
    - OSSL_CC_METHOD*::bind_diagnostics
    - OSSL_CC_METHOD*::free
    - net_sim_process
    - OSSL_PARAM_construct_uint64
    - OSSL_CC_METHOD*::new
    - net_sim_send
    - dump_state
    - OSSL_CC_METHOD*::get_tx_allowance
    - net_sim_cleanup
    - TEST_uint64_t_ne
    linkageType: ''
    returnType: int
    signature: int test_simulate(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cc_test.c:497,1
    - Dst: OSSL_CC_METHOD*::new
      Src: /src/openssl/test/quic_cc_test.c:497,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/quic_cc_test.c:501,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/quic_cc_test.c:503,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:505,1
    - Dst: OSSL_CC_METHOD*::set_input_params
      Src: /src/openssl/test/quic_cc_test.c:505,1
    - Dst: OSSL_CC_METHOD*::reset
      Src: /src/openssl/test/quic_cc_test.c:508,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/quic_cc_test.c:511,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/test/quic_cc_test.c:513,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/quic_cc_test.c:515,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:517,1
    - Dst: OSSL_CC_METHOD*::bind_diagnostics
      Src: /src/openssl/test/quic_cc_test.c:517,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_cc_test.c:518,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:521,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:521,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:525,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/test/quic_cc_test.c:525,1
    - Dst: OSSL_CC_METHOD*::get_wakeup_deadline
      Src: /src/openssl/test/quic_cc_test.c:525,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:533,1
    - Dst: OSSL_CC_METHOD*::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:533,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:537,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:537,1
    - Dst: step_time
      Src: /src/openssl/test/quic_cc_test.c:543,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:544,1
    - Dst: OSSL_CC_METHOD*::on_data_acked
      Src: /src/openssl/test/quic_cc_test.c:544,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:548,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:548,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:552,1
    - Dst: OSSL_CC_METHOD*::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:552,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:556,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:556,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:559,1
    - Dst: OSSL_CC_METHOD*::on_data_invalidated
      Src: /src/openssl/test/quic_cc_test.c:559,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:563,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:563,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_cc_test.c:567,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:567,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:570,1
    - Dst: OSSL_CC_METHOD*::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:570,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:573,1
    - Dst: OSSL_CC_METHOD*::on_data_sent
      Src: /src/openssl/test/quic_cc_test.c:573,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cc_test.c:576,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:576,1
    - Dst: step_time
      Src: /src/openssl/test/quic_cc_test.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:584,1
    - Dst: OSSL_CC_METHOD*::on_data_lost
      Src: /src/openssl/test/quic_cc_test.c:584,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:588,1
    - Dst: OSSL_CC_METHOD*::on_data_lost
      Src: /src/openssl/test/quic_cc_test.c:588,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_cc_test.c:591,1
    - Dst: OSSL_CC_METHOD*::on_data_lost_finished
      Src: /src/openssl/test/quic_cc_test.c:591,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_cc_test.c:595,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:595,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_cc_test.c:599,1
    - Dst: OSSL_CC_METHOD*::get_tx_allowance
      Src: /src/openssl/test/quic_cc_test.c:599,1
    - Dst: OSSL_CC_METHOD*::free
      Src: /src/openssl/test/quic_cc_test.c:606,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 609
    functionName: test_sanity
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - step_time
    - OSSL_CC_METHOD*::get_wakeup_deadline
    - OSSL_CC_METHOD*::on_data_lost
    - OSSL_CC_METHOD*::reset
    - ossl_time_is_zero
    - OSSL_CC_METHOD*::on_data_sent
    - TEST_ptr
    - TEST_uint64_t_ge
    - OSSL_CC_METHOD*::set_input_params
    - OSSL_PARAM_construct_size_t
    - OSSL_CC_METHOD*::on_data_invalidated
    - TEST_uint64_t_eq
    - TEST_true
    - OSSL_PARAM_construct_end
    - OSSL_CC_METHOD*::on_data_acked
    - OSSL_CC_METHOD*::bind_diagnostics
    - OSSL_CC_METHOD*::free
    - TEST_size_t_eq
    - OSSL_PARAM_construct_uint64
    - OSSL_CC_METHOD*::new
    - TEST_uint64_t_lt
    - OSSL_CC_METHOD*::get_tx_allowance
    - OSSL_CC_METHOD*::on_data_lost_finished
    - TEST_uint64_t_ne
    linkageType: ''
    returnType: int
    signature: int test_sanity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/openssl/test/quic_cc_test.c:615,1
    - Dst: fprintf
      Src: /src/openssl/test/quic_cc_test.c:616,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_cc_test.c:626,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_cc_test.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 629
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_cc_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - fopen
    - fprintf
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/hexstr_test.c:70,1
    - Dst: ossl_hexstr2buf_sep
      Src: /src/openssl/test/hexstr_test.c:70,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hexstr_test.c:71,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hexstr_test.c:72,1
    - Dst: ossl_buf2hexstr_sep
      Src: /src/openssl/test/hexstr_test.c:72,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hexstr_test.c:73,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/hexstr_test.c:78,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/hexstr_test.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: test_hexstr_sep_to_from
    functionSourceFile: /src/openssl/test/hexstr_test.c
    functionUses: 0
    functionsReached:
    - ossl_buf2hexstr_sep
    - TEST_str_eq
    - ossl_hexstr2buf_sep
    - OPENSSL_free
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_hexstr_sep_to_from(int test_index)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/hexstr_test.c:92,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/hexstr_test.c:92,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hexstr_test.c:93,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hexstr_test.c:94,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/test/hexstr_test.c:94,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hexstr_test.c:97,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/hexstr_test.c:99,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/hexstr_test.c:103,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/hexstr_test.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/hexstr_test.c:108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/hexstr_test.c:109,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: test_hexstr_to_from
    functionSourceFile: /src/openssl/test/hexstr_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - TEST_str_eq
    - OPENSSL_buf2hexstr
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - TEST_str_ne
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_hexstr_to_from(int test_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/hexstr_test.c:120,1
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/openssl/test/hexstr_test.c:120,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/hexstr_test.c:121,1
    - Dst: TEST_false
      Src: /src/openssl/test/hexstr_test.c:122,1
    - Dst: OPENSSL_buf2hexstr_ex
      Src: /src/openssl/test/hexstr_test.c:122,1
    - Dst: TEST_true
      Src: /src/openssl/test/hexstr_test.c:124,1
    - Dst: OPENSSL_buf2hexstr_ex
      Src: /src/openssl/test/hexstr_test.c:124,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hexstr_test.c:126,1
    - Dst: TEST_true
      Src: /src/openssl/test/hexstr_test.c:127,1
    - Dst: OPENSSL_buf2hexstr_ex
      Src: /src/openssl/test/hexstr_test.c:127,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/hexstr_test.c:129,1
    - Dst: strlen
      Src: /src/openssl/test/hexstr_test.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: test_hexstr_ex_to_from
    functionSourceFile: /src/openssl/test/hexstr_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_buf2hexstr_ex
    - TEST_str_eq
    - TEST_false
    - strlen
    - OPENSSL_hexstr2buf_ex
    - TEST_true
    - TEST_size_t_eq
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_hexstr_ex_to_from(int test_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hexstr_test.c:134,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hexstr_test.c:134,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hexstr_test.c:135,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/hexstr_test.c:135,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hexstr_test.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/hexstr_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cmsapitest.c:27,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmsapitest.c:27,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/cmsapitest.c:29,1
    - Dst: strlen
      Src: /src/openssl/test/cmsapitest.c:29,1
    - Dst: BIO_new
      Src: /src/openssl/test/cmsapitest.c:30,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/cmsapitest.c:30,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:35,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:35,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:35,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/cmsapitest.c:38,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmsapitest.c:38,1
    - Dst: CMS_encrypt
      Src: /src/openssl/test/cmsapitest.c:41,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:42,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:45,1
    - Dst: CMS_decrypt
      Src: /src/openssl/test/cmsapitest.c:45,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:49,1
    - Dst: CMS_EnvelopedData_decrypt
      Src: /src/openssl/test/cmsapitest.c:50,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:56,1
    - Dst: BIO_gets
      Src: /src/openssl/test/cmsapitest.c:56,1
    - Dst: strlen
      Src: /src/openssl/test/cmsapitest.c:56,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:57,1
    - Dst: strcmp
      Src: /src/openssl/test/cmsapitest.c:57,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:62,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/cmsapitest.c:63,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:64,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:65,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:66,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:68,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/cmsapitest.c:68,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 24
    functionDepth: 11
    functionLinenumber: 24
    functionLinenumberEnd: 69
    functionName: test_encrypt_decrypt
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - CMS_EnvelopedData_decrypt
    - BIO_s_mem
    - strcmp
    - CMS_decrypt
    - TEST_ptr
    - strlen
    - BIO_new
    - sk_X509_push
    - TEST_true
    - CMS_ContentInfo_free
    - ERR_peek_error
    - BIO_gets
    - BIO_free
    - STACK_OF
    - sk_X509_free
    - TEST_int_eq
    - CMS_encrypt
    - sk_X509_new_null
    - BIO_new_mem_buf
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_encrypt_decrypt(const EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encrypt_decrypt
      Src: /src/openssl/test/cmsapitest.c:73,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/cmsapitest.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 12
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: test_encrypt_decrypt_aes_cbc
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - test_encrypt_decrypt
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_encrypt_decrypt_aes_cbc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encrypt_decrypt
      Src: /src/openssl/test/cmsapitest.c:78,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/cmsapitest.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 12
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: test_encrypt_decrypt_aes_128_gcm
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - test_encrypt_decrypt
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: int test_encrypt_decrypt_aes_128_gcm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encrypt_decrypt
      Src: /src/openssl/test/cmsapitest.c:83,1
    - Dst: EVP_aes_192_gcm
      Src: /src/openssl/test/cmsapitest.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 12
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: test_encrypt_decrypt_aes_192_gcm
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - test_encrypt_decrypt
    - EVP_aes_192_gcm
    linkageType: ''
    returnType: int
    signature: int test_encrypt_decrypt_aes_192_gcm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encrypt_decrypt
      Src: /src/openssl/test/cmsapitest.c:88,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/cmsapitest.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 12
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: test_encrypt_decrypt_aes_256_gcm
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - test_encrypt_decrypt
    - EVP_aes_256_gcm
    linkageType: ''
    returnType: int
    signature: int test_encrypt_decrypt_aes_256_gcm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:96,1
    - Dst: CMS_ContentInfo_new
      Src: /src/openssl/test/cmsapitest.c:96,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:97,1
    - Dst: CMS_add1_signer
      Src: /src/openssl/test/cmsapitest.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:98,1
    - Dst: CMS_add1_cert
      Src: /src/openssl/test/cmsapitest.c:98,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 15
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: test_CMS_add1_cert
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - CMS_add1_signer
    - CMS_ContentInfo_free
    - TEST_true
    - CMS_add1_cert
    - TEST_ptr
    - CMS_ContentInfo_new
    linkageType: ''
    returnType: int
    signature: int test_CMS_add1_cert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:306,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/cmsapitest.c:306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:307,1
    - Dst: d2i_CMS_bio
      Src: /src/openssl/test/cmsapitest.c:307,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:308,1
    - Dst: CMS_verify
      Src: /src/openssl/test/cmsapitest.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:309,1
    - Dst: CMS_SignedData_verify
      Src: /src/openssl/test/cmsapitest.c:310,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:312,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:313,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:314,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:315,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/cmsapitest.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 316
    functionName: test_d2i_CMS_bio_NULL
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - d2i_CMS_bio
    - CMS_SignedData_verify
    - CMS_verify
    - BIO_free
    - ERR_peek_error
    - TEST_int_eq
    - BIO_new_mem_buf
    - TEST_true
    - CMS_ContentInfo_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_d2i_CMS_bio_NULL(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/cmsapitest.c:327,1
    - Dst: BIO_read
      Src: /src/openssl/test/cmsapitest.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmsapitest.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - bio
    - p_len
    argTypes:
    - BIO*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 348
    functionName: read_all
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_realloc
    - BIO_read
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *read_all(BIO *bio, long *p_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:359,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/cmsapitest.c:359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:364,1
    - Dst: d2i_CMS_bio
      Src: /src/openssl/test/cmsapitest.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:368,1
    - Dst: read_all
      Src: /src/openssl/test/cmsapitest.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:371,1
    - Dst: d2i_CMS_ContentInfo
      Src: /src/openssl/test/cmsapitest.c:371,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmsapitest.c:376,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/cmsapitest.c:376,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/test/cmsapitest.c:381,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:382,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmsapitest.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 386
    functionName: test_d2i_CMS_decode
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - d2i_CMS_ContentInfo
    - BIO_new_file
    - d2i_CMS_bio
    - CMS_ContentInfo_free
    - BIO_free
    - TEST_int_eq
    - OPENSSL_free
    - read_all
    - ERR_peek_error
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_d2i_CMS_decode(const int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmsapitest.c:395,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmsapitest.c:396,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:400,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmsapitest.c:400,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:401,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmsapitest.c:401,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:402,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmsapitest.c:402,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/cmsapitest.c:405,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:408,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/cmsapitest.c:408,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:409,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:412,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/cmsapitest.c:414,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmsapitest.c:415,1
    - Dst: X509_free
      Src: /src/openssl/test/cmsapitest.c:416,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmsapitest.c:420,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/cmsapitest.c:420,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:421,1
    - Dst: X509_free
      Src: /src/openssl/test/cmsapitest.c:422,1
    - Dst: BIO_free
      Src: /src/openssl/test/cmsapitest.c:426,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:428,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:429,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:430,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:431,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:432,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmsapitest.c:433,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/cmsapitest.c:434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 390
    functionDepth: 6
    functionLinenumber: 390
    functionLinenumberEnd: 436
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - BIO_free
    - ADD_TEST
    - X509_free
    - ADD_ALL_TESTS
    - test_skip_common_options
    - test_get_argument
    - TEST_true
    - TEST_ptr
    - PEM_read_bio_X509
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/test/cmsapitest.c:440,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmsapitest.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmsapitest.c
    functionUses: 5
    functionsReached:
    - X509_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 8
    argNames:
    - b
    - oper
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: my_bio_cb_ex
    functionSourceFile: /src/openssl/test/bio_callback_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: "long my_bio_cb_ex(BIO *b, int oper, const char *argp, size_t len,\n
      \                        int argi, long argl, int ret, size_t *processed)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/bio_callback_test.c:58,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_callback_test.c:58,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/test/bio_callback_test.c:62,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_callback_test.c:63,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:64,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:65,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:66,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:67,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:68,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:69,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:70,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:71,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:72,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:73,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:74,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:75,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:76,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:77,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:78,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_callback_test.c:82,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_callback_test.c:83,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:84,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:85,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:86,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:87,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:88,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:89,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:90,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:91,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:92,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:93,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:94,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:95,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:97,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_callback_test.c:102,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:103,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:104,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:105,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:106,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:107,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:108,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:110,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:111,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:112,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:113,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:114,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:115,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:116,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:117,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_callback_test.c:122,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:123,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:124,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:125,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:126,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:127,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:128,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:129,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:130,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:131,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:132,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:134,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:135,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:136,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_callback_test.c:139,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:140,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:141,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:142,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:143,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:144,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:145,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:146,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:147,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:148,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:149,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:150,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:151,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:152,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:153,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:154,1
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_callback_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:159,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:160,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:161,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:162,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:163,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:164,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:165,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:166,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:167,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:168,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:169,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:170,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:171,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/bio_callback_test.c:172,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:173,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_callback_test.c:177,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:178,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:179,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:180,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:181,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:182,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:183,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:184,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:185,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_callback_test.c:192,1
    - Dst: memset
      Src: /src/openssl/test/bio_callback_test.c:196,1
    - Dst: memset
      Src: /src/openssl/test/bio_callback_test.c:197,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 199
    functionName: test_bio_callback_ex
    functionSourceFile: /src/openssl/test/bio_callback_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_new
    - memset
    - BIO_set_callback_ex
    - BIO_set_mem_eof_return
    - BIO_puts
    - BIO_free
    - TEST_int_eq
    - TEST_long_eq
    - BIO_s_mem
    - TEST_size_t_eq
    - TEST_mem_eq
    - BIO_read
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_bio_callback_ex(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - b
    - oper
    - argp
    - argi
    - argl
    - ret
    argTypes:
    - BIO*
    - int
    - char*
    - int
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: my_bio_callback
    functionSourceFile: /src/openssl/test/bio_callback_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: "long my_bio_callback(BIO *b, int oper, const char *argp, int argi,\n
      \                           long argl, long ret)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/bio_callback_test.c:230,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_callback_test.c:230,1
    - Dst: BIO_set_callback
      Src: /src/openssl/test/bio_callback_test.c:234,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_callback_test.c:235,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:236,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:237,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:238,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:239,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:240,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:241,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:242,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:243,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:244,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:245,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:246,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:247,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:248,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:249,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_callback_test.c:253,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_callback_test.c:254,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:255,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:256,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:257,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:258,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:259,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:260,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:261,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:262,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:263,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:265,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:266,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:267,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_callback_test.c:272,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:274,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:276,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:277,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:278,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:279,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:280,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:282,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:283,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:284,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:285,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:286,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/bio_callback_test.c:290,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_callback_test.c:292,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:293,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:294,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:295,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:296,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:297,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:298,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:299,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:300,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:301,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:302,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:303,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:304,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:305,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:306,1
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_callback_test.c:310,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:312,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:313,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:314,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:315,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:316,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:317,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:318,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:319,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:320,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:321,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:322,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:323,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:324,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_callback_test.c:328,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:329,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:330,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:331,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:332,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_callback_test.c:333,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_callback_test.c:334,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:335,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/bio_callback_test.c:336,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_callback_test.c:343,1
    - Dst: memset
      Src: /src/openssl/test/bio_callback_test.c:347,1
    - Dst: memset
      Src: /src/openssl/test/bio_callback_test.c:348,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 350
    functionName: test_bio_callback
    functionSourceFile: /src/openssl/test/bio_callback_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_new
    - memset
    - BIO_set_mem_eof_return
    - BIO_puts
    - BIO_free
    - TEST_int_eq
    - BIO_set_callback
    - TEST_long_eq
    - BIO_s_mem
    - TEST_mem_eq
    - BIO_read
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_bio_callback(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_callback_test.c:355,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_callback_test.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_callback_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ossl_store_test.c:45,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:47,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:48,1
    - Dst: OSSL_STORE_SEARCH_by_alias
      Src: /src/openssl/test/ossl_store_test.c:48,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:49,1
    - Dst: UI_create_method
      Src: /src/openssl/test/ossl_store_test.c:49,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:50,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/ossl_store_test.c:50,1
    - Dst: TEST_false
      Src: /src/openssl/test/ossl_store_test.c:52,1
    - Dst: OSSL_STORE_find
      Src: /src/openssl/test/ossl_store_test.c:52,1
    - Dst: TEST_true
      Src: /src/openssl/test/ossl_store_test.c:53,1
    - Dst: OSSL_STORE_find
      Src: /src/openssl/test/ossl_store_test.c:53,1
    - Dst: UI_destroy_method
      Src: /src/openssl/test/ossl_store_test.c:54,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/openssl/test/ossl_store_test.c:55,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/ossl_store_test.c:56,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ossl_store_test.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 12
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: test_store_open
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_SEARCH_free
    - TEST_false
    - OSSL_STORE_find
    - UI_create_method
    - UI_destroy_method
    - OPENSSL_free
    - test_mk_file_path
    - OSSL_STORE_SEARCH_by_alias
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_store_open(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:113,1
    - Dst: d2i_X509
      Src: /src/openssl/test/ossl_store_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:114,1
    - Dst: OSSL_STORE_SEARCH_by_name
      Src: /src/openssl/test/ossl_store_test.c:114,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/test/ossl_store_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:115,1
    - Dst: UI_create_method
      Src: /src/openssl/test/ossl_store_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:116,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/ossl_store_test.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/ossl_store_test.c:119,1
    - Dst: OSSL_STORE_find
      Src: /src/openssl/test/ossl_store_test.c:119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:120,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/test/ossl_store_test.c:120,1
    - Dst: UI_destroy_method
      Src: /src/openssl/test/ossl_store_test.c:121,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/test/ossl_store_test.c:122,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/openssl/test/ossl_store_test.c:123,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/ossl_store_test.c:124,1
    - Dst: X509_free
      Src: /src/openssl/test/ossl_store_test.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 12
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: test_store_open_winstore
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_SEARCH_by_name
    - OSSL_STORE_SEARCH_free
    - X509_get_issuer_name
    - OSSL_STORE_find
    - UI_create_method
    - OSSL_STORE_load
    - UI_destroy_method
    - X509_free
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - TEST_true
    - TEST_ptr
    - OSSL_STORE_INFO_free
    - d2i_X509
    linkageType: ''
    returnType: int
    signature: int test_store_open_winstore(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ossl_store_test.c:135,1
    - Dst: OSSL_STORE_SEARCH_by_key_fingerprint
      Src: /src/openssl/test/ossl_store_test.c:135,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/ossl_store_test.c:136,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/openssl/test/ossl_store_test.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: test_store_search_by_key_fingerprint_fail
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - OSSL_STORE_SEARCH_free
    - TEST_ptr_null
    - OSSL_STORE_SEARCH_by_key_fingerprint
    linkageType: ''
    returnType: int
    signature: int test_store_search_by_key_fingerprint_fail(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/ossl_store_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:149,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/test/ossl_store_test.c:152,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/test/ossl_store_test.c:153,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/test/ossl_store_test.c:155,1
    - Dst: OSSL_STORE_INFO_get1_PARAMS
      Src: /src/openssl/test/ossl_store_test.c:156,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/test/ossl_store_test.c:158,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/ossl_store_test.c:163,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ossl_store_test.c:164,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/ossl_store_test.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - uri
    - type
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 10
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: get_params
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 62
    functionsReached:
    - OSSL_STORE_INFO_get_type
    - EVP_PKEY_is_a
    - OSSL_STORE_eof
    - OSSL_STORE_load
    - EVP_PKEY_free
    - OSSL_STORE_INFO_get1_PARAMS
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - TEST_ptr
    - OSSL_STORE_INFO_free
    linkageType: ''
    returnType: int
    signature: int get_params(const char *uri, const char *type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/ossl_store_test.c:198,1
    - Dst: strlen
      Src: /src/openssl/test/ossl_store_test.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/ossl_store_test.c:211,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/ossl_store_test.c:211,1
    - Dst: TEST_info
      Src: /src/openssl/test/ossl_store_test.c:214,1
    - Dst: TEST_true
      Src: /src/openssl/test/ossl_store_test.c:215,1
    - Dst: get_params
      Src: /src/openssl/test/ossl_store_test.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 171
    functionDepth: 11
    functionLinenumber: 171
    functionLinenumberEnd: 219
    functionName: test_store_get_params
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - BIO_snprintf
    - TEST_true
    - get_params
    - strlen
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_store_get_params(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ossl_store_test.c:232,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:234,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:235,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/ossl_store_test.c:235,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:236,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/ossl_store_test.c:236,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:237,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ossl_store_test.c:237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ossl_store_test.c:238,1
    - Dst: OSSL_STORE_attach
      Src: /src/openssl/test/ossl_store_test.c:238,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ossl_store_test.c:240,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/ossl_store_test.c:240,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/ossl_store_test.c:240,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ossl_store_test.c:241,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/ossl_store_test.c:241,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/ossl_store_test.c:241,1
    - Dst: BIO_free
      Src: /src/openssl/test/ossl_store_test.c:244,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/ossl_store_test.c:245,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ossl_store_test.c:246,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/ossl_store_test.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ossl_store_test.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 225
    functionDepth: 10
    functionLinenumber: 225
    functionLinenumberEnd: 250
    functionName: test_store_attach_unregistered_scheme
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - OSSL_STORE_attach
    - ERR_GET_LIB
    - TEST_int_ne
    - OSSL_LIB_CTX_free
    - BIO_free
    - OSSL_LIB_CTX_new
    - ERR_GET_REASON
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - OPENSSL_free
    - test_mk_file_path
    - OSSL_STORE_close
    - ERR_peek_error
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_store_attach_unregistered_scheme(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/ossl_store_test.c:269,1
    - Dst: opt_arg
      Src: /src/openssl/test/ossl_store_test.c:272,1
    - Dst: opt_arg
      Src: /src/openssl/test/ossl_store_test.c:275,1
    - Dst: opt_arg
      Src: /src/openssl/test/ossl_store_test.c:278,1
    - Dst: opt_arg
      Src: /src/openssl/test/ossl_store_test.c:281,1
    - Dst: TEST_error
      Src: /src/openssl/test/ossl_store_test.c:292,1
    - Dst: TEST_error
      Src: /src/openssl/test/ossl_store_test.c:296,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:301,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:303,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:305,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ossl_store_test.c:306,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ossl_store_test.c:308,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 310
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ossl_store_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - ADD_TEST
    - opt_arg
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest_fips.c:23,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/threadstest_fips.c:23,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/threadstest_fips.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 10
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: thread_fips_rand_fetch
    functionSourceFile: /src/openssl/test/threadstest_fips.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - EVP_MD_free
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void thread_fips_rand_fetch(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest_fips.c:34,1
    - Dst: run_thread
      Src: /src/openssl/test/threadstest_fips.c:34,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest_fips.c:36,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/threadstest_fips.c:36,1
    - Dst: TEST_true
      Src: /src/openssl/test/threadstest_fips.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: test_fips_rand_leak
    functionSourceFile: /src/openssl/test/threadstest_fips.c
    functionUses: 0
    functionsReached:
    - wait_for_thread
    - run_thread
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_fips_rand_leak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/threadstest_fips.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/threadstest_fips.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_comp_test.c:47,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_comp_test.c:49,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_comp_test.c:49,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_comp_test.c:51,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_comp_test.c:51,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_comp_test.c:51,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_comp_test.c:53,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_comp_test.c:54,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_comp_test.c:55,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_comp_test.c:56,1
    - Dst: BIO_flush
      Src: /src/openssl/test/bio_comp_test.c:56,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_comp_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_comp_test.c:62,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_comp_test.c:62,1
    - Dst: BIO_push
      Src: /src/openssl/test/bio_comp_test.c:64,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_comp_test.c:65,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_comp_test.c:67,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_comp_test.c:68,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_comp_test.c:73,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_comp_test.c:74,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_comp_test.c:75,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - meth
    - size
    argTypes:
    - BIO_METHOD*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 77
    functionName: do_bio_comp_test
    functionSourceFile: /src/openssl/test/bio_comp_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_new
    - BIO_free
    - BIO_flush
    - TEST_int_eq
    - BIO_s_mem
    - BIO_push
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int do_bio_comp_test(const BIO_METHOD *meth, size_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bio_comp_test.c:86,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bio_comp_test.c:87,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_comp_test.c:89,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_comp_test.c:89,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_comp_test.c:94,1
    - Dst: memset
      Src: /src/openssl/test/bio_comp_test.c:95,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_comp_test.c:98,1
    - Dst: memset
      Src: /src/openssl/test/bio_comp_test.c:99,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_comp_test.c:102,1
    - Dst: TEST_info
      Src: /src/openssl/test/bio_comp_test.c:107,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_comp_test.c:108,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bio_comp_test.c:108,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_comp_test.c:115,1
    - Dst: do_bio_comp_test
      Src: /src/openssl/test/bio_comp_test.c:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_comp_test.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_comp_test.c:120,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - meth
    - n
    argTypes:
    - BIO_METHOD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 79
    functionDepth: 8
    functionLinenumber: 79
    functionLinenumberEnd: 122
    functionName: do_bio_comp
    functionSourceFile: /src/openssl/test/bio_comp_test.c
    functionUses: 0
    functionsReached:
    - memset
    - do_bio_comp_test
    - TEST_info
    - RAND_bytes
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - OPENSSL_malloc
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int do_bio_comp(const BIO_METHOD *meth, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_bio_comp
      Src: /src/openssl/test/bio_comp_test.c:127,1
    - Dst: BIO_f_zstd
      Src: /src/openssl/test/bio_comp_test.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 9
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: test_zstd
    functionSourceFile: /src/openssl/test/bio_comp_test.c
    functionUses: 0
    functionsReached:
    - do_bio_comp
    - BIO_f_zstd
    linkageType: ''
    returnType: int
    signature: int test_zstd(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_bio_comp
      Src: /src/openssl/test/bio_comp_test.c:133,1
    - Dst: BIO_f_brotli
      Src: /src/openssl/test/bio_comp_test.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 9
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: test_brotli
    functionSourceFile: /src/openssl/test/bio_comp_test.c
    functionUses: 0
    functionsReached:
    - do_bio_comp
    - BIO_f_brotli
    linkageType: ''
    returnType: int
    signature: int test_brotli(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_bio_comp
      Src: /src/openssl/test/bio_comp_test.c:139,1
    - Dst: BIO_f_zlib
      Src: /src/openssl/test/bio_comp_test.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: test_zlib
    functionSourceFile: /src/openssl/test/bio_comp_test.c
    functionUses: 0
    functionsReached:
    - do_bio_comp
    - BIO_f_zlib
    linkageType: ''
    returnType: int
    signature: int test_zlib(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_comp_test.c:146,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_comp_test.c:149,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_comp_test.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_comp_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: timersub
    functionSourceFile: /src/openssl/test/timing_load_creds.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timersub(a, b, res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/timing_load_creds.c:44,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/timing_load_creds.c:47,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:48,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/timing_load_creds.c:50,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/timing_load_creds.c:52,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:53,1
    - Dst: X509_free
      Src: /src/openssl/test/timing_load_creds.c:55,1
    - Dst: BIO_free
      Src: /src/openssl/test/timing_load_creds.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - contents
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: readx509
    functionSourceFile: /src/openssl/test/timing_load_creds.c
    functionUses: 0
    functionsReached:
    - exit
    - BIO_free
    - X509_free
    - ERR_print_errors_fp
    - BIO_new_mem_buf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: void
    signature: void readx509(const char *contents, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/timing_load_creds.c:61,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/timing_load_creds.c:65,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:66,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/timing_load_creds.c:68,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/timing_load_creds.c:70,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:71,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/timing_load_creds.c:74,1
    - Dst: BIO_free
      Src: /src/openssl/test/timing_load_creds.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - contents
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 7
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: readpkey
    functionSourceFile: /src/openssl/test/timing_load_creds.c
    functionUses: 0
    functionsReached:
    - exit
    - PEM_read_bio_PrivateKey
    - BIO_free
    - EVP_PKEY_free
    - ERR_print_errors_fp
    - BIO_new_mem_buf
    linkageType: ''
    returnType: void
    signature: void readpkey(const char *contents, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/timing_load_creds.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - what
    - tp
    argTypes:
    - char*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: print_timeval
    functionSourceFile: /src/openssl/test/timing_load_creds.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_timeval(const char *what, struct timeval *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:85,1
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:86,1
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:87,1
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:88,1
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:89,1
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:90,1
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:91,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: usage
    functionSourceFile: /src/openssl/test/timing_load_creds.c
    functionUses: 7
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/openssl/test/timing_load_creds.c:109,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:112,1
    - Dst: atoi
      Src: /src/openssl/test/timing_load_creds.c:115,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:116,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:123,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:126,1
    - Dst: usage
      Src: /src/openssl/test/timing_load_creds.c:141,1
    - Dst: stat
      Src: /src/openssl/test/timing_load_creds.c:142,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:143,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:144,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/timing_load_creds.c:146,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:148,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:149,1
    - Dst: fopen
      Src: /src/openssl/test/timing_load_creds.c:151,1
    - Dst: fread
      Src: /src/openssl/test/timing_load_creds.c:152,1
    - Dst: fclose
      Src: /src/openssl/test/timing_load_creds.c:153,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:154,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:155,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:156,1
    - Dst: fclose
      Src: /src/openssl/test/timing_load_creds.c:159,1
    - Dst: printf
      Src: /src/openssl/test/timing_load_creds.c:161,1
    - Dst: readx509
      Src: /src/openssl/test/timing_load_creds.c:167,1
    - Dst: readpkey
      Src: /src/openssl/test/timing_load_creds.c:170,1
    - Dst: gettimeofday
      Src: /src/openssl/test/timing_load_creds.c:175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:176,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:177,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:178,1
    - Dst: getrusage
      Src: /src/openssl/test/timing_load_creds.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:181,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:182,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:183,1
    - Dst: readx509
      Src: /src/openssl/test/timing_load_creds.c:188,1
    - Dst: readpkey
      Src: /src/openssl/test/timing_load_creds.c:191,1
    - Dst: getrusage
      Src: /src/openssl/test/timing_load_creds.c:195,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:196,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:197,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:198,1
    - Dst: gettimeofday
      Src: /src/openssl/test/timing_load_creds.c:200,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:201,1
    - Dst: perror
      Src: /src/openssl/test/timing_load_creds.c:202,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:203,1
    - Dst: timersub
      Src: /src/openssl/test/timing_load_creds.c:206,1
    - Dst: timersub
      Src: /src/openssl/test/timing_load_creds.c:207,1
    - Dst: timersub
      Src: /src/openssl/test/timing_load_creds.c:208,1
    - Dst: print_timeval
      Src: /src/openssl/test/timing_load_creds.c:209,1
    - Dst: print_timeval
      Src: /src/openssl/test/timing_load_creds.c:210,1
    - Dst: print_timeval
      Src: /src/openssl/test/timing_load_creds.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/timing_load_creds.c:214,1
    - Dst: fprintf
      Src: /src/openssl/test/timing_load_creds.c:217,1
    - Dst: exit
      Src: /src/openssl/test/timing_load_creds.c:219,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 104
    argCount: 2
    argNames:
    - ac
    - av
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 97
    functionDepth: 8
    functionLinenumber: 97
    functionLinenumberEnd: 221
    functionName: main
    functionSourceFile: /src/openssl/test/timing_load_creds.c
    functionUses: 5
    functionsReached:
    - stat
    - atoi
    - OPENSSL_free
    - readx509
    - readpkey
    - fopen
    - usage
    - print_timeval
    - OPENSSL_malloc
    - getrusage
    - perror
    - gettimeofday
    - timersub
    - fclose
    - exit
    - getopt
    - fread
    - fprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int ac, char **av)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:127,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:131,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:132,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:137,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:140,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:140,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:143,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:143,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:147,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:148,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:151,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:151,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:154,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:154,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:158,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:158,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:161,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:163,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:166,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:166,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:170,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:174,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:177,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:177,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:180,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:180,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:184,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:187,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:188,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:191,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:191,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:196,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:203,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:208,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:209,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:212,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:214,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 115
    functionDepth: 12
    functionLinenumber: 115
    functionLinenumberEnd: 216
    functionName: test_ml_kem
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_set1_encoded_public_key
    - TEST_ptr
    - EVP_PKEY_copy_parameters
    - OPENSSL_zalloc
    - TEST_size_t_gt
    - EVP_PKEY_decapsulate
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_encapsulate_init
    - TEST_true
    - EVP_PKEY_new
    - EVP_PKEY_get1_encoded_public_key
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate
    - TEST_size_t_ne
    - EVP_PKEY_decapsulate_init
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_ml_kem(void)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:230,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:230,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:231,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:234,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:234,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:237,1
    - Dst: ossl_ml_kem_get_vinfo
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:251,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:256,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:258,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:260,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:260,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:266,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:270,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:270,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:274,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:275,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:280,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:286,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:287,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:289,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:289,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:291,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:291,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:296,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:298,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:298,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:303,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:304,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:306,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:306,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:308,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:308,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:311,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:312,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:314,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:316,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:318,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:318,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:321,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:324,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:324,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:329,1
    - Dst: EVP_Digest
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:329,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:331,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:336,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:345,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:346,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:348,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:350,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:350,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:353,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:356,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:358,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:358,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:362,1
    - Dst: memset
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:368,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:368,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:371,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:377,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:379,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:379,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:383,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:383,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:386,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:392,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:393,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:394,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:395,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:396,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:397,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:398,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:403,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 218
    functionDepth: 14
    functionLinenumber: 218
    functionLinenumberEnd: 405
    functionName: test_non_derandomised_ml_kem
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_MD_free
    - OSSL_PARAM_construct_octet_string
    - TEST_int_le
    - OPENSSL_free
    - EVP_PKEY_Q_keygen
    - ossl_ml_kem_get_vinfo
    - EVP_PKEY_set1_encoded_public_key
    - TEST_ptr
    - RAND_get0_public
    - EVP_PKEY_copy_parameters
    - RAND_priv_bytes
    - OPENSSL_zalloc
    - EVP_PKEY_decapsulate
    - RAND_get0_private
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_encapsulate_init
    - TEST_true
    - OSSL_PARAM_construct_end
    - EVP_PKEY_new
    - TEST_mem_ne
    - EVP_PKEY_get1_encoded_public_key
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate
    - TEST_size_t_eq
    - EVP_MD_fetch
    - EVP_PKEY_decapsulate_init
    - memset
    - EVP_RAND_CTX_set_params
    - TEST_false
    - EVP_Digest
    - RAND_bytes
    - OSSL_NELEM
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_non_derandomised_ml_kem(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:412,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:426,1
    - Dst: RAND_set_DRBG_type
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:426,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:429,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_kem_evp_extra_test.c:433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 7
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ml_kem_evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - ADD_TEST
    - RAND_set_DRBG_type
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/evp_skey_test.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: ossl_pkey_todata_cb
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_dup
    linkageType: ''
    returnType: int
    signature: int ossl_pkey_todata_cb(const OSSL_PARAM params[], void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:49,1
    - Dst: fake_cipher_start
      Src: /src/openssl/test/evp_skey_test.c:49,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_skey_test.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:54,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_skey_test.c:58,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_skey_test.c:60,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_skey_test.c:62,1
    - Dst: EVP_SKEY_import
      Src: /src/openssl/test/evp_skey_test.c:63,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:65,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:69,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:69,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:70,1
    - Dst: EVP_CipherInit_SKEY
      Src: /src/openssl/test/evp_skey_test.c:70,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:74,1
    - Dst: EVP_SKEY_export
      Src: /src/openssl/test/evp_skey_test.c:74,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:79,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_skey_test.c:79,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:80,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_skey_test.c:86,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:87,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_skey_test.c:88,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:89,1
    - Dst: fake_cipher_finish
      Src: /src/openssl/test/evp_skey_test.c:90,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 93
    functionName: test_skey_cipher
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_CipherInit_SKEY
    - EVP_SKEY_export
    - fake_cipher_start
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - EVP_SKEY_get0_raw_key
    - OSSL_PARAM_free
    - EVP_SKEY_free
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_SKEY_import
    - TEST_ptr
    - TEST_mem_eq
    - fake_cipher_finish
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_skey_cipher(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_skey_test.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:116,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/test/evp_skey_test.c:116,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:121,1
    - Dst: EVP_SKEYMGMT_get0_imp_settable_params
      Src: /src/openssl/test/evp_skey_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:122,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_skey_test.c:122,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_skey_test.c:127,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_skey_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:131,1
    - Dst: EVP_SKEY_import
      Src: /src/openssl/test/evp_skey_test.c:131,1
    - Dst: EVP_SKEYMGMT_get0_name
      Src: /src/openssl/test/evp_skey_test.c:132,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:137,1
    - Dst: EVP_SKEY_export
      Src: /src/openssl/test/evp_skey_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:139,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_skey_test.c:139,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:141,1
    - Dst: OSSL_PARAM_get_octet_string_ptr
      Src: /src/openssl/test/evp_skey_test.c:141,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:143,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_skey_test.c:148,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/test/evp_skey_test.c:149,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:150,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 153
    functionName: test_skey_skeymgmt
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - EVP_SKEYMGMT_get0_imp_settable_params
    - OSSL_PARAM_construct_octet_string
    - EVP_SKEY_export
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_free
    - EVP_SKEYMGMT_fetch
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_string_ptr
    - EVP_SKEYMGMT_get0_name
    - OSSL_PROVIDER_load
    - EVP_SKEY_free
    - EVP_SKEYMGMT_free
    - EVP_SKEY_import
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_skey_skeymgmt(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_skey_test.c:178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:179,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:182,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:183,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:184,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:185,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_skey_test.c:188,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:189,1
    - Dst: EVP_SKEY_import_raw_key
      Src: /src/openssl/test/evp_skey_test.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:194,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:197,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_skey_test.c:197,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:203,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:203,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:204,1
    - Dst: EVP_CipherInit_SKEY
      Src: /src/openssl/test/evp_skey_test.c:204,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:205,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_skey_test.c:205,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:206,1
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/evp_skey_test.c:206,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:209,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:210,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:214,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_skey_test.c:214,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:215,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_skey_test.c:215,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:216,1
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/evp_skey_test.c:216,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:217,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_skey_test.c:222,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_skey_test.c:223,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:224,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_skey_test.c:225,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:226,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_skey_test.c:227,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 157
    functionDepth: 6
    functionLinenumber: 157
    functionLinenumberEnd: 229
    functionName: test_aes_raw_skey
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - OSSL_PROVIDER_unload
    - TEST_ptr
    - OSSL_PROVIDER_load
    - EVP_SKEY_free
    - EVP_CIPHER_free
    - OSSL_PARAM_BLD_free
    - EVP_CipherFinal
    - EVP_SKEY_get0_raw_key
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - memset
    - EVP_CipherInit_SKEY
    - EVP_SKEY_import_raw_key
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    - EVP_CipherInit_ex2
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_aes_raw_skey(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_skey_test.c:254,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:255,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:258,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:259,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:260,1
    - Dst: memset
      Src: /src/openssl/test/evp_skey_test.c:261,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_skey_test.c:264,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:265,1
    - Dst: EVP_SKEY_import_raw_key
      Src: /src/openssl/test/evp_skey_test.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:271,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:274,1
    - Dst: EVP_SKEY_get0_raw_key
      Src: /src/openssl/test/evp_skey_test.c:274,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:275,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_skey_test.c:280,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:280,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:281,1
    - Dst: EVP_CipherInit_SKEY
      Src: /src/openssl/test/evp_skey_test.c:281,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:282,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_skey_test.c:282,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:283,1
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/evp_skey_test.c:283,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:286,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:287,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:291,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_skey_test.c:291,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:292,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_skey_test.c:292,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_skey_test.c:293,1
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/evp_skey_test.c:293,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_skey_test.c:294,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/test/evp_skey_test.c:300,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_skey_test.c:301,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:302,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_skey_test.c:303,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 305
    functionName: test_des_raw_skey
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CipherFinal
    - memset
    - EVP_SKEY_get0_raw_key
    - EVP_CipherInit_SKEY
    - EVP_SKEY_import_raw_key
    - OSSL_PROVIDER_load
    - EVP_SKEY_free
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - OSSL_PROVIDER_unload
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CipherInit_ex2
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_des_raw_skey(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_skey_test.c:310,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:314,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:315,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:317,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_skey_test.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 323
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_skey_test.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_skey_test.c
    functionUses: 5
    functionsReached:
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/bio_pw_callback_test.c:84,1
    - Dst: memset
      Src: /src/openssl/test/bio_pw_callback_test.c:87,1
    - Dst: memcpy
      Src: /src/openssl/test/bio_pw_callback_test.c:92,1
    - Dst: memcpy
      Src: /src/openssl/test/bio_pw_callback_test.c:96,1
    - Dst: memset
      Src: /src/openssl/test/bio_pw_callback_test.c:99,1
    - Dst: memset
      Src: /src/openssl/test/bio_pw_callback_test.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 108
    functionName: callback_copy_password
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int callback_copy_password(char *buf, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:116,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/bio_pw_callback_test.c:118,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:120,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_pw_callback_test.c:122,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_pw_callback_test.c:124,1
    - Dst: callback_copy_password
      Src: /src/openssl/test/bio_pw_callback_test.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - u
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: read_callback
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_char_eq
    - TEST_ptr
    - callback_copy_password
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int read_callback(char *buf, int size, int rwflag, void *u)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:138,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/bio_pw_callback_test.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:142,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_pw_callback_test.c:144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_pw_callback_test.c:146,1
    - Dst: callback_copy_password
      Src: /src/openssl/test/bio_pw_callback_test.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - u
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: write_callback
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_char_eq
    - TEST_ptr
    - callback_copy_password
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int write_callback(char *buf, int size, int rwflag, void *u)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:165,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:167,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_pw_callback_test.c:167,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_pw_callback_test.c:167,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/bio_pw_callback_test.c:173,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/bio_pw_callback_test.c:173,1
    - Dst: i2d_PKCS8PrivateKey_bio
      Src: /src/openssl/test/bio_pw_callback_test.c:177,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/bio_pw_callback_test.c:177,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/bio_pw_callback_test.c:181,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/bio_pw_callback_test.c:183,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_pw_callback_test.c:185,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/bio_pw_callback_test.c:187,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:188,1
    - Dst: BIO_set_close
      Src: /src/openssl/test/bio_pw_callback_test.c:189,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/bio_pw_callback_test.c:194,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_pw_callback_test.c:195,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 3
    argNames:
    - enc_data
    - enc_data_size
    - key_encoding
    argTypes:
    - char**
    - int*
    - KEY_ENCODING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 197
    functionName: re_encrypt_key
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BUF_MEM_free
    - BIO_set_close
    - TEST_int_ne
    - BIO_free
    - TEST_int_eq
    - PEM_write_bio_PrivateKey
    - EVP_aes_256_cbc
    - BIO_get_mem_data
    - BIO_s_mem
    - i2d_PKCS8PrivateKey_bio
    - BIO_get_mem_ptr
    - TEST_ptr
    - TEST_char_eq
    linkageType: ''
    returnType: int
    signature: "int re_encrypt_key(char **enc_data, int *enc_data_size,\n                          KEY_ENCODING
      key_encoding)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:209,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_pw_callback_test.c:209,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/bio_pw_callback_test.c:215,1
    - Dst: d2i_PKCS8PrivateKey_bio
      Src: /src/openssl/test/bio_pw_callback_test.c:218,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:222,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/bio_pw_callback_test.c:225,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/bio_pw_callback_test.c:228,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_pw_callback_test.c:230,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/bio_pw_callback_test.c:234,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_pw_callback_test.c:235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - enc_data
    - enc_data_size
    - key_encoding
    - expected_result
    argTypes:
    - char*
    - int
    - KEY_ENCODING
    - EXPECTED_RESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 237
    functionName: decrypt_key
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 26
    functionsReached:
    - TEST_ptr_null
    - PEM_read_bio_PrivateKey
    - d2i_PKCS8PrivateKey_bio
    - BIO_free
    - TEST_int_eq
    - EVP_PKEY_free
    - BIO_new_mem_buf
    - TEST_ptr
    - TEST_char_eq
    linkageType: ''
    returnType: int
    signature: "int decrypt_key(char *enc_data, int enc_data_size,\n                       KEY_ENCODING
      key_encoding,\n                       EXPECTED_RESULT expected_result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_encrypt_key
      Src: /src/openssl/test/bio_pw_callback_test.c:248,1
    - Dst: decrypt_key
      Src: /src/openssl/test/bio_pw_callback_test.c:251,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_pw_callback_test.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key_encoding
    - write_test
    - read_test
    - expected_read_result
    argTypes:
    - KEY_ENCODING
    - CALLBACK_TEST
    - CALLBACK_TEST
    - EXPECTED_RESULT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 239
    functionDepth: 7
    functionLinenumber: 239
    functionLinenumberEnd: 258
    functionName: full_cycle_test
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - decrypt_key
    - OPENSSL_free
    - re_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int full_cycle_test(KEY_ENCODING key_encoding, CALLBACK_TEST write_test,\n
      \                          CALLBACK_TEST read_test,\n                           EXPECTED_RESULT
      expected_read_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 8
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: test_pem_negative
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pem_negative(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 8
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: test_pem_zero_length
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pem_zero_length(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 8
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: test_pem_weak
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pem_weak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 8
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: test_pem_16zero
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pem_16zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 8
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: test_pem_a0a
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pem_a0a(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 8
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: test_pem_a0a_a0b
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pem_a0a_a0b(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 8
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: test_pem_match_size
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pem_match_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 8
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: test_pem_exceed_size
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pem_exceed_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 8
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: test_pkcs8_negative
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pkcs8_negative(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 8
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: test_pkcs8_zero_length
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pkcs8_zero_length(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 8
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: test_pkcs8_weak
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pkcs8_weak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 8
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: test_pkcs8_16zero
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pkcs8_16zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 8
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: test_pkcs8_a0a
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pkcs8_a0a(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 8
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: test_pkcs8_a0a_a0b
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pkcs8_a0a_a0b(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 8
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: test_pkcs8_match_size
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pkcs8_match_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: full_cycle_test
      Src: /src/openssl/test/bio_pw_callback_test.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 8
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: test_pkcs8_exceed_size
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - full_cycle_test
    linkageType: ''
    returnType: int
    signature: int test_pkcs8_exceed_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/bio_pw_callback_test.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - u
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: callback_original_pw
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int callback_original_pw(char *buf, int size, int rwflag, void *u)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/bio_pw_callback_test.c:358,1
    - Dst: opt_arg
      Src: /src/openssl/test/bio_pw_callback_test.c:361,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:372,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/bio_pw_callback_test.c:372,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_pw_callback_test.c:374,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/bio_pw_callback_test.c:374,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_pw_callback_test.c:376,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_pw_callback_test.c:379,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:382,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:383,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:384,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:385,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:386,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:387,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:388,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:389,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:390,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:391,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:392,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:393,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:394,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:395,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:396,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_pw_callback_test.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 353
    functionDepth: 6
    functionLinenumber: 353
    functionLinenumberEnd: 399
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - opt_next
    - BIO_free
    - ADD_TEST
    - TEST_ptr
    - opt_arg
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/bio_pw_callback_test.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/bio_pw_callback_test.c
    functionUses: 5
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/openssl/test/localetest.c:101,1
    - Dst: TEST_skip
      Src: /src/openssl/test/localetest.c:102,1
    - Dst: strcasecmp
      Src: /src/openssl/test/localetest.c:104,1
    - Dst: TEST_note
      Src: /src/openssl/test/localetest.c:105,1
    - Dst: TEST_false
      Src: /src/openssl/test/localetest.c:107,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/localetest.c:107,1
    - Dst: d2i_X509
      Src: /src/openssl/test/localetest.c:110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/localetest.c:111,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/test/localetest.c:114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/localetest.c:115,1
    - Dst: X509_free
      Src: /src/openssl/test/localetest.c:116,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/localetest.c:120,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/localetest.c:120,1
    - Dst: X509_free
      Src: /src/openssl/test/localetest.c:121,1
    - Dst: X509_free
      Src: /src/openssl/test/localetest.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 127
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/localetest.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - OPENSSL_strcasecmp
    - TEST_false
    - TEST_skip
    - setlocale
    - X509_free
    - strcasecmp
    - X509_PUBKEY_get0
    - TEST_ptr
    - d2i_X509
    - X509_get_X509_PUBKEY
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/localetest.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/localetest.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/localetest.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_new_index
      Src: /src/openssl/test/bio_meth_test.c:19,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_meth_test.c:20,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_meth_test.c:23,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/bio_meth_test.c:23,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_meth_test.c:24,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/bio_meth_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_meth_test.c:25,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/bio_meth_test.c:25,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_meth_test.c:26,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_meth_test.c:26,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_meth_test.c:27,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_meth_test.c:27,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_meth_test.c:28,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_meth_test.c:28,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_meth_test.c:29,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_meth_test.c:29,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_meth_test.c:29,1
    - Dst: BIO_set_next
      Src: /src/openssl/test/bio_meth_test.c:32,1
    - Dst: BIO_set_next
      Src: /src/openssl/test/bio_meth_test.c:33,1
    - Dst: BIO_set_next
      Src: /src/openssl/test/bio_meth_test.c:34,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_meth_test.c:38,1
    - Dst: BIO_get_new_index
      Src: /src/openssl/test/bio_meth_test.c:38,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_meth_test.c:41,1
    - Dst: BIO_get_new_index
      Src: /src/openssl/test/bio_meth_test.c:41,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_meth_test.c:45,1
    - Dst: BIO_find_type
      Src: /src/openssl/test/bio_meth_test.c:45,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_meth_test.c:46,1
    - Dst: BIO_find_type
      Src: /src/openssl/test/bio_meth_test.c:46,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/bio_meth_test.c:50,1
    - Dst: BIO_find_type
      Src: /src/openssl/test/bio_meth_test.c:50,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/bio_meth_test.c:53,1
    - Dst: BIO_find_type
      Src: /src/openssl/test/bio_meth_test.c:53,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_meth_test.c:57,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_meth_test.c:58,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_meth_test.c:59,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_meth_test.c:60,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/bio_meth_test.c:61,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/bio_meth_test.c:62,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/bio_meth_test.c:63,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 13
    functionDepth: 5
    functionLinenumber: 13
    functionLinenumberEnd: 65
    functionName: test_bio_meth
    functionSourceFile: /src/openssl/test/bio_meth_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_next
    - BIO_meth_new
    - TEST_ptr_null
    - BIO_get_new_index
    - BIO_free
    - TEST_int_eq
    - BIO_meth_free
    - BIO_s_mem
    - TEST_ptr
    - BIO_find_type
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_bio_meth(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_meth_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_meth_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/bad_dtls_test.c:70,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/bad_dtls_test.c:74,1
    - Dst: EVP_PKEY_CTX_set_tls1_prf_md
      Src: /src/openssl/test/bad_dtls_test.c:75,1
    - Dst: EVP_md5_sha1
      Src: /src/openssl/test/bad_dtls_test.c:75,1
    - Dst: EVP_PKEY_CTX_set1_tls1_prf_secret
      Src: /src/openssl/test/bad_dtls_test.c:76,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/bad_dtls_test.c:77,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/bad_dtls_test.c:78,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/bad_dtls_test.c:79,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/bad_dtls_test.c:80,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - seed1
    - seed1_len
    - seed2
    - seed2_len
    - seed3
    - seed3_len
    - out
    - olen
    argTypes:
    - void*
    - int
    - void*
    - int
    - void*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: do_PRF
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - EVP_md5_sha1
    - EVP_PKEY_CTX_add1_tls1_prf_seed
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set1_tls1_prf_secret
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_set_tls1_prf_md
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    linkageType: ''
    returnType: int
    signature: "int do_PRF(const void *seed1, int seed1_len,\n                  const
      void *seed2, int seed2_len,\n                  const void *seed3, int seed3_len,\n
      \                 unsigned char *out, int olen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:110,1
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:111,1
    - Dst: d2i_SSL_SESSION
      Src: /src/openssl/test/bad_dtls_test.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: client_session
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - d2i_SSL_SESSION
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *client_session(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/bad_dtls_test.c:125,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/bad_dtls_test.c:127,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:131,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:134,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:137,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:141,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:144,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:148,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/test/bad_dtls_test.c:152,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/bad_dtls_test.c:156,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/bad_dtls_test.c:157,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/bad_dtls_test.c:161,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/bad_dtls_test.c:163,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/bad_dtls_test.c:164,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:170,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:170,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:174,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:174,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:178,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:178,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/bad_dtls_test.c:182,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/bad_dtls_test.c:186,1
    - Dst: BIO_reset
      Src: /src/openssl/test/bad_dtls_test.c:190,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 40
    argCount: 1
    argNames:
    - wbio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 193
    functionName: validate_client_hello
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - EVP_DigestUpdate
    - PACKET_get_length_prefixed_1
    - PACKET_get_net_2
    - PACKET_get_1
    - PACKET_remaining
    - BIO_get_mem_data
    - PACKET_forward
    - BIO_reset
    - PACKET_copy_bytes
    - PACKET_equal
    linkageType: ''
    returnType: int
    signature: int validate_client_hello(BIO *wbio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:216,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rbio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 221
    functionName: send_hello_verify
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - memcpy
    linkageType: ''
    returnType: int
    signature: int send_hello_verify(BIO *rbio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:260,1
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:261,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/bad_dtls_test.c:263,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:267,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rbio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 271
    functionName: send_server_hello
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - memcpy
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int send_server_hello(BIO *rbio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bad_dtls_test.c:301,1
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:309,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/test/bad_dtls_test.c:309,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:310,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/test/bad_dtls_test.c:310,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/bad_dtls_test.c:312,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/bad_dtls_test.c:314,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/bad_dtls_test.c:317,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:318,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:319,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:320,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:321,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:322,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/bad_dtls_test.c:323,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/test/bad_dtls_test.c:324,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bad_dtls_test.c:334,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:335,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/bad_dtls_test.c:335,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:336,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/bad_dtls_test.c:336,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/bad_dtls_test.c:336,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/bad_dtls_test.c:338,1
    - Dst: EVP_Cipher
      Src: /src/openssl/test/bad_dtls_test.c:338,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:342,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:343,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:344,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:345,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:348,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:350,1
    - Dst: BIO_write
      Src: /src/openssl/test/bad_dtls_test.c:351,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/test/bad_dtls_test.c:354,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:355,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bad_dtls_test.c:357,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 5
    argNames:
    - rbio
    - type
    - seqnr
    - msg
    - len
    argTypes:
    - BIO*
    - unsigned char
    - uint64_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 274
    functionDepth: 10
    functionLinenumber: 274
    functionLinenumberEnd: 359
    functionName: send_record
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_free
    - memcpy
    - OPENSSL_free
    - TEST_ptr
    - EVP_MAC_update
    - BIO_write
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_final
    - TEST_true
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - EVP_Cipher
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_new
    - TEST_int_ge
    - RAND_bytes
    - EVP_CIPHER_CTX_free
    - EVP_MAC_fetch
    - EVP_aes_128_cbc
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int send_record(BIO *rbio, unsigned char type, uint64_t seqnr,\n                       const
      void *msg, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_PRF
      Src: /src/openssl/test/bad_dtls_test.c:376,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/bad_dtls_test.c:382,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/test/bad_dtls_test.c:385,1
    - Dst: do_PRF
      Src: /src/openssl/test/bad_dtls_test.c:388,1
    - Dst: send_record
      Src: /src/openssl/test/bad_dtls_test.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - rbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 361
    functionDepth: 11
    functionLinenumber: 361
    functionLinenumberEnd: 395
    functionName: send_finished
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_get_size
    - send_record
    - EVP_DigestFinal_ex
    - do_PRF
    linkageType: ''
    returnType: int
    signature: int send_finished(SSL *s, BIO *rbio)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/bad_dtls_test.c:404,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/bad_dtls_test.c:408,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:412,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:415,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/bad_dtls_test.c:418,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:422,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:426,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/bad_dtls_test.c:430,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:432,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/bad_dtls_test.c:436,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 1
    argNames:
    - wbio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 446
    functionName: validate_ccs
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_get_net_2
    - PACKET_get_1
    - BIO_get_mem_data
    - PACKET_forward
    linkageType: ''
    returnType: int
    signature: int validate_ccs(BIO *wbio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: NODROP
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODROP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: DROP
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROP(x)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:479,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:480,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:481,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/bad_dtls_test.c:482,1
    - Dst: time
      Src: /src/openssl/test/bad_dtls_test.c:484,1
    - Dst: memcpy
      Src: /src/openssl/test/bad_dtls_test.c:485,1
    - Dst: client_session
      Src: /src/openssl/test/bad_dtls_test.c:487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:488,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/bad_dtls_test.c:491,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:492,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:493,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/bad_dtls_test.c:493,1
    - Dst: EVP_md5_sha1
      Src: /src/openssl/test/bad_dtls_test.c:493,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/bad_dtls_test.c:497,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/bad_dtls_test.c:497,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:498,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:499,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/bad_dtls_test.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:500,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/bad_dtls_test.c:500,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:501,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/bad_dtls_test.c:501,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:503,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/bad_dtls_test.c:503,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/bad_dtls_test.c:506,1
    - Dst: SSL_new
      Src: /src/openssl/test/bad_dtls_test.c:507,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:509,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/bad_dtls_test.c:509,1
    - Dst: BIO_new
      Src: /src/openssl/test/bad_dtls_test.c:512,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bad_dtls_test.c:512,1
    - Dst: BIO_new
      Src: /src/openssl/test/bad_dtls_test.c:513,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bad_dtls_test.c:513,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bad_dtls_test.c:516,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/bad_dtls_test.c:519,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:521,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/bad_dtls_test.c:521,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:530,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/bad_dtls_test.c:530,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/bad_dtls_test.c:535,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/bad_dtls_test.c:538,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bad_dtls_test.c:539,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:540,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/bad_dtls_test.c:540,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:541,1
    - Dst: validate_client_hello
      Src: /src/openssl/test/bad_dtls_test.c:541,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:542,1
    - Dst: send_hello_verify
      Src: /src/openssl/test/bad_dtls_test.c:542,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/bad_dtls_test.c:545,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bad_dtls_test.c:546,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:547,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/bad_dtls_test.c:547,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:548,1
    - Dst: validate_client_hello
      Src: /src/openssl/test/bad_dtls_test.c:548,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:549,1
    - Dst: send_server_hello
      Src: /src/openssl/test/bad_dtls_test.c:549,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/bad_dtls_test.c:552,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/bad_dtls_test.c:553,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:554,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/bad_dtls_test.c:554,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:555,1
    - Dst: send_finished
      Src: /src/openssl/test/bad_dtls_test.c:555,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/bad_dtls_test.c:558,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bad_dtls_test.c:559,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:560,1
    - Dst: validate_ccs
      Src: /src/openssl/test/bad_dtls_test.c:560,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bad_dtls_test.c:568,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:571,1
    - Dst: send_record
      Src: /src/openssl/test/bad_dtls_test.c:571,1
    - Dst: TEST_error
      Src: /src/openssl/test/bad_dtls_test.c:573,1
    - Dst: SSL_read
      Src: /src/openssl/test/bad_dtls_test.c:581,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bad_dtls_test.c:582,1
    - Dst: TEST_error
      Src: /src/openssl/test/bad_dtls_test.c:583,1
    - Dst: TEST_true
      Src: /src/openssl/test/bad_dtls_test.c:587,1
    - Dst: TEST_false
      Src: /src/openssl/test/bad_dtls_test.c:592,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/bad_dtls_test.c:598,1
    - Dst: BIO_free
      Src: /src/openssl/test/bad_dtls_test.c:599,1
    - Dst: BIO_free
      Src: /src/openssl/test/bad_dtls_test.c:600,1
    - Dst: SSL_free
      Src: /src/openssl/test/bad_dtls_test.c:601,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:602,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/bad_dtls_test.c:603,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 467
    functionDepth: 12
    functionLinenumber: 467
    functionLinenumberEnd: 606
    functionName: test_bad_dtls
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - send_hello_verify
    - TEST_int_le
    - send_finished
    - SSL_CTX_new
    - BIO_s_mem
    - send_record
    - TEST_ptr
    - BIO_new
    - SSL_get_error
    - SSL_set_connect_state
    - SSL_CTX_free
    - SSL_CTX_set_options
    - client_session
    - SSL_read
    - DTLS_client_method
    - EVP_DigestInit_ex
    - validate_client_hello
    - TEST_true
    - SSL_CTX_set_max_proto_version
    - SSL_set_bio
    - TEST_error
    - time
    - SSL_do_handshake
    - SSL_SESSION_free
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - BIO_free
    - SSL_CTX_set_cipher_list
    - validate_ccs
    - SSL_new
    - send_server_hello
    - EVP_md5_sha1
    - BIO_up_ref
    - TEST_false
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_MD_CTX_free
    - SSL_CTX_set_security_level
    - RAND_bytes
    - OSSL_NELEM
    - SSL_set_session
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bad_dtls(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/bad_dtls_test.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bad_dtls_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: C_BIDI_ID
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_BIDI_ID(ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: S_BIDI_ID
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_BIDI_ID(ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: C_UNI_ID
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_UNI_ID(ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: S_UNI_ID
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_UNI_ID(ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: OP_CHECK
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CHECK(func, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alpn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: OP_C_SET_ALPN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_SET_ALPN(alpn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: OP_C_CONNECT_WAIT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_CONNECT_WAIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: OP_C_CONNECT_WAIT_OR_FAIL
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_CONNECT_WAIT_OR_FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_name
    - ','
    - buf
    - ','
    - buf_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: OP_C_WRITE
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_WRITE(stream_name, buf, buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_name
    - ','
    - buf
    - ','
    - buf_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: OP_S_WRITE
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_WRITE(stream_name, buf, buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_name
    - ','
    - buf
    - ','
    - buf_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: OP_C_READ_EXPECT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_READ_EXPECT(stream_name, buf, buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_name
    - ','
    - buf
    - ','
    - buf_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: OP_S_READ_EXPECT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_READ_EXPECT(stream_name, buf, buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: OP_C_EXPECT_FIN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_EXPECT_FIN(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: OP_S_EXPECT_FIN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_EXPECT_FIN(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: OP_C_CONCLUDE
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_CONCLUDE(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: OP_S_CONCLUDE
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_CONCLUDE(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: OP_C_DETACH
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_DETACH(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: OP_C_ATTACH
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_ATTACH(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - expect_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: OP_C_NEW_STREAM_BIDI
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_NEW_STREAM_BIDI(stream_name, expect_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_name
    - ','
    - expect_id
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: OP_C_NEW_STREAM_BIDI_EX
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_NEW_STREAM_BIDI_EX(stream_name, expect_id, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - expect_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: OP_C_NEW_STREAM_UNI
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_NEW_STREAM_UNI(stream_name, expect_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_name
    - ','
    - expect_id
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: OP_C_NEW_STREAM_UNI_EX
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_NEW_STREAM_UNI_EX(stream_name, expect_id, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - expect_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: OP_S_NEW_STREAM_BIDI
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_NEW_STREAM_BIDI(stream_name, expect_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - expect_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: OP_S_NEW_STREAM_UNI
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_NEW_STREAM_UNI(stream_name, expect_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: OP_C_ACCEPT_STREAM_WAIT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_ACCEPT_STREAM_WAIT(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: OP_C_ACCEPT_STREAM_NONE
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_ACCEPT_STREAM_NONE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: OP_C_FREE_STREAM
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_FREE_STREAM(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: OP_C_SET_DEFAULT_STREAM_MODE
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_SET_DEFAULT_STREAM_MODE(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - policy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: OP_C_SET_INCOMING_STREAM_POLICY
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_SET_INCOMING_STREAM_POLICY(policy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reason
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: OP_C_SHUTDOWN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_SHUTDOWN(reason, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reason
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: OP_C_SHUTDOWN_WAIT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_SHUTDOWN_WAIT(reason, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ec
    - ','
    - app
    - ','
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: OP_C_EXPECT_CONN_CLOSE_INFO
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_EXPECT_CONN_CLOSE_INFO(ec, app, remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ec
    - ','
    - app
    - ','
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: OP_S_EXPECT_CONN_CLOSE_INFO
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_EXPECT_CONN_CLOSE_INFO(ec, app, remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - stream_id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: OP_S_BIND_STREAM_ID
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_BIND_STREAM_ID(stream_name, stream_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: OP_C_WAIT_FOR_DATA
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_WAIT_FOR_DATA(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: OP_C_WRITE_FAIL
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_WRITE_FAIL(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: OP_S_WRITE_FAIL
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_WRITE_FAIL(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: OP_C_READ_FAIL
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_READ_FAIL(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - allow_zero_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: OP_S_READ_FAIL
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_READ_FAIL(stream_name, allow_zero_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - aec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: OP_C_STREAM_RESET
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_STREAM_RESET(stream_name, aec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - aec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: OP_C_STREAM_RESET_FAIL
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_STREAM_RESET_FAIL(stream_name, aec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: OP_S_ACCEPT_STREAM_WAIT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_ACCEPT_STREAM_WAIT(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num_threads
    - ','
    - script
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: OP_NEW_THREAD
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEW_THREAD(num_threads, script)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: OP_BEGIN_REPEAT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_BEGIN_REPEAT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: OP_END_REPEAT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_END_REPEAT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: OP_S_UNBIND_STREAM_ID
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_UNBIND_STREAM_ID(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: OP_C_READ_FAIL_WAIT
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_READ_FAIL_WAIT(stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: OP_C_CLOSE_SOCKET
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_CLOSE_SOCKET()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: OP_C_EXPECT_SSL_ERR
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_EXPECT_SSL_ERR(stream_name, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: OP_EXPECT_ERR_REASON
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_ERR_REASON(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lib
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: OP_EXPECT_ERR_LIB
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_ERR_LIB(lib)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ms
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: OP_SLEEP
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SLEEP(ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: OP_S_SET_INJECT_PLAIN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_SET_INJECT_PLAIN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w0
    - ','
    - w1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: OP_SET_INJECT_WORD
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SET_INJECT_WORD(w0, w1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - inhibit
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: OP_C_INHIBIT_TICK
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_INHIBIT_TICK(inhibit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: OP_C_SET_WRITE_BUF_SIZE
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_SET_WRITE_BUF_SIZE(stream_name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: OP_S_SET_INJECT_HANDSHAKE
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_SET_INJECT_HANDSHAKE(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: OP_S_NEW_TICKET
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_NEW_TICKET()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_name
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: OP_C_SKIP_IF_UNBOUND
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_SKIP_IF_UNBOUND(stream_name, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: OP_S_SET_INJECT_DATAGRAM
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_SET_INJECT_DATAGRAM(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - error_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: OP_S_SHUTDOWN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_S_SHUTDOWN(error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: OP_POP_ERR
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_POP_ERR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - stream_name
    - ','
    - buf
    - ','
    - buf_len
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: OP_C_WRITE_EX2
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_C_WRITE_EX2(stream_name, buf, buf_len, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - func
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: OP_CHECK2
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CHECK2(func, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: OP_SKIP_IF_BLOCKING
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SKIP_IF_BLOCKING(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:358,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/quic_multistream_test.c:358,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_multistream_test.c:359,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_multistream_test.c:361,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:361,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_multistream_test.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: get_time
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - ossl_time_zero
    - ossl_time_now
    - CRYPTO_THREAD_unlock
    - TEST_true
    - ossl_time_add
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME get_time(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:369,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/quic_multistream_test.c:369,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_multistream_test.c:372,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_multistream_test.c:372,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_multistream_test.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: skip_time_ms
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_ms2time
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    - TEST_true
    - ossl_time_add
    linkageType: ''
    returnType: int
    signature: int skip_time_ms(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: ACQUIRE_S
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACQUIRE_S()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: ACQUIRE_S_NOHL
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACQUIRE_S_NOHL()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_stream_has_peer_stop_sending
      Src: /src/openssl/test/quic_multistream_test.c:388,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:388,1
    - Dst: ossl_quic_tserver_stream_has_peer_reset_stream
      Src: /src/openssl/test/quic_multistream_test.c:389,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: check_rejected
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_stream_has_peer_stop_sending
    - ossl_quic_tserver_stream_has_peer_reset_stream
    - ACQUIRE_S
    linkageType: ''
    returnType: int
    signature: int check_rejected(struct helper *h, struct helper_local *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_stream_has_peer_reset_stream
      Src: /src/openssl/test/quic_multistream_test.c:401,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:401,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: check_stream_reset
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    - ACQUIRE_S
    - ossl_quic_tserver_stream_has_peer_reset_stream
    linkageType: ''
    returnType: int
    signature: int check_stream_reset(struct helper *h, struct helper_local *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_stream_has_peer_stop_sending
      Src: /src/openssl/test/quic_multistream_test.c:413,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: check_stream_stopped
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_stream_has_peer_stop_sending
    - ACQUIRE_S
    linkageType: ''
    returnType: int
    signature: int check_stream_stopped(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:423,1
    - Dst: ossl_quic_channel_set_txku_threshold_override
      Src: /src/openssl/test/quic_multistream_test.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: override_key_update
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_conn_get_channel
    - ossl_quic_channel_set_txku_threshold_override
    linkageType: ''
    returnType: int
    signature: int override_key_update(struct helper *h, struct helper_local *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:431,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/quic_multistream_test.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: trigger_key_update
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 1
    functionsReached:
    - SSL_key_update
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int trigger_key_update(struct helper *h, struct helper_local *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:439,1
    - Dst: ossl_quic_channel_get_tx_key_epoch
      Src: /src/openssl/test/quic_multistream_test.c:440,1
    - Dst: ossl_quic_channel_get_rx_key_epoch
      Src: /src/openssl/test/quic_multistream_test.c:441,1
    - Dst: TEST_int64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:448,1
    - Dst: TEST_int64_t_le
      Src: /src/openssl/test/quic_multistream_test.c:448,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 456
    functionName: check_key_update_ge
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_conn_get_channel
    - ossl_quic_channel_get_tx_key_epoch
    - TEST_int64_t_ge
    - TEST_int64_t_le
    - ossl_quic_channel_get_rx_key_epoch
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: int
    signature: int check_key_update_ge(struct helper *h, struct helper_local *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:460,1
    - Dst: ossl_quic_channel_get_tx_key_epoch
      Src: /src/openssl/test/quic_multistream_test.c:461,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_multistream_test.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: check_key_update_lt
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_conn_get_channel
    - TEST_uint64_t_lt
    - ossl_quic_channel_get_tx_key_epoch
    linkageType: ''
    returnType: int
    signature: int check_key_update_lt(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/test/quic_multistream_test.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - STREAM_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: stream_info_hash
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long stream_info_hash(const STREAM_INFO *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/quic_multistream_test.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - STREAM_INFO*
    - STREAM_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: stream_info_cmp
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int stream_info_cmp(const STREAM_INFO *a, const STREAM_INFO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:482,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - STREAM_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: cleanup_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_stream(STREAM_INFO *info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/quic_multistream_test.c:507,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/quic_multistream_test.c:513,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/quic_multistream_test.c:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - threads
    - num_threads
    argTypes:
    - struct child_thread_args*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 521
    functionName: join_threads
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_crypto_thread_native_clean
    - ossl_crypto_thread_native_join
    linkageType: ''
    returnType: int
    signature: int join_threads(struct child_thread_args *threads, size_t num_threads)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:530,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/test/quic_multistream_test.c:532,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:533,1
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/quic_multistream_test.c:535,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/quic_multistream_test.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 539
    functionName: join_server_thread
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_thread_native_join
    - ossl_crypto_condvar_signal
    - ossl_crypto_thread_native_clean
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: int
    signature: int join_server_thread(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - thread_idx
    argTypes:
    - struct helper*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: s_checked_out_p
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int *s_checked_out_p(struct helper *h, int thread_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_checked_out_p
      Src: /src/openssl/test/quic_multistream_test.c:550,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 559
    functionName: s_lock
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - s_checked_out_p
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: QUIC_TSERVER
    signature: QUIC_TSERVER *s_lock(struct helper *h, struct helper_local *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_checked_out_p
      Src: /src/openssl/test/quic_multistream_test.c:564,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 572
    functionName: s_unlock
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - s_checked_out_p
    - ossl_crypto_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void s_unlock(struct helper *h, struct helper_local *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:578,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/test/quic_multistream_test.c:590,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quic_multistream_test.c:594,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:595,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/quic_multistream_test.c:600,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:601,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 606
    functionName: server_helper_thread
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_tick
    - OSSL_sleep
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - ossl_crypto_condvar_wait
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int server_helper_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: s_lock
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_TSERVER
    signature: QUIC_TSERVER *s_lock(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 616
    functionName: s_unlock
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_unlock(struct helper *h, struct helper_local *hl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: join_threads
      Src: /src/openssl/test/quic_multistream_test.c:623,1
    - Dst: join_server_thread
      Src: /src/openssl/test/quic_multistream_test.c:624,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:625,1
    - Dst: helper_cleanup_streams
      Src: /src/openssl/test/quic_multistream_test.c:632,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:634,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:638,1
    - Dst: helper_cleanup_streams
      Src: /src/openssl/test/quic_multistream_test.c:641,1
    - Dst: helper_cleanup_streams
      Src: /src/openssl/test/quic_multistream_test.c:644,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quic_multistream_test.c:645,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_multistream_test.c:648,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_multistream_test.c:651,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_multistream_test.c:654,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quic_multistream_test.c:657,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_multistream_test.c:661,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_multistream_test.c:666,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic_multistream_test.c:670,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic_multistream_test.c:672,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_multistream_test.c:675,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/quic_multistream_test.c:678,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/quic_multistream_test.c:682,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/test/quic_multistream_test.c:683,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/quic_multistream_test.c:684,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/test/quic_multistream_test.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 687
    functionName: helper_cleanup
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 2
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_crypto_condvar_free
    - BIO_closesocket
    - SSL_CTX_free
    - join_server_thread
    - SSL_free
    - BIO_ADDR_free
    - CRYPTO_THREAD_lock_free
    - BIO_free
    - qtest_fault_free
    - join_threads
    - OPENSSL_free
    - helper_cleanup_streams
    - ossl_quic_tserver_free
    linkageType: ''
    returnType: void
    signature: void helper_cleanup(struct helper *h)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/quic_multistream_test.c:699,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_multistream_test.c:705,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_multistream_test.c:707,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:711,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/quic_multistream_test.c:711,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:714,1
    - Dst: lh_STREAM_INFO_new
      Src: /src/openssl/test/quic_multistream_test.c:714,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:718,1
    - Dst: lh_STREAM_INFO_new
      Src: /src/openssl/test/quic_multistream_test.c:718,1
    - Dst: htonl
      Src: /src/openssl/test/quic_multistream_test.c:722,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quic_multistream_test.c:724,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_multistream_test.c:725,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:728,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_multistream_test.c:728,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:731,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quic_multistream_test.c:731,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:732,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quic_multistream_test.c:732,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:735,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quic_multistream_test.c:735,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:739,1
    - Dst: BIO_bind
      Src: /src/openssl/test/quic_multistream_test.c:739,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:743,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/quic_multistream_test.c:743,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quic_multistream_test.c:746,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/quic_multistream_test.c:746,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:749,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/quic_multistream_test.c:749,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/quic_multistream_test.c:752,1
    - Dst: BIO_new
      Src: /src/openssl/test/quic_multistream_test.c:756,1
    - Dst: qtest_get_bio_method
      Src: /src/openssl/test/quic_multistream_test.c:756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:757,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:760,1
    - Dst: BIO_push
      Src: /src/openssl/test/quic_multistream_test.c:760,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:774,1
    - Dst: ossl_quic_tserver_new
      Src: /src/openssl/test/quic_multistream_test.c:774,1
    - Dst: qtest_create_injector
      Src: /src/openssl/test/quic_multistream_test.c:781,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:782,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/quic_multistream_test.c:785,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quic_multistream_test.c:792,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_multistream_test.c:793,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:796,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_multistream_test.c:796,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:799,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/quic_multistream_test.c:799,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:802,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/quic_multistream_test.c:802,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:805,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quic_multistream_test.c:805,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quic_multistream_test.c:805,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic_multistream_test.c:809,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:810,1
    - Dst: ossl_quic_set_diag_title
      Src: /src/openssl/test/quic_multistream_test.c:810,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:813,1
    - Dst: SSL_new
      Src: /src/openssl/test/quic_multistream_test.c:813,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:817,1
    - Dst: ossl_quic_set_override_now_cb
      Src: /src/openssl/test/quic_multistream_test.c:817,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/quic_multistream_test.c:821,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:824,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/quic_multistream_test.c:824,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/quic_multistream_test.c:827,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:829,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/quic_multistream_test.c:829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:833,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/quic_multistream_test.c:833,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:835,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/test/quic_multistream_test.c:835,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:841,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/quic_multistream_test.c:841,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:844,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/test/quic_multistream_test.c:844,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/quic_multistream_test.c:848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:849,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:852,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:857,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:862,1
    - Dst: helper_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:863,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 148
    argCount: 5
    argNames:
    - h
    - script_name
    - free_order
    - blocking
    - need_injector
    argTypes:
    - struct helper*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 689
    functionDepth: 6
    functionLinenumber: 689
    functionLinenumberEnd: 865
    functionName: helper_init
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 1
    functionsReached:
    - BIO_ADDR_new
    - ossl_time_zero
    - SSL_set0_rbio
    - BIO_snprintf
    - SSL_set_blocking_mode
    - SSL_CTX_new
    - OPENSSL_free
    - BIO_ADDR_rawmake
    - qtest_get_bio_method
    - TEST_ptr
    - ossl_crypto_mutex_new
    - BIO_new
    - OPENSSL_zalloc
    - ossl_quic_tserver_new
    - SSL_set0_wbio
    - helper_cleanup
    - BIO_socket_nbio
    - qtest_create_injector
    - BIO_push
    - ossl_time_now
    - TEST_true
    - OSSL_QUIC_client_method
    - BIO_ADDR_rawport
    - TEST_error
    - ossl_crypto_condvar_new
    - BIO_set_data
    - lh_STREAM_INFO_new
    - BIO_socket
    - SSL_new
    - CRYPTO_THREAD_lock_new
    - htonl
    - BIO_dgram_set_peer
    - BIO_up_ref
    - memset
    - ossl_crypto_thread_native_start
    - TEST_int_ge
    - BIO_bind
    - ossl_quic_set_diag_title
    - ossl_quic_set_override_now_cb
    - BIO_sock_info
    - BIO_new_dgram
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int helper_init(struct helper *h, const char *script_name,\n                       int
      free_order, int blocking,\n                       int need_injector)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:875,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:881,1
    - Dst: lh_STREAM_INFO_new
      Src: /src/openssl/test/quic_multistream_test.c:881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - hl
    - h
    - thread_idx
    argTypes:
    - struct helper_local*
    - struct helper*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 887
    functionName: helper_local_init
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - lh_STREAM_INFO_new
    linkageType: ''
    returnType: int
    signature: "int helper_local_init(struct helper_local *hl, struct helper *h,\n
      \                            int thread_idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: helper_cleanup_streams
      Src: /src/openssl/test/quic_multistream_test.c:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hl
    argTypes:
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 898
    functionName: helper_local_cleanup
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - helper_cleanup_streams
    linkageType: ''
    returnType: void
    signature: void helper_local_cleanup(struct helper_local *hl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:905,1
    - Dst: strcmp
      Src: /src/openssl/test/quic_multistream_test.c:908,1
    - Dst: lh_STREAM_INFO_retrieve
      Src: /src/openssl/test/quic_multistream_test.c:912,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_multistream_test.c:914,1
    - Dst: lh_STREAM_INFO_insert
      Src: /src/openssl/test/quic_multistream_test.c:920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - lh
    - stream_name
    argTypes:
    - LHASH_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 924
    functionName: get_stream_info
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - lh_STREAM_INFO_retrieve
    - lh_STREAM_INFO_insert
    - strcmp
    - TEST_ptr
    linkageType: ''
    returnType: STREAM_INFO
    signature: "STREAM_INFO *get_stream_info(LHASH_OF(STREAM_INFO) *lh,\n                                    const
      char *stream_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_stream_info
      Src: /src/openssl/test/quic_multistream_test.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - hl
    - stream_name
    - c_stream
    argTypes:
    - struct helper_local*
    - char*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 938
    functionName: helper_local_set_c_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - get_stream_info
    linkageType: ''
    returnType: int
    signature: "int helper_local_set_c_stream(struct helper_local *hl,\n                                     const
      char *stream_name,\n                                     SSL *c_stream)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/quic_multistream_test.c:945,1
    - Dst: get_stream_info
      Src: /src/openssl/test/quic_multistream_test.c:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hl
    - stream_name
    argTypes:
    - struct helper_local*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 953
    functionName: helper_local_get_c_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_stream_info
    linkageType: ''
    returnType: SSL
    signature: "SSL *helper_local_get_c_stream(struct helper_local *hl,\n                                      const
      char *stream_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/quic_multistream_test.c:961,1
    - Dst: get_stream_info
      Src: /src/openssl/test/quic_multistream_test.c:964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - h
    - stream_name
    - s_stream_id
    argTypes:
    - struct helper*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 971
    functionName: helper_set_s_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_stream_info
    linkageType: ''
    returnType: int
    signature: "int helper_set_s_stream(struct helper *h, const char *stream_name,\n
      \                   uint64_t s_stream_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/quic_multistream_test.c:977,1
    - Dst: get_stream_info
      Src: /src/openssl/test/quic_multistream_test.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - h
    - stream_name
    argTypes:
    - struct helper*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 985
    functionName: helper_get_s_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_stream_info
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t helper_get_s_stream(struct helper *h, const char *stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct helper*::qtf_packet_plain_cb
      Src: /src/openssl/test/quic_multistream_test.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - qtf
    - hdr
    - buf
    - buf_len
    - arg
    argTypes:
    - QTEST_FAULT*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 994
    functionName: helper_packet_plain_listener
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - struct helper*::qtf_packet_plain_cb
    linkageType: ''
    returnType: int
    signature: "int helper_packet_plain_listener(QTEST_FAULT *qtf, QUIC_PKT_HDR *hdr,\n
      \                                       unsigned char *buf, size_t buf_len,\n
      \                                       void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct helper*::qtf_handshake_cb
      Src: /src/openssl/test/quic_multistream_test.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fault
    - buf
    - buf_len
    - arg
    argTypes:
    - QTEST_FAULT*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1003
    functionName: helper_handshake_listener
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - struct helper*::qtf_handshake_cb
    linkageType: ''
    returnType: int
    signature: "int helper_handshake_listener(QTEST_FAULT *fault,\n                                     unsigned
      char *buf, size_t buf_len,\n                                     void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct helper*::qtf_datagram_cb
      Src: /src/openssl/test/quic_multistream_test.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fault
    - msg
    - stride
    - arg
    argTypes:
    - QTEST_FAULT*
    - BIO_MSG*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1012
    functionName: helper_datagram_listener
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - struct helper*::qtf_datagram_cb
    linkageType: ''
    returnType: int
    signature: "int helper_datagram_listener(QTEST_FAULT *fault,\n                                    BIO_MSG
      *msg, size_t stride,\n                                    void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_multistream_test.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1019
    functionName: is_want
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 1
    functionsReached:
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int is_want(SSL *s, int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_multistream_test.c:1023,1
    - Dst: SSL_want
      Src: /src/openssl/test/quic_multistream_test.c:1024,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1026,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1039,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1042
    functionName: check_consistent_want
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - SSL_get_error
    - TEST_error
    - SSL_want
    linkageType: ''
    returnType: int
    signature: int check_consistent_want(SSL *s, int ret)
  - BBCount: 226
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_multistream_test.c:1058,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_multistream_test.c:1058,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1065,1
    - Dst: helper_local_init
      Src: /src/openssl/test/quic_multistream_test.c:1065,1
    - Dst: s_unlock
      Src: /src/openssl/test/quic_multistream_test.c:1092,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:1102,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_multistream_test.c:1103,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_multistream_test.c:1103,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/quic_multistream_test.c:1106,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_multistream_test.c:1106,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:1106,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1107,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1114,1
    - Dst: helper_get_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1116,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quic_multistream_test.c:1123,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:1127,1
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/test/quic_multistream_test.c:1129,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:1130,1
    - Dst: assert
      Src: /src/openssl/test/quic_multistream_test.c:1133,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quic_multistream_test.c:1139,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1165,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1173,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:1185,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:1187,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1191,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1195,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1201,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/quic_multistream_test.c:1206,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:1206,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_multistream_test.c:1209,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_multistream_test.c:1233,1
    - Dst: struct script_op*::check_func
      Src: /src/openssl/test/quic_multistream_test.c:1252,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1257,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1260,1
    - Dst: strlen
      Src: /src/openssl/test/quic_multistream_test.c:1268,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/quic_multistream_test.c:1270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1271,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_multistream_test.c:1271,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:1274,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1278,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quic_multistream_test.c:1278,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1282,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quic_multistream_test.c:1293,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1294,1
    - Dst: is_want
      Src: /src/openssl/test/quic_multistream_test.c:1297,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1298,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1300,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1311,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quic_multistream_test.c:1314,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1315,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1316,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1327,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/test/quic_multistream_test.c:1330,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1332,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1333,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1334,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1343,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1346,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quic_multistream_test.c:1346,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1346,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1349,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1356,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/quic_multistream_test.c:1356,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1363,1
    - Dst: ossl_quic_tserver_conclude
      Src: /src/openssl/test/quic_multistream_test.c:1366,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1366,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1375,1
    - Dst: SSL_peek_ex
      Src: /src/openssl/test/quic_multistream_test.c:1378,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1380,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1390,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_multistream_test.c:1390,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_multistream_test.c:1393,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1395,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1399,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1403,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_multistream_test.c:1407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1410,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1419,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1423,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_multistream_test.c:1423,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1426,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quic_multistream_test.c:1426,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1426,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1434,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_multistream_test.c:1438,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1441,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_multistream_test.c:1452,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1453,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1454,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1455,1
    - Dst: is_want
      Src: /src/openssl/test/quic_multistream_test.c:1458,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1459,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1461,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_multistream_test.c:1461,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1465,1
    - Dst: SSL_want
      Src: /src/openssl/test/quic_multistream_test.c:1465,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1472,1
    - Dst: ossl_quic_tserver_has_read_ended
      Src: /src/openssl/test/quic_multistream_test.c:1475,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1475,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1476,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1490,1
    - Dst: ossl_quic_detach_stream
      Src: /src/openssl/test/quic_multistream_test.c:1490,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1493,1
    - Dst: helper_local_set_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1493,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1503,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1506,1
    - Dst: ossl_quic_attach_stream
      Src: /src/openssl/test/quic_multistream_test.c:1506,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1509,1
    - Dst: helper_local_set_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1509,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1522,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1525,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quic_multistream_test.c:1528,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1529,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1533,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quic_multistream_test.c:1533,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/quic_multistream_test.c:1533,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1542,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/test/quic_multistream_test.c:1542,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1546,1
    - Dst: helper_local_set_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1546,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1555,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1558,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1561,1
    - Dst: ossl_quic_tserver_stream_new
      Src: /src/openssl/test/quic_multistream_test.c:1561,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1561,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1567,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1570,1
    - Dst: helper_set_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1570,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1580,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1583,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quic_multistream_test.c:1586,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1587,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1589,1
    - Dst: helper_local_set_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1589,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1599,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1602,1
    - Dst: ossl_quic_tserver_pop_incoming_stream
      Src: /src/openssl/test/quic_multistream_test.c:1605,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1605,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1607,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1609,1
    - Dst: helper_set_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1609,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1618,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quic_multistream_test.c:1618,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1620,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1628,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1629,1
    - Dst: SSL_is_connection
      Src: /src/openssl/test/quic_multistream_test.c:1629,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1632,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1635,1
    - Dst: helper_local_set_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:1635,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_multistream_test.c:1638,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1645,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1648,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/quic_multistream_test.c:1648,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1655,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1658,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quic_multistream_test.c:1658,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:1667,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/test/quic_multistream_test.c:1670,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/test/quic_multistream_test.c:1670,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1672,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/quic_multistream_test.c:1677,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_multistream_test.c:1678,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:1686,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/test/quic_multistream_test.c:1689,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/test/quic_multistream_test.c:1689,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1691,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/quic_multistream_test.c:1696,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_multistream_test.c:1697,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1701,1
    - Dst: ossl_quic_tserver_shutdown
      Src: /src/openssl/test/quic_multistream_test.c:1707,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1707,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1718,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1722,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/quic_multistream_test.c:1722,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/quic_multistream_test.c:1727,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1728,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1730,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1733,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1736,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:1737,1
    - Dst: ossl_quic_tserver_is_term_any
      Src: /src/openssl/test/quic_multistream_test.c:1750,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1750,1
    - Dst: ossl_quic_tserver_ping
      Src: /src/openssl/test/quic_multistream_test.c:1751,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1751,1
    - Dst: S_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1752,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1755,1
    - Dst: ossl_quic_tserver_get_terminate_cause
      Src: /src/openssl/test/quic_multistream_test.c:1755,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1755,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1758,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1759,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1760,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1767,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1770,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1773,1
    - Dst: helper_set_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1773,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1783,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1786,1
    - Dst: helper_set_s_stream
      Src: /src/openssl/test/quic_multistream_test.c:1786,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1796,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quic_multistream_test.c:1799,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1800,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1801,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1810,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1813,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quic_multistream_test.c:1813,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1813,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1826,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_multistream_test.c:1829,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1830,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1832,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1843,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_multistream_test.c:1846,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1847,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/quic_multistream_test.c:1849,1
    - Dst: is_want
      Src: /src/openssl/test/quic_multistream_test.c:1852,1
    - Dst: C_SPIN_AGAIN
      Src: /src/openssl/test/quic_multistream_test.c:1853,1
    - Dst: TEST_uint64_t_ne
      Src: /src/openssl/test/quic_multistream_test.c:1863,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quic_multistream_test.c:1866,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:1866,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1869,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1879,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1884,1
    - Dst: SSL_stream_reset
      Src: /src/openssl/test/quic_multistream_test.c:1884,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:1887,1
    - Dst: SSL_stream_reset
      Src: /src/openssl/test/quic_multistream_test.c:1887,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quic_multistream_test.c:1900,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_multistream_test.c:1906,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:1907,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/quic_multistream_test.c:1911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1912,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/quic_multistream_test.c:1923,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1924,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/quic_multistream_test.c:1928,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:1930,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_multistream_test.c:1939,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1946,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_multistream_test.c:1946,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:1948,1
    - Dst: SSL_want
      Src: /src/openssl/test/quic_multistream_test.c:1948,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1955,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quic_multistream_test.c:1955,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/quic_multistream_test.c:1955,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:1962,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/quic_multistream_test.c:1962,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/quic_multistream_test.c:1962,1
    - Dst: ERR_pop
      Src: /src/openssl/test/quic_multistream_test.c:1968,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/quic_multistream_test.c:1973,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1980,1
    - Dst: qtest_fault_set_packet_plain_listener
      Src: /src/openssl/test/quic_multistream_test.c:1980,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:1991,1
    - Dst: qtest_fault_set_handshake_listener
      Src: /src/openssl/test/quic_multistream_test.c:1991,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2002,1
    - Dst: qtest_fault_set_datagram_listener
      Src: /src/openssl/test/quic_multistream_test.c:2002,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:2015,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:2022,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/test/quic_multistream_test.c:2024,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/test/quic_multistream_test.c:2024,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:2030,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2033,1
    - Dst: ossl_quic_set_write_buffer_size
      Src: /src/openssl/test/quic_multistream_test.c:2033,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2039,1
    - Dst: ossl_quic_tserver_new_ticket
      Src: /src/openssl/test/quic_multistream_test.c:2039,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:2039,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:2044,1
    - Dst: s_unlock
      Src: /src/openssl/test/quic_multistream_test.c:2050,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:2056,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:2060,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic_multistream_test.c:2065,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/quic_multistream_test.c:2070,1
    - Dst: ossl_quic_err_to_string
      Src: /src/openssl/test/quic_multistream_test.c:2071,1
    - Dst: ossl_quic_frame_type_to_string
      Src: /src/openssl/test/quic_multistream_test.c:2072,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:2079,1
    - Dst: ossl_quic_tserver_get_terminate_cause
      Src: /src/openssl/test/quic_multistream_test.c:2094,1
    - Dst: ossl_quic_err_to_string
      Src: /src/openssl/test/quic_multistream_test.c:2096,1
    - Dst: ossl_quic_frame_type_to_string
      Src: /src/openssl/test/quic_multistream_test.c:2097,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:2104,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:2116,1
    - Dst: helper_local_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:2117,1
    CyclomaticComplexity: 361
    EdgeCount: 361
    ICount: 728
    argCount: 4
    argNames:
    - h
    - script
    - script_name
    - thread_idx
    argTypes:
    - struct helper*
    - struct script_op*
    - char*
    - int
    assertStmts:
    - condition: (h->s == NULL)
      pos:
        line_end: 1132
        line_start: 1132
        source_file: /src/openssl/test/quic_multistream_test.c
    constantsTouched: []
    func_position:
      end: 2119
      start: 1044
    functionDepth: 7
    functionLinenumber: 1044
    functionLinenumberEnd: 2119
    functionName: run_script_worker
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_crypto_mutex_new
    - SSL_stream_reset
    - SSL_read_ex
    - TEST_size_t_gt
    - SSL_is_connection
    - ossl_crypto_mutex_lock
    - ossl_quic_tserver_stream_new
    - ossl_quic_tserver_ping
    - ossl_quic_detach_stream
    - ossl_crypto_condvar_signal
    - TEST_skip
    - S_SPIN_AGAIN
    - is_want
    - ossl_time_add
    - ossl_quic_tserver_read
    - OPENSSL_calloc
    - ERR_GET_REASON
    - ACQUIRE_S
    - TEST_uint64_t_ne
    - ossl_quic_set_write_buffer_size
    - OPENSSL_free
    - TEST_ptr
    - ossl_quic_conn_get_channel
    - SSL_get_error
    - ossl_quic_tserver_write
    - TEST_info
    - ossl_quic_tserver_shutdown
    - TEST_true
    - TEST_uint64_t_eq
    - OPENSSL_malloc
    - ERR_get_error
    - qtest_fault_set_packet_plain_listener
    - SSL_handle_events
    - ERR_peek_last_error
    - helper_local_init
    - struct script_op*::check_func
    - ossl_quic_tserver_has_read_ended
    - SSL_set_default_stream_mode
    - TEST_size_t_lt
    - qtest_fault_set_handshake_listener
    - SSL_accept_stream
    - ossl_quic_tserver_is_term_any
    - ossl_quic_err_to_string
    - TEST_false
    - helper_local_get_c_stream
    - SSL_new_stream
    - SSL_peek_ex
    - SSL_set_alpn_protos
    - ossl_ms2time
    - TEST_int_le
    - SSL_want
    - ossl_quic_frame_type_to_string
    - OSSL_sleep
    - check_consistent_want
    - strlen
    - assert
    - qtest_fault_set_datagram_listener
    - SSL_write_ex
    - helper_local_cleanup
    - ERR_print_errors_fp
    - ossl_time_now
    - ossl_quic_attach_stream
    - helper_set_s_stream
    - TEST_error
    - s_unlock
    - BIO_closesocket
    - SSL_free
    - SSL_write_ex2
    - ossl_quic_tserver_get_terminate_cause
    - SSL_set_incoming_stream_policy
    - ossl_quic_tserver_pop_incoming_stream
    - ossl_quic_tserver_new_ticket
    - TEST_size_t_eq
    - helper_local_set_c_stream
    - ossl_quic_tserver_conclude
    - TEST_ptr_null
    - TEST_int_ge
    - SSL_connect
    - ossl_crypto_mutex_unlock
    - ossl_quic_channel_get0_engine
    - ossl_quic_engine_set_inhibit_tick
    - ossl_time_zero
    - SSL_get_stream_id
    - ERR_GET_LIB
    - C_SPIN_AGAIN
    - ossl_quic_tserver_tick
    - SSL_stream_conclude
    - TEST_size_t_le
    - ERR_pop
    - helper_get_s_stream
    - ossl_crypto_thread_native_start
    - TEST_int_eq
    - ossl_time_compare
    - OSSL_NELEM
    - TEST_mem_eq
    - SSL_shutdown_ex
    - SSL_get_conn_close_info
    linkageType: ''
    returnType: int
    signature: "int run_script_worker(struct helper *h, const struct script_op *script,\n
      \                            const char *script_name,\n                             int
      thread_idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1073
    functionName: COMMON_SPIN_AGAIN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMMON_SPIN_AGAIN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1079
    functionName: S_SPIN_AGAIN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_SPIN_AGAIN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1087
    functionName: C_SPIN_AGAIN
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_SPIN_AGAIN()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2129,1
    - Dst: helper_init
      Src: /src/openssl/test/quic_multistream_test.c:2129,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2133,1
    - Dst: run_script_worker
      Src: /src/openssl/test/quic_multistream_test.c:2133,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2137,1
    - Dst: join_threads
      Src: /src/openssl/test/quic_multistream_test.c:2137,1
    - Dst: helper_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:2143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - script
    - script_name
    - free_order
    - blocking
    argTypes:
    - struct script_op*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2121
    functionDepth: 8
    functionLinenumber: 2121
    functionLinenumberEnd: 2145
    functionName: run_script
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 4
    functionsReached:
    - helper_cleanup
    - run_script_worker
    - join_threads
    - TEST_true
    - helper_init
    linkageType: ''
    returnType: int
    signature: "int run_script(const struct script_op *script,\n                      const
      char *script_name,\n                      int free_order,\n                      int
      blocking)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_script_worker
      Src: /src/openssl/test/quic_multistream_test.c:2153,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:2157,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:2160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2148
    functionDepth: 8
    functionLinenumber: 2148
    functionLinenumberEnd: 2162
    functionName: run_script_child_thread
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - run_script_worker
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: CRYPTO_THREAD_RETVAL
    signature: CRYPTO_THREAD_RETVAL run_script_child_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:2766,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/test/quic_multistream_test.c:2768,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:2769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h
    - counter
    argTypes:
    - struct helper*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2772
    functionName: script_20_trigger
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_broadcast
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: int
    signature: int script_20_trigger(struct helper *h, volatile uint64_t *counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/quic_multistream_test.c:2779,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/test/quic_multistream_test.c:2785,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/quic_multistream_test.c:2788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - h
    - counter
    - threshold
    argTypes:
    - struct helper*
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2774
    functionDepth: 0
    functionLinenumber: 2774
    functionLinenumberEnd: 2791
    functionName: script_20_wait
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_wait
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: int
    signature: int script_20_wait(struct helper *h, volatile uint64_t *counter, uint64_t
      threshold)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: script_20_trigger
      Src: /src/openssl/test/quic_multistream_test.c:2795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2796
      start: 2793
    functionDepth: 1
    functionLinenumber: 2793
    functionLinenumberEnd: 2796
    functionName: script_20_trigger1
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - script_20_trigger
    linkageType: ''
    returnType: int
    signature: int script_20_trigger1(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: script_20_wait
      Src: /src/openssl/test/quic_multistream_test.c:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2798
    functionDepth: 1
    functionLinenumber: 2798
    functionLinenumberEnd: 2801
    functionName: script_20_wait1
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - script_20_wait
    linkageType: ''
    returnType: int
    signature: int script_20_wait1(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: script_20_trigger
      Src: /src/openssl/test/quic_multistream_test.c:2805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: script_20_trigger2
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - script_20_trigger
    linkageType: ''
    returnType: int
    signature: int script_20_trigger2(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: script_20_wait
      Src: /src/openssl/test/quic_multistream_test.c:2810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2808
    functionDepth: 1
    functionLinenumber: 2808
    functionLinenumberEnd: 2811
    functionName: script_20_wait2
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - script_20_wait
    linkageType: ''
    returnType: int
    signature: int script_20_wait2(struct helper *h, struct helper_local *hl)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2870,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:2870,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2874,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2874,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2884,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/test/quic_multistream_test.c:2884,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2896,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2896,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2905,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2905,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2907,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2907,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2916,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2916,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2918,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2918,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2920,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2920,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2929,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2929,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2933,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:2933,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2943,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2943,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2947,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:2947,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2951,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:2951,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2955,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:2955,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2959,1
    - Dst: WPACKET_memset
      Src: /src/openssl/test/quic_multistream_test.c:2959,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:2965,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:2965,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:2968,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:2974,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:2976,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 88
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2859
    functionDepth: 4
    functionLinenumber: 2859
    functionLinenumberEnd: 2978
    functionName: script_21_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_put_bytes_u8
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_put_bytes_u64
    - WPACKET_get_total_written
    - WPACKET_memset
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_21_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3007
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3007
    functionName: script_22_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int script_22_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3039,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3039,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3043,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3043,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3044,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3044,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3047,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3047,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3050,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3056,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3058,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3028
    functionDepth: 4
    functionLinenumber: 3028
    functionLinenumberEnd: 3060
    functionName: script_23_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_23_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3092,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3092,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3096,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3096,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3097,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3097,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3100,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3100,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3103,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3109,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3111,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3113
      start: 3081
    functionDepth: 4
    functionLinenumber: 3081
    functionLinenumberEnd: 3113
    functionName: script_24_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_24_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3202,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3202,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3206,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3206,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3207,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3207,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3209,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3209,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3211,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3211,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3214,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3214,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3217,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3223,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3225,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3191
    functionDepth: 4
    functionLinenumber: 3191
    functionLinenumberEnd: 3227
    functionName: script_28_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_28_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3360,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3360,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3364,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3364,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3365,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3365,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3367,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3367,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3368,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3368,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3372,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3372,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3375,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3375,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3378,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3384,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3386,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3388
      start: 3325
    functionDepth: 4
    functionLinenumber: 3325
    functionLinenumberEnd: 3388
    functionName: script_32_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_put_bytes_u8
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_32_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:3549,1
    - Dst: ossl_quic_channel_get_diag_local_cid
      Src: /src/openssl/test/quic_multistream_test.c:3572,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3590,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3590,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3594,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3594,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3595,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3595,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3596,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3596,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3597,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3597,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:3600,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3601,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3601,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3605,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3605,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3609,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3609,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3612,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3612,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3615,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3621,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3623,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3625
      start: 3540
    functionDepth: 4
    functionLinenumber: 3540
    functionLinenumberEnd: 3625
    functionName: script_39_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_diag_local_cid
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_put_bytes_u8
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - OSSL_NELEM
    - TEST_true
    - ossl_quic_tserver_get_channel
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_39_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3700,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3700,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3704,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3704,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3705,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/test/quic_multistream_test.c:3705,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3708,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3708,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:3709,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3712,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3719,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3721,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3723
      start: 3689
    functionDepth: 4
    functionLinenumber: 3689
    functionLinenumberEnd: 3723
    functionName: script_41_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_put_bytes_u64
    - WPACKET_get_total_written
    - TEST_true
    - TEST_size_t_eq
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_41_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3738,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_multistream_test.c:3738,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3743,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_multistream_test.c:3743,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3752,1
    - Dst: ossl_quic_wire_decode_frame_path_response
      Src: /src/openssl/test/quic_multistream_test.c:3752,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:3753,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3725
    functionDepth: 1
    functionLinenumber: 3725
    functionLinenumberEnd: 3759
    functionName: script_41_trace
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_true
    - ossl_quic_wire_peek_frame_header
    - TEST_uint64_t_eq
    - ossl_quic_wire_decode_frame_path_response
    linkageType: ''
    returnType: void
    signature: "void script_41_trace(int write_p, int version, int content_type,\n
      \                           const void *buf, size_t len, SSL *ssl, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_set_msg_callback
      Src: /src/openssl/test/quic_multistream_test.c:3763,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:3763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3765
      start: 3761
    functionDepth: 1
    functionLinenumber: 3761
    functionLinenumberEnd: 3765
    functionName: script_41_setup
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_set_msg_callback
    - ACQUIRE_S
    linkageType: ''
    returnType: int
    signature: int script_41_setup(struct helper *h, struct helper_local *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_gt
      Src: /src/openssl/test/quic_multistream_test.c:3770,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:3774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3778
      start: 3767
    functionDepth: 1
    functionLinenumber: 3767
    functionLinenumberEnd: 3778
    functionName: script_41_check
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_gt
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int script_41_check(struct helper *h, struct helper_local *hl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3816,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3816,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3820,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3820,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3821,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3821,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3822,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:3822,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3823,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:3823,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3826,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3826,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3829,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3835,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3837,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3839
      start: 3803
    functionDepth: 4
    functionLinenumber: 3803
    functionLinenumberEnd: 3839
    functionName: script_42_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_put_bytes_u8
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_42_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3894,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3894,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3898,1
    - Dst: ossl_quic_wire_encode_padding
      Src: /src/openssl/test/quic_multistream_test.c:3898,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3901,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:3901,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:3904,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:3910,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:3912,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3914
      start: 3883
    functionDepth: 4
    functionLinenumber: 3883
    functionLinenumberEnd: 3914
    functionName: script_44_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - ossl_quic_wire_encode_padding
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_44_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:3936,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:3936,1
    - Dst: ossl_quic_channel_get_diag_num_rx_ack
      Src: /src/openssl/test/quic_multistream_test.c:3938,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3940,1
    - Dst: ossl_quic_tserver_ping
      Src: /src/openssl/test/quic_multistream_test.c:3940,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:3940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3934
    functionDepth: 1
    functionLinenumber: 3934
    functionLinenumberEnd: 3944
    functionName: force_ping
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_ping
    - ACQUIRE_S
    - ossl_quic_channel_get_diag_num_rx_ack
    - TEST_true
    - ossl_quic_tserver_get_channel
    linkageType: ''
    returnType: int
    signature: int force_ping(struct helper *h, struct helper_local *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:3948,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:3948,1
    - Dst: ossl_quic_channel_get_diag_num_rx_ack
      Src: /src/openssl/test/quic_multistream_test.c:3951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3959
      start: 3946
    functionDepth: 1
    functionLinenumber: 3946
    functionLinenumberEnd: 3959
    functionName: wait_incoming_acks_increased
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_diag_num_rx_ack
    - ossl_quic_tserver_get_channel
    - ACQUIRE_S
    linkageType: ''
    returnType: int
    signature: int wait_incoming_acks_increased(struct helper *h, struct helper_local
      *hl)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:3997,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:3997,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4043,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4043,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4044,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4044,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4045,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4045,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4046,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4046,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4047,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4047,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4051,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4051,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4052,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4052,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4056,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4056,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4057,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4057,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4058,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4058,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4061,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4061,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4064,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4070,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4072,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 3983
    functionDepth: 4
    functionLinenumber: 3983
    functionLinenumberEnd: 4074
    functionName: script_46_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_46_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4208,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4208,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4212,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4212,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4216,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4216,1
    - Dst: C_BIDI_ID
      Src: /src/openssl/test/quic_multistream_test.c:4216,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4219,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4219,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4222,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4222,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4225,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4231,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4233,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4235
      start: 4194
    functionDepth: 4
    functionLinenumber: 4194
    functionLinenumberEnd: 4235
    functionName: script_52_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - C_BIDI_ID
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_52_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:4311,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_multistream_test.c:4311,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4314,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4314,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4317,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4317,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4318,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4318,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4319,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4319,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4323,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:4323,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4326,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4326,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4329,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4335,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4337,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:4338,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4340
      start: 4282
    functionDepth: 4
    functionLinenumber: 4282
    functionLinenumberEnd: 4340
    functionName: script_53_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_put_bytes_u8
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - OPENSSL_malloc
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_53_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h
    - buf
    - buf_len
    argTypes:
    - struct helper*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4369
      start: 4360
    functionDepth: 0
    functionLinenumber: 4360
    functionLinenumberEnd: 4369
    functionName: script_54_inject_handshake
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int script_54_inject_handshake(struct helper *h,\n                                      unsigned
      char *buf, size_t buf_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4467,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4467,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4472,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4472,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4476,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:4476,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4477,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/quic_multistream_test.c:4477,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4481,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4481,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4484,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4490,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4492,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4494
      start: 4456
    functionDepth: 4
    functionLinenumber: 4456
    functionLinenumberEnd: 4494
    functionName: script_58_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_put_bytes_u8
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_58_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/quic_multistream_test.c:4540,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:4541,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:4542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4544
      start: 4538
    functionDepth: 0
    functionLinenumber: 4538
    functionLinenumberEnd: 4544
    functionName: init_reason
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OSSL_NELEM
    - memset
    linkageType: ''
    returnType: int
    signature: int init_reason(struct helper *h, struct helper_local *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_get_terminate_cause
      Src: /src/openssl/test/quic_multistream_test.c:4548,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:4548,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:4555,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_multistream_test.c:4556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4561
      start: 4546
    functionDepth: 1
    functionLinenumber: 4546
    functionLinenumberEnd: 4561
    functionName: check_shutdown_reason
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - ACQUIRE_S
    - TEST_size_t_ge
    - ossl_quic_tserver_get_terminate_cause
    linkageType: ''
    returnType: int
    signature: int check_shutdown_reason(struct helper *h, struct helper_local *hl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4590,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4590,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4594,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4594,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4595,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4595,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4597,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4597,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4599,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4599,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4602,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4602,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4605,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4611,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4613,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4615
      start: 4579
    functionDepth: 4
    functionLinenumber: 4579
    functionLinenumberEnd: 4615
    functionName: script_61_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_61_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4715,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4715,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4719,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4719,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4720,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4720,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4721,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4721,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4724,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4724,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4727,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4733,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4735,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4737
      start: 4702
    functionDepth: 4
    functionLinenumber: 4702
    functionLinenumberEnd: 4737
    functionName: script_65_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_65_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4770,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:4770,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4774,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4774,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4778,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4778,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4782,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/quic_multistream_test.c:4782,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4785,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:4785,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:4788,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:4794,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:4796,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4798
      start: 4759
    functionDepth: 4
    functionLinenumber: 4759
    functionLinenumberEnd: 4798
    functionName: script_66_inject_plain
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - WPACKET_get_total_written
    - TEST_true
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_66_inject_plain(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                 unsigned char *buf, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4886,1
    - Dst: qtest_fault_resize_message
      Src: /src/openssl/test/quic_multistream_test.c:4886,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:4890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - h
    - msg
    - msglen
    argTypes:
    - struct helper*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4893
      start: 4844
    functionDepth: 1
    functionLinenumber: 4844
    functionLinenumberEnd: 4893
    functionName: script_68_inject_handshake
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - qtest_fault_resize_message
    - memcpy
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int script_68_inject_handshake(struct helper *h, unsigned char *msg,\n
      \                                     size_t msglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:4941,1
    - Dst: ossl_quic_tserver_set_max_early_data
      Src: /src/openssl/test/quic_multistream_test.c:4941,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:4941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4946
      start: 4938
    functionDepth: 1
    functionLinenumber: 4938
    functionLinenumberEnd: 4946
    functionName: set_max_early_data
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 2
    functionsReached:
    - ossl_quic_tserver_set_max_early_data
    - ACQUIRE_S
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int set_max_early_data(struct helper *h, struct helper_local *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:4990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4994
      start: 4988
    functionDepth: 1
    functionLinenumber: 4988
    functionLinenumberEnd: 4994
    functionName: script_72_check
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: int
    signature: int script_72_check(struct helper *h, struct helper_local *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/quic_multistream_test.c:5053,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5055,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/test/quic_multistream_test.c:5055,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5058,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/test/quic_multistream_test.c:5058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wpkt
    - version
    argTypes:
    - WPACKET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5062
      start: 5044
    functionDepth: 1
    functionLinenumber: 5044
    functionLinenumberEnd: 5062
    functionName: generate_version_neg
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u32
    - ossl_quic_wire_encode_pkt_hdr
    - memset
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int generate_version_neg(WPACKET *wpkt, uint32_t version)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5083,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quic_multistream_test.c:5083,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5086,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/quic_multistream_test.c:5086,1
    - Dst: generate_version_neg
      Src: /src/openssl/test/quic_multistream_test.c:5091,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5093,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:5093,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5096,1
    - Dst: qtest_fault_resize_datagram
      Src: /src/openssl/test/quic_multistream_test.c:5096,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:5099,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:5105,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quic_multistream_test.c:5107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - h
    - msg
    - stride
    argTypes:
    - struct helper*
    - BIO_MSG*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5064
    functionDepth: 5
    functionLinenumber: 5064
    functionLinenumberEnd: 5109
    functionName: server_gen_version_neg
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - qtest_fault_resize_datagram
    - BUF_MEM_free
    - generate_version_neg
    - BUF_MEM_new
    - memcpy
    - WPACKET_get_total_written
    - TEST_true
    - TEST_ptr
    - WPACKET_init
    linkageType: ''
    returnType: int
    signature: int server_gen_version_neg(struct helper *h, BIO_MSG *msg, size_t stride)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/quic_multistream_test.c:5129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - hdrin
    - iovecin
    - numin
    - hdrout
    - iovecout
    - numout
    - arg
    argTypes:
    - QUIC_PKT_HDR*
    - OSSL_QTX_IOVEC*
    - size_t
    - QUIC_PKT_HDR**
    - OSSL_QTX_IOVEC**
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5141
      start: 5122
    functionDepth: 0
    functionLinenumber: 5122
    functionLinenumberEnd: 5141
    functionName: script_74_alter_version
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int script_74_alter_version(const QUIC_PKT_HDR *hdrin,\n                                   const
      OSSL_QTX_IOVEC *iovecin, size_t numin,\n                                   QUIC_PKT_HDR
      **hdrout,\n                                   const OSSL_QTX_IOVEC **iovecout,\n
      \                                  size_t *numout,\n                                   void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_multistream_test.c:5145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5146
      start: 5143
    functionDepth: 0
    functionLinenumber: 5143
    functionLinenumberEnd: 5146
    functionName: script_74_finish_mutation
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void script_74_finish_mutation(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:5157,1
    - Dst: ossl_quic_channel_set_mutator
      Src: /src/openssl/test/quic_multistream_test.c:5160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5165
      start: 5154
    functionDepth: 1
    functionLinenumber: 5154
    functionLinenumberEnd: 5165
    functionName: script_74_arm_packet_mutator
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_conn_get_channel
    - ossl_quic_channel_set_mutator
    linkageType: ''
    returnType: int
    signature: "int script_74_arm_packet_mutator(struct helper *h,\n                                        struct
      helper_local *hl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:5198,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/quic_multistream_test.c:5198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5205
      start: 5196
    functionDepth: 1
    functionLinenumber: 5196
    functionLinenumberEnd: 5205
    functionName: script_76_check
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - SSL_shutdown_ex
    linkageType: ''
    returnType: int
    signature: int script_76_check(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5256
      start: 5252
    functionDepth: 0
    functionLinenumber: 5252
    functionLinenumberEnd: 5256
    functionName: on_new_session
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int on_new_session(SSL *s, SSL_SESSION *sess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/quic_multistream_test.c:5260,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/quic_multistream_test.c:5261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5263
      start: 5258
    functionDepth: 1
    functionLinenumber: 5258
    functionLinenumberEnd: 5263
    functionName: setup_session
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_sess_set_new_cb
    linkageType: ''
    returnType: int
    signature: int setup_session(struct helper *h, struct helper_local *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5269,1
    - Dst: ossl_quic_tserver_new_ticket
      Src: /src/openssl/test/quic_multistream_test.c:5269,1
    - Dst: ACQUIRE_S
      Src: /src/openssl/test/quic_multistream_test.c:5269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5273
      start: 5265
    functionDepth: 1
    functionLinenumber: 5265
    functionLinenumberEnd: 5273
    functionName: trigger_late_session_ticket
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_new_ticket
    - ACQUIRE_S
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int trigger_late_session_ticket(struct helper *h, struct helper_local
      *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_multistream_test.c:5277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5281
      start: 5275
    functionDepth: 1
    functionLinenumber: 5275
    functionLinenumberEnd: 5281
    functionName: check_got_session_ticket
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    linkageType: ''
    returnType: int
    signature: int check_got_session_ticket(struct helper *h, struct helper_local
      *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/quic_multistream_test.c:5352,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/quic_multistream_test.c:5354,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:5356,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:5359,1
    - Dst: SSL_inject_net_dgram
      Src: /src/openssl/test/quic_multistream_test.c:5359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5364
      start: 5342
    functionDepth: 8
    functionLinenumber: 5342
    functionLinenumberEnd: 5364
    functionName: script_80_send_stateless_reset
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TEST_int_eq
    - RAND_bytes
    - fprintf
    - SSL_inject_net_dgram
    linkageType: ''
    returnType: int
    signature: "int script_80_send_stateless_reset(struct helper *h, QUIC_PKT_HDR
      *hdr,\n                                          unsigned char *buf, size_t
      len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_get_channel
      Src: /src/openssl/test/quic_multistream_test.c:5375,1
    - Dst: ACQUIRE_S_NOHL
      Src: /src/openssl/test/quic_multistream_test.c:5375,1
    - Dst: fprintf
      Src: /src/openssl/test/quic_multistream_test.c:5382,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5383,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/quic_multistream_test.c:5383,1
    - Dst: ossl_quic_channel_get_diag_local_cid
      Src: /src/openssl/test/quic_multistream_test.c:5387,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_multistream_test.c:5392,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5395,1
    - Dst: ossl_quic_wire_encode_frame_new_conn_id
      Src: /src/openssl/test/quic_multistream_test.c:5395,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5398,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_multistream_test.c:5398,1
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_multistream_test.c:5401,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_multistream_test.c:5407,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/quic_multistream_test.c:5409,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5412
      start: 5366
    functionDepth: 4
    functionLinenumber: 5366
    functionLinenumberEnd: 5412
    functionName: script_80_gen_new_conn_id
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_diag_local_cid
    - WPACKET_finish
    - WPACKET_cleanup
    - qtest_fault_prepend_frame
    - ACQUIRE_S_NOHL
    - memcpy
    - WPACKET_get_total_written
    - ossl_quic_wire_encode_frame_new_conn_id
    - fprintf
    - TEST_true
    - ossl_quic_tserver_get_channel
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int script_80_gen_new_conn_id(struct helper *h, QUIC_PKT_HDR *hdr,\n
      \                                    unsigned char *buf, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: script_80_send_stateless_reset
      Src: /src/openssl/test/quic_multistream_test.c:5418,1
    - Dst: script_80_gen_new_conn_id
      Src: /src/openssl/test/quic_multistream_test.c:5420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - h
    - hdr
    - buf
    - len
    argTypes:
    - struct helper*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5423
      start: 5414
    functionDepth: 9
    functionLinenumber: 5414
    functionLinenumberEnd: 5423
    functionName: script_80_inject_pkt
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - script_80_send_stateless_reset
    - script_80_gen_new_conn_id
    linkageType: ''
    returnType: int
    signature: "int script_80_inject_pkt(struct helper *h, QUIC_PKT_HDR *hdr,\n                                unsigned
      char *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:5448,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5448,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5454,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5454,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5459,1
    - Dst: SSL_get_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5459,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5468
      start: 5443
    functionDepth: 1
    functionLinenumber: 5443
    functionLinenumberEnd: 5468
    functionName: modify_idle_timeout
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - TEST_false
    - SSL_set_feature_request_uint
    - SSL_get_feature_request_uint
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int modify_idle_timeout(struct helper *h, struct helper_local *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5474,1
    - Dst: SSL_get_value_uint
      Src: /src/openssl/test/quic_multistream_test.c:5474,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5483
      start: 5470
    functionDepth: 1
    functionLinenumber: 5470
    functionLinenumberEnd: 5483
    functionName: check_idle_timeout
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    - SSL_get_value_uint
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int check_idle_timeout(struct helper *h, struct helper_local *hl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5520,1
    - Dst: SSL_get_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5520,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5525,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_multistream_test.c:5528,1
    - Dst: SSL_set_feature_request_uint
      Src: /src/openssl/test/quic_multistream_test.c:5528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5534
      start: 5516
    functionDepth: 1
    functionLinenumber: 5516
    functionLinenumberEnd: 5534
    functionName: cannot_change_idle_timeout
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - TEST_false
    - SSL_set_feature_request_uint
    - SSL_get_feature_request_uint
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int cannot_change_idle_timeout(struct helper *h, struct helper_local
      *hl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5558,1
    - Dst: SSL_get_quic_stream_bidi_local_avail
      Src: /src/openssl/test/quic_multistream_test.c:5558,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5562,1
    - Dst: SSL_get_quic_stream_bidi_remote_avail
      Src: /src/openssl/test/quic_multistream_test.c:5562,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5566,1
    - Dst: SSL_get_quic_stream_uni_local_avail
      Src: /src/openssl/test/quic_multistream_test.c:5566,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5570,1
    - Dst: SSL_get_quic_stream_uni_remote_avail
      Src: /src/openssl/test/quic_multistream_test.c:5570,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5577,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5581
      start: 5552
    functionDepth: 1
    functionLinenumber: 5552
    functionLinenumberEnd: 5581
    functionName: check_avail_streams
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_get_quic_stream_bidi_local_avail
    - SSL_get_quic_stream_uni_remote_avail
    - TEST_uint64_t_eq
    - SSL_get_quic_stream_uni_local_avail
    - SSL_get_quic_stream_bidi_remote_avail
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int check_avail_streams(struct helper *h, struct helper_local *hl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5591,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5591,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5594,1
    - Dst: SSL_get_stream_write_buf_size
      Src: /src/openssl/test/quic_multistream_test.c:5594,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5595,1
    - Dst: SSL_get_stream_write_buf_used
      Src: /src/openssl/test/quic_multistream_test.c:5595,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_multistream_test.c:5596,1
    - Dst: SSL_get_stream_write_buf_avail
      Src: /src/openssl/test/quic_multistream_test.c:5596,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:5597,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/quic_multistream_test.c:5598,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5599,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5606
      start: 5586
    functionDepth: 3
    functionLinenumber: 5586
    functionLinenumberEnd: 5606
    functionName: check_write_buf_stat
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_get_stream_write_buf_size
    - SSL_get_stream_write_buf_used
    - TEST_uint64_t_eq
    - helper_local_get_c_stream
    - SSL_get_stream_write_buf_avail
    - TEST_true
    - TEST_ptr
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: int
    signature: int check_write_buf_stat(struct helper *h, struct helper_local *hl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5682,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5682,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5683,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5683,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5684,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5684,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5685,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5685,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5688,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5693,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5698,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5703,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5708,1
    - Dst: SSL_poll
      Src: /src/openssl/test/quic_multistream_test.c:5714,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5714,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:5742,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5743,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5746,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5747,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:5748,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5754
      start: 5672
    functionDepth: 3
    functionLinenumber: 5672
    functionLinenumberEnd: 5754
    functionName: script_85_poll
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_as_poll_descriptor
    - TEST_int_eq
    - helper_local_get_c_stream
    - SSL_poll
    - OSSL_NELEM
    - TEST_uint64_t_eq
    - TEST_size_t_eq
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused script_85_poll(struct helper *h, struct helper_local *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _revents_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5827
      start: 5813
    functionDepth: 0
    functionLinenumber: 5813
    functionLinenumberEnd: 5827
    functionName: POLL_PRINTA
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLL_PRINTA(_revents_)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:5839,1
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:5839,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5842,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5847,1
    - Dst: SSL_poll
      Src: /src/openssl/test/quic_multistream_test.c:5853,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5853,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:5873,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5882,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5887,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:5888,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/test/quic_multistream_test.c:5889,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/test/quic_multistream_test.c:5890,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:5891,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_multistream_test.c:5897,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5901
      start: 5829
    functionDepth: 3
    functionLinenumber: 5829
    functionLinenumberEnd: 5901
    functionName: script_88_poll
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_as_poll_descriptor
    - TEST_int_eq
    - helper_local_get_c_stream
    - TEST_info
    - SSL_poll
    - OSSL_NELEM
    - TEST_error
    - TEST_uint64_t_eq
    - TEST_size_t_eq
    - TEST_ptr
    - POLL_PRINTA
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused script_88_poll(struct helper *h, struct helper_local *hl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic_multistream_test.c:5914,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_multistream_test.c:5918,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:5918,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_multistream_test.c:5919,1
    - Dst: SSL_poll
      Src: /src/openssl/test/quic_multistream_test.c:5921,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:5921,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_multistream_test.c:5925,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/quic_multistream_test.c:5929,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:5931,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/test/quic_multistream_test.c:5931,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quic_multistream_test.c:5934,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_multistream_test.c:5938,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_multistream_test.c:5938,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:5939,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5945
      start: 5903
    functionDepth: 2
    functionLinenumber: 5903
    functionLinenumberEnd: 5945
    functionName: script_88_poll_conly
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_as_poll_descriptor
    - TEST_int_eq
    - TEST_info
    - ossl_time_compare
    - OSSL_sleep
    - SSL_poll
    - OSSL_NELEM
    - ossl_time_now
    - SSL_shutdown
    - POLL_PRINTA
    - ossl_time_add
    - ossl_ticks2time
    - TEST_error
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused script_88_poll_conly(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_event_handling_mode
      Src: /src/openssl/test/quic_multistream_test.c:5999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6000
      start: 5996
    functionDepth: 0
    functionLinenumber: 5996
    functionLinenumberEnd: 6000
    functionName: set_event_handling_mode_conn
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_event_handling_mode
    linkageType: ''
    returnType: int
    signature: int set_event_handling_mode_conn(struct helper *h, struct helper_local
      *hl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6006
      start: 6002
    functionDepth: 0
    functionLinenumber: 6002
    functionLinenumberEnd: 6006
    functionName: reenable_test_event_handling
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reenable_test_event_handling(struct helper *h, struct helper_local
      *hl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: helper_local_get_c_stream
      Src: /src/openssl/test/quic_multistream_test.c:6010,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:6012,1
    - Dst: SSL_set_event_handling_mode
      Src: /src/openssl/test/quic_multistream_test.c:6015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - hl
    argTypes:
    - struct helper*
    - struct helper_local*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6016
      start: 6008
    functionDepth: 3
    functionLinenumber: 6008
    functionLinenumberEnd: 6016
    functionName: set_event_handling_mode_stream
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_set_event_handling_mode
    - helper_local_get_c_stream
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused set_event_handling_mode_stream(struct helper *h, struct
      helper_local *hl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/quic_multistream_test.c:6209,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic_multistream_test.c:6214,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_multistream_test.c:6216,1
    - Dst: run_script
      Src: /src/openssl/test/quic_multistream_test.c:6219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6220
      start: 6191
    functionDepth: 1
    functionLinenumber: 6191
    functionLinenumberEnd: 6220
    functionName: test_script
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - run_script
    - TEST_skip
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_script(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:6292,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic_multistream_test.c:6300,1
    - Dst: run_script
      Src: /src/openssl/test/quic_multistream_test.c:6303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6304
      start: 6286
    functionDepth: 0
    functionLinenumber: 6286
    functionLinenumberEnd: 6304
    functionName: test_dyn_frame_types
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - OSSL_NELEM
    - run_script
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused test_dyn_frame_types(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/quic_multistream_test.c:6311,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/quic_multistream_test.c:6314,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_multistream_test.c:6315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:6319,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quic_multistream_test.c:6319,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_multistream_test.c:6320,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quic_multistream_test.c:6320,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_multistream_test.c:6323,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:6323,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_multistream_test.c:6324,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_multistream_test.c:6324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6326
      start: 6308
    functionDepth: 1
    functionLinenumber: 6308
    functionLinenumberEnd: 6326
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_multistream_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - OSSL_NELEM
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read_ex
      Src: /src/openssl/test/bio_core_test.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - bytes_read
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: tst_bio_core_read_ex
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_read_ex
    linkageType: ''
    returnType: int
    signature: "int tst_bio_core_read_ex(OSSL_CORE_BIO *bio, char *data, size_t data_len,\n
      \                               size_t *bytes_read)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write_ex
      Src: /src/openssl/test/bio_core_test.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - written
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: tst_bio_core_write_ex
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_write_ex
    linkageType: ''
    returnType: int
    signature: "int tst_bio_core_write_ex(OSSL_CORE_BIO *bio, const char *data,\n
      \                                size_t data_len, size_t *written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/test/bio_core_test.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: tst_bio_core_gets
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_gets
    linkageType: ''
    returnType: int
    signature: int tst_bio_core_gets(OSSL_CORE_BIO *bio, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_core_test.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: tst_bio_core_puts
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: int
    signature: int tst_bio_core_puts(OSSL_CORE_BIO *bio, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/openssl/test/bio_core_test.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - OSSL_CORE_BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: tst_bio_core_ctrl
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    linkageType: ''
    returnType: long
    signature: long tst_bio_core_ctrl(OSSL_CORE_BIO *bio, int cmd, long num, void
      *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_up_ref
      Src: /src/openssl/test/bio_core_test.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tst_bio_core_up_ref
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_up_ref
    linkageType: ''
    returnType: int
    signature: int tst_bio_core_up_ref(OSSL_CORE_BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/test/bio_core_test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tst_bio_core_free
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int tst_bio_core_free(OSSL_CORE_BIO *bio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new_from_dispatch
      Src: /src/openssl/test/bio_core_test.c:70,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_core_test.c:76,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_core_test.c:76,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_core_test.c:77,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_core_test.c:78,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/bio_core_test.c:83,1
    - Dst: BIO_new_from_core_bio
      Src: /src/openssl/test/bio_core_test.c:83,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_core_test.c:84,1
    - Dst: BIO_new_from_core_bio
      Src: /src/openssl/test/bio_core_test.c:84,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_core_test.c:87,1
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_core_test.c:87,1
    - Dst: TEST_false
      Src: /src/openssl/test/bio_core_test.c:89,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_core_test.c:89,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_core_test.c:90,1
    - Dst: BIO_gets
      Src: /src/openssl/test/bio_core_test.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_core_test.c:91,1
    - Dst: BIO_eof
      Src: /src/openssl/test/bio_core_test.c:91,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bio_core_test.c:92,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_core_test.c:96,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_core_test.c:96,1
    - Dst: strlen
      Src: /src/openssl/test/bio_core_test.c:96,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_core_test.c:97,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_core_test.c:97,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/bio_core_test.c:98,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_core_test.c:103,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_core_test.c:104,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_core_test.c:105,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/bio_core_test.c:106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 108
    functionName: test_bio_core
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_new
    - TEST_ptr_null
    - OSSL_LIB_CTX_free
    - BIO_gets
    - BIO_puts
    - BIO_new_from_core_bio
    - TEST_false
    - TEST_str_eq
    - BIO_eof
    - BIO_free
    - BIO_s_mem
    - OSSL_LIB_CTX_new_from_dispatch
    - TEST_true
    - TEST_ptr
    - strlen
    - BIO_read
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_core(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/bio_core_test.c:112,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_core_test.c:113,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_core_test.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_core_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_rcidm_test.c:42,1
    - Dst: ossl_quic_rcidm_new
      Src: /src/openssl/test/quic_rcidm_test.c:42,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:47,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:47,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:48,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:48,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:49,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/test/quic_rcidm_test.c:49,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:51,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_rcidm_test.c:51,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:52,1
    - Dst: ossl_quic_rcidm_get_num_active
      Src: /src/openssl/test/quic_rcidm_test.c:52,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:55,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/test/quic_rcidm_test.c:55,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:56,1
    - Dst: ossl_quic_rcidm_get_num_active
      Src: /src/openssl/test/quic_rcidm_test.c:56,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:61,1
    - Dst: ossl_quic_rcidm_add_from_server_retry
      Src: /src/openssl/test/quic_rcidm_test.c:61,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:62,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:62,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:63,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:64,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/test/quic_rcidm_test.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:66,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_rcidm_test.c:66,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:67,1
    - Dst: ossl_quic_rcidm_get_num_active
      Src: /src/openssl/test/quic_rcidm_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:71,1
    - Dst: ossl_quic_rcidm_add_from_initial
      Src: /src/openssl/test/quic_rcidm_test.c:71,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:73,1
    - Dst: ossl_quic_rcidm_get_num_active
      Src: /src/openssl/test/quic_rcidm_test.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:74,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:74,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:75,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:76,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/test/quic_rcidm_test.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:77,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_rcidm_test.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:79,1
    - Dst: ossl_quic_rcidm_add_from_ncid
      Src: /src/openssl/test/quic_rcidm_test.c:79,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:80,1
    - Dst: ossl_quic_rcidm_get_num_active
      Src: /src/openssl/test/quic_rcidm_test.c:80,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:82,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:82,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:83,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/test/quic_rcidm_test.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:84,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_rcidm_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:86,1
    - Dst: ossl_quic_rcidm_add_from_ncid
      Src: /src/openssl/test/quic_rcidm_test.c:86,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:87,1
    - Dst: ossl_quic_rcidm_get_num_active
      Src: /src/openssl/test/quic_rcidm_test.c:87,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:88,1
    - Dst: ossl_quic_rcidm_get_num_retiring
      Src: /src/openssl/test/quic_rcidm_test.c:88,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:89,1
    - Dst: ossl_quic_rcidm_pop_retire_seq_num
      Src: /src/openssl/test/quic_rcidm_test.c:89,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:91,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:91,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:92,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/test/quic_rcidm_test.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:93,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_rcidm_test.c:93,1
    - Dst: ossl_quic_rcidm_on_handshake_complete
      Src: /src/openssl/test/quic_rcidm_test.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:98,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:98,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:99,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:99,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:100,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/test/quic_rcidm_test.c:100,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:101,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_rcidm_test.c:101,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:102,1
    - Dst: ossl_quic_rcidm_get_num_retiring
      Src: /src/openssl/test/quic_rcidm_test.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:103,1
    - Dst: ossl_quic_rcidm_peek_retire_seq_num
      Src: /src/openssl/test/quic_rcidm_test.c:103,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:104,1
    - Dst: ossl_quic_rcidm_request_roll
      Src: /src/openssl/test/quic_rcidm_test.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:109,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:109,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_rcidm_test.c:110,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/test/quic_rcidm_test.c:110,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:111,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/test/quic_rcidm_test.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:112,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_rcidm_test.c:112,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:113,1
    - Dst: ossl_quic_rcidm_get_num_retiring
      Src: /src/openssl/test/quic_rcidm_test.c:113,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:114,1
    - Dst: ossl_quic_rcidm_peek_retire_seq_num
      Src: /src/openssl/test/quic_rcidm_test.c:114,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:115,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:116,1
    - Dst: ossl_quic_rcidm_pop_retire_seq_num
      Src: /src/openssl/test/quic_rcidm_test.c:116,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_rcidm_test.c:118,1
    - Dst: ossl_quic_rcidm_pop_retire_seq_num
      Src: /src/openssl/test/quic_rcidm_test.c:118,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_rcidm_test.c:119,1
    - Dst: ossl_quic_rcidm_free
      Src: /src/openssl/test/quic_rcidm_test.c:124,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 41
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 126
    functionName: test_rcidm
    functionSourceFile: /src/openssl/test/quic_rcidm_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rcidm_get_num_active
    - ossl_quic_rcidm_get_preferred_tx_dcid_changed
    - ossl_quic_rcidm_request_roll
    - TEST_ptr
    - ossl_quic_rcidm_on_handshake_complete
    - ossl_quic_rcidm_pop_retire_seq_num
    - ossl_quic_rcidm_add_from_initial
    - ossl_quic_rcidm_get_preferred_tx_dcid
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_rcidm_new
    - ossl_quic_rcidm_get_num_retiring
    - ossl_quic_rcidm_free
    - ossl_quic_rcidm_add_from_server_retry
    - ossl_quic_rcidm_add_from_ncid
    - ossl_quic_rcidm_peek_retire_seq_num
    - TEST_size_t_eq
    - ossl_quic_conn_id_eq
    - TEST_false
    linkageType: ''
    returnType: int
    signature: int test_rcidm(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_rcidm_test.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_rcidm_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecstresstest.c:48,1
    - Dst: BN_new
      Src: /src/openssl/test/ecstresstest.c:48,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecstresstest.c:49,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ecstresstest.c:49,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecstresstest.c:54,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/ecstresstest.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecstresstest.c:55,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/test/ecstresstest.c:55,1
    - Dst: BN_free
      Src: /src/openssl/test/ecstresstest.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - group
    - point
    - num
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - ossl_intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: walk_curve
    functionSourceFile: /src/openssl/test/ecstresstest.c
    functionUses: 0
    functionsReached:
    - EC_POINT_mul
    - BN_new
    - TEST_true
    - EC_POINT_get_affine_coordinates
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: BIGNUM
    signature: "BIGNUM *walk_curve(const EC_GROUP *group, EC_POINT *point,\n                          ossl_intmax_t
      num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecstresstest.c:78,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/openssl/test/ecstresstest.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecstresstest.c:79,1
    - Dst: EC_POINT_dup
      Src: /src/openssl/test/ecstresstest.c:79,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/test/ecstresstest.c:79,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecstresstest.c:81,1
    - Dst: walk_curve
      Src: /src/openssl/test/ecstresstest.c:81,1
    - Dst: BN_print
      Src: /src/openssl/test/ecstresstest.c:85,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ecstresstest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/ecstresstest.c:89,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ecstresstest.c:89,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ecstresstest.c:90,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/ecstresstest.c:91,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/ecstresstest.c:97,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/ecstresstest.c:98,1
    - Dst: BN_free
      Src: /src/openssl/test/ecstresstest.c:99,1
    - Dst: BN_free
      Src: /src/openssl/test/ecstresstest.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 67
    functionDepth: 8
    functionLinenumber: 67
    functionLinenumberEnd: 102
    functionName: test_curve
    functionSourceFile: /src/openssl/test/ecstresstest.c
    functionUses: 0
    functionsReached:
    - walk_curve
    - EC_POINT_free
    - TEST_BN_eq
    - BN_hex2bn
    - BN_free
    - BN_print
    - EC_GROUP_free
    - EC_POINT_dup
    - TEST_true
    - TEST_ptr
    - EC_GROUP_new_by_curve_name
    - EC_GROUP_get0_generator
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int test_curve(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/ecstresstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_intmax
      Src: /src/openssl/test/ecstresstest.c:131,1
    - Dst: TEST_error
      Src: /src/openssl/test/ecstresstest.c:132,1
    - Dst: opt_next
      Src: /src/openssl/test/ecstresstest.c:136,1
    - Dst: opt_intmax
      Src: /src/openssl/test/ecstresstest.c:139,1
    - Dst: opt_arg
      Src: /src/openssl/test/ecstresstest.c:139,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ecstresstest.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 156
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ecstresstest.c
    functionUses: 0
    functionsReached:
    - opt_next
    - ADD_TEST
    - opt_arg
    - opt_intmax
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_dup_cert_test.c:22,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_dup_cert_test.c:24,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_dup_cert_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_dup_cert_test.c:25,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/test/x509_dup_cert_test.c:25,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/test/x509_dup_cert_test.c:25,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_dup_cert_test.c:26,1
    - Dst: X509_load_cert_file
      Src: /src/openssl/test/x509_dup_cert_test.c:26,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_dup_cert_test.c:27,1
    - Dst: X509_load_cert_file
      Src: /src/openssl/test/x509_dup_cert_test.c:27,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_dup_cert_test.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 5
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: test_509_dup_cert
    functionSourceFile: /src/openssl/test/x509_dup_cert_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - X509_load_cert_file
    - X509_STORE_free
    - TEST_ptr
    - test_get_argument
    - TEST_true
    - X509_LOOKUP_file
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int test_509_dup_cert(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/x509_dup_cert_test.c:40,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_dup_cert_test.c:41,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/x509_dup_cert_test.c:45,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/x509_dup_cert_test.c:46,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_dup_cert_test.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_dup_cert_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - test_skip_common_options
    - test_get_argument_count
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/rc5test.c:190,1
    - Dst: RC5_32_set_key
      Src: /src/openssl/test/rc5test.c:190,1
    - Dst: RC5_32_ecb_encrypt
      Src: /src/openssl/test/rc5test.c:193,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc5test.c:194,1
    - Dst: RC5_32_ecb_encrypt
      Src: /src/openssl/test/rc5test.c:197,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc5test.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: test_rc5_ecb
    functionSourceFile: /src/openssl/test/rc5test.c
    functionUses: 0
    functionsReached:
    - RC5_32_set_key
    - TEST_mem_eq
    - RC5_32_ecb_encrypt
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_rc5_ecb(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/rc5test.c:213,1
    - Dst: RC5_32_set_key
      Src: /src/openssl/test/rc5test.c:213,1
    - Dst: memcpy
      Src: /src/openssl/test/rc5test.c:217,1
    - Dst: RC5_32_cbc_encrypt
      Src: /src/openssl/test/rc5test.c:218,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc5test.c:221,1
    - Dst: memcpy
      Src: /src/openssl/test/rc5test.c:225,1
    - Dst: RC5_32_cbc_encrypt
      Src: /src/openssl/test/rc5test.c:226,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc5test.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 233
    functionName: test_rc5_cbc
    functionSourceFile: /src/openssl/test/rc5test.c
    functionUses: 0
    functionsReached:
    - RC5_32_set_key
    - memcpy
    - TEST_true
    - TEST_mem_eq
    - RC5_32_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: int test_rc5_cbc(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rc5test.c:239,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/rc5test.c:239,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rc5test.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rc5test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/openssl/test/context_internal_test.c:17,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/context_internal_test.c:18,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/context_internal_test.c:22,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/context_internal_test.c:23,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/context_internal_test.c:24,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/context_internal_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/context_internal_test.c:28,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/context_internal_test.c:28,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/context_internal_test.c:29,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/context_internal_test.c:33,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/context_internal_test.c:33,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/context_internal_test.c:37,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/openssl/test/context_internal_test.c:37,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/context_internal_test.c:41,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/context_internal_test.c:41,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/context_internal_test.c:42,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/context_internal_test.c:47,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 49
    functionName: test_set0_default
    functionSourceFile: /src/openssl/test/context_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_set0_default
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_get0_global_default
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_set0_default(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/context_internal_test.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/context_internal_test.c:56,1
    - Dst: TEST_false
      Src: /src/openssl/test/context_internal_test.c:59,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/test/context_internal_test.c:59,1
    - Dst: OSSL_LIB_CTX_set_conf_diagnostics
      Src: /src/openssl/test/context_internal_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/context_internal_test.c:64,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/test/context_internal_test.c:64,1
    - Dst: OSSL_LIB_CTX_set_conf_diagnostics
      Src: /src/openssl/test/context_internal_test.c:67,1
    - Dst: TEST_false
      Src: /src/openssl/test/context_internal_test.c:69,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/test/context_internal_test.c:69,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/context_internal_test.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: test_set_get_conf_diagnostics
    functionSourceFile: /src/openssl/test/context_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_get_conf_diagnostics
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - TEST_false
    - OSSL_LIB_CTX_set_conf_diagnostics
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_set_get_conf_diagnostics(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/context_internal_test.c:80,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/context_internal_test.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/context_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/test/cmp_ctx_test.c:24,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_ctx_test.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 35
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    linkageType: ''
    returnType: void
    signature: void tear_down(OSSL_CMP_CTX_TEST_FIXTURE *fixture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:32,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_ctx_test.c:32,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:34,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_ctx_test.c:34,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_ctx_test.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 12
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    - tear_down
    - OSSL_CMP_CTX_new
    linkageType: ''
    returnType: OSSL_CMP_CTX_TEST_FIXTURE
    signature: OSSL_CMP_CTX_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_ctx_test.c:44,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_ctx_test.c:44,1
    - Dst: X509_new
      Src: /src/openssl/test/cmp_ctx_test.c:45,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_ctx_test.c:47,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/cmp_ctx_test.c:48,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_ctx_test.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: sk_X509_new_1
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - sk_X509_free
    - X509_new
    - sk_X509_push
    - X509_free
    - STACK_OF
    - sk_X509_new_null
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *sk_X509_new_1(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_ctx_test.c:64,1
    - Dst: X509_new
      Src: /src/openssl/test/cmp_ctx_test.c:65,1
    - Dst: ossl_cmp_ctx_set0_statusString
      Src: /src/openssl/test/cmp_ctx_test.c:71,1
    - Dst: sk_ASN1_UTF8STRING_new_null
      Src: /src/openssl/test/cmp_ctx_test.c:71,1
    - Dst: ossl_cmp_ctx_set0_newCert
      Src: /src/openssl/test/cmp_ctx_test.c:72,1
    - Dst: X509_new
      Src: /src/openssl/test/cmp_ctx_test.c:72,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:73,1
    - Dst: sk_X509_new_1
      Src: /src/openssl/test/cmp_ctx_test.c:73,1
    - Dst: ossl_cmp_ctx_set1_newChain
      Src: /src/openssl/test/cmp_ctx_test.c:74,1
    - Dst: ossl_cmp_ctx_set1_caPubs
      Src: /src/openssl/test/cmp_ctx_test.c:75,1
    - Dst: ossl_cmp_ctx_set1_extraCertsIn
      Src: /src/openssl/test/cmp_ctx_test.c:76,1
    - Dst: ossl_cmp_ctx_set1_validatedSrvCert
      Src: /src/openssl/test/cmp_ctx_test.c:77,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:78,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_ctx_test.c:78,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/test/cmp_ctx_test.c:79,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/test/cmp_ctx_test.c:80,1
    - Dst: ossl_cmp_ctx_set1_recipNonce
      Src: /src/openssl/test/cmp_ctx_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:84,1
    - Dst: OSSL_CMP_CTX_reinit
      Src: /src/openssl/test/cmp_ctx_test.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:88,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_ctx_test.c:105,1
    - Dst: sk_X509_pop_X509_free
      Src: /src/openssl/test/cmp_ctx_test.c:106,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_ctx_test.c:107,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 20
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 109
    functionName: execute_CTX_reinit_test
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - sk_X509_new_1
    - X509_new
    - ossl_cmp_ctx_set1_caPubs
    - ossl_cmp_ctx_set1_extraCertsIn
    - X509_free
    - ASN1_OCTET_STRING_free
    - TEST_ptr
    - ossl_cmp_ctx_set1_validatedSrvCert
    - ossl_cmp_ctx_set1_recipNonce
    - ossl_cmp_ctx_set1_newChain
    - sk_X509_pop_X509_free
    - sk_ASN1_UTF8STRING_new_null
    - ossl_cmp_ctx_set0_newCert
    - OSSL_CMP_CTX_set1_transactionID
    - TEST_true
    - OSSL_CMP_CTX_set1_senderNonce
    - ASN1_OCTET_STRING_new
    - STACK_OF
    - OSSL_CMP_CTX_reinit
    - ossl_cmp_ctx_set0_statusString
    linkageType: ''
    returnType: int
    signature: int execute_CTX_reinit_test(OSSL_CMP_CTX_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/cmp_ctx_test.c:113,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_ctx_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:116,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:117,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/cmp_ctx_test.c:118,1
    - Dst: OSSL_CMP_CTX_get0_libctx
      Src: /src/openssl/test/cmp_ctx_test.c:118,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:119,1
    - Dst: OSSL_CMP_CTX_get0_propq
      Src: /src/openssl/test/cmp_ctx_test.c:119,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/test/cmp_ctx_test.c:121,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_ctx_test.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 12
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: test_CTX_libctx_propq
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_str_eq
    - OSSL_LIB_CTX_new
    - OSSL_CMP_CTX_get0_propq
    - OSSL_CMP_CTX_free
    - OSSL_CMP_CTX_get0_libctx
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_CTX_libctx_propq(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_ctx_test.c:128,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: test_CTX_reinit
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_CTX_reinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:139,1
    - Dst: TEST_note
      Src: /src/openssl/test/cmp_ctx_test.c:140,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: msg_total_size_log_cb
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_note
    linkageType: ''
    returnType: int
    signature: "int msg_total_size_log_cb(const char *func, const char *file, int
      line,\n                                 OSSL_CMP_severity level, const char
      *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:157,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_ctx_test.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/test/cmp_ctx_test.c:163,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/test/cmp_ctx_test.c:164,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:168,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_ctx_test.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/test/cmp_ctx_test.c:173,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/test/cmp_ctx_test.c:175,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:176,1
    - Dst: ossl_cmp_add_error_data
      Src: /src/openssl/test/cmp_ctx_test.c:178,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:179,1
    - Dst: ossl_cmp_add_error_data
      Src: /src/openssl/test/cmp_ctx_test.c:180,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:181,1
    - Dst: ossl_cmp_add_error_line
      Src: /src/openssl/test/cmp_ctx_test.c:182,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:183,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/test/cmp_ctx_test.c:184,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/test/cmp_ctx_test.c:188,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:189,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:189,1
    - Dst: ERR_add_error_txt
      Src: /src/openssl/test/cmp_ctx_test.c:192,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:193,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:193,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_ctx_test.c:195,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/test/cmp_ctx_test.c:197,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 203
    functionName: execute_CTX_print_errors_test
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set_log_cb
    - ERR_raise
    - TEST_int_eq
    - ERR_add_error_txt
    - ossl_cmp_add_error_line
    - ossl_cmp_add_error_data
    - TEST_true
    - strlen
    - OSSL_CMP_CTX_print_errors
    linkageType: ''
    returnType: int
    signature: int execute_CTX_print_errors_test(OSSL_CMP_CTX_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_ctx_test.c:207,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: test_CTX_print_errors
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_CTX_print_errors(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/cmp_ctx_test.c:224,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/test/cmp_ctx_test.c:224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:227,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_ctx_test.c:227,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:228,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_ctx_test.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:229,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_ctx_test.c:229,1
    - Dst: X509_EXTENSION_create_by_NID
      Src: /src/openssl/test/cmp_ctx_test.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:232,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_ctx_test.c:233,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/test/cmp_ctx_test.c:233,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:234,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/openssl/test/cmp_ctx_test.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:235,1
    - Dst: OSSL_CMP_CTX_set0_reqExtensions
      Src: /src/openssl/test/cmp_ctx_test.c:235,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/cmp_ctx_test.c:236,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/test/cmp_ctx_test.c:237,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:240,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/test/cmp_ctx_test.c:240,1
    - Dst: sk_X509_EXTENSION_pop
      Src: /src/openssl/test/cmp_ctx_test.c:241,1
    - Dst: TEST_false
      Src: /src/openssl/test/cmp_ctx_test.c:242,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/test/cmp_ctx_test.c:242,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/cmp_ctx_test.c:243,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_ctx_test.c:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 213
    functionDepth: 8
    functionLinenumber: 213
    functionLinenumberEnd: 248
    functionName: execute_CTX_reqExtensions_have_SAN_test
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_set
    - X509_EXTENSION_free
    - TEST_false
    - sk_X509_EXTENSION_free
    - TEST_int_eq
    - X509_EXTENSION_create_by_NID
    - sk_X509_EXTENSION_new_null
    - RAND_bytes
    - sk_X509_EXTENSION_push
    - sk_X509_EXTENSION_pop
    - TEST_true
    - OSSL_CMP_CTX_set0_reqExtensions
    - TEST_ptr
    - ASN1_OCTET_STRING_new
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    linkageType: ''
    returnType: int
    signature: int execute_CTX_reqExtensions_have_SAN_test(OSSL_CMP_CTX_TEST_FIXTURE
      *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_ctx_test.c:252,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: test_CTX_reqExtensions_have_SAN
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_CTX_reqExtensions_have_SAN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PEDANTIC
      Src: /src/openssl/test/cmp_ctx_test.c:263,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:264,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:265,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:267,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:268,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:269,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:269,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:270,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:270,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_ctx_test.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: test_log_cb
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_int_eq
    - PEDANTIC
    linkageType: ''
    returnType: int
    signature: "int test_log_cb(const char *func, const char *file, int line,\n                       OSSL_CMP_severity
      level, const char *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/test/cmp_ctx_test.c:280,1
    - Dst: OSSL_CMP_log_open
      Src: /src/openssl/test/cmp_ctx_test.c:282,1
    - Dst: OSSL_CMP_log_open
      Src: /src/openssl/test/cmp_ctx_test.c:283,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:285,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_ctx_test.c:285,1
    - Dst: ossl_cmp_err
      Src: /src/openssl/test/cmp_ctx_test.c:288,1
    - Dst: ossl_cmp_warn
      Src: /src/openssl/test/cmp_ctx_test.c:289,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/test/cmp_ctx_test.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:291,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/test/cmp_ctx_test.c:291,1
    - Dst: ossl_cmp_debug
      Src: /src/openssl/test/cmp_ctx_test.c:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:293,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/test/cmp_ctx_test.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_ctx_test.c:295,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/test/cmp_ctx_test.c:295,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/test/cmp_ctx_test.c:299,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:300,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/test/cmp_ctx_test.c:302,1
    - Dst: ossl_cmp_log2
      Src: /src/openssl/test/cmp_ctx_test.c:305,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_ctx_test.c:306,1
    - Dst: OSSL_CMP_log_close
      Src: /src/openssl/test/cmp_ctx_test.c:309,1
    - Dst: OSSL_CMP_log_close
      Src: /src/openssl/test/cmp_ctx_test.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - OSSL_CMP_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 275
    functionDepth: 7
    functionLinenumber: 275
    functionLinenumberEnd: 312
    functionName: execute_cmp_ctx_log_cb_test
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set_log_cb
    - ossl_cmp_log2
    - ossl_cmp_err
    - TEST_int_eq
    - OSSL_TRACE
    - OSSL_CMP_CTX_set_log_verbosity
    - OSSL_CMP_log_close
    - TEST_true
    - ossl_cmp_debug
    - OSSL_CMP_log_open
    - ossl_cmp_warn
    linkageType: ''
    returnType: int
    signature: int execute_cmp_ctx_log_cb_test(OSSL_CMP_CTX_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_ctx_test.c:316,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: test_cmp_ctx_log_cb
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_cmp_ctx_log_cb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - arg
    - use_ssl
    - detail
    argTypes:
    - BIO*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: test_http_cb
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO
    signature: BIO *test_http_cb(BIO *bio, void *arg, int use_ssl, int detail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: test_transfer_cb
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *test_transfer_cb(OSSL_CMP_CTX *ctx,\n                                      const
      OSSL_CMP_MSG *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cert
    - fail_info
    - txt
    argTypes:
    - OSSL_CMP_CTX*
    - X509*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: test_certConf_cb
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int test_certConf_cb(OSSL_CMP_CTX *ctx, X509 *cert, int fail_info,\n
      \                           const char **txt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - PREFIX
    - ','
    - SETN
    - ','
    - GETN
    - ','
    - DUP
    - ','
    - FIELD
    - ','
    - TYPE
    - ','
    - ERR
    - ','
    - DEFAULT
    - ','
    - NEW
    - ','
    - FREE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: DEFINE_SET_GET_BASE_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "DEFINE_SET_GET_BASE_TEST(PREFIX, SETN, GETN, DUP, FIELD, TYPE, ERR,
      \\\n                                 DEFAULT, NEW, FREE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/cmp_ctx_test.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: char_new
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 3
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *char_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_ctx_test.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: char_free
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void char_free(char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: EMPTY_SK_X509
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EMPTY_SK_X509(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/openssl/test/cmp_ctx_test.c:507,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/cmp_ctx_test.c:510,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_ctx_test.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 512
    functionName: X509_STORE_new_1
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - X509_STORE_get0_param
    - X509_VERIFY_PARAM_set_flags
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE *X509_STORE_new_1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: DEFAULT_STORE
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFAULT_STORE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: IS_NEG
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NEG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: IS_0
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    functionName: DROP
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: RET_IF_NULL_ARG
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_IF_NULL_ARG(ctx, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - N
    - ','
    - M
    - ','
    - DUP
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: DEFINE_SET_GET_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_GET_TEST(OSSL_CMP, CTX, N, M, DUP, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - N
    - ','
    - M
    - ','
    - FIELD
    - ','
    - ELEM_TYPE
    - ','
    - DEFAULT
    - ','
    - NEW
    - ','
    - FREE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: DEFINE_SET_GET_SK_TEST_DEFAULT
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "DEFINE_SET_GET_SK_TEST_DEFAULT(OSSL_CMP, CTX, N, M, FIELD, ELEM_TYPE,
      \\\n                                       DEFAULT, NEW, FREE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - N
    - ','
    - M
    - ','
    - FIELD
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: DEFINE_SET_GET_SK_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_GET_SK_TEST(OSSL_CMP, CTX, N, M, FIELD, T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - N
    - ','
    - M
    - ','
    - FNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: DEFINE_SET_GET_SK_X509_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_GET_SK_X509_TEST(OSSL_CMP, CTX, N, M, FNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - N
    - ','
    - M
    - ','
    - DUP
    - ','
    - FIELD
    - ','
    - TYPE
    - ','
    - DEFAULT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: DEFINE_SET_GET_TEST_DEFAULT
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "DEFINE_SET_GET_TEST_DEFAULT(OSSL_CMP, CTX, N, M, DUP, FIELD, TYPE,
      \\\n                                    DEFAULT)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - N
    - ','
    - DUP
    - ','
    - FIELD
    - ','
    - TYPE
    - ','
    - DEFAULT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: DEFINE_SET_TEST_DEFAULT
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_TEST_DEFAULT(OSSL_CMP, CTX, N, DUP, FIELD, TYPE, DEFAULT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - N
    - ','
    - DUP
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: DEFINE_SET_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_TEST(OSSL_CMP, CTX, N, DUP, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - N
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: DEFINE_SET_SK_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_SK_TEST(OSSL_CMP, CTX, N, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 580
    functionName: DEFINE_SET_CB_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_CB_TEST(FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: DEFINE_SET_GET_P_VOID_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_GET_P_VOID_TEST(FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - FIELD
    - ','
    - DEFAULT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: DEFINE_SET_GET_INT_TEST_DEFAULT
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_GET_INT_TEST_DEFAULT(OSSL_CMP, CTX, FIELD, DEFAULT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OSSL_CMP
    - ','
    - CTX
    - ','
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: DEFINE_SET_GET_INT_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_GET_INT_TEST(OSSL_CMP, CTX, FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: DEFINE_SET_INT_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_INT_TEST(FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - SETN
    - ','
    - GETN
    - ','
    - FIELD
    - ','
    - ARG
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 607
    functionName: DEFINE_SET_GET_ARG_FN
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_GET_ARG_FN(SETN, GETN, FIELD, ARG, T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SETN
    - ','
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 624
    functionName: DEFINE_SET_GET1_STR_FN
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SET_GET1_STR_FN(SETN, FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - PUSHN
    - ','
    - DUP
    - ','
    - FIELD
    - ','
    - ELEM
    - ','
    - TYPE
    - ','
    - T
    - ','
    - DEFAULT
    - ','
    - NEW
    - ','
    - FREE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 642
    functionName: DEFINE_PUSH_BASE_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "DEFINE_PUSH_BASE_TEST(PUSHN, DUP, FIELD, ELEM, TYPE, T, \\\n                              DEFAULT,
      NEW, FREE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - N
    - ','
    - DUP
    - ','
    - FIELD
    - ','
    - ELEM
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: DEFINE_PUSH_TEST
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_PUSH_TEST(N, DUP, FIELD, ELEM, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmp_ctx_test.c:816,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_ctx_test.c:817,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:822,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:823,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:826,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:828,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:835,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:841,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:844,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:845,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:846,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:847,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:848,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:850,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:851,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:853,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:854,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:856,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:857,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:858,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:859,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:860,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:862,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:863,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:865,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:866,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:868,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:869,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:870,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:872,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:873,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:874,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:875,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:880,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:882,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:883,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:884,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:885,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:890,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:893,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:895,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:896,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:898,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:899,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:900,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:901,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:902,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:903,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:904,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:907,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:908,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_ctx_test.c:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 911
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_ctx_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:163,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_xof_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:166,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_xof_test.c:166,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:168,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_xof_test.c:168,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_xof_test.c:170,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_xof_test.c:173,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 10
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: shake_setup
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_DigestInit_ex2
    - EVP_MD_fetch
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: EVP_MD_CTX
    signature: EVP_MD_CTX *shake_setup(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:184,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:184,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:186,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:186,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:188,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:188,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:189,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:192,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:192,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:194,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:194,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 178
    functionDepth: 11
    functionLinenumber: 178
    functionLinenumberEnd: 200
    functionName: shake_kat_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - shake_setup
    - EVP_DigestUpdate
    - TEST_false
    - EVP_DigestSqueeze
    - EVP_MD_CTX_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int shake_kat_test(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:210,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:210,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:212,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:212,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_xof_test.c:215,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:216,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_xof_test.c:216,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_xof_test.c:217,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_xof_test.c:220,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:221,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:224,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:224,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:226,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:229,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:229,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:230,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:232,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:232,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 202
    functionDepth: 11
    functionLinenumber: 202
    functionLinenumberEnd: 238
    functionName: shake_kat_digestfinal_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - EVP_DigestFinalXOF
    - shake_setup
    - EVP_DigestUpdate
    - ERR_pop_to_mark
    - TEST_false
    - ERR_set_mark
    - EVP_MD_CTX_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int shake_kat_digestfinal_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:254,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:254,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_xof_test.c:256,1
    - Dst: memset
      Src: /src/openssl/test/evp_xof_test.c:258,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_xof_test.c:259,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_xof_test.c:260,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_xof_test.c:262,1
    - Dst: EVP_MD_CTX_size
      Src: /src/openssl/test/evp_xof_test.c:262,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_xof_test.c:263,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/test/evp_xof_test.c:263,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_xof_test.c:264,1
    - Dst: EVP_MD_CTX_size
      Src: /src/openssl/test/evp_xof_test.c:264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_xof_test.c:265,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/test/evp_xof_test.c:265,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:266,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/test/evp_xof_test.c:266,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:267,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:267,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:269,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_xof_test.c:269,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/evp_xof_test.c:270,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:271,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/evp_xof_test.c:273,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 244
    functionDepth: 11
    functionLinenumber: 244
    functionLinenumberEnd: 279
    functionName: shake_kat_digestfinal_xoflen_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_xof
    - EVP_DigestFinal
    - TEST_mem_eq
    - memset
    - shake_setup
    - EVP_MD_CTX_get0_md
    - OSSL_PARAM_construct_end
    - EVP_DigestUpdate
    - EVP_MD_get_size
    - OSSL_PARAM_construct_size_t
    - TEST_uchar_eq
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_MD_CTX_size
    - TEST_true
    - TEST_ptr
    - EVP_MD_CTX_set_params
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int shake_kat_digestfinal_xoflen_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:293,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:302,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:306,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:306,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:307,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:311,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_xof_test.c:311,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:316,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 285
    functionDepth: 11
    functionLinenumber: 285
    functionLinenumberEnd: 318
    functionName: shake_absorb_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - shake_setup
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    - EVP_MD_CTX_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int shake_absorb_test(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:379,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:379,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:381,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_xof_test.c:381,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:383,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:383,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:389,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:389,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:394,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_xof_test.c:398,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:399,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - tst
    - in
    - inlen
    - expected_out
    - expected_outlen
    argTypes:
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 369
    functionDepth: 11
    functionLinenumber: 369
    functionLinenumberEnd: 401
    functionName: do_shake_squeeze_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - shake_setup
    - EVP_DigestUpdate
    - EVP_DigestSqueeze
    - EVP_MD_CTX_free
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int do_shake_squeeze_test(int tst,\n                                 const
      unsigned char *in, size_t inlen,\n                                 const unsigned
      char *expected_out,\n                                 size_t expected_outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_shake_squeeze_test
      Src: /src/openssl/test/evp_xof_test.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 12
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: shake_squeeze_kat_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - do_shake_squeeze_test
    linkageType: ''
    returnType: int
    signature: int shake_squeeze_kat_test(int tst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_xof_test.c:422,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/evp_xof_test.c:422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:423,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:423,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:424,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:424,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:425,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:425,1
    - Dst: do_shake_squeeze_test
      Src: /src/openssl/test/evp_xof_test.c:428,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 415
    functionDepth: 12
    functionLinenumber: 415
    functionLinenumberEnd: 432
    functionName: shake_squeeze_large_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - shake_setup
    - EVP_DigestUpdate
    - EVP_MD_CTX_free
    - RAND_bytes
    - do_shake_squeeze_test
    - TEST_true
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int shake_squeeze_large_test(int tst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:450,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:450,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:453,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_xof_test.c:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:455,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:461,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:461,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:466,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/test/evp_xof_test.c:466,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:471,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_xof_test.c:475,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:476,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:477,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 6
    argNames:
    - tst
    - alg
    - in
    - inlen
    - expected_out
    - expected_outlen
    argTypes:
    - int
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 439
    functionDepth: 11
    functionLinenumber: 439
    functionLinenumberEnd: 479
    functionName: do_shake_squeeze_dup_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - shake_setup
    - EVP_DigestUpdate
    - EVP_MD_CTX_dup
    - EVP_DigestSqueeze
    - EVP_MD_CTX_free
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int do_shake_squeeze_dup_test(int tst, const char *alg,\n                                     const
      unsigned char *in, size_t inlen,\n                                     const
      unsigned char *expected_out,\n                                     size_t expected_outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_xof_test.c:490,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/evp_xof_test.c:490,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:491,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:491,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:492,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_xof_test.c:492,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:493,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:493,1
    - Dst: do_shake_squeeze_dup_test
      Src: /src/openssl/test/evp_xof_test.c:496,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 482
    functionDepth: 12
    functionLinenumber: 482
    functionLinenumberEnd: 501
    functionName: shake_squeeze_dup_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 1
    functionsReached:
    - EVP_DigestFinalXOF
    - shake_setup
    - EVP_DigestUpdate
    - EVP_MD_CTX_free
    - RAND_bytes
    - TEST_true
    - do_shake_squeeze_dup_test
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int shake_squeeze_dup_test(int tst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:512,1
    - Dst: shake_setup
      Src: /src/openssl/test/evp_xof_test.c:512,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:513,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_xof_test.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:516,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_xof_test.c:516,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:517,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:517,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_xof_test.c:518,1
    - Dst: EVP_DigestSqueeze
      Src: /src/openssl/test/evp_xof_test.c:518,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_xof_test.c:522,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_xof_test.c:527,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 504
    functionDepth: 11
    functionLinenumber: 504
    functionLinenumberEnd: 529
    functionName: shake_squeeze_no_absorb_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinalXOF
    - shake_setup
    - EVP_DigestInit_ex2
    - EVP_DigestSqueeze
    - EVP_MD_CTX_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int shake_squeeze_no_absorb_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_xof_test.c:536,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_xof_test.c:536,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_xof_test.c:537,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/test/evp_xof_test.c:537,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_xof_test.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 531
    functionDepth: 10
    functionLinenumber: 531
    functionLinenumberEnd: 540
    functionName: xof_fail_test
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_xof
    - EVP_MD_free
    - TEST_false
    - EVP_MD_fetch
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int xof_fail_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_xof_test.c:544,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_xof_test.c:545,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_xof_test.c:546,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_xof_test.c:547,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:548,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:548,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:549,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:549,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_xof_test.c:550,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_xof_test.c:550,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_xof_test.c:551,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_xof_test.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 554
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_xof_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/recordlentest.c:33,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/recordlentest.c:41,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/recordlentest.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - b
    - len
    - rectype
    - recversion
    argTypes:
    - BIO*
    - size_t
    - uint8_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 61
    functionName: write_record
    functionSourceFile: /src/openssl/test/recordlentest.c
    functionUses: 0
    functionsReached:
    - BIO_write_ex
    - memset
    linkageType: ''
    returnType: int
    signature: int write_record(BIO *b, size_t len, uint8_t rectype, int recversion)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/openssl/test/recordlentest.c:65,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/recordlentest.c:73,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/recordlentest.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - enc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: fail_due_to_record_overflow
    functionSourceFile: /src/openssl/test/recordlentest.c
    functionUses: 0
    functionsReached:
    - ERR_peek_error
    - ERR_GET_LIB
    - ERR_GET_REASON
    linkageType: ''
    returnType: int
    signature: int fail_due_to_record_overflow(int enc)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/recordlentest.c:104,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/recordlentest.c:104,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/recordlentest.c:104,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/recordlentest.c:105,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/recordlentest.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/recordlentest.c:122,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/recordlentest.c:122,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/recordlentest.c:126,1
    - Dst: TEST_true
      Src: /src/openssl/test/recordlentest.c:135,1
    - Dst: write_record
      Src: /src/openssl/test/recordlentest.c:135,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/recordlentest.c:139,1
    - Dst: SSL_accept
      Src: /src/openssl/test/recordlentest.c:139,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/recordlentest.c:143,1
    - Dst: fail_due_to_record_overflow
      Src: /src/openssl/test/recordlentest.c:143,1
    - Dst: TEST_true
      Src: /src/openssl/test/recordlentest.c:149,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/recordlentest.c:149,1
    - Dst: TEST_true
      Src: /src/openssl/test/recordlentest.c:163,1
    - Dst: write_record
      Src: /src/openssl/test/recordlentest.c:163,1
    - Dst: TEST_false
      Src: /src/openssl/test/recordlentest.c:167,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/recordlentest.c:167,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/recordlentest.c:170,1
    - Dst: fail_due_to_record_overflow
      Src: /src/openssl/test/recordlentest.c:170,1
    - Dst: SSL_free
      Src: /src/openssl/test/recordlentest.c:177,1
    - Dst: SSL_free
      Src: /src/openssl/test/recordlentest.c:178,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/recordlentest.c:179,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/recordlentest.c:180,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 66
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 182
    functionName: test_record_overflow
    functionSourceFile: /src/openssl/test/recordlentest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - write_record
    - TEST_int_le
    - TEST_false
    - TEST_int_eq
    - SSL_accept
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_get_rbio
    - SSL_CTX_set_max_proto_version
    - fail_due_to_record_overflow
    linkageType: ''
    returnType: int
    signature: int test_record_overflow(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/recordlentest.c:188,1
    - Dst: TEST_error
      Src: /src/openssl/test/recordlentest.c:189,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/recordlentest.c:193,1
    - Dst: test_get_argument
      Src: /src/openssl/test/recordlentest.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/recordlentest.c:194,1
    - Dst: test_get_argument
      Src: /src/openssl/test/recordlentest.c:194,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/recordlentest.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/recordlentest.c
    functionUses: 0
    functionsReached:
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_s_mempacket_test_free
      Src: /src/openssl/test/recordlentest.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/recordlentest.c
    functionUses: 5
    functionsReached:
    - bio_s_mempacket_test_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/json_test.c:29,1
    - Dst: BIO_new
      Src: /src/openssl/test/json_test.c:29,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/json_test.c:29,1
    - Dst: ossl_json_init
      Src: /src/openssl/test/json_test.c:32,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/json_test.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: helper_ensure
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ossl_json_init
    - BIO_free_all
    - BIO_s_mem
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int helper_ensure(struct helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/test/json_test.c:44,1
    - Dst: ossl_json_cleanup
      Src: /src/openssl/test/json_test.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: helper_cleanup
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 4
    functionsReached:
    - ossl_json_cleanup
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void helper_cleanup(struct helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: helper_cleanup
      Src: /src/openssl/test/json_test.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - flags
    argTypes:
    - struct helper*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: helper_set_flags
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached:
    - helper_cleanup
    linkageType: ''
    returnType: void
    signature: void helper_set_flags(struct helper *h, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: OP_P
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_P(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: OP_U64
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_U64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: OP_I64
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_I64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: OP_D
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_D(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: OP_FP
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_FP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: OP_END
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: OP_CALL
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CALL(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: OP_CALL_P
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CALL_P(f, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: OP_CALL_I
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CALL_I(f, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: OP_CALL_U64
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CALL_U64(f, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: OP_CALL_I64
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CALL_I64(f, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: OP_CALL_D
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CALL_D(f, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - x
    - ','
    - xl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: OP_CALL_PZ
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CALL_PZ(f, x, xl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: OP_ASSERT_ERROR
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ASSERT_ERROR(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: OP_INIT_FLAGS
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_INIT_FLAGS(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: OPJ_BEGIN_O
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_BEGIN_O()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: OPJ_END_O
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_END_O()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: OPJ_BEGIN_A
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_BEGIN_A()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: OPJ_END_A
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_END_A()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: OPJ_NULL
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_NULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: OPJ_BOOL
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_BOOL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: OPJ_U64
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_U64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: OPJ_I64
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_I64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: OPJ_KEY
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_KEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: OPJ_STR
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - xl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: OPJ_STR_LEN
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_STR_LEN(x, xl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - xl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: OPJ_STR_HEX
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPJ_STR_HEX(x, xl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - title
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: BEGIN_SCRIPT
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEGIN_SCRIPT(name, title, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - slen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: END_SCRIPT_EXPECTING
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END_SCRIPT_EXPECTING(s, slen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: END_SCRIPT_EXPECTING_S
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END_SCRIPT_EXPECTING_S(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: END_SCRIPT_EXPECTING_Q
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END_SCRIPT_EXPECTING_Q(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: SCRIPT
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: OP_ASSERT_ERROR
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ASSERT_ERROR(err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/json_test.c:685,1
    - Dst: TEST_true
      Src: /src/openssl/test/json_test.c:686,1
    - Dst: run_script
      Src: /src/openssl/test/json_test.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: test_json_enc
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached:
    - run_script
    - OSSL_NELEM
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_json_enc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/json_test.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/json_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_internal_test.c:41,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:49,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:50,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:54,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_internal_test.c:55,1
    - Dst: TEST_note
      Src: /src/openssl/test/asn1_internal_test.c:56,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/test/asn1_internal_test.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: test_tbl_standard
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_ne
    - TEST_note
    - TEST_info
    - OSSL_NELEM
    - OBJ_nid2ln
    linkageType: ''
    returnType: int
    signature: int test_tbl_standard(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_internal_test.c:78,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:94,1
    - Dst: TEST_note
      Src: /src/openssl/test/asn1_internal_test.c:96,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/asn1_internal_test.c:97,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:102,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_internal_test.c:103,1
    - Dst: TEST_note
      Src: /src/openssl/test/asn1_internal_test.c:107,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_internal_test.c:108,1
    - Dst: TEST_note
      Src: /src/openssl/test/asn1_internal_test.c:110,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/asn1_internal_test.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 114
    functionName: test_standard_methods
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_ne
    - TEST_note
    - OBJ_nid2sn
    - TEST_info
    - OSSL_NELEM
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_standard_methods(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:131,1
    - Dst: RSA_new
      Src: /src/openssl/test/asn1_internal_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:132,1
    - Dst: BN_new
      Src: /src/openssl/test/asn1_internal_test.c:132,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:133,1
    - Dst: BN_new
      Src: /src/openssl/test/asn1_internal_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:134,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/asn1_internal_test.c:134,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/asn1_internal_test.c:143,1
    - Dst: i2d_RSAPrivateKey
      Src: /src/openssl/test/asn1_internal_test.c:143,1
    - Dst: RSA_free
      Src: /src/openssl/test/asn1_internal_test.c:147,1
    - Dst: BN_free
      Src: /src/openssl/test/asn1_internal_test.c:148,1
    - Dst: BN_free
      Src: /src/openssl/test/asn1_internal_test.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 124
    functionDepth: 6
    functionLinenumber: 124
    functionLinenumberEnd: 151
    functionName: test_empty_nonoptional_content
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_key
    - RSA_free
    - RSA_new
    - TEST_int_le
    - i2d_RSAPrivateKey
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_empty_nonoptional_content(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_internal_test.c:165,1
    - Dst: ASN1_mbstring_copy
      Src: /src/openssl/test/asn1_internal_test.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - univ
    - len
    - expected
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: test_unicode
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ASN1_mbstring_copy
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_unicode(const unsigned char *univ, size_t len, int expected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_unicode
      Src: /src/openssl/test/asn1_internal_test.c:186,1
    - Dst: test_unicode
      Src: /src/openssl/test/asn1_internal_test.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: test_unicode_range
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - test_unicode
    linkageType: ''
    returnType: int
    signature: int test_unicode_range(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/test/asn1_internal_test.c:203,1
    - Dst: OBJ_create
      Src: /src/openssl/test/asn1_internal_test.c:205,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/asn1_internal_test.c:208,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/asn1_internal_test.c:209,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/asn1_internal_test.c:210,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/asn1_internal_test.c:214,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/asn1_internal_test.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - oid
    - sn
    - ln
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 8
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: test_obj_create_once
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - OBJ_create
    - ERR_pop_to_mark
    - ERR_set_mark
    - ERR_GET_REASON
    - ERR_peek_last_error
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int test_obj_create_once(const char *oid, const char *sn, const char
      *ln)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:231,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:231,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:232,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/asn1_internal_test.c:232,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:233,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:233,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:234,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/asn1_internal_test.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:235,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:235,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:236,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/asn1_internal_test.c:236,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:237,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/asn1_internal_test.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:238,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:238,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:239,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:239,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:240,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/asn1_internal_test.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:241,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:241,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:242,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/asn1_internal_test.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/asn1_internal_test.c:243,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:243,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:245,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/asn1_internal_test.c:245,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/asn1_internal_test.c:246,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/asn1_internal_test.c:246,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_internal_test.c:249,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:249,1
    - Dst: TEST_false
      Src: /src/openssl/test/asn1_internal_test.c:250,1
    - Dst: test_obj_create_once
      Src: /src/openssl/test/asn1_internal_test.c:250,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 222
    functionDepth: 9
    functionLinenumber: 222
    functionLinenumberEnd: 255
    functionName: test_obj_create
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - TEST_int_ne
    - OBJ_ln2nid
    - TEST_false
    - TEST_true
    - test_obj_create_once
    linkageType: ''
    returnType: int
    signature: int test_obj_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:259,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/asn1_internal_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:260,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/asn1_internal_test.c:260,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_internal_test.c:261,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/test/asn1_internal_test.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 6
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: test_obj_nid_undef
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OBJ_nid2sn
    - OBJ_nid2obj
    - OBJ_nid2ln
    linkageType: ''
    returnType: int
    signature: int test_obj_nid_undef(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:269,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:270,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:271,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:272,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:273,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_internal_test.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/pbetest.c:68,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pbetest.c:69,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/test/pbetest.c:72,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pbetest.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/pbetest.c:76,1
    - Dst: PKCS5_pbe_set0_algor
      Src: /src/openssl/test/pbetest.c:76,1
    - Dst: EVP_CIPHER_nid
      Src: /src/openssl/test/pbetest.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/pbetest.c:78,1
    - Dst: PKCS5_PBE_keyivgen
      Src: /src/openssl/test/pbetest.c:78,1
    - Dst: strlen
      Src: /src/openssl/test/pbetest.c:78,1
    - Dst: TEST_true
      Src: /src/openssl/test/pbetest.c:80,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/pbetest.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/pbetest.c:85,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/pbetest.c:85,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/pbetest.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/pbetest.c:94,1
    - Dst: PKCS5_PBE_keyivgen
      Src: /src/openssl/test/pbetest.c:94,1
    - Dst: strlen
      Src: /src/openssl/test/pbetest.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/pbetest.c:96,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/pbetest.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/pbetest.c:100,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/pbetest.c:100,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/pbetest.c:103,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/pbetest.c:108,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/pbetest.c:109,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 4
    argNames:
    - cipher
    - md
    - exp
    - exp_len
    argTypes:
    - EVP_CIPHER*
    - EVP_MD*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 59
    functionDepth: 9
    functionLinenumber: 59
    functionLinenumberEnd: 111
    functionName: test_pkcs5_pbe
    functionSourceFile: /src/openssl/test/pbetest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - PKCS5_PBE_keyivgen
    - EVP_CipherUpdate
    - TEST_mem_eq
    - EVP_CIPHER_CTX_free
    - X509_ALGOR_new
    - EVP_CIPHER_nid
    - EVP_CipherFinal_ex
    - X509_ALGOR_free
    - TEST_true
    - TEST_ptr
    - strlen
    - PKCS5_pbe_set0_algor
    linkageType: ''
    returnType: int
    signature: "int test_pkcs5_pbe(const EVP_CIPHER *cipher, const EVP_MD *md,\n                          const
      unsigned char *exp, const int exp_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_pkcs5_pbe
      Src: /src/openssl/test/pbetest.c:117,1
    - Dst: EVP_rc4
      Src: /src/openssl/test/pbetest.c:117,1
    - Dst: EVP_md5
      Src: /src/openssl/test/pbetest.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 10
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: test_pkcs5_pbe_rc4_md5
    functionSourceFile: /src/openssl/test/pbetest.c
    functionUses: 0
    functionsReached:
    - EVP_md5
    - EVP_rc4
    - test_pkcs5_pbe
    linkageType: ''
    returnType: int
    signature: int test_pkcs5_pbe_rc4_md5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_pkcs5_pbe
      Src: /src/openssl/test/pbetest.c:124,1
    - Dst: EVP_des_cbc
      Src: /src/openssl/test/pbetest.c:124,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/pbetest.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 10
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: test_pkcs5_pbe_des_sha1
    functionSourceFile: /src/openssl/test/pbetest.c
    functionUses: 0
    functionsReached:
    - EVP_des_cbc
    - EVP_sha1
    - test_pkcs5_pbe
    linkageType: ''
    returnType: int
    signature: int test_pkcs5_pbe_des_sha1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pbetest.c:141,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pbetest.c:142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pbetest.c:143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pbetest.c:143,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/pbetest.c:144,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pbetest.c:150,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pbetest.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pbetest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ADD_TEST
    - cleanup_tests
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pbetest.c:163,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pbetest.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/pbetest.c
    functionUses: 6
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_die
      Src: /src/openssl/test/aborttest.c:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: main
    functionSourceFile: /src/openssl/test/aborttest.c
    functionUses: 5
    functionsReached:
    - OPENSSL_die
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: safe_add_int
      Src: /src/openssl/test/safe_math_test.c:61,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:62,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:63,1
    - Dst: safe_sub_int
      Src: /src/openssl/test/safe_math_test.c:67,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:69,1
    - Dst: safe_mul_int
      Src: /src/openssl/test/safe_math_test.c:73,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:75,1
    - Dst: safe_div_int
      Src: /src/openssl/test/safe_math_test.c:79,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:81,1
    - Dst: safe_mod_int
      Src: /src/openssl/test/safe_math_test.c:85,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:87,1
    - Dst: safe_div_round_up_int
      Src: /src/openssl/test/safe_math_test.c:91,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:92,1
    - Dst: safe_mod_int
      Src: /src/openssl/test/safe_math_test.c:94,1
    - Dst: safe_add_int
      Src: /src/openssl/test/safe_math_test.c:95,1
    - Dst: safe_div_int
      Src: /src/openssl/test/safe_math_test.c:95,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:96,1
    - Dst: safe_neg_int
      Src: /src/openssl/test/safe_math_test.c:100,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:101,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:102,1
    - Dst: safe_neg_int
      Src: /src/openssl/test/safe_math_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:107,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:108,1
    - Dst: safe_abs_int
      Src: /src/openssl/test/safe_math_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:113,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:114,1
    - Dst: safe_abs_int
      Src: /src/openssl/test/safe_math_test.c:118,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:119,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:120,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:124,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 61
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 126
    functionName: test_int_ops
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - safe_mul_int
    - safe_div_int
    - safe_abs_int
    - TEST_int_eq
    - safe_div_round_up_int
    - TEST_info
    - safe_mod_int
    - safe_add_int
    - safe_sub_int
    - safe_neg_int
    linkageType: ''
    returnType: int
    signature: int test_int_ops(int n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: safe_add_uint
      Src: /src/openssl/test/safe_math_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:151,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:152,1
    - Dst: safe_sub_uint
      Src: /src/openssl/test/safe_math_test.c:156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:157,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:158,1
    - Dst: safe_mul_uint
      Src: /src/openssl/test/safe_math_test.c:162,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:163,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:164,1
    - Dst: safe_div_uint
      Src: /src/openssl/test/safe_math_test.c:168,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:169,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:170,1
    - Dst: safe_mod_uint
      Src: /src/openssl/test/safe_math_test.c:174,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:175,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:176,1
    - Dst: safe_div_round_up_uint
      Src: /src/openssl/test/safe_math_test.c:180,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:181,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:182,1
    - Dst: safe_neg_uint
      Src: /src/openssl/test/safe_math_test.c:186,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:187,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:187,1
    - Dst: safe_neg_uint
      Src: /src/openssl/test/safe_math_test.c:191,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:192,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:192,1
    - Dst: safe_abs_uint
      Src: /src/openssl/test/safe_math_test.c:196,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:197,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:197,1
    - Dst: safe_abs_uint
      Src: /src/openssl/test/safe_math_test.c:201,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:202,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:202,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:206,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 56
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 208
    functionName: test_uint_ops
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - safe_sub_uint
    - safe_add_uint
    - safe_div_uint
    - safe_neg_uint
    - safe_abs_uint
    - TEST_int_eq
    - TEST_info
    - safe_mod_uint
    - safe_div_round_up_uint
    - TEST_uint_eq
    - safe_mul_uint
    linkageType: ''
    returnType: int
    signature: int test_uint_ops(int n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: safe_add_size_t
      Src: /src/openssl/test/safe_math_test.c:233,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:234,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:235,1
    - Dst: safe_sub_size_t
      Src: /src/openssl/test/safe_math_test.c:239,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:240,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:241,1
    - Dst: safe_mul_size_t
      Src: /src/openssl/test/safe_math_test.c:245,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:246,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:247,1
    - Dst: safe_div_size_t
      Src: /src/openssl/test/safe_math_test.c:251,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:252,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:253,1
    - Dst: safe_mod_size_t
      Src: /src/openssl/test/safe_math_test.c:257,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:258,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:259,1
    - Dst: safe_div_round_up_size_t
      Src: /src/openssl/test/safe_math_test.c:263,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:264,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:265,1
    - Dst: safe_neg_size_t
      Src: /src/openssl/test/safe_math_test.c:269,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:270,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:270,1
    - Dst: safe_neg_size_t
      Src: /src/openssl/test/safe_math_test.c:274,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:275,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:275,1
    - Dst: safe_abs_size_t
      Src: /src/openssl/test/safe_math_test.c:279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:280,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:280,1
    - Dst: safe_abs_size_t
      Src: /src/openssl/test/safe_math_test.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:285,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/safe_math_test.c:285,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:289,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 56
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 291
    functionName: test_size_t_ops
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - safe_mod_size_t
    - safe_mul_size_t
    - safe_div_size_t
    - TEST_int_eq
    - TEST_info
    - safe_sub_size_t
    - safe_abs_size_t
    - safe_add_size_t
    - TEST_size_t_eq
    - safe_div_round_up_size_t
    - safe_neg_size_t
    linkageType: ''
    returnType: int
    signature: int test_size_t_ops(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safe_muldiv_int
      Src: /src/openssl/test/safe_math_test.c:321,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:324,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:325,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 330
    functionName: test_int_muldiv
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - safe_muldiv_int
    - TEST_int_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_int_muldiv(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safe_muldiv_uint
      Src: /src/openssl/test/safe_math_test.c:353,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/safe_math_test.c:356,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/safe_math_test.c:357,1
    - Dst: TEST_info
      Src: /src/openssl/test/safe_math_test.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 362
    functionName: test_uint_muldiv
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - safe_muldiv_uint
    - TEST_uint_eq
    - TEST_int_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_uint_muldiv(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/safe_math_test.c:366,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/safe_math_test.c:366,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/safe_math_test.c:367,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/safe_math_test.c:367,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/safe_math_test.c:368,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/safe_math_test.c:368,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/safe_math_test.c:369,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/safe_math_test.c:369,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/safe_math_test.c:370,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/safe_math_test.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/safe_math_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/dtlstest.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: generate_cookie_cb
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int generate_cookie_cb(SSL *ssl, unsigned char *cookie,\n                              unsigned
      int *cookie_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dtlstest.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: verify_cookie_cb
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int verify_cookie_cb(SSL *ssl, const unsigned char *cookie,\n                            unsigned
      int cookie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - timer_us
    argTypes:
    - SSL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: timer_cb
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int timer_cb(SSL *s, unsigned int timer_us)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:80,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:80,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:80,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:87,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:91,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:91,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:92,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:92,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlstest.c:97,1
    - Dst: bio_f_tls_dump_filter
      Src: /src/openssl/test/dtlstest.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:102,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:102,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:106,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:116,1
    - Dst: BIO_next
      Src: /src/openssl/test/dtlstest.c:117,1
    - Dst: mempacket_test_inject
      Src: /src/openssl/test/dtlstest.c:118,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:127,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/dtlstest.c:127,1
    - Dst: printf
      Src: /src/openssl/test/dtlstest.c:132,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:138,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:139,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:140,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:141,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 1
    argNames:
    - testidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 71
    functionDepth: 5
    functionLinenumber: 71
    functionLinenumberEnd: 144
    functionName: test_dtls_unprocessed
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - SSL_CTX_free
    - create_bare_ssl_connection
    - bio_f_tls_dump_filter
    - SSL_free
    - SSL_CTX_set_cipher_list
    - DTLS_client_method
    - TEST_ptr
    - SSL_get_wbio
    - create_ssl_objects
    - BIO_next
    - TEST_true
    - create_ssl_ctx_pair
    - mempacket_test_inject
    - DTLS_set_timer_cb
    - printf
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_dtls_unprocessed(int testidx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:202,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:202,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:202,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:210,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:210,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:211,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:216,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/dtlstest.c:216,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/dtlstest.c:219,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/test/dtlstest.c:220,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/test/dtlstest.c:221,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:225,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:227,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtlstest.c:227,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:229,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/dtlstest.c:229,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/dtlstest.c:232,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/dtlstest.c:233,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:234,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:235,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlstest.c:250,1
    - Dst: bio_f_tls_dump_filter
      Src: /src/openssl/test/dtlstest.c:250,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:255,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:260,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/dtlstest.c:260,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:264,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:265,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:269,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:276,1
    - Dst: BIO_next
      Src: /src/openssl/test/dtlstest.c:281,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:283,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:286,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtlstest.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:289,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/dtlstest.c:289,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:293,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:293,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/dtlstest.c:299,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:300,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:301,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:302,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:303,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 306
    functionName: test_dtls_drop_records
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - bio_f_tls_dump_filter
    - TEST_ptr
    - create_ssl_ctx_pair
    - BIO_new
    - SSL_CTX_free
    - SSL_CTX_set_options
    - BIO_ctrl
    - DTLS_client_method
    - SSL_CTX_set_dh_auto
    - create_ssl_objects
    - TEST_true
    - DTLS_set_timer_cb
    - SSL_CTX_set_cookie_generate_cb
    - SSL_CTX_set_cookie_verify_cb
    - SSL_free
    - SSL_SESSION_free
    - SSL_CTX_set_cipher_list
    - SSL_shutdown
    - DTLS_server_method
    - TEST_int_eq
    - SSL_get1_session
    - SSL_get_wbio
    - BIO_next
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_dtls_drop_records(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:315,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:315,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:315,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:316,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/dtlstest.c:321,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/test/dtlstest.c:322,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/test/dtlstest.c:323,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:327,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:327,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:328,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:328,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:333,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:333,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:335,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtlstest.c:335,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:341,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:342,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:343,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 347
    functionName: test_cookie
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_cookie_generate_cb
    - SSL_CTX_free
    - SSL_CTX_set_cookie_verify_cb
    - SSL_free
    - SSL_CTX_set_options
    - SSL_CTX_set_cipher_list
    - DTLS_client_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_cookie(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:355,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:355,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:355,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:356,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:363,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:363,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:364,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:364,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:369,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:369,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:373,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:374,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:376,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:376,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/dtlstest.c:377,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:377,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:379,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtlstest.c:379,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:384,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:385,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:386,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:387,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 390
    functionName: test_dtls_duplicate_records
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - BIO_ctrl
    - SSL_CTX_set_cipher_list
    - DTLS_client_method
    - SSL_get_wbio
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - DTLS_set_timer_cb
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_dtls_duplicate_records(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:423,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:423,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:423,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:430,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:430,1
    - Dst: SSL_new
      Src: /src/openssl/test/dtlstest.c:434,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlstest.c:435,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/dtlstest.c:435,1
    - Dst: BIO_new
      Src: /src/openssl/test/dtlstest.c:436,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/dtlstest.c:436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:438,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:438,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:438,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/dtlstest.c:442,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/dtlstest.c:443,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:445,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:447,1
    - Dst: BIO_write
      Src: /src/openssl/test/dtlstest.c:447,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:451,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:451,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:455,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtlstest.c:455,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:458,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/dtlstest.c:458,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/dtlstest.c:458,1
    - Dst: BIO_free
      Src: /src/openssl/test/dtlstest.c:463,1
    - Dst: BIO_free
      Src: /src/openssl/test/dtlstest.c:464,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:465,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:466,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 396
    functionDepth: 5
    functionLinenumber: 396
    functionLinenumberEnd: 469
    functionName: test_just_finished
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - SSL_set0_rbio
    - BIO_s_mem
    - TEST_ptr
    - create_ssl_ctx_pair
    - BIO_write
    - BIO_new
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_CTX_free
    - TEST_true
    - DTLS_set_timer_cb
    - ERR_get_error
    - SSL_free
    - BIO_free
    - SSL_CTX_set_cipher_list
    - SSL_new
    - DTLS_server_method
    - TEST_int_eq
    - ERR_GET_REASON
    - SSL_accept
    linkageType: ''
    returnType: int
    signature: int test_just_finished(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:487,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:487,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:487,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:488,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:494,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:494,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:498,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:498,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:499,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:504,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:504,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:509,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:509,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:513,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:513,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:517,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:517,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:522,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:523,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:524,1
    - Dst: mempacket_swap_epoch
      Src: /src/openssl/test/dtlstest.c:524,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtlstest.c:529,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:529,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:533,1
    - Dst: SSL_write
      Src: /src/openssl/test/dtlstest.c:533,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:536,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:537,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:541,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtlstest.c:541,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:545,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtlstest.c:545,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:549,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:550,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtlstest.c:550,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtlstest.c:558,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:558,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:563,1
    - Dst: SSL_pending
      Src: /src/openssl/test/dtlstest.c:563,1
    - Dst: TEST_false
      Src: /src/openssl/test/dtlstest.c:564,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/dtlstest.c:564,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:569,1
    - Dst: SSL_pending
      Src: /src/openssl/test/dtlstest.c:569,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:570,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/dtlstest.c:570,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:577,1
    - Dst: SSL_read
      Src: /src/openssl/test/dtlstest.c:577,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:582,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:583,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:584,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:585,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 76
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 588
    functionName: test_swap_records
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - mempacket_move_packet
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SSL_read
    - SSL_pending
    - DTLS_client_method
    - create_ssl_objects
    - TEST_true
    - mempacket_swap_epoch
    - SSL_free
    - SSL_CTX_set_cipher_list
    - DTLS_server_method
    - TEST_false
    - TEST_int_eq
    - SSL_accept
    - SSL_connect
    - SSL_write
    - SSL_get_wbio
    - SSL_has_pending
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_swap_records(int idx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:600,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:600,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:600,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:601,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:607,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:607,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:611,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:611,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:612,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:612,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:617,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:617,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:622,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:622,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:626,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:626,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:630,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:630,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtlstest.c:634,1
    - Dst: SSL_accept
      Src: /src/openssl/test/dtlstest.c:634,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/dtlstest.c:637,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:638,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:645,1
    - Dst: SSL_write
      Src: /src/openssl/test/dtlstest.c:645,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:648,1
    - Dst: mempacket_dup_last_packet
      Src: /src/openssl/test/dtlstest.c:648,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:652,1
    - Dst: mempacket_move_packet
      Src: /src/openssl/test/dtlstest.c:652,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtlstest.c:659,1
    - Dst: SSL_connect
      Src: /src/openssl/test/dtlstest.c:659,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:665,1
    - Dst: SSL_read
      Src: /src/openssl/test/dtlstest.c:665,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dtlstest.c:668,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dtlstest.c:675,1
    - Dst: SSL_read
      Src: /src/openssl/test/dtlstest.c:675,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtlstest.c:676,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/dtlstest.c:676,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:681,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:682,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:683,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:684,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 687
    functionName: test_duplicate_app_data
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - mempacket_move_packet
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_get_error
    - SSL_CTX_free
    - SSL_read
    - DTLS_client_method
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - SSL_CTX_set_cipher_list
    - DTLS_server_method
    - TEST_int_eq
    - SSL_accept
    - SSL_connect
    - SSL_write
    - SSL_get_wbio
    - mempacket_dup_last_packet
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_duplicate_app_data(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:696,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/dtlstest.c:696,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/dtlstest.c:696,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/dtlstest.c:697,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:704,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:704,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:705,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtlstest.c:705,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/test/dtlstest.c:710,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/test/dtlstest.c:711,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:713,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtlstest.c:713,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:717,1
    - Dst: DTLS_set_timer_cb
      Src: /src/openssl/test/dtlstest.c:718,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtlstest.c:724,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/dtlstest.c:724,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:730,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtlstest.c:731,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:732,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtlstest.c:733,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 736
    functionName: test_listen
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cookie_generate_cb
    - SSL_CTX_free
    - SSL_CTX_set_cookie_verify_cb
    - create_bare_ssl_connection
    - SSL_free
    - SSL_CTX_set_cipher_list
    - DTLS_client_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - DTLS_set_timer_cb
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_listen(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/dtlstest.c:742,1
    - Dst: TEST_error
      Src: /src/openssl/test/dtlstest.c:743,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:747,1
    - Dst: test_get_argument
      Src: /src/openssl/test/dtlstest.c:747,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtlstest.c:748,1
    - Dst: test_get_argument
      Src: /src/openssl/test/dtlstest.c:748,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtlstest.c:751,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtlstest.c:753,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:755,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:756,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:757,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dtlstest.c:758,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:759,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtlstest.c:760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 763
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_f_tls_dump_filter_free
      Src: /src/openssl/test/dtlstest.c:767,1
    - Dst: bio_s_mempacket_test_free
      Src: /src/openssl/test/dtlstest.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/dtlstest.c
    functionUses: 6
    functionsReached:
    - bio_s_mempacket_test_free
    - bio_f_tls_dump_filter_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: CUSTOM_DATA
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUSTOM_DATA(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - znum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: CUSTOM_EXPECTED_SUCCESS
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUSTOM_EXPECTED_SUCCESS(num, znum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - znum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: ENCDEC_DATA
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCDEC_DATA(num, znum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - max
    - ','
    - zmax
    - ','
    - min
    - ','
    - zmin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: ENCDEC_ARRAY
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCDEC_ARRAY(max, zmax, min, zmin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PACKAGE*::d2i
      Src: /src/openssl/test/asn1_encode_test.c:493,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/asn1_encode_test.c:497,1
    - Dst: memcmp
      Src: /src/openssl/test/asn1_encode_test.c:503,1
    - Dst: TEST_PACKAGE*::ifree
      Src: /src/openssl/test/asn1_encode_test.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - bytes
    - nbytes
    - expected
    - expected_size
    - package
    argTypes:
    - unsigned char*
    - long
    - EXPECTED*
    - size_t
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 511
    functionName: do_decode
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - TEST_PACKAGE*::d2i
    - ERR_clear_error
    - TEST_PACKAGE*::ifree
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int do_decode(unsigned char *bytes, long nbytes,\n                     const
      EXPECTED *expected, size_t expected_size,\n                     const TEST_PACKAGE
      *package)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PACKAGE*::i2d
      Src: /src/openssl/test/asn1_encode_test.c:528,1
    - Dst: memcmp
      Src: /src/openssl/test/asn1_encode_test.c:533,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/asn1_encode_test.c:536,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - input
    - expected
    - expected_len
    - package
    argTypes:
    - EXPECTED*
    - unsigned char*
    - size_t
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 546
    functionName: do_encode
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - TEST_PACKAGE*::i2d
    - OPENSSL_free
    - ERR_clear_error
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int do_encode(EXPECTED *input,\n                     const unsigned
      char *expected, size_t expected_len,\n                     const TEST_PACKAGE
      *package)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PACKAGE*::i2d
      Src: /src/openssl/test/asn1_encode_test.c:557,1
    - Dst: do_decode
      Src: /src/openssl/test/asn1_encode_test.c:561,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bytes
    - nbytes
    - package
    argTypes:
    - EXPECTED*
    - long
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 564
    functionName: do_enc_dec
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - TEST_PACKAGE*::i2d
    - do_decode
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int do_enc_dec(EXPECTED *bytes, long nbytes,\n                      const
      TEST_PACKAGE *package)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_encode_test.c:570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - len
    - pp
    argTypes:
    - size_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 592
    functionName: der_encode_length
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    linkageType: ''
    returnType: size_t
    signature: size_t der_encode_length(size_t len, unsigned char **pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:606,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:619,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:622,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:631,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/asn1_encode_test.c:634,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:640,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_encode_test.c:643,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:648,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_encode_test.c:649,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:656,1
    - Dst: der_encode_length
      Src: /src/openssl/test/asn1_encode_test.c:658,1
    - Dst: memcpy
      Src: /src/openssl/test/asn1_encode_test.c:659,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_encode_test.c:663,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - custom_data
    - encoding
    - explicit_default
    argTypes:
    - TEST_CUSTOM_DATA*
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 666
    functionName: make_custom_der
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_assert
    - OPENSSL_malloc
    - der_encode_length
    linkageType: ''
    returnType: size_t
    signature: "size_t make_custom_der(const TEST_CUSTOM_DATA *custom_data,\n                              unsigned
      char **encoding, int explicit_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_custom_der
      Src: /src/openssl/test/asn1_encode_test.c:678,1
    - Dst: do_decode
      Src: /src/openssl/test/asn1_encode_test.c:684,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - custom_data
    - expected
    - expected_size
    - package
    argTypes:
    - TEST_CUSTOM_DATA*
    - EXPECTED*
    - size_t
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 689
    functionName: do_decode_custom
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - make_custom_der
    - do_decode
    linkageType: ''
    returnType: int
    signature: "int do_decode_custom(const TEST_CUSTOM_DATA *custom_data,\n                            const
      EXPECTED *expected, size_t expected_size,\n                            const
      TEST_PACKAGE *package)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_custom_der
      Src: /src/openssl/test/asn1_encode_test.c:697,1
    - Dst: do_encode
      Src: /src/openssl/test/asn1_encode_test.c:703,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - input
    - custom_data
    - package
    argTypes:
    - EXPECTED*
    - TEST_CUSTOM_DATA*
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 707
    functionName: do_encode_custom
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - make_custom_der
    - do_encode
    linkageType: ''
    returnType: int
    signature: "int do_encode_custom(EXPECTED *input,\n                            const
      TEST_CUSTOM_DATA *custom_data,\n                            const TEST_PACKAGE
      *package)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/test/asn1_encode_test.c:712,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_encode_test.c:716,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/asn1_encode_test.c:717,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/asn1_encode_test.c:720,1
    - Dst: ASN1_item_print
      Src: /src/openssl/test/asn1_encode_test.c:722,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asn1_encode_test.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - package
    argTypes:
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 709
    functionDepth: 8
    functionLinenumber: 709
    functionLinenumberEnd: 726
    functionName: do_print_item
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - ASN1_item_print
    - ASN1_ITEM_ptr
    - RAND_bytes
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int do_print_item(const TEST_PACKAGE *package)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/asn1_encode_test.c:741,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/asn1_encode_test.c:741,1
    - Dst: do_encode_custom
      Src: /src/openssl/test/asn1_encode_test.c:747,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:750,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:752,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:757,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:759,1
    - Dst: OPENSSL_die
      Src: /src/openssl/test/asn1_encode_test.c:765,1
    - Dst: do_decode_custom
      Src: /src/openssl/test/asn1_encode_test.c:768,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:773,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:775,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:780,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:782,1
    - Dst: OPENSSL_die
      Src: /src/openssl/test/asn1_encode_test.c:788,1
    - Dst: do_enc_dec
      Src: /src/openssl/test/asn1_encode_test.c:800,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:804,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:806,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:811,1
    - Dst: OPENSSL_die
      Src: /src/openssl/test/asn1_encode_test.c:818,1
    - Dst: do_print_item
      Src: /src/openssl/test/asn1_encode_test.c:823,1
    - Dst: TEST_error
      Src: /src/openssl/test/asn1_encode_test.c:824,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/asn1_encode_test.c:825,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 1
    argNames:
    - package
    argTypes:
    - TEST_PACKAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 729
    functionDepth: 9
    functionLinenumber: 729
    functionLinenumberEnd: 830
    functionName: test_intern
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - do_encode_custom
    - OPENSSL_assert
    - do_enc_dec
    - do_decode_custom
    - OSSL_NELEM
    - TEST_openssl_errors
    - OPENSSL_die
    - do_print_item
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_intern(const TEST_PACKAGE *package)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/openssl/test/asn1_encode_test.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 10
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: test_long_32bit
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: int test_long_32bit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/openssl/test/asn1_encode_test.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 10
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: test_long_64bit
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: int test_long_64bit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/openssl/test/asn1_encode_test.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 10
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: test_int32
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: int test_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/openssl/test/asn1_encode_test.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 10
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: test_uint32
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: int test_uint32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/openssl/test/asn1_encode_test.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 10
    functionLinenumber: 854
    functionLinenumberEnd: 857
    functionName: test_int64
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: int test_int64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_intern
      Src: /src/openssl/test/asn1_encode_test.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 10
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: test_uint64
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - test_intern
    linkageType: ''
    returnType: int
    signature: int test_uint64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INVALIDTEMPLATE_new
      Src: /src/openssl/test/asn1_encode_test.c:881,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_encode_test.c:884,1
    - Dst: i2d_INVALIDTEMPLATE
      Src: /src/openssl/test/asn1_encode_test.c:887,1
    - Dst: INVALIDTEMPLATE_free
      Src: /src/openssl/test/asn1_encode_test.c:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 893
    functionName: test_invalid_template
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - INVALIDTEMPLATE_free
    - TEST_ptr
    - i2d_INVALIDTEMPLATE
    - INVALIDTEMPLATE_new
    linkageType: ''
    returnType: int
    signature: int test_invalid_template(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_encode_test.c:899,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_encode_test.c:900,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_encode_test.c:902,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_encode_test.c:903,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_encode_test.c:904,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_encode_test.c:905,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_encode_test.c:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 908
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_encode_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:141,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_mp_test.c:141,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:142,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:143,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:144,1
    - Dst: RSA_size
      Src: /src/openssl/test/rsa_mp_test.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: key2048_key
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - RSA_set0_key
    - TEST_int_eq
    - RSA_size
    linkageType: ''
    returnType: int
    signature: int key2048_key(RSA *key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RSA_size
      Src: /src/openssl/test/rsa_mp_test.c:153,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:156,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/rsa_mp_test.c:156,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:157,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:161,1
    - Dst: RSA_set0_crt_params
      Src: /src/openssl/test/rsa_mp_test.c:161,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:162,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:163,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:164,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/rsa_mp_test.c:168,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/rsa_mp_test.c:169,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/rsa_mp_test.c:170,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:171,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:174,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:175,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:176,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:177,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:177,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_mp_test.c:180,1
    - Dst: RSA_set0_multi_prime_params
      Src: /src/openssl/test/rsa_mp_test.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rsa_mp_test.c:185,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rsa_mp_test.c:186,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rsa_mp_test.c:187,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_mp_test.c:191,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_mp_test.c:193,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_mp_test.c:195,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 198
    functionName: key2048p3_v1
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_factors
    - RSA_set0_crt_params
    - OPENSSL_zalloc
    - RSA_set0_multi_prime_params
    - TEST_int_eq
    - RSA_size
    - BN_bin2bn
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int key2048p3_v1(RSA *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/rsa_mp_test.c:202,1
    - Dst: RSA_size
      Src: /src/openssl/test/rsa_mp_test.c:204,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:206,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/test/rsa_mp_test.c:206,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:207,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/test/rsa_mp_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:208,1
    - Dst: sk_BIGNUM_new_null
      Src: /src/openssl/test/rsa_mp_test.c:208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:211,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:211,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:212,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:212,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:213,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:213,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:214,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:214,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:215,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:215,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:216,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:216,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:219,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:219,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:220,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:221,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:221,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:222,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:223,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:223,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:224,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:224,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:227,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:227,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:228,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:228,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:229,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_mp_test.c:229,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/rsa_mp_test.c:230,1
    - Dst: sk_BIGNUM_push
      Src: /src/openssl/test/rsa_mp_test.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_mp_test.c:233,1
    - Dst: ossl_rsa_set0_all_params
      Src: /src/openssl/test/rsa_mp_test.c:233,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/test/rsa_mp_test.c:237,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/test/rsa_mp_test.c:238,1
    - Dst: sk_BIGNUM_free
      Src: /src/openssl/test/rsa_mp_test.c:239,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/test/rsa_mp_test.c:242,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/test/rsa_mp_test.c:243,1
    - Dst: sk_BIGNUM_pop_free
      Src: /src/openssl/test/rsa_mp_test.c:244,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 32
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 248
    functionName: key2048p3_v2
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - sk_BIGNUM_new_null
    - sk_BIGNUM_push
    - TEST_int_ne
    - RSA_size
    - BN_bin2bn
    - STACK_OF
    - ossl_rsa_set0_all_params
    - sk_BIGNUM_free
    - sk_BIGNUM_pop_free
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int key2048p3_v2(RSA *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_mp_test.c:266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:267,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:270,1
    - Dst: key2048_key
      Src: /src/openssl/test/rsa_mp_test.c:270,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:271,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_mp_test.c:274,1
    - Dst: RSA_check_key_ex
      Src: /src/openssl/test/rsa_mp_test.c:274,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/test/rsa_mp_test.c:277,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:279,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_mp_test.c:282,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rsa_mp_test.c:283,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_mp_test.c:288,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 250
    functionDepth: 10
    functionLinenumber: 250
    functionLinenumberEnd: 290
    functionName: test_rsa_mp
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - RSA_new
    - RSA_private_decrypt
    - TEST_int_eq
    - key2048_key
    - RSA_check_key_ex
    - RSA_public_encrypt
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_rsa_mp(int i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:298,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_mp_test.c:298,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_mp_test.c:301,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_mp_test.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_mp_test.c:303,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_mp_test.c:303,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:307,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/openssl/test/rsa_mp_test.c:307,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:311,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/openssl/test/rsa_mp_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_mp_test.c:315,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/openssl/test/rsa_mp_test.c:315,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_mp_test.c:319,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_mp_test.c:320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 322
    functionName: test_rsa_mp_gen_bad_input
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - RSA_new
    - BN_set_word
    - TEST_int_eq
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - RSA_generate_multi_prime_key
    linkageType: ''
    returnType: int
    signature: int test_rsa_mp_gen_bad_input(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_mp_test.c:326,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_mp_test.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rsa_mp_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/wpackettest.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: cleanup
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 109
    functionsReached:
    - WPACKET_cleanup
    linkageType: ''
    returnType: int
    signature: int cleanup(WPACKET *pkt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:72,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:73,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:73,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:75,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:77,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:77,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:82,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:82,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:83,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:84,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:84,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:85,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:89,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:90,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:91,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:91,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:92,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:92,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:93,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:97,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:98,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:99,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:99,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:100,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:100,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:101,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:104,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:104,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:105,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/wpackettest.c:111,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:111,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:112,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:114,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:114,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:115,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:118,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/wpackettest.c:118,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:120,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/test/wpackettest.c:120,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:122,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:122,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:124,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:125,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:125,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:126,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:128,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/test/wpackettest.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:130,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/test/wpackettest.c:130,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:132,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:132,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:133,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:134,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:134,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:135,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:136,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 139
    functionName: test_WPACKET_init
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - TEST_false
    - WPACKET_close
    - TEST_int_eq
    - WPACKET_get_total_written
    - WPACKET_put_bytes_u24
    - cleanup
    - WPACKET_init_len
    - TEST_true
    - WPACKET_init
    - TEST_mem_eq
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:146,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:146,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:151,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/test/wpackettest.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:153,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/test/wpackettest.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:155,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/test/wpackettest.c:155,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:156,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:156,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:159,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:159,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:164,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/test/wpackettest.c:164,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:169,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/test/wpackettest.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:171,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/test/wpackettest.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:173,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/test/wpackettest.c:173,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:175,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:175,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:177,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/test/wpackettest.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:178,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:178,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:179,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:179,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:180,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:180,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:181,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:181,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:182,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:183,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 186
    functionName: test_WPACKET_set_max_size
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_set_max_size
    - WPACKET_put_bytes_u8
    - TEST_false
    - WPACKET_get_total_written
    - cleanup
    - WPACKET_init_len
    - TEST_true
    - WPACKET_init
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_set_max_size(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:194,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:194,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:195,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:196,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:196,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:198,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:199,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:199,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:201,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:203,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:204,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:204,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:205,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:209,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:210,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:210,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:211,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:212,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:212,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:213,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:213,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:214,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:214,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:215,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:219,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:219,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:220,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:221,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:221,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:222,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:222,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:223,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:223,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:224,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:224,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:226,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:227,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:227,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:229,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:230,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:231,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:231,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:232,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:233,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:236,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:237,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:238,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:238,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:239,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:239,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:240,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:241,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:241,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:242,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:243,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:244,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:244,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:245,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:249,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:250,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:251,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:252,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:253,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:254,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:254,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:256,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:257,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:257,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:259,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:259,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:260,1
    - Dst: WPACKET_fill_lengths
      Src: /src/openssl/test/wpackettest.c:260,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:261,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:261,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:263,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:263,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:264,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 267
    functionName: test_WPACKET_start_sub_packet
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - WPACKET_finish
    - WPACKET_put_bytes_u8
    - TEST_false
    - WPACKET_close
    - WPACKET_get_total_written
    - WPACKET_fill_lengths
    - WPACKET_get_length
    - cleanup
    - TEST_true
    - TEST_size_t_eq
    - WPACKET_init
    - TEST_mem_eq
    - WPACKET_start_sub_packet_u8
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_start_sub_packet(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:276,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:277,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:277,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:279,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:280,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:281,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:281,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:282,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:282,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:283,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:287,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:288,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:289,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:289,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:291,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:292,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:293,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:293,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:294,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:295,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:295,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:296,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:300,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:301,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:302,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:303,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:303,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:304,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:305,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:308,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:308,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:309,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:309,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:310,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:310,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:311,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:311,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:312,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:312,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:313,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:313,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:314,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:318,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:318,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:319,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/test/wpackettest.c:319,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:320,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:321,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:322,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:322,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:323,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:323,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:324,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:324,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:325,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:326,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 328
    functionName: test_WPACKET_set_flags
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_start_sub_packet
    - WPACKET_put_bytes_u8
    - TEST_false
    - WPACKET_close
    - WPACKET_set_flags
    - WPACKET_get_total_written
    - cleanup
    - WPACKET_init_len
    - TEST_true
    - TEST_size_t_eq
    - WPACKET_init
    - TEST_mem_eq
    - WPACKET_start_sub_packet_u8
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_set_flags(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:336,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:336,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:337,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/test/wpackettest.c:337,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:338,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:341,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:341,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:342,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:342,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:343,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:344,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:347,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:347,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:348,1
    - Dst: WPACKET_sub_allocate_bytes_u8
      Src: /src/openssl/test/wpackettest.c:348,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:349,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:352,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:352,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:353,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:353,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:354,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:355,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 358
    functionName: test_WPACKET_allocate_bytes
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - TEST_true
    - WPACKET_get_total_written
    - cleanup
    - WPACKET_allocate_bytes
    - WPACKET_init_len
    - TEST_mem_eq
    - WPACKET_sub_allocate_bytes_u8
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_allocate_bytes(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:366,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:366,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:367,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/wpackettest.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:368,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:368,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:369,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:369,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:370,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:371,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:374,1
    - Dst: WPACKET_init_len
      Src: /src/openssl/test/wpackettest.c:374,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:375,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/test/wpackettest.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:376,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:376,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:377,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:377,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:378,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 382
    functionName: test_WPACKET_memcpy
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_sub_memcpy_u8
    - WPACKET_get_total_written
    - cleanup
    - WPACKET_init_len
    - TEST_true
    - TEST_mem_eq
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_memcpy(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:396,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/test/wpackettest.c:396,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:397,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/test/wpackettest.c:397,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:399,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:400,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/wpackettest.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:401,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:402,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/test/wpackettest.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:404,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:405,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/test/wpackettest.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:406,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:407,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:407,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:408,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:408,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:409,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:410,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:410,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:411,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:411,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:412,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/test/wpackettest.c:412,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:414,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/wpackettest.c:417,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/wpackettest.c:417,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:427,1
    - Dst: WPACKET_init_null_der
      Src: /src/openssl/test/wpackettest.c:427,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:430,1
    - Dst: WPACKET_init_der
      Src: /src/openssl/test/wpackettest.c:430,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:433,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/test/wpackettest.c:433,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:434,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/wpackettest.c:434,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:436,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:436,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:437,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:437,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:438,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:438,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:439,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:447,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:448,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/test/wpackettest.c:448,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 384
    functionDepth: 8
    functionLinenumber: 384
    functionLinenumberEnd: 453
    functionName: test_WPACKET_init_der
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - WPACKET_finish
    - WPACKET_put_bytes_u8
    - WPACKET_init_der
    - WPACKET_get_curr
    - WPACKET_close
    - WPACKET_set_flags
    - WPACKET_get_total_written
    - RAND_bytes
    - WPACKET_put_bytes_u24
    - cleanup
    - TEST_true
    - TEST_size_t_eq
    - TEST_mem_eq
    - WPACKET_init_null_der
    - WPACKET_memcpy
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_init_der(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:464,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:464,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:465,1
    - Dst: WPACKET_start_quic_sub_packet
      Src: /src/openssl/test/wpackettest.c:465,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:466,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:466,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:468,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:469,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:469,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:471,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:471,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:473,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:473,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:474,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:474,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:475,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:476,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:479,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:479,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:480,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:480,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:481,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:481,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:482,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:482,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:483,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:483,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:484,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:484,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:485,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:485,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:486,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:486,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:487,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:488,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:491,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:491,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:492,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:492,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:493,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:493,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:494,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:494,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:495,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:495,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:496,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:496,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:497,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:497,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:498,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:498,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:499,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:500,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:503,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:503,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:504,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:504,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:505,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:505,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:506,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:506,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:507,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:507,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:508,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:509,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:509,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:510,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:510,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:511,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:512,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:515,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:515,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:516,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:516,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:517,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:517,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:518,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:518,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:519,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:519,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:520,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:520,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:521,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:521,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:522,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:522,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:523,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:524,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:527,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:527,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:528,1
    - Dst: WPACKET_quic_sub_allocate_bytes
      Src: /src/openssl/test/wpackettest.c:528,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:535,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:535,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:536,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:536,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:537,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:538,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:541,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:541,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:542,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:542,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:543,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:543,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:544,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:545,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:545,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:546,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:546,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:547,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:547,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:548,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:549,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:549,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:550,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:550,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:551,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:551,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:552,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:553,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:553,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:554,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:554,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:555,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:555,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:556,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:556,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:557,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/test/wpackettest.c:557,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/wpackettest.c:558,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:559,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:559,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:560,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:560,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:561,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:561,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:562,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:562,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:563,1
    - Dst: WPACKET_start_quic_sub_packet_bound
      Src: /src/openssl/test/wpackettest.c:563,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:564,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:564,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:565,1
    - Dst: WPACKET_close
      Src: /src/openssl/test/wpackettest.c:565,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:566,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/wpackettest.c:566,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:567,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:567,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/wpackettest.c:568,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:569,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:572,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:572,1
    - Dst: TEST_false
      Src: /src/openssl/test/wpackettest.c:573,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:573,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:574,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:574,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:575,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/wpackettest.c:577,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 457
    functionDepth: 5
    functionLinenumber: 457
    functionLinenumberEnd: 579
    functionName: test_WPACKET_quic
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_quic_write_vlint
    - WPACKET_cleanup
    - WPACKET_start_quic_sub_packet_bound
    - TEST_false
    - WPACKET_close
    - WPACKET_start_quic_sub_packet
    - WPACKET_get_total_written
    - WPACKET_get_length
    - cleanup
    - TEST_true
    - TEST_size_t_eq
    - WPACKET_init
    - TEST_mem_eq
    - WPACKET_quic_sub_allocate_bytes
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_quic(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/wpackettest.c:590,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/wpackettest.c:590,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:591,1
    - Dst: memcpy
      Src: /src/openssl/test/wpackettest.c:593,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:613,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/wpackettest.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:614,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/test/wpackettest.c:614,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:615,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/wpackettest.c:615,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:616,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:618,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/wpackettest.c:618,1
    - Dst: TEST_true
      Src: /src/openssl/test/wpackettest.c:619,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/test/wpackettest.c:619,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/wpackettest.c:620,1
    - Dst: cleanup
      Src: /src/openssl/test/wpackettest.c:621,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/wpackettest.c:623,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/wpackettest.c:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 581
    functionDepth: 8
    functionLinenumber: 581
    functionLinenumberEnd: 628
    functionName: test_WPACKET_quic_vlint_random
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - WPACKET_quic_write_vlint
    - PACKET_buf_init
    - WPACKET_cleanup
    - memcpy
    - TEST_uint64_t_eq
    - WPACKET_get_total_written
    - RAND_bytes
    - cleanup
    - TEST_true
    - PACKET_get_quic_vlint
    - WPACKET_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_WPACKET_quic_vlint_random(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/wpackettest.c:634,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/wpackettest.c:634,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:637,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:638,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:639,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:640,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:641,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:642,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:643,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:645,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/wpackettest.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 649
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ADD_TEST
    - BUF_MEM_new
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/wpackettest.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/wpackettest.c
    functionUses: 6
    functionsReached:
    - BUF_MEM_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cert_comp_test.c:49,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/test/cert_comp_test.c:49,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/cert_comp_test.c:52,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cert_comp_test.c:53,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cert_comp_test.c:56,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/cert_comp_test.c:56,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cert_comp_test.c:57,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/cert_comp_test.c:57,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cert_comp_test.c:58,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/cert_comp_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cert_comp_test.c:59,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/cert_comp_test.c:59,1
    - Dst: BIO_free
      Src: /src/openssl/test/cert_comp_test.c:67,1
    - Dst: BIO_free
      Src: /src/openssl/test/cert_comp_test.c:68,1
    - Dst: X509_free
      Src: /src/openssl/test/cert_comp_test.c:71,1
    - Dst: BIO_free
      Src: /src/openssl/test/cert_comp_test.c:72,1
    - Dst: BIO_free
      Src: /src/openssl/test/cert_comp_test.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - x509
    - pkey
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: client_cert_cb
    functionSourceFile: /src/openssl/test/cert_comp_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - X509_free
    - X509_new_ex
    - TEST_ptr
    - SSL_get0_peer_certificate
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int client_cert_cb(SSL *ssl, X509 **x509, EVP_PKEY **pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: verify_cb
    functionSourceFile: /src/openssl/test/cert_comp_test.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_cb(int preverify_ok, X509_STORE_CTX *x509_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/cert_comp_test.c:96,1
    - Dst: SSL_get1_compressed_cert
      Src: /src/openssl/test/cert_comp_test.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:99,1
    - Dst: SSL_set1_compressed_cert
      Src: /src/openssl/test/cert_comp_test.c:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cert_comp_test.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ssl
    - alg
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: ssl_comp_cert
    functionSourceFile: /src/openssl/test/cert_comp_test.c
    functionUses: 0
    functionsReached:
    - SSL_set1_compressed_cert
    - TEST_size_t_gt
    - OPENSSL_free
    - TEST_true
    - SSL_get1_compressed_cert
    linkageType: ''
    returnType: int
    signature: int ssl_comp_cert(SSL *ssl, int alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/openssl/test/cert_comp_test.c:110,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/cert_comp_test.c:112,1
    - Dst: strcmp
      Src: /src/openssl/test/cert_comp_test.c:114,1
    - Dst: SSL_state_string
      Src: /src/openssl/test/cert_comp_test.c:114,1
    - Dst: strcmp
      Src: /src/openssl/test/cert_comp_test.c:118,1
    - Dst: SSL_state_string
      Src: /src/openssl/test/cert_comp_test.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: cert_comp_info_cb
    functionSourceFile: /src/openssl/test/cert_comp_test.c
    functionUses: 0
    functionsReached:
    - SSL_is_server
    - strcmp
    - SSL_state_string
    - SSL_get_app_data
    linkageType: ''
    returnType: void
    signature: void cert_comp_info_cb(const SSL *s, int where, int ret)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/cert_comp_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:162,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/cert_comp_test.c:162,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/cert_comp_test.c:162,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/cert_comp_test.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:171,1
    - Dst: SSL_CTX_set1_cert_comp_preference
      Src: /src/openssl/test/cert_comp_test.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:174,1
    - Dst: SSL_CTX_set1_cert_comp_preference
      Src: /src/openssl/test/cert_comp_test.c:174,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:177,1
    - Dst: SSL_CTX_set1_cert_comp_preference
      Src: /src/openssl/test/cert_comp_test.c:177,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/cert_comp_test.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:179,1
    - Dst: SSL_CTX_set1_cert_comp_preference
      Src: /src/openssl/test/cert_comp_test.c:179,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/cert_comp_test.c:179,1
    - Dst: SSL_CTX_set_client_cert_cb
      Src: /src/openssl/test/cert_comp_test.c:184,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/cert_comp_test.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:189,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/test/cert_comp_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:193,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/cert_comp_test.c:193,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:197,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/cert_comp_test.c:197,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:199,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/cert_comp_test.c:199,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/cert_comp_test.c:201,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/cert_comp_test.c:202,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cert_comp_test.c:205,1
    - Dst: ssl_comp_cert
      Src: /src/openssl/test/cert_comp_test.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:209,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/cert_comp_test.c:209,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/test/cert_comp_test.c:213,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cert_comp_test.c:216,1
    - Dst: TEST_false
      Src: /src/openssl/test/cert_comp_test.c:219,1
    - Dst: SSL_get_app_data
      Src: /src/openssl/test/cert_comp_test.c:219,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/test/cert_comp_test.c:222,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/cert_comp_test.c:224,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:227,1
    - Dst: SSL_get_app_data
      Src: /src/openssl/test/cert_comp_test.c:227,1
    - Dst: TEST_true
      Src: /src/openssl/test/cert_comp_test.c:233,1
    - Dst: SSL_get_app_data
      Src: /src/openssl/test/cert_comp_test.c:233,1
    - Dst: SSL_free
      Src: /src/openssl/test/cert_comp_test.c:240,1
    - Dst: SSL_free
      Src: /src/openssl/test/cert_comp_test.c:241,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cert_comp_test.c:242,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cert_comp_test.c:243,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 90
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 246
    functionName: test_ssl_cert_comp
    functionSourceFile: /src/openssl/test/cert_comp_test.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set1_cert_comp_preference
    - SSL_CTX_set_verify
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_CONNECTION_FROM_SSL
    - SSL_CTX_free
    - SSL_get_app_data
    - SSL_CTX_set_client_cert_cb
    - TEST_info
    - ssl_comp_cert
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - SSL_set_app_data
    - SSL_CTX_compress_certs
    - TLS_client_method
    - SSL_set_info_callback
    - TEST_false
    - TEST_int_eq
    - OSSL_NELEM
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_ssl_cert_comp(int test)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cert_comp_test.c:254,1
    - Dst: TEST_error
      Src: /src/openssl/test/cert_comp_test.c:255,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cert_comp_test.c:259,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cert_comp_test.c:259,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/cert_comp_test.c:262,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/cert_comp_test.c:266,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/cert_comp_test.c:270,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cert_comp_test.c:274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cert_comp_test.c:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 280
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cert_comp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - test_mk_file_path
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cert_comp_test.c:285,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cert_comp_test.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cert_comp_test.c
    functionUses: 6
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test_util.h:24,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test_util.h:25,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test_util.h:26,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test_util.h:27,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test_util.h:28,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test_util.h:29,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test_util.h:30,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_record_test_util.h:31,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_record_test_util.h:32,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test_util.h:33,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_record_test_util.h:33,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_record_test_util.h:34,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/test/quic_record_test_util.h:34,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test_util.h:35,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_record_test_util.h:36,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_record_test_util.h:37,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test_util.h:41,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_record_test_util.h:44,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_record_test_util.h:45,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_record_test_util.h:48,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 14
    argCount: 5
    argNames:
    - a
    - b
    - b_data
    - b_len
    - cmp_data
    argTypes:
    - QUIC_PKT_HDR*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 52
    functionName: cmp_pkt_hdr
    functionSourceFile: /src/openssl/test/quic_record_test_util.h
    functionUses: 3
    functionsReached:
    - TEST_ptr_null
    - ossl_quic_conn_id_eq
    - TEST_uint64_t_eq
    - TEST_int_eq
    - TEST_true
    - TEST_size_t_eq
    - TEST_mem_eq
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: "int cmp_pkt_hdr(const QUIC_PKT_HDR *a, const QUIC_PKT_HDR *b,\n                       const
      unsigned char *b_data, size_t b_len,\n                       int cmp_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cipherbytes_test.c:29,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:33,1
    - Dst: SSL_bytes_to_cipher_list
      Src: /src/openssl/test/cipherbytes_test.c:33,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cipherbytes_test.c:34,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cipherbytes_test.c:35,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:40,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: test_empty
    functionSourceFile: /src/openssl/test/cipherbytes_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - TEST_int_eq
    - STACK_OF
    - SSL_bytes_to_cipher_list
    - sk_SSL_CIPHER_free
    linkageType: ''
    returnType: int
    signature: int test_empty(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cipherbytes_test.c:47,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherbytes_test.c:52,1
    - Dst: SSL_bytes_to_cipher_list
      Src: /src/openssl/test/cipherbytes_test.c:52,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:54,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:55,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherbytes_test.c:55,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:56,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:57,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherbytes_test.c:57,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:58,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:58,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:58,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:64,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: test_unsupported
    functionSourceFile: /src/openssl/test/cipherbytes_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_int_eq
    - sk_SSL_CIPHER_value
    - STACK_OF
    - SSL_bytes_to_cipher_list
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_free
    - TEST_true
    - TEST_ptr
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: int
    signature: int test_unsupported(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cipherbytes_test.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherbytes_test.c:78,1
    - Dst: SSL_bytes_to_cipher_list
      Src: /src/openssl/test/cipherbytes_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:81,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherbytes_test.c:81,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:83,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherbytes_test.c:83,1
    - Dst: strcmp
      Src: /src/openssl/test/cipherbytes_test.c:85,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:85,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:85,1
    - Dst: strcmp
      Src: /src/openssl/test/cipherbytes_test.c:87,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:87,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:87,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:94,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: test_v2
    functionSourceFile: /src/openssl/test/cipherbytes_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - sk_SSL_CIPHER_value
    - STACK_OF
    - SSL_bytes_to_cipher_list
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_free
    - TEST_true
    - strcmp
    - TEST_ptr
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: int
    signature: int test_v2(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cipherbytes_test.c:101,1
    - Dst: SSL_bytes_to_cipher_list
      Src: /src/openssl/test/cipherbytes_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:110,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherbytes_test.c:110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:111,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherbytes_test.c:112,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherbytes_test.c:112,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:113,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:113,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:113,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:115,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:115,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:115,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:117,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:117,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:117,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:119,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:119,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:119,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cipherbytes_test.c:121,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/cipherbytes_test.c:121,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherbytes_test.c:121,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:127,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherbytes_test.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: test_v3
    functionSourceFile: /src/openssl/test/cipherbytes_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_int_eq
    - sk_SSL_CIPHER_value
    - sk_SSL_CIPHER_num
    - STACK_OF
    - SSL_bytes_to_cipher_list
    - sk_SSL_CIPHER_free
    - TEST_ptr
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: int
    signature: int test_v3(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:134,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/cipherbytes_test.c:134,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/cipherbytes_test.c:134,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherbytes_test.c:135,1
    - Dst: SSL_new
      Src: /src/openssl/test/cipherbytes_test.c:135,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherbytes_test.c:138,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherbytes_test.c:139,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherbytes_test.c:140,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherbytes_test.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cipherbytes_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - SSL_new
    - SSL_CTX_new
    - TLS_server_method
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/test/cipherbytes_test.c:147,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cipherbytes_test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cipherbytes_test.c
    functionUses: 6
    functionsReached:
    - SSL_CTX_free
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/aesgcmtest.c:47,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/aesgcmtest.c:47,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:48,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:48,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/aesgcmtest.c:48,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:50,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:50,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:52,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/aesgcmtest.c:52,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:54,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/aesgcmtest.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:56,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/aesgcmtest.c:56,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aesgcmtest.c:57,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/test/aesgcmtest.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:58,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/aesgcmtest.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:60,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/openssl/test/aesgcmtest.c:61,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aesgcmtest.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 5
    argNames:
    - iv_gen
    - ct
    - ct_len
    - tag
    - tag_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - int*
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: do_encrypt
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 3
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_aes_256_gcm
    - EVP_CIPHER_CTX_get_original_iv
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_get_tag_length
    - TEST_int_eq
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int do_encrypt(unsigned char *iv_gen, unsigned char *ct, int *ct_len,\n
      \                     unsigned char *tag, int *tag_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/aesgcmtest.c:75,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/aesgcmtest.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:76,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:76,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/aesgcmtest.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:78,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:78,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/aesgcmtest.c:79,1
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/test/aesgcmtest.c:79,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:80,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/aesgcmtest.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:82,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/aesgcmtest.c:82,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:84,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/aesgcmtest.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:86,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/test/aesgcmtest.c:86,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/aesgcmtest.c:87,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aesgcmtest.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - iv
    - ct
    - ct_len
    - tag
    - tag_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: do_decrypt
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_aes_256_gcm
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_DecryptInit_ex
    - TEST_int_eq
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: "int do_decrypt(const unsigned char *iv, const unsigned char *ct,\n
      \                     int ct_len, const unsigned char *tag, int tag_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/openssl/test/aesgcmtest.c:99,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/aesgcmtest.c:100,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/aesgcmtest.c:101,1
    - Dst: do_decrypt
      Src: /src/openssl/test/aesgcmtest.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: kat_test
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - do_encrypt
    - do_decrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int kat_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/aesgcmtest.c:111,1
    - Dst: EVP_aes_192_gcm
      Src: /src/openssl/test/aesgcmtest.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/aesgcmtest.c:112,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/aesgcmtest.c:112,1
    - Dst: TEST_true
      Src: /src/openssl/test/aesgcmtest.c:113,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/aesgcmtest.c:113,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/aesgcmtest.c:114,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/test/aesgcmtest.c:114,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/aesgcmtest.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: badkeylen_test
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_aes_192_gcm
    - TEST_int_le
    - EVP_CIPHER_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: int
    signature: int badkeylen_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/openssl/test/aesgcmtest.c:126,1
    - Dst: do_decrypt
      Src: /src/openssl/test/aesgcmtest.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: ivgen_test
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - do_encrypt
    - do_decrypt
    linkageType: ''
    returnType: int
    signature: int ivgen_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/aesgcmtest.c:132,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/aesgcmtest.c:133,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/aesgcmtest.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/aesgcmtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/fips_version_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/openssl/test/fips_version_test.c:37,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fips_version_test.c:39,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/fips_version_test.c:41,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/fips_version_test.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: test_fips_version
    functionSourceFile: /src/openssl/test/fips_version_test.c
    functionUses: 0
    functionsReached:
    - fips_provider_version_match
    - TEST_ptr
    - TEST_int_eq
    - test_get_argument
    linkageType: ''
    returnType: int
    signature: int test_fips_version(int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/fips_version_test.c:50,1
    - Dst: opt_arg
      Src: /src/openssl/test/fips_version_test.c:53,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/fips_version_test.c:63,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/fips_version_test.c:66,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/fips_version_test.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/fips_version_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - test_get_argument_count
    - test_get_libctx
    - opt_arg
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/fips_version_test.c:76,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/fips_version_test.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/fips_version_test.c
    functionUses: 6
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:30,1
    - Dst: ossl_quic_wire_encode_padding
      Src: /src/openssl/test/quic_wire_test.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: encode_case_1_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_padding
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_1_enc(WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_wire_test.c:42,1
    - Dst: ossl_quic_wire_decode_padding
      Src: /src/openssl/test/quic_wire_test.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: encode_case_1_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - ossl_quic_wire_decode_padding
    linkageType: ''
    returnType: int
    signature: int encode_case_1_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:56,1
    - Dst: ossl_quic_wire_encode_frame_ping
      Src: /src/openssl/test/quic_wire_test.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: encode_case_2_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_ping
    linkageType: ''
    returnType: int
    signature: int encode_case_2_enc(WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:65,1
    - Dst: ossl_quic_wire_decode_frame_ping
      Src: /src/openssl/test/quic_wire_test.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: encode_case_2_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_ping
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_2_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:90,1
    - Dst: ossl_quic_wire_encode_frame_ack
      Src: /src/openssl/test/quic_wire_test.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: encode_case_3_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_ack
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_3_enc(WPACKET *pkt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:104,1
    - Dst: ossl_quic_wire_peek_frame_ack_num_ranges
      Src: /src/openssl/test/quic_wire_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:107,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:110,1
    - Dst: ossl_quic_wire_decode_frame_ack
      Src: /src/openssl/test/quic_wire_test.c:110,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:113,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:119,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:122,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:124,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:129,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:135,1
    - Dst: ossl_time2ticks
      Src: /src/openssl/test/quic_wire_test.c:135,1
    - Dst: ossl_time2ticks
      Src: /src/openssl/test/quic_wire_test.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:139,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:142,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:145,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 152
    functionName: encode_case_3_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_time2ticks
    - ossl_quic_wire_decode_frame_ack
    - TEST_true
    - TEST_int_eq
    - ossl_quic_wire_peek_frame_ack_num_ranges
    - OSSL_NELEM
    - TEST_uint64_t_eq
    - TEST_mem_eq
    - TEST_uint64_t_le
    linkageType: ''
    returnType: int
    signature: int encode_case_3_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:176,1
    - Dst: ossl_quic_wire_encode_frame_reset_stream
      Src: /src/openssl/test/quic_wire_test.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: encode_case_4_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_reset_stream
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_4_enc(WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:187,1
    - Dst: ossl_quic_wire_decode_frame_reset_stream
      Src: /src/openssl/test/quic_wire_test.c:187,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 197
    functionName: encode_case_4_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_reset_stream
    - TEST_mem_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_4_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:213,1
    - Dst: ossl_quic_wire_encode_frame_stop_sending
      Src: /src/openssl/test/quic_wire_test.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: encode_case_5_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_stop_sending
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_5_enc(WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:224,1
    - Dst: ossl_quic_wire_decode_frame_stop_sending
      Src: /src/openssl/test/quic_wire_test.c:224,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: encode_case_5_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_stop_sending
    - TEST_mem_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_5_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:253,1
    - Dst: ossl_quic_wire_encode_frame_crypto
      Src: /src/openssl/test/quic_wire_test.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: encode_case_6_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_quic_wire_encode_frame_crypto
    linkageType: ''
    returnType: int
    signature: int encode_case_6_enc(WPACKET *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:264,1
    - Dst: ossl_quic_wire_decode_frame_crypto
      Src: /src/openssl/test/quic_wire_test.c:264,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:270,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:273,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 281
    functionName: encode_case_6_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_crypto
    - TEST_uint64_t_eq
    - TEST_mem_eq
    - TEST_uint64_t_le
    linkageType: ''
    returnType: int
    signature: int encode_case_6_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:298,1
    - Dst: ossl_quic_wire_encode_frame_new_token
      Src: /src/openssl/test/quic_wire_test.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: encode_case_7_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_new_token
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_7_enc(WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:311,1
    - Dst: ossl_quic_wire_decode_frame_new_token
      Src: /src/openssl/test/quic_wire_test.c:311,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 324
    functionName: encode_case_7_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_new_token
    - TEST_mem_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_7_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:343,1
    - Dst: ossl_quic_wire_encode_frame_stream
      Src: /src/openssl/test/quic_wire_test.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: encode_case_8_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_quic_wire_encode_frame_stream
    linkageType: ''
    returnType: int
    signature: int encode_case_8_enc(WPACKET *pkt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:361,1
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/test/quic_wire_test.c:361,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:367,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:370,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:374,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:380,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:383,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 387
    functionName: encode_case_8_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_stream
    - TEST_uint64_t_eq
    - TEST_mem_eq
    - TEST_uint64_t_le
    linkageType: ''
    returnType: int
    signature: int encode_case_8_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:405,1
    - Dst: ossl_quic_wire_encode_frame_stream
      Src: /src/openssl/test/quic_wire_test.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: encode_case_9_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_quic_wire_encode_frame_stream
    linkageType: ''
    returnType: int
    signature: int encode_case_9_enc(WPACKET *pkt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:416,1
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/test/quic_wire_test.c:416,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:422,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:425,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:429,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:432,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:435,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:438,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 442
    functionName: encode_case_9_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_stream
    - TEST_uint64_t_eq
    - TEST_mem_eq
    - TEST_uint64_t_le
    linkageType: ''
    returnType: int
    signature: int encode_case_9_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:455,1
    - Dst: ossl_quic_wire_encode_frame_max_data
      Src: /src/openssl/test/quic_wire_test.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: encode_case_10_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_max_data
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_10_enc(WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:465,1
    - Dst: ossl_quic_wire_decode_frame_max_data
      Src: /src/openssl/test/quic_wire_test.c:465,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: encode_case_10_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_max_data
    - TEST_int_eq
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_10_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:485,1
    - Dst: ossl_quic_wire_encode_frame_max_stream_data
      Src: /src/openssl/test/quic_wire_test.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: encode_case_11_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_max_stream_data
    linkageType: ''
    returnType: int
    signature: int encode_case_11_enc(WPACKET *pkt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:497,1
    - Dst: ossl_quic_wire_decode_frame_max_stream_data
      Src: /src/openssl/test/quic_wire_test.c:497,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:505,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 512
    functionName: encode_case_11_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_max_stream_data
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_11_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:523,1
    - Dst: ossl_quic_wire_encode_frame_max_streams
      Src: /src/openssl/test/quic_wire_test.c:523,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:526,1
    - Dst: ossl_quic_wire_encode_frame_max_streams
      Src: /src/openssl/test/quic_wire_test.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 530
    functionName: encode_case_12_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_max_streams
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_12_enc(WPACKET *pkt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:539,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:539,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:544,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:548,1
    - Dst: ossl_quic_wire_decode_frame_max_streams
      Src: /src/openssl/test/quic_wire_test.c:548,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:554,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:554,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:559,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:563,1
    - Dst: ossl_quic_wire_decode_frame_max_streams
      Src: /src/openssl/test/quic_wire_test.c:563,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:569,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:573,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:577,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:581,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 26
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 585
    functionName: encode_case_12_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - TEST_int_eq
    - ossl_quic_wire_peek_frame_header
    - TEST_uint64_t_eq
    - ossl_quic_wire_decode_frame_max_streams
    linkageType: ''
    returnType: int
    signature: int encode_case_12_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:597,1
    - Dst: ossl_quic_wire_encode_frame_data_blocked
      Src: /src/openssl/test/quic_wire_test.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: encode_case_13_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_data_blocked
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_13_enc(WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:607,1
    - Dst: ossl_quic_wire_decode_frame_data_blocked
      Src: /src/openssl/test/quic_wire_test.c:607,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: encode_case_13_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_data_blocked
    - TEST_int_eq
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_13_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:628,1
    - Dst: ossl_quic_wire_encode_frame_stream_data_blocked
      Src: /src/openssl/test/quic_wire_test.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 634
    functionName: encode_case_14_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_stream_data_blocked
    linkageType: ''
    returnType: int
    signature: int encode_case_14_enc(WPACKET *pkt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:640,1
    - Dst: ossl_quic_wire_decode_frame_stream_data_blocked
      Src: /src/openssl/test/quic_wire_test.c:640,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:648,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 655
    functionName: encode_case_14_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_eq
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_stream_data_blocked
    linkageType: ''
    returnType: int
    signature: int encode_case_14_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:666,1
    - Dst: ossl_quic_wire_encode_frame_streams_blocked
      Src: /src/openssl/test/quic_wire_test.c:666,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:669,1
    - Dst: ossl_quic_wire_encode_frame_streams_blocked
      Src: /src/openssl/test/quic_wire_test.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 673
    functionName: encode_case_15_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_streams_blocked
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_15_enc(WPACKET *pkt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:682,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:682,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:687,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:691,1
    - Dst: ossl_quic_wire_decode_frame_streams_blocked
      Src: /src/openssl/test/quic_wire_test.c:691,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:697,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:697,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:702,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:705,1
    - Dst: ossl_quic_wire_decode_frame_streams_blocked
      Src: /src/openssl/test/quic_wire_test.c:705,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:711,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:715,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:719,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:723,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 25
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 727
    functionName: encode_case_15_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - ossl_quic_wire_decode_frame_streams_blocked
    - TEST_int_eq
    - ossl_quic_wire_peek_frame_header
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_15_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:758,1
    - Dst: ossl_quic_wire_encode_frame_new_conn_id
      Src: /src/openssl/test/quic_wire_test.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: encode_case_16_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_new_conn_id
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_16_enc(WPACKET *pkt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:769,1
    - Dst: ossl_quic_wire_decode_frame_new_conn_id
      Src: /src/openssl/test/quic_wire_test.c:769,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:775,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:778,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:781,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:784,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:788,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 795
    functionName: encode_case_16_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_new_conn_id
    - TEST_mem_eq
    - TEST_int_eq
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_16_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:825,1
    - Dst: ossl_quic_wire_encode_frame_new_conn_id
      Src: /src/openssl/test/quic_wire_test.c:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 830
    functionName: encode_case_16b_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_new_conn_id
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_16b_enc(WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:836,1
    - Dst: ossl_quic_wire_decode_frame_new_conn_id
      Src: /src/openssl/test/quic_wire_test.c:836,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:839,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/quic_wire_test.c:839,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quic_wire_test.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 843
    functionName: encode_case_16b_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - PACKET_remaining
    - PACKET_forward
    - TEST_true
    - ossl_quic_wire_decode_frame_new_conn_id
    linkageType: ''
    returnType: int
    signature: int encode_case_16b_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:858,1
    - Dst: ossl_quic_wire_encode_frame_retire_conn_id
      Src: /src/openssl/test/quic_wire_test.c:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 862
    functionName: encode_case_17_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_retire_conn_id
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_17_enc(WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:868,1
    - Dst: ossl_quic_wire_decode_frame_retire_conn_id
      Src: /src/openssl/test/quic_wire_test.c:868,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 878
    functionName: encode_case_17_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_retire_conn_id
    - TEST_int_eq
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_17_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:891,1
    - Dst: ossl_quic_wire_encode_frame_path_challenge
      Src: /src/openssl/test/quic_wire_test.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: encode_case_18_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_path_challenge
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_18_enc(WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:902,1
    - Dst: ossl_quic_wire_decode_frame_path_challenge
      Src: /src/openssl/test/quic_wire_test.c:902,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 912
    functionName: encode_case_18_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_path_challenge
    - TEST_int_eq
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_18_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:925,1
    - Dst: ossl_quic_wire_encode_frame_path_response
      Src: /src/openssl/test/quic_wire_test.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 930
    functionName: encode_case_19_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_path_response
    linkageType: ''
    returnType: int
    signature: int encode_case_19_enc(WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:936,1
    - Dst: ossl_quic_wire_decode_frame_path_response
      Src: /src/openssl/test/quic_wire_test.c:936,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 946
    functionName: encode_case_19_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_path_response
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_19_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:970,1
    - Dst: ossl_quic_wire_encode_frame_conn_close
      Src: /src/openssl/test/quic_wire_test.c:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 975
    functionName: encode_case_20_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_frame_conn_close
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_20_enc(WPACKET *pkt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:981,1
    - Dst: ossl_quic_wire_decode_frame_conn_close
      Src: /src/openssl/test/quic_wire_test.c:981,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:987,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:990,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:993,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_wire_test.c:996,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:999,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1004
    functionName: encode_case_20_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_conn_close
    - TEST_uint64_t_eq
    - TEST_size_t_eq
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_20_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1019,1
    - Dst: ossl_quic_wire_encode_frame_handshake_done
      Src: /src/openssl/test/quic_wire_test.c:1019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1023
    functionName: encode_case_21_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_frame_handshake_done
    linkageType: ''
    returnType: int
    signature: int encode_case_21_enc(WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1028,1
    - Dst: ossl_quic_wire_decode_frame_handshake_done
      Src: /src/openssl/test/quic_wire_test.c:1028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1032
    functionName: encode_case_21_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_frame_handshake_done
    linkageType: ''
    returnType: int
    signature: int encode_case_21_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:1045,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quic_wire_test.c:1045,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:1050,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/test/quic_wire_test.c:1050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1058
    functionName: encode_case_22_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_quic_wire_encode_transport_param_bytes
    linkageType: ''
    returnType: int
    signature: int encode_case_22_enc(WPACKET *pkt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1067,1
    - Dst: ossl_quic_wire_peek_transport_param
      Src: /src/openssl/test/quic_wire_test.c:1067,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1072,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/test/quic_wire_test.c:1077,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:1079,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_wire_test.c:1082,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1087,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1091,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1095,1
    - Dst: ossl_quic_wire_peek_transport_param
      Src: /src/openssl/test/quic_wire_test.c:1095,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1100,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/test/quic_wire_test.c:1105,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:1107,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_wire_test.c:1110,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1115,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1119,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 36
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1123
    functionName: encode_case_22_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - ossl_quic_wire_peek_transport_param
    - ossl_quic_wire_decode_transport_param_bytes
    - TEST_int_eq
    - TEST_uint64_t_eq
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_22_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1138,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/test/quic_wire_test.c:1138,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1141,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/test/quic_wire_test.c:1141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1145
    functionName: encode_case_23_enc
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_encode_transport_param_int
    linkageType: ''
    returnType: int
    signature: int encode_case_23_enc(WPACKET *pkt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1151,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/test/quic_wire_test.c:1151,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1157,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1161,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1164,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/test/quic_wire_test.c:1164,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1170,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1174,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 2
    argNames:
    - pkt
    - fail
    argTypes:
    - PACKET*
    - ossl_ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1178
    functionName: encode_case_23_dec
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_quic_wire_decode_transport_param_int
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: int
    signature: int encode_case_23_dec(PACKET *pkt, ossl_ssize_t fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1197
    functionName: ENCODE_CASE
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_CASE(n)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_wire_test.c:1236,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/test/quic_wire_test.c:1236,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1239,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/quic_wire_test.c:1239,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1243,1
    - Dst: struct encode_test_case*::serializer
      Src: /src/openssl/test/quic_wire_test.c:1243,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1246,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/quic_wire_test.c:1246,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1249,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1252,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1252,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1255,1
    - Dst: struct encode_test_case*::deserializer
      Src: /src/openssl/test/quic_wire_test.c:1255,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_wire_test.c:1258,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quic_wire_test.c:1258,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1271,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1271,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1274,1
    - Dst: struct encode_test_case*::deserializer
      Src: /src/openssl/test/quic_wire_test.c:1274,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/quic_wire_test.c:1281,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/quic_wire_test.c:1282,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1225
    functionDepth: 5
    functionLinenumber: 1225
    functionLinenumberEnd: 1284
    functionName: test_wire_encode
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - struct encode_test_case*::serializer
    - WPACKET_finish
    - BUF_MEM_free
    - PACKET_buf_init
    - BUF_MEM_new
    - struct encode_test_case*::deserializer
    - TEST_false
    - TEST_int_eq
    - WPACKET_get_total_written
    - PACKET_remaining
    - TEST_ptr
    - TEST_mem_eq
    - WPACKET_init
    linkageType: ''
    returnType: int
    signature: int test_wire_encode(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1386,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1388,1
    - Dst: ossl_quic_wire_peek_frame_ack_num_ranges
      Src: /src/openssl/test/quic_wire_test.c:1388,1
    - Dst: ossl_quic_wire_decode_frame_ack
      Src: /src/openssl/test/quic_wire_test.c:1392,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1396,1
    - Dst: TEST_uint64_t_le
      Src: /src/openssl/test/quic_wire_test.c:1400,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/quic_wire_test.c:1402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1407
    functionName: ack_generic_decode
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_ack
    - TEST_int_eq
    - ossl_quic_wire_peek_frame_ack_num_ranges
    - OSSL_NELEM
    - TEST_uint64_t_eq
    - TEST_uint64_t_lt
    - TEST_uint64_t_le
    linkageType: ''
    returnType: int
    signature: int ack_generic_decode(PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - expect_fail
    - ','
    - dec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1416
    functionName: ACK_CASE
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACK_CASE(n, expect_fail, dec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1433,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1433,1
    - Dst: struct ack_test_case*::deserializer
      Src: /src/openssl/test/quic_wire_test.c:1438,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1440,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1443,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_wire_test.c:1446,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/quic_wire_test.c:1446,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1453
    functionName: test_wire_ack
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_false
    - TEST_int_eq
    - PACKET_remaining
    - struct ack_test_case*::deserializer
    linkageType: ''
    returnType: int
    signature: int test_wire_ack(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_determine_pn_len
      Src: /src/openssl/test/quic_wire_test.c:1494,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1495,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1498,1
    - Dst: ossl_quic_wire_encode_pkt_hdr_pn
      Src: /src/openssl/test/quic_wire_test.c:1498,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1501,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1504,1
    - Dst: ossl_quic_wire_decode_pkt_hdr_pn
      Src: /src/openssl/test/quic_wire_test.c:1504,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_wire_test.c:1508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - tidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1514
    functionName: test_wire_pkt_hdr_pn
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_determine_pn_len
    - TEST_uint64_t_eq
    - TEST_int_eq
    - ossl_quic_wire_decode_pkt_hdr_pn
    - TEST_true
    - TEST_mem_eq
    - ossl_quic_wire_encode_pkt_hdr_pn
    linkageType: ''
    returnType: int
    signature: int test_wire_pkt_hdr_pn(int tidx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1542,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1542,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1545,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/test/quic_wire_test.c:1545,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_wire_test.c:1548,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1551,1
    - Dst: ossl_quic_calculate_retry_integrity_tag
      Src: /src/openssl/test/quic_wire_test.c:1551,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_wire_test.c:1556,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1562,1
    - Dst: ossl_quic_validate_retry_integrity_tag
      Src: /src/openssl/test/quic_wire_test.c:1562,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1569
    functionName: test_wire_retry_integrity_tag
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - ossl_quic_wire_decode_pkt_hdr
    - ossl_quic_calculate_retry_integrity_tag
    - TEST_int_eq
    - ossl_quic_validate_retry_integrity_tag
    - TEST_true
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_wire_retry_integrity_tag(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1621,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/quic_wire_test.c:1621,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_wire_test.c:1625,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/quic_wire_test.c:1625,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_wire_test.c:1629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1635
    functionName: test_wire_minimal
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - PACKET_buf_init
    - ossl_quic_wire_peek_frame_header
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_wire_minimal(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_wire_test.c:1639,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1639,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_wire_test.c:1640,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1640,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_wire_test.c:1641,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1641,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_wire_test.c:1642,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_wire_test.c:1643,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_wire_test.c:1643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1637
    functionDepth: 1
    functionLinenumber: 1637
    functionLinenumberEnd: 1645
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_wire_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/d2i_test.c:55,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/d2i_test.c:56,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/d2i_test.c:60,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/test/d2i_test.c:60,1
    - Dst: BIO_read
      Src: /src/openssl/test/d2i_test.c:70,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/d2i_test.c:71,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/test/d2i_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/d2i_test.c:76,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/test/d2i_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/d2i_test.c:84,1
    - Dst: memcmp
      Src: /src/openssl/test/d2i_test.c:89,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/d2i_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/d2i_test.c:95,1
    - Dst: TEST_false
      Src: /src/openssl/test/d2i_test.c:101,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/d2i_test.c:101,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/d2i_test.c:101,1
    - Dst: BIO_free
      Src: /src/openssl/test/d2i_test.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/d2i_test.c:104,1
    - Dst: ASN1_item_free
      Src: /src/openssl/test/d2i_test.c:105,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 107
    functionName: test_bad_asn1
    functionSourceFile: /src/openssl/test/d2i_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - BIO_new_file
    - TEST_ptr_null
    - ASN1_item_i2d
    - BIO_free
    - TEST_int_ge
    - TEST_false
    - TEST_int_eq
    - ERR_GET_REASON
    - ASN1_item_free
    - OPENSSL_free
    - ASN1_item_d2i
    - ERR_peek_error
    - TEST_ptr
    - BIO_read
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: int
    signature: int test_bad_asn1(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/d2i_test.c:130,1
    - Dst: TEST_error
      Src: /src/openssl/test/d2i_test.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/d2i_test.c:135,1
    - Dst: test_get_argument
      Src: /src/openssl/test/d2i_test.c:135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/d2i_test.c:136,1
    - Dst: test_get_argument
      Src: /src/openssl/test/d2i_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/d2i_test.c:137,1
    - Dst: test_get_argument
      Src: /src/openssl/test/d2i_test.c:137,1
    - Dst: ASN1_ITEM_lookup
      Src: /src/openssl/test/d2i_test.c:140,1
    - Dst: TEST_error
      Src: /src/openssl/test/d2i_test.c:143,1
    - Dst: TEST_note
      Src: /src/openssl/test/d2i_test.c:144,1
    - Dst: ASN1_ITEM_get
      Src: /src/openssl/test/d2i_test.c:146,1
    - Dst: TEST_note
      Src: /src/openssl/test/d2i_test.c:150,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/d2i_test.c:155,1
    - Dst: strcmp
      Src: /src/openssl/test/d2i_test.c:156,1
    - Dst: TEST_error
      Src: /src/openssl/test/d2i_test.c:163,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/d2i_test.c:167,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 169
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/d2i_test.c
    functionUses: 0
    functionsReached:
    - ASN1_ITEM_get
    - TEST_note
    - ADD_TEST
    - OSSL_NELEM
    - ASN1_ITEM_lookup
    - test_skip_common_options
    - test_get_argument
    - strcmp
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sd_load
      Src: /src/openssl/test/moduleloadtest.c:28,1
    - Dst: sd_sym
      Src: /src/openssl/test/moduleloadtest.c:30,1
    - Dst: sd_close
      Src: /src/openssl/test/moduleloadtest.c:31,1
    - Dst: fprintf
      Src: /src/openssl/test/moduleloadtest.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - path
    - symbol
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: test_load
    functionSourceFile: /src/openssl/test/moduleloadtest.c
    functionUses: 0
    functionsReached:
    - sd_load
    - sd_close
    - sd_sym
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_load(const char *path, const char *symbol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/moduleloadtest.c:45,1
    - Dst: test_load
      Src: /src/openssl/test/moduleloadtest.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/openssl/test/moduleloadtest.c
    functionUses: 5
    functionsReached:
    - test_load
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/clienthellotest.c:69,1
    - Dst: memset
      Src: /src/openssl/test/clienthellotest.c:70,1
    - Dst: memset
      Src: /src/openssl/test/clienthellotest.c:71,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/clienthellotest.c:77,1
    - Dst: TLS_method
      Src: /src/openssl/test/clienthellotest.c:77,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/clienthellotest.c:78,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:80,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/clienthellotest.c:80,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/clienthellotest.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:91,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/clienthellotest.c:91,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/clienthellotest.c:98,1
    - Dst: SSL_CTX_clear_options
      Src: /src/openssl/test/clienthellotest.c:100,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:102,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/clienthellotest.c:102,1
    - Dst: TEST_false
      Src: /src/openssl/test/clienthellotest.c:111,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/clienthellotest.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:119,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/clienthellotest.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:121,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/clienthellotest.c:121,1
    - Dst: SSL_new
      Src: /src/openssl/test/clienthellotest.c:131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/clienthellotest.c:132,1
    - Dst: BIO_new
      Src: /src/openssl/test/clienthellotest.c:135,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/clienthellotest.c:135,1
    - Dst: BIO_new
      Src: /src/openssl/test/clienthellotest.c:136,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/clienthellotest.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/clienthellotest.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/clienthellotest.c:137,1
    - Dst: BIO_free
      Src: /src/openssl/test/clienthellotest.c:138,1
    - Dst: BIO_free
      Src: /src/openssl/test/clienthellotest.c:139,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/clienthellotest.c:143,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/clienthellotest.c:144,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:147,1
    - Dst: SSL_set_session_ticket_ext
      Src: /src/openssl/test/clienthellotest.c:147,1
    - Dst: strlen
      Src: /src/openssl/test/clienthellotest.c:148,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/clienthellotest.c:152,1
    - Dst: SSL_connect
      Src: /src/openssl/test/clienthellotest.c:152,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/clienthellotest.c:157,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/clienthellotest.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:158,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/clienthellotest.c:158,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/clienthellotest.c:160,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/clienthellotest.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:166,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/clienthellotest.c:166,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:168,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/clienthellotest.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:171,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/clienthellotest.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:173,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/clienthellotest.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:175,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/clienthellotest.c:175,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:177,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/clienthellotest.c:177,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/clienthellotest.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:183,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/clienthellotest.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:184,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/clienthellotest.c:184,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:189,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/clienthellotest.c:189,1
    - Dst: strlen
      Src: /src/openssl/test/clienthellotest.c:190,1
    - Dst: TEST_false
      Src: /src/openssl/test/clienthellotest.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/clienthellotest.c:201,1
    - Dst: SSL_free
      Src: /src/openssl/test/clienthellotest.c:209,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/clienthellotest.c:210,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/clienthellotest.c:211,1
    - Dst: BIO_free
      Src: /src/openssl/test/clienthellotest.c:212,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 100
    argCount: 1
    argNames:
    - currtest
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 215
    functionName: test_client_hello
    functionSourceFile: /src/openssl/test/clienthellotest.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - PACKET_get_net_2
    - SSL_CTX_new
    - BIO_s_mem
    - BIO_get_mem_data
    - TEST_ptr
    - strlen
    - PACKET_get_length_prefixed_2
    - BIO_new
    - SSL_CTX_free
    - SSL_CTX_set_alpn_protos
    - SSL_set_connect_state
    - PACKET_buf_init
    - SSL_CTX_set_options
    - SSL_set_session_ticket_ext
    - SSL_CTX_clear_options
    - TEST_true
    - SSL_CTX_set1_groups_list
    - SSL_CTX_set_max_proto_version
    - SSL_set_bio
    - TLS_method
    - SSL_free
    - SSL_SESSION_free
    - PACKET_get_length_prefixed_1
    - BIO_free
    - SSL_CTX_set_cipher_list
    - SSL_new
    - PACKET_forward
    - TEST_long_ge
    - memset
    - TEST_false
    - PACKET_as_length_prefixed_2
    - SSL_connect
    - PACKET_remaining
    - PACKET_equal
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int test_client_hello(int currtest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/clienthellotest.c:219,1
    - Dst: TEST_error
      Src: /src/openssl/test/clienthellotest.c:220,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/clienthellotest.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/clienthellotest.c
    functionUses: 0
    functionsReached:
    - test_skip_common_options
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int32
      Src: /src/openssl/test/params_conversion_test.c:44,1
    - Dst: OSSL_PARAM_int64
      Src: /src/openssl/test/params_conversion_test.c:45,1
    - Dst: OSSL_PARAM_uint32
      Src: /src/openssl/test/params_conversion_test.c:46,1
    - Dst: OSSL_PARAM_uint64
      Src: /src/openssl/test/params_conversion_test.c:47,1
    - Dst: OSSL_PARAM_double
      Src: /src/openssl/test/params_conversion_test.c:48,1
    - Dst: memset
      Src: /src/openssl/test/params_conversion_test.c:57,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:61,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:63,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/params_conversion_test.c:66,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:68,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:71,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:73,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:76,1
    - Dst: strtoimax
      Src: /src/openssl/test/params_conversion_test.c:78,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:80,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:82,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:85,1
    - Dst: strtoimax
      Src: /src/openssl/test/params_conversion_test.c:87,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:89,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:91,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:94,1
    - Dst: strtoumax
      Src: /src/openssl/test/params_conversion_test.c:96,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:98,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:100,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:103,1
    - Dst: strtoumax
      Src: /src/openssl/test/params_conversion_test.c:105,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:107,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:109,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:112,1
    - Dst: strtod
      Src: /src/openssl/test/params_conversion_test.c:114,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:117,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_conversion_test.c:127,1
    - Dst: TEST_info
      Src: /src/openssl/test/params_conversion_test.c:128,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:132,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:133,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:134,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:141,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:142,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:143,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:151,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:152,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:160,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:161,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/params_conversion_test.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:169,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:170,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_conversion_test.c:178,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 131
    argCount: 2
    argNames:
    - pc
    - s
    argTypes:
    - PARAM_CONVERSION*
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 182
    functionName: param_conversion_load_stanza
    functionSourceFile: /src/openssl/test/params_conversion_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - memset
    - OPENSSL_strcasecmp
    - TEST_note
    - strtod
    - OSSL_PARAM_int64
    - TEST_info
    - OSSL_PARAM_double
    - strtoumax
    - TEST_ptr
    - OSSL_PARAM_uint64
    - OSSL_PARAM_uint32
    - strtoimax
    - TEST_true
    - OSSL_PARAM_int32
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int param_conversion_load_stanza(PARAM_CONVERSION *pc, const STANZA
      *s)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/params_conversion_test.c:193,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/test/params_conversion_test.c:193,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/params_conversion_test.c:194,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/params_conversion_test.c:194,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:199,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/test/params_conversion_test.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:200,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:201,1
    - Dst: memset
      Src: /src/openssl/test/params_conversion_test.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:205,1
    - Dst: OSSL_PARAM_set_int32
      Src: /src/openssl/test/params_conversion_test.c:205,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_conversion_test.c:206,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:207,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_conversion_test.c:214,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_conversion_test.c:214,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/params_conversion_test.c:215,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/params_conversion_test.c:215,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:220,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/params_conversion_test.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:221,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:222,1
    - Dst: memset
      Src: /src/openssl/test/params_conversion_test.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:226,1
    - Dst: OSSL_PARAM_set_int64
      Src: /src/openssl/test/params_conversion_test.c:226,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_conversion_test.c:227,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:228,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_conversion_test.c:235,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/params_conversion_test.c:235,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/params_conversion_test.c:236,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/params_conversion_test.c:236,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:241,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/params_conversion_test.c:241,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:242,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:243,1
    - Dst: memset
      Src: /src/openssl/test/params_conversion_test.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:247,1
    - Dst: OSSL_PARAM_set_uint32
      Src: /src/openssl/test/params_conversion_test.c:247,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_conversion_test.c:248,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:249,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_conversion_test.c:256,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_conversion_test.c:256,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/params_conversion_test.c:257,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/params_conversion_test.c:257,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:262,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/params_conversion_test.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:263,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:264,1
    - Dst: memset
      Src: /src/openssl/test/params_conversion_test.c:267,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:268,1
    - Dst: OSSL_PARAM_set_uint64
      Src: /src/openssl/test/params_conversion_test.c:268,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_conversion_test.c:269,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:270,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_conversion_test.c:277,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/params_conversion_test.c:277,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/params_conversion_test.c:278,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/params_conversion_test.c:278,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:283,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/params_conversion_test.c:283,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:284,1
    - Dst: TEST_false
      Src: /src/openssl/test/params_conversion_test.c:300,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:304,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:305,1
    - Dst: memset
      Src: /src/openssl/test/params_conversion_test.c:308,1
    - Dst: TEST_true
      Src: /src/openssl/test/params_conversion_test.c:309,1
    - Dst: OSSL_PARAM_set_double
      Src: /src/openssl/test/params_conversion_test.c:309,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/params_conversion_test.c:310,1
    - Dst: TEST_note
      Src: /src/openssl/test/params_conversion_test.c:311,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 92
    argCount: 2
    argNames:
    - pc
    - line
    argTypes:
    - PARAM_CONVERSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 318
    functionName: param_conversion_test
    functionSourceFile: /src/openssl/test/params_conversion_test.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - OSSL_PARAM_set_double
    - memset
    - OSSL_PARAM_get_uint32
    - TEST_note
    - OSSL_PARAM_get_int64
    - OSSL_PARAM_get_double
    - TEST_false
    - TEST_ulong_ne
    - OSSL_PARAM_get_int32
    - OSSL_PARAM_set_int32
    - OSSL_PARAM_set_int64
    - OSSL_PARAM_set_uint32
    - TEST_true
    - OSSL_PARAM_get_uint64
    - TEST_mem_eq
    - OSSL_PARAM_set_uint64
    linkageType: ''
    returnType: int
    signature: int param_conversion_test(const PARAM_CONVERSION *pc, int line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/openssl/test/params_conversion_test.c:324,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/params_conversion_test.c:327,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/params_conversion_test.c:327,1
    - Dst: test_start_file
      Src: /src/openssl/test/params_conversion_test.c:329,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_conversion_test.c:330,1
    - Dst: BIO_eof
      Src: /src/openssl/test/params_conversion_test.c:334,1
    - Dst: test_readstanza
      Src: /src/openssl/test/params_conversion_test.c:335,1
    - Dst: param_conversion_load_stanza
      Src: /src/openssl/test/params_conversion_test.c:340,1
    - Dst: param_conversion_test
      Src: /src/openssl/test/params_conversion_test.c:341,1
    - Dst: test_clearstanza
      Src: /src/openssl/test/params_conversion_test.c:343,1
    - Dst: test_end_file
      Src: /src/openssl/test/params_conversion_test.c:346,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/params_conversion_test.c:347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 320
    functionDepth: 6
    functionLinenumber: 320
    functionLinenumberEnd: 349
    functionName: run_param_file_tests
    functionSourceFile: /src/openssl/test/params_conversion_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - test_start_file
    - test_readstanza
    - test_end_file
    - test_clearstanza
    - BIO_eof
    - OPENSSL_free
    - param_conversion_test
    - test_get_argument
    - TEST_ptr
    - param_conversion_load_stanza
    linkageType: ''
    returnType: int
    signature: int run_param_file_tests(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/params_conversion_test.c:359,1
    - Dst: TEST_error
      Src: /src/openssl/test/params_conversion_test.c:360,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/params_conversion_test.c:364,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/params_conversion_test.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/params_conversion_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - test_skip_common_options
    - test_get_argument_count
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/prov_config_test.c:25,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:29,1
    - Dst: TEST_true
      Src: /src/openssl/test/prov_config_test.c:32,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/prov_config_test.c:32,1
    - Dst: TEST_true
      Src: /src/openssl/test/prov_config_test.c:34,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/prov_config_test.c:34,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/prov_config_test.c:38,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:39,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/prov_config_test.c:44,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/prov_config_test.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 10
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: test_double_config
    functionSourceFile: /src/openssl/test/prov_config_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - EVP_MD_fetch
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_double_config(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/prov_config_test.c:51,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:55,1
    - Dst: TEST_false
      Src: /src/openssl/test/prov_config_test.c:58,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/prov_config_test.c:58,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/prov_config_test.c:61,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/prov_config_test.c:63,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/prov_config_test.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: test_recursive_config
    functionSourceFile: /src/openssl/test/prov_config_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - TEST_false
    - ERR_GET_REASON
    - ERR_peek_error
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_recursive_config(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/prov_config_test.c:77,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:81,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/prov_config_test.c:84,1
    - Dst: strlen
      Src: /src/openssl/test/prov_config_test.c:84,1
    - Dst: strlen
      Src: /src/openssl/test/prov_config_test.c:84,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:85,1
    - Dst: strcpy
      Src: /src/openssl/test/prov_config_test.c:88,1
    - Dst: strcat
      Src: /src/openssl/test/prov_config_test.c:89,1
    - Dst: TEST_info
      Src: /src/openssl/test/prov_config_test.c:90,1
    - Dst: stat
      Src: /src/openssl/test/prov_config_test.c:91,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/prov_config_test.c:92,1
    - Dst: TEST_skip
      Src: /src/openssl/test/prov_config_test.c:94,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:96,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/prov_config_test.c:99,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:100,1
    - Dst: TEST_true
      Src: /src/openssl/test/prov_config_test.c:103,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/prov_config_test.c:103,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:107,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/prov_config_test.c:107,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/prov_config_test.c:110,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/prov_config_test.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 116
    functionName: test_path_config
    functionSourceFile: /src/openssl/test/prov_config_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - OPENSSL_zalloc
    - stat
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - TEST_info
    - TEST_skip
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - OPENSSL_free
    - TEST_true
    - strcat
    - TEST_ptr
    - strlen
    - getenv
    linkageType: ''
    returnType: int
    signature: int test_path_config(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/prov_config_test.c:122,1
    - Dst: TEST_error
      Src: /src/openssl/test/prov_config_test.c:123,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:127,1
    - Dst: test_get_argument
      Src: /src/openssl/test/prov_config_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:130,1
    - Dst: test_get_argument
      Src: /src/openssl/test/prov_config_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/prov_config_test.c:133,1
    - Dst: test_get_argument
      Src: /src/openssl/test/prov_config_test.c:133,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/prov_config_test.c:136,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/prov_config_test.c:137,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/prov_config_test.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/prov_config_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/tls13ccstest.c:43,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/tls13ccstest.c:46,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/tls13ccstest.c:47,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/tls13ccstest.c:48,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/tls13ccstest.c:49,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/tls13ccstest.c:50,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/tls13ccstest.c:51,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/tls13ccstest.c:52,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: bio_f_watchccs_filter
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_write
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_f_watchccs_filter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/tls13ccstest.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: watchccs_new
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int watchccs_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/tls13ccstest.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: watchccs_free
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int watchccs_free(BIO *bio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/tls13ccstest.c:73,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/test/tls13ccstest.c:80,1
    - Dst: BIO_read
      Src: /src/openssl/test/tls13ccstest.c:82,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/tls13ccstest.c:83,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/tls13ccstest.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: watchccs_read
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - BIO_should_read
    - BIO_next
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int watchccs_read(BIO *bio, char *out, int outl)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/tls13ccstest.c:92,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/test/tls13ccstest.c:101,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/tls13ccstest.c:103,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/tls13ccstest.c:107,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/tls13ccstest.c:108,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/tls13ccstest.c:109,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/tls13ccstest.c:110,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/tls13ccstest.c:116,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/openssl/test/tls13ccstest.c:117,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/tls13ccstest.c:126,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/tls13ccstest.c:127,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/tls13ccstest.c:134,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/test/tls13ccstest.c:135,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/tls13ccstest.c:142,1
    - Dst: memcmp
      Src: /src/openssl/test/tls13ccstest.c:144,1
    - Dst: PACKET_data
      Src: /src/openssl/test/tls13ccstest.c:144,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/tls13ccstest.c:154,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/tls13ccstest.c:155,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/tls13ccstest.c:162,1
    - Dst: memcmp
      Src: /src/openssl/test/tls13ccstest.c:164,1
    - Dst: PACKET_data
      Src: /src/openssl/test/tls13ccstest.c:164,1
    - Dst: BIO_write
      Src: /src/openssl/test/tls13ccstest.c:206,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/tls13ccstest.c:207,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/tls13ccstest.c:208,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 65
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 211
    functionName: watchccs_write
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - memcmp
    - PACKET_buf_init
    - BIO_clear_retry_flags
    - PACKET_get_length_prefixed_1
    - BIO_should_write
    - PACKET_get_net_2
    - PACKET_get_1
    - PACKET_remaining
    - PACKET_copy_bytes
    - BIO_set_retry_write
    - BIO_next
    - PACKET_forward
    - PACKET_get_length_prefixed_3
    - PACKET_data
    - PACKET_get_length_prefixed_2
    linkageType: ''
    returnType: int
    signature: int watchccs_write(BIO *bio, const char *in, int inl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/tls13ccstest.c:216,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/tls13ccstest.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: watchccs_ctrl
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long watchccs_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: watchccs_gets
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int watchccs_gets(BIO *bio, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: watchccs_write
      Src: /src/openssl/test/tls13ccstest.c:240,1
    - Dst: strlen
      Src: /src/openssl/test/tls13ccstest.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: watchccs_puts
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - strlen
    - watchccs_write
    linkageType: ''
    returnType: int
    signature: int watchccs_puts(BIO *bio, const char *str)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:257,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13ccstest.c:257,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13ccstest.c:257,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13ccstest.c:258,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:260,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/tls13ccstest.c:260,1
    - Dst: SSL_CTX_clear_options
      Src: /src/openssl/test/tls13ccstest.c:288,1
    - Dst: SSL_CTX_clear_options
      Src: /src/openssl/test/tls13ccstest.c:294,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13ccstest.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:303,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13ccstest.c:303,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:304,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13ccstest.c:304,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/tls13ccstest.c:306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:307,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/tls13ccstest.c:309,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/tls13ccstest.c:310,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13ccstest.c:311,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13ccstest.c:312,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:320,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13ccstest.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:324,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13ccstest.c:324,1
    - Dst: BIO_new
      Src: /src/openssl/test/tls13ccstest.c:329,1
    - Dst: bio_f_watchccs_filter
      Src: /src/openssl/test/tls13ccstest.c:329,1
    - Dst: BIO_new
      Src: /src/openssl/test/tls13ccstest.c:330,1
    - Dst: bio_f_watchccs_filter
      Src: /src/openssl/test/tls13ccstest.c:330,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:332,1
    - Dst: BIO_free
      Src: /src/openssl/test/tls13ccstest.c:333,1
    - Dst: BIO_free
      Src: /src/openssl/test/tls13ccstest.c:334,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:339,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13ccstest.c:339,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:345,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/tls13ccstest.c:345,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:346,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/tls13ccstest.c:346,1
    - Dst: strlen
      Src: /src/openssl/test/tls13ccstest.c:346,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13ccstest.c:349,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/tls13ccstest.c:349,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/tls13ccstest.c:354,1
    - Dst: SSL_connect
      Src: /src/openssl/test/tls13ccstest.c:354,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/tls13ccstest.c:357,1
    - Dst: SSL_connect
      Src: /src/openssl/test/tls13ccstest.c:357,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13ccstest.c:360,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/tls13ccstest.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:367,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13ccstest.c:367,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:375,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:375,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:380,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:381,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:382,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:383,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:388,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:389,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:390,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13ccstest.c:391,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:396,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:397,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:398,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:405,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:406,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:407,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:412,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:413,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:414,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13ccstest.c:415,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:420,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:421,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:422,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:423,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:428,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:430,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:431,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:436,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:437,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:438,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13ccstest.c:439,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:444,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:445,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:446,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:452,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:454,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:460,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:461,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:462,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13ccstest.c:463,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:468,1
    - Dst: TEST_false
      Src: /src/openssl/test/tls13ccstest.c:469,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13ccstest.c:470,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/tls13ccstest.c:471,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/tls13ccstest.c:478,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13ccstest.c:479,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13ccstest.c:480,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13ccstest.c:481,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13ccstest.c:482,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 157
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 243
    functionDepth: 5
    functionLinenumber: 243
    functionLinenumberEnd: 485
    functionName: test_tls13ccs
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TEST_int_le
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - strlen
    - SSL_CTX_set_max_early_data
    - BIO_new
    - TEST_size_t_gt
    - SSL_CTX_free
    - SSL_CTX_clear_options
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set1_groups_list
    - TEST_error
    - SSL_free
    - bio_f_watchccs_filter
    - SSL_SESSION_free
    - SSL_write_early_data
    - BIO_free
    - SSL_shutdown
    - TEST_size_t_eq
    - TLS_client_method
    - SSL_read_early_data
    - TEST_false
    - TEST_int_eq
    - SSL_connect
    - SSL_get1_session
    - SSL_set_session
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_tls13ccs(int tst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/tls13ccstest.c:491,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13ccstest.c:492,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:496,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13ccstest.c:496,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13ccstest.c:497,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13ccstest.c:497,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/tls13ccstest.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 503
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 0
    functionsReached:
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/tls13ccstest.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/tls13ccstest.c
    functionUses: 6
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/asn1_stable_parse_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/asn1_stable_parse_test.c:42,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_stable_parse_test.c:44,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/asn1_stable_parse_test.c:47,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/asn1_stable_parse_test.c:47,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/asn1_stable_parse_test.c:50,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/asn1_stable_parse_test.c:51,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/asn1_stable_parse_test.c:53,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/asn1_stable_parse_test.c:56,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/asn1_stable_parse_test.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: test_asn1_stable_parse
    functionSourceFile: /src/openssl/test/asn1_stable_parse_test.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - OSSL_LIB_CTX_free
    - ERR_clear_error
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - TEST_int_eq
    - ERR_GET_REASON
    - ERR_peek_error
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_asn1_stable_parse(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/asn1_stable_parse_test.c:69,1
    - Dst: opt_arg
      Src: /src/openssl/test/asn1_stable_parse_test.c:72,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_stable_parse_test.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_stable_parse_test.c
    functionUses: 0
    functionsReached:
    - opt_arg
    - ADD_TEST
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:21,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:21,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:22,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:22,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:23,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:23,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:24,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:24,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:25,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:25,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:26,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:26,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 30
    functionName: test_PACKET_remaining
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_remaining
    - PACKET_forward
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_remaining(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:36,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:36,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:37,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:37,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:38,1
    - Dst: PACKET_end
      Src: /src/openssl/test/packettest.c:38,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:39,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:39,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:40,1
    - Dst: PACKET_end
      Src: /src/openssl/test/packettest.c:40,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:41,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:41,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:42,1
    - Dst: PACKET_end
      Src: /src/openssl/test/packettest.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: test_PACKET_end
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_end
    - PACKET_remaining
    - PACKET_forward
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_end(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:53,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:53,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:54,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/packettest.c:54,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/packettest.c:55,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:56,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:56,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:57,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/packettest.c:57,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/packettest.c:58,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:59,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/packettest.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: test_PACKET_get_1
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_false
    - PACKET_get_1
    - PACKET_forward
    - TEST_true
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:70,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:71,1
    - Dst: PACKET_get_4
      Src: /src/openssl/test/packettest.c:71,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/packettest.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:73,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:74,1
    - Dst: PACKET_get_4
      Src: /src/openssl/test/packettest.c:74,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/packettest.c:75,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:76,1
    - Dst: PACKET_get_4
      Src: /src/openssl/test/packettest.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: test_PACKET_get_4
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_false
    - TEST_ulong_eq
    - PACKET_forward
    - TEST_true
    - PACKET_get_4
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_4(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:87,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:88,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/packettest.c:88,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/packettest.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:90,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:91,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/packettest.c:91,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/packettest.c:92,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:93,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/packettest.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: test_PACKET_get_net_2
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_false
    - PACKET_forward
    - TEST_true
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_net_2(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:104,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:104,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:105,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/test/packettest.c:105,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/packettest.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:107,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:108,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/test/packettest.c:108,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/packettest.c:109,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:110,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/test/packettest.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: test_PACKET_get_net_3
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_get_net_3
    - PACKET_buf_init
    - TEST_false
    - TEST_ulong_eq
    - PACKET_forward
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_net_3(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:121,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:122,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/test/packettest.c:122,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/packettest.c:123,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:124,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:125,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/test/packettest.c:125,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/packettest.c:126,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:127,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/test/packettest.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: test_PACKET_get_net_4
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_false
    - TEST_ulong_eq
    - PACKET_get_net_4
    - PACKET_forward
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_net_4(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:138,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:139,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/test/packettest.c:139,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:140,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/test/packettest.c:140,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/packettest.c:141,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:142,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:143,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:143,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:144,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/test/packettest.c:144,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:145,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/test/packettest.c:145,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/packettest.c:146,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:147,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:147,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:148,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/test/packettest.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 152
    functionName: test_PACKET_get_sub_packet
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_get_sub_packet
    - PACKET_buf_init
    - TEST_false
    - TEST_ulong_eq
    - PACKET_get_net_4
    - PACKET_remaining
    - PACKET_forward
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_sub_packet(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:159,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:160,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/test/packettest.c:160,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:161,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:162,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:163,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:164,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:165,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:166,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:166,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:167,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/test/packettest.c:167,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:168,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:169,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:170,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:171,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:172,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:172,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: test_PACKET_get_bytes
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - TEST_uchar_eq
    - PACKET_buf_init
    - PACKET_get_bytes
    - TEST_false
    - PACKET_remaining
    - PACKET_forward
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_bytes(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:183,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:184,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/test/packettest.c:184,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/packettest.c:185,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/packettest.c:186,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/packettest.c:187,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/packettest.c:188,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:189,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:190,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:191,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/test/packettest.c:191,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:192,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:193,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:194,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:195,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:196,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:196,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 200
    functionName: test_PACKET_copy_bytes
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - TEST_uchar_eq
    - PACKET_buf_init
    - TEST_false
    - PACKET_remaining
    - PACKET_forward
    - TEST_true
    - TEST_size_t_eq
    - PACKET_copy_bytes
    - TEST_char_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_copy_bytes(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:208,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:209,1
    - Dst: PACKET_copy_all
      Src: /src/openssl/test/packettest.c:209,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:210,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/packettest.c:211,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:212,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:212,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:213,1
    - Dst: PACKET_copy_all
      Src: /src/openssl/test/packettest.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: test_PACKET_copy_all
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_false
    - PACKET_remaining
    - TEST_true
    - TEST_size_t_eq
    - TEST_mem_eq
    - PACKET_copy_all
    linkageType: ''
    returnType: int
    signature: int test_PACKET_copy_all(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:226,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:227,1
    - Dst: PACKET_memdup
      Src: /src/openssl/test/packettest.c:227,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:228,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/packettest.c:229,1
    - Dst: PACKET_data
      Src: /src/openssl/test/packettest.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:230,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:231,1
    - Dst: PACKET_memdup
      Src: /src/openssl/test/packettest.c:231,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:232,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/packettest.c:233,1
    - Dst: PACKET_data
      Src: /src/openssl/test/packettest.c:233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/packettest.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: test_PACKET_memdup
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_memdup
    - OPENSSL_free
    - PACKET_data
    - TEST_true
    - TEST_size_t_eq
    - PACKET_forward
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_memdup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/packettest.c:248,1
    - Dst: memset
      Src: /src/openssl/test/packettest.c:249,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:252,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:253,1
    - Dst: PACKET_strndup
      Src: /src/openssl/test/packettest.c:253,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:254,1
    - Dst: strlen
      Src: /src/openssl/test/packettest.c:254,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/packettest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:256,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:257,1
    - Dst: PACKET_strndup
      Src: /src/openssl/test/packettest.c:257,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:258,1
    - Dst: strlen
      Src: /src/openssl/test/packettest.c:258,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/packettest.c:259,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/packettest.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 266
    functionName: test_PACKET_strndup
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - TEST_str_eq
    - TEST_strn_eq
    - OPENSSL_free
    - PACKET_strndup
    - TEST_true
    - TEST_size_t_eq
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_PACKET_strndup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/packettest.c:273,1
    - Dst: memset
      Src: /src/openssl/test/packettest.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:277,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:277,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:278,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/openssl/test/packettest.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:279,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:280,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/openssl/test/packettest.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: test_PACKET_contains_zero_byte
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - PACKET_contains_zero_byte
    - TEST_false
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_PACKET_contains_zero_byte(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:291,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:292,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:292,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:293,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/test/packettest.c:293,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:295,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:295,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:296,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/test/packettest.c:296,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/packettest.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: test_PACKET_forward
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - TEST_uchar_eq
    - PACKET_buf_init
    - PACKET_get_bytes
    - PACKET_forward
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_PACKET_forward(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:309,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:309,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:310,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:310,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:311,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:311,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:312,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:312,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:313,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: test_PACKET_buf_init
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - TEST_false
    - PACKET_remaining
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_buf_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_null_init
      Src: /src/openssl/test/packettest.c:323,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:324,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:324,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:325,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/packettest.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 329
    functionName: test_PACKET_null_init
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_null_init
    - TEST_false
    - PACKET_remaining
    - PACKET_forward
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_null_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:335,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:335,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:336,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/packettest.c:336,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:337,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/packettest.c:337,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:338,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:338,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:339,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/packettest.c:339,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:340,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/packettest.c:340,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:341,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/packettest.c:341,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:342,1
    - Dst: PACKET_equal
      Src: /src/openssl/test/packettest.c:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 346
    functionName: test_PACKET_equal
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_equal
    - TEST_false
    - PACKET_buf_init
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_PACKET_equal(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/packettest.c:355,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:360,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:361,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:361,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:362,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/packettest.c:362,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:363,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:363,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:364,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/packettest.c:364,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/packettest.c:365,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:366,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/packettest.c:366,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:367,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:367,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 371
    functionName: test_PACKET_get_length_prefixed_1
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - PACKET_get_length_prefixed_1
    - PACKET_get_net_2
    - TEST_false
    - PACKET_remaining
    - TEST_true
    - TEST_size_t_eq
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_length_prefixed_1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/packettest.c:380,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:384,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:384,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:385,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:385,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:386,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/packettest.c:386,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:387,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:387,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:388,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/packettest.c:388,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/packettest.c:389,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:390,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/packettest.c:390,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:391,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:391,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 395
    functionName: test_PACKET_get_length_prefixed_2
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_false
    - PACKET_remaining
    - TEST_true
    - TEST_size_t_eq
    - PACKET_get_length_prefixed_2
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_length_prefixed_2(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/packettest.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:408,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:408,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:409,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:409,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:410,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/openssl/test/packettest.c:410,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:411,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:411,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:412,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/packettest.c:412,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/packettest.c:413,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:414,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/openssl/test/packettest.c:414,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:415,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 419
    functionName: test_PACKET_get_length_prefixed_3
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - PACKET_get_net_2
    - TEST_false
    - PACKET_remaining
    - TEST_size_t_eq
    - TEST_true
    - PACKET_get_length_prefixed_3
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_length_prefixed_3(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/packettest.c:428,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:433,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:433,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:434,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:434,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:435,1
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/test/packettest.c:435,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:436,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:436,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:437,1
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/test/packettest.c:437,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:438,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:438,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:439,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 443
    functionName: test_PACKET_as_length_prefixed_1
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - TEST_false
    - PACKET_as_length_prefixed_1
    - PACKET_remaining
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_as_length_prefixed_1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/packettest.c:452,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:456,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:457,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:457,1
    - Dst: TEST_false
      Src: /src/openssl/test/packettest.c:458,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/packettest.c:458,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:459,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:459,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:460,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/packettest.c:460,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:461,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:461,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:462,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 466
    functionName: test_PACKET_as_length_prefixed_2
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - TEST_false
    - PACKET_as_length_prefixed_2
    - PACKET_remaining
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_as_length_prefixed_2(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/packettest.c:505,1
    - Dst: memset
      Src: /src/openssl/test/packettest.c:506,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:509,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:509,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:510,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/test/packettest.c:510,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/packettest.c:511,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:512,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/packettest.c:512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 519
    functionName: test_PACKET_get_quic_vlint
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - TEST_uint64_t_eq
    - PACKET_remaining
    - OSSL_NELEM
    - TEST_size_t_eq
    - TEST_true
    - PACKET_get_quic_vlint
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_quic_vlint(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/packettest.c:546,1
    - Dst: memset
      Src: /src/openssl/test/packettest.c:547,1
    - Dst: TEST_true
      Src: /src/openssl/test/packettest.c:549,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/packettest.c:549,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/packettest.c:555,1
    - Dst: PACKET_get_quic_length_prefixed
      Src: /src/openssl/test/packettest.c:555,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:559,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/packettest.c:564,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/packettest.c:567,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 572
    functionName: test_PACKET_get_quic_length_prefixed
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - PACKET_get_quic_length_prefixed
    - memset
    - PACKET_buf_init
    - TEST_int_eq
    - OSSL_NELEM
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_PACKET_get_quic_length_prefixed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:583,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:584,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:585,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:586,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:587,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:588,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:589,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:590,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:591,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:592,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:593,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:594,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:595,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:596,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:597,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:598,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:599,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:600,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:601,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:602,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:603,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:604,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:605,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:607,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/packettest.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 611
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/packettest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: IS_HEX
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HEX(ch)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:66,1
    - Dst: ERR_PUT_error
      Src: /src/openssl/test/errtest.c:68,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/errtest.c:69,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/errtest.c:70,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:72,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:73,1
    - Dst: strerror
      Src: /src/openssl/test/errtest.c:83,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/errtest.c:86,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/errtest.c:90,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/errtest.c:93,1
    - Dst: BIO_new
      Src: /src/openssl/test/errtest.c:93,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/errtest.c:93,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/errtest.c:96,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/errtest.c:98,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/errtest.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:102,1
    - Dst: IS_HEX
      Src: /src/openssl/test/errtest.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:105,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/errtest.c:106,1
    - Dst: strlen
      Src: /src/openssl/test/errtest.c:106,1
    - Dst: BIO_free
      Src: /src/openssl/test/errtest.c:111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 113
    functionName: test_print_error_format
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - BIO_snprintf
    - BIO_get_mem_data
    - BIO_s_mem
    - TEST_ptr
    - strlen
    - BIO_new
    - TEST_true
    - ERR_peek_error
    - strerror
    - BIO_free
    - ERR_PUT_error
    - IS_HEX
    - ERR_set_mark
    - TEST_int_eq
    - ERR_GET_REASON
    - TEST_strn_eq
    - ERR_print_errors
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_print_error_format(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetLastError
      Src: /src/openssl/test/errtest.c:120,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/errtest.c:121,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:122,1
    - Dst: GetLastError
      Src: /src/openssl/test/errtest.c:122,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/errtest.c:125,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: preserves_system_error
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - SetLastError
    - GetLastError
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int preserves_system_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:135,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/test/errtest.c:136,1
    - Dst: ERR_add_error_data
      Src: /src/openssl/test/errtest.c:137,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:138,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: vdata_appends
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - ERR_add_error_data
    - ERR_peek_error_data
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int vdata_appends(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:159,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:161,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/errtest.c:161,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:162,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/errtest.c:162,1
    - Dst: defined
      Src: /src/openssl/test/errtest.c:163,1
    - Dst: defined
      Src: /src/openssl/test/errtest.c:163,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:164,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:165,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 170
    functionName: raised_error
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_get_error_all
    - TEST_str_eq
    - TEST_int_eq
    - TEST_ulong_ne
    - ERR_GET_REASON
    - ERR_raise_data
    - defined
    linkageType: ''
    returnType: int
    signature: int raised_error(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:177,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:178,1
    - Dst: TEST_ulong_gt
      Src: /src/openssl/test/errtest.c:179,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:183,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:184,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:184,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:185,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:186,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:186,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:187,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/errtest.c:187,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:188,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:192,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:194,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:195,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:196,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:196,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:197,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:197,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:201,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:202,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:202,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:204,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:205,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:206,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:207,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:207,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:208,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:211,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:213,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:214,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:215,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:216,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:216,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:218,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:219,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:219,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:220,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:220,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:221,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:221,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:222,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:222,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:223,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:223,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:227,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:230,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/errtest.c:230,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:231,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:231,1
    - Dst: TEST_false
      Src: /src/openssl/test/errtest.c:238,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:238,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:239,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:243,1
    - Dst: TEST_false
      Src: /src/openssl/test/errtest.c:244,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/errtest.c:244,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:246,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/errtest.c:246,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:247,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:247,1
    - Dst: TEST_false
      Src: /src/openssl/test/errtest.c:260,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:260,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:264,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:264,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:266,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:267,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:270,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/errtest.c:270,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:271,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:271,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:274,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:276,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:277,1
    - Dst: TEST_true
      Src: /src/openssl/test/errtest.c:280,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/errtest.c:280,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:281,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:281,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:285,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 288
    functionName: test_marks
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - ERR_raise
    - TEST_ulong_gt
    - ERR_pop_to_mark
    - ERR_clear_error
    - TEST_false
    - ERR_set_mark
    - TEST_ulong_eq
    - TEST_ulong_ne
    - ERR_peek_last_error
    - TEST_true
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int test_marks(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:297,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:298,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:299,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:300,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:302,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:305,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:306,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:307,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:308,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:310,1
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:313,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:314,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:315,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:316,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:318,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:324,1
    - Dst: ERR_peek_error_data
      Src: /src/openssl/test/errtest.c:325,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:326,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:327,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:329,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/errtest.c:333,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 335
    functionName: test_clear_error
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - TEST_str_eq
    - ERR_clear_error
    - ERR_peek_error_data
    - TEST_int_eq
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int test_clear_error(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/errtest.c:350,1
    - Dst: OSSL_ERR_STATE_new
      Src: /src/openssl/test/errtest.c:350,1
    - Dst: ERR_raise
      Src: /src/openssl/test/errtest.c:353,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:354,1
    - Dst: TEST_ulong_gt
      Src: /src/openssl/test/errtest.c:355,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:358,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/errtest.c:358,1
    - Dst: ERR_raise_data
      Src: /src/openssl/test/errtest.c:361,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:362,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:363,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:363,1
    - Dst: OSSL_ERR_STATE_save
      Src: /src/openssl/test/errtest.c:367,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:369,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:369,1
    - Dst: OSSL_ERR_STATE_save_to_mark
      Src: /src/openssl/test/errtest.c:372,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/errtest.c:374,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:374,1
    - Dst: OSSL_ERR_STATE_restore
      Src: /src/openssl/test/errtest.c:379,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:381,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/errtest.c:381,1
    - Dst: ERR_peek_last_error_data
      Src: /src/openssl/test/errtest.c:383,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:384,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:385,1
    - Dst: OSSL_ERR_STATE_restore
      Src: /src/openssl/test/errtest.c:389,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:393,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/errtest.c:393,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/errtest.c:395,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:399,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/errtest.c:399,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:401,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:402,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:406,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/errtest.c:406,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/errtest.c:408,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:412,1
    - Dst: ERR_get_error_all
      Src: /src/openssl/test/errtest.c:412,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/errtest.c:414,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/errtest.c:415,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/errtest.c:418,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/errtest.c:418,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/test/errtest.c:424,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 63
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 342
    functionDepth: 5
    functionLinenumber: 342
    functionLinenumberEnd: 426
    functionName: test_save_restore
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - TEST_ulong_gt
    - TEST_ptr
    - ERR_get_error_all
    - OSSL_ERR_STATE_restore
    - ERR_get_error
    - TEST_int_ne
    - TEST_str_eq
    - ERR_raise_data
    - ERR_peek_last_error
    - TEST_ulong_ne
    - OSSL_ERR_STATE_save_to_mark
    - OSSL_ERR_STATE_new
    - OSSL_ERR_STATE_free
    - OSSL_ERR_STATE_save
    - ERR_set_mark
    - TEST_int_eq
    - TEST_ulong_eq
    - ERR_peek_last_error_data
    linkageType: ''
    returnType: int
    signature: int test_save_restore(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:430,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:431,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:432,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:434,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:436,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/errtest.c:437,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/errtest.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 440
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/errtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_PKIHEADER_free
      Src: /src/openssl/test/cmp_hdr_test.c:26,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/test/cmp_hdr_test.c:27,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_hdr_test.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 36
    functionsReached:
    - OSSL_CMP_PKIHEADER_free
    - OPENSSL_free
    - OSSL_CMP_CTX_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:35,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_hdr_test.c:35,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:38,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_hdr_test.c:38,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:40,1
    - Dst: OSSL_CMP_PKIHEADER_new
      Src: /src/openssl/test/cmp_hdr_test.c:40,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_hdr_test.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 12
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - tear_down
    - TEST_ptr
    - OSSL_CMP_CTX_new
    - OSSL_CMP_PKIHEADER_new
    linkageType: ''
    returnType: CMP_HDR_TEST_FIXTURE
    signature: CMP_HDR_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:53,1
    - Dst: ossl_cmp_hdr_set_pvno
      Src: /src/openssl/test/cmp_hdr_test.c:53,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:55,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/openssl/test/cmp_hdr_test.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: execute_HDR_set_get_pvno_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_set_pvno
    - ossl_cmp_hdr_get_pvno
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int execute_HDR_set_get_pvno_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:62,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: test_HDR_set_get_pvno
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_set_get_pvno(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - rd
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: X509_NAME_ADD
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_NAME_ADD(n, rd, s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_new
      Src: /src/openssl/test/cmp_hdr_test.c:75,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:78,1
    - Dst: X509_NAME_ADD
      Src: /src/openssl/test/cmp_hdr_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:82,1
    - Dst: OSSL_CMP_CTX_set1_subjectName
      Src: /src/openssl/test/cmp_hdr_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:85,1
    - Dst: ossl_cmp_hdr_init
      Src: /src/openssl/test/cmp_hdr_test.c:85,1
    - Dst: ossl_cmp_hdr_get0_senderNonce
      Src: /src/openssl/test/cmp_hdr_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:89,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:89,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/cmp_hdr_test.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 10
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: execute_HDR_get0_senderNonce_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_get0_senderNonce
    - OSSL_CMP_CTX_set1_subjectName
    - ossl_cmp_hdr_init
    - TEST_int_eq
    - ASN1_OCTET_STRING_cmp
    - TEST_ptr
    - X509_NAME_free
    - X509_NAME_new
    - X509_NAME_ADD
    linkageType: ''
    returnType: int
    signature: int execute_HDR_get0_senderNonce_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:102,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: test_HDR_get0_senderNonce
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_get0_senderNonce(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_new
      Src: /src/openssl/test/cmp_hdr_test.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:113,1
    - Dst: X509_NAME_ADD
      Src: /src/openssl/test/cmp_hdr_test.c:116,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:117,1
    - Dst: ossl_cmp_hdr_set1_sender
      Src: /src/openssl/test/cmp_hdr_test.c:117,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:120,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:123,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:123,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/cmp_hdr_test.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: execute_HDR_set1_sender_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - ossl_cmp_hdr_set1_sender
    - X509_NAME_cmp
    - TEST_ptr
    - X509_NAME_free
    - X509_NAME_new
    - X509_NAME_ADD
    linkageType: ''
    returnType: int
    signature: int execute_HDR_set1_sender_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:136,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: test_HDR_set1_sender
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_set1_sender(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_new
      Src: /src/openssl/test/cmp_hdr_test.c:145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:147,1
    - Dst: X509_NAME_ADD
      Src: /src/openssl/test/cmp_hdr_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:151,1
    - Dst: ossl_cmp_hdr_set1_recipient
      Src: /src/openssl/test/cmp_hdr_test.c:151,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:154,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:157,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:157,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/cmp_hdr_test.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 166
    functionName: execute_HDR_set1_recipient_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - X509_NAME_cmp
    - ossl_cmp_hdr_set1_recipient
    - TEST_ptr
    - X509_NAME_free
    - X509_NAME_new
    - X509_NAME_ADD
    linkageType: ''
    returnType: int
    signature: int execute_HDR_set1_recipient_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:170,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: test_HDR_set1_recipient
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_set1_recipient(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/cmp_hdr_test.c:181,1
    - Dst: gmtime
      Src: /src/openssl/test/cmp_hdr_test.c:187,1
    - Dst: mktime
      Src: /src/openssl/test/cmp_hdr_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:190,1
    - Dst: ossl_cmp_hdr_update_messageTime
      Src: /src/openssl/test/cmp_hdr_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:192,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/cmp_hdr_test.c:192,1
    - Dst: mktime
      Src: /src/openssl/test/cmp_hdr_test.c:195,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/cmp_hdr_test.c:197,1
    - Dst: time
      Src: /src/openssl/test/cmp_hdr_test.c:199,1
    - Dst: gmtime
      Src: /src/openssl/test/cmp_hdr_test.c:200,1
    - Dst: mktime
      Src: /src/openssl/test/cmp_hdr_test.c:201,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/cmp_hdr_test.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: execute_HDR_update_messageTime_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - time
    - mktime
    - ASN1_TIME_to_tm
    - TEST_time_t_le
    - ossl_cmp_hdr_update_messageTime
    - gmtime
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int execute_HDR_update_messageTime_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:208,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: test_HDR_update_messageTime
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_update_messageTime(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_hdr_test.c:216,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:219,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:222,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_hdr_test.c:222,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:225,1
    - Dst: ossl_cmp_hdr_set1_senderKID
      Src: /src/openssl/test/cmp_hdr_test.c:225,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:227,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:227,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_hdr_test.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 234
    functionName: execute_HDR_set1_senderKID_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - TEST_int_eq
    - ASN1_OCTET_STRING_cmp
    - TEST_ptr
    - ASN1_OCTET_STRING_free
    - ossl_cmp_hdr_set1_senderKID
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int execute_HDR_set1_senderKID_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:238,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: test_HDR_set1_senderKID
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_set1_senderKID(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/test/cmp_hdr_test.c:246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:248,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/test/cmp_hdr_test.c:251,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:254,1
    - Dst: ossl_cmp_hdr_push0_freeText
      Src: /src/openssl/test/cmp_hdr_test.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:257,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/test/cmp_hdr_test.c:257,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/test/cmp_hdr_test.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: execute_HDR_push0_freeText_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_push0_freeText
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_set
    - TEST_int_eq
    - TEST_true
    - TEST_ptr
    - ASN1_UTF8STRING_new
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: int
    signature: int execute_HDR_push0_freeText_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:269,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 273
    functionName: test_HDR_push0_freeText
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_push0_freeText(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/test/cmp_hdr_test.c:277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:281,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/test/cmp_hdr_test.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:287,1
    - Dst: ossl_cmp_hdr_push1_freeText
      Src: /src/openssl/test/cmp_hdr_test.c:287,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/test/cmp_hdr_test.c:290,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:291,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:291,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/test/cmp_hdr_test.c:296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: execute_HDR_push1_freeText_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_push1_freeText
    - sk_ASN1_UTF8STRING_value
    - ASN1_STRING_set
    - ASN1_STRING_cmp
    - TEST_int_eq
    - TEST_ptr
    - ASN1_UTF8STRING_new
    - ASN1_UTF8STRING_free
    linkageType: ''
    returnType: int
    signature: int execute_HDR_push1_freeText_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:303,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: test_HDR_push1_freeText
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_push1_freeText(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_ITAV_new
      Src: /src/openssl/test/cmp_hdr_test.c:312,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:314,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:317,1
    - Dst: ossl_cmp_hdr_generalInfo_push0_item
      Src: /src/openssl/test/cmp_hdr_test.c:317,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:321,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/test/cmp_hdr_test.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 326
    functionName: execute_HDR_generalInfo_push0_item_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_generalInfo_push0_item
    - OSSL_CMP_ITAV_new
    - TEST_int_eq
    - sk_OSSL_CMP_ITAV_value
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int execute_HDR_generalInfo_push0_item_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:330,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: test_HDR_generalInfo_push0_item
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_generalInfo_push0_item(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_hdr_test.c:342,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/cmp_hdr_test.c:343,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/test/cmp_hdr_test.c:344,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:348,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:351,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:352,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/cmp_hdr_test.c:352,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/cmp_hdr_test.c:353,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/test/cmp_hdr_test.c:357,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:358,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/test/cmp_hdr_test.c:358,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/cmp_hdr_test.c:358,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/test/cmp_hdr_test.c:359,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:362,1
    - Dst: OSSL_CMP_ITAV_push0_stack_item
      Src: /src/openssl/test/cmp_hdr_test.c:362,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/test/cmp_hdr_test.c:363,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:367,1
    - Dst: ossl_cmp_hdr_generalInfo_push1_items
      Src: /src/openssl/test/cmp_hdr_test.c:367,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/test/cmp_hdr_test.c:371,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/cmp_hdr_test.c:372,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/test/cmp_hdr_test.c:372,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:373,1
    - Dst: memcmp
      Src: /src/openssl/test/cmp_hdr_test.c:373,1
    - Dst: OSSL_CMP_ITAV_get0_value
      Src: /src/openssl/test/cmp_hdr_test.c:376,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/test/cmp_hdr_test.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:377,1
    - Dst: ASN1_TYPE_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:377,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/test/cmp_hdr_test.c:383,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 336
    functionDepth: 7
    functionLinenumber: 336
    functionLinenumberEnd: 385
    functionName: execute_HDR_generalInfo_push1_items_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2txt
    - OSSL_CMP_ITAV_create
    - ASN1_INTEGER_free
    - TEST_ptr
    - ossl_cmp_hdr_generalInfo_push1_items
    - OSSL_CMP_ITAV_push0_stack_item
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - TEST_true
    - ASN1_TYPE_set
    - OSSL_CMP_ITAV_get0_type
    - sk_OSSL_CMP_ITAV_value
    - sk_OSSL_CMP_ITAV_pop_free
    - STACK_OF
    - memcmp
    - OSSL_CMP_ITAV_get0_value
    - TEST_int_eq
    - ASN1_TYPE_cmp
    - ASN1_TYPE_new
    - OSSL_CMP_ITAV_free
    - OBJ_txt2obj
    - ASN1_TYPE_free
    linkageType: ''
    returnType: int
    signature: int execute_HDR_generalInfo_push1_items_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:389,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: test_HDR_generalInfo_push1_items
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_generalInfo_push1_items(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/cmp_hdr_test.c:399,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/openssl/test/cmp_hdr_test.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:400,1
    - Dst: ossl_cmp_hdr_set_implicitConfirm
      Src: /src/openssl/test/cmp_hdr_test.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:401,1
    - Dst: ossl_cmp_hdr_has_implicitConfirm
      Src: /src/openssl/test/cmp_hdr_test.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: execute_HDR_set_and_check_implicitConfirm_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_hdr_set_implicitConfirm
    - TEST_false
    - ossl_cmp_hdr_has_implicitConfirm
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int execute_HDR_set_and_check_implicitConfirm_test(CMP_HDR_TEST_FIXTURE\n
      \                                              * fixture)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:406,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: test_HDR_set_and_check_implicit_confirm
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_HDR_set_and_check_implicit_confirm(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:416,1
    - Dst: ossl_cmp_hdr_init
      Src: /src/openssl/test/cmp_hdr_test.c:417,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:422,1
    - Dst: ossl_cmp_hdr_get_pvno
      Src: /src/openssl/test/cmp_hdr_test.c:422,1
    - Dst: ossl_cmp_hdr_get0_senderNonce
      Src: /src/openssl/test/cmp_hdr_test.c:425,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:426,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:426,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/openssl/test/cmp_hdr_test.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:430,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:430,1
    - Dst: OSSL_CMP_HDR_get0_recipNonce
      Src: /src/openssl/test/cmp_hdr_test.c:434,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:437,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:438,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_hdr_test.c:438,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_HDR_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 411
    functionDepth: 10
    functionLinenumber: 411
    functionLinenumberEnd: 443
    functionName: execute_HDR_init_test
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_HDR_get0_recipNonce
    - ossl_cmp_hdr_get_pvno
    - ossl_cmp_hdr_get0_senderNonce
    - ossl_cmp_hdr_init
    - TEST_int_eq
    - TEST_ptr
    - OSSL_CMP_HDR_get0_transactionID
    - TEST_true
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int execute_HDR_init_test(CMP_HDR_TEST_FIXTURE *fixture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:449,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_hdr_test.c:452,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_hdr_test.c:452,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:453,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_hdr_test.c:453,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_hdr_test.c:455,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 445
    functionDepth: 8
    functionLinenumber: 445
    functionLinenumberEnd: 460
    functionName: test_HDR_init_with_ref
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - TEST_int_eq
    - RAND_bytes
    - tear_down
    - TEST_true
    - OSSL_CMP_CTX_set1_referenceValue
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_HDR_init_with_ref(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_hdr_test.c:466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_hdr_test.c:468,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/cmp_hdr_test.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:469,1
    - Dst: X509_NAME_ADD
      Src: /src/openssl/test/cmp_hdr_test.c:469,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_hdr_test.c:470,1
    - Dst: OSSL_CMP_CTX_set1_subjectName
      Src: /src/openssl/test/cmp_hdr_test.c:470,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_hdr_test.c:472,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/cmp_hdr_test.c:475,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 478
    functionName: test_HDR_init_with_subject
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - X509_NAME_new
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_subjectName
    - tear_down
    - TEST_true
    - TEST_ptr
    - X509_NAME_free
    - EXECUTE_TEST
    - X509_NAME_ADD
    linkageType: ''
    returnType: int
    signature: int test_HDR_init_with_subject(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_hdr_test.c:487,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:489,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:490,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:491,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:492,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:493,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:494,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:495,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:497,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:498,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:499,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:500,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:504,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_hdr_test.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 485
    functionDepth: 8
    functionLinenumber: 485
    functionLinenumberEnd: 507
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_hdr_test.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/pkey_meth_kdf_test.c:26,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:27,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/pkey_meth_kdf_test.c:30,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:31,1
    - Dst: EVP_PKEY_CTX_set_tls1_prf_md
      Src: /src/openssl/test/pkey_meth_kdf_test.c:34,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/pkey_meth_kdf_test.c:34,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:35,1
    - Dst: EVP_PKEY_CTX_set1_tls1_prf_secret
      Src: /src/openssl/test/pkey_meth_kdf_test.c:38,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:40,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/pkey_meth_kdf_test.c:44,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:46,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/pkey_meth_kdf_test.c:50,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:52,1
    - Dst: EVP_PKEY_CTX_add1_tls1_prf_seed
      Src: /src/openssl/test/pkey_meth_kdf_test.c:55,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:57,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/pkey_meth_kdf_test.c:61,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:62,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/pkey_meth_kdf_test.c:71,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/pkey_meth_kdf_test.c:77,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 79
    functionName: test_kdf_tls1_prf
    functionSourceFile: /src/openssl/test/pkey_meth_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_add1_tls1_prf_seed
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set1_tls1_prf_secret
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_set_tls1_prf_md
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - EVP_sha256
    - TEST_mem_eq
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_kdf_tls1_prf(int index)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/pkey_meth_kdf_test.c:88,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:89,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/pkey_meth_kdf_test.c:92,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:93,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/openssl/test/pkey_meth_kdf_test.c:96,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/pkey_meth_kdf_test.c:96,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:97,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/pkey_meth_kdf_test.c:100,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:102,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/openssl/test/pkey_meth_kdf_test.c:105,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:107,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/pkey_meth_kdf_test.c:111,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:113,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/pkey_meth_kdf_test.c:117,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:119,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/pkey_meth_kdf_test.c:122,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:124,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/pkey_meth_kdf_test.c:128,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:129,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/pkey_meth_kdf_test.c:137,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/pkey_meth_kdf_test.c:143,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 145
    functionName: test_kdf_hkdf
    functionSourceFile: /src/openssl/test/pkey_meth_kdf_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_sha256
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_CTX_set_hkdf_md
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_kdf_hkdf(int index)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/pkey_meth_kdf_test.c:155,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:156,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/pkey_meth_kdf_test.c:159,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:160,1
    - Dst: EVP_PKEY_CTX_set1_pbe_pass
      Src: /src/openssl/test/pkey_meth_kdf_test.c:163,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:164,1
    - Dst: EVP_PKEY_CTX_set1_scrypt_salt
      Src: /src/openssl/test/pkey_meth_kdf_test.c:167,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:168,1
    - Dst: EVP_PKEY_CTX_set_scrypt_N
      Src: /src/openssl/test/pkey_meth_kdf_test.c:171,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:172,1
    - Dst: EVP_PKEY_CTX_set_scrypt_r
      Src: /src/openssl/test/pkey_meth_kdf_test.c:175,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:176,1
    - Dst: EVP_PKEY_CTX_set_scrypt_p
      Src: /src/openssl/test/pkey_meth_kdf_test.c:179,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:180,1
    - Dst: EVP_PKEY_CTX_set_scrypt_maxmem_bytes
      Src: /src/openssl/test/pkey_meth_kdf_test.c:183,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:184,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/pkey_meth_kdf_test.c:187,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:188,1
    - Dst: EVP_PKEY_CTX_set_scrypt_maxmem_bytes
      Src: /src/openssl/test/pkey_meth_kdf_test.c:191,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:192,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/pkey_meth_kdf_test.c:195,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_kdf_test.c:196,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/pkey_meth_kdf_test.c:211,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/pkey_meth_kdf_test.c:217,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 219
    functionName: test_kdf_scrypt
    functionSourceFile: /src/openssl/test/pkey_meth_kdf_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set1_scrypt_salt
    - EVP_PKEY_CTX_set_scrypt_N
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set_scrypt_maxmem_bytes
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_set_scrypt_p
    - EVP_PKEY_CTX_set_scrypt_r
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - TEST_mem_eq
    - EVP_PKEY_CTX_set1_pbe_pass
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_kdf_scrypt(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/pkey_meth_kdf_test.c:226,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkey_meth_kdf_test.c:229,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkey_meth_kdf_test.c:230,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkey_meth_kdf_test.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pkey_meth_kdf_test.c
    functionUses: 0
    functionsReached:
    - fips_provider_version_ge
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: main
    functionSourceFile: /src/openssl/test/rsa_complex.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:253,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_pkey_dparams_test.c:253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:256,1
    - Dst: d2i_KeyParams_bio
      Src: /src/openssl/test/evp_pkey_dparams_test.c:256,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:257,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_pkey_dparams_test.c:257,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_pkey_dparams_test.c:257,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_dparams_test.c:259,1
    - Dst: i2d_KeyParams_bio
      Src: /src/openssl/test/evp_pkey_dparams_test.c:259,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_dparams_test.c:261,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_pkey_dparams_test.c:261,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_pkey_dparams_test.c:262,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:266,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:267,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:268,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 6
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: params_bio_test
    functionSourceFile: /src/openssl/test/evp_pkey_dparams_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - i2d_KeyParams_bio
    - BIO_free
    - EVP_PKEY_free
    - BIO_new_mem_buf
    - BIO_get_mem_data
    - BIO_s_mem
    - d2i_KeyParams_bio
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int params_bio_test(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_pkey_dparams_test.c:282,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:284,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_pkey_dparams_test.c:284,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_pkey_dparams_test.c:287,1
    - Dst: d2i_KeyParams_bio
      Src: /src/openssl/test/evp_pkey_dparams_test.c:287,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_pkey_dparams_test.c:291,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_pkey_dparams_test.c:293,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/test/evp_pkey_dparams_test.c:293,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_pkey_dparams_test.c:297,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_pkey_dparams_test.c:300,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/test/evp_pkey_dparams_test.c:300,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_pkey_dparams_test.c:306,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:309,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_pkey_dparams_test.c:310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 273
    functionDepth: 10
    functionLinenumber: 273
    functionLinenumberEnd: 312
    functionName: set_enc_pubkey_test
    functionSourceFile: /src/openssl/test/evp_pkey_dparams_test.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - BIO_free
    - TEST_int_le
    - ERR_set_mark
    - TEST_skip
    - TEST_info
    - EVP_PKEY_free
    - BIO_new_mem_buf
    - EVP_PKEY_set1_encoded_public_key
    - d2i_KeyParams_bio
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int set_enc_pubkey_test(int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/evp_pkey_dparams_test.c:318,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dparams_test.c:320,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dparams_test.c:320,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_pkey_dparams_test.c:321,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_pkey_dparams_test.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_pkey_dparams_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - OSSL_NELEM
    - TEST_note
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:64,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ct_test.c:64,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:68,1
    - Dst: CTLOG_STORE_new
      Src: /src/openssl/test/ct_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ct_test.c:69,1
    - Dst: CTLOG_STORE_load_default_file
      Src: /src/openssl/test/ct_test.c:70,1
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/test/ct_test.c:76,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ct_test.c:77,1
    - Dst: TEST_error
      Src: /src/openssl/test/ct_test.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: set_up
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_free
    - OPENSSL_zalloc
    - TEST_int_eq
    - CTLOG_STORE_new
    - OPENSSL_free
    - CTLOG_STORE_load_default_file
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: CT_TEST_FIXTURE
    signature: CT_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/test/ct_test.c:85,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/test/ct_test.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ct_test.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: tear_down
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 39
    functionsReached:
    - CTLOG_STORE_free
    - OPENSSL_free
    - SCT_LIST_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CT_TEST_FIXTURE *fixture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ct_test.c:94,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ct_test.c:97,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/ct_test.c:100,1
    - Dst: BIO_free
      Src: /src/openssl/test/ct_test.c:101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ct_test.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dir
    - file
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: load_pem_cert
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - OPENSSL_free
    - test_mk_file_path
    - PEM_read_bio_X509
    linkageType: ''
    returnType: X509
    signature: X509 *load_pem_cert(const char *dir, const char *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/ct_test.c:112,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ct_test.c:115,1
    - Dst: BIO_read
      Src: /src/openssl/test/ct_test.c:118,1
    - Dst: BIO_free
      Src: /src/openssl/test/ct_test.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ct_test.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dir
    - file
    - buffer
    - buffer_length
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: read_text_file
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - OPENSSL_free
    - test_mk_file_path
    - BIO_read
    linkageType: ''
    returnType: int
    signature: "int read_text_file(const char *dir, const char *file,\n                          char
      *buffer, int buffer_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:159,1
    - Dst: BIO_new
      Src: /src/openssl/test/ct_test.c:159,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ct_test.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:160,1
    - Dst: X509V3_EXT_print
      Src: /src/openssl/test/ct_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:165,1
    - Dst: BIO_write
      Src: /src/openssl/test/ct_test.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:169,1
    - Dst: BIO_write
      Src: /src/openssl/test/ct_test.c:169,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/ct_test.c:172,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ct_test.c:173,1
    - Dst: BIO_free
      Src: /src/openssl/test/ct_test.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - extension
    - expected_output
    argTypes:
    - X509_EXTENSION*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: compare_extension_printout
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_new
    - TEST_str_eq
    - BIO_free
    - X509V3_EXT_print
    - BIO_get_mem_data
    - BIO_s_mem
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int compare_extension_printout(X509_EXTENSION *extension,\n                                      const
      char *expected_output)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/ct_test.c:228,1
    - Dst: CT_POLICY_EVAL_CTX_new
      Src: /src/openssl/test/ct_test.c:234,1
    - Dst: read_text_file
      Src: /src/openssl/test/ct_test.c:237,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/ct_test.c:241,1
    - Dst: CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
      Src: /src/openssl/test/ct_test.c:246,1
    - Dst: CT_POLICY_EVAL_CTX_set_time
      Src: /src/openssl/test/ct_test.c:249,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:256,1
    - Dst: load_pem_cert
      Src: /src/openssl/test/ct_test.c:256,1
    - Dst: CT_POLICY_EVAL_CTX_set1_cert
      Src: /src/openssl/test/ct_test.c:260,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:263,1
    - Dst: load_pem_cert
      Src: /src/openssl/test/ct_test.c:263,1
    - Dst: CT_POLICY_EVAL_CTX_set1_issuer
      Src: /src/openssl/test/ct_test.c:266,1
    - Dst: X509_get_ext_by_NID
      Src: /src/openssl/test/ct_test.c:270,1
    - Dst: X509_get_ext
      Src: /src/openssl/test/ct_test.c:271,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:273,1
    - Dst: compare_extension_printout
      Src: /src/openssl/test/ct_test.c:277,1
    - Dst: X509V3_EXT_d2i
      Src: /src/openssl/test/ct_test.c:281,1
    - Dst: sk_SCT_num
      Src: /src/openssl/test/ct_test.c:282,1
    - Dst: sk_SCT_value
      Src: /src/openssl/test/ct_test.c:283,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ct_test.c:285,1
    - Dst: SCT_get_source
      Src: /src/openssl/test/ct_test.c:285,1
    - Dst: assert_validity
      Src: /src/openssl/test/ct_test.c:292,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ct_test.c:295,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:303,1
    - Dst: o2i_SCT_LIST
      Src: /src/openssl/test/ct_test.c:303,1
    - Dst: assert_validity
      Src: /src/openssl/test/ct_test.c:307,1
    - Dst: compare_sct_list_printout
      Src: /src/openssl/test/ct_test.c:312,1
    - Dst: i2o_SCT_LIST
      Src: /src/openssl/test/ct_test.c:316,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ct_test.c:317,1
    - Dst: X509_free
      Src: /src/openssl/test/ct_test.c:324,1
    - Dst: X509_free
      Src: /src/openssl/test/ct_test.c:325,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/test/ct_test.c:326,1
    - Dst: SCT_free
      Src: /src/openssl/test/ct_test.c:327,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/openssl/test/ct_test.c:328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ct_test.c:329,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 77
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 224
    functionDepth: 6
    functionLinenumber: 224
    functionLinenumberEnd: 331
    functionName: execute_cert_test
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - compare_sct_list_printout
    - X509_free
    - OPENSSL_free
    - SCT_get_source
    - TEST_ptr
    - assert_validity
    - CT_POLICY_EVAL_CTX_new
    - X509_get_ext
    - compare_extension_printout
    - CT_POLICY_EVAL_CTX_free
    - X509_get_ext_by_NID
    - o2i_SCT_LIST
    - SCT_LIST_free
    - sk_SCT_value
    - CT_POLICY_EVAL_CTX_set1_issuer
    - CT_POLICY_EVAL_CTX_set_time
    - STACK_OF
    - sk_SCT_num
    - CT_POLICY_EVAL_CTX_set1_cert
    - read_text_file
    - X509V3_EXT_d2i
    - CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
    - TEST_ptr_null
    - i2o_SCT_LIST
    - load_pem_cert
    - TEST_int_ge
    - TEST_int_eq
    - TEST_mem_eq
    - SCT_free
    linkageType: ''
    returnType: int
    signature: int execute_cert_test(CT_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: SETUP_CT_TEST_FIXTURE
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_CT_TEST_FIXTURE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: EXECUTE_CT_TEST
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXECUTE_CT_TEST()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/openssl/test/ct_test.c:338,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: test_no_scts_in_certificate
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CT_TEST_FIXTURE
    - EXECUTE_CT_TEST
    linkageType: ''
    returnType: int
    signature: int test_no_scts_in_certificate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/openssl/test/ct_test.c:349,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: test_one_sct_in_certificate
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CT_TEST_FIXTURE
    - EXECUTE_CT_TEST
    linkageType: ''
    returnType: int
    signature: int test_one_sct_in_certificate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/openssl/test/ct_test.c:362,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 371
    functionName: test_multiple_scts_in_certificate
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CT_TEST_FIXTURE
    - EXECUTE_CT_TEST
    linkageType: ''
    returnType: int
    signature: int test_multiple_scts_in_certificate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/openssl/test/ct_test.c:375,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: test_verify_one_sct
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CT_TEST_FIXTURE
    - EXECUTE_CT_TEST
    linkageType: ''
    returnType: int
    signature: int test_verify_one_sct(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/openssl/test/ct_test.c:387,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: test_verify_multiple_scts
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CT_TEST_FIXTURE
    - EXECUTE_CT_TEST
    linkageType: ''
    returnType: int
    signature: int test_verify_multiple_scts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/openssl/test/ct_test.c:399,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: test_verify_fails_for_future_sct
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CT_TEST_FIXTURE
    - EXECUTE_CT_TEST
    linkageType: ''
    returnType: int
    signature: int test_verify_fails_for_future_sct(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/openssl/test/ct_test.c:431,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 438
    functionName: test_decode_tls_sct
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CT_TEST_FIXTURE
    - EXECUTE_CT_TEST
    linkageType: ''
    returnType: int
    signature: int test_decode_tls_sct(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CT_TEST_FIXTURE
      Src: /src/openssl/test/ct_test.c:449,1
    - Dst: sk_SCT_new_null
      Src: /src/openssl/test/ct_test.c:451,1
    - Dst: tear_down
      Src: /src/openssl/test/ct_test.c:454,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ct_test.c:458,1
    - Dst: SCT_new_from_base64
      Src: /src/openssl/test/ct_test.c:458,1
    - Dst: tear_down
      Src: /src/openssl/test/ct_test.c:462,1
    - Dst: sk_SCT_push
      Src: /src/openssl/test/ct_test.c:466,1
    - Dst: tear_down
      Src: /src/openssl/test/ct_test.c:467,1
    - Dst: EXECUTE_CT_TEST
      Src: /src/openssl/test/ct_test.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 440
    functionDepth: 5
    functionLinenumber: 440
    functionLinenumberEnd: 475
    functionName: test_encode_tls_sct
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - sk_SCT_push
    - SETUP_CT_TEST_FIXTURE
    - tear_down
    - SCT_new_from_base64
    - sk_SCT_new_null
    - EXECUTE_CT_TEST
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_encode_tls_sct(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CT_POLICY_EVAL_CTX_new
      Src: /src/openssl/test/ct_test.c:484,1
    - Dst: CT_POLICY_EVAL_CTX_get_time
      Src: /src/openssl/test/ct_test.c:486,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/ct_test.c:489,1
    - Dst: abs
      Src: /src/openssl/test/ct_test.c:489,1
    - Dst: difftime
      Src: /src/openssl/test/ct_test.c:489,1
    - Dst: time
      Src: /src/openssl/test/ct_test.c:489,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/openssl/test/ct_test.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: test_default_ct_policy_eval_ctx_time_is_now
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - time
    - CT_POLICY_EVAL_CTX_new
    - TEST_time_t_le
    - abs
    - CT_POLICY_EVAL_CTX_free
    - difftime
    - CT_POLICY_EVAL_CTX_get_time
    linkageType: ''
    returnType: int
    signature: int test_default_ct_policy_eval_ctx_time_is_now(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:507,1
    - Dst: CTLOG_new_from_base64
      Src: /src/openssl/test/ct_test.c:507,1
    - Dst: TEST_true
      Src: /src/openssl/test/ct_test.c:508,1
    - Dst: CTLOG_new_from_base64
      Src: /src/openssl/test/ct_test.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 499
    functionDepth: 8
    functionLinenumber: 499
    functionLinenumberEnd: 511
    functionName: test_ctlog_from_base64
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - CTLOG_new_from_base64
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_ctlog_from_base64(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/ct_test.c:517,1
    - Dst: getenv
      Src: /src/openssl/test/ct_test.c:519,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:522,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:523,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:524,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:525,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:526,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:527,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:528,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:529,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:530,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ct_test.c:531,1
    - Dst: printf
      Src: /src/openssl/test/ct_test.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 536
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ct_test.c
    functionUses: 0
    functionsReached:
    - printf
    - ADD_TEST
    - getenv
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIST
      Src: /src/openssl/test/list_test.c:33,1
    - Dst: OSSL_LIST
      Src: /src/openssl/test/list_test.c:34,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/list_test.c:36,1
    - Dst: ossl_list_fizz_init
      Src: /src/openssl/test/list_test.c:39,1
    - Dst: ossl_list_buzz_init
      Src: /src/openssl/test/list_test.c:40,1
    - Dst: TEST_true
      Src: /src/openssl/test/list_test.c:42,1
    - Dst: ossl_list_fizz_is_empty
      Src: /src/openssl/test/list_test.c:42,1
    - Dst: ossl_list_fizz_init_elem
      Src: /src/openssl/test/list_test.c:46,1
    - Dst: ossl_list_buzz_init_elem
      Src: /src/openssl/test/list_test.c:47,1
    - Dst: ossl_list_fizz_insert_tail
      Src: /src/openssl/test/list_test.c:50,1
    - Dst: ossl_list_buzz_insert_head
      Src: /src/openssl/test/list_test.c:54,1
    - Dst: TEST_false
      Src: /src/openssl/test/list_test.c:59,1
    - Dst: ossl_list_fizz_is_empty
      Src: /src/openssl/test/list_test.c:59,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:60,1
    - Dst: ossl_list_fizz_num
      Src: /src/openssl/test/list_test.c:60,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:61,1
    - Dst: ossl_list_buzz_num
      Src: /src/openssl/test/list_test.c:61,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:62,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:63,1
    - Dst: ossl_list_fizz_tail
      Src: /src/openssl/test/list_test.c:63,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:64,1
    - Dst: ossl_list_buzz_head
      Src: /src/openssl/test/list_test.c:64,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:65,1
    - Dst: ossl_list_buzz_tail
      Src: /src/openssl/test/list_test.c:65,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:66,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:66,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:67,1
    - Dst: ossl_list_fizz_tail
      Src: /src/openssl/test/list_test.c:67,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:68,1
    - Dst: ossl_list_buzz_head
      Src: /src/openssl/test/list_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:69,1
    - Dst: ossl_list_buzz_tail
      Src: /src/openssl/test/list_test.c:69,1
    - Dst: ossl_list_fizz_remove
      Src: /src/openssl/test/list_test.c:71,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:71,1
    - Dst: ossl_list_buzz_remove
      Src: /src/openssl/test/list_test.c:72,1
    - Dst: ossl_list_buzz_tail
      Src: /src/openssl/test/list_test.c:72,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:73,1
    - Dst: ossl_list_fizz_num
      Src: /src/openssl/test/list_test.c:73,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:74,1
    - Dst: ossl_list_buzz_num
      Src: /src/openssl/test/list_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:75,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:75,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:76,1
    - Dst: ossl_list_buzz_tail
      Src: /src/openssl/test/list_test.c:76,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:77,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:77,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:78,1
    - Dst: ossl_list_buzz_tail
      Src: /src/openssl/test/list_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:79,1
    - Dst: ossl_list_fizz_next
      Src: /src/openssl/test/list_test.c:79,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:79,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:80,1
    - Dst: ossl_list_fizz_prev
      Src: /src/openssl/test/list_test.c:80,1
    - Dst: ossl_list_fizz_tail
      Src: /src/openssl/test/list_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:81,1
    - Dst: ossl_list_fizz_next
      Src: /src/openssl/test/list_test.c:81,1
    - Dst: ossl_list_fizz_head
      Src: /src/openssl/test/list_test.c:81,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:82,1
    - Dst: ossl_list_fizz_prev
      Src: /src/openssl/test/list_test.c:82,1
    - Dst: ossl_list_fizz_tail
      Src: /src/openssl/test/list_test.c:82,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 85
    functionName: test_fizzbuzz
    functionSourceFile: /src/openssl/test/list_test.c
    functionUses: 0
    functionsReached:
    - ossl_list_buzz_insert_head
    - ossl_list_buzz_num
    - ossl_list_fizz_init
    - ossl_list_fizz_is_empty
    - ossl_list_buzz_head
    - ossl_list_buzz_init
    - TEST_ptr
    - ossl_list_fizz_prev
    - ossl_list_fizz_head
    - ossl_list_fizz_init_elem
    - ossl_list_fizz_remove
    - ossl_list_fizz_insert_tail
    - ossl_list_buzz_tail
    - ossl_list_buzz_remove
    - TEST_true
    - ossl_list_fizz_tail
    - ossl_list_fizz_next
    - ossl_list_buzz_init_elem
    - ossl_list_fizz_num
    - TEST_size_t_eq
    - TEST_false
    - TEST_int_eq
    - OSSL_NELEM
    - OSSL_LIST
    linkageType: ''
    returnType: int
    signature: int test_fizzbuzz(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_int_init
      Src: /src/openssl/test/list_test.c:103,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/list_test.c:104,1
    - Dst: ossl_list_int_init_elem
      Src: /src/openssl/test/list_test.c:105,1
    - Dst: ossl_list_int_insert_head
      Src: /src/openssl/test/list_test.c:110,1
    - Dst: ossl_list_int_insert_tail
      Src: /src/openssl/test/list_test.c:111,1
    - Dst: ossl_list_int_insert_before
      Src: /src/openssl/test/list_test.c:112,1
    - Dst: ossl_list_int_insert_before
      Src: /src/openssl/test/list_test.c:113,1
    - Dst: ossl_list_int_insert_after
      Src: /src/openssl/test/list_test.c:114,1
    - Dst: ossl_list_int_insert_after
      Src: /src/openssl/test/list_test.c:115,1
    - Dst: ossl_list_int_insert_after
      Src: /src/openssl/test/list_test.c:116,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/list_test.c:117,1
    - Dst: ossl_list_int_num
      Src: /src/openssl/test/list_test.c:117,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:119,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:120,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:122,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:122,1
    - Dst: ossl_list_int_next
      Src: /src/openssl/test/list_test.c:124,1
    - Dst: ossl_list_int_prev
      Src: /src/openssl/test/list_test.c:125,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:128,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:128,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:132,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:133,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:134,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:136,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:137,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:139,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:139,1
    - Dst: ossl_list_int_next
      Src: /src/openssl/test/list_test.c:141,1
    - Dst: ossl_list_int_prev
      Src: /src/openssl/test/list_test.c:142,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:145,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:145,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:149,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:150,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:152,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:153,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:153,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:154,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:154,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:155,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:155,1
    - Dst: ossl_list_int_insert_head
      Src: /src/openssl/test/list_test.c:159,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:160,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:161,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:161,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/list_test.c:162,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:162,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:163,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:163,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/list_test.c:164,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:164,1
    - Dst: ossl_list_int_remove
      Src: /src/openssl/test/list_test.c:168,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:169,1
    - Dst: ossl_list_int_head
      Src: /src/openssl/test/list_test.c:169,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/list_test.c:170,1
    - Dst: ossl_list_int_tail
      Src: /src/openssl/test/list_test.c:170,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 173
    functionName: test_insert
    functionSourceFile: /src/openssl/test/list_test.c
    functionUses: 0
    functionsReached:
    - ossl_list_int_tail
    - ossl_list_int_head
    - ossl_list_int_next
    - TEST_ptr_null
    - ossl_list_int_remove
    - TEST_int_eq
    - ossl_list_int_insert_after
    - ossl_list_int_init_elem
    - ossl_list_int_insert_tail
    - OSSL_NELEM
    - ossl_list_int_insert_before
    - ossl_list_int_prev
    - ossl_list_int_init
    - TEST_size_t_eq
    - TEST_ptr
    - ossl_list_int_num
    - ossl_list_int_insert_head
    linkageType: ''
    returnType: int
    signature: int test_insert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/list_test.c:177,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/list_test.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/list_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/bio_addr_test.c:60,1
    - Dst: memset
      Src: /src/openssl/test/bio_addr_test.c:67,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_addr_test.c:69,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_addr_test.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_addr_test.c:73,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/bio_addr_test.c:73,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_addr_test.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 79
    functionName: make_dummy_addr
    functionSourceFile: /src/openssl/test/bio_addr_test.c
    functionUses: 0
    functionsReached:
    - memset
    - BIO_ADDR_new
    - BIO_ADDR_free
    - BIO_ADDR_rawmake
    - TEST_true
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: BIO_ADDR
    signature: BIO_ADDR *make_dummy_addr(int family)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_addr_test.c:95,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/test/bio_addr_test.c:95,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_addr_test.c:99,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/bio_addr_test.c:99,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/test/bio_addr_test.c:102,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/test/bio_addr_test.c:105,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bio_addr_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_addr_test.c:115,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/test/bio_addr_test.c:116,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/bio_addr_test.c:119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_addr_test.c:120,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/test/bio_addr_test.c:121,1
    - Dst: memcmp
      Src: /src/openssl/test/bio_addr_test.c:124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_addr_test.c:127,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/bio_addr_test.c:128,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIO_ADDR*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 130
    functionName: bio_addr_is_eq
    functionSourceFile: /src/openssl/test/bio_addr_test.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_family
    - memcmp
    - OPENSSL_free
    - BIO_ADDR_rawaddress
    - TEST_ptr
    - BIO_ADDR_rawport
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int bio_addr_is_eq(const BIO_ADDR *a, const BIO_ADDR *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_dummy_addr
      Src: /src/openssl/test/bio_addr_test.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_addr_test.c:141,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/bio_addr_test.c:145,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_addr_test.c:146,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_addr_test.c:149,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/test/bio_addr_test.c:149,1
    - Dst: BIO_ADDR_dup
      Src: /src/openssl/test/bio_addr_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_addr_test.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_addr_test.c:157,1
    - Dst: bio_addr_is_eq
      Src: /src/openssl/test/bio_addr_test.c:157,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_addr_test.c:162,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/bio_addr_test.c:163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: test_bio_addr_copy_dup
    functionSourceFile: /src/openssl/test/bio_addr_test.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_new
    - make_dummy_addr
    - BIO_ADDR_dup
    - BIO_ADDR_free
    - BIO_ADDR_copy
    - bio_addr_is_eq
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_bio_addr_copy_dup(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/bio_addr_test.c:169,1
    - Dst: TEST_error
      Src: /src/openssl/test/bio_addr_test.c:170,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bio_addr_test.c:174,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bio_addr_test.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_addr_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - test_skip_common_options
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: EXT_ENTRY
    functionSourceFile: /src/openssl/test/ext_internal_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXT_ENTRY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: EXT_EXCEPTION
    functionSourceFile: /src/openssl/test/ext_internal_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXT_EXCEPTION(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: EXT_END
    functionSourceFile: /src/openssl/test/ext_internal_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXT_END(name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ext_internal_test.c:82,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ext_internal_test.c:88,1
    - Dst: TEST_error
      Src: /src/openssl/test/ext_internal_test.c:90,1
    - Dst: ossl_get_extension_type
      Src: /src/openssl/test/ext_internal_test.c:93,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/ext_internal_test.c:94,1
    - Dst: TEST_error
      Src: /src/openssl/test/ext_internal_test.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: test_extension_list
    functionSourceFile: /src/openssl/test/ext_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ossl_get_extension_type
    - TEST_size_t_eq
    - TEST_uint_eq
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_extension_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/ext_internal_test.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ext_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/rpktest.c:43,1
    - Dst: X509_STORE_CTX_get0_rpk
      Src: /src/openssl/test/rpktest.c:45,1
    - Dst: TEST_info
      Src: /src/openssl/test/rpktest.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: rpk_verify_client_cb
    functionSourceFile: /src/openssl/test/rpktest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get0_rpk
    - X509_STORE_CTX_get_error
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int rpk_verify_client_cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/rpktest.c:55,1
    - Dst: X509_STORE_CTX_get0_rpk
      Src: /src/openssl/test/rpktest.c:57,1
    - Dst: TEST_info
      Src: /src/openssl/test/rpktest.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: rpk_verify_server_cb
    functionSourceFile: /src/openssl/test/rpktest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get0_rpk
    - X509_STORE_CTX_get_error
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int rpk_verify_server_cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 170
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_le
      Src: /src/openssl/test/rpktest.c:124,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/rpktest.c:141,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:142,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/rpktest.c:144,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:145,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:178,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/rpktest.c:182,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:183,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/rpktest.c:185,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/rpktest.c:187,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:188,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/rpktest.c:190,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:195,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:203,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:211,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/rpktest.c:223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:224,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:227,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/rpktest.c:227,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/rpktest.c:228,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/rpktest.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:234,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/test/rpktest.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:237,1
    - Dst: SSL_CTX_set1_client_cert_type
      Src: /src/openssl/test/rpktest.c:237,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:240,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/test/rpktest.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:243,1
    - Dst: SSL_CTX_set1_client_cert_type
      Src: /src/openssl/test/rpktest.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:245,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/test/rpktest.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:247,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/test/rpktest.c:247,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rpktest.c:250,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/openssl/test/rpktest.c:250,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rpktest.c:252,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/openssl/test/rpktest.c:252,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/rpktest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:258,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/rpktest.c:258,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rpktest.c:262,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/test/rpktest.c:262,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rpktest.c:264,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/test/rpktest.c:264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:268,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:268,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:278,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/rpktest.c:278,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:280,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/rpktest.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:286,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:290,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:290,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:294,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:298,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:298,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:300,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:300,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:303,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:303,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:305,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/rpktest.c:305,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:307,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/rpktest.c:307,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:309,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:313,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:313,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:315,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:319,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:319,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:321,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:325,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:325,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:327,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:327,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:331,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:331,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:333,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:333,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:339,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:339,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:341,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:348,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:353,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:356,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:356,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:358,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:358,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:361,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:361,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:363,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/rpktest.c:363,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:365,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/rpktest.c:365,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:367,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/test/rpktest.c:368,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:372,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:372,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:374,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:374,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:377,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:377,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:383,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:385,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:391,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:394,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:394,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:403,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:403,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/rpktest.c:405,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/rpktest.c:406,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:411,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:415,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:418,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:418,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:420,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:420,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:423,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:423,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:425,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/rpktest.c:425,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:427,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/rpktest.c:427,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:429,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:435,1
    - Dst: TEST_skip
      Src: /src/openssl/test/rpktest.c:439,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:442,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:442,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:444,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:444,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:447,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:447,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:449,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/rpktest.c:449,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:451,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/rpktest.c:451,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:453,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/rpktest.c:454,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/rpktest.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:460,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:460,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:470,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:470,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:478,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/rpktest.c:483,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:484,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/rpktest.c:494,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/rpktest.c:494,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:496,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/test/rpktest.c:496,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:498,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/test/rpktest.c:498,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:500,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/test/rpktest.c:500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:503,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/test/rpktest.c:503,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:505,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/test/rpktest.c:505,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:507,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/test/rpktest.c:507,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:513,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/rpktest.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:515,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/rpktest.c:515,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rpktest.c:517,1
    - Dst: SSL_read
      Src: /src/openssl/test/rpktest.c:517,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rpktest.c:519,1
    - Dst: SSL_read
      Src: /src/openssl/test/rpktest.c:519,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/rpktest.c:526,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/rpktest.c:526,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:528,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/test/rpktest.c:528,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:530,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/test/rpktest.c:530,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:532,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/test/rpktest.c:532,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:535,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/test/rpktest.c:535,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:537,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/test/rpktest.c:537,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:539,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/test/rpktest.c:539,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:548,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/rpktest.c:548,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:549,1
    - Dst: SSL_SESSION_get0_peer_rpk
      Src: /src/openssl/test/rpktest.c:549,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:552,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/rpktest.c:552,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:553,1
    - Dst: SSL_SESSION_get0_peer_rpk
      Src: /src/openssl/test/rpktest.c:553,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/rpktest.c:556,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/rpktest.c:557,1
    - Dst: SSL_free
      Src: /src/openssl/test/rpktest.c:558,1
    - Dst: SSL_free
      Src: /src/openssl/test/rpktest.c:559,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:562,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/rpktest.c:562,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:564,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/rpktest.c:564,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:568,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:568,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:570,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/rpktest.c:570,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:572,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/rpktest.c:572,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rpktest.c:574,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/test/rpktest.c:574,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rpktest.c:576,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/test/rpktest.c:576,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:583,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:583,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:587,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:587,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/rpktest.c:589,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/rpktest.c:590,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:593,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:593,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:595,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:595,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:598,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:600,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/rpktest.c:600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:602,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/rpktest.c:602,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:604,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:607,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:607,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:609,1
    - Dst: SSL_add_expected_rpk
      Src: /src/openssl/test/rpktest.c:609,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:612,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/rpktest.c:612,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:614,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/rpktest.c:614,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:616,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/rpktest.c:616,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/rpktest.c:618,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/rpktest.c:619,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/rpktest.c:620,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/rpktest.c:624,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:625,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/rpktest.c:627,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:628,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:630,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/rpktest.c:630,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:633,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/test/rpktest.c:633,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:635,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/test/rpktest.c:635,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:637,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/test/rpktest.c:637,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:641,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/test/rpktest.c:641,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:643,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/test/rpktest.c:643,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rpktest.c:645,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/test/rpktest.c:645,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/rpktest.c:653,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/rpktest.c:655,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/rpktest.c:656,1
    - Dst: SSL_free
      Src: /src/openssl/test/rpktest.c:657,1
    - Dst: SSL_free
      Src: /src/openssl/test/rpktest.c:658,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/rpktest.c:659,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/rpktest.c:660,1
    - Dst: X509_free
      Src: /src/openssl/test/rpktest.c:661,1
    - Dst: X509_free
      Src: /src/openssl/test/rpktest.c:662,1
    - Dst: X509_free
      Src: /src/openssl/test/rpktest.c:663,1
    - Dst: TEST_info
      Src: /src/openssl/test/rpktest.c:666,1
    CyclomaticComplexity: 313
    EdgeCount: 313
    ICount: 589
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 672
    functionName: test_rpk
    functionSourceFile: /src/openssl/test/rpktest.c
    functionUses: 0
    functionsReached:
    - SSL_dane_enable
    - create_ssl_connection
    - SSL_CTX_set1_client_cert_type
    - SSL_CTX_dane_enable
    - TEST_int_le
    - OSSL_PROVIDER_unload
    - SSL_CTX_set_verify
    - SSL_set_session
    - X509_free
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_get0_peer_certificate
    - SSL_verify_client_post_handshake
    - SSL_CTX_free
    - SSL_check_private_key
    - SSL_read
    - TEST_info
    - OSSL_PROVIDER_load
    - SSL_set_verify
    - SSL_set_post_handshake_auth
    - TEST_long_eq
    - create_ssl_objects
    - SSL_get_negotiated_client_cert_type
    - TEST_true
    - SSL_SESSION_get0_peer_rpk
    - SSL_session_reused
    - SSL_get0_peer_rpk
    - SSL_do_handshake
    - SSL_get_verify_result
    - SSL_free
    - SSL_SESSION_free
    - TEST_skip
    - SSL_CTX_set1_server_cert_type
    - SSL_shutdown
    - TLS_client_method
    - SSL_add_expected_rpk
    - load_cert_pem
    - SSL_use_certificate_file
    - X509_get0_pubkey
    - SSL_set_options
    - TEST_int_eq
    - SSL_get1_session
    - SSL_get_negotiated_server_cert_type
    - SSL_use_PrivateKey_file
    - SSL_CTX_set_session_id_context
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_rpk(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:690,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/rpktest.c:690,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/rpktest.c:691,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/rpktest.c:691,1
    - Dst: TEST_false
      Src: /src/openssl/test/rpktest.c:696,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/test/rpktest.c:696,1
    - Dst: TEST_false
      Src: /src/openssl/test/rpktest.c:699,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/test/rpktest.c:699,1
    - Dst: TEST_false
      Src: /src/openssl/test/rpktest.c:702,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/test/rpktest.c:702,1
    - Dst: TEST_false
      Src: /src/openssl/test/rpktest.c:705,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/test/rpktest.c:705,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:708,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/test/rpktest.c:708,1
    - Dst: TEST_true
      Src: /src/openssl/test/rpktest.c:711,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/test/rpktest.c:711,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/rpktest.c:716,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/rpktest.c:717,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 719
    functionName: test_rpk_api
    functionSourceFile: /src/openssl/test/rpktest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - TEST_false
    - SSL_CTX_set1_server_cert_type
    - TLS_server_method
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int test_rpk_api(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/rpktest.c:724,1
    - Dst: TEST_error
      Src: /src/openssl/test/rpktest.c:725,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rpktest.c:729,1
    - Dst: test_get_argument
      Src: /src/openssl/test/rpktest.c:729,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:732,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:736,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:740,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:744,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:748,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:752,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:756,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:760,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/rpktest.c:764,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/rpktest.c:768,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rpktest.c:772,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rpktest.c:773,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 722
    functionDepth: 4
    functionLinenumber: 722
    functionLinenumberEnd: 778
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rpktest.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - ADD_TEST
    - test_mk_file_path
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:783,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:784,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:785,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:786,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:787,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:788,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:789,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/rpktest.c:790,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/rpktest.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 780
    functionDepth: 4
    functionLinenumber: 780
    functionLinenumberEnd: 792
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/rpktest.c
    functionUses: 6
    functionsReached:
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/openssl/test/rc4test.c:69,1
    - Dst: memset
      Src: /src/openssl/test/rc4test.c:70,1
    - Dst: RC4
      Src: /src/openssl/test/rc4test.c:71,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc4test.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: test_rc4_encrypt
    functionSourceFile: /src/openssl/test/rc4test.c
    functionUses: 0
    functionsReached:
    - RC4_set_key
    - RC4
    - memset
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_rc4_encrypt(const int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/openssl/test/rc4test.c:80,1
    - Dst: memset
      Src: /src/openssl/test/rc4test.c:81,1
    - Dst: RC4
      Src: /src/openssl/test/rc4test.c:82,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc4test.c:83,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/rc4test.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: test_rc4_end_processing
    functionSourceFile: /src/openssl/test/rc4test.c
    functionUses: 0
    functionsReached:
    - RC4
    - TEST_uchar_eq
    - memset
    - RC4_set_key
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_rc4_end_processing(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/openssl/test/rc4test.c:93,1
    - Dst: memset
      Src: /src/openssl/test/rc4test.c:94,1
    - Dst: RC4
      Src: /src/openssl/test/rc4test.c:95,1
    - Dst: RC4
      Src: /src/openssl/test/rc4test.c:96,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc4test.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: test_rc4_multi_call
    functionSourceFile: /src/openssl/test/rc4test.c
    functionUses: 0
    functionsReached:
    - RC4_set_key
    - RC4
    - memset
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_rc4_multi_call(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/openssl/test/rc4test.c:112,1
    - Dst: memset
      Src: /src/openssl/test/rc4test.c:113,1
    - Dst: SHA1_Init
      Src: /src/openssl/test/rc4test.c:114,1
    - Dst: RC4
      Src: /src/openssl/test/rc4test.c:116,1
    - Dst: SHA1_Update
      Src: /src/openssl/test/rc4test.c:117,1
    - Dst: SHA1_Final
      Src: /src/openssl/test/rc4test.c:119,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rc4test.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: test_rc_bulk
    functionSourceFile: /src/openssl/test/rc4test.c
    functionUses: 0
    functionsReached:
    - RC4
    - memset
    - SHA1_Update
    - SHA1_Init
    - RC4_set_key
    - SHA1_Final
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_rc_bulk(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rc4test.c:128,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/rc4test.c:128,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rc4test.c:129,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rc4test.c:130,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rc4test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rc4test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_srtm_test.c:30,1
    - Dst: ossl_quic_srtm_new
      Src: /src/openssl/test/quic_srtm_test.c:30,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:33,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:33,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:34,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:34,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:35,1
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/test/quic_srtm_test.c:35,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:36,1
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/test/quic_srtm_test.c:36,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:37,1
    - Dst: ossl_quic_srtm_cull
      Src: /src/openssl/test/quic_srtm_test.c:37,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:38,1
    - Dst: ossl_quic_srtm_cull
      Src: /src/openssl/test/quic_srtm_test.c:38,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:39,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:39,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:40,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:40,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:41,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:41,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:42,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:42,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:43,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:43,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:44,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/test/quic_srtm_test.c:44,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:45,1
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/test/quic_srtm_test.c:45,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:46,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:46,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:47,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:48,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:49,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:49,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:50,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:51,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:52,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:52,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:53,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:55,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:55,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:56,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:58,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:58,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:59,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:60,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:61,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:61,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:62,1
    - Dst: ossl_quic_srtm_cull
      Src: /src/openssl/test/quic_srtm_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:63,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:63,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:64,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:66,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:66,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_srtm_test.c:67,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_srtm_test.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srtm_test.c:69,1
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/test/quic_srtm_test.c:69,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_srtm_test.c:70,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/test/quic_srtm_test.c:70,1
    - Dst: ossl_quic_srtm_free
      Src: /src/openssl/test/quic_srtm_test.c:76,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 78
    functionName: test_srtm
    functionSourceFile: /src/openssl/test/quic_srtm_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_srtm_lookup
    - TEST_uint64_t_eq
    - ossl_quic_srtm_free
    - TEST_false
    - ossl_quic_srtm_cull
    - ossl_quic_srtm_remove
    - ossl_quic_srtm_new
    - TEST_true
    - ossl_quic_srtm_add
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_srtm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_srtm_test.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_srtm_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sm4_set_key
      Src: /src/openssl/test/sm4_internal_test.c:57,1
    - Dst: memcpy
      Src: /src/openssl/test/sm4_internal_test.c:58,1
    - Dst: ossl_sm4_encrypt
      Src: /src/openssl/test/sm4_internal_test.c:60,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sm4_internal_test.c:61,1
    - Dst: ossl_sm4_encrypt
      Src: /src/openssl/test/sm4_internal_test.c:65,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sm4_internal_test.c:67,1
    - Dst: ossl_sm4_decrypt
      Src: /src/openssl/test/sm4_internal_test.c:71,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sm4_internal_test.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 77
    functionName: test_sm4_ecb
    functionSourceFile: /src/openssl/test/sm4_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_sm4_encrypt
    - memcpy
    - ossl_sm4_decrypt
    - ossl_sm4_set_key
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_sm4_ecb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/sm4_internal_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sm4_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/dtls_mtu_test.c:31,1
    - Dst: memset
      Src: /src/openssl/test/dtls_mtu_test.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - ssl
    - hint
    - ident
    - max_ident_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: clnt_psk_callback
    functionSourceFile: /src/openssl/test/dtls_mtu_test.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int clnt_psk_callback(SSL *ssl, const char *hint,\n                                      char
      *ident, unsigned int max_ident_len,\n                                      unsigned
      char *psk,\n                                      unsigned int max_psk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/dtls_mtu_test.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: srvr_psk_callback
    functionSourceFile: /src/openssl/test/dtls_mtu_test.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int srvr_psk_callback(SSL *ssl, const char *identity,\n                                      unsigned
      char *psk,\n                                      unsigned int max_psk_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/dtls_mtu_test.c:61,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:63,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtls_mtu_test.c:63,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/dtls_mtu_test.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:70,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/dtls_mtu_test.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:71,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/dtls_mtu_test.c:71,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_mtu_test.c:72,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/dtls_mtu_test.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:73,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtls_mtu_test.c:73,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_mtu_test.c:78,1
    - Dst: SSL_set_mtu
      Src: /src/openssl/test/dtls_mtu_test.c:83,1
    - Dst: DTLS_get_data_mtu
      Src: /src/openssl/test/dtls_mtu_test.c:84,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_mtu_test.c:86,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/dtls_mtu_test.c:89,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_mtu_test.c:90,1
    - Dst: SSL_set_mtu
      Src: /src/openssl/test/dtls_mtu_test.c:96,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dtls_mtu_test.c:105,1
    - Dst: SSL_write
      Src: /src/openssl/test/dtls_mtu_test.c:105,1
    - Dst: BIO_read
      Src: /src/openssl/test/dtls_mtu_test.c:107,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_mtu_test.c:109,1
    - Dst: TEST_false
      Src: /src/openssl/test/dtls_mtu_test.c:114,1
    - Dst: TEST_error
      Src: /src/openssl/test/dtls_mtu_test.c:119,1
    - Dst: TEST_false
      Src: /src/openssl/test/dtls_mtu_test.c:124,1
    - Dst: TEST_error
      Src: /src/openssl/test/dtls_mtu_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_mtu_test.c:137,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/dtls_mtu_test.c:137,1
    - Dst: SSL_READ_ETM
      Src: /src/openssl/test/dtls_mtu_test.c:140,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_mtu_test.c:143,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_mtu_test.c:144,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 3
    argNames:
    - ctx
    - cs
    - no_etm
    argTypes:
    - SSL_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 146
    functionName: mtu_test
    functionSourceFile: /src/openssl/test/dtls_mtu_test.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TEST_ptr
    - SSL_set_mtu
    - TEST_info
    - create_ssl_objects
    - SSL_READ_ETM
    - TEST_true
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_read
    - TEST_error
    - SSL_free
    - TEST_size_t_ne
    - DTLS_get_data_mtu
    - memset
    - TEST_false
    - TEST_int_eq
    - SSL_write
    - SSL_set_cipher_list
    - SSL_set_options
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int mtu_test(SSL_CTX *ctx, const char *cs, int no_etm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/dtls_mtu_test.c:151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_mtu_test.c:154,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/dtls_mtu_test.c:154,1
    - Dst: DTLS_method
      Src: /src/openssl/test/dtls_mtu_test.c:154,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/openssl/test/dtls_mtu_test.c:157,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/test/dtls_mtu_test.c:158,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/dtls_mtu_test.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:166,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/dtls_mtu_test.c:166,1
    - Dst: SSL_CTX_get_ciphers
      Src: /src/openssl/test/dtls_mtu_test.c:169,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/dtls_mtu_test.c:170,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/dtls_mtu_test.c:171,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/dtls_mtu_test.c:172,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/dtls_mtu_test.c:175,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtls_mtu_test.c:178,1
    - Dst: mtu_test
      Src: /src/openssl/test/dtls_mtu_test.c:178,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_mtu_test.c:180,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dtls_mtu_test.c:185,1
    - Dst: mtu_test
      Src: /src/openssl/test/dtls_mtu_test.c:185,1
    - Dst: TEST_info
      Src: /src/openssl/test/dtls_mtu_test.c:187,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_mtu_test.c:191,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 193
    functionName: run_mtu_tests
    functionSourceFile: /src/openssl/test/dtls_mtu_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_psk_client_callback
    - SSL_CTX_get_ciphers
    - SSL_CTX_set_psk_server_callback
    - SSL_CTX_set_cipher_list
    - sk_SSL_CIPHER_value
    - TEST_int_gt
    - TEST_info
    - SSL_CTX_set_security_level
    - STACK_OF
    - SSL_CTX_new
    - sk_SSL_CIPHER_num
    - mtu_test
    - TEST_true
    - TEST_ptr
    - SSL_CIPHER_get_name
    - DTLS_method
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int run_mtu_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dtls_mtu_test.c:201,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/dtls_mtu_test.c:201,1
    - Dst: DTLS_method
      Src: /src/openssl/test/dtls_mtu_test.c:201,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/openssl/test/dtls_mtu_test.c:204,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/test/dtls_mtu_test.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:208,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/dtls_mtu_test.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:212,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/dtls_mtu_test.c:212,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/dtls_mtu_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:217,1
    - Dst: DTLS_set_link_mtu
      Src: /src/openssl/test/dtls_mtu_test.c:217,1
    - Dst: SSL_set_tlsext_max_fragment_length
      Src: /src/openssl/test/dtls_mtu_test.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/dtls_mtu_test.c:223,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/dtls_mtu_test.c:223,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_mtu_test.c:230,1
    - Dst: SSL_free
      Src: /src/openssl/test/dtls_mtu_test.c:231,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/dtls_mtu_test.c:232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 234
    functionName: test_server_mtu_larger_than_max_fragment_length
    functionSourceFile: /src/openssl/test/dtls_mtu_test.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_CTX_set_psk_client_callback
    - SSL_free
    - SSL_set_options
    - SSL_CTX_set_psk_server_callback
    - SSL_CTX_set_dh_auto
    - DTLS_set_link_mtu
    - SSL_CTX_new
    - create_ssl_objects
    - SSL_set_tlsext_max_fragment_length
    - TEST_true
    - TEST_ptr
    - DTLS_method
    linkageType: ''
    returnType: int
    signature: int test_server_mtu_larger_than_max_fragment_length(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtls_mtu_test.c:238,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dtls_mtu_test.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dtls_mtu_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_s_mempacket_test_free
      Src: /src/openssl/test/dtls_mtu_test.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/dtls_mtu_test.c
    functionUses: 6
    functionsReached:
    - bio_s_mempacket_test_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - test_function
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: ADD_TEST
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 110
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEST(test_function)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - test_function
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ADD_ALL_TESTS
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ALL_TESTS(test_function, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - test_function
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: ADD_ALL_TESTS_NOSUBTEST
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ALL_TESTS_NOSUBTEST(test_function, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TEST_FIXTURE_TYPE
    - ','
    - set_up
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: SETUP_TEST_FIXTURE
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_TEST_FIXTURE(TEST_FIXTURE_TYPE, set_up)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - execute_func
    - ','
    - tear_down
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: EXECUTE_TEST
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXECUTE_TEST(execute_func, tear_down)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: testutil_stringify_helper
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: testutil_stringify_helper(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: testutil_stringify
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: testutil_stringify(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - usage
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE(usage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - usage_str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: OPT_TEST_DECLARE_USAGE
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT_TEST_DECLARE_USAGE(usage_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: PRINTF_FORMAT
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF_FORMAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - opname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: DECLARE_COMPARISON
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_COMPARISON(type, name, opname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: DECLARE_COMPARISONS
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_COMPARISONS(type, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: TEST_int_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 406
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: TEST_int_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: TEST_int_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: TEST_int_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: TEST_int_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: TEST_int_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: TEST_uint_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: TEST_uint_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: TEST_uint_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 443
    functionName: TEST_uint_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: TEST_uint_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: TEST_uint_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: TEST_char_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_char_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: TEST_char_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_char_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: TEST_char_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_char_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: TEST_char_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_char_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: TEST_char_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_char_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: TEST_char_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_char_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: TEST_uchar_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uchar_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: TEST_uchar_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uchar_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    functionName: TEST_uchar_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uchar_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: TEST_uchar_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uchar_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: TEST_uchar_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uchar_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    functionName: TEST_uchar_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uchar_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    functionName: TEST_long_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_long_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: TEST_long_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_long_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: TEST_long_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_long_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: TEST_long_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_long_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 465
    functionName: TEST_long_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_long_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: TEST_long_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_long_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: TEST_ulong_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ulong_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: TEST_ulong_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ulong_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: TEST_ulong_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ulong_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    functionName: TEST_ulong_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ulong_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: TEST_ulong_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ulong_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: TEST_ulong_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ulong_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 475
    functionName: TEST_int64_t_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int64_t_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: TEST_int64_t_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int64_t_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: TEST_int64_t_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int64_t_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: TEST_int64_t_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int64_t_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: TEST_int64_t_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int64_t_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: TEST_int64_t_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_int64_t_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: TEST_uint64_t_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint64_t_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: TEST_uint64_t_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint64_t_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 484
    functionName: TEST_uint64_t_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint64_t_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 485
    functionName: TEST_uint64_t_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint64_t_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    functionName: TEST_uint64_t_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint64_t_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: TEST_uint64_t_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_uint64_t_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: TEST_size_t_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_size_t_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 490
    functionName: TEST_size_t_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_size_t_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: TEST_size_t_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_size_t_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 492
    functionName: TEST_size_t_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_size_t_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    functionName: TEST_size_t_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_size_t_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: TEST_size_t_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_size_t_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: TEST_double_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_double_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: TEST_double_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_double_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: TEST_double_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_double_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 499
    functionName: TEST_double_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_double_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    functionName: TEST_double_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_double_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 501
    functionName: TEST_double_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_double_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 503
    functionName: TEST_time_t_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_time_t_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: TEST_time_t_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_time_t_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: TEST_time_t_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_time_t_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: TEST_time_t_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_time_t_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 507
    functionName: TEST_time_t_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_time_t_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 508
    functionName: TEST_time_t_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_time_t_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 510
    functionName: TEST_ptr_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ptr_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 511
    functionName: TEST_ptr_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ptr_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: TEST_ptr
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 652
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ptr(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 513
    functionName: TEST_ptr_null
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ptr_null(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 515
    functionName: TEST_str_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_str_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: TEST_str_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_str_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: TEST_strn_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_strn_eq(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: TEST_strn_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_strn_ne(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - m
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: TEST_strn2_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_strn2_eq(a, m, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - m
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    functionName: TEST_strn2_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_strn2_ne(a, m, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - m
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    functionName: TEST_mem_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 191
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_mem_eq(a, m, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - m
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 523
    functionName: TEST_mem_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_mem_ne(a, m, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 525
    functionName: TEST_true
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 572
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_true(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 526
    functionName: TEST_false
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 165
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_false(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 528
    functionName: TEST_BN_eq
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 529
    functionName: TEST_BN_ne
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: TEST_BN_lt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_lt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: TEST_BN_gt
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 532
    functionName: TEST_BN_le
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_le(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: TEST_BN_ge
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: TEST_BN_eq_zero
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_eq_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: TEST_BN_ne_zero
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_ne_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: TEST_BN_lt_zero
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_lt_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 537
    functionName: TEST_BN_gt_zero
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_gt_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 538
    functionName: TEST_BN_le_zero
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_le_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 539
    functionName: TEST_BN_ge_zero
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_ge_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 540
    functionName: TEST_BN_eq_one
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_eq_one(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 541
    functionName: TEST_BN_eq_word
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_eq_word(a, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 542
    functionName: TEST_BN_abs_eq_word
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_abs_eq_word(a, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: TEST_BN_odd
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_odd(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: TEST_BN_even
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BN_even(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: TEST_error
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_error(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 556
    functionName: TEST_info
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 106
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_info(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 557
    functionName: TEST_skip
    functionSourceFile: /src/openssl/test/testutil.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_skip(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: CTS128_TEST_VECTOR
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTS128_TEST_VECTOR(len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/modes_internal_test.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: cts128_encrypt_key_schedule
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - AES_set_encrypt_key
    linkageType: ''
    returnType: AES_KEY
    signature: AES_KEY *cts128_encrypt_key_schedule(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/test/modes_internal_test.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: cts128_decrypt_key_schedule
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    linkageType: ''
    returnType: AES_KEY
    signature: AES_KEY *cts128_decrypt_key_schedule(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - out
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: last_blocks_correction
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t last_blocks_correction(const unsigned char *in,\n                                     unsigned
      char *out, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:174,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:176,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - in
    - out
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: last_blocks_correction_nist
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t last_blocks_correction_nist(const unsigned char *in,\n                                          unsigned
      char *out, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cts128_encrypt_key_schedule
      Src: /src/openssl/test/modes_internal_test.c:191,1
    - Dst: cts128_decrypt_key_schedule
      Src: /src/openssl/test/modes_internal_test.c:192,1
    - Dst: TEST_info
      Src: /src/openssl/test/modes_internal_test.c:198,1
    - Dst: CTS128_FIXTURE*::last_blocks_correction
      Src: /src/openssl/test/modes_internal_test.c:200,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:203,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/modes_internal_test.c:204,1
    - Dst: CTS128_FIXTURE*::encrypt_block
      Src: /src/openssl/test/modes_internal_test.c:204,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:207,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:208,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:212,1
    - Dst: CTS128_FIXTURE*::decrypt_block
      Src: /src/openssl/test/modes_internal_test.c:213,1
    - Dst: TEST_true
      Src: /src/openssl/test/modes_internal_test.c:216,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:217,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:218,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:222,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/modes_internal_test.c:223,1
    - Dst: CTS128_FIXTURE*::encrypt_stream
      Src: /src/openssl/test/modes_internal_test.c:223,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:227,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:228,1
    - Dst: memcpy
      Src: /src/openssl/test/modes_internal_test.c:232,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/modes_internal_test.c:233,1
    - Dst: CTS128_FIXTURE*::decrypt_stream
      Src: /src/openssl/test/modes_internal_test.c:233,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:237,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:238,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - fixture
    - num
    argTypes:
    - CTS128_FIXTURE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 242
    functionName: execute_cts128
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - CTS128_FIXTURE*::decrypt_stream
    - memcpy
    - CTS128_FIXTURE*::decrypt_block
    - TEST_info
    - CTS128_FIXTURE*::encrypt_stream
    - CTS128_FIXTURE*::last_blocks_correction
    - TEST_size_t_eq
    - cts128_encrypt_key_schedule
    - CTS128_FIXTURE*::encrypt_block
    - TEST_true
    - cts128_decrypt_key_schedule
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int execute_cts128(const CTS128_FIXTURE *fixture, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_cts128
      Src: /src/openssl/test/modes_internal_test.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: test_aes_cts128
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - execute_cts128
    linkageType: ''
    returnType: int
    signature: int test_aes_cts128(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_cts128
      Src: /src/openssl/test/modes_internal_test.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: test_aes_cts128_nist
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - execute_cts128
    linkageType: ''
    returnType: int
    signature: int test_aes_cts128_nist(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 815
    functionName: GCM128_TEST_VECTOR
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GCM128_TEST_VECTOR(n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/test/modes_internal_test.c:865,1
    - Dst: CRYPTO_gcm128_init
      Src: /src/openssl/test/modes_internal_test.c:867,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/test/modes_internal_test.c:868,1
    - Dst: memset
      Src: /src/openssl/test/modes_internal_test.c:869,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/test/modes_internal_test.c:871,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/modes_internal_test.c:873,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/test/modes_internal_test.c:873,1
    - Dst: TEST_false
      Src: /src/openssl/test/modes_internal_test.c:875,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/test/modes_internal_test.c:875,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:877,1
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/test/modes_internal_test.c:880,1
    - Dst: memset
      Src: /src/openssl/test/modes_internal_test.c:881,1
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/test/modes_internal_test.c:883,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/test/modes_internal_test.c:885,1
    - Dst: TEST_false
      Src: /src/openssl/test/modes_internal_test.c:886,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/test/modes_internal_test.c:886,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/modes_internal_test.c:888,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 845
    functionDepth: 3
    functionLinenumber: 845
    functionLinenumberEnd: 892
    functionName: test_gcm128
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - memset
    - TEST_int_ge
    - CRYPTO_gcm128_init
    - AES_set_encrypt_key
    - CRYPTO_gcm128_setiv
    - TEST_false
    - CRYPTO_gcm128_aad
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_finish
    - CRYPTO_gcm128_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_gcm128(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/modes_internal_test.c:896,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/modes_internal_test.c:896,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/modes_internal_test.c:897,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/modes_internal_test.c:897,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/modes_internal_test.c:898,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/modes_internal_test.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/modes_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: load_cert_from_file
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_cert_from_file(file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/verify_extra_test.c:66,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/verify_extra_test.c:71,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/test/verify_extra_test.c:75,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/test/verify_extra_test.c:75,1
    - Dst: X509_LOOKUP_load_file
      Src: /src/openssl/test/verify_extra_test.c:78,1
    - Dst: load_certs_pem
      Src: /src/openssl/test/verify_extra_test.c:81,1
    - Dst: load_cert_from_file
      Src: /src/openssl/test/verify_extra_test.c:83,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/verify_extra_test.c:86,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:90,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:93,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/verify_extra_test.c:95,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/verify_extra_test.c:100,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:101,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/verify_extra_test.c:102,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/verify_extra_test.c:103,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 105
    functionName: test_alt_chains_cert_forgery
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - X509_STORE_CTX_new
    - X509_STORE_CTX_init
    - X509_STORE_CTX_free
    - X509_STORE_free
    - X509_LOOKUP_load_file
    - load_certs_pem
    - X509_STORE_CTX_get_error
    - X509_free
    - STACK_OF
    - OSSL_STACK_OF_X509_free
    - X509_LOOKUP_file
    - load_cert_from_file
    - X509_verify_cert
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int test_alt_chains_cert_forgery(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_from_file
      Src: /src/openssl/test/verify_extra_test.c:114,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/verify_extra_test.c:118,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/verify_extra_test.c:122,1
    - Dst: strlen
      Src: /src/openssl/test/verify_extra_test.c:123,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/verify_extra_test.c:124,1
    - Dst: X509_set0_distinguishing_id
      Src: /src/openssl/test/verify_extra_test.c:128,1
    - Dst: X509_get0_distinguishing_id
      Src: /src/openssl/test/verify_extra_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:131,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:132,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/verify_extra_test.c:132,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 139
    functionName: test_distinguishing_id
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - strlen
    - TEST_int_eq
    - X509_free
    - ASN1_OCTET_STRING_cmp
    - TEST_ptr
    - X509_set0_distinguishing_id
    - ASN1_OCTET_STRING_free
    - X509_get0_distinguishing_id
    - load_cert_from_file
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int test_distinguishing_id(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/verify_extra_test.c:149,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/openssl/test/verify_extra_test.c:153,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/verify_extra_test.c:157,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/verify_extra_test.c:161,1
    - Dst: strlen
      Src: /src/openssl/test/verify_extra_test.c:162,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/verify_extra_test.c:163,1
    - Dst: X509_REQ_set0_distinguishing_id
      Src: /src/openssl/test/verify_extra_test.c:167,1
    - Dst: X509_REQ_get0_distinguishing_id
      Src: /src/openssl/test/verify_extra_test.c:169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:170,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:171,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/verify_extra_test.c:171,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/verify_extra_test.c:176,1
    - Dst: BIO_free
      Src: /src/openssl/test/verify_extra_test.c:177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 179
    functionName: test_req_distinguishing_id
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - X509_REQ_get0_distinguishing_id
    - PEM_read_bio_X509_REQ
    - X509_REQ_set0_distinguishing_id
    - X509_REQ_free
    - ASN1_OCTET_STRING_set
    - BIO_free
    - TEST_int_eq
    - ASN1_OCTET_STRING_cmp
    - ASN1_OCTET_STRING_free
    - TEST_ptr
    - strlen
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int test_req_distinguishing_id(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_from_file
      Src: /src/openssl/test/verify_extra_test.c:183,1
    - Dst: STACK_OF
      Src: /src/openssl/test/verify_extra_test.c:184,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/verify_extra_test.c:184,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/verify_extra_test.c:185,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:188,1
    - Dst: X509_self_signed
      Src: /src/openssl/test/verify_extra_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:192,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/verify_extra_test.c:192,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:193,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:193,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/verify_extra_test.c:194,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:195,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:195,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/verify_extra_test.c:198,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/verify_extra_test.c:199,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - filename
    - use_trusted
    - expected
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: test_self_signed
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_new
    - sk_X509_free
    - X509_STORE_CTX_free
    - TEST_int_eq
    - sk_X509_push
    - X509_free
    - STACK_OF
    - X509_STORE_CTX_set0_trusted_stack
    - TEST_true
    - sk_X509_new_null
    - load_cert_from_file
    - X509_self_signed
    - X509_verify_cert
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int test_self_signed(const char *filename, int use_trusted, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/openssl/test/verify_extra_test.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: test_self_signed_good
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - test_self_signed
    linkageType: ''
    returnType: int
    signature: int test_self_signed_good(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/openssl/test/verify_extra_test.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: test_self_signed_bad
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - test_self_signed
    linkageType: ''
    returnType: int
    signature: int test_self_signed_bad(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/openssl/test/verify_extra_test.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: test_self_signed_error
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - test_self_signed
    linkageType: ''
    returnType: int
    signature: int test_self_signed_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_self_signed
      Src: /src/openssl/test/verify_extra_test.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: test_store_ctx
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - test_self_signed
    linkageType: ''
    returnType: int
    signature: int test_store_ctx(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_from_file
      Src: /src/openssl/test/verify_extra_test.c:227,1
    - Dst: load_cert_from_file
      Src: /src/openssl/test/verify_extra_test.c:228,1
    - Dst: load_cert_from_file
      Src: /src/openssl/test/verify_extra_test.c:229,1
    - Dst: STACK_OF
      Src: /src/openssl/test/verify_extra_test.c:230,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/verify_extra_test.c:230,1
    - Dst: STACK_OF
      Src: /src/openssl/test/verify_extra_test.c:231,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/verify_extra_test.c:231,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/test/verify_extra_test.c:232,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:235,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:236,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:238,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:239,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:240,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:244,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/verify_extra_test.c:244,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:247,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/verify_extra_test.c:247,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:251,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/test/verify_extra_test.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/verify_extra_test.c:254,1
    - Dst: X509_STORE_CTX_set_purpose
      Src: /src/openssl/test/verify_extra_test.c:254,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/test/verify_extra_test.c:262,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/verify_extra_test.c:264,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/verify_extra_test.c:264,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/verify_extra_test.c:269,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/verify_extra_test.c:270,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/test/verify_extra_test.c:271,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:272,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:273,1
    - Dst: X509_free
      Src: /src/openssl/test/verify_extra_test.c:274,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - purpose
    - expected
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 276
    functionName: do_test_purpose
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - X509_verify_cert
    - X509_STORE_CTX_new
    - X509_STORE_CTX_free
    - sk_X509_push
    - TEST_int_eq
    - OSSL_STACK_OF_X509_free
    - X509_free
    - STACK_OF
    - X509_STORE_CTX_set0_trusted_stack
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    - load_cert_from_file
    - X509_STORE_CTX_set_purpose
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int do_test_purpose(int purpose, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_purpose
      Src: /src/openssl/test/verify_extra_test.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: test_purpose_ssl_client
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - do_test_purpose
    linkageType: ''
    returnType: int
    signature: int test_purpose_ssl_client(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_purpose
      Src: /src/openssl/test/verify_extra_test.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: test_purpose_ssl_server
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - do_test_purpose
    linkageType: ''
    returnType: int
    signature: int test_purpose_ssl_server(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_purpose
      Src: /src/openssl/test/verify_extra_test.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: test_purpose_any
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - do_test_purpose
    linkageType: ''
    returnType: int
    signature: int test_purpose_any(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/verify_extra_test.c:297,1
    - Dst: TEST_error
      Src: /src/openssl/test/verify_extra_test.c:298,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:302,1
    - Dst: test_get_argument
      Src: /src/openssl/test/verify_extra_test.c:302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:305,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:306,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:307,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:308,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:309,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:309,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:310,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:310,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:311,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:311,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/verify_extra_test.c:312,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/verify_extra_test.c:312,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:315,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:316,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:317,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:318,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:319,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:320,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:321,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:322,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:323,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/verify_extra_test.c:324,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/verify_extra_test.c:327,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 329
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 0
    functionsReached:
    - cleanup_tests
    - ADD_TEST
    - test_mk_file_path
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:333,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:334,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:335,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:336,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:337,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:338,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:339,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/verify_extra_test.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/verify_extra_test.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/tls13encryptiontest.c:212,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/tls13encryptiontest.c:218,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/test/tls13encryptiontest.c:226,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/test/tls13encryptiontest.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 239
    functionName: multihexstr2buf
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - strlen
    - OPENSSL_hexchar2int
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *multihexstr2buf(const char *str[3], size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:248,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:249,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:250,1
    - Dst: multihexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:251,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/tls13encryptiontest.c:256,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:262,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:263,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:264,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:265,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:266,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:267,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:271,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:273,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - rec
    - recd
    - key
    - iv
    - ivlen
    - seq
    argTypes:
    - TLS_RL_RECORD*
    - RECORD_DATA*
    - unsigned char**
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 277
    functionName: load_record
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - multihexstr2buf
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int load_record(TLS_RL_RECORD *rec, RECORD_DATA *recd,\n                       unsigned
      char **key, unsigned char *iv, size_t ivlen,\n                       unsigned
      char *seq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: multihexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:286,1
    - Dst: multihexstr2buf
      Src: /src/openssl/test/tls13encryptiontest.c:288,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13encryptiontest.c:290,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:291,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls13encryptiontest.c:295,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - rec
    - recd
    - enc
    argTypes:
    - TLS_RL_RECORD*
    - RECORD_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 303
    functionName: test_record
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - OPENSSL_free
    - multihexstr2buf
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_record(TLS_RL_RECORD *rec, RECORD_DATA *recd, int enc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/tls13encryptiontest.c:311,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls13encryptiontest.c:326,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/tls13encryptiontest.c:328,1
    - Dst: load_record
      Src: /src/openssl/test/tls13encryptiontest.c:329,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13encryptiontest.c:330,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13encryptiontest.c:335,1
    - Dst: new_record_layer
      Src: /src/openssl/test/tls13encryptiontest.c:335,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/tls13encryptiontest.c:339,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:344,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13encryptiontest.c:347,1
    - Dst: funcs::cipher
      Src: /src/openssl/test/tls13encryptiontest.c:347,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13encryptiontest.c:352,1
    - Dst: test_record
      Src: /src/openssl/test/tls13encryptiontest.c:352,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:353,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13encryptiontest.c:358,1
    - Dst: new_record_layer
      Src: /src/openssl/test/tls13encryptiontest.c:358,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/tls13encryptiontest.c:362,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13encryptiontest.c:367,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13encryptiontest.c:370,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/test/tls13encryptiontest.c:370,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:371,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13encryptiontest.c:375,1
    - Dst: test_record
      Src: /src/openssl/test/tls13encryptiontest.c:375,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13encryptiontest.c:376,1
    - Dst: free
      Src: /src/openssl/test/tls13encryptiontest.c:380,1
    - Dst: free
      Src: /src/openssl/test/tls13encryptiontest.c:381,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:383,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:384,1
    - Dst: TEST_note
      Src: /src/openssl/test/tls13encryptiontest.c:389,1
    - Dst: free
      Src: /src/openssl/test/tls13encryptiontest.c:393,1
    - Dst: free
      Src: /src/openssl/test/tls13encryptiontest.c:394,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:395,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/tls13encryptiontest.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 398
    functionName: test_tls13_encryption
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - new_record_layer
    - free
    - TEST_note
    - load_record
    - memcpy
    - TEST_info
    - TEST_int_eq
    - OPENSSL_free
    - OSSL_NELEM
    - EVP_aes_128_gcm
    - OSSL_RECORD_LAYER*::funcs::cipher
    - funcs::cipher
    - TEST_true
    - TEST_size_t_eq
    - EVP_CIPHER_get_iv_length
    - test_record
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_tls13_encryption(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13encryptiontest.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/tls13encryptiontest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/test/ffc_internal_test.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:183,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:187,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:187,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:190,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:190,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/test/ffc_internal_test.c:196,1
    - Dst: ossl_ffc_params_set_flags
      Src: /src/openssl/test/ffc_internal_test.c:199,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/test/ffc_internal_test.c:200,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:202,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:202,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/test/ffc_internal_test.c:207,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:209,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:209,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ffc_internal_test.c:215,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:216,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:216,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ffc_internal_test.c:222,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:223,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:223,1
    - Dst: BN_copy
      Src: /src/openssl/test/ffc_internal_test.c:228,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:230,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:230,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:237,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:238,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:239,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:240,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 242
    functionName: ffc_params_validate_g_unverified_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_cleanup
    - BN_set_word
    - TEST_false
    - BN_bin2bn
    - ossl_ffc_params_set_flags
    - ossl_ffc_params_init
    - ossl_ffc_params_set0_pqg
    - TEST_true
    - BN_add_word
    - TEST_ptr
    - BN_copy
    - BN_free
    - ossl_ffc_set_digest
    linkageType: ''
    returnType: int
    signature: int ffc_params_validate_g_unverified_test(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/test/ffc_internal_test.c:250,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:251,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:255,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:255,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/test/ffc_internal_test.c:261,1
    - Dst: ossl_ffc_params_set_flags
      Src: /src/openssl/test/ffc_internal_test.c:263,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/test/ffc_internal_test.c:264,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:266,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:266,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/test/ffc_internal_test.c:272,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/test/ffc_internal_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:277,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:277,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/test/ffc_internal_test.c:283,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:286,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:286,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/test/ffc_internal_test.c:292,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:295,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:295,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/test/ffc_internal_test.c:301,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:304,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:304,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:309,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:309,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:312,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/ffc_internal_test.c:312,1
    - Dst: ossl_ffc_params_set0_pqg
      Src: /src/openssl/test/ffc_internal_test.c:318,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/test/ffc_internal_test.c:320,1
    - Dst: ossl_ffc_params_set_validate_params
      Src: /src/openssl/test/ffc_internal_test.c:321,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:325,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:325,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:331,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:331,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:338,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:339,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:340,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 342
    functionName: ffc_params_validate_pq_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_set_validate_params
    - TEST_false
    - BN_bin2bn
    - ossl_ffc_params_set_flags
    - ossl_ffc_params_init
    - ossl_ffc_params_set0_pqg
    - TEST_true
    - TEST_ptr
    - BN_free
    - ossl_ffc_set_digest
    linkageType: ''
    returnType: int
    signature: int ffc_params_validate_pq_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/test/ffc_internal_test.c:351,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:352,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/openssl/test/ffc_internal_test.c:352,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:356,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:356,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 365
    functionName: ffc_params_gen_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_init
    - ossl_ffc_params_FIPS186_4_generate
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int ffc_params_gen_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/test/ffc_internal_test.c:372,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:374,1
    - Dst: ossl_ffc_params_FIPS186_4_generate
      Src: /src/openssl/test/ffc_internal_test.c:374,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:378,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:378,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:383,1
    - Dst: ossl_ffc_params_print
      Src: /src/openssl/test/ffc_internal_test.c:383,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 390
    functionName: ffc_params_gen_canonicalg_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_print
    - ossl_ffc_params_init
    - ossl_ffc_params_FIPS186_4_generate
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int ffc_params_gen_canonicalg_test(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/test/ffc_internal_test.c:398,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:399,1
    - Dst: BN_new
      Src: /src/openssl/test/ffc_internal_test.c:399,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:401,1
    - Dst: ossl_ffc_params_FIPS186_2_generate
      Src: /src/openssl/test/ffc_internal_test.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:405,1
    - Dst: ossl_ffc_params_FIPS186_2_validate
      Src: /src/openssl/test/ffc_internal_test.c:405,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:414,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:414,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:419,1
    - Dst: ossl_ffc_params_set_flags
      Src: /src/openssl/test/ffc_internal_test.c:422,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:424,1
    - Dst: ossl_ffc_params_FIPS186_4_validate
      Src: /src/openssl/test/ffc_internal_test.c:424,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:429,1
    - Dst: ossl_ffc_params_print
      Src: /src/openssl/test/ffc_internal_test.c:429,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:434,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:435,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 437
    functionName: ffc_params_fips186_2_gen_validate_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_FIPS186_4_validate
    - ossl_ffc_params_cleanup
    - ossl_ffc_params_FIPS186_2_generate
    - ossl_ffc_params_FIPS186_2_validate
    - TEST_false
    - TEST_int_eq
    - ossl_ffc_params_print
    - ossl_ffc_params_set_flags
    - ossl_ffc_params_init
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int ffc_params_fips186_2_gen_validate_test(void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:448,1
    - Dst: BN_new
      Src: /src/openssl/test/ffc_internal_test.c:448,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:451,1
    - Dst: DH_new_by_nid
      Src: /src/openssl/test/ffc_internal_test.c:451,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/test/ffc_internal_test.c:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:455,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ffc_internal_test.c:455,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ffc_internal_test.c:457,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:459,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:459,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:461,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:463,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ffc_internal_test.c:463,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:466,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:466,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:471,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:471,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ffc_internal_test.c:471,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:473,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:475,1
    - Dst: BN_add_word
      Src: /src/openssl/test/ffc_internal_test.c:475,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:478,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:478,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:481,1
    - Dst: BN_copy
      Src: /src/openssl/test/ffc_internal_test.c:481,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:484,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:484,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:486,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:489,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/ffc_internal_test.c:489,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:492,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:492,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:494,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:497,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/ffc_internal_test.c:497,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:500,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:500,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:505,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/ffc_internal_test.c:505,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:508,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:512,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:512,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:514,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:518,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:518,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:520,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:524,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:527,1
    - Dst: ossl_ffc_validate_public_key
      Src: /src/openssl/test/ffc_internal_test.c:527,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:529,1
    - Dst: DH_free
      Src: /src/openssl/test/ffc_internal_test.c:534,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:535,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 441
    functionDepth: 6
    functionLinenumber: 441
    functionLinenumberEnd: 537
    functionName: ffc_public_validate_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - DH_new_by_nid
    - BN_set_negative
    - BN_set_word
    - BN_value_one
    - TEST_int_eq
    - BN_sub_word
    - DH_free
    - ossl_ffc_validate_public_key
    - BN_new
    - TEST_true
    - BN_add_word
    - TEST_ptr
    - BN_copy
    - BN_free
    linkageType: ''
    returnType: int
    signature: int ffc_public_validate_test(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:546,1
    - Dst: BN_new
      Src: /src/openssl/test/ffc_internal_test.c:546,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:549,1
    - Dst: DH_new_by_nid
      Src: /src/openssl/test/ffc_internal_test.c:549,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/test/ffc_internal_test.c:551,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:553,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ffc_internal_test.c:553,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/ffc_internal_test.c:555,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:557,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:557,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:559,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:562,1
    - Dst: BN_set_word
      Src: /src/openssl/test/ffc_internal_test.c:562,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:565,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:567,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:571,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:571,1
    - Dst: BN_value_one
      Src: /src/openssl/test/ffc_internal_test.c:571,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:575,1
    - Dst: BN_copy
      Src: /src/openssl/test/ffc_internal_test.c:575,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:578,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:578,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:580,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:583,1
    - Dst: BN_sub_word
      Src: /src/openssl/test/ffc_internal_test.c:583,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:586,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:586,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:589,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:591,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:594,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:594,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:596,1
    - Dst: DH_free
      Src: /src/openssl/test/ffc_internal_test.c:601,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:602,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 539
    functionDepth: 6
    functionLinenumber: 539
    functionLinenumberEnd: 604
    functionName: ffc_private_validate_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - DH_new_by_nid
    - ossl_ffc_validate_private_key
    - BN_set_negative
    - BN_set_word
    - TEST_false
    - BN_value_one
    - TEST_int_eq
    - BN_sub_word
    - DH_free
    - BN_new
    - TEST_true
    - BN_copy
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int ffc_private_validate_test(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:614,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/test/ffc_internal_test.c:614,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:617,1
    - Dst: BN_new
      Src: /src/openssl/test/ffc_internal_test.c:617,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:620,1
    - Dst: DH_new_by_nid
      Src: /src/openssl/test/ffc_internal_test.c:620,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/test/ffc_internal_test.c:622,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ffc_internal_test.c:624,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:626,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:626,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:629,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:629,1
    - Dst: TEST_false
      Src: /src/openssl/test/ffc_internal_test.c:632,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:632,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:635,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:635,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:638,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:638,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:641,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:641,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:643,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:643,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:646,1
    - Dst: ossl_ffc_generate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:646,1
    - Dst: ossl_ifc_ffc_compute_security_bits
      Src: /src/openssl/test/ffc_internal_test.c:647,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ffc_internal_test.c:647,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ffc_internal_test.c:650,1
    - Dst: BN_num_bits
      Src: /src/openssl/test/ffc_internal_test.c:650,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:652,1
    - Dst: ossl_ffc_validate_private_key
      Src: /src/openssl/test/ffc_internal_test.c:652,1
    - Dst: DH_free
      Src: /src/openssl/test/ffc_internal_test.c:657,1
    - Dst: BN_free
      Src: /src/openssl/test/ffc_internal_test.c:658,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/ffc_internal_test.c:659,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 606
    functionDepth: 6
    functionLinenumber: 606
    functionLinenumberEnd: 661
    functionName: ffc_private_gen_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - ossl_ffc_generate_private_key
    - DH_new_by_nid
    - ossl_ffc_validate_private_key
    - TEST_false
    - TEST_int_le
    - BN_CTX_free
    - DH_free
    - BN_new
    - TEST_true
    - ossl_ifc_ffc_compute_security_bits
    - TEST_ptr
    - BN_free
    - BN_num_bits
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ffc_private_gen_test(int index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ffc_params_init
      Src: /src/openssl/test/ffc_internal_test.c:669,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ffc_internal_test.c:671,1
    - Dst: DH_new_by_nid
      Src: /src/openssl/test/ffc_internal_test.c:671,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/test/ffc_internal_test.c:673,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:675,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:678,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/test/ffc_internal_test.c:678,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ffc_internal_test.c:681,1
    - Dst: TEST_true
      Src: /src/openssl/test/ffc_internal_test.c:684,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/openssl/test/ffc_internal_test.c:684,1
    - Dst: ossl_ffc_params_cleanup
      Src: /src/openssl/test/ffc_internal_test.c:689,1
    - Dst: DH_free
      Src: /src/openssl/test/ffc_internal_test.c:690,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 663
    functionDepth: 6
    functionLinenumber: 663
    functionLinenumberEnd: 692
    functionName: ffc_params_copy_test
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - DH_new_by_nid
    - ossl_ffc_params_cleanup
    - TEST_int_eq
    - ossl_ffc_params_copy
    - ossl_ffc_params_init
    - DH_free
    - TEST_true
    - TEST_ptr
    - ossl_ffc_params_cmp
    linkageType: ''
    returnType: int
    signature: int ffc_params_copy_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:698,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:699,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:702,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:703,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:704,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:705,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:706,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ffc_internal_test.c:707,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ffc_internal_test.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 711
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ffc_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bn_internal_test.c:33,1
    - Dst: BN_new
      Src: /src/openssl/test/bn_internal_test.c:33,1
    - Dst: TEST_true
      Src: /src/openssl/test/bn_internal_test.c:35,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bn_internal_test.c:35,1
    - Dst: TEST_true
      Src: /src/openssl/test/bn_internal_test.c:37,1
    - Dst: ossl_bn_miller_rabin_is_prime
      Src: /src/openssl/test/bn_internal_test.c:37,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bn_internal_test.c:39,1
    - Dst: BN_free
      Src: /src/openssl/test/bn_internal_test.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 9
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: test_is_prime_enhanced
    functionSourceFile: /src/openssl/test/bn_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_set_word
    - TEST_int_eq
    - ossl_bn_miller_rabin_is_prime
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_is_prime_enhanced(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bn_internal_test.c:54,1
    - Dst: BN_new
      Src: /src/openssl/test/bn_internal_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/bn_internal_test.c:56,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bn_internal_test.c:56,1
    - Dst: TEST_true
      Src: /src/openssl/test/bn_internal_test.c:57,1
    - Dst: ossl_bn_miller_rabin_is_prime
      Src: /src/openssl/test/bn_internal_test.c:57,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/bn_internal_test.c:59,1
    - Dst: BN_free
      Src: /src/openssl/test/bn_internal_test.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 9
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: test_is_composite_enhanced
    functionSourceFile: /src/openssl/test/bn_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_ne
    - BN_set_word
    - ossl_bn_miller_rabin_is_prime
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_is_composite_enhanced(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bn_internal_test.c:73,1
    - Dst: BN_new
      Src: /src/openssl/test/bn_internal_test.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/bn_internal_test.c:73,1
    - Dst: BN_set_word
      Src: /src/openssl/test/bn_internal_test.c:73,1
    - Dst: BN_mul_word
      Src: /src/openssl/test/bn_internal_test.c:78,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/bn_internal_test.c:83,1
    - Dst: ossl_bn_get0_small_factors
      Src: /src/openssl/test/bn_internal_test.c:83,1
    - Dst: BN_free
      Src: /src/openssl/test/bn_internal_test.c:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: test_bn_small_factors
    functionSourceFile: /src/openssl/test/bn_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - ossl_bn_get0_small_factors
    - BN_set_word
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_mul_word
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_bn_small_factors(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bn_internal_test.c:91,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/bn_internal_test.c:91,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bn_internal_test.c:94,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bn_internal_test.c:95,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/bn_internal_test.c:95,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bn_internal_test.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bn_internal_test.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new
    - ADD_TEST
    - OSSL_NELEM
    - TEST_ptr
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/openssl/test/bn_internal_test.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/bn_internal_test.c
    functionUses: 7
    functionsReached:
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/openssl/test/pkey_meth_test.c:33,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/openssl/test/pkey_meth_test.c:34,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/test/pkey_meth_test.c:35,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_test.c:42,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/openssl/test/pkey_meth_test.c:43,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/openssl/test/pkey_meth_test.c:46,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/test/pkey_meth_test.c:47,1
    - Dst: TEST_note
      Src: /src/openssl/test/pkey_meth_test.c:50,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/test/pkey_meth_test.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 54
    functionName: test_asn1_meths
    functionSourceFile: /src/openssl/test/pkey_meth_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_asn1_get0_info
    - TEST_note
    - EVP_PKEY_asn1_get_count
    - OBJ_nid2ln
    - EVP_PKEY_asn1_get0
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_asn1_meths(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_count
      Src: /src/openssl/test/pkey_meth_test.c:67,1
    - Dst: EVP_PKEY_meth_get0
      Src: /src/openssl/test/pkey_meth_test.c:68,1
    - Dst: EVP_PKEY_meth_get0_info
      Src: /src/openssl/test/pkey_meth_test.c:69,1
    - Dst: TEST_error
      Src: /src/openssl/test/pkey_meth_test.c:76,1
    - Dst: EVP_PKEY_meth_get_count
      Src: /src/openssl/test/pkey_meth_test.c:77,1
    - Dst: EVP_PKEY_meth_get0
      Src: /src/openssl/test/pkey_meth_test.c:78,1
    - Dst: EVP_PKEY_meth_get0_info
      Src: /src/openssl/test/pkey_meth_test.c:79,1
    - Dst: TEST_note
      Src: /src/openssl/test/pkey_meth_test.c:80,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/test/pkey_meth_test.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: test_pkey_meths
    functionSourceFile: /src/openssl/test/pkey_meth_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_get0_info
    - TEST_note
    - EVP_PKEY_meth_get0
    - EVP_PKEY_meth_get_count
    - OBJ_nid2ln
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_pkey_meths(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkey_meth_test.c:90,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkey_meth_test.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pkey_meth_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MDC2_Init
      Src: /src/openssl/test/mdc2_internal_test.c:59,1
    - Dst: MDC2_Update
      Src: /src/openssl/test/mdc2_internal_test.c:60,1
    - Dst: strlen
      Src: /src/openssl/test/mdc2_internal_test.c:61,1
    - Dst: MDC2_Final
      Src: /src/openssl/test/mdc2_internal_test.c:62,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/mdc2_internal_test.c:64,1
    - Dst: TEST_info
      Src: /src/openssl/test/mdc2_internal_test.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: test_mdc2
    functionSourceFile: /src/openssl/test/mdc2_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - TEST_info
    - MDC2_Update
    - MDC2_Init
    - MDC2_Final
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_mdc2(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mdc2_internal_test.c:75,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mdc2_internal_test.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/mdc2_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/mdc2test.c:52,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/mdc2test.c:56,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/mdc2test.c:58,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/mdc2test.c:60,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/mdc2test.c:61,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/mdc2test.c:65,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/mdc2test.c:68,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/mdc2test.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/mdc2test.c:70,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/mdc2test.c:70,1
    - Dst: EVP_mdc2
      Src: /src/openssl/test/mdc2test.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/mdc2test.c:71,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/mdc2test.c:71,1
    - Dst: TEST_true
      Src: /src/openssl/test/mdc2test.c:72,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/mdc2test.c:72,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/mdc2test.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/mdc2test.c:74,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/mdc2test.c:74,1
    - Dst: EVP_mdc2
      Src: /src/openssl/test/mdc2test.c:74,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/mdc2test.c:77,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/test/mdc2test.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/mdc2test.c:78,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/mdc2test.c:78,1
    - Dst: TEST_true
      Src: /src/openssl/test/mdc2test.c:79,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/mdc2test.c:79,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/mdc2test.c:80,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/mdc2test.c:85,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/mdc2test.c:86,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 45
    functionDepth: 8
    functionLinenumber: 45
    functionLinenumberEnd: 88
    functionName: test_mdc2
    functionSourceFile: /src/openssl/test/mdc2test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - TEST_mem_eq
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_set_params
    - OSSL_PARAM_construct_end
    - EVP_DigestUpdate
    - ebcdic2ascii
    - EVP_MD_CTX_new
    - OSSL_PROVIDER_load
    - EVP_MD_CTX_free
    - OSSL_PROVIDER_unload
    - EVP_DigestInit_ex
    - TEST_true
    - EVP_mdc2
    - TEST_ptr
    - strlen
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_mdc2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/mdc2test.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/mdc2test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDEA_set_encrypt_key
      Src: /src/openssl/test/ideatest.c:66,1
    - Dst: IDEA_ecb_encrypt
      Src: /src/openssl/test/ideatest.c:67,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ideatest.c:68,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/openssl/test/ideatest.c:71,1
    - Dst: IDEA_ecb_encrypt
      Src: /src/openssl/test/ideatest.c:72,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ideatest.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: test_idea_ecb
    functionSourceFile: /src/openssl/test/ideatest.c
    functionUses: 0
    functionsReached:
    - IDEA_set_encrypt_key
    - TEST_mem_eq
    - IDEA_ecb_encrypt
    - IDEA_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: int test_idea_ecb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDEA_set_encrypt_key
      Src: /src/openssl/test/ideatest.c:82,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/openssl/test/ideatest.c:83,1
    - Dst: memcpy
      Src: /src/openssl/test/ideatest.c:84,1
    - Dst: IDEA_cbc_encrypt
      Src: /src/openssl/test/ideatest.c:85,1
    - Dst: memcpy
      Src: /src/openssl/test/ideatest.c:86,1
    - Dst: IDEA_cbc_encrypt
      Src: /src/openssl/test/ideatest.c:87,1
    - Dst: IDEA_cbc_encrypt
      Src: /src/openssl/test/ideatest.c:88,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ideatest.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: test_idea_cbc
    functionSourceFile: /src/openssl/test/ideatest.c
    functionUses: 0
    functionsReached:
    - IDEA_cbc_encrypt
    - memcpy
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_idea_cbc(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDEA_set_encrypt_key
      Src: /src/openssl/test/ideatest.c:97,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/openssl/test/ideatest.c:98,1
    - Dst: memcpy
      Src: /src/openssl/test/ideatest.c:99,1
    - Dst: IDEA_cfb64_encrypt
      Src: /src/openssl/test/ideatest.c:101,1
    - Dst: IDEA_cfb64_encrypt
      Src: /src/openssl/test/ideatest.c:103,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ideatest.c:106,1
    - Dst: memcpy
      Src: /src/openssl/test/ideatest.c:108,1
    - Dst: IDEA_cfb64_encrypt
      Src: /src/openssl/test/ideatest.c:110,1
    - Dst: IDEA_cfb64_encrypt
      Src: /src/openssl/test/ideatest.c:112,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ideatest.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: test_idea_cfb64
    functionSourceFile: /src/openssl/test/ideatest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - IDEA_set_encrypt_key
    - IDEA_set_decrypt_key
    - TEST_mem_eq
    - IDEA_cfb64_encrypt
    linkageType: ''
    returnType: int
    signature: int test_idea_cfb64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/ideatest.c:122,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ideatest.c:123,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ideatest.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ideatest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/simpledynamic.c:22,1
    - Dst: dlopen
      Src: /src/openssl/test/simpledynamic.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - lib
    - type
    argTypes:
    - char*
    - SD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: sd_load
    functionSourceFile: /src/openssl/test/simpledynamic.c
    functionUses: 2
    functionsReached:
    - strlen
    - dlopen
    linkageType: ''
    returnType: int
    signature: int sd_load(const char *filename, SD *lib, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/openssl/test/simpledynamic.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lib
    - symname
    - sym
    argTypes:
    - SD
    - char*
    - SD_SYM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: sd_sym
    functionSourceFile: /src/openssl/test/simpledynamic.c
    functionUses: 2
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: int
    signature: int sd_sym(SD lib, const char *symname, SD_SYM *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/openssl/test/simpledynamic.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lib
    argTypes:
    - SD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: sd_close
    functionSourceFile: /src/openssl/test/simpledynamic.c
    functionUses: 2
    functionsReached:
    - dlclose
    linkageType: ''
    returnType: int
    signature: int sd_close(SD lib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/openssl/test/simpledynamic.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: sd_error
    functionSourceFile: /src/openssl/test/simpledynamic.c
    functionUses: 0
    functionsReached:
    - dlerror
    linkageType: ''
    returnType: char
    signature: char *sd_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibraryA
      Src: /src/openssl/test/simpledynamic.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - filename
    - lib
    - type
    argTypes:
    - char*
    - SD*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: sd_load
    functionSourceFile: /src/openssl/test/simpledynamic.c
    functionUses: 2
    functionsReached:
    - LoadLibraryA
    linkageType: ''
    returnType: int
    signature: int sd_load(const char *filename, SD *lib, ossl_unused int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/openssl/test/simpledynamic.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lib
    - symname
    - sym
    argTypes:
    - SD
    - char*
    - SD_SYM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: sd_sym
    functionSourceFile: /src/openssl/test/simpledynamic.c
    functionUses: 2
    functionsReached:
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: int sd_sym(SD lib, const char *symname, SD_SYM *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/openssl/test/simpledynamic.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lib
    argTypes:
    - SD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: sd_close
    functionSourceFile: /src/openssl/test/simpledynamic.c
    functionUses: 2
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: int
    signature: int sd_close(SD lib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageA
      Src: /src/openssl/test/simpledynamic.c:69,1
    - Dst: GetLastError
      Src: /src/openssl/test/simpledynamic.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: sd_error
    functionSourceFile: /src/openssl/test/simpledynamic.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - FormatMessageA
    linkageType: ''
    returnType: char
    signature: char *sd_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: chdir
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chdir(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/conf_include_test.c:42,1
    - Dst: strpbrk
      Src: /src/openssl/test/conf_include_test.c:51,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:58,1
    - Dst: chdir
      Src: /src/openssl/test/conf_include_test.c:60,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/conf_include_test.c:62,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/conf_include_test.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: change_path
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - strpbrk
    - OPENSSL_free
    - chdir
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *change_path(const char *file)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/conf_include_test.c:86,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/test/conf_include_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:87,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/conf_include_test.c:87,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:90,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:94,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/conf_include_test.c:98,1
    - Dst: CONF_modules_load
      Src: /src/openssl/test/conf_include_test.c:98,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:105,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:105,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:106,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:107,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:113,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:113,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:114,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:115,1
    - Dst: NCONF_get_string
      Src: /src/openssl/test/conf_include_test.c:120,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/conf_include_test.c:121,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/conf_include_test.c:121,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:122,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:129,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:129,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:130,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:131,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:135,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:135,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:136,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:137,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:141,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:141,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:142,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:143,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 79
    functionDepth: 7
    functionLinenumber: 79
    functionLinenumberEnd: 148
    functionName: test_load_config
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 0
    functionsReached:
    - CONF_modules_load
    - TEST_note
    - TEST_str_eq
    - TEST_int_eq
    - NCONF_get_string
    - NCONF_load_bio
    - ERR_peek_error
    - TEST_ptr
    - NCONF_get_number
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_load_config(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:160,1
    - Dst: setenv
      Src: /src/openssl/test/conf_include_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/conf_include_test.c:161,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:161,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/conf_include_test.c:162,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:163,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/conf_include_test.c:171,1
    - Dst: unsetenv
      Src: /src/openssl/test/conf_include_test.c:171,1
    - Dst: TEST_false
      Src: /src/openssl/test/conf_include_test.c:172,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:172,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 178
    functionName: test_check_null_numbers
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - unsetenv
    - TEST_false
    - setenv
    - TEST_int_eq
    - TEST_long_eq
    - TEST_true
    - NCONF_get_number
    linkageType: ''
    returnType: int
    signature: int test_check_null_numbers(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/conf_include_test.c:189,1
    - Dst: setenv
      Src: /src/openssl/test/conf_include_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/conf_include_test.c:191,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:191,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/conf_include_test.c:192,1
    - Dst: setenv
      Src: /src/openssl/test/conf_include_test.c:198,1
    - Dst: TEST_false
      Src: /src/openssl/test/conf_include_test.c:199,1
    - Dst: NCONF_get_number
      Src: /src/openssl/test/conf_include_test.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 203
    functionName: test_check_overflow
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - setenv
    - BIO_snprintf
    - TEST_long_eq
    - TEST_true
    - NCONF_get_number
    linkageType: ''
    returnType: int
    signature: int test_check_overflow(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/conf_include_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/conf_include_test.c:208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/conf_include_test.c:211,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/conf_include_test.c:211,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:212,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/conf_include_test.c:216,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:217,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/conf_include_test.c:220,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 205
    functionDepth: 10
    functionLinenumber: 205
    functionLinenumberEnd: 225
    functionName: test_available_providers
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_available_providers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/conf_include_test.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/conf_include_test.c:252,1
    - Dst: NCONF_new
      Src: /src/openssl/test/conf_include_test.c:252,1
    - Dst: opt_next
      Src: /src/openssl/test/conf_include_test.c:255,1
    - Dst: test_get_argument
      Src: /src/openssl/test/conf_include_test.c:269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/conf_include_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/conf_include_test.c:271,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/conf_include_test.c:271,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:272,1
    - Dst: change_path
      Src: /src/openssl/test/conf_include_test.c:280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/conf_include_test.c:281,1
    - Dst: TEST_note
      Src: /src/openssl/test/conf_include_test.c:282,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/conf_include_test.c:286,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/conf_include_test.c:287,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/conf_include_test.c:288,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/conf_include_test.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 293
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - TEST_note
    - opt_next
    - ADD_TEST
    - NCONF_new
    - test_get_argument
    - TEST_ptr
    - change_path
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/conf_include_test.c:297,1
    - Dst: BIO_vfree
      Src: /src/openssl/test/conf_include_test.c:298,1
    - Dst: NCONF_free
      Src: /src/openssl/test/conf_include_test.c:299,1
    - Dst: CONF_modules_unload
      Src: /src/openssl/test/conf_include_test.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/conf_include_test.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    - NCONF_free
    - BIO_vfree
    - CONF_modules_unload
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:42,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:43,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:44,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:44,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:45,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/slh_dsa_test.c:45,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/slh_dsa_test.c:46,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:48,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - alg
    - data
    - datalen
    - public
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 6
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: slh_dsa_key_from_data
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *slh_dsa_key_from_data(const char *alg,\n                                       const
      unsigned char *data, size_t datalen,\n                                       int
      public)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:65,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/slh_dsa_test.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:66,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:66,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:69,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:69,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:72,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/slh_dsa_test.c:72,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:73,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:73,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:74,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/slh_dsa_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:75,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/slh_dsa_test.c:75,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/slh_dsa_test.c:81,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/slh_dsa_test.c:82,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 6
    argNames:
    - pkey
    - name
    - priv
    - priv_len
    - pub
    - pub_len
    argTypes:
    - EVP_PKEY**
    - char*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 6
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: slh_dsa_create_keypair
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int slh_dsa_create_keypair(EVP_PKEY **pkey, const char *name,\n                                  const
      uint8_t *priv, size_t priv_len,\n                                  const uint8_t
      *pub, size_t pub_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/slh_dsa_test.c:95,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/slh_dsa_test.c:98,1
    - Dst: memcpy
      Src: /src/openssl/test/slh_dsa_test.c:99,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/slh_dsa_test.c:101,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:101,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/slh_dsa_test.c:103,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:103,1
    - Dst: TEST_note
      Src: /src/openssl/test/slh_dsa_test.c:110,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 7
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: slh_dsa_bad_pub_len_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_le
    - TEST_ptr_null
    - TEST_note
    - memcpy
    - EVP_PKEY_free
    - slh_dsa_key_from_data
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int slh_dsa_bad_pub_len_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:127,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:128,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:128,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:129,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:130,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/slh_dsa_test.c:130,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:133,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/slh_dsa_test.c:133,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/slh_dsa_test.c:134,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/slh_dsa_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:135,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/slh_dsa_test.c:135,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:139,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/slh_dsa_test.c:139,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/slh_dsa_test.c:141,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/slh_dsa_test.c:141,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:142,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/slh_dsa_test.c:147,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:148,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 116
    functionDepth: 9
    functionLinenumber: 116
    functionLinenumberEnd: 150
    functionName: slh_dsa_key_eq_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    - TEST_int_ne
    - EVP_PKEY_dup
    - TEST_int_eq
    - EVP_PKEY_free
    - OSSL_NELEM
    - slh_dsa_key_from_data
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int slh_dsa_key_eq_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:159,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:161,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:161,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:163,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/slh_dsa_test.c:163,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:165,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/slh_dsa_test.c:165,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:167,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/slh_dsa_test.c:167,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:171,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 152
    functionDepth: 9
    functionLinenumber: 152
    functionLinenumberEnd: 174
    functionName: slh_dsa_key_validate_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_private_check
    - EVP_PKEY_pairwise_check
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - slh_dsa_key_from_data
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int slh_dsa_key_validate_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:186,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:190,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:190,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:192,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/slh_dsa_test.c:192,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:196,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 176
    functionDepth: 8
    functionLinenumber: 176
    functionLinenumberEnd: 199
    functionName: slh_dsa_key_validate_failure_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_pairwise_check
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - slh_dsa_key_from_data
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int slh_dsa_key_validate_failure_test(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/slh_dsa_test.c:217,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:218,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:220,1
    - Dst: slh_dsa_key_from_data
      Src: /src/openssl/test/slh_dsa_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:222,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:224,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/slh_dsa_test.c:224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:226,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/slh_dsa_test.c:226,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:227,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/slh_dsa_test.c:227,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/slh_dsa_test.c:232,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:233,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - td
    - sig
    - sig_len
    argTypes:
    - SLH_DSA_SIG_TEST_DATA*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 207
    functionDepth: 7
    functionLinenumber: 207
    functionLinenumberEnd: 236
    functionName: do_slh_dsa_verify
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify
    - TEST_int_eq
    - EVP_PKEY_verify_message_init
    - OSSL_PARAM_construct_int
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - slh_dsa_key_from_data
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int do_slh_dsa_verify(const SLH_DSA_SIG_TEST_DATA *td,\n                             uint8_t
      *sig, size_t sig_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/slh_dsa_test.c:252,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/slh_dsa_test.c:253,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:255,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:258,1
    - Dst: slh_dsa_create_keypair
      Src: /src/openssl/test/slh_dsa_test.c:264,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:268,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:268,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:270,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/slh_dsa_test.c:270,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:272,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/slh_dsa_test.c:272,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:273,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:273,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:275,1
    - Dst: EVP_PKEY_get_size_t_param
      Src: /src/openssl/test/slh_dsa_test.c:275,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:278,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/slh_dsa_test.c:278,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:279,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:279,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:282,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/test/slh_dsa_test.c:282,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/slh_dsa_test.c:285,1
    - Dst: do_slh_dsa_verify
      Src: /src/openssl/test/slh_dsa_test.c:287,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/slh_dsa_test.c:291,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:292,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:293,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/slh_dsa_test.c:294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 238
    functionDepth: 10
    functionLinenumber: 238
    functionLinenumberEnd: 296
    functionName: slh_dsa_sign_verify_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - EVP_Q_digest
    - do_slh_dsa_verify
    - TEST_ptr
    - OPENSSL_zalloc
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - slh_dsa_create_keypair
    - OSSL_PARAM_construct_end
    - EVP_SIGNATURE_free
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_get_size_t_param
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_size_t_eq
    - EVP_PKEY_sign
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int slh_dsa_sign_verify_test(int tst_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:306,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:310,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:310,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:311,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/slh_dsa_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:312,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/slh_dsa_test.c:312,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:313,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/slh_dsa_test.c:313,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - alg
    - seed
    - seed_len
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 298
    functionDepth: 7
    functionLinenumber: 298
    functionLinenumberEnd: 318
    functionName: do_gen_key
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 5
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *do_gen_key(const char *alg,\n                            const
      uint8_t *seed, size_t seed_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:331,1
    - Dst: do_gen_key
      Src: /src/openssl/test/slh_dsa_test.c:331,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:334,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/slh_dsa_test.c:334,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:337,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/slh_dsa_test.c:337,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:340,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/slh_dsa_test.c:340,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:341,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:342,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/slh_dsa_test.c:342,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:344,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:345,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/slh_dsa_test.c:345,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/slh_dsa_test.c:347,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/slh_dsa_test.c:348,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:351,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:352,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/slh_dsa_test.c:354,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:358,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 1
    argNames:
    - tst_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 360
    functionName: slh_dsa_keygen_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - do_gen_key
    - TEST_int_ge
    - TEST_int_le
    - EVP_PKEY_free
    - EVP_PKEY_get_int_param
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: int slh_dsa_keygen_test(int tst_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:377,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:378,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/slh_dsa_test.c:378,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:379,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/slh_dsa_test.c:379,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:383,1
    - Dst: BIO_new
      Src: /src/openssl/test/slh_dsa_test.c:383,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/slh_dsa_test.c:383,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:384,1
    - Dst: BIO_new
      Src: /src/openssl/test/slh_dsa_test.c:384,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/slh_dsa_test.c:384,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:385,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/slh_dsa_test.c:385,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:386,1
    - Dst: PEM_write_bio_PUBKEY_ex
      Src: /src/openssl/test/slh_dsa_test.c:386,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:387,1
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/openssl/test/slh_dsa_test.c:387,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:393,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/slh_dsa_test.c:393,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:394,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:394,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:395,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/slh_dsa_test.c:395,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:396,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/slh_dsa_test.c:396,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:399,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:399,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:400,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/slh_dsa_test.c:400,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:401,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:403,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/test/slh_dsa_test.c:403,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:404,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/slh_dsa_test.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:405,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/test/slh_dsa_test.c:405,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:408,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/test/slh_dsa_test.c:408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:409,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:409,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:412,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/slh_dsa_test.c:412,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:413,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/slh_dsa_test.c:413,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/slh_dsa_test.c:418,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/slh_dsa_test.c:419,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:420,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:421,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:422,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:423,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:424,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:425,1
    - Dst: BIO_free
      Src: /src/openssl/test/slh_dsa_test.c:426,1
    - Dst: BIO_free
      Src: /src/openssl/test/slh_dsa_test.c:427,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/slh_dsa_test.c:428,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 362
    functionDepth: 9
    functionLinenumber: 362
    functionLinenumberEnd: 430
    functionName: slh_dsa_usage_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - OPENSSL_free
    - BIO_s_mem
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - BIO_new
    - EVP_PKEY_pairwise_check
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_free
    - PEM_write_bio_PUBKEY_ex
    - TEST_true
    - OPENSSL_malloc
    - PEM_read_bio_PUBKEY_ex
    - EVP_SIGNATURE_free
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - EVP_PKEY_verify
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_sign_message_init
    - EVP_CIPHER_fetch
    - PEM_write_bio_PrivateKey_ex
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_private_check
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_public_check
    - EVP_PKEY_sign
    linkageType: ''
    returnType: int
    signature: int slh_dsa_usage_test(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:452,1
    - Dst: do_gen_key
      Src: /src/openssl/test/slh_dsa_test.c:452,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:456,1
    - Dst: BIO_new
      Src: /src/openssl/test/slh_dsa_test.c:456,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/slh_dsa_test.c:456,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:457,1
    - Dst: BIO_new
      Src: /src/openssl/test/slh_dsa_test.c:457,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/slh_dsa_test.c:457,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:458,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/slh_dsa_test.c:458,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:459,1
    - Dst: PEM_write_bio_PUBKEY_ex
      Src: /src/openssl/test/slh_dsa_test.c:459,1
    - Dst: TEST_true
      Src: /src/openssl/test/slh_dsa_test.c:460,1
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/openssl/test/slh_dsa_test.c:460,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/slh_dsa_test.c:465,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:466,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:469,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/slh_dsa_test.c:469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:470,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:470,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:472,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/slh_dsa_test.c:472,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:473,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/slh_dsa_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:476,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/slh_dsa_test.c:476,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:480,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:480,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:483,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/slh_dsa_test.c:483,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:484,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:484,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:485,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:486,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/slh_dsa_test.c:486,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/slh_dsa_test.c:488,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:491,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/test/slh_dsa_test.c:491,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:492,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/slh_dsa_test.c:492,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:494,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:497,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/slh_dsa_test.c:497,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:498,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/slh_dsa_test.c:498,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:499,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/slh_dsa_test.c:499,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:500,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/slh_dsa_test.c:500,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/slh_dsa_test.c:505,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/slh_dsa_test.c:506,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:507,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:508,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:509,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:510,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:511,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:512,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:513,1
    - Dst: BIO_free
      Src: /src/openssl/test/slh_dsa_test.c:514,1
    - Dst: BIO_free
      Src: /src/openssl/test/slh_dsa_test.c:515,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/slh_dsa_test.c:516,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 432
    functionDepth: 6
    functionLinenumber: 432
    functionLinenumberEnd: 518
    functionName: slh_dsa_deterministic_usage_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - do_gen_key
    - OPENSSL_free
    - BIO_s_mem
    - TEST_ptr
    - BIO_new
    - EVP_PKEY_CTX_dup
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_free
    - PEM_write_bio_PUBKEY_ex
    - TEST_true
    - OSSL_PARAM_construct_end
    - PEM_read_bio_PUBKEY_ex
    - EVP_SIGNATURE_free
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - EVP_PKEY_verify
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_sign_message_init
    - EVP_CIPHER_fetch
    - PEM_write_bio_PrivateKey_ex
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_size_t_eq
    - OPENSSL_calloc
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - EVP_PKEY_sign
    linkageType: ''
    returnType: int
    signature: int slh_dsa_deterministic_usage_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:533,1
    - Dst: do_gen_key
      Src: /src/openssl/test/slh_dsa_test.c:533,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:536,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:538,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:540,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/slh_dsa_test.c:540,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:541,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:541,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:544,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:544,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:547,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/slh_dsa_test.c:547,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:548,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/slh_dsa_test.c:548,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:551,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/slh_dsa_test.c:551,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:554,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:554,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:556,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/slh_dsa_test.c:556,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:557,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:557,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:560,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/slh_dsa_test.c:560,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:563,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/slh_dsa_test.c:563,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:567,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/slh_dsa_test.c:569,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 520
    functionDepth: 8
    functionLinenumber: 520
    functionLinenumberEnd: 571
    functionName: slh_dsa_digest_sign_verify_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - OPENSSL_zalloc
    - EVP_DigestVerifyInit_ex
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - do_gen_key
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - EVP_DigestSign
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int slh_dsa_digest_sign_verify_test(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/slh_dsa_test.c:584,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/slh_dsa_test.c:584,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:585,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/slh_dsa_test.c:585,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:589,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:591,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:592,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/slh_dsa_test.c:592,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:596,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:600,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/slh_dsa_test.c:600,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:601,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/slh_dsa_test.c:601,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/slh_dsa_test.c:605,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/slh_dsa_test.c:607,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:608,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/slh_dsa_test.c:608,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/slh_dsa_test.c:609,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/slh_dsa_test.c:609,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/slh_dsa_test.c:613,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:614,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 573
    functionDepth: 7
    functionLinenumber: 573
    functionLinenumberEnd: 616
    functionName: slh_dsa_keygen_invalid_test
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_generate
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: int slh_dsa_keygen_invalid_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/slh_dsa_test.c:634,1
    - Dst: opt_arg
      Src: /src/openssl/test/slh_dsa_test.c:637,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/slh_dsa_test.c:646,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:649,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:650,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:651,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:652,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:653,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:654,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/slh_dsa_test.c:655,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/slh_dsa_test.c:655,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/slh_dsa_test.c:656,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/slh_dsa_test.c:656,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:657,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/slh_dsa_test.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 660
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - ADD_TEST
    - OSSL_NELEM
    - test_get_libctx
    - opt_arg
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/slh_dsa_test.c:664,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/slh_dsa_test.c:665,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/slh_dsa_test.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 667
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/slh_dsa_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - oin
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: OSSL_provider_init
    functionSourceFile: /src/openssl/test/p_minimal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int OSSL_provider_init(const OSSL_CORE_HANDLE *handle,\n                       const
      OSSL_DISPATCH *oin,\n                       const OSSL_DISPATCH **out,\n                       void
      **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/evp_fetch_prov_test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:64,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_fetch_prov_test.c:64,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:65,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:66,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_fetch_prov_test.c:66,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:67,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:67,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:70,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_fetch_prov_test.c:70,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - md
    - msg
    - len
    - exptd
    argTypes:
    - EVP_MD*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 8
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: calculate_digest
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_get0_md
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int calculate_digest(const EVP_MD *md, const char *msg, size_t len,\n
      \                           const unsigned char *exptd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_fetch_prov_test.c:85,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:89,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/evp_fetch_prov_test.c:89,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/evp_fetch_prov_test.c:91,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/evp_fetch_prov_test.c:94,1
    - Dst: test_get_argument
      Src: /src/openssl/test/evp_fetch_prov_test.c:95,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_fetch_prov_test.c:96,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:97,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - libctx
    - prov
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: load_providers
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - test_get_argument_count
    - TEST_true
    - test_get_argument
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int load_providers(OSSL_LIB_CTX **libctx, OSSL_PROVIDER *prov[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_fetch_prov_test.c:112,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_fetch_prov_test.c:114,1
    - Dst: OPENSSL_thread_stop_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:119,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - libctx
    - prov
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: unload_providers
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    - OPENSSL_thread_stop_ex
    linkageType: ''
    returnType: void
    signature: void unload_providers(OSSL_LIB_CTX **libctx, OSSL_PROVIDER *prov[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_fetch_prov_test.c:129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:130,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:133,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/evp_fetch_prov_test.c:133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:136,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/evp_fetch_prov_test.c:136,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 10
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: test_legacy_provider_unloaded
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - TEST_int_eq
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_legacy_provider_unloaded(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:149,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/test/evp_fetch_prov_test.c:149,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:150,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/test/evp_fetch_prov_test.c:150,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/test/evp_fetch_prov_test.c:150,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: make_algor
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - X509_ALGOR_set0
    - X509_ALGOR_new
    - X509_ALGOR_free
    - OBJ_nid2obj
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: X509_ALGOR
    signature: X509_ALGOR *make_algor(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:170,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:171,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/evp_fetch_prov_test.c:171,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:172,1
    - Dst: calculate_digest
      Src: /src/openssl/test/evp_fetch_prov_test.c:172,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:173,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/test/evp_fetch_prov_test.c:173,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:174,1
    - Dst: EVP_MD_get_block_size
      Src: /src/openssl/test/evp_fetch_prov_test.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 9
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: test_md
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_block_size
    - EVP_MD_get_size
    - EVP_MD_is_a
    - TEST_int_eq
    - calculate_digest
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_md(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:183,1
    - Dst: test_md
      Src: /src/openssl/test/evp_fetch_prov_test.c:184,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_fetch_prov_test.c:184,1
    - Dst: unload_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 10
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: test_implicit_EVP_MD_fetch
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - test_md
    - load_providers
    - unload_providers
    linkageType: ''
    returnType: int
    signature: int test_implicit_EVP_MD_fetch(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:197,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:200,1
    - Dst: test_md
      Src: /src/openssl/test/evp_fetch_prov_test.c:202,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:206,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/test/evp_fetch_prov_test.c:206,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:209,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_fetch_prov_test.c:211,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:217,1
    - Dst: unload_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 190
    functionDepth: 10
    functionLinenumber: 190
    functionLinenumberEnd: 220
    functionName: test_explicit_EVP_MD_fetch
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_up_ref
    - EVP_MD_free
    - load_providers
    - TEST_ptr_null
    - test_md
    - unload_providers
    - TEST_true
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int test_explicit_EVP_MD_fetch(const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_explicit_EVP_MD_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 11
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: test_explicit_EVP_MD_fetch_by_name
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - test_explicit_EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int test_explicit_EVP_MD_fetch_by_name(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_algor
      Src: /src/openssl/test/evp_fetch_prov_test.c:234,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/test/evp_fetch_prov_test.c:241,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_fetch_prov_test.c:244,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/evp_fetch_prov_test.c:244,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_fetch_prov_test.c:248,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/evp_fetch_prov_test.c:248,1
    - Dst: test_explicit_EVP_MD_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:253,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 231
    functionDepth: 11
    functionLinenumber: 231
    functionLinenumberEnd: 257
    functionName: test_explicit_EVP_MD_fetch_by_X509_ALGOR
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2txt
    - X509_ALGOR_get0
    - make_algor
    - X509_ALGOR_free
    - test_explicit_EVP_MD_fetch
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_explicit_EVP_MD_fetch_by_X509_ALGOR(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/evp_fetch_prov_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:271,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_fetch_prov_test.c:271,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:272,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:273,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_fetch_prov_test.c:273,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:274,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:275,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:275,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:276,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_fetch_prov_test.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:277,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_fetch_prov_test.c:277,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_fetch_prov_test.c:278,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - cipher
    - msg
    - len
    argTypes:
    - EVP_CIPHER*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 285
    functionName: encrypt_decrypt
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 4
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - memset
    - EVP_CIPHER_CTX_free
    - EVP_CipherFinal_ex
    - EVP_CipherInit_ex
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int encrypt_decrypt(const EVP_CIPHER *cipher, const unsigned char
      *msg,\n                           size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_fetch_prov_test.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:292,1
    - Dst: encrypt_decrypt
      Src: /src/openssl/test/evp_fetch_prov_test.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 6
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: test_cipher
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 2
    functionsReached:
    - TEST_ptr
    - encrypt_decrypt
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_cipher(const EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:301,1
    - Dst: test_cipher
      Src: /src/openssl/test/evp_fetch_prov_test.c:302,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_fetch_prov_test.c:302,1
    - Dst: unload_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 7
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: test_implicit_EVP_CIPHER_fetch
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - unload_providers
    - load_providers
    - EVP_aes_128_cbc
    - test_cipher
    linkageType: ''
    returnType: int
    signature: int test_implicit_EVP_CIPHER_fetch(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: load_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:315,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:318,1
    - Dst: test_cipher
      Src: /src/openssl/test/evp_fetch_prov_test.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_fetch_prov_test.c:323,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/test/evp_fetch_prov_test.c:323,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:326,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_fetch_prov_test.c:328,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:333,1
    - Dst: unload_providers
      Src: /src/openssl/test/evp_fetch_prov_test.c:334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 308
    functionDepth: 7
    functionLinenumber: 308
    functionLinenumberEnd: 336
    functionName: test_explicit_EVP_CIPHER_fetch
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - load_providers
    - test_cipher
    - TEST_ptr_null
    - EVP_CIPHER_up_ref
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - unload_providers
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_explicit_EVP_CIPHER_fetch(const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_explicit_EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 8
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: test_explicit_EVP_CIPHER_fetch_by_name
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - test_explicit_EVP_CIPHER_fetch
    linkageType: ''
    returnType: int
    signature: int test_explicit_EVP_CIPHER_fetch_by_name(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: make_algor
      Src: /src/openssl/test/evp_fetch_prov_test.c:350,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/test/evp_fetch_prov_test.c:357,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_fetch_prov_test.c:360,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/evp_fetch_prov_test.c:360,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_fetch_prov_test.c:364,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/evp_fetch_prov_test.c:364,1
    - Dst: test_explicit_EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_fetch_prov_test.c:369,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/test/evp_fetch_prov_test.c:371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 347
    functionDepth: 8
    functionLinenumber: 347
    functionLinenumberEnd: 373
    functionName: test_explicit_EVP_CIPHER_fetch_by_X509_ALGOR
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - test_explicit_EVP_CIPHER_fetch
    - OBJ_obj2txt
    - X509_ALGOR_get0
    - make_algor
    - X509_ALGOR_free
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_explicit_EVP_CIPHER_fetch_by_X509_ALGOR(int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/evp_fetch_prov_test.c:379,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_fetch_prov_test.c:382,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_fetch_prov_test.c:385,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_fetch_prov_test.c:388,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:403,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_fetch_prov_test.c:404,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:405,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:406,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:407,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:409,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:410,1
    - Dst: ADD_ALL_TESTS_NOSUBTEST
      Src: /src/openssl/test/evp_fetch_prov_test.c:411,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 414
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_fetch_prov_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - ADD_TEST
    - ADD_ALL_TESTS_NOSUBTEST
    - strcmp
    - opt_arg
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:150,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:152,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: hostname_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strcmp
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: int hostname_cb(SSL *s, int *al, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:161,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:165,1
    - Dst: strcat
      Src: /src/openssl/test/sslapitest.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: client_keylog_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strcat
    - strlen
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void client_keylog_callback(const SSL *ssl, const char *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:177,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:181,1
    - Dst: strcat
      Src: /src/openssl/test/sslapitest.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: server_keylog_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strcat
    - strlen
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void server_keylog_callback(const SSL *ssl, const char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:199,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/sslapitest.c:203,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:204,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - hex_encoded
    - hex_length
    - raw
    - raw_length
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 210
    functionName: compare_hex_encoded_buffer
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - BIO_snprintf
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: "int compare_hex_encoded_buffer(const char *hex_encoded,\n                                      size_t
      hex_length,\n                                      const uint8_t *raw,\n                                      size_t
      raw_length)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:231,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:232,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:233,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:239,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:239,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:241,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:241,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:243,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:243,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:251,1
    - Dst: SSL_get_client_random
      Src: /src/openssl/test/sslapitest.c:256,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:262,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:262,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:264,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:264,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:266,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/openssl/test/sslapitest.c:266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:271,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:271,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:273,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/sslapitest.c:276,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:278,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/openssl/test/sslapitest.c:278,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:278,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:283,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:284,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:285,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:286,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:287,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:288,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:289,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:296,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:298,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:300,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:302,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:304,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:306,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:308,1
    - Dst: SSL_get_client_random
      Src: /src/openssl/test/sslapitest.c:311,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:317,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:317,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:319,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:319,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:321,1
    - Dst: compare_hex_encoded_buffer
      Src: /src/openssl/test/sslapitest.c:321,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:326,1
    - Dst: strtok
      Src: /src/openssl/test/sslapitest.c:326,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:329,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:335,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:337,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:339,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:341,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:343,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:345,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:347,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:349,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:351,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 64
    argCount: 4
    argNames:
    - buffer
    - ssl
    - session
    - expected
    argTypes:
    - char*
    - SSL*
    - SSL_SESSION*
    - struct sslapitest_log_counts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 355
    functionName: test_keylog_output
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_client_random
    - SSL_SESSION_get_master_key
    - TEST_false
    - TEST_info
    - TEST_ptr
    - TEST_size_t_eq
    - TEST_size_t_ne
    - strcmp
    - strtok
    - strlen
    - compare_hex_encoded_buffer
    linkageType: ''
    returnType: int
    signature: "int test_keylog_output(char *buffer, const SSL *ssl,\n                              const
      SSL_SESSION *session,\n                              struct sslapitest_log_counts
      *expected)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:366,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:367,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:368,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:373,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:373,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:373,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:374,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:380,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:381,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:384,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:384,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:387,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:387,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:388,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:388,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/sslapitest.c:390,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:391,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:391,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/sslapitest.c:394,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:395,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:395,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:400,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:402,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:402,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:404,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:405,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:417,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:417,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:418,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:422,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:422,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:423,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:429,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:430,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:431,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:432,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 435
    functionName: test_keylog
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TEST_size_t_gt
    - memset
    - SSL_CTX_set_keylog_callback
    - SSL_free
    - SSL_CTX_set_options
    - SSL_CTX_free
    - SSL_CTX_set_cipher_list
    - TEST_false
    - test_keylog_output
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_get_keylog_callback
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_get_session
    linkageType: ''
    returnType: int
    signature: int test_keylog(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:450,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:451,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:452,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:457,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:457,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:457,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:458,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:460,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:460,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:464,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:464,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:465,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:465,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/sslapitest.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:469,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:469,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/sslapitest.c:473,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:474,1
    - Dst: SSL_CTX_get_keylog_callback
      Src: /src/openssl/test/sslapitest.c:474,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:479,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:479,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:481,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:481,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:483,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:496,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:496,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:497,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:498,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:498,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:499,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:504,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:505,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:506,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:507,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:508,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:512,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:517,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:517,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:519,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:519,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:521,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:521,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:522,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:522,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:525,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:525,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:527,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:527,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:529,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:535,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:535,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:536,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:537,1
    - Dst: test_keylog_output
      Src: /src/openssl/test/sslapitest.c:537,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:538,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:545,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:546,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:547,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:548,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:549,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 552
    functionName: test_keylog_no_master_key
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_keylog_callback
    - TLS_server_method
    - SSL_get_session
    - SSL_CTX_get_keylog_callback
    - create_ssl_ctx_pair
    - SSL_CTX_set_max_early_data
    - SSL_CTX_free
    - SSL_get_early_data_status
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - SSL_SESSION_free
    - SSL_write_early_data
    - test_keylog_output
    - SSL_shutdown
    - TLS_client_method
    - SSL_read_early_data
    - memset
    - TEST_false
    - TEST_int_eq
    - SSL_get1_session
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_keylog_no_master_key(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_verify_cert
      Src: /src/openssl/test/sslapitest.c:557,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/test/sslapitest.c:558,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/openssl/test/sslapitest.c:563,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/sslapitest.c:566,1
    - Dst: SSL_set_retry_verify
      Src: /src/openssl/test/sslapitest.c:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 572
    functionName: verify_retry_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_retry_verify
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_get_ex_data
    - X509_verify_cert
    linkageType: ''
    returnType: int
    signature: int verify_retry_cb(X509_STORE_CTX *ctx, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:577,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:578,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:579,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:580,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:581,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:583,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:588,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:588,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:588,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:592,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:592,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:593,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:593,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:595,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:595,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:597,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/test/sslapitest.c:597,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:599,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/sslapitest.c:600,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:601,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:601,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:606,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:606,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:611,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/sslapitest.c:611,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:612,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/sslapitest.c:612,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:613,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/openssl/test/sslapitest.c:613,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:616,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/sslapitest.c:616,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:619,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/sslapitest.c:619,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:624,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:624,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:631,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:632,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:634,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:635,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:638,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:639,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:641,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:642,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:645,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:647,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:648,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 651
    functionName: test_client_cert_verify_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_get_peer_cert_chain
    - X509_free
    - SSL_CTX_set_verify
    - OPENSSL_free
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SSL_CTX_set_cert_verify_callback
    - sk_X509_push
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_use_PrivateKey_file
    - SSL_free
    - STACK_OF
    - test_mk_file_path
    - SSL_shutdown
    - TLS_client_method
    - load_cert_pem
    - SSL_CTX_use_certificate_chain_file
    - TEST_false
    - TEST_int_eq
    - SSL_CTX_check_private_key
    - SSL_CTX_load_verify_locations
    linkageType: ''
    returnType: int
    signature: int test_client_cert_verify_cb(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:658,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:661,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:661,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:661,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:663,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:663,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:666,1
    - Dst: SSL_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:666,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:667,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:667,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:668,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/sslapitest.c:668,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:670,1
    - Dst: SSL_build_cert_chain
      Src: /src/openssl/test/sslapitest.c:670,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:675,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:676,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:677,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:678,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 680
    functionName: test_ssl_build_cert_chain
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_check_private_key
    - SSL_use_certificate_chain_file
    - TEST_int_eq
    - SSL_new
    - SSL_build_cert_chain
    - test_mk_file_path
    - OPENSSL_free
    - TLS_server_method
    - TEST_true
    - TEST_ptr
    - SSL_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: int test_ssl_build_cert_chain(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:686,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - size
    - rw_flag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: get_password_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int get_password_cb(char *buf, int size, int rw_flag, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:697,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:698,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:700,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:700,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:700,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/openssl/test/sslapitest.c:702,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:704,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:704,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:705,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:705,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:707,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:707,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:709,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/openssl/test/sslapitest.c:709,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:714,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:715,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 718
    functionName: test_ssl_ctx_build_cert_chain
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_build_cert_chain
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_CTX_use_certificate_chain_file
    - TEST_int_eq
    - SSL_CTX_check_private_key
    - OPENSSL_free
    - test_mk_file_path
    - TLS_server_method
    - TEST_true
    - TEST_ptr
    - SSL_CTX_set_default_passwd_cb
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: int test_ssl_ctx_build_cert_chain(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_ciphers
      Src: /src/openssl/test/sslapitest.c:744,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:745,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:746,1
    - Dst: SSL_client_hello_get0_compression_methods
      Src: /src/openssl/test/sslapitest.c:747,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:748,1
    - Dst: SSL_client_hello_get1_extensions_present
      Src: /src/openssl/test/sslapitest.c:750,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:752,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:753,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:754,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:755,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:758,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 760
    functionName: full_client_hello_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memcmp
    - TEST_int_eq
    - SSL_client_hello_get1_extensions_present
    - OPENSSL_free
    - OSSL_NELEM
    - SSL_client_hello_get0_ciphers
    - TEST_size_t_eq
    - SSL_client_hello_get0_compression_methods
    - TEST_mem_eq
    - printf
    linkageType: ''
    returnType: int
    signature: int full_client_hello_callback(SSL *s, int *al, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:768,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:768,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:768,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:769,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/sslapitest.c:772,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:775,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:777,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:778,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:778,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:780,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:780,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:782,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:782,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:788,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:788,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:790,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:790,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:797,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:798,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:799,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 803
    functionName: test_client_hello_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_get_error
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_cipher_list
    - TEST_false
    - TEST_int_eq
    - SSL_CTX_set_security_level
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_client_hello_cb
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_client_hello_cb(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:811,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:811,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:811,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:814,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:818,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:820,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:821,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:825,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:828,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:833,1
    - Dst: SSL_get_extms_support
      Src: /src/openssl/test/sslapitest.c:836,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:837,1
    - Dst: SSL_get_extms_support
      Src: /src/openssl/test/sslapitest.c:840,1
    - Dst: printf
      Src: /src/openssl/test/sslapitest.c:841,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:848,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:849,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:850,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:851,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 854
    functionName: test_no_ems
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_get_extms_support
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_options
    - TLS_server_method
    - create_ssl_objects
    - create_ssl_ctx_pair
    - TLS_client_method
    - printf
    linkageType: ''
    returnType: int
    signature: int test_no_ems(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:876,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:876,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:876,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:877,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:880,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:880,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:881,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:881,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:883,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:883,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:884,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:884,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:886,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:886,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:887,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:887,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:890,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:895,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:895,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:897,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:897,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:898,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:898,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:899,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:899,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:901,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:901,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:902,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:902,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:903,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:903,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:904,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:905,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/sslapitest.c:906,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:906,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:908,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:915,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:915,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:917,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:917,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:918,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:918,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:920,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:920,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:921,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:921,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:922,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/test/sslapitest.c:922,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:923,1
    - Dst: SSL_renegotiate_pending
      Src: /src/openssl/test/sslapitest.c:923,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:927,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:928,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:930,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:930,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:934,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:935,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:937,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:937,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:943,1
    - Dst: SSL_renegotiate_pending
      Src: /src/openssl/test/sslapitest.c:943,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:944,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:944,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:945,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:945,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:946,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:946,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:947,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:948,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/sslapitest.c:949,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:949,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:952,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:958,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:959,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:960,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:961,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:962,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 965
    functionName: test_ccs_change_cipher
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_read_ex
    - SSL_get_error
    - SSL_CTX_free
    - SSL_renegotiate_pending
    - shutdown_ssl_connection
    - SSL_CTX_set_options
    - create_ssl_objects
    - TEST_true
    - SSL_get_current_cipher
    - SSL_CIPHER_get_id
    - SSL_free
    - SSL_SESSION_free
    - TEST_size_t_eq
    - SSL_renegotiate
    - TLS_client_method
    - TEST_ptr_ne
    - TEST_false
    - TEST_int_eq
    - SSL_get0_session
    - SSL_get1_session
    - SSL_set_cipher_list
    - TEST_ptr_eq
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_ccs_change_cipher(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:977,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:977,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:983,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:988,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:988,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:989,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:989,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/sslapitest.c:1000,1
    - Dst: ssl_ctx_add_large_cert_chain
      Src: /src/openssl/test/sslapitest.c:1003,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1006,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:1006,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1008,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1008,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1016,1
    - Dst: SSL_clear
      Src: /src/openssl/test/sslapitest.c:1016,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1021,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1022,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1023,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1024,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - smeth
    - cmeth
    - min_version
    - max_version
    - read_ahead
    argTypes:
    - SSL_METHOD*
    - SSL_METHOD*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 1027
    functionName: execute_test_large_message
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - ssl_ctx_add_large_cert_chain
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_cipher_list
    - SSL_CTX_set_read_ahead
    - SSL_clear
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: "int execute_test_large_message(const SSL_METHOD *smeth,\n                                      const
      SSL_METHOD *cmeth,\n                                      int min_version, int
      max_version,\n                                      int read_ahead)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ktls_enable
      Src: /src/openssl/test/sslapitest.c:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1037
    functionName: ktls_chk_platform
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - ktls_enable
    linkageType: ''
    returnType: int
    signature: int ktls_chk_platform(int sock)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1055,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1055,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1056,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1056,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1060,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1061,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1062,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1063,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1065,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:1065,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1068,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1069,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1074,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:1074,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1077,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1078,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1083,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1084,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1085,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:1086,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1089,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1096,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:1097,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1101,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1106,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:1107,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1111,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/sslapitest.c:1116,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:1117,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1121,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/sslapitest.c:1126,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:1127,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1131,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 74
    argCount: 2
    argNames:
    - clientssl
    - serverssl
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1139
    functionName: ping_pong_query
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - BIO_get_ktls_send
    - TEST_mem_ne
    - memcpy
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_read
    - BIO_get_ktls_recv
    - SSL_write
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int ping_pong_query(SSL *clientssl, SSL *serverssl)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1155,1
    - Dst: create_test_sockets
      Src: /src/openssl/test/sslapitest.c:1155,1
    - Dst: ktls_chk_platform
      Src: /src/openssl/test/sslapitest.c:1159,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1160,1
    - Dst: strstr
      Src: /src/openssl/test/sslapitest.c:1164,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1165,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1170,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1170,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1170,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1171,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1177,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1177,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1178,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1178,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1181,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1181,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1182,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1182,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1186,1
    - Dst: create_ssl_objects2
      Src: /src/openssl/test/sslapitest.c:1186,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1190,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1190,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1191,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1191,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1195,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1195,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1200,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1200,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1204,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1204,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:1213,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1213,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1216,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:1221,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1221,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1224,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:1234,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/sslapitest.c:1234,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1237,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:1242,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/sslapitest.c:1242,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1245,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1250,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1256,1
    - Dst: ping_pong_query
      Src: /src/openssl/test/sslapitest.c:1256,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:1259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1260,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:1267,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1268,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1268,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1274,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1276,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1276,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1283,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1286,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1291,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1293,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1294,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1297,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1298,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1300,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1301,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1304,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1306,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 133
    argCount: 4
    argNames:
    - cis_ktls
    - sis_ktls
    - tls_version
    - cipher
    argTypes:
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1308
    functionName: execute_test_ktls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - strstr
    - OPENSSL_free
    - BIO_get_ktls_recv
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - OPENSSL_zalloc
    - SSL_get_error
    - SSL_CTX_free
    - SSL_read
    - create_test_sockets
    - TEST_true
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_free
    - SSL_CTX_set_cipher_list
    - close
    - TEST_skip
    - ping_pong_query
    - SSL_shutdown
    - TLS_client_method
    - create_ssl_objects2
    - ktls_chk_platform
    - BIO_get_ktls_send
    - TEST_false
    - SSL_write
    - SSL_set_options
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: "int execute_test_ktls(int cis_ktls, int sis_ktls,\n                             int
      tls_version, const char *cipher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1313
    functionName: min
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a,b)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:1328,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:1329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1330,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1330,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1331,1
    - Dst: create_test_sockets
      Src: /src/openssl/test/sslapitest.c:1331,1
    - Dst: ktls_chk_platform
      Src: /src/openssl/test/sslapitest.c:1335,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1336,1
    - Dst: strstr
      Src: /src/openssl/test/sslapitest.c:1340,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1341,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1346,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1346,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1346,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1347,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1353,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1353,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1354,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:1354,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1357,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1357,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1358,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1358,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1362,1
    - Dst: create_ssl_objects2
      Src: /src/openssl/test/sslapitest.c:1362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1366,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1366,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1369,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1369,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1373,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1373,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1378,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1378,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/sslapitest.c:1382,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1383,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:1389,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/sslapitest.c:1389,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:1392,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1393,1
    - Dst: BIO_write
      Src: /src/openssl/test/sslapitest.c:1396,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:1399,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:1401,1
    - Dst: BIO_get_fp
      Src: /src/openssl/test/sslapitest.c:1402,1
    - Dst: fileno
      Src: /src/openssl/test/sslapitest.c:1403,1
    - Dst: min
      Src: /src/openssl/test/sslapitest.c:1406,1
    - Dst: SSL_sendfile
      Src: /src/openssl/test/sslapitest.c:1407,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1412,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1415,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:1418,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1423,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1435,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1436,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:1439,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1440,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1442,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1443,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:1445,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:1446,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1448,1
    - Dst: close
      Src: /src/openssl/test/sslapitest.c:1450,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1451,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1452,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 105
    argCount: 3
    argNames:
    - tls_version
    - cipher
    - zerocopy
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1314
    functionDepth: 7
    functionLinenumber: 1314
    functionLinenumberEnd: 1454
    functionName: execute_test_ktls_sendfile
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - strstr
    - OPENSSL_free
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - BIO_write
    - OPENSSL_zalloc
    - BIO_get_fp
    - SSL_get_error
    - SSL_CTX_free
    - SSL_read
    - create_test_sockets
    - SSL_sendfile
    - TEST_true
    - SSL_CONNECTION_FROM_SSL_ONLY
    - min
    - BIO_new_file
    - SSL_free
    - BIO_free
    - SSL_CTX_set_cipher_list
    - close
    - TEST_skip
    - SSL_shutdown
    - TLS_client_method
    - create_ssl_objects2
    - ktls_chk_platform
    - fileno
    - BIO_get_ktls_send
    - SSL_set_options
    - TEST_mem_eq
    - RAND_bytes_ex
    - SSL_CTX_set_ciphersuites
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int execute_test_ktls_sendfile(int tls_version, const char *cipher,\n
      \                                     int zerocopy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/sslapitest.c:1499,1
    - Dst: execute_test_ktls
      Src: /src/openssl/test/sslapitest.c:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1494
    functionDepth: 3
    functionLinenumber: 1494
    functionLinenumberEnd: 1507
    functionName: test_ktls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - OPENSSL_assert
    - execute_test_ktls
    linkageType: ''
    returnType: int
    signature: int test_ktls(int test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/sslapitest.c:1514,1
    - Dst: execute_test_ktls_sendfile
      Src: /src/openssl/test/sslapitest.c:1517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1509
    functionDepth: 8
    functionLinenumber: 1509
    functionLinenumberEnd: 1519
    functionName: test_ktls_sendfile
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - OPENSSL_assert
    - execute_test_ktls_sendfile
    linkageType: ''
    returnType: int
    signature: int test_ktls_sendfile(int test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_large_message
      Src: /src/openssl/test/sslapitest.c:1524,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1524,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 2
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: test_large_message_tls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TLS_server_method
    - execute_test_large_message
    linkageType: ''
    returnType: int
    signature: int test_large_message_tls(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_large_message
      Src: /src/openssl/test/sslapitest.c:1530,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1530,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1532
    functionName: test_large_message_tls_read_ahead
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TLS_server_method
    - execute_test_large_message
    linkageType: ''
    returnType: int
    signature: int test_large_message_tls_read_ahead(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_large_message
      Src: /src/openssl/test/sslapitest.c:1546,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1546,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:1547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1549
    functionName: test_large_message_dtls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - DTLS_client_method
    - execute_test_large_message
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_large_message_dtls(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1567,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1568,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1576,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1584,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1592,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1600,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1608,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1614,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:1615,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1618,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1624,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1626,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:1627,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1630,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:1639,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:1642,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1643,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:1646,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1647,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:1650,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1652,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1652,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1658,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1658,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1659,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1659,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1664,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:1664,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1670,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1670,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1672,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1672,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1682,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1682,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1683,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1683,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1688,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1688,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1691,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:1691,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:1693,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1697,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:1697,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1701,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1706,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1707,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1708,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1709,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1710,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1711,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 93
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1713
    functionName: test_large_app_data
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - OPENSSL_free
    - TLS_server_method
    - create_ssl_ctx_pair
    - TEST_ptr
    - SSL_read_ex
    - OPENSSL_zalloc
    - SSL_CTX_free
    - SSL_write_ex
    - DTLS_client_method
    - create_ssl_objects
    - TEST_true
    - OPENSSL_malloc
    - SSL_free
    - SSL_CTX_set_cipher_list
    - TEST_skip
    - TEST_size_t_eq
    - TLS_client_method
    - DTLS_server_method
    - memset
    - SSL_set_options
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_large_app_data(int tst)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1732,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1732,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1740,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1750,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1750,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1751,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:1751,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1757,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:1757,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1761,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:1761,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1764,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:1764,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1772,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:1772,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1775,1
    - Dst: SSL_peek
      Src: /src/openssl/test/sslapitest.c:1775,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1778,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1786,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/sslapitest.c:1786,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:1791,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1798,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:1801,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1802,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:1802,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1805,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:1809,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:1810,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1815,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:1816,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1817,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:1818,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 65
    argCount: 4
    argNames:
    - smeth
    - cmeth
    - min_version
    - max_version
    argTypes:
    - SSL_METHOD*
    - SSL_METHOD*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1821
    functionName: execute_cleanse_plaintext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - memset
    - SSL_free
    - SSL_set_options
    - SSL_CTX_set_cipher_list
    - SSL_CONNECTION_FROM_SSL_ONLY
    - TEST_int_eq
    - SSL_read
    - SSL_peek
    - TEST_ptr
    - SSL_write
    - create_ssl_objects
    - TEST_true
    - TEST_size_t_eq
    - create_ssl_ctx_pair
    - TEST_mem_eq
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: "int execute_cleanse_plaintext(const SSL_METHOD *smeth,\n                                     const
      SSL_METHOD *cmeth,\n                                     int min_version, int
      max_version)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1830,1
    - Dst: execute_cleanse_plaintext
      Src: /src/openssl/test/sslapitest.c:1830,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1830,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1831,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1839,1
    - Dst: execute_cleanse_plaintext
      Src: /src/openssl/test/sslapitest.c:1839,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1839,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1840,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1848,1
    - Dst: execute_cleanse_plaintext
      Src: /src/openssl/test/sslapitest.c:1848,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:1848,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:1849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1827
    functionDepth: 2
    functionLinenumber: 1827
    functionLinenumberEnd: 1855
    functionName: test_cleanse_plaintext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_cleanse_plaintext
    - DTLS_client_method
    - TLS_server_method
    - TEST_true
    - TLS_client_method
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_cleanse_plaintext(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_gmtime_adj
      Src: /src/openssl/test/sslapitest.c:1861,1
    - Dst: X509_time_adj_ex
      Src: /src/openssl/test/sslapitest.c:1862,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/sslapitest.c:1869,1
    - Dst: OCSP_BASICRESP_new
      Src: /src/openssl/test/sslapitest.c:1870,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/test/sslapitest.c:1873,1
    - Dst: OCSP_basic_add1_status
      Src: /src/openssl/test/sslapitest.c:1874,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:1876,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1877,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/sslapitest.c:1877,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:1879,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1880,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/sslapitest.c:1880,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1881,1
    - Dst: OCSP_basic_sign
      Src: /src/openssl/test/sslapitest.c:1881,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/sslapitest.c:1881,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/sslapitest.c:1884,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/sslapitest.c:1886,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1890,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1891,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:1892,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:1893,1
    - Dst: ASN1_UTCTIME_free
      Src: /src/openssl/test/sslapitest.c:1894,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/sslapitest.c:1895,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/sslapitest.c:1896,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/test/sslapitest.c:1897,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/sslapitest.c:1898,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - ssl_cert
    - issuer
    - status
    - signer_key_files
    - signer_cert_files
    argTypes:
    - X509*
    - X509*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1858
    functionDepth: 10
    functionLinenumber: 1858
    functionLinenumberEnd: 1901
    functionName: create_ocsp_resp
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - load_pkey_pem
    - X509_free
    - OPENSSL_free
    - OCSP_cert_to_id
    - TEST_ptr
    - OCSP_basic_sign
    - EVP_PKEY_free
    - TEST_true
    - X509_gmtime_adj
    - ASN1_TIME_free
    - OCSP_BASICRESP_free
    - OCSP_response_create
    - test_mk_file_path
    - EVP_sha256
    - EVP_MD_fetch
    - ASN1_UTCTIME_free
    - load_cert_pem
    - OCSP_CERTID_free
    - OCSP_basic_add1_status
    - X509_time_adj_ex
    - OCSP_BASICRESP_new
    linkageType: ''
    returnType: OCSP_RESPONSE
    signature: "OCSP_RESPONSE *create_ocsp_resp(X509 *ssl_cert, X509 *issuer, int
      status,\n                                       char *signer_key_files, char
      *signer_cert_files)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:1906,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:1910,1
    - Dst: SSL_get_tlsext_status_ids
      Src: /src/openssl/test/sslapitest.c:1917,1
    - Dst: sk_OCSP_RESPID_num
      Src: /src/openssl/test/sslapitest.c:1918,1
    - Dst: sk_OCSP_RESPID_value
      Src: /src/openssl/test/sslapitest.c:1921,1
    - Dst: OCSP_RESPID_match_ex
      Src: /src/openssl/test/sslapitest.c:1922,1
    - Dst: SSL_get_certificate
      Src: /src/openssl/test/sslapitest.c:1928,1
    - Dst: SSL_get0_chain_certs
      Src: /src/openssl/test/sslapitest.c:1929,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:1930,1
    - Dst: create_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:1932,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1933,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/openssl/test/sslapitest.c:1936,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/test/sslapitest.c:1937,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1939,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:1939,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1940,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:1943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1903
    functionDepth: 11
    functionLinenumber: 1903
    functionLinenumberEnd: 1947
    functionName: ocsp_server_cb_single
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OCSP_RESPID_match_ex
    - i2d_OCSP_RESPONSE
    - create_ocsp_resp
    - sk_OCSP_RESPID_value
    - sk_X509_value
    - OCSP_RESPONSE_free
    - sk_OCSP_RESPID_num
    - SSL_get_tlsext_status_ids
    - SSL_get_certificate
    - STACK_OF
    - OPENSSL_free
    - SSL_get0_chain_certs
    - TEST_true
    - TEST_ptr
    - SSL_set_tlsext_status_ocsp_resp
    linkageType: ''
    returnType: int
    signature: int ocsp_server_cb_single(SSL *s, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:1959,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/test/sslapitest.c:1961,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/sslapitest.c:1962,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/test/sslapitest.c:1963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1949
    functionDepth: 2
    functionLinenumber: 1949
    functionLinenumberEnd: 1969
    functionName: ocsp_client_cb_single
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OCSP_response_status
    - OCSP_RESPONSE_free
    - d2i_OCSP_RESPONSE
    - SSL_get_tlsext_status_ocsp_resp
    linkageType: ''
    returnType: int
    signature: int ocsp_client_cb_single(SSL *s, void *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:1974,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:1975,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:1976,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:1979,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/sslapitest.c:1982,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:1984,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:1984,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:1984,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:1988,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:1990,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:1995,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:1996,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:1998,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:1998,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:1999,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:1999,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2001,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2001,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2005,1
    - Dst: SSL_CTX_set_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2008,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2009,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:2012,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2013,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2015,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2017,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/sslapitest.c:2024,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/sslapitest.c:2025,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/sslapitest.c:2026,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/sslapitest.c:2027,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2031,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2031,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2033,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2033,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2035,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2036,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2038,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2039,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2047,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2047,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2050,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2050,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2052,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2053,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2055,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2056,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2067,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2067,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2075,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:2075,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2076,1
    - Dst: OCSP_RESPID_new
      Src: /src/openssl/test/sslapitest.c:2076,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2077,1
    - Dst: sk_OCSP_RESPID_new_null
      Src: /src/openssl/test/sslapitest.c:2077,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2078,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/sslapitest.c:2078,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2079,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/sslapitest.c:2079,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2080,1
    - Dst: OCSP_RESPID_set_by_key_ex
      Src: /src/openssl/test/sslapitest.c:2080,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2081,1
    - Dst: sk_OCSP_RESPID_push
      Src: /src/openssl/test/sslapitest.c:2081,1
    - Dst: SSL_set_tlsext_status_ids
      Src: /src/openssl/test/sslapitest.c:2084,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:2088,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2091,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2091,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2093,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2094,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2100,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2101,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2102,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2104,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2105,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2106,1
    - Dst: sk_OCSP_RESPID_pop_free
      Src: /src/openssl/test/sslapitest.c:2107,1
    - Dst: OCSP_RESPID_free
      Src: /src/openssl/test/sslapitest.c:2108,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:2109,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:2110,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/sslapitest.c:2111,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 1971
    functionDepth: 11
    functionLinenumber: 1971
    functionLinenumberEnd: 2115
    functionName: test_tlsext_status_type
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_tlsext_status_arg
    - create_ssl_connection
    - sk_OCSP_RESPID_new_null
    - SSL_set_tlsext_status_type
    - X509_free
    - OPENSSL_free
    - X509_new_ex
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_set_tlsext_status_type
    - SSL_set_tlsext_status_ids
    - SSL_CTX_free
    - sk_OCSP_RESPID_push
    - create_ssl_objects
    - TEST_true
    - sk_OCSP_RESPID_pop_free
    - OCSP_RESPID_free
    - BIO_new_file
    - SSL_free
    - BIO_free
    - STACK_OF
    - SSL_new
    - test_mk_file_path
    - OCSP_RESPID_set_by_key_ex
    - TLS_client_method
    - SSL_CTX_set_tlsext_status_cb
    - SSL_get_tlsext_status_type
    - SSL_CTX_use_certificate_chain_file
    - TEST_false
    - TEST_int_eq
    - SSL_CTX_get_tlsext_status_type
    - OCSP_RESPID_new
    - OSSL_LIB_CTX_set0_default
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int test_tlsext_status_type(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/test/sslapitest.c:2121,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2125,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2127,1
    - Dst: SSL_get0_chain_certs
      Src: /src/openssl/test/sslapitest.c:2137,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/sslapitest.c:2141,1
    - Dst: sk_OCSP_RESPONSE_new_reserve
      Src: /src/openssl/test/sslapitest.c:2154,1
    - Dst: SSL_get_certificate
      Src: /src/openssl/test/sslapitest.c:2161,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2167,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2170,1
    - Dst: create_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:2173,1
    - Dst: create_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:2176,1
    - Dst: create_ocsp_resp
      Src: /src/openssl/test/sslapitest.c:2179,1
    - Dst: sk_OCSP_RESPONSE_push
      Src: /src/openssl/test/sslapitest.c:2182,1
    - Dst: SSL_set0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/sslapitest.c:2187,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2118
    functionDepth: 11
    functionLinenumber: 2118
    functionLinenumberEnd: 2191
    functionName: ocsp_server_cb_multi
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ocsp_resp
    - SSL_set0_tlsext_status_ocsp_resp_ex
    - sk_X509_value
    - sk_OCSP_RESPONSE_new_reserve
    - SSL_get_certificate
    - STACK_OF
    - sk_OCSP_RESPONSE_push
    - SSL_get0_chain_certs
    - sk_X509_num
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int ocsp_server_cb_multi(SSL *s, void *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2196,1
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:2198,1
    - Dst: SSL_get0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/sslapitest.c:2209,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/test/sslapitest.c:2210,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/openssl/test/sslapitest.c:2218,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2225,1
    - Dst: X509_self_signed
      Src: /src/openssl/test/sslapitest.c:2229,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/test/sslapitest.c:2232,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/sslapitest.c:2236,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/test/sslapitest.c:2240,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/test/sslapitest.c:2243,1
    - Dst: OCSP_SINGLERESP_get0_id
      Src: /src/openssl/test/sslapitest.c:2249,1
    - Dst: OCSP_id_get0_info
      Src: /src/openssl/test/sslapitest.c:2250,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/test/sslapitest.c:2252,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/sslapitest.c:2256,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/test/sslapitest.c:2262,1
    - Dst: OCSP_resp_find
      Src: /src/openssl/test/sslapitest.c:2267,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/sslapitest.c:2270,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/test/sslapitest.c:2272,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/sslapitest.c:2276,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/sslapitest.c:2288,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/test/sslapitest.c:2289,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2193
    functionDepth: 4
    functionLinenumber: 2193
    functionLinenumberEnd: 2292
    functionName: ocsp_client_cb_multi
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OCSP_CERTID_free
    - OCSP_SINGLERESP_get0_id
    - sk_OCSP_RESPONSE_num
    - OCSP_BASICRESP_free
    - OCSP_response_get1_basic
    - OCSP_response_status
    - sk_X509_value
    - SSL_get_peer_cert_chain
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    - EVP_get_digestbyobj
    - OCSP_id_get0_info
    - OCSP_resp_find
    - OCSP_cert_to_id
    - X509_self_signed
    - OCSP_resp_get0
    - SSL_get0_tlsext_status_ocsp_resp_ex
    linkageType: ''
    returnType: int
    signature: int ocsp_client_cb_multi(SSL *s, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2306
    functionName: verify_cb_multi_stapling
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_cb_multi_stapling(int preverify_ok, X509_STORE_CTX *x509_ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2313,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2314,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2315,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:2316,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/sslapitest.c:2317,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/test/sslapitest.c:2318,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2320,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:2320,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:2320,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:2320,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/sslapitest.c:2323,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/sslapitest.c:2323,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2325,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/test/sslapitest.c:2325,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:2327,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2327,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:2331,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:2334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2335,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2337,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2337,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2338,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2338,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2340,1
    - Dst: SSL_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2340,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2344,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2347,1
    - Dst: SSL_CTX_set_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2347,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:2348,1
    - Dst: SSL_CTX_get_tlsext_status_type
      Src: /src/openssl/test/sslapitest.c:2348,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/sslapitest.c:2355,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/sslapitest.c:2356,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/sslapitest.c:2357,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/sslapitest.c:2358,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/sslapitest.c:2363,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2364,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/test/sslapitest.c:2364,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2366,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2366,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2367,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2367,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2368,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2368,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2369,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2372,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2373,1
    - Dst: SSL_CTX_get0_param
      Src: /src/openssl/test/sslapitest.c:2382,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/test/sslapitest.c:2383,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2384,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2384,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2385,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2386,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2386,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2387,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2390,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2391,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2400,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2400,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2401,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2401,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2402,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2402,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2403,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2406,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2407,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2417,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2417,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2418,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2418,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2419,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2419,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2420,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2423,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2424,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2431,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2432,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:2434,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/test/sslapitest.c:2435,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/sslapitest.c:2436,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2437,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2438,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2439,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2440,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2308
    functionDepth: 4
    functionLinenumber: 2308
    functionLinenumberEnd: 2442
    functionName: test_tlsext_status_type_multi
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_tlsext_status_arg
    - create_ssl_connection
    - SSL_set_tlsext_status_type
    - SSL_CTX_set_verify
    - OPENSSL_free
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_set_tlsext_status_type
    - SSL_CTX_free
    - X509_VERIFY_PARAM_new
    - create_ssl_objects
    - TEST_true
    - X509_VERIFY_PARAM_set_flags
    - X509_VERIFY_PARAM_free
    - SSL_CTX_get0_param
    - TEST_int_ne
    - SSL_free
    - SSL_new
    - test_mk_file_path
    - TLS_client_method
    - SSL_CTX_set1_param
    - SSL_CTX_set_tlsext_status_cb
    - X509_VERIFY_PARAM_clear_flags
    - SSL_get_tlsext_status_type
    - SSL_CTX_use_certificate_chain_file
    - TEST_int_eq
    - SSL_CTX_get_tlsext_status_type
    - SSL_CTX_load_verify_locations
    - TEST_int_lt
    - OSSL_LIB_CTX_set0_default
    linkageType: ''
    returnType: int
    signature: int test_tlsext_status_type_multi(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2458
    functionName: new_session_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_free
    linkageType: ''
    returnType: int
    signature: int new_session_cb(SSL *ssl, SSL_SESSION *sess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sess
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2463
    functionName: remove_session_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_session_cb(SSL_CTX *ctx, SSL_SESSION *sess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ssl
    - id
    - len
    - copy
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2473
    functionName: get_session_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *get_session_cb(SSL *ssl, const unsigned char *id, int
      len,\n                                   int *copy)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2493,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:2493,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:2493,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:2494,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:2502,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:2503,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:2507,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/openssl/test/sslapitest.c:2508,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2512,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2514,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:2520,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2523,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2523,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2525,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2527,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2527,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2531,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2531,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2534,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2536,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2540,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2540,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2542,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2542,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2543,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2543,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2545,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:2545,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2555,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2556,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2564,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2565,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2569,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2570,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2570,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2572,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2576,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2576,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2578,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2578,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2582,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2582,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2586,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2587,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2595,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2595,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2598,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:2600,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:2600,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2605,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2605,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2606,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/test/sslapitest.c:2606,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2612,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/test/sslapitest.c:2612,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2616,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2616,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:2622,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2623,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2623,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2625,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2625,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2627,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2627,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2633,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2633,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2637,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2637,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:2643,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/openssl/test/sslapitest.c:2644,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:2645,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/openssl/test/sslapitest.c:2646,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/openssl/test/sslapitest.c:2647,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2651,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2654,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2658,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2659,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2661,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2662,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2664,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2666,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:2669,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:2671,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2673,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2673,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2675,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2675,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2677,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2677,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2678,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:2678,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2689,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/test/sslapitest.c:2689,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2693,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2693,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2701,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2702,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2703,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2711,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/sslapitest.c:2711,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2712,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2713,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2714,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/test/sslapitest.c:2714,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2716,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2723,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2723,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2725,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2725,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2726,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2726,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2728,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:2728,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2732,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2736,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2737,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2740,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2741,1
    - Dst: TEST_time_t_gt
      Src: /src/openssl/test/sslapitest.c:2753,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:2753,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/sslapitest.c:2754,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:2754,1
    - Dst: TEST_time_t_gt
      Src: /src/openssl/test/sslapitest.c:2755,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:2755,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/sslapitest.c:2756,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:2756,1
    - Dst: TEST_long_ne
      Src: /src/openssl/test/sslapitest.c:2759,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/test/sslapitest.c:2759,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2763,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2764,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2767,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:2767,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:2768,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:2769,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2775,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2776,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2777,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2778,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2780,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2781,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2783,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2784,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2785,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2786,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 186
    argCount: 4
    argNames:
    - maxprot
    - use_int_cache
    - use_ext_cache
    - s_options
    argTypes:
    - int
    - int
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2475
    functionDepth: 1
    functionLinenumber: 2475
    functionLinenumberEnd: 2789
    functionName: execute_test_session
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_SESSION_set_timeout
    - SSL_CTX_sess_set_remove_cb
    - SSL_CTX_sess_set_cache_size
    - TLS_server_method
    - SSL_get_session
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - shutdown_ssl_connection
    - SSL_CTX_set_options
    - SSL_CTX_add_session
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_sess_set_new_cb
    - SSL_CTX_set_max_proto_version
    - SSL_SESSION_dup
    - SSL_CTX_sess_set_get_cb
    - SSL_SESSION_free
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_session_cache_mode
    - TEST_long_ne
    - SSL_SESSION_set_time_ex
    - TEST_time_t_gt
    - TLS_client_method
    - SSL_CTX_remove_session
    - TEST_ptr_null
    - TEST_false
    - TEST_int_eq
    - SSL_get1_session
    - TEST_long_gt
    - TEST_ptr_eq
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: "int execute_test_session(int maxprot, int use_int_cache,\n                                int
      use_ext_cache, long s_options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2795,1
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2792
    functionDepth: 2
    functionLinenumber: 2792
    functionLinenumberEnd: 2804
    functionName: test_session_with_only_int_cache
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_test_session
    linkageType: ''
    returnType: int
    signature: int test_session_with_only_int_cache(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2809,1
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2806
    functionDepth: 2
    functionLinenumber: 2806
    functionLinenumberEnd: 2818
    functionName: test_session_with_only_ext_cache
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_test_session
    linkageType: ''
    returnType: int
    signature: int test_session_with_only_ext_cache(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2823,1
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2820
    functionDepth: 2
    functionLinenumber: 2820
    functionLinenumberEnd: 2832
    functionName: test_session_with_both_cache
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_test_session
    linkageType: ''
    returnType: int
    signature: int test_session_with_both_cache(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2837,1
    - Dst: execute_test_session
      Src: /src/openssl/test/sslapitest.c:2842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2834
    functionDepth: 2
    functionLinenumber: 2834
    functionLinenumberEnd: 2846
    functionName: test_session_wo_ca_names
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_test_session
    linkageType: ''
    returnType: int
    signature: int test_session_wo_ca_names(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2852
    functionDepth: 1
    functionLinenumber: 2852
    functionLinenumberEnd: 2863
    functionName: new_cachesession_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_free
    linkageType: ''
    returnType: int
    signature: int new_cachesession_cb(SSL *ssl, SSL_SESSION *sess)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_verify
      Src: /src/openssl/test/sslapitest.c:2867,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2868,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/sslapitest.c:2868,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2872,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:2872,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:2873,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:2873,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:2874,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:2874,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2875,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2875,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - sssl
    - cssl
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2865
    functionDepth: 1
    functionLinenumber: 2865
    functionLinenumberEnd: 2880
    functionName: post_handshake_verify
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_do_handshake
    - TEST_int_le
    - SSL_read
    - TEST_int_eq
    - SSL_set_verify
    - TEST_true
    - SSL_verify_client_post_handshake
    linkageType: ''
    returnType: int
    signature: int post_handshake_verify(SSL *sssl, SSL *cssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2887,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:2887,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:2887,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:2888,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2890,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/openssl/test/sslapitest.c:2890,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2891,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/test/sslapitest.c:2891,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:2897,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:2899,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:2901,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - stateful
    - idx
    - sctx
    - cctx
    argTypes:
    - int
    - int
    - SSL_CTX**
    - SSL_CTX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2882
    functionDepth: 1
    functionLinenumber: 2882
    functionLinenumberEnd: 2904
    functionName: setup_ticket_test
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_options
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_sess_set_new_cb
    - TLS_server_method
    - SSL_CTX_set_num_tickets
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_session_id_context
    linkageType: ''
    returnType: int
    signature: "int setup_ticket_test(int stateful, int idx, SSL_CTX **sctx,\n                             SSL_CTX
      **cctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2914,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2914,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2916,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:2916,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/test/sslapitest.c:2919,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2921,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2921,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2930,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:2930,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2931,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:2934,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:2934,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2935,1
    - Dst: post_handshake_verify
      Src: /src/openssl/test/sslapitest.c:2942,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2943,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:2946,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:2947,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2948,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2949,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:2951,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2958,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2959,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - idx
    - sctx
    - cctx
    - succ
    argTypes:
    - int
    - SSL_CTX*
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2906
    functionDepth: 2
    functionLinenumber: 2906
    functionLinenumberEnd: 2961
    functionName: check_resumption
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_free
    - SSL_SESSION_free
    - TEST_false
    - TEST_int_eq
    - SSL_set_post_handshake_auth
    - create_ssl_objects
    - TEST_true
    - SSL_shutdown
    - post_handshake_verify
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int check_resumption(int idx, SSL_CTX *sctx, SSL_CTX *cctx, int succ)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setup_ticket_test
      Src: /src/openssl/test/sslapitest.c:2975,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2978,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:2978,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:2982,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:2982,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:2985,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:2988,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:2989,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2990,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:2991,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2992,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:2993,1
    - Dst: setup_ticket_test
      Src: /src/openssl/test/sslapitest.c:3006,1
    - Dst: check_resumption
      Src: /src/openssl/test/sslapitest.c:3009,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3015,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3016,1
    - Dst: setup_ticket_test
      Src: /src/openssl/test/sslapitest.c:3019,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3022,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3022,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/test/sslapitest.c:3026,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3028,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3028,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3031,1
    - Dst: post_handshake_verify
      Src: /src/openssl/test/sslapitest.c:3035,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3036,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3039,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3040,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3041,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3042,1
    - Dst: check_resumption
      Src: /src/openssl/test/sslapitest.c:3052,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3058,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3059,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:3060,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3061,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3064,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3065,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - stateful
    - idx
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 2963
    functionDepth: 2
    functionLinenumber: 2963
    functionLinenumberEnd: 3068
    functionName: test_tickets
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - setup_ticket_test
    - SSL_free
    - SSL_SESSION_free
    - TEST_int_eq
    - check_resumption
    - SSL_set_post_handshake_auth
    - OSSL_NELEM
    - create_ssl_objects
    - TEST_true
    - SSL_shutdown
    - post_handshake_verify
    linkageType: ''
    returnType: int
    signature: int test_tickets(int stateful, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_tickets
      Src: /src/openssl/test/sslapitest.c:3072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3070
    functionDepth: 3
    functionLinenumber: 3070
    functionLinenumberEnd: 3073
    functionName: test_stateless_tickets
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - test_tickets
    linkageType: ''
    returnType: int
    signature: int test_stateless_tickets(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_tickets
      Src: /src/openssl/test/sslapitest.c:3077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3075
    functionDepth: 3
    functionLinenumber: 3075
    functionLinenumberEnd: 3078
    functionName: test_stateful_tickets
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - test_tickets
    linkageType: ''
    returnType: int
    signature: int test_stateful_tickets(int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3087,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:3087,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:3087,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:3088,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3090,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/test/sslapitest.c:3090,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:3095,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/openssl/test/sslapitest.c:3097,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/openssl/test/sslapitest.c:3098,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:3099,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3105,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3105,1
    - Dst: create_a_psk
      Src: /src/openssl/test/sslapitest.c:3108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3109,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3109,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:3109,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3112,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3117,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3123,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3124,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3125,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3126,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3127,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3128,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3080
    functionDepth: 1
    functionLinenumber: 3080
    functionLinenumberEnd: 3132
    functionName: test_psk_tickets
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_psk_find_session_callback
    - create_a_psk
    - SSL_CTX_free
    - SSL_SESSION_up_ref
    - SSL_free
    - SSL_SESSION_free
    - SSL_CTX_set_session_cache_mode
    - TEST_int_eq
    - TEST_ptr
    - SSL_CTX_sess_set_new_cb
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_session_id_context
    - SSL_CTX_set_psk_use_session_callback
    linkageType: ''
    returnType: int
    signature: int test_psk_tickets(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3138,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:3138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3153,1
    - Dst: setup_ticket_test
      Src: /src/openssl/test/sslapitest.c:3153,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:3155,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:3157,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3159,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3159,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3167,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3167,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3170,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3171,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3171,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3172,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3172,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3173,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3178,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3178,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3179,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3180,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3181,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3181,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3182,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3183,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3184,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3185,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3185,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3191,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3191,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3192,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3192,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3193,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3194,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3195,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3195,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3196,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3197,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3198,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3204,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3204,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3205,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3205,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3206,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3206,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3207,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3208,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3209,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3209,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3210,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3216,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3216,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3217,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3217,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3218,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:3218,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3219,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3220,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3221,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:3230,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3231,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3231,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3231,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:3235,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3237,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3237,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3238,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:3238,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3239,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:3242,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3248,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3248,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3249,1
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/test/sslapitest.c:3249,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3250,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3251,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:3251,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3252,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3255,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3255,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3256,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3257,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3258,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3258,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3259,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3260,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3261,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3262,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3262,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3265,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:3265,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3266,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3270,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:3270,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3271,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3272,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3273,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3274,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3276,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:3277,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:3277,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3280,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3281,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3285,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3286,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3287,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3288,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3289,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3290,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 79
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3294
      start: 3134
    functionDepth: 5
    functionLinenumber: 3134
    functionLinenumberEnd: 3294
    functionName: test_extra_tickets
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - setup_ticket_test
    - SSL_new_session_ticket
    - TEST_ptr
    - SSL_read_ex
    - BIO_new
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_write_ex
    - SSL_CTX_free
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_sess_set_new_cb
    - SSL_do_handshake
    - SSL_free
    - BIO_free
    - TEST_size_t_eq
    - SSL_shutdown
    - BIO_up_ref
    - TEST_false
    - TEST_int_eq
    - SSL_get_wbio
    - bio_s_always_retry
    linkageType: ''
    returnType: int
    signature: int test_extra_tickets(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - res
    - bio1
    - bio2
    - type
    argTypes:
    - BIO**
    - BIO*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3318
    functionDepth: 0
    functionLinenumber: 3318
    functionLinenumberEnd: 3331
    functionName: setupbio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setupbio(BIO **res, BIO *bio1, BIO *bio2, int type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3374,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:3374,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:3374,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:3375,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:3386,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:3387,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3390,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3398,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3398,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3398,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3406,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3406,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3406,1
    - Dst: setupbio
      Src: /src/openssl/test/sslapitest.c:3411,1
    - Dst: setupbio
      Src: /src/openssl/test/sslapitest.c:3412,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:3413,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3420,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3422,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3423,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3429,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3429,1
    - Dst: setupbio
      Src: /src/openssl/test/sslapitest.c:3434,1
    - Dst: setupbio
      Src: /src/openssl/test/sslapitest.c:3435,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3445,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3445,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3450,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:3450,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3453,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:3457,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3462,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3463,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3470,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3471,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3472,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3473,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 79
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3345
    functionDepth: 5
    functionLinenumber: 3345
    functionLinenumberEnd: 3475
    functionName: test_ssl_set_bio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_up_ref
    - BIO_new
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - BIO_free
    - TEST_ptr
    - BIO_s_mem
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_max_proto_version
    - setupbio
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int test_ssl_set_bio(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3486,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:3486,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:3486,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3487,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:3487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3488,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3488,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/sslapitest.c:3488,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3489,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3489,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3489,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/sslapitest.c:3492,1
    - Dst: BIO_push
      Src: /src/openssl/test/sslapitest.c:3497,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3501,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:3501,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:3501,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/sslapitest.c:3506,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:3508,1
    - Dst: BIO_pop
      Src: /src/openssl/test/sslapitest.c:3513,1
    - Dst: BIO_pop
      Src: /src/openssl/test/sslapitest.c:3515,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3519,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:3520,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3521,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3522,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pop_ssl
    - change_bio
    argTypes:
    - int
    - bio_change_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3479
    functionDepth: 5
    functionLinenumber: 3479
    functionLinenumberEnd: 3525
    functionName: execute_test_ssl_bio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_ssl
    - SSL_set0_wbio
    - SSL_CTX_free
    - TLS_method
    - SSL_CTX_new_ex
    - SSL_free
    - BIO_free
    - SSL_set0_rbio
    - SSL_new
    - BIO_s_mem
    - BIO_push
    - TEST_ptr
    - BIO_pop
    - BIO_f_ssl
    linkageType: ''
    returnType: int
    signature: int execute_test_ssl_bio(int pop_ssl, bio_change_t change_bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_ssl_bio
      Src: /src/openssl/test/sslapitest.c:3529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3527
    functionDepth: 6
    functionLinenumber: 3527
    functionLinenumberEnd: 3530
    functionName: test_ssl_bio_pop_next_bio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_test_ssl_bio
    linkageType: ''
    returnType: int
    signature: int test_ssl_bio_pop_next_bio(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_ssl_bio
      Src: /src/openssl/test/sslapitest.c:3534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3532
    functionDepth: 6
    functionLinenumber: 3532
    functionLinenumberEnd: 3535
    functionName: test_ssl_bio_pop_ssl_bio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_test_ssl_bio
    linkageType: ''
    returnType: int
    signature: int test_ssl_bio_pop_ssl_bio(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_ssl_bio
      Src: /src/openssl/test/sslapitest.c:3539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3537
    functionDepth: 6
    functionLinenumber: 3537
    functionLinenumberEnd: 3540
    functionName: test_ssl_bio_change_rbio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_test_ssl_bio
    linkageType: ''
    returnType: int
    signature: int test_ssl_bio_change_rbio(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test_ssl_bio
      Src: /src/openssl/test/sslapitest.c:3544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3545
      start: 3542
    functionDepth: 6
    functionLinenumber: 3542
    functionLinenumberEnd: 3545
    functionName: test_ssl_bio_change_wbio
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - execute_test_ssl_bio
    linkageType: ''
    returnType: int
    signature: int test_ssl_bio_change_wbio(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:3601,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:3601,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:3604,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:3606,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3608,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:3608,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:3608,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:3609,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:3613,1
    - Dst: SSL_CTX_set1_sigalgs
      Src: /src/openssl/test/sslapitest.c:3619,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:3621,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:3625,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:3631,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3636,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3636,1
    - Dst: SSL_set1_sigalgs
      Src: /src/openssl/test/sslapitest.c:3644,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:3646,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:3649,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3658,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3658,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3666,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3667,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3668,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:3669,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3592
    functionDepth: 1
    functionLinenumber: 3592
    functionLinenumberEnd: 3672
    functionName: test_set_sigalgs
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set1_sigalgs_list
    - TEST_size_t_le
    - SSL_CTX_set1_sigalgs
    - SSL_set1_sigalgs
    - SSL_free
    - SSL_CTX_free
    - TEST_info
    - TEST_int_eq
    - OSSL_NELEM
    - SSL_set1_sigalgs_list
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_set_sigalgs(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:3700,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:3705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ssl
    - md
    - id
    - idlen
    - sess
    argTypes:
    - SSL*
    - EVP_MD*
    - unsigned char**
    - size_t*
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3679
    functionDepth: 1
    functionLinenumber: 3679
    functionLinenumberEnd: 3708
    functionName: use_session_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_SESSION_up_ref
    linkageType: ''
    returnType: int
    signature: "int use_session_cb(SSL *ssl, const EVP_MD *md, const unsigned char
      **id,\n                          size_t *idlen, SSL_SESSION **sess)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:3720,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:3731,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:3733,1
    - Dst: strncpy
      Src: /src/openssl/test/sslapitest.c:3734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - ssl
    - hint
    - id
    - max_id_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3737
      start: 3711
    functionDepth: 1
    functionLinenumber: 3711
    functionLinenumberEnd: 3737
    functionName: psk_client_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strncpy
    - SSL_SESSION_get_master_key
    - strlen
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int psk_client_cb(SSL *ssl, const char *hint, char *id,\n
      \                                 unsigned int max_id_len,\n                                  unsigned
      char *psk,\n                                  unsigned int max_psk_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:3753,1
    - Dst: strncmp
      Src: /src/openssl/test/sslapitest.c:3754,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:3760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ssl
    - identity
    - identity_len
    - sess
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3766
      start: 3740
    functionDepth: 1
    functionLinenumber: 3740
    functionLinenumberEnd: 3766
    functionName: find_session_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - strlen
    - SSL_SESSION_up_ref
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int find_session_cb(SSL *ssl, const unsigned char *identity,\n                           size_t
      identity_len, SSL_SESSION **sess)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:3784,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:3789,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/openssl/test/sslapitest.c:3791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3794
      start: 3769
    functionDepth: 1
    functionLinenumber: 3769
    functionLinenumberEnd: 3794
    functionName: psk_server_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strcmp
    - SSL_SESSION_get_master_key
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int psk_server_cb(SSL *ssl, const char *identity,\n                                  unsigned
      char *psk, unsigned int max_psk_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_from_time_t
      Src: /src/openssl/test/sslapitest.c:3811,1
    - Dst: SSL_SESSION_get_time_ex
      Src: /src/openssl/test/sslapitest.c:3811,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/sslapitest.c:3812,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/test/sslapitest.c:3812,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:3814,1
    - Dst: ossl_time_to_time_t
      Src: /src/openssl/test/sslapitest.c:3814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sess
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3815
      start: 3807
    functionDepth: 1
    functionLinenumber: 3807
    functionLinenumberEnd: 3815
    functionName: sub_session_time
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - ossl_time_from_time_t
    - SSL_SESSION_set_time_ex
    - SSL_SESSION_get_time_ex
    - ossl_time_to_time_t
    - ossl_time_subtract
    - ossl_seconds2time
    linkageType: ''
    returnType: int
    signature: int sub_session_time(SSL_SESSION *sess)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_session
      Src: /src/openssl/test/sslapitest.c:3819,1
    - Dst: sub_session_time
      Src: /src/openssl/test/sslapitest.c:3832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3833
      start: 3817
    functionDepth: 2
    functionLinenumber: 3817
    functionLinenumberEnd: 3833
    functionName: ed_gen_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get0_session
    - sub_session_time
    linkageType: ''
    returnType: int
    signature: int ed_gen_cb(SSL *s, void *arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3846,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:3846,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:3846,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:3847,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/sslapitest.c:3853,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3855,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:3855,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/sslapitest.c:3860,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/sslapitest.c:3861,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/openssl/test/sslapitest.c:3864,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/openssl/test/sslapitest.c:3865,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3871,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3871,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3882,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:3882,1
    - Dst: create_a_psk
      Src: /src/openssl/test/sslapitest.c:3886,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:3887,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3892,1
    - Dst: SSL_SESSION_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:3892,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3894,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:3894,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3895,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3902,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:3902,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3903,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:3904,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3916,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:3916,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:3920,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3921,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:3922,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3923,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:3924,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3932,1
    - Dst: sub_session_time
      Src: /src/openssl/test/sslapitest.c:3932,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3935,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:3935,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3937,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:3937,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 7
    argNames:
    - cctx
    - sctx
    - clientssl
    - serverssl
    - sess
    - idx
    - mdsize
    argTypes:
    - SSL_CTX**
    - SSL_CTX**
    - SSL**
    - SSL**
    - SSL_SESSION**
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3941
      start: 3839
    functionDepth: 2
    functionLinenumber: 3839
    functionLinenumberEnd: 3941
    functionName: setupearly_data_test
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - create_a_psk
    - SSL_SESSION_set_max_early_data
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_set_session_ticket_cb
    - SSL_CTX_set_max_early_data
    - SSL_SESSION_up_ref
    - SSL_CTX_set_read_ahead
    - SSL_set_tlsext_host_name
    - create_ssl_objects
    - sub_session_time
    - TEST_true
    - SSL_CTX_set_psk_use_session_callback
    - SSL_SESSION_free
    - SSL_free
    - SSL_shutdown
    - TLS_client_method
    - SSL_CTX_set_psk_find_session_callback
    - SSL_get1_session
    - SSL_set_session
    linkageType: ''
    returnType: int
    signature: "int setupearly_data_test(SSL_CTX **cctx, SSL_CTX **sctx, SSL **clientssl,\n
      \                               SSL **serverssl, SSL_SESSION **sess, int idx,\n
      \                               size_t mdsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/sslapitest.c:3955,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:3955,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/sslapitest.c:3956,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/test/sslapitest.c:3956,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:3957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timer
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3960
      start: 3943
    functionDepth: 2
    functionLinenumber: 3943
    functionLinenumberEnd: 3960
    functionName: check_early_data_timeout
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - ossl_time_compare
    - ossl_time_subtract
    - ossl_time_now
    - ossl_seconds2time
    linkageType: ''
    returnType: int
    signature: int check_early_data_timeout(OSSL_TIME timer)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3976,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:3976,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:3985,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:3986,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:3986,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:3986,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:3988,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:3988,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3991,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:3991,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:3994,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:3998,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:3998,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:3999,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:3999,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4007,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4007,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4007,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4009,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4009,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4010,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4010,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4011,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4011,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4015,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4015,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4015,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4017,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4017,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4021,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4021,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4024,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4024,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4028,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4028,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4028,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4030,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4030,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4031,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4031,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4032,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4032,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4039,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4039,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4039,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4040,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4040,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4041,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4041,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:4051,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4052,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/sslapitest.c:4052,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/sslapitest.c:4053,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:4054,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4059,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslapitest.c:4059,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4060,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4064,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4064,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4067,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4074,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4074,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4074,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4076,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4076,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4080,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslapitest.c:4080,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4082,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4086,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4086,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4087,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4087,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4091,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4091,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4091,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4094,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4095,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4095,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4099,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4102,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4102,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4103,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4103,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4111,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4111,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4112,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4112,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4117,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4117,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4117,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4118,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4118,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4119,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4119,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4120,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4120,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4123,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:4124,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4128,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4129,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4130,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4131,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4133,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:4133,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4135,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:4135,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4139,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4139,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4139,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4141,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4141,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4142,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4142,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4145,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4145,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:4148,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:4148,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:4149,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:4149,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4153,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4153,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4153,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4157,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4157,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4161,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4164,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4164,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4164,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4165,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4165,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4166,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4166,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4167,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4167,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4173,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4174,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4175,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4177,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4178,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4179,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4180,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 114
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 3962
    functionDepth: 4
    functionLinenumber: 3962
    functionLinenumberEnd: 4182
    functionName: test_early_data_read_write
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_read_ex
    - TEST_size_t_gt
    - SSL_write_ex
    - SSL_CTX_free
    - BIO_write_ex
    - ERR_clear_error
    - SSL_get_early_data_status
    - ossl_time_now
    - create_ssl_objects
    - TEST_true
    - SSL_SESSION_free
    - SSL_free
    - SSL_write_early_data
    - check_early_data_timeout
    - TEST_size_t_eq
    - SSL_shutdown
    - setupearly_data_test
    - TEST_size_t_lt
    - SSL_read_early_data
    - TEST_false
    - TEST_int_eq
    - SSL_accept
    - SSL_connect
    - SSL_get1_session
    - BIO_read_ex
    - TEST_mem_eq
    - SSL_get_rbio
    - SSL_set_session
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_early_data_read_write(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4196
      start: 4186
    functionDepth: 0
    functionLinenumber: 4186
    functionLinenumberEnd: 4196
    functionName: allow_early_data_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int allow_early_data_cb(SSL *s, void *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4219,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:4219,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:4219,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:4220,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:4226,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/sslapitest.c:4228,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:4230,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:4232,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/test/sslapitest.c:4234,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4235,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/test/sslapitest.c:4235,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:4237,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:4240,1
    - Dst: SSL_CTX_set_allow_early_data_cb
      Src: /src/openssl/test/sslapitest.c:4242,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4245,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4245,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4254,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:4254,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4255,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:4255,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4258,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4259,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4260,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4261,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4264,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:4264,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4266,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:4266,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:4270,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4271,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4271,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4271,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4273,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4273,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4277,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4277,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4284,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4289,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4289,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:4292,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4295,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4295,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:4300,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:4300,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4301,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4301,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4304,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4304,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4310,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:4310,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4311,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:4311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4312,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4318,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4319,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4320,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4322,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4323,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4324,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4325,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 69
    argCount: 3
    argNames:
    - idx
    - usecb
    - confopt
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4327
      start: 4207
    functionDepth: 3
    functionLinenumber: 4207
    functionLinenumberEnd: 4327
    functionName: test_early_data_replay_int
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CONF_CTX_set_flags
    - SSL_CONF_CTX_new
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - strlen
    - TEST_int_gt
    - SSL_CTX_free
    - SSL_CTX_set_options
    - SSL_get_early_data_status
    - SSL_CONF_cmd
    - ossl_time_now
    - create_ssl_objects
    - TEST_true
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CTX_set_allow_early_data_cb
    - SSL_free
    - SSL_SESSION_free
    - SSL_write_early_data
    - check_early_data_timeout
    - SSL_shutdown
    - TEST_size_t_eq
    - TLS_client_method
    - setupearly_data_test
    - SSL_read_early_data
    - TEST_int_eq
    - SSL_connect
    - SSL_CONF_CTX_free
    - TEST_mem_eq
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_early_data_replay_int(int idx, int usecb, int confopt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_early_data_replay_int
      Src: /src/openssl/test/sslapitest.c:4335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4329
    functionDepth: 4
    functionLinenumber: 4329
    functionLinenumberEnd: 4339
    functionName: test_early_data_replay
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - test_early_data_replay_int
    linkageType: ''
    returnType: int
    signature: int test_early_data_replay(int idx)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:4378,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4380,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:4380,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:4380,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:4381,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:4387,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:4388,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4391,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:4391,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4392,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:4392,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4395,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4395,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4405,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:4405,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4408,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:4408,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4423,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:4423,1
    - Dst: time
      Src: /src/openssl/test/sslapitest.c:4423,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4428,1
    - Dst: SSL_set_recv_max_early_data
      Src: /src/openssl/test/sslapitest.c:4428,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4432,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4432,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4432,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4434,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4434,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4438,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4438,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4441,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4442,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4442,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4457,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4457,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4457,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4458,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4458,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:4465,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4476,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4476,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4476,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4484,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslapitest.c:4484,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4496,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4496,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4497,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:4497,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:4505,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:4509,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4514,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4514,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4514,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4515,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4515,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4516,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4516,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4518,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4518,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4519,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4519,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sslapitest.c:4526,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/sslapitest.c:4526,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4532,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4533,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4535,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4536,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4537,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4538,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4539,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 89
    argCount: 3
    argNames:
    - testtype
    - cipher
    - idx
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4541
      start: 4365
    functionDepth: 4
    functionLinenumber: 4365
    functionLinenumberEnd: 4541
    functionName: early_data_skip_helper
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_recv_max_early_data
    - TLS_server_method
    - create_ssl_ctx_pair
    - strlen
    - SSL_read_ex
    - SSL_get_error
    - SSL_write_ex
    - SSL_CTX_free
    - BIO_write_ex
    - ERR_clear_error
    - SSL_get_early_data_status
    - TEST_long_eq
    - TEST_true
    - ERR_peek_error
    - TEST_error
    - time
    - SSL_SESSION_free
    - SSL_free
    - SSL_write_early_data
    - SSL_SESSION_set_time_ex
    - TEST_skip
    - SSL_set1_groups_list
    - TEST_size_t_eq
    - TLS_client_method
    - setupearly_data_test
    - SSL_read_early_data
    - TEST_false
    - TEST_int_eq
    - SSL_CTX_set_security_level
    - SSL_get_wbio
    - TEST_mem_eq
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int early_data_skip_helper(int testtype, int cipher, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: early_data_skip_helper
      Src: /src/openssl/test/sslapitest.c:4549,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4550,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4552
      start: 4547
    functionDepth: 5
    functionLinenumber: 4547
    functionLinenumberEnd: 4552
    functionName: test_early_data_skip
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - early_data_skip_helper
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_early_data_skip(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: early_data_skip_helper
      Src: /src/openssl/test/sslapitest.c:4560,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4561,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4563
      start: 4558
    functionDepth: 5
    functionLinenumber: 4558
    functionLinenumberEnd: 4563
    functionName: test_early_data_skip_hrr
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - early_data_skip_helper
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_early_data_skip_hrr(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: early_data_skip_helper
      Src: /src/openssl/test/sslapitest.c:4572,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4573,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4575
      start: 4570
    functionDepth: 5
    functionLinenumber: 4570
    functionLinenumberEnd: 4575
    functionName: test_early_data_skip_hrr_fail
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - early_data_skip_helper
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_early_data_skip_hrr_fail(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: early_data_skip_helper
      Src: /src/openssl/test/sslapitest.c:4583,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4584,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:4585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4586
      start: 4581
    functionDepth: 5
    functionLinenumber: 4581
    functionLinenumberEnd: 4586
    functionName: test_early_data_skip_abort
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - early_data_skip_helper
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_early_data_skip_abort(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4601,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4601,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:4607,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4608,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4608,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4608,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4612,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4612,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4615,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4616,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4616,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4618,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4618,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4623,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4623,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4623,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4624,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4624,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4625,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4625,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4626,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4626,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4627,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4627,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4628,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4628,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4631,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4631,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4632,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4632,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4638,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4639,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4640,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4642,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4643,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4644,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4645,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4647
      start: 4592
    functionDepth: 3
    functionLinenumber: 4592
    functionLinenumberEnd: 4647
    functionName: test_early_data_not_sent
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - SSL_read_early_data
    - TEST_mem_eq
    - SSL_CTX_free
    - SSL_set_connect_state
    - SSL_write_ex
    - SSL_SESSION_free
    - SSL_free
    - SSL_get_early_data_status
    - TEST_false
    - TEST_int_eq
    - TEST_true
    - TEST_size_t_eq
    - strlen
    - setupearly_data_test
    linkageType: ''
    returnType: int
    signature: int test_early_data_not_sent(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4663,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:4664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4672
      start: 4651
    functionDepth: 0
    functionLinenumber: 4651
    functionLinenumberEnd: 4672
    functionName: alpn_select_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int alpn_select_cb(SSL *ssl, const unsigned char **out,\n                          unsigned
      char *outlen, const unsigned char *in,\n                          unsigned int
      inlen, void *arg)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4696,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4696,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4713,1
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/openssl/test/sslapitest.c:4713,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4714,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:4714,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4722,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/openssl/test/sslapitest.c:4722,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4724,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:4724,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4736,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/test/sslapitest.c:4736,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4747,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/sslapitest.c:4748,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:4749,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4750,1
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/openssl/test/sslapitest.c:4750,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4755,1
    - Dst: SSL_SESSION_set1_hostname
      Src: /src/openssl/test/sslapitest.c:4755,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4756,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:4756,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4757,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:4757,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4779,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/openssl/test/sslapitest.c:4779,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4781,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:4781,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/sslapitest.c:4785,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4790,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/sslapitest.c:4791,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:4792,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4793,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/openssl/test/sslapitest.c:4793,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4796,1
    - Dst: SSL_SESSION_set1_alpn_selected
      Src: /src/openssl/test/sslapitest.c:4796,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4799,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:4799,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/sslapitest.c:4802,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:4810,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:4814,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:4816,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4816,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4816,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4818,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:4818,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4819,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:4819,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/sslapitest.c:4819,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:4822,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4824,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4824,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4824,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4828,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4828,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:4830,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4835,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4835,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4836,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4836,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4837,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:4837,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4844,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4845,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4846,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4848,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4849,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4850,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4851,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 91
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4853
      start: 4675
    functionDepth: 3
    functionLinenumber: 4675
    functionLinenumberEnd: 4853
    functionName: test_early_data_psk
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_set1_alpn_selected
    - SSL_set_alpn_protos
    - SSL_CTX_set_tlsext_servername_callback
    - TEST_ptr
    - strlen
    - SSL_get_error
    - SSL_set_connect_state
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_free
    - SSL_get_early_data_status
    - SSL_set_tlsext_host_name
    - ossl_time_now
    - TEST_true
    - TEST_error
    - ERR_get_error
    - SSL_SESSION_dup
    - SSL_SESSION_free
    - SSL_free
    - SSL_SESSION_set_protocol_version
    - SSL_write_early_data
    - check_early_data_timeout
    - SSL_SESSION_set1_hostname
    - setupearly_data_test
    - SSL_read_early_data
    - TEST_false
    - TEST_int_eq
    - ERR_GET_REASON
    - SSL_connect
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_early_data_psk(int idx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:4878,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:4878,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:4885,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:4896,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:4896,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:4903,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4922,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:4922,1
    - Dst: SSL_set_security_level
      Src: /src/openssl/test/sslapitest.c:4932,1
    - Dst: SSL_set_security_level
      Src: /src/openssl/test/sslapitest.c:4933,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4936,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:4936,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4937,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:4937,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/sslapitest.c:4947,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:4948,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4948,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/test/sslapitest.c:4948,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:4951,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:4952,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4953,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:4953,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4953,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4957,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:4957,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:4960,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4964,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4964,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4965,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:4965,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4967,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:4967,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:4968,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:4968,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4972,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:4972,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4972,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:4973,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4973,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:4976,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:4976,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:4977,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:4977,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4982,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4983,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:4984,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4987,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:4989,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4990,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:4991,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4992,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:4993,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 54
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4995
      start: 4865
    functionDepth: 3
    functionLinenumber: 4865
    functionLinenumberEnd: 4995
    functionName: test_early_data_psk_with_all_ciphers
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - strlen
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_set_connect_state
    - SSL_write_ex
    - SSL_get_early_data_status
    - SSL_CIPHER_find
    - ossl_time_now
    - TEST_true
    - SSL_set_security_level
    - SSL_set_ciphersuites
    - SSL_SESSION_free
    - SSL_free
    - SSL_write_early_data
    - check_early_data_timeout
    - defined
    - TEST_size_t_eq
    - SSL_shutdown
    - setupearly_data_test
    - SSL_read_early_data
    - TEST_int_eq
    - SSL_accept
    - SSL_connect
    - SSL_SESSION_set_cipher
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_early_data_psk_with_all_ciphers(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5010,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:5010,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5016,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:5016,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5016,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:5024,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:5024,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:5025,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:5025,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5026,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5026,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:5028,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:5028,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5029,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5029,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5034,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5034,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5034,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5035,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5035,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5038,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:5038,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:5039,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5039,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5045,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5046,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5047,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5049,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5050,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5051,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5052,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 5001
    functionDepth: 3
    functionLinenumber: 5001
    functionLinenumberEnd: 5054
    functionName: test_early_data_not_expected
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - TEST_mem_eq
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_SESSION_free
    - SSL_free
    - SSL_write_early_data
    - SSL_get_early_data_status
    - TEST_int_le
    - TEST_int_eq
    - SSL_accept
    - SSL_connect
    - TEST_true
    - TEST_size_t_eq
    - strlen
    - setupearly_data_test
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_early_data_not_expected(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5070,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:5070,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:5076,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:5077,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5078,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5078,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5078,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5086,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:5086,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5095,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5095,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5095,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5096,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:5096,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5099,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5100,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5100,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5105,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5105,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5105,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5106,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5107,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:5107,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5109,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:5109,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:5110,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5110,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5111,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:5111,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5111,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:5112,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5112,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:5113,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:5114,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5114,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5120,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5121,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5123,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5124,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5125,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5126,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5129
      start: 5062
    functionDepth: 3
    functionLinenumber: 5062
    functionLinenumberEnd: 5129
    functionName: test_early_data_tls1_2
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - SSL_read_early_data
    - TEST_mem_eq
    - SSL_CTX_free
    - SSL_set_connect_state
    - SSL_write_ex
    - SSL_SESSION_free
    - SSL_free
    - SSL_get_early_data_status
    - TEST_false
    - TEST_int_eq
    - SSL_set_max_proto_version
    - TEST_true
    - TEST_size_t_eq
    - strlen
    - setupearly_data_test
    linkageType: ''
    returnType: int
    signature: int test_early_data_tls1_2(int idx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5152,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5152,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5152,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5153,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5155,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5155,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5161,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5161,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5167,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5167,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5172,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5172,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5177,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5177,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5183,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5183,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5189,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5189,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5194,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5194,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5199,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5199,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5205,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5206,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5207,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5208,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5211
      start: 5146
    functionDepth: 1
    functionLinenumber: 5146
    functionLinenumberEnd: 5211
    functionName: test_set_ciphersuite
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_set_ciphersuites
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_cipher_list
    - SSL_set_cipher_list
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int test_set_ciphersuite(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5222,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5222,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5222,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5223,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5225,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5225,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5229,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5229,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5233,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5233,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5235,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5235,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:5239,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/test/sslapitest.c:5241,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5242,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5243,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5244,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5245,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5249,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5249,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5251,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5251,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5253,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:5253,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5254,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5254,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5256,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:5256,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5259,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:5260,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5261,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5262,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5263,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5264,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5271,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5271,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5272,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5272,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5274,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:5274,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5275,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5275,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5277,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:5277,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5280,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5282,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5283,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5284,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5285,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5289,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5289,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5290,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5290,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5292,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5292,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:5296,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5297,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5298,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5299,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5300,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5303,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5303,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5305,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5305,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5307,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5307,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5309,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:5309,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5315,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5315,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:5328,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5328,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5330,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:5330,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/sslapitest.c:5330,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5337,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5338,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5339,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5340,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5341,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5344
      start: 5213
    functionDepth: 2
    functionLinenumber: 5213
    functionLinenumberEnd: 5344
    functionName: test_ciphersuite_change
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_SESSION_get0_cipher
    - SSL_CTX_free
    - create_ssl_objects
    - TEST_true
    - ERR_get_error
    - SSL_free
    - SSL_SESSION_free
    - SSL_shutdown
    - TLS_client_method
    - TEST_false
    - TEST_int_eq
    - ERR_GET_REASON
    - SSL_CTX_set_ciphersuites
    - SSL_get1_session
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_ciphersuite_change(void)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5405,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5423,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5429,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5444,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/sslapitest.c:5529,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5531,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5533,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5533,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5533,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5534,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5539,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5539,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5543,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5543,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5547,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5547,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5550,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:5550,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5558,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5558,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5564,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5564,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5569,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5569,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5570,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5570,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5573,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:5573,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5574,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:5574,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5578,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5578,1
    - Dst: SSL_get_shared_group
      Src: /src/openssl/test/sslapitest.c:5587,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5592,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5598,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5603,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:5605,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/test/sslapitest.c:5605,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:5608,1
    - Dst: SSL_get0_group_name
      Src: /src/openssl/test/sslapitest.c:5608,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:5609,1
    - Dst: SSL_get0_group_name
      Src: /src/openssl/test/sslapitest.c:5609,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5611,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5611,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:5613,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5613,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5620,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5621,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5622,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5623,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 175
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5625
      start: 5383
    functionDepth: 1
    functionLinenumber: 5383
    functionLinenumberEnd: 5625
    functionName: test_key_exchange
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_get0_group_name
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_get_negotiated_group
    - SSL_CTX_free
    - SSL_get_shared_group
    - SSL_CTX_set_dh_auto
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - TEST_str_eq
    - SSL_CTX_set_cipher_list
    - TEST_skip
    - SSL_set1_groups_list
    - fips_provider_version_lt
    - TLS_client_method
    - TEST_int_eq
    - OSSL_NELEM
    - SSL_set1_groups
    - SSL_CTX_set_ciphersuites
    - SSL_group_to_name
    linkageType: ''
    returnType: int
    signature: int test_key_exchange(int idx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5637,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5638,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5645,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5645,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5648,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5648,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5652,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5652,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5657,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5657,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5660,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5660,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5664,1
    - Dst: SSL_set1_groups
      Src: /src/openssl/test/sslapitest.c:5664,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - serverssl
    - clientssl
    - clientmulti
    - isecdhe
    - idx
    argTypes:
    - SSL*
    - SSL*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5670
      start: 5630
    functionDepth: 1
    functionLinenumber: 5630
    functionLinenumberEnd: 5670
    functionName: set_ssl_groups
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - SSL_set1_groups
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int set_ssl_groups(SSL *serverssl, SSL *clientssl, int clientmulti,\n
      \                         int isecdhe, int idx)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5706,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5707,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:5728,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5733,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5733,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5733,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5734,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5743,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5743,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5746,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:5746,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5748,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5748,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5753,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5753,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5757,1
    - Dst: set_ssl_groups
      Src: /src/openssl/test/sslapitest.c:5757,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5761,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5761,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:5765,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5765,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:5766,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5766,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:5769,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:5769,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5772,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5773,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5774,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5775,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5779,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5779,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5781,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:5781,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5782,1
    - Dst: set_ssl_groups
      Src: /src/openssl/test/sslapitest.c:5782,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5786,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5786,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5787,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:5787,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:5791,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5791,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:5792,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5792,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5795,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:5796,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5797,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5798,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:5816,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5825,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5825,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5827,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:5827,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5828,1
    - Dst: set_ssl_groups
      Src: /src/openssl/test/sslapitest.c:5828,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5832,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5832,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5833,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:5833,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:5837,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5837,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:5838,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/sslapitest.c:5838,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5843,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5844,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5845,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5846,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:5847,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 97
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5849
      start: 5695
    functionDepth: 2
    functionLinenumber: 5695
    functionLinenumberEnd: 5849
    functionName: test_negotiated_group
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_get_negotiated_group
    - SSL_CTX_free
    - set_ssl_groups
    - SSL_CTX_set_dh_auto
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - TEST_int_ne
    - SSL_SESSION_free
    - SSL_CTX_set_cipher_list
    - TEST_skip
    - SSL_shutdown
    - TLS_client_method
    - TEST_uint_eq
    - OSSL_NELEM
    - SSL_get1_session
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_negotiated_group(int idx)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5871,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5871,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:5879,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:5917,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5921,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:5921,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:5921,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:5922,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:5928,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:5929,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5933,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5933,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5934,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5934,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5937,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5937,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5938,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5938,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5944,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:5944,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5949,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5949,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5950,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:5950,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5953,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5953,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5954,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:5954,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:5960,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:5960,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/sslapitest.c:5964,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:5964,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/sslapitest.c:5966,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/sslapitest.c:5966,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:5968,1
    - Dst: TEST_strn_eq
      Src: /src/openssl/test/sslapitest.c:5976,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:5977,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:5983,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5987,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:5989,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5991,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:5993,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6000,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6001,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6002,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6003,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 86
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6005
      start: 5859
    functionDepth: 1
    functionLinenumber: 5859
    functionLinenumberEnd: 6005
    functionName: test_tls13_ciphersuite
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TLS_server_method
    - create_ssl_ctx_pair
    - strlen
    - SSL_CTX_free
    - create_ssl_objects
    - TEST_true
    - SSL_get_current_cipher
    - SSL_set_ciphersuites
    - SSL_free
    - TEST_str_eq
    - SSL_CTX_set_cipher_list
    - defined
    - TLS_client_method
    - SSL_CTX_set_security_level
    - TEST_strn_eq
    - OSSL_NELEM
    - SSL_set_cipher_list
    - SSL_CIPHER_get_name
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int test_tls13_ciphersuite(int idx)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6027,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6027,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6027,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6028,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6040,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:6040,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6049,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:6049,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/openssl/test/sslapitest.c:6061,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/openssl/test/sslapitest.c:6062,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/test/sslapitest.c:6066,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/openssl/test/sslapitest.c:6067,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6081,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6081,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6083,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6083,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6085,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6085,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6086,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6086,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6090,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6091,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6096,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6097,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6100,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6101,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6102,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6103,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6107,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6112,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6112,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/sslapitest.c:6117,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/sslapitest.c:6118,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:6119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:6120,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6121,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/test/sslapitest.c:6121,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6123,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/test/sslapitest.c:6123,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6124,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/test/sslapitest.c:6124,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6126,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/test/sslapitest.c:6126,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6131,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6131,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6132,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6132,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6133,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6133,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6137,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6138,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6139,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6140,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6143,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6144,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6145,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6146,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6150,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6155,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6155,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6161,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:6161,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6164,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:6164,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6172,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6172,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6173,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6173,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6174,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6174,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6178,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6179,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6180,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6181,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6184,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6185,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6186,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6187,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6191,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6202,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6202,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6204,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6204,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6206,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6206,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6207,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6207,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6211,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6212,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6213,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6218,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6221,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6222,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6223,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6224,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6228,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:6234,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:6235,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6237,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6238,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6239,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6240,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 121
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6242
      start: 6014
    functionDepth: 1
    functionLinenumber: 6014
    functionLinenumberEnd: 6242
    functionName: test_tls13_psk
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_psk_client_callback
    - SSL_CTX_set_psk_server_callback
    - TLS_server_method
    - TEST_ptr
    - SSL_SESSION_new
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - shutdown_ssl_connection
    - SSL_SESSION_up_ref
    - SSL_CIPHER_find
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set_psk_use_session_callback
    - SSL_SESSION_free
    - SSL_free
    - SSL_SESSION_set_protocol_version
    - SSL_set1_groups_list
    - TLS_client_method
    - SSL_CTX_set_psk_find_session_callback
    - TEST_false
    - SSL_SESSION_set1_master_key
    - SSL_SESSION_set_cipher
    - SSL_CTX_set_ciphersuites
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_tls13_psk(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6277,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6277,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6277,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6278,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:6282,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6285,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6286,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/sslapitest.c:6288,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6290,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6290,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6294,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6294,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6297,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6303,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6304,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6305,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6306,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6307,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6316,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6316,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6316,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6317,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6321,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6323,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6323,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6325,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:6325,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6328,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6328,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6335,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:6335,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6338,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6339,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6344,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6345,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:6346,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:6347,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6350,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6351,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6354
      start: 6255
    functionDepth: 1
    functionLinenumber: 6255
    functionLinenumberEnd: 6354
    functionName: test_tls13_no_dhe_kex
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_options
    - SSL_SESSION_free
    - SSL_CTX_set_session_cache_mode
    - TEST_int_eq
    - SSL_set_session
    - OSSL_NELEM
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - SSL_shutdown
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_sess_set_new_cb
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_tls13_no_dhe_kex(const int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:6366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6370
      start: 6359
    functionDepth: 0
    functionLinenumber: 6359
    functionLinenumberEnd: 6370
    functionName: generate_cookie_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int generate_cookie_callback(SSL *ssl, unsigned char *cookie,\n                                    unsigned
      int *cookie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:6376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6380
      start: 6372
    functionDepth: 0
    functionLinenumber: 6372
    functionLinenumberEnd: 6380
    functionName: verify_cookie_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int verify_cookie_callback(SSL *ssl, const unsigned char *cookie,\n
      \                                 unsigned int cookie_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_cookie_callback
      Src: /src/openssl/test/sslapitest.c:6386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6389
      start: 6382
    functionDepth: 0
    functionLinenumber: 6382
    functionLinenumberEnd: 6389
    functionName: generate_stateless_cookie_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - generate_cookie_callback
    linkageType: ''
    returnType: int
    signature: "int generate_stateless_cookie_callback(SSL *ssl, unsigned char *cookie,\n
      \                                       size_t *cookie_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_cookie_callback
      Src: /src/openssl/test/sslapitest.c:6394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6395
      start: 6391
    functionDepth: 0
    functionLinenumber: 6391
    functionLinenumberEnd: 6395
    functionName: verify_stateless_cookie_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - verify_cookie_callback
    linkageType: ''
    returnType: int
    signature: "int verify_stateless_cookie_callback(SSL *ssl, const unsigned char
      *cookie,\n                                      size_t cookie_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6403,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6403,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6403,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6404,1
    - Dst: SSL_CTX_clear_options
      Src: /src/openssl/test/sslapitest.c:6409,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6411,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6411,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6414,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6414,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6420,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/sslapitest.c:6420,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6424,1
    - Dst: SSL_CTX_set_stateless_cookie_generate_cb
      Src: /src/openssl/test/sslapitest.c:6428,1
    - Dst: SSL_CTX_set_stateless_cookie_verify_cb
      Src: /src/openssl/test/sslapitest.c:6429,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6435,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6435,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6438,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6438,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6441,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/sslapitest.c:6441,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6445,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6452,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6452,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6455,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6455,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6458,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/sslapitest.c:6458,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6460,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6460,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6463,1
    - Dst: SSL_stateless
      Src: /src/openssl/test/sslapitest.c:6463,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6465,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6465,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6469,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6474,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6475,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6476,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6477,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6480
      start: 6397
    functionDepth: 1
    functionLinenumber: 6397
    functionLinenumberEnd: 6480
    functionName: test_stateless
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_stateless
    - SSL_CTX_free
    - SSL_CTX_set_stateless_cookie_verify_cb
    - SSL_free
    - shutdown_ssl_connection
    - TEST_false
    - TEST_int_eq
    - SSL_CTX_set_stateless_cookie_generate_cb
    - SSL_CTX_clear_options
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int test_stateless(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6501,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6506,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:6507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6514
      start: 6495
    functionDepth: 1
    functionLinenumber: 6495
    functionLinenumberEnd: 6514
    functionName: old_add_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_is_server
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int old_add_cb(SSL *s, unsigned int ext_type, const unsigned char
      **out,\n                      size_t *outlen, int *al, void *add_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:6519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - ext_type
    - out
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6520
      start: 6516
    functionDepth: 0
    functionLinenumber: 6516
    functionLinenumberEnd: 6520
    functionName: old_free_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: "void old_free_cb(SSL *s, unsigned int ext_type, const unsigned char
      *out,\n                        void *add_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6527,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - parse_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6538
      start: 6522
    functionDepth: 1
    functionLinenumber: 6522
    functionLinenumberEnd: 6538
    functionName: old_parse_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_is_server
    linkageType: ''
    returnType: int
    signature: "int old_parse_cb(SSL *s, unsigned int ext_type, const unsigned char
      *in,\n                        size_t inlen, int *al, void *parse_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6547,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6552,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:6553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - out
    - outlen
    - x
    - chainidx
    - al
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char**
    - size_t*
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6560
      start: 6540
    functionDepth: 1
    functionLinenumber: 6540
    functionLinenumberEnd: 6560
    functionName: new_add_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_is_server
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int new_add_cb(SSL *s, unsigned int ext_type, unsigned int context,\n
      \                     const unsigned char **out, size_t *outlen, X509 *x,\n
      \                     size_t chainidx, int *al, void *add_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:6565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - ext_type
    - context
    - out
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6566
      start: 6562
    functionDepth: 0
    functionLinenumber: 6562
    functionLinenumberEnd: 6566
    functionName: new_free_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: "void new_free_cb(SSL *s, unsigned int ext_type, unsigned int context,\n
      \                       const unsigned char *out, void *add_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6574,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:6579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - in
    - inlen
    - x
    - chainidx
    - al
    - parse_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6584
      start: 6568
    functionDepth: 1
    functionLinenumber: 6568
    functionLinenumberEnd: 6584
    functionName: new_parse_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_is_server
    linkageType: ''
    returnType: int
    signature: "int new_parse_cb(SSL *s, unsigned int ext_type, unsigned int context,\n
      \                       const unsigned char *in, size_t inlen, X509 *x,\n                        size_t
      chainidx, int *al, void *parse_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/sslapitest.c:6590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6596
      start: 6586
    functionDepth: 1
    functionLinenumber: 6586
    functionLinenumberEnd: 6596
    functionName: sni_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_SSL_CTX
    linkageType: ''
    returnType: int
    signature: int sni_cb(SSL *s, int *al, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6601
      start: 6598
    functionDepth: 0
    functionLinenumber: 6598
    functionLinenumberEnd: 6601
    functionName: verify_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_cb(int preverify_ok, X509_STORE_CTX *x509_ctx)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6633,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6633,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6633,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:6634,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6639,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6639,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:6639,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6646,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6647,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:6649,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:6655,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6658,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/sslapitest.c:6658,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6660,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:6660,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6662,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:6662,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6679,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/openssl/test/sslapitest.c:6679,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6685,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6685,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6692,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/openssl/test/sslapitest.c:6692,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6696,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6696,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6704,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/openssl/test/sslapitest.c:6704,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6710,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6710,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6715,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6715,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6723,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/openssl/test/sslapitest.c:6723,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:6727,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6727,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6735,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:6735,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6736,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/sslapitest.c:6736,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6740,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6740,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6742,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6742,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:6775,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6776,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:6777,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6778,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6779,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6788,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6788,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6790,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:6790,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6791,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6791,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:6828,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6829,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6830,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6831,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6832,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6833,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 122
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6835
      start: 6612
    functionDepth: 1
    functionLinenumber: 6612
    functionLinenumberEnd: 6835
    functionName: test_custom_exts
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_add_custom_ext
    - SSL_CTX_set_verify
    - SSL_CTX_set_tlsext_servername_callback
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SSL_CTX_set_options
    - SSL_CTX_add_client_custom_ext
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_add_server_custom_ext
    - SSL_CTX_use_PrivateKey_file
    - SSL_free
    - SSL_SESSION_free
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_shutdown
    - TLS_client_method
    - SSL_CTX_use_certificate_file
    - TEST_false
    - TEST_int_eq
    - SSL_CTX_check_private_key
    - SSL_get1_session
    - SSL_set_session
    linkageType: ''
    returnType: int
    signature: int test_custom_exts(int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:6878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - in
    - inlen
    - x
    - chainidx
    - al
    - parse_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6880
      start: 6868
    functionDepth: 1
    functionLinenumber: 6868
    functionLinenumberEnd: 6880
    functionName: serverinfo_custom_parse_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int serverinfo_custom_parse_cb(SSL *s, unsigned int ext_type,\n                                      unsigned
      int context,\n                                      const unsigned char *in,\n
      \                                     size_t inlen, X509 *x,\n                                      size_t
      chainidx, int *al,\n                                      void *parse_arg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6926,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:6926,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:6927,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:6928,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6935,1
    - Dst: SSL_CTX_use_serverinfo_ex
      Src: /src/openssl/test/sslapitest.c:6935,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6939,1
    - Dst: SSL_CTX_use_serverinfo
      Src: /src/openssl/test/sslapitest.c:6939,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6943,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/test/sslapitest.c:6943,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6948,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:6948,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6950,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:6950,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:6952,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:6952,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:6955,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6961,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:6962,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6963,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:6964,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6967
      start: 6882
    functionDepth: 1
    functionLinenumber: 6882
    functionLinenumberEnd: 6967
    functionName: test_serverinfo_custom
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_do_handshake
    - SSL_CTX_free
    - SSL_CTX_use_serverinfo
    - TLS_method
    - SSL_CTX_use_serverinfo_ex
    - SSL_free
    - SSL_CTX_add_custom_ext
    - TEST_int_eq
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: int test_serverinfo_custom(const int idx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/sslapitest.c:6986,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7017,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7017,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7017,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7018,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/sslapitest.c:7022,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:7022,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:7023,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:7024,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:7026,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:7027,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7030,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7030,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:7037,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7037,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7043,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7043,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:7052,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7052,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:7066,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7068,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7068,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7072,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7072,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7077,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7077,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7082,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7082,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7089,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7089,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7095,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7095,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7100,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7100,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7105,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/test/sslapitest.c:7105,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7115,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7121,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7127,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7134,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:7137,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:7145,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7147,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7154,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7155,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7156,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7157,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7158,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 58
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7161
      start: 6977
    functionDepth: 1
    functionLinenumber: 6977
    functionLinenumberEnd: 7161
    functionName: test_export_key_mat
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TEST_int_le
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set_max_proto_version
    - TEST_mem_ne
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - OPENSSL_assert
    - fips_provider_version_ge
    - SSL_CTX_set_cipher_list
    - TLS_client_method
    - SSL_export_keying_material
    - memset
    - TEST_int_eq
    - OSSL_NELEM
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_export_key_mat(int tst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7184,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:7184,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7189,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:7189,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7190,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:7190,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7193,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:7193,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7197,1
    - Dst: SSL_export_keying_material_early
      Src: /src/openssl/test/sslapitest.c:7197,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7200,1
    - Dst: SSL_export_keying_material_early
      Src: /src/openssl/test/sslapitest.c:7200,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7203,1
    - Dst: SSL_export_keying_material_early
      Src: /src/openssl/test/sslapitest.c:7203,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7206,1
    - Dst: SSL_export_keying_material_early
      Src: /src/openssl/test/sslapitest.c:7206,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7213,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:7219,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/sslapitest.c:7222,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:7229,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:7230,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:7231,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7233,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7234,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7235,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7236,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7239
      start: 7170
    functionDepth: 3
    functionLinenumber: 7170
    functionLinenumberEnd: 7239
    functionName: test_export_key_mat_early
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_early_data
    - SSL_CTX_free
    - TEST_mem_ne
    - SSL_SESSION_free
    - SSL_free
    - SSL_write_early_data
    - SSL_get_early_data_status
    - TEST_int_eq
    - SSL_export_keying_material_early
    - TEST_true
    - TEST_mem_eq
    - setupearly_data_test
    linkageType: ''
    returnType: int
    signature: int test_export_key_mat_early(int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7253,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7253,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7253,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7254,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7258,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7258,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7260,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7260,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7267,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7267,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7271,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7271,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7276,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7276,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7276,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7277,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7277,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7278,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7281,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7281,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7281,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7282,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7282,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7283,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7290,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7291,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7292,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7293,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7296
      start: 7245
    functionDepth: 1
    functionLinenumber: 7245
    functionLinenumberEnd: 7296
    functionName: test_key_update
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_key_update
    - SSL_do_handshake
    - SSL_CTX_free
    - SSL_free
    - strlen
    - SSL_read
    - TEST_int_eq
    - SSL_write
    - create_ssl_objects
    - TLS_server_method
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int test_key_update(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:7311,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:7311,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7315,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7316,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7316,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7316,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7317,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7321,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7321,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7323,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7323,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7330,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7330,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7331,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7331,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:7335,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7336,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7336,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:7336,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:7340,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7344,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7344,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7344,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7345,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7345,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7346,1
    - Dst: SSL_want_write
      Src: /src/openssl/test/sslapitest.c:7346,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7347,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/test/sslapitest.c:7347,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:7351,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7355,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7355,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7356,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7356,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7357,1
    - Dst: SSL_want_read
      Src: /src/openssl/test/sslapitest.c:7357,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7358,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/test/sslapitest.c:7358,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7365,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7365,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7365,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7365,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7366,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7366,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7366,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7370,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7370,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7370,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7370,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7371,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7371,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7371,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:7374,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/test/sslapitest.c:7374,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:7375,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/test/sslapitest.c:7375,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7376,1
    - Dst: SSL_want
      Src: /src/openssl/test/sslapitest.c:7376,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7382,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7383,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7384,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7385,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7386,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7387,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 44
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7390
      start: 7304
    functionDepth: 5
    functionLinenumber: 7304
    functionLinenumberEnd: 7390
    functionName: test_key_update_peer_in_write
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_key_update
    - SSL_want
    - TLS_server_method
    - TEST_ptr
    - strlen
    - create_ssl_ctx_pair
    - SSL_want_read
    - BIO_new
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_net_write_desired
    - SSL_CTX_free
    - SSL_read
    - create_ssl_objects
    - TEST_true
    - SSL_do_handshake
    - SSL_free
    - SSL_want_write
    - BIO_free
    - TLS_client_method
    - BIO_up_ref
    - SSL_net_read_desired
    - TEST_false
    - TEST_int_eq
    - SSL_write
    - SSL_get_wbio
    - bio_s_always_retry
    linkageType: ''
    returnType: int
    signature: int test_key_update_peer_in_write(int tst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7409,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7409,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7409,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7410,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7414,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7414,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7416,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7416,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7423,1
    - Dst: BIO_new_bio_pair
      Src: /src/openssl/test/sslapitest.c:7423,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7426,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7427,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7435,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7435,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7436,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7436,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7437,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7437,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7444,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7444,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7445,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7445,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7449,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7449,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7449,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7449,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7456,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7456,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7457,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7457,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7461,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7461,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7461,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7461,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7462,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7462,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7462,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7468,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7469,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7470,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7471,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7474
      start: 7399
    functionDepth: 6
    functionLinenumber: 7399
    functionLinenumberEnd: 7474
    functionName: test_key_update_peer_in_read
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new_bio_pair
    - create_ssl_connection
    - SSL_key_update
    - SSL_get_error
    - SSL_CTX_free
    - SSL_free
    - SSL_read
    - strlen
    - TEST_int_eq
    - SSL_write
    - create_ssl_objects
    - TLS_server_method
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int test_key_update_peer_in_read(int tst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:7489,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:7489,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7493,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7494,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7494,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7494,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7495,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7499,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7499,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7501,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7501,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:7509,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7510,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7510,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:7510,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:7514,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7518,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7518,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7518,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7519,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7519,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:7523,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:7527,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7527,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7528,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:7528,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/sslapitest.c:7528,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/sslapitest.c:7531,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7533,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7533,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7533,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7533,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7537,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7537,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7538,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7538,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7545,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7545,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7545,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7545,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7546,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7546,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7546,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7550,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7550,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7550,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7550,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7551,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7551,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7551,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7557,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7558,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7559,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7560,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7561,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7562,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7565
      start: 7482
    functionDepth: 5
    functionLinenumber: 7482
    functionLinenumberEnd: 7565
    functionName: test_key_update_local_in_write
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_key_update
    - TLS_server_method
    - TEST_ptr
    - strlen
    - create_ssl_ctx_pair
    - BIO_new
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_CTX_free
    - ERR_clear_error
    - SSL_read
    - create_ssl_objects
    - TEST_true
    - ERR_peek_error
    - SSL_do_handshake
    - SSL_free
    - BIO_free
    - TLS_client_method
    - BIO_up_ref
    - TEST_false
    - TEST_int_eq
    - ERR_GET_REASON
    - SSL_write
    - SSL_get_wbio
    - bio_s_always_retry
    linkageType: ''
    returnType: int
    signature: int test_key_update_local_in_write(int tst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7583,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7583,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7583,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7584,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7588,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7588,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7590,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7590,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7597,1
    - Dst: BIO_new_bio_pair
      Src: /src/openssl/test/sslapitest.c:7597,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7600,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7601,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7604,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7604,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7605,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7605,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7609,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7609,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7610,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:7610,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7614,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7614,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7615,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7615,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7622,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7622,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7623,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7623,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7630,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7630,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7630,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7630,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7631,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7631,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7631,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7635,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:7635,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7635,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7635,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7636,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:7636,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7636,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7642,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7643,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7644,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7645,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7648
      start: 7573
    functionDepth: 6
    functionLinenumber: 7573
    functionLinenumberEnd: 7648
    functionName: test_key_update_local_in_read
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new_bio_pair
    - create_ssl_connection
    - SSL_key_update
    - SSL_get_error
    - SSL_do_handshake
    - SSL_CTX_free
    - SSL_free
    - SSL_read
    - strlen
    - TEST_int_eq
    - SSL_write
    - create_ssl_objects
    - TLS_server_method
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int test_key_update_local_in_read(int tst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:7682,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7686,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7686,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7686,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7687,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7690,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:7690,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7692,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7692,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7694,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7694,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7707,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:7707,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7707,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:7708,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7715,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:7715,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7719,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7720,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7725,1
    - Dst: SSL_clear
      Src: /src/openssl/test/sslapitest.c:7725,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/sslapitest.c:7728,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7730,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7734,1
    - Dst: SSL_clear
      Src: /src/openssl/test/sslapitest.c:7734,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/sslapitest.c:7737,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7739,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7743,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7743,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7745,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7745,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7747,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:7747,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7750,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7751,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7756,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7757,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7758,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7759,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7762
      start: 7663
    functionDepth: 1
    functionLinenumber: 7663
    functionLinenumberEnd: 7762
    functionName: test_ssl_clear
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - create_ssl_connection
    - SSL_set_accept_state
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_set_connect_state
    - SSL_free
    - strlen
    - TEST_skip
    - SSL_clear
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - SSL_shutdown
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_max_proto_version
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_ssl_clear(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_gt
      Src: /src/openssl/test/sslapitest.c:7772,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/sslapitest.c:7772,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:7775,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:7776,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:7777,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/sslapitest.c:7779,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7780,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/sslapitest.c:7780,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/sslapitest.c:7782,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7784,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/sslapitest.c:7784,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7786,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/sslapitest.c:7786,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7789,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/sslapitest.c:7789,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7791,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:7791,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7793,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/sslapitest.c:7793,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7795,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:7795,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:7799,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7800,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/sslapitest.c:7800,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7801,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/sslapitest.c:7801,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/sslapitest.c:7805,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/sslapitest.c:7805,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7806,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/sslapitest.c:7806,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 2
    argNames:
    - bio
    - mfl_codemfl_code
    argTypes:
    - BIO*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7816
      start: 7765
    functionDepth: 1
    functionLinenumber: 7765
    functionLinenumberEnd: 7816
    functionName: get_MFL_from_client_hello
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memset
    - PACKET_buf_init
    - PACKET_get_length_prefixed_1
    - PACKET_get_net_2
    - PACKET_as_length_prefixed_2
    - PACKET_get_1
    - PACKET_remaining
    - BIO_get_mem_data
    - PACKET_forward
    - TEST_true
    - TEST_size_t_ne
    - PACKET_get_length_prefixed_2
    - TEST_long_gt
    - TEST_uint_gt
    linkageType: ''
    returnType: int
    signature: int get_MFL_from_client_hello(BIO *bio, int *mfl_codemfl_code)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7833,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7833,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7833,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7838,1
    - Dst: SSL_CTX_set_tlsext_max_fragment_length
      Src: /src/openssl/test/sslapitest.c:7838,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:7842,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7843,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:7846,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:7846,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:7847,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/sslapitest.c:7847,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7848,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7849,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:7850,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:7854,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:7856,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:7856,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7861,1
    - Dst: get_MFL_from_client_hello
      Src: /src/openssl/test/sslapitest.c:7861,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7864,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7870,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7871,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - idx_tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7874
      start: 7826
    functionDepth: 5
    functionLinenumber: 7826
    functionLinenumberEnd: 7874
    functionName: test_max_fragment_len_ext
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - SSL_CTX_set_tlsext_max_fragment_length
    - SSL_CTX_free
    - SSL_free
    - BIO_free
    - TEST_int_le
    - SSL_new
    - TEST_ptr
    - BIO_s_mem
    - SSL_connect
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - get_MFL_from_client_hello
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int test_max_fragment_len_ext(int idx_tst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7883,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:7883,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:7883,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:7884,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7888,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:7888,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7889,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:7889,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7890,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:7890,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7891,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:7891,1
    - Dst: SSL_CTX_set_post_handshake_auth
      Src: /src/openssl/test/sslapitest.c:7894,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7896,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:7896,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7900,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7900,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/sslapitest.c:7904,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7905,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/sslapitest.c:7905,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7908,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:7908,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:7912,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/sslapitest.c:7912,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:7916,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:7916,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7920,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:7921,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7926,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:7927,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7928,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:7929,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7931
      start: 7877
    functionDepth: 1
    functionLinenumber: 7877
    functionLinenumberEnd: 7931
    functionName: test_pha_key_update
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_post_handshake_auth
    - create_ssl_connection
    - SSL_key_update
    - SSL_do_handshake
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - SSL_verify_client_post_handshake
    - TEST_int_eq
    - SSL_set_verify
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - SSL_shutdown
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_pha_key_update(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_srp_username
      Src: /src/openssl/test/sslapitest.c:7944,1
    - Dst: SRP_VBASE_get1_by_user
      Src: /src/openssl/test/sslapitest.c:7950,1
    - Dst: SSL_set_srp_server_param
      Src: /src/openssl/test/sslapitest.c:7956,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/test/sslapitest.c:7965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7967
      start: 7938
    functionDepth: 11
    functionLinenumber: 7938
    functionLinenumberEnd: 7967
    functionName: ssl_srp_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get_srp_username
    - SSL_set_srp_server_param
    - SRP_VBASE_get1_by_user
    - SRP_user_pwd_free
    linkageType: ''
    returnType: int
    signature: int ssl_srp_cb(SSL *s, int *ad, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/sslapitest.c:7972,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/sslapitest.c:7975,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7978,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7978,1
    - Dst: SRP_create_verifier_ex
      Src: /src/openssl/test/sslapitest.c:7981,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7983,1
    - Dst: TXT_DB_read
      Src: /src/openssl/test/sslapitest.c:7990,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7991,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:7994,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:7995,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/sslapitest.c:7998,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/sslapitest.c:7999,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/sslapitest.c:8000,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8002,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8003,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8004,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8005,1
    - Dst: TXT_DB_insert
      Src: /src/openssl/test/sslapitest.c:8005,1
    - Dst: TXT_DB_write
      Src: /src/openssl/test/sslapitest.c:8010,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:8017,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:8019,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:8020,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:8021,1
    - Dst: TXT_DB_free
      Src: /src/openssl/test/sslapitest.c:8022,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 3
    argNames:
    - userid
    - password
    - filename
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8025
      start: 7969
    functionDepth: 6
    functionLinenumber: 7969
    functionLinenumberEnd: 8025
    functionName: create_new_vfile
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - TXT_DB_read
    - SRP_create_verifier_ex
    - OPENSSL_calloc
    - BIO_free
    - TXT_DB_free
    - TXT_DB_insert
    - OPENSSL_free
    - TEST_ptr
    - OPENSSL_strdup
    - TEST_true
    - BIO_new_mem_buf
    - TXT_DB_write
    linkageType: ''
    returnType: int
    signature: int create_new_vfile(char *userid, char *password, const char *filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SRP_get_default_gN
      Src: /src/openssl/test/sslapitest.c:8034,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8035,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8038,1
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/openssl/test/sslapitest.c:8038,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sslapitest.c:8042,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8043,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/sslapitest.c:8048,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8049,1
    - Dst: sk_SRP_user_pwd_insert
      Src: /src/openssl/test/sslapitest.c:8056,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/test/sslapitest.c:8062,1
    - Dst: BN_free
      Src: /src/openssl/test/sslapitest.c:8063,1
    - Dst: BN_free
      Src: /src/openssl/test/sslapitest.c:8064,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - userid
    - password
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8067
      start: 8027
    functionDepth: 6
    functionLinenumber: 8027
    functionLinenumberEnd: 8067
    functionName: create_new_vbase
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - SRP_user_pwd_free
    - sk_SRP_user_pwd_insert
    - SRP_create_verifier_BN_ex
    - SRP_get_default_gN
    - OPENSSL_strdup
    - TEST_true
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int create_new_vbase(char *userid, char *password)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SRP_VBASE_new
      Src: /src/openssl/test/sslapitest.c:8087,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8088,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8092,1
    - Dst: create_new_vbase
      Src: /src/openssl/test/sslapitest.c:8092,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8096,1
    - Dst: create_new_vfile
      Src: /src/openssl/test/sslapitest.c:8096,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8102,1
    - Dst: SRP_VBASE_init
      Src: /src/openssl/test/sslapitest.c:8102,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8106,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8106,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8106,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8107,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:8111,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/openssl/test/sslapitest.c:8111,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8112,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:8112,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8113,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:8113,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8114,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:8114,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:8115,1
    - Dst: SSL_CTX_set_srp_username
      Src: /src/openssl/test/sslapitest.c:8115,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:8119,1
    - Dst: SSL_CTX_set_srp_password
      Src: /src/openssl/test/sslapitest.c:8119,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:8122,1
    - Dst: SSL_CTX_set_srp_password
      Src: /src/openssl/test/sslapitest.c:8122,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8126,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8126,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8130,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8132,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8135,1
    - Dst: SRP_VBASE_free
      Src: /src/openssl/test/sslapitest.c:8142,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8144,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8145,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8146,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8147,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8150
      start: 8080
    functionDepth: 8
    functionLinenumber: 8080
    functionLinenumberEnd: 8150
    functionName: test_srp
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SRP_VBASE_new
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SRP_VBASE_init
    - create_new_vbase
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set_srp_password
    - SSL_CTX_set_max_proto_version
    - SRP_VBASE_free
    - SSL_CTX_set_srp_username_callback
    - SSL_free
    - SSL_CTX_set_cipher_list
    - SSL_CTX_set_srp_username
    - TLS_client_method
    - TEST_int_eq
    - create_new_vfile
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_srp(int tst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8285,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8294,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:8294,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8295,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:8295,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:8296,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8302,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8307,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:8307,1
    - Dst: SSL_state_string
      Src: /src/openssl/test/sslapitest.c:8307,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/sslapitest.c:8317,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8321
      start: 8280
    functionDepth: 1
    functionLinenumber: 8280
    functionLinenumberEnd: 8321
    functionName: sslapi_info_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_int_ne
    - SSL_state_string
    - SSL_in_init
    - strcmp
    - TEST_false
    - TEST_int_eq
    - TEST_true
    - SSL_is_server
    linkageType: ''
    returnType: void
    signature: void sslapi_info_callback(const SSL *s, int where, int ret)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8372,1
    - Dst: setupearly_data_test
      Src: /src/openssl/test/sslapitest.c:8372,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:8378,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/sslapitest.c:8380,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/sslapitest.c:8384,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8385,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/test/sslapitest.c:8385,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:8385,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:8387,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:8387,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8390,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/test/sslapitest.c:8390,1
    - Dst: check_early_data_timeout
      Src: /src/openssl/test/sslapitest.c:8393,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:8397,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:8397,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8398,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:8398,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8400,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8400,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8402,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8410,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8410,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8410,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8411,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8416,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:8416,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/test/sslapitest.c:8423,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/test/sslapitest.c:8426,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8430,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8430,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8432,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8432,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8434,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:8439,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8440,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8441,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8442,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8443,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8447,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8447,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8449,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:8449,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8450,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8450,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8452,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:8452,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8453,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8459,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8460,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:8461,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8462,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8463,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 66
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8465
      start: 8335
    functionDepth: 3
    functionLinenumber: 8335
    functionLinenumberEnd: 8465
    functionName: test_info_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TLS_server_method
    - create_ssl_ctx_pair
    - strlen
    - SSL_CTX_free
    - SSL_get_early_data_status
    - SSL_CTX_set_dh_auto
    - ossl_time_now
    - create_ssl_objects
    - TEST_true
    - SSL_SESSION_free
    - SSL_free
    - SSL_write_early_data
    - check_early_data_timeout
    - SSL_CTX_compress_certs
    - TEST_size_t_eq
    - SSL_shutdown
    - TLS_client_method
    - setupearly_data_test
    - SSL_set_info_callback
    - SSL_read_early_data
    - TEST_false
    - TEST_int_eq
    - SSL_CTX_set_info_callback
    - SSL_get1_session
    - TEST_mem_eq
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_info_callback(int tst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8477,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8477,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8477,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8478,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8484,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8484,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:8484,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:8485,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8500,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:8500,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8501,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:8501,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8510,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8510,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8512,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8512,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8516,1
    - Dst: SSL_pending
      Src: /src/openssl/test/sslapitest.c:8516,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8517,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/sslapitest.c:8517,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8518,1
    - Dst: SSL_pending
      Src: /src/openssl/test/sslapitest.c:8518,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8519,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/sslapitest.c:8519,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8520,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:8520,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:8521,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8522,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:8522,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:8523,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8524,1
    - Dst: SSL_pending
      Src: /src/openssl/test/sslapitest.c:8524,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8525,1
    - Dst: SSL_has_pending
      Src: /src/openssl/test/sslapitest.c:8525,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8531,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8532,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8533,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8534,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 34
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8537
      start: 8467
    functionDepth: 1
    functionLinenumber: 8467
    functionLinenumberEnd: 8537
    functionName: test_ssl_pending
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_free
    - SSL_CTX_set_cipher_list
    - TEST_false
    - TEST_int_eq
    - SSL_pending
    - DTLS_client_method
    - TEST_size_t_eq
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - SSL_has_pending
    - create_ssl_ctx_pair
    - TLS_client_method
    - DTLS_server_method
    linkageType: ''
    returnType: int
    signature: int test_ssl_pending(int tst)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/sslapitest.c:8630,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8632,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:8643,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8643,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8644,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:8647,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8647,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8648,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8652,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8652,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8652,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8653,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8659,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:8659,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8662,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:8662,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8664,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:8664,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8667,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:8667,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8672,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8672,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8674,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8678,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/openssl/test/sslapitest.c:8678,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8679,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:8679,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:8684,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8691,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8692,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8693,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:8694,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/sslapitest.c:8695,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 2
    argNames:
    - tst
    - clnt
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8698
      start: 8624
    functionDepth: 4
    functionLinenumber: 8624
    functionLinenumberEnd: 8698
    functionName: int_test_ssl_get_shared_ciphers
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_free
    - OSSL_LIB_CTX_free
    - SSL_get_shared_ciphers
    - OSSL_LIB_CTX_new
    - SSL_CTX_set_cipher_list
    - TEST_int_eq
    - TEST_info
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - strcmp
    - TEST_ptr
    - TLS_client_method
    - SSL_CTX_set_ciphersuites
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: int int_test_ssl_get_shared_ciphers(int tst, int clnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int_test_ssl_get_shared_ciphers
      Src: /src/openssl/test/sslapitest.c:8702,1
    - Dst: int_test_ssl_get_shared_ciphers
      Src: /src/openssl/test/sslapitest.c:8703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8704
      start: 8700
    functionDepth: 5
    functionLinenumber: 8700
    functionLinenumberEnd: 8704
    functionName: test_ssl_get_shared_ciphers
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - int_test_ssl_get_shared_ciphers
    linkageType: ''
    returnType: int
    signature: int test_ssl_get_shared_ciphers(int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_set1_ticket_appdata
      Src: /src/openssl/test/sslapitest.c:8716,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:8716,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:8717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8718
      start: 8712
    functionDepth: 1
    functionLinenumber: 8712
    functionLinenumberEnd: 8718
    functionName: gen_tick_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_set1_ticket_appdata
    - strlen
    - SSL_get_session
    linkageType: ''
    returnType: int
    signature: int gen_tick_cb(SSL *s, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8734,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8738,1
    - Dst: SSL_SESSION_get0_ticket_appdata
      Src: /src/openssl/test/sslapitest.c:8738,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:8740,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:8740,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8741,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:8741,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - s
    - ss
    - keyname
    - keyname_length
    - status
    - arg
    argTypes:
    - SSL*
    - SSL_SESSION*
    - unsigned char*
    - size_t
    - SSL_TICKET_STATUS
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8762
      start: 8720
    functionDepth: 1
    functionLinenumber: 8720
    functionLinenumberEnd: 8762
    functionName: dec_tick_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memcmp
    - SSL_SESSION_get0_ticket_appdata
    - TEST_int_eq
    - TEST_true
    - TEST_size_t_eq
    - strlen
    linkageType: ''
    returnType: SSL_TICKET_RETURN
    signature: "SSL_TICKET_RETURN dec_tick_cb(SSL *s, SSL_SESSION *ss,\n                                     const
      unsigned char *keyname,\n                                     size_t keyname_length,\n
      \                                    SSL_TICKET_STATUS status,\n                                     void
      *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/sslapitest.c:8780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8781,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/sslapitest.c:8783,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8784,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/sslapitest.c:8785,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:8789,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:8790,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/sslapitest.c:8793,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/sslapitest.c:8794,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/sslapitest.c:8800,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/sslapitest.c:8801,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - s
    - key_name
    - iv
    - ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char[]
    - unsigned char[]
    - EVP_CIPHER_CTX*
    - HMAC_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8804
      start: 8765
    functionDepth: 12
    functionLinenumber: 8765
    functionLinenumberEnd: 8804
    functionName: tick_key_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - memset
    - EVP_MD_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - HMAC_Init_ex
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int tick_key_cb(SSL *s, unsigned char key_name[16],\n                       unsigned
      char iv[EVP_MAX_IV_LENGTH], EVP_CIPHER_CTX *ctx,\n                       HMAC_CTX
      *hctx, int enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/sslapitest.c:8822,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:8823,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:8826,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:8827,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/sslapitest.c:8828,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/sslapitest.c:8830,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/sslapitest.c:8832,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/sslapitest.c:8833,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/sslapitest.c:8839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - s
    - key_name
    - iv
    - ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char[]
    - unsigned char[]
    - EVP_CIPHER_CTX*
    - EVP_MAC_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8842
      start: 8807
    functionDepth: 5
    functionLinenumber: 8807
    functionLinenumberEnd: 8842
    functionName: tick_key_evp_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memset
    - OSSL_PARAM_construct_end
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int tick_key_evp_cb(SSL *s, unsigned char key_name[16],\n                           unsigned
      char iv[EVP_MAX_IV_LENGTH],\n                           EVP_CIPHER_CTX *ctx,
      EVP_MAC_CTX *hctx, int enc)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8924,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:8924,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:8924,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:8925,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8936,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:8936,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8939,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/sslapitest.c:8939,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8944,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/openssl/test/sslapitest.c:8944,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8948,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_cb
      Src: /src/openssl/test/sslapitest.c:8948,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8953,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8953,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8955,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8955,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8966,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8967,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:8972,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8973,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:8974,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8975,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:8976,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8980,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:8980,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8982,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:8982,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8983,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:8983,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:8990,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:8990,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:8993,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:8993,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:8997,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9003,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:9009,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9010,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9011,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9012,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9013,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 89
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9016
      start: 8867
    functionDepth: 1
    functionLinenumber: 8867
    functionLinenumberEnd: 9016
    functionName: test_ticket_callbacks
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_tlsext_ticket_key_cb
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_CTX_set_session_ticket_cb
    - SSL_CTX_free
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - SSL_free
    - SSL_SESSION_free
    - SSL_CTX_set_session_cache_mode
    - SSL_shutdown
    - TLS_client_method
    - TEST_false
    - TEST_int_eq
    - SSL_get1_session
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_ticket_callbacks(int tst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9035,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9035,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9035,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9036,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:9041,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9043,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9043,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9047,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9047,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:9051,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/sslapitest.c:9052,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9054,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:9054,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9057,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9057,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9059,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9059,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9065,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9066,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9067,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9068,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9071
      start: 9027
    functionDepth: 1
    functionLinenumber: 9027
    functionLinenumberEnd: 9071
    functionName: test_incorrect_shutdown
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_get_error
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_options
    - BIO_set_mem_eof_return
    - TEST_false
    - SSL_read
    - TEST_int_eq
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int test_incorrect_shutdown(int tst)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9105,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9105,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9105,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9106,1
    - Dst: SSL_CTX_set_post_handshake_auth
      Src: /src/openssl/test/sslapitest.c:9114,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9116,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9116,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9121,1
    - Dst: create_bare_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9121,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:9123,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9123,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9124,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:9124,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9126,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9126,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:9128,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9128,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9129,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:9129,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9133,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9133,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9141,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:9141,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9142,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9142,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9144,1
    - Dst: SSL_get_shutdown
      Src: /src/openssl/test/sslapitest.c:9144,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9150,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:9150,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9153,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:9153,1
    - Dst: SSL_set_verify
      Src: /src/openssl/test/sslapitest.c:9157,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9158,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/sslapitest.c:9158,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9162,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslapitest.c:9162,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9164,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9164,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9168,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:9168,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:9170,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9171,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:9171,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9172,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:9172,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:9174,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9175,1
    - Dst: memcmp
      Src: /src/openssl/test/sslapitest.c:9175,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9181,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:9181,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9190,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9190,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:9195,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:9195,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9196,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9196,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:9197,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9197,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9198,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:9198,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9199,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9199,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9207,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9207,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:9208,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:9208,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9209,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:9209,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9219,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9219,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9220,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9220,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9227,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9228,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9229,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9230,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 75
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9233
      start: 9086
    functionDepth: 1
    functionLinenumber: 9086
    functionLinenumberEnd: 9233
    functionName: test_shutdown
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 3
    functionsReached:
    - create_ssl_connection
    - SSL_key_update
    - TLS_server_method
    - SSL_get_session
    - create_ssl_ctx_pair
    - SSL_SESSION_is_resumable
    - SSL_verify_client_post_handshake
    - SSL_read_ex
    - SSL_get_error
    - SSL_write_ex
    - create_bare_ssl_connection
    - SSL_CTX_free
    - SSL_get_shutdown
    - SSL_set_verify
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set_post_handshake_auth
    - SSL_free
    - SSL_shutdown
    - TEST_size_t_eq
    - TLS_client_method
    - memcmp
    - TEST_ptr_ne
    - TEST_false
    - TEST_int_eq
    - SSL_write
    linkageType: ''
    returnType: int
    signature: int test_shutdown(int tst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:9244,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:9244,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9246,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9249,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9249,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9249,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9250,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9255,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9255,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9259,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9259,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9263,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9263,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:9266,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9267,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:9267,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:9271,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9275,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9276,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9276,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9280,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9280,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9281,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:9281,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:9284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9288,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9288,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9292,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9292,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9296,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:9296,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9301,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9302,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9303,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9304,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9305,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9306,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9309
      start: 9239
    functionDepth: 5
    functionLinenumber: 9239
    functionLinenumberEnd: 9309
    functionName: test_async_shutdown
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_up_ref
    - BIO_new
    - create_ssl_connection
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_CTX_free
    - SSL_free
    - BIO_free
    - TEST_int_eq
    - SSL_get_wbio
    - TLS_server_method
    - bio_s_always_retry
    - TEST_true
    - create_ssl_objects
    - TEST_ptr
    - TLS_client_method
    - SSL_shutdown
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: int test_async_shutdown(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:9317,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:9324,1
    - Dst: BIO_s_file
      Src: /src/openssl/test/sslapitest.c:9324,1
    - Dst: BIO_read_filename
      Src: /src/openssl/test/sslapitest.c:9325,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/sslapitest.c:9328,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/sslapitest.c:9329,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/sslapitest.c:9333,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/sslapitest.c:9335,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:9343,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9344,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:9345,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - file
    - pkey
    - x509
    - chain
    argTypes:
    - char*
    - EVP_PKEY**
    - X509**
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9347
      start: 9314
    functionDepth: 5
    functionLinenumber: 9314
    functionLinenumberEnd: 9347
    functionName: load_chain
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - BIO_read_filename
    - sk_X509_push
    - X509_free
    - OPENSSL_free
    - X509_new_ex
    - test_mk_file_path
    - BIO_s_file
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: "int load_chain(const char *file, EVP_PKEY **pkey, X509 **x509,\n                      STACK_OF(X509)
      *chain)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:9354,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9366,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/sslapitest.c:9366,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9369,1
    - Dst: SSL_use_certificate_file
      Src: /src/openssl/test/sslapitest.c:9369,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9370,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:9370,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9372,1
    - Dst: SSL_check_private_key
      Src: /src/openssl/test/sslapitest.c:9372,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/sslapitest.c:9379,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9380,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9381,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9381,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9382,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9382,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9383,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9383,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9385,1
    - Dst: load_chain
      Src: /src/openssl/test/sslapitest.c:9385,1
    - Dst: SSL_check_chain
      Src: /src/openssl/test/sslapitest.c:9388,1
    - Dst: SSL_use_cert_and_key
      Src: /src/openssl/test/sslapitest.c:9397,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:9406,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:9407,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:9408,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/sslapitest.c:9409,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9411
      start: 9349
    functionDepth: 4
    functionLinenumber: 9349
    functionLinenumberEnd: 9411
    functionName: cert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - SSL_check_chain
    - SSL_use_certificate_file
    - SSL_check_private_key
    - EVP_PKEY_free
    - X509_free
    - STACK_OF
    - load_chain
    - OSSL_STACK_OF_X509_free
    - SSL_set_SSL_CTX
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    - SSL_use_cert_and_key
    - SSL_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: int cert_cb(SSL *s, void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9435,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9435,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9435,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9436,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:9450,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9450,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9451,1
    - Dst: SSL_CTX_set_cert_cb
      Src: /src/openssl/test/sslapitest.c:9455,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9457,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9457,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9466,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:9466,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9474,1
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:9474,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9479,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9480,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9482,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9489,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9490,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9491,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9492,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9493,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 2
    argNames:
    - prot
    - tst
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9496
      start: 9423
    functionDepth: 1
    functionLinenumber: 9423
    functionLinenumberEnd: 9496
    functionName: test_cert_cb_int
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_free
    - TEST_int_eq
    - TEST_ptr
    - SSL_set1_sigalgs_list
    - TLS_server_method
    - SSL_CTX_set_cert_cb
    - TEST_true
    - create_ssl_objects
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int test_cert_cb_int(int prot, int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_cert_cb_int
      Src: /src/openssl/test/sslapitest.c:9504,1
    - Dst: test_cert_cb_int
      Src: /src/openssl/test/sslapitest.c:9507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9511
      start: 9499
    functionDepth: 2
    functionLinenumber: 9499
    functionLinenumberEnd: 9511
    functionName: test_cert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - test_cert_cb_int
    linkageType: ''
    returnType: int
    signature: int test_cert_cb(int tst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9521,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/test/sslapitest.c:9521,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:9524,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9528,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/sslapitest.c:9528,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9529,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/sslapitest.c:9529,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9530,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:9530,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9531,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/sslapitest.c:9531,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9539,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9540,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:9543,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9544,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:9545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - x509
    - pkey
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9547
      start: 9513
    functionDepth: 5
    functionLinenumber: 9513
    functionLinenumberEnd: 9547
    functionName: client_cert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - X509_free
    - X509_new_ex
    - TEST_ptr
    - SSL_get0_peer_certificate
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int client_cert_cb(SSL *ssl, X509 **x509, EVP_PKEY **pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9564,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9564,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9564,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9565,1
    - Dst: SSL_CTX_set_client_cert_cb
      Src: /src/openssl/test/sslapitest.c:9576,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:9577,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9581,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9581,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9583,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9583,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9590,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9591,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9592,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9596
      start: 9549
    functionDepth: 1
    functionLinenumber: 9549
    functionLinenumberEnd: 9596
    functionName: test_client_cert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_client_cert_cb
    - SSL_CTX_set_verify
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int test_client_cert_cb(int tst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslapitest.c:9614,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:9617,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/sslapitest.c:9618,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9619,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9620,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/sslapitest.c:9620,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9628,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9628,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9628,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9629,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:9635,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9638,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/test/sslapitest.c:9638,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9639,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:9639,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:9639,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9640,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:9640,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:9640,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9641,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/test/sslapitest.c:9641,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9642,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:9642,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:9642,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9643,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:9643,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:9643,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/openssl/test/sslapitest.c:9646,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/openssl/test/sslapitest.c:9647,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9651,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/test/sslapitest.c:9651,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9652,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:9652,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:9652,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9653,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:9653,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:9653,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9654,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/test/sslapitest.c:9654,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9655,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:9655,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:9655,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9656,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/test/sslapitest.c:9656,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/test/sslapitest.c:9656,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/openssl/test/sslapitest.c:9659,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/openssl/test/sslapitest.c:9660,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9664,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9664,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9666,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9666,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/test/sslapitest.c:9674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9677,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9678,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/sslapitest.c:9678,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9679,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/sslapitest.c:9679,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/sslapitest.c:9679,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9681,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/sslapitest.c:9681,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/sslapitest.c:9681,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9684,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/test/sslapitest.c:9693,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9694,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9695,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/sslapitest.c:9695,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9696,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/sslapitest.c:9696,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/sslapitest.c:9696,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9698,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/sslapitest.c:9698,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/sslapitest.c:9698,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9705,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9706,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9707,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9708,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:9709,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/sslapitest.c:9710,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/sslapitest.c:9711,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/sslapitest.c:9712,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 58
    argCount: 2
    argNames:
    - prot
    - tst
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9715
      start: 9606
    functionDepth: 2
    functionLinenumber: 9606
    functionLinenumberEnd: 9715
    functionName: test_ca_names_int
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - X509_NAME_add_entry_by_txt
    - SSL_CTX_set_verify
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - X509_NAME_free
    - SSL_CTX_free
    - X509_NAME_dup
    - create_ssl_objects
    - TEST_true
    - X509_NAME_new
    - SSL_free
    - sk_X509_NAME_value
    - STACK_OF
    - sk_X509_NAME_pop_free
    - TLS_client_method
    - sk_X509_NAME_new_null
    - TEST_ptr_null
    - SSL_CTX_set0_CA_list
    - SSL_CTX_set_client_CA_list
    - TEST_int_eq
    - X509_NAME_cmp
    - OSSL_NELEM
    - sk_X509_NAME_num
    - sk_X509_NAME_push
    - SSL_get0_peer_CA_list
    linkageType: ''
    returnType: int
    signature: int test_ca_names_int(int prot, int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ca_names_int
      Src: /src/openssl/test/sslapitest.c:9723,1
    - Dst: test_ca_names_int
      Src: /src/openssl/test/sslapitest.c:9726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9730
      start: 9718
    functionDepth: 3
    functionLinenumber: 9718
    functionLinenumberEnd: 9730
    functionName: test_ca_names
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - test_ca_names_int
    linkageType: ''
    returnType: int
    signature: int test_ca_names(int tst)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9754,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9755,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/sslapitest.c:9776,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:9778,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/sslapitest.c:9781,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/sslapitest.c:9784,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9786,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9786,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9791,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/test/sslapitest.c:9791,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9794,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9794,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/sslapitest.c:9799,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9800,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:9800,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9803,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9803,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9806,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:9806,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:9807,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9812,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:9812,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:9817,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9822,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:9823,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9824,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9825,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - test_index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9828
      start: 9744
    functionDepth: 8
    functionLinenumber: 9744
    functionLinenumberEnd: 9828
    functionName: test_multiblock_write
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_max_send_fragment
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_write_ex
    - EVP_CIPHER_free
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - SSL_CTX_set_cipher_list
    - TEST_skip
    - EVP_CIPHER_fetch
    - TEST_size_t_eq
    - TLS_client_method
    - RAND_bytes
    - SSL_set_options
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_multiblock_write(int test_index)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/sslapitest.c:9844,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9847,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:9847,1
    - Dst: TLS_method
      Src: /src/openssl/test/sslapitest.c:9847,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9848,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/sslapitest.c:9848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9849,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/sslapitest.c:9849,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9850,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/sslapitest.c:9850,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:9855,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:9857,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:9859,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9861,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:9861,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9862,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:9862,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9863,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:9863,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9867,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9868,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9869,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:9872,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:9872,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:9873,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:9873,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:9874,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:9874,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:9877,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:9877,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:9878,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:9878,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslapitest.c:9879,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:9879,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9883,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9884,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9885,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:9889,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:9890,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:9891,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:9892,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/test/sslapitest.c:9896,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9897,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9898,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9899,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/test/sslapitest.c:9903,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9904,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9905,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9906,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/test/sslapitest.c:9910,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9911,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9912,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9913,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9917,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:9917,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9918,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:9918,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9919,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:9919,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9923,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9924,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:9925,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/test/sslapitest.c:9929,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9930,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9931,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:9932,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:9935,1
    - Dst: SSL_CTX_get_session_cache_mode
      Src: /src/openssl/test/sslapitest.c:9936,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:9940,1
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/test/sslapitest.c:9940,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:9941,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/sslapitest.c:9941,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/sslapitest.c:9942,1
    - Dst: SSL_SESSION_get_time_ex
      Src: /src/openssl/test/sslapitest.c:9942,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:9947,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:9948,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:9949,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:9950,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 63
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9952
      start: 9831
    functionDepth: 1
    functionLinenumber: 9831
    functionLinenumberEnd: 9952
    functionName: test_session_timeout
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_set_timeout
    - SSL_SESSION_get_time_ex
    - TEST_ptr
    - SSL_SESSION_new
    - SSL_CTX_free
    - SSL_CTX_add_session
    - TEST_time_t_ne
    - SSL_CTX_flush_sessions_ex
    - time
    - TLS_method
    - SSL_CTX_new_ex
    - TEST_int_ne
    - SSL_SESSION_free
    - SSL_CTX_set_session_cache_mode
    - SSL_SESSION_set_time_ex
    - SSL_CTX_get_session_cache_mode
    - memset
    - TEST_ptr_null
    - TEST_int_eq
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_session_timeout(int test)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:9972,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:9977,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9980,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:9980,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:9980,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:9981,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9985,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:9985,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/openssl/test/sslapitest.c:9988,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/test/sslapitest.c:9991,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9993,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:9993,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:9997,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:9997,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:10001,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10002,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10009,1
    - Dst: SSL_SESSION_set_timeout
      Src: /src/openssl/test/sslapitest.c:10009,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10016,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10017,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10018,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10019,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10027,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10027,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10031,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10031,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:10038,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10039,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:10041,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10042,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10045,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10046,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10047,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10048,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10051,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10051,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10055,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:10055,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10058,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10058,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10064,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10065,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10066,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10067,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:10068,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10071
      start: 9962
    functionDepth: 1
    functionLinenumber: 9962
    functionLinenumberEnd: 10071
    functionName: test_session_cache_overflow
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_SESSION_set_timeout
    - SSL_CTX_sess_set_cache_size
    - TLS_server_method
    - SSL_get_session
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SSL_CTX_set_options
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_sess_set_get_cb
    - SSL_free
    - SSL_SESSION_free
    - TEST_skip
    - SSL_shutdown
    - TLS_client_method
    - SSL_get1_session
    - SSL_set_session
    linkageType: ''
    returnType: int
    signature: int test_session_cache_overflow(int idx)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10103,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10103,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10103,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10104,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10109,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10109,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10114,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:10114,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10120,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:10120,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10125,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10125,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10128,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10128,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10130,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10130,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10137,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10137,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:10138,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:10138,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10139,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/test/sslapitest.c:10139,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10140,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:10140,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10143,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10144,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10147,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10147,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10151,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:10151,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10157,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:10157,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10166,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10166,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10178,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10178,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10183,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/sslapitest.c:10183,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10197,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10197,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10203,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10203,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10206,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:10206,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10207,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:10207,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10208,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10208,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10211,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/sslapitest.c:10211,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:10219,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10220,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10221,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10222,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10223,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 79
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10226
      start: 10086
    functionDepth: 1
    functionLinenumber: 10086
    functionLinenumberEnd: 10226
    functionName: test_servername
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_tlsext_servername_callback
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_SESSION_is_resumable
    - SSL_CTX_free
    - SSL_set_tlsext_host_name
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - SSL_SESSION_free
    - TEST_str_eq
    - SSL_get_servername
    - SSL_shutdown
    - TLS_client_method
    - TEST_ptr_ne
    - TEST_int_eq
    - SSL_get1_session
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_servername(int tst)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10233,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:10233,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10233,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10236,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10236,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10240,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10241,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10242,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10245,1
    - Dst: SSL_CTX_set1_client_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10245,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10249,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10250,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10251,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:10254,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10254,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10259,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10259,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:10265,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10265,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10270,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10270,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10274,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10276,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10282,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10284
      start: 10228
    functionDepth: 1
    functionLinenumber: 10228
    functionLinenumberEnd: 10284
    functionName: test_unknown_sigalgs_groups
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set1_sigalgs_list
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - TEST_int_le
    - TEST_int_eq
    - TLS_server_method
    - SSL_CTX_set1_client_sigalgs_list
    - TEST_size_t_eq
    - TEST_ptr
    - SSL_CTX_set1_groups_list
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_unknown_sigalgs_groups(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10293,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:10293,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10293,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:10297,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10298,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10298,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10299,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10302,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10302,1
    - Dst: defined
      Src: /src/openssl/test/sslapitest.c:10303,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10304,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10306,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10312,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10312,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:10313,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10314,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10322,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10324
      start: 10287
    functionDepth: 1
    functionLinenumber: 10287
    functionLinenumberEnd: 10324
    functionName: test_configuration_of_groups
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - TEST_int_eq
    - TLS_server_method
    - defined
    - TEST_size_t_eq
    - TEST_ptr
    - SSL_CTX_set1_groups_list
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_configuration_of_groups(void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/sslapitest.c:10344,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10350,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10354,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/sslapitest.c:10354,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:10358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10359,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10369,1
    - Dst: filter_provider_set_filter
      Src: /src/openssl/test/sslapitest.c:10369,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10373,1
    - Dst: filter_provider_set_filter
      Src: /src/openssl/test/sslapitest.c:10373,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10376,1
    - Dst: filter_provider_set_filter
      Src: /src/openssl/test/sslapitest.c:10376,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10378,1
    - Dst: filter_provider_set_filter
      Src: /src/openssl/test/sslapitest.c:10378,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:10391,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10391,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:10392,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10392,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10393,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10393,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10397,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10397,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10399,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10399,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10405,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10405,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10405,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10406,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10413,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10413,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10413,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10414,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10423,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:10423,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10427,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:10427,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10433,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10436,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10441,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/test/sslapitest.c:10442,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10449,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/sslapitest.c:10449,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10451,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:10451,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10454,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:10454,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10457,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10457,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10461,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10461,1
    - Dst: SSL_get_shared_sigalgs
      Src: /src/openssl/test/sslapitest.c:10465,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10485,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10486,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10487,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10488,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/test/sslapitest.c:10488,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10489,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10490,1
    - Dst: filter_provider_check_clean_finish
      Src: /src/openssl/test/sslapitest.c:10493,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10496,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10497,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10498,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10499,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:10500,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/sslapitest.c:10501,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 100
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10504
      start: 10339
    functionDepth: 4
    functionLinenumber: 10339
    functionLinenumberEnd: 10504
    functionName: test_sigalgs_available
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - OSSL_PROVIDER_unload
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_set1_sigalgs_list
    - SSL_get_shared_sigalgs
    - filter_provider_check_clean_finish
    - SSL_CTX_free
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set1_groups_list
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_new_ex
    - SSL_free
    - TEST_str_eq
    - SSL_CTX_set_cipher_list
    - TLS_client_method
    - OSSL_PROVIDER_add_builtin
    - OSSL_LIB_CTX_free
    - SSL_CTX_use_certificate_file
    - TEST_int_eq
    - SSL_CTX_check_private_key
    - SSL_get0_peer_signature_name
    - filter_provider_set_filter
    linkageType: ''
    returnType: int
    signature: int test_sigalgs_available(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:10517,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:10519,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10522,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10525,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10525,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10525,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10526,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10530,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10530,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10535,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10535,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10537,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10537,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10540,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10540,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10543,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/test/sslapitest.c:10544,1
    - Dst: SSL_get_shared_group
      Src: /src/openssl/test/sslapitest.c:10544,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10547,1
    - Dst: SSL_get0_group_name
      Src: /src/openssl/test/sslapitest.c:10547,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10548,1
    - Dst: SSL_get0_group_name
      Src: /src/openssl/test/sslapitest.c:10548,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10554,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10555,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10556,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10557,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:10558,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:10559,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10562
      start: 10512
    functionDepth: 4
    functionLinenumber: 10512
    functionLinenumberEnd: 10562
    functionName: test_pluggable_group
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_get0_group_name
    - SSL_CTX_free
    - SSL_free
    - TEST_str_eq
    - SSL_get_shared_group
    - SSL_set1_groups_list
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - TEST_ptr
    - TLS_client_method
    - create_ssl_ctx_pair
    - SSL_group_to_name
    linkageType: ''
    returnType: int
    signature: int test_pluggable_group(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/sslapitest.c:10571,1
    - Dst: X509_new
      Src: /src/openssl/test/sslapitest.c:10574,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10579,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10580,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/sslapitest.c:10580,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10581,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/sslapitest.c:10581,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10582,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10583,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10584,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/sslapitest.c:10584,1
    - Dst: X509_get_serialNumber
      Src: /src/openssl/test/sslapitest.c:10584,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10585,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/test/sslapitest.c:10585,1
    - Dst: X509_getm_notBefore
      Src: /src/openssl/test/sslapitest.c:10585,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10586,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/test/sslapitest.c:10586,1
    - Dst: X509_getm_notAfter
      Src: /src/openssl/test/sslapitest.c:10586,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10587,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/test/sslapitest.c:10587,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10588,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/sslapitest.c:10588,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10589,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/sslapitest.c:10589,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10591,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/sslapitest.c:10591,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10593,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/openssl/test/sslapitest.c:10593,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10595,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/test/sslapitest.c:10595,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10596,1
    - Dst: X509_sign
      Src: /src/openssl/test/sslapitest.c:10596,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/sslapitest.c:10596,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10597,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:10597,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10598,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/test/sslapitest.c:10598,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10599,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/sslapitest.c:10599,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10600,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/test/sslapitest.c:10600,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:10603,1
    - Dst: X509_free
      Src: /src/openssl/test/sslapitest.c:10604,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/sslapitest.c:10605,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:10606,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:10607,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 9
    argCount: 3
    argNames:
    - idx
    - certfilename
    - privkeyfilename
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10609
      start: 10569
    functionDepth: 7
    functionLinenumber: 10569
    functionLinenumberEnd: 10609
    functionName: create_cert_key
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - X509_new
    - PEM_write_bio_X509
    - X509_NAME_add_entry_by_txt
    - X509_free
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - X509_getm_notAfter
    - EVP_PKEY_free
    - X509_get_serialNumber
    - ASN1_INTEGER_set
    - EVP_PKEY_CTX_free
    - X509_set_issuer_name
    - TEST_true
    - X509_gmtime_adj
    - X509_sign
    - BIO_new_file
    - X509_getm_notBefore
    - BIO_free
    - PEM_write_bio_PrivateKey
    - X509_set_pubkey
    - X509_get_subject_name
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_sha1
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int create_cert_key(int idx, char *certfilename, char *privkeyfilename)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:10627,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:10628,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10645,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10646,1
    - Dst: create_cert_key
      Src: /src/openssl/test/sslapitest.c:10646,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10649,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10649,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10649,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10650,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/sslapitest.c:10657,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10659,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:10661,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/test/sslapitest.c:10666,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10667,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/test/sslapitest.c:10667,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:10668,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/test/sslapitest.c:10668,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10669,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/test/sslapitest.c:10669,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:10670,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:10673,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10675,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/sslapitest.c:10675,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10677,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/sslapitest.c:10677,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10682,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/sslapitest.c:10682,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10685,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10685,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10691,1
    - Dst: SSL_set1_server_cert_type
      Src: /src/openssl/test/sslapitest.c:10691,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10692,1
    - Dst: SSL_set1_server_cert_type
      Src: /src/openssl/test/sslapitest.c:10692,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10697,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10697,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10698,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/sslapitest.c:10698,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10706,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10706,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sslapitest.c:10710,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/sslapitest.c:10710,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10713,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/test/sslapitest.c:10713,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:10714,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10715,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10721,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10722,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10723,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10724,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:10725,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:10726,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 62
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10729
      start: 10621
    functionDepth: 8
    functionLinenumber: 10621
    functionLinenumberEnd: 10729
    functionName: test_pluggable_signature
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_cert_key
    - create_ssl_connection
    - SSL_CONF_CTX_set_flags
    - OSSL_PROVIDER_unload
    - SSL_CONF_CTX_new
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SSL_CONF_CTX_finish
    - SSL_CONF_cmd
    - OSSL_PROVIDER_load
    - TEST_long_eq
    - create_ssl_objects
    - TEST_true
    - SSL_set1_server_cert_type
    - SSL_CTX_use_PrivateKey_file
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_get_verify_result
    - SSL_free
    - TEST_str_eq
    - SSL_set1_groups_list
    - TLS_client_method
    - SSL_CTX_use_certificate_file
    - TEST_int_eq
    - SSL_CTX_check_private_key
    - SSL_get0_peer_signature_name
    - SSL_CONF_CTX_free
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_pluggable_signature(int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10740,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10740,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10740,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10741,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10747,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10747,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10751,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:10751,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10752,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:10752,1
    - Dst: SSL_dup
      Src: /src/openssl/test/sslapitest.c:10755,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:10756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10757,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10758,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:10758,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/sslapitest.c:10760,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:10763,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10764,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10764,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:10764,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:10766,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10769,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/sslapitest.c:10771,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10774,1
    - Dst: SSL_get_min_proto_version
      Src: /src/openssl/test/sslapitest.c:10774,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10775,1
    - Dst: SSL_get_max_proto_version
      Src: /src/openssl/test/sslapitest.c:10775,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10778,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10778,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10781,1
    - Dst: SSL_dup
      Src: /src/openssl/test/sslapitest.c:10782,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10783,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:10785,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10791,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10792,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10793,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10794,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10795,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10798
      start: 10733
    functionDepth: 2
    functionLinenumber: 10733
    functionLinenumberEnd: 10798
    functionName: test_ssl_dup
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_set_min_proto_version
    - SSL_set0_rbio
    - SSL_set_max_proto_version
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_set0_wbio
    - SSL_CTX_free
    - TEST_ptr_eq
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - SSL_get_min_proto_version
    - TLS_client_method
    - BIO_up_ref
    - TEST_ptr_ne
    - SSL_dup
    - TEST_int_eq
    - SSL_get_max_proto_version
    - SSL_get_wbio
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int test_ssl_dup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - s
    - secretin
    - secret_len
    - peer_ciphers
    - cipher
    - arg
    argTypes:
    - SSL*
    - void*
    - int*
    - STACK_OF*
    - SSL_CIPHER**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10814
      start: 10800
    functionDepth: 0
    functionLinenumber: 10800
    functionLinenumberEnd: 10814
    functionName: secret_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int secret_cb(SSL *s, void *secretin, int *secret_len,\n                     STACK_OF(SSL_CIPHER)
      *peer_ciphers,\n                     const SSL_CIPHER **cipher, void *arg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10826,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:10826,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:10826,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:10827,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10834,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10834,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10839,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:10839,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10840,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:10840,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10843,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10843,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10846,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:10846,1
    - Dst: shutdown_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10849,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10853,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:10853,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10861,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/openssl/test/sslapitest.c:10861,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10864,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:10864,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10865,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:10865,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10866,1
    - Dst: SSL_set_session_secret_cb
      Src: /src/openssl/test/sslapitest.c:10866,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10868,1
    - Dst: SSL_set_session_secret_cb
      Src: /src/openssl/test/sslapitest.c:10868,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10870,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:10870,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10873,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:10873,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:10879,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10880,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:10881,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10882,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:10883,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10886
      start: 10819
    functionDepth: 1
    functionLinenumber: 10819
    functionLinenumberEnd: 10886
    functionName: test_session_secret_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_SESSION_set1_id
    - SSL_set_min_proto_version
    - shutdown_ssl_connection
    - SSL_SESSION_free
    - SSL_free
    - SSL_set_session_secret_cb
    - TEST_ptr
    - SSL_set_max_proto_version
    - create_ssl_objects
    - TLS_server_method
    - TEST_true
    - SSL_get1_session
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_set_session
    linkageType: ''
    returnType: int
    signature: int test_session_secret_cb(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_get_rfc3526_prime_2048
      Src: /src/openssl/test/sslapitest.c:10902,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10903,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/sslapitest.c:10906,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10907,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10908,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/sslapitest.c:10908,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/sslapitest.c:10911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10912,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10913,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/sslapitest.c:10913,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:10916,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/openssl/test/sslapitest.c:10916,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/sslapitest.c:10921,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10922,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:10923,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/sslapitest.c:10923,1
    - Dst: BN_free
      Src: /src/openssl/test/sslapitest.c:10930,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/sslapitest.c:10931,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/sslapitest.c:10932,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/sslapitest.c:10933,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/sslapitest.c:10936,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10940
      start: 10893
    functionDepth: 6
    functionLinenumber: 10893
    functionLinenumberEnd: 10940
    functionName: get_tmp_dh_params
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - BN_get_rfc3526_prime_2048
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_CTX_free
    - EVP_PKEY_up_ref
    - OSSL_PARAM_BLD_push_uint
    - TEST_true
    - TEST_ptr
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_tmp_dh_params(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_tmp_dh_params
      Src: /src/openssl/test/sslapitest.c:10946,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:10949,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/openssl/test/sslapitest.c:10958,1
    - Dst: DH_free
      Src: /src/openssl/test/sslapitest.c:10959,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:10961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - is_export
    - keylen
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10964
      start: 10944
    functionDepth: 7
    functionLinenumber: 10944
    functionLinenumberEnd: 10964
    functionName: tmp_dh_callback
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get1_DH
    - EVP_PKEY_free
    - get_tmp_dh_params
    - DH_free
    - TEST_ptr
    linkageType: ''
    returnType: DH
    signature: DH *tmp_dh_callback(SSL *s, int is_export, int keylen)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: get_tmp_dh_params
      Src: /src/openssl/test/sslapitest.c:11001,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11002,1
    - Dst: EVP_PKEY_get1_DH
      Src: /src/openssl/test/sslapitest.c:11007,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11008,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11013,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11013,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11013,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11014,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11021,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:11021,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11026,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/test/sslapitest.c:11026,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11032,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/openssl/test/sslapitest.c:11032,1
    - Dst: SSL_CTX_set_tmp_dh_callback
      Src: /src/openssl/test/sslapitest.c:11035,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11039,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11039,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11044,1
    - Dst: SSL_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:11044,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11048,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/openssl/test/sslapitest.c:11048,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11054,1
    - Dst: SSL_set_tmp_dh
      Src: /src/openssl/test/sslapitest.c:11054,1
    - Dst: SSL_set_tmp_dh_callback
      Src: /src/openssl/test/sslapitest.c:11057,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11061,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:11061,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11062,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:11062,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11063,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11063,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11070,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11070,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11080,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11081,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11082,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11083,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:11084,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 70
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11087
      start: 10984
    functionDepth: 7
    functionLinenumber: 10984
    functionLinenumberEnd: 11087
    functionName: test_set_tmp_dh
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_set_min_proto_version
    - SSL_set_tmp_dh
    - SSL_set_max_proto_version
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SSL_set_tmp_dh_callback
    - EVP_PKEY_get1_DH
    - EVP_PKEY_free
    - SSL_CTX_set_dh_auto
    - create_ssl_objects
    - TEST_true
    - SSL_set_dh_auto
    - SSL_CTX_set_tmp_dh
    - SSL_CTX_set_tmp_dh_callback
    - SSL_free
    - SSL_CTX_set0_tmp_dh_pkey
    - TLS_client_method
    - SSL_set0_tmp_dh_pkey
    - TEST_int_eq
    - get_tmp_dh_params
    - SSL_set_cipher_list
    linkageType: ''
    returnType: int
    signature: int test_set_tmp_dh(int idx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11094,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11094,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11095,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11095,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11103,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11103,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:11116,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/test/sslapitest.c:11117,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:11155,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11159,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11159,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11166,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11166,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11170,1
    - Dst: SSL_set_dh_auto
      Src: /src/openssl/test/sslapitest.c:11170,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11171,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/sslapitest.c:11171,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11172,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslapitest.c:11172,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11173,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11173,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11174,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11174,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:11182,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:11182,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:11183,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:11183,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:11186,1
    - Dst: SSL_get_tmp_key
      Src: /src/openssl/test/sslapitest.c:11186,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:11188,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/sslapitest.c:11188,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11191,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11191,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11197,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11198,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11199,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11200,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:11201,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 85
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11205
      start: 11092
    functionDepth: 4
    functionLinenumber: 11092
    functionLinenumberEnd: 11205
    functionName: test_dh_auto
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_set_min_proto_version
    - TEST_int_le
    - SSL_set_max_proto_version
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - EVP_PKEY_free
    - create_ssl_objects
    - TEST_true
    - SSL_set_dh_auto
    - TEST_error
    - SSL_CTX_new_ex
    - SSL_free
    - EVP_PKEY_get_bits
    - SSL_get_tmp_key
    - TEST_size_t_eq
    - TLS_client_method
    - SSL_CTX_set_security_level
    - SSL_connect
    - SSL_accept
    - SSL_set_cipher_list
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_dh_auto(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11225,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11225,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11226,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11229,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11229,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11229,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11230,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11235,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:11235,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11236,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/sslapitest.c:11236,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11243,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11243,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11245,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11245,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11250,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11256,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11257,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11258,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11259,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11260,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11262
      start: 11215
    functionDepth: 1
    functionLinenumber: 11215
    functionLinenumberEnd: 11262
    functionName: test_sni_tls13
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_free
    - TEST_int_eq
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_CTX_set_tlsext_servername_arg
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - TEST_ptr
    - TLS_client_method
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: int test_sni_tls13(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:11281,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11287,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11287,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11287,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11288,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11292,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11292,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/sslapitest.c:11300,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/openssl/test/sslapitest.c:11300,1
    - Dst: SSL_get_default_timeout
      Src: /src/openssl/test/sslapitest.c:11301,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11304,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11304,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/sslapitest.c:11309,1
    - Dst: SSL_SESSION_get_ticket_lifetime_hint
      Src: /src/openssl/test/sslapitest.c:11309,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:11309,1
    - Dst: TEST_ulong_le
      Src: /src/openssl/test/sslapitest.c:11313,1
    - Dst: SSL_SESSION_get_ticket_lifetime_hint
      Src: /src/openssl/test/sslapitest.c:11313,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/sslapitest.c:11313,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11319,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11320,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11321,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11322,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11324
      start: 11269
    functionDepth: 1
    functionLinenumber: 11269
    functionLinenumberEnd: 11324
    functionName: test_ticket_lifetime
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_ulong_le
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_get_default_timeout
    - SSL_free
    - SSL_SESSION_get_ticket_lifetime_hint
    - TEST_ulong_eq
    - TEST_skip
    - TEST_long_eq
    - SSL_CTX_set_timeout
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - SSL_get_session
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int test_ticket_lifetime(int idx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11343,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11343,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11344,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11348,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11348,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11350,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11350,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11352,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11352,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11354,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11354,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11356,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11356,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11358,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11358,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11360,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11360,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11362,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11362,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11364,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11364,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:11367,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11368,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11371,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11371,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11373,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11373,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11375,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11375,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11377,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11377,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11379,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11379,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11381,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11381,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11383,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11383,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11385,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11385,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11387,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:11387,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11393,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11394,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11396
      start: 11329
    functionDepth: 1
    functionLinenumber: 11329
    functionLinenumberEnd: 11396
    functionName: test_set_alpn
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_alpn_protos
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_set_alpn_protos
    - TEST_false
    - SSL_new
    - TLS_server_method
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_set_alpn(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11410,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11410,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11410,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11410,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11415,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:11415,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11418,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:11418,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11421,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11421,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11424,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11424,1
    - Dst: SSL_get0_ec_point_formats
      Src: /src/openssl/test/sslapitest.c:11428,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11429,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11431,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11432,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11433,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11439,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11440,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11441,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11442,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11444
      start: 11402
    functionDepth: 1
    functionLinenumber: 11402
    functionLinenumberEnd: 11444
    functionName: test_legacy_ec_point_formats
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - SSL_CTX_set_options
    - TEST_int_eq
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_get0_ec_point_formats
    linkageType: ''
    returnType: int
    signature: int test_legacy_ec_point_formats(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11458,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11458,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11459,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11463,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11463,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11467,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11467,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:11471,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:11471,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/sslapitest.c:11475,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11476,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/sslapitest.c:11479,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11480,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11484,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11484,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11487,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11487,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11491,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11491,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11494,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11494,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:11497,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:11497,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11501,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11501,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11504,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11504,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11508,1
    - Dst: SSL_CTX_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11508,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11511,1
    - Dst: SSL_CTX_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11511,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:11514,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:11514,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/sslapitest.c:11520,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/sslapitest.c:11521,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11522,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11524
      start: 11450
    functionDepth: 4
    functionLinenumber: 11450
    functionLinenumberEnd: 11524
    functionName: test_set_verify_cert_store_ssl_ctx
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get0_verify_cert_store
    - SSL_CTX_get0_chain_cert_store
    - X509_STORE_new
    - SSL_CTX_set1_chain_cert_store
    - SSL_CTX_free
    - TEST_ptr_null
    - SSL_CTX_new_ex
    - SSL_CTX_set1_verify_cert_store
    - X509_STORE_free
    - TLS_server_method
    - TEST_true
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_set_verify_cert_store_ssl_ctx(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11538,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11538,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11539,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:11543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11544,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11548,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11548,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11552,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11552,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:11556,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:11556,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/sslapitest.c:11560,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11561,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/sslapitest.c:11564,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11565,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11569,1
    - Dst: SSL_set1_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11569,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11572,1
    - Dst: SSL_set1_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11572,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11576,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11576,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11579,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11579,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:11582,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:11582,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11586,1
    - Dst: SSL_set1_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11586,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11589,1
    - Dst: SSL_set1_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11589,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11593,1
    - Dst: SSL_get0_verify_cert_store
      Src: /src/openssl/test/sslapitest.c:11593,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11596,1
    - Dst: SSL_get0_chain_cert_store
      Src: /src/openssl/test/sslapitest.c:11596,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:11599,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:11599,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/sslapitest.c:11605,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/sslapitest.c:11606,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11607,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11608,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11610
      start: 11529
    functionDepth: 4
    functionLinenumber: 11529
    functionLinenumberEnd: 11610
    functionName: test_set_verify_cert_store_ssl
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - SSL_CTX_free
    - TEST_ptr_null
    - SSL_CTX_new_ex
    - SSL_free
    - X509_STORE_free
    - SSL_set1_chain_cert_store
    - SSL_set1_verify_cert_store
    - SSL_new
    - TLS_server_method
    - TEST_true
    - TEST_ptr
    - TEST_ptr_eq
    - SSL_get0_chain_cert_store
    - SSL_get0_verify_cert_store
    linkageType: ''
    returnType: int
    signature: int test_set_verify_cert_store_ssl(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11623,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11623,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11624,1
    - Dst: SSL_CTX_get0_param
      Src: /src/openssl/test/sslapitest.c:11627,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11628,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11630,1
    - Dst: X509_VERIFY_PARAM_get_hostflags
      Src: /src/openssl/test/sslapitest.c:11630,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/openssl/test/sslapitest.c:11633,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslapitest.c:11635,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11636,1
    - Dst: SSL_get0_param
      Src: /src/openssl/test/sslapitest.c:11639,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11640,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11642,1
    - Dst: X509_VERIFY_PARAM_get_hostflags
      Src: /src/openssl/test/sslapitest.c:11642,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11648,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11649,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11652
      start: 11613
    functionDepth: 1
    functionLinenumber: 11613
    functionLinenumberEnd: 11652
    functionName: test_inherit_verify_param
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_get0_param
    - SSL_CTX_free
    - SSL_CTX_get0_param
    - SSL_CTX_new_ex
    - SSL_free
    - X509_VERIFY_PARAM_set_hostflags
    - TEST_int_eq
    - SSL_new
    - TLS_server_method
    - X509_VERIFY_PARAM_get_hostflags
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_inherit_verify_param(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11665,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/sslapitest.c:11665,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11665,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11666,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/sslapitest.c:11666,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/test/sslapitest.c:11669,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/sslapitest.c:11670,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11675,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/test/sslapitest.c:11675,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/test/sslapitest.c:11680,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11681,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:11685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11687
      start: 11654
    functionDepth: 1
    functionLinenumber: 11654
    functionLinenumberEnd: 11687
    functionName: test_load_dhfile
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_CONF_CTX_set_flags
    - TEST_int_eq
    - SSL_CONF_cmd
    - TEST_skip
    - SSL_CONF_CTX_new
    - SSL_CONF_CTX_free
    - TEST_ptr
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int test_load_dhfile(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11701,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11701,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11701,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11702,1
    - Dst: SSL_CTX_set_read_ahead
      Src: /src/openssl/test/sslapitest.c:11706,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11708,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11708,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11712,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11712,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11716,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:11716,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:11716,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:11717,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:11717,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11720,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/sslapitest.c:11720,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11723,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:11723,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:11723,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:11724,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:11724,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11735,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:11735,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11740,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11747,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11748,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11749,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11750,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11752
      start: 11691
    functionDepth: 1
    functionLinenumber: 11691
    functionLinenumberEnd: 11752
    functionName: test_read_ahead_key_change
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - create_ssl_connection
    - SSL_key_update
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_free
    - TEST_str_eq
    - SSL_CTX_set_read_ahead
    - strlen
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - TEST_size_t_eq
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int test_read_ahead_key_change(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - s
    - type
    - len
    - arg
    argTypes:
    - SSL*
    - int
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11780
      start: 11754
    functionDepth: 0
    functionLinenumber: 11754
    functionLinenumberEnd: 11780
    functionName: record_pad_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t record_pad_cb(SSL *s, int type, size_t len, void *arg)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11802,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11802,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11802,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11803,1
    - Dst: SSL_CTX_set_record_padding_callback
      Src: /src/openssl/test/sslapitest.c:11808,1
    - Dst: SSL_CTX_set_record_padding_callback_arg
      Src: /src/openssl/test/sslapitest.c:11809,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:11810,1
    - Dst: SSL_CTX_get_record_padding_callback_arg
      Src: /src/openssl/test/sslapitest.c:11810,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11814,1
    - Dst: SSL_CTX_set_block_padding
      Src: /src/openssl/test/sslapitest.c:11814,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11817,1
    - Dst: SSL_CTX_set_block_padding
      Src: /src/openssl/test/sslapitest.c:11817,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11821,1
    - Dst: SSL_CTX_set_block_padding_ex
      Src: /src/openssl/test/sslapitest.c:11821,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11825,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11825,1
    - Dst: SSL_set_record_padding_callback
      Src: /src/openssl/test/sslapitest.c:11830,1
    - Dst: SSL_set_record_padding_callback_arg
      Src: /src/openssl/test/sslapitest.c:11831,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/sslapitest.c:11832,1
    - Dst: SSL_get_record_padding_callback_arg
      Src: /src/openssl/test/sslapitest.c:11832,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11836,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/sslapitest.c:11836,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11839,1
    - Dst: SSL_set_block_padding
      Src: /src/openssl/test/sslapitest.c:11839,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11843,1
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/test/sslapitest.c:11843,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11847,1
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/test/sslapitest.c:11847,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11849,1
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/test/sslapitest.c:11849,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11853,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:11853,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11865,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:11865,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:11865,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:11866,1
    - Dst: strlen
      Src: /src/openssl/test/sslapitest.c:11866,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11869,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:11869,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:11871,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:11875,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:11879,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11884,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:11885,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11886,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:11887,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 80
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11889
      start: 11791
    functionDepth: 1
    functionLinenumber: 11791
    functionLinenumberEnd: 11889
    functionName: test_tls13_record_padding
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_block_padding_ex
    - SSL_set_record_padding_callback
    - TLS_server_method
    - create_ssl_ctx_pair
    - strlen
    - SSL_set_block_padding
    - SSL_read_ex
    - SSL_set_block_padding_ex
    - SSL_write_ex
    - SSL_CTX_free
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set_record_padding_callback_arg
    - SSL_free
    - TEST_str_eq
    - SSL_set_record_padding_callback_arg
    - TEST_size_t_eq
    - TLS_client_method
    - SSL_CTX_set_block_padding
    - SSL_get_record_padding_callback_arg
    - SSL_CTX_set_record_padding_callback
    - TEST_false
    - TEST_int_eq
    - SSL_CTX_get_record_padding_callback_arg
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_tls13_record_padding(int idx)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: load_dasync
      Src: /src/openssl/test/sslapitest.c:11925,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11930,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:11930,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:11930,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:11931,1
    - Dst: load_dasync
      Src: /src/openssl/test/sslapitest.c:11937,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11944,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:11944,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11948,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:11948,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:11966,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11967,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/sslapitest.c:11969,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/sslapitest.c:11969,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/sslapitest.c:11981,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:11982,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:11990,1
    - Dst: SSL_set_split_send_fragment
      Src: /src/openssl/test/sslapitest.c:11990,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:11999,1
    - Dst: SSL_set_max_pipelines
      Src: /src/openssl/test/sslapitest.c:11999,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12000,1
    - Dst: SSL_set_split_send_fragment
      Src: /src/openssl/test/sslapitest.c:12000,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12003,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12003,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12007,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:12007,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:12008,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12023,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:12023,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:12030,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12031,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12043,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:12043,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:12044,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12055,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:12055,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:12056,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12062,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:12062,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:12066,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:12070,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12075,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12076,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12077,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12078,1
    - Dst: ENGINE_unregister_ciphers
      Src: /src/openssl/test/sslapitest.c:12080,1
    - Dst: ENGINE_finish
      Src: /src/openssl/test/sslapitest.c:12081,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/sslapitest.c:12082,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:12084,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:12086,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 115
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12088
      start: 11911
    functionDepth: 7
    functionLinenumber: 11911
    functionLinenumberEnd: 12088
    functionName: test_pipelining
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - OPENSSL_free
    - ENGINE_finish
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_write_ex
    - ENGINE_free
    - SSL_set_max_pipelines
    - create_ssl_objects
    - SSL_set_split_send_fragment
    - TEST_true
    - OPENSSL_malloc
    - SSL_free
    - TEST_size_t_eq
    - TLS_client_method
    - load_dasync
    - TEST_size_t_le
    - ENGINE_unregister_ciphers
    - TEST_false
    - TEST_int_eq
    - SSL_set_cipher_list
    - TEST_mem_eq
    - RAND_bytes_ex
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_pipelining(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12118,1
    - Dst: SSL_get_version
      Src: /src/openssl/test/sslapitest.c:12118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - s
    - version
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12119
      start: 12091
    functionDepth: 1
    functionLinenumber: 12091
    functionLinenumberEnd: 12119
    functionName: check_version_string
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - SSL_get_version
    linkageType: ''
    returnType: int
    signature: int check_version_string(SSL *s, int version)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12132,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12133,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12172,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12180,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:12186,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:12187,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12191,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12191,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12195,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:12195,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12196,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslapitest.c:12196,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12200,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12200,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12204,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12204,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12207,1
    - Dst: SSL_version
      Src: /src/openssl/test/sslapitest.c:12207,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12208,1
    - Dst: SSL_version
      Src: /src/openssl/test/sslapitest.c:12208,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12209,1
    - Dst: check_version_string
      Src: /src/openssl/test/sslapitest.c:12209,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12210,1
    - Dst: check_version_string
      Src: /src/openssl/test/sslapitest.c:12210,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12214,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/sslapitest.c:12214,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12215,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/sslapitest.c:12215,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12216,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/sslapitest.c:12216,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12217,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/sslapitest.c:12217,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12218,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/sslapitest.c:12218,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12219,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/sslapitest.c:12219,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12222,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/sslapitest.c:12222,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12223,1
    - Dst: SSL_is_tls
      Src: /src/openssl/test/sslapitest.c:12223,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12224,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/sslapitest.c:12224,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12225,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/sslapitest.c:12225,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12226,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/sslapitest.c:12226,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12227,1
    - Dst: SSL_is_quic
      Src: /src/openssl/test/sslapitest.c:12227,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12233,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12234,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12235,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12236,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 64
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12238
      start: 12127
    functionDepth: 2
    functionLinenumber: 12127
    functionLinenumberEnd: 12238
    functionName: test_version
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - check_version_string
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SSL_is_dtls
    - DTLS_client_method
    - create_ssl_objects
    - TEST_true
    - SSL_is_tls
    - SSL_free
    - SSL_CTX_set_cipher_list
    - SSL_version
    - TEST_skip
    - SSL_is_quic
    - TLS_client_method
    - DTLS_server_method
    - TEST_false
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_version(int idx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12248,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12249,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12260,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12260,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12264,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12264,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12268,1
    - Dst: SSL_rstate_string
      Src: /src/openssl/test/sslapitest.c:12268,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12269,1
    - Dst: SSL_rstate_string_long
      Src: /src/openssl/test/sslapitest.c:12269,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12272,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12272,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12275,1
    - Dst: SSL_rstate_string
      Src: /src/openssl/test/sslapitest.c:12275,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12276,1
    - Dst: SSL_rstate_string_long
      Src: /src/openssl/test/sslapitest.c:12276,1
    - Dst: SSL_version
      Src: /src/openssl/test/sslapitest.c:12280,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12289,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslapitest.c:12289,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslapitest.c:12289,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:12291,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12294,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:12294,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12297,1
    - Dst: SSL_rstate_string
      Src: /src/openssl/test/sslapitest.c:12297,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/sslapitest.c:12298,1
    - Dst: SSL_rstate_string_long
      Src: /src/openssl/test/sslapitest.c:12298,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12303,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12304,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12305,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12306,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12308
      start: 12243
    functionDepth: 4
    functionLinenumber: 12243
    functionLinenumberEnd: 12308
    functionName: test_rstate_string
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - create_ssl_connection
    - SSL_CTX_free
    - SSL_free
    - SSL_rstate_string
    - TEST_str_eq
    - BIO_write_ex
    - TEST_false
    - SSL_version
    - SSL_rstate_string_long
    - create_ssl_objects
    - TLS_server_method
    - TEST_true
    - TEST_size_t_eq
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int test_rstate_string(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:12332,1
    - Dst: bio_s_always_retry
      Src: /src/openssl/test/sslapitest.c:12332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12335,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12343,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12346,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12346,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12346,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12347,1
    - Dst: ssl_ctx_add_large_cert_chain
      Src: /src/openssl/test/sslapitest.c:12355,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/sslapitest.c:12363,1
    - Dst: set_always_retry_err_val
      Src: /src/openssl/test/sslapitest.c:12366,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12368,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12368,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:12372,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12373,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12373,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:12373,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:12377,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12380,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:12380,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12383,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:12383,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12384,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:12384,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:12388,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12391,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12391,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12396,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12397,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12398,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12399,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:12400,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:12401,1
    - Dst: set_always_retry_err_val
      Src: /src/openssl/test/sslapitest.c:12402,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12404
      start: 12327
    functionDepth: 5
    functionLinenumber: 12327
    functionLinenumberEnd: 12404
    functionName: test_handshake_retry
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_set_verify
    - TLS_server_method
    - set_always_retry_err_val
    - TEST_ptr
    - create_ssl_ctx_pair
    - BIO_new
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_CTX_free
    - create_ssl_objects
    - TEST_true
    - ssl_ctx_add_large_cert_chain
    - SSL_free
    - BIO_free
    - TEST_skip
    - TLS_client_method
    - BIO_up_ref
    - TEST_int_eq
    - SSL_accept
    - SSL_connect
    - SSL_get_wbio
    - bio_s_always_retry
    linkageType: ''
    returnType: int
    signature: int test_handshake_retry(int idx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/sslapitest.c:12417,1
    - Dst: bio_s_maybe_retry
      Src: /src/openssl/test/sslapitest.c:12417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12420,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:12425,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12427,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12427,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12427,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12428,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12432,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12432,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12436,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12436,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12440,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/sslapitest.c:12440,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/sslapitest.c:12443,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12444,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12446,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:12446,1
    - Dst: BIO_push
      Src: /src/openssl/test/sslapitest.c:12448,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/sslapitest.c:12450,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/sslapitest.c:12451,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12458,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:12458,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12460,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:12460,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12464,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/sslapitest.c:12464,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12475,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:12475,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12477,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:12477,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12482,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslapitest.c:12482,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslapitest.c:12485,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:12488,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12493,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12494,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12495,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12496,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/sslapitest.c:12497,1
    - Dst: BIO_free
      Src: /src/openssl/test/sslapitest.c:12498,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12500
      start: 12409
    functionDepth: 5
    functionLinenumber: 12409
    functionLinenumberEnd: 12500
    functionName: test_data_retry
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_read_ex
    - BIO_new
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_write_ex
    - SSL_CTX_free
    - bio_s_maybe_retry
    - BIO_ctrl
    - BIO_free_all
    - BIO_push
    - create_ssl_objects
    - TEST_true
    - SSL_free
    - BIO_free
    - SSL_set_max_send_fragment
    - TLS_client_method
    - BIO_up_ref
    - memset
    - TEST_false
    - TEST_int_eq
    - SSL_get_wbio
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_data_retry(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12528,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12528,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12530,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:12530,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/sslapitest.c:12533,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12538,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12538,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/sslapitest.c:12539,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/sslapitest.c:12542,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12546,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12547,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12550
      start: 12514
    functionDepth: 1
    functionLinenumber: 12514
    functionLinenumberEnd: 12550
    functionName: resume_servername_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_free
    - ERR_pop_to_mark
    - TEST_false
    - ERR_set_mark
    - create_ssl_objects
    - TEST_true
    - ERR_clear_last_mark
    - SSL_set_session
    linkageType: ''
    returnType: int
    signature: int resume_servername_cb(SSL *s, int *ad, void *arg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12570,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:12577,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12580,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12580,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12580,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12581,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12591,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:12591,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:12595,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/test/sslapitest.c:12597,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:12600,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/sslapitest.c:12601,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12608,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12608,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12610,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:12610,1
    - Dst: SSL_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:12630,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12632,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12632,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12636,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:12636,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12639,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/sslapitest.c:12639,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:12642,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:12648,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:12648,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:12652,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:12653,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12654,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12655,1
    - Dst: TEST_long_le
      Src: /src/openssl/test/sslapitest.c:12660,1
    - Dst: SSL_CTX_sess_number
      Src: /src/openssl/test/sslapitest.c:12660,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12665,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12666,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12667,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12668,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:12669,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 73
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12671
      start: 12559
    functionDepth: 1
    functionLinenumber: 12559
    functionLinenumberEnd: 12671
    functionName: test_multi_resume
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_sess_number
    - SSL_CTX_sess_set_cache_size
    - SSL_CTX_set_tlsext_servername_callback
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - SSL_CTX_set_max_early_data
    - SSL_CTX_free
    - SSL_CTX_set_options
    - TEST_long_le
    - create_ssl_objects
    - TEST_true
    - SSL_SESSION_free
    - SSL_free
    - TEST_skip
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_shutdown
    - TLS_client_method
    - TEST_false
    - SSL_set_max_early_data
    - SSL_get1_session
    - SSL_set_session
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int test_multi_resume(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:12791,1
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/sslapitest.c:12791,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sslapitest.c:12797,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/sslapitest.c:12797,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:12800,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12807
      start: 12768
    functionDepth: 1
    functionLinenumber: 12768
    functionLinenumberEnd: 12807
    functionName: test_select_next_proto
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_uchar_eq
    - TEST_ptr_null
    - TEST_int_eq
    - SSL_select_next_proto
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_select_next_proto(int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - ssl
    - out
    - outlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12833
      start: 12813
    functionDepth: 0
    functionLinenumber: 12813
    functionLinenumberEnd: 12833
    functionName: npn_advert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int npn_advert_cb(SSL *ssl, const unsigned char **out,\n                         unsigned
      int *outlen, void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12860
      start: 12835
    functionDepth: 0
    functionLinenumber: 12835
    functionLinenumberEnd: 12860
    functionName: npn_select_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int npn_select_cb(SSL *s, unsigned char **out, unsigned char *outlen,\n
      \                        const unsigned char *in, unsigned int inlen, void *arg)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12876,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12876,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12876,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12877,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/openssl/test/sslapitest.c:12881,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/openssl/test/sslapitest.c:12882,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12884,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12884,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12890,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12890,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12897,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12897,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/test/sslapitest.c:12901,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:12905,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:12909,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:12913,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:12917,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12924,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:12925,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12926,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:12927,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12930
      start: 12870
    functionDepth: 1
    functionLinenumber: 12870
    functionLinenumberEnd: 12930
    functionName: test_npn
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TEST_mem_eq
    - SSL_CTX_free
    - SSL_CTX_set_next_protos_advertised_cb
    - SSL_free
    - TEST_false
    - SSL_get0_next_proto_negotiated
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - TEST_error
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_uint_eq
    - SSL_CTX_set_next_proto_select_cb
    linkageType: ''
    returnType: int
    signature: int test_npn(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12959
      start: 12933
    functionDepth: 0
    functionLinenumber: 12933
    functionLinenumberEnd: 12959
    functionName: alpn_select_cb2
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int alpn_select_cb2(SSL *ssl, const unsigned char **out,\n                           unsigned
      char *outlen, const unsigned char *in,\n                           unsigned
      int inlen, void *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12976,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:12976,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:12976,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:12977,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/sslapitest.c:12981,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:12983,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:12983,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12993,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/sslapitest.c:12993,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:12998,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:12998,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13005,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13005,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/test/sslapitest.c:13009,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13012,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/sslapitest.c:13016,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13020,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13027,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13028,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13029,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13030,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13033
      start: 12968
    functionDepth: 1
    functionLinenumber: 12968
    functionLinenumberEnd: 13033
    functionName: test_alpn
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TEST_mem_eq
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - SSL_free
    - SSL_set_alpn_protos
    - TEST_false
    - SSL_get0_alpn_selected
    - TLS_server_method
    - create_ssl_objects
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    - TEST_uint_eq
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_alpn(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_app_data
      Src: /src/openssl/test/sslapitest.c:13061,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/sslapitest.c:13062,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13068
      start: 13056
    functionDepth: 1
    functionLinenumber: 13056
    functionLinenumberEnd: 13068
    functionName: check_app_data
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_is_server
    - TEST_true
    - SSL_get_app_data
    linkageType: ''
    returnType: int
    signature: int check_app_data(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_app_data
      Src: /src/openssl/test/sslapitest.c:13078,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:13091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - s
    - buf
    - buf_len
    - consumed
    - arg
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13097
      start: 13070
    functionDepth: 2
    functionLinenumber: 13070
    functionLinenumberEnd: 13097
    functionName: crypto_send_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - check_app_data
    linkageType: ''
    returnType: int
    signature: "int crypto_send_cb(SSL *s, const unsigned char *buf, size_t buf_len,\n
      \                         size_t *consumed, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_app_data
      Src: /src/openssl/test/sslapitest.c:13103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - s
    - buf
    - bytes_read
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13111
      start: 13098
    functionDepth: 2
    functionLinenumber: 13098
    functionLinenumberEnd: 13111
    functionName: crypto_recv_rcd_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - check_app_data
    linkageType: ''
    returnType: int
    signature: "int crypto_recv_rcd_cb(SSL *s, const unsigned char **buf,\n                              size_t
      *bytes_read, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_app_data
      Src: /src/openssl/test/sslapitest.c:13117,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslapitest.c:13129,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslapitest.c:13130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - s
    - bytes_read
    - arg
    argTypes:
    - SSL*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13137
      start: 13113
    functionDepth: 2
    functionLinenumber: 13113
    functionLinenumberEnd: 13137
    functionName: crypto_release_rcd_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - TEST_size_t_gt
    - check_app_data
    linkageType: ''
    returnType: int
    signature: int crypto_release_rcd_cb(SSL *s, size_t bytes_read, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:13167,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:13171,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslapitest.c:13201,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13203,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13214,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13225
      start: 13159
    functionDepth: 1
    functionLinenumber: 13159
    functionLinenumberEnd: 13225
    functionName: check_secret_history
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int check_secret_history(SSL *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_app_data
      Src: /src/openssl/test/sslapitest.c:13233,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:13242,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:13245,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:13250,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:13253,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 6
    argNames:
    - s
    - prot_level
    - direction
    - secret
    - secret_len
    - arg
    argTypes:
    - SSL*
    - uint32_t
    - int
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13271
      start: 13227
    functionDepth: 2
    functionLinenumber: 13227
    functionLinenumberEnd: 13271
    functionName: yield_secret_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TEST_size_t_le
    - check_app_data
    linkageType: ''
    returnType: int
    signature: "int yield_secret_cb(SSL *s, uint32_t prot_level, int direction,\n
      \                          const unsigned char *secret, size_t secret_len,\n
      \                          void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - s
    - prot_level
    - direction
    - secret
    - secret_len
    - arg
    argTypes:
    - SSL*
    - uint32_t
    - int
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13287
      start: 13273
    functionDepth: 0
    functionLinenumber: 13273
    functionLinenumberEnd: 13287
    functionName: yield_secret_cb_fail
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int yield_secret_cb_fail(SSL *s, uint32_t prot_level, int direction,\n
      \                               const unsigned char *secret, size_t secret_len,\n
      \                               void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_app_data
      Src: /src/openssl/test/sslapitest.c:13295,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/sslapitest.c:13300,1
    - Dst: memcpy
      Src: /src/openssl/test/sslapitest.c:13305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - s
    - params
    - params_len
    - arg
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13309
      start: 13289
    functionDepth: 2
    functionLinenumber: 13289
    functionLinenumberEnd: 13309
    functionName: got_transport_params_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TEST_size_t_le
    - check_app_data
    linkageType: ''
    returnType: int
    signature: "int got_transport_params_cb(SSL *s, const unsigned char *params,\n
      \                                  size_t params_len,\n                                   void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_app_data
      Src: /src/openssl/test/sslapitest.c:13315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - alert_code
    - arg
    argTypes:
    - SSL*
    - unsigned char
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13322
      start: 13311
    functionDepth: 2
    functionLinenumber: 13311
    functionLinenumberEnd: 13322
    functionName: alert_cb
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - check_app_data
    linkageType: ''
    returnType: int
    signature: int alert_cb(SSL *s, unsigned char alert_code, void *arg)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:13363,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:13365,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:13366,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13372,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13372,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13372,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13373,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13378,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13378,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13378,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13384,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/sslapitest.c:13384,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13385,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/sslapitest.c:13385,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13389,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13389,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:13394,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:13395,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13398,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:13398,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13399,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/test/sslapitest.c:13399,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13403,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/sslapitest.c:13403,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13404,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/sslapitest.c:13404,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13407,1
    - Dst: SSL_set_quic_tls_cbs
      Src: /src/openssl/test/sslapitest.c:13407,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13408,1
    - Dst: SSL_set_quic_tls_cbs
      Src: /src/openssl/test/sslapitest.c:13408,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13409,1
    - Dst: SSL_set_quic_tls_transport_params
      Src: /src/openssl/test/sslapitest.c:13409,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13411,1
    - Dst: SSL_set_quic_tls_transport_params
      Src: /src/openssl/test/sslapitest.c:13411,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13416,1
    - Dst: create_ssl_connection_ex
      Src: /src/openssl/test/sslapitest.c:13416,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13421,1
    - Dst: create_ssl_connection_ex
      Src: /src/openssl/test/sslapitest.c:13421,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13431,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13436,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13437,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13438,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13439,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13446,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13454,1
    - Dst: check_secret_history
      Src: /src/openssl/test/sslapitest.c:13454,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13456,1
    - Dst: check_secret_history
      Src: /src/openssl/test/sslapitest.c:13456,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13460,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13461,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13466,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13467,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13468,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13469,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13474,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13475,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13476,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13477,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13478,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13481,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13481,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 88
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13485
      start: 13332
    functionDepth: 2
    functionLinenumber: 13332
    functionLinenumberEnd: 13485
    functionName: test_quic_tls
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - SSL_set_quic_tls_cbs
    - SSL_CTX_set_tlsext_servername_callback
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_CTX_free
    - SSL_set_quic_tls_transport_params
    - create_ssl_connection_ex
    - create_ssl_objects
    - TEST_true
    - SSL_set_bio
    - SSL_set_ciphersuites
    - SSL_free
    - SSL_CTX_set_tlsext_servername_arg
    - check_secret_history
    - SSL_set_app_data
    - TLS_client_method
    - memset
    - TEST_false
    - TEST_int_eq
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_quic_tls(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - msglen
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13494
      start: 13487
    functionDepth: 0
    functionLinenumber: 13487
    functionLinenumberEnd: 13494
    functionName: assert_no_end_of_early_data
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void assert_no_end_of_early_data(int write_p, int version, int content_type,\n
      \                                       const void *buf, size_t msglen, SSL
      *ssl, void *arg)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:13524,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:13526,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:13527,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13532,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13532,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13532,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13533,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:13537,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/test/sslapitest.c:13538,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13540,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13540,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13544,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13544,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/sslapitest.c:13547,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:13548,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/sslapitest.c:13549,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13550,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13551,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13554,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13554,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13556,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/sslapitest.c:13556,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:13560,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/sslapitest.c:13561,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13563,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/sslapitest.c:13563,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13564,1
    - Dst: SSL_set_app_data
      Src: /src/openssl/test/sslapitest.c:13564,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13567,1
    - Dst: SSL_set_quic_tls_cbs
      Src: /src/openssl/test/sslapitest.c:13567,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13568,1
    - Dst: SSL_set_quic_tls_cbs
      Src: /src/openssl/test/sslapitest.c:13568,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13569,1
    - Dst: SSL_set_quic_tls_transport_params
      Src: /src/openssl/test/sslapitest.c:13569,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13571,1
    - Dst: SSL_set_quic_tls_transport_params
      Src: /src/openssl/test/sslapitest.c:13571,1
    - Dst: memset
      Src: /src/openssl/test/sslapitest.c:13578,1
    - Dst: SSL_set_quic_tls_early_data_enabled
      Src: /src/openssl/test/sslapitest.c:13581,1
    - Dst: SSL_set_quic_tls_early_data_enabled
      Src: /src/openssl/test/sslapitest.c:13582,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/sslapitest.c:13584,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/sslapitest.c:13585,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13587,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:13587,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13588,1
    - Dst: SSL_accept
      Src: /src/openssl/test/sslapitest.c:13588,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13589,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/test/sslapitest.c:13589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13590,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:13590,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13591,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:13591,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13595,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13596,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13597,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13598,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13603,1
    - Dst: create_ssl_connection_ex
      Src: /src/openssl/test/sslapitest.c:13603,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13608,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13609,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13610,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13611,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13618,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13623,1
    - Dst: check_secret_history
      Src: /src/openssl/test/sslapitest.c:13623,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13625,1
    - Dst: check_secret_history
      Src: /src/openssl/test/sslapitest.c:13625,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13629,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslapitest.c:13630,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13635,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13636,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13637,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13638,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13642,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:13647,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:13648,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/sslapitest.c:13649,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13651,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13652,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13653,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13654,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13657
      start: 13496
    functionDepth: 2
    functionLinenumber: 13496
    functionLinenumberEnd: 13657
    functionName: test_quic_tls_early_data
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_set_quic_tls_cbs
    - SSL_set_session
    - SSL_set_msg_callback
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_CTX_set_max_early_data
    - SSL_get_error
    - SSL_CTX_free
    - SSL_set_quic_tls_transport_params
    - SSL_get_early_data_status
    - create_ssl_connection_ex
    - create_ssl_objects
    - TEST_true
    - SSL_set_bio
    - SSL_free
    - SSL_SESSION_free
    - check_secret_history
    - SSL_set_app_data
    - SSL_shutdown
    - TLS_client_method
    - memset
    - TEST_false
    - TEST_int_eq
    - SSL_accept
    - SSL_connect
    - SSL_get1_session
    - TEST_mem_eq
    - SSL_set_quic_tls_early_data_enabled
    linkageType: ''
    returnType: int
    signature: int test_quic_tls_early_data(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslapitest.c:13672,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslapitest.c:13673,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:13675,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/sslapitest.c:13680,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/sslapitest.c:13681,1
    - Dst: TEST_skip
      Src: /src/openssl/test/sslapitest.c:13683,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13686,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslapitest.c:13686,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/sslapitest.c:13690,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13692,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslapitest.c:13692,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13696,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslapitest.c:13696,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13699,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/test/sslapitest.c:13699,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:13700,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:13700,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13701,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:13701,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:13709,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslapitest.c:13709,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13711,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:13711,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/sslapitest.c:13718,1
    - Dst: SSL_connect
      Src: /src/openssl/test/sslapitest.c:13718,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13719,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslapitest.c:13719,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslapitest.c:13720,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslapitest.c:13720,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/sslapitest.c:13720,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13725,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslapitest.c:13726,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13727,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslapitest.c:13728,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13731
      start: 13660
    functionDepth: 2
    functionLinenumber: 13660
    functionLinenumberEnd: 13731
    functionName: test_no_renegotiation
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TEST_int_le
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_get_error
    - SSL_CTX_free
    - SSL_CTX_set_options
    - SSL_read
    - DTLS_client_method
    - create_ssl_objects
    - TEST_true
    - ERR_get_error
    - SSL_free
    - TEST_skip
    - SSL_renegotiate
    - TLS_client_method
    - DTLS_server_method
    - TEST_int_eq
    - ERR_GET_REASON
    - SSL_connect
    linkageType: ''
    returnType: int
    signature: int test_no_renegotiation(int idx)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/sslapitest.c:13740,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13741,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:13744,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13750,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/sslapitest.c:13750,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13751,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/sslapitest.c:13751,1
    - Dst: test_skip_common_options
      Src: /src/openssl/test/sslapitest.c:13754,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13755,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13759,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:13759,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13760,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:13760,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13761,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:13761,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13762,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:13762,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13763,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:13763,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslapitest.c:13764,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslapitest.c:13764,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13767,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/sslapitest.c:13767,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13771,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/sslapitest.c:13771,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:13775,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslapitest.c:13776,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/sslapitest.c:13776,1
    - Dst: strcmp
      Src: /src/openssl/test/sslapitest.c:13779,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/sslapitest.c:13785,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/sslapitest.c:13789,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/sslapitest.c:13791,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/sslapitest.c:13792,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:13793,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslapitest.c:13801,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/sslapitest.c:13801,1
    - Dst: getenv
      Src: /src/openssl/test/sslapitest.c:13806,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslapitest.c:13808,1
    - Dst: test_export_key_mat
      Src: /src/openssl/test/sslapitest.c:13814,1
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/sslapitest.c:13815,1
    - Dst: test_printf_stdout
      Src: /src/openssl/test/sslapitest.c:13816,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13822,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13826,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13830,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13834,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13838,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13842,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13846,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13850,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13854,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13858,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13862,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/sslapitest.c:13866,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13872,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13878,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13879,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13882,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13883,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13885,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13887,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13888,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13890,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13892,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13895,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13896,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13897,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13898,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13900,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13901,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13902,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13903,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13905,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13906,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13907,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13908,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13909,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13911,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13911,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13912,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13915,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13917,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13918,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13919,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13921,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13922,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13923,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13926,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13931,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13932,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13932,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13933,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13933,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13934,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13934,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13935,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13935,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13936,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13937,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13938,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13939,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13941,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13945,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13946,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13947,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13949,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13951,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13954,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13958,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13960,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13961,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13962,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13966,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13968,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13969,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13970,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13972,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13974,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13976,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13977,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13978,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13979,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13980,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13981,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13983,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13984,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13984,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13986,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13990,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13992,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13994,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13995,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:13995,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13996,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13997,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:13998,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:13999,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14000,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14001,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14002,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14004,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:14004,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14006,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14007,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14009,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14013,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14016,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14017,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14020,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14021,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14023,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14024,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14028,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14029,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14031,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14032,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14034,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14036,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14037,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14038,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14040,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14042,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14044,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14045,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14048,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14051,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14053,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14054,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14055,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14056,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14057,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14058,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/sslapitest.c:14058,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14060,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14062,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14064,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sslapitest.c:14065,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslapitest.c:14067,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14071,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14072,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14073,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14074,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 212
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14076
      start: 13735
    functionDepth: 10
    functionLinenumber: 13735
    functionLinenumberEnd: 14076
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    - OPENSSL_free
    - strcmp
    - TEST_ptr
    - getenv
    - OSSL_PROVIDER_get_params
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_new
    - test_printf_stdout
    - OSSL_PROVIDER_load
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_error
    - CRYPTO_get_alloc_counts
    - test_mk_file_path
    - test_skip_common_options
    - test_get_argument
    - OSSL_PROVIDER_add_builtin
    - ADD_ALL_TESTS
    - OSSL_LIB_CTX_load_config
    - TEST_false
    - ADD_TEST
    - OSSL_PARAM_construct_int
    - OSSL_NELEM
    - test_export_key_mat
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/sslapitest.c:14081,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14083,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14084,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14085,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14086,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14087,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14088,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14089,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14090,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14091,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14092,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14093,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslapitest.c:14094,1
    - Dst: bio_s_mempacket_test_free
      Src: /src/openssl/test/sslapitest.c:14095,1
    - Dst: bio_s_always_retry_free
      Src: /src/openssl/test/sslapitest.c:14096,1
    - Dst: bio_s_maybe_retry_free
      Src: /src/openssl/test/sslapitest.c:14097,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/sslapitest.c:14098,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/sslapitest.c:14099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14100
      start: 14078
    functionDepth: 4
    functionLinenumber: 14078
    functionLinenumberEnd: 14100
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/sslapitest.c
    functionUses: 7
    functionsReached:
    - bio_s_mempacket_test_free
    - bio_s_maybe_retry_free
    - bio_s_always_retry_free
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    - OSSL_PROVIDER_unload
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:42,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sm2_internal_test.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - num
    - name
    - EVP_RAND_CTX *ctx
    argTypes:
    - unsigned char*
    - size_t
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: get_faked_bytes
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_size_t_gt
    linkageType: ''
    returnType: int
    signature: "int get_faked_bytes(unsigned char *buf, size_t num,\n                           ossl_unused
      const char *name,\n                           ossl_unused EVP_RAND_CTX *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sm2_internal_test.c:56,1
    - Dst: strlen
      Src: /src/openssl/test/sm2_internal_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:59,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/sm2_internal_test.c:59,1
    - Dst: fake_rand_set_public_private_callbacks
      Src: /src/openssl/test/sm2_internal_test.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex_bytes
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: start_fake_rand
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - fake_rand_set_public_private_callbacks
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - TEST_ptr
    - strlen
    linkageType: ''
    returnType: int
    signature: int start_fake_rand(const char *hex_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_set_public_private_callbacks
      Src: /src/openssl/test/sm2_internal_test.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sm2_internal_test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: restore_rand
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - fake_rand_set_public_private_callbacks
    linkageType: ''
    returnType: void
    signature: void restore_rand(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:92,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:92,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:93,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:93,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:94,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:94,1
    - Dst: EC_GROUP_new_curve_GFp
      Src: /src/openssl/test/sm2_internal_test.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:98,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/sm2_internal_test.c:101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:105,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:105,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:106,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:107,1
    - Dst: EC_POINT_set_affine_coordinates
      Src: /src/openssl/test/sm2_internal_test.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:111,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:112,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:112,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:113,1
    - Dst: EC_GROUP_set_generator
      Src: /src/openssl/test/sm2_internal_test.c:113,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:118,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:119,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:120,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:121,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:122,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/sm2_internal_test.c:123,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:124,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:125,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:127,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 7
    argNames:
    - p_hex
    - a_hex
    - b_hex
    - x_hex
    - y_hex
    - order_hex
    - cof_hex
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 132
    functionName: create_EC_group
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EC_GROUP_new_curve_GFp
    - BN_hex2bn
    - EC_GROUP_set_generator
    - EC_POINT_set_affine_coordinates
    - EC_GROUP_free
    - TEST_true
    - TEST_ptr
    - EC_POINT_new
    - BN_free
    linkageType: ''
    returnType: EC_GROUP
    signature: "EC_GROUP *create_EC_group(const char *p_hex, const char *a_hex,\n
      \                                const char *b_hex, const char *x_hex,\n                                 const
      char *y_hex, const char *order_hex,\n                                 const
      char *cof_hex)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sm2_internal_test.c:140,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/sm2_internal_test.c:144,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:152,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:153,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:153,1
    - Dst: EC_KEY_new
      Src: /src/openssl/test/sm2_internal_test.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:158,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/sm2_internal_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:159,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/sm2_internal_test.c:159,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/sm2_internal_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:164,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/sm2_internal_test.c:164,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:165,1
    - Dst: EC_KEY_set_public_key
      Src: /src/openssl/test/sm2_internal_test.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:166,1
    - Dst: ossl_sm2_ciphertext_size
      Src: /src/openssl/test/sm2_internal_test.c:166,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sm2_internal_test.c:170,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:171,1
    - Dst: start_fake_rand
      Src: /src/openssl/test/sm2_internal_test.c:174,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:175,1
    - Dst: ossl_sm2_encrypt
      Src: /src/openssl/test/sm2_internal_test.c:175,1
    - Dst: restore_rand
      Src: /src/openssl/test/sm2_internal_test.c:178,1
    - Dst: restore_rand
      Src: /src/openssl/test/sm2_internal_test.c:181,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sm2_internal_test.c:183,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:186,1
    - Dst: ossl_sm2_plaintext_size
      Src: /src/openssl/test/sm2_internal_test.c:186,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sm2_internal_test.c:187,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/sm2_internal_test.c:190,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:191,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:192,1
    - Dst: ossl_sm2_decrypt
      Src: /src/openssl/test/sm2_internal_test.c:192,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sm2_internal_test.c:194,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:199,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/sm2_internal_test.c:200,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sm2_internal_test.c:201,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sm2_internal_test.c:202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sm2_internal_test.c:203,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/sm2_internal_test.c:204,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 43
    argCount: 6
    argNames:
    - group
    - digest
    - privkey_hex
    - message
    - k_hex
    - ctext_hex
    argTypes:
    - EC_GROUP*
    - EVP_MD*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 134
    functionDepth: 7
    functionLinenumber: 134
    functionLinenumberEnd: 206
    functionName: test_sm2_crypt
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - BN_hex2bn
    - EC_KEY_set_private_key
    - ossl_sm2_plaintext_size
    - EC_POINT_mul
    - restore_rand
    - OPENSSL_free
    - TEST_ptr
    - strlen
    - EC_KEY_set_group
    - OPENSSL_zalloc
    - ossl_sm2_ciphertext_size
    - start_fake_rand
    - TEST_true
    - BN_free
    - ossl_sm2_encrypt
    - EC_KEY_new
    - TEST_size_t_eq
    - EC_KEY_set_public_key
    - EC_POINT_new
    - EC_KEY_free
    - ossl_sm2_decrypt
    - OPENSSL_hexstr2buf
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int test_sm2_crypt(const EC_GROUP *group,\n                          const
      EVP_MD *digest,\n                          const char *privkey_hex,\n                          const
      char *message,\n                          const char *k_hex, const char *ctext_hex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_EC_group
      Src: /src/openssl/test/sm2_internal_test.c:213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:222,1
    - Dst: test_sm2_crypt
      Src: /src/openssl/test/sm2_internal_test.c:225,1
    - Dst: EVP_sm3
      Src: /src/openssl/test/sm2_internal_test.c:227,1
    - Dst: test_sm2_crypt
      Src: /src/openssl/test/sm2_internal_test.c:240,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/sm2_internal_test.c:242,1
    - Dst: create_EC_group
      Src: /src/openssl/test/sm2_internal_test.c:255,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:264,1
    - Dst: test_sm2_crypt
      Src: /src/openssl/test/sm2_internal_test.c:267,1
    - Dst: EVP_sm3
      Src: /src/openssl/test/sm2_internal_test.c:269,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:295,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 208
    functionDepth: 8
    functionLinenumber: 208
    functionLinenumberEnd: 299
    functionName: sm2_crypt_test
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - test_sm2_crypt
    - EVP_sm3
    - create_EC_group
    - EC_GROUP_free
    - EVP_sha256
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int sm2_crypt_test(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/sm2_internal_test.c:310,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:321,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:321,1
    - Dst: EC_KEY_new
      Src: /src/openssl/test/sm2_internal_test.c:324,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:325,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:326,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/test/sm2_internal_test.c:326,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:327,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/sm2_internal_test.c:327,1
    - Dst: EC_POINT_new
      Src: /src/openssl/test/sm2_internal_test.c:331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:332,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:333,1
    - Dst: EC_POINT_mul
      Src: /src/openssl/test/sm2_internal_test.c:333,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:334,1
    - Dst: EC_KEY_set_public_key
      Src: /src/openssl/test/sm2_internal_test.c:334,1
    - Dst: start_fake_rand
      Src: /src/openssl/test/sm2_internal_test.c:338,1
    - Dst: ossl_sm2_do_sign
      Src: /src/openssl/test/sm2_internal_test.c:339,1
    - Dst: EVP_sm3
      Src: /src/openssl/test/sm2_internal_test.c:339,1
    - Dst: strlen
      Src: /src/openssl/test/sm2_internal_test.c:340,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:341,1
    - Dst: restore_rand
      Src: /src/openssl/test/sm2_internal_test.c:342,1
    - Dst: restore_rand
      Src: /src/openssl/test/sm2_internal_test.c:345,1
    - Dst: ECDSA_SIG_get0
      Src: /src/openssl/test/sm2_internal_test.c:347,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:349,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:349,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:350,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/sm2_internal_test.c:350,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/sm2_internal_test.c:351,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/sm2_internal_test.c:352,1
    - Dst: ossl_sm2_do_verify
      Src: /src/openssl/test/sm2_internal_test.c:355,1
    - Dst: EVP_sm3
      Src: /src/openssl/test/sm2_internal_test.c:355,1
    - Dst: strlen
      Src: /src/openssl/test/sm2_internal_test.c:356,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:359,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/test/sm2_internal_test.c:362,1
    - Dst: EC_POINT_free
      Src: /src/openssl/test/sm2_internal_test.c:363,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/sm2_internal_test.c:364,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:365,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:366,1
    - Dst: BN_free
      Src: /src/openssl/test/sm2_internal_test.c:367,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 8
    argNames:
    - group
    - userid
    - privkey_hex
    - message
    - k_hex
    - r_hex
    - s_hex
    - omit_pubkey
    argTypes:
    - EC_GROUP*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 301
    functionDepth: 7
    functionLinenumber: 301
    functionLinenumberEnd: 370
    functionName: test_sm2_sign
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - TEST_BN_eq
    - BN_hex2bn
    - EC_KEY_set_private_key
    - EC_POINT_mul
    - ossl_sm2_do_verify
    - restore_rand
    - ECDSA_SIG_get0
    - TEST_ptr
    - strlen
    - EC_KEY_set_group
    - start_fake_rand
    - TEST_true
    - ECDSA_SIG_free
    - BN_free
    - EVP_sm3
    - EC_KEY_new
    - EC_KEY_set_public_key
    - EC_POINT_new
    - EC_KEY_free
    - ossl_sm2_do_sign
    linkageType: ''
    returnType: int
    signature: "int test_sm2_sign(const EC_GROUP *group,\n                         const
      char *userid,\n                         const char *privkey_hex,\n                         const
      char *message,\n                         const char *k_hex,\n                         const
      char *r_hex,\n                         const char *s_hex,\n                         int
      omit_pubkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_EC_group
      Src: /src/openssl/test/sm2_internal_test.c:378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:387,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:390,1
    - Dst: test_sm2_sign
      Src: /src/openssl/test/sm2_internal_test.c:390,1
    - Dst: create_EC_group
      Src: /src/openssl/test/sm2_internal_test.c:402,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sm2_internal_test.c:411,1
    - Dst: TEST_true
      Src: /src/openssl/test/sm2_internal_test.c:414,1
    - Dst: test_sm2_sign
      Src: /src/openssl/test/sm2_internal_test.c:414,1
    - Dst: TEST_false
      Src: /src/openssl/test/sm2_internal_test.c:434,1
    - Dst: test_sm2_sign
      Src: /src/openssl/test/sm2_internal_test.c:434,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:455,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/test/sm2_internal_test.c:456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 372
    functionDepth: 8
    functionLinenumber: 372
    functionLinenumberEnd: 459
    functionName: sm2_sig_test
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_false
    - create_EC_group
    - EC_GROUP_free
    - TEST_true
    - TEST_ptr
    - test_sm2_sign
    linkageType: ''
    returnType: int
    signature: int sm2_sig_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/sm2_internal_test.c:466,1
    - Dst: fake_rand_start
      Src: /src/openssl/test/sm2_internal_test.c:468,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sm2_internal_test.c:472,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sm2_internal_test.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 476
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 0
    functionsReached:
    - fake_rand_start
    - ADD_TEST
    - TEST_note
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_finish
      Src: /src/openssl/test/sm2_internal_test.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/sm2_internal_test.c
    functionUses: 7
    functionsReached:
    - fake_rand_finish
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/x509_req_test.c:32,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_req_test.c:35,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_req_test.c:35,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/openssl/test/x509_req_test.c:37,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_req_test.c:42,1
    - Dst: X509_REQ_get_pubkey
      Src: /src/openssl/test/x509_req_test.c:42,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/x509_req_test.c:45,1
    - Dst: X509_REQ_verify
      Src: /src/openssl/test/x509_req_test.c:45,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_req_test.c:49,1
    - Dst: X509_REQ_free
      Src: /src/openssl/test/x509_req_test.c:50,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_req_test.c:51,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/x509_req_test.c:52,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: test_x509_req_detect_invalid_version
    functionSourceFile: /src/openssl/test/x509_req_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - X509_REQ_free
    - PEM_read_bio_X509_REQ
    - TEST_int_ne
    - BIO_free
    - EVP_PKEY_free
    - OPENSSL_free
    - test_mk_file_path
    - X509_REQ_get_pubkey
    - TEST_ptr
    - X509_REQ_verify
    linkageType: ''
    returnType: int
    signature: int test_x509_req_detect_invalid_version(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/x509_req_test.c:60,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_req_test.c:61,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_req_test.c:64,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_req_test.c:64,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_req_test.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_req_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/x509_req_test.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/versions.c:17,1
    - Dst: printf
      Src: /src/openssl/test/versions.c:18,1
    - Dst: OpenSSL_version
      Src: /src/openssl/test/versions.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/openssl/test/versions.c
    functionUses: 5
    functionsReached:
    - OpenSSL_version
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rng
      Src: /src/openssl/test/rdcpu_sanitytest.c:50,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rdcpu_sanitytest.c:68,1
    - Dst: TEST_false
      Src: /src/openssl/test/rdcpu_sanitytest.c:70,1
    - Dst: memcmp
      Src: /src/openssl/test/rdcpu_sanitytest.c:70,1
    - Dst: memset
      Src: /src/openssl/test/rdcpu_sanitytest.c:75,1
    - Dst: TEST_false
      Src: /src/openssl/test/rdcpu_sanitytest.c:76,1
    - Dst: memcmp
      Src: /src/openssl/test/rdcpu_sanitytest.c:76,1
    - Dst: memcpy
      Src: /src/openssl/test/rdcpu_sanitytest.c:80,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rdcpu_sanitytest.c:83,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/rdcpu_sanitytest.c:86,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 4
    argNames:
    - rounds
    - min_failures
    - max_retries
    - max_zero_words
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 92
    functionName: sanity_check_bytes
    functionSourceFile: /src/openssl/test/rdcpu_sanitytest.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memset
    - memcpy
    - TEST_false
    - TEST_int_le
    - TEST_int_eq
    - TEST_int_ge
    - rng
    linkageType: ''
    returnType: int
    signature: "int sanity_check_bytes(size_t (*rng)(unsigned char *, size_t),\n    int
      rounds, int min_failures, int max_retries, int max_zero_words)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_bytes
      Src: /src/openssl/test/rdcpu_sanitytest.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: sanity_check_rdrand_bytes
    functionSourceFile: /src/openssl/test/rdcpu_sanitytest.c
    functionUses: 0
    functionsReached:
    - sanity_check_bytes
    linkageType: ''
    returnType: int
    signature: int sanity_check_rdrand_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_bytes
      Src: /src/openssl/test/rdcpu_sanitytest.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: sanity_check_rdseed_bytes
    functionSourceFile: /src/openssl/test/rdcpu_sanitytest.c
    functionUses: 0
    functionsReached:
    - sanity_check_bytes
    linkageType: ''
    returnType: int
    signature: int sanity_check_rdseed_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_bytes
      Src: /src/openssl/test/rdcpu_sanitytest.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: sanity_check_rndr_bytes
    functionSourceFile: /src/openssl/test/rdcpu_sanitytest.c
    functionUses: 0
    functionsReached:
    - sanity_check_bytes
    linkageType: ''
    returnType: int
    signature: int sanity_check_rndr_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_bytes
      Src: /src/openssl/test/rdcpu_sanitytest.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: sanity_check_rndrrs_bytes
    functionSourceFile: /src/openssl/test/rdcpu_sanitytest.c
    functionUses: 0
    functionsReached:
    - sanity_check_bytes
    linkageType: ''
    returnType: int
    signature: int sanity_check_rndrrs_bytes(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cpuid_setup
      Src: /src/openssl/test/rdcpu_sanitytest.c:126,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rdcpu_sanitytest.c:133,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rdcpu_sanitytest.c:137,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rdcpu_sanitytest.c:143,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rdcpu_sanitytest.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rdcpu_sanitytest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cpuid_setup
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_set_key
      Src: /src/openssl/test/casttest.c:70,1
    - Dst: CAST_ecb_encrypt
      Src: /src/openssl/test/casttest.c:71,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/casttest.c:72,1
    - Dst: TEST_info
      Src: /src/openssl/test/casttest.c:73,1
    - Dst: CAST_ecb_encrypt
      Src: /src/openssl/test/casttest.c:77,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/casttest.c:78,1
    - Dst: TEST_info
      Src: /src/openssl/test/casttest.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - z
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: cast_test_vector
    functionSourceFile: /src/openssl/test/casttest.c
    functionUses: 0
    functionsReached:
    - CAST_set_key
    - CAST_ecb_encrypt
    - TEST_info
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int cast_test_vector(int z)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/casttest.c:92,1
    - Dst: memcpy
      Src: /src/openssl/test/casttest.c:93,1
    - Dst: CAST_set_key
      Src: /src/openssl/test/casttest.c:96,1
    - Dst: CAST_ecb_encrypt
      Src: /src/openssl/test/casttest.c:97,1
    - Dst: CAST_ecb_encrypt
      Src: /src/openssl/test/casttest.c:98,1
    - Dst: CAST_set_key
      Src: /src/openssl/test/casttest.c:99,1
    - Dst: CAST_ecb_encrypt
      Src: /src/openssl/test/casttest.c:100,1
    - Dst: CAST_ecb_encrypt
      Src: /src/openssl/test/casttest.c:101,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/casttest.c:104,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/casttest.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: cast_test_iterations
    functionSourceFile: /src/openssl/test/casttest.c
    functionUses: 0
    functionsReached:
    - CAST_set_key
    - memcpy
    - CAST_ecb_encrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int cast_test_iterations(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/casttest.c:115,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/casttest.c:115,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/casttest.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/casttest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/evp_extra_test.c:899,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/evp_extra_test.c:903,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - keytype
    - data
    - data_len
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 893
    functionDepth: 12
    functionLinenumber: 893
    functionLinenumberEnd: 906
    functionName: load_example_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_from_data
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_CTX_new_for_pkey
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_example_key(const char *keytype,\n                                  const
      unsigned char *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 908
    functionDepth: 13
    functionLinenumber: 908
    functionLinenumberEnd: 912
    functionName: load_example_rsa_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_example_rsa_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 915
    functionDepth: 13
    functionLinenumber: 915
    functionLinenumberEnd: 919
    functionName: load_example_dsa_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_example_dsa_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 923
    functionDepth: 13
    functionLinenumber: 923
    functionLinenumberEnd: 927
    functionName: load_example_ec_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_example_ec_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 13
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: load_example_dh_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_example_dh_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 940
    functionDepth: 13
    functionLinenumber: 940
    functionLinenumberEnd: 944
    functionName: load_example_ed25519_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_example_ed25519_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 13
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: load_example_x25519_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - load_example_key
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_example_x25519_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_extra_test.c:963,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 954
    functionDepth: 7
    functionLinenumber: 954
    functionLinenumberEnd: 969
    functionName: load_example_hmac_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_new_raw_private_key_ex
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_example_hmac_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get1_default_properties
      Src: /src/openssl/test/evp_extra_test.c:977,1
    - Dst: OSSL_LIB_CTX_get0_global_default
      Src: /src/openssl/test/evp_extra_test.c:977,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:978,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:979,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:981,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 971
    functionDepth: 6
    functionLinenumber: 971
    functionLinenumberEnd: 988
    functionName: test_EVP_set_config_properties
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - EVP_get1_default_properties
    - OSSL_LIB_CTX_get0_global_default
    - OPENSSL_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_EVP_set_config_properties(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:999,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:999,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1000,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1000,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:1002,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1005,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/evp_extra_test.c:1005,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:1006,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1006,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1007,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1007,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:1009,1
    - Dst: EVP_get1_default_properties
      Src: /src/openssl/test/evp_extra_test.c:1012,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1013,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:1014,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1016,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1019,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/evp_extra_test.c:1019,1
    - Dst: EVP_get1_default_properties
      Src: /src/openssl/test/evp_extra_test.c:1021,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1022,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:1023,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1025,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1028,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/evp_extra_test.c:1028,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1031,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/evp_extra_test.c:1031,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1032,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1032,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1036,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:1037,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1038,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 990
    functionDepth: 12
    functionLinenumber: 990
    functionLinenumberEnd: 1040
    functionName: test_EVP_set_default_properties
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - TEST_ptr_null
    - OSSL_LIB_CTX_free
    - TEST_str_eq
    - EVP_default_properties_enable_fips
    - EVP_get1_default_properties
    - OSSL_LIB_CTX_new
    - EVP_MD_fetch
    - OPENSSL_free
    - TEST_true
    - EVP_set_default_properties
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_EVP_set_default_properties(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1048,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:1048,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1051,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:1051,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1052,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:1052,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1053,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1053,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1057,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1063,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1064,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - keytype
    - params
    argTypes:
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1043
    functionDepth: 6
    functionLinenumber: 1043
    functionLinenumberEnd: 1066
    functionName: make_key_fromdata
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_fromdata
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_int_gt
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *make_key_fromdata(char *keytype, OSSL_PARAM *params)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:1072,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test.c:1072,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:1074,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1076,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:1079,1
    - Dst: PEM_write_bio_PrivateKey_ex
      Src: /src/openssl/test/evp_extra_test.c:1082,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1085,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:1088,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test.c:1094,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pkey
    - selection
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1068
    functionDepth: 5
    functionLinenumber: 1068
    functionLinenumberEnd: 1097
    functionName: test_selection
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - PEM_write_bio_PUBKEY
    - TEST_false
    - BIO_free
    - BIO_s_mem
    - PEM_write_bio_PrivateKey_ex
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_selection(EVP_PKEY *pkey, int selection)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1120,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1120,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1121,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1122,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1123,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1123,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1124,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:1124,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1128,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1128,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1129,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1129,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1130,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1130,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1131,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1131,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1133,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1133,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1134,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1134,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1137,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1138,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1142,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1147,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1147,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1148,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1148,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1149,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1149,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1150,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1150,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1151,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1154,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1155,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1155,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1158,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1159,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1163,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1168,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1168,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1169,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1169,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1170,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1170,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1171,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1171,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1172,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1175,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1175,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1176,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1176,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1179,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1180,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1184,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1189,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1189,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1190,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1190,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1191,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1191,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1192,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1192,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1193,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1193,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1195,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1195,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1198,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1199,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1199,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1202,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1207,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1208,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1209,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1210,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1211,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1212,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1213,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1214,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1215,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1216,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1217,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 67
    argCount: 1
    argNames:
    - keytype
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1105
    functionDepth: 7
    functionLinenumber: 1105
    functionLinenumberEnd: 1220
    functionName: test_EVP_PKEY_ffc_priv_pub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - make_key_fromdata
    - EVP_PKEY_free
    - OSSL_PARAM_BLD_push_BN
    - test_selection
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKEY_ffc_priv_pub(char *keytype)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1260,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1260,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1264,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1264,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1265,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1269,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1270,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1270,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1273,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1274,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1278,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1279,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1283,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1283,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1284,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1284,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1287,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1290,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1290,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1291,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1291,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1294,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1295,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1305,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1310,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1310,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1311,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1311,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1314,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_extra_test.c:1314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1318,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1319,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1319,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1322,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1323,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1327,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1332,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1332,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1333,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1333,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1336,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_extra_test.c:1336,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1339,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1342,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1342,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1343,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1343,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1346,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1350,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/evp_extra_test.c:1350,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1351,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/evp_extra_test.c:1351,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1353,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/evp_extra_test.c:1353,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1355,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/evp_extra_test.c:1355,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1357,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1357,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1358,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1358,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1359,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1359,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1360,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1360,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test.c:1364,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/test/evp_extra_test.c:1364,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1366,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:1368,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/test/evp_extra_test.c:1368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1369,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1375,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test.c:1375,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:1378,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1382,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test.c:1382,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:1385,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1389,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test.c:1389,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1396,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1397,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1398,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1399,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1400,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1401,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1402,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1242
    functionDepth: 10
    functionLinenumber: 1242
    functionLinenumberEnd: 1405
    functionName: test_EC_priv_pub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - OPENSSL_free
    - TEST_ptr
    - EVP_PKEY_get_octet_string_param
    - TEST_size_t_gt
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_free
    - TEST_true
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - make_key_fromdata
    - EVP_PKEY_eq
    - EVP_PKEY_get1_encoded_public_key
    - OSSL_PARAM_BLD_push_octet_string
    - TEST_size_t_eq
    - OSSL_PARAM_BLD_new
    - TEST_int_eq
    - test_selection
    - EVP_PKEY_parameters_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EC_priv_pub(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1419,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1419,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1422,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:1422,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1423,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:1423,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1426,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/evp_extra_test.c:1426,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1429,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:1429,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1433,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:1433,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1434,1
    - Dst: make_key_fromdata
      Src: /src/openssl/test/evp_extra_test.c:1434,1
    - Dst: test_selection
      Src: /src/openssl/test/evp_extra_test.c:1437,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:1440,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:1441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1444,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_extra_test.c:1444,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_extra_test.c:1448,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_extra_test.c:1449,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1450,1
    - Dst: memcmp
      Src: /src/openssl/test/evp_extra_test.c:1450,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:1456,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:1457,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1458,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1459,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1460,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1461,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1462,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1408
    functionDepth: 7
    functionLinenumber: 1408
    functionLinenumberEnd: 1464
    functionName: test_evp_get_ec_pub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - OPENSSL_free
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - OPENSSL_zalloc
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_free
    - TEST_true
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - make_key_fromdata
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_new
    - memcmp
    - test_selection
    - BN_bn2bin
    linkageType: ''
    returnType: int
    signature: int test_evp_get_ec_pub(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1477,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1477,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/evp_extra_test.c:1480,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1481,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1484,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/evp_extra_test.c:1484,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:1487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1488,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1491,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/evp_extra_test.c:1491,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1497,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1498,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1505,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:1505,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1508,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1514,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/test/evp_extra_test.c:1514,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:1517,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:1517,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1518,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1526,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1527,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/evp_extra_test.c:1528,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1529,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1468
    functionDepth: 8
    functionLinenumber: 1468
    functionLinenumberEnd: 1532
    functionName: test_EC_priv_only_legacy
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EC_KEY_new_by_curve_name
    - EC_KEY_set_private_key
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_MD_CTX_free
    - BN_bin2bn
    - EVP_PKEY_free
    - EVP_DigestSignInit_ex
    - EVP_PKEY_assign_EC_KEY
    - TEST_true
    - TEST_ptr
    - BN_free
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: int test_EC_priv_only_legacy(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1545,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1545,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1549,1
    - Dst: EC_KEY_new_by_curve_name_ex
      Src: /src/openssl/test/evp_extra_test.c:1549,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1553,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1553,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1556,1
    - Dst: EC_KEY_set_private_key
      Src: /src/openssl/test/evp_extra_test.c:1556,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1559,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1559,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1562,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/evp_extra_test.c:1562,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1565,1
    - Dst: EC_KEY_set_public_key_affine_coordinates
      Src: /src/openssl/test/evp_extra_test.c:1565,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1568,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:1568,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1572,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/evp_extra_test.c:1572,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1576,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:1576,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1577,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:1577,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1580,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_extra_test.c:1580,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_extra_test.c:1584,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/evp_extra_test.c:1585,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1587,1
    - Dst: memcmp
      Src: /src/openssl/test/evp_extra_test.c:1587,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1593,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1594,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/evp_extra_test.c:1595,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1596,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1597,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1598,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:1599,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1534
    functionDepth: 5
    functionLinenumber: 1534
    functionLinenumberEnd: 1602
    functionName: test_evp_get_ec_pub_legacy
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - OPENSSL_zalloc
    - EC_KEY_set_private_key
    - EC_KEY_new_by_curve_name_ex
    - EVP_PKEY_new
    - OSSL_LIB_CTX_free
    - BN_bn2bin
    - OSSL_LIB_CTX_new
    - EVP_PKEY_free
    - BN_bin2bn
    - OPENSSL_free
    - EVP_PKEY_assign_EC_KEY
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - BN_free
    - EC_KEY_set_public_key_affine_coordinates
    - EC_KEY_free
    linkageType: ''
    returnType: int
    signature: int test_evp_get_ec_pub_legacy(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1619,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1619,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1623,1
    - Dst: load_example_dsa_key
      Src: /src/openssl/test/evp_extra_test.c:1623,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1631,1
    - Dst: load_example_ec_key
      Src: /src/openssl/test/evp_extra_test.c:1631,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:1639,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1640,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1641,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/evp_extra_test.c:1641,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1642,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1642,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:1645,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1646,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_extra_test.c:1648,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1648,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1650,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1650,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1653,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/evp_extra_test.c:1653,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1654,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/evp_extra_test.c:1654,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1660,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1661,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1662,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1606
    functionDepth: 14
    functionLinenumber: 1606
    functionLinenumberEnd: 1664
    functionName: test_EVP_PKEY_sign
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_sign_init
    - EVP_PKEY_verify_init
    - TEST_int_le
    - EVP_PKEY_verify
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - load_example_rsa_key
    - load_example_ec_key
    - TEST_ptr
    - EVP_PKEY_sign
    - load_example_dsa_key
    - OPENSSL_malloc
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKEY_sign(int tst)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1686,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1686,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1688,1
    - Dst: RSA_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:1688,1
    - Dst: RSA_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:1688,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1691,1
    - Dst: EVP_PKEY_get1_RSA
      Src: /src/openssl/test/evp_extra_test.c:1691,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1692,1
    - Dst: RSA_set_method
      Src: /src/openssl/test/evp_extra_test.c:1692,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1693,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/evp_extra_test.c:1693,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1698,1
    - Dst: load_example_dsa_key
      Src: /src/openssl/test/evp_extra_test.c:1698,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1700,1
    - Dst: DSA_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:1700,1
    - Dst: DSA_get_default_method
      Src: /src/openssl/test/evp_extra_test.c:1700,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1703,1
    - Dst: EVP_PKEY_get1_DSA
      Src: /src/openssl/test/evp_extra_test.c:1703,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1704,1
    - Dst: DSA_set_method
      Src: /src/openssl/test/evp_extra_test.c:1704,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1705,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/test/evp_extra_test.c:1705,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:1714,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1715,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1716,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/evp_extra_test.c:1716,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1717,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1717,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:1720,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1721,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/evp_extra_test.c:1723,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1723,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1725,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/evp_extra_test.c:1725,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1728,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/evp_extra_test.c:1728,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1729,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/evp_extra_test.c:1729,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1735,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1736,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1737,1
    - Dst: RSA_free
      Src: /src/openssl/test/evp_extra_test.c:1738,1
    - Dst: RSA_meth_free
      Src: /src/openssl/test/evp_extra_test.c:1739,1
    - Dst: DSA_free
      Src: /src/openssl/test/evp_extra_test.c:1741,1
    - Dst: DSA_meth_free
      Src: /src/openssl/test/evp_extra_test.c:1742,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 46
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1667
    functionDepth: 14
    functionLinenumber: 1667
    functionLinenumberEnd: 1745
    functionName: test_EVP_PKEY_sign_with_app_method
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - RSA_set_method
    - OPENSSL_free
    - RSA_get_default_method
    - load_example_rsa_key
    - TEST_ptr
    - RSA_meth_dup
    - EVP_PKEY_verify_init
    - DSA_set_method
    - DSA_meth_dup
    - EVP_PKEY_assign_RSA
    - EVP_PKEY_assign_DSA
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    - DSA_get_default_method
    - EVP_PKEY_sign_init
    - DSA_free
    - EVP_PKEY_verify
    - EVP_PKEY_get1_RSA
    - EVP_PKEY_CTX_new_from_pkey
    - DSA_meth_free
    - RSA_free
    - RSA_meth_free
    - EVP_PKEY_sign
    - load_example_dsa_key
    - EVP_PKEY_get1_DSA
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKEY_sign_with_app_method(int tst)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:1765,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_extra_test.c:1768,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1769,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:1769,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1773,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1773,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1774,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_extra_test.c:1774,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/evp_extra_test.c:1774,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1775,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1775,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1776,1
    - Dst: EVP_SealInit
      Src: /src/openssl/test/evp_extra_test.c:1776,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1778,1
    - Dst: EVP_SealUpdate
      Src: /src/openssl/test/evp_extra_test.c:1778,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1780,1
    - Dst: EVP_SealFinal
      Src: /src/openssl/test/evp_extra_test.c:1780,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1786,1
    - Dst: EVP_OpenInit
      Src: /src/openssl/test/evp_extra_test.c:1786,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1787,1
    - Dst: EVP_OpenUpdate
      Src: /src/openssl/test/evp_extra_test.c:1787,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1789,1
    - Dst: EVP_OpenFinal
      Src: /src/openssl/test/evp_extra_test.c:1789,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:1793,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:1799,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1800,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1801,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1802,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1752
    functionDepth: 14
    functionLinenumber: 1752
    functionLinenumberEnd: 1804
    functionName: test_EVP_Enveloped
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_SealUpdate
    - EVP_PKEY_get_size
    - OPENSSL_free
    - load_example_rsa_key
    - EVP_SealFinal
    - TEST_ptr
    - OPENSSL_zalloc
    - EVP_aes_256_cbc
    - EVP_PKEY_free
    - EVP_CIPHER_free
    - TEST_true
    - EVP_SealInit
    - TEST_skip
    - EVP_OpenUpdate
    - EVP_OpenInit
    - EVP_CIPHER_fetch
    - EVP_OpenFinal
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_EVP_Enveloped(int n)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:1839,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:1847,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test.c:1847,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:1848,1
    - Dst: BIO_f_md
      Src: /src/openssl/test/evp_extra_test.c:1848,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1849,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1849,1
    - Dst: BIO_push
      Src: /src/openssl/test/evp_extra_test.c:1851,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1852,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/test/evp_extra_test.c:1852,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1855,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1855,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1856,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1856,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1861,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1861,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1865,1
    - Dst: load_example_dsa_key
      Src: /src/openssl/test/evp_extra_test.c:1865,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1872,1
    - Dst: load_example_hmac_key
      Src: /src/openssl/test/evp_extra_test.c:1872,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:1877,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:1879,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1881,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:1881,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1884,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:1884,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/evp_extra_test.c:1888,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1891,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:1891,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1897,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:1897,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1899,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:1899,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:1903,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:1903,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1913,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:1913,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1918,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:1918,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1919,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:1919,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:1924,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:1924,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1925,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:1925,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1935,1
    - Dst: BIO_reset
      Src: /src/openssl/test/evp_extra_test.c:1935,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1936,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/test/evp_extra_test.c:1936,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1940,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:1940,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1945,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/evp_extra_test.c:1945,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1948,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:1948,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1952,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:1952,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:1956,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:1956,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1963,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:1963,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1964,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:1964,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:1965,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:1965,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:1968,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test.c:1975,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test.c:1976,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1977,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:1978,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:1979,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1980,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:1981,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:1982,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 122
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1824
    functionDepth: 14
    functionLinenumber: 1824
    functionLinenumberEnd: 1985
    functionName: test_EVP_DigestSignInit
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - load_example_hmac_key
    - BIO_f_md
    - OPENSSL_free
    - BIO_s_mem
    - EVP_DigestSign
    - load_example_rsa_key
    - EVP_DigestVerifyUpdate
    - TEST_ptr
    - BIO_reset
    - BIO_new
    - BIO_write_ex
    - EVP_PKEY_free
    - EVP_DigestSignUpdate
    - BIO_push
    - TEST_true
    - BIO_get_md_ctx
    - EVP_DigestVerifyFinal
    - OPENSSL_malloc
    - BIO_free
    - TEST_skip
    - EVP_DigestVerifyInit
    - EVP_MD_fetch
    - EVP_sha256
    - EVP_DigestSignInit
    - TEST_false
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestSignFinal
    - TEST_mem_eq
    - load_example_dsa_key
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_DigestSignInit(int tst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:1994,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1996,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:1996,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:1997,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:1997,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2000,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2000,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:2000,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2001,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2001,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2002,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2002,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2007,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2007,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2008,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2008,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2009,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2009,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2015,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2016,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1987
    functionDepth: 14
    functionLinenumber: 1987
    functionLinenumberEnd: 2018
    functionName: test_EVP_DigestVerifyInit
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    - EVP_MD_CTX_new
    - EVP_DigestVerifyInit
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - load_example_rsa_key
    - TEST_true
    - EVP_sha256
    - TEST_ptr
    - EVP_DigestVerifyUpdate
    - EVP_DigestVerifyFinal
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_DigestVerifyInit(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:2029,1
    - Dst: load_example_ec_key
      Src: /src/openssl/test/evp_extra_test.c:2031,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2032,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2036,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2037,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2040,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2041,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2047,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2047,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2052,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2053,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2054,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2021
    functionDepth: 14
    functionLinenumber: 2021
    functionLinenumberEnd: 2057
    functionName: test_ecdsa_digestsign_keccak
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - EVP_MD_free
    - EVP_MD_fetch
    - TEST_skip
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - TEST_true
    - load_example_ec_key
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_ecdsa_digestsign_keccak(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:2076,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:2078,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:2079,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2080,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:2080,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2084,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/test/evp_extra_test.c:2084,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2087,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2087,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2089,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:2089,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2094,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2094,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2096,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:2096,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2098,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2098,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:2100,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2105,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2106,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2062
    functionDepth: 8
    functionLinenumber: 2062
    functionLinenumberEnd: 2108
    functionName: test_siphash_digestsign
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - memset
    - EVP_PKEY_CTX_ctrl
    - EVP_PKEY_new_raw_private_key
    - TEST_skip
    - EVP_MD_CTX_create
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_DigestSignUpdate
    - EVP_MD_CTX_free
    - EVP_DigestSignFinal
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_siphash_digestsign(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2122,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2125,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2125,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2126,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2126,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2129,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2129,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2130,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:2130,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2131,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_extra_test.c:2131,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test.c:2133,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_extra_test.c:2133,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2136,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2136,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2137,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:2137,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2138,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:2138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2140,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_extra_test.c:2140,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2145,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2145,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2148,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2148,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2149,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:2149,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2150,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_extra_test.c:2150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2152,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/test/evp_extra_test.c:2152,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2153,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2153,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2158,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2159,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2160,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2114
    functionDepth: 10
    functionLinenumber: 2114
    functionLinenumberEnd: 2162
    functionName: test_EVP_Digest
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - EVP_DigestFinalXOF
    - EVP_DigestFinal_ex
    - EVP_MD_free
    - EVP_MD_CTX_get0_md
    - EVP_DigestUpdate
    - EVP_MD_fetch
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - TEST_true
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_EVP_Digest(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_md_null
      Src: /src/openssl/test/evp_extra_test.c:2168,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:2173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2175,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2176,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2176,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2179,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:2179,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2180,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:2180,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2181,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:2181,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/evp_extra_test.c:2184,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2164
    functionDepth: 8
    functionLinenumber: 2164
    functionLinenumberEnd: 2191
    functionName: test_EVP_md_null
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - TEST_skip
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - EVP_md_null
    - TEST_true
    - TEST_ptr
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_EVP_md_null(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2204,1
    - Dst: d2i_AutoPrivateKey
      Src: /src/openssl/test/evp_extra_test.c:2204,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test.c:2205,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2206,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test.c:2206,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2193
    functionDepth: 15
    functionLinenumber: 2193
    functionLinenumberEnd: 2214
    functionName: test_d2i_AutoPrivateKey
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_id
    - TEST_int_eq
    - EVP_PKEY_free
    - d2i_AutoPrivateKey
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_d2i_AutoPrivateKey(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:2264,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2267,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:2268,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2259
    functionDepth: 13
    functionLinenumber: 2259
    functionLinenumberEnd: 2271
    functionName: test_invalide_ec_char2_pub_range_decode
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - TEST_ptr
    - TEST_ptr_null
    - load_example_key
    linkageType: ''
    returnType: int
    signature: int test_invalide_ec_char2_pub_range_decode(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2280,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/test/evp_extra_test.c:2280,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test.c:2284,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:2288,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/test/evp_extra_test.c:2288,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/evp_extra_test.c:2294,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2273
    functionDepth: 7
    functionLinenumber: 2273
    functionLinenumberEnd: 2298
    functionName: test_EVP_PKCS82PKEY
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - TEST_ptr_null
    - EVP_PKCS82PKEY
    - EVP_PKEY_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKCS82PKEY(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/test/evp_extra_test.c:2313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2314,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2315,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/evp_extra_test.c:2320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2302
    functionDepth: 1
    functionLinenumber: 2302
    functionLinenumberEnd: 2322
    functionName: test_EVP_PKCS82PKEY_v2
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - TEST_ptr
    - d2i_PKCS8_PRIV_KEY_INFO
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKCS82PKEY_v2(int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2338,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:2338,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test.c:2338,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2339,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:2339,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2340,1
    - Dst: i2d_PKCS8PrivateKey_bio
      Src: /src/openssl/test/evp_extra_test.c:2340,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2343,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_extra_test.c:2343,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2344,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/test/evp_extra_test.c:2344,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2345,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/test/evp_extra_test.c:2345,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2346,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/evp_extra_test.c:2346,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2352,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2353,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/evp_extra_test.c:2354,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/evp_extra_test.c:2355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2325
    functionDepth: 14
    functionLinenumber: 2325
    functionLinenumberEnd: 2357
    functionName: test_EVP_PKCS82PKEY_wrong_tag
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - BIO_new
    - EVP_PKCS82PKEY
    - d2i_PKCS8_PRIV_KEY_INFO_bio
    - TEST_int_eq
    - ERR_peek_last_error
    - EVP_PKEY_free
    - BIO_free_all
    - BIO_get_mem_data
    - BIO_s_mem
    - load_example_rsa_key
    - i2d_PKCS8PrivateKey_bio
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKCS82PKEY_wrong_tag(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2368,1
    - Dst: BIO_new
      Src: /src/openssl/test/evp_extra_test.c:2368,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/evp_extra_test.c:2368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2369,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:2369,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2370,1
    - Dst: i2d_PKCS8PrivateKey_bio
      Src: /src/openssl/test/evp_extra_test.c:2370,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2373,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/evp_extra_test.c:2373,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2374,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:2375,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2381,1
    - Dst: PEM_write_bio_PKCS8PrivateKey
      Src: /src/openssl/test/evp_extra_test.c:2381,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2388,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/evp_extra_test.c:2389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2360
    functionDepth: 14
    functionLinenumber: 2360
    functionLinenumberEnd: 2391
    functionName: test_privatekey_to_pkcs8
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - PEM_write_bio_PKCS8PrivateKey
    - EVP_PKEY_free
    - BIO_free_all
    - BIO_get_mem_data
    - BIO_s_mem
    - load_example_rsa_key
    - i2d_PKCS8PrivateKey_bio
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_privatekey_to_pkcs8(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2411,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:2411,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2413,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/test/evp_extra_test.c:2413,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:2416,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_extra_test.c:2417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2402
    functionDepth: 3
    functionLinenumber: 2402
    functionLinenumberEnd: 2424
    functionName: ec_export_get_encoding_cb
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - OSSL_PARAM_get_utf8_string_ptr
    - OSSL_PARAM_locate_const
    - OSSL_NELEM
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ec_export_get_encoding_cb(const OSSL_PARAM params[], void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2436,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:2436,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2437,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_extra_test.c:2437,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2438,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/openssl/test/evp_extra_test.c:2438,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2439,1
    - Dst: EVP_PKEY_CTX_set_ec_param_enc
      Src: /src/openssl/test/evp_extra_test.c:2439,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2440,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_extra_test.c:2440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2445,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2445,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2446,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:2446,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2447,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:2447,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2448,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2452,1
    - Dst: evp_keymgmt_util_export
      Src: /src/openssl/test/evp_extra_test.c:2452,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2454,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2459,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2460,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2461,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2462,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2426
    functionDepth: 8
    functionLinenumber: 2426
    functionLinenumberEnd: 2464
    functionName: test_EC_keygen_with_enc
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_ec_param_enc
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_keygen
    - evp_keymgmt_util_export
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_paramgen
    - EVP_PKEY_CTX_set_group_name
    - EVP_PKEY_paramgen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EC_keygen_with_enc(int idx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/evp_extra_test.c:2497,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test.c:2497,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2498,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/test/evp_extra_test.c:2501,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2502,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2505,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/evp_extra_test.c:2505,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2508,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2508,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2511,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2511,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/test/evp_extra_test.c:2514,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2516,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2516,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2519,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2519,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2522,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/evp_extra_test.c:2522,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test.c:2522,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2525,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2525,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test.c:2525,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2528,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2528,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_extra_test.c:2533,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2534,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2535,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2536,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2537,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2469
    functionDepth: 10
    functionLinenumber: 2469
    functionLinenumberEnd: 2539
    functionName: test_EVP_SM2_verify
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_set1_id
    - EVP_DigestVerifyUpdate
    - EVP_MD_CTX_set_pkey_ctx
    - TEST_ptr
    - strlen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - EVP_DigestVerifyFinal
    - PEM_read_bio_PUBKEY_ex
    - BIO_free
    - EVP_DigestVerifyInit
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_fetch
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - BIO_new_mem_buf
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_SM2_verify(void)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2569,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:2569,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2573,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/evp_extra_test.c:2573,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2576,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/test/evp_extra_test.c:2576,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2579,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/evp_extra_test.c:2579,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2582,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2582,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2586,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:2586,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2589,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:2589,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2592,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2592,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2595,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:2595,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2598,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2598,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/test/evp_extra_test.c:2601,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/test/evp_extra_test.c:2602,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2604,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2604,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2607,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:2607,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2610,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/evp_extra_test.c:2610,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2613,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:2613,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2617,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2617,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2620,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:2620,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2623,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:2623,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2628,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2628,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2632,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/evp_extra_test.c:2632,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2635,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2635,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2638,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2638,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2646,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/test/evp_extra_test.c:2646,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2650,1
    - Dst: EVP_PKEY_CTX_set1_id
      Src: /src/openssl/test/evp_extra_test.c:2650,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2653,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_extra_test.c:2653,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:2656,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_extra_test.c:2656,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:2661,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2671,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:2677,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2680,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:2680,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2684,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/evp_extra_test.c:2684,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2687,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:2687,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2690,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/test/evp_extra_test.c:2690,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2694,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/test/evp_extra_test.c:2694,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2697,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:2697,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:2700,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/test/evp_extra_test.c:2700,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2704,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:2704,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2712,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:2713,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:2713,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2715,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/test/evp_extra_test.c:2715,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:2716,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2720,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:2723,1
    - Dst: memcmp
      Src: /src/openssl/test/evp_extra_test.c:2723,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2729,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2730,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2731,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2732,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2733,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:2734,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2735,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:2736,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:2737,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:2738,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 138
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2541
    functionDepth: 10
    functionLinenumber: 2541
    functionLinenumberEnd: 2740
    functionName: test_EVP_SM2
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_PKEY_CTX_set_params
    - EVP_MD_is_a
    - EVP_PKEY_CTX_set1_id
    - OPENSSL_free
    - EVP_DigestVerifyUpdate
    - EVP_PKEY_keygen
    - EVP_MD_CTX_set_pkey_ctx
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen_init
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_get_params
    - TEST_info
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_DigestSignUpdate
    - TEST_true
    - EVP_DigestVerifyFinal
    - OPENSSL_malloc
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_DigestVerifyInit
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_fetch
    - EVP_PKEY_paramgen
    - EVP_DigestSignInit
    - memcmp
    - EVP_PKEY_decrypt
    - EVP_PKEY_encrypt
    - EVP_PKEY_CTX_new_from_name
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_DigestSignFinal
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_SM2(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3143,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3144,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:3144,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:3146,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3148,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:3148,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3152,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/test/evp_extra_test.c:3152,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:3155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3156,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3157,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/test/evp_extra_test.c:3157,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3162,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:3163,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - alg
    - seed
    - seedlen
    - ret
    - retlen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3166
      start: 3129
    functionDepth: 6
    functionLinenumber: 3129
    functionLinenumberEnd: 3166
    functionName: ml_kem_seed_to_priv
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_get_octet_string
    - EVP_PKEY_todata
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int ml_kem_seed_to_priv(const char *alg, const unsigned char *seed,
      size_t seedlen,\n                    unsigned char **ret, size_t *retlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_extra_test.c:3184,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/test/evp_extra_test.c:3191,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/openssl/test/evp_extra_test.c:3198,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3211,1
    - Dst: ml_kem_seed_to_priv
      Src: /src/openssl/test/evp_extra_test.c:3211,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_extra_test.c:3218,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:3225,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3232,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3233,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:3233,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3234,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:3234,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3235,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/evp_extra_test.c:3235,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3236,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:3243,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:3243,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:3245,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/evp_extra_test.c:3245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3249,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_extra_test.c:3249,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3251,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:3251,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3252,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/openssl/test/evp_extra_test.c:3252,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3253,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:3258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:3259,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3260,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 49
    argCount: 3
    argNames:
    - tst
    - pub
    - uselibctx
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3169
    functionDepth: 7
    functionLinenumber: 3169
    functionLinenumberEnd: 3262
    functionName: test_set_get_raw_keys_int
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new_raw_private_key_ex
    - OPENSSL_zalloc
    - EVP_PKEY_eq
    - ml_kem_seed_to_priv
    - EVP_PKEY_new_raw_public_key_ex
    - OBJ_nid2sn
    - TEST_false
    - EVP_PKEY_new_raw_private_key
    - TEST_int_eq
    - EVP_PKEY_free
    - OPENSSL_free
    - TEST_true
    - EVP_PKEY_get_raw_private_key
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_new_raw_public_key
    - EVP_PKEY_get_raw_public_key
    linkageType: ''
    returnType: int
    signature: int test_set_get_raw_keys_int(int tst, int pub, int uselibctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_set_get_raw_keys_int
      Src: /src/openssl/test/evp_extra_test.c:3266,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/openssl/test/evp_extra_test.c:3267,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/openssl/test/evp_extra_test.c:3268,1
    - Dst: test_set_get_raw_keys_int
      Src: /src/openssl/test/evp_extra_test.c:3269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3264
    functionDepth: 8
    functionLinenumber: 3264
    functionLinenumberEnd: 3270
    functionName: test_set_get_raw_keys
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - test_set_get_raw_keys_int
    linkageType: ''
    returnType: int
    signature: int test_set_get_raw_keys(int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3273
    functionDepth: 0
    functionLinenumber: 3273
    functionLinenumberEnd: 3276
    functionName: pkey_custom_check
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pkey_custom_check(EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3281
    functionName: pkey_custom_pub_check
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pkey_custom_pub_check(EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3286
    functionName: pkey_custom_param_check
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pkey_custom_param_check(EVP_PKEY *pkey)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3308,1
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:3308,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3311,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test.c:3311,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3314,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:3314,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3317,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_extra_test.c:3317,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3320,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_extra_test.c:3320,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3323,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/evp_extra_test.c:3323,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_extra_test.c:3327,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/evp_extra_test.c:3329,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3334,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/evp_extra_test.c:3334,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3337,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/evp_extra_test.c:3337,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3340,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/evp_extra_test.c:3340,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3347,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3349,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3351,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3291
    functionDepth: 13
    functionLinenumber: 3291
    functionLinenumberEnd: 3353
    functionName: test_EVP_PKEY_check
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_param_check
    - EVP_PKEY_check
    - EVP_PKEY_get_id
    - TEST_int_eq
    - load_example_key
    - EVP_PKEY_free
    - EVP_PKEY_public_check
    - EVP_PKEY_up_ref
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKEY_check(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:3358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3363,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3364,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:3364,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3366,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:3366,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3367,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:3367,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_extra_test.c:3368,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pkey
    - mac
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3356
    functionDepth: 8
    functionLinenumber: 3356
    functionLinenumberEnd: 3374
    functionName: get_cmac_val
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestSignUpdate
    - EVP_DigestSignInit_ex
    - EVP_DigestSignFinal
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int get_cmac_val(EVP_PKEY *pkey, unsigned char *mac)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:3391,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_extra_test.c:3397,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3400,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:3400,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3401,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:3401,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_extra_test.c:3403,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3404,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:3404,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3407,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:3407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3408,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3409,1
    - Dst: get_cmac_val
      Src: /src/openssl/test/evp_extra_test.c:3409,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3413,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/openssl/test/evp_extra_test.c:3419,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/test/evp_extra_test.c:3419,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3420,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3421,1
    - Dst: get_cmac_val
      Src: /src/openssl/test/evp_extra_test.c:3421,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3422,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3429,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3430,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3375
    functionDepth: 9
    functionLinenumber: 3375
    functionLinenumberEnd: 3432
    functionName: test_CMAC_keygen
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - get_cmac_val
    - EVP_PKEY_CTX_ctrl
    - TEST_true
    - TEST_skip
    - EVP_aes_256_cbc
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_new_CMAC_key
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_keygen
    - TEST_ptr
    - TEST_mem_eq
    - EVP_PKEY_keygen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_CMAC_keygen(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3450,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3450,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:3456,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3458,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_extra_test.c:3458,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3459,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/openssl/test/evp_extra_test.c:3459,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3459,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3460,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/evp_extra_test.c:3460,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3462,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/openssl/test/evp_extra_test.c:3462,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3464,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/evp_extra_test.c:3464,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3466,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:3466,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3467,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3435
    functionDepth: 6
    functionLinenumber: 3435
    functionLinenumberEnd: 3477
    functionName: test_HKDF
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_sha256
    - TEST_ptr
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_CTX_set_hkdf_md
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_HKDF(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3494,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3494,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:3498,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3500,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_extra_test.c:3500,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3501,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/openssl/test/evp_extra_test.c:3501,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3501,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3502,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/evp_extra_test.c:3502,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3504,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/openssl/test/evp_extra_test.c:3504,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3506,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/evp_extra_test.c:3506,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3508,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:3508,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3509,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3515,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3479
    functionDepth: 6
    functionLinenumber: 3479
    functionLinenumberEnd: 3518
    functionName: test_emptyikm_HKDF
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_sha256
    - TEST_ptr
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_CTX_set_hkdf_md
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_emptyikm_HKDF(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3536,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3536,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:3540,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3542,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_extra_test.c:3542,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3543,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/openssl/test/evp_extra_test.c:3543,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3543,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3544,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/evp_extra_test.c:3544,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3546,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/openssl/test/evp_extra_test.c:3546,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3548,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/openssl/test/evp_extra_test.c:3548,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3550,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/openssl/test/evp_extra_test.c:3550,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3552,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:3552,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:3553,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3559,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3520
    functionDepth: 6
    functionLinenumber: 3520
    functionLinenumberEnd: 3562
    functionName: test_empty_salt_info_HKDF
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - EVP_PKEY_CTX_set1_hkdf_salt
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_sha256
    - TEST_ptr
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_CTX_set_hkdf_md
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_empty_salt_info_HKDF(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_new_ex
      Src: /src/openssl/test/evp_extra_test.c:3568,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3572,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3574,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:3574,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3577,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3577,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3583,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:3583,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3586,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3586,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3594
      start: 3565
    functionDepth: 2
    functionLinenumber: 3565
    functionLinenumberEnd: 3594
    functionName: test_X509_PUBKEY_inplace
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_new_ex
    - X509_PUBKEY_free
    - d2i_X509_PUBKEY
    - X509_PUBKEY_get0
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_X509_PUBKEY_inplace(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_PUBKEY_new_ex
      Src: /src/openssl/test/evp_extra_test.c:3603,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3604,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3605,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:3605,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3606,1
    - Dst: X509_PUBKEY_dup
      Src: /src/openssl/test/evp_extra_test.c:3606,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/evp_extra_test.c:3607,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3610,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3610,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3611,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3611,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/evp_extra_test.c:3612,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3612,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3612,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3615,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3620,1
    - Dst: d2i_X509_PUBKEY
      Src: /src/openssl/test/evp_extra_test.c:3620,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3621,1
    - Dst: X509_PUBKEY_dup
      Src: /src/openssl/test/evp_extra_test.c:3621,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3624,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3626,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/evp_extra_test.c:3626,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3632,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3633,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3635
      start: 3596
    functionDepth: 6
    functionLinenumber: 3596
    functionLinenumberEnd: 3635
    functionName: test_X509_PUBKEY_dup
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_ne
    - TEST_true
    - X509_PUBKEY_new_ex
    - X509_PUBKEY_free
    - X509_PUBKEY_dup
    - X509_PUBKEY_get0
    - d2i_X509_PUBKEY
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_X509_PUBKEY_dup(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:3651,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3652,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3653,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/evp_extra_test.c:3653,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/test/evp_extra_test.c:3659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3660,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3661,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:3661,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/test/evp_extra_test.c:3665,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3666,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3667,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:3667,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3669,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_extra_test.c:3669,1
    - Dst: strcpy
      Src: /src/openssl/test/evp_extra_test.c:3677,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3679,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:3681,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3683,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:3683,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3687,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3689,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:3689,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:3690,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3697,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/test/evp_extra_test.c:3697,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3697,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3698,1
    - Dst: EVP_PKEY_CTX_get_signature_md
      Src: /src/openssl/test/evp_extra_test.c:3698,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/evp_extra_test.c:3699,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3699,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:3705,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3706,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3707,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:3707,1
    - Dst: EVP_MD_CTX_settable_params
      Src: /src/openssl/test/evp_extra_test.c:3715,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3716,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:3717,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_extra_test.c:3717,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:3719,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:3723,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:3724,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:3726,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3728,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:3728,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3734,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3735,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3738
      start: 3639
    functionDepth: 8
    functionLinenumber: 3639
    functionLinenumberEnd: 3738
    functionName: test_EVP_PKEY_CTX_get_set_params
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_gettable_params
    - EVP_PKEY_CTX_get_signature_md
    - strcmp
    - TEST_ptr
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_locate_const
    - EVP_PKEY_CTX_free
    - TEST_true
    - EVP_MD_CTX_settable_params
    - OSSL_PARAM_construct_end
    - EVP_PKEY_sign_init
    - TEST_str_eq
    - EVP_DigestSignInit_ex
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_sha256
    - memset
    - TEST_ptr_null
    - EVP_PKEY_CTX_set_signature_md
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_MD_CTX_set_params
    - EVP_PKEY_CTX_settable_params
    - TEST_ptr_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKEY_CTX_get_set_params(EVP_PKEY *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3754,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3754,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3755,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:3755,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3756,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3757,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3757,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3758,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3758,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3759,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3759,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3760,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3760,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3762,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3762,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3763,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3763,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3764,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3764,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3765,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3765,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3767,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3767,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3770,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:3770,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3773,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:3773,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3774,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:3774,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3778,1
    - Dst: test_EVP_PKEY_CTX_get_set_params
      Src: /src/openssl/test/evp_extra_test.c:3781,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3784,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3785,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:3786,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:3787,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3788,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3789,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3790,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3791,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3792,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3741
    functionDepth: 9
    functionLinenumber: 3741
    functionLinenumberEnd: 3795
    functionName: test_DSA_get_set_params
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_gt
    - test_EVP_PKEY_CTX_get_set_params
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int test_DSA_get_set_params(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_EVP_PKEY_ffc_priv_pub
      Src: /src/openssl/test/evp_extra_test.c:3803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3801
    functionDepth: 8
    functionLinenumber: 3801
    functionLinenumberEnd: 3804
    functionName: test_DSA_priv_pub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - test_EVP_PKEY_ffc_priv_pub
    linkageType: ''
    returnType: int
    signature: int test_DSA_priv_pub(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3821,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:3821,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3822,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/evp_extra_test.c:3822,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3823,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3823,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3824,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3824,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3825,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:3825,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3827,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3827,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3828,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3828,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3829,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/evp_extra_test.c:3829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3831,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/evp_extra_test.c:3831,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3834,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:3834,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3835,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:3835,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3839,1
    - Dst: test_EVP_PKEY_CTX_get_set_params
      Src: /src/openssl/test/evp_extra_test.c:3842,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3845,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3846,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_extra_test.c:3847,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_extra_test.c:3848,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3849,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3850,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:3851,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3854
      start: 3808
    functionDepth: 9
    functionLinenumber: 3808
    functionLinenumberEnd: 3854
    functionName: test_RSA_get_set_params
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_gt
    - test_EVP_PKEY_CTX_get_set_params
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int test_RSA_get_set_params(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:3863,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3865,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:3865,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3866,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:3866,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_extra_test.c:3873,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3874,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3876,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:3878,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:3880,1
    - Dst: EVP_PKEY_encrypt_init_ex
      Src: /src/openssl/test/evp_extra_test.c:3880,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3888,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_extra_test.c:3890,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:3892,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3894,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:3894,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:3897,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_extra_test.c:3898,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3905,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3906,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3856
    functionDepth: 14
    functionLinenumber: 3856
    functionLinenumberEnd: 3909
    functionName: test_RSA_OAEP_set_get_params
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - TEST_str_eq
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_get_params
    - TEST_skip
    - OSSL_PARAM_construct_int
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - load_example_rsa_key
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_encrypt_init_ex
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_RSA_OAEP_set_get_params(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3919,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:3919,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3920,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_extra_test.c:3920,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3921,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/test/evp_extra_test.c:3921,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3924,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/test/evp_extra_test.c:3924,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3927,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_extra_test.c:3927,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3930,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/openssl/test/evp_extra_test.c:3930,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:3931,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3935,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/openssl/test/evp_extra_test.c:3935,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:3941,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3942,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3945
      start: 3912
    functionDepth: 14
    functionLinenumber: 3912
    functionLinenumberEnd: 3945
    functionName: test_RSA_OAEP_set_null_label
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_strdup
    - load_example_rsa_key
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_RSA_OAEP_set_null_label(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:3956,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:3962,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3964,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:3964,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:3964,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3965,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:3965,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:3965,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3966,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:3966,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:3966,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3967,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:3967,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:3967,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3968,1
    - Dst: BN_dup
      Src: /src/openssl/test/evp_extra_test.c:3968,1
    - Dst: BN_value_one
      Src: /src/openssl/test/evp_extra_test.c:3968,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3971,1
    - Dst: RSA_new
      Src: /src/openssl/test/evp_extra_test.c:3971,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3972,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:3972,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:3973,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:3973,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3976,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/evp_extra_test.c:3976,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3981,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/evp_extra_test.c:3981,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3987,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/evp_extra_test.c:3987,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:3992,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:3992,1
    - Dst: RSA_free
      Src: /src/openssl/test/evp_extra_test.c:3998,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:3999,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4000,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4001,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4002,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4003,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4004,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4005,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4008
      start: 3948
    functionDepth: 8
    functionLinenumber: 3948
    functionLinenumberEnd: 4008
    functionName: test_RSA_legacy
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_factors
    - EVP_DigestSignInit
    - RSA_set0_key
    - EVP_PKEY_new
    - RSA_free
    - RSA_new
    - EVP_PKEY_assign_RSA
    - BN_value_one
    - TEST_skip
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - TEST_ptr
    - TEST_true
    - EVP_sha256
    - BN_dup
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_RSA_legacy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4032,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4032,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4033,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4033,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4034,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4034,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4036,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4036,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4039,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4039,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4041,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4042,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4042,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4045,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4046,1
    - Dst: EVP_EncryptFinal
      Src: /src/openssl/test/evp_extra_test.c:4046,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4047,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4052,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4052,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4053,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4053,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4059,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4059,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4061,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4062,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4062,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4065,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4066,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/test/evp_extra_test.c:4066,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4067,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4068,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4073,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4074,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4012
    functionDepth: 6
    functionLinenumber: 4012
    functionLinenumberEnd: 4076
    functionName: test_decrypt_null_chunks
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_DecryptFinal
    - EVP_EncryptUpdate
    - EVP_DecryptInit_ex
    - TEST_int_eq
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - TEST_true
    - EVP_EncryptFinal
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_decrypt_null_chunks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_EVP_PKEY_ffc_priv_pub
      Src: /src/openssl/test/evp_extra_test.c:4086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4087
      start: 4084
    functionDepth: 8
    functionLinenumber: 4084
    functionLinenumberEnd: 4087
    functionName: test_DH_priv_pub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - test_EVP_PKEY_ffc_priv_pub
    linkageType: ''
    returnType: int
    signature: int test_DH_priv_pub(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4100,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:4100,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4101,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:4101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4102,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:4102,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4103,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:4103,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4104,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:4104,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4105,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:4105,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4106,1
    - Dst: DH_new
      Src: /src/openssl/test/evp_extra_test.c:4106,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4107,1
    - Dst: DH_set0_pqg
      Src: /src/openssl/test/evp_extra_test.c:4107,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4108,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/evp_extra_test.c:4108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4109,1
    - Dst: BN_new
      Src: /src/openssl/test/evp_extra_test.c:4109,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4110,1
    - Dst: BN_set_word
      Src: /src/openssl/test/evp_extra_test.c:4110,1
    - Dst: DH_get_2048_256
      Src: /src/openssl/test/evp_extra_test.c:4114,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:4115,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:4116,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4117,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4118,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4120,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4121,1
    - Dst: DH_set0_key
      Src: /src/openssl/test/evp_extra_test.c:4121,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4125,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/openssl/test/evp_extra_test.c:4125,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4126,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test.c:4126,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4129,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/evp_extra_test.c:4129,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4131,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4134,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/openssl/test/evp_extra_test.c:4134,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4135,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/evp_extra_test.c:4135,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4138,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_extra_test.c:4138,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/evp_extra_test.c:4141,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4146,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4147,1
    - Dst: BN_free
      Src: /src/openssl/test/evp_extra_test.c:4148,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4149,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4150,1
    - Dst: DH_free
      Src: /src/openssl/test/evp_extra_test.c:4151,1
    - Dst: DH_free
      Src: /src/openssl/test/evp_extra_test.c:4152,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4155
      start: 4090
    functionDepth: 4
    functionLinenumber: 4090
    functionLinenumberEnd: 4155
    functionName: test_EVP_PKEY_set1_DH
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - BN_free
    - DH_set0_pqg
    - DH_new
    - EVP_PKEY_new
    - BN_set_word
    - EVP_PKEY_get_id
    - TEST_int_eq
    - EVP_PKEY_free
    - DH_get_2048_256
    - DH_free
    - BN_new
    - TEST_true
    - DH_set0_key
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - TEST_size_t_ne
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_set1_DH
    linkageType: ''
    returnType: int
    signature: int test_EVP_PKEY_set1_DH(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:4174,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4179,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_extra_test.c:4179,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4184,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:4184,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4185,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/test/evp_extra_test.c:4185,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4186,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4186,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4191,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:4191,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4192,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:4192,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4197,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4198,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4199,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4166
    functionDepth: 8
    functionLinenumber: 4166
    functionLinenumberEnd: 4201
    functionName: test_keygen_with_empty_template
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new
    - TEST_skip
    - TEST_int_gt
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_new_id
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: int
    signature: int test_keygen_with_empty_template(int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4220,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test.c:4223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4224,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:4243,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:4247,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_extra_test.c:4252,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:4256,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:4257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4257,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4266,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test.c:4267,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4268,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4270
      start: 4211
    functionDepth: 5
    functionLinenumber: 4211
    functionLinenumberEnd: 4270
    functionName: test_pkey_ctx_fail_without_provider
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - TEST_info
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_pkey_ctx_fail_without_provider(int tst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test.c:4283,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4284,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/evp_extra_test.c:4284,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4286,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/evp_extra_test.c:4287,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4288,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:4291,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:4292,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_extra_test.c:4294,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_extra_test.c:4295,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4296,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:4296,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4297,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/evp_extra_test.c:4297,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4298,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4301
      start: 4272
    functionDepth: 10
    functionLinenumber: 4272
    functionLinenumberEnd: 4301
    functionName: test_rand_agglomeration
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_RAND_free
    - EVP_RAND_fetch
    - memset
    - OSSL_PARAM_construct_octet_string
    - TEST_int_ne
    - OSSL_PARAM_construct_end
    - EVP_RAND_CTX_free
    - EVP_RAND_CTX_set_params
    - TEST_true
    - EVP_RAND_generate
    - TEST_ptr
    - TEST_mem_eq
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_rand_agglomeration(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:4356,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_extra_test.c:4360,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4364,1
    - Dst: EVP_aes_128_ofb
      Src: /src/openssl/test/evp_extra_test.c:4370,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4374,1
    - Dst: EVP_aes_128_cfb
      Src: /src/openssl/test/evp_extra_test.c:4380,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4384,1
    - Dst: EVP_aes_128_gcm
      Src: /src/openssl/test/evp_extra_test.c:4390,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4394,1
    - Dst: EVP_aes_128_ccm
      Src: /src/openssl/test/evp_extra_test.c:4399,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4403,1
    - Dst: EVP_aes_128_ocb
      Src: /src/openssl/test/evp_extra_test.c:4413,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4426,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4427,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4427,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4428,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4428,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4429,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4429,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4431,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/openssl/test/evp_extra_test.c:4431,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4432,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:4432,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4433,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:4433,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:4435,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test.c:4437,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4440,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4441,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4445,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4445,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4446,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:4446,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4449,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4452,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4458,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4460,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4462
      start: 4308
    functionDepth: 6
    functionLinenumber: 4308
    functionLinenumberEnd: 4462
    functionName: test_evp_iv_aes
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptUpdate
    - TEST_ptr
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get_iv_length
    - TEST_size_t_gt
    - EVP_aes_128_cfb
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_get_original_iv
    - TEST_true
    - EVP_aes_128_ccm
    - EVP_aes_128_ofb
    - EVP_CIPHER_CTX_get_updated_iv
    - EVP_aes_128_ocb
    - TEST_skip
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - EVP_aes_128_gcm
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_evp_iv_aes(int idx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:4506,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4510,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4515,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4520,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4525,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4530,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4535,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4544,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4544,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4545,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4545,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4546,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:4546,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4548,1
    - Dst: EVP_CIPHER_CTX_get_original_iv
      Src: /src/openssl/test/evp_extra_test.c:4548,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4549,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:4549,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4550,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:4550,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:4552,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_extra_test.c:4554,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4557,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4558,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4561,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4561,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4562,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:4562,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4564,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4569,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4570,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4572
      start: 4465
    functionDepth: 6
    functionLinenumber: 4465
    functionLinenumberEnd: 4572
    functionName: test_evp_iv_des
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_iv_length
    - TEST_size_t_gt
    - EVP_CIPHER_CTX_get_original_iv
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_get_updated_iv
    - TEST_skip
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_evp_iv_des(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:4586,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4588,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4588,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4589,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/test/evp_extra_test.c:4589,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4590,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:4590,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4597
      start: 4576
    functionDepth: 4
    functionLinenumber: 4576
    functionLinenumberEnd: 4597
    functionName: test_evp_bf_default_keylen
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - TEST_skip
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - TEST_ptr
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: int test_evp_bf_default_keylen(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:4626,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/test/evp_extra_test.c:4630,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4631,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4632,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:4632,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4633,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/test/evp_extra_test.c:4633,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4634,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:4634,1
    - Dst: i2d_PublicKey
      Src: /src/openssl/test/evp_extra_test.c:4636,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:4638,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/evp_extra_test.c:4639,1
    - Dst: i2d_PublicKey
      Src: /src/openssl/test/evp_extra_test.c:4642,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:4643,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4644,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4650,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:4650,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4651,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/openssl/test/evp_extra_test.c:4651,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4652,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/test/evp_extra_test.c:4652,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4656,1
    - Dst: d2i_PublicKey
      Src: /src/openssl/test/evp_extra_test.c:4656,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4659,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_extra_test.c:4659,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4666,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4667,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4669,1
    - Dst: EC_KEY_free
      Src: /src/openssl/test/evp_extra_test.c:4670,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4673
      start: 4611
    functionDepth: 13
    functionLinenumber: 4611
    functionLinenumberEnd: 4673
    functionName: test_ecpub
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_assign_EC_KEY
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - TEST_true
    - d2i_PublicKey
    - EVP_PKEY_new
    - EVP_PKEY_eq
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - i2d_PublicKey
    - TEST_skip
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    - TEST_int_ge
    - TEST_int_eq
    - TEST_int_lt
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_ecpub(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:4683,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4684,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4685,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:4685,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4686,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_extra_test.c:4686,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4687,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/test/evp_extra_test.c:4687,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4688,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_keygen_md
      Src: /src/openssl/test/evp_extra_test.c:4688,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4689,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_extra_test.c:4689,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:4691,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4692,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4695
      start: 4676
    functionDepth: 10
    functionLinenumber: 4676
    functionLinenumberEnd: 4695
    functionName: test_EVP_rsa_pss_with_keygen_bits
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_CTX_set_rsa_pss_keygen_md
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_keygen
    - TEST_true
    - EVP_MD_fetch
    - EVP_PKEY_keygen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_rsa_pss_with_keygen_bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4707,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:4707,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4708,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:4708,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4709,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4709,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4710,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:4710,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4711,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/test/evp_extra_test.c:4711,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4712,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/openssl/test/evp_extra_test.c:4712,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4713,1
    - Dst: EVP_PKEY_CTX_get_rsa_pss_saltlen
      Src: /src/openssl/test/evp_extra_test.c:4713,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:4714,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4716,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4717,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:4718,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4721
      start: 4697
    functionDepth: 14
    functionLinenumber: 4697
    functionLinenumberEnd: 4721
    functionName: test_EVP_rsa_pss_set_saltlen
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_MD_free
    - EVP_MD_fetch
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_get_rsa_pss_saltlen
    - load_example_rsa_key
    - TEST_true
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_EVP_rsa_pss_set_saltlen(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_example_key
      Src: /src/openssl/test/evp_extra_test.c:4728,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4730,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:4731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4734
      start: 4723
    functionDepth: 13
    functionLinenumber: 4723
    functionLinenumberEnd: 4734
    functionName: test_EVP_rsa_invalid_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - EVP_PKEY_free
    - load_example_key
    linkageType: ''
    returnType: int
    signature: int test_EVP_rsa_invalid_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4741,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4743,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - vctx
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4747
      start: 4737
    functionDepth: 4
    functionLinenumber: 4737
    functionLinenumberEnd: 4747
    functionName: md_names
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_free
    - TEST_ptr
    - EVP_CIPHER_fetch
    linkageType: ''
    returnType: void
    signature: void md_names(const char *name, void *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4760,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_extra_test.c:4763,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4764,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4771,1
    - Dst: EVP_MD_names_do_all
      Src: /src/openssl/test/evp_extra_test.c:4771,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4774,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_extra_test.c:4779,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4780,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4782
      start: 4753
    functionDepth: 10
    functionLinenumber: 4753
    functionLinenumberEnd: 4782
    functionName: test_names_do_all
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - EVP_MD_fetch
    - EVP_MD_names_do_all
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_names_do_all(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4876,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:4876,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4880,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_INIT_TEST_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4885
      start: 4871
    functionDepth: 5
    functionLinenumber: 4871
    functionLinenumberEnd: 4885
    functionName: evp_init_seq_set_iv
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - TEST_true
    - EVP_CipherInit_ex
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int evp_init_seq_set_iv(EVP_CIPHER_CTX *ctx, const EVP_INIT_TEST_st
      *t)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4904,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4909,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4909,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4913,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4913,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4917,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:4917,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4921,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4921,1
    - Dst: evp_init_seq_set_iv
      Src: /src/openssl/test/evp_extra_test.c:4925,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4929,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4929,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4933,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:4933,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4937,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:4937,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4943,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:4943,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4949,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:4949,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4953,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:4958,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:4958,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:4963,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:4971,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:4972,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:4973,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 84
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4975
      start: 4892
    functionDepth: 6
    functionLinenumber: 4892
    functionLinenumberEnd: 4975
    functionName: test_evp_init_seq
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - evp_init_seq_set_iv
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_set_padding
    - TEST_info
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_evp_init_seq(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4991,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:4991,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:4992,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:4992,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4994,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:4994,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4996,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:4996,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:4998,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:4998,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5000,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5002,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:5002,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5004,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5004,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5006,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5006,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5008,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5012,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:5013,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5015
      start: 4981
    functionDepth: 5
    functionLinenumber: 4981
    functionLinenumberEnd: 5015
    functionName: test_evp_reinit_seq
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - EVP_CipherInit_ex2
    linkageType: ''
    returnType: int
    signature: int test_evp_reinit_seq(int idx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5050,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5050,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5054,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:5054,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5058,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5058,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5062,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5062,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5066,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5066,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5071,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5071,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5075,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5079,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5079,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5083,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5083,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5088,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5088,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5092,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:5099,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5100,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:5101,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5040
    functionDepth: 5
    functionLinenumber: 5040
    functionLinenumberEnd: 5103
    functionName: test_evp_reset
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_set_padding
    - TEST_info
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_evp_reset(int idx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5165,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5165,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:5169,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:5170,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5174,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5174,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5178,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5178,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5182,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5182,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5186,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_extra_test.c:5186,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/evp_extra_test.c:5190,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:5190,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test.c:5190,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_extra_test.c:5195,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:5196,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/evp_extra_test.c:5200,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5204,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5204,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:5212,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5213,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:5214,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5216
      start: 5153
    functionDepth: 6
    functionLinenumber: 5153
    functionLinenumberEnd: 5216
    functionName: test_evp_updated_iv
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_get_iv_length
    - TEST_mem_ne
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_CTX_get_updated_iv
    - fips_provider_version_ge
    - TEST_info
    - TEST_false
    - TEST_int_ge
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - TEST_true
    - ERR_peek_error
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_evp_updated_iv(int idx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5256,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5256,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5260,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:5260,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5264,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5264,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:5268,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5268,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5273,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5273,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5277,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5277,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_extra_test.c:5281,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5282,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5282,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5287,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5287,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5291,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:5295,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5295,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5300,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:5305,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5305,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5310,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5310,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5314,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5314,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5318,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5318,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5323,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5323,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5327,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_extra_test.c:5331,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5331,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:5336,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_extra_test.c:5343,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5344,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:5345,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 105
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5347
      start: 5244
    functionDepth: 5
    functionLinenumber: 5244
    functionLinenumberEnd: 5347
    functionName: test_gcm_reinit
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_set_padding
    - TEST_info
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_gcm_reinit(int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5372,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5372,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5375,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:5375,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5379,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5379,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5382,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5382,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:5386,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5388,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5388,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_extra_test.c:5391,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:5392,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5392,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_extra_test.c:5394,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_extra_test.c:5397,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5401,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:5402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5404
      start: 5358
    functionDepth: 6
    functionLinenumber: 5358
    functionLinenumberEnd: 5404
    functionName: test_ivlen_change
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - ERR_pop_to_mark
    - OSSL_PARAM_construct_size_t
    - TEST_false
    - ERR_set_mark
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int test_ivlen_change(int idx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:5441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5443,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5443,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5446,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:5446,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5450,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5450,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5453,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5453,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:5457,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5459,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:5459,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_extra_test.c:5462,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:5463,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_extra_test.c:5463,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_extra_test.c:5465,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_extra_test.c:5468,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5472,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:5473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5475
      start: 5426
    functionDepth: 6
    functionLinenumber: 5426
    functionLinenumberEnd: 5475
    functionName: test_keylen_change
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - ERR_pop_to_mark
    - OSSL_PARAM_construct_size_t
    - TEST_false
    - ERR_set_mark
    - TEST_skip
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int test_keylen_change(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_init
      Src: /src/openssl/test/evp_extra_test.c:5487,1
    - Dst: pinit
      Src: /src/openssl/test/evp_extra_test.c:5488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5489
      start: 5483
    functionDepth: 1
    functionLinenumber: 5483
    functionLinenumberEnd: 5489
    functionName: custom_pmeth_init
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - pinit
    - EVP_PKEY_meth_get_init
    linkageType: ''
    returnType: int
    signature: int custom_pmeth_init(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_cleanup
      Src: /src/openssl/test/evp_extra_test.c:5495,1
    - Dst: pcleanup
      Src: /src/openssl/test/evp_extra_test.c:5496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5491
    functionDepth: 1
    functionLinenumber: 5491
    functionLinenumberEnd: 5497
    functionName: custom_pmeth_cleanup
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_get_cleanup
    - pcleanup
    linkageType: ''
    returnType: void
    signature: void custom_pmeth_cleanup(EVP_PKEY_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_sign
      Src: /src/openssl/test/evp_extra_test.c:5506,1
    - Dst: psign
      Src: /src/openssl/test/evp_extra_test.c:5507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5508
      start: 5499
    functionDepth: 1
    functionLinenumber: 5499
    functionLinenumberEnd: 5508
    functionName: custom_pmeth_sign
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - psign
    - EVP_PKEY_meth_get_sign
    linkageType: ''
    returnType: int
    signature: "int custom_pmeth_sign(EVP_PKEY_CTX *ctx, unsigned char *out,\n                             size_t
      *outlen, const unsigned char *in,\n                             size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_digestsign
      Src: /src/openssl/test/evp_extra_test.c:5517,1
    - Dst: pdigestsign
      Src: /src/openssl/test/evp_extra_test.c:5518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbs
    - tbslen
    argTypes:
    - EVP_MD_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5510
    functionDepth: 1
    functionLinenumber: 5510
    functionLinenumberEnd: 5519
    functionName: custom_pmeth_digestsign
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_get_digestsign
    - pdigestsign
    linkageType: ''
    returnType: int
    signature: "int custom_pmeth_digestsign(EVP_MD_CTX *ctx, unsigned char *sig,\n
      \                                  size_t *siglen, const unsigned char *tbs,\n
      \                                  size_t tbslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_derive
      Src: /src/openssl/test/evp_extra_test.c:5526,1
    - Dst: pderive
      Src: /src/openssl/test/evp_extra_test.c:5527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5528
      start: 5521
    functionDepth: 1
    functionLinenumber: 5521
    functionLinenumberEnd: 5528
    functionName: custom_pmeth_derive
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - pderive
    - EVP_PKEY_meth_get_derive
    linkageType: ''
    returnType: int
    signature: "int custom_pmeth_derive(EVP_PKEY_CTX *ctx, unsigned char *key,\n                               size_t
      *keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_copy
      Src: /src/openssl/test/evp_extra_test.c:5534,1
    - Dst: pcopy
      Src: /src/openssl/test/evp_extra_test.c:5535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5536
      start: 5530
    functionDepth: 1
    functionLinenumber: 5530
    functionLinenumberEnd: 5536
    functionName: custom_pmeth_copy
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_get_copy
    - pcopy
    linkageType: ''
    returnType: int
    signature: int custom_pmeth_copy(EVP_PKEY_CTX *dst, const EVP_PKEY_CTX *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5544,1
    - Dst: pctrl
      Src: /src/openssl/test/evp_extra_test.c:5551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - type
    - p1
    - p2
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5552
      start: 5540
    functionDepth: 1
    functionLinenumber: 5540
    functionLinenumberEnd: 5552
    functionName: custom_pmeth_ctrl
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - pctrl
    - EVP_PKEY_meth_get_ctrl
    linkageType: ''
    returnType: int
    signature: int custom_pmeth_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:5564,1
    - Dst: load_example_rsa_key
      Src: /src/openssl/test/evp_extra_test.c:5577,1
    - Dst: load_example_dsa_key
      Src: /src/openssl/test/evp_extra_test.c:5583,1
    - Dst: load_example_ec_key
      Src: /src/openssl/test/evp_extra_test.c:5592,1
    - Dst: load_example_ed25519_key
      Src: /src/openssl/test/evp_extra_test.c:5602,1
    - Dst: load_example_dh_key
      Src: /src/openssl/test/evp_extra_test.c:5612,1
    - Dst: load_example_x25519_key
      Src: /src/openssl/test/evp_extra_test.c:5622,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_extra_test.c:5628,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5632,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5636,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/test/evp_extra_test.c:5636,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/evp_extra_test.c:5642,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5643,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5647,1
    - Dst: evp_pkey_copy_downgraded
      Src: /src/openssl/test/evp_extra_test.c:5647,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:5648,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:5651,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5652,1
    - Dst: evp_pkey_is_legacy
      Src: /src/openssl/test/evp_extra_test.c:5652,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5656,1
    - Dst: EVP_PKEY_meth_find
      Src: /src/openssl/test/evp_extra_test.c:5656,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5657,1
    - Dst: EVP_PKEY_meth_get0_info
      Src: /src/openssl/test/evp_extra_test.c:5660,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5661,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5662,1
    - Dst: EVP_PKEY_meth_new
      Src: /src/openssl/test/evp_extra_test.c:5662,1
    - Dst: EVP_PKEY_meth_set_digestsign
      Src: /src/openssl/test/evp_extra_test.c:5666,1
    - Dst: EVP_PKEY_meth_set_derive
      Src: /src/openssl/test/evp_extra_test.c:5668,1
    - Dst: EVP_PKEY_meth_set_sign
      Src: /src/openssl/test/evp_extra_test.c:5670,1
    - Dst: EVP_PKEY_meth_set_init
      Src: /src/openssl/test/evp_extra_test.c:5673,1
    - Dst: EVP_PKEY_meth_set_cleanup
      Src: /src/openssl/test/evp_extra_test.c:5674,1
    - Dst: EVP_PKEY_meth_set_copy
      Src: /src/openssl/test/evp_extra_test.c:5675,1
    - Dst: EVP_PKEY_meth_set_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5677,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5678,1
    - Dst: EVP_PKEY_meth_add0
      Src: /src/openssl/test/evp_extra_test.c:5678,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5682,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5683,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5684,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_extra_test.c:5684,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:5685,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5685,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5688,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:5689,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/evp_extra_test.c:5689,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:5690,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:5690,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5691,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:5691,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:5692,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_extra_test.c:5692,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5695,1
    - Dst: EVP_PKEY_size
      Src: /src/openssl/test/evp_extra_test.c:5696,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:5697,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5698,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5699,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5700,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:5700,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/evp_extra_test.c:5701,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/test/evp_extra_test.c:5701,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5704,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5708,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:5708,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5711,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:5711,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5712,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:5712,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:5719,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5720,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5722,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:5723,1
    - Dst: EVP_PKEY_meth_remove
      Src: /src/openssl/test/evp_extra_test.c:5724,1
    - Dst: EVP_PKEY_meth_free
      Src: /src/openssl/test/evp_extra_test.c:5725,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 130
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5728
      start: 5554
    functionDepth: 14
    functionLinenumber: 5554
    functionLinenumberEnd: 5728
    functionName: test_custom_pmeth
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_set_sign
    - EVP_PKEY_size
    - EVP_PKEY_meth_remove
    - EVP_PKEY_derive_init
    - EVP_DigestUpdate
    - EVP_PKEY_meth_free
    - EVP_PKEY_CTX_new
    - OPENSSL_free
    - EVP_DigestSign
    - load_example_rsa_key
    - load_example_ec_key
    - TEST_ptr
    - EVP_PKEY_meth_set_digestsign
    - evp_pkey_is_legacy
    - EVP_PKEY_meth_set_copy
    - EVP_PKEY_meth_set_cleanup
    - EVP_PKEY_CTX_ctrl
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_meth_new
    - TEST_true
    - load_example_x25519_key
    - evp_pkey_is_provided
    - OPENSSL_malloc
    - TEST_error
    - load_example_dh_key
    - EVP_PKEY_new
    - EVP_PKEY_meth_set_derive
    - EVP_PKEY_meth_add0
    - EVP_PKEY_derive
    - EVP_PKEY_meth_find
    - EVP_sha256
    - EVP_PKEY_meth_set_ctrl
    - EVP_PKEY_meth_set_init
    - EVP_DigestSignInit
    - TEST_int_ge
    - TEST_int_eq
    - EVP_PKEY_derive_set_peer
    - evp_pkey_copy_downgraded
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestSignFinal
    - load_example_dsa_key
    - load_example_ed25519_key
    - EVP_PKEY_meth_get0_info
    linkageType: ''
    returnType: int
    signature: int test_custom_pmeth(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:5732,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:5732,1
    - Dst: EVP_CIPHER_meth_dup
      Src: /src/openssl/test/evp_extra_test.c:5733,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_extra_test.c:5733,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5736,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5736,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/test/evp_extra_test.c:5742,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/test/evp_extra_test.c:5743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5746
      start: 5730
    functionDepth: 4
    functionLinenumber: 5730
    functionLinenumberEnd: 5746
    functionName: test_evp_md_cipher_meth
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_meth_dup
    - EVP_MD_meth_free
    - EVP_CIPHER_meth_free
    - EVP_MD_meth_dup
    - TEST_ptr
    - EVP_sha256
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_evp_md_cipher_meth(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_md_data
      Src: /src/openssl/test/evp_extra_test.c:5757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5764
      start: 5755
    functionDepth: 0
    functionLinenumber: 5755
    functionLinenumberEnd: 5764
    functionName: custom_md_init
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_md_data
    linkageType: ''
    returnType: int
    signature: int custom_md_init(EVP_MD_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_md_data
      Src: /src/openssl/test/evp_extra_test.c:5768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5776
      start: 5766
    functionDepth: 0
    functionLinenumber: 5766
    functionLinenumberEnd: 5776
    functionName: custom_md_cleanup
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_md_data
    linkageType: ''
    returnType: int
    signature: int custom_md_cleanup(EVP_MD_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:5794,1
    - Dst: OBJ_create
      Src: /src/openssl/test/evp_extra_test.c:5798,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test.c:5799,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5801,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/evp_extra_test.c:5801,1
    - Dst: EVP_MD_meth_new
      Src: /src/openssl/test/evp_extra_test.c:5803,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5804,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5807,1
    - Dst: EVP_MD_meth_set_init
      Src: /src/openssl/test/evp_extra_test.c:5807,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5808,1
    - Dst: EVP_MD_meth_set_cleanup
      Src: /src/openssl/test/evp_extra_test.c:5808,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5809,1
    - Dst: EVP_MD_meth_set_app_datasize
      Src: /src/openssl/test/evp_extra_test.c:5809,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5813,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5814,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5820,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5820,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5821,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5821,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:5821,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5822,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:5822,1
    - Dst: strlen
      Src: /src/openssl/test/evp_extra_test.c:5822,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5823,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:5823,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5824,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5825,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5828,1
    - Dst: OBJ_create
      Src: /src/openssl/test/evp_extra_test.c:5828,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5830,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/evp_extra_test.c:5830,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test.c:5830,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5831,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_extra_test.c:5831,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/evp_extra_test.c:5831,1
    - Dst: ASN1_OBJECT_create
      Src: /src/openssl/test/evp_extra_test.c:5834,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5837,1
    - Dst: OBJ_add_object
      Src: /src/openssl/test/evp_extra_test.c:5837,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/evp_extra_test.c:5842,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5843,1
    - Dst: EVP_MD_meth_free
      Src: /src/openssl/test/evp_extra_test.c:5844,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5846
      start: 5778
    functionDepth: 8
    functionLinenumber: 5778
    functionLinenumberEnd: 5846
    functionName: test_custom_md_meth
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OBJ_create
    - EVP_DigestUpdate
    - EVP_MD_meth_set_init
    - OBJ_txt2nid
    - TEST_ptr
    - strlen
    - ASN1_OBJECT_create
    - EVP_DigestInit_ex
    - TEST_true
    - ERR_peek_error
    - OBJ_add_object
    - ERR_get_error
    - EVP_DigestFinal_ex
    - ERR_GET_LIB
    - TEST_int_ne
    - TEST_skip
    - EVP_sha256
    - EVP_MD_meth_free
    - TEST_int_eq
    - EVP_MD_CTX_new
    - ERR_GET_REASON
    - EVP_MD_CTX_free
    - EVP_MD_meth_set_app_datasize
    - EVP_MD_meth_new
    - EVP_MD_meth_set_cleanup
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int test_custom_md_meth(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/test/evp_extra_test.c:5858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - key
    - iv
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5865
      start: 5855
    functionDepth: 1
    functionLinenumber: 5855
    functionLinenumberEnd: 5865
    functionName: custom_ciph_init
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    linkageType: ''
    returnType: int
    signature: "int custom_ciph_init(EVP_CIPHER_CTX *ctx, const unsigned char *key,\n
      \                           const unsigned char *iv, int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_cipher_data
      Src: /src/openssl/test/evp_extra_test.c:5869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5877
      start: 5867
    functionDepth: 1
    functionLinenumber: 5867
    functionLinenumberEnd: 5877
    functionName: custom_ciph_cleanup
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_cipher_data
    linkageType: ''
    returnType: int
    signature: int custom_ciph_cleanup(EVP_CIPHER_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:5891,1
    - Dst: OBJ_create
      Src: /src/openssl/test/evp_extra_test.c:5895,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/evp_extra_test.c:5896,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5898,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/evp_extra_test.c:5898,1
    - Dst: EVP_CIPHER_meth_new
      Src: /src/openssl/test/evp_extra_test.c:5900,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5901,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5904,1
    - Dst: EVP_CIPHER_meth_set_init
      Src: /src/openssl/test/evp_extra_test.c:5904,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5905,1
    - Dst: EVP_CIPHER_meth_set_flags
      Src: /src/openssl/test/evp_extra_test.c:5905,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5906,1
    - Dst: EVP_CIPHER_meth_set_cleanup
      Src: /src/openssl/test/evp_extra_test.c:5906,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5907,1
    - Dst: EVP_CIPHER_meth_set_impl_ctx_size
      Src: /src/openssl/test/evp_extra_test.c:5907,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5912,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5918,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5918,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5919,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_extra_test.c:5919,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_extra_test.c:5919,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5921,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:5922,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:5927,1
    - Dst: EVP_CIPHER_meth_free
      Src: /src/openssl/test/evp_extra_test.c:5928,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5930
      start: 5879
    functionDepth: 8
    functionLinenumber: 5879
    functionLinenumberEnd: 5930
    functionName: test_custom_ciph_meth
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_meth_set_impl_ctx_size
    - TEST_int_ne
    - OBJ_create
    - EVP_CIPHER_meth_set_flags
    - TEST_true
    - EVP_CIPHER_meth_set_cleanup
    - EVP_CIPHER_meth_free
    - TEST_int_eq
    - TEST_skip
    - EVP_CIPHER_CTX_free
    - EVP_CipherInit_ex
    - EVP_CIPHER_meth_new
    - OBJ_txt2nid
    - EVP_CIPHER_meth_set_init
    - TEST_ptr
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_custom_ciph_meth(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5967,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/test/evp_extra_test.c:5967,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:5970,1
    - Dst: ENGINE_init
      Src: /src/openssl/test/evp_extra_test.c:5970,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/evp_extra_test.c:5971,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/openssl/test/evp_extra_test.c:5977,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_extra_test.c:5978,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/openssl/test/evp_extra_test.c:5981,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_extra_test.c:5982,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/openssl/test/evp_extra_test.c:5985,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_extra_test.c:5989,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5992,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:5995,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:5995,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:5998,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/evp_extra_test.c:5998,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6001,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6004,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6004,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6005,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6005,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6008,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6008,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6011,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6011,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6015,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6021,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6022,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:6023,1
    - Dst: ENGINE_finish
      Src: /src/openssl/test/evp_extra_test.c:6024,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/evp_extra_test.c:6025,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6028
      start: 5934
    functionDepth: 8
    functionLinenumber: 5934
    functionLinenumberEnd: 6028
    functionName: test_signatures_with_engine
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ENGINE_finish
    - TEST_ptr
    - ENGINE_free
    - EVP_PKEY_free
    - EVP_DigestSignUpdate
    - TEST_true
    - OPENSSL_malloc
    - TEST_error
    - ENGINE_init
    - EVP_PKEY_new_raw_private_key
    - EVP_PKEY_new_CMAC_key
    - EVP_sha256
    - EVP_DigestSignInit
    - TEST_false
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestSignFinal
    - ENGINE_by_id
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_signatures_with_engine(int tst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6044,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/test/evp_extra_test.c:6044,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6047,1
    - Dst: ENGINE_init
      Src: /src/openssl/test/evp_extra_test.c:6047,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/evp_extra_test.c:6048,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6052,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6052,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6053,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6053,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6056,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6056,1
    - Dst: EVP_aes_128_cbc
      Src: /src/openssl/test/evp_extra_test.c:6056,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6060,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/test/evp_extra_test.c:6060,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6063,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6063,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6064,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6064,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6069,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6070,1
    - Dst: ENGINE_finish
      Src: /src/openssl/test/evp_extra_test.c:6071,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/evp_extra_test.c:6072,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6075
      start: 6030
    functionDepth: 7
    functionLinenumber: 6030
    functionLinenumberEnd: 6075
    functionName: test_cipher_with_engine
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - ENGINE_free
    - EVP_CIPHER_CTX_copy
    - ENGINE_init
    - EVP_EncryptUpdate
    - EVP_EncryptFinal_ex
    - ENGINE_by_id
    - EVP_CIPHER_CTX_free
    - ENGINE_finish
    - TEST_true
    - TEST_ptr
    - EVP_aes_128_cbc
    linkageType: ''
    returnType: int
    signature: int test_cipher_with_engine(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_extra_test.c:6094,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_extra_test.c:6094,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/evp_extra_test.c:6096,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:6097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6102
      start: 6088
    functionDepth: 7
    functionLinenumber: 6088
    functionLinenumberEnd: 6102
    functionName: test_ecx_short_keys
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - EVP_PKEY_new_raw_private_key_ex
    - TEST_ptr_null
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int test_ecx_short_keys(int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6123
      start: 6113
    functionDepth: 0
    functionLinenumber: 6113
    functionLinenumberEnd: 6123
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:6143,1
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:6148,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/test/evp_extra_test.c:6153,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_extra_test.c:6153,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6155,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6158,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6158,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/evp_extra_test.c:6161,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:6164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6167,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6167,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:6170,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_extra_test.c:6170,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_extra_test.c:6179,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_extra_test.c:6179,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_extra_test.c:6181,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6185,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6186,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:6187,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6190
      start: 6127
    functionDepth: 8
    functionLinenumber: 6127
    functionLinenumberEnd: 6190
    functionName: test_ecx_not_private_key
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - EVP_PKEY_new_raw_public_key_ex
    - OBJ_nid2sn
    - ERR_clear_error
    - TEST_skip
    - EVP_MD_CTX_new
    - TEST_int_eq
    - ERR_GET_REASON
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestSign
    - EVP_PKEY_free
    - ERR_peek_error
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_ecx_not_private_key(int tst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/test/evp_extra_test.c:6205,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6209,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/evp_extra_test.c:6209,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6213,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_extra_test.c:6213,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6215,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_extra_test.c:6215,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6216,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_extra_test.c:6216,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6217,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6221,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6221,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6222,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6222,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6224,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6224,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6225,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6225,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6226,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6226,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6227,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6227,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6230,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6233,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6233,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6234,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_extra_test.c:6234,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6236,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6236,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6237,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6237,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6238,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_extra_test.c:6238,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6239,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_extra_test.c:6239,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6245,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_extra_test.c:6246,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6247,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/evp_extra_test.c:6248,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6250
      start: 6193
    functionDepth: 8
    functionLinenumber: 6193
    functionLinenumberEnd: 6250
    functionName: test_sign_continuation
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - fake_rsa_start
    - EVP_PKEY_fromdata
    - fake_rsa_finish
    - TEST_false
    - EVP_PKEY_CTX_new_from_name
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_DigestSignInit_ex
    - OSSL_PARAM_int
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int test_sign_continuation(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6269,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6270,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6270,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:6273,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6276,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6276,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6278,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6278,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6280,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6280,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6282,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6282,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:6285,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6288,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:6288,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6289,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6290,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6295,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6296,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 12
    argNames:
    - gcm_key
    - gcm_key_s
    - gcm_iv
    - gcm_ivlen
    - gcm_pt
    - gcm_pt_s
    - gcm_aad
    - gcm_aad_s
    - gcm_ct
    - gcm_ct_s
    - gcm_tag
    - gcm_tag_s
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6299
      start: 6252
    functionDepth: 6
    functionLinenumber: 6252
    functionLinenumberEnd: 6299
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_params
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptUpdate
    - OSSL_PARAM_construct_size_t
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_encrypt(const unsigned char *gcm_key, size_t gcm_key_s,\n
      \                          const unsigned char *gcm_iv, size_t gcm_ivlen,\n
      \                          const unsigned char *gcm_pt, size_t gcm_pt_s,\n                           const
      unsigned char *gcm_aad, size_t gcm_aad_s,\n                           const
      unsigned char *gcm_ct, size_t gcm_ct_s,\n                           const unsigned
      char *gcm_tag, size_t gcm_tag_s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6317,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6320,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:6323,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6326,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6326,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6328,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6328,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6330,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6330,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6332,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:6335,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6338,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:6338,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6339,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6339,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6344,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6345,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 12
    argNames:
    - gcm_key
    - gcm_key_s
    - gcm_iv
    - gcm_ivlen
    - gcm_pt
    - gcm_pt_s
    - gcm_aad
    - gcm_aad_s
    - gcm_ct
    - gcm_ct_s
    - gcm_tag
    - gcm_tag_s
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6348
      start: 6301
    functionDepth: 6
    functionLinenumber: 6301
    functionLinenumberEnd: 6348
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_size_t
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_fetch
    - EVP_DecryptInit_ex2
    - EVP_CIPHER_free
    - TEST_true
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_decrypt(const unsigned char *gcm_key, size_t gcm_key_s,\n
      \                          const unsigned char *gcm_iv, size_t gcm_ivlen,\n
      \                          const unsigned char *gcm_pt, size_t gcm_pt_s,\n                           const
      unsigned char *gcm_aad, size_t gcm_aad_s,\n                           const
      unsigned char *gcm_ct, size_t gcm_ct_s,\n                           const unsigned
      char *gcm_tag, size_t gcm_tag_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_encrypt
      Src: /src/openssl/test/evp_extra_test.c:6384,1
    - Dst: aes_gcm_decrypt
      Src: /src/openssl/test/evp_extra_test.c:6387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6390
      start: 6350
    functionDepth: 0
    functionLinenumber: 6350
    functionLinenumberEnd: 6390
    functionName: test_aes_gcm_ivlen_change_cve_2023_5363
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - aes_gcm_encrypt
    - aes_gcm_decrypt
    linkageType: ''
    returnType: int
    signature: int test_aes_gcm_ivlen_change_cve_2023_5363(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6406,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6406,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6407,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6407,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:6410,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6413,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6413,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6414,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6414,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6416,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6416,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6419,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6424,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 6
    argNames:
    - rc4_key
    - rc4_key_s
    - rc4_pt
    - rc4_pt_s
    - rc4_ct
    - rc4_ct_s
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6428
      start: 6393
    functionDepth: 6
    functionLinenumber: 6393
    functionLinenumberEnd: 6428
    functionName: rc4_encrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - EVP_EncryptUpdate
    - OSSL_PARAM_construct_size_t
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int rc4_encrypt(const unsigned char *rc4_key, size_t rc4_key_s,\n
      \                      const unsigned char *rc4_pt, size_t rc4_pt_s,\n                       const
      unsigned char *rc4_ct, size_t rc4_ct_s)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6443,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6446,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_extra_test.c:6449,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6452,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/test/evp_extra_test.c:6452,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6453,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6453,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6455,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6460,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - rc4_key
    - rc4_key_s
    - rc4_pt
    - rc4_pt_s
    - rc4_ct
    - rc4_ct_s
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6464
      start: 6430
    functionDepth: 6
    functionLinenumber: 6430
    functionLinenumberEnd: 6464
    functionName: rc4_decrypt
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_size_t
    - EVP_DecryptUpdate
    - EVP_CIPHER_fetch
    - EVP_DecryptInit_ex2
    - EVP_CIPHER_free
    - TEST_true
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int rc4_decrypt(const unsigned char *rc4_key, size_t rc4_key_s,\n
      \                      const unsigned char *rc4_pt, size_t rc4_pt_s,\n                       const
      unsigned char *rc4_ct, size_t rc4_ct_s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/evp_extra_test.c:6490,1
    - Dst: rc4_encrypt
      Src: /src/openssl/test/evp_extra_test.c:6492,1
    - Dst: rc4_decrypt
      Src: /src/openssl/test/evp_extra_test.c:6494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6496
      start: 6466
    functionDepth: 7
    functionLinenumber: 6466
    functionLinenumberEnd: 6496
    functionName: test_aes_rc4_keylen_change_cve_2023_5363
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - rc4_decrypt
    - TEST_skip
    - rc4_encrypt
    linkageType: ''
    returnType: int
    signature: int test_aes_rc4_keylen_change_cve_2023_5363(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6504,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6505,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:6508,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_extra_test.c:6508,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6516
      start: 6499
    functionDepth: 8
    functionLinenumber: 6499
    functionLinenumberEnd: 6516
    functionName: test_invalid_ctx_for_digest
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - TEST_int_eq
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_invalid_ctx_for_digest(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6541,1
    - Dst: fake_pipeline_start
      Src: /src/openssl/test/evp_extra_test.c:6541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6543,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6543,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6545,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_extra_test.c:6545,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6547,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6547,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:6549,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6552,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/test/evp_extra_test.c:6552,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6554,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/test/evp_extra_test.c:6554,1
    - Dst: EVP_aes_256_gcm
      Src: /src/openssl/test/evp_extra_test.c:6554,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_extra_test.c:6556,1
    - Dst: EVP_CipherPipelineEncryptInit
      Src: /src/openssl/test/evp_extra_test.c:6556,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:6568,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:6569,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:6570,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:6571,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6578,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6578,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6579,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6579,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6580,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6581,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6582,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6582,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:6585,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:6586,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6592,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6593,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6594,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6595,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_extra_test.c:6595,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6599,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/test/evp_extra_test.c:6599,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6600,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/test/evp_extra_test.c:6600,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6601,1
    - Dst: EVP_CipherPipelineEncryptInit
      Src: /src/openssl/test/evp_extra_test.c:6601,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6606,1
    - Dst: EVP_CipherPipelineUpdate
      Src: /src/openssl/test/evp_extra_test.c:6606,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6609,1
    - Dst: EVP_CipherPipelineUpdate
      Src: /src/openssl/test/evp_extra_test.c:6609,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6621,1
    - Dst: EVP_CipherPipelineFinal
      Src: /src/openssl/test/evp_extra_test.c:6621,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/test/evp_extra_test.c:6627,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6629,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:6629,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6633,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/test/evp_extra_test.c:6633,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6637,1
    - Dst: EVP_EncryptInit
      Src: /src/openssl/test/evp_extra_test.c:6637,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6638,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6638,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6641,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/test/evp_extra_test.c:6641,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6647,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/test/evp_extra_test.c:6647,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_extra_test.c:6651,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6653,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_extra_test.c:6653,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6656,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6658,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/test/evp_extra_test.c:6666,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6668,1
    - Dst: EVP_CIPHER_CTX_reset
      Src: /src/openssl/test/evp_extra_test.c:6668,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6669,1
    - Dst: EVP_CIPHER_can_pipeline
      Src: /src/openssl/test/evp_extra_test.c:6669,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6670,1
    - Dst: EVP_CipherPipelineDecryptInit
      Src: /src/openssl/test/evp_extra_test.c:6670,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6674,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_extra_test.c:6674,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6675,1
    - Dst: EVP_CipherPipelineUpdate
      Src: /src/openssl/test/evp_extra_test.c:6675,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6678,1
    - Dst: EVP_CipherPipelineUpdate
      Src: /src/openssl/test/evp_extra_test.c:6678,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_extra_test.c:6689,1
    - Dst: EVP_CipherPipelineFinal
      Src: /src/openssl/test/evp_extra_test.c:6689,1
    - Dst: memset
      Src: /src/openssl/test/evp_extra_test.c:6693,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_extra_test.c:6694,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6700,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6701,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6702,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6703,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6705,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6706,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6707,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6716,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6717,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6718,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6719,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6721,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6722,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_extra_test.c:6723,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6725,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6726,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_extra_test.c:6727,1
    - Dst: fake_pipeline_finish
      Src: /src/openssl/test/evp_extra_test.c:6728,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6730
      start: 6518
    functionDepth: 6
    functionLinenumber: 6518
    functionLinenumberEnd: 6730
    functionName: test_evp_cipher_pipeline
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_CipherPipelineDecryptInit
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptUpdate
    - EVP_CipherPipelineUpdate
    - OPENSSL_free
    - TEST_ptr
    - EVP_CipherPipelineEncryptInit
    - EVP_CIPHER_can_pipeline
    - EVP_EncryptInit
    - fake_pipeline_start
    - EVP_CIPHER_free
    - TEST_true
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_get_params
    - EVP_aes_256_gcm
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - fake_pipeline_finish
    - OSSL_PARAM_construct_octet_ptr
    - EVP_CIPHER_CTX_new
    - memset
    - TEST_false
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_CTX_reset
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    - EVP_CipherPipelineFinal
    linkageType: ''
    returnType: int
    signature: int test_evp_cipher_pipeline(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/evp_extra_test.c:6737,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/evp_extra_test.c:6741,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6742,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/evp_extra_test.c:6750,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test.c:6754,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test.c:6755,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_extra_test.c:6757,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_extra_test.c:6761,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/evp_extra_test.c:6762,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6773,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6777,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6778,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6779,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6781,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6784,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6786,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6787,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6788,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6790,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6792,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6793,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6793,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6794,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6795,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6796,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6796,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6798,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6801,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6801,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6804,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6805,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6807,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6807,1
    - Dst: EVP_PKEY_meth_new
      Src: /src/openssl/test/evp_extra_test.c:6809,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_extra_test.c:6810,1
    - Dst: EVP_PKEY_meth_set_check
      Src: /src/openssl/test/evp_extra_test.c:6812,1
    - Dst: EVP_PKEY_meth_set_public_check
      Src: /src/openssl/test/evp_extra_test.c:6813,1
    - Dst: EVP_PKEY_meth_set_param_check
      Src: /src/openssl/test/evp_extra_test.c:6814,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_extra_test.c:6815,1
    - Dst: EVP_PKEY_meth_add0
      Src: /src/openssl/test/evp_extra_test.c:6815,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6818,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6818,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6820,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6822,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6823,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6824,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6826,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6827,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6828,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6829,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6832,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6833,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6835,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6836,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6837,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6839,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6842,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6845,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6847,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6851,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6852,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6854,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6855,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6858,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6859,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6861,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6862,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6864,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6867,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6869,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6870,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6871,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6873,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6873,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6876,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6878,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6878,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6879,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6879,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6880,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6880,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6881,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6881,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6882,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6882,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6883,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6883,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6884,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6885,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6885,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6888,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6889,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6890,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6891,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6897,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6899,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6901,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6907,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6907,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_extra_test.c:6908,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_extra_test.c:6908,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6911,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6914,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6916,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6919,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/evp_extra_test.c:6921,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6924
      start: 6732
    functionDepth: 4
    functionLinenumber: 6732
    functionLinenumberEnd: 6924
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_meth_add0
    - opt_next
    - EVP_PKEY_meth_set_check
    - OSSL_LIB_CTX_new
    - ADD_TEST
    - EVP_PKEY_meth_set_param_check
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - EVP_PKEY_meth_set_public_check
    - OSSL_NELEM
    - EVP_PKEY_meth_new
    - test_get_libctx
    - opt_arg
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test.c:6928,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test.c:6929,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_extra_test.c:6931,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_extra_test.c:6933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6934
      start: 6926
    functionDepth: 4
    functionLinenumber: 6926
    functionLinenumberEnd: 6934
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_extra_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/sysdefaulttest.c:26,1
    - Dst: TLS_method
      Src: /src/openssl/test/sysdefaulttest.c:26,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/sysdefaulttest.c:28,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sysdefaulttest.c:31,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sysdefaulttest.c:33,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/openssl/test/sysdefaulttest.c:33,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sysdefaulttest.c:34,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/openssl/test/sysdefaulttest.c:34,1
    - Dst: TEST_info
      Src: /src/openssl/test/sysdefaulttest.c:35,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sysdefaulttest.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: test_func
    functionSourceFile: /src/openssl/test/sysdefaulttest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - TEST_ptr_null
    - TLS_method
    - SSL_CTX_get_max_proto_version
    - SSL_CTX_get_min_proto_version
    - TEST_int_eq
    - TEST_info
    - SSL_CTX_new
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_func(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/test/sysdefaulttest.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: global_init
    functionSourceFile: /src/openssl/test/sysdefaulttest.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_ssl
    linkageType: ''
    returnType: int
    signature: int global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/sysdefaulttest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/sysdefaulttest.c:74,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/sysdefaulttest.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sysdefaulttest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - opt_next
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/fatalerrtest.c:31,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/fatalerrtest.c:31,1
    - Dst: TLS_method
      Src: /src/openssl/test/fatalerrtest.c:31,1
    - Dst: TLS_method
      Src: /src/openssl/test/fatalerrtest.c:31,1
    - Dst: TEST_true
      Src: /src/openssl/test/fatalerrtest.c:40,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/fatalerrtest.c:40,1
    - Dst: TEST_true
      Src: /src/openssl/test/fatalerrtest.c:41,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/fatalerrtest.c:41,1
    - Dst: TEST_true
      Src: /src/openssl/test/fatalerrtest.c:42,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/fatalerrtest.c:42,1
    - Dst: TEST_true
      Src: /src/openssl/test/fatalerrtest.c:44,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/fatalerrtest.c:44,1
    - Dst: TEST_true
      Src: /src/openssl/test/fatalerrtest.c:46,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/fatalerrtest.c:46,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/fatalerrtest.c:50,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fatalerrtest.c:51,1
    - Dst: printf
      Src: /src/openssl/test/fatalerrtest.c:52,1
    - Dst: TEST_false
      Src: /src/openssl/test/fatalerrtest.c:57,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/fatalerrtest.c:57,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/fatalerrtest.c:60,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/fatalerrtest.c:63,1
    - Dst: BIO_write
      Src: /src/openssl/test/fatalerrtest.c:63,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/fatalerrtest.c:67,1
    - Dst: SSL_read
      Src: /src/openssl/test/fatalerrtest.c:67,1
    - Dst: TEST_error
      Src: /src/openssl/test/fatalerrtest.c:69,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/fatalerrtest.c:72,1
    - Dst: SSL_write
      Src: /src/openssl/test/fatalerrtest.c:72,1
    - Dst: strlen
      Src: /src/openssl/test/fatalerrtest.c:72,1
    - Dst: SSL_free
      Src: /src/openssl/test/fatalerrtest.c:77,1
    - Dst: SSL_free
      Src: /src/openssl/test/fatalerrtest.c:78,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/fatalerrtest.c:79,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/fatalerrtest.c:80,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 83
    functionName: test_fatalerr
    functionSourceFile: /src/openssl/test/fatalerrtest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - TEST_int_le
    - TEST_ptr
    - create_ssl_ctx_pair
    - strlen
    - BIO_write
    - SSL_CTX_free
    - ERR_clear_error
    - SSL_read
    - create_ssl_objects
    - TEST_true
    - TEST_error
    - TLS_method
    - SSL_free
    - SSL_CTX_set_cipher_list
    - TEST_false
    - SSL_CTX_set_ciphersuites
    - SSL_write
    - SSL_get_wbio
    - printf
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_fatalerr(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/fatalerrtest.c:89,1
    - Dst: TEST_error
      Src: /src/openssl/test/fatalerrtest.c:90,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fatalerrtest.c:94,1
    - Dst: test_get_argument
      Src: /src/openssl/test/fatalerrtest.c:94,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fatalerrtest.c:95,1
    - Dst: test_get_argument
      Src: /src/openssl/test/fatalerrtest.c:95,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/fatalerrtest.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/fatalerrtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/test/sslbuffertest.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - s
    - isalloced
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: checkbuffers
    functionSourceFile: /src/openssl/test/sslbuffertest.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int checkbuffers(SSL *s, int isalloced)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:87,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslbuffertest.c:87,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:93,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslbuffertest.c:93,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:113,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:113,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:114,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:114,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:116,1
    - Dst: SSL_alloc_buffers
      Src: /src/openssl/test/sslbuffertest.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:117,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:120,1
    - Dst: SSL_alloc_buffers
      Src: /src/openssl/test/sslbuffertest.c:120,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:121,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:123,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:123,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:124,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:124,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslbuffertest.c:127,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslbuffertest.c:132,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:136,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslbuffertest.c:141,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:150,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:151,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:151,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:154,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:154,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:155,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:155,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:157,1
    - Dst: SSL_alloc_buffers
      Src: /src/openssl/test/sslbuffertest.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:158,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:160,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:161,1
    - Dst: checkbuffers
      Src: /src/openssl/test/sslbuffertest.c:161,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslbuffertest.c:164,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/sslbuffertest.c:168,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:172,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/sslbuffertest.c:177,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/sslbuffertest.c:184,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslbuffertest.c:186,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslbuffertest.c:187,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 75
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 78
    functionDepth: 7
    functionLinenumber: 78
    functionLinenumberEnd: 190
    functionName: test_func
    functionSourceFile: /src/openssl/test/sslbuffertest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_alloc_buffers
    - SSL_get_error
    - SSL_free
    - SSL_read
    - SSL_free_buffers
    - checkbuffers
    - SSL_write
    - ERR_print_errors_fp
    - create_ssl_objects
    - TEST_true
    - TEST_size_t_eq
    - TEST_mem_eq
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_func(int test)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: load_dasync
      Src: /src/openssl/test/sslbuffertest.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:222,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslbuffertest.c:222,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:227,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/sslbuffertest.c:227,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:228,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/sslbuffertest.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:230,1
    - Dst: SSL_set_max_pipelines
      Src: /src/openssl/test/sslbuffertest.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:234,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslbuffertest.c:234,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:243,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/sslbuffertest.c:243,1
    - Dst: strlen
      Src: /src/openssl/test/sslbuffertest.c:243,1
    - Dst: strlen
      Src: /src/openssl/test/sslbuffertest.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:259,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslbuffertest.c:259,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslbuffertest.c:260,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/sslbuffertest.c:267,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:268,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/sslbuffertest.c:268,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/sslbuffertest.c:269,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/sslbuffertest.c:270,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:284,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslbuffertest.c:299,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:307,1
    - Dst: BIO_write_ex
      Src: /src/openssl/test/sslbuffertest.c:307,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslbuffertest.c:316,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslbuffertest.c:316,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/sslbuffertest.c:318,1
    - Dst: strlen
      Src: /src/openssl/test/sslbuffertest.c:318,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslbuffertest.c:325,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/sslbuffertest.c:325,1
    - Dst: TEST_false
      Src: /src/openssl/test/sslbuffertest.c:335,1
    - Dst: SSL_free_buffers
      Src: /src/openssl/test/sslbuffertest.c:335,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslbuffertest.c:340,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslbuffertest.c:341,1
    - Dst: ENGINE_unregister_ciphers
      Src: /src/openssl/test/sslbuffertest.c:344,1
    - Dst: ENGINE_finish
      Src: /src/openssl/test/sslbuffertest.c:345,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/sslbuffertest.c:346,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 84
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 350
    functionName: test_free_buffers
    functionSourceFile: /src/openssl/test/sslbuffertest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - ENGINE_finish
    - SSL_set_max_proto_version
    - strlen
    - SSL_read_ex
    - TEST_size_t_gt
    - SSL_write_ex
    - ENGINE_free
    - SSL_set_max_pipelines
    - BIO_write_ex
    - SSL_set_cipher_list
    - create_ssl_objects
    - TEST_true
    - TEST_error
    - SSL_free
    - SSL_free_buffers
    - TEST_size_t_eq
    - TEST_size_t_lt
    - load_dasync
    - ENGINE_unregister_ciphers
    - TEST_false
    - TEST_int_eq
    - BIO_read_ex
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int test_free_buffers(int test)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/sslbuffertest.c:358,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslbuffertest.c:363,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslbuffertest.c:363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslbuffertest.c:364,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslbuffertest.c:364,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslbuffertest.c:367,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslbuffertest.c:367,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslbuffertest.c:367,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslbuffertest.c:370,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslbuffertest.c:374,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslbuffertest.c:376,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslbuffertest.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 381
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sslbuffertest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - test_skip_common_options
    - test_get_argument
    - TLS_server_method
    - TEST_ptr
    - TLS_client_method
    - create_ssl_ctx_pair
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslbuffertest.c:385,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslbuffertest.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/sslbuffertest.c
    functionUses: 7
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/test/time_test.c:18,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:20,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:21,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:21,1
    - Dst: TEST_true
      Src: /src/openssl/test/time_test.c:25,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/test/time_test.c:25,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/test/time_test.c:25,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:29,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:30,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:31,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:31,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:33,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:34,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:35,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:35,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:37,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:38,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:39,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:39,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:41,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:42,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:43,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:43,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:45,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:46,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:47,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:47,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:49,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:50,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:51,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:51,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:53,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:54,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:55,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:55,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:57,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:58,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:59,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:59,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/time_test.c:61,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/test/time_test.c:62,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:63,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/time_test.c:63,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 72
    functionName: test_time_to_timeval
    functionSourceFile: /src/openssl/test/time_test.c
    functionUses: 0
    functionsReached:
    - ossl_time_zero
    - ossl_time_from_timeval
    - TEST_long_eq
    - ossl_time_to_timeval
    - TEST_true
    - ossl_time_is_zero
    - ossl_ticks2time
    linkageType: ''
    returnType: int
    signature: int test_time_to_timeval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/time_test.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/time_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/secmemtest.c:21,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/secmemtest.c:23,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/secmemtest.c:25,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:26,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/secmemtest.c:26,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/secmemtest.c:28,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/secmemtest.c:30,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:31,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:31,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:32,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/secmemtest.c:32,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/secmemtest.c:34,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/secmemtest.c:35,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:37,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/secmemtest.c:37,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/secmemtest.c:39,1
    - Dst: CRYPTO_secure_used
      Src: /src/openssl/test/secmemtest.c:39,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/secmemtest.c:41,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/secmemtest.c:42,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:45,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/secmemtest.c:45,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/test/secmemtest.c:47,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/secmemtest.c:48,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/secmemtest.c:49,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:51,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/secmemtest.c:51,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/secmemtest.c:53,1
    - Dst: CRYPTO_secure_used
      Src: /src/openssl/test/secmemtest.c:53,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/test/secmemtest.c:55,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/secmemtest.c:58,1
    - Dst: CRYPTO_secure_used
      Src: /src/openssl/test/secmemtest.c:58,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/secmemtest.c:60,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:63,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:64,1
    - Dst: CRYPTO_secure_malloc_initialized
      Src: /src/openssl/test/secmemtest.c:64,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:66,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/secmemtest.c:69,1
    - Dst: CRYPTO_secure_used
      Src: /src/openssl/test/secmemtest.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:70,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:70,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:71,1
    - Dst: CRYPTO_secure_malloc_initialized
      Src: /src/openssl/test/secmemtest.c:71,1
    - Dst: TEST_info
      Src: /src/openssl/test/secmemtest.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:75,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:75,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/secmemtest.c:77,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/secmemtest.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:78,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:78,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:84,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:84,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:85,1
    - Dst: CRYPTO_secure_malloc_initialized
      Src: /src/openssl/test/secmemtest.c:85,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:86,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:86,1
    - Dst: TEST_info
      Src: /src/openssl/test/secmemtest.c:115,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:116,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:117,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:117,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/secmemtest.c:125,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:126,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:127,1
    - Dst: TEST_info
      Src: /src/openssl/test/secmemtest.c:130,1
    - Dst: TEST_false
      Src: /src/openssl/test/secmemtest.c:132,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:132,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 134
    functionName: test_sec_mem
    functionSourceFile: /src/openssl/test/secmemtest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_malloc_init
    - CRYPTO_secure_malloc_initialized
    - OPENSSL_secure_free
    - TEST_ptr_null
    - TEST_false
    - CRYPTO_secure_allocated
    - TEST_info
    - OPENSSL_secure_clear_free
    - OPENSSL_secure_malloc
    - OPENSSL_free
    - CRYPTO_secure_used
    - CRYPTO_secure_malloc_done
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_sec_mem(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/secmemtest.c:143,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/secmemtest.c:143,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/secmemtest.c:144,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/secmemtest.c:144,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/secmemtest.c:148,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:154,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/secmemtest.c:164,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/secmemtest.c:170,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/test/secmemtest.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 176
    functionName: test_sec_mem_clear
    functionSourceFile: /src/openssl/test/secmemtest.c
    functionUses: 0
    functionsReached:
    - TEST_uchar_eq
    - CRYPTO_secure_malloc_init
    - OPENSSL_secure_free
    - OPENSSL_secure_malloc
    - CRYPTO_secure_malloc_done
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_sec_mem_clear(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/secmemtest.c:180,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/secmemtest.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/secmemtest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_asn_test.c:28,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_asn_test.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CMP_ASN_TEST_FIXTURE
    signature: CMP_ASN_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_asn_test.c:36,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/cmp_asn_test.c:38,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_asn_test.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_ASN_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 40
    functionsReached:
    - OPENSSL_free
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_ASN_TEST_FIXTURE *fixture)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/cmp_asn_test.c:46,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_asn_test.c:50,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_asn_test.c:53,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/test/cmp_asn_test.c:53,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/cmp_asn_test.c:54,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_asn_test.c:57,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/test/cmp_asn_test.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_asn_test.c:62,1
    - Dst: ASN1_INTEGER_set_int64
      Src: /src/openssl/test/cmp_asn_test.c:62,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_asn_test.c:64,1
    - Dst: ossl_cmp_asn1_get_int
      Src: /src/openssl/test/cmp_asn_test.c:64,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/cmp_asn_test.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_ASN_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: execute_cmp_asn1_get_int_test
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_asn1_get_int
    - TEST_int_eq
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - TEST_true
    - TEST_ptr
    - ASN1_INTEGER_set_int64
    linkageType: ''
    returnType: int
    signature: int execute_cmp_asn1_get_int_test(CMP_ASN_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_asn_test.c:73,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_asn_test.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: test_cmp_asn1_get_int
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_cmp_asn1_get_int(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_asn_test.c:82,1
    - Dst: ossl_cmp_asn1_octet_string_set1
      Src: /src/openssl/test/cmp_asn_test.c:83,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_asn_test.c:87,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/test/cmp_asn_test.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_ASN_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: execute_CMP_ASN1_OCTET_STRING_set1_test
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_asn1_octet_string_set1
    - ASN1_OCTET_STRING_cmp
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: "int execute_CMP_ASN1_OCTET_STRING_set1_test(CMP_ASN_TEST_FIXTURE *\n
      \                                                  fixture)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_asn_test.c:94,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_asn_test.c:96,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_asn_test.c:96,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_asn_test.c:97,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_asn_test.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_asn_test.c:98,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_asn_test.c:98,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_asn_test.c:100,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_asn_test.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: test_ASN1_OCTET_STRING_set
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - ASN1_OCTET_STRING_set
    - tear_down
    - TEST_true
    - TEST_ptr
    - EXECUTE_TEST
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int test_ASN1_OCTET_STRING_set(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_asn_test.c:109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_asn_test.c:111,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/test/cmp_asn_test.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_asn_test.c:113,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/test/cmp_asn_test.c:113,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_asn_test.c:115,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_asn_test.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: test_ASN1_OCTET_STRING_set_tgt_is_src
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - ASN1_OCTET_STRING_set
    - tear_down
    - TEST_true
    - TEST_ptr
    - EXECUTE_TEST
    - ASN1_OCTET_STRING_new
    linkageType: ''
    returnType: int
    signature: int test_ASN1_OCTET_STRING_set_tgt_is_src(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_asn_test.c:129,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_asn_test.c:131,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_asn_test.c:132,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_asn_test.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 8
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_asn_test.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: TEST_true_or_end
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_true_or_end(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: TEST_false_or_end
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_false_or_end(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/tls13groupselection_test.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 378
    functionName: server_response_check_cb
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void server_response_check_cb(int write_p, int version,\n                                     int
      content_type, const void *buf,\n                                     size_t
      len, SSL *ssl, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13groupselection_test.c:387,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/tls13groupselection_test.c:388,1
    - Dst: strlen
      Src: /src/openssl/test/tls13groupselection_test.c:388,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:392,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13groupselection_test.c:392,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13groupselection_test.c:392,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13groupselection_test.c:393,1
    - Dst: TEST_false_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:400,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:400,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:403,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13groupselection_test.c:403,1
    - Dst: TEST_false_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:409,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:409,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13groupselection_test.c:414,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13groupselection_test.c:415,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13groupselection_test.c:416,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13groupselection_test.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - current_test_vector
    - ssl_or_ctx
    argTypes:
    - struct tls13groupselection_test_st*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 420
    functionName: test_invalidsyntax
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - TLS_client_method
    - TEST_false_or_end
    - SSL_CTX_free
    - SSL_free
    - TEST_true_or_end
    - SSL_set1_groups_list
    - TLS_server_method
    - TEST_size_t_ne
    - create_ssl_objects
    - TEST_ptr
    - strlen
    - SSL_CTX_set1_groups_list
    - create_ssl_ctx_pair
    linkageType: ''
    returnType: int
    signature: "int test_invalidsyntax(const struct tls13groupselection_test_st *current_test_vector,\n
      \                             int ssl_or_ctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:434,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/tls13groupselection_test.c:434,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/tls13groupselection_test.c:434,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/tls13groupselection_test.c:435,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:443,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:443,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:447,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:447,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:450,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/tls13groupselection_test.c:450,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:451,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/tls13groupselection_test.c:451,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/tls13groupselection_test.c:453,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13groupselection_test.c:456,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/tls13groupselection_test.c:456,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:464,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:464,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:467,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/test/tls13groupselection_test.c:467,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:469,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/tls13groupselection_test.c:469,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:470,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/tls13groupselection_test.c:470,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/tls13groupselection_test.c:473,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/tls13groupselection_test.c:478,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/tls13groupselection_test.c:479,1
    - Dst: TEST_true_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:483,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13groupselection_test.c:483,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/tls13groupselection_test.c:490,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/test/tls13groupselection_test.c:491,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/test/tls13groupselection_test.c:492,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13groupselection_test.c:493,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13groupselection_test.c:495,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/tls13groupselection_test.c:497,1
    - Dst: TEST_false_or_end
      Src: /src/openssl/test/tls13groupselection_test.c:500,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/tls13groupselection_test.c:500,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/tls13groupselection_test.c:502,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13groupselection_test.c:509,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13groupselection_test.c:510,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13groupselection_test.c:511,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13groupselection_test.c:512,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - current_test_vector
    - ssl_or_ctx
    - test_type
    argTypes:
    - struct tls13groupselection_test_st*
    - int
    - TEST_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 514
    functionName: test_groupnegotiation
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_set_min_proto_version
    - TEST_true_or_end
    - SSL_set_msg_callback
    - TLS_server_method
    - create_ssl_ctx_pair
    - SSL_get_negotiated_group
    - SSL_CTX_free
    - SSL_CTX_set_options
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set1_groups_list
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - TEST_str_eq
    - SSL_set1_groups_list
    - SSL_set_msg_callback_arg
    - TLS_client_method
    - TEST_false_or_end
    - TEST_int_eq
    - SSL_set_options
    - SSL_group_to_name
    linkageType: ''
    returnType: int
    signature: "int test_groupnegotiation(const struct tls13groupselection_test_st
      *current_test_vector,\n                                 int ssl_or_ctx, TEST_TYPE
      test_type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/tls13groupselection_test.c:527,1
    - Dst: strncmp
      Src: /src/openssl/test/tls13groupselection_test.c:529,1
    - Dst: strncmp
      Src: /src/openssl/test/tls13groupselection_test.c:532,1
    - Dst: test_invalidsyntax
      Src: /src/openssl/test/tls13groupselection_test.c:537,1
    - Dst: test_groupnegotiation
      Src: /src/openssl/test/tls13groupselection_test.c:540,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13groupselection_test.c:544,1
    - Dst: test_invalidsyntax
      Src: /src/openssl/test/tls13groupselection_test.c:548,1
    - Dst: test_groupnegotiation
      Src: /src/openssl/test/tls13groupselection_test.c:551,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13groupselection_test.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 559
    functionName: tls13groupselection_test
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - test_groupnegotiation
    - test_invalidsyntax
    - TEST_info
    - strncmp
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int tls13groupselection_test(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13groupselection_test.c:563,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13groupselection_test.c:563,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13groupselection_test.c:564,1
    - Dst: test_get_argument
      Src: /src/openssl/test/tls13groupselection_test.c:564,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/tls13groupselection_test.c:567,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/tls13groupselection_test.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/tls13groupselection_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    - TEST_ptr
    - OSSL_NELEM
    - test_get_argument
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/confdump.c:19,1
    - Dst: NCONF_get_section
      Src: /src/openssl/test/confdump.c:19,1
    - Dst: printf
      Src: /src/openssl/test/confdump.c:22,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/test/confdump.c:23,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/test/confdump.c:24,1
    - Dst: printf
      Src: /src/openssl/test/confdump.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - name
    - cnf
    argTypes:
    - char*
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: dump_section
    functionSourceFile: /src/openssl/test/confdump.c
    functionUses: 0
    functionsReached:
    - printf
    - sk_CONF_VALUE_num
    - NCONF_get_section
    - STACK_OF
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: void
    signature: void dump_section(const char *name, const CONF *cnf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/openssl/test/confdump.c:33,1
    - Dst: NCONF_default
      Src: /src/openssl/test/confdump.c:33,1
    - Dst: STACK_OF
      Src: /src/openssl/test/confdump.c:35,1
    - Dst: NCONF_load
      Src: /src/openssl/test/confdump.c:37,1
    - Dst: NCONF_get_section_names
      Src: /src/openssl/test/confdump.c:40,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/test/confdump.c:41,1
    - Dst: dump_section
      Src: /src/openssl/test/confdump.c:42,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/test/confdump.c:42,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/test/confdump.c:44,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/confdump.c:47,1
    - Dst: NCONF_free
      Src: /src/openssl/test/confdump.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 7
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/openssl/test/confdump.c
    functionUses: 5
    functionsReached:
    - NCONF_default
    - sk_OPENSSL_CSTRING_free
    - sk_OPENSSL_CSTRING_value
    - NCONF_load
    - NCONF_get_section_names
    - STACK_OF
    - ERR_print_errors_fp
    - NCONF_new
    - sk_OPENSSL_CSTRING_num
    - dump_section
    - NCONF_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/chacha_internal_test.c:165,1
    - Dst: memcpy
      Src: /src/openssl/test/chacha_internal_test.c:166,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/test/chacha_internal_test.c:168,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/chacha_internal_test.c:175,1
    - Dst: TEST_info
      Src: /src/openssl/test/chacha_internal_test.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: test_cha_cha_internal
    functionSourceFile: /src/openssl/test/chacha_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_uchar_eq
    - memset
    - ChaCha20_ctr32
    - memcpy
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_cha_cha_internal(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cpuid_setup
      Src: /src/openssl/test/chacha_internal_test.c:185,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/chacha_internal_test.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/chacha_internal_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cpuid_setup
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: int_hash
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long int
    signature: unsigned long int int_hash(const int *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: int_cmp
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_cmp(const int *p, const int *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: int_find
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_find(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_find
      Src: /src/openssl/test/lhash_test.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: int_doall
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - int_find
    linkageType: ''
    returnType: void
    signature: void int_doall(int *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_find
      Src: /src/openssl/test/lhash_test.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - f
    argTypes:
    - int*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: int_doall_arg
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - int_find
    linkageType: ''
    returnType: void
    signature: void int_doall_arg(int *p, short *f)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/lhash_test.c:96,1
    - Dst: lh_int_new
      Src: /src/openssl/test/lhash_test.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:101,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/lhash_test.c:106,1
    - Dst: lh_int_insert
      Src: /src/openssl/test/lhash_test.c:106,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:107,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/lhash_test.c:112,1
    - Dst: lh_int_num_items
      Src: /src/openssl/test/lhash_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:117,1
    - Dst: lh_int_retrieve
      Src: /src/openssl/test/lhash_test.c:117,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:118,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/lhash_test.c:122,1
    - Dst: lh_int_retrieve
      Src: /src/openssl/test/lhash_test.c:122,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:123,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/lhash_test.c:127,1
    - Dst: lh_int_retrieve
      Src: /src/openssl/test/lhash_test.c:127,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:132,1
    - Dst: lh_int_insert
      Src: /src/openssl/test/lhash_test.c:132,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/lhash_test.c:134,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/lhash_test.c:136,1
    - Dst: lh_int_retrieve
      Src: /src/openssl/test/lhash_test.c:136,1
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:140,1
    - Dst: lh_int_doall
      Src: /src/openssl/test/lhash_test.c:142,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:143,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:144,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:148,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:149,1
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:154,1
    - Dst: lh_int_doall_short
      Src: /src/openssl/test/lhash_test.c:156,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:157,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:158,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:162,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:163,1
    - Dst: lh_int_delete
      Src: /src/openssl/test/lhash_test.c:169,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:170,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:171,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:177,1
    - Dst: lh_int_error
      Src: /src/openssl/test/lhash_test.c:177,1
    - Dst: lh_int_free
      Src: /src/openssl/test/lhash_test.c:182,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 184
    functionName: test_int_lhash
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - lh_int_error
    - memset
    - TEST_ptr_null
    - lh_int_doall
    - lh_int_doall_short
    - lh_int_free
    - lh_int_new
    - lh_int_num_items
    - TEST_info
    - TEST_int_eq
    - lh_int_retrieve
    - lh_int_delete
    - OSSL_NELEM
    - TEST_size_t_eq
    - TEST_ptr
    - lh_int_insert
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_int_lhash(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - arg
    argTypes:
    - HT_VALUE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: int_filter_all
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_filter_all(HT_VALUE *v, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_test_int_from_value
      Src: /src/openssl/test/lhash_test.c:200,1
    - Dst: int_find
      Src: /src/openssl/test/lhash_test.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - int_foreach
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: IMPLEMENT_HT_VALUE_TYPE_FNS
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - int_find
    - ossl_ht_test_int_from_value
    linkageType: ''
    returnType: void
    signature: 'void IMPLEMENT_HT_VALUE_TYPE_FNS(int, test, static)


      static int int_foreach(HT_VALUE *v, void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: hashtable_hash
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t hashtable_hash(uint8_t *key, size_t keylen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/lhash_test.c:228,1
    - Dst: ossl_ht_new
      Src: /src/openssl/test/lhash_test.c:243,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/test/lhash_test.c:249,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:251,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:252,1
    - Dst: ossl_ht_test_int_insert
      Src: /src/openssl/test/lhash_test.c:252,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:252,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:254,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/lhash_test.c:260,1
    - Dst: ossl_ht_count
      Src: /src/openssl/test/lhash_test.c:260,1
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:264,1
    - Dst: ossl_ht_foreach_until
      Src: /src/openssl/test/lhash_test.c:266,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:267,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:268,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:273,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:274,1
    - Dst: ossl_ht_filter
      Src: /src/openssl/test/lhash_test.c:279,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/lhash_test.c:280,1
    - Dst: ossl_ht_value_list_free
      Src: /src/openssl/test/lhash_test.c:282,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:286,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/test/lhash_test.c:287,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:287,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:289,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:290,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:295,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:296,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:304,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 306
    functionName: test_int_hashtable
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - HT_INIT_KEY
    - memset
    - ossl_ht_delete
    - ossl_ht_free
    - TO_HT_KEY
    - ossl_ht_count
    - TEST_int_eq
    - TEST_info
    - ossl_ht_filter
    - ossl_ht_new
    - OSSL_NELEM
    - ossl_ht_test_int_insert
    - TEST_size_t_eq
    - ossl_ht_foreach_until
    - ossl_ht_value_list_free
    - HT_SET_KEY_FIELD
    linkageType: ''
    returnType: int
    signature: int test_int_hashtable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: stress_hash
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long int
    signature: unsigned long int stress_hash(const int *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - result
    - x
    - y
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 338
    functionName: timeval_subtract
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timeval_subtract (struct timeval *result, struct timeval *x, struct
      timeval *y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lh_int_new
      Src: /src/openssl/test/lhash_test.c:343,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:351,1
    - Dst: gettimeofday
      Src: /src/openssl/test/lhash_test.c:354,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/lhash_test.c:358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:359,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:360,1
    - Dst: lh_int_insert
      Src: /src/openssl/test/lhash_test.c:364,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:368,1
    - Dst: lh_int_num_items
      Src: /src/openssl/test/lhash_test.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:375,1
    - Dst: lh_int_delete
      Src: /src/openssl/test/lhash_test.c:375,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:379,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lhash_test.c:383,1
    - Dst: timeval_subtract
      Src: /src/openssl/test/lhash_test.c:390,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:391,1
    - Dst: lh_int_free
      Src: /src/openssl/test/lhash_test.c:393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 395
    functionName: test_stress
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - lh_int_free
    - lh_int_new
    - lh_int_num_items
    - timeval_subtract
    - TEST_info
    - TEST_int_eq
    - lh_int_delete
    - OPENSSL_free
    - gettimeofday
    - TEST_ptr
    - lh_int_insert
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_stress(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lhash_test.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: hashtable_intfree
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void hashtable_intfree(HT_VALUE *v)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_new
      Src: /src/openssl/test/lhash_test.c:423,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:426,1
    - Dst: gettimeofday
      Src: /src/openssl/test/lhash_test.c:429,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/test/lhash_test.c:432,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/lhash_test.c:436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:437,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:438,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:442,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:443,1
    - Dst: ossl_ht_test_int_insert
      Src: /src/openssl/test/lhash_test.c:443,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:443,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:445,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/lhash_test.c:451,1
    - Dst: ossl_ht_count
      Src: /src/openssl/test/lhash_test.c:451,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:457,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:461,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/test/lhash_test.c:461,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:461,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:462,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:467,1
    - Dst: ossl_ht_test_int_get
      Src: /src/openssl/test/lhash_test.c:467,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:467,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lhash_test.c:468,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:469,1
    - Dst: timeval_subtract
      Src: /src/openssl/test/lhash_test.c:480,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:481,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:483,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 485
    functionName: test_hashtable_stress
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - HT_INIT_KEY
    - ossl_ht_delete
    - ossl_ht_free
    - TO_HT_KEY
    - ossl_ht_count
    - timeval_subtract
    - TEST_info
    - TEST_int_eq
    - ossl_ht_test_int_get
    - ossl_ht_new
    - ossl_ht_test_int_insert
    - gettimeofday
    - TEST_size_t_eq
    - TEST_ptr
    - OPENSSL_malloc
    - HT_SET_KEY_FIELD
    linkageType: ''
    returnType: int
    signature: int test_hashtable_stress(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_mt_TEST_MT_ENTRY_from_value
      Src: /src/openssl/test/lhash_test.c:515,1
    - Dst: CRYPTO_atomic_load_int
      Src: /src/openssl/test/lhash_test.c:519,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:525,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/lhash_test.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 531
    functionName: hashtable_mt_free
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - ossl_ht_mt_TEST_MT_ENTRY_from_value
    - CRYPTO_atomic_load_int
    - TEST_info
    - CRYPTO_atomic_add
    linkageType: ''
    returnType: void
    signature: void hashtable_mt_free(HT_VALUE *v)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/lhash_test.c:554,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/test/lhash_test.c:557,1
    - Dst: TEST_true
      Src: /src/openssl/test/lhash_test.c:560,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/lhash_test.c:560,1
    - Dst: test_random
      Src: /src/openssl/test/lhash_test.c:562,1
    - Dst: test_random
      Src: /src/openssl/test/lhash_test.c:563,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/lhash_test.c:564,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/test/lhash_test.c:567,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/test/lhash_test.c:568,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/lhash_test.c:570,1
    - Dst: ossl_ht_read_lock
      Src: /src/openssl/test/lhash_test.c:576,1
    - Dst: ossl_ht_mt_TEST_MT_ENTRY_get
      Src: /src/openssl/test/lhash_test.c:578,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:578,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:581,1
    - Dst: ossl_ht_read_unlock
      Src: /src/openssl/test/lhash_test.c:584,1
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/test/lhash_test.c:590,1
    - Dst: ossl_ht_mt_TEST_MT_ENTRY_insert
      Src: /src/openssl/test/lhash_test.c:599,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:600,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:602,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/test/lhash_test.c:610,1
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/test/lhash_test.c:615,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/test/lhash_test.c:627,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/test/lhash_test.c:629,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/test/lhash_test.c:629,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:630,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/test/lhash_test.c:635,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 644
    functionName: do_mt_hash_work
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - HT_INIT_KEY
    - ossl_ht_write_unlock
    - ossl_ht_delete
    - ossl_ht_read_lock
    - ossl_ht_write_lock
    - ossl_ht_mt_TEST_MT_ENTRY_get
    - TO_HT_KEY
    - CRYPTO_THREAD_write_lock
    - TEST_info
    - HT_KEY_RESET
    - test_random
    - CRYPTO_atomic_add
    - CRYPTO_THREAD_unlock
    - ossl_ht_mt_TEST_MT_ENTRY_insert
    - TEST_true
    - ossl_ht_read_unlock
    - HT_SET_KEY_FIELD
    linkageType: ''
    returnType: void
    signature: void do_mt_hash_work(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:662,1
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:663,1
    - Dst: memset
      Src: /src/openssl/test/lhash_test.c:664,1
    - Dst: ossl_ht_new
      Src: /src/openssl/test/lhash_test.c:666,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:668,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:671,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/lhash_test.c:671,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lhash_test.c:673,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/lhash_test.c:673,1
    - Dst: gettimeofday
      Src: /src/openssl/test/lhash_test.c:676,1
    - Dst: run_thread
      Src: /src/openssl/test/lhash_test.c:680,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/lhash_test.c:686,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:697,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:702,1
    - Dst: gettimeofday
      Src: /src/openssl/test/lhash_test.c:707,1
    - Dst: timeval_subtract
      Src: /src/openssl/test/lhash_test.c:708,1
    - Dst: TEST_info
      Src: /src/openssl/test/lhash_test.c:709,1
    - Dst: ossl_ht_free
      Src: /src/openssl/test/lhash_test.c:714,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/lhash_test.c:715,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/lhash_test.c:716,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 719
    functionName: test_hashtable_multithread
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - memset
    - CRYPTO_THREAD_lock_free
    - ossl_ht_free
    - timeval_subtract
    - TEST_info
    - run_thread
    - ossl_ht_new
    - CRYPTO_THREAD_lock_new
    - gettimeofday
    - TEST_ptr
    - wait_for_thread
    linkageType: ''
    returnType: int
    signature: int test_hashtable_multithread(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/lhash_test.c:723,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lhash_test.c:724,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lhash_test.c:725,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/lhash_test.c:726,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lhash_test.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 729
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/lhash_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: get_globals
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: struct filter_prov_globals_st
    signature: struct filter_prov_globals_st *get_globals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/test/filterprov.c:60,1
    - Dst: OSSL_PROVIDER_gettable_params
      Src: /src/openssl/test/filterprov.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: filter_gettable_params
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 0
    functionsReached:
    - get_globals
    - OSSL_PROVIDER_gettable_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *filter_gettable_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/test/filterprov.c:67,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/filterprov.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: filter_get_params
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_params
    - get_globals
    linkageType: ''
    returnType: int
    signature: int filter_get_params(void *provctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/test/filterprov.c:75,1
    - Dst: OSSL_PROVIDER_get_capabilities
      Src: /src/openssl/test/filterprov.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - provctx
    - capability
    - cb
    - arg
    argTypes:
    - void*
    - char*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: filter_get_capabilities
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_capabilities
    - get_globals
    linkageType: ''
    returnType: int
    signature: "int filter_get_capabilities(void *provctx, const char *capability,\n
      \                                  OSSL_CALLBACK *cb, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/test/filterprov.c:84,1
    - Dst: OSSL_PROVIDER_query_operation
      Src: /src/openssl/test/filterprov.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: filter_query
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_query_operation
    - get_globals
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *filter_query(void *provctx,\n                                          int
      operation_id,\n                                          int *no_cache)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/test/filterprov.c:102,1
    - Dst: TEST_ulong_gt
      Src: /src/openssl/test/filterprov.c:105,1
    - Dst: OSSL_PROVIDER_unquery_operation
      Src: /src/openssl/test/filterprov.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - algs
    argTypes:
    - void*
    - int
    - OSSL_ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: filter_unquery
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 0
    functionsReached:
    - TEST_ulong_gt
    - OSSL_PROVIDER_unquery_operation
    - get_globals
    linkageType: ''
    returnType: void
    signature: "void filter_unquery(void *provctx, int operation_id,\n                           const
      OSSL_ALGORITHM *algs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/test/filterprov.c:118,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/filterprov.c:120,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/filterprov.c:121,1
    - Dst: memset
      Src: /src/openssl/test/filterprov.c:122,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/filterprov.c:123,1
    - Dst: ossl_prov_ctx_get0_core_bio_method
      Src: /src/openssl/test/filterprov.c:123,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/test/filterprov.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: filter_teardown
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 0
    functionsReached:
    - memset
    - OSSL_LIB_CTX_free
    - get_globals
    - OSSL_PROVIDER_unload
    - BIO_meth_free
    - ossl_prov_ctx_free
    - ossl_prov_ctx_get0_core_bio_method
    linkageType: ''
    returnType: void
    signature: void filter_teardown(void *provctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_from_dispatch
      Src: /src/openssl/test/filterprov.c:146,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/test/filterprov.c:151,1
    - Dst: memset
      Src: /src/openssl/test/filterprov.c:162,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/filterprov.c:163,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/filterprov.c:167,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/test/filterprov.c:179,1
    - Dst: ossl_bio_prov_init_bio_method
      Src: /src/openssl/test/filterprov.c:180,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/test/filterprov.c:181,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/test/filterprov.c:185,1
    - Dst: c_get_libctx
      Src: /src/openssl/test/filterprov.c:185,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/test/filterprov.c:186,1
    - Dst: ossl_prov_ctx_set0_core_bio_method
      Src: /src/openssl/test/filterprov.c:187,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/filterprov.c:192,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/filterprov.c:193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 195
    functionName: filter_provider_init
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 0
    functionsReached:
    - memset
    - ossl_prov_ctx_set0_libctx
    - OSSL_LIB_CTX_free
    - ossl_bio_prov_init_bio_method
    - ossl_prov_ctx_new
    - ossl_prov_bio_from_dispatch
    - OSSL_LIB_CTX_new
    - ossl_prov_ctx_set0_handle
    - OSSL_FUNC_core_get_libctx
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - ossl_prov_ctx_free
    - ossl_prov_ctx_set0_core_bio_method
    - c_get_libctx
    linkageType: ''
    returnType: int
    signature: "int filter_provider_init(const OSSL_CORE_HANDLE *handle,\n                         const
      OSSL_DISPATCH *in,\n                         const OSSL_DISPATCH **out,\n                         void
      **provctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/test/filterprov.c:207,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/filterprov.c:209,1
    - Dst: OSSL_PROVIDER_query_operation
      Src: /src/openssl/test/filterprov.c:211,1
    - Dst: strstr
      Src: /src/openssl/test/filterprov.c:227,1
    - Dst: strlen
      Src: /src/openssl/test/filterprov.c:232,1
    - Dst: strstr
      Src: /src/openssl/test/filterprov.c:235,1
    - Dst: OSSL_PROVIDER_unquery_operation
      Src: /src/openssl/test/filterprov.c:263,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/filterprov.c:264,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - operation
    - filterstr
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 266
    functionName: filter_provider_set_filter
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_unquery_operation
    - strstr
    - get_globals
    - OSSL_PROVIDER_query_operation
    - OPENSSL_free
    - OPENSSL_strdup
    - strlen
    linkageType: ''
    returnType: int
    signature: int filter_provider_set_filter(int operation, const char *filterstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_globals
      Src: /src/openssl/test/filterprov.c:274,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/filterprov.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: filter_provider_check_clean_finish
    functionSourceFile: /src/openssl/test/filterprov.c
    functionUses: 1
    functionsReached:
    - get_globals
    - TEST_ulong_eq
    linkageType: ''
    returnType: int
    signature: int filter_provider_check_clean_finish(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nid
    - ','
    - amask
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: test_cert_table
    functionSourceFile: /src/openssl/test/ssl_cert_table_internal_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_cert_table(nid, amask, idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:32,1
    - Dst: TEST_note
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:35,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:35,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:36,1
    - Dst: TEST_note
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - nid
    - amask
    - idx
    - idxname
    argTypes:
    - int
    - uint32_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: do_test_cert_table
    functionSourceFile: /src/openssl/test/ssl_cert_table_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - TEST_note
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int do_test_cert_table(int nid, uint32_t amask, size_t idx,\n                              const
      char *idxname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:47,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:47,1
    - Dst: test_cert_table
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:48,1
    - Dst: test_cert_table
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:49,1
    - Dst: test_cert_table
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:50,1
    - Dst: test_cert_table
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:51,1
    - Dst: test_cert_table
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:53,1
    - Dst: test_cert_table
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:55,1
    - Dst: test_cert_table
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:57,1
    - Dst: test_cert_table
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: test_ssl_cert_table
    functionSourceFile: /src/openssl/test/ssl_cert_table_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - OSSL_NELEM
    - test_cert_table
    linkageType: ''
    returnType: int
    signature: int test_ssl_cert_table(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/ssl_cert_table_internal_test.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ssl_cert_table_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:82,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/test/dsatest.c:82,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/test/dsatest.c:85,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:86,1
    - Dst: DSA_new
      Src: /src/openssl/test/dsatest.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:87,1
    - Dst: DSA_generate_parameters_ex
      Src: /src/openssl/test/dsatest.c:87,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:91,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:93,1
    - Dst: DSA_get0_pqg
      Src: /src/openssl/test/dsatest.c:96,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/dsatest.c:97,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:99,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dsatest.c:99,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/dsatest.c:102,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:104,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dsatest.c:104,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/dsatest.c:107,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:109,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dsatest.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:112,1
    - Dst: DSA_generate_key
      Src: /src/openssl/test/dsatest.c:112,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:114,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:114,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:116,1
    - Dst: DSA_verify
      Src: /src/openssl/test/dsatest.c:116,1
    - Dst: DSA_free
      Src: /src/openssl/test/dsatest.c:119,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/test/dsatest.c:120,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 61
    functionDepth: 12
    functionLinenumber: 61
    functionLinenumberEnd: 122
    functionName: dsa_test
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_new
    - DSA_free
    - BN_GENCB_set
    - BN_bn2bin
    - TEST_int_eq
    - DSA_new
    - BN_GENCB_free
    - DSA_sign
    - DSA_verify
    - DSA_generate_key
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - DSA_generate_parameters_ex
    - DSA_get0_pqg
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int dsa_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/dsatest.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - p
    - n
    - arg
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: dsa_cb
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int dsa_cb(int p, int n, BN_GENCB *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:244,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:244,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:245,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:246,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:248,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/dsatest.c:248,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:249,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/dsatest.c:249,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:250,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/test/dsatest.c:250,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:251,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/test/dsatest.c:251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:252,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/dsatest.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:254,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_type
      Src: /src/openssl/test/dsatest.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:255,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/test/dsatest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:256,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/test/dsatest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:257,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_seed
      Src: /src/openssl/test/dsatest.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:259,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_md_props
      Src: /src/openssl/test/dsatest.c:259,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:261,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/dsatest.c:261,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:262,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/dsatest.c:262,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:263,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/dsatest.c:263,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:264,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/dsatest.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:267,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/dsatest.c:267,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/dsatest.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:269,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/dsatest.c:269,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/dsatest.c:270,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:271,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/dsatest.c:271,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/dsatest.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:273,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/dsatest.c:273,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/dsatest.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:277,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/dsatest.c:277,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:280,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/dsatest.c:280,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:283,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/dsatest.c:283,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/dsatest.c:286,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:287,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/test/dsatest.c:287,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:294,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:295,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:296,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:297,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:298,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:299,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dsatest.c:300,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dsatest.c:301,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsatest.c:302,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsatest.c:303,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 149
    functionDepth: 7
    functionLinenumber: 149
    functionLinenumberEnd: 305
    functionName: dsa_keygen_test
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - EVP_PKEY_CTX_set_dsa_paramgen_md_props
    - EVP_PKEY_CTX_gettable_params
    - BN_bin2bn
    - TEST_ptr
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_keygen_init
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_paramgen_init
    - OSSL_PARAM_locate_const
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - BN_free
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_set_dsa_paramgen_type
    - TEST_false
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_get_utf8_string_param
    - EVP_PKEY_get_int_param
    - TEST_mem_eq
    - EVP_PKEY_CTX_settable_params
    - EVP_PKEY_CTX_set_dsa_paramgen_seed
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int dsa_keygen_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:314,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/dsatest.c:314,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:315,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/dsatest.c:315,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:317,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/test/dsatest.c:317,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:318,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/dsatest.c:318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:319,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/dsatest.c:319,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:320,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/dsatest.c:320,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/dsatest.c:322,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsatest.c:323,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/dsatest.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 9
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: test_dsa_default_paramgen_validate
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_param_check
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - EVP_PKEY_paramgen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_dsa_default_paramgen_validate(int i)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:354,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:354,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:355,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:355,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:356,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:356,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:357,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:357,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:358,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:358,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:359,1
    - Dst: BN_dup
      Src: /src/openssl/test/dsatest.c:359,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:360,1
    - Dst: BN_new
      Src: /src/openssl/test/dsatest.c:360,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:361,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dsatest.c:361,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:362,1
    - Dst: BN_new
      Src: /src/openssl/test/dsatest.c:362,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:363,1
    - Dst: BN_set_word
      Src: /src/openssl/test/dsatest.c:363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:364,1
    - Dst: DSA_new
      Src: /src/openssl/test/dsatest.c:364,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:367,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/dsatest.c:367,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:371,1
    - Dst: DSA_set0_key
      Src: /src/openssl/test/dsatest.c:371,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dsatest.c:375,1
    - Dst: DSA_size
      Src: /src/openssl/test/dsatest.c:375,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:379,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:379,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:380,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:383,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:383,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/dsatest.c:384,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/dsatest.c:385,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:389,1
    - Dst: DSA_set0_key
      Src: /src/openssl/test/dsatest.c:389,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:392,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:392,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:396,1
    - Dst: DSA_set0_key
      Src: /src/openssl/test/dsatest.c:396,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:399,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/dsatest.c:399,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:402,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:402,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:407,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:408,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:409,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:410,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:411,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:412,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:413,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:414,1
    - Dst: DSA_free
      Src: /src/openssl/test/dsatest.c:415,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 328
    functionDepth: 12
    functionLinenumber: 328
    functionLinenumberEnd: 417
    functionName: test_dsa_sig_infinite_loop
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - BN_free
    - DSA_size
    - DSA_free
    - BN_dup
    - BN_set_word
    - TEST_int_le
    - TEST_false
    - BN_bin2bn
    - DSA_new
    - DSA_sign
    - BN_new
    - TEST_true
    - TEST_ptr
    - DSA_set0_key
    - DSA_set0_pqg
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_dsa_sig_infinite_loop(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:443,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:443,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:444,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:444,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:445,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:445,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:446,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:446,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:447,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/dsatest.c:447,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/dsatest.c:448,1
    - Dst: DSA_new
      Src: /src/openssl/test/dsatest.c:448,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:451,1
    - Dst: DSA_set0_pqg
      Src: /src/openssl/test/dsatest.c:451,1
    - Dst: TEST_true
      Src: /src/openssl/test/dsatest.c:455,1
    - Dst: DSA_set0_key
      Src: /src/openssl/test/dsatest.c:455,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:459,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:460,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:460,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:463,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:464,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:465,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:465,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:468,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:469,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:470,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:470,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:473,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:474,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/dsatest.c:475,1
    - Dst: TEST_false
      Src: /src/openssl/test/dsatest.c:476,1
    - Dst: DSA_sign
      Src: /src/openssl/test/dsatest.c:476,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:481,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:482,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:485,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:486,1
    - Dst: BN_free
      Src: /src/openssl/test/dsatest.c:487,1
    - Dst: DSA_free
      Src: /src/openssl/test/dsatest.c:489,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 419
    functionDepth: 12
    functionLinenumber: 419
    functionLinenumberEnd: 491
    functionName: test_dsa_sig_neg_param
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - BN_free
    - DSA_free
    - BN_set_negative
    - TEST_false
    - BN_bin2bn
    - DSA_new
    - DSA_sign
    - TEST_true
    - TEST_ptr
    - DSA_set0_key
    - DSA_set0_pqg
    linkageType: ''
    returnType: int
    signature: int test_dsa_sig_neg_param(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsatest.c:498,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsatest.c:499,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsatest.c:500,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/dsatest.c:501,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/dsatest.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 505
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/dsatest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:26,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:26,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:27,1
    - Dst: BN_new
      Src: /src/openssl/test/param_build_test.c:27,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:28,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:28,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:30,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:30,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:35,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:35,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:36,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:37,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:38,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:38,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:39,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/param_build_test.c:44,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:45,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:46,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:47,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:48,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 50
    functionName: template_public_single_zero_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_free
    - TEST_str_eq
    - OSSL_PARAM_BLD_push_BN
    - OPENSSL_free
    - OSSL_PARAM_BLD_free
    - BN_new
    - TEST_true
    - TEST_ptr
    - BN_free
    - TEST_uint_eq
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int template_public_single_zero_test(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:59,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:59,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:60,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:60,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:61,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:61,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:62,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:67,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:68,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:68,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:69,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:71,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:71,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:72,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/param_build_test.c:72,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:73,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/param_build_test.c:78,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:79,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:80,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:81,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 84
    functionName: template_private_single_zero_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_free
    - TEST_str_eq
    - CRYPTO_secure_allocated
    - BN_secure_new
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_BN
    - BN_get_flags
    - OPENSSL_free
    - OSSL_PARAM_BLD_free
    - TEST_true
    - TEST_ptr
    - BN_free
    - TEST_uint_eq
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int template_private_single_zero_test(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:88,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:103,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:104,1
    - Dst: OSSL_PARAM_BLD_push_long
      Src: /src/openssl/test/param_build_test.c:104,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:105,1
    - Dst: OSSL_PARAM_BLD_push_int32
      Src: /src/openssl/test/param_build_test.c:105,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:106,1
    - Dst: OSSL_PARAM_BLD_push_int64
      Src: /src/openssl/test/param_build_test.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:107,1
    - Dst: OSSL_PARAM_BLD_push_time_t
      Src: /src/openssl/test/param_build_test.c:107,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:108,1
    - Dst: OSSL_PARAM_BLD_push_double
      Src: /src/openssl/test/param_build_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:109,1
    - Dst: BN_new
      Src: /src/openssl/test/param_build_test.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:110,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:110,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:111,1
    - Dst: BN_new
      Src: /src/openssl/test/param_build_test.c:111,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:112,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:112,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:113,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:114,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:114,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:115,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:115,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:116,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/param_build_test.c:116,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:117,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:118,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/param_build_test.c:118,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:120,1
    - Dst: OSSL_PARAM_BLD_push_utf8_ptr
      Src: /src/openssl/test/param_build_test.c:120,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:122,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/param_build_test.c:122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:123,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:123,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:131,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:134,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:137,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:138,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:141,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:142,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:146,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:146,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:147,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/param_build_test.c:147,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:148,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:149,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:153,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:153,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:154,1
    - Dst: OSSL_PARAM_get_int32
      Src: /src/openssl/test/param_build_test.c:154,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:155,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:156,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:157,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:160,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:160,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:161,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:162,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:164,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/test/param_build_test.c:164,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/param_build_test.c:165,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:167,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:167,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:168,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:169,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:170,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:171,1
    - Dst: OSSL_PARAM_get_long
      Src: /src/openssl/test/param_build_test.c:171,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/param_build_test.c:172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:174,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:174,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:175,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:176,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:178,1
    - Dst: OSSL_PARAM_get_time_t
      Src: /src/openssl/test/param_build_test.c:178,1
    - Dst: TEST_time_t_eq
      Src: /src/openssl/test/param_build_test.c:179,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:181,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:182,1
    - Dst: OSSL_PARAM_get_double
      Src: /src/openssl/test/param_build_test.c:182,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:183,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:184,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:185,1
    - Dst: TEST_double_eq
      Src: /src/openssl/test/param_build_test.c:186,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:188,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:188,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:190,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/param_build_test.c:190,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:191,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:193,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:193,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:194,1
    - Dst: OSSL_PARAM_get_utf8_ptr
      Src: /src/openssl/test/param_build_test.c:194,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:195,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:197,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:197,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:198,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:200,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:200,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:201,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:203,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:203,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:204,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:205,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:206,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:206,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:209,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:209,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:210,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:212,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:212,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:213,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/param_build_test.c:217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/param_build_test.c:219,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:220,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/param_build_test.c:222,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:223,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:224,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:225,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:226,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:227,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:228,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 42
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 230
    functionName: template_public_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_free
    - OSSL_PARAM_get_utf8_ptr
    - OSSL_PARAM_BLD_push_BN
    - OPENSSL_free
    - TEST_ptr
    - OSSL_PARAM_dup
    - OSSL_PARAM_get_time_t
    - TEST_time_t_eq
    - BN_set_negative
    - BN_set_word
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_get_double
    - OSSL_PARAM_merge
    - TEST_long_eq
    - OSSL_PARAM_BLD_push_int
    - BN_new
    - TEST_true
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_locate
    - OSSL_PARAM_BLD_push_int64
    - OSSL_PARAM_get_int64
    - TEST_str_eq
    - TEST_double_eq
    - OSSL_PARAM_get_utf8_string
    - OSSL_PARAM_BLD_push_int32
    - TEST_size_t_eq
    - OSSL_PARAM_get_long
    - OSSL_PARAM_get_int
    - TEST_uint_eq
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_time_t
    - OSSL_PARAM_BLD_push_double
    - BN_secure_new
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_utf8_ptr
    - OSSL_PARAM_get_int32
    - OSSL_PARAM_BLD_push_long
    linkageType: ''
    returnType: int
    signature: int template_public_test(int tstid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:251,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/param_build_test.c:251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:252,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/param_build_test.c:252,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:253,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:253,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:261,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/openssl/test/param_build_test.c:261,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:262,1
    - Dst: OSSL_PARAM_BLD_push_ulong
      Src: /src/openssl/test/param_build_test.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:263,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/openssl/test/param_build_test.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:264,1
    - Dst: OSSL_PARAM_BLD_push_uint64
      Src: /src/openssl/test/param_build_test.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:265,1
    - Dst: OSSL_PARAM_BLD_push_size_t
      Src: /src/openssl/test/param_build_test.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:266,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:266,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:267,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:268,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:269,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:269,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:270,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:270,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:271,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:271,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:272,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:272,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:273,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/param_build_test.c:273,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:274,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:275,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/param_build_test.c:275,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:277,1
    - Dst: OSSL_PARAM_BLD_push_octet_ptr
      Src: /src/openssl/test/param_build_test.c:277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:279,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:279,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:286,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:289,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:292,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:293,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/param_build_test.c:296,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:297,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:301,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:301,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:302,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:303,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/test/param_build_test.c:303,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:304,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:305,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:306,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:307,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:309,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:309,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:310,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:310,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:311,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/param_build_test.c:311,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:312,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:313,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:314,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:317,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:317,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:318,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:318,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:319,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:320,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:322,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/param_build_test.c:322,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/param_build_test.c:323,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:325,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:325,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:326,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:326,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:327,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:328,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:329,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:330,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/openssl/test/param_build_test.c:330,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/param_build_test.c:331,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:333,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:333,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:334,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:334,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:335,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:336,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:337,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:338,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/param_build_test.c:338,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:341,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:341,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:342,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:342,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:343,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:344,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/param_build_test.c:345,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:347,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:347,1
    - Dst: TEST_false
      Src: /src/openssl/test/param_build_test.c:348,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:348,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:349,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:349,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:350,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:351,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/param_build_test.c:352,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:354,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:355,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:355,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:356,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:357,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:358,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:358,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:359,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/param_build_test.c:359,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:360,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:362,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:362,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:363,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:363,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:364,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:365,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:366,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:366,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:367,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/param_build_test.c:367,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:368,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:370,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:370,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:371,1
    - Dst: CRYPTO_secure_allocated
      Src: /src/openssl/test/param_build_test.c:371,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:372,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:373,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:374,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:374,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:375,1
    - Dst: BN_get_flags
      Src: /src/openssl/test/param_build_test.c:375,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/param_build_test.c:376,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:380,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:382,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:383,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:384,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/param_build_test.c:385,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/param_build_test.c:386,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:387,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:388,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:389,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:390,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:391,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:392,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 50
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 232
    functionDepth: 6
    functionLinenumber: 232
    functionLinenumberEnd: 394
    functionName: template_private_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - TEST_BN_eq
    - OSSL_PARAM_get_uint
    - OPENSSL_secure_free
    - OSSL_PARAM_free
    - OPENSSL_secure_malloc
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_get_ulong
    - OSSL_PARAM_BLD_push_uint
    - TEST_ptr
    - OSSL_PARAM_dup
    - OSSL_PARAM_BLD_push_ulong
    - BN_set_negative
    - BN_set_word
    - CRYPTO_secure_allocated
    - OSSL_PARAM_merge
    - OSSL_PARAM_BLD_push_octet_ptr
    - TEST_true
    - OSSL_PARAM_get_uint64
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_uint32
    - TEST_str_eq
    - OSSL_PARAM_BLD_push_octet_string
    - TEST_size_t_eq
    - TEST_uint_eq
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_uint32
    - TEST_false
    - BN_secure_new
    - TEST_ulong_eq
    - TEST_int_eq
    - BN_get_flags
    - OSSL_PARAM_BLD_push_uint64
    - TEST_mem_eq
    - OSSL_PARAM_BLD_push_size_t
    linkageType: ''
    returnType: int
    signature: int template_private_test(int tstid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:400,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:411,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/param_build_test.c:411,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:414,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:414,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:418,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:422,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:425,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/param_build_test.c:425,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:426,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:426,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:430,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:434,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:435,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 396
    functionDepth: 4
    functionLinenumber: 396
    functionLinenumberEnd: 437
    functionName: builder_limit_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_int
    - TEST_true
    - TEST_ptr
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int builder_limit_test(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:443,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/param_build_test.c:444,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:455,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:456,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/openssl/test/param_build_test.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:457,1
    - Dst: OSSL_PARAM_BLD_push_ulong
      Src: /src/openssl/test/param_build_test.c:457,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:458,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/openssl/test/param_build_test.c:458,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:459,1
    - Dst: OSSL_PARAM_BLD_push_uint64
      Src: /src/openssl/test/param_build_test.c:459,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:460,1
    - Dst: OSSL_PARAM_BLD_push_size_t
      Src: /src/openssl/test/param_build_test.c:460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:461,1
    - Dst: BN_secure_new
      Src: /src/openssl/test/param_build_test.c:461,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:462,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:462,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:463,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:463,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:464,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:464,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:467,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:468,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/param_build_test.c:468,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:470,1
    - Dst: OSSL_PARAM_BLD_push_octet_ptr
      Src: /src/openssl/test/param_build_test.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:472,1
    - Dst: OSSL_PARAM_BLD_push_uint32
      Src: /src/openssl/test/param_build_test.c:472,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:473,1
    - Dst: BN_new
      Src: /src/openssl/test/param_build_test.c:473,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:474,1
    - Dst: BN_set_word
      Src: /src/openssl/test/param_build_test.c:474,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:475,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/param_build_test.c:475,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:476,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/param_build_test.c:476,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:479,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/test/param_build_test.c:479,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:482,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:482,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:483,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/test/param_build_test.c:483,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:484,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:485,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:486,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:489,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:489,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:490,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/test/param_build_test.c:490,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:491,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:492,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:493,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:494,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:496,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:496,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:497,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:498,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:500,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/test/param_build_test.c:500,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/param_build_test.c:501,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:503,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:503,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:504,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:505,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:506,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:507,1
    - Dst: OSSL_PARAM_get_ulong
      Src: /src/openssl/test/param_build_test.c:507,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/param_build_test.c:508,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:510,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:510,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:511,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:512,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:514,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/param_build_test.c:514,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/param_build_test.c:515,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:517,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:517,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:518,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:519,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/param_build_test.c:520,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:522,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:522,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:523,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:524,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/param_build_test.c:525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:527,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:527,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:528,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:530,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:530,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:531,1
    - Dst: BN_cmp
      Src: /src/openssl/test/param_build_test.c:531,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/param_build_test.c:532,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/param_build_test.c:532,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/param_build_test.c:533,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/param_build_test.c:534,1
    - Dst: TEST_true
      Src: /src/openssl/test/param_build_test.c:535,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/test/param_build_test.c:535,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/param_build_test.c:536,1
    - Dst: BN_cmp
      Src: /src/openssl/test/param_build_test.c:536,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:540,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:541,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/param_build_test.c:542,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:543,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/param_build_test.c:544,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:545,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:546,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:547,1
    - Dst: BN_free
      Src: /src/openssl/test/param_build_test.c:548,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 439
    functionDepth: 6
    functionLinenumber: 439
    functionLinenumberEnd: 550
    functionName: builder_merge_test
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_BN
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_get_ulong
    - OSSL_PARAM_BLD_push_uint
    - TEST_ptr
    - OSSL_PARAM_BLD_push_ulong
    - BN_set_word
    - BN_cmp
    - OSSL_PARAM_merge
    - BN_new
    - OSSL_PARAM_BLD_push_octet_ptr
    - TEST_true
    - OSSL_PARAM_get_uint64
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_locate
    - OSSL_PARAM_get_uint32
    - TEST_str_eq
    - OSSL_PARAM_BLD_push_octet_string
    - TEST_size_t_eq
    - TEST_uint_eq
    - OSSL_PARAM_get_size_t
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_uint32
    - BN_secure_new
    - TEST_ulong_eq
    - TEST_int_eq
    - OSSL_PARAM_BLD_push_uint64
    - TEST_mem_eq
    - OSSL_PARAM_BLD_push_size_t
    linkageType: ''
    returnType: int
    signature: int builder_merge_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/param_build_test.c:554,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/param_build_test.c:555,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/param_build_test.c:557,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/param_build_test.c:558,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/param_build_test.c:559,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/param_build_test.c:561,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/param_build_test.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/param_build_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_malloc_init
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:64,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:64,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:64,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:70,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:70,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:75,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:75,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:82,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:83,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:85,1
    - Dst: ossl_statem_server_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:89,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:90,1
    - Dst: ossl_statem_server_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:92,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:96,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:97,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:99,1
    - Dst: ossl_statem_server_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:103,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:104,1
    - Dst: ossl_statem_server_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:106,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:110,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:111,1
    - Dst: ossl_statem_client_write_transition
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:113,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:117,1
    - Dst: SSL_get_handshake_rtt
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:117,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:117,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:120,1
    - Dst: SSL_free
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:126,1
    - Dst: SSL_free
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:127,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:128,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:129,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 132
    functionName: test_handshake_rtt
    functionSourceFile: /src/openssl/test/ssl_handshake_rtt_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint64_t_ge
    - ossl_statem_server_write_transition
    - SSL_CTX_free
    - SSL_free
    - SSL_get_handshake_rtt
    - SSL_CONNECTION_GET_SSL
    - OSSL_sleep
    - TEST_ptr
    - create_ssl_objects
    - TLS_server_method
    - TEST_true
    - ossl_statem_client_write_transition
    - create_ssl_ctx_pair
    - TLS_client_method
    - SSL_CONNECTION_FROM_SSL
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_handshake_rtt(int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ssl_handshake_rtt_test.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ssl_handshake_rtt_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int**
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: int_compare
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_compare(const int *const *a, const int *const *b)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:57,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:70,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:82,1
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:83,1
    - Dst: sk_sint_new_null
      Src: /src/openssl/test/stack_test.c:83,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:88,1
    - Dst: sk_sint_reserve
      Src: /src/openssl/test/stack_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:93,1
    - Dst: sk_sint_num
      Src: /src/openssl/test/stack_test.c:93,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:94,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:97,1
    - Dst: sk_sint_push
      Src: /src/openssl/test/stack_test.c:97,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:98,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:102,1
    - Dst: sk_sint_num
      Src: /src/openssl/test/stack_test.c:102,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:107,1
    - Dst: sk_sint_value
      Src: /src/openssl/test/stack_test.c:107,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:117,1
    - Dst: sk_sint_find
      Src: /src/openssl/test/stack_test.c:117,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:118,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:128,1
    - Dst: sk_sint_find_ex
      Src: /src/openssl/test/stack_test.c:128,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:129,1
    - Dst: TEST_false
      Src: /src/openssl/test/stack_test.c:135,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:135,1
    - Dst: sk_sint_set_cmp_func
      Src: /src/openssl/test/stack_test.c:137,1
    - Dst: sk_sint_sort
      Src: /src/openssl/test/stack_test.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:139,1
    - Dst: sk_sint_is_sorted
      Src: /src/openssl/test/stack_test.c:139,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:144,1
    - Dst: sk_sint_find
      Src: /src/openssl/test/stack_test.c:144,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:145,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:151,1
    - Dst: sk_sint_find_ex
      Src: /src/openssl/test/stack_test.c:151,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:152,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:156,1
    - Dst: sk_sint_find_ex
      Src: /src/openssl/test/stack_test.c:156,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:157,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:162,1
    - Dst: sk_sint_shift
      Src: /src/openssl/test/stack_test.c:162,1
    - Dst: sk_sint_free
      Src: /src/openssl/test/stack_test.c:167,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 74
    argCount: 1
    argNames:
    - reserve
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 169
    functionName: test_int_stack
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - sk_sint_push
    - sk_sint_find_ex
    - sk_sint_shift
    - sk_sint_find
    - TEST_ptr
    - sk_sint_value
    - TEST_info
    - TEST_true
    - sk_sint_sort
    - STACK_OF
    - sk_sint_new_null
    - sk_sint_num
    - sk_sint_is_sorted
    - TEST_false
    - sk_sint_reserve
    - TEST_int_eq
    - OSSL_NELEM
    - sk_sint_free
    - sk_sint_set_cmp_func
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_int_stack(int reserve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned char**
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: uchar_compare
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int uchar_compare(const unsigned char *const *a,\n                         const
      unsigned char *const *b)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:180,1
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:181,1
    - Dst: sk_uchar_new
      Src: /src/openssl/test/stack_test.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/stack_test.c:186,1
    - Dst: sk_uchar_reserve
      Src: /src/openssl/test/stack_test.c:186,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:191,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:191,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:192,1
    - Dst: sk_uchar_unshift
      Src: /src/openssl/test/stack_test.c:195,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:197,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:197,1
    - Dst: sk_uchar_dup
      Src: /src/openssl/test/stack_test.c:201,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:202,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:204,1
    - Dst: sk_uchar_dup
      Src: /src/openssl/test/stack_test.c:205,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:206,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:206,1
    - Dst: sk_uchar_sort
      Src: /src/openssl/test/stack_test.c:208,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:212,1
    - Dst: sk_uchar_pop
      Src: /src/openssl/test/stack_test.c:212,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:213,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:218,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:222,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:222,1
    - Dst: sk_uchar_zero
      Src: /src/openssl/test/stack_test.c:226,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:227,1
    - Dst: sk_uchar_num
      Src: /src/openssl/test/stack_test.c:227,1
    - Dst: sk_uchar_insert
      Src: /src/openssl/test/stack_test.c:231,1
    - Dst: sk_uchar_insert
      Src: /src/openssl/test/stack_test.c:232,1
    - Dst: sk_uchar_insert
      Src: /src/openssl/test/stack_test.c:233,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:235,1
    - Dst: sk_uchar_value
      Src: /src/openssl/test/stack_test.c:235,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:236,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/stack_test.c:241,1
    - Dst: sk_uchar_delete
      Src: /src/openssl/test/stack_test.c:241,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:243,1
    - Dst: sk_uchar_delete
      Src: /src/openssl/test/stack_test.c:243,1
    - Dst: sk_uchar_set
      Src: /src/openssl/test/stack_test.c:247,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:249,1
    - Dst: sk_uchar_value
      Src: /src/openssl/test/stack_test.c:249,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:250,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:256,1
    - Dst: sk_uchar_free
      Src: /src/openssl/test/stack_test.c:257,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 1
    argNames:
    - reserve
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 259
    functionName: test_uchar_stack
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - sk_uchar_new
    - sk_uchar_set
    - sk_uchar_unshift
    - TEST_ptr
    - sk_uchar_zero
    - sk_uchar_insert
    - TEST_info
    - sk_uchar_delete
    - sk_uchar_dup
    - sk_uchar_free
    - TEST_true
    - sk_uchar_value
    - STACK_OF
    - sk_uchar_reserve
    - TEST_ptr_null
    - sk_uchar_pop
    - TEST_int_eq
    - OSSL_NELEM
    - TEST_ptr_eq
    - sk_uchar_sort
    - sk_uchar_num
    linkageType: ''
    returnType: int
    signature: int test_uchar_stack(int reserve)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/stack_test.c:263,1
    - Dst: memcpy
      Src: /src/openssl/test/stack_test.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - SS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: SS_copy
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: SS
    signature: SS *SS_copy(const SS *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/stack_test.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - SS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: SS_free
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void SS_free(SS *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:276,1
    - Dst: sk_SS_new_null
      Src: /src/openssl/test/stack_test.c:276,1
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:277,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:279,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/stack_test.c:285,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:287,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:291,1
    - Dst: sk_SS_num
      Src: /src/openssl/test/stack_test.c:291,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:292,1
    - Dst: sk_SS_push
      Src: /src/openssl/test/stack_test.c:295,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:297,1
    - Dst: sk_SS_num
      Src: /src/openssl/test/stack_test.c:297,1
    - Dst: sk_SS_deep_copy
      Src: /src/openssl/test/stack_test.c:301,1
    - Dst: sk_SS_num
      Src: /src/openssl/test/stack_test.c:302,1
    - Dst: sk_SS_free
      Src: /src/openssl/test/stack_test.c:304,1
    - Dst: sk_SS_deep_copy
      Src: /src/openssl/test/stack_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:306,1
    - Dst: sk_SS_value
      Src: /src/openssl/test/stack_test.c:309,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/stack_test.c:310,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:311,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:314,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:315,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/stack_test.c:318,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:319,1
    - Dst: sk_SS_pop_free
      Src: /src/openssl/test/stack_test.c:325,1
    - Dst: sk_SS_delete_ptr
      Src: /src/openssl/test/stack_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/stack_test.c:330,1
    - Dst: SS_free
      Src: /src/openssl/test/stack_test.c:332,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:333,1
    - Dst: sk_SS_num
      Src: /src/openssl/test/stack_test.c:333,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:336,1
    - Dst: sk_SS_value
      Src: /src/openssl/test/stack_test.c:336,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:337,1
    - Dst: sk_SS_pop_free
      Src: /src/openssl/test/stack_test.c:343,1
    - Dst: sk_SS_pop_free
      Src: /src/openssl/test/stack_test.c:344,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 346
    functionName: test_SS_stack
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - sk_SS_new_null
    - TEST_ptr_ne
    - sk_SS_value
    - TEST_int_eq
    - TEST_info
    - sk_SS_push
    - TEST_char_eq
    - STACK_OF
    - OSSL_NELEM
    - sk_SS_pop_free
    - SS_free
    - sk_SS_delete_ptr
    - sk_SS_deep_copy
    - TEST_ptr
    - sk_SS_free
    - TEST_ptr_eq
    - OPENSSL_malloc
    - sk_SS_num
    linkageType: ''
    returnType: int
    signature: int test_SS_stack(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/stack_test.c:350,1
    - Dst: sk_SU_new_null
      Src: /src/openssl/test/stack_test.c:350,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/stack_test.c:352,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:362,1
    - Dst: sk_SU_num
      Src: /src/openssl/test/stack_test.c:362,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:363,1
    - Dst: sk_SU_push
      Src: /src/openssl/test/stack_test.c:366,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/stack_test.c:368,1
    - Dst: sk_SU_num
      Src: /src/openssl/test/stack_test.c:368,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/stack_test.c:373,1
    - Dst: sk_SU_value
      Src: /src/openssl/test/stack_test.c:373,1
    - Dst: TEST_info
      Src: /src/openssl/test/stack_test.c:374,1
    - Dst: sk_SU_free
      Src: /src/openssl/test/stack_test.c:380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 382
    functionName: test_SU_stack
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - sk_SU_free
    - TEST_int_eq
    - TEST_info
    - sk_SU_num
    - STACK_OF
    - OSSL_NELEM
    - sk_SU_new_null
    - sk_SU_push
    - sk_SU_value
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_SU_stack(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/stack_test.c:386,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/stack_test.c:387,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/stack_test.c:388,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/stack_test.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/stack_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/v3nametest.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: is_exception
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_exception(const char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/v3nametest.c:91,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/v3nametest.c:92,1
    - Dst: va_arg
      Src: /src/openssl/test/v3nametest.c:100,1
    - Dst: va_arg
      Src: /src/openssl/test/v3nametest.c:103,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/test/v3nametest.c:104,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/test/v3nametest.c:108,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/v3nametest.c:112,1
    - Dst: va_end
      Src: /src/openssl/test/v3nametest.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - crt
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 115
    functionName: set_cn
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - va_end
    - X509_set_subject_name
    - va_start
    - X509_NAME_free
    - X509_NAME_add_entry_by_NID
    - X509_NAME_new
    - va_arg
    linkageType: ''
    returnType: int
    signature: int set_cn(X509 *crt, ...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/v3nametest.c:131,1
    - Dst: sk_GENERAL_NAME_new_null
      Src: /src/openssl/test/v3nametest.c:132,1
    - Dst: va_arg
      Src: /src/openssl/test/v3nametest.c:138,1
    - Dst: va_arg
      Src: /src/openssl/test/v3nametest.c:141,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/test/v3nametest.c:143,1
    - Dst: ASN1_IA5STRING_new
      Src: /src/openssl/test/v3nametest.c:146,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/test/v3nametest.c:149,1
    - Dst: GENERAL_NAME_set0_value
      Src: /src/openssl/test/v3nametest.c:154,1
    - Dst: abort
      Src: /src/openssl/test/v3nametest.c:158,1
    - Dst: sk_GENERAL_NAME_push
      Src: /src/openssl/test/v3nametest.c:160,1
    - Dst: X509_add1_ext_i2d
      Src: /src/openssl/test/v3nametest.c:164,1
    - Dst: ASN1_IA5STRING_free
      Src: /src/openssl/test/v3nametest.c:168,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/test/v3nametest.c:169,1
    - Dst: GENERAL_NAMES_free
      Src: /src/openssl/test/v3nametest.c:170,1
    - Dst: va_end
      Src: /src/openssl/test/v3nametest.c:171,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 1
    argNames:
    - crt
    argTypes:
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 173
    functionName: set_altname
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - va_end
    - abort
    - sk_GENERAL_NAME_push
    - GENERAL_NAMES_free
    - X509_add1_ext_i2d
    - GENERAL_NAME_new
    - ASN1_IA5STRING_new
    - sk_GENERAL_NAME_new_null
    - va_start
    - GENERAL_NAME_set0_value
    - ASN1_STRING_set
    - GENERAL_NAME_free
    - va_arg
    - ASN1_IA5STRING_free
    linkageType: ''
    returnType: int
    signature: int set_altname(X509 *crt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/openssl/test/v3nametest.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: set_cn1
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: int set_cn1(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/openssl/test/v3nametest.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: set_cn_and_email
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: int set_cn_and_email(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/openssl/test/v3nametest.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: set_cn2
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: int set_cn2(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/openssl/test/v3nametest.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: set_cn3
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: int set_cn3(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/openssl/test/v3nametest.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: set_email1
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: int set_email1(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/openssl/test/v3nametest.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: set_email2
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: int set_email2(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/openssl/test/v3nametest.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: set_email3
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: int set_email3(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cn
      Src: /src/openssl/test/v3nametest.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: set_email_and_cn
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_cn
    linkageType: ''
    returnType: int
    signature: int set_email_and_cn(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_altname
      Src: /src/openssl/test/v3nametest.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: set_altname_dns
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_altname
    linkageType: ''
    returnType: int
    signature: int set_altname_dns(X509 *crt, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_altname
      Src: /src/openssl/test/v3nametest.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crt
    - name
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: set_altname_email
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - set_altname
    linkageType: ''
    returnType: int
    signature: int set_altname_email(X509 *crt, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:255,1
    - Dst: X509_new
      Src: /src/openssl/test/v3nametest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:257,1
    - Dst: X509_set_version
      Src: /src/openssl/test/v3nametest.c:257,1
    - Dst: X509_free
      Src: /src/openssl/test/v3nametest.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: make_cert
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - X509_new
    - X509_free
    - X509_set_version
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: X509
    signature: X509 *make_cert(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/v3nametest.c:271,1
    - Dst: is_exception
      Src: /src/openssl/test/v3nametest.c:274,1
    - Dst: TEST_error
      Src: /src/openssl/test/v3nametest.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - fn
    - op
    - nameincert
    - match
    - name
    argTypes:
    - struct set_name_fn*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: check_message
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - is_exception
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int check_message(const struct set_name_fn *fn, const char *op,\n
      \                        const char *nameincert, int match, const char *name)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/v3nametest.c:287,1
    - Dst: strlen
      Src: /src/openssl/test/v3nametest.c:288,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/v3nametest.c:289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:292,1
    - Dst: memcpy
      Src: /src/openssl/test/v3nametest.c:294,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/v3nametest.c:297,1
    - Dst: X509_check_host
      Src: /src/openssl/test/v3nametest.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:307,1
    - Dst: check_message
      Src: /src/openssl/test/v3nametest.c:307,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/v3nametest.c:311,1
    - Dst: X509_check_host
      Src: /src/openssl/test/v3nametest.c:311,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:322,1
    - Dst: check_message
      Src: /src/openssl/test/v3nametest.c:322,1
    - Dst: X509_check_email
      Src: /src/openssl/test/v3nametest.c:327,1
    - Dst: strchr
      Src: /src/openssl/test/v3nametest.c:331,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:335,1
    - Dst: check_message
      Src: /src/openssl/test/v3nametest.c:335,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/v3nametest.c:337,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 48
    argCount: 3
    argNames:
    - crt
    - nameincert
    - fn
    argTypes:
    - X509*
    - char*
    - struct set_name_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 341
    functionName: run_cert
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strcasecmp
    - memcpy
    - TEST_int_ge
    - X509_check_host
    - X509_check_email
    - check_message
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int run_cert(X509 *crt, const char *nameincert,\n                     const
      struct set_name_fn *fn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/v3nametest.c:350,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:352,1
    - Dst: make_cert
      Src: /src/openssl/test/v3nametest.c:352,1
    - Dst: TEST_true
      Src: /src/openssl/test/v3nametest.c:353,1
    - Dst: struct set_name_fn*::fn
      Src: /src/openssl/test/v3nametest.c:353,1
    - Dst: run_cert
      Src: /src/openssl/test/v3nametest.c:354,1
    - Dst: X509_free
      Src: /src/openssl/test/v3nametest.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 359
    functionName: call_run_cert
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - struct set_name_fn*::fn
    - TEST_info
    - X509_free
    - make_cert
    - run_cert
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int call_run_cert(int i)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/v3nametest.c:662,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:663,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/v3nametest.c:664,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:665,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:668,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:668,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:671,1
    - Dst: d2i_GENERAL_NAME
      Src: /src/openssl/test/v3nametest.c:678,1
    - Dst: d2i_GENERAL_NAME
      Src: /src/openssl/test/v3nametest.c:680,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:681,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/v3nametest.c:681,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:686,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:687,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/v3nametest.c:689,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/openssl/test/v3nametest.c:689,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/v3nametest.c:692,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/openssl/test/v3nametest.c:692,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:700,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/test/v3nametest.c:702,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/test/v3nametest.c:704,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/v3nametest.c:706,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/v3nametest.c:707,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 710
    functionName: test_GENERAL_NAME_cmp
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - GENERAL_NAME_cmp
    - TEST_int_ne
    - TEST_int_eq
    - d2i_GENERAL_NAME
    - OSSL_NELEM
    - OPENSSL_free
    - TEST_ptr
    - GENERAL_NAME_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_GENERAL_NAME_cmp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/v3nametest.c:714,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/v3nametest.c:714,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/v3nametest.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 717
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/v3nametest.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/exdatatest.c:32,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/exdatatest.c:33,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:34,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/exdatatest.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: exnew
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - TEST_long_eq
    - TEST_ptr_null
    - TEST_ptr_eq
    - TEST_int_eq
    linkageType: ''
    returnType: void
    signature: "void exnew(void *parent, void *ptr, CRYPTO_EX_DATA *ad,\n          int
      idx, long argl, void *argp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/exdatatest.c:42,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/exdatatest.c:43,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:44,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 6
    argNames:
    - to
    - from
    - from_d
    - idx
    - argl
    - argp
    argTypes:
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    - void**
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: exdup
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_long_eq
    - TEST_ptr_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: "int exdup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from,\n          void
      **from_d, int idx, long argl, void *argp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/exdatatest.c:53,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/exdatatest.c:54,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: exfree
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - TEST_long_eq
    - TEST_ptr_eq
    - TEST_int_eq
    linkageType: ''
    returnType: void
    signature: "void exfree(void *parent, void *ptr, CRYPTO_EX_DATA *ad,\n            int
      idx, long argl, void *argp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/exdatatest.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/exdatatest.c:76,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/exdatatest.c:77,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:78,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/exdatatest.c:79,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/exdatatest.c:81,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/test/exdatatest.c:81,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/exdatatest.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: exnew2
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - TEST_ptr_null
    - CRYPTO_set_ex_data
    - OPENSSL_free
    - TEST_long_eq
    - TEST_true
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: void
    signature: "void exnew2(void *parent, void *ptr, CRYPTO_EX_DATA *ad,\n          int
      idx, long argl, void *argp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/exdatatest.c:95,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/exdatatest.c:96,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:98,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:99,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:100,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:100,1
    - Dst: TEST_true
      Src: /src/openssl/test/exdatatest.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 6
    argNames:
    - to
    - from
    - from_d
    - idx
    - argl
    - argp
    argTypes:
    - CRYPTO_EX_DATA*
    - CRYPTO_EX_DATA*
    - void**
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: exdup2
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - TEST_long_eq
    - CRYPTO_get_ex_data
    - TEST_true
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: "int exdup2(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from,\n          void
      **from_d, int idx, long argl, void *argp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:117,1
    - Dst: TEST_true
      Src: /src/openssl/test/exdatatest.c:119,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/exdatatest.c:120,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/exdatatest.c:122,1
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/test/exdatatest.c:122,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/exdatatest.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: exfree2
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    - OPENSSL_free
    - TEST_long_eq
    - CRYPTO_get_ex_data
    - TEST_true
    - TEST_ptr_eq
    linkageType: ''
    returnType: void
    signature: "void exfree2(void *parent, void *ptr, CRYPTO_EX_DATA *ad,\n            int
      idx, long argl, void *argp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/exdatatest.c:136,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/test/exdatatest.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: MYOBJ_new
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_new_ex_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: MYOBJ
    signature: MYOBJ *MYOBJ_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/test/exdatatest.c:147,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/exdatatest.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - cp
    argTypes:
    - MYOBJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: MYOBJ_sethello
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    - TEST_int_eq
    linkageType: ''
    returnType: void
    signature: void MYOBJ_sethello(MYOBJ *obj, char *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MYOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: MYOBJ_gethello
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: char
    signature: char *MYOBJ_gethello(MYOBJ *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - cp
    argTypes:
    - MYOBJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: MYOBJ_sethello2
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void MYOBJ_sethello2(MYOBJ *obj, char *cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:169,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MYOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: MYOBJ_gethello2
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: char
    signature: char *MYOBJ_gethello2(MYOBJ *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/exdatatest.c:182,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/exdatatest.c:183,1
    - Dst: CRYPTO_alloc_ex_data
      Src: /src/openssl/test/exdatatest.c:183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:185,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - cp
    argTypes:
    - MYOBJ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: MYOBJ_allochello3
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_alloc_ex_data
    - TEST_ptr_null
    - CRYPTO_get_ex_data
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: void MYOBJ_allochello3(MYOBJ *obj, char *cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MYOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: MYOBJ_gethello3
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: char
    signature: char *MYOBJ_gethello3(MYOBJ *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/test/exdatatest.c:205,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/exdatatest.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - MYOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: MYOBJ_free
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_free_ex_data
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void MYOBJ_free(MYOBJ *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MYOBJ_new
      Src: /src/openssl/test/exdatatest.c:212,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/test/exdatatest.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - MYOBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: MYOBJ_dup
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - CRYPTO_dup_ex_data
    - MYOBJ_new
    linkageType: ''
    returnType: MYOBJ
    signature: MYOBJ *MYOBJ_dup(MYOBJ *in)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:230,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/exdatatest.c:230,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:233,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/exdatatest.c:233,1
    - Dst: CRYPTO_get_ex_new_index
      Src: /src/openssl/test/exdatatest.c:235,1
    - Dst: CRYPTO_get_ex_new_index
      Src: /src/openssl/test/exdatatest.c:238,1
    - Dst: MYOBJ_new
      Src: /src/openssl/test/exdatatest.c:241,1
    - Dst: MYOBJ_new
      Src: /src/openssl/test/exdatatest.c:242,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/exdatatest.c:243,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/exdatatest.c:243,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:245,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:245,1
    - Dst: CRYPTO_get_ex_new_index
      Src: /src/openssl/test/exdatatest.c:252,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/exdatatest.c:255,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:255,1
    - Dst: MYOBJ_sethello
      Src: /src/openssl/test/exdatatest.c:258,1
    - Dst: MYOBJ_gethello
      Src: /src/openssl/test/exdatatest.c:259,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:260,1
    - Dst: MYOBJ_sethello2
      Src: /src/openssl/test/exdatatest.c:263,1
    - Dst: MYOBJ_gethello2
      Src: /src/openssl/test/exdatatest.c:264,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:265,1
    - Dst: MYOBJ_allochello3
      Src: /src/openssl/test/exdatatest.c:268,1
    - Dst: MYOBJ_gethello3
      Src: /src/openssl/test/exdatatest.c:269,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:270,1
    - Dst: MYOBJ_gethello
      Src: /src/openssl/test/exdatatest.c:273,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/exdatatest.c:274,1
    - Dst: MYOBJ_gethello2
      Src: /src/openssl/test/exdatatest.c:277,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/exdatatest.c:278,1
    - Dst: MYOBJ_dup
      Src: /src/openssl/test/exdatatest.c:281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/exdatatest.c:282,1
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/test/exdatatest.c:285,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/exdatatest.c:286,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/exdatatest.c:288,1
    - Dst: MYOBJ_gethello
      Src: /src/openssl/test/exdatatest.c:291,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:292,1
    - Dst: MYOBJ_gethello2
      Src: /src/openssl/test/exdatatest.c:295,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:296,1
    - Dst: MYOBJ_gethello3
      Src: /src/openssl/test/exdatatest.c:299,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/exdatatest.c:300,1
    - Dst: MYOBJ_free
      Src: /src/openssl/test/exdatatest.c:306,1
    - Dst: MYOBJ_free
      Src: /src/openssl/test/exdatatest.c:307,1
    - Dst: MYOBJ_free
      Src: /src/openssl/test/exdatatest.c:308,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/exdatatest.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/exdatatest.c:311,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 313
    functionName: test_exdata
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - MYOBJ_gethello3
    - MYOBJ_free
    - MYOBJ_sethello
    - TEST_ptr_null
    - MYOBJ_gethello
    - CRYPTO_get_ex_new_index
    - MYOBJ_gethello2
    - MYOBJ_sethello2
    - TEST_int_eq
    - MYOBJ_allochello3
    - MYOBJ_new
    - OPENSSL_free
    - OPENSSL_strdup
    - CRYPTO_get_ex_data
    - MYOBJ_dup
    - TEST_ptr
    - TEST_ptr_eq
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_exdata(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/exdatatest.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/exdatatest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - buf_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: free_cb
    functionSourceFile: /src/openssl/test/quic_cfq_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_cb(unsigned char *buf, size_t buf_len, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_cfq_test.c:74,1
    - Dst: ossl_quic_cfq_item_get_priority_next
      Src: /src/openssl/test/quic_cfq_test.c:75,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_cfq_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cfq_test.c:86,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_cfq_test.c:87,1
    - Dst: ossl_quic_cfq_item_get_encoded
      Src: /src/openssl/test/quic_cfq_test.c:87,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_cfq_test.c:89,1
    - Dst: ossl_quic_cfq_item_get_pn_space
      Src: /src/openssl/test/quic_cfq_test.c:89,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_cfq_test.c:90,1
    - Dst: ossl_quic_cfq_item_get_state
      Src: /src/openssl/test/quic_cfq_test.c:90,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - cfq
    argTypes:
    - QUIC_CFQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 98
    functionName: check
    functionSourceFile: /src/openssl/test/quic_cfq_test.c
    functionUses: 109
    functionsReached:
    - ossl_quic_cfq_get_priority_head
    - TEST_ptr_null
    - ossl_quic_cfq_item_get_state
    - ossl_quic_cfq_item_get_priority_next
    - ossl_quic_cfq_item_get_encoded
    - TEST_int_eq
    - ossl_quic_cfq_item_get_pn_space
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int check(QUIC_CFQ *cfq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cfq_test.c:108,1
    - Dst: ossl_quic_cfq_new
      Src: /src/openssl/test/quic_cfq_test.c:108,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_cfq_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_cfq_test.c:115,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/test/quic_cfq_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_cfq_test.c:122,1
    - Dst: ossl_quic_cfq_item_get_state
      Src: /src/openssl/test/quic_cfq_test.c:122,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_cfq_test.c:124,1
    - Dst: ossl_quic_cfq_item_get_pn_space
      Src: /src/openssl/test/quic_cfq_test.c:124,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_cfq_test.c:126,1
    - Dst: ossl_quic_cfq_item_get_frame_type
      Src: /src/openssl/test/quic_cfq_test.c:126,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_cfq_test.c:128,1
    - Dst: ossl_quic_cfq_item_get_encoded
      Src: /src/openssl/test/quic_cfq_test.c:128,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_cfq_test.c:130,1
    - Dst: ossl_quic_cfq_item_get_encoded_len
      Src: /src/openssl/test/quic_cfq_test.c:130,1
    - Dst: check
      Src: /src/openssl/test/quic_cfq_test.c:135,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_cfq_test.c:139,1
    - Dst: ossl_quic_cfq_item_get_priority_next
      Src: /src/openssl/test/quic_cfq_test.c:141,1
    - Dst: ossl_quic_cfq_mark_tx
      Src: /src/openssl/test/quic_cfq_test.c:143,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_cfq_test.c:147,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_cfq_test.c:147,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_cfq_test.c:151,1
    - Dst: ossl_quic_cfq_mark_lost
      Src: /src/openssl/test/quic_cfq_test.c:153,1
    - Dst: check
      Src: /src/openssl/test/quic_cfq_test.c:155,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_cfq_test.c:159,1
    - Dst: ossl_quic_cfq_release
      Src: /src/openssl/test/quic_cfq_test.c:161,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/quic_cfq_test.c:164,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/test/quic_cfq_test.c:164,1
    - Dst: ossl_quic_cfq_free
      Src: /src/openssl/test/quic_cfq_test.c:169,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 171
    functionName: test_cfq
    functionSourceFile: /src/openssl/test/quic_cfq_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_cfq_add_frame
    - ossl_quic_cfq_new
    - ossl_quic_cfq_mark_lost
    - TEST_ptr
    - ossl_quic_cfq_get_priority_head
    - ossl_quic_cfq_item_get_encoded_len
    - ossl_quic_cfq_item_get_state
    - ossl_quic_cfq_release
    - ossl_quic_cfq_free
    - ossl_quic_cfq_mark_tx
    - ossl_quic_cfq_item_get_frame_type
    - TEST_uint64_t_eq
    - ossl_quic_cfq_item_get_pn_space
    - TEST_size_t_eq
    - TEST_uint_eq
    - TEST_ptr_null
    - ossl_quic_cfq_item_get_priority_next
    - TEST_int_eq
    - check
    - OSSL_NELEM
    - ossl_quic_cfq_item_get_encoded
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_cfq(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_cfq_test.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_cfq_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/openssl/test/build_wincrypt_test.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/test/cmp_protect_test.c:42,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_protect_test.c:43,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/test/cmp_protect_test.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_protect_test.c:46,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/cmp_protect_test.c:47,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/cmp_protect_test.c:48,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_protect_test.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 42
    functionsReached:
    - OSSL_CMP_PKISI_free
    - sk_X509_free
    - OPENSSL_free
    - OSSL_CMP_MSG_free
    - OSSL_CMP_CTX_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_PROTECT_TEST_FIXTURE *fixture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:58,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_protect_test.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:61,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/test/cmp_protect_test.c:61,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 12
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    - tear_down
    - OSSL_CMP_CTX_new
    linkageType: ''
    returnType: CMP_PROTECT_TEST_FIXTURE
    signature: CMP_PROTECT_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_calc_protection
      Src: /src/openssl/test/cmp_protect_test.c:83,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/cmp_protect_test.c:84,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/test/cmp_protect_test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 12
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: execute_calc_protection_fails_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - ASN1_BIT_STRING_free
    - ossl_cmp_calc_protection
    linkageType: ''
    returnType: int
    signature: int execute_calc_protection_fails_test(CMP_PROTECT_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_calc_protection
      Src: /src/openssl/test/cmp_protect_test.c:93,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:95,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/test/cmp_protect_test.c:95,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/test/cmp_protect_test.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 12
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: execute_calc_protection_pbmac_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_cmp
    - ASN1_BIT_STRING_free
    - ossl_cmp_calc_protection
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int execute_calc_protection_pbmac_test(CMP_PROTECT_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/test/cmp_protect_test.c:112,1
    - Dst: ASN1_item_verify_ex
      Src: /src/openssl/test/cmp_protect_test.c:114,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/cmp_protect_test.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - protection
    - pkey
    - digest
    argTypes:
    - OSSL_CMP_MSG*
    - ASN1_BIT_STRING*
    - EVP_PKEY*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 9
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: verify_signature
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 3
    functionsReached:
    - ASN1_item_verify_ex
    - OSSL_CMP_MSG_get0_header
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: int
    signature: "int verify_signature(OSSL_CMP_MSG *msg,\n                            ASN1_BIT_STRING
      *protection,\n                            EVP_PKEY *pkey, EVP_MD *digest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_calc_protection
      Src: /src/openssl/test/cmp_protect_test.c:124,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:125,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:126,1
    - Dst: verify_signature
      Src: /src/openssl/test/cmp_protect_test.c:126,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/test/cmp_protect_test.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 12
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: execute_calc_protection_signature_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - ASN1_BIT_STRING_free
    - verify_signature
    - ossl_cmp_calc_protection
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int execute_calc_protection_signature_test(CMP_PROTECT_TEST_FIXTURE
      *\n                                                  fixture)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:137,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:138,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/test/cmp_protect_test.c:139,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:140,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: test_cmp_calc_protection_no_key_no_secret
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - tear_down
    - X509_ALGOR_new
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_calc_protection_no_key_no_secret(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:150,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:152,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_protect_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:153,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:153,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:154,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: test_cmp_calc_protection_pkey
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_pkey
    - tear_down
    - TEST_true
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_calc_protection_pkey(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:164,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:166,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_protect_test.c:166,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:167,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:167,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:168,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: test_cmp_calc_protection_pkey_Ed
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_pkey
    - tear_down
    - TEST_true
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_calc_protection_pkey_Ed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:180,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:181,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_protect_test.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:183,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:183,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:184,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: test_cmp_calc_protection_pbmac
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_CTX_set1_secretValue
    - tear_down
    - TEST_true
    - TEST_ptr
    - load_pkimsg
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_calc_protection_pbmac(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:192,1
    - Dst: ossl_cmp_msg_protect
      Src: /src/openssl/test/cmp_protect_test.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 13
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: execute_MSG_protect_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_protect
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int execute_MSG_protect_test(CMP_PROTECT_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: SET_OPT_UNPROTECTED_SEND
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_OPT_UNPROTECTED_SEND(ctx, val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:200,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:203,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:204,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:204,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:205,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: test_MSG_protect_unprotected_request
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_MSG_dup
    - TEST_true
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_MSG_protect_unprotected_request(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:216,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:219,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:219,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:220,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:220,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:225,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_protect_test.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:227,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_protect_test.c:227,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:230,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 235
    functionName: test_MSG_protect_with_msg_sig_alg_protection_plus_rsa_key
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_MSG_dup
    - TEST_true
    - OSSL_CMP_CTX_set1_secretValue
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - TEST_ptr
    - OSSL_CMP_CTX_set1_referenceValue
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_MSG_protect_with_msg_sig_alg_protection_plus_rsa_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:239,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:242,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:244,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:244,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:245,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/test/cmp_protect_test.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:246,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/openssl/test/cmp_protect_test.c:246,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:248,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: test_MSG_protect_with_certificate_and_key
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_MSG_dup
    - TEST_true
    - OSSL_CMP_CTX_set1_pkey
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - TEST_ptr
    - EXECUTE_TEST
    - OSSL_CMP_CTX_set1_cert
    linkageType: ''
    returnType: int
    signature: int test_MSG_protect_with_certificate_and_key(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:262,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:263,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:264,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:265,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/test/cmp_protect_test.c:265,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:266,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/test/cmp_protect_test.c:266,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:267,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 272
    functionName: test_MSG_protect_certificate_based_without_cert
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set0_newPkey
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_MSG_dup
    - TEST_true
    - EVP_PKEY_up_ref
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_MSG_protect_certificate_based_without_cert(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:276,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:278,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:278,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:279,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:279,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:280,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: test_MSG_protect_no_key_no_secret
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_MSG_dup
    - TEST_true
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_MSG_protect_no_key_no_secret(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:292,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:294,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:294,1
    - Dst: SET_OPT_UNPROTECTED_SEND
      Src: /src/openssl/test/cmp_protect_test.c:295,1
    - Dst: ossl_cmp_hdr_set1_sender
      Src: /src/openssl/test/cmp_protect_test.c:296,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/test/cmp_protect_test.c:297,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/test/cmp_protect_test.c:299,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:302,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - with_ref
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 307
    functionName: test_MSG_protect_pbmac_no_sender
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_MSG_dup
    - ossl_cmp_hdr_set1_sender
    - OSSL_CMP_CTX_set1_secretValue
    - tear_down
    - SET_OPT_UNPROTECTED_SEND
    - TEST_ptr
    - OSSL_CMP_CTX_set1_referenceValue
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_MSG_protect_pbmac_no_sender(int with_ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_MSG_protect_pbmac_no_sender
      Src: /src/openssl/test/cmp_protect_test.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: test_MSG_protect_pbmac_no_sender_with_ref
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - test_MSG_protect_pbmac_no_sender
    linkageType: ''
    returnType: int
    signature: int test_MSG_protect_pbmac_no_sender_with_ref(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_MSG_protect_pbmac_no_sender
      Src: /src/openssl/test/cmp_protect_test.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: test_MSG_protect_pbmac_no_sender_no_ref
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - test_MSG_protect_pbmac_no_sender
    linkageType: ''
    returnType: int
    signature: int test_MSG_protect_pbmac_no_sender_no_ref(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:321,1
    - Dst: ossl_cmp_msg_add_extraCerts
      Src: /src/openssl/test/cmp_protect_test.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: execute_MSG_add_extraCerts_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_msg_add_extraCerts
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int execute_MSG_add_extraCerts_test(CMP_PROTECT_TEST_FIXTURE *fixture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:328,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/test/cmp_protect_test.c:328,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:329,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: test_MSG_add_extraCerts
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - OSSL_CMP_MSG_dup
    - tear_down
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_MSG_add_extraCerts(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_protect_test.c:343,1
    - Dst: X509_build_chain
      Src: /src/openssl/test/cmp_protect_test.c:344,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:347,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:349,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/openssl/test/cmp_protect_test.c:349,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/cmp_protect_test.c:350,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:355,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/cmp_protect_test.c:355,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:356,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/test/cmp_protect_test.c:356,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/test/cmp_protect_test.c:357,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/test/cmp_protect_test.c:357,1
    - Dst: X509_build_chain
      Src: /src/openssl/test/cmp_protect_test.c:359,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:361,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:364,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/openssl/test/cmp_protect_test.c:364,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/cmp_protect_test.c:365,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/cmp_protect_test.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 370
    functionName: execute_cmp_build_cert_chain_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - X509_STORE_free
    - X509_STORE_add_cert
    - STACK_OF_X509_cmp
    - TEST_int_eq
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - X509_build_chain
    - X509_STORE_get0_param
    - TEST_true
    - TEST_ptr
    - X509_VERIFY_PARAM_set_flags
    linkageType: ''
    returnType: int
    signature: int execute_cmp_build_cert_chain_test(CMP_PROTECT_TEST_FIXTURE *fixture)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:374,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:378,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:379,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:379,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:380,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:380,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:381,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:381,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:382,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:382,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:383,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:383,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:384,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:384,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:385,1
    - Dst: execute_cmp_build_cert_chain_test
      Src: /src/openssl/test/cmp_protect_test.c:389,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:391,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:391,1
    - Dst: execute_cmp_build_cert_chain_test
      Src: /src/openssl/test/cmp_protect_test.c:392,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 396
    functionName: test_cmp_build_cert_chain
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - execute_cmp_build_cert_chain_test
    - SETUP_TEST_FIXTURE
    - sk_X509_push
    - tear_down
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_cmp_build_cert_chain(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:400,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:404,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:404,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:405,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:405,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:406,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:407,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:407,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:408,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:408,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:409,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 414
    functionName: test_cmp_build_cert_chain_missing_intermediate
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_push
    - tear_down
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_build_cert_chain_missing_intermediate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:418,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:422,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:422,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:423,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:423,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:424,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:424,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:425,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:425,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:426,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:426,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:427,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:427,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:428,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: test_cmp_build_cert_chain_no_root
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_push
    - tear_down
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_build_cert_chain_no_root(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:441,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:441,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:442,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:442,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:443,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:443,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:444,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:444,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:445,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: test_cmp_build_cert_chain_only_root
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_push
    - tear_down
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_build_cert_chain_only_root(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:454,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:458,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:458,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:459,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:459,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:460,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:460,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:461,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: test_cmp_build_cert_chain_no_certs
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_push
    - tear_down
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_cmp_build_cert_chain_no_certs(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/openssl/test/cmp_protect_test.c:471,1
    - Dst: STACK_OF
      Src: /src/openssl/test/cmp_protect_test.c:472,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:475,1
    - Dst: ossl_cmp_X509_STORE_add1_certs
      Src: /src/openssl/test/cmp_protect_test.c:475,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/test/cmp_protect_test.c:479,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:480,1
    - Dst: STACK_OF_X509_cmp
      Src: /src/openssl/test/cmp_protect_test.c:480,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/cmp_protect_test.c:484,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/cmp_protect_test.c:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_PROTECT_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 488
    functionName: execute_X509_STORE_test
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - X509_STORE_free
    - TEST_int_eq
    - ossl_cmp_X509_STORE_add1_certs
    - STACK_OF_X509_cmp
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - TEST_true
    - X509_STORE_get1_all_certs
    linkageType: ''
    returnType: int
    signature: int execute_X509_STORE_test(CMP_PROTECT_TEST_FIXTURE *fixture)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:492,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:494,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:494,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:495,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:496,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:497,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:498,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:499,1
    - Dst: sk_X509_dup
      Src: /src/openssl/test/cmp_protect_test.c:499,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:500,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 505
    functionName: test_X509_STORE
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_push
    - tear_down
    - sk_X509_dup
    - sk_X509_new_null
    - TEST_ptr
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_X509_STORE(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_protect_test.c:509,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:510,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/cmp_protect_test.c:511,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:513,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:513,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:514,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:514,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:515,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:515,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:516,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:516,1
    - Dst: TEST_true
      Src: /src/openssl/test/cmp_protect_test.c:517,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/cmp_protect_test.c:517,1
    - Dst: tear_down
      Src: /src/openssl/test/cmp_protect_test.c:518,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_protect_test.c:521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: test_X509_STORE_only_self_issued
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - SETUP_TEST_FIXTURE
    - sk_X509_push
    - tear_down
    - TEST_true
    - sk_X509_new_null
    - EXECUTE_TEST
    linkageType: ''
    returnType: int
    signature: int test_X509_STORE_only_self_issued(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_protect_test.c:527,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_protect_test.c:529,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_protect_test.c:530,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/cmp_protect_test.c:532,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:533,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:534,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:535,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:536,1
    - Dst: X509_free
      Src: /src/openssl/test/cmp_protect_test.c:537,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_protect_test.c:538,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/test/cmp_protect_test.c:539,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_protect_test.c:540,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/cmp_protect_test.c:541,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/cmp_protect_test.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 543
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_free
    - EVP_PKEY_free
    - X509_free
    - OSSL_PROVIDER_unload
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/cmp_protect_test.c:562,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_protect_test.c:563,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_protect_test.c:567,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:568,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:568,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:569,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:569,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:570,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:570,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:571,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:571,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:572,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:572,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:573,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:573,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:574,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:574,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:575,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:575,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:576,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:577,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:577,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:578,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:578,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:579,1
    - Dst: test_get_argument
      Src: /src/openssl/test/cmp_protect_test.c:579,1
    - Dst: TEST_error
      Src: /src/openssl/test/cmp_protect_test.c:580,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/cmp_protect_test.c:584,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:587,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_protect_test.c:587,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:588,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:588,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:591,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_protect_test.c:591,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:594,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/cmp_protect_test.c:594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:597,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:597,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:599,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:599,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:601,1
    - Dst: load_pkimsg
      Src: /src/openssl/test/cmp_protect_test.c:601,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:603,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:603,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:604,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:604,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:605,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:605,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_protect_test.c:606,1
    - Dst: load_cert_pem
      Src: /src/openssl/test/cmp_protect_test.c:606,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_protect_test.c:608,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/cmp_protect_test.c:608,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:612,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:613,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:615,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:617,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:619,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:620,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:621,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:622,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:623,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:624,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:625,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:626,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:629,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:630,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:631,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:632,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:633,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:636,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_protect_test.c:637,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 551
    functionDepth: 8
    functionLinenumber: 551
    functionLinenumberEnd: 640
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_protect_test.c
    functionUses: 0
    functionsReached:
    - load_cert_pem
    - test_arg_libctx
    - load_pkey_pem
    - ADD_TEST
    - TEST_int_eq
    - RAND_bytes
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - load_pkimsg
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: fake_now
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: on_lost
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_lost(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: on_acked
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_acked(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: on_discarded
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_discarded(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_free
      Src: /src/openssl/test/quic_ackm_test.c:61,1
    - Dst: free
      Src: /src/openssl/test/quic_ackm_test.c:66,1
    - Dst: ossl_statm_destroy
      Src: /src/openssl/test/quic_ackm_test.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_ackm_test.c:77,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_ackm_test.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: helper_destroy
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - free
    - OPENSSL_free
    - ossl_ackm_free
    - ossl_statm_destroy
    linkageType: ''
    returnType: void
    signature: void helper_destroy(struct helper *h)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/quic_ackm_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:95,1
    - Dst: ossl_statm_init
      Src: /src/openssl/test/quic_ackm_test.c:95,1
    - Dst: new
      Src: /src/openssl/test/quic_ackm_test.c:101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:102,1
    - Dst: ossl_ackm_new
      Src: /src/openssl/test/quic_ackm_test.c:106,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:109,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/quic_ackm_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:116,1
    - Dst: helper_destroy
      Src: /src/openssl/test/quic_ackm_test.c:125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - h
    - num_pkts
    argTypes:
    - struct helper*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 128
    functionName: helper_init
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 2
    functionsReached:
    - memset
    - helper_destroy
    - ossl_ackm_new
    - OPENSSL_calloc
    - ossl_statm_init
    - TEST_int_eq
    - new
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int helper_init(struct helper *h, size_t num_pkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - pntable
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: DEFINE_TX_ACK_CASE
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_TX_ACK_CASE(n, pntable)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:319,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:321,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:323,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:325,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/quic_ackm_test.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - p
    - anti_deadlock_handshake
    - anti_deadlock_initial
    - pto_initial
    - pto_handshake
    - pto_app
    argTypes:
    - OSSL_ACKM_PROBE_INFO*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: test_probe_counts
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: "int test_probe_counts(const OSSL_ACKM_PROBE_INFO *p,\n                             uint32_t
      anti_deadlock_handshake,\n                             uint32_t anti_deadlock_initial,\n
      \                            uint32_t pto_initial,\n                             uint32_t
      pto_handshake,\n                             uint32_t pto_app)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - deadline
    - arg
    argTypes:
    - OSSL_TIME
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: on_loss_detection_deadline_callback
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_loss_detection_deadline_callback(OSSL_TIME deadline, void *arg)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_ackm_test.c:345,1
    - Dst: TEST_skip
      Src: /src/openssl/test/quic_ackm_test.c:349,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:353,1
    - Dst: helper_init
      Src: /src/openssl/test/quic_ackm_test.c:353,1
    - Dst: ossl_ackm_set_loss_detection_deadline_callback
      Src: /src/openssl/test/quic_ackm_test.c:357,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_ackm_test.c:363,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:364,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:380,1
    - Dst: ossl_ackm_on_tx_packet
      Src: /src/openssl/test/quic_ackm_test.c:380,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:386,1
    - Dst: ossl_ackm_on_pkt_space_discarded
      Src: /src/openssl/test/quic_ackm_test.c:386,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:391,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:393,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:395,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:402,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_ackm_test.c:402,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:407,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:410,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:413,1
    - Dst: ossl_ackm_get_loss_detection_deadline
      Src: /src/openssl/test/quic_ackm_test.c:418,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:421,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_ackm_test.c:421,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quic_ackm_test.c:425,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_ackm_test.c:425,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/test/quic_ackm_test.c:429,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:430,1
    - Dst: test_probe_counts
      Src: /src/openssl/test/quic_ackm_test.c:430,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:438,1
    - Dst: ossl_ackm_on_handshake_confirmed
      Src: /src/openssl/test/quic_ackm_test.c:438,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_ackm_test.c:442,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_ackm_test.c:442,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:444,1
    - Dst: ossl_ackm_on_timeout
      Src: /src/openssl/test/quic_ackm_test.c:444,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/test/quic_ackm_test.c:449,1
    - Dst: memset
      Src: /src/openssl/test/quic_ackm_test.c:451,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/test/quic_ackm_test.c:451,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:454,1
    - Dst: test_probe_counts
      Src: /src/openssl/test/quic_ackm_test.c:454,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:457,1
    - Dst: test_probe_counts
      Src: /src/openssl/test/quic_ackm_test.c:457,1
    - Dst: helper_destroy
      Src: /src/openssl/test/quic_ackm_test.c:470,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 104
    argCount: 3
    argNames:
    - tidx
    - space
    - mode
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 472
    functionName: test_tx_ack_case_actual
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_on_pkt_space_discarded
    - ossl_time_zero
    - ossl_ackm_on_handshake_confirmed
    - test_probe_counts
    - TEST_ptr
    - OPENSSL_zalloc
    - helper_destroy
    - ossl_ackm_set_loss_detection_deadline_callback
    - ossl_ackm_on_tx_packet
    - helper_init
    - TEST_skip
    - ossl_ackm_get_loss_detection_deadline
    - ossl_ackm_get0_probe_request
    - ossl_time_add
    - memset
    - TEST_int_eq
    - ossl_time_compare
    - ossl_ackm_on_rx_ack_frame
    - ossl_ticks2time
    - ossl_ackm_on_timeout
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_tx_ack_case_actual(int tidx, int space, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - advance
    - ','
    - pn
    - ','
    - num_pn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: TX_OP_PKT
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_PKT(advance, pn, num_pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - advance
    - ','
    - pn
    - ','
    - num_pn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: TX_OP_ACK
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_ACK(advance, pn, num_pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expect
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: TX_OP_EXPECT
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_OP_EXPECT(expect)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:533,1
    - Dst: helper_init
      Src: /src/openssl/test/quic_ackm_test.c:533,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_ackm_test.c:537,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:538,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_ackm_test.c:560,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_ackm_test.c:561,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:564,1
    - Dst: ossl_ackm_on_tx_packet
      Src: /src/openssl/test/quic_ackm_test.c:564,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_ackm_test.c:578,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_ackm_test.c:579,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:581,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_ackm_test.c:581,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:590,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:593,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:596,1
    - Dst: helper_destroy
      Src: /src/openssl/test/quic_ackm_test.c:606,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 1
    argNames:
    - tidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 608
    functionName: test_tx_ack_time_script
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - helper_destroy
    - TEST_int_eq
    - ossl_ackm_on_rx_ack_frame
    - TEST_ptr
    - ossl_time_add
    - ossl_ticks2time
    - ossl_ackm_on_tx_packet
    - helper_init
    linkageType: ''
    returnType: int
    signature: int test_tx_ack_time_script(int tidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - advance
    - ','
    - pn
    - ','
    - num_pn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: RX_OP_PKT
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_PKT(advance, pn, num_pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - advance
    - ','
    - pn
    - ','
    - num_pn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: RX_OP_CHECK_UNPROC
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_UNPROC(advance, pn, num_pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - advance
    - ','
    - pn
    - ','
    - num_pn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: RX_OP_CHECK_PROC
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_PROC(advance, pn, num_pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - advance
    - ','
    - expect_desired
    - ','
    - expect_deadline
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: RX_OP_CHECK_STATE
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_STATE(advance, expect_desired, expect_deadline)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - advance
    - ','
    - ack_ranges
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: RX_OP_CHECK_ACKS
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_ACKS(advance, ack_ranges)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - advance
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: RX_OP_CHECK_NO_ACKS
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_NO_ACKS(advance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - advance
    - ','
    - pn
    - ','
    - largest_acked
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: RX_OP_TX
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_TX(advance, pn, largest_acked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - advance
    - ','
    - pn
    - ','
    - num_pn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 689
    functionName: RX_OP_RX_ACK
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_RX_ACK(advance, pn, num_pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pn_space
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: RX_OP_SKIP_IF_PN_SPACE
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_SKIP_IF_PN_SPACE(pn_space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deadline
    - pkt_space
    - arg
    argTypes:
    - OSSL_TIME
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 902
    functionName: on_ack_deadline_callback
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void on_ack_deadline_callback(OSSL_TIME deadline,\n                                     int
      pkt_space, void *arg)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_infinite
      Src: /src/openssl/test/quic_ackm_test.c:920,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:923,1
    - Dst: helper_init
      Src: /src/openssl/test/quic_ackm_test.c:923,1
    - Dst: ossl_ackm_set_ack_deadline_callback
      Src: /src/openssl/test/quic_ackm_test.c:927,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/quic_ackm_test.c:939,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:940,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/quic_ackm_test.c:943,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:944,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_ackm_test.c:949,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_ackm_test.c:950,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:962,1
    - Dst: ossl_ackm_is_rx_pn_processable
      Src: /src/openssl/test/quic_ackm_test.c:962,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:967,1
    - Dst: ossl_ackm_on_rx_packet
      Src: /src/openssl/test/quic_ackm_test.c:967,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:976,1
    - Dst: ossl_ackm_is_rx_pn_processable
      Src: /src/openssl/test/quic_ackm_test.c:976,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:984,1
    - Dst: ossl_ackm_is_ack_desired
      Src: /src/openssl/test/quic_ackm_test.c:984,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:988,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/test/quic_ackm_test.c:988,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/test/quic_ackm_test.c:988,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/test/quic_ackm_test.c:989,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/test/quic_ackm_test.c:989,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_ackm_test.c:995,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/test/quic_ackm_test.c:995,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/test/quic_ackm_test.c:995,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:998,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_ackm_test.c:998,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/test/quic_ackm_test.c:998,1
    - Dst: ossl_ackm_get_ack_frame
      Src: /src/openssl/test/quic_ackm_test.c:1006,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_ackm_test.c:1009,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_ackm_test.c:1012,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_ackm_test.c:1016,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_ackm_test.c:1019,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:1041,1
    - Dst: ossl_ackm_on_tx_packet
      Src: /src/openssl/test/quic_ackm_test.c:1041,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_ackm_test.c:1054,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/test/quic_ackm_test.c:1054,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_ackm_test.c:1076,1
    - Dst: helper_destroy
      Src: /src/openssl/test/quic_ackm_test.c:1078,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_ackm_test.c:1079,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_ackm_test.c:1080,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 123
    argCount: 2
    argNames:
    - tidx
    - space
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 1082
    functionName: test_rx_ack_actual
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_time_is_zero
    - TEST_ptr
    - ossl_time_infinite
    - helper_destroy
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_ackm_on_tx_packet
    - helper_init
    - TEST_error
    - ossl_ackm_is_ack_desired
    - ossl_ackm_get_ack_frame
    - ossl_time_is_infinite
    - TEST_size_t_eq
    - ossl_time_add
    - ossl_ackm_set_ack_deadline_callback
    - ossl_ackm_get_ack_deadline
    - ossl_ackm_is_rx_pn_processable
    - OPENSSL_calloc
    - TEST_int_eq
    - ossl_time_compare
    - ossl_ackm_on_rx_packet
    - ossl_ackm_on_rx_ack_frame
    - ossl_ticks2time
    linkageType: ''
    returnType: int
    signature: int test_rx_ack_actual(int tidx, int space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1092,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1093,1
    - Dst: test_tx_ack_case_actual
      Src: /src/openssl/test/quic_ackm_test.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1099
    functionName: test_tx_ack_case
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - test_tx_ack_case_actual
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int test_tx_ack_case(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1105,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1106,1
    - Dst: test_rx_ack_actual
      Src: /src/openssl/test/quic_ackm_test.c:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1109
    functionName: test_rx_ack
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - test_rx_ack_actual
    linkageType: ''
    returnType: int
    signature: int test_rx_ack(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_ackm_test.c:1113,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1114,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_ackm_test.c:1115,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1115,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_ackm_test.c:1116,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_ackm_test.c:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1118
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_ackm_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/property_test.c:33,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:35,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:35,1
    - Dst: va_arg
      Src: /src/openssl/test/property_test.c:37,1
    - Dst: va_end
      Src: /src/openssl/test/property_test.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: add_property_names
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - va_end
    - TEST_int_ne
    - va_start
    - va_arg
    - ossl_property_name
    linkageType: ''
    returnType: int
    signature: int add_property_names(const char *n, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: up_ref
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 149
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int up_ref(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: down_ref
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void down_ref(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:62,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/property_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:63,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:63,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:64,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:64,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:65,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:65,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:66,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:66,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:68,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:68,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:69,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:69,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:70,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:70,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:71,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:71,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:72,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:72,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:73,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:73,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:75,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:75,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:76,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:76,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:78,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:78,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:79,1
    - Dst: ossl_property_name_str
      Src: /src/openssl/test/property_test.c:79,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:81,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:81,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:82,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:82,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:83,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:83,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:84,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:85,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:85,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:86,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:86,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:87,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:87,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:88,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:89,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:89,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:91,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:91,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:92,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:92,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:94,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:94,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:95,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:95,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:97,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:97,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:98,1
    - Dst: ossl_property_value_str
      Src: /src/openssl/test/property_test.c:98,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:100,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:100,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/property_test.c:101,1
    - Dst: ossl_property_name
      Src: /src/openssl/test/property_test.c:101,1
    - Dst: ossl_property_value
      Src: /src/openssl/test/property_test.c:102,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:104,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/property_test.c:105,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 107
    functionName: test_property_string
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - TEST_int_ne
    - ossl_property_value_str
    - TEST_str_eq
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - ossl_property_name_str
    - TEST_int_eq
    - ossl_method_store_free
    - ossl_property_value
    - TEST_ptr
    - ossl_method_store_new
    - ossl_property_name
    linkageType: ''
    returnType: int
    signature: int test_property_string(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:156,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:156,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:159,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:160,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:161,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:161,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:163,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:164,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: test_property_parse
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - ossl_parse_property
    - TEST_int_eq
    - ossl_property_free
    - ossl_method_store_free
    - ossl_parse_query
    - ossl_property_match_count
    - TEST_ptr
    - ossl_method_store_new
    linkageType: ''
    returnType: int
    signature: int test_property_parse(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:176,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:176,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:177,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:178,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:179,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:179,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:180,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:180,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:181,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:181,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:182,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:182,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:184,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:185,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:186,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 169
    functionDepth: 8
    functionLinenumber: 169
    functionLinenumberEnd: 189
    functionName: test_property_query_value_create
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_int_eq
    - ossl_property_free
    - ossl_method_store_free
    - ossl_parse_query
    - ossl_property_match_count
    - TEST_ptr
    - ossl_method_store_new
    linkageType: ''
    returnType: int
    signature: int test_property_query_value_create(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:224,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:224,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:225,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:229,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:229,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:231,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:231,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:236,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 217
    functionDepth: 8
    functionLinenumber: 217
    functionLinenumberEnd: 239
    functionName: test_property_parse_error
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_ptr_null
    - ossl_parse_property
    - ossl_property_free
    - ossl_method_store_free
    - ossl_parse_query
    - TEST_ptr
    - ossl_method_store_new
    linkageType: ''
    returnType: int
    signature: int test_property_parse_error(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:274,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:274,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:275,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:277,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:278,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:278,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:280,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:281,1
    - Dst: ossl_property_merge
      Src: /src/openssl/test/property_test.c:281,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/property_test.c:282,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:282,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:284,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:285,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:286,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:287,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 267
    functionDepth: 8
    functionLinenumber: 267
    functionLinenumberEnd: 290
    functionName: test_property_merge
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - ossl_parse_property
    - TEST_int_ge
    - ossl_property_free
    - ossl_method_store_free
    - ossl_parse_query
    - ossl_property_match_count
    - ossl_property_merge
    - TEST_ptr
    - ossl_method_store_new
    linkageType: ''
    returnType: int
    signature: int test_property_merge(int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:298,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:298,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:299,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:300,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:300,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:301,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:301,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/property_test.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:303,1
    - Dst: ossl_prop_defn_set
      Src: /src/openssl/test/property_test.c:303,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:306,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:308,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:312,1
    - Dst: ossl_prop_defn_set
      Src: /src/openssl/test/property_test.c:312,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:314,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:318,1
    - Dst: ossl_prop_defn_get
      Src: /src/openssl/test/property_test.c:318,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:319,1
    - Dst: ossl_prop_defn_get
      Src: /src/openssl/test/property_test.c:319,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:320,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:320,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/property_test.c:321,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:322,1
    - Dst: ossl_prop_defn_set
      Src: /src/openssl/test/property_test.c:322,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:324,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:328,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:329,1
    - Dst: ossl_prop_defn_get
      Src: /src/openssl/test/property_test.c:329,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:331,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 292
    functionDepth: 8
    functionLinenumber: 292
    functionLinenumberEnd: 333
    functionName: test_property_defn_cache
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - ossl_prop_defn_set
    - add_property_names
    - ossl_prop_defn_get
    - TEST_ptr_ne
    - ossl_parse_property
    - ossl_property_free
    - ossl_method_store_free
    - TEST_true
    - TEST_ptr
    - ossl_method_store_new
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_property_defn_cache(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:359,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:359,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:360,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:361,1
    - Dst: ossl_parse_property
      Src: /src/openssl/test/property_test.c:361,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:362,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:362,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/property_test.c:363,1
    - Dst: ossl_property_match_count
      Src: /src/openssl/test/property_test.c:363,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:365,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:366,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 353
    functionDepth: 8
    functionLinenumber: 353
    functionLinenumberEnd: 369
    functionName: test_definition_compares
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - ossl_parse_property
    - TEST_int_eq
    - ossl_property_free
    - ossl_method_store_free
    - ossl_parse_query
    - ossl_property_match_count
    - TEST_ptr
    - ossl_method_store_new
    linkageType: ''
    returnType: int
    signature: int test_definition_compares(int n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:388,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:388,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:389,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:392,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:393,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/test/property_test.c:393,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:396,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:401,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:406,1
    - Dst: ossl_method_store_remove
      Src: /src/openssl/test/property_test.c:406,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:407,1
    - Dst: ossl_method_store_remove
      Src: /src/openssl/test/property_test.c:407,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:408,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:413,1
    - Dst: ossl_method_store_remove
      Src: /src/openssl/test/property_test.c:413,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 371
    functionDepth: 8
    functionLinenumber: 371
    functionLinenumberEnd: 418
    functionName: test_register_deregister
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_note
    - TEST_false
    - ossl_method_store_free
    - OSSL_NELEM
    - ossl_method_store_add
    - ossl_method_store_remove
    - TEST_true
    - TEST_ptr
    - ossl_method_store_new
    linkageType: ''
    returnType: int
    signature: int test_register_deregister(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:462,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:462,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:463,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:466,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:467,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/test/property_test.c:467,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:471,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:478,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:482,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:482,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:485,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:486,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:487,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:490,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:495,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:500,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:500,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:504,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:505,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:506,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:507,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:511,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:511,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:515,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:516,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:517,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:518,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:522,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:527,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:532,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:532,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:536,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:537,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:538,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:539,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:543,1
    - Dst: ossl_method_store_fetch
      Src: /src/openssl/test/property_test.c:543,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/property_test.c:547,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/property_test.c:548,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:549,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:550,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:554,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:558,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 420
    functionDepth: 8
    functionLinenumber: 420
    functionLinenumberEnd: 560
    functionName: test_property
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - TEST_ptr_null
    - TEST_note
    - TEST_str_eq
    - TEST_false
    - ossl_property_free
    - ossl_method_store_free
    - OSSL_NELEM
    - ossl_method_store_add
    - ossl_method_store_fetch
    - TEST_true
    - TEST_ptr
    - ossl_method_store_new
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_property(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:573,1
    - Dst: ossl_method_store_new
      Src: /src/openssl/test/property_test.c:573,1
    - Dst: add_property_names
      Src: /src/openssl/test/property_test.c:574,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/property_test.c:579,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:580,1
    - Dst: ossl_method_store_add
      Src: /src/openssl/test/property_test.c:580,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:582,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/test/property_test.c:582,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:585,1
    - Dst: ossl_method_store_cache_set
      Src: /src/openssl/test/property_test.c:585,1
    - Dst: TEST_note
      Src: /src/openssl/test/property_test.c:588,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/property_test.c:593,1
    - Dst: ossl_method_store_cache_get
      Src: /src/openssl/test/property_test.c:594,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/property_test.c:599,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/property_test.c:599,1
    - Dst: ossl_method_store_free
      Src: /src/openssl/test/property_test.c:602,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 562
    functionDepth: 8
    functionLinenumber: 562
    functionLinenumberEnd: 604
    functionName: test_query_cache_stochastic
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - add_property_names
    - ossl_method_store_cache_get
    - TEST_note
    - ossl_method_store_cache_set
    - TEST_int_lt
    - ossl_method_store_free
    - BIO_snprintf
    - ossl_method_store_add
    - TEST_true
    - TEST_ptr
    - ossl_method_store_new
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_query_cache_stochastic(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:611,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/property_test.c:611,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:614,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:614,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:615,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:615,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:616,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:616,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:617,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:617,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:618,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:618,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:619,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:619,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:620,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:620,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:621,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:621,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:622,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:622,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:623,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:623,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:624,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/property_test.c:624,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:625,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/property_test.c:625,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:626,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:626,1
    - Dst: TEST_true
      Src: /src/openssl/test/property_test.c:627,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/openssl/test/property_test.c:627,1
    - Dst: TEST_false
      Src: /src/openssl/test/property_test.c:628,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/property_test.c:628,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/property_test.c:630,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 606
    functionDepth: 12
    functionLinenumber: 606
    functionLinenumberEnd: 632
    functionName: test_fips_mode
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - EVP_default_properties_enable_fips
    - OSSL_LIB_CTX_new
    - TEST_false
    - EVP_default_properties_is_fips_enabled
    - TEST_true
    - EVP_set_default_properties
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_fips_mode(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:669,1
    - Dst: ossl_parse_query
      Src: /src/openssl/test/property_test.c:669,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/test/property_test.c:671,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/property_test.c:672,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/property_test.c:674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/property_test.c:675,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/property_test.c:676,1
    - Dst: ossl_property_list_to_string
      Src: /src/openssl/test/property_test.c:676,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/property_test.c:679,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/property_test.c:680,1
    - Dst: strlen
      Src: /src/openssl/test/property_test.c:680,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/property_test.c:685,1
    - Dst: ossl_property_free
      Src: /src/openssl/test/property_test.c:686,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 661
    functionDepth: 5
    functionLinenumber: 661
    functionLinenumberEnd: 688
    functionName: test_property_list_to_string
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - TEST_str_eq
    - ossl_property_free
    - ossl_parse_query
    - OPENSSL_free
    - TEST_size_t_eq
    - TEST_ptr
    - strlen
    - ossl_property_list_to_string
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_property_list_to_string(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:692,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:693,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:694,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:694,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:695,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:695,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:696,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:696,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:697,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:698,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:698,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:699,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:700,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:701,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/property_test.c:702,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/property_test.c:703,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/property_test.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 705
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/property_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cipherlist_test.c:34,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/cipherlist_test.c:35,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cipherlist_test.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CIPHERLIST_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 61
    functionsReached:
    - OPENSSL_free
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CIPHERLIST_TEST_FIXTURE *fixture)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:45,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cipherlist_test.c:45,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:48,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/cipherlist_test.c:48,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/cipherlist_test.c:48,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:49,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/cipherlist_test.c:49,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/cipherlist_test.c:49,1
    - Dst: tear_down
      Src: /src/openssl/test/cipherlist_test.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: set_up
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - SSL_CTX_new
    - tear_down
    - TLS_server_method
    - TEST_ptr
    - TLS_client_method
    linkageType: ''
    returnType: CIPHERLIST_TEST_FIXTURE
    signature: CIPHERLIST_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/cipherlist_test.c:150,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:158,1
    - Dst: SSL_new
      Src: /src/openssl/test/cipherlist_test.c:158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:159,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/openssl/test/cipherlist_test.c:159,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/cipherlist_test.c:162,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/cipherlist_test.c:163,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:164,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/test/cipherlist_test.c:169,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/cipherlist_test.c:169,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:170,1
    - Dst: TEST_info
      Src: /src/openssl/test/cipherlist_test.c:171,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/cipherlist_test.c:179,1
    - Dst: SSL_free
      Src: /src/openssl/test/cipherlist_test.c:180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 182
    functionName: test_default_cipherlist
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SSL_CIPHER_get_id
    - SSL_free
    - TEST_int_eq
    - sk_SSL_CIPHER_value
    - TEST_info
    - STACK_OF
    - SSL_new
    - SSL_get1_supported_ciphers
    - OSSL_NELEM
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_default_cipherlist(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_default_cipherlist
      Src: /src/openssl/test/cipherlist_test.c:187,1
    - Dst: test_default_cipherlist
      Src: /src/openssl/test/cipherlist_test.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CIPHERLIST_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: execute_test
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - test_default_cipherlist
    linkageType: ''
    returnType: int
    signature: int execute_test(CIPHERLIST_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: SETUP_CIPHERLIST_TEST_FIXTURE
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_CIPHERLIST_TEST_FIXTURE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: EXECUTE_CIPHERLIST_TEST
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXECUTE_CIPHERLIST_TEST()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CIPHERLIST_TEST_FIXTURE
      Src: /src/openssl/test/cipherlist_test.c:199,1
    - Dst: EXECUTE_CIPHERLIST_TEST
      Src: /src/openssl/test/cipherlist_test.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: test_default_cipherlist_implicit
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CIPHERLIST_TEST_FIXTURE
    - EXECUTE_CIPHERLIST_TEST
    linkageType: ''
    returnType: int
    signature: int test_default_cipherlist_implicit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CIPHERLIST_TEST_FIXTURE
      Src: /src/openssl/test/cipherlist_test.c:206,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:207,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/cipherlist_test.c:207,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:208,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/cipherlist_test.c:208,1
    - Dst: tear_down
      Src: /src/openssl/test/cipherlist_test.c:209,1
    - Dst: EXECUTE_CIPHERLIST_TEST
      Src: /src/openssl/test/cipherlist_test.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: test_default_cipherlist_explicit
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SETUP_CIPHERLIST_TEST_FIXTURE
    - tear_down
    - TEST_true
    - EXECUTE_CIPHERLIST_TEST
    linkageType: ''
    returnType: int
    signature: int test_default_cipherlist_explicit(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CIPHERLIST_TEST_FIXTURE
      Src: /src/openssl/test/cipherlist_test.c:220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:222,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/cipherlist_test.c:222,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:225,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/cipherlist_test.c:225,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/cipherlist_test.c:225,1
    - Dst: SSL_new
      Src: /src/openssl/test/cipherlist_test.c:228,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cipherlist_test.c:230,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:233,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/cipherlist_test.c:233,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cipherlist_test.c:236,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/cipherlist_test.c:236,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/cipherlist_test.c:236,1
    - Dst: SSL_free
      Src: /src/openssl/test/cipherlist_test.c:242,1
    - Dst: tear_down
      Src: /src/openssl/test/cipherlist_test.c:243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: test_default_cipherlist_clear
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - SSL_free
    - SSL_CTX_set_cipher_list
    - TEST_int_eq
    - ERR_GET_REASON
    - SETUP_CIPHERLIST_TEST_FIXTURE
    - SSL_new
    - tear_down
    - SSL_set_cipher_list
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_default_cipherlist_clear(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_CIPHERLIST_TEST_FIXTURE
      Src: /src/openssl/test/cipherlist_test.c:250,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:251,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/cipherlist_test.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipherlist_test.c:252,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/cipherlist_test.c:252,1
    - Dst: tear_down
      Src: /src/openssl/test/cipherlist_test.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: test_stdname_cipherlist
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - SETUP_CIPHERLIST_TEST_FIXTURE
    - tear_down
    - SSL_CTX_set_cipher_list
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_stdname_cipherlist(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:264,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:265,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:266,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipherlist_test.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cipherlist_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:31,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ocspapitest.c:31,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/ocspapitest.c:33,1
    - Dst: BIO_free
      Src: /src/openssl/test/ocspapitest.c:34,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:35,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ocspapitest.c:35,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/test/ocspapitest.c:37,1
    - Dst: BIO_free
      Src: /src/openssl/test/ocspapitest.c:38,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:39,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:39,1
    - Dst: X509_free
      Src: /src/openssl/test/ocspapitest.c:45,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ocspapitest.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cert_out
    - key_out
    argTypes:
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 48
    functionName: get_cert_and_key
    functionSourceFile: /src/openssl/test/ocspapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - BIO_free
    - EVP_PKEY_free
    - X509_free
    - TEST_ptr
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int get_cert_and_key(X509 **cert_out, EVP_PKEY **key_out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:55,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ocspapitest.c:55,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/ocspapitest.c:57,1
    - Dst: BIO_free
      Src: /src/openssl/test/ocspapitest.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:59,1
    - Dst: X509_free
      Src: /src/openssl/test/ocspapitest.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - cert_out
    argTypes:
    - X509**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: get_cert
    functionSourceFile: /src/openssl/test/ocspapitest.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - X509_free
    - TEST_ptr
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int get_cert(X509 **cert_out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_BASICRESP_new
      Src: /src/openssl/test/ocspapitest.c:72,1
    - Dst: ASN1_TIME_set
      Src: /src/openssl/test/ocspapitest.c:75,1
    - Dst: time
      Src: /src/openssl/test/ocspapitest.c:75,1
    - Dst: ASN1_TIME_set
      Src: /src/openssl/test/ocspapitest.c:76,1
    - Dst: time
      Src: /src/openssl/test/ocspapitest.c:76,1
    - Dst: X509_NAME_new
      Src: /src/openssl/test/ocspapitest.c:77,1
    - Dst: ASN1_BIT_STRING_new
      Src: /src/openssl/test/ocspapitest.c:78,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/test/ocspapitest.c:79,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:81,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:82,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:84,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/test/ocspapitest.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:87,1
    - Dst: ASN1_BIT_STRING_set
      Src: /src/openssl/test/ocspapitest.c:87,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:88,1
    - Dst: ASN1_INTEGER_set_uint64
      Src: /src/openssl/test/ocspapitest.c:88,1
    - Dst: OCSP_cert_id_new
      Src: /src/openssl/test/ocspapitest.c:90,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/ocspapitest.c:90,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:91,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:92,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:93,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:95,1
    - Dst: OCSP_basic_add1_status
      Src: /src/openssl/test/ocspapitest.c:95,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/ocspapitest.c:102,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/ocspapitest.c:103,1
    - Dst: ASN1_BIT_STRING_free
      Src: /src/openssl/test/ocspapitest.c:104,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/test/ocspapitest.c:105,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/test/ocspapitest.c:106,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/ocspapitest.c:107,1
    - Dst: X509_NAME_free
      Src: /src/openssl/test/ocspapitest.c:108,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 68
    functionDepth: 10
    functionLinenumber: 68
    functionLinenumberEnd: 110
    functionName: make_dummy_resp
    functionSourceFile: /src/openssl/test/ocspapitest.c
    functionUses: 0
    functionsReached:
    - ASN1_INTEGER_free
    - TEST_ptr
    - X509_NAME_free
    - OCSP_cert_id_new
    - ASN1_INTEGER_set_uint64
    - ASN1_INTEGER_new
    - TEST_true
    - X509_NAME_new
    - time
    - ASN1_TIME_free
    - OCSP_BASICRESP_free
    - EVP_sha256
    - X509_NAME_add_entry_by_NID
    - ASN1_TIME_set
    - ASN1_BIT_STRING_set
    - OCSP_CERTID_free
    - OCSP_basic_add1_status
    - ASN1_BIT_STRING_new
    - ASN1_BIT_STRING_free
    - OCSP_BASICRESP_new
    linkageType: ''
    returnType: OCSP_BASICRESP
    signature: OCSP_BASICRESP *make_dummy_resp(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/ocspapitest.c:117,1
    - Dst: make_dummy_resp
      Src: /src/openssl/test/ocspapitest.c:124,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/ocspapitest.c:125,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:127,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:128,1
    - Dst: get_cert_and_key
      Src: /src/openssl/test/ocspapitest.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:129,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/ocspapitest.c:129,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:130,1
    - Dst: OCSP_basic_sign
      Src: /src/openssl/test/ocspapitest.c:130,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/ocspapitest.c:130,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:133,1
    - Dst: OCSP_resp_get0_signer
      Src: /src/openssl/test/ocspapitest.c:133,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ocspapitest.c:134,1
    - Dst: X509_cmp
      Src: /src/openssl/test/ocspapitest.c:134,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/ocspapitest.c:136,1
    - Dst: make_dummy_resp
      Src: /src/openssl/test/ocspapitest.c:139,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:141,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:142,1
    - Dst: OCSP_basic_sign
      Src: /src/openssl/test/ocspapitest.c:142,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/ocspapitest.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:145,1
    - Dst: OCSP_resp_get0_signer
      Src: /src/openssl/test/ocspapitest.c:145,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ocspapitest.c:146,1
    - Dst: X509_cmp
      Src: /src/openssl/test/ocspapitest.c:146,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/test/ocspapitest.c:150,1
    - Dst: sk_X509_free
      Src: /src/openssl/test/ocspapitest.c:151,1
    - Dst: X509_free
      Src: /src/openssl/test/ocspapitest.c:152,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ocspapitest.c:153,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 11
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: test_resp_signer
    functionSourceFile: /src/openssl/test/ocspapitest.c
    functionUses: 0
    functionsReached:
    - OCSP_BASICRESP_free
    - OCSP_basic_sign
    - make_dummy_resp
    - sk_X509_free
    - sk_X509_push
    - EVP_sha1
    - TEST_int_eq
    - X509_cmp
    - STACK_OF
    - X509_free
    - EVP_PKEY_free
    - OCSP_resp_get0_signer
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    - get_cert_and_key
    linkageType: ''
    returnType: int
    signature: int test_resp_signer(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ACCESS_DESCRIPTION_new
      Src: /src/openssl/test/ocspapitest.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:169,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/test/ocspapitest.c:171,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/test/ocspapitest.c:175,1
    - Dst: GENERAL_NAME_new
      Src: /src/openssl/test/ocspapitest.c:176,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:177,1
    - Dst: ACCESS_DESCRIPTION_free
      Src: /src/openssl/test/ocspapitest.c:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - testcase
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 185
    functionName: test_access_description
    functionSourceFile: /src/openssl/test/ocspapitest.c
    functionUses: 0
    functionsReached:
    - ACCESS_DESCRIPTION_free
    - GENERAL_NAME_new
    - TEST_ptr
    - GENERAL_NAME_free
    - ACCESS_DESCRIPTION_new
    linkageType: ''
    returnType: int
    signature: int test_access_description(int testcase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ocspapitest.c:199,1
    - Dst: get_cert
      Src: /src/openssl/test/ocspapitest.c:199,1
    - Dst: OCSP_url_svcloc_new
      Src: /src/openssl/test/ocspapitest.c:205,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/test/ocspapitest.c:205,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:206,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/test/ocspapitest.c:209,1
    - Dst: X509_free
      Src: /src/openssl/test/ocspapitest.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 214
    functionName: test_ocsp_url_svcloc_new
    functionSourceFile: /src/openssl/test/ocspapitest.c
    functionUses: 0
    functionsReached:
    - OCSP_url_svcloc_new
    - X509_get_issuer_name
    - X509_EXTENSION_free
    - X509_free
    - TEST_true
    - TEST_ptr
    - get_cert
    linkageType: ''
    returnType: int
    signature: int test_ocsp_url_svcloc_new(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/ocspapitest.c:222,1
    - Dst: TEST_error
      Src: /src/openssl/test/ocspapitest.c:223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:227,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ocspapitest.c:227,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ocspapitest.c:228,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ocspapitest.c:228,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ocspapitest.c:231,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ocspapitest.c:232,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ocspapitest.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ocspapitest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/bftest.c:234,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:235,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:238,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:239,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:241,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:242,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:244,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:245,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:248,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:249,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:251,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:252,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:254,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:256,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:257,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:259,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:260,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:263,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:264,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:266,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:267,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:269,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:270,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:270,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:271,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:271,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:272,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:273,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:274,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:275,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:276,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:278,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:279,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:281,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:282,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:282,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:283,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:284,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:285,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:287,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:288,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:288,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:289,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:290,1
    - Dst: printf
      Src: /src/openssl/test/bftest.c:291,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 293
    functionName: print_test_data
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached:
    - strlen
    - printf
    linkageType: ''
    returnType: int
    signature: int print_test_data(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BF_set_key
      Src: /src/openssl/test/bftest.c:301,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:301,1
    - Dst: BF_encrypt
      Src: /src/openssl/test/bftest.c:305,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:306,1
    - Dst: BF_decrypt
      Src: /src/openssl/test/bftest.c:309,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 314
    functionName: test_bf_ecb_raw
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - BF_decrypt
    - BF_set_key
    - strlen
    - BF_encrypt
    linkageType: ''
    returnType: int
    signature: int test_bf_ecb_raw(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BF_set_key
      Src: /src/openssl/test/bftest.c:322,1
    - Dst: BF_ecb_encrypt
      Src: /src/openssl/test/bftest.c:324,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:325,1
    - Dst: BF_ecb_encrypt
      Src: /src/openssl/test/bftest.c:328,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: test_bf_ecb
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached:
    - BF_set_key
    - TEST_mem_eq
    - BF_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: int test_bf_ecb(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BF_set_key
      Src: /src/openssl/test/bftest.c:341,1
    - Dst: BF_ecb_encrypt
      Src: /src/openssl/test/bftest.c:342,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 348
    functionName: test_bf_set_key
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached:
    - BF_set_key
    - TEST_mem_eq
    - BF_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: int test_bf_set_key(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:357,1
    - Dst: BF_set_key
      Src: /src/openssl/test/bftest.c:359,1
    - Dst: memset
      Src: /src/openssl/test/bftest.c:360,1
    - Dst: memset
      Src: /src/openssl/test/bftest.c:361,1
    - Dst: memcpy
      Src: /src/openssl/test/bftest.c:362,1
    - Dst: BF_cbc_encrypt
      Src: /src/openssl/test/bftest.c:363,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:365,1
    - Dst: memcpy
      Src: /src/openssl/test/bftest.c:368,1
    - Dst: BF_cbc_encrypt
      Src: /src/openssl/test/bftest.c:369,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:370,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 374
    functionName: test_bf_cbc
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - memcpy
    - BF_set_key
    - strlen
    - BF_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: int test_bf_cbc(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:383,1
    - Dst: BF_set_key
      Src: /src/openssl/test/bftest.c:385,1
    - Dst: memset
      Src: /src/openssl/test/bftest.c:386,1
    - Dst: memset
      Src: /src/openssl/test/bftest.c:387,1
    - Dst: memcpy
      Src: /src/openssl/test/bftest.c:388,1
    - Dst: BF_cfb64_encrypt
      Src: /src/openssl/test/bftest.c:390,1
    - Dst: BF_cfb64_encrypt
      Src: /src/openssl/test/bftest.c:392,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:394,1
    - Dst: memcpy
      Src: /src/openssl/test/bftest.c:398,1
    - Dst: BF_cfb64_encrypt
      Src: /src/openssl/test/bftest.c:399,1
    - Dst: BF_cfb64_encrypt
      Src: /src/openssl/test/bftest.c:400,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 406
    functionName: test_bf_cfb64
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - memcpy
    - BF_set_key
    - strlen
    - BF_cfb64_encrypt
    linkageType: ''
    returnType: int
    signature: int test_bf_cfb64(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:415,1
    - Dst: BF_set_key
      Src: /src/openssl/test/bftest.c:417,1
    - Dst: memset
      Src: /src/openssl/test/bftest.c:418,1
    - Dst: memset
      Src: /src/openssl/test/bftest.c:419,1
    - Dst: memcpy
      Src: /src/openssl/test/bftest.c:420,1
    - Dst: BF_ofb64_encrypt
      Src: /src/openssl/test/bftest.c:422,1
    - Dst: BF_ofb64_encrypt
      Src: /src/openssl/test/bftest.c:424,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:426,1
    - Dst: memcpy
      Src: /src/openssl/test/bftest.c:430,1
    - Dst: BF_ofb64_encrypt
      Src: /src/openssl/test/bftest.c:431,1
    - Dst: BF_ofb64_encrypt
      Src: /src/openssl/test/bftest.c:432,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bftest.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 437
    functionName: test_bf_ofb64
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached:
    - TEST_mem_eq
    - memset
    - BF_ofb64_encrypt
    - memcpy
    - BF_set_key
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_bf_ofb64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/bftest.c:463,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:463,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/bftest.c:465,1
    - Dst: strlen
      Src: /src/openssl/test/bftest.c:465,1
    - Dst: opt_next
      Src: /src/openssl/test/bftest.c:469,1
    - Dst: print_test_data
      Src: /src/openssl/test/bftest.c:472,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bftest.c:481,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bftest.c:482,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/bftest.c:483,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bftest.c:484,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bftest.c:485,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bftest.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 489
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bftest.c
    functionUses: 0
    functionsReached:
    - print_test_data
    - opt_next
    - ebcdic2ascii
    - ADD_TEST
    - strlen
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/algorithmid_test.c:37,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:43,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/openssl/test/algorithmid_test.c:43,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:44,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/test/algorithmid_test.c:44,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/algorithmid_test.c:47,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/test/algorithmid_test.c:47,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/test/algorithmid_test.c:50,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/algorithmid_test.c:51,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/algorithmid_test.c:51,1
    - Dst: evp_pkey_export_to_provider
      Src: /src/openssl/test/algorithmid_test.c:60,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:69,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/test/algorithmid_test.c:69,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:70,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:78,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/openssl/test/algorithmid_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:79,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/algorithmid_test.c:79,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:88,1
    - Dst: evp_keymgmt_get_params
      Src: /src/openssl/test/algorithmid_test.c:88,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/algorithmid_test.c:93,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/test/algorithmid_test.c:98,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/algorithmid_test.c:99,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - pubkey
    - filename
    argTypes:
    - X509_PUBKEY*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 101
    functionName: test_spki_aid
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2txt
    - OPENSSL_free
    - TEST_ptr
    - evp_keymgmt_get_params
    - X509_PUBKEY_get0_param
    - i2d_X509_ALGOR
    - EVP_KEYMGMT_is_a
    - TEST_info
    - OSSL_PARAM_locate_const
    - evp_pkey_export_to_provider
    - TEST_true
    - EVP_KEYMGMT_gettable_params
    - OSSL_PARAM_octet_string
    - TEST_int_ge
    - X509_ALGOR_get0
    - X509_PUBKEY_get0
    - TEST_mem_eq
    - EVP_KEYMGMT_free
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_spki_aid(X509_PUBKEY *pubkey, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/test/algorithmid_test.c:105,1
    - Dst: test_spki_aid
      Src: /src/openssl/test/algorithmid_test.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - filename
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 10
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: test_x509_spki_aid
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - test_spki_aid
    - X509_get_X509_PUBKEY
    linkageType: ''
    returnType: int
    signature: int test_x509_spki_aid(X509 *cert, const char *filename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/algorithmid_test.c:125,1
    - Dst: X509_get0_signature
      Src: /src/openssl/test/algorithmid_test.c:131,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/test/algorithmid_test.c:132,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/algorithmid_test.c:133,1
    - Dst: X509_ALGOR_cmp
      Src: /src/openssl/test/algorithmid_test.c:133,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/openssl/test/algorithmid_test.c:133,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/algorithmid_test.c:135,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/algorithmid_test.c:135,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:136,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/test/algorithmid_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:137,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/algorithmid_test.c:137,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:140,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/algorithmid_test.c:140,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:140,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:141,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:143,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:144,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:144,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:144,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:145,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/test/algorithmid_test.c:145,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/algorithmid_test.c:149,1
    - Dst: i2d_X509_ALGOR
      Src: /src/openssl/test/algorithmid_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:152,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/algorithmid_test.c:152,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:153,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/algorithmid_test.c:153,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:154,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:156,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:158,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:162,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/test/algorithmid_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/algorithmid_test.c:163,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/algorithmid_test.c:163,1
    - Dst: TEST_info
      Src: /src/openssl/test/algorithmid_test.c:164,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/algorithmid_test.c:166,1
    - Dst: TEST_true
      Src: /src/openssl/test/algorithmid_test.c:172,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/algorithmid_test.c:172,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/algorithmid_test.c:177,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/algorithmid_test.c:182,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/algorithmid_test.c:184,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 4
    argNames:
    - eecert
    - ee_filename
    - cacert
    - ca_filename
    argTypes:
    - X509*
    - char*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 186
    functionName: test_x509_sig_aid
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_gettable_params
    - OPENSSL_free
    - TEST_ptr
    - i2d_X509_ALGOR
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_locate_const
    - TEST_info
    - TEST_true
    - X509_ALGOR_cmp
    - OBJ_find_sigid_algs
    - OBJ_obj2nid
    - X509_get0_tbs_sigalg
    - X509_get0_signature
    - TEST_int_ne
    - OBJ_nid2sn
    - OSSL_PARAM_octet_string
    - EVP_DigestVerifyInit_ex
    - X509_get0_pubkey
    - EVP_PKEY_get0_type_name
    - TEST_int_ge
    - TEST_int_eq
    - X509_ALGOR_get0
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int test_x509_sig_aid(X509 *eecert, const char *ee_filename,\n                             X509
      *cacert, const char *ca_filename)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/algorithmid_test.c:191,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:195,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:196,1
    - Dst: PEM_read_bio_X509_PUBKEY
      Src: /src/openssl/test/algorithmid_test.c:200,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:201,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:203,1
    - Dst: test_spki_aid
      Src: /src/openssl/test/algorithmid_test.c:207,1
    - Dst: BIO_free
      Src: /src/openssl/test/algorithmid_test.c:209,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/algorithmid_test.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 188
    functionDepth: 10
    functionLinenumber: 188
    functionLinenumberEnd: 212
    functionName: test_spki_file
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_X509_PUBKEY
    - test_spki_aid
    - BIO_free
    - X509_PUBKEY_free
    - TEST_openssl_errors
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_spki_file(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/algorithmid_test.c:220,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:221,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:222,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/algorithmid_test.c:225,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:226,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:227,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/algorithmid_test.c:231,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:232,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:234,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/algorithmid_test.c:237,1
    - Dst: TEST_error
      Src: /src/openssl/test/algorithmid_test.c:238,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/algorithmid_test.c:240,1
    - Dst: test_x509_sig_aid
      Src: /src/openssl/test/algorithmid_test.c:244,1
    - Dst: test_x509_spki_aid
      Src: /src/openssl/test/algorithmid_test.c:245,1
    - Dst: test_x509_spki_aid
      Src: /src/openssl/test/algorithmid_test.c:246,1
    - Dst: BIO_free
      Src: /src/openssl/test/algorithmid_test.c:248,1
    - Dst: BIO_free
      Src: /src/openssl/test/algorithmid_test.c:249,1
    - Dst: X509_free
      Src: /src/openssl/test/algorithmid_test.c:250,1
    - Dst: X509_free
      Src: /src/openssl/test/algorithmid_test.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 214
    functionDepth: 11
    functionLinenumber: 214
    functionLinenumberEnd: 253
    functionName: test_x509_files
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - test_x509_spki_aid
    - BIO_free
    - X509_free
    - TEST_openssl_errors
    - test_x509_sig_aid
    - PEM_read_bio_X509
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_x509_files(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/algorithmid_test.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/algorithmid_test.c:282,1
    - Dst: BIO_printf
      Src: /src/openssl/test/algorithmid_test.c:302,1
    - Dst: BIO_printf
      Src: /src/openssl/test/algorithmid_test.c:304,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/algorithmid_test.c:308,1
    - Dst: test_get_argument
      Src: /src/openssl/test/algorithmid_test.c:310,1
    - Dst: test_get_argument
      Src: /src/openssl/test/algorithmid_test.c:312,1
    - Dst: test_get_argument
      Src: /src/openssl/test/algorithmid_test.c:313,1
    - Dst: BIO_printf
      Src: /src/openssl/test/algorithmid_test.c:317,1
    - Dst: BIO_printf
      Src: /src/openssl/test/algorithmid_test.c:320,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/algorithmid_test.c:325,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/algorithmid_test.c:327,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 329
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/algorithmid_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - ADD_TEST
    - test_get_argument_count
    - test_get_argument
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/membio_test.c:16,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/test/membio_test.c:16,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/membio_test.c:24,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/membio_test.c:27,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/membio_test.c:28,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/membio_test.c:32,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/membio_test.c:32,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/membio_test.c:36,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/membio_test.c:36,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:40,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:40,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:42,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:42,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:44,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:44,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:46,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:46,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:50,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:50,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:51,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:52,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:52,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:53,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:54,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:54,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:55,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:56,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:56,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:57,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:61,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:61,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:63,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:63,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:65,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:65,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:66,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:68,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:70,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:70,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:71,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:72,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:72,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:73,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:80,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:80,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:82,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:84,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:84,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:85,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:87,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:87,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/membio_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:96,1
    - Dst: BIO_write
      Src: /src/openssl/test/membio_test.c:96,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/membio_test.c:97,1
    - Dst: BIO_read
      Src: /src/openssl/test/membio_test.c:97,1
    - Dst: TEST_false
      Src: /src/openssl/test/membio_test.c:98,1
    - Dst: BIO_eof
      Src: /src/openssl/test/membio_test.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/membio_test.c:99,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/membio_test.c:99,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:102,1
    - Dst: BIO_dgram_set_mtu
      Src: /src/openssl/test/membio_test.c:102,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/membio_test.c:103,1
    - Dst: BIO_dgram_get_mtu
      Src: /src/openssl/test/membio_test.c:103,1
    - Dst: BIO_free
      Src: /src/openssl/test/membio_test.c:108,1
    - Dst: BIO_free
      Src: /src/openssl/test/membio_test.c:109,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 111
    functionName: test_dgram
    functionSourceFile: /src/openssl/test/membio_test.c
    functionUses: 0
    functionsReached:
    - BIO_s_dgram_mem
    - TEST_int_le
    - TEST_ptr
    - BIO_should_retry
    - BIO_write
    - BIO_new
    - BIO_eof
    - TEST_true
    - BIO_dgram_set_mtu
    - BIO_read
    - BIO_dgram_get_mtu
    - BIO_free
    - BIO_set_mem_eof_return
    - TEST_false
    - TEST_int_eq
    - BIO_new_mem_buf
    - TEST_mem_eq
    - TEST_int_lt
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_dgram(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/membio_test.c:116,1
    - Dst: TEST_error
      Src: /src/openssl/test/membio_test.c:117,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/membio_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/membio_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:19,1
    - Dst: ossl_quic_txfc_init
      Src: /src/openssl/test/quic_fc_test.c:19,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:22,1
    - Dst: ossl_quic_txfc_init
      Src: /src/openssl/test/quic_fc_test.c:22,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:28,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_fc_test.c:28,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:31,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_fc_test.c:31,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:34,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:34,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:37,1
    - Dst: ossl_quic_txfc_get_cwm
      Src: /src/openssl/test/quic_fc_test.c:37,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:40,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/test/quic_fc_test.c:40,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:43,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/test/quic_fc_test.c:43,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:47,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:47,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:50,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:50,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:54,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:57,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:57,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:60,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/test/quic_fc_test.c:60,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:63,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:63,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:67,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:67,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:70,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:73,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:73,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:76,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:76,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:79,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/test/quic_fc_test.c:79,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:82,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:82,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:86,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:89,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:89,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:92,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/test/quic_fc_test.c:92,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:95,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:95,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:99,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:99,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:102,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:105,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:105,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:108,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:108,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:111,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:111,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:114,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:114,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:117,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:117,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:120,1
    - Dst: ossl_quic_txfc_get_cwm
      Src: /src/openssl/test/quic_fc_test.c:120,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:123,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:123,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:126,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_fc_test.c:126,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:129,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_fc_test.c:129,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:132,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/test/quic_fc_test.c:132,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:135,1
    - Dst: ossl_quic_txfc_get_cwm
      Src: /src/openssl/test/quic_fc_test.c:135,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:138,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:138,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:141,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/test/quic_fc_test.c:141,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:145,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:148,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:148,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:151,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:151,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:154,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:154,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:157,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/test/quic_fc_test.c:157,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:160,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:163,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:166,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:166,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:169,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:172,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:172,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:175,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:175,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:178,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:181,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/test/quic_fc_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:184,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:184,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:187,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:187,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_fc_test.c:190,1
    - Dst: ossl_quic_txfc_has_become_blocked
      Src: /src/openssl/test/quic_fc_test.c:190,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 176
    argCount: 1
    argNames:
    - is_stream
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 197
    functionName: test_txfc
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_txfc_consume_credit
    - ossl_quic_txfc_get_swm
    - TEST_true
    - TEST_false
    - ossl_quic_txfc_has_become_blocked
    - ossl_quic_txfc_get_credit
    - ossl_quic_txfc_get_credit_local
    - TEST_uint64_t_eq
    - ossl_quic_txfc_init
    - ossl_quic_txfc_get_cwm
    linkageType: ''
    returnType: int
    signature: int test_txfc(int is_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: fake_now
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - init_window_size
    - ','
    - max_window_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: RX_OP_INIT_CONN
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_INIT_CONN(init_window_size, max_window_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_idx
    - ','
    - init_window_size
    - ','
    - max_window_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: RX_OP_INIT_STREAM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_INIT_STREAM(stream_idx, init_window_size, max_window_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_idx
    - ','
    - end
    - ','
    - is_fin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: RX_OP_RX
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_RX(stream_idx, end, is_fin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - stream_idx
    - ','
    - num_bytes
    - ','
    - rtt
    - ','
    - expect_fail
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: RX_OP_RETIRE
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_RETIRE(stream_idx, num_bytes, rtt, expect_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: RX_OP_CHECK_CWM_CONN
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_CWM_CONN(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_id
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: RX_OP_CHECK_CWM_STREAM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_CWM_STREAM(stream_id, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: RX_OP_CHECK_SWM_CONN
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_SWM_CONN(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_id
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: RX_OP_CHECK_SWM_STREAM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_SWM_STREAM(stream_id, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: RX_OP_CHECK_RWM_CONN
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_RWM_CONN(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream_id
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: RX_OP_CHECK_RWM_STREAM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_RWM_STREAM(stream_id, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - clear
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: RX_OP_CHECK_CHANGED_CONN
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_CHANGED_CONN(expected, clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_id
    - ','
    - expected
    - ','
    - clear
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: RX_OP_CHECK_CHANGED_STREAM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_CHANGED_STREAM(stream_id, expected, clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - clear
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: RX_OP_CHECK_ERROR_CONN
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_ERROR_CONN(expected, clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream_id
    - ','
    - expected
    - ','
    - clear
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: RX_OP_CHECK_ERROR_STREAM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_ERROR_STREAM(stream_id, expected, clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: RX_OP_STEP_TIME
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_STEP_TIME(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: RX_OP_MSG
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - init_window_size
    - ','
    - max_window_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: RX_OP_INIT
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_INIT(init_window_size, max_window_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: RX_OP_CHECK_CWM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_CWM(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: RX_OP_CHECK_SWM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_SWM(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: RX_OP_CHECK_RWM
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_RWM(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - clear
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: RX_OP_CHECK_CHANGED
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_CHANGED(expected, clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - clear
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: RX_OP_CHECK_ERROR
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_OP_CHECK_ERROR(expected, clear)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_fc_test.c:487,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:492,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_fc_test.c:492,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/quic_fc_test.c:501,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:501,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:505,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/test/quic_fc_test.c:505,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:515,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:515,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:519,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/test/quic_fc_test.c:519,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:527,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:527,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:531,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/test/quic_fc_test.c:531,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_fc_test.c:533,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:539,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:541,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/test/quic_fc_test.c:541,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:546,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:546,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:549,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/test/quic_fc_test.c:549,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:554,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:556,1
    - Dst: ossl_quic_rxfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:556,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:561,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:561,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:564,1
    - Dst: ossl_quic_rxfc_get_swm
      Src: /src/openssl/test/quic_fc_test.c:564,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:569,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:571,1
    - Dst: ossl_quic_rxfc_get_rwm
      Src: /src/openssl/test/quic_fc_test.c:571,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:576,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:576,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_fc_test.c:579,1
    - Dst: ossl_quic_rxfc_get_rwm
      Src: /src/openssl/test/quic_fc_test.c:579,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:584,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:586,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/test/quic_fc_test.c:586,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:592,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:592,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:595,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/test/quic_fc_test.c:595,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:601,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:603,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/test/quic_fc_test.c:603,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_fc_test.c:609,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:609,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_fc_test.c:612,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/test/quic_fc_test.c:612,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_fc_test.c:618,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/test/quic_fc_test.c:618,1
    - Dst: fprintf
      Src: /src/openssl/test/quic_fc_test.c:621,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 130
    argCount: 1
    argNames:
    - script
    argTypes:
    - struct rx_test_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 631
    functionName: run_rxfc_script
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_quic_rxfc_get_cwm
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_quic_rxfc_get_error
    - TEST_uint64_t_eq
    - ossl_time_zero
    - ossl_quic_rxfc_get_rwm
    - TEST_int_eq
    - ossl_quic_rxfc_init
    - ossl_quic_rxfc_on_retire
    - OSSL_NELEM
    - fprintf
    - TEST_true
    - ossl_time_add
    - ossl_quic_rxfc_get_swm
    - ossl_ticks2time
    - TEST_size_t_lt
    linkageType: ''
    returnType: int
    signature: int run_rxfc_script(const struct rx_test_op *script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_rxfc_script
      Src: /src/openssl/test/quic_fc_test.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: test_rxfc
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached:
    - run_rxfc_script
    linkageType: ''
    returnType: int
    signature: int test_rxfc(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_fc_test.c:640,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_fc_test.c:641,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_fc_test.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 643
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_fc_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/rand_test.c:31,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/rand_test.c:33,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:35,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/rand_test.c:35,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:36,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/rand_test.c:36,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rand_test.c:37,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/rand_test.c:37,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rand_test.c:38,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rand_test.c:39,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/rand_test.c:39,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rand_test.c:40,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/rand_test.c:40,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rand_test.c:41,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/rand_test.c:45,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:47,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/rand_test.c:47,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rand_test.c:48,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/rand_test.c:48,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rand_test.c:49,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/rand_test.c:52,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:54,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/rand_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:55,1
    - Dst: EVP_RAND_nonce
      Src: /src/openssl/test/rand_test.c:55,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rand_test.c:56,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/rand_test.c:59,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/test/rand_test.c:64,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/openssl/test/rand_test.c:64,1
    - Dst: strcmp
      Src: /src/openssl/test/rand_test.c:66,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/rand_test.c:66,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/rand_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:69,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/test/rand_test.c:69,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rand_test.c:70,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 20
    functionDepth: 14
    functionLinenumber: 20
    functionLinenumberEnd: 74
    functionName: test_rand
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 14
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_CTX_get0_rand
    - OSSL_PROVIDER_get0_name
    - TEST_int_le
    - strcmp
    - TEST_ptr
    - RAND_priv_bytes
    - EVP_RAND_nonce
    - RAND_get0_private
    - EVP_RAND_get0_provider
    - TEST_true
    - OSSL_PARAM_construct_end
    - fips_provider_version_lt
    - EVP_RAND_CTX_get_params
    - EVP_RAND_CTX_set_params
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_rand(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_get_libctx
      Src: /src/openssl/test/rand_test.c:82,1
    - Dst: ossl_rand_uniform_uint32
      Src: /src/openssl/test/rand_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rand_test.c:87,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/rand_test.c:88,1
    - Dst: TEST_uint_lt
      Src: /src/openssl/test/rand_test.c:89,1
    - Dst: ossl_rand_range_uint32
      Src: /src/openssl/test/rand_test.c:94,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rand_test.c:95,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/rand_test.c:96,1
    - Dst: TEST_uint_lt
      Src: /src/openssl/test/rand_test.c:97,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/rand_test.c:103,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: test_rand_uniform
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_ge
    - OSSL_LIB_CTX_free
    - ossl_rand_uniform_uint32
    - TEST_int_eq
    - TEST_uint_lt
    - test_get_libctx
    - ossl_rand_range_uint32
    linkageType: ''
    returnType: int
    signature: int test_rand_uniform(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/rand_test.c:117,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/rand_test.c:119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:121,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/rand_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:122,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/rand_test.c:122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:123,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/rand_test.c:123,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:124,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/rand_test.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:125,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/rand_test.c:125,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:127,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/rand_test.c:127,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/rand_test.c:129,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/rand_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:135,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/test/rand_test.c:135,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rand_test.c:136,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/rand_test.c:139,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/rand_test.c:140,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/rand_test.c:141,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/rand_test.c:143,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/rand_test.c:144,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/rand_test.c:145,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/rand_test.c:146,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - n
    - gen
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 108
    functionDepth: 10
    functionLinenumber: 108
    functionLinenumberEnd: 148
    functionName: fips_health_test_one
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_fetch
    - EVP_RAND_free
    - OSSL_PARAM_construct_octet_string
    - TEST_size_t_le
    - EVP_RAND_CTX_get_params
    - EVP_RAND_instantiate
    - EVP_RAND_CTX_free
    - ERR_pop_to_mark
    - TEST_int_le
    - ERR_set_mark
    - OSSL_PARAM_construct_int
    - TEST_ptr
    - TEST_true
    - EVP_RAND_generate
    - OSSL_PARAM_construct_end
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: int
    signature: int fips_health_test_one(const uint8_t *buf, size_t n, size_t gen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:158,1
    - Dst: fips_health_test_one
      Src: /src/openssl/test/rand_test.c:158,1
    - Dst: TEST_false
      Src: /src/openssl/test/rand_test.c:164,1
    - Dst: fips_health_test_one
      Src: /src/openssl/test/rand_test.c:164,1
    - Dst: TEST_false
      Src: /src/openssl/test/rand_test.c:170,1
    - Dst: fips_health_test_one
      Src: /src/openssl/test/rand_test.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 11
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: fips_health_tests
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 0
    functionsReached:
    - fips_health_test_one
    - TEST_false
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int fips_health_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/test/rand_test.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: r_teardown
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void r_teardown(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - vprov
    - which
    - buf
    - n
    - strength
    argTypes:
    - ossl_unused*
    - ossl_unused
    - void*
    - size_t
    - ossl_unused unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: r_random_bytes
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int r_random_bytes(ossl_unused void *vprov, ossl_unused int which,\n
      \                         void *buf, size_t n, ossl_unused unsigned int strength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/test/rand_test.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - handle
    - OSSL_DISPATCH *oin
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - ossl_unused
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: r_init
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 40
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: "int r_init(const OSSL_CORE_HANDLE *handle,\n                  ossl_unused
      const OSSL_DISPATCH *oin,\n                  const OSSL_DISPATCH **out,\n                  void
      **provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/rand_test.c:225,1
    - Dst: memset
      Src: /src/openssl/test/rand_test.c:226,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/rand_test.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:229,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/rand_test.c:229,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:230,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/openssl/test/rand_test.c:230,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:231,1
    - Dst: RAND_set1_random_provider
      Src: /src/openssl/test/rand_test.c:231,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/rand_test.c:232,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rand_test.c:233,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/test/rand_test.c:234,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rand_test.c:235,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:239,1
    - Dst: RAND_set1_random_provider
      Src: /src/openssl/test/rand_test.c:239,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/rand_test.c:240,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/rand_test.c:241,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:245,1
    - Dst: RAND_set1_random_provider
      Src: /src/openssl/test/rand_test.c:245,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/rand_test.c:246,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rand_test.c:247,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/rand_test.c:252,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/rand_test.c:253,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 217
    functionDepth: 7
    functionLinenumber: 217
    functionLinenumberEnd: 255
    functionName: test_rand_random_provider
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 0
    functionsReached:
    - RAND_bytes_ex
    - memset
    - TEST_mem_ne
    - OSSL_LIB_CTX_free
    - RAND_set1_random_provider
    - RAND_priv_bytes_ex
    - OSSL_PROVIDER_try_load
    - OSSL_PROVIDER_unload
    - test_get_libctx
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: int
    signature: int test_rand_random_provider(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/rand_test.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:262,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:265,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/rand_test.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:269,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/test/rand_test.c:269,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/rand_test.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 13
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: test_rand_get0_primary
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - RAND_get0_primary
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_rand_get0_primary(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/rand_test.c:280,1
    - Dst: TEST_error
      Src: /src/openssl/test/rand_test.c:281,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rand_test.c:285,1
    - Dst: test_get_argument
      Src: /src/openssl/test/rand_test.c:285,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:286,1
    - Dst: RAND_set_DRBG_type
      Src: /src/openssl/test/rand_test.c:286,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/rand_test.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/rand_test.c:289,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/rand_test.c:289,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rand_test.c:292,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rand_test.c:293,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/rand_test.c:295,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/rand_test.c:296,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rand_test.c:297,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rand_test.c:299,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/rand_test.c:301,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/rand_test.c:302,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rand_test.c:303,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 278
    functionDepth: 10
    functionLinenumber: 278
    functionLinenumberEnd: 305
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rand_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_available
    - OSSL_LIB_CTX_load_config
    - fips_provider_version_ge
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_true
    - RAND_set_DRBG_type
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_file_path
      Src: /src/openssl/test/pem_read_depr_test.c:28,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:31,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/pem_read_depr_test.c:33,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/pem_read_depr_test.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: getfile
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_new_file
    - test_mk_file_path
    - OPENSSL_free
    linkageType: ''
    returnType: BIO
    signature: BIO *getfile(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/openssl/test/pem_read_depr_test.c:44,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:47,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/openssl/test/pem_read_depr_test.c:50,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:51,1
    - Dst: BIO_free
      Src: /src/openssl/test/pem_read_depr_test.c:57,1
    - Dst: DH_free
      Src: /src/openssl/test/pem_read_depr_test.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: test_read_dh_params
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_DHparams
    - BIO_free
    - getfile
    - DH_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_read_dh_params(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/openssl/test/pem_read_depr_test.c:65,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:68,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/openssl/test/pem_read_depr_test.c:71,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:72,1
    - Dst: BIO_free
      Src: /src/openssl/test/pem_read_depr_test.c:78,1
    - Dst: DH_free
      Src: /src/openssl/test/pem_read_depr_test.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: test_read_dh_x942_params
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_DHparams
    - BIO_free
    - getfile
    - DH_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_read_dh_x942_params(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/openssl/test/pem_read_depr_test.c:88,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:91,1
    - Dst: PEM_read_bio_DSAparams
      Src: /src/openssl/test/pem_read_depr_test.c:94,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:95,1
    - Dst: BIO_free
      Src: /src/openssl/test/pem_read_depr_test.c:101,1
    - Dst: DSA_free
      Src: /src/openssl/test/pem_read_depr_test.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: test_read_dsa_params
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - DSA_free
    - BIO_free
    - getfile
    - PEM_read_bio_DSAparams
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_read_dsa_params(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/openssl/test/pem_read_depr_test.c:109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:112,1
    - Dst: PEM_read_bio_DSAPrivateKey
      Src: /src/openssl/test/pem_read_depr_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:116,1
    - Dst: BIO_free
      Src: /src/openssl/test/pem_read_depr_test.c:122,1
    - Dst: DSA_free
      Src: /src/openssl/test/pem_read_depr_test.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 7
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: test_read_dsa_private
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - DSA_free
    - BIO_free
    - getfile
    - TEST_ptr
    - PEM_read_bio_DSAPrivateKey
    linkageType: ''
    returnType: int
    signature: int test_read_dsa_private(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/openssl/test/pem_read_depr_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:133,1
    - Dst: PEM_read_bio_DSA_PUBKEY
      Src: /src/openssl/test/pem_read_depr_test.c:136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:137,1
    - Dst: BIO_free
      Src: /src/openssl/test/pem_read_depr_test.c:143,1
    - Dst: DSA_free
      Src: /src/openssl/test/pem_read_depr_test.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: test_read_dsa_public
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - DSA_free
    - BIO_free
    - getfile
    - TEST_ptr
    - PEM_read_bio_DSA_PUBKEY
    linkageType: ''
    returnType: int
    signature: int test_read_dsa_public(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/openssl/test/pem_read_depr_test.c:152,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:155,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/openssl/test/pem_read_depr_test.c:158,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:159,1
    - Dst: BIO_free
      Src: /src/openssl/test/pem_read_depr_test.c:165,1
    - Dst: RSA_free
      Src: /src/openssl/test/pem_read_depr_test.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 7
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: test_read_rsa_private
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - BIO_free
    - getfile
    - PEM_read_bio_RSAPrivateKey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_read_rsa_private(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getfile
      Src: /src/openssl/test/pem_read_depr_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:176,1
    - Dst: PEM_read_bio_RSA_PUBKEY
      Src: /src/openssl/test/pem_read_depr_test.c:179,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:180,1
    - Dst: BIO_free
      Src: /src/openssl/test/pem_read_depr_test.c:186,1
    - Dst: RSA_free
      Src: /src/openssl/test/pem_read_depr_test.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: test_read_rsa_public
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - BIO_free
    - getfile
    - TEST_ptr
    - PEM_read_bio_RSA_PUBKEY
    linkageType: ''
    returnType: int
    signature: int test_read_rsa_public(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/pem_read_depr_test.c:193,1
    - Dst: TEST_error
      Src: /src/openssl/test/pem_read_depr_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pem_read_depr_test.c:198,1
    - Dst: test_get_argument
      Src: /src/openssl/test/pem_read_depr_test.c:198,1
    - Dst: TEST_error
      Src: /src/openssl/test/pem_read_depr_test.c:199,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pem_read_depr_test.c:204,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pem_read_depr_test.c:205,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pem_read_depr_test.c:208,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pem_read_depr_test.c:209,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pem_read_depr_test.c:210,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pem_read_depr_test.c:212,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pem_read_depr_test.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pem_read_depr_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_x931_test.c:26,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/test/rsa_x931_test.c:26,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_x931_test.c:27,1
    - Dst: BN_new
      Src: /src/openssl/test/rsa_x931_test.c:27,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_x931_test.c:28,1
    - Dst: BN_set_word
      Src: /src/openssl/test/rsa_x931_test.c:28,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_x931_test.c:29,1
    - Dst: RSA_X931_generate_key_ex
      Src: /src/openssl/test/rsa_x931_test.c:29,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_x931_test.c:30,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_x931_test.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 9
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: test_rsa_x931_keygen
    functionSourceFile: /src/openssl/test/rsa_x931_test.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_new_with_ctx
    - RSA_free
    - RSA_X931_generate_key_ex
    - BN_set_word
    - TEST_int_eq
    - BN_new
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_rsa_x931_keygen(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_get_libctx
      Src: /src/openssl/test/rsa_x931_test.c:37,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_x931_test.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rsa_x931_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_get_libctx
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/rsa_x931_test.c:46,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/rsa_x931_test.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/rsa_x931_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/test/fake_pipelineprov.c:44,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_pipelineprov.c:47,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/fake_pipelineprov.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - provctx
    - ciphername
    - kbits
    - ivbits
    argTypes:
    - void*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: fake_pipeline_newctx
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_fetch
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *fake_pipeline_newctx(void *provctx, char *ciphername,\n                                  size_t
      kbits, size_t ivbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/fake_pipelineprov.c:65,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/fake_pipelineprov.c:67,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/fake_pipelineprov.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: fake_pipeline_freectx
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void fake_pipeline_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/fake_pipelineprov.c:90,1
    - Dst: EVP_CipherInit
      Src: /src/openssl/test/fake_pipelineprov.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - numpipes
    - iv
    - ivlen
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t
    - unsigned char**
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 98
    functionName: fake_pipeline_init
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherInit
    linkageType: ''
    returnType: int
    signature: "int fake_pipeline_init(void *vctx,\n                              const
      unsigned char *key, size_t keylen,\n                              size_t numpipes,
      const unsigned char **iv,\n                              size_t ivlen, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_pipeline_init
      Src: /src/openssl/test/fake_pipelineprov.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - numpipes
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t
    - unsigned char**
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: fake_pipeline_einit
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - fake_pipeline_init
    linkageType: ''
    returnType: int
    signature: "int fake_pipeline_einit(void *vctx,\n                        const
      unsigned char *key, size_t keylen,\n                        size_t numpipes,
      const unsigned char **iv,\n                        size_t ivlen, const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_pipeline_init
      Src: /src/openssl/test/fake_pipelineprov.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - numpipes
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - size_t
    - unsigned char**
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 6
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: fake_pipeline_dinit
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - fake_pipeline_init
    linkageType: ''
    returnType: int
    signature: "int fake_pipeline_dinit(void *vctx,\n                        const
      unsigned char *key, size_t keylen,\n                        size_t numpipes,
      const unsigned char **iv,\n                        size_t ivlen, const OSSL_PARAM
      params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/fake_pipelineprov.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - vctx
    - numpipes
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - size_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: fake_pipeline_update
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    linkageType: ''
    returnType: int
    signature: "int fake_pipeline_update(void *vctx, size_t numpipes,\n                         unsigned
      char **out, size_t *outl,\n                         const size_t *outsize,\n
      \                        const unsigned char **in, const size_t *inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherFinal
      Src: /src/openssl/test/fake_pipelineprov.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - vctx
    - numpipes
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - size_t
    - unsigned char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: fake_pipeline_final
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - EVP_CipherFinal
    linkageType: ''
    returnType: int
    signature: "int fake_pipeline_final(void *vctx, size_t numpipes,\n                        unsigned
      char **out, size_t *outl,\n                        const size_t *outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: fake_pipeline_aead_gettable_ctx_params
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *fake_pipeline_aead_gettable_ctx_params(ossl_unused void
      *cctx,\n                                                         ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: fake_pipeline_aead_settable_ctx_params
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *fake_pipeline_aead_settable_ctx_params(ossl_unused void
      *cctx,\n                                                         ossl_unused
      void *provctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/test/fake_pipelineprov.c:184,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_pipelineprov.c:187,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_pipelineprov.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_pipelineprov.c:190,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_pipelineprov.c:195,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_pipelineprov.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_pipelineprov.c:198,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_pipelineprov.c:203,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/test/fake_pipelineprov.c:205,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_pipelineprov.c:206,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/fake_pipelineprov.c:210,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/fake_pipelineprov.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_pipelineprov.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 221
    functionName: fake_pipeline_aead_get_ctx_params
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_param_is_empty
    - EVP_CIPHER_CTX_get_params
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_get_octet_ptr
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int fake_pipeline_aead_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/fake_pipelineprov.c:231,1
    - Dst: OSSL_PARAM_get_octet_ptr
      Src: /src/openssl/test/fake_pipelineprov.c:233,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_pipelineprov.c:234,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/fake_pipelineprov.c:238,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/fake_pipelineprov.c:241,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_pipelineprov.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 223
    functionDepth: 6
    functionLinenumber: 223
    functionLinenumberEnd: 250
    functionName: fake_pipeline_aead_set_ctx_params
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - ERR_raise
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_CTX_set_params
    - OSSL_PARAM_get_octet_ptr
    linkageType: ''
    returnType: int
    signature: int fake_pipeline_aead_set_ctx_params(void *vctx, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - alg
    - ','
    - lc
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - ciphername
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 292
    functionName: IMPLEMENT_aead_cipher_pipeline
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_aead_cipher_pipeline(alg, lc, UCMODE, flags, kbits, blkbits,
      \         \\\n                                       ivbits, ciphername)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - prov
    - operation_id
    - no_cache
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: fake_pipeline_query
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *fake_pipeline_query(OSSL_PROVIDER *prov,\n                                                 int
      operation_id,\n                                                 int *no_cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_pipelineprov.c:323,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/fake_pipelineprov.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 327
    functionName: fake_pipeline_provider_init
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: "int fake_pipeline_provider_init(const OSSL_CORE_HANDLE *handle,\n
      \                                      const OSSL_DISPATCH *in,\n                                       const
      OSSL_DISPATCH **out, void **provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/fake_pipelineprov.c:333,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/fake_pipelineprov.c:333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_pipelineprov.c:335,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/openssl/test/fake_pipelineprov.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: fake_pipeline_start
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 1
    functionsReached:
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_try_load
    - TEST_true
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *fake_pipeline_start(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/fake_pipelineprov.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: fake_pipeline_finish
    functionSourceFile: /src/openssl/test/fake_pipelineprov.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void fake_pipeline_finish(OSSL_PROVIDER *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/pairwise_fail_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/pairwise_fail_test.c:54,1
    - Dst: strcmp
      Src: /src/openssl/test/pairwise_fail_test.c:58,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/pairwise_fail_test.c:59,1
    - Dst: strcmp
      Src: /src/openssl/test/pairwise_fail_test.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: self_test_on_pairwise_fail
    functionSourceFile: /src/openssl/test/pairwise_fail_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int self_test_on_pairwise_fail(const OSSL_PARAM params[], void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/pairwise_fail_test.c:74,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/pairwise_fail_test.c:74,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/openssl/test/pairwise_fail_test.c:79,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pairwise_fail_test.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 7
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: setup_selftest_pairwise_failure
    functionSourceFile: /src/openssl/test/pairwise_fail_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    - TEST_ptr
    - OSSL_SELF_TEST_set_callback
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: int setup_selftest_pairwise_failure(const char *type)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/pairwise_fail_test.c:96,1
    - Dst: TEST_true
      Src: /src/openssl/test/pairwise_fail_test.c:97,1
    - Dst: setup_selftest_pairwise_failure
      Src: /src/openssl/test/pairwise_fail_test.c:97,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pairwise_fail_test.c:99,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/pairwise_fail_test.c:99,1
    - Dst: strncmp
      Src: /src/openssl/test/pairwise_fail_test.c:101,1
    - Dst: strcmp
      Src: /src/openssl/test/pairwise_fail_test.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/pairwise_fail_test.c:104,1
    - Dst: setup_selftest_pairwise_failure
      Src: /src/openssl/test/pairwise_fail_test.c:104,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pairwise_fail_test.c:106,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/pairwise_fail_test.c:106,1
    - Dst: strncmp
      Src: /src/openssl/test/pairwise_fail_test.c:108,1
    - Dst: strcmp
      Src: /src/openssl/test/pairwise_fail_test.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/pairwise_fail_test.c:111,1
    - Dst: setup_selftest_pairwise_failure
      Src: /src/openssl/test/pairwise_fail_test.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pairwise_fail_test.c:113,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/pairwise_fail_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pairwise_fail_test.c:115,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/test/pairwise_fail_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pairwise_fail_test.c:117,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/pairwise_fail_test.c:117,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pairwise_fail_test.c:119,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/pairwise_fail_test.c:119,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/pairwise_fail_test.c:121,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/pairwise_fail_test.c:121,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pairwise_fail_test.c:123,1
    - Dst: strncmp
      Src: /src/openssl/test/pairwise_fail_test.c:125,1
    - Dst: TEST_true
      Src: /src/openssl/test/pairwise_fail_test.c:126,1
    - Dst: setup_selftest_pairwise_failure
      Src: /src/openssl/test/pairwise_fail_test.c:126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pairwise_fail_test.c:128,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/pairwise_fail_test.c:128,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pairwise_fail_test.c:130,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/pairwise_fail_test.c:130,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/pairwise_fail_test.c:132,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/pairwise_fail_test.c:132,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pairwise_fail_test.c:134,1
    - Dst: strncmp
      Src: /src/openssl/test/pairwise_fail_test.c:136,1
    - Dst: TEST_true
      Src: /src/openssl/test/pairwise_fail_test.c:137,1
    - Dst: setup_selftest_pairwise_failure
      Src: /src/openssl/test/pairwise_fail_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pairwise_fail_test.c:139,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/pairwise_fail_test.c:139,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pairwise_fail_test.c:141,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/pairwise_fail_test.c:141,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/pairwise_fail_test.c:143,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/pairwise_fail_test.c:143,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pairwise_fail_test.c:145,1
    - Dst: strncmp
      Src: /src/openssl/test/pairwise_fail_test.c:147,1
    - Dst: TEST_true
      Src: /src/openssl/test/pairwise_fail_test.c:148,1
    - Dst: setup_selftest_pairwise_failure
      Src: /src/openssl/test/pairwise_fail_test.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pairwise_fail_test.c:150,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/pairwise_fail_test.c:150,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pairwise_fail_test.c:152,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/pairwise_fail_test.c:152,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/pairwise_fail_test.c:154,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/pairwise_fail_test.c:154,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pairwise_fail_test.c:156,1
    - Dst: strncmp
      Src: /src/openssl/test/pairwise_fail_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/pairwise_fail_test.c:159,1
    - Dst: setup_selftest_pairwise_failure
      Src: /src/openssl/test/pairwise_fail_test.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pairwise_fail_test.c:161,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/pairwise_fail_test.c:161,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/pairwise_fail_test.c:163,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/pairwise_fail_test.c:163,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/pairwise_fail_test.c:165,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/pairwise_fail_test.c:165,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pairwise_fail_test.c:167,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pairwise_fail_test.c:172,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/pairwise_fail_test.c:173,1
    - Dst: BIO_free
      Src: /src/openssl/test/pairwise_fail_test.c:174,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pairwise_fail_test.c:175,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 87
    functionDepth: 9
    functionLinenumber: 87
    functionLinenumberEnd: 177
    functionName: test_keygen_pairwise_failure
    functionSourceFile: /src/openssl/test/pairwise_fail_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - TEST_ptr_null
    - BIO_free
    - TEST_int_le
    - EVP_PKEY_keygen_init
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - PEM_read_bio_Parameters_ex
    - EVP_PKEY_CTX_free
    - strncmp
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_keygen
    - TEST_true
    - strcmp
    - TEST_ptr
    - setup_selftest_pairwise_failure
    linkageType: ''
    returnType: int
    signature: int test_keygen_pairwise_failure(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/pairwise_fail_test.c:184,1
    - Dst: opt_arg
      Src: /src/openssl/test/pairwise_fail_test.c:187,1
    - Dst: opt_arg
      Src: /src/openssl/test/pairwise_fail_test.c:190,1
    - Dst: opt_arg
      Src: /src/openssl/test/pairwise_fail_test.c:193,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/pairwise_fail_test.c:203,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/pairwise_fail_test.c:206,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/test/pairwise_fail_test.c:207,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pairwise_fail_test.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pairwise_fail_test.c
    functionUses: 0
    functionsReached:
    - opt_printf_stderr
    - opt_next
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - ADD_TEST
    - opt_arg
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/pairwise_fail_test.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/pairwise_fail_test.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:118,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/evp_test.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - num
    - name
    - EVP_RAND_CTX *ctx
    argTypes:
    - unsigned char*
    - size_t
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: get_faked_bytes
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_size_t_gt
    linkageType: ''
    returnType: int
    signature: "int get_faked_bytes(unsigned char *buf, size_t num,\n                           ossl_unused
      const char *name,\n                           ossl_unused EVP_RAND_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - type
    - desc
    - params
    argTypes:
    - char*
    - char*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: fips_indicator_cb
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    linkageType: ''
    returnType: int
    signature: "int fips_indicator_cb(const char *type, const char *desc,\n                             const
      OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:149,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - t
    - approved
    argTypes:
    - EVP_TEST*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: check_fips_approved
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int check_fips_approved(EVP_TEST *t, int approved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_gettable_params
      Src: /src/openssl/test/evp_test.c:170,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:173,1
    - Dst: EVP_MAC_CTX_get_params
      Src: /src/openssl/test/evp_test.c:175,1
    - Dst: check_fips_approved
      Src: /src/openssl/test/evp_test.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_MAC_CTX*
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: mac_check_fips_approved
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_get_params
    - check_fips_approved
    - EVP_MAC_CTX_gettable_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int mac_check_fips_approved(EVP_MAC_CTX *ctx, EVP_TEST *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/test/evp_test.c:188,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:191,1
    - Dst: EVP_PKEY_CTX_gettable_params
      Src: /src/openssl/test/evp_test.c:197,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:200,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_test.c:202,1
    - Dst: check_fips_approved
      Src: /src/openssl/test/evp_test.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_PKEY_CTX*
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: pkey_check_fips_approved
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_params
    - EVP_PKEY_CTX_gettable_params
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_construct_int
    - check_fips_approved
    linkageType: ''
    returnType: int
    signature: int pkey_check_fips_approved(EVP_PKEY_CTX *ctx, EVP_TEST *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX_gettable_params
      Src: /src/openssl/test/evp_test.c:216,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:219,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/test/evp_test.c:221,1
    - Dst: check_fips_approved
      Src: /src/openssl/test/evp_test.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_RAND_CTX*
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: rand_check_fips_approved
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - check_fips_approved
    - EVP_RAND_CTX_gettable_params
    - EVP_RAND_CTX_get_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int rand_check_fips_approved(EVP_RAND_CTX *ctx, EVP_TEST *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:233,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:235,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/evp_test.c:236,1
    - Dst: get_param
      Src: /src/openssl/test/evp_test.c:236,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:237,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/evp_test.c:237,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - t
    - alg_obj
    argTypes:
    - EVP_TEST*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: check_security_category
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - get_param
    - OSSL_PARAM_modified
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - TEST_true
    - OSSL_PARAM_construct_end
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int check_security_category(EVP_TEST *t, void *alg_obj,\n                                   int
      (*get_param)(void *, OSSL_PARAM *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_security_category
      Src: /src/openssl/test/evp_test.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - pkey
    argTypes:
    - EVP_TEST*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pkey_check_security_category
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - check_security_category
    linkageType: ''
    returnType: int
    signature: int pkey_check_security_category(EVP_TEST *t, EVP_PKEY *pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: openssl_free
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void openssl_free(char *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - params
    - params_n
    - params_n_allocstart
    argTypes:
    - OSSL_PARAM[]
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: ctrl2params_free
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: "void ctrl2params_free(OSSL_PARAM params[],\n                             size_t
      params_n, size_t params_n_allocstart)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:350,1
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/test/evp_test.c:352,1
    - Dst: check_fips_approved
      Src: /src/openssl/test/evp_test.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_KDF_CTX*
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: kdf_check_fips_approved
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_get_params
    - check_fips_approved
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int kdf_check_fips_approved(EVP_KDF_CTX *ctx, EVP_TEST *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:362,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_test.c:364,1
    - Dst: check_fips_approved
      Src: /src/openssl/test/evp_test.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - t
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: cipher_check_fips_approved
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - check_fips_approved
    - EVP_CIPHER_CTX_get_params
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int cipher_check_fips_approved(EVP_CIPHER_CTX *ctx, EVP_TEST *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:381,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/evp_test.c:382,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - t
    - err
    - expected
    - expected_len
    - got
    - got_len
    argTypes:
    - EVP_TEST*
    - char*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: memory_err_compare
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TEST_mem_eq
    - TEST_mem_ne
    linkageType: ''
    returnType: int
    signature: "int memory_err_compare(EVP_TEST *t, const char *err,\n                              const
      void *expected, size_t expected_len,\n                              const void
      *got, size_t got_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:397,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: evp_test_process_mode
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int evp_test_process_mode(char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:418,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - EVP_TEST_BUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: evp_test_buffer_free
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void evp_test_buffer_free(EVP_TEST_BUFFER *db)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:431,1
    - Dst: sk_EVP_TEST_BUFFER_new_null
      Src: /src/openssl/test/evp_test.c:431,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:435,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:435,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:439,1
    - Dst: parse_bin_chunk
      Src: /src/openssl/test/evp_test.c:445,1
    - Dst: evp_test_buffer_free
      Src: /src/openssl/test/evp_test.c:455,1
    - Dst: sk_EVP_TEST_BUFFER_push
      Src: /src/openssl/test/evp_test.c:456,1
    - Dst: evp_test_buffer_free
      Src: /src/openssl/test/evp_test.c:464,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - value
    - max_len
    - sk
    argTypes:
    - char*
    - size_t
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 466
    functionName: evp_test_buffer_append
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - parse_bin
    - sk_EVP_TEST_BUFFER_new_null
    - evp_test_buffer_free
    - sk_EVP_TEST_BUFFER_push
    - TEST_ptr
    - parse_bin_chunk
    linkageType: ''
    returnType: int
    signature: "int evp_test_buffer_append(const char *value, size_t max_len,\n                                  STACK_OF(EVP_TEST_BUFFER)
      **sk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:475,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:480,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/openssl/test/evp_test.c:482,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:482,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:485,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:485,1
    - Dst: memcpy
      Src: /src/openssl/test/evp_test.c:488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - value
    - sk
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 494
    functionName: evp_test_buffer_ncopy
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - atoi
    - memcpy
    - OPENSSL_free
    - sk_EVP_TEST_BUFFER_value
    - TEST_ptr
    - OPENSSL_malloc
    - sk_EVP_TEST_BUFFER_num
    linkageType: ''
    returnType: int
    signature: "int evp_test_buffer_ncopy(const char *value,\n                                 STACK_OF(EVP_TEST_BUFFER)
      *sk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:501,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:506,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/openssl/test/evp_test.c:509,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - value
    - sk
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 516
    functionName: evp_test_buffer_set_count
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - sk_EVP_TEST_BUFFER_value
    - atoi
    - sk_EVP_TEST_BUFFER_num
    linkageType: ''
    returnType: int
    signature: "int evp_test_buffer_set_count(const char *value,\n                                     STACK_OF(EVP_TEST_BUFFER)
      *sk)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:552,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:556,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:556,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:562,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:577,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - input
    - input_len
    - out_len
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 579
    functionName: unescape
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - TEST_ptr
    - OPENSSL_malloc
    - TEST_error
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char * unescape(const char *input, size_t input_len,\n                               size_t
      *out_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:590,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:603,1
    - Dst: strlen
      Src: /src/openssl/test/evp_test.c:613,1
    - Dst: unescape
      Src: /src/openssl/test/evp_test.c:618,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:623,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/evp_test.c:623,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:624,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - value
    - buf
    - buflen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 631
    functionName: parse_bin
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 1
    functionsReached:
    - TEST_info
    - OPENSSL_hexstr2buf
    - unescape
    - TEST_openssl_errors
    - strcmp
    - TEST_ptr
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int parse_bin(const char *value, unsigned char **buf, size_t *buflen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:647,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:648,1
    - Dst: strlen
      Src: /src/openssl/test/evp_test.c:659,1
    - Dst: unescape
      Src: /src/openssl/test/evp_test.c:670,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/test/evp_test.c:678,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:681,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/test/evp_test.c:681,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:682,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:683,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:686,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 6
    argNames:
    - value
    - offset
    - max
    - buf
    - buflen
    - out_offset
    argTypes:
    - char*
    - size_t
    - size_t
    - unsigned char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 691
    functionName: parse_bin_chunk
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 1
    functionsReached:
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - unescape
    - TEST_openssl_errors
    - strcmp
    - TEST_ptr
    - strlen
    - OPENSSL_strndup
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int parse_bin_chunk(const char *value, size_t offset, size_t max,\n
      \                          unsigned char **buf, size_t *buflen, size_t *out_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:720,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:721,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_test.c:726,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/evp_test.c:727,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:729,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:729,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_test.c:730,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 714
    functionDepth: 10
    functionLinenumber: 714
    functionLinenumberEnd: 741
    functionName: digest_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_MD_free
    - is_digest_disabled
    - TEST_info
    - TEST_ptr
    - EVP_get_digestbyname
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int digest_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_EVP_TEST_BUFFER_pop_free
      Src: /src/openssl/test/evp_test.c:747,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:748,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_test.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: digest_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_EVP_TEST_BUFFER_pop_free
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void digest_test_cleanup(EVP_TEST *t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:757,1
    - Dst: evp_test_buffer_append
      Src: /src/openssl/test/evp_test.c:758,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:759,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:760,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:761,1
    - Dst: evp_test_buffer_set_count
      Src: /src/openssl/test/evp_test.c:762,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:763,1
    - Dst: evp_test_buffer_ncopy
      Src: /src/openssl/test/evp_test.c:764,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:765,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:766,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:767,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:768,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:769,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 752
    functionDepth: 5
    functionLinenumber: 752
    functionLinenumberEnd: 779
    functionName: digest_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - evp_test_buffer_ncopy
    - parse_bin
    - atoi
    - evp_test_buffer_set_count
    - evp_test_buffer_append
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int digest_test_parse(EVP_TEST *t,\n                             const
      char *keyword, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/evp_test.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: digest_update_fn
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int digest_update_fn(void *ctx, const unsigned char *buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:790,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_test.c:792,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:793,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/evp_test.c:797,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:798,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - t
    - mctx
    argTypes:
    - EVP_TEST*
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 786
    functionDepth: 8
    functionLinenumber: 786
    functionLinenumberEnd: 804
    functionName: test_duplicate_md_ctx
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_ptr
    - EVP_DigestFinalXOF
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: int test_duplicate_md_ctx(EVP_TEST *t, EVP_MD_CTX *mctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:818,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:818,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:821,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:823,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_test.c:828,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/test/evp_test.c:832,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:836,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:838,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/test/evp_test.c:840,1
    - Dst: evp_test_buffer_do
      Src: /src/openssl/test/evp_test.c:845,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/test/evp_test.c:850,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:854,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:854,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:857,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/openssl/test/evp_test.c:857,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:858,1
    - Dst: test_duplicate_md_ctx
      Src: /src/openssl/test/evp_test.c:860,1
    - Dst: test_duplicate_md_ctx
      Src: /src/openssl/test/evp_test.c:864,1
    - Dst: EVP_MD_CTX_dup
      Src: /src/openssl/test/evp_test.c:864,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/test/evp_test.c:868,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/evp_test.c:873,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_test.c:878,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:882,1
    - Dst: sk_EVP_TEST_BUFFER_num
      Src: /src/openssl/test/evp_test.c:890,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:893,1
    - Dst: sk_EVP_TEST_BUFFER_value
      Src: /src/openssl/test/evp_test.c:893,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/evp_test.c:895,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:896,1
    - Dst: EVP_Q_digest
      Src: /src/openssl/test/evp_test.c:896,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/test/evp_test.c:897,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:900,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:908,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:909,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 82
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 806
    functionDepth: 10
    functionLinenumber: 806
    functionLinenumberEnd: 911
    functionName: digest_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex2
    - OPENSSL_free
    - sk_EVP_TEST_BUFFER_value
    - EVP_Q_digest
    - TEST_ptr
    - OSSL_PARAM_construct_size_t
    - evp_test_buffer_do
    - memory_err_compare
    - EVP_MD_CTX_copy
    - TEST_true
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - EVP_MD_xof
    - EVP_DigestFinalXOF
    - EVP_DigestFinal
    - EVP_MD_CTX_dup
    - test_duplicate_md_ctx
    - EVP_MD_get0_name
    - TEST_size_t_eq
    - EVP_MD_CTX_new
    - OSSL_PARAM_construct_int
    - EVP_MD_CTX_free
    - TEST_mem_eq
    - OPENSSL_cleanse
    - sk_EVP_TEST_BUFFER_num
    linkageType: ''
    returnType: int
    signature: int digest_test_run(EVP_TEST *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:967,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_test.c:968,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:969,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:970,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:971,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:972,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:973,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - cdat
    argTypes:
    - CIPHER_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 974
    functionName: cipher_test_valid_fragmentation
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_get_flags
    linkageType: ''
    returnType: int
    signature: int cipher_test_valid_fragmentation(CIPHER_DATA *cdat)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:983,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:985,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:989,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_test.c:990,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/test/evp_test.c:991,1
    - Dst: strstr
      Src: /src/openssl/test/evp_test.c:993,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:994,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:996,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:999,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:1002,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1004,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:1004,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:1007,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:1011,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_test.c:1012,1
    - Dst: cipher_test_valid_fragmentation
      Src: /src/openssl/test/evp_test.c:1017,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:1018,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_test.c:1019,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1020,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1022,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1028,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 976
    functionDepth: 4
    functionLinenumber: 976
    functionLinenumberEnd: 1030
    functionName: cipher_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - strstr
    - is_cipher_disabled
    - ERR_pop_to_mark
    - sk_OPENSSL_STRING_new_null
    - ERR_set_mark
    - TEST_info
    - cipher_test_valid_fragmentation
    - OPENSSL_free
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - EVP_CIPHER_get_flags
    - EVP_get_cipherbyname
    - TEST_ptr
    - ERR_clear_last_mark
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: int cipher_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1037,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1038,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1039,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1040,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1041,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1043,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1044,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1045,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_test.c:1046,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1032
    functionDepth: 4
    functionLinenumber: 1032
    functionLinenumberEnd: 1048
    functionName: cipher_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - OPENSSL_free
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: void cipher_test_cleanup(EVP_TEST *t)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1056,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1057,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1058,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:1059,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1065,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1066,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1067,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1068,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1069,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1070,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1071,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1072,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1073,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:1074,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1080,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1081,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1082,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1083,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1087,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1089,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1092,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1096,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1097,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1099,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1105,1
    - Dst: strtol
      Src: /src/openssl/test/evp_test.c:1108,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1113,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1114,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1116,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1122,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1126,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1130,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:1131,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1050
    functionDepth: 5
    functionLinenumber: 1050
    functionLinenumberEnd: 1133
    functionName: cipher_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - atoi
    - parse_bin
    - strtol
    - ctrladd
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int cipher_test_parse(EVP_TEST *t, const char *keyword,\n                             const
      char *value)"
  - BBCount: 85
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/evp_test.c:1145,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/evp_test.c:1146,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1149,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_test.c:1149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1151,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/evp_test.c:1151,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/test/evp_test.c:1153,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:1167,1
    - Dst: memcpy
      Src: /src/openssl/test/evp_test.c:1170,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:1181,1
    - Dst: memcpy
      Src: /src/openssl/test/evp_test.c:1185,1
    - Dst: EVP_CipherInit_ex2
      Src: /src/openssl/test/evp_test.c:1188,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:1196,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1199,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_test.c:1200,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1207,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/test/evp_test.c:1212,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1231,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1240,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/test/evp_test.c:1246,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1253,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/evp_test.c:1258,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:1267,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_test.c:1267,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/test/evp_test.c:1268,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:1269,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_test.c:1274,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_test.c:1274,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:1282,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/test/evp_test.c:1283,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1285,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_test.c:1286,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/evp_test.c:1287,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1290,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1292,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1295,1
    - Dst: EVP_CIPHER_CTX_dup
      Src: /src/openssl/test/evp_test.c:1299,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1301,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1305,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_test.c:1306,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/evp_test.c:1307,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1310,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:1313,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1316,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:1326,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1328,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_test.c:1329,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1336,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1354,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1366,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1371,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1378,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/evp_test.c:1390,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:1393,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1396,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_test.c:1397,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1398,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1402,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1405,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1411,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:1421,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1423,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/test/evp_test.c:1424,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/evp_test.c:1429,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1439,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1449,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1456,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/evp_test.c:1464,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/evp_test.c:1470,1
    - Dst: cipher_check_fips_approved
      Src: /src/openssl/test/evp_test.c:1474,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1481,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1482,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:1490,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_test.c:1496,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/evp_test.c:1500,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:1505,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1511,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1512,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1513,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1514,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1515,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1516,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1517,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1518,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1519,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1524,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1525,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1526,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1528,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1529,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1530,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1532,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1533,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/test/evp_test.c:1534,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_test.c:1537,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/evp_test.c:1538,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:1543,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:1546,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/evp_test.c:1548,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:1553,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:1563,1
    - Dst: EVP_CIPHER_CTX_get_updated_iv
      Src: /src/openssl/test/evp_test.c:1563,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:1564,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_test.c:1569,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_test.c:1569,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1579,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1581,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/evp_test.c:1582,1
    CyclomaticComplexity: 171
    EdgeCount: 171
    ICount: 359
    argCount: 7
    argNames:
    - t
    - enc
    - out_misalign
    - inp_misalign
    - frag
    - in_place
    - initparams
    argTypes:
    - EVP_TEST*
    - int
    - size_t
    - size_t
    - int
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1135
    functionDepth: 9
    functionLinenumber: 1135
    functionLinenumberEnd: 1584
    functionName: cipher_test_enc
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_CIPHER_CTX_copy
    - memcpy
    - ERR_pop_to_mark
    - EVP_CIPHER_CTX_set_padding
    - OPENSSL_free
    - TEST_ptr
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_dup
    - OSSL_PARAM_construct_utf8_string
    - memory_err_compare
    - TEST_info
    - OPENSSL_memdup
    - EVP_CIPHER_CTX_ctrl
    - ERR_print_errors_fp
    - EVP_CipherFinal_ex
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_is_a
    - TEST_true
    - ERR_peek_error
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_CTX_set_key_length
    - OPENSSL_malloc
    - EVP_CIPHER_CTX_get_params
    - EVP_CIPHER_CTX_set_flags
    - fips_provider_version_ge
    - EVP_CIPHER_CTX_get_updated_iv
    - cipher_check_fips_approved
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_size_t_le
    - EVP_CIPHER_get0_name
    - TEST_false
    - ERR_set_mark
    - EVP_CIPHER_CTX_set_params
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    - EVP_CipherInit_ex2
    linkageType: ''
    returnType: int
    signature: "int cipher_test_enc(EVP_TEST *t, int enc, size_t out_misalign,\n                           size_t
      inp_misalign, int frag, int in_place,\n                           const OSSL_PARAM
      initparams[])"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1594,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/test/evp_test.c:1594,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/test/evp_test.c:1599,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/test/evp_test.c:1601,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:1611,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:1612,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:1613,1
    - Dst: cipher_test_valid_fragmentation
      Src: /src/openssl/test/evp_test.c:1617,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/evp_test.c:1635,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/evp_test.c:1640,1
    - Dst: cipher_test_enc
      Src: /src/openssl/test/evp_test.c:1647,1
    - Dst: cipher_test_enc
      Src: /src/openssl/test/evp_test.c:1653,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:1662,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:1666,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1586
    functionDepth: 10
    functionLinenumber: 1586
    functionLinenumberEnd: 1668
    functionName: cipher_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrl2params_free
    - EVP_CIPHER_get0_name
    - ctrl2params
    - TEST_info
    - cipher_test_valid_fragmentation
    - cipher_test_enc
    - BIO_snprintf
    - OSSL_NELEM
    - sk_OPENSSL_STRING_num
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: int cipher_test_run(EVP_TEST *t)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_mac_disabled
      Src: /src/openssl/test/evp_test.c:1725,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1726,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/test/evp_test.c:1730,1
    - Dst: strlen
      Src: /src/openssl/test/evp_test.c:1736,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1740,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_test.c:1743,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_test.c:1745,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_test.c:1747,1
    - Dst: strncmp
      Src: /src/openssl/test/evp_test.c:1749,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1755,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:1755,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1759,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:1759,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1760,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1765,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:1765,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1766,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1767,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1719
    functionDepth: 10
    functionLinenumber: 1719
    functionLinenumberEnd: 1774
    functionName: mac_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - is_mac_disabled
    - sk_OPENSSL_STRING_new_null
    - TEST_info
    - OPENSSL_free
    - strncmp
    - OPENSSL_strdup
    - strcmp
    - TEST_ptr
    - strlen
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: int mac_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_free
      Src: /src/openssl/test/evp_test.c:1780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1781,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/test/evp_test.c:1782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1783,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1784,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1785,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1786,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1787,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1788,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1776
    functionDepth: 4
    functionLinenumber: 1776
    functionLinenumberEnd: 1790
    functionName: mac_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_free
    - OPENSSL_free
    - sk_OPENSSL_STRING_pop_free
    linkageType: ''
    returnType: void
    signature: void mac_test_cleanup(EVP_TEST *t)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1797,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1798,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1799,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1800,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1801,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1802,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1803,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1804,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1805,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:1806,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1811,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1812,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1813,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:1814,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1815,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1817,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1819,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:1820,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1821,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:1822,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:1827,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:1828,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1792
    functionDepth: 5
    functionLinenumber: 1792
    functionLinenumberEnd: 1834
    functionName: mac_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - atoi
    - parse_bin
    - OPENSSL_strdup
    - ctrladd
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int mac_test_parse(EVP_TEST *t,\n                          const char
      *keyword, const char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1842,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:1842,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:1844,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/test/evp_test.c:1847,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - t
    - pctx
    - value
    argTypes:
    - EVP_TEST*
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1836
    functionDepth: 4
    functionLinenumber: 1836
    functionLinenumberEnd: 1857
    functionName: mac_test_ctrl_pkey
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - EVP_PKEY_CTX_ctrl_str
    - OPENSSL_free
    - OPENSSL_strdup
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int mac_test_ctrl_pkey(EVP_TEST *t, EVP_PKEY_CTX *pctx,\n                              const
      char *value)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1877,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_test.c:1877,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1879,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_test.c:1880,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1884,1
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:1891,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1892,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1897,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/evp_test.c:1897,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_test.c:1901,1
    - Dst: EVP_PKEY_new_CMAC_key
      Src: /src/openssl/test/evp_test.c:1902,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_test.c:1904,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_test.c:1907,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/evp_test.c:1908,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:1917,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1918,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1925,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:1925,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_test.c:1929,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:1933,1
    - Dst: mac_test_ctrl_pkey
      Src: /src/openssl/test/evp_test.c:1934,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_test.c:1935,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_test.c:1947,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_test.c:1955,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:1959,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:1959,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_test.c:1963,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:1964,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/evp_test.c:1972,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:1973,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:1974,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:1975,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:1976,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1859
    functionDepth: 8
    functionLinenumber: 1859
    functionLinenumberEnd: 1978
    functionName: mac_test_run_pkey
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - TEST_ptr
    - EVP_PKEY_new_raw_private_key_ex
    - is_cipher_disabled
    - memory_err_compare
    - is_digest_disabled
    - TEST_info
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_DigestSignUpdate
    - EVP_CIPHER_free
    - OPENSSL_malloc
    - OBJ_nid2sn
    - EVP_CIPHER_fetch
    - EVP_PKEY_new_CMAC_key
    - EVP_DigestSignInit_ex
    - sk_OPENSSL_STRING_num
    - mac_test_ctrl_pkey
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestSignFinal
    - sk_OPENSSL_STRING_value
    - OSSL_LIB_CTX_set0_default
    linkageType: ''
    returnType: int
    signature: int mac_test_run_pkey(EVP_TEST *t)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/test/evp_test.c:1992,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:1998,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2000,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:2011,1
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:2013,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:2017,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:2019,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:2021,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:2025,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2032,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2040,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2045,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2050,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2055,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:2056,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/evp_test.c:2059,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/evp_test.c:2061,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/test/evp_test.c:2065,1
    - Dst: fips_provider_version_gt
      Src: /src/openssl/test/evp_test.c:2069,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:2071,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/test/evp_test.c:2072,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:2073,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/evp_test.c:2075,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/test/evp_test.c:2079,1
    - Dst: TEST_false
      Src: /src/openssl/test/evp_test.c:2080,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_test.c:2086,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/evp_test.c:2091,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:2097,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:2100,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:2103,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2104,1
    - Dst: EVP_MAC_CTX_get_params
      Src: /src/openssl/test/evp_test.c:2104,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:2109,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:2114,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/test/evp_test.c:2127,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2137,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2137,1
    - Dst: EVP_MAC_finalXOF
      Src: /src/openssl/test/evp_test.c:2141,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:2142,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/test/evp_test.c:2149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2153,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2153,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/test/evp_test.c:2157,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:2158,1
    - Dst: mac_check_fips_approved
      Src: /src/openssl/test/evp_test.c:2164,1
    - Dst: fips_provider_version_gt
      Src: /src/openssl/test/evp_test.c:2168,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2175,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:2178,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/evp_test.c:2180,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/test/evp_test.c:2181,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:2184,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:2189,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2190,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/test/evp_test.c:2194,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/evp_test.c:2199,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/evp_test.c:2205,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:2206,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/test/evp_test.c:2206,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:2211,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2218,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/test/evp_test.c:2219,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2220,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 189
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 1980
    functionDepth: 7
    functionLinenumber: 1980
    functionLinenumberEnd: 2222
    functionName: mac_test_run_mac
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - OSSL_PARAM_construct_octet_string
    - EVP_MAC_settable_ctx_params
    - ERR_pop_to_mark
    - OPENSSL_free
    - EVP_MAC_CTX_get_mac_size
    - TEST_ptr
    - EVP_MAC_update
    - ctrl2params_free
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - is_cipher_disabled
    - memory_err_compare
    - OSSL_PARAM_locate_const
    - TEST_info
    - is_digest_disabled
    - EVP_MAC_final
    - TEST_true
    - OSSL_PARAM_construct_end
    - ERR_clear_last_mark
    - OPENSSL_malloc
    - OSSL_PARAM_locate
    - EVP_MAC_CTX_get_params
    - EVP_MAC_finalXOF
    - EVP_Q_mac
    - ctrl2params
    - TEST_size_t_eq
    - OSSL_PARAM_get_size_t
    - mac_check_fips_approved
    - TEST_false
    - ERR_set_mark
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - OSSL_NELEM
    - fips_provider_version_gt
    - TEST_mem_eq
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int mac_test_run_mac(EVP_TEST *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_test_run_mac
      Src: /src/openssl/test/evp_test.c:2229,1
    - Dst: mac_test_run_pkey
      Src: /src/openssl/test/evp_test.c:2230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2224
    functionDepth: 9
    functionLinenumber: 2224
    functionLinenumberEnd: 2231
    functionName: mac_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - mac_test_run_mac
    - mac_test_run_pkey
    linkageType: ''
    returnType: int
    signature: int mac_test_run(EVP_TEST *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2275,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:2275,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2276,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:2276,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2279,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2270
    functionDepth: 4
    functionLinenumber: 2270
    functionLinenumberEnd: 2286
    functionName: kem_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - sk_OPENSSL_STRING_new_null
    - EVP_PKEY_free
    - OPENSSL_free
    - OPENSSL_strdup
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int kem_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:2292,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2293,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2295,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2296,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2297,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2298,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2299,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2300,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:2301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2288
    functionDepth: 5
    functionLinenumber: 2288
    functionLinenumberEnd: 2302
    functionName: kem_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: void kem_test_cleanup(EVP_TEST *t)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2308,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2312,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:2313,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2314,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2315,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2316,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2317,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2318,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2319,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2321,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2322,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2324,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2325,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2326,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2327,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2329,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:2329,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2304
    functionDepth: 5
    functionLinenumber: 2304
    functionLinenumberEnd: 2331
    functionName: kem_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - parse_bin
    - ctrladd
    - OPENSSL_strdup
    - strcmp
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int kem_test_parse(EVP_TEST *t, const char *keyword, const char *value)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:2344,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2346,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2347,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/evp_test.c:2352,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:2358,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:2361,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/test/evp_test.c:2363,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_test.c:2368,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_test.c:2372,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2376,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2377,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2378,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2378,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/test/evp_test.c:2382,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:2386,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:2389,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:2395,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2412,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2413,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2415,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2416,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 69
    argCount: 7
    argNames:
    - t
    - ctx
    - op
    - outwrapped
    - outwrappedlen
    - outsecret
    - outsecretlen
    argTypes:
    - EVP_TEST*
    - EVP_PKEY_CTX*
    - char*
    - unsigned char**
    - size_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2333
    functionDepth: 12
    functionLinenumber: 2333
    functionLinenumberEnd: 2418
    functionName: encapsulate
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 18
    functionsReached:
    - EVP_PKEY_CTX_set_kem_op
    - pkey_check_fips_approved
    - OSSL_PARAM_construct_octet_string
    - ctrl2params_free
    - ctrl2params
    - OPENSSL_free
    - OSSL_NELEM
    - TEST_ptr
    - EVP_PKEY_encapsulate_init
    - sk_OPENSSL_STRING_num
    - EVP_PKEY_encapsulate
    - OSSL_PARAM_construct_end
    - TEST_mem_eq
    - OPENSSL_malloc
    - TEST_size_t_lt
    linkageType: ''
    returnType: int
    signature: "int encapsulate(EVP_TEST *t, EVP_PKEY_CTX *ctx, const char *op,\n
      \                      unsigned char **outwrapped, size_t *outwrappedlen,\n
      \                      unsigned char **outsecret, size_t *outsecretlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2432,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2433,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/test/evp_test.c:2439,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/test/evp_test.c:2444,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_test.c:2448,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2452,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2452,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/test/evp_test.c:2457,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:2461,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2469,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2470,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2471,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 7
    argNames:
    - t
    - ctx
    - op
    - in
    - inlen
    - expected
    - expectedlen
    argTypes:
    - EVP_TEST*
    - EVP_PKEY_CTX*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2420
    functionDepth: 12
    functionLinenumber: 2420
    functionLinenumberEnd: 2473
    functionName: decapsulate
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 18
    functionsReached:
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - ctrl2params
    - OPENSSL_free
    - sk_OPENSSL_STRING_num
    - TEST_ptr
    - TEST_mem_eq
    - ctrl2params_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int decapsulate(EVP_TEST *t, EVP_PKEY_CTX *ctx, const char *op,\n
      \                      const unsigned char *in, size_t inlen,\n                       const
      unsigned char *expected, size_t expectedlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:2485,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2487,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/test/evp_test.c:2493,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_test.c:2502,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2510,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:2514,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2517,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_test.c:2517,1
    - Dst: encapsulate
      Src: /src/openssl/test/evp_test.c:2523,1
    - Dst: decapsulate
      Src: /src/openssl/test/evp_test.c:2530,1
    - Dst: decapsulate
      Src: /src/openssl/test/evp_test.c:2533,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2541,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2542,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2543,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2475
    functionDepth: 13
    functionLinenumber: 2475
    functionLinenumberEnd: 2545
    functionName: kem_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - find_key
    - EVP_PKEY_new_raw_private_key_ex
    - pkey_check_security_category
    - EVP_PKEY_new_raw_public_key_ex
    - TEST_info
    - decapsulate
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    - encapsulate
    linkageType: ''
    returnType: int
    signature: int kem_test_run(EVP_TEST *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:2596,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:2598,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2600,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2605,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:2605,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2606,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2609,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_test.c:2609,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2610,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - t
    - keyname
    - use_public
    argTypes:
    - EVP_TEST*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2588
    functionDepth: 4
    functionLinenumber: 2588
    functionLinenumberEnd: 2616
    functionName: pkey_test_init_keyctx
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - find_key
    - OPENSSL_zalloc
    - TEST_info
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int pkey_test_init_keyctx(EVP_TEST *t, const char *keyname,\n                                 int
      use_public)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init_keyctx
      Src: /src/openssl/test/evp_test.c:2630,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2636,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - t
    - name
    - use_public
    argTypes:
    - EVP_TEST*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2618
    functionDepth: 5
    functionLinenumber: 2618
    functionLinenumberEnd: 2639
    functionName: pkey_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_new_null
    - pkey_test_init_keyctx
    linkageType: ''
    returnType: int
    signature: "int pkey_test_init(EVP_TEST *t, const char *name,\n                          int
      use_public,\n                          int (*keyopinit) (EVP_PKEY_CTX *ctx,\n
      \                                           const OSSL_PARAM params[]),\n                          int
      (*keyop)(EVP_PKEY_CTX *ctx,\n                                       unsigned
      char *sig, size_t *siglen,\n                                       const unsigned
      char *tbs,\n                                       size_t tbslen))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:2656,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2658,1
    - Dst: memcpy
      Src: /src/openssl/test/evp_test.c:2661,1
    - Dst: is_pkey_disabled
      Src: /src/openssl/test/evp_test.c:2664,1
    - Dst: pkey_test_init_keyctx
      Src: /src/openssl/test/evp_test.c:2669,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2675,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/evp_test.c:2676,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2677,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2680,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - t
    - name
    - use_public
    argTypes:
    - EVP_TEST*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2641
    functionDepth: 5
    functionLinenumber: 2641
    functionLinenumberEnd: 2683
    functionName: pkey_test_init_ex2
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - strchr
    - pkey_test_init_keyctx
    - is_pkey_disabled
    - memcpy
    - sk_OPENSSL_STRING_new_null
    - TEST_info
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int pkey_test_init_ex2(EVP_TEST *t, const char *name,\n                              int
      use_public,\n                              int (*keyopinit)(EVP_PKEY_CTX *ctx,\n
      \                                              EVP_SIGNATURE *algo,\n                                               const
      OSSL_PARAM param[]),\n                              int (*keyop)(EVP_PKEY_CTX
      *ctx,\n                                           unsigned char *sig, size_t
      *siglen,\n                                           const unsigned char *tbs,\n
      \                                          size_t tbslen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:2689,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:2690,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2691,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2692,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:2693,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/evp_test.c:2694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2685
    functionDepth: 5
    functionLinenumber: 2685
    functionLinenumberEnd: 2695
    functionName: pkey_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - OPENSSL_free
    - EVP_SIGNATURE_free
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: void pkey_test_cleanup(EVP_TEST *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2703,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:2703,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:2705,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/test/evp_test.c:2708,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:2714,1
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:2714,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2715,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - t
    - pctx
    - value
    argTypes:
    - EVP_TEST*
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2725
      start: 2697
    functionDepth: 4
    functionLinenumber: 2697
    functionLinenumberEnd: 2725
    functionName: pkey_test_ctrl
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - EVP_PKEY_CTX_ctrl_str
    - is_cipher_disabled
    - is_digest_disabled
    - TEST_info
    - OPENSSL_free
    - OPENSSL_strdup
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int pkey_test_ctrl(EVP_TEST *t, EVP_PKEY_CTX *pctx,\n                          const
      char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2752,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2753,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2754,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:2755,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2756,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:2757,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2758,1
    - Dst: pkey_add_control
      Src: /src/openssl/test/evp_test.c:2759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2748
    functionDepth: 5
    functionLinenumber: 2748
    functionLinenumberEnd: 2761
    functionName: pkey_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ctrladd
    - parse_bin
    - pkey_add_control
    linkageType: ''
    returnType: int
    signature: "int pkey_test_parse(EVP_TEST *t,\n                           const
      char *keyword, const char *value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2774,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2775,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:2777,1
    - Dst: PKEY_DATA*::keyopinit
      Src: /src/openssl/test/evp_test.c:2782,1
    - Dst: PKEY_DATA*::keyopinit_ex2
      Src: /src/openssl/test/evp_test.c:2787,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2796,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_test.c:2797,1
    - Dst: pkey_test_ctrl
      Src: /src/openssl/test/evp_test.c:2799,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2804,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2763
    functionDepth: 5
    functionLinenumber: 2763
    functionLinenumberEnd: 2806
    functionName: pkey_test_run_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - PKEY_DATA*::keyopinit
    - PKEY_DATA*::keyopinit_ex2
    - ctrl2params
    - pkey_test_ctrl
    - OSSL_NELEM
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    - ctrl2params_free
    linkageType: ''
    returnType: int
    signature: int pkey_test_run_init(EVP_TEST *t)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_run_init
      Src: /src/openssl/test/evp_test.c:2815,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:2818,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/test/evp_test.c:2818,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2822,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_test.c:2822,1
    - Dst: PKEY_DATA*::keyop
      Src: /src/openssl/test/evp_test.c:2827,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2829,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2829,1
    - Dst: PKEY_DATA*::keyop
      Src: /src/openssl/test/evp_test.c:2833,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:2839,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2845,1
    - Dst: PKEY_DATA*::keyop
      Src: /src/openssl/test/evp_test.c:2849,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2851,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:2851,1
    - Dst: PKEY_DATA*::keyop
      Src: /src/openssl/test/evp_test.c:2855,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:2860,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:2865,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2869,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:2870,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2808
    functionDepth: 6
    functionLinenumber: 2808
    functionLinenumberEnd: 2872
    functionName: pkey_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_run_init
    - EVP_PKEY_CTX_dup
    - pkey_check_fips_approved
    - pkey_check_security_category
    - EVP_PKEY_CTX_get0_pkey
    - memory_err_compare
    - PKEY_DATA*::keyop
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int pkey_test_run(EVP_TEST *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_pkey_disabled
      Src: /src/openssl/test/evp_test.c:2878,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:2879,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:2884,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:2884,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_test.c:2886,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/evp_test.c:2889,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:2891,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:2897,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:2898,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2874
    functionDepth: 6
    functionLinenumber: 2874
    functionLinenumberEnd: 2900
    functionName: pkey_fromdata_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - is_pkey_disabled
    - sk_OPENSSL_STRING_new_null
    - EVP_PKEY_CTX_new_from_name
    - TEST_info
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int pkey_fromdata_test_init(EVP_TEST *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:2906,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:2907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2902
    functionDepth: 5
    functionLinenumber: 2902
    functionLinenumberEnd: 2908
    functionName: pkey_fromdata_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: void pkey_fromdata_test_cleanup(EVP_TEST *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:2915,1
    - Dst: pkey_add_control
      Src: /src/openssl/test/evp_test.c:2916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2918
    functionName: pkey_fromdata_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - pkey_add_control
    linkageType: ''
    returnType: int
    signature: "int pkey_fromdata_test_parse(EVP_TEST *t,\n                                    const
      char *keyword, const char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_test.c:2926,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/test/evp_test.c:2927,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:2937,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:2938,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:2939,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/evp_test.c:2945,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:2949,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:2953,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:2954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2920
    functionDepth: 5
    functionLinenumber: 2920
    functionLinenumberEnd: 2956
    functionName: pkey_fromdata_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_fromdata
    - pkey_check_security_category
    - ctrl2params
    - EVP_PKEY_free
    - OSSL_NELEM
    - sk_OPENSSL_STRING_num
    - ctrl2params_free
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: int
    signature: int pkey_fromdata_test_run(EVP_TEST *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:2972,1
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:2973,1
    - Dst: pkey_test_init
      Src: /src/openssl/test/evp_test.c:2975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2970
    functionDepth: 6
    functionLinenumber: 2970
    functionLinenumberEnd: 2976
    functionName: sign_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - pkey_test_init
    - pkey_test_init_ex2
    linkageType: ''
    returnType: int
    signature: int sign_test_init(EVP_TEST *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:2992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2990
    functionDepth: 6
    functionLinenumber: 2990
    functionLinenumberEnd: 2994
    functionName: sign_test_message_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_init_ex2
    linkageType: ''
    returnType: int
    signature: int sign_test_message_init(EVP_TEST *t, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:3011,1
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:3012,1
    - Dst: pkey_test_init
      Src: /src/openssl/test/evp_test.c:3015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 3009
    functionDepth: 6
    functionLinenumber: 3009
    functionLinenumberEnd: 3017
    functionName: verify_recover_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - pkey_test_init
    - pkey_test_init_ex2
    linkageType: ''
    returnType: int
    signature: int verify_recover_test_init(EVP_TEST *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init
      Src: /src/openssl/test/evp_test.c:3029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 3027
    functionDepth: 6
    functionLinenumber: 3027
    functionLinenumberEnd: 3031
    functionName: decrypt_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_init
    linkageType: ''
    returnType: int
    signature: int decrypt_test_init(EVP_TEST *t, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:3048,1
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:3049,1
    - Dst: pkey_test_init
      Src: /src/openssl/test/evp_test.c:3051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 3046
    functionDepth: 6
    functionLinenumber: 3046
    functionLinenumberEnd: 3052
    functionName: verify_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - pkey_test_init
    - pkey_test_init_ex2
    linkageType: ''
    returnType: int
    signature: int verify_test_init(EVP_TEST *t, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_run_init
      Src: /src/openssl/test/evp_test.c:3059,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:3061,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/test/evp_test.c:3061,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/evp_test.c:3063,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:3068,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3054
    functionDepth: 6
    functionLinenumber: 3054
    functionLinenumberEnd: 3072
    functionName: verify_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_run_init
    - pkey_check_fips_approved
    - pkey_check_security_category
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_verify
    linkageType: ''
    returnType: int
    signature: int verify_test_run(EVP_TEST *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:3088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3086
    functionDepth: 6
    functionLinenumber: 3086
    functionLinenumberEnd: 3090
    functionName: verify_message_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_init_ex2
    linkageType: ''
    returnType: int
    signature: int verify_message_test_init(EVP_TEST *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init_ex2
      Src: /src/openssl/test/evp_test.c:3107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3105
    functionDepth: 6
    functionLinenumber: 3105
    functionLinenumberEnd: 3109
    functionName: verify_message_public_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_init_ex2
    linkageType: ''
    returnType: int
    signature: int verify_message_public_test_init(EVP_TEST *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_init
      Src: /src/openssl/test/evp_test.c:3121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3119
    functionDepth: 6
    functionLinenumber: 3119
    functionLinenumberEnd: 3122
    functionName: pderive_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_init
    linkageType: ''
    returnType: int
    signature: int pderive_test_init(EVP_TEST *t, const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3130,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3133,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:3137,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3142,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3143,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3144,1
    - Dst: pkey_add_control
      Src: /src/openssl/test/evp_test.c:3145,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3146,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:3147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3124
    functionDepth: 5
    functionLinenumber: 3124
    functionLinenumberEnd: 3149
    functionName: pderive_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - find_key
    - parse_bin
    - ctrladd
    - strcmp
    - pkey_add_control
    linkageType: ''
    returnType: int
    signature: "int pderive_test_parse(EVP_TEST *t,\n                              const
      char *keyword, const char *value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pkey_test_run_init
      Src: /src/openssl/test/evp_test.c:3159,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:3163,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/test/evp_test.c:3163,1
    - Dst: EVP_PKEY_derive_set_peer_ex
      Src: /src/openssl/test/evp_test.c:3165,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3171,1
    - Dst: EVP_PKEY_CTX_dup
      Src: /src/openssl/test/evp_test.c:3171,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_test.c:3176,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/evp_test.c:3177,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3181,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3181,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_test.c:3185,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3189,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:3194,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3200,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:3201,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3151
    functionDepth: 6
    functionLinenumber: 3151
    functionLinenumberEnd: 3203
    functionName: pderive_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - pkey_test_run_init
    - EVP_PKEY_CTX_dup
    - pkey_check_fips_approved
    - pkey_check_security_category
    - EVP_PKEY_CTX_get0_pkey
    - memory_err_compare
    - EVP_PKEY_derive
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - TEST_size_t_ne
    - TEST_ptr
    - OPENSSL_malloc
    - EVP_PKEY_derive_set_peer_ex
    linkageType: ''
    returnType: int
    signature: int pderive_test_run(EVP_TEST *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3246,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:3247,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:3252,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3256,1
    - Dst: isdigit
      Src: /src/openssl/test/evp_test.c:3256,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:3257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - value
    - pr
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3264
      start: 3242
    functionDepth: 1
    functionLinenumber: 3242
    functionLinenumberEnd: 3264
    functionName: parse_uint64
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - TEST_error
    - isdigit
    - TEST_info
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int parse_uint64(const char *value, uint64_t *pr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3271,1
    - Dst: parse_uint64
      Src: /src/openssl/test/evp_test.c:3272,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3273,1
    - Dst: parse_uint64
      Src: /src/openssl/test/evp_test.c:3274,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3275,1
    - Dst: parse_uint64
      Src: /src/openssl/test/evp_test.c:3276,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3277,1
    - Dst: parse_uint64
      Src: /src/openssl/test/evp_test.c:3278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3280
      start: 3266
    functionDepth: 2
    functionLinenumber: 3266
    functionLinenumberEnd: 3280
    functionName: scrypt_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_uint64
    linkageType: ''
    returnType: int
    signature: "int scrypt_test_parse(EVP_TEST *t,\n                             const
      char *keyword, const char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3288,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3289,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3294,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/evp_test.c:3295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3301
      start: 3283
    functionDepth: 2
    functionLinenumber: 3283
    functionLinenumberEnd: 3301
    functionName: pbkdf2_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atoi
    - EVP_get_digestbyname
    linkageType: ''
    returnType: int
    signature: "int pbkdf2_test_parse(EVP_TEST *t,\n                             const
      char *keyword, const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3308,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3309,1
    - Dst: pbkdf2_test_parse
      Src: /src/openssl/test/evp_test.c:3314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3303
    functionDepth: 3
    functionLinenumber: 3303
    functionLinenumberEnd: 3315
    functionName: pkcs12_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atoi
    - pbkdf2_test_parse
    linkageType: ''
    returnType: int
    signature: "int pkcs12_test_parse(EVP_TEST *t,\n                             const
      char *keyword, const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_kdf_disabled
      Src: /src/openssl/test/evp_test.c:3322,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:3323,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3327,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3329,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3331,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:3334,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3337,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:3337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3317
    functionDepth: 1
    functionLinenumber: 3317
    functionLinenumberEnd: 3342
    functionName: pbe_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - is_kdf_disabled
    - TEST_info
    - strcmp
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int pbe_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3349,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3351
      start: 3344
    functionDepth: 0
    functionLinenumber: 3344
    functionLinenumberEnd: 3351
    functionName: pbe_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void pbe_test_cleanup(EVP_TEST *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3358,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3359,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3360,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3361,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3362,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3363,1
    - Dst: pbkdf2_test_parse
      Src: /src/openssl/test/evp_test.c:3365,1
    - Dst: pkcs12_test_parse
      Src: /src/openssl/test/evp_test.c:3367,1
    - Dst: scrypt_test_parse
      Src: /src/openssl/test/evp_test.c:3370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3353
    functionDepth: 5
    functionLinenumber: 3353
    functionLinenumberEnd: 3373
    functionName: pbe_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - parse_bin
    - pkcs12_test_parse
    - pbkdf2_test_parse
    - strcmp
    - scrypt_test_parse
    linkageType: ''
    returnType: int
    signature: "int pbe_test_parse(EVP_TEST *t,\n                          const char
      *keyword, const char *value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_test.c:3382,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3384,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3384,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/openssl/test/evp_test.c:3389,1
    - Dst: EVP_PBE_scrypt
      Src: /src/openssl/test/evp_test.c:3398,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/evp_test.c:3407,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/test/evp_test.c:3407,1
    - Dst: PKCS12_key_gen_uni
      Src: /src/openssl/test/evp_test.c:3413,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3421,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/evp_test.c:3427,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3428,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/evp_test.c:3429,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3431
      start: 3375
    functionDepth: 10
    functionLinenumber: 3375
    functionLinenumberEnd: 3431
    functionName: pbe_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PBE_scrypt
    - EVP_MD_free
    - PKCS12_key_gen_uni
    - memory_err_compare
    - EVP_MD_fetch
    - PKCS5_PBKDF2_HMAC
    - EVP_MD_get0_name
    - OPENSSL_free
    - TEST_ptr
    - OSSL_LIB_CTX_set0_default
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int pbe_test_run(EVP_TEST *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3466,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:3466,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3468,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3470,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3472,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3474,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:3474,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:3477,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - t
    - encoding
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3487
      start: 3462
    functionDepth: 1
    functionLinenumber: 3462
    functionLinenumberEnd: 3487
    functionName: encode_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_free
    - OPENSSL_strdup
    - strcmp
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int encode_test_init(EVP_TEST *t, const char *encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3493,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3494,1
    - Dst: memset
      Src: /src/openssl/test/evp_test.c:3495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3496
      start: 3489
    functionDepth: 0
    functionLinenumber: 3489
    functionLinenumberEnd: 3496
    functionName: encode_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - memset
    linkageType: ''
    returnType: void
    signature: void encode_test_cleanup(EVP_TEST *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3503,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3504,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3505,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3508
      start: 3498
    functionDepth: 5
    functionLinenumber: 3498
    functionLinenumberEnd: 3508
    functionName: encode_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_bin
    linkageType: ''
    returnType: int
    signature: "int encode_test_parse(EVP_TEST *t,\n                             const
      char *keyword, const char *value)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3518,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/test/evp_test.c:3518,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3525,1
    - Dst: EVP_ENCODE_CTX_new
      Src: /src/openssl/test/evp_test.c:3525,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3526,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3527,1
    - Dst: EVP_ENCODE_LENGTH
      Src: /src/openssl/test/evp_test.c:3527,1
    - Dst: EVP_EncodeInit
      Src: /src/openssl/test/evp_test.c:3530,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3540,1
    - Dst: EVP_EncodeUpdate
      Src: /src/openssl/test/evp_test.c:3540,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/test/evp_test.c:3549,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3552,1
    - Dst: EVP_DECODE_LENGTH
      Src: /src/openssl/test/evp_test.c:3558,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3559,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3559,1
    - Dst: memset
      Src: /src/openssl/test/evp_test.c:3565,1
    - Dst: EVP_DecodeInit
      Src: /src/openssl/test/evp_test.c:3568,1
    - Dst: EVP_DecodeUpdate
      Src: /src/openssl/test/evp_test.c:3577,1
    - Dst: EVP_DecodeFinal
      Src: /src/openssl/test/evp_test.c:3587,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:3594,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3610,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3611,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/test/evp_test.c:3612,1
    - Dst: EVP_ENCODE_CTX_free
      Src: /src/openssl/test/evp_test.c:3613,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3615
      start: 3510
    functionDepth: 3
    functionLinenumber: 3510
    functionLinenumberEnd: 3615
    functionName: encode_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_ENCODE_LENGTH
    - EVP_EncodeUpdate
    - EVP_EncodeInit
    - memset
    - EVP_DecodeInit
    - memory_err_compare
    - EVP_DecodeFinal
    - EVP_DecodeUpdate
    - EVP_ENCODE_CTX_free
    - EVP_DECODE_LENGTH
    - OPENSSL_free
    - EVP_EncodeFinal
    - TEST_true
    - TEST_ptr
    - EVP_ENCODE_CTX_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int encode_test_run(EVP_TEST *t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3670,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:3670,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/evp_test.c:3674,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/evp_test.c:3677,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/evp_test.c:3678,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_test.c:3682,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:3683,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/evp_test.c:3686,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/evp_test.c:3689,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/evp_test.c:3690,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:3693,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/evp_test.c:3699,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3700,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3702
      start: 3663
    functionDepth: 10
    functionLinenumber: 3663
    functionLinenumberEnd: 3702
    functionName: rand_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_RAND_free
    - OPENSSL_zalloc
    - EVP_RAND_fetch
    - EVP_RAND_CTX_free
    - sk_OPENSSL_STRING_new_null
    - EVP_RAND_CTX_set_params
    - OPENSSL_free
    - TEST_ptr
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: int
    signature: int rand_test_init(EVP_TEST *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:3709,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3710,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3711,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3714,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3715,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3716,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3717,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3718,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3719,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3720,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3721,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3722,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3723,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/evp_test.c:3725,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/evp_test.c:3726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3727
      start: 3704
    functionDepth: 5
    functionLinenumber: 3704
    functionLinenumberEnd: 3727
    functionName: rand_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - OPENSSL_free
    - EVP_RAND_CTX_free
    linkageType: ''
    returnType: void
    signature: void rand_test_cleanup(EVP_TEST *t)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:3737,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3738,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3744,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3745,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3746,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3747,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3749,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3750,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3751,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3752,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3753,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3754,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3756,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3757,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3758,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3759,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3760,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3761,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3762,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3763,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:3764,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:3765,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3767,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3768,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:3768,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3769,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3770,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:3770,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3771,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3772,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3775,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3776,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3781,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:3782,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:3785,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:3786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3729
    functionDepth: 5
    functionLinenumber: 3729
    functionLinenumberEnd: 3789
    functionName: rand_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - atoi
    - parse_bin
    - OPENSSL_strdup
    - ctrladd
    - strcmp
    - TEST_ptr
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: "int rand_test_parse(EVP_TEST *t,\n                          const
      char *keyword, const char *value)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3803,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:3803,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:3806,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:3807,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:3809,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:3814,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:3816,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:3819,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/evp_test.c:3821,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:3822,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:3823,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:3830,1
    - Dst: EVP_RAND_get_strength
      Src: /src/openssl/test/evp_test.c:3833,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:3839,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:3842,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:3844,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3845,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/evp_test.c:3845,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3850,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/evp_test.c:3850,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:3857,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:3860,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3861,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:3861,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3864,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/test/evp_test.c:3864,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:3871,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:3874,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3875,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:3875,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3878,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/evp_test.c:3878,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/evp_test.c:3885,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:3888,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3889,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/evp_test.c:3889,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3892,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/evp_test.c:3892,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:3897,1
    - Dst: rand_check_fips_approved
      Src: /src/openssl/test/evp_test.c:3899,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3901,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/evp_test.c:3901,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3902,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/evp_test.c:3902,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:3903,1
    - Dst: EVP_RAND_verify_zeroization
      Src: /src/openssl/test/evp_test.c:3903,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/evp_test.c:3904,1
    - Dst: EVP_RAND_get_state
      Src: /src/openssl/test/evp_test.c:3904,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:3913,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3914,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:3915,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 91
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3917
      start: 3791
    functionDepth: 4
    functionLinenumber: 3791
    functionLinenumberEnd: 3917
    functionName: rand_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OPENSSL_free
    - EVP_RAND_generate
    - TEST_ptr
    - ctrl2params_free
    - EVP_RAND_get_state
    - OSSL_PARAM_construct_utf8_string
    - TEST_info
    - EVP_RAND_verify_zeroization
    - TEST_true
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - ctrl2params
    - sk_OPENSSL_STRING_num
    - EVP_RAND_get_strength
    - rand_check_fips_approved
    - EVP_RAND_instantiate
    - EVP_RAND_reseed
    - EVP_RAND_CTX_set_params
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - EVP_RAND_uninstantiate
    - OSSL_NELEM
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int rand_test_run(EVP_TEST *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_kdf_disabled
      Src: /src/openssl/test/evp_test.c:3950,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:3951,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3956,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:3956,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:3959,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/test/evp_test.c:3961,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3963,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/test/evp_test.c:3966,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/test/evp_test.c:3967,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3969,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:3973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3975
      start: 3945
    functionDepth: 4
    functionLinenumber: 3945
    functionLinenumberEnd: 3975
    functionName: kdf_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OPENSSL_zalloc
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_end
    - is_kdf_disabled
    - EVP_KDF_free
    - sk_OPENSSL_STRING_new_null
    - TEST_info
    - OPENSSL_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int kdf_test_init(EVP_TEST *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:3982,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3984,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:3985,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_test.c:3986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3987
      start: 3977
    functionDepth: 5
    functionLinenumber: 3977
    functionLinenumberEnd: 3987
    functionName: kdf_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - OPENSSL_free
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: void
    signature: void kdf_test_cleanup(EVP_TEST *t)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/openssl/test/evp_test.c:3995,1
    - Dst: EVP_KDF_CTX_kdf
      Src: /src/openssl/test/evp_test.c:3995,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:3997,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:3997,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:3999,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4005,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4006,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4007,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4012,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4013,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4014,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4019,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4020,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4021,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4026,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4027,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4028,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4033,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4034,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4035,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4040,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4041,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4042,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4047,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/evp_test.c:4048,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4049,1
    - Dst: OSSL_PARAM_allocate_from_text
      Src: /src/openssl/test/evp_test.c:4054,1
    - Dst: strlen
      Src: /src/openssl/test/evp_test.c:4055,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4056,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4059,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4062,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:4063,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4064,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4070,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4071,1
    - Dst: is_cipher_disabled
      Src: /src/openssl/test/evp_test.c:4072,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4073,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4077,1
    - Dst: is_mac_disabled
      Src: /src/openssl/test/evp_test.c:4078,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4079,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4083,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 3
    argNames:
    - t
    - kctx
    - value
    argTypes:
    - EVP_TEST*
    - EVP_KDF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4085
      start: 3989
    functionDepth: 3
    functionLinenumber: 3989
    functionLinenumberEnd: 4085
    functionName: kdf_test_ctrl
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strchr
    - OSSL_PARAM_construct_end
    - is_mac_disabled
    - is_cipher_disabled
    - EVP_KDF_CTX_kdf
    - OSSL_PARAM_locate_const
    - TEST_info
    - is_digest_disabled
    - OPENSSL_free
    - EVP_KDF_settable_ctx_params
    - OPENSSL_strdup
    - OSSL_PARAM_allocate_from_text
    - strcmp
    - TEST_ptr
    - strlen
    linkageType: ''
    returnType: int
    signature: "int kdf_test_ctrl(EVP_TEST *t, EVP_KDF_CTX *kctx,\n                         const
      char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4092,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:4093,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4094,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:4095,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:4096,1
    - Dst: kdf_test_ctrl
      Src: /src/openssl/test/evp_test.c:4097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4087
    functionDepth: 5
    functionLinenumber: 4087
    functionLinenumberEnd: 4099
    functionName: kdf_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - parse_bin
    - kdf_test_ctrl
    - ctrladd
    - strcmp
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: "int kdf_test_parse(EVP_TEST *t,\n                          const char
      *keyword, const char *value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4111,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:4112,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:4114,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4116,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4122,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4126,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4126,1
    - Dst: fips_provider_version_gt
      Src: /src/openssl/test/evp_test.c:4131,1
    - Dst: EVP_KDF_CTX_dup
      Src: /src/openssl/test/evp_test.c:4132,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/test/evp_test.c:4133,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/test/evp_test.c:4136,1
    - Dst: kdf_check_fips_approved
      Src: /src/openssl/test/evp_test.c:4140,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:4144,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4153,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4155
      start: 4101
    functionDepth: 6
    functionLinenumber: 4101
    functionLinenumberEnd: 4155
    functionName: kdf_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_dup
    - EVP_KDF_CTX_free
    - ctrl2params
    - memory_err_compare
    - OPENSSL_free
    - TEST_ptr
    - OSSL_NELEM
    - fips_provider_version_gt
    - sk_OPENSSL_STRING_num
    - EVP_KDF_CTX_set_params
    - EVP_KDF_derive
    - ctrl2params_free
    - OPENSSL_malloc
    - kdf_check_fips_approved
    linkageType: ''
    returnType: int
    signature: int kdf_test_run(EVP_TEST *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_kdf_disabled
      Src: /src/openssl/test/evp_test.c:4185,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4186,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4191,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:4191,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_test.c:4194,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/test/evp_test.c:4196,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:4202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - t
    - name
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4205
      start: 4181
    functionDepth: 5
    functionLinenumber: 4181
    functionLinenumberEnd: 4205
    functionName: pkey_kdf_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_PKEY_derive_init
    - is_kdf_disabled
    - EVP_PKEY_CTX_new_from_name
    - TEST_info
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int pkey_kdf_test_init(EVP_TEST *t, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4211,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:4212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4213
      start: 4207
    functionDepth: 5
    functionLinenumber: 4207
    functionLinenumberEnd: 4213
    functionName: pkey_kdf_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: void pkey_kdf_test_cleanup(EVP_TEST *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4220,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:4221,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/evp_test.c:4222,1
    - Dst: pkey_test_ctrl
      Src: /src/openssl/test/evp_test.c:4223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4225
      start: 4215
    functionDepth: 5
    functionLinenumber: 4215
    functionLinenumberEnd: 4225
    functionName: pkey_kdf_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - pkey_test_ctrl
    - parse_bin
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: "int pkey_kdf_test_parse(EVP_TEST *t,\n                               const
      char *keyword, const char *value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version_eq
      Src: /src/openssl/test/evp_test.c:4234,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_test.c:4239,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4255,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4255,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/evp_test.c:4259,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:4263,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:4267,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4274,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4276
      start: 4227
    functionDepth: 4
    functionLinenumber: 4227
    functionLinenumberEnd: 4276
    functionName: pkey_kdf_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - fips_provider_version_eq
    - pkey_check_fips_approved
    - EVP_PKEY_derive
    - OPENSSL_free
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int pkey_kdf_test_run(EVP_TEST *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4303,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4303,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4304,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:4304,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4310,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4310,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4311,1
    - Dst: TEST_true
      Src: /src/openssl/test/evp_test.c:4315,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4315,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4328,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - t
    - pair
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4339
      start: 4295
    functionDepth: 1
    functionLinenumber: 4295
    functionLinenumberEnd: 4339
    functionName: keypair_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - find_key
    - strchr
    - TEST_info
    - OPENSSL_free
    - OPENSSL_strdup
    - TEST_true
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int keypair_test_init(EVP_TEST *t, const char *pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4345
      start: 4341
    functionDepth: 0
    functionLinenumber: 4341
    functionLinenumberEnd: 4345
    functionName: keypair_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void keypair_test_cleanup(EVP_TEST *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4353
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4353
    functionName: void_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int void_test_parse(EVP_TEST *t, const char *keyword, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/evp_test.c:4371,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:4379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4355
    functionDepth: 3
    functionLinenumber: 4355
    functionLinenumberEnd: 4392
    functionName: keypair_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int keypair_test_run(EVP_TEST *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_pkey_disabled
      Src: /src/openssl/test/evp_test.c:4418,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4423,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:4423,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4427,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4428,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4433
      start: 4414
    functionDepth: 1
    functionLinenumber: 4414
    functionLinenumberEnd: 4433
    functionName: keygen_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - is_pkey_disabled
    - sk_OPENSSL_STRING_new_null
    - OPENSSL_strdup
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int keygen_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:4439,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:4440,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4441,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4442,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4443,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4446
      start: 4435
    functionDepth: 0
    functionLinenumber: 4435
    functionLinenumberEnd: 4446
    functionName: keygen_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void keygen_test_cleanup(EVP_TEST *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4453,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4454,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4454,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4455,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4456,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/evp_test.c:4456,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4457,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:4458,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4459,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:4460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4462
      start: 4448
    functionDepth: 1
    functionLinenumber: 4448
    functionLinenumberEnd: 4462
    functionName: keygen_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TEST_ptr
    - OPENSSL_strdup
    - ctrladd
    linkageType: ''
    returnType: int
    signature: "int keygen_test_parse(EVP_TEST *t,\n                             const
      char *keyword, const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4472,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:4474,1
    - Dst: EVP_PKEY_gettable_params
      Src: /src/openssl/test/evp_test.c:4475,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:4476,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4480,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/evp_test.c:4484,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/evp_test.c:4487,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4488,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:4490,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - t
    - pkey
    - out_controls
    argTypes:
    - EVP_TEST*
    - EVP_PKEY*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4500
      start: 4465
    functionDepth: 3
    functionLinenumber: 4465
    functionLinenumberEnd: 4500
    functionName: check_pkey_expected_values
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrl2params
    - OPENSSL_free
    - OSSL_NELEM
    - sk_OPENSSL_STRING_num
    - EVP_PKEY_gettable_params
    - TEST_mem_eq
    - ctrl2params_free
    - EVP_PKEY_get_octet_string_param
    - OPENSSL_malloc
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int check_pkey_expected_values(EVP_TEST *t, const EVP_PKEY *pkey,\n
      \                                     STACK_OF(OPENSSL_STRING) *out_controls)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4514,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4516,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4520,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/evp_test.c:4520,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4525,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/evp_test.c:4525,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/evp_test.c:4530,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4535,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/evp_test.c:4536,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:4538,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/test/evp_test.c:4539,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4542,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/evp_test.c:4548,1
    - Dst: pkey_check_fips_approved
      Src: /src/openssl/test/evp_test.c:4553,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:4558,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/test/evp_test.c:4561,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4562,1
    - Dst: check_pkey_expected_values
      Src: /src/openssl/test/evp_test.c:4566,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4575,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:4576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4580,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4580,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:4594,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/evp_test.c:4597,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4598,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4599,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/evp_test.c:4600,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/evp_test.c:4601,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 88
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4603
      start: 4502
    functionDepth: 8
    functionLinenumber: 4502
    functionLinenumberEnd: 4603
    functionName: keygen_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - find_key
    - OSSL_PARAM_free
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - ctrl2params_free
    - TEST_info
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - evp_pkey_is_provided
    - OSSL_PARAM_BLD_free
    - OPENSSL_malloc
    - pkey_check_fips_approved
    - OPENSSL_malloc_array
    - ctrl2params
    - EVP_PKEY_CTX_new_from_pkey
    - sk_OPENSSL_STRING_num
    - pkey_check_security_category
    - EVP_PKEY_CTX_new_from_name
    - check_pkey_expected_values
    - EVP_PKEY_CTX_settable_params
    linkageType: ''
    returnType: int
    signature: int keygen_test_run(EVP_TEST *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4640,1
    - Dst: is_digest_disabled
      Src: /src/openssl/test/evp_test.c:4641,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/evp_test.c:4645,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4649,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:4649,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4651,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/evp_test.c:4652,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4654,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/evp_test.c:4654,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - t
    - alg
    - is_verify
    - is_oneshot
    argTypes:
    - EVP_TEST*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4662
      start: 4634
    functionDepth: 2
    functionLinenumber: 4634
    functionLinenumberEnd: 4662
    functionName: digestsigver_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - sk_OPENSSL_STRING_new_null
    - is_digest_disabled
    - EVP_MD_CTX_new
    - OPENSSL_free
    - EVP_get_digestbyname
    - strcmp
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int digestsigver_test_init(EVP_TEST *t, const char *alg, int is_verify,\n
      \                                 int is_oneshot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digestsigver_test_init
      Src: /src/openssl/test/evp_test.c:4666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4667
      start: 4664
    functionDepth: 3
    functionLinenumber: 4664
    functionLinenumberEnd: 4667
    functionName: digestsign_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - digestsigver_test_init
    linkageType: ''
    returnType: int
    signature: int digestsign_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:4673,1
    - Dst: ctrlfree
      Src: /src/openssl/test/evp_test.c:4674,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/evp_test.c:4675,1
    - Dst: sk_EVP_TEST_BUFFER_pop_free
      Src: /src/openssl/test/evp_test.c:4676,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4677,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4678,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4681
      start: 4669
    functionDepth: 8
    functionLinenumber: 4669
    functionLinenumberEnd: 4681
    functionName: digestsigver_test_cleanup
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ctrlfree
    - OPENSSL_free
    - sk_EVP_TEST_BUFFER_pop_free
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void digestsigver_test_cleanup(EVP_TEST *t)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4688,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4693,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:4695,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4704,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:4706,1
    - Dst: evp_test_buffer_append
      Src: /src/openssl/test/evp_test.c:4707,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4709,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:4710,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4713,1
    - Dst: evp_test_buffer_set_count
      Src: /src/openssl/test/evp_test.c:4714,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4715,1
    - Dst: evp_test_buffer_ncopy
      Src: /src/openssl/test/evp_test.c:4716,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4718,1
    - Dst: pkey_add_control
      Src: /src/openssl/test/evp_test.c:4719,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4720,1
    - Dst: ctrladd
      Src: /src/openssl/test/evp_test.c:4721,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4722,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:4723,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - t
    - keyword
    - value
    argTypes:
    - EVP_TEST*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4728
      start: 4683
    functionDepth: 5
    functionLinenumber: 4683
    functionLinenumberEnd: 4728
    functionName: digestsigver_test_parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - find_key
    - evp_test_buffer_ncopy
    - parse_bin
    - evp_test_buffer_set_count
    - ctrladd
    - evp_test_buffer_append
    - strcmp
    - pkey_add_control
    linkageType: ''
    returnType: int
    signature: "int digestsigver_test_parse(EVP_TEST *t,\n                                   const
      char *keyword, const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/evp_test.c:4738,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:4740,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/evp_test.c:4741,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/evp_test.c:4743,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/test/evp_test.c:4745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - t
    - mdata
    argTypes:
    - EVP_TEST*
    - DIGESTSIGN_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4730
    functionDepth: 3
    functionLinenumber: 4730
    functionLinenumberEnd: 4751
    functionName: check_deterministic_noncetype
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_get_params
    - OSSL_PARAM_modified
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int check_deterministic_noncetype(EVP_TEST *t,\n                                         DIGESTSIGN_DATA
      *mdata)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/test/evp_test.c:4755,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4761,1
    - Dst: ctrl2params
      Src: /src/openssl/test/evp_test.c:4762,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/evp_test.c:4764,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/evp_test.c:4770,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/evp_test.c:4776,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4783,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_test.c:4784,1
    - Dst: pkey_test_ctrl
      Src: /src/openssl/test/evp_test.c:4786,1
    - Dst: ctrl2params_free
      Src: /src/openssl/test/evp_test.c:4791,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - t
    - data
    argTypes:
    - EVP_TEST*
    - DIGESTSIGN_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4793
      start: 4753
    functionDepth: 5
    functionLinenumber: 4753
    functionLinenumberEnd: 4793
    functionName: signverify_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 5
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - ctrl2params
    - pkey_test_ctrl
    - EVP_MD_get0_name
    - OSSL_NELEM
    - EVP_DigestSignInit_ex
    - sk_OPENSSL_STRING_num
    - sk_OPENSSL_STRING_value
    - ctrl2params_free
    linkageType: ''
    returnType: int
    signature: int signverify_init(EVP_TEST *t, DIGESTSIGN_DATA *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/evp_test.c:4798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4799
      start: 4795
    functionDepth: 2
    functionLinenumber: 4795
    functionLinenumberEnd: 4799
    functionName: digestsign_update_fn
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: int
    signature: "int digestsign_update_fn(void *ctx, const unsigned char *buf,\n                                size_t
      buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: signverify_init
      Src: /src/openssl/test/evp_test.c:4808,1
    - Dst: check_deterministic_noncetype
      Src: /src/openssl/test/evp_test.c:4810,1
    - Dst: pkey_check_security_category
      Src: /src/openssl/test/evp_test.c:4813,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/test/evp_test.c:4816,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/test/evp_test.c:4817,1
    - Dst: pkey_test_ctrl
      Src: /src/openssl/test/evp_test.c:4818,1
    - Dst: evp_test_buffer_do
      Src: /src/openssl/test/evp_test.c:4822,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_test.c:4828,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4832,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4832,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/test/evp_test.c:4837,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:4841,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4848,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4850
      start: 4801
    functionDepth: 6
    functionLinenumber: 4801
    functionLinenumberEnd: 4850
    functionName: digestsign_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - check_deterministic_noncetype
    - pkey_check_security_category
    - evp_test_buffer_do
    - memory_err_compare
    - pkey_test_ctrl
    - OPENSSL_free
    - TEST_ptr
    - sk_OPENSSL_STRING_value
    - EVP_DigestSignFinal
    - sk_OPENSSL_STRING_num
    - signverify_init
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int digestsign_test_run(EVP_TEST *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digestsigver_test_init
      Src: /src/openssl/test/evp_test.c:4862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4863
      start: 4860
    functionDepth: 3
    functionLinenumber: 4860
    functionLinenumberEnd: 4863
    functionName: digestverify_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - digestsigver_test_init
    linkageType: ''
    returnType: int
    signature: int digestverify_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/test/evp_test.c:4868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - buf
    - buflen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4869
      start: 4865
    functionDepth: 2
    functionLinenumber: 4865
    functionLinenumberEnd: 4869
    functionName: digestverify_update_fn
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyUpdate
    linkageType: ''
    returnType: int
    signature: "int digestverify_update_fn(void *ctx, const unsigned char *buf,\n
      \                                 size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: signverify_init
      Src: /src/openssl/test/evp_test.c:4875,1
    - Dst: evp_test_buffer_do
      Src: /src/openssl/test/evp_test.c:4878,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/test/evp_test.c:4883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4887
      start: 4871
    functionDepth: 6
    functionLinenumber: 4871
    functionLinenumberEnd: 4887
    functionName: digestverify_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - signverify_init
    - evp_test_buffer_do
    - EVP_DigestVerifyFinal
    linkageType: ''
    returnType: int
    signature: int digestverify_test_run(EVP_TEST *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digestsigver_test_init
      Src: /src/openssl/test/evp_test.c:4899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4900
      start: 4897
    functionDepth: 3
    functionLinenumber: 4897
    functionLinenumberEnd: 4900
    functionName: oneshot_digestsign_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - digestsigver_test_init
    linkageType: ''
    returnType: int
    signature: int oneshot_digestsign_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: signverify_init
      Src: /src/openssl/test/evp_test.c:4908,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_test.c:4911,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:4916,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:4916,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/evp_test.c:4921,1
    - Dst: memory_err_compare
      Src: /src/openssl/test/evp_test.c:4926,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:4933,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4935
      start: 4902
    functionDepth: 6
    functionLinenumber: 4902
    functionLinenumberEnd: 4935
    functionName: oneshot_digestsign_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - memory_err_compare
    - OPENSSL_free
    - TEST_ptr
    - EVP_DigestSign
    - signverify_init
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int oneshot_digestsign_test_run(EVP_TEST *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: digestsigver_test_init
      Src: /src/openssl/test/evp_test.c:4947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - alg
    argTypes:
    - EVP_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4948
      start: 4945
    functionDepth: 3
    functionLinenumber: 4945
    functionLinenumberEnd: 4948
    functionName: oneshot_digestverify_test_init
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - digestsigver_test_init
    linkageType: ''
    returnType: int
    signature: int oneshot_digestverify_test_init(EVP_TEST *t, const char *alg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signverify_init
      Src: /src/openssl/test/evp_test.c:4954,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/evp_test.c:4957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4961
      start: 4950
    functionDepth: 6
    functionLinenumber: 4950
    functionLinenumberEnd: 4961
    functionName: oneshot_digestverify_test_run
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - signverify_init
    linkageType: ''
    returnType: int
    signature: int oneshot_digestverify_test_run(EVP_TEST *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5013
      start: 5004
    functionDepth: 0
    functionLinenumber: 5004
    functionLinenumberEnd: 5013
    functionName: find_test
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: EVP_TEST_METHOD
    signature: EVP_TEST_METHOD *find_test(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_clearstanza
      Src: /src/openssl/test/evp_test.c:5017,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_test.c:5018,1
    - Dst: EVP_TEST*::meth::cleanup
      Src: /src/openssl/test/evp_test.c:5021,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5022,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5025,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5027,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5029,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/evp_test.c:5041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5043
      start: 5015
    functionDepth: 2
    functionLinenumber: 5015
    functionLinenumberEnd: 5043
    functionName: clear_test
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ERR_clear_error
    - test_clearstanza
    - OPENSSL_free
    - EVP_TEST*::meth::cleanup
    - OSSL_set_max_threads
    linkageType: ''
    returnType: void
    signature: void clear_test(EVP_TEST *t)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5055,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5058,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5064,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5069,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5070,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5079,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/evp_test.c:5084,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5086,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/evp_test.c:5091,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5093,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5099,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5102,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5106
      start: 5046
    functionDepth: 2
    functionLinenumber: 5046
    functionLinenumberEnd: 5106
    functionName: check_test_error
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ERR_peek_error
    - ERR_reason_error_string
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int check_test_error(EVP_TEST *t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_set_public_private_callbacks
      Src: /src/openssl/test/evp_test.c:5123,1
    - Dst: EVP_TEST*::meth::run_test
      Src: /src/openssl/test/evp_test.c:5126,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5127,1
    - Dst: check_test_error
      Src: /src/openssl/test/evp_test.c:5131,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5132,1
    - Dst: fake_rand_set_public_private_callbacks
      Src: /src/openssl/test/evp_test.c:5141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5147
      start: 5109
    functionDepth: 3
    functionLinenumber: 5109
    functionLinenumberEnd: 5147
    functionName: run_test
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 10
    functionsReached:
    - fake_rand_set_public_private_callbacks
    - EVP_TEST*::meth::run_test
    - check_test_error
    - TEST_info
    - TEST_openssl_errors
    linkageType: ''
    returnType: int
    signature: int run_test(EVP_TEST *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ppk
    - name
    - lst
    argTypes:
    - EVP_PKEY**
    - char*
    - KEY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5159
      start: 5149
    functionDepth: 0
    functionLinenumber: 5149
    functionLinenumberEnd: 5159
    functionName: find_key
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 7
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int find_key(EVP_PKEY **ppk, const char *name, KEY_LIST *lst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:5166,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lst
    argTypes:
    - KEY_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5171
      start: 5161
    functionDepth: 4
    functionLinenumber: 5161
    functionLinenumberEnd: 5171
    functionName: free_key_list
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void free_key_list(KEY_LIST *lst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/evp_test.c:5178,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/evp_test.c:5179,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/evp_test.c:5180,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_test.c:5185,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/evp_test.c:5197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5202
      start: 5176
    functionDepth: 2
    functionLinenumber: 5176
    functionLinenumberEnd: 5202
    functionName: key_unsupported
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - ERR_clear_error
    - ERR_GET_LIB
    - ERR_GET_REASON
    - ERR_peek_last_error
    linkageType: ''
    returnType: int
    signature: int key_unsupported(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pp
    argTypes:
    - PAIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5211
      start: 5205
    functionDepth: 0
    functionLinenumber: 5205
    functionLinenumberEnd: 5211
    functionName: take_value
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *take_value(PAIR *pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/evp_test.c:5219,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/evp_test.c:5224,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/evp_test.c:5227,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/evp_test.c:5229,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/evp_test.c:5230,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_test.c:5231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5239
      start: 5214
    functionDepth: 10
    functionLinenumber: 5214
    functionLinenumberEnd: 5239
    functionName: securitycheck_enabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_params
    - OSSL_PROVIDER_available
    - OSSL_PARAM_construct_int
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int securitycheck_enabled(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/test/evp_test.c:5253,1
    - Dst: isspace
      Src: /src/openssl/test/evp_test.c:5257,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/evp_test.c:5263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 1
    argNames:
    - providers
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5267
      start: 5247
    functionDepth: 10
    functionLinenumber: 5247
    functionLinenumberEnd: 5267
    functionName: prov_available
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_available
    - isspace
    linkageType: ''
    returnType: int
    signature: int prov_available(char *providers)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: BIO_eof
      Src: /src/openssl/test/evp_test.c:5280,1
    - Dst: clear_test
      Src: /src/openssl/test/evp_test.c:5282,1
    - Dst: test_readstanza
      Src: /src/openssl/test/evp_test.c:5283,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5292,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/evp_test.c:5293,1
    - Dst: key_unsupported
      Src: /src/openssl/test/evp_test.c:5294,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:5295,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5296,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5297,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5301,1
    - Dst: PEM_read_bio_PUBKEY_ex
      Src: /src/openssl/test/evp_test.c:5302,1
    - Dst: key_unsupported
      Src: /src/openssl/test/evp_test.c:5303,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:5304,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5305,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5306,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5310,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/test/evp_test.c:5311,1
    - Dst: key_unsupported
      Src: /src/openssl/test/evp_test.c:5312,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/evp_test.c:5313,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5314,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5315,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5319,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5320,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5325,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:5330,1
    - Dst: strchr
      Src: /src/openssl/test/evp_test.c:5333,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5338,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:5342,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5343,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/test/evp_test.c:5347,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/test/evp_test.c:5350,1
    - Dst: key_unsupported
      Src: /src/openssl/test/evp_test.c:5352,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5353,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5354,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/evp_test.c:5355,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5358,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5359,1
    - Dst: prov_available
      Src: /src/openssl/test/evp_test.c:5360,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5361,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5369,1
    - Dst: prov_available
      Src: /src/openssl/test/evp_test.c:5370,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/evp_test.c:5371,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5373,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5376,1
    - Dst: find_key
      Src: /src/openssl/test/evp_test.c:5389,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:5393,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/evp_test.c:5393,1
    - Dst: take_value
      Src: /src/openssl/test/evp_test.c:5395,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5402,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:5407,1
    - Dst: find_test
      Src: /src/openssl/test/evp_test.c:5407,1
    - Dst: EVP_TEST*::meth::init
      Src: /src/openssl/test/evp_test.c:5409,1
    - Dst: TEST_error
      Src: /src/openssl/test/evp_test.c:5410,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5419,1
    - Dst: securitycheck_enabled
      Src: /src/openssl/test/evp_test.c:5422,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5425,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5430,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5431,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5434,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5436,1
    - Dst: take_value
      Src: /src/openssl/test/evp_test.c:5439,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5440,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5442,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5444,1
    - Dst: take_value
      Src: /src/openssl/test/evp_test.c:5447,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5448,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/test/evp_test.c:5449,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:5449,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5450,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5454,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5456,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5458,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5462,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5464,1
    - Dst: atoi
      Src: /src/openssl/test/evp_test.c:5467,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5469,1
    - Dst: strcmp
      Src: /src/openssl/test/evp_test.c:5473,1
    - Dst: parse_bin
      Src: /src/openssl/test/evp_test.c:5474,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5475,1
    - Dst: EVP_TEST*::meth::parse
      Src: /src/openssl/test/evp_test.c:5480,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5483,1
    - Dst: TEST_info
      Src: /src/openssl/test/evp_test.c:5487,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 204
    argCount: 1
    argNames:
    - t
    argTypes:
    - EVP_TEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5270
    functionDepth: 11
    functionLinenumber: 5270
    functionLinenumberEnd: 5497
    functionName: parse
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 25
    functionsReached:
    - find_key
    - atoi
    - test_readstanza
    - parse_bin
    - OPENSSL_free
    - take_value
    - fips_provider_version_match
    - TEST_openssl_errors
    - strcmp
    - TEST_ptr
    - EVP_TEST*::meth::parse
    - EVP_PKEY_new_raw_private_key_ex
    - BIO_eof
    - TEST_info
    - EVP_PKEY_free
    - PEM_read_bio_Parameters_ex
    - find_test
    - prov_available
    - OSSL_set_max_threads
    - OPENSSL_malloc
    - TEST_error
    - strchr
    - PEM_read_bio_PUBKEY_ex
    - EVP_PKEY_new_raw_public_key_ex
    - PEM_read_bio_PrivateKey_ex
    - securitycheck_enabled
    - clear_test
    - EVP_TEST*::meth::init
    - key_unsupported
    linkageType: ''
    returnType: int
    signature: int parse(EVP_TEST *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_get_argument
      Src: /src/openssl/test/evp_test.c:5502,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/evp_test.c:5505,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/evp_test.c:5505,1
    - Dst: test_start_file
      Src: /src/openssl/test/evp_test.c:5507,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5508,1
    - Dst: OSSL_INDICATOR_set_callback
      Src: /src/openssl/test/evp_test.c:5512,1
    - Dst: BIO_eof
      Src: /src/openssl/test/evp_test.c:5513,1
    - Dst: parse
      Src: /src/openssl/test/evp_test.c:5514,1
    - Dst: run_test
      Src: /src/openssl/test/evp_test.c:5519,1
    - Dst: test_end_file
      Src: /src/openssl/test/evp_test.c:5524,1
    - Dst: clear_test
      Src: /src/openssl/test/evp_test.c:5525,1
    - Dst: free_key_list
      Src: /src/openssl/test/evp_test.c:5527,1
    - Dst: free_key_list
      Src: /src/openssl/test/evp_test.c:5529,1
    - Dst: BIO_free
      Src: /src/openssl/test/evp_test.c:5531,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/evp_test.c:5533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5535
      start: 5499
    functionDepth: 12
    functionLinenumber: 5499
    functionLinenumberEnd: 5535
    functionName: run_file_tests
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - test_start_file
    - test_end_file
    - run_test
    - clear_test
    - BIO_free
    - BIO_eof
    - OSSL_INDICATOR_set_callback
    - free_key_list
    - OPENSSL_free
    - test_get_argument
    - TEST_ptr
    - parse
    linkageType: ''
    returnType: int
    signature: int run_file_tests(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
      Src: /src/openssl/test/evp_test.c:5540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5554
      start: 5537
    functionDepth: 1
    functionLinenumber: 5537
    functionLinenumberEnd: 5554
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - OPT_TEST_OPTIONS_WITH_EXTRA_USAGE
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/evp_test.c:5564,1
    - Dst: opt_next
      Src: /src/openssl/test/evp_test.c:5566,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5569,1
    - Dst: evp_test_process_mode
      Src: /src/openssl/test/evp_test.c:5572,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5572,1
    - Dst: opt_int
      Src: /src/openssl/test/evp_test.c:5574,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5574,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5578,1
    - Dst: opt_arg
      Src: /src/openssl/test/evp_test.c:5581,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/evp_test.c:5598,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/evp_test.c:5601,1
    - Dst: fake_rand_start
      Src: /src/openssl/test/evp_test.c:5605,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/evp_test.c:5608,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5610
      start: 5556
    functionDepth: 1
    functionLinenumber: 5556
    functionLinenumberEnd: 5610
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - opt_int
    - fake_rand_start
    - ADD_ALL_TESTS
    - test_get_libctx
    - test_get_argument_count
    - opt_arg
    - getenv
    - evp_test_process_mode
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_finish
      Src: /src/openssl/test/evp_test.c:5614,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_test.c:5615,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/evp_test.c:5616,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/evp_test.c:5617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5618
      start: 5612
    functionDepth: 4
    functionLinenumber: 5612
    functionLinenumberEnd: 5618
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - fake_rand_finish
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5623,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5627,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5631,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5635,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5639,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5643,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5647,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/evp_test.c:5651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5655
      start: 5620
    functionDepth: 3
    functionLinenumber: 5620
    functionLinenumberEnd: 5655
    functionName: is_digest_disabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 6
    functionsReached:
    - HAS_CASE_PREFIX
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int is_digest_disabled(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5660,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5664,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5668,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5672,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5678,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5682,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5657
    functionDepth: 1
    functionLinenumber: 5657
    functionLinenumberEnd: 5690
    functionName: is_pkey_disabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 3
    functionsReached:
    - HAS_CASE_SUFFIX
    - HAS_CASE_PREFIX
    linkageType: ''
    returnType: int
    signature: int is_pkey_disabled(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5695,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5696,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5700,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5704,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5712
      start: 5692
    functionDepth: 1
    functionLinenumber: 5692
    functionLinenumberEnd: 5712
    functionName: is_mac_disabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 2
    functionsReached:
    - HAS_CASE_PREFIX
    linkageType: ''
    returnType: int
    signature: int is_mac_disabled(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5716,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5724
      start: 5713
    functionDepth: 1
    functionLinenumber: 5713
    functionLinenumberEnd: 5724
    functionName: is_kdf_disabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 3
    functionsReached:
    - HAS_CASE_SUFFIX
    linkageType: ''
    returnType: int
    signature: int is_kdf_disabled(const char *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5729,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5733,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5737,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5741,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5745,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5749,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5753,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5755,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5759,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5763,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5767,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5771,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5775,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5779,1
    - Dst: HAS_CASE_SUFFIX
      Src: /src/openssl/test/evp_test.c:5783,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/test/evp_test.c:5787,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5791
      start: 5726
    functionDepth: 1
    functionLinenumber: 5726
    functionLinenumberEnd: 5791
    functionName: is_cipher_disabled
    functionSourceFile: /src/openssl/test/evp_test.c
    functionUses: 5
    functionsReached:
    - HAS_CASE_SUFFIX
    - HAS_CASE_PREFIX
    linkageType: ''
    returnType: int
    signature: int is_cipher_disabled(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_lcidm_test.c:32,1
    - Dst: ossl_quic_lcidm_new
      Src: /src/openssl/test/quic_lcidm_test.c:32,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:35,1
    - Dst: ossl_quic_lcidm_get_lcid_len
      Src: /src/openssl/test/quic_lcidm_test.c:35,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:38,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/test/quic_lcidm_test.c:38,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:39,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/test/quic_lcidm_test.c:39,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:40,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/test/quic_lcidm_test.c:40,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:41,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:41,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:42,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/test/quic_lcidm_test.c:42,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:43,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/test/quic_lcidm_test.c:43,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:44,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:44,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:45,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:45,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:46,1
    - Dst: ossl_quic_lcidm_retire_odcid
      Src: /src/openssl/test/quic_lcidm_test.c:46,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:47,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:47,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:48,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/test/quic_lcidm_test.c:48,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:49,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/test/quic_lcidm_test.c:49,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:50,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:50,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:52,1
    - Dst: ossl_quic_lcidm_generate_initial
      Src: /src/openssl/test/quic_lcidm_test.c:52,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:53,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:53,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:54,1
    - Dst: ossl_quic_lcidm_generate_initial
      Src: /src/openssl/test/quic_lcidm_test.c:54,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:55,1
    - Dst: ossl_quic_lcidm_generate
      Src: /src/openssl/test/quic_lcidm_test.c:55,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:56,1
    - Dst: ossl_quic_lcidm_generate
      Src: /src/openssl/test/quic_lcidm_test.c:56,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:57,1
    - Dst: ossl_quic_lcidm_generate
      Src: /src/openssl/test/quic_lcidm_test.c:57,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:58,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:59,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/test/quic_lcidm_test.c:59,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_lcidm_test.c:60,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:61,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:62,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/test/quic_lcidm_test.c:62,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_lcidm_test.c:64,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:66,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/test/quic_lcidm_test.c:66,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_lcidm_test.c:68,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:70,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/test/quic_lcidm_test.c:70,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/quic_lcidm_test.c:72,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:73,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:74,1
    - Dst: ossl_quic_lcidm_retire
      Src: /src/openssl/test/quic_lcidm_test.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:76,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:77,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:78,1
    - Dst: ossl_quic_lcidm_retire
      Src: /src/openssl/test/quic_lcidm_test.c:78,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:80,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:81,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:82,1
    - Dst: ossl_quic_lcidm_retire
      Src: /src/openssl/test/quic_lcidm_test.c:82,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:84,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:85,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:85,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:86,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/test/quic_lcidm_test.c:86,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_lcidm_test.c:88,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/test/quic_lcidm_test.c:88,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:90,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/test/quic_lcidm_test.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_lcidm_test.c:92,1
    - Dst: ossl_quic_lcidm_cull
      Src: /src/openssl/test/quic_lcidm_test.c:92,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_lcidm_test.c:93,1
    - Dst: ossl_quic_lcidm_get_num_active_lcid
      Src: /src/openssl/test/quic_lcidm_test.c:93,1
    - Dst: ossl_quic_lcidm_free
      Src: /src/openssl/test/quic_lcidm_test.c:98,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 100
    functionName: test_lcidm
    functionSourceFile: /src/openssl/test/quic_lcidm_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_lcidm_new
    - ossl_quic_lcidm_free
    - ossl_quic_lcidm_generate
    - ossl_quic_lcidm_get_num_active_lcid
    - ossl_quic_lcidm_generate_initial
    - ossl_quic_lcidm_cull
    - TEST_uint64_t_eq
    - TEST_false
    - ossl_quic_lcidm_retire_odcid
    - ossl_quic_lcidm_get_lcid_len
    - ossl_quic_lcidm_retire
    - ossl_quic_lcidm_lookup
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - TEST_ptr_eq
    - ossl_quic_lcidm_enrol_odcid
    linkageType: ''
    returnType: int
    signature: int test_lcidm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_lcidm_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_lcidm_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/quic_stream_test.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ref
    - ref_len
    - iov
    - iov_len
    argTypes:
    - unsigned char*
    - size_t
    - OSSL_QTX_IOVEC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 33
    functionName: compare_iov
    functionSourceFile: /src/openssl/test/quic_stream_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int compare_iov(const unsigned char *ref, size_t ref_len,\n                       const
      OSSL_QTX_IOVEC *iov, size_t iov_len)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:48,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/test/quic_stream_test.c:48,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:52,1
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/test/quic_stream_test.c:52,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:56,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:57,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:57,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:62,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_stream_test.c:62,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:64,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:68,1
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/test/quic_stream_test.c:68,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:73,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:73,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_stream_test.c:75,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:76,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:77,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:78,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:81,1
    - Dst: compare_iov
      Src: /src/openssl/test/quic_stream_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:85,1
    - Dst: ossl_quic_sstream_mark_transmitted
      Src: /src/openssl/test/quic_stream_test.c:85,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:90,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:90,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_stream_test.c:92,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:93,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:94,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:95,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:98,1
    - Dst: compare_iov
      Src: /src/openssl/test/quic_stream_test.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:101,1
    - Dst: ossl_quic_sstream_mark_transmitted
      Src: /src/openssl/test/quic_stream_test.c:101,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:105,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:106,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:106,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:111,1
    - Dst: ossl_quic_sstream_mark_lost
      Src: /src/openssl/test/quic_stream_test.c:111,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:115,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:116,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:116,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/quic_stream_test.c:118,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:119,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:120,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:121,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:124,1
    - Dst: compare_iov
      Src: /src/openssl/test/quic_stream_test.c:124,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:128,1
    - Dst: ossl_quic_sstream_mark_transmitted
      Src: /src/openssl/test/quic_stream_test.c:128,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:132,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:133,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:133,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:137,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_stream_test.c:137,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:141,1
    - Dst: ossl_quic_sstream_mark_acked
      Src: /src/openssl/test/quic_stream_test.c:141,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:142,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_stream_test.c:142,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:146,1
    - Dst: ossl_quic_sstream_mark_acked
      Src: /src/openssl/test/quic_stream_test.c:146,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:147,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_stream_test.c:147,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:150,1
    - Dst: ossl_quic_sstream_mark_acked
      Src: /src/openssl/test/quic_stream_test.c:150,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:151,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_stream_test.c:151,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/test/quic_stream_test.c:155,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:160,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:160,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:162,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:163,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:164,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:169,1
    - Dst: ossl_quic_sstream_mark_transmitted_fin
      Src: /src/openssl/test/quic_stream_test.c:169,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:173,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:174,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:174,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:179,1
    - Dst: ossl_quic_sstream_mark_lost_fin
      Src: /src/openssl/test/quic_stream_test.c:179,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:184,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:185,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:185,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:187,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:189,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:194,1
    - Dst: ossl_quic_sstream_mark_transmitted_fin
      Src: /src/openssl/test/quic_stream_test.c:194,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:198,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:199,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:204,1
    - Dst: ossl_quic_sstream_mark_acked_fin
      Src: /src/openssl/test/quic_stream_test.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:207,1
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/test/quic_stream_test.c:207,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/test/quic_stream_test.c:212,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 214
    functionName: test_sstream_simple
    functionSourceFile: /src/openssl/test/quic_stream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_new
    - TEST_ptr
    - TEST_size_t_gt
    - ossl_quic_sstream_append
    - ossl_quic_sstream_mark_acked
    - TEST_uint64_t_eq
    - TEST_true
    - ossl_quic_sstream_mark_transmitted_fin
    - compare_iov
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_sstream_mark_lost
    - ossl_quic_sstream_is_totally_acked
    - ossl_quic_sstream_get_buffer_used
    - TEST_size_t_eq
    - ossl_quic_sstream_mark_transmitted
    - ossl_quic_sstream_fin
    - TEST_false
    - ossl_quic_sstream_mark_lost_fin
    - OSSL_NELEM
    - ossl_quic_sstream_free
    - ossl_quic_sstream_mark_acked_fin
    linkageType: ''
    returnType: int
    signature: int test_sstream_simple(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:228,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/test/quic_stream_test.c:228,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:231,1
    - Dst: ossl_quic_sstream_get_buffer_size
      Src: /src/openssl/test/quic_stream_test.c:231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:234,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic_stream_test.c:234,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:237,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_stream_test.c:237,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:240,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_stream_test.c:240,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:243,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_stream_test.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:249,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_stream_test.c:249,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:252,1
    - Dst: ossl_quic_sstream_mark_transmitted
      Src: /src/openssl/test/quic_stream_test.c:252,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:254,1
    - Dst: ossl_quic_sstream_mark_acked
      Src: /src/openssl/test/quic_stream_test.c:254,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:262,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:267,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:268,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/test/quic_stream_test.c:268,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_stream_test.c:271,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:276,1
    - Dst: ossl_quic_sstream_get_buffer_used
      Src: /src/openssl/test/quic_stream_test.c:276,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:277,1
    - Dst: ossl_quic_sstream_get_buffer_avail
      Src: /src/openssl/test/quic_stream_test.c:277,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:288,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:291,1
    - Dst: ossl_quic_sstream_mark_transmitted
      Src: /src/openssl/test/quic_stream_test.c:291,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:300,1
    - Dst: ossl_quic_sstream_set_buffer_size
      Src: /src/openssl/test/quic_stream_test.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:301,1
    - Dst: ossl_quic_sstream_set_buffer_size
      Src: /src/openssl/test/quic_stream_test.c:301,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_stream_test.c:307,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:308,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/test/quic_stream_test.c:308,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/quic_stream_test.c:314,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_stream_test.c:317,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/quic_stream_test.c:322,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_stream_test.c:328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_stream_test.c:333,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_stream_test.c:334,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_stream_test.c:335,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_stream_test.c:336,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/test/quic_stream_test.c:337,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 85
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 339
    functionName: test_sstream_bulk
    functionSourceFile: /src/openssl/test/quic_stream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_new
    - ossl_quic_sstream_set_buffer_size
    - memcpy
    - OPENSSL_free
    - test_random
    - TEST_ptr
    - OPENSSL_zalloc
    - ossl_quic_sstream_append
    - ossl_quic_sstream_mark_acked
    - TEST_uint64_t_eq
    - TEST_true
    - OPENSSL_malloc
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_sstream_get_buffer_size
    - ossl_quic_sstream_get_buffer_avail
    - ossl_quic_sstream_get_buffer_used
    - TEST_size_t_eq
    - ossl_quic_sstream_mark_transmitted
    - TEST_size_t_le
    - OSSL_NELEM
    - ossl_quic_sstream_free
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_sstream_bulk(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_rstream_get_record
      Src: /src/openssl/test/quic_stream_test.c:351,1
    - Dst: memcpy
      Src: /src/openssl/test/quic_stream_test.c:359,1
    - Dst: ossl_quic_rstream_release_record
      Src: /src/openssl/test/quic_stream_test.c:364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - qrs
    - buf
    - size
    - readbytes
    - fin
    argTypes:
    - QUIC_RSTREAM*
    - unsigned char*
    - size_t
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 371
    functionName: test_single_copy_read
    functionSourceFile: /src/openssl/test/quic_stream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_get_record
    - memcpy
    - ossl_quic_rstream_release_record
    linkageType: ''
    returnType: int
    signature: "int test_single_copy_read(QUIC_RSTREAM *qrs,\n                                 unsigned
      char *buf, size_t size,\n                                 size_t *readbytes,
      int *fin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:389,1
    - Dst: ossl_quic_rstream_new
      Src: /src/openssl/test/quic_stream_test.c:389,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:392,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:392,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:394,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:394,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:398,1
    - Dst: ossl_quic_rstream_peek
      Src: /src/openssl/test/quic_stream_test.c:398,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:400,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:401,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:402,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:402,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:406,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:406,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:408,1
    - Dst: ossl_quic_rstream_peek
      Src: /src/openssl/test/quic_stream_test.c:408,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:410,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:411,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_stream_test.c:412,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:413,1
    - Dst: ossl_quic_rstream_move_to_rbuf
      Src: /src/openssl/test/quic_stream_test.c:413,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:415,1
    - Dst: ossl_quic_rstream_resize_rbuf
      Src: /src/openssl/test/quic_stream_test.c:415,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:417,1
    - Dst: ossl_quic_rstream_move_to_rbuf
      Src: /src/openssl/test/quic_stream_test.c:417,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:418,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:418,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:421,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:421,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:425,1
    - Dst: ossl_quic_rstream_peek
      Src: /src/openssl/test/quic_stream_test.c:425,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:427,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:428,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_stream_test.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:430,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:430,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:434,1
    - Dst: ossl_quic_rstream_available
      Src: /src/openssl/test/quic_stream_test.c:434,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:435,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:436,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:437,1
    - Dst: read_fn
      Src: /src/openssl/test/quic_stream_test.c:437,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:438,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:439,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_stream_test.c:440,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:441,1
    - Dst: read_fn
      Src: /src/openssl/test/quic_stream_test.c:441,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:442,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:443,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_stream_test.c:444,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:445,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:445,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:450,1
    - Dst: ossl_quic_rstream_resize_rbuf
      Src: /src/openssl/test/quic_stream_test.c:450,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:452,1
    - Dst: ossl_quic_rstream_move_to_rbuf
      Src: /src/openssl/test/quic_stream_test.c:452,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:453,1
    - Dst: read_fn
      Src: /src/openssl/test/quic_stream_test.c:453,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_stream_test.c:454,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:455,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_stream_test.c:456,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:457,1
    - Dst: read_fn
      Src: /src/openssl/test/quic_stream_test.c:457,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:459,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:460,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_stream_test.c:461,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:462,1
    - Dst: ossl_quic_rstream_move_to_rbuf
      Src: /src/openssl/test/quic_stream_test.c:462,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:463,1
    - Dst: read_fn
      Src: /src/openssl/test/quic_stream_test.c:463,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:464,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:465,1
    - Dst: ossl_quic_rstream_free
      Src: /src/openssl/test/quic_stream_test.c:471,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 12
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 473
    functionName: test_rstream_simple
    functionSourceFile: /src/openssl/test/quic_stream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_queue_data
    - ossl_quic_rstream_available
    - ossl_quic_rstream_move_to_rbuf
    - TEST_false
    - ossl_quic_rstream_free
    - TEST_size_t_eq
    - TEST_true
    - ossl_quic_rstream_peek
    - TEST_ptr
    - TEST_mem_eq
    - read_fn
    - ossl_quic_rstream_resize_rbuf
    - ossl_quic_rstream_new
    linkageType: ''
    returnType: int
    signature: int test_rstream_simple(int idx)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:486,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_stream_test.c:486,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:487,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/quic_stream_test.c:487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_stream_test.c:488,1
    - Dst: ossl_quic_rstream_new
      Src: /src/openssl/test/quic_stream_test.c:488,1
    - Dst: ossl_quic_rstream_set_cleanse
      Src: /src/openssl/test/quic_stream_test.c:492,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:495,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:502,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:509,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:509,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:516,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:520,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:523,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:529,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:537,1
    - Dst: test_single_copy_read
      Src: /src/openssl/test/quic_stream_test.c:537,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:540,1
    - Dst: ossl_quic_rstream_read
      Src: /src/openssl/test/quic_stream_test.c:540,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/quic_stream_test.c:545,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/quic_stream_test.c:546,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_stream_test.c:548,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:553,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:554,1
    - Dst: ossl_quic_rstream_resize_rbuf
      Src: /src/openssl/test/quic_stream_test.c:554,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:556,1
    - Dst: ossl_quic_rstream_move_to_rbuf
      Src: /src/openssl/test/quic_stream_test.c:556,1
    - Dst: test_random
      Src: /src/openssl/test/quic_stream_test.c:558,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:561,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/test/quic_stream_test.c:561,1
    - Dst: TEST_info
      Src: /src/openssl/test/quic_stream_test.c:567,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/quic_stream_test.c:571,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:577,1
    - Dst: test_single_copy_read
      Src: /src/openssl/test/quic_stream_test.c:577,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:580,1
    - Dst: ossl_quic_rstream_read
      Src: /src/openssl/test/quic_stream_test.c:580,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_stream_test.c:585,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_stream_test.c:585,1
    - Dst: ossl_quic_rstream_free
      Src: /src/openssl/test/quic_stream_test.c:592,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_stream_test.c:593,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_stream_test.c:594,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 88
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 596
    functionName: test_rstream_random
    functionSourceFile: /src/openssl/test/quic_stream_test.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_queue_data
    - OPENSSL_free
    - test_random
    - TEST_ptr
    - ossl_quic_rstream_new
    - ossl_quic_rstream_set_cleanse
    - ossl_quic_rstream_move_to_rbuf
    - TEST_info
    - TEST_size_t_ge
    - TEST_true
    - ossl_quic_rstream_resize_rbuf
    - OPENSSL_malloc
    - TEST_uchar_eq
    - test_single_copy_read
    - TEST_size_t_eq
    - ossl_quic_rstream_read
    - TEST_size_t_le
    - ossl_quic_rstream_free
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_rstream_random(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/quic_stream_test.c:600,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_stream_test.c:601,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_stream_test.c:602,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_stream_test.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_stream_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_tserver_test.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: is_want
    functionSourceFile: /src/openssl/test/quic_tserver_test.c
    functionUses: 2
    functionsReached:
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int is_want(SSL *s, int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/quic_tserver_test.c:40,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_tserver_test.c:41,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_tserver_test.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: fake_now
    functionSourceFile: /src/openssl/test/quic_tserver_test.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - ossl_time_zero
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/test/quic_tserver_test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: real_now
    functionSourceFile: /src/openssl/test/quic_tserver_test.c
    functionUses: 0
    functionsReached:
    - ossl_time_now
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME real_now(void *arg)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/quic_tserver_test.c:80,1
    - Dst: htonl
      Src: /src/openssl/test/quic_tserver_test.c:85,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quic_tserver_test.c:88,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_tserver_test.c:89,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:92,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_tserver_test.c:92,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_tserver_test.c:95,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quic_tserver_test.c:95,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:98,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quic_tserver_test.c:98,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:101,1
    - Dst: BIO_bind
      Src: /src/openssl/test/quic_tserver_test.c:101,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:105,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/quic_tserver_test.c:105,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/quic_tserver_test.c:108,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/quic_tserver_test.c:108,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_tserver_test.c:111,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/quic_tserver_test.c:111,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/quic_tserver_test.c:114,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_tserver_test.c:117,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_tserver_test.c:126,1
    - Dst: ossl_quic_tserver_new
      Src: /src/openssl/test/quic_tserver_test.c:126,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_tserver_test.c:128,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:141,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/quic_tserver_test.c:141,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quic_tserver_test.c:147,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/quic_tserver_test.c:148,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:151,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic_tserver_test.c:151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_tserver_test.c:154,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/quic_tserver_test.c:154,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/quic_tserver_test.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_tserver_test.c:160,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quic_tserver_test.c:160,1
    - Dst: OSSL_QUIC_client_thread_method
      Src: /src/openssl/test/quic_tserver_test.c:161,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quic_tserver_test.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_tserver_test.c:165,1
    - Dst: SSL_new
      Src: /src/openssl/test/quic_tserver_test.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:169,1
    - Dst: ossl_quic_set_override_now_cb
      Src: /src/openssl/test/quic_tserver_test.c:169,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_tserver_test.c:173,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quic_tserver_test.c:173,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/quic_tserver_test.c:178,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/quic_tserver_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:184,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/quic_tserver_test.c:184,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/quic_tserver_test.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:193,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/quic_tserver_test.c:193,1
    - Dst: real_now
      Src: /src/openssl/test/quic_tserver_test.c:200,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_tserver_test.c:203,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/quic_tserver_test.c:203,1
    - Dst: real_now
      Src: /src/openssl/test/quic_tserver_test.c:203,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_tserver_test.c:204,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_tserver_test.c:205,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quic_tserver_test.c:210,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:211,1
    - Dst: is_want
      Src: /src/openssl/test/quic_tserver_test.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:224,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/quic_tserver_test.c:224,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_tserver_test.c:226,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_tserver_test.c:226,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_tserver_test.c:227,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_tserver_test.c:232,1
    - Dst: SSL_write
      Src: /src/openssl/test/quic_tserver_test.c:232,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:236,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/quic_tserver_test.c:236,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quic_tserver_test.c:243,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:246,1
    - Dst: ossl_quic_tserver_has_read_ended
      Src: /src/openssl/test/quic_tserver_test.c:246,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_tserver_test.c:249,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/quic_tserver_test.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:262,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quic_tserver_test.c:262,1
    - Dst: ossl_quic_tserver_conclude
      Src: /src/openssl/test/quic_tserver_test.c:270,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_tserver_test.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:278,1
    - Dst: is_want
      Src: /src/openssl/test/quic_tserver_test.c:278,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_tserver_test.c:284,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic_tserver_test.c:295,1
    - Dst: TEST_false
      Src: /src/openssl/test/quic_tserver_test.c:296,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_tserver_test.c:303,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_tserver_test.c:304,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic_tserver_test.c:304,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:310,1
    - Dst: ossl_quic_tserver_is_connected
      Src: /src/openssl/test/quic_tserver_test.c:310,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:327,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/quic_tserver_test.c:327,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/quic_tserver_test.c:329,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/quic_tserver_test.c:329,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/quic_tserver_test.c:330,1
    - Dst: ossl_quic_conn_force_assist_thread_wake
      Src: /src/openssl/test/quic_tserver_test.c:333,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:339,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/test/quic_tserver_test.c:339,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/quic_tserver_test.c:341,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/quic_tserver_test.c:341,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/test/quic_tserver_test.c:342,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/quic_tserver_test.c:343,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:354,1
    - Dst: ossl_quic_tserver_is_connected
      Src: /src/openssl/test/quic_tserver_test.c:354,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quic_tserver_test.c:367,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quic_tserver_test.c:370,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/quic_tserver_test.c:385,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_tserver_test.c:389,1
    - Dst: SSL_inject_net_dgram
      Src: /src/openssl/test/quic_tserver_test.c:389,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_tserver_test.c:398,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_tserver_test.c:399,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quic_tserver_test.c:400,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic_tserver_test.c:401,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_tserver_test.c:402,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_tserver_test.c:403,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_tserver_test.c:404,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic_tserver_test.c:405,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_tserver_test.c:407,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic_tserver_test.c:409,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 243
    argCount: 3
    argNames:
    - use_thread_assist
    - use_fake_time
    - use_inject
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 411
    functionName: do_test
    functionSourceFile: /src/openssl/test/quic_tserver_test.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_new
    - SSL_set_alpn_protos
    - ossl_ms2time
    - ossl_time_zero
    - ossl_quic_conn_force_assist_thread_wake
    - SSL_set0_rbio
    - SSL_set_blocking_mode
    - OSSL_sleep
    - SSL_CTX_new
    - BIO_ADDR_rawmake
    - TEST_ptr
    - SSL_read_ex
    - ossl_quic_tserver_new
    - SSL_set0_wbio
    - SSL_get_error
    - SSL_CTX_free
    - BIO_new_bio_dgram_pair
    - OSSL_QUIC_client_thread_method
    - CRYPTO_THREAD_write_lock
    - BIO_socket_nbio
    - ossl_quic_tserver_write
    - TEST_true
    - OSSL_QUIC_client_method
    - BIO_ADDR_rawport
    - SSL_get_event_timeout
    - TEST_error
    - BIO_closesocket
    - SSL_free
    - SSL_handle_events
    - BIO_free
    - ossl_quic_tserver_tick
    - TEST_skip
    - BIO_socket
    - ossl_time_from_timeval
    - SSL_new
    - ossl_time_subtract
    - CRYPTO_THREAD_unlock
    - BIO_recvmmsg
    - SSL_stream_conclude
    - is_want
    - ossl_quic_tserver_free
    - ossl_time_add
    - ossl_quic_tserver_read
    - ossl_quic_tserver_has_read_ended
    - htonl
    - BIO_dgram_set_peer
    - real_now
    - BIO_up_ref
    - ossl_quic_tserver_conclude
    - SSL_inject_net_dgram
    - TEST_size_t_le
    - BIO_ADDR_free
    - TEST_int_ge
    - BIO_bind
    - TEST_false
    - TEST_int_eq
    - ossl_time_compare
    - SSL_connect
    - SSL_write
    - ossl_quic_set_override_now_cb
    - BIO_sock_info
    - TEST_mem_eq
    - BIO_new_dgram
    - ossl_quic_tserver_is_connected
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int do_test(int use_thread_assist, int use_fake_time, int use_inject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/openssl/test/quic_tserver_test.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 413
    functionDepth: 7
    functionLinenumber: 413
    functionLinenumberEnd: 429
    functionName: test_tserver
    functionSourceFile: /src/openssl/test/quic_tserver_test.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: int
    signature: int test_tserver(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/quic_tserver_test.c:435,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_tserver_test.c:436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_tserver_test.c:440,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quic_tserver_test.c:440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_tserver_test.c:441,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quic_tserver_test.c:441,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/quic_tserver_test.c:444,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_tserver_test.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 449
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_tserver_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/provider_default_search_path_test.c:21,1
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/openssl/test/provider_default_search_path_test.c:21,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_default_search_path_test.c:22,1
    - Dst: OSSL_PROVIDER_get0_default_search_path
      Src: /src/openssl/test/provider_default_search_path_test.c:22,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_default_search_path_test.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 7
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: test_default_libctx
    functionSourceFile: /src/openssl/test/provider_default_search_path_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_true
    - OSSL_PROVIDER_get0_default_search_path
    - TEST_ptr
    - OSSL_PROVIDER_set_default_search_path
    linkageType: ''
    returnType: int
    signature: int test_default_libctx(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/provider_default_search_path_test.c:40,1
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/openssl/test/provider_default_search_path_test.c:40,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_default_search_path_test.c:41,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_default_search_path_test.c:41,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_default_search_path_test.c:42,1
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/openssl/test/provider_default_search_path_test.c:42,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_default_search_path_test.c:43,1
    - Dst: OSSL_PROVIDER_get0_default_search_path
      Src: /src/openssl/test/provider_default_search_path_test.c:43,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_default_search_path_test.c:44,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_default_search_path_test.c:45,1
    - Dst: OSSL_PROVIDER_get0_default_search_path
      Src: /src/openssl/test/provider_default_search_path_test.c:45,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_default_search_path_test.c:46,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/provider_default_search_path_test.c:47,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_default_search_path_test.c:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: test_explicit_libctx
    functionSourceFile: /src/openssl/test/provider_default_search_path_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - TEST_str_eq
    - TEST_true
    - OSSL_LIB_CTX_new
    - TEST_str_ne
    - OSSL_PROVIDER_get0_default_search_path
    - TEST_ptr
    - OSSL_PROVIDER_set_default_search_path
    linkageType: ''
    returnType: int
    signature: int test_explicit_libctx(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_default_search_path_test.c:55,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_default_search_path_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/provider_default_search_path_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/servername_test.c:49,1
    - Dst: memset
      Src: /src/openssl/test/servername_test.c:50,1
    - Dst: memset
      Src: /src/openssl/test/servername_test.c:51,1
    - Dst: memset
      Src: /src/openssl/test/servername_test.c:52,1
    - Dst: memset
      Src: /src/openssl/test/servername_test.c:53,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/servername_test.c:55,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/servername_test.c:55,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:56,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/servername_test.c:56,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/servername_test.c:58,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:60,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/servername_test.c:60,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:62,1
    - Dst: PACKET_forward
      Src: /src/openssl/test/servername_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:65,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/servername_test.c:65,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:67,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:69,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/test/servername_test.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:71,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:71,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/servername_test.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:76,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/servername_test.c:76,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:77,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:77,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:80,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:80,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/servername_test.c:81,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/servername_test.c:81,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:82,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/servername_test.c:82,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/servername_test.c:83,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:84,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/servername_test.c:84,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/servername_test.c:85,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/servername_test.c:85,1
    - Dst: TEST_false
      Src: /src/openssl/test/servername_test.c:86,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/openssl/test/servername_test.c:86,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:87,1
    - Dst: PACKET_strndup
      Src: /src/openssl/test/servername_test.c:87,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 25
    argCount: 2
    argNames:
    - bio
    - sni
    argTypes:
    - BIO*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 95
    functionName: get_sni_from_client_hello
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - TEST_long_ge
    - memset
    - PACKET_buf_init
    - TEST_size_t_le
    - PACKET_contains_zero_byte
    - PACKET_get_length_prefixed_1
    - PACKET_get_net_2
    - TEST_false
    - PACKET_as_length_prefixed_2
    - PACKET_get_1
    - PACKET_remaining
    - BIO_get_mem_data
    - PACKET_forward
    - TEST_true
    - TEST_size_t_ne
    - PACKET_strndup
    - PACKET_get_length_prefixed_2
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int get_sni_from_client_hello(BIO *bio, char **sni)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/servername_test.c:107,1
    - Dst: TLS_method
      Src: /src/openssl/test/servername_test.c:107,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:108,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:112,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/servername_test.c:112,1
    - Dst: SSL_new
      Src: /src/openssl/test/servername_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:116,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/servername_test.c:120,1
    - Dst: BIO_new
      Src: /src/openssl/test/servername_test.c:122,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/servername_test.c:122,1
    - Dst: BIO_new
      Src: /src/openssl/test/servername_test.c:123,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/servername_test.c:123,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:124,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:124,1
    - Dst: BIO_free
      Src: /src/openssl/test/servername_test.c:125,1
    - Dst: BIO_free
      Src: /src/openssl/test/servername_test.c:126,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/servername_test.c:130,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/servername_test.c:132,1
    - Dst: SSL_connect
      Src: /src/openssl/test/servername_test.c:132,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:135,1
    - Dst: get_sni_from_client_hello
      Src: /src/openssl/test/servername_test.c:135,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/servername_test.c:138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/servername_test.c:143,1
    - Dst: SSL_free
      Src: /src/openssl/test/servername_test.c:144,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/servername_test.c:145,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 97
    functionDepth: 5
    functionLinenumber: 97
    functionLinenumberEnd: 147
    functionName: client_setup_sni_before_state
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - get_sni_from_client_hello
    - SSL_CTX_free
    - TLS_method
    - SSL_free
    - TEST_str_eq
    - BIO_free
    - TEST_int_le
    - SSL_set_tlsext_host_name
    - SSL_new
    - SSL_CTX_new
    - BIO_s_mem
    - SSL_connect
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - SSL_CTX_set_max_proto_version
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int client_setup_sni_before_state(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/servername_test.c:159,1
    - Dst: TLS_method
      Src: /src/openssl/test/servername_test.c:159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:164,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/servername_test.c:164,1
    - Dst: SSL_new
      Src: /src/openssl/test/servername_test.c:167,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:168,1
    - Dst: BIO_new
      Src: /src/openssl/test/servername_test.c:171,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/servername_test.c:171,1
    - Dst: BIO_new
      Src: /src/openssl/test/servername_test.c:172,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/servername_test.c:172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:173,1
    - Dst: BIO_free
      Src: /src/openssl/test/servername_test.c:174,1
    - Dst: BIO_free
      Src: /src/openssl/test/servername_test.c:175,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/servername_test.c:179,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/servername_test.c:180,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/servername_test.c:183,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/servername_test.c:185,1
    - Dst: SSL_connect
      Src: /src/openssl/test/servername_test.c:185,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:188,1
    - Dst: get_sni_from_client_hello
      Src: /src/openssl/test/servername_test.c:188,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/servername_test.c:191,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/servername_test.c:196,1
    - Dst: SSL_free
      Src: /src/openssl/test/servername_test.c:197,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/servername_test.c:198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 200
    functionName: client_setup_sni_after_state
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - OPENSSL_free
    - SSL_CTX_new
    - BIO_s_mem
    - TEST_ptr
    - BIO_new
    - SSL_CTX_free
    - SSL_set_connect_state
    - SSL_set_tlsext_host_name
    - TEST_true
    - SSL_CTX_set_max_proto_version
    - SSL_set_bio
    - get_sni_from_client_hello
    - TLS_method
    - SSL_free
    - TEST_str_eq
    - BIO_free
    - SSL_new
    - SSL_connect
    linkageType: ''
    returnType: int
    signature: int client_setup_sni_after_state(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:208,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/servername_test.c:208,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/servername_test.c:208,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/servername_test.c:209,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:212,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/servername_test.c:212,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/servername_test.c:217,1
    - Dst: TEST_true
      Src: /src/openssl/test/servername_test.c:219,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/servername_test.c:219,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/servername_test.c:222,1
    - Dst: SSL_get_servername
      Src: /src/openssl/test/servername_test.c:222,1
    - Dst: SSL_free
      Src: /src/openssl/test/servername_test.c:230,1
    - Dst: SSL_free
      Src: /src/openssl/test/servername_test.c:231,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/servername_test.c:232,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/servername_test.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 236
    functionName: server_setup_sni
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_free
    - TEST_ptr_null
    - SSL_free
    - SSL_get_servername
    - SSL_set_tlsext_host_name
    - create_ssl_objects
    - TLS_server_method
    - TEST_true
    - create_ssl_ctx_pair
    - TLS_client_method
    linkageType: ''
    returnType: int
    signature: int server_setup_sni(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: test_servername
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_servername(int test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/servername_test.c:257,1
    - Dst: TEST_error
      Src: /src/openssl/test/servername_test.c:258,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:262,1
    - Dst: test_get_argument
      Src: /src/openssl/test/servername_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/servername_test.c:263,1
    - Dst: test_get_argument
      Src: /src/openssl/test/servername_test.c:263,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/servername_test.c:266,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/servername_test.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/servername_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/siphash_internal_test.c:183,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/siphash_internal_test.c:188,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:198,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:199,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:199,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:202,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:202,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/siphash_internal_test.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:207,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:207,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:208,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:208,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:210,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:211,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:212,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:212,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/siphash_internal_test.c:215,1
    - Dst: TEST_info
      Src: /src/openssl/test/siphash_internal_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:224,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:224,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:225,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:225,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:227,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:229,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:229,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/siphash_internal_test.c:232,1
    - Dst: TEST_info
      Src: /src/openssl/test/siphash_internal_test.c:233,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:238,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:238,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:239,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:239,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:241,1
    - Dst: SipHash_Update
      Src: /src/openssl/test/siphash_internal_test.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:243,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:243,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/siphash_internal_test.c:246,1
    - Dst: TEST_info
      Src: /src/openssl/test/siphash_internal_test.c:247,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 255
    functionName: test_siphash
    functionSourceFile: /src/openssl/test/siphash_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_le
    - SipHash_Init
    - SipHash_Update
    - SipHash_set_hash_size
    - TEST_info
    - TEST_true
    - TEST_mem_eq
    - SipHash_Final
    linkageType: ''
    returnType: int
    signature: int test_siphash(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/siphash_internal_test.c:264,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:264,1
    - Dst: TEST_false
      Src: /src/openssl/test/siphash_internal_test.c:265,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:265,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:267,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:267,1
    - Dst: TEST_false
      Src: /src/openssl/test/siphash_internal_test.c:268,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:268,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:269,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:269,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:270,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:270,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/siphash_internal_test.c:271,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:271,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:274,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:274,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:275,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:275,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/siphash_internal_test.c:276,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:276,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:277,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:277,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:280,1
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/test/siphash_internal_test.c:280,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:281,1
    - Dst: SipHash_Init
      Src: /src/openssl/test/siphash_internal_test.c:281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/siphash_internal_test.c:282,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:282,1
    - Dst: TEST_true
      Src: /src/openssl/test/siphash_internal_test.c:283,1
    - Dst: SipHash_Final
      Src: /src/openssl/test/siphash_internal_test.c:283,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 284
    functionName: test_siphash_basic
    functionSourceFile: /src/openssl/test/siphash_internal_test.c
    functionUses: 0
    functionsReached:
    - SipHash_Init
    - SipHash_set_hash_size
    - TEST_false
    - TEST_int_eq
    - TEST_true
    - SipHash_Final
    linkageType: ''
    returnType: int
    signature: int test_siphash_basic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/siphash_internal_test.c:288,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/siphash_internal_test.c:289,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/siphash_internal_test.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/siphash_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qtest_fault_prepend_frame
      Src: /src/openssl/test/quic_newcid_test.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - fault
    - hdr
    - buf
    - len
    - cbarg
    argTypes:
    - QTEST_FAULT*
    - QUIC_PKT_HDR*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: add_ncid_frame_cb
    functionSourceFile: /src/openssl/test/quic_newcid_test.c
    functionUses: 0
    functionsReached:
    - qtest_fault_prepend_frame
    linkageType: ''
    returnType: int
    signature: "int add_ncid_frame_cb(QTEST_FAULT *fault, QUIC_PKT_HDR *hdr,\n                             unsigned
      char *buf, size_t len, void *cbarg)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quic_newcid_test.c:52,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quic_newcid_test.c:52,1
    - Dst: strlen
      Src: /src/openssl/test/quic_newcid_test.c:56,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_newcid_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:70,1
    - Dst: qtest_create_quic_objects
      Src: /src/openssl/test/quic_newcid_test.c:70,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:74,1
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/quic_newcid_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_newcid_test.c:77,1
    - Dst: SSL_write
      Src: /src/openssl/test/quic_newcid_test.c:77,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quic_newcid_test.c:80,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:81,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quic_newcid_test.c:81,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_newcid_test.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:97,1
    - Dst: qtest_fault_set_packet_plain_listener
      Src: /src/openssl/test/quic_newcid_test.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:101,1
    - Dst: ossl_quic_tserver_set_new_local_cid
      Src: /src/openssl/test/quic_newcid_test.c:101,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:103,1
    - Dst: ossl_quic_tserver_write
      Src: /src/openssl/test/quic_newcid_test.c:103,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:108,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_newcid_test.c:111,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quic_newcid_test.c:114,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:115,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quic_newcid_test.c:115,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_newcid_test.c:118,1
    - Dst: SSL_read
      Src: /src/openssl/test/quic_newcid_test.c:118,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_newcid_test.c:121,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/quic_newcid_test.c:124,1
    - Dst: SSL_write
      Src: /src/openssl/test/quic_newcid_test.c:124,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/quic_newcid_test.c:127,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_newcid_test.c:128,1
    - Dst: ossl_quic_tserver_read
      Src: /src/openssl/test/quic_newcid_test.c:128,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/quic_newcid_test.c:133,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_newcid_test.c:136,1
    - Dst: qtest_fault_free
      Src: /src/openssl/test/quic_newcid_test.c:142,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic_newcid_test.c:143,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/quic_newcid_test.c:144,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic_newcid_test.c:145,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 70
    argCount: 1
    argNames:
    - fail
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 147
    functionName: test_ncid_frame
    functionSourceFile: /src/openssl/test/quic_newcid_test.c
    functionUses: 0
    functionsReached:
    - qtest_fault_free
    - SSL_CTX_new
    - TEST_ptr
    - strlen
    - SSL_CTX_free
    - ossl_quic_tserver_set_new_local_cid
    - SSL_read
    - ossl_quic_tserver_write
    - OSSL_QUIC_client_method
    - TEST_true
    - qtest_fault_set_packet_plain_listener
    - SSL_free
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - qtest_create_quic_connection
    - TEST_size_t_eq
    - qtest_create_quic_objects
    - ossl_quic_tserver_free
    - ossl_quic_tserver_read
    - TEST_int_eq
    - SSL_write
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_ncid_frame(int fail)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/quic_newcid_test.c:155,1
    - Dst: TEST_error
      Src: /src/openssl/test/quic_newcid_test.c:156,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_newcid_test.c:160,1
    - Dst: test_get_argument
      Src: /src/openssl/test/quic_newcid_test.c:160,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quic_newcid_test.c:163,1
    - Dst: test_mk_file_path
      Src: /src/openssl/test/quic_newcid_test.c:167,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_newcid_test.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_newcid_test.c:176,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_newcid_test.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_newcid_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - test_mk_file_path
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_newcid_test.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic_newcid_test.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/quic_newcid_test.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/test/acvp_test.c:76,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:78,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:79,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:82,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:90,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - pkey
    - name
    - out
    - out_len
    argTypes:
    - EVP_PKEY*
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: pkey_get_bn_bytes
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BN_num_bytes
    - OPENSSL_free
    - EVP_PKEY_get_bn_param
    - BN_free
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: "int pkey_get_bn_bytes(EVP_PKEY *pkey, const char *name,\n                             unsigned
      char **out, size_t *out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/test/acvp_test.c:103,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:107,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/acvp_test.c:107,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:108,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/acvp_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:109,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/acvp_test.c:109,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:111,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/acvp_test.c:111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:118,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/acvp_test.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 7
    argNames:
    - pkey
    - params
    - digest_name
    - msg
    - msg_len
    - sig_out
    - sig_out_len
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM*
    - char*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 95
    functionDepth: 8
    functionLinenumber: 95
    functionLinenumberEnd: 121
    functionName: sig_gen
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 2
    functionsReached:
    - TEST_int_eq
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_get_size
    - EVP_DigestSignInit_ex
    - EVP_DigestSign
    - OPENSSL_free
    - TEST_ptr
    - OPENSSL_malloc
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int sig_gen(EVP_PKEY *pkey, OSSL_PARAM *params, const char *digest_name,\n
      \                  const unsigned char *msg, size_t msg_len,\n                   unsigned
      char **sig_out, size_t *sig_out_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/acvp_test.c:128,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/acvp_test.c:129,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:132,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:134,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:136,1
    - Dst: EVP_PKEY_CTX_get_params
      Src: /src/openssl/test/acvp_test.c:136,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pkey_ctx
    - expected
    argTypes:
    - EVP_PKEY_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 10
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: check_verify_message
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_available
    - EVP_PKEY_CTX_get_params
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - TEST_true
    - fips_provider_version_match
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int check_verify_message(EVP_PKEY_CTX *pkey_ctx, int expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:154,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:154,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/acvp_test.c:155,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:156,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:156,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:158,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:158,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:160,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:160,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:164,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:165,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:166,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:173,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 9
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: ecdsa_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - TEST_int_ge
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_Q_keygen
    - pkey_get_bn_bytes
    - TEST_true
    - test_output_memory
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ecdsa_keygen_test(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:187,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:187,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:189,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/acvp_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:191,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/acvp_test.c:191,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:194,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:195,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:195,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:196,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:196,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:197,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:197,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:203,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:204,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - pkey
    - curve_name
    - pub
    - pub_len
    - expected
    argTypes:
    - EVP_PKEY**
    - char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 178
    functionDepth: 6
    functionLinenumber: 178
    functionLinenumberEnd: 207
    functionName: ecdsa_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int ecdsa_create_pkey(EVP_PKEY **pkey, const char *curve_name,\n                             const
      unsigned char *pub, size_t pub_len,\n                             int expected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:217,1
    - Dst: ecdsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:217,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:222,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:222,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:223,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/acvp_test.c:223,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:228,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 209
    functionDepth: 9
    functionLinenumber: 209
    functionLinenumberEnd: 231
    functionName: ecdsa_pub_verify_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_true
    - TEST_ptr
    - ecdsa_create_pkey
    linkageType: ''
    returnType: int
    signature: int ecdsa_pub_verify_test(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECDSA_SIG
      Src: /src/openssl/test/acvp_test.c:242,1
    - Dst: ECDSA_SIG_get0_r
      Src: /src/openssl/test/acvp_test.c:246,1
    - Dst: ECDSA_SIG_get0_s
      Src: /src/openssl/test/acvp_test.c:247,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:251,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:252,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:253,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:254,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:257,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:259,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:268,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:269,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/test/acvp_test.c:271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 6
    argNames:
    - sig
    - sig_len
    - r
    - s
    - rlen
    - slen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - unsigned char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 273
    functionName: get_ecdsa_sig_rs_bytes
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - ECDSA_SIG_get0_r
    - OPENSSL_zalloc
    - BN_num_bytes
    - ECDSA_SIG_get0_s
    - d2i_ECDSA_SIG
    - OPENSSL_free
    - ECDSA_SIG_free
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: "int get_ecdsa_sig_rs_bytes(const unsigned char *sig, size_t sig_len,\n
      \                                 unsigned char **r, unsigned char **s,\n                                  size_t
      *rlen, size_t *slen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:284,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:287,1
    - Dst: sig_gen
      Src: /src/openssl/test/acvp_test.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:289,1
    - Dst: get_ecdsa_sig_rs_bytes
      Src: /src/openssl/test/acvp_test.c:289,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:291,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:292,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:295,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:296,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:297,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 275
    functionDepth: 9
    functionLinenumber: 275
    functionLinenumberEnd: 300
    functionName: ecdsa_siggen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - get_ecdsa_sig_rs_bytes
    - sig_gen
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_Q_keygen
    - test_output_memory
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ecdsa_siggen_test(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:314,1
    - Dst: ecdsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:318,1
    - Dst: ECDSA_SIG_new
      Src: /src/openssl/test/acvp_test.c:318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:319,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:319,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:320,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:320,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:321,1
    - Dst: ECDSA_SIG_set0
      Src: /src/openssl/test/acvp_test.c:321,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:325,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/openssl/test/acvp_test.c:325,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:326,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/acvp_test.c:326,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:327,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/acvp_test.c:327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:329,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/test/acvp_test.c:329,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:330,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:331,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/acvp_test.c:331,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:333,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:334,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/acvp_test.c:334,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:335,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:340,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:342,1
    - Dst: ECDSA_SIG_free
      Src: /src/openssl/test/acvp_test.c:343,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:344,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/acvp_test.c:345,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 302
    functionDepth: 11
    functionLinenumber: 302
    functionLinenumberEnd: 348
    functionName: ecdsa_sigver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - BN_bin2bn
    - OPENSSL_free
    - TEST_ptr
    - check_verify_message
    - EVP_PKEY_verify_init
    - EVP_PKEY_free
    - TEST_true
    - ECDSA_SIG_new
    - ECDSA_SIG_free
    - BN_free
    - EVP_MD_CTX_get_pkey_ctx
    - ecdsa_create_pkey
    - EVP_DigestVerifyInit_ex
    - i2d_ECDSA_SIG
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_MD_CTX_free
    - ECDSA_SIG_set0
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int ecdsa_sigver_test(int id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/acvp_test.c:364,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:366,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:366,1
    - Dst: TEST_skip
      Src: /src/openssl/test/acvp_test.c:367,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:369,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:369,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:372,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:380,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/test/acvp_test.c:380,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:381,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:381,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:386,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:390,1
    - Dst: EVP_PKEY_derive_init_ex
      Src: /src/openssl/test/acvp_test.c:390,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:391,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/test/acvp_test.c:391,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:392,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/test/acvp_test.c:392,1
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:401,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:405,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:406,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:407,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - tstid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 350
    functionDepth: 9
    functionLinenumber: 350
    functionLinenumberEnd: 409
    functionName: ecdh_cofactor_derive_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - OSSL_PARAM_construct_end
    - EVP_PKEY_set_params
    - EVP_PKEY_derive
    - TEST_skip
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_Q_keygen
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_derive_init_ex
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ecdh_cofactor_derive_test(int tstid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/acvp_test.c:420,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:423,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/test/acvp_test.c:427,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pkey
    - name
    - out
    - out_len
    argTypes:
    - EVP_PKEY*
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 434
    functionName: pkey_get_octet_bytes
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: "int pkey_get_octet_bytes(EVP_PKEY *pkey, const char *name,\n                                unsigned
      char **out, size_t *out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:447,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:448,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/acvp_test.c:448,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:451,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:451,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:452,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:452,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:453,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:453,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:454,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:454,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:460,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:461,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - pkey
    - algname
    - pub
    - pub_len
    - expected
    argTypes:
    - EVP_PKEY**
    - char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 438
    functionDepth: 6
    functionLinenumber: 438
    functionLinenumberEnd: 464
    functionName: eddsa_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int eddsa_create_pkey(EVP_PKEY **pkey, const char *algname,\n                             const
      unsigned char *pub, size_t pub_len,\n                             int expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:473,1
    - Dst: eddsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:473,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:477,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:477,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:478,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/test/acvp_test.c:478,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:482,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 466
    functionDepth: 9
    functionLinenumber: 466
    functionLinenumberEnd: 485
    functionName: eddsa_pub_verify_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_public_check
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - eddsa_create_pkey
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int eddsa_pub_verify_test(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:497,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:497,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/acvp_test.c:498,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:499,1
    - Dst: pkey_get_octet_bytes
      Src: /src/openssl/test/acvp_test.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:501,1
    - Dst: pkey_get_octet_bytes
      Src: /src/openssl/test/acvp_test.c:501,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:505,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:506,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:511,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:512,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 487
    functionDepth: 9
    functionLinenumber: 487
    functionLinenumberEnd: 515
    functionName: eddsa_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - TEST_int_ge
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_Q_keygen
    - test_output_memory
    - TEST_true
    - TEST_ptr
    - pkey_get_octet_bytes
    linkageType: ''
    returnType: int
    signature: int eddsa_keygen_test(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:526,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:526,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:527,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/acvp_test.c:527,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:528,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/test/acvp_test.c:528,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:529,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/test/acvp_test.c:529,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:530,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/acvp_test.c:530,1
    - Dst: TEST_info
      Src: /src/openssl/test/acvp_test.c:531,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - L
    - N
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 521
    functionDepth: 8
    functionLinenumber: 521
    functionLinenumberEnd: 534
    functionName: dsa_paramgen
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_paramgen
    - TEST_info
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - EVP_PKEY_paramgen_init
    - TEST_int_gt
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *dsa_paramgen(int L, int N)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:541,1
    - Dst: dsa_paramgen
      Src: /src/openssl/test/acvp_test.c:541,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:542,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:542,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:544,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/acvp_test.c:544,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:545,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/acvp_test.c:545,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:548,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - L
    - N
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 536
    functionDepth: 9
    functionLinenumber: 536
    functionLinenumberEnd: 551
    functionName: dsa_keygen
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 1
    functionsReached:
    - dsa_paramgen
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_keygen
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - TEST_int_gt
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *dsa_keygen(int L, int N)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/acvp_test.c:563,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:564,1
    - Dst: dsa_paramgen
      Src: /src/openssl/test/acvp_test.c:564,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:565,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:565,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:567,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/acvp_test.c:567,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:570,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/acvp_test.c:570,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:571,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:571,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:573,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:573,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:576,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:577,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:578,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:579,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:580,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:586,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:587,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:588,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:589,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:590,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 553
    functionDepth: 9
    functionLinenumber: 553
    functionLinenumberEnd: 593
    functionName: dsa_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - OPENSSL_clear_free
    - TEST_skip
    - dsa_paramgen
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - pkey_get_bn_bytes
    - EVP_PKEY_keygen
    - test_output_memory
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int dsa_keygen_test(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:604,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:604,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:605,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/acvp_test.c:605,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:606,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/test/acvp_test.c:606,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:607,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/test/acvp_test.c:607,1
    - Dst: TEST_false
      Src: /src/openssl/test/acvp_test.c:612,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/acvp_test.c:612,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:615,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/test/acvp_test.c:615,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:616,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:616,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:618,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:618,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:620,1
    - Dst: pkey_get_octet_bytes
      Src: /src/openssl/test/acvp_test.c:620,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:623,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/test/acvp_test.c:623,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:627,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:628,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:629,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/acvp_test.c:630,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:634,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:635,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:636,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:637,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:638,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 595
    functionDepth: 8
    functionLinenumber: 595
    functionLinenumberEnd: 640
    functionName: dsa_paramgen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - pkey_get_octet_bytes
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - TEST_false
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_paramgen
    - test_printf_stderr
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - pkey_get_bn_bytes
    - TEST_true
    - EVP_PKEY_get_int_param
    - TEST_ptr
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - test_output_memory
    - EVP_PKEY_paramgen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int dsa_paramgen_test(int id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:658,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:658,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:659,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:660,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:660,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:661,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/acvp_test.c:661,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:664,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/acvp_test.c:664,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:667,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:667,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:668,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:668,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:669,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:669,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:670,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:670,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:674,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:675,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:675,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:676,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:676,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:681,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/acvp_test.c:681,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:686,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/test/acvp_test.c:686,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:692,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:692,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:693,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:693,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:694,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:694,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:699,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:699,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:700,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:700,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:701,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:701,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:702,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:702,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:708,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:709,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:710,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 34
    argCount: 15
    argNames:
    - pkey
    - p
    - p_len
    - q
    - q_len
    - g
    - g_len
    - seed
    - seed_len
    - counter
    - validate_pq
    - validate_g
    - pub
    - pub_len
    - bn_ctx
    argTypes:
    - EVP_PKEY**
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - int
    - int
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 642
    functionDepth: 6
    functionLinenumber: 642
    functionLinenumberEnd: 712
    functionName: dsa_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 3
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_push_int
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int dsa_create_pkey(EVP_PKEY **pkey,\n                           const
      unsigned char *p, size_t p_len,\n                           const unsigned char
      *q, size_t q_len,\n                           const unsigned char *g, size_t
      g_len,\n                           const unsigned char *seed, size_t seed_len,\n
      \                          int counter,\n                           int validate_pq,
      int validate_g,\n                           const unsigned char *pub, size_t
      pub_len,\n                           BN_CTX *bn_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:722,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/test/acvp_test.c:722,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:723,1
    - Dst: dsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:723,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:729,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:729,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:731,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/test/acvp_test.c:731,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:736,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:737,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 714
    functionDepth: 9
    functionLinenumber: 714
    functionLinenumberEnd: 740
    functionName: dsa_pqver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_param_check
    - TEST_int_eq
    - EVP_PKEY_free
    - BN_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - dsa_create_pkey
    - TEST_true
    - TEST_ptr
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int dsa_pqver_test(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: d2i_DSA_SIG
      Src: /src/openssl/test/acvp_test.c:751,1
    - Dst: DSA_SIG_get0
      Src: /src/openssl/test/acvp_test.c:755,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:759,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/acvp_test.c:760,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:761,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/acvp_test.c:762,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:765,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/acvp_test.c:767,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:776,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:777,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/test/acvp_test.c:779,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - sig
    - sig_len
    - r
    - s
    - r_len
    - s_len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - unsigned char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 743
    functionDepth: 5
    functionLinenumber: 743
    functionLinenumberEnd: 781
    functionName: get_dsa_sig_rs_bytes
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - DSA_SIG_get0
    - OPENSSL_zalloc
    - BN_num_bytes
    - DSA_SIG_free
    - OPENSSL_free
    - d2i_DSA_SIG
    - BN_bn2binpad
    linkageType: ''
    returnType: int
    signature: "int get_dsa_sig_rs_bytes(const unsigned char *sig, size_t sig_len,\n
      \                               unsigned char **r, unsigned char **s,\n                                size_t
      *r_len, size_t *s_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/acvp_test.c:792,1
    - Dst: dsa_keygen
      Src: /src/openssl/test/acvp_test.c:792,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:795,1
    - Dst: dsa_keygen
      Src: /src/openssl/test/acvp_test.c:795,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:797,1
    - Dst: sig_gen
      Src: /src/openssl/test/acvp_test.c:797,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:799,1
    - Dst: get_dsa_sig_rs_bytes
      Src: /src/openssl/test/acvp_test.c:799,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:801,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:802,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:806,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:807,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:808,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:809,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 783
    functionDepth: 9
    functionLinenumber: 783
    functionLinenumberEnd: 811
    functionName: dsa_siggen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - get_dsa_sig_rs_bytes
    - TEST_ptr_null
    - sig_gen
    - EVP_PKEY_free
    - OPENSSL_free
    - test_output_memory
    - TEST_true
    - TEST_ptr
    - dsa_keygen
    linkageType: ''
    returnType: int
    signature: int dsa_siggen_test(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:828,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/acvp_test.c:828,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:829,1
    - Dst: dsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:829,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:835,1
    - Dst: DSA_SIG_new
      Src: /src/openssl/test/acvp_test.c:835,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:836,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:836,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:837,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:837,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:838,1
    - Dst: DSA_SIG_set0
      Src: /src/openssl/test/acvp_test.c:838,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:842,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/acvp_test.c:842,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:843,1
    - Dst: EVP_Digest
      Src: /src/openssl/test/acvp_test.c:843,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:847,1
    - Dst: i2d_DSA_SIG
      Src: /src/openssl/test/acvp_test.c:847,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:848,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:848,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:849,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/acvp_test.c:849,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:850,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/acvp_test.c:850,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:855,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:856,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/acvp_test.c:857,1
    - Dst: DSA_SIG_free
      Src: /src/openssl/test/acvp_test.c:858,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:859,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:860,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:861,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:862,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 813
    functionDepth: 10
    functionLinenumber: 813
    functionLinenumberEnd: 864
    functionName: dsa_sigver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - BN_CTX_new
    - BN_bin2bn
    - OPENSSL_free
    - TEST_ptr
    - EVP_PKEY_verify_init
    - DSA_SIG_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BN_CTX_free
    - TEST_true
    - BN_free
    - DSA_SIG_new
    - EVP_PKEY_verify
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_MD_fetch
    - TEST_int_eq
    - EVP_Digest
    - DSA_SIG_set0
    - dsa_create_pkey
    - i2d_DSA_SIG
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int dsa_sigver_test(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:881,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:882,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/acvp_test.c:882,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:883,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/acvp_test.c:883,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:884,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:884,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:885,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/acvp_test.c:885,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:886,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:886,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:887,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/acvp_test.c:887,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:890,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/acvp_test.c:894,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/acvp_test.c:895,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 10
    argNames:
    - alg
    - pt
    - pt_len
    - key
    - key_len
    - iv
    - iv_len
    - ct
    - ct_len
    - enc
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 869
    functionDepth: 5
    functionLinenumber: 869
    functionLinenumberEnd: 897
    functionName: cipher_enc
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_note
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: "int cipher_enc(const char *alg,\n                      const unsigned
      char *pt, size_t pt_len,\n                      const unsigned char *key, size_t
      key_len,\n                      const unsigned char *iv, size_t iv_len,\n                      const
      unsigned char *ct, size_t ct_len,\n                      int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:904,1
    - Dst: cipher_enc
      Src: /src/openssl/test/acvp_test.c:904,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:908,1
    - Dst: cipher_enc
      Src: /src/openssl/test/acvp_test.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 899
    functionDepth: 6
    functionLinenumber: 899
    functionLinenumberEnd: 912
    functionName: cipher_enc_dec_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - cipher_enc
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int cipher_enc_dec_test(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:929,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:932,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/acvp_test.c:932,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:933,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/acvp_test.c:933,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:934,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:934,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:935,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:935,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:937,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:937,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:939,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:939,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:940,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/acvp_test.c:940,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:941,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:941,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:942,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:942,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:943,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:943,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:950,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/acvp_test.c:950,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:954,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:954,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:956,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:957,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:960,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/acvp_test.c:966,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/acvp_test.c:967,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 29
    argCount: 15
    argNames:
    - alg
    - pt
    - pt_len
    - key
    - key_len
    - iv
    - iv_len
    - aad
    - aad_len
    - ct
    - ct_len
    - tag
    - tag_len
    - enc
    - pass
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 914
    functionDepth: 5
    functionLinenumber: 914
    functionLinenumberEnd: 969
    functionName: aes_ccm_enc_dec
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_note
    - EVP_CIPHER_CTX_set_padding
    - TEST_int_eq
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int aes_ccm_enc_dec(const char *alg,\n                           const
      unsigned char *pt, size_t pt_len,\n                           const unsigned
      char *key, size_t key_len,\n                           const unsigned char *iv,
      size_t iv_len,\n                           const unsigned char *aad, size_t
      aad_len,\n                           const unsigned char *ct, size_t ct_len,\n
      \                          const unsigned char *tag, size_t tag_len,\n                           int
      enc, int pass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_ccm_enc_dec
      Src: /src/openssl/test/acvp_test.c:985,1
    - Dst: aes_ccm_enc_dec
      Src: /src/openssl/test/acvp_test.c:989,1
    - Dst: aes_ccm_enc_dec
      Src: /src/openssl/test/acvp_test.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 971
    functionDepth: 6
    functionLinenumber: 971
    functionLinenumberEnd: 999
    functionName: aes_ccm_enc_dec_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - aes_ccm_enc_dec
    linkageType: ''
    returnType: int
    signature: int aes_ccm_enc_dec_test(int id)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:1017,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1020,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/acvp_test.c:1020,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1021,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/acvp_test.c:1021,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1022,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:1022,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1023,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:1023,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1028,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:1028,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1037,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:1037,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1038,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/test/acvp_test.c:1038,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1039,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:1039,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1040,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:1040,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1043,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/test/acvp_test.c:1043,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1051,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1052,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/test/acvp_test.c:1052,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1055,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1058,1
    - Dst: EVP_CIPHER_CTX_gettable_params
      Src: /src/openssl/test/acvp_test.c:1066,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1068,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/acvp_test.c:1071,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/acvp_test.c:1073,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1075,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/test/acvp_test.c:1075,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/acvp_test.c:1078,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/acvp_test.c:1086,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/acvp_test.c:1087,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 50
    argCount: 18
    argNames:
    - alg
    - pt
    - pt_len
    - key
    - key_len
    - iv
    - iv_len
    - aad
    - aad_len
    - ct
    - ct_len
    - tag
    - tag_len
    - enc
    - pass
    - out
    - out_len
    - outiv
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    - int
    - unsigned char*
    - int*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1001
    functionDepth: 5
    functionLinenumber: 1001
    functionLinenumberEnd: 1089
    functionName: aes_gcm_enc_dec
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_octet_string
    - TEST_note
    - EVP_CIPHER_CTX_set_padding
    - TEST_ptr
    - OSSL_PARAM_locate_const
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - TEST_true
    - EVP_CIPHER_CTX_get_params
    - EVP_CIPHER_CTX_gettable_params
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - TEST_uint_eq
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_enc_dec(const char *alg,\n                           const
      unsigned char *pt, size_t pt_len,\n                           const unsigned
      char *key, size_t key_len,\n                           const unsigned char *iv,
      size_t iv_len,\n                           const unsigned char *aad, size_t
      aad_len,\n                           const unsigned char *ct, size_t ct_len,\n
      \                          const unsigned char *tag, size_t tag_len,\n                           int
      enc, int pass,\n                           unsigned char *out, int *out_len,\n
      \                          unsigned char *outiv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1098,1
    - Dst: aes_gcm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1103,1
    - Dst: aes_gcm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1091
    functionDepth: 6
    functionLinenumber: 1091
    functionLinenumberEnd: 1114
    functionName: aes_gcm_enc_dec_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - aes_gcm_enc_dec
    linkageType: ''
    returnType: int
    signature: int aes_gcm_enc_dec_test(int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1125,1
    - Dst: aes_gcm_enc_dec
      Src: /src/openssl/test/acvp_test.c:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1116
    functionDepth: 6
    functionLinenumber: 1116
    functionLinenumberEnd: 1135
    functionName: aes_gcm_gen_iv_internal_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - aes_gcm_enc_dec
    linkageType: ''
    returnType: int
    signature: int aes_gcm_gen_iv_internal_test(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1149,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:1149,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1151,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/acvp_test.c:1151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1157,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1158,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1158,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1159,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1159,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1164,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1165,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1165,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1166,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1166,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1171,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:1171,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1172,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:1172,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1173,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:1173,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1174,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:1174,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:1180,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:1181,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1182,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 8
    argNames:
    - pkey
    - group_name
    - pub
    - pub_len
    - priv
    - priv_len
    - bn_ctx
    - pass
    argTypes:
    - EVP_PKEY**
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - BN_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1138
    functionDepth: 6
    functionLinenumber: 1138
    functionLinenumberEnd: 1184
    functionName: dh_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int dh_create_pkey(EVP_PKEY **pkey, const char *group_name,\n                          const
      unsigned char *pub, size_t pub_len,\n                          const unsigned
      char *priv, size_t priv_len,\n                          BN_CTX *bn_ctx, int
      pass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1197,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1199,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1201,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:1201,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1202,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/acvp_test.c:1202,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1203,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1203,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1204,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/acvp_test.c:1204,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1205,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1205,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1207,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1207,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1211,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1212,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/test/acvp_test.c:1215,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1216,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1217,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1186
    functionDepth: 8
    functionLinenumber: 1186
    functionLinenumberEnd: 1220
    functionName: dh_safe_prime_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - OPENSSL_clear_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen
    - pkey_get_bn_bytes
    - TEST_true
    - test_output_memory
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int dh_safe_prime_keygen_test(int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1230,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/test/acvp_test.c:1230,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1231,1
    - Dst: dh_create_pkey
      Src: /src/openssl/test/acvp_test.c:1231,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1234,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:1234,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1235,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/acvp_test.c:1235,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1240,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1241,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1222
    functionDepth: 7
    functionLinenumber: 1222
    functionLinenumberEnd: 1244
    functionName: dh_safe_prime_keyver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_check
    - dh_create_pkey
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BN_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_true
    - TEST_ptr
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int dh_safe_prime_keyver_test(int id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1260,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:1260,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1261,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1261,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1262,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1262,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1263,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1263,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1267,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1267,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1268,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1268,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1269,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1269,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1274,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/acvp_test.c:1274,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1275,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1275,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1276,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1276,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1280,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:1280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1281,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:1281,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1282,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/acvp_test.c:1282,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1283,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/acvp_test.c:1283,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:1289,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:1290,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1291,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 24
    argCount: 8
    argNames:
    - pkey
    - n
    - n_len
    - e
    - e_len
    - d
    - d_len
    - bn_ctx
    argTypes:
    - EVP_PKEY**
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1248
    functionDepth: 6
    functionLinenumber: 1248
    functionLinenumberEnd: 1293
    functionName: rsa_create_pkey
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_CTX_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int rsa_create_pkey(EVP_PKEY **pkey,\n                           const
      unsigned char *n, size_t n_len,\n                           const unsigned char
      *e, size_t e_len,\n                           const unsigned char *d, size_t
      d_len,\n                           BN_CTX *bn_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1313,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/acvp_test.c:1313,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1314,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1315,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1316,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1316,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1317,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1317,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1318,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1319,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1319,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1320,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1320,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1322,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1322,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1324,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1324,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1326,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1326,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1328,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1328,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1330,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/acvp_test.c:1330,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1332,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/acvp_test.c:1332,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1335,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/acvp_test.c:1335,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1336,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/acvp_test.c:1336,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1337,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/acvp_test.c:1337,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1338,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1338,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1339,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/test/acvp_test.c:1339,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1340,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/openssl/test/acvp_test.c:1340,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1341,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/acvp_test.c:1341,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1342,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1342,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1344,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1344,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1346,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1346,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1348,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1348,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1350,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1350,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1352,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1352,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1354,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1354,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1356,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1356,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1360,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1361,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1362,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1363,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1364,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1365,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1366,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1367,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1370,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1371,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1372,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1373,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1374,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1375,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1376,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1377,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1380,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1381,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1382,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1383,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1384,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1385,1
    - Dst: BN_free
      Src: /src/openssl/test/acvp_test.c:1386,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1388,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1389,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1390,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1391,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1393,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1394,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1395,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1396,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/acvp_test.c:1397,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/acvp_test.c:1398,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 41
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1295
    functionDepth: 8
    functionLinenumber: 1295
    functionLinenumberEnd: 1400
    functionName: rsa_keygen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_CTX_set_params
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - OPENSSL_free
    - pkey_get_bn_bytes
    - EVP_PKEY_keygen
    - test_output_memory
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_true
    - BN_free
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - EVP_PKEY_CTX_new_from_name
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int rsa_keygen_test(int id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/acvp_test.c:1413,1
    - Dst: TEST_skip
      Src: /src/openssl/test/acvp_test.c:1414,1
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:1416,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1419,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1421,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:1424,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1426,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1428,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:1428,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1429,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1429,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1430,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1430,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1431,1
    - Dst: sig_gen
      Src: /src/openssl/test/acvp_test.c:1431,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1435,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1436,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1440,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1441,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1442,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1402
    functionDepth: 9
    functionLinenumber: 1402
    functionLinenumberEnd: 1445
    functionName: rsa_siggen_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - OSSL_PARAM_construct_utf8_string
    - sig_gen
    - TEST_skip
    - OSSL_PARAM_construct_int
    - EVP_PKEY_free
    - OPENSSL_free
    - TEST_ptr
    - EVP_PKEY_Q_keygen
    - pkey_get_bn_bytes
    - TEST_true
    - strcmp
    - OSSL_PARAM_construct_end
    - test_output_memory
    linkageType: ''
    returnType: int
    signature: int rsa_siggen_test(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:1458,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1462,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1464,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:1467,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1471,1
    - Dst: BN_CTX_new
      Src: /src/openssl/test/acvp_test.c:1471,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1472,1
    - Dst: rsa_create_pkey
      Src: /src/openssl/test/acvp_test.c:1472,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1474,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/acvp_test.c:1474,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1475,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/acvp_test.c:1475,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:1478,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1479,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1479,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1480,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/test/acvp_test.c:1480,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:1482,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1483,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/acvp_test.c:1483,1
    - Dst: check_verify_message
      Src: /src/openssl/test/acvp_test.c:1484,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1489,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:1490,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/acvp_test.c:1491,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1447
    functionDepth: 11
    functionLinenumber: 1447
    functionLinenumberEnd: 1493
    functionName: rsa_sigver_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - check_verify_message
    - EVP_DigestVerify
    - EVP_DigestVerifyInit_ex
    - EVP_PKEY_verify_init
    - TEST_note
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - BN_CTX_new
    - EVP_MD_CTX_new
    - TEST_int_eq
    - OSSL_PARAM_construct_int
    - EVP_PKEY_free
    - BN_CTX_free
    - EVP_MD_CTX_free
    - rsa_create_pkey
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int rsa_sigver_test(int id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1507,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/acvp_test.c:1507,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1508,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1508,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1509,1
    - Dst: pkey_get_bn_bytes
      Src: /src/openssl/test/acvp_test.c:1509,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1510,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/acvp_test.c:1510,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1511,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/test/acvp_test.c:1511,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1512,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/test/acvp_test.c:1512,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1515,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1516,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/test/acvp_test.c:1517,1
    - Dst: TEST_note
      Src: /src/openssl/test/acvp_test.c:1518,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1520,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1523,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/acvp_test.c:1524,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/acvp_test.c:1525,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/acvp_test.c:1526,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/acvp_test.c:1527,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1495
    functionDepth: 9
    functionLinenumber: 1495
    functionLinenumberEnd: 1529
    functionName: rsa_decryption_primitive_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_decrypt
    - TEST_note
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_Q_keygen
    - BN_CTX_free
    - pkey_get_bn_bytes
    - TEST_true
    - test_output_memory
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int rsa_decryption_primitive_test(int id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1542,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1547,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1552,1
    - Dst: BIO_printf
      Src: /src/openssl/test/acvp_test.c:1557,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - params
    - varg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1531
    functionDepth: 3
    functionLinenumber: 1531
    functionLinenumberEnd: 1561
    functionName: self_test_events
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 3
    functionsReached:
    - OSSL_PARAM_locate_const
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int self_test_events(const OSSL_PARAM params[], void *varg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1575,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/acvp_test.c:1575,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1576,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/acvp_test.c:1576,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/acvp_test.c:1578,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/acvp_test.c:1581,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1582,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1583,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1583,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1587,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/test/acvp_test.c:1587,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1588,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/test/acvp_test.c:1588,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/acvp_test.c:1592,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/acvp_test.c:1594,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1596,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1597,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1597,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/acvp_test.c:1601,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/acvp_test.c:1604,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/acvp_test.c:1607,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1608,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/acvp_test.c:1608,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1616,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/test/acvp_test.c:1616,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1617,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/acvp_test.c:1617,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1619,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/test/acvp_test.c:1619,1
    - Dst: test_output_memory
      Src: /src/openssl/test/acvp_test.c:1623,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1626,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/acvp_test.c:1626,1
    - Dst: TEST_true
      Src: /src/openssl/test/acvp_test.c:1627,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/test/acvp_test.c:1627,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1631,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/acvp_test.c:1636,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/test/acvp_test.c:1639,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/test/acvp_test.c:1640,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1563
    functionDepth: 10
    functionLinenumber: 1563
    functionLinenumberEnd: 1642
    functionName: drbg_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_RAND_free
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_RAND_instantiate
    - OSSL_PARAM_construct_utf8_string
    - EVP_RAND_CTX_set_params
    - OSSL_PARAM_construct_int
    - EVP_RAND_uninstantiate
    - test_output_memory
    - TEST_true
    - EVP_RAND_generate
    - TEST_ptr
    - TEST_mem_eq
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: int
    signature: int drbg_test(int id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1668,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/acvp_test.c:1668,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1670,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/test/acvp_test.c:1670,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1672,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/test/acvp_test.c:1672,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1674,1
    - Dst: EVP_CIPHER_CTX_settable_params
      Src: /src/openssl/test/acvp_test.c:1674,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/acvp_test.c:1675,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/acvp_test.c:1675,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/test/acvp_test.c:1678,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/acvp_test.c:1679,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/test/acvp_test.c:1679,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/acvp_test.c:1681,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/acvp_test.c:1683,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/acvp_test.c:1687,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/test/acvp_test.c:1688,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1644
    functionDepth: 8
    functionLinenumber: 1644
    functionLinenumberEnd: 1690
    functionName: aes_cfb1_bits_test
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_set_flags
    - OSSL_PARAM_locate_const
    - TEST_int_eq
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_CTX_settable_params
    - EVP_CIPHER_free
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int aes_cfb1_bits_test(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/acvp_test.c:1698,1
    - Dst: opt_arg
      Src: /src/openssl/test/acvp_test.c:1701,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/acvp_test.c:1711,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/openssl/test/acvp_test.c:1714,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/acvp_test.c:1716,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1717,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1717,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1718,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1718,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1719,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1719,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/acvp_test.c:1720,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/acvp_test.c:1721,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/acvp_test.c:1723,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/acvp_test.c:1724,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1725,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1725,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1726,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1726,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1727,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1727,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1728,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1729,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1732,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1733,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1734,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1735,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/acvp_test.c:1739,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1740,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1740,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1741,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1741,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1742,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1742,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1743,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1743,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1744,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1744,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/acvp_test.c:1748,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1749,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1749,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1750,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1750,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1751,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1751,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1752,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1752,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1753,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1754,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/acvp_test.c:1758,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1759,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1759,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1760,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1760,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/acvp_test.c:1763,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/acvp_test.c:1763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1692
    functionDepth: 7
    functionLinenumber: 1692
    functionLinenumberEnd: 1765
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - fips_provider_version_ge
    - ADD_TEST
    - OSSL_SELF_TEST_set_callback
    - OSSL_NELEM
    - test_get_libctx
    - fips_provider_version_lt
    - opt_arg
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/acvp_test.c:1769,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/acvp_test.c:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1767
    functionDepth: 4
    functionLinenumber: 1767
    functionLinenumberEnd: 1771
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/acvp_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_status_test.c:26,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cmp_status_test.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: set_up
    functionSourceFile: /src/openssl/test/cmp_status_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: CMP_STATUS_TEST_FIXTURE
    signature: CMP_STATUS_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cmp_status_test.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_STATUS_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: tear_down
    functionSourceFile: /src/openssl/test/cmp_status_test.c
    functionUses: 65
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void tear_down(CMP_STATUS_TEST_FIXTURE *fixture)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_status_test.c:47,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/test/cmp_status_test.c:47,1
    - Dst: ossl_cmp_pkisi_get_status
      Src: /src/openssl/test/cmp_status_test.c:52,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_status_test.c:53,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/cmp_status_test.c:54,1
    - Dst: ossl_cmp_PKIStatus_to_string
      Src: /src/openssl/test/cmp_status_test.c:54,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/cmp_status_test.c:57,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/test/cmp_status_test.c:58,1
    - Dst: ossl_cmp_pkisi_get0_statusString
      Src: /src/openssl/test/cmp_status_test.c:58,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/cmp_status_test.c:60,1
    - Dst: strlen
      Src: /src/openssl/test/cmp_status_test.c:60,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_status_test.c:64,1
    - Dst: ossl_cmp_pkisi_get_pkifailureinfo
      Src: /src/openssl/test/cmp_status_test.c:65,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/cmp_status_test.c:68,1
    - Dst: ossl_cmp_pkisi_check_pkifailureinfo
      Src: /src/openssl/test/cmp_status_test.c:69,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/test/cmp_status_test.c:75,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - CMP_STATUS_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 77
    functionName: execute_PKISI_test
    functionSourceFile: /src/openssl/test/cmp_status_test.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_PKISI_free
    - ossl_cmp_pkisi_check_pkifailureinfo
    - sk_ASN1_UTF8STRING_value
    - TEST_str_eq
    - strlen
    - ossl_cmp_pkisi_get0_statusString
    - TEST_int_eq
    - ossl_cmp_pkisi_get_status
    - ossl_cmp_pkisi_get_pkifailureinfo
    - OSSL_CMP_STATUSINFO_new
    - ossl_cmp_PKIStatus_to_string
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int execute_PKISI_test(CMP_STATUS_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_TEST_FIXTURE
      Src: /src/openssl/test/cmp_status_test.c:81,1
    - Dst: EXECUTE_TEST
      Src: /src/openssl/test/cmp_status_test.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: test_PKISI
    functionSourceFile: /src/openssl/test/cmp_status_test.c
    functionUses: 0
    functionsReached:
    - EXECUTE_TEST
    - SETUP_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_PKISI(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/cmp_status_test.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/cmp_status_test.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cmp_status_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/pkcs12_api_test.c:29,1
    - Dst: PKCS12_parse
      Src: /src/openssl/test/pkcs12_api_test.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: test_null_args
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - PKCS12_parse
    - TEST_false
    linkageType: ''
    returnType: int
    signature: int test_null_args(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/pkcs12_api_test.c:37,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:38,1
    - Dst: PKCS12_init_ex
      Src: /src/openssl/test/pkcs12_api_test.c:41,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:42,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_api_test.c:45,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/test/pkcs12_api_test.c:45,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs12_api_test.c:48,1
    - Dst: BIO_free
      Src: /src/openssl/test/pkcs12_api_test.c:53,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - fpath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: PKCS12_load
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - d2i_PKCS12_bio
    - BIO_free
    - PKCS12_free
    - PKCS12_init_ex
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *PKCS12_load(const char *fpath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_api_test.c:109,1
    - Dst: PKCS12_load
      Src: /src/openssl/test/pkcs12_api_test.c:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:113,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_api_test.c:116,1
    - Dst: PKCS12_parse
      Src: /src/openssl/test/pkcs12_api_test.c:116,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:119,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pkcs12_api_test.c:119,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:121,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pkcs12_api_test.c:121,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:123,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/pkcs12_api_test.c:123,1
    - Dst: changepass
      Src: /src/openssl/test/pkcs12_api_test.c:125,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:130,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_api_test.c:131,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs12_api_test.c:132,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/pkcs12_api_test.c:133,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_api_test.c:134,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: pkcs12_parse_test
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - PKCS12_parse
    - TEST_ptr_null
    - PKCS12_load
    - PKCS12_free
    - EVP_PKEY_free
    - X509_free
    - STACK_OF
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - TEST_ptr
    - changepass
    linkageType: ''
    returnType: int
    signature: int pkcs12_parse_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bag
    - cbarg
    argTypes:
    - PKCS12_SAFEBAG*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: pkcs12_create_cb
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pkcs12_create_cb(PKCS12_SAFEBAG *bag, void *cbarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_load
      Src: /src/openssl/test/pkcs12_api_test.c:146,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:147,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_api_test.c:150,1
    - Dst: PKCS12_parse
      Src: /src/openssl/test/pkcs12_api_test.c:150,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - key
    - cert
    - ca
    argTypes:
    - EVP_PKEY**
    - X509**
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: pkcs12_create_ex2_setup
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - PKCS12_parse
    - PKCS12_load
    - PKCS12_free
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *pkcs12_create_ex2_setup(EVP_PKEY **key, X509 **cert, STACK_OF(X509)
      **ca)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/pkcs12_api_test.c:165,1
    - Dst: pkcs12_create_ex2_setup
      Src: /src/openssl/test/pkcs12_api_test.c:167,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:168,1
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/test/pkcs12_api_test.c:173,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:178,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:182,1
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/test/pkcs12_api_test.c:187,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:193,1
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/test/pkcs12_api_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:204,1
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/test/pkcs12_api_test.c:209,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/pkcs12_api_test.c:215,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:221,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/pkcs12_api_test.c:222,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/pkcs12_api_test.c:223,1
    - Dst: X509_free
      Src: /src/openssl/test/pkcs12_api_test.c:224,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/pkcs12_api_test.c:225,1
    - Dst: TEST_true
      Src: /src/openssl/test/pkcs12_api_test.c:226,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - test
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 227
    functionName: pkcs12_create_ex2_test
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - pkcs12_create_ex2_setup
    - PKCS12_create_ex2
    - PKCS12_free
    - EVP_PKEY_free
    - X509_free
    - STACK_OF
    - OSSL_STACK_OF_X509_free
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int pkcs12_create_ex2_test(int test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/pkcs12_api_test.c:260,1
    - Dst: opt_arg
      Src: /src/openssl/test/pkcs12_api_test.c:263,1
    - Dst: opt_arg
      Src: /src/openssl/test/pkcs12_api_test.c:266,1
    - Dst: opt_int_arg
      Src: /src/openssl/test/pkcs12_api_test.c:271,1
    - Dst: opt_int_arg
      Src: /src/openssl/test/pkcs12_api_test.c:274,1
    - Dst: opt_int_arg
      Src: /src/openssl/test/pkcs12_api_test.c:277,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/pkcs12_api_test.c:286,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/pkcs12_api_test.c:287,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_api_test.c:292,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/pkcs12_api_test.c:293,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/pkcs12_api_test.c:294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 296
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - opt_next
    - ADD_TEST
    - opt_int_arg
    - test_get_libctx
    - opt_arg
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/pkcs12_api_test.c:300,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/pkcs12_api_test.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/pkcs12_api_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: isblank
    functionSourceFile: /src/openssl/test/ctype_internal_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isblank(int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ctype_internal_test.c:30,1
    - Dst: isascii
      Src: /src/openssl/test/ctype_internal_test.c:30,1
    - Dst: ossl_isascii
      Src: /src/openssl/test/ctype_internal_test.c:30,1
    - Dst: ossl_isascii
      Src: /src/openssl/test/ctype_internal_test.c:33,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ctype_internal_test.c:36,1
    - Dst: isalpha
      Src: /src/openssl/test/ctype_internal_test.c:36,1
    - Dst: ossl_isalpha
      Src: /src/openssl/test/ctype_internal_test.c:36,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ctype_internal_test.c:37,1
    - Dst: isalnum
      Src: /src/openssl/test/ctype_internal_test.c:37,1
    - Dst: ossl_isalnum
      Src: /src/openssl/test/ctype_internal_test.c:37,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: test_ctype_chars
    functionSourceFile: /src/openssl/test/ctype_internal_test.c
    functionUses: 0
    functionsReached:
    - isalnum
    - ossl_isalpha
    - isascii
    - ossl_isascii
    - TEST_int_eq
    - isalpha
    - ossl_isalnum
    linkageType: ''
    returnType: int
    signature: int test_ctype_chars(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ctype_internal_test.c:68,1
    - Dst: ossl_toupper
      Src: /src/openssl/test/ctype_internal_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ctype_internal_test.c:69,1
    - Dst: ossl_toupper
      Src: /src/openssl/test/ctype_internal_test.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: test_ctype_toupper
    functionSourceFile: /src/openssl/test/ctype_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_toupper
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_ctype_toupper(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ctype_internal_test.c:74,1
    - Dst: ossl_tolower
      Src: /src/openssl/test/ctype_internal_test.c:74,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ctype_internal_test.c:75,1
    - Dst: ossl_tolower
      Src: /src/openssl/test/ctype_internal_test.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: test_ctype_tolower
    functionSourceFile: /src/openssl/test/ctype_internal_test.c
    functionUses: 0
    functionsReached:
    - ossl_tolower
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int test_ctype_tolower(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ctype_chars
      Src: /src/openssl/test/ctype_internal_test.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: test_ctype_eof
    functionSourceFile: /src/openssl/test/ctype_internal_test.c
    functionUses: 0
    functionsReached:
    - test_ctype_chars
    linkageType: ''
    returnType: int
    signature: int test_ctype_eof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ctype_internal_test.c:85,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ctype_internal_test.c:86,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ctype_internal_test.c:86,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ctype_internal_test.c:87,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ctype_internal_test.c:87,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ctype_internal_test.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ctype_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_LONG_DATA
      Src: /src/openssl/test/asn1_decode_test.c:51,1
    - Dst: ASN1_LONG_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: test_long
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - ASN1_LONG_DATA_free
    - d2i_ASN1_LONG_DATA
    linkageType: ''
    returnType: int
    signature: int test_long(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_INT32_DATA
      Src: /src/openssl/test/asn1_decode_test.c:78,1
    - Dst: ASN1_INT32_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: test_int32
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - d2i_ASN1_INT32_DATA
    - ASN1_INT32_DATA_free
    linkageType: ''
    returnType: int
    signature: int test_int32(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_UINT32_DATA
      Src: /src/openssl/test/asn1_decode_test.c:104,1
    - Dst: ASN1_UINT32_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: test_uint32
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - ASN1_UINT32_DATA_free
    - d2i_ASN1_UINT32_DATA
    linkageType: ''
    returnType: int
    signature: int test_uint32(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_INT64_DATA
      Src: /src/openssl/test/asn1_decode_test.c:130,1
    - Dst: ASN1_INT64_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: test_int64
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - d2i_ASN1_INT64_DATA
    - ASN1_INT64_DATA_free
    linkageType: ''
    returnType: int
    signature: int test_int64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_UINT64_DATA
      Src: /src/openssl/test/asn1_decode_test.c:156,1
    - Dst: ASN1_UINT64_DATA_free
      Src: /src/openssl/test/asn1_decode_test.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: test_uint64
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - d2i_ASN1_UINT64_DATA
    - ASN1_UINT64_DATA_free
    linkageType: ''
    returnType: int
    signature: int test_uint64(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_GENERALIZEDTIME
      Src: /src/openssl/test/asn1_decode_test.c:180,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_decode_test.c:182,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/test/asn1_decode_test.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 187
    functionName: test_gentime
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - ASN1_GENERALIZEDTIME_free
    - TEST_ptr_null
    - d2i_ASN1_GENERALIZEDTIME
    linkageType: ''
    returnType: int
    signature: int test_gentime(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ASN1_UTCTIME
      Src: /src/openssl/test/asn1_decode_test.c:204,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_decode_test.c:206,1
    - Dst: ASN1_UTCTIME_free
      Src: /src/openssl/test/asn1_decode_test.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: test_utctime
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - d2i_ASN1_UTCTIME
    - TEST_ptr_null
    - ASN1_UTCTIME_free
    linkageType: ''
    returnType: int
    signature: int test_utctime(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_INVALIDTEMPLATE
      Src: /src/openssl/test/asn1_decode_test.c:239,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/asn1_decode_test.c:243,1
    - Dst: INVALIDTEMPLATE_free
      Src: /src/openssl/test/asn1_decode_test.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: test_invalid_template
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - INVALIDTEMPLATE_free
    - TEST_ptr_null
    - d2i_INVALIDTEMPLATE
    linkageType: ''
    returnType: int
    signature: int test_invalid_template(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_decode_test.c:262,1
    - Dst: ASN1_OBJECT_create
      Src: /src/openssl/test/asn1_decode_test.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/asn1_decode_test.c:266,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/openssl/test/asn1_decode_test.c:266,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/test/asn1_decode_test.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 272
    functionName: test_reuse_asn1_object
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - ASN1_OBJECT_create
    - TEST_ptr
    - d2i_ASN1_OBJECT
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int test_reuse_asn1_object(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:277,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:279,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:280,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:281,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:282,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:283,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:284,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:285,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_decode_test.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_decode_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/provider_pkey_test.c:29,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:32,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:35,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:35,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/provider_pkey_test.c:38,1
    - Dst: TEST_info
      Src: /src/openssl/test/provider_pkey_test.c:39,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_pkey_test.c:40,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_pkey_test.c:41,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/provider_pkey_test.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - alg
    - propq
    - expected_prov
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: fetch_sig
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - EVP_SIGNATURE_get0_provider
    - EVP_SIGNATURE_free
    - OSSL_PROVIDER_get0_name
    - TEST_info
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: "int fetch_sig(OSSL_LIB_CTX *ctx, const char *alg, const char *propq,\n
      \                    OSSL_PROVIDER *expected_prov)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:60,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:60,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:63,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:63,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:67,1
    - Dst: fetch_sig
      Src: /src/openssl/test/provider_pkey_test.c:67,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:68,1
    - Dst: fetch_sig
      Src: /src/openssl/test/provider_pkey_test.c:68,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:72,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:72,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:74,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/provider_pkey_test.c:74,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:75,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/provider_pkey_test.c:75,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:76,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:79,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:91,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/provider_pkey_test.c:91,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:100,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/test/provider_pkey_test.c:100,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:103,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/test/provider_pkey_test.c:103,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/provider_pkey_test.c:104,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:107,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:114,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:115,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:116,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:117,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 119
    functionName: test_pkey_sig
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_sign_init
    - fake_rsa_start
    - EVP_PKEY_fromdata
    - fake_rsa_finish
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - fetch_sig
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - EVP_PKEY_sign
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int test_pkey_sig(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:130,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:130,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:134,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:134,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_pkey_test.c:137,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/provider_pkey_test.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:140,1
    - Dst: EVP_PKEY_CTX_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:140,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:143,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_pkey_test.c:143,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_pkey_test.c:146,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:149,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:153,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:153,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:156,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:156,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_pkey_test.c:160,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/provider_pkey_test.c:160,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:163,1
    - Dst: EVP_PKEY_CTX_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:163,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:166,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_pkey_test.c:166,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_pkey_test.c:169,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:175,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:176,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:177,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 121
    functionDepth: 5
    functionLinenumber: 121
    functionLinenumberEnd: 179
    functionName: test_alternative_keygen_init
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - fake_rsa_start
    - TEST_str_eq
    - OSSL_PROVIDER_get0_name
    - fake_rsa_finish
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_get0_provider
    - TEST_ptr
    - EVP_PKEY_keygen_init
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_alternative_keygen_init(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:191,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:191,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:194,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:198,1
    - Dst: fake_rsa_key_params
      Src: /src/openssl/test/provider_pkey_test.c:198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:199,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:201,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/provider_pkey_test.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:202,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/provider_pkey_test.c:202,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:204,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:207,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:209,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:213,1
    - Dst: fake_rsa_key_params
      Src: /src/openssl/test/provider_pkey_test.c:213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:214,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/provider_pkey_test.c:214,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:216,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/provider_pkey_test.c:216,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:217,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/provider_pkey_test.c:217,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:219,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:222,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:224,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:228,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/provider_pkey_test.c:228,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:233,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:234,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:235,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:236,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:237,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/provider_pkey_test.c:238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 181
    functionDepth: 6
    functionLinenumber: 181
    functionLinenumberEnd: 240
    functionName: test_pkey_eq
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - fake_rsa_start
    - EVP_PKEY_eq
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - fake_rsa_key_params
    - fake_rsa_finish
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - TEST_true
    - TEST_ptr
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int test_pkey_eq(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:255,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:255,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:258,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:258,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:261,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/test/provider_pkey_test.c:261,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/test/provider_pkey_test.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:267,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:267,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/test/provider_pkey_test.c:271,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/test/provider_pkey_test.c:272,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/test/provider_pkey_test.c:274,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/openssl/test/provider_pkey_test.c:275,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/test/provider_pkey_test.c:276,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:280,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:280,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/provider_pkey_test.c:280,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:286,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:287,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:288,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:289,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 242
    functionDepth: 10
    functionLinenumber: 242
    functionLinenumberEnd: 291
    functionName: test_pkey_store
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - fake_rsa_start
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_LOADER_free
    - EVP_PKEY_is_a
    - fake_rsa_finish
    - OSSL_STORE_eof
    - OSSL_STORE_load
    - TEST_int_eq
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - EVP_PKEY_free
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - TEST_ptr
    - OSSL_STORE_INFO_free
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_LOADER_fetch
    linkageType: ''
    returnType: int
    signature: int test_pkey_store(int idx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:305,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:308,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:308,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:311,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/test/provider_pkey_test.c:311,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/test/provider_pkey_test.c:315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:318,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:318,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/test/provider_pkey_test.c:322,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/test/provider_pkey_test.c:323,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/test/provider_pkey_test.c:325,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/openssl/test/provider_pkey_test.c:326,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/test/provider_pkey_test.c:327,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:331,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:331,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/provider_pkey_test.c:331,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:333,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:336,1
    - Dst: OSSL_STORE_delete
      Src: /src/openssl/test/provider_pkey_test.c:336,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:339,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:339,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:343,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:343,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/test/provider_pkey_test.c:347,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/test/provider_pkey_test.c:348,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/provider_pkey_test.c:349,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:356,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:357,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:358,1
    - Dst: fake_rsa_restore_store_state
      Src: /src/openssl/test/provider_pkey_test.c:359,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 293
    functionDepth: 10
    functionLinenumber: 293
    functionLinenumberEnd: 361
    functionName: test_pkey_delete
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_LOADER_free
    - EVP_PKEY_is_a
    - fake_rsa_finish
    - OSSL_PROVIDER_unload
    - TEST_ptr
    - fake_rsa_restore_store_state
    - OSSL_PROVIDER_load
    - EVP_PKEY_free
    - OSSL_STORE_INFO_free
    - OSSL_STORE_LOADER_fetch
    - fake_rsa_start
    - OSSL_STORE_eof
    - OSSL_STORE_load
    - OSSL_STORE_open_ex
    - TEST_ptr_null
    - TEST_int_eq
    - OSSL_STORE_close
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_delete
    linkageType: ''
    returnType: int
    signature: int test_pkey_delete(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_string_type
      Src: /src/openssl/test/provider_pkey_test.c:367,1
    - Dst: UI_set_result
      Src: /src/openssl/test/provider_pkey_test.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: fake_pw_read_string
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - UI_get_string_type
    - UI_set_result
    linkageType: ''
    returnType: int
    signature: int fake_pw_read_string(UI *ui, UI_STRING *uis)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:387,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:387,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:390,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:393,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/test/provider_pkey_test.c:393,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/test/provider_pkey_test.c:397,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:399,1
    - Dst: UI_create_method
      Src: /src/openssl/test/provider_pkey_test.c:399,1
    - Dst: UI_method_set_reader
      Src: /src/openssl/test/provider_pkey_test.c:402,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:405,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:405,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:410,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/provider_pkey_test.c:411,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/test/provider_pkey_test.c:411,1
    - Dst: UI_destroy_method
      Src: /src/openssl/test/provider_pkey_test.c:419,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:420,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:421,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/test/provider_pkey_test.c:422,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:423,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 375
    functionDepth: 10
    functionLinenumber: 375
    functionLinenumberEnd: 425
    functionName: test_pkey_store_open_ex
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - fake_rsa_start
    - TEST_ptr_null
    - OSSL_STORE_LOADER_free
    - UI_method_set_reader
    - fake_rsa_finish
    - UI_create_method
    - UI_destroy_method
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - EVP_PKEY_free
    - OSSL_STORE_open_ex
    - OSSL_STORE_close
    - TEST_ptr
    - OSSL_STORE_LOADER_fetch
    linkageType: ''
    returnType: int
    signature: int test_pkey_store_open_ex(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:432,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:434,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:436,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:439,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_pkey_test.c:439,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:440,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_pkey_test.c:440,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:441,1
    - Dst: fake_rsa_start
      Src: /src/openssl/test/provider_pkey_test.c:441,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_pkey_test.c:442,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_pkey_test.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - providers
    - prop
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 430
    functionDepth: 10
    functionLinenumber: 430
    functionLinenumberEnd: 445
    functionName: reset_ctx_providers
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - fake_rsa_start
    - OSSL_LIB_CTX_free
    - fake_rsa_finish
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - TEST_true
    - EVP_set_default_properties
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int reset_ctx_providers(OSSL_LIB_CTX **ctx, OSSL_PROVIDER *providers[2],
      const char *prop)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:650,1
    - Dst: BIO_new
      Src: /src/openssl/test/provider_pkey_test.c:650,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/provider_pkey_test.c:650,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_pkey_test.c:651,1
    - Dst: BIO_write
      Src: /src/openssl/test/provider_pkey_test.c:651,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:652,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/provider_pkey_test.c:652,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/provider_pkey_test.c:653,1
    - Dst: BIO_seek
      Src: /src/openssl/test/provider_pkey_test.c:653,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/provider_pkey_test.c:654,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/test/provider_pkey_test.c:654,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:655,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/test/provider_pkey_test.c:655,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:657,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/provider_pkey_test.c:660,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:670,1
    - Dst: reset_ctx_providers
      Src: /src/openssl/test/provider_pkey_test.c:670,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/provider_pkey_test.c:672,1
    - Dst: BIO_seek
      Src: /src/openssl/test/provider_pkey_test.c:672,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:673,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/provider_pkey_test.c:673,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/provider_pkey_test.c:675,1
    - Dst: EVP_PKEY_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:675,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:677,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:681,1
    - Dst: reset_ctx_providers
      Src: /src/openssl/test/provider_pkey_test.c:681,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:684,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/test/provider_pkey_test.c:684,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/provider_pkey_test.c:685,1
    - Dst: EVP_PKEY_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:685,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:687,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/provider_pkey_test.c:691,1
    - Dst: reset_ctx_providers
      Src: /src/openssl/test/provider_pkey_test.c:691,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_pkey_test.c:693,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/test/provider_pkey_test.c:693,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/provider_pkey_test.c:694,1
    - Dst: EVP_PKEY_get0_provider
      Src: /src/openssl/test/provider_pkey_test.c:694,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:696,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/provider_pkey_test.c:703,1
    - Dst: BIO_free
      Src: /src/openssl/test/provider_pkey_test.c:704,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/provider_pkey_test.c:705,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/provider_pkey_test.c:706,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_pkey_test.c:707,1
    - Dst: fake_rsa_finish
      Src: /src/openssl/test/provider_pkey_test.c:708,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:709,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 453
    functionDepth: 12
    functionLinenumber: 453
    functionLinenumberEnd: 711
    functionName: test_pkey_provider_decoder_props
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - fake_rsa_finish
    - OSSL_PROVIDER_unload
    - OPENSSL_free
    - BIO_s_mem
    - TEST_ptr
    - BIO_write
    - BIO_new
    - PKCS8_PRIV_KEY_INFO_free
    - BIO_seek
    - EVP_PKEY_free
    - EVP_PKEY_get0_provider
    - i2d_PUBKEY
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - d2i_PUBKEY_ex
    - reset_ctx_providers
    - EVP_PKCS82PKEY_ex
    - OSSL_LIB_CTX_free
    - TEST_int_ge
    - TEST_int_eq
    - OSSL_NELEM
    - EVP_PKEY2PKCS8
    - TEST_ptr_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_pkey_provider_decoder_props(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_pkey_test.c:715,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:719,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:720,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:721,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/provider_pkey_test.c:722,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:723,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:724,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_pkey_test.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 713
    functionDepth: 4
    functionLinenumber: 713
    functionLinenumberEnd: 728
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_pkey_test.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/provider_pkey_test.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TLS_client_method
      Src: /src/openssl/test/ssl_ctx_test.c:83,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/ssl_ctx_test.c:88,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/ssl_ctx_test.c:94,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ssl_ctx_test.c:100,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/ssl_ctx_test.c:102,1
    - Dst: SSL_new
      Src: /src/openssl/test/ssl_ctx_test.c:106,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:110,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:110,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:112,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:112,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:114,1
    - Dst: SSL_CTX_get_min_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:116,1
    - Dst: SSL_CTX_get_max_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:116,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:119,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:119,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:121,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:121,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:123,1
    - Dst: SSL_get_min_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:123,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_ctx_test.c:125,1
    - Dst: SSL_get_max_proto_version
      Src: /src/openssl/test/ssl_ctx_test.c:125,1
    - Dst: SSL_free
      Src: /src/openssl/test/ssl_ctx_test.c:131,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_ctx_test.c:132,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 1
    argNames:
    - idx_tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 134
    functionName: test_set_min_max_version
    functionSourceFile: /src/openssl/test/ssl_ctx_test.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_set_min_proto_version
    - SSL_free
    - SSL_CTX_get_max_proto_version
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_get_min_proto_version
    - TEST_skip
    - TEST_int_eq
    - SSL_get_max_proto_version
    - DTLS_client_method
    - SSL_new
    - SSL_CTX_new
    - SSL_set_max_proto_version
    - SSL_get_min_proto_version
    - OSSL_QUIC_client_method
    - TLS_client_method
    - SSL_CTX_set_max_proto_version
    linkageType: ''
    returnType: int
    signature: int test_set_min_max_version(int idx_tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ssl_ctx_test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ssl_ctx_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: _UC
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _UC(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: save_errno
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void save_errno(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: restore_errno
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int restore_errno(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/danetest.c:99,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:102,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/test/danetest.c:102,1
    - Dst: PEM_read_bio
      Src: /src/openssl/test/danetest.c:107,1
    - Dst: strcmp
      Src: /src/openssl/test/danetest.c:109,1
    - Dst: strcmp
      Src: /src/openssl/test/danetest.c:110,1
    - Dst: strcmp
      Src: /src/openssl/test/danetest.c:111,1
    - Dst: strcmp
      Src: /src/openssl/test/danetest.c:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:117,1
    - Dst: d
      Src: /src/openssl/test/danetest.c:117,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/danetest.c:118,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:119,1
    - Dst: TEST_true
      Src: /src/openssl/test/danetest.c:123,1
    - Dst: sk_X509_push
      Src: /src/openssl/test/danetest.c:123,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:130,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:132,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/danetest.c:138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:145,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/danetest.c:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - fp
    - nelem
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 91
    functionDepth: 5
    functionLinenumber: 91
    functionLinenumberEnd: 148
    functionName: load_chain
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 1
    functionsReached:
    - d
    - strcmp
    - ERR_clear_error
    - TEST_info
    - sk_X509_push
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - TEST_long_eq
    - OPENSSL_free
    - PEM_read_bio
    - TEST_true
    - sk_X509_new_null
    - TEST_ptr
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *load_chain(BIO *fp, int nelem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/test/danetest.c:155,1
    - Dst: strlen
      Src: /src/openssl/test/danetest.c:158,1
    - Dst: TEST_error
      Src: /src/openssl/test/danetest.c:161,1
    - Dst: TEST_error
      Src: /src/openssl/test/danetest.c:163,1
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:168,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: read_to_eol
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - isspace
    - BIO_gets
    - _UC
    - strlen
    - TEST_error
    linkageType: ''
    returnType: char
    signature: char *read_to_eol(BIO *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:185,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/danetest.c:185,1
    - Dst: strlen
      Src: /src/openssl/test/danetest.c:185,1
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:192,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:192,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/test/danetest.c:194,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:196,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - in
    - result
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: hexdecode
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_hexchar2int
    - isspace
    - _UC
    - OPENSSL_free
    - TEST_ptr
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t hexdecode(const char *in, void *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: save_errno
      Src: /src/openssl/test/danetest.c:223,1
    - Dst: strtol
      Src: /src/openssl/test/danetest.c:224,1
    - Dst: restore_errno
      Src: /src/openssl/test/danetest.c:225,1
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:228,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:228,1
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:232,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 235
    functionName: checked_uint8
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - isspace
    - restore_errno
    - strtol
    - _UC
    - save_errno
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t checked_uint8(const char *in, void *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct tlsa_field*::parser
      Src: /src/openssl/test/danetest.c:262,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:263,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/openssl/test/danetest.c:268,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/danetest.c:269,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:271,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ssl
    - rrdata
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 280
    functionName: tlsa_import_rr
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - struct tlsa_field*::parser
    - TEST_info
    - SSL_dane_tlsa_add
    linkageType: ''
    returnType: int
    signature: int tlsa_import_rr(SSL *ssl, const char *rrdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/test/danetest.c:285,1
    - Dst: _UC
      Src: /src/openssl/test/danetest.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: allws
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - _UC
    - isspace
    linkageType: ''
    returnType: int
    signature: int allws(const char *cp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: read_to_eol
      Src: /src/openssl/test/danetest.c:298,1
    - Dst: STACK_OF
      Src: /src/openssl/test/danetest.c:299,1
    - Dst: sscanf
      Src: /src/openssl/test/danetest.c:315,1
    - Dst: allws
      Src: /src/openssl/test/danetest.c:317,1
    - Dst: TEST_error
      Src: /src/openssl/test/danetest.c:318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:322,1
    - Dst: SSL_new
      Src: /src/openssl/test/danetest.c:322,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/danetest.c:324,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/test/danetest.c:325,1
    - Dst: SSL_free
      Src: /src/openssl/test/danetest.c:326,1
    - Dst: SSL_dane_set_flags
      Src: /src/openssl/test/danetest.c:330,1
    - Dst: read_to_eol
      Src: /src/openssl/test/danetest.c:333,1
    - Dst: tlsa_import_rr
      Src: /src/openssl/test/danetest.c:333,1
    - Dst: SSL_free
      Src: /src/openssl/test/danetest.c:334,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/danetest.c:340,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:341,1
    - Dst: load_chain
      Src: /src/openssl/test/danetest.c:341,1
    - Dst: SSL_free
      Src: /src/openssl/test/danetest.c:342,1
    - Dst: verify_chain
      Src: /src/openssl/test/danetest.c:346,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/danetest.c:347,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/danetest.c:348,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/danetest.c:354,1
    - Dst: SSL_get0_dane_authority
      Src: /src/openssl/test/danetest.c:355,1
    - Dst: SSL_set_verify_result
      Src: /src/openssl/test/danetest.c:357,1
    - Dst: SSL_free
      Src: /src/openssl/test/danetest.c:358,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/danetest.c:360,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:362,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/test/danetest.c:363,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:365,1
    - Dst: TEST_false
      Src: /src/openssl/test/danetest.c:369,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:370,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/danetest.c:374,1
    - Dst: TEST_info
      Src: /src/openssl/test/danetest.c:375,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/danetest.c:379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 4
    argNames:
    - ctx
    - base_name
    - f
    - path
    argTypes:
    - SSL_CTX*
    - char*
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 290
    functionDepth: 8
    functionLinenumber: 290
    functionLinenumberEnd: 382
    functionName: test_tlsafile
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - SSL_dane_enable
    - SSL_dane_set_flags
    - tlsa_import_rr
    - load_chain
    - allws
    - TEST_ptr
    - SSL_get0_dane_authority
    - SSL_set_connect_state
    - ERR_clear_error
    - read_to_eol
    - SSL_set_verify_result
    - TEST_info
    - OSSL_STACK_OF_X509_free
    - TEST_error
    - SSL_get_verify_result
    - SSL_free
    - STACK_OF
    - SSL_new
    - verify_chain
    - TEST_false
    - TEST_int_eq
    - X509_verify_cert_error_string
    - sscanf
    linkageType: ''
    returnType: int
    signature: "int test_tlsafile(SSL_CTX *ctx, const char *base_name,\n                         BIO
      *f, const char *path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:390,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/danetest.c:390,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:391,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/danetest.c:391,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/danetest.c:391,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/danetest.c:392,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/openssl/test/danetest.c:392,1
    - Dst: TEST_true
      Src: /src/openssl/test/danetest.c:393,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/openssl/test/danetest.c:393,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/danetest.c:394,1
    - Dst: SSL_CTX_dane_mtype_set
      Src: /src/openssl/test/danetest.c:394,1
    - Dst: EVP_sha512
      Src: /src/openssl/test/danetest.c:394,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/danetest.c:395,1
    - Dst: SSL_CTX_dane_mtype_set
      Src: /src/openssl/test/danetest.c:395,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/danetest.c:395,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/danetest.c:396,1
    - Dst: test_tlsafile
      Src: /src/openssl/test/danetest.c:396,1
    - Dst: BIO_free
      Src: /src/openssl/test/danetest.c:401,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/danetest.c:402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 384
    functionDepth: 9
    functionLinenumber: 384
    functionLinenumberEnd: 405
    functionName: run_tlsatest
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - SSL_CTX_free
    - SSL_CTX_dane_enable
    - BIO_free
    - EVP_sha512
    - EVP_sha256
    - SSL_CTX_new
    - SSL_CTX_load_verify_file
    - TEST_true
    - SSL_CTX_dane_mtype_set
    - TEST_ptr
    - TLS_client_method
    - test_tlsafile
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int run_tlsatest(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/danetest.c:411,1
    - Dst: TEST_error
      Src: /src/openssl/test/danetest.c:412,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:416,1
    - Dst: test_get_argument
      Src: /src/openssl/test/danetest.c:416,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:417,1
    - Dst: test_get_argument
      Src: /src/openssl/test/danetest.c:417,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/danetest.c:418,1
    - Dst: test_get_argument
      Src: /src/openssl/test/danetest.c:418,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/danetest.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 423
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_set0_dane
      Src: /src/openssl/test/danetest.c:429,1
    - Dst: SSL_get0_dane
      Src: /src/openssl/test/danetest.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - store_ctx
    - ssl
    argTypes:
    - X509_STORE_CTX*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: store_ctx_dane_init
    functionSourceFile: /src/openssl/test/danetest.c
    functionUses: 0
    functionsReached:
    - SSL_get0_dane
    - X509_STORE_CTX_set0_dane
    linkageType: ''
    returnType: void
    signature: void store_ctx_dane_init(X509_STORE_CTX *store_ctx, SSL *ssl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:23,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_acert_test.c:23,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:26,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_acert_test.c:26,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:29,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/x509_acert_test.c:29,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:32,1
    - Dst: PEM_read_bio_X509_ACERT
      Src: /src/openssl/test/x509_acert_test.c:32,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_acert_test.c:35,1
    - Dst: X509_ACERT_print
      Src: /src/openssl/test/x509_acert_test.c:35,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_acert_test.c:42,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_acert_test.c:43,1
    - Dst: X509_ACERT_free
      Src: /src/openssl/test/x509_acert_test.c:44,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 16
    functionDepth: 6
    functionLinenumber: 16
    functionLinenumberEnd: 46
    functionName: test_print_acert
    functionSourceFile: /src/openssl/test/x509_acert_test.c
    functionUses: 0
    functionsReached:
    - X509_ACERT_print
    - BIO_new_file
    - BIO_new_fp
    - BIO_free
    - TEST_int_eq
    - test_get_argument
    - PEM_read_bio_X509_ACERT
    - X509_ACERT_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_print_acert(int idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:56,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_acert_test.c:56,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:59,1
    - Dst: EVP_RSA_gen
      Src: /src/openssl/test/x509_acert_test.c:59,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:62,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/x509_acert_test.c:62,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:65,1
    - Dst: PEM_read_bio_X509_ACERT
      Src: /src/openssl/test/x509_acert_test.c:65,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_acert_test.c:68,1
    - Dst: X509_ACERT_sign
      Src: /src/openssl/test/x509_acert_test.c:68,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/x509_acert_test.c:68,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_acert_test.c:69,1
    - Dst: X509_ACERT_verify
      Src: /src/openssl/test/x509_acert_test.c:69,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_acert_test.c:75,1
    - Dst: X509_ACERT_free
      Src: /src/openssl/test/x509_acert_test.c:76,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/x509_acert_test.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 79
    functionName: test_acert_sign
    functionSourceFile: /src/openssl/test/x509_acert_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - TEST_int_gt
    - TEST_int_eq
    - X509_ACERT_verify
    - EVP_PKEY_free
    - EVP_sha256
    - test_get_argument
    - PEM_read_bio_X509_ACERT
    - X509_ACERT_sign
    - TEST_ptr
    - X509_ACERT_free
    - EVP_RSA_gen
    linkageType: ''
    returnType: int
    signature: int test_acert_sign(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - valid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: ADD_TEST_DATA
    functionSourceFile: /src/openssl/test/x509_acert_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEST_DATA(x, valid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:128,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/x509_acert_test.c:128,1
    - Dst: d2i_OSSL_IETF_ATTR_SYNTAX
      Src: /src/openssl/test/x509_acert_test.c:133,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_acert_test.c:135,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_acert_test.c:136,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_acert_test.c:140,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_print
      Src: /src/openssl/test/x509_acert_test.c:140,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_free
      Src: /src/openssl/test/x509_acert_test.c:141,1
    - Dst: OSSL_IETF_ATTR_SYNTAX_free
      Src: /src/openssl/test/x509_acert_test.c:148,1
    - Dst: BIO_free
      Src: /src/openssl/test/x509_acert_test.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 120
    functionDepth: 6
    functionLinenumber: 120
    functionLinenumberEnd: 151
    functionName: test_object_group_attr
    functionSourceFile: /src/openssl/test/x509_acert_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - BIO_new_fp
    - d2i_OSSL_IETF_ATTR_SYNTAX
    - BIO_free
    - TEST_int_eq
    - OSSL_IETF_ATTR_SYNTAX_print
    - TEST_ptr
    - OSSL_IETF_ATTR_SYNTAX_free
    linkageType: ''
    returnType: int
    signature: int test_object_group_attr(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/x509_acert_test.c:158,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_acert_test.c:159,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/x509_acert_test.c:163,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_acert_test.c:165,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_acert_test.c:169,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_acert_test.c:170,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_acert_test.c:171,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_acert_test.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_acert_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - OSSL_NELEM
    - test_skip_common_options
    - test_get_argument_count
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/provider_internal_test.c:29,1
    - Dst: ossl_provider_activate
      Src: /src/openssl/test/provider_internal_test.c:29,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_internal_test.c:30,1
    - Dst: ossl_provider_get_params
      Src: /src/openssl/test/provider_internal_test.c:30,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:31,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/provider_internal_test.c:32,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/provider_internal_test.c:33,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_internal_test.c:34,1
    - Dst: ossl_provider_deactivate
      Src: /src/openssl/test/provider_internal_test.c:34,1
    - Dst: TEST_info
      Src: /src/openssl/test/provider_internal_test.c:36,1
    - Dst: ossl_provider_free
      Src: /src/openssl/test/provider_internal_test.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - prov
    - expected_greeting
    argTypes:
    - OSSL_PROVIDER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: test_provider
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 5
    functionsReached:
    - ossl_provider_free
    - TEST_size_t_gt
    - ossl_provider_activate
    - TEST_str_eq
    - TEST_info
    - ossl_provider_deactivate
    - ossl_provider_get_params
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_provider(OSSL_PROVIDER *prov, const char *expected_greeting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/provider_internal_test.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: expected_greeting1
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: char
    signature: char *expected_greeting1(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_internal_test.c:63,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:66,1
    - Dst: ossl_provider_new
      Src: /src/openssl/test/provider_internal_test.c:67,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_internal_test.c:68,1
    - Dst: expected_greeting1
      Src: /src/openssl/test/provider_internal_test.c:68,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/provider_internal_test.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 10
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: test_builtin_provider
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    - ossl_provider_new
    - EVP_set_default_properties
    - TEST_ptr
    - expected_greeting1
    linkageType: ''
    returnType: int
    signature: int test_builtin_provider(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:82,1
    - Dst: ossl_provider_new
      Src: /src/openssl/test/provider_internal_test.c:82,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_internal_test.c:83,1
    - Dst: expected_greeting1
      Src: /src/openssl/test/provider_internal_test.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: test_loaded_provider
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - test_provider
    - TEST_ptr
    - expected_greeting1
    - ossl_provider_new
    linkageType: ''
    returnType: int
    signature: int test_loaded_provider(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:96,1
    - Dst: ossl_provider_find
      Src: /src/openssl/test/provider_internal_test.c:96,1
    - Dst: test_provider
      Src: /src/openssl/test/provider_internal_test.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 7
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: test_configured_provider
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - ossl_provider_find
    - test_provider
    linkageType: ''
    returnType: int
    signature: int test_configured_provider(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:109,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provider_internal_test.c:109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:110,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provider_internal_test.c:110,1
    - Dst: TEST_true
      Src: /src/openssl/test/provider_internal_test.c:111,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_internal_test.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provider_internal_test.c:112,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/provider_internal_test.c:112,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/provider_internal_test.c:114,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_internal_test.c:116,1
    - Dst: TEST_false
      Src: /src/openssl/test/provider_internal_test.c:119,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_internal_test.c:119,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/provider_internal_test.c:122,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/provider_internal_test.c:122,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/provider_internal_test.c:123,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/test/provider_internal_test.c:123,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/provider_internal_test.c:125,1
    - Dst: TEST_info
      Src: /src/openssl/test/provider_internal_test.c:126,1
    - Dst: TEST_info
      Src: /src/openssl/test/provider_internal_test.c:128,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provider_internal_test.c:133,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/provider_internal_test.c:134,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provider_internal_test.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 10
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: test_cache_flushes
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - TEST_ptr_null
    - OSSL_LIB_CTX_free
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_get0_name
    - OSSL_LIB_CTX_new
    - EVP_MD_fetch
    - TEST_false
    - TEST_info
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - TEST_true
    - TEST_ptr
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: int
    signature: int test_cache_flushes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_internal_test.c:141,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_internal_test.c:143,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_internal_test.c:145,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/provider_internal_test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/provider_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/p_test.c:71,1
    - Dst: va_end
      Src: /src/openssl/test/p_test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - n
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: local_snprintf
    functionSourceFile: /src/openssl/test/p_test.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int local_snprintf(char *buf, size_t n, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/p_test.c:82,1
    - Dst: c_new_error
      Src: /src/openssl/test/p_test.c:83,1
    - Dst: c_set_error_debug
      Src: /src/openssl/test/p_test.c:84,1
    - Dst: c_vset_error
      Src: /src/openssl/test/p_test.c:85,1
    - Dst: ERR_PACK
      Src: /src/openssl/test/p_test.c:85,1
    - Dst: va_end
      Src: /src/openssl/test/p_test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - lib
    - reason
    - file
    - line
    - func
    - fmt
    argTypes:
    - int
    - int
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: p_set_error
    functionSourceFile: /src/openssl/test/p_test.c
    functionUses: 0
    functionsReached:
    - va_end
    - c_new_error
    - ERR_PACK
    - c_vset_error
    - va_start
    - c_set_error_debug
    linkageType: ''
    returnType: void
    signature: "void p_set_error(int lib, int reason, const char *file, int line,\n
      \                       const char *func, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: p_gettable_params
    functionSourceFile: /src/openssl/test/p_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *p_gettable_params(void *_)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/p_test.c:102,1
    - Dst: c_get_params
      Src: /src/openssl/test/p_test.c:124,1
    - Dst: strcpy
      Src: /src/openssl/test/p_test.c:126,1
    - Dst: local_snprintf
      Src: /src/openssl/test/p_test.c:131,1
    - Dst: local_snprintf
      Src: /src/openssl/test/p_test.c:135,1
    - Dst: strlen
      Src: /src/openssl/test/p_test.c:138,1
    - Dst: strcpy
      Src: /src/openssl/test/p_test.c:140,1
    - Dst: strcmp
      Src: /src/openssl/test/p_test.c:143,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/p_test.c:152,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/p_test.c:153,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/p_test.c:162,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/p_test.c:164,1
    - Dst: p_set_error
      Src: /src/openssl/test/p_test.c:166,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/p_test.c:178,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/p_test.c:179,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/p_test.c:180,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/p_test.c:181,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/test/p_test.c:184,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/test/p_test.c:185,1
    - Dst: strlen
      Src: /src/openssl/test/p_test.c:186,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/test/p_test.c:187,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/p_test.c:190,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/p_test.c:191,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/p_test.c:192,1
    - Dst: strcmp
      Src: /src/openssl/test/p_test.c:200,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/p_test.c:208,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 94
    functionDepth: 10
    functionLinenumber: 94
    functionLinenumberEnd: 219
    functionName: p_get_params
    functionSourceFile: /src/openssl/test/p_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - EVP_DigestFinal
    - EVP_MD_free
    - EVP_DigestUpdate
    - OSSL_PROVIDER_available
    - p_set_error
    - c_get_params
    - EVP_MD_CTX_new
    - OSSL_PROVIDER_load
    - EVP_MD_CTX_free
    - OSSL_PROVIDER_unload
    - EVP_set_default_properties
    - EVP_DigestInit_ex
    - strcmp
    - EVP_MD_fetch
    - strlen
    - local_snprintf
    linkageType: ''
    returnType: int
    signature: int p_get_params(void *provctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: p_get_reason_strings
    functionSourceFile: /src/openssl/test/p_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ITEM
    signature: OSSL_ITEM *p_get_reason_strings(void *_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prov
    - operation_id
    - no_cache
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: p_query
    functionSourceFile: /src/openssl/test/p_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *p_query(OSSL_PROVIDER *prov,\n                                     int
      operation_id,\n                                     int *no_cache)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/openssl/test/p_test.c:262,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/openssl/test/p_test.c:265,1
    - Dst: OSSL_FUNC_core_new_error
      Src: /src/openssl/test/p_test.c:268,1
    - Dst: OSSL_FUNC_core_set_error_debug
      Src: /src/openssl/test/p_test.c:271,1
    - Dst: OSSL_FUNC_core_vset_error
      Src: /src/openssl/test/p_test.c:274,1
    - Dst: OSSL_FUNC_BIO_vsnprintf
      Src: /src/openssl/test/p_test.c:277,1
    - Dst: malloc
      Src: /src/openssl/test/p_test.c:295,1
    - Dst: strdup
      Src: /src/openssl/test/p_test.c:298,1
    - Dst: strdup
      Src: /src/openssl/test/p_test.c:299,1
    - Dst: OSSL_LIB_CTX_new_child
      Src: /src/openssl/test/p_test.c:303,1
    - Dst: p_set_error
      Src: /src/openssl/test/p_test.c:306,1
    - Dst: p_teardown
      Src: /src/openssl/test/p_test.c:308,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/p_test.c:316,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/p_test.c:318,1
    - Dst: p_teardown
      Src: /src/openssl/test/p_test.c:319,1
    - Dst: p_set_error
      Src: /src/openssl/test/p_test.c:329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - handle
    - oin
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 251
    functionDepth: 10
    functionLinenumber: 251
    functionLinenumberEnd: 334
    functionName: OSSL_provider_init
    functionSourceFile: /src/openssl/test/p_test.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_core_vset_error
    - EVP_MD_free
    - OSSL_FUNC_core_get_params
    - OSSL_FUNC_BIO_vsnprintf
    - strdup
    - p_set_error
    - OSSL_LIB_CTX_new_child
    - OSSL_FUNC_core_new_error
    - OSSL_FUNC_core_set_error_debug
    - malloc
    - p_teardown
    - EVP_MD_fetch
    - OSSL_FUNC_core_gettable_params
    linkageType: ''
    returnType: int
    signature: "int OSSL_provider_init(const OSSL_CORE_HANDLE *handle,\n                       const
      OSSL_DISPATCH *oin,\n                       const OSSL_DISPATCH **out,\n                       void
      **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/p_test.c:341,1
    - Dst: free
      Src: /src/openssl/test/p_test.c:343,1
    - Dst: free
      Src: /src/openssl/test/p_test.c:344,1
    - Dst: free
      Src: /src/openssl/test/p_test.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 4
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: p_teardown
    functionSourceFile: /src/openssl/test/p_test.c
    functionUses: 1
    functionsReached:
    - free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void p_teardown(void *provctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/bio_memleak_test.c:24,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_memleak_test.c:24,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:25,1
    - Dst: BIO_set_mem_buf
      Src: /src/openssl/test/bio_memleak_test.c:30,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_memleak_test.c:31,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:32,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:32,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:34,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 41
    functionName: test_bio_memleak
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_new
    - BIO_set_mem_buf
    - BIO_free
    - TEST_int_eq
    - BIO_s_mem
    - TEST_ptr
    - TEST_mem_eq
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int test_bio_memleak(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/bio_memleak_test.c:49,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_memleak_test.c:49,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:50,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:52,1
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_memleak_test.c:52,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/bio_memleak_test.c:54,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:55,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_memleak_test.c:57,1
    - Dst: BIO_set_close
      Src: /src/openssl/test/bio_memleak_test.c:57,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:59,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:61,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:66,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/test/bio_memleak_test.c:67,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: test_bio_get_mem
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BUF_MEM_free
    - BIO_set_close
    - BIO_puts
    - BIO_free
    - TEST_int_eq
    - BIO_s_mem
    - BIO_get_mem_ptr
    - TEST_ptr
    - TEST_mem_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_get_mem(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_memleak_test.c:78,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:79,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:81,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:81,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:83,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_memleak_test.c:85,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/bio_memleak_test.c:85,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/bio_memleak_test.c:87,1
    - Dst: BIO_write
      Src: /src/openssl/test/bio_memleak_test.c:87,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:89,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:89,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:91,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_memleak_test.c:93,1
    - Dst: BIO_reset
      Src: /src/openssl/test/bio_memleak_test.c:93,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:95,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:95,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:97,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:102,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: test_bio_new_mem_buf
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_reset
    - BIO_free
    - TEST_int_eq
    - TEST_ptr
    - TEST_int_lt
    - BIO_get_mem_ptr
    - BIO_new_mem_buf
    - TEST_mem_eq
    - BIO_read
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_new_mem_buf(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/bio_memleak_test.c:113,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:114,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:116,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:116,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:118,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_memleak_test.c:120,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/bio_memleak_test.c:120,1
    - Dst: BIO_set_close
      Src: /src/openssl/test/bio_memleak_test.c:122,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_memleak_test.c:124,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_memleak_test.c:124,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:125,1
    - Dst: BIO_set_mem_buf
      Src: /src/openssl/test/bio_memleak_test.c:127,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_memleak_test.c:128,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:130,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:130,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:132,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_memleak_test.c:134,1
    - Dst: BIO_reset
      Src: /src/openssl/test/bio_memleak_test.c:134,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:136,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:136,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:138,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:143,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:144,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 146
    functionName: test_bio_rdonly_mem_buf
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_new
    - BIO_set_close
    - BIO_set_mem_buf
    - BIO_free
    - TEST_int_eq
    - TEST_ptr
    - BIO_s_mem
    - BIO_reset
    - BIO_get_mem_ptr
    - BIO_new_mem_buf
    - TEST_mem_eq
    - BIO_read
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_rdonly_mem_buf(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/bio_memleak_test.c:154,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_memleak_test.c:154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:155,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:157,1
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_memleak_test.c:157,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_memleak_test.c:160,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:161,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:161,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:163,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_memleak_test.c:165,1
    - Dst: BIO_reset
      Src: /src/openssl/test/bio_memleak_test.c:165,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/test/bio_memleak_test.c:168,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:169,1
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_memleak_test.c:169,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:171,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:171,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:174,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:180,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 182
    functionName: test_bio_rdwr_rdonly
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_new
    - BIO_clear_flags
    - BIO_puts
    - BIO_free
    - TEST_int_eq
    - BIO_s_mem
    - BIO_reset
    - TEST_ptr
    - TEST_mem_eq
    - BIO_read
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_rdwr_rdonly(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/bio_memleak_test.c:190,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_memleak_test.c:190,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:191,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:193,1
    - Dst: BIO_puts
      Src: /src/openssl/test/bio_memleak_test.c:193,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_memleak_test.c:196,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:198,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:198,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:200,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_memleak_test.c:202,1
    - Dst: BIO_reset
      Src: /src/openssl/test/bio_memleak_test.c:202,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:205,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:205,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/bio_memleak_test.c:207,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/test/bio_memleak_test.c:210,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/bio_memleak_test.c:211,1
    - Dst: BIO_reset
      Src: /src/openssl/test/bio_memleak_test.c:211,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/bio_memleak_test.c:214,1
    - Dst: BIO_read
      Src: /src/openssl/test/bio_memleak_test.c:214,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:220,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 222
    functionName: test_bio_nonclear_rst
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_new
    - BIO_clear_flags
    - BIO_puts
    - TEST_int_lt
    - BIO_free
    - TEST_int_eq
    - BIO_s_mem
    - BIO_reset
    - TEST_ptr
    - TEST_mem_eq
    - BIO_read
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_bio_nonclear_rst(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: BIO_error_callback
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: "long BIO_error_callback(BIO *bio, int cmd, const char *argp,\n                               size_t
      len, int argi,\n                               long argl, int ret, size_t *processed)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:245,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_memleak_test.c:245,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_memleak_test.c:245,1
    - Dst: BIO_set_mem_buf
      Src: /src/openssl/test/bio_memleak_test.c:251,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/bio_memleak_test.c:252,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/test/bio_memleak_test.c:253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:255,1
    - Dst: BIO_new
      Src: /src/openssl/test/bio_memleak_test.c:255,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/bio_memleak_test.c:255,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/bio_memleak_test.c:257,1
    - Dst: PKCS7_new
      Src: /src/openssl/test/bio_memleak_test.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/bio_memleak_test.c:259,1
    - Dst: PKCS7_set_type
      Src: /src/openssl/test/bio_memleak_test.c:259,1
    - Dst: TEST_false
      Src: /src/openssl/test/bio_memleak_test.c:264,1
    - Dst: i2d_ASN1_bio_stream
      Src: /src/openssl/test/bio_memleak_test.c:264,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/bio_memleak_test.c:266,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/bio_memleak_test.c:269,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:275,1
    - Dst: BIO_free
      Src: /src/openssl/test/bio_memleak_test.c:276,1
    - Dst: PKCS7_free
      Src: /src/openssl/test/bio_memleak_test.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 237
    functionDepth: 7
    functionLinenumber: 237
    functionLinenumberEnd: 279
    functionName: test_bio_i2d_ASN1_mime
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_new
    - i2d_ASN1_bio_stream
    - PKCS7_free
    - BIO_set_callback_ex
    - PKCS7_new
    - BIO_set_mem_buf
    - BIO_free
    - TEST_false
    - ASN1_ITEM_rptr
    - PKCS7_set_type
    - TEST_int_eq
    - BIO_s_mem
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_bio_i2d_ASN1_mime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_memleak_test.c:283,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_memleak_test.c:284,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_memleak_test.c:285,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_memleak_test.c:286,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_memleak_test.c:287,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_memleak_test.c:288,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/bio_memleak_test.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/bio_memleak_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/defltfips_test.c:28,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/defltfips_test.c:29,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/defltfips_test.c:37,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/defltfips_test.c:38,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/defltfips_test.c:45,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/defltfips_test.c:47,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/defltfips_test.c:48,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/defltfips_test.c:52,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/defltfips_test.c:55,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/test/defltfips_test.c:55,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/test/defltfips_test.c:55,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/defltfips_test.c:57,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/defltfips_test.c:60,1
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/openssl/test/defltfips_test.c:64,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/defltfips_test.c:65,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 18
    functionDepth: 10
    functionLinenumber: 18
    functionLinenumberEnd: 69
    functionName: test_is_fips_enabled
    functionSourceFile: /src/openssl/test/defltfips_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - TEST_ptr_null
    - TEST_str_eq
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_get0_name
    - TEST_int_eq
    - TEST_ptr
    - EVP_default_properties_is_fips_enabled
    - EVP_MD_fetch
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: int
    signature: int test_is_fips_enabled(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/defltfips_test.c:76,1
    - Dst: TEST_error
      Src: /src/openssl/test/defltfips_test.c:77,1
    - Dst: test_get_argument_count
      Src: /src/openssl/test/defltfips_test.c:81,1
    - Dst: test_get_argument
      Src: /src/openssl/test/defltfips_test.c:88,1
    - Dst: strcmp
      Src: /src/openssl/test/defltfips_test.c:89,1
    - Dst: strcmp
      Src: /src/openssl/test/defltfips_test.c:93,1
    - Dst: TEST_error
      Src: /src/openssl/test/defltfips_test.c:101,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/defltfips_test.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 108
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/defltfips_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - test_get_argument_count
    - strcmp
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - c
    argTypes:
    - RSA*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 95
    functionName: key1
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key1(RSA *key, unsigned char *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - c
    argTypes:
    - RSA*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 140
    functionName: key2
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key2(RSA *key, unsigned char *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - c
    argTypes:
    - RSA*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 212
    functionName: key3
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key3(RSA *key, unsigned char *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_test.c:218,1
    - Dst: key1
      Src: /src/openssl/test/rsa_test.c:222,1
    - Dst: key2
      Src: /src/openssl/test/rsa_test.c:225,1
    - Dst: key3
      Src: /src/openssl/test/rsa_test.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - key
    - ctext
    - idx
    argTypes:
    - RSA**
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: rsa_setkey
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - key1
    - RSA_new
    - key3
    - key2
    linkageType: ''
    returnType: int
    signature: int rsa_setkey(RSA** key, unsigned char *ctext, int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rsa_setkey
      Src: /src/openssl/test/rsa_test.c:248,1
    - Dst: RSA_public_encrypt
      Src: /src/openssl/test/rsa_test.c:252,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/rsa_test.c:253,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_test.c:256,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/rsa_test.c:258,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rsa_test.c:258,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/rsa_test.c:261,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 7
    argNames:
    - idx
    - en_pad_type
    - de_pad_type
    - success
    - ctext_ex
    - clen
    - retkey
    argTypes:
    - int
    - int
    - int
    - int
    - unsigned char*
    - int*
    - RSA**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 234
    functionDepth: 6
    functionLinenumber: 234
    functionLinenumberEnd: 273
    functionName: test_rsa_simple
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - rsa_setkey
    - RSA_private_decrypt
    - TEST_int_eq
    - RSA_public_encrypt
    - TEST_mem_eq
    - TEST_int_lt
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int test_rsa_simple(int idx, int en_pad_type, int de_pad_type,\n                           int
      success, unsigned char *ctext_ex, int *clen,\n                           RSA
      **retkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_rsa_simple
      Src: /src/openssl/test/rsa_test.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 7
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: test_rsa_pkcs1
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - test_rsa_simple
    linkageType: ''
    returnType: int
    signature: int test_rsa_pkcs1(int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_rsa_simple
      Src: /src/openssl/test/rsa_test.c:293,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_test.c:300,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/rsa_test.c:302,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_test.c:308,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rsa_test.c:310,1
    - Dst: RSA_private_decrypt
      Src: /src/openssl/test/rsa_test.c:317,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rsa_test.c:319,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:325,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 281
    functionDepth: 7
    functionLinenumber: 281
    functionLinenumberEnd: 327
    functionName: test_rsa_oaep
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - RSA_free
    - test_rsa_simple
    - TEST_int_le
    - RSA_private_decrypt
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_rsa_oaep(int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_test.c:362,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:369,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/rsa_test.c:369,1
    - Dst: memset
      Src: /src/openssl/test/rsa_test.c:378,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:385,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_test.c:385,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:385,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:386,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/rsa_test.c:387,1
    - Dst: RSA_security_bits
      Src: /src/openssl/test/rsa_test.c:387,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 357
    functionDepth: 6
    functionLinenumber: 357
    functionLinenumberEnd: 392
    functionName: test_rsa_security_bit
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_key
    - memset
    - RSA_free
    - RSA_new
    - TEST_int_le
    - RSA_security_bits
    - BN_bin2bn
    - TEST_true
    - TEST_ptr
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_rsa_security_bit(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/rsa_test.c:487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:489,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:489,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:490,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:490,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:491,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:491,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:492,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:492,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:493,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:493,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:494,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_test.c:494,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:495,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/rsa_test.c:495,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:496,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/rsa_test.c:496,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:497,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/test/rsa_test.c:497,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:498,1
    - Dst: RSA_set0_factors
      Src: /src/openssl/test/rsa_test.c:498,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:499,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_test.c:499,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:500,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/test/rsa_test.c:500,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:501,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/rsa_test.c:501,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:502,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/test/rsa_test.c:502,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/rsa_test.c:504,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/rsa_test.c:505,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 394
    functionDepth: 8
    functionLinenumber: 394
    functionLinenumberEnd: 507
    functionName: test_EVP_rsa_legacy_key
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - RSA_set0_factors
    - EVP_DigestSignInit
    - RSA_set0_key
    - memset
    - EVP_PKEY_new
    - RSA_new
    - EVP_PKEY_assign_RSA
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - BN_bin2bn
    - EVP_PKEY_free
    - EVP_DigestSign
    - TEST_true
    - EVP_sha256
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_EVP_rsa_legacy_key(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:559,1
    - Dst: RSA_new
      Src: /src/openssl/test/rsa_test.c:559,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:561,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:562,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/rsa_test.c:564,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:565,1
    - Dst: RSA_set0_key
      Src: /src/openssl/test/rsa_test.c:568,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_test.c:569,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_test.c:570,1
    - Dst: BN_free
      Src: /src/openssl/test/rsa_test.c:571,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - priv
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 576
    functionName: load_key
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 7
    functionsReached:
    - RSA_set0_key
    - RSA_free
    - RSA_new
    - TEST_false
    - BN_bin2bn
    - TEST_ptr
    - BN_free
    linkageType: ''
    returnType: RSA
    signature: RSA *load_key(int priv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:659,1
    - Dst: load_key
      Src: /src/openssl/test/rsa_test.c:659,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/rsa_test.c:661,1
    - Dst: load_key
      Src: /src/openssl/test/rsa_test.c:661,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/rsa_test.c:663,1
    - Dst: RSA_size
      Src: /src/openssl/test/rsa_test.c:663,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:667,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:667,1
    - Dst: TEST_true
      Src: /src/openssl/test/rsa_test.c:670,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:670,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:674,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:674,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:679,1
    - Dst: RSA_sign_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:679,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:684,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:684,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:688,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:688,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:694,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:694,1
    - Dst: TEST_false
      Src: /src/openssl/test/rsa_test.c:701,1
    - Dst: RSA_verify_ASN1_OCTET_STRING
      Src: /src/openssl/test/rsa_test.c:701,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:707,1
    - Dst: RSA_free
      Src: /src/openssl/test/rsa_test.c:708,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 578
    functionDepth: 6
    functionLinenumber: 578
    functionLinenumberEnd: 710
    functionName: test_rsa_saos
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - load_key
    - RSA_free
    - RSA_verify_ASN1_OCTET_STRING
    - TEST_int_ge
    - TEST_false
    - RSA_size
    - RSA_sign_ASN1_OCTET_STRING
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_rsa_saos(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_test.c:714,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_test.c:715,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/rsa_test.c:716,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/rsa_test.c:716,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_test.c:717,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/rsa_test.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rsa_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/quic_srt_gen_test.c:57,1
    - Dst: ossl_quic_srt_gen_new
      Src: /src/openssl/test/quic_srt_gen_test.c:57,1
    - Dst: memset
      Src: /src/openssl/test/quic_srt_gen_test.c:62,1
    - Dst: TEST_true
      Src: /src/openssl/test/quic_srt_gen_test.c:64,1
    - Dst: ossl_quic_srt_gen_calculate_token
      Src: /src/openssl/test/quic_srt_gen_test.c:64,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/quic_srt_gen_test.c:68,1
    - Dst: ossl_quic_srt_gen_free
      Src: /src/openssl/test/quic_srt_gen_test.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: test_srt_gen
    functionSourceFile: /src/openssl/test/quic_srt_gen_test.c
    functionUses: 0
    functionsReached:
    - memset
    - ossl_quic_srt_gen_calculate_token
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - ossl_quic_srt_gen_new
    - ossl_quic_srt_gen_free
    linkageType: ''
    returnType: int
    signature: int test_srt_gen(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/quic_srt_gen_test.c:81,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/quic_srt_gen_test.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/quic_srt_gen_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_internal_test.c:36,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_internal_test.c:44,1
    - Dst: TEST_note
      Src: /src/openssl/test/x509_internal_test.c:46,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/x509_internal_test.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 6
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: test_standard_exts
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - OSSL_NELEM
    - TEST_note
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_standard_exts(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/test/x509_internal_test.c:157,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/x509_internal_test.c:159,1
    - Dst: TEST_note
      Src: /src/openssl/test/x509_internal_test.c:161,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:164,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:165,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/test/x509_internal_test.c:165,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/x509_internal_test.c:166,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/x509_internal_test.c:166,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/test/x509_internal_test.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: test_a2i_ipaddress
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_free
    - TEST_ptr_null
    - TEST_note
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - TEST_int_eq
    - a2i_IPADDRESS
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_a2i_ipaddress(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - X509_PURPOSE *purpose
    - x
    - ca
    argTypes:
    - ossl_unused
    - ossl_unused*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: ck_purp
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ck_purp(ossl_unused const X509_PURPOSE *purpose,\n                   ossl_unused
      const X509 *x, int ca)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/x509_internal_test.c:193,1
    - Dst: X509_PURPOSE_get_unused_id
      Src: /src/openssl/test/x509_internal_test.c:193,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:194,1
    - Dst: X509_PURPOSE_get_count
      Src: /src/openssl/test/x509_internal_test.c:194,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:195,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/test/x509_internal_test.c:195,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:196,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/openssl/test/x509_internal_test.c:196,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:199,1
    - Dst: X509_PURPOSE_add
      Src: /src/openssl/test/x509_internal_test.c:199,1
    - Dst: ARGS
      Src: /src/openssl/test/x509_internal_test.c:199,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/x509_internal_test.c:200,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/openssl/test/x509_internal_test.c:200,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:201,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/test/x509_internal_test.c:201,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:204,1
    - Dst: X509_PURPOSE_add
      Src: /src/openssl/test/x509_internal_test.c:204,1
    - Dst: ARGS
      Src: /src/openssl/test/x509_internal_test.c:204,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:205,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/openssl/test/x509_internal_test.c:205,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:206,1
    - Dst: X509_PURPOSE_get_by_id
      Src: /src/openssl/test/x509_internal_test.c:206,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:209,1
    - Dst: X509_PURPOSE_add
      Src: /src/openssl/test/x509_internal_test.c:209,1
    - Dst: ARGS
      Src: /src/openssl/test/x509_internal_test.c:209,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:211,1
    - Dst: X509_PURPOSE_add
      Src: /src/openssl/test/x509_internal_test.c:211,1
    - Dst: ARGS
      Src: /src/openssl/test/x509_internal_test.c:211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_internal_test.c:213,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/test/x509_internal_test.c:213,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:214,1
    - Dst: X509_PURPOSE_get_id
      Src: /src/openssl/test/x509_internal_test.c:214,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/x509_internal_test.c:215,1
    - Dst: X509_PURPOSE_get0_name
      Src: /src/openssl/test/x509_internal_test.c:215,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/x509_internal_test.c:216,1
    - Dst: X509_PURPOSE_get0_sname
      Src: /src/openssl/test/x509_internal_test.c:216,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:217,1
    - Dst: X509_PURPOSE_get_trust
      Src: /src/openssl/test/x509_internal_test.c:217,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:219,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:220,1
    - Dst: X509_PURPOSE_set
      Src: /src/openssl/test/x509_internal_test.c:220,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_internal_test.c:221,1
    - Dst: X509_PURPOSE_get_id
      Src: /src/openssl/test/x509_internal_test.c:221,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 222
    functionName: tests_X509_PURPOSE
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - X509_PURPOSE_get0
    - ARGS
    - TEST_int_ne
    - TEST_str_eq
    - X509_PURPOSE_get0_sname
    - X509_PURPOSE_add
    - X509_PURPOSE_get0_name
    - TEST_int_eq
    - X509_PURPOSE_get_unused_id
    - TEST_int_gt
    - X509_PURPOSE_get_id
    - TEST_ptr
    - X509_PURPOSE_get_trust
    - X509_PURPOSE_get_by_id
    - X509_PURPOSE_get_by_sname
    - X509_PURPOSE_set
    - X509_PURPOSE_get_count
    linkageType: ''
    returnType: int
    signature: int tests_X509_PURPOSE(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - sn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: ARGS
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGS(id, sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:226,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/x509_internal_test.c:227,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/x509_internal_test.c:227,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_internal_test.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - keep
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: ssl3_digest_cached_records
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl3_digest_cached_records(SSL_CONNECTION *s, int keep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/tls13secretstest.c:146,1
    - Dst: memcpy
      Src: /src/openssl/test/tls13secretstest.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - s
    - out
    - outlen
    - hashlen
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: ssl_handshake_hash
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ssl_handshake_hash(SSL_CONNECTION *s, unsigned char *out, size_t
      outlen,\n                       size_t *hashlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/openssl/test/tls13secretstest.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: ssl_handshake_md
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ssl_handshake_md(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - sslc
    - enc
    argTypes:
    - SSL_CTX*
    - SSL_CIPHER*
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: ssl_cipher_get_evp_cipher
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_get_evp_cipher(SSL_CTX *ctx, const SSL_CIPHER *sslc,\n
      \                                    const EVP_CIPHER **enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - sslc
    - md
    - mac_pkey_type
    - mac_secret_size
    argTypes:
    - SSL_CTX*
    - SSL_CIPHER*
    - EVP_MD**
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: ssl_cipher_get_evp_md_mac
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_get_evp_md_mac(SSL_CTX *ctx, const SSL_CIPHER *sslc,\n
      \                             const EVP_MD **md,\n                              int
      *mac_pkey_type, size_t *mac_secret_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - s
    - enc
    - md
    - mac_pkey_type
    - mac_secret_size
    - comp
    - use_etm
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    - EVP_CIPHER**
    - EVP_MD**
    - int*
    - size_t*
    - SSL_COMP**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: ssl_cipher_get_evp
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_get_evp(SSL_CTX *ctx, const SSL_SESSION *s,\n                       const
      EVP_CIPHER **enc, const EVP_MD **md,\n                       int *mac_pkey_type,
      size_t *mac_secret_size,\n                       SSL_COMP **comp, int use_etm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: tls1_alert_code
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls1_alert_code(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sc
    - label
    - secret
    - secret_len
    argTypes:
    - SSL_CONNECTION*
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: ssl_log_secret
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_log_secret(SSL_CONNECTION *sc,\n                   const char
      *label,\n                   const uint8_t *secret,\n                   size_t
      secret_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/openssl/test/tls13secretstest.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ssl_md
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached:
    - EVP_sha256
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ssl_md(SSL_CTX *ctx, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - al
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: ossl_statem_send_fatal
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_statem_send_fatal(SSL_CONNECTION *s, int al)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - s
    - al
    - reason
    - fmt
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: ossl_statem_fatal
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_statem_fatal(SSL_CONNECTION *s, int al, int reason,\n                       const
      char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: ossl_statem_export_allowed
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_statem_export_allowed(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: ossl_statem_export_early_allowed
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_statem_export_early_allowed(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: ssl_evp_cipher_free
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ssl_evp_cipher_free(const EVP_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: ssl_evp_md_free
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ssl_evp_md_free(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 18
    argNames:
    - s
    - version
    - direction
    - level
    - secret
    - secretlen
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    - kdfdigest
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - SSL_COMP*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: ssl_set_new_record_layer
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_set_new_record_layer(SSL_CONNECTION *s, int version, int direction,\n
      \                            int level, unsigned char *secret, size_t secretlen,\n
      \                            unsigned char *key, size_t keylen,\n                             unsigned
      char *iv,  size_t ivlen,\n                             unsigned char *mackey,
      size_t mackeylen,\n                             const EVP_CIPHER *ciph, size_t
      taglen,\n                             int mactype, const EVP_MD *md,\n                             const
      SSL_COMP *comp, const EVP_MD *kdfdigest)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ssl_handshake_md
      Src: /src/openssl/test/tls13secretstest.c:252,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/test/tls13secretstest.c:254,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13secretstest.c:255,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/test/tls13secretstest.c:259,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13secretstest.c:261,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls13secretstest.c:265,1
    - Dst: tls13_derive_key
      Src: /src/openssl/test/tls13secretstest.c:268,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13secretstest.c:269,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls13secretstest.c:273,1
    - Dst: tls13_derive_iv
      Src: /src/openssl/test/tls13secretstest.c:276,1
    - Dst: TEST_error
      Src: /src/openssl/test/tls13secretstest.c:277,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls13secretstest.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - s
    - prk
    - label
    - labellen
    - ref_secret
    - ref_key
    - ref_iv
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 285
    functionName: test_secret
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached:
    - ssl_handshake_md
    - tls13_derive_key
    - tls13_derive_iv
    - ssl_handshake_hash
    - TEST_mem_eq
    - tls13_hkdf_expand
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int test_secret(SSL_CONNECTION *s, unsigned char *prk,\n                       const
      unsigned char *label, size_t labellen,\n                       const unsigned
      char *ref_secret,\n                       const unsigned char *ref_key, const
      unsigned char *ref_iv)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/tls13secretstest.c:297,1
    - Dst: TLS_method
      Src: /src/openssl/test/tls13secretstest.c:297,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13secretstest.c:298,1
    - Dst: SSL_new
      Src: /src/openssl/test/tls13secretstest.c:301,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13secretstest.c:302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13secretstest.c:302,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/tls13secretstest.c:302,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/tls13secretstest.c:305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/tls13secretstest.c:306,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13secretstest.c:309,1
    - Dst: tls13_generate_secret
      Src: /src/openssl/test/tls13secretstest.c:309,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/test/tls13secretstest.c:309,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:311,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls13secretstest.c:315,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:317,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13secretstest.c:321,1
    - Dst: tls13_generate_handshake_secret
      Src: /src/openssl/test/tls13secretstest.c:321,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:323,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls13secretstest.c:327,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/test/tls13secretstest.c:331,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/test/tls13secretstest.c:331,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:332,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:334,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:336,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13secretstest.c:339,1
    - Dst: test_secret
      Src: /src/openssl/test/tls13secretstest.c:339,1
    - Dst: strlen
      Src: /src/openssl/test/tls13secretstest.c:341,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:343,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:347,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:349,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:351,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13secretstest.c:354,1
    - Dst: test_secret
      Src: /src/openssl/test/tls13secretstest.c:354,1
    - Dst: strlen
      Src: /src/openssl/test/tls13secretstest.c:356,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:358,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13secretstest.c:368,1
    - Dst: tls13_generate_master_secret
      Src: /src/openssl/test/tls13secretstest.c:368,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:371,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/tls13secretstest.c:375,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:377,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:381,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:383,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:385,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13secretstest.c:388,1
    - Dst: test_secret
      Src: /src/openssl/test/tls13secretstest.c:388,1
    - Dst: strlen
      Src: /src/openssl/test/tls13secretstest.c:390,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:392,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:396,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:398,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/tls13secretstest.c:400,1
    - Dst: TEST_true
      Src: /src/openssl/test/tls13secretstest.c:403,1
    - Dst: test_secret
      Src: /src/openssl/test/tls13secretstest.c:403,1
    - Dst: strlen
      Src: /src/openssl/test/tls13secretstest.c:405,1
    - Dst: TEST_info
      Src: /src/openssl/test/tls13secretstest.c:407,1
    - Dst: SSL_free
      Src: /src/openssl/test/tls13secretstest.c:413,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/tls13secretstest.c:414,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 416
    functionName: test_handshake_secrets
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached:
    - ssl_handshake_md
    - SSL_CTX_new
    - tls13_generate_master_secret
    - test_secret
    - TEST_ptr
    - strlen
    - SSL_SESSION_new
    - SSL_CTX_free
    - TEST_info
    - TEST_true
    - SSL_CONNECTION_FROM_SSL_ONLY
    - TLS_method
    - SSL_free
    - tls13_generate_secret
    - SSL_new
    - TEST_size_t_eq
    - tls13_generate_handshake_secret
    - EVP_MD_get_size
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_handshake_secrets(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/tls13secretstest.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/tls13secretstest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: only_pause
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_pause_job
    linkageType: ''
    returnType: int
    signature: int only_pause(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: add_two
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_pause_job
    linkageType: ''
    returnType: int
    signature: int add_two(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/test/asynctest.c:42,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: save_current
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_pause_job
    - ASYNC_get_current_job
    linkageType: ''
    returnType: int
    signature: int save_current(void *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/asynctest.c:50,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:57,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:58,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:61,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:66,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:67,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:70,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/asynctest.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionName: change_deflt_libctx
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_set0_default
    - ASYNC_pause_job
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: int
    signature: int change_deflt_libctx(void *args)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/test/asynctest.c:86,1
    - Dst: ASYNC_get_wait_ctx
      Src: /src/openssl/test/asynctest.c:89,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:94,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/openssl/test/asynctest.c:97,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:99,1
    - Dst: ASYNC_WAIT_CTX_clear_fd
      Src: /src/openssl/test/asynctest.c:102,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:104,1
    - Dst: ASYNC_WAIT_CTX_set_wait_fd
      Src: /src/openssl/test/asynctest.c:107,1
    - Dst: ASYNC_WAIT_CTX_clear_fd
      Src: /src/openssl/test/asynctest.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 113
    functionName: waitfd
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_set_wait_fd
    - ASYNC_get_wait_ctx
    - ASYNC_WAIT_CTX_clear_fd
    - ASYNC_get_current_job
    - ASYNC_pause_job
    linkageType: ''
    returnType: int
    signature: int waitfd(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_block_pause
      Src: /src/openssl/test/asynctest.c:117,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:118,1
    - Dst: ASYNC_unblock_pause
      Src: /src/openssl/test/asynctest.c:119,1
    - Dst: ASYNC_pause_job
      Src: /src/openssl/test/asynctest.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: blockpause
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_unblock_pause
    - ASYNC_block_pause
    - ASYNC_pause_job
    linkageType: ''
    returnType: int
    signature: int blockpause(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:131,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:132,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:133,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:135,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:137,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:139,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:141,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:143,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:145,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:150,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:151,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:152,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:156,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 125
    functionDepth: 6
    functionLinenumber: 125
    functionLinenumberEnd: 159
    functionName: test_ASYNC_init_thread
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_start_job
    - ASYNC_init_thread
    - fprintf
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_init_thread(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/asynctest.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: test_callback
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int test_callback(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:175,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:176,1
    - Dst: ASYNC_WAIT_CTX_set_callback
      Src: /src/openssl/test/asynctest.c:177,1
    - Dst: ASYNC_WAIT_CTX_get_callback
      Src: /src/openssl/test/asynctest.c:179,1
    - Dst: ASYNC_WAIT_CTX_set_status
      Src: /src/openssl/test/asynctest.c:184,1
    - Dst: ASYNC_WAIT_CTX_get_status
      Src: /src/openssl/test/asynctest.c:185,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:186,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:187,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:188,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:192,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 6
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: test_ASYNC_callback_status
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_get_callback
    - ASYNC_init_thread
    - ASYNC_WAIT_CTX_get_status
    - fprintf
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_set_callback
    - ASYNC_WAIT_CTX_set_status
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_callback_status(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:206,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:207,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:208,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:211,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:215,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:216,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:217,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:221,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 6
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: test_ASYNC_start_job
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_start_job
    - ASYNC_init_thread
    - fprintf
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_start_job(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:234,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:235,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:236,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:239,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:242,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:243,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:244,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:248,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 6
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: test_ASYNC_get_current_job
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_start_job
    - ASYNC_init_thread
    - fprintf
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_get_current_job(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:261,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:262,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:264,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:266,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:268,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:273,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:275,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:277,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:280,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:284,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:288,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:290,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:292,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:296,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:300,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:302,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/test/asynctest.c:304,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:309,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:310,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:311,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:315,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:316,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 253
    functionDepth: 6
    functionLinenumber: 253
    functionLinenumberEnd: 318
    functionName: test_ASYNC_WAIT_CTX_get_all_fds
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_start_job
    - ASYNC_init_thread
    - fprintf
    - ASYNC_WAIT_CTX_get_changed_fds
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_get_all_fds
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_WAIT_CTX_get_all_fds(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:326,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:327,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:328,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:330,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:333,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:334,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:335,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:339,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 320
    functionDepth: 6
    functionLinenumber: 320
    functionLinenumberEnd: 342
    functionName: test_ASYNC_block_pause
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_start_job
    - ASYNC_init_thread
    - fprintf
    - ASYNC_cleanup_thread
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_block_pause(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/asynctest.c:349,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:354,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:359,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/test/asynctest.c:361,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:362,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:365,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:371,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:372,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:374,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:379,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:381,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:387,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:389,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:394,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:397,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:403,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/test/asynctest.c:404,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:406,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/test/asynctest.c:413,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:414,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/asynctest.c:415,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 344
    functionDepth: 6
    functionLinenumber: 344
    functionLinenumberEnd: 417
    functionName: test_ASYNC_start_job_ex
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_start_job
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - fprintf
    - ASYNC_cleanup_thread
    - OSSL_LIB_CTX_set0_default
    - ASYNC_WAIT_CTX_free
    - ASYNC_WAIT_CTX_new
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_start_job_ex(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/asynctest.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: test_alloc_stack
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *test_alloc_stack(size_t *num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/asynctest.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: test_free_stack
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void test_free_stack(void *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_set_mem_functions
      Src: /src/openssl/test/asynctest.c:437,1
    - Dst: ASYNC_get_mem_functions
      Src: /src/openssl/test/asynctest.c:439,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:442,1
    - Dst: ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:447,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:448,1
    - Dst: ASYNC_cleanup_thread
      Src: /src/openssl/test/asynctest.c:452,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 431
    functionDepth: 6
    functionLinenumber: 431
    functionLinenumberEnd: 462
    functionName: test_ASYNC_set_mem_functions
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 0
    functionsReached:
    - ASYNC_init_thread
    - ASYNC_set_mem_functions
    - ASYNC_cleanup_thread
    - fprintf
    - ASYNC_get_mem_functions
    linkageType: ''
    returnType: int
    signature: int test_ASYNC_set_mem_functions(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_is_capable
      Src: /src/openssl/test/asynctest.c:466,1
    - Dst: fprintf
      Src: /src/openssl/test/asynctest.c:467,1
    - Dst: test_ASYNC_init_thread
      Src: /src/openssl/test/asynctest.c:470,1
    - Dst: test_ASYNC_callback_status
      Src: /src/openssl/test/asynctest.c:471,1
    - Dst: test_ASYNC_start_job
      Src: /src/openssl/test/asynctest.c:472,1
    - Dst: test_ASYNC_get_current_job
      Src: /src/openssl/test/asynctest.c:473,1
    - Dst: test_ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/test/asynctest.c:474,1
    - Dst: test_ASYNC_block_pause
      Src: /src/openssl/test/asynctest.c:475,1
    - Dst: test_ASYNC_start_job_ex
      Src: /src/openssl/test/asynctest.c:476,1
    - Dst: test_ASYNC_set_mem_functions
      Src: /src/openssl/test/asynctest.c:477,1
    - Dst: printf
      Src: /src/openssl/test/asynctest.c:481,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 464
    functionDepth: 7
    functionLinenumber: 464
    functionLinenumberEnd: 483
    functionName: main
    functionSourceFile: /src/openssl/test/asynctest.c
    functionUses: 5
    functionsReached:
    - test_ASYNC_set_mem_functions
    - ASYNC_is_capable
    - test_ASYNC_block_pause
    - test_ASYNC_callback_status
    - test_ASYNC_start_job
    - test_ASYNC_init_thread
    - test_ASYNC_get_current_job
    - fprintf
    - test_ASYNC_WAIT_CTX_get_all_fds
    - test_ASYNC_start_job_ex
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: TEST
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 282
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(expected, test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/test_test.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - expected
    - test
    - result
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: test_case
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_case(int expected, const char *test, int result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:35,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:35,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:36,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:36,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:37,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/test_test.c:37,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:38,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/test_test.c:38,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:39,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/test_test.c:39,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:40,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/test_test.c:40,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:41,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/test_test.c:41,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:42,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/test_test.c:42,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:43,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/test_test.c:43,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:44,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/test_test.c:44,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:45,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/test_test.c:45,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:46,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/test_test.c:46,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:47,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/test_test.c:47,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:48,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/test_test.c:48,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: test_int
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_ne
    - TEST
    - TEST_int_le
    - TEST_int_ge
    - TEST_int_eq
    - TEST_int_lt
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_int(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:58,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/test_test.c:58,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:59,1
    - Dst: TEST_uint_eq
      Src: /src/openssl/test/test_test.c:59,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:60,1
    - Dst: TEST_uint_ne
      Src: /src/openssl/test/test_test.c:60,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:61,1
    - Dst: TEST_uint_ne
      Src: /src/openssl/test/test_test.c:61,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:62,1
    - Dst: TEST_uint_lt
      Src: /src/openssl/test/test_test.c:62,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:63,1
    - Dst: TEST_uint_lt
      Src: /src/openssl/test/test_test.c:63,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:64,1
    - Dst: TEST_uint_le
      Src: /src/openssl/test/test_test.c:64,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:65,1
    - Dst: TEST_uint_le
      Src: /src/openssl/test/test_test.c:65,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:66,1
    - Dst: TEST_uint_le
      Src: /src/openssl/test/test_test.c:66,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:67,1
    - Dst: TEST_uint_gt
      Src: /src/openssl/test/test_test.c:67,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:68,1
    - Dst: TEST_uint_gt
      Src: /src/openssl/test/test_test.c:68,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:69,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/test_test.c:69,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:70,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/test_test.c:70,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:71,1
    - Dst: TEST_uint_ge
      Src: /src/openssl/test/test_test.c:71,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: test_uint
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_uint_le
    - TEST_uint_ne
    - TEST_uint_ge
    - TEST
    - TEST_uint_lt
    - TEST_uint_gt
    - TEST_uint_eq
    linkageType: ''
    returnType: int
    signature: int test_uint(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:81,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/test_test.c:81,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:82,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/test_test.c:82,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:83,1
    - Dst: TEST_char_ne
      Src: /src/openssl/test/test_test.c:83,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:84,1
    - Dst: TEST_char_ne
      Src: /src/openssl/test/test_test.c:84,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:85,1
    - Dst: TEST_char_lt
      Src: /src/openssl/test/test_test.c:85,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:86,1
    - Dst: TEST_char_lt
      Src: /src/openssl/test/test_test.c:86,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:87,1
    - Dst: TEST_char_le
      Src: /src/openssl/test/test_test.c:87,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:88,1
    - Dst: TEST_char_le
      Src: /src/openssl/test/test_test.c:88,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:89,1
    - Dst: TEST_char_le
      Src: /src/openssl/test/test_test.c:89,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:90,1
    - Dst: TEST_char_gt
      Src: /src/openssl/test/test_test.c:90,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:91,1
    - Dst: TEST_char_gt
      Src: /src/openssl/test/test_test.c:91,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:92,1
    - Dst: TEST_char_ge
      Src: /src/openssl/test/test_test.c:92,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:93,1
    - Dst: TEST_char_ge
      Src: /src/openssl/test/test_test.c:93,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:94,1
    - Dst: TEST_char_ge
      Src: /src/openssl/test/test_test.c:94,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: test_char
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_char_gt
    - TEST
    - TEST_char_ge
    - TEST_char_ne
    - TEST_char_le
    - TEST_char_lt
    - TEST_char_eq
    linkageType: ''
    returnType: int
    signature: int test_char(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:104,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/test_test.c:104,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:105,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/test_test.c:105,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:106,1
    - Dst: TEST_uchar_ne
      Src: /src/openssl/test/test_test.c:106,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:107,1
    - Dst: TEST_uchar_ne
      Src: /src/openssl/test/test_test.c:107,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:108,1
    - Dst: TEST_uchar_lt
      Src: /src/openssl/test/test_test.c:108,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:109,1
    - Dst: TEST_uchar_lt
      Src: /src/openssl/test/test_test.c:109,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:110,1
    - Dst: TEST_uchar_le
      Src: /src/openssl/test/test_test.c:110,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:111,1
    - Dst: TEST_uchar_le
      Src: /src/openssl/test/test_test.c:111,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:112,1
    - Dst: TEST_uchar_le
      Src: /src/openssl/test/test_test.c:112,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:113,1
    - Dst: TEST_uchar_gt
      Src: /src/openssl/test/test_test.c:113,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:114,1
    - Dst: TEST_uchar_gt
      Src: /src/openssl/test/test_test.c:114,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:115,1
    - Dst: TEST_uchar_ge
      Src: /src/openssl/test/test_test.c:115,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:116,1
    - Dst: TEST_uchar_ge
      Src: /src/openssl/test/test_test.c:116,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:117,1
    - Dst: TEST_uchar_ge
      Src: /src/openssl/test/test_test.c:117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: test_uchar
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_uchar_eq
    - TEST_uchar_le
    - TEST_uchar_ge
    - TEST
    - TEST_uchar_gt
    - TEST_uchar_lt
    - TEST_uchar_ne
    linkageType: ''
    returnType: int
    signature: int test_uchar(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:127,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/test_test.c:127,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:128,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/test_test.c:128,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:129,1
    - Dst: TEST_long_ne
      Src: /src/openssl/test/test_test.c:129,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:130,1
    - Dst: TEST_long_ne
      Src: /src/openssl/test/test_test.c:130,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:131,1
    - Dst: TEST_long_lt
      Src: /src/openssl/test/test_test.c:131,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:132,1
    - Dst: TEST_long_lt
      Src: /src/openssl/test/test_test.c:132,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:133,1
    - Dst: TEST_long_le
      Src: /src/openssl/test/test_test.c:133,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:134,1
    - Dst: TEST_long_le
      Src: /src/openssl/test/test_test.c:134,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:135,1
    - Dst: TEST_long_le
      Src: /src/openssl/test/test_test.c:135,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:136,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/test_test.c:136,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:137,1
    - Dst: TEST_long_gt
      Src: /src/openssl/test/test_test.c:137,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:138,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/test_test.c:138,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:139,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/test_test.c:139,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:140,1
    - Dst: TEST_long_ge
      Src: /src/openssl/test/test_test.c:140,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: test_long
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_long_ge
    - TEST_long_ne
    - TEST
    - TEST_long_le
    - TEST_long_eq
    - TEST_long_gt
    - TEST_long_lt
    linkageType: ''
    returnType: int
    signature: int test_long(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:150,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/test_test.c:150,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:151,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/test_test.c:151,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:152,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/test_test.c:152,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:153,1
    - Dst: TEST_ulong_ne
      Src: /src/openssl/test/test_test.c:153,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:154,1
    - Dst: TEST_ulong_lt
      Src: /src/openssl/test/test_test.c:154,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:155,1
    - Dst: TEST_ulong_lt
      Src: /src/openssl/test/test_test.c:155,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:156,1
    - Dst: TEST_ulong_le
      Src: /src/openssl/test/test_test.c:156,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:157,1
    - Dst: TEST_ulong_le
      Src: /src/openssl/test/test_test.c:157,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:158,1
    - Dst: TEST_ulong_le
      Src: /src/openssl/test/test_test.c:158,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:159,1
    - Dst: TEST_ulong_gt
      Src: /src/openssl/test/test_test.c:159,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:160,1
    - Dst: TEST_ulong_gt
      Src: /src/openssl/test/test_test.c:160,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:161,1
    - Dst: TEST_ulong_ge
      Src: /src/openssl/test/test_test.c:161,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:162,1
    - Dst: TEST_ulong_ge
      Src: /src/openssl/test/test_test.c:162,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:163,1
    - Dst: TEST_ulong_ge
      Src: /src/openssl/test/test_test.c:163,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: test_ulong
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_ulong_le
    - TEST_ulong_gt
    - TEST
    - TEST_ulong_eq
    - TEST_ulong_ne
    - TEST_ulong_ge
    - TEST_ulong_lt
    linkageType: ''
    returnType: int
    signature: int test_ulong(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:173,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/test_test.c:173,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:174,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/test_test.c:174,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:175,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/test_test.c:175,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:176,1
    - Dst: TEST_size_t_ne
      Src: /src/openssl/test/test_test.c:176,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:177,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/test_test.c:177,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:178,1
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/test_test.c:178,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:179,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/test_test.c:179,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:180,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/test_test.c:180,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:181,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/test_test.c:181,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:182,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/test_test.c:182,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:183,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/test_test.c:183,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:184,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/test_test.c:184,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:185,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/test_test.c:185,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:186,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/test_test.c:186,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 192
    functionName: test_size_t
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - TEST_size_t_le
    - TEST
    - TEST_size_t_ge
    - TEST_size_t_ne
    - TEST_size_t_eq
    - TEST_size_t_lt
    linkageType: ''
    returnType: int
    signature: int test_size_t(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:196,1
    - Dst: TEST_time_t_eq
      Src: /src/openssl/test/test_test.c:196,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:197,1
    - Dst: TEST_time_t_eq
      Src: /src/openssl/test/test_test.c:197,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:198,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/test_test.c:198,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:199,1
    - Dst: TEST_time_t_ne
      Src: /src/openssl/test/test_test.c:199,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:200,1
    - Dst: TEST_time_t_lt
      Src: /src/openssl/test/test_test.c:200,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:201,1
    - Dst: TEST_time_t_lt
      Src: /src/openssl/test/test_test.c:201,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:202,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/test_test.c:202,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:203,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/test_test.c:203,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:204,1
    - Dst: TEST_time_t_le
      Src: /src/openssl/test/test_test.c:204,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:205,1
    - Dst: TEST_time_t_gt
      Src: /src/openssl/test/test_test.c:205,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:206,1
    - Dst: TEST_time_t_gt
      Src: /src/openssl/test/test_test.c:206,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:207,1
    - Dst: TEST_time_t_ge
      Src: /src/openssl/test/test_test.c:207,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:208,1
    - Dst: TEST_time_t_ge
      Src: /src/openssl/test/test_test.c:208,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:209,1
    - Dst: TEST_time_t_ge
      Src: /src/openssl/test/test_test.c:209,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: test_time_t
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_time_t_le
    - TEST_time_t_eq
    - TEST_time_t_ge
    - TEST
    - TEST_time_t_lt
    - TEST_time_t_gt
    - TEST_time_t_ne
    linkageType: ''
    returnType: int
    signature: int test_time_t(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:222,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/test_test.c:222,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:223,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/test_test.c:223,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:224,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/test_test.c:224,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:225,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/test_test.c:225,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:226,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:226,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:227,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:227,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:228,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:228,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:229,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:229,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:230,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:230,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:231,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/test_test.c:231,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:232,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/test_test.c:232,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:233,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/test_test.c:233,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:234,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/test_test.c:234,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:235,1
    - Dst: TEST_ptr_ne
      Src: /src/openssl/test/test_test.c:235,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: test_pointer
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - TEST_ptr_ne
    - TEST
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_pointer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:245,1
    - Dst: TEST_true
      Src: /src/openssl/test/test_test.c:245,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:246,1
    - Dst: TEST_true
      Src: /src/openssl/test/test_test.c:246,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:247,1
    - Dst: TEST_false
      Src: /src/openssl/test/test_test.c:247,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:248,1
    - Dst: TEST_false
      Src: /src/openssl/test/test_test.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 254
    functionName: test_bool
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST
    - TEST_false
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_bool(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:260,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:260,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:261,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:261,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:262,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:262,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:263,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:263,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:264,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:264,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:265,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/test_test.c:265,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:266,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:266,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:267,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:267,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:268,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/test_test.c:268,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:269,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:269,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:270,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/test_test.c:270,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:271,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/test_test.c:271,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:272,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/test_test.c:272,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:273,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:273,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 279
    functionName: test_string
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 1
    functionsReached:
    - TEST_str_eq
    - TEST
    - TEST_str_ne
    linkageType: ''
    returnType: int
    signature: int test_string(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:285,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:285,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:286,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:286,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:287,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:287,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:288,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:288,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:289,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/test_test.c:289,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:290,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:290,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:291,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:291,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:292,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/test_test.c:292,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:293,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:293,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:294,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:294,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:295,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: test_memory
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST
    - TEST_mem_ne
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_memory(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:309,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:309,1
    - Dst: strlen
      Src: /src/openssl/test/test_test.c:309,1
    - Dst: strlen
      Src: /src/openssl/test/test_test.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: test_memory_overflow
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST
    - strlen
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_memory_overflow(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:317,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:317,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/test_test.c:317,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:318,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/test_test.c:318,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:319,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/test_test.c:319,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:320,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/test_test.c:320,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:321,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/test_test.c:321,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:322,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/test_test.c:322,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:323,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/test_test.c:323,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:324,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/test_test.c:324,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:325,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/test_test.c:325,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:326,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/test_test.c:326,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:327,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/test_test.c:327,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:328,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/test_test.c:328,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:329,1
    - Dst: TEST_BN_odd
      Src: /src/openssl/test/test_test.c:329,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:330,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:330,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:331,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:331,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:332,1
    - Dst: TEST_BN_ne
      Src: /src/openssl/test/test_test.c:332,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:333,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:333,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/test_test.c:333,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:334,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/test_test.c:334,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:335,1
    - Dst: TEST_BN_eq_one
      Src: /src/openssl/test/test_test.c:335,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:336,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/test_test.c:336,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:337,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/test_test.c:337,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:338,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/test_test.c:338,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:339,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/test_test.c:339,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:340,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/test_test.c:340,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:341,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/test_test.c:341,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:342,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/test_test.c:342,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:343,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/test_test.c:343,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:344,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/test_test.c:344,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:345,1
    - Dst: TEST_BN_odd
      Src: /src/openssl/test/test_test.c:345,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:346,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:346,1
    - Dst: BN_dec2bn
      Src: /src/openssl/test/test_test.c:346,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:347,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/test_test.c:347,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:348,1
    - Dst: TEST_BN_abs_eq_word
      Src: /src/openssl/test/test_test.c:348,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:349,1
    - Dst: TEST_BN_eq_zero
      Src: /src/openssl/test/test_test.c:349,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:350,1
    - Dst: TEST_BN_ne_zero
      Src: /src/openssl/test/test_test.c:350,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:351,1
    - Dst: TEST_BN_le_zero
      Src: /src/openssl/test/test_test.c:351,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:352,1
    - Dst: TEST_BN_lt_zero
      Src: /src/openssl/test/test_test.c:352,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:353,1
    - Dst: TEST_BN_ge_zero
      Src: /src/openssl/test/test_test.c:353,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:354,1
    - Dst: TEST_BN_gt_zero
      Src: /src/openssl/test/test_test.c:354,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:355,1
    - Dst: TEST_BN_even
      Src: /src/openssl/test/test_test.c:355,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:356,1
    - Dst: TEST_BN_odd
      Src: /src/openssl/test/test_test.c:356,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:357,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:357,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:358,1
    - Dst: TEST_BN_ne
      Src: /src/openssl/test/test_test.c:358,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:359,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:359,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:360,1
    - Dst: TEST_BN_ne
      Src: /src/openssl/test/test_test.c:360,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:361,1
    - Dst: TEST_BN_lt
      Src: /src/openssl/test/test_test.c:361,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:362,1
    - Dst: TEST_BN_lt
      Src: /src/openssl/test/test_test.c:362,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:363,1
    - Dst: TEST_BN_lt
      Src: /src/openssl/test/test_test.c:363,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:364,1
    - Dst: TEST_BN_le
      Src: /src/openssl/test/test_test.c:364,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:365,1
    - Dst: TEST_BN_le
      Src: /src/openssl/test/test_test.c:365,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:366,1
    - Dst: TEST_BN_le
      Src: /src/openssl/test/test_test.c:366,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:367,1
    - Dst: TEST_BN_gt
      Src: /src/openssl/test/test_test.c:367,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:368,1
    - Dst: TEST_BN_gt
      Src: /src/openssl/test/test_test.c:368,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:369,1
    - Dst: TEST_BN_gt
      Src: /src/openssl/test/test_test.c:369,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:370,1
    - Dst: TEST_BN_ge
      Src: /src/openssl/test/test_test.c:370,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:371,1
    - Dst: TEST_BN_ge
      Src: /src/openssl/test/test_test.c:371,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:372,1
    - Dst: TEST_BN_ge
      Src: /src/openssl/test/test_test.c:372,1
    - Dst: BN_free
      Src: /src/openssl/test/test_test.c:377,1
    - Dst: BN_free
      Src: /src/openssl/test/test_test.c:378,1
    - Dst: BN_free
      Src: /src/openssl/test/test_test.c:379,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 312
    functionDepth: 6
    functionLinenumber: 312
    functionLinenumberEnd: 381
    functionName: test_bignum
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - TEST_BN_eq_one
    - TEST_BN_odd
    - TEST_BN_lt_zero
    - TEST_BN_eq_zero
    - TEST_BN_ne
    - TEST_BN_abs_eq_word
    - BN_free
    - TEST_BN_eq_word
    - TEST_BN_ne_zero
    - TEST
    - TEST_BN_ge
    - BN_dec2bn
    - TEST_BN_even
    - TEST_BN_ge_zero
    - TEST_BN_gt_zero
    - TEST_BN_le_zero
    - TEST_int_eq
    - TEST_BN_le
    - TEST_BN_lt
    - TEST_BN_gt
    linkageType: ''
    returnType: int
    signature: int test_bignum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:395,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:395,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:396,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:396,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:397,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:397,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:398,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:398,1
    - Dst: strlen
      Src: /src/openssl/test/test_test.c:398,1
    - Dst: strlen
      Src: /src/openssl/test/test_test.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 399
    functionName: test_long_output
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST
    - strlen
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int test_long_output(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/test_test.c:424,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/test_test.c:424,1
    - Dst: TEST_true
      Src: /src/openssl/test/test_test.c:425,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/test_test.c:425,1
    - Dst: TEST_true
      Src: /src/openssl/test/test_test.c:426,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/test_test.c:426,1
    - Dst: TEST_true
      Src: /src/openssl/test/test_test.c:427,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/test_test.c:427,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:428,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:428,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:429,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:429,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:430,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:430,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:431,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:431,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:432,1
    - Dst: TEST_BN_ne
      Src: /src/openssl/test/test_test.c:432,1
    - Dst: TEST
      Src: /src/openssl/test/test_test.c:433,1
    - Dst: TEST_BN_eq
      Src: /src/openssl/test/test_test.c:433,1
    - Dst: BN_free
      Src: /src/openssl/test/test_test.c:434,1
    - Dst: BN_free
      Src: /src/openssl/test/test_test.c:435,1
    - Dst: BN_free
      Src: /src/openssl/test/test_test.c:436,1
    - Dst: BN_free
      Src: /src/openssl/test/test_test.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 439
    functionName: test_long_bignum
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_BN_eq
    - BN_hex2bn
    - TEST
    - TEST_BN_ne
    - TEST_true
    - BN_free
    linkageType: ''
    returnType: int
    signature: int test_long_bignum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/test_test.c:443,1
    - Dst: TEST_error
      Src: /src/openssl/test/test_test.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: test_messages
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int test_messages(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:459,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:460,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/test_test.c:461,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/test_test.c:462,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/test_test.c:463,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:464,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/test_test.c:466,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/test_test.c:467,1
    - Dst: TEST_long_ne
      Src: /src/openssl/test/test_test.c:468,1
    - Dst: TEST_long_lt
      Src: /src/openssl/test/test_test.c:469,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/test_test.c:471,1
    - Dst: TEST_char_eq
      Src: /src/openssl/test/test_test.c:472,1
    - Dst: TEST_char_ne
      Src: /src/openssl/test/test_test.c:473,1
    - Dst: TEST_char_le
      Src: /src/openssl/test/test_test.c:474,1
    - Dst: TEST_char_lt
      Src: /src/openssl/test/test_test.c:475,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/test_test.c:477,1
    - Dst: TEST_uchar_eq
      Src: /src/openssl/test/test_test.c:478,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/test_test.c:479,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/test_test.c:480,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/test_test.c:481,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/test_test.c:483,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/test_test.c:484,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/test_test.c:485,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:487,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:488,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:489,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/test_test.c:490,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/test_test.c:491,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/test_test.c:492,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:494,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/test_test.c:495,1
    - Dst: TEST_str_ne
      Src: /src/openssl/test/test_test.c:496,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:498,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/test_test.c:499,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/test_test.c:500,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 501
    functionName: test_single_eval
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - TEST_char_ne
    - TEST_str_ne
    - TEST_char_le
    - TEST_ptr
    - TEST_long_eq
    - TEST_long_lt
    - TEST_char_lt
    - TEST_uchar_eq
    - TEST_mem_ne
    - TEST_int_ne
    - TEST_str_eq
    - TEST_long_ne
    - TEST_size_t_eq
    - TEST_char_eq
    - TEST_ptr_null
    - TEST_ulong_eq
    - TEST_int_eq
    - TEST_mem_eq
    - TEST_ptr_eq
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_single_eval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_output_string
      Src: /src/openssl/test/test_test.c:508,1
    - Dst: test_output_memory
      Src: /src/openssl/test/test_test.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: test_output
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - test_output_memory
    - test_output_string
    linkageType: ''
    returnType: int
    signature: int test_output(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/test_test.c:527,1
    - Dst: BN_hex2bn
      Src: /src/openssl/test/test_test.c:527,1
    - Dst: test_output_bignum
      Src: /src/openssl/test/test_test.c:529,1
    - Dst: BN_free
      Src: /src/openssl/test/test_test.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 5
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: test_bn_output
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - test_output_bignum
    - BN_free
    - BN_hex2bn
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_bn_output(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/test_test.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: test_skip_one
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: int test_skip_one(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/test_test.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: test_skip_many
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: int test_skip_many(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/test_test.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 551
    functionName: test_skip_null
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: int test_skip_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:555,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:556,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:557,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:558,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:559,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:560,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:561,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:562,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:563,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:564,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:565,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:566,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:567,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:568,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:569,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:570,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:571,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:572,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:573,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/test_test.c:574,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/test_test.c:574,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:575,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/test_test.c:576,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/test_test.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 579
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/test_test.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: cb_client_npn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cb_client_npn(SSL *s, unsigned char **out, unsigned char *outlen,\n
      \                        const unsigned char *in, unsigned int inlen,\n                         void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: cb_server_npn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cb_server_npn(SSL *s, const unsigned char **data,\n                         unsigned
      int *len, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: cb_server_rejects_npn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cb_server_rejects_npn(SSL *s, const unsigned char **data,\n                                 unsigned
      int *len, void *arg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/test/ssl_old_test.c:150,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/test/ssl_old_test.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:154,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:155,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:160,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:162,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:170,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:173,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 186
    functionName: verify_npn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - memcmp
    - SSL_get0_next_proto_negotiated
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int verify_npn(SSL *client, SSL *server)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/test/ssl_old_test.c:212,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:214,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/ssl_old_test.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:221,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/ssl_old_test.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: servername_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - SSL_set_SSL_CTX
    - OPENSSL_strcasecmp
    - SSL_get_servername
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int servername_cb(SSL *s, int *ad, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/test/ssl_old_test.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:237,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:239,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:241,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: verify_servername
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - SSL_get_SSL_CTX
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int verify_servername(SSL *client, SSL *server)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:263,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ssl_old_test.c:267,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:267,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - outlen
    - in
    argTypes:
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 285
    functionName: next_protos_parse
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *next_protos_parse(size_t *outlen,\n                                        const
      char *in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next_protos_parse
      Src: /src/openssl/test/ssl_old_test.c:295,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:297,1
    - Dst: abort
      Src: /src/openssl/test/ssl_old_test.c:299,1
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/ssl_old_test.c:302,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:305,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ssl_old_test.c:313,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:315,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:316,1
    - Dst: abort
      Src: /src/openssl/test/ssl_old_test.c:317,1
    - Dst: memcpy
      Src: /src/openssl/test/ssl_old_test.c:319,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 324
    functionName: cb_server_alpn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - abort
    - next_protos_parse
    - memcpy
    - SSL_select_next_proto
    - OPENSSL_free
    - fprintf
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int cb_server_alpn(SSL *s, const unsigned char **out,\n                          unsigned
      char *outlen, const unsigned char *in,\n                          unsigned int
      inlen, void *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/test/ssl_old_test.c:330,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/test/ssl_old_test.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:333,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:337,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:343,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:349,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:354,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:355,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:360,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:365,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:366,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:367,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:376,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:377,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:378,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:379,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:380,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:381,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/test/ssl_old_test.c:383,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:384,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:387,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - client
    - server
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 391
    functionName: verify_alpn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - memcmp
    - OPENSSL_free
    - SSL_get0_alpn_selected
    - strlen
    - SSL_get_SSL_CTX
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int verify_alpn(SSL *client, SSL *server)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: serverinfo_cli_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int serverinfo_cli_parse_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char *in, size_t inlen,\n                                   int *al,
      void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: verify_serverinfo
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_serverinfo(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: custom_ext_0_cli_add_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int custom_ext_0_cli_add_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char **out,\n                                   size_t *outlen, int
      *al, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: custom_ext_0_cli_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int custom_ext_0_cli_parse_cb(SSL *s, unsigned int ext_type,\n                                     const
      unsigned char *in,\n                                     size_t inlen, int *al,
      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: custom_ext_1_cli_add_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: "int custom_ext_1_cli_add_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char **out,\n                                   size_t *outlen, int
      *al, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: custom_ext_1_cli_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int custom_ext_1_cli_parse_cb(SSL *s, unsigned int ext_type,\n                                     const
      unsigned char *in,\n                                     size_t inlen, int *al,
      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 498
    functionName: custom_ext_2_cli_add_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: "int custom_ext_2_cli_add_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char **out,\n                                   size_t *outlen, int
      *al, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: custom_ext_2_cli_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int custom_ext_2_cli_parse_cb(SSL *s, unsigned int ext_type,\n                                     const
      unsigned char *in,\n                                     size_t inlen, int *al,
      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 520
    functionName: custom_ext_3_cli_add_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: "int custom_ext_3_cli_add_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char **out,\n                                   size_t *outlen, int
      *al, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:528,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 533
    functionName: custom_ext_3_cli_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int custom_ext_3_cli_parse_cb(SSL *s, unsigned int ext_type,\n                                     const
      unsigned char *in,\n                                     size_t inlen, int *al,
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: custom_ext_0_srv_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int custom_ext_0_srv_parse_cb(SSL *s, unsigned int ext_type,\n                                     const
      unsigned char *in,\n                                     size_t inlen, int *al,
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 555
    functionName: custom_ext_0_srv_add_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int custom_ext_0_srv_add_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char **out,\n                                   size_t *outlen, int
      *al, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:564,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 569
    functionName: custom_ext_1_srv_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int custom_ext_1_srv_parse_cb(SSL *s, unsigned int ext_type,\n                                     const
      unsigned char *in,\n                                     size_t inlen, int *al,
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 576
    functionName: custom_ext_1_srv_add_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int custom_ext_1_srv_add_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char **out,\n                                   size_t *outlen, int
      *al, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:585,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: custom_ext_2_srv_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int custom_ext_2_srv_parse_cb(SSL *s, unsigned int ext_type,\n                                     const
      unsigned char *in,\n                                     size_t inlen, int *al,
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: custom_ext_2_srv_add_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int custom_ext_2_srv_add_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char **out,\n                                   size_t *outlen, int
      *al, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:608,1
    - Dst: memcmp
      Src: /src/openssl/test/ssl_old_test.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 613
    functionName: custom_ext_3_srv_parse_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int custom_ext_3_srv_parse_cb(SSL *s, unsigned int ext_type,\n                                     const
      unsigned char *in,\n                                     size_t inlen, int *al,
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: custom_ext_3_srv_add_cb
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: "int custom_ext_3_srv_add_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char **out,\n                                   size_t *outlen, int
      *al, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:637,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:638,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:639,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:640,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:641,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:642,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:643,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:644,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:645,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:648,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:650,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:652,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:654,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:657,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:659,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:662,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:665,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:668,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:671,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:674,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:677,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:679,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:682,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:685,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:686,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:687,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:688,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:690,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:691,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:693,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:694,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:695,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:696,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:697,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:698,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:699,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:701,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:703,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:704,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:705,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:707,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:708,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:709,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:711,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:713,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:714,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:715,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:716,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:717,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:719,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:720,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:721,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:722,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:723,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:725,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:726,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:727,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:729,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:730,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:731,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:732,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:733,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:734,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:735,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:736,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:737,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:738,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:739,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:740,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:741,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:742,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 744
    functionName: sv_usage
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void sv_usage(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/ssl_old_test.c:748,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/test/ssl_old_test.c:755,1
    - Dst: strcpy
      Src: /src/openssl/test/ssl_old_test.c:756,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:757,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/ssl_old_test.c:757,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ssl_old_test.c:773,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:776,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/test/ssl_old_test.c:776,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - out
    - key
    argTypes:
    - BIO*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 746
    functionDepth: 6
    functionLinenumber: 746
    functionLinenumberEnd: 778
    functionName: print_key_details
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strcpy
    - EVP_PKEY_get_group_name
    - EVP_PKEY_get_bits
    - OBJ_nid2sn
    - EVP_PKEY_get_id
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_key_details(BIO *out, EVP_PKEY *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/ssl_old_test.c:787,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:788,1
    - Dst: SSL_get_version
      Src: /src/openssl/test/ssl_old_test.c:790,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/openssl/test/ssl_old_test.c:791,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/ssl_old_test.c:791,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/test/ssl_old_test.c:792,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/ssl_old_test.c:794,1
    - Dst: BIO_puts
      Src: /src/openssl/test/ssl_old_test.c:797,1
    - Dst: print_key_details
      Src: /src/openssl/test/ssl_old_test.c:798,1
    - Dst: SSL_get_peer_tmp_key
      Src: /src/openssl/test/ssl_old_test.c:801,1
    - Dst: BIO_puts
      Src: /src/openssl/test/ssl_old_test.c:802,1
    - Dst: print_key_details
      Src: /src/openssl/test/ssl_old_test.c:803,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/ssl_old_test.c:804,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/test/ssl_old_test.c:806,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:807,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/ssl_old_test.c:807,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - c_ssl
    - prefix
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 780
    functionDepth: 7
    functionLinenumber: 780
    functionLinenumberEnd: 809
    functionName: print_details
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - SSL_get0_peer_certificate
    - X509_get0_pubkey
    - BIO_puts
    - OBJ_nid2sn
    - SSL_get_version
    - EVP_PKEY_free
    - SSL_CIPHER_get_version
    - print_key_details
    - SSL_get_peer_tmp_key
    - SSL_get_current_cipher
    - SSL_get_peer_signature_nid
    - SSL_CIPHER_get_name
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_details(SSL *c_ssl, const char *prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ssl_old_test.c:831,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 837
    functionName: protocol_from_string
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int protocol_from_string(const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/ssl_old_test.c:842,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:845,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:846,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/test/ssl_old_test.c:849,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:851,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:852,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 839
    functionDepth: 5
    functionLinenumber: 839
    functionLinenumberEnd: 856
    functionName: read_session
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - PEM_read_bio_SSL_SESSION
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *read_session(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:863,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/ssl_old_test.c:867,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:869,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:870,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/test/ssl_old_test.c:873,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - sess
    argTypes:
    - char*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 858
    functionDepth: 5
    functionLinenumber: 858
    functionLinenumberEnd: 876
    functionName: write_session
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - PEM_write_bio_SSL_SESSION
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int write_session(const char *filename, SSL_SESSION *sess)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: protocol_from_string
      Src: /src/openssl/test/ssl_old_test.c:886,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:888,1
    - Dst: SSL_ctrl
      Src: /src/openssl/test/ssl_old_test.c:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - version
    - ssl
    - setting
    argTypes:
    - char*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 894
    functionName: set_protocol_version
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 2
    functionsReached:
    - BIO_printf
    - SSL_ctrl
    - protocol_from_string
    linkageType: ''
    returnType: int
    signature: int set_protocol_version(const char *version, SSL *ssl, int setting)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/ssl_old_test.c:927,1
    - Dst: STACK_OF
      Src: /src/openssl/test/ssl_old_test.c:939,1
    - Dst: test_open_streams
      Src: /src/openssl/test/ssl_old_test.c:948,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/ssl_old_test.c:950,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/ssl_old_test.c:952,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/ssl_old_test.c:953,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/test/ssl_old_test.c:954,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:957,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/ssl_old_test.c:961,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/ssl_old_test.c:965,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/openssl/test/ssl_old_test.c:969,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:970,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/openssl/test/ssl_old_test.c:973,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:974,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/test/ssl_old_test.c:978,1
    - Dst: SSL_CONF_CTX_set1_prefix
      Src: /src/openssl/test/ssl_old_test.c:982,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:983,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:991,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:992,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:996,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:998,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1000,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1002,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1004,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1006,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1011,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1013,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1015,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1018,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1020,1
    - Dst: strspn
      Src: /src/openssl/test/ssl_old_test.c:1025,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:1025,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:1026,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1033,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1035,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1037,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1039,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1041,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1043,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1045,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/ssl_old_test.c:1047,1
    - Dst: atoi
      Src: /src/openssl/test/ssl_old_test.c:1050,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1053,1
    - Dst: atol
      Src: /src/openssl/test/ssl_old_test.c:1056,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_old_test.c:1059,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1064,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1068,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1072,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1076,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1080,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1084,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1086,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1090,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1092,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1096,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1099,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1104,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1108,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1112,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1114,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1116,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1120,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1122,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1124,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1128,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1130,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1134,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1135,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1139,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1143,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1147,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1151,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1155,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1159,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1163,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1167,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1171,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1175,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1179,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1181,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1183,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1187,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1191,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1195,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1199,1
    - Dst: atoi
      Src: /src/openssl/test/ssl_old_test.c:1202,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1203,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1205,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1207,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1209,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:1213,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/openssl/test/ssl_old_test.c:1222,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/openssl/test/ssl_old_test.c:1225,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/test/ssl_old_test.c:1231,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/test/ssl_old_test.c:1235,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/test/ssl_old_test.c:1237,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:1242,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:1244,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:1246,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 296
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 896
    functionDepth: 6
    functionLinenumber: 896
    functionLinenumberEnd: 1252
    functionName: main
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 5
    functionsReached:
    - sk_OPENSSL_STRING_push
    - atoi
    - SSL_CONF_CTX_set_flags
    - BIO_new_fp
    - sk_OPENSSL_STRING_new_null
    - strspn
    - SSL_CONF_CTX_set1_prefix
    - SSL_CONF_cmd_argv
    - STACK_OF
    - SSL_CONF_CTX_new
    - fprintf
    - test_open_streams
    - strcmp
    - ERR_print_errors
    - strlen
    - atol
    - BIO_printf
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_accept
      Src: /src/openssl/test/ssl_old_test.c:1944,1
    - Dst: BIO_set_accept_ip_family
      Src: /src/openssl/test/ssl_old_test.c:1948,1
    - Dst: BIO_set_bind_mode
      Src: /src/openssl/test/ssl_old_test.c:1949,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/ssl_old_test.c:1950,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/ssl_old_test.c:1953,1
    - Dst: BIO_get_accept_port
      Src: /src/openssl/test/ssl_old_test.c:1953,1
    - Dst: BIO_new_connect
      Src: /src/openssl/test/ssl_old_test.c:1955,1
    - Dst: BIO_set_conn_ip_family
      Src: /src/openssl/test/ssl_old_test.c:1958,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/test/ssl_old_test.c:1960,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/test/ssl_old_test.c:1962,1
    - Dst: BIO_do_connect
      Src: /src/openssl/test/ssl_old_test.c:1970,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:1971,1
    - Dst: BIO_do_accept
      Src: /src/openssl/test/ssl_old_test.c:1978,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:1979,1
    - Dst: BIO_pop
      Src: /src/openssl/test/ssl_old_test.c:1988,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ssl_old_test.c:1989,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:1992,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:1992,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:1996,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:1996,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/ssl_old_test.c:2000,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2001,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2002,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/ssl_old_test.c:2004,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2005,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2006,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2032,1
    - Dst: memset
      Src: /src/openssl/test/ssl_old_test.c:2034,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2037,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2038,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2039,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2048,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2050,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2051,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2062,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2066,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2074,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2076,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2077,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2085,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2089,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2103,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2111,1
    - Dst: memset
      Src: /src/openssl/test/ssl_old_test.c:2113,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2116,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2117,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2118,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2127,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2129,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2130,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2136,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2140,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2148,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2150,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2151,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2157,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2161,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2166,1
    - Dst: print_details
      Src: /src/openssl/test/ssl_old_test.c:2172,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/ssl_old_test.c:2174,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/ssl_old_test.c:2174,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/ssl_old_test.c:2175,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/ssl_old_test.c:2175,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2176,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/ssl_old_test.c:2177,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/ssl_old_test.c:2177,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2178,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/ssl_old_test.c:2179,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/ssl_old_test.c:2179,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2180,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/ssl_old_test.c:2182,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/ssl_old_test.c:2182,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/ssl_old_test.c:2183,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/ssl_old_test.c:2183,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2184,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/test/ssl_old_test.c:2185,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/test/ssl_old_test.c:2185,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2186,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/test/ssl_old_test.c:2187,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/ssl_old_test.c:2187,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2188,1
    - Dst: verify_npn
      Src: /src/openssl/test/ssl_old_test.c:2191,1
    - Dst: verify_serverinfo
      Src: /src/openssl/test/ssl_old_test.c:2194,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2195,1
    - Dst: verify_alpn
      Src: /src/openssl/test/ssl_old_test.c:2198,1
    - Dst: verify_servername
      Src: /src/openssl/test/ssl_old_test.c:2199,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2203,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2213,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ssl_old_test.c:2215,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2216,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2217,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2218,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2219,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2221,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2223,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 208
    argCount: 6
    argNames:
    - s_ssl
    - c_ssl
    - family
    - count
    - s_time
    - c_time
    argTypes:
    - SSL*
    - SSL*
    - int
    - long
    - clock_t*
    - clock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 1933
    functionDepth: 8
    functionLinenumber: 1933
    functionLinenumberEnd: 2227
    functionName: doit_localhost
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_ssl
    - SSL_state_string_long
    - clock
    - printf
    - BIO_do_connect
    - BIO_snprintf
    - BIO_get_ktls_recv
    - strcmp
    - BIO_should_retry
    - BIO_write
    - BIO_new
    - SSL_set_connect_state
    - print_details
    - verify_serverinfo
    - BIO_free_all
    - verify_servername
    - BIO_set_nbio
    - verify_npn
    - BIO_read
    - SSL_set_bio
    - BIO_new_accept
    - BIO_f_ssl
    - BIO_printf
    - SSL_set_accept_state
    - BIO_set_conn_ip_family
    - SSL_in_init
    - BIO_free
    - BIO_set_accept_ip_family
    - verify_alpn
    - BIO_set_bind_mode
    - BIO_do_accept
    - memset
    - BIO_get_ktls_send
    - BIO_get_accept_port
    - SSL_get_wbio
    - fprintf
    - ERR_print_errors
    - BIO_new_connect
    - SSL_get_rbio
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: "int doit_localhost(SSL *s_ssl, SSL *c_ssl, int family, long count,\n
      \                  clock_t *s_time, clock_t *c_time)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_bio_pair
      Src: /src/openssl/test/ssl_old_test.c:2242,1
    - Dst: BIO_new_bio_pair
      Src: /src/openssl/test/ssl_old_test.c:2244,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2247,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:2247,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2251,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:2251,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/ssl_old_test.c:2255,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2256,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2257,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/ssl_old_test.c:2259,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2260,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2261,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2311,1
    - Dst: memset
      Src: /src/openssl/test/ssl_old_test.c:2313,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2316,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2317,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2318,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2327,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2329,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2330,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2341,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2345,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2353,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2355,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2356,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2364,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2368,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2382,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2390,1
    - Dst: memset
      Src: /src/openssl/test/ssl_old_test.c:2392,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2395,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2396,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2397,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2406,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2408,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2409,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2415,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2419,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2427,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2429,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2430,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2436,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2440,1
    - Dst: clock
      Src: /src/openssl/test/ssl_old_test.c:2445,1
    - Dst: BIO_ctrl_pending
      Src: /src/openssl/test/ssl_old_test.c:2466,1
    - Dst: BIO_ctrl_get_write_guarantee
      Src: /src/openssl/test/ssl_old_test.c:2467,1
    - Dst: BIO_nread
      Src: /src/openssl/test/ssl_old_test.c:2478,1
    - Dst: assert
      Src: /src/openssl/test/ssl_old_test.c:2479,1
    - Dst: assert
      Src: /src/openssl/test/ssl_old_test.c:2480,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2485,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2487,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2494,1
    - Dst: BIO_ctrl_pending
      Src: /src/openssl/test/ssl_old_test.c:2506,1
    - Dst: BIO_ctrl_get_read_request
      Src: /src/openssl/test/ssl_old_test.c:2507,1
    - Dst: BIO_nwrite0
      Src: /src/openssl/test/ssl_old_test.c:2525,1
    - Dst: assert
      Src: /src/openssl/test/ssl_old_test.c:2526,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2529,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2531,1
    - Dst: BIO_nwrite
      Src: /src/openssl/test/ssl_old_test.c:2536,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2538,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2544,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2553,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2554,1
    - Dst: print_details
      Src: /src/openssl/test/ssl_old_test.c:2563,1
    - Dst: verify_npn
      Src: /src/openssl/test/ssl_old_test.c:2565,1
    - Dst: verify_serverinfo
      Src: /src/openssl/test/ssl_old_test.c:2568,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2569,1
    - Dst: verify_alpn
      Src: /src/openssl/test/ssl_old_test.c:2572,1
    - Dst: verify_servername
      Src: /src/openssl/test/ssl_old_test.c:2573,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2577,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2587,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2589,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2590,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2591,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2592,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2593,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2594,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2596,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2598,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 221
    argCount: 5
    argNames:
    - s_ssl
    - c_ssl
    - count
    - s_time
    - c_time
    argTypes:
    - SSL*
    - SSL*
    - long
    - clock_t*
    - clock_t*
    assertStmts:
    - condition: (r <= (int)num)
      pos:
        line_end: 2479
        line_start: 2479
        source_file: /src/openssl/test/ssl_old_test.c
    - condition: (r > 0)
      pos:
        line_end: 2525
        line_start: 2525
        source_file: /src/openssl/test/ssl_old_test.c
    - condition: (r > 0)
      pos:
        line_end: 2478
        line_start: 2478
        source_file: /src/openssl/test/ssl_old_test.c
    constantsTouched: []
    func_position:
      end: 2602
      start: 2230
    functionDepth: 8
    functionLinenumber: 2230
    functionLinenumberEnd: 2602
    functionName: doit_biopair
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_ssl
    - SSL_state_string_long
    - clock
    - strcmp
    - assert
    - BIO_should_retry
    - BIO_write
    - BIO_new
    - SSL_set_connect_state
    - print_details
    - verify_serverinfo
    - verify_servername
    - BIO_nread
    - verify_npn
    - BIO_read
    - SSL_set_bio
    - BIO_f_ssl
    - BIO_new_bio_pair
    - SSL_set_accept_state
    - SSL_in_init
    - BIO_free
    - BIO_nwrite0
    - BIO_ctrl_pending
    - verify_alpn
    - memset
    - BIO_nwrite
    - fprintf
    - ERR_print_errors
    - printf
    - BIO_ctrl_get_read_request
    - BIO_ctrl_get_write_guarantee
    linkageType: ''
    returnType: int
    signature: "int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count,\n                 clock_t
      *s_time, clock_t *c_time)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ssl_old_test.c:2631,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ssl_old_test.c:2633,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2636,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ssl_old_test.c:2636,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2637,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/ssl_old_test.c:2637,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2639,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2643,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:2643,1
    - Dst: BIO_new
      Src: /src/openssl/test/ssl_old_test.c:2644,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/test/ssl_old_test.c:2644,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2646,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/ssl_old_test.c:2650,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2651,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/ssl_old_test.c:2652,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2653,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/ssl_old_test.c:2659,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/ssl_old_test.c:2665,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/ssl_old_test.c:2671,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/ssl_old_test.c:2672,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/ssl_old_test.c:2678,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/test/ssl_old_test.c:2679,1
    - Dst: BIO_pending
      Src: /src/openssl/test/ssl_old_test.c:2692,1
    - Dst: BIO_pending
      Src: /src/openssl/test/ssl_old_test.c:2696,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2701,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2702,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2703,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/ssl_old_test.c:2707,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2708,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/test/ssl_old_test.c:2709,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2713,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2714,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2720,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2724,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/ssl_old_test.c:2725,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/ssl_old_test.c:2727,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2730,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2732,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2736,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2740,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/ssl_old_test.c:2746,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2749,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2753,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/ssl_old_test.c:2754,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/ssl_old_test.c:2756,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2759,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2761,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2765,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2769,1
    - Dst: BIO_read
      Src: /src/openssl/test/ssl_old_test.c:2786,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2790,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/ssl_old_test.c:2791,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/ssl_old_test.c:2793,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2796,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2798,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2802,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2803,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2808,1
    - Dst: BIO_write
      Src: /src/openssl/test/ssl_old_test.c:2822,1
    - Dst: BIO_should_retry
      Src: /src/openssl/test/ssl_old_test.c:2826,1
    - Dst: BIO_should_read
      Src: /src/openssl/test/ssl_old_test.c:2827,1
    - Dst: BIO_should_write
      Src: /src/openssl/test/ssl_old_test.c:2829,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2832,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2834,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/ssl_old_test.c:2838,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2839,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2844,1
    - Dst: SSL_set_max_send_fragment
      Src: /src/openssl/test/ssl_old_test.c:2851,1
    - Dst: print_details
      Src: /src/openssl/test/ssl_old_test.c:2861,1
    - Dst: verify_npn
      Src: /src/openssl/test/ssl_old_test.c:2863,1
    - Dst: verify_serverinfo
      Src: /src/openssl/test/ssl_old_test.c:2866,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2867,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2871,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2876,1
    - Dst: BIO_free
      Src: /src/openssl/test/ssl_old_test.c:2877,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ssl_old_test.c:2878,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/ssl_old_test.c:2879,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:2880,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_old_test.c:2881,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2883,1
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:2885,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 249
    argCount: 3
    argNames:
    - s_ssl
    - c_ssl
    - count
    argTypes:
    - SSL*
    - SSL*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2609
    functionDepth: 8
    functionLinenumber: 2609
    functionLinenumberEnd: 2889
    functionName: doit
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BIO_set_ssl
    - SSL_state_string_long
    - OPENSSL_free
    - BIO_s_mem
    - strcmp
    - BIO_should_retry
    - BIO_write
    - BIO_new
    - OPENSSL_zalloc
    - SSL_set_connect_state
    - print_details
    - BIO_should_write
    - verify_serverinfo
    - BIO_free_all
    - verify_npn
    - BIO_read
    - SSL_set_bio
    - BIO_f_ssl
    - SSL_set_accept_state
    - SSL_in_init
    - BIO_free
    - SSL_set_max_send_fragment
    - BIO_should_read
    - BIO_up_ref
    - BIO_pending
    - fprintf
    - ERR_print_errors
    - printf
    linkageType: ''
    returnType: int
    signature: int doit(SSL *s_ssl, SSL *c_ssl, long count)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/openssl/test/ssl_old_test.c:2895,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/ssl_old_test.c:2895,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/test/ssl_old_test.c:2895,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2899,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/test/ssl_old_test.c:2899,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2901,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/test/ssl_old_test.c:2902,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/ssl_old_test.c:2903,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/test/ssl_old_test.c:2908,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2912,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/test/ssl_old_test.c:2913,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2924
      start: 2891
    functionDepth: 3
    functionLinenumber: 2891
    functionLinenumberEnd: 2924
    functionName: verify_callback
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 2
    functionsReached:
    - X509_STORE_CTX_get_error_depth
    - X509_get_subject_name
    - X509_STORE_CTX_get_current_cert
    - X509_verify_cert_error_string
    - X509_NAME_oneline
    - fprintf
    - X509_STORE_CTX_get_error
    - printf
    linkageType: ''
    returnType: int
    signature: int verify_callback(int ok, X509_STORE_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get0_cert
      Src: /src/openssl/test/ssl_old_test.c:2933,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2935,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2936,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2937,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/test/ssl_old_test.c:2940,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/ssl_old_test.c:2940,1
    - Dst: printf
      Src: /src/openssl/test/ssl_old_test.c:2942,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/test/ssl_old_test.c:2943,1
    - Dst: X509_verify_cert
      Src: /src/openssl/test/ssl_old_test.c:2948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2926
    functionDepth: 3
    functionLinenumber: 2926
    functionLinenumberEnd: 2951
    functionName: app_verify_callback
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_error_depth
    - X509_verify_cert
    - X509_get_subject_name
    - X509_NAME_oneline
    - X509_STORE_CTX_get0_cert
    - printf
    linkageType: ''
    returnType: int
    signature: int app_verify_callback(X509_STORE_CTX *ctx, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/openssl/test/ssl_old_test.c:2961,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2963,1
    - Dst: BN_free
      Src: /src/openssl/test/ssl_old_test.c:2965,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/ssl_old_test.c:2968,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:2969,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/ssl_old_test.c:2971,1
    - Dst: BN_free
      Src: /src/openssl/test/ssl_old_test.c:2972,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/ssl_old_test.c:2975,1
    - Dst: BN_free
      Src: /src/openssl/test/ssl_old_test.c:2976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pskkey
    - psk
    - max_psk_len
    argTypes:
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2955
    functionDepth: 5
    functionLinenumber: 2955
    functionLinenumberEnd: 2978
    functionName: psk_key2bn
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 0
    functionsReached:
    - BN_hex2bn
    - BN_num_bytes
    - BN_bn2bin
    - BN_free
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int psk_key2bn(const char *pskkey, unsigned char *psk,\n                      unsigned
      int max_psk_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/ssl_old_test.c:2989,1
    - Dst: fprintf
      Src: /src/openssl/test/ssl_old_test.c:2993,1
    - Dst: psk_key2bn
      Src: /src/openssl/test/ssl_old_test.c:2995,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_identity_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2980
    functionDepth: 6
    functionLinenumber: 2980
    functionLinenumberEnd: 3001
    functionName: psk_client_callback
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 3
    functionsReached:
    - BIO_snprintf
    - psk_key2bn
    - fprintf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int psk_client_callback(SSL *ssl, const char *hint,\n                                        char
      *identity,\n                                        unsigned int max_identity_len,\n
      \                                       unsigned char *psk,\n                                        unsigned
      int max_psk_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/ssl_old_test.c:3009,1
    - Dst: BIO_printf
      Src: /src/openssl/test/ssl_old_test.c:3010,1
    - Dst: psk_key2bn
      Src: /src/openssl/test/ssl_old_test.c:3013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 3003
    functionDepth: 6
    functionLinenumber: 3003
    functionLinenumberEnd: 3015
    functionName: psk_server_callback
    functionSourceFile: /src/openssl/test/ssl_old_test.c
    functionUses: 3
    functionsReached:
    - strcmp
    - psk_key2bn
    - BIO_printf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int psk_server_callback(SSL *ssl, const char *identity,\n
      \                                       unsigned char *psk,\n                                        unsigned
      int max_psk_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/fake_cipherprov.c:35,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/fake_cipherprov.c:37,1
    - Dst: OSSL_PARAM_get_utf8_string
      Src: /src/openssl/test/fake_cipherprov.c:39,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:40,1
    - Dst: memcpy
      Src: /src/openssl/test/fake_cipherprov.c:44,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/fake_cipherprov.c:47,1
    - Dst: memcpy
      Src: /src/openssl/test/fake_cipherprov.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pctx
    - params
    argTypes:
    - PROV_CIPHER_FAKE_CTX*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: ctx_from_key_params
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - memcpy
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_utf8_string
    linkageType: ''
    returnType: int
    signature: int ctx_from_key_params(PROV_CIPHER_FAKE_CTX *pctx, const OSSL_PARAM
      *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_cipherprov.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: fake_skeymgmt_free
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void fake_skeymgmt_free(void *keydata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_cipherprov.c:68,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_cipherprov.c:68,1
    - Dst: ctx_from_key_params
      Src: /src/openssl/test/fake_cipherprov.c:71,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_cipherprov.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - provctx
    - selection
    - p
    argTypes:
    - void*
    - int
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: fake_skeymgmt_import
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - TEST_ptr
    - OPENSSL_zalloc
    - ctx_from_key_params
    linkageType: ''
    returnType: void
    signature: void *fake_skeymgmt_import(void *provctx, int selection, const OSSL_PARAM
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/fake_cipherprov.c:87,1
    - Dst: strlen
      Src: /src/openssl/test/fake_cipherprov.c:89,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/fake_cipherprov.c:94,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/fake_cipherprov.c:99,1
    - Dst: param_callback
      Src: /src/openssl/test/fake_cipherprov.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_callback
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: fake_skeymgmt_export
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - param_callback
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - strlen
    linkageType: ''
    returnType: int
    signature: "int fake_skeymgmt_export(void *keydata, int selection,\n                                OSSL_CALLBACK
      *param_callback, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_cipherprov.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: fake_newctx
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *fake_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_cipherprov.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: fake_freectx
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void fake_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/fake_cipherprov.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - pkeyparam
    - iv
    - ivlen
    - params
    argTypes:
    - PROV_CIPHER_FAKE_CTX*
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: fake_skey_init
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int fake_skey_init(PROV_CIPHER_FAKE_CTX *ctx, void *pkeyparam,\n                          const
      unsigned char *iv, size_t ivlen,\n                          const OSSL_PARAM
      params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_skey_init
      Src: /src/openssl/test/fake_cipherprov.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - vctx
    - pkeyparam
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: fake_skey_einit
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - fake_skey_init
    linkageType: ''
    returnType: int
    signature: "int fake_skey_einit(void *vctx, void *pkeyparam,\n                           const
      unsigned char *iv, size_t ivlen,\n                           const OSSL_PARAM
      params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_skey_init
      Src: /src/openssl/test/fake_cipherprov.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - vctx
    - pkeyparam
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: fake_skey_dinit
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - fake_skey_init
    linkageType: ''
    returnType: int
    signature: "int fake_skey_dinit(void *vctx, void *pkeyparam,\n                           const
      unsigned char *iv, size_t ivlen,\n                           const OSSL_PARAM
      params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/fake_cipherprov.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: fake_cipher
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int fake_cipher(void *vctx, unsigned char *out, size_t *outl,\n                       size_t
      outsize, const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: fake_final
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fake_final(void *vctx, unsigned char *out, size_t *outl,\n                      size_t
      outsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_cipherprov.c:195,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_cipherprov.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:197,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_cipherprov.c:200,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_cipherprov.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 190
    functionDepth: 6
    functionLinenumber: 190
    functionLinenumberEnd: 206
    functionName: fake_get_params
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int fake_get_params(OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: fake_gettable_ctx_params
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *fake_gettable_ctx_params(ossl_unused void *cctx,\n                                                  ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_cipherprov.c:226,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_cipherprov.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:228,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/fake_cipherprov.c:231,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/fake_cipherprov.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_cipherprov.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: fake_get_ctx_params
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int fake_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: fake_settable_ctx_params
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *fake_settable_ctx_params(ossl_unused void *cctx,\n                                                  ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: fake_cipher_query
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *fake_cipher_query(void *provctx,\n                                               int
      operation_id,\n                                               int *no_cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_cipherprov.c:300,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/fake_cipherprov.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: fake_cipher_provider_init
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: "int fake_cipher_provider_init(const OSSL_CORE_HANDLE *handle,\n                                     const
      OSSL_DISPATCH *in,\n                                     const OSSL_DISPATCH
      **out, void **provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/fake_cipherprov.c:310,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/fake_cipherprov.c:310,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_cipherprov.c:312,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/openssl/test/fake_cipherprov.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: fake_cipher_start
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 1
    functionsReached:
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_try_load
    - TEST_true
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *fake_cipher_start(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/fake_cipherprov.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: fake_cipher_finish
    functionSourceFile: /src/openssl/test/fake_cipherprov.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void fake_cipher_finish(OSSL_PROVIDER *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: TEST_FL_ptr
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_ptr(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - m
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: TEST_FL_mem_eq
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_mem_eq(a, m, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: TEST_FL_strn_eq
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_strn_eq(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - m
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: TEST_FL_strn2_eq
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_strn2_eq(a, m, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: TEST_FL_int_eq
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_int_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: TEST_FL_int_ge
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_int_ge(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: TEST_FL_int_gt
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_int_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: TEST_FL_long_gt
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_long_gt(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: TEST_FL_true
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FL_true(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:87,1
    - Dst: get_dh512
      Src: /src/openssl/test/endecode_test.c:88,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:90,1
    - Dst: get_dhx512
      Src: /src/openssl/test/endecode_test.c:91,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/endecode_test.c:98,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/endecode_test.c:99,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/endecode_test.c:101,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/test/endecode_test.c:102,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/endecode_test.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - type
    - genparams
    argTypes:
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 7
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: make_template
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - get_dh512
    - EVP_PKEY_CTX_set_params
    - get_dhx512
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - strcmp
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *make_template(const char *type, OSSL_PARAM *genparams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/endecode_test.c:121,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/endecode_test.c:122,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/endecode_test.c:129,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/test/endecode_test.c:131,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/test/endecode_test.c:132,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/endecode_test.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - type
    - genparams
    argTypes:
    - char*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 8
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: make_key
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_keygen
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *make_key(const char *type, EVP_PKEY *template,\n                          OSSL_PARAM
      *genparams)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:181,1
    - Dst: encode_cb
      Src: /src/openssl/test/endecode_test.c:181,1
    - Dst: TEST_false
      Src: /src/openssl/test/endecode_test.c:186,1
    - Dst: decode_cb
      Src: /src/openssl/test/endecode_test.c:186,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:194,1
    - Dst: check_cb
      Src: /src/openssl/test/endecode_test.c:194,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:195,1
    - Dst: decode_cb
      Src: /src/openssl/test/endecode_test.c:195,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:201,1
    - Dst: decode_cb
      Src: /src/openssl/test/endecode_test.c:201,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:205,1
    - Dst: encode_cb
      Src: /src/openssl/test/endecode_test.c:205,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:210,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/endecode_test.c:210,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:212,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/endecode_test.c:212,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:215,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/endecode_test.c:215,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:217,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/endecode_test.c:217,1
    - Dst: test_cb
      Src: /src/openssl/test/endecode_test.c:227,1
    - Dst: dump_cb
      Src: /src/openssl/test/endecode_test.c:234,1
    - Dst: dump_cb
      Src: /src/openssl/test/endecode_test.c:236,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:239,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:240,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:241,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:242,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 39
    argCount: 15
    argNames:
    - file
    - line
    - type
    - pkey
    - selection
    - output_type
    - output_structure
    - pass
    - pcipher
    - encode_cb
    - decode_cb
    - test_cb
    - check_cb
    - dump_cb
    - flags
    argTypes:
    - char*
    - int
    - char*
    - EVP_PKEY*
    - int
    - char*
    - char*
    - char*
    - char*
    - encoder*
    - decoder*
    - tester*
    - checker*
    - dumper*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 244
    functionName: test_encode_decode
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_cb
    - EVP_PKEY_eq
    - dump_cb
    - TEST_false
    - decode_cb
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_parameters_eq
    - OPENSSL_free
    - check_cb
    - TEST_true
    - strcmp
    - encode_cb
    linkageType: ''
    returnType: int
    signature: "int test_encode_decode(const char *file, const int line,\n                              const
      char *type, EVP_PKEY *pkey,\n                              int selection, const
      char *output_type,\n                              const char *output_structure,\n
      \                             const char *pass, const char *pcipher,\n                              encoder
      *encode_cb, decoder *decode_cb,\n                              tester *test_cb,
      checker *check_cb,\n                              dumper *dump_cb, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:262,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecode_test.c:262,1
    - Dst: TEST_FL_int_gt
      Src: /src/openssl/test/endecode_test.c:266,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/test/endecode_test.c:266,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:268,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/test/endecode_test.c:268,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:269,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:271,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/test/endecode_test.c:271,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:272,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecode_test.c:272,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecode_test.c:272,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:273,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/test/endecode_test.c:273,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:274,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/endecode_test.c:274,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:275,1
    - Dst: TEST_FL_long_gt
      Src: /src/openssl/test/endecode_test.c:276,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:284,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecode_test.c:285,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 10
    argNames:
    - file
    - line
    - encoded
    - encoded_len
    - object
    - selection
    - output_type
    - output_structure
    - pass
    - pcipher
    argTypes:
    - char*
    - int
    - void**
    - long*
    - void*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 248
    functionDepth: 11
    functionLinenumber: 248
    functionLinenumberEnd: 287
    functionName: encode_EVP_PKEY_prov
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_to_bio
    - BIO_new
    - OSSL_ENCODER_CTX_get_num_encoders
    - TEST_FL_ptr
    - OSSL_ENCODER_CTX_new_for_pkey
    - BIO_free
    - TEST_FL_true
    - BIO_get_mem_ptr
    - TEST_FL_long_gt
    - BIO_s_mem
    - OSSL_ENCODER_CTX_free
    - TEST_FL_int_gt
    - strlen
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_set_passphrase
    linkageType: ''
    returnType: int
    signature: "int encode_EVP_PKEY_prov(const char *file, const int line,\n                                void
      **encoded, long *encoded_len,\n                                void *object,
      int selection,\n                                const char *output_type,\n                                const
      char *output_structure,\n                                const char *pass, const
      char *pcipher)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_gt
      Src: /src/openssl/test/endecode_test.c:302,1
    - Dst: i2d_PKCS8PrivateKey
      Src: /src/openssl/test/endecode_test.c:302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:303,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/endecode_test.c:303,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:304,1
    - Dst: i2d_PKCS8PrivateKey
      Src: /src/openssl/test/endecode_test.c:304,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:305,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 10
    argNames:
    - unused_file
    - unused_line
    - encoded
    - encoded_len
    - object
    - unused_selection
    - unused_output_type
    - unused_output_structure
    - unused_pass
    - unused_pcipher
    argTypes:
    - char*
    - int
    - void**
    - long*
    - void*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 289
    functionDepth: 14
    functionLinenumber: 289
    functionLinenumberEnd: 315
    functionName: encode_EVP_PKEY_i2d
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - i2d_PKCS8PrivateKey
    - OPENSSL_free
    - TEST_ptr
    - OPENSSL_malloc
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int encode_EVP_PKEY_i2d(const char *unused_file,\n                               const
      int unused_line,\n                               void **encoded, long *encoded_len,\n
      \                              void *object, int unused_selection,\n                               const
      char *unused_output_type,\n                               const char *unused_output_structure,\n
      \                              const char *unused_pass,\n                               const
      char *unused_pcipher)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:332,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:337,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/endecode_test.c:337,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:351,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecode_test.c:351,1
    - Dst: OSSL_DECODER_CTX_set_passphrase
      Src: /src/openssl/test/endecode_test.c:358,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:358,1
    - Dst: TEST_FL_int_gt
      Src: /src/openssl/test/endecode_test.c:359,1
    - Dst: BIO_reset
      Src: /src/openssl/test/endecode_test.c:359,1
    - Dst: TEST_FL_int_eq
      Src: /src/openssl/test/endecode_test.c:361,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/test/endecode_test.c:361,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecode_test.c:364,1
    - Dst: TEST_FL_int_eq
      Src: /src/openssl/test/endecode_test.c:372,1
    - Dst: EVP_PKEY_parameters_eq
      Src: /src/openssl/test/endecode_test.c:372,1
    - Dst: TEST_FL_int_eq
      Src: /src/openssl/test/endecode_test.c:375,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/endecode_test.c:375,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:385,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:386,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:387,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/endecode_test.c:388,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 10
    argNames:
    - file
    - line
    - object
    - encoded
    - encoded_len
    - input_type
    - structure_type
    - keytype
    - selection
    - pass
    argTypes:
    - char*
    - int
    - void**
    - void*
    - long
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 317
    functionDepth: 12
    functionLinenumber: 317
    functionLinenumberEnd: 390
    functionName: decode_EVP_PKEY_prov
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_from_bio
    - EVP_PKEY_eq
    - TEST_FL_ptr
    - BIO_free
    - OSSL_DECODER_CTX_new_for_pkey
    - TEST_FL_int_eq
    - EVP_PKEY_parameters_eq
    - EVP_PKEY_free
    - TEST_FL_int_gt
    - BIO_reset
    - strcmp
    - BIO_new_mem_buf
    - strlen
    - OSSL_DECODER_CTX_set_passphrase
    linkageType: ''
    returnType: int
    signature: "int decode_EVP_PKEY_prov(const char *file, const int line,\n                                void
      **object, void *encoded, long encoded_len,\n                                const
      char *input_type,\n                                const char *structure_type,\n
      \                               const char *keytype, int selection,\n                                const
      char *pass)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:408,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:409,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/test/endecode_test.c:409,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:412,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecode_test.c:412,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecode_test.c:412,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:413,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/test/endecode_test.c:413,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:417,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/endecode_test.c:417,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:418,1
    - Dst: TEST_FL_long_gt
      Src: /src/openssl/test/endecode_test.c:419,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:427,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/test/endecode_test.c:428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 10
    argNames:
    - file
    - line
    - encoded
    - encoded_len
    - object
    - selection
    - output_type
    - output_structure
    - pass
    - pcipher
    argTypes:
    - char*
    - int
    - void**
    - long*
    - void*
    - ossl_unused
    - ossl_unused*
    - ossl_unused*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 430
    functionName: encode_EVP_PKEY_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - TEST_FL_ptr
    - BIO_free
    - TEST_FL_true
    - PEM_write_bio_PrivateKey_traditional
    - TEST_FL_long_gt
    - EVP_CIPHER_fetch
    - BIO_s_mem
    - EVP_CIPHER_free
    - BIO_get_mem_ptr
    - strlen
    linkageType: ''
    returnType: int
    signature: "int encode_EVP_PKEY_legacy_PEM(const char *file, const int line,\n
      \                                     void **encoded, long *encoded_len,\n                                      void
      *object, ossl_unused int selection,\n                                      ossl_unused
      const char *output_type,\n                                      ossl_unused
      const char *output_structure,\n                                      const char
      *pass, const char *pcipher)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:445,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecode_test.c:445,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecode_test.c:445,1
    - Dst: TEST_FL_int_ge
      Src: /src/openssl/test/endecode_test.c:449,1
    - Dst: i2b_PrivateKey_bio
      Src: /src/openssl/test/endecode_test.c:449,1
    - Dst: TEST_FL_int_ge
      Src: /src/openssl/test/endecode_test.c:452,1
    - Dst: i2b_PublicKey_bio
      Src: /src/openssl/test/endecode_test.c:452,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:456,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/endecode_test.c:456,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:457,1
    - Dst: TEST_FL_long_gt
      Src: /src/openssl/test/endecode_test.c:458,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 10
    argNames:
    - file
    - line
    - encoded
    - encoded_len
    - object
    - selection
    - output_type
    - output_structure
    - pass
    - pcipher
    argTypes:
    - char*
    - int
    - void**
    - long*
    - void*
    - int
    - ossl_unused*
    - ossl_unused*
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 468
    functionName: encode_EVP_PKEY_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - TEST_FL_ptr
    - BIO_free
    - TEST_FL_true
    - i2b_PrivateKey_bio
    - i2b_PublicKey_bio
    - BIO_s_mem
    - BIO_get_mem_ptr
    - TEST_FL_long_gt
    - TEST_FL_int_ge
    linkageType: ''
    returnType: int
    signature: "int encode_EVP_PKEY_MSBLOB(const char *file, const int line,\n                                  void
      **encoded, long *encoded_len,\n                                  void *object,
      int selection,\n                                  ossl_unused const char *output_type,\n
      \                                 ossl_unused const char *output_structure,\n
      \                                 ossl_unused const char *pass,\n                                  ossl_unused
      const char *pcipher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/test/endecode_test.c:473,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: pass_pw
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strlcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int pass_pw(char *buf, int size, int rwflag, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:491,1
    - Dst: ossl_assert
      Src: /src/openssl/test/endecode_test.c:491,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:493,1
    - Dst: BIO_new
      Src: /src/openssl/test/endecode_test.c:493,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/endecode_test.c:493,1
    - Dst: TEST_FL_int_ge
      Src: /src/openssl/test/endecode_test.c:494,1
    - Dst: i2b_PVK_bio_ex
      Src: /src/openssl/test/endecode_test.c:494,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:496,1
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/test/endecode_test.c:496,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:497,1
    - Dst: TEST_FL_long_gt
      Src: /src/openssl/test/endecode_test.c:498,1
    - Dst: BIO_free
      Src: /src/openssl/test/endecode_test.c:506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 10
    argNames:
    - file
    - line
    - encoded
    - encoded_len
    - object
    - selection
    - output_type
    - output_structure
    - pass
    - pcipher
    argTypes:
    - char*
    - int
    - void**
    - long*
    - void*
    - int
    - ossl_unused*
    - ossl_unused*
    - char*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 477
    functionDepth: 5
    functionLinenumber: 477
    functionLinenumberEnd: 508
    functionName: encode_EVP_PKEY_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - BIO_new
    - i2b_PVK_bio_ex
    - TEST_FL_ptr
    - BIO_free
    - TEST_FL_true
    - BIO_get_mem_ptr
    - TEST_FL_long_gt
    - BIO_s_mem
    - TEST_FL_int_ge
    linkageType: ''
    returnType: int
    signature: "int encode_EVP_PKEY_PVK(const char *file, const int line,\n                               void
      **encoded, long *encoded_len,\n                               void *object,
      int selection,\n                               ossl_unused const char *output_type,\n
      \                              ossl_unused const char *output_structure,\n                               const
      char *pass,\n                               ossl_unused const char *pcipher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_strn2_eq
      Src: /src/openssl/test/endecode_test.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - file
    - line
    - data1
    - data1_len
    - data2
    - data2_len
    argTypes:
    - char*
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: test_text
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_strn2_eq
    linkageType: ''
    returnType: int
    signature: "int test_text(const char *file, const int line,\n                     const
      void *data1, size_t data1_len,\n                     const void *data2, size_t
      data2_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_mem_eq
      Src: /src/openssl/test/endecode_test.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - file
    - line
    - data1
    - data1_len
    - data2
    - data2_len
    argTypes:
    - char*
    - int
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: test_mem
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_mem_eq
    linkageType: ''
    returnType: int
    signature: "int test_mem(const char *file, const int line,\n                    const
      void *data1, size_t data1_len,\n                    const void *data2, size_t
      data2_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:532,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:534,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/endecode_test.c:537,1
    - Dst: strcat
      Src: /src/openssl/test/endecode_test.c:541,1
    - Dst: strcat
      Src: /src/openssl/test/endecode_test.c:542,1
    - Dst: strcpy
      Src: /src/openssl/test/endecode_test.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 547
    functionName: collect_name
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - strcat
    - strcpy
    - strlen
    - OPENSSL_realloc
    linkageType: ''
    returnType: void
    signature: void collect_name(const char *name, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_output_memory
      Src: /src/openssl/test/endecode_test.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - data
    - data_len
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: dump_der
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_output_memory
    linkageType: ''
    returnType: void
    signature: void dump_der(const char *label, const void *data, size_t data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_output_string
      Src: /src/openssl/test/endecode_test.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - label
    - data
    - data_len
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: dump_pem
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_output_string
    linkageType: ''
    returnType: void
    signature: void dump_pem(const char *label, const void *data, size_t data_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/test/endecode_test.c:565,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:568,1
    - Dst: EVP_PKCS82PKEY_ex
      Src: /src/openssl/test/endecode_test.c:569,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:572,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:573,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/endecode_test.c:573,1
    - Dst: EVP_PKEY_type_names_do_all
      Src: /src/openssl/test/endecode_test.c:574,1
    - Dst: TEST_note
      Src: /src/openssl/test/endecode_test.c:576,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:577,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:579,1
    - Dst: evp_pkey_is_provided
      Src: /src/openssl/test/endecode_test.c:579,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:580,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/endecode_test.c:583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 559
    functionDepth: 6
    functionLinenumber: 559
    functionLinenumberEnd: 585
    functionName: check_unprotected_PKCS8_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - EVP_PKCS82PKEY_ex
    - TEST_note
    - EVP_PKEY_is_a
    - TEST_FL_ptr
    - TEST_FL_true
    - EVP_PKEY_free
    - OPENSSL_free
    - d2i_PKCS8_PRIV_KEY_INFO
    - EVP_PKEY_type_names_do_all
    - evp_pkey_is_provided
    linkageType: ''
    returnType: int
    signature: "int check_unprotected_PKCS8_DER(const char *file, const int line,\n
      \                                      const char *type,\n                                       const
      void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 587
    functionDepth: 5
    functionLinenumber: 587
    functionLinenumberEnd: 596
    functionName: test_unprotected_via_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_unprotected_via_DER(const char *type, EVP_PKEY *key, int fips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 598
    functionDepth: 5
    functionLinenumber: 598
    functionLinenumberEnd: 607
    functionName: test_unprotected_via_i2d
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_unprotected_via_i2d(const char *type, EVP_PKEY *key, int fips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: check_unprotected_PKCS8_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: "int check_unprotected_PKCS8_PEM(const char *file, const int line,\n
      \                                      const char *type,\n                                       const
      void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 5
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: test_unprotected_via_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_unprotected_via_PEM(const char *type, EVP_PKEY *key, int fips)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:640,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:642,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:644,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:646,1
    - Dst: d2i_KeyParams
      Src: /src/openssl/test/endecode_test.c:650,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 632
    functionDepth: 5
    functionLinenumber: 632
    functionLinenumberEnd: 656
    functionName: check_params_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - d2i_KeyParams
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int check_params_DER(const char *file, const int line,\n                            const
      char *type, const void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_int_gt
      Src: /src/openssl/test/endecode_test.c:665,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/endecode_test.c:665,1
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:668,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: check_params_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_int_gt
    - BIO_snprintf
    - strlen
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: "int check_params_PEM(const char *file, const int line,\n                            const
      char *type,\n                            const void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 678
    functionName: test_params_via_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_params_via_DER(const char *type, EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 5
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: test_params_via_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_params_via_PEM(const char *type, EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_int_gt
      Src: /src/openssl/test/endecode_test.c:697,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/endecode_test.c:697,1
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:700,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 701
    functionName: check_unprotected_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_int_gt
    - BIO_snprintf
    - strlen
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: "int check_unprotected_legacy_PEM(const char *file, const int line,\n
      \                                       const char *type,\n                                        const
      void *data, size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/endecode_test.c:706,1
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 703
    functionDepth: 5
    functionLinenumber: 703
    functionLinenumberEnd: 715
    functionName: test_unprotected_via_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: int test_unprotected_via_legacy_PEM(const char *type, EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_PrivateKey
      Src: /src/openssl/test/endecode_test.c:721,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:722,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 717
    functionDepth: 5
    functionLinenumber: 717
    functionLinenumberEnd: 726
    functionName: check_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_ptr
    - EVP_PKEY_free
    - b2i_PrivateKey
    linkageType: ''
    returnType: int
    signature: "int check_MSBLOB(const char *file, const int line,\n                        const
      char *type, const void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 728
    functionDepth: 5
    functionLinenumber: 728
    functionLinenumberEnd: 737
    functionName: test_unprotected_via_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_unprotected_via_MSBLOB(const char *type, EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_do_PVK_header
      Src: /src/openssl/test/endecode_test.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 748
    functionName: check_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - ossl_do_PVK_header
    linkageType: ''
    returnType: int
    signature: "int check_PVK(const char *file, const int line,\n                     const
      char *type, const void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 750
    functionDepth: 5
    functionLinenumber: 750
    functionLinenumberEnd: 759
    functionName: test_unprotected_via_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_unprotected_via_PVK(const char *type, EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_SIG
      Src: /src/openssl/test/endecode_test.c:769,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:770,1
    - Dst: X509_SIG_free
      Src: /src/openssl/test/endecode_test.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 774
    functionName: check_protected_PKCS8_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_ptr
    - X509_SIG_free
    - d2i_X509_SIG
    linkageType: ''
    returnType: int
    signature: "int check_protected_PKCS8_DER(const char *file, const int line,\n
      \                                    const char *type,\n                                     const
      void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 776
    functionDepth: 5
    functionLinenumber: 776
    functionLinenumberEnd: 786
    functionName: test_protected_via_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_protected_via_DER(const char *type, EVP_PKEY *key, int fips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 797
    functionName: check_protected_PKCS8_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: "int check_protected_PKCS8_PEM(const char *file, const int line,\n
      \                                    const char *type,\n                                     const
      void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 799
    functionDepth: 5
    functionLinenumber: 799
    functionLinenumberEnd: 809
    functionName: test_protected_via_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_protected_via_PEM(const char *type, EVP_PKEY *key, int fips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_int_gt
      Src: /src/openssl/test/endecode_test.c:818,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/endecode_test.c:818,1
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:821,1
    - Dst: strlen
      Src: /src/openssl/test/endecode_test.c:821,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:822,1
    - Dst: strstr
      Src: /src/openssl/test/endecode_test.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 823
    functionName: check_protected_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - strstr
    - TEST_FL_ptr
    - BIO_snprintf
    - TEST_FL_int_gt
    - strlen
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: "int check_protected_legacy_PEM(const char *file, const int line,\n
      \                                     const char *type,\n                                      const
      void *data, size_t data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_skip
      Src: /src/openssl/test/endecode_test.c:828,1
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 825
    functionDepth: 5
    functionLinenumber: 825
    functionLinenumberEnd: 837
    functionName: test_protected_via_legacy_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    - TEST_skip
    linkageType: ''
    returnType: int
    signature: int test_protected_via_legacy_PEM(const char *type, EVP_PKEY *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/endecode_test.c:843,1
    - Dst: TEST_skip
      Src: /src/openssl/test/endecode_test.c:845,1
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:847,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/endecode_test.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 840
    functionDepth: 5
    functionLinenumber: 840
    functionLinenumberEnd: 855
    functionName: test_protected_via_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    - test_encode_decode
    - TEST_skip
    - OSSL_PROVIDER_load
    linkageType: ''
    returnType: int
    signature: int test_protected_via_PVK(const char *type, EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/test/endecode_test.c:862,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:864,1
    - Dst: TEST_FL_true
      Src: /src/openssl/test/endecode_test.c:864,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/endecode_test.c:864,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 858
    functionDepth: 6
    functionLinenumber: 858
    functionLinenumberEnd: 868
    functionName: check_public_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_is_a
    - TEST_FL_ptr
    - EVP_PKEY_free
    - TEST_FL_true
    - d2i_PUBKEY_ex
    linkageType: ''
    returnType: int
    signature: "int check_public_DER(const char *file, const int line,\n                            const
      char *type, const void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 870
    functionDepth: 5
    functionLinenumber: 870
    functionLinenumberEnd: 879
    functionName: test_public_via_DER
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_public_via_DER(const char *type, EVP_PKEY *key, int fips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FL_strn_eq
      Src: /src/openssl/test/endecode_test.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 890
    functionName: check_public_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_strn_eq
    linkageType: ''
    returnType: int
    signature: "int check_public_PEM(const char *file, const int line,\n                            const
      char *type, const void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - key
    - fips
    argTypes:
    - char*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 892
    functionDepth: 5
    functionLinenumber: 892
    functionLinenumberEnd: 901
    functionName: test_public_via_PEM
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_public_via_PEM(const char *type, EVP_PKEY *key, int fips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: b2i_PublicKey
      Src: /src/openssl/test/endecode_test.c:908,1
    - Dst: TEST_FL_ptr
      Src: /src/openssl/test/endecode_test.c:909,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - type
    - data
    - data_len
    argTypes:
    - char*
    - int
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 913
    functionName: check_public_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - TEST_FL_ptr
    - b2i_PublicKey
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int check_public_MSBLOB(const char *file, const int line,\n                               const
      char *type,\n                               const void *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_encode_decode
      Src: /src/openssl/test/endecode_test.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - char*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 915
    functionDepth: 5
    functionLinenumber: 915
    functionLinenumberEnd: 922
    functionName: test_public_via_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - test_encode_decode
    linkageType: ''
    returnType: int
    signature: int test_public_via_MSBLOB(const char *type, EVP_PKEY *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 926
    functionName: KEYS
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEYS(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - KEYTYPE
    - ','
    - KEYTYPEstr
    - ','
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 929
    functionName: MAKE_KEYS
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_KEYS(KEYTYPE, KEYTYPEstr, params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: FREE_KEYS
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_KEYS(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 935
    functionName: DOMAIN_KEYS
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOMAIN_KEYS(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - KEYTYPE
    - ','
    - KEYTYPEstr
    - ','
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 941
    functionName: MAKE_DOMAIN_KEYS
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DOMAIN_KEYS(KEYTYPE, KEYTYPEstr, params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: FREE_DOMAIN_KEYS
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_DOMAIN_KEYS(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - KEYTYPE
    - ','
    - KEYTYPEstr
    - ','
    - fips
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 974
    functionName: IMPLEMENT_TEST_SUITE
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_TEST_SUITE(KEYTYPE, KEYTYPEstr, fips)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 983
    functionName: ADD_TEST_SUITE
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEST_SUITE(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KEYTYPE
    - ','
    - KEYTYPEstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 993
    functionName: IMPLEMENT_TEST_SUITE_PARAMS
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_TEST_SUITE_PARAMS(KEYTYPE, KEYTYPEstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 997
    functionName: ADD_TEST_SUITE_PARAMS
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEST_SUITE_PARAMS(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KEYTYPE
    - ','
    - KEYTYPEstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1009
    functionName: IMPLEMENT_TEST_SUITE_LEGACY
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_TEST_SUITE_LEGACY(KEYTYPE, KEYTYPEstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1013
    functionName: ADD_TEST_SUITE_LEGACY
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEST_SUITE_LEGACY(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KEYTYPE
    - ','
    - KEYTYPEstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1023
    functionName: IMPLEMENT_TEST_SUITE_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_TEST_SUITE_MSBLOB(KEYTYPE, KEYTYPEstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: ADD_TEST_SUITE_MSBLOB
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEST_SUITE_MSBLOB(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KEYTYPE
    - ','
    - KEYTYPEstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1033
    functionName: IMPLEMENT_TEST_SUITE_UNPROTECTED_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_TEST_SUITE_UNPROTECTED_PVK(KEYTYPE, KEYTYPEstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1035
    functionName: ADD_TEST_SUITE_UNPROTECTED_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEST_SUITE_UNPROTECTED_PVK(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KEYTYPE
    - ','
    - KEYTYPEstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1041
    functionName: IMPLEMENT_TEST_SUITE_PROTECTED_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_TEST_SUITE_PROTECTED_PVK(KEYTYPE, KEYTYPEstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - KEYTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1043
    functionName: ADD_TEST_SUITE_PROTECTED_PVK
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TEST_SUITE_PROTECTED_PVK(KEYTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1208,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1209,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1209,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1210,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1210,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1211,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1212,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1212,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1213,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1214,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1214,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1215,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1215,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1216,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/endecode_test.c:1216,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1219,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1219,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1220,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1220,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1221,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1221,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1222,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1222,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1224,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/endecode_test.c:1224,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1226,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/endecode_test.c:1226,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1228,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1228,1
    - Dst: BN_value_one
      Src: /src/openssl/test/endecode_test.c:1229,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - gen
    - gen_len
    argTypes:
    - OSSL_PARAM_BLD*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1170
    functionDepth: 5
    functionLinenumber: 1170
    functionLinenumberEnd: 1230
    functionName: do_create_ec_explicit_prime_params
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    - BN_value_one
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int do_create_ec_explicit_prime_params(OSSL_PARAM_BLD *bld,\n                                              const
      unsigned char *gen,\n                                              size_t gen_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_ec_explicit_prime_params
      Src: /src/openssl/test/endecode_test.c:1245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1232
    functionDepth: 6
    functionLinenumber: 1232
    functionLinenumberEnd: 1247
    functionName: create_ec_explicit_prime_params_namedcurve
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - do_create_ec_explicit_prime_params
    linkageType: ''
    returnType: int
    signature: int create_ec_explicit_prime_params_namedcurve(OSSL_PARAM_BLD *bld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_ec_explicit_prime_params
      Src: /src/openssl/test/endecode_test.c:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1249
    functionDepth: 6
    functionLinenumber: 1249
    functionLinenumberEnd: 1265
    functionName: create_ec_explicit_prime_params
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 2
    functionsReached:
    - do_create_ec_explicit_prime_params
    linkageType: ''
    returnType: int
    signature: int create_ec_explicit_prime_params(OSSL_PARAM_BLD *bld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1297,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1297,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1298,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1298,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1299,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1299,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1300,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1300,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1301,1
    - Dst: BN_CTX_get
      Src: /src/openssl/test/endecode_test.c:1301,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1302,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1302,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1303,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1303,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1304,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1304,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1305,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1305,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1306,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/endecode_test.c:1306,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1307,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/test/endecode_test.c:1307,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1310,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1310,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1311,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1311,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1312,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1312,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1313,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1313,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1315,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/test/endecode_test.c:1315,1
    - Dst: TEST_true
      Src: /src/openssl/test/endecode_test.c:1317,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/endecode_test.c:1317,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 3
    argNames:
    - bld
    - gen
    - gen_len
    argTypes:
    - OSSL_PARAM_BLD*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1268
    functionDepth: 5
    functionLinenumber: 1268
    functionLinenumberEnd: 1319
    functionName: do_create_ec_explicit_trinomial_params
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int do_create_ec_explicit_trinomial_params(OSSL_PARAM_BLD *bld,\n
      \                                                 const unsigned char *gen,\n
      \                                                 size_t gen_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_ec_explicit_trinomial_params
      Src: /src/openssl/test/endecode_test.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1321
    functionDepth: 6
    functionLinenumber: 1321
    functionLinenumberEnd: 1333
    functionName: create_ec_explicit_trinomial_params_namedcurve
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - do_create_ec_explicit_trinomial_params
    linkageType: ''
    returnType: int
    signature: int create_ec_explicit_trinomial_params_namedcurve(OSSL_PARAM_BLD *bld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_create_ec_explicit_trinomial_params
      Src: /src/openssl/test/endecode_test.c:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bld
    argTypes:
    - OSSL_PARAM_BLD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1335
    functionDepth: 6
    functionLinenumber: 1335
    functionLinenumberEnd: 1347
    functionName: create_ec_explicit_trinomial_params
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 2
    functionsReached:
    - do_create_ec_explicit_trinomial_params
    linkageType: ''
    returnType: int
    signature: int create_ec_explicit_trinomial_params(OSSL_PARAM_BLD *bld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1361,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/endecode_test.c:1361,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1362,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/test/endecode_test.c:1362,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:1364,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/endecode_test.c:1364,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/endecode_test.c:1365,1
    - Dst: OSSL_ENCODER_to_data
      Src: /src/openssl/test/endecode_test.c:1365,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/endecode_test.c:1366,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/endecode_test.c:1367,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/test/endecode_test.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1353
    functionDepth: 11
    functionLinenumber: 1353
    functionLinenumberEnd: 1370
    functionName: ec_encode_to_data_multi
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_to_data
    - TEST_int_eq
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_Q_keygen
    - OSSL_ENCODER_CTX_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int ec_encode_to_data_multi(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1401
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/test/endecode_test.c:1415,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/test/endecode_test.c:1416,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/endecode_test.c:1424,1
    - Dst: opt_next
      Src: /src/openssl/test/endecode_test.c:1431,1
    - Dst: opt_arg
      Src: /src/openssl/test/endecode_test.c:1437,1
    - Dst: opt_arg
      Src: /src/openssl/test/endecode_test.c:1440,1
    - Dst: opt_arg
      Src: /src/openssl/test/endecode_test.c:1443,1
    - Dst: opt_arg
      Src: /src/openssl/test/endecode_test.c:1446,1
    - Dst: strcmp
      Src: /src/openssl/test/endecode_test.c:1455,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/endecode_test.c:1459,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/endecode_test.c:1462,1
    - Dst: fips_provider_version_eq
      Src: /src/openssl/test/endecode_test.c:1467,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/endecode_test.c:1469,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/endecode_test.c:1477,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1482,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/endecode_test.c:1482,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1484,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/endecode_test.c:1484,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1488,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/test/endecode_test.c:1488,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1489,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/endecode_test.c:1489,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1490,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/endecode_test.c:1490,1
    - Dst: create_ec_explicit_prime_params_namedcurve
      Src: /src/openssl/test/endecode_test.c:1491,1
    - Dst: create_ec_explicit_prime_params
      Src: /src/openssl/test/endecode_test.c:1492,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1493,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/endecode_test.c:1493,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1494,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/endecode_test.c:1494,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1496,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/endecode_test.c:1496,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1497,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/endecode_test.c:1497,1
    - Dst: create_ec_explicit_trinomial_params_namedcurve
      Src: /src/openssl/test/endecode_test.c:1498,1
    - Dst: create_ec_explicit_trinomial_params
      Src: /src/openssl/test/endecode_test.c:1499,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1500,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/endecode_test.c:1500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1501,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/endecode_test.c:1501,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1507,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1510,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1511,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1512,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1515,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1516,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1519,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1520,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1521,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1522,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1524,1
    - Dst: MAKE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1525,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1528,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1532,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1533,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1534,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1535,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1539,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1540,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1541,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1546,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1547,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1548,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1553,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1554,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1555,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1556,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1557,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1558,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1559,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1560,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1561,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1562,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1563,1
    - Dst: MAKE_KEYS
      Src: /src/openssl/test/endecode_test.c:1564,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1568,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1569,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/endecode_test.c:1569,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1570,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/endecode_test.c:1571,1
    - Dst: load_pkey_pem
      Src: /src/openssl/test/endecode_test.c:1571,1
    - Dst: TEST_info
      Src: /src/openssl/test/endecode_test.c:1572,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1576,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/openssl/test/endecode_test.c:1577,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1578,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/openssl/test/endecode_test.c:1579,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1586,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/openssl/test/endecode_test.c:1587,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1588,1
    - Dst: ADD_TEST_SUITE_MSBLOB
      Src: /src/openssl/test/endecode_test.c:1589,1
    - Dst: ADD_TEST_SUITE_UNPROTECTED_PVK
      Src: /src/openssl/test/endecode_test.c:1590,1
    - Dst: ADD_TEST_SUITE_PROTECTED_PVK
      Src: /src/openssl/test/endecode_test.c:1592,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/endecode_test.c:1596,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1597,1
    - Dst: ADD_TEST_SUITE_PARAMS
      Src: /src/openssl/test/endecode_test.c:1598,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1599,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1600,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1601,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1602,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1603,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1605,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1606,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1607,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1608,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1613,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1618,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1619,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1620,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1621,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1629,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1630,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1631,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1634,1
    - Dst: ADD_TEST_SUITE_LEGACY
      Src: /src/openssl/test/endecode_test.c:1635,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1636,1
    - Dst: ADD_TEST_SUITE_MSBLOB
      Src: /src/openssl/test/endecode_test.c:1641,1
    - Dst: ADD_TEST_SUITE_UNPROTECTED_PVK
      Src: /src/openssl/test/endecode_test.c:1642,1
    - Dst: ADD_TEST_SUITE_PROTECTED_PVK
      Src: /src/openssl/test/endecode_test.c:1644,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1649,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1650,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1651,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1657,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1658,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1659,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1660,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1661,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1662,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1663,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1664,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1665,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1666,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1667,1
    - Dst: ADD_TEST_SUITE
      Src: /src/openssl/test/endecode_test.c:1668,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1403
    functionDepth: 7
    functionLinenumber: 1403
    functionLinenumberEnd: 1674
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - fips_provider_version_eq
    - ADD_TEST_SUITE_PARAMS
    - load_pkey_pem
    - create_ec_explicit_trinomial_params_namedcurve
    - create_ec_explicit_prime_params_namedcurve
    - test_get_libctx
    - ADD_TEST_SUITE
    - strcmp
    - TEST_ptr
    - OSSL_PARAM_size_t
    - BN_CTX_new_ex
    - OSSL_LIB_CTX_new
    - TEST_info
    - OSSL_PROVIDER_load
    - create_ec_explicit_trinomial_params
    - ADD_TEST_SUITE_MSBLOB
    - OSSL_PARAM_BLD_to_param
    - ADD_TEST_SUITE_UNPROTECTED_PVK
    - create_ec_explicit_prime_params
    - ADD_TEST_SUITE_LEGACY
    - ADD_TEST_SUITE_PROTECTED_PVK
    - fips_provider_version_lt
    - opt_arg
    - OSSL_PROVIDER_add_builtin
    - MAKE_DOMAIN_KEYS
    - MAKE_KEYS
    - OSSL_PARAM_BLD_new
    - opt_next
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/endecode_test.c:1679,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/endecode_test.c:1680,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/endecode_test.c:1681,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/endecode_test.c:1682,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/endecode_test.c:1684,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/endecode_test.c:1685,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/endecode_test.c:1686,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/endecode_test.c:1687,1
    - Dst: BN_CTX_free
      Src: /src/openssl/test/endecode_test.c:1689,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1693,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1694,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1697,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1700,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1701,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1702,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1704,1
    - Dst: FREE_DOMAIN_KEYS
      Src: /src/openssl/test/endecode_test.c:1705,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1708,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1712,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1713,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1714,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1715,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1719,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1720,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1721,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1724,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1725,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1729,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1730,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1731,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1737,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1738,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1739,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1740,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1741,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1742,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1743,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1744,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1745,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1746,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1747,1
    - Dst: FREE_KEYS
      Src: /src/openssl/test/endecode_test.c:1748,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/endecode_test.c:1752,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/endecode_test.c:1753,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/endecode_test.c:1754,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/endecode_test.c:1755,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/endecode_test.c:1756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1676
    functionDepth: 4
    functionLinenumber: 1676
    functionLinenumberEnd: 1757
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/endecode_test.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_free
    - FREE_DOMAIN_KEYS
    - OSSL_PROVIDER_unload
    - BN_CTX_free
    - OSSL_PARAM_BLD_free
    - FREE_KEYS
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - provctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: PROV_FAKE_RSA_LIBCTX_OF
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_FAKE_RSA_LIBCTX_OF(provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: fake_rsa_restore_store_state
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fake_rsa_restore_store_state(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:62,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: fake_rsa_keymgmt_new
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *fake_rsa_keymgmt_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: fake_rsa_keymgmt_free
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void fake_rsa_keymgmt_free(void *keydata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: fake_rsa_keymgmt_has
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fake_rsa_keymgmt_has(const void *key, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: fake_rsa_keymgmt_query
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *fake_rsa_keymgmt_query(int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - keydata
    - selection
    - p
    argTypes:
    - void*
    - int
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: fake_rsa_keymgmt_import
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_keymgmt_import(void *keydata, int selection,\n                                   const
      OSSL_PARAM *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:149,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:151,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:153,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:155,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:157,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:159,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:161,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:163,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/fake_rsaprov.c:167,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:170,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/test/fake_rsaprov.c:172,1
    - Dst: OSSL_PARAM_dup
      Src: /src/openssl/test/fake_rsaprov.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 178
    functionName: fake_rsa_key_params
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_BN
    - OSSL_PARAM_dup
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *fake_rsa_key_params(int priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:189,1
    - Dst: fake_rsa_key_params
      Src: /src/openssl/test/fake_rsaprov.c:189,1
    - Dst: param_callback
      Src: /src/openssl/test/fake_rsaprov.c:192,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/fake_rsaprov.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_callback
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: fake_rsa_keymgmt_export
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - fake_rsa_key_params
    - param_callback
    - OSSL_PARAM_free
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_keymgmt_export(void *keydata, int selection,\n                                   OSSL_CALLBACK
      *param_callback, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: fake_rsa_keymgmt_imptypes
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *fake_rsa_keymgmt_imptypes(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: fake_rsa_keymgmt_exptypes
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *fake_rsa_keymgmt_exptypes(int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: fake_rsa_keymgmt_load
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *fake_rsa_keymgmt_load(const void *reference, size_t reference_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:253,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/fake_rsaprov.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: fake_rsa_gen_init
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: "void *fake_rsa_gen_init(void *provctx, int selection,\n                               const
      OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:267,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/fake_rsaprov.c:268,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:271,1
    - Dst: fake_rsa_keymgmt_new
      Src: /src/openssl/test/fake_rsaprov.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: fake_rsa_gen
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_mem_eq
    - fake_rsa_keymgmt_new
    linkageType: ''
    returnType: void
    signature: void *fake_rsa_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: fake_rsa_gen_cleanup
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void fake_rsa_gen_cleanup(void *genctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:314,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: fake_rsa_sig_newctx
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *fake_rsa_sig_newctx(void *provctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sigctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: fake_rsa_sig_freectx
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void fake_rsa_sig_freectx(void *sigctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:333,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:337,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/fake_rsaprov.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - provkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 343
    functionName: fake_rsa_sig_sign_init
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_sig_sign_init(void *ctx, void *provkey,\n                                  const
      OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:352,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/fake_rsaprov.c:352,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/fake_rsaprov.c:358,1
    - Dst: memset
      Src: /src/openssl/test/fake_rsaprov.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 366
    functionName: fake_rsa_sig_sign
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_size_t_ge
    - memset
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_sig_sign(void *ctx, unsigned char *sig,\n                             size_t
      *siglen, size_t sigsize,\n                             const unsigned char *tbs,
      size_t tbslen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:382,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: fake_rsa_sig_dupctx
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *fake_rsa_sig_dupctx(void *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:396,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:400,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/fake_rsaprov.c:400,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/fake_rsaprov.c:409,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/test/fake_rsaprov.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - type
    - provkey
    - params
    argTypes:
    - void*
    - unsigned char
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 389
    functionDepth: 5
    functionLinenumber: 389
    functionLinenumberEnd: 418
    functionName: fake_rsa_dgstsgnvfy_init
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_dgstsgnvfy_init(void *ctx, unsigned char type,\n                                    void
      *provkey, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_dgstsgnvfy_init
      Src: /src/openssl/test/fake_rsaprov.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - mdname
    - provkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 6
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: fake_rsa_dgstsgn_init
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_dgstsgnvfy_init
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_dgstsgn_init(void *ctx, const char *mdname,\n                                 void
      *provkey, const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_dgstsgnvfy_init
      Src: /src/openssl/test/fake_rsaprov.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - mdname
    - provkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 6
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: fake_rsa_dgstvfy_init
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_dgstsgnvfy_init
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_dgstvfy_init(void *ctx, const char *mdname,\n                                 void
      *provkey, const OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 446
    functionName: fake_rsa_dgstsgnvfy_update
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_dgstsgnvfy_update(void *ctx, const unsigned char *data,\n
      \                                     size_t datalen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:454,1
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/fake_rsaprov.c:471,1
    - Dst: memset
      Src: /src/openssl/test/fake_rsaprov.c:474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - sig
    - siglen
    - sigsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 483
    functionName: fake_rsa_dgstsgnvfy_final
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - memset
    - TEST_size_t_ge
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_dgstsgnvfy_final(void *ctx, unsigned char *sig,\n                                     size_t
      *siglen, size_t sigsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_dgstsgnvfy_final
      Src: /src/openssl/test/fake_rsaprov.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - sig
    - siglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: fake_rsa_dgstvfy_final
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_dgstsgnvfy_final
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_dgstvfy_final(void *ctx, unsigned char *sig,\n                                  size_t
      siglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_dgstsgnvfy_update
      Src: /src/openssl/test/fake_rsaprov.c:495,1
    - Dst: fake_rsa_dgstsgnvfy_final
      Src: /src/openssl/test/fake_rsaprov.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - sig
    - siglen
    - sigsize
    - tbs
    - tbslen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: fake_rsa_dgstsgn
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_dgstsgnvfy_update
    - fake_rsa_dgstsgnvfy_final
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_dgstsgn(void *ctx, unsigned char *sig, size_t *siglen,\n
      \                           size_t sigsize, const unsigned char *tbs,\n                            size_t
      tbslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_dgstsgnvfy_update
      Src: /src/openssl/test/fake_rsaprov.c:504,1
    - Dst: fake_rsa_dgstvfy_final
      Src: /src/openssl/test/fake_rsaprov.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - sig
    - siglen
    - tbv
    - tbvlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: fake_rsa_dgstvfy
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_dgstsgnvfy_update
    - fake_rsa_dgstvfy_final
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_dgstvfy(void *ctx, unsigned char *sig, size_t siglen,\n
      \                           const unsigned char *tbv, size_t tbvlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/test/fake_rsaprov.c:561,1
    - Dst: strncmp
      Src: /src/openssl/test/fake_rsaprov.c:564,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/test/fake_rsaprov.c:570,1
    - Dst: pw_cb
      Src: /src/openssl/test/fake_rsaprov.c:580,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:581,1
    - Dst: strncmp
      Src: /src/openssl/test/fake_rsaprov.c:584,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:585,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:590,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:591,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - provctx
    - uri
    - params
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - char*
    - OSSL_PARAM[]
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 597
    functionName: fake_rsa_st_open_ex
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - OPENSSL_zalloc
    - TEST_info
    - strncmp
    - pw_cb
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: "void *fake_rsa_st_open_ex(void *provctx, const char *uri,\n                                 const
      OSSL_PARAM params[],\n                                 OSSL_PASSPHRASE_CALLBACK
      *pw_cb,\n                                 void *pw_cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_st_open_ex
      Src: /src/openssl/test/fake_rsaprov.c:603,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 608
    functionName: fake_rsa_st_open
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_st_open_ex
    - TEST_info
    linkageType: ''
    returnType: void
    signature: void *fake_rsa_st_open(void *provctx, const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 616
    functionName: fake_rsa_st_settable_ctx_params
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *fake_rsa_st_settable_ctx_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - loaderctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: fake_rsa_st_set_ctx_params
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_st_set_ctx_params(void *loaderctx,\n                                      const
      OSSL_PARAM params[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:642,1
    - Dst: fake_rsa_keymgmt_new
      Src: /src/openssl/test/fake_rsaprov.c:642,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/fake_rsaprov.c:644,1
    - Dst: fake_rsa_keymgmt_import
      Src: /src/openssl/test/fake_rsaprov.c:644,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/fake_rsaprov.c:647,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/fake_rsaprov.c:649,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/fake_rsaprov.c:653,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/fake_rsaprov.c:655,1
    - Dst: object_cb
      Src: /src/openssl/test/fake_rsaprov.c:656,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:661,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:665,1
    - Dst: TEST_info
      Src: /src/openssl/test/fake_rsaprov.c:669,1
    - Dst: fake_rsa_keymgmt_free
      Src: /src/openssl/test/fake_rsaprov.c:672,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - loaderctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 676
    functionName: fake_rsa_st_load
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - fake_rsa_keymgmt_new
    - OSSL_PARAM_construct_utf8_string
    - TEST_info
    - fake_rsa_keymgmt_free
    - OSSL_PARAM_construct_int
    - object_cb
    - fake_rsa_keymgmt_import
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_st_load(void *loaderctx,\n                            OSSL_CALLBACK
      *object_cb, void *object_cbarg,\n                            OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - loaderctx
    - uri
    - params
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - char*
    - OSSL_PARAM[]
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 684
    functionName: fake_rsa_st_delete
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_st_delete(void *loaderctx, const char *uri,\n                              const
      OSSL_PARAM params[],\n                              OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 692
    functionName: fake_rsa_st_eof
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fake_rsa_st_eof(void *loaderctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: fake_rsa_st_close
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int fake_rsa_st_close(void *loaderctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:790,1
    - Dst: ASN1_item_d2i_ex
      Src: /src/openssl/test/fake_rsaprov.c:794,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/test/fake_rsaprov.c:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pp
    - len
    - libctx
    argTypes:
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 787
    functionDepth: 3
    functionLinenumber: 787
    functionLinenumberEnd: 797
    functionName: fake_rsa_d2i_X509_PUBKEY_INTERNAL
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ASN1_item_d2i_ex
    - ASN1_ITEM_rptr
    linkageType: ''
    returnType: X509_PUBKEY
    signature: "X509_PUBKEY *fake_rsa_d2i_X509_PUBKEY_INTERNAL(const unsigned char
      **pp,\n                                                      long len, OSSL_LIB_CTX
      *libctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_from_core_bio
      Src: /src/openssl/test/fake_rsaprov.c:816,1
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/test/fake_rsaprov.c:817,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:822,1
    - Dst: BIO_free
      Src: /src/openssl/test/fake_rsaprov.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - provctx
    - cin
    - data
    - len
    argTypes:
    - PROV_FAKE_RSA_CTX*
    - OSSL_CORE_BIO*
    - unsigned char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 812
    functionDepth: 5
    functionLinenumber: 812
    functionLinenumberEnd: 826
    functionName: fake_rsa_read_der
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_new_from_core_bio
    - BIO_free
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_read_der(PROV_FAKE_RSA_CTX *provctx, OSSL_CORE_BIO *cin,\n
      \                            unsigned char **data, long *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/test/fake_rsaprov.c:838,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/test/fake_rsaprov.c:839,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/test/fake_rsaprov.c:840,1
    - Dst: key_from_pkcs8
      Src: /src/openssl/test/fake_rsaprov.c:841,1
    - Dst: PROV_FAKE_RSA_LIBCTX_OF
      Src: /src/openssl/test/fake_rsaprov.c:841,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/fake_rsaprov.c:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - input_der
    - input_der_len
    - ctx
    - key_from_pkcs8
    argTypes:
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    - key_from_pkcs8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 830
    functionDepth: 6
    functionLinenumber: 830
    functionLinenumberEnd: 845
    functionName: fake_rsa_der2key_decode_p8
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS8_pkey_get0
    - key_from_pkcs8
    - d2i_PKCS8_PRIV_KEY_INFO
    - PROV_FAKE_RSA_LIBCTX_OF
    - OBJ_obj2nid
    linkageType: ''
    returnType: void
    signature: "void *fake_rsa_der2key_decode_p8(const unsigned char **input_der,\n
      \                                       long input_der_len, struct der2key_ctx_st
      *ctx,\n                                        key_from_pkcs8_t *key_from_pkcs8)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_d2i_X509_PUBKEY_INTERNAL
      Src: /src/openssl/test/fake_rsaprov.c:853,1
    - Dst: fake_rsa_keymgmt_new
      Src: /src/openssl/test/fake_rsaprov.c:857,1
    - Dst: fake_rsa_keymgmt_free
      Src: /src/openssl/test/fake_rsaprov.c:864,1
    - Dst: X509_PUBKEY_free
      Src: /src/openssl/test/fake_rsaprov.c:869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - struct fake_rsa_keydata**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 871
    functionName: fake_rsa_d2i_PUBKEY
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_keymgmt_new
    - fake_rsa_d2i_X509_PUBKEY_INTERNAL
    - X509_PUBKEY_free
    - fake_rsa_keymgmt_free
    linkageType: ''
    returnType: struct fake_rsa_keydata
    signature: "struct fake_rsa_keydata *fake_rsa_d2i_PUBKEY(struct fake_rsa_keydata
      **a,\n                                                    const unsigned char
      **pp, long length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/fake_rsaprov.c:882,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/fake_rsaprov.c:888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - provctx
    - desc
    - tls_name
    argTypes:
    - void*
    - struct keytype_desc_st*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 879
    functionDepth: 5
    functionLinenumber: 879
    functionLinenumberEnd: 891
    functionName: der2key_newctx
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - OBJ_sn2nid
    linkageType: ''
    returnType: struct der2key_ctx_st
    signature: 'struct der2key_ctx_st *

      der2key_newctx(void *provctx, struct keytype_desc_st *desc, const char *tls_name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: der2key_freectx
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void der2key_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/fake_rsaprov.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - desc
    argTypes:
    - int
    - struct keytype_desc_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 932
    functionName: der2key_check_selection
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: "int der2key_check_selection(int selection,\n                                   const
      struct keytype_desc_st *desc)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/test/fake_rsaprov.c:957,1
    - Dst: fake_rsa_read_der
      Src: /src/openssl/test/fake_rsaprov.c:961,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PKCS8
      Src: /src/openssl/test/fake_rsaprov.c:970,1
    - Dst: struct der2key_ctx_st*::desc::d2i_private_key
      Src: /src/openssl/test/fake_rsaprov.c:974,1
    - Dst: struct der2key_ctx_st*::desc::d2i_PUBKEY
      Src: /src/openssl/test/fake_rsaprov.c:982,1
    - Dst: struct der2key_ctx_st*::desc::d2i_public_key
      Src: /src/openssl/test/fake_rsaprov.c:984,1
    - Dst: struct der2key_ctx_st*::desc::d2i_key_params
      Src: /src/openssl/test/fake_rsaprov.c:991,1
    - Dst: struct der2key_ctx_st*::desc::check_key
      Src: /src/openssl/test/fake_rsaprov.c:1005,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/test/fake_rsaprov.c:1006,1
    - Dst: struct der2key_ctx_st*::desc::adjust_key
      Src: /src/openssl/test/fake_rsaprov.c:1011,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:1025,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/test/fake_rsaprov.c:1033,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/test/fake_rsaprov.c:1035,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/fake_rsaprov.c:1040,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/fake_rsaprov.c:1042,1
    - Dst: data_cb
      Src: /src/openssl/test/fake_rsaprov.c:1044,1
    - Dst: struct der2key_ctx_st*::desc::free_key
      Src: /src/openssl/test/fake_rsaprov.c:1048,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:1049,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 7
    argNames:
    - vctx
    - cin
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 934
    functionDepth: 7
    functionLinenumber: 934
    functionLinenumberEnd: 1052
    functionName: fake_rsa_der2key_decode
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - data_cb
    - ERR_raise
    - struct der2key_ctx_st*::desc::free_key
    - OSSL_PARAM_construct_octet_string
    - struct der2key_ctx_st*::desc::check_key
    - OSSL_PARAM_construct_utf8_string
    - struct der2key_ctx_st*::desc::d2i_PKCS8
    - OSSL_PARAM_construct_int
    - struct der2key_ctx_st*::desc::d2i_PUBKEY
    - struct der2key_ctx_st*::desc::d2i_private_key
    - struct der2key_ctx_st*::desc::d2i_public_key
    - struct der2key_ctx_st*::desc::adjust_key
    - OPENSSL_free
    - OSSL_PARAM_construct_end
    - struct der2key_ctx_st*::desc::d2i_key_params
    - fake_rsa_read_der
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_der2key_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,\n
      \                                  OSSL_CALLBACK *data_cb, void *data_cbarg,\n
      \                                  OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_export
      Src: /src/openssl/test/fake_rsaprov.c:1060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1063
    functionName: fake_rsa_prov_get_keymgmt_export
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_export
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_export_fn
    signature: 'OSSL_FUNC_keymgmt_export_fn *

      fake_rsa_prov_get_keymgmt_export(const OSSL_DISPATCH *fns)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_prov_get_keymgmt_export
      Src: /src/openssl/test/fake_rsaprov.c:1070,1
    - Dst: export
      Src: /src/openssl/test/fake_rsaprov.c:1077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - vctx
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - void*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1080
    functionName: der2key_export_object
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - export
    - fake_rsa_prov_get_keymgmt_export
    linkageType: ''
    returnType: int
    signature: "int der2key_export_object(void *vctx,\n                                 const
      void *reference, size_t reference_sz,\n                                 OSSL_CALLBACK
      *export_cb, void *export_cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_keymgmt_new
      Src: /src/openssl/test/fake_rsaprov.c:1087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p8inf
    - libctx
    - propq
    argTypes:
    - PKCS8_PRIV_KEY_INFO*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1084
    functionDepth: 2
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    functionName: fake_rsa_key_from_pkcs8
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_keymgmt_new
    linkageType: ''
    returnType: struct fake_rsa_keydata
    signature: "struct fake_rsa_keydata *fake_rsa_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO
      *p8inf,\n                                                        OSSL_LIB_CTX
      *libctx, const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rsa_der2key_decode_p8
      Src: /src/openssl/test/fake_rsaprov.c:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - der
    - der_len
    - ctx
    argTypes:
    - void**
    - unsigned char**
    - long
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1096
    functionDepth: 7
    functionLinenumber: 1096
    functionLinenumberEnd: 1101
    functionName: fake_rsa_d2i_PKCS8
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - fake_rsa_der2key_decode_p8
    linkageType: ''
    returnType: void
    signature: "void *fake_rsa_d2i_PKCS8(void **key, const unsigned char **der, long
      der_len,\n                                struct der2key_ctx_st *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct der2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1105
    functionName: fake_rsa_key_adjust
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fake_rsa_key_adjust(void *key, struct der2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1120
    functionName: DO_PrivateKeyInfo
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_PrivateKeyInfo(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1132
    functionName: DO_SubjectPublicKeyInfo
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_SubjectPublicKeyInfo(keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - keytype_name
    - ','
    - keytype
    - ','
    - type
    - ','
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1181
    functionName: MAKE_DECODER
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DECODER(keytype_name, keytype, type, kind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _name
    - ','
    - _input
    - ','
    - _structure
    - ','
    - _output
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1207
    functionName: DECODER_w_structure
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODER_w_structure(_name, _input, _structure, _output)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1233
    functionName: fake_rsa_query
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *fake_rsa_query(void *provctx,\n                                            int
      operation_id,\n                                            int *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/fake_rsaprov.c:1239,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/fake_rsaprov.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1235
    functionDepth: 4
    functionLinenumber: 1235
    functionLinenumberEnd: 1241
    functionName: fake_rsa_prov_teardown
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void fake_rsa_prov_teardown(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:1257,1
    - Dst: OSSL_LIB_CTX_new_from_dispatch
      Src: /src/openssl/test/fake_rsaprov.c:1257,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:1260,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/fake_rsaprov.c:1260,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/fake_rsaprov.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1250
    functionDepth: 5
    functionLinenumber: 1250
    functionLinenumberEnd: 1270
    functionName: fake_rsa_provider_init
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new_from_dispatch
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int fake_rsa_provider_init(const OSSL_CORE_HANDLE *handle,\n                                  const
      OSSL_DISPATCH *in,\n                                  const OSSL_DISPATCH **out,
      void **provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/fake_rsaprov.c:1276,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/fake_rsaprov.c:1276,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/fake_rsaprov.c:1278,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/openssl/test/fake_rsaprov.c:1278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1282
    functionName: fake_rsa_start
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 8
    functionsReached:
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_try_load
    - TEST_true
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *fake_rsa_start(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/fake_rsaprov.c:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1284
    functionDepth: 2
    functionLinenumber: 1284
    functionLinenumberEnd: 1287
    functionName: fake_rsa_finish
    functionSourceFile: /src/openssl/test/fake_rsaprov.c
    functionUses: 9
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void fake_rsa_finish(OSSL_PROVIDER *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - cin
    - selection
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: dummy_decoder_decode
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_decoder_decode(void *ctx, OSSL_CORE_BIO *cin, int selection,\n
      \                               OSSL_CALLBACK *object_cb, void *object_cbarg,\n
      \                               OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - out
    - obj_raw
    - obj_abstract
    - selection
    - cb
    - cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - void*
    - OSSL_PARAM[]
    - int
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: dummy_encoder_encode
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_encoder_encode(void *ctx, OSSL_CORE_BIO *out,\n                                const
      void *obj_raw,\n                                const OSSL_PARAM obj_abstract[],
      int selection,\n                                OSSL_PASSPHRASE_CALLBACK *cb,
      void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - provctx
    - uri
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: dummy_store_open
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *dummy_store_open(void *provctx, const char *uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - loaderctx
    - object_cb
    - object_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: dummy_store_load
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_store_load(void *loaderctx,  OSSL_CALLBACK *object_cb,\n
      \                           void *object_cbarg, OSSL_PASSPHRASE_CALLBACK *pw_cb,\n
      \                           void *pw_cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: dumm_store_eof
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dumm_store_eof(void *loaderctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loaderctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: dummy_store_close
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dummy_store_close(void *loaderctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_calls
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: dummy_rand_newctx
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *dummy_rand_newctx(void *provctx, void *parent,\n                               const
      OSSL_DISPATCH *parent_calls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: dummy_rand_freectx
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_rand_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vdrbg
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: dummy_rand_instantiate
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_rand_instantiate(void *vdrbg, unsigned int strength,\n                                  int
      prediction_resistance,\n                                  const unsigned char
      *pstr, size_t pstr_len,\n                                  const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vdrbg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: dummy_rand_uninstantiate
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dummy_rand_uninstantiate(void *vdrbg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - vctx
    - out
    - outlen
    - strength
    - prediction_resistance
    - addin
    - addin_len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: dummy_rand_generate
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_rand_generate(void *vctx, unsigned char *out, size_t outlen,\n
      \                              unsigned int strength, int prediction_resistance,\n
      \                              const unsigned char *addin, size_t addin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/test/provfetchtest.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: dummy_rand_gettable_ctx_params
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dummy_rand_gettable_ctx_params(void *vctx, void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/provfetchtest.c:137,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/provfetchtest.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 6
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: dummy_rand_get_ctx_params
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int dummy_rand_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: dummy_rand_enable_locking
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dummy_rand_enable_locking(void *vtest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: dummy_rand_lock
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dummy_rand_lock(void *vtest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vtest
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: dummy_rand_unlock
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_rand_unlock(void *vtest)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: dummy_query
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *dummy_query(void *provctx, int operation_id,\n                                         int
      *no_cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new_child
      Src: /src/openssl/test/provfetchtest.c:206,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/provfetchtest.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 7
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: dummy_provider_init
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached:
    - RAND_bytes_ex
    - OSSL_LIB_CTX_new_child
    linkageType: ''
    returnType: int
    signature: "int dummy_provider_init(const OSSL_CORE_HANDLE *handle,\n                               const
      OSSL_DISPATCH *in,\n                               const OSSL_DISPATCH **out,\n
      \                              void **provctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/provfetchtest.c:232,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provfetchtest.c:242,1
    - Dst: TEST_true
      Src: /src/openssl/test/provfetchtest.c:245,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/provfetchtest.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provfetchtest.c:247,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provfetchtest.c:247,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provfetchtest.c:248,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/provfetchtest.c:248,1
    - Dst: OSSL_DECODER_fetch
      Src: /src/openssl/test/provfetchtest.c:253,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provfetchtest.c:255,1
    - Dst: OSSL_ENCODER_fetch
      Src: /src/openssl/test/provfetchtest.c:259,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provfetchtest.c:261,1
    - Dst: OSSL_STORE_LOADER_fetch
      Src: /src/openssl/test/provfetchtest.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/provfetchtest.c:267,1
    - Dst: TEST_true
      Src: /src/openssl/test/provfetchtest.c:271,1
    - Dst: RAND_set_DRBG_type
      Src: /src/openssl/test/provfetchtest.c:271,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/provfetchtest.c:274,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/test/provfetchtest.c:274,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/test/provfetchtest.c:283,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/test/provfetchtest.c:284,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/test/provfetchtest.c:285,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provfetchtest.c:286,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/provfetchtest.c:287,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/provfetchtest.c:288,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 230
    functionDepth: 9
    functionLinenumber: 230
    functionLinenumberEnd: 290
    functionName: fetch_test
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached:
    - RAND_bytes_ex
    - OSSL_DECODER_fetch
    - OSSL_LIB_CTX_free
    - OSSL_DECODER_free
    - OSSL_STORE_LOADER_free
    - OSSL_LIB_CTX_new
    - OSSL_ENCODER_fetch
    - TEST_int_ge
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - RAND_set_DRBG_type
    - TEST_true
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    - OSSL_ENCODER_free
    - OSSL_STORE_LOADER_fetch
    linkageType: ''
    returnType: int
    signature: int fetch_test(int tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/provfetchtest.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/provfetchtest.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/test/asn1_dsa_internal_test.c:91,1
    - Dst: BN_new
      Src: /src/openssl/test/asn1_dsa_internal_test.c:92,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:96,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/asn1_dsa_internal_test.c:97,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/asn1_dsa_internal_test.c:98,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/asn1_dsa_internal_test.c:98,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:99,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:103,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:104,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:106,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/asn1_dsa_internal_test.c:107,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/asn1_dsa_internal_test.c:109,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/asn1_dsa_internal_test.c:109,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:110,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:114,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:115,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:117,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/asn1_dsa_internal_test.c:118,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/asn1_dsa_internal_test.c:119,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/asn1_dsa_internal_test.c:119,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:120,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:124,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:125,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:127,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/asn1_dsa_internal_test.c:128,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/asn1_dsa_internal_test.c:129,1
    - Dst: TEST_BN_eq_word
      Src: /src/openssl/test/asn1_dsa_internal_test.c:129,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:130,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:136,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:137,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:141,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:142,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:144,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:145,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:149,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:150,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:152,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:153,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:157,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:158,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:160,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:161,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:165,1
    - Dst: BN_clear
      Src: /src/openssl/test/asn1_dsa_internal_test.c:166,1
    - Dst: ossl_decode_der_dsa_sig
      Src: /src/openssl/test/asn1_dsa_internal_test.c:168,1
    - Dst: TEST_info
      Src: /src/openssl/test/asn1_dsa_internal_test.c:169,1
    - Dst: BN_free
      Src: /src/openssl/test/asn1_dsa_internal_test.c:175,1
    - Dst: BN_free
      Src: /src/openssl/test/asn1_dsa_internal_test.c:176,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 178
    functionName: test_decode
    functionSourceFile: /src/openssl/test/asn1_dsa_internal_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_eq
    - ossl_decode_der_dsa_sig
    - TEST_info
    - BN_clear
    - BN_new
    - BN_free
    - TEST_BN_eq_word
    linkageType: ''
    returnType: int
    signature: int test_decode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/asn1_dsa_internal_test.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/asn1_dsa_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/ml_kem_internal_test.c:102,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_internal_test.c:106,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_internal_test.c:109,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/ml_kem_internal_test.c:109,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ml_kem_internal_test.c:110,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/ml_kem_internal_test.c:110,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ml_kem_internal_test.c:117,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_internal_test.c:133,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/test/ml_kem_internal_test.c:137,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/ml_kem_internal_test.c:138,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:139,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_internal_test.c:139,1
    - Dst: ossl_ml_kem_key_new
      Src: /src/openssl/test/ml_kem_internal_test.c:144,1
    - Dst: ossl_ml_kem_key_new
      Src: /src/openssl/test/ml_kem_internal_test.c:145,1
    - Dst: ossl_ml_kem_key_vinfo
      Src: /src/openssl/test/ml_kem_internal_test.c:147,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_kem_internal_test.c:150,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/ml_kem_internal_test.c:151,1
    - Dst: ossl_ml_kem_genkey
      Src: /src/openssl/test/ml_kem_internal_test.c:157,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ml_kem_internal_test.c:162,1
    - Dst: RAND_priv_bytes
      Src: /src/openssl/test/ml_kem_internal_test.c:162,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:167,1
    - Dst: ossl_ml_kem_parse_public_key
      Src: /src/openssl/test/ml_kem_internal_test.c:175,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/ml_kem_internal_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:184,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/test/ml_kem_internal_test.c:184,1
    - Dst: ossl_ml_kem_encap_rand
      Src: /src/openssl/test/ml_kem_internal_test.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:196,1
    - Dst: EVP_Digest
      Src: /src/openssl/test/ml_kem_internal_test.c:196,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:198,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:204,1
    - Dst: ossl_ml_kem_decap
      Src: /src/openssl/test/ml_kem_internal_test.c:211,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:216,1
    - Dst: memset
      Src: /src/openssl/test/ml_kem_internal_test.c:222,1
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:223,1
    - Dst: ossl_ml_kem_decap
      Src: /src/openssl/test/ml_kem_internal_test.c:223,1
    - Dst: TEST_mem_ne
      Src: /src/openssl/test/ml_kem_internal_test.c:229,1
    - Dst: TEST_false
      Src: /src/openssl/test/ml_kem_internal_test.c:238,1
    - Dst: ossl_ml_kem_decap
      Src: /src/openssl/test/ml_kem_internal_test.c:238,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/ml_kem_internal_test.c:243,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ml_kem_internal_test.c:248,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/ml_kem_internal_test.c:248,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/test/ml_kem_internal_test.c:256,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/test/ml_kem_internal_test.c:257,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_internal_test.c:258,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ml_kem_internal_test.c:259,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/ml_kem_internal_test.c:263,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 93
    functionDepth: 14
    functionLinenumber: 93
    functionLinenumberEnd: 265
    functionName: sanity_test
    functionSourceFile: /src/openssl/test/ml_kem_internal_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_MD_free
    - OSSL_PARAM_construct_octet_string
    - TEST_int_le
    - OPENSSL_free
    - TEST_ptr
    - RAND_get0_public
    - ossl_ml_kem_key_new
    - RAND_priv_bytes
    - ossl_ml_kem_decap
    - ossl_ml_kem_key_vinfo
    - RAND_get0_private
    - TEST_true
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - TEST_mem_ne
    - ossl_ml_kem_key_free
    - EVP_MD_fetch
    - ossl_ml_kem_parse_public_key
    - ossl_ml_kem_genkey
    - memset
    - EVP_RAND_CTX_set_params
    - TEST_false
    - EVP_Digest
    - RAND_bytes
    - OSSL_NELEM
    - ossl_ml_kem_encap_rand
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int sanity_test(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ml_kem_internal_test.c:269,1
    - Dst: RAND_set_DRBG_type
      Src: /src/openssl/test/ml_kem_internal_test.c:269,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ml_kem_internal_test.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 7
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ml_kem_internal_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - RAND_set_DRBG_type
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_load_cert_file_test.c:22,1
    - Dst: STACK_OF
      Src: /src/openssl/test/x509_load_cert_file_test.c:23,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:25,1
    - Dst: X509_STORE_new
      Src: /src/openssl/test/x509_load_cert_file_test.c:25,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:26,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/test/x509_load_cert_file_test.c:26,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/test/x509_load_cert_file_test.c:26,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:27,1
    - Dst: X509_load_cert_file
      Src: /src/openssl/test/x509_load_cert_file_test.c:27,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:28,1
    - Dst: X509_STORE_get1_all_certs
      Src: /src/openssl/test/x509_load_cert_file_test.c:28,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:29,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:29,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/x509_load_cert_file_test.c:30,1
    - Dst: X509_STORE_get1_objects
      Src: /src/openssl/test/x509_load_cert_file_test.c:30,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:31,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:31,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/openssl/test/x509_load_cert_file_test.c:34,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/openssl/test/x509_load_cert_file_test.c:35,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/x509_load_cert_file_test.c:36,1
    - Dst: X509_OBJECT_get_type
      Src: /src/openssl/test/x509_load_cert_file_test.c:36,1
    - Dst: TEST_true
      Src: /src/openssl/test/x509_load_cert_file_test.c:40,1
    - Dst: X509_load_crl_file
      Src: /src/openssl/test/x509_load_cert_file_test.c:40,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:46,1
    - Dst: sk_X509_OBJECT_pop_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:47,1
    - Dst: X509_STORE_free
      Src: /src/openssl/test/x509_load_cert_file_test.c:48,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 17
    functionDepth: 5
    functionLinenumber: 17
    functionLinenumberEnd: 50
    functionName: test_load_cert_file
    functionSourceFile: /src/openssl/test/x509_load_cert_file_test.c
    functionUses: 0
    functionsReached:
    - X509_STORE_get1_objects
    - X509_STORE_new
    - sk_X509_OBJECT_num
    - X509_load_crl_file
    - X509_LOOKUP_file
    - sk_X509_num
    - X509_load_cert_file
    - sk_X509_OBJECT_value
    - X509_STORE_free
    - sk_X509_OBJECT_pop_free
    - TEST_int_eq
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - TEST_true
    - TEST_ptr
    - X509_OBJECT_get_type
    - X509_STORE_get1_all_certs
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int test_load_cert_file(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/x509_load_cert_file_test.c:56,1
    - Dst: TEST_error
      Src: /src/openssl/test/x509_load_cert_file_test.c:57,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_load_cert_file_test.c:61,1
    - Dst: test_get_argument
      Src: /src/openssl/test/x509_load_cert_file_test.c:65,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/x509_load_cert_file_test.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/x509_load_cert_file_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - test_skip_common_options
    - test_get_argument
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/cc_dummy.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - now_cb_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: dummy_new
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_CC_DATA
    signature: "OSSL_CC_DATA *dummy_new(OSSL_TIME (*now_cb)(void *arg),\n                               void
      *now_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/cc_dummy.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: dummy_free
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void dummy_free(OSSL_CC_DATA *cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: dummy_reset
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_reset(OSSL_CC_DATA *cc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/cc_dummy.c:48,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/test/cc_dummy.c:50,1
    - Dst: dummy_update_diag
      Src: /src/openssl/test/cc_dummy.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: dummy_set_input_params
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - dummy_update_diag
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int dummy_set_input_params(OSSL_CC_DATA *cc, const OSSL_PARAM *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/cc_dummy.c:67,1
    - Dst: dummy_update_diag
      Src: /src/openssl/test/cc_dummy.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: dummy_bind_diagnostic
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - dummy_update_diag
    linkageType: ''
    returnType: int
    signature: int dummy_bind_diagnostic(OSSL_CC_DATA *cc, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/test/cc_dummy.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: dummy_unbind_diagnostic
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int dummy_unbind_diagnostic(OSSL_CC_DATA *cc, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - OSSL_CC_DUMMY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: dummy_update_diag
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_update_diag(OSSL_CC_DUMMY *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: dummy_get_tx_allowance
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t dummy_get_tx_allowance(OSSL_CC_DATA *cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_infinite
      Src: /src/openssl/test/cc_dummy.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: dummy_get_wakeup_deadline
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached:
    - ossl_time_infinite
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME dummy_get_wakeup_deadline(OSSL_CC_DATA *cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - num_bytes
    argTypes:
    - OSSL_CC_DATA*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: dummy_on_data_sent
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_on_data_sent(OSSL_CC_DATA *cc,\n                              uint64_t
      num_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - info
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_CC_ACK_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: dummy_on_data_acked
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_on_data_acked(OSSL_CC_DATA *cc,\n                               const
      OSSL_CC_ACK_INFO *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - info
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_CC_LOSS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: dummy_on_data_lost
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_on_data_lost(OSSL_CC_DATA *cc,\n                              const
      OSSL_CC_LOSS_INFO *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - flags
    argTypes:
    - OSSL_CC_DATA*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: dummy_on_data_lost_finished
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_on_data_lost_finished(OSSL_CC_DATA *cc,\n                                       uint32_t
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - num_bytes
    argTypes:
    - OSSL_CC_DATA*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: dummy_on_data_invalidated
    functionSourceFile: /src/openssl/test/cc_dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_on_data_invalidated(OSSL_CC_DATA *cc,\n                                     uint64_t
      num_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_alert_desc_string_long
      Src: /src/openssl/test/ssl_test.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: print_alert
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - SSL_alert_desc_string_long
    linkageType: ''
    returnType: char
    signature: char *print_alert(int alert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:36,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:37,1
    - Dst: ssl_test_result_name
      Src: /src/openssl/test/ssl_test.c:38,1
    - Dst: ssl_test_result_name
      Src: /src/openssl/test/ssl_test.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: check_result
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - ssl_test_result_name
    - TEST_int_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int check_result(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:47,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:49,1
    - Dst: print_alert
      Src: /src/openssl/test/ssl_test.c:50,1
    - Dst: print_alert
      Src: /src/openssl/test/ssl_test.c:51,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:66,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:68,1
    - Dst: print_alert
      Src: /src/openssl/test/ssl_test.c:69,1
    - Dst: print_alert
      Src: /src/openssl/test/ssl_test.c:70,1
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test.c:82,1
    - Dst: print_alert
      Src: /src/openssl/test/ssl_test.c:83,1
    - Dst: print_alert
      Src: /src/openssl/test/ssl_test.c:84,1
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test.c:90,1
    - Dst: print_alert
      Src: /src/openssl/test/ssl_test.c:91,1
    - Dst: print_alert
      Src: /src/openssl/test/ssl_test.c:92,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ssl_test.c:96,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/ssl_test.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 101
    functionName: check_alerts
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_le
    - print_alert
    - TEST_int_eq
    - TEST_info
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int check_alerts(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:105,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:106,1
    - Dst: ssl_protocol_name
      Src: /src/openssl/test/ssl_test.c:107,1
    - Dst: ssl_protocol_name
      Src: /src/openssl/test/ssl_test.c:108,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:113,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:115,1
    - Dst: ssl_protocol_name
      Src: /src/openssl/test/ssl_test.c:116,1
    - Dst: ssl_protocol_name
      Src: /src/openssl/test/ssl_test.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: check_protocol
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - ssl_protocol_name
    - TEST_int_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int check_protocol(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:126,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:127,1
    - Dst: ssl_servername_name
      Src: /src/openssl/test/ssl_test.c:128,1
    - Dst: ssl_servername_name
      Src: /src/openssl/test/ssl_test.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: check_servername
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - ssl_servername_name
    - TEST_int_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int check_servername(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:139,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:141,1
    - Dst: ssl_session_ticket_name
      Src: /src/openssl/test/ssl_test.c:142,1
    - Dst: ssl_session_ticket_name
      Src: /src/openssl/test/ssl_test.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: check_session_ticket
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - ssl_session_ticket_name
    - TEST_int_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int check_session_ticket(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:153,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:154,1
    - Dst: ssl_session_id_name
      Src: /src/openssl/test/ssl_test.c:155,1
    - Dst: ssl_session_id_name
      Src: /src/openssl/test/ssl_test.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: check_session_id
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - ssl_session_id_name
    - TEST_int_eq
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int check_session_id(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: check_compression
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int check_compression(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test.c:172,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: check_npn
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int check_npn(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test.c:185,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: check_alpn
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    linkageType: ''
    returnType: int
    signature: int check_alpn(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/ssl_test.c:202,1
    - Dst: strlen
      Src: /src/openssl/test/ssl_test.c:204,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test.c:208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: check_session_ticket_app_data
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - strlen
    linkageType: ''
    returnType: int
    signature: "int check_session_ticket_app_data(HANDSHAKE_RESULT *result,\n                                         SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:217,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: check_resumption
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 1
    functionsReached:
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int check_resumption(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test.c:228,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/test/ssl_test.c:229,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/test/ssl_test.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - name
    - expected_nid
    - nid
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 6
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: check_nid
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int check_nid(const char *name, int expected_nid, int nid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/ssl_test.c:257,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:258,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/ssl_test.c:258,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/ssl_test.c:262,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/ssl_test.c:262,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/test/ssl_test.c:264,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test.c:265,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/test/ssl_test.c:265,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/ssl_test.c:265,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/test/ssl_test.c:266,1
    - Dst: TEST_info
      Src: /src/openssl/test/ssl_test.c:273,1
    - Dst: TEST_note
      Src: /src/openssl/test/ssl_test.c:274,1
    - Dst: print_ca_names
      Src: /src/openssl/test/ssl_test.c:275,1
    - Dst: TEST_note
      Src: /src/openssl/test/ssl_test.c:276,1
    - Dst: print_ca_names
      Src: /src/openssl/test/ssl_test.c:277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - name
    - expected_names
    - names
    argTypes:
    - char*
    - STACK_OF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 279
    functionName: check_ca_names
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - sk_X509_NAME_value
    - TEST_info
    - TEST_int_eq
    - X509_NAME_cmp
    - print_ca_names
    - sk_X509_NAME_num
    linkageType: ''
    returnType: int
    signature: "int check_ca_names(const char *name,\n                          STACK_OF(X509_NAME)
      *expected_names,\n                          STACK_OF(X509_NAME) *names)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/openssl/test/ssl_test.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 7
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: check_tmp_key
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: int check_tmp_key(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/openssl/test/ssl_test.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 7
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: check_server_cert_type
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: "int check_server_cert_type(HANDSHAKE_RESULT *result,\n                                  SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/openssl/test/ssl_test.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 7
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: check_server_sign_hash
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: "int check_server_sign_hash(HANDSHAKE_RESULT *result,\n                                  SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/openssl/test/ssl_test.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 7
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: check_server_sign_type
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: "int check_server_sign_type(HANDSHAKE_RESULT *result,\n                                  SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ca_names
      Src: /src/openssl/test/ssl_test.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: check_server_ca_names
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_ca_names
    linkageType: ''
    returnType: int
    signature: "int check_server_ca_names(HANDSHAKE_RESULT *result,\n                                 SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/openssl/test/ssl_test.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 7
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: check_client_cert_type
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: "int check_client_cert_type(HANDSHAKE_RESULT *result,\n                                  SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/openssl/test/ssl_test.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 7
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: check_client_sign_hash
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: "int check_client_sign_hash(HANDSHAKE_RESULT *result,\n                                  SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nid
      Src: /src/openssl/test/ssl_test.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 7
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: check_client_sign_type
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_nid
    linkageType: ''
    returnType: int
    signature: "int check_client_sign_type(HANDSHAKE_RESULT *result,\n                                  SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ca_names
      Src: /src/openssl/test/ssl_test.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: check_client_ca_names
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_ca_names
    linkageType: ''
    returnType: int
    signature: "int check_client_ca_names(HANDSHAKE_RESULT *result,\n                                 SSL_TEST_CTX
      *test_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:349,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: check_cipher
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int check_cipher(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_result
      Src: /src/openssl/test/ssl_test.c:365,1
    - Dst: check_alerts
      Src: /src/openssl/test/ssl_test.c:366,1
    - Dst: check_protocol
      Src: /src/openssl/test/ssl_test.c:368,1
    - Dst: check_servername
      Src: /src/openssl/test/ssl_test.c:369,1
    - Dst: check_session_ticket
      Src: /src/openssl/test/ssl_test.c:370,1
    - Dst: check_compression
      Src: /src/openssl/test/ssl_test.c:371,1
    - Dst: check_session_id
      Src: /src/openssl/test/ssl_test.c:372,1
    - Dst: check_npn
      Src: /src/openssl/test/ssl_test.c:375,1
    - Dst: check_cipher
      Src: /src/openssl/test/ssl_test.c:377,1
    - Dst: check_alpn
      Src: /src/openssl/test/ssl_test.c:378,1
    - Dst: check_session_ticket_app_data
      Src: /src/openssl/test/ssl_test.c:379,1
    - Dst: check_resumption
      Src: /src/openssl/test/ssl_test.c:380,1
    - Dst: check_tmp_key
      Src: /src/openssl/test/ssl_test.c:381,1
    - Dst: check_server_cert_type
      Src: /src/openssl/test/ssl_test.c:382,1
    - Dst: check_server_sign_hash
      Src: /src/openssl/test/ssl_test.c:383,1
    - Dst: check_server_sign_type
      Src: /src/openssl/test/ssl_test.c:384,1
    - Dst: check_server_ca_names
      Src: /src/openssl/test/ssl_test.c:385,1
    - Dst: check_client_cert_type
      Src: /src/openssl/test/ssl_test.c:386,1
    - Dst: check_client_sign_hash
      Src: /src/openssl/test/ssl_test.c:387,1
    - Dst: check_client_sign_type
      Src: /src/openssl/test/ssl_test.c:388,1
    - Dst: check_client_ca_names
      Src: /src/openssl/test/ssl_test.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - result
    - test_ctx
    argTypes:
    - HANDSHAKE_RESULT*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 362
    functionDepth: 8
    functionLinenumber: 362
    functionLinenumberEnd: 392
    functionName: check_test
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_server_sign_hash
    - check_alerts
    - check_client_cert_type
    - check_servername
    - check_npn
    - check_compression
    - check_session_id
    - check_server_ca_names
    - check_protocol
    - check_alpn
    - check_cipher
    - check_session_ticket_app_data
    - check_session_ticket
    - check_resumption
    - check_client_ca_names
    - check_server_cert_type
    - check_client_sign_hash
    - check_server_sign_type
    - check_client_sign_type
    - check_tmp_key
    - check_result
    linkageType: ''
    returnType: int
    signature: int check_test(HANDSHAKE_RESULT *result, SSL_TEST_CTX *test_ctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/ssl_test.c:403,1
    - Dst: SSL_TEST_CTX_create
      Src: /src/openssl/test/ssl_test.c:405,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:406,1
    - Dst: fips_provider_version_match
      Src: /src/openssl/test/ssl_test.c:411,1
    - Dst: TEST_skip
      Src: /src/openssl/test/ssl_test.c:412,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:418,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/ssl_test.c:418,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:419,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:419,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:421,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:421,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:425,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:426,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/ssl_test.c:426,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:427,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:427,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:431,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/ssl_test.c:431,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:432,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:432,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:435,1
    - Dst: DTLS_server_method
      Src: /src/openssl/test/ssl_test.c:436,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:437,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:437,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:438,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:438,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:441,1
    - Dst: DTLS_client_method
      Src: /src/openssl/test/ssl_test.c:442,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:443,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:443,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:445,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:446,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:461,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ssl_test.c:461,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:462,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:462,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:463,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:463,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:469,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:470,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ssl_test.c:470,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:471,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:471,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:474,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:474,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:478,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ssl_test.c:478,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:479,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:479,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:483,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/ssl_test.c:484,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:485,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:485,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:487,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/ssl_test.c:487,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/ssl_test.c:490,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/ssl_test.c:491,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:492,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/ssl_test.c:492,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:495,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:496,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test.c:502,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/test/ssl_test.c:502,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:506,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:507,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ssl_test.c:508,1
    - Dst: CONF_modules_load
      Src: /src/openssl/test/ssl_test.c:508,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/test/ssl_test.c:511,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/ssl_test.c:512,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/test/ssl_test.c:513,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/test/ssl_test.c:518,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/ssl_test.c:519,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/test/ssl_test.c:522,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/ssl_test.c:523,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/test/ssl_test.c:526,1
    - Dst: do_handshake
      Src: /src/openssl/test/ssl_test.c:529,1
    - Dst: check_test
      Src: /src/openssl/test/ssl_test.c:533,1
    - Dst: CONF_modules_unload
      Src: /src/openssl/test/ssl_test.c:536,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:537,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:538,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:539,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:540,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/ssl_test.c:541,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/ssl_test.c:542,1
    - Dst: HANDSHAKE_RESULT_free
      Src: /src/openssl/test/ssl_test.c:543,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 103
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 394
    functionDepth: 9
    functionLinenumber: 394
    functionLinenumberEnd: 545
    functionName: test_handshake
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - check_test
    - BIO_snprintf
    - TLS_server_method
    - fips_provider_version_match
    - TEST_ptr
    - SSL_CTX_free
    - SSL_CTX_set_options
    - do_handshake
    - DTLS_client_method
    - SSL_CTX_set_dh_auto
    - TEST_true
    - OPENSSL_init_ssl
    - SSL_TEST_CTX_create
    - SSL_CTX_set_max_proto_version
    - SSL_TEST_CTX_free
    - CONF_modules_load
    - SSL_CTX_new_ex
    - TEST_skip
    - SSL_CTX_config
    - HANDSHAKE_RESULT_free
    - TLS_client_method
    - DTLS_server_method
    - CONF_modules_unload
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int test_handshake(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/ssl_test.c:554,1
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test.c:555,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test.c:559,1
    - Dst: NCONF_new
      Src: /src/openssl/test/ssl_test.c:559,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ssl_test.c:561,1
    - Dst: NCONF_load
      Src: /src/openssl/test/ssl_test.c:561,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ssl_test.c:561,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/ssl_test.c:562,1
    - Dst: NCONF_get_number_e
      Src: /src/openssl/test/ssl_test.c:562,1
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test.c:564,1
    - Dst: test_arg_libctx
      Src: /src/openssl/test/ssl_test.c:568,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ssl_test.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 573
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 0
    functionsReached:
    - test_arg_libctx
    - TEST_int_ne
    - NCONF_load
    - NCONF_get_number_e
    - NCONF_new
    - test_skip_common_options
    - TEST_error
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_free
      Src: /src/openssl/test/ssl_test.c:577,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ssl_test.c:578,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/ssl_test.c:579,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/ssl_test.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 4
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ssl_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - NCONF_free
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_cipherbynid
      Src: /src/openssl/test/cipher_overhead_test.c:24,1
    - Dst: SSL_CIPHER_get_cipher_nid
      Src: /src/openssl/test/cipher_overhead_test.c:24,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/test/cipher_overhead_test.c:27,1
    - Dst: SSL_CIPHER_get_digest_nid
      Src: /src/openssl/test/cipher_overhead_test.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ciph
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 31
    functionName: cipher_enabled
    functionSourceFile: /src/openssl/test/cipher_overhead_test.c
    functionUses: 0
    functionsReached:
    - SSL_CIPHER_get_cipher_nid
    - EVP_get_cipherbynid
    - EVP_get_digestbynid
    - SSL_CIPHER_get_digest_nid
    linkageType: ''
    returnType: int
    signature: int cipher_enabled(const SSL_CIPHER *ciph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_num_ciphers
      Src: /src/openssl/test/cipher_overhead_test.c:35,1
    - Dst: ssl3_get_cipher
      Src: /src/openssl/test/cipher_overhead_test.c:40,1
    - Dst: cipher_enabled
      Src: /src/openssl/test/cipher_overhead_test.c:43,1
    - Dst: TEST_skip
      Src: /src/openssl/test/cipher_overhead_test.c:44,1
    - Dst: TEST_true
      Src: /src/openssl/test/cipher_overhead_test.c:47,1
    - Dst: ssl_cipher_get_overhead
      Src: /src/openssl/test/cipher_overhead_test.c:47,1
    - Dst: TEST_info
      Src: /src/openssl/test/cipher_overhead_test.c:48,1
    - Dst: TEST_info
      Src: /src/openssl/test/cipher_overhead_test.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: cipher_overhead
    functionSourceFile: /src/openssl/test/cipher_overhead_test.c
    functionUses: 0
    functionsReached:
    - ssl_cipher_get_overhead
    - cipher_enabled
    - TEST_skip
    - TEST_info
    - ssl3_get_cipher
    - TEST_true
    - ssl3_num_ciphers
    linkageType: ''
    returnType: int
    signature: int cipher_overhead(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/cipher_overhead_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/cipher_overhead_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/rand_status_test.c:20,1
    - Dst: RAND_status
      Src: /src/openssl/test/rand_status_test.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: test_rand_status
    functionSourceFile: /src/openssl/test/rand_status_test.c
    functionUses: 0
    functionsReached:
    - RAND_status
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int test_rand_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_TEST
      Src: /src/openssl/test/rand_status_test.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/rand_status_test.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/test/lms_test.c:37,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/test/lms_test.c:39,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:40,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/lms_test.c:40,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:41,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/lms_test.c:41,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/lms_test.c:42,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:44,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 6
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: lms_pubkey_from_data
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *lms_pubkey_from_data(const unsigned char *data, size_t datalen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/lms_test.c:59,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/lms_test.c:62,1
    - Dst: memcpy
      Src: /src/openssl/test/lms_test.c:63,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/lms_test.c:68,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:68,1
    - Dst: TEST_note
      Src: /src/openssl/test/lms_test.c:74,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:76,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: lms_bad_pub_len_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_le
    - TEST_ptr_null
    - lms_pubkey_from_data
    - TEST_note
    - memcpy
    - EVP_PKEY_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int lms_bad_pub_len_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:97,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/lms_test.c:97,1
    - Dst: TEST_false
      Src: /src/openssl/test/lms_test.c:104,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/lms_test.c:104,1
    - Dst: TEST_false
      Src: /src/openssl/test/lms_test.c:108,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/lms_test.c:108,1
    - Dst: TEST_false
      Src: /src/openssl/test/lms_test.c:113,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/lms_test.c:113,1
    - Dst: TEST_false
      Src: /src/openssl/test/lms_test.c:118,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/lms_test.c:118,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:123,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/lms_test.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 81
    functionDepth: 12
    functionLinenumber: 81
    functionLinenumberEnd: 126
    functionName: lms_pubkey_decoder_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - TEST_false
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_pubkey_decoder_fail_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:134,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/lms_test.c:134,1
    - Dst: TEST_true
      Src: /src/openssl/test/lms_test.c:140,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/test/lms_test.c:140,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:141,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/lms_test.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bio
    - keytype
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 12
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: key_decode_from_bio
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - TEST_true
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_bio
    - TEST_ptr
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *key_decode_from_bio(BIO *bio, const char *keytype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:154,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/test/lms_test.c:154,1
    - Dst: key_decode_from_bio
      Src: /src/openssl/test/lms_test.c:156,1
    - Dst: BIO_free
      Src: /src/openssl/test/lms_test.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - datalen
    - keytype
    argTypes:
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 13
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: key_decode_from_data
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - BIO_free
    - BIO_new_mem_buf
    - key_decode_from_bio
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *key_decode_from_data(const unsigned char *data, size_t datalen,\n
      \                                     const char *keytype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:167,1
    - Dst: key_decode_from_data
      Src: /src/openssl/test/lms_test.c:167,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 14
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: lms_key_decode_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - key_decode_from_data
    - TEST_ptr
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int lms_key_decode_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:181,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/test/lms_test.c:181,1
    - Dst: TEST_true
      Src: /src/openssl/test/lms_test.c:188,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/test/lms_test.c:188,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:192,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/test/lms_test.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 172
    functionDepth: 12
    functionLinenumber: 172
    functionLinenumberEnd: 195
    functionName: lms_pubkey_decoder_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_free
    - OSSL_DECODER_CTX_new_for_pkey
    - OSSL_DECODER_from_data
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_pubkey_decoder_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/lms_test.c:208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:211,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:212,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:212,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:213,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:213,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:214,1
    - Dst: key_decode_from_data
      Src: /src/openssl/test/lms_test.c:214,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:218,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/lms_test.c:218,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/lms_test.c:219,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/lms_test.c:219,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:220,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/lms_test.c:220,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:225,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/test/lms_test.c:225,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/lms_test.c:227,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/lms_test.c:227,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:228,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:231,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:232,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:233,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 197
    functionDepth: 14
    functionLinenumber: 197
    functionLinenumberEnd: 236
    functionName: lms_key_eq_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - lms_pubkey_from_data
    - EVP_PKEY_eq
    - TEST_int_ne
    - TEST_int_eq
    - EVP_PKEY_free
    - key_decode_from_data
    - OSSL_NELEM
    - EVP_PKEY_Q_keygen
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_key_eq_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:245,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:247,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:247,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:249,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/test/lms_test.c:249,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:250,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 7
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: lms_key_validate_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - lms_pubkey_from_data
    - EVP_PKEY_check
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_key_validate_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:264,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:264,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:265,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:266,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:266,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:267,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/lms_test.c:267,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:268,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/lms_test.c:268,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:271,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:272,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - tst
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 256
    functionDepth: 7
    functionLinenumber: 256
    functionLinenumberEnd: 275
    functionName: lms_verify_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - lms_pubkey_from_data
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify
    - TEST_int_eq
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_verify_test(int tst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:284,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:284,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:286,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/lms_test.c:286,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:289,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/test/lms_test.c:289,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:294,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/lms_test.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 8
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: lms_digest_verify_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - lms_pubkey_from_data
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_digest_verify_fail_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:306,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:308,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/lms_test.c:308,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:310,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/test/lms_test.c:310,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:315,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/lms_test.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 299
    functionDepth: 8
    functionLinenumber: 299
    functionLinenumberEnd: 318
    functionName: lms_digest_signing_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - lms_pubkey_from_data
    - EVP_MD_CTX_new
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - EVP_DigestSignInit_ex
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_digest_signing_fail_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:328,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:328,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:329,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:329,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:330,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:330,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:331,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/test/lms_test.c:331,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:333,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:334,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 320
    functionDepth: 7
    functionLinenumber: 320
    functionLinenumberEnd: 337
    functionName: lms_message_signing_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - lms_pubkey_from_data
    - EVP_SIGNATURE_free
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_message_signing_fail_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:344,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/lms_test.c:344,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:345,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/test/lms_test.c:345,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 5
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: lms_paramgen_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: int
    signature: int lms_paramgen_fail_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:356,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/lms_test.c:356,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:357,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/test/lms_test.c:357,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: lms_keygen_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - TEST_int_eq
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - TEST_ptr
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: int lms_keygen_fail_test(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:370,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:370,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:371,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:371,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:374,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/test/lms_test.c:374,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:378,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 363
    functionDepth: 7
    functionLinenumber: 363
    functionLinenumberEnd: 381
    functionName: lms_verify_fail_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_verify_init
    - lms_pubkey_from_data
    - TEST_int_eq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_verify_fail_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/lms_test.c:403,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:407,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:407,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:408,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:408,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:409,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:409,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:412,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/lms_test.c:412,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:420,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/lms_test.c:420,1
    - Dst: TEST_note
      Src: /src/openssl/test/lms_test.c:422,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:430,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:431,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:432,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lms_test.c:433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 383
    functionDepth: 7
    functionLinenumber: 383
    functionLinenumberEnd: 436
    functionName: lms_verify_bad_sig_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - lms_pubkey_from_data
    - TEST_note
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify
    - TEST_int_eq
    - EVP_PKEY_verify_message_init
    - OPENSSL_memdup
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_verify_bad_sig_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:455,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:455,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:456,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:456,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:457,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:457,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/lms_test.c:460,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/test/lms_test.c:463,1
    - Dst: memcpy
      Src: /src/openssl/test/lms_test.c:464,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:470,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/lms_test.c:470,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:472,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/lms_test.c:472,1
    - Dst: TEST_note
      Src: /src/openssl/test/lms_test.c:474,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:482,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:483,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:484,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 444
    functionDepth: 7
    functionLinenumber: 444
    functionLinenumberEnd: 487
    functionName: lms_verify_bad_sig_len_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - lms_pubkey_from_data
    - TEST_size_t_le
    - TEST_note
    - EVP_SIGNATURE_free
    - memcpy
    - EVP_PKEY_verify
    - TEST_int_eq
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int lms_verify_bad_sig_len_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:500,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/lms_test.c:500,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:503,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/test/lms_test.c:503,1
    - Dst: lms_pubkey_from_data
      Src: /src/openssl/test/lms_test.c:509,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/lms_test.c:511,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/test/lms_test.c:511,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/test/lms_test.c:514,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/lms_test.c:515,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/test/lms_test.c:515,1
    - Dst: TEST_note
      Src: /src/openssl/test/lms_test.c:517,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:521,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:523,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/test/lms_test.c:531,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/lms_test.c:532,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/lms_test.c:533,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/lms_test.c:534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 489
    functionDepth: 7
    functionLinenumber: 489
    functionLinenumberEnd: 537
    functionName: lms_verify_bad_pub_sig_test
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - lms_pubkey_from_data
    - TEST_note
    - EVP_SIGNATURE_free
    - EVP_PKEY_verify
    - TEST_int_eq
    - EVP_PKEY_verify_message_init
    - OPENSSL_memdup
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int lms_verify_bad_pub_sig_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/lms_test.c:558,1
    - Dst: opt_arg
      Src: /src/openssl/test/lms_test.c:561,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/lms_test.c:571,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:574,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:575,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:576,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:577,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:578,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:579,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/lms_test.c:580,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/lms_test.c:580,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:581,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:582,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:583,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:584,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:585,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:586,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:587,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:588,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/lms_test.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 592
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 0
    functionsReached:
    - opt_next
    - ADD_TEST
    - OSSL_NELEM
    - test_get_libctx
    - opt_arg
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/lms_test.c:596,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/lms_test.c:597,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/lms_test.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/lms_test.c
    functionUses: 7
    functionsReached:
    - OSSL_PROVIDER_unload
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/hmactest.c:92,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/hmactest.c:93,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/hmactest.c:94,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/hmactest.c:95,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:98,1
    - Dst: HMAC
      Src: /src/openssl/test/hmactest.c:98,1
    - Dst: EVP_md5
      Src: /src/openssl/test/hmactest.c:98,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:103,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 8
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: test_hmac_md5
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - EVP_md5
    - TEST_str_eq
    - ebcdic2ascii
    - pt
    - TEST_ptr
    - HMAC
    linkageType: ''
    returnType: int
    signature: int test_hmac_md5(int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/openssl/test/hmactest.c:112,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:113,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/hmactest.c:114,1
    - Dst: HMAC_CTX_get_md
      Src: /src/openssl/test/hmactest.c:114,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:115,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:115,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:116,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:116,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:117,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:117,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/hmactest.c:117,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:118,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:118,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/test/hmactest.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 12
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: test_hmac_bad
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - HMAC_CTX_new
    - TEST_false
    - EVP_sha1
    - HMAC_Update
    - HMAC_CTX_get_md
    - HMAC_CTX_free
    - HMAC_Init_ex
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_hmac_bad(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:135,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/test/hmactest.c:135,1
    - Dst: HMAC_CTX_reset
      Src: /src/openssl/test/hmactest.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:139,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/hmactest.c:140,1
    - Dst: HMAC_CTX_get_md
      Src: /src/openssl/test/hmactest.c:140,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:141,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:141,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:142,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:142,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:143,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:143,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/hmactest.c:143,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:146,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:146,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/hmactest.c:146,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:147,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:147,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:148,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:148,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:151,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:152,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:152,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:155,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:155,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/hmactest.c:155,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:158,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:158,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/hmactest.c:158,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/hmactest.c:159,1
    - Dst: HMAC_CTX_get_md
      Src: /src/openssl/test/hmactest.c:159,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/hmactest.c:159,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:160,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:160,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:161,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:161,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:165,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:165,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:168,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:168,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:169,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:169,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:170,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:170,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:172,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:173,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:177,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:177,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:178,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:178,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:179,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:179,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:181,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:182,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:182,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:189,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:189,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/hmactest.c:189,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:190,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:190,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:191,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:191,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:194,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:194,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/test/hmactest.c:199,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 127
    functionDepth: 12
    functionLinenumber: 127
    functionLinenumberEnd: 201
    functionName: test_hmac_run
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - TEST_ptr_null
    - HMAC_CTX_new
    - TEST_str_eq
    - HMAC_Final
    - TEST_false
    - EVP_sha1
    - HMAC_Update
    - HMAC_CTX_get_md
    - EVP_sha256
    - HMAC_CTX_free
    - HMAC_CTX_reset
    - HMAC_Init_ex
    - TEST_true
    - pt
    - TEST_ptr
    - TEST_ptr_eq
    linkageType: ''
    returnType: int
    signature: int test_hmac_run(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:209,1
    - Dst: HMAC
      Src: /src/openssl/test/hmactest.c:209,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/hmactest.c:209,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:211,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 8
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: test_hmac_single_shot
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - EVP_sha1
    - pt
    - TEST_ptr
    - HMAC
    linkageType: ''
    returnType: int
    signature: int test_hmac_single_shot(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:226,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/test/hmactest.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:228,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:228,1
    - Dst: EVP_sha256
      Src: /src/openssl/test/hmactest.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:229,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:229,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:230,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:230,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:231,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:231,1
    - Dst: TEST_false
      Src: /src/openssl/test/hmactest.c:232,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:232,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/test/hmactest.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 218
    functionDepth: 12
    functionLinenumber: 218
    functionLinenumberEnd: 239
    functionName: test_hmac_final_update_fail
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_new
    - HMAC_Final
    - TEST_false
    - HMAC_Update
    - HMAC_CTX_free
    - HMAC_Init_ex
    - TEST_true
    - EVP_sha256
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_hmac_final_update_fail(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/openssl/test/hmactest.c:249,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/test/hmactest.c:250,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:251,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:254,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:254,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/hmactest.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:255,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:255,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:256,1
    - Dst: HMAC_CTX_copy
      Src: /src/openssl/test/hmactest.c:256,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:257,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:257,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:260,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:261,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:261,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/test/hmactest.c:266,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/test/hmactest.c:267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 241
    functionDepth: 12
    functionLinenumber: 241
    functionLinenumberEnd: 269
    functionName: test_hmac_copy
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_new
    - TEST_str_eq
    - HMAC_Final
    - EVP_sha1
    - HMAC_Update
    - HMAC_CTX_free
    - pt
    - HMAC_Init_ex
    - TEST_true
    - TEST_ptr
    - HMAC_CTX_copy
    linkageType: ''
    returnType: int
    signature: int test_hmac_copy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:280,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/hmactest.c:280,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:281,1
    - Dst: EVP_PKEY_new_mac_key
      Src: /src/openssl/test/hmactest.c:281,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:283,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/test/hmactest.c:283,1
    - Dst: EVP_sha1
      Src: /src/openssl/test/hmactest.c:283,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:284,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/test/hmactest.c:284,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:285,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/openssl/test/hmactest.c:285,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/hmactest.c:287,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:291,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/test/hmactest.c:291,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/hmactest.c:295,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/test/hmactest.c:296,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/hmactest.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 271
    functionDepth: 9
    functionLinenumber: 271
    functionLinenumberEnd: 299
    functionName: test_hmac_copy_uninited
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - EVP_PKEY_new_mac_key
    - EVP_MD_CTX_new
    - EVP_sha1
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - EVP_MD_CTX_copy
    - EVP_DigestSignUpdate
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_hmac_copy_uninited(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/test/hmactest.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - md
    - len
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: pt
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 306
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: char
    signature: char *pt(unsigned char *md, unsigned int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:418,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/test/hmactest.c:418,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:421,1
    - Dst: HMAC_CTX_new
      Src: /src/openssl/test/hmactest.c:421,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/test/hmactest.c:425,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:429,1
    - Dst: HMAC_Init_ex
      Src: /src/openssl/test/hmactest.c:429,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:434,1
    - Dst: memset
      Src: /src/openssl/test/hmactest.c:436,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:437,1
    - Dst: HMAC_Update
      Src: /src/openssl/test/hmactest.c:437,1
    - Dst: TEST_true
      Src: /src/openssl/test/hmactest.c:441,1
    - Dst: HMAC_Final
      Src: /src/openssl/test/hmactest.c:441,1
    - Dst: pt
      Src: /src/openssl/test/hmactest.c:444,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/hmactest.c:445,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/hmactest.c:445,1
    - Dst: HMAC_CTX_free
      Src: /src/openssl/test/hmactest.c:451,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 409
    functionDepth: 12
    functionLinenumber: 409
    functionLinenumberEnd: 453
    functionName: test_hmac_chunks
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - memset
    - HMAC_CTX_new
    - TEST_str_eq
    - ebcdic2ascii
    - HMAC_Final
    - HMAC_Update
    - HMAC_CTX_free
    - EVP_get_digestbyname
    - HMAC_Init_ex
    - TEST_true
    - pt
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_hmac_chunks(int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hmactest.c:457,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:458,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:459,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:460,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:461,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:462,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/hmactest.c:463,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/hmactest.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/hmactest.c
    functionUses: 0
    functionsReached:
    - ADD_TEST
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/user_property_test.c:28,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/user_property_test.c:29,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/user_property_test.c:32,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/user_property_test.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: tmpmd_get_params
    functionSourceFile: /src/openssl/test/user_property_test.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int tmpmd_get_params(OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - provctx
    - in
    - inl
    - out
    - outl
    - outsz
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: tmpmd_digest
    functionSourceFile: /src/openssl/test/user_property_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tmpmd_digest(void *provctx, const unsigned char *in, size_t inl,\n
      \                unsigned char *out, size_t *outl, size_t outsz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: testprov_query
    functionSourceFile: /src/openssl/test/user_property_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *testprov_query(void *provctx,\n                                          int
      operation_id,\n                                          int *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: testprov_provider_init
    functionSourceFile: /src/openssl/test/user_property_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int testprov_provider_init(const OSSL_CORE_HANDLE *handle,\n                                  const
      OSSL_DISPATCH *in,\n                                  const OSSL_DISPATCH **out,\n
      \                                 void **provctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/user_property_test.c:93,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/user_property_test.c:93,1
    - Dst: TEST_true
      Src: /src/openssl/test/user_property_test.c:94,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/user_property_test.c:94,1
    - Dst: TEST_true
      Src: /src/openssl/test/user_property_test.c:99,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/user_property_test.c:99,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/user_property_test.c:102,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/user_property_test.c:102,1
    - Dst: TEST_true
      Src: /src/openssl/test/user_property_test.c:106,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/user_property_test.c:106,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/user_property_test.c:109,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/user_property_test.c:109,1
    - Dst: TEST_true
      Src: /src/openssl/test/user_property_test.c:113,1
    - Dst: EVP_set_default_properties
      Src: /src/openssl/test/user_property_test.c:113,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/user_property_test.c:115,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/user_property_test.c:116,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/user_property_test.c:116,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/user_property_test.c:122,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/user_property_test.c:123,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/test/user_property_test.c:124,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 1
    argNames:
    - propsorder
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 86
    functionDepth: 10
    functionLinenumber: 86
    functionLinenumberEnd: 126
    functionName: test_default_props_and_providers
    functionSourceFile: /src/openssl/test/user_property_test.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - EVP_MD_fetch
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - TEST_true
    - EVP_set_default_properties
    - TEST_ptr
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: int
    signature: int test_default_props_and_providers(int propsorder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/user_property_test.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/user_property_test.c
    functionUses: 0
    functionsReached:
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: IS_FAIL
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FAIL(exp_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: MIN
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/test/mem_alloc_test.c:200,1
    - Dst: strcmp
      Src: /src/openssl/test/mem_alloc_test.c:204,1
    - Dst: TEST_note
      Src: /src/openssl/test/mem_alloc_test.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: my_malloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 1
    functionsReached:
    - strcmp
    - malloc
    - TEST_note
    linkageType: ''
    returnType: void
    signature: "void *my_malloc(const size_t num,\n                       const char
      * const file, const int line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/openssl/test/mem_alloc_test.c:219,1
    - Dst: strcmp
      Src: /src/openssl/test/mem_alloc_test.c:223,1
    - Dst: TEST_note
      Src: /src/openssl/test/mem_alloc_test.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - addr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: my_realloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - realloc
    - strcmp
    - TEST_note
    linkageType: ''
    returnType: void
    signature: "void *my_realloc(void * const addr, const size_t num,\n                        const
      char * const file, const int line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/mem_alloc_test.c:238,1
    - Dst: TEST_note
      Src: /src/openssl/test/mem_alloc_test.c:239,1
    - Dst: free
      Src: /src/openssl/test/mem_alloc_test.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: my_free
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TEST_note
    - free
    linkageType: ''
    returnType: void
    signature: void my_free(void * const addr, const char * const file, const int
      line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - sz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: check_zero_mem
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - TEST_error
    linkageType: ''
    returnType: bool
    signature: bool check_zero_mem(char *p, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/mem_alloc_test.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: save_counts
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_alloc_counts
    linkageType: ''
    returnType: void
    signature: void save_counts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/test/mem_alloc_test.c:277,1
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: check_exp_prep
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - save_counts
    - ERR_set_mark
    linkageType: ''
    returnType: void
    signature: void check_exp_prep(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_alloc_counts
      Src: /src/openssl/test/mem_alloc_test.c:294,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:296,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:299,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:302,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:309,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:313,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:317,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - exp_mallocs
    - exp_reallocs
    - exp_frees
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 323
    functionName: check_counts
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_alloc_counts
    - TEST_int_eq
    linkageType: ''
    returnType: bool
    signature: bool check_counts(int exp_mallocs, int exp_reallocs, int exp_frees)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_count_to_mark
      Src: /src/openssl/test/mem_alloc_test.c:339,1
    - Dst: ERR_peek_last_error_all
      Src: /src/openssl/test/mem_alloc_test.c:341,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:349,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:350,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/mem_alloc_test.c:351,1
    - Dst: ERR_PACK
      Src: /src/openssl/test/mem_alloc_test.c:351,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:352,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:353,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:354,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:355,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:356,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:362,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:363,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/mem_alloc_test.c:364,1
    - Dst: ERR_PACK
      Src: /src/openssl/test/mem_alloc_test.c:364,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:366,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:367,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:368,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:369,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:370,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:376,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:377,1
    - Dst: TEST_ulong_eq
      Src: /src/openssl/test/mem_alloc_test.c:378,1
    - Dst: ERR_PACK
      Src: /src/openssl/test/mem_alloc_test.c:378,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:380,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:381,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:382,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/mem_alloc_test.c:383,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:384,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/mem_alloc_test.c:390,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:391,1
    - Dst: check_zero_mem
      Src: /src/openssl/test/mem_alloc_test.c:394,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:405,1
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:411,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/mem_alloc_test.c:415,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:421,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 39
    argCount: 9
    argNames:
    - fn
    - ln
    - sz
    - secure
    - zero
    - ret
    - exp
    - exp_mallocs
    - exp_reallocs
    argTypes:
    - char*
    - int
    - size_t
    - bool
    - bool
    - char*
    - enum exp_ret
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 424
    functionName: check_exp
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - check_counts
    - TEST_ptr_null
    - TEST_str_eq
    - ERR_pop_to_mark
    - TEST_ulong_eq
    - TEST_int_eq
    - ERR_count_to_mark
    - ERR_PACK
    - check_zero_mem
    - ERR_peek_last_error_all
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int check_exp(const char * const fn, const int ln, const size_t sz,\n
      \                    const bool secure, const bool zero, char * const ret,\n
      \                    const enum exp_ret exp, int exp_mallocs, int exp_reallocs)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_exp_prep
      Src: /src/openssl/test/mem_alloc_test.c:437,1
    - Dst: OPENSSL_secure_calloc
      Src: /src/openssl/test/mem_alloc_test.c:443,1
    - Dst: OPENSSL_secure_malloc_array
      Src: /src/openssl/test/mem_alloc_test.c:445,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/test/mem_alloc_test.c:448,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/test/mem_alloc_test.c:450,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/test/mem_alloc_test.c:455,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/mem_alloc_test.c:457,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/mem_alloc_test.c:460,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/mem_alloc_test.c:462,1
    - Dst: IS_FAIL
      Src: /src/openssl/test/mem_alloc_test.c:484,1
    - Dst: IS_FAIL
      Src: /src/openssl/test/mem_alloc_test.c:491,1
    - Dst: check_exp
      Src: /src/openssl/test/mem_alloc_test.c:492,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/test/mem_alloc_test.c:496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:498,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 5
    argNames:
    - secure
    - array
    - zero
    - macro
    - td
    argTypes:
    - bool
    - bool
    - bool
    - bool
    - struct array_alloc_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 501
    functionName: test_xalloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - IS_FAIL
    - OPENSSL_zalloc
    - check_exp
    - OPENSSL_secure_free
    - OPENSSL_secure_zalloc
    - OPENSSL_calloc
    - OPENSSL_malloc_array
    - OPENSSL_secure_calloc
    - OPENSSL_secure_malloc
    - OPENSSL_free
    - OPENSSL_secure_malloc_array
    - check_exp_prep
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int test_xalloc(const bool secure, const bool array, const bool zero,\n
      \                      const bool macro, const struct array_alloc_vector *td)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: check_exp_prep
      Src: /src/openssl/test/mem_alloc_test.c:554,1
    - Dst: OPENSSL_clear_realloc_array
      Src: /src/openssl/test/mem_alloc_test.c:559,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/mem_alloc_test.c:561,1
    - Dst: OPENSSL_clear_realloc
      Src: /src/openssl/test/mem_alloc_test.c:564,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/mem_alloc_test.c:566,1
    - Dst: CRYPTO_clear_realloc_array
      Src: /src/openssl/test/mem_alloc_test.c:571,1
    - Dst: CRYPTO_realloc_array
      Src: /src/openssl/test/mem_alloc_test.c:575,1
    - Dst: CRYPTO_clear_realloc
      Src: /src/openssl/test/mem_alloc_test.c:579,1
    - Dst: CRYPTO_realloc
      Src: /src/openssl/test/mem_alloc_test.c:582,1
    - Dst: check_exp
      Src: /src/openssl/test/mem_alloc_test.c:593,1
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:596,1
    - Dst: MIN
      Src: /src/openssl/test/mem_alloc_test.c:602,1
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:613,1
    - Dst: TEST_error
      Src: /src/openssl/test/mem_alloc_test.c:623,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:632,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:637,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 4
    argNames:
    - clear
    - array
    - macro
    - td
    argTypes:
    - bool
    - bool
    - bool
    - struct array_realloc_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 640
    functionName: test_xrealloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_realloc_array
    - check_exp
    - CRYPTO_clear_realloc
    - CRYPTO_realloc
    - MIN
    - OPENSSL_realloc_array
    - CRYPTO_clear_realloc_array
    - OPENSSL_free
    - OPENSSL_clear_realloc
    - check_exp_prep
    - OPENSSL_realloc
    - OPENSSL_clear_realloc_array
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int test_xrealloc(const bool clear, const bool array, const bool macro,\n
      \                        const struct array_realloc_vector *td)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: check_exp_prep
      Src: /src/openssl/test/mem_alloc_test.c:653,1
    - Dst: OPENSSL_aligned_alloc_array
      Src: /src/openssl/test/mem_alloc_test.c:657,1
    - Dst: OPENSSL_aligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:659,1
    - Dst: CRYPTO_aligned_alloc_array
      Src: /src/openssl/test/mem_alloc_test.c:663,1
    - Dst: CRYPTO_aligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:666,1
    - Dst: IS_FAIL
      Src: /src/openssl/test/mem_alloc_test.c:688,1
    - Dst: check_exp
      Src: /src/openssl/test/mem_alloc_test.c:689,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/mem_alloc_test.c:694,1
    - Dst: IS_FAIL
      Src: /src/openssl/test/mem_alloc_test.c:699,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:699,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/mem_alloc_test.c:701,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:704,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/mem_alloc_test.c:704,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:708,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - array
    - macro
    - td
    argTypes:
    - bool
    - bool
    - struct array_aligned_alloc_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 711
    functionName: test_xaligned_alloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - IS_FAIL
    - CRYPTO_aligned_alloc_array
    - OPENSSL_aligned_alloc
    - check_exp
    - TEST_ptr_null
    - OPENSSL_aligned_alloc_array
    - OPENSSL_free
    - TEST_ptr
    - CRYPTO_aligned_alloc
    - TEST_uint64_t_eq
    - check_exp_prep
    linkageType: ''
    returnType: int
    signature: "int test_xaligned_alloc(const bool array, const bool macro,\n                               const
      struct array_aligned_alloc_vector *td)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:715,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 4
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: test_malloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xalloc
    linkageType: ''
    returnType: int
    signature: int test_malloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:721,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 719
    functionDepth: 4
    functionLinenumber: 719
    functionLinenumberEnd: 723
    functionName: test_zalloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xalloc
    linkageType: ''
    returnType: int
    signature: int test_zalloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:727,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 4
    functionLinenumber: 725
    functionLinenumberEnd: 729
    functionName: test_malloc_array
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xalloc
    linkageType: ''
    returnType: int
    signature: int test_malloc_array(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:733,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: test_calloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xalloc
    linkageType: ''
    returnType: int
    signature: int test_calloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:739,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 4
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: test_secure_malloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xalloc
    linkageType: ''
    returnType: int
    signature: int test_secure_malloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:745,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 4
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: test_secure_zalloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xalloc
    linkageType: ''
    returnType: int
    signature: int test_secure_zalloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:751,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: test_secure_malloc_array
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xalloc
    linkageType: ''
    returnType: int
    signature: int test_secure_malloc_array(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:757,1
    - Dst: test_xalloc
      Src: /src/openssl/test/mem_alloc_test.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 755
    functionDepth: 4
    functionLinenumber: 755
    functionLinenumberEnd: 759
    functionName: test_secure_calloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xalloc
    linkageType: ''
    returnType: int
    signature: int test_secure_calloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:763,1
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 4
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: test_realloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xrealloc
    linkageType: ''
    returnType: int
    signature: int test_realloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:769,1
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: test_clear_realloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xrealloc
    linkageType: ''
    returnType: int
    signature: int test_clear_realloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:775,1
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 4
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: test_realloc_array
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xrealloc
    linkageType: ''
    returnType: int
    signature: int test_realloc_array(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:781,1
    - Dst: test_xrealloc
      Src: /src/openssl/test/mem_alloc_test.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 783
    functionName: test_clear_realloc_array
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xrealloc
    linkageType: ''
    returnType: int
    signature: int test_clear_realloc_array(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xaligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:787,1
    - Dst: test_xaligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: test_aligned_alloc
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xaligned_alloc
    linkageType: ''
    returnType: int
    signature: int test_aligned_alloc(const int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_xaligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:793,1
    - Dst: test_xaligned_alloc
      Src: /src/openssl/test/mem_alloc_test.c:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 795
    functionName: test_aligned_alloc_array
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - test_xaligned_alloc
    linkageType: ''
    returnType: int
    signature: int test_aligned_alloc_array(const int i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:802,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:803,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:804,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:804,1
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:807,1
    - Dst: CRYPTO_free
      Src: /src/openssl/test/mem_alloc_test.c:808,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:809,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:809,1
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:812,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/mem_alloc_test.c:813,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/mem_alloc_test.c:814,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:815,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:815,1
    - Dst: save_counts
      Src: /src/openssl/test/mem_alloc_test.c:818,1
    - Dst: CRYPTO_calloc
      Src: /src/openssl/test/mem_alloc_test.c:819,1
    - Dst: CRYPTO_free
      Src: /src/openssl/test/mem_alloc_test.c:820,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/mem_alloc_test.c:821,1
    - Dst: check_counts
      Src: /src/openssl/test/mem_alloc_test.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 825
    functionName: test_free
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 6
    functionsReached:
    - check_counts
    - CRYPTO_calloc
    - save_counts
    - TEST_int_eq
    - OPENSSL_free
    - CRYPTO_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int test_free(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/test/mem_alloc_test.c:829,1
    - Dst: TEST_info
      Src: /src/openssl/test/mem_alloc_test.c:830,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:832,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:832,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:833,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:833,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:834,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:834,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:835,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:835,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:837,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:837,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:838,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:838,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:839,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:839,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:840,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:840,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:842,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:842,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:843,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:843,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:844,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:844,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:845,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:845,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:847,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:847,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/mem_alloc_test.c:848,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/mem_alloc_test.c:849,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/mem_alloc_test.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 854
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_secure_malloc_init
    - ADD_TEST
    - TEST_info
    - OSSL_NELEM
    - ADD_ALL_TESTS
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_mem_functions
      Src: /src/openssl/test/mem_alloc_test.c:859,1
    - Dst: fprintf
      Src: /src/openssl/test/mem_alloc_test.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 866
    functionName: global_init
    functionSourceFile: /src/openssl/test/mem_alloc_test.c
    functionUses: 1
    functionsReached:
    - CRYPTO_set_mem_functions
    - fprintf
    linkageType: ''
    returnType: int
    signature: int global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/sslcorrupttest.c:19,1
    - Dst: BIO_test_flags
      Src: /src/openssl/test/sslcorrupttest.c:21,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/test/sslcorrupttest.c:22,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/sslcorrupttest.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: copy_flags
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - BIO_set_flags
    - BIO_clear_flags
    - BIO_next
    - BIO_test_flags
    linkageType: ''
    returnType: void
    signature: void copy_flags(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/sslcorrupttest.c:29,1
    - Dst: BIO_read
      Src: /src/openssl/test/sslcorrupttest.c:31,1
    - Dst: copy_flags
      Src: /src/openssl/test/sslcorrupttest.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: tls_corrupt_read
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - copy_flags
    - BIO_read
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int tls_corrupt_read(BIO *bio, char *out, int outl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/sslcorrupttest.c:40,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:44,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/sslcorrupttest.c:44,1
    - Dst: BIO_write
      Src: /src/openssl/test/sslcorrupttest.c:48,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslcorrupttest.c:49,1
    - Dst: BIO_write
      Src: /src/openssl/test/sslcorrupttest.c:51,1
    - Dst: copy_flags
      Src: /src/openssl/test/sslcorrupttest.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: tls_corrupt_write
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - OPENSSL_memdup
    - OPENSSL_free
    - BIO_next
    - TEST_ptr
    - copy_flags
    linkageType: ''
    returnType: int
    signature: int tls_corrupt_write(BIO *bio, const char *in, int inl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/sslcorrupttest.c:61,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/sslcorrupttest.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: tls_corrupt_ctrl
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long tls_corrupt_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tls_corrupt_gets
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_corrupt_gets(BIO *bio, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: tls_corrupt_puts
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_corrupt_puts(BIO *bio, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/sslcorrupttest.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: tls_corrupt_new
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int tls_corrupt_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/sslcorrupttest.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: tls_corrupt_free
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int tls_corrupt_free(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/sslcorrupttest.c:111,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/sslcorrupttest.c:114,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/sslcorrupttest.c:115,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/sslcorrupttest.c:116,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/sslcorrupttest.c:117,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/sslcorrupttest.c:118,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/sslcorrupttest.c:119,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/sslcorrupttest.c:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: bio_f_tls_corrupt_filter
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_write
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_f_tls_corrupt_filter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/sslcorrupttest.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: bio_f_tls_corrupt_filter_free
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void bio_f_tls_corrupt_filter_free(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslcorrupttest.c:144,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:147,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/sslcorrupttest.c:147,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslcorrupttest.c:147,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:148,1
    - Dst: SSL_new
      Src: /src/openssl/test/sslcorrupttest.c:148,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:149,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/openssl/test/sslcorrupttest.c:149,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/sslcorrupttest.c:157,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/sslcorrupttest.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:159,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/sslcorrupttest.c:162,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/sslcorrupttest.c:163,1
    - Dst: SSL_CIPHER_get_auth_nid
      Src: /src/openssl/test/sslcorrupttest.c:165,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/sslcorrupttest.c:166,1
    - Dst: TEST_int_ne
      Src: /src/openssl/test/sslcorrupttest.c:168,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/test/sslcorrupttest.c:172,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslcorrupttest.c:173,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslcorrupttest.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: setup_cipher_list
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - TEST_int_ne
    - SSL_free
    - OPENSSL_malloc_array
    - sk_SSL_CIPHER_value
    - SSL_CIPHER_get_auth_nid
    - STACK_OF
    - SSL_CTX_new
    - SSL_new
    - SSL_get1_supported_ciphers
    - TLS_server_method
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_free
    - TEST_ptr
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: int
    signature: int setup_cipher_list(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/sslcorrupttest.c:189,1
    - Dst: TEST_info
      Src: /src/openssl/test/sslcorrupttest.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslcorrupttest.c:197,1
    - Dst: create_ssl_ctx_pair
      Src: /src/openssl/test/sslcorrupttest.c:197,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/sslcorrupttest.c:197,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/sslcorrupttest.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslcorrupttest.c:203,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/test/sslcorrupttest.c:203,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslcorrupttest.c:204,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/test/sslcorrupttest.c:204,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslcorrupttest.c:205,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/sslcorrupttest.c:205,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:206,1
    - Dst: SSL_CTX_get_ciphers
      Src: /src/openssl/test/sslcorrupttest.c:206,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/sslcorrupttest.c:207,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/test/sslcorrupttest.c:207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:208,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/test/sslcorrupttest.c:208,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslcorrupttest.c:215,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/sslcorrupttest.c:215,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:218,1
    - Dst: BIO_new
      Src: /src/openssl/test/sslcorrupttest.c:218,1
    - Dst: bio_f_tls_corrupt_filter
      Src: /src/openssl/test/sslcorrupttest.c:218,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslcorrupttest.c:222,1
    - Dst: create_ssl_objects
      Src: /src/openssl/test/sslcorrupttest.c:222,1
    - Dst: TEST_true
      Src: /src/openssl/test/sslcorrupttest.c:226,1
    - Dst: create_ssl_connection
      Src: /src/openssl/test/sslcorrupttest.c:226,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/sslcorrupttest.c:231,1
    - Dst: SSL_write
      Src: /src/openssl/test/sslcorrupttest.c:231,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/sslcorrupttest.c:234,1
    - Dst: SSL_read
      Src: /src/openssl/test/sslcorrupttest.c:234,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/sslcorrupttest.c:238,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslcorrupttest.c:241,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/sslcorrupttest.c:244,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslcorrupttest.c:248,1
    - Dst: SSL_free
      Src: /src/openssl/test/sslcorrupttest.c:249,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslcorrupttest.c:250,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/sslcorrupttest.c:251,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 1
    argNames:
    - testidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 253
    functionName: test_ssl_corrupt
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - create_ssl_connection
    - SSL_CTX_get_ciphers
    - TLS_server_method
    - TEST_ptr
    - create_ssl_ctx_pair
    - BIO_new
    - SSL_CTX_free
    - SSL_read
    - TEST_info
    - SSL_CTX_set_dh_auto
    - create_ssl_objects
    - TEST_true
    - SSL_CTX_set_max_proto_version
    - TEST_error
    - ERR_get_error
    - SSL_free
    - SSL_CTX_set_cipher_list
    - sk_SSL_CIPHER_value
    - bio_f_tls_corrupt_filter
    - STACK_OF
    - sk_SSL_CIPHER_num
    - TLS_client_method
    - TEST_int_ge
    - TEST_int_eq
    - ERR_GET_REASON
    - SSL_write
    - TEST_int_lt
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int test_ssl_corrupt(int testidx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/sslcorrupttest.c:261,1
    - Dst: TEST_error
      Src: /src/openssl/test/sslcorrupttest.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:266,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslcorrupttest.c:266,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/sslcorrupttest.c:267,1
    - Dst: test_get_argument
      Src: /src/openssl/test/sslcorrupttest.c:267,1
    - Dst: setup_cipher_list
      Src: /src/openssl/test/sslcorrupttest.c:270,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/sslcorrupttest.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 0
    functionsReached:
    - setup_cipher_list
    - test_skip_common_options
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_f_tls_corrupt_filter_free
      Src: /src/openssl/test/sslcorrupttest.c:278,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/sslcorrupttest.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/sslcorrupttest.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    - bio_f_tls_corrupt_filter_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:39,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:40,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:41,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:42,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:43,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - conf1
    - conf2
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - SSL_TEST_CLIENT_CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: clientconf_eq
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: "int clientconf_eq(SSL_TEST_CLIENT_CONF *conf1,\n                         SSL_TEST_CLIENT_CONF
      *conf2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:53,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:54,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:55,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:56,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:58,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - serv
    - serv2
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - SSL_TEST_SERVER_CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: serverconf_eq
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: "int serverconf_eq(SSL_TEST_SERVER_CONF *serv,\n                         SSL_TEST_SERVER_CONF
      *serv2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test_ctx_test.c:68,1
    - Dst: clientconf_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:68,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test_ctx_test.c:69,1
    - Dst: serverconf_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:69,1
    - Dst: TEST_true
      Src: /src/openssl/test/ssl_test_ctx_test.c:70,1
    - Dst: serverconf_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - extra
    - extra2
    argTypes:
    - SSL_TEST_EXTRA_CONF*
    - SSL_TEST_EXTRA_CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: extraconf_eq
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - serverconf_eq
    - clientconf_eq
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int extraconf_eq(SSL_TEST_EXTRA_CONF *extra,\n                        SSL_TEST_EXTRA_CONF
      *extra2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:77,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:78,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:79,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:80,1
    - Dst: extraconf_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:81,1
    - Dst: extraconf_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:82,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:83,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:84,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:86,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:88,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:89,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:90,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:92,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:94,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:96,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:98,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:100,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:102,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:104,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - ctx2
    argTypes:
    - SSL_TEST_CTX*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: testctx_eq
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_str_eq
    - extraconf_eq
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int testctx_eq(SSL_TEST_CTX *ctx, SSL_TEST_CTX *ctx2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:114,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/ssl_test_ctx_test.c:114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:117,1
    - Dst: SSL_TEST_CTX_new
      Src: /src/openssl/test/ssl_test_ctx_test.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: set_up
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    - OPENSSL_free
    - SSL_TEST_CTX_new
    linkageType: ''
    returnType: SSL_TEST_CTX_TEST_FIXTURE
    signature: SSL_TEST_CTX_TEST_FIXTURE *set_up(const char *const test_case_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:129,1
    - Dst: SSL_TEST_CTX_create
      Src: /src/openssl/test/ssl_test_ctx_test.c:129,1
    - Dst: testctx_eq
      Src: /src/openssl/test/ssl_test_ctx_test.c:131,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - SSL_TEST_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: execute_test
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - SSL_TEST_CTX_create
    - testctx_eq
    - SSL_TEST_CTX_free
    linkageType: ''
    returnType: int
    signature: int execute_test(SSL_TEST_CTX_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:142,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fixture
    argTypes:
    - SSL_TEST_CTX_TEST_FIXTURE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: tear_down
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 65
    functionsReached:
    - OPENSSL_free
    - SSL_TEST_CTX_free
    linkageType: ''
    returnType: void
    signature: void tear_down(SSL_TEST_CTX_TEST_FIXTURE *fixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: SETUP_SSL_TEST_CTX_TEST_FIXTURE
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_SSL_TEST_CTX_TEST_FIXTURE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: EXECUTE_SSL_TEST_CTX_TEST
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXECUTE_SSL_TEST_CTX_TEST()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SSL_TEST_CTX_TEST_FIXTURE
      Src: /src/openssl/test/ssl_test_ctx_test.c:153,1
    - Dst: EXECUTE_SSL_TEST_CTX_TEST
      Src: /src/openssl/test/ssl_test_ctx_test.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: test_empty_configuration
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - SETUP_SSL_TEST_CTX_TEST_FIXTURE
    - EXECUTE_SSL_TEST_CTX_TEST
    linkageType: ''
    returnType: int
    signature: int test_empty_configuration(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SSL_TEST_CTX_TEST_FIXTURE
      Src: /src/openssl/test/ssl_test_ctx_test.c:162,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/ssl_test_ctx_test.c:183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:184,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/ssl_test_ctx_test.c:193,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:194,1
    - Dst: EXECUTE_SSL_TEST_CTX_TEST
      Src: /src/openssl/test/ssl_test_ctx_test.c:200,1
    - Dst: tear_down
      Src: /src/openssl/test/ssl_test_ctx_test.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 206
    functionName: test_good_configuration
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - tear_down
    - OPENSSL_strdup
    - EXECUTE_SSL_TEST_CTX_TEST
    - TEST_ptr
    - SETUP_SSL_TEST_CTX_TEST_FIXTURE
    linkageType: ''
    returnType: int
    signature: int test_good_configuration(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/ssl_test_ctx_test.c:231,1
    - Dst: SSL_TEST_CTX_create
      Src: /src/openssl/test/ssl_test_ctx_test.c:231,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: test_bad_configuration
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - SSL_TEST_CTX_create
    - SSL_TEST_CTX_free
    - TEST_ptr_null
    linkageType: ''
    returnType: int
    signature: int test_bad_configuration(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/ssl_test_ctx_test.c:244,1
    - Dst: TEST_error
      Src: /src/openssl/test/ssl_test_ctx_test.c:245,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/ssl_test_ctx_test.c:249,1
    - Dst: NCONF_new
      Src: /src/openssl/test/ssl_test_ctx_test.c:249,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/ssl_test_ctx_test.c:252,1
    - Dst: NCONF_load
      Src: /src/openssl/test/ssl_test_ctx_test.c:252,1
    - Dst: test_get_argument
      Src: /src/openssl/test/ssl_test_ctx_test.c:252,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ssl_test_ctx_test.c:255,1
    - Dst: ADD_TEST
      Src: /src/openssl/test/ssl_test_ctx_test.c:256,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/ssl_test_ctx_test.c:257,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/ssl_test_ctx_test.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 259
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 0
    functionsReached:
    - NCONF_load
    - ADD_TEST
    - OSSL_NELEM
    - NCONF_new
    - test_skip_common_options
    - TEST_error
    - test_get_argument
    - TEST_ptr
    - ADD_ALL_TESTS
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_free
      Src: /src/openssl/test/ssl_test_ctx_test.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/ssl_test_ctx_test.c
    functionUses: 7
    functionsReached:
    - NCONF_free
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/testutil/provider.c:23,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/test/testutil/provider.c:24,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/testutil/provider.c:30,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/test/testutil/provider.c:31,1
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/test/testutil/provider.c:36,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/test/testutil/provider.c:37,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/testutil/provider.c:42,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/test/testutil/provider.c:43,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/testutil/provider.c:49,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - libctx
    - default_null_prov
    - config_file
    - provider
    - module_name
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER**
    - char*
    - OSSL_PROVIDER**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 16
    functionDepth: 7
    functionLinenumber: 16
    functionLinenumberEnd: 51
    functionName: test_get_libctx
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 18
    functionsReached:
    - opt_printf_stderr
    - OSSL_LIB_CTX_load_config
    - OSSL_LIB_CTX_new
    - OSSL_PROVIDER_load
    - ERR_print_errors_fp
    linkageType: ''
    returnType: int
    signature: "int test_get_libctx(OSSL_LIB_CTX **libctx, OSSL_PROVIDER **default_null_prov,\n
      \                   const char *config_file,\n                    OSSL_PROVIDER
      **provider, const char *module_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/provider.c:58,1
    - Dst: test_get_argument
      Src: /src/openssl/test/testutil/provider.c:58,1
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/provider.c:59,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/provider.c:62,1
    - Dst: test_get_libctx
      Src: /src/openssl/test/testutil/provider.c:64,1
    - Dst: test_get_argument
      Src: /src/openssl/test/testutil/provider.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - libctx
    - default_null_prov
    - provider
    - argn
    - usage
    argTypes:
    - OSSL_LIB_CTX**
    - OSSL_PROVIDER**
    - OSSL_PROVIDER**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 8
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: test_arg_libctx
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 6
    functionsReached:
    - test_get_libctx
    - test_get_argument
    - strcmp
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int test_arg_libctx(OSSL_LIB_CTX **libctx, OSSL_PROVIDER **default_null_prov,\n
      \                   OSSL_PROVIDER **provider, int argn, const char *usage)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/test/testutil/provider.c:83,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/test/testutil/provider.c:85,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/test/testutil/provider.c:86,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/test/testutil/provider.c:88,1
    - Dst: sscanf
      Src: /src/openssl/test/testutil/provider.c:89,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/testutil/provider.c:91,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/testutil/provider.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - libctx
    - vers
    argTypes:
    - OSSL_LIB_CTX*
    - FIPS_VERSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 10
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: fips_provider_version
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_params
    - OSSL_PROVIDER_available
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - sscanf
    - OSSL_PARAM_construct_utf8_ptr
    linkageType: ''
    returnType: int
    signature: int fips_provider_version(OSSL_LIB_CTX *libctx, FIPS_VERSION *vers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version
      Src: /src/openssl/test/testutil/provider.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 11
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: fips_provider_version_eq
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 2
    functionsReached:
    - fips_provider_version
    linkageType: ''
    returnType: int
    signature: int fips_provider_version_eq(OSSL_LIB_CTX *libctx, int major, int minor,
      int patch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version
      Src: /src/openssl/test/testutil/provider.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 11
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: fips_provider_version_ne
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 0
    functionsReached:
    - fips_provider_version
    linkageType: ''
    returnType: int
    signature: int fips_provider_version_ne(OSSL_LIB_CTX *libctx, int major, int minor,
      int patch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version
      Src: /src/openssl/test/testutil/provider.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 11
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: fips_provider_version_le
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 0
    functionsReached:
    - fips_provider_version
    linkageType: ''
    returnType: int
    signature: int fips_provider_version_le(OSSL_LIB_CTX *libctx, int major, int minor,
      int patch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version
      Src: /src/openssl/test/testutil/provider.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 11
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: fips_provider_version_lt
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 6
    functionsReached:
    - fips_provider_version
    linkageType: ''
    returnType: int
    signature: int fips_provider_version_lt(OSSL_LIB_CTX *libctx, int major, int minor,
      int patch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version
      Src: /src/openssl/test/testutil/provider.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 11
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: fips_provider_version_gt
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 2
    functionsReached:
    - fips_provider_version
    linkageType: ''
    returnType: int
    signature: int fips_provider_version_gt(OSSL_LIB_CTX *libctx, int major, int minor,
      int patch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fips_provider_version
      Src: /src/openssl/test/testutil/provider.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - libctx
    - major
    - minor
    - patch
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 11
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: fips_provider_version_ge
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 8
    functionsReached:
    - fips_provider_version
    linkageType: ''
    returnType: int
    signature: int fips_provider_version_ge(OSSL_LIB_CTX *libctx, int major, int minor,
      int patch)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/test/testutil/provider.c:180,1
    - Dst: isspace
      Src: /src/openssl/test/testutil/provider.c:184,1
    - Dst: isdigit
      Src: /src/openssl/test/testutil/provider.c:204,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/provider.c:207,1
    - Dst: sscanf
      Src: /src/openssl/test/testutil/provider.c:210,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/provider.c:211,1
    - Dst: fips_provider_version_eq
      Src: /src/openssl/test/testutil/provider.c:216,1
    - Dst: fips_provider_version_ne
      Src: /src/openssl/test/testutil/provider.c:219,1
    - Dst: fips_provider_version_le
      Src: /src/openssl/test/testutil/provider.c:222,1
    - Dst: fips_provider_version_lt
      Src: /src/openssl/test/testutil/provider.c:225,1
    - Dst: fips_provider_version_gt
      Src: /src/openssl/test/testutil/provider.c:228,1
    - Dst: fips_provider_version_ge
      Src: /src/openssl/test/testutil/provider.c:231,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/provider.c:235,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 2
    argNames:
    - libctx
    - versions
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 171
    functionDepth: 12
    functionLinenumber: 171
    functionLinenumberEnd: 242
    functionName: fips_provider_version_match
    functionSourceFile: /src/openssl/test/testutil/provider.c
    functionUses: 5
    functionsReached:
    - fips_provider_version_eq
    - fips_provider_version_le
    - isspace
    - fips_provider_version_ge
    - TEST_info
    - fips_provider_version_gt
    - isdigit
    - fips_provider_version_ne
    - fips_provider_version_lt
    - sscanf
    linkageType: ''
    returnType: int
    signature: int fips_provider_version_match(OSSL_LIB_CTX *libctx, const char *versions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/testutil/fake_random.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: fake_rand_newctx
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: "void *fake_rand_newctx(void *provctx, void *parent,\n                              const
      OSSL_DISPATCH *parent_dispatch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/fake_random.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: fake_rand_freectx
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void fake_rand_freectx(void *vrng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vrng
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - void*
    - ossl_unused unsigned
    - ossl_unused
    - ossl_unused*
    - size_t
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: fake_rand_instantiate
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fake_rand_instantiate(void *vrng, ossl_unused unsigned int strength,\n
      \                                ossl_unused  int prediction_resistance,\n                                 ossl_unused
      const unsigned char *pstr,\n                                 size_t pstr_len,\n
      \                                ossl_unused const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: fake_rand_uninstantiate
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fake_rand_uninstantiate(void *vrng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_random
      Src: /src/openssl/test/testutil/fake_random.c:81,1
    - Dst: memcpy
      Src: /src/openssl/test/testutil/fake_random.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - vrng
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adinlen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: fake_rand_generate
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached:
    - memcpy
    - test_random
    linkageType: ''
    returnType: int
    signature: "int fake_rand_generate(void *vrng, unsigned char *out, size_t outlen,\n
      \                             unsigned int strength, int prediction_resistance,\n
      \                             const unsigned char *adin, size_t adinlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: fake_rand_enable_locking
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fake_rand_enable_locking(void *vrng)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/testutil/fake_random.c:101,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/testutil/fake_random.c:102,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/testutil/fake_random.c:105,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/test/testutil/fake_random.c:106,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/test/testutil/fake_random.c:109,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/test/testutil/fake_random.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - vrng
    - params
    argTypes:
    - ossl_unused*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: fake_rand_get_ctx_params
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int fake_rand_get_ctx_params(ossl_unused void *vrng, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/test/testutil/fake_random.c:119,1
    - Dst: OSSL_PARAM_uint
      Src: /src/openssl/test/testutil/fake_random.c:120,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/test/testutil/fake_random.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vrng
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: fake_rand_gettable_ctx_params
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_size_t
    - OSSL_PARAM_uint
    - OSSL_PARAM_int
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *fake_rand_gettable_ctx_params(ossl_unused void *vrng,\n
      \                                                      ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: fake_rand_query
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *fake_rand_query(void *provctx,\n                                             int
      operation_id,\n                                             int *no_cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/fake_random.c:168,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/test/testutil/fake_random.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: fake_rand_provider_init
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: "int fake_rand_provider_init(const OSSL_CORE_HANDLE *handle,\n                                   const
      OSSL_DISPATCH *in,\n                                   const OSSL_DISPATCH **out,
      void **provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/fake_random.c:178,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/fake_random.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - rng
    - name
    argTypes:
    - EVP_RAND_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: check_rng
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int check_rng(EVP_RAND_CTX *rng, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/testutil/fake_random.c:192,1
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/test/testutil/fake_random.c:192,1
    - Dst: TEST_true
      Src: /src/openssl/test/testutil/fake_random.c:194,1
    - Dst: RAND_set_DRBG_type
      Src: /src/openssl/test/testutil/fake_random.c:194,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/fake_random.c:195,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/openssl/test/testutil/fake_random.c:195,1
    - Dst: TEST_true
      Src: /src/openssl/test/testutil/fake_random.c:199,1
    - Dst: check_rng
      Src: /src/openssl/test/testutil/fake_random.c:199,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/test/testutil/fake_random.c:199,1
    - Dst: TEST_true
      Src: /src/openssl/test/testutil/fake_random.c:200,1
    - Dst: check_rng
      Src: /src/openssl/test/testutil/fake_random.c:200,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/testutil/fake_random.c:200,1
    - Dst: TEST_true
      Src: /src/openssl/test/testutil/fake_random.c:201,1
    - Dst: check_rng
      Src: /src/openssl/test/testutil/fake_random.c:201,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/testutil/fake_random.c:201,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/testutil/fake_random.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 188
    functionDepth: 14
    functionLinenumber: 188
    functionLinenumberEnd: 207
    functionName: fake_rand_start
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 3
    functionsReached:
    - check_rng
    - OSSL_PROVIDER_try_load
    - RAND_get0_private
    - OSSL_PROVIDER_unload
    - RAND_get0_primary
    - RAND_set_DRBG_type
    - TEST_true
    - TEST_ptr
    - RAND_get0_public
    - OSSL_PROVIDER_add_builtin
    linkageType: ''
    returnType: OSSL_PROVIDER
    signature: OSSL_PROVIDER *fake_rand_start(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/test/testutil/fake_random.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: fake_rand_finish
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 4
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void fake_rand_finish(OSSL_PROVIDER *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rng
    argTypes:
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: fake_rand_set_callback
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void fake_rand_set_callback(EVP_RAND_CTX *rng,\n                            int
      (*cb)(unsigned char *out, size_t outlen,\n                                      const
      char *name, EVP_RAND_CTX *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fake_rand_set_callback
      Src: /src/openssl/test/testutil/fake_random.c:228,1
    - Dst: RAND_get0_private
      Src: /src/openssl/test/testutil/fake_random.c:228,1
    - Dst: fake_rand_set_callback
      Src: /src/openssl/test/testutil/fake_random.c:229,1
    - Dst: RAND_get0_public
      Src: /src/openssl/test/testutil/fake_random.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 14
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: fake_rand_set_public_private_callbacks
    functionSourceFile: /src/openssl/test/testutil/fake_random.c
    functionUses: 3
    functionsReached:
    - RAND_get0_public
    - fake_rand_set_callback
    - RAND_get0_private
    linkageType: ''
    returnType: void
    signature: "void fake_rand_set_public_private_callbacks(OSSL_LIB_CTX *libctx,\n
      \                                           int (*cb)(unsigned char *out,\n
      \                                                     size_t outlen,\n                                                      const
      char *name,\n                                                      EVP_RAND_CTX
      *ctx))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: test_get_options
    functionSourceFile: /src/openssl/test/testutil/test_options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPTIONS
    signature: OPTIONS *test_get_options(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:30,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:32,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:35,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:37,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:40,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 7
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: test_fail_message_prefix
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: "void test_fail_message_prefix(const char *prefix, const char *file,\n
      \                             int line, const char *type,\n                              const
      char *left, const char *right,\n                              const char *op)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message_prefix
      Src: /src/openssl/test/testutil/tests.c:79,1
    - Dst: test_vprintf_stderr
      Src: /src/openssl/test/testutil/tests.c:81,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:82,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/tests.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: test_fail_message_va
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_flush_stderr
    - test_vprintf_stderr
    - test_fail_message_prefix
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: "void test_fail_message_va(const char *prefix, const char *file,\n
      \                                int line, const char *type,\n                                 const
      char *left, const char *right,\n                                 const char
      *op, const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:94,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:95,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - fmt
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: test_fail_message
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - va_end
    - test_fail_message_va
    - va_start
    linkageType: ''
    returnType: void
    signature: "void test_fail_message(const char *prefix, const char *file,\n                              int
      line, const char *type,\n                              const char *left, const
      char *right,\n                              const char *op, const char *fmt,
      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:103,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:104,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: test_info_c90
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - va_end
    - test_fail_message_va
    - va_start
    linkageType: ''
    returnType: void
    signature: void test_info_c90(const char *desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:112,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:113,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - file
    - line
    - desc
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: test_info
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - va_end
    - test_fail_message_va
    - va_start
    linkageType: ''
    returnType: void
    signature: void test_info(const char *file, int line, const char *desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:121,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:122,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:123,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: test_error_c90
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - va_end
    - test_fail_message_va
    - test_printf_stderr
    - va_start
    linkageType: ''
    returnType: void
    signature: void test_error_c90(const char *desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:131,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:132,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:133,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - file
    - line
    - desc
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: test_error
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 1
    functionsReached:
    - va_end
    - test_fail_message_va
    - test_printf_stderr
    - va_start
    linkageType: ''
    returnType: void
    signature: void test_error(const char *file, int line, const char *desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/tests.c:143,1
    - Dst: strerror
      Src: /src/openssl/test/testutil/tests.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: test_perror
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - strerror
    - TEST_error
    linkageType: ''
    returnType: void
    signature: void test_perror(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_flush_stdout
      Src: /src/openssl/test/testutil/tests.c:148,1
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:152,1
    - Dst: test_vprintf_stderr
      Src: /src/openssl/test/testutil/tests.c:153,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:154,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:155,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/tests.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: test_note
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 1
    functionsReached:
    - va_end
    - test_flush_stderr
    - test_vprintf_stderr
    - test_flush_stdout
    - test_printf_stderr
    - va_start
    linkageType: ''
    returnType: void
    signature: void test_note(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:165,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:166,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - file
    - line
    - desc
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: test_skip
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 1
    functionsReached:
    - va_end
    - test_fail_message_va
    - va_start
    linkageType: ''
    returnType: int
    signature: int test_skip(const char *file, int line, const char *desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/tests.c:175,1
    - Dst: test_fail_message_va
      Src: /src/openssl/test/testutil/tests.c:176,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/tests.c:177,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/tests.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: test_skip_c90
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - va_end
    - test_fail_message_va
    - test_printf_stderr
    - va_start
    linkageType: ''
    returnType: int
    signature: int test_skip_c90(const char *desc, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/test/testutil/tests.c:185,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/tests.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: test_openssl_errors
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 3
    functionsReached:
    - ERR_clear_error
    - ERR_print_errors_cb
    linkageType: ''
    returnType: void
    signature: void test_openssl_errors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - opname
    - ','
    - op
    - ','
    - fmt
    - ','
    - cast
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 223
    functionName: DEFINE_COMPARISON
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_COMPARISON(type, name, opname, op, fmt, cast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - fmt
    - ','
    - cast
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: DEFINE_COMPARISONS
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_COMPARISONS(type, name, fmt, cast)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message
      Src: /src/openssl/test/testutil/tests.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - b
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: test_true
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_message
    linkageType: ''
    returnType: int
    signature: int test_true(const char *file, int line, const char *s, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message
      Src: /src/openssl/test/testutil/tests.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - b
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 4
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: test_false
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_message
    linkageType: ''
    returnType: int
    signature: int test_false(const char *file, int line, const char *s, int b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/testutil/tests.c:283,1
    - Dst: test_fail_string_message
      Src: /src/openssl/test/testutil/tests.c:284,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/tests.c:285,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/tests.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - s2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: test_str_eq
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - test_fail_string_message
    linkageType: ''
    returnType: int
    signature: "int test_str_eq(const char *file, int line, const char *st1, const
      char *st2,\n                const char *s1, const char *s2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/testutil/tests.c:297,1
    - Dst: test_fail_string_message
      Src: /src/openssl/test/testutil/tests.c:298,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/tests.c:299,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/tests.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - s2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: test_str_ne
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - test_fail_string_message
    linkageType: ''
    returnType: int
    signature: "int test_str_ne(const char *file, int line, const char *st1, const
      char *st2,\n                const char *s1, const char *s2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/test/testutil/tests.c:311,1
    - Dst: test_fail_string_message
      Src: /src/openssl/test/testutil/tests.c:312,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/testutil/tests.c:313,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/testutil/tests.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 8
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: test_strn_eq
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_string_message
    - strncmp
    - OPENSSL_strnlen
    linkageType: ''
    returnType: int
    signature: "int test_strn_eq(const char *file, int line, const char *st1, const
      char *st2,\n                 const char *s1, size_t n1, const char *s2, size_t
      n2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/test/testutil/tests.c:325,1
    - Dst: test_fail_string_message
      Src: /src/openssl/test/testutil/tests.c:326,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/testutil/tests.c:327,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/testutil/tests.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 8
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 332
    functionName: test_strn_ne
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_string_message
    - strncmp
    - OPENSSL_strnlen
    linkageType: ''
    returnType: int
    signature: "int test_strn_ne(const char *file, int line, const char *st1, const
      char *st2,\n                 const char *s1, size_t n1, const char *s2, size_t
      n2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/testutil/tests.c:339,1
    - Dst: test_fail_memory_message
      Src: /src/openssl/test/testutil/tests.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 8
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: test_mem_eq
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_memory_message
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int test_mem_eq(const char *file, int line, const char *st1, const
      char *st2,\n                const void *s1, size_t n1, const void *s2, size_t
      n2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/test/testutil/tests.c:354,1
    - Dst: test_fail_memory_message
      Src: /src/openssl/test/testutil/tests.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 8
    argNames:
    - file
    - line
    - st1
    - st2
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - char*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: test_mem_ne
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_memory_message
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int test_mem_ne(const char *file, int line, const char *st1, const
      char *st2,\n                const void *s1, size_t n1, const void *s2, size_t
      n2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - opname
    - ','
    - op
    - ','
    - zero_cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 382
    functionName: DEFINE_BN_COMPARISONS
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_BN_COMPARISONS(opname, op, zero_cond)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_one
      Src: /src/openssl/test/testutil/tests.c:392,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/openssl/test/testutil/tests.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: test_BN_eq_one
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - BN_is_one
    - test_fail_bignum_mono_message
    linkageType: ''
    returnType: int
    signature: int test_BN_eq_one(const char *file, int line, const char *s, const
      BIGNUM *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/openssl/test/testutil/tests.c:400,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/openssl/test/testutil/tests.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: test_BN_odd
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_bignum_mono_message
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: int test_BN_odd(const char *file, int line, const char *s, const BIGNUM
      *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_odd
      Src: /src/openssl/test/testutil/tests.c:408,1
    - Dst: test_fail_bignum_mono_message
      Src: /src/openssl/test/testutil/tests.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - s
    - a
    argTypes:
    - char*
    - int
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: test_BN_even
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_bignum_mono_message
    - BN_is_odd
    linkageType: ''
    returnType: int
    signature: int test_BN_even(const char *file, int line, const char *s, const BIGNUM
      *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_word
      Src: /src/openssl/test/testutil/tests.c:420,1
    - Dst: BN_new
      Src: /src/openssl/test/testutil/tests.c:422,1
    - Dst: BN_set_word
      Src: /src/openssl/test/testutil/tests.c:423,1
    - Dst: test_fail_bignum_message
      Src: /src/openssl/test/testutil/tests.c:424,1
    - Dst: BN_free
      Src: /src/openssl/test/testutil/tests.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - file
    - line
    - bns
    - ws
    - a
    - w
    argTypes:
    - char*
    - int
    - char*
    - char*
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 427
    functionName: test_BN_eq_word
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_bignum_message
    - BN_set_word
    - BN_is_word
    - BN_new
    - BN_free
    linkageType: ''
    returnType: int
    signature: "int test_BN_eq_word(const char *file, int line, const char *bns, const
      char *ws,\n                    const BIGNUM *a, BN_ULONG w)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_abs_is_word
      Src: /src/openssl/test/testutil/tests.c:434,1
    - Dst: BN_dup
      Src: /src/openssl/test/testutil/tests.c:436,1
    - Dst: BN_set_negative
      Src: /src/openssl/test/testutil/tests.c:437,1
    - Dst: BN_new
      Src: /src/openssl/test/testutil/tests.c:438,1
    - Dst: BN_set_word
      Src: /src/openssl/test/testutil/tests.c:439,1
    - Dst: test_fail_bignum_message
      Src: /src/openssl/test/testutil/tests.c:440,1
    - Dst: BN_free
      Src: /src/openssl/test/testutil/tests.c:442,1
    - Dst: BN_free
      Src: /src/openssl/test/testutil/tests.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - file
    - line
    - bns
    - ws
    - a
    - w
    argTypes:
    - char*
    - int
    - char*
    - char*
    - BIGNUM*
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 445
    functionName: test_BN_abs_eq_word
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - test_fail_bignum_message
    - BN_abs_is_word
    - BN_set_negative
    - BN_set_word
    - BN_new
    - BN_dup
    - BN_free
    linkageType: ''
    returnType: int
    signature: "int test_BN_abs_eq_word(const char *file, int line, const char *bns,\n
      \                       const char *ws, const BIGNUM *a, BN_ULONG w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/test/testutil/tests.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - ASN1_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: print_time
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: char
    signature: char *print_time(const ASN1_TIME *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 469
    functionName: DEFINE_TIME_T_COMPARISON
    functionSourceFile: /src/openssl/test/testutil/tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_TIME_T_COMPARISON(opname, op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:23,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:23,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/load.c:23,1
    - Dst: BIO_s_file
      Src: /src/openssl/test/testutil/load.c:23,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/testutil/load.c:25,1
    - Dst: BIO_read_filename
      Src: /src/openssl/test/testutil/load.c:25,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:26,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/testutil/load.c:26,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:27,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/testutil/load.c:27,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/load.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - file
    - libctx
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: load_cert_pem
    functionSourceFile: /src/openssl/test/testutil/load.c
    functionUses: 8
    functionsReached:
    - BIO_new
    - BIO_free
    - BIO_read_filename
    - X509_new_ex
    - BIO_s_file
    - TEST_ptr
    - PEM_read_bio_X509
    - TEST_int_gt
    linkageType: ''
    returnType: X509
    signature: X509 *load_cert_pem(const char *file, OSSL_LIB_CTX *libctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:74,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:74,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/load.c:74,1
    - Dst: BIO_s_file
      Src: /src/openssl/test/testutil/load.c:74,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/testutil/load.c:76,1
    - Dst: BIO_read_filename
      Src: /src/openssl/test/testutil/load.c:76,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/testutil/load.c:77,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:79,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/test/testutil/load.c:79,1
    - Dst: ERR_peek_error
      Src: /src/openssl/test/testutil/load.c:81,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/load.c:82,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/testutil/load.c:83,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/load.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - file
    - libctx
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: load_pkey_pem
    functionSourceFile: /src/openssl/test/testutil/load.c
    functionUses: 9
    functionsReached:
    - BIO_new
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - BIO_read_filename
    - TEST_info
    - EVP_PKEY_free
    - BIO_s_file
    - ERR_peek_error
    - TEST_ptr
    - TEST_int_gt
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_pkey_pem(const char *file, OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:97,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/testutil/load.c:97,1
    - Dst: X509_REQ_new_ex
      Src: /src/openssl/test/testutil/load.c:100,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:101,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/load.c:102,1
    - Dst: d2i_X509_REQ_bio
      Src: /src/openssl/test/testutil/load.c:102,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/load.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - file
    - libctx
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: load_csr_der
    functionSourceFile: /src/openssl/test/testutil/load.c
    functionUses: 3
    functionsReached:
    - BIO_new_file
    - BIO_free
    - d2i_X509_REQ_bio
    - TEST_ptr
    - X509_REQ_new_ex
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *load_csr_der(const char *file, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/cb.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - u
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: openssl_error_cb
    functionSourceFile: /src/openssl/test/testutil/cb.c
    functionUses: 0
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: int
    signature: int openssl_error_cb(const char *str, size_t len, void *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: test_random
    functionSourceFile: /src/openssl/test/testutil/random.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t test_random(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_random
      Src: /src/openssl/test/testutil/random.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sd
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: test_random_seed
    functionSourceFile: /src/openssl/test/testutil/random.c
    functionUses: 0
    functionsReached:
    - test_random
    linkageType: ''
    returnType: void
    signature: void test_random_seed(uint32_t sd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/openssl/test/testutil/main.c:21,1
    - Dst: test_open_streams
      Src: /src/openssl/test/testutil/main.c:23,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/main.c:26,1
    - Dst: setup_test_framework
      Src: /src/openssl/test/testutil/main.c:30,1
    - Dst: setup_tests
      Src: /src/openssl/test/testutil/main.c:33,1
    - Dst: run_tests
      Src: /src/openssl/test/testutil/main.c:34,1
    - Dst: cleanup_tests
      Src: /src/openssl/test/testutil/main.c:35,1
    - Dst: opt_check_usage
      Src: /src/openssl/test/testutil/main.c:36,1
    - Dst: opt_help
      Src: /src/openssl/test/testutil/main.c:38,1
    - Dst: test_get_options
      Src: /src/openssl/test/testutil/main.c:38,1
    - Dst: pulldown_test_framework
      Src: /src/openssl/test/testutil/main.c:41,1
    - Dst: test_close_streams
      Src: /src/openssl/test/testutil/main.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/openssl/test/testutil/main.c
    functionUses: 5
    functionsReached:
    - opt_check_usage
    - opt_help
    - cleanup_tests
    - test_get_options
    - pulldown_test_framework
    - global_init
    - setup_test_framework
    - test_printf_stderr
    - test_open_streams
    - run_tests
    - test_close_streams
    - setup_tests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/openssl/test/testutil/helper.c:39,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/test/testutil/helper.c:42,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/testutil/helper.c:44,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/testutil/helper.c:48,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/testutil/helper.c:50,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/openssl/test/testutil/helper.c:53,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/helper.c:54,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/testutil/helper.c:55,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/test/testutil/helper.c:58,1
    - Dst: getenv
      Src: /src/openssl/test/testutil/helper.c:65,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/testutil/helper.c:67,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/helper.c:69,1
    - Dst: setenv
      Src: /src/openssl/test/testutil/helper.c:73,1
    - Dst: mktime
      Src: /src/openssl/test/testutil/helper.c:75,1
    - Dst: setenv
      Src: /src/openssl/test/testutil/helper.c:78,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/helper.c:79,1
    - Dst: unsetenv
      Src: /src/openssl/test/testutil/helper.c:81,1
    - Dst: timegm
      Src: /src/openssl/test/testutil/helper.c:84,1
    - Dst: mktime
      Src: /src/openssl/test/testutil/helper.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/helper.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - asn1_string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 92
    functionName: test_asn1_string_to_time_t
    functionSourceFile: /src/openssl/test/testutil/helper.c
    functionUses: 2
    functionsReached:
    - ASN1_TIME_to_tm
    - ASN1_TIME_free
    - ASN1_TIME_set_string
    - unsetenv
    - setenv
    - OPENSSL_free
    - ASN1_TIME_new
    - OPENSSL_strdup
    - timegm
    - mktime
    - getenv
    - OPENSSL_malloc
    linkageType: ''
    returnType: time_t
    signature: time_t test_asn1_string_to_time_t(const char *asn1_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/output.c:17,1
    - Dst: test_vprintf_stdout
      Src: /src/openssl/test/testutil/output.c:18,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/output.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: test_printf_stdout
    functionSourceFile: /src/openssl/test/testutil/output.c
    functionUses: 1
    functionsReached:
    - va_end
    - test_vprintf_stdout
    - va_start
    linkageType: ''
    returnType: int
    signature: int test_printf_stdout(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/output.c:29,1
    - Dst: test_vprintf_stderr
      Src: /src/openssl/test/testutil/output.c:30,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/output.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: test_printf_stderr
    functionSourceFile: /src/openssl/test/testutil/output.c
    functionUses: 9
    functionsReached:
    - va_end
    - test_vprintf_stderr
    - va_start
    linkageType: ''
    returnType: int
    signature: int test_printf_stderr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/output.c:41,1
    - Dst: test_vprintf_tapout
      Src: /src/openssl/test/testutil/output.c:42,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/output.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: test_printf_tapout
    functionSourceFile: /src/openssl/test/testutil/output.c
    functionUses: 0
    functionsReached:
    - va_end
    - test_vprintf_tapout
    - va_start
    linkageType: ''
    returnType: int
    signature: int test_printf_tapout(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/output.c:53,1
    - Dst: test_vprintf_taperr
      Src: /src/openssl/test/testutil/output.c:54,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/output.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: test_printf_taperr
    functionSourceFile: /src/openssl/test/testutil/output.c
    functionUses: 0
    functionsReached:
    - va_end
    - test_vprintf_taperr
    - va_start
    linkageType: ''
    returnType: int
    signature: int test_printf_taperr(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/apps_shims.c:25,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/testutil/apps_shims.c:25,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/apps_shims.c:26,1
    - Dst: abort
      Src: /src/openssl/test/testutil/apps_shims.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sz
    - what
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: app_malloc
    functionSourceFile: /src/openssl/test/testutil/apps_shims.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - abort
    - TEST_info
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *app_malloc(size_t sz, const char *what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: opt_legacy_okay
    functionSourceFile: /src/openssl/test/testutil/apps_shims.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_legacy_okay(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: opt_provider_option_given
    functionSourceFile: /src/openssl/test/testutil/apps_shims.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_provider_option_given(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: app_get0_propq
    functionSourceFile: /src/openssl/test/testutil/apps_shims.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *app_get0_propq(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: app_get0_libctx
    functionSourceFile: /src/openssl/test/testutil/apps_shims.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *app_get0_libctx(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/basic_output.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: cleanup_test_data
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_test_data(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/test/testutil/basic_output.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: init_local_test_data
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_init_local
    linkageType: ''
    returnType: int
    signature: int init_local_test_data(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/testutil/basic_output.c:57,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/testutil/basic_output.c:61,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/testutil/basic_output.c:64,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/basic_output.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: get_local_test_data
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_THREAD_get_local
    - CRYPTO_THREAD_set_local
    linkageType: ''
    returnType: LOCAL_TEST_DATA
    signature: LOCAL_TEST_DATA *get_local_test_data(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/testutil/basic_output.c:80,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/testutil/basic_output.c:84,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/basic_output.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: cleanup_local_test_data
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - CRYPTO_THREAD_get_local
    - CRYPTO_THREAD_set_local
    linkageType: ''
    returnType: void
    signature: void cleanup_local_test_data(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_local_test_data
      Src: /src/openssl/test/testutil/basic_output.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: set_override_bio_out
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - get_local_test_data
    linkageType: ''
    returnType: int
    signature: int set_override_bio_out(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_local_test_data
      Src: /src/openssl/test/testutil/basic_output.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: set_override_bio_err
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - get_local_test_data
    linkageType: ''
    returnType: int
    signature: int set_override_bio_err(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_local_test_data
      Src: /src/openssl/test/testutil/basic_output.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: get_bio_out
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - get_local_test_data
    linkageType: ''
    returnType: BIO
    signature: BIO *get_bio_out(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_local_test_data
      Src: /src/openssl/test/testutil/basic_output.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: get_bio_err
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - get_local_test_data
    linkageType: ''
    returnType: BIO
    signature: BIO *get_bio_err(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_local_test_data
      Src: /src/openssl/test/testutil/basic_output.c:135,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/testutil/basic_output.c:137,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/testutil/basic_output.c:138,1
    - Dst: BIO_push
      Src: /src/openssl/test/testutil/basic_output.c:140,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/basic_output.c:140,1
    - Dst: BIO_f_linebuffer
      Src: /src/openssl/test/testutil/basic_output.c:140,1
    - Dst: BIO_push
      Src: /src/openssl/test/testutil/basic_output.c:141,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/basic_output.c:141,1
    - Dst: BIO_f_linebuffer
      Src: /src/openssl/test/testutil/basic_output.c:141,1
    - Dst: BIO_push
      Src: /src/openssl/test/testutil/basic_output.c:143,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/basic_output.c:143,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/test/testutil/basic_output.c:143,1
    - Dst: BIO_push
      Src: /src/openssl/test/testutil/basic_output.c:144,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/basic_output.c:144,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/test/testutil/basic_output.c:144,1
    - Dst: BIO_push
      Src: /src/openssl/test/testutil/basic_output.c:146,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/basic_output.c:146,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/test/testutil/basic_output.c:146,1
    - Dst: BIO_push
      Src: /src/openssl/test/testutil/basic_output.c:147,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/basic_output.c:147,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/test/testutil/basic_output.c:147,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/testutil/basic_output.c:148,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/testutil/basic_output.c:149,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/testutil/basic_output.c:152,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/testutil/basic_output.c:155,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/testutil/basic_output.c:156,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/testutil/basic_output.c:157,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/testutil/basic_output.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: test_open_streams
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - BIO_new_fp
    - OPENSSL_assert
    - BIO_set_prefix
    - init_local_test_data
    - CRYPTO_THREAD_lock_new
    - BIO_push
    - BIO_f_linebuffer
    - BIO_f_prefix
    linkageType: ''
    returnType: void
    signature: void test_open_streams(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_indent
      Src: /src/openssl/test/testutil/basic_output.c:165,1
    - Dst: BIO_set_indent
      Src: /src/openssl/test/testutil/basic_output.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: test_adjust_streams_tap_level
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - BIO_set_indent
    linkageType: ''
    returnType: void
    signature: void test_adjust_streams_tap_level(int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/basic_output.c:175,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/basic_output.c:176,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/testutil/basic_output.c:178,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/testutil/basic_output.c:179,1
    - Dst: cleanup_local_test_data
      Src: /src/openssl/test/testutil/basic_output.c:181,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/test/testutil/basic_output.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: test_close_streams
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 1
    functionsReached:
    - cleanup_local_test_data
    - BIO_free
    - CRYPTO_THREAD_lock_free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void test_close_streams(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/testutil/basic_output.c:191,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/testutil/basic_output.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: test_io_lock
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline test_io_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/testutil/basic_output.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: test_io_unlock
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline test_io_unlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_io_lock
      Src: /src/openssl/test/testutil/basic_output.c:206,1
    - Dst: BIO_vprintf
      Src: /src/openssl/test/testutil/basic_output.c:207,1
    - Dst: get_bio_out
      Src: /src/openssl/test/testutil/basic_output.c:207,1
    - Dst: test_io_unlock
      Src: /src/openssl/test/testutil/basic_output.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: test_vprintf_stdout
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 1
    functionsReached:
    - BIO_vprintf
    - test_io_unlock
    - test_io_lock
    - get_bio_out
    linkageType: ''
    returnType: int
    signature: int test_vprintf_stdout(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_io_lock
      Src: /src/openssl/test/testutil/basic_output.c:217,1
    - Dst: BIO_vprintf
      Src: /src/openssl/test/testutil/basic_output.c:218,1
    - Dst: get_bio_err
      Src: /src/openssl/test/testutil/basic_output.c:218,1
    - Dst: test_io_unlock
      Src: /src/openssl/test/testutil/basic_output.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: test_vprintf_stderr
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 3
    functionsReached:
    - BIO_vprintf
    - get_bio_err
    - test_io_unlock
    - test_io_lock
    linkageType: ''
    returnType: int
    signature: int test_vprintf_stderr(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_io_lock
      Src: /src/openssl/test/testutil/basic_output.c:228,1
    - Dst: BIO_flush
      Src: /src/openssl/test/testutil/basic_output.c:229,1
    - Dst: get_bio_out
      Src: /src/openssl/test/testutil/basic_output.c:229,1
    - Dst: test_io_unlock
      Src: /src/openssl/test/testutil/basic_output.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: test_flush_stdout
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 1
    functionsReached:
    - BIO_flush
    - test_io_unlock
    - test_io_lock
    - get_bio_out
    linkageType: ''
    returnType: int
    signature: int test_flush_stdout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_io_lock
      Src: /src/openssl/test/testutil/basic_output.c:239,1
    - Dst: BIO_flush
      Src: /src/openssl/test/testutil/basic_output.c:240,1
    - Dst: get_bio_err
      Src: /src/openssl/test/testutil/basic_output.c:240,1
    - Dst: test_io_unlock
      Src: /src/openssl/test/testutil/basic_output.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: test_flush_stderr
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 2
    functionsReached:
    - get_bio_err
    - BIO_flush
    - test_io_unlock
    - test_io_lock
    linkageType: ''
    returnType: int
    signature: int test_flush_stderr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_io_lock
      Src: /src/openssl/test/testutil/basic_output.c:250,1
    - Dst: BIO_vprintf
      Src: /src/openssl/test/testutil/basic_output.c:251,1
    - Dst: test_io_unlock
      Src: /src/openssl/test/testutil/basic_output.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: test_vprintf_tapout
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 1
    functionsReached:
    - BIO_vprintf
    - test_io_unlock
    - test_io_lock
    linkageType: ''
    returnType: int
    signature: int test_vprintf_tapout(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_io_lock
      Src: /src/openssl/test/testutil/basic_output.c:261,1
    - Dst: BIO_vprintf
      Src: /src/openssl/test/testutil/basic_output.c:262,1
    - Dst: test_io_unlock
      Src: /src/openssl/test/testutil/basic_output.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: test_vprintf_taperr
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 1
    functionsReached:
    - BIO_vprintf
    - test_io_unlock
    - test_io_lock
    linkageType: ''
    returnType: int
    signature: int test_vprintf_taperr(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_io_lock
      Src: /src/openssl/test/testutil/basic_output.c:272,1
    - Dst: BIO_flush
      Src: /src/openssl/test/testutil/basic_output.c:273,1
    - Dst: test_io_unlock
      Src: /src/openssl/test/testutil/basic_output.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: test_flush_tapout
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - test_io_unlock
    - test_io_lock
    linkageType: ''
    returnType: int
    signature: int test_flush_tapout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_io_lock
      Src: /src/openssl/test/testutil/basic_output.c:283,1
    - Dst: BIO_flush
      Src: /src/openssl/test/testutil/basic_output.c:284,1
    - Dst: test_io_unlock
      Src: /src/openssl/test/testutil/basic_output.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: test_flush_taperr
    functionSourceFile: /src/openssl/test/testutil/basic_output.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - test_io_unlock
    - test_io_lock
    linkageType: ''
    returnType: int
    signature: int test_flush_taperr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: cleanup_tests
    functionSourceFile: /src/openssl/test/testutil/test_cleanup.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cleanup_tests(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opt_next
      Src: /src/openssl/test/testutil/options.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 32
    functionName: test_skip_common_options
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 52
    functionsReached:
    - opt_next
    linkageType: ''
    returnType: int
    signature: int test_skip_common_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_num_rest
      Src: /src/openssl/test/testutil/options.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: test_get_argument_count
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 16
    functionsReached:
    - opt_num_rest
    linkageType: ''
    returnType: size_t
    signature: size_t test_get_argument_count(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_rest
      Src: /src/openssl/test/testutil/options.c:41,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/testutil/options.c:43,1
    - Dst: opt_num_rest
      Src: /src/openssl/test/testutil/options.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: test_get_argument
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 62
    functionsReached:
    - opt_num_rest
    - OPENSSL_assert
    - opt_rest
    linkageType: ''
    returnType: char
    signature: char *test_get_argument(size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opt_rest
      Src: /src/openssl/test/testutil/options.c:53,1
    - Dst: opt_num_rest
      Src: /src/openssl/test/testutil/options.c:54,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/options.c:56,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/options.c:57,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/options.c:62,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/options.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: opt_check_usage
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 1
    functionsReached:
    - opt_num_rest
    - OSSL_NELEM
    - opt_rest
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: void opt_check_usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/test/testutil/options.c:74,1
    - Dst: test_vprintf_stderr
      Src: /src/openssl/test/testutil/options.c:75,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/options.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: opt_printf_stderr
    functionSourceFile: /src/openssl/test/testutil/options.c
    functionUses: 3
    functionsReached:
    - va_end
    - test_vprintf_stderr
    - va_start
    linkageType: ''
    returnType: int
    signature: int opt_printf_stderr(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:25,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: test_diff_header
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: void test_diff_header(const char *left, const char *right)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:33,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - c
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: test_string_null_empty
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: void test_string_null_empty(const char *m, char c)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_indent
      Src: /src/openssl/test/testutil/format_output.c:45,1
    - Dst: test_fail_message_prefix
      Src: /src/openssl/test/testutil/format_output.c:51,1
    - Dst: test_string_null_empty
      Src: /src/openssl/test/testutil/format_output.c:58,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:60,1
    - Dst: test_string_null_empty
      Src: /src/openssl/test/testutil/format_output.c:61,1
    - Dst: test_string_null_empty
      Src: /src/openssl/test/testutil/format_output.c:62,1
    - Dst: strncmp
      Src: /src/openssl/test/testutil/format_output.c:67,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:68,1
    - Dst: isprint
      Src: /src/openssl/test/testutil/format_output.c:75,1
    - Dst: isprint
      Src: /src/openssl/test/testutil/format_output.c:80,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:97,1
    - Dst: test_string_null_empty
      Src: /src/openssl/test/testutil/format_output.c:100,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:102,1
    - Dst: test_string_null_empty
      Src: /src/openssl/test/testutil/format_output.c:104,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:106,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:108,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/format_output.c:119,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 68
    argCount: 11
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - m1
    - l1
    - m2
    - l2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 120
    functionName: test_fail_string_common
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - test_flush_stderr
    - test_diff_header
    - test_string_null_empty
    - isprint
    - test_printf_stderr
    - strncmp
    - BIO_get_indent
    - test_fail_message_prefix
    linkageType: ''
    returnType: void
    signature: "void test_fail_string_common(const char *prefix, const char *file,\n
      \                                   int line, const char *type,\n                                    const
      char *left, const char *right,\n                                    const char
      *op, const char *m1, size_t l1,\n                                    const char
      *m2, size_t l2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_string_common
      Src: /src/openssl/test/testutil/format_output.c:133,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - m1
    - l1
    - m2
    - l2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: test_fail_string_message
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 4
    functionsReached:
    - test_printf_stderr
    - test_fail_string_common
    linkageType: ''
    returnType: void
    signature: "void test_fail_string_message(const char *prefix, const char *file,\n
      \                             int line, const char *type,\n                              const
      char *left, const char *right,\n                              const char *op,
      const char *m1, size_t l1,\n                              const char *m2, size_t
      l2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_string_common
      Src: /src/openssl/test/testutil/format_output.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - m
    - l
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: test_output_string
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 2
    functionsReached:
    - test_fail_string_common
    linkageType: ''
    returnType: void
    signature: void test_output_string(const char *name, const char *m, size_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - m
    - n
    - b
    - width
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: hex_convert_memory
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hex_convert_memory(const unsigned char *m, size_t n, char *b,\n
      \                              size_t width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: test_bignum_header_line
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: void test_bignum_header_line(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_negative
      Src: /src/openssl/test/testutil/format_output.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bn
    argTypes:
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: test_bignum_zero_null
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - BN_is_negative
    linkageType: ''
    returnType: char
    signature: char *test_bignum_zero_null(const BIGNUM *bn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_bignum_zero_null
      Src: /src/openssl/test/testutil/format_output.c:196,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - sep
    argTypes:
    - BIGNUM*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: test_bignum_zero_print
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - test_bignum_zero_null
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: void test_bignum_zero_print(const BIGNUM *bn, char sep)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/test/testutil/format_output.c:213,1
    - Dst: hex_convert_memory
      Src: /src/openssl/test/testutil/format_output.c:214,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/testutil/format_output.c:227,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/testutil/format_output.c:234,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/testutil/format_output.c:256,1
    - Dst: strcpy
      Src: /src/openssl/test/testutil/format_output.c:257,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/format_output.c:257,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - in
    - bytes
    - out
    - lz
    - bn
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - int*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 259
    functionName: convert_bn_memory
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - strcpy
    - BN_is_negative
    - BN_is_zero
    - strlen
    - hex_convert_memory
    linkageType: ''
    returnType: int
    signature: "int convert_bn_memory(const unsigned char *in, size_t bytes,\n                             char
      *out, int *lz, const BIGNUM *bn)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message_prefix
      Src: /src/openssl/test/testutil/format_output.c:280,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/testutil/format_output.c:281,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/testutil/format_output.c:281,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/testutil/format_output.c:282,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/testutil/format_output.c:282,1
    - Dst: test_bignum_header_line
      Src: /src/openssl/test/testutil/format_output.c:285,1
    - Dst: test_bignum_zero_print
      Src: /src/openssl/test/testutil/format_output.c:286,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:288,1
    - Dst: test_bignum_header_line
      Src: /src/openssl/test/testutil/format_output.c:289,1
    - Dst: test_bignum_zero_print
      Src: /src/openssl/test/testutil/format_output.c:290,1
    - Dst: test_bignum_zero_print
      Src: /src/openssl/test/testutil/format_output.c:291,1
    - Dst: BN_cmp
      Src: /src/openssl/test/testutil/format_output.c:296,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:297,1
    - Dst: test_bignum_header_line
      Src: /src/openssl/test/testutil/format_output.c:298,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/test/testutil/format_output.c:302,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:305,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/testutil/format_output.c:310,1
    - Dst: BN_bn2binpad
      Src: /src/openssl/test/testutil/format_output.c:314,1
    - Dst: convert_bn_memory
      Src: /src/openssl/test/testutil/format_output.c:319,1
    - Dst: convert_bn_memory
      Src: /src/openssl/test/testutil/format_output.c:320,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:335,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:338,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:340,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:342,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:344,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:347,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/format_output.c:356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/format_output.c:358,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 75
    argCount: 9
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - bn1
    - bn2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 359
    functionName: test_fail_bignum_common
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - test_flush_stderr
    - test_diff_header
    - BN_num_bytes
    - test_bignum_header_line
    - BN_is_negative
    - BN_cmp
    - OPENSSL_malloc_array
    - test_printf_stderr
    - OPENSSL_free
    - test_bignum_zero_print
    - convert_bn_memory
    - test_fail_message_prefix
    - BN_bn2binpad
    linkageType: ''
    returnType: void
    signature: "void test_fail_bignum_common(const char *prefix, const char *file,\n
      \                                   int line, const char *type,\n                                    const
      char *left, const char *right,\n                                    const char
      *op,\n                                    const BIGNUM *bn1, const BIGNUM *bn2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_bignum_common
      Src: /src/openssl/test/testutil/format_output.c:372,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - bn1
    - bn2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 6
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: test_fail_bignum_message
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 2
    functionsReached:
    - test_printf_stderr
    - test_fail_bignum_common
    linkageType: ''
    returnType: void
    signature: "void test_fail_bignum_message(const char *prefix, const char *file,\n
      \                             int line, const char *type,\n                              const
      char *left, const char *right,\n                              const char *op,\n
      \                             const BIGNUM *bn1, const BIGNUM *bn2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_bignum_common
      Src: /src/openssl/test/testutil/format_output.c:381,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - bn
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 6
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: test_fail_bignum_mono_message
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 3
    functionsReached:
    - test_printf_stderr
    - test_fail_bignum_common
    linkageType: ''
    returnType: void
    signature: "void test_fail_bignum_mono_message(const char *prefix, const char
      *file,\n                                   int line, const char *type,\n                                   const
      char *left, const char *right,\n                                   const char
      *op, const BIGNUM *bn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_is_zero
      Src: /src/openssl/test/testutil/format_output.c:387,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:388,1
    - Dst: test_bignum_zero_null
      Src: /src/openssl/test/testutil/format_output.c:389,1
    - Dst: BN_num_bytes
      Src: /src/openssl/test/testutil/format_output.c:390,1
    - Dst: BN_bn2bin
      Src: /src/openssl/test/testutil/format_output.c:394,1
    - Dst: hex_convert_memory
      Src: /src/openssl/test/testutil/format_output.c:396,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:399,1
    - Dst: BN_is_negative
      Src: /src/openssl/test/testutil/format_output.c:400,1
    - Dst: test_fail_bignum_common
      Src: /src/openssl/test/testutil/format_output.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - name
    - bn
    argTypes:
    - char*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 6
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: test_output_bignum
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 5
    functionsReached:
    - BN_num_bytes
    - BN_is_negative
    - test_printf_stderr
    - BN_is_zero
    - test_fail_bignum_common
    - test_bignum_zero_null
    - BN_bn2bin
    - hex_convert_memory
    linkageType: ''
    returnType: void
    signature: void test_output_bignum(const char *name, const BIGNUM *bn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:415,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - c
    argTypes:
    - unsigned char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 418
    functionName: test_memory_null_empty
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - test_printf_stderr
    linkageType: ''
    returnType: void
    signature: void test_memory_null_empty(const unsigned char *m, char c)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_message_prefix
      Src: /src/openssl/test/testutil/format_output.c:436,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:443,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:445,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:446,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:447,1
    - Dst: memcmp
      Src: /src/openssl/test/testutil/format_output.c:452,1
    - Dst: test_diff_header
      Src: /src/openssl/test/testutil/format_output.c:453,1
    - Dst: hex_convert_memory
      Src: /src/openssl/test/testutil/format_output.c:459,1
    - Dst: hex_convert_memory
      Src: /src/openssl/test/testutil/format_output.c:463,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:488,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:491,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:493,1
    - Dst: test_memory_null_empty
      Src: /src/openssl/test/testutil/format_output.c:495,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:497,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:499,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/format_output.c:510,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 11
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - m1
    - l1
    - m2
    - l2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 511
    functionName: test_fail_memory_common
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 0
    functionsReached:
    - memcmp
    - test_flush_stderr
    - test_diff_header
    - test_printf_stderr
    - test_fail_message_prefix
    - test_memory_null_empty
    - hex_convert_memory
    linkageType: ''
    returnType: void
    signature: "void test_fail_memory_common(const char *prefix, const char *file,\n
      \                                   int line, const char *type,\n                                    const
      char *left, const char *right,\n                                    const char
      *op,\n                                    const unsigned char *m1, size_t l1,\n
      \                                   const unsigned char *m2, size_t l2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_memory_common
      Src: /src/openssl/test/testutil/format_output.c:525,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/format_output.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - prefix
    - file
    - line
    - type
    - left
    - right
    - op
    - m1
    - l1
    - m2
    - l2
    argTypes:
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: test_fail_memory_message
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 2
    functionsReached:
    - test_printf_stderr
    - test_fail_memory_common
    linkageType: ''
    returnType: void
    signature: "void test_fail_memory_message(const char *prefix, const char *file,\n
      \                             int line, const char *type,\n                              const
      char *left, const char *right,\n                              const char *op,\n
      \                             const unsigned char *m1, size_t l1,\n                              const
      unsigned char *m2, size_t l2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail_memory_common
      Src: /src/openssl/test/testutil/format_output.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - m
    - l
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: test_output_memory
    functionSourceFile: /src/openssl/test/testutil/format_output.c
    functionUses: 17
    functionsReached:
    - test_fail_memory_common
    linkageType: ''
    returnType: void
    signature: void test_output_memory(const char *name, const unsigned char *m, size_t
      l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/test/testutil/driver.c:61,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/driver.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - test_case_name
    argTypes:
    - char*
    assertStmts:
    - condition: (num_tests != OSSL_NELEM(all_tests))
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/openssl/test/testutil/driver.c
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: add_test
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: void add_test(const char *test_case_name, int (*test_fn) (void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/test/testutil/driver.c:72,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/driver.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - test_case_name
    - num
    - subtest
    argTypes:
    - char*
    - int
    - int
    assertStmts:
    - condition: (num_tests != OSSL_NELEM(all_tests))
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/openssl/test/testutil/driver.c
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: add_all_tests
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - assert
    linkageType: ''
    returnType: void
    signature: "void add_all_tests(const char *test_case_name, int(*test_fn)(int idx),\n
      \                  int num, int subtest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: gcd
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcd(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/test/testutil/driver.c:98,1
    - Dst: test_random_seed
      Src: /src/openssl/test/testutil/driver.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: set_seed
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 9
    functionsReached:
    - time
    - test_random_seed
    linkageType: ''
    returnType: void
    signature: void set_seed(int s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/testutil/driver.c:105,1
    - Dst: getenv
      Src: /src/openssl/test/testutil/driver.c:106,1
    - Dst: getenv
      Src: /src/openssl/test/testutil/driver.c:107,1
    - Dst: atoi
      Src: /src/openssl/test/testutil/driver.c:110,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:111,1
    - Dst: set_seed
      Src: /src/openssl/test/testutil/driver.c:114,1
    - Dst: atoi
      Src: /src/openssl/test/testutil/driver.c:114,1
    - Dst: set_seed
      Src: /src/openssl/test/testutil/driver.c:116,1
    - Dst: atoi
      Src: /src/openssl/test/testutil/driver.c:116,1
    - Dst: set_seed
      Src: /src/openssl/test/testutil/driver.c:118,1
    - Dst: copy_argv
      Src: /src/openssl/test/testutil/driver.c:122,1
    - Dst: win32_utf8argv
      Src: /src/openssl/test/testutil/driver.c:127,1
    - Dst: opt_init
      Src: /src/openssl/test/testutil/driver.c:130,1
    - Dst: test_get_options
      Src: /src/openssl/test/testutil/driver.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: setup_test_framework
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 1
    functionsReached:
    - atoi
    - test_adjust_streams_tap_level
    - set_seed
    - test_get_options
    - opt_init
    - win32_utf8argv
    - copy_argv
    - getenv
    linkageType: ''
    returnType: int
    signature: int setup_test_framework(int argc, char *argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/testutil/driver.c:145,1
    - Dst: atoi
      Src: /src/openssl/test/testutil/driver.c:151,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/driver.c:161,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/driver.c:169,1
    - Dst: test_printf_stderr
      Src: /src/openssl/test/testutil/driver.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - name
    - testname
    - itname
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 185
    functionName: check_single_test_params
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atoi
    - test_printf_stderr
    linkageType: ''
    returnType: int
    signature: int check_single_test_params(char *name, char *testname, char *itname)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: opt_begin
      Src: /src/openssl/test/testutil/driver.c:196,1
    - Dst: opt_next
      Src: /src/openssl/test/testutil/driver.c:197,1
    - Dst: opt_help
      Src: /src/openssl/test/testutil/driver.c:205,1
    - Dst: test_get_options
      Src: /src/openssl/test/testutil/driver.c:205,1
    - Dst: opt_flag
      Src: /src/openssl/test/testutil/driver.c:211,1
    - Dst: opt_arg
      Src: /src/openssl/test/testutil/driver.c:212,1
    - Dst: opt_flag
      Src: /src/openssl/test/testutil/driver.c:215,1
    - Dst: opt_int
      Src: /src/openssl/test/testutil/driver.c:216,1
    - Dst: opt_arg
      Src: /src/openssl/test/testutil/driver.c:216,1
    - Dst: opt_int
      Src: /src/openssl/test/testutil/driver.c:220,1
    - Dst: opt_arg
      Src: /src/openssl/test/testutil/driver.c:220,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:223,1
    - Dst: opt_int
      Src: /src/openssl/test/testutil/driver.c:226,1
    - Dst: opt_arg
      Src: /src/openssl/test/testutil/driver.c:226,1
    - Dst: set_seed
      Src: /src/openssl/test/testutil/driver.c:228,1
    - Dst: check_single_test_params
      Src: /src/openssl/test/testutil/driver.c:232,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 237
    functionName: process_shared_options
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - opt_help
    - test_adjust_streams_tap_level
    - set_seed
    - test_get_options
    - opt_next
    - opt_int
    - opt_begin
    - opt_flag
    - opt_arg
    - check_single_test_params
    linkageType: ''
    returnType: int
    signature: int process_shared_options(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_test_title
      Src: /src/openssl/test/testutil/driver.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: pulldown_test_framework
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 1
    functionsReached:
    - set_test_title
    linkageType: ''
    returnType: int
    signature: int pulldown_test_framework(int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/driver.c:249,1
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/test/testutil/driver.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - success
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: finalize
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 8
    functionsReached:
    - ERR_clear_error
    - ERR_print_errors_cb
    linkageType: ''
    returnType: void
    signature: void finalize(int success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/test/testutil/driver.c:258,1
    - Dst: strdup
      Src: /src/openssl/test/testutil/driver.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - title
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: set_test_title
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 1
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: void set_test_title(const char *title)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_flush_stdout
      Src: /src/openssl/test/testutil/driver.c:267,1
    - Dst: test_flush_stderr
      Src: /src/openssl/test/testutil/driver.c:268,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:272,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:274,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:276,1
    - Dst: va_start
      Src: /src/openssl/test/testutil/driver.c:277,1
    - Dst: test_vprintf_tapout
      Src: /src/openssl/test/testutil/driver.c:278,1
    - Dst: va_end
      Src: /src/openssl/test/testutil/driver.c:279,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:281,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:282,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - verdict
    - description
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: test_verdict
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 0
    functionsReached:
    - va_end
    - test_flush_stderr
    - test_printf_tapout
    - test_flush_tapout
    - test_flush_stdout
    - va_start
    - test_vprintf_tapout
    linkageType: ''
    returnType: void
    signature: "void test_verdict(int verdict,\n                                             const
      char *description, ...)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/testutil/driver.c:293,1
    - Dst: process_shared_options
      Src: /src/openssl/test/testutil/driver.c:295,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:302,1
    - Dst: test_printf_stdout
      Src: /src/openssl/test/testutil/driver.c:305,1
    - Dst: test_flush_stdout
      Src: /src/openssl/test/testutil/driver.c:306,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:308,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:311,1
    - Dst: test_random
      Src: /src/openssl/test/testutil/driver.c:317,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:331,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:335,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:338,1
    - Dst: set_test_title
      Src: /src/openssl/test/testutil/driver.c:340,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/driver.c:341,1
    - Dst: test_fn
      Src: /src/openssl/test/testutil/driver.c:342,1
    - Dst: finalize
      Src: /src/openssl/test/testutil/driver.c:343,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:344,1
    - Dst: set_test_title
      Src: /src/openssl/test/testutil/driver.c:350,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:353,1
    - Dst: test_printf_stdout
      Src: /src/openssl/test/testutil/driver.c:355,1
    - Dst: test_printf_tapout
      Src: /src/openssl/test/testutil/driver.c:356,1
    - Dst: test_flush_stdout
      Src: /src/openssl/test/testutil/driver.c:357,1
    - Dst: test_flush_tapout
      Src: /src/openssl/test/testutil/driver.c:358,1
    - Dst: test_random
      Src: /src/openssl/test/testutil/driver.c:367,1
    - Dst: gcd
      Src: /src/openssl/test/testutil/driver.c:368,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/testutil/driver.c:376,1
    - Dst: param_test_fn
      Src: /src/openssl/test/testutil/driver.c:377,1
    - Dst: finalize
      Src: /src/openssl/test/testutil/driver.c:385,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:388,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:391,1
    - Dst: test_adjust_streams_tap_level
      Src: /src/openssl/test/testutil/driver.c:399,1
    - Dst: test_verdict
      Src: /src/openssl/test/testutil/driver.c:404,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 98
    argCount: 1
    argNames:
    - test_prog_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 412
    functionName: run_tests
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 1
    functionsReached:
    - test_printf_tapout
    - test_flush_tapout
    - test_adjust_streams_tap_level
    - ERR_clear_error
    - test_flush_stdout
    - test_fn
    - test_printf_stdout
    - test_verdict
    - process_shared_options
    - OSSL_NELEM
    - test_random
    - param_test_fn
    - set_test_title
    - gcd
    - finalize
    linkageType: ''
    returnType: int
    signature: int run_tests(const char *test_prog_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:425,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/driver.c:430,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/testutil/driver.c:430,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:434,1
    - Dst: strcpy
      Src: /src/openssl/test/testutil/driver.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - list
    - out_len
    argTypes:
    - char*[]
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 437
    functionName: glue_strings
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 3
    functionsReached:
    - strcpy
    - TEST_ptr
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *glue_strings(const char *list[], size_t *out_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:448,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:449,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:449,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/testutil/driver.c:450,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/test/testutil/driver.c:454,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/driver.c:462,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/test/testutil/driver.c:473,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/test/testutil/driver.c:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - dir
    - file
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 480
    functionName: test_mk_file_path
    functionSourceFile: /src/openssl/test/testutil/driver.c
    functionUses: 24
    functionsReached:
    - OPENSSL_zalloc
    - OPENSSL_strlcpy
    - strlen
    - OPENSSL_strlcat
    linkageType: ''
    returnType: char
    signature: char *test_mk_file_path(const char *dir, const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:21,1
    - Dst: set_test_title
      Src: /src/openssl/test/testutil/stanza.c:22,1
    - Dst: memset
      Src: /src/openssl/test/testutil/stanza.c:23,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:24,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/testutil/stanza.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - testfile
    argTypes:
    - STANZA*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: test_start_file
    functionSourceFile: /src/openssl/test/testutil/stanza.c
    functionUses: 3
    functionsReached:
    - BIO_new_file
    - memset
    - TEST_info
    - set_test_title
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int test_start_file(STANZA *s, const char *testfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:32,1
    - Dst: BIO_free
      Src: /src/openssl/test/testutil/stanza.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: test_end_file
    functionSourceFile: /src/openssl/test/testutil/stanza.c
    functionUses: 3
    functionsReached:
    - BIO_free
    - TEST_info
    linkageType: ''
    returnType: int
    signature: int test_end_file(STANZA *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:46,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/stanza.c:46,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/testutil/stanza.c:46,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/testutil/stanza.c:48,1
    - Dst: BIO_reset
      Src: /src/openssl/test/testutil/stanza.c:48,1
    - Dst: BIO_gets
      Src: /src/openssl/test/testutil/stanza.c:53,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/testutil/stanza.c:55,1
    - Dst: BIO_puts
      Src: /src/openssl/test/testutil/stanza.c:55,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/testutil/stanza.c:57,1
    - Dst: TEST_error
      Src: /src/openssl/test/testutil/stanza.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: read_key
    functionSourceFile: /src/openssl/test/testutil/stanza.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_gets
    - BIO_puts
    - BIO_s_mem
    - TEST_error
    - HAS_PREFIX
    - TEST_ptr
    - BIO_reset
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: int read_key(STANZA *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/test/testutil/stanza.c:73,1
    - Dst: strlen
      Src: /src/openssl/test/testutil/stanza.c:78,1
    - Dst: isspace
      Src: /src/openssl/test/testutil/stanza.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: strip_spaces
    functionSourceFile: /src/openssl/test/testutil/stanza.c
    functionUses: 0
    functionsReached:
    - strlen
    - isspace
    linkageType: ''
    returnType: char
    signature: char *strip_spaces(char *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_gets
      Src: /src/openssl/test/testutil/stanza.c:93,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:95,1
    - Dst: strchr
      Src: /src/openssl/test/testutil/stanza.c:95,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:96,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:110,1
    - Dst: strchr
      Src: /src/openssl/test/testutil/stanza.c:110,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:115,1
    - Dst: strip_spaces
      Src: /src/openssl/test/testutil/stanza.c:115,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:116,1
    - Dst: strip_spaces
      Src: /src/openssl/test/testutil/stanza.c:119,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/stanza.c:122,1
    - Dst: TEST_info
      Src: /src/openssl/test/testutil/stanza.c:123,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/stanza.c:130,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/stanza.c:131,1
    - Dst: strcmp
      Src: /src/openssl/test/testutil/stanza.c:132,1
    - Dst: read_key
      Src: /src/openssl/test/testutil/stanza.c:133,1
    - Dst: TEST_int_lt
      Src: /src/openssl/test/testutil/stanza.c:137,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:138,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/testutil/stanza.c:138,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/testutil/stanza.c:139,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/testutil/stanza.c:139,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 146
    functionName: test_readstanza
    functionSourceFile: /src/openssl/test/testutil/stanza.c
    functionUses: 3
    functionsReached:
    - strchr
    - BIO_gets
    - read_key
    - TEST_info
    - OPENSSL_strdup
    - strcmp
    - TEST_ptr
    - TEST_int_lt
    - strip_spaces
    linkageType: ''
    returnType: int
    signature: int test_readstanza(STANZA *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/stanza.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/stanza.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - STANZA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: test_clearstanza
    functionSourceFile: /src/openssl/test/testutil/stanza.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void test_clearstanza(STANZA *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/test/testutil/testutil_init.c:34,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/test/testutil/testutil_init.c:35,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/testutil/testutil_init.c:36,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/openssl/test/testutil/testutil_init.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/testutil_init.c:38,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/testutil/testutil_init.c:39,1
    - Dst: BIO_write
      Src: /src/openssl/test/testutil/testutil_init.c:44,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/testutil/testutil_init.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - buf
    - cnt
    - category
    - cmd
    - vdata
    argTypes:
    - char*
    - size_t
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 54
    functionName: internal_trace_cb
    functionSourceFile: /src/openssl/test/testutil/testutil_init.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - OSSL_trace_get_category_name
    - BIO_write
    - OPENSSL_buf2hexstr
    - BIO_snprintf
    - OPENSSL_free
    - BIO_set_prefix
    linkageType: ''
    returnType: size_t
    signature: "size_t internal_trace_cb(const char *buf, size_t cnt,\n                                int
      category, int cmd, void *vdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/test/testutil/testutil_init.c:61,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/testutil_init.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - tracedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: tracedata_free
    functionSourceFile: /src/openssl/test/testutil/testutil_init.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void tracedata_free(tracedata *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_tracedata_pop_free
      Src: /src/openssl/test/testutil/testutil_init.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: cleanup_trace
    functionSourceFile: /src/openssl/test/testutil/testutil_init.c
    functionUses: 0
    functionsReached:
    - sk_tracedata_pop_free
    linkageType: ''
    returnType: void
    signature: void cleanup_trace(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_trace_enabled
      Src: /src/openssl/test/testutil/testutil_init.c:78,1
    - Dst: BIO_new
      Src: /src/openssl/test/testutil/testutil_init.c:81,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/test/testutil/testutil_init.c:81,1
    - Dst: BIO_push
      Src: /src/openssl/test/testutil/testutil_init.c:82,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/testutil/testutil_init.c:83,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/testutil/testutil_init.c:84,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/test/testutil/testutil_init.c:89,1
    - Dst: sk_tracedata_push
      Src: /src/openssl/test/testutil/testutil_init.c:91,1
    - Dst: fprintf
      Src: /src/openssl/test/testutil/testutil_init.c:93,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/openssl/test/testutil/testutil_init.c:95,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/testutil_init.c:97,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/test/testutil/testutil_init.c:98,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/testutil/testutil_init.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: setup_trace_category
    functionSourceFile: /src/openssl/test/testutil/testutil_init.c
    functionUses: 0
    functionsReached:
    - OSSL_trace_get_category_name
    - BIO_new
    - OPENSSL_zalloc
    - BIO_new_fp
    - OSSL_trace_enabled
    - BIO_free_all
    - OPENSSL_free
    - OSSL_trace_set_callback
    - BIO_push
    - sk_tracedata_push
    - fprintf
    - BIO_f_prefix
    linkageType: ''
    returnType: void
    signature: void setup_trace_category(int category)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/openssl/test/testutil/testutil_init.c:112,1
    - Dst: sk_tracedata_new_null
      Src: /src/openssl/test/testutil/testutil_init.c:114,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/testutil/testutil_init.c:115,1
    - Dst: strtok
      Src: /src/openssl/test/testutil/testutil_init.c:121,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/openssl/test/testutil/testutil_init.c:122,1
    - Dst: setup_trace_category
      Src: /src/openssl/test/testutil/testutil_init.c:126,1
    - Dst: setup_trace_category
      Src: /src/openssl/test/testutil/testutil_init.c:129,1
    - Dst: fprintf
      Src: /src/openssl/test/testutil/testutil_init.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/testutil/testutil_init.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: setup_trace
    functionSourceFile: /src/openssl/test/testutil/testutil_init.c
    functionUses: 0
    functionsReached:
    - atexit
    - setup_trace_category
    - sk_tracedata_new_null
    - OPENSSL_free
    - OPENSSL_strdup
    - fprintf
    - strtok
    - OSSL_trace_get_category_num
    linkageType: ''
    returnType: void
    signature: void setup_trace(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_trace
      Src: /src/openssl/test/testutil/testutil_init.c:144,1
    - Dst: getenv
      Src: /src/openssl/test/testutil/testutil_init.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: global_init
    functionSourceFile: /src/openssl/test/testutil/testutil_init.c
    functionUses: 2
    functionsReached:
    - getenv
    - setup_trace
    linkageType: ''
    returnType: int
    signature: int global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - script_info
    argTypes:
    - GEN_CTX*
    - SCRIPT_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: GEN_CTX_init
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GEN_CTX_init(GEN_CTX *ctx, SCRIPT_INFO *script_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/terp.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GEN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: GEN_CTX_cleanup
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void GEN_CTX_cleanup(GEN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: F_SPIN_AGAIN
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_SPIN_AGAIN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: F_SKIP_REST
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_SKIP_REST()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - terp
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: TERP_STK_PUSH
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TERP_STK_PUSH(terp, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - terp
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: TERP_STK_POP
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TERP_STK_POP(terp, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - terp
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: TERP_STK_POP2
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TERP_STK_POP2(terp, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: F_PUSH
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_PUSH(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: F_POP
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_POP(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: F_POP2
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_POP2(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_FUNC(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: DEF_SCRIPT
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_SCRIPT(name, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: DEF_ENCODER
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_ENCODER(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openc_opcode
      Src: /src/openssl/test/radix/terp.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - GEN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: opgen_END
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - openc_opcode
    linkageType: ''
    returnType: void
    signature: void opgen_END(GEN_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openc_opcode
      Src: /src/openssl/test/radix/terp.c:185,1
    - Dst: openc_p
      Src: /src/openssl/test/radix/terp.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - GEN_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: opgen_PUSH_P
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - openc_opcode
    - openc_p
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused opgen_PUSH_P(GEN_CTX *ctx, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openc_opcode
      Src: /src/openssl/test/radix/terp.c:191,1
    - Dst: openc_p
      Src: /src/openssl/test/radix/terp.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - p
    argTypes:
    - GEN_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: opgen_PUSH_PZ
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - openc_opcode
    - openc_p
    linkageType: ''
    returnType: void
    signature: void opgen_PUSH_PZ(GEN_CTX *ctx, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openc_opcode
      Src: /src/openssl/test/radix/terp.c:197,1
    - Dst: openc_u64
      Src: /src/openssl/test/radix/terp.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - GEN_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: opgen_PUSH_U64
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - openc_u64
    - openc_opcode
    linkageType: ''
    returnType: void
    signature: void opgen_PUSH_U64(GEN_CTX *ctx, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openc_opcode
      Src: /src/openssl/test/radix/terp.c:203,1
    - Dst: openc_size
      Src: /src/openssl/test/radix/terp.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - v
    argTypes:
    - GEN_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: opgen_PUSH_SIZE
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - openc_size
    - openc_opcode
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused opgen_PUSH_SIZE(GEN_CTX *ctx, size_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openc_opcode
      Src: /src/openssl/test/radix/terp.c:210,1
    - Dst: openc_fp
      Src: /src/openssl/test/radix/terp.c:211,1
    - Dst: openc_p
      Src: /src/openssl/test/radix/terp.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - f
    - f_name
    argTypes:
    - GEN_CTX*
    - helper_func_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: opgen_FUNC
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - openc_fp
    - openc_opcode
    - openc_p
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused opgen_FUNC(GEN_CTX *ctx, helper_func_t f,\n                                   const
      char *f_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openc_opcode
      Src: /src/openssl/test/radix/terp.c:217,1
    - Dst: openc_p
      Src: /src/openssl/test/radix/terp.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - GEN_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: opgen_LABEL
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - openc_opcode
    - openc_p
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused opgen_LABEL(GEN_CTX *ctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - file
    - line
    argTypes:
    - GEN_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: opgen_set_line
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void opgen_set_line(GEN_CTX *ctx, const char *file, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - GEN_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: opgen_fail
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused opgen_fail(GEN_CTX *ctx, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: OPGEN
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPGEN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: OP_END
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: OP_PUSH_P
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_PUSH_P(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: OP_PUSH_PZ
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_PUSH_PZ(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: OP_PUSH_U64
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_PUSH_U64(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: OP_PUSH_SIZE
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_PUSH_SIZE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: OP_PUSH_BUFP
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_PUSH_BUFP(p, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: OP_PUSH_BUF
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_PUSH_BUF(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: OP_PUSH_LREF
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_PUSH_LREF(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: OP_FUNC
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_FUNC(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: OP_LABEL
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_LABEL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: GEN_FAIL
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GEN_FAIL(msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/radix/terp.c:262,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/terp.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - num_bytes
    argTypes:
    - GEN_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 274
    functionName: openc_alloc_space
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_realloc
    linkageType: ''
    returnType: void
    signature: void *openc_alloc_space(GEN_CTX *ctx, size_t num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - script
    argTypes:
    - GEN_CTX*
    - GEN_SCRIPT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: GEN_CTX_finish
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GEN_CTX_finish(GEN_CTX *ctx, GEN_SCRIPT *script)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/terp.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - script
    argTypes:
    - GEN_SCRIPT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: GEN_SCRIPT_cleanup
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void GEN_SCRIPT_cleanup(GEN_SCRIPT *script)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:306,1
    - Dst: GEN_CTX_init
      Src: /src/openssl/test/radix/terp.c:306,1
    - Dst: SCRIPT_INFO*::gen_func
      Src: /src/openssl/test/radix/terp.c:309,1
    - Dst: opgen_END
      Src: /src/openssl/test/radix/terp.c:310,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/terp.c:312,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:315,1
    - Dst: GEN_CTX_finish
      Src: /src/openssl/test/radix/terp.c:315,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:322,1
    - Dst: GEN_CTX_cleanup
      Src: /src/openssl/test/radix/terp.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - gen_script
    - script_info
    argTypes:
    - GEN_SCRIPT*
    - SCRIPT_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 330
    functionName: GEN_SCRIPT_init
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - GEN_CTX_finish
    - opgen_END
    - GEN_CTX_init
    - TEST_false
    - SCRIPT_INFO*::gen_func
    - TEST_true
    - GEN_CTX_cleanup
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int GEN_SCRIPT_init(GEN_SCRIPT *gen_script, SCRIPT_INFO *script_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rdr
    - buf
    - buf_len
    argTypes:
    - SRDR*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: SRDR_init
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SRDR_init(SRDR *rdr, const uint8_t *buf, size_t buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/radix/terp.c:345,1
    - Dst: memcpy
      Src: /src/openssl/test/radix/terp.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - srdr
    - buf
    - buf_len
    argTypes:
    - SRDR*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: SRDR_get_operand
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TEST_size_t_ge
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline SRDR_get_operand(SRDR *srdr, void *buf, size_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srdr
    argTypes:
    - SRDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: SRDR_save
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline SRDR_save(SRDR *srdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srdr
    argTypes:
    - SRDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: SRDR_restore
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline SRDR_restore(SRDR *srdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - srdr
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: GET_OPERAND
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_OPERAND(srdr, v)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:391,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:397,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:406,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:407,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:408,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:415,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:416,1
    - Dst: strlen
      Src: /src/openssl/test/radix/terp.c:417,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:418,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:420,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:427,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:428,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:429,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:437,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:438,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:439,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:448,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:449,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:451,1
    - Dst: memcpy
      Src: /src/openssl/test/radix/terp.c:452,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:453,1
    - Dst: GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:460,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:462,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:463,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:467,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 4
    argNames:
    - srdr
    - bio
    - i
    - was_end
    argTypes:
    - SRDR*
    - BIO*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 475
    functionName: SRDR_print_one
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - GET_OPERAND
    - strlen
    - PRINT_OPC
    - BIO_printf
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int SRDR_print_one(SRDR *srdr, BIO *bio, size_t i, int *was_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: PRINT_OPC
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_OPC(name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SRDR_init
      Src: /src/openssl/test/radix/terp.c:485,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:488,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:490,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:492,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:494,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:496,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:500,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:502,1
    - Dst: SRDR_print_one
      Src: /src/openssl/test/radix/terp.c:502,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:509,1
    - Dst: PRINT_OPC
      Src: /src/openssl/test/radix/terp.c:510,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - gen_script
    - bio
    - script_info
    argTypes:
    - GEN_SCRIPT*
    - BIO*
    - SCRIPT_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 518
    functionName: GEN_SCRIPT_print
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - SRDR_print_one
    - PRINT_OPC
    - BIO_printf
    - SRDR_init
    linkageType: ''
    returnType: int
    signature: "int GEN_SCRIPT_print(GEN_SCRIPT *gen_script, BIO *bio,\n                            const
      SCRIPT_INFO *script_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:524,1
    - Dst: TEST_info
      Src: /src/openssl/test/radix/terp.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - script_info
    - bio
    - error
    - msg
    argTypes:
    - SCRIPT_INFO*
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: SCRIPT_INFO_print
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TEST_info
    - TEST_error
    linkageType: ''
    returnType: void
    signature: "void SCRIPT_INFO_print(SCRIPT_INFO *script_info, BIO *bio, int error,\n
      \                             const char *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:562,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/test/radix/terp.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - terp
    - cfg
    - script_info
    - gen_script
    argTypes:
    - TERP*
    - TERP_CONFIG*
    - SCRIPT_INFO*
    - GEN_SCRIPT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: TERP_init
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - ossl_time_is_zero
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int TERP_init(TERP *terp,\n                     const TERP_CONFIG
      *cfg,\n                     const SCRIPT_INFO *script_info,\n                     const
      GEN_SCRIPT *gen_script)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/terp.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - terp
    argTypes:
    - TERP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: TERP_cleanup
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void TERP_cleanup(TERP *terp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/radix/terp.c:605,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/terp.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - terp
    - spare
    argTypes:
    - TERP*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 613
    functionName: TERP_stk_ensure_capacity
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: int TERP_stk_ensure_capacity(TERP *terp, size_t spare)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:618,1
    - Dst: TERP_stk_ensure_capacity
      Src: /src/openssl/test/radix/terp.c:618,1
    - Dst: memcpy
      Src: /src/openssl/test/radix/terp.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - terp
    - buf
    - buf_len
    argTypes:
    - TERP*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 624
    functionName: TERP_stk_push
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TERP_stk_ensure_capacity
    - TEST_true
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline TERP_stk_push(TERP *terp,\n                                     const
      void *buf, size_t buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_ge
      Src: /src/openssl/test/radix/terp.c:629,1
    - Dst: memcpy
      Src: /src/openssl/test/radix/terp.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - terp
    - buf
    - buf_len
    argTypes:
    - TERP*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: TERP_stk_pop
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TEST_size_t_ge
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline TERP_stk_pop(TERP *terp,\n                                    void
      *buf, size_t buf_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_output_memory
      Src: /src/openssl/test/radix/terp.c:639,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:640,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - terp
    - bio
    - header
    argTypes:
    - TERP*
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: TERP_print_stack
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - test_output_memory
    linkageType: ''
    returnType: void
    signature: void TERP_print_stack(TERP *terp, BIO *bio, const char *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: TERP_GET_OPERAND
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TERP_GET_OPERAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: TERP_SPIN_AGAIN
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TERP_SPIN_AGAIN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TERP*::cfg::now_cb
      Src: /src/openssl/test/radix/terp.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - terp
    argTypes:
    - TERP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 657
    functionName: TERP_now
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TERP*::cfg::now_cb
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME TERP_now(TERP *terp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - terp
    - spin_count
    argTypes:
    - TERP*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: TERP_log_spin
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void TERP_log_spin(TERP *terp, size_t spin_count)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: SRDR_init
      Src: /src/openssl/test/radix/terp.c:675,1
    - Dst: TERP_now
      Src: /src/openssl/test/radix/terp.c:677,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/radix/terp.c:678,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:686,1
    - Dst: TERP_log_spin
      Src: /src/openssl/test/radix/terp.c:691,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:692,1
    - Dst: SRDR_print_one
      Src: /src/openssl/test/radix/terp.c:692,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:695,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:698,1
    - Dst: SRDR_save
      Src: /src/openssl/test/radix/terp.c:700,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/radix/terp.c:707,1
    - Dst: TERP_now
      Src: /src/openssl/test/radix/terp.c:707,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:708,1
    - Dst: TERP_log_spin
      Src: /src/openssl/test/radix/terp.c:710,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:715,1
    - Dst: TERP*::cfg::per_op_cb
      Src: /src/openssl/test/radix/terp.c:715,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:716,1
    - Dst: TERP_log_spin
      Src: /src/openssl/test/radix/terp.c:718,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:730,1
    - Dst: TERP_STK_PUSH
      Src: /src/openssl/test/radix/terp.c:731,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:738,1
    - Dst: TERP_STK_PUSH
      Src: /src/openssl/test/radix/terp.c:739,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:746,1
    - Dst: TERP_STK_PUSH
      Src: /src/openssl/test/radix/terp.c:747,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:754,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:764,1
    - Dst: TERP_GET_OPERAND
      Src: /src/openssl/test/radix/terp.c:765,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:767,1
    - Dst: v
      Src: /src/openssl/test/radix/terp.c:770,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/terp.c:773,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:777,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/terp.c:782,1
    - Dst: TERP_SPIN_AGAIN
      Src: /src/openssl/test/radix/terp.c:786,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/terp.c:788,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:792,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:800,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:809,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:813,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/radix/terp.c:815,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:816,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/radix/terp.c:817,1
    - Dst: TEST_info
      Src: /src/openssl/test/radix/terp.c:818,1
    - Dst: ERR_print_errors
      Src: /src/openssl/test/radix/terp.c:819,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:820,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 122
    argCount: 1
    argNames:
    - terp
    argTypes:
    - TERP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 666
    functionDepth: 5
    functionLinenumber: 666
    functionLinenumberEnd: 824
    functionName: TERP_execute
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TERP_now
    - TERP_SPIN_AGAIN
    - TERP*::cfg::per_op_cb
    - TERP_GET_OPERAND
    - TERP_STK_PUSH
    - TEST_info
    - v
    - TEST_true
    - BIO_printf
    - TEST_error
    - ERR_peek_last_error
    - TERP_log_spin
    - ossl_time_add
    - TEST_false
    - TEST_int_eq
    - SRDR_save
    - ossl_time_compare
    - SRDR_print_one
    - ERR_print_errors
    - SRDR_init
    linkageType: ''
    returnType: int
    signature: int TERP_execute(TERP *terp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:833,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:836,1
    - Dst: GEN_SCRIPT_init
      Src: /src/openssl/test/radix/terp.c:836,1
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:837,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:843,1
    - Dst: GEN_SCRIPT_print
      Src: /src/openssl/test/radix/terp.c:843,1
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:844,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/terp.c:850,1
    - Dst: TERP_init
      Src: /src/openssl/test/radix/terp.c:850,1
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:855,1
    - Dst: TERP_execute
      Src: /src/openssl/test/radix/terp.c:857,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/terp.c:861,1
    - Dst: TERP_print_stack
      Src: /src/openssl/test/radix/terp.c:869,1
    - Dst: TERP_cleanup
      Src: /src/openssl/test/radix/terp.c:870,1
    - Dst: GEN_SCRIPT_cleanup
      Src: /src/openssl/test/radix/terp.c:873,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/terp.c:874,1
    - Dst: SCRIPT_INFO_print
      Src: /src/openssl/test/radix/terp.c:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - script_info
    - cfg
    argTypes:
    - SCRIPT_INFO*
    - TERP_CONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 826
    functionDepth: 6
    functionLinenumber: 826
    functionLinenumberEnd: 879
    functionName: TERP_run
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached:
    - TERP_init
    - GEN_SCRIPT_init
    - TERP_print_stack
    - GEN_SCRIPT_cleanup
    - GEN_SCRIPT_print
    - TERP_cleanup
    - TERP_execute
    - TEST_true
    - SCRIPT_INFO_print
    - BIO_printf
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int TERP_run(SCRIPT_INFO *script_info, TERP_CONFIG *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 882
    functionName: SCRIPT
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 883
    functionName: USE
    functionSourceFile: /src/openssl/test/radix/terp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:22,1
    - Dst: RADIX_PROCESS_set_obj
      Src: /src/openssl/test/radix/quic_ops.c:23,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - RP
    - F_POP
    - RADIX_PROCESS_set_obj
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_unbind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/radix/quic_ops.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: ssl_ctx_select_alpn
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int ssl_ctx_select_alpn(SSL *ssl,\n                               const
      unsigned char **out, unsigned char *out_len,\n                               const
      unsigned char *in, unsigned int in_len,\n                               void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_ops.c:45,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:45,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_ops.c:46,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:46,1
    - Dst: BIO_flush
      Src: /src/openssl/test/radix/quic_ops.c:47,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:47,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_ops.c:48,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: keylog_cb
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - RP
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void keylog_cb(const SSL *ssl, const char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:53,1
    - Dst: ossl_quic_set_diag_title
      Src: /src/openssl/test/radix/quic_ops.c:53,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:59,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/test/radix/quic_ops.c:60,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:62,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/radix/quic_ops.c:62,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:64,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/radix/quic_ops.c:64,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/radix/quic_ops.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - is_server
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: ssl_ctx_configure
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_keylog_callback
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_use_certificate_file
    - TEST_int_eq
    - ossl_quic_set_diag_title
    - RP
    - TEST_true
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: int ssl_ctx_configure(SSL_CTX *ctx, int is_server)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/openssl/test/radix/quic_ops.c:81,1
    - Dst: BIO_socket
      Src: /src/openssl/test/radix/quic_ops.c:83,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/radix/quic_ops.c:84,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:87,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/radix/quic_ops.c:87,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:90,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/radix/quic_ops.c:90,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:93,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/radix/quic_ops.c:93,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:97,1
    - Dst: BIO_bind
      Src: /src/openssl/test/radix/quic_ops.c:97,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:101,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/radix/quic_ops.c:101,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/radix/quic_ops.c:104,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/radix/quic_ops.c:104,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/radix/quic_ops.c:110,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/radix/quic_ops.c:114,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/radix/quic_ops.c:116,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - listen_port
    - p_fd
    - p_result_port
    argTypes:
    - uint16_t
    - int*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 118
    functionName: ssl_create_bound_socket
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - BIO_closesocket
    - BIO_ADDR_new
    - BIO_sock_info
    - BIO_ADDR_free
    - TEST_int_ge
    - BIO_bind
    - BIO_socket_nbio
    - BIO_socket
    - BIO_ADDR_rawmake
    - TEST_true
    - TEST_ptr
    - BIO_ADDR_rawport
    - htonl
    - TEST_int_gt
    linkageType: ''
    returnType: int
    signature: "int ssl_create_bound_socket(uint16_t listen_port,\n                                   int
      *p_fd, uint16_t *p_result_port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:126,1
    - Dst: ssl_create_bound_socket
      Src: /src/openssl/test/radix/quic_ops.c:126,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:129,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/radix/quic_ops.c:129,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/radix/quic_ops.c:130,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/test/radix/quic_ops.c:134,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:135,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/radix/quic_ops.c:135,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/test/radix/quic_ops.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ssl
    - local_port
    - actual_port
    argTypes:
    - SSL*
    - uint16_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 6
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: ssl_attach_bio_dgram
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - BIO_up_ref
    - SSL_set0_wbio
    - BIO_closesocket
    - ssl_create_bound_socket
    - SSL_set0_rbio
    - TEST_true
    - TEST_ptr
    - BIO_new_dgram
    linkageType: ''
    returnType: int
    signature: "int ssl_attach_bio_dgram(SSL *ssl,\n                                uint16_t
      local_port, uint16_t *actual_port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - new_ssl
    - arg
    argTypes:
    - SSL_CTX*
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: new_pending_cb
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int new_pending_cb(SSL_CTX *ctx, SSL *new_ssl, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: client_hello_cb
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int client_hello_cb(SSL *s, int *al, void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:192,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/radix/quic_ops.c:197,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/radix/quic_ops.c:197,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:198,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/radix/quic_ops.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:202,1
    - Dst: SSL_CTX_set_domain_flags
      Src: /src/openssl/test/radix/quic_ops.c:202,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:208,1
    - Dst: ssl_ctx_configure
      Src: /src/openssl/test/radix/quic_ops.c:208,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:212,1
    - Dst: SSL_new_domain
      Src: /src/openssl/test/radix/quic_ops.c:212,1
    - Dst: SSL_CTX_set_new_pending_conn_cb
      Src: /src/openssl/test/radix/quic_ops.c:216,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/radix/quic_ops.c:217,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:219,1
    - Dst: SSL_new_listener
      Src: /src/openssl/test/radix/quic_ops.c:219,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:222,1
    - Dst: SSL_new
      Src: /src/openssl/test/radix/quic_ops.c:222,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:226,1
    - Dst: ssl_attach_bio_dgram
      Src: /src/openssl/test/radix/quic_ops.c:226,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:229,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:229,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:229,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:230,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/radix/quic_ops.c:237,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 182
    functionDepth: 7
    functionLinenumber: 182
    functionLinenumberEnd: 239
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_new_listener
    - SSL_free
    - RADIX_PROCESS_set_ssl
    - SSL_new_domain
    - TEST_true
    - SSL_CTX_set_new_pending_conn_cb
    - F_POP2
    - SSL_CTX_set_domain_flags
    - RP
    - SSL_new
    - SSL_CTX_new
    - ssl_attach_bio_dgram
    - ssl_ctx_configure
    - OSSL_QUIC_client_method
    - TEST_ptr
    - SSL_CTX_set_client_hello_cb
    - OSSL_QUIC_server_method
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_new_ssl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:248,1
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:249,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:251,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_ops.c:251,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:251,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:254,1
    - Dst: SSL_new_listener_from
      Src: /src/openssl/test/radix/quic_ops.c:254,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:257,1
    - Dst: ssl_attach_bio_dgram
      Src: /src/openssl/test/radix/quic_ops.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:260,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:260,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:260,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:261,1
    - Dst: radix_activate_slot
      Src: /src/openssl/test/radix/quic_ops.c:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 241
    functionDepth: 7
    functionLinenumber: 241
    functionLinenumberEnd: 270
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - TEST_ptr_null
    - SSL_new_listener_from
    - RADIX_PROCESS_set_ssl
    - SSL_free
    - RADIX_PROCESS_get_obj
    - F_POP2
    - RP
    - ssl_attach_bio_dgram
    - TEST_true
    - TEST_ptr
    - radix_activate_slot
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_new_ssl_listener_from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:277,1
    - Dst: SSL_listen
      Src: /src/openssl/test/radix/quic_ops.c:279,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:280,1
    - Dst: SSL_get0_domain
      Src: /src/openssl/test/radix/quic_ops.c:283,1
    - Dst: radix_activate_slot
      Src: /src/openssl/test/radix/quic_ops.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_get0_domain
    - SSL_listen
    - TEST_true
    - radix_activate_slot
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_listen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:298,1
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:299,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:300,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:302,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_ops.c:302,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:302,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/radix/quic_ops.c:306,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:309,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/radix/quic_ops.c:311,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:314,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:320,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:320,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:320,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 328
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - REQUIRE_SSL
    - SSL_accept_stream
    - TEST_ptr_null
    - SSL_free
    - RADIX_PROCESS_set_ssl
    - RADIX_PROCESS_get_obj
    - F_POP2
    - RP
    - F_SPIN_AGAIN
    - TEST_true
    - TEST_ptr
    - SSL_new_stream
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_new_stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:337,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:338,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:340,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_ops.c:340,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:340,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/radix/quic_ops.c:343,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:345,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:347,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:347,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:347,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:348,1
    - Dst: TEST_info
      Src: /src/openssl/test/radix/quic_ops.c:354,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/radix/quic_ops.c:356,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:357,1
    - Dst: TEST_ptr_eq
      Src: /src/openssl/test/radix/quic_ops.c:360,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:361,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 372
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - TEST_ptr_null
    - SSL_free
    - RADIX_PROCESS_set_ssl
    - RADIX_PROCESS_get_obj
    - F_POP2
    - TEST_info
    - RP
    - F_SPIN_AGAIN
    - TEST_true
    - TEST_ptr_eq
    - SSL_accept_connection
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_accept_conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:379,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/radix/quic_ops.c:381,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:382,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - TEST_ptr_null
    - SSL_free
    - SSL_accept_connection
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_accept_conn_none)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:399,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:401,1
    - Dst: RADIX_PROCESS_get_ssl
      Src: /src/openssl/test/radix/quic_ops.c:401,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:401,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/radix/quic_ops.c:404,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_ops.c:405,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 413
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_accept_stream
    - RADIX_PROCESS_get_ssl
    - TEST_ptr_null
    - SSL_free
    - F_POP2
    - RP
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_accept_stream_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_pop
      Src: /src/openssl/test/radix/quic_ops.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - ERR_pop
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_pop_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:429,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:430,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:432,1
    - Dst: SSL_stream_reset
      Src: /src/openssl/test/radix/quic_ops.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_stream_reset
    - F_POP2
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_stream_reset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:446,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:447,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:449,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/test/radix/quic_ops.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 455
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - REQUIRE_SSL
    - SSL_set_default_stream_mode
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_set_default_stream_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:463,1
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:464,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:465,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:467,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/radix/quic_ops.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 473
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - REQUIRE_SSL
    - SSL_set_incoming_stream_policy
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_set_incoming_stream_policy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:483,1
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:484,1
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:485,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:486,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/test/radix/quic_ops.c:488,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/test/radix/quic_ops.c:489,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/test/radix/quic_ops.c:489,1
    - Dst: SSL_shutdown_ex
      Src: /src/openssl/test/radix/quic_ops.c:491,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/radix/quic_ops.c:492,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 501
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - ossl_quic_conn_get_channel
    - F_POP
    - REQUIRE_SSL
    - TEST_int_ge
    - F_SPIN_AGAIN
    - ossl_quic_channel_get0_engine
    - SSL_shutdown_ex
    - ossl_quic_engine_set_inhibit_tick
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_shutdown_wait)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:508,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:510,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/radix/quic_ops.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 516
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_stream_conclude
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_conclude)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/test/radix/quic_ops.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: is_want
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 3
    functionsReached:
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int is_want(SSL *s, int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/test/radix/quic_ops.c:527,1
    - Dst: SSL_want
      Src: /src/openssl/test/radix/quic_ops.c:528,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:530,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/quic_ops.c:543,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ret
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 546
    functionName: check_consistent_want
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 1
    functionsReached:
    - TEST_true
    - SSL_get_error
    - TEST_error
    - SSL_want
    linkageType: ''
    returnType: int
    signature: int check_consistent_want(SSL *s, int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:555,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:556,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/radix/quic_ops.c:558,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:559,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:560,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 567
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_write_ex
    - F_POP2
    - check_consistent_want
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_write)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:576,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:577,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/radix/quic_ops.c:583,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:584,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:586,1
    - Dst: RAND_bytes
      Src: /src/openssl/test/radix/quic_ops.c:586,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/radix/quic_ops.c:588,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:589,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:590,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:591,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_ops.c:599,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 569
    functionDepth: 8
    functionLinenumber: 569
    functionLinenumberEnd: 601
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - REQUIRE_SSL
    - SSL_write_ex
    - TEST_int_eq
    - RAND_bytes
    - OPENSSL_free
    - check_consistent_want
    - TEST_true
    - TEST_size_t_eq
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_write_rand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:611,1
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:612,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:613,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/test/radix/quic_ops.c:615,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:616,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:617,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 624
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - REQUIRE_SSL
    - SSL_write_ex2
    - F_POP2
    - check_consistent_want
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_write_ex2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:632,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/radix/quic_ops.c:634,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_ops.c:635,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:636,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:636,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 643
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_write_ex
    - TEST_false
    - check_consistent_want
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_write_fail)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:652,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:653,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:655,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:656,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:656,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/radix/quic_ops.c:656,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/radix/quic_ops.c:659,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:659,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:659,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:660,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:662,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:662,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:666,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:668,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:669,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:670,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/radix/quic_ops.c:674,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:674,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_ops.c:677,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:677,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:678,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 684
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - REQUIRE_SSL
    - RT
    - F_POP2
    - F_SPIN_AGAIN
    - OPENSSL_free
    - check_consistent_want
    - TEST_true
    - TEST_ptr
    - TEST_mem_eq
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_read_expect)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:694,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:695,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/radix/quic_ops.c:697,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_ops.c:698,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:699,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:699,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:700,1
    - Dst: is_want
      Src: /src/openssl/test/radix/quic_ops.c:703,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 709
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - F_POP
    - REQUIRE_SSL
    - TEST_false
    - F_SPIN_AGAIN
    - check_consistent_want
    - is_want
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_read_fail)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:716,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:719,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:720,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/radix/quic_ops.c:720,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_ops.c:724,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/radix/quic_ops.c:724,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:729,1
    - Dst: SSL_connect
      Src: /src/openssl/test/radix/quic_ops.c:730,1
    - Dst: radix_activate_slot
      Src: /src/openssl/test/radix/quic_ops.c:731,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:732,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:732,1
    - Dst: is_want
      Src: /src/openssl/test/radix/quic_ops.c:736,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:737,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:739,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 747
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL
    - SSL_set_alpn_protos
    - TEST_false
    - TEST_int_eq
    - SSL_set_blocking_mode
    - SSL_connect
    - F_SPIN_AGAIN
    - check_consistent_want
    - is_want
    - TEST_true
    - radix_activate_slot
    - RT
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_connect_wait)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:755,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:756,1
    - Dst: RADIX_PROCESS_get_ssl
      Src: /src/openssl/test/radix/quic_ops.c:756,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:759,1
    - Dst: ossl_quic_detach_stream
      Src: /src/openssl/test/radix/quic_ops.c:759,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:762,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:762,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:762,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_ops.c:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 770
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - RADIX_PROCESS_get_ssl
    - ossl_quic_detach_stream
    - SSL_free
    - RADIX_PROCESS_set_ssl
    - F_POP2
    - RP
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_detach)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:778,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:780,1
    - Dst: RADIX_PROCESS_get_ssl
      Src: /src/openssl/test/radix/quic_ops.c:780,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:783,1
    - Dst: RADIX_PROCESS_get_ssl
      Src: /src/openssl/test/radix/quic_ops.c:783,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:783,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:786,1
    - Dst: ossl_quic_attach_stream
      Src: /src/openssl/test/radix/quic_ops.c:786,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:789,1
    - Dst: RADIX_PROCESS_set_ssl
      Src: /src/openssl/test/radix/quic_ops.c:789,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 795
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - RADIX_PROCESS_get_ssl
    - RADIX_PROCESS_set_ssl
    - F_POP2
    - RP
    - ossl_quic_attach_stream
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_attach)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:804,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/radix/quic_ops.c:806,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:807,1
    - Dst: check_consistent_want
      Src: /src/openssl/test/radix/quic_ops.c:807,1
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_ops.c:808,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:809,1
    - Dst: is_want
      Src: /src/openssl/test/radix/quic_ops.c:812,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:813,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:815,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/radix/quic_ops.c:815,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:819,1
    - Dst: SSL_want
      Src: /src/openssl/test/radix/quic_ops.c:819,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 825
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - REQUIRE_SSL
    - SSL_get_error
    - TEST_false
    - TEST_int_eq
    - SSL_want
    - F_SPIN_AGAIN
    - check_consistent_want
    - is_want
    - TEST_true
    - TEST_size_t_eq
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_expect_fin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:834,1
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:835,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:836,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/radix/quic_ops.c:840,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:841,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:843,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:845,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:847,1
    - Dst: TEST_info
      Src: /src/openssl/test/radix/quic_ops.c:848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 855
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - REQUIRE_SSL
    - F_POP2
    - TEST_int_eq
    - TEST_info
    - F_SPIN_AGAIN
    - TEST_uint64_t_eq
    - SSL_get_conn_close_info
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_expect_conn_close_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:864,1
    - Dst: SSL_peek_ex
      Src: /src/openssl/test/radix/quic_ops.c:866,1
    - Dst: F_SPIN_AGAIN
      Src: /src/openssl/test/radix/quic_ops.c:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 873
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_SPIN_AGAIN
    - REQUIRE_SSL
    - SSL_peek_ex
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_wait_for_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:880,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:881,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/test/radix/quic_ops.c:881,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/radix/quic_ops.c:881,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:883,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/radix/quic_ops.c:883,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/test/radix/quic_ops.c:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 875
    functionDepth: 2
    functionLinenumber: 875
    functionLinenumberEnd: 890
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - F_POP2
    - ERR_GET_REASON
    - ERR_peek_last_error
    - TEST_size_t_eq
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_expect_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:898,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:899,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:901,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/radix/quic_ops.c:901,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/radix/quic_ops.c:902,1
    - Dst: SSL_want
      Src: /src/openssl/test/radix/quic_ops.c:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 908
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - REQUIRE_SSL
    - SSL_get_error
    - TEST_int_eq
    - SSL_want
    - TEST_size_t_eq
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_expect_ssl_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:916,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_ops.c:917,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/test/radix/quic_ops.c:919,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/radix/quic_ops.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 926
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - SSL_get_stream_id
    - F_POP
    - REQUIRE_SSL
    - TEST_uint64_t_eq
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_expect_stream_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: F_POP2
      Src: /src/openssl/test/radix/quic_ops.c:935,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:936,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_ops.c:936,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_ops.c:936,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/radix/quic_ops.c:939,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:942,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 928
    functionDepth: 1
    functionLinenumber: 928
    functionLinenumberEnd: 947
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - RADIX_PROCESS_get_obj
    - F_POP2
    - RP
    - TEST_ptr
    - TEST_uint64_t_lt
    - RT
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_select_ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:954,1
    - Dst: TEST_uint64_t_lt
      Src: /src/openssl/test/radix/quic_ops.c:955,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:958,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_ops.c:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 963
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - TEST_uint64_t_lt
    - RT
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_clear_slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:970,1
    - Dst: radix_skip_time
      Src: /src/openssl/test/radix/quic_ops.c:972,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/radix/quic_ops.c:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 976
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - radix_skip_time
    - F_POP
    - ossl_ms2time
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_skip_time)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE_SSL_N
      Src: /src/openssl/test/radix/quic_ops.c:987,1
    - Dst: REQUIRE_SSL_N
      Src: /src/openssl/test/radix/quic_ops.c:988,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/radix/quic_ops.c:989,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/radix/quic_ops.c:990,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:991,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:991,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_ops.c:994,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/radix/quic_ops.c:994,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:997,1
    - Dst: BIO_get_fd
      Src: /src/openssl/test/radix/quic_ops.c:997,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/radix/quic_ops.c:998,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:1002,1
    - Dst: BIO_sock_info
      Src: /src/openssl/test/radix/quic_ops.c:1002,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/radix/quic_ops.c:1003,1
    - Dst: ntohs
      Src: /src/openssl/test/radix/quic_ops.c:1003,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/test/radix/quic_ops.c:1003,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_ops.c:1010,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/test/radix/quic_ops.c:1010,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/radix/quic_ops.c:1015,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 1017
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - REQUIRE_SSL_N
    - BIO_ADDR_new
    - BIO_sock_info
    - BIO_ADDR_free
    - TEST_int_ge
    - BIO_get_fd
    - ntohs
    - TEST_true
    - TEST_ptr
    - BIO_ADDR_rawport
    - SSL_get_rbio
    - BIO_dgram_set_peer
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_set_peer_addr_from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_ops.c:1024,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/radix/quic_ops.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1031
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached:
    - F_POP
    - OSSL_sleep
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_sleep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: OP_UNBIND
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_UNBIND(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - slot
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1041
    functionName: OP_SELECT_SSL
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SELECT_SSL(slot, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - slot
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1045
    functionName: OP_CLEAR_SLOT
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CLEAR_SLOT(slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: OP_CONNECT_WAIT
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CONNECT_WAIT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: OP_LISTEN
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_LISTEN(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: OP_NEW_SSL_C
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEW_SSL_C(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    functionName: OP_NEW_SSL_L
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEW_SSL_L(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1068
    functionName: OP_NEW_SSL_D
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEW_SSL_D(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: OP_NEW_SSL_L_LISTEN
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEW_SSL_L_LISTEN(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - domain_name
    - ','
    - listener_name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1078
    functionName: OP_NEW_SSL_L_FROM
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEW_SSL_L_FROM(domain_name, listener_name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - domain_name
    - ','
    - listener_name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: OP_NEW_SSL_L_FROM_LISTEN
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEW_SSL_L_FROM_LISTEN(domain_name, listener_name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst_name
    - ','
    - src_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1087
    functionName: OP_SET_PEER_ADDR_FROM
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SET_PEER_ADDR_FROM(dst_name, src_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1093
    functionName: OP_SIMPLE_PAIR_CONN
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SIMPLE_PAIR_CONN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1100
    functionName: OP_SIMPLE_PAIR_CONN_D
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SIMPLE_PAIR_CONN_D()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1104
    functionName: OP_SIMPLE_PAIR_CONN_ND
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SIMPLE_PAIR_CONN_ND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - conn_name
    - ','
    - stream_name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1111
    functionName: OP_NEW_STREAM
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_NEW_STREAM(conn_name, stream_name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - conn_name
    - ','
    - stream_name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1118
    functionName: OP_ACCEPT_STREAM_WAIT
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ACCEPT_STREAM_WAIT(conn_name, stream_name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - conn_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1122
    functionName: OP_ACCEPT_STREAM_NONE
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ACCEPT_STREAM_NONE(conn_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listener_name
    - ','
    - conn_name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1128
    functionName: OP_ACCEPT_CONN_WAIT
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ACCEPT_CONN_WAIT(listener_name, conn_name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listener_name
    - ','
    - conn_name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1132
    functionName: OP_ACCEPT_CONN_WAIT_ND
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ACCEPT_CONN_WAIT_ND(listener_name, conn_name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - listener_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1136
    functionName: OP_ACCEPT_CONN_NONE
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ACCEPT_CONN_NONE(listener_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listener_name
    - ','
    - conn_name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1140
    functionName: OP_ACCEPT_CONN_WAIT1
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ACCEPT_CONN_WAIT1(listener_name, conn_name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listener_name
    - ','
    - conn_name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1144
    functionName: OP_ACCEPT_CONN_WAIT1_ND
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ACCEPT_CONN_WAIT1_ND(listener_name, conn_name, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - buf_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1149
    functionName: OP_WRITE
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_WRITE(name, buf, buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - buf_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1154
    functionName: OP_WRITE_RAND
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_WRITE_RAND(name, buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1157
    functionName: OP_WRITE_B
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_WRITE_B(name, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - buf_len
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1163
    functionName: OP_WRITE_EX2
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_WRITE_EX2(name, buf, buf_len, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1167
    functionName: OP_WRITE_FAIL
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_WRITE_FAIL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1171
    functionName: OP_CONCLUDE
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CONCLUDE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - buf
    - ','
    - buf_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1176
    functionName: OP_READ_EXPECT
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_READ_EXPECT(name, buf, buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: OP_READ_EXPECT_B
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_READ_EXPECT_B(name, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: OP_READ_FAIL
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_READ_FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: OP_READ_FAIL_WAIT
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_READ_FAIL_WAIT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1192
    functionName: OP_POP_ERR
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_POP_ERR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1197
    functionName: OP_SET_DEFAULT_STREAM_MODE
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SET_DEFAULT_STREAM_MODE(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - policy
    - ','
    - error_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1203
    functionName: OP_SET_INCOMING_STREAM_POLICY
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SET_INCOMING_STREAM_POLICY(name, policy, error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - error_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1210
    functionName: OP_STREAM_RESET
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_STREAM_RESET(name, error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - flags
    - ','
    - error_code
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1216
    functionName: OP_SHUTDOWN_WAIT
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SHUTDOWN_WAIT(name, flags, error_code, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conn_name
    - ','
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1221
    functionName: OP_DETACH
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_DETACH(conn_name, stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conn_name
    - ','
    - stream_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: OP_ATTACH
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ATTACH(conn_name, stream_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1230
    functionName: OP_EXPECT_FIN
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_FIN(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - error_code
    - ','
    - expect_app
    - ','
    - expect_remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1237
    functionName: OP_EXPECT_CONN_CLOSE_INFO
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_CONN_CLOSE_INFO(name, error_code, expect_app, expect_remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1241
    functionName: OP_WAIT_FOR_DATA
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_WAIT_FOR_DATA(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lib
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1246
    functionName: OP_EXPECT_ERR
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_ERR(lib, reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1251
    functionName: OP_EXPECT_SSL_ERR
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_SSL_ERR(name, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1255
    functionName: OP_EXPECT_STREAM_ID
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_EXPECT_STREAM_ID(expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ms
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1259
    functionName: OP_SKIP_TIME
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SKIP_TIME(ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ms
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1263
    functionName: OP_SLEEP
    functionSourceFile: /src/openssl/test/radix/quic_ops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SLEEP(ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/main.c:28,1
    - Dst: bindings_process_init
      Src: /src/openssl/test/radix/main.c:28,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/main.c:33,1
    - Dst: bindings_adjust_terp_config
      Src: /src/openssl/test/radix/main.c:33,1
    - Dst: TERP_run
      Src: /src/openssl/test/radix/main.c:36,1
    - Dst: bindings_process_finish
      Src: /src/openssl/test/radix/main.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 22
    functionDepth: 7
    functionLinenumber: 22
    functionLinenumberEnd: 42
    functionName: test_script
    functionSourceFile: /src/openssl/test/radix/main.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - bindings_process_init
    - bindings_process_finish
    - bindings_adjust_terp_config
    - TERP_run
    linkageType: ''
    returnType: int
    signature: int test_script(int idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_skip_common_options
      Src: /src/openssl/test/radix/main.c:46,1
    - Dst: TEST_error
      Src: /src/openssl/test/radix/main.c:47,1
    - Dst: test_get_argument
      Src: /src/openssl/test/radix/main.c:51,1
    - Dst: test_get_argument
      Src: /src/openssl/test/radix/main.c:55,1
    - Dst: ADD_ALL_TESTS
      Src: /src/openssl/test/radix/main.c:59,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/radix/main.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: setup_tests
    functionSourceFile: /src/openssl/test/radix/main.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    - test_skip_common_options
    - test_get_argument
    - ADD_ALL_TESTS
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int setup_tests(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_tests.c:93,1
    - Dst: REQUIRE_SSL_5
      Src: /src/openssl/test/radix/quic_tests.c:94,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/radix/quic_tests.c:96,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/radix/quic_tests.c:101,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/radix/quic_tests.c:106,1
    - Dst: SSL_get0_listener
      Src: /src/openssl/test/radix/quic_tests.c:106,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/radix/quic_tests.c:145,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_tests.c:146,1
    - Dst: SSL_poll
      Src: /src/openssl/test/radix/quic_tests.c:146,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/radix/quic_tests.c:146,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/radix/quic_tests.c:150,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/radix/quic_tests.c:151,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/radix/quic_tests.c:154,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/radix/quic_tests.c:155,1
    - Dst: TEST_uint64_t_ge
      Src: /src/openssl/test/radix/quic_tests.c:162,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/radix/quic_tests.c:162,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/radix/quic_tests.c:162,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 168
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_tests.c
    functionUses: 0
    functionsReached:
    - F_POP
    - SSL_get0_listener
    - TEST_uint64_t_eq
    - SSL_as_poll_descriptor
    - REQUIRE_SSL_5
    - SSL_poll
    - ossl_time_now
    - OSSL_NELEM
    - ossl_time2ms
    - TEST_true
    - TEST_size_t_eq
    - ossl_time_subtract
    - TEST_uint64_t_ge
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(ssl_poll_check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_tests.c:254,1
    - Dst: REQUIRE_SSL
      Src: /src/openssl/test/radix/quic_tests.c:255,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/radix/quic_tests.c:257,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_tests.c:263,1
    - Dst: SSL_poll
      Src: /src/openssl/test/radix/quic_tests.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_tests.c
    functionUses: 0
    functionsReached:
    - F_POP
    - REQUIRE_SSL
    - SSL_as_poll_descriptor
    - SSL_poll
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(check_writeable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:111,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:114,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/radix/quic_bindings.c:114,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:117,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/radix/quic_bindings.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - name
    - ssl
    argTypes:
    - char*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: RADIX_OBJ_new
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - OPENSSL_free
    linkageType: ''
    returnType: RADIX_OBJ
    signature: RADIX_OBJ *RADIX_OBJ_new(const char *name, SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/test/radix/quic_bindings.c:131,1
    - Dst: SSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:133,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - RADIX_OBJ*
    assertStmts:
    - condition: (!obj->registered)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: RADIX_OBJ_free
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - OPENSSL_free
    - assert
    linkageType: ''
    returnType: void
    signature: void RADIX_OBJ_free(RADIX_OBJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/test/radix/quic_bindings.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: RADIX_OBJ_hash
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long RADIX_OBJ_hash(const RADIX_OBJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/radix/quic_bindings.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - RADIX_OBJ*
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: RADIX_OBJ_cmp
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int RADIX_OBJ_cmp(const RADIX_OBJ *a, const RADIX_OBJ *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:153,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/radix/quic_bindings.c:153,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:157,1
    - Dst: lh_RADIX_OBJ_new
      Src: /src/openssl/test/radix/quic_bindings.c:157,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:160,1
    - Dst: sk_RADIX_THREAD_new
      Src: /src/openssl/test/radix/quic_bindings.c:160,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/test/radix/quic_bindings.c:164,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:166,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/radix/quic_bindings.c:166,1
    - Dst: lh_RADIX_OBJ_free
      Src: /src/openssl/test/radix/quic_bindings.c:176,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/radix/quic_bindings.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - rp
    - node_idx
    - process_idx
    argTypes:
    - RADIX_PROCESS*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 180
    functionName: RADIX_PROCESS_init
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - lh_RADIX_OBJ_free
    - BIO_new_file
    - ossl_crypto_mutex_free
    - lh_RADIX_OBJ_new
    - sk_RADIX_THREAD_new
    - ossl_safe_getenv
    - TEST_ptr
    - ossl_crypto_mutex_new
    linkageType: ''
    returnType: int
    signature: int RADIX_PROCESS_init(RADIX_PROCESS *rp, size_t node_idx, size_t process_idx)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: stream_state_to_str
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *stream_state_to_str(int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_state_to_str
      Src: /src/openssl/test/radix/quic_bindings.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:212,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - bio
    - pfx
    - is_write
    - state
    - ec
    argTypes:
    - BIO*
    - char*
    - int
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: report_ssl_state
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - stream_state_to_str
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void report_ssl_state(BIO *bio, const char *pfx, int is_write,\n                             int
      state, uint64_t ec)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_quic
      Src: /src/openssl/test/radix/quic_bindings.c:219,1
    - Dst: SSL_is_connection
      Src: /src/openssl/test/radix/quic_bindings.c:224,1
    - Dst: SSL_is_listener
      Src: /src/openssl/test/radix/quic_bindings.c:225,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:235,1
    - Dst: SSL_get_conn_close_info
      Src: /src/openssl/test/radix/quic_bindings.c:238,1
    - Dst: ossl_quic_err_to_string
      Src: /src/openssl/test/radix/quic_bindings.c:240,1
    - Dst: ossl_quic_frame_type_to_string
      Src: /src/openssl/test/radix/quic_bindings.c:241,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:248,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/test/radix/quic_bindings.c:263,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:267,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/test/radix/quic_bindings.c:270,1
    - Dst: SSL_get_stream_write_state
      Src: /src/openssl/test/radix/quic_bindings.c:271,1
    - Dst: SSL_get_stream_read_error_code
      Src: /src/openssl/test/radix/quic_bindings.c:273,1
    - Dst: SSL_get_stream_write_error_code
      Src: /src/openssl/test/radix/quic_bindings.c:276,1
    - Dst: report_ssl_state
      Src: /src/openssl/test/radix/quic_bindings.c:279,1
    - Dst: report_ssl_state
      Src: /src/openssl/test/radix/quic_bindings.c:280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - ssl
    - bio
    - pfx
    argTypes:
    - SSL*
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 282
    functionName: report_ssl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - SSL_get_stream_write_state
    - SSL_get_stream_read_error_code
    - SSL_is_listener
    - ossl_quic_err_to_string
    - SSL_get_stream_id
    - SSL_is_quic
    - SSL_get_stream_read_state
    - ossl_quic_frame_type_to_string
    - SSL_is_connection
    - report_ssl_state
    - SSL_get_stream_write_error_code
    - BIO_printf
    - SSL_get_conn_close_info
    linkageType: ''
    returnType: void
    signature: void report_ssl(SSL *ssl, BIO *bio, const char *pfx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:289,1
    - Dst: ERR_set_mark
      Src: /src/openssl/test/radix/quic_bindings.c:290,1
    - Dst: report_ssl
      Src: /src/openssl/test/radix/quic_bindings.c:291,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/test/radix/quic_bindings.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - arg
    argTypes:
    - RADIX_OBJ*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: report_obj
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - report_ssl
    - ERR_pop_to_mark
    - ERR_set_mark
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void report_obj(RADIX_OBJ *obj, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:299,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:302,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rt
    - bio
    argTypes:
    - RADIX_THREAD*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: RADIX_THREAD_report_state
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void RADIX_THREAD_report_state(RADIX_THREAD *rt, BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:315,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:317,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/radix/quic_bindings.c:318,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:320,1
    - Dst: lh_RADIX_OBJ_doall_arg
      Src: /src/openssl/test/radix/quic_bindings.c:321,1
    - Dst: RADIX_THREAD_report_state
      Src: /src/openssl/test/radix/quic_bindings.c:324,1
    - Dst: sk_RADIX_THREAD_value
      Src: /src/openssl/test/radix/quic_bindings.c:324,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rp
    - bio
    - verbose
    argTypes:
    - RADIX_PROCESS*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 329
    functionName: RADIX_PROCESS_report_state
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - lh_RADIX_OBJ_doall_arg
    - RADIX_THREAD_report_state
    - ossl_time2ms
    - sk_RADIX_THREAD_value
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void RADIX_PROCESS_report_state(RADIX_PROCESS *rp, BIO *bio,\n                                       int
      verbose)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_RADIX_THREAD_num
      Src: /src/openssl/test/radix/quic_bindings.c:340,1
    - Dst: sk_RADIX_THREAD_value
      Src: /src/openssl/test/radix/quic_bindings.c:341,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:343,1
    - Dst: assert
      Src: /src/openssl/test/radix/quic_bindings.c:344,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:346,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:348,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/radix/quic_bindings.c:353,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/radix/quic_bindings.c:354,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/test/radix/quic_bindings.c:356,1
    - Dst: BIO_write
      Src: /src/openssl/test/radix/quic_bindings.c:357,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:358,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/test/radix/quic_bindings.c:359,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:360,1
    - Dst: RADIX_THREAD_report_state
      Src: /src/openssl/test/radix/quic_bindings.c:363,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - rp
    - bio
    argTypes:
    - RADIX_PROCESS*
    - BIO*
    assertStmts:
    - condition: (rt->done)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 368
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 368
    functionName: RADIX_PROCESS_report_thread_results
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - sk_RADIX_THREAD_num
    - BIO_printf
    - BIO_snprintf
    - BIO_get_mem_data
    - ossl_crypto_mutex_unlock
    - sk_RADIX_THREAD_value
    - RADIX_THREAD_report_state
    - ossl_crypto_mutex_lock
    - BIO_set_prefix
    - assert
    linkageType: ''
    returnType: void
    signature: void RADIX_PROCESS_report_thread_results(RADIX_PROCESS *rp, BIO *bio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_RADIX_THREAD_num
      Src: /src/openssl/test/radix/quic_bindings.c:384,1
    - Dst: sk_RADIX_THREAD_value
      Src: /src/openssl/test/radix/quic_bindings.c:385,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:387,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:389,1
    - Dst: RADIX_THREAD_join
      Src: /src/openssl/test/radix/quic_bindings.c:389,1
    - Dst: RADIX_PROCESS_report_thread_results
      Src: /src/openssl/test/radix/quic_bindings.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rp
    - testresult
    argTypes:
    - RADIX_PROCESS*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 402
    functionName: RADIX_PROCESS_join_all_threads
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - sk_RADIX_THREAD_num
    - RADIX_PROCESS_report_thread_results
    - RADIX_THREAD_join
    - sk_RADIX_THREAD_value
    - TEST_true
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int RADIX_PROCESS_join_all_threads(RADIX_PROCESS *rp, int *testresult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RADIX_OBJ_free
      Src: /src/openssl/test/radix/quic_bindings.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: cleanup_one
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - RADIX_OBJ_free
    linkageType: ''
    returnType: void
    signature: void cleanup_one(RADIX_OBJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/test/radix/quic_bindings.c:416,1
    - Dst: sk_RADIX_THREAD_num
      Src: /src/openssl/test/radix/quic_bindings.c:418,1
    - Dst: RADIX_THREAD_free
      Src: /src/openssl/test/radix/quic_bindings.c:419,1
    - Dst: sk_RADIX_THREAD_value
      Src: /src/openssl/test/radix/quic_bindings.c:419,1
    - Dst: sk_RADIX_THREAD_free
      Src: /src/openssl/test/radix/quic_bindings.c:421,1
    - Dst: lh_RADIX_OBJ_doall
      Src: /src/openssl/test/radix/quic_bindings.c:424,1
    - Dst: lh_RADIX_OBJ_free
      Src: /src/openssl/test/radix/quic_bindings.c:425,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/radix/quic_bindings.c:428,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/radix/quic_bindings.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - rp
    argTypes:
    - RADIX_PROCESS*
    assertStmts:
    - condition: (rp->done_join_all_threads)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 431
      start: 412
    functionDepth: 4
    functionLinenumber: 412
    functionLinenumberEnd: 431
    functionName: RADIX_PROCESS_cleanup
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - lh_RADIX_OBJ_doall
    - lh_RADIX_OBJ_free
    - ossl_crypto_mutex_free
    - sk_RADIX_THREAD_free
    - sk_RADIX_THREAD_num
    - BIO_free_all
    - RADIX_THREAD_free
    - sk_RADIX_THREAD_value
    - assert
    linkageType: ''
    returnType: void
    signature: void RADIX_PROCESS_cleanup(RADIX_PROCESS *rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_RADIX_OBJ_retrieve
      Src: /src/openssl/test/radix/quic_bindings.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rp
    - name
    argTypes:
    - RADIX_PROCESS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: RADIX_PROCESS_get_obj
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 4
    functionsReached:
    - lh_RADIX_OBJ_retrieve
    linkageType: ''
    returnType: RADIX_OBJ
    signature: RADIX_OBJ *RADIX_PROCESS_get_obj(RADIX_PROCESS *rp, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_false
      Src: /src/openssl/test/radix/quic_bindings.c:446,1
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_bindings.c:449,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:451,1
    - Dst: lh_RADIX_OBJ_delete
      Src: /src/openssl/test/radix/quic_bindings.c:454,1
    - Dst: RADIX_OBJ_free
      Src: /src/openssl/test/radix/quic_bindings.c:456,1
    - Dst: lh_RADIX_OBJ_insert
      Src: /src/openssl/test/radix/quic_bindings.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - rp
    - name
    - obj
    argTypes:
    - RADIX_PROCESS*
    - char*
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: RADIX_PROCESS_set_obj
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - RADIX_OBJ_free
    - RADIX_PROCESS_get_obj
    - lh_RADIX_OBJ_delete
    - TEST_false
    - lh_RADIX_OBJ_insert
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int RADIX_PROCESS_set_obj(RADIX_PROCESS *rp,\n                                 const
      char *name, RADIX_OBJ *obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:471,1
    - Dst: RADIX_OBJ_new
      Src: /src/openssl/test/radix/quic_bindings.c:471,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:474,1
    - Dst: RADIX_PROCESS_set_obj
      Src: /src/openssl/test/radix/quic_bindings.c:474,1
    - Dst: RADIX_OBJ_free
      Src: /src/openssl/test/radix/quic_bindings.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rp
    - name
    - ssl
    argTypes:
    - RADIX_PROCESS*
    - char*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 480
    functionName: RADIX_PROCESS_set_ssl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 6
    functionsReached:
    - RADIX_OBJ_free
    - RADIX_OBJ_new
    - RADIX_PROCESS_set_obj
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int RADIX_PROCESS_set_ssl(RADIX_PROCESS *rp, const char *name, SSL
      *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RADIX_PROCESS_get_obj
      Src: /src/openssl/test/radix/quic_bindings.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rp
    - name
    argTypes:
    - RADIX_PROCESS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: RADIX_PROCESS_get_ssl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 3
    functionsReached:
    - RADIX_PROCESS_get_obj
    linkageType: ''
    returnType: SSL
    signature: SSL *RADIX_PROCESS_get_ssl(RADIX_PROCESS *rp, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:496,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:497,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/radix/quic_bindings.c:497,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:503,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/radix/quic_bindings.c:503,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:504,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:509,1
    - Dst: sk_RADIX_THREAD_push
      Src: /src/openssl/test/radix/quic_bindings.c:509,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:510,1
    - Dst: assert
      Src: /src/openssl/test/radix/quic_bindings.c:515,1
    - Dst: sk_RADIX_THREAD_num
      Src: /src/openssl/test/radix/quic_bindings.c:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rp
    argTypes:
    - RADIX_PROCESS*
    assertStmts:
    - condition: (rt->thread_idx + 1 == (size_t)sk_RADIX_THREAD_num(rp->threads))
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 517
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 517
    functionName: RADIX_THREAD_new
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - sk_RADIX_THREAD_push
    - sk_RADIX_THREAD_num
    - OPENSSL_free
    - TEST_true
    - TEST_ptr
    - ossl_crypto_mutex_new
    - assert
    linkageType: ''
    returnType: RADIX_THREAD
    signature: RADIX_THREAD *RADIX_THREAD_new(RADIX_PROCESS *rp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/test/radix/quic_bindings.c:524,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/radix/quic_bindings.c:525,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:526,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/radix/quic_bindings.c:527,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/radix/quic_bindings.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rt
    argTypes:
    - RADIX_THREAD*
    assertStmts:
    - condition: (rt->t == NULL)
      pos:
        line_end: 523
        line_start: 523
        source_file: /src/openssl/test/radix/quic_bindings.c
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: RADIX_THREAD_free
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ossl_crypto_mutex_free
    - assert
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void RADIX_THREAD_free(RADIX_THREAD *rt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/test/radix/quic_bindings.c:536,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/test/radix/quic_bindings.c:538,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rt
    argTypes:
    - RADIX_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: RADIX_THREAD_join
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_thread_native_clean
    - ossl_crypto_thread_native_join
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int RADIX_THREAD_join(RADIX_THREAD *rt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_bindings.c:553,1
    - Dst: abort
      Src: /src/openssl/test/radix/quic_bindings.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: radix_thread_cleanup_tl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - abort
    - TEST_ptr_null
    linkageType: ''
    returnType: void
    signature: void radix_thread_cleanup_tl(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/radix/quic_bindings.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: radix_get_thread
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: RADIX_THREAD
    signature: RADIX_THREAD *radix_get_thread(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:564,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/radix/quic_bindings.c:565,1
    - Dst: CRYPTO_THREAD_get_local
      Src: /src/openssl/test/radix/quic_bindings.c:565,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:568,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/radix/quic_bindings.c:568,1
    - Dst: set_override_bio_out
      Src: /src/openssl/test/radix/quic_bindings.c:571,1
    - Dst: set_override_bio_err
      Src: /src/openssl/test/radix/quic_bindings.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rt
    argTypes:
    - RADIX_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 574
    functionName: radix_thread_init
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - set_override_bio_out
    - TEST_ptr_null
    - CRYPTO_THREAD_set_local
    - set_override_bio_err
    - TEST_true
    - TEST_ptr
    - CRYPTO_THREAD_get_local
    linkageType: ''
    returnType: int
    signature: int radix_thread_init(RADIX_THREAD *rt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: radix_get_thread
      Src: /src/openssl/test/radix/quic_bindings.c:578,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:580,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:583,1
    - Dst: CRYPTO_THREAD_set_local
      Src: /src/openssl/test/radix/quic_bindings.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: radix_thread_cleanup
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - radix_get_thread
    - CRYPTO_THREAD_set_local
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void radix_thread_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:591,1
    - Dst: RADIX_PROCESS_init
      Src: /src/openssl/test/radix/quic_bindings.c:591,1
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:594,1
    - Dst: CRYPTO_THREAD_init_local
      Src: /src/openssl/test/radix/quic_bindings.c:594,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:598,1
    - Dst: RADIX_THREAD_new
      Src: /src/openssl/test/radix/quic_bindings.c:598,1
    - Dst: radix_thread_init
      Src: /src/openssl/test/radix/quic_bindings.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - node_idx
    - process_idx
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 587
    functionDepth: 3
    functionLinenumber: 587
    functionLinenumberEnd: 603
    functionName: bindings_process_init
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - RADIX_THREAD_new
    - RADIX_PROCESS_init
    - TEST_true
    - radix_thread_init
    - CRYPTO_THREAD_init_local
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int bindings_process_init(size_t node_idx, size_t process_idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:609,1
    - Dst: RADIX_PROCESS_join_all_threads
      Src: /src/openssl/test/radix/quic_bindings.c:609,1
    - Dst: RADIX_PROCESS_report_state
      Src: /src/openssl/test/radix/quic_bindings.c:614,1
    - Dst: radix_thread_cleanup
      Src: /src/openssl/test/radix/quic_bindings.c:616,1
    - Dst: RADIX_PROCESS_cleanup
      Src: /src/openssl/test/radix/quic_bindings.c:617,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:620,1
    - Dst: BIO_printf
      Src: /src/openssl/test/radix/quic_bindings.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - testresult_main
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 605
    functionDepth: 6
    functionLinenumber: 605
    functionLinenumberEnd: 626
    functionName: bindings_process_finish
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - radix_thread_cleanup
    - RADIX_PROCESS_cleanup
    - RADIX_PROCESS_join_all_threads
    - RADIX_PROCESS_report_state
    - TEST_true
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int bindings_process_finish(int testresult_main)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: RP
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 630
    functionName: RT
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 225
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RT()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:635,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:635,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:636,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:637,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:637,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/radix/quic_bindings.c:639,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/radix/quic_bindings.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 640
    functionName: get_time
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 2
    functionsReached:
    - RP
    - ossl_crypto_mutex_unlock
    - ossl_time_now
    - ossl_crypto_mutex_lock
    - ossl_time_add
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME get_time(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:644,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:644,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:645,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/radix/quic_bindings.c:645,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:645,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:646,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: radix_skip_time
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached:
    - RP
    - ossl_time_add
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused radix_skip_time(OSSL_TIME t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_handle_events
      Src: /src/openssl/test/radix/quic_bindings.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: per_op_tick_obj
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    linkageType: ''
    returnType: void
    signature: void per_op_tick_obj(RADIX_OBJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_RADIX_OBJ_doall
      Src: /src/openssl/test/radix/quic_bindings.c:657,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - terp
    - arg
    argTypes:
    - TERP*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: do_per_op
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - lh_RADIX_OBJ_doall
    - RP
    linkageType: ''
    returnType: int
    signature: int do_per_op(TERP *terp, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - TERP_CONFIG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: bindings_adjust_terp_config
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bindings_adjust_terp_config(TERP_CONFIG *cfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_lt
      Src: /src/openssl/test/radix/quic_bindings.c:670,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:671,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_bindings.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - fctx
    - idx
    - p_ssl
    argTypes:
    - FUNC_CTX*
    - size_t
    - SSL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: expect_slot_ssl
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - RT
    - TEST_size_t_lt
    linkageType: ''
    returnType: int
    signature: int expect_slot_ssl(FUNC_CTX *fctx, size_t idx, SSL **p_ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 684
    functionName: REQUIRE_SSL
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 690
    functionName: REQUIRE_SSL_2
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_SSL_2(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 697
    functionName: REQUIRE_SSL_3
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_SSL_3(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: REQUIRE_SSL_4
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_SSL_4(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: REQUIRE_SSL_5
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_SSL_5(a, b, c, d, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 717
    functionName: C_BIDI_ID
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_BIDI_ID(ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 719
    functionName: S_BIDI_ID
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_BIDI_ID(ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 721
    functionName: C_UNI_ID
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C_UNI_ID(ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 723
    functionName: S_UNI_ID
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_UNI_ID(ordinal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:732,1
    - Dst: bindings_adjust_terp_config
      Src: /src/openssl/test/radix/quic_bindings.c:732,1
    - Dst: TERP_run
      Src: /src/openssl/test/radix/quic_bindings.c:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - rt
    argTypes:
    - RADIX_THREAD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 726
    functionDepth: 7
    functionLinenumber: 726
    functionLinenumberEnd: 741
    functionName: RADIX_THREAD_worker_run
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - bindings_adjust_terp_config
    - TERP_run
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int RADIX_THREAD_worker_run(RADIX_THREAD *rt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/radix/quic_bindings.c:748,1
    - Dst: radix_thread_init
      Src: /src/openssl/test/radix/quic_bindings.c:748,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:752,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:753,1
    - Dst: RADIX_THREAD_worker_run
      Src: /src/openssl/test/radix/quic_bindings.c:755,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:757,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:760,1
    - Dst: radix_thread_cleanup
      Src: /src/openssl/test/radix/quic_bindings.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 743
    functionDepth: 8
    functionLinenumber: 743
    functionLinenumberEnd: 764
    functionName: RADIX_THREAD_worker_main
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - radix_thread_cleanup
    - radix_thread_init
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - TEST_true
    - RADIX_THREAD_worker_run
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int RADIX_THREAD_worker_main(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - RADIX_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 772
    functionName: radix_activate_obj
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void radix_activate_obj(RADIX_OBJ *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: radix_activate_obj
      Src: /src/openssl/test/radix/quic_bindings.c:779,1
    - Dst: RT
      Src: /src/openssl/test/radix/quic_bindings.c:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 780
    functionName: radix_activate_slot
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 3
    functionsReached:
    - radix_activate_obj
    - RT
    linkageType: ''
    returnType: void
    signature: void radix_activate_slot(size_t idx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: F_POP
      Src: /src/openssl/test/radix/quic_bindings.c:788,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:789,1
    - Dst: TEST_skip
      Src: /src/openssl/test/radix/quic_bindings.c:793,1
    - Dst: F_SKIP_REST
      Src: /src/openssl/test/radix/quic_bindings.c:794,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:796,1
    - Dst: RADIX_THREAD_new
      Src: /src/openssl/test/radix/quic_bindings.c:796,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:799,1
    - Dst: BIO_new
      Src: /src/openssl/test/radix/quic_bindings.c:799,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/radix/quic_bindings.c:799,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:802,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/radix/quic_bindings.c:805,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/test/radix/quic_bindings.c:805,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:807,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:811,1
    - Dst: RADIX_THREAD_free
      Src: /src/openssl/test/radix/quic_bindings.c:816,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 782
    functionDepth: 5
    functionLinenumber: 782
    functionLinenumberEnd: 819
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - F_POP
    - RADIX_THREAD_new
    - BIO_new
    - ossl_crypto_thread_native_start
    - TEST_skip
    - BIO_s_mem
    - ossl_crypto_mutex_unlock
    - RADIX_THREAD_free
    - ossl_crypto_mutex_lock
    - TEST_ptr
    - F_SKIP_REST
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_spawn_thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RT
      Src: /src/openssl/test/radix/quic_bindings.c:823,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/radix/quic_bindings.c:826,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:826,1
    - Dst: lh_RADIX_OBJ_doall
      Src: /src/openssl/test/radix/quic_bindings.c:828,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:828,1
    - Dst: lh_RADIX_OBJ_flush
      Src: /src/openssl/test/radix/quic_bindings.c:829,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:829,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/radix/quic_bindings.c:836,1
    - Dst: RP
      Src: /src/openssl/test/radix/quic_bindings.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 838
    functionName: DEF_FUNC
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached:
    - lh_RADIX_OBJ_doall
    - RT
    - RP
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - lh_RADIX_OBJ_flush
    linkageType: ''
    returnType: void
    signature: void DEF_FUNC(hf_clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - script_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 842
    functionName: OP_SPAWN_THREAD
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_SPAWN_THREAD(script_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 844
    functionName: OP_CLEAR
    functionSourceFile: /src/openssl/test/radix/quic_bindings.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_CLEAR()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: select_alpn
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int select_alpn(SSL *ssl, const unsigned char **out,\n                       unsigned
      char *out_len, const unsigned char *in,\n                       unsigned int
      in_len, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:185,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:185,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:204,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:205,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:215,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:216,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:226,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:229,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 236
    functionName: create_ctx
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - fprintf
    - OSSL_QUIC_server_method
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ctx(const char *cert_path, const char *key_path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:278,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:282,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:283,1
    - Dst: setsockopt
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:293,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:294,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:302,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:304,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:311,1
    - Dst: htons
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:311,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:312,1
    - Dst: BIO_bind
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:317,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:318,1
    - Dst: BIO_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:325,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:325,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:327,1
    - Dst: BIO_set_fd
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:334,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:335,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:342,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:346,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:347,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:348,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 350
    functionName: create_socket
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_closesocket
    - memset
    - BIO_ADDR_new
    - setsockopt
    - BIO_ADDR_free
    - BIO_free
    - BIO_bind
    - BIO_s_datagram
    - BIO_socket
    - BIO_ADDR_rawmake
    - fprintf
    - htons
    - BIO_set_fd
    linkageType: ''
    returnType: BIO
    signature: BIO *create_socket(uint16_t port)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:372,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:386,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:388,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:396,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:401,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:408,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:409,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:410,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ssl
    - res
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 416
    functionName: handle_io_failure
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - SSL_get_verify_result
    - SSL_get_stream_read_state
    - X509_verify_cert_error_string
    - fprintf
    linkageType: ''
    returnType: int
    signature: int handle_io_failure(SSL *ssl, int res)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:464,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:467,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:471,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:477,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:484,1
    - Dst: strrchr
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:487,1
    - Dst: strchr
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:493,1
    - Dst: snprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:497,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:499,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:500,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:502,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:503,1
    - Dst: BIO_eof
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:508,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:510,1
    - Dst: BIO_eof
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:511,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:512,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:513,1
    - Dst: SSL_write_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:523,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:525,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:528,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:532,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:546,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:547,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:550,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 1
    argNames:
    - stream
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 448
    functionDepth: 7
    functionLinenumber: 448
    functionLinenumberEnd: 552
    functionName: process_new_stream
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - strchr
    - BIO_new_file
    - memset
    - SSL_write_ex
    - SSL_get_error
    - BIO_free
    - BIO_eof
    - handle_io_failure
    - ERR_print_errors_fp
    - snprintf
    - fprintf
    - BIO_read_ex
    - strrchr
    - SSL_stream_conclude
    linkageType: ''
    returnType: void
    signature: void process_new_stream(SSL *stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:601,1
    - Dst: SSL_new_listener
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:609,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:613,1
    - Dst: SSL_listen
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:616,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:625,1
    - Dst: printf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:628,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:629,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:631,1
    - Dst: printf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:634,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:643,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:646,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:661,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:673,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:674,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:675,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:676,1
    - Dst: ERR_reason_error_string
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:677,1
    - Dst: process_new_stream
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:680,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:681,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:689,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:692,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:696,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - sock
    argTypes:
    - SSL_CTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 590
    functionDepth: 8
    functionLinenumber: 590
    functionLinenumberEnd: 698
    functionName: run_quic_server
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - SSL_accept_stream
    - SSL_accept_connection
    - SSL_new_listener
    - SSL_free
    - ERR_clear_error
    - printf
    - ERR_reason_error_string
    - SSL_set_incoming_stream_policy
    - ERR_GET_REASON
    - process_new_stream
    - ERR_print_errors_fp
    - SSL_listen
    - fprintf
    - SSL_shutdown
    - getenv
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int run_quic_server(SSL_CTX *ctx, BIO *sock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:749,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:753,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:757,1
    - Dst: create_ctx
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:760,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:761,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:762,1
    - Dst: strtoul
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:767,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:769,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:772,1
    - Dst: create_socket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:775,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:776,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:777,1
    - Dst: run_quic_server
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:782,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:783,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:784,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:791,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c:792,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 741
    functionDepth: 7
    functionLinenumber: 741
    functionLinenumberEnd: 794
    functionName: main
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop-server.c
    functionUses: 7
    functionsReached:
    - create_socket
    - SSL_CTX_free
    - strtoul
    - BIO_free
    - run_quic_server
    - create_ctx
    - ERR_print_errors_fp
    - fprintf
    - getenv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:111,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:119,1
    - Dst: BIO_socket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:127,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:127,1
    - Dst: BIO_connect
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:132,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:132,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:133,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:143,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:144,1
    - Dst: BIO_ADDR_dup
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:153,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:153,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:155,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:161,1
    - Dst: BIO_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:168,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:168,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:170,1
    - Dst: BIO_set_fd
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:181,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:182,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - hostname
    - port
    - peer_addr
    argTypes:
    - char*
    - char*
    - BIO_ADDR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 188
    functionName: create_socket_bio
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - BIO_ADDRINFO_family
    - BIO_new
    - BIO_closesocket
    - BIO_ADDR_dup
    - BIO_free
    - BIO_socket_nbio
    - BIO_socket
    - BIO_connect
    - BIO_s_datagram
    - BIO_ADDRINFO_free
    - BIO_set_fd
    - BIO_lookup_ex
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: BIO
    signature: "BIO *create_socket_bio(const char *hostname, const char *port,\n                              BIO_ADDR
      **peer_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_fd
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:217,1
    - Dst: FD_ZERO
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:219,1
    - Dst: FD_ZERO
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:220,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:226,1
    - Dst: FD_SET
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:227,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:228,1
    - Dst: FD_SET
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:229,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:236,1
    - Dst: select
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 260
    functionName: wait_for_activity
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - SSL_net_write_desired
    - SSL_net_read_desired
    - FD_SET
    - SSL_get_fd
    - select
    - SSL_get_event_timeout
    linkageType: ''
    returnType: void
    signature: void wait_for_activity(SSL *ssl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:285,1
    - Dst: wait_for_activity
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:289,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:305,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:307,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:315,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:320,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:327,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:328,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:329,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ssl
    - res
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 335
    functionName: handle_io_failure
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 1
    functionsReached:
    - SSL_get_error
    - SSL_get_verify_result
    - SSL_get_stream_read_state
    - X509_verify_cert_error_string
    - fprintf
    - wait_for_activity
    linkageType: ''
    returnType: int
    signature: int handle_io_failure(SSL *ssl, int res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:371,1
    - Dst: BIO_flush
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - struct ssl_st*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 378
    functionName: cache_new_session
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - PEM_write_bio_SSL_SESSION
    linkageType: ''
    returnType: int
    signature: int cache_new_session(struct ssl_st *ssl, SSL_SESSION *sess)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:412,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:418,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:421,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:429,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:431,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:436,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ssl
    - ctx
    - filename
    argTypes:
    - SSL*
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 445
    functionName: setup_session_cache
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - SSL_CTX_set_session_cache_mode
    - BIO_free
    - SSL_set_session
    - PEM_read_bio_SSL_SESSION
    - SSL_CTX_sess_set_new_cb
    linkageType: ''
    returnType: int
    signature: int setup_session_cache(SSL *ssl, SSL_CTX *ctx, const char *filename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_flush
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:539,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:540,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:541,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:547,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:548,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:549,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:570,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:573,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:577,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:580,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:584,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:586,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:594,1
    - Dst: memset
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:597,1
    - Dst: BIO_snprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:598,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:601,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:603,1
    - Dst: ERR_clear_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:618,1
    - Dst: SSL_new_stream
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:619,1
    - Dst: ERR_get_error
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:621,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:622,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:627,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:628,1
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:647,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:652,1
    - Dst: strlen
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:653,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:655,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:657,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:667,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:668,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:670,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:671,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 676
    functionName: build_request_set
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - BIO_new_file
    - memset
    - SSL_free
    - SSL_write_ex2
    - SSL_handle_events
    - ERR_clear_error
    - BIO_free
    - SSL_as_poll_descriptor
    - BIO_flush
    - ERR_GET_REASON
    - OPENSSL_realloc_array
    - BIO_snprintf
    - OPENSSL_free
    - handle_io_failure
    - fprintf
    - strlen
    - SSL_new_stream
    linkageType: ''
    returnType: size_t
    signature: size_t build_request_set(SSL *ssl)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:713,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:713,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:715,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:724,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:732,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:733,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:741,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:742,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:742,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:743,1
    - Dst: SSL_new
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:749,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:751,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:755,1
    - Dst: setup_session_cache
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:756,1
    - Dst: getenv
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:756,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:757,1
    - Dst: create_socket_bio
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:766,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:768,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:771,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:777,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:778,1
    - Dst: SSL_set1_host
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:788,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:789,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:794,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:795,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:800,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:801,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:810,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:811,1
    - Dst: SSL_connect
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:816,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:817,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:819,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:825,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:826,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:827,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 4
    argNames:
    - hostname
    - port
    - ctx
    - ssl
    argTypes:
    - char*
    - char*
    - SSL_CTX**
    - SSL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 701
    functionDepth: 4
    functionLinenumber: 701
    functionLinenumberEnd: 832
    functionName: setup_connection
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 0
    functionsReached:
    - SSL_set_alpn_protos
    - SSL_set_blocking_mode
    - handle_io_failure
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - create_socket_bio
    - getenv
    - SSL_CTX_free
    - setup_session_cache
    - SSL_set_tlsext_host_name
    - OSSL_QUIC_client_method
    - SSL_set_bio
    - SSL_free
    - SSL_new
    - BIO_ADDR_free
    - SSL_CTX_set_default_verify_paths
    - SSL_connect
    - SSL_set1_initial_peer_addr
    - fprintf
    - SSL_set1_host
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: "int setup_connection(char *hostname, char *port,\n                            SSL_CTX
      **ctx, SSL **ssl)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:870,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:882,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:887,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:895,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:897,1
    - Dst: BIO_eof
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:902,1
    - Dst: BIO_read_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:903,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:904,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:908,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:910,1
    - Dst: setup_connection
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:916,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:917,1
    - Dst: strtok
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:921,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:925,1
    - Dst: strtok
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:930,1
    - Dst: build_request_set
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:934,1
    - Dst: SSL_poll
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:943,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:945,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:974,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:976,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:986,1
    - Dst: BIO_write
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:997,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:999,1
    - Dst: build_request_set
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1011,1
    - Dst: fprintf
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1020,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1021,1
    - Dst: handle_io_failure
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1022,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1035,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1042,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1043,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1044,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1045,1
    - Dst: BIO_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1047,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1048,1
    - Dst: SSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1050,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1051,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1052,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c:1053,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 119
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 858
    functionDepth: 7
    functionLinenumber: 858
    functionLinenumberEnd: 1055
    functionName: main
    functionSourceFile: /src/openssl/test/quic-openssl-docker/hq-interop/quic-hq-interop.c
    functionUses: 7
    functionsReached:
    - handle_io_failure
    - OPENSSL_free
    - SSL_poll
    - SSL_read_ex
    - BIO_write
    - OPENSSL_zalloc
    - build_request_set
    - SSL_CTX_free
    - BIO_eof
    - ERR_print_errors_fp
    - BIO_new_file
    - SSL_free
    - BIO_free
    - OPENSSL_realloc_array
    - SSL_shutdown
    - strtok
    - OPENSSL_realloc
    - BIO_ADDR_free
    - setup_connection
    - fprintf
    - BIO_read_ex
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/noisydgrambio.c:44,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:56,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:57,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:66,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:67,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:76,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:77,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:86,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:87,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:97,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:98,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/noisydgrambio.c:106,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 110
    functionName: noisy_dgram_ctrl
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - TEST_ptr
    - BIO_get_data
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long noisy_dgram_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/helpers/noisydgrambio.c:117,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/helpers/noisydgrambio.c:117,1
    - Dst: ossl_time_compare
      Src: /src/openssl/test/helpers/noisydgrambio.c:129,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:147,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/helpers/noisydgrambio.c:148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - limit
    - now
    - msg
    - num_msg
    argTypes:
    - struct bw_limiter_st*
    - OSSL_TIME
    - BIO_MSG*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 167
    functionName: bandwidth_limit
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - ossl_ms2time
    - ossl_time_compare
    - ossl_time_subtract
    - ossl_time2ms
    - printf
    linkageType: ''
    returnType: size_t
    signature: "size_t bandwidth_limit(struct bw_limiter_st *limit, OSSL_TIME now,\n
      \                             BIO_MSG *msg, size_t num_msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/noisydgrambio.c:173,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:180,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:181,1
    - Dst: struct noisy_dgram_st*::now_cb
      Src: /src/openssl/test/helpers/noisydgrambio.c:184,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/helpers/noisydgrambio.c:185,1
    - Dst: bandwidth_limit
      Src: /src/openssl/test/helpers/noisydgrambio.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/test/helpers/noisydgrambio.c:191,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/helpers/noisydgrambio.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - bio
    - msg
    - stride
    - num_msg
    - flags
    - msgs_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 200
    functionName: noisy_dgram_sendmmsg
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_sendmmsg
    - ossl_time_now
    - BIO_next
    - TEST_ptr
    - struct noisy_dgram_st*::now_cb
    - bandwidth_limit
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: "int noisy_dgram_sendmmsg(BIO *bio, BIO_MSG *msg, size_t stride,\n
      \                               size_t num_msg, uint64_t flags,\n                                size_t
      *msgs_processed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_random
      Src: /src/openssl/test/helpers/noisydgrambio.c:234,1
    - Dst: test_random
      Src: /src/openssl/test/helpers/noisydgrambio.c:240,1
    - Dst: test_random
      Src: /src/openssl/test/helpers/noisydgrambio.c:257,1
    - Dst: test_random
      Src: /src/openssl/test/helpers/noisydgrambio.c:270,1
    - Dst: test_random
      Src: /src/openssl/test/helpers/noisydgrambio.c:270,1
    - Dst: test_random
      Src: /src/openssl/test/helpers/noisydgrambio.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - noise_rate
    - long_header
    - reinject
    - should_drop
    - flip
    - flip_offset
    argTypes:
    - int
    - int
    - uint64_t*
    - int*
    - uint16_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 277
    functionName: get_noise
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - test_random
    linkageType: ''
    returnType: void
    signature: "void get_noise(int noise_rate, int long_header, uint64_t *reinject,\n
      \                     int *should_drop, uint16_t *flip, size_t *flip_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:292,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/test/helpers/noisydgrambio.c:294,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - msg
    - msg_len
    - flip
    - flip_offset
    argTypes:
    - unsigned char*
    - size_t
    - uint16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 279
    functionDepth: 3
    functionLinenumber: 279
    functionLinenumberEnd: 300
    functionName: flip_bits
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - BIO_dump_fp
    - printf
    linkageType: ''
    returnType: void
    signature: "void flip_bits(unsigned char *msg, size_t msg_len, uint16_t flip,\n
      \                     size_t flip_offset)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/noisydgrambio.c:306,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:312,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:315,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:316,1
    - Dst: TEST_size_t_le
      Src: /src/openssl/test/helpers/noisydgrambio.c:329,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/helpers/noisydgrambio.c:331,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/helpers/noisydgrambio.c:336,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:340,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:342,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/test/helpers/noisydgrambio.c:343,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:344,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:346,1
    - Dst: struct noisy_dgram_st*::now_cb
      Src: /src/openssl/test/helpers/noisydgrambio.c:349,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/helpers/noisydgrambio.c:350,1
    - Dst: bandwidth_limit
      Src: /src/openssl/test/helpers/noisydgrambio.c:353,1
    - Dst: bio_msg_copy
      Src: /src/openssl/test/helpers/noisydgrambio.c:375,1
    - Dst: bio_msg_copy
      Src: /src/openssl/test/helpers/noisydgrambio.c:378,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:383,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/test/helpers/noisydgrambio.c:384,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:385,1
    - Dst: get_noise
      Src: /src/openssl/test/helpers/noisydgrambio.c:392,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:406,1
    - Dst: flip_bits
      Src: /src/openssl/test/helpers/noisydgrambio.c:413,1
    - Dst: bio_msg_copy
      Src: /src/openssl/test/helpers/noisydgrambio.c:426,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:432,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/test/helpers/noisydgrambio.c:434,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:435,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:441,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/test/helpers/noisydgrambio.c:442,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:443,1
    - Dst: bio_msg_copy
      Src: /src/openssl/test/helpers/noisydgrambio.c:446,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:454,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:456,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/test/helpers/noisydgrambio.c:457,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:458,1
    - Dst: printf
      Src: /src/openssl/test/helpers/noisydgrambio.c:460,1
    - Dst: ERR_raise
      Src: /src/openssl/test/helpers/noisydgrambio.c:467,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 6
    argNames:
    - bio
    - msg
    - stride
    - num_msg
    - flags
    - msgs_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 472
    functionName: noisy_dgram_recvmmsg
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_le
    - bio_msg_copy
    - ERR_raise
    - BIO_dump_fp
    - get_noise
    - flip_bits
    - BIO_recvmmsg
    - ossl_time_now
    - BIO_next
    - TEST_size_t_eq
    - TEST_ptr
    - struct noisy_dgram_st*::now_cb
    - bandwidth_limit
    - BIO_get_data
    - printf
    linkageType: ''
    returnType: int
    signature: "int noisy_dgram_recvmmsg(BIO *bio, BIO_MSG *msg, size_t stride,\n
      \                               size_t num_msg, uint64_t flags,\n                                size_t
      *msgs_processed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/noisydgrambio.c:479,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/noisydgrambio.c:480,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/noisydgrambio.c:481,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/noisydgrambio.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct noisy_dgram_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 483
    functionName: data_free
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 7
    functionsReached:
    - OPENSSL_free
    - BIO_ADDR_free
    linkageType: ''
    returnType: void
    signature: void data_free(struct noisy_dgram_st *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/noisydgrambio.c:487,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/noisydgrambio.c:489,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/noisydgrambio.c:493,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/helpers/noisydgrambio.c:494,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/helpers/noisydgrambio.c:495,1
    - Dst: data_free
      Src: /src/openssl/test/helpers/noisydgrambio.c:499,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:503,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/noisydgrambio.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 507
    functionName: noisy_dgram_new
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_ADDR_new
    - data_free
    - BIO_set_data
    - BIO_set_init
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int noisy_dgram_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data_free
      Src: /src/openssl/test/helpers/noisydgrambio.c:511,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:511,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/noisydgrambio.c:512,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/noisydgrambio.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: noisy_dgram_free
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - BIO_get_data
    - data_free
    linkageType: ''
    returnType: int
    signature: int noisy_dgram_free(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/noisydgrambio.c:527,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/noisydgrambio.c:530,1
    - Dst: BIO_meth_set_sendmmsg
      Src: /src/openssl/test/helpers/noisydgrambio.c:531,1
    - Dst: BIO_meth_set_recvmmsg
      Src: /src/openssl/test/helpers/noisydgrambio.c:532,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/noisydgrambio.c:533,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/noisydgrambio.c:534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 538
    functionName: bio_f_noisy_dgram_filter
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - BIO_meth_set_recvmmsg
    - BIO_meth_set_sendmmsg
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_f_noisy_dgram_filter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/helpers/noisydgrambio.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: bio_f_noisy_dgram_filter_free
    functionSourceFile: /src/openssl/test/helpers/noisydgrambio.c
    functionUses: 1
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void bio_f_noisy_dgram_filter_free(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/test/helpers/predefined_dhparams.c:21,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/test/helpers/predefined_dhparams.c:26,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/test/helpers/predefined_dhparams.c:29,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/helpers/predefined_dhparams.c:30,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/helpers/predefined_dhparams.c:31,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/test/helpers/predefined_dhparams.c:33,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/test/helpers/predefined_dhparams.c:36,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/test/helpers/predefined_dhparams.c:38,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:42,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:43,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:44,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 5
    argNames:
    - libctx
    - type
    - p
    - g
    - q
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 18
    functionDepth: 6
    functionLinenumber: 18
    functionLinenumberEnd: 46
    functionName: get_dh_from_pg_bn
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_CTX_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *get_dh_from_pg_bn(OSSL_LIB_CTX *libctx, const char *type,\n
      \                                  BIGNUM *p, BIGNUM *g, BIGNUM *q)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/test/helpers/predefined_dhparams.c:56,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/helpers/predefined_dhparams.c:57,1
    - Dst: BN_bin2bn
      Src: /src/openssl/test/helpers/predefined_dhparams.c:60,1
    - Dst: get_dh_from_pg_bn
      Src: /src/openssl/test/helpers/predefined_dhparams.c:63,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:66,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:67,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 8
    argNames:
    - libctx
    - type
    - pdata
    - plen
    - gdata
    - glen
    - qdata
    - qlen
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 7
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: get_dh_from_pg
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 0
    functionsReached:
    - BN_bin2bn
    - BN_free
    - get_dh_from_pg_bn
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *get_dh_from_pg(OSSL_LIB_CTX *libctx, const char *type,\n
      \                               unsigned char *pdata, size_t plen,\n                                unsigned
      char *gdata, size_t glen,\n                                unsigned char *qdata,
      size_t qlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dh_from_pg
      Src: /src/openssl/test/helpers/predefined_dhparams.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 8
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: get_dh512
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 1
    functionsReached:
    - get_dh_from_pg
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_dh512(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dh_from_pg
      Src: /src/openssl/test/helpers/predefined_dhparams.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 90
    functionDepth: 8
    functionLinenumber: 90
    functionLinenumberEnd: 117
    functionName: get_dhx512
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 1
    functionsReached:
    - get_dh_from_pg
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_dhx512(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dh_from_pg
      Src: /src/openssl/test/helpers/predefined_dhparams.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 119
    functionDepth: 8
    functionLinenumber: 119
    functionLinenumberEnd: 150
    functionName: get_dh1024dsa
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 0
    functionsReached:
    - get_dh_from_pg
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_dh1024dsa(OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/test/helpers/predefined_dhparams.c:157,1
    - Dst: BN_set_word
      Src: /src/openssl/test/helpers/predefined_dhparams.c:158,1
    - Dst: BN_get_rfc3526_prime_2048
      Src: /src/openssl/test/helpers/predefined_dhparams.c:161,1
    - Dst: get_dh_from_pg_bn
      Src: /src/openssl/test/helpers/predefined_dhparams.c:165,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:168,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 7
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: get_dh2048
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 0
    functionsReached:
    - BN_get_rfc3526_prime_2048
    - get_dh_from_pg_bn
    - BN_set_word
    - BN_new
    - BN_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_dh2048(OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/test/helpers/predefined_dhparams.c:178,1
    - Dst: BN_set_word
      Src: /src/openssl/test/helpers/predefined_dhparams.c:179,1
    - Dst: BN_get_rfc3526_prime_4096
      Src: /src/openssl/test/helpers/predefined_dhparams.c:182,1
    - Dst: get_dh_from_pg_bn
      Src: /src/openssl/test/helpers/predefined_dhparams.c:186,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:189,1
    - Dst: BN_free
      Src: /src/openssl/test/helpers/predefined_dhparams.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 7
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: get_dh4096
    functionSourceFile: /src/openssl/test/helpers/predefined_dhparams.c
    functionUses: 0
    functionsReached:
    - get_dh_from_pg_bn
    - BN_set_word
    - BN_get_rfc3526_prime_4096
    - BN_new
    - BN_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_dh4096(OSSL_LIB_CTX *libctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/pktsplitbio.c:17,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/pktsplitbio.c:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 31
    functionName: pkt_split_dgram_ctrl
    functionSourceFile: /src/openssl/test/helpers/pktsplitbio.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long pkt_split_dgram_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/pktsplitbio.c:37,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/helpers/pktsplitbio.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - bio
    - msg
    - stride
    - num_msg
    - flags
    - msgs_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: pkt_split_dgram_sendmmsg
    functionSourceFile: /src/openssl/test/helpers/pktsplitbio.c
    functionUses: 0
    functionsReached:
    - BIO_sendmmsg
    - BIO_next
    linkageType: ''
    returnType: int
    signature: "int pkt_split_dgram_sendmmsg(BIO *bio, BIO_MSG *msg, size_t stride,\n
      \                                   size_t num_msg, uint64_t flags,\n                                    size_t
      *msgs_processed)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/pktsplitbio.c:53,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/pktsplitbio.c:56,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pktsplitbio.c:58,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pktsplitbio.c:58,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/helpers/pktsplitbio.c:71,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/test/helpers/pktsplitbio.c:75,1
    - Dst: assert
      Src: /src/openssl/test/helpers/pktsplitbio.c:81,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/helpers/pktsplitbio.c:88,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/test/helpers/pktsplitbio.c:92,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/helpers/pktsplitbio.c:95,1
    - Dst: bio_msg_copy
      Src: /src/openssl/test/helpers/pktsplitbio.c:98,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/pktsplitbio.c:103,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 6
    argNames:
    - bio
    - msg
    - stride
    - num_msg
    - flags
    - msgs_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts:
    - condition: (msg_cnt < num_msg)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/openssl/test/helpers/pktsplitbio.c
    constantsTouched: []
    func_position:
      end: 112
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 112
    functionName: pkt_split_dgram_recvmmsg
    functionSourceFile: /src/openssl/test/helpers/pktsplitbio.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - bio_msg_copy
    - ossl_quic_wire_decode_pkt_hdr
    - memmove
    - PACKET_remaining
    - BIO_recvmmsg
    - BIO_next
    - TEST_size_t_eq
    - TEST_ptr
    - BIO_get_data
    - assert
    linkageType: ''
    returnType: int
    signature: "int pkt_split_dgram_recvmmsg(BIO *bio, BIO_MSG *msg, size_t stride,\n
      \                                   size_t num_msg, uint64_t flags,\n                                    size_t
      *msgs_processed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/pktsplitbio.c:123,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/pktsplitbio.c:126,1
    - Dst: BIO_meth_set_sendmmsg
      Src: /src/openssl/test/helpers/pktsplitbio.c:127,1
    - Dst: BIO_meth_set_recvmmsg
      Src: /src/openssl/test/helpers/pktsplitbio.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: bio_f_pkt_split_dgram_filter
    functionSourceFile: /src/openssl/test/helpers/pktsplitbio.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_recvmmsg
    - BIO_meth_set_sendmmsg
    - BIO_meth_new
    - BIO_meth_set_ctrl
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_f_pkt_split_dgram_filter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/helpers/pktsplitbio.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: bio_f_pkt_split_dgram_filter_free
    functionSourceFile: /src/openssl/test/helpers/pktsplitbio.c
    functionUses: 1
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void bio_f_pkt_split_dgram_filter_free(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: client_srp_cb
    functionSourceFile: /src/openssl/test/helpers/handshake_srp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    linkageType: ''
    returnType: char
    signature: char *client_srp_cb(SSL *s, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake_srp.c:31,1
    - Dst: SSL_get_srp_username
      Src: /src/openssl/test/helpers/handshake_srp.c:31,1
    - Dst: SSL_set_srp_server_param_pw
      Src: /src/openssl/test/helpers/handshake_srp.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: server_srp_cb
    functionSourceFile: /src/openssl/test/helpers/handshake_srp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - SSL_set_srp_server_param_pw
    - SSL_get_srp_username
    linkageType: ''
    returnType: int
    signature: int server_srp_cb(SSL *s, int *ad, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/openssl/test/helpers/handshake_srp.c:50,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:51,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:52,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake_srp.c:54,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake_srp.c:55,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/test/helpers/handshake_srp.c:60,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake_srp.c:63,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/openssl/test/helpers/handshake_srp.c:65,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:66,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:67,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake_srp.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake_srp.c:70,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/test/helpers/handshake_srp.c:75,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake_srp.c:78,1
    - Dst: SSL_CTX_set_srp_username
      Src: /src/openssl/test/helpers/handshake_srp.c:78,1
    - Dst: SSL_CTX_set_srp_client_pwd_callback
      Src: /src/openssl/test/helpers/handshake_srp.c:81,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake_srp.c:82,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/test/helpers/handshake_srp.c:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 7
    argNames:
    - server_ctx
    - server2_ctx
    - client_ctx
    - extra
    - server_ctx_data
    - server2_ctx_data
    - client_ctx_data
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL_CTX*
    - SSL_TEST_EXTRA_CONF*
    - CTX_DATA*
    - CTX_DATA*
    - CTX_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: configure_handshake_ctx_for_srp
    functionSourceFile: /src/openssl/test/helpers/handshake_srp.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_srp_username_callback
    - SSL_CTX_set_srp_cb_arg
    - OPENSSL_free
    - SSL_CTX_set_srp_username
    - OPENSSL_strdup
    - TEST_true
    - TEST_ptr
    - SSL_CTX_set_srp_client_pwd_callback
    linkageType: ''
    returnType: int
    signature: "int configure_handshake_ctx_for_srp(SSL_CTX *server_ctx, SSL_CTX *server2_ctx,\n
      \                                   SSL_CTX *client_ctx,\n                                    const
      SSL_TEST_EXTRA_CONF *extra,\n                                    CTX_DATA *server_ctx_data,\n
      \                                   CTX_DATA *server2_ctx_data,\n                                    CTX_DATA
      *client_ctx_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:33,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/handshake.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: HANDSHAKE_RESULT_new
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - OPENSSL_zalloc
    linkageType: ''
    returnType: HANDSHAKE_RESULT
    signature: HANDSHAKE_RESULT *HANDSHAKE_RESULT_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:42,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:43,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:45,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/helpers/handshake.c:46,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/helpers/handshake.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:48,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - result
    argTypes:
    - HANDSHAKE_RESULT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: HANDSHAKE_RESULT_free
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 1
    functionsReached:
    - sk_X509_NAME_pop_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void HANDSHAKE_RESULT_free(HANDSHAKE_RESULT *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:68,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:72,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:74,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx_data
    argTypes:
    - CTX_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: ctx_data_free_data
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ctx_data_free_data(CTX_DATA *ctx_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/openssl/test/helpers/handshake.c:86,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake.c:89,1
    - Dst: SSL_alert_type_string
      Src: /src/openssl/test/helpers/handshake.c:89,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake.c:90,1
    - Dst: SSL_alert_desc_string
      Src: /src/openssl/test/helpers/handshake.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: info_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - strcmp
    - SSL_alert_type_string
    - SSL_alert_desc_string
    - SSL_get_ex_data
    linkageType: ''
    returnType: void
    signature: void info_cb(const SSL *s, int where, int ret)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/test/helpers/handshake.c:106,1
    - Dst: SSL_get_ex_data
      Src: /src/openssl/test/helpers/handshake.c:108,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake.c:115,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/helpers/handshake.c:117,1
    - Dst: SSL_clear_options
      Src: /src/openssl/test/helpers/handshake.c:123,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/helpers/handshake.c:124,1
    - Dst: SSL_CTX_get_options
      Src: /src/openssl/test/helpers/handshake.c:124,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/handshake.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - s
    - arg
    - ignore
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: select_server_ctx
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_get_servername
    - SSL_CTX_get_options
    - SSL_set_SSL_CTX
    - SSL_clear_options
    - strcmp
    - SSL_set_options
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: int select_server_ctx(SSL *s, void *arg, int ignore)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/openssl/test/helpers/handshake.c:146,1
    - Dst: SSL_client_hello_get0_ext
      Src: /src/openssl/test/helpers/handshake.c:152,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/handshake.c:179,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/helpers/handshake.c:179,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/test/helpers/handshake.c:181,1
    - Dst: SSL_clear_options
      Src: /src/openssl/test/helpers/handshake.c:187,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/helpers/handshake.c:188,1
    - Dst: SSL_CTX_get_options
      Src: /src/openssl/test/helpers/handshake.c:188,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/handshake.c:192,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/test/helpers/handshake.c:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - s
    - arg
    - ignore
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 201
    functionName: client_hello_select_server_ctx
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_options
    - SSL_set_SSL_CTX
    - SSL_clear_options
    - SSL_client_hello_get0_ext
    - SSL_set_options
    - strlen
    - SSL_get_ex_data
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int client_hello_select_server_ctx(SSL *s, void *arg, int ignore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_server_ctx
      Src: /src/openssl/test/helpers/handshake.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: servername_ignore_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - select_server_ctx
    linkageType: ''
    returnType: int
    signature: int servername_ignore_cb(SSL *s, int *ad, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: select_server_ctx
      Src: /src/openssl/test/helpers/handshake.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: servername_reject_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - select_server_ctx
    linkageType: ''
    returnType: int
    signature: int servername_reject_cb(SSL *s, int *ad, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_hello_select_server_ctx
      Src: /src/openssl/test/helpers/handshake.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: client_hello_ignore_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - client_hello_select_server_ctx
    linkageType: ''
    returnType: int
    signature: int client_hello_ignore_cb(SSL *s, int *al, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_hello_select_server_ctx
      Src: /src/openssl/test/helpers/handshake.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: client_hello_reject_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - client_hello_select_server_ctx
    linkageType: ''
    returnType: int
    signature: int client_hello_reject_cb(SSL *s, int *al, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_client_hello_get0_legacy_version
      Src: /src/openssl/test/helpers/handshake.c:247,1
    - Dst: SSL_client_hello_get0_session_id
      Src: /src/openssl/test/helpers/handshake.c:252,1
    - Dst: SSL_client_hello_get0_random
      Src: /src/openssl/test/helpers/handshake.c:254,1
    - Dst: SSL_client_hello_get0_ciphers
      Src: /src/openssl/test/helpers/handshake.c:255,1
    - Dst: SSL_client_hello_get0_compression_methods
      Src: /src/openssl/test/helpers/handshake.c:256,1
    - Dst: client_hello_select_server_ctx
      Src: /src/openssl/test/helpers/handshake.c:260,1
    - Dst: SSL_set_max_proto_version
      Src: /src/openssl/test/helpers/handshake.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - s
    - al
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 267
    functionName: client_hello_nov12_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_client_hello_get0_legacy_version
    - client_hello_select_server_ctx
    - SSL_client_hello_get0_random
    - SSL_set_max_proto_version
    - SSL_client_hello_get0_ciphers
    - SSL_client_hello_get0_session_id
    - SSL_client_hello_get0_compression_methods
    linkageType: ''
    returnType: int
    signature: int client_hello_nov12_cb(SSL *s, int *al, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/openssl/test/helpers/handshake.c:278,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/openssl/test/helpers/handshake.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:284,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: server_ocsp_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - i2d_OCSP_RESPONSE
    - SSL_set_tlsext_status_ocsp_resp
    linkageType: ''
    returnType: int
    signature: int server_ocsp_cb(SSL *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/handshake.c:295,1
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/handshake.c:300,1
    - Dst: SSL_set0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/helpers/handshake.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: server_ocsp_cb_ext
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_set0_tlsext_status_ocsp_resp_ex
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: int server_ocsp_cb_ext(SSL *s, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/openssl/test/helpers/handshake.c:313,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/test/helpers/handshake.c:316,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/helpers/handshake.c:318,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/test/helpers/handshake.c:320,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/openssl/test/helpers/handshake.c:321,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/test/helpers/handshake.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: client_ocsp_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - d2i_OCSP_RESPONSE
    - SSL_get_tlsext_status_ocsp_resp
    - OCSP_response_status
    - OCSP_RESPONSE_free
    - SSL_set_tlsext_status_ocsp_resp
    linkageType: ''
    returnType: int
    signature: int client_ocsp_cb(SSL *s, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/handshake.c:331,1
    - Dst: SSL_get0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/helpers/handshake.c:334,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/test/helpers/handshake.c:339,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/test/helpers/handshake.c:344,1
    - Dst: OCSP_response_status
      Src: /src/openssl/test/helpers/handshake.c:346,1
    - Dst: SSL_set0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/test/helpers/handshake.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: client_ocsp_cb_ext
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - sk_OCSP_RESPONSE_num
    - OCSP_response_status
    - SSL_set0_tlsext_status_ocsp_resp_ex
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    - SSL_get0_tlsext_status_ocsp_resp_ex
    linkageType: ''
    returnType: int
    signature: int client_ocsp_cb_ext(SSL *s, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_set_error
      Src: /src/openssl/test/helpers/handshake.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: verify_reject_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_set_error
    linkageType: ''
    returnType: int
    signature: int verify_reject_cb(X509_STORE_CTX *ctx, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/test/helpers/handshake.c:363,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/openssl/test/helpers/handshake.c:368,1
    - Dst: SSL_set_retry_verify
      Src: /src/openssl/test/helpers/handshake.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: verify_retry_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - X509_STORE_CTX_get_ex_data
    - SSL_set_retry_verify
    linkageType: ''
    returnType: int
    signature: int verify_retry_cb(X509_STORE_CTX *ctx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - X509_STORE_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: verify_accept_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_accept_cb(X509_STORE_CTX *ctx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - key_name
    - iv
    - ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned char*
    - EVP_CIPHER_CTX*
    - EVP_MAC_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: broken_session_ticket_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int broken_session_ticket_cb(SSL *s, unsigned char *key_name,\n                                    unsigned
      char *iv, EVP_CIPHER_CTX *ctx,\n                                    EVP_MAC_CTX
      *hctx, int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/openssl/test/helpers/handshake.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - s
    - key_name
    - iv
    - ctx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned char*
    - EVP_CIPHER_CTX*
    - EVP_MAC_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: do_not_call_session_ticket_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: "int do_not_call_session_ticket_cb(SSL *s, unsigned char *key_name,\n
      \                                        unsigned char *iv,\n                                         EVP_CIPHER_CTX
      *ctx,\n                                         EVP_MAC_CTX *hctx, int enc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/test/helpers/handshake.c:405,1
    - Dst: TEST_ptr_null
      Src: /src/openssl/test/helpers/handshake.c:414,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:416,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/handshake.c:416,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/handshake.c:424,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/helpers/handshake.c:430,1
    - Dst: TEST_size_t_gt
      Src: /src/openssl/test/helpers/handshake.c:437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - protos
    - out
    - outlen
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 446
    functionName: parse_protos
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_gt
    - TEST_ptr_null
    - memcpy
    - OPENSSL_free
    - TEST_ptr
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int parse_protos(const char *protos, unsigned char **out, size_t *outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/helpers/handshake.c:462,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: client_npn_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_true
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int client_npn_cb(SSL *s, unsigned char **out, unsigned char *outlen,\n
      \                        const unsigned char *in, unsigned int inlen,\n                         void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: server_npn_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int server_npn_cb(SSL *s, const unsigned char **data,\n                         unsigned
      int *len, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/test/helpers/handshake.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 509
    functionName: server_alpn_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int server_alpn_cb(SSL *s, const unsigned char **out,\n                          unsigned
      char *outlen, const unsigned char *in,\n                          unsigned int
      inlen, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_session
      Src: /src/openssl/test/helpers/handshake.c:514,1
    - Dst: SSL_SESSION_set1_ticket_appdata
      Src: /src/openssl/test/helpers/handshake.c:520,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/handshake.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 521
    functionName: generate_session_ticket_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_set1_ticket_appdata
    - strlen
    - SSL_get_session
    linkageType: ''
    returnType: int
    signature: int generate_session_ticket_cb(SSL *s, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - s
    - ss
    - keyname
    - keyname_len
    - status
    - arg
    argTypes:
    - SSL*
    - SSL_SESSION*
    - unsigned char*
    - size_t
    - SSL_TICKET_STATUS
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: decrypt_session_ticket_cb
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int decrypt_session_ticket_cb(SSL *s, SSL_SESSION *ss,\n                                     const
      unsigned char *keyname,\n                                     size_t keyname_len,\n
      \                                    SSL_TICKET_STATUS status,\n                                     void
      *arg)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:558,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/test/helpers/handshake.c:558,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:562,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/test/helpers/handshake.c:562,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:567,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/test/helpers/handshake.c:567,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/helpers/handshake.c:573,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/helpers/handshake.c:577,1
    - Dst: SSL_CTX_set_cert_verify_callback
      Src: /src/openssl/test/helpers/handshake.c:580,1
    - Dst: SSL_CTX_set_tlsext_max_fragment_length
      Src: /src/openssl/test/helpers/handshake.c:592,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/helpers/handshake.c:604,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/helpers/handshake.c:605,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/test/helpers/handshake.c:608,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/test/helpers/handshake.c:609,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/helpers/handshake.c:614,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/helpers/handshake.c:617,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/openssl/test/helpers/handshake.c:620,1
    - Dst: SSL_CTX_set_tlsext_status_type
      Src: /src/openssl/test/helpers/handshake.c:625,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:626,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:632,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:634,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:635,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:636,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:642,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:644,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:645,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:646,1
    - Dst: sk_OCSP_RESPONSE_new_null
      Src: /src/openssl/test/helpers/handshake.c:652,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:653,1
    - Dst: sk_OCSP_RESPONSE_push
      Src: /src/openssl/test/helpers/handshake.c:654,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:656,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:657,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:658,1
    - Dst: sk_OCSP_RESPONSE_new_null
      Src: /src/openssl/test/helpers/handshake.c:664,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:665,1
    - Dst: sk_OCSP_RESPONSE_push
      Src: /src/openssl/test/helpers/handshake.c:666,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:668,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:669,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:670,1
    - Dst: OCSP_response_create
      Src: /src/openssl/test/helpers/handshake.c:676,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:678,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/test/helpers/handshake.c:679,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/test/helpers/handshake.c:680,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/openssl/test/helpers/handshake.c:693,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/openssl/test/helpers/handshake.c:697,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:702,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:702,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/openssl/test/helpers/handshake.c:706,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:710,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:710,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:713,1
    - Dst: SSL_CTX_set_npn_advertised_cb
      Src: /src/openssl/test/helpers/handshake.c:715,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:719,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:719,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/openssl/test/helpers/handshake.c:723,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:728,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:728,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/helpers/handshake.c:732,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:735,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:736,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:736,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/test/helpers/handshake.c:741,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:748,1
    - Dst: parse_protos
      Src: /src/openssl/test/helpers/handshake.c:748,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:751,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/test/helpers/handshake.c:751,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:754,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake.c:759,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:760,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/helpers/handshake.c:762,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:766,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/test/helpers/handshake.c:769,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:770,1
    - Dst: SSL_CTX_set_session_ticket_cb
      Src: /src/openssl/test/helpers/handshake.c:772,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/openssl/test/helpers/handshake.c:780,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:781,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/handshake.c:781,1
    - Dst: TEST_long_eq
      Src: /src/openssl/test/helpers/handshake.c:782,1
    - Dst: SSL_CTX_set_tlsext_ticket_keys
      Src: /src/openssl/test/helpers/handshake.c:782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:785,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:788,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:792,1
    - Dst: SSL_CTX_set_default_ctlog_list_file
      Src: /src/openssl/test/helpers/handshake.c:792,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:796,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/openssl/test/helpers/handshake.c:796,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:801,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/openssl/test/helpers/handshake.c:801,1
    - Dst: configure_handshake_ctx_for_srp
      Src: /src/openssl/test/helpers/handshake.c:809,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:816,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/test/helpers/handshake.c:816,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:818,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/test/helpers/handshake.c:818,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 192
    argCount: 8
    argNames:
    - server_ctx
    - server2_ctx
    - client_ctx
    - test
    - extra
    - server_ctx_data
    - server2_ctx_data
    - client_ctx_data
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL_CTX*
    - SSL_TEST_CTX*
    - SSL_TEST_EXTRA_CONF*
    - CTX_DATA*
    - CTX_DATA*
    - CTX_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 825
    functionName: configure_handshake_ctx
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_tlsext_status_arg
    - SSL_CTX_set_npn_advertised_cb
    - SSL_CTX_set_tlsext_max_fragment_length
    - SSL_CTX_set_max_send_fragment
    - SSL_CTX_set_tlsext_servername_callback
    - OPENSSL_free
    - TEST_ptr
    - SSL_CTX_set_session_ticket_cb
    - SSL_CTX_set_tlsext_status_type
    - OPENSSL_zalloc
    - SSL_CTX_set_alpn_protos
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_set_cert_verify_callback
    - SSL_CTX_set_default_ctlog_list_file
    - TEST_long_eq
    - OPENSSL_strdup
    - TEST_true
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - SSL_CTX_set_next_proto_select_cb
    - configure_handshake_ctx_for_srp
    - OCSP_response_create
    - sk_OCSP_RESPONSE_new_null
    - sk_OCSP_RESPONSE_push
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_CTX_compress_certs
    - SSL_CTX_set_tlsext_status_cb
    - SSL_CTX_set_tlsext_ticket_keys
    - SSL_CTX_enable_ct
    - parse_protos
    - TEST_int_eq
    - SSL_CTX_set_client_hello_cb
    linkageType: ''
    returnType: int
    signature: "int configure_handshake_ctx(SSL_CTX *server_ctx, SSL_CTX *server2_ctx,\n
      \                                  SSL_CTX *client_ctx,\n                                   const
      SSL_TEST_CTX *test,\n                                   const SSL_TEST_EXTRA_CONF
      *extra,\n                                   CTX_DATA *server_ctx_data,\n                                   CTX_DATA
      *server2_ctx_data,\n                                   CTX_DATA *client_ctx_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/test/helpers/handshake.c:832,1
    - Dst: ssl_servername_name
      Src: /src/openssl/test/helpers/handshake.c:833,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/test/helpers/handshake.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - server
    - client
    - extra
    argTypes:
    - SSL*
    - SSL*
    - SSL_TEST_EXTRA_CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 836
    functionName: configure_handshake_ssl
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_set_post_handshake_auth
    - ssl_servername_name
    - SSL_set_tlsext_host_name
    linkageType: ''
    returnType: void
    signature: "void configure_handshake_ssl(SSL *server, SSL *client,\n                                    const
      SSL_TEST_EXTRA_CONF *extra)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:866,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/handshake.c:866,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:867,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/handshake.c:867,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:868,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/handshake.c:868,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/handshake.c:877,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:878,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:879,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - peer
    - ctx
    argTypes:
    - PEER*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 881
    functionName: create_peer
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - SSL_free
    - OPENSSL_free
    - SSL_new
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int create_peer(PEER *peer, SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/handshake.c:885,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:886,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/handshake.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 888
    functionName: peer_free_data
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void peer_free_data(PEER *peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:896,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/test/helpers/handshake.c:899,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/handshake.c:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 914
    functionName: do_handshake_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_do_handshake
    - SSL_get_error
    - TEST_int_eq
    linkageType: ''
    returnType: void
    signature: void do_handshake_step(PEER *peer)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:929,1
    - Dst: SSL_read
      Src: /src/openssl/test/helpers/handshake.c:936,1
    - Dst: TEST_int_le
      Src: /src/openssl/test/helpers/handshake.c:938,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/handshake.c:947,1
    - Dst: SSL_write
      Src: /src/openssl/test/helpers/handshake.c:959,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:962,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 986
    functionName: do_app_data_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - TEST_int_le
    - SSL_read
    - TEST_int_eq
    - SSL_write
    linkageType: ''
    returnType: void
    signature: void do_app_data_step(PEER *peer)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1000,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:1004,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:1005,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1024,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1026,1
    - Dst: SSL_renegotiate_pending
      Src: /src/openssl/test/helpers/handshake.c:1031,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1037,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/test/helpers/handshake.c:1038,1
    - Dst: SSL_set_options
      Src: /src/openssl/test/helpers/handshake.c:1043,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/test/helpers/handshake.c:1047,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/test/helpers/handshake.c:1055,1
    - Dst: SSL_renegotiate_abbreviated
      Src: /src/openssl/test/helpers/handshake.c:1057,1
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1063,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1083,1
    - Dst: SSL_key_update
      Src: /src/openssl/test/helpers/handshake.c:1090,1
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1095,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/handshake.c:1104,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/test/helpers/handshake.c:1105,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/test/helpers/handshake.c:1114,1
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1120,1
    - Dst: SSL_read
      Src: /src/openssl/test/helpers/handshake.c:1135,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/handshake.c:1144,1
    - Dst: SSL_in_init
      Src: /src/openssl/test/helpers/handshake.c:1150,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 90
    argCount: 2
    argNames:
    - test_ctx
    - peer
    argTypes:
    - SSL_TEST_CTX*
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1155
    functionName: do_reneg_setup_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_key_update
    - SSL_get_error
    - SSL_renegotiate_pending
    - SSL_in_init
    - SSL_set_options
    - SSL_renegotiate_abbreviated
    - SSL_CONNECTION_FROM_SSL_ONLY
    - TEST_int_eq
    - SSL_read
    - SSL_set_cipher_list
    - do_handshake_step
    - TEST_true
    - SSL_is_server
    - SSL_renegotiate
    - SSL_verify_client_post_handshake
    linkageType: ''
    returnType: void
    signature: void do_reneg_setup_step(const SSL_TEST_CTX *test_ctx, PEER *peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:1177,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/helpers/handshake.c:1181,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/handshake.c:1186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1191
    functionName: do_shutdown_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - SSL_shutdown
    - SSL_get_error
    - TEST_int_eq
    linkageType: ''
    returnType: void
    signature: void do_shutdown_step(PEER *peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - test_ctx
    argTypes:
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1213
    functionName: renegotiate_op
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int renegotiate_op(const SSL_TEST_CTX *test_ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - test_ctx
    argTypes:
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1224
    functionName: post_handshake_op
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int post_handshake_op(const SSL_TEST_CTX *test_ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: renegotiate_op
      Src: /src/openssl/test/helpers/handshake.c:1231,1
    - Dst: post_handshake_op
      Src: /src/openssl/test/helpers/handshake.c:1231,1
    - Dst: post_handshake_op
      Src: /src/openssl/test/helpers/handshake.c:1237,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/handshake.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - test_ctx
    - phase
    argTypes:
    - SSL_TEST_CTX*
    - connect_phase_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1251
    functionName: next_phase
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - renegotiate_op
    - TEST_error
    - post_handshake_op
    linkageType: ''
    returnType: connect_phase_t
    signature: "connect_phase_t next_phase(const SSL_TEST_CTX *test_ctx,\n                                  connect_phase_t
      phase)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1258,1
    - Dst: do_app_data_step
      Src: /src/openssl/test/helpers/handshake.c:1261,1
    - Dst: do_reneg_setup_step
      Src: /src/openssl/test/helpers/handshake.c:1264,1
    - Dst: do_handshake_step
      Src: /src/openssl/test/helpers/handshake.c:1267,1
    - Dst: do_app_data_step
      Src: /src/openssl/test/helpers/handshake.c:1270,1
    - Dst: do_shutdown_step
      Src: /src/openssl/test/helpers/handshake.c:1273,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/handshake.c:1276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - test_ctx
    - peer
    - phase
    argTypes:
    - SSL_TEST_CTX*
    - PEER*
    - connect_phase_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1253
    functionDepth: 3
    functionLinenumber: 1253
    functionLinenumberEnd: 1279
    functionName: do_connect_step
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - do_reneg_setup_step
    - do_app_data_step
    - do_shutdown_step
    - do_handshake_step
    - TEST_error
    linkageType: ''
    returnType: void
    signature: "void do_connect_step(const SSL_TEST_CTX *test_ctx, PEER *peer,\n                            connect_phase_t
      phase)"
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - last_status
    - previous_status
    - client_spoke_last
    argTypes:
    - peer_status_t
    - peer_status_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1355
    functionName: handshake_status
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: handshake_status_t
    signature: "handshake_status_t handshake_status(peer_status_t last_status,\n                                           peer_status_t
      previous_status,\n                                           int client_spoke_last)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/helpers/handshake.c:1366,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/test/helpers/handshake.c:1366,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:1367,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/test/helpers/handshake.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1369
    functionName: dup_str
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_size_t_eq
    - TEST_ptr
    - OPENSSL_strndup
    - OPENSSL_strnlen
    linkageType: ''
    returnType: char
    signature: char *dup_str(const unsigned char *in, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/test/helpers/handshake.c:1373,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/test/helpers/handshake.c:1377,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/helpers/handshake.c:1379,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/test/helpers/handshake.c:1381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1371
    functionDepth: 8
    functionLinenumber: 1371
    functionLinenumberEnd: 1382
    functionName: pkey_type
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_get_id
    - OBJ_txt2nid
    - EVP_PKEY_get_group_name
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: int
    signature: int pkey_type(EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/test/helpers/handshake.c:1386,1
    - Dst: pkey_type
      Src: /src/openssl/test/helpers/handshake.c:1389,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/test/helpers/handshake.c:1389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1384
    functionDepth: 9
    functionLinenumber: 1384
    functionLinenumberEnd: 1391
    functionName: peer_pkey_type
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - X509_get0_pubkey
    - SSL_get0_peer_certificate
    - pkey_type
    linkageType: ''
    returnType: int
    signature: int peer_pkey_type(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1404,1
    - Dst: setsockopt
      Src: /src/openssl/test/helpers/handshake.c:1408,1
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1410,1
    - Dst: setsockopt
      Src: /src/openssl/test/helpers/handshake.c:1412,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/test/helpers/handshake.c:1422,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/handshake.c:1426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1394
    functionDepth: 6
    functionLinenumber: 1394
    functionLinenumberEnd: 1429
    functionName: set_sock_as_sctp
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - memset
    - setsockopt
    - BIO_new_dgram_sctp
    linkageType: ''
    returnType: int
    signature: int set_sock_as_sctp(int sock)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/openssl/test/helpers/handshake.c:1440,1
    - Dst: BIO_lookup_ex
      Src: /src/openssl/test/helpers/handshake.c:1448,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/test/helpers/handshake.c:1452,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/test/helpers/handshake.c:1453,1
    - Dst: BIO_socket
      Src: /src/openssl/test/helpers/handshake.c:1454,1
    - Dst: set_sock_as_sctp
      Src: /src/openssl/test/helpers/handshake.c:1462,1
    - Dst: BIO_listen
      Src: /src/openssl/test/helpers/handshake.c:1463,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/test/helpers/handshake.c:1463,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/helpers/handshake.c:1465,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/test/helpers/handshake.c:1477,1
    - Dst: BIO_lookup_ex
      Src: /src/openssl/test/helpers/handshake.c:1480,1
    - Dst: BIO_socket
      Src: /src/openssl/test/helpers/handshake.c:1484,1
    - Dst: set_sock_as_sctp
      Src: /src/openssl/test/helpers/handshake.c:1488,1
    - Dst: BIO_connect
      Src: /src/openssl/test/helpers/handshake.c:1489,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/test/helpers/handshake.c:1489,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/helpers/handshake.c:1490,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/test/helpers/handshake.c:1493,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/test/helpers/handshake.c:1503,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/helpers/handshake.c:1505,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/helpers/handshake.c:1507,1
    - Dst: BIO_closesocket
      Src: /src/openssl/test/helpers/handshake.c:1509,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 2
    argNames:
    - ssock
    - csock
    argTypes:
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1431
    functionDepth: 7
    functionLinenumber: 1431
    functionLinenumberEnd: 1511
    functionName: create_sctp_socks
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - BIO_accept_ex
    - set_sock_as_sctp
    - BIO_socket_nbio
    - BIO_socket
    - BIO_listen
    - BIO_ADDRINFO_next
    - BIO_connect
    - BIO_ADDRINFO_free
    - BIO_sock_init
    - BIO_lookup_ex
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: int
    signature: int create_sctp_socks(int *ssock, int *csock)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: HANDSHAKE_RESULT_new
      Src: /src/openssl/test/helpers/handshake.c:1537,1
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1557,1
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1558,1
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1559,1
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1560,1
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1561,1
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1562,1
    - Dst: memset
      Src: /src/openssl/test/helpers/handshake.c:1563,1
    - Dst: configure_handshake_ctx
      Src: /src/openssl/test/helpers/handshake.c:1565,1
    - Dst: TEST_note
      Src: /src/openssl/test/helpers/handshake.c:1568,1
    - Dst: HANDSHAKE_RESULT_free
      Src: /src/openssl/test/helpers/handshake.c:1569,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/test/helpers/handshake.c:1575,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/test/helpers/handshake.c:1577,1
    - Dst: create_peer
      Src: /src/openssl/test/helpers/handshake.c:1581,1
    - Dst: TEST_note
      Src: /src/openssl/test/helpers/handshake.c:1582,1
    - Dst: create_peer
      Src: /src/openssl/test/helpers/handshake.c:1585,1
    - Dst: TEST_note
      Src: /src/openssl/test/helpers/handshake.c:1586,1
    - Dst: configure_handshake_ssl
      Src: /src/openssl/test/helpers/handshake.c:1593,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/test/helpers/handshake.c:1595,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:1598,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/test/helpers/handshake.c:1598,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/handshake.c:1600,1
    - Dst: SSL_set_session
      Src: /src/openssl/test/helpers/handshake.c:1600,1
    - Dst: create_sctp_socks
      Src: /src/openssl/test/helpers/handshake.c:1611,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/test/helpers/handshake.c:1612,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/test/helpers/handshake.c:1613,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/handshake.c:1617,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/helpers/handshake.c:1617,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/handshake.c:1618,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/helpers/handshake.c:1618,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:1621,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/handshake.c:1622,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/test/helpers/handshake.c:1626,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/test/helpers/handshake.c:1627,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/test/helpers/handshake.c:1629,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/test/helpers/handshake.c:1630,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/handshake.c:1634,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/handshake.c:1635,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/handshake.c:1637,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/helpers/handshake.c:1638,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/helpers/handshake.c:1638,1
    - Dst: TEST_int_gt
      Src: /src/openssl/test/helpers/handshake.c:1639,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/helpers/handshake.c:1639,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/handshake.c:1641,1
    - Dst: SSL_get_ex_new_index
      Src: /src/openssl/test/helpers/handshake.c:1644,1
    - Dst: TEST_int_ge
      Src: /src/openssl/test/helpers/handshake.c:1645,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:1646,1
    - Dst: SSL_set_ex_data
      Src: /src/openssl/test/helpers/handshake.c:1646,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/handshake.c:1647,1
    - Dst: SSL_set_ex_data
      Src: /src/openssl/test/helpers/handshake.c:1647,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/helpers/handshake.c:1650,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/test/helpers/handshake.c:1651,1
    - Dst: time
      Src: /src/openssl/test/helpers/handshake.c:1656,1
    - Dst: do_connect_step
      Src: /src/openssl/test/helpers/handshake.c:1668,1
    - Dst: handshake_status
      Src: /src/openssl/test/helpers/handshake.c:1669,1
    - Dst: do_connect_step
      Src: /src/openssl/test/helpers/handshake.c:1674,1
    - Dst: handshake_status
      Src: /src/openssl/test/helpers/handshake.c:1675,1
    - Dst: next_phase
      Src: /src/openssl/test/helpers/handshake.c:1682,1
    - Dst: time
      Src: /src/openssl/test/helpers/handshake.c:1708,1
    - Dst: SSL_version
      Src: /src/openssl/test/helpers/handshake.c:1757,1
    - Dst: SSL_version
      Src: /src/openssl/test/helpers/handshake.c:1758,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/helpers/handshake.c:1760,1
    - Dst: SSL_SESSION_get0_ticket
      Src: /src/openssl/test/helpers/handshake.c:1761,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/test/helpers/handshake.c:1762,1
    - Dst: SSL_get_current_compression
      Src: /src/openssl/test/helpers/handshake.c:1768,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/test/helpers/handshake.c:1782,1
    - Dst: dup_str
      Src: /src/openssl/test/helpers/handshake.c:1783,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/test/helpers/handshake.c:1785,1
    - Dst: dup_str
      Src: /src/openssl/test/helpers/handshake.c:1786,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/test/helpers/handshake.c:1789,1
    - Dst: dup_str
      Src: /src/openssl/test/helpers/handshake.c:1790,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/test/helpers/handshake.c:1792,1
    - Dst: dup_str
      Src: /src/openssl/test/helpers/handshake.c:1793,1
    - Dst: SSL_get0_session
      Src: /src/openssl/test/helpers/handshake.c:1795,1
    - Dst: SSL_SESSION_get0_ticket_appdata
      Src: /src/openssl/test/helpers/handshake.c:1796,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/test/helpers/handshake.c:1797,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/helpers/handshake.c:1800,1
    - Dst: SSL_session_reused
      Src: /src/openssl/test/helpers/handshake.c:1801,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/test/helpers/handshake.c:1803,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/test/helpers/handshake.c:1803,1
    - Dst: dup_str
      Src: /src/openssl/test/helpers/handshake.c:1804,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/handshake.c:1804,1
    - Dst: SSL_get1_session
      Src: /src/openssl/test/helpers/handshake.c:1807,1
    - Dst: SSL_get_session
      Src: /src/openssl/test/helpers/handshake.c:1809,1
    - Dst: SSL_SESSION_dup
      Src: /src/openssl/test/helpers/handshake.c:1816,1
    - Dst: SSL_get_peer_tmp_key
      Src: /src/openssl/test/helpers/handshake.c:1819,1
    - Dst: pkey_type
      Src: /src/openssl/test/helpers/handshake.c:1820,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/helpers/handshake.c:1821,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/test/helpers/handshake.c:1824,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/test/helpers/handshake.c:1825,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/openssl/test/helpers/handshake.c:1827,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/openssl/test/helpers/handshake.c:1828,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/test/helpers/handshake.c:1830,1
    - Dst: SSL_dup_CA_list
      Src: /src/openssl/test/helpers/handshake.c:1834,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/test/helpers/handshake.c:1836,1
    - Dst: SSL_dup_CA_list
      Src: /src/openssl/test/helpers/handshake.c:1840,1
    - Dst: peer_pkey_type
      Src: /src/openssl/test/helpers/handshake.c:1842,1
    - Dst: peer_pkey_type
      Src: /src/openssl/test/helpers/handshake.c:1843,1
    - Dst: ctx_data_free_data
      Src: /src/openssl/test/helpers/handshake.c:1845,1
    - Dst: ctx_data_free_data
      Src: /src/openssl/test/helpers/handshake.c:1846,1
    - Dst: ctx_data_free_data
      Src: /src/openssl/test/helpers/handshake.c:1847,1
    - Dst: peer_free_data
      Src: /src/openssl/test/helpers/handshake.c:1849,1
    - Dst: peer_free_data
      Src: /src/openssl/test/helpers/handshake.c:1850,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 210
    argCount: 9
    argNames:
    - server_ctx
    - server2_ctx
    - client_ctx
    - test_ctx
    - extra
    - session_in
    - serv_sess_in
    - session_out
    - serv_sess_out
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL_CTX*
    - SSL_TEST_CTX*
    - SSL_TEST_EXTRA_CONF*
    - SSL_SESSION*
    - SSL_SESSION*
    - SSL_SESSION**
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1527
    functionDepth: 10
    functionLinenumber: 1527
    functionLinenumberEnd: 1852
    functionName: do_handshake_internal
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 0
    functionsReached:
    - TEST_note
    - ctx_data_free_data
    - SSL_SESSION_get0_ticket_appdata
    - SSL_CTX_set_mode
    - SSL_SESSION_get_id
    - BIO_s_mem
    - peer_free_data
    - SSL_get_session
    - create_sctp_socks
    - do_connect_step
    - TEST_ptr
    - strlen
    - BIO_new
    - SSL_set_connect_state
    - configure_handshake_ctx
    - next_phase
    - SSL_CTX_add_session
    - SSL_get_current_compression
    - pkey_type
    - EVP_PKEY_free
    - SSL_dup_CA_list
    - BIO_set_nbio
    - handshake_status
    - TEST_true
    - create_peer
    - SSL_get0_alpn_selected
    - SSL_get_current_cipher
    - SSL_set_bio
    - HANDSHAKE_RESULT_new
    - SSL_session_reused
    - time
    - SSL_SESSION_dup
    - SSL_set_accept_state
    - SSL_SESSION_get0_ticket
    - peer_pkey_type
    - SSL_get_ex_new_index
    - SSL_version
    - BIO_new_dgram_sctp
    - SSL_set_ex_data
    - HANDSHAKE_RESULT_free
    - SSL_get_peer_tmp_key
    - dup_str
    - OPENSSL_strndup
    - BIO_up_ref
    - SSL_set_info_callback
    - memset
    - TEST_int_ge
    - TEST_int_eq
    - configure_handshake_ssl
    - SSL_get0_next_proto_negotiated
    - SSL_get0_session
    - SSL_get1_session
    - SSL_get_peer_signature_type_nid
    - SSL_get_peer_signature_nid
    - SSL_CIPHER_get_name
    - SSL_set_session
    - SSL_get0_peer_CA_list
    - TEST_int_gt
    linkageType: ''
    returnType: HANDSHAKE_RESULT
    signature: "HANDSHAKE_RESULT *do_handshake_internal(\n    SSL_CTX *server_ctx,
      SSL_CTX *server2_ctx, SSL_CTX *client_ctx,\n    const SSL_TEST_CTX *test_ctx,
      const SSL_TEST_EXTRA_CONF *extra,\n    SSL_SESSION *session_in, SSL_SESSION
      *serv_sess_in,\n    SSL_SESSION **session_out, SSL_SESSION **serv_sess_out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_handshake_internal
      Src: /src/openssl/test/helpers/handshake.c:1862,1
    - Dst: HANDSHAKE_RESULT_free
      Src: /src/openssl/test/helpers/handshake.c:1875,1
    - Dst: do_handshake_internal
      Src: /src/openssl/test/helpers/handshake.c:1877,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/helpers/handshake.c:1881,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/helpers/handshake.c:1882,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - server_ctx
    - server2_ctx
    - client_ctx
    - resume_server_ctx
    - resume_client_ctx
    - test_ctx
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL_CTX*
    - SSL_CTX*
    - SSL_CTX*
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1854
    functionDepth: 11
    functionLinenumber: 1854
    functionLinenumberEnd: 1884
    functionName: do_handshake
    functionSourceFile: /src/openssl/test/helpers/handshake.c
    functionUses: 19
    functionsReached:
    - do_handshake_internal
    - HANDSHAKE_RESULT_free
    - SSL_SESSION_free
    linkageType: ''
    returnType: HANDSHAKE_RESULT
    signature: "HANDSHAKE_RESULT *do_handshake(SSL_CTX *server_ctx, SSL_CTX *server2_ctx,\n
      \                              SSL_CTX *client_ctx, SSL_CTX *resume_server_ctx,\n
      \                              SSL_CTX *resume_client_ctx,\n                               const
      SSL_TEST_CTX *test_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: PKCS12_helper_set_write_files
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS12_helper_set_write_files(int enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: PKCS12_helper_set_legacy
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS12_helper_set_legacy(int enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: PKCS12_helper_set_libctx
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS12_helper_set_libctx(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - propq
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: PKCS12_helper_set_propq
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS12_helper_set_propq(const char *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509
      Src: /src/openssl/test/helpers/pkcs12.c:81,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: load_cert_asn1
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - TEST_ptr
    - d2i_X509
    linkageType: ''
    returnType: X509
    signature: X509 *load_cert_asn1(const unsigned char *bytes, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_AutoPrivateKey
      Src: /src/openssl/test/helpers/pkcs12.c:92,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 15
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: load_pkey_asn1
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - d2i_AutoPrivateKey
    - TEST_ptr
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_pkey_asn1(const unsigned char *bytes, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/pkcs12.c:105,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: new_pkcs12_builder
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 11
    functionsReached:
    - TEST_ptr
    - OPENSSL_malloc
    linkageType: ''
    returnType: PKCS12_BUILDER
    signature: PKCS12_BUILDER *new_pkcs12_builder(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/pkcs12.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: end_pkcs12_builder
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 11
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int end_pkcs12_builder(PKCS12_BUILDER *pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: start_pkcs12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start_pkcs12(PKCS12_BUILDER *pb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_p12
      Src: /src/openssl/test/helpers/pkcs12.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: end_pkcs12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 4
    functionsReached:
    - generate_p12
    linkageType: ''
    returnType: void
    signature: void end_pkcs12(PKCS12_BUILDER *pb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_p12
      Src: /src/openssl/test/helpers/pkcs12.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: end_pkcs12_with_mac
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 7
    functionsReached:
    - generate_p12
    linkageType: ''
    returnType: void
    signature: void end_pkcs12_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC *mac)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/pkcs12.c:154,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/helpers/pkcs12.c:154,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:155,1
    - Dst: PKCS12_add_safes
      Src: /src/openssl/test/helpers/pkcs12.c:160,1
    - Dst: PKCS12_add_safes_ex
      Src: /src/openssl/test/helpers/pkcs12.c:162,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:163,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:167,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/test/helpers/pkcs12.c:171,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/test/helpers/pkcs12.c:173,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/test/helpers/pkcs12.c:173,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:175,1
    - Dst: PKCS12_set_mac
      Src: /src/openssl/test/helpers/pkcs12.c:175,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:175,1
    - Dst: i2d_PKCS12_bio
      Src: /src/openssl/test/helpers/pkcs12.c:181,1
    - Dst: write_p12
      Src: /src/openssl/test/helpers/pkcs12.c:185,1
    - Dst: EVP_MD_free
      Src: /src/openssl/test/helpers/pkcs12.c:188,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:189,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 146
    functionDepth: 10
    functionLinenumber: 146
    functionLinenumberEnd: 190
    functionName: generate_p12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - EVP_MD_free
    - PKCS12_set_mac
    - write_p12
    - OBJ_nid2sn
    - PKCS12_add_safes_ex
    - EVP_get_digestbynid
    - EVP_MD_fetch
    - PKCS12_free
    - BIO_s_mem
    - PKCS12_add_safes
    - sk_PKCS7_pop_free
    - TEST_true
    - TEST_ptr
    - strlen
    - i2d_PKCS12_bio
    linkageType: ''
    returnType: void
    signature: void generate_p12(PKCS12_BUILDER *pb, const PKCS12_ENC *mac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/helpers/pkcs12.c:196,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:201,1
    - Dst: i2d_PKCS12_bio
      Src: /src/openssl/test/helpers/pkcs12.c:201,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/pkcs12.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - p12
    - outfile
    argTypes:
    - PKCS12*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: write_p12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 1
    functionsReached:
    - i2d_PKCS12_bio
    - BIO_new_file
    - BIO_free
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: int write_p12(PKCS12 *p12, const char *outfile)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_init_ex
      Src: /src/openssl/test/helpers/pkcs12.c:215,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:216,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/test/helpers/pkcs12.c:219,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/pkcs12.c:220,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:221,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/pkcs12.c:224,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/test/helpers/pkcs12.c:224,1
    - Dst: check_p12_mac
      Src: /src/openssl/test/helpers/pkcs12.c:227,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - bio
    - mac
    argTypes:
    - BIO*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: from_bio_p12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - d2i_PKCS12_bio
    - check_p12_mac
    - PKCS12_mac_present
    - BIO_free
    - TEST_false
    - PKCS12_free
    - PKCS12_init_ex
    - TEST_ptr
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *from_bio_p12(BIO *bio, const PKCS12_ENC *mac)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/test/helpers/pkcs12.c:241,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/test/helpers/pkcs12.c:245,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/pkcs12.c:246,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:247,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/pkcs12.c:250,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/test/helpers/pkcs12.c:250,1
    - Dst: check_p12_mac
      Src: /src/openssl/test/helpers/pkcs12.c:253,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - infile
    - mac
    argTypes:
    - char*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 260
    functionName: read_p12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - d2i_PKCS12_bio
    - check_p12_mac
    - PKCS12_mac_present
    - BIO_free
    - TEST_false
    - PKCS12_free
    - TEST_ptr
    linkageType: ''
    returnType: PKCS12
    signature: PKCS12 *read_p12(const char *infile, const PKCS12_ENC *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:264,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/test/helpers/pkcs12.c:264,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:265,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/test/helpers/pkcs12.c:265,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p12
    - mac
    argTypes:
    - PKCS12*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: check_p12_mac
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 2
    functionsReached:
    - PKCS12_mac_present
    - strlen
    - PKCS12_verify_mac
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int check_p12_mac(PKCS12 *p12, const PKCS12_ENC *mac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: start_contentinfo
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void start_contentinfo(PKCS12_BUILDER *pb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:282,1
    - Dst: PKCS12_add_safe
      Src: /src/openssl/test/helpers/pkcs12.c:282,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: end_contentinfo
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 8
    functionsReached:
    - PKCS12_add_safe
    - sk_PKCS12_SAFEBAG_pop_free
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void end_contentinfo(PKCS12_BUILDER *pb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:294,1
    - Dst: PKCS12_add_safe
      Src: /src/openssl/test/helpers/pkcs12.c:294,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:298,1
    - Dst: PKCS12_add_safe_ex
      Src: /src/openssl/test/helpers/pkcs12.c:298,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pb
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 306
    functionName: end_contentinfo_encrypted
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 4
    functionsReached:
    - PKCS12_add_safe_ex
    - PKCS12_add_safe
    - sk_PKCS12_SAFEBAG_pop_free
    - TEST_true
    linkageType: ''
    returnType: void
    signature: void end_contentinfo_encrypted(PKCS12_BUILDER *pb, const PKCS12_ENC
      *enc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/pkcs12.c:346,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:353,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/test/helpers/pkcs12.c:354,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:357,1
    - Dst: PKCS12_add_friendlyname
      Src: /src/openssl/test/helpers/pkcs12.c:357,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:360,1
    - Dst: PKCS12_add_localkeyid
      Src: /src/openssl/test/helpers/pkcs12.c:360,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:361,1
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/pkcs12.c:364,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:364,1
    - Dst: X509_ATTRIBUTE_create
      Src: /src/openssl/test/helpers/pkcs12.c:365,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/test/helpers/pkcs12.c:365,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/test/helpers/pkcs12.c:366,1
    - Dst: PKCS12_SAFEBAG_set0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:367,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/test/helpers/pkcs12.c:368,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:371,1
    - Dst: PKCS12_add1_attr_by_txt
      Src: /src/openssl/test/helpers/pkcs12.c:371,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - bag
    - attr
    argTypes:
    - PKCS12_SAFEBAG*
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 341
    functionDepth: 8
    functionLinenumber: 341
    functionLinenumberEnd: 381
    functionName: add_attributes
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - OBJ_txt2nid
    - PKCS12_SAFEBAG_get0_attrs
    - X509_ATTRIBUTE_create
    - X509_ATTRIBUTE_free
    - PKCS12_add_localkeyid
    - X509at_add1_attr
    - TEST_info
    - STACK_OF
    - PKCS12_add_friendlyname
    - PKCS12_SAFEBAG_set0_attrs
    - TEST_true
    - OBJ_txt2obj
    - strlen
    - PKCS12_add1_attr_by_txt
    linkageType: ''
    returnType: int
    signature: int add_attributes(PKCS12_SAFEBAG *bag, const PKCS12_ATTR *attr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_asn1
      Src: /src/openssl/test/helpers/pkcs12.c:393,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:394,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/test/helpers/pkcs12.c:399,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/test/helpers/pkcs12.c:399,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/pkcs12.c:401,1
    - Dst: PKCS12_add_cert
      Src: /src/openssl/test/helpers/pkcs12.c:403,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:404,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:409,1
    - Dst: add_attributes
      Src: /src/openssl/test/helpers/pkcs12.c:409,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/pkcs12.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pb
    - bytes
    - len
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 383
    functionDepth: 9
    functionLinenumber: 383
    functionLinenumberEnd: 415
    functionName: add_certbag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 7
    functionsReached:
    - PKCS12_add_cert
    - add_attributes
    - X509_get_subject_name
    - TEST_info
    - load_cert_asn1
    - OPENSSL_free
    - X509_free
    - X509_NAME_oneline
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: "void add_certbag(PKCS12_BUILDER *pb, const unsigned char *bytes, int
      len,\n                 const PKCS12_ATTR *attrs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:426,1
    - Dst: load_pkey_asn1
      Src: /src/openssl/test/helpers/pkcs12.c:428,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:429,1
    - Dst: PKCS12_add_key
      Src: /src/openssl/test/helpers/pkcs12.c:435,1
    - Dst: PKCS12_add_key_ex
      Src: /src/openssl/test/helpers/pkcs12.c:437,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:439,1
    - Dst: add_attributes
      Src: /src/openssl/test/helpers/pkcs12.c:443,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/helpers/pkcs12.c:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - pb
    - bytes
    - len
    - attrs
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 417
    functionDepth: 16
    functionLinenumber: 417
    functionLinenumberEnd: 447
    functionName: add_keybag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 5
    functionsReached:
    - add_attributes
    - load_pkey_asn1
    - PKCS12_add_key_ex
    - TEST_info
    - EVP_PKEY_free
    - PKCS12_add_key
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: "void add_keybag(PKCS12_BUILDER *pb, const unsigned char *bytes, int
      len,\n                const PKCS12_ATTR *attrs, const PKCS12_ENC *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:457,1
    - Dst: PKCS12_add_secret
      Src: /src/openssl/test/helpers/pkcs12.c:459,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:460,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:461,1
    - Dst: add_attributes
      Src: /src/openssl/test/helpers/pkcs12.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pb
    - secret_nid
    - secret
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - int
    - char*
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 449
    functionDepth: 9
    functionLinenumber: 449
    functionLinenumberEnd: 467
    functionName: add_secretbag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 3
    functionsReached:
    - add_attributes
    - PKCS12_add_secret
    - TEST_info
    - TEST_ptr
    - strlen
    linkageType: ''
    returnType: void
    signature: "void add_secretbag(PKCS12_BUILDER *pb, int secret_nid, const char
      *secret,\n                               const PKCS12_ATTR *attrs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:479,1
    - Dst: OPENSSL_uni2asc
      Src: /src/openssl/test/helpers/pkcs12.c:484,1
    - Dst: TEST_str_eq
      Src: /src/openssl/test/helpers/pkcs12.c:486,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/helpers/pkcs12.c:491,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:491,1
    - Dst: TEST_mem_eq
      Src: /src/openssl/test/helpers/pkcs12.c:497,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/pkcs12.c:509,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - av
    - txt
    argTypes:
    - ASN1_TYPE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 511
    functionName: check_asn1_string
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - OPENSSL_uni2asc
    - TEST_str_eq
    - strlen
    - OPENSSL_free
    - TEST_ptr
    - TEST_mem_eq
    linkageType: ''
    returnType: int
    signature: int check_asn1_string(const ASN1_TYPE *av, const char *txt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/test/helpers/pkcs12.c:521,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/openssl/test/helpers/pkcs12.c:525,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/test/helpers/pkcs12.c:526,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/test/helpers/pkcs12.c:527,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/pkcs12.c:531,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:532,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/test/helpers/pkcs12.c:532,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/test/helpers/pkcs12.c:535,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/test/helpers/pkcs12.c:536,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:537,1
    - Dst: check_asn1_string
      Src: /src/openssl/test/helpers/pkcs12.c:537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - bag_attrs
    - attrs
    argTypes:
    - STACK_OF*
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 513
    functionDepth: 7
    functionLinenumber: 513
    functionLinenumberEnd: 548
    functionName: check_attrs
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_get0_object
    - OBJ_obj2txt
    - sk_X509_ATTRIBUTE_value
    - X509_ATTRIBUTE_count
    - check_asn1_string
    - TEST_int_eq
    - TEST_true
    - strcmp
    - X509_ATTRIBUTE_get0_type
    - sk_X509_ATTRIBUTE_num
    linkageType: ''
    returnType: int
    signature: int check_attrs(const STACK_OF(X509_ATTRIBUTE) *bag_attrs, const PKCS12_ATTR
      *attrs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/test/helpers/pkcs12.c:560,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:561,1
    - Dst: check_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:565,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:565,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:566,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/test/helpers/pkcs12.c:566,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:567,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/test/helpers/pkcs12.c:567,1
    - Dst: PKCS12_SAFEBAG_get1_cert
      Src: /src/openssl/test/helpers/pkcs12.c:571,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:572,1
    - Dst: load_cert_asn1
      Src: /src/openssl/test/helpers/pkcs12.c:576,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/pkcs12.c:577,1
    - Dst: X509_cmp
      Src: /src/openssl/test/helpers/pkcs12.c:577,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/pkcs12.c:580,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/pkcs12.c:581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - pb
    - bytes
    - len
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 550
    functionDepth: 8
    functionLinenumber: 550
    functionLinenumberEnd: 582
    functionName: check_certbag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 7
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    - PKCS12_SAFEBAG_get_bag_nid
    - PKCS12_SAFEBAG_get0_attrs
    - check_attrs
    - TEST_false
    - TEST_int_eq
    - sk_PKCS12_SAFEBAG_value
    - load_cert_asn1
    - X509_cmp
    - PKCS12_SAFEBAG_get1_cert
    - X509_free
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: "void check_certbag(PKCS12_BUILDER *pb, const unsigned char *bytes,
      int len,\n                   const PKCS12_ATTR *attrs)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/test/helpers/pkcs12.c:596,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:597,1
    - Dst: check_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:602,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:602,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/test/helpers/pkcs12.c:607,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/openssl/test/helpers/pkcs12.c:609,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:610,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/test/helpers/pkcs12.c:610,1
    - Dst: PKCS12_decrypt_skey
      Src: /src/openssl/test/helpers/pkcs12.c:618,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:618,1
    - Dst: PKCS12_decrypt_skey_ex
      Src: /src/openssl/test/helpers/pkcs12.c:620,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/pkcs12.c:620,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:622,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:626,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/test/helpers/pkcs12.c:626,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/helpers/pkcs12.c:627,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/test/helpers/pkcs12.c:631,1
    - Dst: load_pkey_asn1
      Src: /src/openssl/test/helpers/pkcs12.c:640,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:641,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/test/helpers/pkcs12.c:641,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/helpers/pkcs12.c:644,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/test/helpers/pkcs12.c:645,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 5
    argNames:
    - pb
    - bytes
    - len
    - attrs
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - unsigned char*
    - int
    - PKCS12_ATTR*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 584
    functionDepth: 16
    functionLinenumber: 584
    functionLinenumberEnd: 646
    functionName: check_keybag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 5
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS12_SAFEBAG_get_nid
    - load_pkey_asn1
    - EVP_PKEY_eq
    - PKCS12_SAFEBAG_get0_attrs
    - check_attrs
    - PKCS12_SAFEBAG_get0_p8inf
    - EVP_PKCS82PKEY
    - sk_PKCS12_SAFEBAG_value
    - EVP_PKEY_free
    - PKCS12_decrypt_skey_ex
    - TEST_true
    - TEST_ptr
    - strlen
    - PKCS12_decrypt_skey
    linkageType: ''
    returnType: void
    signature: "void check_keybag(PKCS12_BUILDER *pb, const unsigned char *bytes,
      int len,\n                  const PKCS12_ATTR *attrs, const PKCS12_ENC *enc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/test/helpers/pkcs12.c:655,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:656,1
    - Dst: check_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:661,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/test/helpers/pkcs12.c:661,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:662,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/test/helpers/pkcs12.c:662,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:663,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/test/helpers/pkcs12.c:663,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/pkcs12.c:664,1
    - Dst: check_asn1_string
      Src: /src/openssl/test/helpers/pkcs12.c:664,1
    - Dst: PKCS12_SAFEBAG_get0_bag_obj
      Src: /src/openssl/test/helpers/pkcs12.c:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pb
    - secret_nid
    - secret
    - attrs
    argTypes:
    - PKCS12_BUILDER*
    - int
    - char*
    - PKCS12_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 648
    functionDepth: 8
    functionLinenumber: 648
    functionLinenumberEnd: 666
    functionName: check_secretbag
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 3
    functionsReached:
    - PKCS12_SAFEBAG_get_nid
    - PKCS12_SAFEBAG_get_bag_nid
    - PKCS12_SAFEBAG_get0_bag_obj
    - PKCS12_SAFEBAG_get0_attrs
    - check_attrs
    - check_asn1_string
    - TEST_int_eq
    - sk_PKCS12_SAFEBAG_value
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: void
    signature: void check_secretbag(PKCS12_BUILDER *pb, int secret_nid, const char
      *secret, const PKCS12_ATTR *attrs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: from_bio_p12
      Src: /src/openssl/test/helpers/pkcs12.c:676,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:677,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/test/helpers/pkcs12.c:681,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:682,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 687
    functionName: start_check_pkcs12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 4
    functionsReached:
    - PKCS12_unpack_authsafes
    - TEST_ptr
    - from_bio_p12
    - PKCS12_free
    linkageType: ''
    returnType: void
    signature: void start_check_pkcs12(PKCS12_BUILDER *pb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: from_bio_p12
      Src: /src/openssl/test/helpers/pkcs12.c:696,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:697,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/test/helpers/pkcs12.c:701,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:702,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 689
    functionDepth: 4
    functionLinenumber: 689
    functionLinenumberEnd: 707
    functionName: start_check_pkcs12_with_mac
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 7
    functionsReached:
    - PKCS12_unpack_authsafes
    - TEST_ptr
    - from_bio_p12
    - PKCS12_free
    linkageType: ''
    returnType: void
    signature: void start_check_pkcs12_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC
      *mac)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_p12
      Src: /src/openssl/test/helpers/pkcs12.c:716,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:717,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/test/helpers/pkcs12.c:721,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:722,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 727
    functionName: start_check_pkcs12_file
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - PKCS12_unpack_authsafes
    - TEST_ptr
    - PKCS12_free
    - read_p12
    linkageType: ''
    returnType: void
    signature: void start_check_pkcs12_file(PKCS12_BUILDER *pb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_p12
      Src: /src/openssl/test/helpers/pkcs12.c:736,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:737,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/test/helpers/pkcs12.c:741,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:742,1
    - Dst: PKCS12_free
      Src: /src/openssl/test/helpers/pkcs12.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pb
    - mac
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 729
    functionDepth: 4
    functionLinenumber: 729
    functionLinenumberEnd: 747
    functionName: start_check_pkcs12_file_with_mac
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 0
    functionsReached:
    - PKCS12_unpack_authsafes
    - TEST_ptr
    - PKCS12_free
    - read_p12
    linkageType: ''
    returnType: void
    signature: void start_check_pkcs12_file_with_mac(PKCS12_BUILDER *pb, const PKCS12_ENC
      *mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 755
    functionName: end_check_pkcs12
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 11
    functionsReached:
    - sk_PKCS7_pop_free
    linkageType: ''
    returnType: void
    signature: void end_check_pkcs12(PKCS12_BUILDER *pb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_contentinfo
      Src: /src/openssl/test/helpers/pkcs12.c:764,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:765,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:769,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/test/helpers/pkcs12.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 770
    functionName: start_check_contentinfo
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 8
    functionsReached:
    - sk_PKCS12_SAFEBAG_num
    - TEST_ptr
    - TEST_info
    - decode_contentinfo
    linkageType: ''
    returnType: void
    signature: void start_check_contentinfo(PKCS12_BUILDER *pb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decode_contentinfo
      Src: /src/openssl/test/helpers/pkcs12.c:778,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/pkcs12.c:779,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/pkcs12.c:783,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/test/helpers/pkcs12.c:783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pb
    - enc
    argTypes:
    - PKCS12_BUILDER*
    - PKCS12_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 784
    functionName: start_check_contentinfo_encrypted
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 4
    functionsReached:
    - sk_PKCS12_SAFEBAG_num
    - TEST_ptr
    - TEST_info
    - decode_contentinfo
    linkageType: ''
    returnType: void
    signature: void start_check_contentinfo_encrypted(PKCS12_BUILDER *pb, const PKCS12_ENC
      *enc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/pkcs12.c:792,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/test/helpers/pkcs12.c:792,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/test/helpers/pkcs12.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pb
    argTypes:
    - PKCS12_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 796
    functionName: end_check_contentinfo
    functionSourceFile: /src/openssl/test/helpers/pkcs12.c
    functionUses: 11
    functionsReached:
    - sk_PKCS12_SAFEBAG_num
    - TEST_int_eq
    - sk_PKCS12_SAFEBAG_pop_free
    linkageType: ''
    returnType: void
    signature: void end_check_contentinfo(PKCS12_BUILDER *pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/cmp_testlib.c:19,1
    - Dst: OSSL_CMP_MSG_read
      Src: /src/openssl/test/helpers/cmp_testlib.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - libctx
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: load_pkimsg
    functionSourceFile: /src/openssl/test/helpers/cmp_testlib.c
    functionUses: 18
    functionsReached:
    - TEST_ptr
    - OSSL_CMP_MSG_read
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *load_pkimsg(const char *file, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i2d_OSSL_CMP_MSG
      Src: /src/openssl/test/helpers/cmp_testlib.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: valid_asn1_encoding
    functionSourceFile: /src/openssl/test/helpers/cmp_testlib.c
    functionUses: 0
    functionsReached:
    - i2d_OSSL_CMP_MSG
    linkageType: ''
    returnType: int
    signature: int valid_asn1_encoding(const OSSL_CMP_MSG *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/test/helpers/cmp_testlib.c:46,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/helpers/cmp_testlib.c:46,1
    - Dst: sk_X509_num
      Src: /src/openssl/test/helpers/cmp_testlib.c:48,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/helpers/cmp_testlib.c:49,1
    - Dst: sk_X509_value
      Src: /src/openssl/test/helpers/cmp_testlib.c:50,1
    - Dst: X509_cmp
      Src: /src/openssl/test/helpers/cmp_testlib.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - sk1
    - sk2
    argTypes:
    - STACK_OF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: STACK_OF_X509_cmp
    functionSourceFile: /src/openssl/test/helpers/cmp_testlib.c
    functionUses: 3
    functionsReached:
    - sk_X509_value
    - sk_X509_num
    - X509_cmp
    linkageType: ''
    returnType: int
    signature: int STACK_OF_X509_cmp(const STACK_OF(X509) *sk1, const STACK_OF(X509)
      *sk2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/openssl/test/helpers/cmp_testlib.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: print_to_bio_out
    functionSourceFile: /src/openssl/test/helpers/cmp_testlib.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_print_to_bio
    linkageType: ''
    returnType: int
    signature: "int print_to_bio_out(const char *func, const char *file, int line,\n
      \                    OSSL_CMP_severity level, const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtest_get_time
      Src: /src/openssl/test/helpers/quictestlib.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: fake_now_cb
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - qtest_get_time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now_cb(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/helpers/quictestlib.c:106,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/test/helpers/quictestlib.c:109,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:118,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:119,1
    - Dst: SSL_is_server
      Src: /src/openssl/test/helpers/quictestlib.c:125,1
    - Dst: SSL_trace
      Src: /src/openssl/test/helpers/quictestlib.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: noise_msg_callback
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - BIO_ctrl
    - ossl_quic_wire_peek_frame_header
    - SSL_trace
    - SSL_is_server
    linkageType: ''
    returnType: void
    signature: "void noise_msg_callback(int write_p, int version, int content_type,\n
      \                              const void *buf, size_t len, SSL *ssl,\n                               void
      *arg)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/test/helpers/quictestlib.c:147,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/test/helpers/quictestlib.c:153,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/test/helpers/quictestlib.c:155,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/quictestlib.c:162,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/quictestlib.c:169,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/quictestlib.c:176,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:177,1
    - Dst: BIO_new_fp
      Src: /src/openssl/test/helpers/quictestlib.c:183,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:184,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/helpers/quictestlib.c:187,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/helpers/quictestlib.c:188,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/quictestlib.c:195,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/test/helpers/quictestlib.c:195,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:198,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/helpers/quictestlib.c:198,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:209,1
    - Dst: create_test_sockets
      Src: /src/openssl/test/helpers/quictestlib.c:209,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/helpers/quictestlib.c:211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:212,1
    - Dst: close
      Src: /src/openssl/test/helpers/quictestlib.c:213,1
    - Dst: close
      Src: /src/openssl/test/helpers/quictestlib.c:214,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/test/helpers/quictestlib.c:217,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:218,1
    - Dst: close
      Src: /src/openssl/test/helpers/quictestlib.c:219,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:228,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/test/helpers/quictestlib.c:228,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:231,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/test/helpers/quictestlib.c:231,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:232,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/test/helpers/quictestlib.c:232,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:235,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/helpers/quictestlib.c:235,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:238,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/helpers/quictestlib.c:238,1
    - Dst: htons
      Src: /src/openssl/test/helpers/quictestlib.c:239,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/quictestlib.c:240,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:243,1
    - Dst: BIO_dgram_set0_local_addr
      Src: /src/openssl/test/helpers/quictestlib.c:243,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/quictestlib.c:244,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:248,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/helpers/quictestlib.c:248,1
    - Dst: htons
      Src: /src/openssl/test/helpers/quictestlib.c:249,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/quictestlib.c:254,1
    - Dst: bio_f_pkt_split_dgram_filter
      Src: /src/openssl/test/helpers/quictestlib.c:254,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:256,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/quictestlib.c:258,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/quictestlib.c:259,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/quictestlib.c:261,1
    - Dst: bio_f_pkt_split_dgram_filter
      Src: /src/openssl/test/helpers/quictestlib.c:261,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:262,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/quictestlib.c:264,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/quictestlib.c:265,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:275,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/quictestlib.c:278,1
    - Dst: bio_f_noisy_dgram_filter
      Src: /src/openssl/test/helpers/quictestlib.c:278,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:280,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/quictestlib.c:282,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:284,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:284,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/quictestlib.c:289,1
    - Dst: bio_f_noisy_dgram_filter
      Src: /src/openssl/test/helpers/quictestlib.c:289,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:291,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/quictestlib.c:293,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:295,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:295,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:300,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/test/helpers/quictestlib.c:307,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/test/helpers/quictestlib.c:308,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/quictestlib.c:311,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:313,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/test/helpers/quictestlib.c:313,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:317,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/test/helpers/quictestlib.c:317,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/quictestlib.c:320,1
    - Dst: qtest_get_bio_method
      Src: /src/openssl/test/helpers/quictestlib.c:320,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:321,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/quictestlib.c:324,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/helpers/quictestlib.c:326,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:328,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/quictestlib.c:328,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/quictestlib.c:329,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:337,1
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/test/helpers/quictestlib.c:337,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/test/helpers/quictestlib.c:341,1
    - Dst: qtest_reset_time
      Src: /src/openssl/test/helpers/quictestlib.c:347,1
    - Dst: ossl_quic_set_override_now_cb
      Src: /src/openssl/test/helpers/quictestlib.c:349,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:354,1
    - Dst: ossl_quic_tserver_new
      Src: /src/openssl/test/helpers/quictestlib.c:354,1
    - Dst: ossl_quic_tserver_get_short_header_conn_id_len
      Src: /src/openssl/test/helpers/quictestlib.c:358,1
    - Dst: ossl_quic_tserver_set_msg_callback
      Src: /src/openssl/test/helpers/quictestlib.c:364,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/quictestlib.c:370,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/helpers/quictestlib.c:374,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/quictestlib.c:375,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/helpers/quictestlib.c:376,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/helpers/quictestlib.c:377,1
    - Dst: BIO_free_all
      Src: /src/openssl/test/helpers/quictestlib.c:378,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:379,1
    - Dst: ossl_quic_tserver_free
      Src: /src/openssl/test/helpers/quictestlib.c:381,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:383,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:384,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/quictestlib.c:385,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 206
    argCount: 10
    argNames:
    - libctx
    - clientctx
    - serverctx
    - certfile
    - keyfile
    - flags
    - qtserv
    - cssl
    - fault
    - tracebio
    argTypes:
    - OSSL_LIB_CTX*
    - SSL_CTX*
    - SSL_CTX*
    - char*
    - char*
    - int
    - QUIC_TSERVER**
    - SSL**
    - QTEST_FAULT**
    - BIO**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 131
    functionDepth: 6
    functionLinenumber: 131
    functionLinenumberEnd: 390
    functionName: qtest_create_quic_objects
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 23
    functionsReached:
    - BIO_ADDR_new
    - BIO_new_fp
    - bio_f_pkt_split_dgram_filter
    - SSL_set_alpn_protos
    - SSL_set_blocking_mode
    - OPENSSL_free
    - SSL_set_msg_callback
    - BIO_dgram_set0_local_addr
    - BIO_ADDR_rawmake
    - qtest_get_bio_method
    - TEST_ptr
    - ossl_crypto_mutex_new
    - BIO_new
    - OPENSSL_zalloc
    - ossl_quic_tserver_new
    - SSL_CTX_free
    - BIO_new_bio_dgram_pair
    - SSL_CTX_up_ref
    - BIO_ctrl
    - create_test_sockets
    - ossl_quic_tserver_set_msg_callback
    - BIO_free_all
    - BIO_push
    - TEST_true
    - SSL_set_bio
    - ossl_quic_tserver_get_short_header_conn_id_len
    - SSL_free
    - qtest_reset_time
    - ossl_crypto_condvar_new
    - BIO_free
    - close
    - BIO_set_data
    - SSL_new
    - CRYPTO_THREAD_lock_new
    - SSL_set_msg_callback_arg
    - ossl_quic_tserver_free
    - bio_f_noisy_dgram_filter
    - BIO_up_ref
    - ossl_crypto_condvar_free
    - BIO_ADDR_free
    - TEST_false
    - TEST_int_eq
    - BIO_dgram_set_caps
    - SSL_set1_initial_peer_addr
    - ossl_quic_set_override_now_cb
    - htons
    - BIO_new_dgram
    linkageType: ''
    returnType: int
    signature: "int qtest_create_quic_objects(OSSL_LIB_CTX *libctx, SSL_CTX *clientctx,\n
      \                             SSL_CTX *serverctx, char *certfile, char *keyfile,\n
      \                             int flags, QUIC_TSERVER **qtserv, SSL **cssl,\n
      \                             QTEST_FAULT **fault, BIO **tracebio)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/helpers/quictestlib.c:394,1
    - Dst: ossl_time_add
      Src: /src/openssl/test/helpers/quictestlib.c:396,1
    - Dst: ossl_ms2time
      Src: /src/openssl/test/helpers/quictestlib.c:396,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - millis
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: qtest_add_time
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 7
    functionsReached:
    - ossl_time_add
    - ossl_ms2time
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void qtest_add_time(uint64_t millis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/test/helpers/quictestlib.c:404,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/helpers/quictestlib.c:405,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: qtest_get_time
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - ossl_time_zero
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME qtest_get_time(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/test/helpers/quictestlib.c:413,1
    - Dst: ossl_time_zero
      Src: /src/openssl/test/helpers/quictestlib.c:415,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:416,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/helpers/quictestlib.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: qtest_reset_time
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - ossl_time_zero
    - CRYPTO_THREAD_write_lock
    - qtest_add_time
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void qtest_reset_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtest_get_time
      Src: /src/openssl/test/helpers/quictestlib.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: qtest_start_stopwatch
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - qtest_get_time
    linkageType: ''
    returnType: void
    signature: void qtest_start_stopwatch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time2ms
      Src: /src/openssl/test/helpers/quictestlib.c:428,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/helpers/quictestlib.c:428,1
    - Dst: qtest_get_time
      Src: /src/openssl/test/helpers/quictestlib.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: qtest_get_stopwatch_time
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - ossl_time_subtract
    - ossl_time2ms
    - qtest_get_time
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t qtest_get_stopwatch_time(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/quictestlib.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ts
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 442
    functionName: qtest_create_injector
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: QTEST_FAULT
    signature: QTEST_FAULT *qtest_create_injector(QUIC_TSERVER *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 451
    functionName: qtest_supports_blocking
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qtest_supports_blocking(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtest_create_quic_connection
      Src: /src/openssl/test/helpers/quictestlib.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: run_server_thread
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - qtest_create_quic_connection
    linkageType: ''
    returnType: void
    signature: void run_server_thread(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_blocking_mode
      Src: /src/openssl/test/helpers/quictestlib.c:478,1
    - Dst: BIO_pending
      Src: /src/openssl/test/helpers/quictestlib.c:482,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/test/helpers/quictestlib.c:482,1
    - Dst: BIO_pending
      Src: /src/openssl/test/helpers/quictestlib.c:483,1
    - Dst: ossl_quic_tserver_get0_rbio
      Src: /src/openssl/test/helpers/quictestlib.c:483,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/test/helpers/quictestlib.c:493,1
    - Dst: qtest_get_time
      Src: /src/openssl/test/helpers/quictestlib.c:497,1
    - Dst: ossl_time_now
      Src: /src/openssl/test/helpers/quictestlib.c:499,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/test/helpers/quictestlib.c:501,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/test/helpers/quictestlib.c:501,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/test/helpers/quictestlib.c:502,1
    - Dst: ossl_quic_tserver_get_deadline
      Src: /src/openssl/test/helpers/quictestlib.c:502,1
    - Dst: ossl_time_min
      Src: /src/openssl/test/helpers/quictestlib.c:503,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/test/helpers/quictestlib.c:504,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/helpers/quictestlib.c:508,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/helpers/quictestlib.c:508,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/helpers/quictestlib.c:510,1
    - Dst: ossl_time2ms
      Src: /src/openssl/test/helpers/quictestlib.c:510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - s
    - qtserv
    argTypes:
    - SSL*
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 513
    functionName: qtest_wait_for_timeout
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - ossl_time_min
    - BIO_pending
    - ossl_time_infinite
    - qtest_get_time
    - ossl_time_is_infinite
    - ossl_time_from_timeval
    - OSSL_sleep
    - SSL_get_blocking_mode
    - SSL_get_event_timeout
    - ossl_time_now
    - ossl_time_subtract
    - ossl_quic_tserver_get_deadline
    - ossl_time2ms
    - ossl_quic_tserver_get0_rbio
    - SSL_get_rbio
    - qtest_add_time
    linkageType: ''
    returnType: int
    signature: int qtest_wait_for_timeout(SSL *s, QUIC_TSERVER *qtserv)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/helpers/quictestlib.c:535,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:537,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:541,1
    - Dst: SSL_get_blocking_mode
      Src: /src/openssl/test/helpers/quictestlib.c:545,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:552,1
    - Dst: run_thread
      Src: /src/openssl/test/helpers/quictestlib.c:552,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/quictestlib.c:558,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/helpers/quictestlib.c:568,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/test/helpers/quictestlib.c:570,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:571,1
    - Dst: SSL_connect
      Src: /src/openssl/test/helpers/quictestlib.c:573,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/quictestlib.c:575,1
    - Dst: tsan_store
      Src: /src/openssl/test/helpers/quictestlib.c:581,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/quictestlib.c:588,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/helpers/quictestlib.c:589,1
    - Dst: qtest_add_time
      Src: /src/openssl/test/helpers/quictestlib.c:596,1
    - Dst: SSL_handle_events
      Src: /src/openssl/test/helpers/quictestlib.c:598,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/helpers/quictestlib.c:601,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/test/helpers/quictestlib.c:605,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:607,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/helpers/quictestlib.c:609,1
    - Dst: ossl_quic_tserver_is_term_any
      Src: /src/openssl/test/helpers/quictestlib.c:613,1
    - Dst: ossl_quic_tserver_is_handshake_confirmed
      Src: /src/openssl/test/helpers/quictestlib.c:615,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/quictestlib.c:622,1
    - Dst: qtest_wait_for_timeout
      Src: /src/openssl/test/helpers/quictestlib.c:627,1
    - Dst: defined
      Src: /src/openssl/test/helpers/quictestlib.c:632,1
    - Dst: tsan_load
      Src: /src/openssl/test/helpers/quictestlib.c:633,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/test/helpers/quictestlib.c:643,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/test/helpers/quictestlib.c:645,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/test/helpers/quictestlib.c:646,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:647,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/helpers/quictestlib.c:647,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:647,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/quictestlib.c:650,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 98
    argCount: 3
    argNames:
    - qtserv
    - clientssl
    - wanterr
    argTypes:
    - QUIC_TSERVER*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 659
    functionName: qtest_create_quic_connection_ex
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - qtest_wait_for_timeout
    - ossl_quic_tserver_is_handshake_confirmed
    - SSL_get_blocking_mode
    - TEST_openssl_errors
    - TEST_ptr
    - qtest_add_time
    - SSL_get_error
    - TEST_info
    - ossl_crypto_mutex_lock
    - TEST_true
    - wait_for_thread
    - tsan_store
    - TEST_error
    - SSL_handle_events
    - ossl_quic_tserver_tick
    - defined
    - ossl_quic_tserver_is_term_any
    - tsan_load
    - run_thread
    - SSL_connect
    - ossl_crypto_mutex_unlock
    - ossl_crypto_condvar_broadcast
    - ossl_crypto_condvar_wait
    linkageType: ''
    returnType: int
    signature: "int qtest_create_quic_connection_ex(QUIC_TSERVER *qtserv, SSL *clientssl,\n
      \                                   int wanterr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtest_create_quic_connection_ex
      Src: /src/openssl/test/helpers/quictestlib.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qtserv
    - clientssl
    argTypes:
    - QUIC_TSERVER*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: qtest_create_quic_connection
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 22
    functionsReached:
    - qtest_create_quic_connection_ex
    linkageType: ''
    returnType: int
    signature: int qtest_create_quic_connection(QUIC_TSERVER *qtserv, SSL *clientssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/helpers/quictestlib.c:677,1
    - Dst: tsan_load
      Src: /src/openssl/test/helpers/quictestlib.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 679
    functionName: run_server_shutdown_thread
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tserver_tick
    - tsan_load
    linkageType: ''
    returnType: void
    signature: void run_server_shutdown_thread(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/test/helpers/quictestlib.c:693,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/test/helpers/quictestlib.c:695,1
    - Dst: SSL_get_blocking_mode
      Src: /src/openssl/test/helpers/quictestlib.c:699,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:707,1
    - Dst: run_thread
      Src: /src/openssl/test/helpers/quictestlib.c:707,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/quictestlib.c:712,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/helpers/quictestlib.c:719,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/helpers/quictestlib.c:730,1
    - Dst: tsan_store
      Src: /src/openssl/test/helpers/quictestlib.c:734,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:736,1
    - Dst: wait_for_thread
      Src: /src/openssl/test/helpers/quictestlib.c:736,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - qtserv
    - clientssl
    argTypes:
    - QUIC_TSERVER*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 742
    functionName: qtest_shutdown
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 3
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_crypto_condvar_free
    - ossl_quic_tserver_tick
    - tsan_store
    - run_thread
    - SSL_get_blocking_mode
    - TEST_true
    - SSL_shutdown
    - wait_for_thread
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int qtest_shutdown(QUIC_TSERVER *qtserv, SSL *clientssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/test/helpers/quictestlib.c:748,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:753,1
    - Dst: ossl_quic_tserver_is_term_any
      Src: /src/openssl/test/helpers/quictestlib.c:753,1
    - Dst: ossl_quic_tserver_get_terminate_cause
      Src: /src/openssl/test/helpers/quictestlib.c:756,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:757,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:758,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/quictestlib.c:759,1
    - Dst: TEST_uint64_t_eq
      Src: /src/openssl/test/helpers/quictestlib.c:760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - qtserv
    - code
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: qtest_check_server_transport_err
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tserver_is_term_any
    - ossl_quic_tserver_get_terminate_cause
    - TEST_uint64_t_eq
    - TEST_false
    - ossl_quic_tserver_tick
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int qtest_check_server_transport_err(QUIC_TSERVER *qtserv, uint64_t
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtest_check_server_transport_err
      Src: /src/openssl/test/helpers/quictestlib.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtserv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 769
    functionName: qtest_check_server_protocol_err
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - qtest_check_server_transport_err
    linkageType: ''
    returnType: int
    signature: int qtest_check_server_protocol_err(QUIC_TSERVER *qtserv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qtest_check_server_transport_err
      Src: /src/openssl/test/helpers/quictestlib.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtserv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: qtest_check_server_frame_encoding_err
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - qtest_check_server_transport_err
    linkageType: ''
    returnType: int
    signature: int qtest_check_server_frame_encoding_err(QUIC_TSERVER *qtserv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packet_plain_finish
      Src: /src/openssl/test/helpers/quictestlib.c:781,1
    - Dst: handshake_finish
      Src: /src/openssl/test/helpers/quictestlib.c:782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fault
    argTypes:
    - QTEST_FAULT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: qtest_fault_free
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 8
    functionsReached:
    - OPENSSL_free
    - packet_plain_finish
    - handshake_finish
    linkageType: ''
    returnType: void
    signature: void qtest_fault_free(QTEST_FAULT *fault)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/test/helpers/quictestlib.c:817,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/quictestlib.c:820,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:830,1
    - Dst: QTEST_FAULT*::pplaincb
      Src: /src/openssl/test/helpers/quictestlib.c:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 7
    argNames:
    - hdrin
    - iovecin
    - numin
    - hdrout
    - iovecout
    - numout
    - arg
    argTypes:
    - QUIC_PKT_HDR*
    - OSSL_QTX_IOVEC*
    - size_t
    - QUIC_PKT_HDR**
    - OSSL_QTX_IOVEC**
    - size_t*
    - void*
    assertStmts:
    - condition: (grow_allowance >= 0)
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/openssl/test/helpers/quictestlib.c
    constantsTouched: []
    func_position:
      end: 852
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 852
    functionName: packet_plain_mutate
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - QTEST_FAULT*::pplaincb
    - OPENSSL_malloc
    - assert
    linkageType: ''
    returnType: int
    signature: "int packet_plain_mutate(const QUIC_PKT_HDR *hdrin,\n                               const
      OSSL_QTX_IOVEC *iovecin, size_t numin,\n                               QUIC_PKT_HDR
      **hdrout,\n                               const OSSL_QTX_IOVEC **iovecout,\n
      \                              size_t *numout,\n                               void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 863
    functionName: packet_plain_finish
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void packet_plain_finish(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_set_plain_packet_mutator
      Src: /src/openssl/test/helpers/quictestlib.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fault
    - pplaincb
    - pplaincbarg
    argTypes:
    - QTEST_FAULT*
    - qtest_fault_on_packet_plain_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: qtest_fault_set_packet_plain_listener
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 3
    functionsReached:
    - ossl_quic_tserver_set_plain_packet_mutator
    linkageType: ''
    returnType: int
    signature: "int qtest_fault_set_packet_plain_listener(QTEST_FAULT *fault,\n                                          qtest_fault_on_packet_plain_cb
      pplaincb,\n                                          void *pplaincbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/helpers/quictestlib.c:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - fault
    - newlen
    argTypes:
    - QTEST_FAULT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 908
    functionName: qtest_fault_resize_plain_packet
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int qtest_fault_resize_plain_packet(QTEST_FAULT *fault, size_t newlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:932,1
    - Dst: qtest_fault_resize_plain_packet
      Src: /src/openssl/test/helpers/quictestlib.c:932,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/quictestlib.c:936,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fault
    - frame
    - frame_len
    argTypes:
    - QTEST_FAULT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 940
    functionName: qtest_fault_prepend_frame
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 19
    functionsReached:
    - memcpy
    - qtest_fault_resize_plain_packet
    - memmove
    - TEST_true
    linkageType: ''
    returnType: int
    signature: "int qtest_fault_prepend_frame(QTEST_FAULT *fault, const unsigned char
      *frame,\n                              size_t frame_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/quictestlib.c:952,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:959,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/helpers/quictestlib.c:961,1
    - Dst: PACKET_get_1
      Src: /src/openssl/test/helpers/quictestlib.c:962,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/test/helpers/quictestlib.c:963,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/helpers/quictestlib.c:964,1
    - Dst: PACKET_data
      Src: /src/openssl/test/helpers/quictestlib.c:980,1
    - Dst: QTEST_FAULT*::encextcb
      Src: /src/openssl/test/helpers/quictestlib.c:982,1
    - Dst: QTEST_FAULT*::handshakecb
      Src: /src/openssl/test/helpers/quictestlib.c:992,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - msgin
    - msginlen
    - msgout
    - msgoutlen
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 1000
    functionName: handshake_mutate
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - PACKET_get_net_3
    - PACKET_buf_init
    - memcpy
    - QTEST_FAULT*::handshakecb
    - PACKET_get_1
    - PACKET_remaining
    - PACKET_data
    - QTEST_FAULT*::encextcb
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int handshake_mutate(const unsigned char *msgin, size_t msginlen,\n
      \                           unsigned char **msgout, size_t *msgoutlen,\n                            void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1008
    functionName: handshake_finish
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void handshake_finish(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_set_handshake_mutator
      Src: /src/openssl/test/helpers/quictestlib.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fault
    - handshakecb
    - handshakecbarg
    argTypes:
    - QTEST_FAULT*
    - qtest_fault_on_handshake_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1021
    functionName: qtest_fault_set_handshake_listener
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tserver_set_handshake_mutator
    linkageType: ''
    returnType: int
    signature: "int qtest_fault_set_handshake_listener(QTEST_FAULT *fault,\n                                       qtest_fault_on_handshake_cb
      handshakecb,\n                                       void *handshakecbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tserver_set_handshake_mutator
      Src: /src/openssl/test/helpers/quictestlib.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fault
    - encextcb
    - encextcbarg
    argTypes:
    - QTEST_FAULT*
    - qtest_fault_on_enc_ext_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1034
    functionName: qtest_fault_set_hand_enc_ext_listener
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - ossl_quic_tserver_set_handshake_mutator
    linkageType: ''
    returnType: int
    signature: "int qtest_fault_set_hand_enc_ext_listener(QTEST_FAULT *fault,\n                                          qtest_fault_on_enc_ext_cb
      encextcb,\n                                          void *encextcbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/helpers/quictestlib.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - fault
    - newlen
    argTypes:
    - QTEST_FAULT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1063
    functionName: qtest_fault_resize_handshake
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int qtest_fault_resize_handshake(QTEST_FAULT *fault, size_t newlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qtest_fault_resize_handshake
      Src: /src/openssl/test/helpers/quictestlib.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fault
    - newlen
    argTypes:
    - QTEST_FAULT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1078
    functionName: qtest_fault_resize_message
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - qtest_fault_resize_handshake
    linkageType: ''
    returnType: int
    signature: int qtest_fault_resize_message(QTEST_FAULT *fault, size_t newlen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/helpers/quictestlib.c:1092,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/test/helpers/quictestlib.c:1096,1
    - Dst: PACKET_data
      Src: /src/openssl/test/helpers/quictestlib.c:1100,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/test/helpers/quictestlib.c:1101,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/test/helpers/quictestlib.c:1102,1
    - Dst: PACKET_data
      Src: /src/openssl/test/helpers/quictestlib.c:1107,1
    - Dst: WPACKET_init
      Src: /src/openssl/test/helpers/quictestlib.c:1110,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:1113,1
    - Dst: PACKET_data
      Src: /src/openssl/test/helpers/quictestlib.c:1113,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/helpers/quictestlib.c:1114,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/test/helpers/quictestlib.c:1115,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/test/helpers/quictestlib.c:1116,1
    - Dst: WPACKET_finish
      Src: /src/openssl/test/helpers/quictestlib.c:1120,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/quictestlib.c:1130,1
    - Dst: qtest_fault_resize_message
      Src: /src/openssl/test/helpers/quictestlib.c:1154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - fault
    - exttype
    - ext
    - extlen
    - old_ext
    argTypes:
    - QTEST_FAULT*
    - unsigned int
    - unsigned char*
    - size_t*
    - BUF_MEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1080
    functionDepth: 5
    functionLinenumber: 1080
    functionLinenumberEnd: 1158
    functionName: qtest_fault_delete_extension
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - WPACKET_finish
    - PACKET_buf_init
    - WPACKET_cleanup
    - qtest_fault_resize_message
    - PACKET_get_net_2
    - PACKET_as_length_prefixed_2
    - memmove
    - WPACKET_get_total_written
    - PACKET_remaining
    - PACKET_data
    - WPACKET_init
    - PACKET_get_length_prefixed_2
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int qtest_fault_delete_extension(QTEST_FAULT *fault,\n                                 unsigned
      int exttype, unsigned char *ext,\n                                 size_t *extlen,\n
      \                                BUF_MEM *old_ext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - array
    - ','
    - stride
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1165
    functionName: BIO_MSG_N
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_MSG_N(array, stride, n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/quictestlib.c:1170,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/quictestlib.c:1181,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/helpers/quictestlib.c:1184,1
    - Dst: BIO_MSG_N
      Src: /src/openssl/test/helpers/quictestlib.c:1192,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/quictestlib.c:1195,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:1198,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/test/helpers/quictestlib.c:1203,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/test/helpers/quictestlib.c:1207,1
    - Dst: QTEST_DATA*::fault::pciphercb
      Src: /src/openssl/test/helpers/quictestlib.c:1216,1
    - Dst: PACKET_remaining
      Src: /src/openssl/test/helpers/quictestlib.c:1228,1
    - Dst: QTEST_DATA*::fault::datagramcb
      Src: /src/openssl/test/helpers/quictestlib.c:1232,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/test/helpers/quictestlib.c:1236,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:1241,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:1249,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 6
    argNames:
    - b
    - msg
    - stride
    - num_msg
    - flags
    - num_processed
    argTypes:
    - BIO*
    - BIO_MSG*
    - size_t
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1166
    functionDepth: 3
    functionLinenumber: 1166
    functionLinenumberEnd: 1252
    functionName: pcipher_sendmmsg
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - QTEST_DATA*::fault::pciphercb
    - ossl_quic_wire_decode_pkt_hdr
    - memcpy
    - PACKET_remaining
    - BIO_sendmmsg
    - OPENSSL_free
    - BIO_next
    - BIO_get_data
    - QTEST_DATA*::fault::datagramcb
    - OPENSSL_malloc
    - BIO_MSG_N
    linkageType: ''
    returnType: int
    signature: "int pcipher_sendmmsg(BIO *b, BIO_MSG *msg, size_t stride,\n                            size_t
      num_msg, uint64_t flags,\n                            size_t *num_processed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/quictestlib.c:1256,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - b
    - cmd
    - larg
    - parg
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1262
    functionName: pcipher_ctrl
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long pcipher_ctrl(BIO *b, int cmd, long larg, void *parg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/quictestlib.c:1266,1
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/quictestlib.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1268
    functionName: pcipher_destroy
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int pcipher_destroy(BIO *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/quictestlib.c:1277,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:1279,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1282,1
    - Dst: BIO_meth_set_sendmmsg
      Src: /src/openssl/test/helpers/quictestlib.c:1282,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1283,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1283,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1284,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/quictestlib.c:1284,1
    - Dst: BIO_meth_free
      Src: /src/openssl/test/helpers/quictestlib.c:1290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1292
    functionName: qtest_get_bio_method
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_ctrl
    - BIO_meth_free
    - TEST_true
    - TEST_ptr
    - BIO_meth_set_sendmmsg
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *qtest_get_bio_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fault
    - pciphercb
    - pciphercbarg
    argTypes:
    - QTEST_FAULT*
    - qtest_fault_on_packet_cipher_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1302
    functionName: qtest_fault_set_packet_cipher_listener
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int qtest_fault_set_packet_cipher_listener(QTEST_FAULT *fault,\n                                           qtest_fault_on_packet_cipher_cb
      pciphercb,\n                                           void *pciphercbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fault
    - datagramcb
    - datagramcbarg
    argTypes:
    - QTEST_FAULT*
    - qtest_fault_on_datagram_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1312
    functionName: qtest_fault_set_datagram_listener
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int qtest_fault_set_datagram_listener(QTEST_FAULT *fault,\n                                      qtest_fault_on_datagram_cb
      datagramcb,\n                                      void *datagramcbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/helpers/quictestlib.c:1321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fault
    - newlen
    argTypes:
    - QTEST_FAULT*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1327
    functionName: qtest_fault_resize_datagram
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int qtest_fault_resize_datagram(QTEST_FAULT *fault, size_t newlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:1336,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/quictestlib.c:1336,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:1338,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1338,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:1340,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1340,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:1343,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1343,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/quictestlib.c:1346,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/quictestlib.c:1346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - fault
    - ctos_bw
    - stoc_bw
    - noise_rate
    argTypes:
    - QTEST_FAULT*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1329
    functionDepth: 3
    functionLinenumber: 1329
    functionLinenumberEnd: 1350
    functionName: qtest_fault_set_bw_limit
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 1
    functionsReached:
    - BIO_ctrl
    - TEST_ptr
    - TEST_int_eq
    linkageType: ''
    returnType: int
    signature: "int qtest_fault_set_bw_limit(QTEST_FAULT *fault,\n                             size_t
      ctos_bw, size_t stoc_bw,\n                             int noise_rate)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/test/helpers/quictestlib.c:1359,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1364,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/test/helpers/quictestlib.c:1364,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/test/helpers/quictestlib.c:1367,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/quictestlib.c:1370,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/test/helpers/quictestlib.c:1370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - BIO_MSG*
    - BIO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1374
    functionName: bio_msg_copy
    functionSourceFile: /src/openssl/test/helpers/quictestlib.c
    functionUses: 2
    functionsReached:
    - memcpy
    - BIO_ADDR_copy
    - BIO_ADDR_clear
    - TEST_true
    linkageType: ''
    returnType: int
    signature: int bio_msg_copy(BIO_MSG *dst, BIO_MSG *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/ssltestlib.c:57,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/helpers/ssltestlib.c:60,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/helpers/ssltestlib.c:61,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/helpers/ssltestlib.c:62,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/helpers/ssltestlib.c:63,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:64,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/ssltestlib.c:65,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/ssltestlib.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: bio_f_tls_dump_filter
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_write
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_f_tls_dump_filter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/helpers/ssltestlib.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: bio_f_tls_dump_filter_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void bio_f_tls_dump_filter_free(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: tls_dump_new
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int tls_dump_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: tls_dump_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int tls_dump_free(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/ssltestlib.c:93,1
    - Dst: BIO_test_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:95,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:96,1
    - Dst: BIO_set_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: copy_flags
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - BIO_set_flags
    - BIO_clear_flags
    - BIO_next
    - BIO_test_flags
    linkageType: ''
    returnType: void
    signature: void copy_flags(BIO *bio)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:129,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:136,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:137,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:139,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:143,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:144,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:147,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:148,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:150,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:152,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:158,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:160,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:163,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:165,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:168,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:169,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:174,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:178,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:180,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:182,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:184,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:188,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:193,1
    - Dst: printf
      Src: /src/openssl/test/helpers/ssltestlib.c:196,1
    - Dst: fflush
      Src: /src/openssl/test/helpers/ssltestlib.c:197,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 198
    functionName: dump_data
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_data(const char *data, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/ssltestlib.c:203,1
    - Dst: BIO_read
      Src: /src/openssl/test/helpers/ssltestlib.c:205,1
    - Dst: copy_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:206,1
    - Dst: dump_data
      Src: /src/openssl/test/helpers/ssltestlib.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: tls_dump_read
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - dump_data
    - copy_flags
    - BIO_read
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int tls_dump_read(BIO *bio, char *out, int outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/ssltestlib.c:218,1
    - Dst: BIO_write
      Src: /src/openssl/test/helpers/ssltestlib.c:220,1
    - Dst: copy_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: tls_dump_write
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - copy_flags
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int tls_dump_write(BIO *bio, const char *in, int inl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/ssltestlib.c:229,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: tls_dump_ctrl
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long tls_dump_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: tls_dump_gets
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_dump_gets(BIO *bio, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_dump_write
      Src: /src/openssl/test/helpers/ssltestlib.c:253,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/ssltestlib.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: tls_dump_puts
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - strlen
    - tls_dump_write
    linkageType: ''
    returnType: int
    signature: int tls_dump_puts(BIO *bio, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:267,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - MEMPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: mempacket_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void mempacket_free(MEMPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:295,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/ssltestlib.c:295,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:297,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/helpers/ssltestlib.c:297,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:298,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/helpers/ssltestlib.c:298,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:299,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/helpers/ssltestlib.c:299,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:300,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/helpers/ssltestlib.c:300,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:301,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:301,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:302,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/ssltestlib.c:302,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:303,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/ssltestlib.c:303,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 307
    functionName: bio_s_mempacket_test
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_new
    - BIO_meth_set_gets
    - BIO_meth_set_write
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - TEST_true
    - TEST_ptr
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_s_mempacket_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/helpers/ssltestlib.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: bio_s_mempacket_test_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 4
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void bio_s_mempacket_test_free(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:318,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/ssltestlib.c:318,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:320,1
    - Dst: sk_MEMPACKET_new_null
      Src: /src/openssl/test/helpers/ssltestlib.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:321,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:326,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: mempacket_test_new
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_set_init
    - sk_MEMPACKET_new_null
    - BIO_set_data
    - OPENSSL_free
    - TEST_ptr
    linkageType: ''
    returnType: int
    signature: int mempacket_test_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:333,1
    - Dst: sk_MEMPACKET_pop_free
      Src: /src/openssl/test/helpers/ssltestlib.c:335,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:336,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:337,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: mempacket_test_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 4
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - OPENSSL_free
    - sk_MEMPACKET_pop_free
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int mempacket_test_free(BIO *bio)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:353,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/test/helpers/ssltestlib.c:359,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:360,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/helpers/ssltestlib.c:363,1
    - Dst: sk_MEMPACKET_shift
      Src: /src/openssl/test/helpers/ssltestlib.c:366,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/ssltestlib.c:402,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/helpers/ssltestlib.c:406,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:415,1
    - Dst: mempacket_free
      Src: /src/openssl/test/helpers/ssltestlib.c:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 418
    functionName: mempacket_test_read
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - memcpy
    - mempacket_free
    - memmove
    - BIO_set_retry_read
    - sk_MEMPACKET_shift
    - sk_MEMPACKET_value
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int mempacket_test_read(BIO *bio, char *out, int outl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:426,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:431,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:440,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:462,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:466,1
    - Dst: memmove
      Src: /src/openssl/test/helpers/ssltestlib.c:471,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:479,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:481,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 501
    functionName: mempacket_swap_epoch
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - memcpy
    - sk_MEMPACKET_num
    - memmove
    - OPENSSL_free
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_value
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int mempacket_swap_epoch(BIO *bio)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:506,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:508,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:519,1
    - Dst: sk_MEMPACKET_delete
      Src: /src/openssl/test/helpers/ssltestlib.c:524,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:528,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - bio
    - d
    - s
    argTypes:
    - BIO*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 537
    functionName: mempacket_move_packet
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - sk_MEMPACKET_num
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_delete
    - sk_MEMPACKET_value
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int mempacket_move_packet(BIO *bio, int d, int s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:541,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:543,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:550,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:554,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/test/helpers/ssltestlib.c:559,1
    - Dst: mempacket_free
      Src: /src/openssl/test/helpers/ssltestlib.c:561,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:565,1
    - Dst: mempacket_free
      Src: /src/openssl/test/helpers/ssltestlib.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 571
    functionName: mempacket_dup_last_packet
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - mempacket_free
    - sk_MEMPACKET_num
    - OPENSSL_memdup
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_value
    - BIO_get_data
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int mempacket_dup_last_packet(BIO *bio)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:576,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:608,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:608,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:612,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/test/helpers/ssltestlib.c:612,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:622,1
    - Dst: memcpy
      Src: /src/openssl/test/helpers/ssltestlib.c:625,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:632,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:633,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:633,1
    - Dst: sk_MEMPACKET_insert
      Src: /src/openssl/test/helpers/ssltestlib.c:637,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:650,1
    - Dst: sk_MEMPACKET_push
      Src: /src/openssl/test/helpers/ssltestlib.c:671,1
    - Dst: mempacket_free
      Src: /src/openssl/test/helpers/ssltestlib.c:682,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 5
    argNames:
    - bio
    - in
    - inl
    - pktnum
    - type
    argTypes:
    - BIO*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 684
    functionName: mempacket_test_inject
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - memcpy
    - sk_MEMPACKET_num
    - mempacket_free
    - sk_MEMPACKET_insert
    - sk_MEMPACKET_value
    - TEST_ptr
    - BIO_get_data
    - OPENSSL_malloc
    - sk_MEMPACKET_push
    linkageType: ''
    returnType: int
    signature: "int mempacket_test_inject(BIO *bio, const char *in, int inl, int pktnum,\n
      \                         int type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempacket_test_inject
      Src: /src/openssl/test/helpers/ssltestlib.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 689
    functionName: mempacket_test_write
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - mempacket_test_inject
    linkageType: ''
    returnType: int
    signature: int mempacket_test_write(BIO *bio, const char *in, int inl)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:694,1
    - Dst: sk_MEMPACKET_num
      Src: /src/openssl/test/helpers/ssltestlib.c:699,1
    - Dst: BIO_get_shutdown
      Src: /src/openssl/test/helpers/ssltestlib.c:702,1
    - Dst: BIO_set_shutdown
      Src: /src/openssl/test/helpers/ssltestlib.c:705,1
    - Dst: sk_MEMPACKET_value
      Src: /src/openssl/test/helpers/ssltestlib.c:711,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 741
    functionName: mempacket_test_ctrl
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_shutdown
    - sk_MEMPACKET_num
    - sk_MEMPACKET_value
    - BIO_get_shutdown
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long mempacket_test_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: mempacket_test_gets
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mempacket_test_gets(BIO *bio, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mempacket_test_write
      Src: /src/openssl/test/helpers/ssltestlib.c:751,1
    - Dst: strlen
      Src: /src/openssl/test/helpers/ssltestlib.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: mempacket_test_puts
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - strlen
    - mempacket_test_write
    linkageType: ''
    returnType: int
    signature: int mempacket_test_puts(BIO *bio, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:765,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/ssltestlib.c:765,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:767,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/helpers/ssltestlib.c:767,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:769,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/test/helpers/ssltestlib.c:769,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:771,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/test/helpers/ssltestlib.c:771,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:773,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/test/helpers/ssltestlib.c:773,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:775,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:775,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:777,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/ssltestlib.c:777,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:779,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/ssltestlib.c:779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 784
    functionName: bio_s_always_retry
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 5
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_new
    - BIO_meth_set_gets
    - BIO_meth_set_write
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - TEST_true
    - TEST_ptr
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_s_always_retry(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/helpers/ssltestlib.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: bio_s_always_retry_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void bio_s_always_retry_free(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 795
    functionName: always_retry_new
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int always_retry_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:799,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 802
    functionName: always_retry_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int always_retry_free(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: set_always_retry_err_val
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_always_retry_err_val(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/helpers/ssltestlib.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: always_retry_read
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_retry_read
    linkageType: ''
    returnType: int
    signature: int always_retry_read(BIO *bio, char *out, int outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/helpers/ssltestlib.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: always_retry_write
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_retry_write
    linkageType: ''
    returnType: int
    signature: int always_retry_write(BIO *bio, const char *in, int inl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/helpers/ssltestlib.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 839
    functionName: always_retry_ctrl
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_retry_write
    linkageType: ''
    returnType: long
    signature: long always_retry_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_read
      Src: /src/openssl/test/helpers/ssltestlib.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 845
    functionName: always_retry_gets
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_retry_read
    linkageType: ''
    returnType: int
    signature: int always_retry_gets(BIO *bio, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/helpers/ssltestlib.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: always_retry_puts
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_retry_write
    linkageType: ''
    returnType: int
    signature: int always_retry_puts(BIO *bio, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:865,1
    - Dst: BIO_meth_new
      Src: /src/openssl/test/helpers/ssltestlib.c:865,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:867,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/test/helpers/ssltestlib.c:867,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:869,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:869,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:871,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/test/helpers/ssltestlib.c:871,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:873,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/test/helpers/ssltestlib.c:873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 878
    functionName: bio_s_maybe_retry
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - BIO_meth_set_destroy
    - BIO_meth_new
    - BIO_meth_set_write
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_s_maybe_retry(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/test/helpers/ssltestlib.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 883
    functionName: bio_s_maybe_retry_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: void bio_s_maybe_retry_free(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/ssltestlib.c:887,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:892,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 895
    functionName: maybe_retry_new
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - OPENSSL_zalloc
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int maybe_retry_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:899,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:901,1
    - Dst: BIO_set_data
      Src: /src/openssl/test/helpers/ssltestlib.c:902,1
    - Dst: BIO_set_init
      Src: /src/openssl/test/helpers/ssltestlib.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 905
    functionName: maybe_retry_free
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - BIO_set_init
    - BIO_get_data
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int maybe_retry_free(BIO *bio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:909,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/helpers/ssltestlib.c:915,1
    - Dst: BIO_write
      Src: /src/openssl/test/helpers/ssltestlib.c:920,1
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/ssltestlib.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bio
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 907
    functionDepth: 4
    functionLinenumber: 907
    functionLinenumberEnd: 921
    functionName: maybe_retry_write
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_get_data
    - BIO_set_retry_write
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int maybe_retry_write(BIO *bio, const char *in, int inl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/test/helpers/ssltestlib.c:925,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/test/helpers/ssltestlib.c:937,1
    - Dst: BIO_ctrl
      Src: /src/openssl/test/helpers/ssltestlib.c:943,1
    - Dst: BIO_next
      Src: /src/openssl/test/helpers/ssltestlib.c:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 923
    functionDepth: 3
    functionLinenumber: 923
    functionLinenumberEnd: 945
    functionName: maybe_retry_ctrl
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_get_data
    - BIO_set_retry_write
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long maybe_retry_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:958,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:958,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:959,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/test/helpers/ssltestlib.c:959,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:967,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:967,1
    - Dst: TLS_server_method
      Src: /src/openssl/test/helpers/ssltestlib.c:979,1
    - Dst: TLS_client_method
      Src: /src/openssl/test/helpers/ssltestlib.c:979,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:985,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/helpers/ssltestlib.c:985,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:988,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/helpers/ssltestlib.c:988,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:993,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/test/helpers/ssltestlib.c:993,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:996,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/test/helpers/ssltestlib.c:996,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1001,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/test/helpers/ssltestlib.c:1001,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1003,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/test/helpers/ssltestlib.c:1003,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1006,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/test/helpers/ssltestlib.c:1006,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1018,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1020,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 40
    argCount: 9
    argNames:
    - libctx
    - sm
    - cm
    - min_proto_version
    - max_proto_version
    - sctx
    - cctx
    - certfile
    - privkeyfile
    argTypes:
    - OSSL_LIB_CTX*
    - SSL_METHOD*
    - SSL_METHOD*
    - int
    - int
    - SSL_CTX**
    - SSL_CTX**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 1022
    functionName: create_ssl_ctx_pair
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 99
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_new_ex
    - SSL_CTX_set_options
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_use_certificate_file
    - TEST_int_eq
    - SSL_CTX_check_private_key
    - TLS_server_method
    - TEST_true
    - TEST_ptr
    - TLS_client_method
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: "int create_ssl_ctx_pair(OSSL_LIB_CTX *libctx, const SSL_METHOD *sm,\n
      \                       const SSL_METHOD *cm, int min_proto_version,\n                        int
      max_proto_version, SSL_CTX **sctx, SSL_CTX **cctx,\n                        char
      *certfile, char *privkeyfile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/openssl/test/helpers/ssltestlib.c:1035,1
    - Dst: openssl_fdset
      Src: /src/openssl/test/helpers/ssltestlib.c:1036,1
    - Dst: select
      Src: /src/openssl/test/helpers/ssltestlib.c:1040,1
    - Dst: FD_ISSET
      Src: /src/openssl/test/helpers/ssltestlib.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1043
    functionName: wait_until_sock_readable
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached:
    - select
    - FD_ZERO
    - openssl_fdset
    - FD_ISSET
    linkageType: ''
    returnType: int
    signature: int wait_until_sock_readable(int sock)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/test/helpers/ssltestlib.c:1053,1
    - Dst: inet_addr
      Src: /src/openssl/test/helpers/ssltestlib.c:1055,1
    - Dst: BIO_socket
      Src: /src/openssl/test/helpers/ssltestlib.c:1057,1
    - Dst: bind
      Src: /src/openssl/test/helpers/ssltestlib.c:1062,1
    - Dst: getsockname
      Src: /src/openssl/test/helpers/ssltestlib.c:1065,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/test/helpers/ssltestlib.c:1069,1
    - Dst: listen
      Src: /src/openssl/test/helpers/ssltestlib.c:1073,1
    - Dst: BIO_socket
      Src: /src/openssl/test/helpers/ssltestlib.c:1076,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/helpers/ssltestlib.c:1081,1
    - Dst: accept
      Src: /src/openssl/test/helpers/ssltestlib.c:1095,1
    - Dst: connect
      Src: /src/openssl/test/helpers/ssltestlib.c:1099,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/helpers/ssltestlib.c:1105,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/test/helpers/ssltestlib.c:1105,1
    - Dst: close
      Src: /src/openssl/test/helpers/ssltestlib.c:1114,1
    - Dst: close
      Src: /src/openssl/test/helpers/ssltestlib.c:1116,1
    - Dst: close
      Src: /src/openssl/test/helpers/ssltestlib.c:1119,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 60
    argCount: 4
    argNames:
    - cfdp
    - sfdp
    - socktype
    - saddr
    argTypes:
    - int*
    - int*
    - int
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1045
    functionDepth: 3
    functionLinenumber: 1045
    functionLinenumberEnd: 1121
    functionName: create_test_sockets
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 3
    functionsReached:
    - bind
    - memset
    - inet_addr
    - listen
    - close
    - getsockname
    - BIO_socket_nbio
    - BIO_socket
    - BIO_ADDR_rawmake
    - accept
    - connect
    linkageType: ''
    returnType: int
    signature: int create_test_sockets(int *cfdp, int *sfdp, int socktype, BIO_ADDR
      *saddr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1132,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1132,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1136,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1136,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1139,1
    - Dst: BIO_new_socket
      Src: /src/openssl/test/helpers/ssltestlib.c:1139,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1140,1
    - Dst: BIO_new_socket
      Src: /src/openssl/test/helpers/ssltestlib.c:1140,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/ssltestlib.c:1143,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1143,1
    - Dst: TEST_false
      Src: /src/openssl/test/helpers/ssltestlib.c:1144,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1144,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/ssltestlib.c:1147,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/ssltestlib.c:1148,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1150,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1150,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1151,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1151,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1152,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1153,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1154,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1155,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1158,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1158,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1159,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/test/helpers/ssltestlib.c:1159,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1160,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1161,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1162,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1163,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1171,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1172,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1173,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1174,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 35
    argCount: 6
    argNames:
    - serverctx
    - clientctx
    - sssl
    - cssl
    - sfd
    - cfd
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL**
    - SSL**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1123
    functionDepth: 3
    functionLinenumber: 1123
    functionLinenumberEnd: 1176
    functionName: create_ssl_objects2
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - BIO_new_socket
    - SSL_free
    - SSL_get_rpoll_descriptor
    - SSL_get_wpoll_descriptor
    - BIO_free
    - TEST_false
    - TEST_int_eq
    - SSL_new
    - TEST_true
    - TEST_ptr
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: "int create_ssl_objects2(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL
      **sssl,\n                          SSL **cssl, int sfd, int cfd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1183
    functionName: wait_until_sock_readable
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wait_until_sock_readable(int sock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1198,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1198,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1202,1
    - Dst: SSL_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1202,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/helpers/ssltestlib.c:1205,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1206,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1206,1
    - Dst: bio_s_mempacket_test
      Src: /src/openssl/test/helpers/ssltestlib.c:1206,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1207,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1207,1
    - Dst: bio_s_mempacket_test
      Src: /src/openssl/test/helpers/ssltestlib.c:1207,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1210,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1210,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/helpers/ssltestlib.c:1210,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1211,1
    - Dst: BIO_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1211,1
    - Dst: BIO_s_mem
      Src: /src/openssl/test/helpers/ssltestlib.c:1211,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1216,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/ssltestlib.c:1216,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1219,1
    - Dst: BIO_push
      Src: /src/openssl/test/helpers/ssltestlib.c:1219,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/helpers/ssltestlib.c:1223,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/test/helpers/ssltestlib.c:1224,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/helpers/ssltestlib.c:1227,1
    - Dst: BIO_up_ref
      Src: /src/openssl/test/helpers/ssltestlib.c:1229,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1230,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/ssltestlib.c:1234,1
    - Dst: SSL_set_bio
      Src: /src/openssl/test/helpers/ssltestlib.c:1235,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1241,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1242,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1243,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1244,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1245,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1246,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 6
    argNames:
    - serverctx
    - clientctx
    - sssl
    - cssl
    - s_to_c_fbio
    - c_to_s_fbio
    argTypes:
    - SSL_CTX*
    - SSL_CTX*
    - SSL**
    - SSL**
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1190
    functionDepth: 5
    functionLinenumber: 1190
    functionLinenumberEnd: 1249
    functionName: create_ssl_objects
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 100
    functionsReached:
    - BIO_up_ref
    - BIO_new
    - SSL_is_dtls
    - SSL_free
    - BIO_set_mem_eof_return
    - bio_s_mempacket_test
    - BIO_free
    - SSL_new
    - BIO_s_mem
    - BIO_push
    - TEST_ptr
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: "int create_ssl_objects(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL
      **sssl,\n                          SSL **cssl, BIO *s_to_c_fbio, BIO *c_to_s_fbio)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_dtls
      Src: /src/openssl/test/helpers/ssltestlib.c:1266,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1273,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1276,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1277,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1282,1
    - Dst: SSL_connect
      Src: /src/openssl/test/helpers/ssltestlib.c:1290,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1292,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1297,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/helpers/ssltestlib.c:1299,1
    - Dst: DTLSv1_listen
      Src: /src/openssl/test/helpers/ssltestlib.c:1309,1
    - Dst: SSL_accept
      Src: /src/openssl/test/helpers/ssltestlib.c:1323,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1325,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1333,1
    - Dst: TEST_openssl_errors
      Src: /src/openssl/test/helpers/ssltestlib.c:1335,1
    - Dst: SSL_read
      Src: /src/openssl/test/helpers/ssltestlib.c:1347,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1349,1
    - Dst: SSL_read
      Src: /src/openssl/test/helpers/ssltestlib.c:1355,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1357,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssltestlib.c:1364,1
    - Dst: OSSL_sleep
      Src: /src/openssl/test/helpers/ssltestlib.c:1373,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1384,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 100
    argCount: 7
    argNames:
    - serverssl
    - clientssl
    - want
    - read
    - listen
    - cm_count
    - sm_count
    argTypes:
    - SSL*
    - SSL*
    - int
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1387
    functionName: create_bare_ssl_connection_ex
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - BIO_ADDR_new
    - SSL_is_dtls
    - DTLSv1_listen
    - BIO_ADDR_free
    - SSL_read
    - TEST_info
    - SSL_accept
    - SSL_connect
    - OSSL_sleep
    - TEST_openssl_errors
    - TEST_ptr
    - TEST_error
    linkageType: ''
    returnType: int
    signature: "int create_bare_ssl_connection_ex(SSL *serverssl, SSL *clientssl,
      int want,\n                                  int read, int listen, int *cm_count,
      int *sm_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_bare_ssl_connection_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - serverssl
    - clientssl
    - want
    - read
    - listen
    argTypes:
    - SSL*
    - SSL*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1389
    functionDepth: 3
    functionLinenumber: 1389
    functionLinenumberEnd: 1394
    functionName: create_bare_ssl_connection
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 7
    functionsReached:
    - create_bare_ssl_connection_ex
    linkageType: ''
    returnType: int
    signature: "int create_bare_ssl_connection(SSL *serverssl, SSL *clientssl, int
      want,\n                               int read, int listen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: create_bare_ssl_connection_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1407,1
    - Dst: SSL_read_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1417,1
    - Dst: TEST_size_t_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1418,1
    - Dst: TEST_int_eq
      Src: /src/openssl/test/helpers/ssltestlib.c:1420,1
    - Dst: SSL_get_error
      Src: /src/openssl/test/helpers/ssltestlib.c:1420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - serverssl
    - clientssl
    - want
    - cm_count
    - sm_count
    argTypes:
    - SSL*
    - SSL*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1400
    functionDepth: 3
    functionLinenumber: 1400
    functionLinenumberEnd: 1429
    functionName: create_ssl_connection_ex
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - SSL_read_ex
    - SSL_get_error
    - create_bare_ssl_connection_ex
    - TEST_int_eq
    - TEST_size_t_eq
    linkageType: ''
    returnType: int
    signature: "int create_ssl_connection_ex(SSL *serverssl, SSL *clientssl, int want,\n
      \                            int *cm_count, int *sm_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_ssl_connection_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - serverssl
    - clientssl
    - want
    argTypes:
    - SSL*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1431
    functionDepth: 4
    functionLinenumber: 1431
    functionLinenumberEnd: 1434
    functionName: create_ssl_connection
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 95
    functionsReached:
    - create_ssl_connection_ex
    linkageType: ''
    returnType: int
    signature: int create_ssl_connection(SSL *serverssl, SSL *clientssl, int want)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/openssl/test/helpers/ssltestlib.c:1438,1
    - Dst: SSL_shutdown
      Src: /src/openssl/test/helpers/ssltestlib.c:1439,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1440,1
    - Dst: SSL_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - serverssl
    - clientssl
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1442
    functionName: shutdown_ssl_connection
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 5
    functionsReached:
    - SSL_shutdown
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void shutdown_ssl_connection(SSL *serverssl, SSL *clientssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/helpers/ssltestlib.c:1457,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/test/helpers/ssltestlib.c:1463,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/test/helpers/ssltestlib.c:1468,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1469,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1470,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1471,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/test/helpers/ssltestlib.c:1471,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1472,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/test/helpers/ssltestlib.c:1472,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1473,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/test/helpers/ssltestlib.c:1474,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ssl
    - mdsize
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1480
    functionName: create_a_psk
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 3
    functionsReached:
    - SSL_SESSION_free
    - SSL_SESSION_set_protocol_version
    - SSL_CIPHER_find
    - SSL_SESSION_set_cipher
    - SSL_SESSION_set1_master_key
    - TEST_true
    - TEST_ptr
    - SSL_SESSION_new
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *create_a_psk(SSL *ssl, size_t mdsize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1493,1
    - Dst: BIO_new_file
      Src: /src/openssl/test/helpers/ssltestlib.c:1493,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1496,1
    - Dst: X509_new_ex
      Src: /src/openssl/test/helpers/ssltestlib.c:1496,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/test/helpers/ssltestlib.c:1499,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1501,1
    - Dst: i2d_X509
      Src: /src/openssl/test/helpers/ssltestlib.c:1511,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/test/helpers/ssltestlib.c:1512,1
    - Dst: X509_up_ref
      Src: /src/openssl/test/helpers/ssltestlib.c:1515,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/openssl/test/helpers/ssltestlib.c:1517,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1518,1
    - Dst: BIO_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1525,1
    - Dst: X509_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1526,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - libctx
    - sctx
    - cert_file
    argTypes:
    - OSSL_LIB_CTX*
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1484
    functionDepth: 3
    functionLinenumber: 1484
    functionLinenumberEnd: 1528
    functionName: ssl_ctx_add_large_cert_chain
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 3
    functionsReached:
    - BIO_new_file
    - BIO_free
    - i2d_X509
    - OPENSSL_assert
    - X509_up_ref
    - SSL_CTX_add_extra_chain_cert
    - X509_free
    - X509_new_ex
    - TEST_ptr
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: "int ssl_ctx_add_large_cert_chain(OSSL_LIB_CTX *libctx, SSL_CTX *sctx,\n
      \                                const char *cert_file)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssltestlib.c:1535,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/test/helpers/ssltestlib.c:1535,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1538,1
    - Dst: ENGINE_init
      Src: /src/openssl/test/helpers/ssltestlib.c:1538,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1539,1
    - Dst: TEST_true
      Src: /src/openssl/test/helpers/ssltestlib.c:1543,1
    - Dst: ENGINE_register_ciphers
      Src: /src/openssl/test/helpers/ssltestlib.c:1543,1
    - Dst: ENGINE_free
      Src: /src/openssl/test/helpers/ssltestlib.c:1544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1530
    functionDepth: 7
    functionLinenumber: 1530
    functionLinenumberEnd: 1552
    functionName: load_dasync
    functionSourceFile: /src/openssl/test/helpers/ssltestlib.c
    functionUses: 2
    functionsReached:
    - ENGINE_free
    - ENGINE_init
    - ENGINE_by_id
    - ENGINE_register_ciphers
    - TEST_true
    - TEST_ptr
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *load_dasync(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:30,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:34,1
    - Dst: TEST_error
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: parse_boolean
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - TEST_error
    linkageType: ''
    returnType: int
    signature: int parse_boolean(const char *value, int *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - struct_type
    - ','
    - name
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: IMPLEMENT_SSL_TEST_BOOL_OPTION
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_SSL_TEST_BOOL_OPTION(struct_type, name, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - struct_type
    - ','
    - name
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: IMPLEMENT_SSL_TEST_STRING_OPTION
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_SSL_TEST_STRING_OPTION(struct_type, name, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - struct_type
    - ','
    - name
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: IMPLEMENT_SSL_TEST_INT_OPTION
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_SSL_TEST_INT_OPTION(struct_type, name, field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - enums
    - num_enums
    - value
    - name
    argTypes:
    - test_enum*
    - size_t
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: parse_enum
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_enum(const test_enum *enums, size_t num_enums,\n                             int
      *value, const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - enums
    - num_enums
    - value
    argTypes:
    - test_enum*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: enum_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *enum_name(const test_enum *enums, size_t num_enums,\n                             int
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:109,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: parse_expected_result
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: __owur parse_expected_result(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:119,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - ssl_test_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ssl_test_result_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 1
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_test_result_name(ssl_test_result_t result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:136,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alert
    - value
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: parse_alert
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: __owur parse_alert(int *alert, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_alert
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: parse_client_alert
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_alert
    linkageType: ''
    returnType: __owur
    signature: __owur parse_client_alert(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_alert
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: parse_server_alert
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_alert
    linkageType: ''
    returnType: __owur
    signature: __owur parse_server_alert(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:151,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alert
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: ssl_alert_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_alert_name(int alert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:168,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: parse_protocol
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: __owur parse_protocol(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:174,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: ssl_protocol_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 1
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_protocol_name(int protocol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:191,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: parse_client_verify_callback
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_client_verify_callback(SSL_TEST_CLIENT_CONF *client_conf,\n
      \                                              const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:201,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - ssl_verify_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: ssl_verify_callback_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_verify_callback_name(ssl_verify_callback_t callback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:218,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: parse_servername
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_servername(SSL_TEST_CLIENT_CONF *client_conf,\n                                   const
      char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:230,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: parse_expected_servername
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_servername(SSL_TEST_CTX *test_ctx,\n                                            const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:240,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_servername_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: ssl_servername_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 2
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_servername_name(ssl_servername_t server)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:261,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - server_conf
    - value
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: parse_servername_callback
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_servername_callback(SSL_TEST_SERVER_CONF *server_conf,\n
      \                                           const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:271,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - ssl_servername_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: ssl_servername_callback_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_servername_callback_name(ssl_servername_callback_t callback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:286,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: parse_session_ticket
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: __owur parse_session_ticket(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:296,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_session_ticket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: ssl_session_ticket_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 1
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_session_ticket_name(ssl_session_ticket_t server)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:316,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: parse_session_id
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: __owur parse_session_id(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:326,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - server
    argTypes:
    - ssl_session_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: ssl_session_id_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 1
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_session_id_name(ssl_session_id_t server)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:342,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: parse_test_method
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: __owur parse_test_method(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:352,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - method
    argTypes:
    - ssl_test_method_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: ssl_test_method_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_test_method_name(ssl_test_method_t method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:389,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: parse_handshake_mode
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: __owur parse_handshake_mode(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:399,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ssl_handshake_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: ssl_handshake_mode_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_handshake_mode_name(ssl_handshake_mode_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:417,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: parse_key_update_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: __owur parse_key_update_type(SSL_TEST_CTX *test_ctx, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:437,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 443
    functionName: parse_ct_validation
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_ct_validation(SSL_TEST_CLIENT_CONF *client_conf,\n                                      const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:447,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - ssl_ct_validation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: ssl_ct_validation_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_ct_validation_name(ssl_ct_validation_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:472,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - server_conf
    - value
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 478
    functionName: parse_certstatus
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_certstatus(SSL_TEST_SERVER_CONF *server_conf,\n                                            const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:482,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cert_status
    argTypes:
    - ssl_cert_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: ssl_certstatus_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_certstatus_name(ssl_cert_status_t cert_status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_enum
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:509,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client_conf
    - value
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 515
    functionName: parse_max_fragment_len_mode
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - parse_enum
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_max_fragment_len_mode(SSL_TEST_CLIENT_CONF *client_conf,\n
      \                                             const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enum_name
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:519,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - MFL_mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: ssl_max_fragment_len_name
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - enum_name
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ssl_max_fragment_len_name(int MFL_mode)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:536,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:538,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:540,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:547,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:548,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:549,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:550,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:551,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:552,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:553,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:554,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:555,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:556,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:558,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:562,1
    - Dst: EC_curve_nist2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:565,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - ptype
    - value
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 526
    functionDepth: 5
    functionLinenumber: 526
    functionLinenumberEnd: 582
    functionName: parse_expected_key_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OBJ_sn2nid
    - EVP_PKEY_asn1_get0_info
    - OBJ_ln2nid
    - strcmp
    - EVP_PKEY_asn1_find_str
    - EC_curve_nist2nid
    linkageType: ''
    returnType: __owur
    signature: __owur parse_expected_key_type(int *ptype, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 6
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: parse_expected_tmp_key_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_tmp_key_type(SSL_TEST_CTX *test_ctx,\n                                              const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 6
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: parse_expected_server_cert_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_server_cert_type(SSL_TEST_CTX *test_ctx,\n                                                  const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 597
    functionDepth: 6
    functionLinenumber: 597
    functionLinenumberEnd: 602
    functionName: parse_expected_server_sign_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_server_sign_type(SSL_TEST_CTX *test_ctx,\n                                                 const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 6
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: parse_expected_client_cert_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_client_cert_type(SSL_TEST_CTX *test_ctx,\n                                                  const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_key_type
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 611
    functionDepth: 6
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionName: parse_expected_client_sign_type
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_key_type
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_client_sign_type(SSL_TEST_CTX *test_ctx,\n                                                 const
      char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:627,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ptype
    - value
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 621
    functionDepth: 5
    functionLinenumber: 621
    functionLinenumberEnd: 634
    functionName: parse_expected_sign_hash
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OBJ_ln2nid
    - OBJ_sn2nid
    linkageType: ''
    returnType: __owur
    signature: __owur parse_expected_sign_hash(int *ptype, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_sign_hash
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 636
    functionDepth: 6
    functionLinenumber: 636
    functionLinenumberEnd: 641
    functionName: parse_expected_server_sign_hash
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_sign_hash
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_server_sign_hash(SSL_TEST_CTX *test_ctx,\n                                                  const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_sign_hash
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 6
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: parse_expected_client_sign_hash
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_sign_hash
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_client_sign_hash(SSL_TEST_CTX *test_ctx,\n                                                  const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_ca_names
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 667
    functionName: parse_expected_server_ca_names
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_ca_names
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_server_ca_names(SSL_TEST_CTX *test_ctx,\n                                                 const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_expected_ca_names
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - test_ctx
    - value
    argTypes:
    - SSL_TEST_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: parse_expected_client_ca_names
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - parse_expected_ca_names
    linkageType: ''
    returnType: __owur
    signature: "__owur parse_expected_client_ca_names(SSL_TEST_CTX *test_ctx,\n                                                 const
      char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 780
    functionName: SSL_TEST_CTX_new
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: SSL_TEST_CTX
    signature: SSL_TEST_CTX *SSL_TEST_CTX_new(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:784,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:785,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:786,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:787,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:788,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:789,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:790,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:791,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:792,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:793,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:794,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:795,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:796,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:797,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - conf
    argTypes:
    - SSL_TEST_EXTRA_CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 799
    functionName: ssl_test_extra_conf_free_data
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ssl_test_extra_conf_free_data(SSL_TEST_EXTRA_CONF *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_test_extra_conf_free_data
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:803,1
    - Dst: ssl_test_extra_conf_free_data
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 805
    functionName: ssl_test_ctx_free_extra_data
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - ssl_test_extra_conf_free_data
    linkageType: ''
    returnType: void
    signature: void ssl_test_ctx_free_extra_data(SSL_TEST_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_test_ctx_free_extra_data
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:811,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:812,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:813,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:814,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:815,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:816,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:817,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:818,1
    - Dst: OPENSSL_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_TEST_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 820
    functionName: SSL_TEST_CTX_free
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 4
    functionsReached:
    - sk_X509_NAME_pop_free
    - OPENSSL_free
    - ssl_test_ctx_free_extra_data
    linkageType: ''
    returnType: void
    signature: void SSL_TEST_CTX_free(SSL_TEST_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:825,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:829,1
    - Dst: NCONF_get_section
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:829,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:832,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:834,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:835,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:836,1
    - Dst: parse
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:837,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:838,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:847,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - client
    - conf
    - client_section
    argTypes:
    - SSL_TEST_CLIENT_CONF*
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 822
    functionDepth: 12
    functionLinenumber: 822
    functionLinenumberEnd: 853
    functionName: parse_client_options
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - sk_CONF_VALUE_num
    - TEST_info
    - NCONF_get_section
    - STACK_OF
    - OSSL_NELEM
    - strcmp
    - TEST_ptr
    - parse
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int parse_client_options(SSL_TEST_CLIENT_CONF *client, const CONF
      *conf,\n                                const char *client_section)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:858,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:862,1
    - Dst: NCONF_get_section
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:862,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:865,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:867,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:868,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:869,1
    - Dst: parse
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:870,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:871,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - server
    - conf
    - server_section
    argTypes:
    - SSL_TEST_SERVER_CONF*
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 855
    functionDepth: 12
    functionLinenumber: 855
    functionLinenumberEnd: 886
    functionName: parse_server_options
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 0
    functionsReached:
    - sk_CONF_VALUE_num
    - TEST_info
    - NCONF_get_section
    - STACK_OF
    - OSSL_NELEM
    - strcmp
    - TEST_ptr
    - parse
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int parse_server_options(SSL_TEST_SERVER_CONF *server, const CONF
      *conf,\n                                const char *server_section)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:891,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:896,1
    - Dst: NCONF_get_section
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:896,1
    - Dst: TEST_ptr
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:897,1
    - Dst: SSL_TEST_CTX_new
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:897,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:900,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:902,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:905,1
    - Dst: parse_client_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:906,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:908,1
    - Dst: parse_server_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:909,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:911,1
    - Dst: parse_server_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:912,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:914,1
    - Dst: parse_client_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:915,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:918,1
    - Dst: parse_server_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:919,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:922,1
    - Dst: parse_server_options
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:923,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:927,1
    - Dst: strcmp
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:928,1
    - Dst: parse
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:929,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:930,1
    - Dst: TEST_info
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:939,1
    - Dst: SSL_TEST_CTX_free
      Src: /src/openssl/test/helpers/ssl_test_ctx.c:948,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 3
    argNames:
    - conf
    - test_section
    - libctx
    argTypes:
    - CONF*
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 888
    functionDepth: 13
    functionLinenumber: 888
    functionLinenumberEnd: 952
    functionName: SSL_TEST_CTX_create
    functionSourceFile: /src/openssl/test/helpers/ssl_test_ctx.c
    functionUses: 3
    functionsReached:
    - SSL_TEST_CTX_new
    - parse
    - sk_CONF_VALUE_num
    - parse_client_options
    - TEST_info
    - NCONF_get_section
    - STACK_OF
    - OSSL_NELEM
    - strcmp
    - TEST_ptr
    - parse_server_options
    - SSL_TEST_CTX_free
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: SSL_TEST_CTX
    signature: "SSL_TEST_CTX *SSL_TEST_CTX_create(const CONF *conf, const char *test_section,\n
      \                                 OSSL_LIB_CTX *libctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:25,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:25,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:27,1
    - Dst: TLS_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:27,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:33,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:36,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: create_ssl_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - OSSL_QUIC_client_method
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ssl_ctx(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:57,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:61,1
    - Dst: SSL_set_fd
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:63,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:64,1
    - Dst: SSL_set1_host
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:68,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:69,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:73,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:74,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:80,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - fd
    - bare_hostname
    argTypes:
    - SSL_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 88
    functionName: new_conn
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c
    functionUses: 0
    functionsReached:
    - SSL_set_connect_state
    - SSL_free
    - SSL_set_alpn_protos
    - SSL_set_tlsext_host_name
    - SSL_new
    - SSL_set1_host
    - SSL_set_fd
    linkageType: ''
    returnType: SSL
    signature: SSL *new_conn(SSL_CTX *ctx, int fd, const char *bare_hostname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - buf
    - buf_len
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c
    functionUses: 408
    functionsReached:
    - SSL_write
    linkageType: ''
    returnType: int
    signature: int tx(SSL *ssl, const void *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_read
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - buf
    - buf_len
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c
    functionUses: 23
    functionsReached:
    - SSL_read
    linkageType: ''
    returnType: int
    signature: int rx(SSL *ssl, void *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: teardown
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c
    functionUses: 12
    functionsReached:
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void teardown(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: teardown_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void teardown_ctx(SSL_CTX *ctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:147,1
    - Dst: snprintf
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:151,1
    - Dst: create_ssl_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:154,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:156,1
    - Dst: getaddrinfo
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:163,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:165,1
    - Dst: signal
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:169,1
    - Dst: socket
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:172,1
    - Dst: socket
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:174,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:177,1
    - Dst: connect
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:181,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:183,1
    - Dst: new_conn
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:187,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:189,1
    - Dst: tx
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:193,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:195,1
    - Dst: rx
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:200,1
    - Dst: fwrite
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:203,1
    - Dst: teardown
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:209,1
    - Dst: teardown_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:211,1
    - Dst: close
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:213,1
    - Dst: freeaddrinfo
      Src: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c:215,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 217
    functionName: main
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-03-fd-blocking.c
    functionUses: 7
    functionsReached:
    - getaddrinfo
    - teardown_ctx
    - create_ssl_ctx
    - socket
    - fwrite
    - close
    - freeaddrinfo
    - snprintf
    - fprintf
    - tx
    - rx
    - new_conn
    - teardown
    - connect
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: timeval_to_ms
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timeval_to_ms(const struct timeval *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:104,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:104,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:106,1
    - Dst: TLS_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:106,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:112,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:115,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: create_ssl_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - OSSL_QUIC_client_method
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ssl_ctx(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:138,1
    - Dst: uv_udp_init
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:143,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:143,1
    - Dst: uv_timer_init
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:146,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:146,1
    - Dst: uv_tcp_init
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:149,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:149,1
    - Dst: uv_udp_connect
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:158,1
    - Dst: uv_tcp_connect
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:161,1
    - Dst: uv_close
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:165,1
    - Dst: uv_close
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:167,1
    - Dst: setup_ssl
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:176,1
    - Dst: uv_close
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 6
    argNames:
    - ctx
    - hostname
    - sa
    - sa_len
    - cb
    - arg
    argTypes:
    - SSL_CTX*
    - char*
    - struct sockaddr*
    - socklen_t
    - app_connect_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 184
    functionName: new_conn
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 1
    functionsReached:
    - uv_udp_connect
    - uv_tcp_connect
    - calloc
    - uv_timer_init
    - uv_default_loop
    - uv_tcp_init
    - setup_ssl
    - uv_close
    - uv_udp_init
    linkageType: ''
    returnType: APP_CONN
    signature: "APP_CONN *new_conn(SSL_CTX *ctx, const char *hostname,\n                   struct
      sockaddr *sa, socklen_t sa_len,\n                   app_connect_cb *cb, void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_rx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - conn
    - cb
    - arg
    argTypes:
    - APP_CONN*
    - app_read_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: app_read_start
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - set_rx
    linkageType: ''
    returnType: int
    signature: int app_read_start(APP_CONN *conn, app_read_cb *cb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_deferred
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:204,1
    - Dst: handle_pending_writes
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - conn
    - buf
    - buf_len
    - cb
    - arg
    argTypes:
    - APP_CONN*
    - void*
    - size_t
    - app_write_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: app_write
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - handle_pending_writes
    - write_deferred
    linkageType: ''
    returnType: int
    signature: int app_write(APP_CONN *conn, const void *buf, size_t buf_len, app_write_cb
      *cb, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:220,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:221,1
    - Dst: uv_cancel
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:224,1
    - Dst: uv_close
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:229,1
    - Dst: uv_close
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:230,1
    - Dst: uv_close
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:232,1
    - Dst: uv_run
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:241,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 242
    functionName: teardown
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 13
    functionsReached:
    - SSL_free
    - BIO_free_all
    - uv_default_loop
    - uv_run
    - uv_cancel
    - uv_close
    linkageType: ''
    returnType: void
    signature: void teardown(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: teardown_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void teardown_ctx(SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - op
    argTypes:
    - APP_CONN*
    - UPPER_WRITE_OP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: enqueue_upper_write_op
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enqueue_upper_write_op(APP_CONN *conn, UPPER_WRITE_OP *op)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: dequeue_upper_write_op
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dequeue_upper_write_op(APP_CONN *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: net_read_alloc
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: "void net_read_alloc(uv_handle_t *handle,\n                           size_t
      suggested_size, uv_buf_t *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:303,1
    - Dst: SSL_read
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:307,1
    - Dst: flush_write_buf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:308,1
    - Dst: SSL_get_error
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:310,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:312,1
    - Dst: APP_CONN*::app_read_cb
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: on_rx_push
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - free
    - flush_write_buf
    - SSL_get_error
    - SSL_read
    - APP_CONN*::app_read_cb
    - malloc
    linkageType: ''
    returnType: void
    signature: void on_rx_push(APP_CONN *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_rx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:324,1
    - Dst: APP_CONN*::app_read_cb
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: net_error
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - set_rx
    - APP_CONN*::app_read_cb
    linkageType: ''
    returnType: void
    signature: void net_error(APP_CONN *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: try_write
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:339,1
    - Dst: dequeue_upper_write_op
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:343,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:344,1
    - Dst: set_rx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 348
    functionName: handle_pending_writes
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 1
    functionsReached:
    - free
    - set_rx
    - try_write
    - dequeue_upper_write_op
    linkageType: ''
    returnType: void
    signature: void handle_pending_writes(APP_CONN *conn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:361,1
    - Dst: net_error
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:362,1
    - Dst: BIO_write
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:367,1
    - Dst: assert
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:368,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:371,1
    - Dst: handshake_ssl
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:374,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:376,1
    - Dst: handle_pending_writes
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:384,1
    - Dst: on_rx_push
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - stream
    - nr
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts:
    - condition: (wr == nr)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    constantsTouched: []
    func_position:
      end: 386
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 386
    functionName: net_read_done
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - free
    - BIO_write
    - handshake_ssl
    - net_error
    - on_rx_push
    - fprintf
    - handle_pending_writes
    - assert
    linkageType: ''
    returnType: void
    signature: void net_read_done(uv_stream_t *stream, ssize_t nr, const uv_buf_t
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_udp_recv_start
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:392,1
    - Dst: uv_udp_recv_stop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:394,1
    - Dst: uv_read_start
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:397,1
    - Dst: uv_read_stop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: set_rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 3
    functionsReached:
    - uv_read_start
    - uv_read_stop
    - uv_udp_recv_stop
    - uv_udp_recv_start
    linkageType: ''
    returnType: void
    signature: void set_rx(APP_CONN *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:413,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:417,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:418,1
    - Dst: flush_write_buf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: net_write_done
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - free
    - flush_write_buf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void net_write_done(uv_write_t *req, int status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:429,1
    - Dst: BIO_read
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:433,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:435,1
    - Dst: calloc
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:439,1
    - Dst: uv_udp_send
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:450,1
    - Dst: uv_write
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:452,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:455,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:456,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 423
    functionDepth: 4
    functionLinenumber: 423
    functionLinenumberEnd: 460
    functionName: flush_write_buf
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 2
    functionsReached:
    - free
    - calloc
    - uv_write
    - uv_udp_send
    - malloc
    - fprintf
    - BIO_read
    linkageType: ''
    returnType: void
    signature: void flush_write_buf(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_timer
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:465,1
    - Dst: APP_CONN*::app_connect_cb
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: handshake_done_ssl
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - APP_CONN*::app_connect_cb
    - set_timer
    linkageType: ''
    returnType: void
    signature: void handshake_done_ssl(APP_CONN *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_do_handshake
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:476,1
    - Dst: handshake_done_ssl
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:479,1
    - Dst: set_rx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:480,1
    - Dst: flush_write_buf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:484,1
    - Dst: SSL_get_error
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:485,1
    - Dst: set_rx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:487,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 470
    functionDepth: 5
    functionLinenumber: 470
    functionLinenumberEnd: 493
    functionName: handshake_ssl
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 2
    functionsReached:
    - set_rx
    - flush_write_buf
    - SSL_do_handshake
    - SSL_get_error
    - fprintf
    - handshake_done_ssl
    linkageType: ''
    returnType: int
    signature: int handshake_ssl(APP_CONN *conn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:503,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:507,1
    - Dst: BIO_new_bio_dgram_pair
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:510,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:511,1
    - Dst: BIO_new_bio_pair
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:515,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:516,1
    - Dst: SSL_set_bio
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:521,1
    - Dst: SSL_set1_host
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:523,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:524,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:528,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:529,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:535,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:537,1
    - Dst: handshake_ssl
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - conn
    - hostname
    argTypes:
    - APP_CONN*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 495
    functionDepth: 6
    functionLinenumber: 495
    functionLinenumberEnd: 545
    functionName: setup_ssl
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 1
    functionsReached:
    - BIO_new_bio_pair
    - SSL_set_connect_state
    - BIO_new_bio_dgram_pair
    - SSL_free
    - handshake_ssl
    - SSL_set_alpn_protos
    - SSL_set_tlsext_host_name
    - SSL_new
    - SSL_set1_host
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int setup_ssl(APP_CONN *conn, const char *hostname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_stop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:554,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:554,1
    - Dst: setup_ssl
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:558,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:560,1
    - Dst: uv_stop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:561,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - tcp_connect
    - status
    argTypes:
    - uv_connect_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 548
    functionDepth: 7
    functionLinenumber: 548
    functionLinenumberEnd: 564
    functionName: tcp_connect_done
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - uv_stop
    - uv_default_loop
    - setup_ssl
    - fprintf
    linkageType: ''
    returnType: void
    signature: void tcp_connect_done(uv_connect_t *tcp_connect, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 572
    functionName: net_connect_fail_close_done
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void net_connect_fail_close_done(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_handle_events
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:580,1
    - Dst: handle_pending_writes
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:581,1
    - Dst: flush_write_buf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:582,1
    - Dst: set_rx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:583,1
    - Dst: set_timer
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - timer
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 5
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: timer_done
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - set_rx
    - flush_write_buf
    - SSL_handle_events
    - set_timer
    - handle_pending_writes
    linkageType: ''
    returnType: void
    signature: void timer_done(uv_timer_t *timer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:592,1
    - Dst: timeval_to_ms
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:595,1
    - Dst: uv_timer_start
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 598
    functionName: set_timer
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 3
    functionsReached:
    - uv_timer_start
    - SSL_get_event_timeout
    - timeval_to_ms
    linkageType: ''
    returnType: void
    signature: void set_timer(APP_CONN *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:608,1
    - Dst: SSL_get_error
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:610,1
    - Dst: UPPER_WRITE_OP*::cb
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:616,1
    - Dst: UPPER_WRITE_OP*::cb
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:625,1
    - Dst: flush_write_buf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - conn
    - op
    argTypes:
    - APP_CONN*
    - UPPER_WRITE_OP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 602
    functionDepth: 5
    functionLinenumber: 602
    functionLinenumberEnd: 629
    functionName: try_write
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 19
    functionsReached:
    - flush_write_buf
    - UPPER_WRITE_OP*::cb
    - SSL_write
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int try_write(APP_CONN *conn, UPPER_WRITE_OP *op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:633,1
    - Dst: enqueue_upper_write_op
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:643,1
    - Dst: set_rx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:644,1
    - Dst: flush_write_buf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - conn
    - buf
    - buf_len
    - cb
    - arg
    argTypes:
    - APP_CONN*
    - void*
    - size_t
    - app_write_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 631
    functionDepth: 5
    functionLinenumber: 631
    functionLinenumberEnd: 647
    functionName: write_deferred
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 1
    functionsReached:
    - set_rx
    - enqueue_upper_write_op
    - calloc
    - flush_write_buf
    linkageType: ''
    returnType: int
    signature: int write_deferred(APP_CONN *conn, const void *buf, size_t buf_len,
      app_write_cb *cb, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:662,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 669
    functionName: teardown_continued
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void teardown_continued(uv_handle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:679,1
    - Dst: uv_stop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:680,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:680,1
    - Dst: fwrite
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:684,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - conn
    - buf
    - buf_len
    - arg
    argTypes:
    - APP_CONN*
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 686
    functionName: post_read
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - free
    - uv_stop
    - fwrite
    - uv_default_loop
    linkageType: ''
    returnType: void
    signature: void post_read(APP_CONN *conn, void *buf, size_t buf_len, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:691,1
    - Dst: app_read_start
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - conn
    - status
    - arg
    argTypes:
    - APP_CONN*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: post_write_get
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - app_read_start
    - fprintf
    linkageType: ''
    returnType: void
    signature: void post_write_get(APP_CONN *conn, int status, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:706,1
    - Dst: uv_stop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:707,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:707,1
    - Dst: app_write
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:711,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - conn
    - status
    - arg
    argTypes:
    - APP_CONN*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 716
    functionName: post_connect
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 0
    functionsReached:
    - uv_stop
    - uv_default_loop
    - app_write
    - fprintf
    linkageType: ''
    returnType: void
    signature: void post_connect(APP_CONN *conn, int status, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:726,1
    - Dst: snprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:730,1
    - Dst: create_ssl_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:733,1
    - Dst: getaddrinfo
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:740,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:742,1
    - Dst: new_conn
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:746,1
    - Dst: uv_run
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:750,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:750,1
    - Dst: teardown
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:754,1
    - Dst: freeaddrinfo
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:755,1
    - Dst: uv_loop_close
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:756,1
    - Dst: uv_default_loop
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:756,1
    - Dst: teardown_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 758
    functionName: main
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-06-mem-uv.c
    functionUses: 7
    functionsReached:
    - getaddrinfo
    - teardown_ctx
    - create_ssl_ctx
    - freeaddrinfo
    - uv_default_loop
    - uv_run
    - snprintf
    - fprintf
    - teardown
    - uv_loop_close
    - new_conn
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:36,1
    - Dst: OSSL_QUIC_client_thread_method
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:36,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:38,1
    - Dst: TLS_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:38,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:44,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:47,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: create_ssl_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_default_verify_paths
    - OSSL_QUIC_client_thread_method
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ssl_ctx(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:71,1
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:75,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:77,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:81,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:82,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:83,1
    - Dst: BIO_new
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:87,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:87,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:89,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:90,1
    - Dst: BIO_push
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:94,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:96,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:97,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:98,1
    - Dst: BIO_get_conn_hostname
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:103,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:105,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:106,1
    - Dst: SSL_set1_host
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:111,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:112,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:113,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:119,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:121,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:122,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - hostname
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 132
    functionName: new_conn
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 2
    functionsReached:
    - free
    - BIO_new
    - BIO_set_conn_hostname
    - calloc
    - BIO_new_ssl_connect
    - SSL_set_alpn_protos
    - BIO_free_all
    - BIO_get_ssl
    - BIO_f_buffer
    - BIO_push
    - BIO_set_nbio
    - SSL_set1_host
    - BIO_get_conn_hostname
    linkageType: ''
    returnType: APP_CONN
    signature: APP_CONN *new_conn(SSL_CTX *ctx, const char *hostname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:146,1
    - Dst: BIO_should_retry
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:148,1
    - Dst: BIO_should_read
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 410
    functionsReached:
    - BIO_write
    - BIO_should_read
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int tx(APP_CONN *conn, const void *buf, int buf_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:171,1
    - Dst: BIO_should_retry
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:173,1
    - Dst: BIO_should_write
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 30
    functionsReached:
    - BIO_should_write
    - BIO_read
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int rx(APP_CONN *conn, void *buf, int buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_rpoll_descriptor
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:193,1
    - Dst: BIO_get_fd
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: get_conn_fd
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 0
    functionsReached:
    - BIO_get_fd
    - BIO_get_rpoll_descriptor
    linkageType: ''
    returnType: int
    signature: int get_conn_fd(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_net_read_desired
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:218,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: get_conn_pending_tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 0
    functionsReached:
    - SSL_net_write_desired
    - SSL_net_read_desired
    linkageType: ''
    returnType: int
    signature: int get_conn_pending_tx(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_pending_tx
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: get_conn_pending_rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 0
    functionsReached:
    - get_conn_pending_tx
    linkageType: ''
    returnType: int
    signature: int get_conn_pending_rx(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:241,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: teardown
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 14
    functionsReached:
    - free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void teardown(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: teardown_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void teardown_ctx(SSL_CTX *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:270,1
    - Dst: snprintf
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:274,1
    - Dst: snprintf
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:275,1
    - Dst: create_ssl_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:278,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:280,1
    - Dst: new_conn
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:284,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:286,1
    - Dst: tx
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:292,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:297,1
    - Dst: get_conn_fd
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:300,1
    - Dst: get_conn_pending_tx
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:301,1
    - Dst: poll
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:302,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:303,1
    - Dst: rx
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:311,1
    - Dst: fwrite
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:313,1
    - Dst: get_conn_fd
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:318,1
    - Dst: get_conn_pending_rx
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:319,1
    - Dst: poll
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:320,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:321,1
    - Dst: teardown
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:330,1
    - Dst: teardown_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c:332,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 334
    functionName: main
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking-threads.c
    functionUses: 7
    functionsReached:
    - get_conn_fd
    - get_conn_pending_rx
    - poll
    - create_ssl_ctx
    - teardown_ctx
    - fwrite
    - get_conn_pending_tx
    - snprintf
    - fprintf
    - tx
    - rx
    - teardown
    - new_conn
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:36,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:36,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:38,1
    - Dst: TLS_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:38,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:44,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:47,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: create_ssl_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 3
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - OSSL_QUIC_client_method
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ssl_ctx(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:71,1
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:75,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:77,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:81,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:82,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:83,1
    - Dst: BIO_new
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:100,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:100,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:102,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:103,1
    - Dst: BIO_push
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:107,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:109,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:110,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:111,1
    - Dst: BIO_get_conn_hostname
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:116,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:118,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:119,1
    - Dst: SSL_set1_host
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:124,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:125,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:126,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:132,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:134,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - ctx
    - hostname
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 144
    functionName: new_conn
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 3
    functionsReached:
    - free
    - BIO_new
    - BIO_set_conn_hostname
    - calloc
    - BIO_new_ssl_connect
    - SSL_set_alpn_protos
    - BIO_free_all
    - BIO_get_ssl
    - BIO_f_buffer
    - BIO_push
    - BIO_set_nbio
    - SSL_set1_host
    - BIO_get_conn_hostname
    linkageType: ''
    returnType: APP_CONN
    signature: APP_CONN *new_conn(SSL_CTX *ctx, const char *hostname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:158,1
    - Dst: BIO_should_retry
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:160,1
    - Dst: BIO_should_read
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 412
    functionsReached:
    - BIO_write
    - BIO_should_read
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int tx(APP_CONN *conn, const void *buf, int buf_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:183,1
    - Dst: BIO_should_retry
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:185,1
    - Dst: BIO_should_write
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 31
    functionsReached:
    - BIO_should_write
    - BIO_read
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int rx(APP_CONN *conn, void *buf, int buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_rpoll_descriptor
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:205,1
    - Dst: BIO_get_fd
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: get_conn_fd
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 1
    functionsReached:
    - BIO_get_fd
    - BIO_get_rpoll_descriptor
    linkageType: ''
    returnType: int
    signature: int get_conn_fd(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_net_read_desired
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:230,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: get_conn_pending_tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 2
    functionsReached:
    - SSL_net_write_desired
    - SSL_net_read_desired
    linkageType: ''
    returnType: int
    signature: int get_conn_pending_tx(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_pending_tx
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: get_conn_pending_rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 1
    functionsReached:
    - get_conn_pending_tx
    linkageType: ''
    returnType: int
    signature: int get_conn_pending_rx(APP_CONN *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:261,1
    - Dst: timeval_to_ms
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: get_conn_pump_timeout
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 0
    functionsReached:
    - SSL_get_event_timeout
    - timeval_to_ms
    linkageType: ''
    returnType: int
    signature: int get_conn_pump_timeout(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_handle_events
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: pump
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 1
    functionsReached:
    - SSL_handle_events
    linkageType: ''
    returnType: void
    signature: void pump(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:283,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: teardown
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 15
    functionsReached:
    - free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void teardown(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: teardown_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 3
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void teardown_ctx(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - ms
    argTypes:
    - struct timeval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: ms_to_timeval
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ms_to_timeval(struct timeval *t, int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: timeval_to_ms
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-02-conn-nonblocking.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timeval_to_ms(const struct timeval *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:35,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:35,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:37,1
    - Dst: TLS_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:37,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:43,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:46,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: create_ssl_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 3
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - OSSL_QUIC_client_method
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ssl_ctx(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:143,1
    - Dst: SSL_get_error
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 413
    functionsReached:
    - BIO_write
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int tx(APP_CONN *conn, const void *buf, int buf_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:172,1
    - Dst: SSL_get_error
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 188
    functionName: rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 31
    functionsReached:
    - BIO_read
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int rx(APP_CONN *conn, void *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: read_net_tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 0
    functionsReached:
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int read_net_tx(APP_CONN *conn, void *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: write_net_rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 0
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int write_net_rx(APP_CONN *conn, const void *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl_get_write_guarantee
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: net_rx_space
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl_get_write_guarantee
    linkageType: ''
    returnType: size_t
    signature: size_t net_rx_space(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl_pending
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: net_tx_avail
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl_pending
    linkageType: ''
    returnType: size_t
    signature: size_t net_tx_avail(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_net_read_desired
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:247,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: get_conn_pending_tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 3
    functionsReached:
    - SSL_net_write_desired
    - SSL_net_read_desired
    linkageType: ''
    returnType: int
    signature: int get_conn_pending_tx(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_pending_tx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: get_conn_pending_rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 1
    functionsReached:
    - get_conn_pending_tx
    linkageType: ''
    returnType: int
    signature: int get_conn_pending_rx(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:270,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:271,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: teardown
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 15
    functionsReached:
    - free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void teardown(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: teardown_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 3
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void teardown_ctx(SSL_CTX *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: net_rx_space
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:306,1
    - Dst: net_tx_avail
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:308,1
    - Dst: poll
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:314,1
    - Dst: net_rx_space
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:318,1
    - Dst: read
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:319,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:328,1
    - Dst: write_net_rx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:333,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:335,1
    - Dst: read_net_tx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:341,1
    - Dst: write
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:344,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:346,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 4
    argNames:
    - conn
    - fd
    - events
    - timeout
    argTypes:
    - APP_CONN*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 351
    functionName: pump
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 1
    functionsReached:
    - write
    - poll
    - net_tx_avail
    - read
    - net_rx_space
    - fprintf
    - write_net_rx
    - read_net_tx
    linkageType: ''
    returnType: int
    signature: int pump(APP_CONN *conn, int fd, int events, int timeout)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:366,1
    - Dst: snprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:370,1
    - Dst: create_ssl_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:374,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:376,1
    - Dst: getaddrinfo
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:383,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:385,1
    - Dst: signal
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:389,1
    - Dst: socket
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:392,1
    - Dst: socket
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:394,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:397,1
    - Dst: connect
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:401,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:403,1
    - Dst: fcntl
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:407,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:409,1
    - Dst: new_conn
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:413,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:415,1
    - Dst: tx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:421,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:426,1
    - Dst: pump
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:428,1
    - Dst: get_conn_pending_tx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:428,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:429,1
    - Dst: rx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:437,1
    - Dst: fwrite
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:439,1
    - Dst: pump
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:443,1
    - Dst: get_conn_pending_rx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:443,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:444,1
    - Dst: teardown
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:453,1
    - Dst: teardown_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:455,1
    - Dst: freeaddrinfo
      Src: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c:457,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 91
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 459
    functionName: main
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-05-mem-nonblocking.c
    functionUses: 7
    functionsReached:
    - fcntl
    - getaddrinfo
    - get_conn_pending_rx
    - teardown
    - create_ssl_ctx
    - socket
    - teardown_ctx
    - fwrite
    - get_conn_pending_tx
    - freeaddrinfo
    - snprintf
    - fprintf
    - tx
    - pump
    - new_conn
    - rx
    - connect
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:24,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:24,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:26,1
    - Dst: TLS_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:26,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:32,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:35,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: create_ssl_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c
    functionUses: 4
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - OSSL_QUIC_client_method
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ssl_ctx(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:58,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:62,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:63,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:67,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:68,1
    - Dst: BIO_get_conn_hostname
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:73,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:75,1
    - Dst: SSL_set1_host
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:80,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:81,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:87,1
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - hostname
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 95
    functionName: new_conn
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c
    functionUses: 4
    functionsReached:
    - BIO_set_conn_hostname
    - BIO_new_ssl_connect
    - SSL_set_alpn_protos
    - BIO_free_all
    - BIO_get_ssl
    - SSL_set1_host
    - BIO_get_conn_hostname
    linkageType: ''
    returnType: BIO
    signature: BIO *new_conn(SSL_CTX *ctx, const char *hostname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - buf_len
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c
    functionUses: 416
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int tx(BIO *bio, const void *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - buf_len
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c
    functionUses: 33
    functionsReached:
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int rx(BIO *bio, void *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: teardown
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c
    functionUses: 16
    functionsReached:
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void teardown(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: teardown_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c
    functionUses: 4
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void teardown_ctx(SSL_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:147,1
    - Dst: snprintf
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:151,1
    - Dst: snprintf
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:152,1
    - Dst: create_ssl_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:155,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:157,1
    - Dst: new_conn
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:161,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:163,1
    - Dst: tx
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:167,1
    - Dst: fprintf
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:169,1
    - Dst: rx
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:174,1
    - Dst: fwrite
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:177,1
    - Dst: teardown
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:183,1
    - Dst: teardown_ctx
      Src: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 187
    functionName: main
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-01-conn-blocking.c
    functionUses: 7
    functionsReached:
    - teardown_ctx
    - create_ssl_ctx
    - fwrite
    - snprintf
    - fprintf
    - tx
    - rx
    - teardown
    - new_conn
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:31,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:31,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:33,1
    - Dst: TLS_client_method
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:33,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:39,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:42,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: create_ssl_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 5
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - OSSL_QUIC_client_method
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ssl_ctx(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:64,1
    - Dst: SSL_new
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:68,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:70,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:74,1
    - Dst: SSL_set_fd
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:76,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:77,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:78,1
    - Dst: SSL_set1_host
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:82,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:83,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:84,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:88,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:89,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:90,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:96,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:98,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - fd
    - bare_hostname
    argTypes:
    - SSL_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 106
    functionName: new_conn
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 5
    functionsReached:
    - free
    - SSL_set_connect_state
    - calloc
    - SSL_free
    - SSL_set_alpn_protos
    - SSL_set_tlsext_host_name
    - SSL_new
    - SSL_set1_host
    - SSL_set_fd
    linkageType: ''
    returnType: APP_CONN
    signature: APP_CONN *new_conn(SSL_CTX *ctx, int fd, const char *bare_hostname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:120,1
    - Dst: SSL_get_error
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 417
    functionsReached:
    - SSL_write
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int tx(APP_CONN *conn, const void *buf, int buf_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_read
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:149,1
    - Dst: SSL_get_error
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - conn
    - buf
    - buf_len
    argTypes:
    - APP_CONN*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 34
    functionsReached:
    - SSL_read
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int rx(APP_CONN *conn, void *buf, int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: get_conn_fd
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_conn_fd(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_net_read_desired
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:201,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: get_conn_pending_tx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 5
    functionsReached:
    - SSL_net_write_desired
    - SSL_net_read_desired
    linkageType: ''
    returnType: int
    signature: int get_conn_pending_tx(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_conn_pending_tx
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: get_conn_pending_rx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 2
    functionsReached:
    - get_conn_pending_tx
    linkageType: ''
    returnType: int
    signature: int get_conn_pending_rx(APP_CONN *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:228,1
    - Dst: timeval_to_ms
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: get_conn_pump_timeout
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 0
    functionsReached:
    - SSL_get_event_timeout
    - timeval_to_ms
    linkageType: ''
    returnType: int
    signature: int get_conn_pump_timeout(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_handle_events
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: pump
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 2
    functionsReached:
    - SSL_handle_events
    linkageType: ''
    returnType: void
    signature: void pump(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:250,1
    - Dst: SSL_free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:251,1
    - Dst: free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - APP_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: teardown
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 17
    functionsReached:
    - SSL_shutdown
    - SSL_free
    - free
    linkageType: ''
    returnType: void
    signature: void teardown(APP_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: teardown_ctx
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 5
    functionsReached:
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void teardown_ctx(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - ms
    argTypes:
    - struct timeval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: ms_to_timeval
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ms_to_timeval(struct timeval *t, int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: timeval_to_ms
    functionSourceFile: /src/openssl/doc/designs/ddd/ddd-04-fd-nonblocking.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int timeval_to_ms(const struct timeval *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkwrite.c:25,1
    - Dst: exit
      Src: /src/openssl/demos/pkcs12/pkwrite.c:26,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/pkcs12/pkwrite.c:28,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/pkcs12/pkwrite.c:29,1
    - Dst: fopen
      Src: /src/openssl/demos/pkcs12/pkwrite.c:30,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkwrite.c:31,1
    - Dst: exit
      Src: /src/openssl/demos/pkcs12/pkwrite.c:32,1
    - Dst: PEM_read_X509
      Src: /src/openssl/demos/pkcs12/pkwrite.c:34,1
    - Dst: rewind
      Src: /src/openssl/demos/pkcs12/pkwrite.c:35,1
    - Dst: PEM_read_PrivateKey
      Src: /src/openssl/demos/pkcs12/pkwrite.c:36,1
    - Dst: fclose
      Src: /src/openssl/demos/pkcs12/pkwrite.c:37,1
    - Dst: PKCS12_create
      Src: /src/openssl/demos/pkcs12/pkwrite.c:38,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkwrite.c:40,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/pkcs12/pkwrite.c:41,1
    - Dst: exit
      Src: /src/openssl/demos/pkcs12/pkwrite.c:42,1
    - Dst: fopen
      Src: /src/openssl/demos/pkcs12/pkwrite.c:44,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkwrite.c:45,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/pkcs12/pkwrite.c:46,1
    - Dst: exit
      Src: /src/openssl/demos/pkcs12/pkwrite.c:47,1
    - Dst: i2d_PKCS12_fp
      Src: /src/openssl/demos/pkcs12/pkwrite.c:49,1
    - Dst: PKCS12_free
      Src: /src/openssl/demos/pkcs12/pkwrite.c:50,1
    - Dst: fclose
      Src: /src/openssl/demos/pkcs12/pkwrite.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 18
    functionDepth: 7
    functionLinenumber: 18
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/openssl/demos/pkcs12/pkwrite.c
    functionUses: 7
    functionsReached:
    - i2d_PKCS12_fp
    - exit
    - PEM_read_PrivateKey
    - PKCS12_create
    - fopen
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - PKCS12_free
    - ERR_print_errors_fp
    - fprintf
    - PEM_read_X509
    - rewind
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/demos/pkcs12/pkread.c:20,1
    - Dst: STACK_OF
      Src: /src/openssl/demos/pkcs12/pkread.c:24,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/demos/pkcs12/pkread.c:27,1
    - Dst: sk_PKCS7_num
      Src: /src/openssl/demos/pkcs12/pkread.c:30,1
    - Dst: sk_PKCS7_value
      Src: /src/openssl/demos/pkcs12/pkread.c:31,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/demos/pkcs12/pkread.c:32,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/openssl/demos/pkcs12/pkread.c:33,1
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/demos/pkcs12/pkread.c:36,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/demos/pkcs12/pkread.c:37,1
    - Dst: PKCS12_get_friendlyname
      Src: /src/openssl/demos/pkcs12/pkread.c:38,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/demos/pkcs12/pkread.c:40,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/demos/pkcs12/pkread.c:43,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - p12
    argTypes:
    - PKCS12*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 18
    functionDepth: 6
    functionLinenumber: 18
    functionLinenumberEnd: 46
    functionName: find_friendly_name
    functionSourceFile: /src/openssl/demos/pkcs12/pkread.c
    functionUses: 0
    functionsReached:
    - PKCS12_unpack_authsafes
    - PKCS12_get_friendlyname
    - sk_PKCS12_SAFEBAG_pop_free
    - sk_PKCS12_SAFEBAG_value
    - sk_PKCS12_SAFEBAG_num
    - STACK_OF
    - PKCS12_unpack_p7data
    - sk_PKCS7_pop_free
    - sk_PKCS7_value
    - OBJ_obj2nid
    - sk_PKCS7_num
    linkageType: ''
    returnType: char
    signature: char *find_friendly_name(PKCS12 *p12)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/demos/pkcs12/pkread.c:53,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:59,1
    - Dst: exit
      Src: /src/openssl/demos/pkcs12/pkread.c:60,1
    - Dst: fopen
      Src: /src/openssl/demos/pkcs12/pkread.c:63,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:64,1
    - Dst: exit
      Src: /src/openssl/demos/pkcs12/pkread.c:65,1
    - Dst: d2i_PKCS12_fp
      Src: /src/openssl/demos/pkcs12/pkread.c:67,1
    - Dst: fclose
      Src: /src/openssl/demos/pkcs12/pkread.c:68,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:70,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/pkcs12/pkread.c:71,1
    - Dst: PKCS12_parse
      Src: /src/openssl/demos/pkcs12/pkread.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:75,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/pkcs12/pkread.c:76,1
    - Dst: find_friendly_name
      Src: /src/openssl/demos/pkcs12/pkread.c:79,1
    - Dst: PKCS12_free
      Src: /src/openssl/demos/pkcs12/pkread.c:80,1
    - Dst: fopen
      Src: /src/openssl/demos/pkcs12/pkread.c:81,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:82,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:86,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:88,1
    - Dst: PEM_write_PrivateKey
      Src: /src/openssl/demos/pkcs12/pkread.c:89,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:92,1
    - Dst: PEM_write_X509_AUX
      Src: /src/openssl/demos/pkcs12/pkread.c:93,1
    - Dst: sk_X509_num
      Src: /src/openssl/demos/pkcs12/pkread.c:95,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkcs12/pkread.c:96,1
    - Dst: sk_X509_num
      Src: /src/openssl/demos/pkcs12/pkread.c:97,1
    - Dst: PEM_write_X509_AUX
      Src: /src/openssl/demos/pkcs12/pkread.c:98,1
    - Dst: sk_X509_value
      Src: /src/openssl/demos/pkcs12/pkread.c:98,1
    - Dst: fclose
      Src: /src/openssl/demos/pkcs12/pkread.c:100,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/pkcs12/pkread.c:105,1
    - Dst: X509_free
      Src: /src/openssl/demos/pkcs12/pkread.c:106,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkcs12/pkread.c:107,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/demos/pkcs12/pkread.c:108,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 48
    functionDepth: 7
    functionLinenumber: 48
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/openssl/demos/pkcs12/pkread.c
    functionUses: 7
    functionsReached:
    - PKCS12_parse
    - exit
    - sk_X509_value
    - fopen
    - PKCS12_free
    - EVP_PKEY_free
    - X509_free
    - STACK_OF
    - ERR_print_errors_fp
    - find_friendly_name
    - d2i_PKCS12_fp
    - OPENSSL_free
    - fprintf
    - PEM_write_PrivateKey
    - OSSL_STACK_OF_X509_free
    - fclose
    - PEM_write_X509_AUX
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/demos/quic/server/server.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: select_alpn
    functionSourceFile: /src/openssl/demos/quic/server/server.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int select_alpn(SSL *ssl,\n                       const unsigned char
      **out, unsigned char *out_len,\n                       const unsigned char *in,
      unsigned int in_len,\n                       void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/quic/server/server.c:50,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/quic/server/server.c:50,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/quic/server/server.c:55,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:56,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/quic/server/server.c:60,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:61,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/demos/quic/server/server.c:65,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:66,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/quic/server/server.c:71,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/server/server.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/quic/server/server.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_check_private_key
    - SSL_CTX_new
    - fprintf
    - OSSL_QUIC_server_method
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ctx(const char *cert_path, const char *key_path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/openssl/demos/quic/server/server.c:85,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:86,1
    - Dst: htons
      Src: /src/openssl/demos/quic/server/server.c:91,1
    - Dst: bind
      Src: /src/openssl/demos/quic/server/server.c:93,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:94,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/server/server.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/quic/server/server.c
    functionUses: 1
    functionsReached:
    - bind
    - BIO_closesocket
    - socket
    - fprintf
    - htons
    linkageType: ''
    returnType: int
    signature: int create_socket(uint16_t port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:112,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/demos/quic/server/server.c:122,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:124,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/server/server.c:125,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/quic/server/server.c:130,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/server/server.c:131,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 7
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: run_quic_conn
    functionSourceFile: /src/openssl/demos/quic/server/server.c
    functionUses: 0
    functionsReached:
    - SSL_shutdown
    - ERR_print_errors_fp
    - fprintf
    - SSL_write_ex2
    linkageType: ''
    returnType: int
    signature: int run_quic_conn(SSL *conn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new_listener
      Src: /src/openssl/demos/quic/server/server.c:146,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/quic/server/server.c:150,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/quic/server/server.c:154,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/demos/quic/server/server.c:162,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/demos/quic/server/server.c:167,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:169,1
    - Dst: run_quic_conn
      Src: /src/openssl/demos/quic/server/server.c:183,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/server/server.c:184,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/server/server.c:189,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/server/server.c:195,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/server/server.c:197,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 140
    functionDepth: 8
    functionLinenumber: 140
    functionLinenumberEnd: 199
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/quic/server/server.c
    functionUses: 1
    functionsReached:
    - SSL_new_listener
    - SSL_free
    - SSL_set_blocking_mode
    - ERR_print_errors_fp
    - SSL_listen
    - fprintf
    - run_quic_conn
    - SSL_set_fd
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int run_quic_server(SSL_CTX *ctx, int fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:209,1
    - Dst: create_ctx
      Src: /src/openssl/demos/quic/server/server.c:214,1
    - Dst: strtoul
      Src: /src/openssl/demos/quic/server/server.c:218,1
    - Dst: fprintf
      Src: /src/openssl/demos/quic/server/server.c:220,1
    - Dst: create_socket
      Src: /src/openssl/demos/quic/server/server.c:225,1
    - Dst: run_quic_server
      Src: /src/openssl/demos/quic/server/server.c:229,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/server/server.c:235,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/server/server.c:237,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/server/server.c:240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 201
    functionDepth: 7
    functionLinenumber: 201
    functionLinenumberEnd: 243
    functionName: main
    functionSourceFile: /src/openssl/demos/quic/server/server.c
    functionUses: 7
    functionsReached:
    - create_socket
    - SSL_CTX_free
    - BIO_closesocket
    - strtoul
    - run_quic_server
    - create_ctx
    - ERR_print_errors_fp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: DPRINTF
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DPRINTF(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _revents_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: POLL_PRINTA
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POLL_PRINTA(_revents_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:305,1
    - Dst: vfprintf
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:306,1
    - Dst: putc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: vwarnx
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - putc
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void vwarnx(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:315,1
    - Dst: vwarnx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:316,1
    - Dst: va_end
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:317,1
    - Dst: exit
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - status
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: errx
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 23
    functionsReached:
    - va_end
    - exit
    - va_start
    - vwarnx
    linkageType: ''
    returnType: void
    signature: void errx(int status, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:326,1
    - Dst: vwarnx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:327,1
    - Dst: va_end
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: warnx
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 33
    functionsReached:
    - va_end
    - va_start
    - vwarnx
    linkageType: ''
    returnType: void
    signature: void warnx(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: basename
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      basename(char *path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _a_
    - ','
    - _b_
    - ','
    - _c_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: strncasecmp
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strncasecmp(_a_, _b_, _c_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _t_
    - ','
    - _b_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: ctime_r
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctime_r(_t_, _b_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 365
    functionName: rb_to_txt_simple
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct response_txt_simple
    signature: 'struct response_txt_simple *

      rb_to_txt_simple(struct response_buffer *rb)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: rb_to_txt_full
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct response_txt_full
    signature: 'struct response_txt_full *

      rb_to_txt_full(struct response_buffer *rb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rb
    - rpos
    argTypes:
    - struct response_buffer*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: rb_advrpos_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rb_advrpos_cb(struct response_buffer *rb, unsigned int rpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: rb_ondestroy_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void rb_ondestroy_cb(struct response_buffer *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rb
    - buf
    - buf_sz
    argTypes:
    - struct response_buffer*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: rb_null_read_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rb_null_read_cb(struct response_buffer *rb, char *buf,
      unsigned int buf_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: rb_eof_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rb_eof_cb(struct response_buffer *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: rb_init
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rb_init(struct response_buffer *rb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct response_buffer*::rb_advrpos_cb
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - rb
    - rpos
    argTypes:
    - struct response_buffer*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: rb_advrpos
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - struct response_buffer*::rb_advrpos_cb
    linkageType: ''
    returnType: void
    signature: void rb_advrpos(struct response_buffer *rb, unsigned int rpos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct response_buffer*::rb_read_cb
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rb
    - buf
    - buf_sz
    argTypes:
    - struct response_buffer*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: rb_read
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - struct response_buffer*::rb_read_cb
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rb_read(struct response_buffer *rb, char *buf, unsigned
      int buf_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct response_buffer*::rb_eof_cb
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: rb_eof
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - struct response_buffer*::rb_eof_cb
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rb_eof(struct response_buffer *rb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct response_buffer*::rb_ondestroy_cb
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: rb_destroy
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - struct response_buffer*::rb_ondestroy_cb
    linkageType: ''
    returnType: void
    signature: void rb_destroy(struct response_buffer *rb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rb_to_txt_simple
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:447,1
    - Dst: rb_to_txt_full
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 456
    functionName: rb_txt_simple_eof_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_to_txt_full
    - rb_to_txt_simple
    linkageType: ''
    returnType: int
    signature: int rb_txt_simple_eof_cb(struct response_buffer *rb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rb_to_txt_simple
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:462,1
    - Dst: rb_eof
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - rb
    - buf
    - buf_sz
    argTypes:
    - struct response_buffer*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: rb_txt_simple_read_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_eof
    - rb_to_txt_simple
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int rb_txt_simple_read_cb(struct response_buffer *rb, char
      *buf,\n                      unsigned int buf_sz)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rb_to_txt_simple
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:481,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:484,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 487
    functionName: rb_txt_simple_ondestroy_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - rb_to_txt_simple
    linkageType: ''
    returnType: void
    signature: void rb_txt_simple_ondestroy_cb(struct response_buffer *rb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rb_to_txt_simple
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rb
    - sz
    argTypes:
    - struct response_buffer*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 499
    functionName: rb_txt_simple_advrpos_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_to_txt_simple
    linkageType: ''
    returnType: void
    signature: void rb_txt_simple_advrpos_cb(struct response_buffer *rb, unsigned
      int sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:507,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:511,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:512,1
    - Dst: strlen
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:515,1
    - Dst: rb_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - fill_pattern
    - fsize
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 527
    functionName: new_txt_simple_respoonse
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    - rb_init
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: ossl_unused
    signature: 'ossl_unused *

      new_txt_simple_respoonse(const char *fill_pattern, unsigned int fsize)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rb_to_txt_full
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: rb_txt_full_eof_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_to_txt_full
    linkageType: ''
    returnType: int
    signature: int rb_txt_full_eof_cb(struct response_buffer *rb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rb_to_txt_full
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:546,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:549,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rb
    argTypes:
    - struct response_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 552
    functionName: rb_txt_full_ondestroy_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - rb_to_txt_full
    linkageType: ''
    returnType: void
    signature: void rb_txt_full_ondestroy_cb(struct response_buffer *rb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rb_to_txt_full
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:557,1
    - Dst: rb_eof
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - rb
    - buf
    - buf_sz
    argTypes:
    - struct response_buffer*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 579
    functionName: rb_txt_full_read_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_eof
    - rb_to_txt_full
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rb_txt_full_read_cb(struct response_buffer *rb, char *buf,
      unsigned int buf_sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rb_to_txt_full
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rb
    - sz
    argTypes:
    - struct response_buffer*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: rb_txt_full_advrpos_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_to_txt_full
    linkageType: ''
    returnType: void
    signature: void rb_txt_full_advrpos_cb(struct response_buffer *rb, unsigned int
      sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:602,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:606,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:607,1
    - Dst: strlen
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:610,1
    - Dst: time
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:612,1
    - Dst: ctime_r
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:613,1
    - Dst: snprintf
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:615,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:622,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:623,1
    - Dst: rb_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - fill_pattern
    - fsize
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 639
    functionName: new_txt_full_respoonse
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - time
    - ctime_r
    - OPENSSL_free
    - OPENSSL_strdup
    - snprintf
    - rb_init
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: struct response_txt_full
    signature: 'struct response_txt_full *

      new_txt_full_respoonse(const char *fill_pattern, unsigned int fsize)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 658
    functionName: pe_type_to_name
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: 'ossl_unused *

      pe_type_to_name(const struct poll_event *pe)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 667
    functionName: pe_to_connection
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct poll_event_connection
    signature: 'struct poll_event_connection *

      pe_to_connection(struct poll_event *pe)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pe
    - ssl
    argTypes:
    - struct poll_event*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 680
    functionName: init_pe
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - SSL_as_poll_descriptor
    linkageType: ''
    returnType: void
    signature: void init_pe(struct poll_event *pe, SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:690,1
    - Dst: init_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 695
    functionName: new_pe
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - init_pe
    linkageType: ''
    returnType: struct poll_event
    signature: 'struct poll_event *

      new_pe(SSL *ssl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ssl_listener
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 708
    functionName: new_listener_pe
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - new_pe
    linkageType: ''
    returnType: struct poll_event_listener
    signature: 'struct poll_event_listener *

      new_listener_pe(SSL *ssl_listener)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:716,1
    - Dst: init_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:719,1
    - Dst: ossl_list_peccx_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:728,1
    - Dst: ossl_list_peccx_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ssl_qconn
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 733
    functionName: new_qconn_pe
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_list_peccx_init
    - init_pe
    linkageType: ''
    returnType: struct poll_event
    signature: 'struct poll_event *

      new_qconn_pe(SSL *ssl_qconn)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:740,1
    - Dst: init_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ssl_qs
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 749
    functionName: new_stream_pe
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - init_pe
    linkageType: ''
    returnType: struct poll_event_stream
    signature: 'struct poll_event_stream *

      new_stream_pe(SSL *ssl_qs)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 760
    functionName: get_ssl_from_pe
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL
    signature: 'SSL *

      get_ssl_from_pe(struct poll_event *pe)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: pe_pause_read
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pe_pause_read(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: pe_resume_read
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pe_resume_read(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 781
    functionName: pe_pause_write
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pe_pause_write(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 788
    functionName: pe_resume_write
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pe_resume_write(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pe_pause_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 798
    functionName: pe_disable_read
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - pe_pause_read
    linkageType: ''
    returnType: void
    signature: void pe_disable_read(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pe_pause_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 805
    functionName: pe_disable_write
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - pe_pause_write
    linkageType: ''
    returnType: void
    signature: void pe_disable_write(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_error_string_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - e
    - buf
    - buf_sz
    argTypes:
    - unsigned long
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 4
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: err_str_n
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - ERR_error_string_n
    linkageType: ''
    returnType: ossl_unused
    signature: 'ossl_unused *

      err_str_n(unsigned long e, char *buf, size_t buf_sz)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:823,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:830,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:835,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:836,1
    - Dst: err_str_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:837,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:842,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:843,1
    - Dst: err_str_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:844,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:848,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:849,1
    - Dst: err_str_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:850,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:853,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:854,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:857,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:858,1
    - Dst: err_str_n
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - pe
    - rc
    - caller
    argTypes:
    - struct poll_event*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 820
    functionDepth: 5
    functionLinenumber: 820
    functionLinenumberEnd: 864
    functionName: handle_ssl_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - get_ssl_from_pe
    - DPRINTF
    - pe_type_to_name
    - err_str_n
    linkageType: ''
    returnType: int
    signature: int handle_ssl_error(struct poll_event *pe, int rc, const char *caller)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - stream_state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 898
    functionName: stream_state_str
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: 'ossl_unused *

      stream_state_str(int stream_state)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:903,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:903,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:908,1
    - Dst: pe_disable_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:909,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:915,1
    - Dst: stream_state_str
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:917,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 923
    functionName: handle_read_stream_state
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - pe_disable_read
    - get_ssl_from_pe
    - DPRINTF
    - SSL_get_stream_read_state
    - pe_type_to_name
    - stream_state_str
    linkageType: ''
    returnType: int
    signature: int handle_read_stream_state(struct poll_event *pe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_stream_write_state
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:928,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:928,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:933,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:939,1
    - Dst: stream_state_str
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:941,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 946
    functionName: handle_write_stream_state
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - SSL_get_stream_write_state
    - get_ssl_from_pe
    - DPRINTF
    - pe_type_to_name
    - stream_state_str
    linkageType: ''
    returnType: int
    signature: int handle_write_stream_state(struct poll_event *pe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_pe_insert_head
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pm
    - pe
    argTypes:
    - struct poll_manager*
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 956
    functionName: add_pe_to_pm
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - ossl_list_pe_insert_head
    linkageType: ''
    returnType: void
    signature: void add_pe_to_pm(struct poll_manager *pm, struct poll_event *pe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_pe_remove
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pm
    - pe
    argTypes:
    - struct poll_manager*
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 966
    functionName: remove_pe_from_pm
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - ossl_list_pe_remove
    linkageType: ''
    returnType: void
    signature: void remove_pe_from_pm(struct poll_manager *pm, struct poll_event *pe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:973,1
    - Dst: ossl_list_pe_init
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:977,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:978,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 989
    functionName: create_poll_manager
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc_array
    - OPENSSL_zalloc
    - ossl_list_pe_init
    linkageType: ''
    returnType: struct poll_manager
    signature: 'struct poll_manager *

      create_poll_manager(void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_pe_num
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1002,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1007,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1019,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1029,1
    - Dst: ossl_list_pe_num
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1030,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1031,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1034,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1035,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1036,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - pm
    argTypes:
    - struct poll_manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1043
    functionName: rebuild_poll_set
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - ossl_list_pe_num
    - DPRINTF
    - OPENSSL_realloc_array
    - OSSL_LIST_FOREACH
    - pe_type_to_name
    - POLL_PRINTA
    linkageType: ''
    returnType: int
    signature: int rebuild_poll_set(struct poll_manager *pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1053,1
    - Dst: destroy_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1054,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1056,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pm
    argTypes:
    - struct poll_manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1058
    functionName: destroy_poll_manager
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - destroy_pe
    - OPENSSL_free
    - OSSL_LIST_FOREACH_DELSAFE
    linkageType: ''
    returnType: void
    signature: void destroy_poll_manager(struct poll_manager *pm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1068,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1068,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1069,1
    - Dst: remove_pe_from_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1071,1
    - Dst: struct poll_event*::pe_cb_ondestroy
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1073,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1075,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1078
    functionName: destroy_pe
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 1
    functionsReached:
    - SSL_free
    - get_ssl_from_pe
    - remove_pe_from_pm
    - DPRINTF
    - OPENSSL_free
    - pe_type_to_name
    - struct poll_event*::pe_cb_ondestroy
    linkageType: ''
    returnType: void
    signature: void destroy_pe(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1084
    functionName: pe_return_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pe_return_error(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1090
    functionName: pe_return_void
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pe_return_void(struct poll_event *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1099,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1100,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1103
    functionName: pe_handle_listener_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - POLL_PRINTA
    - pe_type_to_name
    - DPRINTF
    linkageType: ''
    returnType: int
    signature: int pe_handle_listener_error(struct poll_event *pe)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1116
    functionName: pe_to_stream
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct poll_event_stream
    signature: 'struct poll_event_stream *

      pe_to_stream(struct poll_event *pe)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1143,1
    - Dst: ossl_list_peccx_insert_tail
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1151,1
    - Dst: ossl_list_peccx_insert_tail
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pec
    - qsflag
    - peccx_arg
    argTypes:
    - struct poll_event_connection*
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1164
    functionName: request_new_stream
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - ossl_list_peccx_insert_tail
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int request_new_stream(struct poll_event_connection *pec, uint64_t
      qsflag,\n                   void *peccx_arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_peccx_head
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1174,1
    - Dst: ossl_list_peccx_remove
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1179,1
    - Dst: ossl_list_peccx_head
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1185,1
    - Dst: ossl_list_peccx_remove
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1188,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pec
    - stype
    argTypes:
    - struct poll_event_connection*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1200
    functionName: get_response_from_pec
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - ossl_list_peccx_remove
    - ossl_list_peccx_head
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: 'void *

      get_response_from_pec(struct poll_event_connection *pec, int stype)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1210,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1211,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1212,1
    - Dst: handle_read_stream_state
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1215,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1220,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1221,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1222,1
    - Dst: handle_write_stream_state
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1224,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1228,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1229,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1202
    functionDepth: 3
    functionLinenumber: 1202
    functionLinenumberEnd: 1235
    functionName: app_handle_stream_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - handle_write_stream_state
    - DPRINTF
    - handle_read_stream_state
    - pe_type_to_name
    - POLL_PRINTA
    linkageType: ''
    returnType: int
    signature: int app_handle_stream_error(struct poll_event *pe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1253,1
    - Dst: rb_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1257,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1259,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1260,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1261,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1261,1
    - Dst: pe_disable_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1262,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1276,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1276,1
    - Dst: rb_advrpos
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1278,1
    - Dst: handle_ssl_error
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1243
    functionDepth: 6
    functionLinenumber: 1243
    functionLinenumberEnd: 1286
    functionName: app_write_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_advrpos
    - SSL_write_ex
    - handle_ssl_error
    - get_ssl_from_pe
    - DPRINTF
    - pe_disable_write
    - pe_type_to_name
    - SSL_stream_conclude
    - rb_read
    linkageType: ''
    returnType: int
    signature: int app_write_cb(struct poll_event *pe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: request_new_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1296,1
    - Dst: pe_resume_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pes
    argTypes:
    - struct poll_event_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1309
    functionName: app_setup_response
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - request_new_stream
    - pe_resume_write
    linkageType: ''
    returnType: int
    signature: int app_setup_response(struct poll_event_stream *pes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1320,1
    - Dst: isdigit
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1333
    functionName: get_fsize
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_fsize(const char *file_name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1350,1
    - Dst: strncasecmp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1353,1
    - Dst: isspace
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1357,1
    - Dst: isalnum
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1367,1
    - Dst: ispunct
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1367,1
    - Dst: basename
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1379,1
    - Dst: assert
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1389,1
    - Dst: new_txt_full_respoonse
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1390,1
    - Dst: get_fsize
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1390,1
    - Dst: app_setup_response
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1395,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - pes
    argTypes:
    - struct poll_event_stream*
    assertStmts:
    - condition: (pe->pe_appdata == NULL)
      pos:
        line_end: 1388
        line_start: 1388
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    constantsTouched: []
    func_position:
      end: 1398
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1398
    functionName: parse_request
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - isalnum
    - isspace
    - get_fsize
    - basename
    - app_setup_response
    - ispunct
    - strncasecmp
    - assert
    - new_txt_full_respoonse
    linkageType: ''
    returnType: int
    signature: int parse_request(struct poll_event_stream *pes)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pes
    argTypes:
    - struct poll_event_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1416
    functionName: wrap_around
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wrap_around(struct poll_event_stream *pes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pe_to_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1428,1
    - Dst: wrap_around
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1440,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1443,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1443,1
    - Dst: pe_disable_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1446,1
    - Dst: handle_ssl_error
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1452,1
    - Dst: handle_read_stream_state
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1454,1
    - Dst: parse_request
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1425
    functionDepth: 6
    functionLinenumber: 1425
    functionLinenumberEnd: 1463
    functionName: app_read_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached:
    - SSL_read_ex
    - handle_ssl_error
    - pe_disable_read
    - get_ssl_from_pe
    - parse_request
    - wrap_around
    - pe_to_stream
    - handle_read_stream_state
    linkageType: ''
    returnType: int
    signature: int app_read_cb(struct poll_event *pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rb_destroy
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1469
    functionName: app_ondestroy_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - rb_destroy
    linkageType: ''
    returnType: void
    signature: void app_ondestroy_cb(struct poll_event *pe)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1484,1
    - Dst: pe_to_connection
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1485,1
    - Dst: assert
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1486,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1488,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1491,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1493,1
    - Dst: new_stream_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1497,1
    - Dst: get_response_from_pec
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1514,1
    - Dst: destroy_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1517,1
    - Dst: add_pe_to_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1519,1
    - Dst: pe_resume_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1520,1
    - Dst: pe_resume_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1523,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - qconn_pe
    argTypes:
    - struct poll_event*
    assertStmts:
    - condition: (qconn_pe->pe_poll_item.revents & SSL_POLL_EVENT_OS)
      pos:
        line_end: 1483
        line_start: 1483
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    - condition: (pec != NULL)
      pos:
        line_end: 1485
        line_start: 1485
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    constantsTouched: []
    func_position:
      end: 1531
      start: 1474
    functionDepth: 2
    functionLinenumber: 1474
    functionLinenumberEnd: 1531
    functionName: app_new_stream_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - add_pe_to_pm
    - SSL_free
    - new_stream_pe
    - get_ssl_from_pe
    - get_response_from_pec
    - pe_resume_write
    - pe_resume_read
    - pe_to_connection
    - destroy_pe
    - SSL_new_stream
    - assert
    linkageType: ''
    returnType: int
    signature: int app_new_stream_cb(struct poll_event *qconn_pe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1539,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1541,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1548,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1548,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1559,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1561,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1566,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1567,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1573
    functionName: app_handle_qconn_error
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - get_ssl_from_pe
    - DPRINTF
    - pe_type_to_name
    - SSL_shutdown
    - POLL_PRINTA
    linkageType: ''
    returnType: int
    signature: int app_handle_qconn_error(struct poll_event *pe)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1588,1
    - Dst: pe_to_connection
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1589,1
    - Dst: assert
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1590,1
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1593,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1596,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1598,1
    - Dst: new_stream_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1602,1
    - Dst: add_pe_to_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1608,1
    - Dst: pe_pause_write
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1618,1
    - Dst: pe_resume_read
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1621,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - qconn_pe
    argTypes:
    - struct poll_event*
    assertStmts:
    - condition: (qconn_pe->pe_poll_item.revents & SSL_POLL_EVENT_IS)
      pos:
        line_end: 1587
        line_start: 1587
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    - condition: (pec != NULL)
      pos:
        line_end: 1589
        line_start: 1589
        source_file: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    constantsTouched: []
    func_position:
      end: 1628
      start: 1578
    functionDepth: 2
    functionLinenumber: 1578
    functionLinenumberEnd: 1628
    functionName: app_accept_stream_cb
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - SSL_accept_stream
    - add_pe_to_pm
    - SSL_free
    - new_stream_pe
    - get_ssl_from_pe
    - pe_resume_read
    - pe_pause_write
    - pe_to_connection
    - assert
    linkageType: ''
    returnType: int
    signature: int app_accept_stream_cb(struct poll_event *qconn_pe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pe_to_connection
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1636,1
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1640,1
    - Dst: struct poll_event_context*::peccx_cb_ondestroy
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1641,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1642,1
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1645,1
    - Dst: struct poll_event_context*::peccx_cb_ondestroy
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1649
    functionName: app_destroy_qconn
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - OSSL_LIST_FOREACH_DELSAFE
    - OPENSSL_free
    - struct poll_event_context*::peccx_cb_ondestroy
    - pe_to_connection
    linkageType: ''
    returnType: void
    signature: void app_destroy_qconn(struct poll_event *pe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_ssl_from_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1658,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1659,1
    - Dst: new_qconn_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1663,1
    - Dst: add_pe_to_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1669,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - listener_pe
    argTypes:
    - struct poll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1651
    functionDepth: 2
    functionLinenumber: 1651
    functionLinenumberEnd: 1676
    functionName: app_accept_qconn
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - get_ssl_from_pe
    - new_qconn_pe
    - add_pe_to_pm
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int app_accept_qconn(struct poll_event *listener_pe)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new_listener
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1694,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1697,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1704,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1713,1
    - Dst: new_listener_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1716,1
    - Dst: add_pe_to_pm
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1725,1
    - Dst: rebuild_poll_set
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1734,1
    - Dst: SSL_poll
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1735,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1745,1
    - Dst: pe_type_to_name
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1746,1
    - Dst: POLL_PRINTA
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1747,1
    - Dst: struct poll_event*::pe_cb_error
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1750,1
    - Dst: struct poll_event*::pe_cb_in
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1752,1
    - Dst: struct poll_event*::pe_cb_out
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1754,1
    - Dst: destroy_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1758,1
    - Dst: SSL_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1765,1
    - Dst: destroy_pe
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1766,1
    - Dst: destroy_poll_manager
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1767,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 3
    argNames:
    - ctx
    - pm
    - fd
    argTypes:
    - SSL_CTX*
    - struct poll_manager*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1769
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached:
    - SSL_new_listener
    - add_pe_to_pm
    - struct poll_event*::pe_cb_in
    - destroy_pe
    - SSL_free
    - rebuild_poll_set
    - DPRINTF
    - SSL_set_blocking_mode
    - new_listener_pe
    - SSL_poll
    - pe_type_to_name
    - SSL_listen
    - struct poll_event*::pe_cb_out
    - POLL_PRINTA
    - struct poll_event*::pe_cb_error
    - destroy_poll_manager
    - SSL_set_fd
    linkageType: ''
    returnType: int
    signature: int run_quic_server(SSL_CTX *ctx, struct poll_manager *pm, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1792
    functionName: select_alpn
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int select_alpn(SSL *ssl, const unsigned char **out, unsigned char
      *out_len,\n            const unsigned char *in, unsigned int in_len, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1805,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1805,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1824,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1825,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1835,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1836,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1851,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1854,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1859,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1861
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_use_certificate_chain_file
    - DPRINTF
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - OSSL_QUIC_server_method
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: 'SSL_CTX *

      create_ctx(const char *cert_path, const char *key_path)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1871,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1872,1
    - Dst: htons
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1877,1
    - Dst: bind
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1880,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1881,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1882,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1887,1
    - Dst: DPRINTF
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1888,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1864
    functionDepth: 3
    functionLinenumber: 1864
    functionLinenumberEnd: 1894
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 2
    functionsReached:
    - bind
    - BIO_closesocket
    - socket
    - DPRINTF
    - BIO_socket_nbio
    - htons
    linkageType: ''
    returnType: int
    signature: int create_socket(uint16_t port)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1911,1
    - Dst: create_ctx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1914,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1915,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1916,1
    - Dst: strtoul
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1920,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1922,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1923,1
    - Dst: create_socket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1927,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1928,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1929,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1930,1
    - Dst: create_poll_manager
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1933,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1935,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1936,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1937,1
    - Dst: run_quic_server
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1941,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1942,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1943,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1944,1
    - Dst: errx
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1945,1
    - Dst: destroy_poll_manager
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1948,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1950,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c:1951,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1897
    functionDepth: 7
    functionLinenumber: 1897
    functionLinenumberEnd: 1954
    functionName: main
    functionSourceFile: /src/openssl/demos/quic/poll-server/quic-server-ssl-poll-http.c
    functionUses: 7
    functionsReached:
    - create_socket
    - create_poll_manager
    - SSL_CTX_free
    - BIO_closesocket
    - strtoul
    - run_quic_server
    - create_ctx
    - ERR_print_errors_fp
    - destroy_poll_manager
    - errx
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_sign2.c:23,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_sign2.c:24,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_sign2.c:26,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/cms/cms_sign2.c:31,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/cms/cms_sign2.c:33,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/cms/cms_sign2.c:36,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_sign2.c:38,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_sign2.c:40,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/cms/cms_sign2.c:45,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/cms/cms_sign2.c:47,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/cms/cms_sign2.c:50,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_sign2.c:55,1
    - Dst: CMS_sign
      Src: /src/openssl/demos/cms/cms_sign2.c:60,1
    - Dst: CMS_add1_signer
      Src: /src/openssl/demos/cms/cms_sign2.c:67,1
    - Dst: CMS_add1_signer
      Src: /src/openssl/demos/cms/cms_sign2.c:70,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_sign2.c:73,1
    - Dst: SMIME_write_CMS
      Src: /src/openssl/demos/cms/cms_sign2.c:79,1
    - Dst: printf
      Src: /src/openssl/demos/cms/cms_sign2.c:82,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_sign2.c:87,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_sign2.c:88,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_sign2.c:91,1
    - Dst: X509_free
      Src: /src/openssl/demos/cms/cms_sign2.c:92,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/cms/cms_sign2.c:93,1
    - Dst: X509_free
      Src: /src/openssl/demos/cms/cms_sign2.c:94,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/cms/cms_sign2.c:95,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_sign2.c:96,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_sign2.c:97,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_sign2.c:98,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 15
    functionDepth: 15
    functionLinenumber: 15
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_sign2.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - printf
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - EVP_PKEY_free
    - X509_free
    - ERR_print_errors_fp
    - fprintf
    - CMS_ContentInfo_free
    - BIO_reset
    - CMS_add1_signer
    - SMIME_write_CMS
    - CMS_sign
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_ddec.c:26,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_ddec.c:27,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_ddec.c:30,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/cms/cms_ddec.c:35,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/cms/cms_ddec.c:37,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/cms/cms_ddec.c:40,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_ddec.c:47,1
    - Dst: PEM_read_bio_CMS
      Src: /src/openssl/demos/cms/cms_ddec.c:53,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_ddec.c:59,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_ddec.c:64,1
    - Dst: CMS_decrypt
      Src: /src/openssl/demos/cms/cms_ddec.c:69,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_ddec.c:77,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_ddec.c:78,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_ddec.c:81,1
    - Dst: X509_free
      Src: /src/openssl/demos/cms/cms_ddec.c:82,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/cms/cms_ddec.c:83,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_ddec.c:84,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_ddec.c:85,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_ddec.c:86,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_ddec.c:87,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 18
    functionDepth: 11
    functionLinenumber: 18
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_ddec.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - EVP_PKEY_free
    - X509_free
    - ERR_print_errors_fp
    - fprintf
    - CMS_ContentInfo_free
    - CMS_decrypt
    - BIO_reset
    - PEM_read_bio_CMS
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/demos/cms/cms_enc.c:19,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_enc.c:29,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_enc.c:30,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_enc.c:33,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/cms/cms_enc.c:38,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/demos/cms/cms_enc.c:44,1
    - Dst: sk_X509_push
      Src: /src/openssl/demos/cms/cms_enc.c:46,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_enc.c:57,1
    - Dst: CMS_encrypt
      Src: /src/openssl/demos/cms/cms_enc.c:63,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/openssl/demos/cms/cms_enc.c:63,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_enc.c:68,1
    - Dst: SMIME_write_CMS
      Src: /src/openssl/demos/cms/cms_enc.c:73,1
    - Dst: printf
      Src: /src/openssl/demos/cms/cms_enc.c:76,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_enc.c:81,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_enc.c:82,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_enc.c:85,1
    - Dst: X509_free
      Src: /src/openssl/demos/cms/cms_enc.c:86,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/demos/cms/cms_enc.c:87,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_enc.c:88,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_enc.c:89,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_enc.c:90,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 15
    functionDepth: 7
    functionLinenumber: 15
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_enc.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - CMS_ContentInfo_free
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - sk_X509_push
    - OSSL_STACK_OF_X509_free
    - X509_free
    - STACK_OF
    - CMS_encrypt
    - ERR_print_errors_fp
    - EVP_des_ede3_cbc
    - fprintf
    - sk_X509_new_null
    - SMIME_write_CMS
    - printf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/demos/cms/cms_ver.c:21,1
    - Dst: BIO_new_fp
      Src: /src/openssl/demos/cms/cms_ver.c:30,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/demos/cms/cms_ver.c:31,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/demos/cms/cms_ver.c:32,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/demos/cms/cms_ver.c:33,1
    - Dst: CMS_signed_get_attr_by_NID
      Src: /src/openssl/demos/cms/cms_ver.c:34,1
    - Dst: CMS_signed_get_attr
      Src: /src/openssl/demos/cms/cms_ver.c:35,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/demos/cms/cms_ver.c:36,1
    - Dst: ASN1_UTCTIME_print
      Src: /src/openssl/demos/cms/cms_ver.c:42,1
    - Dst: ASN1_GENERALIZEDTIME_print
      Src: /src/openssl/demos/cms/cms_ver.c:46,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_ver.c:49,1
    - Dst: BIO_printf
      Src: /src/openssl/demos/cms/cms_ver.c:52,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_ver.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: print_signingTime
    functionSourceFile: /src/openssl/demos/cms/cms_ver.c
    functionUses: 0
    functionsReached:
    - CMS_get0_SignerInfos
    - X509_ATTRIBUTE_get0_type
    - ASN1_UTCTIME_print
    - BIO_new_fp
    - sk_CMS_SignerInfo_value
    - CMS_signed_get_attr_by_NID
    - ASN1_GENERALIZEDTIME_print
    - BIO_free
    - STACK_OF
    - fprintf
    - sk_CMS_SignerInfo_num
    - CMS_signed_get_attr
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_signingTime(CMS_ContentInfo *cms)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_ver.c:66,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_ver.c:67,1
    - Dst: X509_STORE_new
      Src: /src/openssl/demos/cms/cms_ver.c:71,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_ver.c:76,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/cms/cms_ver.c:81,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/demos/cms/cms_ver.c:86,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_ver.c:91,1
    - Dst: SMIME_read_CMS
      Src: /src/openssl/demos/cms/cms_ver.c:97,1
    - Dst: print_signingTime
      Src: /src/openssl/demos/cms/cms_ver.c:102,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_ver.c:105,1
    - Dst: CMS_verify
      Src: /src/openssl/demos/cms/cms_ver.c:109,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_ver.c:110,1
    - Dst: printf
      Src: /src/openssl/demos/cms/cms_ver.c:114,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_ver.c:120,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_ver.c:121,1
    - Dst: X509_STORE_free
      Src: /src/openssl/demos/cms/cms_ver.c:124,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_ver.c:125,1
    - Dst: X509_free
      Src: /src/openssl/demos/cms/cms_ver.c:126,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_ver.c:127,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_ver.c:128,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_ver.c:129,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 58
    functionDepth: 7
    functionLinenumber: 58
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_ver.c
    functionUses: 7
    functionsReached:
    - X509_STORE_new
    - BIO_new_file
    - CMS_verify
    - X509_STORE_free
    - X509_STORE_add_cert
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - print_signingTime
    - BIO_free
    - SMIME_read_CMS
    - X509_free
    - ERR_print_errors_fp
    - fprintf
    - CMS_ContentInfo_free
    - printf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/demos/cms/cms_denc.c:22,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_denc.c:28,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_denc.c:29,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_denc.c:32,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/cms/cms_denc.c:37,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/demos/cms/cms_denc.c:43,1
    - Dst: sk_X509_push
      Src: /src/openssl/demos/cms/cms_denc.c:45,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_denc.c:56,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_denc.c:58,1
    - Dst: CMS_encrypt
      Src: /src/openssl/demos/cms/cms_denc.c:64,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/openssl/demos/cms/cms_denc.c:64,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_denc.c:69,1
    - Dst: CMS_final
      Src: /src/openssl/demos/cms/cms_denc.c:73,1
    - Dst: PEM_write_bio_CMS
      Src: /src/openssl/demos/cms/cms_denc.c:77,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_denc.c:83,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_denc.c:84,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_denc.c:87,1
    - Dst: X509_free
      Src: /src/openssl/demos/cms/cms_denc.c:88,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/demos/cms/cms_denc.c:89,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_denc.c:90,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_denc.c:91,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_denc.c:92,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_denc.c:93,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 18
    functionDepth: 11
    functionLinenumber: 18
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_denc.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - CMS_ContentInfo_free
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - sk_X509_push
    - OSSL_STACK_OF_X509_free
    - X509_free
    - STACK_OF
    - CMS_encrypt
    - ERR_print_errors_fp
    - PEM_write_bio_CMS
    - EVP_des_ede3_cbc
    - fprintf
    - sk_X509_new_null
    - CMS_final
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_dec.c:23,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_dec.c:24,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_dec.c:27,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/cms/cms_dec.c:32,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/cms/cms_dec.c:34,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/cms/cms_dec.c:37,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_dec.c:44,1
    - Dst: SMIME_read_CMS
      Src: /src/openssl/demos/cms/cms_dec.c:50,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_dec.c:55,1
    - Dst: CMS_decrypt
      Src: /src/openssl/demos/cms/cms_dec.c:60,1
    - Dst: printf
      Src: /src/openssl/demos/cms/cms_dec.c:63,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_dec.c:69,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_dec.c:70,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_dec.c:73,1
    - Dst: X509_free
      Src: /src/openssl/demos/cms/cms_dec.c:74,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/cms/cms_dec.c:75,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_dec.c:76,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_dec.c:77,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_dec.c:78,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 15
    functionDepth: 11
    functionLinenumber: 15
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_dec.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - EVP_PKEY_free
    - SMIME_read_CMS
    - X509_free
    - ERR_print_errors_fp
    - fprintf
    - CMS_ContentInfo_free
    - CMS_decrypt
    - BIO_reset
    - printf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_comp.c:27,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_comp.c:28,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_comp.c:32,1
    - Dst: CMS_compress
      Src: /src/openssl/demos/cms/cms_comp.c:38,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_comp.c:43,1
    - Dst: SMIME_write_CMS
      Src: /src/openssl/demos/cms/cms_comp.c:48,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_comp.c:56,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_comp.c:57,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_comp.c:60,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_comp.c:61,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_comp.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 15
    functionDepth: 12
    functionLinenumber: 15
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_comp.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - CMS_compress
    - ERR_print_errors_fp
    - fprintf
    - CMS_ContentInfo_free
    - SMIME_write_CMS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_uncomp.c:21,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_uncomp.c:22,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_uncomp.c:26,1
    - Dst: SMIME_read_CMS
      Src: /src/openssl/demos/cms/cms_uncomp.c:32,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_uncomp.c:37,1
    - Dst: CMS_uncompress
      Src: /src/openssl/demos/cms/cms_uncomp.c:42,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_uncomp.c:48,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_uncomp.c:49,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_uncomp.c:52,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_uncomp.c:53,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_uncomp.c:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 15
    functionDepth: 11
    functionLinenumber: 15
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_uncomp.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - CMS_uncompress
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - SMIME_read_CMS
    - ERR_print_errors_fp
    - fprintf
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/cms/cms_sign.c:30,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/cms/cms_sign.c:31,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_sign.c:34,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/cms/cms_sign.c:39,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/cms/cms_sign.c:41,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/cms/cms_sign.c:44,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_sign.c:51,1
    - Dst: CMS_sign
      Src: /src/openssl/demos/cms/cms_sign.c:57,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/cms/cms_sign.c:62,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/cms/cms_sign.c:67,1
    - Dst: SMIME_write_CMS
      Src: /src/openssl/demos/cms/cms_sign.c:72,1
    - Dst: fprintf
      Src: /src/openssl/demos/cms/cms_sign.c:78,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cms/cms_sign.c:79,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/demos/cms/cms_sign.c:82,1
    - Dst: X509_free
      Src: /src/openssl/demos/cms/cms_sign.c:83,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/cms/cms_sign.c:84,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_sign.c:85,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_sign.c:86,1
    - Dst: BIO_free
      Src: /src/openssl/demos/cms/cms_sign.c:87,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 15
    functionDepth: 7
    functionLinenumber: 15
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/openssl/demos/cms/cms_sign.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - PEM_read_bio_PrivateKey
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - EVP_PKEY_free
    - X509_free
    - ERR_print_errors_fp
    - fprintf
    - CMS_ContentInfo_free
    - BIO_reset
    - SMIME_write_CMS
    - CMS_sign
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/demos/encode/rsa_encode.c:46,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:50,1
    - Dst: OSSL_DECODER_CTX_set_passphrase
      Src: /src/openssl/demos/encode/rsa_encode.c:64,1
    - Dst: strlen
      Src: /src/openssl/demos/encode/rsa_encode.c:66,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:67,1
    - Dst: OSSL_DECODER_from_fp
      Src: /src/openssl/demos/encode/rsa_encode.c:73,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:74,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/demos/encode/rsa_encode.c:80,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encode/rsa_encode.c:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - libctx
    - f
    - passphrase
    argTypes:
    - OSSL_LIB_CTX*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 29
    functionDepth: 12
    functionLinenumber: 29
    functionLinenumberEnd: 93
    functionName: load_key
    functionSourceFile: /src/openssl/demos/encode/rsa_encode.c
    functionUses: 8
    functionsReached:
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_from_fp
    - OSSL_DECODER_CTX_new_for_pkey
    - EVP_PKEY_free
    - fprintf
    - strlen
    - OSSL_DECODER_CTX_set_passphrase
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_key(OSSL_LIB_CTX *libctx, FILE *f, const char *passphrase)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/demos/encode/rsa_encode.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:127,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/demos/encode/rsa_encode.c:145,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:146,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/demos/encode/rsa_encode.c:151,1
    - Dst: strlen
      Src: /src/openssl/demos/encode/rsa_encode.c:153,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:154,1
    - Dst: OSSL_ENCODER_to_fp
      Src: /src/openssl/demos/encode/rsa_encode.c:160,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:161,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/demos/encode/rsa_encode.c:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pkey
    - f
    - passphrase
    argTypes:
    - EVP_PKEY*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 101
    functionDepth: 11
    functionLinenumber: 101
    functionLinenumberEnd: 169
    functionName: store_key
    functionSourceFile: /src/openssl/demos/encode/rsa_encode.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_CTX_free
    - fprintf
    - OSSL_ENCODER_to_fp
    - strlen
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_set_passphrase
    linkageType: ''
    returnType: int
    signature: int store_key(EVP_PKEY *pkey, FILE *f, const char *passphrase)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/openssl/demos/encode/rsa_encode.c:186,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:188,1
    - Dst: store_key
      Src: /src/openssl/demos/encode/rsa_encode.c:192,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/rsa_encode.c:193,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encode/rsa_encode.c:199,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/encode/rsa_encode.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/openssl/demos/encode/rsa_encode.c
    functionUses: 7
    functionsReached:
    - load_key
    - OSSL_LIB_CTX_free
    - store_key
    - EVP_PKEY_free
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/demos/encode/ec_encode.c:46,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:50,1
    - Dst: OSSL_DECODER_CTX_set_passphrase
      Src: /src/openssl/demos/encode/ec_encode.c:64,1
    - Dst: strlen
      Src: /src/openssl/demos/encode/ec_encode.c:66,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:67,1
    - Dst: OSSL_DECODER_from_fp
      Src: /src/openssl/demos/encode/ec_encode.c:73,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:74,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/demos/encode/ec_encode.c:80,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encode/ec_encode.c:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - libctx
    - f
    - passphrase
    argTypes:
    - OSSL_LIB_CTX*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 29
    functionDepth: 12
    functionLinenumber: 29
    functionLinenumberEnd: 93
    functionName: load_key
    functionSourceFile: /src/openssl/demos/encode/ec_encode.c
    functionUses: 9
    functionsReached:
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_from_fp
    - OSSL_DECODER_CTX_new_for_pkey
    - EVP_PKEY_free
    - fprintf
    - strlen
    - OSSL_DECODER_CTX_set_passphrase
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *load_key(OSSL_LIB_CTX *libctx, FILE *f, const char *passphrase)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/demos/encode/ec_encode.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:127,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/demos/encode/ec_encode.c:148,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:149,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/demos/encode/ec_encode.c:154,1
    - Dst: strlen
      Src: /src/openssl/demos/encode/ec_encode.c:156,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:157,1
    - Dst: OSSL_ENCODER_to_fp
      Src: /src/openssl/demos/encode/ec_encode.c:163,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:164,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/demos/encode/ec_encode.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pkey
    - f
    - passphrase
    argTypes:
    - EVP_PKEY*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 101
    functionDepth: 11
    functionLinenumber: 101
    functionLinenumberEnd: 172
    functionName: store_key
    functionSourceFile: /src/openssl/demos/encode/ec_encode.c
    functionUses: 1
    functionsReached:
    - OSSL_ENCODER_CTX_new_for_pkey
    - OSSL_ENCODER_CTX_free
    - fprintf
    - OSSL_ENCODER_to_fp
    - strlen
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_set_passphrase
    linkageType: ''
    returnType: int
    signature: int store_key(EVP_PKEY *pkey, FILE *f, const char *passphrase)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: load_key
      Src: /src/openssl/demos/encode/ec_encode.c:189,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:191,1
    - Dst: store_key
      Src: /src/openssl/demos/encode/ec_encode.c:195,1
    - Dst: fprintf
      Src: /src/openssl/demos/encode/ec_encode.c:196,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encode/ec_encode.c:202,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/encode/ec_encode.c:203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 205
    functionName: main
    functionSourceFile: /src/openssl/demos/encode/ec_encode.c
    functionUses: 7
    functionsReached:
    - load_key
    - OSSL_LIB_CTX_free
    - store_key
    - EVP_PKEY_free
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: ARRAY_LEN
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_LEN(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:41,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - OSSL_DEMO_H3_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: h3_stream_free
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void h3_stream_free(OSSL_DEMO_H3_STREAM *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - OSSL_DEMO_H3_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: h3_stream_hash
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long h3_stream_hash(const OSSL_DEMO_H3_STREAM *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_DEMO_H3_STREAM*
    - OSSL_DEMO_H3_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: h3_stream_eq
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h3_stream_eq(const OSSL_DEMO_H3_STREAM *a, const OSSL_DEMO_H3_STREAM
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - OSSL_DEMO_H3_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: OSSL_DEMO_H3_STREAM_get_user_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *OSSL_DEMO_H3_STREAM_get_user_data(const OSSL_DEMO_H3_STREAM *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_DEMO_H3_STREAM_doall
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:90,1
    - Dst: nghttp3_conn_del
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:92,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:93,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - OSSL_DEMO_H3_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: OSSL_DEMO_H3_CONN_free
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_del
    - BIO_free_all
    - lh_OSSL_DEMO_H3_STREAM_free
    - OPENSSL_free
    - lh_OSSL_DEMO_H3_STREAM_doall
    linkageType: ''
    returnType: void
    signature: void OSSL_DEMO_H3_CONN_free(OSSL_DEMO_H3_CONN *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:103,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:109,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:110,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:115,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_insert
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - conn
    - type
    argTypes:
    - OSSL_DEMO_H3_CONN*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: h3_conn_create_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - SSL_get_stream_id
    - ERR_raise_data
    - OPENSSL_free
    - lh_OSSL_DEMO_H3_STREAM_insert
    - SSL_new_stream
    linkageType: ''
    returnType: OSSL_DEMO_H3_STREAM
    signature: OSSL_DEMO_H3_STREAM *h3_conn_create_stream(OSSL_DEMO_H3_CONN *conn,
      int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:128,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:131,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_insert
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - qstream
    argTypes:
    - OSSL_DEMO_H3_CONN*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: h3_conn_accept_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_get_stream_id
    - OPENSSL_zalloc
    - lh_OSSL_DEMO_H3_STREAM_insert
    linkageType: ''
    returnType: OSSL_DEMO_H3_STREAM
    signature: OSSL_DEMO_H3_STREAM *h3_conn_accept_stream(OSSL_DEMO_H3_CONN *conn,
      SSL *qstream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_DEMO_H3_STREAM_delete
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:142,1
    - Dst: h3_stream_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - s
    argTypes:
    - OSSL_DEMO_H3_CONN*
    - OSSL_DEMO_H3_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: h3_conn_remove_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - lh_OSSL_DEMO_H3_STREAM_delete
    - h3_stream_free
    linkageType: ''
    returnType: void
    signature: void h3_conn_remove_stream(OSSL_DEMO_H3_CONN *conn, OSSL_DEMO_H3_STREAM
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DEMO_H3_CONN*::recv_data_cb
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - h3conn
    - stream_id
    - data
    - datalen
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: h3_conn_recv_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OSSL_DEMO_H3_CONN*::recv_data_cb
    linkageType: ''
    returnType: int
    signature: "int h3_conn_recv_data(nghttp3_conn *h3conn, int64_t stream_id,\n                             const
      uint8_t *data, size_t datalen,\n                             void *conn_user_data,
      void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DEMO_H3_CONN*::stream_close_cb
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:169,1
    - Dst: h3_conn_remove_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - h3conn
    - stream_id
    - app_error_code
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: h3_conn_stream_close
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - h3_conn_remove_stream
    - OSSL_DEMO_H3_CONN*::stream_close_cb
    linkageType: ''
    returnType: int
    signature: "int h3_conn_stream_close(nghttp3_conn *h3conn, int64_t stream_id,\n
      \                               uint64_t app_error_code,\n                                void
      *conn_user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DEMO_H3_CONN*::stop_sending_cb
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:185,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - h3conn
    - stream_id
    - app_error_code
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: h3_conn_stop_sending
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - OSSL_DEMO_H3_CONN*::stop_sending_cb
    linkageType: ''
    returnType: int
    signature: "int h3_conn_stop_sending(nghttp3_conn *h3conn, int64_t stream_id,\n
      \                               uint64_t app_error_code,\n                                void
      *conn_user_data, void *stream_user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DEMO_H3_CONN*::reset_stream_cb
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:203,1
    - Dst: SSL_stream_reset
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - h3conn
    - stream_id
    - app_error_code
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 214
    functionName: h3_conn_reset_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OSSL_DEMO_H3_CONN*::reset_stream_cb
    - SSL_stream_reset
    linkageType: ''
    returnType: int
    signature: "int h3_conn_reset_stream(nghttp3_conn *h3conn, int64_t stream_id,\n
      \                               uint64_t app_error_code,\n                                void
      *conn_user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DEMO_H3_CONN*::deferred_consume_cb
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - h3conn
    - stream_id
    - consumed
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: h3_conn_deferred_consume
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - OSSL_DEMO_H3_CONN*::deferred_consume_cb
    linkageType: ''
    returnType: int
    signature: "int h3_conn_deferred_consume(nghttp3_conn *h3conn, int64_t stream_id,\n
      \                                   size_t consumed,\n                                    void
      *conn_user_data, void *stream_user_data)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:246,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:251,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:257,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:258,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_new
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:264,1
    - Dst: SSL_in_before
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:272,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:273,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:275,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:285,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:293,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:294,1
    - Dst: h3_conn_create_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:308,1
    - Dst: h3_conn_create_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:312,1
    - Dst: h3_conn_create_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:316,1
    - Dst: nghttp3_settings_default
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:320,1
    - Dst: nghttp3_conn_client_new
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:344,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:347,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:349,1
    - Dst: nghttp3_conn_bind_control_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:361,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:363,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:365,1
    - Dst: nghttp3_conn_bind_qpack_streams
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:369,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:373,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:375,1
    - Dst: nghttp3_conn_del
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:382,1
    - Dst: h3_stream_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:383,1
    - Dst: h3_stream_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:384,1
    - Dst: h3_stream_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:385,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:386,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:387,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 4
    argNames:
    - qconn_bio
    - callbacks
    - settings
    - user_data
    argTypes:
    - BIO*
    - nghttp3_callbacks*
    - nghttp3_settings*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 389
    functionName: OSSL_DEMO_H3_CONN_new_for_conn
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - nghttp3_conn_del
    - OPENSSL_zalloc
    - h3_stream_free
    - SSL_set_alpn_protos
    - nghttp3_conn_bind_control_stream
    - ERR_raise_data
    - BIO_get_ssl
    - lh_OSSL_DEMO_H3_STREAM_free
    - OPENSSL_free
    - BIO_set_nbio
    - h3_conn_create_stream
    - nghttp3_conn_client_new
    - SSL_in_before
    - lh_OSSL_DEMO_H3_STREAM_new
    - nghttp3_strerror
    - nghttp3_settings_default
    - SSL_set_default_stream_mode
    - nghttp3_conn_bind_qpack_streams
    linkageType: ''
    returnType: OSSL_DEMO_H3_CONN
    signature: "OSSL_DEMO_H3_CONN *OSSL_DEMO_H3_CONN_new_for_conn(BIO *qconn_bio,\n
      \                                                 const nghttp3_callbacks *callbacks,\n
      \                                                 const nghttp3_settings *settings,\n
      \                                                 void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:402,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:406,1
    - Dst: BIO_get_conn_hostname
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:413,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:417,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:421,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:425,1
    - Dst: OSSL_DEMO_H3_CONN_new_for_conn
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:428,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - ctx
    - addr
    - callbacks
    - settings
    - user_data
    argTypes:
    - SSL_CTX*
    - char*
    - nghttp3_callbacks*
    - nghttp3_settings*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 438
    functionName: OSSL_DEMO_H3_CONN_new_for_addr
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - BIO_set_conn_hostname
    - BIO_new_ssl_connect
    - SSL_set_tlsext_host_name
    - BIO_free_all
    - BIO_get_ssl
    - SSL_set1_host
    - OSSL_DEMO_H3_CONN_new_for_conn
    - BIO_get_conn_hostname
    linkageType: ''
    returnType: OSSL_DEMO_H3_CONN
    signature: "OSSL_DEMO_H3_CONN *OSSL_DEMO_H3_CONN_new_for_addr(SSL_CTX *ctx, const
      char *addr,\n                                                  const nghttp3_callbacks
      *callbacks,\n                                                  const nghttp3_settings
      *settings,\n                                                  void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_connect
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:442,1
    - Dst: OSSL_DEMO_H3_CONN_get0_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - OSSL_DEMO_H3_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: OSSL_DEMO_H3_CONN_connect
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_connect
    - OSSL_DEMO_H3_CONN_get0_connection
    linkageType: ''
    returnType: int
    signature: int OSSL_DEMO_H3_CONN_connect(OSSL_DEMO_H3_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - OSSL_DEMO_H3_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: OSSL_DEMO_H3_CONN_get_user_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *OSSL_DEMO_H3_CONN_get_user_data(const OSSL_DEMO_H3_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - OSSL_DEMO_H3_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: OSSL_DEMO_H3_CONN_get0_connection
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SSL
    signature: SSL *OSSL_DEMO_H3_CONN_get0_connection(const OSSL_DEMO_H3_CONN *conn)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:473,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:489,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:492,1
    - Dst: nghttp3_conn_read_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:494,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:497,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:499,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:504,1
    - Dst: SSL_get_stream_read_error_code
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:507,1
    - Dst: nghttp3_conn_close_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:510,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:512,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:514,1
    - Dst: assert
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:537,1
    - Dst: nghttp3_conn_read_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:538,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:541,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:543,1
    - Dst: assert
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:555,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - s
    - conn_
    argTypes:
    - OSSL_DEMO_H3_STREAM*
    - void*
    assertStmts:
    - condition: (conn->consumed_app_data == 0)
      pos:
        line_end: 536
        line_start: 536
        source_file: /src/openssl/demos/http3/ossl-nghttp3.c
    - condition: (consumed <= s->buf_total - s->buf_cur)
      pos:
        line_end: 554
        line_start: 554
        source_file: /src/openssl/demos/http3/ossl-nghttp3.c
    constantsTouched: []
    func_position:
      end: 563
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 563
    functionName: h3_conn_pump_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_read_ex
    - SSL_get_error
    - SSL_get_stream_read_error_code
    - ERR_raise_data
    - SSL_get_stream_read_state
    - nghttp3_conn_close_stream
    - nghttp3_conn_read_stream
    - nghttp3_strerror
    - assert
    linkageType: ''
    returnType: void
    signature: void h3_conn_pump_stream(OSSL_DEMO_H3_STREAM *s, void *conn_)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:588,1
    - Dst: h3_conn_accept_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:595,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:596,1
    - Dst: nghttp3_conn_writev_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:610,1
    - Dst: ARRAY_LEN
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:611,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_retrieve
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:625,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:626,1
    - Dst: nghttp3_vec_len
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:632,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:641,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:642,1
    - Dst: nghttp3_conn_block_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:648,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:650,1
    - Dst: nghttp3_conn_unblock_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:659,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:669,1
    - Dst: nghttp3_conn_add_ack_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:679,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:693,1
    - Dst: lh_OSSL_DEMO_H3_STREAM_doall_arg
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:702,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 1
    argNames:
    - conn
    argTypes:
    - OSSL_DEMO_H3_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 707
    functionName: OSSL_DEMO_H3_CONN_handle_events
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - SSL_accept_stream
    - nghttp3_conn_unblock_stream
    - SSL_get_error
    - nghttp3_conn_add_ack_offset
    - SSL_free
    - SSL_write_ex2
    - ARRAY_LEN
    - nghttp3_conn_block_stream
    - nghttp3_conn_add_write_offset
    - ERR_raise_data
    - nghttp3_vec_len
    - lh_OSSL_DEMO_H3_STREAM_doall_arg
    - nghttp3_conn_writev_stream
    - lh_OSSL_DEMO_H3_STREAM_retrieve
    - h3_conn_accept_stream
    linkageType: ''
    returnType: int
    signature: int OSSL_DEMO_H3_CONN_handle_events(OSSL_DEMO_H3_CONN *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:718,1
    - Dst: h3_conn_create_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:724,1
    - Dst: nghttp3_conn_submit_request
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:729,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:732,1
    - Dst: nghttp3_strerror
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:734,1
    - Dst: h3_conn_remove_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - conn
    - nva
    - nvlen
    - dr
    - user_data
    argTypes:
    - OSSL_DEMO_H3_CONN*
    - nghttp3_nv*
    - size_t
    - nghttp3_data_reader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 743
    functionName: OSSL_DEMO_H3_CONN_submit_request
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - h3_conn_remove_stream
    - nghttp3_conn_submit_request
    - nghttp3_strerror
    - h3_conn_create_stream
    linkageType: ''
    returnType: int
    signature: "int OSSL_DEMO_H3_CONN_submit_request(OSSL_DEMO_H3_CONN *conn,\n                                     const
      nghttp3_nv *nva, size_t nvlen,\n                                     const nghttp3_data_reader
      *dr,\n                                     void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:18,1
    - Dst: strlen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - nv
    - name
    - value
    argTypes:
    - nghttp3_nv*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: make_nv
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void make_nv(nghttp3_nv *nv, const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:33,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:34,1
    - Dst: fwrite
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:36,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:37,1
    - Dst: fwrite
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:38,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - h3conn
    - stream_id
    - token
    - name
    - value
    - flags
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int32_t
    - nghttp3_rcbuf*
    - nghttp3_rcbuf*
    - uint8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: on_recv_header
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 0
    functionsReached:
    - fwrite
    - nghttp3_rcbuf_get_buf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int on_recv_header(nghttp3_conn *h3conn, int64_t stream_id,\n                          int32_t
      token,\n                          nghttp3_rcbuf *name, nghttp3_rcbuf *value,\n
      \                         uint8_t flags,\n                          void *conn_user_data,\n
      \                         void *stream_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h3conn
    - stream_id
    - fin
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: on_end_headers
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int on_end_headers(nghttp3_conn *h3conn, int64_t stream_id,\n                          int
      fin,\n                          void *conn_user_data, void *stream_user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:60,1
    - Dst: ferror
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - h3conn
    - stream_id
    - data
    - datalen
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: on_recv_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 0
    functionsReached:
    - ferror
    - fwrite
    linkageType: ''
    returnType: int
    signature: "int on_recv_data(nghttp3_conn *h3conn, int64_t stream_id,\n                        const
      uint8_t *data, size_t datalen,\n                        void *conn_user_data,
      void *stream_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - h3conn
    - stream_id
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: on_end_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int on_end_stream(nghttp3_conn *h3conn, int64_t stream_id,\n                         void
      *conn_user_data, void *stream_user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:91,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:98,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:98,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:101,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:103,1
    - Dst: OSSL_DEMO_H3_CONN_new_for_addr
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:113,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:115,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:121,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:122,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:123,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:124,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:125,1
    - Dst: OSSL_DEMO_H3_CONN_submit_request
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:128,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:129,1
    - Dst: OSSL_DEMO_H3_CONN_handle_events
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:136,1
    - Dst: ERR_raise_data
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:137,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:145,1
    - Dst: OSSL_DEMO_H3_CONN_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:147,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo.c:148,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 79
    functionDepth: 7
    functionLinenumber: 79
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo.c
    functionUses: 7
    functionsReached:
    - OSSL_DEMO_H3_CONN_new_for_addr
    - make_nv
    - SSL_CTX_free
    - SSL_CTX_set_default_verify_paths
    - ERR_raise_data
    - OSSL_DEMO_H3_CONN_free
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - ERR_print_errors_fp
    - OSSL_DEMO_H3_CONN_handle_events
    - fprintf
    - OSSL_QUIC_client_method
    - OSSL_DEMO_H3_CONN_submit_request
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: nghttp3_arraylen
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nghttp3_arraylen(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:79,1
    - Dst: strlen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - nv
    - name
    - value
    argTypes:
    - nghttp3_nv*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: make_nv
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void make_nv(nghttp3_nv *nv, const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:91,1
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: init_ids
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void init_ids(struct h3ssl *h3ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:111,1
    - Dst: free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: reuse_h3ssl
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: void reuse_h3ssl(struct h3ssl *h3ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:133,1
    - Dst: exit
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - id
    - ssl
    - h3ssl
    - status
    argTypes:
    - uint64_t
    - SSL*
    - struct h3ssl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: add_id_status
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void add_id_status(uint64_t id, SSL *ssl, struct h3ssl *h3ssl, int
      status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id
    - ssl
    - h3ssl
    argTypes:
    - uint64_t
    - SSL*
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: add_id
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - add_id_status
    linkageType: ''
    returnType: void
    signature: void add_id(uint64_t id, SSL *ssl, struct h3ssl *h3ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - h3ssl
    argTypes:
    - SSL*
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: add_ids_listener
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - add_id_status
    linkageType: ''
    returnType: void
    signature: void add_ids_listener(SSL *ssl, struct h3ssl *h3ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h3ssl
    - ssl
    argTypes:
    - struct h3ssl*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: add_ids_connection
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - add_id_status
    linkageType: ''
    returnType: void
    signature: void add_ids_connection(struct h3ssl *h3ssl, SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: get_ids_connection
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: SSL
    signature: SSL *get_ids_connection(struct h3ssl *h3ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - h3ssl
    - oldstream
    - newstream
    argTypes:
    - struct h3ssl*
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: replace_ids_connection
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void replace_ids_connection(struct h3ssl *h3ssl, SSL *oldstream, SSL
      *newstream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:187,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: remove_marked_ids
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - printf
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void remove_marked_ids(struct h3ssl *h3ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:206,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:211,1
    - Dst: assert
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - status
    - h3ssl
    argTypes:
    - uint64_t
    - int
    - struct h3ssl*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: set_id_status
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    linkageType: ''
    returnType: void
    signature: void set_id_status(uint64_t id, int status, struct h3ssl *h3ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:222,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:227,1
    - Dst: assert
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - id
    - h3ssl
    argTypes:
    - uint64_t
    - struct h3ssl*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: get_id_status
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    linkageType: ''
    returnType: int
    signature: int get_id_status(uint64_t id, struct h3ssl *h3ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:242,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:246,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:248,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 258
    functionName: are_all_clientid_closed
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - printf
    - SSL_free
    linkageType: ''
    returnType: int
    signature: int are_all_clientid_closed(struct h3ssl *h3ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: close_all_ids
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - SSL_free
    linkageType: ''
    returnType: void
    signature: void close_all_ids(struct h3ssl *h3ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:285,1
    - Dst: nghttp3_rcbuf_get_buf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:286,1
    - Dst: fwrite
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:288,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:289,1
    - Dst: fwrite
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:290,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:291,1
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:296,1
    - Dst: strncpy
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:299,1
    - Dst: memcpy
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:301,1
    - Dst: memcpy
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 8
    argNames:
    - conn
    - stream_id
    - token
    - name
    - value
    - flags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int32_t
    - nghttp3_rcbuf*
    - nghttp3_rcbuf*
    - uint8_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 310
    functionName: on_recv_header
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - strncpy
    - memset
    - memcpy
    - fwrite
    - nghttp3_rcbuf_get_buf
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int on_recv_header(nghttp3_conn *conn, int64_t stream_id, int32_t
      token,\n                          nghttp3_rcbuf *name, nghttp3_rcbuf *value,\n
      \                         uint8_t flags, void *user_data,\n                          void
      *stream_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - conn
    - stream_id
    - fin
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: on_end_headers
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int on_end_headers(nghttp3_conn *conn, int64_t stream_id, int fin,\n
      \                         void *user_data, void *stream_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:326,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - conn
    - stream_id
    - data
    - datalen
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - uint8_t*
    - size_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: on_recv_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int on_recv_data(nghttp3_conn *conn, int64_t stream_id,\n                        const
      uint8_t *data, size_t datalen,\n                        void *conn_user_data,
      void *stream_user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - h3conn
    - stream_id
    - conn_user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: on_end_stream
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int on_end_stream(nghttp3_conn *h3conn, int64_t stream_id,\n                         void
      *conn_user_data, void *stream_user_data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_has_pending
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:348,1
    - Dst: SSL_read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:351,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:353,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:354,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:356,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:362,1
    - Dst: nghttp3_conn_read_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:370,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:375,1
    - Dst: nghttp3_err_is_fatal
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:379,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:380,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - h3conn
    - stream
    - id
    - h3ssl
    argTypes:
    - nghttp3_conn*
    - SSL*
    - uint64_t
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 342
    functionDepth: 7
    functionLinenumber: 342
    functionLinenumberEnd: 389
    functionName: quic_server_read
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - SSL_read
    - nghttp3_err_is_fatal
    - ERR_print_errors_fp
    - nghttp3_conn_read_stream
    - SSL_has_pending
    - fprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int quic_server_read(nghttp3_conn *h3conn, SSL *stream, uint64_t id,
      struct h3ssl *h3ssl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:403,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:405,1
    - Dst: fflush
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:406,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:409,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:411,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:412,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:414,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:417,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:419,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:420,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:422,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:425,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:427,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:428,1
    - Dst: fflush
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:429,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:431,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:434,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:435,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:436,1
    - Dst: nghttp3_conn_bind_qpack_streams
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:437,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:438,1
    - Dst: nghttp3_conn_bind_control_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:441,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:442,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:445,1
    - Dst: add_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:449,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:449,1
    - Dst: add_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:450,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:450,1
    - Dst: add_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:451,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:451,1
    - Dst: fflush
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:455,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:456,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:457,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 2
    argNames:
    - h3conn
    - h3ssl
    argTypes:
    - nghttp3_conn*
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 460
    functionName: quic_server_h3streams
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - get_ids_connection
    - SSL_free
    - SSL_get_stream_id
    - nghttp3_conn_bind_control_stream
    - fprintf
    - add_id
    - fflush
    - SSL_new_stream
    - printf
    - nghttp3_conn_bind_qpack_streams
    linkageType: ''
    returnType: int
    signature: int quic_server_h3streams(nghttp3_conn *h3conn, struct h3ssl *h3ssl)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: SSL_as_poll_descriptor
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:481,1
    - Dst: SSL_poll
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:498,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:501,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:502,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:505,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:528,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:531,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:533,1
    - Dst: get_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:539,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:542,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:543,1
    - Dst: replace_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:544,1
    - Dst: reuse_h3ssl
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:545,1
    - Dst: close_all_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:546,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:550,1
    - Dst: add_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:551,1
    - Dst: nghttp3_conn_del
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:555,1
    - Dst: nghttp3_settings_default
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:556,1
    - Dst: nghttp3_conn_server_new
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:557,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:559,1
    - Dst: exit
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:560,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:565,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:567,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:572,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:578,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:586,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:587,1
    - Dst: SSL_get_stream_type
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:588,1
    - Dst: add_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:589,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:591,1
    - Dst: reuse_h3ssl
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:592,1
    - Dst: SSL_get_stream_type
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:595,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:598,1
    - Dst: reuse_h3ssl
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:602,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:605,1
    - Dst: quic_server_read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:608,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:625,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:631,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:634,1
    - Dst: quic_server_h3streams
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:635,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:637,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:646,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:647,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:658,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:670,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:671,1
    - Dst: quic_server_read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:672,1
    - Dst: SSL_read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:678,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:679,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:684,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:689,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:705,1
    - Dst: get_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:706,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:708,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:710,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:724,1
    - Dst: get_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:725,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:728,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:729,1
    - Dst: SSL_get_stream_id
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:739,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:740,1
    - Dst: remove_marked_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:748,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 206
    argCount: 2
    argNames:
    - curh3conn
    - h3ssl
    argTypes:
    - nghttp3_conn**
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 463
    functionDepth: 8
    functionLinenumber: 463
    functionLinenumberEnd: 750
    functionName: read_from_ssl_ids
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - SSL_as_poll_descriptor
    - remove_marked_ids
    - SSL_poll
    - SSL_get_stream_type
    - nghttp3_settings_default
    - close_all_ids
    - SSL_get_error
    - set_id_status
    - SSL_get_stream_id
    - SSL_read
    - get_id_status
    - add_id
    - nghttp3_conn_server_new
    - get_ids_connection
    - SSL_free
    - SSL_set_incoming_stream_policy
    - add_ids_connection
    - reuse_h3ssl
    - nghttp3_conn_del
    - replace_ids_connection
    - exit
    - SSL_accept_stream
    - quic_server_h3streams
    - fprintf
    - quic_server_read
    - printf
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int read_from_ssl_ids(nghttp3_conn **curh3conn, struct h3ssl *h3ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_handle_events
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:761,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 752
    functionDepth: 7
    functionLinenumber: 752
    functionLinenumberEnd: 765
    functionName: handle_events_from_ids
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - SSL_handle_events
    - ERR_print_errors_fp
    linkageType: ''
    returnType: void
    signature: void handle_events_from_ids(struct h3ssl *h3ssl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:772,1
    - Dst: strcat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:774,1
    - Dst: strcat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:775,1
    - Dst: strcmp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:777,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:778,1
    - Dst: stat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:781,1
    - Dst: S_ISREG
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:783,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:784,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 790
    functionName: get_file_length
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - stat
    - memset
    - strcmp
    - strcat
    - printf
    - S_ISREG
    linkageType: ''
    returnType: size_t
    signature: size_t get_file_length(struct h3ssl *h3ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_file_length
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:795,1
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:802,1
    - Dst: strcat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:804,1
    - Dst: strcat
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:805,1
    - Dst: malloc
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:807,1
    - Dst: open
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:809,1
    - Dst: read
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:810,1
    - Dst: close
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:811,1
    - Dst: free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:812,1
    - Dst: close
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:815,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:816,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - h3ssl
    argTypes:
    - struct h3ssl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 818
    functionName: get_file_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    - get_file_length
    - read
    - close
    - malloc
    - strcat
    - open
    - printf
    linkageType: ''
    returnType: char
    signature: char *get_file_data(struct h3ssl *h3ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:832,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 7
    argNames:
    - conn
    - stream_id
    - vec
    - veccnt
    - pflags
    - user_data
    - stream_user_data
    argTypes:
    - nghttp3_conn*
    - int64_t
    - nghttp3_vec*
    - size_t
    - uint32_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 850
    functionName: step_read_data
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: nghttp3_ssize
    signature: "nghttp3_ssize step_read_data(nghttp3_conn *conn, int64_t stream_id,\n
      \                                   nghttp3_vec *vec, size_t veccnt,\n                                    uint32_t
      *pflags, void *user_data,\n                                    void *stream_user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write_ex2
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:862,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:864,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:865,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:868,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - h3ssl
    - streamid
    - buff
    - len
    - flags
    - written
    argTypes:
    - struct h3ssl*
    - uint64_t
    - uint8_t*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 852
    functionDepth: 7
    functionLinenumber: 852
    functionLinenumberEnd: 876
    functionName: quic_server_write
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - ERR_print_errors_fp
    - printf
    - fprintf
    - SSL_write_ex2
    linkageType: ''
    returnType: int
    signature: "int quic_server_write(struct h3ssl *h3ssl, uint64_t streamid,\n                             uint8_t
      *buff, size_t len, uint64_t flags,\n                             size_t *written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 879
    functionName: OSSL_NELEM
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 327
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_NELEM(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 902
    functionName: select_alpn
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int select_alpn(SSL *ssl, const unsigned char **out,\n                       unsigned
      char *out_len, const unsigned char *in,\n                       unsigned int
      in_len, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:909,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:909,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:914,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:915,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:919,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:920,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:924,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:925,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:930,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:934,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 936
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 3
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_check_private_key
    - SSL_CTX_new
    - fprintf
    - OSSL_QUIC_server_method
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ctx(const char *cert_path, const char *key_path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:944,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:945,1
    - Dst: htons
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:950,1
    - Dst: bind
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:952,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:953,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 964
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 3
    functionsReached:
    - bind
    - BIO_closesocket
    - socket
    - fprintf
    - htons
    linkageType: ''
    returnType: int
    signature: int create_socket(uint16_t port)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_fd
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:993,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:994,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:999,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1000,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1005,1
    - Dst: FD_SET
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1006,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1007,1
    - Dst: FD_SET
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1008,1
    - Dst: FD_SET
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1011,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1017,1
    - Dst: select
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 1041
    functionName: wait_for_activity
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 1
    functionsReached:
    - FD_ZERO
    - SSL_net_write_desired
    - FD_SET
    - SSL_net_read_desired
    - fprintf
    - SSL_get_fd
    - select
    - SSL_get_event_timeout
    linkageType: ''
    returnType: int
    signature: int wait_for_activity(SSL *ssl)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1052,1
    - Dst: SSL_new_listener
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1055,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1059,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1063,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1071,1
    - Dst: nghttp3_mem_default
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1081,1
    - Dst: init_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1092,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1094,1
    - Dst: add_ids_listener
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1095,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1098,1
    - Dst: fflush
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1099,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1100,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1102,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1113,1
    - Dst: fflush
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1114,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1122,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1123,1
    - Dst: handle_events_from_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1128,1
    - Dst: read_from_ssl_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1130,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1132,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1135,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1138,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1147,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1150,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1153,1
    - Dst: quic_server_h3streams
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1154,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1155,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1163,1
    - Dst: get_file_length
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1164,1
    - Dst: sprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1169,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1171,1
    - Dst: sprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1174,1
    - Dst: malloc
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1175,1
    - Dst: memset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1176,1
    - Dst: sprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1179,1
    - Dst: get_file_data
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1180,1
    - Dst: abort
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1182,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1183,1
    - Dst: strstr
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1185,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1186,1
    - Dst: strstr
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1187,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1188,1
    - Dst: strstr
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1189,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1190,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1192,1
    - Dst: make_nv
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1193,1
    - Dst: nghttp3_conn_submit_response
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1197,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1198,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1201,1
    - Dst: nghttp3_conn_writev_stream
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1208,1
    - Dst: nghttp3_arraylen
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1209,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1211,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1216,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1218,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1226,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1231,1
    - Dst: quic_server_write
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1235,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1237,1
    - Dst: nghttp3_conn_add_write_offset
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1241,1
    - Dst: nghttp3_vec_len
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1243,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1244,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1248,1
    - Dst: set_id_status
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1256,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1260,1
    - Dst: get_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1269,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1271,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1274,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1278,1
    - Dst: handle_events_from_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1280,1
    - Dst: read_from_ssl_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1282,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1284,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1288,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1291,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1293,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1299,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1304,1
    - Dst: are_all_clientid_closed
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1308,1
    - Dst: printf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1309,1
    - Dst: close_all_ids
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1320,1
    - Dst: get_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1321,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1323,1
    - Dst: replace_ids_connection
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1324,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1332,1
    - Dst: SSL_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1334,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 223
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1044
    functionDepth: 9
    functionLinenumber: 1044
    functionLinenumberEnd: 1336
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 3
    functionsReached:
    - add_ids_listener
    - make_nv
    - nghttp3_conn_submit_response
    - strstr
    - get_file_length
    - SSL_set_blocking_mode
    - read_from_ssl_ids
    - fflush
    - getenv
    - close_all_ids
    - are_all_clientid_closed
    - set_id_status
    - ERR_print_errors_fp
    - malloc
    - get_file_data
    - sprintf
    - nghttp3_conn_writev_stream
    - wait_for_activity
    - abort
    - get_ids_connection
    - SSL_free
    - nghttp3_mem_default
    - nghttp3_conn_add_write_offset
    - SSL_listen
    - init_ids
    - nghttp3_arraylen
    - replace_ids_connection
    - memset
    - SSL_new_listener
    - handle_events_from_ids
    - nghttp3_vec_len
    - quic_server_h3streams
    - fprintf
    - quic_server_write
    - printf
    - SSL_set_fd
    linkageType: ''
    returnType: int
    signature: int run_quic_server(SSL_CTX *ctx, int fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1350,1
    - Dst: create_ctx
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1356,1
    - Dst: strtoul
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1360,1
    - Dst: fprintf
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1362,1
    - Dst: create_socket
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1367,1
    - Dst: run_quic_server
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1371,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1377,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1379,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c:1382,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1342
    functionDepth: 7
    functionLinenumber: 1342
    functionLinenumberEnd: 1385
    functionName: main
    functionSourceFile: /src/openssl/demos/http3/ossl-nghttp3-demo-server.c
    functionUses: 7
    functionsReached:
    - create_socket
    - SSL_CTX_free
    - BIO_closesocket
    - strtoul
    - run_quic_server
    - create_ctx
    - ERR_print_errors_fp
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fd
      Src: /src/openssl/demos/digest/BIO_f_md.c:53,1
    - Dst: fileno
      Src: /src/openssl/demos/digest/BIO_f_md.c:53,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:55,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/digest/BIO_f_md.c:58,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:60,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/demos/digest/BIO_f_md.c:69,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:71,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/demos/digest/BIO_f_md.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:76,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/digest/BIO_f_md.c:80,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:82,1
    - Dst: BIO_new
      Src: /src/openssl/demos/digest/BIO_f_md.c:86,1
    - Dst: BIO_f_md
      Src: /src/openssl/demos/digest/BIO_f_md.c:86,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:88,1
    - Dst: BIO_set_md
      Src: /src/openssl/demos/digest/BIO_f_md.c:92,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:93,1
    - Dst: BIO_push
      Src: /src/openssl/demos/digest/BIO_f_md.c:100,1
    - Dst: BIO_read
      Src: /src/openssl/demos/digest/BIO_f_md.c:102,1
    - Dst: BIO_gets
      Src: /src/openssl/demos/digest/BIO_f_md.c:109,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:110,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:114,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/BIO_f_md.c:116,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/digest/BIO_f_md.c:121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/digest/BIO_f_md.c:123,1
    - Dst: BIO_free
      Src: /src/openssl/demos/digest/BIO_f_md.c:124,1
    - Dst: BIO_free
      Src: /src/openssl/demos/digest/BIO_f_md.c:125,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/digest/BIO_f_md.c:126,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/digest/BIO_f_md.c:127,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 41
    functionDepth: 10
    functionLinenumber: 41
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/openssl/demos/digest/BIO_f_md.c
    functionUses: 7
    functionsReached:
    - BIO_new
    - fileno
    - EVP_MD_free
    - OSSL_LIB_CTX_free
    - BIO_gets
    - EVP_MD_get_size
    - BIO_free
    - OSSL_LIB_CTX_new
    - BIO_new_fd
    - BIO_f_md
    - OPENSSL_free
    - BIO_set_md
    - BIO_push
    - ERR_print_errors_fp
    - fprintf
    - EVP_MD_fetch
    - BIO_read
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:56,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:58,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:69,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:71,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:76,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:78,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:83,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:84,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:92,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:93,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:98,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:100,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:105,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:106,1
    - Dst: printf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:110,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:111,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:119,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:120,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:127,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:128,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:129,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_xof.c:130,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 44
    functionDepth: 10
    functionLinenumber: 44
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/openssl/demos/digest/EVP_MD_xof.c
    functionUses: 7
    functionsReached:
    - EVP_DigestFinalXOF
    - EVP_MD_free
    - atoi
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - EVP_DigestUpdate
    - EVP_DigestInit
    - EVP_MD_CTX_new
    - CRYPTO_memcmp
    - EVP_MD_CTX_free
    - OPENSSL_free
    - fprintf
    - EVP_MD_fetch
    - printf
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:90,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:92,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:101,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:104,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:108,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:110,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:114,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:116,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:123,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:125,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:132,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:133,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:137,1
    - Dst: strlen
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:137,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:138,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:141,1
    - Dst: strlen
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:141,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:142,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:145,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:146,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:150,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:152,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:155,1
    - Dst: memcmp
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:157,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:159,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:161,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:163,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:169,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:172,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:173,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:175,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 79
    functionDepth: 10
    functionLinenumber: 79
    functionLinenumberEnd: 177
    functionName: demonstrate_digest
    functionSourceFile: /src/openssl/demos/digest/EVP_MD_demo.c
    functionUses: 0
    functionsReached:
    - memcmp
    - EVP_DigestFinal
    - EVP_MD_free
    - OSSL_LIB_CTX_free
    - EVP_DigestUpdate
    - EVP_DigestInit
    - EVP_MD_get_size
    - OSSL_LIB_CTX_new
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - ERR_print_errors_fp
    - fprintf
    - EVP_MD_fetch
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int demonstrate_digest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demonstrate_digest
      Src: /src/openssl/demos/digest/EVP_MD_demo.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: main
    functionSourceFile: /src/openssl/demos/digest/EVP_MD_demo.c
    functionUses: 7
    functionsReached:
    - demonstrate_digest
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:46,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:48,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:57,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:60,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:61,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:62,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:66,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:68,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:72,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:74,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:81,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:83,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:84,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:91,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:92,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:93,1
    - Dst: BIO_read
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:96,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:97,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:98,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:102,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:103,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:108,1
    - Dst: fprintf
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:110,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:114,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:117,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:118,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 1
    argNames:
    - input
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 34
    functionDepth: 10
    functionLinenumber: 34
    functionLinenumberEnd: 122
    functionName: demonstrate_digest
    functionSourceFile: /src/openssl/demos/digest/EVP_MD_stdin.c
    functionUses: 1
    functionsReached:
    - EVP_DigestFinal
    - EVP_MD_free
    - OSSL_LIB_CTX_free
    - EVP_DigestUpdate
    - EVP_DigestInit
    - EVP_MD_get_size
    - OSSL_LIB_CTX_new
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - ERR_print_errors_fp
    - fprintf
    - EVP_MD_fetch
    - BIO_read
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int demonstrate_digest(BIO *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fd
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:127,1
    - Dst: fileno
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:127,1
    - Dst: demonstrate_digest
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:130,1
    - Dst: BIO_free
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:131,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/digest/EVP_MD_stdin.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 7
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/openssl/demos/digest/EVP_MD_stdin.c
    functionUses: 7
    functionsReached:
    - fileno
    - BIO_free
    - demonstrate_digest
    - BIO_new_fd
    - ERR_print_errors_fp
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:85,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:86,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:87,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aesccm.c:90,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aesccm.c:94,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/demos/cipher/aesccm.c:98,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/cipher/aesccm.c:101,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/demos/cipher/aesccm.c:108,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/demos/cipher/aesccm.c:112,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:116,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:120,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:124,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:128,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:129,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/demos/cipher/aesccm.c:132,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/cipher/aesccm.c:136,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/cipher/aesccm.c:138,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/demos/cipher/aesccm.c:140,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:144,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:145,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aesccm.c:150,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aesccm.c:152,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aesccm.c:153,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 71
    functionDepth: 7
    functionLinenumber: 71
    functionLinenumberEnd: 156
    functionName: aes_ccm_encrypt
    functionSourceFile: /src/openssl/demos/cipher/aesccm.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get_params
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptUpdate
    - BIO_dump_fp
    - OSSL_PARAM_construct_size_t
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_fetch
    - ERR_print_errors_fp
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_end
    - printf
    linkageType: ''
    returnType: int
    signature: int aes_ccm_encrypt(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:170,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:171,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:172,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aesccm.c:174,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aesccm.c:178,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/demos/cipher/aesccm.c:182,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/cipher/aesccm.c:185,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/demos/cipher/aesccm.c:192,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/demos/cipher/aesccm.c:196,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:200,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:204,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aesccm.c:208,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:212,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesccm.c:213,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesccm.c:215,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aesccm.c:221,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aesccm.c:223,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aesccm.c:224,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 158
    functionDepth: 7
    functionLinenumber: 158
    functionLinenumberEnd: 227
    functionName: aes_ccm_decrypt
    functionSourceFile: /src/openssl/demos/cipher/aesccm.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - BIO_dump_fp
    - OSSL_PARAM_construct_size_t
    - EVP_DecryptInit_ex
    - EVP_DecryptUpdate
    - EVP_CIPHER_fetch
    - EVP_DecryptInit_ex2
    - ERR_print_errors_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - printf
    linkageType: ''
    returnType: int
    signature: int aes_ccm_decrypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_ccm_encrypt
      Src: /src/openssl/demos/cipher/aesccm.c:231,1
    - Dst: aes_ccm_decrypt
      Src: /src/openssl/demos/cipher/aesccm.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 8
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/openssl/demos/cipher/aesccm.c
    functionUses: 7
    functionsReached:
    - aes_ccm_decrypt
    - aes_ccm_encrypt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:64,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:65,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:66,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aeskeywrap.c:69,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/demos/cipher/aeskeywrap.c:72,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aeskeywrap.c:75,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/demos/cipher/aeskeywrap.c:82,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aeskeywrap.c:86,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/demos/cipher/aeskeywrap.c:90,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:95,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:96,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:98,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:99,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:101,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:106,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aeskeywrap.c:108,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aeskeywrap.c:109,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 56
    functionDepth: 8
    functionLinenumber: 56
    functionLinenumberEnd: 112
    functionName: aes_wrap_encrypt
    functionSourceFile: /src/openssl/demos/cipher/aeskeywrap.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_flags
    - EVP_EncryptUpdate
    - BIO_dump_fp
    - CRYPTO_memcmp
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - ERR_print_errors_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - printf
    linkageType: ''
    returnType: int
    signature: int aes_wrap_encrypt(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:122,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:123,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:124,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aeskeywrap.c:126,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/demos/cipher/aeskeywrap.c:129,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aeskeywrap.c:132,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/demos/cipher/aeskeywrap.c:139,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aeskeywrap.c:143,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/demos/cipher/aeskeywrap.c:147,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:152,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:153,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:155,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:156,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aeskeywrap.c:158,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aeskeywrap.c:163,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aeskeywrap.c:165,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aeskeywrap.c:166,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 114
    functionDepth: 8
    functionLinenumber: 114
    functionLinenumberEnd: 169
    functionName: aes_wrap_decrypt
    functionSourceFile: /src/openssl/demos/cipher/aeskeywrap.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_set_flags
    - BIO_dump_fp
    - EVP_DecryptUpdate
    - CRYPTO_memcmp
    - EVP_CIPHER_fetch
    - EVP_DecryptInit_ex2
    - ERR_print_errors_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - printf
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int aes_wrap_decrypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_wrap_encrypt
      Src: /src/openssl/demos/cipher/aeskeywrap.c:173,1
    - Dst: aes_wrap_decrypt
      Src: /src/openssl/demos/cipher/aeskeywrap.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 9
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/openssl/demos/cipher/aeskeywrap.c
    functionUses: 7
    functionsReached:
    - aes_wrap_decrypt
    - aes_wrap_encrypt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesgcm.c:83,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesgcm.c:84,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesgcm.c:85,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aesgcm.c:88,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aesgcm.c:92,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/demos/cipher/aesgcm.c:96,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/demos/cipher/aesgcm.c:106,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aesgcm.c:110,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/aesgcm.c:114,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesgcm.c:118,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesgcm.c:119,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/demos/cipher/aesgcm.c:122,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/cipher/aesgcm.c:126,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/demos/cipher/aesgcm.c:129,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesgcm.c:133,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesgcm.c:134,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aesgcm.c:139,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aesgcm.c:141,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aesgcm.c:142,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 145
    functionName: aes_gcm_encrypt
    functionSourceFile: /src/openssl/demos/cipher/aesgcm.c
    functionUses: 1
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_params
    - OSSL_PARAM_construct_octet_string
    - EVP_EncryptUpdate
    - BIO_dump_fp
    - OSSL_PARAM_construct_size_t
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - ERR_print_errors_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - printf
    linkageType: ''
    returnType: int
    signature: int aes_gcm_encrypt(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesgcm.c:159,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesgcm.c:160,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesgcm.c:161,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/aesgcm.c:163,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/aesgcm.c:167,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/demos/cipher/aesgcm.c:171,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/demos/cipher/aesgcm.c:178,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aesgcm.c:182,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/aesgcm.c:186,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesgcm.c:190,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/aesgcm.c:191,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/cipher/aesgcm.c:194,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/demos/cipher/aesgcm.c:197,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/demos/cipher/aesgcm.c:201,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/aesgcm.c:206,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/aesgcm.c:211,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/aesgcm.c:213,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/aesgcm.c:214,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 147
    functionDepth: 7
    functionLinenumber: 147
    functionLinenumberEnd: 217
    functionName: aes_gcm_decrypt
    functionSourceFile: /src/openssl/demos/cipher/aesgcm.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_new
    - OSSL_PARAM_construct_octet_string
    - BIO_dump_fp
    - OSSL_PARAM_construct_size_t
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_set_params
    - EVP_CIPHER_fetch
    - EVP_DecryptInit_ex2
    - ERR_print_errors_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - printf
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int aes_gcm_decrypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_encrypt
      Src: /src/openssl/demos/cipher/aesgcm.c:221,1
    - Dst: aes_gcm_decrypt
      Src: /src/openssl/demos/cipher/aesgcm.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: main
    functionSourceFile: /src/openssl/demos/cipher/aesgcm.c
    functionUses: 7
    functionsReached:
    - aes_gcm_encrypt
    - aes_gcm_decrypt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:63,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:64,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/ariacbc.c:65,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/ariacbc.c:68,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/ariacbc.c:72,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/demos/cipher/ariacbc.c:79,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/cipher/ariacbc.c:83,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/demos/cipher/ariacbc.c:87,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:92,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/ariacbc.c:93,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/cipher/ariacbc.c:95,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:96,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:98,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/ariacbc.c:103,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/ariacbc.c:105,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/ariacbc.c:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 55
    functionDepth: 7
    functionLinenumber: 55
    functionLinenumberEnd: 109
    functionName: aria_cbc_encrypt
    functionSourceFile: /src/openssl/demos/cipher/ariacbc.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - EVP_EncryptUpdate
    - BIO_dump_fp
    - CRYPTO_memcmp
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_fetch
    - ERR_print_errors_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - printf
    linkageType: ''
    returnType: int
    signature: int aria_cbc_encrypt(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:119,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:120,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/ariacbc.c:121,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/cipher/ariacbc.c:123,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/cipher/ariacbc.c:127,1
    - Dst: EVP_DecryptInit_ex2
      Src: /src/openssl/demos/cipher/ariacbc.c:134,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/demos/cipher/ariacbc.c:138,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/demos/cipher/ariacbc.c:142,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:147,1
    - Dst: BIO_dump_fp
      Src: /src/openssl/demos/cipher/ariacbc.c:148,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/cipher/ariacbc.c:150,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:151,1
    - Dst: printf
      Src: /src/openssl/demos/cipher/ariacbc.c:153,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/cipher/ariacbc.c:158,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/cipher/ariacbc.c:160,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/cipher/ariacbc.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 111
    functionDepth: 7
    functionLinenumber: 111
    functionLinenumberEnd: 164
    functionName: aria_cbc_decrypt
    functionSourceFile: /src/openssl/demos/cipher/ariacbc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - BIO_dump_fp
    - EVP_DecryptUpdate
    - CRYPTO_memcmp
    - EVP_CIPHER_fetch
    - EVP_DecryptInit_ex2
    - ERR_print_errors_fp
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - printf
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int aria_cbc_decrypt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: aria_cbc_encrypt
      Src: /src/openssl/demos/cipher/ariacbc.c:168,1
    - Dst: aria_cbc_decrypt
      Src: /src/openssl/demos/cipher/ariacbc.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 8
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/openssl/demos/cipher/ariacbc.c
    functionUses: 7
    functionsReached:
    - aria_cbc_decrypt
    - aria_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:61,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:63,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:64,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - libctx
    - propq
    - public
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 12
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: get_key
    functionSourceFile: /src/openssl/demos/signature/EVP_EC_Signature_demo.c
    functionUses: 2
    functionsReached:
    - OSSL_DECODER_from_data
    - OSSL_DECODER_CTX_free
    - fprintf
    - OSSL_DECODER_CTX_new_for_pkey
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_key(OSSL_LIB_CTX *libctx, const char *propq, int public)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_key
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:81,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:83,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:90,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:92,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:99,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:101,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:108,1
    - Dst: strlen
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:108,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:109,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:112,1
    - Dst: strlen
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:112,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:113,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:117,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:118,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:122,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:127,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:130,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:131,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:136,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:137,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:144,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:145,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:146,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - libctx
    - sig_name
    - sig_out_len
    - sig_out_value
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - size_t*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 70
    functionDepth: 8
    functionLinenumber: 70
    functionLinenumberEnd: 148
    functionName: demo_sign
    functionSourceFile: /src/openssl/demos/signature/EVP_EC_Signature_demo.c
    functionUses: 0
    functionsReached:
    - BIO_dump_indent_fp
    - EVP_MD_CTX_new
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestSignUpdate
    - EVP_DigestSignInit_ex
    - EVP_DigestSignFinal
    - fprintf
    - strlen
    - get_key
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int demo_sign(OSSL_LIB_CTX *libctx,  const char *sig_name,\n                     size_t
      *sig_out_len, unsigned char **sig_out_value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:162,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:164,1
    - Dst: get_key
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:168,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:170,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:174,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:176,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:183,1
    - Dst: strlen
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:183,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:184,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:187,1
    - Dst: strlen
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:187,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:188,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:191,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:192,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:195,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:200,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - libctx
    - sig_name
    - sig_len
    - sig_value
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 203
    functionName: demo_verify
    functionSourceFile: /src/openssl/demos/signature/EVP_EC_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - fprintf
    - EVP_DigestVerifyUpdate
    - strlen
    - get_key
    - EVP_DigestVerifyFinal
    linkageType: ''
    returnType: int
    signature: "int demo_verify(OSSL_LIB_CTX *libctx, const char *sig_name,\n                       size_t
      sig_len, unsigned char *sig_value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:213,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:215,1
    - Dst: demo_sign
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:218,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:219,1
    - Dst: demo_verify
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:222,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:223,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:230,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:232,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_EC_Signature_demo.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 205
    functionDepth: 7
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/EVP_EC_Signature_demo.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - demo_sign
    - OPENSSL_free
    - ERR_print_errors_fp
    - fprintf
    - demo_verify
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:45,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:48,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:53,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:55,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:60,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:62,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:64,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:66,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:75,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:80,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:81,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:86,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:88,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:93,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:94,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:100,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:101,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:104,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - libctx
    - sig
    - sig_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 33
    functionDepth: 14
    functionLinenumber: 33
    functionLinenumberEnd: 107
    functionName: sign
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_hash.c
    functionUses: 190
    functionsReached:
    - d2i_PrivateKey_ex
    - OSSL_PARAM_construct_utf8_string
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - EVP_DigestSignUpdate
    - EVP_DigestSignFinal
    - fprintf
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int sign(OSSL_LIB_CTX *libctx, unsigned char **sig, size_t *sig_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PublicKey
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:124,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:126,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:131,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:133,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:138,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:140,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:142,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:144,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:152,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:153,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:158,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:159,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:166,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - libctx
    - sig
    - sig_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 114
    functionDepth: 8
    functionLinenumber: 114
    functionLinenumberEnd: 169
    functionName: verify
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_hash.c
    functionUses: 119
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - d2i_PublicKey
    - OSSL_PARAM_construct_utf8_string
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - fprintf
    - EVP_DigestVerifyUpdate
    - OSSL_PARAM_construct_end
    - EVP_DigestVerifyFinal
    linkageType: ''
    returnType: int
    signature: int verify(OSSL_LIB_CTX *libctx, const unsigned char *sig, size_t sig_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:178,1
    - Dst: verify
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:181,1
    - Dst: printf
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:184,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:188,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_hash.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 191
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_hash.c
    functionUses: 7
    functionsReached:
    - sign
    - OSSL_LIB_CTX_free
    - OPENSSL_free
    - verify
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:40,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:42,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:54,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:55,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:60,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:61,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:64,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:66,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:69,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:70,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:71,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:76,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:77,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:82,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 6
    argNames:
    - priv
    - tbs
    - tbs_len
    - libctx
    - sig_out_value
    - sig_out_len
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    - OSSL_LIB_CTX*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 28
    functionDepth: 8
    functionLinenumber: 28
    functionLinenumberEnd: 85
    functionName: demo_sign
    functionSourceFile: /src/openssl/demos/signature/EVP_ED_Signature_demo.c
    functionUses: 1
    functionsReached:
    - BIO_dump_indent_fp
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - EVP_DigestSign
    - fprintf
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int demo_sign(EVP_PKEY *priv,\n                     const unsigned
      char *tbs, size_t tbs_len,\n                     OSSL_LIB_CTX *libctx,\n                     unsigned
      char **sig_out_value,\n                     size_t *sig_out_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:99,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:101,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:105,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:107,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:114,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:116,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:119,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - pub
    - tbs
    - tbs_len
    - sig_value
    - sig_len
    - libctx
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 87
    functionDepth: 8
    functionLinenumber: 87
    functionLinenumberEnd: 125
    functionName: demo_verify
    functionSourceFile: /src/openssl/demos/signature/EVP_ED_Signature_demo.c
    functionUses: 1
    functionsReached:
    - EVP_DigestVerify
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int demo_verify(EVP_PKEY *pub,\n                       const unsigned
      char *tbs, size_t tbs_len,\n                       const unsigned char *sig_value,
      size_t sig_len,\n                       OSSL_LIB_CTX *libctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:140,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:142,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:146,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:151,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:154,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:156,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - libctx
    - privout
    - pubout
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 127
    functionDepth: 9
    functionLinenumber: 127
    functionLinenumberEnd: 168
    functionName: create_key
    functionSourceFile: /src/openssl/demos/signature/EVP_ED_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new_raw_public_key_ex
    - EVP_PKEY_free
    - EVP_PKEY_Q_keygen
    - fprintf
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: "int create_key(OSSL_LIB_CTX *libctx,\n                      EVP_PKEY
      **privout, EVP_PKEY **pubout)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:178,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:180,1
    - Dst: create_key
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:183,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:184,1
    - Dst: demo_sign
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:188,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:190,1
    - Dst: demo_verify
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:193,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:195,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:202,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:203,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:204,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:205,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_ED_Signature_demo.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 170
    functionDepth: 10
    functionLinenumber: 170
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/EVP_ED_Signature_demo.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_free
    - OSSL_LIB_CTX_new
    - demo_sign
    - EVP_PKEY_free
    - OPENSSL_free
    - ERR_print_errors_fp
    - fprintf
    - demo_verify
    - create_key
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:50,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:53,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:58,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:60,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:65,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:67,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:72,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:73,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:77,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:78,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:82,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:83,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:88,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:90,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:95,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:97,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:102,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:104,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:110,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:111,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:115,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 3
    argNames:
    - libctx
    - sig
    - sig_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 38
    functionDepth: 14
    functionLinenumber: 38
    functionLinenumberEnd: 118
    functionName: sign
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_direct.c
    functionUses: 193
    functionsReached:
    - EVP_PKEY_sign_init
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_MD_free
    - d2i_PrivateKey_ex
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - EVP_MD_fetch
    - EVP_PKEY_sign
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int sign(OSSL_LIB_CTX *libctx, unsigned char **sig, size_t *sig_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PublicKey
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:134,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:136,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:141,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:143,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:148,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:150,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:155,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:156,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:160,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:161,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:165,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:166,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:171,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:173,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:180,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:181,1
    - Dst: EVP_MD_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:182,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - libctx
    - sig
    - sig_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 124
    functionDepth: 10
    functionLinenumber: 124
    functionLinenumberEnd: 184
    functionName: verify
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_direct.c
    functionUses: 122
    functionsReached:
    - d2i_PublicKey
    - EVP_PKEY_verify_init
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_MD_free
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_verify
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int verify(OSSL_LIB_CTX *libctx, const unsigned char *sig, size_t sig_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:193,1
    - Dst: verify
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:196,1
    - Dst: printf
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:199,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:203,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/rsa_pss_direct.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 206
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/rsa_pss_direct.c
    functionUses: 7
    functionsReached:
    - sign
    - OSSL_LIB_CTX_free
    - OPENSSL_free
    - verify
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:54,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:58,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:61,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:63,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:71,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:76,1
    - Dst: EVP_PKEY_print_params_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:77,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:78,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - libctx
    - p_params
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 46
    functionDepth: 8
    functionLinenumber: 46
    functionLinenumberEnd: 81
    functionName: generate_dsa_params
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - fprintf
    - EVP_PKEY_paramgen
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - EVP_PKEY_print_params_fp
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: int
    signature: "int generate_dsa_params(OSSL_LIB_CTX *libctx,\n                               EVP_PKEY
      **p_params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:92,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:96,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:99,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:107,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:110,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:112,1
    - Dst: EVP_PKEY_print_public_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:113,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:114,1
    - Dst: EVP_PKEY_print_private_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:115,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:116,1
    - Dst: EVP_PKEY_print_params_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:117,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - libctx
    - params
    - p_pkey
    argTypes:
    - OSSL_LIB_CTX*
    - EVP_PKEY*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 83
    functionDepth: 8
    functionLinenumber: 83
    functionLinenumberEnd: 121
    functionName: generate_dsa_key
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_print_private_fp
    - EVP_PKEY_print_public_fp
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - EVP_PKEY_keygen
    - EVP_PKEY_keygen_init
    - EVP_PKEY_print_params_fp
    linkageType: ''
    returnType: int
    signature: "int generate_dsa_key(OSSL_LIB_CTX *libctx,\n                            EVP_PKEY
      *params,\n                            EVP_PKEY **p_pkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:129,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pkey
    - p_public_key
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 141
    functionName: extract_public_key
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_todata
    - OSSL_PARAM_free
    linkageType: ''
    returnType: int
    signature: "int extract_public_key(const EVP_PKEY *pkey,\n                              OSSL_PARAM
      **p_public_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:149,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pkey
    - p_keypair
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: extract_keypair
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_todata
    - OSSL_PARAM_free
    linkageType: ''
    returnType: int
    signature: "int extract_keypair(const EVP_PKEY *pkey,\n                           OSSL_PARAM
      **p_keypair)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:174,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:177,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:179,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:182,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:186,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:189,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:192,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:196,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:201,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:206,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:213,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:219,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:220,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:222,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:223,1
    - Dst: fprintf
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:224,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 4
    argNames:
    - libctx
    - p_sig_len
    - p_sig_value
    - keypair
    argTypes:
    - OSSL_LIB_CTX*
    - size_t*
    - unsigned char**
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 163
    functionDepth: 8
    functionLinenumber: 163
    functionLinenumberEnd: 226
    functionName: demo_sign
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 2
    functionsReached:
    - BIO_dump_indent_fp
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_MD_CTX_create
    - EVP_MD_CTX_free
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - EVP_DigestSignUpdate
    - EVP_PKEY_CTX_free
    - EVP_DigestSignFinal
    - fprintf
    - EVP_PKEY_fromdata_init
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int demo_sign(OSSL_LIB_CTX *libctx,\n                     size_t *p_sig_len,
      unsigned char **p_sig_value,\n                     OSSL_PARAM keypair[])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:237,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:240,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:242,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:245,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:249,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:252,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:255,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:258,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:263,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:264,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:265,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - libctx
    - sig_len
    - sig_value
    - public_key
    argTypes:
    - OSSL_LIB_CTX*
    - size_t
    - unsigned char*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 228
    functionDepth: 8
    functionLinenumber: 228
    functionLinenumberEnd: 267
    functionName: demo_verify
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 2
    functionsReached:
    - EVP_DigestVerifyInit_ex
    - EVP_DigestVerifyFinal
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_MD_CTX_create
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - EVP_PKEY_CTX_free
    - EVP_DigestVerifyUpdate
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: "int demo_verify(OSSL_LIB_CTX *libctx,\n                       size_t
      sig_len, unsigned char *sig_value,\n                       OSSL_PARAM public_key[])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:280,1
    - Dst: generate_dsa_params
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:284,1
    - Dst: generate_dsa_key
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:287,1
    - Dst: extract_public_key
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:290,1
    - Dst: extract_keypair
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:293,1
    - Dst: demo_sign
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:297,1
    - Dst: demo_verify
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:301,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:307,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:309,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:310,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:311,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:312,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:313,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c:314,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 269
    functionDepth: 9
    functionLinenumber: 269
    functionLinenumberEnd: 317
    functionName: main
    functionSourceFile: /src/openssl/demos/signature/EVP_DSA_Signature_demo.c
    functionUses: 7
    functionsReached:
    - extract_public_key
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_free
    - OSSL_LIB_CTX_new
    - demo_sign
    - EVP_PKEY_free
    - extract_keypair
    - generate_dsa_key
    - ERR_print_errors_fp
    - OPENSSL_free
    - demo_verify
    - generate_dsa_params
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/smime/smsign.c:30,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/smime/smsign.c:31,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smsign.c:34,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/smime/smsign.c:39,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/smime/smsign.c:41,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/smime/smsign.c:44,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smsign.c:51,1
    - Dst: PKCS7_sign
      Src: /src/openssl/demos/smime/smsign.c:57,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smsign.c:62,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/smime/smsign.c:67,1
    - Dst: SMIME_write_PKCS7
      Src: /src/openssl/demos/smime/smsign.c:72,1
    - Dst: printf
      Src: /src/openssl/demos/smime/smsign.c:75,1
    - Dst: fprintf
      Src: /src/openssl/demos/smime/smsign.c:80,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/smime/smsign.c:81,1
    - Dst: PKCS7_free
      Src: /src/openssl/demos/smime/smsign.c:83,1
    - Dst: X509_free
      Src: /src/openssl/demos/smime/smsign.c:84,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/smime/smsign.c:85,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smsign.c:86,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smsign.c:87,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smsign.c:88,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 15
    functionDepth: 10
    functionLinenumber: 15
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/openssl/demos/smime/smsign.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - PKCS7_free
    - PEM_read_bio_PrivateKey
    - PKCS7_sign
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - EVP_PKEY_free
    - X509_free
    - SMIME_write_PKCS7
    - ERR_print_errors_fp
    - fprintf
    - BIO_reset
    - printf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/smime/smdec.c:23,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/smime/smdec.c:24,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smdec.c:27,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/smime/smdec.c:32,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/smime/smdec.c:34,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/smime/smdec.c:37,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smdec.c:44,1
    - Dst: SMIME_read_PKCS7
      Src: /src/openssl/demos/smime/smdec.c:50,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smdec.c:55,1
    - Dst: PKCS7_decrypt
      Src: /src/openssl/demos/smime/smdec.c:60,1
    - Dst: printf
      Src: /src/openssl/demos/smime/smdec.c:63,1
    - Dst: fprintf
      Src: /src/openssl/demos/smime/smdec.c:68,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/smime/smdec.c:69,1
    - Dst: PKCS7_free
      Src: /src/openssl/demos/smime/smdec.c:71,1
    - Dst: X509_free
      Src: /src/openssl/demos/smime/smdec.c:72,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/smime/smdec.c:73,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smdec.c:74,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smdec.c:75,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smdec.c:76,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 15
    functionDepth: 12
    functionLinenumber: 15
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/openssl/demos/smime/smdec.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - PKCS7_free
    - PEM_read_bio_PrivateKey
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - EVP_PKEY_free
    - SMIME_read_PKCS7
    - X509_free
    - ERR_print_errors_fp
    - fprintf
    - PKCS7_decrypt
    - BIO_reset
    - printf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/smime/smsign2.c:23,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/smime/smsign2.c:24,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smsign2.c:26,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/smime/smsign2.c:31,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/smime/smsign2.c:33,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/smime/smsign2.c:36,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smsign2.c:38,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smsign2.c:40,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/smime/smsign2.c:45,1
    - Dst: BIO_reset
      Src: /src/openssl/demos/smime/smsign2.c:47,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/openssl/demos/smime/smsign2.c:50,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smsign2.c:55,1
    - Dst: PKCS7_sign
      Src: /src/openssl/demos/smime/smsign2.c:60,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/openssl/demos/smime/smsign2.c:67,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/openssl/demos/smime/smsign2.c:70,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smsign2.c:73,1
    - Dst: SMIME_write_PKCS7
      Src: /src/openssl/demos/smime/smsign2.c:79,1
    - Dst: printf
      Src: /src/openssl/demos/smime/smsign2.c:82,1
    - Dst: fprintf
      Src: /src/openssl/demos/smime/smsign2.c:87,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/smime/smsign2.c:88,1
    - Dst: PKCS7_free
      Src: /src/openssl/demos/smime/smsign2.c:90,1
    - Dst: X509_free
      Src: /src/openssl/demos/smime/smsign2.c:91,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/smime/smsign2.c:92,1
    - Dst: X509_free
      Src: /src/openssl/demos/smime/smsign2.c:93,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/smime/smsign2.c:94,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smsign2.c:95,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smsign2.c:96,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smsign2.c:97,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 15
    functionDepth: 10
    functionLinenumber: 15
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/openssl/demos/smime/smsign2.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - PKCS7_free
    - PEM_read_bio_PrivateKey
    - PKCS7_sign
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - PKCS7_sign_add_signer
    - EVP_PKEY_free
    - X509_free
    - SMIME_write_PKCS7
    - ERR_print_errors_fp
    - fprintf
    - BIO_reset
    - printf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/demos/smime/smenc.c:19,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/smime/smenc.c:28,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/smime/smenc.c:29,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smenc.c:32,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/smime/smenc.c:37,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/demos/smime/smenc.c:43,1
    - Dst: sk_X509_push
      Src: /src/openssl/demos/smime/smenc.c:45,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smenc.c:56,1
    - Dst: PKCS7_encrypt
      Src: /src/openssl/demos/smime/smenc.c:62,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/openssl/demos/smime/smenc.c:62,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smenc.c:67,1
    - Dst: SMIME_write_PKCS7
      Src: /src/openssl/demos/smime/smenc.c:72,1
    - Dst: printf
      Src: /src/openssl/demos/smime/smenc.c:75,1
    - Dst: fprintf
      Src: /src/openssl/demos/smime/smenc.c:80,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/smime/smenc.c:81,1
    - Dst: PKCS7_free
      Src: /src/openssl/demos/smime/smenc.c:83,1
    - Dst: X509_free
      Src: /src/openssl/demos/smime/smenc.c:84,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/demos/smime/smenc.c:85,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smenc.c:86,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smenc.c:87,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smenc.c:88,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 15
    functionDepth: 10
    functionLinenumber: 15
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/openssl/demos/smime/smenc.c
    functionUses: 7
    functionsReached:
    - BIO_new_file
    - PKCS7_free
    - PKCS7_encrypt
    - BIO_free
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - sk_X509_push
    - OSSL_STACK_OF_X509_free
    - X509_free
    - STACK_OF
    - SMIME_write_PKCS7
    - ERR_print_errors_fp
    - EVP_des_ede3_cbc
    - fprintf
    - sk_X509_new_null
    - printf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/openssl/demos/smime/smver.c:23,1
    - Dst: ERR_load_crypto_strings
      Src: /src/openssl/demos/smime/smver.c:24,1
    - Dst: X509_STORE_new
      Src: /src/openssl/demos/smime/smver.c:28,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smver.c:33,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/demos/smime/smver.c:38,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/demos/smime/smver.c:43,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smver.c:48,1
    - Dst: SMIME_read_PKCS7
      Src: /src/openssl/demos/smime/smver.c:54,1
    - Dst: BIO_new_file
      Src: /src/openssl/demos/smime/smver.c:60,1
    - Dst: PKCS7_verify
      Src: /src/openssl/demos/smime/smver.c:64,1
    - Dst: fprintf
      Src: /src/openssl/demos/smime/smver.c:65,1
    - Dst: printf
      Src: /src/openssl/demos/smime/smver.c:69,1
    - Dst: fprintf
      Src: /src/openssl/demos/smime/smver.c:74,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/smime/smver.c:75,1
    - Dst: X509_STORE_free
      Src: /src/openssl/demos/smime/smver.c:78,1
    - Dst: PKCS7_free
      Src: /src/openssl/demos/smime/smver.c:79,1
    - Dst: X509_free
      Src: /src/openssl/demos/smime/smver.c:80,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smver.c:81,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smver.c:82,1
    - Dst: BIO_free
      Src: /src/openssl/demos/smime/smver.c:83,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 15
    functionDepth: 9
    functionLinenumber: 15
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/openssl/demos/smime/smver.c
    functionUses: 7
    functionsReached:
    - PKCS7_verify
    - X509_STORE_new
    - BIO_new_file
    - PKCS7_free
    - X509_STORE_free
    - BIO_free
    - X509_STORE_add_cert
    - OpenSSL_add_all_algorithms
    - ERR_load_crypto_strings
    - SMIME_read_PKCS7
    - X509_free
    - ERR_print_errors_fp
    - fprintf
    - printf
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/demos/bio/client-conf.c:24,1
    - Dst: NCONF_new
      Src: /src/openssl/demos/bio/client-conf.c:30,1
    - Dst: NCONF_load
      Src: /src/openssl/demos/bio/client-conf.c:32,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-conf.c:34,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-conf.c:36,1
    - Dst: NCONF_get_section
      Src: /src/openssl/demos/bio/client-conf.c:40,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-conf.c:43,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/client-conf.c:47,1
    - Dst: TLS_client_method
      Src: /src/openssl/demos/bio/client-conf.c:47,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/demos/bio/client-conf.c:48,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/demos/bio/client-conf.c:49,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/demos/bio/client-conf.c:50,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/demos/bio/client-conf.c:51,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/demos/bio/client-conf.c:52,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/demos/bio/client-conf.c:53,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/demos/bio/client-conf.c:54,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-conf.c:58,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/client-conf.c:60,1
    - Dst: strcmp
      Src: /src/openssl/demos/bio/client-conf.c:63,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-conf.c:66,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/demos/bio/client-conf.c:71,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-conf.c:72,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/client-conf.c:73,1
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/demos/bio/client-conf.c:83,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/demos/bio/client-conf.c:85,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-conf.c:88,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/demos/bio/client-conf.c:94,1
    - Dst: BIO_new_fp
      Src: /src/openssl/demos/bio/client-conf.c:96,1
    - Dst: BIO_do_connect
      Src: /src/openssl/demos/bio/client-conf.c:97,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-conf.c:98,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/client-conf.c:99,1
    - Dst: BIO_puts
      Src: /src/openssl/demos/bio/client-conf.c:105,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/client-conf.c:107,1
    - Dst: BIO_write
      Src: /src/openssl/demos/bio/client-conf.c:110,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/demos/bio/client-conf.c:115,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/client-conf.c:116,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/client-conf.c:117,1
    - Dst: NCONF_free
      Src: /src/openssl/demos/bio/client-conf.c:118,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 15
    functionDepth: 7
    functionLinenumber: 15
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/client-conf.c
    functionUses: 7
    functionsReached:
    - SSL_CONF_CTX_set_flags
    - BIO_new_fp
    - BIO_do_connect
    - NCONF_get_section
    - SSL_CONF_CTX_new
    - SSL_CTX_new
    - NCONF_free
    - strcmp
    - BIO_write
    - SSL_CONF_CTX_finish
    - SSL_CONF_cmd
    - BIO_free_all
    - BIO_get_ssl
    - ERR_print_errors_fp
    - BIO_read
    - BIO_set_conn_hostname
    - SSL_CONF_CTX_set_ssl_ctx
    - BIO_puts
    - BIO_free
    - STACK_OF
    - TLS_client_method
    - sk_CONF_VALUE_value
    - BIO_new_ssl_connect
    - NCONF_load
    - sk_CONF_VALUE_num
    - NCONF_new
    - fprintf
    - SSL_CONF_CTX_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/demos/bio/server-conf.c:32,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/server-conf.c:38,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/bio/server-conf.c:38,1
    - Dst: NCONF_new
      Src: /src/openssl/demos/bio/server-conf.c:40,1
    - Dst: NCONF_load
      Src: /src/openssl/demos/bio/server-conf.c:42,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:44,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:46,1
    - Dst: NCONF_get_section
      Src: /src/openssl/demos/bio/server-conf.c:50,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:53,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/demos/bio/server-conf.c:57,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/demos/bio/server-conf.c:58,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/demos/bio/server-conf.c:59,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/demos/bio/server-conf.c:60,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/demos/bio/server-conf.c:61,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/demos/bio/server-conf.c:62,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/demos/bio/server-conf.c:64,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/demos/bio/server-conf.c:65,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:69,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-conf.c:71,1
    - Dst: strcmp
      Src: /src/openssl/demos/bio/server-conf.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:77,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/demos/bio/server-conf.c:82,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-conf.c:83,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-conf.c:84,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/demos/bio/server-conf.c:89,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/bio/server-conf.c:91,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/demos/bio/server-conf.c:99,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/bio/server-conf.c:108,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/server-conf.c:112,1
    - Dst: printf
      Src: /src/openssl/demos/bio/server-conf.c:119,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/bio/server-conf.c:120,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-conf.c:121,1
    - Dst: BIO_should_retry
      Src: /src/openssl/demos/bio/server-conf.c:125,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/server-conf.c:129,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/server-conf.c:130,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-conf.c:136,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/server-conf.c:137,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 24
    functionDepth: 7
    functionLinenumber: 24
    functionLinenumberEnd: 139
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/server-conf.c
    functionUses: 7
    functionsReached:
    - SSL_CONF_CTX_set_flags
    - NCONF_get_section
    - SSL_CONF_CTX_new
    - SSL_CTX_new
    - TLS_server_method
    - strcmp
    - fflush
    - BIO_should_retry
    - BIO_pop
    - SSL_CONF_CTX_finish
    - SSL_CONF_cmd
    - BIO_free_all
    - ERR_print_errors_fp
    - BIO_new_ssl
    - BIO_read
    - BIO_new_accept
    - SSL_CONF_CTX_set_ssl_ctx
    - fwrite
    - BIO_free
    - STACK_OF
    - sk_CONF_VALUE_value
    - BIO_do_accept
    - BIO_set_accept_bios
    - NCONF_load
    - sk_CONF_VALUE_num
    - NCONF_new
    - fprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: interrupt
    functionSourceFile: /src/openssl/demos/bio/saccept.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void interrupt(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/demos/bio/saccept.c:38,1
    - Dst: sigemptyset
      Src: /src/openssl/demos/bio/saccept.c:47,1
    - Dst: sigaction
      Src: /src/openssl/demos/bio/saccept.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: sigsetup
    functionSourceFile: /src/openssl/demos/bio/saccept.c
    functionUses: 0
    functionsReached:
    - sigemptyset
    - sigaction
    - signal
    linkageType: ''
    returnType: void
    signature: void sigsetup(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/saccept.c:66,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/bio/saccept.c:66,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/bio/saccept.c:67,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/bio/saccept.c:69,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/demos/bio/saccept.c:71,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/demos/bio/saccept.c:75,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/bio/saccept.c:77,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/demos/bio/saccept.c:85,1
    - Dst: sigsetup
      Src: /src/openssl/demos/bio/saccept.c:88,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/bio/saccept.c:97,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/saccept.c:101,1
    - Dst: printf
      Src: /src/openssl/demos/bio/saccept.c:108,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/bio/saccept.c:109,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/saccept.c:110,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/saccept.c:115,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/saccept.c:116,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/saccept.c:122,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/saccept.c:123,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 52
    functionDepth: 7
    functionLinenumber: 52
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/saccept.c
    functionUses: 7
    functionsReached:
    - BIO_pop
    - printf
    - fwrite
    - SSL_CTX_use_certificate_chain_file
    - BIO_free
    - SSL_CTX_check_private_key
    - BIO_free_all
    - SSL_CTX_new
    - BIO_new_ssl
    - BIO_set_accept_bios
    - TLS_server_method
    - sigsetup
    - ERR_print_errors_fp
    - fflush
    - BIO_read
    - BIO_do_accept
    - BIO_new_accept
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/server-arg.c:35,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/bio/server-arg.c:35,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/demos/bio/server-arg.c:37,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/demos/bio/server-arg.c:38,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/demos/bio/server-arg.c:39,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/demos/bio/server-arg.c:40,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/openssl/demos/bio/server-arg.c:44,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:46,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:50,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-arg.c:51,1
    - Dst: strcmp
      Src: /src/openssl/demos/bio/server-arg.c:58,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:61,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:68,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/demos/bio/server-arg.c:73,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-arg.c:74,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-arg.c:75,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/openssl/demos/bio/server-arg.c:85,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/openssl/demos/bio/server-arg.c:87,1
    - Dst: X509_NAME_print_ex_fp
      Src: /src/openssl/demos/bio/server-arg.c:88,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/demos/bio/server-arg.c:88,1
    - Dst: printf
      Src: /src/openssl/demos/bio/server-arg.c:90,1
    - Dst: SSL_CTX_set_current_cert
      Src: /src/openssl/demos/bio/server-arg.c:91,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/server-arg.c:93,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/demos/bio/server-arg.c:97,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/bio/server-arg.c:99,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/demos/bio/server-arg.c:107,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/bio/server-arg.c:116,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/server-arg.c:120,1
    - Dst: printf
      Src: /src/openssl/demos/bio/server-arg.c:127,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/bio/server-arg.c:128,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-arg.c:129,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/server-arg.c:134,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/server-arg.c:135,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-arg.c:141,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/server-arg.c:142,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 23
    functionDepth: 7
    functionLinenumber: 23
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/server-arg.c
    functionUses: 7
    functionsReached:
    - SSL_CONF_CTX_set_flags
    - SSL_CONF_CTX_new
    - SSL_CTX_new
    - TLS_server_method
    - fflush
    - strcmp
    - BIO_pop
    - SSL_CONF_CTX_finish
    - BIO_free_all
    - ERR_print_errors_fp
    - BIO_new_ssl
    - SSL_CTX_set_current_cert
    - BIO_read
    - BIO_new_accept
    - SSL_CONF_CTX_set_ssl_ctx
    - SSL_CTX_get0_certificate
    - fwrite
    - BIO_free
    - X509_NAME_print_ex_fp
    - BIO_do_accept
    - BIO_set_accept_bios
    - X509_get_subject_name
    - SSL_CONF_cmd_argv
    - fprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/client-arg.c:27,1
    - Dst: TLS_client_method
      Src: /src/openssl/demos/bio/client-arg.c:27,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/demos/bio/client-arg.c:28,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/demos/bio/client-arg.c:29,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/demos/bio/client-arg.c:30,1
    - Dst: SSL_CONF_cmd_argv
      Src: /src/openssl/demos/bio/client-arg.c:34,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-arg.c:36,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-arg.c:40,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/client-arg.c:41,1
    - Dst: strcmp
      Src: /src/openssl/demos/bio/client-arg.c:48,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-arg.c:51,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-arg.c:58,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/demos/bio/client-arg.c:63,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-arg.c:64,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/client-arg.c:65,1
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/demos/bio/client-arg.c:75,1
    - Dst: BIO_get_ssl
      Src: /src/openssl/demos/bio/client-arg.c:77,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-arg.c:80,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/demos/bio/client-arg.c:86,1
    - Dst: BIO_new_fp
      Src: /src/openssl/demos/bio/client-arg.c:88,1
    - Dst: BIO_do_connect
      Src: /src/openssl/demos/bio/client-arg.c:89,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/client-arg.c:90,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/client-arg.c:91,1
    - Dst: BIO_puts
      Src: /src/openssl/demos/bio/client-arg.c:97,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/client-arg.c:99,1
    - Dst: BIO_write
      Src: /src/openssl/demos/bio/client-arg.c:102,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/demos/bio/client-arg.c:106,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/client-arg.c:107,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/client-arg.c:108,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 14
    functionDepth: 7
    functionLinenumber: 14
    functionLinenumberEnd: 110
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/client-arg.c
    functionUses: 7
    functionsReached:
    - SSL_CONF_CTX_set_flags
    - BIO_new_fp
    - BIO_do_connect
    - SSL_CONF_CTX_new
    - SSL_CTX_new
    - strcmp
    - BIO_write
    - SSL_CONF_CTX_finish
    - BIO_free_all
    - BIO_get_ssl
    - ERR_print_errors_fp
    - BIO_read
    - BIO_set_conn_hostname
    - SSL_CONF_CTX_set_ssl_ctx
    - BIO_puts
    - BIO_free
    - TLS_client_method
    - BIO_new_ssl_connect
    - SSL_CONF_cmd_argv
    - fprintf
    - SSL_CONF_CTX_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: sleep
    functionSourceFile: /src/openssl/demos/bio/sconnect.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sleep(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dbug_init
      Src: /src/openssl/demos/bio/sconnect.c:51,1
    - Dst: sock_init
      Src: /src/openssl/demos/bio/sconnect.c:52,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/sconnect.c:55,1
    - Dst: TLS_client_method
      Src: /src/openssl/demos/bio/sconnect.c:55,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/bio/sconnect.c:58,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/demos/bio/sconnect.c:59,1
    - Dst: SSL_new
      Src: /src/openssl/demos/bio/sconnect.c:63,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/demos/bio/sconnect.c:64,1
    - Dst: BIO_new
      Src: /src/openssl/demos/bio/sconnect.c:68,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/demos/bio/sconnect.c:68,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/demos/bio/sconnect.c:69,1
    - Dst: BIO_new
      Src: /src/openssl/demos/bio/sconnect.c:72,1
    - Dst: BIO_s_connect
      Src: /src/openssl/demos/bio/sconnect.c:72,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/demos/bio/sconnect.c:73,1
    - Dst: BIO_get_conn_hostname
      Src: /src/openssl/demos/bio/sconnect.c:76,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/bio/sconnect.c:77,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/sconnect.c:78,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/demos/bio/sconnect.c:82,1
    - Dst: BIO_push
      Src: /src/openssl/demos/bio/sconnect.c:83,1
    - Dst: strlen
      Src: /src/openssl/demos/bio/sconnect.c:86,1
    - Dst: BIO_write
      Src: /src/openssl/demos/bio/sconnect.c:90,1
    - Dst: BIO_should_retry
      Src: /src/openssl/demos/bio/sconnect.c:92,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/sconnect.c:93,1
    - Dst: sleep
      Src: /src/openssl/demos/bio/sconnect.c:94,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/sconnect.c:107,1
    - Dst: BIO_should_retry
      Src: /src/openssl/demos/bio/sconnect.c:111,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/sconnect.c:112,1
    - Dst: sleep
      Src: /src/openssl/demos/bio/sconnect.c:113,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/sconnect.c:118,1
    - Dst: ERR_peek_error
      Src: /src/openssl/demos/bio/sconnect.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/sconnect.c:126,1
    - Dst: perror
      Src: /src/openssl/demos/bio/sconnect.c:127,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/sconnect.c:129,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/sconnect.c:132,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/bio/sconnect.c:133,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 33
    functionDepth: 7
    functionLinenumber: 33
    functionLinenumberEnd: 135
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/sconnect.c
    functionUses: 7
    functionsReached:
    - BIO_set_ssl
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - sock_init
    - strlen
    - BIO_should_retry
    - BIO_write
    - BIO_new
    - SSL_CTX_free
    - SSL_set_connect_state
    - BIO_free_all
    - ERR_print_errors_fp
    - BIO_push
    - BIO_set_nbio
    - BIO_s_connect
    - ERR_peek_error
    - BIO_read
    - BIO_f_ssl
    - BIO_set_conn_hostname
    - perror
    - BIO_free
    - fwrite
    - SSL_new
    - dbug_init
    - TLS_client_method
    - SSL_CTX_load_verify_locations
    - SSL_set1_host
    - fprintf
    - sleep
    - BIO_get_conn_hostname
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/bio/server-cmod.c:31,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/bio/server-cmod.c:31,1
    - Dst: CONF_modules_load_file
      Src: /src/openssl/demos/bio/server-cmod.c:33,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-cmod.c:34,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/demos/bio/server-cmod.c:38,1
    - Dst: fprintf
      Src: /src/openssl/demos/bio/server-cmod.c:39,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/demos/bio/server-cmod.c:44,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/bio/server-cmod.c:46,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/demos/bio/server-cmod.c:54,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/bio/server-cmod.c:63,1
    - Dst: BIO_read
      Src: /src/openssl/demos/bio/server-cmod.c:67,1
    - Dst: printf
      Src: /src/openssl/demos/bio/server-cmod.c:74,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/bio/server-cmod.c:75,1
    - Dst: BIO_free_all
      Src: /src/openssl/demos/bio/server-cmod.c:76,1
    - Dst: BIO_should_retry
      Src: /src/openssl/demos/bio/server-cmod.c:80,1
    - Dst: fwrite
      Src: /src/openssl/demos/bio/server-cmod.c:84,1
    - Dst: fflush
      Src: /src/openssl/demos/bio/server-cmod.c:85,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/bio/server-cmod.c:91,1
    - Dst: BIO_free
      Src: /src/openssl/demos/bio/server-cmod.c:92,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 22
    functionDepth: 9
    functionLinenumber: 22
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/openssl/demos/bio/server-cmod.c
    functionUses: 7
    functionsReached:
    - BIO_pop
    - CONF_modules_load_file
    - BIO_should_retry
    - printf
    - fwrite
    - BIO_free
    - BIO_free_all
    - SSL_CTX_config
    - SSL_CTX_new
    - BIO_new_ssl
    - TLS_server_method
    - fprintf
    - ERR_print_errors_fp
    - fflush
    - BIO_read
    - BIO_do_accept
    - BIO_new_accept
    - BIO_set_accept_bios
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:53,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:55,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - libctx
    - propq
    - public
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 12
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: get_key
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 4
    functionsReached:
    - OSSL_DECODER_from_data
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_CTX_new_for_pkey
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_key(OSSL_LIB_CTX *libctx, const char *propq, int public)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:66,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:69,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:72,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:79,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - propq
    argTypes:
    - OSSL_PARAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: set_optional_params
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: void
    signature: void set_optional_params(OSSL_PARAM *p, const char *propq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_key
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:109,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:111,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:114,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:116,1
    - Dst: set_optional_params
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:119,1
    - Dst: EVP_PKEY_encrypt_init_ex
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:121,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:122,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:126,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:127,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:130,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:132,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:135,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:136,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:141,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:142,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:143,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:148,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:149,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:150,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - libctx
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 152
    functionName: do_encrypt
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 5
    functionsReached:
    - OPENSSL_zalloc
    - EVP_PKEY_encrypt
    - BIO_dump_indent_fp
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - set_optional_params
    - EVP_PKEY_encrypt_init_ex
    - get_key
    linkageType: ''
    returnType: int
    signature: "int do_encrypt(OSSL_LIB_CTX *libctx,\n                      const
      unsigned char *in, size_t in_len,\n                      unsigned char **out,
      size_t *out_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_key
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:166,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:168,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:171,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:173,1
    - Dst: set_optional_params
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:178,1
    - Dst: EVP_PKEY_decrypt_init_ex
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:180,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:181,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:185,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:186,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:189,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:191,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:194,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:195,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:200,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:201,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:207,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:208,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 5
    argNames:
    - libctx
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 154
    functionDepth: 6
    functionLinenumber: 154
    functionLinenumberEnd: 211
    functionName: do_decrypt
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    - EVP_PKEY_decrypt
    - EVP_PKEY_decrypt_init_ex
    - BIO_dump_indent_fp
    - EVP_PKEY_free
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - set_optional_params
    - get_key
    linkageType: ''
    returnType: int
    signature: "int do_decrypt(OSSL_LIB_CTX *libctx, const unsigned char *in, size_t
      in_len,\n                      unsigned char **out, size_t *out_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_encrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:221,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:222,1
    - Dst: do_decrypt
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:225,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:227,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:230,1
    - Dst: fprintf
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:237,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:238,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:239,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/encrypt/rsa_encrypt.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 213
    functionDepth: 7
    functionLinenumber: 213
    functionLinenumberEnd: 243
    functionName: main
    functionSourceFile: /src/openssl/demos/encrypt/rsa_encrypt.c
    functionUses: 7
    functionsReached:
    - OSSL_LIB_CTX_free
    - CRYPTO_memcmp
    - do_decrypt
    - OPENSSL_free
    - ERR_print_errors_fp
    - fprintf
    - do_encrypt
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/openssl/demos/guide/tls-client-block.c:39,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/demos/guide/tls-client-block.c:47,1
    - Dst: BIO_socket
      Src: /src/openssl/demos/guide/tls-client-block.c:55,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/demos/guide/tls-client-block.c:55,1
    - Dst: BIO_connect
      Src: /src/openssl/demos/guide/tls-client-block.c:60,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/guide/tls-client-block.c:60,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/tls-client-block.c:61,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/demos/guide/tls-client-block.c:71,1
    - Dst: BIO_new
      Src: /src/openssl/demos/guide/tls-client-block.c:78,1
    - Dst: BIO_s_socket
      Src: /src/openssl/demos/guide/tls-client-block.c:78,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/tls-client-block.c:80,1
    - Dst: BIO_set_fd
      Src: /src/openssl/demos/guide/tls-client-block.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - hostname
    - port
    - family
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 94
    functionName: create_socket_bio
    functionSourceFile: /src/openssl/demos/guide/tls-client-block.c
    functionUses: 1
    functionsReached:
    - BIO_ADDRINFO_family
    - BIO_new
    - BIO_closesocket
    - BIO_socket
    - BIO_connect
    - BIO_ADDRINFO_free
    - BIO_s_socket
    - BIO_set_fd
    - BIO_lookup_ex
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: BIO
    signature: BIO *create_socket_bio(const char *hostname, const char *port, int
      family)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:116,1
    - Dst: strcmp
      Src: /src/openssl/demos/guide/tls-client-block.c:120,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:122,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/tls-client-block.c:136,1
    - Dst: TLS_client_method
      Src: /src/openssl/demos/guide/tls-client-block.c:136,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:138,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/tls-client-block.c:147,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/demos/guide/tls-client-block.c:150,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:151,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/demos/guide/tls-client-block.c:159,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:160,1
    - Dst: SSL_new
      Src: /src/openssl/demos/guide/tls-client-block.c:165,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:167,1
    - Dst: create_socket_bio
      Src: /src/openssl/demos/guide/tls-client-block.c:175,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:177,1
    - Dst: SSL_set_bio
      Src: /src/openssl/demos/guide/tls-client-block.c:180,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/guide/tls-client-block.c:186,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:187,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/guide/tls-client-block.c:197,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:198,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/guide/tls-client-block.c:203,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:204,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/tls-client-block.c:209,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:210,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/demos/guide/tls-client-block.c:211,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/tls-client-block.c:211,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/tls-client-block.c:216,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/tls-client-block.c:216,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:217,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/tls-client-block.c:220,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/tls-client-block.c:220,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:221,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/tls-client-block.c:224,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/tls-client-block.c:224,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:225,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/tls-client-block.c:233,1
    - Dst: fwrite
      Src: /src/openssl/demos/guide/tls-client-block.c:241,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:244,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/tls-client-block.c:252,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:257,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/tls-client-block.c:265,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-block.c:273,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-client-block.c:286,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/tls-client-block.c:293,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-client-block.c:294,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 102
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 100
    functionDepth: 7
    functionLinenumber: 100
    functionLinenumberEnd: 296
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/tls-client-block.c
    functionUses: 7
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - create_socket_bio
    - strcmp
    - strlen
    - SSL_read_ex
    - SSL_get_error
    - SSL_write_ex
    - SSL_CTX_free
    - SSL_set_tlsext_host_name
    - ERR_print_errors_fp
    - SSL_set_bio
    - SSL_get_verify_result
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - fwrite
    - SSL_new
    - SSL_shutdown
    - TLS_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_connect
    - X509_verify_cert_error_string
    - SSL_set1_host
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/guide/tls-server-block.c:39,1
    - Dst: vfprintf
      Src: /src/openssl/demos/guide/tls-server-block.c:40,1
    - Dst: putc
      Src: /src/openssl/demos/guide/tls-server-block.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: vwarnx
    functionSourceFile: /src/openssl/demos/guide/tls-server-block.c
    functionUses: 2
    functionsReached:
    - putc
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void vwarnx(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/demos/guide/tls-server-block.c:47,1
    - Dst: vwarnx
      Src: /src/openssl/demos/guide/tls-server-block.c:48,1
    - Dst: va_end
      Src: /src/openssl/demos/guide/tls-server-block.c:49,1
    - Dst: exit
      Src: /src/openssl/demos/guide/tls-server-block.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - status
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: errx
    functionSourceFile: /src/openssl/demos/guide/tls-server-block.c
    functionUses: 24
    functionsReached:
    - va_end
    - exit
    - va_start
    - vwarnx
    linkageType: ''
    returnType: void
    signature: void errx(int status, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/demos/guide/tls-server-block.c:56,1
    - Dst: vwarnx
      Src: /src/openssl/demos/guide/tls-server-block.c:57,1
    - Dst: va_end
      Src: /src/openssl/demos/guide/tls-server-block.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: warnx
    functionSourceFile: /src/openssl/demos/guide/tls-server-block.c
    functionUses: 35
    functionsReached:
    - va_end
    - va_start
    - vwarnx
    linkageType: ''
    returnType: void
    signature: void warnx(const char *fmt, ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: errx
      Src: /src/openssl/demos/guide/tls-server-block.c:76,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/tls-server-block.c:83,1
    - Dst: TLS_server_method
      Src: /src/openssl/demos/guide/tls-server-block.c:83,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-server-block.c:85,1
    - Dst: errx
      Src: /src/openssl/demos/guide/tls-server-block.c:86,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/demos/guide/tls-server-block.c:93,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-server-block.c:94,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-server-block.c:95,1
    - Dst: errx
      Src: /src/openssl/demos/guide/tls-server-block.c:96,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/openssl/demos/guide/tls-server-block.c:112,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/demos/guide/tls-server-block.c:136,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/guide/tls-server-block.c:153,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-server-block.c:154,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-server-block.c:155,1
    - Dst: errx
      Src: /src/openssl/demos/guide/tls-server-block.c:156,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/guide/tls-server-block.c:165,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-server-block.c:166,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-server-block.c:167,1
    - Dst: errx
      Src: /src/openssl/demos/guide/tls-server-block.c:168,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/demos/guide/tls-server-block.c:177,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/demos/guide/tls-server-block.c:178,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/demos/guide/tls-server-block.c:185,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/openssl/demos/guide/tls-server-block.c:194,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/tls-server-block.c:207,1
    - Dst: BIO_new_accept
      Src: /src/openssl/demos/guide/tls-server-block.c:213,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-server-block.c:215,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-server-block.c:216,1
    - Dst: errx
      Src: /src/openssl/demos/guide/tls-server-block.c:217,1
    - Dst: BIO_set_bind_mode
      Src: /src/openssl/demos/guide/tls-server-block.c:220,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/guide/tls-server-block.c:221,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-server-block.c:222,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-server-block.c:223,1
    - Dst: errx
      Src: /src/openssl/demos/guide/tls-server-block.c:224,1
    - Dst: ERR_clear_error
      Src: /src/openssl/demos/guide/tls-server-block.c:237,1
    - Dst: BIO_do_accept
      Src: /src/openssl/demos/guide/tls-server-block.c:240,1
    - Dst: BIO_pop
      Src: /src/openssl/demos/guide/tls-server-block.c:246,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/tls-server-block.c:247,1
    - Dst: SSL_new
      Src: /src/openssl/demos/guide/tls-server-block.c:250,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-server-block.c:251,1
    - Dst: warnx
      Src: /src/openssl/demos/guide/tls-server-block.c:252,1
    - Dst: BIO_free
      Src: /src/openssl/demos/guide/tls-server-block.c:253,1
    - Dst: SSL_set_bio
      Src: /src/openssl/demos/guide/tls-server-block.c:256,1
    - Dst: SSL_accept
      Src: /src/openssl/demos/guide/tls-server-block.c:259,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-server-block.c:260,1
    - Dst: warnx
      Src: /src/openssl/demos/guide/tls-server-block.c:261,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/tls-server-block.c:262,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/tls-server-block.c:266,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/tls-server-block.c:267,1
    - Dst: warnx
      Src: /src/openssl/demos/guide/tls-server-block.c:272,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/tls-server-block.c:275,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/tls-server-block.c:276,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-server-block.c:282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 284
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/tls-server-block.c
    functionUses: 7
    functionsReached:
    - SSL_CTX_sess_set_cache_size
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - TLS_server_method
    - warnx
    - SSL_read_ex
    - BIO_pop
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_CTX_set_options
    - ERR_clear_error
    - ERR_print_errors_fp
    - SSL_CTX_set_timeout
    - SSL_set_bio
    - BIO_new_accept
    - errx
    - SSL_CTX_use_PrivateKey_file
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_session_cache_mode
    - BIO_free
    - SSL_new
    - BIO_set_bind_mode
    - BIO_do_accept
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_set_security_level
    - SSL_accept
    - fprintf
    - SSL_CTX_set_session_id_context
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:40,1
    - Dst: vfprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:41,1
    - Dst: putc
      Src: /src/openssl/demos/guide/quic-server-block.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: vwarnx
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 4
    functionsReached:
    - putc
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void vwarnx(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/demos/guide/quic-server-block.c:49,1
    - Dst: vwarnx
      Src: /src/openssl/demos/guide/quic-server-block.c:50,1
    - Dst: va_end
      Src: /src/openssl/demos/guide/quic-server-block.c:51,1
    - Dst: exit
      Src: /src/openssl/demos/guide/quic-server-block.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - status
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: errx
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 25
    functionsReached:
    - va_end
    - exit
    - va_start
    - vwarnx
    linkageType: ''
    returnType: void
    signature: void errx(int status, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/demos/guide/quic-server-block.c:59,1
    - Dst: vwarnx
      Src: /src/openssl/demos/guide/quic-server-block.c:60,1
    - Dst: va_end
      Src: /src/openssl/demos/guide/quic-server-block.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: warnx
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 38
    functionsReached:
    - va_end
    - va_start
    - vwarnx
    linkageType: ''
    returnType: void
    signature: void warnx(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/demos/guide/quic-server-block.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: select_alpn
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int select_alpn(SSL *ssl, const unsigned char **out,\n                       unsigned
      char *out_len, const unsigned char *in,\n                       unsigned int
      in_len, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/quic-server-block.c:98,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/guide/quic-server-block.c:98,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/guide/quic-server-block.c:117,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:118,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/guide/quic-server-block.c:128,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:129,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/quic-server-block.c:144,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/guide/quic-server-block.c:147,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 154
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 4
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - fprintf
    - OSSL_QUIC_server_method
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ctx(const char *cert_path, const char *key_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/openssl/demos/guide/quic-server-block.c:163,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:164,1
    - Dst: htons
      Src: /src/openssl/demos/guide/quic-server-block.c:169,1
    - Dst: bind
      Src: /src/openssl/demos/guide/quic-server-block.c:172,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:173,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-block.c:174,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-block.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 4
    functionsReached:
    - bind
    - BIO_closesocket
    - socket
    - fprintf
    - htons
    linkageType: ''
    returnType: int
    signature: int create_socket(uint16_t port)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new_listener
      Src: /src/openssl/demos/guide/quic-server-block.c:202,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/guide/quic-server-block.c:206,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/guide/quic-server-block.c:210,1
    - Dst: ERR_clear_error
      Src: /src/openssl/demos/guide/quic-server-block.c:219,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-block.c:222,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/demos/guide/quic-server-block.c:223,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:225,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-block.c:228,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-server-block.c:231,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-server-block.c:232,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:235,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/demos/guide/quic-server-block.c:240,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-block.c:241,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-block.c:242,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/quic-server-block.c:250,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-block.c:253,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-block.c:257,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 259
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 4
    functionsReached:
    - SSL_read_ex
    - SSL_write_ex
    - SSL_new_listener
    - SSL_free
    - ERR_clear_error
    - SSL_listen
    - fprintf
    - SSL_stream_conclude
    - SSL_shutdown
    - printf
    - SSL_set_fd
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int run_quic_server(SSL_CTX *ctx, int fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-block.c:275,1
    - Dst: create_ctx
      Src: /src/openssl/demos/guide/quic-server-block.c:278,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-block.c:279,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-block.c:280,1
    - Dst: strtoul
      Src: /src/openssl/demos/guide/quic-server-block.c:284,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:286,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-block.c:287,1
    - Dst: create_socket
      Src: /src/openssl/demos/guide/quic-server-block.c:291,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:292,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-block.c:293,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-block.c:294,1
    - Dst: run_quic_server
      Src: /src/openssl/demos/guide/quic-server-block.c:298,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:299,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-block.c:300,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-block.c:301,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-block.c:302,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-block.c:306,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-block.c:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 262
    functionDepth: 7
    functionLinenumber: 262
    functionLinenumberEnd: 310
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/quic-server-block.c
    functionUses: 7
    functionsReached:
    - create_socket
    - SSL_CTX_free
    - BIO_closesocket
    - strtoul
    - run_quic_server
    - create_ctx
    - ERR_print_errors_fp
    - errx
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/openssl/demos/guide/quic-multi-stream.c:40,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/demos/guide/quic-multi-stream.c:48,1
    - Dst: BIO_socket
      Src: /src/openssl/demos/guide/quic-multi-stream.c:56,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/demos/guide/quic-multi-stream.c:56,1
    - Dst: BIO_connect
      Src: /src/openssl/demos/guide/quic-multi-stream.c:61,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/guide/quic-multi-stream.c:61,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-multi-stream.c:62,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/guide/quic-multi-stream.c:68,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-multi-stream.c:69,1
    - Dst: BIO_ADDR_dup
      Src: /src/openssl/demos/guide/quic-multi-stream.c:78,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/guide/quic-multi-stream.c:78,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-multi-stream.c:80,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:86,1
    - Dst: BIO_new
      Src: /src/openssl/demos/guide/quic-multi-stream.c:93,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/demos/guide/quic-multi-stream.c:93,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-multi-stream.c:95,1
    - Dst: BIO_set_fd
      Src: /src/openssl/demos/guide/quic-multi-stream.c:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - hostname
    - port
    - family
    - peer_addr
    argTypes:
    - char*
    - char*
    - int
    - BIO_ADDR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 109
    functionName: create_socket_bio
    functionSourceFile: /src/openssl/demos/guide/quic-multi-stream.c
    functionUses: 2
    functionsReached:
    - BIO_ADDRINFO_family
    - BIO_new
    - BIO_closesocket
    - BIO_ADDR_dup
    - BIO_socket_nbio
    - BIO_socket
    - BIO_connect
    - BIO_s_datagram
    - BIO_ADDRINFO_free
    - BIO_set_fd
    - BIO_lookup_ex
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: BIO
    signature: "BIO *create_socket_bio(const char *hostname, const char *port,\n                              int
      family, BIO_ADDR **peer_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-multi-stream.c:117,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-multi-stream.c:117,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-multi-stream.c:120,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-multi-stream.c:120,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-multi-stream.c:122,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-multi-stream.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - request_start
    - hostname
    argTypes:
    - SSL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: write_a_request
    functionSourceFile: /src/openssl/demos/guide/quic-multi-stream.c
    functionUses: 0
    functionsReached:
    - strlen
    - SSL_write_ex
    linkageType: ''
    returnType: int
    signature: "int write_a_request(SSL *stream, const char *request_start,\n                           const
      char *hostname)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:155,1
    - Dst: strcmp
      Src: /src/openssl/demos/guide/quic-multi-stream.c:159,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:161,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/quic-multi-stream.c:175,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/demos/guide/quic-multi-stream.c:175,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:177,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/quic-multi-stream.c:186,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/demos/guide/quic-multi-stream.c:189,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:190,1
    - Dst: SSL_new
      Src: /src/openssl/demos/guide/quic-multi-stream.c:195,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:197,1
    - Dst: SSL_set_default_stream_mode
      Src: /src/openssl/demos/guide/quic-multi-stream.c:205,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:206,1
    - Dst: create_socket_bio
      Src: /src/openssl/demos/guide/quic-multi-stream.c:214,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:216,1
    - Dst: SSL_set_bio
      Src: /src/openssl/demos/guide/quic-multi-stream.c:219,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/guide/quic-multi-stream.c:225,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:226,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/guide/quic-multi-stream.c:236,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:237,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/demos/guide/quic-multi-stream.c:242,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:243,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/demos/guide/quic-multi-stream.c:248,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:249,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/guide/quic-multi-stream.c:254,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:255,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-multi-stream.c:260,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:261,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/demos/guide/quic-multi-stream.c:262,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-multi-stream.c:262,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/guide/quic-multi-stream.c:270,1
    - Dst: SSL_new_stream
      Src: /src/openssl/demos/guide/quic-multi-stream.c:271,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:273,1
    - Dst: write_a_request
      Src: /src/openssl/demos/guide/quic-multi-stream.c:278,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:279,1
    - Dst: write_a_request
      Src: /src/openssl/demos/guide/quic-multi-stream.c:283,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:284,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:295,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-multi-stream.c:301,1
    - Dst: fwrite
      Src: /src/openssl/demos/guide/quic-multi-stream.c:309,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:312,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/quic-multi-stream.c:322,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/guide/quic-multi-stream.c:332,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:334,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:339,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:344,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:351,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/demos/guide/quic-multi-stream.c:366,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:368,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:372,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-multi-stream.c:378,1
    - Dst: fwrite
      Src: /src/openssl/demos/guide/quic-multi-stream.c:379,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:380,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/quic-multi-stream.c:383,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/guide/quic-multi-stream.c:389,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:391,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:395,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:399,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:405,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/quic-multi-stream.c:414,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-multi-stream.c:416,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-multi-stream.c:430,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:437,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:438,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:439,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:440,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:441,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/demos/guide/quic-multi-stream.c:442,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 134
    functionDepth: 7
    functionLinenumber: 134
    functionLinenumberEnd: 444
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/quic-multi-stream.c
    functionUses: 7
    functionsReached:
    - SSL_set_alpn_protos
    - SSL_get_stream_read_state
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - create_socket_bio
    - strcmp
    - SSL_read_ex
    - SSL_get_error
    - SSL_CTX_free
    - SSL_set_tlsext_host_name
    - write_a_request
    - ERR_print_errors_fp
    - OSSL_QUIC_client_method
    - SSL_set_bio
    - SSL_get_verify_result
    - SSL_free
    - fwrite
    - SSL_new
    - SSL_shutdown
    - SSL_set_default_stream_mode
    - SSL_accept_stream
    - BIO_ADDR_free
    - SSL_CTX_set_default_verify_paths
    - SSL_connect
    - SSL_set1_initial_peer_addr
    - X509_verify_cert_error_string
    - SSL_set1_host
    - SSL_new_stream
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:40,1
    - Dst: vfprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:41,1
    - Dst: putc
      Src: /src/openssl/demos/guide/quic-server-non-block.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: vwarnx
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 6
    functionsReached:
    - putc
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void vwarnx(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/demos/guide/quic-server-non-block.c:49,1
    - Dst: vwarnx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:50,1
    - Dst: va_end
      Src: /src/openssl/demos/guide/quic-server-non-block.c:51,1
    - Dst: exit
      Src: /src/openssl/demos/guide/quic-server-non-block.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - status
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: errx
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 26
    functionsReached:
    - va_end
    - exit
    - va_start
    - vwarnx
    linkageType: ''
    returnType: void
    signature: void errx(int status, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/demos/guide/quic-server-non-block.c:59,1
    - Dst: vwarnx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:60,1
    - Dst: va_end
      Src: /src/openssl/demos/guide/quic-server-non-block.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: warnx
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 40
    functionsReached:
    - va_end
    - va_start
    - vwarnx
    linkageType: ''
    returnType: void
    signature: void warnx(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/demos/guide/quic-server-non-block.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: select_alpn
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int select_alpn(SSL *ssl, const unsigned char **out,\n                       unsigned
      char *out_len, const unsigned char *in,\n                       unsigned int
      in_len, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/quic-server-non-block.c:98,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/demos/guide/quic-server-non-block.c:98,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/guide/quic-server-non-block.c:117,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:118,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/guide/quic-server-non-block.c:128,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:129,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/quic-server-non-block.c:144,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/demos/guide/quic-server-non-block.c:147,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cert_path
    - key_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 154
    functionName: create_ctx
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 5
    functionsReached:
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - fprintf
    - OSSL_QUIC_server_method
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_ctx(const char *cert_path, const char *key_path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:163,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:164,1
    - Dst: htons
      Src: /src/openssl/demos/guide/quic-server-non-block.c:169,1
    - Dst: bind
      Src: /src/openssl/demos/guide/quic-server-non-block.c:172,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:173,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:174,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/guide/quic-server-non-block.c:179,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:180,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 186
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 5
    functionsReached:
    - bind
    - BIO_closesocket
    - socket
    - BIO_socket_nbio
    - fprintf
    - htons
    linkageType: ''
    returnType: int
    signature: int create_socket(uint16_t port)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_fd
      Src: /src/openssl/demos/guide/quic-server-non-block.c:214,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:215,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/guide/quic-server-non-block.c:220,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/guide/quic-server-non-block.c:221,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/demos/guide/quic-server-non-block.c:226,1
    - Dst: FD_SET
      Src: /src/openssl/demos/guide/quic-server-non-block.c:227,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/demos/guide/quic-server-non-block.c:228,1
    - Dst: FD_SET
      Src: /src/openssl/demos/guide/quic-server-non-block.c:229,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/demos/guide/quic-server-non-block.c:235,1
    - Dst: select
      Src: /src/openssl/demos/guide/quic-server-non-block.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 259
    functionName: wait_for_activity
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 2
    functionsReached:
    - FD_ZERO
    - SSL_net_write_desired
    - FD_SET
    - SSL_net_read_desired
    - fprintf
    - SSL_get_fd
    - select
    - SSL_get_event_timeout
    linkageType: ''
    returnType: void
    signature: void wait_for_activity(SSL *ssl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/quic-server-non-block.c:284,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/guide/quic-server-non-block.c:288,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/guide/quic-server-non-block.c:305,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:307,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:315,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:320,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-server-non-block.c:327,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:328,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/demos/guide/quic-server-non-block.c:329,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-server-non-block.c:329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ssl
    - res
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 335
    functionName: handle_io_failure
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 4
    functionsReached:
    - SSL_get_error
    - SSL_get_verify_result
    - SSL_get_stream_read_state
    - X509_verify_cert_error_string
    - wait_for_activity
    - printf
    linkageType: ''
    returnType: int
    signature: int handle_io_failure(SSL *ssl, int res)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new_listener
      Src: /src/openssl/demos/guide/quic-server-non-block.c:350,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/guide/quic-server-non-block.c:354,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/demos/guide/quic-server-non-block.c:361,1
    - Dst: SSL_listen
      Src: /src/openssl/demos/guide/quic-server-non-block.c:370,1
    - Dst: ERR_clear_error
      Src: /src/openssl/demos/guide/quic-server-non-block.c:383,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:386,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/demos/guide/quic-server-non-block.c:387,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/guide/quic-server-non-block.c:388,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:389,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-server-non-block.c:393,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:397,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-server-non-block.c:401,1
    - Dst: SSL_has_pending
      Src: /src/openssl/demos/guide/quic-server-non-block.c:406,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:410,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/demos/guide/quic-server-non-block.c:416,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-server-non-block.c:419,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:421,1
    - Dst: fprintf
      Src: /src/openssl/demos/guide/quic-server-non-block.c:426,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/quic-server-non-block.c:433,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-server-non-block.c:434,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:438,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:443,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 2
    argNames:
    - ctx
    - fd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 445
    functionName: run_quic_server
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 5
    functionsReached:
    - SSL_read_ex
    - SSL_new_listener
    - SSL_free
    - SSL_write_ex2
    - ERR_clear_error
    - SSL_set_blocking_mode
    - handle_io_failure
    - SSL_listen
    - SSL_has_pending
    - fprintf
    - SSL_shutdown
    - wait_for_activity
    - printf
    - SSL_set_fd
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int run_quic_server(SSL_CTX *ctx, int fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:460,1
    - Dst: create_ctx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:463,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-non-block.c:464,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:465,1
    - Dst: strtoul
      Src: /src/openssl/demos/guide/quic-server-non-block.c:469,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:471,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:472,1
    - Dst: create_socket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:476,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:477,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-non-block.c:478,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:479,1
    - Dst: run_quic_server
      Src: /src/openssl/demos/guide/quic-server-non-block.c:483,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:484,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:485,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-server-non-block.c:486,1
    - Dst: errx
      Src: /src/openssl/demos/guide/quic-server-non-block.c:487,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-server-non-block.c:491,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-server-non-block.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 448
    functionDepth: 7
    functionLinenumber: 448
    functionLinenumberEnd: 495
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/quic-server-non-block.c
    functionUses: 7
    functionsReached:
    - create_socket
    - SSL_CTX_free
    - BIO_closesocket
    - strtoul
    - run_quic_server
    - create_ctx
    - ERR_print_errors_fp
    - errx
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/openssl/demos/guide/quic-client-block.c:40,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/demos/guide/quic-client-block.c:48,1
    - Dst: BIO_socket
      Src: /src/openssl/demos/guide/quic-client-block.c:56,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/demos/guide/quic-client-block.c:56,1
    - Dst: BIO_connect
      Src: /src/openssl/demos/guide/quic-client-block.c:61,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/guide/quic-client-block.c:61,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-client-block.c:62,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/guide/quic-client-block.c:68,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-client-block.c:69,1
    - Dst: BIO_ADDR_dup
      Src: /src/openssl/demos/guide/quic-client-block.c:78,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/guide/quic-client-block.c:78,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-client-block.c:80,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/demos/guide/quic-client-block.c:86,1
    - Dst: BIO_new
      Src: /src/openssl/demos/guide/quic-client-block.c:93,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/demos/guide/quic-client-block.c:93,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-client-block.c:95,1
    - Dst: BIO_set_fd
      Src: /src/openssl/demos/guide/quic-client-block.c:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - hostname
    - port
    - family
    - peer_addr
    argTypes:
    - char*
    - char*
    - int
    - BIO_ADDR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 109
    functionName: create_socket_bio
    functionSourceFile: /src/openssl/demos/guide/quic-client-block.c
    functionUses: 3
    functionsReached:
    - BIO_ADDRINFO_family
    - BIO_new
    - BIO_closesocket
    - BIO_ADDR_dup
    - BIO_socket_nbio
    - BIO_socket
    - BIO_connect
    - BIO_s_datagram
    - BIO_ADDRINFO_free
    - BIO_set_fd
    - BIO_lookup_ex
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: BIO
    signature: "BIO *create_socket_bio(const char *hostname, const char *port,\n                              int
      family, BIO_ADDR **peer_addr)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:135,1
    - Dst: strcmp
      Src: /src/openssl/demos/guide/quic-client-block.c:139,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:141,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/quic-client-block.c:155,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/demos/guide/quic-client-block.c:155,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:157,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/quic-client-block.c:166,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/demos/guide/quic-client-block.c:169,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:170,1
    - Dst: SSL_new
      Src: /src/openssl/demos/guide/quic-client-block.c:175,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:177,1
    - Dst: create_socket_bio
      Src: /src/openssl/demos/guide/quic-client-block.c:185,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:187,1
    - Dst: SSL_set_bio
      Src: /src/openssl/demos/guide/quic-client-block.c:190,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/guide/quic-client-block.c:196,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:197,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/guide/quic-client-block.c:207,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:208,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/demos/guide/quic-client-block.c:213,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:214,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/demos/guide/quic-client-block.c:219,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:220,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/guide/quic-client-block.c:225,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:226,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-client-block.c:231,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:232,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/demos/guide/quic-client-block.c:233,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-client-block.c:233,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-client-block.c:238,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-client-block.c:238,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:239,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-client-block.c:242,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-client-block.c:242,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:243,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/demos/guide/quic-client-block.c:246,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-client-block.c:246,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:248,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-client-block.c:256,1
    - Dst: fwrite
      Src: /src/openssl/demos/guide/quic-client-block.c:264,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:267,1
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/quic-client-block.c:277,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/guide/quic-client-block.c:287,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:289,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:294,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:299,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:306,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/quic-client-block.c:315,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-block.c:317,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-client-block.c:331,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-client-block.c:338,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-client-block.c:339,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/demos/guide/quic-client-block.c:340,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 126
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 117
    functionDepth: 7
    functionLinenumber: 117
    functionLinenumberEnd: 342
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/quic-client-block.c
    functionUses: 7
    functionsReached:
    - SSL_set_alpn_protos
    - SSL_get_stream_read_state
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - create_socket_bio
    - strcmp
    - strlen
    - SSL_read_ex
    - SSL_get_error
    - SSL_write_ex
    - SSL_CTX_free
    - SSL_set_tlsext_host_name
    - ERR_print_errors_fp
    - OSSL_QUIC_client_method
    - SSL_set_bio
    - SSL_get_verify_result
    - SSL_free
    - SSL_write_ex2
    - fwrite
    - SSL_new
    - SSL_shutdown
    - BIO_ADDR_free
    - SSL_CTX_set_default_verify_paths
    - SSL_connect
    - SSL_set1_initial_peer_addr
    - X509_verify_cert_error_string
    - SSL_set1_host
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/openssl/demos/guide/tls-client-non-block.c:40,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/demos/guide/tls-client-non-block.c:48,1
    - Dst: BIO_socket
      Src: /src/openssl/demos/guide/tls-client-non-block.c:56,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/demos/guide/tls-client-non-block.c:56,1
    - Dst: BIO_connect
      Src: /src/openssl/demos/guide/tls-client-non-block.c:61,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/guide/tls-client-non-block.c:61,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/tls-client-non-block.c:62,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/guide/tls-client-non-block.c:68,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/demos/guide/tls-client-non-block.c:78,1
    - Dst: BIO_new
      Src: /src/openssl/demos/guide/tls-client-non-block.c:85,1
    - Dst: BIO_s_socket
      Src: /src/openssl/demos/guide/tls-client-non-block.c:85,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/tls-client-non-block.c:87,1
    - Dst: BIO_set_fd
      Src: /src/openssl/demos/guide/tls-client-non-block.c:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - hostname
    - port
    - family
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 101
    functionName: create_socket_bio
    functionSourceFile: /src/openssl/demos/guide/tls-client-non-block.c
    functionUses: 4
    functionsReached:
    - BIO_ADDRINFO_family
    - BIO_new
    - BIO_closesocket
    - BIO_socket_nbio
    - BIO_socket
    - BIO_connect
    - BIO_ADDRINFO_free
    - BIO_s_socket
    - BIO_set_fd
    - BIO_lookup_ex
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: BIO
    signature: BIO *create_socket_bio(const char *hostname, const char *port, int
      family)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_fd
      Src: /src/openssl/demos/guide/tls-client-non-block.c:109,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/guide/tls-client-non-block.c:111,1
    - Dst: FD_SET
      Src: /src/openssl/demos/guide/tls-client-non-block.c:112,1
    - Dst: select
      Src: /src/openssl/demos/guide/tls-client-non-block.c:133,1
    - Dst: select
      Src: /src/openssl/demos/guide/tls-client-non-block.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ssl
    - write
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: wait_for_activity
    functionSourceFile: /src/openssl/demos/guide/tls-client-non-block.c
    functionUses: 4
    functionsReached:
    - SSL_get_fd
    - select
    - FD_ZERO
    - FD_SET
    linkageType: ''
    returnType: void
    signature: void wait_for_activity(SSL *ssl, int write)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/tls-client-non-block.c:140,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/guide/tls-client-non-block.c:143,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/guide/tls-client-non-block.c:148,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/tls-client-non-block.c:163,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:164,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/demos/guide/tls-client-non-block.c:165,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/tls-client-non-block.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ssl
    - res
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 171
    functionName: handle_io_failure
    functionSourceFile: /src/openssl/demos/guide/tls-client-non-block.c
    functionUses: 5
    functionsReached:
    - SSL_get_error
    - SSL_get_verify_result
    - X509_verify_cert_error_string
    - wait_for_activity
    - printf
    linkageType: ''
    returnType: int
    signature: int handle_io_failure(SSL *ssl, int res)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:194,1
    - Dst: strcmp
      Src: /src/openssl/demos/guide/tls-client-non-block.c:198,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:200,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/tls-client-non-block.c:215,1
    - Dst: TLS_client_method
      Src: /src/openssl/demos/guide/tls-client-non-block.c:215,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:217,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/tls-client-non-block.c:226,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/demos/guide/tls-client-non-block.c:229,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:230,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/demos/guide/tls-client-non-block.c:238,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:239,1
    - Dst: SSL_new
      Src: /src/openssl/demos/guide/tls-client-non-block.c:244,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:246,1
    - Dst: create_socket_bio
      Src: /src/openssl/demos/guide/tls-client-non-block.c:254,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:256,1
    - Dst: SSL_set_bio
      Src: /src/openssl/demos/guide/tls-client-non-block.c:259,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/guide/tls-client-non-block.c:265,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:266,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/guide/tls-client-non-block.c:276,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:277,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/guide/tls-client-non-block.c:282,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/tls-client-non-block.c:283,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:285,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/tls-client-non-block.c:290,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/tls-client-non-block.c:290,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/tls-client-non-block.c:291,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:293,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/tls-client-non-block.c:296,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/tls-client-non-block.c:296,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/tls-client-non-block.c:297,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:299,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/tls-client-non-block.c:302,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/tls-client-non-block.c:302,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/tls-client-non-block.c:303,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:305,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/tls-client-non-block.c:314,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/tls-client-non-block.c:315,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:323,1
    - Dst: fwrite
      Src: /src/openssl/demos/guide/tls-client-non-block.c:335,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:338,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/tls-client-non-block.c:344,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/tls-client-non-block.c:345,1
    - Dst: printf
      Src: /src/openssl/demos/guide/tls-client-non-block.c:353,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/tls-client-non-block.c:366,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/tls-client-non-block.c:373,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/tls-client-non-block.c:374,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 119
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 177
    functionDepth: 7
    functionLinenumber: 177
    functionLinenumberEnd: 376
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/tls-client-non-block.c
    functionUses: 7
    functionsReached:
    - handle_io_failure
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - create_socket_bio
    - strcmp
    - strlen
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_set_tlsext_host_name
    - ERR_print_errors_fp
    - SSL_set_bio
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - fwrite
    - SSL_new
    - SSL_shutdown
    - TLS_client_method
    - SSL_CTX_set_default_verify_paths
    - SSL_connect
    - SSL_set1_host
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_lookup_ex
      Src: /src/openssl/demos/guide/quic-client-non-block.c:41,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/demos/guide/quic-client-non-block.c:49,1
    - Dst: BIO_socket
      Src: /src/openssl/demos/guide/quic-client-non-block.c:57,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/demos/guide/quic-client-non-block.c:57,1
    - Dst: BIO_connect
      Src: /src/openssl/demos/guide/quic-client-non-block.c:62,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/guide/quic-client-non-block.c:62,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-client-non-block.c:63,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/demos/guide/quic-client-non-block.c:69,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-client-non-block.c:70,1
    - Dst: BIO_ADDR_dup
      Src: /src/openssl/demos/guide/quic-client-non-block.c:79,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/demos/guide/quic-client-non-block.c:79,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-client-non-block.c:81,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/demos/guide/quic-client-non-block.c:87,1
    - Dst: BIO_new
      Src: /src/openssl/demos/guide/quic-client-non-block.c:94,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/demos/guide/quic-client-non-block.c:94,1
    - Dst: BIO_closesocket
      Src: /src/openssl/demos/guide/quic-client-non-block.c:96,1
    - Dst: BIO_set_fd
      Src: /src/openssl/demos/guide/quic-client-non-block.c:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - hostname
    - port
    - family
    - peer_addr
    argTypes:
    - char*
    - char*
    - int
    - BIO_ADDR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 110
    functionName: create_socket_bio
    functionSourceFile: /src/openssl/demos/guide/quic-client-non-block.c
    functionUses: 5
    functionsReached:
    - BIO_ADDRINFO_family
    - BIO_new
    - BIO_closesocket
    - BIO_ADDR_dup
    - BIO_socket_nbio
    - BIO_socket
    - BIO_connect
    - BIO_s_datagram
    - BIO_ADDRINFO_free
    - BIO_set_fd
    - BIO_lookup_ex
    - BIO_ADDRINFO_next
    - BIO_ADDRINFO_address
    linkageType: ''
    returnType: BIO
    signature: "BIO *create_socket_bio(const char *hostname, const char *port,\n                              int
      family, BIO_ADDR **peer_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_fd
      Src: /src/openssl/demos/guide/quic-client-non-block.c:120,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/guide/quic-client-non-block.c:122,1
    - Dst: FD_ZERO
      Src: /src/openssl/demos/guide/quic-client-non-block.c:123,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/demos/guide/quic-client-non-block.c:129,1
    - Dst: FD_SET
      Src: /src/openssl/demos/guide/quic-client-non-block.c:130,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/demos/guide/quic-client-non-block.c:131,1
    - Dst: FD_SET
      Src: /src/openssl/demos/guide/quic-client-non-block.c:132,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/demos/guide/quic-client-non-block.c:139,1
    - Dst: select
      Src: /src/openssl/demos/guide/quic-client-non-block.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 163
    functionName: wait_for_activity
    functionSourceFile: /src/openssl/demos/guide/quic-client-non-block.c
    functionUses: 5
    functionsReached:
    - FD_ZERO
    - SSL_net_write_desired
    - SSL_net_read_desired
    - FD_SET
    - SSL_get_fd
    - select
    - SSL_get_event_timeout
    linkageType: ''
    returnType: void
    signature: void wait_for_activity(SSL *ssl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/demos/guide/quic-client-non-block.c:167,1
    - Dst: wait_for_activity
      Src: /src/openssl/demos/guide/quic-client-non-block.c:171,1
    - Dst: SSL_get_stream_read_state
      Src: /src/openssl/demos/guide/quic-client-non-block.c:187,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:189,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:197,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:202,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-client-non-block.c:209,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:210,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/demos/guide/quic-client-non-block.c:211,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/demos/guide/quic-client-non-block.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ssl
    - res
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 217
    functionName: handle_io_failure
    functionSourceFile: /src/openssl/demos/guide/quic-client-non-block.c
    functionUses: 6
    functionsReached:
    - SSL_get_error
    - SSL_get_verify_result
    - SSL_get_stream_read_state
    - X509_verify_cert_error_string
    - wait_for_activity
    - printf
    linkageType: ''
    returnType: int
    signature: int handle_io_failure(SSL *ssl, int res)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:243,1
    - Dst: strcmp
      Src: /src/openssl/demos/guide/quic-client-non-block.c:247,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:249,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/guide/quic-client-non-block.c:263,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/demos/guide/quic-client-non-block.c:263,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:265,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/guide/quic-client-non-block.c:274,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/openssl/demos/guide/quic-client-non-block.c:277,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:278,1
    - Dst: SSL_new
      Src: /src/openssl/demos/guide/quic-client-non-block.c:283,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:285,1
    - Dst: create_socket_bio
      Src: /src/openssl/demos/guide/quic-client-non-block.c:293,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:296,1
    - Dst: SSL_set_bio
      Src: /src/openssl/demos/guide/quic-client-non-block.c:299,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/guide/quic-client-non-block.c:305,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:306,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/guide/quic-client-non-block.c:316,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:317,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/demos/guide/quic-client-non-block.c:322,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:323,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/demos/guide/quic-client-non-block.c:328,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:329,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/demos/guide/quic-client-non-block.c:338,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:339,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/guide/quic-client-non-block.c:344,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-client-non-block.c:345,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:347,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-client-non-block.c:352,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-client-non-block.c:352,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-client-non-block.c:353,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:355,1
    - Dst: SSL_write_ex
      Src: /src/openssl/demos/guide/quic-client-non-block.c:358,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-client-non-block.c:358,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-client-non-block.c:359,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:361,1
    - Dst: SSL_write_ex2
      Src: /src/openssl/demos/guide/quic-client-non-block.c:364,1
    - Dst: strlen
      Src: /src/openssl/demos/guide/quic-client-non-block.c:364,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-client-non-block.c:366,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:368,1
    - Dst: SSL_read_ex
      Src: /src/openssl/demos/guide/quic-client-non-block.c:377,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-client-non-block.c:378,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:386,1
    - Dst: fwrite
      Src: /src/openssl/demos/guide/quic-client-non-block.c:398,1
    - Dst: printf
      Src: /src/openssl/demos/guide/quic-client-non-block.c:401,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/guide/quic-client-non-block.c:407,1
    - Dst: handle_io_failure
      Src: /src/openssl/demos/guide/quic-client-non-block.c:408,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/guide/quic-client-non-block.c:421,1
    - Dst: SSL_free
      Src: /src/openssl/demos/guide/quic-client-non-block.c:428,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/guide/quic-client-non-block.c:429,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/demos/guide/quic-client-non-block.c:430,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 224
    functionDepth: 7
    functionLinenumber: 224
    functionLinenumberEnd: 432
    functionName: main
    functionSourceFile: /src/openssl/demos/guide/quic-client-non-block.c
    functionUses: 7
    functionsReached:
    - SSL_set_alpn_protos
    - SSL_set_blocking_mode
    - handle_io_failure
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - create_socket_bio
    - strcmp
    - strlen
    - SSL_read_ex
    - SSL_CTX_free
    - SSL_write_ex
    - SSL_set_tlsext_host_name
    - ERR_print_errors_fp
    - OSSL_QUIC_client_method
    - SSL_set_bio
    - SSL_free
    - SSL_write_ex2
    - fwrite
    - SSL_new
    - SSL_shutdown
    - BIO_ADDR_free
    - SSL_CTX_set_default_verify_paths
    - SSL_connect
    - SSL_set1_initial_peer_addr
    - SSL_set1_host
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/kdf/argon2.c:85,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/argon2.c:87,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/demos/kdf/argon2.c:92,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/argon2.c:94,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/demos/kdf/argon2.c:99,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/argon2.c:101,1
    - Dst: OSSL_set_max_threads
      Src: /src/openssl/demos/kdf/argon2.c:110,1
    - Dst: OSSL_get_max_threads
      Src: /src/openssl/demos/kdf/argon2.c:111,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/argon2.c:120,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/argon2.c:122,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/argon2.c:124,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/argon2.c:126,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/demos/kdf/argon2.c:128,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/kdf/argon2.c:130,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/demos/kdf/argon2.c:132,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/demos/kdf/argon2.c:134,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/kdf/argon2.c:135,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/demos/kdf/argon2.c:138,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/argon2.c:139,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/kdf/argon2.c:143,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/argon2.c:144,1
    - Dst: printf
      Src: /src/openssl/demos/kdf/argon2.c:148,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/demos/kdf/argon2.c:152,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/demos/kdf/argon2.c:153,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/kdf/argon2.c:154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/openssl/demos/kdf/argon2.c
    functionUses: 7
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - OSSL_PARAM_construct_uint32
    - EVP_KDF_CTX_free
    - printf
    - EVP_KDF_free
    - OSSL_LIB_CTX_new
    - OSSL_LIB_CTX_free
    - CRYPTO_memcmp
    - fprintf
    - OSSL_set_max_threads
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    - OSSL_get_max_threads
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/kdf/pbkdf2.c:67,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/pbkdf2.c:69,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/demos/kdf/pbkdf2.c:74,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/pbkdf2.c:76,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/demos/kdf/pbkdf2.c:81,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/pbkdf2.c:83,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/pbkdf2.c:88,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/pbkdf2.c:91,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/kdf/pbkdf2.c:94,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/kdf/pbkdf2.c:96,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/kdf/pbkdf2.c:98,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/demos/kdf/pbkdf2.c:101,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/pbkdf2.c:102,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/kdf/pbkdf2.c:106,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/pbkdf2.c:107,1
    - Dst: printf
      Src: /src/openssl/demos/kdf/pbkdf2.c:111,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/demos/kdf/pbkdf2.c:115,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/demos/kdf/pbkdf2.c:116,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/kdf/pbkdf2.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/openssl/demos/kdf/pbkdf2.c
    functionUses: 7
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - OSSL_LIB_CTX_new
    - CRYPTO_memcmp
    - fprintf
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/kdf/hkdf.c:53,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/hkdf.c:55,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/demos/kdf/hkdf.c:60,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/hkdf.c:62,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/demos/kdf/hkdf.c:67,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/hkdf.c:69,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/kdf/hkdf.c:74,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/hkdf.c:77,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/hkdf.c:80,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/hkdf.c:83,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/kdf/hkdf.c:85,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/demos/kdf/hkdf.c:88,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/hkdf.c:89,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/kdf/hkdf.c:93,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/hkdf.c:94,1
    - Dst: printf
      Src: /src/openssl/demos/kdf/hkdf.c:98,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/demos/kdf/hkdf.c:102,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/demos/kdf/hkdf.c:103,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/kdf/hkdf.c:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/openssl/demos/kdf/hkdf.c
    functionUses: 7
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - OSSL_LIB_CTX_new
    - CRYPTO_memcmp
    - fprintf
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/kdf/scrypt.c:69,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/scrypt.c:71,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/demos/kdf/scrypt.c:76,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/scrypt.c:78,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/demos/kdf/scrypt.c:83,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/scrypt.c:85,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/scrypt.c:90,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/kdf/scrypt.c:93,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/kdf/scrypt.c:96,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/kdf/scrypt.c:98,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/kdf/scrypt.c:100,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/kdf/scrypt.c:101,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/demos/kdf/scrypt.c:104,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/scrypt.c:105,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/kdf/scrypt.c:109,1
    - Dst: fprintf
      Src: /src/openssl/demos/kdf/scrypt.c:110,1
    - Dst: printf
      Src: /src/openssl/demos/kdf/scrypt.c:114,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/demos/kdf/scrypt.c:118,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/demos/kdf/scrypt.c:119,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/kdf/scrypt.c:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 60
    functionDepth: 5
    functionLinenumber: 60
    functionLinenumberEnd: 122
    functionName: main
    functionSourceFile: /src/openssl/demos/kdf/scrypt.c
    functionUses: 7
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_uint
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - OSSL_LIB_CTX_free
    - EVP_KDF_free
    - OSSL_LIB_CTX_new
    - CRYPTO_memcmp
    - fprintf
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/mac/siphash.c:56,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/siphash.c:58,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/demos/mac/siphash.c:63,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/siphash.c:65,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/demos/mac/siphash.c:70,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/siphash.c:72,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/mac/siphash.c:77,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/mac/siphash.c:84,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/mac/siphash.c:85,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/mac/siphash.c:87,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/demos/mac/siphash.c:90,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/siphash.c:91,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/demos/mac/siphash.c:96,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/siphash.c:97,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/siphash.c:102,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/siphash.c:103,1
    - Dst: printf
      Src: /src/openssl/demos/mac/siphash.c:107,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/mac/siphash.c:108,1
    - Dst: putchar
      Src: /src/openssl/demos/mac/siphash.c:109,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/siphash.c:112,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/mac/siphash.c:116,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/siphash.c:117,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/demos/mac/siphash.c:123,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/demos/mac/siphash.c:124,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/mac/siphash.c:125,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/mac/siphash.c:127,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 45
    functionDepth: 10
    functionLinenumber: 45
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/openssl/demos/mac/siphash.c
    functionUses: 7
    functionsReached:
    - EVP_MAC_CTX_new
    - OSSL_PARAM_construct_uint
    - EVP_MAC_CTX_free
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - EVP_MAC_init
    - printf
    - EVP_MAC_free
    - OSSL_LIB_CTX_new
    - EVP_MAC_final
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - fprintf
    - putchar
    - OSSL_PARAM_construct_end
    - EVP_MAC_fetch
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/mac/cmac-aes256.c:77,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:79,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/demos/mac/cmac-aes256.c:84,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:86,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/demos/mac/cmac-aes256.c:91,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:93,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/mac/cmac-aes256.c:98,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/mac/cmac-aes256.c:100,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/demos/mac/cmac-aes256.c:103,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:104,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/demos/mac/cmac-aes256.c:109,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:110,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/cmac-aes256.c:115,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:116,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/mac/cmac-aes256.c:119,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:121,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/cmac-aes256.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:126,1
    - Dst: printf
      Src: /src/openssl/demos/mac/cmac-aes256.c:130,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/mac/cmac-aes256.c:131,1
    - Dst: putchar
      Src: /src/openssl/demos/mac/cmac-aes256.c:132,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:135,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/mac/cmac-aes256.c:139,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/cmac-aes256.c:140,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/mac/cmac-aes256.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/mac/cmac-aes256.c:149,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/demos/mac/cmac-aes256.c:150,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/demos/mac/cmac-aes256.c:151,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/mac/cmac-aes256.c:152,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 66
    functionDepth: 10
    functionLinenumber: 66
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/openssl/demos/mac/cmac-aes256.c
    functionUses: 7
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_free
    - CRYPTO_memcmp
    - OPENSSL_free
    - EVP_MAC_update
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - OSSL_LIB_CTX_new
    - EVP_MAC_final
    - ERR_print_errors_fp
    - putchar
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - fprintf
    - EVP_MAC_fetch
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/mac/poly1305.c:97,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:99,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/demos/mac/poly1305.c:104,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:106,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/demos/mac/poly1305.c:111,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:113,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/demos/mac/poly1305.c:118,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:120,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/demos/mac/poly1305.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:127,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/demos/mac/poly1305.c:132,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:133,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/demos/mac/poly1305.c:144,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:145,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/demos/mac/poly1305.c:153,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:155,1
    - Dst: memcpy
      Src: /src/openssl/demos/mac/poly1305.c:165,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/demos/mac/poly1305.c:168,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:169,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/demos/mac/poly1305.c:174,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:175,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/poly1305.c:180,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:181,1
    - Dst: printf
      Src: /src/openssl/demos/mac/poly1305.c:185,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/mac/poly1305.c:186,1
    - Dst: putchar
      Src: /src/openssl/demos/mac/poly1305.c:187,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:190,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/mac/poly1305.c:194,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/poly1305.c:195,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/demos/mac/poly1305.c:201,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/demos/mac/poly1305.c:202,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/demos/mac/poly1305.c:203,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/demos/mac/poly1305.c:204,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/mac/poly1305.c:205,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/mac/poly1305.c:207,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 84
    functionDepth: 10
    functionLinenumber: 84
    functionLinenumberEnd: 209
    functionName: main
    functionSourceFile: /src/openssl/demos/mac/poly1305.c
    functionUses: 7
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_set_padding
    - memcpy
    - EVP_MAC_free
    - CRYPTO_memcmp
    - EVP_MAC_update
    - EVP_EncryptInit_ex
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - OSSL_LIB_CTX_new
    - EVP_MAC_final
    - EVP_CIPHER_free
    - ERR_print_errors_fp
    - putchar
    - EVP_CIPHER_fetch
    - EVP_CIPHER_CTX_new
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - fprintf
    - EVP_CIPHER_CTX_free
    - EVP_MAC_fetch
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/mac/gmac.c:68,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/gmac.c:70,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/demos/mac/gmac.c:75,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/gmac.c:77,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/demos/mac/gmac.c:82,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/gmac.c:84,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/mac/gmac.c:89,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/mac/gmac.c:97,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/mac/gmac.c:101,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/mac/gmac.c:103,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/demos/mac/gmac.c:106,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/gmac.c:107,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/demos/mac/gmac.c:112,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/gmac.c:113,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/gmac.c:118,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/gmac.c:119,1
    - Dst: printf
      Src: /src/openssl/demos/mac/gmac.c:123,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/mac/gmac.c:124,1
    - Dst: putchar
      Src: /src/openssl/demos/mac/gmac.c:125,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/gmac.c:128,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/mac/gmac.c:132,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/gmac.c:133,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/demos/mac/gmac.c:139,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/demos/mac/gmac.c:140,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/mac/gmac.c:141,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/mac/gmac.c:143,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 58
    functionDepth: 10
    functionLinenumber: 58
    functionLinenumberEnd: 145
    functionName: main
    functionSourceFile: /src/openssl/demos/mac/gmac.c
    functionUses: 7
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_CTX_free
    - OSSL_PARAM_construct_octet_string
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - printf
    - OSSL_LIB_CTX_new
    - EVP_MAC_free
    - EVP_MAC_final
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - fprintf
    - putchar
    - OSSL_PARAM_construct_end
    - EVP_MAC_fetch
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/demos/mac/hmac-sha512.c:88,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:90,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/demos/mac/hmac-sha512.c:95,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:97,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/demos/mac/hmac-sha512.c:102,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:104,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/mac/hmac-sha512.c:109,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/mac/hmac-sha512.c:111,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/demos/mac/hmac-sha512.c:114,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:115,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/demos/mac/hmac-sha512.c:120,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:121,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/hmac-sha512.c:126,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:127,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/mac/hmac-sha512.c:130,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:132,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/demos/mac/hmac-sha512.c:136,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:137,1
    - Dst: printf
      Src: /src/openssl/demos/mac/hmac-sha512.c:141,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/mac/hmac-sha512.c:142,1
    - Dst: putchar
      Src: /src/openssl/demos/mac/hmac-sha512.c:143,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:146,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/mac/hmac-sha512.c:150,1
    - Dst: fprintf
      Src: /src/openssl/demos/mac/hmac-sha512.c:151,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/mac/hmac-sha512.c:158,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:160,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:161,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:162,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:163,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/mac/hmac-sha512.c:164,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 76
    functionDepth: 10
    functionLinenumber: 76
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/openssl/demos/mac/hmac-sha512.c
    functionUses: 7
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_free
    - CRYPTO_memcmp
    - OPENSSL_free
    - EVP_MAC_update
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - OSSL_LIB_CTX_new
    - EVP_MAC_final
    - ERR_print_errors_fp
    - putchar
    - OSSL_PARAM_construct_end
    - OPENSSL_malloc
    - BIO_dump_indent_fp
    - OSSL_LIB_CTX_free
    - EVP_MD_CTX_free
    - fprintf
    - EVP_MAC_fetch
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:44,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:46,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:50,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:51,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:55,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:61,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:63,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:64,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:65,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:69,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:70,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:71,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 30
    functionDepth: 7
    functionLinenumber: 30
    functionLinenumberEnd: 77
    functionName: do_ec_keygen
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_int
    - EVP_PKEY_CTX_free
    - fprintf
    - OSSL_PARAM_construct_end
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *do_ec_keygen(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:94,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:97,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:101,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:104,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:108,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:109,1
    - Dst: BN_bn2bin
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:113,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:115,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:119,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:120,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:121,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:122,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:123,1
    - Dst: BN_clear_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 130
    functionName: get_key_values
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c
    functionUses: 0
    functionsReached:
    - BIO_dump_indent_fp
    - BN_clear_free
    - EVP_PKEY_get_utf8_string_param
    - fprintf
    - BN_bn2bin
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: int get_key_values(EVP_PKEY *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_ec_keygen
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:137,1
    - Dst: get_key_values
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:141,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:151,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 8
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_EC_keygen.c
    functionUses: 7
    functionsReached:
    - ERR_print_errors_fp
    - EVP_PKEY_free
    - do_ec_keygen
    - get_key_values
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:30,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:32,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:36,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:37,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:38,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 24
    functionDepth: 8
    functionLinenumber: 24
    functionLinenumberEnd: 44
    functionName: dsa_genparams
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - fprintf
    - EVP_PKEY_paramgen
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *dsa_genparams(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dsa_genparams
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:56,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:61,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:63,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:68,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:69,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:70,1
    - Dst: dsa_print_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:74,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:79,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:80,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 9
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_DSA_keygen.c
    functionUses: 7
    functionsReached:
    - dsa_genparams
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - EVP_PKEY_keygen
    - EVP_PKEY_keygen_init
    - dsa_print_key
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:68,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:69,1
    - Dst: OSSL_PARAM_merge
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:72,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:74,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:78,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:80,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:83,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:84,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:86,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:89,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:91,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:96,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:97,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:98,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:99,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - dsaparams
    - newparams
    - libctx
    - propq
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 101
    functionName: create_merged_key
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - OSSL_PARAM_merge
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - EVP_PKEY_todata
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *create_merged_key(EVP_PKEY *dsaparams, const OSSL_PARAM
      *newparams,\n                                       OSSL_LIB_CTX *libctx, const
      char *propq)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_hexstr2buf_ex
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:117,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:123,1
    - Dst: strlen
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:123,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:125,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:130,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:132,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:136,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:138,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:147,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:148,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:156,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:159,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:161,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:162,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:163,1
    - Dst: create_merged_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:166,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:170,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:171,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:180,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:182,1
    - Dst: create_merged_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:183,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:186,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:187,1
    - Dst: dsa_print_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:191,1
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:191,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:196,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:197,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:198,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:199,1
    - Dst: BIO_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c:200,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 103
    functionDepth: 9
    functionLinenumber: 103
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramvalidate.c
    functionUses: 7
    functionsReached:
    - create_merged_key
    - OSSL_PARAM_construct_octet_string
    - OSSL_PARAM_construct_end
    - EVP_PKEY_param_check
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_get0_pkey
    - BIO_free
    - OSSL_PARAM_construct_int
    - PEM_read_bio_Parameters_ex
    - OPENSSL_hexstr2buf_ex
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - fprintf
    - BIO_new_mem_buf
    - strlen
    - dsa_print_key
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:42,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:44,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:49,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:50,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:58,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:59,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_primes
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:71,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:72,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:86,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:87,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:88,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - libctx
    - bits
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 35
    functionDepth: 7
    functionLinenumber: 35
    functionLinenumberEnd: 97
    functionName: generate_rsa_key_long
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_keygen_primes
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - fprintf
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *generate_rsa_key_long(OSSL_LIB_CTX *libctx, unsigned int
      bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:112,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:113,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - bits
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 9
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: generate_rsa_key_short
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_Q_keygen
    - fprintf
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *generate_rsa_key_short(OSSL_LIB_CTX *libctx, unsigned int
      bits)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:137,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:138,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:146,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:147,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:155,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:156,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:164,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:165,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:177,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:178,1
    - Dst: EVP_PKEY_get_int_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:185,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:186,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:191,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:192,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:193,1
    - Dst: BN_print_fp
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:194,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:195,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:197,1
    - Dst: BN_print_fp
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:198,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:199,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:201,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:202,1
    - Dst: BN_print_fp
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:203,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:204,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:206,1
    - Dst: BN_print_fp
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:207,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:208,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:210,1
    - Dst: BN_print_fp
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:211,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:212,1
    - Dst: PEM_write_PUBKEY
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:215,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:216,1
    - Dst: PEM_write_PrivateKey
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:225,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:226,1
    - Dst: BN_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:232,1
    - Dst: BN_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:233,1
    - Dst: BN_clear_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:234,1
    - Dst: BN_clear_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:235,1
    - Dst: BN_clear_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:236,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 238
    functionName: dump_key
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c
    functionUses: 0
    functionsReached:
    - BN_print_fp
    - BN_clear_free
    - PEM_write_PrivateKey
    - PEM_write_PUBKEY
    - EVP_PKEY_get_int_param
    - fprintf
    - EVP_PKEY_get_bn_param
    - BN_free
    linkageType: ''
    returnType: int
    signature: int dump_key(const EVP_PKEY *pkey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:249,1
    - Dst: atoi
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:256,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:258,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:267,1
    - Dst: generate_rsa_key_short
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:271,1
    - Dst: generate_rsa_key_long
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:273,1
    - Dst: dump_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:279,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:280,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:286,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c:287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 240
    functionDepth: 10
    functionLinenumber: 240
    functionLinenumberEnd: 289
    functionName: main
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_RSA_keygen.c
    functionUses: 7
    functionsReached:
    - generate_rsa_key_long
    - atoi
    - OSSL_LIB_CTX_free
    - dump_key
    - EVP_PKEY_free
    - fprintf
    - strcmp
    - generate_rsa_key_short
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:31,1
    - Dst: BN_bin2bn
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:32,1
    - Dst: BN_bin2bn
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:33,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:38,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:41,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:42,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:43,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:45,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:49,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:51,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:55,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:56,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:57,1
    - Dst: dsa_print_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:61,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:66,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:67,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:68,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:69,1
    - Dst: BN_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:70,1
    - Dst: BN_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:71,1
    - Dst: BN_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c:72,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 20
    functionDepth: 6
    functionLinenumber: 20
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramfromdata.c
    functionUses: 7
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - dsa_print_key
    - EVP_PKEY_CTX_free
    - fprintf
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:30,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:39,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:41,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:42,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:43,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:44,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:46,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:48,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:51,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:52,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:53,1
    - Dst: fprintf
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:54,1
    - Dst: dsa_print_key
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:58,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:63,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 18
    functionDepth: 8
    functionLinenumber: 18
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/openssl/demos/pkey/EVP_PKEY_DSA_paramgen.c
    functionUses: 7
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_construct_int
    - dsa_print_key
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - fprintf
    - OSSL_PARAM_construct_end
    - EVP_PKEY_paramgen
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/demos/keyexch/ecdh.c:50,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/keyexch/ecdh.c:56,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/keyexch/ecdh.c:59,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/demos/keyexch/ecdh.c:61,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/keyexch/ecdh.c:63,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/demos/keyexch/ecdh.c:64,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/demos/keyexch/ecdh.c:65,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/keyexch/ecdh.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - peer
    - libctx
    argTypes:
    - PEER_DATA*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 69
    functionName: get_peer_public_key
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_PKEY_fromdata
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: int get_peer_public_key(PEER_DATA *peer, OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/demos/keyexch/ecdh.c:77,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/demos/keyexch/ecdh.c:79,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/demos/keyexch/ecdh.c:81,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/demos/keyexch/ecdh.c:85,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/demos/keyexch/ecdh.c:86,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/demos/keyexch/ecdh.c:87,1
    - Dst: get_peer_public_key
      Src: /src/openssl/demos/keyexch/ecdh.c:88,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/ecdh.c:89,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/keyexch/ecdh.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - peer
    - libctx
    argTypes:
    - PEER_DATA*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 7
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: create_peer
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_keygen_init
    - get_peer_public_key
    linkageType: ''
    returnType: int
    signature: int create_peer(PEER_DATA *peer, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/ecdh.c:101,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/ecdh.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - peer
    argTypes:
    - PEER_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: destroy_peer
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void destroy_peer(PEER_DATA *peer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/keyexch/ecdh.c:113,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/demos/keyexch/ecdh.c:117,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:120,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/demos/keyexch/ecdh.c:149,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/keyexch/ecdh.c:151,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/demos/keyexch/ecdh.c:160,1
    - Dst: printf
      Src: /src/openssl/demos/keyexch/ecdh.c:165,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/keyexch/ecdh.c:166,1
    - Dst: putchar
      Src: /src/openssl/demos/keyexch/ecdh.c:167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/demos/keyexch/ecdh.c:171,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/keyexch/ecdh.c:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - peerA
    - peerBpub
    - libctx
    argTypes:
    - PEER_DATA*
    - EVP_PKEY*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 174
    functionName: generate_secret
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 1
    functionsReached:
    - BIO_dump_indent_fp
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - putchar
    - printf
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int generate_secret(PEER_DATA *peerA, EVP_PKEY *peerBpub,\n                           OSSL_LIB_CTX
      *libctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:189,1
    - Dst: create_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:190,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/ecdh.c:191,1
    - Dst: generate_secret
      Src: /src/openssl/demos/keyexch/ecdh.c:199,1
    - Dst: generate_secret
      Src: /src/openssl/demos/keyexch/ecdh.c:200,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/ecdh.c:201,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/keyexch/ecdh.c:207,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/ecdh.c:208,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/ecdh.c:211,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/keyexch/ecdh.c:217,1
    - Dst: destroy_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:218,1
    - Dst: destroy_peer
      Src: /src/openssl/demos/keyexch/ecdh.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 176
    functionDepth: 7
    functionLinenumber: 176
    functionLinenumberEnd: 221
    functionName: main
    functionSourceFile: /src/openssl/demos/keyexch/ecdh.c
    functionUses: 7
    functionsReached:
    - generate_secret
    - CRYPTO_memcmp
    - ERR_print_errors_fp
    - fprintf
    - create_peer
    - destroy_peer
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/demos/keyexch/x25519.c:74,1
    - Dst: EVP_PKEY_Q_keygen
      Src: /src/openssl/demos/keyexch/x25519.c:78,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:81,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/demos/keyexch/x25519.c:86,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:91,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:97,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/x25519.c:105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - libctx
    - kat_privk_data
    - local_peer
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - PEER_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 63
    functionDepth: 9
    functionLinenumber: 63
    functionLinenumberEnd: 110
    functionName: keyexch_x25519_before
    functionSourceFile: /src/openssl/demos/keyexch/x25519.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_PKEY_free
    - EVP_PKEY_Q_keygen
    - fprintf
    - EVP_PKEY_get_octet_string_param
    linkageType: ''
    returnType: int
    signature: "int keyexch_x25519_before(\n    OSSL_LIB_CTX *libctx,\n    const unsigned
      char *kat_privk_data,\n    PEER_DATA *local_peer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/demos/keyexch/x25519.c:131,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:134,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/demos/keyexch/x25519.c:139,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:141,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/demos/keyexch/x25519.c:146,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:147,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/demos/keyexch/x25519.c:152,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:153,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/demos/keyexch/x25519.c:158,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:159,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:169,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/demos/keyexch/x25519.c:174,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:176,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/demos/keyexch/x25519.c:181,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:183,1
    - Dst: printf
      Src: /src/openssl/demos/keyexch/x25519.c:187,1
    - Dst: BIO_dump_indent_fp
      Src: /src/openssl/demos/keyexch/x25519.c:188,1
    - Dst: putchar
      Src: /src/openssl/demos/keyexch/x25519.c:189,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/demos/keyexch/x25519.c:193,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/x25519.c:194,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/demos/keyexch/x25519.c:196,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 4
    argNames:
    - libctx
    - use_kat
    - local_peer
    - remote_peer_pubk_data
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - PEER_DATA*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 117
    functionDepth: 7
    functionLinenumber: 117
    functionLinenumberEnd: 201
    functionName: keyexch_x25519_after
    functionSourceFile: /src/openssl/demos/keyexch/x25519.c
    functionUses: 0
    functionsReached:
    - BIO_dump_indent_fp
    - EVP_PKEY_derive_init
    - EVP_PKEY_new_raw_public_key_ex
    - OPENSSL_clear_free
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - putchar
    - printf
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int keyexch_x25519_after(\n    OSSL_LIB_CTX *libctx,\n    int use_kat,\n
      \   PEER_DATA *local_peer,\n    const unsigned char *remote_peer_pubk_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: keyexch_x25519_before
      Src: /src/openssl/demos/keyexch/x25519.c:214,1
    - Dst: keyexch_x25519_before
      Src: /src/openssl/demos/keyexch/x25519.c:218,1
    - Dst: keyexch_x25519_after
      Src: /src/openssl/demos/keyexch/x25519.c:227,1
    - Dst: keyexch_x25519_after
      Src: /src/openssl/demos/keyexch/x25519.c:230,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/keyexch/x25519.c:241,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:242,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/demos/keyexch/x25519.c:247,1
    - Dst: fprintf
      Src: /src/openssl/demos/keyexch/x25519.c:249,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/demos/keyexch/x25519.c:256,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/demos/keyexch/x25519.c:257,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/x25519.c:259,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/demos/keyexch/x25519.c:260,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/demos/keyexch/x25519.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - use_kat
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 203
    functionDepth: 10
    functionLinenumber: 203
    functionLinenumberEnd: 263
    functionName: keyexch_x25519
    functionSourceFile: /src/openssl/demos/keyexch/x25519.c
    functionUses: 0
    functionsReached:
    - keyexch_x25519_before
    - OSSL_LIB_CTX_free
    - OPENSSL_clear_free
    - CRYPTO_memcmp
    - EVP_PKEY_free
    - fprintf
    - keyexch_x25519_after
    linkageType: ''
    returnType: int
    signature: int keyexch_x25519(int use_kat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/keyexch/x25519.c:268,1
    - Dst: keyexch_x25519
      Src: /src/openssl/demos/keyexch/x25519.c:269,1
    - Dst: printf
      Src: /src/openssl/demos/keyexch/x25519.c:273,1
    - Dst: keyexch_x25519
      Src: /src/openssl/demos/keyexch/x25519.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 265
    functionDepth: 11
    functionLinenumber: 265
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/openssl/demos/keyexch/x25519.c
    functionUses: 7
    functionsReached:
    - keyexch_x25519
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: closesocket
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/openssl/demos/sslecho/main.c:47,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:49,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:50,1
    - Dst: htons
      Src: /src/openssl/demos/sslecho/main.c:55,1
    - Dst: setsockopt
      Src: /src/openssl/demos/sslecho/main.c:59,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:61,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:62,1
    - Dst: bind
      Src: /src/openssl/demos/sslecho/main.c:65,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:66,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:67,1
    - Dst: listen
      Src: /src/openssl/demos/sslecho/main.c:70,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:71,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - isServer
    argTypes:
    - flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: create_socket
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 6
    functionsReached:
    - perror
    - bind
    - exit
    - setsockopt
    - socket
    - listen
    - htons
    linkageType: ''
    returnType: SOCKET
    signature: SOCKET create_socket(flag isServer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/demos/sslecho/main.c:85,1
    - Dst: TLS_client_method
      Src: /src/openssl/demos/sslecho/main.c:87,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/demos/sslecho/main.c:89,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:91,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:92,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - isServer
    argTypes:
    - flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 7
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: create_context
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 0
    functionsReached:
    - perror
    - exit
    - SSL_CTX_new
    - ERR_print_errors_fp
    - TLS_server_method
    - TLS_client_method
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *create_context(flag isServer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/demos/sslecho/main.c:102,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:103,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:104,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/demos/sslecho/main.c:107,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:108,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 7
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: configure_server_context
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 0
    functionsReached:
    - ERR_print_errors_fp
    - SSL_CTX_use_certificate_chain_file
    - exit
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: void
    signature: void configure_server_context(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/demos/sslecho/main.c:119,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/openssl/demos/sslecho/main.c:125,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:126,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 7
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: configure_client_context
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_verify
    - ERR_print_errors_fp
    - SSL_CTX_load_verify_locations
    - exit
    linkageType: ''
    returnType: void
    signature: void configure_client_context(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:133,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:134,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:135,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:136,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: usage
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 9
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/demos/sslecho/main.c:171,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:175,1
    - Dst: usage
      Src: /src/openssl/demos/sslecho/main.c:180,1
    - Dst: usage
      Src: /src/openssl/demos/sslecho/main.c:187,1
    - Dst: create_context
      Src: /src/openssl/demos/sslecho/main.c:194,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:199,1
    - Dst: configure_server_context
      Src: /src/openssl/demos/sslecho/main.c:202,1
    - Dst: create_socket
      Src: /src/openssl/demos/sslecho/main.c:205,1
    - Dst: accept
      Src: /src/openssl/demos/sslecho/main.c:214,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:217,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:218,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:221,1
    - Dst: SSL_new
      Src: /src/openssl/demos/sslecho/main.c:224,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/sslecho/main.c:225,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:226,1
    - Dst: exit
      Src: /src/openssl/demos/sslecho/main.c:227,1
    - Dst: SSL_accept
      Src: /src/openssl/demos/sslecho/main.c:231,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:232,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:236,1
    - Dst: SSL_read
      Src: /src/openssl/demos/sslecho/main.c:241,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:243,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:245,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:247,1
    - Dst: strcmp
      Src: /src/openssl/demos/sslecho/main.c:253,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:255,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:260,1
    - Dst: SSL_write
      Src: /src/openssl/demos/sslecho/main.c:262,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:263,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/sslecho/main.c:269,1
    - Dst: SSL_free
      Src: /src/openssl/demos/sslecho/main.c:270,1
    - Dst: closesocket
      Src: /src/openssl/demos/sslecho/main.c:271,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:279,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:284,1
    - Dst: configure_client_context
      Src: /src/openssl/demos/sslecho/main.c:287,1
    - Dst: create_socket
      Src: /src/openssl/demos/sslecho/main.c:290,1
    - Dst: inet_pton
      Src: /src/openssl/demos/sslecho/main.c:293,1
    - Dst: htons
      Src: /src/openssl/demos/sslecho/main.c:294,1
    - Dst: connect
      Src: /src/openssl/demos/sslecho/main.c:296,1
    - Dst: perror
      Src: /src/openssl/demos/sslecho/main.c:297,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:300,1
    - Dst: SSL_new
      Src: /src/openssl/demos/sslecho/main.c:304,1
    - Dst: SSL_set_fd
      Src: /src/openssl/demos/sslecho/main.c:305,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:306,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/demos/sslecho/main.c:310,1
    - Dst: SSL_set1_host
      Src: /src/openssl/demos/sslecho/main.c:312,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:313,1
    - Dst: SSL_connect
      Src: /src/openssl/demos/sslecho/main.c:318,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:320,1
    - Dst: memset
      Src: /src/openssl/demos/sslecho/main.c:325,1
    - Dst: fgets
      Src: /src/openssl/demos/sslecho/main.c:326,1
    - Dst: SSL_write
      Src: /src/openssl/demos/sslecho/main.c:337,1
    - Dst: strlen
      Src: /src/openssl/demos/sslecho/main.c:337,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:338,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:339,1
    - Dst: SSL_read
      Src: /src/openssl/demos/sslecho/main.c:344,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:346,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:347,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:352,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:355,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:358,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/demos/sslecho/main.c:360,1
    - Dst: SSL_shutdown
      Src: /src/openssl/demos/sslecho/main.c:366,1
    - Dst: SSL_free
      Src: /src/openssl/demos/sslecho/main.c:367,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/demos/sslecho/main.c:369,1
    - Dst: closesocket
      Src: /src/openssl/demos/sslecho/main.c:372,1
    - Dst: closesocket
      Src: /src/openssl/demos/sslecho/main.c:374,1
    - Dst: printf
      Src: /src/openssl/demos/sslecho/main.c:376,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 136
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 141
    functionDepth: 8
    functionLinenumber: 141
    functionLinenumberEnd: 379
    functionName: main
    functionSourceFile: /src/openssl/demos/sslecho/main.c
    functionUses: 7
    functionsReached:
    - configure_client_context
    - configure_server_context
    - inet_pton
    - fgets
    - strcmp
    - strlen
    - signal
    - SSL_CTX_free
    - SSL_read
    - SSL_set_tlsext_host_name
    - ERR_print_errors_fp
    - usage
    - accept
    - create_socket
    - perror
    - SSL_free
    - create_context
    - SSL_new
    - SSL_shutdown
    - exit
    - memset
    - closesocket
    - SSL_accept
    - SSL_connect
    - SSL_write
    - htons
    - SSL_set1_host
    - connect
    - printf
    - SSL_set_fd
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/apps/ecparam.c:71,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ecparam.c:73,1
    - Dst: EC_get_builtin_curves
      Src: /src/openssl/apps/ecparam.c:74,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/ecparam.c:78,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:85,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ecparam.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - out
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: list_builtin_curves
    functionSourceFile: /src/openssl/apps/ecparam.c
    functionUses: 0
    functionsReached:
    - EC_get_builtin_curves
    - OBJ_nid2sn
    - OPENSSL_free
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int list_builtin_curves(BIO *out)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/ecparam.c:110,1
    - Dst: opt_next
      Src: /src/openssl/apps/ecparam.c:111,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:116,1
    - Dst: opt_help
      Src: /src/openssl/apps/ecparam.c:119,1
    - Dst: opt_format
      Src: /src/openssl/apps/ecparam.c:123,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:123,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:127,1
    - Dst: opt_format
      Src: /src/openssl/apps/ecparam.c:130,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:130,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:134,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:155,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:158,1
    - Dst: opt_string
      Src: /src/openssl/apps/ecparam.c:159,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:163,1
    - Dst: opt_string
      Src: /src/openssl/apps/ecparam.c:164,1
    - Dst: opt_rand
      Src: /src/openssl/apps/ecparam.c:171,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ecparam.c:175,1
    - Dst: setup_engine
      Src: /src/openssl/apps/ecparam.c:179,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ecparam.c:179,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ecparam.c:185,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/ecparam.c:188,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/ecparam.c:192,1
    - Dst: list_builtin_curves
      Src: /src/openssl/apps/ecparam.c:196,1
    - Dst: strcmp
      Src: /src/openssl/apps/ecparam.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:208,1
    - Dst: strcmp
      Src: /src/openssl/apps/ecparam.c:211,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:212,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/ecparam.c:216,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/ecparam.c:219,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/ecparam.c:222,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/ecparam.c:225,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/ecparam.c:227,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/ecparam.c:228,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ecparam.c:228,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ecparam.c:229,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/ecparam.c:231,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ecparam.c:231,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ecparam.c:232,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/ecparam.c:234,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/apps/ecparam.c:235,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/ecparam.c:236,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:237,1
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/ecparam.c:241,1
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/ecparam.c:244,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:248,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ecparam.c:253,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:256,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ecparam.c:261,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:263,1
    - Dst: EVP_PKEY_set_octet_string_param
      Src: /src/openssl/apps/ecparam.c:269,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:271,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/ecparam.c:275,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/ecparam.c:280,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:281,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:286,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ecparam.c:289,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:292,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/ecparam.c:295,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ecparam.c:295,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ecparam.c:296,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/apps/ecparam.c:297,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:298,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:301,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/ecparam.c:308,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/ecparam.c:311,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:312,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/ecparam.c:326,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ecparam.c:326,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ecparam.c:327,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/ecparam.c:328,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/ecparam.c:329,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:330,1
    - Dst: assert
      Src: /src/openssl/apps/ecparam.c:333,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/ecparam.c:334,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/ecparam.c:337,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ecparam.c:338,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ecparam.c:347,1
    - Dst: release_engine
      Src: /src/openssl/apps/ecparam.c:348,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ecparam.c:349,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ecparam.c:350,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/ecparam.c:351,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/ecparam.c:352,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/ecparam.c:353,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/apps/ecparam.c:354,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/ecparam.c:355,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/ecparam.c:356,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ecparam.c:357,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 213
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/openssl/apps/ecparam.c
    constantsTouched: []
    func_position:
      end: 359
      start: 92
    functionDepth: 11
    functionLinenumber: 92
    functionLinenumberEnd: 359
    functionName: ecparam_main
    functionSourceFile: /src/openssl/apps/ecparam.c
    functionUses: 0
    functionsReached:
    - load_keyparams_suppress
    - OPENSSL_strcasecmp
    - opt_rand
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_param_check
    - opt_check_rest_arg
    - EVP_PKEY_keygen
    - strcmp
    - EVP_PKEY_keygen_init
    - EVP_PKEY_set_utf8_string_param
    - assert
    - app_RAND_load
    - OSSL_PARAM_construct_utf8_string
    - OSSL_ENCODER_CTX_new_for_pkey
    - app_get0_propq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BIO_free_all
    - OSSL_PARAM_construct_end
    - BIO_printf
    - OSSL_DECODER_CTX_free
    - opt_provider
    - setup_engine
    - bio_open_owner
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_ENCODER_CTX_free
    - list_builtin_curves
    - opt_arg
    - EVP_PKEY_print_params
    - OSSL_ENCODER_to_bio
    - opt_help
    - opt_next
    - opt_init
    - opt_format
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_set_octet_string_param
    - app_get0_libctx
    - ERR_print_errors
    - release_engine
    - opt_string
    linkageType: ''
    returnType: int
    signature: int ecparam_main(int argc, char **argv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/skeyutl.c:45,1
    - Dst: opt_init
      Src: /src/openssl/apps/skeyutl.c:50,1
    - Dst: opt_next
      Src: /src/openssl/apps/skeyutl.c:51,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:56,1
    - Dst: opt_help
      Src: /src/openssl/apps/skeyutl.c:59,1
    - Dst: opt_arg
      Src: /src/openssl/apps/skeyutl.c:66,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/skeyutl.c:70,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/skeyutl.c:71,1
    - Dst: opt_arg
      Src: /src/openssl/apps/skeyutl.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:72,1
    - Dst: opt_arg
      Src: /src/openssl/apps/skeyutl.c:77,1
    - Dst: opt_provider
      Src: /src/openssl/apps/skeyutl.c:80,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/skeyutl.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:91,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/apps/skeyutl.c:98,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/skeyutl.c:98,1
    - Dst: EVP_CIPHER_name
      Src: /src/openssl/apps/skeyutl.c:99,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/skeyutl.c:100,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/skeyutl.c:103,1
    - Dst: EVP_SKEYMGMT_get0_gen_settable_params
      Src: /src/openssl/apps/skeyutl.c:104,1
    - Dst: EVP_SKEY_generate
      Src: /src/openssl/apps/skeyutl.c:106,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/skeyutl.c:106,1
    - Dst: EVP_CIPHER_name
      Src: /src/openssl/apps/skeyutl.c:107,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/skeyutl.c:108,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/apps/skeyutl.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:111,1
    - Dst: EVP_CIPHER_name
      Src: /src/openssl/apps/skeyutl.c:112,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/skeyutl.c:113,1
    - Dst: EVP_SKEY_get0_key_id
      Src: /src/openssl/apps/skeyutl.c:115,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:117,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:119,1
    - Dst: EVP_SKEY_get0_provider_name
      Src: /src/openssl/apps/skeyutl.c:119,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:120,1
    - Dst: EVP_SKEY_get0_skeymgmt_name
      Src: /src/openssl/apps/skeyutl.c:120,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/skeyutl.c:125,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/skeyutl.c:129,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/skeyutl.c:130,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/apps/skeyutl.c:131,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/apps/skeyutl.c:132,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/skeyutl.c:133,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 135
    functionName: skeyutl_main
    functionSourceFile: /src/openssl/apps/skeyutl.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - OSSL_PARAM_free
    - EVP_SKEYMGMT_fetch
    - EVP_SKEYMGMT_get0_gen_settable_params
    - app_params_new_from_opts
    - app_get0_propq
    - EVP_SKEY_free
    - EVP_SKEYMGMT_free
    - EVP_CIPHER_free
    - BIO_printf
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - EVP_CIPHER_name
    - opt_cipher_any
    - EVP_SKEY_generate
    - STACK_OF
    - EVP_SKEY_get0_provider_name
    - sk_OPENSSL_STRING_free
    - opt_arg
    - EVP_SKEY_get0_skeymgmt_name
    - opt_help
    - opt_next
    - opt_init
    - EVP_SKEY_get0_key_id
    - app_get0_libctx
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: int skeyutl_main(int argc, char **argv)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/verify.c:82,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/verify.c:83,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/verify.c:84,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/verify.c:92,1
    - Dst: opt_init
      Src: /src/openssl/apps/verify.c:95,1
    - Dst: opt_next
      Src: /src/openssl/apps/verify.c:96,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:101,1
    - Dst: opt_help
      Src: /src/openssl/apps/verify.c:104,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:105,1
    - Dst: X509_PURPOSE_get_count
      Src: /src/openssl/apps/verify.c:106,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/apps/verify.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:109,1
    - Dst: X509_PURPOSE_get0_sname
      Src: /src/openssl/apps/verify.c:110,1
    - Dst: X509_PURPOSE_get0_name
      Src: /src/openssl/apps/verify.c:111,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:114,1
    - Dst: X509_VERIFY_PARAM_get_count
      Src: /src/openssl/apps/verify.c:115,1
    - Dst: X509_VERIFY_PARAM_get0
      Src: /src/openssl/apps/verify.c:116,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:118,1
    - Dst: X509_VERIFY_PARAM_get0_name
      Src: /src/openssl/apps/verify.c:119,1
    - Dst: opt_verify
      Src: /src/openssl/apps/verify.c:124,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:129,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:132,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:135,1
    - Dst: load_certs
      Src: /src/openssl/apps/verify.c:148,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:148,1
    - Dst: load_certs
      Src: /src/openssl/apps/verify.c:157,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:157,1
    - Dst: load_crls
      Src: /src/openssl/apps/verify.c:162,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:162,1
    - Dst: setup_engine
      Src: /src/openssl/apps/verify.c:169,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:169,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/verify.c:178,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:178,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/verify.c:183,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/verify.c:184,1
    - Dst: opt_arg
      Src: /src/openssl/apps/verify.c:184,1
    - Dst: opt_provider
      Src: /src/openssl/apps/verify.c:191,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/verify.c:198,1
    - Dst: opt_rest
      Src: /src/openssl/apps/verify.c:199,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:203,1
    - Dst: setup_verify
      Src: /src/openssl/apps/verify.c:209,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/verify.c:212,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/verify.c:215,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/verify.c:217,1
    - Dst: store_setup_crl_download
      Src: /src/openssl/apps/verify.c:220,1
    - Dst: check
      Src: /src/openssl/apps/verify.c:224,1
    - Dst: check
      Src: /src/openssl/apps/verify.c:229,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/verify.c:235,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/verify.c:236,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/verify.c:237,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/verify.c:238,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/verify.c:239,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/verify.c:240,1
    - Dst: release_engine
      Src: /src/openssl/apps/verify.c:241,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 141
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 243
    functionName: verify_main
    functionSourceFile: /src/openssl/apps/verify.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - sk_X509_CRL_pop_free
    - X509_PURPOSE_get0_sname
    - X509_STORE_free
    - X509_VERIFY_PARAM_get0_name
    - set_nameopt
    - ERR_clear_error
    - X509_STORE_set1_param
    - X509_VERIFY_PARAM_new
    - OSSL_STACK_OF_X509_free
    - opt_verify
    - opt_rest
    - BIO_printf
    - X509_STORE_set_verify_cb
    - X509_VERIFY_PARAM_free
    - X509_VERIFY_PARAM_get_count
    - opt_provider
    - load_crls
    - sk_OPENSSL_STRING_new_null
    - load_certs
    - setup_engine
    - X509_VERIFY_PARAM_get0
    - STACK_OF
    - setup_verify
    - sk_OPENSSL_STRING_free
    - opt_arg
    - X509_PURPOSE_get0
    - opt_num_rest
    - opt_help
    - opt_next
    - opt_init
    - X509_PURPOSE_get0_name
    - check
    - release_engine
    - store_setup_crl_download
    - X509_PURPOSE_get_count
    linkageType: ''
    returnType: int
    signature: int verify_main(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/verify.c:253,1
    - Dst: load_cert
      Src: /src/openssl/apps/verify.c:256,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/verify.c:261,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/verify.c:262,1
    - Dst: x509_ctrl_string
      Src: /src/openssl/apps/verify.c:263,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:264,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/verify.c:265,1
    - Dst: X509_free
      Src: /src/openssl/apps/verify.c:266,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/apps/verify.c:272,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:274,1
    - Dst: X509_STORE_set_flags
      Src: /src/openssl/apps/verify.c:279,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/verify.c:280,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/verify.c:281,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:282,1
    - Dst: X509_STORE_CTX_set0_trusted_stack
      Src: /src/openssl/apps/verify.c:288,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/openssl/apps/verify.c:290,1
    - Dst: X509_verify_cert
      Src: /src/openssl/apps/verify.c:291,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/apps/verify.c:292,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:293,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/openssl/apps/verify.c:298,1
    - Dst: X509_STORE_CTX_get_num_untrusted
      Src: /src/openssl/apps/verify.c:299,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:300,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/verify.c:301,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/verify.c:302,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:303,1
    - Dst: X509_NAME_print_ex_fp
      Src: /src/openssl/apps/verify.c:304,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/verify.c:305,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/verify.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:308,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:309,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/verify.c:311,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:314,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/verify.c:318,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/verify.c:322,1
    - Dst: X509_free
      Src: /src/openssl/apps/verify.c:323,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 7
    argNames:
    - ctx
    - file
    - uchain
    - tchain
    - crls
    - show_chain
    - opts
    argTypes:
    - X509_STORE*
    - char*
    - STACK_OF*
    - STACK_OF*
    - STACK_OF*
    - int
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 245
    functionDepth: 7
    functionLinenumber: 245
    functionLinenumberEnd: 326
    functionName: check
    functionSourceFile: /src/openssl/apps/verify.c
    functionUses: 118
    functionsReached:
    - X509_STORE_CTX_new
    - load_cert
    - X509_STORE_CTX_set0_crls
    - X509_free
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_get_num_untrusted
    - sk_X509_num
    - sk_X509_value
    - OSSL_STACK_OF_X509_free
    - X509_STORE_set_flags
    - BIO_printf
    - get_nameopt
    - X509_NAME_print_ex_fp
    - STACK_OF
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_num
    - X509_STORE_CTX_free
    - x509_ctrl_string
    - X509_get_subject_name
    - X509_STORE_CTX_get1_chain
    - X509_STORE_CTX_set0_trusted_stack
    - ERR_print_errors
    - X509_verify_cert
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: "int check(X509_STORE *ctx, const char *file,\n                 STACK_OF(X509)
      *uchain, STACK_OF(X509) *tchain,\n                 STACK_OF(X509_CRL) *crls,
      int show_chain,\n                 STACK_OF(OPENSSL_STRING) *opts)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/apps/verify.c:330,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/apps/verify.c:331,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/verify.c:335,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/verify.c:336,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/verify.c:337,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:338,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/verify.c:340,1
    - Dst: X509_STORE_CTX_get0_parent_ctx
      Src: /src/openssl/apps/verify.c:341,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/apps/verify.c:343,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/verify.c:344,1
    - Dst: policies_print
      Src: /src/openssl/apps/verify.c:354,1
    - Dst: policies_print
      Src: /src/openssl/apps/verify.c:389,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/verify.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 328
    functionDepth: 7
    functionLinenumber: 328
    functionLinenumberEnd: 393
    functionName: cb
    functionSourceFile: /src/openssl/apps/verify.c
    functionUses: 303
    functionsReached:
    - X509_STORE_CTX_get_error_depth
    - get_nameopt
    - X509_NAME_print_ex
    - ERR_clear_error
    - X509_get_subject_name
    - policies_print
    - X509_STORE_CTX_get_current_cert
    - X509_STORE_CTX_get0_parent_ctx
    - X509_verify_cert_error_string
    - X509_STORE_CTX_get_error
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/gendsa.c:66,1
    - Dst: opt_init
      Src: /src/openssl/apps/gendsa.c:67,1
    - Dst: opt_next
      Src: /src/openssl/apps/gendsa.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/gendsa.c:73,1
    - Dst: opt_help
      Src: /src/openssl/apps/gendsa.c:77,1
    - Dst: opt_arg
      Src: /src/openssl/apps/gendsa.c:80,1
    - Dst: opt_arg
      Src: /src/openssl/apps/gendsa.c:83,1
    - Dst: setup_engine
      Src: /src/openssl/apps/gendsa.c:86,1
    - Dst: opt_arg
      Src: /src/openssl/apps/gendsa.c:86,1
    - Dst: opt_rand
      Src: /src/openssl/apps/gendsa.c:89,1
    - Dst: opt_provider
      Src: /src/openssl/apps/gendsa.c:93,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/gendsa.c:97,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/gendsa.c:109,1
    - Dst: opt_rest
      Src: /src/openssl/apps/gendsa.c:111,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/gendsa.c:114,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/gendsa.c:117,1
    - Dst: app_passwd
      Src: /src/openssl/apps/gendsa.c:121,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/gendsa.c:122,1
    - Dst: load_keyparams
      Src: /src/openssl/apps/gendsa.c:126,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/gendsa.c:128,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/gendsa.c:132,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/gendsa.c:134,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/gendsa.c:137,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/gendsa.c:139,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/gendsa.c:139,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/gendsa.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/gendsa.c:141,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/gendsa.c:144,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/gendsa.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/gendsa.c:147,1
    - Dst: app_keygen
      Src: /src/openssl/apps/gendsa.c:150,1
    - Dst: assert
      Src: /src/openssl/apps/gendsa.c:154,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/gendsa.c:155,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/gendsa.c:156,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/gendsa.c:162,1
    - Dst: BIO_free
      Src: /src/openssl/apps/gendsa.c:164,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/gendsa.c:165,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/gendsa.c:166,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/gendsa.c:167,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/gendsa.c:168,1
    - Dst: release_engine
      Src: /src/openssl/apps/gendsa.c:169,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/gendsa.c:170,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 110
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/openssl/apps/gendsa.c
    constantsTouched: []
    func_position:
      end: 172
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 172
    functionName: gendsa_main
    functionSourceFile: /src/openssl/apps/gendsa.c
    functionUses: 0
    functionsReached:
    - opt_rand
    - opt_check_rest_arg
    - OPENSSL_free
    - EVP_PKEY_keygen_init
    - assert
    - app_RAND_load
    - app_keygen
    - app_get0_propq
    - EVP_PKEY_free
    - BIO_free_all
    - opt_unknown
    - EVP_PKEY_CTX_free
    - EVP_CIPHER_free
    - opt_rest
    - BIO_printf
    - opt_provider
    - EVP_PKEY_get_bits
    - BIO_free
    - setup_engine
    - PEM_write_bio_PrivateKey
    - bio_open_owner
    - EVP_PKEY_CTX_new_from_pkey
    - opt_cipher
    - opt_arg
    - opt_help
    - opt_next
    - opt_init
    - app_passwd
    - load_keyparams
    - app_get0_libctx
    - opt_set_unknown_name
    - ERR_print_errors
    - release_engine
    linkageType: ''
    returnType: int
    signature: int gendsa_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_tminterval
      Src: /src/openssl/apps/s_time.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: tm_Time_F
    functionSourceFile: /src/openssl/apps/s_time.c
    functionUses: 0
    functionsReached:
    - app_tminterval
    linkageType: ''
    returnType: double
    signature: double tm_Time_F(int s)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: TLS_client_method
      Src: /src/openssl/apps/s_time.c:133,1
    - Dst: opt_init
      Src: /src/openssl/apps/s_time.c:135,1
    - Dst: opt_next
      Src: /src/openssl/apps/s_time.c:136,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:141,1
    - Dst: opt_help
      Src: /src/openssl/apps/s_time.c:144,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:148,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_time.c:157,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:158,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:162,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/s_time.c:165,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:165,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:169,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:172,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:175,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:184,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:190,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:193,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/s_time.c:199,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_time.c:202,1
    - Dst: strlen
      Src: /src/openssl/apps/s_time.c:203,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:205,1
    - Dst: opt_provider
      Src: /src/openssl/apps/s_time.c:230,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/s_time.c:237,1
    - Dst: getenv
      Src: /src/openssl/apps/s_time.c:241,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/apps/s_time.c:243,1
    - Dst: SSL_CTX_set_quiet_shutdown
      Src: /src/openssl/apps/s_time.c:246,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/s_time.c:247,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/s_time.c:249,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_time.c:253,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/apps/s_time.c:254,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/apps/s_time.c:256,1
    - Dst: set_cert_stuff
      Src: /src/openssl/apps/s_time.c:258,1
    - Dst: ctx_set_verify_locations
      Src: /src/openssl/apps/s_time.c:261,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_time.c:263,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:268,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:273,1
    - Dst: tm_Time_F
      Src: /src/openssl/apps/s_time.c:274,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:276,1
    - Dst: doConnection
      Src: /src/openssl/apps/s_time.c:279,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_time.c:283,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_time.c:285,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_time.c:287,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/apps/s_time.c:290,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_time.c:291,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_time.c:291,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_time.c:294,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_time.c:297,1
    - Dst: fputc
      Src: /src/openssl/apps/s_time.c:305,1
    - Dst: fflush
      Src: /src/openssl/apps/s_time.c:306,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_time.c:308,1
    - Dst: tm_Time_F
      Src: /src/openssl/apps/s_time.c:311,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:313,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:316,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:318,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:330,1
    - Dst: doConnection
      Src: /src/openssl/apps/s_time.c:333,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:334,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_time.c:339,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_time.c:340,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_time.c:342,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/apps/s_time.c:345,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_time.c:346,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_time.c:347,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:352,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:354,1
    - Dst: tm_Time_F
      Src: /src/openssl/apps/s_time.c:356,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:359,1
    - Dst: doConnection
      Src: /src/openssl/apps/s_time.c:362,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_time.c:366,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_time.c:368,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_time.c:370,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/apps/s_time.c:373,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_time.c:374,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_time.c:375,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_time.c:378,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_time.c:381,1
    - Dst: fputc
      Src: /src/openssl/apps/s_time.c:389,1
    - Dst: fflush
      Src: /src/openssl/apps/s_time.c:390,1
    - Dst: tm_Time_F
      Src: /src/openssl/apps/s_time.c:392,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:394,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:398,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:400,1
    - Dst: printf
      Src: /src/openssl/apps/s_time.c:402,1
    - Dst: time
      Src: /src/openssl/apps/s_time.c:403,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_time.c:407,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/s_time.c:408,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 252
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 410
    functionName: s_time_main
    functionSourceFile: /src/openssl/apps/s_time.c
    functionUses: 0
    functionsReached:
    - ctx_set_verify_locations
    - printf
    - opt_check_rest_arg
    - BIO_snprintf
    - SSL_CTX_new
    - fflush
    - strlen
    - set_nameopt
    - getenv
    - SSL_CTX_set_quiet_shutdown
    - SSL_CTX_free
    - SSL_CTX_set_options
    - SSL_read
    - opt_int_arg
    - SSL_CTX_set_max_proto_version
    - BIO_printf
    - time
    - doConnection
    - BIO_closesocket
    - opt_provider
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_set_cipher_list
    - SSL_version
    - SSL_get_fd
    - opt_arg
    - TLS_client_method
    - opt_help
    - opt_next
    - opt_init
    - tm_Time_F
    - set_cert_stuff
    - SSL_write
    - SSL_set_shutdown
    - ERR_print_errors
    - fputc
    - SSL_CTX_set_ciphersuites
    - SSL_session_reused
    linkageType: ''
    returnType: int
    signature: int s_time_main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/apps/s_time.c:421,1
    - Dst: BIO_s_connect
      Src: /src/openssl/apps/s_time.c:421,1
    - Dst: BIO_set_conn_hostname
      Src: /src/openssl/apps/s_time.c:424,1
    - Dst: BIO_set_conn_mode
      Src: /src/openssl/apps/s_time.c:425,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_time.c:426,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_time.c:431,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_time.c:433,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/s_time.c:438,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_time.c:441,1
    - Dst: SSL_connect
      Src: /src/openssl/apps/s_time.c:444,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:446,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_time.c:448,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/s_time.c:449,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_time.c:451,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_time.c:453,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_time.c:464,1
    - Dst: setsockopt
      Src: /src/openssl/apps/s_time.c:466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - scon
    - host
    - ctx
    argTypes:
    - SSL*
    - char*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 472
    functionName: doConnection
    functionSourceFile: /src/openssl/apps/s_time.c
    functionUses: 1
    functionsReached:
    - BIO_set_conn_hostname
    - BIO_new
    - SSL_set_connect_state
    - SSL_free
    - setsockopt
    - BIO_set_conn_mode
    - BIO_free
    - SSL_new
    - SSL_connect
    - X509_verify_cert_error_string
    - BIO_s_connect
    - SSL_get_fd
    - ERR_print_errors
    - SSL_set_bio
    - BIO_printf
    linkageType: ''
    returnType: SSL
    signature: SSL *doConnection(SSL *scon, const char *host, SSL_CTX *ctx)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/asn1parse.c:66,1
    - Dst: opt_init
      Src: /src/openssl/apps/asn1parse.c:80,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/asn1parse.c:82,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:83,1
    - Dst: opt_next
      Src: /src/openssl/apps/asn1parse.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:92,1
    - Dst: opt_help
      Src: /src/openssl/apps/asn1parse.c:95,1
    - Dst: opt_format
      Src: /src/openssl/apps/asn1parse.c:99,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:99,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:103,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:106,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:115,1
    - Dst: strtol
      Src: /src/openssl/apps/asn1parse.c:118,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:118,1
    - Dst: strtol
      Src: /src/openssl/apps/asn1parse.c:121,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:121,1
    - Dst: strtol
      Src: /src/openssl/apps/asn1parse.c:127,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:127,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/asn1parse.c:130,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:130,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:134,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:137,1
    - Dst: ASN1_ITEM_lookup
      Src: /src/openssl/apps/asn1parse.c:144,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:148,1
    - Dst: opt_arg
      Src: /src/openssl/apps/asn1parse.c:148,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/asn1parse.c:149,1
    - Dst: ASN1_ITEM_get
      Src: /src/openssl/apps/asn1parse.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:154,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/asn1parse.c:163,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/asn1parse.c:167,1
    - Dst: OBJ_create_objects
      Src: /src/openssl/apps/asn1parse.c:170,1
    - Dst: BIO_free
      Src: /src/openssl/apps/asn1parse.c:171,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/asn1parse.c:174,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/asn1parse.c:177,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/apps/asn1parse.c:180,1
    - Dst: PEM_read_bio
      Src: /src/openssl/apps/asn1parse.c:183,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:184,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:185,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/apps/asn1parse.c:191,1
    - Dst: do_generate
      Src: /src/openssl/apps/asn1parse.c:195,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:197,1
    - Dst: BIO_new
      Src: /src/openssl/apps/asn1parse.c:205,1
    - Dst: BIO_f_base64
      Src: /src/openssl/apps/asn1parse.c:205,1
    - Dst: BIO_push
      Src: /src/openssl/apps/asn1parse.c:207,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/apps/asn1parse.c:215,1
    - Dst: BIO_read
      Src: /src/openssl/apps/asn1parse.c:217,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/asn1parse.c:232,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/asn1parse.c:235,1
    - Dst: strtol
      Src: /src/openssl/apps/asn1parse.c:238,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/asn1parse.c:238,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:240,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/asn1parse.c:241,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/apps/asn1parse.c:248,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/asn1parse.c:249,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:251,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:252,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/apps/asn1parse.c:255,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:259,1
    - Dst: ASN1_tag2str
      Src: /src/openssl/apps/asn1parse.c:259,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:260,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:272,1
    - Dst: BIO_write
      Src: /src/openssl/apps/asn1parse.c:281,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:282,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:283,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/apps/asn1parse.c:291,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:293,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:294,1
    - Dst: ASN1_item_print
      Src: /src/openssl/apps/asn1parse.c:297,1
    - Dst: ASN1_item_free
      Src: /src/openssl/apps/asn1parse.c:298,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/apps/asn1parse.c:300,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:301,1
    - Dst: BIO_free
      Src: /src/openssl/apps/asn1parse.c:308,1
    - Dst: BIO_free
      Src: /src/openssl/apps/asn1parse.c:309,1
    - Dst: BIO_free
      Src: /src/openssl/apps/asn1parse.c:310,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/asn1parse.c:312,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/apps/asn1parse.c:313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/asn1parse.c:314,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/asn1parse.c:315,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/asn1parse.c:316,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/asn1parse.c:317,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 233
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 319
    functionName: asn1parse_main
    functionSourceFile: /src/openssl/apps/asn1parse.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - BUF_MEM_free
    - ASN1_ITEM_get
    - BIO_f_base64
    - ASN1_item_print
    - ASN1_item_free
    - opt_check_rest_arg
    - OPENSSL_free
    - ASN1_ITEM_lookup
    - BIO_write
    - BIO_new
    - ASN1_parse_dump
    - BIO_push
    - PEM_read_bio
    - BUF_MEM_new
    - BIO_read
    - BUF_MEM_grow
    - BIO_printf
    - ASN1_tag2str
    - d2i_ASN1_TYPE
    - sk_OPENSSL_STRING_new_null
    - BIO_puts
    - strtol
    - BIO_free
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_num
    - opt_arg
    - ASN1_TYPE_get
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - do_generate
    - opt_format
    - OBJ_create_objects
    - ASN1_item_d2i
    - ERR_print_errors
    - ASN1_TYPE_free
    linkageType: ''
    returnType: int
    signature: int asn1parse_main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: app_load_config
      Src: /src/openssl/apps/asn1parse.c:329,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/asn1parse.c:332,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/asn1parse.c:334,1
    - Dst: ASN1_generate_nconf
      Src: /src/openssl/apps/asn1parse.c:339,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/asn1parse.c:340,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/apps/asn1parse.c:346,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/apps/asn1parse.c:351,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/apps/asn1parse.c:356,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/asn1parse.c:358,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/asn1parse.c:362,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/asn1parse.c:363,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - genstr
    - genconf
    - buf
    argTypes:
    - char*
    - char*
    - BUF_MEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 365
    functionName: do_generate
    functionSourceFile: /src/openssl/apps/asn1parse.c
    functionUses: 1
    functionsReached:
    - ASN1_generate_nconf
    - app_load_config
    - NCONF_free
    - NCONF_get_string
    - i2d_ASN1_TYPE
    - ASN1_TYPE_free
    - BUF_MEM_grow
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int do_generate(char *genstr, const char *genconf, BUF_MEM *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/apps/req.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: ext_name_hash
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ext_name_hash(const OPENSSL_STRING *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_STRING*
    - OPENSSL_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: ext_name_cmp
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ext_name_cmp(const OPENSSL_STRING *a, const OPENSSL_STRING *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/req.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - OPENSSL_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: exts_cleanup
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void exts_cleanup(OPENSSL_STRING *x)
  - BBCount: 213
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/req.c:251,1
    - Dst: LHASH_OF
      Src: /src/openssl/apps/req.c:252,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/req.c:278,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/req.c:280,1
    - Dst: opt_init
      Src: /src/openssl/apps/req.c:281,1
    - Dst: opt_next
      Src: /src/openssl/apps/req.c:282,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:287,1
    - Dst: opt_help
      Src: /src/openssl/apps/req.c:290,1
    - Dst: opt_format
      Src: /src/openssl/apps/req.c:294,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:294,1
    - Dst: opt_format
      Src: /src/openssl/apps/req.c:298,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:298,1
    - Dst: setup_engine
      Src: /src/openssl/apps/req.c:302,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:302,1
    - Dst: setup_engine
      Src: /src/openssl/apps/req.c:306,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:308,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:314,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:326,1
    - Dst: opt_format
      Src: /src/openssl/apps/req.c:329,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:329,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:333,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:336,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:339,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:342,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:345,1
    - Dst: opt_rand
      Src: /src/openssl/apps/req.c:348,1
    - Dst: opt_provider
      Src: /src/openssl/apps/req.c:352,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:356,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/req.c:361,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/req.c:363,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:363,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/req.c:368,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/req.c:369,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:369,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/req.c:374,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/req.c:375,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:375,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/req.c:409,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:409,1
    - Dst: set_cert_ex
      Src: /src/openssl/apps/req.c:413,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:413,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:426,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:430,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:433,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:436,1
    - Dst: atoi
      Src: /src/openssl/apps/req.c:439,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:439,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:441,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:448,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/req.c:451,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:451,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:459,1
    - Dst: set_ext_copy
      Src: /src/openssl/apps/req.c:465,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:465,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:466,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:467,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:473,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:476,1
    - Dst: lh_OPENSSL_STRING_new
      Src: /src/openssl/apps/req.c:478,1
    - Dst: BIO_new
      Src: /src/openssl/apps/req.c:479,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/req.c:479,1
    - Dst: duplicated
      Src: /src/openssl/apps/req.c:483,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:487,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:488,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/apps/req.c:495,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:495,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:497,1
    - Dst: opt_arg
      Src: /src/openssl/apps/req.c:497,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/req.c:502,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/req.c:508,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/req.c:511,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:516,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:518,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:520,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:522,1
    - Dst: isatty
      Src: /src/openssl/apps/req.c:527,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/req.c:527,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:528,1
    - Dst: app_passwd
      Src: /src/openssl/apps/req.c:532,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:533,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:541,1
    - Dst: app_load_config_bio
      Src: /src/openssl/apps/req.c:543,1
    - Dst: if
      Src: /src/openssl/apps/req.c:549,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:550,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/req.c:552,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:556,1
    - Dst: OBJ_create_objects
      Src: /src/openssl/apps/req.c:559,1
    - Dst: BIO_free
      Src: /src/openssl/apps/req.c:560,1
    - Dst: add_oid_section
      Src: /src/openssl/apps/req.c:564,1
    - Dst: opt_check_md
      Src: /src/openssl/apps/req.c:569,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:573,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:579,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/req.c:585,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/req.c:586,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/req.c:587,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:588,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/req.c:598,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/req.c:599,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/req.c:600,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:601,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:608,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:612,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:614,1
    - Dst: ASN1_STRING_set_default_mask_asc
      Src: /src/openssl/apps/req.c:615,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:616,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:621,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:622,1
    - Dst: load_key
      Src: /src/openssl/apps/req.c:627,1
    - Dst: app_RAND_load_conf
      Src: /src/openssl/apps/req.c:630,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:633,1
    - Dst: app_RAND_load_conf
      Src: /src/openssl/apps/req.c:638,1
    - Dst: app_conf_try_number
      Src: /src/openssl/apps/req.c:640,1
    - Dst: set_keygen_ctx
      Src: /src/openssl/apps/req.c:643,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:648,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:649,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:650,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:651,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:657,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:658,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:659,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:665,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:667,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/req.c:675,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/req.c:676,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/req.c:677,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:678,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/req.c:684,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/req.c:686,1
    - Dst: app_keygen
      Src: /src/openssl/apps/req.c:688,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/req.c:692,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:696,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:700,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:702,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:704,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/req.c:706,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:710,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:712,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:713,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/req.c:720,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/req.c:722,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/req.c:722,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/req.c:724,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/req.c:730,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:732,1
    - Dst: parse_name
      Src: /src/openssl/apps/req.c:740,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:745,1
    - Dst: load_csr_autofmt
      Src: /src/openssl/apps/req.c:747,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:752,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:761,1
    - Dst: load_key
      Src: /src/openssl/apps/req.c:764,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/req.c:773,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/req.c:776,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:777,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:784,1
    - Dst: X509_REQ_new_ex
      Src: /src/openssl/apps/req.c:790,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:790,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/req.c:790,1
    - Dst: make_REQ
      Src: /src/openssl/apps/req.c:795,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:796,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/req.c:802,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/req.c:805,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:806,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:808,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:811,1
    - Dst: X509_new_ex
      Src: /src/openssl/apps/req.c:814,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:814,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/req.c:815,1
    - Dst: X509_set_serialNumber
      Src: /src/openssl/apps/req.c:819,1
    - Dst: rand_serial
      Src: /src/openssl/apps/req.c:822,1
    - Dst: X509_get_serialNumber
      Src: /src/openssl/apps/req.c:822,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/req.c:826,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:831,1
    - Dst: set_cert_times
      Src: /src/openssl/apps/req.c:832,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/apps/req.c:834,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/apps/req.c:836,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:840,1
    - Dst: copy_extensions
      Src: /src/openssl/apps/req.c:841,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:842,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/req.c:847,1
    - Dst: X509V3_set_issuer_pkey
      Src: /src/openssl/apps/req.c:851,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/req.c:853,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:854,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/req.c:857,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/req.c:861,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:862,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/req.c:867,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:869,1
    - Dst: X509_add1_ext_i2d
      Src: /src/openssl/apps/req.c:875,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:877,1
    - Dst: do_X509_sign
      Src: /src/openssl/apps/req.c:882,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:890,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/req.c:894,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/req.c:895,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/openssl/apps/req.c:899,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:900,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/openssl/apps/req.c:905,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:907,1
    - Dst: do_X509_REQ_sign
      Src: /src/openssl/apps/req.c:910,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:918,1
    - Dst: print_name
      Src: /src/openssl/apps/req.c:919,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:919,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/apps/req.c:922,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:923,1
    - Dst: print_name
      Src: /src/openssl/apps/req.c:928,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:928,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/req.c:936,1
    - Dst: do_X509_REQ_verify
      Src: /src/openssl/apps/req.c:941,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:946,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:949,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/req.c:958,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:960,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/req.c:966,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:969,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/req.c:972,1
    - Dst: X509_print_ex
      Src: /src/openssl/apps/req.c:977,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/req.c:977,1
    - Dst: X509_REQ_print_ex
      Src: /src/openssl/apps/req.c:979,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/req.c:979,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:983,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:985,1
    - Dst: print_name
      Src: /src/openssl/apps/req.c:991,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/req.c:992,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/req.c:993,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/req.c:1000,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/req.c:1002,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1004,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1007,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/req.c:1008,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/req.c:1008,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/req.c:1011,1
    - Dst: BN_print
      Src: /src/openssl/apps/req.c:1013,1
    - Dst: BN_free
      Src: /src/openssl/apps/req.c:1014,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1016,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1018,1
    - Dst: i2d_X509_REQ_bio
      Src: /src/openssl/apps/req.c:1023,1
    - Dst: PEM_write_bio_X509_REQ_NEW
      Src: /src/openssl/apps/req.c:1025,1
    - Dst: PEM_write_bio_X509_REQ
      Src: /src/openssl/apps/req.c:1027,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1029,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/req.c:1035,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/req.c:1037,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1039,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/req.c:1046,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/req.c:1048,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/req.c:1049,1
    - Dst: BIO_free
      Src: /src/openssl/apps/req.c:1050,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/req.c:1051,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1052,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/req.c:1053,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/req.c:1054,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/req.c:1055,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/req.c:1056,1
    - Dst: lh_OPENSSL_STRING_doall
      Src: /src/openssl/apps/req.c:1057,1
    - Dst: lh_OPENSSL_STRING_free
      Src: /src/openssl/apps/req.c:1058,1
    - Dst: release_engine
      Src: /src/openssl/apps/req.c:1060,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/req.c:1062,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/req.c:1063,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/req.c:1064,1
    - Dst: X509_free
      Src: /src/openssl/apps/req.c:1065,1
    - Dst: X509_free
      Src: /src/openssl/apps/req.c:1066,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1067,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/req.c:1068,1
    - Dst: release_engine
      Src: /src/openssl/apps/req.c:1069,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/req.c:1071,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/req.c:1073,1
    CyclomaticComplexity: 327
    EdgeCount: 327
    ICount: 712
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 244
    functionDepth: 7
    functionLinenumber: 244
    functionLinenumberEnd: 1075
    functionName: req_main
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - X509V3_set_ctx
    - opt_rand
    - EVP_PKEY_is_a
    - fileno_stdin
    - opt_check_rest_arg
    - X509_new_ex
    - strcmp
    - ASN1_STRING_set_default_mask_asc
    - i2d_X509_bio
    - isatty
    - app_get0_propq
    - X509_get_serialNumber
    - EVP_PKEY_CTX_free
    - BN_print
    - EVP_PKEY_free
    - X509_check_private_key
    - ERR_peek_error
    - X509_add1_ext_i2d
    - setup_engine
    - PEM_write_bio_X509_REQ
    - s2i_ASN1_INTEGER
    - X509_set_pubkey
    - bio_open_default
    - X509_get_subject_name
    - app_passwd
    - ERR_GET_REASON
    - parse_name
    - release_engine
    - X509_set_serialNumber
    - sk_OPENSSL_STRING_push
    - OPENSSL_free
    - ASN1_INTEGER_free
    - BIO_s_mem
    - NCONF_free
    - X509_NAME_free
    - set_nameopt
    - app_RAND_load_conf
    - ERR_clear_error
    - X509V3_set_nconf
    - set_ext_copy
    - BIO_new_file
    - load_key
    - do_X509_REQ_sign
    - BIO_puts
    - PEM_write_bio_PUBKEY
    - PEM_write_bio_PrivateKey
    - bio_open_owner
    - X509V3_set_issuer_pkey
    - copy_extensions
    - make_REQ
    - cert_matches_key
    - opt_next
    - app_load_config_bio
    - opt_format
    - OBJ_create_objects
    - X509V3_EXT_add_nconf
    - app_get0_libctx
    - opt_set_unknown_name
    - sk_OPENSSL_STRING_value
    - ERR_print_errors
    - EVP_PKEY_CTX_set_app_data
    - atoi
    - do_X509_sign
    - PEM_write_bio_X509_REQ_NEW
    - PEM_write_bio_X509
    - set_cert_times
    - print_name
    - EVP_PKEY_get_bn_param
    - opt_check_md
    - app_RAND_load
    - BIO_new
    - X509_print_ex
    - LHASH_OF
    - add_oid_section
    - BIO_free_all
    - pkey_ctrl_string
    - lh_OPENSSL_STRING_new
    - EVP_PKEY_CTX_set_cb
    - X509_REQ_print_ex
    - BN_free
    - BIO_printf
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - X509_set_subject_name
    - X509_REQ_set_subject_name
    - do_X509_REQ_verify
    - if
    - EVP_get_cipherbyname
    - sk_OPENSSL_STRING_num
    - opt_arg
    - opt_help
    - X509_get0_pubkey
    - opt_init
    - X509V3_set_ctx_test
    - load_csr_autofmt
    - set_cert_ex
    - X509_free
    - lh_OPENSSL_STRING_doall
    - X509_REQ_get0_pubkey
    - load_cert_pass
    - app_keygen
    - EVP_aes_256_cbc
    - app_conf_try_number
    - opt_unknown
    - X509_set_issuer_name
    - get_nameopt
    - i2d_X509_REQ_bio
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - rand_serial
    - app_conf_try_string
    - set_keygen_ctx
    - X509_REQ_free
    - X509_REQ_get_subject_name
    - duplicated
    - lh_OPENSSL_STRING_free
    - X509V3_EXT_REQ_add_nconf
    - EVP_PKEY_CTX_is_a
    - X509_REQ_new_ex
    linkageType: ''
    returnType: int
    signature: int req_main(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/req.c:1082,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:1085,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:1086,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:1089,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/req.c:1091,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1093,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/req.c:1098,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/req.c:1100,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1102,1
    - Dst: X509_REQ_set_version
      Src: /src/openssl/apps/req.c:1108,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/apps/req.c:1112,1
    - Dst: auto_info
      Src: /src/openssl/apps/req.c:1114,1
    - Dst: prompt_info
      Src: /src/openssl/apps/req.c:1116,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/openssl/apps/req.c:1121,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 6
    argNames:
    - req
    - pkey
    - fsubj
    - multirdn
    - attribs
    - chtype
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - X509_NAME*
    - int
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1127
    functionName: make_REQ
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 1
    functionsReached:
    - X509_REQ_set_pubkey
    - prompt_info
    - X509_REQ_set_subject_name
    - X509_REQ_set_version
    - NCONF_get_section
    - STACK_OF
    - strcmp
    - auto_info
    - app_conf_try_string
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int make_REQ(X509_REQ *req, EVP_PKEY *pkey, X509_NAME *fsubj,\n                    int
      multirdn, int attribs, unsigned long chtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_data
      Src: /src/openssl/apps/req.c:1352,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/apps/req.c:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 9
    argNames:
    - n
    - text
    - def
    - value
    - nid
    - n_min
    - n_max
    - chtype
    - mval
    argTypes:
    - X509_NAME*
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - unsigned long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1363
    functionName: add_DN_object
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - X509_NAME_add_entry_by_NID
    - build_data
    linkageType: ''
    returnType: int
    signature: "int add_DN_object(X509_NAME *n, char *text, const char *def,\n                         char
      *value, int nid, int n_min, int n_max,\n                         unsigned long
      chtype, int mval)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build_data
      Src: /src/openssl/apps/req.c:1372,1
    - Dst: X509_REQ_add1_attr_by_NID
      Src: /src/openssl/apps/req.c:1378,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 8
    argNames:
    - req
    - text
    - def
    - value
    - nid
    - n_min
    - n_max
    - chtype
    argTypes:
    - X509_REQ*
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1385
    functionName: add_attribute_object
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - X509_REQ_add1_attr_by_NID
    - build_data
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int add_attribute_object(X509_REQ *req, char *text, const char *def,\n
      \                               char *value, int nid, int n_min,\n                                int
      n_max, unsigned long chtype)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1394,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/req.c:1395,1
    - Dst: join
      Src: /src/openssl/apps/req.c:1397,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1399,1
    - Dst: fgets
      Src: /src/openssl/apps/req.c:1403,1
    - Dst: join
      Src: /src/openssl/apps/req.c:1416,1
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1422,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1424,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/req.c:1429,1
    - Dst: req_check_len
      Src: /src/openssl/apps/req.c:1431,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 9
    argNames:
    - text
    - def
    - value
    - n_min
    - n_max
    - buf
    - buf_size
    - desc1
    - desc2
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1387
    functionDepth: 2
    functionLinenumber: 1387
    functionLinenumberEnd: 1437
    functionName: build_data
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 2
    functionsReached:
    - fgets
    - ebcdic2ascii
    - BIO_flush
    - req_check_len
    - strlen
    - BIO_printf
    - join
    linkageType: ''
    returnType: int
    signature: "int build_data(char *text, const char *def, char *value,\n                      int
      n_min, int n_max, char *buf, const int buf_size,\n                      const
      char *desc1, const char *desc2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1442,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - len
    - n_min
    - n_max
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1439
    functionDepth: 2
    functionLinenumber: 1439
    functionLinenumberEnd: 1452
    functionName: req_check_len
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int req_check_len(int len, int n_min, int n_max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1460,1
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1461,1
    - Dst: strcmp
      Src: /src/openssl/apps/req.c:1465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1466
    functionName: check_end
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int check_end(const char *str, const char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1475,1
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1475,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1478,1
    - Dst: memcpy
      Src: /src/openssl/apps/req.c:1481,1
    - Dst: memcpy
      Src: /src/openssl/apps/req.c:1482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - buf
    - buf_size
    - name
    - tail
    - desc
    argTypes:
    - char[]
    - size_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1472
    functionDepth: 2
    functionLinenumber: 1472
    functionLinenumberEnd: 1484
    functionName: join
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 19
    functionsReached:
    - memcpy
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int join(char buf[], size_t buf_size, const char *name,\n                const
      char *tail, const char *desc)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/apps/req.c:1512,1
    - Dst: strlen
      Src: /src/openssl/apps/req.c:1518,1
    - Dst: strncmp
      Src: /src/openssl/apps/req.c:1520,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1523,1
    - Dst: atol
      Src: /src/openssl/apps/req.c:1543,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/req.c:1549,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1551,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/openssl/apps/req.c:1554,1
    - Dst: BIO_reset
      Src: /src/openssl/apps/req.c:1559,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/apps/req.c:1560,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/apps/req.c:1562,1
    - Dst: X509_free
      Src: /src/openssl/apps/req.c:1563,1
    - Dst: BIO_free
      Src: /src/openssl/apps/req.c:1567,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1570,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/req.c:1574,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1576,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1577,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/apps/req.c:1584,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/req.c:1586,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1589,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1590,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/req.c:1598,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/req.c:1599,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1600,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/apps/req.c:1605,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/req.c:1607,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:1607,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/req.c:1608,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/req.c:1609,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/req.c:1610,1
    - Dst: get_legacy_pkey_id
      Src: /src/openssl/apps/req.c:1614,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:1614,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/apps/req.c:1618,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/req.c:1621,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/req.c:1621,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/req.c:1622,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1629,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/req.c:1633,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1634,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/req.c:1635,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:1638,1
    - Dst: EVP_PKEY_CTX_is_a
      Src: /src/openssl/apps/req.c:1639,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/apps/req.c:1647,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/apps/req.c:1648,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/req.c:1649,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/req.c:1650,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 108
    argCount: 4
    argNames:
    - gstr
    - pkeytype
    - pkeylen
    - keygen_engine
    argTypes:
    - char*
    - char**
    - long*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1486
    functionDepth: 6
    functionLinenumber: 1486
    functionLinenumberEnd: 1656
    functionName: set_keygen_ctx
    functionSourceFile: /src/openssl/apps/req.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new
    - X509_free
    - strncmp
    - strlen
    - BIO_reset
    - EVP_PKEY_keygen_init
    - PEM_read_bio_Parameters
    - OSSL_PARAM_construct_size_t
    - EVP_PKEY_free
    - app_get0_propq
    - EVP_PKEY_CTX_free
    - OPENSSL_strdup
    - EVP_PKEY_CTX_new_id
    - X509_get_pubkey
    - atol
    - BIO_printf
    - strchr
    - BIO_new_file
    - BIO_puts
    - BIO_free
    - EVP_PKEY_get_bits
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_strndup
    - EVP_PKEY_get0_type_name
    - get_legacy_pkey_id
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_is_a
    - app_get0_libctx
    - PEM_read_bio_X509
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *set_keygen_ctx(const char *gstr,\n                                    char
      **pkeytype, long *pkeylen,\n                                    ENGINE *keygen_engine)"
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/openssl/apps/crl.c:86,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/crl.c:101,1
    - Dst: opt_init
      Src: /src/openssl/apps/crl.c:102,1
    - Dst: opt_next
      Src: /src/openssl/apps/crl.c:103,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:108,1
    - Dst: opt_help
      Src: /src/openssl/apps/crl.c:111,1
    - Dst: opt_format
      Src: /src/openssl/apps/crl.c:115,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:115,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:119,1
    - Dst: opt_format
      Src: /src/openssl/apps/crl.c:122,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:122,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:126,1
    - Dst: opt_format
      Src: /src/openssl/apps/crl.c:129,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:129,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:133,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:136,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:139,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:143,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:147,1
    - Dst: set_dateopt
      Src: /src/openssl/apps/crl.c:168,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:168,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/crl.c:199,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl.c:199,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/crl.c:203,1
    - Dst: opt_provider
      Src: /src/openssl/apps/crl.c:206,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/crl.c:213,1
    - Dst: opt_md
      Src: /src/openssl/apps/crl.c:216,1
    - Dst: load_crl
      Src: /src/openssl/apps/crl.c:218,1
    - Dst: setup_verify
      Src: /src/openssl/apps/crl.c:223,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/crl.c:226,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/apps/crl.c:226,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/apps/crl.c:229,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/crl.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:231,1
    - Dst: X509_STORE_CTX_get_obj_by_subject
      Src: /src/openssl/apps/crl.c:235,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/crl.c:236,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:238,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/apps/crl.c:241,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/openssl/apps/crl.c:241,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/apps/crl.c:242,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:244,1
    - Dst: X509_CRL_verify
      Src: /src/openssl/apps/crl.c:247,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/crl.c:248,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:252,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:255,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:262,1
    - Dst: load_crl
      Src: /src/openssl/apps/crl.c:265,1
    - Dst: load_key
      Src: /src/openssl/apps/crl.c:268,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl.c:270,1
    - Dst: X509_CRL_diff
      Src: /src/openssl/apps/crl.c:273,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl.c:274,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/crl.c:275,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl.c:277,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:280,1
    - Dst: X509_CRL_get0_signature
      Src: /src/openssl/apps/crl.c:288,1
    - Dst: corrupt_signature
      Src: /src/openssl/apps/crl.c:289,1
    - Dst: print_name
      Src: /src/openssl/apps/crl.c:295,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/crl.c:295,1
    - Dst: X509_CRL_get_ext_d2i
      Src: /src/openssl/apps/crl.c:300,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:301,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:303,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/crl.c:304,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/crl.c:305,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:309,1
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/apps/crl.c:314,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/crl.c:314,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/crl.c:314,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/crl.c:315,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:318,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:320,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/crl.c:322,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:329,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:330,1
    - Dst: X509_NAME_hash_old
      Src: /src/openssl/apps/crl.c:331,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/crl.c:331,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:335,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/crl.c:336,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/apps/crl.c:336,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:337,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:340,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/apps/crl.c:341,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/crl.c:342,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/openssl/apps/crl.c:342,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:344,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:345,1
    - Dst: X509_CRL_digest
      Src: /src/openssl/apps/crl.c:352,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:353,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:356,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/apps/crl.c:357,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:359,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/crl.c:365,1
    - Dst: X509_CRL_print_ex
      Src: /src/openssl/apps/crl.c:370,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/crl.c:370,1
    - Dst: i2d_X509_CRL_bio
      Src: /src/openssl/apps/crl.c:378,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/crl.c:380,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl.c:382,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/crl.c:389,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/crl.c:390,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/crl.c:391,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl.c:392,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/crl.c:393,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/crl.c:394,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 288
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 77
    functionDepth: 11
    functionLinenumber: 77
    functionLinenumberEnd: 396
    functionName: crl_main
    functionSourceFile: /src/openssl/apps/crl.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_free
    - EVP_MD_free
    - X509_STORE_CTX_new
    - i2a_ASN1_INTEGER
    - X509_STORE_free
    - i2d_X509_CRL_bio
    - X509_CRL_free
    - opt_check_rest_arg
    - X509_OBJECT_get0_X509
    - ASN1_INTEGER_free
    - opt_md
    - print_name
    - set_nameopt
    - X509_NAME_hash_ex
    - X509_CRL_get0_nextUpdate
    - X509_STORE_CTX_init
    - X509_CRL_digest
    - EVP_PKEY_free
    - app_get0_propq
    - X509_CRL_print_ex
    - opt_unknown
    - BIO_free_all
    - X509_get_pubkey
    - X509_CRL_verify
    - X509_CRL_diff
    - BIO_printf
    - X509_STORE_CTX_get_obj_by_subject
    - load_key
    - get_nameopt
    - opt_provider
    - BIO_puts
    - set_dateopt
    - EVP_MD_get0_name
    - setup_verify
    - ASN1_TIME_print_ex
    - ERR_print_errors
    - load_crl
    - X509_CRL_get0_lastUpdate
    - opt_arg
    - X509_CRL_get_ext_d2i
    - X509_CRL_get0_signature
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - X509_STORE_CTX_free
    - opt_format
    - EVP_sha1
    - corrupt_signature
    - X509_CRL_get_issuer
    - app_get0_libctx
    - opt_set_unknown_name
    - X509_NAME_hash_old
    - PEM_write_bio_X509_CRL
    - X509_LOOKUP_file
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int crl_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/apps/speed.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - int
    argTypes:
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: alarmed
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void alarmed(ossl_unused int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_tminterval
      Src: /src/openssl/apps/speed.c:160,1
    - Dst: alarm
      Src: /src/openssl/apps/speed.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: Time_F
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 1
    functionsReached:
    - app_tminterval
    - alarm
    linkageType: ''
    returnType: double
    signature: double Time_F(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - secs
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: alarm_win32
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void alarm_win32(unsigned int secs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/openssl/apps/speed.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - VOID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: sleepy
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - Sleep
    linkageType: ''
    returnType: DWORD
    signature: DWORD sleepy(VOID * arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/openssl/apps/speed.c:194,1
    - Dst: GetLastError
      Src: /src/openssl/apps/speed.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:197,1
    - Dst: ExitProcess
      Src: /src/openssl/apps/speed.c:198,1
    - Dst: Sleep
      Src: /src/openssl/apps/speed.c:201,1
    - Dst: app_tminterval
      Src: /src/openssl/apps/speed.c:202,1
    - Dst: app_tminterval
      Src: /src/openssl/apps/speed.c:204,1
    - Dst: TerminateThread
      Src: /src/openssl/apps/speed.c:206,1
    - Dst: CloseHandle
      Src: /src/openssl/apps/speed.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: Time_F
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 1
    functionsReached:
    - GetLastError
    - ExitProcess
    - CloseHandle
    - CreateThread
    - Sleep
    - app_tminterval
    - TerminateThread
    - BIO_printf
    linkageType: ''
    returnType: double
    signature: double Time_F(int s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - name
    - result
    - pairs
    - nbelem
    argTypes:
    - char*
    - unsigned int*
    - OPT_PAIR[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: opt_found
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int opt_found(const char *name, unsigned int *result,\n                     const
      OPT_PAIR pairs[], unsigned int nbelem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - pairs
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: opt_found
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opt_found(value, pairs, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - unused_cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: COND
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COND(unused_cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: COUNT
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COUNT(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/speed.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 5
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: dofail
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - ERR_print_errors
    linkageType: ''
    returnType: void
    signature: void dofail(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_md_silent
      Src: /src/openssl/apps/speed.c:605,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/speed.c:606,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/apps/speed.c:608,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/speed.c:610,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/speed.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 600
    functionDepth: 8
    functionLinenumber: 600
    functionLinenumberEnd: 614
    functionName: have_md
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_DigestInit
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - opt_md_silent
    linkageType: ''
    returnType: int
    signature: int have_md(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_silent
      Src: /src/openssl/apps/speed.c:621,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/apps/speed.c:622,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:625,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:627,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/speed.c:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 631
    functionName: have_cipher
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_free
    - EVP_CipherInit_ex
    - opt_cipher_silent
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int have_cipher(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_md_silent
      Src: /src/openssl/apps/speed.c:642,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/apps/speed.c:644,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/speed.c:645,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:651,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/apps/speed.c:652,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/speed.c:653,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/apps/speed.c:654,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:660,1
    - Dst: EVP_Digest
      Src: /src/openssl/apps/speed.c:661,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/speed.c:669,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/speed.c:670,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - mdname
    - algindex
    - args
    argTypes:
    - char*
    - ossl_unused
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 633
    functionDepth: 9
    functionLinenumber: 633
    functionLinenumberEnd: 672
    functionName: EVP_Digest_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MD_xof
    - EVP_DigestFinalXOF
    - EVP_MD_free
    - EVP_DigestInit_ex2
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_Digest
    - EVP_MD_CTX_free
    - opt_md_silent
    - COND
    linkageType: ''
    returnType: int
    signature: int EVP_Digest_loop(const char *mdname, ossl_unused int algindex, void
      *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 10
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: EVP_Digest_md_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int EVP_Digest_md_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 10
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: EVP_Digest_MD2_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int EVP_Digest_MD2_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 10
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: EVP_Digest_MDC2_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int EVP_Digest_MDC2_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 10
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: EVP_Digest_MD4_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int EVP_Digest_MD4_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 10
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: MD5_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int MD5_loop(void *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/apps/speed.c:705,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/speed.c:705,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/speed.c:705,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/apps/speed.c:710,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/apps/speed.c:714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - name
    - mac
    - params
    - loopargs
    - loopargs_len
    argTypes:
    - char*
    - EVP_MAC**
    - OSSL_PARAM[]
    - loopargs_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 699
    functionDepth: 10
    functionLinenumber: 699
    functionLinenumberEnd: 719
    functionName: mac_setup
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_CTX_set_params
    - app_get0_propq
    - app_get0_libctx
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: "int mac_setup(const char *name,\n                     EVP_MAC **mac,
      OSSL_PARAM params[],\n                     loopargs_t *loopargs, unsigned int
      loopargs_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/apps/speed.c:727,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/apps/speed.c:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mac
    - loopargs
    - loopargs_len
    argTypes:
    - EVP_MAC**
    - loopargs_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 721
    functionDepth: 4
    functionLinenumber: 721
    functionLinenumberEnd: 732
    functionName: mac_teardown
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_free
    - EVP_MAC_free
    linkageType: ''
    returnType: void
    signature: "void mac_teardown(EVP_MAC **mac,\n                         loopargs_t
      *loopargs, unsigned int loopargs_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:742,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/apps/speed.c:745,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/apps/speed.c:746,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/apps/speed.c:747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - algindex
    - args
    argTypes:
    - ossl_unused
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 734
    functionDepth: 6
    functionLinenumber: 734
    functionLinenumberEnd: 751
    functionName: EVP_MAC_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_init
    - EVP_MAC_update
    - EVP_MAC_final
    - COND
    linkageType: ''
    returnType: int
    signature: int EVP_MAC_loop(ossl_unused int algindex, void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_loop
      Src: /src/openssl/apps/speed.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 7
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: HMAC_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_loop
    linkageType: ''
    returnType: int
    signature: int HMAC_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_loop
      Src: /src/openssl/apps/speed.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 7
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: CMAC_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_loop
    linkageType: ''
    returnType: int
    signature: int CMAC_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_loop
      Src: /src/openssl/apps/speed.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 763
    functionDepth: 7
    functionLinenumber: 763
    functionLinenumberEnd: 766
    functionName: KMAC128_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_loop
    linkageType: ''
    returnType: int
    signature: int KMAC128_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_loop
      Src: /src/openssl/apps/speed.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 7
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: KMAC256_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_loop
    linkageType: ''
    returnType: int
    signature: int KMAC256_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 10
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: SHA1_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int SHA1_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 778
    functionDepth: 10
    functionLinenumber: 778
    functionLinenumberEnd: 781
    functionName: SHA256_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int SHA256_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 783
    functionDepth: 10
    functionLinenumber: 783
    functionLinenumberEnd: 786
    functionName: SHA512_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int SHA512_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 788
    functionDepth: 10
    functionLinenumber: 788
    functionLinenumberEnd: 791
    functionName: WHIRLPOOL_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int WHIRLPOOL_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_Digest_loop
      Src: /src/openssl/apps/speed.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 10
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: EVP_Digest_RMD160_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Digest_loop
    linkageType: ''
    returnType: int
    signature: int EVP_Digest_RMD160_loop(void *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:808,1
    - Dst: EVP_Cipher
      Src: /src/openssl/apps/speed.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 812
    functionName: EVP_Cipher_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_Cipher
    - COND
    linkageType: ''
    returnType: int
    signature: int EVP_Cipher_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:822,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/apps/speed.c:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 827
    functionName: GHASH_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - COND
    linkageType: ''
    returnType: int
    signature: int GHASH_loop(void *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_silent
      Src: /src/openssl/apps/speed.c:840,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/apps/speed.c:843,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:846,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:847,1
    - Dst: EVP_CIPHER_CTX_set_key_length
      Src: /src/openssl/apps/speed.c:852,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:853,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:858,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:859,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/speed.c:865,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - ciphername
    - key
    - keylen
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 833
    functionDepth: 6
    functionLinenumber: 833
    functionLinenumberEnd: 867
    functionName: init_evp_cipher_ctx
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_free
    - EVP_CipherInit_ex
    - opt_cipher_silent
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_CTX_set_key_length
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: "EVP_CIPHER_CTX *init_evp_cipher_ctx(const char *ciphername,\n                                           const
      unsigned char *key,\n                                           int keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:875,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/speed.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 869
    functionDepth: 8
    functionLinenumber: 869
    functionLinenumberEnd: 878
    functionName: RAND_bytes_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - COND
    linkageType: ''
    returnType: int
    signature: int RAND_bytes_loop(void *args)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:889,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/apps/speed.c:890,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:893,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:897,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/apps/speed.c:898,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:901,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/apps/speed.c:906,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/apps/speed.c:908,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:911,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 881
    functionDepth: 5
    functionLinenumber: 881
    functionLinenumberEnd: 913
    functionName: EVP_Update_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptUpdate
    - EVP_DecryptUpdate
    - EVP_EncryptFinal_ex
    - BIO_printf
    - EVP_CipherInit_ex
    - EVP_DecryptFinal_ex
    - COND
    linkageType: ''
    returnType: int
    signature: int EVP_Update_loop(void *args)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:931,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:934,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:936,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:937,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:938,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:945,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:947,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:948,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:949,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:952,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:953,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:954,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:955,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/apps/speed.c:959,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:961,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:962,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:963,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/apps/speed.c:967,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:968,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:969,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:970,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/apps/speed.c:973,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:974,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:975,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:976,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/apps/speed.c:978,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 923
    functionDepth: 6
    functionLinenumber: 923
    functionLinenumberEnd: 982
    functionName: EVP_Update_loop_aead_enc
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - exit
    - EVP_EncryptUpdate
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int EVP_Update_loop_aead_enc(void *args)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1003,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:1006,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1008,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1009,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1010,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:1018,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1020,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1021,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1022,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/speed.c:1025,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1026,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1027,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1028,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/apps/speed.c:1032,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1033,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1034,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1035,1
    - Dst: memcpy
      Src: /src/openssl/apps/speed.c:1038,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:1040,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1042,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1043,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1044,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/apps/speed.c:1048,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1050,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1051,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1052,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/apps/speed.c:1056,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1057,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1058,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1059,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/apps/speed.c:1062,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1063,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1064,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:1065,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/apps/speed.c:1067,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 993
    functionDepth: 6
    functionLinenumber: 993
    functionLinenumberEnd: 1071
    functionName: EVP_Update_loop_aead_dec
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - exit
    - EVP_DecryptFinal_ex
    - memcpy
    - EVP_DecryptInit_ex
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int EVP_Update_loop_aead_dec(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1082,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/speed.c:1084,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1086,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1073
    functionDepth: 6
    functionLinenumber: 1073
    functionLinenumberEnd: 1093
    functionName: RSA_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_sign
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int RSA_sign_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1104,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/speed.c:1105,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1107,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1095
    functionDepth: 6
    functionLinenumber: 1095
    functionLinenumberEnd: 1114
    functionName: RSA_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - dofail
    - EVP_PKEY_verify
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int RSA_verify_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1125,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/apps/speed.c:1127,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1129,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1116
    functionDepth: 6
    functionLinenumber: 1116
    functionLinenumberEnd: 1136
    functionName: RSA_encrypt_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - dofail
    - EVP_PKEY_encrypt
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int RSA_encrypt_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1147,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/apps/speed.c:1149,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1151,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1138
    functionDepth: 6
    functionLinenumber: 1138
    functionLinenumberEnd: 1158
    functionName: RSA_decrypt_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decrypt
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int RSA_decrypt_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1169,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/apps/speed.c:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1176
    functionName: FFDH_derive_key_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - COND
    linkageType: ''
    returnType: int
    signature: int FFDH_derive_key_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1189,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/speed.c:1191,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1193,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1180
    functionDepth: 6
    functionLinenumber: 1180
    functionLinenumberEnd: 1200
    functionName: DSA_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_sign
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int DSA_sign_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1211,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/speed.c:1212,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1214,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1202
    functionDepth: 6
    functionLinenumber: 1202
    functionLinenumberEnd: 1221
    functionName: DSA_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - dofail
    - EVP_PKEY_verify
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int DSA_verify_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1233,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/speed.c:1235,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1237,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1224
    functionDepth: 6
    functionLinenumber: 1224
    functionLinenumberEnd: 1244
    functionName: ECDSA_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_sign
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int ECDSA_sign_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1255,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/speed.c:1256,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1259,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1246
    functionDepth: 6
    functionLinenumber: 1246
    functionLinenumberEnd: 1266
    functionName: ECDSA_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - dofail
    - EVP_PKEY_verify
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int ECDSA_verify_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1278,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/apps/speed.c:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1282
    functionName: ECDH_EVP_derive_key_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - COND
    linkageType: ''
    returnType: int
    signature: int ECDH_EVP_derive_key_loop(void *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1294,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/apps/speed.c:1295,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1297,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1298,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/speed.c:1302,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1304,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1285
    functionDepth: 6
    functionLinenumber: 1285
    functionLinenumberEnd: 1311
    functionName: EdDSA_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - EVP_DigestSign
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int EdDSA_sign_loop(void *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1322,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/apps/speed.c:1323,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1325,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1326,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/apps/speed.c:1330,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1332,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1313
    functionDepth: 6
    functionLinenumber: 1313
    functionLinenumberEnd: 1339
    functionName: EdDSA_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - EVP_DigestVerifyInit
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int EdDSA_verify_loop(void *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/apps/speed.c:1352,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1354,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/apps/speed.c:1357,1
    - Dst: EVP_sm3
      Src: /src/openssl/apps/speed.c:1357,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1359,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1360,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/speed.c:1364,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1367,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1343
    functionDepth: 6
    functionLinenumber: 1343
    functionLinenumberEnd: 1377
    functionName: SM2_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignInit
    - EVP_sm3
    - EVP_PKEY_get_size
    - EVP_DigestSign
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int SM2_sign_loop(void *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1389,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/apps/speed.c:1390,1
    - Dst: EVP_sm3
      Src: /src/openssl/apps/speed.c:1390,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1392,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1393,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/apps/speed.c:1397,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1400,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1379
    functionDepth: 6
    functionLinenumber: 1379
    functionLinenumberEnd: 1407
    functionName: SM2_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - EVP_sm3
    - EVP_DigestVerifyInit
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int SM2_verify_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1417,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/speed.c:1418,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/speed.c:1427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1410
    functionDepth: 8
    functionLinenumber: 1410
    functionLinenumberEnd: 1431
    functionName: KEM_keygen_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    - COND
    linkageType: ''
    returnType: int
    signature: int KEM_keygen_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1443,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/apps/speed.c:1444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1448
    functionName: KEM_encaps_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_encapsulate
    - COND
    linkageType: ''
    returnType: int
    signature: int KEM_encaps_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1460,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/apps/speed.c:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1450
    functionDepth: 2
    functionLinenumber: 1450
    functionLinenumberEnd: 1465
    functionName: KEM_decaps_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_decapsulate
    - COND
    linkageType: ''
    returnType: int
    signature: int KEM_decaps_loop(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1474,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/speed.c:1475,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/speed.c:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1467
    functionDepth: 8
    functionLinenumber: 1467
    functionLinenumberEnd: 1481
    functionName: SIG_keygen_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_keygen
    - EVP_PKEY_free
    - COND
    linkageType: ''
    returnType: int
    signature: int SIG_keygen_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:1488,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1494,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/speed.c:1496,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1499,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:1505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1483
    functionDepth: 6
    functionLinenumber: 1483
    functionLinenumberEnd: 1507
    functionName: SIG_sign_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - app_malloc
    - OPENSSL_free
    - EVP_PKEY_sign
    - dofail
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int SIG_sign_loop(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COND
      Src: /src/openssl/apps/speed.c:1519,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/speed.c:1520,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1523,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1509
    functionDepth: 6
    functionLinenumber: 1509
    functionLinenumberEnd: 1531
    functionName: SIG_verify_loop
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - dofail
    - EVP_PKEY_verify
    - BIO_printf
    - COND
    linkageType: ''
    returnType: int
    signature: int SIG_verify_loop(void *args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/apps/speed.c:1535,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/apps/speed.c:1536,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1539,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1543,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/speed.c:1545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - length
    argTypes:
    - EVP_CIPHER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1533
    functionDepth: 2
    functionLinenumber: 1533
    functionLinenumberEnd: 1549
    functionName: check_block_size
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX_get_block_size
    - BIO_printf
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: int check_block_size(EVP_CIPHER_CTX *ctx, int length)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: loop_function
      Src: /src/openssl/apps/speed.c:1562,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/apps/speed.c:1569,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1585,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1586,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/speed.c:1600,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/apps/speed.c:1606,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1609,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1610,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/apps/speed.c:1614,1
    - Dst: FD_SET
      Src: /src/openssl/apps/speed.c:1616,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1622,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1626,1
    - Dst: select
      Src: /src/openssl/apps/speed.c:1631,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1636,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1637,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/apps/speed.c:1650,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1653,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1654,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/apps/speed.c:1658,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/speed.c:1662,1
    - Dst: PeekNamedPipe
      Src: /src/openssl/apps/speed.c:1666,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/apps/speed.c:1671,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1691,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1692,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 97
    argCount: 2
    argNames:
    - async_jobs
    - loopargs
    argTypes:
    - int
    - loopargs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1551
    functionDepth: 6
    functionLinenumber: 1551
    functionLinenumberEnd: 1700
    functionName: run_benchmark
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_get_all_fds
    - FD_ZERO
    - ASYNC_start_job
    - FD_SET
    - FD_ISSET
    - loop_function
    - select
    - PeekNamedPipe
    - dofail
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int run_benchmark(int async_jobs,\n                         int (*loop_function)
      (void *), loopargs_t *loopargs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/speed.c:1715,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1716,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1718,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/apps/speed.c:1729,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/speed.c:1739,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/apps/speed.c:1741,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/apps/speed.c:1743,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/speed.c:1744,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/speed.c:1745,1
    - Dst: ERR_get_error
      Src: /src/openssl/apps/speed.c:1746,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/speed.c:1747,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1748,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1750,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/speed.c:1755,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/apps/speed.c:1756,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/openssl/apps/speed.c:1757,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/apps/speed.c:1759,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1760,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1761,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/speed.c:1762,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/speed.c:1765,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/apps/speed.c:1768,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/speed.c:1769,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/speed.c:1772,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/speed.c:1773,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:1774,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:1775,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/speed.c:1778,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - curve
    argTypes:
    - EC_CURVE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1709
    functionDepth: 8
    functionLinenumber: 1709
    functionLinenumberEnd: 1780
    functionName: get_ecdsa
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - ERR_GET_LIB
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_new_from_name
    - ERR_GET_REASON
    - ERR_peek_last_error
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_keygen
    - ERR_peek_error
    - EVP_PKEY_paramgen
    - EVP_PKEY_keygen_init
    - dofail
    - BIO_printf
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_ecdsa(const EC_CURVE *curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - do_it
    - ','
    - test_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1784
    functionName: stop_it
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stop_it(do_it, test_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1802
    functionName: IS_FETCHABLE
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FETCHABLE(type, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:1811,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/speed.c:1811,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/speed.c:1811,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/speed.c:1812,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/speed.c:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEM**
    - EVP_KEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1808
    functionDepth: 2
    functionLinenumber: 1808
    functionLinenumberEnd: 1813
    functionName: kems_cmp
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: int
    signature: "int kems_cmp(const EVP_KEM * const *a,\n                    const
      EVP_KEM * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/speed.c:1817,1
    - Dst: is_kem_fetchable
      Src: /src/openssl/apps/speed.c:1819,1
    - Dst: EVP_KEM_up_ref
      Src: /src/openssl/apps/speed.c:1820,1
    - Dst: sk_EVP_KEM_push
      Src: /src/openssl/apps/speed.c:1821,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/apps/speed.c:1822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - kem
    - stack
    argTypes:
    - EVP_KEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1815
    functionDepth: 3
    functionLinenumber: 1815
    functionLinenumberEnd: 1823
    functionName: collect_kem
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_KEM_free
    - EVP_KEM_up_ref
    - sk_EVP_KEM_push
    - STACK_OF
    - is_kem_fetchable
    linkageType: ''
    returnType: void
    signature: void collect_kem(EVP_KEM *kem, void *stack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:1830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - algo
    - idx
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1836
    functionName: kem_locate
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int kem_locate(const char *algo, unsigned int *idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:1843,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/speed.c:1843,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/speed.c:1843,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/speed.c:1844,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/speed.c:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_SIGNATURE**
    - EVP_SIGNATURE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1840
    functionDepth: 2
    functionLinenumber: 1840
    functionLinenumberEnd: 1845
    functionName: signatures_cmp
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_SIGNATURE_get0_provider
    linkageType: ''
    returnType: int
    signature: "int signatures_cmp(const EVP_SIGNATURE * const *a,\n                          const
      EVP_SIGNATURE * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/speed.c:1849,1
    - Dst: is_signature_fetchable
      Src: /src/openssl/apps/speed.c:1851,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/apps/speed.c:1852,1
    - Dst: sk_EVP_SIGNATURE_push
      Src: /src/openssl/apps/speed.c:1853,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/apps/speed.c:1854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - stack
    argTypes:
    - EVP_SIGNATURE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1847
    functionDepth: 3
    functionLinenumber: 1847
    functionLinenumberEnd: 1855
    functionName: collect_signatures
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - is_signature_fetchable
    - EVP_SIGNATURE_free
    - EVP_SIGNATURE_up_ref
    - STACK_OF
    - sk_EVP_SIGNATURE_push
    linkageType: ''
    returnType: void
    signature: void collect_signatures(EVP_SIGNATURE *sig, void *stack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/speed.c:1862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - algo
    - idx
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1868
    functionName: sig_locate
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int sig_locate(const char *algo, unsigned int *idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - doit
    - algs_len
    argTypes:
    - uint8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1877
    functionName: get_max
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_max(const uint8_t doit[], size_t algs_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4796,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/speed.c:4799,1
    - Dst: alarm
      Src: /src/openssl/apps/speed.c:4801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - length
    - tm
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4802
      start: 4794
    functionDepth: 2
    functionLinenumber: 4794
    functionLinenumberEnd: 4802
    functionName: print_message
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - alarm
    - BIO_flush
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_message(const char *s, int length, int tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4807,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/speed.c:4810,1
    - Dst: alarm
      Src: /src/openssl/apps/speed.c:4812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - str
    - str2
    - bits
    - tm
    argTypes:
    - char*
    - char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4813
      start: 4804
    functionDepth: 2
    functionLinenumber: 4804
    functionLinenumberEnd: 4813
    functionName: pkey_print_message
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - alarm
    - BIO_flush
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void pkey_print_message(const char *str, const char *str2, unsigned
      int bits,\n                               int tm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4817,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/speed.c:4820,1
    - Dst: alarm
      Src: /src/openssl/apps/speed.c:4822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - str2
    - tm
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4823
      start: 4815
    functionDepth: 2
    functionLinenumber: 4815
    functionLinenumberEnd: 4823
    functionName: kskey_print_message
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - alarm
    - BIO_flush
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void kskey_print_message(const char *str, const char *str2, int tm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4828,1
    - Dst: dofail
      Src: /src/openssl/apps/speed.c:4829,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - alg
    - run_no
    - count
    - time_used
    argTypes:
    - int
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4836
      start: 4825
    functionDepth: 6
    functionLinenumber: 4825
    functionLinenumberEnd: 4836
    functionName: print_result
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - dofail
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_result(int alg, int run_no, int count, double time_used)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/apps/speed.c:4844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - string
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4861
      start: 4839
    functionDepth: 0
    functionLinenumber: 4839
    functionLinenumberEnd: 4861
    functionName: sstrsep
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: char
    signature: char *sstrsep(char **string, const char *delim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/openssl/apps/speed.c:4870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - str
    - min_val
    - upper_val
    - res
    argTypes:
    - char*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4878
      start: 4863
    functionDepth: 0
    functionLinenumber: 4863
    functionLinenumberEnd: 4878
    functionName: strtoint
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 2
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: "int strtoint(const char *str, const int min_val, const int upper_val,\n
      \                   int *res)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:4888,1
    - Dst: pipe
      Src: /src/openssl/apps/speed.c:4890,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4891,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:4892,1
    - Dst: fflush
      Src: /src/openssl/apps/speed.c:4894,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/speed.c:4895,1
    - Dst: fork
      Src: /src/openssl/apps/speed.c:4896,1
    - Dst: close
      Src: /src/openssl/apps/speed.c:4897,1
    - Dst: close
      Src: /src/openssl/apps/speed.c:4900,1
    - Dst: close
      Src: /src/openssl/apps/speed.c:4901,1
    - Dst: dup
      Src: /src/openssl/apps/speed.c:4902,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4903,1
    - Dst: exit
      Src: /src/openssl/apps/speed.c:4904,1
    - Dst: close
      Src: /src/openssl/apps/speed.c:4906,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:4909,1
    - Dst: printf
      Src: /src/openssl/apps/speed.c:4912,1
    - Dst: fdopen
      Src: /src/openssl/apps/speed.c:4924,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4925,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:4927,1
    - Dst: fgets
      Src: /src/openssl/apps/speed.c:4930,1
    - Dst: strchr
      Src: /src/openssl/apps/speed.c:4931,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:4935,1
    - Dst: printf
      Src: /src/openssl/apps/speed.c:4940,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4942,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4946,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4946,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4947,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4949,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4949,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4951,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4952,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4953,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4953,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4954,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4956,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4956,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4959,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4959,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4962,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4962,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4965,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4965,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4969,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4970,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4971,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4971,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4972,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4974,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4974,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4977,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4977,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4981,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4982,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4983,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4983,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4984,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4986,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4986,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4989,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4989,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:4992,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4993,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:4994,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:4994,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4995,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:4997,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:4997,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:5001,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5002,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:5003,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:5003,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5004,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5005,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5007,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5007,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5010,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5010,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:5015,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5016,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:5017,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:5017,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5018,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5019,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5021,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5021,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5024,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5024,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:5029,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5030,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:5031,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:5031,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5032,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5034,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5034,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:5038,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5039,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:5040,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:5040,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5041,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5041,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5044,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5044,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5047,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5047,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/speed.c:5050,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5051,1
    - Dst: strtoint
      Src: /src/openssl/apps/speed.c:5052,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:5052,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5053,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5053,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5056,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5056,1
    - Dst: atof
      Src: /src/openssl/apps/speed.c:5059,1
    - Dst: sstrsep
      Src: /src/openssl/apps/speed.c:5059,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/speed.c:5062,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:5063,1
    - Dst: fclose
      Src: /src/openssl/apps/speed.c:5068,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:5070,1
    - Dst: wait
      Src: /src/openssl/apps/speed.c:5072,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:5074,1
    - Dst: WIFEXITED
      Src: /src/openssl/apps/speed.c:5078,1
    - Dst: WEXITSTATUS
      Src: /src/openssl/apps/speed.c:5078,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:5079,1
    - Dst: WEXITSTATUS
      Src: /src/openssl/apps/speed.c:5079,1
    - Dst: WIFSIGNALED
      Src: /src/openssl/apps/speed.c:5080,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:5081,1
    - Dst: WTERMSIG
      Src: /src/openssl/apps/speed.c:5082,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 165
    argCount: 2
    argNames:
    - multi
    - size_num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5086
      start: 4880
    functionDepth: 2
    functionLinenumber: 4880
    functionLinenumberEnd: 5086
    functionName: do_multi
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - fgets
    - OPENSSL_free
    - WTERMSIG
    - fflush
    - app_malloc
    - HAS_PREFIX
    - fork
    - wait
    - WIFSIGNALED
    - BIO_flush
    - CHECK_AND_SKIP_PREFIX
    - BIO_printf
    - strchr
    - pipe
    - close
    - WIFEXITED
    - atof
    - fclose
    - WEXITSTATUS
    - exit
    - fdopen
    - strtoint
    - dup
    - sstrsep
    - OSSL_NELEM
    - printf
    linkageType: ''
    returnType: int
    signature: int do_multi(int multi, int size_num)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/speed.c:5096,1
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:5107,1
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:5108,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/apps/speed.c:5109,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:5110,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/apps/speed.c:5111,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:5112,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/apps/speed.c:5114,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:5115,1
    - Dst: app_malloc
      Src: /src/openssl/apps/speed.c:5118,1
    - Dst: EVP_CIPHER_CTX_rand_key
      Src: /src/openssl/apps/speed.c:5119,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:5120,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/apps/speed.c:5121,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:5122,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/speed.c:5123,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:5125,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:5127,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/speed.c:5128,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:5129,1
    - Dst: print_message
      Src: /src/openssl/apps/speed.c:5132,1
    - Dst: Time_F
      Src: /src/openssl/apps/speed.c:5133,1
    - Dst: COND
      Src: /src/openssl/apps/speed.c:5134,1
    - Dst: memset
      Src: /src/openssl/apps/speed.c:5139,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:5150,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:5157,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/speed.c:5163,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/speed.c:5164,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/apps/speed.c:5168,1
    - Dst: EVP_Cipher
      Src: /src/openssl/apps/speed.c:5170,1
    - Dst: Time_F
      Src: /src/openssl/apps/speed.c:5173,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:5174,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/speed.c:5177,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5182,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5184,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5185,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5186,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5188,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5189,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5191,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5193,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5195,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5196,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5197,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5201,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5203,1
    - Dst: fprintf
      Src: /src/openssl/apps/speed.c:5205,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:5209,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/speed.c:5210,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/apps/speed.c:5211,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 90
    argCount: 3
    argNames:
    - evp_cipher
    - lengths_single
    - seconds
    argTypes:
    - EVP_CIPHER*
    - int
    - openssl_speed_sec_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5212
      start: 5089
    functionDepth: 8
    functionLinenumber: 5089
    functionLinenumberEnd: 5212
    functionName: multiblock_speed
    functionSourceFile: /src/openssl/apps/speed.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_key_length
    - OPENSSL_free
    - app_malloc
    - app_bail_out
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_ctrl
    - BIO_printf
    - EVP_Cipher
    - Time_F
    - EVP_CIPHER_CTX_rand_key
    - print_message
    - EVP_CIPHER_CTX_new
    - memset
    - EVP_CIPHER_get0_name
    - OPENSSL_clear_free
    - RAND_bytes
    - OSSL_NELEM
    - fprintf
    - EVP_CIPHER_CTX_free
    - COND
    linkageType: ''
    returnType: void
    signature: "void multiblock_speed(const EVP_CIPHER *evp_cipher, int lengths_single,\n
      \                            const openssl_speed_sec_t *seconds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/kdf.c:54,1
    - Dst: strlen
      Src: /src/openssl/apps/kdf.c:54,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/kdf.c:58,1
    - Dst: app_malloc
      Src: /src/openssl/apps/kdf.c:62,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/kdf.c:63,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/kdf.c:64,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - optp
    - name
    - arg
    argTypes:
    - STACK_OF**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: alloc_kdf_algorithm_name
    functionSourceFile: /src/openssl/apps/kdf.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - sk_OPENSSL_STRING_new_null
    - BIO_snprintf
    - OPENSSL_free
    - strlen
    - app_malloc
    linkageType: ''
    returnType: char
    signature: "char *alloc_kdf_algorithm_name(STACK_OF(OPENSSL_STRING) **optp,\n
      \                                     const char *name, const char *arg)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/kdf.c:74,1
    - Dst: opt_init
      Src: /src/openssl/apps/kdf.c:84,1
    - Dst: opt_next
      Src: /src/openssl/apps/kdf.c:85,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:89,1
    - Dst: opt_help
      Src: /src/openssl/apps/kdf.c:92,1
    - Dst: atoi
      Src: /src/openssl/apps/kdf.c:99,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:99,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:102,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/kdf.c:106,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/kdf.c:107,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:111,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/openssl/apps/kdf.c:112,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:117,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/openssl/apps/kdf.c:118,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:118,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:123,1
    - Dst: alloc_kdf_algorithm_name
      Src: /src/openssl/apps/kdf.c:124,1
    - Dst: opt_arg
      Src: /src/openssl/apps/kdf.c:124,1
    - Dst: opt_provider
      Src: /src/openssl/apps/kdf.c:129,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/kdf.c:136,1
    - Dst: opt_rest
      Src: /src/openssl/apps/kdf.c:137,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/apps/kdf.c:141,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/kdf.c:141,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/kdf.c:142,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:143,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/apps/kdf.c:147,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/kdf.c:154,1
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/openssl/apps/kdf.c:154,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/apps/kdf.c:159,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:160,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/kdf.c:161,1
    - Dst: app_params_free
      Src: /src/openssl/apps/kdf.c:164,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/kdf.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:174,1
    - Dst: app_malloc
      Src: /src/openssl/apps/kdf.c:177,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/apps/kdf.c:181,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:182,1
    - Dst: BIO_write
      Src: /src/openssl/apps/kdf.c:187,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/apps/kdf.c:189,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:191,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/kdf.c:194,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/kdf.c:200,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/kdf.c:201,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/kdf.c:202,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/apps/kdf.c:203,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/apps/kdf.c:204,1
    - Dst: BIO_free
      Src: /src/openssl/apps/kdf.c:205,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:206,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:207,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:208,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/kdf.c:209,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 211
    functionName: kdf_main
    functionSourceFile: /src/openssl/apps/kdf.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - atoi
    - EVP_KDF_CTX_free
    - OPENSSL_free
    - app_malloc
    - BIO_write
    - app_params_new_from_opts
    - app_get0_propq
    - EVP_KDF_settable_ctx_params
    - opt_rest
    - BIO_printf
    - alloc_kdf_algorithm_name
    - EVP_KDF_fetch
    - app_params_free
    - opt_provider
    - EVP_KDF_CTX_new
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - OPENSSL_buf2hexstr
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - ERR_print_errors
    - opt_arg
    - EVP_KDF_derive
    - opt_num_rest
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - OPENSSL_clear_free
    - EVP_KDF_free
    - app_get0_libctx
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int kdf_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: save_errno
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void save_errno(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: restore_errno
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int restore_errno(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:159,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_client.c:165,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:169,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/s_client.c:173,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:175,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:183,1
    - Dst: memcpy
      Src: /src/openssl/apps/s_client.c:187,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:188,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:191,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:196,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_identity_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 198
    functionName: psk_client_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_hexstr2buf
    - BIO_snprintf
    - OPENSSL_free
    - BIO_printf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int psk_client_cb(SSL *ssl, const char *hint, char *identity,\n
      \                                 unsigned int max_identity_len,\n                                  unsigned
      char *psk,\n                                  unsigned int max_psk_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/apps/s_client.c:212,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/s_client.c:217,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:220,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/apps/s_client.c:226,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:228,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:229,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/apps/s_client.c:233,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/apps/s_client.c:235,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/apps/s_client.c:236,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/apps/s_client.c:237,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:238,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:241,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/apps/s_client.c:244,1
    - Dst: SSL_CIPHER_get_handshake_digest
      Src: /src/openssl/apps/s_client.c:248,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:253,1
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:257,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:263,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - s
    - md
    - id
    - idlen
    - sess
    argTypes:
    - SSL*
    - EVP_MD*
    - unsigned char**
    - size_t*
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 265
    functionName: psk_use_session_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_up_ref
    - SSL_SESSION_free
    - SSL_SESSION_set_protocol_version
    - strlen
    - SSL_CIPHER_find
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - SSL_SESSION_set_cipher
    - SSL_SESSION_set1_master_key
    - SSL_CIPHER_get_handshake_digest
    - SSL_SESSION_new
    - SSL_SESSION_get0_cipher
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int psk_use_session_cb(SSL *s, const EVP_MD *md,\n                              const
      unsigned char **id, size_t *idlen,\n                              SSL_SESSION
      **sess)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/apps/s_client.c:276,1
    - Dst: SSL_get_servername_type
      Src: /src/openssl/apps/s_client.c:277,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_client.c:278,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: ssl_servername_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - SSL_get_servername
    - SSL_session_reused
    - SSL_get_servername_type
    linkageType: ''
    returnType: int
    signature: int ssl_servername_cb(SSL *s, int *ad, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:304,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:307,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:308,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:311,1
    - Dst: SSL_select_next_proto
      Src: /src/openssl/apps/s_client.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 318
    functionName: next_proto_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_printf
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int next_proto_cb(SSL *s, unsigned char **out, unsigned char *outlen,\n
      \                        const unsigned char *in, unsigned int inlen,\n                         void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/apps/s_client.c:334,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/s_client.c:336,1
    - Dst: PEM_write_bio
      Src: /src/openssl/apps/s_client.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: serverinfo_cli_parse_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - memcpy
    - PEM_write_bio
    linkageType: ''
    returnType: int
    signature: "int serverinfo_cli_parse_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char *in, size_t inlen,\n                                   int *al,
      void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:350,1
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:350,1
    - Dst: isspace
      Src: /src/openssl/apps/s_client.c:361,1
    - Dst: _UC
      Src: /src/openssl/apps/s_client.c:361,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/s_client.c:363,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:365,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:377,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - inptr
    - result
    argTypes:
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 383
    functionName: hexdecode
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_hexchar2int
    - isspace
    - _UC
    - OPENSSL_free
    - strlen
    - app_malloc
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t hexdecode(const char **inptr, void *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: save_errno
      Src: /src/openssl/apps/s_client.c:397,1
    - Dst: strtol
      Src: /src/openssl/apps/s_client.c:398,1
    - Dst: restore_errno
      Src: /src/openssl/apps/s_client.c:399,1
    - Dst: isspace
      Src: /src/openssl/apps/s_client.c:402,1
    - Dst: _UC
      Src: /src/openssl/apps/s_client.c:402,1
    - Dst: isspace
      Src: /src/openssl/apps/s_client.c:406,1
    - Dst: _UC
      Src: /src/openssl/apps/s_client.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - inptr
    - out
    argTypes:
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 411
    functionName: checked_uint8
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - isspace
    - restore_errno
    - strtol
    - _UC
    - save_errno
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t checked_uint8(const char **inptr, void *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct tlsa_field*::parser
      Src: /src/openssl/apps/s_client.c:440,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:441,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/openssl/apps/s_client.c:447,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:448,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:451,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:452,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:457,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - con
    - rrdata
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 419
    functionDepth: 5
    functionLinenumber: 419
    functionLinenumberEnd: 463
    functionName: tlsa_import_rr
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - SSL_dane_tlsa_add
    - struct tlsa_field*::parser
    - OPENSSL_free
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int tlsa_import_rr(SSL *con, const char *rrdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 810
    functionName: IS_INET_FLAG
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_INET_FLAG(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 811
    functionName: IS_UNIX_FLAG
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_UNIX_FLAG(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: IS_PROT_FLAG
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PROT_FLAG(o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:820,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 824
    functionName: freeandcopy
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: void
    signature: void freeandcopy(char **dest, const char *source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:830,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:833,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/apps/s_client.c:835,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:836,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:844,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:845,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/s_client.c:847,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 826
    functionDepth: 3
    functionLinenumber: 826
    functionLinenumberEnd: 856
    functionName: new_session_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - BIO_free
    - PEM_write_bio_SSL_SESSION
    - SSL_version
    - BIO_printf
    - SSL_SESSION_print
    linkageType: ''
    returnType: int
    signature: int new_session_cb(SSL *s, SSL_SESSION *sess)
  - BBCount: 459
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:864,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:869,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:871,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:873,1
    - Dst: TLS_client_method
      Src: /src/openssl/apps/s_client.c:874,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:977,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:978,1
    - Dst: __has_feature
      Src: /src/openssl/apps/s_client.c:981,1
    - Dst: __msan_unpoison
      Src: /src/openssl/apps/s_client.c:982,1
    - Dst: __msan_unpoison
      Src: /src/openssl/apps/s_client.c:983,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:991,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/s_client.c:992,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/apps/s_client.c:993,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:996,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/s_client.c:996,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:1000,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:1001,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:1002,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/apps/s_client.c:1004,1
    - Dst: opt_init
      Src: /src/openssl/apps/s_client.c:1006,1
    - Dst: opt_next
      Src: /src/openssl/apps/s_client.c:1007,1
    - Dst: IS_INET_FLAG
      Src: /src/openssl/apps/s_client.c:1009,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1010,1
    - Dst: IS_UNIX_FLAG
      Src: /src/openssl/apps/s_client.c:1015,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1016,1
    - Dst: IS_PROT_FLAG
      Src: /src/openssl/apps/s_client.c:1022,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1023,1
    - Dst: IS_NO_PROT_FLAG
      Src: /src/openssl/apps/s_client.c:1026,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1029,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1038,1
    - Dst: opt_help
      Src: /src/openssl/apps/s_client.c:1041,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1058,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1058,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1062,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1062,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1066,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1066,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1069,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1069,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1072,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1075,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1078,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1084,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1084,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1090,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1094,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1094,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1096,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1099,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/s_client.c:1102,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1102,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1106,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1112,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1115,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_client.c:1118,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1118,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_client.c:1122,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1122,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_client.c:1137,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_client.c:1139,1
    - Dst: opt_flag
      Src: /src/openssl/apps/s_client.c:1139,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_client.c:1140,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1140,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1141,1
    - Dst: opt_verify
      Src: /src/openssl/apps/s_client.c:1146,1
    - Dst: args_excert
      Src: /src/openssl/apps/s_client.c:1151,1
    - Dst: setup_engine
      Src: /src/openssl/apps/s_client.c:1179,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1179,1
    - Dst: setup_engine
      Src: /src/openssl/apps/s_client.c:1183,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1183,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1185,1
    - Dst: opt_rand
      Src: /src/openssl/apps/s_client.c:1191,1
    - Dst: opt_provider
      Src: /src/openssl/apps/s_client.c:1195,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/s_client.c:1216,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/s_client.c:1221,1
    - Dst: dbug_init
      Src: /src/openssl/apps/s_client.c:1229,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:1236,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1236,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1238,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1238,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1263,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1266,1
    - Dst: isxdigit
      Src: /src/openssl/apps/s_client.c:1267,1
    - Dst: _UC
      Src: /src/openssl/apps/s_client.c:1267,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1269,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1274,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1278,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1283,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1288,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1288,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1289,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1306,1
    - Dst: DTLS_client_method
      Src: /src/openssl/apps/s_client.c:1355,1
    - Dst: DTLS_client_method
      Src: /src/openssl/apps/s_client.c:1363,1
    - Dst: DTLS_client_method
      Src: /src/openssl/apps/s_client.c:1373,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/apps/s_client.c:1383,1
    - Dst: atol
      Src: /src/openssl/apps/s_client.c:1410,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1410,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_client.c:1417,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1417,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1421,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1424,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1427,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1433,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1439,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1442,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1448,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1451,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1464,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1468,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1471,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1474,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1480,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1483,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1486,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_client.c:1490,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_client.c:1492,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1492,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1493,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1502,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1506,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1509,1
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:1510,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1513,1
    - Dst: opt_pair
      Src: /src/openssl/apps/s_client.c:1521,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1521,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1528,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1535,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1539,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1542,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1542,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1548,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1548,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1563,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1570,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1570,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1573,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1573,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1576,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1576,1
    - Dst: atoi
      Src: /src/openssl/apps/s_client.c:1579,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1579,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1582,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_client.c:1585,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/s_client.c:1605,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1608,1
    - Dst: freeandcopy
      Src: /src/openssl/apps/s_client.c:1614,1
    - Dst: opt_rest
      Src: /src/openssl/apps/s_client.c:1614,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/s_client.c:1615,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/s_client.c:1618,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1625,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1630,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1636,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1645,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_client.c:1654,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1656,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1658,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1660,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1673,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:1678,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1680,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:1686,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_client.c:1687,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1689,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_client.c:1693,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1695,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1697,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1699,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1704,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_client.c:1713,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1716,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1725,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1734,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_client.c:1746,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1748,1
    - Dst: app_passwd
      Src: /src/openssl/apps/s_client.c:1755,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1756,1
    - Dst: app_passwd
      Src: /src/openssl/apps/s_client.c:1760,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1761,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1766,1
    - Dst: load_key
      Src: /src/openssl/apps/s_client.c:1774,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/s_client.c:1781,1
    - Dst: load_certs
      Src: /src/openssl/apps/s_client.c:1788,1
    - Dst: load_crl
      Src: /src/openssl/apps/s_client.c:1794,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/s_client.c:1797,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/s_client.c:1798,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1799,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/s_client.c:1800,1
    - Dst: load_excert
      Src: /src/openssl/apps/s_client.c:1805,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:1810,1
    - Dst: BIO_s_null
      Src: /src/openssl/apps/s_client.c:1810,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/s_client.c:1812,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1814,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/s_client.c:1819,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1823,1
    - Dst: app_passwd
      Src: /src/openssl/apps/s_client.c:1828,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1829,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/apps/s_client.c:1834,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_client.c:1834,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_client.c:1834,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/openssl/apps/s_client.c:1838,1
    - Dst: ssl_ctx_security_debug
      Src: /src/openssl/apps/s_client.c:1841,1
    - Dst: config_ctx
      Src: /src/openssl/apps/s_client.c:1843,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/apps/s_client.c:1847,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1848,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_client.c:1856,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/s_client.c:1860,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/s_client.c:1863,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_client.c:1867,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_client.c:1870,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/apps/s_client.c:1873,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1874,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_client.c:1879,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/apps/s_client.c:1883,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1884,1
    - Dst: SSL_CTX_set_split_send_fragment
      Src: /src/openssl/apps/s_client.c:1890,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1891,1
    - Dst: SSL_CTX_set_max_pipelines
      Src: /src/openssl/apps/s_client.c:1897,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1898,1
    - Dst: SSL_CTX_set_default_read_buffer_len
      Src: /src/openssl/apps/s_client.c:1904,1
    - Dst: SSL_CTX_set_tlsext_max_fragment_length
      Src: /src/openssl/apps/s_client.c:1908,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1909,1
    - Dst: ssl_load_stores
      Src: /src/openssl/apps/s_client.c:1915,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1919,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:1923,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/apps/s_client.c:1923,1
    - Dst: SSL_add_file_cert_subjects_to_stack
      Src: /src/openssl/apps/s_client.c:1925,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/apps/s_client.c:1926,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1927,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/openssl/apps/s_client.c:1930,1
    - Dst: SSL_CTX_set_client_cert_engine
      Src: /src/openssl/apps/s_client.c:1934,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:1935,1
    - Dst: release_engine
      Src: /src/openssl/apps/s_client.c:1936,1
    - Dst: release_engine
      Src: /src/openssl/apps/s_client.c:1939,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1946,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/apps/s_client.c:1947,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:1951,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1954,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/apps/s_client.c:1957,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:1958,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1960,1
    - Dst: SSL_CTX_set_psk_use_session_callback
      Src: /src/openssl/apps/s_client.c:1965,1
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/openssl/apps/s_client.c:1970,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1971,1
    - Dst: ssl_ctx_set_excert
      Src: /src/openssl/apps/s_client.c:1978,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/openssl/apps/s_client.c:1982,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_client.c:1986,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1989,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/openssl/apps/s_client.c:1993,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:1994,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:1997,1
    - Dst: SSL_CTX_add_client_custom_ext
      Src: /src/openssl/apps/s_client.c:2001,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2005,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/apps/s_client.c:2012,1
    - Dst: SSL_CTX_enable_ct
      Src: /src/openssl/apps/s_client.c:2017,1
    - Dst: ctx_set_ctlog_list_file
      Src: /src/openssl/apps/s_client.c:2021,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/s_client.c:2031,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/s_client.c:2035,1
    - Dst: ctx_set_verify_locations
      Src: /src/openssl/apps/s_client.c:2037,1
    - Dst: ssl_ctx_add_crls
      Src: /src/openssl/apps/s_client.c:2041,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_client.c:2043,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/apps/s_client.c:2048,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/apps/s_client.c:2049,1
    - Dst: set_up_srp_arg
      Src: /src/openssl/apps/s_client.c:2053,1
    - Dst: SSL_CTX_dane_enable
      Src: /src/openssl/apps/s_client.c:2058,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2059,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/apps/s_client.c:2071,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/apps/s_client.c:2073,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_client.c:2075,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_client.c:2078,1
    - Dst: SSL_set_post_handshake_auth
      Src: /src/openssl/apps/s_client.c:2083,1
    - Dst: SSL_set1_client_cert_type
      Src: /src/openssl/apps/s_client.c:2086,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2087,1
    - Dst: SSL_set1_server_cert_type
      Src: /src/openssl/apps/s_client.c:2091,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2092,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:2099,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2101,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/apps/s_client.c:2104,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2105,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2107,1
    - Dst: SSL_set_session
      Src: /src/openssl/apps/s_client.c:2110,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2111,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:2115,1
    - Dst: SSL_set_mode
      Src: /src/openssl/apps/s_client.c:2119,1
    - Dst: is_dNS_name
      Src: /src/openssl/apps/s_client.c:2123,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/apps/s_client.c:2126,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2127,1
    - Dst: SSL_dane_enable
      Src: /src/openssl/apps/s_client.c:2133,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2134,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2139,1
    - Dst: tlsa_import_rrset
      Src: /src/openssl/apps/s_client.c:2143,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2144,1
    - Dst: SSL_dane_set_flags
      Src: /src/openssl/apps/s_client.c:2149,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2151,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2157,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2163,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2167,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2173,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:2176,1
    - Dst: init_client
      Src: /src/openssl/apps/s_client.c:2178,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2180,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:2180,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2181,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2184,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/apps/s_client.c:2191,1
    - Dst: SSL_set_blocking_mode
      Src: /src/openssl/apps/s_client.c:2194,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2196,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/apps/s_client.c:2205,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/apps/s_client.c:2208,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/s_client.c:2210,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2211,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2212,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2213,1
    - Dst: BIO_sock_info
      Src: /src/openssl/apps/s_client.c:2216,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2217,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:2218,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2219,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:2220,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2221,1
    - Dst: BIO_ctrl_set_connected
      Src: /src/openssl/apps/s_client.c:2225,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:2226,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_client.c:2232,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_client.c:2236,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/openssl/apps/s_client.c:2240,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2241,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/openssl/apps/s_client.c:2242,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2243,1
    - Dst: SSL_set_options
      Src: /src/openssl/apps/s_client.c:2246,1
    - Dst: DTLS_set_link_mtu
      Src: /src/openssl/apps/s_client.c:2247,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2248,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2249,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_client.c:2254,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/apps/s_client.c:2260,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/apps/s_client.c:2261,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2262,1
    - Dst: BIO_new_socket
      Src: /src/openssl/apps/s_client.c:2267,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2270,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2271,1
    - Dst: BIO_set_conn_address
      Src: /src/openssl/apps/s_client.c:2277,1
    - Dst: BIO_set_tfo
      Src: /src/openssl/apps/s_client.c:2278,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2284,1
    - Dst: BIO_f_nbio_test
      Src: /src/openssl/apps/s_client.c:2284,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2286,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2287,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2290,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/s_client.c:2294,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_client.c:2295,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_client.c:2300,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_client.c:2303,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/apps/s_client.c:2304,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_client.c:2308,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_client.c:2309,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/openssl/apps/s_client.c:2313,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/apps/s_client.c:2314,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/apps/s_client.c:2315,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_client.c:2319,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/s_client.c:2320,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_client.c:2323,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2323,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_client.c:2324,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2326,1
    - Dst: OSSL_HTTP_proxy_connect
      Src: /src/openssl/apps/s_client.c:2343,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2364,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2364,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2367,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2370,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2373,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2378,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2380,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2381,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2387,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2388,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2391,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2392,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2393,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2395,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2398,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2399,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2404,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2405,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2406,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2408,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2416,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2416,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2419,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2422,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2423,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2425,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2426,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2429,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2430,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2434,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2435,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2436,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2438,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2441,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2442,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2447,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2447,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2450,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2453,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2456,1
    - Dst: isdigit
      Src: /src/openssl/apps/s_client.c:2458,1
    - Dst: isdigit
      Src: /src/openssl/apps/s_client.c:2458,1
    - Dst: isdigit
      Src: /src/openssl/apps/s_client.c:2458,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2459,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2460,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2461,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2462,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2463,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2470,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2475,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2477,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2481,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2483,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2486,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2493,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2495,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2497,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2501,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2523,1
    - Dst: memcmp
      Src: /src/openssl/apps/s_client.c:2524,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2527,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2528,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2529,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2531,1
    - Dst: memcmp
      Src: /src/openssl/apps/s_client.c:2532,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2539,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2539,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2542,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2545,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2546,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2547,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2548,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:2553,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:2554,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2554,1
    - Dst: BIO_get_buffer_num_lines
      Src: /src/openssl/apps/s_client.c:2564,1
    - Dst: BIO_pending
      Src: /src/openssl/apps/s_client.c:2565,1
    - Dst: BIO_pending
      Src: /src/openssl/apps/s_client.c:2566,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:2567,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2569,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2575,1
    - Dst: sscanf
      Src: /src/openssl/apps/s_client.c:2576,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2581,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2582,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2586,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2591,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2592,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2593,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2595,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2625,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2627,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2631,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2636,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2640,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2649,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2658,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2665,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2672,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2677,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2678,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2690,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2691,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2694,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2702,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2702,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2705,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2708,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2709,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2711,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2712,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2713,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2715,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2718,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2719,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2723,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2724,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2725,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2727,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2730,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2731,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2733,1
    - Dst: strstr
      Src: /src/openssl/apps/s_client.c:2737,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2738,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2746,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_client.c:2746,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2749,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_client.c:2752,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_client.c:2755,1
    - Dst: make_uppercase
      Src: /src/openssl/apps/s_client.c:2761,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_client.c:2762,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2766,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/s_client.c:2767,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2768,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2770,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2773,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2774,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2776,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2781,1
    - Dst: strncpy
      Src: /src/openssl/apps/s_client.c:2788,1
    - Dst: make_uppercase
      Src: /src/openssl/apps/s_client.c:2789,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_client.c:2790,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2791,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_client.c:2808,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/s_client.c:2808,1
    - Dst: NCONF_new
      Src: /src/openssl/apps/s_client.c:2809,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2812,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:2813,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2816,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/apps/s_client.c:2817,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2818,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:2819,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2821,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2824,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2828,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/s_client.c:2829,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:2831,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2832,1
    - Dst: ASN1_generate_nconf
      Src: /src/openssl/apps/s_client.c:2835,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:2837,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2838,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/s_client.c:2841,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2844,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:2846,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/s_client.c:2847,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:2849,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2851,1
    - Dst: ldap_ExtendedResponse_parse
      Src: /src/openssl/apps/s_client.c:2854,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2856,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2859,1
    - Dst: SSL_get0_session
      Src: /src/openssl/apps/s_client.c:2869,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/openssl/apps/s_client.c:2870,1
    - Dst: SSL_get0_session
      Src: /src/openssl/apps/s_client.c:2870,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/openssl/apps/s_client.c:2872,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_client.c:2873,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2878,1
    - Dst: BIO_read_ex
      Src: /src/openssl/apps/s_client.c:2883,1
    - Dst: SSL_write_early_data
      Src: /src/openssl/apps/s_client.c:2886,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_client.c:2887,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2894,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2895,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:2901,1
    - Dst: user_data_init
      Src: /src/openssl/apps/s_client.c:2904,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:2906,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:2907,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/apps/s_client.c:2910,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/apps/s_client.c:2916,1
    - Dst: SSL_total_renegotiations
      Src: /src/openssl/apps/s_client.c:2916,1
    - Dst: SSL_get_key_update_type
      Src: /src/openssl/apps/s_client.c:2917,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:2925,1
    - Dst: print_ssl_summary
      Src: /src/openssl/apps/s_client.c:2926,1
    - Dst: print_stuff
      Src: /src/openssl/apps/s_client.c:2929,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:2934,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2942,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_client.c:2944,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/s_client.c:2945,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:2946,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:2946,1
    - Dst: user_data_process
      Src: /src/openssl/apps/s_client.c:2954,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:2956,1
    - Dst: user_data_has_data
      Src: /src/openssl/apps/s_client.c:2974,1
    - Dst: SSL_has_pending
      Src: /src/openssl/apps/s_client.c:2984,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:2995,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_client.c:2995,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:2998,1
    - Dst: fileno_stdout
      Src: /src/openssl/apps/s_client.c:2998,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/apps/s_client.c:3009,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3010,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3010,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/apps/s_client.c:3012,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3013,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3013,1
    - Dst: SSL_net_read_desired
      Src: /src/openssl/apps/s_client.c:3017,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3018,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3018,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/apps/s_client.c:3020,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3021,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3021,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:3045,1
    - Dst: has_stdin_waiting
      Src: /src/openssl/apps/s_client.c:3047,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:3050,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:3054,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3058,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:3059,1
    - Dst: SSL_handle_events
      Src: /src/openssl/apps/s_client.c:3065,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3067,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3067,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3068,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3068,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3069,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3073,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3073,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_client.c:3075,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_client.c:3076,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3093,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3098,1
    - Dst: wait_for_async
      Src: /src/openssl/apps/s_client.c:3099,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3104,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3110,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3114,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:3125,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3128,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3146,1
    - Dst: fileno_stdout
      Src: /src/openssl/apps/s_client.c:3146,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/s_client.c:3150,1
    - Dst: raw_write_stdout
      Src: /src/openssl/apps/s_client.c:3152,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3155,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3167,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3167,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_client.c:3172,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_client.c:3177,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_client.c:3179,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3190,1
    - Dst: wait_for_async
      Src: /src/openssl/apps/s_client.c:3191,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3198,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3203,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3210,1
    - Dst: get_last_socket_error
      Src: /src/openssl/apps/s_client.c:3213,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3215,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3217,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3220,1
    - Dst: has_stdin_waiting
      Src: /src/openssl/apps/s_client.c:3238,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_client.c:3240,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_client.c:3240,1
    - Dst: raw_read_stdin
      Src: /src/openssl/apps/s_client.c:3246,1
    - Dst: assert
      Src: /src/openssl/apps/s_client.c:3260,1
    - Dst: raw_read_stdin
      Src: /src/openssl/apps/s_client.c:3262,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3269,1
    - Dst: user_data_add
      Src: /src/openssl/apps/s_client.c:3274,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:3285,1
    - Dst: print_stuff
      Src: /src/openssl/apps/s_client.c:3287,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_client.c:3288,1
    - Dst: shutdown
      Src: /src/openssl/apps/s_client.c:3300,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3300,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_client.c:3309,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_client.c:3310,1
    - Dst: select
      Src: /src/openssl/apps/s_client.c:3311,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_client.c:3312,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:3314,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3314,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_client.c:3317,1
    - Dst: print_stuff
      Src: /src/openssl/apps/s_client.c:3320,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_client.c:3321,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_client.c:3323,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3325,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/s_client.c:3327,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_client.c:3328,1
    - Dst: X509_free
      Src: /src/openssl/apps/s_client.c:3329,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/s_client.c:3330,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_client.c:3331,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/s_client.c:3332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3333,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3335,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3337,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:3338,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3339,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3340,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3341,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3342,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3343,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3344,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3345,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3346,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/s_client.c:3347,1
    - Dst: ssl_excert_free
      Src: /src/openssl/apps/s_client.c:3348,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_client.c:3349,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_client.c:3350,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/apps/s_client.c:3351,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/s_client.c:3352,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/s_client.c:3353,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/s_client.c:3354,1
    - Dst: clear_free
      Src: /src/openssl/apps/s_client.c:3355,1
    - Dst: release_engine
      Src: /src/openssl/apps/s_client.c:3356,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3357,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_client.c:3359,1
    CyclomaticComplexity: 746
    EdgeCount: 746
    ICount: 1917
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (lf_num == 0)
      pos:
        line_end: 3259
        line_start: 3259
        source_file: /src/openssl/apps/s_client.c
    constantsTouched: []
    func_position:
      end: 3362
      start: 858
    functionDepth: 6
    functionLinenumber: 858
    functionLinenumberEnd: 3362
    functionName: s_client_main
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_tlsext_status_arg
    - SSL_CTX_set_max_send_fragment
    - SSL_dane_set_flags
    - BIO_set_callback_ex
    - opt_rand
    - strstr
    - SSL_is_init_finished
    - print_ssl_summary
    - fileno_stdin
    - SSL_set_blocking_mode
    - opt_check_rest_arg
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_set_msg_callback
    - app_malloc
    - opt_getprog
    - BIO_pop
    - config_ctx
    - FD_ISSET
    - SSL_CTX_set_options
    - SSL_read
    - BIO_socket_nbio
    - SSL_set_tlsext_host_name
    - app_get0_propq
    - EVP_PKEY_free
    - SSL_set_post_handshake_auth
    - SSL_CTX_add_client_custom_ext
    - ssl_ctx_security_debug
    - BIO_read
    - SSL_CTX_sess_set_new_cb
    - ssl_ctx_add_crls
    - X509_VERIFY_PARAM_free
    - SSL_SESSION_get_max_early_data
    - setup_engine
    - BIO_ctrl_set_connected
    - SSL_CTX_set_max_pipelines
    - raw_write_stdout
    - SSL_CTX_set1_param
    - set_keylog_file
    - next_protos_parse
    - BIO_s_null
    - sk_X509_NAME_new_null
    - BIO_ADDR_free
    - BIO_pending
    - OPENSSL_clear_free
    - app_passwd
    - SSL_CTX_clear_mode
    - BIO_parse_hostserv
    - SSL_write
    - BIO_sock_info
    - IS_INET_FLAG
    - ctx_set_ctlog_list_file
    - release_engine
    - sk_OPENSSL_STRING_push
    - SSL_CTX_dane_enable
    - SSL_set_tlsext_status_type
    - SSL_CONF_CTX_new
    - OPENSSL_free
    - BIO_s_mem
    - NCONF_free
    - args_excert
    - ssl_load_stores
    - set_nameopt
    - SSL_get_error
    - SSL_set_connect_state
    - ssl_ctx_set_excert
    - SSL_CTX_free
    - ERR_clear_error
    - set_cert_key_stuff
    - _UC
    - OSSL_STACK_OF_X509_free
    - SSL_set1_client_cert_type
    - DTLS_set_link_mtu
    - BIO_push
    - X509_VERIFY_PARAM_set_flags
    - OSSL_QUIC_client_method
    - NCONF_load_bio
    - opt_rest
    - SSL_get_event_timeout
    - ascii2ebcdic
    - SSL_CTX_set_psk_use_session_callback
    - BIO_new_file
    - load_key
    - IS_NO_PROT_FLAG
    - is_dNS_name
    - BIO_puts
    - SSL_CTX_set_session_cache_mode
    - BIO_gets
    - SSL_handle_events
    - SSL_CTX_config
    - SSL_set_tlsext_debug_arg
    - dbug_init
    - BIO_f_nbio_test
    - set_up_srp_arg
    - ldap_ExtendedResponse_parse
    - opt_next
    - opt_format
    - get_last_socket_error
    - dup_bio_out
    - app_get0_libctx
    - SSL_has_pending
    - IS_UNIX_FLAG
    - ERR_print_errors
    - raw_read_stdin
    - sk_X509_CRL_pop_free
    - SSL_CTX_set_tlsext_max_fragment_length
    - atoi
    - SSL_CTX_set_psk_client_callback
    - BIO_ADDR_new
    - __msan_unpoison
    - BIO_set_conn_address
    - X509_CRL_free
    - SSL_CTX_set_verify
    - SSL_set_mode
    - SSL_get_key_update_type
    - SSL_add_file_cert_subjects_to_stack
    - print_stuff
    - strlen
    - assert
    - app_RAND_load
    - BIO_new
    - BIO_write
    - user_data_process
    - SSL_CTX_set_alpn_protos
    - BIO_new_socket
    - fileno_stdout
    - freeandcopy
    - opt_flag
    - SSL_CTX_set_default_read_buffer_len
    - PEM_read_bio_SSL_SESSION
    - isdigit
    - make_uppercase
    - atol
    - SSL_CTX_set_max_proto_version
    - BIO_printf
    - SSL_CTX_set_next_proto_select_cb
    - OSSL_HTTP_proxy_connect
    - BIO_closesocket
    - opt_provider
    - isxdigit
    - SSL_CTX_new_ex
    - SSL_free
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - load_certs
    - BIO_new_dgram_sctp
    - SSL_CTX_set_client_cert_engine
    - has_stdin_waiting
    - SSL_set_msg_callback_arg
    - user_data_add
    - user_data_has_data
    - load_crl
    - sk_X509_NAME_pop_free
    - opt_arg
    - SSL_CTX_set_tlsext_use_srtp
    - __has_feature
    - SSL_set_tlsext_debug_callback
    - do_ssl_shutdown
    - wait_for_async
    - IS_PROT_FLAG
    - opt_help
    - SSL_net_read_desired
    - opt_init
    - SSL_CTX_set_info_callback
    - NCONF_new
    - init_client
    - SSL_get0_session
    - SSL_total_renegotiations
    - ssl_excert_free
    - SSL_CONF_CTX_free
    - SSL_set_options
    - select
    - ASN1_TYPE_free
    - BIO_get_buffer_num_lines
    - BIO_new_dgram
    - load_excert
    - SSL_dane_enable
    - SSL_CONF_CTX_set_flags
    - ctx_set_verify_locations
    - SSL_CTX_set_mode
    - X509_free
    - SSL_CTX_set_split_send_fragment
    - DTLS_get_link_min_mtu
    - shutdown
    - load_cert_pass
    - HAS_PREFIX
    - FD_ZERO
    - SSL_net_write_desired
    - sk_X509_CRL_push
    - BIO_ctrl
    - BIO_flush
    - BIO_set_tfo
    - X509_VERIFY_PARAM_new
    - DTLS_client_method
    - OPENSSL_strdup
    - opt_verify
    - tlsa_import_rrset
    - SSL_set_bio
    - opt_pair
    - strncpy
    - SSL_SESSION_free
    - SSL_CTX_set_min_proto_version
    - SSL_write_early_data
    - openssl_fdset
    - STACK_OF
    - SSL_new
    - SSL_CTX_set_tlsext_servername_arg
    - BIO_f_buffer
    - NCONF_get_string
    - sk_OPENSSL_STRING_free
    - clear_free
    - SSL_get_fd
    - SSL_renegotiate
    - TLS_client_method
    - BIO_set_callback_arg
    - opt_num_rest
    - memcmp
    - SSL_CTX_enable_ct
    - SSL_CTX_set_tlsext_status_cb
    - user_data_init
    - SSL_CTX_set0_CA_list
    - ASN1_generate_nconf
    - sk_X509_CRL_new_null
    - SSL_set1_initial_peer_addr
    - BIO_read_ex
    - sscanf
    - SSL_set_session
    - SSL_set1_server_cert_type
    linkageType: ''
    returnType: int
    signature: int s_client_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3231
    functionDepth: 0
    functionLinenumber: 3231
    functionLinenumberEnd: 3234
    functionName: if
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if (nointeractive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/apps/s_client.c:3369,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/apps/s_client.c:3370,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/apps/s_client.c:3371,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 3364
    functionDepth: 2
    functionLinenumber: 3364
    functionLinenumberEnd: 3377
    functionName: ec_curve_name
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc
    - EVP_PKEY_get_group_name
    linkageType: ''
    returnType: char
    signature: char *ec_curve_name(EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/s_client.c:3381,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/s_client.c:3387,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/s_client.c:3389,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/openssl/apps/s_client.c:3389,1
    - Dst: EVP_PKEY_id
      Src: /src/openssl/apps/s_client.c:3390,1
    - Dst: ec_curve_name
      Src: /src/openssl/apps/s_client.c:3391,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3393,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/s_client.c:3395,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/apps/s_client.c:3395,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3397,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/s_client.c:3398,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/s_client.c:3399,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/apps/s_client.c:3399,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - cert
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3379
    functionDepth: 6
    functionLinenumber: 3379
    functionLinenumberEnd: 3401
    functionName: print_cert_key_info
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - X509_get0_pubkey
    - EVP_PKEY_get_bits
    - EVP_PKEY_get0_type_name
    - EVP_PKEY_id
    - OPENSSL_free
    - X509_get_signature_nid
    - OBJ_nid2ln
    - ec_curve_name
    - BIO_printf
    - EVP_PKEY_get_base_id
    linkageType: ''
    returnType: void
    signature: void print_cert_key_info(BIO *bio, X509 *cert)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:3406,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:3408,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/apps/s_client.c:3415,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/openssl/apps/s_client.c:3421,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3425,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/s_client.c:3426,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/s_client.c:3427,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3429,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/s_client.c:3430,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/s_client.c:3430,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/s_client.c:3430,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3431,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3432,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/s_client.c:3433,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/s_client.c:3433,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/s_client.c:3433,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3434,1
    - Dst: print_cert_key_info
      Src: /src/openssl/apps/s_client.c:3435,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3436,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/apps/s_client.c:3437,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/apps/s_client.c:3437,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3438,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/apps/s_client.c:3439,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/s_client.c:3439,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3440,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/s_client.c:3442,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3446,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/apps/s_client.c:3447,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3449,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/s_client.c:3453,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/s_client.c:3454,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3456,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/apps/s_client.c:3460,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3461,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/apps/s_client.c:3462,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3463,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/apps/s_client.c:3465,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3468,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/s_client.c:3469,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3471,1
    - Dst: print_ca_names
      Src: /src/openssl/apps/s_client.c:3475,1
    - Dst: ssl_print_sigalgs
      Src: /src/openssl/apps/s_client.c:3477,1
    - Dst: ssl_print_tmp_key
      Src: /src/openssl/apps/s_client.c:3478,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_client.c:3490,1
    - Dst: SSL_ct_is_enabled
      Src: /src/openssl/apps/s_client.c:3490,1
    - Dst: SSL_get0_peer_scts
      Src: /src/openssl/apps/s_client.c:3491,1
    - Dst: sk_SCT_num
      Src: /src/openssl/apps/s_client.c:3492,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3494,1
    - Dst: SSL_CTX_get0_ctlog_store
      Src: /src/openssl/apps/s_client.c:3496,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3498,1
    - Dst: sk_SCT_value
      Src: /src/openssl/apps/s_client.c:3500,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3502,1
    - Dst: SCT_validation_status_string
      Src: /src/openssl/apps/s_client.c:3503,1
    - Dst: SCT_print
      Src: /src/openssl/apps/s_client.c:3504,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3506,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3508,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3513,1
    - Dst: BIO_number_read
      Src: /src/openssl/apps/s_client.c:3516,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_client.c:3516,1
    - Dst: BIO_number_written
      Src: /src/openssl/apps/s_client.c:3517,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_client.c:3517,1
    - Dst: print_verify_detail
      Src: /src/openssl/apps/s_client.c:3519,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3520,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_client.c:3520,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/apps/s_client.c:3521,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3522,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/openssl/apps/s_client.c:3523,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/s_client.c:3523,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3524,1
    - Dst: SSL_get_version
      Src: /src/openssl/apps/s_client.c:3524,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/s_client.c:3528,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3529,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/s_client.c:3530,1
    - Dst: ssl_print_secure_renegotiation_notes
      Src: /src/openssl/apps/s_client.c:3533,1
    - Dst: SSL_get_current_compression
      Src: /src/openssl/apps/s_client.c:3536,1
    - Dst: SSL_get_current_expansion
      Src: /src/openssl/apps/s_client.c:3537,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3538,1
    - Dst: SSL_COMP_get_name
      Src: /src/openssl/apps/s_client.c:3539,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3540,1
    - Dst: SSL_COMP_get_name
      Src: /src/openssl/apps/s_client.c:3541,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/apps/s_client.c:3544,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_client.c:3544,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3545,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/apps/s_client.c:3546,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_client.c:3546,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3547,1
    - Dst: OSSL_TRACE_ENABLED
      Src: /src/openssl/apps/s_client.c:3550,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3555,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/s_client.c:3556,1
    - Dst: BIO_sock_info
      Src: /src/openssl/apps/s_client.c:3557,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3558,1
    - Dst: ntohs
      Src: /src/openssl/apps/s_client.c:3559,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/apps/s_client.c:3559,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_client.c:3561,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/apps/s_client.c:3568,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3569,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3570,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3571,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/apps/s_client.c:3577,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3579,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3580,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_client.c:3581,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3583,1
    - Dst: SSL_get_selected_srtp_profile
      Src: /src/openssl/apps/s_client.c:3589,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3592,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/apps/s_client.c:3598,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3600,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3604,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3608,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/apps/s_client.c:3618,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3619,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/s_client.c:3620,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/s_client.c:3623,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_client.c:3623,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_client.c:3626,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3627,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3628,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3629,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_client.c:3630,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/apps/s_client.c:3631,1
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:3634,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3636,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3638,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3640,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3641,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_client.c:3643,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3645,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_client.c:3647,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 140
    argCount: 3
    argNames:
    - bio
    - s
    - full
    argTypes:
    - BIO*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3648
      start: 3403
    functionDepth: 8
    functionLinenumber: 3403
    functionLinenumberEnd: 3648
    functionName: print_stuff
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - ssl_print_tmp_key
    - SCT_print
    - BIO_ADDR_new
    - X509_get0_notBefore
    - SSL_get_peer_cert_chain
    - PEM_write_bio_X509
    - ASN1_TIME_print
    - SSL_get_version
    - SSL_get_current_expansion
    - print_ca_names
    - BIO_get_ktls_recv
    - OPENSSL_free
    - X509_get0_notAfter
    - SSL_get_session
    - BIO_sock_info
    - SSL_get_selected_srtp_profile
    - strlen
    - SSL_get0_peer_certificate
    - sk_X509_num
    - app_malloc
    - BIO_write
    - BIO_number_written
    - SCT_validation_status_string
    - sk_X509_value
    - SSL_get_early_data_status
    - BIO_flush
    - SSL_get_current_compression
    - SSL_CIPHER_get_version
    - SSL_get_negotiated_client_cert_type
    - dump_cert_text
    - SSL_get_current_cipher
    - SSL_get0_alpn_selected
    - BIO_ADDR_rawport
    - sk_SCT_value
    - BIO_printf
    - SSL_SESSION_print
    - SSL_get0_peer_rpk
    - get_nameopt
    - print_cert_key_info
    - SSL_get_verify_result
    - X509_NAME_print_ex
    - BIO_puts
    - X509_get_issuer_name
    - SSL_CIPHER_get_name
    - SSL_version
    - EVP_PKEY_get_bits
    - SSL_COMP_get_name
    - STACK_OF
    - sk_SCT_num
    - BIO_number_read
    - ssl_print_secure_renegotiation_notes
    - ssl_print_sigalgs
    - SSL_get_fd
    - ntohs
    - SSL_export_keying_material
    - SSL_CTX_get0_ctlog_store
    - BIO_get_ktls_send
    - X509_get0_pubkey
    - EVP_PKEY_print_public
    - BIO_ADDR_free
    - OSSL_TRACE_ENABLED
    - X509_get_subject_name
    - SSL_get0_next_proto_negotiated
    - SSL_get0_peer_scts
    - SSL_get_wbio
    - print_verify_detail
    - SSL_get_negotiated_server_cert_type
    - SSL_ct_is_enabled
    - X509_verify_cert_error_string
    - SSL_get_SSL_CTX
    - SSL_get_rbio
    - SSL_session_reused
    linkageType: ''
    returnType: void
    signature: void print_stuff(BIO *bio, SSL *s, int full)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_client.c:3654,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:3657,1
    - Dst: SSL_get0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/apps/s_client.c:3658,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3660,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3663,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/apps/s_client.c:3667,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3669,1
    - Dst: print_ocsp_response
      Src: /src/openssl/apps/s_client.c:3671,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/apps/s_client.c:3671,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/openssl/apps/s_client.c:3674,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3676,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3678,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/apps/s_client.c:3681,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3683,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/apps/s_client.c:3684,1
    - Dst: print_ocsp_response
      Src: /src/openssl/apps/s_client.c:3687,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/apps/s_client.c:3688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3692
      start: 3651
    functionDepth: 3
    functionLinenumber: 3651
    functionLinenumberEnd: 3692
    functionName: ocsp_resp_cb
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - d2i_OCSP_RESPONSE
    - sk_OCSP_RESPONSE_num
    - SSL_get_tlsext_status_ocsp_resp
    - BIO_puts
    - sk_OCSP_RESPONSE_value
    - OCSP_RESPONSE_free
    - SSL_version
    - STACK_OF
    - print_ocsp_response
    - BIO_dump_indent
    - SSL_get0_tlsext_status_ocsp_resp_ex
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ocsp_resp_cb(SSL *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3697,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3701,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/openssl/apps/s_client.c:3702,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_client.c:3703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bp
    - rsp
    argTypes:
    - BIO*
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3704
      start: 3694
    functionDepth: 4
    functionLinenumber: 3694
    functionLinenumberEnd: 3704
    functionName: print_ocsp_response
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - OCSP_RESPONSE_print
    linkageType: ''
    returnType: void
    signature: void print_ocsp_response(BIO *bp, OCSP_RESPONSE *rsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_get_object
      Src: /src/openssl/apps/s_client.c:3744,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3747,1
    - Dst: ASN1_get_object
      Src: /src/openssl/apps/s_client.c:3754,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3757,1
    - Dst: ASN1_get_object
      Src: /src/openssl/apps/s_client.c:3765,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3768,1
    - Dst: ASN1_get_object
      Src: /src/openssl/apps/s_client.c:3774,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3777,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 2
    argNames:
    - buf
    - rem
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3707
    functionDepth: 2
    functionLinenumber: 3707
    functionLinenumberEnd: 3789
    functionName: ldap_ExtendedResponse_parse
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - ASN1_get_object
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ldap_ExtendedResponse_parse(const char *buf, long rem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/s_client.c:3800,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 27
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3795
    functionDepth: 0
    functionLinenumber: 3795
    functionLinenumberEnd: 3855
    functionName: is_dNS_name
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int is_dNS_name(const char *host)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - user_data
    - con
    - buf
    - bufmax
    - mode
    argTypes:
    - struct user_data_st*
    - SSL*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3867
      start: 3857
    functionDepth: 0
    functionLinenumber: 3857
    functionLinenumberEnd: 3867
    functionName: user_data_init
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void user_data_init(struct user_data_st *user_data, SSL *con, char
      *buf,\n                           size_t bufmax, int mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - user_data
    - i
    argTypes:
    - struct user_data_st*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3878
      start: 3869
    functionDepth: 0
    functionLinenumber: 3869
    functionLinenumberEnd: 3878
    functionName: user_data_add
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int user_data_add(struct user_data_st *user_data, size_t i)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3892,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3893,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3894,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3895,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3896,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3897,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3898,1
    - Dst: SSL_is_quic
      Src: /src/openssl/apps/s_client.c:3899,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3900,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:3901,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3902,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3903,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3904,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3905,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3907,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3909,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3913,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3917,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_client.c:3918,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/s_client.c:3919,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_client.c:3920,1
    - Dst: SSL_get_fd
      Src: /src/openssl/apps/s_client.c:3920,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3924,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_client.c:3925,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:3932,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:3934,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3938,1
    - Dst: SSL_key_update
      Src: /src/openssl/apps/s_client.c:3939,1
    - Dst: SSL_stream_conclude
      Src: /src/openssl/apps/s_client.c:3945,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:3954,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 3
    argNames:
    - user_data
    - cmd
    - arg
    argTypes:
    - struct user_data_st*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3956
      start: 3887
    functionDepth: 3
    functionLinenumber: 3887
    functionLinenumberEnd: 3956
    functionName: user_data_execute
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 0
    functionsReached:
    - SSL_key_update
    - BIO_closesocket
    - SSL_set_connect_state
    - OPENSSL_strcasecmp
    - SSL_version
    - SSL_is_quic
    - SSL_stream_conclude
    - SSL_get_fd
    - SSL_renegotiate
    - BIO_printf
    - do_ssl_shutdown
    linkageType: ''
    returnType: int
    signature: int user_data_execute(struct user_data_st *user_data, int cmd, char
      *arg)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:3974,1
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:3978,1
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:3982,1
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:3987,1
    - Dst: strchr
      Src: /src/openssl/apps/s_client.c:3997,1
    - Dst: strchr
      Src: /src/openssl/apps/s_client.c:4012,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:4020,1
    - Dst: strchr
      Src: /src/openssl/apps/s_client.c:4027,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4039,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4041,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4043,1
    - Dst: SSL_is_quic
      Src: /src/openssl/apps/s_client.c:4045,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4046,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_client.c:4048,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4049,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_client.c:4056,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:4060,1
    - Dst: user_data_execute
      Src: /src/openssl/apps/s_client.c:4063,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_client.c:4065,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/s_client.c:4101,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 3
    argNames:
    - user_data
    - len
    - 'off'
    argTypes:
    - struct user_data_st*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4111
      start: 3958
    functionDepth: 4
    functionLinenumber: 3958
    functionLinenumberEnd: 4111
    functionName: user_data_process
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached:
    - strchr
    - OPENSSL_strcasecmp
    - ebcdic2ascii
    - SSL_version
    - SSL_is_quic
    - BIO_printf
    - user_data_execute
    linkageType: ''
    returnType: int
    signature: "int user_data_process(struct user_data_st *user_data, size_t *len,\n
      \                            size_t *off)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - user_data
    argTypes:
    - struct user_data_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4116
      start: 4113
    functionDepth: 0
    functionLinenumber: 4113
    functionLinenumberEnd: 4116
    functionName: user_data_has_data
    functionSourceFile: /src/openssl/apps/s_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int user_data_has_data(struct user_data_st *user_data)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/passwd.c:110,1
    - Dst: opt_next
      Src: /src/openssl/apps/passwd.c:111,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:116,1
    - Dst: opt_help
      Src: /src/openssl/apps/passwd.c:119,1
    - Dst: opt_arg
      Src: /src/openssl/apps/passwd.c:125,1
    - Dst: opt_arg
      Src: /src/openssl/apps/passwd.c:169,1
    - Dst: opt_rand
      Src: /src/openssl/apps/passwd.c:178,1
    - Dst: opt_provider
      Src: /src/openssl/apps/passwd.c:182,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/passwd.c:189,1
    - Dst: opt_rest
      Src: /src/openssl/apps/passwd.c:190,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/passwd.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:207,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/passwd.c:216,1
    - Dst: app_malloc
      Src: /src/openssl/apps/passwd.c:227,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/passwd.c:243,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:251,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:257,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:258,1
    - Dst: do_passwd
      Src: /src/openssl/apps/passwd.c:262,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:270,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/passwd.c:272,1
    - Dst: strchr
      Src: /src/openssl/apps/passwd.c:274,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/passwd.c:281,1
    - Dst: strchr
      Src: /src/openssl/apps/passwd.c:282,1
    - Dst: do_passwd
      Src: /src/openssl/apps/passwd.c:285,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/passwd.c:297,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:299,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:300,1
    - Dst: BIO_free
      Src: /src/openssl/apps/passwd.c:301,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (passwds != NULL)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/openssl/apps/passwd.c
    - condition: (*passwds != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/openssl/apps/passwd.c
    - condition: (passwd != NULL)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/openssl/apps/passwd.c
    constantsTouched: []
    func_position:
      end: 303
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 303
    functionName: passwd_main
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 0
    functionsReached:
    - opt_rand
    - OPENSSL_free
    - EVP_read_pw_string
    - assert
    - app_malloc
    - app_RAND_load
    - do_passwd
    - opt_rest
    - BIO_printf
    - strchr
    - opt_provider
    - BIO_gets
    - BIO_free
    - opt_arg
    - opt_num_rest
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: int passwd_main(int argc, char **argv)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:328,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:331,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/passwd.c:332,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:335,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/passwd.c:339,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:340,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:342,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/passwd.c:346,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:349,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:354,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:359,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:360,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:363,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:365,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:372,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/passwd.c:374,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:376,1
    - Dst: EVP_md5
      Src: /src/openssl/apps/passwd.c:376,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:377,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:381,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:382,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:383,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:386,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/passwd.c:389,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:391,1
    - Dst: EVP_md5
      Src: /src/openssl/apps/passwd.c:391,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:392,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:393,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:394,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:395,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:399,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:402,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:407,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:411,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:415,1
    - Dst: EVP_md5
      Src: /src/openssl/apps/passwd.c:415,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:417,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:422,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:426,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:429,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:433,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:436,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:437,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:455,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:459,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:459,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:471,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:475,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:475,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/passwd.c:477,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:477,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:484,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:485,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:486,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 120
    argCount: 3
    argNames:
    - passwd
    - magic
    - salt
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (i == 15)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/openssl/apps/passwd.c
    - condition: (output == out_buf + strlen(out_buf))
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/openssl/apps/passwd.c
    - condition: (salt_len <= 8)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/openssl/apps/passwd.c
    - condition: (16 == sizeof(buf_perm))
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/openssl/apps/passwd.c
    - condition: (strlen(out_buf) < sizeof(out_buf))
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/openssl/apps/passwd.c
    constantsTouched: []
    func_position:
      end: 488
      start: 314
    functionDepth: 8
    functionLinenumber: 314
    functionLinenumberEnd: 488
    functionName: md5crypt
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_md5
    - EVP_DigestUpdate
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - ebcdic2ascii
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - OPENSSL_strdup
    - EVP_DigestInit_ex
    - strlen
    - ascii2ebcdic
    - assert
    linkageType: ''
    returnType: char
    signature: char *md5crypt(const char *passwd, const char *magic, const char *salt)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:526,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:527,1
    - Dst: EVP_sha256
      Src: /src/openssl/apps/passwd.c:535,1
    - Dst: EVP_sha512
      Src: /src/openssl/apps/passwd.c:539,1
    - Dst: strncmp
      Src: /src/openssl/apps/passwd.c:546,1
    - Dst: strtoul
      Src: /src/openssl/apps/passwd.c:549,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/passwd.c:564,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:567,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/passwd.c:571,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:572,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:574,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/passwd.c:578,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:581,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:586,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:587,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:588,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/passwd.c:592,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/passwd.c:596,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:596,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:598,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:599,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/passwd.c:601,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:604,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/passwd.c:607,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:609,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:610,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:611,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/passwd.c:614,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:616,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:617,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:618,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:619,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:620,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:624,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:627,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:632,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:638,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:642,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:646,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:649,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/passwd.c:652,1
    - Dst: memcpy
      Src: /src/openssl/apps/passwd.c:655,1
    - Dst: memcpy
      Src: /src/openssl/apps/passwd.c:656,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:659,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:663,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:666,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/passwd.c:669,1
    - Dst: memcpy
      Src: /src/openssl/apps/passwd.c:672,1
    - Dst: memcpy
      Src: /src/openssl/apps/passwd.c:673,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/passwd.c:676,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:678,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:683,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:687,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/passwd.c:690,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/apps/passwd.c:694,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:697,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:698,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:701,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:702,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:706,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:721,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:722,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:723,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:724,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:725,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:726,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:727,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:728,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:729,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:730,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:731,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:734,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:735,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:736,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:737,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:738,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:739,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:740,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:741,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:742,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:743,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:744,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:745,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:746,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:747,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:748,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:749,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:750,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:751,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:752,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:753,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:754,1
    - Dst: b64_from_24bit
      Src: /src/openssl/apps/passwd.c:755,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/passwd.c:762,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:762,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:768,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/passwd.c:769,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:770,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:771,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/passwd.c:772,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 201
    argCount: 3
    argNames:
    - passwd
    - magic
    - salt
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 495
    functionDepth: 8
    functionLinenumber: 495
    functionLinenumberEnd: 774
    functionName: shacrypt
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 0
    functionsReached:
    - EVP_DigestUpdate
    - OPENSSL_strlcpy
    - ebcdic2ascii
    - OPENSSL_strlcat
    - memcpy
    - BIO_snprintf
    - OPENSSL_free
    - strncmp
    - strlen
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - EVP_DigestInit_ex
    - b64_from_24bit
    - ascii2ebcdic
    - EVP_DigestFinal_ex
    - EVP_sha256
    - strtoul
    - EVP_sha512
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: char
    signature: char *shacrypt(const char *passwd, const char *magic, const char *salt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - B2
    - ','
    - B1
    - ','
    - B0
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 718
    functionName: b64_from_24bit
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: b64_from_24bit(B2, B1, B0, N)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:782,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:783,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:796,1
    - Dst: app_malloc
      Src: /src/openssl/apps/passwd.c:799,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/passwd.c:800,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/passwd.c:808,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:812,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:815,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:820,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:825,1
    - Dst: strlen
      Src: /src/openssl/apps/passwd.c:825,1
    - Dst: md5crypt
      Src: /src/openssl/apps/passwd.c:829,1
    - Dst: md5crypt
      Src: /src/openssl/apps/passwd.c:831,1
    - Dst: shacrypt
      Src: /src/openssl/apps/passwd.c:833,1
    - Dst: assert
      Src: /src/openssl/apps/passwd.c:834,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:837,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:839,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/passwd.c:841,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 10
    argNames:
    - passed_salt
    - salt_p
    - salt_malloc_p
    - passwd
    - out
    - quiet
    - table
    - reverse
    - pw_maxlen
    - mode
    argTypes:
    - int
    - char**
    - char**
    - char*
    - BIO*
    - int
    - int
    - int
    - size_t
    - passwd_modes
    assertStmts:
    - condition: (salt_p != NULL)
      pos:
        line_end: 781
        line_start: 781
        source_file: /src/openssl/apps/passwd.c
    - condition: (saltlen != 0)
      pos:
        line_end: 795
        line_start: 795
        source_file: /src/openssl/apps/passwd.c
    - condition: (salt_malloc_p != NULL)
      pos:
        line_end: 782
        line_start: 782
        source_file: /src/openssl/apps/passwd.c
    - condition: (*salt_p != NULL)
      pos:
        line_end: 811
        line_start: 811
        source_file: /src/openssl/apps/passwd.c
    - condition: (strlen(passwd) <= pw_maxlen)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/openssl/apps/passwd.c
    - condition: (hash != NULL)
      pos:
        line_end: 833
        line_start: 833
        source_file: /src/openssl/apps/passwd.c
    constantsTouched: []
    func_position:
      end: 846
      start: 776
    functionDepth: 9
    functionLinenumber: 776
    functionLinenumberEnd: 846
    functionName: do_passwd
    functionSourceFile: /src/openssl/apps/passwd.c
    functionUses: 1
    functionsReached:
    - shacrypt
    - BIO_printf
    - RAND_bytes
    - md5crypt
    - strlen
    - ascii2ebcdic
    - assert
    - app_malloc
    linkageType: ''
    returnType: int
    signature: "int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,\n
      \                    char *passwd, BIO *out, int quiet, int table,\n                     int
      reverse, size_t pw_maxlen, passwd_modes mode)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/sess_id.c:58,1
    - Dst: opt_next
      Src: /src/openssl/apps/sess_id.c:59,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:64,1
    - Dst: opt_help
      Src: /src/openssl/apps/sess_id.c:67,1
    - Dst: opt_format
      Src: /src/openssl/apps/sess_id.c:71,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:71,1
    - Dst: opt_format
      Src: /src/openssl/apps/sess_id.c:75,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:75,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:80,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:83,1
    - Dst: opt_arg
      Src: /src/openssl/apps/sess_id.c:95,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/sess_id.c:101,1
    - Dst: load_sess_id
      Src: /src/openssl/apps/sess_id.c:104,1
    - Dst: SSL_SESSION_get0_peer
      Src: /src/openssl/apps/sess_id.c:108,1
    - Dst: strlen
      Src: /src/openssl/apps/sess_id.c:111,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:113,1
    - Dst: SSL_SESSION_set1_id_context
      Src: /src/openssl/apps/sess_id.c:116,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:118,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/sess_id.c:124,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/sess_id.c:130,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/sess_id.c:134,1
    - Dst: X509_print
      Src: /src/openssl/apps/sess_id.c:136,1
    - Dst: i2d_SSL_SESSION_bio
      Src: /src/openssl/apps/sess_id.c:142,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/apps/sess_id.c:144,1
    - Dst: SSL_SESSION_print_keylog
      Src: /src/openssl/apps/sess_id.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:148,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:152,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/sess_id.c:157,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/sess_id.c:159,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:165,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/sess_id.c:171,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/sess_id.c:172,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 124
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 174
    functionName: sess_id_main
    functionSourceFile: /src/openssl/apps/sess_id.c
    functionUses: 0
    functionsReached:
    - load_sess_id
    - PEM_write_bio_X509
    - opt_check_rest_arg
    - strlen
    - X509_print
    - i2d_X509_bio
    - BIO_free_all
    - BIO_printf
    - SSL_SESSION_print
    - SSL_SESSION_free
    - BIO_puts
    - SSL_SESSION_print_keylog
    - SSL_SESSION_get0_peer
    - opt_arg
    - i2d_SSL_SESSION_bio
    - opt_help
    - opt_next
    - opt_init
    - SSL_SESSION_set1_id_context
    - bio_open_default
    - opt_format
    - PEM_write_bio_SSL_SESSION
    linkageType: ''
    returnType: int
    signature: int sess_id_main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default
      Src: /src/openssl/apps/sess_id.c:181,1
    - Dst: d2i_SSL_SESSION_bio
      Src: /src/openssl/apps/sess_id.c:185,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/apps/sess_id.c:187,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/sess_id.c:189,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/sess_id.c:190,1
    - Dst: BIO_free
      Src: /src/openssl/apps/sess_id.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - infile
    - format
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 5
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: load_sess_id
    functionSourceFile: /src/openssl/apps/sess_id.c
    functionUses: 1
    functionsReached:
    - d2i_SSL_SESSION_bio
    - bio_open_default
    - BIO_free
    - PEM_read_bio_SSL_SESSION
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *load_sess_id(char *infile, int format)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/pkey.c:86,1
    - Dst: opt_init
      Src: /src/openssl/apps/pkey.c:87,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkey.c:88,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:93,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkey.c:96,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkey.c:100,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:100,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkey.c:104,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:104,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:108,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:111,1
    - Dst: setup_engine
      Src: /src/openssl/apps/pkey.c:114,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:114,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:120,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/pkey.c:147,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:153,1
    - Dst: opt_string
      Src: /src/openssl/apps/pkey.c:154,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkey.c:162,1
    - Dst: opt_string
      Src: /src/openssl/apps/pkey.c:163,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkey.c:168,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkey.c:175,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:182,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/pkey.c:193,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:201,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkey.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:207,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/pkey.c:212,1
    - Dst: load_key
      Src: /src/openssl/apps/pkey.c:214,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkey.c:218,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/pkey.c:226,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/pkey.c:230,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/pkey.c:233,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/pkey.c:236,1
    - Dst: EVP_PKEY_set_params
      Src: /src/openssl/apps/pkey.c:237,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/apps/pkey.c:245,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkey.c:247,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/apps/pkey.c:252,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/apps/pkey.c:254,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:257,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:263,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkey.c:264,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/pkey.c:272,1
    - Dst: assert
      Src: /src/openssl/apps/pkey.c:275,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/apps/pkey.c:277,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/pkey.c:282,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:289,1
    - Dst: i2d_PUBKEY_bio
      Src: /src/openssl/apps/pkey.c:294,1
    - Dst: assert
      Src: /src/openssl/apps/pkey.c:297,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/apps/pkey.c:299,1
    - Dst: i2d_PKCS8PrivateKey_bio
      Src: /src/openssl/apps/pkey.c:302,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkey.c:308,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/pkey.c:314,1
    - Dst: assert
      Src: /src/openssl/apps/pkey.c:317,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/pkey.c:318,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkey.c:326,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/pkey.c:327,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkey.c:328,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/pkey.c:329,1
    - Dst: release_engine
      Src: /src/openssl/apps/pkey.c:330,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkey.c:331,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkey.c:332,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkey.c:333,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 235
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/openssl/apps/pkey.c
    - condition: (private)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/openssl/apps/pkey.c
    - condition: (private)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/openssl/apps/pkey.c
    constantsTouched: []
    func_position:
      end: 336
      start: 68
    functionDepth: 9
    functionLinenumber: 68
    functionLinenumberEnd: 336
    functionName: pkey_main
    functionSourceFile: /src/openssl/apps/pkey.c
    functionUses: 0
    functionsReached:
    - load_pubkey
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_new
    - opt_check_rest_arg
    - OPENSSL_free
    - i2d_PKCS8PrivateKey_bio
    - assert
    - OSSL_PARAM_construct_utf8_string
    - PEM_write_bio_PrivateKey_traditional
    - EVP_PKEY_print_private
    - EVP_PKEY_CTX_free
    - opt_unknown
    - EVP_PKEY_free
    - EVP_CIPHER_free
    - BIO_free_all
    - OSSL_PARAM_construct_end
    - BIO_printf
    - load_key
    - opt_provider
    - PEM_write_bio_PUBKEY
    - setup_engine
    - PEM_write_bio_PrivateKey
    - bio_open_owner
    - opt_cipher
    - opt_arg
    - i2d_PrivateKey_bio
    - opt_help
    - opt_next
    - opt_init
    - EVP_PKEY_print_public
    - EVP_PKEY_check
    - app_passwd
    - opt_format
    - EVP_PKEY_set_params
    - i2d_PUBKEY_bio
    - EVP_PKEY_public_check
    - opt_set_unknown_name
    - ERR_print_errors
    - release_engine
    - opt_string
    linkageType: ''
    returnType: int
    signature: int pkey_main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - type
    - ishex
    argTypes:
    - unsigned int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: param_datatype_2name
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *param_datatype_2name(unsigned int type, int *ishex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/genpkey.c:85,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/genpkey.c:89,1
    - Dst: EVP_PKEY_CTX_settable_params
      Src: /src/openssl/apps/genpkey.c:91,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:95,1
    - Dst: param_datatype_2name
      Src: /src/openssl/apps/genpkey.c:97,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:100,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genpkey.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - algname
    - libctx
    - propq
    argTypes:
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: show_gen_pkeyopt
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - param_datatype_2name
    - EVP_PKEY_keygen_init
    - BIO_printf
    - EVP_PKEY_CTX_settable_params
    linkageType: ''
    returnType: void
    signature: void show_gen_pkeyopt(const char *algname, OSSL_LIB_CTX *libctx, const
      char *propq)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/genpkey.c:120,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/genpkey.c:121,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/genpkey.c:123,1
    - Dst: opt_init
      Src: /src/openssl/apps/genpkey.c:124,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/genpkey.c:125,1
    - Dst: opt_next
      Src: /src/openssl/apps/genpkey.c:128,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:133,1
    - Dst: opt_help
      Src: /src/openssl/apps/genpkey.c:137,1
    - Dst: show_gen_pkeyopt
      Src: /src/openssl/apps/genpkey.c:138,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/genpkey.c:138,1
    - Dst: opt_format
      Src: /src/openssl/apps/genpkey.c:141,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:141,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:145,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:148,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:151,1
    - Dst: setup_engine
      Src: /src/openssl/apps/genpkey.c:154,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:154,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:159,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:162,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/genpkey.c:165,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:165,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/genpkey.c:181,1
    - Dst: app_load_config_modules
      Src: /src/openssl/apps/genpkey.c:184,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genpkey.c:184,1
    - Dst: opt_provider
      Src: /src/openssl/apps/genpkey.c:189,1
    - Dst: opt_rand
      Src: /src/openssl/apps/genpkey.c:193,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/genpkey.c:200,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/genpkey.c:203,1
    - Dst: init_keygen_file
      Src: /src/openssl/apps/genpkey.c:208,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/genpkey.c:208,1
    - Dst: init_gen_str
      Src: /src/openssl/apps/genpkey.c:212,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/genpkey.c:212,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/genpkey.c:218,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/genpkey.c:219,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/genpkey.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:221,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genpkey.c:222,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/genpkey.c:226,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:229,1
    - Dst: app_passwd
      Src: /src/openssl/apps/genpkey.c:235,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:236,1
    - Dst: BIO_new
      Src: /src/openssl/apps/genpkey.c:240,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/genpkey.c:240,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/apps/genpkey.c:243,1
    - Dst: BIO_new
      Src: /src/openssl/apps/genpkey.c:246,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/genpkey.c:246,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/openssl/apps/genpkey.c:249,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/genpkey.c:253,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/genpkey.c:254,1
    - Dst: app_paramgen
      Src: /src/openssl/apps/genpkey.c:256,1
    - Dst: app_keygen
      Src: /src/openssl/apps/genpkey.c:257,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/openssl/apps/genpkey.c:262,1
    - Dst: assert
      Src: /src/openssl/apps/genpkey.c:264,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/genpkey.c:265,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/genpkey.c:267,1
    - Dst: assert
      Src: /src/openssl/apps/genpkey.c:269,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/apps/genpkey.c:270,1
    - Dst: i2d_PUBKEY_bio
      Src: /src/openssl/apps/genpkey.c:272,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:274,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:281,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/genpkey.c:287,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/genpkey.c:289,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:292,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/genpkey.c:298,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genpkey.c:300,1
    - Dst: mem_bio_to_file
      Src: /src/openssl/apps/genpkey.c:303,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:305,1
    - Dst: strerror
      Src: /src/openssl/apps/genpkey.c:306,1
    - Dst: mem_bio_to_file
      Src: /src/openssl/apps/genpkey.c:309,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:311,1
    - Dst: strerror
      Src: /src/openssl/apps/genpkey.c:312,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/genpkey.c:315,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genpkey.c:316,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/genpkey.c:317,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/genpkey.c:318,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/genpkey.c:319,1
    - Dst: release_engine
      Src: /src/openssl/apps/genpkey.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/genpkey.c:321,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/genpkey.c:322,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 207
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/openssl/apps/genpkey.c
    - condition: (private)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/openssl/apps/genpkey.c
    constantsTouched: []
    func_position:
      end: 324
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 324
    functionName: genpkey_main
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - EVP_PKEY_CTX_set_app_data
    - opt_rand
    - app_paramgen
    - opt_check_rest_arg
    - OPENSSL_free
    - BIO_s_mem
    - NCONF_free
    - PEM_write_bio_Parameters
    - assert
    - app_RAND_load
    - BIO_new
    - show_gen_pkeyopt
    - app_keygen
    - app_get0_propq
    - pkey_ctrl_string
    - EVP_PKEY_free
    - opt_unknown
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set_cb
    - EVP_CIPHER_free
    - app_load_config_modules
    - BIO_free_all
    - BIO_printf
    - opt_provider
    - strerror
    - sk_OPENSSL_STRING_new_null
    - BIO_puts
    - PEM_write_bio_PUBKEY
    - setup_engine
    - PEM_write_bio_PrivateKey
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - ERR_print_errors
    - opt_cipher
    - init_keygen_file
    - sk_OPENSSL_STRING_num
    - opt_arg
    - i2d_PrivateKey_bio
    - EVP_PKEY_print_params
    - opt_help
    - opt_next
    - opt_init
    - init_gen_str
    - BIO_set_mem_eof_return
    - app_passwd
    - opt_format
    - i2d_PUBKEY_bio
    - mem_bio_to_file
    - app_get0_libctx
    - opt_set_unknown_name
    - sk_OPENSSL_STRING_value
    - release_engine
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: int genpkey_main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:333,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/genpkey.c:337,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:339,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/apps/genpkey.c:343,1
    - Dst: BIO_free
      Src: /src/openssl/apps/genpkey.c:344,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:347,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/apps/genpkey.c:352,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/genpkey.c:354,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/genpkey.c:357,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/genpkey.c:359,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:364,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genpkey.c:365,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genpkey.c:366,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/genpkey.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - pctx
    - file
    - e
    - libctx
    - propq
    argTypes:
    - EVP_PKEY_CTX**
    - char*
    - ENGINE*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 370
    functionName: init_keygen_file
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - BIO_puts
    - BIO_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_free
    - PEM_read_bio_Parameters_ex
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - ERR_print_errors
    - EVP_PKEY_keygen_init
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int init_keygen_file(EVP_PKEY_CTX **pctx, const char *file, ENGINE
      *e,\n                            OSSL_LIB_CTX *libctx, const char *propq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/genpkey.c:382,1
    - Dst: get_legacy_pkey_id
      Src: /src/openssl/apps/genpkey.c:387,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/apps/genpkey.c:389,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/genpkey.c:392,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/apps/genpkey.c:397,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/genpkey.c:400,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genpkey.c:408,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genpkey.c:409,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genpkey.c:410,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 6
    argNames:
    - pctx
    - algname
    - e
    - do_param
    - libctx
    - propq
    argTypes:
    - EVP_PKEY_CTX**
    - char*
    - ENGINE*
    - int
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 413
    functionName: init_gen_str
    functionSourceFile: /src/openssl/apps/genpkey.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - get_legacy_pkey_id
    - EVP_PKEY_CTX_new_from_name
    - BIO_printf
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - ERR_print_errors
    - EVP_PKEY_keygen_init
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: int
    signature: "int init_gen_str(EVP_PKEY_CTX **pctx,\n                 const char
      *algname, ENGINE *e, int do_param,\n                 OSSL_LIB_CTX *libctx, const
      char *propq)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CMS_ContentInfo_new_ex
      Src: /src/openssl/apps/cms.c:267,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cms.c:267,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:267,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:269,1
    - Dst: SMIME_read_CMS_ex
      Src: /src/openssl/apps/cms.c:274,1
    - Dst: PEM_read_bio_CMS
      Src: /src/openssl/apps/cms.c:277,1
    - Dst: d2i_CMS_bio
      Src: /src/openssl/apps/cms.c:280,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:283,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:287,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/apps/cms.c:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 5
    argNames:
    - informat
    - in
    - flags
    - indata
    - name
    argTypes:
    - int
    - BIO*
    - int
    - BIO**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: load_content_info
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 0
    functionsReached:
    - SMIME_read_CMS_ex
    - d2i_CMS_bio
    - CMS_ContentInfo_new_ex
    - app_get0_propq
    - app_get0_libctx
    - CMS_ContentInfo_free
    - PEM_read_bio_CMS
    - BIO_printf
    linkageType: ''
    returnType: CMS_ContentInfo
    signature: "CMS_ContentInfo *load_content_info(int informat, BIO *in, int flags,\n
      \                                         BIO **indata, const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/cms.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - recipidx
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: alloc_recip_opt
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 0
    functionsReached:
    - app_malloc
    linkageType: ''
    returnType: cms_recip_opt
    signature: cms_recip_opt *alloc_recip_opt(int recipidx)
  - BBCount: 306
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:320,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:321,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:322,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/cms.c:322,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/cms.c:325,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cms.c:352,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/cms.c:357,1
    - Dst: opt_init
      Src: /src/openssl/apps/cms.c:358,1
    - Dst: opt_next
      Src: /src/openssl/apps/cms.c:359,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:364,1
    - Dst: opt_help
      Src: /src/openssl/apps/cms.c:367,1
    - Dst: opt_format
      Src: /src/openssl/apps/cms.c:371,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:371,1
    - Dst: opt_format
      Src: /src/openssl/apps/cms.c:375,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:375,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:379,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:402,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:411,1
    - Dst: opt_format
      Src: /src/openssl/apps/cms.c:509,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:509,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:514,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:517,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:520,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:523,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:535,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:538,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:542,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:544,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:544,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:549,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:551,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:551,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/cms.c:558,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:558,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:563,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:564,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/cms.c:567,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:567,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:569,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:569,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:576,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:577,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/cms.c:580,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:580,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:582,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:582,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:588,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:592,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:593,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/cms.c:596,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:596,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:598,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:598,1
    - Dst: setup_engine
      Src: /src/openssl/apps/cms.c:603,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:603,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:606,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:609,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:612,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:615,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:618,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:621,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:627,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:629,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:634,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:636,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:640,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:643,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:649,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:653,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:655,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:659,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:661,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:664,1
    - Dst: opt_format
      Src: /src/openssl/apps/cms.c:667,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:667,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:672,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:672,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/cms.c:676,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:680,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:687,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:688,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:691,1
    - Dst: alloc_recip_opt
      Src: /src/openssl/apps/cms.c:697,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:706,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:709,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:712,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/cms.c:715,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:715,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:718,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/cms.c:724,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:727,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:732,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:733,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/cms.c:738,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:741,1
    - Dst: app_malloc
      Src: /src/openssl/apps/cms.c:746,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:747,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:748,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:759,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:759,1
    - Dst: opt_verify
      Src: /src/openssl/apps/cms.c:763,1
    - Dst: opt_rand
      Src: /src/openssl/apps/cms.c:768,1
    - Dst: opt_provider
      Src: /src/openssl/apps/cms.c:772,1
    - Dst: app_load_config_modules
      Src: /src/openssl/apps/cms.c:776,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:776,1
    - Dst: opt_arg
      Src: /src/openssl/apps/cms.c:781,1
    - Dst: opt_flag
      Src: /src/openssl/apps/cms.c:787,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/cms.c:791,1
    - Dst: opt_md
      Src: /src/openssl/apps/cms.c:795,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/cms.c:798,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/cms.c:800,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/cms.c:803,1
    - Dst: opt_rest
      Src: /src/openssl/apps/cms.c:808,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:811,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:816,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:820,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:826,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:832,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:840,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:846,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:848,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/cms.c:850,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/cms.c:854,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:858,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:866,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:872,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:873,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:877,1
    - Dst: app_passwd
      Src: /src/openssl/apps/cms.c:881,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:882,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:890,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:896,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:899,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:902,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/cms.c:918,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:920,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:925,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/cms.c:929,1
    - Dst: load_certs
      Src: /src/openssl/apps/cms.c:936,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:940,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:945,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:950,1
    - Dst: load_key
      Src: /src/openssl/apps/cms.c:965,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:972,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:979,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/cms.c:983,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:985,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/cms.c:990,1
    - Dst: load_content_info
      Src: /src/openssl/apps/cms.c:997,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1001,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/cms.c:1002,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1003,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1008,1
    - Dst: CMS_get1_certs
      Src: /src/openssl/apps/cms.c:1009,1
    - Dst: save_certs
      Src: /src/openssl/apps/cms.c:1010,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1011,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cms.c:1016,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/cms.c:1023,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1024,1
    - Dst: load_content_info
      Src: /src/openssl/apps/cms.c:1028,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/cms.c:1033,1
    - Dst: setup_verify
      Src: /src/openssl/apps/cms.c:1039,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/cms.c:1042,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/cms.c:1044,1
    - Dst: CMS_data_create_ex
      Src: /src/openssl/apps/cms.c:1050,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1050,1
    - Dst: CMS_digest_create_ex
      Src: /src/openssl/apps/cms.c:1052,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1052,1
    - Dst: CMS_compress
      Src: /src/openssl/apps/cms.c:1054,1
    - Dst: CMS_encrypt_ex
      Src: /src/openssl/apps/cms.c:1058,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1058,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:1061,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/cms.c:1069,1
    - Dst: CMS_add1_recipient
      Src: /src/openssl/apps/cms.c:1080,1
    - Dst: CMS_RecipientInfo_type
      Src: /src/openssl/apps/cms.c:1084,1
    - Dst: CMS_RecipientInfo_get0_pkey_ctx
      Src: /src/openssl/apps/cms.c:1086,1
    - Dst: cms_set_pkey_param
      Src: /src/openssl/apps/cms.c:1088,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/apps/cms.c:1092,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/apps/cms.c:1094,1
    - Dst: CMS_RecipientInfo_kari_get0_ctx
      Src: /src/openssl/apps/cms.c:1102,1
    - Dst: CMS_RecipientInfo_kemri_get0_ctx
      Src: /src/openssl/apps/cms.c:1104,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/apps/cms.c:1106,1
    - Dst: CMS_RecipientInfo_kemri_set_ukm
      Src: /src/openssl/apps/cms.c:1113,1
    - Dst: CMS_RecipientInfo_kemri_get0_kdf_alg
      Src: /src/openssl/apps/cms.c:1121,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/cms.c:1122,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1124,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/apps/cms.c:1128,1
    - Dst: CMS_add0_recipient_key
      Src: /src/openssl/apps/cms.c:1135,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/cms.c:1145,1
    - Dst: CMS_add0_recipient_password
      Src: /src/openssl/apps/cms.c:1148,1
    - Dst: CMS_final
      Src: /src/openssl/apps/cms.c:1154,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/cms.c:1156,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/cms.c:1156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1158,1
    - Dst: CMS_EncryptedData_encrypt_ex
      Src: /src/openssl/apps/cms.c:1165,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1166,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1170,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/apps/cms.c:1172,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/apps/cms.c:1175,1
    - Dst: CMS_sign_receipt
      Src: /src/openssl/apps/cms.c:1176,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/apps/cms.c:1179,1
    - Dst: CMS_sign_ex
      Src: /src/openssl/apps/cms.c:1194,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cms.c:1194,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1196,1
    - Dst: CMS_set1_eContentType
      Src: /src/openssl/apps/cms.c:1200,1
    - Dst: make_receipt_request
      Src: /src/openssl/apps/cms.c:1203,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1205,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/cms.c:1211,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/cms.c:1215,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/cms.c:1216,1
    - Dst: load_cert
      Src: /src/openssl/apps/cms.c:1218,1
    - Dst: load_key
      Src: /src/openssl/apps/cms.c:1223,1
    - Dst: CMS_add1_signer
      Src: /src/openssl/apps/cms.c:1235,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1237,1
    - Dst: CMS_SignerInfo_get0_pkey_ctx
      Src: /src/openssl/apps/cms.c:1242,1
    - Dst: cms_set_pkey_param
      Src: /src/openssl/apps/cms.c:1244,1
    - Dst: CMS_add1_ReceiptRequest
      Src: /src/openssl/apps/cms.c:1247,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1248,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1251,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cms.c:1253,1
    - Dst: CMS_final_digest
      Src: /src/openssl/apps/cms.c:1261,1
    - Dst: CMS_final
      Src: /src/openssl/apps/cms.c:1263,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1272,1
    - Dst: CMS_decrypt
      Src: /src/openssl/apps/cms.c:1279,1
    - Dst: CMS_decrypt_set1_key
      Src: /src/openssl/apps/cms.c:1282,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1285,1
    - Dst: CMS_decrypt_set1_pkey_and_peer
      Src: /src/openssl/apps/cms.c:1291,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1292,1
    - Dst: CMS_decrypt_set1_password
      Src: /src/openssl/apps/cms.c:1298,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1299,1
    - Dst: CMS_decrypt
      Src: /src/openssl/apps/cms.c:1304,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1305,1
    - Dst: CMS_data
      Src: /src/openssl/apps/cms.c:1309,1
    - Dst: CMS_uncompress
      Src: /src/openssl/apps/cms.c:1312,1
    - Dst: CMS_digest_verify
      Src: /src/openssl/apps/cms.c:1315,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1316,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1318,1
    - Dst: CMS_EncryptedData_decrypt
      Src: /src/openssl/apps/cms.c:1322,1
    - Dst: CMS_verify
      Src: /src/openssl/apps/cms.c:1326,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1327,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1330,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1337,1
    - Dst: CMS_get0_signers
      Src: /src/openssl/apps/cms.c:1337,1
    - Dst: save_certs
      Src: /src/openssl/apps/cms.c:1339,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1340,1
    - Dst: sk_X509_free
      Src: /src/openssl/apps/cms.c:1345,1
    - Dst: receipt_request_print
      Src: /src/openssl/apps/cms.c:1348,1
    - Dst: CMS_verify_receipt
      Src: /src/openssl/apps/cms.c:1351,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1352,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1354,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/cms.c:1362,1
    - Dst: ASN1_PCTX_new
      Src: /src/openssl/apps/cms.c:1363,1
    - Dst: ASN1_PCTX_set_flags
      Src: /src/openssl/apps/cms.c:1365,1
    - Dst: ASN1_PCTX_set_str_flags
      Src: /src/openssl/apps/cms.c:1366,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/cms.c:1366,1
    - Dst: ASN1_PCTX_set_nm_flags
      Src: /src/openssl/apps/cms.c:1367,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/cms.c:1367,1
    - Dst: CMS_ContentInfo_print_ctx
      Src: /src/openssl/apps/cms.c:1370,1
    - Dst: ASN1_PCTX_free
      Src: /src/openssl/apps/cms.c:1371,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1375,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1377,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1379,1
    - Dst: SMIME_write_CMS
      Src: /src/openssl/apps/cms.c:1382,1
    - Dst: SMIME_write_CMS
      Src: /src/openssl/apps/cms.c:1384,1
    - Dst: PEM_write_bio_CMS_stream
      Src: /src/openssl/apps/cms.c:1386,1
    - Dst: i2d_CMS_bio_stream
      Src: /src/openssl/apps/cms.c:1388,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1390,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1394,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/cms.c:1402,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cms.c:1403,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cms.c:1404,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/cms.c:1405,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1406,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1408,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1409,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1410,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/cms.c:1411,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/apps/cms.c:1412,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1413,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1414,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/cms.c:1417,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1419,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1425,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1427,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cms.c:1430,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1431,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1432,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1433,1
    - Dst: X509_free
      Src: /src/openssl/apps/cms.c:1434,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cms.c:1435,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/cms.c:1436,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/cms.c:1437,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/cms.c:1438,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/cms.c:1439,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/apps/cms.c:1440,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/apps/cms.c:1441,1
    - Dst: release_engine
      Src: /src/openssl/apps/cms.c:1442,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1443,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1444,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1445,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/cms.c:1446,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1447,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cms.c:1448,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/cms.c:1449,1
    CyclomaticComplexity: 484
    EdgeCount: 484
    ICount: 1082
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 309
    functionDepth: 17
    functionLinenumber: 309
    functionLinenumberEnd: 1451
    functionName: cms_main
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 0
    functionsReached:
    - CMS_data
    - opt_rand
    - ASN1_PCTX_set_flags
    - CMS_ReceiptRequest_free
    - app_malloc
    - sk_CMS_SignerInfo_value
    - app_get0_propq
    - EVP_PKEY_free
    - app_load_config_modules
    - CMS_get1_certs
    - ERR_peek_error
    - X509_STORE_set_verify_cb
    - X509_VERIFY_PARAM_free
    - setup_engine
    - CMS_add0_recipient_password
    - ASN1_PCTX_new
    - setup_verify
    - CMS_verify_receipt
    - bio_open_default
    - app_passwd
    - receipt_request_print
    - ERR_GET_REASON
    - OPENSSL_hexstr2buf
    - release_engine
    - sk_OPENSSL_STRING_push
    - EVP_MD_free
    - CMS_digest_verify
    - alloc_recip_opt
    - OPENSSL_free
    - NCONF_free
    - CMS_decrypt
    - set_nameopt
    - sk_X509_num
    - CMS_ContentInfo_print_ctx
    - CMS_uncompress
    - sk_X509_value
    - OSSL_STACK_OF_X509_free
    - CMS_compress
    - EVP_CIPHER_free
    - opt_rest
    - load_key
    - BIO_new_file
    - BIO_puts
    - CMS_verify
    - opt_cipher_any
    - CMS_set1_eContentType
    - CMS_RecipientInfo_kari_get0_ctx
    - EVP_CIPHER_get_nid
    - opt_next
    - opt_format
    - CMS_add1_ReceiptRequest
    - app_get0_libctx
    - opt_set_unknown_name
    - sk_OPENSSL_STRING_value
    - ERR_print_errors
    - CMS_EncryptedData_decrypt
    - SMIME_write_CMS
    - X509_STORE_free
    - ASN1_PCTX_free
    - CMS_RecipientInfo_kemri_get0_kdf_alg
    - opt_md
    - app_RAND_load
    - CMS_get0_SignerInfos
    - ASN1_PCTX_set_str_flags
    - i2d_CMS_bio_stream
    - CMS_decrypt_set1_key
    - CMS_SignerInfo_get0_pkey_ctx
    - X509_STORE_set1_param
    - CMS_decrypt_set1_password
    - opt_flag
    - BIO_free_all
    - CMS_add0_recipient_key
    - CMS_data_create_ex
    - CMS_EncryptedData_encrypt_ex
    - BIO_printf
    - X509_ALGOR_set0
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - load_certs
    - sk_OPENSSL_STRING_num
    - save_certs
    - opt_arg
    - CMS_sign_receipt
    - CMS_final
    - opt_help
    - CMS_RecipientInfo_kemri_get0_ctx
    - sk_X509_free
    - opt_init
    - CMS_sign_ex
    - CMS_get0_signers
    - CMS_add1_recipient
    - CMS_RecipientInfo_kemri_set_ukm
    - OBJ_txt2obj
    - CMS_add1_signer
    - load_cert
    - CMS_encrypt_ex
    - X509_free
    - CMS_decrypt_set1_pkey_and_peer
    - EVP_EncryptInit_ex
    - ASN1_PCTX_set_nm_flags
    - EVP_PKEY_CTX_ctrl
    - CMS_RecipientInfo_get0_pkey_ctx
    - cms_set_pkey_param
    - sk_X509_push
    - X509_VERIFY_PARAM_new
    - EVP_aes_256_cbc
    - load_content_info
    - opt_unknown
    - OPENSSL_strdup
    - opt_verify
    - CMS_ContentInfo_free
    - get_nameopt
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - CMS_digest_create_ex
    - make_receipt_request
    - CMS_RecipientInfo_type
    - PEM_write_bio_CMS_stream
    - sk_X509_new_null
    - CMS_final_digest
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int cms_main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/cms.c:1459,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cms.c:1462,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/cms.c:1463,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/cms.c:1463,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cms.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - signerfile
    - signers
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1453
    functionDepth: 3
    functionLinenumber: 1453
    functionLinenumberEnd: 1466
    functionName: save_certs
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - PEM_write_bio_X509
    - sk_X509_value
    - BIO_free
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int save_certs(char *signerfile, STACK_OF(X509) *signers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/apps/cms.c:1474,1
    - Dst: policies_print
      Src: /src/openssl/apps/cms.c:1482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1486
    functionName: cms_cb
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_error
    - policies_print
    linkageType: ''
    returnType: int
    signature: int cms_cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1508,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1512,1
    - Dst: CMS_get0_SignerInfos
      Src: /src/openssl/apps/cms.c:1515,1
    - Dst: sk_CMS_SignerInfo_num
      Src: /src/openssl/apps/cms.c:1516,1
    - Dst: sk_CMS_SignerInfo_value
      Src: /src/openssl/apps/cms.c:1517,1
    - Dst: CMS_get1_ReceiptRequest
      Src: /src/openssl/apps/cms.c:1518,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1519,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1521,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1523,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/cms.c:1524,1
    - Dst: CMS_ReceiptRequest_get0_values
      Src: /src/openssl/apps/cms.c:1528,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1530,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/cms.c:1531,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/cms.c:1532,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/apps/cms.c:1533,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1534,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1536,1
    - Dst: gnames_stack_print
      Src: /src/openssl/apps/cms.c:1537,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1539,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1541,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cms.c:1543,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/cms.c:1545,1
    - Dst: gnames_stack_print
      Src: /src/openssl/apps/cms.c:1546,1
    - Dst: CMS_ReceiptRequest_free
      Src: /src/openssl/apps/cms.c:1548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - cms
    argTypes:
    - CMS_ContentInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1506
    functionDepth: 5
    functionLinenumber: 1506
    functionLinenumberEnd: 1550
    functionName: receipt_request_print
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 1
    functionsReached:
    - CMS_get0_SignerInfos
    - gnames_stack_print
    - sk_CMS_SignerInfo_value
    - BIO_puts
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - STACK_OF
    - CMS_get1_ReceiptRequest
    - ERR_print_errors
    - BIO_dump_indent
    - sk_CMS_SignerInfo_num
    - CMS_ReceiptRequest_get0_values
    - CMS_ReceiptRequest_free
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void receipt_request_print(CMS_ContentInfo *cms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cms.c:1590,1
    - Dst: make_names_stack
      Src: /src/openssl/apps/cms.c:1593,1
    - Dst: make_names_stack
      Src: /src/openssl/apps/cms.c:1597,1
    - Dst: CMS_ReceiptRequest_create0_ex
      Src: /src/openssl/apps/cms.c:1603,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cms.c:1604,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/apps/cms.c:1609,1
    - Dst: sk_GENERAL_NAMES_pop_free
      Src: /src/openssl/apps/cms.c:1610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - rr_to
    - rr_allorfirst
    - rr_from
    argTypes:
    - STACK_OF*
    - int
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1586
    functionDepth: 2
    functionLinenumber: 1586
    functionLinenumberEnd: 1612
    functionName: make_receipt_request
    functionSourceFile: /src/openssl/apps/cms.c
    functionUses: 1
    functionsReached:
    - make_names_stack
    - STACK_OF
    - app_get0_libctx
    - CMS_ReceiptRequest_create0_ex
    - sk_GENERAL_NAMES_pop_free
    linkageType: ''
    returnType: CMS_ReceiptRequest
    signature: "CMS_ReceiptRequest *make_receipt_request(STACK_OF(OPENSSL_STRING)
      *rr_to, int rr_allorfirst,\n                      STACK_OF(OPENSSL_STRING) *rr_from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: lstat
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lstat(path, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - target
    - linkpath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: symlink
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int symlink(const char *target, const char *linkpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pathname
    - buf
    - bufsiz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: readlink
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t readlink(const char *pathname, char *buf, size_t bufsiz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - bit
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: bit_set
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bit_set(unsigned char *set, unsigned int bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - set
    - bit
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: bit_isset
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bit_isset(unsigned char *set, unsigned int bit)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/rehash.c:129,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rehash.c:135,1
    - Dst: memcmp
      Src: /src/openssl/apps/rehash.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:145,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:147,1
    - Dst: strcmp
      Src: /src/openssl/apps/rehash.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:160,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:162,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rehash.c:165,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/rehash.c:168,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:170,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:172,1
    - Dst: memcpy
      Src: /src/openssl/apps/rehash.c:187,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 6
    argNames:
    - type
    - hash
    - filename
    - digest
    - need_symlink
    - old_id
    argTypes:
    - enum Type
    - unsigned int
    - char*
    - unsigned char*
    - int
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 190
    functionName: add_entry
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 4
    functionsReached:
    - opt_getprog
    - memcmp
    - memcpy
    - OPENSSL_free
    - OSSL_NELEM
    - OPENSSL_strdup
    - strcmp
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: "int add_entry(enum Type type, unsigned int hash, const char *filename,\n
      \                     const unsigned char *digest, int need_symlink,\n                      unsigned
      short old_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/openssl/apps/rehash.c:206,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/rehash.c:209,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/rehash.c:213,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/apps/rehash.c:214,1
    - Dst: strlen
      Src: /src/openssl/apps/rehash.c:215,1
    - Dst: strlen
      Src: /src/openssl/apps/rehash.c:218,1
    - Dst: strtoul
      Src: /src/openssl/apps/rehash.c:220,1
    - Dst: readlink
      Src: /src/openssl/apps/rehash.c:224,1
    - Dst: add_entry
      Src: /src/openssl/apps/rehash.c:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - filename
    - fullpath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 230
    functionName: handle_symlink
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_hexchar2int
    - isxdigit
    - strtoul
    - readlink
    - add_entry
    - OPENSSL_strncasecmp
    - OSSL_NELEM
    - strlen
    linkageType: ''
    returnType: int
    signature: int handle_symlink(const char *filename, const char *fullpath)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/rehash.c:237,1
    - Dst: strrchr
      Src: /src/openssl/apps/rehash.c:247,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/rehash.c:249,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/rehash.c:250,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/rehash.c:253,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/rehash.c:257,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:258,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:259,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/openssl/apps/rehash.c:263,1
    - Dst: BIO_free
      Src: /src/openssl/apps/rehash.c:264,1
    - Dst: sk_X509_INFO_num
      Src: /src/openssl/apps/rehash.c:268,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:269,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:272,1
    - Dst: sk_X509_INFO_value
      Src: /src/openssl/apps/rehash.c:276,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/rehash.c:279,1
    - Dst: X509_digest
      Src: /src/openssl/apps/rehash.c:280,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:281,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/rehash.c:287,1
    - Dst: X509_CRL_digest
      Src: /src/openssl/apps/rehash.c:288,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:289,1
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/apps/rehash.c:301,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/rehash.c:302,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/rehash.c:302,1
    - Dst: add_entry
      Src: /src/openssl/apps/rehash.c:305,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:307,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:308,1
    - Dst: add_entry
      Src: /src/openssl/apps/rehash.c:313,1
    - Dst: X509_NAME_hash_old
      Src: /src/openssl/apps/rehash.c:313,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/openssl/apps/rehash.c:318,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 3
    argNames:
    - filename
    - fullpath
    - h
    argTypes:
    - char*
    - char*
    - enum Hash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 235
    functionDepth: 11
    functionLinenumber: 235
    functionLinenumberEnd: 320
    functionName: do_file
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - sk_X509_INFO_pop_free
    - OPENSSL_strcasecmp
    - add_entry
    - sk_X509_INFO_value
    - X509_digest
    - opt_getprog
    - X509_NAME_hash_ex
    - sk_X509_INFO_num
    - X509_CRL_digest
    - app_get0_propq
    - BIO_printf
    - BIO_new_file
    - BIO_free
    - STACK_OF
    - X509_get_subject_name
    - OSSL_NELEM
    - X509_CRL_get_issuer
    - app_get0_libctx
    - X509_NAME_hash_old
    - strrchr
    - PEM_X509_INFO_read_bio
    linkageType: ''
    returnType: int
    signature: int do_file(const char *filename, const char *fullpath, enum Hash h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: str_free
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void str_free(char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/rehash.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: ends_with_dirsep
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int ends_with_dirsep(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/rehash.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: sk_strcmp
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int sk_strcmp(const char * const *a, const char * const *b)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/rehash.c:361,1
    - Dst: app_access
      Src: /src/openssl/apps/rehash.c:363,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:364,1
    - Dst: strlen
      Src: /src/openssl/apps/rehash.c:367,1
    - Dst: ends_with_dirsep
      Src: /src/openssl/apps/rehash.c:368,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:374,1
    - Dst: sk_OPENSSL_STRING_new
      Src: /src/openssl/apps/rehash.c:376,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:377,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/apps/rehash.c:381,1
    - Dst: strlen
      Src: /src/openssl/apps/rehash.c:382,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/rehash.c:384,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/rehash.c:385,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:386,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/apps/rehash.c:387,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rehash.c:388,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/apps/rehash.c:395,1
    - Dst: sk_OPENSSL_STRING_sort
      Src: /src/openssl/apps/rehash.c:396,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rehash.c:399,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/rehash.c:401,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/rehash.c:403,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/rehash.c:404,1
    - Dst: lstat
      Src: /src/openssl/apps/rehash.c:407,1
    - Dst: S_ISLNK
      Src: /src/openssl/apps/rehash.c:409,1
    - Dst: handle_symlink
      Src: /src/openssl/apps/rehash.c:409,1
    - Dst: do_file
      Src: /src/openssl/apps/rehash.c:411,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/rehash.c:414,1
    - Dst: memset
      Src: /src/openssl/apps/rehash.c:418,1
    - Dst: bit_set
      Src: /src/openssl/apps/rehash.c:421,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/rehash.c:427,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:430,1
    - Dst: bit_isset
      Src: /src/openssl/apps/rehash.c:434,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/rehash.c:437,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:441,1
    - Dst: unlink
      Src: /src/openssl/apps/rehash.c:443,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:444,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:446,1
    - Dst: strerror
      Src: /src/openssl/apps/rehash.c:446,1
    - Dst: symlink
      Src: /src/openssl/apps/rehash.c:449,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:450,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:452,1
    - Dst: strerror
      Src: /src/openssl/apps/rehash.c:453,1
    - Dst: bit_set
      Src: /src/openssl/apps/rehash.c:456,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/rehash.c:459,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:463,1
    - Dst: unlink
      Src: /src/openssl/apps/rehash.c:465,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:466,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/rehash.c:468,1
    - Dst: strerror
      Src: /src/openssl/apps/rehash.c:468,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:472,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:473,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:475,1
    - Dst: sk_OPENSSL_STRING_pop_free
      Src: /src/openssl/apps/rehash.c:481,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:482,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 98
    argCount: 2
    argNames:
    - dirname
    - h
    argTypes:
    - char*
    - enum Hash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 349
    functionDepth: 12
    functionLinenumber: 349
    functionLinenumberEnd: 484
    functionName: do_dir
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - bit_isset
    - sk_OPENSSL_STRING_push
    - BIO_snprintf
    - app_access
    - OPENSSL_free
    - ends_with_dirsep
    - S_ISLNK
    - strlen
    - OPENSSL_DIR_end
    - app_malloc
    - bit_set
    - opt_getprog
    - handle_symlink
    - do_file
    - OPENSSL_strdup
    - sk_OPENSSL_STRING_new
    - sk_OPENSSL_STRING_pop_free
    - BIO_printf
    - symlink
    - strerror
    - BIO_puts
    - unlink
    - STACK_OF
    - sk_OPENSSL_STRING_num
    - memset
    - lstat
    - sk_OPENSSL_STRING_sort
    - OSSL_NELEM
    - sk_OPENSSL_STRING_value
    - OPENSSL_DIR_read
    linkageType: ''
    returnType: int
    signature: int do_dir(const char *dirname, enum Hash h)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/rehash.c:521,1
    - Dst: opt_next
      Src: /src/openssl/apps/rehash.c:522,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:526,1
    - Dst: opt_help
      Src: /src/openssl/apps/rehash.c:529,1
    - Dst: opt_provider
      Src: /src/openssl/apps/rehash.c:544,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/rehash.c:551,1
    - Dst: opt_rest
      Src: /src/openssl/apps/rehash.c:552,1
    - Dst: EVP_sha1
      Src: /src/openssl/apps/rehash.c:554,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/apps/rehash.c:555,1
    - Dst: do_dir
      Src: /src/openssl/apps/rehash.c:562,1
    - Dst: getenv
      Src: /src/openssl/apps/rehash.c:563,1
    - Dst: X509_get_default_cert_dir_env
      Src: /src/openssl/apps/rehash.c:563,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/rehash.c:565,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rehash.c:567,1
    - Dst: strtok
      Src: /src/openssl/apps/rehash.c:571,1
    - Dst: strtok
      Src: /src/openssl/apps/rehash.c:571,1
    - Dst: do_dir
      Src: /src/openssl/apps/rehash.c:572,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rehash.c:573,1
    - Dst: do_dir
      Src: /src/openssl/apps/rehash.c:575,1
    - Dst: X509_get_default_cert_dir
      Src: /src/openssl/apps/rehash.c:575,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 513
    functionDepth: 13
    functionLinenumber: 513
    functionLinenumberEnd: 580
    functionName: rehash_main
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - opt_num_rest
    - opt_help
    - opt_provider
    - X509_get_default_cert_dir_env
    - opt_next
    - opt_init
    - EVP_MD_get_size
    - BIO_puts
    - EVP_sha1
    - X509_get_default_cert_dir
    - do_dir
    - OPENSSL_free
    - OPENSSL_strdup
    - strtok
    - opt_rest
    - getenv
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int rehash_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/rehash.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: rehash_main
    functionSourceFile: /src/openssl/apps/rehash.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int rehash_main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/openssl/apps/rsa.c:97,1
    - Dst: i2d_RSAPublicKey_bio
      Src: /src/openssl/apps/rsa.c:104,1
    - Dst: i2d_RSA_PUBKEY_bio
      Src: /src/openssl/apps/rsa.c:106,1
    - Dst: PEM_write_bio_RSAPublicKey
      Src: /src/openssl/apps/rsa.c:109,1
    - Dst: PEM_write_bio_RSA_PUBKEY
      Src: /src/openssl/apps/rsa.c:111,1
    - Dst: i2b_PublicKey_bio
      Src: /src/openssl/apps/rsa.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - pkey
    - outformat
    - pubout
    - out
    argTypes:
    - EVP_PKEY*
    - int
    - int
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 9
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: try_legacy_encoding
    functionSourceFile: /src/openssl/apps/rsa.c
    functionUses: 0
    functionsReached:
    - i2d_RSAPublicKey_bio
    - PEM_write_bio_RSA_PUBKEY
    - EVP_PKEY_get0_RSA
    - i2b_PublicKey_bio
    - i2d_RSA_PUBKEY_bio
    - PEM_write_bio_RSAPublicKey
    linkageType: ''
    returnType: int
    signature: "int try_legacy_encoding(EVP_PKEY *pkey, int outformat, int pubout,\n
      \                              BIO *out)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/rsa.c:142,1
    - Dst: opt_init
      Src: /src/openssl/apps/rsa.c:143,1
    - Dst: opt_next
      Src: /src/openssl/apps/rsa.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:149,1
    - Dst: opt_help
      Src: /src/openssl/apps/rsa.c:152,1
    - Dst: opt_format
      Src: /src/openssl/apps/rsa.c:156,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:156,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:160,1
    - Dst: opt_format
      Src: /src/openssl/apps/rsa.c:163,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:163,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:167,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:170,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:173,1
    - Dst: setup_engine
      Src: /src/openssl/apps/rsa.c:176,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsa.c:176,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/rsa.c:208,1
    - Dst: opt_provider
      Src: /src/openssl/apps/rsa.c:211,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/rsa.c:221,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/rsa.c:224,1
    - Dst: app_passwd
      Src: /src/openssl/apps/rsa.c:228,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:229,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:233,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/rsa.c:249,1
    - Dst: load_key
      Src: /src/openssl/apps/rsa.c:251,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:255,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/rsa.c:258,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/rsa.c:258,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:259,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/rsa.c:263,1
    - Dst: assert
      Src: /src/openssl/apps/rsa.c:268,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/rsa.c:269,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/rsa.c:270,1
    - Dst: perror
      Src: /src/openssl/apps/rsa.c:271,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:272,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/rsa.c:281,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:282,1
    - Dst: BN_print
      Src: /src/openssl/apps/rsa.c:283,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:284,1
    - Dst: BN_free
      Src: /src/openssl/apps/rsa.c:285,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/rsa.c:291,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:293,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:294,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/apps/rsa.c:297,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/rsa.c:298,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:301,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:303,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:304,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:315,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:326,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:331,1
    - Dst: assert
      Src: /src/openssl/apps/rsa.c:339,1
    - Dst: assert
      Src: /src/openssl/apps/rsa.c:352,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/rsa.c:361,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/apps/rsa.c:364,1
    - Dst: try_legacy_encoding
      Src: /src/openssl/apps/rsa.c:366,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:367,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/apps/rsa.c:375,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/rsa.c:375,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/openssl/apps/rsa.c:379,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/rsa.c:379,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/apps/rsa.c:382,1
    - Dst: strlen
      Src: /src/openssl/apps/rsa.c:384,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/apps/rsa.c:391,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/apps/rsa.c:392,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:393,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/rsa.c:398,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsa.c:399,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsa.c:400,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/rsa.c:405,1
    - Dst: release_engine
      Src: /src/openssl/apps/rsa.c:406,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/rsa.c:407,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/rsa.c:408,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/rsa.c:409,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsa.c:410,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsa.c:411,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 252
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (pubin || private)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/openssl/apps/rsa.c
    - condition: (private)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/openssl/apps/rsa.c
    - condition: (private)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/openssl/apps/rsa.c
    constantsTouched: []
    func_position:
      end: 413
      start: 122
    functionDepth: 11
    functionLinenumber: 122
    functionLinenumberEnd: 413
    functionName: rsa_main
    functionSourceFile: /src/openssl/apps/rsa.c
    functionUses: 0
    functionsReached:
    - load_pubkey
    - EVP_PKEY_is_a
    - OSSL_ENCODER_CTX_get_num_encoders
    - opt_check_rest_arg
    - OPENSSL_free
    - try_legacy_encoding
    - EVP_PKEY_get_bn_param
    - strlen
    - assert
    - OSSL_ENCODER_CTX_new_for_pkey
    - BN_print
    - BIO_free_all
    - EVP_PKEY_CTX_free
    - opt_unknown
    - EVP_PKEY_free
    - EVP_CIPHER_free
    - BN_free
    - BIO_printf
    - perror
    - load_key
    - opt_provider
    - setup_engine
    - bio_open_owner
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_ENCODER_CTX_free
    - opt_cipher
    - opt_arg
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_to_bio
    - get_ui_method
    - opt_help
    - release_engine
    - opt_next
    - opt_init
    - EVP_PKEY_print_public
    - EVP_PKEY_check
    - app_passwd
    - opt_format
    - EVP_CIPHER_get0_name
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - OSSL_PARAM_construct_int
    - opt_set_unknown_name
    - ERR_print_errors
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_set_params
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: int rsa_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: IS_FETCHABLE
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_FETCHABLE(type, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_propq
      Src: /src/openssl/apps/list.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: include_legacy
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - app_get0_propq
    linkageType: ''
    returnType: int
    signature: int include_legacy(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/list.c:80,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/list.c:80,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:83,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/list.c:83,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - c
    - from
    - to
    - arg
    argTypes:
    - EVP_CIPHER*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: legacy_cipher_fn
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OPENSSL_strcasecmp
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: void
    signature: "void legacy_cipher_fn(const EVP_CIPHER *c,\n                             const
      char *from, const char *to, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:98,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:98,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:98,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:99,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_CIPHER**
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: cipher_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: int
    signature: "int cipher_cmp(const EVP_CIPHER * const *a,\n                      const
      EVP_CIPHER * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:104,1
    - Dst: is_cipher_fetchable
      Src: /src/openssl/apps/list.c:106,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/apps/list.c:107,1
    - Dst: sk_EVP_CIPHER_push
      Src: /src/openssl/apps/list.c:108,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/list.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cipher
    - stack
    argTypes:
    - EVP_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: collect_ciphers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_up_ref
    - STACK_OF
    - EVP_CIPHER_free
    - is_cipher_fetchable
    - sk_EVP_CIPHER_push
    linkageType: ''
    returnType: void
    signature: void collect_ciphers(EVP_CIPHER *cipher, void *stack)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:114,1
    - Dst: sk_EVP_CIPHER_new
      Src: /src/openssl/apps/list.c:114,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:118,1
    - Dst: include_legacy
      Src: /src/openssl/apps/list.c:122,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:123,1
    - Dst: EVP_CIPHER_do_all_sorted
      Src: /src/openssl/apps/list.c:124,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:128,1
    - Dst: EVP_CIPHER_do_all_provided
      Src: /src/openssl/apps/list.c:129,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:129,1
    - Dst: sk_EVP_CIPHER_sort
      Src: /src/openssl/apps/list.c:130,1
    - Dst: sk_EVP_CIPHER_num
      Src: /src/openssl/apps/list.c:131,1
    - Dst: sk_EVP_CIPHER_value
      Src: /src/openssl/apps/list.c:132,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:133,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/apps/list.c:135,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:138,1
    - Dst: EVP_CIPHER_names_do_all
      Src: /src/openssl/apps/list.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:140,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:141,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:143,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:144,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:144,1
    - Dst: EVP_CIPHER_get0_description
      Src: /src/openssl/apps/list.c:147,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:150,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:151,1
    - Dst: EVP_CIPHER_gettable_params
      Src: /src/openssl/apps/list.c:152,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:153,1
    - Dst: EVP_CIPHER_gettable_ctx_params
      Src: /src/openssl/apps/list.c:154,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:155,1
    - Dst: EVP_CIPHER_settable_ctx_params
      Src: /src/openssl/apps/list.c:156,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:159,1
    - Dst: sk_EVP_CIPHER_pop_free
      Src: /src/openssl/apps/list.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 112
    functionDepth: 9
    functionLinenumber: 112
    functionLinenumberEnd: 162
    functionName: list_ciphers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - OSSL_PROVIDER_get0_name
    - sk_EVP_CIPHER_pop_free
    - print_names
    - EVP_CIPHER_gettable_params
    - EVP_CIPHER_do_all_provided
    - EVP_CIPHER_do_all_sorted
    - EVP_CIPHER_is_a
    - sk_EVP_CIPHER_value
    - BIO_printf
    - print_param_types
    - EVP_CIPHER_settable_ctx_params
    - EVP_CIPHER_names_do_all
    - include_legacy
    - STACK_OF
    - sk_EVP_CIPHER_sort
    - EVP_CIPHER_gettable_ctx_params
    - sk_EVP_CIPHER_new
    - sk_EVP_CIPHER_num
    - EVP_CIPHER_get0_description
    - EVP_CIPHER_get0_provider
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_ciphers(const char *prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:169,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/apps/list.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - m
    - from
    - to
    - arg
    argTypes:
    - EVP_MD*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: legacy_md_fn
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - EVP_MD_get0_name
    linkageType: ''
    returnType: void
    signature: "void legacy_md_fn(const EVP_MD *m,\n                       const char
      *from, const char *to, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:183,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:183,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/apps/list.c:183,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:184,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/apps/list.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_MD**
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: md_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: int
    signature: int md_cmp(const EVP_MD * const *a, const EVP_MD * const *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:189,1
    - Dst: is_digest_fetchable
      Src: /src/openssl/apps/list.c:191,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/apps/list.c:192,1
    - Dst: sk_EVP_MD_push
      Src: /src/openssl/apps/list.c:193,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/list.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - digest
    - stack
    argTypes:
    - EVP_MD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: collect_digests
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_MD_up_ref
    - is_digest_fetchable
    - EVP_MD_free
    - STACK_OF
    - sk_EVP_MD_push
    linkageType: ''
    returnType: void
    signature: void collect_digests(EVP_MD *digest, void *stack)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:199,1
    - Dst: sk_EVP_MD_new
      Src: /src/openssl/apps/list.c:199,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:203,1
    - Dst: include_legacy
      Src: /src/openssl/apps/list.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:208,1
    - Dst: EVP_MD_do_all_sorted
      Src: /src/openssl/apps/list.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:213,1
    - Dst: EVP_MD_do_all_provided
      Src: /src/openssl/apps/list.c:214,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:214,1
    - Dst: sk_EVP_MD_sort
      Src: /src/openssl/apps/list.c:215,1
    - Dst: sk_EVP_MD_num
      Src: /src/openssl/apps/list.c:216,1
    - Dst: sk_EVP_MD_value
      Src: /src/openssl/apps/list.c:217,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:218,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/apps/list.c:220,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:223,1
    - Dst: EVP_MD_names_do_all
      Src: /src/openssl/apps/list.c:224,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:225,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:226,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:228,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:229,1
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/apps/list.c:229,1
    - Dst: EVP_MD_get0_description
      Src: /src/openssl/apps/list.c:232,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:235,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:236,1
    - Dst: EVP_MD_gettable_params
      Src: /src/openssl/apps/list.c:237,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:238,1
    - Dst: EVP_MD_gettable_ctx_params
      Src: /src/openssl/apps/list.c:239,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:240,1
    - Dst: EVP_MD_settable_ctx_params
      Src: /src/openssl/apps/list.c:241,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:244,1
    - Dst: sk_EVP_MD_pop_free
      Src: /src/openssl/apps/list.c:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 197
    functionDepth: 10
    functionLinenumber: 197
    functionLinenumberEnd: 247
    functionName: list_digests
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - OSSL_PROVIDER_get0_name
    - EVP_MD_is_a
    - print_names
    - EVP_MD_names_do_all
    - EVP_MD_gettable_ctx_params
    - sk_EVP_MD_num
    - EVP_MD_settable_ctx_params
    - BIO_printf
    - print_param_types
    - include_legacy
    - EVP_MD_do_all_sorted
    - STACK_OF
    - sk_EVP_MD_pop_free
    - EVP_MD_get0_provider
    - EVP_MD_gettable_params
    - EVP_MD_get0_description
    - EVP_MD_do_all_provided
    - app_get0_libctx
    - sk_EVP_MD_value
    - sk_EVP_MD_new
    - sk_OPENSSL_CSTRING_new
    - sk_EVP_MD_sort
    linkageType: ''
    returnType: void
    signature: void list_digests(const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:252,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:252,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/apps/list.c:252,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:253,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/apps/list.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_MAC**
    - EVP_MAC**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: mac_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_MAC_get0_provider
    linkageType: ''
    returnType: int
    signature: int mac_cmp(const EVP_MAC * const *a, const EVP_MAC * const *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:258,1
    - Dst: is_mac_fetchable
      Src: /src/openssl/apps/list.c:260,1
    - Dst: sk_EVP_MAC_push
      Src: /src/openssl/apps/list.c:261,1
    - Dst: EVP_MAC_up_ref
      Src: /src/openssl/apps/list.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - mac
    - stack
    argTypes:
    - EVP_MAC*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: collect_macs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_up_ref
    - STACK_OF
    - is_mac_fetchable
    - sk_EVP_MAC_push
    linkageType: ''
    returnType: void
    signature: void collect_macs(EVP_MAC *mac, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:267,1
    - Dst: sk_EVP_MAC_new
      Src: /src/openssl/apps/list.c:267,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:271,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:274,1
    - Dst: EVP_MAC_do_all_provided
      Src: /src/openssl/apps/list.c:275,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:275,1
    - Dst: sk_EVP_MAC_sort
      Src: /src/openssl/apps/list.c:276,1
    - Dst: sk_EVP_MAC_num
      Src: /src/openssl/apps/list.c:277,1
    - Dst: sk_EVP_MAC_value
      Src: /src/openssl/apps/list.c:278,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:279,1
    - Dst: EVP_MAC_is_a
      Src: /src/openssl/apps/list.c:281,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:284,1
    - Dst: EVP_MAC_names_do_all
      Src: /src/openssl/apps/list.c:285,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:286,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:287,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:289,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:290,1
    - Dst: EVP_MAC_get0_provider
      Src: /src/openssl/apps/list.c:290,1
    - Dst: EVP_MAC_get0_description
      Src: /src/openssl/apps/list.c:293,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:296,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:297,1
    - Dst: EVP_MAC_gettable_params
      Src: /src/openssl/apps/list.c:298,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:299,1
    - Dst: EVP_MAC_gettable_ctx_params
      Src: /src/openssl/apps/list.c:300,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:301,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/apps/list.c:302,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:305,1
    - Dst: sk_EVP_MAC_pop_free
      Src: /src/openssl/apps/list.c:307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 265
    functionDepth: 10
    functionLinenumber: 265
    functionLinenumberEnd: 308
    functionName: list_macs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - EVP_MAC_get0_description
    - OSSL_PROVIDER_get0_name
    - EVP_MAC_settable_ctx_params
    - print_names
    - sk_EVP_MAC_new
    - sk_EVP_MAC_value
    - EVP_MAC_gettable_ctx_params
    - EVP_MAC_gettable_params
    - sk_EVP_MAC_sort
    - EVP_MAC_do_all_provided
    - BIO_printf
    - print_param_types
    - sk_EVP_MAC_num
    - EVP_MAC_is_a
    - STACK_OF
    - sk_EVP_MAC_pop_free
    - EVP_MAC_get0_provider
    - EVP_MAC_names_do_all
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_macs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:316,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:316,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/apps/list.c:316,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:317,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/apps/list.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KDF**
    - EVP_KDF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: kdf_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_KDF_get0_provider
    linkageType: ''
    returnType: int
    signature: int kdf_cmp(const EVP_KDF * const *a, const EVP_KDF * const *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:322,1
    - Dst: is_kdf_fetchable
      Src: /src/openssl/apps/list.c:324,1
    - Dst: EVP_KDF_up_ref
      Src: /src/openssl/apps/list.c:325,1
    - Dst: sk_EVP_KDF_push
      Src: /src/openssl/apps/list.c:326,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/apps/list.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - kdf
    - stack
    argTypes:
    - EVP_KDF*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: collect_kdfs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_up_ref
    - sk_EVP_KDF_push
    - EVP_KDF_free
    - STACK_OF
    - is_kdf_fetchable
    linkageType: ''
    returnType: void
    signature: void collect_kdfs(EVP_KDF *kdf, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:332,1
    - Dst: sk_EVP_KDF_new
      Src: /src/openssl/apps/list.c:332,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:336,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:339,1
    - Dst: EVP_KDF_do_all_provided
      Src: /src/openssl/apps/list.c:340,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:340,1
    - Dst: sk_EVP_KDF_sort
      Src: /src/openssl/apps/list.c:341,1
    - Dst: sk_EVP_KDF_num
      Src: /src/openssl/apps/list.c:342,1
    - Dst: sk_EVP_KDF_value
      Src: /src/openssl/apps/list.c:343,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:344,1
    - Dst: EVP_KDF_is_a
      Src: /src/openssl/apps/list.c:346,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:349,1
    - Dst: EVP_KDF_names_do_all
      Src: /src/openssl/apps/list.c:350,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:351,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:352,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:354,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:355,1
    - Dst: EVP_KDF_get0_provider
      Src: /src/openssl/apps/list.c:355,1
    - Dst: EVP_KDF_get0_description
      Src: /src/openssl/apps/list.c:358,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:361,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:362,1
    - Dst: EVP_KDF_gettable_params
      Src: /src/openssl/apps/list.c:363,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:364,1
    - Dst: EVP_KDF_gettable_ctx_params
      Src: /src/openssl/apps/list.c:365,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:366,1
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/openssl/apps/list.c:367,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:370,1
    - Dst: sk_EVP_KDF_pop_free
      Src: /src/openssl/apps/list.c:372,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 330
    functionDepth: 9
    functionLinenumber: 330
    functionLinenumberEnd: 373
    functionName: list_kdfs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - EVP_KDF_gettable_params
    - OSSL_PROVIDER_get0_name
    - print_names
    - EVP_KDF_get0_provider
    - sk_EVP_KDF_sort
    - EVP_KDF_do_all_provided
    - EVP_KDF_gettable_ctx_params
    - sk_EVP_KDF_value
    - EVP_KDF_settable_ctx_params
    - BIO_printf
    - print_param_types
    - sk_EVP_KDF_pop_free
    - sk_EVP_KDF_new
    - STACK_OF
    - sk_EVP_KDF_num
    - app_get0_libctx
    - EVP_KDF_is_a
    - EVP_KDF_names_do_all
    - EVP_KDF_get0_description
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_kdfs(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/list.c:382,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:382,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:382,1
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:385,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:385,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/apps/list.c:385,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:386,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/apps/list.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_RAND**
    - EVP_RAND**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: rand_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - EVP_RAND_get0_name
    - OSSL_PROVIDER_get0_name
    - EVP_RAND_get0_provider
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rand_cmp(const EVP_RAND * const *a, const EVP_RAND * const *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:393,1
    - Dst: is_rand_fetchable
      Src: /src/openssl/apps/list.c:395,1
    - Dst: EVP_RAND_up_ref
      Src: /src/openssl/apps/list.c:396,1
    - Dst: sk_EVP_RAND_push
      Src: /src/openssl/apps/list.c:397,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/apps/list.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - rand
    - stack
    argTypes:
    - EVP_RAND*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: collect_rands
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - is_rand_fetchable
    - sk_EVP_RAND_push
    - EVP_RAND_free
    - EVP_RAND_up_ref
    - STACK_OF
    linkageType: ''
    returnType: void
    signature: void collect_rands(EVP_RAND *rand, void *stack)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:403,1
    - Dst: sk_EVP_RAND_new
      Src: /src/openssl/apps/list.c:403,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:407,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:410,1
    - Dst: EVP_RAND_do_all_provided
      Src: /src/openssl/apps/list.c:411,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:411,1
    - Dst: sk_EVP_RAND_sort
      Src: /src/openssl/apps/list.c:412,1
    - Dst: sk_EVP_RAND_num
      Src: /src/openssl/apps/list.c:413,1
    - Dst: sk_EVP_RAND_value
      Src: /src/openssl/apps/list.c:414,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/list.c:417,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:417,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:419,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:419,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:420,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:421,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/apps/list.c:421,1
    - Dst: EVP_RAND_get0_description
      Src: /src/openssl/apps/list.c:424,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:427,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:428,1
    - Dst: EVP_RAND_gettable_params
      Src: /src/openssl/apps/list.c:429,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:430,1
    - Dst: EVP_RAND_gettable_ctx_params
      Src: /src/openssl/apps/list.c:431,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:432,1
    - Dst: EVP_RAND_settable_ctx_params
      Src: /src/openssl/apps/list.c:433,1
    - Dst: sk_EVP_RAND_pop_free
      Src: /src/openssl/apps/list.c:436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 401
    functionDepth: 10
    functionLinenumber: 401
    functionLinenumberEnd: 437
    functionName: list_random_generators
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_settable_ctx_params
    - EVP_RAND_get0_description
    - sk_EVP_RAND_new
    - OPENSSL_strcasecmp
    - EVP_RAND_get0_name
    - OSSL_PROVIDER_get0_name
    - EVP_RAND_gettable_params
    - EVP_RAND_gettable_ctx_params
    - STACK_OF
    - app_get0_libctx
    - EVP_RAND_do_all_provided
    - sk_EVP_RAND_value
    - sk_EVP_RAND_sort
    - EVP_RAND_get0_provider
    - sk_EVP_RAND_num
    - sk_EVP_RAND_pop_free
    - BIO_printf
    - print_param_types
    linkageType: ''
    returnType: void
    signature: void list_random_generators(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:448,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/openssl/apps/list.c:450,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:452,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/apps/list.c:452,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:453,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:454,1
    - Dst: EVP_RAND_get0_provider
      Src: /src/openssl/apps/list.c:454,1
    - Dst: EVP_RAND_get_state
      Src: /src/openssl/apps/list.c:456,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:470,1
    - Dst: EVP_RAND_gettable_ctx_params
      Src: /src/openssl/apps/list.c:472,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/list.c:476,1
    - Dst: EVP_RAND_CTX_get_params
      Src: /src/openssl/apps/list.c:494,1
    - Dst: print_param_value
      Src: /src/openssl/apps/list.c:495,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - name
    - drbg
    argTypes:
    - char*
    - EVP_RAND_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 498
    functionName: display_random
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX_get_params
    - OPENSSL_strcasecmp
    - EVP_RAND_get0_name
    - EVP_RAND_CTX_get0_rand
    - OSSL_PROVIDER_get0_name
    - EVP_RAND_gettable_ctx_params
    - print_param_value
    - EVP_RAND_get0_provider
    - EVP_RAND_get_state
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void display_random(const char *name, EVP_RAND_CTX *drbg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_random
      Src: /src/openssl/apps/list.c:502,1
    - Dst: RAND_get0_primary
      Src: /src/openssl/apps/list.c:502,1
    - Dst: display_random
      Src: /src/openssl/apps/list.c:503,1
    - Dst: RAND_get0_public
      Src: /src/openssl/apps/list.c:503,1
    - Dst: display_random
      Src: /src/openssl/apps/list.c:504,1
    - Dst: RAND_get0_private
      Src: /src/openssl/apps/list.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 14
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: list_random_instances
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - display_random
    - RAND_get0_public
    - RAND_get0_primary
    - RAND_get0_private
    linkageType: ''
    returnType: void
    signature: void list_random_instances(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:514,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:514,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/apps/list.c:514,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:515,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/apps/list.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_ENCODER**
    - OSSL_ENCODER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: encoder_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - OSSL_ENCODER_get0_provider
    linkageType: ''
    returnType: int
    signature: "int encoder_cmp(const OSSL_ENCODER * const *a,\n                       const
      OSSL_ENCODER * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:520,1
    - Dst: is_encoder_fetchable
      Src: /src/openssl/apps/list.c:522,1
    - Dst: OSSL_ENCODER_up_ref
      Src: /src/openssl/apps/list.c:523,1
    - Dst: sk_OSSL_ENCODER_push
      Src: /src/openssl/apps/list.c:524,1
    - Dst: OSSL_ENCODER_free
      Src: /src/openssl/apps/list.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - encoder
    - stack
    argTypes:
    - OSSL_ENCODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: collect_encoders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_ENCODER_up_ref
    - STACK_OF
    - sk_OSSL_ENCODER_push
    - is_encoder_fetchable
    - OSSL_ENCODER_free
    linkageType: ''
    returnType: void
    signature: void collect_encoders(OSSL_ENCODER *encoder, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:530,1
    - Dst: sk_OSSL_ENCODER_new
      Src: /src/openssl/apps/list.c:533,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:535,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:538,1
    - Dst: OSSL_ENCODER_do_all_provided
      Src: /src/openssl/apps/list.c:539,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:539,1
    - Dst: sk_OSSL_ENCODER_sort
      Src: /src/openssl/apps/list.c:541,1
    - Dst: sk_OSSL_ENCODER_num
      Src: /src/openssl/apps/list.c:543,1
    - Dst: sk_OSSL_ENCODER_value
      Src: /src/openssl/apps/list.c:544,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:545,1
    - Dst: OSSL_ENCODER_is_a
      Src: /src/openssl/apps/list.c:547,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:550,1
    - Dst: OSSL_ENCODER_names_do_all
      Src: /src/openssl/apps/list.c:551,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:552,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:553,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:555,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:556,1
    - Dst: OSSL_ENCODER_get0_provider
      Src: /src/openssl/apps/list.c:556,1
    - Dst: OSSL_ENCODER_get0_properties
      Src: /src/openssl/apps/list.c:557,1
    - Dst: OSSL_ENCODER_get0_description
      Src: /src/openssl/apps/list.c:560,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:563,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:564,1
    - Dst: OSSL_ENCODER_settable_ctx_params
      Src: /src/openssl/apps/list.c:565,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:568,1
    - Dst: sk_OSSL_ENCODER_pop_free
      Src: /src/openssl/apps/list.c:570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 528
    functionDepth: 9
    functionLinenumber: 528
    functionLinenumberEnd: 571
    functionName: list_encoders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - OSSL_PROVIDER_get0_name
    - print_names
    - OSSL_ENCODER_names_do_all
    - OSSL_ENCODER_get0_provider
    - OSSL_ENCODER_get0_properties
    - BIO_printf
    - print_param_types
    - sk_OSSL_ENCODER_value
    - sk_OSSL_ENCODER_sort
    - OSSL_ENCODER_is_a
    - STACK_OF
    - OSSL_ENCODER_do_all_provided
    - OSSL_ENCODER_get0_description
    - sk_OSSL_ENCODER_pop_free
    - sk_OSSL_ENCODER_new
    - sk_OSSL_ENCODER_num
    - app_get0_libctx
    - OSSL_ENCODER_settable_ctx_params
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_encoders(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:580,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:580,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/apps/list.c:580,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:581,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/apps/list.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_DECODER**
    - OSSL_DECODER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 582
    functionName: decoder_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - OSSL_DECODER_get0_provider
    linkageType: ''
    returnType: int
    signature: "int decoder_cmp(const OSSL_DECODER * const *a,\n                       const
      OSSL_DECODER * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:586,1
    - Dst: is_decoder_fetchable
      Src: /src/openssl/apps/list.c:588,1
    - Dst: OSSL_DECODER_up_ref
      Src: /src/openssl/apps/list.c:589,1
    - Dst: sk_OSSL_DECODER_push
      Src: /src/openssl/apps/list.c:590,1
    - Dst: OSSL_DECODER_free
      Src: /src/openssl/apps/list.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - decoder
    - stack
    argTypes:
    - OSSL_DECODER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 592
    functionName: collect_decoders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_DECODER_free
    - sk_OSSL_DECODER_push
    - STACK_OF
    - OSSL_DECODER_up_ref
    - is_decoder_fetchable
    linkageType: ''
    returnType: void
    signature: void collect_decoders(OSSL_DECODER *decoder, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:596,1
    - Dst: sk_OSSL_DECODER_new
      Src: /src/openssl/apps/list.c:599,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:601,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:604,1
    - Dst: OSSL_DECODER_do_all_provided
      Src: /src/openssl/apps/list.c:605,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:605,1
    - Dst: sk_OSSL_DECODER_sort
      Src: /src/openssl/apps/list.c:607,1
    - Dst: sk_OSSL_DECODER_num
      Src: /src/openssl/apps/list.c:609,1
    - Dst: sk_OSSL_DECODER_value
      Src: /src/openssl/apps/list.c:610,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:611,1
    - Dst: OSSL_DECODER_is_a
      Src: /src/openssl/apps/list.c:613,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:616,1
    - Dst: OSSL_DECODER_names_do_all
      Src: /src/openssl/apps/list.c:617,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:618,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:619,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:621,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:622,1
    - Dst: OSSL_DECODER_get0_provider
      Src: /src/openssl/apps/list.c:622,1
    - Dst: OSSL_DECODER_get0_properties
      Src: /src/openssl/apps/list.c:623,1
    - Dst: OSSL_DECODER_get0_description
      Src: /src/openssl/apps/list.c:626,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:629,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:630,1
    - Dst: OSSL_DECODER_settable_ctx_params
      Src: /src/openssl/apps/list.c:631,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:634,1
    - Dst: sk_OSSL_DECODER_pop_free
      Src: /src/openssl/apps/list.c:636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 594
    functionDepth: 9
    functionLinenumber: 594
    functionLinenumberEnd: 637
    functionName: list_decoders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_DECODER_value
    - sk_OPENSSL_CSTRING_free
    - sk_OSSL_DECODER_pop_free
    - OSSL_PROVIDER_get0_name
    - print_names
    - OSSL_DECODER_do_all_provided
    - OSSL_DECODER_get0_description
    - OSSL_DECODER_get0_properties
    - OSSL_DECODER_is_a
    - OSSL_DECODER_get0_provider
    - sk_OSSL_DECODER_num
    - BIO_printf
    - print_param_types
    - sk_OSSL_DECODER_sort
    - OSSL_DECODER_names_do_all
    - STACK_OF
    - OSSL_DECODER_settable_ctx_params
    - sk_OSSL_DECODER_new
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_decoders(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:643,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:643,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:643,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:644,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEYMGMT**
    - EVP_KEYMGMT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: keymanager_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_KEYMGMT_get0_provider
    linkageType: ''
    returnType: int
    signature: "int keymanager_cmp(const EVP_KEYMGMT * const *a,\n                          const
      EVP_KEYMGMT * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:649,1
    - Dst: is_keymgmt_fetchable
      Src: /src/openssl/apps/list.c:651,1
    - Dst: EVP_KEYMGMT_up_ref
      Src: /src/openssl/apps/list.c:652,1
    - Dst: sk_EVP_KEYMGMT_push
      Src: /src/openssl/apps/list.c:653,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/apps/list.c:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - km
    - stack
    argTypes:
    - EVP_KEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 655
    functionName: collect_keymanagers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_EVP_KEYMGMT_push
    - is_keymgmt_fetchable
    - EVP_KEYMGMT_up_ref
    - STACK_OF
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: void
    signature: void collect_keymanagers(EVP_KEYMGMT *km, void *stack)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:660,1
    - Dst: sk_EVP_KEYMGMT_new
      Src: /src/openssl/apps/list.c:660,1
    - Dst: EVP_KEYMGMT_do_all_provided
      Src: /src/openssl/apps/list.c:662,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:662,1
    - Dst: sk_EVP_KEYMGMT_sort
      Src: /src/openssl/apps/list.c:664,1
    - Dst: sk_EVP_KEYMGMT_num
      Src: /src/openssl/apps/list.c:666,1
    - Dst: sk_EVP_KEYMGMT_value
      Src: /src/openssl/apps/list.c:667,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:668,1
    - Dst: EVP_KEYMGMT_is_a
      Src: /src/openssl/apps/list.c:670,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:673,1
    - Dst: EVP_KEYMGMT_names_do_all
      Src: /src/openssl/apps/list.c:674,1
    - Dst: EVP_KEYMGMT_get0_description
      Src: /src/openssl/apps/list.c:675,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:677,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:679,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:681,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/apps/list.c:681,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:682,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:683,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:684,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:685,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:686,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:687,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:687,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:690,1
    - Dst: EVP_KEYMGMT_gen_settable_params
      Src: /src/openssl/apps/list.c:691,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:692,1
    - Dst: EVP_KEYMGMT_settable_params
      Src: /src/openssl/apps/list.c:693,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:694,1
    - Dst: EVP_KEYMGMT_gettable_params
      Src: /src/openssl/apps/list.c:695,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:698,1
    - Dst: sk_EVP_KEYMGMT_pop_free
      Src: /src/openssl/apps/list.c:700,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 657
    functionDepth: 10
    functionLinenumber: 657
    functionLinenumberEnd: 701
    functionName: list_keymanagers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - OSSL_PROVIDER_get0_name
    - sk_EVP_KEYMGMT_sort
    - print_names
    - EVP_KEYMGMT_is_a
    - EVP_KEYMGMT_do_all_provided
    - sk_EVP_KEYMGMT_num
    - EVP_KEYMGMT_gettable_params
    - sk_EVP_KEYMGMT_new
    - EVP_KEYMGMT_get0_description
    - BIO_printf
    - print_param_types
    - sk_EVP_KEYMGMT_pop_free
    - STACK_OF
    - EVP_KEYMGMT_get0_provider
    - EVP_KEYMGMT_names_do_all
    - sk_OPENSSL_CSTRING_value
    - EVP_KEYMGMT_gen_settable_params
    - EVP_KEYMGMT_settable_params
    - sk_EVP_KEYMGMT_value
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_keymanagers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:707,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:707,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:707,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:708,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_SKEYMGMT**
    - EVP_SKEYMGMT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 709
    functionName: skeymanager_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_SKEYMGMT_get0_provider
    linkageType: ''
    returnType: int
    signature: "int skeymanager_cmp(const EVP_SKEYMGMT * const *a,\n                           const
      EVP_SKEYMGMT * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:713,1
    - Dst: is_skeymgmt_fetchable
      Src: /src/openssl/apps/list.c:715,1
    - Dst: sk_EVP_SKEYMGMT_push
      Src: /src/openssl/apps/list.c:716,1
    - Dst: EVP_SKEYMGMT_up_ref
      Src: /src/openssl/apps/list.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - km
    - stack
    argTypes:
    - EVP_SKEYMGMT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: collect_skeymanagers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - EVP_SKEYMGMT_up_ref
    - sk_EVP_SKEYMGMT_push
    - is_skeymgmt_fetchable
    linkageType: ''
    returnType: void
    signature: void collect_skeymanagers(EVP_SKEYMGMT *km, void *stack)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:723,1
    - Dst: sk_EVP_SKEYMGMT_new
      Src: /src/openssl/apps/list.c:723,1
    - Dst: EVP_SKEYMGMT_do_all_provided
      Src: /src/openssl/apps/list.c:725,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:725,1
    - Dst: sk_EVP_SKEYMGMT_sort
      Src: /src/openssl/apps/list.c:727,1
    - Dst: sk_EVP_SKEYMGMT_num
      Src: /src/openssl/apps/list.c:729,1
    - Dst: sk_EVP_SKEYMGMT_value
      Src: /src/openssl/apps/list.c:730,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:731,1
    - Dst: EVP_SKEYMGMT_is_a
      Src: /src/openssl/apps/list.c:733,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:736,1
    - Dst: EVP_SKEYMGMT_names_do_all
      Src: /src/openssl/apps/list.c:737,1
    - Dst: EVP_SKEYMGMT_get0_description
      Src: /src/openssl/apps/list.c:738,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:740,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:742,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:744,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/apps/list.c:744,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:745,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:746,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:747,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:748,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:749,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:750,1
    - Dst: EVP_SKEYMGMT_get0_provider
      Src: /src/openssl/apps/list.c:750,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:753,1
    - Dst: sk_EVP_SKEYMGMT_pop_free
      Src: /src/openssl/apps/list.c:755,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 756
    functionName: list_skeymanagers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - sk_OPENSSL_CSTRING_new
    - sk_EVP_SKEYMGMT_num
    - EVP_SKEYMGMT_names_do_all
    - sk_EVP_SKEYMGMT_sort
    - sk_OPENSSL_CSTRING_value
    - EVP_SKEYMGMT_get0_provider
    - OSSL_PROVIDER_get0_name
    - EVP_SKEYMGMT_do_all_provided
    - print_names
    - sk_EVP_SKEYMGMT_pop_free
    - BIO_printf
    - STACK_OF
    - app_get0_libctx
    - EVP_SKEYMGMT_is_a
    - sk_EVP_SKEYMGMT_value
    - EVP_SKEYMGMT_get0_description
    - sk_EVP_SKEYMGMT_new
    linkageType: ''
    returnType: void
    signature: void list_skeymanagers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:762,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:762,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/list.c:762,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:763,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/list.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_SIGNATURE**
    - EVP_SIGNATURE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 764
    functionName: signature_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_SIGNATURE_get0_provider
    linkageType: ''
    returnType: int
    signature: "int signature_cmp(const EVP_SIGNATURE * const *a,\n                         const
      EVP_SIGNATURE * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:768,1
    - Dst: is_signature_fetchable
      Src: /src/openssl/apps/list.c:770,1
    - Dst: EVP_SIGNATURE_up_ref
      Src: /src/openssl/apps/list.c:771,1
    - Dst: sk_EVP_SIGNATURE_push
      Src: /src/openssl/apps/list.c:772,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/apps/list.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - sig
    - stack
    argTypes:
    - EVP_SIGNATURE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 766
    functionDepth: 3
    functionLinenumber: 766
    functionLinenumberEnd: 774
    functionName: collect_signatures
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - is_signature_fetchable
    - EVP_SIGNATURE_free
    - EVP_SIGNATURE_up_ref
    - STACK_OF
    - sk_EVP_SIGNATURE_push
    linkageType: ''
    returnType: void
    signature: void collect_signatures(EVP_SIGNATURE *sig, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:779,1
    - Dst: sk_EVP_SIGNATURE_new
      Src: /src/openssl/apps/list.c:779,1
    - Dst: EVP_SIGNATURE_do_all_provided
      Src: /src/openssl/apps/list.c:781,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:781,1
    - Dst: sk_EVP_SIGNATURE_sort
      Src: /src/openssl/apps/list.c:783,1
    - Dst: sk_EVP_SIGNATURE_num
      Src: /src/openssl/apps/list.c:785,1
    - Dst: sk_EVP_SIGNATURE_value
      Src: /src/openssl/apps/list.c:786,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:787,1
    - Dst: EVP_SIGNATURE_is_a
      Src: /src/openssl/apps/list.c:789,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:792,1
    - Dst: EVP_SIGNATURE_names_do_all
      Src: /src/openssl/apps/list.c:793,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:795,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:796,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:798,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:799,1
    - Dst: EVP_SIGNATURE_get0_provider
      Src: /src/openssl/apps/list.c:799,1
    - Dst: EVP_SIGNATURE_get0_description
      Src: /src/openssl/apps/list.c:802,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:805,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:806,1
    - Dst: EVP_SIGNATURE_settable_ctx_params
      Src: /src/openssl/apps/list.c:807,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:808,1
    - Dst: EVP_SIGNATURE_gettable_ctx_params
      Src: /src/openssl/apps/list.c:809,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:812,1
    - Dst: sk_EVP_SIGNATURE_pop_free
      Src: /src/openssl/apps/list.c:814,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:816,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 817
    functionName: list_signatures
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - EVP_SIGNATURE_get0_provider
    - OSSL_PROVIDER_get0_name
    - print_names
    - sk_EVP_SIGNATURE_num
    - EVP_SIGNATURE_do_all_provided
    - EVP_SIGNATURE_get0_description
    - EVP_SIGNATURE_is_a
    - sk_EVP_SIGNATURE_sort
    - BIO_printf
    - sk_EVP_SIGNATURE_value
    - print_param_types
    - sk_EVP_SIGNATURE_pop_free
    - sk_EVP_SIGNATURE_new
    - STACK_OF
    - EVP_SIGNATURE_settable_ctx_params
    - EVP_SIGNATURE_names_do_all
    - app_get0_libctx
    - EVP_SIGNATURE_gettable_ctx_params
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_signatures(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/apps/list.c:824,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:827,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - params
    - data
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 834
    functionName: list_provider_tls_sigalgs
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int list_provider_tls_sigalgs(const OSSL_PARAM params[], void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get_capabilities
      Src: /src/openssl/apps/list.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - provider
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 843
    functionName: list_tls_sigalg_caps
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_capabilities
    linkageType: ''
    returnType: int
    signature: int list_tls_sigalg_caps(OSSL_PROVIDER *provider, void *cbdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:849,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/apps/list.c:852,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:853,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/apps/list.c:856,1
    - Dst: TLS_method
      Src: /src/openssl/apps/list.c:856,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:857,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/list.c:860,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/list.c:861,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:862,1
    - Dst: SSL_CTX_get0_implemented_groups
      Src: /src/openssl/apps/list.c:865,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:866,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/apps/list.c:869,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:871,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/apps/list.c:871,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/list.c:875,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:876,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - version
    - all
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 846
    functionDepth: 2
    functionLinenumber: 846
    functionLinenumberEnd: 878
    functionName: list_tls_groups
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - SSL_CTX_free
    - TLS_method
    - sk_OPENSSL_CSTRING_value
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_get0_implemented_groups
    - STACK_OF
    - SSL_CTX_new
    - sk_OPENSSL_CSTRING_new_null
    - sk_OPENSSL_CSTRING_num
    - SSL_CTX_set_max_proto_version
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void list_tls_groups(int version, int all)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get1_builtin_sigalgs
      Src: /src/openssl/apps/list.c:884,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:884,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:888,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/list.c:891,1
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/openssl/apps/list.c:894,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:895,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:898,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 901
    functionName: list_tls_signatures
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_do_all
    - SSL_get1_builtin_sigalgs
    - OPENSSL_free
    - app_get0_libctx
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void list_tls_signatures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:907,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:907,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/list.c:907,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:908,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/list.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEM**
    - EVP_KEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 909
    functionName: kem_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_KEM_get0_provider
    linkageType: ''
    returnType: int
    signature: "int kem_cmp(const EVP_KEM * const *a,\n                   const EVP_KEM
      * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:913,1
    - Dst: is_kem_fetchable
      Src: /src/openssl/apps/list.c:915,1
    - Dst: EVP_KEM_up_ref
      Src: /src/openssl/apps/list.c:916,1
    - Dst: sk_EVP_KEM_push
      Src: /src/openssl/apps/list.c:917,1
    - Dst: EVP_KEM_free
      Src: /src/openssl/apps/list.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - kem
    - stack
    argTypes:
    - EVP_KEM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 911
    functionDepth: 3
    functionLinenumber: 911
    functionLinenumberEnd: 919
    functionName: collect_kem
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_KEM_free
    - EVP_KEM_up_ref
    - sk_EVP_KEM_push
    - STACK_OF
    - is_kem_fetchable
    linkageType: ''
    returnType: void
    signature: void collect_kem(EVP_KEM *kem, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:924,1
    - Dst: sk_EVP_KEM_new
      Src: /src/openssl/apps/list.c:924,1
    - Dst: EVP_KEM_do_all_provided
      Src: /src/openssl/apps/list.c:926,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:926,1
    - Dst: sk_EVP_KEM_sort
      Src: /src/openssl/apps/list.c:927,1
    - Dst: sk_EVP_KEM_num
      Src: /src/openssl/apps/list.c:929,1
    - Dst: sk_EVP_KEM_value
      Src: /src/openssl/apps/list.c:930,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:931,1
    - Dst: EVP_KEM_is_a
      Src: /src/openssl/apps/list.c:933,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:936,1
    - Dst: EVP_KEM_names_do_all
      Src: /src/openssl/apps/list.c:937,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:939,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:940,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:942,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:943,1
    - Dst: EVP_KEM_get0_provider
      Src: /src/openssl/apps/list.c:943,1
    - Dst: EVP_KEM_get0_description
      Src: /src/openssl/apps/list.c:946,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:949,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:950,1
    - Dst: EVP_KEM_settable_ctx_params
      Src: /src/openssl/apps/list.c:951,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:952,1
    - Dst: EVP_KEM_gettable_ctx_params
      Src: /src/openssl/apps/list.c:953,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:956,1
    - Dst: sk_EVP_KEM_pop_free
      Src: /src/openssl/apps/list.c:958,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:960,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 921
    functionDepth: 10
    functionLinenumber: 921
    functionLinenumberEnd: 961
    functionName: list_kems
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - sk_EVP_KEM_sort
    - OSSL_PROVIDER_get0_name
    - print_names
    - sk_EVP_KEM_value
    - sk_EVP_KEM_new
    - EVP_KEM_get0_description
    - EVP_KEM_is_a
    - sk_EVP_KEM_num
    - BIO_printf
    - print_param_types
    - STACK_OF
    - sk_EVP_KEM_pop_free
    - EVP_KEM_get0_provider
    - EVP_KEM_do_all_provided
    - EVP_KEM_names_do_all
    - EVP_KEM_gettable_ctx_params
    - EVP_KEM_settable_ctx_params
    - app_get0_libctx
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_kems(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:967,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:967,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:967,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:968,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_ASYM_CIPHER**
    - EVP_ASYM_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 969
    functionName: asymcipher_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_ASYM_CIPHER_get0_provider
    linkageType: ''
    returnType: int
    signature: "int asymcipher_cmp(const EVP_ASYM_CIPHER * const *a,\n                          const
      EVP_ASYM_CIPHER * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:973,1
    - Dst: is_asym_cipher_fetchable
      Src: /src/openssl/apps/list.c:975,1
    - Dst: EVP_ASYM_CIPHER_up_ref
      Src: /src/openssl/apps/list.c:976,1
    - Dst: sk_EVP_ASYM_CIPHER_push
      Src: /src/openssl/apps/list.c:977,1
    - Dst: EVP_ASYM_CIPHER_free
      Src: /src/openssl/apps/list.c:978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - asym_cipher
    - stack
    argTypes:
    - EVP_ASYM_CIPHER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 3
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: collect_asymciph
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_ASYM_CIPHER_free
    - EVP_ASYM_CIPHER_up_ref
    - STACK_OF
    - is_asym_cipher_fetchable
    - sk_EVP_ASYM_CIPHER_push
    linkageType: ''
    returnType: void
    signature: void collect_asymciph(EVP_ASYM_CIPHER *asym_cipher, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:984,1
    - Dst: sk_EVP_ASYM_CIPHER_new
      Src: /src/openssl/apps/list.c:985,1
    - Dst: EVP_ASYM_CIPHER_do_all_provided
      Src: /src/openssl/apps/list.c:987,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:987,1
    - Dst: sk_EVP_ASYM_CIPHER_sort
      Src: /src/openssl/apps/list.c:989,1
    - Dst: sk_EVP_ASYM_CIPHER_num
      Src: /src/openssl/apps/list.c:991,1
    - Dst: sk_EVP_ASYM_CIPHER_value
      Src: /src/openssl/apps/list.c:992,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:993,1
    - Dst: EVP_ASYM_CIPHER_is_a
      Src: /src/openssl/apps/list.c:995,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:998,1
    - Dst: EVP_ASYM_CIPHER_names_do_all
      Src: /src/openssl/apps/list.c:1000,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1002,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:1003,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1005,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1006,1
    - Dst: EVP_ASYM_CIPHER_get0_provider
      Src: /src/openssl/apps/list.c:1006,1
    - Dst: EVP_ASYM_CIPHER_get0_description
      Src: /src/openssl/apps/list.c:1009,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1012,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1013,1
    - Dst: EVP_ASYM_CIPHER_settable_ctx_params
      Src: /src/openssl/apps/list.c:1014,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1015,1
    - Dst: EVP_ASYM_CIPHER_gettable_ctx_params
      Src: /src/openssl/apps/list.c:1016,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:1019,1
    - Dst: sk_EVP_ASYM_CIPHER_pop_free
      Src: /src/openssl/apps/list.c:1021,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1023,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 1024
    functionName: list_asymciphers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - EVP_ASYM_CIPHER_is_a
    - EVP_ASYM_CIPHER_get0_description
    - OSSL_PROVIDER_get0_name
    - print_names
    - EVP_ASYM_CIPHER_settable_ctx_params
    - EVP_ASYM_CIPHER_do_all_provided
    - EVP_ASYM_CIPHER_names_do_all
    - BIO_printf
    - print_param_types
    - sk_EVP_ASYM_CIPHER_num
    - STACK_OF
    - EVP_ASYM_CIPHER_get0_provider
    - sk_EVP_ASYM_CIPHER_pop_free
    - sk_EVP_ASYM_CIPHER_sort
    - EVP_ASYM_CIPHER_gettable_ctx_params
    - app_get0_libctx
    - sk_EVP_ASYM_CIPHER_new
    - sk_OPENSSL_CSTRING_new
    - sk_EVP_ASYM_CIPHER_value
    linkageType: ''
    returnType: void
    signature: void list_asymciphers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1030,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1030,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/apps/list.c:1030,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1031,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/apps/list.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - EVP_KEYEXCH**
    - EVP_KEYEXCH**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1032
    functionName: kex_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - EVP_KEYEXCH_get0_provider
    linkageType: ''
    returnType: int
    signature: "int kex_cmp(const EVP_KEYEXCH * const *a,\n                   const
      EVP_KEYEXCH * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1036,1
    - Dst: is_keyexch_fetchable
      Src: /src/openssl/apps/list.c:1038,1
    - Dst: EVP_KEYEXCH_up_ref
      Src: /src/openssl/apps/list.c:1039,1
    - Dst: sk_EVP_KEYEXCH_push
      Src: /src/openssl/apps/list.c:1040,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/apps/list.c:1041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - kex
    - stack
    argTypes:
    - EVP_KEYEXCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1034
    functionDepth: 3
    functionLinenumber: 1034
    functionLinenumberEnd: 1042
    functionName: collect_kex
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_EVP_KEYEXCH_push
    - EVP_KEYEXCH_free
    - EVP_KEYEXCH_up_ref
    - STACK_OF
    - is_keyexch_fetchable
    linkageType: ''
    returnType: void
    signature: void collect_kex(EVP_KEYEXCH *kex, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1047,1
    - Dst: sk_EVP_KEYEXCH_new
      Src: /src/openssl/apps/list.c:1047,1
    - Dst: EVP_KEYEXCH_do_all_provided
      Src: /src/openssl/apps/list.c:1049,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1049,1
    - Dst: sk_EVP_KEYEXCH_sort
      Src: /src/openssl/apps/list.c:1050,1
    - Dst: sk_EVP_KEYEXCH_num
      Src: /src/openssl/apps/list.c:1052,1
    - Dst: sk_EVP_KEYEXCH_value
      Src: /src/openssl/apps/list.c:1053,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1054,1
    - Dst: EVP_KEYEXCH_is_a
      Src: /src/openssl/apps/list.c:1056,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:1059,1
    - Dst: EVP_KEYEXCH_names_do_all
      Src: /src/openssl/apps/list.c:1060,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1062,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:1063,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1065,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1066,1
    - Dst: EVP_KEYEXCH_get0_provider
      Src: /src/openssl/apps/list.c:1066,1
    - Dst: EVP_KEYEXCH_get0_description
      Src: /src/openssl/apps/list.c:1069,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1072,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1073,1
    - Dst: EVP_KEYEXCH_settable_ctx_params
      Src: /src/openssl/apps/list.c:1074,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1075,1
    - Dst: EVP_KEYEXCH_gettable_ctx_params
      Src: /src/openssl/apps/list.c:1076,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:1079,1
    - Dst: sk_EVP_KEYEXCH_pop_free
      Src: /src/openssl/apps/list.c:1081,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1083,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1084
    functionName: list_keyexchanges
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - OSSL_PROVIDER_get0_name
    - print_names
    - sk_EVP_KEYEXCH_value
    - EVP_KEYEXCH_settable_ctx_params
    - sk_EVP_KEYEXCH_new
    - EVP_KEYEXCH_get0_description
    - sk_EVP_KEYEXCH_pop_free
    - BIO_printf
    - print_param_types
    - EVP_KEYEXCH_do_all_provided
    - EVP_KEYEXCH_names_do_all
    - STACK_OF
    - sk_EVP_KEYEXCH_num
    - EVP_KEYEXCH_get0_provider
    - EVP_KEYEXCH_gettable_ctx_params
    - app_get0_libctx
    - EVP_KEYEXCH_is_a
    - sk_EVP_KEYEXCH_sort
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_keyexchanges(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_new_nid
      Src: /src/openssl/apps/list.c:1088,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/list.c:1095,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/list.c:1096,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/list.c:1097,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/list.c:1105,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/list.c:1107,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/apps/list.c:1110,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1111,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/apps/list.c:1118,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1120,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/apps/list.c:1125,1
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1127,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1128,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1130,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/list.c:1133,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1086
    functionDepth: 7
    functionLinenumber: 1086
    functionLinenumberEnd: 1134
    functionName: list_objects
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2txt
    - ERR_clear_error
    - OBJ_nid2sn
    - OPENSSL_free
    - OBJ_nid2obj
    - OBJ_nid2ln
    - strcmp
    - OBJ_new_nid
    - OPENSSL_realloc
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void list_objects(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1142,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1145,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1164,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1167,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1168
    functionName: list_options_for_command
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void list_options_for_command(const char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_propq
      Src: /src/openssl/apps/list.c:1173,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/list.c:1176,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/list.c:1177,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1177,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/list.c:1178,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/list.c:1180,1
    - Dst: get_digest_from_engine
      Src: /src/openssl/apps/list.c:1184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1170
    functionDepth: 10
    functionLinenumber: 1170
    functionLinenumberEnd: 1185
    functionName: is_md_available
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - get_digest_from_engine
    - ERR_pop_to_mark
    - ERR_set_mark
    - app_get0_propq
    - app_get0_libctx
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: int is_md_available(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_propq
      Src: /src/openssl/apps/list.c:1190,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/list.c:1193,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/apps/list.c:1194,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1194,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/list.c:1195,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/list.c:1197,1
    - Dst: get_cipher_from_engine
      Src: /src/openssl/apps/list.c:1201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1187
    functionDepth: 4
    functionLinenumber: 1187
    functionLinenumberEnd: 1202
    functionName: is_cipher_available
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - app_get0_propq
    - get_cipher_from_engine
    - EVP_CIPHER_fetch
    - app_get0_libctx
    - EVP_CIPHER_free
    linkageType: ''
    returnType: int
    signature: int is_cipher_available(const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/apps/list.c:1210,1
    - Dst: calculate_columns
      Src: /src/openssl/apps/list.c:1212,1
    - Dst: is_cipher_available
      Src: /src/openssl/apps/list.c:1219,1
    - Dst: is_md_available
      Src: /src/openssl/apps/list.c:1223,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1230,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1233,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1234,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1239,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - ft
    - one
    argTypes:
    - FUNC_TYPE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1204
    functionDepth: 11
    functionLinenumber: 1204
    functionLinenumberEnd: 1240
    functionName: list_type
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - memset
    - is_md_available
    - calculate_columns
    - is_cipher_available
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void list_type(FUNC_TYPE ft, int one)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: include_legacy
      Src: /src/openssl/apps/list.c:1247,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1248,1
    - Dst: EVP_PKEY_asn1_get_count
      Src: /src/openssl/apps/list.c:1249,1
    - Dst: EVP_PKEY_asn1_get0
      Src: /src/openssl/apps/list.c:1253,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/apps/list.c:1254,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1257,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/list.c:1257,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1258,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/list.c:1259,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1261,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1262,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1265,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/list.c:1265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1268,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1273,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1274,1
    - Dst: list_keymanagers
      Src: /src/openssl/apps/list.c:1275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1242
    functionDepth: 11
    functionLinenumber: 1242
    functionLinenumberEnd: 1276
    functionName: list_pkey
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_asn1_get0_info
    - include_legacy
    - EVP_PKEY_asn1_get_count
    - list_keymanagers
    - OBJ_nid2ln
    - EVP_PKEY_asn1_get0
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void list_pkey(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_meth_get_count
      Src: /src/openssl/apps/list.c:1282,1
    - Dst: include_legacy
      Src: /src/openssl/apps/list.c:1284,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1285,1
    - Dst: EVP_PKEY_meth_get0
      Src: /src/openssl/apps/list.c:1287,1
    - Dst: EVP_PKEY_meth_get0_info
      Src: /src/openssl/apps/list.c:1290,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1291,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/list.c:1291,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1292,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1297,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1298,1
    - Dst: list_asymciphers
      Src: /src/openssl/apps/list.c:1299,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1300,1
    - Dst: list_keyexchanges
      Src: /src/openssl/apps/list.c:1301,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1302,1
    - Dst: list_signatures
      Src: /src/openssl/apps/list.c:1303,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1304,1
    - Dst: list_kems
      Src: /src/openssl/apps/list.c:1305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1278
    functionDepth: 11
    functionLinenumber: 1278
    functionLinenumberEnd: 1306
    functionName: list_pkey_meth
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - list_asymciphers
    - include_legacy
    - EVP_PKEY_meth_get0
    - EVP_PKEY_meth_get_count
    - list_kems
    - list_signatures
    - list_keyexchanges
    - OBJ_nid2ln
    - BIO_printf
    - EVP_PKEY_meth_get0_info
    linkageType: ''
    returnType: void
    signature: void list_pkey_meth(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1312,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1312,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/apps/list.c:1312,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1313,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/apps/list.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_STORE_LOADER**
    - OSSL_STORE_LOADER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1314
    functionName: store_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - OSSL_STORE_LOADER_get0_provider
    linkageType: ''
    returnType: int
    signature: "int store_cmp(const OSSL_STORE_LOADER * const *a,\n                     const
      OSSL_STORE_LOADER * const *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1318,1
    - Dst: OSSL_STORE_LOADER_up_ref
      Src: /src/openssl/apps/list.c:1320,1
    - Dst: sk_OSSL_STORE_LOADER_push
      Src: /src/openssl/apps/list.c:1321,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/apps/list.c:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - store
    - stack
    argTypes:
    - OSSL_STORE_LOADER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1316
    functionDepth: 3
    functionLinenumber: 1316
    functionLinenumberEnd: 1323
    functionName: collect_store_loaders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_free
    - STACK_OF
    - sk_OSSL_STORE_LOADER_push
    - OSSL_STORE_LOADER_up_ref
    linkageType: ''
    returnType: void
    signature: void collect_store_loaders(OSSL_STORE_LOADER *store, void *stack)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1327,1
    - Dst: sk_OSSL_STORE_LOADER_new
      Src: /src/openssl/apps/list.c:1327,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1331,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1334,1
    - Dst: OSSL_STORE_LOADER_do_all_provided
      Src: /src/openssl/apps/list.c:1335,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/list.c:1335,1
    - Dst: sk_OSSL_STORE_LOADER_sort
      Src: /src/openssl/apps/list.c:1337,1
    - Dst: sk_OSSL_STORE_LOADER_num
      Src: /src/openssl/apps/list.c:1338,1
    - Dst: sk_OSSL_STORE_LOADER_value
      Src: /src/openssl/apps/list.c:1339,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1340,1
    - Dst: OSSL_STORE_LOADER_is_a
      Src: /src/openssl/apps/list.c:1342,1
    - Dst: sk_OPENSSL_CSTRING_new
      Src: /src/openssl/apps/list.c:1345,1
    - Dst: OSSL_STORE_LOADER_names_do_all
      Src: /src/openssl/apps/list.c:1346,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1348,1
    - Dst: print_names
      Src: /src/openssl/apps/list.c:1349,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1351,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1352,1
    - Dst: OSSL_STORE_LOADER_get0_provider
      Src: /src/openssl/apps/list.c:1352,1
    - Dst: OSSL_STORE_LOADER_get0_description
      Src: /src/openssl/apps/list.c:1355,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1358,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1359,1
    - Dst: OSSL_STORE_LOADER_settable_ctx_params
      Src: /src/openssl/apps/list.c:1360,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/list.c:1363,1
    - Dst: sk_OSSL_STORE_LOADER_pop_free
      Src: /src/openssl/apps/list.c:1365,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1325
    functionDepth: 9
    functionLinenumber: 1325
    functionLinenumberEnd: 1366
    functionName: list_store_loaders
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - OSSL_PROVIDER_get0_name
    - print_names
    - sk_OSSL_STORE_LOADER_num
    - sk_OSSL_STORE_LOADER_new
    - sk_OSSL_STORE_LOADER_value
    - OSSL_STORE_LOADER_is_a
    - OSSL_STORE_LOADER_get0_provider
    - OSSL_STORE_LOADER_do_all_provided
    - BIO_printf
    - print_param_types
    - STACK_OF
    - sk_OSSL_STORE_LOADER_sort
    - sk_OSSL_STORE_LOADER_pop_free
    - OSSL_STORE_LOADER_get0_description
    - OSSL_STORE_LOADER_names_do_all
    - app_get0_libctx
    - OSSL_STORE_LOADER_settable_ctx_params
    - sk_OPENSSL_CSTRING_new
    linkageType: ''
    returnType: void
    signature: void list_store_loaders(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/list.c:1372,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1372,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_PROVIDER**
    - OSSL_PROVIDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1369
    functionDepth: 2
    functionLinenumber: 1369
    functionLinenumberEnd: 1373
    functionName: provider_cmp
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    linkageType: ''
    returnType: int
    signature: "int provider_cmp(const OSSL_PROVIDER * const *a,\n                        const
      OSSL_PROVIDER * const *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1377,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/openssl/apps/list.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - provider
    - stack
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1384
    functionName: collect_providers
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - sk_OSSL_PROVIDER_push
    linkageType: ''
    returnType: int
    signature: int collect_providers(OSSL_PROVIDER *provider, void *stack)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/list.c:1388,1
    - Dst: sk_OSSL_PROVIDER_new
      Src: /src/openssl/apps/list.c:1388,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1395,1
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/openssl/apps/list.c:1399,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/openssl/apps/list.c:1400,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1401,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1405,1
    - Dst: sk_OSSL_PROVIDER_sort
      Src: /src/openssl/apps/list.c:1406,1
    - Dst: sk_OSSL_PROVIDER_num
      Src: /src/openssl/apps/list.c:1407,1
    - Dst: sk_OSSL_PROVIDER_value
      Src: /src/openssl/apps/list.c:1408,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/list.c:1409,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1411,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/list.c:1414,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/list.c:1416,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/apps/list.c:1418,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/list.c:1419,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/list.c:1421,1
    - Dst: OSSL_PARAM_set_all_unmodified
      Src: /src/openssl/apps/list.c:1422,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/apps/list.c:1423,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1424,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/list.c:1429,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1430,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/list.c:1431,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1432,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/list.c:1433,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1434,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/list.c:1436,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1437,1
    - Dst: print_param_types
      Src: /src/openssl/apps/list.c:1438,1
    - Dst: OSSL_PROVIDER_gettable_params
      Src: /src/openssl/apps/list.c:1439,1
    - Dst: sk_OSSL_PROVIDER_free
      Src: /src/openssl/apps/list.c:1443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1444
    functionName: list_provider_info
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - print_param_types
    - OSSL_PROVIDER_get_params
    - sk_OSSL_PROVIDER_free
    - OSSL_PROVIDER_do_all
    - sk_OSSL_PROVIDER_sort
    - OSSL_PROVIDER_get0_name
    - sk_OSSL_PROVIDER_value
    - sk_OSSL_PROVIDER_num
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_modified
    - STACK_OF
    - OSSL_PARAM_set_all_unmodified
    - OSSL_PROVIDER_gettable_params
    - OSSL_PARAM_construct_end
    - sk_OSSL_PROVIDER_new
    - BIO_printf
    - OSSL_PARAM_construct_utf8_ptr
    linkageType: ''
    returnType: void
    signature: void list_provider_info(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1452,1
    - Dst: ENGINE_get_first
      Src: /src/openssl/apps/list.c:1453,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1455,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/apps/list.c:1455,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/apps/list.c:1456,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1447
    functionDepth: 5
    functionLinenumber: 1447
    functionLinenumberEnd: 1461
    functionName: list_engines
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - ENGINE_get_id
    - ENGINE_get_first
    - ENGINE_get_next
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void list_engines(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1466,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1468,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1471,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1474,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1477,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1480,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1483,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1486,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1489,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1492,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1495,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1498,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1501,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1504,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1507,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1510,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1513,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1516,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1519,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1522,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1525,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1528,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1531,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1534,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1537,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1540,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1543,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1546,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1549,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1552,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1555,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1558,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1561,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1564,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1567,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1570,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1573,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1576,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1579,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1582,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1585,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1588,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1591,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1594,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1597,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1600,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1603,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1606,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1609,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1612,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/list.c:1615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1464
    functionDepth: 3
    functionLinenumber: 1464
    functionLinenumberEnd: 1617
    functionName: list_disabled
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: void list_disabled(void)
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/list.c:1780,1
    - Dst: opt_next
      Src: /src/openssl/apps/list.c:1781,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1786,1
    - Dst: opt_help
      Src: /src/openssl/apps/list.c:1789,1
    - Dst: list_options_for_command
      Src: /src/openssl/apps/list.c:1894,1
    - Dst: opt_arg
      Src: /src/openssl/apps/list.c:1894,1
    - Dst: opt_arg
      Src: /src/openssl/apps/list.c:1900,1
    - Dst: opt_provider
      Src: /src/openssl/apps/list.c:1903,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/list.c:1911,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1923,1
    - Dst: list_type
      Src: /src/openssl/apps/list.c:1923,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1925,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1927,1
    - Dst: list_digests
      Src: /src/openssl/apps/list.c:1928,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1929,1
    - Dst: list_ciphers
      Src: /src/openssl/apps/list.c:1930,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1931,1
    - Dst: list_kdfs
      Src: /src/openssl/apps/list.c:1932,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1933,1
    - Dst: list_macs
      Src: /src/openssl/apps/list.c:1934,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1936,1
    - Dst: list_asymciphers
      Src: /src/openssl/apps/list.c:1937,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1938,1
    - Dst: list_keyexchanges
      Src: /src/openssl/apps/list.c:1939,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1940,1
    - Dst: list_signatures
      Src: /src/openssl/apps/list.c:1941,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1942,1
    - Dst: list_kems
      Src: /src/openssl/apps/list.c:1943,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1944,1
    - Dst: list_keymanagers
      Src: /src/openssl/apps/list.c:1945,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1947,1
    - Dst: list_encoders
      Src: /src/openssl/apps/list.c:1948,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1949,1
    - Dst: list_decoders
      Src: /src/openssl/apps/list.c:1950,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/list.c:1951,1
    - Dst: list_store_loaders
      Src: /src/openssl/apps/list.c:1952,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1955,1
    - Dst: list_random_instances
      Src: /src/openssl/apps/list.c:1955,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1957,1
    - Dst: list_random_generators
      Src: /src/openssl/apps/list.c:1957,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1959,1
    - Dst: list_type
      Src: /src/openssl/apps/list.c:1959,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1961,1
    - Dst: list_digests
      Src: /src/openssl/apps/list.c:1961,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1963,1
    - Dst: list_kdfs
      Src: /src/openssl/apps/list.c:1963,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1965,1
    - Dst: list_macs
      Src: /src/openssl/apps/list.c:1965,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1967,1
    - Dst: list_type
      Src: /src/openssl/apps/list.c:1967,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1969,1
    - Dst: list_ciphers
      Src: /src/openssl/apps/list.c:1969,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1971,1
    - Dst: list_encoders
      Src: /src/openssl/apps/list.c:1971,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1973,1
    - Dst: list_decoders
      Src: /src/openssl/apps/list.c:1973,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1975,1
    - Dst: list_keymanagers
      Src: /src/openssl/apps/list.c:1975,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1977,1
    - Dst: list_skeymanagers
      Src: /src/openssl/apps/list.c:1977,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1979,1
    - Dst: list_signatures
      Src: /src/openssl/apps/list.c:1979,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1981,1
    - Dst: list_tls_signatures
      Src: /src/openssl/apps/list.c:1981,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1983,1
    - Dst: list_asymciphers
      Src: /src/openssl/apps/list.c:1983,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1985,1
    - Dst: list_keyexchanges
      Src: /src/openssl/apps/list.c:1985,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1987,1
    - Dst: list_kems
      Src: /src/openssl/apps/list.c:1987,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1990,1
    - Dst: list_tls_groups
      Src: /src/openssl/apps/list.c:1990,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1993,1
    - Dst: list_pkey
      Src: /src/openssl/apps/list.c:1993,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1995,1
    - Dst: list_pkey_meth
      Src: /src/openssl/apps/list.c:1995,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1997,1
    - Dst: list_store_loaders
      Src: /src/openssl/apps/list.c:1997,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:1999,1
    - Dst: list_provider_info
      Src: /src/openssl/apps/list.c:1999,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:2002,1
    - Dst: list_engines
      Src: /src/openssl/apps/list.c:2002,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:2005,1
    - Dst: list_disabled
      Src: /src/openssl/apps/list.c:2005,1
    - Dst: MAYBE_ADD_NL
      Src: /src/openssl/apps/list.c:2007,1
    - Dst: list_objects
      Src: /src/openssl/apps/list.c:2007,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 210
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1731
    functionDepth: 15
    functionLinenumber: 1731
    functionLinenumberEnd: 2015
    functionName: list_main
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 0
    functionsReached:
    - list_type
    - list_provider_info
    - list_tls_signatures
    - MAYBE_ADD_NL
    - opt_check_rest_arg
    - list_kdfs
    - list_digests
    - list_tls_groups
    - list_keyexchanges
    - list_pkey
    - list_pkey_meth
    - list_encoders
    - list_engines
    - BIO_printf
    - list_asymciphers
    - opt_provider
    - list_ciphers
    - list_store_loaders
    - opt_arg
    - list_skeymanagers
    - list_options_for_command
    - list_disabled
    - opt_help
    - list_random_generators
    - opt_next
    - opt_init
    - list_macs
    - list_signatures
    - list_keymanagers
    - list_decoders
    - list_random_instances
    - list_objects
    - list_kems
    linkageType: ''
    returnType: int
    signature: int list_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1921
    functionName: MAYBE_ADD_NL
    functionSourceFile: /src/openssl/apps/list.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_ADD_NL(cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pedantic
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: check_non_pedantic_fips
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int check_non_pedantic_fips(int pedantic, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_init
      Src: /src/openssl/apps/fipsinstall.c:271,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/apps/fipsinstall.c:273,1
    - Dst: BIO_read
      Src: /src/openssl/apps/fipsinstall.c:275,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/apps/fipsinstall.c:276,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/apps/fipsinstall.c:280,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - ctx
    - tmp
    - in
    - out
    - out_len
    argTypes:
    - EVP_MAC_CTX*
    - unsigned char*
    - BIO*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 264
    functionDepth: 6
    functionLinenumber: 264
    functionLinenumberEnd: 285
    functionName: do_mac
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_init
    - EVP_MAC_final
    - EVP_MAC_CTX_get_mac_size
    - BIO_read
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: "int do_mac(EVP_MAC_CTX *ctx, unsigned char *tmp, BIO *in,\n                  unsigned
      char *out, size_t *out_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/apps/fipsinstall.c:295,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:297,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/fipsinstall.c:301,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/fipsinstall.c:303,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/fipsinstall.c:305,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/fipsinstall.c:307,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/apps/fipsinstall.c:308,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:309,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/fipsinstall.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:313,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/fipsinstall.c:314,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:315,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/apps/fipsinstall.c:316,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:317,1
    - Dst: OSSL_PARAM_construct_utf8_ptr
      Src: /src/openssl/apps/fipsinstall.c:319,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/fipsinstall.c:321,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/openssl/apps/fipsinstall.c:322,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:323,1
    - Dst: strncmp
      Src: /src/openssl/apps/fipsinstall.c:327,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/apps/fipsinstall.c:330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - prov_name
    - is_fips_140_2_prov
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 332
    functionName: load_fips_prov_and_run_self_test
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_params
    - OSSL_PARAM_modified
    - OSSL_PROVIDER_load
    - OSSL_PROVIDER_unload
    - strncmp
    - OSSL_PARAM_construct_end
    - BIO_printf
    - OSSL_PARAM_construct_utf8_ptr
    linkageType: ''
    returnType: int
    signature: "int load_fips_prov_and_run_self_test(const char *prov_name,\n                                            int
      *is_fips_140_2_prov)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/apps/fipsinstall.c:340,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:343,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bio
    - label
    - mac
    - len
    argTypes:
    - BIO*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: print_mac
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - OPENSSL_buf2hexstr
    linkageType: ''
    returnType: int
    signature: "int print_mac(BIO *bio, const char *label, const unsigned char *mac,\n
      \                    size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:351,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:352,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:353,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:354,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - out
    - prov_name
    - section
    argTypes:
    - BIO*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: write_config_header
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int write_config_header(BIO *out, const char *prov_name,\n                               const
      char *section)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:374,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:375,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:376,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:378,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:380,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:382,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:384,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:386,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:388,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:390,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:392,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:394,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:396,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:399,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:402,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:405,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:407,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:410,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:412,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:414,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:417,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:420,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:423,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:425,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:427,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:430,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:432,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:434,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:436,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:438,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:440,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:443,1
    - Dst: print_mac
      Src: /src/openssl/apps/fipsinstall.c:445,1
    - Dst: print_mac
      Src: /src/openssl/apps/fipsinstall.c:452,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:454,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 13
    argCount: 7
    argNames:
    - out
    - section
    - module_mac
    - module_mac_len
    - opts
    - install_mac
    - install_mac_len
    argTypes:
    - BIO*
    - char*
    - unsigned char*
    - size_t
    - FIPS_OPTS*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 365
    functionDepth: 5
    functionLinenumber: 365
    functionLinenumberEnd: 461
    functionName: write_config_fips_section
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - print_mac
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int write_config_fips_section(BIO *out, const char *section,\n                                     unsigned
      char *module_mac,\n                                     size_t module_mac_len,\n
      \                                    const FIPS_OPTS *opts,\n                                     unsigned
      char *install_mac,\n                                     size_t install_mac_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/apps/fipsinstall.c:472,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/fipsinstall.c:472,1
    - Dst: write_config_header
      Src: /src/openssl/apps/fipsinstall.c:475,1
    - Dst: write_config_fips_section
      Src: /src/openssl/apps/fipsinstall.c:476,1
    - Dst: app_load_config_bio
      Src: /src/openssl/apps/fipsinstall.c:481,1
    - Dst: CONF_modules_load
      Src: /src/openssl/apps/fipsinstall.c:485,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:487,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/fipsinstall.c:490,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:491,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - prov_name
    - section
    - module_mac
    - module_mac_len
    - opts
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - FIPS_OPTS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 463
    functionDepth: 7
    functionLinenumber: 463
    functionLinenumberEnd: 493
    functionName: generate_config_and_load
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - write_config_fips_section
    - app_load_config_bio
    - write_config_header
    - BIO_free
    - BIO_s_mem
    - NCONF_free
    - CONF_modules_load
    linkageType: ''
    returnType: CONF
    signature: "CONF *generate_config_and_load(const char *prov_name,\n                                      const
      char *section,\n                                      unsigned char *module_mac,\n
      \                                     size_t module_mac_len,\n                                      const
      FIPS_OPTS *opts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_free
      Src: /src/openssl/apps/fipsinstall.c:498,1
    - Dst: CONF_modules_unload
      Src: /src/openssl/apps/fipsinstall.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: free_config_and_unload
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - CONF_modules_unload
    - NCONF_free
    linkageType: ''
    returnType: void
    signature: void free_config_and_unload(CONF *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_load_config
      Src: /src/openssl/apps/fipsinstall.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parent_config_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: verify_module_load
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_load_config
    linkageType: ''
    returnType: int
    signature: int verify_module_load(const char *parent_config_file)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: app_load_config
      Src: /src/openssl/apps/fipsinstall.c:523,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/fipsinstall.c:527,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:528,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:529,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/fipsinstall.c:532,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:534,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/fipsinstall.c:537,1
    - Dst: memcmp
      Src: /src/openssl/apps/fipsinstall.c:540,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:541,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/fipsinstall.c:545,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:546,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:547,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/fipsinstall.c:550,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:552,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/fipsinstall.c:555,1
    - Dst: memcmp
      Src: /src/openssl/apps/fipsinstall.c:558,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:559,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:565,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:566,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/fipsinstall.c:567,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 6
    argNames:
    - infile
    - section
    - module_mac
    - module_mac_len
    - install_mac
    - install_mac_len
    argTypes:
    - char*
    - char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 512
    functionDepth: 4
    functionLinenumber: 512
    functionLinenumberEnd: 569
    functionName: verify_config
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - memcmp
    - app_load_config
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - NCONF_free
    - NCONF_get_string
    - strcmp
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int verify_config(const char *infile, const char *section,\n                         unsigned
      char *module_mac, size_t module_mac_len,\n                         unsigned
      char *install_mac, size_t install_mac_len)"
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/fipsinstall.c:583,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/fipsinstall.c:593,1
    - Dst: opt_init
      Src: /src/openssl/apps/fipsinstall.c:596,1
    - Dst: opt_next
      Src: /src/openssl/apps/fipsinstall.c:597,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:602,1
    - Dst: opt_help
      Src: /src/openssl/apps/fipsinstall.c:605,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:609,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:612,1
    - Dst: check_non_pedantic_fips
      Src: /src/openssl/apps/fipsinstall.c:619,1
    - Dst: check_non_pedantic_fips
      Src: /src/openssl/apps/fipsinstall.c:624,1
    - Dst: check_non_pedantic_fips
      Src: /src/openssl/apps/fipsinstall.c:704,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:718,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:721,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:724,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:727,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:730,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:733,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:736,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/fipsinstall.c:739,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:739,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/fipsinstall.c:741,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:741,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/fipsinstall.c:743,1
    - Dst: opt_arg
      Src: /src/openssl/apps/fipsinstall.c:743,1
    - Dst: check_non_pedantic_fips
      Src: /src/openssl/apps/fipsinstall.c:754,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/fipsinstall.c:763,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:766,1
    - Dst: verify_module_load
      Src: /src/openssl/apps/fipsinstall.c:772,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/apps/fipsinstall.c:773,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:775,1
    - Dst: opt_path_end
      Src: /src/openssl/apps/fipsinstall.c:784,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/fipsinstall.c:786,1
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/openssl/apps/fipsinstall.c:790,1
    - Dst: OSSL_SELF_TEST_set_callback
      Src: /src/openssl/apps/fipsinstall.c:797,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/fipsinstall.c:800,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/fipsinstall.c:802,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/fipsinstall.c:805,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:807,1
    - Dst: app_malloc
      Src: /src/openssl/apps/fipsinstall.c:811,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/apps/fipsinstall.c:815,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/fipsinstall.c:815,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/fipsinstall.c:815,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:817,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/apps/fipsinstall.c:821,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:823,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/fipsinstall.c:830,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/apps/fipsinstall.c:830,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/apps/fipsinstall.c:835,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:836,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/fipsinstall.c:837,1
    - Dst: app_params_free
      Src: /src/openssl/apps/fipsinstall.c:840,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/apps/fipsinstall.c:845,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:847,1
    - Dst: do_mac
      Src: /src/openssl/apps/fipsinstall.c:851,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/apps/fipsinstall.c:855,1
    - Dst: strlen
      Src: /src/openssl/apps/fipsinstall.c:856,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:858,1
    - Dst: do_mac
      Src: /src/openssl/apps/fipsinstall.c:861,1
    - Dst: verify_config
      Src: /src/openssl/apps/fipsinstall.c:867,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:871,1
    - Dst: generate_config_and_load
      Src: /src/openssl/apps/fipsinstall.c:873,1
    - Dst: load_fips_prov_and_run_self_test
      Src: /src/openssl/apps/fipsinstall.c:877,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/fipsinstall.c:892,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/fipsinstall.c:893,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:895,1
    - Dst: write_config_fips_section
      Src: /src/openssl/apps/fipsinstall.c:899,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:904,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:911,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/fipsinstall.c:912,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:916,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:917,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:918,1
    - Dst: BIO_free
      Src: /src/openssl/apps/fipsinstall.c:919,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/fipsinstall.c:920,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/apps/fipsinstall.c:921,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/apps/fipsinstall.c:922,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/apps/fipsinstall.c:923,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/fipsinstall.c:924,1
    - Dst: free_config_and_unload
      Src: /src/openssl/apps/fipsinstall.c:925,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 322
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 571
    functionDepth: 10
    functionLinenumber: 571
    functionLinenumberEnd: 927
    functionName: fipsinstall_main
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - sk_OPENSSL_STRING_push
    - EVP_MAC_free
    - EVP_MAC_settable_ctx_params
    - EVP_MAC_CTX_dup
    - opt_check_rest_arg
    - OSSL_SELF_TEST_set_callback
    - BIO_new_mem_buf
    - load_fips_prov_and_run_self_test
    - OPENSSL_free
    - strlen
    - free_config_and_unload
    - app_malloc
    - HAS_PREFIX
    - EVP_MAC_CTX_free
    - write_config_fips_section
    - app_params_new_from_opts
    - OSSL_PROVIDER_available
    - EVP_MAC_CTX_set_params
    - opt_path_end
    - app_get0_propq
    - OPENSSL_strdup
    - verify_module_load
    - verify_config
    - OSSL_PROVIDER_set_default_search_path
    - BIO_printf
    - app_params_free
    - do_mac
    - sk_OPENSSL_STRING_new_null
    - check_non_pedantic_fips
    - BIO_free
    - generate_config_and_load
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - opt_arg
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - dup_bio_out
    - app_get0_libctx
    - ERR_print_errors
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: int fipsinstall_main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/apps/fipsinstall.c:935,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/apps/fipsinstall.c:940,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/apps/fipsinstall.c:945,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:951,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:952,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:953,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:954,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:955,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:961,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:965,1
    - Dst: strcmp
      Src: /src/openssl/apps/fipsinstall.c:968,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/fipsinstall.c:970,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 2
    argNames:
    - params
    - arg
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 929
    functionDepth: 3
    functionLinenumber: 929
    functionLinenumberEnd: 977
    functionName: self_test_events
    functionSourceFile: /src/openssl/apps/fipsinstall.c
    functionUses: 3
    functionsReached:
    - strcmp
    - OSSL_PARAM_locate_const
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int self_test_events(const OSSL_PARAM params[], void *arg)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/spkac.c:76,1
    - Dst: opt_next
      Src: /src/openssl/apps/spkac.c:77,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:82,1
    - Dst: opt_help
      Src: /src/openssl/apps/spkac.c:85,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:89,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:92,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:104,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:107,1
    - Dst: opt_format
      Src: /src/openssl/apps/spkac.c:110,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:110,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:114,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:120,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:123,1
    - Dst: setup_engine
      Src: /src/openssl/apps/spkac.c:126,1
    - Dst: opt_arg
      Src: /src/openssl/apps/spkac.c:126,1
    - Dst: opt_provider
      Src: /src/openssl/apps/spkac.c:129,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/spkac.c:136,1
    - Dst: app_passwd
      Src: /src/openssl/apps/spkac.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:140,1
    - Dst: opt_md
      Src: /src/openssl/apps/spkac.c:145,1
    - Dst: load_key
      Src: /src/openssl/apps/spkac.c:148,1
    - Dst: strcmp
      Src: /src/openssl/apps/spkac.c:148,1
    - Dst: NETSCAPE_SPKI_new
      Src: /src/openssl/apps/spkac.c:152,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/apps/spkac.c:156,1
    - Dst: strlen
      Src: /src/openssl/apps/spkac.c:157,1
    - Dst: NETSCAPE_SPKI_set_pubkey
      Src: /src/openssl/apps/spkac.c:159,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:160,1
    - Dst: NETSCAPE_SPKI_sign
      Src: /src/openssl/apps/spkac.c:163,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:165,1
    - Dst: NETSCAPE_SPKI_b64_encode
      Src: /src/openssl/apps/spkac.c:168,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/spkac.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/spkac.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/spkac.c:178,1
    - Dst: app_load_config
      Src: /src/openssl/apps/spkac.c:183,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/spkac.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:189,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/spkac.c:190,1
    - Dst: NETSCAPE_SPKI_b64_decode
      Src: /src/openssl/apps/spkac.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:197,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/spkac.c:198,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/spkac.c:202,1
    - Dst: NETSCAPE_SPKI_print
      Src: /src/openssl/apps/spkac.c:207,1
    - Dst: NETSCAPE_SPKI_get_pubkey
      Src: /src/openssl/apps/spkac.c:208,1
    - Dst: NETSCAPE_SPKI_verify
      Src: /src/openssl/apps/spkac.c:210,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:212,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/spkac.c:214,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/spkac.c:215,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/spkac.c:220,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/spkac.c:225,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/spkac.c:226,1
    - Dst: NETSCAPE_SPKI_free
      Src: /src/openssl/apps/spkac.c:227,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/spkac.c:228,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/spkac.c:229,1
    - Dst: release_engine
      Src: /src/openssl/apps/spkac.c:230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/spkac.c:231,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 162
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 59
    functionDepth: 13
    functionLinenumber: 59
    functionLinenumberEnd: 233
    functionName: spkac_main
    functionSourceFile: /src/openssl/apps/spkac.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - NETSCAPE_SPKI_b64_decode
    - opt_check_rest_arg
    - OPENSSL_free
    - NCONF_free
    - NETSCAPE_SPKI_verify
    - strcmp
    - opt_md
    - strlen
    - NETSCAPE_SPKI_free
    - BIO_free_all
    - EVP_PKEY_free
    - NETSCAPE_SPKI_get_pubkey
    - NETSCAPE_SPKI_new
    - BIO_printf
    - load_key
    - opt_provider
    - NETSCAPE_SPKI_print
    - PEM_write_bio_PUBKEY
    - setup_engine
    - NETSCAPE_SPKI_sign
    - NCONF_get_string
    - ERR_print_errors
    - opt_arg
    - opt_help
    - NETSCAPE_SPKI_b64_encode
    - opt_next
    - opt_init
    - NETSCAPE_SPKI_set_pubkey
    - bio_open_default
    - app_passwd
    - opt_format
    - app_load_config
    - ASN1_STRING_set
    - release_engine
    linkageType: ''
    returnType: int
    signature: int spkac_main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - s
    - is_hex
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: check_num
    functionSourceFile: /src/openssl/apps/prime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_num(const char *s, const int is_hex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_num
      Src: /src/openssl/apps/prime.c:48,1
    - Dst: BN_hex2bn
      Src: /src/openssl/apps/prime.c:51,1
    - Dst: BN_dec2bn
      Src: /src/openssl/apps/prime.c:51,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:54,1
    - Dst: BN_free
      Src: /src/openssl/apps/prime.c:55,1
    - Dst: BN_print
      Src: /src/openssl/apps/prime.c:59,1
    - Dst: BN_check_prime
      Src: /src/openssl/apps/prime.c:60,1
    - Dst: BN_free
      Src: /src/openssl/apps/prime.c:61,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:63,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - s
    - is_hex
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: process_num
    functionSourceFile: /src/openssl/apps/prime.c
    functionUses: 0
    functionsReached:
    - BN_hex2bn
    - BN_print
    - check_num
    - BN_dec2bn
    - BN_free
    - BN_check_prime
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void process_num(const char *s, const int is_hex)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/prime.c:102,1
    - Dst: opt_next
      Src: /src/openssl/apps/prime.c:103,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:108,1
    - Dst: opt_help
      Src: /src/openssl/apps/prime.c:111,1
    - Dst: atoi
      Src: /src/openssl/apps/prime.c:121,1
    - Dst: opt_arg
      Src: /src/openssl/apps/prime.c:121,1
    - Dst: opt_arg
      Src: /src/openssl/apps/prime.c:128,1
    - Dst: opt_provider
      Src: /src/openssl/apps/prime.c:131,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/prime.c:141,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/prime.c:143,1
    - Dst: opt_rest
      Src: /src/openssl/apps/prime.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:154,1
    - Dst: BN_new
      Src: /src/openssl/apps/prime.c:157,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:159,1
    - Dst: BN_generate_prime_ex
      Src: /src/openssl/apps/prime.c:162,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:163,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/prime.c:166,1
    - Dst: BN_bn2dec
      Src: /src/openssl/apps/prime.c:166,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:168,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/prime.c:172,1
    - Dst: process_num
      Src: /src/openssl/apps/prime.c:178,1
    - Dst: bio_open_default_quiet
      Src: /src/openssl/apps/prime.c:180,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:182,1
    - Dst: BIO_get_line
      Src: /src/openssl/apps/prime.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:191,1
    - Dst: BIO_get_line
      Src: /src/openssl/apps/prime.c:193,1
    - Dst: strspn
      Src: /src/openssl/apps/prime.c:197,1
    - Dst: process_num
      Src: /src/openssl/apps/prime.c:200,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/prime.c:204,1
    - Dst: BIO_free
      Src: /src/openssl/apps/prime.c:206,1
    - Dst: BN_free
      Src: /src/openssl/apps/prime.c:213,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 93
    functionDepth: 7
    functionLinenumber: 93
    functionLinenumberEnd: 215
    functionName: prime_main
    functionSourceFile: /src/openssl/apps/prime.c
    functionUses: 0
    functionsReached:
    - atoi
    - opt_check_rest_arg
    - OPENSSL_free
    - BN_bn2hex
    - BIO_get_line
    - BN_new
    - strspn
    - opt_rest
    - BN_free
    - BIO_printf
    - BN_bn2dec
    - opt_provider
    - BIO_free
    - BN_generate_prime_ex
    - opt_arg
    - opt_num_rest
    - opt_help
    - opt_next
    - opt_init
    - process_num
    - bio_open_default_quiet
    linkageType: ''
    returnType: int
    signature: int prime_main(int argc, char **argv)
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/dgst.c:102,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:120,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/apps/dgst.c:121,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/dgst.c:125,1
    - Dst: opt_init
      Src: /src/openssl/apps/dgst.c:126,1
    - Dst: opt_next
      Src: /src/openssl/apps/dgst.c:127,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:132,1
    - Dst: opt_help
      Src: /src/openssl/apps/dgst.c:135,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:139,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/openssl/apps/dgst.c:142,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:144,1
    - Dst: opt_rand
      Src: /src/openssl/apps/dgst.c:154,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:158,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:161,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:164,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:167,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:171,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:175,1
    - Dst: opt_format
      Src: /src/openssl/apps/dgst.c:178,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:178,1
    - Dst: setup_engine
      Src: /src/openssl/apps/dgst.c:182,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:182,1
    - Dst: atoi
      Src: /src/openssl/apps/dgst.c:194,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:194,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:203,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:206,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/dgst.c:210,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/dgst.c:211,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:211,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/dgst.c:216,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/dgst.c:217,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dgst.c:217,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/dgst.c:221,1
    - Dst: opt_provider
      Src: /src/openssl/apps/dgst.c:224,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/dgst.c:231,1
    - Dst: opt_rest
      Src: /src/openssl/apps/dgst.c:232,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:234,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/dgst.c:237,1
    - Dst: opt_md
      Src: /src/openssl/apps/dgst.c:241,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:246,1
    - Dst: BIO_new
      Src: /src/openssl/apps/dgst.c:253,1
    - Dst: BIO_s_file
      Src: /src/openssl/apps/dgst.c:253,1
    - Dst: BIO_new
      Src: /src/openssl/apps/dgst.c:254,1
    - Dst: BIO_f_md
      Src: /src/openssl/apps/dgst.c:254,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/dgst.c:259,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/dgst.c:261,1
    - Dst: app_passwd
      Src: /src/openssl/apps/dgst.c:264,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:265,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/dgst.c:276,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:281,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/dgst.c:287,1
    - Dst: load_key
      Src: /src/openssl/apps/dgst.c:289,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/apps/dgst.c:299,1
    - Dst: strcmp
      Src: /src/openssl/apps/dgst.c:301,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/dgst.c:303,1
    - Dst: init_gen_str
      Src: /src/openssl/apps/dgst.c:312,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/dgst.c:315,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/dgst.c:316,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/dgst.c:318,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dgst.c:319,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:320,1
    - Dst: app_keygen
      Src: /src/openssl/apps/dgst.c:326,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dgst.c:328,1
    - Dst: EVP_sha256
      Src: /src/openssl/apps/dgst.c:335,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/openssl/apps/dgst.c:338,1
    - Dst: strlen
      Src: /src/openssl/apps/dgst.c:340,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:352,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:353,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/apps/dgst.c:358,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dgst.c:359,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dgst.c:360,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/openssl/apps/dgst.c:362,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/apps/dgst.c:365,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dgst.c:366,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dgst.c:367,1
    - Dst: EVP_DigestSignInit
      Src: /src/openssl/apps/dgst.c:369,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:371,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/dgst.c:375,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/dgst.c:376,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/dgst.c:378,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:379,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:391,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:394,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:395,1
    - Dst: EVP_sha256
      Src: /src/openssl/apps/dgst.c:399,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/apps/dgst.c:400,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:401,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/dgst.c:407,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:410,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/apps/dgst.c:413,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:414,1
    - Dst: BIO_read
      Src: /src/openssl/apps/dgst.c:415,1
    - Dst: BIO_free
      Src: /src/openssl/apps/dgst.c:416,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:418,1
    - Dst: BIO_push
      Src: /src/openssl/apps/dgst.c:423,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:428,1
    - Dst: EVP_MD_CTX_get1_md
      Src: /src/openssl/apps/dgst.c:429,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/apps/dgst.c:432,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/apps/dgst.c:435,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:436,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:445,1
    - Dst: BIO_set_fp
      Src: /src/openssl/apps/dgst.c:451,1
    - Dst: do_fp_oneshot_sign
      Src: /src/openssl/apps/dgst.c:453,1
    - Dst: do_fp
      Src: /src/openssl/apps/dgst.c:456,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/dgst.c:463,1
    - Dst: BIO_read_filename
      Src: /src/openssl/apps/dgst.c:467,1
    - Dst: perror
      Src: /src/openssl/apps/dgst.c:468,1
    - Dst: do_fp_oneshot_sign
      Src: /src/openssl/apps/dgst.c:473,1
    - Dst: do_fp
      Src: /src/openssl/apps/dgst.c:478,1
    - Dst: BIO_reset
      Src: /src/openssl/apps/dgst.c:483,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dgst.c:488,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/dgst.c:489,1
    - Dst: BIO_free
      Src: /src/openssl/apps/dgst.c:490,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:491,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/dgst.c:492,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/dgst.c:493,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dgst.c:494,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/dgst.c:495,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/dgst.c:496,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/dgst.c:497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:498,1
    - Dst: BIO_free
      Src: /src/openssl/apps/dgst.c:499,1
    - Dst: release_engine
      Src: /src/openssl/apps/dgst.c:500,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 345
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 97
    functionDepth: 11
    functionLinenumber: 97
    functionLinenumberEnd: 502
    functionName: dgst_main
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - load_pubkey
    - EVP_MD_free
    - atoi
    - BIO_set_callback_ex
    - opt_rand
    - BIO_f_md
    - EVP_PKEY_get_size
    - OPENSSL_free
    - strcmp
    - opt_md
    - strlen
    - BIO_reset
    - do_fp_oneshot_sign
    - app_malloc
    - app_RAND_load
    - BIO_new
    - app_keygen
    - app_get0_propq
    - pkey_ctrl_string
    - EVP_PKEY_CTX_free
    - opt_unknown
    - EVP_DigestInit_ex
    - BIO_push
    - EVP_get_digestbyname
    - EVP_PKEY_get_default_digest_name
    - BIO_free_all
    - EVP_PKEY_free
    - BIO_get_md_ctx
    - opt_rest
    - BIO_read
    - BIO_printf
    - EVP_MD_xof
    - perror
    - load_key
    - BIO_new_file
    - opt_provider
    - do_fp
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - EVP_MD_CTX_get1_md
    - setup_engine
    - EVP_PKEY_new_raw_private_key
    - EVP_DigestVerifyInit
    - EVP_MD_get0_name
    - STACK_OF
    - EVP_DigestSignInit_ex
    - sk_OPENSSL_STRING_free
    - ERR_print_errors
    - BIO_s_file
    - sk_OPENSSL_STRING_num
    - opt_arg
    - EVP_sha256
    - BIO_set_callback_arg
    - opt_num_rest
    - EVP_DigestSignInit
    - EVP_DigestVerifyInit_ex
    - opt_help
    - BIO_set_fp
    - opt_next
    - opt_init
    - bio_open_default
    - init_gen_str
    - app_passwd
    - opt_format
    - EVP_MD_CTX_new
    - EVP_PKEY_get0_type_name
    - BIO_read_filename
    - OPENSSL_clear_free
    - EVP_MD_CTX_free
    - app_get0_libctx
    - opt_set_unknown_name
    - OBJ_NAME_do_all_sorted
    - sk_OPENSSL_STRING_value
    - release_engine
    linkageType: ''
    returnType: int
    signature: int dgst_main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/openssl/apps/dgst.c:510,1
    - Dst: strstr
      Src: /src/openssl/apps/dgst.c:510,1
    - Dst: islower
      Src: /src/openssl/apps/dgst.c:513,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/dgst.c:517,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dgst.c:517,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dgst.c:517,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/apps/dgst.c:519,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:523,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:525,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:528,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/dgst.c:531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 504
    functionDepth: 10
    functionLinenumber: 504
    functionLinenumberEnd: 532
    functionName: show_digests
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - strstr
    - app_get0_propq
    - app_get0_libctx
    - EVP_get_digestbyname
    - EVP_MD_fetch
    - islower
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void show_digests(const OBJ_NAME *name, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/dgst.c:546,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - file
    - backslash
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 570
    functionName: newline_escape_filename
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - strlen
    - app_malloc
    linkageType: ''
    returnType: char
    signature: char *newline_escape_filename(const char *file, int *backslash)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/openssl/apps/dgst.c:579,1
    - Dst: newline_escape_filename
      Src: /src/openssl/apps/dgst.c:581,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:584,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:587,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:589,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:590,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/dgst.c:593,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:595,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:596,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:598,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:600,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:604,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:605,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:607,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 8
    argNames:
    - out
    - buf
    - len
    - sep
    - binout
    - sig_name
    - md_name
    - file
    argTypes:
    - BIO*
    - unsigned char*
    - size_t
    - int
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 609
    functionName: print_out
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_puts
    - newline_escape_filename
    - OPENSSL_free
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void print_out(BIO *out, unsigned char *buf, size_t len,\n                      int
      sep, int binout,\n                      const char *sig_name, const char *md_name,
      const char *file)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:614,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:616,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - out
    - i
    argTypes:
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: print_verify_result
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_verify_result(BIO *out, int i)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pending
      Src: /src/openssl/apps/dgst.c:630,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/dgst.c:630,1
    - Dst: BIO_read
      Src: /src/openssl/apps/dgst.c:631,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:633,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:641,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/apps/dgst.c:642,1
    - Dst: print_verify_result
      Src: /src/openssl/apps/dgst.c:643,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:652,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/apps/dgst.c:653,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:654,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:659,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/apps/dgst.c:662,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:663,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:671,1
    - Dst: BIO_get_md_ctx
      Src: /src/openssl/apps/dgst.c:675,1
    - Dst: EVP_DigestFinalXOF
      Src: /src/openssl/apps/dgst.c:677,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:678,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/dgst.c:682,1
    - Dst: print_out
      Src: /src/openssl/apps/dgst.c:686,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/dgst.c:690,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 12
    argNames:
    - out
    - buf
    - bp
    - sep
    - binout
    - xoflen
    - key
    - sigin
    - siglen
    - sig_name
    - md_name
    - file
    argTypes:
    - BIO*
    - unsigned char*
    - BIO*
    - int
    - int
    - int
    - EVP_PKEY*
    - unsigned char*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 621
    functionDepth: 5
    functionLinenumber: 621
    functionLinenumberEnd: 693
    functionName: do_fp
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 1
    functionsReached:
    - EVP_DigestFinalXOF
    - BIO_pending
    - BIO_gets
    - print_out
    - OPENSSL_clear_free
    - print_verify_result
    - BIO_eof
    - EVP_DigestSignFinal
    - BIO_get_md_ctx
    - BIO_read
    - EVP_DigestVerifyFinal
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: "int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
      int xoflen,\n          EVP_PKEY *key, unsigned char *sigin, int siglen,\n          const
      char *sig_name, const char *md_name,\n          const char *file)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bio_to_mem
      Src: /src/openssl/apps/dgst.c:711,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:713,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/apps/dgst.c:717,1
    - Dst: print_verify_result
      Src: /src/openssl/apps/dgst.c:718,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/dgst.c:724,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:725,1
    - Dst: app_malloc
      Src: /src/openssl/apps/dgst.c:728,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/dgst.c:729,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:730,1
    - Dst: print_out
      Src: /src/openssl/apps/dgst.c:733,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dgst.c:736,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dgst.c:741,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/dgst.c:742,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 10
    argNames:
    - out
    - ctx
    - in
    - sep
    - binout
    - key
    - sigin
    - siglen
    - sig_name
    - file
    argTypes:
    - BIO*
    - EVP_MD_CTX*
    - BIO*
    - int
    - int
    - EVP_PKEY*
    - unsigned char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 701
    functionDepth: 5
    functionLinenumber: 701
    functionLinenumberEnd: 745
    functionName: do_fp_oneshot_sign
    functionSourceFile: /src/openssl/apps/dgst.c
    functionUses: 1
    functionsReached:
    - EVP_DigestVerify
    - print_out
    - OPENSSL_clear_free
    - print_verify_result
    - bio_to_mem
    - OPENSSL_free
    - EVP_DigestSign
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: "int do_fp_oneshot_sign(BIO *out, EVP_MD_CTX *ctx, BIO *in, int sep,
      int binout,\n                              EVP_PKEY *key, unsigned char *sigin,
      int siglen,\n                              const char *sig_name, const char
      *file)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs7.c:65,1
    - Dst: opt_init
      Src: /src/openssl/apps/pkcs7.c:67,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkcs7.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs7.c:73,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkcs7.c:76,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkcs7.c:80,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:80,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkcs7.c:84,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:84,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:88,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:91,1
    - Dst: setup_engine
      Src: /src/openssl/apps/pkcs7.c:109,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs7.c:109,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkcs7.c:112,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkcs7.c:119,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkcs7.c:122,1
    - Dst: PKCS7_new_ex
      Src: /src/openssl/apps/pkcs7.c:126,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkcs7.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs7.c:128,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs7.c:129,1
    - Dst: d2i_PKCS7_bio
      Src: /src/openssl/apps/pkcs7.c:134,1
    - Dst: PEM_read_bio_PKCS7
      Src: /src/openssl/apps/pkcs7.c:136,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs7.c:138,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs7.c:139,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkcs7.c:143,1
    - Dst: PKCS7_print_ctx
      Src: /src/openssl/apps/pkcs7.c:148,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs7.c:151,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs7.c:152,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs7.c:154,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/pkcs7.c:175,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/pkcs7.c:176,1
    - Dst: X509_print
      Src: /src/openssl/apps/pkcs7.c:178,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/pkcs7.c:180,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/pkcs7.c:183,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs7.c:184,1
    - Dst: sk_X509_CRL_num
      Src: /src/openssl/apps/pkcs7.c:190,1
    - Dst: sk_X509_CRL_value
      Src: /src/openssl/apps/pkcs7.c:191,1
    - Dst: X509_CRL_print_ex
      Src: /src/openssl/apps/pkcs7.c:193,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/pkcs7.c:193,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/pkcs7.c:196,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs7.c:197,1
    - Dst: i2d_PKCS7_bio
      Src: /src/openssl/apps/pkcs7.c:207,1
    - Dst: PEM_write_bio_PKCS7
      Src: /src/openssl/apps/pkcs7.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs7.c:212,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs7.c:213,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/pkcs7.c:219,1
    - Dst: release_engine
      Src: /src/openssl/apps/pkcs7.c:220,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkcs7.c:221,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkcs7.c:222,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 150
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 56
    functionDepth: 6
    functionLinenumber: 56
    functionLinenumberEnd: 224
    functionName: pkcs7_main
    functionSourceFile: /src/openssl/apps/pkcs7.c
    functionUses: 0
    functionsReached:
    - PKCS7_free
    - PEM_write_bio_X509
    - opt_check_rest_arg
    - sk_X509_num
    - sk_X509_CRL_value
    - X509_print
    - sk_X509_value
    - X509_CRL_print_ex
    - app_get0_propq
    - d2i_PKCS7_bio
    - BIO_free_all
    - dump_cert_text
    - OBJ_obj2nid
    - PKCS7_new_ex
    - BIO_printf
    - get_nameopt
    - opt_provider
    - BIO_puts
    - BIO_free
    - PEM_read_bio_PKCS7
    - setup_engine
    - STACK_OF
    - PKCS7_print_ctx
    - i2d_PKCS7_bio
    - opt_arg
    - PEM_write_bio_PKCS7
    - opt_help
    - sk_X509_CRL_num
    - opt_next
    - opt_init
    - bio_open_default
    - opt_format
    - app_get0_libctx
    - PEM_write_bio_X509_CRL
    - ERR_print_errors
    - release_engine
    linkageType: ''
    returnType: int
    signature: int pkcs7_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: STR
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: XSTR
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSTR(a)
  - BBCount: 141
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/enc.c:157,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:163,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:166,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:170,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:174,1
    - Dst: strcmp
      Src: /src/openssl/apps/enc.c:177,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/enc.c:180,1
    - Dst: opt_init
      Src: /src/openssl/apps/enc.c:181,1
    - Dst: opt_next
      Src: /src/openssl/apps/enc.c:182,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:187,1
    - Dst: opt_help
      Src: /src/openssl/apps/enc.c:190,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:194,1
    - Dst: OBJ_NAME_do_all_sorted
      Src: /src/openssl/apps/enc.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:199,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:206,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:209,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:212,1
    - Dst: setup_engine
      Src: /src/openssl/apps/enc.c:215,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:215,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:253,1
    - Dst: strlen
      Src: /src/openssl/apps/enc.c:254,1
    - Dst: opt_long
      Src: /src/openssl/apps/enc.c:258,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:258,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:266,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/enc.c:269,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:269,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/enc.c:272,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:273,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:276,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:277,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:283,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:289,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:292,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:295,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:298,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/enc.c:301,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/enc.c:304,1
    - Dst: opt_int
      Src: /src/openssl/apps/enc.c:308,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:308,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/enc.c:323,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/enc.c:324,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:324,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:325,1
    - Dst: opt_arg
      Src: /src/openssl/apps/enc.c:330,1
    - Dst: opt_rand
      Src: /src/openssl/apps/enc.c:333,1
    - Dst: opt_provider
      Src: /src/openssl/apps/enc.c:337,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/enc.c:344,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/enc.c:346,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/enc.c:352,1
    - Dst: EVP_CIPHER_mode
      Src: /src/openssl/apps/enc.c:354,1
    - Dst: opt_md
      Src: /src/openssl/apps/enc.c:359,1
    - Dst: EVP_sha256
      Src: /src/openssl/apps/enc.c:363,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:372,1
    - Dst: app_malloc
      Src: /src/openssl/apps/enc.c:390,1
    - Dst: app_malloc
      Src: /src/openssl/apps/enc.c:391,1
    - Dst: EVP_ENCODE_LENGTH
      Src: /src/openssl/apps/enc.c:391,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:395,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/enc.c:398,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/enc.c:400,1
    - Dst: app_passwd
      Src: /src/openssl/apps/enc.c:406,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:407,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/enc.c:419,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/enc.c:420,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/enc.c:423,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:433,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:439,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/enc.c:444,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:449,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:450,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:451,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:452,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:461,1
    - Dst: BIO_f_zlib
      Src: /src/openssl/apps/enc.c:461,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:464,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:465,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:468,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:470,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:475,1
    - Dst: BIO_f_brotli
      Src: /src/openssl/apps/enc.c:475,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:478,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:479,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:482,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:484,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:488,1
    - Dst: BIO_f_zstd
      Src: /src/openssl/apps/enc.c:488,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:491,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:492,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:495,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:497,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:502,1
    - Dst: BIO_f_base64
      Src: /src/openssl/apps/enc.c:502,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:505,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:506,1
    - Dst: BIO_set_flags
      Src: /src/openssl/apps/enc.c:509,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:511,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:513,1
    - Dst: strlen
      Src: /src/openssl/apps/enc.c:524,1
    - Dst: set_hex
      Src: /src/openssl/apps/enc.c:529,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:530,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/enc.c:535,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:536,1
    - Dst: BIO_write
      Src: /src/openssl/apps/enc.c:544,1
    - Dst: BIO_write
      Src: /src/openssl/apps/enc.c:546,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:549,1
    - Dst: BIO_read
      Src: /src/openssl/apps/enc.c:555,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:556,1
    - Dst: memcmp
      Src: /src/openssl/apps/enc.c:559,1
    - Dst: BIO_read
      Src: /src/openssl/apps/enc.c:560,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:562,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:566,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/apps/enc.c:580,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:581,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/openssl/apps/enc.c:585,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:587,1
    - Dst: memcpy
      Src: /src/openssl/apps/enc.c:591,1
    - Dst: memcpy
      Src: /src/openssl/apps/enc.c:592,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:595,1
    - Dst: EVP_BytesToKey
      Src: /src/openssl/apps/enc.c:598,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:601,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/enc.c:611,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/enc.c:613,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:616,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:619,1
    - Dst: set_hex
      Src: /src/openssl/apps/enc.c:620,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:621,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:626,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:632,1
    - Dst: set_hex
      Src: /src/openssl/apps/enc.c:636,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/apps/enc.c:636,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:637,1
    - Dst: cleanse
      Src: /src/openssl/apps/enc.c:641,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:650,1
    - Dst: BIO_new
      Src: /src/openssl/apps/enc.c:654,1
    - Dst: BIO_f_cipher
      Src: /src/openssl/apps/enc.c:654,1
    - Dst: BIO_get_cipher_ctx
      Src: /src/openssl/apps/enc.c:662,1
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/apps/enc.c:665,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/apps/enc.c:668,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:670,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/enc.c:671,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/enc.c:672,1
    - Dst: EVP_SKEYMGMT_fetch
      Src: /src/openssl/apps/enc.c:678,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/enc.c:678,1
    - Dst: EVP_CIPHER_name
      Src: /src/openssl/apps/enc.c:679,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/enc.c:680,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/enc.c:684,1
    - Dst: EVP_SKEYMGMT_get0_imp_settable_params
      Src: /src/openssl/apps/enc.c:685,1
    - Dst: EVP_SKEY_import
      Src: /src/openssl/apps/enc.c:689,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/enc.c:689,1
    - Dst: EVP_SKEYMGMT_get0_name
      Src: /src/openssl/apps/enc.c:689,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/enc.c:690,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/apps/enc.c:691,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:693,1
    - Dst: EVP_CIPHER_name
      Src: /src/openssl/apps/enc.c:694,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/enc.c:695,1
    - Dst: EVP_CipherInit_SKEY
      Src: /src/openssl/apps/enc.c:699,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:701,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:702,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/enc.c:703,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/enc.c:704,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/apps/enc.c:710,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/enc.c:713,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/enc.c:714,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:719,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:721,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:722,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/apps/enc.c:724,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:725,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/apps/enc.c:726,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:727,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:728,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:730,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:731,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/apps/enc.c:732,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:733,1
    - Dst: printf
      Src: /src/openssl/apps/enc.c:734,1
    - Dst: BIO_push
      Src: /src/openssl/apps/enc.c:745,1
    - Dst: BIO_pending
      Src: /src/openssl/apps/enc.c:747,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/enc.c:747,1
    - Dst: BIO_read
      Src: /src/openssl/apps/enc.c:748,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/enc.c:751,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:752,1
    - Dst: BIO_write
      Src: /src/openssl/apps/enc.c:755,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:756,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/enc.c:762,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:764,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:766,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:772,1
    - Dst: BIO_number_read
      Src: /src/openssl/apps/enc.c:772,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:773,1
    - Dst: BIO_number_written
      Src: /src/openssl/apps/enc.c:773,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/enc.c:776,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/enc.c:777,1
    - Dst: EVP_SKEYMGMT_free
      Src: /src/openssl/apps/enc.c:778,1
    - Dst: EVP_SKEY_free
      Src: /src/openssl/apps/enc.c:779,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/enc.c:780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/enc.c:781,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:782,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/enc.c:783,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:784,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:785,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/enc.c:786,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/enc.c:787,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:789,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:791,1
    - Dst: BIO_free
      Src: /src/openssl/apps/enc.c:792,1
    - Dst: release_engine
      Src: /src/openssl/apps/enc.c:793,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/enc.c:794,1
    CyclomaticComplexity: 222
    EdgeCount: 222
    ICount: 542
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 118
    functionDepth: 8
    functionLinenumber: 118
    functionLinenumberEnd: 796
    functionName: enc_main
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_mode
    - BIO_set_callback_ex
    - opt_rand
    - dup_bio_in
    - memcpy
    - EVP_CIPHER_CTX_set_padding
    - opt_check_rest_arg
    - strcmp
    - cleanse
    - app_malloc
    - BIO_eof
    - app_get0_propq
    - opt_int_arg
    - BIO_read
    - setup_engine
    - BIO_pending
    - bio_open_default
    - app_passwd
    - OBJ_NAME_do_all_sorted
    - EVP_SKEY_import
    - OPENSSL_cleanse
    - release_engine
    - sk_OPENSSL_STRING_push
    - EVP_MD_free
    - OSSL_PARAM_free
    - OPENSSL_free
    - EVP_read_pw_string
    - BIO_f_brotli
    - EVP_BytesToKey
    - BIO_get_cipher_ctx
    - EVP_SKEYMGMT_free
    - EVP_CIPHER_free
    - BIO_push
    - BIO_gets
    - EVP_CIPHER_name
    - EVP_CipherInit_ex
    - EVP_ENCODE_LENGTH
    - opt_next
    - RAND_bytes
    - app_get0_libctx
    - opt_set_unknown_name
    - ERR_print_errors
    - EVP_CIPHER_get_iv_length
    - printf
    - BIO_f_base64
    - PKCS5_PBKDF2_HMAC
    - BIO_snprintf
    - opt_md
    - strlen
    - app_RAND_load
    - BIO_new
    - BIO_write
    - BIO_number_written
    - opt_long
    - BIO_free_all
    - EVP_SKEY_free
    - EVP_CIPHER_get_key_length
    - BIO_printf
    - BIO_set_flags
    - EVP_SKEYMGMT_get0_imp_settable_params
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - BIO_number_read
    - opt_cipher
    - opt_arg
    - EVP_sha256
    - opt_help
    - EVP_CipherInit_SKEY
    - opt_init
    - EVP_SKEYMGMT_fetch
    - BIO_f_zstd
    - BIO_f_zlib
    - app_params_new_from_opts
    - BIO_flush
    - EVP_SKEYMGMT_get0_name
    - opt_unknown
    - BIO_f_cipher
    - EVP_CIPHER_CTX_set_flags
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - BIO_set_callback_arg
    - memcmp
    - EVP_CIPHER_get0_name
    - set_hex
    - opt_int
    linkageType: ''
    returnType: int
    signature: int enc_main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: islower
      Src: /src/openssl/apps/enc.c:803,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/apps/enc.c:807,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/apps/enc.c:809,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/apps/enc.c:810,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/apps/enc.c:811,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:814,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:816,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - OBJ_NAME*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 820
    functionName: show_ciphers
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_flags
    - EVP_get_cipherbyname
    - islower
    - BIO_printf
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: void
    signature: void show_ciphers(const OBJ_NAME *name, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/enc.c:828,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:830,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:833,1
    - Dst: memset
      Src: /src/openssl/apps/enc.c:836,1
    - Dst: isxdigit
      Src: /src/openssl/apps/enc.c:839,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/enc.c:840,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/enc.c:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - in
    - out
    - size
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 850
    functionName: set_hex
    functionSourceFile: /src/openssl/apps/enc.c
    functionUses: 1
    functionsReached:
    - memset
    - OPENSSL_hexchar2int
    - isxdigit
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int set_hex(const char *in, unsigned char *out, int size)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/info.c:46,1
    - Dst: opt_next
      Src: /src/openssl/apps/info.c:47,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/info.c:51,1
    - Dst: opt_help
      Src: /src/openssl/apps/info.c:54,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/info.c:95,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/info.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/info.c:102,1
    - Dst: OPENSSL_info
      Src: /src/openssl/apps/info.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/info.c:107,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 111
    functionName: info_main
    functionSourceFile: /src/openssl/apps/info.c
    functionUses: 0
    functionsReached:
    - opt_help
    - opt_next
    - opt_init
    - opt_check_rest_arg
    - OPENSSL_info
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int info_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/apps/pkeyutl.c:52,1
    - Dst: strcmp
      Src: /src/openssl/apps/pkeyutl.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 11
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: only_nomd
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - EVP_PKEY_get_default_digest_name
    linkageType: ''
    returnType: int
    signature: int only_nomd(EVP_PKEY *pkey)
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkeyutl.c:146,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkeyutl.c:147,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkeyutl.c:152,1
    - Dst: opt_init
      Src: /src/openssl/apps/pkeyutl.c:154,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkeyutl.c:155,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:160,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkeyutl.c:163,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:167,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:170,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:173,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:176,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:182,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:185,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:188,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkeyutl.c:191,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:191,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkeyutl.c:195,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:195,1
    - Dst: opt_rand
      Src: /src/openssl/apps/pkeyutl.c:199,1
    - Dst: app_load_config_modules
      Src: /src/openssl/apps/pkeyutl.c:203,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:203,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkeyutl.c:208,1
    - Dst: setup_engine
      Src: /src/openssl/apps/pkeyutl.c:212,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:212,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:252,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:257,1
    - Dst: atoi
      Src: /src/openssl/apps/pkeyutl.c:260,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:260,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/pkeyutl.c:267,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/pkeyutl.c:268,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:268,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:269,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/pkeyutl.c:275,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/pkeyutl.c:276,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:276,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:277,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyutl.c:285,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkeyutl.c:291,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/pkeyutl.c:294,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:302,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:311,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:315,1
    - Dst: get_pkey
      Src: /src/openssl/apps/pkeyutl.c:320,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:322,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/pkeyutl.c:326,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:327,1
    - Dst: only_nomd
      Src: /src/openssl/apps/pkeyutl.c:332,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:334,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:336,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:344,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:350,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/pkeyutl.c:355,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:356,1
    - Dst: init_ctx
      Src: /src/openssl/apps/pkeyutl.c:360,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkeyutl.c:361,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:363,1
    - Dst: setup_peer
      Src: /src/openssl/apps/pkeyutl.c:366,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:367,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/pkeyutl.c:371,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/pkeyutl.c:375,1
    - Dst: pkey_ctrl_string
      Src: /src/openssl/apps/pkeyutl.c:377,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:378,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/pkeyutl.c:385,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/pkeyutl.c:389,1
    - Dst: strchr
      Src: /src/openssl/apps/pkeyutl.c:390,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/pkeyutl.c:398,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkeyutl.c:399,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:403,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:405,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/pkeyutl.c:408,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:410,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkeyutl.c:420,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:421,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/apps/pkeyutl.c:426,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:427,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:432,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:437,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:443,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkeyutl.c:449,1
    - Dst: stat
      Src: /src/openssl/apps/pkeyutl.c:453,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:461,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkeyutl.c:466,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkeyutl.c:469,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:477,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkeyutl.c:483,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/pkeyutl.c:488,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:491,1
    - Dst: bio_to_mem
      Src: /src/openssl/apps/pkeyutl.c:494,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkeyutl.c:495,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:497,1
    - Dst: bio_to_mem
      Src: /src/openssl/apps/pkeyutl.c:505,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:507,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:527,1
    - Dst: do_raw_keyop
      Src: /src/openssl/apps/pkeyutl.c:536,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/apps/pkeyutl.c:539,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:543,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:546,1
    - Dst: do_raw_keyop
      Src: /src/openssl/apps/pkeyutl.c:552,1
    - Dst: do_keyop
      Src: /src/openssl/apps/pkeyutl.c:559,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:567,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:569,1
    - Dst: do_keyop
      Src: /src/openssl/apps/pkeyutl.c:570,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:577,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkeyutl.c:579,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/apps/pkeyutl.c:586,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyutl.c:587,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/pkeyutl.c:589,1
    - Dst: BIO_write
      Src: /src/openssl/apps/pkeyutl.c:591,1
    - Dst: BIO_write
      Src: /src/openssl/apps/pkeyutl.c:595,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyutl.c:599,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/pkeyutl.c:600,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/pkeyutl.c:601,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkeyutl.c:602,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/pkeyutl.c:603,1
    - Dst: release_engine
      Src: /src/openssl/apps/pkeyutl.c:604,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkeyutl.c:605,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkeyutl.c:606,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkeyutl.c:607,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:608,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:609,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:610,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:611,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/pkeyutl.c:612,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/pkeyutl.c:613,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/pkeyutl.c:614,1
    CyclomaticComplexity: 180
    EdgeCount: 180
    ICount: 422
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 125
    functionDepth: 12
    functionLinenumber: 125
    functionLinenumberEnd: 616
    functionName: pkeyutl_main
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - stat
    - EVP_MD_free
    - atoi
    - opt_rand
    - EVP_PKEY_is_a
    - EVP_PKEY_CTX_ctrl_str
    - opt_check_rest_arg
    - BIO_snprintf
    - EVP_read_pw_string
    - OPENSSL_free
    - NCONF_free
    - only_nomd
    - app_malloc
    - app_RAND_load
    - BIO_write
    - ASN1_parse_dump
    - bio_to_mem
    - app_get0_propq
    - pkey_ctrl_string
    - EVP_PKEY_CTX_free
    - init_ctx
    - OPENSSL_strdup
    - EVP_PKEY_free
    - BIO_free_all
    - app_load_config_modules
    - get_pkey
    - BIO_printf
    - setup_peer
    - strchr
    - BIO_new_file
    - opt_provider
    - do_keyop
    - sk_OPENSSL_STRING_new_null
    - BIO_puts
    - BIO_free
    - setup_engine
    - do_raw_keyop
    - EVP_PKEY_verify
    - BIO_dump
    - STACK_OF
    - bio_open_owner
    - sk_OPENSSL_STRING_free
    - ERR_print_errors
    - sk_OPENSSL_STRING_num
    - opt_arg
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - EVP_PKEY_get0_type_name
    - opt_format
    - EVP_MD_CTX_new
    - app_passwd
    - EVP_MD_CTX_free
    - app_get0_libctx
    - sk_OPENSSL_STRING_value
    - release_engine
    linkageType: ''
    returnType: int
    signature: int pkeyutl_main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:629,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkeyutl.c:632,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:633,1
    - Dst: load_key
      Src: /src/openssl/apps/pkeyutl.c:638,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/pkeyutl.c:642,1
    - Dst: load_cert
      Src: /src/openssl/apps/pkeyutl.c:646,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/apps/pkeyutl.c:648,1
    - Dst: X509_free
      Src: /src/openssl/apps/pkeyutl.c:649,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:657,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 7
    argNames:
    - kdfalg
    - keyfile
    - keyform
    - key_type
    - passinarg
    - pkey_op
    - e
    argTypes:
    - char*
    - char*
    - int
    - int
    - char*
    - int
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 659
    functionName: get_pkey
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 2
    functionsReached:
    - load_key
    - load_pubkey
    - load_cert
    - app_passwd
    - X509_free
    - OPENSSL_free
    - X509_get_pubkey
    - BIO_printf
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *get_pkey(const char *kdfalg,\n                          const
      char *keyfile, int keyform, int key_type,\n                          char *passinarg,
      int pkey_op, ENGINE *e)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_sn2nid
      Src: /src/openssl/apps/pkeyutl.c:678,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/apps/pkeyutl.c:681,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:683,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/openssl/apps/pkeyutl.c:689,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/pkeyutl.c:691,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/apps/pkeyutl.c:696,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/apps/pkeyutl.c:698,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/pkeyutl.c:700,1
    - Dst: EVP_MD_CTX_set_pkey_ctx
      Src: /src/openssl/apps/pkeyutl.c:707,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/apps/pkeyutl.c:711,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/apps/pkeyutl.c:716,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/apps/pkeyutl.c:724,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/openssl/apps/pkeyutl.c:728,1
    - Dst: EVP_PKEY_verify_recover_init
      Src: /src/openssl/apps/pkeyutl.c:732,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/apps/pkeyutl.c:736,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/apps/pkeyutl.c:740,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/apps/pkeyutl.c:744,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/apps/pkeyutl.c:748,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/apps/pkeyutl.c:750,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/apps/pkeyutl.c:754,1
    - Dst: EVP_PKEY_CTX_set_kem_op
      Src: /src/openssl/apps/pkeyutl.c:756,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/pkeyutl.c:762,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 12
    argNames:
    - kdfalg
    - pkeysize
    - pkey_op
    - e
    - engine_impl
    - rawin
    - pkey
    - mctx
    - digestname
    - kemop
    - libctx
    - propq
    argTypes:
    - char*
    - int*
    - int
    - ENGINE*
    - int
    - int
    - EVP_PKEY*
    - EVP_MD_CTX*
    - char*
    - char*
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 661
    functionDepth: 12
    functionLinenumber: 661
    functionLinenumberEnd: 767
    functionName: init_ctx
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_set_kem_op
    - EVP_PKEY_verify_recover_init
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_new
    - EVP_PKEY_get_size
    - EVP_MD_CTX_set_pkey_ctx
    - EVP_PKEY_verify_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_encapsulate_init
    - BIO_printf
    - EVP_PKEY_sign_init
    - OBJ_sn2nid
    - EVP_PKEY_decrypt_init
    - OBJ_ln2nid
    - EVP_PKEY_encrypt_init
    - EVP_DigestSignInit_ex
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_DigestVerifyInit_ex
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_CTX_new_from_name
    linkageType: ''
    returnType: EVP_PKEY_CTX
    signature: "EVP_PKEY_CTX *init_ctx(const char *kdfalg, int *pkeysize,\n                              int
      pkey_op, ENGINE *e,\n                              const int engine_impl, int
      rawin,\n                              EVP_PKEY *pkey /* ownership is passed
      to ctx */,\n                              EVP_MD_CTX *mctx, const char *digestname,\n
      \                             const char *kemop, OSSL_LIB_CTX *libctx, const
      char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get0_pkey
      Src: /src/openssl/apps/pkeyutl.c:772,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/pkeyutl.c:779,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:781,1
    - Dst: strcmp
      Src: /src/openssl/apps/pkeyutl.c:784,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:784,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:784,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:785,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:787,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/pkeyutl.c:787,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/apps/pkeyutl.c:790,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkeyutl.c:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - peerform
    - file
    - e
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - char*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 795
    functionName: setup_peer
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - load_pubkey
    - EVP_PKEY_CTX_get0_pkey
    - EVP_PKEY_get0_type_name
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_free
    - strcmp
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int setup_peer(EVP_PKEY_CTX *ctx, int peerform, const char *file,\n
      \                     ENGINE *e)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_verify_recover
      Src: /src/openssl/apps/pkeyutl.c:806,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/pkeyutl.c:810,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/apps/pkeyutl.c:814,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/apps/pkeyutl.c:818,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/apps/pkeyutl.c:822,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/apps/pkeyutl.c:826,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/apps/pkeyutl.c:830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 8
    argNames:
    - ctx
    - pkey_op
    - out
    - poutlen
    - in
    - inlen
    - secret
    - pseclen
    argTypes:
    - EVP_PKEY_CTX*
    - int
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 835
    functionName: do_keyop
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_decrypt
    - EVP_PKEY_encrypt
    - EVP_PKEY_decapsulate
    - EVP_PKEY_derive
    - EVP_PKEY_encapsulate
    - EVP_PKEY_sign
    - EVP_PKEY_verify_recover
    linkageType: ''
    returnType: int
    signature: "int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op,\n                    unsigned
      char *out, size_t *poutlen,\n                    const unsigned char *in, size_t
      inlen,\n                    unsigned char *secret, size_t *pseclen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: only_nomd
      Src: /src/openssl/apps/pkeyutl.c:850,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:852,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:856,1
    - Dst: BIO_read
      Src: /src/openssl/apps/pkeyutl.c:859,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:861,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/apps/pkeyutl.c:864,1
    - Dst: BIO_read
      Src: /src/openssl/apps/pkeyutl.c:867,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:869,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/pkeyutl.c:872,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:874,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/apps/pkeyutl.c:875,1
    - Dst: BIO_read
      Src: /src/openssl/apps/pkeyutl.c:885,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:889,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/apps/pkeyutl.c:892,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:894,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/apps/pkeyutl.c:898,1
    - Dst: BIO_read
      Src: /src/openssl/apps/pkeyutl.c:902,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:906,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/apps/pkeyutl.c:909,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyutl.c:911,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/apps/pkeyutl.c:915,1
    - Dst: app_malloc
      Src: /src/openssl/apps/pkeyutl.c:917,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/apps/pkeyutl.c:918,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkeyutl.c:924,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 83
    argCount: 9
    argNames:
    - pkey_op
    - mctx
    - pkey
    - in
    - filesize
    - sig
    - siglen
    - out
    - poutlen
    argTypes:
    - int
    - EVP_MD_CTX*
    - EVP_PKEY*
    - BIO*
    - int
    - unsigned char*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 839
    functionDepth: 12
    functionLinenumber: 839
    functionLinenumberEnd: 926
    functionName: do_raw_keyop
    functionSourceFile: /src/openssl/apps/pkeyutl.c
    functionUses: 1
    functionsReached:
    - EVP_DigestVerify
    - only_nomd
    - OPENSSL_free
    - EVP_DigestSignUpdate
    - EVP_DigestSign
    - EVP_DigestSignFinal
    - EVP_DigestVerifyUpdate
    - BIO_read
    - EVP_DigestVerifyFinal
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: "int do_raw_keyop(int pkey_op, EVP_MD_CTX *mctx,\n                        EVP_PKEY
      *pkey, BIO *in,\n                        int filesize, unsigned char *sig, int
      siglen,\n                        unsigned char **out, size_t *poutlen)"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/dhparam.c:94,1
    - Dst: opt_next
      Src: /src/openssl/apps/dhparam.c:95,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:100,1
    - Dst: opt_help
      Src: /src/openssl/apps/dhparam.c:103,1
    - Dst: opt_format
      Src: /src/openssl/apps/dhparam.c:107,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:107,1
    - Dst: opt_format
      Src: /src/openssl/apps/dhparam.c:111,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:111,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:115,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:118,1
    - Dst: setup_engine
      Src: /src/openssl/apps/dhparam.c:121,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dhparam.c:121,1
    - Dst: opt_rand
      Src: /src/openssl/apps/dhparam.c:151,1
    - Dst: opt_provider
      Src: /src/openssl/apps/dhparam.c:155,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/dhparam.c:162,1
    - Dst: opt_rest
      Src: /src/openssl/apps/dhparam.c:163,1
    - Dst: opt_int
      Src: /src/openssl/apps/dhparam.c:165,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/dhparam.c:167,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/dhparam.c:170,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:177,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:190,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/dhparam.c:193,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dhparam.c:193,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dhparam.c:193,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:195,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/dhparam.c:200,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/dhparam.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:203,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/apps/dhparam.c:208,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:209,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/apps/dhparam.c:216,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:217,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_prime_len
      Src: /src/openssl/apps/dhparam.c:221,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:222,1
    - Dst: EVP_PKEY_CTX_set_dh_paramgen_generator
      Src: /src/openssl/apps/dhparam.c:225,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:226,1
    - Dst: app_paramgen
      Src: /src/openssl/apps/dhparam.c:231,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dhparam.c:234,1
    - Dst: dsa_to_dh
      Src: /src/openssl/apps/dhparam.c:237,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dhparam.c:240,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/dhparam.c:250,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/apps/dhparam.c:266,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/apps/dhparam.c:276,1
    - Dst: strcmp
      Src: /src/openssl/apps/dhparam.c:278,1
    - Dst: BIO_reset
      Src: /src/openssl/apps/dhparam.c:292,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/apps/dhparam.c:295,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:298,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/dhparam.c:303,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:304,1
    - Dst: dsa_to_dh
      Src: /src/openssl/apps/dhparam.c:307,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/dhparam.c:311,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/dhparam.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:313,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/dhparam.c:321,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/dhparam.c:326,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/dhparam.c:329,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dhparam.c:329,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dhparam.c:329,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:331,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/apps/dhparam.c:334,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:335,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:338,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/dhparam.c:343,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/dhparam.c:349,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/dhparam.c:350,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:351,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/dhparam.c:354,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dhparam.c:359,1
    - Dst: BIO_free
      Src: /src/openssl/apps/dhparam.c:360,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/dhparam.c:361,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dhparam.c:362,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dhparam.c:363,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dhparam.c:364,1
    - Dst: release_engine
      Src: /src/openssl/apps/dhparam.c:365,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 232
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 82
    functionDepth: 12
    functionLinenumber: 82
    functionLinenumberEnd: 367
    functionName: dhparam_main
    functionSourceFile: /src/openssl/apps/dhparam.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_app_data
    - opt_rand
    - app_paramgen
    - EVP_PKEY_is_a
    - EVP_PKEY_param_check
    - OSSL_DECODER_CTX_new_for_pkey
    - opt_check_rest_arg
    - strcmp
    - BIO_reset
    - EVP_PKEY_paramgen_init
    - app_RAND_load
    - OSSL_ENCODER_CTX_new_for_pkey
    - app_get0_propq
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BIO_free_all
    - EVP_PKEY_CTX_set_cb
    - OSSL_DECODER_from_bio
    - EVP_PKEY_CTX_set_dh_paramgen_prime_len
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - opt_rest
    - BIO_printf
    - OSSL_DECODER_CTX_free
    - opt_provider
    - BIO_free
    - setup_engine
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_ENCODER_CTX_free
    - opt_arg
    - EVP_PKEY_print_params
    - opt_num_rest
    - OSSL_ENCODER_to_bio
    - opt_help
    - opt_next
    - opt_init
    - dsa_to_dh
    - bio_open_default
    - opt_int
    - opt_format
    - EVP_PKEY_CTX_new_from_name
    - app_get0_libctx
    - ERR_print_errors
    - EVP_PKEY_CTX_set_dh_paramgen_generator
    - release_engine
    linkageType: ''
    returnType: int
    signature: int dhparam_main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/dhparam.c:382,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/dhparam.c:383,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/dhparam.c:384,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:385,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/apps/dhparam.c:389,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/dhparam.c:390,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/dhparam.c:392,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/dhparam.c:394,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/apps/dhparam.c:396,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:397,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/dhparam.c:401,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dhparam.c:401,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dhparam.c:401,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/apps/dhparam.c:403,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/apps/dhparam.c:404,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dhparam.c:405,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dhparam.c:410,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/apps/dhparam.c:411,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/apps/dhparam.c:412,1
    - Dst: BN_free
      Src: /src/openssl/apps/dhparam.c:413,1
    - Dst: BN_free
      Src: /src/openssl/apps/dhparam.c:414,1
    - Dst: BN_free
      Src: /src/openssl/apps/dhparam.c:415,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 1
    argNames:
    - dh
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 417
    functionName: dsa_to_dh
    functionSourceFile: /src/openssl/apps/dhparam.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - app_get0_propq
    - OSSL_PARAM_BLD_push_BN
    - BIO_printf
    - EVP_PKEY_CTX_free
    - app_get0_libctx
    - EVP_PKEY_get_bn_param
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *dsa_to_dh(EVP_PKEY *dh)
  - BBCount: 241
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ca.c:276,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ca.c:277,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ca.c:278,1
    - Dst: opt_init
      Src: /src/openssl/apps/ca.c:311,1
    - Dst: opt_next
      Src: /src/openssl/apps/ca.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:317,1
    - Dst: opt_help
      Src: /src/openssl/apps/ca.c:320,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:325,1
    - Dst: opt_format
      Src: /src/openssl/apps/ca.c:328,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:328,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:332,1
    - Dst: set_dateopt
      Src: /src/openssl/apps/ca.c:335,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:335,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:345,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:348,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:351,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:368,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:372,1
    - Dst: atoi
      Src: /src/openssl/apps/ca.c:375,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:375,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:378,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:381,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:384,1
    - Dst: opt_format
      Src: /src/openssl/apps/ca.c:387,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:387,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:391,1
    - Dst: opt_rand
      Src: /src/openssl/apps/ca.c:394,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ca.c:398,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:402,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:405,1
    - Dst: opt_format
      Src: /src/openssl/apps/ca.c:408,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:408,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:415,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/ca.c:419,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ca.c:420,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:420,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/ca.c:425,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ca.c:426,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:426,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:448,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:451,1
    - Dst: atol
      Src: /src/openssl/apps/ca.c:454,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:454,1
    - Dst: atol
      Src: /src/openssl/apps/ca.c:457,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:457,1
    - Dst: atol
      Src: /src/openssl/apps/ca.c:460,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:460,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:466,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:470,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:474,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:478,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:482,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:485,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:488,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:494,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:500,1
    - Dst: setup_engine
      Src: /src/openssl/apps/ca.c:504,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ca.c:504,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/ca.c:511,1
    - Dst: opt_rest
      Src: /src/openssl/apps/ca.c:512,1
    - Dst: app_load_config_verbose
      Src: /src/openssl/apps/ca.c:514,1
    - Dst: app_load_modules
      Src: /src/openssl/apps/ca.c:516,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:521,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:524,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ca.c:526,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/ca.c:529,1
    - Dst: OBJ_create_objects
      Src: /src/openssl/apps/ca.c:531,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ca.c:532,1
    - Dst: add_oid_section
      Src: /src/openssl/apps/ca.c:535,1
    - Dst: app_RAND_load_conf
      Src: /src/openssl/apps/ca.c:538,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/ca.c:539,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:542,1
    - Dst: ASN1_STRING_set_default_mask_asc
      Src: /src/openssl/apps/ca.c:543,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:544,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:549,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:550,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:555,1
    - Dst: parse_yesno
      Src: /src/openssl/apps/ca.c:557,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:562,1
    - Dst: load_index
      Src: /src/openssl/apps/ca.c:566,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:568,1
    - Dst: index_index
      Src: /src/openssl/apps/ca.c:572,1
    - Dst: get_certificate_status
      Src: /src/openssl/apps/ca.c:575,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:576,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:584,1
    - Dst: app_passwd
      Src: /src/openssl/apps/ca.c:589,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:590,1
    - Dst: load_key
      Src: /src/openssl/apps/ca.c:594,1
    - Dst: cleanse
      Src: /src/openssl/apps/ca.c:595,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:604,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/ca.c:607,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/ca.c:611,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:612,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:620,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:623,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:627,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/ca.c:629,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:630,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:636,1
    - Dst: set_cert_ex
      Src: /src/openssl/apps/ca.c:638,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:639,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:645,1
    - Dst: set_ext_copy
      Src: /src/openssl/apps/ca.c:647,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:648,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/ca.c:657,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:659,1
    - Dst: app_isdir
      Src: /src/openssl/apps/ca.c:671,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:672,1
    - Dst: perror
      Src: /src/openssl/apps/ca.c:673,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:681,1
    - Dst: load_index
      Src: /src/openssl/apps/ca.c:685,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:687,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/ca.c:692,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/ca.c:693,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:695,1
    - Dst: make_revoked
      Src: /src/openssl/apps/ca.c:701,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:702,1
    - Dst: check_time_format
      Src: /src/openssl/apps/ca.c:705,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:706,1
    - Dst: strlen
      Src: /src/openssl/apps/ca.c:710,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:716,1
    - Dst: isxdigit
      Src: /src/openssl/apps/ca.c:721,1
    - Dst: _UC
      Src: /src/openssl/apps/ca.c:721,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:722,1
    - Dst: TXT_DB_write
      Src: /src/openssl/apps/ca.c:730,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:731,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/ca.c:732,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:733,1
    - Dst: index_index
      Src: /src/openssl/apps/ca.c:736,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:743,1
    - Dst: do_updatedb
      Src: /src/openssl/apps/ca.c:745,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:747,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:751,1
    - Dst: save_index
      Src: /src/openssl/apps/ca.c:753,1
    - Dst: rotate_index
      Src: /src/openssl/apps/ca.c:756,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:760,1
    - Dst: app_load_config
      Src: /src/openssl/apps/ca.c:767,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:773,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:779,1
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/apps/ca.c:793,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:803,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:806,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:807,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:810,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:810,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:812,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:824,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:825,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:829,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:831,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:835,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:837,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/ca.c:840,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/ca.c:849,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/ca.c:850,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:851,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:852,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:864,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/ca.c:869,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/ca.c:870,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:871,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:872,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:883,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:885,1
    - Dst: app_conf_try_number
      Src: /src/openssl/apps/ca.c:887,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:891,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:895,1
    - Dst: BN_new
      Src: /src/openssl/apps/ca.c:899,1
    - Dst: rand_serial
      Src: /src/openssl/apps/ca.c:899,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:900,1
    - Dst: load_serial
      Src: /src/openssl/apps/ca.c:904,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:906,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/ca.c:910,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:911,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/ca.c:913,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:915,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:916,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/ca.c:921,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:922,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/ca.c:926,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:927,1
    - Dst: certify_spkac
      Src: /src/openssl/apps/ca.c:932,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/ca.c:935,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:941,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:942,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ca.c:944,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:945,1
    - Dst: certify_cert
      Src: /src/openssl/apps/ca.c:952,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/ca.c:956,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:962,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:963,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ca.c:965,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:966,1
    - Dst: certify
      Src: /src/openssl/apps/ca.c:973,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/ca.c:977,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:982,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:983,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ca.c:985,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:986,1
    - Dst: certify
      Src: /src/openssl/apps/ca.c:993,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/ca.c:998,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1003,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:1004,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1005,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ca.c:1008,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1009,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1010,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/ca.c:1020,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1022,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/ca.c:1025,1
    - Dst: fgets
      Src: /src/openssl/apps/ca.c:1027,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1028,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1033,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1039,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/ca.c:1040,1
    - Dst: save_serial
      Src: /src/openssl/apps/ca.c:1043,1
    - Dst: save_index
      Src: /src/openssl/apps/ca.c:1046,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/ca.c:1050,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:1052,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1056,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/ca.c:1058,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/ca.c:1060,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/ca.c:1061,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/ca.c:1062,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/ca.c:1063,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1068,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1089,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ca.c:1091,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ca.c:1096,1
    - Dst: perror
      Src: /src/openssl/apps/ca.c:1098,1
    - Dst: write_new_certificate
      Src: /src/openssl/apps/ca.c:1101,1
    - Dst: write_new_certificate
      Src: /src/openssl/apps/ca.c:1102,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1103,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1104,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/ca.c:1108,1
    - Dst: rotate_serial
      Src: /src/openssl/apps/ca.c:1111,1
    - Dst: rotate_index
      Src: /src/openssl/apps/ca.c:1114,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1117,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:1126,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/ca.c:1131,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/ca.c:1132,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:1133,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1134,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ca.c:1141,1
    - Dst: load_serial
      Src: /src/openssl/apps/ca.c:1143,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1145,1
    - Dst: app_conf_try_number
      Src: /src/openssl/apps/ca.c:1151,1
    - Dst: app_conf_try_number
      Src: /src/openssl/apps/ca.c:1154,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1160,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1166,1
    - Dst: X509_CRL_new_ex
      Src: /src/openssl/apps/ca.c:1167,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ca.c:1167,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ca.c:1167,1
    - Dst: X509_CRL_set_issuer_name
      Src: /src/openssl/apps/ca.c:1169,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:1169,1
    - Dst: set_crl_lastupdate
      Src: /src/openssl/apps/ca.c:1172,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1173,1
    - Dst: set_crl_nextupdate
      Src: /src/openssl/apps/ca.c:1178,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:1180,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/ca.c:1185,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/ca.c:1186,1
    - Dst: X509_REVOKED_new
      Src: /src/openssl/apps/ca.c:1188,1
    - Dst: make_revoked
      Src: /src/openssl/apps/ca.c:1190,1
    - Dst: BN_hex2bn
      Src: /src/openssl/apps/ca.c:1195,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/ca.c:1197,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:1198,1
    - Dst: X509_REVOKED_set_serialNumber
      Src: /src/openssl/apps/ca.c:1202,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ca.c:1203,1
    - Dst: X509_CRL_add0_revoked
      Src: /src/openssl/apps/ca.c:1204,1
    - Dst: X509_CRL_sort
      Src: /src/openssl/apps/ca.c:1211,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1215,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/ca.c:1222,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/ca.c:1223,1
    - Dst: X509V3_EXT_CRL_add_nconf
      Src: /src/openssl/apps/ca.c:1226,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1227,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/ca.c:1232,1
    - Dst: X509_CRL_add1_ext_i2d
      Src: /src/openssl/apps/ca.c:1235,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ca.c:1236,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ca.c:1238,1
    - Dst: X509_CRL_set_version
      Src: /src/openssl/apps/ca.c:1243,1
    - Dst: save_serial
      Src: /src/openssl/apps/ca.c:1249,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:1252,1
    - Dst: do_X509_CRL_sign
      Src: /src/openssl/apps/ca.c:1255,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ca.c:1258,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/ca.c:1263,1
    - Dst: rotate_serial
      Src: /src/openssl/apps/ca.c:1267,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1274,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/ca.c:1279,1
    - Dst: do_revoke
      Src: /src/openssl/apps/ca.c:1285,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1288,1
    - Dst: save_index
      Src: /src/openssl/apps/ca.c:1290,1
    - Dst: rotate_index
      Src: /src/openssl/apps/ca.c:1293,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1296,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ca.c:1303,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1304,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1305,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ca.c:1306,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ca.c:1307,1
    - Dst: cleanse
      Src: /src/openssl/apps/ca.c:1309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:1311,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:1312,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:1313,1
    - Dst: free_index
      Src: /src/openssl/apps/ca.c:1314,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/ca.c:1315,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/ca.c:1316,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ca.c:1317,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1318,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/ca.c:1319,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/ca.c:1320,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/ca.c:1321,1
    - Dst: release_engine
      Src: /src/openssl/apps/ca.c:1322,1
    CyclomaticComplexity: 382
    EdgeCount: 382
    ICount: 892
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 266
    functionDepth: 11
    functionLinenumber: 266
    functionLinenumberEnd: 1324
    functionName: ca_main
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 0
    functionsReached:
    - BN_hex2bn
    - X509V3_set_ctx
    - X509_CRL_set_issuer_name
    - opt_rand
    - save_index
    - OPENSSL_strlcpy
    - save_serial
    - X509_CRL_new_ex
    - strcmp
    - load_serial
    - BN_to_ASN1_INTEGER
    - make_revoked
    - cleanse
    - BN_bn2hex
    - ASN1_STRING_set_default_mask_asc
    - app_get0_propq
    - EVP_PKEY_free
    - X509_check_private_key
    - rotate_serial
    - setup_engine
    - X509_CRL_sort
    - do_updatedb
    - app_load_config_verbose
    - certify_spkac
    - bio_open_default
    - X509_get_subject_name
    - app_passwd
    - check_time_format
    - rotate_index
    - BN_add_word
    - release_engine
    - sk_OPENSSL_STRING_push
    - fgets
    - OPENSSL_strlcat
    - X509_CRL_add0_revoked
    - BN_is_zero
    - OPENSSL_free
    - ASN1_INTEGER_free
    - NCONF_free
    - lookup_conf
    - set_nameopt
    - sk_X509_num
    - app_RAND_load_conf
    - ERR_clear_error
    - sk_X509_value
    - X509V3_set_nconf
    - set_ext_copy
    - _UC
    - OSSL_STACK_OF_X509_free
    - BN_new
    - opt_rest
    - TXT_DB_write
    - BIO_new_file
    - load_key
    - BIO_puts
    - free_index
    - set_dateopt
    - get_certificate_status
    - do_revoke
    - set_crl_lastupdate
    - app_isdir
    - opt_next
    - opt_format
    - OBJ_create_objects
    - X509V3_EXT_add_nconf
    - app_get0_libctx
    - PEM_write_bio_X509_CRL
    - ERR_print_errors
    - certify_cert
    - atoi
    - ASN1_STRING_length
    - load_index
    - X509_CRL_free
    - strlen
    - app_RAND_load
    - add_oid_section
    - BIO_free_all
    - sk_OPENSSL_PSTRING_value
    - atol
    - BN_free
    - X509_REVOKED_new
    - BIO_printf
    - opt_provider
    - isxdigit
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - index_index
    - opt_arg
    - opt_help
    - opt_init
    - app_load_config
    - X509V3_set_ctx_test
    - app_load_modules
    - set_crl_nextupdate
    - X509_CRL_add1_ext_i2d
    - certify
    - X509V3_EXT_CRL_add_nconf
    - ASN1_STRING_get0_data
    - parse_yesno
    - set_cert_ex
    - NCONF_get_section
    - X509_free
    - write_new_certificate
    - load_cert_pass
    - X509_get0_serialNumber
    - BIO_flush
    - sk_X509_push
    - X509_REVOKED_set_serialNumber
    - app_conf_try_number
    - do_X509_CRL_sign
    - EVP_PKEY_get_default_digest_name
    - perror
    - sk_OPENSSL_PSTRING_num
    - get_nameopt
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - NCONF_get_string
    - rand_serial
    - app_conf_try_string
    - opt_num_rest
    - X509_CRL_set_version
    - sk_X509_new_null
    linkageType: ''
    returnType: int
    signature: int ca_main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/ca.c:1328,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - conf
    - section
    - tag
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1332
    functionName: lookup_conf
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - NCONF_get_string
    - BIO_printf
    linkageType: ''
    returnType: char
    signature: char *lookup_conf(const CONF *conf, const char *section, const char
      *tag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load_csr_autofmt
      Src: /src/openssl/apps/ca.c:1351,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/ca.c:1354,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1355,1
    - Dst: X509_REQ_print_ex
      Src: /src/openssl/apps/ca.c:1359,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1361,1
    - Dst: X509_REQ_check_private_key
      Src: /src/openssl/apps/ca.c:1364,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1365,1
    - Dst: do_X509_REQ_verify
      Src: /src/openssl/apps/ca.c:1369,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1371,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1375,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1379,1
    - Dst: do_body
      Src: /src/openssl/apps/ca.c:1381,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ca.c:1387,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/ca.c:1388,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 28
    argNames:
    - xret
    - infile
    - informat
    - pkey
    - x509
    - dgst
    - sigopts
    - vfyopts
    - policy
    - db
    - serial
    - subj
    - chtype
    - multirdn
    - email_dn
    - startdate
    - enddate
    - days
    - batch
    - ext_sect
    - lconf
    - verbose
    - certopt
    - nameopt
    - default_op
    - ext_copy
    - selfsign
    - dateopt
    argTypes:
    - X509**
    - char*
    - int
    - EVP_PKEY*
    - X509*
    - char*
    - STACK_OF*
    - STACK_OF*
    - STACK_OF*
    - CA_DB*
    - BIGNUM*
    - char*
    - unsigned long
    - int
    - int
    - char*
    - char*
    - long
    - int
    - char*
    - CONF*
    - int
    - unsigned long
    - unsigned long
    - int
    - int
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1334
    functionDepth: 6
    functionLinenumber: 1334
    functionLinenumberEnd: 1390
    functionName: certify
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - X509_REQ_free
    - X509_REQ_check_private_key
    - load_csr_autofmt
    - do_X509_REQ_verify
    - ERR_print_errors
    - X509_REQ_get0_pubkey
    - do_body
    - X509_REQ_print_ex
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int certify(X509 **xret, const char *infile, int informat,\n                   EVP_PKEY
      *pkey, X509 *x509,\n                   const char *dgst,\n                   STACK_OF(OPENSSL_STRING)
      *sigopts,\n                   STACK_OF(OPENSSL_STRING) *vfyopts,\n                   STACK_OF(CONF_VALUE)
      *policy, CA_DB *db,\n                   BIGNUM *serial, const char *subj, unsigned
      long chtype,\n                   int multirdn, int email_dn, const char *startdate,\n
      \                  const char *enddate,\n                   long days, int batch,
      const char *ext_sect, CONF *lconf,\n                   int verbose, unsigned
      long certopt, unsigned long nameopt,\n                   int default_op, int
      ext_copy, int selfsign, unsigned long dateopt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_pass
      Src: /src/openssl/apps/ca.c:1409,1
    - Dst: X509_print
      Src: /src/openssl/apps/ca.c:1413,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1415,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/ca.c:1417,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1418,1
    - Dst: do_X509_verify
      Src: /src/openssl/apps/ca.c:1421,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1424,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1429,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1432,1
    - Dst: X509_to_X509_REQ
      Src: /src/openssl/apps/ca.c:1435,1
    - Dst: do_body
      Src: /src/openssl/apps/ca.c:1438,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/ca.c:1444,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1445,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 28
    argNames:
    - xret
    - infile
    - certformat
    - passin
    - pkey
    - x509
    - dgst
    - sigopts
    - vfyopts
    - policy
    - db
    - serial
    - subj
    - chtype
    - multirdn
    - email_dn
    - startdate
    - enddate
    - days
    - batch
    - ext_sect
    - lconf
    - verbose
    - certopt
    - nameopt
    - default_op
    - ext_copy
    - dateopt
    argTypes:
    - X509**
    - char*
    - int
    - char*
    - EVP_PKEY*
    - X509*
    - char*
    - STACK_OF*
    - STACK_OF*
    - STACK_OF*
    - CA_DB*
    - BIGNUM*
    - char*
    - unsigned long
    - int
    - int
    - char*
    - char*
    - long
    - int
    - char*
    - CONF*
    - int
    - unsigned long
    - unsigned long
    - int
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1392
    functionDepth: 3
    functionLinenumber: 1392
    functionLinenumberEnd: 1447
    functionName: certify_cert
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - X509_REQ_free
    - X509_print
    - X509_get0_pubkey
    - X509_to_X509_REQ
    - do_X509_verify
    - X509_free
    - do_body
    - load_cert_pass
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int certify_cert(X509 **xret, const char *infile, int certformat,\n
      \                       const char *passin, EVP_PKEY *pkey, X509 *x509,\n                        const
      char *dgst,\n                        STACK_OF(OPENSSL_STRING) *sigopts,\n                        STACK_OF(OPENSSL_STRING)
      *vfyopts,\n                        STACK_OF(CONF_VALUE) *policy, CA_DB *db,\n
      \                       BIGNUM *serial, const char *subj, unsigned long chtype,\n
      \                       int multirdn, int email_dn, const char *startdate,\n
      \                       const char *enddate, long days, int batch, const char
      *ext_sect,\n                        CONF *lconf, int verbose, unsigned long
      certopt,\n                        unsigned long nameopt, int default_op, int
      ext_copy, unsigned long dateopt)"
  - BBCount: 91
    BranchProfiles: []
    Callsites:
    - Dst: parse_name
      Src: /src/openssl/apps/ca.c:1479,1
    - Dst: X509_REQ_set_subject_name
      Src: /src/openssl/apps/ca.c:1483,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1484,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1488,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/ca.c:1490,1
    - Dst: X509_NAME_entry_count
      Src: /src/openssl/apps/ca.c:1491,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/apps/ca.c:1492,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/apps/ca.c:1493,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/openssl/apps/ca.c:1494,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/ca.c:1495,1
    - Dst: ASN1_UNIVERSALSTRING_to_string
      Src: /src/openssl/apps/ca.c:1501,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1517,1
    - Dst: ASN1_PRINTABLE_type
      Src: /src/openssl/apps/ca.c:1522,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1526,1
    - Dst: old_entry_print
      Src: /src/openssl/apps/ca.c:1533,1
    - Dst: X509_NAME_new
      Src: /src/openssl/apps/ca.c:1537,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1538,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/apps/ca.c:1544,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/apps/ca.c:1546,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:1546,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/ca.c:1551,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/ca.c:1552,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/ca.c:1553,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1554,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/ca.c:1559,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/openssl/apps/ca.c:1566,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/apps/ca.c:1572,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:1577,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:1580,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1582,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:1589,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1593,1
    - Dst: X509_NAME_get_index_by_OBJ
      Src: /src/openssl/apps/ca.c:1602,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1604,1
    - Dst: X509_NAME_get_entry
      Src: /src/openssl/apps/ca.c:1610,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/apps/ca.c:1611,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/openssl/apps/ca.c:1612,1
    - Dst: ASN1_STRING_cmp
      Src: /src/openssl/apps/ca.c:1614,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1618,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1627,1
    - Dst: X509_NAME_add_entry
      Src: /src/openssl/apps/ca.c:1634,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1635,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1645,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/apps/ca.c:1647,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1654,1
    - Dst: X509_new_ex
      Src: /src/openssl/apps/ca.c:1657,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ca.c:1657,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ca.c:1657,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/ca.c:1660,1
    - Dst: X509_get_serialNumber
      Src: /src/openssl/apps/ca.c:1660,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/ca.c:1663,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/ca.c:1666,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:1666,1
    - Dst: set_cert_times
      Src: /src/openssl/apps/ca.c:1670,1
    - Dst: ASN1_TIME_diff
      Src: /src/openssl/apps/ca.c:1676,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/ca.c:1676,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/apps/ca.c:1681,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/ca.c:1684,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/apps/ca.c:1685,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/ca.c:1690,1
    - Dst: X509V3_set_issuer_pkey
      Src: /src/openssl/apps/ca.c:1695,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/ca.c:1697,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1698,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1706,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/ca.c:1709,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:1712,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1713,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1719,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/ca.c:1723,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/ca.c:1725,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1726,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1733,1
    - Dst: copy_extensions
      Src: /src/openssl/apps/ca.c:1740,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1741,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1746,1
    - Dst: X509_NAME_dup
      Src: /src/openssl/apps/ca.c:1758,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1759,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/openssl/apps/ca.c:1763,1
    - Dst: X509_NAME_delete_entry
      Src: /src/openssl/apps/ca.c:1766,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/apps/ca.c:1767,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/apps/ca.c:1770,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1771,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1774,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/apps/ca.c:1777,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:1777,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1779,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/ca.c:1783,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:1784,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/ca.c:1786,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1788,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:1798,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:1799,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1801,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ca.c:1809,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1811,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ca.c:1817,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1819,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1822,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1828,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1837,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1842,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1847,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1851,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1855,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1859,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1865,1
    - Dst: X509_print_ex
      Src: /src/openssl/apps/ca.c:1870,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1873,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/ca.c:1874,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/ca.c:1874,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1876,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1877,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1881,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/ca.c:1882,1
    - Dst: fgets
      Src: /src/openssl/apps/ca.c:1884,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1885,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1891,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/ca.c:1897,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/apps/ca.c:1898,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/apps/ca.c:1899,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/apps/ca.c:1900,1
    - Dst: do_X509_sign
      Src: /src/openssl/apps/ca.c:1902,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:1906,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/ca.c:1907,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:1908,1
    - Dst: memcpy
      Src: /src/openssl/apps/ca.c:1909,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:1912,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1915,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:1919,1
    - Dst: TXT_DB_insert
      Src: /src/openssl/apps/ca.c:1924,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1925,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1926,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:1934,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:1936,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1938,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/ca.c:1939,1
    - Dst: X509_free
      Src: /src/openssl/apps/ca.c:1941,1
    CyclomaticComplexity: 150
    EdgeCount: 150
    ICount: 373
    argCount: 26
    argNames:
    - xret
    - pkey
    - x509
    - dgst
    - sigopts
    - policy
    - db
    - serial
    - subj
    - chtype
    - multirdn
    - email_dn
    - startdate
    - enddate
    - days
    - batch
    - verbose
    - req
    - ext_sect
    - lconf
    - certopt
    - nameopt
    - default_op
    - ext_copy
    - selfsign
    - dateopt
    argTypes:
    - X509**
    - EVP_PKEY*
    - X509*
    - char*
    - STACK_OF*
    - STACK_OF*
    - CA_DB*
    - BIGNUM*
    - char*
    - unsigned long
    - int
    - int
    - char*
    - char*
    - long
    - int
    - int
    - X509_REQ*
    - char*
    - CONF*
    - unsigned long
    - unsigned long
    - int
    - int
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1449
    functionDepth: 8
    functionLinenumber: 1449
    functionLinenumberEnd: 1945
    functionName: do_body
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 2
    functionsReached:
    - X509_NAME_ENTRY_get_object
    - X509_NAME_get_index_by_NID
    - X509V3_set_ctx
    - do_X509_sign
    - fgets
    - X509_NAME_add_entry
    - ASN1_STRING_cmp
    - memcpy
    - BN_is_zero
    - X509_free
    - OPENSSL_free
    - set_cert_times
    - X509_NAME_entry_count
    - X509_new_ex
    - X509_get0_notAfter
    - OBJ_txt2nid
    - strcmp
    - BN_to_ASN1_INTEGER
    - X509_NAME_free
    - X509_REQ_get0_pubkey
    - EVP_PKEY_copy_parameters
    - app_malloc
    - X509_print_ex
    - X509_NAME_delete_entry
    - BN_bn2hex
    - EVP_PKEY_missing_parameters
    - X509V3_set_nconf
    - BIO_flush
    - TXT_DB_insert
    - app_get0_propq
    - X509_get_serialNumber
    - X509_set_issuer_name
    - OPENSSL_strdup
    - X509_NAME_dup
    - OBJ_nid2obj
    - X509_NAME_oneline
    - X509_NAME_get_entry
    - OBJ_obj2nid
    - X509_NAME_new
    - BIO_printf
    - X509_REQ_set_subject_name
    - X509_set_subject_name
    - TXT_DB_get_by_index
    - X509_NAME_get_index_by_OBJ
    - ASN1_TIME_print_ex
    - old_entry_print
    - X509V3_set_issuer_pkey
    - copy_extensions
    - X509_NAME_ENTRY_free
    - X509_set_pubkey
    - sk_CONF_VALUE_value
    - ASN1_PRINTABLE_type
    - ASN1_TIME_diff
    - X509_REQ_get_subject_name
    - cert_matches_key
    - X509_get0_pubkey
    - X509_get_subject_name
    - sk_CONF_VALUE_num
    - X509V3_EXT_add_nconf
    - app_get0_libctx
    - ASN1_UNIVERSALSTRING_to_string
    - parse_name
    - X509_NAME_ENTRY_get_data
    linkageType: ''
    returnType: int
    signature: "int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509,\n                   const
      char *dgst, STACK_OF(OPENSSL_STRING) *sigopts,\n                   STACK_OF(CONF_VALUE)
      *policy, CA_DB *db, BIGNUM *serial,\n                   const char *subj, unsigned
      long chtype, int multirdn,\n                   int email_dn, const char *startdate,
      const char *enddate, long days,\n                   int batch, int verbose,
      X509_REQ *req, const char *ext_sect,\n                   CONF *lconf, unsigned
      long certopt, unsigned long nameopt,\n                   int default_op, int
      ext_copy, int selfsign, unsigned long dateopt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/ca.c:1951,1
    - Dst: X509_print
      Src: /src/openssl/apps/ca.c:1955,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/ca.c:1956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - bp
    - x
    - output_der
    - notext
    argTypes:
    - BIO*
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1947
    functionDepth: 2
    functionLinenumber: 1947
    functionLinenumberEnd: 1957
    functionName: write_new_certificate
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - i2d_X509_bio
    - X509_print
    - PEM_write_bio_X509
    linkageType: ''
    returnType: void
    signature: void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ca.c:1969,1
    - Dst: LHASH_OF
      Src: /src/openssl/apps/ca.c:1970,1
    - Dst: CONF_load
      Src: /src/openssl/apps/ca.c:1987,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1989,1
    - Dst: CONF_get_section
      Src: /src/openssl/apps/ca.c:1993,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/ca.c:1994,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:1995,1
    - Dst: X509_REQ_new
      Src: /src/openssl/apps/ca.c:2006,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/ca.c:2013,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/ca.c:2016,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/ca.c:2019,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/ca.c:2033,1
    - Dst: strcmp
      Src: /src/openssl/apps/ca.c:2034,1
    - Dst: NETSCAPE_SPKI_b64_decode
      Src: /src/openssl/apps/ca.c:2035,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2037,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/apps/ca.c:2045,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2050,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2059,1
    - Dst: NETSCAPE_SPKI_get_pubkey
      Src: /src/openssl/apps/ca.c:2061,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2062,1
    - Dst: NETSCAPE_SPKI_verify
      Src: /src/openssl/apps/ca.c:2066,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ca.c:2068,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2069,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2073,1
    - Dst: X509_REQ_set_pubkey
      Src: /src/openssl/apps/ca.c:2075,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ca.c:2076,1
    - Dst: do_body
      Src: /src/openssl/apps/ca.c:2077,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/ca.c:2082,1
    - Dst: CONF_free
      Src: /src/openssl/apps/ca.c:2083,1
    - Dst: NETSCAPE_SPKI_free
      Src: /src/openssl/apps/ca.c:2084,1
    - Dst: X509_NAME_ENTRY_free
      Src: /src/openssl/apps/ca.c:2085,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 24
    argNames:
    - xret
    - infile
    - pkey
    - x509
    - dgst
    - sigopts
    - policy
    - db
    - serial
    - subj
    - chtype
    - multirdn
    - email_dn
    - startdate
    - enddate
    - days
    - ext_sect
    - lconf
    - verbose
    - certopt
    - nameopt
    - default_op
    - ext_copy
    - dateopt
    argTypes:
    - X509**
    - char*
    - EVP_PKEY*
    - X509*
    - char*
    - STACK_OF*
    - STACK_OF*
    - CA_DB*
    - BIGNUM*
    - char*
    - unsigned long
    - int
    - int
    - char*
    - char*
    - long
    - char*
    - CONF*
    - int
    - unsigned long
    - unsigned long
    - int
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 1959
    functionDepth: 9
    functionLinenumber: 1959
    functionLinenumberEnd: 2088
    functionName: certify_spkac
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - X509_REQ_new
    - NETSCAPE_SPKI_b64_decode
    - NETSCAPE_SPKI_verify
    - OBJ_txt2nid
    - strcmp
    - do_body
    - CONF_load
    - NETSCAPE_SPKI_free
    - LHASH_OF
    - EVP_PKEY_free
    - NETSCAPE_SPKI_get_pubkey
    - BIO_printf
    - STACK_OF
    - X509_NAME_ENTRY_free
    - X509_NAME_add_entry_by_NID
    - CONF_free
    - sk_CONF_VALUE_value
    - X509_REQ_free
    - X509_REQ_set_pubkey
    - X509_REQ_get_subject_name
    - sk_CONF_VALUE_num
    - CONF_get_section
    linkageType: ''
    returnType: int
    signature: "int certify_spkac(X509 **xret, const char *infile, EVP_PKEY *pkey,\n
      \                        X509 *x509, const char *dgst,\n                         STACK_OF(OPENSSL_STRING)
      *sigopts,\n                         STACK_OF(CONF_VALUE) *policy, CA_DB *db,\n
      \                        BIGNUM *serial, const char *subj, unsigned long chtype,\n
      \                        int multirdn, int email_dn, const char *startdate,\n
      \                        const char *enddate, long days, const char *ext_sect,\n
      \                        CONF *lconf, int verbose, unsigned long certopt,\n
      \                        unsigned long nameopt, int default_op, int ext_copy,
      unsigned long dateopt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/apps/ca.c:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2090
    functionDepth: 2
    functionLinenumber: 2090
    functionLinenumberEnd: 2093
    functionName: check_time_format
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - ASN1_TIME_set_string
    linkageType: ''
    returnType: int
    signature: int check_time_format(const char *str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/openssl/apps/ca.c:2106,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ca.c:2106,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/apps/ca.c:2107,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/ca.c:2107,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/ca.c:2110,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2111,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/ca.c:2113,1
    - Dst: BN_free
      Src: /src/openssl/apps/ca.c:2114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2117,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2118,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2121,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ca.c:2128,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2130,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2135,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/ca.c:2136,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:2137,1
    - Dst: memcpy
      Src: /src/openssl/apps/ca.c:2138,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2141,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2144,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:2148,1
    - Dst: TXT_DB_insert
      Src: /src/openssl/apps/ca.c:2153,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2154,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2156,1
    - Dst: do_revoke
      Src: /src/openssl/apps/ca.c:2168,1
    - Dst: index_name_cmp_noconst
      Src: /src/openssl/apps/ca.c:2172,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2173,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2176,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2180,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2184,1
    - Dst: make_revocation_str
      Src: /src/openssl/apps/ca.c:2185,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2187,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2197,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 4
    argNames:
    - x509
    - db
    - rev_type
    - value
    argTypes:
    - X509*
    - CA_DB*
    - REVINFO_TYPE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2095
    functionDepth: 7
    functionLinenumber: 2095
    functionLinenumberEnd: 2199
    functionName: do_revoke
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 2
    functionsReached:
    - make_revocation_str
    - BN_bn2hex
    - memcpy
    - X509_get_subject_name
    - X509_get0_serialNumber
    - BN_is_zero
    - TXT_DB_insert
    - ASN1_INTEGER_to_BN
    - OPENSSL_free
    - OPENSSL_strdup
    - X509_get0_notAfter
    - X509_NAME_oneline
    - index_name_cmp_noconst
    - do_revoke
    - BN_free
    - TXT_DB_get_by_index
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: "int do_revoke(X509 *x509, CA_DB *db, REVINFO_TYPE rev_type,\n                     const
      char *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/ca.c:2205,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:2212,1
    - Dst: memcpy
      Src: /src/openssl/apps/ca.c:2221,1
    - Dst: memcpy
      Src: /src/openssl/apps/ca.c:2225,1
    - Dst: make_uppercase
      Src: /src/openssl/apps/ca.c:2230,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ca.c:2235,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2237,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2241,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2245,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2249,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2253,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2257,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2263,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - serial
    - db
    argTypes:
    - char*
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2201
    functionDepth: 2
    functionLinenumber: 2201
    functionLinenumberEnd: 2266
    functionName: get_certificate_status
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - memcpy
    - OPENSSL_free
    - make_uppercase
    - strlen
    - TXT_DB_get_by_index
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int get_certificate_status(const char *serial, CA_DB *db)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/openssl/apps/ca.c:2274,1
    - Dst: X509_time_adj
      Src: /src/openssl/apps/ca.c:2279,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2280,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/ca.c:2284,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/ca.c:2285,1
    - Dst: ASN1_TIME_new
      Src: /src/openssl/apps/ca.c:2291,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2293,1
    - Dst: ASN1_TIME_set_string
      Src: /src/openssl/apps/ca.c:2297,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2298,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2299,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/apps/ca.c:2303,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2308,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2310,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - db
    - now
    argTypes:
    - CA_DB*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 2268
    functionDepth: 6
    functionLinenumber: 2268
    functionLinenumberEnd: 2316
    functionName: do_updatedb
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 3
    functionsReached:
    - ASN1_TIME_compare
    - sk_OPENSSL_PSTRING_num
    - ASN1_TIME_free
    - ASN1_TIME_set_string
    - sk_OPENSSL_PSTRING_value
    - ASN1_TIME_new
    - X509_time_adj
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int do_updatedb(CA_DB *db, time_t *now)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/ca.c:2358,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2364,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/ca.c:2371,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/ca.c:2372,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2375,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/apps/ca.c:2386,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2387,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/apps/ca.c:2401,1
    - Dst: strlen
      Src: /src/openssl/apps/ca.c:2409,1
    - Dst: strlen
      Src: /src/openssl/apps/ca.c:2411,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ca.c:2413,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/ca.c:2414,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:2416,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:2417,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:2420,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/ca.c:2421,1
    - Dst: ASN1_UTCTIME_free
      Src: /src/openssl/apps/ca.c:2423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 2
    argNames:
    - rev_type
    - rev_arg
    argTypes:
    - REVINFO_TYPE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2343
    functionDepth: 7
    functionLinenumber: 2343
    functionLinenumberEnd: 2425
    functionName: make_revocation_str
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - ASN1_GENERALIZEDTIME_set_string
    - OPENSSL_strcasecmp
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - app_malloc
    - OBJ_txt2obj
    - strlen
    - X509_gmtime_adj
    - ASN1_UTCTIME_free
    - BIO_printf
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: char
    signature: char *make_revocation_str(REVINFO_TYPE rev_type, const char *rev_arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: unpack_revinfo
      Src: /src/openssl/apps/ca.c:2446,1
    - Dst: X509_REVOKED_set_revocationDate
      Src: /src/openssl/apps/ca.c:2451,1
    - Dst: ASN1_ENUMERATED_new
      Src: /src/openssl/apps/ca.c:2455,1
    - Dst: ASN1_ENUMERATED_set
      Src: /src/openssl/apps/ca.c:2456,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/openssl/apps/ca.c:2458,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/openssl/apps/ca.c:2463,1
    - Dst: X509_REVOKED_add1_ext_i2d
      Src: /src/openssl/apps/ca.c:2468,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2480,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/ca.c:2481,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/apps/ca.c:2482,1
    - Dst: ASN1_ENUMERATED_free
      Src: /src/openssl/apps/ca.c:2483,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/ca.c:2484,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 2
    argNames:
    - rev
    - str
    argTypes:
    - X509_REVOKED*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2435
    functionDepth: 4
    functionLinenumber: 2435
    functionLinenumberEnd: 2487
    functionName: make_revoked
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - X509_REVOKED_add1_ext_i2d
    - ASN1_TIME_free
    - X509_REVOKED_set_revocationDate
    - ASN1_ENUMERATED_new
    - unpack_revinfo
    - OPENSSL_free
    - ASN1_GENERALIZEDTIME_free
    - ASN1_ENUMERATED_free
    - ASN1_ENUMERATED_set
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int make_revoked(X509_REVOKED *rev, const char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/ca.c:2495,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ca.c:2501,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2504,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2506,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2508,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2510,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2512,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2517,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2519,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2521,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2523,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - obj
    - str
    argTypes:
    - ASN1_OBJECT*
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2489
    functionDepth: 5
    functionLinenumber: 2489
    functionLinenumberEnd: 2528
    functionName: old_entry_print
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - i2a_ASN1_OBJECT
    - BIO_puts
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int old_entry_print(const ASN1_OBJECT *obj, const ASN1_STRING *str)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ca.c:2541,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2543,1
    - Dst: strchr
      Src: /src/openssl/apps/ca.c:2547,1
    - Dst: strchr
      Src: /src/openssl/apps/ca.c:2555,1
    - Dst: ASN1_UTCTIME_new
      Src: /src/openssl/apps/ca.c:2563,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2565,1
    - Dst: ASN1_UTCTIME_set_string
      Src: /src/openssl/apps/ca.c:2568,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2569,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/ca.c:2575,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2581,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2589,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/ca.c:2593,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2596,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/ca.c:2602,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2605,1
    - Dst: ASN1_GENERALIZEDTIME_new
      Src: /src/openssl/apps/ca.c:2608,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2610,1
    - Dst: ASN1_GENERALIZEDTIME_set_string
      Src: /src/openssl/apps/ca.c:2613,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ca.c:2614,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ca.c:2635,1
    - Dst: ASN1_GENERALIZEDTIME_free
      Src: /src/openssl/apps/ca.c:2636,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    argCount: 5
    argNames:
    - prevtm
    - preason
    - phold
    - pinvtm
    - str
    argTypes:
    - ASN1_TIME**
    - int*
    - ASN1_OBJECT**
    - ASN1_GENERALIZEDTIME**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2530
    functionDepth: 7
    functionLinenumber: 2530
    functionLinenumberEnd: 2639
    functionName: unpack_revinfo
    functionSourceFile: /src/openssl/apps/ca.c
    functionUses: 1
    functionsReached:
    - strchr
    - ASN1_GENERALIZEDTIME_new
    - ASN1_GENERALIZEDTIME_set_string
    - OPENSSL_strcasecmp
    - ASN1_UTCTIME_set_string
    - OPENSSL_free
    - ASN1_GENERALIZEDTIME_free
    - OPENSSL_strdup
    - OBJ_txt2obj
    - ASN1_UTCTIME_new
    - BIO_printf
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: "int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold,\n
      \                  ASN1_GENERALIZEDTIME **pinvtm, const char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/x509.c:195,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/x509.c:195,1
    - Dst: strstr
      Src: /src/openssl/apps/x509.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - excluded
    - names
    argTypes:
    - ASN1_OBJECT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 6
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: warn_copying
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - OBJ_obj2nid
    - BIO_printf
    - strstr
    linkageType: ''
    returnType: void
    signature: void warn_copying(ASN1_OBJECT *excluded, const char *names)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_extensions
      Src: /src/openssl/apps/x509.c:205,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/x509.c:206,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/x509.c:207,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/x509.c:208,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:209,1
    - Dst: X509_to_X509_REQ
      Src: /src/openssl/apps/x509.c:210,1
    - Dst: warn_copying
      Src: /src/openssl/apps/x509.c:219,1
    - Dst: warn_copying
      Src: /src/openssl/apps/x509.c:220,1
    - Dst: sk_X509_EXTENSION_new_reserve
      Src: /src/openssl/apps/x509.c:221,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/apps/x509.c:224,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/x509.c:225,1
    - Dst: OBJ_cmp
      Src: /src/openssl/apps/x509.c:227,1
    - Dst: OBJ_cmp
      Src: /src/openssl/apps/x509.c:227,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/openssl/apps/x509.c:228,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/x509.c:232,1
    - Dst: X509_REQ_add_extensions
      Src: /src/openssl/apps/x509.c:234,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:235,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/apps/x509.c:239,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/apps/x509.c:243,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/x509.c:244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - cert
    - ext_copy
    - names
    argTypes:
    - X509*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 203
    functionDepth: 7
    functionLinenumber: 203
    functionLinenumberEnd: 246
    functionName: x509_to_req
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - sk_X509_EXTENSION_value
    - sk_X509_EXTENSION_new_reserve
    - X509_REQ_free
    - warn_copying
    - X509_get0_extensions
    - X509_to_X509_REQ
    - sk_X509_EXTENSION_free
    - X509_EXTENSION_get_object
    - sk_X509_EXTENSION_num
    - STACK_OF
    - OBJ_cmp
    - sk_X509_EXTENSION_push
    - OBJ_nid2obj
    - X509_REQ_add_extensions
    - BIO_printf
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *x509_to_req(X509 *cert, int ext_copy, const char *names)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/apps/x509.c:250,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/x509.c:253,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:254,1
    - Dst: X509_STORE_CTX_set_flags
      Src: /src/openssl/apps/x509.c:256,1
    - Dst: X509_verify_cert
      Src: /src/openssl/apps/x509.c:257,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/x509.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - cert
    argTypes:
    - X509_STORE*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: self_signed
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 7
    functionsReached:
    - X509_STORE_CTX_new
    - X509_STORE_CTX_free
    - X509_STORE_CTX_set_flags
    - X509_verify_cert
    - BIO_printf
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int self_signed(X509_STORE *ctx, X509 *cert)
  - BBCount: 246
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:278,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:279,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:285,1
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/x509.c:311,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/x509.c:314,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/x509.c:316,1
    - Dst: opt_init
      Src: /src/openssl/apps/x509.c:317,1
    - Dst: opt_next
      Src: /src/openssl/apps/x509.c:318,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:323,1
    - Dst: opt_help
      Src: /src/openssl/apps/x509.c:326,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:330,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:330,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:334,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:337,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:337,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:341,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:341,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:345,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:345,1
    - Dst: opt_format
      Src: /src/openssl/apps/x509.c:349,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:349,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:353,1
    - Dst: set_dateopt
      Src: /src/openssl/apps/x509.c:360,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:360,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:361,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:362,1
    - Dst: set_ext_copy
      Src: /src/openssl/apps/x509.c:367,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:367,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:368,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:369,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/x509.c:376,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/x509.c:377,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:377,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/x509.c:382,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/x509.c:383,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:383,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:387,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:390,1
    - Dst: atoi
      Src: /src/openssl/apps/x509.c:393,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:393,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:395,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:401,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:404,1
    - Dst: opt_rand
      Src: /src/openssl/apps/x509.c:407,1
    - Dst: opt_provider
      Src: /src/openssl/apps/x509.c:411,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:415,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:419,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:422,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:425,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:428,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:432,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:435,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:435,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:442,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:445,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:448,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/apps/x509.c:451,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/x509.c:453,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:453,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:454,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:455,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/apps/x509.c:458,1
    - Dst: sk_ASN1_OBJECT_new_null
      Src: /src/openssl/apps/x509.c:463,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/x509.c:465,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:465,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:466,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:467,1
    - Dst: sk_ASN1_OBJECT_push
      Src: /src/openssl/apps/x509.c:470,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:475,1
    - Dst: set_cert_ex
      Src: /src/openssl/apps/x509.c:479,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:479,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/x509.c:483,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:483,1
    - Dst: setup_engine
      Src: /src/openssl/apps/x509.c:487,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:487,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:545,1
    - Dst: opt_intmax
      Src: /src/openssl/apps/x509.c:594,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:594,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:598,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:599,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:605,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:608,1
    - Dst: opt_arg
      Src: /src/openssl/apps/x509.c:611,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/x509.c:617,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/x509.c:622,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/x509.c:625,1
    - Dst: opt_check_md
      Src: /src/openssl/apps/x509.c:628,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:632,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:636,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:640,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:646,1
    - Dst: app_passwd
      Src: /src/openssl/apps/x509.c:648,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:649,1
    - Dst: X509_STORE_set_default_paths_ex
      Src: /src/openssl/apps/x509.c:653,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/x509.c:653,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/x509.c:654,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:658,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:662,1
    - Dst: load_key
      Src: /src/openssl/apps/x509.c:666,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/x509.c:671,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:678,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:683,1
    - Dst: parse_name
      Src: /src/openssl/apps/x509.c:689,1
    - Dst: parse_name
      Src: /src/openssl/apps/x509.c:692,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:699,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:706,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:708,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:710,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:712,1
    - Dst: WARN_NO_CA
      Src: /src/openssl/apps/x509.c:714,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:719,1
    - Dst: app_load_config
      Src: /src/openssl/apps/x509.c:724,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/x509.c:727,1
    - Dst: X509V3_set_ctx_test
      Src: /src/openssl/apps/x509.c:731,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/x509.c:732,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/x509.c:733,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:734,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:741,1
    - Dst: isatty
      Src: /src/openssl/apps/x509.c:746,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/x509.c:746,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:747,1
    - Dst: load_csr_autofmt
      Src: /src/openssl/apps/x509.c:749,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/x509.c:754,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:755,1
    - Dst: do_X509_REQ_verify
      Src: /src/openssl/apps/x509.c:758,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:760,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:765,1
    - Dst: print_name
      Src: /src/openssl/apps/x509.c:767,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/x509.c:767,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:769,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:774,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:778,1
    - Dst: X509_new_ex
      Src: /src/openssl/apps/x509.c:782,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/x509.c:782,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/x509.c:782,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/apps/x509.c:785,1
    - Dst: rand_serial
      Src: /src/openssl/apps/x509.c:786,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:791,1
    - Dst: copy_extensions
      Src: /src/openssl/apps/x509.c:793,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:794,1
    - Dst: isatty
      Src: /src/openssl/apps/x509.c:799,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/x509.c:799,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:800,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/x509.c:803,1
    - Dst: load_certs
      Src: /src/openssl/apps/x509.c:806,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/x509.c:808,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/x509.c:811,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/x509.c:817,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/x509.c:823,1
    - Dst: X509_set_subject_name
      Src: /src/openssl/apps/x509.c:826,1
    - Dst: X509_REQ_get_subject_name
      Src: /src/openssl/apps/x509.c:827,1
    - Dst: X509_set_pubkey
      Src: /src/openssl/apps/x509.c:830,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/x509.c:832,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/x509.c:836,1
    - Dst: X509_alias_set1
      Src: /src/openssl/apps/x509.c:842,1
    - Dst: X509_trust_clear
      Src: /src/openssl/apps/x509.c:845,1
    - Dst: X509_reject_clear
      Src: /src/openssl/apps/x509.c:847,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/apps/x509.c:850,1
    - Dst: X509_add1_trust_object
      Src: /src/openssl/apps/x509.c:851,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/apps/x509.c:851,1
    - Dst: sk_ASN1_OBJECT_num
      Src: /src/openssl/apps/x509.c:855,1
    - Dst: X509_add1_reject_object
      Src: /src/openssl/apps/x509.c:856,1
    - Dst: sk_ASN1_OBJECT_value
      Src: /src/openssl/apps/x509.c:856,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:860,1
    - Dst: X509_get_ext_count
      Src: /src/openssl/apps/x509.c:861,1
    - Dst: X509_get_ext
      Src: /src/openssl/apps/x509.c:862,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/x509.c:863,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/x509.c:863,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/x509.c:863,1
    - Dst: strstr
      Src: /src/openssl/apps/x509.c:865,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/apps/x509.c:866,1
    - Dst: X509_delete_ext
      Src: /src/openssl/apps/x509.c:866,1
    - Dst: x509_load_serial
      Src: /src/openssl/apps/x509.c:873,1
    - Dst: self_signed
      Src: /src/openssl/apps/x509.c:876,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/x509.c:879,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:880,1
    - Dst: X509_set_serialNumber
      Src: /src/openssl/apps/x509.c:884,1
    - Dst: set_cert_times
      Src: /src/openssl/apps/x509.c:888,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/x509.c:891,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/apps/x509.c:894,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/x509.c:894,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/x509.c:899,1
    - Dst: X509V3_set_issuer_pkey
      Src: /src/openssl/apps/x509.c:902,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/x509.c:906,1
    - Dst: X509V3_EXT_add_nconf
      Src: /src/openssl/apps/x509.c:907,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:908,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/x509.c:916,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:918,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:924,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:928,1
    - Dst: x509_to_req
      Src: /src/openssl/apps/x509.c:931,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/x509.c:934,1
    - Dst: X509V3_EXT_REQ_add_nconf
      Src: /src/openssl/apps/x509.c:935,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:936,1
    - Dst: do_X509_REQ_sign
      Src: /src/openssl/apps/x509.c:941,1
    - Dst: X509_REQ_print_ex
      Src: /src/openssl/apps/x509.c:945,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/x509.c:945,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/x509.c:946,1
    - Dst: PEM_write_bio_X509_REQ
      Src: /src/openssl/apps/x509.c:948,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:951,1
    - Dst: load_key
      Src: /src/openssl/apps/x509.c:958,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/x509.c:961,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:962,1
    - Dst: do_X509_sign
      Src: /src/openssl/apps/x509.c:967,1
    - Dst: do_X509_sign
      Src: /src/openssl/apps/x509.c:970,1
    - Dst: X509_get0_signature
      Src: /src/openssl/apps/x509.c:976,1
    - Dst: corrupt_signature
      Src: /src/openssl/apps/x509.c:977,1
    - Dst: print_name
      Src: /src/openssl/apps/x509.c:983,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/x509.c:983,1
    - Dst: print_name
      Src: /src/openssl/apps/x509.c:985,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/x509.c:985,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:987,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:988,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/x509.c:988,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:989,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/apps/x509.c:992,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/x509.c:992,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/x509.c:996,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:997,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:998,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1001,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:1002,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/x509.c:1003,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1004,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:1006,1
    - Dst: X509_get1_email
      Src: /src/openssl/apps/x509.c:1007,1
    - Dst: X509_get1_ocsp
      Src: /src/openssl/apps/x509.c:1007,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/x509.c:1009,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1010,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/x509.c:1010,1
    - Dst: X509_email_free
      Src: /src/openssl/apps/x509.c:1011,1
    - Dst: X509_alias_get0
      Src: /src/openssl/apps/x509.c:1013,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1016,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1018,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1020,1
    - Dst: X509_subject_name_hash
      Src: /src/openssl/apps/x509.c:1020,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1023,1
    - Dst: X509_subject_name_hash_old
      Src: /src/openssl/apps/x509.c:1023,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1026,1
    - Dst: X509_issuer_name_hash
      Src: /src/openssl/apps/x509.c:1026,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1029,1
    - Dst: X509_issuer_name_hash_old
      Src: /src/openssl/apps/x509.c:1029,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1032,1
    - Dst: X509_PURPOSE_get_count
      Src: /src/openssl/apps/x509.c:1033,1
    - Dst: purpose_print
      Src: /src/openssl/apps/x509.c:1034,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/apps/x509.c:1034,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1036,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/x509.c:1037,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/x509.c:1037,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/x509.c:1041,1
    - Dst: BN_print
      Src: /src/openssl/apps/x509.c:1042,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1043,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/x509.c:1044,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/x509.c:1048,1
    - Dst: BN_print
      Src: /src/openssl/apps/x509.c:1049,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1050,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1052,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1054,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/x509.c:1056,1
    - Dst: X509_print_ex
      Src: /src/openssl/apps/x509.c:1058,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/x509.c:1058,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1060,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/x509.c:1061,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/apps/x509.c:1061,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1062,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1064,1
    - Dst: ASN1_TIME_print_ex
      Src: /src/openssl/apps/x509.c:1065,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/x509.c:1065,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/x509.c:1066,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/x509.c:1077,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/x509.c:1077,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/x509.c:1078,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1079,1
    - Dst: X509_digest
      Src: /src/openssl/apps/x509.c:1082,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/x509.c:1083,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1085,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1089,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1091,1
    - Dst: X509_ocspid_print
      Src: /src/openssl/apps/x509.c:1093,1
    - Dst: print_x509v3_exts
      Src: /src/openssl/apps/x509.c:1095,1
    - Dst: time
      Src: /src/openssl/apps/x509.c:1100,1
    - Dst: X509_cmp_time
      Src: /src/openssl/apps/x509.c:1102,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/x509.c:1102,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1104,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1106,1
    - Dst: check_cert_attributes
      Src: /src/openssl/apps/x509.c:1110,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/x509.c:1119,1
    - Dst: PEM_write_bio_X509_AUX
      Src: /src/openssl/apps/x509.c:1122,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/x509.c:1124,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1126,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1130,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/x509.c:1135,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/x509.c:1142,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/apps/x509.c:1146,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/x509.c:1149,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/x509.c:1150,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/x509.c:1151,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/x509.c:1152,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/x509.c:1153,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/x509.c:1154,1
    - Dst: X509_free
      Src: /src/openssl/apps/x509.c:1155,1
    - Dst: X509_free
      Src: /src/openssl/apps/x509.c:1156,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/x509.c:1157,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/x509.c:1158,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/x509.c:1159,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/x509.c:1160,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/x509.c:1161,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/x509.c:1162,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/x509.c:1163,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/apps/x509.c:1164,1
    - Dst: sk_ASN1_OBJECT_pop_free
      Src: /src/openssl/apps/x509.c:1165,1
    - Dst: release_engine
      Src: /src/openssl/apps/x509.c:1166,1
    - Dst: clear_free
      Src: /src/openssl/apps/x509.c:1167,1
    CyclomaticComplexity: 391
    EdgeCount: 391
    ICount: 859
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 263
    functionDepth: 11
    functionLinenumber: 263
    functionLinenumberEnd: 1169
    functionName: x509_main
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - X509V3_set_ctx
    - X509_add1_reject_object
    - i2a_ASN1_INTEGER
    - opt_rand
    - strstr
    - EVP_PKEY_is_a
    - X509_get0_notBefore
    - X509_ocspid_print
    - X509_get1_email
    - fileno_stdin
    - opt_check_rest_arg
    - X509_new_ex
    - X509_digest
    - BN_to_ASN1_INTEGER
    - sk_ASN1_OBJECT_value
    - X509_STORE_new
    - i2d_X509_bio
    - isatty
    - app_get0_propq
    - BN_print
    - EVP_PKEY_free
    - X509_STORE_set_default_paths_ex
    - X509_check_private_key
    - OBJ_obj2nid
    - PEM_write_bio_X509_AUX
    - X509_STORE_set_verify_cb
    - time
    - sk_X509_pop_free
    - setup_engine
    - PEM_write_bio_X509_REQ
    - WARN_NO_CA
    - s2i_ASN1_INTEGER
    - X509_set_pubkey
    - bio_open_default
    - X509_get_subject_name
    - app_passwd
    - X509_delete_ext
    - BN_add_word
    - parse_name
    - release_engine
    - X509_set_serialNumber
    - sk_OPENSSL_STRING_push
    - load_pubkey
    - self_signed
    - EVP_MD_free
    - X509_get_ext_count
    - X509_alias_set1
    - ASN1_INTEGER_free
    - NCONF_free
    - X509_NAME_free
    - set_nameopt
    - sk_X509_num
    - X509_issuer_name_hash_old
    - sk_X509_value
    - X509V3_set_nconf
    - set_ext_copy
    - X509_alias_get0
    - sk_ASN1_OBJECT_new_null
    - load_key
    - do_X509_REQ_sign
    - BIO_puts
    - OBJ_nid2sn
    - X509_subject_name_hash_old
    - PEM_write_bio_PUBKEY
    - set_dateopt
    - X509V3_set_issuer_pkey
    - copy_extensions
    - cert_matches_key
    - opt_next
    - purpose_print
    - X509_EXTENSION_free
    - opt_format
    - X509V3_EXT_add_nconf
    - app_get0_libctx
    - opt_set_unknown_name
    - X509_trust_clear
    - sk_OPENSSL_STRING_value
    - ERR_print_errors
    - X509_PURPOSE_get_count
    - atoi
    - do_X509_sign
    - PEM_write_bio_X509
    - X509_STORE_free
    - X509_EXTENSION_get_object
    - ASN1_INTEGER_to_BN
    - set_cert_times
    - X509_get0_notAfter
    - print_name
    - EVP_PKEY_get_bn_param
    - opt_intmax
    - opt_check_md
    - app_RAND_load
    - X509_get1_ocsp
    - X509_print_ex
    - X509_get_ext
    - ASN1_INTEGER_new
    - BIO_free_all
    - x509_to_req
    - X509_email_free
    - X509_REQ_print_ex
    - BN_free
    - BIO_printf
    - X509_get0_signature
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - X509_set_subject_name
    - do_X509_REQ_verify
    - load_certs
    - X509_add1_trust_object
    - sk_OPENSSL_STRING_num
    - opt_arg
    - sk_ASN1_OBJECT_num
    - X509_PURPOSE_get0
    - opt_help
    - X509_get0_pubkey
    - opt_init
    - app_load_config
    - corrupt_signature
    - OBJ_txt2obj
    - X509V3_set_ctx_test
    - X509_cmp_time
    - load_csr_autofmt
    - set_cert_ex
    - X509_free
    - X509_REQ_get0_pubkey
    - load_cert_pass
    - X509_subject_name_hash
    - X509_get0_serialNumber
    - sk_ASN1_OBJECT_push
    - opt_unknown
    - X509_set_issuer_name
    - sk_ASN1_OBJECT_pop_free
    - X509_issuer_name_hash
    - get_nameopt
    - X509_get_issuer_name
    - check_cert_attributes
    - STACK_OF
    - ASN1_TIME_print_ex
    - sk_OPENSSL_STRING_free
    - clear_free
    - rand_serial
    - EVP_MD_fetch
    - app_conf_try_string
    - X509_REQ_free
    - X509_reject_clear
    - X509_REQ_get_subject_name
    - print_x509v3_exts
    - X509V3_EXT_REQ_add_nconf
    - x509_load_serial
    - sk_X509_new_null
    linkageType: ''
    returnType: int
    signature: int x509_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 705
    functionName: WARN_NO_CA
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WARN_NO_CA(opt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/openssl/apps/x509.c:1180,1
    - Dst: strlen
      Src: /src/openssl/apps/x509.c:1181,1
    - Dst: app_malloc
      Src: /src/openssl/apps/x509.c:1183,1
    - Dst: memcpy
      Src: /src/openssl/apps/x509.c:1184,1
    - Dst: memcpy
      Src: /src/openssl/apps/x509.c:1185,1
    - Dst: load_serial
      Src: /src/openssl/apps/x509.c:1190,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/x509.c:1194,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1195,1
    - Dst: save_serial
      Src: /src/openssl/apps/x509.c:1200,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/x509.c:1202,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/x509.c:1205,1
    - Dst: BN_free
      Src: /src/openssl/apps/x509.c:1206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - CAfile
    - serialfile
    - create
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1171
    functionDepth: 7
    functionLinenumber: 1171
    functionLinenumberEnd: 1208
    functionName: x509_load_serial
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 1
    functionsReached:
    - memcpy
    - OPENSSL_free
    - save_serial
    - strrchr
    - load_serial
    - strlen
    - BN_free
    - BN_add_word
    - BN_to_ASN1_INTEGER
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: "ASN1_INTEGER *x509_load_serial(const char *CAfile,\n                                      const
      char *serialfile, int create)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/apps/x509.c:1219,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/apps/x509.c:1224,1
    - Dst: print_name
      Src: /src/openssl/apps/x509.c:1225,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/x509.c:1225,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1226,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/apps/x509.c:1228,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/x509.c:1229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1234
    functionName: callb
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_error_depth
    - X509_get_subject_name
    - X509_STORE_CTX_get_current_cert
    - X509_verify_cert_error_string
    - print_name
    - X509_STORE_CTX_get_error
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int callb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_PURPOSE_get_id
      Src: /src/openssl/apps/x509.c:1240,1
    - Dst: X509_PURPOSE_get0_name
      Src: /src/openssl/apps/x509.c:1241,1
    - Dst: X509_check_purpose
      Src: /src/openssl/apps/x509.c:1243,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1244,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1246,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1248,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bio
    - cert
    - pt
    argTypes:
    - BIO*
    - X509*
    - X509_PURPOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1236
    functionDepth: 4
    functionLinenumber: 1236
    functionLinenumberEnd: 1253
    functionName: purpose_print
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 1
    functionsReached:
    - X509_check_purpose
    - X509_PURPOSE_get0_name
    - X509_PURPOSE_get_id
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int purpose_print(BIO *bio, X509 *cert, X509_PURPOSE *pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/x509.c:1261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - names
    - result
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1280
    functionName: parse_ext_names
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int parse_ext_names(char *names, const char **result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/x509.c:1285,1
    - Dst: X509_get0_extensions
      Src: /src/openssl/apps/x509.c:1292,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/x509.c:1293,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1294,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/x509.c:1300,1
    - Dst: parse_ext_names
      Src: /src/openssl/apps/x509.c:1302,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1303,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/apps/x509.c:1306,1
    - Dst: parse_ext_names
      Src: /src/openssl/apps/x509.c:1308,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/apps/x509.c:1311,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/x509.c:1314,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/x509.c:1315,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/x509.c:1315,1
    - Dst: strcmp
      Src: /src/openssl/apps/x509.c:1316,1
    - Dst: strcmp
      Src: /src/openssl/apps/x509.c:1320,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/apps/x509.c:1323,1
    - Dst: sk_X509_EXTENSION_push
      Src: /src/openssl/apps/x509.c:1325,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/x509.c:1331,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/x509.c:1332,1
    - Dst: X509V3_extensions_print
      Src: /src/openssl/apps/x509.c:1337,1
    - Dst: sk_X509_EXTENSION_free
      Src: /src/openssl/apps/x509.c:1339,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/x509.c:1340,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/x509.c:1341,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 3
    argNames:
    - bio
    - x
    - ext_names
    argTypes:
    - BIO*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1282
    functionDepth: 6
    functionLinenumber: 1282
    functionLinenumberEnd: 1343
    functionName: print_x509v3_exts
    functionSourceFile: /src/openssl/apps/x509.c
    functionUses: 1
    functionsReached:
    - sk_X509_EXTENSION_value
    - X509_get0_extensions
    - OPENSSL_malloc_array
    - OBJ_nid2sn
    - sk_X509_EXTENSION_free
    - X509_EXTENSION_get_object
    - sk_X509_EXTENSION_new_null
    - sk_X509_EXTENSION_num
    - STACK_OF
    - sk_X509_EXTENSION_push
    - OPENSSL_strdup
    - X509V3_extensions_print
    - OPENSSL_free
    - strcmp
    - OBJ_obj2nid
    - BIO_printf
    - parse_ext_names
    linkageType: ''
    returnType: int
    signature: int print_x509v3_exts(BIO *bio, X509 *x, const char *ext_names)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/rand.c:61,1
    - Dst: opt_next
      Src: /src/openssl/apps/rand.c:62,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:67,1
    - Dst: opt_help
      Src: /src/openssl/apps/rand.c:70,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rand.c:74,1
    - Dst: setup_engine
      Src: /src/openssl/apps/rand.c:77,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rand.c:77,1
    - Dst: opt_rand
      Src: /src/openssl/apps/rand.c:80,1
    - Dst: opt_provider
      Src: /src/openssl/apps/rand.c:90,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/rand.c:97,1
    - Dst: opt_rest
      Src: /src/openssl/apps/rand.c:98,1
    - Dst: strcmp
      Src: /src/openssl/apps/rand.c:107,1
    - Dst: isdigit
      Src: /src/openssl/apps/rand.c:126,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:141,1
    - Dst: strlen
      Src: /src/openssl/apps/rand.c:150,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:151,1
    - Dst: opt_long
      Src: /src/openssl/apps/rand.c:160,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:166,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:172,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/rand.c:179,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/rand.c:183,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/rand.c:186,1
    - Dst: BIO_new
      Src: /src/openssl/apps/rand.c:191,1
    - Dst: BIO_f_base64
      Src: /src/openssl/apps/rand.c:191,1
    - Dst: BIO_push
      Src: /src/openssl/apps/rand.c:194,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rand.c:197,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/apps/rand.c:202,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/rand.c:202,1
    - Dst: BIO_write
      Src: /src/openssl/apps/rand.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rand.c:210,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/rand.c:216,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/rand.c:217,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rand.c:224,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rand.c:225,1
    - Dst: release_engine
      Src: /src/openssl/apps/rand.c:226,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/rand.c:227,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 148
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 49
    functionDepth: 7
    functionLinenumber: 49
    functionLinenumberEnd: 229
    functionName: rand_main
    functionSourceFile: /src/openssl/apps/rand.c
    functionUses: 0
    functionsReached:
    - opt_rand
    - BIO_f_base64
    - opt_check_rest_arg
    - OPENSSL_free
    - strcmp
    - strlen
    - app_malloc
    - app_RAND_load
    - BIO_new
    - BIO_write
    - opt_long
    - BIO_flush
    - BIO_free_all
    - BIO_push
    - isdigit
    - opt_rest
    - BIO_printf
    - opt_provider
    - BIO_puts
    - setup_engine
    - opt_arg
    - opt_num_rest
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - app_get0_libctx
    - ERR_print_errors
    - RAND_bytes_ex
    - release_engine
    linkageType: ''
    returnType: int
    signature: int rand_main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/engine.c:58,1
    - Dst: app_malloc
      Src: /src/openssl/apps/engine.c:63,1
    - Dst: strlen
      Src: /src/openssl/apps/engine.c:65,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/apps/engine.c:72,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/engine.c:74,1
    - Dst: strcpy
      Src: /src/openssl/apps/engine.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - size
    - s
    argTypes:
    - char**
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 90
    functionName: append_buf
    functionSourceFile: /src/openssl/apps/engine.c
    functionUses: 0
    functionsReached:
    - strcpy
    - OPENSSL_free
    - strlen
    - OPENSSL_realloc
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int append_buf(char **buf, int *size, const char *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:96,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:110,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:121,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:124,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:129,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:132,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:141,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:142,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:145,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - out
    - flags
    - indent
    argTypes:
    - BIO*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 148
    functionName: util_flags
    functionSourceFile: /src/openssl/apps/engine.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int util_flags(BIO *out, unsigned int flags, const char *indent)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/engine.c:159,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/engine.c:160,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/engine.c:161,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/engine.c:166,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/engine.c:173,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/engine.c:178,1
    - Dst: app_malloc
      Src: /src/openssl/apps/engine.c:181,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/engine.c:182,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/engine.c:186,1
    - Dst: app_malloc
      Src: /src/openssl/apps/engine.c:190,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/engine.c:191,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/engine.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:201,1
    - Dst: strlen
      Src: /src/openssl/apps/engine.c:206,1
    - Dst: strlen
      Src: /src/openssl/apps/engine.c:207,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:208,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/engine.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:211,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:214,1
    - Dst: util_flags
      Src: /src/openssl/apps/engine.c:217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/engine.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/engine.c:224,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/engine.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:230,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/engine.c:233,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/engine.c:234,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/engine.c:235,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 62
    argCount: 4
    argNames:
    - e
    - verbose
    - out
    - indent
    argTypes:
    - ENGINE*
    - int
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 237
    functionName: util_verbose
    functionSourceFile: /src/openssl/apps/engine.c
    functionUses: 0
    functionsReached:
    - util_flags
    - sk_OPENSSL_STRING_new_null
    - BIO_puts
    - ENGINE_ctrl
    - STACK_OF
    - OPENSSL_free
    - sk_OPENSSL_STRING_free
    - strlen
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int util_verbose(ENGINE *e, int verbose, BIO *out, const char *indent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_get0_engine
      Src: /src/openssl/apps/engine.c:288,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/engine.c:290,1
    - Dst: OSSL_STORE_LOADER_get0_scheme
      Src: /src/openssl/apps/engine.c:291,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - loader
    - arg
    argTypes:
    - OSSL_STORE_LOADER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: util_store_cap
    functionSourceFile: /src/openssl/apps/engine.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - OSSL_STORE_LOADER_get0_engine
    - append_buf
    - OSSL_STORE_LOADER_get0_scheme
    linkageType: ''
    returnType: void
    signature: void util_store_cap(const OSSL_STORE_LOADER *loader, void *arg)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/engine.c:302,1
    - Dst: sk_OPENSSL_CSTRING_new_null
      Src: /src/openssl/apps/engine.c:302,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/engine.c:303,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/engine.c:303,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/engine.c:304,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/engine.c:304,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/engine.c:311,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/apps/engine.c:319,1
    - Dst: opt_init
      Src: /src/openssl/apps/engine.c:325,1
    - Dst: opt_next
      Src: /src/openssl/apps/engine.c:327,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:331,1
    - Dst: opt_help
      Src: /src/openssl/apps/engine.c:334,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/engine.c:356,1
    - Dst: opt_arg
      Src: /src/openssl/apps/engine.c:356,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/engine.c:360,1
    - Dst: opt_arg
      Src: /src/openssl/apps/engine.c:360,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/engine.c:367,1
    - Dst: opt_rest
      Src: /src/openssl/apps/engine.c:368,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:371,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:373,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/apps/engine.c:376,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/apps/engine.c:380,1
    - Dst: ENGINE_get_first
      Src: /src/openssl/apps/engine.c:381,1
    - Dst: ENGINE_get_next
      Src: /src/openssl/apps/engine.c:381,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/apps/engine.c:382,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/apps/engine.c:382,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/apps/engine.c:388,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/apps/engine.c:389,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/apps/engine.c:390,1
    - Dst: ENGINE_get_name
      Src: /src/openssl/apps/engine.c:391,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:395,1
    - Dst: util_do_cmds
      Src: /src/openssl/apps/engine.c:396,1
    - Dst: strcmp
      Src: /src/openssl/apps/engine.c:397,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/apps/engine.c:397,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:398,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/apps/engine.c:399,1
    - Dst: ENGINE_get_name
      Src: /src/openssl/apps/engine.c:399,1
    - Dst: ENGINE_get_RSA
      Src: /src/openssl/apps/engine.c:410,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:411,1
    - Dst: ENGINE_get_EC
      Src: /src/openssl/apps/engine.c:413,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:414,1
    - Dst: ENGINE_get_DSA
      Src: /src/openssl/apps/engine.c:416,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:417,1
    - Dst: ENGINE_get_DH
      Src: /src/openssl/apps/engine.c:419,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:420,1
    - Dst: ENGINE_get_RAND
      Src: /src/openssl/apps/engine.c:422,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:423,1
    - Dst: ENGINE_get_ciphers
      Src: /src/openssl/apps/engine.c:426,1
    - Dst: fn_c
      Src: /src/openssl/apps/engine.c:429,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:431,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/engine.c:431,1
    - Dst: ENGINE_get_digests
      Src: /src/openssl/apps/engine.c:435,1
    - Dst: fn_d
      Src: /src/openssl/apps/engine.c:438,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:440,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/engine.c:440,1
    - Dst: ENGINE_get_pkey_meths
      Src: /src/openssl/apps/engine.c:444,1
    - Dst: fn_pk
      Src: /src/openssl/apps/engine.c:447,1
    - Dst: append_buf
      Src: /src/openssl/apps/engine.c:449,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/engine.c:449,1
    - Dst: OSSL_STORE_do_all_loaders
      Src: /src/openssl/apps/engine.c:460,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:465,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/engine.c:467,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:470,1
    - Dst: ENGINE_init
      Src: /src/openssl/apps/engine.c:471,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:472,1
    - Dst: util_do_cmds
      Src: /src/openssl/apps/engine.c:473,1
    - Dst: ENGINE_finish
      Src: /src/openssl/apps/engine.c:474,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/engine.c:476,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/apps/engine.c:478,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/engine.c:479,1
    - Dst: util_verbose
      Src: /src/openssl/apps/engine.c:482,1
    - Dst: ENGINE_free
      Src: /src/openssl/apps/engine.c:484,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/engine.c:486,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/engine.c:495,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/engine.c:496,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/engine.c:497,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/engine.c:498,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/engine.c:499,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 179
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 297
    functionDepth: 7
    functionLinenumber: 297
    functionLinenumberEnd: 501
    functionName: engine_main
    functionSourceFile: /src/openssl/apps/engine.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - sk_OPENSSL_STRING_push
    - append_buf
    - util_do_cmds
    - OPENSSL_free
    - ENGINE_finish
    - strcmp
    - ENGINE_get_next
    - ENGINE_free
    - ERR_clear_error
    - ENGINE_get_id
    - BIO_free_all
    - ENGINE_get_DSA
    - sk_OPENSSL_CSTRING_new_null
    - ERR_print_errors_fp
    - ENGINE_get_DH
    - ENGINE_get_name
    - ENGINE_get_RAND
    - opt_rest
    - OSSL_STORE_do_all_loaders
    - BIO_printf
    - ENGINE_get_RSA
    - fn_d
    - ENGINE_init
    - sk_OPENSSL_STRING_new_null
    - OBJ_nid2sn
    - fn_pk
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - sk_OPENSSL_CSTRING_num
    - ENGINE_get_ciphers
    - opt_arg
    - fn_c
    - opt_num_rest
    - opt_help
    - sk_OPENSSL_CSTRING_value
    - opt_next
    - opt_init
    - util_verbose
    - ENGINE_get_pkey_meths
    - ENGINE_get_first
    - dup_bio_out
    - sk_OPENSSL_CSTRING_push
    - ENGINE_by_id
    - ERR_print_errors
    - ENGINE_get_digests
    - ENGINE_get_EC
    linkageType: ''
    returnType: int
    signature: int engine_main(int argc, char **argv)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/dsaparam.c:77,1
    - Dst: opt_next
      Src: /src/openssl/apps/dsaparam.c:78,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:83,1
    - Dst: opt_help
      Src: /src/openssl/apps/dsaparam.c:86,1
    - Dst: opt_format
      Src: /src/openssl/apps/dsaparam.c:90,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:90,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:94,1
    - Dst: opt_format
      Src: /src/openssl/apps/dsaparam.c:97,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:97,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:101,1
    - Dst: setup_engine
      Src: /src/openssl/apps/dsaparam.c:104,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsaparam.c:104,1
    - Dst: opt_rand
      Src: /src/openssl/apps/dsaparam.c:113,1
    - Dst: opt_provider
      Src: /src/openssl/apps/dsaparam.c:117,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/dsaparam.c:133,1
    - Dst: opt_rest
      Src: /src/openssl/apps/dsaparam.c:134,1
    - Dst: opt_int
      Src: /src/openssl/apps/dsaparam.c:136,1
    - Dst: opt_int
      Src: /src/openssl/apps/dsaparam.c:138,1
    - Dst: opt_int
      Src: /src/openssl/apps/dsaparam.c:141,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/dsaparam.c:143,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/dsaparam.c:146,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/dsaparam.c:153,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dsaparam.c:153,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dsaparam.c:153,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:155,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:161,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/dsaparam.c:166,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/dsaparam.c:168,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:171,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/apps/dsaparam.c:173,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:174,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_bits
      Src: /src/openssl/apps/dsaparam.c:178,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:179,1
    - Dst: EVP_PKEY_CTX_set_dsa_paramgen_q_bits
      Src: /src/openssl/apps/dsaparam.c:184,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:185,1
    - Dst: app_paramgen
      Src: /src/openssl/apps/dsaparam.c:190,1
    - Dst: load_keyparams
      Src: /src/openssl/apps/dsaparam.c:192,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/dsaparam.c:199,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/dsaparam.c:204,1
    - Dst: i2d_KeyParams_bio
      Src: /src/openssl/apps/dsaparam.c:212,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/openssl/apps/dsaparam.c:214,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:216,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dsaparam.c:221,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/dsaparam.c:222,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/dsaparam.c:222,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/dsaparam.c:223,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:225,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/apps/dsaparam.c:229,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsaparam.c:230,1
    - Dst: app_keygen
      Src: /src/openssl/apps/dsaparam.c:234,1
    - Dst: assert
      Src: /src/openssl/apps/dsaparam.c:237,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/apps/dsaparam.c:239,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/dsaparam.c:241,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsaparam.c:246,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/dsaparam.c:247,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/dsaparam.c:248,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dsaparam.c:249,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dsaparam.c:250,1
    - Dst: release_engine
      Src: /src/openssl/apps/dsaparam.c:251,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 178
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/openssl/apps/dsaparam.c
    constantsTouched: []
    func_position:
      end: 253
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 253
    functionName: dsaparam_main
    functionSourceFile: /src/openssl/apps/dsaparam.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_app_data
    - i2d_KeyParams_bio
    - opt_rand
    - app_paramgen
    - opt_check_rest_arg
    - EVP_PKEY_keygen_init
    - PEM_write_bio_Parameters
    - EVP_PKEY_paramgen_init
    - assert
    - app_RAND_load
    - app_keygen
    - app_get0_propq
    - BIO_free_all
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - EVP_PKEY_CTX_set_cb
    - EVP_PKEY_CTX_set_dsa_paramgen_bits
    - opt_rest
    - BIO_printf
    - opt_provider
    - EVP_PKEY_CTX_set_dsa_paramgen_q_bits
    - setup_engine
    - PEM_write_bio_PrivateKey
    - bio_open_owner
    - EVP_PKEY_CTX_new_from_pkey
    - opt_arg
    - i2d_PrivateKey_bio
    - EVP_PKEY_print_params
    - opt_num_rest
    - opt_help
    - opt_next
    - opt_init
    - opt_int
    - opt_format
    - EVP_PKEY_CTX_new_from_name
    - load_keyparams
    - app_get0_libctx
    - ERR_print_errors
    - release_engine
    linkageType: ''
    returnType: int
    signature: int dsaparam_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_identity_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: dummy_psk
    functionSourceFile: /src/openssl/apps/ciphers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int dummy_psk(SSL *ssl, const char *hint, char *identity,\n
      \                             unsigned int max_identity_len,\n                              unsigned
      char *psk,\n                              unsigned int max_psk_len)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ciphers.c:92,1
    - Dst: TLS_server_method
      Src: /src/openssl/apps/ciphers.c:93,1
    - Dst: opt_init
      Src: /src/openssl/apps/ciphers.c:108,1
    - Dst: opt_next
      Src: /src/openssl/apps/ciphers.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:114,1
    - Dst: opt_help
      Src: /src/openssl/apps/ciphers.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ciphers.c:133,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ciphers.c:166,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ciphers.c:169,1
    - Dst: opt_rest
      Src: /src/openssl/apps/ciphers.c:176,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/ciphers.c:177,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ciphers.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:183,1
    - Dst: OPENSSL_cipher_name
      Src: /src/openssl/apps/ciphers.c:184,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/apps/ciphers.c:189,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ciphers.c:189,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ciphers.c:189,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/ciphers.c:192,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/ciphers.c:194,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/openssl/apps/ciphers.c:199,1
    - Dst: set_up_dummy_srp
      Src: /src/openssl/apps/ciphers.c:203,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/apps/ciphers.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:207,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/apps/ciphers.c:212,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:213,1
    - Dst: SSL_new
      Src: /src/openssl/apps/ciphers.c:217,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/openssl/apps/ciphers.c:222,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/apps/ciphers.c:224,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/apps/ciphers.c:227,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/apps/ciphers.c:228,1
    - Dst: ossl_assert
      Src: /src/openssl/apps/ciphers.c:230,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/ciphers.c:233,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:237,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:238,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:240,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/apps/ciphers.c:243,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/apps/ciphers.c:246,1
    - Dst: ossl_assert
      Src: /src/openssl/apps/ciphers.c:248,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/apps/ciphers.c:252,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:259,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:262,1
    - Dst: SSL_CIPHER_standard_name
      Src: /src/openssl/apps/ciphers.c:265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ciphers.c:268,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ciphers.c:270,1
    - Dst: SSL_CIPHER_description
      Src: /src/openssl/apps/ciphers.c:270,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ciphers.c:277,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/apps/ciphers.c:280,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/ciphers.c:281,1
    - Dst: SSL_free
      Src: /src/openssl/apps/ciphers.c:282,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 156
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 284
    functionName: ciphers_main
    functionSourceFile: /src/openssl/apps/ciphers.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_psk_client_callback
    - opt_check_rest_arg
    - TLS_server_method
    - ossl_assert
    - SSL_CTX_free
    - app_get0_propq
    - SSL_CIPHER_standard_name
    - SSL_get1_supported_ciphers
    - sk_SSL_CIPHER_free
    - opt_rest
    - SSL_CTX_set_max_proto_version
    - BIO_printf
    - SSL_CIPHER_description
    - opt_provider
    - SSL_CTX_new_ex
    - SSL_CIPHER_get_id
    - SSL_CTX_set_min_proto_version
    - set_up_dummy_srp
    - BIO_puts
    - SSL_CTX_set_cipher_list
    - SSL_free
    - sk_SSL_CIPHER_value
    - OPENSSL_cipher_name
    - STACK_OF
    - SSL_new
    - sk_SSL_CIPHER_num
    - SSL_get_ciphers
    - opt_arg
    - opt_num_rest
    - opt_help
    - opt_next
    - opt_init
    - app_get0_libctx
    - ERR_print_errors
    - SSL_CIPHER_get_name
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int ciphers_main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/mac.c:58,1
    - Dst: strlen
      Src: /src/openssl/apps/mac.c:58,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/mac.c:62,1
    - Dst: app_malloc
      Src: /src/openssl/apps/mac.c:66,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/mac.c:67,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/mac.c:68,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/mac.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - optp
    - name
    - arg
    argTypes:
    - STACK_OF**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: alloc_mac_algorithm_name
    functionSourceFile: /src/openssl/apps/mac.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - sk_OPENSSL_STRING_new_null
    - BIO_snprintf
    - OPENSSL_free
    - strlen
    - app_malloc
    linkageType: ''
    returnType: char
    signature: "char *alloc_mac_algorithm_name(STACK_OF(OPENSSL_STRING) **optp,\n
      \                                     const char *name, const char *arg)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/mac.c:81,1
    - Dst: opt_init
      Src: /src/openssl/apps/mac.c:93,1
    - Dst: app_malloc
      Src: /src/openssl/apps/mac.c:94,1
    - Dst: opt_next
      Src: /src/openssl/apps/mac.c:95,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:99,1
    - Dst: opt_help
      Src: /src/openssl/apps/mac.c:102,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:109,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:112,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/mac.c:116,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/mac.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/mac.c:121,1
    - Dst: alloc_mac_algorithm_name
      Src: /src/openssl/apps/mac.c:122,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:122,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/mac.c:127,1
    - Dst: alloc_mac_algorithm_name
      Src: /src/openssl/apps/mac.c:128,1
    - Dst: opt_arg
      Src: /src/openssl/apps/mac.c:128,1
    - Dst: opt_provider
      Src: /src/openssl/apps/mac.c:133,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/mac.c:140,1
    - Dst: opt_rest
      Src: /src/openssl/apps/mac.c:142,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/apps/mac.c:144,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/mac.c:144,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/mac.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:146,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/apps/mac.c:150,1
    - Dst: app_params_new_from_opts
      Src: /src/openssl/apps/mac.c:157,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/apps/mac.c:158,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/apps/mac.c:162,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:163,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/mac.c:164,1
    - Dst: app_params_free
      Src: /src/openssl/apps/mac.c:167,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/mac.c:172,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/mac.c:176,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/apps/mac.c:180,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:181,1
    - Dst: BIO_pending
      Src: /src/openssl/apps/mac.c:185,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/mac.c:185,1
    - Dst: BIO_read
      Src: /src/openssl/apps/mac.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:188,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/mac.c:189,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/apps/mac.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:195,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/apps/mac.c:200,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:201,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:205,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/apps/mac.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:210,1
    - Dst: BIO_write
      Src: /src/openssl/apps/mac.c:215,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:218,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/mac.c:220,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/mac.c:226,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/mac.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/mac.c:228,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/mac.c:229,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/mac.c:230,1
    - Dst: BIO_free
      Src: /src/openssl/apps/mac.c:231,1
    - Dst: BIO_free
      Src: /src/openssl/apps/mac.c:232,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/apps/mac.c:233,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/apps/mac.c:234,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 149
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 74
    functionDepth: 10
    functionLinenumber: 74
    functionLinenumberEnd: 236
    functionName: mac_main
    functionSourceFile: /src/openssl/apps/mac.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - sk_OPENSSL_STRING_push
    - EVP_MAC_free
    - EVP_MAC_settable_ctx_params
    - opt_check_rest_arg
    - OPENSSL_free
    - EVP_MAC_update
    - app_malloc
    - BIO_write
    - EVP_MAC_CTX_free
    - app_params_new_from_opts
    - EVP_MAC_init
    - EVP_MAC_CTX_set_params
    - BIO_eof
    - EVP_MAC_final
    - app_get0_propq
    - opt_rest
    - BIO_read
    - BIO_printf
    - app_params_free
    - opt_provider
    - alloc_mac_algorithm_name
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - opt_arg
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - BIO_pending
    - OPENSSL_clear_free
    - app_get0_libctx
    - ERR_print_errors
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: int mac_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: WARN_EXPORT
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WARN_EXPORT(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: WARN_NO_EXPORT
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WARN_NO_EXPORT(opt)
  - BBCount: 175
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:189,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/pkcs12.c:190,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/pkcs12.c:194,1
    - Dst: opt_init
      Src: /src/openssl/apps/pkcs12.c:195,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkcs12.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:201,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkcs12.c:204,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:229,1
    - Dst: opt_flag
      Src: /src/openssl/apps/pkcs12.c:259,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/pkcs12.c:264,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/pkcs12.c:267,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/pkcs12.c:279,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:286,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:292,1
    - Dst: set_pbe
      Src: /src/openssl/apps/pkcs12.c:295,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:295,1
    - Dst: set_pbe
      Src: /src/openssl/apps/pkcs12.c:299,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:299,1
    - Dst: opt_rand
      Src: /src/openssl/apps/pkcs12.c:303,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:307,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:310,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:313,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:316,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:319,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:325,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/pkcs12.c:329,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/pkcs12.c:331,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:331,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:335,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:338,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:341,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:344,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:347,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:350,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:353,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:356,1
    - Dst: setup_engine
      Src: /src/openssl/apps/pkcs12.c:368,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs12.c:368,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkcs12.c:376,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkcs12.c:383,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/pkcs12.c:386,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/pkcs12.c:389,1
    - Dst: WARN_EXPORT
      Src: /src/openssl/apps/pkcs12.c:393,1
    - Dst: WARN_EXPORT
      Src: /src/openssl/apps/pkcs12.c:395,1
    - Dst: WARN_EXPORT
      Src: /src/openssl/apps/pkcs12.c:397,1
    - Dst: WARN_EXPORT
      Src: /src/openssl/apps/pkcs12.c:399,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:401,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:405,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:407,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:409,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:411,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:413,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:415,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:417,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:419,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:421,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:423,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:425,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:427,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:429,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:431,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:433,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:435,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:437,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:439,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:441,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:443,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:445,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:447,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:449,1
    - Dst: WARN_NO_EXPORT
      Src: /src/openssl/apps/pkcs12.c:451,1
    - Dst: OSSL_PROVIDER_available
      Src: /src/openssl/apps/pkcs12.c:456,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:456,1
    - Dst: app_provider_load
      Src: /src/openssl/apps/pkcs12.c:457,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:457,1
    - Dst: app_provider_load
      Src: /src/openssl/apps/pkcs12.c:460,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:460,1
    - Dst: EVP_des_ede3_cbc
      Src: /src/openssl/apps/pkcs12.c:475,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkcs12.c:483,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:484,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkcs12.c:495,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:496,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:512,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:514,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs12.c:526,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:528,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:533,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:541,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:542,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:549,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:555,1
    - Dst: load_key
      Src: /src/openssl/apps/pkcs12.c:559,1
    - Dst: load_certs
      Src: /src/openssl/apps/pkcs12.c:570,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/pkcs12.c:573,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:574,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/pkcs12.c:580,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/pkcs12.c:581,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/pkcs12.c:582,1
    - Dst: X509_keyid_set1
      Src: /src/openssl/apps/pkcs12.c:585,1
    - Dst: X509_alias_set1
      Src: /src/openssl/apps/pkcs12.c:586,1
    - Dst: sk_X509_delete
      Src: /src/openssl/apps/pkcs12.c:588,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:593,1
    - Dst: load_certs
      Src: /src/openssl/apps/pkcs12.c:603,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:611,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/pkcs12.c:617,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:620,1
    - Dst: setup_verify
      Src: /src/openssl/apps/pkcs12.c:625,1
    - Dst: get_cert_chain
      Src: /src/openssl/apps/pkcs12.c:630,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/pkcs12.c:631,1
    - Dst: X509_free
      Src: /src/openssl/apps/pkcs12.c:636,1
    - Dst: sk_X509_shift
      Src: /src/openssl/apps/pkcs12.c:636,1
    - Dst: X509_add_certs
      Src: /src/openssl/apps/pkcs12.c:638,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/pkcs12.c:640,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:645,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/pkcs12.c:646,1
    - Dst: load_certs
      Src: /src/openssl/apps/pkcs12.c:653,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/pkcs12.c:659,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/pkcs12.c:660,1
    - Dst: X509_alias_set1
      Src: /src/openssl/apps/pkcs12.c:661,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/pkcs12.c:661,1
    - Dst: EVP_PKEY_add1_attr_by_NID
      Src: /src/openssl/apps/pkcs12.c:665,1
    - Dst: EVP_PKEY_add1_attr_by_NID
      Src: /src/openssl/apps/pkcs12.c:670,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs12.c:676,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:678,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:683,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/pkcs12.c:689,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/pkcs12.c:692,1
    - Dst: PKCS12_create_ex2
      Src: /src/openssl/apps/pkcs12.c:695,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:697,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkcs12.c:697,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:701,1
    - Dst: opt_md
      Src: /src/openssl/apps/pkcs12.c:707,1
    - Dst: PKCS12_set_pbmac1_pbkdf2
      Src: /src/openssl/apps/pkcs12.c:713,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:716,1
    - Dst: PKCS12_set_mac
      Src: /src/openssl/apps/pkcs12.c:720,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:721,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:722,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs12.c:728,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkcs12.c:730,1
    - Dst: i2d_PKCS12_bio
      Src: /src/openssl/apps/pkcs12.c:734,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkcs12.c:740,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/pkcs12.c:741,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/pkcs12.c:742,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/pkcs12.c:743,1
    - Dst: X509_free
      Src: /src/openssl/apps/pkcs12.c:744,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/pkcs12.c:745,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:746,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkcs12.c:751,1
    - Dst: PKCS12_init_ex
      Src: /src/openssl/apps/pkcs12.c:755,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:755,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkcs12.c:755,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:757,1
    - Dst: d2i_PKCS12_bio
      Src: /src/openssl/apps/pkcs12.c:760,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:761,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs12.c:768,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:770,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:775,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/pkcs12.c:781,1
    - Dst: PKCS12_mac_present
      Src: /src/openssl/apps/pkcs12.c:783,1
    - Dst: PKCS12_get0_mac
      Src: /src/openssl/apps/pkcs12.c:790,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:793,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:794,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/pkcs12.c:795,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:796,1
    - Dst: PBMAC1_get1_pbkdf2_param
      Src: /src/openssl/apps/pkcs12.c:797,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:800,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:805,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:806,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:807,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:808,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:809,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:813,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:814,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:816,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/pkcs12.c:816,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/apps/pkcs12.c:818,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:820,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:821,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:822,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:823,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:824,1
    - Dst: PKCS12_get0_mac
      Src: /src/openssl/apps/pkcs12.c:832,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:835,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:839,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:841,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/apps/pkcs12.c:844,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkcs12.c:844,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkcs12.c:845,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:847,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:848,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/apps/pkcs12.c:851,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/apps/pkcs12.c:855,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/apps/pkcs12.c:859,1
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/pkcs12.c:867,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/apps/pkcs12.c:869,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/pkcs12.c:870,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:871,1
    - Dst: OPENSSL_asc2uni
      Src: /src/openssl/apps/pkcs12.c:875,1
    - Dst: OPENSSL_uni2utf8
      Src: /src/openssl/apps/pkcs12.c:878,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:879,1
    - Dst: PKCS12_verify_mac
      Src: /src/openssl/apps/pkcs12.c:880,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:881,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:882,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:885,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs12.c:893,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkcs12.c:895,1
    - Dst: dump_certs_keys_p12
      Src: /src/openssl/apps/pkcs12.c:899,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:900,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs12.c:901,1
    - Dst: PKCS12_free
      Src: /src/openssl/apps/pkcs12.c:906,1
    - Dst: release_engine
      Src: /src/openssl/apps/pkcs12.c:907,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkcs12.c:908,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkcs12.c:909,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/pkcs12.c:910,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:911,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:912,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:913,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:914,1
    CyclomaticComplexity: 235
    EdgeCount: 235
    ICount: 607
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 892
        line_start: 892
        source_file: /src/openssl/apps/pkcs12.c
    - condition: (private)
      pos:
        line_end: 727
        line_start: 727
        source_file: /src/openssl/apps/pkcs12.c
    constantsTouched: []
    func_position:
      end: 916
      start: 162
    functionDepth: 10
    functionLinenumber: 162
    functionLinenumberEnd: 916
    functionName: pkcs12_main
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 0
    functionsReached:
    - opt_rand
    - OPENSSL_strlcpy
    - opt_check_rest_arg
    - WARN_NO_EXPORT
    - OSSL_PROVIDER_available
    - WARN_EXPORT
    - app_get0_propq
    - EVP_PKEY_free
    - opt_int_arg
    - ERR_peek_error
    - OBJ_obj2nid
    - OPENSSL_uni2utf8
    - sk_X509_delete
    - setup_engine
    - PKCS12_verify_mac
    - setup_verify
    - get_cert_chain
    - PKCS12_set_pbmac1_pbkdf2
    - PBMAC1_get1_pbkdf2_param
    - PKCS12_set_mac
    - bio_open_default
    - app_passwd
    - ERR_GET_REASON
    - set_pbe
    - OPENSSL_asc2uni
    - release_engine
    - sk_OPENSSL_STRING_push
    - EVP_MD_free
    - sk_X509_shift
    - PKCS12_create_ex2
    - X509_alias_set1
    - OPENSSL_free
    - EVP_read_pw_string
    - EVP_des_ede3_cbc
    - sk_X509_num
    - sk_X509_value
    - PKCS12_mac_present
    - OSSL_STACK_OF_X509_free
    - load_key
    - BIO_puts
    - OBJ_nid2sn
    - opt_cipher_any
    - bio_open_owner
    - i2a_ASN1_OBJECT
    - PBKDF2PARAM_free
    - cert_matches_key
    - opt_next
    - PKCS12_free
    - app_get0_libctx
    - opt_set_unknown_name
    - ERR_print_errors
    - sk_OPENSSL_STRING_value
    - ASN1_INTEGER_get
    - PKCS12_get0_mac
    - X509_STORE_free
    - ASN1_STRING_length
    - opt_md
    - X509_keyid_set1
    - assert
    - app_RAND_load
    - opt_flag
    - BIO_free_all
    - X509_add_certs
    - EVP_PKEY_add1_attr_by_NID
    - BIO_printf
    - EVP_KDF_fetch
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - load_certs
    - sk_OPENSSL_STRING_num
    - opt_arg
    - opt_help
    - dump_certs_keys_p12
    - opt_init
    - OBJ_txt2obj
    - d2i_PKCS12_bio
    - X509_free
    - app_provider_load
    - EVP_aes_256_cbc
    - PKCS12_init_ex
    - opt_unknown
    - ERR_GET_LIB
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - EVP_KDF_free
    - X509_ALGOR_get0
    - X509_verify_cert_error_string
    - i2d_PKCS12_bio
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int pkcs12_main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:920,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:928,1
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/apps/pkcs12.c:928,1
    - Dst: X509_ATTRIBUTE_create
      Src: /src/openssl/apps/pkcs12.c:931,1
    - Dst: X509at_add1_attr
      Src: /src/openssl/apps/pkcs12.c:934,1
    - Dst: PKCS12_SAFEBAG_set0_attrs
      Src: /src/openssl/apps/pkcs12.c:937,1
    - Dst: X509_ATTRIBUTE_free
      Src: /src/openssl/apps/pkcs12.c:939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - bag
    - cbarg
    argTypes:
    - PKCS12_SAFEBAG*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 941
    functionName: jdk_trust
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 0
    functionsReached:
    - X509_ATTRIBUTE_create
    - PKCS12_SAFEBAG_get0_attrs
    - X509_ATTRIBUTE_free
    - X509at_add1_attr
    - STACK_OF
    - PKCS12_SAFEBAG_set0_attrs
    linkageType: ''
    returnType: int
    signature: int jdk_trust(PKCS12_SAFEBAG *bag, void *cbarg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:947,1
    - Dst: PKCS12_unpack_authsafes
      Src: /src/openssl/apps/pkcs12.c:952,1
    - Dst: sk_PKCS7_num
      Src: /src/openssl/apps/pkcs12.c:954,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/pkcs12.c:955,1
    - Dst: sk_PKCS7_value
      Src: /src/openssl/apps/pkcs12.c:957,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:958,1
    - Dst: PKCS12_unpack_p7data
      Src: /src/openssl/apps/pkcs12.c:960,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:962,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:965,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:967,1
    - Dst: alg_print
      Src: /src/openssl/apps/pkcs12.c:969,1
    - Dst: PKCS12_unpack_p7encdata
      Src: /src/openssl/apps/pkcs12.c:972,1
    - Dst: dump_certs_pkeys_bags
      Src: /src/openssl/apps/pkcs12.c:978,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/apps/pkcs12.c:980,1
    - Dst: sk_PKCS12_SAFEBAG_pop_free
      Src: /src/openssl/apps/pkcs12.c:983,1
    - Dst: sk_PKCS7_pop_free
      Src: /src/openssl/apps/pkcs12.c:988,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 7
    argNames:
    - out
    - p12
    - pass
    - passlen
    - options
    - pempass
    - enc
    argTypes:
    - BIO*
    - PKCS12*
    - char*
    - int
    - int
    - char*
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 943
    functionDepth: 6
    functionLinenumber: 943
    functionLinenumberEnd: 990
    functionName: dump_certs_keys_p12
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - PKCS12_unpack_authsafes
    - sk_PKCS12_SAFEBAG_pop_free
    - alg_print
    - STACK_OF
    - PKCS12_unpack_p7data
    - dump_certs_pkeys_bags
    - sk_PKCS7_pop_free
    - sk_PKCS7_value
    - PKCS12_unpack_p7encdata
    - OBJ_obj2nid
    - BIO_printf
    - sk_PKCS7_num
    linkageType: ''
    returnType: int
    signature: "int dump_certs_keys_p12(BIO *out, const PKCS12 *p12, const char *pass,\n
      \                       int passlen, int options, char *pempass,\n                        const
      EVP_CIPHER *enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_PKCS12_SAFEBAG_num
      Src: /src/openssl/apps/pkcs12.c:997,1
    - Dst: dump_certs_pkeys_bag
      Src: /src/openssl/apps/pkcs12.c:998,1
    - Dst: sk_PKCS12_SAFEBAG_value
      Src: /src/openssl/apps/pkcs12.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - out
    - bags
    - pass
    - passlen
    - options
    - pempass
    - enc
    argTypes:
    - BIO*
    - STACK_OF*
    - char*
    - int
    - int
    - char*
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1004
    functionName: dump_certs_pkeys_bags
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - sk_PKCS12_SAFEBAG_num
    - dump_certs_pkeys_bag
    - sk_PKCS12_SAFEBAG_value
    linkageType: ''
    returnType: int
    signature: "int dump_certs_pkeys_bags(BIO *out, const STACK_OF(PKCS12_SAFEBAG)
      *bags,\n                          const char *pass, int passlen, int options,\n
      \                         char *pempass, const EVP_CIPHER *enc)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: PKCS12_SAFEBAG_get0_attrs
      Src: /src/openssl/apps/pkcs12.c:1017,1
    - Dst: PKCS12_SAFEBAG_get_nid
      Src: /src/openssl/apps/pkcs12.c:1019,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1022,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1025,1
    - Dst: PKCS12_SAFEBAG_get0_p8inf
      Src: /src/openssl/apps/pkcs12.c:1026,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/apps/pkcs12.c:1027,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1029,1
    - Dst: PKCS8_pkey_get0_attrs
      Src: /src/openssl/apps/pkcs12.c:1029,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/pkcs12.c:1030,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkcs12.c:1031,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1039,1
    - Dst: PKCS12_SAFEBAG_get0_pkcs8
      Src: /src/openssl/apps/pkcs12.c:1040,1
    - Dst: X509_SIG_get0
      Src: /src/openssl/apps/pkcs12.c:1041,1
    - Dst: alg_print
      Src: /src/openssl/apps/pkcs12.c:1042,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1046,1
    - Dst: PKCS12_decrypt_skey
      Src: /src/openssl/apps/pkcs12.c:1047,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/apps/pkcs12.c:1049,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/apps/pkcs12.c:1050,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1053,1
    - Dst: PKCS8_pkey_get0_attrs
      Src: /src/openssl/apps/pkcs12.c:1053,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/apps/pkcs12.c:1054,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/pkcs12.c:1055,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkcs12.c:1056,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1061,1
    - Dst: PKCS12_SAFEBAG_get0_attr
      Src: /src/openssl/apps/pkcs12.c:1064,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1069,1
    - Dst: PKCS12_SAFEBAG_get_bag_nid
      Src: /src/openssl/apps/pkcs12.c:1070,1
    - Dst: PKCS12_SAFEBAG_get1_cert
      Src: /src/openssl/apps/pkcs12.c:1072,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/pkcs12.c:1074,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/pkcs12.c:1075,1
    - Dst: X509_free
      Src: /src/openssl/apps/pkcs12.c:1076,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1081,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1082,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1083,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/pkcs12.c:1084,1
    - Dst: PKCS12_SAFEBAG_get0_bag_type
      Src: /src/openssl/apps/pkcs12.c:1084,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1085,1
    - Dst: print_attribute
      Src: /src/openssl/apps/pkcs12.c:1086,1
    - Dst: PKCS12_SAFEBAG_get0_bag_obj
      Src: /src/openssl/apps/pkcs12.c:1086,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1091,1
    - Dst: print_attribs
      Src: /src/openssl/apps/pkcs12.c:1092,1
    - Dst: dump_certs_pkeys_bags
      Src: /src/openssl/apps/pkcs12.c:1093,1
    - Dst: PKCS12_SAFEBAG_get0_safes
      Src: /src/openssl/apps/pkcs12.c:1093,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1097,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/pkcs12.c:1098,1
    - Dst: PKCS12_SAFEBAG_get0_type
      Src: /src/openssl/apps/pkcs12.c:1098,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1099,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 7
    argNames:
    - out
    - bag
    - pass
    - passlen
    - options
    - pempass
    - enc
    argTypes:
    - BIO*
    - PKCS12_SAFEBAG*
    - char*
    - int
    - int
    - char*
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1006
    functionDepth: 7
    functionLinenumber: 1006
    functionLinenumberEnd: 1103
    functionName: dump_certs_pkeys_bag
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - X509_SIG_get0
    - PEM_write_bio_X509
    - X509_free
    - print_attribute
    - PKCS12_decrypt_skey
    - PKCS8_PRIV_KEY_INFO_free
    - PKCS8_pkey_get0_attrs
    - PKCS12_SAFEBAG_get0_safes
    - EVP_PKCS82PKEY
    - EVP_PKEY_free
    - dump_cert_text
    - PKCS12_SAFEBAG_get0_type
    - BIO_printf
    - PKCS12_SAFEBAG_get_nid
    - PEM_write_bio_PrivateKey
    - i2a_ASN1_OBJECT
    - PKCS12_SAFEBAG_get0_attr
    - PKCS12_SAFEBAG_get1_cert
    - print_attribs
    - PKCS12_SAFEBAG_get_bag_nid
    - PKCS12_SAFEBAG_get0_bag_obj
    - PKCS12_SAFEBAG_get0_attrs
    - alg_print
    - PKCS12_SAFEBAG_get0_p8inf
    - PKCS12_SAFEBAG_get0_bag_type
    - dump_certs_pkeys_bags
    - PKCS12_SAFEBAG_get0_pkcs8
    linkageType: ''
    returnType: int
    signature: "int dump_certs_pkeys_bag(BIO *out, const PKCS12_SAFEBAG *bag,\n                         const
      char *pass, int passlen, int options,\n                         char *pempass,
      const EVP_CIPHER *enc)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:1144,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1146,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1148,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/pkcs12.c:1148,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/apps/pkcs12.c:1158,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/pkcs12.c:1158,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1160,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:1163,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1164,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:1165,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1166,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1167,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/pkcs12.c:1167,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/pkcs12.c:1168,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/apps/pkcs12.c:1174,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/pkcs12.c:1174,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1176,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/pkcs12.c:1183,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1184,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1186,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1187,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/pkcs12.c:1187,1
    - Dst: PBKDF2PARAM_free
      Src: /src/openssl/apps/pkcs12.c:1188,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/apps/pkcs12.c:1194,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/pkcs12.c:1194,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1196,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1199,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/pkcs12.c:1201,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1202,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1203,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1204,1
    - Dst: SCRYPT_PARAMS_free
      Src: /src/openssl/apps/pkcs12.c:1205,1
    - Dst: PBE2PARAM_free
      Src: /src/openssl/apps/pkcs12.c:1208,1
    - Dst: ASN1_item_unpack
      Src: /src/openssl/apps/pkcs12.c:1211,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/pkcs12.c:1211,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1213,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1216,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/pkcs12.c:1216,1
    - Dst: PBEPARAM_free
      Src: /src/openssl/apps/pkcs12.c:1217,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/pkcs12.c:1220,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 1
    argNames:
    - alg
    argTypes:
    - X509_ALGOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1137
    functionDepth: 6
    functionLinenumber: 1137
    functionLinenumberEnd: 1222
    functionName: alg_print
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - OBJ_nid2sn
    - ASN1_INTEGER_get
    - ASN1_STRING_length
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    - SCRYPT_PARAMS_free
    - PBKDF2PARAM_free
    - ASN1_item_unpack
    - PBEPARAM_free
    - OBJ_nid2ln
    - PBE2PARAM_free
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int alg_print(const X509_ALGOR *alg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_uni2asc
      Src: /src/openssl/apps/pkcs12.c:1251,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1253,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs12.c:1254,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1258,1
    - Dst: hex_prin
      Src: /src/openssl/apps/pkcs12.c:1263,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1265,1
    - Dst: hex_prin
      Src: /src/openssl/apps/pkcs12.c:1269,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1271,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/pkcs12.c:1275,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1275,1
    - Dst: OBJ_obj2txt
      Src: /src/openssl/apps/pkcs12.c:1278,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1279,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1280,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - out
    - av
    argTypes:
    - BIO*
    - ASN1_TYPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1243
    functionDepth: 7
    functionLinenumber: 1243
    functionLinenumberEnd: 1287
    functionName: print_attribute
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 2
    functionsReached:
    - OPENSSL_uni2asc
    - OBJ_obj2txt
    - OPENSSL_free
    - hex_prin
    - OBJ_nid2ln
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_attribute(BIO *out, const ASN1_TYPE *av)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1298,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/apps/pkcs12.c:1301,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1302,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1305,1
    - Dst: sk_X509_ATTRIBUTE_num
      Src: /src/openssl/apps/pkcs12.c:1306,1
    - Dst: sk_X509_ATTRIBUTE_value
      Src: /src/openssl/apps/pkcs12.c:1308,1
    - Dst: X509_ATTRIBUTE_get0_object
      Src: /src/openssl/apps/pkcs12.c:1309,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/pkcs12.c:1310,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1311,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/pkcs12.c:1313,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1314,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1316,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/pkcs12.c:1316,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/apps/pkcs12.c:1319,1
    - Dst: X509_ATTRIBUTE_count
      Src: /src/openssl/apps/pkcs12.c:1320,1
    - Dst: X509_ATTRIBUTE_get0_type
      Src: /src/openssl/apps/pkcs12.c:1321,1
    - Dst: print_attribute
      Src: /src/openssl/apps/pkcs12.c:1322,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - out
    - attrlst
    - name
    argTypes:
    - BIO*
    - STACK_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1291
    functionDepth: 6
    functionLinenumber: 1291
    functionLinenumberEnd: 1329
    functionName: print_attribs
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - X509_ATTRIBUTE_get0_object
    - sk_X509_ATTRIBUTE_value
    - X509_ATTRIBUTE_count
    - i2a_ASN1_OBJECT
    - print_attribute
    - OBJ_nid2ln
    - X509_ATTRIBUTE_get0_type
    - sk_X509_ATTRIBUTE_num
    - OBJ_obj2nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int print_attribs(BIO *out, const STACK_OF(X509_ATTRIBUTE) *attrlst,\n
      \                 const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - out
    - buf
    - len
    argTypes:
    - BIO*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1331
    functionDepth: 2
    functionLinenumber: 1331
    functionLinenumberEnd: 1336
    functionName: hex_prin
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void hex_prin(BIO *out, unsigned char *buf, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/pkcs12.c:1342,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/pkcs12.c:1346,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs12.c:1348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ppbe
    - str
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1338
    functionDepth: 8
    functionLinenumber: 1338
    functionLinenumberEnd: 1352
    functionName: set_pbe
    functionSourceFile: /src/openssl/apps/pkcs12.c
    functionUses: 1
    functionsReached:
    - strcmp
    - BIO_printf
    - OBJ_txt2nid
    linkageType: ''
    returnType: int
    signature: int set_pbe(int *ppbe, const char *str)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_new
      Src: /src/openssl/apps/genrsa.c:78,1
    - Dst: BN_new
      Src: /src/openssl/apps/genrsa.c:80,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/genrsa.c:95,1
    - Dst: opt_init
      Src: /src/openssl/apps/genrsa.c:96,1
    - Dst: opt_next
      Src: /src/openssl/apps/genrsa.c:97,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:102,1
    - Dst: opt_help
      Src: /src/openssl/apps/genrsa.c:106,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genrsa.c:117,1
    - Dst: setup_engine
      Src: /src/openssl/apps/genrsa.c:120,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genrsa.c:120,1
    - Dst: opt_rand
      Src: /src/openssl/apps/genrsa.c:123,1
    - Dst: opt_provider
      Src: /src/openssl/apps/genrsa.c:127,1
    - Dst: opt_arg
      Src: /src/openssl/apps/genrsa.c:131,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/genrsa.c:134,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/genrsa.c:137,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/genrsa.c:152,1
    - Dst: opt_rest
      Src: /src/openssl/apps/genrsa.c:153,1
    - Dst: opt_int
      Src: /src/openssl/apps/genrsa.c:156,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:159,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/genrsa.c:163,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/genrsa.c:167,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/genrsa.c:171,1
    - Dst: app_passwd
      Src: /src/openssl/apps/genrsa.c:173,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:174,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/genrsa.c:178,1
    - Dst: init_gen_str
      Src: /src/openssl/apps/genrsa.c:182,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/genrsa.c:182,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/genrsa.c:183,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/openssl/apps/genrsa.c:187,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/openssl/apps/genrsa.c:188,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/openssl/apps/genrsa.c:190,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:191,1
    - Dst: BN_set_word
      Src: /src/openssl/apps/genrsa.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:195,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/openssl/apps/genrsa.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:199,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_primes
      Src: /src/openssl/apps/genrsa.c:202,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:203,1
    - Dst: app_keygen
      Src: /src/openssl/apps/genrsa.c:206,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/genrsa.c:214,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:216,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/genrsa.c:219,1
    - Dst: BN_bn2dec
      Src: /src/openssl/apps/genrsa.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/genrsa.c:222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/genrsa.c:224,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/genrsa.c:225,1
    - Dst: BN_free
      Src: /src/openssl/apps/genrsa.c:226,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/apps/genrsa.c:229,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/genrsa.c:233,1
    - Dst: BN_free
      Src: /src/openssl/apps/genrsa.c:239,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/apps/genrsa.c:240,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/genrsa.c:241,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/genrsa.c:242,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/genrsa.c:243,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/genrsa.c:244,1
    - Dst: release_engine
      Src: /src/openssl/apps/genrsa.c:245,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/genrsa.c:246,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/genrsa.c:248,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 160
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 250
    functionName: genrsa_main
    functionSourceFile: /src/openssl/apps/genrsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_app_data
    - opt_rand
    - opt_check_rest_arg
    - OPENSSL_free
    - EVP_PKEY_get_bn_param
    - app_RAND_load
    - BN_bn2hex
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - BN_set_word
    - app_keygen
    - app_get0_propq
    - PEM_write_bio_PrivateKey_traditional
    - EVP_PKEY_CTX_free
    - opt_unknown
    - EVP_PKEY_free
    - opt_int_arg
    - EVP_PKEY_CTX_set_cb
    - BN_new
    - EVP_CIPHER_free
    - BIO_free_all
    - opt_rest
    - BN_free
    - BIO_printf
    - EVP_PKEY_CTX_set_rsa_keygen_primes
    - BN_GENCB_new
    - BN_bn2dec
    - opt_provider
    - setup_engine
    - PEM_write_bio_PrivateKey
    - bio_open_owner
    - opt_cipher
    - opt_arg
    - opt_num_rest
    - opt_help
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - opt_next
    - opt_init
    - init_gen_str
    - opt_int
    - app_passwd
    - app_get0_libctx
    - opt_set_unknown_name
    - BN_GENCB_free
    - ERR_print_errors
    - release_engine
    linkageType: ''
    returnType: int
    signature: int genrsa_main(int argc, char **argv)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/pkeyparam.c:56,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkeyparam.c:57,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyparam.c:62,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkeyparam.c:65,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyparam.c:69,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyparam.c:72,1
    - Dst: setup_engine
      Src: /src/openssl/apps/pkeyparam.c:75,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkeyparam.c:75,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkeyparam.c:87,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkeyparam.c:94,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkeyparam.c:97,1
    - Dst: PEM_read_bio_Parameters_ex
      Src: /src/openssl/apps/pkeyparam.c:100,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkeyparam.c:100,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkeyparam.c:101,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyparam.c:103,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyparam.c:104,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkeyparam.c:107,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/pkeyparam.c:113,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/pkeyparam.c:113,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/pkeyparam.c:114,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/apps/pkeyparam.c:116,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyparam.c:118,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/apps/pkeyparam.c:122,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyparam.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkeyparam.c:131,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkeyparam.c:132,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/openssl/apps/pkeyparam.c:138,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/pkeyparam.c:141,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/pkeyparam.c:146,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkeyparam.c:147,1
    - Dst: release_engine
      Src: /src/openssl/apps/pkeyparam.c:148,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkeyparam.c:149,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkeyparam.c:150,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 46
    functionDepth: 9
    functionLinenumber: 46
    functionLinenumberEnd: 153
    functionName: pkeyparam_main
    functionSourceFile: /src/openssl/apps/pkeyparam.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_param_check
    - EVP_PKEY_CTX_new
    - opt_check_rest_arg
    - PEM_write_bio_Parameters
    - app_get0_propq
    - PEM_read_bio_Parameters_ex
    - EVP_PKEY_CTX_free
    - EVP_PKEY_free
    - BIO_free_all
    - BIO_printf
    - opt_provider
    - BIO_free
    - setup_engine
    - EVP_PKEY_CTX_new_from_pkey
    - opt_arg
    - EVP_PKEY_print_params
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - app_get0_libctx
    - ERR_print_errors
    - release_engine
    linkageType: ''
    returnType: int
    signature: int pkeyparam_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - st
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: set_dsa_ptr
    functionSourceFile: /src/openssl/apps/testdsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_dsa_ptr(st, bits)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: set_dsa_ptr
      Src: /src/openssl/apps/testdsa.h:227,1
    - Dst: set_dsa_ptr
      Src: /src/openssl/apps/testdsa.h:230,1
    - Dst: set_dsa_ptr
      Src: /src/openssl/apps/testdsa.h:233,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/apps/testdsa.h:239,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:242,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:243,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:244,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:245,1
    - Dst: BN_bin2bn
      Src: /src/openssl/apps/testdsa.h:246,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/apps/testdsa.h:251,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:252,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:254,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:256,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:258,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/apps/testdsa.h:260,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/apps/testdsa.h:262,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/apps/testdsa.h:265,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/apps/testdsa.h:266,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/apps/testdsa.h:270,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/apps/testdsa.h:271,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:272,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:273,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:274,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:275,1
    - Dst: BN_free
      Src: /src/openssl/apps/testdsa.h:276,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/testdsa.h:277,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - dsa_bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 279
    functionName: get_dsa
    functionSourceFile: /src/openssl/apps/testdsa.h
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_name
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_CTX_free
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - set_dsa_ptr
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *get_dsa(int dsa_bits)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/storeutl.c:89,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/storeutl.c:91,1
    - Dst: opt_init
      Src: /src/openssl/apps/storeutl.c:92,1
    - Dst: opt_next
      Src: /src/openssl/apps/storeutl.c:93,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:98,1
    - Dst: opt_help
      Src: /src/openssl/apps/storeutl.c:101,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:105,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:108,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:123,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/storeutl.c:138,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/storeutl.c:148,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:153,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:159,1
    - Dst: parse_name
      Src: /src/openssl/apps/storeutl.c:163,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:163,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:170,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:176,1
    - Dst: parse_name
      Src: /src/openssl/apps/storeutl.c:180,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:180,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:187,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:193,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/storeutl.c:197,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:198,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:205,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:211,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/storeutl.c:218,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:218,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:236,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/storeutl.c:240,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:240,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:241,1
    - Dst: setup_engine
      Src: /src/openssl/apps/storeutl.c:247,1
    - Dst: opt_arg
      Src: /src/openssl/apps/storeutl.c:247,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/storeutl.c:250,1
    - Dst: opt_provider
      Src: /src/openssl/apps/storeutl.c:253,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/storeutl.c:260,1
    - Dst: opt_rest
      Src: /src/openssl/apps/storeutl.c:262,1
    - Dst: opt_md
      Src: /src/openssl/apps/storeutl.c:264,1
    - Dst: OSSL_STORE_SEARCH_by_name
      Src: /src/openssl/apps/storeutl.c:270,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:271,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:277,1
    - Dst: OSSL_STORE_SEARCH_by_issuer_serial
      Src: /src/openssl/apps/storeutl.c:282,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:284,1
    - Dst: OSSL_STORE_SEARCH_by_key_fingerprint
      Src: /src/openssl/apps/storeutl.c:289,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:293,1
    - Dst: OSSL_STORE_SEARCH_by_alias
      Src: /src/openssl/apps/storeutl.c:298,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:299,1
    - Dst: app_passwd
      Src: /src/openssl/apps/storeutl.c:306,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:307,1
    - Dst: process
      Src: /src/openssl/apps/storeutl.c:313,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/storeutl.c:313,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/storeutl.c:318,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/storeutl.c:319,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/storeutl.c:320,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/storeutl.c:321,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/storeutl.c:322,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/storeutl.c:323,1
    - Dst: OSSL_STORE_SEARCH_free
      Src: /src/openssl/apps/storeutl.c:324,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/storeutl.c:325,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/storeutl.c:326,1
    - Dst: release_engine
      Src: /src/openssl/apps/storeutl.c:327,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 217
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 72
    functionDepth: 7
    functionLinenumber: 72
    functionLinenumberEnd: 329
    functionName: storeutl_main
    functionSourceFile: /src/openssl/apps/storeutl.c
    functionUses: 0
    functionsReached:
    - process
    - EVP_MD_free
    - OSSL_STORE_SEARCH_free
    - OSSL_STORE_SEARCH_by_issuer_serial
    - opt_check_rest_arg
    - OPENSSL_free
    - ASN1_INTEGER_free
    - OSSL_STORE_SEARCH_by_alias
    - opt_md
    - X509_NAME_free
    - OSSL_STORE_SEARCH_by_name
    - BIO_free_all
    - opt_unknown
    - OPENSSL_strdup
    - opt_rest
    - BIO_printf
    - opt_provider
    - OPENSSL_assert
    - setup_engine
    - OSSL_STORE_SEARCH_by_key_fingerprint
    - s2i_ASN1_INTEGER
    - opt_arg
    - get_ui_method
    - opt_help
    - opt_next
    - opt_init
    - app_passwd
    - OPENSSL_hexstr2buf
    - OSSL_NELEM
    - app_get0_libctx
    - opt_set_unknown_name
    - ERR_print_errors
    - parse_name
    - release_engine
    linkageType: ''
    returnType: int
    signature: int storeutl_main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/apps/storeutl.c:336,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:338,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/storeutl.c:338,1
    - Dst: va_end
      Src: /src/openssl/apps/storeutl.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - indent
    - bio
    - format
    argTypes:
    - int
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: indent_printf
    functionSourceFile: /src/openssl/apps/storeutl.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int indent_printf(int indent, BIO *bio, const char *format, ...)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/apps/storeutl.c:352,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/storeutl.c:352,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:355,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:356,1
    - Dst: OSSL_STORE_expect
      Src: /src/openssl/apps/storeutl.c:361,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:362,1
    - Dst: OSSL_STORE_supports_search
      Src: /src/openssl/apps/storeutl.c:368,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:369,1
    - Dst: OSSL_STORE_find
      Src: /src/openssl/apps/storeutl.c:375,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:376,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/apps/storeutl.c:385,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/apps/storeutl.c:386,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/openssl/apps/storeutl.c:388,1
    - Dst: OSSL_STORE_error
      Src: /src/openssl/apps/storeutl.c:391,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/storeutl.c:393,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:395,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/apps/storeutl.c:396,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/apps/storeutl.c:402,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:405,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:408,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:409,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/openssl/apps/storeutl.c:415,1
    - Dst: OSSL_STORE_INFO_get0_NAME_description
      Src: /src/openssl/apps/storeutl.c:416,1
    - Dst: indent_printf
      Src: /src/openssl/apps/storeutl.c:417,1
    - Dst: indent_printf
      Src: /src/openssl/apps/storeutl.c:420,1
    - Dst: indent_printf
      Src: /src/openssl/apps/storeutl.c:422,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/storeutl.c:426,1
    - Dst: OSSL_STORE_INFO_get0_NAME
      Src: /src/openssl/apps/storeutl.c:440,1
    - Dst: process
      Src: /src/openssl/apps/storeutl.c:441,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/apps/storeutl.c:449,1
    - Dst: OSSL_STORE_INFO_get0_PARAMS
      Src: /src/openssl/apps/storeutl.c:449,1
    - Dst: PEM_write_bio_Parameters
      Src: /src/openssl/apps/storeutl.c:452,1
    - Dst: OSSL_STORE_INFO_get0_PARAMS
      Src: /src/openssl/apps/storeutl.c:453,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/storeutl.c:457,1
    - Dst: OSSL_STORE_INFO_get0_PUBKEY
      Src: /src/openssl/apps/storeutl.c:457,1
    - Dst: PEM_write_bio_PUBKEY
      Src: /src/openssl/apps/storeutl.c:460,1
    - Dst: OSSL_STORE_INFO_get0_PUBKEY
      Src: /src/openssl/apps/storeutl.c:460,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/storeutl.c:464,1
    - Dst: OSSL_STORE_INFO_get0_PKEY
      Src: /src/openssl/apps/storeutl.c:464,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/storeutl.c:467,1
    - Dst: OSSL_STORE_INFO_get0_PKEY
      Src: /src/openssl/apps/storeutl.c:467,1
    - Dst: X509_print
      Src: /src/openssl/apps/storeutl.c:472,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/openssl/apps/storeutl.c:472,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/storeutl.c:474,1
    - Dst: OSSL_STORE_INFO_get0_CERT
      Src: /src/openssl/apps/storeutl.c:474,1
    - Dst: X509_CRL_print
      Src: /src/openssl/apps/storeutl.c:478,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/openssl/apps/storeutl.c:478,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/storeutl.c:480,1
    - Dst: OSSL_STORE_INFO_get0_CRL
      Src: /src/openssl/apps/storeutl.c:480,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/storeutl.c:483,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/apps/storeutl.c:488,1
    - Dst: indent_printf
      Src: /src/openssl/apps/storeutl.c:490,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/apps/storeutl.c:493,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/storeutl.c:494,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 111
    argCount: 13
    argNames:
    - uri
    - uimeth
    - uidata
    - expected
    - criterion
    - search
    - text
    - noout
    - recursive
    - indent
    - outfile
    - prog
    - libctx
    argTypes:
    - char*
    - UI_METHOD*
    - PW_CB_DATA*
    - int
    - int
    - OSSL_STORE_SEARCH*
    - int
    - int
    - int
    - int
    - char*
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 344
    functionDepth: 12
    functionLinenumber: 344
    functionLinenumberEnd: 499
    functionName: process
    functionSourceFile: /src/openssl/apps/storeutl.c
    functionUses: 17
    functionsReached:
    - process
    - OSSL_STORE_INFO_get_type
    - PEM_write_bio_X509
    - OSSL_STORE_INFO_get0_NAME_description
    - OSSL_STORE_INFO_get0_CERT
    - PEM_write_bio_Parameters
    - X509_print
    - ERR_clear_error
    - X509_CRL_print
    - OSSL_STORE_INFO_type_string
    - app_get0_propq
    - OSSL_STORE_supports_search
    - OSSL_STORE_INFO_free
    - BIO_printf
    - OSSL_STORE_INFO_get0_PARAMS
    - indent_printf
    - OSSL_STORE_expect
    - OSSL_STORE_find
    - OSSL_STORE_load
    - OSSL_STORE_eof
    - PEM_write_bio_PUBKEY
    - PEM_write_bio_PrivateKey
    - OSSL_STORE_INFO_get0_CRL
    - OSSL_STORE_open_ex
    - OSSL_STORE_INFO_get0_NAME
    - OSSL_STORE_error
    - EVP_PKEY_print_params
    - EVP_PKEY_print_public
    - bio_open_default
    - PEM_write_bio_X509_CRL
    - OSSL_STORE_close
    - OSSL_STORE_INFO_get0_PUBKEY
    - ERR_print_errors
    - OSSL_STORE_INFO_get0_PKEY
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: "int process(const char *uri, const UI_METHOD *uimeth, PW_CB_DATA *uidata,\n
      \                  int expected, int criterion, OSSL_STORE_SEARCH *search,\n
      \                  int text, int noout, int recursive, int indent, const char
      *outfile,\n                   const char *prog, OSSL_LIB_CTX *libctx)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/rsautl.c:88,1
    - Dst: opt_next
      Src: /src/openssl/apps/rsautl.c:89,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsautl.c:94,1
    - Dst: opt_help
      Src: /src/openssl/apps/rsautl.c:97,1
    - Dst: opt_format
      Src: /src/openssl/apps/rsautl.c:101,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:101,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:105,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:108,1
    - Dst: setup_engine
      Src: /src/openssl/apps/rsautl.c:111,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:111,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:155,1
    - Dst: opt_arg
      Src: /src/openssl/apps/rsautl.c:158,1
    - Dst: opt_rand
      Src: /src/openssl/apps/rsautl.c:161,1
    - Dst: opt_provider
      Src: /src/openssl/apps/rsautl.c:165,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/rsautl.c:172,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/rsautl.c:175,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsautl.c:179,1
    - Dst: app_passwd
      Src: /src/openssl/apps/rsautl.c:183,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsautl.c:184,1
    - Dst: load_key
      Src: /src/openssl/apps/rsautl.c:190,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/rsautl.c:194,1
    - Dst: load_cert
      Src: /src/openssl/apps/rsautl.c:198,1
    - Dst: X509_get_pubkey
      Src: /src/openssl/apps/rsautl.c:200,1
    - Dst: X509_free
      Src: /src/openssl/apps/rsautl.c:201,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/rsautl.c:209,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/rsautl.c:212,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/apps/rsautl.c:216,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rsautl.c:218,1
    - Dst: app_malloc
      Src: /src/openssl/apps/rsautl.c:219,1
    - Dst: BIO_read
      Src: /src/openssl/apps/rsautl.c:223,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsautl.c:225,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/rsautl.c:240,1
    - Dst: EVP_PKEY_verify_recover_init
      Src: /src/openssl/apps/rsautl.c:245,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/apps/rsautl.c:246,1
    - Dst: EVP_PKEY_verify_recover
      Src: /src/openssl/apps/rsautl.c:247,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/openssl/apps/rsautl.c:251,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/apps/rsautl.c:252,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/apps/rsautl.c:253,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/apps/rsautl.c:256,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/apps/rsautl.c:257,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/apps/rsautl.c:258,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/apps/rsautl.c:261,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/apps/rsautl.c:262,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/apps/rsautl.c:263,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/rsautl.c:268,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsautl.c:269,1
    - Dst: ASN1_parse_dump
      Src: /src/openssl/apps/rsautl.c:274,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/rsautl.c:275,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/rsautl.c:278,1
    - Dst: BIO_write
      Src: /src/openssl/apps/rsautl.c:280,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/rsautl.c:283,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/rsautl.c:284,1
    - Dst: release_engine
      Src: /src/openssl/apps/rsautl.c:285,1
    - Dst: BIO_free
      Src: /src/openssl/apps/rsautl.c:286,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/rsautl.c:287,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsautl.c:288,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsautl.c:289,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/rsautl.c:290,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 193
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 72
    functionDepth: 6
    functionLinenumber: 72
    functionLinenumberEnd: 292
    functionName: rsautl_main
    functionSourceFile: /src/openssl/apps/rsautl.c
    functionUses: 0
    functionsReached:
    - load_pubkey
    - load_cert
    - EVP_PKEY_verify_recover_init
    - opt_rand
    - opt_check_rest_arg
    - X509_free
    - EVP_PKEY_get_size
    - OPENSSL_free
    - app_malloc
    - app_RAND_load
    - BIO_write
    - ASN1_parse_dump
    - EVP_PKEY_free
    - BIO_free_all
    - EVP_PKEY_CTX_free
    - X509_get_pubkey
    - BIO_read
    - EVP_PKEY_verify_recover
    - BIO_printf
    - EVP_PKEY_sign_init
    - load_key
    - EVP_PKEY_CTX_set_rsa_padding
    - opt_provider
    - EVP_PKEY_decrypt_init
    - BIO_free
    - setup_engine
    - EVP_PKEY_encrypt_init
    - BIO_dump
    - EVP_PKEY_CTX_new_from_pkey
    - opt_arg
    - opt_help
    - EVP_PKEY_encrypt
    - EVP_PKEY_decrypt
    - opt_next
    - opt_init
    - bio_open_default
    - app_passwd
    - opt_format
    - ERR_print_errors
    - EVP_PKEY_sign
    - release_engine
    linkageType: ''
    returnType: int
    signature: int rsautl_main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:45,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:46,1
    - Dst: strcmp
      Src: /src/openssl/apps/srp.c:48,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:52,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:53,1
    - Dst: strcmp
      Src: /src/openssl/apps/srp.c:56,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - db
    - id
    - type
    argTypes:
    - CA_DB*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: get_index
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - sk_OPENSSL_PSTRING_value
    - sk_OPENSSL_PSTRING_num
    linkageType: ''
    returnType: int
    signature: int get_index(CA_DB *db, char *id, char type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:69,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - db
    - indx
    - verbose
    - s
    argTypes:
    - CA_DB*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: print_entry
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_PSTRING_value
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_entry(CA_DB *db, int indx, int verbose, char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_entry
      Src: /src/openssl/apps/srp.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - indexindex
    - verbose
    argTypes:
    - CA_DB*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: print_index
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - print_entry
    linkageType: ''
    returnType: void
    signature: void print_index(CA_DB *db, int indexindex, int verbose)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:84,1
    - Dst: print_entry
      Src: /src/openssl/apps/srp.c:87,1
    - Dst: print_entry
      Src: /src/openssl/apps/srp.c:88,1
    - Dst: get_index
      Src: /src/openssl/apps/srp.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - db
    - userindex
    - verbose
    argTypes:
    - CA_DB*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: print_user
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_PSTRING_value
    - print_entry
    - get_index
    linkageType: ''
    returnType: void
    signature: void print_user(CA_DB *db, int userindex, int verbose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/srp.c:100,1
    - Dst: TXT_DB_insert
      Src: /src/openssl/apps/srp.c:105,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - db
    - row
    argTypes:
    - CA_DB*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: update_index
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - TXT_DB_insert
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int update_index(CA_DB *db, char **row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/srp.c:116,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - conf
    - section
    - tag
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: lookup_conf
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 1
    functionsReached:
    - NCONF_get_string
    - BIO_printf
    linkageType: ''
    returnType: char
    signature: char *lookup_conf(const CONF *conf, const char *section, const char
      *tag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: password_callback
      Src: /src/openssl/apps/srp.c:135,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:139,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:143,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/srp.c:145,1
    - Dst: SRP_create_verifier
      Src: /src/openssl/apps/srp.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:148,1
    - Dst: strcmp
      Src: /src/openssl/apps/srp.c:150,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:152,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/srp.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - user
    - srp_verifier
    - srp_usersalt
    - g
    - N
    - passin
    - verbose
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 157
    functionName: srp_verify_user
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - SRP_create_verifier
    - OPENSSL_assert
    - OPENSSL_free
    - strcmp
    - OPENSSL_cleanse
    - password_callback
    - BIO_printf
    linkageType: ''
    returnType: char
    signature: "char *srp_verify_user(const char *user, const char *srp_verifier,\n
      \                            char *srp_usersalt, const char *g, const char *N,\n
      \                            const char *passin, int verbose)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: password_callback
      Src: /src/openssl/apps/srp.c:171,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:175,1
    - Dst: SRP_create_verifier
      Src: /src/openssl/apps/srp.c:177,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:179,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/srp.c:183,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - user
    - srp_verifier
    - srp_usersalt
    - g
    - N
    - passout
    - verbose
    argTypes:
    - char*
    - char**
    - char**
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 159
    functionDepth: 7
    functionLinenumber: 159
    functionLinenumberEnd: 190
    functionName: srp_create_user
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - SRP_create_verifier
    - OPENSSL_cleanse
    - password_callback
    - BIO_printf
    linkageType: ''
    returnType: char
    signature: "char *srp_create_user(char *user, char **srp_verifier,\n                             char
      **srp_usersalt, char *g, char *N,\n                             char *passout,
      int verbose)"
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/srp.c:246,1
    - Dst: opt_next
      Src: /src/openssl/apps/srp.c:247,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:252,1
    - Dst: opt_help
      Src: /src/openssl/apps/srp.c:255,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:262,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:265,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:268,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:275,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:283,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:286,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:289,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:292,1
    - Dst: setup_engine
      Src: /src/openssl/apps/srp.c:295,1
    - Dst: opt_arg
      Src: /src/openssl/apps/srp.c:295,1
    - Dst: opt_rand
      Src: /src/openssl/apps/srp.c:298,1
    - Dst: opt_provider
      Src: /src/openssl/apps/srp.c:302,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/srp.c:309,1
    - Dst: opt_rest
      Src: /src/openssl/apps/srp.c:310,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/srp.c:312,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:316,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:321,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:327,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:333,1
    - Dst: app_passwd
      Src: /src/openssl/apps/srp.c:338,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:339,1
    - Dst: app_load_config_verbose
      Src: /src/openssl/apps/srp.c:347,1
    - Dst: app_load_modules
      Src: /src/openssl/apps/srp.c:350,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:356,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/srp.c:360,1
    - Dst: app_RAND_load_conf
      Src: /src/openssl/apps/srp.c:365,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:368,1
    - Dst: lookup_conf
      Src: /src/openssl/apps/srp.c:372,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:378,1
    - Dst: load_index
      Src: /src/openssl/apps/srp.c:381,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:383,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:388,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:389,1
    - Dst: strcmp
      Src: /src/openssl/apps/srp.c:393,1
    - Dst: print_index
      Src: /src/openssl/apps/srp.c:396,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:401,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:404,1
    - Dst: print_entry
      Src: /src/openssl/apps/srp.c:405,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/apps/srp.c:406,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:407,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:411,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:416,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:422,1
    - Dst: get_index
      Src: /src/openssl/apps/srp.c:423,1
    - Dst: print_user
      Src: /src/openssl/apps/srp.c:424,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:428,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:430,1
    - Dst: print_user
      Src: /src/openssl/apps/srp.c:431,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:433,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:441,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:442,1
    - Dst: srp_create_user
      Src: /src/openssl/apps/srp.c:454,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:459,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/srp.c:465,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/srp.c:466,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/srp.c:467,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/srp.c:475,1
    - Dst: update_index
      Src: /src/openssl/apps/srp.c:476,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:477,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:478,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:479,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:480,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:481,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:482,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:489,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:496,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:499,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:510,1
    - Dst: get_index
      Src: /src/openssl/apps/srp.c:514,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:516,1
    - Dst: srp_verify_user
      Src: /src/openssl/apps/srp.c:519,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:524,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:532,1
    - Dst: srp_create_user
      Src: /src/openssl/apps/srp.c:537,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:542,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/srp.c:550,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/srp.c:558,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:567,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:572,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:574,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:587,1
    - Dst: sk_OPENSSL_PSTRING_num
      Src: /src/openssl/apps/srp.c:591,1
    - Dst: sk_OPENSSL_PSTRING_value
      Src: /src/openssl/apps/srp.c:592,1
    - Dst: print_user
      Src: /src/openssl/apps/srp.c:596,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:601,1
    - Dst: save_index
      Src: /src/openssl/apps/srp.c:602,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:606,1
    - Dst: rotate_index
      Src: /src/openssl/apps/srp.c:607,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:611,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:618,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/srp.c:621,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:623,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/srp.c:624,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/srp.c:626,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/srp.c:627,1
    - Dst: free_index
      Src: /src/openssl/apps/srp.c:628,1
    - Dst: release_engine
      Src: /src/openssl/apps/srp.c:629,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 298
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 232
    functionDepth: 8
    functionLinenumber: 232
    functionLinenumberEnd: 631
    functionName: srp_main
    functionSourceFile: /src/openssl/apps/srp.c
    functionUses: 0
    functionsReached:
    - update_index
    - opt_rand
    - srp_create_user
    - save_index
    - print_index
    - load_index
    - print_entry
    - OPENSSL_free
    - NCONF_free
    - lookup_conf
    - get_index
    - strcmp
    - print_user
    - app_RAND_load
    - app_RAND_load_conf
    - sk_OPENSSL_PSTRING_value
    - OPENSSL_strdup
    - opt_rest
    - BIO_printf
    - sk_OPENSSL_PSTRING_num
    - opt_provider
    - setup_engine
    - free_index
    - SRP_get_default_gN
    - opt_arg
    - app_load_config_verbose
    - opt_num_rest
    - opt_help
    - release_engine
    - opt_next
    - opt_init
    - app_passwd
    - rotate_index
    - ERR_print_errors
    - srp_verify_user
    - app_load_modules
    linkageType: ''
    returnType: int
    signature: int srp_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: STR
    functionSourceFile: /src/openssl/apps/pkcs8.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: XSTR
    functionSourceFile: /src/openssl/apps/pkcs8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSTR(a)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/pkcs8.c:98,1
    - Dst: opt_next
      Src: /src/openssl/apps/pkcs8.c:99,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:104,1
    - Dst: opt_help
      Src: /src/openssl/apps/pkcs8.c:107,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkcs8.c:111,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:111,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:115,1
    - Dst: opt_format
      Src: /src/openssl/apps/pkcs8.c:118,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:118,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:122,1
    - Dst: opt_rand
      Src: /src/openssl/apps/pkcs8.c:134,1
    - Dst: opt_provider
      Src: /src/openssl/apps/pkcs8.c:138,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:145,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/pkcs8.c:148,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:148,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:150,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:151,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/pkcs8.c:156,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:156,1
    - Dst: EVP_PBE_find
      Src: /src/openssl/apps/pkcs8.c:157,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:158,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:159,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/pkcs8.c:163,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/pkcs8.c:166,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:169,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:172,1
    - Dst: setup_engine
      Src: /src/openssl/apps/pkcs8.c:175,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:175,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/pkcs8.c:183,1
    - Dst: opt_long
      Src: /src/openssl/apps/pkcs8.c:186,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:186,1
    - Dst: opt_long
      Src: /src/openssl/apps/pkcs8.c:190,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:190,1
    - Dst: opt_long
      Src: /src/openssl/apps/pkcs8.c:194,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:194,1
    - Dst: opt_int
      Src: /src/openssl/apps/pkcs8.c:199,1
    - Dst: opt_arg
      Src: /src/openssl/apps/pkcs8.c:199,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/pkcs8.c:206,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/pkcs8.c:210,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/pkcs8.c:214,1
    - Dst: app_passwd
      Src: /src/openssl/apps/pkcs8.c:218,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:219,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/pkcs8.c:224,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/pkcs8.c:226,1
    - Dst: load_key
      Src: /src/openssl/apps/pkcs8.c:232,1
    - Dst: EVP_PKEY2PKCS8
      Src: /src/openssl/apps/pkcs8.c:235,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:236,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:237,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkcs8.c:240,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs8.c:243,1
    - Dst: PEM_write_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/apps/pkcs8.c:245,1
    - Dst: i2d_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/apps/pkcs8.c:247,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:249,1
    - Dst: PKCS5_pbe2_set_scrypt
      Src: /src/openssl/apps/pkcs8.c:257,1
    - Dst: PKCS5_pbe2_set_iv
      Src: /src/openssl/apps/pkcs8.c:261,1
    - Dst: PKCS5_pbe_set
      Src: /src/openssl/apps/pkcs8.c:264,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:267,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:268,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs8.c:277,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/apps/pkcs8.c:279,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:284,1
    - Dst: PKCS8_set0_pbe
      Src: /src/openssl/apps/pkcs8.c:287,1
    - Dst: strlen
      Src: /src/openssl/apps/pkcs8.c:287,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/apps/pkcs8.c:289,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:290,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:291,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs8.c:294,1
    - Dst: PEM_write_bio_PKCS8
      Src: /src/openssl/apps/pkcs8.c:296,1
    - Dst: i2d_PKCS8_bio
      Src: /src/openssl/apps/pkcs8.c:298,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:300,1
    - Dst: PEM_read_bio_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/apps/pkcs8.c:311,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO_bio
      Src: /src/openssl/apps/pkcs8.c:313,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:315,1
    - Dst: PEM_read_bio_PKCS8
      Src: /src/openssl/apps/pkcs8.c:320,1
    - Dst: d2i_PKCS8_bio
      Src: /src/openssl/apps/pkcs8.c:322,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:324,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:329,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:330,1
    - Dst: EVP_read_pw_string
      Src: /src/openssl/apps/pkcs8.c:338,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:339,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:344,1
    - Dst: PKCS8_decrypt
      Src: /src/openssl/apps/pkcs8.c:347,1
    - Dst: strlen
      Src: /src/openssl/apps/pkcs8.c:347,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:351,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:352,1
    - Dst: EVP_PKCS82PKEY
      Src: /src/openssl/apps/pkcs8.c:356,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:357,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/pkcs8.c:358,1
    - Dst: assert
      Src: /src/openssl/apps/pkcs8.c:362,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/pkcs8.c:363,1
    - Dst: PEM_write_bio_PrivateKey_traditional
      Src: /src/openssl/apps/pkcs8.c:368,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/pkcs8.c:371,1
    - Dst: i2d_PrivateKey_bio
      Src: /src/openssl/apps/pkcs8.c:373,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/pkcs8.c:375,1
    - Dst: X509_SIG_free
      Src: /src/openssl/apps/pkcs8.c:381,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/apps/pkcs8.c:382,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/pkcs8.c:383,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/pkcs8.c:384,1
    - Dst: release_engine
      Src: /src/openssl/apps/pkcs8.c:385,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/pkcs8.c:386,1
    - Dst: BIO_free
      Src: /src/openssl/apps/pkcs8.c:387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs8.c:388,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/pkcs8.c:389,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 303
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/openssl/apps/pkcs8.c
    - condition: (private)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/openssl/apps/pkcs8.c
    - condition: (private)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/openssl/apps/pkcs8.c
    constantsTouched: []
    func_position:
      end: 392
      start: 75
    functionDepth: 10
    functionLinenumber: 75
    functionLinenumberEnd: 392
    functionName: pkcs8_main
    functionSourceFile: /src/openssl/apps/pkcs8.c
    functionUses: 0
    functionsReached:
    - opt_rand
    - PEM_write_bio_PKCS8
    - PEM_read_bio_PKCS8
    - opt_check_rest_arg
    - PEM_write_bio_PKCS8_PRIV_KEY_INFO
    - EVP_read_pw_string
    - X509_ALGOR_free
    - PKCS5_pbe2_set_iv
    - OPENSSL_free
    - PKCS8_set0_pbe
    - OBJ_txt2nid
    - strlen
    - assert
    - app_RAND_load
    - PKCS8_PRIV_KEY_INFO_free
    - opt_long
    - i2d_PKCS8_bio
    - EVP_PKCS82PKEY
    - d2i_PKCS8_PRIV_KEY_INFO_bio
    - EVP_aes_256_cbc
    - PEM_write_bio_PrivateKey_traditional
    - EVP_PKEY_free
    - EVP_CIPHER_free
    - BIO_free_all
    - opt_int_arg
    - BIO_printf
    - load_key
    - opt_provider
    - d2i_PKCS8_bio
    - BIO_free
    - PEM_read_bio_PKCS8_PRIV_KEY_INFO
    - setup_engine
    - PEM_write_bio_PrivateKey
    - bio_open_owner
    - opt_cipher
    - opt_arg
    - i2d_PrivateKey_bio
    - PKCS5_pbe_set
    - opt_help
    - X509_SIG_free
    - release_engine
    - opt_next
    - opt_init
    - bio_open_default
    - i2d_PKCS8_PRIV_KEY_INFO_bio
    - opt_int
    - opt_format
    - app_passwd
    - PKCS8_decrypt
    - EVP_PKEY2PKCS8
    - ERR_print_errors
    - EVP_PBE_find
    - PKCS5_pbe2_set_scrypt
    linkageType: ''
    returnType: int
    signature: int pkcs8_main(int argc, char **argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:31,1
    - Dst: BIO_write
      Src: /src/openssl/apps/configutl.c:32,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:35,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:38,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:41,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:44,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:59,1
    - Dst: BIO_write
      Src: /src/openssl/apps/configutl.c:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - out
    - value
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 68
    functionName: print_escaped_value
    functionSourceFile: /src/openssl/apps/configutl.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_escaped_value(BIO *out, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/configutl.c:75,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/configutl.c:75,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/configutl.c:78,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/configutl.c:79,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:81,1
    - Dst: print_escaped_value
      Src: /src/openssl/apps/configutl.c:82,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - cnf
    - section_name
    argTypes:
    - BIO*
    - CONF*
    - OPENSSL_CSTRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: print_section
    functionSourceFile: /src/openssl/apps/configutl.c
    functionUses: 0
    functionsReached:
    - sk_CONF_VALUE_num
    - NCONF_get_section
    - STACK_OF
    - print_escaped_value
    - sk_CONF_VALUE_value
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_section(BIO *out, const CONF *cnf, OPENSSL_CSTRING section_name)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/configutl.c:118,1
    - Dst: opt_init
      Src: /src/openssl/apps/configutl.c:122,1
    - Dst: opt_next
      Src: /src/openssl/apps/configutl.c:123,1
    - Dst: opt_help
      Src: /src/openssl/apps/configutl.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/configutl.c:138,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/configutl.c:139,1
    - Dst: opt_arg
      Src: /src/openssl/apps/configutl.c:139,1
    - Dst: opt_arg
      Src: /src/openssl/apps/configutl.c:142,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:149,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/configutl.c:154,1
    - Dst: CONF_get1_default_config_file
      Src: /src/openssl/apps/configutl.c:159,1
    - Dst: NCONF_new
      Src: /src/openssl/apps/configutl.c:164,1
    - Dst: NCONF_load
      Src: /src/openssl/apps/configutl.c:167,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:168,1
    - Dst: NCONF_get_section_names
      Src: /src/openssl/apps/configutl.c:172,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:176,1
    - Dst: sk_OPENSSL_CSTRING_find
      Src: /src/openssl/apps/configutl.c:179,1
    - Dst: print_section
      Src: /src/openssl/apps/configutl.c:181,1
    - Dst: sk_OPENSSL_CSTRING_num
      Src: /src/openssl/apps/configutl.c:183,1
    - Dst: sk_OPENSSL_CSTRING_value
      Src: /src/openssl/apps/configutl.c:184,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/configutl.c:189,1
    - Dst: print_section
      Src: /src/openssl/apps/configutl.c:190,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/configutl.c:196,1
    - Dst: BIO_free
      Src: /src/openssl/apps/configutl.c:197,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/configutl.c:198,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/configutl.c:199,1
    - Dst: sk_OPENSSL_CSTRING_free
      Src: /src/openssl/apps/configutl.c:200,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 202
    functionName: configutl_main
    functionSourceFile: /src/openssl/apps/configutl.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_CSTRING_free
    - CONF_get1_default_config_file
    - print_section
    - OPENSSL_free
    - NCONF_free
    - OPENSSL_strdup
    - BIO_printf
    - BIO_free
    - STACK_OF
    - sk_OPENSSL_CSTRING_num
    - opt_arg
    - opt_help
    - sk_OPENSSL_CSTRING_find
    - sk_OPENSSL_CSTRING_value
    - opt_next
    - opt_init
    - bio_open_default
    - NCONF_load
    - NCONF_get_section_names
    - NCONF_new
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: int configutl_main(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/openssl/apps/vms_decc_init.c:78,1
    - Dst: strtol
      Src: /src/openssl/apps/vms_decc_init.c:80,1
    - Dst: decc$feature_get_index
      Src: /src/openssl/apps/vms_decc_init.c:93,1
    - Dst: decc$feature_get_value
      Src: /src/openssl/apps/vms_decc_init.c:96,1
    - Dst: decc$feature_get_value
      Src: /src/openssl/apps/vms_decc_init.c:97,1
    - Dst: decc$feature_get_value
      Src: /src/openssl/apps/vms_decc_init.c:98,1
    - Dst: decc$feature_set_value
      Src: /src/openssl/apps/vms_decc_init.c:105,1
    - Dst: fprintf
      Src: /src/openssl/apps/vms_decc_init.c:109,1
    - Dst: fprintf
      Src: /src/openssl/apps/vms_decc_init.c:116,1
    - Dst: fprintf
      Src: /src/openssl/apps/vms_decc_init.c:124,1
    - Dst: fprintf
      Src: /src/openssl/apps/vms_decc_init.c:130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 132
    functionName: decc_init
    functionSourceFile: /src/openssl/apps/vms_decc_init.c
    functionUses: 0
    functionsReached:
    - decc$feature_set_value
    - decc$feature_get_index
    - decc$feature_get_value
    - strtol
    - fprintf
    - getenv
    linkageType: ''
    returnType: void
    signature: void decc_init(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:139,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/apps/s_server.c:141,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_server.c:141,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:156,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:157,1
    - Dst: strcmp
      Src: /src/openssl/apps/s_server.c:160,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:161,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:165,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/s_server.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:171,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:176,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:179,1
    - Dst: memcpy
      Src: /src/openssl/apps/s_server.c:183,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:184,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:187,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:191,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:192,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 195
    functionName: psk_server_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - SSL_is_dtls
    - memcpy
    - SSL_version
    - BIO_flush
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - strcmp
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int psk_server_cb(SSL *ssl, const char *identity,\n                                  unsigned
      char *psk,\n                                  unsigned int max_psk_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:206,1
    - Dst: memcmp
      Src: /src/openssl/apps/s_server.c:207,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/apps/s_server.c:213,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/s_server.c:220,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:222,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/apps/s_server.c:228,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:231,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/apps/s_server.c:235,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/apps/s_server.c:237,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/apps/s_server.c:238,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/apps/s_server.c:239,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_server.c:239,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:240,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_server.c:241,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:244,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - ssl
    - identity
    - identity_len
    - sess
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 248
    functionName: psk_find_session_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - memcmp
    - SSL_SESSION_up_ref
    - SSL_SESSION_free
    - SSL_SESSION_set_protocol_version
    - SSL_SESSION_new
    - SSL_version
    - SSL_CIPHER_find
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - SSL_SESSION_set_cipher
    - SSL_SESSION_set1_master_key
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int psk_find_session_cb(SSL *ssl, const unsigned char *identity,\n
      \                              size_t identity_len, SSL_SESSION **sess)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/apps/s_server.c:278,1
    - Dst: BIO_meth_set_write
      Src: /src/openssl/apps/s_server.c:281,1
    - Dst: BIO_meth_set_read
      Src: /src/openssl/apps/s_server.c:282,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/apps/s_server.c:283,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/apps/s_server.c:284,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/apps/s_server.c:285,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/apps/s_server.c:286,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/apps/s_server.c:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 291
    functionName: BIO_f_ebcdic_filter
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_read
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_write
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_set_create
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_ebcdic_filter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:297,1
    - Dst: BIO_set_data
      Src: /src/openssl/apps/s_server.c:301,1
    - Dst: BIO_set_init
      Src: /src/openssl/apps/s_server.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: ebcdic_new
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int ebcdic_new(BIO *bi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/apps/s_server.c:312,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:313,1
    - Dst: BIO_set_data
      Src: /src/openssl/apps/s_server.c:314,1
    - Dst: BIO_set_init
      Src: /src/openssl/apps/s_server.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: ebcdic_free
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_set_init
    - BIO_get_data
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: int ebcdic_free(BIO *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/apps/s_server.c:323,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_server.c:330,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/s_server.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - b
    - out
    - outl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: ebcdic_read
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - ascii2ebcdic
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int ebcdic_read(BIO *b, char *out, int outl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/apps/s_server.c:339,1
    - Dst: BIO_get_data
      Src: /src/openssl/apps/s_server.c:348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:354,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:355,1
    - Dst: BIO_set_data
      Src: /src/openssl/apps/s_server.c:360,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/s_server.c:363,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - b
    - in
    - inl
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 336
    functionDepth: 4
    functionLinenumber: 336
    functionLinenumberEnd: 368
    functionName: ebcdic_write
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ebcdic2ascii
    - BIO_set_data
    - OPENSSL_free
    - BIO_next
    - BIO_get_data
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int ebcdic_write(BIO *b, const char *in, int inl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/apps/s_server.c:373,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_server.c:382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: ebcdic_ctrl
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_next
    linkageType: ''
    returnType: long
    signature: long ebcdic_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/apps/s_server.c:391,1
    - Dst: ebcdic_read
      Src: /src/openssl/apps/s_server.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - bp
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: ebcdic_gets
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - ebcdic_read
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int ebcdic_gets(BIO *bp, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/apps/s_server.c:412,1
    - Dst: ebcdic_write
      Src: /src/openssl/apps/s_server.c:414,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: ebcdic_puts
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - ebcdic_write
    - strlen
    - BIO_next
    linkageType: ''
    returnType: int
    signature: int ebcdic_puts(BIO *bp, const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/apps/s_server.c:428,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:434,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:436,1
    - Dst: isprint
      Src: /src/openssl/apps/s_server.c:437,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:438,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/s_server.c:445,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:448,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/openssl/apps/s_server.c:449,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 453
    functionName: ssl_servername_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - isprint
    - SSL_get_servername
    - SSL_set_SSL_CTX
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ssl_servername_cb(SSL *s, int *ad, void *arg)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:489,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:492,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:498,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/s_server.c:503,1
    - Dst: X509_get1_ocsp
      Src: /src/openssl/apps/s_server.c:504,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/s_server.c:506,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/s_server.c:506,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:508,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:512,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/s_server.c:513,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:516,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/apps/s_server.c:528,1
    - Dst: SSL_CTX_get0_chain_certs
      Src: /src/openssl/apps/s_server.c:529,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/s_server.c:531,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/s_server.c:533,1
    - Dst: X509_name_cmp
      Src: /src/openssl/apps/s_server.c:534,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/s_server.c:534,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/apps/s_server.c:536,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/apps/s_server.c:541,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/apps/s_server.c:544,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/openssl/apps/s_server.c:544,1
    - Dst: X509_STORE_CTX_get_obj_by_subject
      Src: /src/openssl/apps/s_server.c:547,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:549,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/apps/s_server.c:552,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/openssl/apps/s_server.c:552,1
    - Dst: X509_OBJECT_free
      Src: /src/openssl/apps/s_server.c:553,1
    - Dst: OCSP_REQUEST_new
      Src: /src/openssl/apps/s_server.c:557,1
    - Dst: OCSP_request_add0_id
      Src: /src/openssl/apps/s_server.c:560,1
    - Dst: SSL_get_tlsext_status_exts
      Src: /src/openssl/apps/s_server.c:564,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/s_server.c:565,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/apps/s_server.c:566,1
    - Dst: OCSP_REQUEST_add_ext
      Src: /src/openssl/apps/s_server.c:568,1
    - Dst: process_responder
      Src: /src/openssl/apps/s_server.c:571,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:574,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:589,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:590,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:591,1
    - Dst: X509_email_free
      Src: /src/openssl/apps/s_server.c:592,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/apps/s_server.c:594,1
    - Dst: OCSP_REQUEST_free
      Src: /src/openssl/apps/s_server.c:595,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/apps/s_server.c:596,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 4
    argNames:
    - s
    - x
    - srctx
    - resp
    argTypes:
    - SSL*
    - X509*
    - tlsextstatusctx*
    - OCSP_RESPONSE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 598
    functionName: get_ocsp_resp_from_responder_single
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_free
    - sk_X509_EXTENSION_value
    - X509_STORE_CTX_new
    - X509_name_cmp
    - OPENSSL_free
    - X509_OBJECT_get0_X509
    - OCSP_cert_to_id
    - SSL_CTX_get_cert_store
    - sk_X509_num
    - OSSL_HTTP_parse_url
    - X509_get1_ocsp
    - sk_X509_value
    - SSL_get_tlsext_status_exts
    - sk_X509_EXTENSION_num
    - OCSP_REQUEST_free
    - X509_email_free
    - BIO_printf
    - X509_STORE_CTX_get_obj_by_subject
    - SSL_CTX_get0_chain_certs
    - BIO_puts
    - X509_get_issuer_name
    - STACK_OF
    - process_responder
    - OCSP_CERTID_free
    - X509_STORE_CTX_free
    - X509_get_subject_name
    - OCSP_request_add0_id
    - OCSP_REQUEST_new
    - sk_OPENSSL_STRING_value
    - SSL_get_SSL_CTX
    - OCSP_REQUEST_add_ext
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: "int get_ocsp_resp_from_responder_single(SSL *s, X509 *x,\n                                               tlsextstatusctx
      *srctx,\n                                               OCSP_RESPONSE **resp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:817,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:822,1
    - Dst: SSL_get0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/apps/s_server.c:824,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/apps/s_server.c:826,1
    - Dst: get_ocsp_resp_from_files
      Src: /src/openssl/apps/s_server.c:828,1
    - Dst: get_ocsp_resp_from_responder
      Src: /src/openssl/apps/s_server.c:830,1
    - Dst: SSL_set0_tlsext_status_ocsp_resp_ex
      Src: /src/openssl/apps/s_server.c:835,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:839,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:840,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/apps/s_server.c:841,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/apps/s_server.c:842,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/apps/s_server.c:843,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/openssl/apps/s_server.c:845,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:847,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:856,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/apps/s_server.c:857,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 813
    functionDepth: 5
    functionLinenumber: 813
    functionLinenumberEnd: 861
    functionName: cert_status_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - sk_OCSP_RESPONSE_num
    - sk_OCSP_RESPONSE_pop_free
    - SSL_set0_tlsext_status_ocsp_resp_ex
    - BIO_puts
    - get_ocsp_resp_from_files
    - sk_OCSP_RESPONSE_value
    - STACK_OF
    - OCSP_RESPONSE_print
    - get_ocsp_resp_from_responder
    - ERR_print_errors
    - SSL_get0_tlsext_status_ocsp_resp_ex
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int cert_status_cb(SSL *s, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 880
    functionName: next_proto_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int next_proto_cb(SSL *s, const unsigned char **data,\n                         unsigned
      int *len, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:898,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:901,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:902,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:905,1
    - Dst: SSL_select_next_proto
      Src: /src/openssl/apps/s_server.c:908,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:914,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:915,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 889
    functionDepth: 4
    functionLinenumber: 889
    functionLinenumberEnd: 920
    functionName: alpn_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_printf
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int alpn_cb(SSL *s, const unsigned char **out, unsigned char *outlen,\n
      \                  const unsigned char *in, unsigned int inlen, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - is_forward_secure
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: not_resumable_sess_cb
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int not_resumable_sess_cb(SSL *s, int is_forward_secure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1230
    functionName: IS_PROT_FLAG
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PROT_FLAG(o)
  - BBCount: 316
    BranchProfiles: []
    Callsites:
    - Dst: TLS_server_method
      Src: /src/openssl/apps/s_server.c:1236,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:1238,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:1239,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:1240,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_server.c:1334,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/apps/s_server.c:1335,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/s_server.c:1336,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/apps/s_server.c:1339,1
    - Dst: opt_init
      Src: /src/openssl/apps/s_server.c:1342,1
    - Dst: opt_next
      Src: /src/openssl/apps/s_server.c:1343,1
    - Dst: IS_PROT_FLAG
      Src: /src/openssl/apps/s_server.c:1344,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1345,1
    - Dst: IS_NO_PROT_FLAG
      Src: /src/openssl/apps/s_server.c:1348,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1351,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1359,1
    - Dst: opt_help
      Src: /src/openssl/apps/s_server.c:1362,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1369,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1370,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1381,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1387,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1397,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1398,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_server.c:1399,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1399,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1412,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1413,1
    - Dst: BIO_parse_hostserv
      Src: /src/openssl/apps/s_server.c:1414,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1414,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1415,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1424,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/s_server.c:1424,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1424,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:1427,1
    - Dst: atol
      Src: /src/openssl/apps/s_server.c:1434,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1434,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1438,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1438,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1440,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1446,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1446,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1448,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1453,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1456,1
    - Dst: set_nameopt
      Src: /src/openssl/apps/s_server.c:1459,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1459,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1463,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1469,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1472,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1472,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1476,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1479,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1479,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1483,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1486,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1489,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1492,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1492,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1496,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1499,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1499,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1503,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1506,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1509,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1515,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1521,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1524,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1527,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1533,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1536,1
    - Dst: opt_format
      Src: /src/openssl/apps/s_server.c:1545,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1545,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_server.c:1553,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_server.c:1555,1
    - Dst: opt_flag
      Src: /src/openssl/apps/s_server.c:1555,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_server.c:1556,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1556,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1557,1
    - Dst: opt_verify
      Src: /src/openssl/apps/s_server.c:1562,1
    - Dst: args_excert
      Src: /src/openssl/apps/s_server.c:1567,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1580,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1586,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1589,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1629,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1629,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1634,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1639,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/s_server.c:1645,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1645,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1648,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/s_server.c:1657,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/s_server.c:1659,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1659,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_server.c:1666,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1666,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1668,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1668,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1702,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1706,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1710,1
    - Dst: isxdigit
      Src: /src/openssl/apps/s_server.c:1711,1
    - Dst: _UC
      Src: /src/openssl/apps/s_server.c:1711,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1713,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1718,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1722,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1729,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1747,1
    - Dst: DTLS_server_method
      Src: /src/openssl/apps/s_server.c:1771,1
    - Dst: DTLS_server_method
      Src: /src/openssl/apps/s_server.c:1777,1
    - Dst: DTLS_server_method
      Src: /src/openssl/apps/s_server.c:1785,1
    - Dst: atol
      Src: /src/openssl/apps/s_server.c:1808,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1808,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1820,1
    - Dst: setup_engine
      Src: /src/openssl/apps/s_server.c:1824,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1824,1
    - Dst: opt_rand
      Src: /src/openssl/apps/s_server.c:1828,1
    - Dst: opt_provider
      Src: /src/openssl/apps/s_server.c:1832,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1836,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1842,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1845,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1849,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1853,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1857,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1861,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1864,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1864,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1870,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1870,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1873,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1873,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1876,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1876,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1879,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1879,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1882,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1885,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1885,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1887,1
    - Dst: atoi
      Src: /src/openssl/apps/s_server.c:1892,1
    - Dst: opt_arg
      Src: /src/openssl/apps/s_server.c:1892,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1894,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/s_server.c:1943,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/s_server.c:1946,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1951,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1957,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1962,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1967,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1973,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1978,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1984,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1990,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:1998,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2008,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2013,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2018,1
    - Dst: app_passwd
      Src: /src/openssl/apps/s_server.c:2023,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2024,1
    - Dst: load_excert
      Src: /src/openssl/apps/s_server.c:2034,1
    - Dst: load_key
      Src: /src/openssl/apps/s_server.c:2038,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/s_server.c:2043,1
    - Dst: load_certs
      Src: /src/openssl/apps/s_server.c:2049,1
    - Dst: load_key
      Src: /src/openssl/apps/s_server.c:2055,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/s_server.c:2060,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_server.c:2069,1
    - Dst: next_protos_parse
      Src: /src/openssl/apps/s_server.c:2076,1
    - Dst: load_crl
      Src: /src/openssl/apps/s_server.c:2083,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/s_server.c:2086,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/s_server.c:2087,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2088,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2089,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/s_server.c:2090,1
    - Dst: load_key
      Src: /src/openssl/apps/s_server.c:2100,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/s_server.c:2105,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2109,1
    - Dst: load_certs
      Src: /src/openssl/apps/s_server.c:2113,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:2122,1
    - Dst: BIO_s_null
      Src: /src/openssl/apps/s_server.c:2122,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/s_server.c:2124,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2126,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/s_server.c:2131,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/apps/s_server.c:2147,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_server.c:2147,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_server.c:2147,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2149,1
    - Dst: SSL_CTX_clear_mode
      Src: /src/openssl/apps/s_server.c:2153,1
    - Dst: ssl_ctx_security_debug
      Src: /src/openssl/apps/s_server.c:2156,1
    - Dst: config_ctx
      Src: /src/openssl/apps/s_server.c:2158,1
    - Dst: SSL_CTX_config
      Src: /src/openssl/apps/s_server.c:2162,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2163,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2165,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_server.c:2171,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/apps/s_server.c:2175,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/openssl/apps/s_server.c:2178,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:2182,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2183,1
    - Dst: SSL_CTX_set_generate_session_id
      Src: /src/openssl/apps/s_server.c:2185,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2186,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2187,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2190,1
    - Dst: ssl_ctx_set_excert
      Src: /src/openssl/apps/s_server.c:2193,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/apps/s_server.c:2196,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/apps/s_server.c:2198,1
    - Dst: init_session_cache_ctx
      Src: /src/openssl/apps/s_server.c:2200,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/apps/s_server.c:2202,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_server.c:2205,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2209,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2213,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2216,1
    - Dst: SSL_CTX_set_options
      Src: /src/openssl/apps/s_server.c:2218,1
    - Dst: SSL_CTX_set_max_send_fragment
      Src: /src/openssl/apps/s_server.c:2222,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2223,1
    - Dst: SSL_CTX_set_split_send_fragment
      Src: /src/openssl/apps/s_server.c:2229,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2230,1
    - Dst: SSL_CTX_set_max_pipelines
      Src: /src/openssl/apps/s_server.c:2235,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2236,1
    - Dst: SSL_CTX_set_default_read_buffer_len
      Src: /src/openssl/apps/s_server.c:2242,1
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/openssl/apps/s_server.c:2247,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2248,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2249,1
    - Dst: ctx_set_verify_locations
      Src: /src/openssl/apps/s_server.c:2255,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2257,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/apps/s_server.c:2260,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2261,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2262,1
    - Dst: ssl_ctx_add_crls
      Src: /src/openssl/apps/s_server.c:2266,1
    - Dst: ssl_load_stores
      Src: /src/openssl/apps/s_server.c:2268,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2272,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2273,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/apps/s_server.c:2278,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_server.c:2278,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_server.c:2278,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2280,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2286,1
    - Dst: ssl_ctx_security_debug
      Src: /src/openssl/apps/s_server.c:2289,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:2292,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2293,1
    - Dst: SSL_CTX_set_generate_session_id
      Src: /src/openssl/apps/s_server.c:2295,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2296,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2297,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2300,1
    - Dst: ssl_ctx_set_excert
      Src: /src/openssl/apps/s_server.c:2303,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/openssl/apps/s_server.c:2306,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/apps/s_server.c:2309,1
    - Dst: init_session_cache_ctx
      Src: /src/openssl/apps/s_server.c:2311,1
    - Dst: SSL_CTX_sess_set_cache_size
      Src: /src/openssl/apps/s_server.c:2313,1
    - Dst: SSL_CTX_set_mode
      Src: /src/openssl/apps/s_server.c:2316,1
    - Dst: ctx_set_verify_locations
      Src: /src/openssl/apps/s_server.c:2318,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2320,1
    - Dst: SSL_CTX_set1_param
      Src: /src/openssl/apps/s_server.c:2323,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2324,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2325,1
    - Dst: ssl_ctx_add_crls
      Src: /src/openssl/apps/s_server.c:2329,1
    - Dst: config_ctx
      Src: /src/openssl/apps/s_server.c:2330,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/openssl/apps/s_server.c:2335,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/apps/s_server.c:2339,1
    - Dst: load_keyparams
      Src: /src/openssl/apps/s_server.c:2345,1
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/s_server.c:2347,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2351,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2353,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:2355,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/apps/s_server.c:2358,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/apps/s_server.c:2364,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2365,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/apps/s_server.c:2368,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2369,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2370,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2372,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2373,1
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/s_server.c:2380,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2386,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:2387,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2389,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/openssl/apps/s_server.c:2394,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/apps/s_server.c:2395,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:2396,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2397,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2398,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2403,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_server.c:2406,1
    - Dst: SSL_CTX_use_serverinfo_file
      Src: /src/openssl/apps/s_server.c:2410,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2411,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_server.c:2416,1
    - Dst: set_cert_key_stuff
      Src: /src/openssl/apps/s_server.c:2420,1
    - Dst: SSL_CTX_set_not_resumable_session_callback
      Src: /src/openssl/apps/s_server.c:2425,1
    - Dst: SSL_CTX_set_not_resumable_session_callback
      Src: /src/openssl/apps/s_server.c:2429,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2435,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/openssl/apps/s_server.c:2436,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2441,1
    - Dst: SSL_CTX_use_psk_identity_hint
      Src: /src/openssl/apps/s_server.c:2443,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2444,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2445,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_server.c:2452,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2455,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2456,1
    - Dst: PEM_read_bio_SSL_SESSION
      Src: /src/openssl/apps/s_server.c:2459,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:2460,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2462,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2463,1
    - Dst: SSL_CTX_set_psk_find_session_callback
      Src: /src/openssl/apps/s_server.c:2470,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/s_server.c:2472,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/apps/s_server.c:2473,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2476,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2477,1
    - Dst: SSL_CTX_set_cookie_generate_cb
      Src: /src/openssl/apps/s_server.c:2482,1
    - Dst: SSL_CTX_set_cookie_verify_cb
      Src: /src/openssl/apps/s_server.c:2483,1
    - Dst: SSL_CTX_set_stateless_cookie_generate_cb
      Src: /src/openssl/apps/s_server.c:2486,1
    - Dst: SSL_CTX_set_stateless_cookie_verify_cb
      Src: /src/openssl/apps/s_server.c:2487,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/s_server.c:2490,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/openssl/apps/s_server.c:2491,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2494,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2495,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/apps/s_server.c:2499,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/apps/s_server.c:2500,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/openssl/apps/s_server.c:2501,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/openssl/apps/s_server.c:2502,1
    - Dst: set_up_srp_verifier_file
      Src: /src/openssl/apps/s_server.c:2507,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/openssl/apps/s_server.c:2513,1
    - Dst: SSL_load_client_CA_file
      Src: /src/openssl/apps/s_server.c:2513,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/openssl/apps/s_server.c:2516,1
    - Dst: SSL_load_client_CA_file
      Src: /src/openssl/apps/s_server.c:2516,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/apps/s_server.c:2520,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/apps/s_server.c:2521,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/openssl/apps/s_server.c:2523,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/openssl/apps/s_server.c:2524,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_server.c:2528,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/openssl/apps/s_server.c:2532,1
    - Dst: SSL_CTX_set_recv_max_early_data
      Src: /src/openssl/apps/s_server.c:2534,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2537,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/apps/s_server.c:2538,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2539,1
    - Dst: SSL_CTX_compress_certs
      Src: /src/openssl/apps/s_server.c:2540,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2541,1
    - Dst: SSL_CTX_set1_server_cert_type
      Src: /src/openssl/apps/s_server.c:2544,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2545,1
    - Dst: SSL_CTX_set1_client_cert_type
      Src: /src/openssl/apps/s_server.c:2549,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2550,1
    - Dst: unlink
      Src: /src/openssl/apps/s_server.c:2563,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2566,1
    - Dst: do_server
      Src: /src/openssl/apps/s_server.c:2567,1
    - Dst: print_stats
      Src: /src/openssl/apps/s_server.c:2569,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/s_server.c:2572,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/apps/s_server.c:2573,1
    - Dst: set_keylog_file
      Src: /src/openssl/apps/s_server.c:2574,1
    - Dst: X509_free
      Src: /src/openssl/apps/s_server.c:2575,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/s_server.c:2576,1
    - Dst: X509_free
      Src: /src/openssl/apps/s_server.c:2577,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2578,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2579,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/s_server.c:2580,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/s_server.c:2581,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2582,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2583,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2584,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2585,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/s_server.c:2586,1
    - Dst: free_sessions
      Src: /src/openssl/apps/s_server.c:2587,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_server.c:2588,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2589,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2590,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2591,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/s_server.c:2592,1
    - Dst: X509_free
      Src: /src/openssl/apps/s_server.c:2593,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/s_server.c:2594,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2596,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:2598,1
    - Dst: ssl_excert_free
      Src: /src/openssl/apps/s_server.c:2599,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/s_server.c:2600,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/apps/s_server.c:2601,1
    - Dst: release_engine
      Src: /src/openssl/apps/s_server.c:2602,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:2603,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:2605,1
    - Dst: BIO_meth_free
      Src: /src/openssl/apps/s_server.c:2608,1
    CyclomaticComplexity: 435
    EdgeCount: 435
    ICount: 1138
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 1231
    functionDepth: 5
    functionLinenumber: 1231
    functionLinenumberEnd: 2611
    functionName: s_server_main
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_tlsext_status_arg
    - SSL_CTX_set_max_send_fragment
    - SSL_CTX_set1_client_cert_type
    - opt_rand
    - opt_check_rest_arg
    - SSL_CTX_set_tlsext_servername_callback
    - EVP_PKEY_up_ref
    - config_ctx
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_set_options
    - app_get0_propq
    - SSL_CTX_set_dh_auto
    - EVP_PKEY_free
    - ssl_ctx_security_debug
    - SSL_CTX_set_generate_session_id
    - ssl_ctx_add_crls
    - free_sessions
    - X509_VERIFY_PARAM_free
    - setup_engine
    - SSL_CTX_set_max_pipelines
    - SSL_CTX_set1_server_cert_type
    - SSL_CTX_set1_param
    - set_keylog_file
    - next_protos_parse
    - BIO_s_null
    - app_passwd
    - SSL_CTX_clear_mode
    - BIO_parse_hostserv
    - release_engine
    - sk_OPENSSL_STRING_push
    - SSL_CTX_sess_set_cache_size
    - SSL_CONF_CTX_new
    - OPENSSL_free
    - args_excert
    - ssl_load_stores
    - set_nameopt
    - OSSL_HTTP_parse_url
    - SSL_CTX_free
    - ssl_ctx_set_excert
    - set_cert_key_stuff
    - _UC
    - OSSL_STACK_OF_X509_free
    - SSL_CTX_set_stateless_cookie_generate_cb
    - SSL_CTX_set_recv_max_early_data
    - BIO_new_file
    - load_key
    - SSL_CTX_set_cookie_generate_cb
    - SSL_CTX_set_stateless_cookie_verify_cb
    - IS_NO_PROT_FLAG
    - BIO_puts
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_use_psk_identity_hint
    - SSL_CTX_config
    - SSL_CTX_set_not_resumable_session_callback
    - set_up_srp_verifier_file
    - opt_next
    - opt_format
    - dup_bio_out
    - app_get0_libctx
    - ERR_print_errors
    - SSL_load_client_CA_file
    - sk_X509_CRL_pop_free
    - atoi
    - load_keyparams_suppress
    - SSL_CTX_set_psk_server_callback
    - X509_CRL_free
    - SSL_CTX_set_verify
    - TLS_server_method
    - strlen
    - app_RAND_load
    - BIO_new
    - opt_flag
    - SSL_CTX_set_default_read_buffer_len
    - PEM_read_bio_SSL_SESSION
    - BIO_meth_free
    - print_stats
    - atol
    - SSL_CTX_set_max_proto_version
    - BIO_printf
    - opt_provider
    - isxdigit
    - SSL_CTX_new_ex
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - load_certs
    - load_crl
    - SSL_CTX_compress_certs
    - SSL_CTX_set0_tmp_dh_pkey
    - opt_arg
    - SSL_CTX_set_tlsext_use_srtp
    - DTLS_server_method
    - IS_PROT_FLAG
    - opt_help
    - SSL_CTX_set_psk_find_session_callback
    - opt_init
    - SSL_CTX_set_info_callback
    - load_keyparams
    - ssl_excert_free
    - SSL_CONF_CTX_free
    - SSL_CTX_set_session_id_context
    - load_excert
    - SSL_CONF_CTX_set_flags
    - ctx_set_verify_locations
    - SSL_CTX_set_mode
    - do_server
    - X509_free
    - SSL_CTX_set_split_send_fragment
    - init_session_cache_ctx
    - load_cert_pass
    - SSL_CTX_set_max_early_data
    - sk_X509_CRL_push
    - BIO_flush
    - X509_VERIFY_PARAM_new
    - OPENSSL_strdup
    - opt_verify
    - SSL_CTX_set_cookie_verify_cb
    - SSL_SESSION_free
    - SSL_CTX_set_min_proto_version
    - unlink
    - STACK_OF
    - SSL_CTX_set_tlsext_servername_arg
    - sk_OPENSSL_STRING_free
    - SSL_CTX_set_next_protos_advertised_cb
    - SSL_CTX_use_serverinfo_file
    - SSL_CTX_set_tlsext_status_cb
    - SSL_CTX_set_client_CA_list
    - sk_X509_CRL_new_null
    linkageType: ''
    returnType: int
    signature: int s_server_main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2615,1
    - Dst: SSL_CTX_sess_number
      Src: /src/openssl/apps/s_server.c:2616,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2617,1
    - Dst: SSL_CTX_sess_connect
      Src: /src/openssl/apps/s_server.c:2618,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2619,1
    - Dst: SSL_CTX_sess_connect_renegotiate
      Src: /src/openssl/apps/s_server.c:2620,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2621,1
    - Dst: SSL_CTX_sess_connect_good
      Src: /src/openssl/apps/s_server.c:2622,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2623,1
    - Dst: SSL_CTX_sess_accept
      Src: /src/openssl/apps/s_server.c:2624,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2625,1
    - Dst: SSL_CTX_sess_accept_renegotiate
      Src: /src/openssl/apps/s_server.c:2626,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2627,1
    - Dst: SSL_CTX_sess_accept_good
      Src: /src/openssl/apps/s_server.c:2628,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2629,1
    - Dst: SSL_CTX_sess_hits
      Src: /src/openssl/apps/s_server.c:2629,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2630,1
    - Dst: SSL_CTX_sess_misses
      Src: /src/openssl/apps/s_server.c:2631,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2632,1
    - Dst: SSL_CTX_sess_timeouts
      Src: /src/openssl/apps/s_server.c:2633,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2634,1
    - Dst: SSL_CTX_sess_cb_hits
      Src: /src/openssl/apps/s_server.c:2635,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2636,1
    - Dst: SSL_CTX_sess_cache_full
      Src: /src/openssl/apps/s_server.c:2637,1
    - Dst: SSL_CTX_sess_get_cache_size
      Src: /src/openssl/apps/s_server.c:2638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - bio
    - ssl_ctx
    argTypes:
    - BIO*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2613
    functionDepth: 2
    functionLinenumber: 2613
    functionLinenumberEnd: 2639
    functionName: print_stats
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_sess_connect_renegotiate
    - SSL_CTX_sess_connect
    - SSL_CTX_sess_accept
    - SSL_CTX_sess_number
    - SSL_CTX_sess_get_cache_size
    - SSL_CTX_sess_cb_hits
    - SSL_CTX_sess_accept_renegotiate
    - SSL_CTX_sess_timeouts
    - SSL_CTX_sess_connect_good
    - SSL_CTX_sess_cache_full
    - SSL_CTX_sess_accept_good
    - SSL_CTX_sess_misses
    - SSL_CTX_sess_hits
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_stats(BIO *bio, SSL_CTX *ssl_ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_callback_arg
      Src: /src/openssl/apps/s_server.c:2644,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:2657,1
    - Dst: bio_dump_callback
      Src: /src/openssl/apps/s_server.c:2658,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:2659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2663
    functionName: count_reads_callback
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - bio_dump_callback
    - BIO_get_callback_arg
    - BIO_set_callback_arg
    linkageType: ''
    returnType: long int
    signature: "long int count_reads_callback(BIO *bio, int cmd, const char *argp,
      size_t len,\n                                 int argi, long argl, int ret,
      size_t *processed)"
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:2686,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/apps/s_server.c:2688,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2689,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2691,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_server.c:2694,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_server.c:2701,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_server.c:2702,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/apps/s_server.c:2706,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:2707,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2708,1
    - Dst: SSL_clear
      Src: /src/openssl/apps/s_server.c:2713,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2714,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/apps/s_server.c:2722,1
    - Dst: BIO_new_dgram
      Src: /src/openssl/apps/s_server.c:2725,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2727,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2728,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_server.c:2735,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_server.c:2739,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/openssl/apps/s_server.c:2743,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2744,1
    - Dst: DTLS_get_link_min_mtu
      Src: /src/openssl/apps/s_server.c:2745,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:2747,1
    - Dst: SSL_set_options
      Src: /src/openssl/apps/s_server.c:2750,1
    - Dst: DTLS_set_link_mtu
      Src: /src/openssl/apps/s_server.c:2751,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2752,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:2754,1
    - Dst: BIO_ctrl
      Src: /src/openssl/apps/s_server.c:2759,1
    - Dst: SSL_set_options
      Src: /src/openssl/apps/s_server.c:2765,1
    - Dst: BIO_new_socket
      Src: /src/openssl/apps/s_server.c:2768,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2771,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2772,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:2779,1
    - Dst: BIO_f_nbio_test
      Src: /src/openssl/apps/s_server.c:2779,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2781,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:2783,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:2786,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_server.c:2789,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/apps/s_server.c:2790,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/s_server.c:2793,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:2793,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:2797,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:2800,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/apps/s_server.c:2801,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_server.c:2805,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_server.c:2806,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/apps/s_server.c:2815,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:2819,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2826,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2827,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2833,1
    - Dst: raw_write_stdout
      Src: /src/openssl/apps/s_server.c:2836,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:2837,1
    - Dst: SSL_get_early_data_status
      Src: /src/openssl/apps/s_server.c:2841,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2842,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2844,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2846,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/apps/s_server.c:2848,1
    - Dst: print_connection_info
      Src: /src/openssl/apps/s_server.c:2849,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_server.c:2852,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_server.c:2853,1
    - Dst: SSL_has_pending
      Src: /src/openssl/apps/s_server.c:2862,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:2863,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_server.c:2866,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_server.c:2868,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_server.c:2868,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_server.c:2870,1
    - Dst: select
      Src: /src/openssl/apps/s_server.c:2887,1
    - Dst: has_stdin_waiting
      Src: /src/openssl/apps/s_server.c:2888,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/apps/s_server.c:2893,1
    - Dst: DTLSv1_get_timeout
      Src: /src/openssl/apps/s_server.c:2893,1
    - Dst: select
      Src: /src/openssl/apps/s_server.c:2898,1
    - Dst: DTLSv1_handle_timeout
      Src: /src/openssl/apps/s_server.c:2900,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2901,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_server.c:2905,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/s_server.c:2905,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_server.c:2908,1
    - Dst: raw_read_stdin
      Src: /src/openssl/apps/s_server.c:2915,1
    - Dst: assert
      Src: /src/openssl/apps/s_server.c:2929,1
    - Dst: raw_read_stdin
      Src: /src/openssl/apps/s_server.c:2931,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2936,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:2937,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_server.c:2938,1
    - Dst: close_accept_socket
      Src: /src/openssl/apps/s_server.c:2939,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:2944,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:2945,1
    - Dst: SSL_version
      Src: /src/openssl/apps/s_server.c:2946,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_server.c:2947,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:2954,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:2955,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:2956,1
    - Dst: SSL_set_verify
      Src: /src/openssl/apps/s_server.c:2960,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:2963,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:2964,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:2965,1
    - Dst: SSL_key_update
      Src: /src/openssl/apps/s_server.c:2970,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:2973,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:2974,1
    - Dst: SSL_set_verify
      Src: /src/openssl/apps/s_server.c:2978,1
    - Dst: SSL_verify_client_post_handshake
      Src: /src/openssl/apps/s_server.c:2979,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:2981,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:2982,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:2984,1
    - Dst: printf
      Src: /src/openssl/apps/s_server.c:2985,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:2991,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:2991,1
    - Dst: print_stats
      Src: /src/openssl/apps/s_server.c:2994,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/apps/s_server.c:2994,1
    - Dst: ebcdic2ascii
      Src: /src/openssl/apps/s_server.c:2998,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:3007,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_server.c:3010,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3012,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3013,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3015,1
    - Dst: SSL_write
      Src: /src/openssl/apps/s_server.c:3017,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3020,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3024,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3025,1
    - Dst: wait_for_async
      Src: /src/openssl/apps/s_server.c:3026,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3031,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3032,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3040,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3041,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3042,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3047,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3048,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:3066,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/apps/s_server.c:3067,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:3075,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3075,1
    - Dst: init_ssl_connection
      Src: /src/openssl/apps/s_server.c:3076,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:3077,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3077,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_server.c:3096,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3098,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3099,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3101,1
    - Dst: SSL_read
      Src: /src/openssl/apps/s_server.c:3103,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3106,1
    - Dst: ascii2ebcdic
      Src: /src/openssl/apps/s_server.c:3109,1
    - Dst: raw_write_stdout
      Src: /src/openssl/apps/s_server.c:3111,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3112,1
    - Dst: SSL_has_pending
      Src: /src/openssl/apps/s_server.c:3113,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3117,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3118,1
    - Dst: wait_for_async
      Src: /src/openssl/apps/s_server.c:3119,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3123,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3124,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3132,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3133,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3134,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3138,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3139,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3148,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_server.c:3149,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:3150,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3152,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/s_server.c:3153,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 371
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    assertStmts:
    - condition: (lf_num == 0)
      pos:
        line_end: 2928
        line_start: 2928
        source_file: /src/openssl/apps/s_server.c
    constantsTouched: []
    func_position:
      end: 3155
      start: 2665
    functionDepth: 6
    functionLinenumber: 2665
    functionLinenumberEnd: 3155
    functionName: sv_body
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - SSL_key_update
    - BIO_set_callback_ex
    - SSL_is_init_finished
    - printf
    - ebcdic2ascii
    - fileno_stdin
    - SSL_set_msg_callback
    - SSL_set_session_id_context
    - DTLS_get_link_min_mtu
    - select
    - strlen
    - SSL_verify_client_post_handshake
    - SSL_waiting_for_async
    - app_malloc
    - assert
    - BIO_new
    - FD_ZERO
    - SSL_get_error
    - BIO_write
    - BIO_new_socket
    - SSL_is_dtls
    - FD_ISSET
    - BIO_ctrl
    - SSL_get_early_data_status
    - SSL_read
    - BIO_flush
    - BIO_socket_nbio
    - SSL_set_verify
    - DTLS_set_link_mtu
    - BIO_push
    - print_stats
    - print_connection_info
    - init_ssl_connection
    - DTLSv1_handle_timeout
    - SSL_set_bio
    - BIO_printf
    - ascii2ebcdic
    - SSL_set_accept_state
    - BIO_closesocket
    - SSL_do_handshake
    - SSL_free
    - lookup_srp_user
    - BIO_free
    - openssl_fdset
    - SSL_version
    - BIO_new_dgram_sctp
    - SSL_new
    - raw_write_stdout
    - SSL_set_msg_callback_arg
    - SSL_set_tlsext_debug_arg
    - ERR_print_errors
    - has_stdin_waiting
    - BIO_f_nbio_test
    - SSL_set_tlsext_debug_callback
    - SSL_renegotiate
    - BIO_set_callback_arg
    - do_ssl_shutdown
    - wait_for_async
    - SSL_read_early_data
    - DTLSv1_get_timeout
    - OPENSSL_clear_free
    - SSL_clear
    - close_accept_socket
    - SSL_write
    - SSL_get_wbio
    - SSL_has_pending
    - SSL_set_options
    - SSL_get_SSL_CTX
    - SSL_get_rbio
    - BIO_new_dgram
    - raw_read_stdin
    linkageType: ''
    returnType: int
    signature: int sv_body(int s, int stype, int prot, unsigned char *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3159,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/s_server.c:3161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3157
    functionDepth: 2
    functionLinenumber: 3157
    functionLinenumberEnd: 3163
    functionName: close_accept_socket
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - BIO_closesocket
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void close_accept_socket(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - con
    - i
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3173
      start: 3165
    functionDepth: 1
    functionLinenumber: 3165
    functionLinenumberEnd: 3173
    functionName: is_retryable
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int is_retryable(SSL *con, int i)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/s_server.c:3185,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3186,1
    - Dst: DTLSv1_listen
      Src: /src/openssl/apps/s_server.c:3189,1
    - Dst: SSL_stateless
      Src: /src/openssl/apps/s_server.c:3191,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:3198,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/s_server.c:3200,1
    - Dst: BIO_connect
      Src: /src/openssl/apps/s_server.c:3203,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3204,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_server.c:3205,1
    - Dst: BIO_ctrl_set_connected
      Src: /src/openssl/apps/s_server.c:3209,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_server.c:3210,1
    - Dst: SSL_accept
      Src: /src/openssl/apps/s_server.c:3215,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/s_server.c:3217,1
    - Dst: SSL_accept
      Src: /src/openssl/apps/s_server.c:3221,1
    - Dst: is_retryable
      Src: /src/openssl/apps/s_server.c:3224,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3228,1
    - Dst: SSL_get_state
      Src: /src/openssl/apps/s_server.c:3229,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3230,1
    - Dst: SSL_accept
      Src: /src/openssl/apps/s_server.c:3232,1
    - Dst: is_retryable
      Src: /src/openssl/apps/s_server.c:3234,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3241,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3242,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3245,1
    - Dst: SSL_accept
      Src: /src/openssl/apps/s_server.c:3247,1
    - Dst: is_retryable
      Src: /src/openssl/apps/s_server.c:3249,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:3252,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3258,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3262,1
    - Dst: SSL_get_verify_result
      Src: /src/openssl/apps/s_server.c:3264,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3266,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/s_server.c:3267,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3270,1
    - Dst: print_connection_info
      Src: /src/openssl/apps/s_server.c:3274,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 1
    argNames:
    - con
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3175
    functionDepth: 5
    functionLinenumber: 3175
    functionLinenumberEnd: 3276
    functionName: init_ssl_connection
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - BIO_ADDR_new
    - is_retryable
    - SSL_waiting_for_async
    - SSL_get_error
    - print_connection_info
    - BIO_printf
    - SSL_get_verify_result
    - lookup_srp_user
    - BIO_connect
    - BIO_ctrl_set_connected
    - SSL_stateless
    - DTLSv1_listen
    - BIO_ADDR_free
    - SSL_accept
    - BIO_get_fd
    - X509_verify_cert_error_string
    - SSL_get_wbio
    - ERR_print_errors
    - SSL_get_state
    linkageType: ''
    returnType: int
    signature: int init_ssl_connection(SSL *con)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: print_ssl_summary
      Src: /src/openssl/apps/s_server.c:3291,1
    - Dst: PEM_write_bio_SSL_SESSION
      Src: /src/openssl/apps/s_server.c:3293,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_server.c:3293,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/apps/s_server.c:3295,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3297,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/s_server.c:3298,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/s_server.c:3299,1
    - Dst: SSL_get_negotiated_server_cert_type
      Src: /src/openssl/apps/s_server.c:3303,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3304,1
    - Dst: SSL_get_negotiated_client_cert_type
      Src: /src/openssl/apps/s_server.c:3305,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3306,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/apps/s_server.c:3308,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3311,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/s_server.c:3312,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/openssl/apps/s_server.c:3316,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3317,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/s_server.c:3318,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/apps/s_server.c:3318,1
    - Dst: ssl_print_sigalgs
      Src: /src/openssl/apps/s_server.c:3319,1
    - Dst: ssl_print_point_formats
      Src: /src/openssl/apps/s_server.c:3321,1
    - Dst: ssl_print_groups
      Src: /src/openssl/apps/s_server.c:3322,1
    - Dst: print_ca_names
      Src: /src/openssl/apps/s_server.c:3324,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3325,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/openssl/apps/s_server.c:3328,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3330,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3331,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3332,1
    - Dst: SSL_get_selected_srtp_profile
      Src: /src/openssl/apps/s_server.c:3338,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3341,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_server.c:3345,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3346,1
    - Dst: ssl_print_secure_renegotiation_notes
      Src: /src/openssl/apps/s_server.c:3348,1
    - Dst: SSL_get_options
      Src: /src/openssl/apps/s_server.c:3350,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3351,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3354,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3355,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3356,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:3357,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/apps/s_server.c:3358,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:3361,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3363,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3365,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3367,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3370,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/apps/s_server.c:3373,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:3373,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3374,1
    - Dst: BIO_get_ktls_recv
      Src: /src/openssl/apps/s_server.c:3375,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3375,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3376,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3379,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 1
    argNames:
    - con
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3278
    functionDepth: 5
    functionLinenumber: 3278
    functionLinenumberEnd: 3380
    functionName: print_connection_info
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 2
    functionsReached:
    - print_ssl_summary
    - PEM_write_bio_X509
    - print_ca_names
    - SSL_get_options
    - OPENSSL_free
    - BIO_get_ktls_recv
    - SSL_get_session
    - SSL_get_selected_srtp_profile
    - strlen
    - SSL_get0_peer_certificate
    - app_malloc
    - BIO_write
    - SSL_get_shared_ciphers
    - BIO_flush
    - SSL_get_negotiated_client_cert_type
    - dump_cert_text
    - SSL_get_current_cipher
    - ssl_print_point_formats
    - BIO_printf
    - SSL_get0_peer_rpk
    - ssl_print_groups
    - ssl_print_secure_renegotiation_notes
    - ssl_print_sigalgs
    - SSL_export_keying_material
    - BIO_get_ktls_send
    - EVP_PKEY_print_public
    - PEM_write_bio_SSL_SESSION
    - SSL_get0_next_proto_negotiated
    - SSL_get_wbio
    - SSL_get_negotiated_server_cert_type
    - SSL_CIPHER_get_name
    - SSL_get_rbio
    - SSL_session_reused
    linkageType: ''
    returnType: void
    signature: void print_connection_info(SSL *con)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:3408,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3409,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_server.c:3409,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3410,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/apps/s_server.c:3410,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3411,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/s_server.c:3411,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/apps/s_server.c:3416,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3417,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3419,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/openssl/apps/s_server.c:3423,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_server.c:3426,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_server.c:3430,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_server.c:3431,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/apps/s_server.c:3435,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:3436,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:3437,1
    - Dst: BIO_new_socket
      Src: /src/openssl/apps/s_server.c:3441,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:3443,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3450,1
    - Dst: BIO_f_nbio_test
      Src: /src/openssl/apps/s_server.c:3450,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:3452,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3453,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:3457,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_server.c:3459,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/apps/s_server.c:3460,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/apps/s_server.c:3463,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:3464,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3467,1
    - Dst: BIO_f_ebcdic_filter
      Src: /src/openssl/apps/s_server.c:3467,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:3471,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3473,1
    - Dst: BIO_f_ebcdic_filter
      Src: /src/openssl/apps/s_server.c:3473,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:3477,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/s_server.c:3481,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3481,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:3482,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3482,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:3487,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:3490,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/apps/s_server.c:3491,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/apps/s_server.c:3500,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3504,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3511,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3512,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3517,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_server.c:3522,1
    - Dst: BIO_eof
      Src: /src/openssl/apps/s_server.c:3522,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:3524,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:3524,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3526,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3529,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/apps/s_server.c:3531,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/apps/s_server.c:3532,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3533,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3535,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/s_server.c:3540,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:3549,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:3550,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/s_server.c:3552,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:3555,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:3556,1
    - Dst: SSL_set_verify
      Src: /src/openssl/apps/s_server.c:3557,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:3560,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3561,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/apps/s_server.c:3563,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3565,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/s_server.c:3566,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3567,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/s_server.c:3571,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/s_server.c:3572,1
    - Dst: select
      Src: /src/openssl/apps/s_server.c:3573,1
    - Dst: FD_ISSET
      Src: /src/openssl/apps/s_server.c:3574,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3575,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3577,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_server.c:3586,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3589,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3591,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3592,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3594,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3601,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3604,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3607,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3610,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3613,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3615,1
    - Dst: ssl_print_secure_renegotiation_notes
      Src: /src/openssl/apps/s_server.c:3617,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3622,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/apps/s_server.c:3623,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/apps/s_server.c:3624,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/apps/s_server.c:3626,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3627,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/openssl/apps/s_server.c:3628,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/s_server.c:3628,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3630,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3632,1
    - Dst: SSL_get_shared_ciphers
      Src: /src/openssl/apps/s_server.c:3633,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3635,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3640,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3643,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3645,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3650,1
    - Dst: ssl_print_sigalgs
      Src: /src/openssl/apps/s_server.c:3652,1
    - Dst: ssl_print_groups
      Src: /src/openssl/apps/s_server.c:3654,1
    - Dst: print_ca_names
      Src: /src/openssl/apps/s_server.c:3656,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3657,1
    - Dst: SSL_session_reused
      Src: /src/openssl/apps/s_server.c:3657,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/apps/s_server.c:3659,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3660,1
    - Dst: SSL_CIPHER_get_version
      Src: /src/openssl/apps/s_server.c:3661,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/s_server.c:3661,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/apps/s_server.c:3662,1
    - Dst: SSL_get_session
      Src: /src/openssl/apps/s_server.c:3662,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3663,1
    - Dst: print_stats
      Src: /src/openssl/apps/s_server.c:3664,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/apps/s_server.c:3664,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3665,1
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/apps/s_server.c:3666,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3668,1
    - Dst: X509_print
      Src: /src/openssl/apps/s_server.c:3669,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/s_server.c:3670,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3673,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3675,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/s_server.c:3677,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3712,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3713,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3719,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3720,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3725,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3726,1
    - Dst: app_isdir
      Src: /src/openssl/apps/s_server.c:3731,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3732,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3733,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/s_server.c:3738,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3739,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3740,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3741,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3746,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:3749,1
    - Dst: strcmp
      Src: /src/openssl/apps/s_server.c:3750,1
    - Dst: strcmp
      Src: /src/openssl/apps/s_server.c:3751,1
    - Dst: strcmp
      Src: /src/openssl/apps/s_server.c:3752,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3753,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3756,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/apps/s_server.c:3761,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/apps/s_server.c:3761,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3762,1
    - Dst: BIO_get_fp
      Src: /src/openssl/apps/s_server.c:3772,1
    - Dst: fileno
      Src: /src/openssl/apps/s_server.c:3773,1
    - Dst: fstat
      Src: /src/openssl/apps/s_server.c:3774,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3775,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3776,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3781,1
    - Dst: SSL_sendfile
      Src: /src/openssl/apps/s_server.c:3785,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3787,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3788,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3797,1
    - Dst: BIO_read
      Src: /src/openssl/apps/s_server.c:3806,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3812,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3815,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:3816,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/apps/s_server.c:3824,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:3826,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:3828,1
    - Dst: SSL_waiting_for_async
      Src: /src/openssl/apps/s_server.c:3829,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3832,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3841,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:3847,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:3849,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_server.c:3856,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:3859,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:3860,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:3861,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:3862,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 362
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3382
    functionDepth: 5
    functionLinenumber: 3382
    functionLinenumberEnd: 3864
    functionName: www_body
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_set_callback_ex
    - print_ca_names
    - SSL_set_msg_callback
    - SSL_get_session
    - SSL_set_session_id_context
    - strcmp
    - app_malloc
    - BIO_get_fp
    - X509_print
    - FD_ISSET
    - BIO_socket_nbio
    - BIO_eof
    - SSL_set_verify
    - BIO_read
    - ssl_print_groups
    - sk_SSL_CIPHER_num
    - SSL_get_ciphers
    - SSL_CIPHER_get_name
    - SSL_session_reused
    - fstat
    - OPENSSL_free
    - BIO_s_mem
    - BIO_set_write_buffer_size
    - SSL_get_error
    - BIO_push
    - SSL_sendfile
    - SSL_get_current_cipher
    - SSL_SESSION_print
    - BIO_new_file
    - SSL_do_handshake
    - BIO_gets
    - BIO_puts
    - SSL_set_tlsext_debug_arg
    - ssl_print_secure_renegotiation_notes
    - BIO_f_nbio_test
    - app_isdir
    - SSL_get_wbio
    - ERR_print_errors
    - SSL_get_SSL_CTX
    - BIO_set_ssl
    - PEM_write_bio_X509
    - OSSL_sleep
    - BIO_f_ebcdic_filter
    - strlen
    - SSL_waiting_for_async
    - BIO_should_retry
    - BIO_write
    - BIO_new
    - BIO_new_socket
    - BIO_free_all
    - print_stats
    - BIO_printf
    - BIO_f_ssl
    - SSL_free
    - lookup_srp_user
    - BIO_free
    - sk_SSL_CIPHER_value
    - SSL_set_msg_callback_arg
    - ssl_print_sigalgs
    - SSL_set_tlsext_debug_callback
    - do_ssl_shutdown
    - SSL_read_early_data
    - select
    - SSL_get0_peer_certificate
    - HAS_PREFIX
    - FD_ZERO
    - SSL_get_shared_ciphers
    - CHECK_AND_SKIP_PREFIX
    - BIO_get_retry_reason
    - BIO_flush
    - SSL_CIPHER_get_version
    - SSL_set_bio
    - SSL_set_accept_state
    - openssl_fdset
    - SSL_new
    - STACK_OF
    - BIO_f_buffer
    - SSL_renegotiate
    - BIO_set_callback_arg
    - BIO_should_io_special
    - fileno
    - BIO_get_ktls_send
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int www_body(int s, int stype, int prot, unsigned char *context)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:3879,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3880,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/s_server.c:3880,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3881,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/apps/s_server.c:3881,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/openssl/apps/s_server.c:3886,1
    - Dst: SSL_new
      Src: /src/openssl/apps/s_server.c:3889,1
    - Dst: SSL_set_tlsext_debug_callback
      Src: /src/openssl/apps/s_server.c:3893,1
    - Dst: SSL_set_tlsext_debug_arg
      Src: /src/openssl/apps/s_server.c:3894,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/apps/s_server.c:3897,1
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:3898,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:3899,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3900,1
    - Dst: BIO_new_socket
      Src: /src/openssl/apps/s_server.c:3904,1
    - Dst: SSL_free
      Src: /src/openssl/apps/s_server.c:3906,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3907,1
    - Dst: SSL_set_bio
      Src: /src/openssl/apps/s_server.c:3911,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/apps/s_server.c:3912,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/apps/s_server.c:3915,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:3916,1
    - Dst: BIO_new
      Src: /src/openssl/apps/s_server.c:3919,1
    - Dst: BIO_f_ebcdic_filter
      Src: /src/openssl/apps/s_server.c:3919,1
    - Dst: BIO_push
      Src: /src/openssl/apps/s_server.c:3923,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/apps/s_server.c:3927,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3927,1
    - Dst: BIO_set_callback_arg
      Src: /src/openssl/apps/s_server.c:3928,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/s_server.c:3928,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:3933,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/apps/s_server.c:3936,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/apps/s_server.c:3937,1
    - Dst: BIO_do_handshake
      Src: /src/openssl/apps/s_server.c:3941,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:3944,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/s_server.c:3945,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3946,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/apps/s_server.c:3950,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/apps/s_server.c:3951,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3952,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3954,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3960,1
    - Dst: print_ssl_summary
      Src: /src/openssl/apps/s_server.c:3961,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/s_server.c:3964,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:3966,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/s_server.c:3968,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3971,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/apps/s_server.c:3973,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/apps/s_server.c:3974,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3975,1
    - Dst: lookup_srp_user
      Src: /src/openssl/apps/s_server.c:3977,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/s_server.c:3982,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3987,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/s_server.c:3995,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:3997,1
    - Dst: BUF_reverse
      Src: /src/openssl/apps/s_server.c:4000,1
    - Dst: BIO_write
      Src: /src/openssl/apps/s_server.c:4002,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/s_server.c:4004,1
    - Dst: BIO_should_retry
      Src: /src/openssl/apps/s_server.c:4007,1
    - Dst: do_ssl_shutdown
      Src: /src/openssl/apps/s_server.c:4014,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4018,1
    - Dst: BIO_free
      Src: /src/openssl/apps/s_server.c:4019,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/s_server.c:4020,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 125
    argCount: 4
    argNames:
    - s
    - stype
    - prot
    - context
    argTypes:
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 3866
    functionDepth: 5
    functionLinenumber: 3866
    functionLinenumberEnd: 4022
    functionName: rev_body
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - BIO_set_ssl
    - BIO_set_callback_ex
    - print_ssl_summary
    - OSSL_sleep
    - SSL_set_msg_callback
    - OPENSSL_free
    - SSL_set_session_id_context
    - BIO_f_ebcdic_filter
    - strlen
    - BIO_set_write_buffer_size
    - app_malloc
    - BIO_should_retry
    - BIO_new
    - HAS_PREFIX
    - BIO_write
    - BIO_new_socket
    - BIO_flush
    - BIO_get_retry_reason
    - BIO_free_all
    - BIO_push
    - SSL_set_bio
    - BIO_printf
    - BIO_f_ssl
    - SSL_set_accept_state
    - SSL_free
    - BUF_reverse
    - lookup_srp_user
    - BIO_puts
    - BIO_gets
    - BIO_free
    - BIO_do_handshake
    - SSL_new
    - BIO_f_buffer
    - SSL_set_tlsext_debug_arg
    - SSL_set_msg_callback_arg
    - SSL_set_tlsext_debug_callback
    - BIO_set_callback_arg
    - do_ssl_shutdown
    - BIO_should_io_special
    - ERR_print_errors
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int rev_body(int s, int stype, int prot, unsigned char *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/s_server.c:4029,1
    - Dst: RAND_bytes
      Src: /src/openssl/apps/s_server.c:4032,1
    - Dst: memcpy
      Src: /src/openssl/apps/s_server.c:4041,1
    - Dst: SSL_has_matching_session_id
      Src: /src/openssl/apps/s_server.c:4045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - id
    - id_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4050
      start: 4025
    functionDepth: 8
    functionLinenumber: 4025
    functionLinenumberEnd: 4050
    functionName: generate_session_id
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - RAND_bytes
    - strlen
    - SSL_has_matching_session_id
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int generate_session_id(SSL *ssl, unsigned char *id,\n                               unsigned
      int *id_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:4071,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/apps/s_server.c:4074,1
    - Dst: i2d_SSL_SESSION
      Src: /src/openssl/apps/s_server.c:4075,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4077,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4078,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/apps/s_server.c:4082,1
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/apps/s_server.c:4082,1
    - Dst: app_malloc
      Src: /src/openssl/apps/s_server.c:4083,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4085,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4086,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4087,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4088,1
    - Dst: i2d_SSL_SESSION
      Src: /src/openssl/apps/s_server.c:4094,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4095,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4096,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4097,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4098,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - ssl
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4106
      start: 4069
    functionDepth: 2
    functionLinenumber: 4069
    functionLinenumberEnd: 4106
    functionName: add_session
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 3
    functionsReached:
    - i2d_SSL_SESSION
    - SSL_SESSION_get_id
    - OPENSSL_memdup
    - OPENSSL_free
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int add_session(SSL *ssl, SSL_SESSION *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/apps/s_server.c:4114,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4116,1
    - Dst: d2i_SSL_SESSION_ex
      Src: /src/openssl/apps/s_server.c:4117,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/s_server.c:4117,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/s_server.c:4118,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/s_server.c:4121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ssl
    - id
    - idlen
    - do_copy
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4108
    functionDepth: 2
    functionLinenumber: 4108
    functionLinenumberEnd: 4123
    functionName: get_session
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 12
    functionsReached:
    - memcmp
    - d2i_SSL_SESSION_ex
    - app_get0_propq
    - app_get0_libctx
    - BIO_printf
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *get_session(SSL *ssl, const unsigned char *id, int idlen,\n
      \                               int *do_copy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_id
      Src: /src/openssl/apps/s_server.c:4130,1
    - Dst: memcmp
      Src: /src/openssl/apps/s_server.c:4132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4137,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4138,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sctx
    - session
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4144
      start: 4125
    functionDepth: 1
    functionLinenumber: 4125
    functionLinenumberEnd: 4144
    functionName: del_session
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 0
    functionsReached:
    - memcmp
    - SSL_SESSION_get_id
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void del_session(SSL_CTX *sctx, SSL_SESSION *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/openssl/apps/s_server.c:4148,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/openssl/apps/s_server.c:4151,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/openssl/apps/s_server.c:4152,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/openssl/apps/s_server.c:4153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4154
      start: 4146
    functionDepth: 1
    functionLinenumber: 4146
    functionLinenumberEnd: 4154
    functionName: init_session_cache_ctx
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_sess_set_get_cb
    - SSL_CTX_sess_set_remove_cb
    - SSL_CTX_sess_set_new_cb
    linkageType: ''
    returnType: void
    signature: void init_session_cache_ctx(SSL_CTX *sctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4160,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4161,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/s_server.c:4164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4167
      start: 4156
    functionDepth: 0
    functionLinenumber: 4156
    functionLinenumberEnd: 4167
    functionName: free_sessions
    functionSourceFile: /src/openssl/apps/s_server.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_sessions(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/errstr.c:41,1
    - Dst: opt_next
      Src: /src/openssl/apps/errstr.c:42,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/errstr.c:46,1
    - Dst: opt_help
      Src: /src/openssl/apps/errstr.c:49,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/apps/errstr.c:59,1
    - Dst: opt_rest
      Src: /src/openssl/apps/errstr.c:64,1
    - Dst: sscanf
      Src: /src/openssl/apps/errstr.c:65,1
    - Dst: ERR_error_string_n
      Src: /src/openssl/apps/errstr.c:68,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/errstr.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 74
    functionName: errstr_main
    functionSourceFile: /src/openssl/apps/errstr.c
    functionUses: 0
    functionsReached:
    - opt_help
    - opt_next
    - opt_init
    - ERR_error_string_n
    - sscanf
    - OPENSSL_init_ssl
    - opt_rest
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int errstr_main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - operation
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: operation_name
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *operation_name(int operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: SET_OPERATION
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_OPERATION(op)
  - BBCount: 160
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/smime.c:167,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/smime.c:168,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/smime.c:187,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/smime.c:189,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/smime.c:192,1
    - Dst: opt_init
      Src: /src/openssl/apps/smime.c:193,1
    - Dst: opt_next
      Src: /src/openssl/apps/smime.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:199,1
    - Dst: opt_help
      Src: /src/openssl/apps/smime.c:202,1
    - Dst: opt_format
      Src: /src/openssl/apps/smime.c:206,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:206,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:210,1
    - Dst: opt_format
      Src: /src/openssl/apps/smime.c:213,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:213,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:217,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:220,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:224,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:228,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:232,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:236,1
    - Dst: SET_OPERATION
      Src: /src/openssl/apps/smime.c:240,1
    - Dst: opt_rand
      Src: /src/openssl/apps/smime.c:285,1
    - Dst: opt_provider
      Src: /src/openssl/apps/smime.c:289,1
    - Dst: app_load_config_modules
      Src: /src/openssl/apps/smime.c:293,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:293,1
    - Dst: setup_engine
      Src: /src/openssl/apps/smime.c:298,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:298,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:301,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:304,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:307,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:310,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:316,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:318,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:323,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:325,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:329,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:332,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:335,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/smime.c:338,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:344,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:349,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:351,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:355,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:357,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:360,1
    - Dst: opt_format
      Src: /src/openssl/apps/smime.c:363,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:363,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:367,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:370,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:373,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:376,1
    - Dst: opt_arg
      Src: /src/openssl/apps/smime.c:388,1
    - Dst: opt_verify
      Src: /src/openssl/apps/smime.c:391,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/smime.c:399,1
    - Dst: opt_rest
      Src: /src/openssl/apps/smime.c:400,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/smime.c:402,1
    - Dst: opt_md
      Src: /src/openssl/apps/smime.c:406,1
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/smime.c:409,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:412,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:416,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/smime.c:424,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:429,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:431,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/smime.c:433,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/smime.c:437,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:441,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:448,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:454,1
    - Dst: app_passwd
      Src: /src/openssl/apps/smime.c:459,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:460,1
    - Dst: EVP_aes_256_cbc
      Src: /src/openssl/apps/smime.c:481,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/smime.c:482,1
    - Dst: load_cert
      Src: /src/openssl/apps/smime.c:486,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/smime.c:490,1
    - Dst: load_certs
      Src: /src/openssl/apps/smime.c:498,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/smime.c:499,1
    - Dst: load_cert
      Src: /src/openssl/apps/smime.c:505,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/smime.c:507,1
    - Dst: load_key
      Src: /src/openssl/apps/smime.c:523,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/smime.c:528,1
    - Dst: PKCS7_new_ex
      Src: /src/openssl/apps/smime.c:535,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/smime.c:535,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:537,1
    - Dst: SMIME_read_PKCS7_ex
      Src: /src/openssl/apps/smime.c:541,1
    - Dst: PEM_read_bio_PKCS7
      Src: /src/openssl/apps/smime.c:543,1
    - Dst: d2i_PKCS7_bio
      Src: /src/openssl/apps/smime.c:545,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:547,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:552,1
    - Dst: BIO_free
      Src: /src/openssl/apps/smime.c:556,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/smime.c:557,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:558,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/smime.c:564,1
    - Dst: setup_verify
      Src: /src/openssl/apps/smime.c:569,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/smime.c:572,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/smime.c:574,1
    - Dst: PKCS7_encrypt_ex
      Src: /src/openssl/apps/smime.c:582,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/smime.c:582,1
    - Dst: PKCS7_sign_ex
      Src: /src/openssl/apps/smime.c:597,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/smime.c:597,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/smime.c:601,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/smime.c:602,1
    - Dst: PKCS7_add_certificate
      Src: /src/openssl/apps/smime.c:603,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/smime.c:609,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/smime.c:610,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/smime.c:611,1
    - Dst: load_cert
      Src: /src/openssl/apps/smime.c:612,1
    - Dst: load_key
      Src: /src/openssl/apps/smime.c:615,1
    - Dst: PKCS7_sign_add_signer
      Src: /src/openssl/apps/smime.c:619,1
    - Dst: X509_free
      Src: /src/openssl/apps/smime.c:621,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/smime.c:623,1
    - Dst: PKCS7_final
      Src: /src/openssl/apps/smime.c:628,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:634,1
    - Dst: PKCS7_decrypt
      Src: /src/openssl/apps/smime.c:640,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:641,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/smime.c:645,1
    - Dst: PKCS7_verify
      Src: /src/openssl/apps/smime.c:646,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:647,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:649,1
    - Dst: PKCS7_get0_signers
      Src: /src/openssl/apps/smime.c:652,1
    - Dst: save_certs
      Src: /src/openssl/apps/smime.c:653,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:654,1
    - Dst: sk_X509_free
      Src: /src/openssl/apps/smime.c:658,1
    - Dst: PEM_write_bio_PKCS7
      Src: /src/openssl/apps/smime.c:660,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:663,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:665,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:667,1
    - Dst: SMIME_write_PKCS7
      Src: /src/openssl/apps/smime.c:670,1
    - Dst: SMIME_write_PKCS7
      Src: /src/openssl/apps/smime.c:672,1
    - Dst: PEM_write_bio_PKCS7_stream
      Src: /src/openssl/apps/smime.c:674,1
    - Dst: i2d_PKCS7_bio_stream
      Src: /src/openssl/apps/smime.c:676,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:678,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/smime.c:682,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/smime.c:690,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/smime.c:691,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/smime.c:692,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/smime.c:693,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/smime.c:694,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/smime.c:695,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/smime.c:696,1
    - Dst: X509_free
      Src: /src/openssl/apps/smime.c:697,1
    - Dst: X509_free
      Src: /src/openssl/apps/smime.c:698,1
    - Dst: X509_free
      Src: /src/openssl/apps/smime.c:699,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/smime.c:700,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/smime.c:701,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/smime.c:702,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/smime.c:703,1
    - Dst: release_engine
      Src: /src/openssl/apps/smime.c:704,1
    - Dst: BIO_free
      Src: /src/openssl/apps/smime.c:705,1
    - Dst: BIO_free
      Src: /src/openssl/apps/smime.c:706,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/smime.c:707,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/smime.c:708,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/smime.c:709,1
    CyclomaticComplexity: 234
    EdgeCount: 234
    ICount: 549
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 161
    functionDepth: 13
    functionLinenumber: 161
    functionLinenumberEnd: 711
    functionName: smime_main
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - PKCS7_free
    - EVP_MD_free
    - load_cert
    - opt_rand
    - X509_STORE_free
    - X509_free
    - OPENSSL_free
    - NCONF_free
    - BIO_free_all
    - i2d_PKCS7_bio_stream
    - opt_md
    - PKCS7_decrypt
    - sk_X509_num
    - app_RAND_load
    - sk_X509_value
    - X509_STORE_set1_param
    - PEM_write_bio_PKCS7_stream
    - sk_X509_push
    - X509_VERIFY_PARAM_new
    - EVP_aes_256_cbc
    - app_get0_propq
    - d2i_PKCS7_bio
    - opt_unknown
    - PKCS7_sign_add_signer
    - EVP_PKEY_free
    - PKCS7_final
    - app_load_config_modules
    - opt_verify
    - SMIME_write_PKCS7
    - EVP_CIPHER_free
    - opt_rest
    - BIO_printf
    - PKCS7_new_ex
    - X509_STORE_set_verify_cb
    - load_key
    - BIO_new_file
    - X509_VERIFY_PARAM_free
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - BIO_puts
    - PEM_read_bio_PKCS7
    - setup_engine
    - opt_cipher_any
    - load_certs
    - BIO_free
    - PKCS7_get0_signers
    - STACK_OF
    - setup_verify
    - sk_OPENSSL_STRING_free
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_num
    - save_certs
    - opt_arg
    - PEM_write_bio_PKCS7
    - opt_num_rest
    - PKCS7_verify
    - PKCS7_sign_ex
    - opt_help
    - sk_X509_free
    - opt_next
    - opt_init
    - bio_open_default
    - app_passwd
    - opt_format
    - SMIME_read_PKCS7_ex
    - PKCS7_encrypt_ex
    - OSSL_STACK_OF_X509_free
    - SET_OPERATION
    - app_get0_libctx
    - opt_set_unknown_name
    - PKCS7_add_certificate
    - sk_X509_new_null
    - ERR_print_errors
    - release_engine
    linkageType: ''
    returnType: int
    signature: int smime_main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/smime.c:720,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/smime.c:723,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/smime.c:724,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/smime.c:724,1
    - Dst: BIO_free
      Src: /src/openssl/apps/smime.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - signerfile
    - signers
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 727
    functionName: save_certs
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 2
    functionsReached:
    - BIO_new_file
    - PEM_write_bio_X509
    - sk_X509_value
    - BIO_free
    - sk_X509_num
    linkageType: ''
    returnType: int
    signature: int save_certs(char *signerfile, STACK_OF(X509) *signers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/apps/smime.c:735,1
    - Dst: policies_print
      Src: /src/openssl/apps/smime.c:741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 744
    functionName: smime_cb
    functionSourceFile: /src/openssl/apps/smime.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_error
    - policies_print
    linkageType: ''
    returnType: int
    signature: int smime_cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: EXACTLY_ONE
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXACTLY_ONE(a, b, c)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/ts.c:181,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/ts.c:184,1
    - Dst: opt_init
      Src: /src/openssl/apps/ts.c:185,1
    - Dst: opt_next
      Src: /src/openssl/apps/ts.c:186,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:191,1
    - Dst: opt_help
      Src: /src/openssl/apps/ts.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:196,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:200,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:203,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:209,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:215,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:218,1
    - Dst: opt_rand
      Src: /src/openssl/apps/ts.c:221,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ts.c:225,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:229,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:238,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:244,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:253,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:256,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:259,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:262,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:265,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:268,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:271,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:274,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:277,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ts.c:280,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/ts.c:283,1
    - Dst: opt_verify
      Src: /src/openssl/apps/ts.c:286,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ts.c:294,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:297,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/ts.c:301,1
    - Dst: opt_md
      Src: /src/openssl/apps/ts.c:304,1
    - Dst: app_passwd
      Src: /src/openssl/apps/ts.c:307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:308,1
    - Dst: load_config_file
      Src: /src/openssl/apps/ts.c:312,1
    - Dst: app_load_modules
      Src: /src/openssl/apps/ts.c:314,1
    - Dst: query_command
      Src: /src/openssl/apps/ts.c:323,1
    - Dst: reply_command
      Src: /src/openssl/apps/ts.c:334,1
    - Dst: EXACTLY_ONE
      Src: /src/openssl/apps/ts.c:339,1
    - Dst: verify_command
      Src: /src/openssl/apps/ts.c:341,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/ts.c:349,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/ts.c:350,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/ts.c:351,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ts.c:352,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 183
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 354
    functionName: ts_main
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - opt_rand
    - opt_check_rest_arg
    - OPENSSL_free
    - NCONF_free
    - EXACTLY_ONE
    - opt_md
    - load_config_file
    - app_RAND_load
    - reply_command
    - X509_VERIFY_PARAM_new
    - opt_unknown
    - query_command
    - opt_verify
    - BIO_printf
    - X509_VERIFY_PARAM_free
    - opt_provider
    - opt_arg
    - opt_help
    - verify_command
    - opt_next
    - opt_init
    - app_passwd
    - opt_set_unknown_name
    - app_load_modules
    linkageType: ''
    returnType: int
    signature: int ts_main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/ts.c:364,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - oid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 7
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: txt2obj
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 28
    functionsReached:
    - OBJ_txt2obj
    - BIO_printf
    linkageType: ''
    returnType: ASN1_OBJECT
    signature: ASN1_OBJECT *txt2obj(const char *oid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: app_load_config
      Src: /src/openssl/apps/ts.c:372,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:377,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/ts.c:378,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:380,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:382,1
    - Dst: OBJ_create_objects
      Src: /src/openssl/apps/ts.c:384,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:385,1
    - Dst: add_oid_section
      Src: /src/openssl/apps/ts.c:388,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - configfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 370
    functionDepth: 5
    functionLinenumber: 370
    functionLinenumberEnd: 392
    functionName: load_config_file
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - OBJ_create_objects
    - app_load_config
    - BIO_free_all
    - add_oid_section
    - ERR_print_errors
    - app_conf_try_string
    - BIO_printf
    linkageType: ''
    returnType: CONF
    signature: CONF *load_config_file(const char *configfile)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:409,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/openssl/apps/ts.c:411,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:414,1
    - Dst: create_query
      Src: /src/openssl/apps/ts.c:416,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:422,1
    - Dst: TS_REQ_print_bio
      Src: /src/openssl/apps/ts.c:424,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:427,1
    - Dst: i2d_TS_REQ_bio
      Src: /src/openssl/apps/ts.c:429,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:436,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:437,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:438,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:439,1
    - Dst: TS_REQ_free
      Src: /src/openssl/apps/ts.c:440,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 9
    argNames:
    - data
    - digest
    - md
    - policy
    - no_nonce
    - cert
    - in
    - out
    - text
    argTypes:
    - char*
    - char*
    - EVP_MD*
    - char*
    - int
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 397
    functionDepth: 9
    functionLinenumber: 397
    functionLinenumberEnd: 442
    functionName: query_command
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - d2i_TS_REQ_bio
    - bio_open_default
    - TS_REQ_free
    - BIO_free_all
    - i2d_TS_REQ_bio
    - ERR_print_errors
    - create_query
    - TS_REQ_print_bio
    linkageType: ''
    returnType: int
    signature: "int query_command(const char *data, const char *digest, const EVP_MD
      *md,\n                         const char *policy, int no_nonce,\n                         int
      cert, const char *in, const char *out, int text)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/apps/ts.c:456,1
    - Dst: TS_REQ_new
      Src: /src/openssl/apps/ts.c:458,1
    - Dst: TS_REQ_set_version
      Src: /src/openssl/apps/ts.c:460,1
    - Dst: TS_MSG_IMPRINT_new
      Src: /src/openssl/apps/ts.c:462,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/apps/ts.c:464,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/ts.c:466,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/apps/ts.c:466,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/apps/ts.c:468,1
    - Dst: TS_MSG_IMPRINT_set_algo
      Src: /src/openssl/apps/ts.c:471,1
    - Dst: create_digest
      Src: /src/openssl/apps/ts.c:473,1
    - Dst: TS_MSG_IMPRINT_set_msg
      Src: /src/openssl/apps/ts.c:475,1
    - Dst: TS_REQ_set_msg_imprint
      Src: /src/openssl/apps/ts.c:477,1
    - Dst: txt2obj
      Src: /src/openssl/apps/ts.c:479,1
    - Dst: TS_REQ_set_policy_id
      Src: /src/openssl/apps/ts.c:481,1
    - Dst: create_nonce
      Src: /src/openssl/apps/ts.c:485,1
    - Dst: TS_REQ_set_nonce
      Src: /src/openssl/apps/ts.c:487,1
    - Dst: TS_REQ_set_cert_req
      Src: /src/openssl/apps/ts.c:489,1
    - Dst: TS_REQ_free
      Src: /src/openssl/apps/ts.c:495,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:497,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:498,1
    - Dst: TS_MSG_IMPRINT_free
      Src: /src/openssl/apps/ts.c:500,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/apps/ts.c:501,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ts.c:502,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/ts.c:503,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ts.c:504,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 65
    argCount: 6
    argNames:
    - data_bio
    - digest
    - md
    - policy
    - no_nonce
    - cert
    argTypes:
    - BIO*
    - char*
    - EVP_MD*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 444
    functionDepth: 8
    functionLinenumber: 444
    functionLinenumberEnd: 506
    functionName: create_query
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - txt2obj
    - TS_REQ_set_policy_id
    - X509_ALGOR_free
    - OPENSSL_free
    - ASN1_INTEGER_free
    - EVP_MD_get_type
    - TS_MSG_IMPRINT_set_msg
    - TS_REQ_set_nonce
    - EVP_get_digestbyname
    - OBJ_nid2obj
    - BIO_printf
    - TS_MSG_IMPRINT_set_algo
    - TS_REQ_set_msg_imprint
    - TS_REQ_free
    - TS_REQ_new
    - TS_REQ_set_version
    - TS_MSG_IMPRINT_free
    - TS_REQ_set_cert_req
    - create_nonce
    - X509_ALGOR_new
    - ASN1_TYPE_new
    - ERR_print_errors
    - TS_MSG_IMPRINT_new
    - create_digest
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: TS_REQ
    signature: "TS_REQ *create_query(BIO *data_bio, const char *digest, const EVP_MD
      *md,\n                            const char *policy, int no_nonce, int cert)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/apps/ts.c:515,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/ts.c:523,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ts.c:526,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/apps/ts.c:527,1
    - Dst: BIO_read
      Src: /src/openssl/apps/ts.c:529,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/apps/ts.c:530,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/apps/ts.c:533,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/apps/ts.c:535,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/ts.c:539,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:541,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ts.c:549,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/ts.c:553,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - input
    - digest
    - md
    - md_value
    argTypes:
    - BIO*
    - char*
    - EVP_MD*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 508
    functionDepth: 8
    functionLinenumber: 508
    functionLinenumberEnd: 555
    functionName: create_digest
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - EVP_DigestFinal
    - EVP_DigestUpdate
    - EVP_DigestInit
    - EVP_MD_get_size
    - EVP_MD_CTX_new
    - OPENSSL_hexstr2buf
    - EVP_MD_CTX_free
    - OPENSSL_free
    - BIO_read
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: "int create_digest(BIO *input, const char *digest, const EVP_MD *md,\n
      \                        unsigned char **md_value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/apps/ts.c:566,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/apps/ts.c:572,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ts.c:574,1
    - Dst: app_malloc
      Src: /src/openssl/apps/ts.c:576,1
    - Dst: memcpy
      Src: /src/openssl/apps/ts.c:577,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:581,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ts.c:582,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 557
    functionDepth: 8
    functionLinenumber: 557
    functionLinenumberEnd: 584
    functionName: create_nonce
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ASN1_INTEGER_new
    - RAND_bytes
    - OPENSSL_free
    - ASN1_INTEGER_free
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *create_nonce(int bits)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:605,1
    - Dst: read_PKCS7
      Src: /src/openssl/apps/ts.c:608,1
    - Dst: d2i_TS_RESP_bio
      Src: /src/openssl/apps/ts.c:610,1
    - Dst: create_response
      Src: /src/openssl/apps/ts.c:613,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:616,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:618,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:625,1
    - Dst: TS_RESP_get_tst_info
      Src: /src/openssl/apps/ts.c:628,1
    - Dst: TS_TST_INFO_print_bio
      Src: /src/openssl/apps/ts.c:629,1
    - Dst: TS_RESP_print_bio
      Src: /src/openssl/apps/ts.c:632,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ts.c:636,1
    - Dst: TS_RESP_get_token
      Src: /src/openssl/apps/ts.c:639,1
    - Dst: i2d_PKCS7_bio
      Src: /src/openssl/apps/ts.c:640,1
    - Dst: i2d_TS_RESP_bio
      Src: /src/openssl/apps/ts.c:643,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:651,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:652,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:653,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:654,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:655,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:656,1
    - Dst: TS_RESP_free
      Src: /src/openssl/apps/ts.c:657,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 15
    argNames:
    - conf
    - section
    - engine
    - queryfile
    - passin
    - inkey
    - md
    - signer
    - chain
    - policy
    - in
    - token_in
    - out
    - token_out
    - text
    argTypes:
    - CONF*
    - char*
    - char*
    - char*
    - char*
    - char*
    - EVP_MD*
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 590
    functionDepth: 6
    functionLinenumber: 590
    functionLinenumberEnd: 659
    functionName: reply_command
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - TS_RESP_get_tst_info
    - read_PKCS7
    - TS_TST_INFO_print_bio
    - bio_open_default
    - i2d_TS_RESP_bio
    - d2i_TS_RESP_bio
    - BIO_free_all
    - TS_RESP_free
    - TS_RESP_get_token
    - ERR_print_errors
    - TS_RESP_print_bio
    - i2d_PKCS7_bio
    - create_response
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int reply_command(CONF *conf, const char *section, const char *engine,\n
      \                        const char *queryfile, const char *passin, const char
      *inkey,\n                         const EVP_MD *md, const char *signer, const
      char *chain,\n                         const char *policy, const char *in, int
      token_in,\n                         const char *out, int token_out, int text)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PKCS7_bio
      Src: /src/openssl/apps/ts.c:670,1
    - Dst: PKCS7_to_TS_TST_INFO
      Src: /src/openssl/apps/ts.c:672,1
    - Dst: TS_RESP_new
      Src: /src/openssl/apps/ts.c:674,1
    - Dst: TS_STATUS_INFO_new
      Src: /src/openssl/apps/ts.c:676,1
    - Dst: TS_STATUS_INFO_set_status
      Src: /src/openssl/apps/ts.c:678,1
    - Dst: TS_RESP_set_status_info
      Src: /src/openssl/apps/ts.c:680,1
    - Dst: TS_RESP_set_tst_info
      Src: /src/openssl/apps/ts.c:682,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/ts.c:688,1
    - Dst: TS_TST_INFO_free
      Src: /src/openssl/apps/ts.c:689,1
    - Dst: TS_RESP_free
      Src: /src/openssl/apps/ts.c:691,1
    - Dst: TS_STATUS_INFO_free
      Src: /src/openssl/apps/ts.c:694,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - in_bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 662
    functionDepth: 5
    functionLinenumber: 662
    functionLinenumberEnd: 696
    functionName: read_PKCS7
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 4
    functionsReached:
    - PKCS7_free
    - TS_RESP_set_status_info
    - TS_STATUS_INFO_free
    - TS_RESP_new
    - d2i_PKCS7_bio
    - TS_RESP_set_tst_info
    - TS_RESP_free
    - TS_STATUS_INFO_new
    - TS_STATUS_INFO_set_status
    - TS_TST_INFO_free
    - PKCS7_to_TS_TST_INFO
    linkageType: ''
    returnType: TS_RESP
    signature: TS_RESP *read_PKCS7(BIO *in_bio)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:708,1
    - Dst: TS_CONF_get_tsa_section
      Src: /src/openssl/apps/ts.c:710,1
    - Dst: TS_RESP_CTX_new
      Src: /src/openssl/apps/ts.c:712,1
    - Dst: TS_CONF_set_serial
      Src: /src/openssl/apps/ts.c:714,1
    - Dst: TS_CONF_set_crypto_device
      Src: /src/openssl/apps/ts.c:717,1
    - Dst: TS_CONF_set_signer_cert
      Src: /src/openssl/apps/ts.c:720,1
    - Dst: TS_CONF_set_certs
      Src: /src/openssl/apps/ts.c:722,1
    - Dst: TS_CONF_set_signer_key
      Src: /src/openssl/apps/ts.c:724,1
    - Dst: TS_RESP_CTX_set_signer_digest
      Src: /src/openssl/apps/ts.c:728,1
    - Dst: TS_CONF_set_signer_digest
      Src: /src/openssl/apps/ts.c:730,1
    - Dst: TS_CONF_set_ess_cert_id_digest
      Src: /src/openssl/apps/ts.c:734,1
    - Dst: TS_CONF_set_def_policy
      Src: /src/openssl/apps/ts.c:736,1
    - Dst: TS_CONF_set_policies
      Src: /src/openssl/apps/ts.c:738,1
    - Dst: TS_CONF_set_digests
      Src: /src/openssl/apps/ts.c:740,1
    - Dst: TS_CONF_set_accuracy
      Src: /src/openssl/apps/ts.c:742,1
    - Dst: TS_CONF_set_clock_precision_digits
      Src: /src/openssl/apps/ts.c:744,1
    - Dst: TS_CONF_set_ordering
      Src: /src/openssl/apps/ts.c:746,1
    - Dst: TS_CONF_set_tsa_name
      Src: /src/openssl/apps/ts.c:748,1
    - Dst: TS_CONF_set_ess_cert_id_chain
      Src: /src/openssl/apps/ts.c:750,1
    - Dst: TS_RESP_create_response
      Src: /src/openssl/apps/ts.c:752,1
    - Dst: TS_RESP_free
      Src: /src/openssl/apps/ts.c:758,1
    - Dst: TS_RESP_CTX_free
      Src: /src/openssl/apps/ts.c:761,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:762,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 74
    argCount: 10
    argNames:
    - conf
    - section
    - engine
    - queryfile
    - passin
    - inkey
    - md
    - signer
    - chain
    - policy
    argTypes:
    - CONF*
    - char*
    - char*
    - char*
    - char*
    - char*
    - EVP_MD*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 698
    functionDepth: 8
    functionLinenumber: 698
    functionLinenumberEnd: 764
    functionName: create_response
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 2
    functionsReached:
    - TS_CONF_set_accuracy
    - TS_RESP_CTX_free
    - TS_CONF_set_ess_cert_id_chain
    - TS_RESP_free
    - BIO_free_all
    - TS_RESP_CTX_set_signer_digest
    - TS_CONF_set_serial
    - BIO_new_file
    - TS_CONF_set_clock_precision_digits
    - TS_CONF_set_def_policy
    - TS_CONF_set_ordering
    - TS_CONF_set_signer_digest
    - TS_CONF_set_tsa_name
    - TS_CONF_set_signer_key
    - TS_RESP_create_response
    - TS_CONF_set_policies
    - TS_RESP_CTX_new
    - TS_CONF_set_certs
    - TS_CONF_get_tsa_section
    - TS_CONF_set_digests
    - TS_CONF_set_crypto_device
    - TS_CONF_set_signer_cert
    - TS_CONF_set_ess_cert_id_digest
    linkageType: ''
    returnType: TS_RESP
    signature: "TS_RESP *create_response(CONF *conf, const char *section, const char
      *engine,\n                                const char *queryfile, const char
      *passin,\n                                const char *inkey, const EVP_MD *md,
      const char *signer,\n                                const char *chain, const
      char *policy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next_serial
      Src: /src/openssl/apps/ts.c:769,1
    - Dst: TS_RESP_CTX_set_status_info
      Src: /src/openssl/apps/ts.c:772,1
    - Dst: TS_RESP_CTX_add_failure_info
      Src: /src/openssl/apps/ts.c:775,1
    - Dst: save_ts_serial
      Src: /src/openssl/apps/ts.c:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - TS_RESP_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 766
    functionDepth: 5
    functionLinenumber: 766
    functionLinenumberEnd: 781
    functionName: serial_cb
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 2
    functionsReached:
    - TS_RESP_CTX_set_status_info
    - next_serial
    - save_ts_serial
    - TS_RESP_CTX_add_failure_info
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *serial_cb(TS_RESP_CTX *ctx, void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/apps/ts.c:790,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:793,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/ts.c:794,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:795,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/apps/ts.c:797,1
    - Dst: a2i_ASN1_INTEGER
      Src: /src/openssl/apps/ts.c:801,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:802,1
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/apps/ts.c:806,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ts.c:808,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/ts.c:810,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/ts.c:812,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ts.c:819,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:822,1
    - Dst: BN_free
      Src: /src/openssl/apps/ts.c:823,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - serialfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 783
    functionDepth: 7
    functionLinenumber: 783
    functionLinenumberEnd: 825
    functionName: next_serial
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - ERR_clear_error
    - a2i_ASN1_INTEGER
    - ASN1_INTEGER_new
    - BIO_free_all
    - ASN1_INTEGER_to_BN
    - ASN1_INTEGER_set
    - ASN1_INTEGER_free
    - BN_add_word
    - BN_to_ASN1_INTEGER
    - BN_free
    - BIO_printf
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: ASN1_INTEGER *next_serial(const char *serialfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:832,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/ts.c:834,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/ts.c:836,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:841,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - serialfile
    - serial
    argTypes:
    - char*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 827
    functionDepth: 5
    functionLinenumber: 827
    functionLinenumberEnd: 845
    functionName: save_ts_serial
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - i2a_ASN1_INTEGER
    - BIO_puts
    - BIO_free_all
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int save_ts_serial(const char *serialfile, ASN1_INTEGER *serial)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:864,1
    - Dst: d2i_PKCS7_bio
      Src: /src/openssl/apps/ts.c:867,1
    - Dst: d2i_TS_RESP_bio
      Src: /src/openssl/apps/ts.c:870,1
    - Dst: create_verify_ctx
      Src: /src/openssl/apps/ts.c:874,1
    - Dst: TS_RESP_verify_token
      Src: /src/openssl/apps/ts.c:880,1
    - Dst: TS_RESP_verify_response
      Src: /src/openssl/apps/ts.c:881,1
    - Dst: printf
      Src: /src/openssl/apps/ts.c:884,1
    - Dst: printf
      Src: /src/openssl/apps/ts.c:886,1
    - Dst: printf
      Src: /src/openssl/apps/ts.c:888,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ts.c:889,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:892,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/ts.c:893,1
    - Dst: TS_RESP_free
      Src: /src/openssl/apps/ts.c:894,1
    - Dst: TS_VERIFY_CTX_free
      Src: /src/openssl/apps/ts.c:895,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 10
    argNames:
    - data
    - digest
    - queryfile
    - in
    - token_in
    - CApath
    - CAfile
    - CAstore
    - untrusted
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 852
    functionDepth: 5
    functionLinenumber: 852
    functionLinenumberEnd: 897
    functionName: verify_command
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - TS_RESP_verify_token
    - TS_RESP_verify_response
    - PKCS7_free
    - TS_VERIFY_CTX_free
    - d2i_TS_RESP_bio
    - BIO_free_all
    - d2i_PKCS7_bio
    - TS_RESP_free
    - create_verify_ctx
    - ERR_print_errors
    - printf
    linkageType: ''
    returnType: int
    signature: "int verify_command(const char *data, const char *digest, const char
      *queryfile,\n                          const char *in, int token_in,\n                          const
      char *CApath, const char *CAfile,\n                          const char *CAstore,
      char *untrusted,\n                          X509_VERIFY_PARAM *vpm)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ts.c:907,1
    - Dst: TS_VERIFY_CTX_new
      Src: /src/openssl/apps/ts.c:914,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:921,1
    - Dst: TS_VERIFY_CTX_set0_data
      Src: /src/openssl/apps/ts.c:923,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:924,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/ts.c:929,1
    - Dst: TS_VERIFY_CTX_set0_imprint
      Src: /src/openssl/apps/ts.c:931,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:932,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/ts.c:938,1
    - Dst: d2i_TS_REQ_bio
      Src: /src/openssl/apps/ts.c:940,1
    - Dst: TS_REQ_to_TS_VERIFY_CTX
      Src: /src/openssl/apps/ts.c:942,1
    - Dst: TS_VERIFY_CTX_add_flags
      Src: /src/openssl/apps/ts.c:949,1
    - Dst: TS_VERIFY_CTX_set0_store
      Src: /src/openssl/apps/ts.c:952,1
    - Dst: create_cert_store
      Src: /src/openssl/apps/ts.c:952,1
    - Dst: load_certs_multifile
      Src: /src/openssl/apps/ts.c:958,1
    - Dst: TS_VERIFY_CTX_set0_certs
      Src: /src/openssl/apps/ts.c:960,1
    - Dst: TS_VERIFY_CTX_free
      Src: /src/openssl/apps/ts.c:967,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ts.c:970,1
    - Dst: TS_REQ_free
      Src: /src/openssl/apps/ts.c:971,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 8
    argNames:
    - data
    - digest
    - queryfile
    - CApath
    - CAfile
    - CAstore
    - untrusted
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 899
    functionDepth: 6
    functionLinenumber: 899
    functionLinenumberEnd: 973
    functionName: create_verify_ctx
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - d2i_TS_REQ_bio
    - BIO_new_file
    - TS_VERIFY_CTX_set0_store
    - load_certs_multifile
    - TS_VERIFY_CTX_set0_data
    - TS_VERIFY_CTX_free
    - TS_REQ_free
    - BIO_free_all
    - OPENSSL_hexstr2buf
    - STACK_OF
    - TS_VERIFY_CTX_set0_imprint
    - create_cert_store
    - TS_VERIFY_CTX_set0_certs
    - TS_REQ_to_TS_VERIFY_CTX
    - TS_VERIFY_CTX_add_flags
    - TS_VERIFY_CTX_new
    - BIO_printf
    linkageType: ''
    returnType: TS_VERIFY_CTX
    signature: "TS_VERIFY_CTX *create_verify_ctx(const char *data, const char *digest,\n
      \                                       const char *queryfile,\n                                        const
      char *CApath, const char *CAfile,\n                                        const
      char *CAstore,\n                                        char *untrusted,\n                                        X509_VERIFY_PARAM
      *vpm)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/ts.c:980,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/ts.c:981,1
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/ts.c:983,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:985,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/ts.c:988,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/ts.c:990,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/apps/ts.c:990,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:992,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/apps/ts.c:995,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:996,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/ts.c:1002,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/apps/ts.c:1002,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:1004,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/apps/ts.c:1007,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:1009,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/ts.c:1015,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/apps/ts.c:1015,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:1017,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/apps/ts.c:1020,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ts.c:1021,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/ts.c:1027,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/ts.c:1032,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - CApath
    - CAfile
    - CAstore
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 975
    functionDepth: 4
    functionLinenumber: 975
    functionLinenumberEnd: 1034
    functionName: create_cert_store
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 1
    functionsReached:
    - X509_STORE_set_verify_cb
    - X509_STORE_new
    - X509_LOOKUP_store
    - X509_LOOKUP_file
    - X509_LOOKUP_hash_dir
    - X509_STORE_free
    - X509_STORE_set1_param
    - app_get0_propq
    - app_get0_libctx
    - X509_LOOKUP_load_file_ex
    - X509_LOOKUP_add_store_ex
    - X509_LOOKUP_add_dir
    - BIO_printf
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: X509_STORE
    signature: "X509_STORE *create_cert_store(const char *CApath, const char *CAfile,\n
      \                                    const char *CAstore, X509_VERIFY_PARAM
      *vpm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1039
    functionName: verify_cb
    functionSourceFile: /src/openssl/apps/ts.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/crl2pkcs7.c:54,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/crl2pkcs7.c:55,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/crl2pkcs7.c:56,1
    - Dst: opt_init
      Src: /src/openssl/apps/crl2pkcs7.c:63,1
    - Dst: opt_next
      Src: /src/openssl/apps/crl2pkcs7.c:64,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl2pkcs7.c:69,1
    - Dst: opt_help
      Src: /src/openssl/apps/crl2pkcs7.c:72,1
    - Dst: opt_format
      Src: /src/openssl/apps/crl2pkcs7.c:76,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:76,1
    - Dst: opt_format
      Src: /src/openssl/apps/crl2pkcs7.c:80,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:80,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:84,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:87,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/crl2pkcs7.c:94,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/crl2pkcs7.c:96,1
    - Dst: opt_arg
      Src: /src/openssl/apps/crl2pkcs7.c:96,1
    - Dst: opt_provider
      Src: /src/openssl/apps/crl2pkcs7.c:100,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/crl2pkcs7.c:107,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/crl2pkcs7.c:111,1
    - Dst: d2i_X509_CRL_bio
      Src: /src/openssl/apps/crl2pkcs7.c:116,1
    - Dst: PEM_read_bio_X509_CRL
      Src: /src/openssl/apps/crl2pkcs7.c:118,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl2pkcs7.c:120,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/crl2pkcs7.c:121,1
    - Dst: PKCS7_new
      Src: /src/openssl/apps/crl2pkcs7.c:126,1
    - Dst: PKCS7_SIGNED_new
      Src: /src/openssl/apps/crl2pkcs7.c:128,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/crl2pkcs7.c:130,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/crl2pkcs7.c:132,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/apps/crl2pkcs7.c:134,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/crl2pkcs7.c:138,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/crl2pkcs7.c:142,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/crl2pkcs7.c:148,1
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/crl2pkcs7.c:152,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/crl2pkcs7.c:153,1
    - Dst: add_certs_from_file
      Src: /src/openssl/apps/crl2pkcs7.c:154,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl2pkcs7.c:155,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/crl2pkcs7.c:156,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/crl2pkcs7.c:162,1
    - Dst: i2d_PKCS7_bio
      Src: /src/openssl/apps/crl2pkcs7.c:167,1
    - Dst: PEM_write_bio_PKCS7
      Src: /src/openssl/apps/crl2pkcs7.c:169,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/crl2pkcs7.c:171,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/crl2pkcs7.c:172,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/crl2pkcs7.c:177,1
    - Dst: BIO_free
      Src: /src/openssl/apps/crl2pkcs7.c:178,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/crl2pkcs7.c:179,1
    - Dst: PKCS7_free
      Src: /src/openssl/apps/crl2pkcs7.c:180,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/crl2pkcs7.c:181,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 184
    functionName: crl2pkcs7_main
    functionSourceFile: /src/openssl/apps/crl2pkcs7.c
    functionUses: 0
    functionsReached:
    - sk_OPENSSL_STRING_push
    - PKCS7_free
    - X509_CRL_free
    - opt_check_rest_arg
    - PEM_read_bio_X509_CRL
    - sk_X509_CRL_push
    - BIO_free_all
    - ASN1_INTEGER_set
    - OBJ_nid2obj
    - PKCS7_SIGNED_new
    - BIO_printf
    - opt_provider
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - add_certs_from_file
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_num
    - i2d_PKCS7_bio
    - opt_arg
    - PEM_write_bio_PKCS7
    - opt_help
    - PKCS7_new
    - opt_next
    - opt_init
    - bio_open_default
    - opt_format
    - d2i_X509_CRL_bio
    - sk_X509_CRL_new_null
    - sk_X509_new_null
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: int crl2pkcs7_main(int argc, char **argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/nseq.c:47,1
    - Dst: opt_next
      Src: /src/openssl/apps/nseq.c:48,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/nseq.c:53,1
    - Dst: opt_help
      Src: /src/openssl/apps/nseq.c:57,1
    - Dst: opt_arg
      Src: /src/openssl/apps/nseq.c:63,1
    - Dst: opt_arg
      Src: /src/openssl/apps/nseq.c:66,1
    - Dst: opt_provider
      Src: /src/openssl/apps/nseq.c:69,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/nseq.c:76,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/nseq.c:79,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/nseq.c:82,1
    - Dst: NETSCAPE_CERT_SEQUENCE_new
      Src: /src/openssl/apps/nseq.c:87,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/nseq.c:90,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/apps/nseq.c:93,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/nseq.c:94,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/nseq.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/nseq.c:99,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/nseq.c:101,1
    - Dst: PEM_write_bio_NETSCAPE_CERT_SEQUENCE
      Src: /src/openssl/apps/nseq.c:104,1
    - Dst: PEM_read_bio_NETSCAPE_CERT_SEQUENCE
      Src: /src/openssl/apps/nseq.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/nseq.c:111,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/nseq.c:113,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/nseq.c:117,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/nseq.c:118,1
    - Dst: dump_cert_text
      Src: /src/openssl/apps/nseq.c:119,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/nseq.c:120,1
    - Dst: BIO_free
      Src: /src/openssl/apps/nseq.c:124,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/nseq.c:125,1
    - Dst: NETSCAPE_CERT_SEQUENCE_free
      Src: /src/openssl/apps/nseq.c:126,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 87
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 129
    functionName: nseq_main
    functionSourceFile: /src/openssl/apps/nseq.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_X509
    - opt_check_rest_arg
    - sk_X509_num
    - sk_X509_value
    - sk_X509_push
    - BIO_free_all
    - dump_cert_text
    - NETSCAPE_CERT_SEQUENCE_new
    - PEM_write_bio_NETSCAPE_CERT_SEQUENCE
    - BIO_printf
    - opt_provider
    - BIO_free
    - NETSCAPE_CERT_SEQUENCE_free
    - opt_arg
    - PEM_read_bio_NETSCAPE_CERT_SEQUENCE
    - opt_help
    - opt_next
    - opt_init
    - bio_open_default
    - sk_X509_new_null
    - ERR_print_errors
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int nseq_main(int argc, char **argv)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/ec.c:83,1
    - Dst: opt_init
      Src: /src/openssl/apps/ec.c:84,1
    - Dst: opt_next
      Src: /src/openssl/apps/ec.c:85,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:90,1
    - Dst: opt_help
      Src: /src/openssl/apps/ec.c:93,1
    - Dst: opt_format
      Src: /src/openssl/apps/ec.c:97,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:97,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:101,1
    - Dst: opt_format
      Src: /src/openssl/apps/ec.c:104,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:104,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:108,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:126,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:129,1
    - Dst: setup_engine
      Src: /src/openssl/apps/ec.c:132,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:132,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/ec.c:135,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:138,1
    - Dst: opt_string
      Src: /src/openssl/apps/ec.c:139,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ec.c:143,1
    - Dst: opt_string
      Src: /src/openssl/apps/ec.c:144,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ec.c:154,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ec.c:161,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/ec.c:164,1
    - Dst: app_passwd
      Src: /src/openssl/apps/ec.c:168,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:169,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/ec.c:174,1
    - Dst: load_key
      Src: /src/openssl/apps/ec.c:176,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:179,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/ec.c:183,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ec.c:188,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:191,1
    - Dst: EVP_PKEY_set_utf8_string_param
      Src: /src/openssl/apps/ec.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:198,1
    - Dst: EVP_PKEY_set_int_param
      Src: /src/openssl/apps/ec.c:203,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:204,1
    - Dst: EVP_PKEY_set_int_param
      Src: /src/openssl/apps/ec.c:208,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:209,1
    - Dst: assert
      Src: /src/openssl/apps/ec.c:215,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/ec.c:216,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/ec.c:217,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:218,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/apps/ec.c:224,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:226,1
    - Dst: EVP_PKEY_check
      Src: /src/openssl/apps/ec.c:229,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:232,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ec.c:233,1
    - Dst: assert
      Src: /src/openssl/apps/ec.c:249,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/ec.c:252,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/apps/ec.c:256,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/ec.c:256,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/openssl/apps/ec.c:258,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/ec.c:258,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/apps/ec.c:261,1
    - Dst: strlen
      Src: /src/openssl/apps/ec.c:263,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/ec.c:265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ec.c:266,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ec.c:274,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ec.c:275,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ec.c:276,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/ec.c:277,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/ec.c:278,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/apps/ec.c:279,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/apps/ec.c:280,1
    - Dst: release_engine
      Src: /src/openssl/apps/ec.c:281,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/ec.c:283,1
    - Dst: strlen
      Src: /src/openssl/apps/ec.c:283,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/ec.c:285,1
    - Dst: strlen
      Src: /src/openssl/apps/ec.c:285,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 193
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/openssl/apps/ec.c
    - condition: (pubin || private)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/openssl/apps/ec.c
    constantsTouched: []
    func_position:
      end: 287
      start: 64
    functionDepth: 11
    functionLinenumber: 64
    functionLinenumberEnd: 287
    functionName: ec_main
    functionSourceFile: /src/openssl/apps/ec.c
    functionUses: 0
    functionsReached:
    - load_pubkey
    - opt_check_rest_arg
    - strlen
    - EVP_PKEY_set_utf8_string_param
    - assert
    - OSSL_ENCODER_CTX_new_for_pkey
    - EVP_PKEY_print_private
    - BIO_free_all
    - EVP_PKEY_free
    - opt_unknown
    - EVP_CIPHER_free
    - EVP_PKEY_CTX_free
    - BIO_printf
    - load_key
    - OSSL_DECODER_CTX_free
    - opt_provider
    - setup_engine
    - bio_open_owner
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_ENCODER_CTX_free
    - opt_cipher
    - opt_arg
    - EVP_PKEY_set_int_param
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_to_bio
    - get_ui_method
    - opt_help
    - opt_next
    - opt_init
    - EVP_PKEY_print_public
    - EVP_PKEY_check
    - app_passwd
    - opt_format
    - EVP_CIPHER_get0_name
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - OPENSSL_clear_free
    - opt_set_unknown_name
    - ERR_print_errors
    - OSSL_ENCODER_CTX_set_cipher
    - release_engine
    - opt_string
    linkageType: ''
    returnType: int
    signature: int ec_main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:51,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:54,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:55,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:56,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FUNCTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: warn_deprecated
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void warn_deprecated(const FUNCTION *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/openssl/apps/openssl.c:64,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/apps/openssl.c:68,1
    - Dst: setup_ui_method
      Src: /src/openssl/apps/openssl.c:72,1
    - Dst: setup_engine_loader
      Src: /src/openssl/apps/openssl.c:73,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:79,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:82,1
    - Dst: app_create_libctx
      Src: /src/openssl/apps/openssl.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: apps_startup
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - setup_ui_method
    - strcmp
    - signal
    - OPENSSL_init_ssl
    - app_create_libctx
    - getenv
    - setup_engine_loader
    linkageType: ''
    returnType: int
    signature: int apps_startup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: app_providers_cleanup
      Src: /src/openssl/apps/openssl.c:93,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/apps/openssl.c:94,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/openssl.c:94,1
    - Dst: destroy_engine_loader
      Src: /src/openssl/apps/openssl.c:95,1
    - Dst: destroy_ui_method
      Src: /src/openssl/apps/openssl.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: apps_shutdown
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_free
    - app_providers_cleanup
    - destroy_engine_loader
    - app_get0_libctx
    - destroy_ui_method
    linkageType: ''
    returnType: void
    signature: void apps_shutdown(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:117,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/apps/openssl.c:122,1
    - Dst: OPENSSL_buf2hexstr
      Src: /src/openssl/apps/openssl.c:123,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/openssl.c:124,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/openssl/apps/openssl.c:126,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:127,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/apps/openssl.c:128,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:132,1
    - Dst: BIO_write
      Src: /src/openssl/apps/openssl.c:138,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:142,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/apps/openssl.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - buf
    - cnt
    - category
    - cmd
    - vdata
    argTypes:
    - char*
    - size_t
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 153
    functionName: internal_trace_cb
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - OSSL_trace_get_category_name
    - BIO_write
    - OPENSSL_buf2hexstr
    - BIO_snprintf
    - OPENSSL_free
    - BIO_set_prefix
    - BIO_printf
    linkageType: ''
    returnType: size_t
    signature: "size_t internal_trace_cb(const char *buf, size_t cnt,\n                                int
      category, int cmd, void *vdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/apps/openssl.c:160,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - tracedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: tracedata_free
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    linkageType: ''
    returnType: void
    signature: void tracedata_free(tracedata *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_tracedata_pop_free
      Src: /src/openssl/apps/openssl.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: cleanup_trace
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - sk_tracedata_pop_free
    linkageType: ''
    returnType: void
    signature: void cleanup_trace(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_trace_enabled
      Src: /src/openssl/apps/openssl.c:175,1
    - Dst: BIO_new
      Src: /src/openssl/apps/openssl.c:178,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/apps/openssl.c:178,1
    - Dst: BIO_push
      Src: /src/openssl/apps/openssl.c:179,1
    - Dst: dup_bio_err
      Src: /src/openssl/apps/openssl.c:179,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/openssl.c:180,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/apps/openssl.c:185,1
    - Dst: sk_tracedata_push
      Src: /src/openssl/apps/openssl.c:187,1
    - Dst: fprintf
      Src: /src/openssl/apps/openssl.c:189,1
    - Dst: OSSL_trace_get_category_name
      Src: /src/openssl/apps/openssl.c:191,1
    - Dst: OSSL_trace_set_callback
      Src: /src/openssl/apps/openssl.c:193,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/openssl.c:194,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - category
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 197
    functionName: setup_trace_category
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 1
    functionsReached:
    - OSSL_trace_get_category_name
    - BIO_new
    - OPENSSL_zalloc
    - OSSL_trace_enabled
    - BIO_free_all
    - OPENSSL_free
    - OSSL_trace_set_callback
    - BIO_push
    - sk_tracedata_push
    - fprintf
    - dup_bio_err
    - BIO_f_prefix
    linkageType: ''
    returnType: void
    signature: void setup_trace_category(int category)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/openssl/apps/openssl.c:208,1
    - Dst: sk_tracedata_new_null
      Src: /src/openssl/apps/openssl.c:210,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/openssl.c:211,1
    - Dst: strtok
      Src: /src/openssl/apps/openssl.c:217,1
    - Dst: OSSL_trace_get_category_num
      Src: /src/openssl/apps/openssl.c:218,1
    - Dst: setup_trace_category
      Src: /src/openssl/apps/openssl.c:222,1
    - Dst: setup_trace_category
      Src: /src/openssl/apps/openssl.c:225,1
    - Dst: fprintf
      Src: /src/openssl/apps/openssl.c:227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 234
    functionName: setup_trace
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 1
    functionsReached:
    - atexit
    - setup_trace_category
    - sk_tracedata_new_null
    - OPENSSL_free
    - OPENSSL_strdup
    - fprintf
    - strtok
    - OSSL_trace_get_category_num
    linkageType: ''
    returnType: void
    signature: void setup_trace(const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LHASH_OF
      Src: /src/openssl/apps/openssl.c:243,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/openssl.c:259,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/openssl.c:260,1
    - Dst: dup_bio_err
      Src: /src/openssl/apps/openssl.c:261,1
    - Dst: copy_argv
      Src: /src/openssl/apps/openssl.c:264,1
    - Dst: win32_utf8argv
      Src: /src/openssl/apps/openssl.c:267,1
    - Dst: setup_trace
      Src: /src/openssl/apps/openssl.c:271,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:271,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:274,1
    - Dst: strtol
      Src: /src/openssl/apps/openssl.c:282,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:284,1
    - Dst: getenv
      Src: /src/openssl/apps/openssl.c:294,1
    - Dst: strtol
      Src: /src/openssl/apps/openssl.c:297,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:299,1
    - Dst: CRYPTO_secure_malloc_init
      Src: /src/openssl/apps/openssl.c:307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:309,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/openssl.c:311,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:316,1
    - Dst: apps_startup
      Src: /src/openssl/apps/openssl.c:322,1
    - Dst: prog_init
      Src: /src/openssl/apps/openssl.c:323,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:324,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/openssl.c:327,1
    - Dst: opt_progname
      Src: /src/openssl/apps/openssl.c:331,1
    - Dst: CONF_get1_default_config_file
      Src: /src/openssl/apps/openssl.c:333,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/openssl.c:335,1
    - Dst: lh_FUNCTION_retrieve
      Src: /src/openssl/apps/openssl.c:339,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:343,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:343,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:344,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:344,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:346,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:346,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:347,1
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:347,1
    - Dst: opt_appname
      Src: /src/openssl/apps/openssl.c:351,1
    - Dst: do_cmd
      Src: /src/openssl/apps/openssl.c:361,1
    - Dst: do_cmd
      Src: /src/openssl/apps/openssl.c:363,1
    - Dst: do_cmd
      Src: /src/openssl/apps/openssl.c:364,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:367,1
    - Dst: lh_FUNCTION_free
      Src: /src/openssl/apps/openssl.c:368,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/openssl.c:369,1
    - Dst: app_RAND_write
      Src: /src/openssl/apps/openssl.c:370,1
    - Dst: BIO_free
      Src: /src/openssl/apps/openssl.c:373,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/openssl.c:374,1
    - Dst: apps_shutdown
      Src: /src/openssl/apps/openssl.c:375,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/openssl.c:376,1
    - Dst: CRYPTO_secure_malloc_done
      Src: /src/openssl/apps/openssl.c:378,1
    - Dst: EXIT
      Src: /src/openssl/apps/openssl.c:380,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 77
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 381
    functionName: main
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 7
    functionsReached:
    - CONF_get1_default_config_file
    - dup_bio_in
    - opt_appname
    - copy_argv
    - OPENSSL_free
    - strcmp
    - getenv
    - app_bail_out
    - app_RAND_write
    - LHASH_OF
    - apps_startup
    - BIO_free_all
    - win32_utf8argv
    - prog_init
    - BIO_printf
    - lh_FUNCTION_free
    - EXIT
    - apps_shutdown
    - opt_progname
    - BIO_free
    - strtol
    - setup_trace
    - do_cmd
    - CRYPTO_secure_malloc_done
    - CRYPTO_secure_malloc_init
    - lh_FUNCTION_retrieve
    - dup_bio_out
    - ERR_print_errors
    - dup_bio_err
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/openssl.c:408,1
    - Dst: opt_next
      Src: /src/openssl/apps/openssl.c:409,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:413,1
    - Dst: opt_help
      Src: /src/openssl/apps/openssl.c:416,1
    - Dst: opt_num_rest
      Src: /src/openssl/apps/openssl.c:422,1
    - Dst: opt_rest
      Src: /src/openssl/apps/openssl.c:423,1
    - Dst: do_cmd
      Src: /src/openssl/apps/openssl.c:426,1
    - Dst: prog_init
      Src: /src/openssl/apps/openssl.c:426,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/openssl.c:428,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:429,1
    - Dst: calculate_columns
      Src: /src/openssl/apps/openssl.c:433,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:434,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:440,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:446,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:449,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:453,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:457,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/openssl.c:459,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 461
    functionName: help_main
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - opt_num_rest
    - opt_help
    - opt_next
    - opt_init
    - prog_init
    - opt_check_rest_arg
    - calculate_columns
    - do_cmd
    - opt_rest
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int help_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/apps/openssl.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FUNCTION*
    - FUNCTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: function_cmp
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int function_cmp(const FUNCTION *a, const FUNCTION *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/apps/openssl.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - FUNCTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: function_hash
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long function_hash(const FUNCTION *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/openssl.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _f1
    - _f2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: SortFnByName
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int SortFnByName(const void *_f1, const void *_f2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/openssl/apps/openssl.c:542,1
    - Dst: lh_FUNCTION_new
      Src: /src/openssl/apps/openssl.c:544,1
    - Dst: lh_FUNCTION_insert
      Src: /src/openssl/apps/openssl.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 550
    functionName: prog_init
    functionSourceFile: /src/openssl/apps/openssl.c
    functionUses: 2
    functionsReached:
    - lh_FUNCTION_insert
    - lh_FUNCTION_new
    - qsort
    linkageType: ''
    returnType: LHASH_OF
    signature: LHASH_OF *prog_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pid
    - pgid
    argTypes:
    - pid_t
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: setpgid
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int setpgid(pid_t pid, pid_t pgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: fork
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: pid_t
    signature: pid_t fork(void)
  - BBCount: 164
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:214,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:221,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:222,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:223,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:224,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:225,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/ocsp.c:227,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/ocsp.c:255,1
    - Dst: sk_OCSP_CERTID_new_null
      Src: /src/openssl/apps/ocsp.c:256,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/ocsp.c:257,1
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/ocsp.c:260,1
    - Dst: opt_init
      Src: /src/openssl/apps/ocsp.c:261,1
    - Dst: opt_next
      Src: /src/openssl/apps/ocsp.c:262,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:267,1
    - Dst: opt_help
      Src: /src/openssl/apps/ocsp.c:271,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:274,1
    - Dst: atoi
      Src: /src/openssl/apps/ocsp.c:278,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:278,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:282,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:284,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/ocsp.c:286,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:286,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:289,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:297,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:300,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:303,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:307,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:310,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:368,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:371,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:374,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:377,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:381,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:384,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:387,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:390,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:393,1
    - Dst: opt_verify
      Src: /src/openssl/apps/ocsp.c:405,1
    - Dst: opt_long
      Src: /src/openssl/apps/ocsp.c:410,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:410,1
    - Dst: opt_long
      Src: /src/openssl/apps/ocsp.c:413,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:413,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:416,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:419,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:422,1
    - Dst: load_cert
      Src: /src/openssl/apps/ocsp.c:425,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:425,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/ocsp.c:429,1
    - Dst: sk_X509_push
      Src: /src/openssl/apps/ocsp.c:432,1
    - Dst: reset_unknown
      Src: /src/openssl/apps/ocsp.c:436,1
    - Dst: X509_free
      Src: /src/openssl/apps/ocsp.c:437,1
    - Dst: load_cert
      Src: /src/openssl/apps/ocsp.c:438,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:438,1
    - Dst: EVP_sha1
      Src: /src/openssl/apps/ocsp.c:442,1
    - Dst: add_ocsp_cert
      Src: /src/openssl/apps/ocsp.c:443,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ocsp.c:445,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:445,1
    - Dst: reset_unknown
      Src: /src/openssl/apps/ocsp.c:450,1
    - Dst: EVP_sha1
      Src: /src/openssl/apps/ocsp.c:452,1
    - Dst: add_ocsp_serial
      Src: /src/openssl/apps/ocsp.c:453,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:453,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ocsp.c:455,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:455,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:460,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:463,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/ocsp.c:466,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/ocsp.c:471,1
    - Dst: atoi
      Src: /src/openssl/apps/ocsp.c:474,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:474,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:477,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:480,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:483,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:486,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:489,1
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/ocsp.c:493,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/ocsp.c:495,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:495,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:499,1
    - Dst: strchr
      Src: /src/openssl/apps/ocsp.c:500,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:502,1
    - Dst: X509V3_add_value
      Src: /src/openssl/apps/ocsp.c:506,1
    - Dst: opt_md
      Src: /src/openssl/apps/ocsp.c:510,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:510,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:515,1
    - Dst: opt_md
      Src: /src/openssl/apps/ocsp.c:520,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/ocsp.c:520,1
    - Dst: atoi
      Src: /src/openssl/apps/ocsp.c:526,1
    - Dst: opt_arg
      Src: /src/openssl/apps/ocsp.c:526,1
    - Dst: opt_provider
      Src: /src/openssl/apps/ocsp.c:530,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/ocsp.c:537,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:541,1
    - Dst: opt_md
      Src: /src/openssl/apps/ocsp.c:547,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:560,1
    - Dst: d2i_OCSP_REQUEST_bio
      Src: /src/openssl/apps/ocsp.c:563,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ocsp.c:564,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:566,1
    - Dst: http_server_init
      Src: /src/openssl/apps/ocsp.c:573,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:577,1
    - Dst: load_cert
      Src: /src/openssl/apps/ocsp.c:585,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:587,1
    - Dst: load_certs
      Src: /src/openssl/apps/ocsp.c:590,1
    - Dst: load_certs
      Src: /src/openssl/apps/ocsp.c:593,1
    - Dst: app_passwd
      Src: /src/openssl/apps/ocsp.c:597,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:598,1
    - Dst: load_key
      Src: /src/openssl/apps/ocsp.c:601,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:609,1
    - Dst: load_index
      Src: /src/openssl/apps/ocsp.c:615,1
    - Dst: index_index
      Src: /src/openssl/apps/ocsp.c:616,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:617,1
    - Dst: spawn_loop
      Src: /src/openssl/apps/ocsp.c:627,1
    - Dst: signal
      Src: /src/openssl/apps/ocsp.c:629,1
    - Dst: trace_log_message
      Src: /src/openssl/apps/ocsp.c:633,1
    - Dst: index_changed
      Src: /src/openssl/apps/ocsp.c:640,1
    - Dst: load_index
      Src: /src/openssl/apps/ocsp.c:641,1
    - Dst: index_index
      Src: /src/openssl/apps/ocsp.c:643,1
    - Dst: free_index
      Src: /src/openssl/apps/ocsp.c:644,1
    - Dst: free_index
      Src: /src/openssl/apps/ocsp.c:647,1
    - Dst: trace_log_message
      Src: /src/openssl/apps/ocsp.c:648,1
    - Dst: do_responder
      Src: /src/openssl/apps/ocsp.c:656,1
    - Dst: OCSP_response_create
      Src: /src/openssl/apps/ocsp.c:663,1
    - Dst: send_ocsp_response
      Src: /src/openssl/apps/ocsp.c:665,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:674,1
    - Dst: OCSP_request_add1_nonce
      Src: /src/openssl/apps/ocsp.c:679,1
    - Dst: load_cert
      Src: /src/openssl/apps/ocsp.c:686,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:688,1
    - Dst: load_certs
      Src: /src/openssl/apps/ocsp.c:692,1
    - Dst: load_key
      Src: /src/openssl/apps/ocsp.c:696,1
    - Dst: OCSP_request_sign
      Src: /src/openssl/apps/ocsp.c:701,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:703,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:708,1
    - Dst: OCSP_REQUEST_print
      Src: /src/openssl/apps/ocsp.c:713,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:716,1
    - Dst: i2d_OCSP_REQUEST_bio
      Src: /src/openssl/apps/ocsp.c:719,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ocsp.c:720,1
    - Dst: make_ocsp_response
      Src: /src/openssl/apps/ocsp.c:724,1
    - Dst: send_ocsp_response
      Src: /src/openssl/apps/ocsp.c:730,1
    - Dst: process_responder
      Src: /src/openssl/apps/ocsp.c:733,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:738,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:743,1
    - Dst: d2i_OCSP_RESPONSE_bio
      Src: /src/openssl/apps/ocsp.c:746,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ocsp.c:747,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:749,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/ocsp.c:760,1
    - Dst: i2d_OCSP_RESPONSE_bio
      Src: /src/openssl/apps/ocsp.c:763,1
    - Dst: BIO_free
      Src: /src/openssl/apps/ocsp.c:764,1
    - Dst: OCSP_response_status
      Src: /src/openssl/apps/ocsp.c:767,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:769,1
    - Dst: OCSP_response_status_str
      Src: /src/openssl/apps/ocsp.c:770,1
    - Dst: OCSP_RESPONSE_print
      Src: /src/openssl/apps/ocsp.c:776,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ocsp.c:785,1
    - Dst: OCSP_REQUEST_free
      Src: /src/openssl/apps/ocsp.c:787,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/apps/ocsp.c:789,1
    - Dst: setup_verify
      Src: /src/openssl/apps/ocsp.c:799,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/ocsp.c:805,1
    - Dst: load_certs
      Src: /src/openssl/apps/ocsp.c:807,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/apps/ocsp.c:812,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:814,1
    - Dst: OCSP_check_nonce
      Src: /src/openssl/apps/ocsp.c:821,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:823,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:825,1
    - Dst: OCSP_basic_verify
      Src: /src/openssl/apps/ocsp.c:831,1
    - Dst: OCSP_basic_verify
      Src: /src/openssl/apps/ocsp.c:833,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/ocsp.c:835,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:838,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ocsp.c:839,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:842,1
    - Dst: print_ocsp_summary
      Src: /src/openssl/apps/ocsp.c:846,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/ocsp.c:850,1
    - Dst: X509_free
      Src: /src/openssl/apps/ocsp.c:851,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/ocsp.c:852,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/ocsp.c:853,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/ocsp.c:854,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ocsp.c:855,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/ocsp.c:856,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/ocsp.c:857,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/ocsp.c:858,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/ocsp.c:859,1
    - Dst: X509_free
      Src: /src/openssl/apps/ocsp.c:860,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ocsp.c:861,1
    - Dst: X509_free
      Src: /src/openssl/apps/ocsp.c:862,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ocsp.c:863,1
    - Dst: free_index
      Src: /src/openssl/apps/ocsp.c:864,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ocsp.c:865,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ocsp.c:866,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/ocsp.c:867,1
    - Dst: OCSP_REQUEST_free
      Src: /src/openssl/apps/ocsp.c:868,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/apps/ocsp.c:869,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/apps/ocsp.c:870,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/ocsp.c:871,1
    - Dst: sk_OCSP_CERTID_free
      Src: /src/openssl/apps/ocsp.c:872,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ocsp.c:873,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/ocsp.c:874,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/apps/ocsp.c:875,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:876,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:877,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:878,1
    CyclomaticComplexity: 249
    EdgeCount: 249
    ICount: 607
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 881
    functionName: ocsp_main
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 0
    functionsReached:
    - opt_check_rest_arg
    - OCSP_response_get1_basic
    - index_changed
    - EVP_PKEY_free
    - opt_int_arg
    - X509_VERIFY_PARAM_free
    - setup_verify
    - process_responder
    - OCSP_check_nonce
    - bio_open_default
    - app_passwd
    - make_ocsp_response
    - sk_OPENSSL_STRING_push
    - EVP_MD_free
    - add_ocsp_cert
    - OPENSSL_free
    - OSSL_HTTP_parse_url
    - ERR_clear_error
    - OSSL_STACK_OF_X509_free
    - OCSP_response_status_str
    - OCSP_REQUEST_free
    - sk_CONF_VALUE_pop_free
    - load_key
    - trace_log_message
    - d2i_OCSP_RESPONSE_bio
    - OCSP_RESPONSE_free
    - free_index
    - print_ocsp_summary
    - sk_OCSP_CERTID_new_null
    - sk_OCSP_CERTID_free
    - i2d_OCSP_RESPONSE_bio
    - opt_next
    - OCSP_request_add1_nonce
    - OCSP_basic_verify
    - opt_set_unknown_name
    - ERR_print_errors
    - atoi
    - X509_STORE_free
    - load_index
    - opt_md
    - opt_long
    - X509_STORE_set1_param
    - BIO_free_all
    - http_server_init
    - BIO_printf
    - OCSP_BASICRESP_free
    - opt_provider
    - do_responder
    - sk_OPENSSL_STRING_new_null
    - BIO_free
    - OCSP_REQUEST_print
    - load_certs
    - index_index
    - opt_arg
    - opt_help
    - opt_init
    - EVP_sha1
    - load_cert
    - send_ocsp_response
    - reset_unknown
    - OCSP_request_sign
    - X509_free
    - signal
    - X509V3_add_value
    - sk_X509_push
    - X509_VERIFY_PARAM_new
    - opt_unknown
    - opt_verify
    - i2d_OCSP_REQUEST_bio
    - d2i_OCSP_REQUEST_bio
    - strchr
    - OCSP_response_create
    - STACK_OF
    - sk_OPENSSL_STRING_free
    - OCSP_RESPONSE_print
    - spawn_loop
    - add_ocsp_serial
    - OCSP_response_status
    - sk_X509_new_null
    linkageType: ''
    returnType: int
    signature: int ocsp_main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/openssl/apps/ocsp.c:889,1
    - Dst: syslog
      Src: /src/openssl/apps/ocsp.c:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - rdb
    argTypes:
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 899
    functionName: index_changed
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - stat
    - syslog
    linkageType: ''
    returnType: int
    signature: int index_changed(CA_DB *rdb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:910,1
    - Dst: OCSP_REQUEST_new
      Src: /src/openssl/apps/ocsp.c:914,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/apps/ocsp.c:917,1
    - Dst: sk_OCSP_CERTID_push
      Src: /src/openssl/apps/ocsp.c:918,1
    - Dst: OCSP_request_add0_id
      Src: /src/openssl/apps/ocsp.c:920,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:925,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - req
    - cert
    - cert_id_md
    - issuer
    - ids
    argTypes:
    - OCSP_REQUEST**
    - X509*
    - EVP_MD*
    - X509*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 927
    functionName: add_ocsp_cert
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - OCSP_request_add0_id
    - OCSP_cert_to_id
    - OCSP_REQUEST_new
    - sk_OCSP_CERTID_push
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int add_ocsp_cert(OCSP_REQUEST **req, X509 *cert,\n                         const
      EVP_MD *cert_id_md, X509 *issuer,\n                         STACK_OF(OCSP_CERTID)
      *ids)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:939,1
    - Dst: OCSP_REQUEST_new
      Src: /src/openssl/apps/ocsp.c:943,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/ocsp.c:946,1
    - Dst: X509_get0_pubkey_bitstr
      Src: /src/openssl/apps/ocsp.c:947,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/ocsp.c:948,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:950,1
    - Dst: OCSP_cert_id_new
      Src: /src/openssl/apps/ocsp.c:953,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/ocsp.c:954,1
    - Dst: sk_OCSP_CERTID_push
      Src: /src/openssl/apps/ocsp.c:955,1
    - Dst: OCSP_request_add0_id
      Src: /src/openssl/apps/ocsp.c:957,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:962,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - req
    - serial
    - cert_id_md
    - issuer
    - ids
    argTypes:
    - OCSP_REQUEST**
    - char*
    - EVP_MD*
    - X509*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 929
    functionDepth: 10
    functionLinenumber: 929
    functionLinenumberEnd: 964
    functionName: add_ocsp_serial
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - X509_get0_pubkey_bitstr
    - OCSP_cert_id_new
    - X509_get_subject_name
    - OCSP_request_add0_id
    - ASN1_INTEGER_free
    - OCSP_REQUEST_new
    - s2i_ASN1_INTEGER
    - sk_OCSP_CERTID_push
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int add_ocsp_serial(OCSP_REQUEST **req, char *serial,\n                           const
      EVP_MD *cert_id_md, X509 *issuer,\n                           STACK_OF(OCSP_CERTID)
      *ids)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_INTEGER_to_BN
      Src: /src/openssl/apps/ocsp.c:1187,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/ocsp.c:1188,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/ocsp.c:1190,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/ocsp.c:1191,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/ocsp.c:1192,1
    - Dst: BN_bn2hex
      Src: /src/openssl/apps/ocsp.c:1194,1
    - Dst: BN_free
      Src: /src/openssl/apps/ocsp.c:1197,1
    - Dst: TXT_DB_get_by_index
      Src: /src/openssl/apps/ocsp.c:1198,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/ocsp.c:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1180
    functionDepth: 7
    functionLinenumber: 1180
    functionLinenumberEnd: 1201
    functionName: lookup_serial
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 0
    functionsReached:
    - BN_bn2hex
    - OPENSSL_assert
    - BN_is_zero
    - ASN1_INTEGER_to_BN
    - OPENSSL_free
    - OPENSSL_strdup
    - BN_free
    - TXT_DB_get_by_index
    linkageType: ''
    returnType: char
    signature: char **lookup_serial(CA_DB *db, ASN1_INTEGER *ser)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_server_get_asn1_req
      Src: /src/openssl/apps/ocsp.c:1207,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/ocsp.c:1207,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - preq
    - pcbio
    - acbio
    - timeout
    argTypes:
    - OCSP_REQUEST**
    - BIO**
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1203
    functionDepth: 2
    functionLinenumber: 1203
    functionLinenumberEnd: 1217
    functionName: do_responder
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - http_server_get_asn1_req
    - ASN1_ITEM_rptr
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int do_responder(OCSP_REQUEST **preq, BIO **pcbio, BIO *acbio,\n                        int
      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_server_send_asn1_resp
      Src: /src/openssl/apps/ocsp.c:1222,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/ocsp.c:1225,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cbio
    - resp
    argTypes:
    - BIO*
    - OCSP_RESPONSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1232
    functionName: send_ocsp_response
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 1
    functionsReached:
    - http_server_send_asn1_resp
    - ASN1_ITEM_rptr
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int send_ocsp_response(BIO *cbio, const OCSP_RESPONSE *resp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/apps/ocsp.c:1245,1
    - Dst: TLS_client_method
      Src: /src/openssl/apps/ocsp.c:1245,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:1247,1
    - Dst: app_http_post_asn1
      Src: /src/openssl/apps/ocsp.c:1253,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/ocsp.c:1255,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/ocsp.c:1257,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/ocsp.c:1260,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/ocsp.c:1263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 9
    argNames:
    - req
    - host
    - port
    - path
    - proxy
    - no_proxy
    - use_ssl
    - headers
    - req_timeout
    argTypes:
    - OCSP_REQUEST*
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1265
    functionName: process_responder
    functionSourceFile: /src/openssl/apps/ocsp.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_free
    - app_http_post_asn1
    - ASN1_ITEM_rptr
    - SSL_CTX_new
    - TLS_client_method
    - BIO_printf
    linkageType: ''
    returnType: OCSP_RESPONSE
    signature: "OCSP_RESPONSE *process_responder(OCSP_REQUEST *req, const char *host,\n
      \                                const char *port, const char *path,\n                                 const
      char *proxy, const char *no_proxy,\n                                 int use_ssl,
      STACK_OF(CONF_VALUE) *headers,\n                                 int req_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - bio
    - ','
    - level
    - ','
    - prefix
    - ','
    - msg
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 723
    functionName: CMP_print
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_print(bio, level, prefix, msg, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - m
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: CMP_DEBUG
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_DEBUG(m, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 726
    functionName: CMP_debug
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_debug(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 727
    functionName: CMP_debug1
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_debug1(msg, a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 728
    functionName: CMP_debug2
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_debug2(msg, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 729
    functionName: CMP_debug3
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_debug3(msg, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 731
    functionName: CMP_INFO
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_INFO(msg, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 732
    functionName: CMP_info
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_info(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 733
    functionName: CMP_info1
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_info1(msg, a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: CMP_info2
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_info2(msg, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: CMP_info3
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_info3(msg, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - m
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: CMP_WARN
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_WARN(m, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 738
    functionName: CMP_warn
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_warn(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 739
    functionName: CMP_warn1
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_warn1(msg, a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 740
    functionName: CMP_warn2
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_warn2(msg, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 741
    functionName: CMP_warn3
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_warn3(msg, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: CMP_ERR
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_ERR(msg, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 744
    functionName: CMP_err
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_err(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msg
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 745
    functionName: CMP_err1
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_err1(msg, a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 746
    functionName: CMP_err2
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_err2(msg, a1, a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - msg
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: CMP_err3
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_err3(msg, a1, a2, a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/openssl/apps/cmp.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 3
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: print_to_bio_out
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_print_to_bio
    linkageType: ''
    returnType: int
    signature: "int print_to_bio_out(const char *func, const char *file, int line,\n
      \                           OSSL_CMP_severity level, const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_print_to_bio
      Src: /src/openssl/apps/cmp.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 758
    functionName: print_to_bio_err
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_print_to_bio
    linkageType: ''
    returnType: int
    signature: "int print_to_bio_err(const char *func, const char *file, int line,\n
      \                           OSSL_CMP_severity level, const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 768
    functionName: set_verbosity
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_err1
    linkageType: ''
    returnType: int
    signature: int set_verbosity(int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:773,1
    - Dst: load_key
      Src: /src/openssl/apps/cmp.c:774,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - uri
    - format
    - pass
    - eng
    - desc
    argTypes:
    - char*
    - int
    - char*
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 778
    functionName: load_key_pwd
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - load_key
    - get_passwd
    - clear_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_key_pwd(const char *uri, int format,\n                              const
      char *pass, ENGINE *eng, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:783,1
    - Dst: load_cert_pass
      Src: /src/openssl/apps/cmp.c:785,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - uri
    - pass
    - desc
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 788
    functionName: load_cert_pwd
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - get_passwd
    - clear_free
    - load_cert_pass
    linkageType: ''
    returnType: X509
    signature: X509 *load_cert_pwd(const char *uri, const char *pass, const char *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/cmp.c:793,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/apps/cmp.c:796,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/apps/cmp.c:797,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/apps/cmp.c:798,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/openssl/apps/cmp.c:800,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/apps/cmp.c:803,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/apps/cmp.c:804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ts
    - host
    argTypes:
    - X509_STORE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 805
    functionName: truststore_set_host_etc
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_hostflags
    - X509_VERIFY_PARAM_set1_ip
    - X509_VERIFY_PARAM_set1_host
    - X509_VERIFY_PARAM_set1_ip_asc
    - X509_VERIFY_PARAM_set1_email
    - X509_STORE_get0_param
    linkageType: ''
    returnType: int
    signature: int truststore_set_host_etc(X509_STORE *ts, const char *host)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:813,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:817,1
    - Dst: next_item
      Src: /src/openssl/apps/cmp.c:822,1
    - Dst: OSSL_CMP_MSG_write
      Src: /src/openssl/apps/cmp.c:823,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - filenames
    argTypes:
    - OSSL_CMP_MSG*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 808
    functionDepth: 4
    functionLinenumber: 808
    functionLinenumberEnd: 828
    functionName: write_PKIMESSAGE
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_err1
    - CMP_err
    - next_item
    - OSSL_CMP_MSG_write
    linkageType: ''
    returnType: int
    signature: int write_PKIMESSAGE(const OSSL_CMP_MSG *msg, char **filenames)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:837,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:841,1
    - Dst: next_item
      Src: /src/openssl/apps/cmp.c:846,1
    - Dst: OSSL_CMP_MSG_read
      Src: /src/openssl/apps/cmp.c:848,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:848,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:848,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:850,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - desc
    - filenames
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 831
    functionDepth: 4
    functionLinenumber: 831
    functionLinenumberEnd: 854
    functionName: read_PKIMESSAGE
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_err1
    - OSSL_CMP_MSG_read
    - CMP_err
    - next_item
    - app_get0_propq
    - app_get0_libctx
    - CMP_info2
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *read_PKIMESSAGE(const char *desc, char **filenames)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_write
      Src: /src/openssl/apps/cmp.c:871,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:872,1
    - Dst: write_PKIMESSAGE
      Src: /src/openssl/apps/cmp.c:878,1
    - Dst: read_PKIMESSAGE
      Src: /src/openssl/apps/cmp.c:881,1
    - Dst: OSSL_CMP_MSG_update_transactionID
      Src: /src/openssl/apps/cmp.c:889,1
    - Dst: OSSL_CMP_MSG_update_recipNonce
      Src: /src/openssl/apps/cmp.c:896,1
    - Dst: read_PKIMESSAGE
      Src: /src/openssl/apps/cmp.c:901,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:907,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/openssl/apps/cmp.c:908,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:912,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:916,1
    - Dst: OSSL_CMP_MSG_http_perform
      Src: /src/openssl/apps/cmp.c:917,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:919,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/apps/cmp.c:932,1
    - Dst: OSSL_CMP_HDR_get0_recipNonce
      Src: /src/openssl/apps/cmp.c:933,1
    - Dst: OSSL_CMP_HDR_get0_transactionID
      Src: /src/openssl/apps/cmp.c:934,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/apps/cmp.c:935,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/apps/cmp.c:936,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:937,1
    - Dst: write_PKIMESSAGE
      Src: /src/openssl/apps/cmp.c:943,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:944,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:949,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 862
    functionDepth: 19
    functionLinenumber: 862
    functionLinenumberEnd: 951
    functionName: read_write_req_resp
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_HDR_get0_recipNonce
    - CMP_err1
    - OSSL_CMP_MSG_write
    - OSSL_CMP_MSG_get0_header
    - OSSL_CMP_MSG_update_transactionID
    - OSSL_CMP_CTX_server_perform
    - CMP_err
    - CMP_warn
    - OSSL_CMP_MSG_http_perform
    - OSSL_CMP_MSG_update_recipNonce
    - write_PKIMESSAGE
    - read_PKIMESSAGE
    - OSSL_CMP_HDR_get0_transactionID
    - OSSL_CMP_CTX_set1_senderNonce
    - OSSL_CMP_CTX_set1_transactionID
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: "OSSL_CMP_MSG *read_write_req_resp(OSSL_CMP_CTX *ctx,\n                                         const
      OSSL_CMP_MSG *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_name
      Src: /src/openssl/apps/cmp.c:958,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/cmp.c:963,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:964,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/cmp.c:967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - str
    - ctx
    - desc
    argTypes:
    - char*
    - OSSL_CMP_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 970
    functionName: set_name
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 13
    functionsReached:
    - X509_NAME_free
    - CMP_err
    - parse_name
    linkageType: ''
    returnType: int
    signature: "int set_name(const char *str,\n                    int (*set_fn) (OSSL_CMP_CTX
      *ctx, const X509_NAME *name),\n                    OSSL_CMP_CTX *ctx, const
      char *desc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next_item
      Src: /src/openssl/apps/cmp.c:979,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:980,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:981,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/cmp.c:988,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/openssl/apps/cmp.c:989,1
    - Dst: a2i_GENERAL_NAME
      Src: /src/openssl/apps/cmp.c:991,1
    - Dst: strchr
      Src: /src/openssl/apps/cmp.c:992,1
    - Dst: strchr
      Src: /src/openssl/apps/cmp.c:993,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/cmp.c:995,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:998,1
    - Dst: OSSL_CMP_CTX_push1_subjectAltName
      Src: /src/openssl/apps/cmp.c:1001,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/apps/cmp.c:1002,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1003,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/apps/cmp.c:1006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - names
    - desc
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 972
    functionDepth: 4
    functionLinenumber: 972
    functionLinenumberEnd: 1009
    functionName: set_gennames
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - strchr
    - OSSL_CMP_CTX_push1_subjectAltName
    - ERR_pop_to_mark
    - CMP_err2
    - next_item
    - ERR_set_mark
    - CMP_err
    - OSSL_CMP_CTX_set_option
    - a2i_GENERAL_NAME
    - strcmp
    - GENERAL_NAME_free
    linkageType: ''
    returnType: int
    signature: int set_gennames(OSSL_CMP_CTX *ctx, char *names, const char *desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_certstore
      Src: /src/openssl/apps/cmp.c:1013,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/apps/cmp.c:1017,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/apps/cmp.c:1020,1
    - Dst: truststore_set_host_etc
      Src: /src/openssl/apps/cmp.c:1021,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:1023,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/apps/cmp.c:1024,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - input
    - for_new_cert
    - desc
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1011
    functionDepth: 8
    functionLinenumber: 1011
    functionLinenumberEnd: 1027
    functionName: load_trusted
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - X509_STORE_set_verify_cb
    - load_certstore
    - X509_STORE_free
    - X509_STORE_set1_param
    - truststore_set_host_etc
    - OSSL_CMP_CTX_print_errors
    - BIO_printf
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE *load_trusted(char *input, int for_new_cert, const char
      *desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_cert_pwd
      Src: /src/openssl/apps/cmp.c:1038,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ctx
    - file
    - pass
    - desc
    - set1_fn
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - add_X509_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1043
    functionName: setup_cert
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - X509_free
    - load_cert_pwd
    linkageType: ''
    returnType: int
    signature: "int setup_cert(void *ctx, const char *file, const char *pass,\n                      const
      char *desc, add_X509_fn_t set1_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:1049,1
    - Dst: load_certs_multifile
      Src: /src/openssl/apps/cmp.c:1054,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cmp.c:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - files
    - desc
    - ctx
    - set1_fn
    argTypes:
    - char*
    - char*
    - void*
    - add_X509_stack_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1059
    functionName: setup_certs
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - load_certs_multifile
    - OSSL_STACK_OF_X509_free
    linkageType: ''
    returnType: int
    signature: "int setup_certs(char *files, const char *desc, void *ctx,\n                       add_X509_stack_fn_t
      set1_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_crl
      Src: /src/openssl/apps/cmp.c:1068,1
    - Dst: ossl_cmp_mock_srv_set1_crlOut
      Src: /src/openssl/apps/cmp.c:1070,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/cmp.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - file
    - desc
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1073
    functionName: setup_mock_crlout
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - ossl_cmp_mock_srv_set1_crlOut
    - load_crl
    - X509_CRL_free
    linkageType: ''
    returnType: int
    signature: int setup_mock_crlout(void *ctx, const char *file, const char *desc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1081,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1083,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1085,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1087,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1089,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:1091,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1094,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1098,1
    - Dst: opt_format
      Src: /src/openssl/apps/cmp.c:1109,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1110,1
    - Dst: opt_format
      Src: /src/openssl/apps/cmp.c:1117,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1118,1
    - Dst: opt_format
      Src: /src/openssl/apps/cmp.c:1122,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1123,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1128
    functionName: transform_opts
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - CMP_err
    - CMP_err1
    - opt_format
    linkageType: ''
    returnType: int
    signature: int transform_opts(void)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cmp_mock_srv_new
      Src: /src/openssl/apps/cmp.c:1133,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:1133,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:1134,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/apps/cmp.c:1138,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1143,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/apps/cmp.c:1147,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:1148,1
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:1154,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1157,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/apps/cmp.c:1158,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:1159,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:1160,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1165,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1168,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1173,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1176,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1181,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/apps/cmp.c:1185,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1186,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1189,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1191,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1195,1
    - Dst: OSSL_CMP_CTX_set0_trusted
      Src: /src/openssl/apps/cmp.c:1197,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1198,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1202,1
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1204,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1209,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1214,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1216,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1222,1
    - Dst: ossl_cmp_mock_srv_set1_keyOut
      Src: /src/openssl/apps/cmp.c:1227,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1228,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1231,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1233,1
    - Dst: setup_mock_crlout
      Src: /src/openssl/apps/cmp.c:1235,1
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1238,1
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1242,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1245,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1248,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1251,1
    - Dst: ossl_cmp_mock_srv_set_pollCount
      Src: /src/openssl/apps/cmp.c:1255,1
    - Dst: ossl_cmp_mock_srv_set_checkAfterTime
      Src: /src/openssl/apps/cmp.c:1256,1
    - Dst: OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
      Src: /src/openssl/apps/cmp.c:1258,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1262,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1267,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1272,1
    - Dst: ossl_cmp_mock_srv_set_statusInfo
      Src: /src/openssl/apps/cmp.c:1275,1
    - Dst: ossl_cmp_mock_srv_set_sendError
      Src: /src/openssl/apps/cmp.c:1280,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1283,1
    - Dst: OSSL_CMP_SRV_CTX_set_send_unprotected_errors
      Src: /src/openssl/apps/cmp.c:1285,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_unprotected
      Src: /src/openssl/apps/cmp.c:1287,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1289,1
    - Dst: OSSL_CMP_SRV_CTX_set_accept_raverified
      Src: /src/openssl/apps/cmp.c:1291,1
    - Dst: ossl_cmp_mock_srv_free
      Src: /src/openssl/apps/cmp.c:1296,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 131
    argCount: 1
    argNames:
    - engine
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1130
    functionDepth: 9
    functionLinenumber: 1130
    functionLinenumberEnd: 1298
    functionName: setup_srv_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - X509_STORE_free
    - OSSL_CMP_CTX_set0_trusted
    - OSSL_CMP_SRV_CTX_set_accept_raverified
    - OSSL_CMP_CTX_set1_secretValue
    - strlen
    - OSSL_CMP_CTX_set1_referenceValue
    - cleanse
    - setup_mock_crlout
    - OSSL_CMP_SRV_CTX_set_accept_unprotected
    - CMP_err1
    - load_key_pwd
    - get_passwd
    - CMP_warn
    - app_get0_propq
    - EVP_PKEY_free
    - ossl_cmp_mock_srv_set_pollCount
    - CMP_err
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - clear_free
    - OSSL_CMP_CTX_set_option
    - setup_cert
    - ossl_cmp_mock_srv_new
    - OSSL_CMP_SRV_CTX_set_grant_implicit_confirm
    - setup_certs
    - load_trusted
    - OSSL_CMP_CTX_set1_pkey
    - ossl_cmp_mock_srv_free
    - ossl_cmp_mock_srv_set_statusInfo
    - ossl_cmp_mock_srv_set_checkAfterTime
    - app_get0_libctx
    - ossl_cmp_mock_srv_set_sendError
    - OSSL_CMP_SRV_CTX_set_send_unprotected_errors
    - ossl_cmp_mock_srv_set1_keyOut
    linkageType: ''
    returnType: OSSL_CMP_SRV_CTX
    signature: OSSL_CMP_SRV_CTX *setup_srv_ctx(ENGINE *engine)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1306,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1313,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1317,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1320,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1332,1
    - Dst: OSSL_CMP_CTX_set0_trusted
      Src: /src/openssl/apps/cmp.c:1334,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1335,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1342,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1347,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/cmp.c:1353,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/apps/cmp.c:1354,1
    - Dst: OSSL_CMP_CTX_set_certConf_cb_arg
      Src: /src/openssl/apps/cmp.c:1356,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1360,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1363,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1304
    functionDepth: 9
    functionLinenumber: 1304
    functionLinenumberEnd: 1366
    functionName: setup_verification_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - setup_certs
    - OSSL_CMP_CTX_set_certConf_cb_arg
    - X509_STORE_free
    - load_trusted
    - X509_VERIFY_PARAM_clear_flags
    - OSSL_CMP_CTX_set0_trusted
    - CMP_warn
    - OSSL_CMP_CTX_set_option
    - setup_cert
    - X509_STORE_get0_param
    linkageType: ''
    returnType: int
    signature: int setup_verification_ctx(OSSL_CMP_CTX *ctx)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:1376,1
    - Dst: OSSL_CMP_CTX_get0_untrusted
      Src: /src/openssl/apps/cmp.c:1376,1
    - Dst: SSL_CTX_new
      Src: /src/openssl/apps/cmp.c:1382,1
    - Dst: TLS_client_method
      Src: /src/openssl/apps/cmp.c:1382,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1387,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/openssl/apps/cmp.c:1390,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/cmp.c:1391,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1393,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:1398,1
    - Dst: load_cert_certs
      Src: /src/openssl/apps/cmp.c:1401,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/apps/cmp.c:1407,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:1408,1
    - Dst: SSL_CTX_set0_chain
      Src: /src/openssl/apps/cmp.c:1414,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1415,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cmp.c:1417,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cmp.c:1420,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/cmp.c:1421,1
    - Dst: SSL_CTX_add1_chain_cert
      Src: /src/openssl/apps/cmp.c:1422,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1423,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/cmp.c:1433,1
    - Dst: X509_VERIFY_PARAM_get_flags
      Src: /src/openssl/apps/cmp.c:1434,1
    - Dst: X509_VERIFY_PARAM_clear_flags
      Src: /src/openssl/apps/cmp.c:1436,1
    - Dst: CMP_debug
      Src: /src/openssl/apps/cmp.c:1442,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/openssl/apps/cmp.c:1443,1
    - Dst: CMP_debug
      Src: /src/openssl/apps/cmp.c:1446,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/apps/cmp.c:1448,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1449,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/cmp.c:1452,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:1457,1
    - Dst: load_certs_multifile
      Src: /src/openssl/apps/cmp.c:1457,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/cmp.c:1465,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/cmp.c:1466,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/openssl/apps/cmp.c:1468,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:1470,1
    - Dst: sk_X509_free
      Src: /src/openssl/apps/cmp.c:1472,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:1474,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1479,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1481,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/cmp.c:1489,1
    - Dst: SSL_CTX_get0_certificate
      Src: /src/openssl/apps/cmp.c:1489,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:1491,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1493,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/apps/cmp.c:1497,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1498,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1499,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1503,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1505,1
    - Dst: truststore_set_host_etc
      Src: /src/openssl/apps/cmp.c:1513,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/cmp.c:1519,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 103
    argCount: 3
    argNames:
    - ctx
    - host
    - engine
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1373
    functionDepth: 9
    functionLinenumber: 1373
    functionLinenumberEnd: 1521
    functionName: setup_ssl_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_build_cert_chain
    - X509_free
    - SSL_CTX_set_verify
    - SSL_CTX_new
    - X509_VERIFY_PARAM_get_flags
    - SSL_CTX_use_PrivateKey
    - sk_X509_num
    - cleanse
    - CMP_err1
    - SSL_CTX_free
    - load_key_pwd
    - sk_X509_value
    - SSL_CTX_use_certificate
    - CMP_warn
    - OSSL_STACK_OF_X509_free
    - EVP_PKEY_free
    - X509_check_private_key
    - X509_VERIFY_PARAM_set_flags
    - truststore_set_host_etc
    - SSL_CTX_set_cert_store
    - BIO_printf
    - SSL_CTX_set0_chain
    - CMP_debug
    - SSL_CTX_get0_certificate
    - load_certs_multifile
    - CMP_err
    - SSL_CTX_add_extra_chain_cert
    - STACK_OF
    - SSL_CTX_add1_chain_cert
    - X509_STORE_get0_param
    - OSSL_CMP_CTX_get0_untrusted
    - TLS_client_method
    - OSSL_CMP_CTX_print_errors
    - sk_X509_free
    - X509_VERIFY_PARAM_clear_flags
    - load_trusted
    - CMP_err2
    - load_cert_certs
    linkageType: ''
    returnType: SSL_CTX
    signature: "SSL_CTX *setup_ssl_ctx(OSSL_CMP_CTX *ctx, const char *host,\n                              ENGINE
      *engine)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1532,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1538,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1542,1
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:1546,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1550,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/apps/cmp.c:1551,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:1553,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:1554,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1559,1
    - Dst: OSSL_CMP_CTX_set1_referenceValue
      Src: /src/openssl/apps/cmp.c:1562,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:1563,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1567,1
    - Dst: OSSL_CMP_CTX_set1_pkey
      Src: /src/openssl/apps/cmp.c:1570,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1571,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1574,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1577,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:1581,1
    - Dst: load_cert_certs
      Src: /src/openssl/apps/cmp.c:1585,1
    - Dst: OSSL_CMP_CTX_set1_cert
      Src: /src/openssl/apps/cmp.c:1590,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:1591,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1593,1
    - Dst: load_trusted
      Src: /src/openssl/apps/cmp.c:1596,1
    - Dst: OSSL_CMP_CTX_build_cert_chain
      Src: /src/openssl/apps/cmp.c:1600,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:1602,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/cmp.c:1603,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1607,1
    - Dst: setup_certs
      Src: /src/openssl/apps/cmp.c:1610,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:1613,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1616,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/apps/cmp.c:1619,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1622,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1625,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1626,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1627,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/apps/cmp.c:1633,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1636,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1639,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 81
    argCount: 2
    argNames:
    - ctx
    - engine
    argTypes:
    - OSSL_CMP_CTX*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1529
    functionDepth: 9
    functionLinenumber: 1529
    functionLinenumberEnd: 1642
    functionName: setup_protection_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - X509_STORE_free
    - X509_free
    - OSSL_CMP_CTX_set1_secretValue
    - OSSL_CMP_CTX_set1_referenceValue
    - strlen
    - OSSL_CMP_CTX_set1_cert
    - cleanse
    - CMP_err1
    - load_key_pwd
    - get_passwd
    - CMP_warn
    - EVP_PKEY_free
    - OSSL_STACK_OF_X509_free
    - CMP_err
    - OBJ_ln2nid
    - STACK_OF
    - clear_free
    - OSSL_CMP_CTX_set_option
    - OSSL_CMP_CTX_build_cert_chain
    - setup_certs
    - load_trusted
    - OSSL_CMP_CTX_set1_pkey
    - load_cert_certs
    linkageType: ''
    returnType: int
    signature: int setup_protection_ctx(OSSL_CMP_CTX *ctx, ENGINE *engine)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/apps/cmp.c:1654,1
    - Dst: _UC
      Src: /src/openssl/apps/cmp.c:1654,1
    - Dst: OSSL_CMP_MSG_read
      Src: /src/openssl/apps/cmp.c:1658,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:1658,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:1658,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1662,1
    - Dst: OSSL_CMP_MSG_get0_certreq_publickey
      Src: /src/openssl/apps/cmp.c:1666,1
    - Dst: X509_PUBKEY_get0
      Src: /src/openssl/apps/cmp.c:1667,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1668,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/apps/cmp.c:1672,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/apps/cmp.c:1673,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1674,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1675,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:1682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1644
    functionDepth: 5
    functionLinenumber: 1644
    functionLinenumberEnd: 1684
    functionName: set_fallback_pubkey
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_CTX_set0_newPkey
    - CMP_err1
    - OSSL_CMP_MSG_read
    - isspace
    - EVP_PKEY_dup
    - _UC
    - app_get0_propq
    - OSSL_CMP_MSG_get0_certreq_publickey
    - EVP_PKEY_free
    - app_get0_libctx
    - X509_PUBKEY_get0
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: int
    signature: int set_fallback_pubkey(OSSL_CMP_CTX *ctx)
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1700,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:1702,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1707,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:1712,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1717,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1721,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1730,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:1734,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1738,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1743,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:1746,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:1754,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1757,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1762,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1764,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1766,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1768,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1770,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1772,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1774,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1776,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1778,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1781,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1783,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1785,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1787,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1794,1
    - Dst: CMP_warn2
      Src: /src/openssl/apps/cmp.c:1798,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1804,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1808,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1812,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1816,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1818,1
    - Dst: s2i_ASN1_INTEGER
      Src: /src/openssl/apps/cmp.c:1823,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1824,1
    - Dst: OSSL_CMP_CTX_set1_serialNumber
      Src: /src/openssl/apps/cmp.c:1827,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/cmp.c:1828,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1829,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/cmp.c:1832,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1835,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1839,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1842,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1848,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1854,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1856,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1858,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1860,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1862,1
    - Dst: load_key_pwd
      Src: /src/openssl/apps/cmp.c:1873,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/cmp.c:1876,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/cmp.c:1880,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/apps/cmp.c:1884,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/cmp.c:1885,1
    - Dst: set_fallback_pubkey
      Src: /src/openssl/apps/cmp.c:1891,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1896,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1898,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1903,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1909,1
    - Dst: load_csr_autofmt
      Src: /src/openssl/apps/cmp.c:1911,1
    - Dst: OSSL_CMP_CTX_set1_p10CSR
      Src: /src/openssl/apps/cmp.c:1914,1
    - Dst: sk_X509_EXTENSION_new_null
      Src: /src/openssl/apps/cmp.c:1919,1
    - Dst: X509V3_set_ctx
      Src: /src/openssl/apps/cmp.c:1921,1
    - Dst: X509V3_set_nconf
      Src: /src/openssl/apps/cmp.c:1922,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/apps/cmp.c:1924,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1925,1
    - Dst: X509V3_EXT_add_nconf_sk
      Src: /src/openssl/apps/cmp.c:1930,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1931,1
    - Dst: OSSL_CMP_CTX_set0_reqExtensions
      Src: /src/openssl/apps/cmp.c:1935,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/cmp.c:1937,1
    - Dst: OSSL_CMP_CTX_reqExtensions_have_SAN
      Src: /src/openssl/apps/cmp.c:1940,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:1941,1
    - Dst: set_gennames
      Src: /src/openssl/apps/cmp.c:1944,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1949,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1950,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1956,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1957,1
    - Dst: next_item
      Src: /src/openssl/apps/cmp.c:1963,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/cmp.c:1965,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1966,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/cmp.c:1969,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:1970,1
    - Dst: POLICYINFO_new
      Src: /src/openssl/apps/cmp.c:1972,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/cmp.c:1973,1
    - Dst: OSSL_CMP_CTX_push0_policy
      Src: /src/openssl/apps/cmp.c:1978,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:1979,1
    - Dst: POLICYINFO_free
      Src: /src/openssl/apps/cmp.c:1980,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:1986,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:1990,1
    - Dst: setup_cert
      Src: /src/openssl/apps/cmp.c:1992,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:2001,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2006,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/apps/cmp.c:2008,1
    - Dst: X509_REQ_free
      Src: /src/openssl/apps/cmp.c:2009,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 256
    argCount: 2
    argNames:
    - ctx
    - engine
    argTypes:
    - OSSL_CMP_CTX*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1691
    functionDepth: 7
    functionLinenumber: 1691
    functionLinenumberEnd: 2011
    functionName: setup_request_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - load_pubkey
    - X509V3_set_ctx
    - load_csr_autofmt
    - POLICYINFO_free
    - sk_X509_EXTENSION_new_null
    - ASN1_INTEGER_free
    - OSSL_CMP_CTX_set1_p10CSR
    - OSSL_CMP_CTX_set0_reqExtensions
    - set_name
    - cleanse
    - CMP_err1
    - set_gennames
    - load_key_pwd
    - ERR_clear_error
    - X509V3_set_nconf
    - CMP_warn
    - EVP_PKEY_free
    - CMP_warn1
    - OBJ_obj2nid
    - OSSL_CMP_CTX_reqExtensions_have_SAN
    - X509V3_EXT_add_nconf_sk
    - sk_X509_EXTENSION_pop_free
    - CMP_err
    - set_fallback_pubkey
    - CMP_warn2
    - OSSL_CMP_CTX_set_option
    - s2i_ASN1_INTEGER
    - setup_cert
    - POLICYINFO_new
    - OSSL_CMP_CTX_set1_serialNumber
    - CMP_info
    - OSSL_CMP_CTX_set0_newPkey
    - X509_REQ_free
    - OSSL_CMP_CTX_push0_policy
    - next_item
    - OBJ_txt2obj
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int setup_request_ctx(OSSL_CMP_CTX *ctx, ENGINE *engine)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:2016,1
    - Dst: sk_ASN1_UTF8STRING_new_reserve
      Src: /src/openssl/apps/cmp.c:2022,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/apps/cmp.c:2024,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/apps/cmp.c:2026,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:2026,1
    - Dst: ASN1_STRING_free
      Src: /src/openssl/apps/cmp.c:2027,1
    - Dst: sk_ASN1_UTF8STRING_push
      Src: /src/openssl/apps/cmp.c:2031,1
    - Dst: OSSL_CMP_ITAV_new0_certProfile
      Src: /src/openssl/apps/cmp.c:2032,1
    - Dst: OSSL_CMP_CTX_push0_geninfo_ITAV
      Src: /src/openssl/apps/cmp.c:2034,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/apps/cmp.c:2036,1
    - Dst: sk_ASN1_UTF8STRING_pop_free
      Src: /src/openssl/apps/cmp.c:2040,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - OSSL_CMP_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2013
    functionDepth: 2
    functionLinenumber: 2013
    functionLinenumberEnd: 2042
    functionName: add_certProfile
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - sk_ASN1_UTF8STRING_new_reserve
    - sk_ASN1_UTF8STRING_pop_free
    - OSSL_CMP_ITAV_new0_certProfile
    - ASN1_STRING_free
    - STACK_OF
    - OSSL_CMP_CTX_push0_geninfo_ITAV
    - sk_ASN1_UTF8STRING_push
    - OSSL_CMP_ITAV_free
    - ASN1_STRING_set
    - strlen
    - ASN1_UTF8STRING_new
    linkageType: ''
    returnType: int
    signature: int add_certProfile(OSSL_CMP_CTX *ctx, const char *name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/apps/cmp.c:2055,1
    - Dst: _UC
      Src: /src/openssl/apps/cmp.c:2055,1
    - Dst: strchr
      Src: /src/openssl/apps/cmp.c:2058,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2059,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/cmp.c:2063,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2064,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/cmp.c:2067,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2068,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/apps/cmp.c:2069,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/apps/cmp.c:2072,1
    - Dst: strtol
      Src: /src/openssl/apps/cmp.c:2073,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2075,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2081,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/apps/cmp.c:2088,1
    - Dst: ASN1_INTEGER_set
      Src: /src/openssl/apps/cmp.c:2089,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/apps/cmp.c:2091,1
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/apps/cmp.c:2094,1
    - Dst: strchr
      Src: /src/openssl/apps/cmp.c:2095,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:2097,1
    - Dst: ASN1_UTF8STRING_new
      Src: /src/openssl/apps/cmp.c:2100,1
    - Dst: ASN1_STRING_set
      Src: /src/openssl/apps/cmp.c:2101,1
    - Dst: ASN1_TYPE_set
      Src: /src/openssl/apps/cmp.c:2104,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2108,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/apps/cmp.c:2112,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2113,1
    - Dst: OSSL_CMP_CTX_push0_geninfo_ITAV
      Src: /src/openssl/apps/cmp.c:2119,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2120,1
    - Dst: OSSL_CMP_ITAV_free
      Src: /src/openssl/apps/cmp.c:2121,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2128,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/cmp.c:2130,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/apps/cmp.c:2131,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/cmp.c:2132,1
    - Dst: ASN1_UTF8STRING_free
      Src: /src/openssl/apps/cmp.c:2133,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 81
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2044
    functionDepth: 7
    functionLinenumber: 2044
    functionLinenumberEnd: 2135
    functionName: handle_opt_geninfo
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_ITAV_create
    - ASN1_INTEGER_free
    - strlen
    - ASN1_UTF8STRING_free
    - CMP_err1
    - isspace
    - CHECK_AND_SKIP_CASE_PREFIX
    - _UC
    - ASN1_INTEGER_new
    - ASN1_INTEGER_set
    - CMP_warn1
    - ASN1_UTF8STRING_new
    - ASN1_TYPE_set
    - OBJ_obj2nid
    - strchr
    - strtol
    - CMP_err
    - OBJ_txt2obj
    - ASN1_TYPE_new
    - OSSL_CMP_ITAV_free
    - ASN1_STRING_set
    - ASN1_TYPE_free
    - OSSL_CMP_CTX_push0_geninfo_ITAV
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int handle_opt_geninfo(OSSL_CMP_CTX *ctx)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/openssl/apps/cmp.c:2156,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2160,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2164,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2171,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2173,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/cmp.c:2176,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2179,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2183,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2186,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2189,1
    - Dst: OSSL_CMP_CTX_set1_server
      Src: /src/openssl/apps/cmp.c:2192,1
    - Dst: OSSL_CMP_CTX_set_serverPort
      Src: /src/openssl/apps/cmp.c:2193,1
    - Dst: OSSL_CMP_CTX_set1_proxy
      Src: /src/openssl/apps/cmp.c:2195,1
    - Dst: OSSL_CMP_CTX_set1_no_proxy
      Src: /src/openssl/apps/cmp.c:2197,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2199,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/apps/cmp.c:2203,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2205,1
    - Dst: OSSL_CMP_CTX_set1_serverPath
      Src: /src/openssl/apps/cmp.c:2210,1
    - Dst: transform_opts
      Src: /src/openssl/apps/cmp.c:2212,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2217,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2219,1
    - Dst: strncat
      Src: /src/openssl/apps/cmp.c:2223,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:2223,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/apps/cmp.c:2224,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2225,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2233,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2235,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2237,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2239,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2245,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2247,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2250,1
    - Dst: setup_verification_ctx
      Src: /src/openssl/apps/cmp.c:2253,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2257,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2261,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2266,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:2269,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2275,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:2278,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb
      Src: /src/openssl/apps/cmp.c:2281,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2290,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2293,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/cmp.c:2298,1
    - Dst: APP_HTTP_TLS_INFO_free
      Src: /src/openssl/apps/cmp.c:2300,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/openssl/apps/cmp.c:2300,1
    - Dst: OSSL_CMP_CTX_set_http_cb_arg
      Src: /src/openssl/apps/cmp.c:2301,1
    - Dst: setup_ssl_ctx
      Src: /src/openssl/apps/cmp.c:2302,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/cmp.c:2305,1
    - Dst: OSSL_CMP_CTX_get_option
      Src: /src/openssl/apps/cmp.c:2309,1
    - Dst: OSSL_CMP_CTX_set_http_cb
      Src: /src/openssl/apps/cmp.c:2313,1
    - Dst: setup_protection_ctx
      Src: /src/openssl/apps/cmp.c:2317,1
    - Dst: setup_request_ctx
      Src: /src/openssl/apps/cmp.c:2320,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:2323,1
    - Dst: set_name
      Src: /src/openssl/apps/cmp.c:2324,1
    - Dst: handle_opt_geninfo
      Src: /src/openssl/apps/cmp.c:2328,1
    - Dst: add_certProfile
      Src: /src/openssl/apps/cmp.c:2330,1
    - Dst: CMP_info3
      Src: /src/openssl/apps/cmp.c:2335,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:2342,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:2343,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:2344,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2347,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 173
    argCount: 2
    argNames:
    - ctx
    - engine
    argTypes:
    - OSSL_CMP_CTX*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2143
    functionDepth: 10
    functionLinenumber: 2143
    functionLinenumberEnd: 2349
    functionName: setup_client_ctx
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - strcpy
    - OSSL_CMP_CTX_set_serverPort
    - setup_verification_ctx
    - BIO_snprintf
    - OPENSSL_free
    - strlen
    - OSSL_CMP_CTX_set1_no_proxy
    - strncat
    - OSSL_HTTP_parse_url
    - set_name
    - OPENSSL_zalloc
    - CMP_err1
    - OSSL_CMP_CTX_set1_proxy
    - handle_opt_geninfo
    - CMP_warn
    - OSSL_CMP_CTX_get_http_cb_arg
    - OSSL_CMP_CTX_set_http_cb
    - OPENSSL_strdup
    - CMP_warn1
    - transform_opts
    - OSSL_CMP_CTX_get_option
    - OSSL_CMP_CTX_set_http_cb_arg
    - OBJ_sn2nid
    - add_certProfile
    - CMP_err
    - CMP_info3
    - setup_request_ctx
    - OSSL_CMP_CTX_set_option
    - APP_HTTP_TLS_INFO_free
    - OSSL_HTTP_adapt_proxy
    - CMP_err2
    - OSSL_CMP_CTX_set1_serverPath
    - OSSL_CMP_CTX_set_transfer_cb
    - setup_ssl_ctx
    - OSSL_CMP_CTX_set1_server
    - setup_protection_ctx
    linkageType: ''
    returnType: int
    signature: int setup_client_ctx(OSSL_CMP_CTX *ctx, ENGINE *engine)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/apps/cmp.c:2358,1
    - Dst: i2d_X509_bio
      Src: /src/openssl/apps/cmp.c:2359,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:2362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - cert
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2356
    functionDepth: 2
    functionLinenumber: 2356
    functionLinenumberEnd: 2366
    functionName: write_cert
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_X509
    - BIO_printf
    - i2d_X509_bio
    linkageType: ''
    returnType: int
    signature: int write_cert(BIO *bio, X509 *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:2371,1
    - Dst: PEM_write_bio_X509_CRL
      Src: /src/openssl/apps/cmp.c:2376,1
    - Dst: i2d_X509_CRL_bio
      Src: /src/openssl/apps/cmp.c:2377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - crl
    argTypes:
    - BIO*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2368
    functionDepth: 2
    functionLinenumber: 2368
    functionLinenumberEnd: 2378
    functionName: write_crl
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - PEM_write_bio_X509_CRL
    - i2d_X509_CRL_bio
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int write_crl(BIO *bio, X509_CRL *crl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:2436,1
    - Dst: BIO_new
      Src: /src/openssl/apps/cmp.c:2438,1
    - Dst: BIO_s_file
      Src: /src/openssl/apps/cmp.c:2438,1
    - Dst: BIO_write_filename
      Src: /src/openssl/apps/cmp.c:2439,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2440,1
    - Dst: write_crl
      Src: /src/openssl/apps/cmp.c:2445,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2446,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - crl
    - file
    - desc
    argTypes:
    - X509_CRL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2427
    functionDepth: 5
    functionLinenumber: 2427
    functionLinenumberEnd: 2454
    functionName: save_crl
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_write_filename
    - write_crl
    - BIO_free
    - CMP_err2
    - BIO_s_file
    - CMP_info2
    linkageType: ''
    returnType: int
    signature: "int save_crl(X509_CRL *crl,\n                    const char *file,
      const char *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/openssl/apps/cmp.c:2461,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - file
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2456
    functionDepth: 1
    functionLinenumber: 2456
    functionLinenumberEnd: 2467
    functionName: delete_file
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_err2
    - unlink
    linkageType: ''
    returnType: int
    signature: int delete_file(const char *file, const char *desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2476,1
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:2477,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:2479,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/cmp.c:2479,1
    - Dst: X509_add_cert
      Src: /src/openssl/apps/cmp.c:2481,1
    - Dst: sk_X509_free
      Src: /src/openssl/apps/cmp.c:2482,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:2485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cert
    - file
    - desc
    argTypes:
    - X509*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2469
    functionDepth: 2
    functionLinenumber: 2469
    functionLinenumberEnd: 2487
    functionName: save_cert_or_delete
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - sk_X509_free
    - X509_add_cert
    - save_free_certs
    - BIO_snprintf
    - STACK_OF
    - sk_X509_new_null
    - delete_file
    linkageType: ''
    returnType: int
    signature: int save_cert_or_delete(X509 *cert, const char *file, const char *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:2493,1
    - Dst: save_crl
      Src: /src/openssl/apps/cmp.c:2493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - crl
    - file
    - desc
    argTypes:
    - X509_CRL*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2489
    functionDepth: 6
    functionLinenumber: 2489
    functionLinenumberEnd: 2494
    functionName: save_crl_or_delete
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - save_crl
    - delete_file
    linkageType: ''
    returnType: int
    signature: int save_crl_or_delete(X509_CRL *crl, const char *file, const char
      *desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/cmp.c:2498,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2501,1
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/apps/cmp.c:2505,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2507,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2509,1
    - Dst: CMP_info1
      Src: /src/openssl/apps/cmp.c:2512,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - file
    - tmpl
    argTypes:
    - char*
    - OSSL_CRMF_CERTTEMPLATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2496
    functionDepth: 3
    functionLinenumber: 2496
    functionLinenumberEnd: 2516
    functionName: save_template
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - CMP_err1
    - ASN1_i2d_bio_of
    - CMP_info1
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int save_template(const char *file, const OSSL_CRMF_CERTTEMPLATE *tmpl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/cmp.c:2520,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2523,1
    - Dst: ASN1_i2d_bio_of
      Src: /src/openssl/apps/cmp.c:2527,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2528,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2529,1
    - Dst: CMP_info1
      Src: /src/openssl/apps/cmp.c:2532,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:2534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - file
    - keyspec
    argTypes:
    - char*
    - OSSL_CMP_ATAVS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2518
    functionDepth: 3
    functionLinenumber: 2518
    functionLinenumberEnd: 2536
    functionName: save_keyspec
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - CMP_err1
    - ASN1_i2d_bio_of
    - CMP_info1
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int save_keyspec(const char *file, const OSSL_CMP_ATAVS *keyspec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/openssl/apps/cmp.c:2540,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/cmp.c:2543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2538
    functionDepth: 6
    functionLinenumber: 2538
    functionLinenumberEnd: 2547
    functionName: nid_name
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - OBJ_nid2sn
    linkageType: ''
    returnType: char
    signature: char *nid_name(int nid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/apps/cmp.c:2552,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:2555,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/apps/cmp.c:2560,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/apps/cmp.c:2561,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2565,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/openssl/apps/cmp.c:2569,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:2570,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:2573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - itavs
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2549
    functionDepth: 2
    functionLinenumber: 2549
    functionLinenumberEnd: 2577
    functionName: print_itavs
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - i2t_ASN1_OBJECT
    - CMP_err1
    - OSSL_CMP_ITAV_get0_type
    - sk_OSSL_CMP_ITAV_value
    - CMP_info2
    - sk_OSSL_CMP_ITAV_num
    - CMP_info
    linkageType: ''
    returnType: int
    signature: int print_itavs(const STACK_OF(OSSL_CMP_ITAV) *itavs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/apps/cmp.c:2591,1
    - Dst: _UC
      Src: /src/openssl/apps/cmp.c:2591,1
    - Dst: CMP_warn3
      Src: /src/openssl/apps/cmp.c:2598,1
    - Dst: memcpy
      Src: /src/openssl/apps/cmp.c:2602,1
    - Dst: isspace
      Src: /src/openssl/apps/cmp.c:2606,1
    - Dst: _UC
      Src: /src/openssl/apps/cmp.c:2606,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - opt
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2612
    functionName: prev_item
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_warn3
    - memcpy
    - _UC
    - isspace
    linkageType: ''
    returnType: char
    signature: char *prev_item(const char *opt, const char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:2619,1
    - Dst: prev_item
      Src: /src/openssl/apps/cmp.c:2621,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/cmp.c:2622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - src_conf
    - groups
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2615
    functionDepth: 2
    functionLinenumber: 2615
    functionLinenumberEnd: 2626
    functionName: conf_get_string
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - strlen
    - app_conf_try_string
    - prev_item
    linkageType: ''
    returnType: char
    signature: "char *conf_get_string(const CONF *src_conf, const char *groups,\n
      \                            const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conf_get_string
      Src: /src/openssl/apps/cmp.c:2632,1
    - Dst: strtol
      Src: /src/openssl/apps/cmp.c:2639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - conf_
    - groups
    - name
    - result
    argTypes:
    - CONF*
    - char*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2629
    functionDepth: 3
    functionLinenumber: 2629
    functionLinenumberEnd: 2645
    functionName: conf_get_number_e
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - conf_get_string
    - strtol
    linkageType: ''
    returnType: int
    signature: "int conf_get_number_e(const CONF *conf_, const char *groups,\n                             const
      char *name, long *result)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/cmp.c:2664,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:2668,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:2669,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/cmp.c:2671,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/cmp.c:2671,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:2684,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:2685,1
    - Dst: conf_get_number_e
      Src: /src/openssl/apps/cmp.c:2697,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/cmp.c:2698,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/cmp.c:2702,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/cmp.c:2707,1
    - Dst: conf_get_string
      Src: /src/openssl/apps/cmp.c:2715,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/cmp.c:2717,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2722,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/cmp.c:2732,1
    - Dst: conf_get_string
      Src: /src/openssl/apps/cmp.c:2740,1
    - Dst: opt_init
      Src: /src/openssl/apps/cmp.c:2744,1
    - Dst: opt_provider
      Src: /src/openssl/apps/cmp.c:2747,1
    - Dst: opt_next
      Src: /src/openssl/apps/cmp.c:2747,1
    - Dst: opt_verify
      Src: /src/openssl/apps/cmp.c:2748,1
    - Dst: opt_next
      Src: /src/openssl/apps/cmp.c:2748,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:2749,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:2761,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2652
    functionDepth: 4
    functionLinenumber: 2652
    functionLinenumberEnd: 2781
    functionName: read_config
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - opt_printf_stderr
    - opt_provider
    - opt_next
    - opt_init
    - ERR_clear_error
    - OPENSSL_assert
    - CMP_err2
    - BIO_snprintf
    - OSSL_NELEM
    - opt_verify
    - strcmp
    - conf_get_string
    - conf_get_number_e
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int read_config(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_arg
      Src: /src/openssl/apps/cmp.c:2785,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2788,1
    - Dst: opt_flag
      Src: /src/openssl/apps/cmp.c:2789,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:2792,1
    - Dst: opt_flag
      Src: /src/openssl/apps/cmp.c:2792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2783
    functionDepth: 1
    functionLinenumber: 2783
    functionLinenumberEnd: 2795
    functionName: opt_str
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - opt_arg
    - CMP_warn1
    - opt_flag
    linkageType: ''
    returnType: char
    signature: char *opt_str(void)
  - BBCount: 135
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/cmp.c:2802,1
    - Dst: opt_next
      Src: /src/openssl/apps/cmp.c:2804,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:2809,1
    - Dst: opt_help
      Src: /src/openssl/apps/cmp.c:2812,1
    - Dst: set_verbosity
      Src: /src/openssl/apps/cmp.c:2818,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:2818,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2823,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2826,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2829,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2833,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2836,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:2839,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:2841,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:2846,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:2849,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2856,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2859,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2862,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2865,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2868,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2871,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2876,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2879,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2882,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2885,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2888,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2891,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2894,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2897,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2900,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2907,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2910,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2913,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2916,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2928,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2931,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2934,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2937,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2940,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2943,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2946,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2949,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2952,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2955,1
    - Dst: opt_verify
      Src: /src/openssl/apps/cmp.c:2959,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2963,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2966,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2969,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2972,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2975,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2978,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2981,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2984,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2990,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2993,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:2996,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:2999,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3002,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3008,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3011,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3017,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3020,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3025,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3028,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3037,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3040,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3043,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3046,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3050,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3055,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3058,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3061,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3064,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3067,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3070,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3074,1
    - Dst: opt_provider
      Src: /src/openssl/apps/cmp.c:3078,1
    - Dst: opt_rand
      Src: /src/openssl/apps/cmp.c:3082,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3090,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3093,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3099,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3102,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3105,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3108,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3116,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3119,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3123,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3126,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3129,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3132,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3135,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3138,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3141,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3144,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3147,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3150,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3153,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3156,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3159,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3162,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3165,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3168,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3171,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3174,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3177,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3183,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3186,1
    - Dst: opt_int_arg
      Src: /src/openssl/apps/cmp.c:3189,1
    - Dst: opt_str
      Src: /src/openssl/apps/cmp.c:3192,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/cmp.c:3216,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 408
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 2798
    functionDepth: 2
    functionLinenumber: 2798
    functionLinenumberEnd: 3219
    functionName: get_opts
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - opt_help
    - opt_provider
    - opt_next
    - opt_init
    - opt_rand
    - CMP_err
    - opt_check_rest_arg
    - opt_int_arg
    - opt_verify
    - set_verbosity
    - opt_str
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int get_opts(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: http_server_init
      Src: /src/openssl/apps/cmp.c:3231,1
    - Dst: http_server_get_asn1_req
      Src: /src/openssl/apps/cmp.c:3238,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/cmp.c:3238,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/cmp.c:3244,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3257,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3257,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/cmp.c:3258,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3259,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:3261,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:3262,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:3265,1
    - Dst: OSSL_CMP_CTX_server_perform
      Src: /src/openssl/apps/cmp.c:3266,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:3267,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/cmp.c:3269,1
    - Dst: http_server_send_asn1_resp
      Src: /src/openssl/apps/cmp.c:3273,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/cmp.c:3275,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/cmp.c:3277,1
    - Dst: OSSL_CMP_CTX_set1_transactionID
      Src: /src/openssl/apps/cmp.c:3283,1
    - Dst: OSSL_CMP_CTX_set1_senderNonce
      Src: /src/openssl/apps/cmp.c:3284,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/apps/cmp.c:3287,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/cmp.c:3289,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/cmp.c:3294,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/cmp.c:3295,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - srv_cmp_ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3222
    functionDepth: 19
    functionLinenumber: 3222
    functionLinenumberEnd: 3297
    functionName: cmp_server
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - CMP_err1
    - OSSL_CMP_CTX_server_perform
    - http_server_send_status
    - http_server_send_asn1_resp
    - ASN1_ITEM_rptr
    - BIO_free_all
    - OSSL_sleep
    - http_server_init
    - OPENSSL_free
    - OSSL_CMP_CTX_set1_transactionID
    - OSSL_CMP_MSG_free
    - OSSL_CMP_CTX_set1_senderNonce
    - strcmp
    - OSSL_CMP_CTX_get_status
    - http_server_get_asn1_req
    linkageType: ''
    returnType: int
    signature: int cmp_server(OSSL_CMP_CTX *srv_cmp_ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CMP_info1
      Src: /src/openssl/apps/cmp.c:3309,1
    - Dst: BIO_new
      Src: /src/openssl/apps/cmp.c:3313,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/cmp.c:3313,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3315,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3318,1
    - Dst: sk_OSSL_CMP_ATAV_num
      Src: /src/openssl/apps/cmp.c:3320,1
    - Dst: sk_OSSL_CMP_ATAV_value
      Src: /src/openssl/apps/cmp.c:3321,1
    - Dst: OSSL_CMP_ATAV_get0_type
      Src: /src/openssl/apps/cmp.c:3322,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/cmp.c:3323,1
    - Dst: OSSL_CMP_ATAV_get0_algId
      Src: /src/openssl/apps/cmp.c:3328,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/apps/cmp.c:3333,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3334,1
    - Dst: i2a_ASN1_OBJECT
      Src: /src/openssl/apps/cmp.c:3335,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3337,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3339,1
    - Dst: ASN1_item_print
      Src: /src/openssl/apps/cmp.c:3340,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/apps/cmp.c:3341,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3346,1
    - Dst: OSSL_CMP_ATAV_get_rsaKeyLen
      Src: /src/openssl/apps/cmp.c:3347,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3350,1
    - Dst: nid_name
      Src: /src/openssl/apps/cmp.c:3350,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3354,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/apps/cmp.c:3356,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3358,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:3360,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:3361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - keySpec
    argTypes:
    - OSSL_CMP_ATAVS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3300
    functionDepth: 7
    functionLinenumber: 3300
    functionLinenumberEnd: 3363
    functionName: print_keyspec
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - sk_OSSL_CMP_ATAV_num
    - ASN1_item_print
    - BIO_get_mem_data
    - BIO_s_mem
    - BIO_new
    - CMP_err1
    - OBJ_obj2nid
    - BIO_printf
    - CMP_info1
    - OSSL_CMP_ATAV_get0_type
    - BIO_free
    - i2a_ASN1_OBJECT
    - OSSL_CMP_ATAV_get_rsaKeyLen
    - CMP_info2
    - X509_ALGOR_get0
    - ASN1_ITEM_rptr
    - sk_OSSL_CMP_ATAV_value
    - nid_name
    - OSSL_CMP_ATAV_get0_algId
    linkageType: ''
    returnType: void
    signature: void print_keyspec(OSSL_CMP_ATAVS *keySpec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/apps/cmp.c:3368,1
    - Dst: app_malloc
      Src: /src/openssl/apps/cmp.c:3369,1
    - Dst: OSSL_CMP_CTX_snprint_PKIStatus
      Src: /src/openssl/apps/cmp.c:3371,1
    - Dst: CMP_print
      Src: /src/openssl/apps/cmp.c:3380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:3391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3392
      start: 3365
    functionDepth: 3
    functionLinenumber: 3365
    functionLinenumberEnd: 3392
    functionName: print_status
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_CMP_CTX_snprint_PKIStatus
    - OSSL_CMP_CTX_get_status
    - CMP_print
    - app_malloc
    linkageType: ''
    returnType: void
    signature: void print_status(void)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:3397,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3400,1
    - Dst: OSSL_CMP_get1_caCerts
      Src: /src/openssl/apps/cmp.c:3404,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3409,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3410,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3411,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3424,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3428,1
    - Dst: load_cert_pwd
      Src: /src/openssl/apps/cmp.c:3430,1
    - Dst: OSSL_CMP_get1_rootCaKeyUpdate
      Src: /src/openssl/apps/cmp.c:3435,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:3441,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3443,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3445,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3447,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3449,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3453,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3454,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3455,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3457,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3466,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3470,1
    - Dst: load_cert_pwd
      Src: /src/openssl/apps/cmp.c:3475,1
    - Dst: load_crl
      Src: /src/openssl/apps/cmp.c:3482,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/apps/cmp.c:3489,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/cmp.c:3489,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/cmp.c:3490,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3492,1
    - Dst: OSSL_CMP_get1_crlUpdate
      Src: /src/openssl/apps/cmp.c:3495,1
    - Dst: CMP_info
      Src: /src/openssl/apps/cmp.c:3499,1
    - Dst: save_crl_or_delete
      Src: /src/openssl/apps/cmp.c:3500,1
    - Dst: X509_free
      Src: /src/openssl/apps/cmp.c:3506,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/cmp.c:3507,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/cmp.c:3508,1
    - Dst: OSSL_CMP_get1_certReqTemplate
      Src: /src/openssl/apps/cmp.c:3516,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3520,1
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:3521,1
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:3524,1
    - Dst: save_template
      Src: /src/openssl/apps/cmp.c:3528,1
    - Dst: print_keyspec
      Src: /src/openssl/apps/cmp.c:3531,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3534,1
    - Dst: delete_file
      Src: /src/openssl/apps/cmp.c:3535,1
    - Dst: save_keyspec
      Src: /src/openssl/apps/cmp.c:3537,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_free
      Src: /src/openssl/apps/cmp.c:3544,1
    - Dst: sk_OSSL_CMP_ATAV_pop_free
      Src: /src/openssl/apps/cmp.c:3545,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:3549,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3552,1
    - Dst: OSSL_CMP_ITAV_create
      Src: /src/openssl/apps/cmp.c:3555,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/cmp.c:3555,1
    - Dst: OSSL_CMP_CTX_push0_genm_ITAV
      Src: /src/openssl/apps/cmp.c:3556,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3557,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/openssl/apps/cmp.c:3563,1
    - Dst: print_itavs
      Src: /src/openssl/apps/cmp.c:3564,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/apps/cmp.c:3566,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/apps/cmp.c:3569,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3570,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 140
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_CMP_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3394
    functionDepth: 8
    functionLinenumber: 3394
    functionLinenumberEnd: 3573
    functionName: do_genm
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - save_crl_or_delete
    - OSSL_CRMF_CERTTEMPLATE_free
    - save_keyspec
    - OSSL_CMP_get1_crlUpdate
    - OSSL_CMP_ITAV_create
    - X509_CRL_free
    - X509_free
    - CMP_err1
    - OSSL_CMP_get1_rootCaKeyUpdate
    - CMP_warn
    - sk_OSSL_CMP_ATAV_pop_free
    - save_cert_or_delete
    - CMP_warn1
    - OBJ_nid2obj
    - delete_file
    - X509_get_issuer_name
    - CMP_err
    - sk_OSSL_CMP_ITAV_pop_free
    - STACK_OF
    - OSSL_CMP_get1_certReqTemplate
    - OSSL_CMP_exec_GENM_ses
    - save_template
    - load_crl
    - OSSL_CMP_CTX_get_status
    - CMP_info
    - OSSL_CMP_get1_caCerts
    - OSSL_CMP_CTX_push0_genm_ITAV
    - load_cert_pwd
    - print_keyspec
    - save_free_certs
    - X509_NAME_cmp
    - X509_CRL_get_issuer
    - print_itavs
    linkageType: ''
    returnType: int
    signature: int do_genm(OSSL_CMP_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_appname
      Src: /src/openssl/apps/cmp.c:3579,1
    - Dst: opt_help
      Src: /src/openssl/apps/cmp.c:3581,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3588,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3590,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3593,1
    - Dst: set_verbosity
      Src: /src/openssl/apps/cmp.c:3595,1
    - Dst: atoi
      Src: /src/openssl/apps/cmp.c:3595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3602
      start: 3575
    functionDepth: 2
    functionLinenumber: 3575
    functionLinenumberEnd: 3602
    functionName: handle_opts_upfront
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - opt_help
    - atoi
    - opt_appname
    - set_verbosity
    - strcmp
    linkageType: ''
    returnType: int
    signature: int handle_opts_upfront(int argc, char **argv)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: handle_opts_upfront
      Src: /src/openssl/apps/cmp.c:3613,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/apps/cmp.c:3616,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3618,1
    - Dst: access
      Src: /src/openssl/apps/cmp.c:3626,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:3627,1
    - Dst: app_load_config
      Src: /src/openssl/apps/cmp.c:3629,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3633,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/cmp.c:3634,1
    - Dst: CMP_info2
      Src: /src/openssl/apps/cmp.c:3635,1
    - Dst: strlen
      Src: /src/openssl/apps/cmp.c:3639,1
    - Dst: prev_item
      Src: /src/openssl/apps/cmp.c:3641,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/cmp.c:3642,1
    - Dst: CMP_err2
      Src: /src/openssl/apps/cmp.c:3643,1
    - Dst: read_config
      Src: /src/openssl/apps/cmp.c:3649,1
    - Dst: set_verbosity
      Src: /src/openssl/apps/cmp.c:3650,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/cmp.c:3654,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/cmp.c:3659,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/apps/cmp.c:3661,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:3661,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:3661,1
    - Dst: get_opts
      Src: /src/openssl/apps/cmp.c:3665,1
    - Dst: app_RAND_load
      Src: /src/openssl/apps/cmp.c:3670,1
    - Dst: set_base_ui_method
      Src: /src/openssl/apps/cmp.c:3674,1
    - Dst: UI_null
      Src: /src/openssl/apps/cmp.c:3674,1
    - Dst: setup_engine_methods
      Src: /src/openssl/apps/cmp.c:3677,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3680,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/apps/cmp.c:3685,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/apps/cmp.c:3686,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3687,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3696,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3698,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3702,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3706,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3710,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3714,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3719,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:3725,1
    - Dst: OSSL_CMP_CTX_set_option
      Src: /src/openssl/apps/cmp.c:3727,1
    - Dst: defined
      Src: /src/openssl/apps/cmp.c:3731,1
    - Dst: defined
      Src: /src/openssl/apps/cmp.c:3731,1
    - Dst: setup_srv_ctx
      Src: /src/openssl/apps/cmp.c:3737,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/apps/cmp.c:3739,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/apps/cmp.c:3740,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/apps/cmp.c:3741,1
    - Dst: CMP_err1
      Src: /src/openssl/apps/cmp.c:3742,1
    - Dst: OSSL_CMP_CTX_set_log_verbosity
      Src: /src/openssl/apps/cmp.c:3745,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3750,1
    - Dst: cmp_server
      Src: /src/openssl/apps/cmp.c:3755,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3766,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3769,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3771,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3773,1
    - Dst: CMP_warn1
      Src: /src/openssl/apps/cmp.c:3775,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3780,1
    - Dst: CMP_warn
      Src: /src/openssl/apps/cmp.c:3782,1
    - Dst: setup_client_ctx
      Src: /src/openssl/apps/cmp.c:3786,1
    - Dst: CMP_err
      Src: /src/openssl/apps/cmp.c:3787,1
    - Dst: OSSL_CMP_exec_IR_ses
      Src: /src/openssl/apps/cmp.c:3794,1
    - Dst: OSSL_CMP_exec_KUR_ses
      Src: /src/openssl/apps/cmp.c:3799,1
    - Dst: OSSL_CMP_exec_CR_ses
      Src: /src/openssl/apps/cmp.c:3804,1
    - Dst: OSSL_CMP_exec_P10CR_ses
      Src: /src/openssl/apps/cmp.c:3809,1
    - Dst: OSSL_CMP_exec_RR_ses
      Src: /src/openssl/apps/cmp.c:3814,1
    - Dst: do_genm
      Src: /src/openssl/apps/cmp.c:3817,1
    - Dst: OSSL_CMP_CTX_get_status
      Src: /src/openssl/apps/cmp.c:3821,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/cmp.c:3825,1
    - Dst: print_status
      Src: /src/openssl/apps/cmp.c:3830,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3831,1
    - Dst: OSSL_CMP_CTX_get0_validatedSrvCert
      Src: /src/openssl/apps/cmp.c:3831,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3837,1
    - Dst: OSSL_CMP_CTX_get1_extraCertsIn
      Src: /src/openssl/apps/cmp.c:3837,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/cmp.c:3842,1
    - Dst: OSSL_CMP_CTX_get1_newChain
      Src: /src/openssl/apps/cmp.c:3842,1
    - Dst: strcmp
      Src: /src/openssl/apps/cmp.c:3846,1
    - Dst: X509_add_cert
      Src: /src/openssl/apps/cmp.c:3847,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/apps/cmp.c:3849,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3852,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3855,1
    - Dst: save_cert_or_delete
      Src: /src/openssl/apps/cmp.c:3856,1
    - Dst: save_free_certs
      Src: /src/openssl/apps/cmp.c:3859,1
    - Dst: OSSL_CMP_CTX_get1_caPubs
      Src: /src/openssl/apps/cmp.c:3859,1
    - Dst: OSSL_CMP_CTX_get0_newPkey
      Src: /src/openssl/apps/cmp.c:3867,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/cmp.c:3871,1
    - Dst: get_passwd
      Src: /src/openssl/apps/cmp.c:3874,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/apps/cmp.c:3876,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/cmp.c:3876,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/cmp.c:3876,1
    - Dst: CMP_info1
      Src: /src/openssl/apps/cmp.c:3879,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/openssl/apps/cmp.c:3880,1
    - Dst: BIO_free
      Src: /src/openssl/apps/cmp.c:3884,1
    - Dst: clear_free
      Src: /src/openssl/apps/cmp.c:3885,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/cmp.c:3886,1
    - Dst: OSSL_CMP_CTX_reinit
      Src: /src/openssl/apps/cmp.c:3891,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3898,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3899,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3900,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3902,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3904,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3905,1
    - Dst: cleanse
      Src: /src/openssl/apps/cmp.c:3906,1
    - Dst: OSSL_CMP_CTX_print_errors
      Src: /src/openssl/apps/cmp.c:3909,1
    - Dst: OSSL_CMP_CTX_get_http_cb_arg
      Src: /src/openssl/apps/cmp.c:3913,1
    - Dst: OSSL_CMP_CTX_set_http_cb_arg
      Src: /src/openssl/apps/cmp.c:3915,1
    - Dst: ossl_cmp_mock_srv_free
      Src: /src/openssl/apps/cmp.c:3917,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/openssl/apps/cmp.c:3917,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/cmp.c:3918,1
    - Dst: OSSL_CMP_CTX_get_certConf_cb_arg
      Src: /src/openssl/apps/cmp.c:3918,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/apps/cmp.c:3920,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:3923,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/cmp.c:3924,1
    - Dst: APP_HTTP_TLS_INFO_free
      Src: /src/openssl/apps/cmp.c:3925,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/apps/cmp.c:3929,1
    - Dst: release_engine
      Src: /src/openssl/apps/cmp.c:3930,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/cmp.c:3932,1
    - Dst: OSSL_CMP_log_close
      Src: /src/openssl/apps/cmp.c:3933,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 276
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3936
      start: 3604
    functionDepth: 21
    functionLinenumber: 3604
    functionLinenumberEnd: 3936
    functionName: cmp_main
    functionSourceFile: /src/openssl/apps/cmp.c
    functionUses: 0
    functionsReached:
    - setup_srv_ctx
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - setup_engine_methods
    - do_genm
    - set_base_ui_method
    - strcmp
    - cleanse
    - app_get0_propq
    - CMP_info1
    - X509_VERIFY_PARAM_free
    - sk_X509_pop_free
    - cmp_server
    - OSSL_CMP_CTX_get_transfer_cb_arg
    - OSSL_CMP_CTX_get_certConf_cb_arg
    - X509_add_cert
    - release_engine
    - OSSL_CMP_exec_IR_ses
    - OPENSSL_free
    - NCONF_free
    - access
    - ERR_clear_error
    - OSSL_CMP_exec_P10CR_ses
    - OSSL_CMP_CTX_get_http_cb_arg
    - OSSL_CMP_CTX_get1_newChain
    - EVP_CIPHER_free
    - save_cert_or_delete
    - PEM_write_bio_PrivateKey
    - bio_open_owner
    - OSSL_CMP_CTX_set_option
    - print_status
    - OSSL_CMP_CTX_get1_caPubs
    - APP_HTTP_TLS_INFO_free
    - OSSL_CMP_CTX_print_errors
    - OSSL_CMP_exec_RR_ses
    - OSSL_CMP_CTX_get0_validatedSrvCert
    - app_get0_libctx
    - OSSL_CMP_log_close
    - OSSL_CMP_CTX_set_log_cb
    - setup_client_ctx
    - X509_STORE_free
    - strlen
    - app_RAND_load
    - CMP_err1
    - get_passwd
    - read_config
    - OSSL_CMP_exec_KUR_ses
    - prev_item
    - OSSL_CMP_CTX_free
    - BIO_printf
    - BIO_free
    - CMP_err
    - CMP_info2
    - defined
    - app_load_config
    - NCONF_get_section
    - set_verbosity
    - handle_opts_upfront
    - BIO_flush
    - CMP_warn
    - X509_VERIFY_PARAM_new
    - OSSL_CMP_CTX_set_log_verbosity
    - CMP_warn1
    - OSSL_CMP_CTX_get1_extraCertsIn
    - OSSL_CMP_CTX_set_http_cb_arg
    - get_opts
    - OSSL_CMP_exec_CR_ses
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - STACK_OF
    - clear_free
    - EVP_CIPHER_fetch
    - OSSL_CMP_CTX_get_status
    - OSSL_CMP_CTX_new
    - OSSL_CMP_CTX_reinit
    - ossl_cmp_mock_srv_free
    - CMP_err2
    - save_free_certs
    - UI_null
    - OSSL_CMP_CTX_get0_newPkey
    linkageType: ''
    returnType: int
    signature: int cmp_main(int argc, char **argv)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: opt_init
      Src: /src/openssl/apps/version.c:60,1
    - Dst: opt_next
      Src: /src/openssl/apps/version.c:61,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/version.c:66,1
    - Dst: opt_help
      Src: /src/openssl/apps/version.c:69,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/version.c:116,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:123,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:124,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:126,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:126,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:128,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:128,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:130,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:131,1
    - Dst: BN_options
      Src: /src/openssl/apps/version.c:131,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:132,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:135,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:135,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:137,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:137,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:139,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:139,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:141,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:141,1
    - Dst: OPENSSL_info
      Src: /src/openssl/apps/version.c:143,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:144,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:147,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:147,1
    - Dst: printf
      Src: /src/openssl/apps/version.c:150,1
    - Dst: OpenSSL_version
      Src: /src/openssl/apps/version.c:150,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 155
    functionName: version_main
    functionSourceFile: /src/openssl/apps/version.c
    functionUses: 0
    functionsReached:
    - opt_help
    - opt_next
    - opt_init
    - opt_check_rest_arg
    - OpenSSL_version
    - OPENSSL_info
    - printf
    - BIO_printf
    - BN_options
    linkageType: ''
    returnType: int
    signature: int version_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: OPENSSL_VPROC_STRING_
    functionSourceFile: /src/openssl/apps/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_VPROC_STRING_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: OPENSSL_VPROC_STRING
    functionSourceFile: /src/openssl/apps/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_VPROC_STRING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: OPENSSL_VPROC_FUNC
    functionSourceFile: /src/openssl/apps/version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_VPROC_FUNC(void)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: opt_set_unknown_name
      Src: /src/openssl/apps/dsa.c:95,1
    - Dst: opt_init
      Src: /src/openssl/apps/dsa.c:96,1
    - Dst: opt_next
      Src: /src/openssl/apps/dsa.c:97,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:103,1
    - Dst: opt_help
      Src: /src/openssl/apps/dsa.c:106,1
    - Dst: opt_format
      Src: /src/openssl/apps/dsa.c:110,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:110,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:114,1
    - Dst: opt_format
      Src: /src/openssl/apps/dsa.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:121,1
    - Dst: setup_engine
      Src: /src/openssl/apps/dsa.c:124,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:124,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:127,1
    - Dst: opt_arg
      Src: /src/openssl/apps/dsa.c:130,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/dsa.c:155,1
    - Dst: opt_provider
      Src: /src/openssl/apps/dsa.c:158,1
    - Dst: opt_check_rest_arg
      Src: /src/openssl/apps/dsa.c:165,1
    - Dst: opt_cipher
      Src: /src/openssl/apps/dsa.c:168,1
    - Dst: app_passwd
      Src: /src/openssl/apps/dsa.c:172,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:173,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:177,1
    - Dst: load_pubkey
      Src: /src/openssl/apps/dsa.c:179,1
    - Dst: load_key
      Src: /src/openssl/apps/dsa.c:181,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:184,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsa.c:185,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/dsa.c:188,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:189,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/dsa.c:193,1
    - Dst: assert
      Src: /src/openssl/apps/dsa.c:198,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/apps/dsa.c:199,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/apps/dsa.c:200,1
    - Dst: perror
      Src: /src/openssl/apps/dsa.c:201,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsa.c:202,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/apps/dsa.c:210,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsa.c:211,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:214,1
    - Dst: BN_print
      Src: /src/openssl/apps/dsa.c:215,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:216,1
    - Dst: BN_free
      Src: /src/openssl/apps/dsa.c:217,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:224,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:233,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:238,1
    - Dst: assert
      Src: /src/openssl/apps/dsa.c:253,1
    - Dst: OSSL_ENCODER_CTX_new_for_pkey
      Src: /src/openssl/apps/dsa.c:259,1
    - Dst: OSSL_ENCODER_CTX_get_num_encoders
      Src: /src/openssl/apps/dsa.c:261,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:262,1
    - Dst: OSSL_ENCODER_CTX_set_cipher
      Src: /src/openssl/apps/dsa.c:268,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/apps/dsa.c:268,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase_ui
      Src: /src/openssl/apps/dsa.c:272,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/dsa.c:272,1
    - Dst: OSSL_ENCODER_CTX_set_passphrase
      Src: /src/openssl/apps/dsa.c:275,1
    - Dst: strlen
      Src: /src/openssl/apps/dsa.c:277,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/apps/dsa.c:284,1
    - Dst: OSSL_ENCODER_CTX_set_params
      Src: /src/openssl/apps/dsa.c:285,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:286,1
    - Dst: OSSL_ENCODER_to_bio
      Src: /src/openssl/apps/dsa.c:291,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/dsa.c:292,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/dsa.c:298,1
    - Dst: OSSL_ENCODER_CTX_free
      Src: /src/openssl/apps/dsa.c:299,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/dsa.c:300,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/dsa.c:301,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/dsa.c:302,1
    - Dst: release_engine
      Src: /src/openssl/apps/dsa.c:303,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dsa.c:304,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/dsa.c:305,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 201
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (private)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/openssl/apps/dsa.c
    - condition: (pubin || private)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/openssl/apps/dsa.c
    constantsTouched: []
    func_position:
      end: 307
      start: 77
    functionDepth: 11
    functionLinenumber: 77
    functionLinenumberEnd: 307
    functionName: dsa_main
    functionSourceFile: /src/openssl/apps/dsa.c
    functionUses: 0
    functionsReached:
    - load_pubkey
    - EVP_PKEY_is_a
    - OSSL_ENCODER_CTX_get_num_encoders
    - opt_check_rest_arg
    - OPENSSL_free
    - EVP_PKEY_get_bn_param
    - strlen
    - assert
    - OSSL_ENCODER_CTX_new_for_pkey
    - BN_print
    - BIO_free_all
    - EVP_PKEY_free
    - opt_unknown
    - EVP_CIPHER_free
    - BN_free
    - BIO_printf
    - perror
    - load_key
    - opt_provider
    - setup_engine
    - bio_open_owner
    - OSSL_ENCODER_CTX_free
    - opt_cipher
    - opt_arg
    - OSSL_ENCODER_CTX_set_passphrase
    - OSSL_ENCODER_to_bio
    - get_ui_method
    - opt_help
    - release_engine
    - opt_next
    - opt_init
    - EVP_PKEY_print_public
    - EVP_CIPHER_get0_name
    - app_passwd
    - opt_format
    - OSSL_ENCODER_CTX_set_passphrase_ui
    - OSSL_PARAM_construct_int
    - opt_set_unknown_name
    - ERR_print_errors
    - OSSL_ENCODER_CTX_set_cipher
    - OSSL_ENCODER_CTX_set_params
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: int dsa_main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: _UC
    functionSourceFile: /src/openssl/apps/include/apps.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _UC(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - filename
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: app_load_config
    functionSourceFile: /src/openssl/apps/include/apps.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: app_load_config(filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - filename
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: app_load_config_quiet
    functionSourceFile: /src/openssl/apps/include/apps.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: app_load_config_quiet(filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - uri
    - ','
    - format
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: load_cert
    functionSourceFile: /src/openssl/apps/include/apps.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: load_cert(uri, format, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - debug
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: setup_engine
    functionSourceFile: /src/openssl/apps/include/apps.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setup_engine(e, debug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: index_name_cmp_noconst
    functionSourceFile: /src/openssl/apps/include/apps.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: index_name_cmp_noconst(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: IS_NO_PROT_FLAG
    functionSourceFile: /src/openssl/apps/include/opt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NO_PROT_FLAG(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: OPT_SECTION
    functionSourceFile: /src/openssl/apps/include/opt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT_SECTION(sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: OPT_PARAMETERS
    functionSourceFile: /src/openssl/apps/include/opt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT_PARAMETERS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: SSL_VERSION_ALLOWS_RENEGOTIATION
    functionSourceFile: /src/openssl/apps/include/s_apps.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_VERSION_ALLOWS_RENEGOTIATION(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: FMT_istext
    functionSourceFile: /src/openssl/apps/lib/fmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FMT_istext(int format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new
      Src: /src/openssl/apps/lib/tlssrp_depr.c:29,1
    - Dst: BN_new
      Src: /src/openssl/apps/lib/tlssrp_depr.c:30,1
    - Dst: BN_new
      Src: /src/openssl/apps/lib/tlssrp_depr.c:31,1
    - Dst: BN_is_odd
      Src: /src/openssl/apps/lib/tlssrp_depr.c:33,1
    - Dst: BN_check_prime
      Src: /src/openssl/apps/lib/tlssrp_depr.c:34,1
    - Dst: BN_rshift1
      Src: /src/openssl/apps/lib/tlssrp_depr.c:35,1
    - Dst: BN_check_prime
      Src: /src/openssl/apps/lib/tlssrp_depr.c:37,1
    - Dst: BN_mod_exp
      Src: /src/openssl/apps/lib/tlssrp_depr.c:40,1
    - Dst: BN_add_word
      Src: /src/openssl/apps/lib/tlssrp_depr.c:41,1
    - Dst: BN_cmp
      Src: /src/openssl/apps/lib/tlssrp_depr.c:41,1
    - Dst: BN_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:43,1
    - Dst: BN_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:44,1
    - Dst: BN_CTX_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:45,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 5
    argCount: 2
    argNames:
    - N
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: srp_Verify_N_and_g
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 0
    functionsReached:
    - BN_cmp
    - BN_CTX_new
    - BN_rshift1
    - BN_is_odd
    - BN_CTX_free
    - BN_new
    - BN_add_word
    - BN_mod_exp
    - BN_free
    - BN_check_prime
    linkageType: ''
    returnType: int
    signature: int srp_Verify_N_and_g(const BIGNUM *N, const BIGNUM *g)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_srp_N
      Src: /src/openssl/apps/lib/tlssrp_depr.c:70,1
    - Dst: SSL_get_srp_g
      Src: /src/openssl/apps/lib/tlssrp_depr.c:70,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:73,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:74,1
    - Dst: BN_print
      Src: /src/openssl/apps/lib/tlssrp_depr.c:75,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:76,1
    - Dst: BN_print
      Src: /src/openssl/apps/lib/tlssrp_depr.c:77,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:78,1
    - Dst: SRP_check_known_gN_param
      Src: /src/openssl/apps/lib/tlssrp_depr.c:81,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:86,1
    - Dst: BN_num_bits
      Src: /src/openssl/apps/lib/tlssrp_depr.c:94,1
    - Dst: srp_Verify_N_and_g
      Src: /src/openssl/apps/lib/tlssrp_depr.c:94,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 6
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: ssl_srp_verify_param_cb
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 0
    functionsReached:
    - srp_Verify_N_and_g
    - SRP_check_known_gN_param
    - BN_print
    - SSL_get_srp_g
    - SSL_get_srp_N
    - BN_num_bits
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ssl_srp_verify_param_cb(SSL *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/tlssrp_depr.c:106,1
    - Dst: password_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:112,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:113,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: ssl_give_srp_client_pwd_cb
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - password_callback
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: char
    signature: char *ssl_give_srp_client_pwd_cb(SSL *s, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_srp_username
      Src: /src/openssl/apps/lib/tlssrp_depr.c:125,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:126,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/apps/lib/tlssrp_depr.c:131,1
    - Dst: SSL_CTX_set_srp_client_pwd_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:132,1
    - Dst: SSL_CTX_set_srp_strength
      Src: /src/openssl/apps/lib/tlssrp_depr.c:133,1
    - Dst: SSL_CTX_set_srp_verify_param_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - ctx
    - srp_arg
    - srp_lateuser
    - c_msg
    - c_debug
    argTypes:
    - SSL_CTX*
    - SRP_ARG*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: set_up_srp_arg
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_srp_verify_param_callback
    - SSL_CTX_set_srp_strength
    - SSL_CTX_set_srp_cb_arg
    - BIO_printf
    - SSL_CTX_set_srp_username
    - SSL_CTX_set_srp_client_pwd_callback
    linkageType: ''
    returnType: int
    signature: "int set_up_srp_arg(SSL_CTX *ctx, SRP_ARG *srp_arg, int srp_lateuser,
      int c_msg,\n                   int c_debug)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: dummy_srp
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dummy_srp(SSL *ssl, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_srp_client_pwd_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: set_up_dummy_srp
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_srp_client_pwd_callback
    linkageType: ''
    returnType: void
    signature: void set_up_dummy_srp(SSL_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_srp_username
      Src: /src/openssl/apps/lib/tlssrp_depr.c:164,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:165,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:170,1
    - Dst: SSL_set_srp_server_param
      Src: /src/openssl/apps/lib/tlssrp_depr.c:174,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:180,1
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - s
    - ad
    - arg
    argTypes:
    - SSL*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 190
    functionName: ssl_srp_server_param_cb
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 0
    functionsReached:
    - SSL_get_srp_username
    - SSL_set_srp_server_param
    - SRP_user_pwd_free
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ssl_srp_server_param_cb(SSL *s, int *ad, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SRP_VBASE_new
      Src: /src/openssl/apps/lib/tlssrp_depr.c:197,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:202,1
    - Dst: SRP_VBASE_init
      Src: /src/openssl/apps/lib/tlssrp_depr.c:206,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:208,1
    - Dst: SSL_CTX_set_verify
      Src: /src/openssl/apps/lib/tlssrp_depr.c:213,1
    - Dst: SSL_CTX_set_srp_cb_arg
      Src: /src/openssl/apps/lib/tlssrp_depr.c:214,1
    - Dst: SSL_CTX_set_srp_username_callback
      Src: /src/openssl/apps/lib/tlssrp_depr.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - srp_callback_parm
    - srpuserseed
    - srp_verifier_file
    argTypes:
    - SSL_CTX*
    - srpsrvparm*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 192
    functionDepth: 8
    functionLinenumber: 192
    functionLinenumberEnd: 218
    functionName: set_up_srp_verifier_file
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_srp_username_callback
    - SSL_CTX_set_srp_cb_arg
    - SRP_VBASE_init
    - SSL_CTX_set_verify
    - SRP_VBASE_new
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int set_up_srp_verifier_file(SSL_CTX *ctx, srpsrvparm *srp_callback_parm,\n
      \                            char *srpuserseed, char *srp_verifier_file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SRP_user_pwd_free
      Src: /src/openssl/apps/lib/tlssrp_depr.c:222,1
    - Dst: SRP_VBASE_get1_by_user
      Src: /src/openssl/apps/lib/tlssrp_depr.c:223,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/tlssrp_depr.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - srp_callback_parm
    - bio_s_out
    argTypes:
    - srpsrvparm*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 11
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: lookup_srp_user
    functionSourceFile: /src/openssl/apps/lib/tlssrp_depr.c
    functionUses: 4
    functionsReached:
    - SRP_VBASE_get1_by_user
    - SRP_user_pwd_free
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void lookup_srp_user(srpsrvparm *srp_callback_parm, BIO *bio_s_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/vms_decc_argv.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: cleanup_argv
    functionSourceFile: /src/openssl/apps/lib/vms_decc_argv.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_argv(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_argv
      Src: /src/openssl/apps/lib/vms_decc_argv.c:51,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/apps/lib/vms_decc_argv.c:59,1
    - Dst: OPENSSL_atexit
      Src: /src/openssl/apps/lib/vms_decc_argv.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 72
    functionName: copy_argv
    functionSourceFile: /src/openssl/apps/lib/vms_decc_argv.c
    functionUses: 2
    functionsReached:
    - cleanup_argv
    - OPENSSL_malloc_array
    - OPENSSL_atexit
    linkageType: ''
    returnType: char
    signature: char **copy_argv(int *argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/lib/app_rand.c:22,1
    - Dst: RAND_load_file
      Src: /src/openssl/apps/lib/app_rand.c:26,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_rand.c:27,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/app_rand.c:28,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/app_rand.c:31,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_rand.c:34,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/app_rand.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - c
    - section
    argTypes:
    - CONF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: app_RAND_load_conf
    functionSourceFile: /src/openssl/apps/lib/app_rand.c
    functionUses: 3
    functionsReached:
    - RAND_load_file
    - OPENSSL_strdup
    - ERR_print_errors
    - app_conf_try_string
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void app_RAND_load_conf(CONF *c, const char *section)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_load_file
      Src: /src/openssl/apps/lib/app_rand.c:52,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_rand.c:53,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/app_rand.c:54,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: loadfiles
    functionSourceFile: /src/openssl/apps/lib/app_rand.c
    functionUses: 0
    functionsReached:
    - RAND_load_file
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int loadfiles(char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_num
      Src: /src/openssl/apps/lib/app_rand.c:71,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/openssl/apps/lib/app_rand.c:72,1
    - Dst: loadfiles
      Src: /src/openssl/apps/lib/app_rand.c:73,1
    - Dst: sk_OPENSSL_STRING_free
      Src: /src/openssl/apps/lib/app_rand.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: app_RAND_load
    functionSourceFile: /src/openssl/apps/lib/app_rand.c
    functionUses: 24
    functionsReached:
    - sk_OPENSSL_STRING_value
    - sk_OPENSSL_STRING_free
    - loadfiles
    - sk_OPENSSL_STRING_num
    linkageType: ''
    returnType: int
    signature: int app_RAND_load(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_write_file
      Src: /src/openssl/apps/lib/app_rand.c:86,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_rand.c:87,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/app_rand.c:88,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_rand.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: app_RAND_write
    functionSourceFile: /src/openssl/apps/lib/app_rand.c
    functionUses: 1
    functionsReached:
    - RAND_write_file
    - OPENSSL_free
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int app_RAND_write(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sk_OPENSSL_STRING_new_null
      Src: /src/openssl/apps/lib/app_rand.c:110,1
    - Dst: sk_OPENSSL_STRING_push
      Src: /src/openssl/apps/lib/app_rand.c:112,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_rand.c:112,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_rand.c:116,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/app_rand.c:117,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_rand.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - opt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: opt_rand
    functionSourceFile: /src/openssl/apps/lib/app_rand.c
    functionUses: 24
    functionsReached:
    - sk_OPENSSL_STRING_push
    - sk_OPENSSL_STRING_new_null
    - OPENSSL_free
    - OPENSSL_strdup
    - opt_arg
    linkageType: ''
    returnType: int
    signature: int opt_rand(int opt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: opt_path_end
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *opt_path_end(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_path_end
      Src: /src/openssl/apps/lib/opt.c:73,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:76,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:78,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:78,1
    - Dst: tolower
      Src: /src/openssl/apps/lib/opt.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: opt_progname
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - strcmp
    - strlen
    - opt_path_end
    - tolower
    linkageType: ''
    returnType: char
    signature: char *opt_progname(const char *argv0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: opt_path_end
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *opt_path_end(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_path_end
      Src: /src/openssl/apps/lib/opt.c:110,1
    - Dst: strrchr
      Src: /src/openssl/apps/lib/opt.c:111,1
    - Dst: strncpy
      Src: /src/openssl/apps/lib/opt.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: opt_progname
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - strrchr
    - opt_path_end
    - strncpy
    linkageType: ''
    returnType: char
    signature: char *opt_progname(const char *argv0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: opt_path_end
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 3
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *opt_path_end(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_path_end
      Src: /src/openssl/apps/lib/opt.c:139,1
    - Dst: strncpy
      Src: /src/openssl/apps/lib/opt.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: opt_progname
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - strncpy
    - opt_path_end
    linkageType: ''
    returnType: char
    signature: char *opt_progname(const char *argv0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:149,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/opt.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: opt_appname
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - BIO_snprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: char *opt_appname(const char *argv0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: opt_getprog
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *opt_getprog(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: opt_begin
      Src: /src/openssl/apps/lib/opt.c:167,1
    - Dst: opt_progname
      Src: /src/openssl/apps/lib/opt.c:171,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:188,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:190,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:192,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:200,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:209,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:211,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:213,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:218,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:219,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:221,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - ac
    - av
    - o
    argTypes:
    - int
    - char**
    - OPTIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 225
    functionName: opt_init
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 57
    functionsReached:
    - opt_printf_stderr
    - opt_progname
    - OPENSSL_assert
    - opt_begin
    - strcmp
    linkageType: ''
    returnType: char
    signature: char *opt_init(int ac, char **av, const OPTIONS *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: opt_set_unknown_name
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void opt_set_unknown_name(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:252,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:255,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: opt_format_error
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached:
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: int opt_format_error(const char *s, unsigned long flags)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:266,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:271,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:271,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:272,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:272,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:274,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:283,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:289,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:295,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:296,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:296,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:297,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:303,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:309,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:315,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:321,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:326,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:331,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:331,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:333,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:335,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:335,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:337,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:339,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:339,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:340,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:340,1
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:342,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:345,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 87
    argCount: 3
    argNames:
    - s
    - flags
    - result
    argTypes:
    - char*
    - unsigned long
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 351
    functionName: opt_format
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 26
    functionsReached:
    - strcmp
    - opt_printf_stderr
    - opt_format_error
    linkageType: ''
    returnType: int
    signature: int opt_format(const char *s, unsigned long flags, int *result)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 380
    functionName: format2str
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *format2str(int format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_format_error
      Src: /src/openssl/apps/lib/opt.c:385,1
    - Dst: format2str
      Src: /src/openssl/apps/lib/opt.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - format
    - flags
    argTypes:
    - int
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: print_format_error
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached:
    - format2str
    - opt_format_error
    linkageType: ''
    returnType: void
    signature: void print_format_error(int format, unsigned long flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/opt.c:396,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/apps/lib/opt.c:397,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/opt.c:397,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/opt.c:398,1
    - Dst: opt_legacy_okay
      Src: /src/openssl/apps/lib/opt.c:399,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/apps/lib/opt.c:400,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/opt.c:401,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/lib/opt.c:403,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/apps/lib/opt.c:406,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/opt.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 412
    functionName: opt_cipher_silent
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - opt_legacy_okay
    - ERR_pop_to_mark
    - ERR_set_mark
    - app_get0_propq
    - EVP_CIPHER_fetch
    - app_get0_libctx
    - EVP_CIPHER_free
    - EVP_get_cipherbyname
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int opt_cipher_silent(const char *name, EVP_CIPHER **cipherp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_silent
      Src: /src/openssl/apps/lib/opt.c:420,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 423
    functionName: opt_cipher_any
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 4
    functionsReached:
    - opt_cipher_silent
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: int opt_cipher_any(const char *name, EVP_CIPHER **cipherp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opt_cipher_any
      Src: /src/openssl/apps/lib/opt.c:433,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/apps/lib/opt.c:434,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/apps/lib/opt.c:435,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:437,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:439,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - name
    - cipherp
    argTypes:
    - char*
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 425
    functionDepth: 6
    functionLinenumber: 425
    functionLinenumberEnd: 449
    functionName: opt_cipher
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 9
    functionsReached:
    - opt_printf_stderr
    - opt_cipher_any
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: int opt_cipher(const char *name, EVP_CIPHER **cipherp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/opt.c:458,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/apps/lib/opt.c:459,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/opt.c:459,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/opt.c:459,1
    - Dst: opt_legacy_okay
      Src: /src/openssl/apps/lib/opt.c:460,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/apps/lib/opt.c:461,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/opt.c:462,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/lib/opt.c:464,1
    - Dst: EVP_MD_free
      Src: /src/openssl/apps/lib/opt.c:467,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/opt.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - name
    - mdp
    argTypes:
    - char*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 454
    functionDepth: 10
    functionLinenumber: 454
    functionLinenumberEnd: 473
    functionName: opt_md_silent
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - EVP_MD_free
    - opt_legacy_okay
    - ERR_pop_to_mark
    - ERR_set_mark
    - app_get0_propq
    - app_get0_libctx
    - EVP_get_digestbyname
    - EVP_MD_fetch
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int opt_md_silent(const char *name, EVP_MD **mdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_md_silent
      Src: /src/openssl/apps/lib/opt.c:481,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - mdp
    argTypes:
    - char*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 11
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: opt_md
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 10
    functionsReached:
    - opt_md_silent
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: int opt_md(const char *name, EVP_MD **mdp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_md
      Src: /src/openssl/apps/lib/opt.c:489,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/opt.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 487
    functionDepth: 12
    functionLinenumber: 487
    functionLinenumberEnd: 493
    functionName: opt_check_md
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - opt_md
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int opt_check_md(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:501,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:505,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - name
    - pairs
    - result
    argTypes:
    - char*
    - OPT_PAIR*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 509
    functionName: opt_pair
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - strcmp
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: int opt_pair(const char *name, const OPT_PAIR* pairs, int *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:517,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:519,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - name
    - options
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 523
    functionName: opt_string
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 3
    functionsReached:
    - strcmp
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: int opt_string(const char *name, const char **options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opt_long
      Src: /src/openssl/apps/lib/opt.c:530,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 539
    functionName: opt_int
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 7
    functionsReached:
    - opt_printf_stderr
    - opt_long
    linkageType: ''
    returnType: int
    signature: int opt_int(const char *value, int *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_int
      Src: /src/openssl/apps/lib/opt.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: opt_int_arg
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 8
    functionsReached:
    - opt_int
    linkageType: ''
    returnType: int
    signature: int opt_int_arg(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/apps/lib/opt.c:562,1
    - Dst: strncmp
      Src: /src/openssl/apps/lib/opt.c:563,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:563,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:564,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 571
    functionName: opt_number_error
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - strlen
    - opt_printf_stderr
    - strncmp
    linkageType: ''
    returnType: void
    signature: void opt_number_error(const char *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/openssl/apps/lib/opt.c:581,1
    - Dst: opt_number_error
      Src: /src/openssl/apps/lib/opt.c:586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 593
    functionName: opt_long
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 5
    functionsReached:
    - strtol
    - opt_number_error
    linkageType: ''
    returnType: int
    signature: int opt_long(const char *value, long *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoimax
      Src: /src/openssl/apps/lib/opt.c:607,1
    - Dst: opt_number_error
      Src: /src/openssl/apps/lib/opt.c:613,1
    - Dst: opt_number_error
      Src: /src/openssl/apps/lib/opt.c:620,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - ossl_intmax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 626
    functionName: opt_intmax
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - strtoimax
    - opt_number_error
    linkageType: ''
    returnType: int
    signature: int opt_intmax(const char *value, ossl_intmax_t *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoumax
      Src: /src/openssl/apps/lib/opt.c:636,1
    - Dst: opt_number_error
      Src: /src/openssl/apps/lib/opt.c:641,1
    - Dst: opt_number_error
      Src: /src/openssl/apps/lib/opt.c:648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - ossl_uintmax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 654
    functionName: opt_uintmax
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached:
    - opt_number_error
    - strtoumax
    linkageType: ''
    returnType: int
    signature: int opt_uintmax(const char *value, ossl_uintmax_t *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_long
      Src: /src/openssl/apps/lib/opt.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - ossl_intmax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 665
    functionName: opt_intmax
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached:
    - opt_long
    linkageType: ''
    returnType: int
    signature: int opt_intmax(const char *value, ossl_intmax_t *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_ulong
      Src: /src/openssl/apps/lib/opt.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - ossl_uintmax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 675
    functionName: opt_uintmax
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached:
    - opt_ulong
    linkageType: ''
    returnType: int
    signature: int opt_uintmax(const char *value, ossl_uintmax_t *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/openssl/apps/lib/opt.c:688,1
    - Dst: opt_number_error
      Src: /src/openssl/apps/lib/opt.c:693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - value
    - result
    argTypes:
    - char*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 700
    functionName: opt_ulong
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - strtoul
    - opt_number_error
    linkageType: ''
    returnType: int
    signature: int opt_ulong(const char *value, unsigned long *result)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:717,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:718,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/opt.c:719,1
    - Dst: OBJ_txt2obj
      Src: /src/openssl/apps/lib/opt.c:726,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:726,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:728,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:728,1
    - Dst: X509_VERIFY_PARAM_add0_policy
      Src: /src/openssl/apps/lib/opt.c:731,1
    - Dst: ASN1_OBJECT_free
      Src: /src/openssl/apps/lib/opt.c:732,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:733,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:734,1
    - Dst: X509_PURPOSE_get_by_sname
      Src: /src/openssl/apps/lib/opt.c:740,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:740,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:742,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:742,1
    - Dst: X509_PURPOSE_get0
      Src: /src/openssl/apps/lib/opt.c:747,1
    - Dst: X509_PURPOSE_get_id
      Src: /src/openssl/apps/lib/opt.c:750,1
    - Dst: X509_VERIFY_PARAM_set_purpose
      Src: /src/openssl/apps/lib/opt.c:752,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:753,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:754,1
    - Dst: X509_VERIFY_PARAM_lookup
      Src: /src/openssl/apps/lib/opt.c:759,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:759,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:761,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:762,1
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/openssl/apps/lib/opt.c:765,1
    - Dst: atoi
      Src: /src/openssl/apps/lib/opt.c:768,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:768,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/apps/lib/opt.c:770,1
    - Dst: atoi
      Src: /src/openssl/apps/lib/opt.c:773,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:773,1
    - Dst: X509_VERIFY_PARAM_set_auth_level
      Src: /src/openssl/apps/lib/opt.c:775,1
    - Dst: opt_intmax
      Src: /src/openssl/apps/lib/opt.c:778,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:778,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:781,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:782,1
    - Dst: X509_VERIFY_PARAM_set_time
      Src: /src/openssl/apps/lib/opt.c:785,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/apps/lib/opt.c:788,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:788,1
    - Dst: X509_VERIFY_PARAM_set1_email
      Src: /src/openssl/apps/lib/opt.c:792,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:792,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/apps/lib/opt.c:796,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/opt.c:796,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:800,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:806,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:809,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:814,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:817,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:820,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:823,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:826,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:829,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:832,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:835,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:838,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:841,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:844,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:847,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:850,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:853,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:856,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:859,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/apps/lib/opt.c:862,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 136
    argCount: 2
    argNames:
    - opt
    - vpm
    argTypes:
    - int
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 709
    functionDepth: 7
    functionLinenumber: 709
    functionLinenumberEnd: 867
    functionName: opt_verify
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 9
    functionsReached:
    - X509_VERIFY_PARAM_set_depth
    - atoi
    - X509_PURPOSE_get_id
    - X509_PURPOSE_get_by_sname
    - opt_intmax
    - X509_VERIFY_PARAM_set_time
    - X509_VERIFY_PARAM_add0_policy
    - X509_VERIFY_PARAM_set1_ip_asc
    - X509_VERIFY_PARAM_set1_email
    - X509_VERIFY_PARAM_set_flags
    - X509_VERIFY_PARAM_lookup
    - opt_printf_stderr
    - OPENSSL_assert
    - opt_arg
    - X509_PURPOSE_get0
    - X509_VERIFY_PARAM_set1
    - X509_VERIFY_PARAM_set_auth_level
    - X509_VERIFY_PARAM_set1_host
    - X509_VERIFY_PARAM_set_purpose
    - OBJ_txt2obj
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: int
    signature: int opt_verify(int opt, X509_VERIFY_PARAM *vpm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 874
    functionName: opt_begin
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void opt_begin(void)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:902,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/opt.c:911,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:915,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:915,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/opt.c:916,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:922,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:932,1
    - Dst: opt_isdir
      Src: /src/openssl/apps/lib/opt.c:950,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:952,1
    - Dst: opt_int
      Src: /src/openssl/apps/lib/opt.c:963,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:966,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:971,1
    - Dst: opt_intmax
      Src: /src/openssl/apps/lib/opt.c:977,1
    - Dst: opt_uintmax
      Src: /src/openssl/apps/lib/opt.c:981,1
    - Dst: opt_long
      Src: /src/openssl/apps/lib/opt.c:985,1
    - Dst: opt_ulong
      Src: /src/openssl/apps/lib/opt.c:989,1
    - Dst: opt_format
      Src: /src/openssl/apps/lib/opt.c:998,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1005,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1015,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1022,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 1024
    functionName: opt_next
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 89
    functionsReached:
    - strchr
    - opt_printf_stderr
    - opt_long
    - opt_int
    - opt_ulong
    - opt_isdir
    - opt_format
    - strcmp
    - opt_uintmax
    - opt_intmax
    linkageType: ''
    returnType: int
    signature: int opt_next(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1030
    functionName: opt_arg
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *opt_arg(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: opt_flag
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *opt_flag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: opt_unknown
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *opt_unknown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1048
    functionName: reset_unknown
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_unknown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: opt_rest
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char **opt_rest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_rest
      Src: /src/openssl/apps/lib/opt.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: opt_num_rest
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 20
    functionsReached:
    - opt_rest
    linkageType: ''
    returnType: int
    signature: int opt_num_rest(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opt_rest
      Src: /src/openssl/apps/lib/opt.c:1069,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1074,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1081,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/lib/opt.c:1084,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1085,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1087,1
    - Dst: opt_unknown
      Src: /src/openssl/apps/lib/opt.c:1088,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - expected
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1090
    functionName: opt_check_rest_arg
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 41
    functionsReached:
    - opt_unknown
    - opt_rest
    - opt_printf_stderr
    linkageType: ''
    returnType: int
    signature: int opt_check_rest_arg(const char *expected)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - o
    argTypes:
    - OPTIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1131
    functionName: valtype2param
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *valtype2param(const OPTIONS *o)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1145,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1148,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1149,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1152,1
    - Dst: memset
      Src: /src/openssl/apps/lib/opt.c:1157,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1163,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1170,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1173,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1177,1
    - Dst: valtype2param
      Src: /src/openssl/apps/lib/opt.c:1177,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1182,1
    - Dst: memset
      Src: /src/openssl/apps/lib/opt.c:1183,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - o
    - doingparams
    - width
    argTypes:
    - OPTIONS*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1191
    functionName: opt_print
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 0
    functionsReached:
    - valtype2param
    - opt_printf_stderr
    - memset
    linkageType: ''
    returnType: void
    signature: void opt_print(const OPTIONS *o, int doingparams, int width)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:1207,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:1209,1
    - Dst: valtype2param
      Src: /src/openssl/apps/lib/opt.c:1209,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1219,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/opt.c:1221,1
    - Dst: opt_print
      Src: /src/openssl/apps/lib/opt.c:1228,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - list
    argTypes:
    - OPTIONS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1230
    functionName: opt_help
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 57
    functionsReached:
    - strlen
    - opt_printf_stderr
    - valtype2param
    - opt_print
    linkageType: ''
    returnType: void
    signature: void opt_help(const OPTIONS *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/opt.c:1239,1
    - Dst: MultiByteToWideChar
      Src: /src/openssl/apps/lib/opt.c:1246,1
    - Dst: GetFileAttributes
      Src: /src/openssl/apps/lib/opt.c:1251,1
    - Dst: GetFileAttributes
      Src: /src/openssl/apps/lib/opt.c:1253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1258
    functionName: opt_isdir
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - strlen
    - MultiByteToWideChar
    - GetFileAttributes
    linkageType: ''
    returnType: int
    signature: int opt_isdir(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1264
    functionName: S_ISDIR
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1266
    functionName: S_ISDIR
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/openssl/apps/lib/opt.c:1274,1
    - Dst: S_ISDIR
      Src: /src/openssl/apps/lib/opt.c:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1281
    functionName: opt_isdir
    functionSourceFile: /src/openssl/apps/lib/opt.c
    functionUses: 1
    functionsReached:
    - stat
    - S_ISDIR
    linkageType: ''
    returnType: int
    signature: int opt_isdir(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetConsoleOutputCP
      Src: /src/openssl/apps/lib/win32_init.c:25,1
    - Dst: free
      Src: /src/openssl/apps/lib/win32_init.c:28,1
    - Dst: free
      Src: /src/openssl/apps/lib/win32_init.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: cleanup
    functionSourceFile: /src/openssl/apps/lib/win32_init.c
    functionUses: 135
    functionsReached:
    - free
    - SetConsoleOutputCP
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/openssl/apps/lib/win32_init.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - argc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: validate_argv
    functionSourceFile: /src/openssl/apps/lib/win32_init.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int validate_argv(int argc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFileW
      Src: /src/openssl/apps/lib/win32_init.c:88,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:94,1
    - Dst: validate_argv
      Src: /src/openssl/apps/lib/win32_init.c:112,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:119,1
    - Dst: malloc
      Src: /src/openssl/apps/lib/win32_init.c:122,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:127,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:130,1
    - Dst: FindNextFileW
      Src: /src/openssl/apps/lib/win32_init.c:134,1
    - Dst: CloseHandle
      Src: /src/openssl/apps/lib/win32_init.c:136,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 2
    argNames:
    - wstr
    - wlen
    argTypes:
    - WCHAR*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 139
    functionName: process_glob
    functionSourceFile: /src/openssl/apps/lib/win32_init.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - WideCharToMultiByte
    - validate_argv
    - malloc
    - FindFirstFileW
    - FindNextFileW
    linkageType: ''
    returnType: int
    signature: int process_glob(WCHAR *wstr, int wlen)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableW
      Src: /src/openssl/apps/lib/win32_init.c:148,1
    - Dst: validate_argv
      Src: /src/openssl/apps/lib/win32_init.c:153,1
    - Dst: GetCommandLineW
      Src: /src/openssl/apps/lib/win32_init.c:156,1
    - Dst: wcslen
      Src: /src/openssl/apps/lib/win32_init.c:162,1
    - Dst: _alloca
      Src: /src/openssl/apps/lib/win32_init.c:163,1
    - Dst: memcpy
      Src: /src/openssl/apps/lib/win32_init.c:164,1
    - Dst: process_glob
      Src: /src/openssl/apps/lib/win32_init.c:251,1
    - Dst: validate_argv
      Src: /src/openssl/apps/lib/win32_init.c:252,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:259,1
    - Dst: malloc
      Src: /src/openssl/apps/lib/win32_init.c:265,1
    - Dst: WideCharToMultiByte
      Src: /src/openssl/apps/lib/win32_init.c:272,1
    - Dst: GetConsoleOutputCP
      Src: /src/openssl/apps/lib/win32_init.c:281,1
    - Dst: SetConsoleOutputCP
      Src: /src/openssl/apps/lib/win32_init.c:282,1
    - Dst: atexit
      Src: /src/openssl/apps/lib/win32_init.c:287,1
    - Dst: free
      Src: /src/openssl/apps/lib/win32_init.c:292,1
    - Dst: free
      Src: /src/openssl/apps/lib/win32_init.c:294,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char**[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 301
    functionName: win32_utf8argv
    functionSourceFile: /src/openssl/apps/lib/win32_init.c
    functionUses: 2
    functionsReached:
    - atexit
    - free
    - SetConsoleOutputCP
    - GetConsoleOutputCP
    - GetEnvironmentVariableW
    - memcpy
    - process_glob
    - WideCharToMultiByte
    - GetCommandLineW
    - validate_argv
    - malloc
    - _alloca
    - wcslen
    linkageType: ''
    returnType: void
    signature: void win32_utf8argv(int *argc, char **argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char**[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: win32_utf8argv
    functionSourceFile: /src/openssl/apps/lib/win32_init.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void win32_utf8argv(int *argc, char **argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/columns.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - functions
    - dc
    argTypes:
    - FUNCTION*
    - DISPLAY_COLUMNS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: calculate_columns
    functionSourceFile: /src/openssl/apps/lib/columns.c
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void calculate_columns(FUNCTION *functions, DISPLAY_COLUMNS *dc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/apps/lib/apps_opt_printf.c:20,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/apps_opt_printf.c:21,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/apps_opt_printf.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: opt_printf_stderr
    functionSourceFile: /src/openssl/apps/lib/apps_opt_printf.c
    functionUses: 19
    functionsReached:
    - va_end
    - BIO_vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int opt_printf_stderr(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/lib/engine_loader.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - e
    - keyid
    argTypes:
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: OSSL_STORE_LOADER_CTX_new
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX
    signature: OSSL_STORE_LOADER_CTX *OSSL_STORE_LOADER_CTX_new(ENGINE *e, char *keyid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_free
      Src: /src/openssl/apps/lib/engine_loader.c:59,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/engine_loader.c:60,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/engine_loader.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: OSSL_STORE_LOADER_CTX_free
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: void OSSL_STORE_LOADER_CTX_free(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_CASE_PREFIX
      Src: /src/openssl/apps/lib/engine_loader.c:75,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/engine_loader.c:79,1
    - Dst: strncpy
      Src: /src/openssl/apps/lib/engine_loader.c:86,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/apps/lib/engine_loader.c:88,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/engine_loader.c:90,1
    - Dst: OSSL_STORE_LOADER_CTX_new
      Src: /src/openssl/apps/lib/engine_loader.c:94,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/engine_loader.c:97,1
    - Dst: ENGINE_free
      Src: /src/openssl/apps/lib/engine_loader.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - loader
    - uri
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER*
    - char*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 65
    functionDepth: 7
    functionLinenumber: 65
    functionLinenumberEnd: 102
    functionName: engine_open
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 0
    functionsReached:
    - strncpy
    - strchr
    - ENGINE_free
    - CHECK_AND_SKIP_CASE_PREFIX
    - OSSL_STORE_LOADER_CTX_new
    - OPENSSL_free
    - OPENSSL_strdup
    - ENGINE_by_id
    linkageType: ''
    returnType: OSSL_STORE_LOADER_CTX
    signature: "OSSL_STORE_LOADER_CTX *engine_open(const OSSL_STORE_LOADER *loader,\n
      \                                         const char *uri,\n                                          const
      UI_METHOD *ui_method,\n                                          void *ui_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - expected
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: engine_expect
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int engine_expect(OSSL_STORE_LOADER_CTX *ctx, int expected)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/openssl/apps/lib/engine_loader.c:122,1
    - Dst: ENGINE_load_private_key
      Src: /src/openssl/apps/lib/engine_loader.c:126,1
    - Dst: ENGINE_load_public_key
      Src: /src/openssl/apps/lib/engine_loader.c:131,1
    - Dst: ENGINE_finish
      Src: /src/openssl/apps/lib/engine_loader.c:133,1
    - Dst: OSSL_STORE_INFO_new_PUBKEY
      Src: /src/openssl/apps/lib/engine_loader.c:140,1
    - Dst: OSSL_STORE_INFO_new_PKEY
      Src: /src/openssl/apps/lib/engine_loader.c:142,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/engine_loader.c:144,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/engine_loader.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - ui_method
    - ui_data
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    - UI_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 148
    functionName: engine_load
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 0
    functionsReached:
    - ENGINE_load_private_key
    - ENGINE_init
    - OSSL_STORE_INFO_new_PUBKEY
    - EVP_PKEY_free
    - ENGINE_load_public_key
    - ENGINE_finish
    - OSSL_STORE_INFO_new_PKEY
    linkageType: ''
    returnType: OSSL_STORE_INFO
    signature: "OSSL_STORE_INFO *engine_load(OSSL_STORE_LOADER_CTX *ctx,\n                                    const
      UI_METHOD *ui_method, void *ui_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: engine_eof
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int engine_eof(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: engine_error
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int engine_error(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_CTX_free
      Src: /src/openssl/apps/lib/engine_loader.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_STORE_LOADER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: engine_close
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_LOADER_CTX_free
    linkageType: ''
    returnType: int
    signature: int engine_close(OSSL_STORE_LOADER_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_LOADER_new
      Src: /src/openssl/apps/lib/engine_loader.c:170,1
    - Dst: OSSL_STORE_LOADER_set_open
      Src: /src/openssl/apps/lib/engine_loader.c:171,1
    - Dst: OSSL_STORE_LOADER_set_expect
      Src: /src/openssl/apps/lib/engine_loader.c:172,1
    - Dst: OSSL_STORE_LOADER_set_load
      Src: /src/openssl/apps/lib/engine_loader.c:173,1
    - Dst: OSSL_STORE_LOADER_set_eof
      Src: /src/openssl/apps/lib/engine_loader.c:174,1
    - Dst: OSSL_STORE_LOADER_set_error
      Src: /src/openssl/apps/lib/engine_loader.c:175,1
    - Dst: OSSL_STORE_LOADER_set_close
      Src: /src/openssl/apps/lib/engine_loader.c:176,1
    - Dst: OSSL_STORE_register_loader
      Src: /src/openssl/apps/lib/engine_loader.c:177,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/apps/lib/engine_loader.c:178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: setup_engine_loader
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_LOADER_set_error
    - OSSL_STORE_LOADER_set_expect
    - OSSL_STORE_LOADER_set_close
    - OSSL_STORE_LOADER_free
    - OSSL_STORE_register_loader
    - OSSL_STORE_LOADER_set_eof
    - OSSL_STORE_LOADER_new
    - OSSL_STORE_LOADER_set_load
    - OSSL_STORE_LOADER_set_open
    linkageType: ''
    returnType: int
    signature: int setup_engine_loader(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_STORE_unregister_loader
      Src: /src/openssl/apps/lib/engine_loader.c:187,1
    - Dst: OSSL_STORE_LOADER_free
      Src: /src/openssl/apps/lib/engine_loader.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: destroy_engine_loader
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 1
    functionsReached:
    - OSSL_STORE_LOADER_free
    - OSSL_STORE_unregister_loader
    linkageType: ''
    returnType: void
    signature: void destroy_engine_loader(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: setup_engine_loader
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int setup_engine_loader(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: destroy_engine_loader
    functionSourceFile: /src/openssl/apps/lib/engine_loader.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void destroy_engine_loader(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:42,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:43,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:44,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:45,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:46,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mock_srv_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: mock_srv_ctx_free
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - OSSL_CMP_PKISI_free
    - OSSL_STACK_OF_X509_free
    - X509_free
    - OPENSSL_free
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: void
    signature: void mock_srv_ctx_free(mock_srv_ctx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:53,1
    - Dst: OSSL_CMP_PKISI_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:58,1
    - Dst: mock_srv_ctx_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: mock_srv_ctx_new
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - mock_srv_ctx_free
    - OPENSSL_zalloc
    - OSSL_CMP_PKISI_new
    linkageType: ''
    returnType: mock_srv_ctx
    signature: mock_srv_ctx *mock_srv_ctx_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: DEFINE_OSSL_SET1_CERT
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_OSSL_SET1_CERT(FIELD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:96,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:99,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - srv_ctx
    - pkey
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: ossl_cmp_mock_srv_set1_keyOut
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - EVP_PKEY_up_ref
    - ERR_raise
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_mock_srv_set1_keyOut(OSSL_CMP_SRV_CTX *srv_ctx, EVP_PKEY
      *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:112,1
    - Dst: X509_CRL_up_ref
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:115,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - srv_ctx
    - crl
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: ossl_cmp_mock_srv_set1_crlOut
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 1
    functionsReached:
    - X509_CRL_up_ref
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    - X509_CRL_free
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_mock_srv_set1_crlOut(OSSL_CMP_SRV_CTX *srv_ctx,\n                                  X509_CRL
      *crl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:163,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:167,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:170,1
    - Dst: OSSL_CMP_PKISI_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - srv_ctx
    - status
    - fail_info
    - text
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 5
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: ossl_cmp_mock_srv_set_statusInfo
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_PKISI_free
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_cmp_mock_srv_set_statusInfo(OSSL_CMP_SRV_CTX *srv_ctx, int
      status,\n                                     int fail_info, const char *text)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - bodytype
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: ossl_cmp_mock_srv_set_sendError
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 3
    functionsReached:
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_mock_srv_set_sendError(OSSL_CMP_SRV_CTX *srv_ctx, int
      bodytype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:192,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:195,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - srv_ctx
    - count
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: ossl_cmp_mock_srv_set_pollCount
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 4
    functionsReached:
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_mock_srv_set_pollCount(OSSL_CMP_SRV_CTX *srv_ctx, int
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srv_ctx
    - sec
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: ossl_cmp_mock_srv_set_checkAfterTime
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 4
    functionsReached:
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_cmp_mock_srv_set_checkAfterTime(OSSL_CMP_SRV_CTX *srv_ctx,
      int sec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:221,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:222,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:225,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - srv_ctx
    - req
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 248
    functionName: delayed_delivery
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: int delayed_delivery(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG
      *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:259,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:260,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:261,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - refcert
    - issuer
    - serial
    argTypes:
    - X509*
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: refcert_cmp
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    - X509_get_issuer_name
    - X509_get0_serialNumber
    - ASN1_INTEGER_cmp
    linkageType: ''
    returnType: int
    signature: "int refcert_cmp(const X509 *refcert,\n                       const
      X509_NAME *issuer, const ASN1_INTEGER *serial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:272,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - srv_ctx
    - ASN1_OCTET_STRING *id
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: clean_transaction
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 1
    functionsReached:
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    - OSSL_CMP_MSG_free
    linkageType: ''
    returnType: int
    signature: "int clean_transaction(OSSL_CMP_SRV_CTX *srv_ctx,\n                             ossl_unused
      const ASN1_OCTET_STRING *id)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:291,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:298,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:303,1
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:313,1
    - Dst: OSSL_CMP_STATUSINFO_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:315,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:322,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:323,1
    - Dst: OSSL_CMP_HDR_get0_geninfo_ITAVs
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:324,1
    - Dst: OSSL_CMP_MSG_get0_header
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:324,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:327,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:328,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:329,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:330,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:334,1
    - Dst: OSSL_CMP_ITAV_get0_certProfile
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:335,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:337,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:338,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:341,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:344,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:345,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:348,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:349,1
    - Dst: OSSL_CRMF_MSG_get0_regCtrl_oldCertID
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:360,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:363,1
    - Dst: refcert_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:366,1
    - Dst: OSSL_CRMF_CERTID_get0_issuer
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:367,1
    - Dst: OSSL_CRMF_CERTID_get0_serialNumber
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:368,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:369,1
    - Dst: X509_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:375,1
    - Dst: OSSL_CRMF_MSG_centralkeygen_requested
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:379,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:384,1
    - Dst: OSSL_CMP_CTX_set0_newPkey
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:385,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:385,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:387,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:396,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:399,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:402,1
    - Dst: X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:407,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:409,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:411,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 85
    argCount: 8
    argNames:
    - srv_ctx
    - cert_req
    - certReqId
    - crm
    - p10cr
    - certOut
    - chainOut
    - caPubs
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - ossl_unused
    - OSSL_CRMF_MSG*
    - X509_REQ*
    - X509**
    - STACK_OF**
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 282
    functionDepth: 6
    functionLinenumber: 282
    functionLinenumberEnd: 414
    functionName: process_cert_request
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - ASN1_STRING_get0_data
    - OSSL_CRMF_MSG_centralkeygen_requested
    - X509_dup
    - X509_free
    - strcmp
    - sk_OSSL_CMP_ITAV_num
    - refcert_cmp
    - OSSL_CMP_MSG_dup
    - EVP_PKEY_free
    - OSSL_STACK_OF_X509_free
    - OSSL_CRMF_MSG_get0_regCtrl_oldCertID
    - OBJ_obj2nid
    - sk_ASN1_UTF8STRING_value
    - EVP_PKEY_dup
    - OSSL_CRMF_CERTID_get0_serialNumber
    - OSSL_CMP_MSG_get0_header
    - OSSL_CMP_ITAV_get0_type
    - sk_OSSL_CMP_ITAV_value
    - sk_ASN1_UTF8STRING_num
    - OSSL_CMP_PKISI_dup
    - STACK_OF
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - OSSL_CMP_ITAV_get0_certProfile
    - OSSL_CMP_CTX_set0_newPkey
    - X509_chain_up_ref
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_STATUSINFO_new
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CRMF_CERTID_get0_issuer
    - OSSL_CMP_HDR_get0_geninfo_ITAVs
    linkageType: ''
    returnType: OSSL_CMP_PKISI
    signature: "OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,\n
      \                                           const OSSL_CMP_MSG *cert_req,\n
      \                                           ossl_unused int certReqId,\n                                            const
      OSSL_CRMF_MSG *crm,\n                                            const X509_REQ
      *p10cr,\n                                            X509 **certOut,\n                                            STACK_OF(X509)
      **chainOut,\n                                            STACK_OF(X509) **caPubs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:421,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:424,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:429,1
    - Dst: refcert_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:436,1
    - Dst: ERR_raise_data
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:437,1
    - Dst: OSSL_CMP_PKISI_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - srv_ctx
    - rr
    - issuer
    - serial
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 442
    functionName: process_rr
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - refcert_cmp
    - OSSL_CMP_MSG_get_bodytype
    - ERR_raise_data
    - OSSL_CMP_PKISI_dup
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    linkageType: ''
    returnType: OSSL_CMP_PKISI
    signature: "OSSL_CMP_PKISI *process_rr(OSSL_CMP_SRV_CTX *srv_ctx,\n                                  const
      OSSL_CMP_MSG *rr,\n                                  const X509_NAME *issuer,\n
      \                                 const ASN1_INTEGER *serial)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_CMP_CRLSTATUS_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:453,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:454,1
    - Dst: sk_OSSL_CMP_CRLSTATUS_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:460,1
    - Dst: OSSL_CMP_CRLSTATUS_get0
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:461,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:465,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:470,1
    - Dst: X509_CRL_get_issuer
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:470,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:471,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:475,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:481,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - crlStatusList
    - crl
    argTypes:
    - STACK_OF*
    - X509_CRL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 445
    functionDepth: 6
    functionLinenumber: 445
    functionLinenumberEnd: 482
    functionName: check_client_crl
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - ASN1_TIME_compare
    - ERR_raise
    - sk_OSSL_CMP_CRLSTATUS_value
    - sk_OSSL_CMP_CRLSTATUS_num
    - X509_NAME_cmp
    - sk_GENERAL_NAME_value
    - X509_CRL_get_issuer
    - X509_CRL_get0_lastUpdate
    - OSSL_CMP_CRLSTATUS_get0
    linkageType: ''
    returnType: int
    signature: "int check_client_crl(const STACK_OF(OSSL_CMP_CRLSTATUS) *crlStatusList,\n
      \                           const X509_CRL *crl)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_ITAV_new_caCerts
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:491,1
    - Dst: OSSL_CMP_ITAV_get0_rootCaCert
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:497,1
    - Dst: X509_NAME_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:501,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:501,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:502,1
    - Dst: OSSL_CMP_ITAV_new_rootCaKeyUpdate
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:504,1
    - Dst: OSSL_CMP_ITAV_new_rootCaKeyUpdate
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:506,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:513,1
    - Dst: OSSL_CMP_ITAV_get0_crlStatusList
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:516,1
    - Dst: check_client_crl
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:519,1
    - Dst: OSSL_CMP_ITAV_new_crls
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:523,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:534,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_fill
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:537,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:538,1
    - Dst: X509_ALGOR_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:542,1
    - Dst: X509_ALGOR_set0
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:545,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:545,1
    - Dst: OSSL_CMP_ATAV_new_algId
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:548,1
    - Dst: OSSL_CMP_ATAV_new_rsaKeyLen
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:549,1
    - Dst: OSSL_CMP_ATAV_push1
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:550,1
    - Dst: OSSL_CMP_ATAV_push1
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:551,1
    - Dst: OSSL_CMP_ATAV_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:552,1
    - Dst: OSSL_CMP_ATAV_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:553,1
    - Dst: X509_ALGOR_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:554,1
    - Dst: OSSL_CMP_ITAV_new0_certReqTemplate
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:559,1
    - Dst: OSSL_CRMF_CERTTEMPLATE_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:563,1
    - Dst: OSSL_CMP_ATAVS_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:564,1
    - Dst: OSSL_CMP_ITAV_dup
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:569,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - ctx
    - req_nid
    - req
    argTypes:
    - mock_srv_ctx*
    - int
    - OSSL_CMP_ITAV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 484
    functionDepth: 13
    functionLinenumber: 484
    functionLinenumberEnd: 572
    functionName: process_genm_itav
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 0
    functionsReached:
    - OSSL_CRMF_CERTTEMPLATE_free
    - OSSL_CMP_ITAV_get0_rootCaCert
    - OSSL_CMP_ITAV_new_caCerts
    - X509_ALGOR_free
    - OSSL_CRMF_CERTTEMPLATE_fill
    - OSSL_CMP_ITAV_get0_crlStatusList
    - OSSL_CMP_ATAVS_free
    - OSSL_CMP_ATAV_new_rsaKeyLen
    - OSSL_CMP_ITAV_new_rootCaKeyUpdate
    - OSSL_CRMF_CERTTEMPLATE_new
    - OBJ_nid2obj
    - OSSL_CMP_ATAV_push1
    - X509_ALGOR_set0
    - X509_get_issuer_name
    - check_client_crl
    - OSSL_CMP_ITAV_dup
    - STACK_OF
    - OSSL_CMP_ATAV_new_algId
    - OSSL_CMP_ITAV_new0_certReqTemplate
    - X509_get_subject_name
    - X509_NAME_cmp
    - X509_ALGOR_new
    - OSSL_CMP_ATAV_free
    - OSSL_CMP_ITAV_new_crls
    linkageType: ''
    returnType: OSSL_CMP_ITAV
    signature: "OSSL_CMP_ITAV *process_genm_itav(mock_srv_ctx *ctx, int req_nid,\n
      \                                       const OSSL_CMP_ITAV *req)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:579,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:582,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:586,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:587,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:588,1
    - Dst: sk_OSSL_CMP_ITAV_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:591,1
    - Dst: sk_OSSL_CMP_ITAV_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:592,1
    - Dst: OSSL_CMP_ITAV_get0_type
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:593,1
    - Dst: sk_OSSL_CMP_ITAV_new_reserve
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:595,1
    - Dst: process_genm_itav
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:597,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:597,1
    - Dst: sk_OSSL_CMP_ITAV_push
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:598,1
    - Dst: sk_OSSL_CMP_ITAV_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:600,1
    - Dst: sk_OSSL_CMP_ITAV_deep_copy
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:604,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - srv_ctx
    - genm
    - in
    - out
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - STACK_OF*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 574
    functionDepth: 14
    functionLinenumber: 574
    functionLinenumberEnd: 607
    functionName: process_genm
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - sk_OSSL_CMP_ITAV_deep_copy
    - sk_OSSL_CMP_ITAV_free
    - ERR_raise
    - OSSL_CMP_ITAV_get0_type
    - sk_OSSL_CMP_ITAV_new_reserve
    - sk_OSSL_CMP_ITAV_value
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - sk_OSSL_CMP_ITAV_push
    - process_genm_itav
    - sk_OSSL_CMP_ITAV_num
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: "int process_genm(OSSL_CMP_SRV_CTX *srv_ctx,\n                        const
      OSSL_CMP_MSG *genm,\n                        const STACK_OF(OSSL_CMP_ITAV) *in,\n
      \                       STACK_OF(OSSL_CMP_ITAV) **out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:614,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:620,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:624,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:627,1
    - Dst: OSSL_CMP_snprint_PKIStatusInfo
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:629,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:630,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:635,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:637,1
    - Dst: ASN1_INTEGER_get
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:637,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:639,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:640,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:642,1
    - Dst: sk_ASN1_UTF8STRING_num
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:643,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:645,1
    - Dst: ASN1_STRING_print_ex
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:646,1
    - Dst: sk_ASN1_UTF8STRING_value
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:647,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - srv_ctx
    - error
    - statusInfo
    - errorCode
    - errorDetails
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - OSSL_CMP_PKISI*
    - ASN1_INTEGER*
    - OSSL_CMP_PKIFREETEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 609
    functionDepth: 6
    functionLinenumber: 609
    functionLinenumberEnd: 652
    functionName: process_error
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - OSSL_CMP_snprint_PKIStatusInfo
    - sk_ASN1_UTF8STRING_value
    - sk_ASN1_UTF8STRING_num
    - ASN1_STRING_print_ex
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ASN1_INTEGER_get
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void process_error(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG *error,\n
      \                         const OSSL_CMP_PKISI *statusInfo,\n                          const
      ASN1_INTEGER *errorCode,\n                          const OSSL_CMP_PKIFREETEXT
      *errorDetails)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:660,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:664,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:668,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:670,1
    - Dst: X509_digest_sig
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:674,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:676,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:677,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:678,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - srv_ctx
    - certConf
    - certReqId
    - certHash
    - si
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - ossl_unused
    - ASN1_OCTET_STRING*
    - OSSL_CMP_PKISI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 654
    functionDepth: 11
    functionLinenumber: 654
    functionLinenumberEnd: 683
    functionName: process_certConf
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - X509_digest_sig
    - OSSL_CMP_MSG_get_bodytype
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ASN1_OCTET_STRING_free
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: "int process_certConf(OSSL_CMP_SRV_CTX *srv_ctx,\n                            const
      OSSL_CMP_MSG *certConf,\n                            ossl_unused int certReqId,\n
      \                           const ASN1_OCTET_STRING *certHash,\n                            const
      OSSL_CMP_PKISI *si)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:691,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:697,1
    - Dst: OSSL_CMP_MSG_get_bodytype
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:702,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:703,1
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:707,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - srv_ctx
    - pollReq
    - certReqId
    - req
    - check_after
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - ossl_unused
    - OSSL_CMP_MSG**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 720
    functionName: process_pollReq
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - ERR_raise
    - OSSL_CMP_MSG_get_bodytype
    linkageType: ''
    returnType: int
    signature: "int process_pollReq(OSSL_CMP_SRV_CTX *srv_ctx,\n                           const
      OSSL_CMP_MSG *pollReq,\n                           ossl_unused int certReqId,\n
      \                          OSSL_CMP_MSG **req, int64_t *check_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_SRV_CTX_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:724,1
    - Dst: mock_srv_ctx_new
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:725,1
    - Dst: OSSL_CMP_SRV_CTX_init
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:728,1
    - Dst: OSSL_CMP_SRV_CTX_init_trans
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:731,1
    - Dst: mock_srv_ctx_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:735,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 13
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: ossl_cmp_mock_srv_new
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_SRV_CTX_new
    - OSSL_CMP_SRV_CTX_init_trans
    - mock_srv_ctx_free
    - OSSL_CMP_SRV_CTX_init
    - OSSL_CMP_SRV_CTX_free
    - mock_srv_ctx_new
    linkageType: ''
    returnType: OSSL_CMP_SRV_CTX
    signature: OSSL_CMP_SRV_CTX *ossl_cmp_mock_srv_new(OSSL_LIB_CTX *libctx, const
      char *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mock_srv_ctx_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:743,1
    - Dst: OSSL_CMP_SRV_CTX_get0_custom_ctx
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:743,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/apps/lib/cmp_mock_srv.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - srv_ctx
    argTypes:
    - OSSL_CMP_SRV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 740
    functionDepth: 6
    functionLinenumber: 740
    functionLinenumberEnd: 745
    functionName: ossl_cmp_mock_srv_free
    functionSourceFile: /src/openssl/apps/lib/cmp_mock_srv.c
    functionUses: 3
    functionsReached:
    - mock_srv_ctx_free
    - OSSL_CMP_SRV_CTX_get0_custom_ctx
    - OSSL_CMP_SRV_CTX_free
    linkageType: ''
    returnType: void
    signature: void ossl_cmp_mock_srv_free(OSSL_CMP_SRV_CTX *srv_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: app_set_propq
    functionSourceFile: /src/openssl/apps/lib/app_libctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int app_set_propq(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: app_get0_propq
    functionSourceFile: /src/openssl/apps/lib/app_libctx.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *app_get0_propq(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: app_get0_libctx
    functionSourceFile: /src/openssl/apps/lib/app_libctx.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *app_get0_libctx(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_provider_load
      Src: /src/openssl/apps/lib/app_libctx.c:38,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_libctx.c:39,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/apps/lib/app_libctx.c:42,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_libctx.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: app_create_libctx
    functionSourceFile: /src/openssl/apps/lib/app_libctx.c
    functionUses: 1
    functionsReached:
    - app_provider_load
    - opt_printf_stderr
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *app_create_libctx(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: __struct
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __union
    signature: __union __struct
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:134,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/vms_term_sock.c:135,1
    - Dst: TerminalSocket
      Src: /src/openssl/apps/lib/vms_term_sock.c:139,1
    - Dst: exit
      Src: /src/openssl/apps/lib/vms_term_sock.c:141,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:146,1
    - Dst: recv
      Src: /src/openssl/apps/lib/vms_term_sock.c:147,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:149,1
    - Dst: TerminalSocket
      Src: /src/openssl/apps/lib/vms_term_sock.c:154,1
    - Dst: exit
      Src: /src/openssl/apps/lib/vms_term_sock.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - argc
    - argv
    - envp
    argTypes:
    - int
    - char*[]
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 161
    functionName: main
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 7
    functionsReached:
    - exit
    - recv
    - OPENSSL_strcasecmp
    - TerminalSocket
    - LogMessage
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[], char *envp[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: $DESCRIPTOR
      Src: /src/openssl/apps/lib/vms_term_sock.c:170,1
    - Dst: CreateSocketPair
      Src: /src/openssl/apps/lib/vms_term_sock.c:180,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:182,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:184,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:186,1
    - Dst: sys$assign
      Src: /src/openssl/apps/lib/vms_term_sock.c:193,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:197,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:198,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:199,1
    - Dst: sys$qio
      Src: /src/openssl/apps/lib/vms_term_sock.c:206,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:216,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:217,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:218,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:232,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:234,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:235,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:236,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:243,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:245,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:246,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:247,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:254,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:255,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 2
    argNames:
    - FunctionCode
    - ReturnSocket
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 277
    functionName: TerminalSocket
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 1
    functionsReached:
    - sys$dassgn
    - close
    - CreateSocketPair
    - LogMessage
    - $DESCRIPTOR
    - sys$cancel
    - sys$assign
    - sys$qio
    linkageType: ''
    returnType: int
    signature: int TerminalSocket (int FunctionCode, int *ReturnSocket)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: $DESCRIPTOR
      Src: /src/openssl/apps/lib/vms_term_sock.c:307,1
    - Dst: socket
      Src: /src/openssl/apps/lib/vms_term_sock.c:312,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:314,1
    - Dst: memset
      Src: /src/openssl/apps/lib/vms_term_sock.c:322,1
    - Dst: inet_addr
      Src: /src/openssl/apps/lib/vms_term_sock.c:324,1
    - Dst: bind
      Src: /src/openssl/apps/lib/vms_term_sock.c:330,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:332,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:333,1
    - Dst: getsockname
      Src: /src/openssl/apps/lib/vms_term_sock.c:340,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:342,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:343,1
    - Dst: listen
      Src: /src/openssl/apps/lib/vms_term_sock.c:351,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/vms_term_sock.c:356,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/vms_term_sock.c:357,1
    - Dst: sys$bintim
      Src: /src/openssl/apps/lib/vms_term_sock.c:359,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:361,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:362,1
    - Dst: sys$assign
      Src: /src/openssl/apps/lib/vms_term_sock.c:370,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:372,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:373,1
    - Dst: decc$get_sdc
      Src: /src/openssl/apps/lib/vms_term_sock.c:380,1
    - Dst: sys$qio
      Src: /src/openssl/apps/lib/vms_term_sock.c:385,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:393,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:394,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:395,1
    - Dst: socket
      Src: /src/openssl/apps/lib/vms_term_sock.c:402,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:404,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:405,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:406,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:407,1
    - Dst: decc$get_sdc
      Src: /src/openssl/apps/lib/vms_term_sock.c:415,1
    - Dst: sys$setimr
      Src: /src/openssl/apps/lib/vms_term_sock.c:421,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:427,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:428,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:429,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:430,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:431,1
    - Dst: memset
      Src: /src/openssl/apps/lib/vms_term_sock.c:438,1
    - Dst: inet_addr
      Src: /src/openssl/apps/lib/vms_term_sock.c:440,1
    - Dst: connect
      Src: /src/openssl/apps/lib/vms_term_sock.c:443,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:445,1
    - Dst: sys$cantim
      Src: /src/openssl/apps/lib/vms_term_sock.c:446,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:447,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:448,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:449,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:450,1
    - Dst: sys$synch
      Src: /src/openssl/apps/lib/vms_term_sock.c:459,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:462,1
    - Dst: LogMessage
      Src: /src/openssl/apps/lib/vms_term_sock.c:464,1
    - Dst: sys$cantim
      Src: /src/openssl/apps/lib/vms_term_sock.c:466,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:468,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:469,1
    - Dst: sys$dassgn
      Src: /src/openssl/apps/lib/vms_term_sock.c:470,1
    - Dst: sys$cantim
      Src: /src/openssl/apps/lib/vms_term_sock.c:479,1
    - Dst: close
      Src: /src/openssl/apps/lib/vms_term_sock.c:481,1
    - Dst: socket_fd
      Src: /src/openssl/apps/lib/vms_term_sock.c:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 99
    argCount: 4
    argNames:
    - SocketFamily
    - SocketType
    - SocketProtocol
    - SocketPair
    argTypes:
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 487
    functionName: CreateSocketPair
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 1
    functionsReached:
    - sys$synch
    - getsockname
    - BIO_snprintf
    - sys$bintim
    - strlen
    - sys$qio
    - socket_fd
    - sys$cantim
    - sys$assign
    - close
    - sys$setimr
    - decc$get_sdc
    - bind
    - memset
    - socket
    - inet_addr
    - listen
    - sys$dassgn
    - LogMessage
    - $DESCRIPTOR
    - sys$cancel
    - connect
    linkageType: ''
    returnType: int
    signature: "int CreateSocketPair (int SocketFamily,\n                             int
      SocketType,\n                             int SocketProtocol,\n                             int
      *SocketPair)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:496,1
    - Dst: sys$cancel
      Src: /src/openssl/apps/lib/vms_term_sock.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - astparm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: SocketPairTimeoutAst
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 0
    functionsReached:
    - sys$cancel
    linkageType: ''
    returnType: void
    signature: void SocketPairTimeoutAst (int astparm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/openssl/apps/lib/vms_term_sock.c:514,1
    - Dst: send
      Src: /src/openssl/apps/lib/vms_term_sock.c:519,1
    - Dst: sys$qio
      Src: /src/openssl/apps/lib/vms_term_sock.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - astparm
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 540
    functionName: TerminalDeviceAst
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 0
    functionsReached:
    - strcat
    - send
    - sys$qio
    linkageType: ''
    returnType: int
    signature: int TerminalDeviceAst (int astparm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/openssl/apps/lib/vms_term_sock.c:559,1
    - Dst: time
      Src: /src/openssl/apps/lib/vms_term_sock.c:564,1
    - Dst: localtime
      Src: /src/openssl/apps/lib/vms_term_sock.c:565,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/vms_term_sock.c:570,1
    - Dst: va_start
      Src: /src/openssl/apps/lib/vms_term_sock.c:579,1
    - Dst: vfprintf
      Src: /src/openssl/apps/lib/vms_term_sock.c:580,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/vms_term_sock.c:581,1
    - Dst: fsync
      Src: /src/openssl/apps/lib/vms_term_sock.c:586,1
    - Dst: fileno
      Src: /src/openssl/apps/lib/vms_term_sock.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 590
    functionName: LogMessage
    functionSourceFile: /src/openssl/apps/lib/vms_term_sock.c
    functionUses: 3
    functionsReached:
    - time
    - va_end
    - localtime
    - fileno
    - fsync
    - BIO_snprintf
    - va_start
    - getpid
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void LogMessage (char *msg, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/openssl/apps/lib/engine.c:32,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/apps/lib/engine.c:33,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/openssl/apps/lib/engine.c:34,1
    - Dst: ENGINE_free
      Src: /src/openssl/apps/lib/engine.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - engine
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: try_load_engine
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 0
    functionsReached:
    - ENGINE_free
    - ENGINE_ctrl_cmd_string
    - ENGINE_by_id
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *try_load_engine(const char *engine)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/engine.c:49,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/engine.c:50,1
    - Dst: ENGINE_register_all_complete
      Src: /src/openssl/apps/lib/engine.c:51,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/apps/lib/engine.c:54,1
    - Dst: try_load_engine
      Src: /src/openssl/apps/lib/engine.c:55,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/engine.c:56,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/engine.c:57,1
    - Dst: ENGINE_ctrl
      Src: /src/openssl/apps/lib/engine.c:61,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/openssl/apps/lib/engine.c:62,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/lib/engine.c:63,1
    - Dst: ENGINE_set_default
      Src: /src/openssl/apps/lib/engine.c:64,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/engine.c:65,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/apps/lib/engine.c:65,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/engine.c:66,1
    - Dst: ENGINE_free
      Src: /src/openssl/apps/lib/engine.c:67,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/engine.c:71,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/apps/lib/engine.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - id
    - methods
    - debug
    argTypes:
    - char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 43
    functionDepth: 7
    functionLinenumber: 43
    functionLinenumberEnd: 75
    functionName: setup_engine_methods
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 1
    functionsReached:
    - ENGINE_set_default
    - get_ui_method
    - ENGINE_free
    - ENGINE_register_all_complete
    - ENGINE_ctrl
    - ENGINE_get_id
    - ENGINE_ctrl_cmd
    - ENGINE_by_id
    - strcmp
    - ERR_print_errors
    - try_load_engine
    - BIO_printf
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *setup_engine_methods(const char *id, unsigned int methods,
      int debug)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_free
      Src: /src/openssl/apps/lib/engine.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: release_engine
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 31
    functionsReached:
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: void release_engine(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/openssl/apps/lib/engine.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: init_engine
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 0
    functionsReached:
    - ENGINE_init
    linkageType: ''
    returnType: int
    signature: int init_engine(ENGINE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/openssl/apps/lib/engine.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: finish_engine
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: int finish_engine(ENGINE *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/engine.c:111,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/engine.c:113,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/apps/lib/engine.c:115,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/engine.c:118,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/engine.c:120,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/apps/lib/engine.c:124,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/lib/engine.c:126,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/lib/engine.c:127,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/lib/engine.c:128,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/apps/lib/engine.c:129,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/engine.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - e
    - key_id
    - desc
    argTypes:
    - ENGINE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 136
    functionName: make_engine_uri
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strlcpy
    - OPENSSL_strlcat
    - ENGINE_get_id
    - BIO_printf
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *make_engine_uri(ENGINE *e, const char *key_id, const char *desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/engine.c:145,1
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/apps/lib/engine.c:146,1
    - Dst: ENGINE_finish
      Src: /src/openssl/apps/lib/engine.c:149,1
    - Dst: ENGINE_get_pkey_asn1_meth_str
      Src: /src/openssl/apps/lib/engine.c:152,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/engine.c:159,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/apps/lib/engine.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - libctx
    - algname
    - e
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: get_legacy_pkey_id
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_asn1_get0_info
    - ERR_pop_to_mark
    - ERR_set_mark
    - ENGINE_get_pkey_asn1_meth_str
    - ENGINE_finish
    - EVP_PKEY_asn1_find_str
    linkageType: ''
    returnType: int
    signature: int get_legacy_pkey_id(OSSL_LIB_CTX *libctx, const char *algname, ENGINE
      *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_digest_engine
      Src: /src/openssl/apps/lib/engine.c:174,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/apps/lib/engine.c:174,1
    - Dst: ENGINE_finish
      Src: /src/openssl/apps/lib/engine.c:176,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/apps/lib/engine.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: get_digest_from_engine
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 1
    functionsReached:
    - ENGINE_finish
    - OBJ_sn2nid
    - ENGINE_get_digest_engine
    - EVP_get_digestbyname
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *get_digest_from_engine(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_cipher_engine
      Src: /src/openssl/apps/lib/engine.c:188,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/apps/lib/engine.c:188,1
    - Dst: ENGINE_finish
      Src: /src/openssl/apps/lib/engine.c:190,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/apps/lib/engine.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: get_cipher_from_engine
    functionSourceFile: /src/openssl/apps/lib/engine.c
    functionUses: 1
    functionsReached:
    - ENGINE_get_cipher_engine
    - OBJ_sn2nid
    - EVP_get_cipherbyname
    - ENGINE_finish
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *get_cipher_from_engine(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trace_log_message
      Src: /src/openssl/apps/lib/log.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - prog
    - level
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: log_set_verbosity
    functionSourceFile: /src/openssl/apps/lib/log.c
    functionUses: 0
    functionsReached:
    - trace_log_message
    linkageType: ''
    returnType: int
    signature: int log_set_verbosity(const char *prog, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: log_get_verbosity
    functionSourceFile: /src/openssl/apps/lib/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int log_get_verbosity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syslog
      Src: /src/openssl/apps/lib/log.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - str
    - len
    - levPtr
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: print_syslog
    functionSourceFile: /src/openssl/apps/lib/log.c
    functionUses: 0
    functionsReached:
    - syslog
    linkageType: ''
    returnType: int
    signature: int print_syslog(const char *str, size_t len, void *levPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/log.c:47,1
    - Dst: BIO_f_prefix
      Src: /src/openssl/apps/lib/log.c:47,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/log.c:49,1
    - Dst: BIO_set_prefix
      Src: /src/openssl/apps/lib/log.c:50,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/log.c:51,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/log.c:52,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/log.c:53,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/log.c:54,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/lib/log.c:55,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/log.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - prog
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: log_with_prefix
    functionSourceFile: /src/openssl/apps/lib/log.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_free
    - BIO_flush
    - BIO_snprintf
    - BIO_push
    - BIO_vprintf
    - BIO_set_prefix
    - BIO_pop
    - BIO_printf
    - BIO_f_prefix
    linkageType: ''
    returnType: void
    signature: void log_with_prefix(const char *prog, const char *fmt, va_list ap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/apps/lib/log.c:75,1
    - Dst: OSSL_trace_enabled
      Src: /src/openssl/apps/lib/log.c:81,1
    - Dst: OSSL_trace_begin
      Src: /src/openssl/apps/lib/log.c:82,1
    - Dst: va_copy
      Src: /src/openssl/apps/lib/log.c:86,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/log.c:87,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/log.c:88,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/log.c:90,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/log.c:92,1
    - Dst: OSSL_trace_end
      Src: /src/openssl/apps/lib/log.c:93,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/log.c:96,1
    - Dst: vsyslog
      Src: /src/openssl/apps/lib/log.c:101,1
    - Dst: ERR_print_errors_cb
      Src: /src/openssl/apps/lib/log.c:103,1
    - Dst: log_with_prefix
      Src: /src/openssl/apps/lib/log.c:106,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/log.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - category
    - prog
    - level
    - fmt
    argTypes:
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 108
    functionName: trace_log_message
    functionSourceFile: /src/openssl/apps/lib/log.c
    functionUses: 2
    functionsReached:
    - va_end
    - va_copy
    - OSSL_trace_enabled
    - ERR_print_errors_cb
    - BIO_vprintf
    - va_start
    - OSSL_trace_end
    - vsyslog
    - log_with_prefix
    - OSSL_trace_begin
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void trace_log_message(int category,\n                       const
      char *prog, int level, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/names.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: name_cmp
    functionSourceFile: /src/openssl/apps/lib/names.c
    functionUses: 10
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int name_cmp(const char * const *a, const char * const *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/names.c:23,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/apps/lib/names.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - vdata
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: collect_names
    functionSourceFile: /src/openssl/apps/lib/names.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - sk_OPENSSL_CSTRING_push
    linkageType: ''
    returnType: void
    signature: void collect_names(const char *name, void *vdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - from
    - ','
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: rename
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rename(from, to)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:94,1
    - Dst: isspace
      Src: /src/openssl/apps/lib/apps.c:99,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/apps.c:99,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/apps/lib/apps.c:109,1
    - Dst: isspace
      Src: /src/openssl/apps/lib/apps.c:126,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/apps.c:126,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - arg
    - buf
    argTypes:
    - ARGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 134
    functionName: chopup_args
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - OPENSSL_realloc_array
    - isspace
    - _UC
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int chopup_args(ARGS *arg, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mesgwin
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: app_init
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int app_init(long mesgwin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_default_verify_file
      Src: /src/openssl/apps/lib/apps.c:149,1
    - Dst: SSL_CTX_set_default_verify_dir
      Src: /src/openssl/apps/lib/apps.c:151,1
    - Dst: SSL_CTX_set_default_verify_store
      Src: /src/openssl/apps/lib/apps.c:153,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/openssl/apps/lib/apps.c:159,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/openssl/apps/lib/apps.c:161,1
    - Dst: SSL_CTX_load_verify_store
      Src: /src/openssl/apps/lib/apps.c:163,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 7
    argNames:
    - ctx
    - CAfile
    - noCAfile
    - CApath
    - noCApath
    - CAstore
    - noCAstore
    argTypes:
    - SSL_CTX*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 166
    functionName: ctx_set_verify_locations
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - SSL_CTX_load_verify_store
    - SSL_CTX_load_verify_dir
    - SSL_CTX_set_default_verify_dir
    - SSL_CTX_load_verify_file
    - SSL_CTX_set_default_verify_store
    - SSL_CTX_set_default_verify_file
    linkageType: ''
    returnType: int
    signature: "int ctx_set_verify_locations(SSL_CTX *ctx,\n                             const
      char *CAfile, int noCAfile,\n                             const char *CApath,
      int noCApath,\n                             const char *CAstore, int noCAstore)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_default_ctlog_list_file
      Src: /src/openssl/apps/lib/apps.c:173,1
    - Dst: SSL_CTX_set_ctlog_list_file
      Src: /src/openssl/apps/lib/apps.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: ctx_set_ctlog_list_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_ctlog_list_file
    - SSL_CTX_set_default_ctlog_list_file
    linkageType: ''
    returnType: int
    signature: int ctx_set_ctlog_list_file(SSL_CTX *ctx, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_name_ex
      Src: /src/openssl/apps/lib/apps.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: set_nameopt
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 9
    functionsReached:
    - set_name_ex
    linkageType: ''
    returnType: int
    signature: int set_nameopt(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: get_nameopt
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long get_nameopt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_name
      Src: /src/openssl/apps/lib/apps.c:205,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/apps.c:205,1
    - Dst: print_name
      Src: /src/openssl/apps/lib/apps.c:206,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/lib/apps.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - BIO*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: dump_cert_text
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    functionsReached:
    - print_name
    - X509_get_subject_name
    - X509_get_issuer_name
    linkageType: ''
    returnType: void
    signature: void dump_cert_text(BIO *out, X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: password_callback
      Src: /src/openssl/apps/lib/apps.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - bufsiz
    - verify
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: wrap_password_callback
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - password_callback
    linkageType: ''
    returnType: int
    signature: int wrap_password_callback(char *buf, int bufsiz, int verify, void
      *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: app_passwd
      Src: /src/openssl/apps/lib/apps.c:222,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:223,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:225,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pass
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: get_passwd
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    functionsReached:
    - app_passwd
    - OPENSSL_strdup
    - BIO_printf
    linkageType: ''
    returnType: char
    signature: char *get_passwd(const char *pass, const char *desc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:237,1
    - Dst: app_get_pass
      Src: /src/openssl/apps/lib/apps.c:240,1
    - Dst: app_get_pass
      Src: /src/openssl/apps/lib/apps.c:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - arg1
    - arg2
    - pass1
    - pass2
    argTypes:
    - char*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: app_passwd
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 27
    functionsReached:
    - strcmp
    - app_get_pass
    linkageType: ''
    returnType: int
    signature: int app_passwd(const char *arg1, const char *arg2, char **pass1, char
      **pass2)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:263,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:264,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:265,1
    - Dst: getenv
      Src: /src/openssl/apps/lib/apps.c:266,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:268,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:271,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:274,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:275,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:277,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/apps.c:289,1
    - Dst: atoi
      Src: /src/openssl/apps/lib/apps.c:292,1
    - Dst: BIO_new_fd
      Src: /src/openssl/apps/lib/apps.c:294,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:296,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:302,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/lib/apps.c:302,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:304,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:306,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/apps.c:309,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:311,1
    - Dst: unbuffer
      Src: /src/openssl/apps/lib/apps.c:312,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/lib/apps.c:313,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:315,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/apps.c:320,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:322,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:326,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/lib/apps.c:332,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:334,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:338,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/apps.c:341,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:344,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 2
    argNames:
    - arg
    - keepbio
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 345
    functionName: app_get_pass
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - BIO_new_file
    - strchr
    - atoi
    - unbuffer
    - dup_bio_in
    - BIO_gets
    - CHECK_AND_SKIP_PREFIX
    - BIO_new_fd
    - BIO_free_all
    - OPENSSL_strdup
    - BIO_f_buffer
    - BIO_push
    - strcmp
    - getenv
    - BIO_printf
    linkageType: ''
    returnType: char
    signature: char *app_get_pass(const char *arg, int keepbio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:351,1
    - Dst: NCONF_get_string
      Src: /src/openssl/apps/lib/apps.c:352,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:354,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/apps.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - conf
    - group
    - name
    argTypes:
    - CONF*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: app_conf_try_string
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 7
    functionsReached:
    - ERR_pop_to_mark
    - ERR_clear_last_mark
    - ERR_set_mark
    - NCONF_get_string
    linkageType: ''
    returnType: char
    signature: char *app_conf_try_string(const CONF *conf, const char *group, const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:365,1
    - Dst: NCONF_get_number
      Src: /src/openssl/apps/lib/apps.c:366,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:368,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/apps.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - conf
    - group
    - name
    - result
    argTypes:
    - CONF*
    - char*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: app_conf_try_number
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - ERR_clear_last_mark
    - ERR_pop_to_mark
    - NCONF_get_number
    - ERR_set_mark
    linkageType: ''
    returnType: int
    signature: "int app_conf_try_number(const CONF *conf, const char *group, const
      char *name,\n                        long *result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new_ex
      Src: /src/openssl/apps/lib/apps.c:380,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:380,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/apps/lib/apps.c:381,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:386,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:386,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:388,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:388,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:392,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:394,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - in
    - filename
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 398
    functionName: app_load_config_bio
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - opt_getprog
    - NCONF_new_ex
    - app_get0_libctx
    - NCONF_free
    - NCONF_load_bio
    - BIO_printf
    linkageType: ''
    returnType: CONF
    signature: CONF *app_load_config_bio(BIO *in, const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:404,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:406,1
    - Dst: app_load_config_internal
      Src: /src/openssl/apps/lib/apps.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - verbose
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 409
    functionName: app_load_config_verbose
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - app_load_config_internal
    - BIO_printf
    linkageType: ''
    returnType: CONF
    signature: CONF *app_load_config_verbose(const char *filename, int verbose)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default_
      Src: /src/openssl/apps/lib/apps.c:417,1
    - Dst: app_load_config_bio
      Src: /src/openssl/apps/lib/apps.c:419,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:420,1
    - Dst: NCONF_new_ex
      Src: /src/openssl/apps/lib/apps.c:423,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - filename
    - quiet
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 426
    functionName: app_load_config_internal
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - NCONF_new_ex
    - app_load_config_bio
    - BIO_free
    - bio_open_default_
    - app_get0_libctx
    linkageType: ''
    returnType: CONF
    signature: CONF *app_load_config_internal(const char *filename, int quiet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_load_config_quiet
      Src: /src/openssl/apps/lib/apps.c:433,1
    - Dst: CONF_modules_load
      Src: /src/openssl/apps/lib/apps.c:437,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:438,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:439,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:440,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - config
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 7
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: app_load_modules
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - app_load_config_quiet
    - NCONF_free
    - ERR_print_errors
    - BIO_printf
    - CONF_modules_load
    linkageType: ''
    returnType: int
    signature: int app_load_modules(const CONF *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/apps.c:450,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/lib/apps.c:454,1
    - Dst: NCONF_get_section
      Src: /src/openssl/apps/lib/apps.c:456,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:457,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/lib/apps.c:460,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/lib/apps.c:461,1
    - Dst: OBJ_create
      Src: /src/openssl/apps/lib/apps.c:462,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - conf
    argTypes:
    - CONF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 447
    functionDepth: 8
    functionLinenumber: 447
    functionLinenumberEnd: 469
    functionName: add_oid_section
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - OBJ_create
    - sk_CONF_VALUE_num
    - NCONF_get_section
    - STACK_OF
    - sk_CONF_VALUE_value
    - app_conf_try_string
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int add_oid_section(CONF *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: app_load_config_verbose
      Src: /src/openssl/apps/lib/apps.c:476,1
    - Dst: app_load_modules
      Src: /src/openssl/apps/lib/apps.c:478,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - configfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 471
    functionDepth: 8
    functionLinenumber: 471
    functionLinenumberEnd: 484
    functionName: app_load_config_modules
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - app_load_config_verbose
    - NCONF_free
    - app_load_modules
    linkageType: ''
    returnType: CONF
    signature: CONF *app_load_config_modules(const char *configfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - uri
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: IS_HTTP
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HTTP(uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - uri
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: IS_HTTPS
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HTTPS(uri)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTTPS
      Src: /src/openssl/apps/lib/apps.c:496,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:497,1
    - Dst: IS_HTTP
      Src: /src/openssl/apps/lib/apps.c:498,1
    - Dst: X509_load_http
      Src: /src/openssl/apps/lib/apps.c:499,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:501,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:502,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 509
    functionName: load_cert_pass
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 7
    functionsReached:
    - load_key_certs_crls
    - IS_HTTP
    - X509_load_http
    - ERR_print_errors
    - BIO_printf
    - IS_HTTPS
    linkageType: ''
    returnType: X509
    signature: "X509 *load_cert_pass(const char *uri, int format, int maybe_stdin,\n
      \                    const char *pass, const char *desc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTTPS
      Src: /src/openssl/apps/lib/apps.c:518,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:519,1
    - Dst: IS_HTTP
      Src: /src/openssl/apps/lib/apps.c:520,1
    - Dst: X509_CRL_load_http
      Src: /src/openssl/apps/lib/apps.c:521,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:523,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:524,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - uri
    - format
    - maybe_stdin
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 531
    functionName: load_crl
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    functionsReached:
    - X509_CRL_load_http
    - load_key_certs_crls
    - IS_HTTP
    - ERR_print_errors
    - BIO_printf
    - IS_HTTPS
    linkageType: ''
    returnType: X509_CRL
    signature: "X509_CRL *load_crl(const char *uri, int format, int maybe_stdin,\n
      \                  const char *desc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default
      Src: /src/openssl/apps/lib/apps.c:541,1
    - Dst: d2i_X509_REQ_bio
      Src: /src/openssl/apps/lib/apps.c:546,1
    - Dst: PEM_read_bio_X509_REQ
      Src: /src/openssl/apps/lib/apps.c:548,1
    - Dst: print_format_error
      Src: /src/openssl/apps/lib/apps.c:550,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:554,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:556,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - file
    - format
    - desc
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 534
    functionDepth: 5
    functionLinenumber: 534
    functionLinenumberEnd: 560
    functionName: load_csr
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_X509_REQ
    - bio_open_default
    - BIO_free
    - d2i_X509_REQ_bio
    - ERR_print_errors
    - print_format_error
    - BIO_printf
    linkageType: ''
    returnType: X509_REQ
    signature: X509_REQ *load_csr(const char *file, int format, const char *desc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load_csr
      Src: /src/openssl/apps/lib/apps.c:569,1
    - Dst: load_csr
      Src: /src/openssl/apps/lib/apps.c:574,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:577,1
    - Dst: load_csr
      Src: /src/openssl/apps/lib/apps.c:578,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:581,1
    - Dst: X509_REQ_get0_pubkey
      Src: /src/openssl/apps/lib/apps.c:586,1
    - Dst: do_X509_REQ_verify
      Src: /src/openssl/apps/lib/apps.c:587,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:590,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:592,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - infile
    - format
    - vfyopts
    - desc
    argTypes:
    - char*
    - int
    - STACK_OF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 596
    functionName: load_csr_autofmt
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - ERR_clear_error
    - BIO_puts
    - do_X509_REQ_verify
    - X509_REQ_get0_pubkey
    - load_csr
    - BIO_printf
    linkageType: ''
    returnType: X509_REQ
    signature: "X509_REQ *load_csr_autofmt(const char *infile, int format,\n                           STACK_OF(OPENSSL_STRING)
      *vfyopts, const char *desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/lib/apps.c:601,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: cleanse
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 165
    functionsReached:
    - strlen
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void cleanse(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/lib/apps.c:607,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: clear_free
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 203
    functionsReached:
    - OPENSSL_clear_free
    - strlen
    linkageType: ''
    returnType: void
    signature: void clear_free(char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_engine_uri
      Src: /src/openssl/apps/lib/apps.c:620,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:621,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - uri
    - format
    - may_stdin
    - pass
    - e
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 626
    functionName: load_key
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 30
    functionsReached:
    - OPENSSL_free
    - make_engine_uri
    - load_key_certs_crls
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_key(const char *uri, int format, int may_stdin,\n                   const
      char *pass, ENGINE *e, const char *desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_engine_uri
      Src: /src/openssl/apps/lib/apps.c:639,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:640,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:643,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - e
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - ENGINE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 647
    functionName: load_pubkey
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 11
    functionsReached:
    - OPENSSL_free
    - make_engine_uri
    - load_key_certs_crls
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_pubkey(const char *uri, int format, int maybe_stdin,\n
      \                     const char *pass, ENGINE *e, const char *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:657,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/apps/lib/apps.c:660,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:661,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:662,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/apps.c:665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - uri
    - format
    - maybe_stdin
    - keytype
    - desc
    - suppress_decode_errors
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 649
    functionDepth: 5
    functionLinenumber: 649
    functionLinenumberEnd: 669
    functionName: load_keyparams_suppress
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - load_key_certs_crls
    - EVP_PKEY_is_a
    - EVP_PKEY_free
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_keyparams_suppress(const char *uri, int format, int
      maybe_stdin,\n                                  const char *keytype, const char
      *desc,\n                                  int suppress_decode_errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_keyparams_suppress
      Src: /src/openssl/apps/lib/apps.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - uri
    - format
    - maybe_stdin
    - keytype
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 6
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: load_keyparams
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - load_keyparams_suppress
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *load_keyparams(const char *uri, int format, int maybe_stdin,\n
      \                        const char *keytype, const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/apps/lib/apps.c:681,1
    - Dst: BIO_vprintf
      Src: /src/openssl/apps/lib/apps.c:682,1
    - Dst: va_end
      Src: /src/openssl/apps/lib/apps.c:683,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:684,1
    - Dst: exit
      Src: /src/openssl/apps/lib/apps.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 677
    functionDepth: 5
    functionLinenumber: 677
    functionLinenumberEnd: 686
    functionName: app_bail_out
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - va_end
    - exit
    - BIO_vprintf
    - va_start
    - ERR_print_errors
    linkageType: ''
    returnType: void
    signature: void app_bail_out(char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/apps/lib/apps.c:690,1
    - Dst: app_bail_out
      Src: /src/openssl/apps/lib/apps.c:693,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sz
    - what
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 6
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: app_malloc
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 47
    functionsReached:
    - app_bail_out
    - opt_getprog
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *app_malloc(size_t sz, const char *what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/openssl/apps/lib/apps.c:701,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/apps.c:701,1
    - Dst: isspace
      Src: /src/openssl/apps/lib/apps.c:707,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/apps.c:707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 711
    functionName: next_item
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - _UC
    - isspace
    linkageType: ''
    returnType: char
    signature: char *next_item(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_oneline
      Src: /src/openssl/apps/lib/apps.c:715,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/apps.c:715,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:717,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uri
    - cert
    - msg
    argTypes:
    - char*
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: warn_cert_msg
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OPENSSL_free
    - X509_get_subject_name
    - X509_NAME_oneline
    linkageType: ''
    returnType: void
    signature: void warn_cert_msg(const char *uri, X509 *cert, const char *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/openssl/apps/lib/apps.c:725,1
    - Dst: X509_cmp_timeframe
      Src: /src/openssl/apps/lib/apps.c:726,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/apps/lib/apps.c:726,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/lib/apps.c:727,1
    - Dst: warn_cert_msg
      Src: /src/openssl/apps/lib/apps.c:730,1
    - Dst: warn_cert_msg
      Src: /src/openssl/apps/lib/apps.c:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - uri
    - cert
    - warn_EE
    - vpm
    argTypes:
    - char*
    - X509*
    - int
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 733
    functionName: warn_cert
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - warn_cert_msg
    - X509_cmp_timeframe
    - X509_get0_notBefore
    - X509_get0_notAfter
    - X509_get_extension_flags
    linkageType: ''
    returnType: void
    signature: "void warn_cert(const char *uri, X509 *cert, int warn_EE,\n                      X509_VERIFY_PARAM
      *vpm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/apps/lib/apps.c:740,1
    - Dst: warn_cert
      Src: /src/openssl/apps/lib/apps.c:741,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/lib/apps.c:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - uri
    - certs
    - warn_EE
    - vpm
    argTypes:
    - char*
    - STACK_OF*
    - int
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 735
    functionDepth: 6
    functionLinenumber: 735
    functionLinenumberEnd: 742
    functionName: warn_certs
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - warn_cert
    - sk_X509_num
    linkageType: ''
    returnType: void
    signature: "void warn_certs(const char *uri, STACK_OF(X509) *certs, int warn_EE,\n
      \                      X509_VERIFY_PARAM *vpm)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/apps/lib/apps.c:754,1
    - Dst: HAS_CASE_PREFIX
      Src: /src/openssl/apps/lib/apps.c:755,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:756,1
    - Dst: get_passwd
      Src: /src/openssl/apps/lib/apps.c:759,1
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:760,1
    - Dst: clear_free
      Src: /src/openssl/apps/lib/apps.c:762,1
    - Dst: warn_cert
      Src: /src/openssl/apps/lib/apps.c:766,1
    - Dst: warn_certs
      Src: /src/openssl/apps/lib/apps.c:768,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/apps.c:771,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 7
    argNames:
    - uri
    - pcert
    - pcerts
    - exclude_http
    - pass
    - desc
    - vpm
    argTypes:
    - char*
    - X509**
    - STACK_OF**
    - int
    - char*
    - char*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 744
    functionDepth: 7
    functionLinenumber: 744
    functionLinenumberEnd: 776
    functionName: load_cert_certs
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - warn_certs
    - warn_cert
    - load_key_certs_crls
    - get_passwd
    - HAS_CASE_PREFIX
    - OSSL_STACK_OF_X509_free
    - clear_free
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int load_cert_certs(const char *uri,\n                    X509 **pcert,
      STACK_OF(X509) **pcerts,\n                    int exclude_http, const char *pass,
      const char *desc,\n                    X509_VERIFY_PARAM *vpm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/lib/apps.c:817,1
    - Dst: sk_X509_num
      Src: /src/openssl/apps/lib/apps.c:820,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/apps/lib/apps.c:821,1
    - Dst: sk_X509_value
      Src: /src/openssl/apps/lib/apps.c:821,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/apps.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - store
    - certs
    argTypes:
    - X509_STORE*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 811
    functionDepth: 4
    functionLinenumber: 811
    functionLinenumberEnd: 827
    functionName: sk_X509_to_store
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - sk_X509_value
    - X509_STORE_free
    - X509_STORE_add_cert
    - sk_X509_num
    linkageType: ''
    returnType: X509_STORE
    signature: "X509_STORE *sk_X509_to_store(X509_STORE *store /* may be NULL */,\n
      \                                   const STACK_OF(X509) *certs /* may NULL
      */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/apps.c:837,1
    - Dst: next_item
      Src: /src/openssl/apps/lib/apps.c:840,1
    - Dst: load_cert_certs
      Src: /src/openssl/apps/lib/apps.c:843,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/apps.c:844,1
    - Dst: sk_X509_to_store
      Src: /src/openssl/apps/lib/apps.c:847,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/apps.c:848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - input
    - pass
    - desc
    - vpm
    argTypes:
    - char*
    - char*
    - char*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 833
    functionDepth: 8
    functionLinenumber: 833
    functionLinenumberEnd: 855
    functionName: load_certstore
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - sk_X509_to_store
    - X509_STORE_free
    - next_item
    - OSSL_STACK_OF_X509_free
    - STACK_OF
    - load_cert_certs
    linkageType: ''
    returnType: X509_STORE
    signature: "X509_STORE *load_certstore(char *input, const char *pass, const char
      *desc,\n                           X509_VERIFY_PARAM *vpm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:868,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/apps.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - uri
    - maybe_stdin
    - certs
    - pass
    - desc
    argTypes:
    - char*
    - int
    - STACK_OF**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 876
    functionName: load_certs
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 9
    functionsReached:
    - load_key_certs_crls
    - OSSL_STACK_OF_X509_free
    linkageType: ''
    returnType: int
    signature: "int load_certs(const char *uri, int maybe_stdin, STACK_OF(X509) **certs,\n
      \              const char *pass, const char *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load_key_certs_crls
      Src: /src/openssl/apps/lib/apps.c:889,1
    - Dst: sk_X509_CRL_pop_free
      Src: /src/openssl/apps/lib/apps.c:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - uri
    - crls
    - pass
    - desc
    argTypes:
    - char*
    - STACK_OF**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 897
    functionName: load_crls
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - sk_X509_CRL_pop_free
    - load_key_certs_crls
    linkageType: ''
    returnType: int
    signature: "int load_crls(const char *uri, STACK_OF(X509_CRL) **crls,\n              const
      char *pass, const char *desc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 912
    functionName: format2string
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *format2string(int format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 917
    functionName: SET_EXPECT
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXPECT(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pvar
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 922
    functionName: SET_EXPECT1
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXPECT1(pvar, val)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:952,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/apps.c:953,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:963,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:968,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:970,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:971,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:972,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:973,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/apps/lib/apps.c:982,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:984,1
    - Dst: SET_EXPECT
      Src: /src/openssl/apps/lib/apps.c:992,1
    - Dst: SET_EXPECT1
      Src: /src/openssl/apps/lib/apps.c:994,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/lib/apps.c:996,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:998,1
    - Dst: SET_EXPECT
      Src: /src/openssl/apps/lib/apps.c:1006,1
    - Dst: format2string
      Src: /src/openssl/apps/lib/apps.c:1012,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/apps/lib/apps.c:1013,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/apps/lib/apps.c:1015,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1024,1
    - Dst: unbuffer
      Src: /src/openssl/apps/lib/apps.c:1028,1
    - Dst: BIO_new_fp
      Src: /src/openssl/apps/lib/apps.c:1029,1
    - Dst: OSSL_STORE_attach
      Src: /src/openssl/apps/lib/apps.c:1031,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/lib/apps.c:1032,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:1034,1
    - Dst: OSSL_STORE_open_ex
      Src: /src/openssl/apps/lib/apps.c:1037,1
    - Dst: get_ui_method
      Src: /src/openssl/apps/lib/apps.c:1037,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1042,1
    - Dst: OSSL_STORE_expect
      Src: /src/openssl/apps/lib/apps.c:1046,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1048,1
    - Dst: OSSL_STORE_eof
      Src: /src/openssl/apps/lib/apps.c:1057,1
    - Dst: OSSL_STORE_load
      Src: /src/openssl/apps/lib/apps.c:1058,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/openssl/apps/lib/apps.c:1072,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/openssl/apps/lib/apps.c:1076,1
    - Dst: OSSL_STORE_INFO_get1_PUBKEY
      Src: /src/openssl/apps/lib/apps.c:1089,1
    - Dst: OSSL_STORE_INFO_get1_PARAMS
      Src: /src/openssl/apps/lib/apps.c:1096,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/openssl/apps/lib/apps.c:1103,1
    - Dst: X509_add_cert
      Src: /src/openssl/apps/lib/apps.c:1107,1
    - Dst: OSSL_STORE_INFO_get1_CERT
      Src: /src/openssl/apps/lib/apps.c:1108,1
    - Dst: OSSL_STORE_INFO_get1_CRL
      Src: /src/openssl/apps/lib/apps.c:1115,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/lib/apps.c:1119,1
    - Dst: OSSL_STORE_INFO_get1_CRL
      Src: /src/openssl/apps/lib/apps.c:1119,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/openssl/apps/lib/apps.c:1127,1
    - Dst: OSSL_STORE_INFO_type_string
      Src: /src/openssl/apps/lib/apps.c:1129,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1131,1
    - Dst: OSSL_STORE_close
      Src: /src/openssl/apps/lib/apps.c:1137,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1147,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/apps/lib/apps.c:1151,1
    - Dst: strstr
      Src: /src/openssl/apps/lib/apps.c:1154,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1155,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1157,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1159,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1162,1
    - Dst: ERR_SYSTEM_ERROR
      Src: /src/openssl/apps/lib/apps.c:1163,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1165,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/apps.c:1165,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/lib/apps.c:1165,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:1166,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:1167,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1169,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1170,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:1174,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/apps/lib/apps.c:1176,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 161
    argCount: 13
    argNames:
    - uri
    - format
    - maybe_stdin
    - pass
    - desc
    - quiet
    - ppkey
    - ppubkey
    - pparams
    - pcert
    - pcerts
    - pcrl
    - pcrls
    argTypes:
    - char*
    - int
    - int
    - char*
    - char*
    - int
    - EVP_PKEY**
    - EVP_PKEY**
    - EVP_PKEY**
    - X509**
    - STACK_OF**
    - X509_CRL**
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 943
    functionDepth: 10
    functionLinenumber: 943
    functionLinenumberEnd: 1178
    functionName: load_key_certs_crls
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 8
    functionsReached:
    - OSSL_STORE_INFO_get1_CERT
    - OSSL_STORE_attach
    - OSSL_STORE_INFO_get_type
    - BIO_new_fp
    - strstr
    - ERR_pop_to_mark
    - SET_EXPECT1
    - OSSL_STORE_INFO_get1_PARAMS
    - sk_X509_CRL_push
    - OSSL_PARAM_construct_utf8_string
    - OSSL_STORE_INFO_type_string
    - app_get0_propq
    - OSSL_PARAM_construct_end
    - OSSL_STORE_INFO_free
    - ERR_clear_last_mark
    - format2string
    - BIO_printf
    - SET_EXPECT
    - OSSL_STORE_INFO_get1_CRL
    - unbuffer
    - strerror
    - BIO_free
    - OSSL_STORE_expect
    - OSSL_STORE_eof
    - OSSL_STORE_load
    - ERR_peek_last_error
    - OSSL_STORE_open_ex
    - OSSL_STORE_INFO_get1_PUBKEY
    - get_ui_method
    - ERR_SYSTEM_ERROR
    - ERR_set_mark
    - ERR_GET_REASON
    - sk_X509_CRL_new_null
    - app_get0_libctx
    - OSSL_STORE_close
    - sk_X509_new_null
    - ERR_print_errors
    - X509_add_cert
    - OSSL_STORE_INFO_get1_PKEY
    linkageType: ''
    returnType: int
    signature: "int load_key_certs_crls(const char *uri, int format, int maybe_stdin,\n
      \                       const char *pass, const char *desc, int quiet,\n                        EVP_PKEY
      **ppkey, EVP_PKEY **ppubkey,\n                        EVP_PKEY **pparams,\n
      \                       X509 **pcert, STACK_OF(X509) **pcerts,\n                        X509_CRL
      **pcrl, STACK_OF(X509_CRL) **pcrls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_multi_opts
      Src: /src/openssl/apps/lib/apps.c:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - unsigned long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1213
    functionName: set_cert_ex
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - set_multi_opts
    linkageType: ''
    returnType: int
    signature: int set_cert_ex(unsigned long *flags, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_multi_opts
      Src: /src/openssl/apps/lib/apps.c:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - unsigned long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1254
    functionName: set_name_ex
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - set_multi_opts
    linkageType: ''
    returnType: int
    signature: int set_name_ex(unsigned long *flags, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1258,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dateopt
    - arg
    argTypes:
    - unsigned long*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1265
    functionName: set_dateopt
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int set_dateopt(unsigned long *dateopt, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1269,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1271,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - copy_type
    - arg
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1278
    functionName: set_ext_copy
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int set_ext_copy(int *copy_type, const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/apps.c:1282,1
    - Dst: X509_REQ_get_extensions
      Src: /src/openssl/apps/lib/apps.c:1289,1
    - Dst: sk_X509_EXTENSION_num
      Src: /src/openssl/apps/lib/apps.c:1291,1
    - Dst: sk_X509_EXTENSION_value
      Src: /src/openssl/apps/lib/apps.c:1292,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/lib/apps.c:1293,1
    - Dst: X509_get_ext_by_OBJ
      Src: /src/openssl/apps/lib/apps.c:1294,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/apps/lib/apps.c:1303,1
    - Dst: X509_delete_ext
      Src: /src/openssl/apps/lib/apps.c:1303,1
    - Dst: X509_get_ext_by_OBJ
      Src: /src/openssl/apps/lib/apps.c:1304,1
    - Dst: X509_add_ext
      Src: /src/openssl/apps/lib/apps.c:1307,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/apps/lib/apps.c:1313,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - x
    - req
    - copy_type
    argTypes:
    - X509*
    - X509_REQ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1280
    functionDepth: 2
    functionLinenumber: 1280
    functionLinenumberEnd: 1315
    functionName: copy_extensions
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - sk_X509_EXTENSION_value
    - sk_X509_EXTENSION_pop_free
    - X509_EXTENSION_free
    - X509_EXTENSION_get_object
    - X509_delete_ext
    - sk_X509_EXTENSION_num
    - STACK_OF
    - X509_add_ext
    - X509_get_ext_by_OBJ
    - X509_REQ_get_extensions
    linkageType: ''
    returnType: int
    signature: int copy_extensions(X509 *x, X509_REQ *req, int copy_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/apps.c:1320,1
    - Dst: X509V3_parse_list
      Src: /src/openssl/apps/lib/apps.c:1326,1
    - Dst: sk_CONF_VALUE_num
      Src: /src/openssl/apps/lib/apps.c:1327,1
    - Dst: sk_CONF_VALUE_value
      Src: /src/openssl/apps/lib/apps.c:1328,1
    - Dst: set_table_opts
      Src: /src/openssl/apps/lib/apps.c:1329,1
    - Dst: sk_CONF_VALUE_pop_free
      Src: /src/openssl/apps/lib/apps.c:1332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - flags
    - arg
    - in_tbl
    argTypes:
    - unsigned long*
    - char*
    - NAME_EX_TBL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1334
    functionName: set_multi_opts
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - X509V3_parse_list
    - sk_CONF_VALUE_num
    - set_table_opts
    - STACK_OF
    - sk_CONF_VALUE_pop_free
    - sk_CONF_VALUE_value
    linkageType: ''
    returnType: int
    signature: "int set_multi_opts(unsigned long *flags, const char *arg,\n                          const
      NAME_EX_TBL *in_tbl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/apps.c:1354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - flags
    - arg
    - in_tbl
    argTypes:
    - unsigned long*
    - char*
    - NAME_EX_TBL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1336
    functionDepth: 3
    functionLinenumber: 1336
    functionLinenumberEnd: 1364
    functionName: set_table_opts
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int set_table_opts(unsigned long *flags, const char *arg,\n                          const
      NAME_EX_TBL *in_tbl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/apps.c:1371,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1376,1
    - Dst: X509_NAME_oneline
      Src: /src/openssl/apps/lib/apps.c:1382,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1383,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1384,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1385,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1388,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/apps.c:1389,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - out
    - title
    - nm
    argTypes:
    - BIO*
    - char*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1366
    functionDepth: 7
    functionLinenumber: 1366
    functionLinenumberEnd: 1392
    functionName: print_name
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    functionsReached:
    - get_nameopt
    - X509_NAME_print_ex
    - BIO_puts
    - OPENSSL_free
    - X509_NAME_oneline
    linkageType: ''
    returnType: void
    signature: void print_name(BIO *out, const char *title, const X509_NAME *nm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1397,1
    - Dst: BN_is_zero
      Src: /src/openssl/apps/lib/apps.c:1398,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1399,1
    - Dst: BN_bn2bin
      Src: /src/openssl/apps/lib/apps.c:1403,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1405,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1407,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1409,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - out
    - in
    - var
    - len
    - buffer
    argTypes:
    - BIO*
    - BIGNUM*
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1394
    functionDepth: 5
    functionLinenumber: 1394
    functionLinenumberEnd: 1413
    functionName: print_bignum_var
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - BN_bn2bin
    - BN_is_zero
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void print_bignum_var(BIO *out, const BIGNUM *in, const char *var,\n
      \                     int len, unsigned char *buffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1419,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1422,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1424,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1426,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - out
    - title
    - len
    - d
    argTypes:
    - BIO*
    - char*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1429
    functionName: print_array
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_array(BIO *out, const char *title, int len, const unsigned
      char *d)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/lib/apps.c:1435,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:1437,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/apps.c:1438,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/lib/apps.c:1444,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/apps/lib/apps.c:1444,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/apps/lib/apps.c:1448,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:1450,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/apps/lib/apps.c:1451,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1453,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/apps/lib/apps.c:1458,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/lib/apps.c:1464,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/apps/lib/apps.c:1464,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/apps/lib/apps.c:1468,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1469,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/apps/lib/apps.c:1473,1
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/apps/lib/apps.c:1478,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/apps/lib/apps.c:1478,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/apps/lib/apps.c:1481,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1483,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:1488,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1491,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/apps.c:1492,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 6
    argNames:
    - CAfile
    - noCAfile
    - CApath
    - noCApath
    - CAstore
    - noCAstore
    argTypes:
    - char*
    - int
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1431
    functionDepth: 5
    functionLinenumber: 1431
    functionLinenumberEnd: 1494
    functionName: setup_verify
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 6
    functionsReached:
    - X509_STORE_new
    - X509_LOOKUP_add_dir
    - X509_LOOKUP_store
    - X509_LOOKUP_hash_dir
    - ERR_clear_error
    - X509_STORE_free
    - app_get0_propq
    - app_get0_libctx
    - X509_LOOKUP_load_file_ex
    - X509_LOOKUP_add_store_ex
    - ERR_print_errors
    - X509_LOOKUP_file
    - BIO_printf
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: X509_STORE
    signature: "X509_STORE *setup_verify(const char *CAfile, int noCAfile,\n                         const
      char *CApath, int noCApath,\n                         const char *CAstore, int
      noCAstore)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/apps/lib/apps.c:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1504
    functionName: index_serial_hash
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long index_serial_hash(const OPENSSL_CSTRING *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:1513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_CSTRING*
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1514
    functionName: index_serial_cmp
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int index_serial_cmp(const OPENSSL_CSTRING *a,\n                            const
      OPENSSL_CSTRING *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1519
    functionName: index_name_qual
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int index_name_qual(char **a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_LH_strhash
      Src: /src/openssl/apps/lib/apps.c:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1524
    functionName: index_name_hash
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - OPENSSL_LH_strhash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long index_name_hash(const OPENSSL_CSTRING *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OPENSSL_CSTRING*
    - OPENSSL_CSTRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1529
    functionName: index_name_cmp
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int index_name_cmp(const OPENSSL_CSTRING *a, const OPENSSL_CSTRING
      *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1554,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:1557,1
    - Dst: BN_new
      Src: /src/openssl/apps/lib/apps.c:1558,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1560,1
    - Dst: rand_serial
      Src: /src/openssl/apps/lib/apps.c:1561,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1562,1
    - Dst: BN_free
      Src: /src/openssl/apps/lib/apps.c:1564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1531
    functionDepth: 3
    functionLinenumber: 1531
    functionLinenumberEnd: 1567
    functionName: BIO_new_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 103
    functionsReached:
    - perror
    - ERR_clear_error
    - BN_new
    - rand_serial
    - BN_free
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void BIO_new_file(serialfile, \"r\");\n    if (exists != NULL)\n        *exists
      = in != NULL;\n    if (in == NULL)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1602,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1604,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1604,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1606,1
    - Dst: OPENSSL_strlcpy
      Src: /src/openssl/apps/lib/apps.c:1611,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1614,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1616,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:1619,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/lib/apps.c:1624,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1625,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/openssl/apps/lib/apps.c:1628,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:1629,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1637,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:1638,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/apps/lib/apps.c:1639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - serialfile
    - suffix
    - serial
    - retai
    argTypes:
    - char*
    - char*
    - BIGNUM*
    - ASN1_INTEGER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1592
    functionDepth: 7
    functionLinenumber: 1592
    functionLinenumberEnd: 1641
    functionName: save_serial
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_new_file
    - i2a_ASN1_INTEGER
    - OPENSSL_strlcpy
    - BIO_puts
    - BIO_free_all
    - BIO_snprintf
    - ASN1_INTEGER_free
    - BN_to_ASN1_INTEGER
    - ERR_print_errors
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int save_serial(const char *serialfile, const char *suffix,\n                const
      BIGNUM *serial, ASN1_INTEGER **retai)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1649,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1649,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1650,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1650,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1654,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1658,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1659,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1661,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1662,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1664,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1669,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1671,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1674,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1675,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1677,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1678,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1683,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - serialfile
    - new_suffix
    - old_suffix
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1643
    functionDepth: 5
    functionLinenumber: 1643
    functionLinenumberEnd: 1685
    functionName: rotate_serial
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - perror
    - rename
    - BIO_snprintf
    - ERR_print_errors
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int rotate_serial(const char *serialfile, const char *new_suffix,\n
      \                 const char *old_suffix)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/apps/lib/apps.c:1692,1
    - Dst: BN_rand
      Src: /src/openssl/apps/lib/apps.c:1696,1
    - Dst: BN_to_ASN1_INTEGER
      Src: /src/openssl/apps/lib/apps.c:1698,1
    - Dst: BN_free
      Src: /src/openssl/apps/lib/apps.c:1706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - b
    - ai
    argTypes:
    - BIGNUM*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1687
    functionDepth: 7
    functionLinenumber: 1687
    functionLinenumberEnd: 1709
    functionName: rand_serial
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - BN_to_ASN1_INTEGER
    - BN_rand
    - BN_free
    - BN_new
    linkageType: ''
    returnType: int
    signature: int rand_serial(BIGNUM *b, ASN1_INTEGER *ai)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:1723,1
    - Dst: BIO_get_fp
      Src: /src/openssl/apps/lib/apps.c:1728,1
    - Dst: fstat
      Src: /src/openssl/apps/lib/apps.c:1729,1
    - Dst: fileno
      Src: /src/openssl/apps/lib/apps.c:1729,1
    - Dst: ERR_raise_data
      Src: /src/openssl/apps/lib/apps.c:1730,1
    - Dst: TXT_DB_read
      Src: /src/openssl/apps/lib/apps.c:1736,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1740,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1742,1
    - Dst: app_load_config_quiet
      Src: /src/openssl/apps/lib/apps.c:1744,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:1746,1
    - Dst: app_conf_try_string
      Src: /src/openssl/apps/lib/apps.c:1755,1
    - Dst: parse_yesno
      Src: /src/openssl/apps/lib/apps.c:1758,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:1761,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1770,1
    - Dst: NCONF_free
      Src: /src/openssl/apps/lib/apps.c:1771,1
    - Dst: TXT_DB_free
      Src: /src/openssl/apps/lib/apps.c:1772,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:1773,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - dbfile
    - db_attr
    argTypes:
    - char*
    - DB_ATTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1711
    functionDepth: 5
    functionLinenumber: 1711
    functionLinenumberEnd: 1775
    functionName: load_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - BIO_new_file
    - fileno
    - BIO_get_fp
    - TXT_DB_read
    - fstat
    - parse_yesno
    - TXT_DB_free
    - ERR_raise_data
    - BIO_free_all
    - BIO_snprintf
    - app_load_config_quiet
    - OPENSSL_strdup
    - NCONF_free
    - ERR_print_errors
    - app_conf_try_string
    - app_malloc
    linkageType: ''
    returnType: CA_DB
    signature: CA_DB *load_index(const char *dbfile, DB_ATTR *db_attr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TXT_DB_create_index
      Src: /src/openssl/apps/lib/apps.c:1782,1
    - Dst: LHASH_HASH_FN
      Src: /src/openssl/apps/lib/apps.c:1783,1
    - Dst: LHASH_COMP_FN
      Src: /src/openssl/apps/lib/apps.c:1784,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1785,1
    - Dst: TXT_DB_create_index
      Src: /src/openssl/apps/lib/apps.c:1792,1
    - Dst: LHASH_HASH_FN
      Src: /src/openssl/apps/lib/apps.c:1793,1
    - Dst: LHASH_COMP_FN
      Src: /src/openssl/apps/lib/apps.c:1794,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1795,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - db
    argTypes:
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1780
    functionDepth: 5
    functionLinenumber: 1780
    functionLinenumberEnd: 1803
    functionName: index_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - LHASH_HASH_FN
    - LHASH_COMP_FN
    - ERR_print_errors
    - TXT_DB_create_index
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int index_index(CA_DB *db)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1811,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1811,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1813,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1817,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1818,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1819,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1821,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1822,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1823,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:1825,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1827,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1828,1
    - Dst: TXT_DB_write
      Src: /src/openssl/apps/lib/apps.c:1831,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:1832,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:1836,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1838,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1839,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1842,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:1844,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1848,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - dbfile
    - suffix
    - db
    argTypes:
    - char*
    - char*
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1805
    functionDepth: 5
    functionLinenumber: 1805
    functionLinenumberEnd: 1850
    functionName: save_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - perror
    - BIO_new_file
    - BIO_free
    - TXT_DB_write
    - BIO_snprintf
    - ERR_print_errors
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int save_index(const char *dbfile, const char *suffix, CA_DB *db)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1858,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1858,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1859,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:1859,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1863,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1867,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1868,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1869,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1870,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1871,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1873,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1874,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1875,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1876,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/apps.c:1877,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1879,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1884,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1885,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1888,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1889,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1890,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1891,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1894,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1899,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1900,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1901,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1902,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1905,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1906,1
    - Dst: perror
      Src: /src/openssl/apps/lib/apps.c:1907,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1908,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1909,1
    - Dst: rename
      Src: /src/openssl/apps/lib/apps.c:1910,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:1915,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - dbfile
    - new_suffix
    - old_suffix
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1852
    functionDepth: 5
    functionLinenumber: 1852
    functionLinenumberEnd: 1917
    functionName: rotate_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - perror
    - rename
    - BIO_snprintf
    - ERR_print_errors
    - strlen
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int rotate_index(const char *dbfile, const char *new_suffix,\n                 const
      char *old_suffix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TXT_DB_free
      Src: /src/openssl/apps/lib/apps.c:1922,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1923,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:1924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - CA_DB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1926
    functionName: free_index
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - TXT_DB_free
    linkageType: ''
    returnType: void
    signature: void free_index(CA_DB *db)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - str
    - def
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1947
    functionName: parse_yesno
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int parse_yesno(const char *str, int def)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1962,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:1966,1
    - Dst: X509_NAME_new
      Src: /src/openssl/apps/lib/apps.c:1970,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1972,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:1972,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:1975,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1977,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:1978,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:1996,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:1998,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2012,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2014,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/apps/lib/apps.c:2025,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2027,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2029,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2031,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2033,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2037,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2039,1
    - Dst: X509_NAME_add_entry_by_NID
      Src: /src/openssl/apps/lib/apps.c:2042,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:2043,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:2045,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2046,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2048,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2053,1
    - Dst: X509_NAME_free
      Src: /src/openssl/apps/lib/apps.c:2057,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2058,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 4
    argNames:
    - cp
    - chtype
    - canmulti
    - desc
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 1954
    functionDepth: 8
    functionLinenumber: 1954
    functionLinenumberEnd: 2060
    functionName: parse_name
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 7
    functionsReached:
    - opt_getprog
    - X509_NAME_free
    - OPENSSL_free
    - OPENSSL_strdup
    - OBJ_txt2nid
    - ERR_print_errors
    - strlen
    - X509_NAME_add_entry_by_NID
    - X509_NAME_new
    - BIO_printf
    linkageType: ''
    returnType: X509_NAME
    signature: "X509_NAME *parse_name(const char *cp, int chtype, int canmulti,\n
      \                     const char *desc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:2073,1
    - Dst: BIO_s_mem
      Src: /src/openssl/apps/lib/apps.c:2073,1
    - Dst: BIO_read
      Src: /src/openssl/apps/lib/apps.c:2081,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2083,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/apps.c:2088,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2089,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/apps/lib/apps.c:2098,1
    - Dst: BIO_set_flags
      Src: /src/openssl/apps/lib/apps.c:2099,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - out
    - maxlen
    - in
    argTypes:
    - unsigned char**
    - int
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2067
    functionDepth: 5
    functionLinenumber: 2067
    functionLinenumberEnd: 2102
    functionName: bio_to_mem
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_write
    - BIO_new
    - BIO_set_flags
    - BIO_free
    - BIO_get_mem_data
    - BIO_s_mem
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int bio_to_mem(unsigned char **out, int maxlen, BIO *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/apps.c:2109,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/apps.c:2112,1
    - Dst: EVP_PKEY_CTX_ctrl_str
      Src: /src/openssl/apps/lib/apps.c:2118,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - value
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2104
    functionDepth: 4
    functionLinenumber: 2104
    functionLinenumberEnd: 2123
    functionName: pkey_ctrl_string
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - EVP_PKEY_CTX_ctrl_str
    - OPENSSL_free
    - strchr
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int pkey_ctrl_string(EVP_PKEY_CTX *ctx, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2130,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:2132,1
    - Dst: sk_X509_POLICY_NODE_num
      Src: /src/openssl/apps/lib/apps.c:2133,1
    - Dst: sk_X509_POLICY_NODE_value
      Src: /src/openssl/apps/lib/apps.c:2134,1
    - Dst: X509_POLICY_NODE_print
      Src: /src/openssl/apps/lib/apps.c:2135,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:2138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - name
    - nodes
    argTypes:
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2125
    functionDepth: 3
    functionLinenumber: 2125
    functionLinenumberEnd: 2140
    functionName: nodes_print
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - X509_POLICY_NODE_print
    - BIO_puts
    - sk_X509_POLICY_NODE_num
    - sk_X509_POLICY_NODE_value
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void nodes_print(const char *name, STACK_OF(X509_POLICY_NODE) *nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get0_policy_tree
      Src: /src/openssl/apps/lib/apps.c:2147,1
    - Dst: X509_STORE_CTX_get_explicit_policy
      Src: /src/openssl/apps/lib/apps.c:2148,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2150,1
    - Dst: nodes_print
      Src: /src/openssl/apps/lib/apps.c:2153,1
    - Dst: X509_policy_tree_get0_policies
      Src: /src/openssl/apps/lib/apps.c:2153,1
    - Dst: nodes_print
      Src: /src/openssl/apps/lib/apps.c:2154,1
    - Dst: X509_policy_tree_get0_user_policies
      Src: /src/openssl/apps/lib/apps.c:2154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2142
    functionDepth: 4
    functionLinenumber: 2142
    functionLinenumberEnd: 2155
    functionName: policies_print
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - X509_policy_tree_get0_user_policies
    - nodes_print
    - X509_STORE_CTX_get0_policy_tree
    - X509_STORE_CTX_get_explicit_policy
    - BIO_printf
    - X509_policy_tree_get0_policies
    linkageType: ''
    returnType: void
    signature: void policies_print(X509_STORE_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps.c:2173,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:2177,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2195,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - outlen
    - in
    argTypes:
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2212
    functionName: next_protos_parse
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - strlen
    - app_malloc
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *next_protos_parse(size_t *outlen, const char *in)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: X509_check_host
      Src: /src/openssl/apps/lib/apps.c:2227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2229,1
    - Dst: X509_check_email
      Src: /src/openssl/apps/lib/apps.c:2235,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2237,1
    - Dst: X509_check_ip_asc
      Src: /src/openssl/apps/lib/apps.c:2243,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2245,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - bio
    - x
    - checkhost
    - checkemail
    - checkip
    - print
    argTypes:
    - BIO*
    - X509*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2214
    functionDepth: 4
    functionLinenumber: 2214
    functionLinenumberEnd: 2251
    functionName: check_cert_attributes
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - X509_check_host
    - X509_check_email
    - BIO_printf
    - X509_check_ip_asc
    linkageType: ''
    returnType: int
    signature: "int check_cert_attributes(BIO *bio, X509 *x, const char *checkhost,\n
      \                         const char *checkemail, const char *checkip,\n                          int
      print)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_default_digest_name
      Src: /src/openssl/apps/lib/apps.c:2325,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:2326,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/apps/lib/apps.c:2331,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:2331,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/apps.c:2332,1
    - Dst: do_pkey_ctx_init
      Src: /src/openssl/apps/lib/apps.c:2333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - pkey
    - md
    - sigopts
    argTypes:
    - EVP_MD_CTX*
    - EVP_PKEY*
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2313
    functionDepth: 11
    functionLinenumber: 2313
    functionLinenumberEnd: 2334
    functionName: do_sign_init
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - app_get0_propq
    - EVP_DigestSignInit_ex
    - app_get0_libctx
    - do_pkey_ctx_init
    - EVP_PKEY_get_default_digest_name
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int do_sign_init(EVP_MD_CTX *ctx, EVP_PKEY *pkey,\n                        const
      char *md, STACK_OF(OPENSSL_STRING) *sigopts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_extensions
      Src: /src/openssl/apps/lib/apps.c:2339,1
    - Dst: X509V3_EXT_nconf
      Src: /src/openssl/apps/lib/apps.c:2340,1
    - Dst: X509v3_get_ext_by_OBJ
      Src: /src/openssl/apps/lib/apps.c:2346,1
    - Dst: X509_EXTENSION_get_object
      Src: /src/openssl/apps/lib/apps.c:2346,1
    - Dst: X509v3_get_ext
      Src: /src/openssl/apps/lib/apps.c:2348,1
    - Dst: X509_EXTENSION_get_data
      Src: /src/openssl/apps/lib/apps.c:2349,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/lib/apps.c:2350,1
    - Dst: X509_delete_ext
      Src: /src/openssl/apps/lib/apps.c:2353,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/apps/lib/apps.c:2354,1
    - Dst: X509_add_ext
      Src: /src/openssl/apps/lib/apps.c:2358,1
    - Dst: X509_EXTENSION_free
      Src: /src/openssl/apps/lib/apps.c:2360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - cert
    - ext_ctx
    - name
    - value
    - add_default
    argTypes:
    - X509*
    - X509V3_CTX*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2336
    functionDepth: 3
    functionLinenumber: 2336
    functionLinenumberEnd: 2362
    functionName: adapt_keyid_ext
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - X509_get0_extensions
    - ASN1_STRING_length
    - X509_EXTENSION_free
    - X509_EXTENSION_get_object
    - X509_EXTENSION_get_data
    - X509_delete_ext
    - X509v3_get_ext_by_OBJ
    - X509V3_EXT_nconf
    - X509v3_get_ext
    - X509_add_ext
    linkageType: ''
    returnType: int
    signature: "int adapt_keyid_ext(X509 *cert, X509V3_CTX *ext_ctx,\n                           const
      char *name, const char *value, int add_default)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:2368,1
    - Dst: X509_check_private_key
      Src: /src/openssl/apps/lib/apps.c:2369,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:2370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cert
    - pkey
    argTypes:
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2364
    functionDepth: 3
    functionLinenumber: 2364
    functionLinenumberEnd: 2372
    functionName: cert_matches_key
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - X509_check_private_key
    linkageType: ''
    returnType: int
    signature: int cert_matches_key(const X509 *cert, const EVP_PKEY *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/lib/apps.c:2378,1
    - Dst: X509_set_version
      Src: /src/openssl/apps/lib/apps.c:2383,1
    - Dst: adapt_keyid_ext
      Src: /src/openssl/apps/lib/apps.c:2391,1
    - Dst: cert_matches_key
      Src: /src/openssl/apps/lib/apps.c:2394,1
    - Dst: adapt_keyid_ext
      Src: /src/openssl/apps/lib/apps.c:2395,1
    - Dst: do_sign_init
      Src: /src/openssl/apps/lib/apps.c:2401,1
    - Dst: X509_sign_ctx
      Src: /src/openssl/apps/lib/apps.c:2402,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - cert
    - force_v1
    - pkey
    - md
    - sigopts
    - ext_ctx
    argTypes:
    - X509*
    - int
    - EVP_PKEY*
    - char*
    - STACK_OF*
    - X509V3_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2375
    functionDepth: 12
    functionLinenumber: 2375
    functionLinenumberEnd: 2406
    functionName: do_X509_sign
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - cert_matches_key
    - do_sign_init
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - adapt_keyid_ext
    - X509_set_version
    - X509_sign_ctx
    linkageType: ''
    returnType: int
    signature: "int do_X509_sign(X509 *cert, int force_v1, EVP_PKEY *pkey, const char
      *md,\n                 STACK_OF(OPENSSL_STRING) *sigopts, X509V3_CTX *ext_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/lib/apps.c:2413,1
    - Dst: do_sign_init
      Src: /src/openssl/apps/lib/apps.c:2415,1
    - Dst: X509_REQ_sign_ctx
      Src: /src/openssl/apps/lib/apps.c:2416,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - x
    - pkey
    - md
    - sigopts
    argTypes:
    - X509_REQ*
    - EVP_PKEY*
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2409
    functionDepth: 12
    functionLinenumber: 2409
    functionLinenumberEnd: 2419
    functionName: do_X509_REQ_sign
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - do_sign_init
    - X509_REQ_sign_ctx
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: "int do_X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const char *md,\n
      \                    STACK_OF(OPENSSL_STRING) *sigopts)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/apps/lib/apps.c:2426,1
    - Dst: do_sign_init
      Src: /src/openssl/apps/lib/apps.c:2428,1
    - Dst: X509_CRL_sign_ctx
      Src: /src/openssl/apps/lib/apps.c:2429,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - x
    - pkey
    - md
    - sigopts
    argTypes:
    - X509_CRL*
    - EVP_PKEY*
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2422
    functionDepth: 12
    functionLinenumber: 2422
    functionLinenumberEnd: 2432
    functionName: do_X509_CRL_sign
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - do_sign_init
    - EVP_MD_CTX_new
    - X509_CRL_sign_ctx
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: int
    signature: "int do_X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const char *md,\n
      \                    STACK_OF(OPENSSL_STRING) *sigopts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sk_GENERAL_NAME_num
      Src: /src/openssl/apps/lib/apps.c:2477,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/openssl/apps/lib/apps.c:2478,1
    - Dst: GENERAL_NAME_get0_value
      Src: /src/openssl/apps/lib/apps.c:2479,1
    - Dst: ASN1_STRING_length
      Src: /src/openssl/apps/lib/apps.c:2480,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/openssl/apps/lib/apps.c:2481,1
    - Dst: IS_HTTP
      Src: /src/openssl/apps/lib/apps.c:2483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - dp
    argTypes:
    - DIST_POINT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2467
    functionDepth: 1
    functionLinenumber: 2467
    functionLinenumberEnd: 2488
    functionName: get_dp_url
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - ASN1_STRING_length
    - ASN1_STRING_get0_data
    - IS_HTTP
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - GENERAL_NAME_get0_value
    linkageType: ''
    returnType: char
    signature: char *get_dp_url(DIST_POINT *dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_DIST_POINT_num
      Src: /src/openssl/apps/lib/apps.c:2500,1
    - Dst: sk_DIST_POINT_value
      Src: /src/openssl/apps/lib/apps.c:2501,1
    - Dst: get_dp_url
      Src: /src/openssl/apps/lib/apps.c:2503,1
    - Dst: load_crl
      Src: /src/openssl/apps/lib/apps.c:2505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - crldp
    argTypes:
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2495
    functionDepth: 6
    functionLinenumber: 2495
    functionLinenumberEnd: 2508
    functionName: load_crl_crldp
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - sk_DIST_POINT_value
    - sk_DIST_POINT_num
    - load_crl
    - get_dp_url
    linkageType: ''
    returnType: X509_CRL
    signature: X509_CRL *load_crl_crldp(STACK_OF(DIST_POINT) *crldp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/apps.c:2519,1
    - Dst: STACK_OF
      Src: /src/openssl/apps/lib/apps.c:2521,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/apps/lib/apps.c:2523,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/apps/lib/apps.c:2526,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/apps/lib/apps.c:2527,1
    - Dst: load_crl_crldp
      Src: /src/openssl/apps/lib/apps.c:2528,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/apps/lib/apps.c:2529,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/lib/apps.c:2531,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/apps/lib/apps.c:2535,1
    - Dst: load_crl_crldp
      Src: /src/openssl/apps/lib/apps.c:2536,1
    - Dst: sk_DIST_POINT_pop_free
      Src: /src/openssl/apps/lib/apps.c:2537,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/apps/lib/apps.c:2539,1
    - Dst: X509_CRL_free
      Src: /src/openssl/apps/lib/apps.c:2545,1
    - Dst: sk_X509_CRL_free
      Src: /src/openssl/apps/lib/apps.c:2546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - nm
    argTypes:
    - X509_STORE_CTX*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2515
    functionDepth: 7
    functionLinenumber: 2515
    functionLinenumberEnd: 2548
    functionName: crls_http_cb
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - sk_DIST_POINT_pop_free
    - X509_get_ext_d2i
    - sk_X509_CRL_push
    - X509_STORE_CTX_get_current_cert
    - load_crl_crldp
    - X509_CRL_free
    - sk_X509_CRL_free
    - STACK_OF
    - sk_X509_CRL_new_null
    linkageType: ''
    returnType: STACK_OF
    signature: "STACK_OF *crls_http_cb(const X509_STORE_CTX *ctx,\n                                        const
      X509_NAME *nm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_set_lookup_crls_cb
      Src: /src/openssl/apps/lib/apps.c:2552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2553
    functionName: store_setup_crl_download
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - X509_STORE_set_lookup_crls_cb
    linkageType: ''
    returnType: void
    signature: void store_setup_crl_download(X509_STORE *st)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/openssl/apps/lib/apps.c:2558,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/apps/lib/apps.c:2560,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/apps/lib/apps.c:2561,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/apps/lib/apps.c:2562,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/apps/lib/apps.c:2565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2556
    functionDepth: 2
    functionLinenumber: 2556
    functionLinenumberEnd: 2579
    functionName: tls_error_hint
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - ERR_peek_error
    - ERR_GET_LIB
    - ERR_GET_REASON
    - ERR_peek_last_error
    linkageType: ''
    returnType: char
    signature: char *tls_error_hint(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_error_hint
      Src: /src/openssl/apps/lib/apps.c:2585,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2588,1
    - Dst: ERR_set_mark
      Src: /src/openssl/apps/lib/apps.c:2589,1
    - Dst: BIO_ssl_shutdown
      Src: /src/openssl/apps/lib/apps.c:2590,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/lib/apps.c:2591,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2592,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/apps/lib/apps.c:2593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2581
    functionDepth: 4
    functionLinenumber: 2581
    functionLinenumberEnd: 2597
    functionName: http_tls_shutdown
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - tls_error_hint
    - ERR_pop_to_mark
    - BIO_free
    - ERR_set_mark
    - BIO_ssl_shutdown
    - BIO_pop
    - BIO_printf
    linkageType: ''
    returnType: BIO
    signature: BIO *http_tls_shutdown(BIO *bio)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/openssl/apps/lib/apps.c:2610,1
    - Dst: X509_STORE_get0_param
      Src: /src/openssl/apps/lib/apps.c:2611,1
    - Dst: X509_VERIFY_PARAM_get0_host
      Src: /src/openssl/apps/lib/apps.c:2613,1
    - Dst: OSSL_HTTP_proxy_connect
      Src: /src/openssl/apps/lib/apps.c:2617,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:2619,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:2620,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/apps/lib/apps.c:2620,1
    - Dst: SSL_new
      Src: /src/openssl/apps/lib/apps.c:2623,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2624,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/apps/lib/apps.c:2629,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/apps/lib/apps.c:2631,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/apps/lib/apps.c:2632,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/apps.c:2634,1
    - Dst: http_tls_shutdown
      Src: /src/openssl/apps/lib/apps.c:2636,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - bio
    - arg
    - connect
    - detail
    argTypes:
    - BIO*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2600
    functionDepth: 5
    functionLinenumber: 2600
    functionLinenumberEnd: 2639
    functionName: app_http_tls_cb
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - opt_getprog
    - BIO_new
    - BIO_set_ssl
    - SSL_set_connect_state
    - BIO_f_ssl
    - http_tls_shutdown
    - BIO_free
    - SSL_set_tlsext_host_name
    - SSL_new
    - BIO_push
    - X509_VERIFY_PARAM_get0_host
    - X509_STORE_get0_param
    - SSL_CTX_get_cert_store
    - OSSL_HTTP_proxy_connect
    linkageType: ''
    returnType: BIO
    signature: BIO *app_http_tls_cb(BIO *bio, void *arg, int connect, int detail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/openssl/apps/lib/apps.c:2644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - APP_HTTP_TLS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2647
    functionName: APP_HTTP_TLS_INFO_free
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void APP_HTTP_TLS_INFO_free(APP_HTTP_TLS_INFO *info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/apps/lib/apps.c:2663,1
    - Dst: OSSL_HTTP_parse_url
      Src: /src/openssl/apps/lib/apps.c:2667,1
    - Dst: ERR_raise_data
      Src: /src/openssl/apps/lib/apps.c:2671,1
    - Dst: ERR_raise_data
      Src: /src/openssl/apps/lib/apps.c:2676,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/apps/lib/apps.c:2684,1
    - Dst: OSSL_HTTP_get
      Src: /src/openssl/apps/lib/apps.c:2687,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/apps/lib/apps.c:2691,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2692,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2695,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:2696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 8
    argNames:
    - url
    - proxy
    - no_proxy
    - ssl_ctx
    - headers
    - timeout
    - expected_content_type
    - it
    argTypes:
    - char*
    - char*
    - char*
    - SSL_CTX*
    - STACK_OF*
    - long
    - char*
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2649
    functionDepth: 7
    functionLinenumber: 2649
    functionLinenumberEnd: 2699
    functionName: app_http_get_asn1
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - BIO_free
    - ERR_raise_data
    - OPENSSL_free
    - OSSL_HTTP_get
    - OSSL_HTTP_parse_url
    - OSSL_HTTP_adapt_proxy
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE *app_http_get_asn1(const char *url, const char *proxy,\n
      \                             const char *no_proxy, SSL_CTX *ssl_ctx,\n                              const
      STACK_OF(CONF_VALUE) *headers,\n                              long timeout,
      const char *expected_content_type,\n                              const ASN1_ITEM
      *it)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_item_i2d_mem_bio
      Src: /src/openssl/apps/lib/apps.c:2712,1
    - Dst: OSSL_HTTP_adapt_proxy
      Src: /src/openssl/apps/lib/apps.c:2721,1
    - Dst: OSSL_HTTP_transfer
      Src: /src/openssl/apps/lib/apps.c:2724,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2731,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/apps/lib/apps.c:2732,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:2733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 13
    argNames:
    - host
    - port
    - path
    - proxy
    - no_proxy
    - ssl_ctx
    - headers
    - content_type
    - req
    - req_it
    - expected_content_type
    - timeout
    - rsp_it
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - SSL_CTX*
    - STACK_OF*
    - char*
    - ASN1_VALUE*
    - ASN1_ITEM*
    - char*
    - long
    - ASN1_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2701
    functionDepth: 7
    functionLinenumber: 2701
    functionLinenumberEnd: 2735
    functionName: app_http_post_asn1
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - BIO_free
    - ASN1_item_i2d_mem_bio
    - OSSL_HTTP_transfer
    - OSSL_HTTP_adapt_proxy
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: ASN1_VALUE
    signature: "ASN1_VALUE *app_http_post_asn1(const char *host, const char *port,\n
      \                              const char *path, const char *proxy,\n                               const
      char *no_proxy, SSL_CTX *ssl_ctx,\n                               const STACK_OF(CONF_VALUE)
      *headers,\n                               const char *content_type,\n                               ASN1_VALUE
      *req, const ASN1_ITEM *req_it,\n                               const char *expected_content_type,\n
      \                              long timeout, const ASN1_ITEM *rsp_it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2745
    functionDepth: 0
    functionLinenumber: 2745
    functionLinenumberEnd: 2746
    functionName: fileno
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fileno(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_winnt
      Src: /src/openssl/apps/lib/apps.c:2815,1
    - Dst: OpenProcess
      Src: /src/openssl/apps/lib/apps.c:2816,1
    - Dst: GetCurrentProcessId
      Src: /src/openssl/apps/lib/apps.c:2817,1
    - Dst: GetProcessTimes
      Src: /src/openssl/apps/lib/apps.c:2825,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2833,1
    - Dst: GetSystemTime
      Src: /src/openssl/apps/lib/apps.c:2837,1
    - Dst: SystemTimeToFileTime
      Src: /src/openssl/apps/lib/apps.c:2838,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2804
    functionDepth: 2
    functionLinenumber: 2804
    functionLinenumberEnd: 2854
    functionName: app_tminterval
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - SystemTimeToFileTime
    - OpenProcess
    - GetProcessTimes
    - check_winnt
    - GetCurrentProcessId
    - GetSystemTime
    - BIO_printf
    linkageType: ''
    returnType: double
    signature: double app_tminterval(int stop, int usertime)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:2871,1
    - Dst: clock_gettime
      Src: /src/openssl/apps/lib/apps.c:2876,1
    - Dst: tickGet
      Src: /src/openssl/apps/lib/apps.c:2883,1
    - Dst: sysClkRateGet
      Src: /src/openssl/apps/lib/apps.c:2887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2858
    functionDepth: 2
    functionLinenumber: 2858
    functionLinenumberEnd: 2890
    functionName: app_tminterval
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - clock_gettime
    - sysClkRateGet
    - tickGet
    - BIO_printf
    linkageType: ''
    returnType: double
    signature: double app_tminterval(int stop, int usertime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: times
      Src: /src/openssl/apps/lib/apps.c:2899,1
    - Dst: sysconf
      Src: /src/openssl/apps/lib/apps.c:2908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2914
    functionName: app_tminterval
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - times
    - sysconf
    linkageType: ''
    returnType: double
    signature: double app_tminterval(int stop, int usertime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrusage
      Src: /src/openssl/apps/lib/apps.c:2928,1
    - Dst: gettimeofday
      Src: /src/openssl/apps/lib/apps.c:2930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - stop
    - usertime
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2939
    functionName: app_tminterval
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - gettimeofday
    - getrusage
    linkageType: ''
    returnType: double
    signature: double app_tminterval(int stop, int usertime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _access
      Src: /src/openssl/apps/lib/apps.c:2945,1
    - Dst: access
      Src: /src/openssl/apps/lib/apps.c:2947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - flag
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2942
    functionDepth: 1
    functionLinenumber: 2942
    functionLinenumberEnd: 2949
    functionName: app_access
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - _access
    - access
    linkageType: ''
    returnType: int
    signature: int app_access(const char *name, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opt_isdir
      Src: /src/openssl/apps/lib/apps.c:2953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2951
    functionDepth: 1
    functionLinenumber: 2951
    functionLinenumberEnd: 2954
    functionName: app_isdir
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - opt_isdir
    linkageType: ''
    returnType: int
    signature: int app_isdir(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TerminalSocket
      Src: /src/openssl/apps/lib/apps.c:2963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2961
    functionDepth: 2
    functionLinenumber: 2961
    functionLinenumberEnd: 2964
    functionName: close_stdin_sock
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - TerminalSocket
    linkageType: ''
    returnType: void
    signature: void close_stdin_sock(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TerminalSocket
      Src: /src/openssl/apps/lib/apps.c:2969,1
    - Dst: atexit
      Src: /src/openssl/apps/lib/apps.c:2970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2966
    functionDepth: 2
    functionLinenumber: 2966
    functionLinenumberEnd: 2974
    functionName: fileno_stdin
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - atexit
    - TerminalSocket
    linkageType: ''
    returnType: int
    signature: int fileno_stdin(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/openssl/apps/lib/apps.c:2978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2976
    functionDepth: 0
    functionLinenumber: 2976
    functionLinenumberEnd: 2979
    functionName: fileno_stdin
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 4
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: int fileno_stdin(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/openssl/apps/lib/apps.c:2984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2985
    functionName: fileno_stdout
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: int fileno_stdout(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/openssl/apps/lib/apps.c:2992,1
    - Dst: GetStdHandle
      Src: /src/openssl/apps/lib/apps.c:2992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2988
    functionDepth: 0
    functionLinenumber: 2988
    functionLinenumberEnd: 2996
    functionName: raw_read_stdin
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - GetStdHandle
    - ReadFile
    linkageType: ''
    returnType: int
    signature: int raw_read_stdin(void *buf, int siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/openssl/apps/lib/apps.c:3002,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/lib/apps.c:3002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 3000
    functionDepth: 3
    functionLinenumber: 3000
    functionLinenumberEnd: 3003
    functionName: raw_read_stdin
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - recv
    - fileno_stdin
    linkageType: ''
    returnType: int
    signature: int raw_read_stdin(void *buf, int siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/openssl/apps/lib/apps.c:3007,1
    - Dst: fileno_stdin
      Src: /src/openssl/apps/lib/apps.c:3007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 3005
    functionDepth: 3
    functionLinenumber: 3005
    functionLinenumberEnd: 3008
    functionName: raw_read_stdin
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - read
    - fileno_stdin
    linkageType: ''
    returnType: int
    signature: int raw_read_stdin(void *buf, int siz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/openssl/apps/lib/apps.c:3016,1
    - Dst: GetStdHandle
      Src: /src/openssl/apps/lib/apps.c:3016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3020
    functionName: raw_write_stdout
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - WriteFile
    - GetStdHandle
    linkageType: ''
    returnType: int
    signature: int raw_write_stdout(const void *buf, int siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/openssl/apps/lib/apps.c:3025,1
    - Dst: fileno
      Src: /src/openssl/apps/lib/apps.c:3025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3026
    functionName: raw_write_stdout
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - write
    - fileno
    linkageType: ''
    returnType: int
    signature: int raw_write_stdout(const void *buf, int siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/openssl/apps/lib/apps.c:3030,1
    - Dst: fileno_stdout
      Src: /src/openssl/apps/lib/apps.c:3030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - siz
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 3028
    functionDepth: 1
    functionLinenumber: 3028
    functionLinenumberEnd: 3031
    functionName: raw_write_stdout
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - write
    - fileno_stdout
    linkageType: ''
    returnType: int
    signature: int raw_write_stdout(const void *buf, int siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/apps/lib/apps.c:3043,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3041
    functionDepth: 6
    functionLinenumber: 3041
    functionLinenumberEnd: 3045
    functionName: dup_bio_in
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - BIO_new_fp
    - FMT_istext
    linkageType: ''
    returnType: BIO
    signature: BIO *dup_bio_in(int format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/apps/lib/apps.c:3049,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3050,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3053,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:3054,1
    - Dst: BIO_f_linebuffer
      Src: /src/openssl/apps/lib/apps.c:3054,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3057,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/apps.c:3060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3047
    functionDepth: 6
    functionLinenumber: 3047
    functionLinenumberEnd: 3065
    functionName: dup_bio_out
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 5
    functionsReached:
    - BIO_new
    - FMT_istext
    - BIO_new_fp
    - BIO_free
    - BIO_push
    - BIO_f_linebuffer
    linkageType: ''
    returnType: BIO
    signature: BIO *dup_bio_out(int format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/apps/lib/apps.c:3069,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3070,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3073,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/apps.c:3074,1
    - Dst: BIO_f_linebuffer
      Src: /src/openssl/apps/lib/apps.c:3074,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/apps.c:3077,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/apps.c:3080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3067
    functionDepth: 6
    functionLinenumber: 3067
    functionLinenumberEnd: 3084
    functionName: dup_bio_err
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - FMT_istext
    - BIO_new_fp
    - BIO_free
    - BIO_push
    - BIO_f_linebuffer
    linkageType: ''
    returnType: BIO
    signature: BIO *dup_bio_err(int format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/openssl/apps/lib/apps.c:3099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3103
    functionName: unbuffer
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - setbuf
    linkageType: ''
    returnType: void
    signature: void unbuffer(FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/apps.c:3107,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3111,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3113,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - mode
    - format
    argTypes:
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3119
      start: 3105
    functionDepth: 1
    functionLinenumber: 3105
    functionLinenumberEnd: 3119
    functionName: modestr
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    - FMT_istext
    linkageType: ''
    returnType: char
    signature: char *modestr(char mode, int format)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mode
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3121
    functionDepth: 0
    functionLinenumber: 3121
    functionLinenumberEnd: 3132
    functionName: modeverb
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *modeverb(char mode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3146,1
    - Dst: bio_open_default
      Src: /src/openssl/apps/lib/apps.c:3147,1
    - Dst: FMT_istext
      Src: /src/openssl/apps/lib/apps.c:3149,1
    - Dst: open
      Src: /src/openssl/apps/lib/apps.c:3174,1
    - Dst: open
      Src: /src/openssl/apps/lib/apps.c:3177,1
    - Dst: fdopen
      Src: /src/openssl/apps/lib/apps.c:3180,1
    - Dst: modestr
      Src: /src/openssl/apps/lib/apps.c:3180,1
    - Dst: fopen
      Src: /src/openssl/apps/lib/apps.c:3183,1
    - Dst: modestr
      Src: /src/openssl/apps/lib/apps.c:3183,1
    - Dst: BIO_new_fp
      Src: /src/openssl/apps/lib/apps.c:3190,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3195,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:3196,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/apps.c:3196,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:3197,1
    - Dst: fclose
      Src: /src/openssl/apps/lib/apps.c:3200,1
    - Dst: close
      Src: /src/openssl/apps/lib/apps.c:3203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - filename
    - format
    - private
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3137
    functionDepth: 6
    functionLinenumber: 3137
    functionLinenumberEnd: 3206
    functionName: bio_open_owner
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 13
    functionsReached:
    - opt_getprog
    - modestr
    - fdopen
    - strerror
    - FMT_istext
    - BIO_new_fp
    - bio_open_default
    - fclose
    - close
    - fopen
    - strcmp
    - ERR_print_errors
    - open
    - BIO_printf
    linkageType: ''
    returnType: BIO
    signature: BIO *bio_open_owner(const char *filename, int format, int private)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3213,1
    - Dst: dup_bio_in
      Src: /src/openssl/apps/lib/apps.c:3214,1
    - Dst: dup_bio_out
      Src: /src/openssl/apps/lib/apps.c:3214,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:3216,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3221,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/apps.c:3223,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/apps.c:3225,1
    - Dst: modestr
      Src: /src/openssl/apps/lib/apps.c:3225,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/apps.c:3227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3232,1
    - Dst: modeverb
      Src: /src/openssl/apps/lib/apps.c:3234,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/apps.c:3234,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:3236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - filename
    - mode
    - format
    - quiet
    argTypes:
    - char*
    - char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3208
    functionDepth: 7
    functionLinenumber: 3208
    functionLinenumberEnd: 3238
    functionName: bio_open_default_
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - modestr
    - strerror
    - dup_bio_in
    - modeverb
    - ERR_clear_error
    - dup_bio_out
    - strcmp
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: BIO
    signature: "BIO *bio_open_default_(const char *filename, char mode, int format,\n
      \                             int quiet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default_
      Src: /src/openssl/apps/lib/apps.c:3242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - mode
    - format
    argTypes:
    - char*
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3240
    functionDepth: 8
    functionLinenumber: 3240
    functionLinenumberEnd: 3243
    functionName: bio_open_default
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 33
    functionsReached:
    - bio_open_default_
    linkageType: ''
    returnType: BIO
    signature: BIO *bio_open_default(const char *filename, char mode, int format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bio_open_default_
      Src: /src/openssl/apps/lib/apps.c:3247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - mode
    - format
    argTypes:
    - char*
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3245
    functionDepth: 8
    functionLinenumber: 3245
    functionLinenumberEnd: 3248
    functionName: bio_open_default_quiet
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - bio_open_default_
    linkageType: ''
    returnType: BIO
    signature: BIO *bio_open_default_quiet(const char *filename, char mode, int format)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_ptr
      Src: /src/openssl/apps/lib/apps.c:3256,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/apps.c:3258,1
    - Dst: bio_open_owner
      Src: /src/openssl/apps/lib/apps.c:3261,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/apps.c:3264,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3266,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps.c:3271,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/apps.c:3272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - in
    - filename
    - format
    - private
    argTypes:
    - BIO*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3250
    functionDepth: 7
    functionLinenumber: 3250
    functionLinenumberEnd: 3274
    functionName: mem_bio_to_file
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - BIO_puts
    - BIO_free_all
    - bio_open_owner
    - BIO_get_mem_ptr
    - ERR_print_errors
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int mem_bio_to_file(BIO *in, const char *filename, int format, int
      private)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_all_async_fds
      Src: /src/openssl/apps/lib/apps.c:3286,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/apps.c:3290,1
    - Dst: SSL_get_all_async_fds
      Src: /src/openssl/apps/lib/apps.c:3291,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3292,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/lib/apps.c:3296,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/lib/apps.c:3300,1
    - Dst: select
      Src: /src/openssl/apps/lib/apps.c:3302,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3276
    functionDepth: 1
    functionLinenumber: 3276
    functionLinenumberEnd: 3305
    functionName: wait_for_async
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - FD_ZERO
    - SSL_get_all_async_fds
    - openssl_fdset
    - OPENSSL_free
    - select
    - app_malloc
    linkageType: ''
    returnType: void
    signature: void wait_for_async(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/openssl/apps/lib/apps.c:3312,1
    - Dst: PeekConsoleInput
      Src: /src/openssl/apps/lib/apps.c:3322,1
    - Dst: feof
      Src: /src/openssl/apps/lib/apps.c:3325,1
    - Dst: _kbhit
      Src: /src/openssl/apps/lib/apps.c:3331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3309
    functionDepth: 0
    functionLinenumber: 3309
    functionLinenumberEnd: 3332
    functionName: has_stdin_waiting
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - feof
    - _kbhit
    - GetStdHandle
    - PeekConsoleInput
    linkageType: ''
    returnType: int
    signature: int has_stdin_waiting(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signature
    argTypes:
    - ASN1_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3341
      start: 3336
    functionDepth: 0
    functionLinenumber: 3336
    functionLinenumberEnd: 3341
    functionName: corrupt_signature
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void corrupt_signature(const ASN1_STRING *signature)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3345,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3346,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - time
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3343
    functionDepth: 4
    functionLinenumber: 3343
    functionLinenumberEnd: 3352
    functionName: check_cert_time_string
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 0
    functionsReached:
    - strcmp
    - BIO_printf
    - ASN1_TIME_set_string_X509
    linkageType: ''
    returnType: int
    signature: int check_cert_time_string(const char *time, const char *desc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_cert_time_string
      Src: /src/openssl/apps/lib/apps.c:3357,1
    - Dst: check_cert_time_string
      Src: /src/openssl/apps/lib/apps.c:3359,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3361,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/apps/lib/apps.c:3362,1
    - Dst: X509_getm_notBefore
      Src: /src/openssl/apps/lib/apps.c:3362,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3363,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3367,1
    - Dst: X509_getm_notBefore
      Src: /src/openssl/apps/lib/apps.c:3367,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3368,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/apps.c:3372,1
    - Dst: X509_time_adj_ex
      Src: /src/openssl/apps/lib/apps.c:3377,1
    - Dst: X509_getm_notAfter
      Src: /src/openssl/apps/lib/apps.c:3377,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3378,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3381,1
    - Dst: X509_getm_notAfter
      Src: /src/openssl/apps/lib/apps.c:3381,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3382,1
    - Dst: ASN1_TIME_compare
      Src: /src/openssl/apps/lib/apps.c:3385,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/lib/apps.c:3385,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/apps/lib/apps.c:3385,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3386,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - x
    - startdate
    - enddate
    - days
    - strict_compare_times
    argTypes:
    - X509*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3392
      start: 3354
    functionDepth: 6
    functionLinenumber: 3354
    functionLinenumberEnd: 3392
    functionName: set_cert_times
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - ASN1_TIME_compare
    - X509_getm_notAfter
    - X509_getm_notBefore
    - X509_get0_notBefore
    - ASN1_TIME_set_string_X509
    - X509_time_adj_ex
    - X509_get0_notAfter
    - strcmp
    - check_cert_time_string
    - X509_gmtime_adj
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int set_cert_times(X509 *x, const char *startdate, const char *enddate,\n
      \                  int days, int strict_compare_times)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/openssl/apps/lib/apps.c:3397,1
    - Dst: X509_gmtime_adj
      Src: /src/openssl/apps/lib/apps.c:3403,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3406,1
    - Dst: X509_CRL_set1_lastUpdate
      Src: /src/openssl/apps/lib/apps.c:3410,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/lib/apps.c:3415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - crl
    - lastupdate
    argTypes:
    - X509_CRL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3394
    functionDepth: 4
    functionLinenumber: 3394
    functionLinenumberEnd: 3417
    functionName: set_crl_lastupdate
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - ASN1_TIME_free
    - ASN1_TIME_set_string_X509
    - ASN1_TIME_new
    - X509_CRL_set1_lastUpdate
    - X509_gmtime_adj
    linkageType: ''
    returnType: int
    signature: int set_crl_lastupdate(X509_CRL *crl, const char *lastupdate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_new
      Src: /src/openssl/apps/lib/apps.c:3423,1
    - Dst: X509_time_adj_ex
      Src: /src/openssl/apps/lib/apps.c:3429,1
    - Dst: ASN1_TIME_set_string_X509
      Src: /src/openssl/apps/lib/apps.c:3432,1
    - Dst: X509_CRL_set1_nextUpdate
      Src: /src/openssl/apps/lib/apps.c:3436,1
    - Dst: ASN1_TIME_free
      Src: /src/openssl/apps/lib/apps.c:3441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - crl
    - nextupdate
    - days
    - hours
    - secs
    argTypes:
    - X509_CRL*
    - char*
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3419
    functionDepth: 4
    functionLinenumber: 3419
    functionLinenumberEnd: 3443
    functionName: set_crl_nextupdate
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 1
    functionsReached:
    - X509_CRL_set1_nextUpdate
    - ASN1_TIME_free
    - ASN1_TIME_set_string_X509
    - X509_time_adj_ex
    - ASN1_TIME_new
    linkageType: ''
    returnType: int
    signature: "int set_crl_nextupdate(X509_CRL *crl, const char *nextupdate,\n                       long
      days, long hours, long secs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/openssl/apps/lib/apps.c:3450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3451
    functionName: make_uppercase
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - toupper
    linkageType: ''
    returnType: void
    signature: void make_uppercase(char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps.c:3501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3503
      start: 3494
    functionDepth: 0
    functionLinenumber: 3494
    functionLinenumberEnd: 3503
    functionName: app_params_free
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void app_params_free(OSSL_PARAM *params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3510,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3512,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3514,1
    - Dst: RAND_status
      Src: /src/openssl/apps/lib/apps.c:3516,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3517,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/apps/lib/apps.c:3519,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3520,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:3520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - alg
    - bits
    - verbose
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3505
    functionDepth: 8
    functionLinenumber: 3505
    functionLinenumberEnd: 3523
    functionName: app_keygen
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 6
    functionsReached:
    - opt_getprog
    - RAND_status
    - BIO_printf
    - EVP_PKEY_keygen
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *app_keygen(EVP_PKEY_CTX *ctx, const char *alg, int bits,
      int verbose)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_status
      Src: /src/openssl/apps/lib/apps.c:3529,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3530,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/apps/lib/apps.c:3532,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps.c:3533,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/apps.c:3534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3525
    functionDepth: 8
    functionLinenumber: 3525
    functionLinenumberEnd: 3536
    functionName: app_paramgen
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 3
    functionsReached:
    - opt_getprog
    - EVP_PKEY_paramgen
    - RAND_status
    - BIO_printf
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *app_paramgen(EVP_PKEY_CTX *ctx, const char *alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opt_provider_option_given
      Src: /src/openssl/apps/lib/apps.c:3545,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/apps.c:3546,1
    - Dst: app_get0_propq
      Src: /src/openssl/apps/lib/apps.c:3546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3543
    functionDepth: 0
    functionLinenumber: 3543
    functionLinenumberEnd: 3555
    functionName: opt_legacy_okay
    functionSourceFile: /src/openssl/apps/lib/apps.c
    functionUses: 2
    functionsReached:
    - app_get0_libctx
    - app_get0_propq
    - opt_provider_option_given
    linkageType: ''
    returnType: int
    signature: int opt_legacy_okay(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/apps/lib/app_provider.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: provider_free
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 29
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void provider_free(OSSL_PROVIDER *prov)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_load
      Src: /src/openssl/apps/lib/app_provider.c:38,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:40,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:42,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/app_provider.c:43,1
    - Dst: sk_OSSL_PROVIDER_new_null
      Src: /src/openssl/apps/lib/app_provider.c:47,1
    - Dst: sk_OSSL_PROVIDER_push
      Src: /src/openssl/apps/lib/app_provider.c:49,1
    - Dst: app_providers_cleanup
      Src: /src/openssl/apps/lib/app_provider.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - libctx
    - provider_name
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: app_provider_load
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 2
    functionsReached:
    - opt_getprog
    - sk_OSSL_PROVIDER_new_null
    - opt_printf_stderr
    - sk_OSSL_PROVIDER_push
    - app_providers_cleanup
    - OSSL_PROVIDER_load
    - ERR_print_errors
    linkageType: ''
    returnType: int
    signature: int app_provider_load(OSSL_LIB_CTX *libctx, const char *provider_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_OSSL_PROVIDER_pop_free
      Src: /src/openssl/apps/lib/app_provider.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: app_providers_cleanup
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 2
    functionsReached:
    - sk_OSSL_PROVIDER_pop_free
    linkageType: ''
    returnType: void
    signature: void app_providers_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/openssl/apps/lib/app_provider.c:66,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/app_provider.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 7
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: opt_provider_path
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 0
    functionsReached:
    - app_get0_libctx
    - OSSL_PROVIDER_set_default_search_path
    linkageType: ''
    returnType: int
    signature: int opt_provider_path(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/apps/lib/app_provider.c:80,1
    - Dst: OSSL_PROVIDER_get0_name
      Src: /src/openssl/apps/lib/app_provider.c:80,1
    - Dst: OSSL_PROVIDER_add_conf_parameter
      Src: /src/openssl/apps/lib/app_provider.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - prov
    - vp
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: set_prov_param
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_PROVIDER_get0_name
    - OSSL_PROVIDER_add_conf_parameter
    linkageType: ''
    returnType: int
    signature: int set_prov_param(OSSL_PROVIDER *prov, void *vp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/app_provider.c:92,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/app_provider.c:93,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:94,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:95,1
    - Dst: isspace
      Src: /src/openssl/apps/lib/app_provider.c:101,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/app_provider.c:101,1
    - Dst: isspace
      Src: /src/openssl/apps/lib/app_provider.c:103,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/app_provider.c:103,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/app_provider.c:110,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:120,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:121,1
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/openssl/apps/lib/app_provider.c:126,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/app_provider.c:126,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:128,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:129,1
    - Dst: opt_printf_stderr
      Src: /src/openssl/apps/lib/app_provider.c:131,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/app_provider.c:132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_provider.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 139
    functionName: opt_provider_param
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 0
    functionsReached:
    - opt_getprog
    - strchr
    - opt_printf_stderr
    - isspace
    - OSSL_PROVIDER_do_all
    - _UC
    - OPENSSL_free
    - OPENSSL_strdup
    - app_get0_libctx
    linkageType: ''
    returnType: int
    signature: int opt_provider_param(const char *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: app_provider_load
      Src: /src/openssl/apps/lib/app_provider.c:151,1
    - Dst: app_get0_libctx
      Src: /src/openssl/apps/lib/app_provider.c:151,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_provider.c:151,1
    - Dst: opt_provider_path
      Src: /src/openssl/apps/lib/app_provider.c:153,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_provider.c:153,1
    - Dst: opt_provider_param
      Src: /src/openssl/apps/lib/app_provider.c:155,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_provider.c:155,1
    - Dst: app_set_propq
      Src: /src/openssl/apps/lib/app_provider.c:157,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/app_provider.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - opt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 8
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: opt_provider
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 46
    functionsReached:
    - app_set_propq
    - app_provider_load
    - app_get0_libctx
    - opt_provider_path
    - opt_provider_param
    - opt_arg
    linkageType: ''
    returnType: int
    signature: int opt_provider(int opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: opt_provider_option_given
    functionSourceFile: /src/openssl/apps/lib/app_provider.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_provider_option_given(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/app_params.c:48,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/app_params.c:53,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/app_params.c:59,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/app_params.c:66,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/app_params.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - buf
    - bufsz
    - param
    argTypes:
    - char*
    - size_t
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 76
    functionName: describe_param_type
    functionSourceFile: /src/openssl/apps/lib/app_params.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    linkageType: ''
    returnType: int
    signature: int describe_param_type(char *buf, size_t bufsz, const OSSL_PARAM *param)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:89,1
    - Dst: describe_param_type
      Src: /src/openssl/apps/lib/app_params.c:93,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - thing
    - pdefs
    - indent
    argTypes:
    - char*
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: print_param_types
    functionSourceFile: /src/openssl/apps/lib/app_params.c
    functionUses: 14
    functionsReached:
    - describe_param_type
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int print_param_types(const char *thing, const OSSL_PARAM *pdefs, int
      indent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:106,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:110,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:113,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/app_params.c:115,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s_ptr
    - len
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: print_param_utf8
    functionSourceFile: /src/openssl/apps/lib/app_params.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_puts
    linkageType: ''
    returnType: void
    signature: void print_param_utf8(const char **s_ptr, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:126,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:128,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:132,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:136,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:144,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:146,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/app_params.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - bytes_ptr
    - len
    argTypes:
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 148
    functionName: print_param_octet
    functionSourceFile: /src/openssl/apps/lib/app_params.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_param_octet(const unsigned char **bytes_ptr, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/openssl/apps/lib/app_params.c:155,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/apps/lib/app_params.c:158,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:159,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:161,1
    - Dst: OSSL_PARAM_get_int64
      Src: /src/openssl/apps/lib/app_params.c:164,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:165,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:167,1
    - Dst: print_param_utf8
      Src: /src/openssl/apps/lib/app_params.c:170,1
    - Dst: print_param_utf8
      Src: /src/openssl/apps/lib/app_params.c:173,1
    - Dst: print_param_octet
      Src: /src/openssl/apps/lib/app_params.c:176,1
    - Dst: print_param_octet
      Src: /src/openssl/apps/lib/app_params.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_params.c:182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - p
    - indent
    argTypes:
    - OSSL_PARAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 186
    functionName: print_param_value
    functionSourceFile: /src/openssl/apps/lib/app_params.c
    functionUses: 1
    functionsReached:
    - print_param_octet
    - OSSL_PARAM_get_int64
    - print_param_utf8
    - OSSL_PARAM_get_uint64
    - printf
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_param_value(const OSSL_PARAM *p, int indent)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/openssl/apps/lib/s_socket.c:88,1
    - Dst: BIO_lookup_ex
      Src: /src/openssl/apps/lib/s_socket.c:91,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:94,1
    - Dst: BIO_lookup_ex
      Src: /src/openssl/apps/lib/s_socket.c:99,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:102,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/apps/lib/s_socket.c:108,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/s_socket.c:112,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:113,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/apps/lib/s_socket.c:114,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:116,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/apps/lib/s_socket.c:119,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:120,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:120,1
    - Dst: BIO_socket
      Src: /src/openssl/apps/lib/s_socket.c:128,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:128,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/apps/lib/s_socket.c:128,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:129,1
    - Dst: BIO_bind
      Src: /src/openssl/apps/lib/s_socket.c:138,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:138,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:140,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/apps/lib/s_socket.c:154,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:157,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/s_socket.c:160,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:163,1
    - Dst: BIO_connect
      Src: /src/openssl/apps/lib/s_socket.c:169,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:169,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:170,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:178,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:179,1
    - Dst: BIO_ADDR_dup
      Src: /src/openssl/apps/lib/s_socket.c:184,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:184,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:193,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:195,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:197,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:198,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/s_socket.c:202,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:205,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/apps/lib/s_socket.c:209,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:211,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_socket.c:212,1
    - Dst: ERR_clear_error
      Src: /src/openssl/apps/lib/s_socket.c:215,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:220,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:222,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 91
    argCount: 11
    argNames:
    - sock
    - host
    - port
    - bindhost
    - bindport
    - family
    - type
    - protocol
    - tfo
    - doconn
    - ba_ret
    argTypes:
    - int*
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - int
    - int
    - int
    - BIO_ADDR**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 224
    functionName: init_client
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 1
    functionsReached:
    - BIO_ADDR_dup
    - OPENSSL_free
    - BIO_ADDRINFO_free
    - ERR_clear_error
    - BIO_lookup_ex
    - BIO_printf
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - OPENSSL_assert
    - BIO_free
    - BIO_socket
    - BIO_new_dgram_sctp
    - BIO_connect
    - BIO_ADDR_hostname_string
    - BIO_sock_init
    - BIO_ADDRINFO_address
    - BIO_bind
    - BIO_ADDRINFO_protocol
    - ERR_print_errors
    - BIO_ADDRINFO_socktype
    - BIO_ADDRINFO_next
    linkageType: ''
    returnType: int
    signature: "int init_client(int *sock, const char *host, const char *port,\n                const
      char *bindhost, const char *bindport,\n                int family, int type,
      int protocol, int tfo, int doconn,\n                BIO_ADDR **ba_ret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/lib/s_socket.c:235,1
    - Dst: BIO_sock_info
      Src: /src/openssl/apps/lib/s_socket.c:236,1
    - Dst: BIO_ADDR_hostname_string
      Src: /src/openssl/apps/lib/s_socket.c:238,1
    - Dst: BIO_ADDR_service_string
      Src: /src/openssl/apps/lib/s_socket.c:240,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_socket.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - asock
    - hostname
    - service
    argTypes:
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: get_sock_info_address
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_new
    - BIO_ADDR_free
    - BIO_ADDR_hostname_string
    - BIO_ADDR_service_string
    - BIO_sock_info
    linkageType: ''
    returnType: void
    signature: void get_sock_info_address(int asock, char **hostname, char **service)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:249,1
    - Dst: get_sock_info_address
      Src: /src/openssl/apps/lib/s_socket.c:254,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:257,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/s_socket.c:258,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:263,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_socket.c:264,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_socket.c:265,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:268,1
    - Dst: getpid
      Src: /src/openssl/apps/lib/s_socket.c:268,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_socket.c:269,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_socket.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - out
    - asock
    - with_address
    - with_pid
    argTypes:
    - BIO*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: report_server_accept
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 0
    functionsReached:
    - strchr
    - BIO_flush
    - BIO_printf
    - OPENSSL_free
    - getpid
    - get_sock_info_address
    linkageType: ''
    returnType: int
    signature: int report_server_accept(BIO *out, int asock, int with_address, int
      with_pid)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: BIO_sock_init
      Src: /src/openssl/apps/lib/s_socket.c:312,1
    - Dst: BIO_lookup_ex
      Src: /src/openssl/apps/lib/s_socket.c:315,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:317,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/s_socket.c:323,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:323,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/apps/lib/s_socket.c:324,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:325,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:327,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/apps/lib/s_socket.c:328,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:329,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:330,1
    - Dst: BIO_ADDRINFO_next
      Src: /src/openssl/apps/lib/s_socket.c:331,1
    - Dst: BIO_ADDRINFO_socktype
      Src: /src/openssl/apps/lib/s_socket.c:338,1
    - Dst: BIO_ADDRINFO_protocol
      Src: /src/openssl/apps/lib/s_socket.c:339,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:341,1
    - Dst: BIO_ADDRINFO_address
      Src: /src/openssl/apps/lib/s_socket.c:347,1
    - Dst: BIO_ADDRINFO_family
      Src: /src/openssl/apps/lib/s_socket.c:349,1
    - Dst: BIO_socket
      Src: /src/openssl/apps/lib/s_socket.c:355,1
    - Dst: BIO_socket
      Src: /src/openssl/apps/lib/s_socket.c:357,1
    - Dst: BIO_listen
      Src: /src/openssl/apps/lib/s_socket.c:361,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:362,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:363,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:365,1
    - Dst: BIO_new_dgram_sctp
      Src: /src/openssl/apps/lib/s_socket.c:377,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:380,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:381,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/s_socket.c:384,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/apps/lib/s_socket.c:388,1
    - Dst: BIO_ADDRINFO_free
      Src: /src/openssl/apps/lib/s_socket.c:390,1
    - Dst: report_server_accept
      Src: /src/openssl/apps/lib/s_socket.c:393,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:394,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:395,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_socket.c:407,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/lib/s_socket.c:408,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:410,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:411,1
    - Dst: BIO_accept_ex
      Src: /src/openssl/apps/lib/s_socket.c:415,1
    - Dst: BIO_sock_should_retry
      Src: /src/openssl/apps/lib/s_socket.c:416,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_socket.c:418,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:419,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:426,1
    - Dst: BIO_set_tcp_ndelay
      Src: /src/openssl/apps/lib/s_socket.c:428,1
    - Dst: shutdown
      Src: /src/openssl/apps/lib/s_socket.c:441,1
    - Dst: FD_ZERO
      Src: /src/openssl/apps/lib/s_socket.c:451,1
    - Dst: openssl_fdset
      Src: /src/openssl/apps/lib/s_socket.c:452,1
    - Dst: select
      Src: /src/openssl/apps/lib/s_socket.c:453,1
    - Dst: readsocket
      Src: /src/openssl/apps/lib/s_socket.c:454,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:456,1
    - Dst: BIO_closesocket
      Src: /src/openssl/apps/lib/s_socket.c:465,1
    - Dst: unlink
      Src: /src/openssl/apps/lib/s_socket.c:473,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_socket.c:475,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 112
    argCount: 11
    argNames:
    - accept_sock
    - host
    - port
    - family
    - type
    - protocol
    - cb
    - context
    - naccept
    - bio_s_out
    - tfo
    argTypes:
    - int*
    - char*
    - char*
    - int
    - int
    - int
    - do_server_cb
    - unsigned char*
    - int
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 295
    functionDepth: 6
    functionLinenumber: 295
    functionLinenumberEnd: 478
    functionName: do_server
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 1
    functionsReached:
    - BIO_ADDR_new
    - BIO_ADDRINFO_free
    - BIO_set_tcp_ndelay
    - shutdown
    - select
    - FD_ZERO
    - BIO_accept_ex
    - BIO_sock_should_retry
    - BIO_ADDR_rawport
    - BIO_lookup_ex
    - BIO_ADDRINFO_family
    - BIO_closesocket
    - OPENSSL_assert
    - BIO_free
    - openssl_fdset
    - unlink
    - BIO_socket
    - BIO_new_dgram_sctp
    - report_server_accept
    - readsocket
    - BIO_sock_init
    - BIO_ADDRINFO_address
    - BIO_ADDR_free
    - BIO_listen
    - BIO_ADDRINFO_protocol
    - ERR_print_errors
    - BIO_ADDRINFO_socktype
    - BIO_ADDRINFO_next
    linkageType: ''
    returnType: int
    signature: "int do_server(int *accept_sock, const char *host, const char *port,\n
      \             int family, int type, int protocol, do_server_cb cb,\n              unsigned
      char *context, int naccept, BIO *bio_s_out,\n              int tfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/openssl/apps/lib/s_socket.c:486,1
    - Dst: SSL_get_error
      Src: /src/openssl/apps/lib/s_socket.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 499
    functionName: do_ssl_shutdown
    functionSourceFile: /src/openssl/apps/lib/s_socket.c
    functionUses: 5
    functionsReached:
    - SSL_shutdown
    - SSL_get_error
    linkageType: ''
    returnType: void
    signature: void do_ssl_shutdown(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - prog
    - ','
    - level
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: log_HTTP
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_HTTP(prog, level, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - prog
    - ','
    - level
    - ','
    - fmt
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: log_HTTP1
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_HTTP1(prog, level, fmt, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - prog
    - ','
    - level
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: log_HTTP2
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_HTTP2(prog, level, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - prog
    - ','
    - level
    - ','
    - fmt
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: log_HTTP3
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_HTTP3(prog, level, fmt, a1, a2, a3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/openssl/apps/lib/http_server.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: socket_timeout
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached:
    - shutdown
    linkageType: ''
    returnType: void
    signature: void socket_timeout(int signum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/openssl/apps/lib/http_server.c:62,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/http_server.c:63,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/lib/http_server.c:64,1
    - Dst: exit
      Src: /src/openssl/apps/lib/http_server.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ret
    - kidpids
    argTypes:
    - int
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: killall
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached:
    - kill
    - OPENSSL_free
    - exit
    - OSSL_sleep
    linkageType: ''
    returnType: void
    signature: void killall(int ret, pid_t *kidpids)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: noteterm
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noteterm(int sig)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/openssl/apps/lib/http_server.c:87,1
    - Dst: setpgid
      Src: /src/openssl/apps/lib/http_server.c:89,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:90,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/http_server.c:92,1
    - Dst: exit
      Src: /src/openssl/apps/lib/http_server.c:93,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/http_server.c:95,1
    - Dst: signal
      Src: /src/openssl/apps/lib/http_server.c:99,1
    - Dst: signal
      Src: /src/openssl/apps/lib/http_server.c:100,1
    - Dst: waitpid
      Src: /src/openssl/apps/lib/http_server.c:110,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:119,1
    - Dst: killall
      Src: /src/openssl/apps/lib/http_server.c:122,1
    - Dst: WIFEXITED
      Src: /src/openssl/apps/lib/http_server.c:125,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:126,1
    - Dst: WEXITSTATUS
      Src: /src/openssl/apps/lib/http_server.c:128,1
    - Dst: WIFSIGNALED
      Src: /src/openssl/apps/lib/http_server.c:129,1
    - Dst: WCOREDUMP
      Src: /src/openssl/apps/lib/http_server.c:133,1
    - Dst: log_HTTP3
      Src: /src/openssl/apps/lib/http_server.c:136,1
    - Dst: WTERMSIG
      Src: /src/openssl/apps/lib/http_server.c:138,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/lib/http_server.c:140,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:144,1
    - Dst: strerror
      Src: /src/openssl/apps/lib/http_server.c:145,1
    - Dst: killall
      Src: /src/openssl/apps/lib/http_server.c:146,1
    - Dst: fork
      Src: /src/openssl/apps/lib/http_server.c:152,1
    - Dst: OSSL_sleep
      Src: /src/openssl/apps/lib/http_server.c:155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/http_server.c:158,1
    - Dst: signal
      Src: /src/openssl/apps/lib/http_server.c:159,1
    - Dst: signal
      Src: /src/openssl/apps/lib/http_server.c:160,1
    - Dst: _exit
      Src: /src/openssl/apps/lib/http_server.c:162,1
    - Dst: RAND_poll
      Src: /src/openssl/apps/lib/http_server.c:163,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:164,1
    - Dst: _exit
      Src: /src/openssl/apps/lib/http_server.c:165,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:177,1
    - Dst: killall
      Src: /src/openssl/apps/lib/http_server.c:179,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:186,1
    - Dst: killall
      Src: /src/openssl/apps/lib/http_server.c:187,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 188
    functionName: spawn_loop
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 1
    functionsReached:
    - killall
    - OSSL_sleep
    - WTERMSIG
    - OPENSSL_free
    - _exit
    - waitpid
    - signal
    - app_malloc
    - fork
    - WCOREDUMP
    - log_HTTP3
    - WIFSIGNALED
    - RAND_poll
    - setpgid
    - strerror
    - WIFEXITED
    - log_HTTP2
    - log_HTTP
    - WEXITSTATUS
    - exit
    - log_HTTP1
    - openlog
    linkageType: ''
    returnType: void
    signature: void spawn_loop(const char *prog)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/http_server.c:199,1
    - Dst: log_set_verbosity
      Src: /src/openssl/apps/lib/http_server.c:200,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/http_server.c:202,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/apps/lib/http_server.c:202,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/http_server.c:205,1
    - Dst: BIO_s_accept
      Src: /src/openssl/apps/lib/http_server.c:205,1
    - Dst: BIO_set_accept_ip_family
      Src: /src/openssl/apps/lib/http_server.c:207,1
    - Dst: BIO_set_bind_mode
      Src: /src/openssl/apps/lib/http_server.c:208,1
    - Dst: BIO_set_accept_name
      Src: /src/openssl/apps/lib/http_server.c:209,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:210,1
    - Dst: BIO_set_accept_bios
      Src: /src/openssl/apps/lib/http_server.c:214,1
    - Dst: BIO_do_accept
      Src: /src/openssl/apps/lib/http_server.c:216,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:217,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/lib/http_server.c:222,1
    - Dst: report_server_accept
      Src: /src/openssl/apps/lib/http_server.c:223,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:225,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/http_server.c:232,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/http_server.c:233,1
    - Dst: BIO_free
      Src: /src/openssl/apps/lib/http_server.c:234,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - prog
    - port
    - verb
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 236
    functionName: http_server_init
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - BIO_set_accept_ip_family
    - BIO_set_accept_name
    - BIO_free
    - BIO_s_accept
    - BIO_free_all
    - BIO_snprintf
    - BIO_get_fd
    - BIO_f_buffer
    - log_HTTP1
    - report_server_accept
    - ERR_print_errors
    - log_HTTP
    - log_set_verbosity
    - BIO_set_bind_mode
    - BIO_do_accept
    - BIO_set_accept_bios
    linkageType: ''
    returnType: BIO
    signature: BIO *http_server_init(const char *prog, const char *port, int verb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/openssl/apps/lib/http_server.c:249,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/http_server.c:249,1
    - Dst: isxdigit
      Src: /src/openssl/apps/lib/http_server.c:249,1
    - Dst: _UC
      Src: /src/openssl/apps/lib/http_server.c:249,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/lib/http_server.c:251,1
    - Dst: OPENSSL_hexchar2int
      Src: /src/openssl/apps/lib/http_server.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: urldecode
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 0
    functionsReached:
    - _UC
    - OPENSSL_hexchar2int
    - isxdigit
    linkageType: ''
    returnType: int
    signature: int urldecode(char *p)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: get_sock_info_address
      Src: /src/openssl/apps/lib/http_server.c:283,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/lib/http_server.c:283,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:285,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:288,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/http_server.c:290,1
    - Dst: BIO_do_accept
      Src: /src/openssl/apps/lib/http_server.c:292,1
    - Dst: BIO_pop
      Src: /src/openssl/apps/lib/http_server.c:296,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:298,1
    - Dst: BIO_get_fd
      Src: /src/openssl/apps/lib/http_server.c:308,1
    - Dst: alarm
      Src: /src/openssl/apps/lib/http_server.c:309,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/lib/http_server.c:314,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:319,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:320,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:324,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:325,1
    - Dst: log_get_verbosity
      Src: /src/openssl/apps/lib/http_server.c:327,1
    - Dst: trace_log_message
      Src: /src/openssl/apps/lib/http_server.c:328,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:330,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:331,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:333,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:335,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/http_server.c:340,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/apps/lib/http_server.c:341,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:348,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:351,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/apps/lib/http_server.c:360,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:361,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:364,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/http_server.c:377,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:378,1
    - Dst: urldecode
      Src: /src/openssl/apps/lib/http_server.c:382,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:384,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:386,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/http_server.c:389,1
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/apps/lib/http_server.c:390,1
    - Dst: BIO_new
      Src: /src/openssl/apps/lib/http_server.c:391,1
    - Dst: BIO_f_base64
      Src: /src/openssl/apps/lib/http_server.c:391,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:392,1
    - Dst: BIO_set_flags
      Src: /src/openssl/apps/lib/http_server.c:396,1
    - Dst: BIO_push
      Src: /src/openssl/apps/lib/http_server.c:397,1
    - Dst: log_HTTP2
      Src: /src/openssl/apps/lib/http_server.c:400,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:403,1
    - Dst: BIO_gets
      Src: /src/openssl/apps/lib/http_server.c:418,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:420,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:421,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:425,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:426,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:428,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:431,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:433,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:441,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:443,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:445,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/http_server.c:453,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/http_server.c:454,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/apps/lib/http_server.c:456,1
    - Dst: alarm
      Src: /src/openssl/apps/lib/http_server.c:463,1
    - Dst: ASN1_item_d2i_bio
      Src: /src/openssl/apps/lib/http_server.c:468,1
    - Dst: log_HTTP
      Src: /src/openssl/apps/lib/http_server.c:470,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:472,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/http_server.c:473,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:474,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/http_server.c:475,1
    - Dst: ASN1_item_free
      Src: /src/openssl/apps/lib/http_server.c:476,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/http_server.c:483,1
    - Dst: alarm
      Src: /src/openssl/apps/lib/http_server.c:486,1
    - Dst: http_server_send_status
      Src: /src/openssl/apps/lib/http_server.c:492,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/http_server.c:494,1
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/http_server.c:497,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 176
    argCount: 9
    argNames:
    - it
    - preq
    - ppath
    - pcbio
    - acbio
    - found_keep_alive
    - prog
    - accept_get
    - timeout
    argTypes:
    - ASN1_ITEM*
    - ASN1_VALUE**
    - char**
    - BIO**
    - BIO*
    - int*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 264
    functionDepth: 7
    functionLinenumber: 264
    functionLinenumberEnd: 501
    functionName: http_server_get_asn1_req
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 2
    functionsReached:
    - OPENSSL_strcasecmp
    - BIO_f_base64
    - ASN1_item_free
    - OPENSSL_free
    - strlen
    - HAS_PREFIX
    - BIO_new
    - http_server_send_status
    - CHECK_AND_SKIP_PREFIX
    - BIO_free_all
    - BIO_push
    - OPENSSL_strdup
    - get_sock_info_address
    - BIO_set_flags
    - strchr
    - trace_log_message
    - BIO_gets
    - urldecode
    - log_HTTP2
    - log_HTTP
    - BIO_do_accept
    - log_get_verbosity
    - alarm
    - BIO_get_fd
    - log_HTTP1
    - BIO_new_mem_buf
    - BIO_pop
    - ASN1_item_d2i_bio
    linkageType: ''
    returnType: int
    signature: "int http_server_get_asn1_req(const ASN1_ITEM *it, ASN1_VALUE **preq,\n
      \                            char **ppath, BIO **pcbio, BIO *acbio,\n                             int
      *found_keep_alive,\n                             const char *prog, int accept_get,
      int timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/http_server.c:509,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/apps/lib/http_server.c:514,1
    - Dst: log_get_verbosity
      Src: /src/openssl/apps/lib/http_server.c:518,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/http_server.c:518,1
    - Dst: trace_log_message
      Src: /src/openssl/apps/lib/http_server.c:519,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:522,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/http_server.c:524,1
    - Dst: ASN1_item_i2d_bio
      Src: /src/openssl/apps/lib/http_server.c:525,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/http_server.c:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 6
    argNames:
    - prog
    - cbio
    - keep_alive
    - content_type
    - it
    - resp
    argTypes:
    - char*
    - BIO*
    - int
    - char*
    - ASN1_ITEM*
    - ASN1_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 504
    functionDepth: 7
    functionLinenumber: 504
    functionLinenumberEnd: 529
    functionName: http_server_send_asn1_resp
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 2
    functionsReached:
    - log_get_verbosity
    - strchr
    - trace_log_message
    - ASN1_item_i2d
    - ASN1_item_i2d_bio
    - BIO_flush
    - BIO_snprintf
    - log_HTTP1
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int http_server_send_asn1_resp(const char *prog, BIO *cbio, int keep_alive,\n
      \                              const char *content_type,\n                               const
      ASN1_ITEM *it, const ASN1_VALUE *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/http_server.c:535,1
    - Dst: log_HTTP1
      Src: /src/openssl/apps/lib/http_server.c:541,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/http_server.c:543,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/http_server.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - prog
    - cbio
    - status
    - reason
    argTypes:
    - char*
    - BIO*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 546
    functionName: http_server_send_status
    functionSourceFile: /src/openssl/apps/lib/http_server.c
    functionUses: 2
    functionsReached:
    - BIO_snprintf
    - BIO_flush
    - log_HTTP1
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int http_server_send_status(const char *prog, BIO *cbio,\n                            int
      status, const char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/apps/lib/app_x509.c:25,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_x509.c:28,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/apps/lib/app_x509.c:29,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/apps/lib/app_x509.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - value
    - value_n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: mk_octet_string
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - ASN1_OCTET_STRING_set
    - ASN1_OCTET_STRING_new
    - BIO_printf
    - ASN1_OCTET_STRING_free
    linkageType: ''
    returnType: ASN1_OCTET_STRING
    signature: ASN1_OCTET_STRING *mk_octet_string(void *value, size_t value_n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mk_octet_string
      Src: /src/openssl/apps/lib/app_x509.c:43,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_x509.c:46,1
    - Dst: X509_set0_distinguishing_id
      Src: /src/openssl/apps/lib/app_x509.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - object
    - cmd
    - value
    - value_n
    argTypes:
    - void*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: x509_ctrl
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - X509_set0_distinguishing_id
    - mk_octet_string
    linkageType: ''
    returnType: int
    signature: int x509_ctrl(void *object, int cmd, void *value, size_t value_n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mk_octet_string
      Src: /src/openssl/apps/lib/app_x509.c:67,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/app_x509.c:70,1
    - Dst: X509_REQ_set0_distinguishing_id
      Src: /src/openssl/apps/lib/app_x509.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - object
    - cmd
    - value
    - value_n
    argTypes:
    - void*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: x509_req_ctrl
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - X509_REQ_set0_distinguishing_id
    - mk_octet_string
    linkageType: ''
    returnType: int
    signature: int x509_req_ctrl(void *object, int cmd, void *value, size_t value_n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/apps/lib/app_x509.c:94,1
    - Dst: strchr
      Src: /src/openssl/apps/lib/app_x509.c:97,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/app_x509.c:101,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/app_x509.c:104,1
    - Dst: strcmp
      Src: /src/openssl/apps/lib/app_x509.c:108,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/apps/lib/app_x509.c:113,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_x509.c:114,1
    - Dst: ctrl
      Src: /src/openssl/apps/lib/app_x509.c:123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/app_x509.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - object
    - value
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 127
    functionName: do_x509_ctrl_string
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - strchr
    - ctrl
    - OPENSSL_hexstr2buf
    - OPENSSL_free
    - OPENSSL_strdup
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int do_x509_ctrl_string(int (*ctrl)(void *object, int cmd,\n                                           void
      *value, size_t value_n),\n                               void *object, const
      char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_ctrl_string
      Src: /src/openssl/apps/lib/app_x509.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - value
    argTypes:
    - X509*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: x509_ctrl_string
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 2
    functionsReached:
    - do_x509_ctrl_string
    linkageType: ''
    returnType: int
    signature: int x509_ctrl_string(X509 *x, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_x509_ctrl_string
      Src: /src/openssl/apps/lib/app_x509.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - value
    argTypes:
    - X509_REQ*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: x509_req_ctrl_string
    functionSourceFile: /src/openssl/apps/lib/app_x509.c
    functionUses: 0
    functionsReached:
    - do_x509_ctrl_string
    linkageType: ''
    returnType: int
    signature: int x509_req_ctrl_string(X509_REQ *x, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - val
    - list
    - def
    argTypes:
    - int
    - STRINT_PAIR*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: lookup
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *lookup(int val, const STRINT_PAIR* list, const char* def)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/openssl/apps/lib/s_cb.c:53,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/apps/lib/s_cb.c:54,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/openssl/apps/lib/s_cb.c:55,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:58,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/s_cb.c:60,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/s_cb.c:61,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/s_cb.c:62,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:63,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:65,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:69,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/lib/s_cb.c:70,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:83,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/s_cb.c:84,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/apps/lib/s_cb.c:84,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/s_cb.c:85,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:86,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:92,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/apps/lib/s_cb.c:93,1
    - Dst: X509_get0_notBefore
      Src: /src/openssl/apps/lib/s_cb.c:93,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:94,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:100,1
    - Dst: ASN1_TIME_print
      Src: /src/openssl/apps/lib/s_cb.c:101,1
    - Dst: X509_get0_notAfter
      Src: /src/openssl/apps/lib/s_cb.c:101,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:102,1
    - Dst: policies_print
      Src: /src/openssl/apps/lib/s_cb.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:111,1
    - Dst: policies_print
      Src: /src/openssl/apps/lib/s_cb.c:115,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:117,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 48
    functionDepth: 7
    functionLinenumber: 48
    functionLinenumberEnd: 119
    functionName: verify_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - X509_STORE_CTX_get_error_depth
    - get_nameopt
    - X509_NAME_print_ex
    - BIO_puts
    - X509_get_subject_name
    - X509_get_issuer_name
    - X509_STORE_CTX_get_current_cert
    - ASN1_TIME_print
    - X509_get0_notBefore
    - policies_print
    - X509_verify_cert_error_string
    - X509_get0_notAfter
    - X509_STORE_CTX_get_error
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int verify_callback(int ok, X509_STORE_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/apps/lib/s_cb.c:124,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:126,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_cb.c:128,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/apps/lib/s_cb.c:133,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:134,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_cb.c:136,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/openssl/apps/lib/s_cb.c:149,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - cert_file
    - key_file
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 121
    functionDepth: 5
    functionLinenumber: 121
    functionLinenumberEnd: 156
    functionName: set_cert_stuff
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_use_certificate_file
    - SSL_CTX_check_private_key
    - ERR_print_errors
    - BIO_printf
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_certificate_types
      Src: /src/openssl/apps/lib/s_cb.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:219,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:222,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:225,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:227,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:229,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 232
    functionName: ssl_print_client_cert_types
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - lookup
    - SSL_get0_certificate_types
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void ssl_print_client_cert_types(BIO *bio, SSL *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 234
    functionDepth: 6
    functionLinenumber: 234
    functionLinenumberEnd: 268
    functionName: get_sigtype
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    linkageType: ''
    returnType: char
    signature: char *get_sigtype(int nid)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:274,1
    - Dst: SSL_get_shared_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:276,1
    - Dst: SSL_get_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:278,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:283,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:286,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:287,1
    - Dst: SSL_get_shared_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:293,1
    - Dst: SSL_get_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:296,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:298,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:301,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:304,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:307,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:310,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:313,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:316,1
    - Dst: get_sigtype
      Src: /src/openssl/apps/lib/s_cb.c:319,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:321,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:323,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:325,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:325,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:327,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:329,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - out
    - s
    - shared
    argTypes:
    - BIO*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 270
    functionDepth: 7
    functionLinenumber: 270
    functionLinenumberEnd: 331
    functionName: do_print_sigalgs
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - SSL_get_shared_sigalgs
    - BIO_puts
    - get_sigtype
    - OBJ_nid2sn
    - SSL_get_sigalgs
    - SSL_is_server
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int do_print_sigalgs(BIO *out, SSL *s, int shared)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:338,1
    - Dst: ssl_print_client_cert_types
      Src: /src/openssl/apps/lib/s_cb.c:339,1
    - Dst: do_print_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:340,1
    - Dst: do_print_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:341,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/apps/lib/s_cb.c:342,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:343,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:343,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/apps/lib/s_cb.c:344,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:345,1
    - Dst: SSL_get_peer_signature_type_nid
      Src: /src/openssl/apps/lib/s_cb.c:346,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:347,1
    - Dst: get_sigtype
      Src: /src/openssl/apps/lib/s_cb.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 333
    functionDepth: 8
    functionLinenumber: 333
    functionLinenumberEnd: 349
    functionName: ssl_print_sigalgs
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - ssl_print_client_cert_types
    - get_sigtype
    - OBJ_nid2sn
    - do_print_sigalgs
    - SSL_get0_peer_signature_name
    - SSL_get_peer_signature_type_nid
    - SSL_is_server
    - SSL_get_peer_signature_nid
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ssl_print_sigalgs(BIO *out, SSL *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_ec_point_formats
      Src: /src/openssl/apps/lib/s_cb.c:357,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:360,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:363,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:366,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:370,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:374,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:378,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 385
    functionName: ssl_print_point_formats
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    - BIO_puts
    - SSL_get0_ec_point_formats
    linkageType: ''
    returnType: int
    signature: int ssl_print_point_formats(BIO *out, SSL *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get1_groups
      Src: /src/openssl/apps/lib/s_cb.c:391,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/s_cb.c:394,1
    - Dst: SSL_get1_groups
      Src: /src/openssl/apps/lib/s_cb.c:395,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:397,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:400,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:402,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/apps/lib/s_cb.c:402,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_cb.c:404,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:406,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:409,1
    - Dst: SSL_get_shared_group
      Src: /src/openssl/apps/lib/s_cb.c:410,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:413,1
    - Dst: SSL_get_shared_group
      Src: /src/openssl/apps/lib/s_cb.c:414,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:415,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/apps/lib/s_cb.c:415,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:418,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - out
    - s
    - noshared
    argTypes:
    - BIO*
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 421
    functionName: ssl_print_groups
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - BIO_puts
    - SSL_get_shared_group
    - app_malloc
    - SSL_get1_groups
    - OPENSSL_free
    - BIO_printf
    - SSL_group_to_name
    linkageType: ''
    returnType: int
    signature: int ssl_print_groups(BIO *out, SSL *s, int noshared)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_tmp_key
      Src: /src/openssl/apps/lib/s_cb.c:429,1
    - Dst: SSL_version
      Src: /src/openssl/apps/lib/s_cb.c:430,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:431,1
    - Dst: SSL_group_to_name
      Src: /src/openssl/apps/lib/s_cb.c:432,1
    - Dst: SSL_get_negotiated_group
      Src: /src/openssl/apps/lib/s_cb.c:432,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:436,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/apps/lib/s_cb.c:437,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:439,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:439,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/lib/s_cb.c:443,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:445,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:449,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:449,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/openssl/apps/lib/s_cb.c:457,1
    - Dst: strcpy
      Src: /src/openssl/apps/lib/s_cb.c:459,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:460,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:460,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:465,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:465,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/apps/lib/s_cb.c:465,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:466,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/s_cb.c:468,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - out
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 424
    functionDepth: 6
    functionLinenumber: 424
    functionLinenumberEnd: 470
    functionName: ssl_print_tmp_key
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - strcpy
    - BIO_puts
    - EVP_PKEY_get_bits
    - EVP_PKEY_get_id
    - SSL_version
    - EVP_PKEY_get0_type_name
    - OBJ_nid2sn
    - EVP_PKEY_free
    - EVP_PKEY_get_utf8_string_param
    - SSL_get_peer_tmp_key
    - SSL_group_to_name
    - BIO_printf
    - SSL_get_negotiated_group
    linkageType: ''
    returnType: int
    signature: int ssl_print_tmp_key(BIO *out, SSL *s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_callback_arg
      Src: /src/openssl/apps/lib/s_cb.c:479,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:486,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:488,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:490,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:497,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:499,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:501,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:513,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:517,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:522,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:534,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:538,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:543,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 8
    argNames:
    - bio
    - cmd
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 553
    functionName: bio_dump_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - BIO_get_callback_arg
    - BIO_dump
    - BIO_printf
    linkageType: ''
    returnType: long
    signature: "long bio_dump_callback(BIO *bio, int cmd, const char *argp, size_t
      len,\n                       int argi, long argl, int ret, size_t *processed)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:570,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/apps/lib/s_cb.c:570,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:573,1
    - Dst: SSL_alert_type_string_long
      Src: /src/openssl/apps/lib/s_cb.c:575,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/openssl/apps/lib/s_cb.c:576,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:579,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/apps/lib/s_cb.c:580,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:582,1
    - Dst: SSL_state_string_long
      Src: /src/openssl/apps/lib/s_cb.c:583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - s
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 585
    functionName: apps_ssl_info_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - SSL_alert_type_string_long
    - SSL_state_string_long
    - SSL_alert_desc_string_long
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void apps_ssl_info_callback(const SSL *s, int where, int ret)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:677,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:696,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:704,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/s_cb.c:719,1
    - Dst: BIO_snprintf
      Src: /src/openssl/apps/lib/s_cb.c:723,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:727,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:734,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:738,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:739,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:742,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:743,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:745,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 746
    functionName: msg_cb
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_snprintf
    - lookup
    - BIO_flush
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void msg_cb(int write_p, int version, int content_type, const void
      *buf,\n            size_t len, SSL *ssl, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:845,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:847,1
    - Dst: BIO_dump
      Src: /src/openssl/apps/lib/s_cb.c:849,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - s
    - client_server
    - type
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - int
    - int
    - unsigned char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 851
    functionName: tlsext_cb
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - lookup
    - BIO_flush
    - BIO_dump
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void tlsext_cb(SSL *s, int client_server, int type,\n               const
      unsigned char *data, int len, void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/openssl/apps/lib/s_cb.c:865,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:866,1
    - Dst: SSL_is_dtls
      Src: /src/openssl/apps/lib/s_cb.c:872,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/apps/lib/s_cb.c:873,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:875,1
    - Dst: BIO_dgram_get_peer
      Src: /src/openssl/apps/lib/s_cb.c:880,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/apps/lib/s_cb.c:880,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/apps/lib/s_cb.c:886,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:887,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_cb.c:888,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/s_cb.c:891,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/apps/lib/s_cb.c:892,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/s_cb.c:894,1
    - Dst: memcpy
      Src: /src/openssl/apps/lib/s_cb.c:896,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/apps/lib/s_cb.c:897,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/apps/lib/s_cb.c:899,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:902,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_cb.c:908,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/apps/lib/s_cb.c:909,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 854
    functionDepth: 8
    functionLinenumber: 854
    functionLinenumberEnd: 912
    functionName: generate_stateless_cookie_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - EVP_Q_mac
    - BIO_ADDR_new
    - SSL_is_dtls
    - BIO_ADDR_free
    - memcpy
    - OPENSSL_assert
    - RAND_bytes
    - OPENSSL_free
    - BIO_dgram_get_peer
    - BIO_ADDR_rawaddress
    - BIO_ADDR_rawport
    - SSL_get_rbio
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: int
    signature: "int generate_stateless_cookie_callback(SSL *ssl, unsigned char *cookie,\n
      \                                      size_t *cookie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_stateless_cookie_callback
      Src: /src/openssl/apps/lib/s_cb.c:923,1
    - Dst: memcmp
      Src: /src/openssl/apps/lib/s_cb.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 929
    functionName: verify_stateless_cookie_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - generate_stateless_cookie_callback
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int verify_stateless_cookie_callback(SSL *ssl, const unsigned char
      *cookie,\n                                     size_t cookie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_stateless_cookie_callback
      Src: /src/openssl/apps/lib/s_cb.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 940
    functionName: generate_cookie_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - generate_stateless_cookie_callback
    linkageType: ''
    returnType: int
    signature: "int generate_cookie_callback(SSL *ssl, unsigned char *cookie,\n                             unsigned
      int *cookie_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: verify_stateless_cookie_callback
      Src: /src/openssl/apps/lib/s_cb.c:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - cookie
    - cookie_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 946
    functionName: verify_cookie_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - verify_stateless_cookie_callback
    linkageType: ''
    returnType: int
    signature: "int verify_cookie_callback(SSL *ssl, const unsigned char *cookie,\n
      \                          unsigned int cookie_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:989,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:992,1
    - Dst: SSL_set_cert_flags
      Src: /src/openssl/apps/lib/s_cb.c:993,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:994,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 997
    functionName: print_chain_flags
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_printf
    - SSL_set_cert_flags
    linkageType: ''
    returnType: void
    signature: void print_chain_flags(SSL *s, int flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1012,1
    - Dst: SSL_certs_clear
      Src: /src/openssl/apps/lib/s_cb.c:1018,1
    - Dst: SSL_check_chain
      Src: /src/openssl/apps/lib/s_cb.c:1034,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1035,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/s_cb.c:1036,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/s_cb.c:1036,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/s_cb.c:1037,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1038,1
    - Dst: print_chain_flags
      Src: /src/openssl/apps/lib/s_cb.c:1039,1
    - Dst: SSL_use_certificate
      Src: /src/openssl/apps/lib/s_cb.c:1041,1
    - Dst: SSL_use_PrivateKey
      Src: /src/openssl/apps/lib/s_cb.c:1042,1
    - Dst: SSL_build_cert_chain
      Src: /src/openssl/apps/lib/s_cb.c:1051,1
    - Dst: SSL_set1_chain
      Src: /src/openssl/apps/lib/s_cb.c:1054,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1003
    functionDepth: 7
    functionLinenumber: 1003
    functionLinenumberEnd: 1061
    functionName: set_cert_cb
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - SSL_check_chain
    - get_nameopt
    - X509_NAME_print_ex
    - SSL_use_certificate
    - BIO_puts
    - X509_get_subject_name
    - SSL_set1_chain
    - print_chain_flags
    - SSL_use_PrivateKey
    - SSL_build_cert_chain
    - SSL_certs_clear
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int set_cert_cb(SSL *ssl, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cert_cb
      Src: /src/openssl/apps/lib/s_cb.c:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - exc
    argTypes:
    - SSL_CTX*
    - SSL_EXCERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1066
    functionName: ssl_ctx_set_excert
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_set_cert_cb
    linkageType: ''
    returnType: void
    signature: void ssl_ctx_set_excert(SSL_CTX *ctx, SSL_EXCERT *exc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/s_cb.c:1070,1
    - Dst: memset
      Src: /src/openssl/apps/lib/s_cb.c:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pexc
    argTypes:
    - SSL_EXCERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1087
    functionName: ssl_excert_prepend
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - memset
    - app_malloc
    linkageType: ''
    returnType: int
    signature: int ssl_excert_prepend(SSL_EXCERT **pexc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/apps/lib/s_cb.c:1096,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/apps/lib/s_cb.c:1097,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/apps/lib/s_cb.c:1098,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_cb.c:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - exc
    argTypes:
    - SSL_EXCERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1089
    functionDepth: 4
    functionLinenumber: 1089
    functionLinenumberEnd: 1103
    functionName: ssl_excert_free
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - X509_free
    - OSSL_STACK_OF_X509_free
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void ssl_excert_free(SSL_EXCERT *exc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ssl_excert_free
      Src: /src/openssl/apps/lib/s_cb.c:1113,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1119,1
    - Dst: load_cert
      Src: /src/openssl/apps/lib/s_cb.c:1122,1
    - Dst: load_key
      Src: /src/openssl/apps/lib/s_cb.c:1127,1
    - Dst: load_key
      Src: /src/openssl/apps/lib/s_cb.c:1130,1
    - Dst: load_certs
      Src: /src/openssl/apps/lib/s_cb.c:1136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - pexc
    argTypes:
    - SSL_EXCERT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1105
    functionDepth: 5
    functionLinenumber: 1105
    functionLinenumberEnd: 1141
    functionName: load_excert
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - load_key
    - load_cert
    - load_certs
    - ssl_excert_free
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int load_excert(SSL_EXCERT **pexc)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/apps/lib/s_cb.c:1149,1
    - Dst: assert
      Src: /src/openssl/apps/lib/s_cb.c:1150,1
    - Dst: ssl_excert_prepend
      Src: /src/openssl/apps/lib/s_cb.c:1153,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1154,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1155,1
    - Dst: ssl_excert_prepend
      Src: /src/openssl/apps/lib/s_cb.c:1166,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1167,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1167,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1171,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1175,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1175,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1178,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1182,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1183,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1186,1
    - Dst: opt_format
      Src: /src/openssl/apps/lib/s_cb.c:1192,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1192,1
    - Dst: opt_format
      Src: /src/openssl/apps/lib/s_cb.c:1196,1
    - Dst: opt_arg
      Src: /src/openssl/apps/lib/s_cb.c:1196,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/s_cb.c:1203,1
    - Dst: ssl_excert_free
      Src: /src/openssl/apps/lib/s_cb.c:1204,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - opt
    - pexc
    argTypes:
    - int
    - SSL_EXCERT**
    assertStmts:
    - condition: (opt > OPT_X__FIRST)
      pos:
        line_end: 1148
        line_start: 1148
        source_file: /src/openssl/apps/lib/s_cb.c
    - condition: (opt < OPT_X__LAST)
      pos:
        line_end: 1149
        line_start: 1149
        source_file: /src/openssl/apps/lib/s_cb.c
    constantsTouched: []
    func_position:
      end: 1207
      start: 1145
    functionDepth: 5
    functionLinenumber: 1145
    functionLinenumberEnd: 1207
    functionName: args_excert
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - opt_getprog
    - opt_format
    - assert
    - ssl_excert_free
    - ERR_print_errors
    - ssl_excert_prepend
    - opt_arg
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int args_excert(int opt, SSL_EXCERT **pexc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:1215,1
    - Dst: SSL_get0_raw_cipherlist
      Src: /src/openssl/apps/lib/s_cb.c:1217,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/apps/lib/s_cb.c:1218,1
    - Dst: SSL_get0_raw_cipherlist
      Src: /src/openssl/apps/lib/s_cb.c:1219,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1220,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/apps/lib/s_cb.c:1222,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1224,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1226,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/lib/s_cb.c:1226,1
    - Dst: memcmp
      Src: /src/openssl/apps/lib/s_cb.c:1227,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1228,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1231,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1233,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1209
    functionDepth: 3
    functionLinenumber: 1209
    functionLinenumberEnd: 1237
    functionName: print_raw_cipherlist
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - memcmp
    - BIO_puts
    - OPENSSL_assert
    - SSL_CIPHER_find
    - SSL_get0_raw_cipherlist
    - SSL_is_server
    - SSL_CIPHER_get_name
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_raw_cipherlist(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1251,1
    - Dst: opt_getprog
      Src: /src/openssl/apps/lib/s_cb.c:1252,1
    - Dst: exit
      Src: /src/openssl/apps/lib/s_cb.c:1253,1
    - Dst: app_malloc
      Src: /src/openssl/apps/lib/s_cb.c:1255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1263
    functionName: hexencode
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - opt_getprog
    - exit
    - BIO_printf
    - app_malloc
    linkageType: ''
    returnType: char
    signature: char *hexencode(const unsigned char *data, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/openssl/apps/lib/s_cb.c:1269,1
    - Dst: SSL_get0_peername
      Src: /src/openssl/apps/lib/s_cb.c:1272,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1274,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1276,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/apps/lib/s_cb.c:1278,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1280,1
    - Dst: SSL_get0_dane_authority
      Src: /src/openssl/apps/lib/s_cb.c:1283,1
    - Dst: SSL_get0_dane_tlsa
      Src: /src/openssl/apps/lib/s_cb.c:1289,1
    - Dst: hexencode
      Src: /src/openssl/apps/lib/s_cb.c:1300,1
    - Dst: hexencode
      Src: /src/openssl/apps/lib/s_cb.c:1302,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1303,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/apps/lib/s_cb.c:1306,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1307,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/s_cb.c:1312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - s
    - bio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1265
    functionDepth: 3
    functionLinenumber: 1265
    functionLinenumberEnd: 1314
    functionName: print_verify_detail
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 1
    functionsReached:
    - SSL_get0_peer_rpk
    - SSL_get_verify_result
    - SSL_get0_dane_tlsa
    - OPENSSL_free
    - X509_verify_cert_error_string
    - SSL_get0_peername
    - hexencode
    - SSL_get0_dane_authority
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_verify_detail(SSL *s, BIO *bio)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/apps/lib/s_cb.c:1320,1
    - Dst: SSL_get0_peer_rpk
      Src: /src/openssl/apps/lib/s_cb.c:1321,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1324,1
    - Dst: SSL_get_version
      Src: /src/openssl/apps/lib/s_cb.c:1324,1
    - Dst: print_raw_cipherlist
      Src: /src/openssl/apps/lib/s_cb.c:1325,1
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/apps/lib/s_cb.c:1326,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1327,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/lib/s_cb.c:1327,1
    - Dst: do_print_sigalgs
      Src: /src/openssl/apps/lib/s_cb.c:1328,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1330,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/s_cb.c:1331,1
    - Dst: X509_get_subject_name
      Src: /src/openssl/apps/lib/s_cb.c:1331,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/s_cb.c:1332,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1333,1
    - Dst: SSL_get_peer_signature_nid
      Src: /src/openssl/apps/lib/s_cb.c:1334,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1335,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:1335,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/apps/lib/s_cb.c:1336,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1337,1
    - Dst: print_verify_detail
      Src: /src/openssl/apps/lib/s_cb.c:1338,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1340,1
    - Dst: SSL_get0_peer_signature_name
      Src: /src/openssl/apps/lib/s_cb.c:1341,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1342,1
    - Dst: print_verify_detail
      Src: /src/openssl/apps/lib/s_cb.c:1343,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1345,1
    - Dst: ssl_print_point_formats
      Src: /src/openssl/apps/lib/s_cb.c:1348,1
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:1349,1
    - Dst: ssl_print_groups
      Src: /src/openssl/apps/lib/s_cb.c:1350,1
    - Dst: ssl_print_tmp_key
      Src: /src/openssl/apps/lib/s_cb.c:1352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1316
    functionDepth: 8
    functionLinenumber: 1316
    functionLinenumberEnd: 1353
    functionName: print_ssl_summary
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - ssl_print_tmp_key
    - do_print_sigalgs
    - SSL_get_version
    - SSL_get0_peer_certificate
    - ssl_print_point_formats
    - SSL_get_current_cipher
    - SSL_is_server
    - BIO_printf
    - print_raw_cipherlist
    - SSL_get0_peer_rpk
    - get_nameopt
    - X509_NAME_print_ex
    - BIO_puts
    - OBJ_nid2sn
    - ssl_print_groups
    - X509_get_subject_name
    - print_verify_detail
    - SSL_get0_peer_signature_name
    - SSL_get_peer_signature_nid
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: void
    signature: void print_ssl_summary(SSL *s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/lib/s_cb.c:1415,1
    - Dst: X509_STORE_load_file
      Src: /src/openssl/apps/lib/s_cb.c:1418,1
    - Dst: X509_STORE_load_path
      Src: /src/openssl/apps/lib/s_cb.c:1420,1
    - Dst: X509_STORE_load_store
      Src: /src/openssl/apps/lib/s_cb.c:1422,1
    - Dst: add_crls_store
      Src: /src/openssl/apps/lib/s_cb.c:1424,1
    - Dst: SSL_CTX_set1_verify_cert_store
      Src: /src/openssl/apps/lib/s_cb.c:1425,1
    - Dst: store_setup_crl_download
      Src: /src/openssl/apps/lib/s_cb.c:1428,1
    - Dst: X509_STORE_new
      Src: /src/openssl/apps/lib/s_cb.c:1431,1
    - Dst: X509_STORE_load_file
      Src: /src/openssl/apps/lib/s_cb.c:1434,1
    - Dst: X509_STORE_load_path
      Src: /src/openssl/apps/lib/s_cb.c:1436,1
    - Dst: X509_STORE_load_store
      Src: /src/openssl/apps/lib/s_cb.c:1438,1
    - Dst: SSL_CTX_set1_chain_cert_store
      Src: /src/openssl/apps/lib/s_cb.c:1440,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/s_cb.c:1445,1
    - Dst: X509_STORE_free
      Src: /src/openssl/apps/lib/s_cb.c:1446,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 46
    argCount: 9
    argNames:
    - ctx
    - vfyCApath
    - vfyCAfile
    - vfyCAstore
    - chCApath
    - chCAfile
    - chCAstore
    - crls
    - crl_download
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    - STACK_OF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1404
    functionDepth: 4
    functionLinenumber: 1404
    functionLinenumberEnd: 1448
    functionName: ssl_load_stores
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - X509_STORE_new
    - SSL_CTX_set1_chain_cert_store
    - SSL_CTX_set1_verify_cert_store
    - X509_STORE_free
    - X509_STORE_load_file
    - X509_STORE_load_store
    - X509_STORE_load_path
    - add_crls_store
    - store_setup_crl_download
    linkageType: ''
    returnType: int
    signature: "int ssl_load_stores(SSL_CTX *ctx,\n                    const char
      *vfyCApath, const char *vfyCAfile,\n                    const char *vfyCAstore,\n
      \                   const char *chCApath, const char *chCAfile,\n                    const
      char *chCAstore,\n                    STACK_OF(X509_CRL) *crls, int crl_download)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: security_debug_ex*::old_cb
      Src: /src/openssl/apps/lib/s_cb.c:1493,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1496,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1498,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1507,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1507,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1523,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1528,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/apps/lib/s_cb.c:1528,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/apps/lib/s_cb.c:1535,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:1537,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1538,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/apps/lib/s_cb.c:1545,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1547,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/apps/lib/s_cb.c:1547,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/apps/lib/s_cb.c:1549,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1552,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1554,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/apps/lib/s_cb.c:1555,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/apps/lib/s_cb.c:1556,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1569,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1571,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1573,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1575,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1579,1
    - Dst: lookup
      Src: /src/openssl/apps/lib/s_cb.c:1580,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1583,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1585,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1592,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1593,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 7
    argNames:
    - s
    - ctx
    - op
    - bits
    - nid
    - other
    - ex
    argTypes:
    - SSL*
    - SSL_CTX*
    - int
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1484
    functionDepth: 6
    functionLinenumber: 1484
    functionLinenumberEnd: 1595
    functionName: security_callback_debug
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - lookup
    - security_debug_ex*::old_cb
    - X509_get0_pubkey
    - BIO_puts
    - OBJ_nid2sn
    - EC_curve_nid2nist
    - EVP_PKEY_get0_type_name
    - EVP_PKEY_get_bits
    - X509_get_signature_nid
    - SSL_CIPHER_get_name
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int security_callback_debug(const SSL *s, const SSL_CTX *ctx,\n                                   int
      op, int bits, int nid,\n                                   void *other, void
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_security_callback
      Src: /src/openssl/apps/lib/s_cb.c:1603,1
    - Dst: SSL_CTX_set_security_callback
      Src: /src/openssl/apps/lib/s_cb.c:1604,1
    - Dst: SSL_CTX_set0_security_ex_data
      Src: /src/openssl/apps/lib/s_cb.c:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - verbose
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1606
    functionName: ssl_ctx_security_debug
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_set0_security_ex_data
    - SSL_CTX_get_security_callback
    - SSL_CTX_set_security_callback
    linkageType: ''
    returnType: void
    signature: void ssl_ctx_security_debug(SSL_CTX *ctx, int verbose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1611,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1619,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:1620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1621
    functionName: keylog_callback
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - BIO_flush
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void keylog_callback(const SSL *ssl, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free_all
      Src: /src/openssl/apps/lib/s_cb.c:1626,1
    - Dst: BIO_new_file
      Src: /src/openssl/apps/lib/s_cb.c:1639,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1641,1
    - Dst: BIO_tell
      Src: /src/openssl/apps/lib/s_cb.c:1646,1
    - Dst: BIO_puts
      Src: /src/openssl/apps/lib/s_cb.c:1647,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:1649,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/openssl/apps/lib/s_cb.c:1651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - keylog_file
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1623
    functionDepth: 4
    functionLinenumber: 1623
    functionLinenumberEnd: 1653
    functionName: set_keylog_file
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 2
    functionsReached:
    - BIO_new_file
    - SSL_CTX_set_keylog_callback
    - BIO_puts
    - BIO_flush
    - BIO_tell
    - BIO_free_all
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int set_keylog_file(SSL_CTX *ctx, const char *keylog_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:1657,1
    - Dst: SSL_get0_peer_CA_list
      Src: /src/openssl/apps/lib/s_cb.c:1658,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/apps/lib/s_cb.c:1661,1
    - Dst: SSL_is_server
      Src: /src/openssl/apps/lib/s_cb.c:1662,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1663,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1667,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/apps/lib/s_cb.c:1668,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/apps/lib/s_cb.c:1669,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/apps/lib/s_cb.c:1669,1
    - Dst: get_nameopt
      Src: /src/openssl/apps/lib/s_cb.c:1669,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/s_cb.c:1670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1655
    functionDepth: 7
    functionLinenumber: 1655
    functionLinenumberEnd: 1672
    functionName: print_ca_names
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 4
    functionsReached:
    - BIO_write
    - get_nameopt
    - SSL_get0_peer_CA_list
    - X509_NAME_print_ex
    - sk_X509_NAME_value
    - sk_X509_NAME_num
    - SSL_is_server
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void print_ca_names(BIO *bio, SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_VERSION_ALLOWS_RENEGOTIATION
      Src: /src/openssl/apps/lib/s_cb.c:1676,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1677,1
    - Dst: SSL_get_secure_renegotiation_support
      Src: /src/openssl/apps/lib/s_cb.c:1678,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/s_cb.c:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - s
    argTypes:
    - BIO*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1674
    functionDepth: 2
    functionLinenumber: 1674
    functionLinenumberEnd: 1682
    functionName: ssl_print_secure_renegotiation_notes
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 3
    functionsReached:
    - SSL_VERSION_ALLOWS_RENEGOTIATION
    - SSL_get_secure_renegotiation_support
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void ssl_print_secure_renegotiation_notes(BIO *bio, SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_app_data
      Src: /src/openssl/apps/lib/s_cb.c:1686,1
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/openssl/apps/lib/s_cb.c:1687,1
    - Dst: BIO_write
      Src: /src/openssl/apps/lib/s_cb.c:1691,1
    - Dst: BIO_flush
      Src: /src/openssl/apps/lib/s_cb.c:1692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1684
    functionDepth: 4
    functionLinenumber: 1684
    functionLinenumberEnd: 1694
    functionName: progress_cb
    functionSourceFile: /src/openssl/apps/lib/s_cb.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_keygen_info
    - EVP_PKEY_CTX_get_app_data
    - BIO_write
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: int progress_cb(EVP_PKEY_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_opener
      Src: /src/openssl/apps/lib/apps_ui.c:20,1
    - Dst: opener
      Src: /src/openssl/apps/lib/apps_ui.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: ui_open
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - UI_method_get_opener
    - opener
    linkageType: ''
    returnType: int
    signature: int ui_open(UI *ui)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_input_flags
      Src: /src/openssl/apps/lib/apps_ui.c:31,1
    - Dst: UI_get0_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:32,1
    - Dst: UI_get_string_type
      Src: /src/openssl/apps/lib/apps_ui.c:33,1
    - Dst: UI_get0_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:38,1
    - Dst: UI_set_result
      Src: /src/openssl/apps/lib/apps_ui.c:41,1
    - Dst: UI_method_get_reader
      Src: /src/openssl/apps/lib/apps_ui.c:54,1
    - Dst: reader
      Src: /src/openssl/apps/lib/apps_ui.c:56,1
    - Dst: UI_set_result
      Src: /src/openssl/apps/lib/apps_ui.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 60
    functionName: ui_read
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - UI_get_input_flags
    - UI_get0_user_data
    - UI_method_get_reader
    - UI_get_string_type
    - reader
    - UI_set_result
    linkageType: ''
    returnType: int
    signature: int ui_read(UI *ui, UI_STRING *uis)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UI_get_input_flags
      Src: /src/openssl/apps/lib/apps_ui.c:66,1
    - Dst: UI_get0_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:67,1
    - Dst: UI_get_string_type
      Src: /src/openssl/apps/lib/apps_ui.c:68,1
    - Dst: UI_get0_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:73,1
    - Dst: UI_method_get_writer
      Src: /src/openssl/apps/lib/apps_ui.c:87,1
    - Dst: writer
      Src: /src/openssl/apps/lib/apps_ui.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: ui_write
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - UI_get_input_flags
    - UI_method_get_writer
    - UI_get0_user_data
    - writer
    - UI_get_string_type
    linkageType: ''
    returnType: int
    signature: int ui_write(UI *ui, UI_STRING *uis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_closer
      Src: /src/openssl/apps/lib/apps_ui.c:95,1
    - Dst: closer
      Src: /src/openssl/apps/lib/apps_ui.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: ui_close
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - UI_method_get_closer
    - closer
    linkageType: ''
    returnType: int
    signature: int ui_close(UI *ui)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UI_get0_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:106,1
    - Dst: UI_construct_prompt
      Src: /src/openssl/apps/lib/apps_ui.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ui
    - phrase_desc
    - object_name
    argTypes:
    - UI*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: ui_prompt_construct
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - UI_get0_user_data
    - UI_construct_prompt
    linkageType: ''
    returnType: char
    signature: "char *ui_prompt_construct(UI *ui, const char *phrase_desc,\n                                 const
      char *object_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_null
      Src: /src/openssl/apps/lib/apps_ui.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ui_meth
    argTypes:
    - UI_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: set_base_ui_method
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 1
    functionsReached:
    - UI_null
    linkageType: ''
    returnType: int
    signature: int set_base_ui_method(const UI_METHOD *ui_meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_null
      Src: /src/openssl/apps/lib/apps_ui.c:125,1
    - Dst: UI_OpenSSL
      Src: /src/openssl/apps/lib/apps_ui.c:127,1
    - Dst: UI_create_method
      Src: /src/openssl/apps/lib/apps_ui.c:129,1
    - Dst: UI_method_set_opener
      Src: /src/openssl/apps/lib/apps_ui.c:131,1
    - Dst: UI_method_set_reader
      Src: /src/openssl/apps/lib/apps_ui.c:132,1
    - Dst: UI_method_set_writer
      Src: /src/openssl/apps/lib/apps_ui.c:133,1
    - Dst: UI_method_set_closer
      Src: /src/openssl/apps/lib/apps_ui.c:134,1
    - Dst: UI_method_set_prompt_constructor
      Src: /src/openssl/apps/lib/apps_ui.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: setup_ui_method
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 2
    functionsReached:
    - UI_OpenSSL
    - UI_method_set_opener
    - UI_method_set_prompt_constructor
    - UI_method_set_closer
    - UI_method_set_reader
    - UI_method_set_writer
    - UI_create_method
    - UI_null
    linkageType: ''
    returnType: int
    signature: int setup_ui_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_destroy_method
      Src: /src/openssl/apps/lib/apps_ui.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: destroy_ui_method
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 2
    functionsReached:
    - UI_destroy_method
    linkageType: ''
    returnType: void
    signature: void destroy_ui_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: get_ui_method
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *get_ui_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/apps/lib/apps_ui.c:154,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps_ui.c:157,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps_ui.c:158,1
    - Dst: exit
      Src: /src/openssl/apps/lib/apps_ui.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sz
    - what
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: ui_malloc
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - ERR_print_errors
    - exit
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *ui_malloc(int sz, const char *what)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UI_new_method
      Src: /src/openssl/apps/lib/apps_ui.c:174,1
    - Dst: UI_construct_prompt
      Src: /src/openssl/apps/lib/apps_ui.c:179,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps_ui.c:181,1
    - Dst: UI_free
      Src: /src/openssl/apps/lib/apps_ui.c:182,1
    - Dst: UI_ctrl
      Src: /src/openssl/apps/lib/apps_ui.c:187,1
    - Dst: UI_add_user_data
      Src: /src/openssl/apps/lib/apps_ui.c:190,1
    - Dst: UI_add_input_string
      Src: /src/openssl/apps/lib/apps_ui.c:192,1
    - Dst: ui_malloc
      Src: /src/openssl/apps/lib/apps_ui.c:196,1
    - Dst: UI_add_verify_string
      Src: /src/openssl/apps/lib/apps_ui.c:197,1
    - Dst: UI_process
      Src: /src/openssl/apps/lib/apps_ui.c:202,1
    - Dst: UI_ctrl
      Src: /src/openssl/apps/lib/apps_ui.c:203,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/apps/lib/apps_ui.c:205,1
    - Dst: strlen
      Src: /src/openssl/apps/lib/apps_ui.c:208,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps_ui.c:210,1
    - Dst: ERR_print_errors
      Src: /src/openssl/apps/lib/apps_ui.c:211,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/lib/apps_ui.c:212,1
    - Dst: BIO_printf
      Src: /src/openssl/apps/lib/apps_ui.c:216,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/apps/lib/apps_ui.c:217,1
    - Dst: UI_free
      Src: /src/openssl/apps/lib/apps_ui.c:220,1
    - Dst: OPENSSL_free
      Src: /src/openssl/apps/lib/apps_ui.c:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - buf
    - bufsiz
    - verify
    - cb_data
    argTypes:
    - char*
    - int
    - int
    - PW_CB_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 164
    functionDepth: 6
    functionLinenumber: 164
    functionLinenumberEnd: 223
    functionName: password_callback
    functionSourceFile: /src/openssl/apps/lib/apps_ui.c
    functionUses: 5
    functionsReached:
    - OPENSSL_cleanse
    - UI_ctrl
    - UI_free
    - UI_process
    - OPENSSL_clear_free
    - strlen
    - UI_add_input_string
    - OPENSSL_free
    - UI_construct_prompt
    - ERR_print_errors
    - UI_add_user_data
    - ui_malloc
    - UI_new_method
    - BIO_printf
    - UI_add_verify_string
    linkageType: ''
    returnType: int
    signature: int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA
      *cb_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: KEYTYPE2NID
    functionSourceFile: /src/openssl/include/crypto/ecx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEYTYPE2NID(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: IS_IN_DEPEND_VECTOR
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_IN_DEPEND_VECTOR(offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - NAME
    - ','
    - INDEX
    - ','
    - BIT_INDEX
    - ','
    - HWPROBE_KEY
    - ','
    - HWPROBE_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RISCV_DEFINE_CAP(NAME, INDEX, BIT_INDEX, \\\n                          HWPROBE_KEY,
      HWPROBE_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - NAME
    - ','
    - INDEX
    - ','
    - BIT_INDEX
    - ','
    - HWPROBE_KEY
    - ','
    - HWPROBE_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RISCV_DEFINE_CAP(NAME, INDEX, BIT_INDEX, \\\n                           HWPROBE_KEY,
      HWPROBE_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - NAME
    - ','
    - INDEX
    - ','
    - BIT_INDEX
    - ','
    - HWPROBE_KEY
    - ','
    - HWPROBE_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RISCV_DEFINE_CAP(NAME, INDEX, BIT_INDEX,                   \\\n                          HWPROBE_KEY,
      HWPROBE_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - NAME
    - ','
    - INDEX
    - ','
    - BIT_INDEX
    - ','
    - OSSL_RISCV_HWPROBE_KEY
    - ','
    - OSSL_RISCV_HWPROBE_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RISCV_DEFINE_CAP(NAME, INDEX, BIT_INDEX, \\\n                          OSSL_RISCV_HWPROBE_KEY,
      OSSL_RISCV_HWPROBE_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - NAME
    - ','
    - INDEX
    - ','
    - BIT_INDEX
    - ','
    - HWPROBE_KEY
    - ','
    - HWPROBE_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RISCV_DEFINE_CAP(NAME, INDEX, BIT_INDEX,     \\\n                           HWPROBE_KEY,
      HWPROBE_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - NAME
    - ','
    - INDEX
    - ','
    - BIT_INDEX
    - ','
    - HWPROBE_KEY
    - ','
    - HWPROBE_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RISCV_DEFINE_CAP(NAME, INDEX, BIT_INDEX,     \\\n                           HWPROBE_KEY,
      HWPROBE_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - NAME
    - ','
    - INDEX
    - ','
    - BIT_INDEX
    - ','
    - HWPROBE_KEY
    - ','
    - HWPROBE_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: RISCV_DEFINE_CAP
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RISCV_DEFINE_CAP(NAME, INDEX, BIT_INDEX, \\\n                          HWPROBE_KEY,
      HWPROBE_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: RISCV_HAS_ZBB_AND_ZBC
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RISCV_HAS_ZBB_AND_ZBC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: RISCV_HAS_ZBKB_AND_ZKND_AND_ZKNE
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RISCV_HAS_ZBKB_AND_ZKND_AND_ZKNE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: RISCV_HAS_ZKND_AND_ZKNE
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RISCV_HAS_ZKND_AND_ZKNE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: RISCV_HAS_ZVKB
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RISCV_HAS_ZVKB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: RISCV_HAS_ZVKB_AND_ZVKNHA
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RISCV_HAS_ZVKB_AND_ZVKNHA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: RISCV_HAS_ZVKB_AND_ZVKNHB
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RISCV_HAS_ZVKB_AND_ZVKNHB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: RISCV_HAS_ZVKB_AND_ZVKSED
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RISCV_HAS_ZVKB_AND_ZVKSED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: RISCV_HAS_ZVKB_AND_ZVKSH
    functionSourceFile: /src/openssl/include/crypto/riscv_arch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RISCV_HAS_ZVKB_AND_ZVKSH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: SPARSE_ARRAY_OF
    functionSourceFile: /src/openssl/include/crypto/sparse_array.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARSE_ARRAY_OF(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - ctype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 72
    functionName: DEFINE_SPARSE_ARRAY_OF_INTERNAL
    functionSourceFile: /src/openssl/include/crypto/sparse_array.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SPARSE_ARRAY_OF_INTERNAL(type, ctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: DEFINE_SPARSE_ARRAY_OF
    functionSourceFile: /src/openssl/include/crypto/sparse_array.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SPARSE_ARRAY_OF(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: DEFINE_SPARSE_ARRAY_OF_CONST
    functionSourceFile: /src/openssl/include/crypto/sparse_array.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SPARSE_ARRAY_OF_CONST(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: evp_pkey_ctx_is_legacy
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evp_pkey_ctx_is_legacy(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: evp_pkey_ctx_is_provided
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evp_pkey_ctx_is_provided(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - kstruct
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: EVP_C_DATA
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_C_DATA(kstruct, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: BLOCK_CIPHER_ecb_loop
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_ecb_loop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cname
    - ','
    - cprefix
    - ','
    - kstruct
    - ','
    - ksched
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: BLOCK_CIPHER_func_ecb
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_func_ecb(cname, cprefix, kstruct, ksched)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - cname
    - ','
    - cprefix
    - ','
    - cbits
    - ','
    - kstruct
    - ','
    - ksched
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: BLOCK_CIPHER_func_ofb
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_func_ofb(cname, cprefix, cbits, kstruct, ksched)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cname
    - ','
    - cprefix
    - ','
    - kstruct
    - ','
    - ksched
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 417
    functionName: BLOCK_CIPHER_func_cbc
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_func_cbc(cname, cprefix, kstruct, ksched)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - cname
    - ','
    - cprefix
    - ','
    - cbits
    - ','
    - kstruct
    - ','
    - ksched
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 440
    functionName: BLOCK_CIPHER_func_cfb
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_func_cfb(cname, cprefix, cbits, kstruct, ksched)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - cname
    - ','
    - cprefix
    - ','
    - cbits
    - ','
    - kstruct
    - ','
    - ksched
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: BLOCK_CIPHER_all_funcs
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BLOCK_CIPHER_all_funcs(cname, cprefix, cbits, kstruct, ksched)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - cname
    - ','
    - nmode
    - ','
    - mode
    - ','
    - MODE
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - flags
    - ','
    - init_key
    - ','
    - cleanup
    - ','
    - set_asn1
    - ','
    - get_asn1
    - ','
    - ctrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 463
    functionName: BLOCK_CIPHER_def1
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BLOCK_CIPHER_def1(cname, nmode, mode, MODE, kstruct, nid, block_size,
      \\\n                          key_len, iv_len, flags, init_key, cleanup, \\\n
      \                         set_asn1, get_asn1, ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - flags
    - ','
    - init_key
    - ','
    - cleanup
    - ','
    - set_asn1
    - ','
    - get_asn1
    - ','
    - ctrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 469
    functionName: BLOCK_CIPHER_def_cbc
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BLOCK_CIPHER_def_cbc(cname, kstruct, nid, block_size, key_len, \\\n
      \                            iv_len, flags, init_key, cleanup, set_asn1, \\\n
      \                            get_asn1, ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - cbits
    - ','
    - flags
    - ','
    - init_key
    - ','
    - cleanup
    - ','
    - set_asn1
    - ','
    - get_asn1
    - ','
    - ctrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 476
    functionName: BLOCK_CIPHER_def_cfb
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, \\\n                             iv_len,
      cbits, flags, init_key, cleanup, \\\n                             set_asn1,
      get_asn1, ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - cbits
    - ','
    - flags
    - ','
    - init_key
    - ','
    - cleanup
    - ','
    - set_asn1
    - ','
    - get_asn1
    - ','
    - ctrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: BLOCK_CIPHER_def_ofb
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BLOCK_CIPHER_def_ofb(cname, kstruct, nid, key_len, \\\n                             iv_len,
      cbits, flags, init_key, cleanup, \\\n                             set_asn1,
      get_asn1, ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - flags
    - ','
    - init_key
    - ','
    - cleanup
    - ','
    - set_asn1
    - ','
    - get_asn1
    - ','
    - ctrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: BLOCK_CIPHER_def_ecb
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BLOCK_CIPHER_def_ecb(cname, kstruct, nid, block_size, key_len, \\\n
      \                            flags, init_key, cleanup, set_asn1, \\\n                             get_asn1,
      ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - cname
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - cbits
    - ','
    - flags
    - ','
    - init_key
    - ','
    - cleanup
    - ','
    - set_asn1
    - ','
    - get_asn1
    - ','
    - ctrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: BLOCK_CIPHER_defs
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BLOCK_CIPHER_defs(cname, kstruct, \\\n                          nid,
      block_size, key_len, iv_len, cbits, flags, \\\n                          init_key,
      cleanup, set_asn1, get_asn1, ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - cname
    - ','
    - ksched
    - ','
    - cprefix
    - ','
    - kstruct
    - ','
    - nid
    - ','
    - block_size
    - ','
    - key_len
    - ','
    - iv_len
    - ','
    - cbits
    - ','
    - flags
    - ','
    - init_key
    - ','
    - cleanup
    - ','
    - set_asn1
    - ','
    - get_asn1
    - ','
    - ctrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: IMPLEMENT_BLOCK_CIPHER
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_BLOCK_CIPHER(cname, ksched, cprefix, kstruct, nid, \\\n
      \                              block_size, key_len, iv_len, cbits, \\\n                               flags,
      init_key, \\\n                               cleanup, set_asn1, get_asn1, ctrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - cipher
    - ','
    - cprefix
    - ','
    - kstruct
    - ','
    - ksched
    - ','
    - keysize
    - ','
    - cbits
    - ','
    - iv_len
    - ','
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: IMPLEMENT_CFBR
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CFBR(cipher,cprefix,kstruct,ksched,keysize,cbits,iv_len,fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: evp_pkey_is_blank
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evp_pkey_is_blank(pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: evp_pkey_is_typed
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evp_pkey_is_typed(pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: evp_pkey_is_assigned
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evp_pkey_is_assigned(pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: evp_pkey_is_assigned
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evp_pkey_is_assigned(pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: evp_pkey_is_legacy
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evp_pkey_is_legacy(pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: evp_pkey_is_provided
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: evp_pkey_is_provided(pk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 742
    functionName: EVP_PKEY_CTX_IS_SIGNATURE_OP
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_CTX_IS_SIGNATURE_OP(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 745
    functionName: EVP_PKEY_CTX_IS_DERIVE_OP
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_CTX_IS_DERIVE_OP(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 748
    functionName: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_CTX_IS_ASYM_CIPHER_OP(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 751
    functionName: EVP_PKEY_CTX_IS_GEN_OP
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_CTX_IS_GEN_OP(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: EVP_PKEY_CTX_IS_FROMDATA_OP
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_CTX_IS_FROMDATA_OP(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 757
    functionName: EVP_PKEY_CTX_IS_KEM_OP
    functionSourceFile: /src/openssl/include/crypto/evp.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_CTX_IS_KEM_OP(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: declare_dh_bn
    functionSourceFile: /src/openssl/include/crypto/bn_dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_dh_bn(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: ossl_ml_kem_key_vinfo
    functionSourceFile: /src/openssl/include/crypto/ml_kem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_ml_kem_key_vinfo(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: ossl_ml_kem_have_pubkey
    functionSourceFile: /src/openssl/include/crypto/ml_kem.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_ml_kem_have_pubkey(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: ossl_ml_kem_have_prvkey
    functionSourceFile: /src/openssl/include/crypto/ml_kem.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_ml_kem_have_prvkey(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: ossl_ml_kem_have_seed
    functionSourceFile: /src/openssl/include/crypto/ml_kem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_ml_kem_have_seed(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: ossl_ml_kem_have_dkenc
    functionSourceFile: /src/openssl/include/crypto/ml_kem.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_ml_kem_have_dkenc(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: ossl_ml_kem_decoded_key
    functionSourceFile: /src/openssl/include/crypto/ml_kem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_ml_kem_decoded_key(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: ROTATE
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ROTATE
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: ROTATE
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: HOST_c2l
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HOST_c2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: HOST_l2c
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HOST_l2c(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: HOST_c2l
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HOST_c2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: HOST_l2c
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HOST_l2c(l,c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_unlikely
      Src: /src/openssl/include/crypto/md32_common.h:165,1
    - Dst: ossl_unlikely
      Src: /src/openssl/include/crypto/md32_common.h:169,1
    - Dst: ossl_likely
      Src: /src/openssl/include/crypto/md32_common.h:176,1
    - Dst: memcpy
      Src: /src/openssl/include/crypto/md32_common.h:180,1
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/openssl/include/crypto/md32_common.h:181,1
    - Dst: memset
      Src: /src/openssl/include/crypto/md32_common.h:192,1
    - Dst: memcpy
      Src: /src/openssl/include/crypto/md32_common.h:194,1
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/openssl/include/crypto/md32_common.h:202,1
    - Dst: memcpy
      Src: /src/openssl/include/crypto/md32_common.h:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - c
    - data_
    - len
    argTypes:
    - HASH_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 214
    functionName: HASH_UPDATE
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 0
    functionsReached:
    - ossl_unlikely
    - memset
    - memcpy
    - ossl_likely
    - HASH_BLOCK_DATA_ORDER
    linkageType: ''
    returnType: int
    signature: int HASH_UPDATE(HASH_CTX *c, const void *data_, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/openssl/include/crypto/md32_common.h:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - HASH_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: HASH_TRANSFORM
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 0
    functionsReached:
    - HASH_BLOCK_DATA_ORDER
    linkageType: ''
    returnType: void
    signature: void HASH_TRANSFORM(HASH_CTX *c, const unsigned char *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/include/crypto/md32_common.h:230,1
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/openssl/include/crypto/md32_common.h:232,1
    - Dst: memset
      Src: /src/openssl/include/crypto/md32_common.h:234,1
    - Dst: HOST_l2c
      Src: /src/openssl/include/crypto/md32_common.h:238,1
    - Dst: HOST_l2c
      Src: /src/openssl/include/crypto/md32_common.h:239,1
    - Dst: HOST_l2c
      Src: /src/openssl/include/crypto/md32_common.h:241,1
    - Dst: HOST_l2c
      Src: /src/openssl/include/crypto/md32_common.h:242,1
    - Dst: HASH_BLOCK_DATA_ORDER
      Src: /src/openssl/include/crypto/md32_common.h:245,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/include/crypto/md32_common.h:247,1
    - Dst: HASH_MAKE_STRING
      Src: /src/openssl/include/crypto/md32_common.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - HASH_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 256
    functionName: HASH_FINAL
    functionSourceFile: /src/openssl/include/crypto/md32_common.h
    functionUses: 0
    functionsReached:
    - memset
    - HASH_MAKE_STRING
    - HOST_l2c
    - OPENSSL_cleanse
    - HASH_BLOCK_DATA_ORDER
    linkageType: ''
    returnType: int
    signature: int HASH_FINAL(unsigned char *md, HASH_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ossl_toascii
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_toascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: ossl_fromascii
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_fromascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: ossl_isalnum
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isalnum(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: ossl_isalpha
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isalpha(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: ossl_isascii
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: ossl_isascii
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isascii(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: ossl_isblank
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isblank(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: ossl_iscntrl
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_iscntrl(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: ossl_isgraph
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isgraph(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: ossl_isprint
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isprint(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: ossl_ispunct
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_ispunct(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: ossl_isspace
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isspace(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: ossl_isxdigit
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isxdigit(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: ossl_isbase64
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isbase64(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: ossl_isasn1print
    functionSourceFile: /src/openssl/include/crypto/ctype.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_isasn1print(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: HASH_NOT_MATCHED
    functionSourceFile: /src/openssl/include/crypto/lms_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_NOT_MATCHED(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - S
    - i
    - w
    argTypes:
    - unsigned char*
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: lms_ots_coef
    functionSourceFile: /src/openssl/include/crypto/lms_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused lms_ots_coef(const unsigned char *S, uint16_t i, uint8_t
      w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/openssl/include/crypto/lms_util.h:48,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/include/crypto/lms_util.h:49,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/include/crypto/lms_util.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - md
    - lms_params
    argTypes:
    - EVP_MD_CTX*
    - EVP_MD*
    - LMS_PARAMS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: lms_evp_md_ctx_init
    functionSourceFile: /src/openssl/include/crypto/lms_util.h
    functionUses: 1
    functionsReached:
    - strncmp
    - EVP_DigestInit_ex2
    - OSSL_PARAM_construct_uint32
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused lms_evp_md_ctx_init(EVP_MD_CTX *ctx, const EVP_MD *md,\n
      \                       const LMS_PARAMS *lms_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/include/crypto/sm4_platform.h:21,1
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/include/crypto/sm4_platform.h:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: vpsm4_capable
    functionSourceFile: /src/openssl/include/crypto/sm4_platform.h
    functionUses: 0
    functionsReached:
    - MIDR_IS_CPU_MODEL
    linkageType: ''
    returnType: int
    signature: int vpsm4_capable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIDR_IS_CPU_MODEL
      Src: /src/openssl/include/crypto/sm4_platform.h:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: vpsm4_ex_capable
    functionSourceFile: /src/openssl/include/crypto/sm4_platform.h
    functionUses: 0
    functionsReached:
    - MIDR_IS_CPU_MODEL
    linkageType: ''
    returnType: int
    signature: int vpsm4_ex_capable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: CHACHA_U8TOU32
    functionSourceFile: /src/openssl/include/crypto/chacha.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHACHA_U8TOU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - secure
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: RAND_POOL_MIN_ALLOCATION
    functionSourceFile: /src/openssl/include/crypto/rand_pool.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAND_POOL_MIN_ALLOCATION(secure)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: SPARC_PIC_THUNK
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_PIC_THUNK(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: SPARC_PIC_THUNK_CALL
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_PIC_THUNK_CALL(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: SPARC_SETUP_GOT_REG
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_SETUP_GOT_REG(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: SPARC_SETUP_GOT_REG
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_SETUP_GOT_REG(reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SYM
    - ','
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: SPARC_LOAD_ADDRESS
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_LOAD_ADDRESS(SYM, reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SYM
    - ','
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: SPARC_LOAD_ADDRESS
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_LOAD_ADDRESS(SYM, reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SYM
    - ','
    - reg
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: SPARC_LOAD_ADDRESS_LEAF
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_LOAD_ADDRESS_LEAF(SYM,reg,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - SYM
    - ','
    - reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: SPARC_LOAD_ADDRESS
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_LOAD_ADDRESS(SYM, reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - SYM
    - ','
    - reg
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: SPARC_LOAD_ADDRESS_LEAF
    functionSourceFile: /src/openssl/include/crypto/sparc_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPARC_LOAD_ADDRESS_LEAF(SYM, reg, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: AES_GCM_ASM_PPC
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_GCM_ASM_PPC(gctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: AES_GCM_ASM
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_GCM_ASM(gctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: AES_GCM_ASM
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_GCM_ASM(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keylen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: S390X_AES_FC
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_AES_FC(keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keylen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: S390X_AES_FC
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S390X_AES_FC(keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: AES_GCM_ASM
    functionSourceFile: /src/openssl/include/crypto/aes_platform.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_GCM_ASM(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: U64
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: U64
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: U64
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64(C)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: BSWAP8
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: BSWAP4
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: GETU32
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: PUTU32
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(p,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: GETU32
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETU32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: PUTU32
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU32(p,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - in1
    - ','
    - in2
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: ocb_block16_xor
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ocb_block16_xor(in1,in2,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - in1
    - ','
    - in2
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: ocb_block16_xor_misaligned
    functionSourceFile: /src/openssl/include/crypto/modes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ocb_block16_xor_misaligned(in1,in2,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: OSSL_LIST_DBG
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_DBG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - name
    - ','
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: OSSL_LIST_FOREACH_FROM
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_FOREACH_FROM(p, name, init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - name
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: OSSL_LIST_FOREACH
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_FOREACH(p, name, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - name
    - ','
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: OSSL_LIST_FOREACH_REV_FROM
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_FOREACH_REV_FROM(p, name, init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - name
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: OSSL_LIST_FOREACH_REV
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_FOREACH_REV(p, name, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - pn
    - ','
    - name
    - ','
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: OSSL_LIST_FOREACH_DELSAFE_FROM
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_FOREACH_DELSAFE_FROM(p, pn, name, init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - pn
    - ','
    - name
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: OSSL_LIST_FOREACH_DELSAFE
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_FOREACH_DELSAFE(p, pn, name, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - pn
    - ','
    - name
    - ','
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: OSSL_LIST_FOREACH_REV_DELSAFE_FROM
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_FOREACH_REV_DELSAFE_FROM(p, pn, name, init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - pn
    - ','
    - name
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: OSSL_LIST_FOREACH_REV_DELSAFE
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_FOREACH_REV_DELSAFE(p, pn, name, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: OSSL_LIST
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: OSSL_LIST_MEMBER
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIST_MEMBER(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: DECLARE_LIST_OF
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_LIST_OF(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 198
    functionName: DEFINE_LIST_OF_IMPL
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_LIST_OF_IMPL(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: DEFINE_LIST_OF
    functionSourceFile: /src/openssl/include/internal/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_LIST_OF(name, type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/include/internal/quic_types.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - enc_level
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/openssl/include/internal/quic_types.h
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: ossl_quic_enc_level_to_pn_space
    functionSourceFile: /src/openssl/include/internal/quic_types.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_quic_enc_level_to_pn_space(uint32_t enc_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_PN
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: ossl_quic_pn_max
    functionSourceFile: /src/openssl/include/internal/quic_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_quic_pn_max(QUIC_PN a, QUIC_PN b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_PN
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: ossl_quic_pn_min
    functionSourceFile: /src/openssl/include/internal/quic_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_quic_pn_min(QUIC_PN a, QUIC_PN b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pn
    argTypes:
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ossl_quic_pn_valid
    functionSourceFile: /src/openssl/include/internal/quic_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_quic_pn_valid(QUIC_PN pn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/include/internal/quic_types.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: ossl_quic_conn_id_eq
    functionSourceFile: /src/openssl/include/internal/quic_types.h
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused ossl_quic_conn_id_eq(const QUIC_CONN_ID *a,\n                                                        const
      QUIC_CONN_ID *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: OSSL_NELEM
    functionSourceFile: /src/openssl/include/internal/nelem.h
    functionUses: 336
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_NELEM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: DEFINE_RUN_ONCE
    functionSourceFile: /src/openssl/include/internal/thread_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_RUN_ONCE(init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: DECLARE_RUN_ONCE
    functionSourceFile: /src/openssl/include/internal/thread_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_RUN_ONCE(init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/include/internal/thread_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_RUN_ONCE_STATIC(init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - initalt
    - ','
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: DEFINE_RUN_ONCE_STATIC_ALT
    functionSourceFile: /src/openssl/include/internal/thread_once.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_RUN_ONCE_STATIC_ALT(initalt, init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - once
    - ','
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: RUN_ONCE
    functionSourceFile: /src/openssl/include/internal/thread_once.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_ONCE(once, init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - once
    - ','
    - initalt
    - ','
    - init
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: RUN_ONCE_ALT
    functionSourceFile: /src/openssl/include/internal/thread_once.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_ONCE_ALT(once, initalt, init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nfy
    argTypes:
    - RIO_NOTIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: ossl_rio_notifier_as_fd
    functionSourceFile: /src/openssl/include/internal/rio_notifier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_rio_notifier_as_fd(RIO_NOTIFIER *nfy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - PACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: packet_forward
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline packet_forward(PACKET *pkt, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: PACKET_remaining
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline PACKET_remaining(const PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: PACKET_end
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline *PACKET_end(const PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: PACKET_data
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline *PACKET_data(const PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - buf
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: PACKET_buf_init
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_buf_init(PACKET *pkt,\n                                              const
      unsigned char *buf,\n                                              size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: PACKET_null_init
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline PACKET_null_init(PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:97,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/include/internal/packet.h:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - ptr
    - num
    argTypes:
    - PACKET*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: PACKET_equal
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 3
    functionsReached:
    - PACKET_remaining
    - CRYPTO_memcmp
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_equal(const PACKET *pkt, const void *ptr,\n                                           size_t
      num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:110,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/include/internal/packet.h:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - subpkt
    - len
    argTypes:
    - PACKET*
    - PACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: PACKET_peek_sub_packet
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_buf_init
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_sub_packet(const PACKET *pkt,\n                                                     PACKET
      *subpkt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_sub_packet
      Src: /src/openssl/include/internal/packet.h:124,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - subpkt
    - len
    argTypes:
    - PACKET*
    - PACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: PACKET_get_sub_packet
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached:
    - PACKET_peek_sub_packet
    - packet_forward
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_get_sub_packet(PACKET *pkt,\n                                                    PACKET
      *subpkt, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: PACKET_peek_net_2
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_net_2(const PACKET *pkt,\n                                                unsigned
      int *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_net_2
      Src: /src/openssl/include/internal/packet.h:152,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: PACKET_get_net_2
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 12
    functionsReached:
    - packet_forward
    - PACKET_peek_net_2
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_net_2(PACKET *pkt, unsigned int *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/openssl/include/internal/packet.h:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: PACKET_get_net_2_len
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_get_net_2
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_net_2_len(PACKET *pkt, size_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: PACKET_peek_net_3
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_net_3(const PACKET *pkt,\n                                                unsigned
      long *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_net_3
      Src: /src/openssl/include/internal/packet.h:193,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: PACKET_get_net_3
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached:
    - PACKET_peek_net_3
    - packet_forward
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_net_3(PACKET *pkt, unsigned long *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_3
      Src: /src/openssl/include/internal/packet.h:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: PACKET_get_net_3_len
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_get_net_3
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_net_3_len(PACKET *pkt, size_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: PACKET_peek_net_4
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_net_4(const PACKET *pkt,\n                                                unsigned
      long *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: PACKET_peek_net_8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_net_8(const PACKET *pkt,\n                                                uint64_t
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_net_4
      Src: /src/openssl/include/internal/packet.h:257,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: PACKET_get_net_4
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached:
    - packet_forward
    - PACKET_peek_net_4
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_net_4(PACKET *pkt, unsigned long *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_4
      Src: /src/openssl/include/internal/packet.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: PACKET_get_net_4_len
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_get_net_4
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_net_4_len(PACKET *pkt, size_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_4_len
      Src: /src/openssl/include/internal/packet.h:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: PACKET_get_net_4_len_u32
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 3
    functionsReached:
    - PACKET_get_net_4_len
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused PACKET_get_net_4_len_u32(PACKET *pkt, uint32_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_net_8
      Src: /src/openssl/include/internal/packet.h:299,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: PACKET_get_net_8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - packet_forward
    - PACKET_peek_net_8
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_net_8(PACKET *pkt, uint64_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: PACKET_peek_1
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_1(const PACKET *pkt,\n                                            unsigned
      int *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_1
      Src: /src/openssl/include/internal/packet.h:322,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: PACKET_get_1
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 11
    functionsReached:
    - packet_forward
    - PACKET_peek_1
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_1(PACKET *pkt, unsigned int *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/include/internal/packet.h:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 340
    functionName: PACKET_get_1_len
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_get_1
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_1_len(PACKET *pkt, size_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: PACKET_peek_4
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_4(const PACKET *pkt,\n                                            unsigned
      long *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_4
      Src: /src/openssl/include/internal/packet.h:367,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: PACKET_get_4
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached:
    - packet_forward
    - PACKET_peek_4
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_get_4(PACKET *pkt, unsigned long *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: PACKET_peek_bytes
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_bytes(const PACKET *pkt,\n                                                const
      unsigned char **data,\n                                                size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_bytes
      Src: /src/openssl/include/internal/packet.h:403,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 409
    functionName: PACKET_get_bytes
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 17
    functionsReached:
    - PACKET_peek_bytes
    - packet_forward
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_get_bytes(PACKET *pkt,\n                                               const
      unsigned char **data,\n                                               size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:416,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/packet.h:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: PACKET_peek_copy_bytes
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - memcpy
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_copy_bytes(const PACKET *pkt,\n                                                     unsigned
      char *data,\n                                                     size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_copy_bytes
      Src: /src/openssl/include/internal/packet.h:431,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: PACKET_copy_bytes
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 6
    functionsReached:
    - PACKET_peek_copy_bytes
    - packet_forward
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_copy_bytes(PACKET *pkt,\n                                                unsigned
      char *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:450,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/packet.h:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pkt
    - dest
    - dest_len
    - len
    argTypes:
    - PACKET*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 457
    functionName: PACKET_copy_all
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached:
    - PACKET_remaining
    - memcpy
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_copy_all(const PACKET *pkt,\n                                              unsigned
      char *dest,\n                                              size_t dest_len,
      size_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/include/internal/packet.h:473,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:477,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/include/internal/packet.h:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pkt
    - data
    - len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 488
    functionName: PACKET_memdup
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - PACKET_remaining
    - OPENSSL_memdup
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_memdup(const PACKET *pkt,\n                                            unsigned
      char **data, size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/include/internal/packet.h:502,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/include/internal/packet.h:505,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 507
    functionName: PACKET_strndup
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - PACKET_remaining
    - OPENSSL_strndup
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_strndup(const PACKET *pkt, char **data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/openssl/include/internal/packet.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: PACKET_contains_zero_byte
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached:
    - memchr
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline PACKET_contains_zero_byte(const PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:518,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet.h:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - len
    argTypes:
    - PACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: PACKET_forward
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 21
    functionsReached:
    - PACKET_remaining
    - packet_forward
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_forward(PACKET *pkt, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/include/internal/packet.h:539,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 549
    functionName: PACKET_get_length_prefixed_1
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 8
    functionsReached:
    - PACKET_get_bytes
    - PACKET_get_1
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_get_length_prefixed_1(PACKET *pkt,\n                                                           PACKET
      *subpkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/include/internal/packet.h:561,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:562,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 572
    functionName: PACKET_as_length_prefixed_1
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached:
    - PACKET_remaining
    - PACKET_get_bytes
    - PACKET_get_1
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_as_length_prefixed_1(PACKET *pkt,\n                                                          PACKET
      *subpkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/openssl/include/internal/packet.h:588,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 598
    functionName: PACKET_get_length_prefixed_2
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 8
    functionsReached:
    - PACKET_get_net_2
    - PACKET_get_bytes
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_get_length_prefixed_2(PACKET *pkt,\n                                                           PACKET
      *subpkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/openssl/include/internal/packet.h:611,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:612,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 622
    functionName: PACKET_as_length_prefixed_2
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 5
    functionsReached:
    - PACKET_remaining
    - PACKET_get_net_2
    - PACKET_get_bytes
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_as_length_prefixed_2(PACKET *pkt,\n                                                          PACKET
      *subpkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_3
      Src: /src/openssl/include/internal/packet.h:637,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet.h:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 647
    functionName: PACKET_get_length_prefixed_3
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached:
    - PACKET_get_net_3
    - PACKET_get_bytes
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_get_length_prefixed_3(PACKET *pkt,\n                                                           PACKET
      *subpkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 799
    functionName: WPACKET_start_sub_packet_u8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_start_sub_packet_u8(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: WPACKET_start_sub_packet_u16
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_start_sub_packet_u16(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: WPACKET_start_sub_packet_u24
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_start_sub_packet_u24(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 805
    functionName: WPACKET_start_sub_packet_u32
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_start_sub_packet_u32(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - len
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 838
    functionName: WPACKET_sub_allocate_bytes_u8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_allocate_bytes_u8(pkt, len, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - len
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 840
    functionName: WPACKET_sub_allocate_bytes_u16
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_allocate_bytes_u16(pkt, len, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - len
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 842
    functionName: WPACKET_sub_allocate_bytes_u24
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_allocate_bytes_u24(pkt, len, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - len
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 844
    functionName: WPACKET_sub_allocate_bytes_u32
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_allocate_bytes_u32(pkt, len, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - len
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 876
    functionName: WPACKET_sub_reserve_bytes_u8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_reserve_bytes_u8(pkt, len, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - len
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 878
    functionName: WPACKET_sub_reserve_bytes_u16
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_reserve_bytes_u16(pkt, len, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - len
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 880
    functionName: WPACKET_sub_reserve_bytes_u24
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_reserve_bytes_u24(pkt, len, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - len
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 882
    functionName: WPACKET_sub_reserve_bytes_u32
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_reserve_bytes_u32(pkt, len, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkt
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 898
    functionName: WPACKET_put_bytes_u8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_put_bytes_u8(pkt, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkt
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 900
    functionName: WPACKET_put_bytes_u16
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_put_bytes_u16(pkt, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkt
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 902
    functionName: WPACKET_put_bytes_u24
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_put_bytes_u24(pkt, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkt
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 904
    functionName: WPACKET_put_bytes_u32
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_put_bytes_u32(pkt, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkt
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 906
    functionName: WPACKET_put_bytes_u64
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_put_bytes_u64(pkt, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 927
    functionName: WPACKET_sub_memcpy_u8
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_memcpy_u8(pkt, src, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 929
    functionName: WPACKET_sub_memcpy_u16
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_memcpy_u16(pkt, src, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 931
    functionName: WPACKET_sub_memcpy_u24
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_memcpy_u24(pkt, src, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkt
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 933
    functionName: WPACKET_sub_memcpy_u32
    functionSourceFile: /src/openssl/include/internal/packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPACKET_sub_memcpy_u32(pkt, src, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - al
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: SSLfatal_alert
    functionSourceFile: /src/openssl/include/internal/statem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLfatal_alert(s, al)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - al
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: SSLfatal
    functionSourceFile: /src/openssl/include/internal/statem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSLfatal(s, al, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ktls_enable
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_enable(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/include/internal/ktls.h:73,1
    - Dst: setsockopt
      Src: /src/openssl/include/internal/ktls.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - tls_en
    - is_tx
    argTypes:
    - int
    - ktls_crypto_info_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: ktls_start
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_start(int fd, ktls_crypto_info_t *tls_en, int is_tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ktls_enable_tx_zerocopy_sendfile
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_enable_tx_zerocopy_sendfile(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/openssl/include/internal/ktls.h:102,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/include/internal/ktls.h:107,1
    - Dst: CMSG_LEN
      Src: /src/openssl/include/internal/ktls.h:110,1
    - Dst: CMSG_DATA
      Src: /src/openssl/include/internal/ktls.h:111,1
    - Dst: sendmsg
      Src: /src/openssl/include/internal/ktls.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - fd
    - record_type
    - data
    - length
    argTypes:
    - int
    - unsigned char
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 120
    functionName: ktls_send_ctrl_message
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached:
    - CMSG_DATA
    - CMSG_SPACE
    - sendmsg
    - CMSG_LEN
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ktls_send_ctrl_message(int fd, unsigned char record_type,\n
      \                                             const void *data, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: ktls_read_record
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_read_record(int fd, void *data, size_t length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/openssl/include/internal/ktls.h:144,1
    - Dst: recvmsg
      Src: /src/openssl/include/internal/ktls.h:163,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/include/internal/ktls.h:177,1
    - Dst: CMSG_LEN
      Src: /src/openssl/include/internal/ktls.h:179,1
    - Dst: CMSG_DATA
      Src: /src/openssl/include/internal/ktls.h:184,1
    - Dst: htons
      Src: /src/openssl/include/internal/ktls.h:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 191
    functionName: ktls_read_record
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 3
    functionsReached:
    - CMSG_DATA
    - CMSG_SPACE
    - recvmsg
    - CMSG_LEN
    - CMSG_FIRSTHDR
    - htons
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_read_record(int fd, void *data, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sendfile
      Src: /src/openssl/include/internal/ktls.h:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - s
    - fd
    - 'off'
    - size
    - flags
    argTypes:
    - int
    - int
    - off_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: ossl_ssize_t::ktls_sendfile
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 0
    functionsReached:
    - sendfile
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_ssize_t ktls_sendfile(int s, int fd, off_t off,\n
      \                                             size_t size, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/include/internal/ktls.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: ktls_enable
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 4
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_enable(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/include/internal/ktls.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - crypto_info
    - is_tx
    argTypes:
    - int
    - ktls_crypto_info_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: ktls_start
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ktls_start(int fd, ktls_crypto_info_t *crypto_info,\n
      \                                 int is_tx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/openssl/include/internal/ktls.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: ktls_enable_tx_zerocopy_sendfile
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_enable_tx_zerocopy_sendfile(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/openssl/include/internal/ktls.h:336,1
    - Dst: memset
      Src: /src/openssl/include/internal/ktls.h:340,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/include/internal/ktls.h:343,1
    - Dst: CMSG_LEN
      Src: /src/openssl/include/internal/ktls.h:346,1
    - Dst: CMSG_DATA
      Src: /src/openssl/include/internal/ktls.h:347,1
    - Dst: sendmsg
      Src: /src/openssl/include/internal/ktls.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - fd
    - record_type
    - data
    - length
    argTypes:
    - int
    - unsigned char
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 356
    functionName: ktls_send_ctrl_message
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 2
    functionsReached:
    - CMSG_DATA
    - memset
    - CMSG_SPACE
    - sendmsg
    - CMSG_LEN
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ktls_send_ctrl_message(int fd, unsigned char record_type,\n
      \                                             const void *data, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendfile
      Src: /src/openssl/include/internal/ktls.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - fd
    - 'off'
    - size
    - flags
    argTypes:
    - int
    - int
    - off_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: ossl_ssize_t::ktls_sendfile
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 0
    functionsReached:
    - sendfile
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_ssize_t ktls_sendfile(int s, int fd, off_t off, size_t
      size, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: ktls_read_record
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_read_record(int fd, void *data, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/openssl/include/internal/ktls.h:389,1
    - Dst: memset
      Src: /src/openssl/include/internal/ktls.h:401,1
    - Dst: recvmsg
      Src: /src/openssl/include/internal/ktls.h:410,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/openssl/include/internal/ktls.h:415,1
    - Dst: CMSG_DATA
      Src: /src/openssl/include/internal/ktls.h:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - fd
    - data
    - length
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 428
    functionName: ktls_read_record
    functionSourceFile: /src/openssl/include/internal/ktls.h
    functionUses: 3
    functionsReached:
    - CMSG_DATA
    - memset
    - CMSG_SPACE
    - recvmsg
    - CMSG_FIRSTHDR
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ktls_read_record(int fd, void *data, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: ossl_quic_stream_is_server_init
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_is_server_init(const QUIC_STREAM *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: ossl_quic_stream_is_bidi
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_is_bidi(const QUIC_STREAM *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_server_init
      Src: /src/openssl/include/internal/quic_stream_map.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: ossl_quic_stream_is_local_init
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_is_server_init
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_is_local_init(const QUIC_STREAM *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: ossl_quic_stream_has_send
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_has_send(const QUIC_STREAM *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: ossl_quic_stream_has_recv
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_has_recv(const QUIC_STREAM *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: ossl_quic_stream_has_send_buffer
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_has_send_buffer(const QUIC_STREAM *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: ossl_quic_stream_send_is_reset
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_send_is_reset(const QUIC_STREAM *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 438
    functionName: ossl_quic_stream_has_recv_buffer
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_has_recv_buffer(const QUIC_STREAM *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: ossl_quic_stream_recv_is_reset
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_stream_recv_is_reset(const QUIC_STREAM *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/include/internal/quic_stream_map.h:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - s
    - final_size
    argTypes:
    - QUIC_STREAM*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 478
    functionName: ossl_quic_stream_send_get_final_size
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_quic_stream_send_get_final_size(const QUIC_STREAM
      *s,\n                                                                        uint64_t
      *final_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/include/internal/quic_stream_map.h:491,1
    - Dst: ossl_assert
      Src: /src/openssl/include/internal/quic_stream_map.h:501,1
    - Dst: ossl_quic_rxfc_get_final_size
      Src: /src/openssl/include/internal/quic_stream_map.h:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - s
    - final_size
    argTypes:
    - QUIC_STREAM*
    - uint64_t*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/openssl/include/internal/quic_stream_map.h
    constantsTouched: []
    func_position:
      end: 506
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 506
    functionName: ossl_quic_stream_recv_get_final_size
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_quic_rxfc_get_final_size
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_quic_stream_recv_get_final_size(const QUIC_STREAM
      *s,\n                                                                        uint64_t
      *final_size)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/include/internal/quic_stream_map.h:520,1
    - Dst: ossl_quic_rstream_available
      Src: /src/openssl/include/internal/quic_stream_map.h:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - s
    - include_fin
    argTypes:
    - QUIC_STREAM*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/openssl/include/internal/quic_stream_map.h
    constantsTouched: []
    func_position:
      end: 542
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 542
    functionName: ossl_quic_stream_recv_pending
    functionSourceFile: /src/openssl/include/internal/quic_stream_map.h
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_available
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_quic_stream_recv_pending(const QUIC_STREAM *s,\n
      \                                                                   int include_fin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - n
    - hexdig
    argTypes:
    - char*
    - uint8_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: to_hex
    functionSourceFile: /src/openssl/include/internal/to_hex.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline to_hex(char *buf, uint8_t n, const char hexdig[17])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_hex
      Src: /src/openssl/include/internal/to_hex.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - n
    argTypes:
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: ossl_to_lowerhex
    functionSourceFile: /src/openssl/include/internal/to_hex.h
    functionUses: 0
    functionsReached:
    - to_hex
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_to_lowerhex(char *buf, uint8_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: tsan_load
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_load(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_store(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: tsan_add
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_add(ptr, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: tsan_ld_acq
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_ld_acq(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: tsan_st_rel
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_st_rel(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: tsan_load
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_load(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_store(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: tsan_add
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_add(ptr, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: tsan_ld_acq
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_ld_acq(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: tsan_st_rel
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_st_rel(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: tsan_load
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_load(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_store(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: tsan_load
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_load(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_store(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: tsan_load
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_load(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_store(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: tsan_add
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_add(ptr, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: tsan_add
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_add(ptr, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: tsan_ld_acq
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_ld_acq(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: tsan_st_rel
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_st_rel(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: tsan_load
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_load(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: tsan_store
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_store(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: tsan_add
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_add(ptr, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: tsan_counter
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_counter(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: tsan_decr
    functionSourceFile: /src/openssl/include/internal/tsan_assist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tsan_decr(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - t
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: socket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 170
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: socket(d,t,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - f
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: accept
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: accept(s,f,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: get_last_socket_error
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_last_socket_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: clear_socket_error
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_socket_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: get_last_socket_error_is_eintr
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_last_socket_error_is_eintr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: get_last_socket_error
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_last_socket_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: clear_socket_error
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_socket_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: get_last_socket_error_is_eintr
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_last_socket_error_is_eintr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: readsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: readsocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: readsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: readsocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: ioctlsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ioctlsocket(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: readsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: readsocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: ioctlsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ioctlsocket(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: readsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: readsocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: readsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: readsocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: ioctlsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ioctlsocket(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: ioctlsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ioctlsocket(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: closesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 119
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: readsocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: readsocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: writesocket
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: writesocket(s,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: openssl_fdset
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: openssl_fdset(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: openssl_fdset
    functionSourceFile: /src/openssl/include/internal/sockets.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: openssl_fdset(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: ring_buf_init
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ring_buf_init(struct ring_buf *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/include/internal/ring_buf.h:58,1
    - Dst: OPENSSL_free
      Src: /src/openssl/include/internal/ring_buf.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cleanse
    argTypes:
    - struct ring_buf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: ring_buf_destroy
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 2
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_free
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ring_buf_destroy(struct ring_buf *r, int cleanse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ring_buf_used
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ring_buf_used(struct ring_buf *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_used
      Src: /src/openssl/include/internal/ring_buf.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ring_buf_avail
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 0
    functionsReached:
    - ring_buf_used
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ring_buf_avail(struct ring_buf *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_avail
      Src: /src/openssl/include/internal/ring_buf.h:84,1
    - Dst: safe_add_u64
      Src: /src/openssl/include/internal/ring_buf.h:86,1
    - Dst: safe_add_u64
      Src: /src/openssl/include/internal/ring_buf.h:87,1
    - Dst: safe_add_u64
      Src: /src/openssl/include/internal/ring_buf.h:88,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/ring_buf.h:99,1
    - Dst: assert
      Src: /src/openssl/include/internal/ring_buf.h:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - r
    - logical_offset
    - buf
    - buf_len
    argTypes:
    - struct ring_buf*
    - uint64_t
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (buf_len == 0)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/openssl/include/internal/ring_buf.h
    constantsTouched: []
    func_position:
      end: 111
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 111
    functionName: ring_buf_write_at
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 0
    functionsReached:
    - memcpy
    - safe_add_u64
    - ring_buf_avail
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ring_buf_write_at(struct ring_buf *r,\n                                         uint64_t
      logical_offset,\n                                         const unsigned char
      *buf,\n                                         size_t buf_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_avail
      Src: /src/openssl/include/internal/ring_buf.h:121,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/ring_buf.h:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - r
    - buf
    - buf_len
    argTypes:
    - struct ring_buf*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 144
    functionName: ring_buf_push
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 1
    functionsReached:
    - memcpy
    - ring_buf_avail
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ring_buf_push(struct ring_buf *r,\n                                        const
      unsigned char *buf,\n                                        size_t buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - logical_offset
    - max_len
    argTypes:
    - struct ring_buf*
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: ring_buf_get_ptr
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline *ring_buf_get_ptr(const struct ring_buf *r,\n                                                         uint64_t
      logical_offset,\n                                                         size_t
      *max_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - r
    - logical_offset
    - buf
    - buf_len
    argTypes:
    - struct ring_buf*
    - uint64_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: ring_buf_get_buf_at
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ring_buf_get_buf_at(const struct ring_buf *r,\n                                           uint64_t
      logical_offset,\n                                           const unsigned char
      **buf,\n                                           size_t *buf_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/include/internal/ring_buf.h:203,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/include/internal/ring_buf.h:217,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/include/internal/ring_buf.h:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - r
    - start
    - end
    - cleanse
    argTypes:
    - struct ring_buf*
    - uint64_t
    - uint64_t
    - int
    assertStmts:
    - condition: (end >= start)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/openssl/include/internal/ring_buf.h
    constantsTouched: []
    func_position:
      end: 229
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 229
    functionName: ring_buf_cpop_range
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ring_buf_cpop_range(struct ring_buf *r,\n                                            uint64_t
      start, uint64_t end,\n                                            int cleanse)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_used
      Src: /src/openssl/include/internal/ring_buf.h:241,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/include/internal/ring_buf.h:244,1
    - Dst: ring_buf_used
      Src: /src/openssl/include/internal/ring_buf.h:249,1
    - Dst: ring_buf_get_buf_at
      Src: /src/openssl/include/internal/ring_buf.h:253,1
    - Dst: OPENSSL_free
      Src: /src/openssl/include/internal/ring_buf.h:254,1
    - Dst: ring_buf_push
      Src: /src/openssl/include/internal/ring_buf.h:261,1
    - Dst: OPENSSL_free
      Src: /src/openssl/include/internal/ring_buf.h:262,1
    - Dst: assert
      Src: /src/openssl/include/internal/ring_buf.h:269,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/include/internal/ring_buf.h:272,1
    - Dst: memcpy
      Src: /src/openssl/include/internal/ring_buf.h:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - r
    - num_bytes
    - cleanse
    argTypes:
    - struct ring_buf*
    - size_t
    - int
    assertStmts:
    - condition: (rnew.head_offset == r->head_offset)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/openssl/include/internal/ring_buf.h
    constantsTouched: []
    func_position:
      end: 275
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 275
    functionName: ring_buf_resize
    functionSourceFile: /src/openssl/include/internal/ring_buf.h
    functionUses: 2
    functionsReached:
    - ring_buf_destroy
    - ring_buf_used
    - ring_buf_get_buf_at
    - memcpy
    - assert
    - OPENSSL_free
    - ring_buf_push
    - OPENSSL_malloc
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ring_buf_resize(struct ring_buf *r, size_t num_bytes,\n
      \                                      int cleanse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CTX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: OSSL_LIB_CTX_GET_THREADS
    functionSourceFile: /src/openssl/include/internal/thread.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LIB_CTX_GET_THREADS(CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keyname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: HT_START_KEY_DEFN
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_START_KEY_DEFN(keyname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - keyname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: HT_END_KEY_DEFN
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_END_KEY_DEFN(keyname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: HT_DEF_KEY_FIELD
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_DEF_KEY_FIELD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: HT_DEF_KEY_FIELD_CHAR_ARRAY
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_DEF_KEY_FIELD_CHAR_ARRAY(name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: HT_DEF_KEY_FIELD_UINT8T_ARRAY
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_DEF_KEY_FIELD_UINT8T_ARRAY(name, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: HT_INIT_KEY
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_INIT_KEY(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: HT_KEY_RESET
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_KEY_RESET(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: HT_SET_KEY_FIELD
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_KEY_FIELD(key, member, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: HT_SET_KEY_STRING
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_KEY_STRING(key, member, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - member
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: HT_SET_KEY_STRING_CASE
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_KEY_STRING_CASE(key, member, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - key
    - ','
    - member
    - ','
    - value
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: HT_SET_KEY_STRING_N
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_KEY_STRING_N(key, member, value, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - key
    - ','
    - member
    - ','
    - value
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: HT_SET_KEY_STRING_CASE_N
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_KEY_STRING_CASE_N(key, member, value, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - key
    - ','
    - member
    - ','
    - value
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: HT_SET_KEY_BLOB
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_SET_KEY_BLOB(key, member, value, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: TO_HT_KEY
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_HT_KEY(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: FROM_HT_KEY
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_HT_KEY(key, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vtype
    - ','
    - name
    - ','
    - pfx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 240
    functionName: IMPLEMENT_HT_VALUE_TYPE_FNS
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_HT_VALUE_TYPE_FNS(vtype, name, pfx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vtype
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: DECLARE_HT_VALUE_TYPE_FNS
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_HT_VALUE_TYPE_FNS(vtype, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - tgt
    - src
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: ossl_unused::ossl_ht_strcase
    functionSourceFile: /src/openssl/include/internal/hashtable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_unused ossl_ht_strcase(char *tgt, const char *src, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: SHA3_MDSIZE
    functionSourceFile: /src/openssl/include/internal/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA3_MDSIZE(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: KMAC_MDSIZE
    functionSourceFile: /src/openssl/include/internal/sha3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KMAC_MDSIZE(bitlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bitlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: SHA3_BLOCKSIZE
    functionSourceFile: /src/openssl/include/internal/sha3.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA3_BLOCKSIZE(bitlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet_quic.h:27,1
    - Dst: ossl_quic_vlint_decode_len
      Src: /src/openssl/include/internal/packet_quic.h:30,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet_quic.h:32,1
    - Dst: ossl_quic_vlint_decode_unchecked
      Src: /src/openssl/include/internal/packet_quic.h:35,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet_quic.h:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: PACKET_get_quic_vlint
    functionSourceFile: /src/openssl/include/internal/packet_quic.h
    functionUses: 2
    functionsReached:
    - PACKET_remaining
    - ossl_quic_vlint_decode_len
    - packet_forward
    - ossl_quic_vlint_decode_unchecked
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_get_quic_vlint(PACKET *pkt,\n                                                    uint64_t
      *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet_quic.h:52,1
    - Dst: ossl_quic_vlint_decode_len
      Src: /src/openssl/include/internal/packet_quic.h:55,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet_quic.h:57,1
    - Dst: ossl_quic_vlint_decode_unchecked
      Src: /src/openssl/include/internal/packet_quic.h:60,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/include/internal/packet_quic.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pkt
    - data
    - was_minimal
    argTypes:
    - PACKET*
    - uint64_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: PACKET_peek_quic_vlint_ex
    functionSourceFile: /src/openssl/include/internal/packet_quic.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - ossl_quic_vlint_encode_len
    - ossl_quic_vlint_decode_len
    - ossl_quic_vlint_decode_unchecked
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_quic_vlint_ex(PACKET *pkt,\n                                                        uint64_t
      *data,\n                                                        int *was_minimal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_quic_vlint_ex
      Src: /src/openssl/include/internal/packet_quic.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: PACKET_peek_quic_vlint
    functionSourceFile: /src/openssl/include/internal/packet_quic.h
    functionUses: 0
    functionsReached:
    - PACKET_peek_quic_vlint_ex
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_peek_quic_vlint(PACKET *pkt,\n                                                     uint64_t
      *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet_quic.h:81,1
    - Dst: ossl_quic_vlint_decode_len
      Src: /src/openssl/include/internal/packet_quic.h:84,1
    - Dst: PACKET_remaining
      Src: /src/openssl/include/internal/packet_quic.h:86,1
    - Dst: packet_forward
      Src: /src/openssl/include/internal/packet_quic.h:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: PACKET_skip_quic_vlint
    functionSourceFile: /src/openssl/include/internal/packet_quic.h
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - ossl_quic_vlint_decode_len
    - packet_forward
    linkageType: ''
    returnType: __owur
    signature: __owur PACKET_skip_quic_vlint(PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/include/internal/packet_quic.h:107,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/include/internal/packet_quic.h:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - subpkt
    argTypes:
    - PACKET*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: PACKET_get_quic_length_prefixed
    functionSourceFile: /src/openssl/include/internal/packet_quic.h
    functionUses: 1
    functionsReached:
    - PACKET_get_quic_vlint
    - PACKET_get_bytes
    linkageType: ''
    returnType: __owur
    signature: "__owur PACKET_get_quic_length_prefixed(PACKET *pkt,\n                                                              PACKET
      *subpkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: has
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: has(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: has
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: has(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: has
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: has(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: OSSL_SAFE_MATH_ADDS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_ADDS(type_name, type, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: OSSL_SAFE_MATH_ADDU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_ADDU(type_name, type, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: OSSL_SAFE_MATH_ADDS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_ADDS(type_name, type, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: OSSL_SAFE_MATH_ADDU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_ADDU(type_name, type, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: OSSL_SAFE_MATH_SUBS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_SUBS(type_name, type, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: OSSL_SAFE_MATH_SUBS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_SUBS(type_name, type, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: OSSL_SAFE_MATH_SUBU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_SUBU(type_name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: OSSL_SAFE_MATH_MULS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MULS(type_name, type, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: OSSL_SAFE_MATH_MULU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MULU(type_name, type, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: OSSL_SAFE_MATH_MULS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MULS(type_name, type, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: OSSL_SAFE_MATH_MULU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MULU(type_name, type, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: OSSL_SAFE_MATH_DIVS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_DIVS(type_name, type, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: OSSL_SAFE_MATH_DIVU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_DIVU(type_name, type, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: OSSL_SAFE_MATH_MODS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MODS(type_name, type, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: OSSL_SAFE_MATH_MODU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MODU(type_name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: OSSL_SAFE_MATH_NEGS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_NEGS(type_name, type, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: OSSL_SAFE_MATH_NEGU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_NEGU(type_name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: OSSL_SAFE_MATH_ABSS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_ABSS(type_name, type, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: OSSL_SAFE_MATH_ABSU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_ABSU(type_name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: OSSL_SAFE_MATH_MULDIVS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MULDIVS(type_name, type, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 373
    functionName: OSSL_SAFE_MATH_MULDIVU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MULDIVU(type_name, type, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type_name
    - ','
    - type
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: OSSL_SAFE_MATH_DIV_ROUND_UP
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_DIV_ROUND_UP(type_name, type, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: OSSL_SAFE_MATH_MINS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MINS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: OSSL_SAFE_MATH_MAXS
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MAXS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: OSSL_SAFE_MATH_MAXU
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_MAXU(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 432
    functionName: OSSL_SAFE_MATH_SIGNED
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_SIGNED(type_name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type_name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 444
    functionName: OSSL_SAFE_MATH_UNSIGNED
    functionSourceFile: /src/openssl/include/internal/safe_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_SAFE_MATH_UNSIGNED(type_name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: ossl_likely
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: ossl_unlikely
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: ossl_likely
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: ossl_unlikely
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ossl_assert
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 222
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_assert(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_die
      Src: /src/openssl/include/internal/common.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - expr
    - exprstr
    - file
    - line
    argTypes:
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: ossl_assert_int
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 0
    functionsReached:
    - OPENSSL_die
    linkageType: ''
    returnType: __owur
    signature: "__owur ossl_assert_int(int expr, const char *exprstr,\n                                              const
      char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: ossl_assert
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 222
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_assert(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - pre
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: HAS_PREFIX
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_PREFIX(str, pre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - pre
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: CHECK_AND_SKIP_PREFIX
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_AND_SKIP_PREFIX(str, pre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: HAS_CASE_PREFIX
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_CASE_PREFIX(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - pre
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: CHECK_AND_SKIP_CASE_PREFIX
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_AND_SKIP_CASE_PREFIX(str, pre)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: HAS_CASE_SUFFIX
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAS_CASE_SUFFIX(str, suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: DECIMAL_SIZE
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECIMAL_SIZE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: HEX_SIZE
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEX_SIZE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: c2l
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - l1
    - ','
    - l2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: c2ln
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c2ln(c,l1,l2,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: l2c
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2c(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: n2l
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2l(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: n2l8
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2l8(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: l2n
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2n(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: l2n8
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2n8(l,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l1
    - ','
    - l2
    - ','
    - c
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: l2cn
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2cn(l1,l2,c,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: n2s
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2s(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: s2n
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s2n(s,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: n2l3
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: n2l3(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: l2n3
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: l2n3(l,c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/include/internal/common.h:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: ossl_ends_with_dirsep
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_ends_with_dirsep(const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ends_with_dirsep
      Src: /src/openssl/include/internal/common.h:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: ossl_determine_dirsep
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 0
    functionsReached:
    - ossl_ends_with_dirsep
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_determine_dirsep(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/openssl/include/internal/common.h:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: ossl_is_absolute_path
    functionSourceFile: /src/openssl/include/internal/common.h
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_is_absolute_path(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - is_tx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: BIO_set_ktls_flag
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_ktls_flag(b, is_tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - is_tx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: BIO_should_ktls_flag
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_should_ktls_flag(b, is_tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: BIO_set_ktls_ctrl_msg_flag
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_ktls_ctrl_msg_flag(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: BIO_should_ktls_ctrl_msg_flag
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_should_ktls_ctrl_msg_flag(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: BIO_clear_ktls_ctrl_msg_flag
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_clear_ktls_ctrl_msg_flag(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: BIO_set_ktls_zerocopy_sendfile_flag
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_ktls_zerocopy_sendfile_flag(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - keyblob
    - ','
    - is_tx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: BIO_set_ktls
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_ktls(b, keyblob, is_tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - record_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: BIO_set_ktls_ctrl_msg
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_ktls_ctrl_msg(b, record_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: BIO_clear_ktls_ctrl_msg
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_clear_ktls_ctrl_msg(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: BIO_set_ktls_tx_zerocopy_sendfile
    functionSourceFile: /src/openssl/include/internal/bio.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_ktls_tx_zerocopy_sendfile(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: OSSL_QUIC_FRAME_TYPE_IS_STREAM
    functionSourceFile: /src/openssl/include/internal/quic_wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_QUIC_FRAME_TYPE_IS_STREAM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: OSSL_QUIC_FRAME_TYPE_IS_ACK
    functionSourceFile: /src/openssl/include/internal/quic_wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_QUIC_FRAME_TYPE_IS_ACK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: OSSL_QUIC_FRAME_TYPE_IS_MAX_STREAMS
    functionSourceFile: /src/openssl/include/internal/quic_wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_QUIC_FRAME_TYPE_IS_MAX_STREAMS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: OSSL_QUIC_FRAME_TYPE_IS_STREAMS_BLOCKED
    functionSourceFile: /src/openssl/include/internal/quic_wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_QUIC_FRAME_TYPE_IS_STREAMS_BLOCKED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: OSSL_QUIC_FRAME_TYPE_IS_CONN_CLOSE
    functionSourceFile: /src/openssl/include/internal/quic_wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_QUIC_FRAME_TYPE_IS_CONN_CLOSE(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - frame_type
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: ossl_quic_frame_type_is_ack_eliciting
    functionSourceFile: /src/openssl/include/internal/quic_wire.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_quic_frame_type_is_ack_eliciting(uint64_t frame_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: get_last_sys_error
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_last_sys_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: clear_sys_error
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_sys_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: set_sys_error
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_sys_error(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: get_last_sys_error
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_last_sys_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: clear_sys_error
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_sys_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: set_sys_error
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_sys_error(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: EXIT
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: check_winnt
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_winnt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: check_win_minplat
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_win_minplat(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: check_winnt
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_winnt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: check_win_minplat
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_win_minplat(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: EXIT
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: EXIT
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: sleep
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sleep(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - proto
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: getservbyname
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getservbyname(name,proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: gethostbyname
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gethostbyname(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: ioctlsocket
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ioctlsocket(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROCESSHANDLE_GETMINE_
      Src: /src/openssl/include/internal/e_os.h:284,1
    - Dst: PROCESSHANDLE_DECOMPOSE_
      Src: /src/openssl/include/internal/e_os.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: nssgetpid
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 0
    functionsReached:
    - PROCESSHANDLE_DECOMPOSE_
    - PROCESSHANDLE_GETMINE_
    linkageType: ''
    returnType: int
    signature: int nssgetpid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: getpid
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getpid(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: accept
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: accept(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: recvfrom
    functionSourceFile: /src/openssl/include/internal/e_os.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: recvfrom(a,b,c,d,e,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_min
      Src: /src/openssl/include/internal/quic_reactor.h:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - r
    - src
    argTypes:
    - QUIC_TICK_RESULT*
    - QUIC_TICK_RESULT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: ossl_quic_tick_result_merge_into
    functionSourceFile: /src/openssl/include/internal/quic_reactor.h
    functionUses: 0
    functionsReached:
    - ossl_time_min
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_quic_tick_result_merge_into(QUIC_TICK_RESULT *r,\n
      \                                const QUIC_TICK_RESULT *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/openssl/include/internal/refcount.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 48
    functionsReached:
    - atomic_fetch_add_explicit
    linkageType: ''
    returnType: int
    signature: int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub_explicit
      Src: /src/openssl/include/internal/refcount.h:62,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/openssl/include/internal/refcount.h:64,1
    - Dst: atomic_thread_fence
      Src: /src/openssl/include/internal/refcount.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached:
    - atomic_fetch_sub_explicit
    - atomic_thread_fence
    linkageType: ''
    returnType: int
    signature: int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/openssl/include/internal/refcount.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: CRYPTO_GET_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 2
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: int
    signature: int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_fetch_add
      Src: /src/openssl/include/internal/refcount.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 48
    functionsReached:
    - __atomic_fetch_add
    linkageType: ''
    returnType: int
    signature: int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_fetch_sub
      Src: /src/openssl/include/internal/refcount.h:93,1
    - Dst: __atomic_thread_fence
      Src: /src/openssl/include/internal/refcount.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached:
    - __atomic_fetch_sub
    - __atomic_thread_fence
    linkageType: ''
    returnType: int
    signature: int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_load_n
      Src: /src/openssl/include/internal/refcount.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: CRYPTO_GET_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 2
    functionsReached:
    - __atomic_load_n
    linkageType: ''
    returnType: int
    signature: int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/openssl/include/internal/refcount.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 48
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/openssl/include/internal/refcount.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/openssl/include/internal/refcount.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: CRYPTO_GET_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 2
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd_nf
      Src: /src/openssl/include/internal/refcount.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 48
    functionsReached:
    - _InterlockedExchangeAdd_nf
    linkageType: ''
    returnType: int
    signature: int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/openssl/include/internal/refcount.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd_acq
      Src: /src/openssl/include/internal/refcount.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: CRYPTO_GET_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 2
    functionsReached:
    - _InterlockedExchangeAdd_acq
    linkageType: ''
    returnType: int
    signature: int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/openssl/include/internal/refcount.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 48
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: int CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/openssl/include/internal/refcount.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: int CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchangeAdd
      Src: /src/openssl/include/internal/refcount.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: CRYPTO_GET_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 2
    functionsReached:
    - _InterlockedExchangeAdd
    linkageType: ''
    returnType: int
    signature: int CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/include/internal/refcount.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 48
    functionsReached:
    - CRYPTO_atomic_add
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt,\n                                                 int
      *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/include/internal/refcount.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached:
    - CRYPTO_atomic_add
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt,\n                                                   int
      *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_atomic_load_int
      Src: /src/openssl/include/internal/refcount.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: CRYPTO_GET_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 2
    functionsReached:
    - CRYPTO_atomic_load_int
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt,\n                                                   int
      *ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/include/internal/refcount.h:236,1
    - Dst: ERR_raise
      Src: /src/openssl/include/internal/refcount.h:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - refcnt
    - n
    argTypes:
    - CRYPTO_REF_COUNT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: CRYPTO_NEW_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached:
    - CRYPTO_THREAD_lock_new
    - ERR_raise
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused CRYPTO_NEW_REF(CRYPTO_REF_COUNT *refcnt, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/include/internal/refcount.h:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - refcnt
    argTypes:
    - CRYPTO_REF_COUNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: CRYPTO_FREE_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 49
    functionsReached:
    - CRYPTO_THREAD_lock_free
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: CRYPTO_UP_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused CRYPTO_UP_REF(CRYPTO_REF_COUNT *refcnt,\n                                                 int
      *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: CRYPTO_DOWN_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused CRYPTO_DOWN_REF(CRYPTO_REF_COUNT *refcnt,\n                                                   int
      *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - ret
    argTypes:
    - CRYPTO_REF_COUNT*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: CRYPTO_GET_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused CRYPTO_GET_REF(CRYPTO_REF_COUNT *refcnt,\n                                                   int
      *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - refcnt
    - n
    argTypes:
    - CRYPTO_REF_COUNT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: CRYPTO_NEW_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused CRYPTO_NEW_REF(CRYPTO_REF_COUNT *refcnt, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - refcnt
    argTypes:
    - CRYPTO_REF_COUNT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: CRYPTO_FREE_REF
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused CRYPTO_FREE_REF(CRYPTO_REF_COUNT *refcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - test
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: REF_ASSERT_ISNT
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REF_ASSERT_ISNT(test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - text
    - ','
    - count
    - ','
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: REF_PRINT_EX
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REF_PRINT_EX(text, count, object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - text
    - ','
    - val
    - ','
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: REF_PRINT_COUNT
    functionSourceFile: /src/openssl/include/internal/refcount.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REF_PRINT_COUNT(text, val, object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: constant_time_msb
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned constant_time_msb(unsigned int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: constant_time_msb_32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_msb_32(uint32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: constant_time_msb_64
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_msb_64(uint64_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: constant_time_msb_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_msb_s(size_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb
      Src: /src/openssl/include/internal/constant_time.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: constant_time_lt
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 6
    functionsReached:
    - constant_time_msb
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: "ossl_inline unsigned constant_time_lt(unsigned int a,\n                                                 unsigned
      int b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_s
      Src: /src/openssl/include/internal/constant_time.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: constant_time_lt_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_msb_s
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_lt_s(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_lt
      Src: /src/openssl/include/internal/constant_time.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: constant_time_lt_8
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_lt
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: "ossl_inline unsigned constant_time_lt_8(unsigned int a,\n                                                    unsigned
      int b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_32
      Src: /src/openssl/include/internal/constant_time.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: constant_time_lt_32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    functionsReached:
    - constant_time_msb_32
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_lt_32(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_64
      Src: /src/openssl/include/internal/constant_time.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: constant_time_lt_64
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_msb_64
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_lt_64(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: value_barrier_bn
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline value_barrier_bn(BN_ULONG a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: constant_time_msb_bn
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_msb_bn(BN_ULONG a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_bn
      Src: /src/openssl/include/internal/constant_time.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: constant_time_lt_bn
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached:
    - constant_time_msb_bn
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_lt_bn(BN_ULONG a, BN_ULONG b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_bn
      Src: /src/openssl/include/internal/constant_time.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: constant_time_is_zero_bn
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    functionsReached:
    - constant_time_msb_bn
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_is_zero_bn(BN_ULONG a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero_bn
      Src: /src/openssl/include/internal/constant_time.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: constant_time_eq_bn
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached:
    - constant_time_is_zero_bn
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_eq_bn(BN_ULONG a,\n                                                BN_ULONG
      b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_bn
      Src: /src/openssl/include/internal/constant_time.h:188,1
    - Dst: value_barrier_bn
      Src: /src/openssl/include/internal/constant_time.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - BN_ULONG
    - BN_ULONG
    - BN_ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: constant_time_select_bn
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached:
    - value_barrier_bn
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_select_bn(BN_ULONG mask,\n                                                    BN_ULONG
      a,\n                                                    BN_ULONG b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_lt
      Src: /src/openssl/include/internal/constant_time.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: constant_time_ge
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 6
    functionsReached:
    - constant_time_lt
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: "ossl_inline unsigned constant_time_ge(unsigned int a,\n                                                 unsigned
      int b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_lt_s
      Src: /src/openssl/include/internal/constant_time.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: constant_time_ge_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_lt_s
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_ge_s(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_ge
      Src: /src/openssl/include/internal/constant_time.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: constant_time_ge_8
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_ge
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: "ossl_inline unsigned constant_time_ge_8(unsigned int a,\n                                                    unsigned
      int b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_ge_s
      Src: /src/openssl/include/internal/constant_time.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: constant_time_ge_8_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_ge_s
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned constant_time_ge_8_s(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb
      Src: /src/openssl/include/internal/constant_time.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: constant_time_is_zero
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 7
    functionsReached:
    - constant_time_msb
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned constant_time_is_zero(unsigned int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_s
      Src: /src/openssl/include/internal/constant_time.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: constant_time_is_zero_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    functionsReached:
    - constant_time_msb_s
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_is_zero_s(size_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero
      Src: /src/openssl/include/internal/constant_time.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: constant_time_is_zero_8
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    functionsReached:
    - constant_time_is_zero
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned constant_time_is_zero_8(unsigned int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_32
      Src: /src/openssl/include/internal/constant_time.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: constant_time_is_zero_32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached:
    - constant_time_msb_32
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_is_zero_32(uint32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_msb_64
      Src: /src/openssl/include/internal/constant_time.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: constant_time_is_zero_64
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    functionsReached:
    - constant_time_msb_64
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_is_zero_64(uint64_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero
      Src: /src/openssl/include/internal/constant_time.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: constant_time_eq
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 4
    functionsReached:
    - constant_time_is_zero
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: "ossl_inline unsigned constant_time_eq(unsigned int a,\n                                                 unsigned
      int b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/include/internal/constant_time.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: constant_time_eq_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    functionsReached:
    - constant_time_is_zero_s
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_eq_s(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq
      Src: /src/openssl/include/internal/constant_time.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: constant_time_eq_8
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached:
    - constant_time_eq
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: "ossl_inline unsigned constant_time_eq_8(unsigned int a,\n                                                    unsigned
      int b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq_s
      Src: /src/openssl/include/internal/constant_time.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: constant_time_eq_8_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_eq_s
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned constant_time_eq_8_s(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq
      Src: /src/openssl/include/internal/constant_time.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: constant_time_eq_int
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 5
    functionsReached:
    - constant_time_eq
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned constant_time_eq_int(int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_eq_8
      Src: /src/openssl/include/internal/constant_time.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: constant_time_eq_int_8
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    functionsReached:
    - constant_time_eq_8
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned constant_time_eq_int_8(int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: value_barrier
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned value_barrier(unsigned int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: value_barrier_32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline value_barrier_32(uint32_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: value_barrier_64
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline value_barrier_64(uint64_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: value_barrier_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline value_barrier_s(size_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: value_barrier_8
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned value_barrier_8(unsigned char a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier
      Src: /src/openssl/include/internal/constant_time.h:341,1
    - Dst: value_barrier
      Src: /src/openssl/include/internal/constant_time.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: constant_time_select
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 3
    functionsReached:
    - value_barrier
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: "ossl_inline unsigned constant_time_select(unsigned int mask,\n                                                     unsigned
      int a,\n                                                     unsigned int b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_s
      Src: /src/openssl/include/internal/constant_time.h:348,1
    - Dst: value_barrier_s
      Src: /src/openssl/include/internal/constant_time.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: constant_time_select_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    functionsReached:
    - value_barrier_s
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_select_s(size_t mask,\n                                                 size_t
      a,\n                                                 size_t b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select
      Src: /src/openssl/include/internal/constant_time.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: constant_time_select_8
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 6
    functionsReached:
    - constant_time_select
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: "ossl_inline unsigned constant_time_select_8(unsigned char mask,\n
      \                                                       unsigned char a,\n                                                        unsigned
      char b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select
      Src: /src/openssl/include/internal/constant_time.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: constant_time_select_int
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 11
    functionsReached:
    - constant_time_select
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_select_int(unsigned int mask, int a,\n                                                int
      b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_select
      Src: /src/openssl/include/internal/constant_time.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: constant_time_select_int_s
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_select
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline constant_time_select_int_s(size_t mask, int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_32
      Src: /src/openssl/include/internal/constant_time.h:373,1
    - Dst: value_barrier_32
      Src: /src/openssl/include/internal/constant_time.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: constant_time_select_32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 5
    functionsReached:
    - value_barrier_32
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_select_32(uint32_t mask, uint32_t a,\n                                                    uint32_t
      b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_64
      Src: /src/openssl/include/internal/constant_time.h:379,1
    - Dst: value_barrier_64
      Src: /src/openssl/include/internal/constant_time.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: constant_time_select_64
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 3
    functionsReached:
    - value_barrier_64
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_select_64(uint64_t mask, uint64_t a,\n                                                    uint64_t
      b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_32
      Src: /src/openssl/include/internal/constant_time.h:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: constant_time_cond_swap_32
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached:
    - value_barrier_32
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_cond_swap_32(uint32_t mask, uint32_t *a,\n
      \                                                  uint32_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_64
      Src: /src/openssl/include/internal/constant_time.h:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mask
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: constant_time_cond_swap_64
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 1
    functionsReached:
    - value_barrier_64
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_cond_swap_64(uint64_t mask, uint64_t *a,\n
      \                                                  uint64_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_barrier_8
      Src: /src/openssl/include/internal/constant_time.h:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - mask
    - a
    - b
    - len
    argTypes:
    - unsigned char
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: constant_time_cond_swap_buff
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 2
    functionsReached:
    - value_barrier_8
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_cond_swap_buff(unsigned char mask,\n                                                     unsigned
      char *a,\n                                                     unsigned char
      *b,\n                                                     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/include/internal/constant_time.h:466,1
    - Dst: constant_time_is_zero_s
      Src: /src/openssl/include/internal/constant_time.h:470,1
    - Dst: constant_time_select_8
      Src: /src/openssl/include/internal/constant_time.h:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - out
    - table
    - rowsize
    - numrows
    - idx
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 474
    functionName: constant_time_lookup
    functionSourceFile: /src/openssl/include/internal/constant_time.h
    functionUses: 0
    functionsReached:
    - constant_time_select_8
    - constant_time_is_zero_s
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline constant_time_lookup(void *out,\n                                             const
      void *table,\n                                             size_t rowsize,\n
      \                                            size_t numrows,\n                                             size_t
      idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - qlog
    - ','
    - cat
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: QLOG_EVENT_BEGIN
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_EVENT_BEGIN(qlog, cat, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: QLOG_EVENT_END
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_EVENT_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: QLOG_BEGIN
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_BEGIN(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: QLOG_END
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: QLOG_BEGIN_ARRAY
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_BEGIN_ARRAY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: QLOG_END_ARRAY
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_END_ARRAY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: QLOG_STR
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_STR(name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - value
    - ','
    - value_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: QLOG_STR_LEN
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_STR_LEN(name, value, value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: QLOG_I64
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_I64(name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: QLOG_U64
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_U64(name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: QLOG_F64
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_F64(name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: QLOG_BOOL
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_BOOL(name, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - value
    - ','
    - value_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: QLOG_BIN
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_BIN(name, value, value_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: QLOG_CID
    functionSourceFile: /src/openssl/include/internal/qlog.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_CID(name, value)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: ossl_quic_vlint_encode_len
    functionSourceFile: /src/openssl/include/internal/quic_vlint.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_quic_vlint_encode_len(uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - first_byte
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: ossl_quic_vlint_decode_len
    functionSourceFile: /src/openssl/include/internal/quic_vlint.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_quic_vlint_decode_len(uint8_t first_byte)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pkt_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: ossl_quic_pkt_type_to_enc_level
    functionSourceFile: /src/openssl/include/internal/quic_wire_pkt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_pkt_type_to_enc_level(uint32_t pkt_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - enc_level
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: ossl_quic_enc_level_to_pkt_type
    functionSourceFile: /src/openssl/include/internal/quic_wire_pkt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_enc_level_to_pkt_type(uint32_t enc_level)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pkt_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: ossl_quic_pkt_type_is_encrypted
    functionSourceFile: /src/openssl/include/internal/quic_wire_pkt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_pkt_type_is_encrypted(uint32_t pkt_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pkt_type_is_encrypted
      Src: /src/openssl/include/internal/quic_wire_pkt.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: ossl_quic_pkt_type_has_pn
    functionSourceFile: /src/openssl/include/internal/quic_wire_pkt.h
    functionUses: 0
    functionsReached:
    - ossl_quic_pkt_type_is_encrypted
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_pkt_type_has_pn(uint32_t pkt_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pkt_type_is_encrypted
      Src: /src/openssl/include/internal/quic_wire_pkt.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: ossl_quic_pkt_type_can_share_dgram
    functionSourceFile: /src/openssl/include/internal/quic_wire_pkt.h
    functionUses: 0
    functionsReached:
    - ossl_quic_pkt_type_is_encrypted
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_pkt_type_can_share_dgram(uint32_t pkt_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pkt_type_can_share_dgram
      Src: /src/openssl/include/internal/quic_wire_pkt.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkt_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: ossl_quic_pkt_type_must_be_last
    functionSourceFile: /src/openssl/include/internal/quic_wire_pkt.h
    functionUses: 0
    functionsReached:
    - ossl_quic_pkt_type_can_share_dgram
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_pkt_type_must_be_last(uint32_t pkt_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pkt_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: ossl_quic_pkt_type_has_version
    functionSourceFile: /src/openssl/include/internal/quic_wire_pkt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_pkt_type_has_version(uint32_t pkt_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: ossl_quic_pkt_type_has_scid
    functionSourceFile: /src/openssl/include/internal/quic_wire_pkt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_pkt_type_has_scid(uint32_t pkt_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: SSL_CONNECTION_FROM_SSL_ONLY_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_SSL_ONLY_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: SSL_CONNECTION_FROM_SSL_ONLY
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_SSL_ONLY(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: SSL_CONNECTION_FROM_CONST_SSL_ONLY
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_CONST_SSL_ONLY(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: SSL_CONNECTION_GET_CTX
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_GET_CTX(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: SSL_CONNECTION_GET_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_GET_SSL(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: SSL_CONNECTION_GET_USER_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_GET_USER_SSL(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: SSL_CONNECTION_FROM_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: SSL_CONNECTION_FROM_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: SSL_CONNECTION_FROM_CONST_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_CONST_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: SSL_CONNECTION_FROM_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: SSL_CONNECTION_FROM_CONST_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_CONST_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: IS_QUIC_METHOD
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUIC_METHOD(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: IS_QUIC_CTX
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUIC_CTX(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: QUIC_CONNECTION_FROM_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_CONNECTION_FROM_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: QUIC_XSO_FROM_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_XSO_FROM_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: SSL_CONNECTION_FROM_QUIC_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_QUIC_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: QUIC_LISTENER_FROM_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_LISTENER_FROM_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: QUIC_DOMAIN_FROM_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_DOMAIN_FROM_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: IS_QUIC_CS
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUIC_CS(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: IS_QUIC
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUIC(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: QUIC_CONNECTION_FROM_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_CONNECTION_FROM_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: QUIC_XSO_FROM_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_XSO_FROM_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: QUIC_LISTENER_FROM_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_LISTENER_FROM_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: SSL_CONNECTION_FROM_QUIC_SSL_int
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_QUIC_SSL_int(ssl, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: IS_QUIC
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUIC(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: IS_QUIC_CS
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUIC_CS(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: IS_QUIC_CTX
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUIC_CTX(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: IS_QUIC_METHOD
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_QUIC_METHOD(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: QUIC_CONNECTION_FROM_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_CONNECTION_FROM_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: QUIC_CONNECTION_FROM_CONST_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_CONNECTION_FROM_CONST_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: QUIC_XSO_FROM_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_XSO_FROM_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: QUIC_XSO_FROM_CONST_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_XSO_FROM_CONST_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: QUIC_LISTENER_FROM_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_LISTENER_FROM_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: QUIC_LISTENER_FROM_CONST_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_LISTENER_FROM_CONST_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: SSL_CONNECTION_FROM_QUIC_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_QUIC_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: SSL_CONNECTION_FROM_CONST_QUIC_SSL
    functionSourceFile: /src/openssl/include/internal/ssl_unwrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_FROM_CONST_QUIC_SSL(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - THREAD
    - ','
    - FLAG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: CRYPTO_THREAD_GET_STATE
    functionSourceFile: /src/openssl/include/internal/thread_arch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_THREAD_GET_STATE(THREAD, FLAG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - THREAD
    - ','
    - FLAG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: CRYPTO_THREAD_GET_ERROR
    functionSourceFile: /src/openssl/include/internal/thread_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_THREAD_GET_ERROR(THREAD, FLAG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - THREAD
    - ','
    - FLAG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: CRYPTO_THREAD_UNSET_STATE
    functionSourceFile: /src/openssl/include/internal/thread_arch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_THREAD_UNSET_STATE(THREAD, FLAG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - THREAD
    - ','
    - FLAG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: CRYPTO_THREAD_SET_STATE
    functionSourceFile: /src/openssl/include/internal/thread_arch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_THREAD_SET_STATE(THREAD, FLAG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - THREAD
    - ','
    - FLAG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: CRYPTO_THREAD_SET_ERROR
    functionSourceFile: /src/openssl/include/internal/thread_arch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_THREAD_SET_ERROR(THREAD, FLAG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - THREAD
    - ','
    - FLAG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: CRYPTO_THREAD_UNSET_ERROR
    functionSourceFile: /src/openssl/include/internal/thread_arch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRYPTO_THREAD_UNSET_ERROR(THREAD, FLAG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ch
    - ','
    - error_code
    - ','
    - frame_type
    - ','
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: ossl_quic_channel_raise_protocol_error
    functionSourceFile: /src/openssl/include/internal/quic_channel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_quic_channel_raise_protocol_error(ch, error_code, frame_type,
      reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ch
    - ','
    - error_code
    - ','
    - frame_type
    - ','
    - reason
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: ossl_quic_channel_raise_protocol_error_state
    functionSourceFile: /src/openssl/include/internal/quic_channel.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_quic_channel_raise_protocol_error_state(ch, error_code, frame_type,
      reason, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: is_unicode_surrogate
    functionSourceFile: /src/openssl/include/internal/unicode.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused is_unicode_surrogate(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_unicode_surrogate
      Src: /src/openssl/include/internal/unicode.h:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: is_unicode_valid
    functionSourceFile: /src/openssl/include/internal/unicode.h
    functionUses: 2
    functionsReached:
    - is_unicode_surrogate
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused is_unicode_valid(unsigned long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ossl_seconds2time
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_seconds2time(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ossl_time2seconds
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_time2seconds(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ms
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: ossl_ms2time
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_ms2time(ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ossl_time2ms
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_time2ms(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - us
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ossl_us2time
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_us2time(us)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: ossl_time2us
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_time2us(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ticks
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: ossl_ticks2time
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_ticks2time(uint64_t ticks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ossl_time2ticks
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time2ticks(OSSL_TIME t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ticks2time
      Src: /src/openssl/include/internal/time.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ossl_time_zero
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 12
    functionsReached:
    - ossl_ticks2time
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ticks2time
      Src: /src/openssl/include/internal/time.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ossl_time_infinite
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 4
    functionsReached:
    - ossl_ticks2time
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_infinite(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_add_time
      Src: /src/openssl/include/internal/time.h:101,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/include/internal/time.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: ossl_time_to_timeval
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 6
    functionsReached:
    - ossl_time_infinite
    - safe_add_time
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_to_timeval(OSSL_TIME t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: ossl_time_from_timeval
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 5
    functionsReached:
    - ossl_time_zero
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_from_timeval(struct timeval tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ossl_time_to_time_t
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_to_time_t(OSSL_TIME t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: ossl_time_from_time_t
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_from_time_t(time_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: ossl_time_compare
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_compare(OSSL_TIME a, OSSL_TIME b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_compare
      Src: /src/openssl/include/internal/time.h:161,1
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: ossl_time_is_zero
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 8
    functionsReached:
    - ossl_time_compare
    - ossl_time_zero
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_is_zero(OSSL_TIME t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_compare
      Src: /src/openssl/include/internal/time.h:168,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/include/internal/time.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: ossl_time_is_infinite
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 4
    functionsReached:
    - ossl_time_compare
    - ossl_time_infinite
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_is_infinite(OSSL_TIME t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_add_time
      Src: /src/openssl/include/internal/time.h:177,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/include/internal/time.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: ossl_time_add
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 20
    functionsReached:
    - ossl_time_infinite
    - safe_add_time
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_add(OSSL_TIME a, OSSL_TIME b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_sub_time
      Src: /src/openssl/include/internal/time.h:187,1
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: ossl_time_subtract
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 16
    functionsReached:
    - ossl_time_zero
    - safe_sub_time
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_subtract(OSSL_TIME a, OSSL_TIME b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_subtract
      Src: /src/openssl/include/internal/time.h:195,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/include/internal/time.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: ossl_time_abs_difference
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 0
    functionsReached:
    - ossl_time_subtract
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_abs_difference(OSSL_TIME a, OSSL_TIME b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_mul_time
      Src: /src/openssl/include/internal/time.h:205,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/include/internal/time.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: ossl_time_multiply
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 1
    functionsReached:
    - safe_mul_time
    - ossl_time_infinite
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_multiply(OSSL_TIME a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_div_time
      Src: /src/openssl/include/internal/time.h:215,1
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: ossl_time_divide
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 0
    functionsReached:
    - ossl_time_zero
    - safe_div_time
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_divide(OSSL_TIME a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_muldiv_time
      Src: /src/openssl/include/internal/time.h:225,1
    - Dst: ossl_time_zero
      Src: /src/openssl/include/internal/time.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - OSSL_TIME
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: ossl_time_muldiv
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 0
    functionsReached:
    - safe_muldiv_time
    - ossl_time_zero
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_muldiv(OSSL_TIME a, uint64_t b, uint64_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: ossl_time_max
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_max(OSSL_TIME a, OSSL_TIME b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: ossl_time_min
    functionSourceFile: /src/openssl/include/internal/time.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ossl_time_min(OSSL_TIME a, OSSL_TIME b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: DANETLS_ENABLED
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_ENABLED(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: DANETLS_USAGE_BIT
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_USAGE_BIT(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: DANETLS_HAS_PKIX
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_HAS_PKIX(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DANETLS_HAS_DANE
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_HAS_DANE(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: DANETLS_HAS_TA
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_HAS_TA(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: DANETLS_HAS_EE
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_HAS_EE(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: DANETLS_HAS_PKIX_TA
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_HAS_PKIX_TA(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: DANETLS_HAS_PKIX_EE
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_HAS_PKIX_EE(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: DANETLS_HAS_DANE_TA
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_HAS_DANE_TA(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: DANETLS_HAS_DANE_EE
    functionSourceFile: /src/openssl/include/internal/dane.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DANETLS_HAS_DANE_EE(dane)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - QUIC_URXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: ossl_quic_urxe_data
    functionSourceFile: /src/openssl/include/internal/quic_demux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: 'ossl_unused *

      ossl_quic_urxe_data(const QUIC_URXE *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/include/internal/quic_demux.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - QUIC_URXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: ossl_quic_urxe_data_end
    functionSourceFile: /src/openssl/include/internal/quic_demux.h
    functionUses: 0
    functionsReached:
    - ossl_quic_urxe_data
    linkageType: ''
    returnType: ossl_unused
    signature: 'ossl_unused *

      ossl_quic_urxe_data_end(const QUIC_URXE *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ossl_rcu_deref
    functionSourceFile: /src/openssl/include/internal/rcu.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_rcu_deref(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ossl_rcu_assign_ptr
    functionSourceFile: /src/openssl/include/internal/rcu.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ossl_rcu_assign_ptr(p,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: PRIORITY_QUEUE_OF
    functionSourceFile: /src/openssl/include/internal/priority_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIORITY_QUEUE_OF(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - ctype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 71
    functionName: DEFINE_PRIORITY_QUEUE_OF_INTERNAL
    functionSourceFile: /src/openssl/include/internal/priority_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_PRIORITY_QUEUE_OF_INTERNAL(type, ctype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: DEFINE_PRIORITY_QUEUE_OF
    functionSourceFile: /src/openssl/include/internal/priority_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_PRIORITY_QUEUE_OF(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: __MAXUINT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAXUINT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: __MAXINT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAXINT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: __MININT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MININT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: __MAXUINT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAXUINT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: __MAXINT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAXINT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: __MININT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MININT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: __MAXINT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAXINT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: __MAXUINT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAXUINT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: __MININT__
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MININT__(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: UINT32_C
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT32_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: UINT64_C
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT64_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: UINT32_C
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT32_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: UINT64_C
    functionSourceFile: /src/openssl/include/internal/numbers.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT64_C(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_new
      Src: /src/openssl/include/internal/mem_alloc_utils.h:44,1
    - Dst: ERR_set_debug
      Src: /src/openssl/include/internal/mem_alloc_utils.h:45,1
    - Dst: ERR_set_error
      Src: /src/openssl/include/internal/mem_alloc_utils.h:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - file
    - line
    - reason
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: ossl_report_alloc_err_ex
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 0
    functionsReached:
    - ERR_set_error
    - ERR_set_debug
    - ERR_new
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_report_alloc_err_ex(const char * const file, const
      int line,\n                         const int reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_report_alloc_err_ex
      Src: /src/openssl/include/internal/mem_alloc_utils.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: ossl_report_alloc_err
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 3
    functionsReached:
    - ossl_report_alloc_err_ex
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_report_alloc_err(const char * const file, const int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_report_alloc_err_ex
      Src: /src/openssl/include/internal/mem_alloc_utils.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ossl_report_alloc_err_of
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 0
    functionsReached:
    - ossl_report_alloc_err_ex
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_report_alloc_err_of(const char * const file, const
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_report_alloc_err_ex
      Src: /src/openssl/include/internal/mem_alloc_utils.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ossl_report_alloc_err_inv
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 1
    functionsReached:
    - ossl_report_alloc_err_ex
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_report_alloc_err_inv(const char * const file, const
      int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_mul_size_t
      Src: /src/openssl/include/internal/mem_alloc_utils.h:81,1
    - Dst: ossl_unlikely
      Src: /src/openssl/include/internal/mem_alloc_utils.h:83,1
    - Dst: ossl_report_alloc_err_of
      Src: /src/openssl/include/internal/mem_alloc_utils.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - num
    - size
    - bytes
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - size_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: ossl_size_mul
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 8
    functionsReached:
    - safe_mul_size_t
    - ossl_unlikely
    - ossl_report_alloc_err_of
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_size_mul(const size_t num, const size_t size, size_t
      *bytes,\n              const char * const file, const int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_add_size_t
      Src: /src/openssl/include/internal/mem_alloc_utils.h:102,1
    - Dst: ossl_unlikely
      Src: /src/openssl/include/internal/mem_alloc_utils.h:104,1
    - Dst: ossl_report_alloc_err_of
      Src: /src/openssl/include/internal/mem_alloc_utils.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - size1
    - size2
    - bytes
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - size_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: ossl_size_add
    functionSourceFile: /src/openssl/include/internal/mem_alloc_utils.h
    functionUses: 2
    functionsReached:
    - ossl_unlikely
    - ossl_report_alloc_err_of
    - safe_add_size_t
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ossl_size_add(const size_t size1, const size_t size2,
      size_t *bytes,\n              const char * const file, const int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: BN_num_bytes
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_num_bytes(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: BN_one
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_one(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: BN_zero
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: BN_zero
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_zero(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rem
    - ','
    - m
    - ','
    - d
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: BN_mod
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_mod(rem,m,d,ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: BN_GF2m_sub
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_GF2m_sub(r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: BN_GF2m_cmp
    functionSourceFile: /src/openssl/include/openssl/bn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BN_GF2m_cmp(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: RSA_set_app_data
    functionSourceFile: /src/openssl/include/openssl/rsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSA_set_app_data(s,arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: RSA_get_app_data
    functionSourceFile: /src/openssl/include/openssl/rsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSA_get_app_data(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: EVP_RSA_gen
    functionSourceFile: /src/openssl/include/openssl/rsa.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_RSA_gen(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - p
    - ','
    - newf
    - ','
    - dupf
    - ','
    - freef
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: RSA_get_ex_new_index
    functionSourceFile: /src/openssl/include/openssl/rsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSA_get_ex_new_index(l, p, newf, dupf, freef)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - i
    - ','
    - o
    - ','
    - k1
    - ','
    - k2
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: DES_ecb2_encrypt
    functionSourceFile: /src/openssl/include/openssl/des.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DES_ecb2_encrypt(i,o,k1,k2,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - i
    - ','
    - o
    - ','
    - l
    - ','
    - k1
    - ','
    - k2
    - ','
    - iv
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: DES_ede2_cbc_encrypt
    functionSourceFile: /src/openssl/include/openssl/des.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - i
    - ','
    - o
    - ','
    - l
    - ','
    - k1
    - ','
    - k2
    - ','
    - iv
    - ','
    - n
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: DES_ede2_cfb64_encrypt
    functionSourceFile: /src/openssl/include/openssl/des.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - i
    - ','
    - o
    - ','
    - l
    - ','
    - k1
    - ','
    - k2
    - ','
    - iv
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: DES_ede2_ofb64_encrypt
    functionSourceFile: /src/openssl/include/openssl/des.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: RAND_cleanup
    functionSourceFile: /src/openssl/include/openssl/rand.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAND_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: d2i_DHparams_fp
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d2i_DHparams_fp(fp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: i2d_DHparams_fp
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: i2d_DHparams_fp(fp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: d2i_DHparams_bio
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d2i_DHparams_bio(bp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: i2d_DHparams_bio
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: i2d_DHparams_bio(bp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: d2i_DHxparams_fp
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d2i_DHxparams_fp(fp,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: i2d_DHxparams_fp
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: i2d_DHxparams_fp(fp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: d2i_DHxparams_bio
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d2i_DHxparams_bio(bp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: i2d_DHxparams_bio
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: i2d_DHxparams_bio(bp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - p
    - ','
    - newf
    - ','
    - dupf
    - ','
    - freef
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: DH_get_ex_new_index
    functionSourceFile: /src/openssl/include/openssl/dh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DH_get_ex_new_index(l, p, newf, dupf, freef)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - INTYPE
    - ','
    - readname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: PEM_read_cb_fnsig
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEM_read_cb_fnsig(name, type, INTYPE, readname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - INTYPE
    - ','
    - readname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: PEM_read_cb_ex_fnsig
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEM_read_cb_ex_fnsig(name, type, INTYPE, readname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - OUTTYPE
    - ','
    - writename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: PEM_write_fnsig
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEM_write_fnsig(name, type, OUTTYPE, writename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - OUTTYPE
    - ','
    - writename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: PEM_write_cb_fnsig
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEM_write_cb_fnsig(name, type, OUTTYPE, writename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - OUTTYPE
    - ','
    - writename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: PEM_write_ex_fnsig
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEM_write_ex_fnsig(name, type, OUTTYPE, writename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - OUTTYPE
    - ','
    - writename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: PEM_write_cb_ex_fnsig
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEM_write_cb_ex_fnsig(name, type, OUTTYPE, writename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: IMPLEMENT_PEM_read_fp
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_read_fp(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: IMPLEMENT_PEM_write_fp
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_fp(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: IMPLEMENT_PEM_write_fp_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_fp_const(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: IMPLEMENT_PEM_write_cb_fp
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: IMPLEMENT_PEM_write_cb_fp_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: IMPLEMENT_PEM_read_bio
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_read_bio(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: IMPLEMENT_PEM_write_bio
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_bio(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: IMPLEMENT_PEM_write_bio_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_bio_const(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: IMPLEMENT_PEM_write_cb_bio
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: IMPLEMENT_PEM_write_cb_bio_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: IMPLEMENT_PEM_write
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: IMPLEMENT_PEM_write_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_const(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: IMPLEMENT_PEM_write_cb
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_cb(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: IMPLEMENT_PEM_write_cb_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_write_cb_const(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: IMPLEMENT_PEM_read
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_read(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: IMPLEMENT_PEM_rw
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_rw(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: IMPLEMENT_PEM_rw_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_rw_const(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - str
    - ','
    - asn1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: IMPLEMENT_PEM_rw_cb
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_PEM_rw_cb(name, type, str, asn1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: DECLARE_PEM_read_fp_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_fp_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: DECLARE_PEM_read_fp_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_fp_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: DECLARE_PEM_write_fp_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_fp_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: DECLARE_PEM_write_fp_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_fp_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: DECLARE_PEM_write_fp_const_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_fp_const_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: DECLARE_PEM_write_cb_fp_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_fp_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: DECLARE_PEM_write_cb_fp_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_fp_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: DECLARE_PEM_read_fp
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_fp(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: DECLARE_PEM_write_fp
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_fp(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: DECLARE_PEM_write_fp_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_fp_const(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: DECLARE_PEM_write_cb_fp
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_fp(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: DECLARE_PEM_read_bio_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_bio_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: DECLARE_PEM_read_bio_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_bio_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: DECLARE_PEM_read_bio
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_bio(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: DECLARE_PEM_read_bio_ex
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_bio_ex(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: DECLARE_PEM_write_bio_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_bio_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: DECLARE_PEM_write_bio_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_bio_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: DECLARE_PEM_write_bio
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_bio(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: DECLARE_PEM_write_bio_ex
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_bio_ex(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: DECLARE_PEM_write_bio_const_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_bio_const_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: DECLARE_PEM_write_bio_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_bio_const(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: DECLARE_PEM_write_cb_bio_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_bio_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: DECLARE_PEM_write_cb_bio_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_bio_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: DECLARE_PEM_write_cb_bio
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_bio(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: DECLARE_PEM_write_cb_ex_bio
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_ex_bio(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: DECLARE_PEM_write_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: DECLARE_PEM_write_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: DECLARE_PEM_write
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: DECLARE_PEM_write_ex
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_ex(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: DECLARE_PEM_write_const_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_const_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: DECLARE_PEM_write_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_const(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: DECLARE_PEM_write_cb_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: DECLARE_PEM_write_cb_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: DECLARE_PEM_write_cb
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: DECLARE_PEM_write_cb_ex
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_write_cb_ex(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: DECLARE_PEM_read_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: DECLARE_PEM_read_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: DECLARE_PEM_read
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: DECLARE_PEM_read_ex
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_read_ex(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: DECLARE_PEM_rw_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: DECLARE_PEM_rw_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: DECLARE_PEM_rw
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: DECLARE_PEM_rw_ex
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_ex(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: DECLARE_PEM_rw_const_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_const_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: DECLARE_PEM_rw_const
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_const(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: DECLARE_PEM_rw_cb_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_cb_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - attr
    - ','
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: DECLARE_PEM_rw_cb_ex_attr
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_cb_ex_attr(attr, name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: DECLARE_PEM_rw_cb
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_cb(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: DECLARE_PEM_rw_cb_ex
    functionSourceFile: /src/openssl/include/openssl/pem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PEM_rw_cb_ex(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkey
    - ','
    - rsa
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: EVP_PKEY_assign_RSA
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_assign_RSA(pkey, rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkey
    - ','
    - dsa
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: EVP_PKEY_assign_DSA
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_assign_DSA(pkey, dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkey
    - ','
    - dh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: EVP_PKEY_assign_DH
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_assign_DH(pkey, dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkey
    - ','
    - eckey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: EVP_PKEY_assign_EC_KEY
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_assign_EC_KEY(pkey, eckey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkey
    - ','
    - shkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: EVP_PKEY_assign_SIPHASH
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_assign_SIPHASH(pkey, shkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkey
    - ','
    - polykey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: EVP_PKEY_assign_POLY1305
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_assign_POLY1305(pkey, polykey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 560
    functionName: EVP_get_digestbynid
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_get_digestbynid(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 561
    functionName: EVP_get_digestbyobj
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_get_digestbyobj(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 562
    functionName: EVP_get_cipherbynid
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_get_cipherbynid(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    functionName: EVP_get_cipherbyobj
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_get_cipherbyobj(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 601
    functionName: EVP_MD_CTX_get0_name
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_CTX_get0_name(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: EVP_MD_CTX_get_size
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_CTX_get_size(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 604
    functionName: EVP_MD_CTX_get_block_size
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_CTX_get_block_size(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 606
    functionName: EVP_MD_CTX_get_type
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_CTX_get_type(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 681
    functionName: EVP_CIPHER_CTX_get0_name
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_CIPHER_CTX_get0_name(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: EVP_CIPHER_CTX_get_type
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_CIPHER_CTX_get_type(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 685
    functionName: EVP_CIPHER_CTX_flags
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_CIPHER_CTX_flags(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 687
    functionName: EVP_CIPHER_CTX_get_mode
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_CIPHER_CTX_get_mode(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 690
    functionName: EVP_ENCODE_LENGTH
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_ENCODE_LENGTH(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 691
    functionName: EVP_DECODE_LENGTH
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_DECODE_LENGTH(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 693
    functionName: EVP_SignInit_ex
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_SignInit_ex(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 694
    functionName: EVP_SignInit
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_SignInit(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 695
    functionName: EVP_SignUpdate
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_SignUpdate(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 696
    functionName: EVP_VerifyInit_ex
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_VerifyInit_ex(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 697
    functionName: EVP_VerifyInit
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_VerifyInit(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 698
    functionName: EVP_VerifyUpdate
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_VerifyUpdate(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 699
    functionName: EVP_OpenUpdate
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_OpenUpdate(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 700
    functionName: EVP_SealUpdate
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_SealUpdate(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - md
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 705
    functionName: BIO_set_md
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_md(b,md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - mdp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 707
    functionName: BIO_get_md
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_md(b,mdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - mdcp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 708
    functionName: BIO_get_md_ctx
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_md_ctx(b,mdcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - mdcp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 709
    functionName: BIO_set_md_ctx
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_set_md_ctx(b,mdcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: BIO_get_cipher_status
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_cipher_status(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - c_pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: BIO_get_cipher_ctx
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIO_get_cipher_ctx(b,c_pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - alias
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 718
    functionName: EVP_add_cipher_alias
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_add_cipher_alias(n,alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - alias
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 720
    functionName: EVP_add_digest_alias
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_add_digest_alias(n,alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alias
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 722
    functionName: EVP_delete_cipher_alias
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_delete_cipher_alias(alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alias
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 724
    functionName: EVP_delete_digest_alias
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_delete_digest_alias(alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 738
    functionName: EVP_MD_CTX_create
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_CTX_create()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 739
    functionName: EVP_MD_CTX_init
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_CTX_init(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 740
    functionName: EVP_MD_CTX_destroy
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_MD_CTX_destroy(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 932
    functionName: EVP_CIPHER_CTX_init
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_CIPHER_CTX_init(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 933
    functionName: EVP_CIPHER_CTX_cleanup
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_CIPHER_CTX_cleanup(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1215
    functionName: OPENSSL_add_all_algorithms_conf
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_add_all_algorithms_conf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1218
    functionName: OPENSSL_add_all_algorithms_noconf
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_add_all_algorithms_noconf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1221
    functionName: OpenSSL_add_all_algorithms
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OpenSSL_add_all_algorithms()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1223
    functionName: OpenSSL_add_all_algorithms
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OpenSSL_add_all_algorithms()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: OpenSSL_add_all_ciphers
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OpenSSL_add_all_ciphers()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: OpenSSL_add_all_digests
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OpenSSL_add_all_digests()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1231
    functionName: EVP_cleanup
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkey
    - ','
    - pt
    - ','
    - ptlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1518
    functionName: EVP_PKEY_set1_tls_encodedpoint
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_set1_tls_encodedpoint(pkey, pt, ptlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pkey
    - ','
    - ppt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: EVP_PKEY_get1_tls_encodedpoint
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_get1_tls_encodedpoint(pkey, ppt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - p
    - ','
    - newf
    - ','
    - dupf
    - ','
    - freef
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2139
    functionName: EVP_PKEY_get_ex_new_index
    functionSourceFile: /src/openssl/include/openssl/evp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_get_ex_new_index(l, p, newf, dupf, freef)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: OPENSSL_MSTR_HELPER
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_MSTR_HELPER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: OPENSSL_MSTR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_MSTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: OSSL_DEPRECATED
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: OSSL_DEPRECATED_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_FOR(since, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: OSSL_DEPRECATED
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: OSSL_DEPRECATED_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_FOR(since, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: OSSL_DEPRECATED
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: OSSL_DEPRECATED_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_FOR(since, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: OSSL_DEPRECATED
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: OSSL_DEPRECATED_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_FOR(since, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: OSSL_DEPRECATED
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: OSSL_DEPRECATED_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_FOR(since, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: OSSL_DEPRECATED
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: OSSL_DEPRECATED_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATED_FOR(since, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: OSSL_DEPRECATEDIN_3_6_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_3_6_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: OSSL_DEPRECATEDIN_3_5_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_3_5_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: OSSL_DEPRECATEDIN_3_4_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_3_4_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: OSSL_DEPRECATEDIN_3_1_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_3_1_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: OSSL_DEPRECATEDIN_3_0_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_3_0_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: OSSL_DEPRECATEDIN_1_1_1_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_1_1_1_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: OSSL_DEPRECATEDIN_1_1_0_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_1_1_0_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: OSSL_DEPRECATEDIN_1_0_2_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_1_0_2_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: OSSL_DEPRECATEDIN_1_0_1_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_1_0_1_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: OSSL_DEPRECATEDIN_1_0_0_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_1_0_0_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: OSSL_DEPRECATEDIN_0_9_8_FOR
    functionSourceFile: /src/openssl/include/openssl/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_DEPRECATEDIN_0_9_8_FOR(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: d2i_DSAparams_fp
    functionSourceFile: /src/openssl/include/openssl/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d2i_DSAparams_fp(fp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: i2d_DSAparams_fp
    functionSourceFile: /src/openssl/include/openssl/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: i2d_DSAparams_fp(fp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: d2i_DSAparams_bio
    functionSourceFile: /src/openssl/include/openssl/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d2i_DSAparams_bio(bp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: i2d_DSAparams_bio
    functionSourceFile: /src/openssl/include/openssl/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: i2d_DSAparams_bio(bp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - p
    - ','
    - newf
    - ','
    - dupf
    - ','
    - freef
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: DSA_get_ex_new_index
    functionSourceFile: /src/openssl/include/openssl/dsa.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_get_ex_new_index(l, p, newf, dupf, freef)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - callback
    - ','
    - cb_arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: DSA_is_prime
    functionSourceFile: /src/openssl/include/openssl/dsa.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_is_prime(n, callback, cb_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: TLS1_get_version
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS1_get_version(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: TLS1_get_client_version
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS1_get_client_version(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: SSL_set_tlsext_host_name
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_set_tlsext_host_name(s,name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: SSL_set_tlsext_debug_callback
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_set_tlsext_debug_callback(ssl, cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: SSL_set_tlsext_debug_arg
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_set_tlsext_debug_arg(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: SSL_get_tlsext_status_type
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_get_tlsext_status_type(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: SSL_set_tlsext_status_type
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_set_tlsext_status_type(ssl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: SSL_get_tlsext_status_exts
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_get_tlsext_status_exts(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: SSL_set_tlsext_status_exts
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_set_tlsext_status_exts(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: SSL_get_tlsext_status_ids
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_get_tlsext_status_ids(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: SSL_set_tlsext_status_ids
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_set_tlsext_status_ids(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: SSL_get_tlsext_status_ocsp_resp
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_get_tlsext_status_ocsp_resp(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ssl
    - ','
    - arg
    - ','
    - arglen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: SSL_set_tlsext_status_ocsp_resp
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: SSL_get0_tlsext_status_ocsp_resp_ex
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_get0_tlsext_status_ocsp_resp_ex(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: SSL_set0_tlsext_status_ocsp_resp_ex
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_set0_tlsext_status_ocsp_resp_ex(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: SSL_CTX_set_tlsext_servername_callback
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_tlsext_servername_callback(ctx, cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: SSL_CTX_set_tlsext_servername_arg
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_tlsext_servername_arg(ctx, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - keys
    - ','
    - keylen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: SSL_CTX_get_tlsext_ticket_keys
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - keys
    - ','
    - keylen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: SSL_CTX_set_tlsext_ticket_keys
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: SSL_CTX_get_tlsext_status_cb
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_get_tlsext_status_cb(ssl, cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: SSL_CTX_set_tlsext_status_cb
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_tlsext_status_cb(ssl, cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: SSL_CTX_get_tlsext_status_arg
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_get_tlsext_status_arg(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: SSL_CTX_set_tlsext_status_arg
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_tlsext_status_arg(ssl, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: SSL_CTX_set_tlsext_status_type
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_tlsext_status_type(ssl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ssl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: SSL_CTX_get_tlsext_status_type
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_get_tlsext_status_type(ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ssl
    - ','
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: SSL_CTX_set_tlsext_ticket_key_cb
    functionSourceFile: /src/openssl/include/openssl/tls1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: OSSL_CORE_MAKE_FUNC
    functionSourceFile: /src/openssl/include/openssl/core_dispatch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_CORE_MAKE_FUNC(type,name,args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - key
    - ','
    - type
    - ','
    - addr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: OSSL_PARAM_DEFN
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_DEFN(key, type, addr, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: OSSL_PARAM_int
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_int(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: OSSL_PARAM_uint
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_uint(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: OSSL_PARAM_long
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_long(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: OSSL_PARAM_ulong
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_ulong(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: OSSL_PARAM_int32
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_int32(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: OSSL_PARAM_uint32
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_uint32(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: OSSL_PARAM_int64
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_int64(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: OSSL_PARAM_uint64
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_uint64(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: OSSL_PARAM_size_t
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_size_t(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: OSSL_PARAM_time_t
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_time_t(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - key
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: OSSL_PARAM_double
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_double(key, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - bn
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: OSSL_PARAM_BN
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_BN(key, bn, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - addr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: OSSL_PARAM_utf8_string
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_utf8_string(key, addr, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - addr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: OSSL_PARAM_octet_string
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_octet_string(key, addr, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - addr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: OSSL_PARAM_utf8_ptr
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_utf8_ptr(key, addr, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - addr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: OSSL_PARAM_octet_ptr
    functionSourceFile: /src/openssl/include/openssl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_PARAM_octet_ptr(key, addr, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 936
    functionName: d2i_ECPKParameters_bio
    functionSourceFile: /src/openssl/include/openssl/ec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d2i_ECPKParameters_bio(bp,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 938
    functionName: i2d_ECPKParameters_bio
    functionSourceFile: /src/openssl/include/openssl/ec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: i2d_ECPKParameters_bio(bp,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 941
    functionName: d2i_ECPKParameters_fp
    functionSourceFile: /src/openssl/include/openssl/ec.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d2i_ECPKParameters_fp(fp,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionName: i2d_ECPKParameters_fp
    functionSourceFile: /src/openssl/include/openssl/ec.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: i2d_ECPKParameters_fp(fp,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - p
    - ','
    - newf
    - ','
    - dupf
    - ','
    - freef
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1100
    functionName: EC_KEY_get_ex_new_index
    functionSourceFile: /src/openssl/include/openssl/ec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EC_KEY_get_ex_new_index(l, p, newf, dupf, freef)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - curve
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1572
    functionName: EVP_EC_gen
    functionSourceFile: /src/openssl/include/openssl/ec.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_EC_gen(curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1575
    functionName: ECParameters_dup
    functionSourceFile: /src/openssl/include/openssl/ec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ECParameters_dup(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: OSSL_QUIC_ERR_CRYPTO_ERR
    functionSourceFile: /src/openssl/include/openssl/quic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_QUIC_ERR_CRYPTO_ERR(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: ENGINE_load_openssl
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_load_openssl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: ENGINE_load_dynamic
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_load_dynamic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: ENGINE_load_padlock
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_load_padlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: ENGINE_load_capi
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_load_capi()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: ENGINE_load_afalg
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_load_afalg()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: ENGINE_load_cryptodev
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_load_cryptodev()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: ENGINE_load_rdrand
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_load_rdrand()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - p
    - ','
    - newf
    - ','
    - dupf
    - ','
    - freef
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: ENGINE_get_ex_new_index
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_get_ex_new_index(l, p, newf, dupf, freef)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: ENGINE_cleanup
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: IMPLEMENT_DYNAMIC_CHECK_FN
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_DYNAMIC_CHECK_FN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 808
    functionName: IMPLEMENT_DYNAMIC_BIND_FN
    functionSourceFile: /src/openssl/include/openssl/engine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_DYNAMIC_BIND_FN(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: OBJ_create_and_add_object
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_create_and_add_object(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - scope
    - ','
    - type1
    - ','
    - type2
    - ','
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: _DECLARE_OBJ_BSEARCH_CMP_FN
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type1
    - ','
    - type2
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: DECLARE_OBJ_BSEARCH_CMP_FN
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type1
    - ','
    - type2
    - ','
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type1
    - ','
    - type2
    - ','
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: IMPLEMENT_OBJ_BSEARCH_CMP_FN
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type1
    - ','
    - type2
    - ','
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - type1
    - ','
    - key
    - ','
    - type2
    - ','
    - base
    - ','
    - num
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: OBJ_bsearch
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_bsearch(type1,key,type2,base,num,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - type1
    - ','
    - key
    - ','
    - type2
    - ','
    - base
    - ','
    - num
    - ','
    - cmp
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: OBJ_bsearch_ex
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: OBJ_cleanup
    functionSourceFile: /src/openssl/include/openssl/objects.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - cert
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: TS_VERIFY_CTS_set_certs
    functionSourceFile: /src/openssl/include/openssl/ts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_VERIFY_CTS_set_certs(ctx, cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: OSSL_HTOBE16
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: OSSL_HTOBE32
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: OSSL_HTOBE64
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: OSSL_BE16TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE16TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: OSSL_BE32TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE32TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: OSSL_BE64TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE64TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: OSSL_HTOLE16
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: OSSL_HTOLE32
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: OSSL_HTOLE64
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: OSSL_LE16TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE16TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: OSSL_LE32TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE32TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: OSSL_LE64TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE64TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: OSSL_HTOBE16
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: OSSL_HTOBE32
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: OSSL_HTOBE64
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: OSSL_BE16TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE16TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: OSSL_BE32TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE32TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: OSSL_BE64TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE64TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: OSSL_HTOLE16
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: OSSL_HTOLE32
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: OSSL_HTOLE64
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: OSSL_LE16TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE16TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: OSSL_LE32TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE32TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: OSSL_LE64TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE64TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: OSSL_HTOBE16
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: OSSL_HTOBE32
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: OSSL_HTOBE64
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: OSSL_BE16TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE16TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: OSSL_BE32TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE32TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: OSSL_BE64TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE64TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: OSSL_HTOLE16
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: OSSL_HTOLE32
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: OSSL_HTOLE64
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: OSSL_LE16TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE16TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: OSSL_LE32TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE32TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: OSSL_LE64TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE64TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: OSSL_HTOBE16
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: OSSL_HTOBE32
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: OSSL_HTOBE64
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOBE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: OSSL_BE16TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE16TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: OSSL_BE32TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE32TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: OSSL_BE64TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_BE64TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: OSSL_HTOLE16
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: OSSL_HTOLE32
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: OSSL_HTOLE64
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_HTOLE64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: OSSL_LE16TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE16TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: OSSL_LE32TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE32TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: OSSL_LE64TOH
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_LE64TOH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTOLE16
      Src: /src/openssl/include/openssl/byteorder.h:98,1
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - unsigned char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: OPENSSL_store_u16_le
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 3
    functionsReached:
    - memcpy
    - OSSL_HTOLE16
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_store_u16_le(unsigned char *out, uint16_t val)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTOBE16
      Src: /src/openssl/include/openssl/byteorder.h:113,1
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - unsigned char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: OPENSSL_store_u16_be
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 5
    functionsReached:
    - OSSL_HTOBE16
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_store_u16_be(unsigned char *out, uint16_t val)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTOLE32
      Src: /src/openssl/include/openssl/byteorder.h:128,1
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: OPENSSL_store_u32_le
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 4
    functionsReached:
    - memcpy
    - OSSL_HTOLE32
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_store_u32_le(unsigned char *out, uint32_t val)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTOBE32
      Src: /src/openssl/include/openssl/byteorder.h:145,1
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: OPENSSL_store_u32_be
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 12
    functionsReached:
    - memcpy
    - OSSL_HTOBE32
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_store_u32_be(unsigned char *out, uint32_t val)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTOLE64
      Src: /src/openssl/include/openssl/byteorder.h:162,1
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - unsigned char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: OPENSSL_store_u64_le
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 3
    functionsReached:
    - memcpy
    - OSSL_HTOLE64
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_store_u64_le(unsigned char *out, uint64_t val)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_HTOBE64
      Src: /src/openssl/include/openssl/byteorder.h:183,1
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - out
    - val
    argTypes:
    - unsigned char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: OPENSSL_store_u64_be
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 3
    functionsReached:
    - memcpy
    - OSSL_HTOBE64
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_store_u64_be(unsigned char *out, uint64_t val)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:206,1
    - Dst: OSSL_LE16TOH
      Src: /src/openssl/include/openssl/byteorder.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - val
    - in
    argTypes:
    - uint16_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: OPENSSL_load_u16_le
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 2
    functionsReached:
    - memcpy
    - OSSL_LE16TOH
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_load_u16_le(uint16_t *val, const unsigned char *in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:224,1
    - Dst: OSSL_BE16TOH
      Src: /src/openssl/include/openssl/byteorder.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - val
    - in
    argTypes:
    - uint16_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: OPENSSL_load_u16_be
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 1
    functionsReached:
    - memcpy
    - OSSL_BE16TOH
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_load_u16_be(uint16_t *val, const unsigned char *in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:242,1
    - Dst: OSSL_LE32TOH
      Src: /src/openssl/include/openssl/byteorder.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - val
    - in
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 254
    functionName: OPENSSL_load_u32_le
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 7
    functionsReached:
    - memcpy
    - OSSL_LE32TOH
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_load_u32_le(uint32_t *val, const unsigned char *in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:262,1
    - Dst: OSSL_BE32TOH
      Src: /src/openssl/include/openssl/byteorder.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - val
    - in
    argTypes:
    - uint32_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: OPENSSL_load_u32_be
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 1
    functionsReached:
    - memcpy
    - OSSL_BE32TOH
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_load_u32_be(uint32_t *val, const unsigned char *in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:282,1
    - Dst: OSSL_LE64TOH
      Src: /src/openssl/include/openssl/byteorder.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - val
    - in
    argTypes:
    - uint64_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: OPENSSL_load_u64_le
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 4
    functionsReached:
    - memcpy
    - OSSL_LE64TOH
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_load_u64_le(uint64_t *val, const unsigned char *in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/include/openssl/byteorder.h:307,1
    - Dst: OSSL_BE64TOH
      Src: /src/openssl/include/openssl/byteorder.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - val
    - in
    argTypes:
    - uint64_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 324
    functionName: OPENSSL_load_u64_be
    functionSourceFile: /src/openssl/include/openssl/byteorder.h
    functionUses: 1
    functionsReached:
    - memcpy
    - OSSL_BE64TOH
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      OPENSSL_load_u64_be(uint64_t *val, const unsigned char *in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - category
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_BEGIN(category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - category
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: OSSL_TRACE_END
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_END(category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - category
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: OSSL_TRACE_CANCEL
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_CANCEL(category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - category
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_BEGIN(category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - category
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: OSSL_TRACE_END
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_END(category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - category
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: OSSL_TRACE_CANCEL
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_CANCEL(category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - category
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: OSSL_TRACE_ENABLED
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_ENABLED(category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - category
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: OSSL_TRACE_ENABLED
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_ENABLED(category)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - category
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: OSSL_TRACEV
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACEV(category, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - category
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: OSSL_TRACEV
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACEV(category, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - category
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: OSSL_TRACE
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE(category, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: OSSL_TRACE1
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE1(category, format, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: OSSL_TRACE2
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE2(category, format, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: OSSL_TRACE3
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE3(category, format, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: OSSL_TRACE4
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE4(category, format, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: OSSL_TRACE5
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE5(category, format, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: OSSL_TRACE6
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE6(category, format, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: OSSL_TRACE7
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE7(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: OSSL_TRACE8
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE8(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7,
      arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - category
    - ','
    - format
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: OSSL_TRACE9
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE9(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7,
      arg8, arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - category
    - ','
    - text
    - ','
    - full
    - ','
    - data
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: OSSL_TRACE_STRING
    functionSourceFile: /src/openssl/include/openssl/trace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_TRACE_STRING(category, text, full, data, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: BUF_strdup
    functionSourceFile: /src/openssl/include/openssl/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_strdup(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: BUF_strndup
    functionSourceFile: /src/openssl/include/openssl/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_strndup(s, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: BUF_memdup
    functionSourceFile: /src/openssl/include/openssl/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_memdup(data, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: BUF_strlcpy
    functionSourceFile: /src/openssl/include/openssl/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_strlcpy(dst, src, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: BUF_strlcat
    functionSourceFile: /src/openssl/include/openssl/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_strlcat(dst, src, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: BUF_strnlen
    functionSourceFile: /src/openssl/include/openssl/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUF_strnlen(str, maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prov
    argTypes:
    - OSSL_PROVIDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: null_gettable_params
    functionSourceFile: /src/openssl/providers/nullprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *null_gettable_params(const OSSL_PROVIDER *prov)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/nullprov.c:39,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/nullprov.c:40,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/nullprov.c:42,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/nullprov.c:43,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/nullprov.c:45,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/nullprov.c:46,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/nullprov.c:48,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/nullprov.c:49,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/nullprov.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - OSSL_PROVIDER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: null_get_params
    functionSourceFile: /src/openssl/providers/nullprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_prov_is_running
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int null_get_params(const OSSL_PROVIDER *provctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prov
    - operation_id
    - no_cache
    argTypes:
    - OSSL_PROVIDER*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: null_query
    functionSourceFile: /src/openssl/providers/nullprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *null_query(OSSL_PROVIDER *prov,\n                                          int
      operation_id,\n                                          int *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: ossl_null_provider_init
    functionSourceFile: /src/openssl/providers/nullprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_null_provider_init(const OSSL_CORE_HANDLE *handle,\n                            const
      OSSL_DISPATCH *in,\n                            const OSSL_DISPATCH **out,\n
      \                           void **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAMES
    - ','
    - FUNC
    - ','
    - CHECK
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: ALGC
    functionSourceFile: /src/openssl/providers/defltprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALGC(NAMES, FUNC, CHECK)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAMES
    - ','
    - FUNC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ALG
    functionSourceFile: /src/openssl/providers/defltprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(NAMES, FUNC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: deflt_gettable_params
    functionSourceFile: /src/openssl/providers/defltprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *deflt_gettable_params(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/defltprov.c:59,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/defltprov.c:60,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/defltprov.c:62,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/defltprov.c:63,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/defltprov.c:65,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/defltprov.c:66,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/defltprov.c:68,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/defltprov.c:69,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/defltprov.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: deflt_get_params
    functionSourceFile: /src/openssl/providers/defltprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_prov_is_running
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int deflt_get_params(void *provctx, OSSL_PARAM params[])
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 729
    functionName: deflt_query
    functionSourceFile: /src/openssl/providers/defltprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *deflt_query(void *provctx, int operation_id,\n                                         int
      *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/providers/defltprov.c:734,1
    - Dst: ossl_prov_ctx_get0_core_bio_method
      Src: /src/openssl/providers/defltprov.c:734,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/defltprov.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: deflt_teardown
    functionSourceFile: /src/openssl/providers/defltprov.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    - ossl_prov_ctx_free
    - ossl_prov_ctx_get0_core_bio_method
    linkageType: ''
    returnType: void
    signature: void deflt_teardown(void *provctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_from_dispatch
      Src: /src/openssl/providers/defltprov.c:759,1
    - Dst: ossl_prov_seeding_from_dispatch
      Src: /src/openssl/providers/defltprov.c:760,1
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/openssl/providers/defltprov.c:765,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/openssl/providers/defltprov.c:768,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/providers/defltprov.c:771,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/defltprov.c:790,1
    - Dst: ossl_bio_prov_init_bio_method
      Src: /src/openssl/providers/defltprov.c:791,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/defltprov.c:792,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/defltprov.c:796,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/defltprov.c:797,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/defltprov.c:798,1
    - Dst: ossl_prov_ctx_set0_core_bio_method
      Src: /src/openssl/providers/defltprov.c:799,1
    - Dst: ossl_prov_ctx_set0_core_get_params
      Src: /src/openssl/providers/defltprov.c:800,1
    - Dst: ossl_prov_cache_exported_algorithms
      Src: /src/openssl/providers/defltprov.c:803,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 806
    functionName: ossl_default_provider_init
    functionSourceFile: /src/openssl/providers/defltprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_set0_libctx
    - OSSL_FUNC_core_get_params
    - ossl_bio_prov_init_bio_method
    - ossl_prov_cache_exported_algorithms
    - ossl_prov_ctx_new
    - ossl_prov_bio_from_dispatch
    - ossl_prov_ctx_set0_handle
    - OSSL_FUNC_core_get_libctx
    - ossl_prov_ctx_free
    - ossl_prov_ctx_set0_core_get_params
    - ossl_prov_ctx_set0_core_bio_method
    - c_get_libctx
    - OSSL_FUNC_core_gettable_params
    - ossl_prov_seeding_from_dispatch
    linkageType: ''
    returnType: int
    signature: "int ossl_default_provider_init(const OSSL_CORE_HANDLE *handle,\n                               const
      OSSL_DISPATCH *in,\n                               const OSSL_DISPATCH **out,\n
      \                              void **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: base_gettable_params
    functionSourceFile: /src/openssl/providers/baseprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *base_gettable_params(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/baseprov.c:54,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/baseprov.c:56,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/baseprov.c:58,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/baseprov.c:59,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/baseprov.c:61,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/baseprov.c:62,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/baseprov.c:64,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/baseprov.c:65,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/baseprov.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: base_get_params
    functionSourceFile: /src/openssl/providers/baseprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_prov_is_running
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int base_get_params(void *provctx, OSSL_PARAM params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: base_query
    functionSourceFile: /src/openssl/providers/baseprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *base_query(void *provctx, int operation_id,\n                                         int
      *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/openssl/providers/baseprov.c:121,1
    - Dst: ossl_prov_ctx_get0_core_bio_method
      Src: /src/openssl/providers/baseprov.c:121,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/baseprov.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: base_teardown
    functionSourceFile: /src/openssl/providers/baseprov.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    - ossl_prov_ctx_free
    - ossl_prov_ctx_get0_core_bio_method
    linkageType: ''
    returnType: void
    signature: void base_teardown(void *provctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_from_dispatch
      Src: /src/openssl/providers/baseprov.c:144,1
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/openssl/providers/baseprov.c:149,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/openssl/providers/baseprov.c:152,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/providers/baseprov.c:155,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/baseprov.c:174,1
    - Dst: ossl_bio_prov_init_bio_method
      Src: /src/openssl/providers/baseprov.c:175,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/baseprov.c:176,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/baseprov.c:180,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/baseprov.c:181,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/baseprov.c:182,1
    - Dst: ossl_prov_ctx_set0_core_bio_method
      Src: /src/openssl/providers/baseprov.c:183,1
    - Dst: ossl_prov_ctx_set0_core_get_params
      Src: /src/openssl/providers/baseprov.c:184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 189
    functionName: ossl_base_provider_init
    functionSourceFile: /src/openssl/providers/baseprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_set0_libctx
    - OSSL_FUNC_core_get_params
    - ossl_bio_prov_init_bio_method
    - ossl_prov_ctx_new
    - ossl_prov_bio_from_dispatch
    - ossl_prov_ctx_set0_handle
    - OSSL_FUNC_core_get_libctx
    - ossl_prov_ctx_free
    - ossl_prov_ctx_set0_core_get_params
    - ossl_prov_ctx_set0_core_bio_method
    - c_get_libctx
    - OSSL_FUNC_core_gettable_params
    linkageType: ''
    returnType: int
    signature: "int ossl_base_provider_init(const OSSL_CORE_HANDLE *handle,\n                            const
      OSSL_DISPATCH *in, const OSSL_DISPATCH **out,\n                            void
      **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: ossl_set_error_state
    functionSourceFile: /src/openssl/providers/prov_running.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_set_error_state(const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ossl_prov_is_running
    functionSourceFile: /src/openssl/providers/prov_running.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_prov_is_running(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAMES
    - ','
    - FUNC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ALG
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(NAMES, FUNC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: legacy_gettable_params
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *legacy_gettable_params(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/legacyprov.c:72,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/legacyprov.c:73,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/legacyprov.c:75,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/legacyprov.c:76,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/legacyprov.c:78,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/legacyprov.c:79,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/legacyprov.c:81,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/legacyprov.c:82,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/legacyprov.c:82,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: legacy_get_params
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_prov_is_running
    - OSSL_PARAM_set_utf8_ptr
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int legacy_get_params(void *provctx, OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: legacy_query
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *legacy_query(void *provctx, int operation_id,\n                                          int
      *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/providers/legacyprov.c:187,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/legacyprov.c:187,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/legacyprov.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: legacy_teardown
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_free
    - PROV_LIBCTX_OF
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void legacy_teardown(void *provctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:220,1
    - Dst: OSSL_FUNC_core_new_error
      Src: /src/openssl/providers/legacyprov.c:220,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:223,1
    - Dst: OSSL_FUNC_core_set_error_debug
      Src: /src/openssl/providers/legacyprov.c:223,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:226,1
    - Dst: OSSL_FUNC_core_vset_error
      Src: /src/openssl/providers/legacyprov.c:226,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:229,1
    - Dst: OSSL_FUNC_core_set_error_mark
      Src: /src/openssl/providers/legacyprov.c:229,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:232,1
    - Dst: OSSL_FUNC_core_clear_last_error_mark
      Src: /src/openssl/providers/legacyprov.c:233,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:236,1
    - Dst: OSSL_FUNC_core_pop_error_to_mark
      Src: /src/openssl/providers/legacyprov.c:236,1
    - Dst: set_func
      Src: /src/openssl/providers/legacyprov.c:239,1
    - Dst: OSSL_FUNC_core_count_to_mark
      Src: /src/openssl/providers/legacyprov.c:239,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/legacyprov.c:245,1
    - Dst: OSSL_LIB_CTX_new_child
      Src: /src/openssl/providers/legacyprov.c:246,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/providers/legacyprov.c:247,1
    - Dst: legacy_teardown
      Src: /src/openssl/providers/legacyprov.c:248,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/legacyprov.c:252,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/legacyprov.c:253,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 200
    functionDepth: 6
    functionLinenumber: 200
    functionLinenumberEnd: 258
    functionName: OSSL_provider_init
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_core_vset_error
    - set_func
    - ossl_prov_ctx_set0_libctx
    - OSSL_FUNC_core_pop_error_to_mark
    - OSSL_LIB_CTX_free
    - OSSL_FUNC_core_set_error_mark
    - ossl_prov_ctx_new
    - legacy_teardown
    - ossl_prov_ctx_set0_handle
    - OSSL_LIB_CTX_new_child
    - OSSL_FUNC_core_new_error
    - OSSL_FUNC_core_set_error_debug
    - OSSL_FUNC_core_count_to_mark
    - OSSL_FUNC_core_clear_last_error_mark
    linkageType: ''
    returnType: int
    signature: "int OSSL_provider_init(const OSSL_CORE_HANDLE *handle,\n                       const
      OSSL_DISPATCH *in,\n                       const OSSL_DISPATCH **out,\n                       void
      **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: set_func
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_func(c, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_new_error
      Src: /src/openssl/providers/legacyprov.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: ERR_new
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 5
    functionsReached:
    - c_new_error
    linkageType: ''
    returnType: void
    signature: void ERR_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_set_error_debug
      Src: /src/openssl/providers/legacyprov.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: ERR_set_debug
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 10
    functionsReached:
    - c_set_error_debug
    linkageType: ''
    returnType: void
    signature: void ERR_set_debug(const char *file, int line, const char *func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/providers/legacyprov.c:284,1
    - Dst: c_vset_error
      Src: /src/openssl/providers/legacyprov.c:285,1
    - Dst: ERR_PACK
      Src: /src/openssl/providers/legacyprov.c:285,1
    - Dst: va_end
      Src: /src/openssl/providers/legacyprov.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - reason
    - fmt
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 287
    functionName: ERR_set_error
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 4
    functionsReached:
    - va_end
    - c_vset_error
    - ERR_PACK
    - va_start
    linkageType: ''
    returnType: void
    signature: void ERR_set_error(int lib, int reason, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_vset_error
      Src: /src/openssl/providers/legacyprov.c:291,1
    - Dst: ERR_PACK
      Src: /src/openssl/providers/legacyprov.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lib
    - reason
    - fmt
    - args
    argTypes:
    - int
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: ERR_vset_error
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 2
    functionsReached:
    - ERR_PACK
    - c_vset_error
    linkageType: ''
    returnType: void
    signature: void ERR_vset_error(int lib, int reason, const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_set_error_mark
      Src: /src/openssl/providers/legacyprov.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: ERR_set_mark
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 127
    functionsReached:
    - c_set_error_mark
    linkageType: ''
    returnType: int
    signature: int ERR_set_mark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_clear_last_error_mark
      Src: /src/openssl/providers/legacyprov.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: ERR_clear_last_mark
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 72
    functionsReached:
    - c_clear_last_error_mark
    linkageType: ''
    returnType: int
    signature: int ERR_clear_last_mark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_pop_error_to_mark
      Src: /src/openssl/providers/legacyprov.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: ERR_pop_to_mark
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 117
    functionsReached:
    - c_pop_error_to_mark
    linkageType: ''
    returnType: int
    signature: int ERR_pop_to_mark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_count_to_mark
      Src: /src/openssl/providers/legacyprov.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: ERR_count_to_mark
    functionSourceFile: /src/openssl/providers/legacyprov.c
    functionUses: 11
    functionsReached:
    - c_count_to_mark
    linkageType: ''
    returnType: int
    signature: int ERR_count_to_mark(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:36,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:37,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:39,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:43,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:44,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/fips/self_test_kats.c:45,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:49,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:52,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/fips/self_test_kats.c:56,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:57,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_DIGEST*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 30
    functionDepth: 10
    functionLinenumber: 30
    functionLinenumberEnd: 60
    functionName: self_test_digest
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - memcmp
    - OSSL_SELF_TEST_onbegin
    - EVP_DigestFinal
    - EVP_MD_free
    - EVP_DigestUpdate
    - OSSL_SELF_TEST_onend
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - EVP_MD_fetch
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int self_test_digest(const ST_KAT_DIGEST *t, OSSL_SELF_TEST *st,\n
      \                           OSSL_LIB_CTX *libctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_set_flags
      Src: /src/openssl/providers/fips/self_test_kats.c:73,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:76,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/providers/fips/self_test_kats.c:77,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:84,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/providers/fips/self_test_kats.c:85,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/providers/fips/self_test_kats.c:87,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:89,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/openssl/providers/fips/self_test_kats.c:90,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - cipher
    - t
    - enc
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - ST_KAT_CIPHER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 8
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: cipher_init
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 5
    functionsReached:
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_set_flags
    - EVP_CIPHER_CTX_set_padding
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    linkageType: ''
    returnType: int
    signature: "int cipher_init(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n                       const
      ST_KAT_CIPHER *t, int enc)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:104,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:106,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:109,1
    - Dst: cipher_init
      Src: /src/openssl/providers/fips/self_test_kats.c:115,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:116,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:118,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:121,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:124,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/providers/fips/self_test_kats.c:130,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:132,1
    - Dst: cipher_init
      Src: /src/openssl/providers/fips/self_test_kats.c:139,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:140,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:142,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:144,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:147,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/fips/self_test_kats.c:153,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:154,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:155,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_CIPHER*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 157
    functionName: self_test_cipher
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_new
    - OSSL_SELF_TEST_onbegin
    - memcmp
    - cipher_init
    - OSSL_SELF_TEST_onend
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_fetch
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int self_test_cipher(const ST_KAT_CIPHER *t, OSSL_SELF_TEST *st,\n
      \                           OSSL_LIB_CTX *libctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/fips/self_test_kats.c:170,1
    - Dst: BN_bin2bn
      Src: /src/openssl/providers/fips/self_test_kats.c:173,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/fips/self_test_kats.c:174,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/fips/self_test_kats.c:179,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:185,1
    - Dst: OSSL_PARAM_BLD_push_int
      Src: /src/openssl/providers/fips/self_test_kats.c:191,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - bld
    - params
    - ctx
    argTypes:
    - OSSL_PARAM_BLD*
    - ST_KAT_PARAM*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 202
    functionName: add_params
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_int
    linkageType: ''
    returnType: int
    signature: "int add_params(OSSL_PARAM_BLD *bld, const ST_KAT_PARAM *params,\n
      \                     BN_CTX *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:224,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/fips/self_test_kats.c:227,1
    - Dst: va_start
      Src: /src/openssl/providers/fips/self_test_kats.c:231,1
    - Dst: va_arg
      Src: /src/openssl/providers/fips/self_test_kats.c:232,1
    - Dst: add_params
      Src: /src/openssl/providers/fips/self_test_kats.c:233,1
    - Dst: va_end
      Src: /src/openssl/providers/fips/self_test_kats.c:234,1
    - Dst: va_end
      Src: /src/openssl/providers/fips/self_test_kats.c:237,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/fips/self_test_kats.c:239,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/fips/self_test_kats.c:242,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 245
    functionName: kat_params_to_ossl_params
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - va_end
    - BN_CTX_new_ex
    - OSSL_PARAM_BLD_to_param
    - BN_CTX_free
    - va_start
    - add_params
    - OSSL_PARAM_BLD_free
    - va_arg
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: SENTINEL
    signature: SENTINEL *kat_params_to_ossl_params(OSSL_LIB_CTX *libctx, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:256,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:258,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:262,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:266,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/providers/fips/self_test_kats.c:272,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:275,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:277,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/providers/fips/self_test_kats.c:282,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:283,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:284,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:285,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_KDF*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 247
    functionDepth: 7
    functionLinenumber: 247
    functionLinenumberEnd: 287
    functionName: self_test_kdf
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_SELF_TEST_onbegin
    - memcmp
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - OSSL_PARAM_free
    - EVP_KDF_free
    - OSSL_SELF_TEST_onend
    - kat_params_to_ossl_params
    - EVP_KDF_derive
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int self_test_kdf(const ST_KAT_KDF *t, OSSL_SELF_TEST *st,\n                         OSSL_LIB_CTX
      *libctx)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:302,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:304,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:308,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:309,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:313,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:315,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:318,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:322,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:323,1
    - Dst: EVP_RAND_get_strength
      Src: /src/openssl/providers/fips/self_test_kats.c:327,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/fips/self_test_kats.c:329,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/fips/self_test_kats.c:333,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:334,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:338,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:342,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:344,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:346,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:351,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:354,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/providers/fips/self_test_kats.c:357,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:363,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:366,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/providers/fips/self_test_kats.c:373,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:378,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:380,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:383,1
    - Dst: EVP_RAND_verify_zeroization
      Src: /src/openssl/providers/fips/self_test_kats.c:389,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:394,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:395,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:396,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 69
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_DRBG*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 289
    functionDepth: 10
    functionLinenumber: 289
    functionLinenumberEnd: 398
    functionName: self_test_drbg
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_RAND_free
    - OSSL_SELF_TEST_onbegin
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_octet_string
    - memcmp
    - EVP_RAND_instantiate
    - EVP_RAND_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_RAND_CTX_set_params
    - OSSL_SELF_TEST_onend
    - EVP_RAND_uninstantiate
    - EVP_RAND_verify_zeroization
    - EVP_RAND_get_strength
    - EVP_RAND_generate
    - EVP_RAND_CTX_new
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int self_test_drbg(const ST_KAT_DRBG *t, OSSL_SELF_TEST *st,\n                          OSSL_LIB_CTX
      *libctx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:412,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:417,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:419,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:425,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:428,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:429,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:431,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:432,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:436,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/providers/fips/self_test_kats.c:440,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/providers/fips/self_test_kats.c:441,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/providers/fips/self_test_kats.c:442,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:445,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:448,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:452,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:453,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:454,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:455,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:456,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:457,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:458,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_KAS*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 401
    functionDepth: 7
    functionLinenumber: 401
    functionLinenumberEnd: 460
    functionName: self_test_ka
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - memcmp
    - OSSL_SELF_TEST_onbegin
    - EVP_PKEY_derive_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_free
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_derive_set_peer
    - kat_params_to_ossl_params
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_fromdata_init
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int self_test_ka(const ST_KAT_KAS *t,\n                        OSSL_SELF_TEST
      *st, OSSL_LIB_CTX *libctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:469,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:470,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/providers/fips/self_test_kats.c:474,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/providers/fips/self_test_kats.c:475,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/providers/fips/self_test_kats.c:476,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/fips/self_test_kats.c:477,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - sig
    - sig_len
    - out
    - out_len
    - lib_ctx
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 463
    functionDepth: 10
    functionLinenumber: 463
    functionLinenumberEnd: 481
    functionName: digest_signature
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal
    - EVP_MD_free
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: "int digest_signature(const uint8_t *sig, size_t sig_len,\n                            uint8_t
      *out, size_t *out_len,\n                            OSSL_LIB_CTX *lib_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:493,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:496,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/fips/self_test_kats.c:499,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:501,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:503,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:504,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:506,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:507,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:511,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/providers/fips/self_test_kats.c:513,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/providers/fips/self_test_kats.c:514,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:520,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:521,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/providers/fips/self_test_kats.c:522,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:524,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 484
    functionDepth: 6
    functionLinenumber: 484
    functionLinenumberEnd: 526
    functionName: self_test_LMS
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - OSSL_SELF_TEST_onbegin
    - OSSL_PARAM_construct_octet_string
    - EVP_SIGNATURE_free
    - EVP_PKEY_fromdata
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_verify
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - OSSL_PARAM_construct_end
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: int
    signature: int self_test_LMS(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:549,1
    - Dst: set_kat_drbg
      Src: /src/openssl/providers/fips/self_test_kats.c:552,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:557,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:558,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:559,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:561,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:567,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:568,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:571,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:574,1
    - Dst: memcpy
      Src: /src/openssl/providers/fips/self_test_kats.c:582,1
    - Dst: EVP_PKEY_sign_init_ex2
      Src: /src/openssl/providers/fips/self_test_kats.c:585,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/providers/fips/self_test_kats.c:588,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/providers/fips/self_test_kats.c:593,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/fips/self_test_kats.c:596,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/providers/fips/self_test_kats.c:601,1
    - Dst: digest_signature
      Src: /src/openssl/providers/fips/self_test_kats.c:609,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:612,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:616,1
    - Dst: EVP_PKEY_verify_init_ex2
      Src: /src/openssl/providers/fips/self_test_kats.c:624,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/providers/fips/self_test_kats.c:627,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:630,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/providers/fips/self_test_kats.c:631,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:637,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:638,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:639,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:640,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/providers/fips/self_test_kats.c:641,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:642,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:643,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:644,1
    - Dst: reset_main_drbg
      Src: /src/openssl/providers/fips/self_test_kats.c:646,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:649,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 104
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_SIGN*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 529
    functionDepth: 11
    functionLinenumber: 529
    functionLinenumberEnd: 651
    functionName: self_test_digest_sign
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - set_kat_drbg
    - OSSL_PARAM_free
    - memcpy
    - OPENSSL_free
    - digest_signature
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_fromdata_init
    - OPENSSL_malloc
    - OSSL_SELF_TEST_onbegin
    - EVP_SIGNATURE_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_verify
    - EVP_PKEY_verify_message_init
    - kat_params_to_ossl_params
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_sign_init_ex2
    - memcmp
    - reset_main_drbg
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_verify_init_ex2
    - EVP_PKEY_sign
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int self_test_digest_sign(const ST_KAT_SIGN *t,\n                                 OSSL_SELF_TEST
      *st, OSSL_LIB_CTX *libctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:668,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:670,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:674,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/providers/fips/self_test_kats.c:678,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:679,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/providers/fips/self_test_kats.c:680,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/providers/fips/self_test_kats.c:685,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:688,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:691,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:696,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:697,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:698,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:699,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_ASYM_KEYGEN*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 657
    functionDepth: 7
    functionLinenumber: 657
    functionLinenumberEnd: 701
    functionName: self_test_asym_keygen
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - memcmp
    - OSSL_SELF_TEST_onbegin
    - OSSL_PARAM_free
    - EVP_PKEY_CTX_set_params
    - OSSL_SELF_TEST_onend
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - kat_params_to_ossl_params
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - EVP_PKEY_get_octet_string_param
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int self_test_asym_keygen(const ST_KAT_ASYM_KEYGEN *t, OSSL_SELF_TEST
      *st,\n                                 OSSL_LIB_CTX *libctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:718,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:721,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:725,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/providers/fips/self_test_kats.c:728,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/fips/self_test_kats.c:732,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/fips/self_test_kats.c:733,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:738,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:742,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:744,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:747,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:749,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:754,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:755,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:756,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:757,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 4
    argNames:
    - t
    - st
    - libctx
    - pkey
    argTypes:
    - ST_KAT_KEM*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 709
    functionDepth: 12
    functionLinenumber: 709
    functionLinenumberEnd: 759
    functionName: self_test_kem_encapsulate
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - memcmp
    - OSSL_SELF_TEST_onbegin
    - OSSL_PARAM_construct_octet_string
    - OSSL_SELF_TEST_oncorrupt_byte
    - OSSL_SELF_TEST_onend
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int self_test_kem_encapsulate(const ST_KAT_KEM *t, OSSL_SELF_TEST
      *st,\n                                     OSSL_LIB_CTX *libctx, EVP_PKEY *pkey)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test_kats.c:776,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/fips/self_test_kats.c:781,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/fips/self_test_kats.c:787,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/providers/fips/self_test_kats.c:791,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/fips/self_test_kats.c:795,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:800,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test_kats.c:805,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test_kats.c:807,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:812,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test_kats.c:813,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:814,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test_kats.c:815,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - t
    - st
    - libctx
    - pkey
    - reject
    argTypes:
    - ST_KAT_KEM*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 765
    functionDepth: 12
    functionLinenumber: 765
    functionLinenumberEnd: 817
    functionName: self_test_kem_decapsulate
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - memcmp
    - OPENSSL_zalloc
    - OSSL_SELF_TEST_onbegin
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - OSSL_SELF_TEST_oncorrupt_byte
    - OSSL_SELF_TEST_onend
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int self_test_kem_decapsulate(const ST_KAT_KEM *t, OSSL_SELF_TEST
      *st,\n                                     OSSL_LIB_CTX *libctx, EVP_PKEY *pkey,\n
      \                                    int reject)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/providers/fips/self_test_kats.c:836,1
    - Dst: kat_params_to_ossl_params
      Src: /src/openssl/providers/fips/self_test_kats.c:839,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/providers/fips/self_test_kats.c:843,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/providers/fips/self_test_kats.c:844,1
    - Dst: self_test_kem_encapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:847,1
    - Dst: self_test_kem_decapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:848,1
    - Dst: self_test_kem_decapsulate
      Src: /src/openssl/providers/fips/self_test_kats.c:849,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:854,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/fips/self_test_kats.c:855,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/fips/self_test_kats.c:856,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - t
    - st
    - libctx
    argTypes:
    - ST_KAT_KEM*
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 828
    functionDepth: 13
    functionLinenumber: 828
    functionLinenumberEnd: 858
    functionName: self_test_kem
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - self_test_kem_encapsulate
    - EVP_PKEY_CTX_new_from_name
    - kat_params_to_ossl_params
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_fromdata_init
    - self_test_kem_decapsulate
    linkageType: ''
    returnType: int
    signature: "int self_test_kem(const ST_KAT_KEM *t, OSSL_SELF_TEST *st,\n                         OSSL_LIB_CTX
      *libctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/fips/self_test_kats.c:870,1
    - Dst: self_test_digest
      Src: /src/openssl/providers/fips/self_test_kats.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 11
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: self_test_digests
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - self_test_digest
    linkageType: ''
    returnType: int
    signature: int self_test_digests(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/fips/self_test_kats.c:881,1
    - Dst: self_test_cipher
      Src: /src/openssl/providers/fips/self_test_kats.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 877
    functionDepth: 5
    functionLinenumber: 877
    functionLinenumberEnd: 886
    functionName: self_test_ciphers
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - self_test_cipher
    linkageType: ''
    returnType: int
    signature: int self_test_ciphers(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/fips/self_test_kats.c:894,1
    - Dst: self_test_kem
      Src: /src/openssl/providers/fips/self_test_kats.c:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 888
    functionDepth: 14
    functionLinenumber: 888
    functionLinenumberEnd: 900
    functionName: self_test_kems
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - self_test_kem
    linkageType: ''
    returnType: int
    signature: int self_test_kems(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/fips/self_test_kats.c:906,1
    - Dst: self_test_kdf
      Src: /src/openssl/providers/fips/self_test_kats.c:907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 902
    functionDepth: 8
    functionLinenumber: 902
    functionLinenumberEnd: 911
    functionName: self_test_kdfs
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - self_test_kdf
    linkageType: ''
    returnType: int
    signature: int self_test_kdfs(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/fips/self_test_kats.c:917,1
    - Dst: self_test_drbg
      Src: /src/openssl/providers/fips/self_test_kats.c:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 913
    functionDepth: 11
    functionLinenumber: 913
    functionLinenumberEnd: 922
    functionName: self_test_drbgs
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - self_test_drbg
    linkageType: ''
    returnType: int
    signature: int self_test_drbgs(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/fips/self_test_kats.c:930,1
    - Dst: self_test_ka
      Src: /src/openssl/providers/fips/self_test_kats.c:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 924
    functionDepth: 8
    functionLinenumber: 924
    functionLinenumberEnd: 937
    functionName: self_test_kas
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - self_test_ka
    linkageType: ''
    returnType: int
    signature: int self_test_kas(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/fips/self_test_kats.c:943,1
    - Dst: self_test_digest_sign
      Src: /src/openssl/providers/fips/self_test_kats.c:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 939
    functionDepth: 12
    functionLinenumber: 939
    functionLinenumberEnd: 948
    functionName: self_test_signatures
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - self_test_digest_sign
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int self_test_signatures(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:983,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:987,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:988,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:992,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:994,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:997,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:1001,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1002,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/fips/self_test_kats.c:1006,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/providers/fips/self_test_kats.c:1007,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:1012,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/fips/self_test_kats.c:1015,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:1017,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1020,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:1023,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/providers/fips/self_test_kats.c:1027,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1031,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/providers/fips/self_test_kats.c:1033,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1035,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1039,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1040,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 7
    argNames:
    - ctx
    - entropy
    - entropy_len
    - nonce
    - nonce_len
    - persstr
    - persstr_len
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 968
    functionDepth: 10
    functionLinenumber: 968
    functionLinenumberEnd: 1043
    functionName: set_kat_drbg
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_RAND_free
    - EVP_RAND_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - RAND_set0_private
    - OSSL_PARAM_construct_utf8_string
    - EVP_RAND_CTX_set_params
    - EVP_RAND_CTX_up_ref
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: int
    signature: "int set_kat_drbg(OSSL_LIB_CTX *ctx,\n                        const
      unsigned char *entropy, size_t entropy_len,\n                        const unsigned
      char *nonce, size_t nonce_len,\n                        const unsigned char
      *persstr, size_t persstr_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1048,1
    - Dst: EVP_RAND_uninstantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:1051,1
    - Dst: EVP_RAND_verify_zeroization
      Src: /src/openssl/providers/fips/self_test_kats.c:1052,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1045
    functionDepth: 7
    functionLinenumber: 1045
    functionLinenumberEnd: 1058
    functionName: reset_main_drbg
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 1
    functionsReached:
    - RAND_set0_private
    - EVP_RAND_verify_zeroization
    - EVP_RAND_CTX_free
    - EVP_RAND_uninstantiate
    linkageType: ''
    returnType: int
    signature: int reset_main_drbg(OSSL_LIB_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test_kats.c:1068,1
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/providers/fips/self_test_kats.c:1072,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1073,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:1077,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/fips/self_test_kats.c:1079,1
    - Dst: EVP_RAND_instantiate
      Src: /src/openssl/providers/fips/self_test_kats.c:1082,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1086,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1060
    functionDepth: 10
    functionLinenumber: 1060
    functionLinenumberEnd: 1088
    functionName: setup_main_random
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - EVP_RAND_free
    - EVP_RAND_fetch
    - EVP_RAND_CTX_free
    - EVP_RAND_instantiate
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: int
    signature: int setup_main_random(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/fips/self_test_kats.c:1095,1
    - Dst: self_test_asym_keygen
      Src: /src/openssl/providers/fips/self_test_kats.c:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1090
    functionDepth: 8
    functionLinenumber: 1090
    functionLinenumberEnd: 1103
    functionName: self_test_asym_keygens
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - self_test_asym_keygen
    linkageType: ''
    returnType: int
    signature: int self_test_asym_keygens(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_get0_private_noncreating
      Src: /src/openssl/providers/fips/self_test_kats.c:1112,1
    - Dst: EVP_RAND_CTX_up_ref
      Src: /src/openssl/providers/fips/self_test_kats.c:1115,1
    - Dst: setup_main_random
      Src: /src/openssl/providers/fips/self_test_kats.c:1117,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1118,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1120,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/providers/fips/self_test_kats.c:1121,1
    - Dst: self_test_digests
      Src: /src/openssl/providers/fips/self_test_kats.c:1125,1
    - Dst: self_test_ciphers
      Src: /src/openssl/providers/fips/self_test_kats.c:1127,1
    - Dst: self_test_LMS
      Src: /src/openssl/providers/fips/self_test_kats.c:1139,1
    - Dst: self_test_signatures
      Src: /src/openssl/providers/fips/self_test_kats.c:1142,1
    - Dst: self_test_kdfs
      Src: /src/openssl/providers/fips/self_test_kats.c:1144,1
    - Dst: self_test_drbgs
      Src: /src/openssl/providers/fips/self_test_kats.c:1146,1
    - Dst: self_test_kas
      Src: /src/openssl/providers/fips/self_test_kats.c:1148,1
    - Dst: self_test_asym_keygens
      Src: /src/openssl/providers/fips/self_test_kats.c:1150,1
    - Dst: self_test_kems
      Src: /src/openssl/providers/fips/self_test_kats.c:1152,1
    - Dst: RAND_set0_private
      Src: /src/openssl/providers/fips/self_test_kats.c:1155,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - st
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1110
    functionDepth: 15
    functionLinenumber: 1110
    functionLinenumberEnd: 1157
    functionName: SELF_TEST_kats
    functionSourceFile: /src/openssl/providers/fips/self_test_kats.c
    functionUses: 0
    functionsReached:
    - self_test_ciphers
    - self_test_LMS
    - self_test_drbgs
    - EVP_RAND_CTX_free
    - setup_main_random
    - RAND_set0_private
    - EVP_RAND_CTX_up_ref
    - ossl_rand_get0_private_noncreating
    - self_test_kas
    - self_test_asym_keygens
    - self_test_kems
    - self_test_signatures
    - self_test_digests
    - self_test_kdfs
    linkageType: ''
    returnType: int
    signature: int SELF_TEST_kats(OSSL_SELF_TEST *st, OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_provider_init_int
      Src: /src/openssl/providers/fips/fips_entry.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: OSSL_provider_init
    functionSourceFile: /src/openssl/providers/fips/fips_entry.c
    functionUses: 0
    functionsReached:
    - OSSL_provider_init_int
    linkageType: ''
    returnType: int
    signature: "int OSSL_provider_init(const OSSL_CORE_HANDLE *handle,\n                       const
      OSSL_DISPATCH *in,\n                       const OSSL_DISPATCH **out,\n                       void
      **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAMES
    - ','
    - FUNC
    - ','
    - CHECK
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ALGC
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALGC(NAMES, FUNC, CHECK)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAMES
    - ','
    - FUNC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ALG
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(NAMES, FUNC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - paramname
    - ','
    - initvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: OSSL_FIPS_PARAM
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_PARAM(structname, paramname, initvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opt
    - enabled
    argTypes:
    - FIPS_OPTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: init_fips_option
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_fips_option(FIPS_OPTION *opt, int enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/fips/fipsprov.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: ossl_fips_prov_ossl_ctx_new
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *ossl_fips_prov_ossl_ctx_new(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - paramname
    - ','
    - initvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: OSSL_FIPS_PARAM
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_PARAM(structname, paramname, initvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/fipsprov.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: ossl_fips_prov_ossl_ctx_free
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_fips_prov_ossl_ctx_free(void *fgbl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:135,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/fips/fipsprov.c:137,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/providers/fips/fipsprov.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - vprov
    - which
    - buf
    - n
    - strength
    argTypes:
    - ossl_unused*
    - int
    - void*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 7
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: fips_random_bytes
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_get0_libctx
    - RAND_bytes_ex
    - RAND_priv_bytes_ex
    linkageType: ''
    returnType: int
    signature: "int fips_random_bytes(ossl_unused void *vprov, int which,\n                             void
      *buf, size_t n, unsigned int strength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/fips/fipsprov.c:168,1
    - Dst: c_get_params
      Src: /src/openssl/providers/fips/fipsprov.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/fipsprov.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - FIPS_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: fips_get_params_from_core
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - ERR_raise
    - c_get_params
    linkageType: ''
    returnType: int
    signature: int fips_get_params_from_core(FIPS_GLOBAL *fgbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - paramname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: OSSL_FIPS_PARAM
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_PARAM(structname, paramname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - paramname
    - ','
    - initvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: OSSL_FIPS_PARAM
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_PARAM(structname, paramname, initvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:182,1
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:183,1
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:184,1
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:185,1
    - Dst: OSSL_FIPS_PARAM
      Src: /src/openssl/providers/fips/fipsprov.c:187,1
    - Dst: OSSL_PARAM_DEFN
      Src: /src/openssl/providers/fips/fipsprov.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: fips_gettable_params
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_PARAM
    - OSSL_PARAM_DEFN
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *fips_gettable_params(void *provctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/providers/fips/fipsprov.c:200,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:200,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsprov.c:203,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/fips/fipsprov.c:204,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsprov.c:206,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/fips/fipsprov.c:207,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsprov.c:209,1
    - Dst: OSSL_PARAM_set_utf8_ptr
      Src: /src/openssl/providers/fips/fipsprov.c:210,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsprov.c:212,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/fips/fipsprov.c:213,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/fips/fipsprov.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - provctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: fips_get_params
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_prov_is_running
    - OSSL_PARAM_set_utf8_ptr
    - ossl_lib_ctx_get_data
    - ossl_prov_ctx_get0_libctx
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int fips_get_params(void *provctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - paramname
    - ','
    - initvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: OSSL_FIPS_PARAM
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_PARAM(structname, paramname, initvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/providers/fips/fipsprov.c:229,1
    - Dst: c_stcbfn
      Src: /src/openssl/providers/fips/fipsprov.c:232,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fgbl
    argTypes:
    - FIPS_GLOBAL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: set_self_test_cb
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - c_get_libctx
    - FIPS_get_core_handle
    - c_stcbfn
    linkageType: ''
    returnType: void
    signature: void set_self_test_cb(FIPS_GLOBAL *fgbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/providers/fips/fipsprov.c:242,1
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:242,1
    - Dst: set_self_test_cb
      Src: /src/openssl/providers/fips/fipsprov.c:245,1
    - Dst: SELF_TEST_post
      Src: /src/openssl/providers/fips/fipsprov.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: fips_self_test
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_get0_libctx
    - set_self_test_cb
    - SELF_TEST_post
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: int
    signature: int fips_self_test(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 290
    functionName: FIPS_DIGESTS_COMMON
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIPS_DIGESTS_COMMON()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 429
    functionName: FIPS_KDFS_COMMON
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIPS_KDFS_COMMON()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/fips/fipsprov.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 728
    functionName: fips_query
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *fips_query(void *provctx, int operation_id,\n                                        int
      *no_cache)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/fips/fipsprov.c:735,1
    - Dst: fips_query
      Src: /src/openssl/providers/fips/fipsprov.c:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 748
    functionName: fips_query_internal
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - fips_query
    - ossl_prov_is_running
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *fips_query_internal(void *provctx, int operation_id,\n
      \                                                int *no_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/providers/fips/fipsprov.c:752,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/fips/fipsprov.c:752,1
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/fips/fipsprov.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 4
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: fips_teardown
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_free
    - PROV_LIBCTX_OF
    - OSSL_LIB_CTX_free
    linkageType: ''
    returnType: void
    signature: void fips_teardown(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_free
      Src: /src/openssl/providers/fips/fipsprov.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: fips_intern_teardown
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_free
    linkageType: ''
    returnType: void
    signature: void fips_intern_teardown(void *provctx)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/fips/fipsprov.c:810,1
    - Dst: ossl_prov_seeding_from_dispatch
      Src: /src/openssl/providers/fips/fipsprov.c:812,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:823,1
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:823,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:826,1
    - Dst: OSSL_FUNC_core_gettable_params
      Src: /src/openssl/providers/fips/fipsprov.c:826,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:829,1
    - Dst: OSSL_FUNC_core_get_params
      Src: /src/openssl/providers/fips/fipsprov.c:829,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:832,1
    - Dst: OSSL_FUNC_core_thread_start
      Src: /src/openssl/providers/fips/fipsprov.c:832,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:835,1
    - Dst: OSSL_FUNC_core_new_error
      Src: /src/openssl/providers/fips/fipsprov.c:835,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:838,1
    - Dst: OSSL_FUNC_core_set_error_debug
      Src: /src/openssl/providers/fips/fipsprov.c:838,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:841,1
    - Dst: OSSL_FUNC_core_vset_error
      Src: /src/openssl/providers/fips/fipsprov.c:841,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:844,1
    - Dst: OSSL_FUNC_core_set_error_mark
      Src: /src/openssl/providers/fips/fipsprov.c:844,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:847,1
    - Dst: OSSL_FUNC_core_clear_last_error_mark
      Src: /src/openssl/providers/fips/fipsprov.c:848,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:851,1
    - Dst: OSSL_FUNC_core_pop_error_to_mark
      Src: /src/openssl/providers/fips/fipsprov.c:851,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:854,1
    - Dst: OSSL_FUNC_core_count_to_mark
      Src: /src/openssl/providers/fips/fipsprov.c:854,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:857,1
    - Dst: OSSL_FUNC_CRYPTO_malloc
      Src: /src/openssl/providers/fips/fipsprov.c:857,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:860,1
    - Dst: OSSL_FUNC_CRYPTO_zalloc
      Src: /src/openssl/providers/fips/fipsprov.c:860,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:863,1
    - Dst: OSSL_FUNC_CRYPTO_free
      Src: /src/openssl/providers/fips/fipsprov.c:863,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:866,1
    - Dst: OSSL_FUNC_CRYPTO_clear_free
      Src: /src/openssl/providers/fips/fipsprov.c:866,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:869,1
    - Dst: OSSL_FUNC_CRYPTO_realloc
      Src: /src/openssl/providers/fips/fipsprov.c:869,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:872,1
    - Dst: OSSL_FUNC_CRYPTO_clear_realloc
      Src: /src/openssl/providers/fips/fipsprov.c:873,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:876,1
    - Dst: OSSL_FUNC_CRYPTO_secure_malloc
      Src: /src/openssl/providers/fips/fipsprov.c:877,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:880,1
    - Dst: OSSL_FUNC_CRYPTO_secure_zalloc
      Src: /src/openssl/providers/fips/fipsprov.c:881,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:884,1
    - Dst: OSSL_FUNC_CRYPTO_secure_free
      Src: /src/openssl/providers/fips/fipsprov.c:885,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:888,1
    - Dst: OSSL_FUNC_CRYPTO_secure_clear_free
      Src: /src/openssl/providers/fips/fipsprov.c:889,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:892,1
    - Dst: OSSL_FUNC_CRYPTO_secure_allocated
      Src: /src/openssl/providers/fips/fipsprov.c:893,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:896,1
    - Dst: OSSL_FUNC_BIO_new_file
      Src: /src/openssl/providers/fips/fipsprov.c:897,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:900,1
    - Dst: OSSL_FUNC_BIO_new_membuf
      Src: /src/openssl/providers/fips/fipsprov.c:901,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:904,1
    - Dst: OSSL_FUNC_BIO_read_ex
      Src: /src/openssl/providers/fips/fipsprov.c:905,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:908,1
    - Dst: OSSL_FUNC_BIO_free
      Src: /src/openssl/providers/fips/fipsprov.c:908,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:911,1
    - Dst: OSSL_FUNC_BIO_vsnprintf
      Src: /src/openssl/providers/fips/fipsprov.c:911,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:914,1
    - Dst: OSSL_FUNC_self_test_cb
      Src: /src/openssl/providers/fips/fipsprov.c:914,1
    - Dst: set_func
      Src: /src/openssl/providers/fips/fipsprov.c:917,1
    - Dst: OSSL_FUNC_indicator_cb
      Src: /src/openssl/providers/fips/fipsprov.c:917,1
    - Dst: OPENSSL_cpuid_setup
      Src: /src/openssl/providers/fips/fipsprov.c:925,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/fips/fipsprov.c:928,1
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/providers/fips/fipsprov.c:929,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/providers/fips/fipsprov.c:932,1
    - Dst: ossl_thread_register_fips
      Src: /src/openssl/providers/fips/fipsprov.c:943,1
    - Dst: ossl_provider_activate_fallbacks
      Src: /src/openssl/providers/fips/fipsprov.c:952,1
    - Dst: set_self_test_cb
      Src: /src/openssl/providers/fips/fipsprov.c:964,1
    - Dst: fips_get_params_from_core
      Src: /src/openssl/providers/fips/fipsprov.c:966,1
    - Dst: strcmp
      Src: /src/openssl/providers/fips/fipsprov.c:975,1
    - Dst: SELF_TEST_disable_conditional_error_state
      Src: /src/openssl/providers/fips/fipsprov.c:976,1
    - Dst: ossl_prov_cache_exported_algorithms
      Src: /src/openssl/providers/fips/fipsprov.c:991,1
    - Dst: SELF_TEST_post
      Src: /src/openssl/providers/fips/fipsprov.c:993,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/fipsprov.c:994,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:998,1
    - Dst: ossl_prov_ctx_set0_core_get_params
      Src: /src/openssl/providers/fips/fipsprov.c:999,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1000,1
    - Dst: fips_teardown
      Src: /src/openssl/providers/fips/fipsprov.c:1005,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/providers/fips/fipsprov.c:1006,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 138
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 801
    functionDepth: 10
    functionLinenumber: 801
    functionLinenumberEnd: 1009
    functionName: OSSL_provider_init_int
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ossl_prov_ctx_set0_libctx
    - OSSL_FUNC_BIO_free
    - ossl_prov_ctx_new
    - ossl_prov_ctx_set0_handle
    - OSSL_FUNC_CRYPTO_secure_zalloc
    - OSSL_FUNC_core_set_error_debug
    - OSSL_FUNC_CRYPTO_clear_realloc
    - OPENSSL_cpuid_setup
    - strcmp
    - OSSL_FUNC_core_count_to_mark
    - OSSL_FUNC_BIO_read_ex
    - OSSL_FUNC_CRYPTO_clear_free
    - OSSL_FUNC_CRYPTO_secure_allocated
    - fips_get_params_from_core
    - OSSL_FUNC_core_get_params
    - ossl_prov_cache_exported_algorithms
    - OSSL_FUNC_indicator_cb
    - OSSL_LIB_CTX_new
    - set_self_test_cb
    - OSSL_FUNC_core_get_libctx
    - ossl_prov_ctx_set0_core_get_params
    - SELF_TEST_disable_conditional_error_state
    - OSSL_FUNC_CRYPTO_free
    - OSSL_FUNC_CRYPTO_realloc
    - fips_teardown
    - set_func
    - OSSL_FUNC_core_set_error_mark
    - OSSL_FUNC_BIO_new_membuf
    - OSSL_FUNC_BIO_vsnprintf
    - OSSL_FUNC_core_new_error
    - OSSL_FUNC_CRYPTO_secure_malloc
    - SELF_TEST_post
    - OSSL_FUNC_core_thread_start
    - OSSL_FUNC_core_clear_last_error_mark
    - ossl_provider_activate_fallbacks
    - OSSL_FUNC_core_vset_error
    - OSSL_FUNC_BIO_new_file
    - memset
    - OSSL_FUNC_core_pop_error_to_mark
    - ossl_lib_ctx_get_data
    - OSSL_LIB_CTX_free
    - OSSL_FUNC_CRYPTO_zalloc
    - ossl_thread_register_fips
    - OSSL_FUNC_CRYPTO_malloc
    - OSSL_FUNC_CRYPTO_secure_clear_free
    - OSSL_FUNC_CRYPTO_secure_free
    - OSSL_FUNC_core_gettable_params
    - OSSL_FUNC_self_test_cb
    - ossl_prov_seeding_from_dispatch
    linkageType: ''
    returnType: int
    signature: "int OSSL_provider_init_int(const OSSL_CORE_HANDLE *handle,\n                           const
      OSSL_DISPATCH *in,\n                           const OSSL_DISPATCH **out,\n
      \                          void **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: set_func
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_func(c, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - paramname
    - ','
    - unused
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 988
    functionName: OSSL_FIPS_PARAM
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_PARAM(structname, paramname, unused)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_core_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1029,1
    - Dst: ossl_prov_ctx_new
      Src: /src/openssl/providers/fips/fipsprov.c:1039,1
    - Dst: ossl_prov_ctx_set0_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1047,1
    - Dst: c_internal_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1048,1
    - Dst: ossl_prov_ctx_set0_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1049,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1053
    functionName: ossl_fips_intern_provider_init
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_ctx_set0_libctx
    - ossl_prov_ctx_new
    - ossl_prov_ctx_set0_handle
    - OSSL_FUNC_core_get_libctx
    - c_internal_get_libctx
    linkageType: ''
    returnType: int
    signature: "int ossl_fips_intern_provider_init(const OSSL_CORE_HANDLE *handle,\n
      \                                  const OSSL_DISPATCH *in,\n                                   const
      OSSL_DISPATCH **out,\n                                   void **provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_new_error
      Src: /src/openssl/providers/fips/fipsprov.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: ERR_new
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 5
    functionsReached:
    - c_new_error
    linkageType: ''
    returnType: void
    signature: void ERR_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_set_error_debug
      Src: /src/openssl/providers/fips/fipsprov.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - line
    - func
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: ERR_set_debug
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 10
    functionsReached:
    - c_set_error_debug
    linkageType: ''
    returnType: void
    signature: void ERR_set_debug(const char *file, int line, const char *func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/providers/fips/fipsprov.c:1069,1
    - Dst: c_vset_error
      Src: /src/openssl/providers/fips/fipsprov.c:1070,1
    - Dst: ERR_PACK
      Src: /src/openssl/providers/fips/fipsprov.c:1070,1
    - Dst: va_end
      Src: /src/openssl/providers/fips/fipsprov.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lib
    - reason
    - fmt
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1072
    functionName: ERR_set_error
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 4
    functionsReached:
    - va_end
    - c_vset_error
    - ERR_PACK
    - va_start
    linkageType: ''
    returnType: void
    signature: void ERR_set_error(int lib, int reason, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_vset_error
      Src: /src/openssl/providers/fips/fipsprov.c:1076,1
    - Dst: ERR_PACK
      Src: /src/openssl/providers/fips/fipsprov.c:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lib
    - reason
    - fmt
    - args
    argTypes:
    - int
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1077
    functionName: ERR_vset_error
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 2
    functionsReached:
    - ERR_PACK
    - c_vset_error
    linkageType: ''
    returnType: void
    signature: void ERR_vset_error(int lib, int reason, const char *fmt, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_set_error_mark
      Src: /src/openssl/providers/fips/fipsprov.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: ERR_set_mark
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 127
    functionsReached:
    - c_set_error_mark
    linkageType: ''
    returnType: int
    signature: int ERR_set_mark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_clear_last_error_mark
      Src: /src/openssl/providers/fips/fipsprov.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1087
    functionName: ERR_clear_last_mark
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 72
    functionsReached:
    - c_clear_last_error_mark
    linkageType: ''
    returnType: int
    signature: int ERR_clear_last_mark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_pop_error_to_mark
      Src: /src/openssl/providers/fips/fipsprov.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1092
    functionName: ERR_pop_to_mark
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 117
    functionsReached:
    - c_pop_error_to_mark
    linkageType: ''
    returnType: int
    signature: int ERR_pop_to_mark(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_count_to_mark
      Src: /src/openssl/providers/fips/fipsprov.c:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: ERR_count_to_mark
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 11
    functionsReached:
    - c_count_to_mark
    linkageType: ''
    returnType: int
    signature: int ERR_count_to_mark(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/providers/fips/fipsprov.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1106
    functionDepth: 5
    functionLinenumber: 1106
    functionLinenumberEnd: 1115
    functionName: FIPS_get_core_handle
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 2
    functionsReached:
    - ossl_lib_ctx_get_data
    linkageType: ''
    returnType: OSSL_CORE_HANDLE
    signature: OSSL_CORE_HANDLE *FIPS_get_core_handle(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_malloc
      Src: /src/openssl/providers/fips/fipsprov.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1120
    functionName: CRYPTO_malloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 14
    functionsReached:
    - c_CRYPTO_malloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_malloc(size_t num, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_zalloc
      Src: /src/openssl/providers/fips/fipsprov.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1125
    functionName: CRYPTO_zalloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 8
    functionsReached:
    - c_CRYPTO_zalloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_zalloc(size_t num, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_free
      Src: /src/openssl/providers/fips/fipsprov.c:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1130
    functionName: CRYPTO_free
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 12
    functionsReached:
    - c_CRYPTO_free
    linkageType: ''
    returnType: void
    signature: void CRYPTO_free(void *ptr, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_clear_free
      Src: /src/openssl/providers/fips/fipsprov.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1135
    functionName: CRYPTO_clear_free
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 3
    functionsReached:
    - c_CRYPTO_clear_free
    linkageType: ''
    returnType: void
    signature: void CRYPTO_clear_free(void *ptr, size_t num, const char *file, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_realloc
      Src: /src/openssl/providers/fips/fipsprov.c:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - addr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1140
    functionName: CRYPTO_realloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 4
    functionsReached:
    - c_CRYPTO_realloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_realloc(void *addr, size_t num, const char *file, int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_clear_realloc
      Src: /src/openssl/providers/fips/fipsprov.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - addr
    - old_num
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1146
    functionName: CRYPTO_clear_realloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 4
    functionsReached:
    - c_CRYPTO_clear_realloc
    linkageType: ''
    returnType: void
    signature: "void *CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num,\n
      \                          const char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_secure_malloc
      Src: /src/openssl/providers/fips/fipsprov.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1151
    functionName: CRYPTO_secure_malloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 5
    functionsReached:
    - c_CRYPTO_secure_malloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_secure_malloc(size_t num, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_secure_zalloc
      Src: /src/openssl/providers/fips/fipsprov.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1156
    functionName: CRYPTO_secure_zalloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 3
    functionsReached:
    - c_CRYPTO_secure_zalloc
    linkageType: ''
    returnType: void
    signature: void *CRYPTO_secure_zalloc(size_t num, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_secure_free
      Src: /src/openssl/providers/fips/fipsprov.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1161
    functionName: CRYPTO_secure_free
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 2
    functionsReached:
    - c_CRYPTO_secure_free
    linkageType: ''
    returnType: void
    signature: void CRYPTO_secure_free(void *ptr, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_secure_clear_free
      Src: /src/openssl/providers/fips/fipsprov.c:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - num
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: CRYPTO_secure_clear_free
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 3
    functionsReached:
    - c_CRYPTO_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void CRYPTO_secure_clear_free(void *ptr, size_t num, const char *file,
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_CRYPTO_secure_allocated
      Src: /src/openssl/providers/fips/fipsprov.c:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1171
    functionName: CRYPTO_secure_allocated
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 10
    functionsReached:
    - c_CRYPTO_secure_allocated
    linkageType: ''
    returnType: int
    signature: int CRYPTO_secure_allocated(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - num
    - align
    - freeptr
    - file
    - line
    argTypes:
    - size_t
    - size_t
    - void**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1177
    functionName: CRYPTO_aligned_alloc
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *CRYPTO_aligned_alloc(size_t num, size_t align, void **freeptr,\n
      \                          const char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/providers/fips/fipsprov.c:1184,1
    - Dst: c_BIO_vsnprintf
      Src: /src/openssl/providers/fips/fipsprov.c:1185,1
    - Dst: va_end
      Src: /src/openssl/providers/fips/fipsprov.c:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - n
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1188
    functionName: BIO_snprintf
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 114
    functionsReached:
    - va_end
    - c_BIO_vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int BIO_snprintf(char *buf, size_t n, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - paramname
    - ','
    - unused
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1198
    functionName: OSSL_FIPS_PARAM
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_PARAM(structname, paramname, unused)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/providers/fips/fipsprov.c:1204,1
    - Dst: c_stcbfn
      Src: /src/openssl/providers/fips/fipsprov.c:1208,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1208,1
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - libctx
    - cb
    - cbarg
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_CALLBACK**
    - void**
    assertStmts:
    - condition: (libctx != NULL)
      pos:
        line_end: 1203
        line_start: 1203
        source_file: /src/openssl/providers/fips/fipsprov.c
    constantsTouched: []
    func_position:
      end: 1215
      start: 1201
    functionDepth: 6
    functionLinenumber: 1201
    functionLinenumberEnd: 1215
    functionName: OSSL_SELF_TEST_get_callback
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 6
    functionsReached:
    - c_get_libctx
    - FIPS_get_core_handle
    - assert
    - c_stcbfn
    linkageType: ''
    returnType: void
    signature: "void OSSL_SELF_TEST_get_callback(OSSL_LIB_CTX *libctx, OSSL_CALLBACK
      **cb,\n                                 void **cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/providers/fips/fipsprov.c:1220,1
    - Dst: c_indcbfn
      Src: /src/openssl/providers/fips/fipsprov.c:1224,1
    - Dst: c_get_libctx
      Src: /src/openssl/providers/fips/fipsprov.c:1224,1
    - Dst: FIPS_get_core_handle
      Src: /src/openssl/providers/fips/fipsprov.c:1224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - libctx
    - cb
    argTypes:
    - OSSL_LIB_CTX*
    - OSSL_INDICATOR_CALLBACK**
    assertStmts:
    - condition: (libctx != NULL)
      pos:
        line_end: 1219
        line_start: 1219
        source_file: /src/openssl/providers/fips/fipsprov.c
    constantsTouched: []
    func_position:
      end: 1229
      start: 1217
    functionDepth: 6
    functionLinenumber: 1217
    functionLinenumberEnd: 1229
    functionName: OSSL_INDICATOR_get_callback
    functionSourceFile: /src/openssl/providers/fips/fipsprov.c
    functionUses: 1
    functionsReached:
    - c_indcbfn
    - c_get_libctx
    - FIPS_get_core_handle
    - assert
    linkageType: ''
    returnType: void
    signature: "void OSSL_INDICATOR_get_callback(OSSL_LIB_CTX *libctx,\n                                 OSSL_INDICATOR_CALLBACK
      **cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/providers/fips/self_test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_fips_self_test_init)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/openssl/providers/fips/self_test.c:102,1
    - Dst: cleanup
      Src: /src/openssl/providers/fips/self_test.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - hinstDLL
    - fdwReason
    - lpvReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: DllMain
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - init
    - cleanup
    linkageType: ''
    returnType: BOOL
    signature: BOOL DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/openssl/providers/fips/self_test.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: _init
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 763
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void _init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/openssl/providers/fips/self_test.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: _cleanup
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 115
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void _cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/openssl/providers/fips/self_test.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: __INIT__init
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: void __INIT__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/openssl/providers/fips/self_test.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: __TERM__cleanup
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void __TERM__cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsan_store
      Src: /src/openssl/providers/fips/self_test.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: init
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 800
    functionsReached:
    - tsan_store
    linkageType: ''
    returnType: DEP_INIT_ATTRIBUTE
    signature: DEP_INIT_ATTRIBUTE init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/providers/fips/self_test.c:176,1
    - Dst: CRYPTO_THREAD_clean_local_for_fips
      Src: /src/openssl/providers/fips/self_test.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: cleanup
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 139
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - CRYPTO_THREAD_clean_local_for_fips
    linkageType: ''
    returnType: DEP_FINI_ATTRIBUTE
    signature: DEP_FINI_ATTRIBUTE cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/fips/self_test.c:210,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/fips/self_test.c:211,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test.c:213,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/fips/self_test.c:216,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/fips/self_test.c:217,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/fips/self_test.c:221,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/fips/self_test.c:222,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/fips/self_test.c:223,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test.c:227,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test.c:230,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test.c:234,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/fips/self_test.c:235,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/fips/self_test.c:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ev
    - libctx
    argTypes:
    - OSSL_SELF_TEST*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 203
    functionDepth: 10
    functionLinenumber: 203
    functionLinenumberEnd: 238
    functionName: integrity_self_test
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - memcmp
    - OSSL_SELF_TEST_onbegin
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_free
    - OSSL_SELF_TEST_onend
    - EVP_MAC_final
    - OSSL_PARAM_construct_end
    - EVP_MAC_fetch
    - EVP_MAC_update
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: int integrity_self_test(OSSL_SELF_TEST *ev, OSSL_LIB_CTX *libctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: integrity_self_test
      Src: /src/openssl/providers/fips/self_test.c:258,1
    - Dst: OSSL_SELF_TEST_onbegin
      Src: /src/openssl/providers/fips/self_test.c:261,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/fips/self_test.c:263,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/fips/self_test.c:266,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/fips/self_test.c:270,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/fips/self_test.c:271,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/fips/self_test.c:273,1
    - Dst: read_ex_cb
      Src: /src/openssl/providers/fips/self_test.c:277,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/fips/self_test.c:280,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/fips/self_test.c:283,1
    - Dst: OSSL_SELF_TEST_oncorrupt_byte
      Src: /src/openssl/providers/fips/self_test.c:286,1
    - Dst: memcmp
      Src: /src/openssl/providers/fips/self_test.c:288,1
    - Dst: OSSL_SELF_TEST_onend
      Src: /src/openssl/providers/fips/self_test.c:292,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/fips/self_test.c:293,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/fips/self_test.c:294,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/fips/self_test.c:296,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 7
    argNames:
    - bio
    - read_ex_cb
    - expected
    - expected_len
    - libctx
    - ev
    - event_type
    argTypes:
    - OSSL_CORE_BIO*
    - OSSL_FUNC_BIO_read_ex_fn
    - unsigned char*
    - size_t
    - OSSL_LIB_CTX*
    - OSSL_SELF_TEST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 245
    functionDepth: 11
    functionLinenumber: 245
    functionLinenumberEnd: 299
    functionName: verify_integrity
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - memcmp
    - OSSL_SELF_TEST_onbegin
    - EVP_MAC_CTX_free
    - OPENSSL_cleanse
    - EVP_MAC_init
    - integrity_self_test
    - OSSL_PARAM_construct_utf8_string
    - OSSL_SELF_TEST_onend
    - EVP_MAC_free
    - EVP_MAC_final
    - read_ex_cb
    - OSSL_PARAM_construct_end
    - EVP_MAC_fetch
    - EVP_MAC_update
    - OSSL_SELF_TEST_oncorrupt_byte
    linkageType: ''
    returnType: int
    signature: "int verify_integrity(OSSL_CORE_BIO *bio, OSSL_FUNC_BIO_read_ex_fn
      read_ex_cb,\n                            unsigned char *expected, size_t expected_len,\n
      \                           OSSL_LIB_CTX *libctx, OSSL_SELF_TEST *ev,\n                            const
      char *event_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsan_store
      Src: /src/openssl/providers/fips/self_test.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: set_fips_state
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - tsan_store
    linkageType: ''
    returnType: void
    signature: void set_fips_state(int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsan_load
      Src: /src/openssl/providers/fips/self_test.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: ossl_fips_self_testing
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 0
    functionsReached:
    - tsan_load
    linkageType: ''
    returnType: int
    signature: int ossl_fips_self_testing(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/providers/fips/self_test.c:327,1
    - Dst: tsan_load
      Src: /src/openssl/providers/fips/self_test.c:330,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:336,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/fips/self_test.c:340,1
    - Dst: tsan_load
      Src: /src/openssl/providers/fips/self_test.c:344,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/self_test.c:347,1
    - Dst: set_fips_state
      Src: /src/openssl/providers/fips/self_test.c:350,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/self_test.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:359,1
    - Dst: OSSL_SELF_TEST_new
      Src: /src/openssl/providers/fips/self_test.c:363,1
    - Dst: OPENSSL_hexstr2buf
      Src: /src/openssl/providers/fips/self_test.c:367,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:370,1
    - Dst: verify_integrity
      Src: /src/openssl/providers/fips/self_test.c:377,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:380,1
    - Dst: SELF_TEST_kats
      Src: /src/openssl/providers/fips/self_test.c:384,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:385,1
    - Dst: ossl_rand_get0_private_noncreating
      Src: /src/openssl/providers/fips/self_test.c:390,1
    - Dst: EVP_RAND_fetch
      Src: /src/openssl/providers/fips/self_test.c:392,1
    - Dst: strcmp
      Src: /src/openssl/providers/fips/self_test.c:393,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/providers/fips/self_test.c:393,1
    - Dst: EVP_RAND_CTX_get0_rand
      Src: /src/openssl/providers/fips/self_test.c:393,1
    - Dst: EVP_RAND_get0_name
      Src: /src/openssl/providers/fips/self_test.c:394,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:395,1
    - Dst: EVP_RAND_free
      Src: /src/openssl/providers/fips/self_test.c:401,1
    - Dst: OSSL_SELF_TEST_free
      Src: /src/openssl/providers/fips/self_test.c:402,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/fips/self_test.c:403,1
    - Dst: set_fips_state
      Src: /src/openssl/providers/fips/self_test.c:409,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/fips/self_test.c:411,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/self_test.c:412,1
    - Dst: set_fips_state
      Src: /src/openssl/providers/fips/self_test.c:416,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/fips/self_test.c:417,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 76
    argCount: 2
    argNames:
    - st
    - on_demand_test
    argTypes:
    - SELF_TEST_POST_PARAMS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 314
    functionDepth: 16
    functionLinenumber: 314
    functionLinenumberEnd: 420
    functionName: SELF_TEST_post
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 2
    functionsReached:
    - EVP_RAND_fetch
    - ERR_raise
    - EVP_RAND_get0_name
    - EVP_RAND_CTX_get0_rand
    - OSSL_SELF_TEST_free
    - OPENSSL_free
    - strcmp
    - EVP_RAND_free
    - RUN_ONCE
    - SELF_TEST_kats
    - OSSL_SELF_TEST_new
    - CRYPTO_THREAD_write_lock
    - ossl_rand_get0_private_noncreating
    - ossl_set_error_state
    - set_fips_state
    - CRYPTO_THREAD_unlock
    - tsan_load
    - OPENSSL_hexstr2buf
    - verify_integrity
    linkageType: ''
    returnType: int
    signature: int SELF_TEST_post(SELF_TEST_POST_PARAMS *st, int on_demand_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: SELF_TEST_disable_conditional_error_state
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SELF_TEST_disable_conditional_error_state(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/providers/fips/self_test.c:429,1
    - Dst: set_fips_state
      Src: /src/openssl/providers/fips/self_test.c:432,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: ossl_set_error_state
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 5
    functionsReached:
    - strcmp
    - set_fips_state
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: void ossl_set_error_state(const char *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsan_load
      Src: /src/openssl/providers/fips/self_test.c:444,1
    - Dst: tsan_counter
      Src: /src/openssl/providers/fips/self_test.c:447,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/fips/self_test.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: ossl_prov_is_running
    functionSourceFile: /src/openssl/providers/fips/self_test.c
    functionUses: 8
    functionsReached:
    - tsan_load
    - ERR_raise
    - tsan_counter
    linkageType: ''
    returnType: int
    signature: int ossl_prov_is_running(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_FIPS_IND_set_approved
      Src: /src/openssl/providers/fips/fipsindicator.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ind
    argTypes:
    - OSSL_FIPS_IND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: ossl_FIPS_IND_init
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - ossl_FIPS_IND_set_approved
    linkageType: ''
    returnType: void
    signature: void ossl_FIPS_IND_init(OSSL_FIPS_IND *ind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ind
    argTypes:
    - OSSL_FIPS_IND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: ossl_FIPS_IND_set_approved
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_FIPS_IND_set_approved(OSSL_FIPS_IND *ind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - OSSL_FIPS_IND*
    - OSSL_FIPS_IND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ossl_FIPS_IND_copy
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_FIPS_IND_copy(OSSL_FIPS_IND *dst, const OSSL_FIPS_IND *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/providers/fips/fipsindicator.c:37,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/fips/fipsindicator.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ind
    - id
    - state
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: ossl_FIPS_IND_set_settable
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: void
    signature: void ossl_FIPS_IND_set_settable(OSSL_FIPS_IND *ind, int id, int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/providers/fips/fipsindicator.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ind
    - id
    argTypes:
    - OSSL_FIPS_IND*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: ossl_FIPS_IND_get_settable
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int ossl_FIPS_IND_get_settable(const OSSL_FIPS_IND *ind, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_FIPS_IND_get_settable
      Src: /src/openssl/providers/fips/fipsindicator.c:71,1
    - Dst: config_check_fn
      Src: /src/openssl/providers/fips/fipsindicator.c:73,1
    - Dst: ossl_FIPS_IND_callback
      Src: /src/openssl/providers/fips/fipsindicator.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - ind
    - id
    - libctx
    - algname
    - opname
    - config_check_fn
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_LIB_CTX*
    - char*
    - char*
    - OSSL_FIPS_IND_CHECK_CB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: ossl_FIPS_IND_on_unapproved
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - ossl_FIPS_IND_callback
    - ossl_FIPS_IND_get_settable
    - config_check_fn
    linkageType: ''
    returnType: int
    signature: "int ossl_FIPS_IND_on_unapproved(OSSL_FIPS_IND *ind, int id,\n                                OSSL_LIB_CTX
      *libctx,\n                                const char *algname, const char *opname,\n
      \                               OSSL_FIPS_IND_CHECK_CB *config_check_fn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/fips/fipsindicator.c:85,1
    - Dst: ossl_FIPS_IND_set_settable
      Src: /src/openssl/providers/fips/fipsindicator.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ind
    - id
    - p
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: ossl_FIPS_IND_set_ctx_param
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_int
    - ossl_FIPS_IND_set_settable
    linkageType: ''
    returnType: int
    signature: int ossl_FIPS_IND_set_ctx_param(OSSL_FIPS_IND *ind, int id, const OSSL_PARAM
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/fips/fipsindicator.c:96,1
    - Dst: ossl_FIPS_IND_set_ctx_param
      Src: /src/openssl/providers/fips/fipsindicator.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ind
    - id
    - params
    - name
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_PARAM[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 6
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: ossl_FIPS_IND_set_ctx_param_locate
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - ossl_FIPS_IND_set_ctx_param
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: "int ossl_FIPS_IND_set_ctx_param_locate(OSSL_FIPS_IND *ind, int id,\n
      \                                      const OSSL_PARAM params[],\n                                       const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/fips/fipsindicator.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ind
    - p
    argTypes:
    - OSSL_FIPS_IND*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ossl_FIPS_IND_get_ctx_param
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int ossl_FIPS_IND_get_ctx_param(const OSSL_FIPS_IND *ind, OSSL_PARAM
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/fips/fipsindicator.c:109,1
    - Dst: ossl_FIPS_IND_get_ctx_param
      Src: /src/openssl/providers/fips/fipsindicator.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ind
    - params
    argTypes:
    - OSSL_FIPS_IND*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: ossl_FIPS_IND_get_ctx_param_locate
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_FIPS_IND_get_ctx_param
    linkageType: ''
    returnType: int
    signature: "int ossl_FIPS_IND_get_ctx_param_locate(const OSSL_FIPS_IND *ind,\n
      \                                      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_INDICATOR_get_callback
      Src: /src/openssl/providers/fips/fipsindicator.c:124,1
    - Dst: cb
      Src: /src/openssl/providers/fips/fipsindicator.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - libctx
    - type
    - desc
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: ossl_FIPS_IND_callback
    functionSourceFile: /src/openssl/providers/fips/fipsindicator.c
    functionUses: 1
    functionsReached:
    - cb
    - OSSL_INDICATOR_get_callback
    linkageType: ''
    returnType: int
    signature: "int ossl_FIPS_IND_callback(OSSL_LIB_CTX *libctx, const char *type,\n
      \                          const char *desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - paramname
    - ','
    - unused
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: OSSL_FIPS_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fipscommon.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_PARAM(structname, paramname, unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: OSSL_FIPS_IND_INIT
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_INIT(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: OSSL_FIPS_IND_COPY
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_COPY(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: OSSL_FIPS_IND_SET_APPROVED
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_SET_APPROVED(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ctx
    - ','
    - id
    - ','
    - libctx
    - ','
    - algname
    - ','
    - opname
    - ','
    - config_check_fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: OSSL_FIPS_IND_ON_UNAPPROVED
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_ON_UNAPPROVED(ctx, id, libctx, algname, opname, config_check_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: OSSL_FIPS_IND_SETTABLE_CTX_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_SETTABLE_CTX_PARAM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - id
    - ','
    - params
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: OSSL_FIPS_IND_SET_CTX_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_SET_CTX_PARAM(ctx, id, params, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - id
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_SET_CTX_FROM_PARAM(ctx, id, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: OSSL_FIPS_IND_GETTABLE_CTX_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_GETTABLE_CTX_PARAM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - prms
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: OSSL_FIPS_IND_GET_CTX_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_GET_CTX_PARAM(ctx, prms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_GET_CTX_FROM_PARAM(ctx, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: OSSL_FIPS_IND_GET
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_GET(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ctx
    - ','
    - p
    - ','
    - settable
    - ','
    - id
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: OSSL_FIPS_IND_GET_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_GET_PARAM(ctx, p, settable, id, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - id
    - ','
    - params
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: OSSL_FIPS_IND_SET_CTX_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_SET_CTX_PARAM(ctx, id, params, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - id
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: OSSL_FIPS_IND_SET_CTX_FROM_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_SET_CTX_FROM_PARAM(ctx, id, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: OSSL_FIPS_IND_GET_CTX_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_GET_CTX_PARAM(ctx, params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    functionSourceFile: /src/openssl/providers/fips/include/fips/fipsindicator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_FIPS_IND_GET_CTX_FROM_PARAM(ctx, params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:42,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: mlx_kem_newctx
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *mlx_kem_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: mlx_kem_freectx
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void mlx_kem_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - vctx
    - op
    - key
    - params
    argTypes:
    - void*
    - int
    - void*
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: mlx_kem_init
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int mlx_kem_init(void *vctx, int op, void *key,\n                        ossl_unused
      const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:73,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:74,1
    - Dst: mlx_kem_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: mlx_kem_encapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - mlx_kem_init
    - ERR_raise
    - mlx_kem_have_pubkey
    linkageType: ''
    returnType: int
    signature: int mlx_kem_encapsulate_init(void *vctx, void *vkey, const OSSL_PARAM
      params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mlx_kem_have_prvkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:86,1
    - Dst: mlx_kem_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: mlx_kem_decapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - mlx_kem_have_prvkey
    - ERR_raise
    - mlx_kem_init
    linkageType: ''
    returnType: int
    signature: int mlx_kem_decapsulate_init(void *vctx, void *vkey, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: mlx_kem_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mlx_kem_settable_ctx_params(ossl_unused void *vctx,\n
      \                                                    ossl_unused void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: mlx_kem_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mlx_kem_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mlx_kem_have_pubkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:120,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:136,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:142,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:146,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:154,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:158,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:170,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:172,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:173,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:176,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:182,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:187,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:205,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:207,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:208,1
    - Dst: EVP_PKEY_get_octet_string_param
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:209,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:213,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:218,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:223,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:225,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:226,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:227,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:230,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:238,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:239,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 5
    argNames:
    - vctx
    - ctext
    - clen
    - shsec
    - slen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 106
    functionDepth: 12
    functionLinenumber: 106
    functionLinenumberEnd: 241
    functionName: mlx_kem_encapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_derive_init
    - EVP_PKEY_get_octet_string_param
    - EVP_PKEY_derive
    - ERR_raise_data
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_keygen
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - EVP_PKEY_keygen_init
    - mlx_kem_have_pubkey
    linkageType: ''
    returnType: int
    signature: "int mlx_kem_encapsulate(void *vctx, unsigned char *ctext, size_t *clen,\n
      \                              unsigned char *shsec, size_t *slen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mlx_kem_have_prvkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:256,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:257,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:272,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:279,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:290,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:292,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:293,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:296,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:301,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:308,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:310,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:311,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:312,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:313,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:314,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:315,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:318,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:326,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/providers/implementations/kem/mlx_kem.c:327,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 5
    argNames:
    - vctx
    - shsec
    - slen
    - ctext
    - clen
    argTypes:
    - void*
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 243
    functionDepth: 12
    functionLinenumber: 243
    functionLinenumberEnd: 329
    functionName: mlx_kem_decapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/mlx_kem.c
    functionUses: 0
    functionsReached:
    - mlx_kem_have_prvkey
    - EVP_PKEY_decapsulate_init
    - ERR_raise
    - EVP_PKEY_new
    - EVP_PKEY_derive_init
    - EVP_PKEY_decapsulate
    - EVP_PKEY_derive
    - ERR_raise_data
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_copy_parameters
    linkageType: ''
    returnType: int
    signature: "int mlx_kem_decapsulate(void *vctx, uint8_t *shsec, size_t *slen,\n
      \                              const uint8_t *ctext, size_t clen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: debug_print
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debug_print(char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/providers/implementations/kem/template_kem.c:37,1
    - Dst: vsnprintf
      Src: /src/openssl/providers/implementations/kem/template_kem.c:38,1
    - Dst: va_end
      Src: /src/openssl/providers/implementations/kem/template_kem.c:39,1
    - Dst: getenv
      Src: /src/openssl/providers/implementations/kem/template_kem.c:40,1
    - Dst: fprintf
      Src: /src/openssl/providers/implementations/kem/template_kem.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: debug_print
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - va_end
    - vsnprintf
    - va_start
    - fprintf
    - getenv
    linkageType: ''
    returnType: void
    signature: void debug_print(char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/kem/template_kem.c:62,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:64,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/kem/template_kem.c:67,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: template_newctx
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - debug_print
    - OPENSSL_zalloc
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: void *template_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:77,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/kem/template_kem.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: template_freectx
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - debug_print
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void template_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:86,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/kem/template_kem.c:87,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - vctx
    - operation
    - vkey
    - vauth
    - params
    argTypes:
    - void*
    - int
    - void*
    - void*
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: template_init
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - debug_print
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int template_init(void *vctx, int operation, void *vkey, void *vauth,\n
      \                        ossl_unused const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_init
      Src: /src/openssl/providers/implementations/kem/template_kem.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: template_encapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - template_init
    linkageType: ''
    returnType: int
    signature: "int template_encapsulate_init(void *vctx, void *vkey,\n                                     const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_init
      Src: /src/openssl/providers/implementations/kem/template_kem.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: template_decapsulate_init
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - template_init
    linkageType: ''
    returnType: int
    signature: "int template_decapsulate_init(void *vctx, void *vkey,\n                                     const
      OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:112,1
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/kem/template_kem.c:115,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: template_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - debug_print
    - ossl_param_is_empty
    linkageType: ''
    returnType: int
    signature: int template_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: template_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *template_settable_ctx_params(ossl_unused void *vctx,\n
      \                                                     ossl_unused void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:136,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:147,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - vctx
    - out
    - outlen
    - secret
    - secretlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: template_encapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - debug_print
    linkageType: ''
    returnType: int
    signature: "int template_encapsulate(void *vctx, unsigned char *out, size_t *outlen,\n
      \                               unsigned char *secret, size_t *secretlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:160,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:169,1
    - Dst: debug_print
      Src: /src/openssl/providers/implementations/kem/template_kem.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - vctx
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: template_decapsulate
    functionSourceFile: /src/openssl/providers/implementations/kem/template_kem.c
    functionUses: 0
    functionsReached:
    - debug_print
    linkageType: ''
    returnType: int
    signature: "int template_decapsulate(void *vctx, unsigned char *out, size_t *outlen,\n
      \                               const unsigned char *in, size_t inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/kem/kem_util.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: ossl_eckem_modename2id
    functionSourceFile: /src/openssl/providers/implementations/kem/kem_util.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int ossl_eckem_modename2id(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:50,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:53,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:59,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:59,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:62,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:63,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - kdfname
    - provctx
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 72
    functionName: kdf_newctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 1
    functionsReached:
    - EVP_KDF_fetch
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - EVP_KDF_CTX_new
    - EVP_KDF_free
    - PROV_LIBCTX_OF
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *kdf_newctx(const char *kdfname, void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - funcname
    - ','
    - kdfname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: KDF_NEWCTX
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KDF_NEWCTX(funcname, kdfname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:88,1
    - Dst: ossl_kdf_data_up_ref
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:91,1
    - Dst: kdf_set_ctx_params
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - vpkdfctx
    - vkdf
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: kdf_init
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 0
    functionsReached:
    - ossl_kdf_data_up_ref
    - kdf_set_ctx_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int kdf_init(void *vpkdfctx, void *vkdf, const OSSL_PARAM params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:105,1
    - Dst: EVP_KDF_CTX_get_kdf_size
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:108,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:117,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - vpkdfctx
    - secret
    - secretlen
    - outlen
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: kdf_derive
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 4
    functionsReached:
    - EVP_KDF_CTX_get_kdf_size
    - ossl_prov_is_running
    - ERR_raise
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int kdf_derive(void *vpkdfctx, unsigned char *secret, size_t *secretlen,\n
      \                     size_t outlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:135,1
    - Dst: ossl_kdf_data_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:136,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vpkdfctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 139
    functionName: kdf_freectx
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - ossl_kdf_data_free
    - EVP_KDF_CTX_free
    linkageType: ''
    returnType: void
    signature: void kdf_freectx(void *vpkdfctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:146,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:149,1
    - Dst: EVP_KDF_CTX_dup
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:155,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:157,1
    - Dst: ossl_kdf_data_up_ref
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:160,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:161,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - vpkdfctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 141
    functionDepth: 6
    functionLinenumber: 141
    functionLinenumberEnd: 167
    functionName: kdf_dupctx
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 1
    functionsReached:
    - ossl_kdf_data_up_ref
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - EVP_KDF_CTX_dup
    - EVP_KDF_CTX_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void *kdf_dupctx(void *vpkdfctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpkdfctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: kdf_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 2
    functionsReached:
    - EVP_KDF_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int kdf_set_ctx_params(void *vpkdfctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_get_params
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpkdfctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: kdf_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 1
    functionsReached:
    - EVP_KDF_CTX_get_params
    linkageType: ''
    returnType: int
    signature: int kdf_get_ctx_params(void *vpkdfctx, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:187,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:187,1
    - Dst: EVP_KDF_settable_ctx_params
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:194,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vpkdfctx
    - provctx
    - kdfname
    argTypes:
    - ossl_unused*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: kdf_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 1
    functionsReached:
    - EVP_KDF_fetch
    - EVP_KDF_settable_ctx_params
    - PROV_LIBCTX_OF
    - EVP_KDF_free
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_settable_ctx_params(ossl_unused void *vpkdfctx,\n
      \                                                void *provctx,\n                                                 const
      char *kdfname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - funcname
    - ','
    - kdfname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: KDF_SETTABLE_CTX_PARAMS
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KDF_SETTABLE_CTX_PARAMS(funcname, kdfname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:215,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:215,1
    - Dst: EVP_KDF_gettable_ctx_params
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:222,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/providers/implementations/exchange/kdf_exch.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vpkdfctx
    - provctx
    - kdfname
    argTypes:
    - ossl_unused*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: kdf_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 1
    functionsReached:
    - EVP_KDF_fetch
    - PROV_LIBCTX_OF
    - EVP_KDF_free
    - EVP_KDF_gettable_ctx_params
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *kdf_gettable_ctx_params(ossl_unused void *vpkdfctx,\n
      \                                                void *provctx,\n                                                 const
      char *kdfname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - funcname
    - ','
    - kdfname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: KDF_GETTABLE_CTX_PARAMS
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KDF_GETTABLE_CTX_PARAMS(funcname, kdfname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - funcname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: KDF_KEYEXCH_FUNCTIONS
    functionSourceFile: /src/openssl/providers/implementations/exchange/kdf_exch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KDF_KEYEXCH_FUNCTIONS(funcname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ks
    - ','
    - fn_set_enc_key
    - ','
    - fn_block
    - ','
    - fn_ctr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: SM4_GCM_HW_SET_KEY_CTR_FN
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM4_GCM_HW_SET_KEY_CTR_FN(ks, fn_set_enc_key, fn_block, fn_ctr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SM4_GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:32,1
    - Dst: SM4_GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:35,1
    - Dst: SM4_GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:42,1
    - Dst: SM4_GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:49,1
    - Dst: SM4_GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 58
    functionName: sm4_gcm_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c
    functionUses: 0
    functionsReached:
    - SM4_GCM_HW_SET_KEY_CTR_FN
    linkageType: ''
    returnType: int
    signature: "int sm4_gcm_initkey(PROV_GCM_CTX *ctx, const unsigned char *key,\n
      \                          size_t keylen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:65,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:68,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:73,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - in
    - len
    - out
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: hw_gcm_cipher_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_encrypt_ctr32
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_decrypt_ctr32
    - CRYPTO_gcm128_encrypt
    linkageType: ''
    returnType: int
    signature: "int hw_gcm_cipher_update(PROV_GCM_CTX *ctx, const unsigned char *in,\n
      \                               size_t len, unsigned char *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ossl_prov_sm4_hw_gcm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_GCM_HW
    signature: PROV_GCM_HW *ossl_prov_sm4_hw_gcm(size_t keybits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha1
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha1
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA
    signature: PROV_CIPHER_HW_AES_HMAC_SHA *ossl_prov_cipher_hw_aes_cbc_hmac_sha1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha1
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:53,1
    - Dst: aesni_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:55,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: aesni_cbc_hmac_sha1_init_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - SHA1_Init
    - aesni_set_encrypt_key
    - aesni_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha1_init_key(PROV_CIPHER_CTX *vctx,\n                                        const
      unsigned char *key, size_t keylen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:78,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:87,1
    - Dst: SHA1_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 98
    functionName: sha1_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 1
    functionsReached:
    - sha1_block_data_order
    - SHA1_Update
    linkageType: ''
    returnType: void
    signature: void sha1_update(SHA_CTX *c, const void *data, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:146,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:165,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:166,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:172,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:173,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:178,1
    - Dst: BSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:179,1
    - Dst: BSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:195,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:209,1
    - Dst: sha1_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:218,1
    - Dst: sha1_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:236,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:237,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:246,1
    - Dst: sha1_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:254,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:256,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:263,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:269,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:271,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:276,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:278,1
    - Dst: sha1_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:286,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:288,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:291,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:293,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:295,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:297,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:299,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:302,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:304,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:306,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:308,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:310,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:312,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:315,1
    - Dst: sha1_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:322,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:328,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:334,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:335,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:336,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:337,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:338,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:362,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:364,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:365,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 152
    argCount: 5
    argNames:
    - vctx
    - out
    - inp
    - inp_len
    - n4x
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 121
    functionDepth: 7
    functionLinenumber: 121
    functionLinenumberEnd: 369
    functionName: tls1_multi_block_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - PUTU32
    - BSWAP4
    - aesni_multi_cbc_encrypt
    - sha1_multi_block
    - BSWAP8
    - RAND_bytes_ex
    - OPENSSL_cleanse
    linkageType: ''
    returnType: size_t
    signature: "size_t tls1_multi_block_encrypt(void *vctx,\n                                       unsigned
      char *out,\n                                       const unsigned char *inp,\n
      \                                      size_t inp_len, int n4x)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:401,1
    - Dst: aesni_cbc_sha1_enc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:403,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:416,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:420,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:423,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:425,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:426,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:433,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:436,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:463,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:472,1
    - Dst: constant_time_ge
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:480,1
    - Dst: constant_time_select
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:488,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:497,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:504,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:513,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:541,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:557,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:565,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:569,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:578,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:579,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:580,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:581,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:582,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:594,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:595,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:623,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:624,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 164
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 629
    functionName: aesni_cbc_hmac_sha1_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - aesni_cbc_encrypt
    - constant_time_ge
    - aesni_cbc_sha1_enc
    - memset
    - sha1_update
    - memcpy
    - BSWAP4
    - constant_time_select
    - SHA1_Final
    - sha1_block_data_order
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha1_cipher(PROV_CIPHER_CTX *vctx,\n                                      unsigned
      char *out,\n                                      const unsigned char *in, size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:639,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:642,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:643,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:644,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:646,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:651,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:652,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:656,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:657,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vctx
    - mac
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 660
    functionName: aesni_cbc_hmac_sha1_set_mac_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - memset
    - sha1_update
    - memcpy
    - SHA1_Init
    - SHA1_Final
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void aesni_cbc_hmac_sha1_set_mac_key(void *vctx,\n                                            const
      unsigned char *mac, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:687,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - vctx
    - aad_rec
    - aad_len
    argTypes:
    - void*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 698
    functionName: aesni_cbc_hmac_sha1_set_tls1_aad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - sha1_update
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha1_set_tls1_aad(void *vctx,\n                                            unsigned
      char *aad_rec, int aad_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 710
    functionName: aesni_cbc_hmac_sha1_tls1_multiblock_max_bufsize
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: int aesni_cbc_hmac_sha1_tls1_multiblock_max_bufsize(void *vctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:740,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - vctx
    - param
    argTypes:
    - void*
    - EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 763
    functionName: aesni_cbc_hmac_sha1_tls1_multiblock_aad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - sha1_update
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha1_tls1_multiblock_aad(\n    void *vctx, EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM
      *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_multi_block_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - void*
    - EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: aesni_cbc_hmac_sha1_tls1_multiblock_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached:
    - tls1_multi_block_encrypt
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha1_tls1_multiblock_encrypt(\n    void *ctx, EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM
      *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha1
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA
    signature: PROV_CIPHER_HW_AES_HMAC_SHA *ossl_prov_cipher_hw_aes_cbc_hmac_sha1(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c:22,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c:25,1
    - Dst: ossl_ccm_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c:27,1
    - Dst: ossl_prov_sm4_hw_ccm
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: sm4_ccm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c
    functionUses: 0
    functionsReached:
    - ossl_prov_sm4_hw_ccm
    - ossl_ccm_initctx
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *sm4_ccm_newctx(void *provctx, size_t keybits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: sm4_ccm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *sm4_ccm_dupctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sm4_ccm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void sm4_ccm_freectx(void *vctx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: HWSM4_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:24,1
    - Dst: vpsm4_ex_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:47,1
    - Dst: vpsm4_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:60,1
    - Dst: ossl_sm4_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:72,1
    - Dst: HWSM4_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:78,1
    - Dst: vpsm4_ex_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:93,1
    - Dst: vpsm4_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:104,1
    - Dst: ossl_sm4_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c:114,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 120
    functionName: cipher_hw_sm4_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c
    functionUses: 0
    functionsReached:
    - vpsm4_set_encrypt_key
    - HWSM4_set_encrypt_key
    - HWSM4_set_decrypt_key
    - vpsm4_set_decrypt_key
    - vpsm4_ex_set_decrypt_key
    - vpsm4_ex_set_encrypt_key
    - ossl_sm4_set_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_sm4_initkey(PROV_CIPHER_CTX *ctx,\n                                 const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: PROV_CIPHER_HW_sm4_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_sm4_mode(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_setiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - iv
    - ivlen
    - taglen
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: aes_generic_ocb_setiv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ocb128_setiv
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline aes_generic_ocb_setiv(PROV_AES_OCB_CTX *ctx,\n                                             const
      unsigned char *iv,\n                                             size_t ivlen,
      size_t taglen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_aad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: aes_generic_ocb_setaad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ocb128_aad
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline aes_generic_ocb_setaad(PROV_AES_OCB_CTX *ctx,\n                                              const
      unsigned char *aad,\n                                              size_t alen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_tag
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - tag
    - tlen
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: aes_generic_ocb_gettag
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ocb128_tag
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline aes_generic_ocb_gettag(PROV_AES_OCB_CTX *ctx,\n                                              unsigned
      char *tag, size_t tlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_finish
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: aes_generic_ocb_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ocb128_finish
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline aes_generic_ocb_final(PROV_AES_OCB_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_cleanup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: aes_generic_ocb_cleanup
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ocb128_cleanup
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline aes_generic_ocb_cleanup(PROV_AES_OCB_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:85,1
    - Dst: CRYPTO_ocb128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: aes_generic_ocb_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ocb128_decrypt
    - CRYPTO_ocb128_encrypt
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline aes_generic_ocb_cipher(PROV_AES_OCB_CTX *ctx,\n                                              const
      unsigned char *in,\n                                              unsigned char
      *out, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ocb128_copy_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_AES_OCB_CTX*
    - PROV_AES_OCB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: aes_generic_ocb_copy_ctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ocb128_copy_ctx
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline aes_generic_ocb_copy_ctx(PROV_AES_OCB_CTX *dst,\n                                                PROV_AES_OCB_CTX
      *src)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:121,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:132,1
    - Dst: PROV_AES_OCB_CTX*::base::hw::init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:135,1
    - Dst: aes_ocb_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 139
    functionName: aes_ocb_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - PROV_AES_OCB_CTX*::base::hw::init
    - ossl_prov_is_running
    - ERR_raise
    - aes_ocb_set_ctx_params
    - ossl_cipher_generic_initiv
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_init(void *vctx, const unsigned char *key, size_t keylen,\n
      \                       const unsigned char *iv, size_t ivlen,\n                        const
      OSSL_PARAM params[], int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_ocb_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: aes_ocb_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_ocb_init
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_einit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                        const unsigned char *iv, size_t ivlen,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_ocb_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: aes_ocb_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_ocb_init
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_dinit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                        const unsigned char *iv, size_t ivlen,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_fillblock
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:169,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:175,1
    - Dst: ciph
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:178,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:190,1
    - Dst: ciph
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:193,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:194,1
    - Dst: ossl_cipher_trailingdata
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 9
    argNames:
    - ctx
    - buf
    - bufsz
    - out
    - outl
    - outsize
    - in
    - inl
    - ciph
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_ocb_cipher_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 208
    functionName: aes_ocb_block_update_internal
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_fillblock
    - ciph
    - ERR_raise
    - ossl_cipher_trailingdata
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_block_update_internal(PROV_AES_OCB_CTX *ctx,\n                                         unsigned
      char *buf, size_t *bufsz,\n                                         unsigned
      char *out, size_t *outl,\n                                         size_t outsize,
      const unsigned char *in,\n                                         size_t inl,
      OSSL_ocb_cipher_fn ciph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_generic_ocb_setaad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_AES_OCB_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: cipher_updateaad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_generic_ocb_setaad
    linkageType: ''
    returnType: int
    signature: "int cipher_updateaad(PROV_AES_OCB_CTX *ctx, const unsigned char *in,\n
      \                           unsigned char *out, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aes_generic_ocb_setiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_OCB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: update_iv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_generic_ocb_setiv
    linkageType: ''
    returnType: int
    signature: int update_iv(PROV_AES_OCB_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: update_iv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:240,1
    - Dst: aes_ocb_block_update_internal
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 260
    functionName: aes_ocb_block_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_ocb_block_update_internal
    - update_iv
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_block_update(void *vctx, unsigned char *out, size_t *outl,\n
      \                               size_t outsize, const unsigned char *in,\n                                size_t
      inl)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:267,1
    - Dst: update_iv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:271,1
    - Dst: aes_generic_ocb_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:280,1
    - Dst: aes_generic_ocb_setaad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:286,1
    - Dst: aes_generic_ocb_gettag
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:292,1
    - Dst: aes_generic_ocb_final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:298,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 304
    functionName: aes_ocb_block_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - aes_generic_ocb_final
    - aes_generic_ocb_cipher
    - aes_generic_ocb_gettag
    - update_iv
    - aes_generic_ocb_setaad
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_block_final(void *vctx, unsigned char *out, size_t *outl,\n
      \                              size_t outsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:311,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:314,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:316,1
    - Dst: ossl_prov_cipher_hw_aes_ocb
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - mode
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - unsigned int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 321
    functionName: aes_ocb_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_hw_aes_ocb
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_cipher_generic_initkey
    linkageType: ''
    returnType: void
    signature: "void *aes_ocb_newctx(void *provctx, size_t kbits, size_t blkbits,\n
      \                           size_t ivbits, unsigned int mode, uint64_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_generic_ocb_cleanup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:328,1
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:329,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: aes_ocb_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_generic_ocb_cleanup
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_ocb_freectx(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:339,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:342,1
    - Dst: aes_generic_ocb_copy_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:346,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: aes_ocb_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_prov_is_running
    - aes_generic_ocb_copy_ctx
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *aes_ocb_dupctx(void *vctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:359,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:362,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:365,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:377,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:381,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:384,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:387,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:389,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:390,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:401,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:405,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:406,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:410,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 353
    functionDepth: 6
    functionLinenumber: 353
    functionLinenumberEnd: 415
    functionName: aes_ocb_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 1
    functionsReached:
    - ossl_param_is_empty
    - ERR_raise
    - memcpy
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int aes_ocb_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:422,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:424,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:427,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:429,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:432,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:434,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:435,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:440,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:443,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:446,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:447,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:451,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:454,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:457,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:458,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:462,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:465,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:469,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:472,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 475
    functionName: aes_ocb_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - memcpy
    - OSSL_PARAM_set_octet_string_or_ptr
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int aes_ocb_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: cipher_ocb_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *cipher_ocb_gettable_ctx_params(ossl_unused void *cctx,\n
      \                                                       ossl_unused void *p_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: cipher_ocb_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *cipher_ocb_settable_ctx_params(ossl_unused void *cctx,\n
      \                                                       ossl_unused void *p_ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:509,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:513,1
    - Dst: aes_generic_ocb_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 524
    functionName: aes_ocb_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached:
    - aes_generic_ocb_cipher
    - ossl_prov_is_running
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int aes_ocb_cipher(void *vctx, unsigned char *out, size_t *outl,\n
      \                         size_t outsize, const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 563
    functionName: IMPLEMENT_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_cipher(mode, UCMODE, flags, kbits, blkbits, ivbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4.c:33,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: rc4_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void rc4_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4.c:42,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: rc4_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *rc4_dupctx(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4.c:57,1
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: rc4_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_var_keylen_set_ctx_params
    - ossl_cipher_generic_einit
    linkageType: ''
    returnType: int
    signature: "int rc4_einit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4.c:66,1
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: rc4_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_dinit
    - ossl_cipher_var_keylen_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int rc4_dinit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - alg
    - ','
    - UCALG
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 115
    functionName: IMPLEMENT_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_cipher(alg, UCALG, flags, kbits, blkbits, ivbits, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes.c:31,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: aes_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes.c:40,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes.c:43,1
    - Dst: PROV_AES_CTX*::base::hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: aes_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_malloc
    - PROV_AES_CTX*::base::hw::copyctx
    linkageType: ''
    returnType: void
    signature: void *aes_dupctx(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cbc128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:22,1
    - Dst: CRYPTO_cbc128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: ossl_cipher_hw_generic_cbc
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cbc128_encrypt
    - CRYPTO_cbc128_decrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_generic_cbc(PROV_CIPHER_CTX *dat, unsigned char
      *out,\n                               const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: ossl_cipher_hw_generic_ecb
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_generic_ecb(PROV_CIPHER_CTX *dat, unsigned char
      *out,\n                               const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ofb128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: ossl_cipher_hw_generic_ofb128
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ofb128_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_generic_ofb128(PROV_CIPHER_CTX *dat, unsigned char
      *out,\n                                  const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: ossl_cipher_hw_generic_cfb128
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_generic_cfb128(PROV_CIPHER_CTX *dat, unsigned char
      *out,\n                                  const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_8_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: ossl_cipher_hw_generic_cfb8
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_8_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_generic_cfb8(PROV_CIPHER_CTX *dat, unsigned char
      *out,\n                                const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:89,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:96,1
    - Dst: CRYPTO_cfb128_1_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: ossl_cipher_hw_generic_cfb1
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_cfb128_1_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_generic_cfb1(PROV_CIPHER_CTX *dat, unsigned char
      *out,\n                                const unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ctr128_encrypt_ctr32
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:117,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dat
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: ossl_cipher_hw_generic_ctr
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ctr128_encrypt_ctr32
    - CRYPTO_ctr128_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_generic_ctr(PROV_CIPHER_CTX *dat, unsigned char
      *out,\n                               const unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_hw_generic_cbc
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:136,1
    - Dst: ossl_cipher_hw_generic_cbc
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: ossl_cipher_hw_chunked_cbc
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_hw_generic_cbc
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_chunked_cbc(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                               const unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_hw_generic_cfb8
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 162
    functionName: ossl_cipher_hw_chunked_cfb8
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_hw_generic_cfb8
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_chunked_cfb8(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                                const unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_hw_generic_cfb128
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: ossl_cipher_hw_chunked_cfb128
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_hw_generic_cfb128
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_chunked_cfb128(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                                  const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_hw_generic_ofb128
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:186,1
    - Dst: ossl_cipher_hw_generic_ofb128
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: ossl_cipher_hw_chunked_ofb128
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_hw.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_hw_generic_ofb128
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_chunked_ofb128(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                                  const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: GET_HW
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_HW(ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:52,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:55,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:57,1
    - Dst: ossl_prov_cipher_hw_rc4_hmac_md5
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: rc4_hmac_md5_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_cipher_generic_initkey
    - ossl_prov_cipher_hw_rc4_hmac_md5
    linkageType: ''
    returnType: void
    signature: void *rc4_hmac_md5_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:71,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: rc4_hmac_md5_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void rc4_hmac_md5_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: rc4_hmac_md5_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *rc4_hmac_md5_dupctx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:88,1
    - Dst: rc4_hmac_md5_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: rc4_hmac_md5_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - rc4_hmac_md5_set_ctx_params
    - ossl_cipher_generic_einit
    linkageType: ''
    returnType: int
    signature: "int rc4_hmac_md5_einit(void *ctx, const unsigned char *key,\n                              size_t
      keylen, const unsigned char *iv,\n                              size_t ivlen,
      const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:97,1
    - Dst: rc4_hmac_md5_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: rc4_hmac_md5_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_dinit
    - rc4_hmac_md5_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int rc4_hmac_md5_dinit(void *ctx, const unsigned char *key,\n                              size_t
      keylen, const unsigned char *iv,\n                              size_t ivlen,
      const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: rc4_hmac_md5_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rc4_hmac_md5_gettable_ctx_params(ossl_unused void *cctx,\n
      \                                                  ossl_unused void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:119,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:120,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:121,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:125,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:127,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:130,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:131,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: rc4_hmac_md5_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int rc4_hmac_md5_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: rc4_hmac_md5_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rc4_hmac_md5_settable_ctx_params(ossl_unused void *cctx,\n
      \                                                  ossl_unused void *provctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:156,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:159,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:161,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:166,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:171,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:173,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:178,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:183,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:186,1
    - Dst: GET_HW
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:191,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:196,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:199,1
    - Dst: GET_HW
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:202,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:204,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:207,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 213
    functionName: rc4_hmac_md5_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 2
    functionsReached:
    - ossl_param_is_empty
    - ERR_raise
    - OSSL_PARAM_get_uint
    - GET_HW
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int rc4_hmac_md5_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: rc4_hmac_md5_get_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: int rc4_hmac_md5_get_params(OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - alg
    - ','
    - UCALG
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 47
    functionName: IMPLEMENT_cts_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_cts_cipher(alg, UCALG, lcmode, UCMODE, flags, kbits,         \\\n
      \                            blkbits, ivbits, typ)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_setiv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - nonce
    - nlen
    - mlen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: ossl_ccm_generic_setiv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ccm128_setiv
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_generic_setiv(PROV_CCM_CTX *ctx, const unsigned char
      *nonce,\n                           size_t nlen, size_t mlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_aad
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - aad
    - alen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: ossl_ccm_generic_setaad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ccm128_aad
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_generic_setaad(PROV_CCM_CTX *ctx, const unsigned char
      *aad,\n                            size_t alen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - tag
    - tlen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: ossl_ccm_generic_gettag
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ccm128_tag
    linkageType: ''
    returnType: int
    signature: int ossl_ccm_generic_gettag(PROV_CCM_CTX *ctx, unsigned char *tag,
      size_t tlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_encrypt_ccm64
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:38,1
    - Dst: CRYPTO_ccm128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:41,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - ctx
    - in
    - out
    - len
    - tag
    - taglen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: ossl_ccm_generic_auth_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ccm128_encrypt_ccm64
    - CRYPTO_ccm128_encrypt
    - CRYPTO_ccm128_tag
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_generic_auth_encrypt(PROV_CCM_CTX *ctx, const unsigned
      char *in,\n                                  unsigned char *out, size_t len,\n
      \                                 unsigned char *tag, size_t taglen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_ccm128_decrypt_ccm64
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:55,1
    - Dst: CRYPTO_ccm128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:58,1
    - Dst: CRYPTO_ccm128_tag
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:62,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:63,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - in
    - out
    - len
    - expected_tag
    - taglen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: ossl_ccm_generic_auth_decrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_ccm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - CRYPTO_ccm128_decrypt_ccm64
    - CRYPTO_ccm128_decrypt
    - OPENSSL_cleanse
    - CRYPTO_ccm128_tag
    linkageType: ''
    returnType: int
    signature: "int ossl_ccm_generic_auth_decrypt(PROV_CCM_CTX *ctx, const unsigned
      char *in,\n                                  unsigned char *out, size_t len,\n
      \                                 unsigned char *expected_tag, size_t taglen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:24,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:38,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - bctx
    - aad
    - alen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 43
    functionName: chacha_poly1305_tls_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 0
    functionsReached:
    - CHACHA_U8TOU32
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int chacha_poly1305_tls_init(PROV_CIPHER_CTX *bctx,\n                                    unsigned
      char *aad, size_t alen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:52,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:53,1
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bctx
    - fixed
    - flen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: chacha_poly1305_tls_iv_set_fixed
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 0
    functionsReached:
    - CHACHA_U8TOU32
    linkageType: ''
    returnType: int
    signature: "int chacha_poly1305_tls_iv_set_fixed(PROV_CIPHER_CTX *bctx,\n                                            unsigned
      char *fixed, size_t flen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_chacha20_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:70,1
    - Dst: ossl_chacha20_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - bctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: chacha20_poly1305_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 0
    functionsReached:
    - ossl_chacha20_einit
    - ossl_chacha20_dinit
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_initkey(PROV_CIPHER_CTX *bctx,\n                                     const
      unsigned char *key, size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:89,1
    - Dst: ossl_chacha20_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:93,1
    - Dst: ossl_chacha20_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - bctx
    argTypes:
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: chacha20_poly1305_initiv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_chacha20_einit
    - ossl_chacha20_dinit
    linkageType: ''
    returnType: int
    signature: int chacha20_poly1305_initiv(PROV_CIPHER_CTX *bctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:137,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:138,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:140,1
    - Dst: xor128_encrypt_n_pad
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:147,1
    - Dst: xor128_decrypt_n_pad
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:149,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:161,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:163,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:165,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:186,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:193,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:195,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:198,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:205,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:206,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:208,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:209,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 70
    argCount: 5
    argNames:
    - bctx
    - out
    - out_padlen
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 216
    functionName: chacha20_poly1305_tls_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 1
    functionsReached:
    - memset
    - Poly1305_Init
    - ChaCha20_ctr32
    - xor128_encrypt_n_pad
    - memcpy
    - Poly1305_Update
    - xor128_decrypt_n_pad
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_tls_cipher(PROV_CIPHER_CTX *bctx,\n                                        unsigned
      char *out,\n                                        size_t *out_padlen,\n                                        const
      unsigned char *in, size_t len)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_poly1305_tls_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:284,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:289,1
    - Dst: Poly1305_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:291,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:297,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:305,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:312,1
    - Dst: PROV_CHACHA20_POLY1305_CTX*::chacha::base::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:323,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:324,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:329,1
    - Dst: PROV_CHACHA20_POLY1305_CTX*::chacha::base::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:330,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:344,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:349,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:352,1
    - Dst: Poly1305_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:371,1
    - Dst: Poly1305_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:373,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:378,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:380,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:381,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c:389,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 112
    argCount: 5
    argNames:
    - bctx
    - out
    - outl
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 399
    functionName: chacha20_poly1305_aead_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 0
    functionsReached:
    - PROV_CHACHA20_POLY1305_CTX*::chacha::base::hw::cipher
    - chacha20_poly1305_tls_cipher
    - memset
    - Poly1305_Init
    - ChaCha20_ctr32
    - memcpy
    - CRYPTO_memcmp
    - Poly1305_Update
    - Poly1305_Final
    linkageType: ''
    returnType: int
    signature: "int chacha20_poly1305_aead_cipher(PROV_CIPHER_CTX *bctx,\n                                         unsigned
      char *out, size_t *outl,\n                                         const unsigned
      char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: ossl_prov_cipher_hw_chacha20_poly1305
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW
    signature: PROV_CIPHER_HW *ossl_prov_cipher_hw_chacha20_poly1305(size_t keybits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Camellia_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_camellia_hw.c:28,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_camellia_hw.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - dat
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 43
    functionName: cipher_hw_camellia_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_camellia_hw.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - Camellia_set_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_camellia_initkey(PROV_CIPHER_CTX *dat,\n                                      const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: PROV_CIPHER_HW_camellia_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_camellia_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_camellia_mode(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha256_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha256_etm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha256_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA_ETM
    signature: PROV_CIPHER_HW_AES_HMAC_SHA_ETM *ossl_prov_cipher_hw_aes_cbc_hmac_sha256_etm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha256_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha256_etm(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_v8_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:49,1
    - Dst: aes_v8_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:51,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: aes_cbc_hmac_sha256_init_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached:
    - SHA256_Init
    - aes_v8_set_decrypt_key
    - aes_v8_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_cbc_hmac_sha256_init_key(PROV_CIPHER_CTX *vctx,\n                                        const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - vctx
    argTypes:
    - CIPH_DIGEST*
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: ciph_digest_arg_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ciph_digest_arg_init(CIPH_DIGEST *arg, PROV_CIPHER_CTX *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ciph_digest_arg_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:81,1
    - Dst: HWAES128_ENC_CBC_SHA256_ETM
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:89,1
    - Dst: HWAES128_DEC_CBC_SHA256_ETM
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:92,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: hwaes_cbc_hmac_sha256_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached:
    - ciph_digest_arg_init
    - ERR_raise
    - HWAES128_ENC_CBC_SHA256_ETM
    - CRYPTO_memcmp
    - HWAES128_DEC_CBC_SHA256_ETM
    linkageType: ''
    returnType: int
    signature: "int hwaes_cbc_hmac_sha256_etm(PROV_CIPHER_CTX *vctx,\n                                     unsigned
      char *out,\n                                     const unsigned char *in, size_t
      len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:110,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:119,1
    - Dst: SHA256_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 130
    functionName: sha256_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached:
    - sha256_block_data_order
    - SHA256_Update
    linkageType: ''
    returnType: void
    signature: void sha256_update(SHA256_CTX *c, const void *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:139,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:142,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:143,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:144,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:146,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:151,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:152,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:156,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:157,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vctx
    - mac
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: aes_cbc_hmac_sha256_set_mac_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - memset
    - SHA256_Final
    - memcpy
    - SHA256_Init
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void aes_cbc_hmac_sha256_set_mac_key(void *vctx,\n                                            const
      unsigned char *mac, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hwaes_cbc_hmac_sha256_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: aes_cbc_hmac_sha256_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached:
    - hwaes_cbc_hmac_sha256_etm
    linkageType: ''
    returnType: int
    signature: "int aes_cbc_hmac_sha256_cipher(PROV_CIPHER_CTX *vctx,\n                                      unsigned
      char *out,\n                                      const unsigned char *in, size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha256_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA_ETM
    signature: PROV_CIPHER_HW_AES_HMAC_SHA_ETM *ossl_prov_cipher_hw_aes_cbc_hmac_sha256_etm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria.c:23,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: aria_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aria_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria.c:32,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria.c:35,1
    - Dst: PROV_ARIA_CTX*::base::hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: aria_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria.c
    functionUses: 0
    functionsReached:
    - PROV_ARIA_CTX*::base::hw::copyctx
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *aria_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:40,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: rc2_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void rc2_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:49,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: rc2_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *rc2_dupctx(void *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: rc2_keybits_to_magic
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int rc2_keybits_to_magic(int keybits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - magic
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: rc2_magic_to_keybits
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int rc2_magic_to_keybits(int magic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:92,1
    - Dst: rc2_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: rc2_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_einit
    - rc2_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int rc2_einit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:101,1
    - Dst: rc2_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: rc2_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_dinit
    - rc2_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int rc2_dinit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:111,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:113,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:115,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:118,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:131,1
    - Dst: ASN1_TYPE_new
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:135,1
    - Dst: rc2_keybits_to_magic
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:140,1
    - Dst: ASN1_TYPE_set_int_octetstring
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:141,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:144,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:152,1
    - Dst: i2d_ASN1_TYPE
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:161,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:165,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:167,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 172
    functionName: rc2_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - ASN1_TYPE_new
    - ossl_cipher_generic_get_ctx_params
    - i2d_ASN1_TYPE
    - ASN1_TYPE_free
    - ASN1_TYPE_set_int_octetstring
    - OSSL_PARAM_set_size_t
    - rc2_keybits_to_magic
    linkageType: ''
    returnType: int
    signature: int rc2_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:179,1
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:182,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:184,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:187,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:191,1
    - Dst: d2i_ASN1_TYPE
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:201,1
    - Dst: ASN1_TYPE_get_int_octetstring
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:202,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:205,1
    - Dst: rc2_magic_to_keybits
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:207,1
    - Dst: ASN1_TYPE_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2.c:210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 221
    functionName: rc2_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2.c
    functionUses: 2
    functionsReached:
    - ossl_param_is_empty
    - ossl_cipher_var_keylen_set_ctx_params
    - ERR_raise
    - d2i_ASN1_TYPE
    - OSSL_PARAM_locate_const
    - ossl_cipher_generic_initiv
    - ASN1_TYPE_get_int_octetstring
    - ASN1_TYPE_free
    - rc2_magic_to_keybits
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int rc2_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fn_set_enc_key
    - ','
    - fn_set_dec_key
    - ','
    - fn_block_enc
    - ','
    - fn_block_dec
    - ','
    - fn_stream_enc
    - ','
    - fn_stream_dec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: XTS_SET_KEY_FN
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "XTS_SET_KEY_FN(fn_set_enc_key, fn_set_dec_key,                         \\\n
      \                      fn_block_enc, fn_block_dec,                             \\\n
      \                      fn_stream_enc, fn_stream_dec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:59,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:74,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: cipher_hw_aes_xts_generic_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_xts_generic_initkey(PROV_CIPHER_CTX *ctx,\n                                             const
      unsigned char *key,\n                                             size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: cipher_hw_aes_xts_copyctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cipher_hw_aes_xts_copyctx(PROV_CIPHER_CTX *dst,\n                                      const
      PROV_CIPHER_CTX *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aesni_xts_avx512_eligible
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:123,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: cipher_hw_aesni_xts_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - aesni_xts_avx512_eligible
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aesni_xts_initkey(PROV_CIPHER_CTX *ctx,\n                                       const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: PROV_CIPHER_HW_declare_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_declare_xts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: PROV_CIPHER_HW_select_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_select_xts()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: cipher_hw_aes_xts_t4_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_xts_t4_initkey(PROV_CIPHER_CTX *ctx,\n                                        const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: PROV_CIPHER_HW_declare_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_declare_xts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: PROV_CIPHER_HW_select_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_select_xts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: cipher_hw_aes_xts_rv64i_zknd_zkne_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_xts_rv64i_zknd_zkne_initkey(PROV_CIPHER_CTX *ctx,\n
      \                                                    const unsigned char *key,\n
      \                                                    size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:214,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 225
    functionName: cipher_hw_aes_xts_rv64i_zvbb_zvkg_zvkned_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_xts_rv64i_zvbb_zvkg_zvkned_initkey(\n    PROV_CIPHER_CTX
      *ctx, const unsigned char *key, size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:237,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 247
    functionName: cipher_hw_aes_xts_rv64i_zvkned_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_xts_rv64i_zvkned_initkey(PROV_CIPHER_CTX *ctx,\n
      \                                                 const unsigned char *key,\n
      \                                                 size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: PROV_CIPHER_HW_declare_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_declare_xts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: PROV_CIPHER_HW_select_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_select_xts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: cipher_hw_aes_xts_rv32i_zknd_zkne_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_xts_rv32i_zknd_zkne_initkey(PROV_CIPHER_CTX *ctx,\n
      \                                                    const unsigned char *key,\n
      \                                                    size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: cipher_hw_aes_xts_rv32i_zbkb_zknd_zkne_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_xts_rv32i_zbkb_zknd_zkne_initkey(PROV_CIPHER_CTX
      *ctx,\n                                                         const unsigned
      char *key,\n                                                         size_t
      keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: PROV_CIPHER_HW_declare_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_declare_xts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: PROV_CIPHER_HW_select_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_select_xts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_HW_select_xts
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 333
    functionName: ossl_prov_cipher_hw_aes_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts_hw.c
    functionUses: 0
    functionsReached:
    - PROV_CIPHER_HW_select_xts
    linkageType: ''
    returnType: PROV_CIPHER_HW
    signature: PROV_CIPHER_HW *ossl_prov_cipher_hw_aes_xts(size_t keybits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_t4_key_expand
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:33,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:34,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:35,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:42,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:43,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 46
    functionName: ossl_cipher_hw_tdes_ede3_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_tdes_ede3_initkey(PROV_CIPHER_CTX *ctx,\n                                     const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: ossl_cipher_hw_tdes_copyctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_cipher_hw_tdes_copyctx(PROV_CIPHER_CTX *dst,\n                                 const
      PROV_CIPHER_CTX *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:69,1
    - Dst: DES_ede3_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: ossl_cipher_hw_tdes_cbc
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c
    functionUses: 0
    functionsReached:
    - DES_ede3_cbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_tdes_cbc(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                           const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ecb3_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: ossl_cipher_hw_tdes_ecb
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_hw.c
    functionUses: 0
    functionsReached:
    - DES_ecb3_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_tdes_ecb(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                           const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_camellia.c:29,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_camellia.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: camellia_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_camellia.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void camellia_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_camellia.c:38,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_camellia.c:41,1
    - Dst: PROV_CAMELLIA_CTX*::base::hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_camellia.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: camellia_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_camellia.c
    functionUses: 0
    functionsReached:
    - PROV_CAMELLIA_CTX*::base::hw::copyctx
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *camellia_dupctx(void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c:22,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c:25,1
    - Dst: ossl_gcm_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c:27,1
    - Dst: ossl_prov_sm4_hw_gcm
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: sm4_gcm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c
    functionUses: 0
    functionsReached:
    - ossl_gcm_initctx
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_sm4_hw_gcm
    linkageType: ''
    returnType: void
    signature: void *sm4_gcm_newctx(void *provctx, size_t keybits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: sm4_gcm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *sm4_gcm_dupctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: sm4_gcm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_gcm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void sm4_gcm_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4.c:23,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: sm4_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void sm4_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4.c:32,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4.c:35,1
    - Dst: PROV_SM4_CTX*::base::hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sm4_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4.c
    functionUses: 0
    functionsReached:
    - PROV_SM4_CTX*::base::hw::copyctx
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *sm4_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: PROV_CIPHER_HW_aes_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cfb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_aes_mode(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_seed.c:29,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_seed.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: seed_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_seed.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void seed_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_seed.c:38,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_seed.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: seed_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_seed.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *seed_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha1_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha1_etm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha1_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA_ETM
    signature: PROV_CIPHER_HW_AES_HMAC_SHA_ETM *ossl_prov_cipher_hw_aes_cbc_hmac_sha1_etm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha1_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha1_etm(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_v8_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:49,1
    - Dst: aes_v8_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:51,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: aes_cbc_hmac_sha1_init_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 0
    functionsReached:
    - SHA1_Init
    - aes_v8_set_decrypt_key
    - aes_v8_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int aes_cbc_hmac_sha1_init_key(PROV_CIPHER_CTX *vctx,\n                                      const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - vctx
    argTypes:
    - CIPH_DIGEST*
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: ciph_digest_arg_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ciph_digest_arg_init(CIPH_DIGEST *arg, PROV_CIPHER_CTX *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ciph_digest_arg_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:81,1
    - Dst: HWAES128_ENC_CBC_SHA1_ETM
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:89,1
    - Dst: HWAES128_DEC_CBC_SHA1_ETM
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:92,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: hwaes_cbc_hmac_sha1_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 0
    functionsReached:
    - ciph_digest_arg_init
    - ERR_raise
    - CRYPTO_memcmp
    - HWAES128_ENC_CBC_SHA1_ETM
    - HWAES128_DEC_CBC_SHA1_ETM
    linkageType: ''
    returnType: int
    signature: "int hwaes_cbc_hmac_sha1_etm(PROV_CIPHER_CTX *vctx,\n                                   unsigned
      char *out,\n                                   const unsigned char *in, size_t
      len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:110,1
    - Dst: sha1_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:119,1
    - Dst: SHA1_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 130
    functionName: sha1_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 5
    functionsReached:
    - sha1_block_data_order
    - SHA1_Update
    linkageType: ''
    returnType: void
    signature: void sha1_update(SHA_CTX *c, const void *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:139,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:142,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:143,1
    - Dst: SHA1_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:144,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:146,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:151,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:152,1
    - Dst: SHA1_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:156,1
    - Dst: sha1_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:157,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vctx
    - mac
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: aes_cbc_hmac_sha1_set_mac_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 0
    functionsReached:
    - memset
    - sha1_update
    - memcpy
    - SHA1_Init
    - SHA1_Final
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void aes_cbc_hmac_sha1_set_mac_key(void *vctx,\n                                          const
      unsigned char *mac, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hwaes_cbc_hmac_sha1_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: aes_cbc_hmac_sha1_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 0
    functionsReached:
    - hwaes_cbc_hmac_sha1_etm
    linkageType: ''
    returnType: int
    signature: "int aes_cbc_hmac_sha1_cipher(PROV_CIPHER_CTX *vctx,\n                                    unsigned
      char *out,\n                                    const unsigned char *in, size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha1_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA_ETM
    signature: PROV_CIPHER_HW_AES_HMAC_SHA_ETM *ossl_prov_cipher_hw_aes_cbc_hmac_sha1_etm(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:27,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:30,1
    - Dst: ossl_gcm_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:32,1
    - Dst: ossl_prov_aes_hw_gcm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: aes_gcm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c
    functionUses: 0
    functionsReached:
    - ossl_gcm_initctx
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_aes_hw_gcm
    linkageType: ''
    returnType: void
    signature: void *aes_gcm_newctx(void *provctx, size_t keybits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:42,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: aes_gcm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aes_gcm_dupctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: aes_gcm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void aes_gcm_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:56,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:59,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - kbits
    - blkbits
    - ivbits
    - mode
    - flags
    argTypes:
    - size_t
    - size_t
    - size_t
    - unsigned int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: aes_wrap_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_cipher_generic_initkey
    linkageType: ''
    returnType: void
    signature: "void *aes_wrap_newctx(size_t kbits, size_t blkbits,\n                             size_t
      ivbits, unsigned int mode, uint64_t flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:74,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:79,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:82,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - wctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: aes_wrap_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_prov_is_running
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aes_wrap_dupctx(void *wctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:96,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: aes_wrap_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_wrap_freectx(void *vctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:107,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:117,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:124,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:141,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:144,1
    - Dst: aes_wrap_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 149
    functionName: aes_wrap_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - AES_set_decrypt_key
    - AES_set_encrypt_key
    - ossl_cipher_generic_initiv
    - aes_wrap_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int aes_wrap_init(void *vctx, const unsigned char *key,\n                         size_t
      keylen, const unsigned char *iv,\n                         size_t ivlen, const
      OSSL_PARAM params[], int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_wrap_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: aes_wrap_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - aes_wrap_init
    linkageType: ''
    returnType: int
    signature: "int aes_wrap_einit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_wrap_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: aes_wrap_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - aes_wrap_init
    linkageType: ''
    returnType: int
    signature: "int aes_wrap_dinit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:185,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:191,1
    - Dst: PROV_AES_WRAP_CTX*::wrapfn
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:212,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:215,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:219,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - inlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 223
    functionName: aes_wrap_cipher_internal
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - PROV_AES_WRAP_CTX*::wrapfn
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int aes_wrap_cipher_internal(void *vctx, unsigned char *out,\n                                    const
      unsigned char *in, size_t inlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: aes_wrap_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int aes_wrap_final(void *vctx, unsigned char *out, size_t *outl,\n
      \                         size_t outsize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:242,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:251,1
    - Dst: aes_wrap_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 261
    functionName: aes_wrap_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - aes_wrap_cipher_internal
    linkageType: ''
    returnType: int
    signature: "int aes_wrap_cipher(void *vctx,\n                           unsigned
      char *out, size_t *outl, size_t outsize,\n                           const unsigned
      char *in, size_t inl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:269,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:272,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:275,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 6
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: aes_wrap_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 1
    functionsReached:
    - ossl_param_is_empty
    - OSSL_PARAM_locate_const
    - ERR_raise
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int aes_wrap_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - mode
    - ','
    - fname
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 322
    functionName: IMPLEMENT_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_wrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_cipher(mode, fname, UCMODE, flags, kbits, blkbits, ivbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:27,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:30,1
    - Dst: ossl_ccm_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:32,1
    - Dst: ossl_prov_aes_hw_ccm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: aes_ccm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c
    functionUses: 0
    functionsReached:
    - ossl_ccm_initctx
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_aes_hw_ccm
    linkageType: ''
    returnType: void
    signature: void *aes_ccm_newctx(void *provctx, size_t keybits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:41,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: aes_ccm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aes_ccm_dupctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: aes_ccm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void aes_ccm_freectx(void *vctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:41,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:44,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:47,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:53,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:55,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:58,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:59,1
    - Dst: GSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:67,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:71,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:73,1
    - Dst: GSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:82,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:86,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:88,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:92,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:98,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:101,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:102,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 105
    functionName: aes_gcm_siv_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - memset
    - EVP_EncryptUpdate
    - memcpy
    - EVP_CIPHER_fetch
    - GSWAP4
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int aes_gcm_siv_initkey(void *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:116,1
    - Dst: UP16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:121,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:126,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:130,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - aad
    - len
    argTypes:
    - PROV_AES_GCM_SIV_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: aes_gcm_siv_aad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - OPENSSL_free
    - OPENSSL_realloc
    - UP16
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_siv_aad(PROV_AES_GCM_SIV_CTX *ctx,\n                           const
      unsigned char *aad, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_AES_GCM_SIV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: aes_gcm_siv_finish
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: int aes_gcm_siv_finish(PROV_AES_GCM_SIV_CTX *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:172,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:173,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:175,1
    - Dst: ossl_polyval_ghash_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:176,1
    - Dst: ossl_polyval_ghash_hash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:180,1
    - Dst: UP16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:180,1
    - Dst: DOWN16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:182,1
    - Dst: ossl_polyval_ghash_hash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:183,1
    - Dst: DOWN16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:183,1
    - Dst: IS16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:184,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:186,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:187,1
    - Dst: DOWN16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:187,1
    - Dst: REMAINDER16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:187,1
    - Dst: ossl_polyval_ghash_hash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:188,1
    - Dst: ossl_polyval_ghash_hash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:190,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:197,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:198,1
    - Dst: aes_gcm_siv_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_AES_GCM_SIV_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 207
    functionName: aes_gcm_siv_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - GSWAP8
    - REMAINDER16
    - memset
    - EVP_EncryptUpdate
    - memcpy
    - aes_gcm_siv_ctr32
    - ossl_polyval_ghash_init
    - DOWN16
    - ossl_polyval_ghash_hash
    - IS16
    - UP16
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_siv_encrypt(PROV_AES_GCM_SIV_CTX *ctx, const unsigned
      char *in,\n                               unsigned char *out, size_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:229,1
    - Dst: aes_gcm_siv_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:232,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:238,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:239,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:241,1
    - Dst: ossl_polyval_ghash_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:242,1
    - Dst: ossl_polyval_ghash_hash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:245,1
    - Dst: UP16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:245,1
    - Dst: DOWN16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:247,1
    - Dst: ossl_polyval_ghash_hash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:248,1
    - Dst: DOWN16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:248,1
    - Dst: IS16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:249,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:252,1
    - Dst: DOWN16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:252,1
    - Dst: REMAINDER16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:252,1
    - Dst: ossl_polyval_ghash_hash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:253,1
    - Dst: ossl_polyval_ghash_hash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:255,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_AES_GCM_SIV_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 272
    functionName: aes_gcm_siv_decrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - GSWAP8
    - REMAINDER16
    - memset
    - EVP_EncryptUpdate
    - memcpy
    - aes_gcm_siv_ctr32
    - ossl_polyval_ghash_init
    - DOWN16
    - ossl_polyval_ghash_hash
    - IS16
    - UP16
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_siv_decrypt(PROV_AES_GCM_SIV_CTX *ctx, const unsigned
      char *in,\n                               unsigned char *out, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm_siv_finish
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:281,1
    - Dst: aes_gcm_siv_aad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:285,1
    - Dst: aes_gcm_siv_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:288,1
    - Dst: aes_gcm_siv_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: aes_gcm_siv_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - aes_gcm_siv_decrypt
    - aes_gcm_siv_encrypt
    - aes_gcm_siv_finish
    - aes_gcm_siv_aad
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_siv_cipher(void *vctx, unsigned char *out,\n                              const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: aes_gcm_siv_clean_ctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void aes_gcm_siv_clean_ctx(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:308,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:310,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - vdst
    - vsrc
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: aes_gcm_siv_dup_ctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_copy
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: int aes_gcm_siv_dup_ctx(void *vdst, void *vsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: ossl_prov_cipher_hw_aes_gcm_siv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_GCM_SIV
    signature: PROV_CIPHER_HW_AES_GCM_SIV *ossl_prov_cipher_hw_aes_gcm_siv(size_t
      keybits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:350,1
    - Dst: GSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:352,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:357,1
    - Dst: GSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ctx
    - init_counter
    - out
    - in
    - len
    argTypes:
    - PROV_AES_GCM_SIV_CTX*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 372
    functionName: aes_gcm_siv_ctr32
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
    functionUses: 2
    functionsReached:
    - EVP_EncryptUpdate
    - memcpy
    - GSWAP4
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_siv_ctr32(PROV_AES_GCM_SIV_CTX *ctx, const unsigned char
      *init_counter,\n                             unsigned char *out, const unsigned
      char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:28,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:31,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:33,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - provctx
    - mode
    - kbits
    - blkbits
    - ivbits
    - flags
    - hw
    argTypes:
    - void*
    - int
    - size_t
    - size_t
    - size_t
    - uint64_t
    - PROV_CIPHER_HW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 38
    functionName: ossl_tdes_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_cipher_generic_initkey
    - OSSL_FIPS_IND_INIT
    linkageType: ''
    returnType: void
    signature: "void *ossl_tdes_newctx(void *provctx, int mode, size_t kbits, size_t
      blkbits,\n                       size_t ivbits, uint64_t flags, const PROV_CIPHER_HW
      *hw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:45,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:48,1
    - Dst: OSSL_FIPS_IND_COPY
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:51,1
    - Dst: hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: ossl_tdes_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OSSL_FIPS_IND_COPY
    - OPENSSL_malloc
    - hw::copyctx
    linkageType: ''
    returnType: void
    signature: void *ossl_tdes_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:61,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: ossl_tdes_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void ossl_tdes_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - enc
    argTypes:
    - PROV_TDES_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: tdes_encrypt_check_approved
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_ON_UNAPPROVED
    linkageType: ''
    returnType: int
    signature: int tdes_encrypt_check_approved(PROV_TDES_CTX *ctx, int enc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:84,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:92,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:99,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:104,1
    - Dst: PROV_CIPHER_CTX*::hw::init
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:107,1
    - Dst: ossl_tdes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:111,1
    - Dst: tdes_encrypt_check_approved
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 118
    functionName: tdes_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - memcpy
    - ossl_cipher_generic_initiv
    - tdes_encrypt_check_approved
    - PROV_CIPHER_CTX*::hw::init
    - ossl_tdes_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int tdes_init(void *vctx, const unsigned char *key, size_t keylen,\n
      \                    const unsigned char *iv, size_t ivlen,\n                     const
      OSSL_PARAM params[], int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdes_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: ossl_tdes_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - tdes_init
    linkageType: ''
    returnType: int
    signature: "int ossl_tdes_einit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                   const unsigned char *iv, size_t ivlen,\n                    const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdes_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: ossl_tdes_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - tdes_init
    linkageType: ''
    returnType: int
    signature: "int ossl_tdes_dinit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                   const unsigned char *iv, size_t ivlen,\n                    const
      OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:144,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:146,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:148,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - PROV_CIPHER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: tdes_generatekey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - DES_set_odd_parity
    - RAND_priv_bytes_ex
    linkageType: ''
    returnType: int
    signature: int tdes_generatekey(PROV_CIPHER_CTX *ctx, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:160,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:163,1
    - Dst: tdes_generatekey
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:165,1
    - Dst: OSSL_FIPS_IND_GET_CTX_PARAM
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 155
    functionDepth: 8
    functionLinenumber: 155
    functionLinenumberEnd: 171
    functionName: ossl_tdes_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - ossl_cipher_generic_get_ctx_params
    - OSSL_FIPS_IND_GET_CTX_PARAM
    - tdes_generatekey
    linkageType: ''
    returnType: int
    signature: int ossl_tdes_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_SET_CTX_PARAM
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:179,1
    - Dst: ossl_cipher_generic_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: ossl_tdes_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 1
    functionsReached:
    - ossl_cipher_generic_set_ctx_params
    - OSSL_FIPS_IND_SET_CTX_PARAM
    linkageType: ''
    returnType: int
    signature: int ossl_tdes_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:196,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:198,1
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - params
    - md
    - flags
    - kbits
    - blkbits
    - ivbits
    argTypes:
    - OSSL_PARAM[]
    - unsigned int
    - uint64_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: ossl_tdes_get_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_common.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ossl_cipher_generic_get_params
    - ERR_raise
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: "int ossl_tdes_get_params(OSSL_PARAM params[], unsigned int md, uint64_t
      flags,\n                         size_t kbits, size_t blkbits, size_t ivbits)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:35,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:38,1
    - Dst: ossl_prov_cipher_hw_aes_siv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:43,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - provctx
    - keybits
    - mode
    - flags
    argTypes:
    - void*
    - size_t
    - unsigned int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: aes_siv_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_cipher_hw_aes_siv
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: "void *aes_siv_newctx(void *provctx, size_t keybits, unsigned int mode,\n
      \                           uint64_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_AES_SIV_CTX*::hw::cleanup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:54,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: aes_siv_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - PROV_AES_SIV_CTX*::hw::cleanup
    linkageType: ''
    returnType: void
    signature: void aes_siv_freectx(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:64,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:67,1
    - Dst: PROV_AES_SIV_CTX*::hw::dupctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: siv_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_prov_is_running
    - OPENSSL_malloc
    - PROV_AES_SIV_CTX*::hw::dupctx
    linkageType: ''
    returnType: void
    signature: void *siv_dupctx(void *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:90,1
    - Dst: PROV_AES_SIV_CTX*::hw::initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:93,1
    - Dst: aes_siv_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: siv_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - PROV_AES_SIV_CTX*::hw::initkey
    - ossl_prov_is_running
    - ERR_raise
    - aes_siv_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int siv_init(void *vctx, const unsigned char *key, size_t keylen,\n
      \                   const unsigned char *iv, size_t ivlen,\n                    const
      OSSL_PARAM params[], int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siv_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: siv_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - siv_init
    linkageType: ''
    returnType: int
    signature: "int siv_einit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                    const unsigned char *iv, size_t ivlen,\n                     const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: siv_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: siv_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - siv_init
    linkageType: ''
    returnType: int
    signature: "int siv_dinit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                    const unsigned char *iv, size_t ivlen,\n                     const
      OSSL_PARAM params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:118,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:122,1
    - Dst: PROV_AES_SIV_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: siv_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - PROV_AES_SIV_CTX*::hw::cipher
    linkageType: ''
    returnType: int
    signature: "int siv_cipher(void *vctx, unsigned char *out, size_t *outl,\n                      size_t
      outsize, const unsigned char *in, size_t inl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:139,1
    - Dst: PROV_AES_SIV_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: siv_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - PROV_AES_SIV_CTX*::hw::cipher
    linkageType: ''
    returnType: int
    signature: "int siv_stream_final(void *vctx, unsigned char *out, size_t *outl,\n
      \                           size_t outsize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:156,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:160,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:161,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:165,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:167,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:170,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:171,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 176
    functionName: aes_siv_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - ERR_raise
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int aes_siv_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: aes_siv_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *aes_siv_gettable_ctx_params(ossl_unused void *cctx,\n
      \                                                    ossl_unused void *provctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:196,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:199,1
    - Dst: PROV_AES_SIV_CTX*::hw::settag
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:205,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:209,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:212,1
    - Dst: PROV_AES_SIV_CTX*::hw::setspeed
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:215,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:217,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:221,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 190
    functionDepth: 6
    functionLinenumber: 190
    functionLinenumberEnd: 230
    functionName: aes_siv_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 1
    functionsReached:
    - ossl_param_is_empty
    - OSSL_PARAM_get_uint
    - ERR_raise
    - PROV_AES_SIV_CTX*::hw::setspeed
    - PROV_AES_SIV_CTX*::hw::settag
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int aes_siv_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: aes_siv_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *aes_siv_settable_ctx_params(ossl_unused void *cctx,\n
      \                                                    ossl_unused void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - alg
    - ','
    - lc
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 293
    functionName: IMPLEMENT_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_cipher(alg, lc, UCMODE, flags, kbits, blkbits, ivbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - bctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: chacha20_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c
    functionUses: 0
    functionsReached:
    - CHACHA_U8TOU32
    linkageType: ''
    returnType: int
    signature: "int chacha20_initkey(PROV_CIPHER_CTX *bctx, const uint8_t *key,\n
      \                           size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHACHA_U8TOU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bctx
    argTypes:
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: chacha20_initiv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c
    functionUses: 0
    functionsReached:
    - CHACHA_U8TOU32
    linkageType: ''
    returnType: int
    signature: int chacha20_initiv(PROV_CIPHER_CTX *bctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:88,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:98,1
    - Dst: ChaCha20_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c:99,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - bctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 112
    functionName: chacha20_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c
    functionUses: 0
    functionsReached:
    - memset
    - ChaCha20_ctr32
    linkageType: ''
    returnType: int
    signature: "int chacha20_cipher(PROV_CIPHER_CTX *bctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ossl_prov_cipher_hw_chacha20
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW
    signature: PROV_CIPHER_HW *ossl_prov_cipher_hw_chacha20(size_t keybits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDEA_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_idea_hw.c:28,1
    - Dst: IDEA_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_idea_hw.c:32,1
    - Dst: IDEA_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_idea_hw.c:33,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_idea_hw.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: cipher_hw_idea_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_idea_hw.c
    functionUses: 0
    functionsReached:
    - IDEA_set_encrypt_key
    - OPENSSL_cleanse
    - IDEA_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_idea_initkey(PROV_CIPHER_CTX *ctx,\n                                  const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mode
    - ','
    - UCMODE
    - ','
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: PROV_CIPHER_HW_idea_mode_ex
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_idea_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_idea_mode_ex(mode, UCMODE, fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mode
    - ','
    - UCMODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: PROV_CIPHER_HW_idea_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_idea_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_idea_mode(mode, UCMODE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - in
    - ','
    - out
    - ','
    - ks
    - ','
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: IDEA2_ecb_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_idea_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDEA2_ecb_encrypt(in, out, ks, enc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:29,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:32,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:39,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:46,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:52,1
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 59
    functionName: aes_gcm_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c
    functionUses: 0
    functionsReached:
    - GCM_HW_SET_KEY_CTR_FN
    linkageType: ''
    returnType: int
    signature: "int aes_gcm_initkey(PROV_GCM_CTX *ctx, const unsigned char *key,\n
      \                                  size_t keylen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: AES_GCM_ASM
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:69,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:72,1
    - Dst: AES_gcm_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:75,1
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:82,1
    - Dst: CRYPTO_gcm128_encrypt_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:86,1
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:90,1
    - Dst: AES_GCM_ASM
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:98,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:101,1
    - Dst: AES_gcm_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:104,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:111,1
    - Dst: CRYPTO_gcm128_decrypt_ctr32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:115,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c:119,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - ctx
    - in
    - len
    - out
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 124
    functionName: generic_aes_gcm_cipher_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c
    functionUses: 0
    functionsReached:
    - AES_gcm_decrypt
    - AES_gcm_encrypt
    - CRYPTO_gcm128_decrypt_ctr32
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_encrypt_ctr32
    - CRYPTO_gcm128_encrypt
    - AES_GCM_ASM
    linkageType: ''
    returnType: int
    signature: "int generic_aes_gcm_cipher_update(PROV_GCM_CTX *ctx, const unsigned
      char *in,\n                                         size_t len, unsigned char
      *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: ossl_prov_aes_hw_gcm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_GCM_HW
    signature: PROV_GCM_HW *ossl_prov_aes_hw_gcm(size_t keybits)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:43,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:49,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:54,1
    - Dst: PROV_CIPHER_CTX*::hw::init
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:57,1
    - Dst: sm4_xts_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: sm4_xts_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - sm4_xts_set_ctx_params
    - ossl_prov_is_running
    - ERR_raise
    - ossl_cipher_generic_initiv
    - PROV_CIPHER_CTX*::hw::init
    linkageType: ''
    returnType: int
    signature: "int sm4_xts_init(void *vctx, const unsigned char *key, size_t keylen,\n
      \                       const unsigned char *iv, size_t ivlen,\n                        const
      OSSL_PARAM params[], int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_xts_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: sm4_xts_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - sm4_xts_init
    linkageType: ''
    returnType: int
    signature: "int sm4_xts_einit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                        const unsigned char *iv, size_t ivlen,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sm4_xts_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: sm4_xts_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - sm4_xts_init
    linkageType: ''
    returnType: int
    signature: "int sm4_xts_dinit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                        const unsigned char *iv, size_t ivlen,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:80,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:83,1
    - Dst: ossl_prov_cipher_hw_sm4_xts
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - provctx
    - mode
    - flags
    - kbits
    - blkbits
    - ivbits
    argTypes:
    - void*
    - unsigned int
    - uint64_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: sm4_xts_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_hw_sm4_xts
    - OPENSSL_zalloc
    - ossl_cipher_generic_initkey
    linkageType: ''
    returnType: void
    signature: "void *sm4_xts_newctx(void *provctx, unsigned int mode, uint64_t flags,\n
      \                           size_t kbits, size_t blkbits, size_t ivbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:94,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: sm4_xts_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void sm4_xts_freectx(void *vctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:103,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:114,1
    - Dst: PROV_SM4_XTS_CTX*::base::hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: sm4_xts_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - PROV_SM4_XTS_CTX*::base::hw::copyctx
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *sm4_xts_dupctx(void *vctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:126,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:142,1
    - Dst: CRYPTO_xts128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:149,1
    - Dst: ossl_crypto_xts128gb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 162
    functionName: sm4_xts_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_xts128gb_encrypt
    - ossl_prov_is_running
    - ERR_raise
    - CRYPTO_xts128_encrypt
    linkageType: ''
    returnType: int
    signature: "int sm4_xts_cipher(void *vctx, unsigned char *out, size_t *outl,\n
      \                         size_t outsize, const unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:171,1
    - Dst: sm4_xts_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:175,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: sm4_xts_stream_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - sm4_xts_cipher
    linkageType: ''
    returnType: int
    signature: "int sm4_xts_stream_update(void *vctx, unsigned char *out, size_t *outl,\n
      \                                size_t outsize, const unsigned char *in,\n
      \                                size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: sm4_xts_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int sm4_xts_stream_final(void *vctx, unsigned char *out, size_t *outl,\n
      \                               size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: sm4_xts_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *sm4_xts_settable_ctx_params(ossl_unused void *cctx,\n
      \                                                    ossl_unused void *provctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:208,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:218,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:226,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:227,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:230,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - vxctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 241
    functionName: sm4_xts_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 1
    functionsReached:
    - ossl_param_is_empty
    - ERR_raise
    - OPENSSL_strcasecmp
    - OSSL_PARAM_get_utf8_string_ptr
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int sm4_xts_set_ctx_params(void *vxctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lcmode
    - ','
    - UCMODE
    - ','
    - kbits
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 280
    functionName: IMPLEMENT_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_cipher(lcmode, UCMODE, kbits, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC2_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc2_hw.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: cipher_hw_rc2_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2_hw.c
    functionUses: 0
    functionsReached:
    - RC2_set_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_rc2_initkey(PROV_CIPHER_CTX *ctx,\n                                 const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mode
    - ','
    - UCMODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: PROV_CIPHER_HW_rc2_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc2_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_rc2_mode(mode, UCMODE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:20,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:23,1
    - Dst: ossl_gcm_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:25,1
    - Dst: ossl_prov_aria_hw_gcm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: aria_gcm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c
    functionUses: 0
    functionsReached:
    - ossl_gcm_initctx
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_aria_hw_gcm
    linkageType: ''
    returnType: void
    signature: void *aria_gcm_newctx(void *provctx, size_t keybits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: aria_gcm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aria_gcm_dupctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: aria_gcm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void aria_gcm_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:31,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:34,1
    - Dst: ossl_prov_cipher_hw_aes_gcm_siv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:37,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: ossl_aes_gcm_siv_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - ossl_prov_cipher_hw_aes_gcm_siv
    linkageType: ''
    returnType: void
    signature: void *ossl_aes_gcm_siv_newctx(void *provctx, size_t keybits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:51,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::clean_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:52,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: ossl_aes_gcm_siv_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - PROV_AES_GCM_SIV_CTX*::hw::clean_ctx
    linkageType: ''
    returnType: void
    signature: void ossl_aes_gcm_siv_freectx(void *vctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:61,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:67,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:75,1
    - Dst: UP16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:75,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::dup_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:79,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:85,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:86,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: ossl_aes_gcm_siv_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_clear_free
    - OPENSSL_memdup
    - OPENSSL_free
    - PROV_AES_GCM_SIV_CTX*::hw::dup_ctx
    - UP16
    linkageType: ''
    returnType: void
    signature: void *ossl_aes_gcm_siv_dupctx(void *vctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:104,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:111,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:114,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:117,1
    - Dst: ossl_aes_gcm_siv_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 121
    functionName: ossl_aes_gcm_siv_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - memcpy
    - PROV_AES_GCM_SIV_CTX*::hw::initkey
    - ossl_aes_gcm_siv_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int ossl_aes_gcm_siv_init(void *vctx, const unsigned char *key, size_t
      keylen,\n                                 const unsigned char *iv, size_t ivlen,\n
      \                                const OSSL_PARAM params[], int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aes_gcm_siv_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: ossl_aes_gcm_siv_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - ossl_aes_gcm_siv_init
    linkageType: ''
    returnType: int
    signature: "int ossl_aes_gcm_siv_einit(void *vctx, const unsigned char *key, size_t
      keylen,\n                                  const unsigned char *iv, size_t ivlen,\n
      \                                 const OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aes_gcm_siv_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: ossl_aes_gcm_siv_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - ossl_aes_gcm_siv_init
    linkageType: ''
    returnType: int
    signature: "int ossl_aes_gcm_siv_dinit(void *vctx, const unsigned char *key, size_t
      keylen,\n                                  const unsigned char *iv, size_t ivlen,\n
      \                                 const OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:144,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:148,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: ossl_aes_gcm_siv_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - PROV_AES_GCM_SIV_CTX*::hw::cipher
    linkageType: ''
    returnType: int
    signature: "int ossl_aes_gcm_siv_cipher(void *vctx, unsigned char *out, size_t
      *outl,\n                                   size_t outsize, const unsigned char
      *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:165,1
    - Dst: PROV_AES_GCM_SIV_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: ossl_aes_gcm_siv_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - PROV_AES_GCM_SIV_CTX*::hw::cipher
    linkageType: ''
    returnType: int
    signature: "int ossl_aes_gcm_siv_stream_final(void *vctx, unsigned char *out,
      size_t *outl,\n                                         size_t outsize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:180,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:184,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:185,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:189,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:191,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:194,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:195,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 175
    functionDepth: 6
    functionLinenumber: 175
    functionLinenumberEnd: 200
    functionName: ossl_aes_gcm_siv_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - ERR_raise
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int ossl_aes_gcm_siv_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: ossl_aes_gcm_siv_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ossl_aes_gcm_siv_gettable_ctx_params(ossl_unused void
      *cctx,\n                                                              ossl_unused
      void *provctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:221,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:224,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:228,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:232,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:236,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:238,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:239,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:244,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:248,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c:254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 215
    functionDepth: 6
    functionLinenumber: 215
    functionLinenumberEnd: 259
    functionName: ossl_aes_gcm_siv_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 1
    functionsReached:
    - ossl_param_is_empty
    - OSSL_PARAM_get_uint
    - ERR_raise
    - memcpy
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int ossl_aes_gcm_siv_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: ossl_aes_gcm_siv_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ossl_aes_gcm_siv_settable_ctx_params(ossl_unused void
      *cctx,\n                                                              ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - alg
    - ','
    - lc
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 313
    functionName: IMPLEMENT_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_cipher(alg, lc, UCMODE, flags, kbits, blkbits, ivbits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_hw.c:21,1
    - Dst: ossl_aria_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_hw.c:23,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_hw.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - dat
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: cipher_hw_aria_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_hw.c
    functionUses: 0
    functionsReached:
    - ossl_aria_set_decrypt_key
    - ossl_aria_set_encrypt_key
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aria_initkey(PROV_CIPHER_CTX *dat,\n                                  const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: PROV_CIPHER_HW_aria_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_aria_mode(mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:46,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:47,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - buf
    - buflen
    - blocksize
    - in
    - inlen
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts:
    - condition: (*buflen <= blocksize)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c
    - condition: (blocksize > 0 && (blocksize & (blocksize - 1)) == 0)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: ossl_cipher_fillblock
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: 1
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_cipher_fillblock(unsigned char *buf, size_t *buflen,\n
      \                            size_t blocksize,\n                             const
      unsigned char **in, size_t *inlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:70,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - buf
    - buflen
    - blocksize
    - in
    - inlen
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: ossl_cipher_trailingdata
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_trailingdata(unsigned char *buf, size_t *buflen, size_t
      blocksize,\n                             const unsigned char **in, size_t *inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - buflen
    - blocksize
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: ossl_cipher_padblock
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_cipher_padblock(unsigned char *buf, size_t *buflen, size_t
      blocksize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:97,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - buflen
    - blocksize
    argTypes:
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 118
    functionName: ossl_cipher_unpadblock
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_unpadblock(unsigned char *buf, size_t *buflen, size_t
      blocksize)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_cbc_remove_padding_and_mac
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:151,1
    - Dst: tls1_cbc_remove_padding_and_mac
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 9
    argNames:
    - libctx
    - tlsversion
    - buf
    - buflen
    - blocksize
    - mac
    - alloced
    - macsize
    - aead
    argTypes:
    - OSSL_LIB_CTX*
    - unsigned int
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char**
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 173
    functionName: ossl_cipher_tlsunpadblock
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_block.c
    functionUses: 0
    functionsReached:
    - ssl3_cbc_remove_padding_and_mac
    - tls1_cbc_remove_padding_and_mac
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_tlsunpadblock(OSSL_LIB_CTX *libctx, unsigned int tlsversion,\n
      \                             unsigned char *buf, size_t *buflen,\n                              size_t
      blocksize,\n                              unsigned char **mac, int *alloced,
      size_t macsize,\n                              int aead)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:22,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:25,1
    - Dst: ossl_ccm_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:27,1
    - Dst: ossl_prov_aria_hw_ccm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - provctx
    - keybits
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: aria_ccm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c
    functionUses: 0
    functionsReached:
    - ossl_ccm_initctx
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_aria_hw_ccm
    linkageType: ''
    returnType: void
    signature: void *aria_ccm_newctx(void *provctx, size_t keybits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: aria_ccm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aria_ccm_dupctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: aria_ccm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void aria_ccm_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fn_set_enc_key
    - ','
    - fn_set_dec_key
    - ','
    - fn_block_enc
    - ','
    - fn_block_dec
    - ','
    - fn_stream_enc
    - ','
    - fn_stream_dec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: OCB_SET_KEY_FN
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "OCB_SET_KEY_FN(fn_set_enc_key, fn_set_dec_key,                         \\\n
      \                      fn_block_enc, fn_block_dec,                             \\\n
      \                      fn_stream_enc, fn_stream_dec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:44,1
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:51,1
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: cipher_hw_aes_ocb_generic_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_ocb_generic_initkey(PROV_CIPHER_CTX *vctx,\n                                             const
      unsigned char *key,\n                                             size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: cipher_hw_aes_ocb_aesni_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_ocb_aesni_initkey(PROV_CIPHER_CTX *vctx,\n                                           const
      unsigned char *key,\n                                           size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: PROV_CIPHER_HW_declare
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_declare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: PROV_CIPHER_HW_select
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_select()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: cipher_hw_aes_ocb_t4_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_ocb_t4_initkey(PROV_CIPHER_CTX *vctx,\n                                        const
      unsigned char *key,\n                                        size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: PROV_CIPHER_HW_declare
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_declare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: PROV_CIPHER_HW_select
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_select()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: cipher_hw_aes_ocb_rv64i_zknd_zkne_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_ocb_rv64i_zknd_zkne_initkey(PROV_CIPHER_CTX *vctx,\n
      \                                                    const unsigned char *key,\n
      \                                                    size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:128,1
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 138
    functionName: cipher_hw_aes_ocb_rv64i_zvkned_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_ocb_rv64i_zvkned_initkey(PROV_CIPHER_CTX *vctx,\n
      \                                                    const unsigned char *key,\n
      \                                                    size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: PROV_CIPHER_HW_declare
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_declare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: PROV_CIPHER_HW_select
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_select()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: cipher_hw_aes_ocb_rv32i_zknd_zkne_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_ocb_rv32i_zknd_zkne_initkey(PROV_CIPHER_CTX *vctx,\n
      \                                                    const unsigned char *key,\n
      \                                                    size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OCB_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: cipher_hw_aes_ocb_rv32i_zbkb_zknd_zkne_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached:
    - OCB_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_ocb_rv32i_zbkb_zknd_zkne_initkey(PROV_CIPHER_CTX
      *vctx,\n                                                          const unsigned
      char *key,\n                                                          size_t
      keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: PROV_CIPHER_HW_declare
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_declare()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: PROV_CIPHER_HW_select
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_select()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_HW_select
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: ossl_prov_cipher_hw_aes_ocb
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ocb_hw.c
    functionUses: 1
    functionsReached:
    - PROV_CIPHER_HW_select
    linkageType: ''
    returnType: PROV_CIPHER_HW
    signature: PROV_CIPHER_HW *ossl_prov_cipher_hw_aes_ocb(size_t keybits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_cast5.c:32,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_cast5.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: cast5_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cast5.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void cast5_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_cast5.c:41,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_cast5.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: cast5_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cast5.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *cast5_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEED_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_seed_hw.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: cipher_hw_seed_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_seed_hw.c
    functionUses: 0
    functionsReached:
    - SEED_set_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_seed_initkey(PROV_CIPHER_CTX *ctx,\n                                  const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mode
    - ','
    - UCMODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: PROV_CIPHER_HW_seed_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_seed_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_seed_mode(mode, UCMODE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: CHACHA_U32TOU8
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHACHA_U32TOU8(ct, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:45,1
    - Dst: ossl_prov_cipher_hw_chacha20
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CHACHA20_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: ossl_chacha20_initctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_initkey
    - ossl_prov_cipher_hw_chacha20
    linkageType: ''
    returnType: void
    signature: void ossl_chacha20_initctx(PROV_CHACHA20_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:57,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:60,1
    - Dst: ossl_chacha20_initctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: chacha20_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_chacha20_initctx
    linkageType: ''
    returnType: void
    signature: void *chacha20_newctx(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:71,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: chacha20_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void chacha20_freectx(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:82,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:84,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: chacha20_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *chacha20_dupctx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: chacha20_get_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: int chacha20_get_params(OSSL_PARAM params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:109,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:110,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:111,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:114,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:116,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:119,1
    - Dst: CHACHA_U32TOU8
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:121,1
    - Dst: CHACHA_U32TOU8
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:122,1
    - Dst: CHACHA_U32TOU8
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:123,1
    - Dst: CHACHA_U32TOU8
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:124,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:125,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 131
    functionName: chacha20_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - CHACHA_U32TOU8
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int chacha20_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: chacha20_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *chacha20_gettable_ctx_params(ossl_unused void *cctx,\n
      \                                              ossl_unused void *provctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:150,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:153,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:156,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:160,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:164,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:167,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 6
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: chacha20_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached:
    - ossl_param_is_empty
    - OSSL_PARAM_locate_const
    - ERR_raise
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int chacha20_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: chacha20_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *chacha20_settable_ctx_params(ossl_unused void *cctx,\n
      \                                              ossl_unused void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:196,1
    - Dst: PROV_CIPHER_HW_CHACHA20*::initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:201,1
    - Dst: chacha20_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 189
    functionDepth: 7
    functionLinenumber: 189
    functionLinenumberEnd: 206
    functionName: ossl_chacha20_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 2
    functionsReached:
    - PROV_CIPHER_HW_CHACHA20*::initiv
    - ossl_cipher_generic_einit
    - chacha20_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int ossl_chacha20_einit(void *vctx, const unsigned char *key, size_t
      keylen,\n                        const unsigned char *iv, size_t ivlen,\n                        const
      OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:215,1
    - Dst: PROV_CIPHER_HW_CHACHA20*::initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:220,1
    - Dst: chacha20_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 7
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: ossl_chacha20_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_chacha20.c
    functionUses: 2
    functionsReached:
    - PROV_CIPHER_HW_CHACHA20*::initiv
    - ossl_cipher_generic_dinit
    - chacha20_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int ossl_chacha20_dinit(void *vctx, const unsigned char *key, size_t
      keylen,\n                        const unsigned char *iv, size_t ivlen,\n                        const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:37,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: rc5_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void rc5_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:46,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: rc5_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *rc5_dupctx(void *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:61,1
    - Dst: rc5_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: rc5_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 0
    functionsReached:
    - rc5_set_ctx_params
    - ossl_cipher_generic_einit
    linkageType: ''
    returnType: int
    signature: "int rc5_einit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:70,1
    - Dst: rc5_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: rc5_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_dinit
    - rc5_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int rc5_dinit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:80,1
    - Dst: ossl_cipher_var_keylen_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:83,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:86,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:91,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: rc5_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 2
    functionsReached:
    - ossl_param_is_empty
    - ossl_cipher_var_keylen_set_ctx_params
    - ERR_raise
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int rc5_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:120,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:122,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: rc5_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_uint
    - ERR_raise
    - ossl_cipher_generic_get_ctx_params
    linkageType: ''
    returnType: int
    signature: int rc5_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - alg
    - ','
    - UCALG
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 178
    functionName: IMPLEMENT_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_cipher(alg, UCALG, lcmode, UCMODE, flags, kbits,             \\\n
      \                        blkbits, ivbits, typ)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - key
    - bytes
    - enc
    argTypes:
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: aes_xts_check_keys_differ
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: "int aes_xts_check_keys_differ(const unsigned char *key, size_t bytes,\n
      \                                    int enc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:79,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:90,1
    - Dst: aes_xts_check_keys_differ
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:93,1
    - Dst: PROV_CIPHER_CTX*::hw::init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:95,1
    - Dst: aes_xts_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionName: aes_xts_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - aes_xts_set_ctx_params
    - ossl_cipher_generic_initiv
    - PROV_CIPHER_CTX*::hw::init
    - aes_xts_check_keys_differ
    linkageType: ''
    returnType: int
    signature: "int aes_xts_init(void *vctx, const unsigned char *key, size_t keylen,\n
      \                       const unsigned char *iv, size_t ivlen,\n                        const
      OSSL_PARAM params[], int enc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s390x_aes_xts_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:106,1
    - Dst: aes_xts_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: aes_xts_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - s390x_aes_xts_einit
    - aes_xts_init
    linkageType: ''
    returnType: int
    signature: "int aes_xts_einit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                        const unsigned char *iv, size_t ivlen,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s390x_aes_xts_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:117,1
    - Dst: aes_xts_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: aes_xts_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - aes_xts_init
    - s390x_aes_xts_dinit
    linkageType: ''
    returnType: int
    signature: "int aes_xts_dinit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                        const unsigned char *iv, size_t ivlen,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:128,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:131,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:133,1
    - Dst: ossl_prov_cipher_hw_aes_xts
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - provctx
    - mode
    - flags
    - kbits
    - blkbits
    - ivbits
    argTypes:
    - void*
    - unsigned int
    - uint64_t
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: aes_xts_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_cipher_generic_initkey
    - ossl_prov_cipher_hw_aes_xts
    linkageType: ''
    returnType: void
    signature: "void *aes_xts_newctx(void *provctx, unsigned int mode, uint64_t flags,\n
      \                           size_t kbits, size_t blkbits, size_t ivbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:144,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: aes_xts_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_xts_freectx(void *vctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:153,1
    - Dst: s390x_aes_xts_dupctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:158,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:169,1
    - Dst: PROV_AES_XTS_CTX*::base::hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 174
    functionName: aes_xts_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - ossl_prov_is_running
    - s390x_aes_xts_dupctx
    - OPENSSL_malloc
    - PROV_AES_XTS_CTX*::base::hw::copyctx
    linkageType: ''
    returnType: void
    signature: void *aes_xts_dupctx(void *vctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s390x_aes_xts_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:183,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:202,1
    - Dst: CRYPTO_xts128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:208,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 214
    functionName: aes_xts_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - s390x_aes_xts_cipher
    - ossl_prov_is_running
    - ERR_raise
    - CRYPTO_xts128_encrypt
    linkageType: ''
    returnType: int
    signature: "int aes_xts_cipher(void *vctx, unsigned char *out, size_t *outl,\n
      \                         size_t outsize, const unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:223,1
    - Dst: aes_xts_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:227,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: aes_xts_stream_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - aes_xts_cipher
    linkageType: ''
    returnType: int
    signature: "int aes_xts_stream_update(void *vctx, unsigned char *out, size_t *outl,\n
      \                                size_t outsize, const unsigned char *in,\n
      \                                size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: aes_xts_stream_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int aes_xts_stream_final(void *vctx, unsigned char *out, size_t *outl,\n
      \                               size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: aes_xts_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *aes_xts_settable_ctx_params(ossl_unused void *cctx,\n
      \                                                    ossl_unused void *provctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:260,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:263,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:267,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 255
    functionDepth: 6
    functionLinenumber: 255
    functionLinenumberEnd: 277
    functionName: aes_xts_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 1
    functionsReached:
    - ossl_param_is_empty
    - OSSL_PARAM_locate_const
    - ERR_raise
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int aes_xts_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lcmode
    - ','
    - UCMODE
    - ','
    - kbits
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 316
    functionName: IMPLEMENT_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_xts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_cipher(lcmode, UCMODE, kbits, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_cast5_hw.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: cipher_hw_cast5_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cast5_hw.c
    functionUses: 0
    functionsReached:
    - CAST_set_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_cast5_initkey(PROV_CIPHER_CTX *ctx,\n                                   const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mode
    - ','
    - UCMODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: PROV_CIPHER_HW_cast_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cast5_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_cast_mode(mode, UCMODE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:37,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:40,1
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - mode
    - flags
    - hw
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - unsigned int
    - uint64_t
    - PROV_CIPHER_HW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: des_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_cipher_generic_initkey
    linkageType: ''
    returnType: void
    signature: "void *des_newctx(void *provctx, size_t kbits, size_t blkbits,\n                        size_t
      ivbits, unsigned int mode, uint64_t flags,\n                        const PROV_CIPHER_HW
      *hw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:52,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:55,1
    - Dst: PROV_DES_CTX*::base::hw::copyctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: des_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - PROV_DES_CTX*::base::hw::copyctx
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *des_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:67,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: des_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void des_freectx(void *vctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:77,1
    - Dst: ossl_cipher_generic_initiv
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:85,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:89,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:94,1
    - Dst: PROV_CIPHER_CTX*::hw::init
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:97,1
    - Dst: ossl_cipher_generic_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    - enc
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 102
    functionName: des_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 2
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - memcpy
    - ossl_cipher_generic_set_ctx_params
    - ossl_cipher_generic_initiv
    - PROV_CIPHER_CTX*::hw::init
    linkageType: ''
    returnType: int
    signature: "int des_init(void *vctx, const unsigned char *key, size_t keylen,\n
      \                   const unsigned char *iv, size_t ivlen,\n                    const
      OSSL_PARAM params[], int enc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: des_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 0
    functionsReached:
    - des_init
    linkageType: ''
    returnType: int
    signature: "int des_einit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                    const unsigned char *iv, size_t ivlen,\n                     const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: des_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: des_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 0
    functionsReached:
    - des_init
    linkageType: ''
    returnType: int
    signature: "int des_dinit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                    const unsigned char *iv, size_t ivlen,\n                     const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:124,1
    - Dst: DES_set_odd_parity
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - ptr
    argTypes:
    - PROV_CIPHER_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 7
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: des_generatekey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 1
    functionsReached:
    - DES_set_odd_parity
    - RAND_priv_bytes_ex
    linkageType: ''
    returnType: int
    signature: int des_generatekey(PROV_CIPHER_CTX *ctx, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:139,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:142,1
    - Dst: des_generatekey
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_des.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 8
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: des_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - des_generatekey
    - ERR_raise
    - ossl_cipher_generic_get_ctx_params
    linkageType: ''
    returnType: int
    signature: int des_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - type
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 189
    functionName: IMPLEMENT_des_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_des_cipher(type, lcmode, UCMODE, flags,                      \\\n
      \                            kbits, blkbits, ivbits, block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_setiv
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - iv
    - ivlen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: ossl_gcm_setiv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_setiv
    linkageType: ''
    returnType: int
    signature: int ossl_gcm_setiv(PROV_GCM_CTX *ctx, const unsigned char *iv, size_t
      ivlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_aad
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - aad
    - aad_len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: ossl_gcm_aad_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_aad
    linkageType: ''
    returnType: int
    signature: "int ossl_gcm_aad_update(PROV_GCM_CTX *ctx, const unsigned char *aad,\n
      \                       size_t aad_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:30,1
    - Dst: CRYPTO_gcm128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - in
    - len
    - out
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: ossl_gcm_cipher_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_decrypt
    - CRYPTO_gcm128_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_gcm_cipher_update(PROV_GCM_CTX *ctx, const unsigned char
      *in,\n                           size_t len, unsigned char *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_gcm128_tag
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:42,1
    - Dst: CRYPTO_gcm128_finish
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - tag
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: ossl_gcm_cipher_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_gcm128_finish
    - CRYPTO_gcm128_tag
    linkageType: ''
    returnType: int
    signature: int ossl_gcm_cipher_final(PROV_GCM_CTX *ctx, unsigned char *tag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_GCM_CTX*::hw::aadupdate
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:58,1
    - Dst: PROV_GCM_CTX*::hw::cipherupdate
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:60,1
    - Dst: PROV_GCM_CTX*::hw::cipherfinal
      Src: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 8
    argNames:
    - ctx
    - aad
    - aad_len
    - in
    - in_len
    - out
    - tag
    - tag_len
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: ossl_gcm_one_shot
    functionSourceFile: /src/openssl/providers/implementations/ciphers/ciphercommon_gcm_hw.c
    functionUses: 0
    functionsReached:
    - PROV_GCM_CTX*::hw::cipherfinal
    - PROV_GCM_CTX*::hw::aadupdate
    - PROV_GCM_CTX*::hw::cipherupdate
    linkageType: ''
    returnType: int
    signature: "int ossl_gcm_one_shot(PROV_GCM_CTX *ctx, unsigned char *aad, size_t
      aad_len,\n                      const unsigned char *in, size_t in_len,\n                      unsigned
      char *out, unsigned char *tag, size_t tag_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_idea.c:30,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_idea.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: idea_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_idea.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void idea_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_idea.c:39,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_idea.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: idea_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_idea.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *idea_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCM_HW_SET_KEY_CTR_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm_hw.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_GCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 24
    functionName: aria_gcm_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm_hw.c
    functionUses: 0
    functionsReached:
    - GCM_HW_SET_KEY_CTR_FN
    linkageType: ''
    returnType: int
    signature: "int aria_gcm_initkey(PROV_GCM_CTX *ctx, const unsigned char *key,\n
      \                           size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ossl_prov_aria_hw_gcm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_gcm_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_GCM_HW
    signature: PROV_GCM_HW *ossl_prov_aria_hw_gcm(size_t keybits)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:45,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:47,1
    - Dst: memmove
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:54,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:57,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:59,1
    - Dst: BUF_reverse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:61,1
    - Dst: BUF_reverse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:62,1
    - Dst: BUF_reverse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:63,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:65,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:66,1
    - Dst: ossl_sha1
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:67,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:68,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:70,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:71,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:72,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:73,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 78
    functionName: des_ede3_unwrap
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: 1
    functionsReached:
    - BUF_reverse
    - memcpy
    - CRYPTO_memcmp
    - memmove
    - PROV_CIPHER_CTX*::hw::cipher
    - OPENSSL_cleanse
    - ossl_sha1
    linkageType: ''
    returnType: int
    signature: "int des_ede3_unwrap(PROV_CIPHER_CTX *ctx, unsigned char *out,\n                           const
      unsigned char *in, size_t inl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:94,1
    - Dst: ossl_sha1
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:96,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:98,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:99,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:101,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:103,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:105,1
    - Dst: BUF_reverse
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:106,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:107,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 7
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: des_ede3_wrap
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: 2
    functionsReached:
    - BUF_reverse
    - memcpy
    - memmove
    - PROV_CIPHER_CTX*::hw::cipher
    - RAND_bytes_ex
    - OPENSSL_cleanse
    - ossl_sha1
    linkageType: ''
    returnType: int
    signature: "int des_ede3_wrap(PROV_CIPHER_CTX *ctx, unsigned char *out,\n                         const
      unsigned char *in, size_t inl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_ede3_wrap
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:123,1
    - Dst: des_ede3_unwrap
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: tdes_wrap_cipher_internal
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: 0
    functionsReached:
    - des_ede3_wrap
    - des_ede3_unwrap
    linkageType: ''
    returnType: int
    signature: "int tdes_wrap_cipher_internal(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                                     const unsigned char *in, size_t
      inl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:136,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:140,1
    - Dst: tdes_wrap_cipher_internal
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: tdes_wrap_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - tdes_wrap_cipher_internal
    linkageType: ''
    returnType: int
    signature: "int tdes_wrap_cipher(void *vctx,\n                            unsigned
      char *out, size_t *outl, size_t outsize,\n                            const
      unsigned char *in, size_t inl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:160,1
    - Dst: tdes_wrap_cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: tdes_wrap_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - tdes_wrap_cipher
    linkageType: ''
    returnType: int
    signature: "int tdes_wrap_update(void *vctx, unsigned char *out, size_t *outl,\n
      \                           size_t outsize, const unsigned char *in,\n                            size_t
      inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 209
    functionName: IMPLEMENT_WRAP_CIPHER
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_wrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_WRAP_CIPHER(flags, kbits, blkbits, ivbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fn_set_enc_key
    - ','
    - fn_set_dec_key
    - ','
    - fn_block_enc
    - ','
    - fn_block_dec
    - ','
    - fn_stream
    - ','
    - fn_stream_gb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 31
    functionName: XTS_SET_KEY_FN
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "XTS_SET_KEY_FN(fn_set_enc_key, fn_set_dec_key,                         \\\n
      \                      fn_block_enc, fn_block_dec,                             \\\n
      \                      fn_stream, fn_stream_gb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c:41,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c:50,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c:59,1
    - Dst: XTS_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: cipher_hw_sm4_xts_generic_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c
    functionUses: 0
    functionsReached:
    - XTS_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_sm4_xts_generic_initkey(PROV_CIPHER_CTX *ctx,\n                                             const
      unsigned char *key,\n                                             size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: cipher_hw_sm4_xts_copyctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cipher_hw_sm4_xts_copyctx(PROV_CIPHER_CTX *dst,\n                                      const
      PROV_CIPHER_CTX *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: ossl_prov_cipher_hw_sm4_xts
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_xts_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW
    signature: PROV_CIPHER_HW *ossl_prov_cipher_hw_sm4_xts(size_t keybits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fn_set_enc_key
    - ','
    - fn_blk
    - ','
    - fn_ccm_enc
    - ','
    - fn_ccm_dec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: AES_HW_CCM_SET_KEY_FN
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_HW_CCM_SET_KEY_FN(fn_set_enc_key, fn_blk, fn_ccm_enc, fn_ccm_dec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AES_HW_CCM_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c:35,1
    - Dst: AES_HW_CCM_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c:41,1
    - Dst: AES_HW_CCM_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: ccm_generic_aes_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c
    functionUses: 0
    functionsReached:
    - AES_HW_CCM_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int ccm_generic_aes_initkey(PROV_CCM_CTX *ctx, const unsigned char
      *key,\n                                   size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ossl_prov_aes_hw_ccm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_ccm_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_CCM_HW
    signature: PROV_CCM_HW *ossl_prov_aes_hw_ccm(size_t keybits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_t4_key_expand
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:30,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: cipher_hw_des_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached:
    - DES_set_key_unchecked
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_des_initkey(PROV_CIPHER_CTX *ctx,\n                                 const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: cipher_hw_des_copyctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cipher_hw_des_copyctx(PROV_CIPHER_CTX *dst,\n                                  const
      PROV_CIPHER_CTX *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ecb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: cipher_hw_des_ecb_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached:
    - DES_ecb_encrypt
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_des_ecb_cipher(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                   const unsigned char *in, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:77,1
    - Dst: DES_ncbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: cipher_hw_des_cbc_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached:
    - DES_ncbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_des_cbc_cipher(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                   const unsigned char *in, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:96,1
    - Dst: DES_ofb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: cipher_hw_des_ofb64_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached:
    - DES_ofb64_encrypt
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_des_ofb64_cipher(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                                      const unsigned char *in, size_t
      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: cipher_hw_des_cfb64_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached:
    - DES_cfb64_encrypt
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_des_cfb64_cipher(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                                      const unsigned char *in, size_t
      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 161
    functionName: cipher_hw_des_cfb1_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached:
    - DES_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_des_cfb1_cipher(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                                     const unsigned char *in, size_t
      inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:169,1
    - Dst: DES_cfb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: cipher_hw_des_cfb8_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached:
    - DES_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_des_cfb8_cipher(PROV_CIPHER_CTX *ctx, unsigned char
      *out,\n                                     const unsigned char *in, size_t
      inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: PROV_CIPHER_HW_des_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_des_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_des_mode(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:40,1
    - Dst: MD5_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - bctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: cipher_hw_rc4_hmac_md5_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: 0
    functionsReached:
    - RC4_set_key
    - MD5_Init
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_rc4_hmac_md5_initkey(PROV_CIPHER_CTX *bctx,\n                                          const
      uint8_t *key, size_t keylen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:77,1
    - Dst: RC4
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:78,1
    - Dst: rc4_md5_enc
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:80,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:94,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:98,1
    - Dst: MD5_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:101,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:103,1
    - Dst: MD5_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:104,1
    - Dst: RC4
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:106,1
    - Dst: RC4
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:108,1
    - Dst: RC4
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:123,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:124,1
    - Dst: rc4_md5_enc
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:126,1
    - Dst: RC4
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:142,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:145,1
    - Dst: MD5_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:148,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:150,1
    - Dst: MD5_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:151,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:153,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:156,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 4
    argNames:
    - bctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 163
    functionName: cipher_hw_rc4_hmac_md5_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: 0
    functionsReached:
    - RC4
    - memcpy
    - CRYPTO_memcmp
    - MD5_Update
    - rc4_md5_enc
    - MD5_Final
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_rc4_hmac_md5_cipher(PROV_CIPHER_CTX *bctx,\n                                         unsigned
      char *out,\n                                         const unsigned char *in,
      size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - bctx
    - aad
    - aad_len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 188
    functionName: cipher_hw_rc4_hmac_md5_tls_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: 0
    functionsReached:
    - MD5_Update
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_rc4_hmac_md5_tls_init(PROV_CIPHER_CTX *bctx,\n                                           unsigned
      char *aad, size_t aad_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:198,1
    - Dst: MD5_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:201,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:202,1
    - Dst: MD5_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:203,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:205,1
    - Dst: MD5_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:210,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:211,1
    - Dst: MD5_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:215,1
    - Dst: MD5_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:216,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - bctx
    - key
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 219
    functionName: cipher_hw_rc4_hmac_md5_init_mackey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: 0
    functionsReached:
    - memset
    - MD5_Init
    - memcpy
    - MD5_Update
    - MD5_Final
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void cipher_hw_rc4_hmac_md5_init_mackey(PROV_CIPHER_CTX *bctx,\n                                               const
      unsigned char *key,\n                                               size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: ossl_prov_cipher_hw_rc4_hmac_md5
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW
    signature: PROV_CIPHER_HW *ossl_prov_cipher_hw_rc4_hmac_md5(size_t keybits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BF_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_blowfish_hw.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: cipher_hw_blowfish_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_blowfish_hw.c
    functionUses: 0
    functionsReached:
    - BF_set_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_blowfish_initkey(PROV_CIPHER_CTX *ctx,\n                                      const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mode
    - ','
    - UCMODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: PROV_CIPHER_HW_blowfish_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_blowfish_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_blowfish_mode(mode, UCMODE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC5_32_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc5_hw.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: cipher_hw_rc5_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5_hw.c
    functionUses: 0
    functionsReached:
    - RC5_32_set_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_rc5_initkey(PROV_CIPHER_CTX *ctx,\n                                 const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mode
    - ','
    - UCMODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: PROV_CIPHER_HW_rc5_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc5_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_rc5_mode(mode, UCMODE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: UP16
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UP16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DOWN16
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOWN16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: REMAINDER16
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMAINDER16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: IS16
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: GSWAP4
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline GSWAP4(uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h:73,1
    - Dst: GSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: GSWAP8
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv.h
    functionUses: 2
    functionsReached:
    - GSWAP4
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline GSWAP8(uint64_t n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:28,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:29,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:35,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:36,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:39,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:40,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:43,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:44,1
    - Dst: ossl_siv128_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: aes_siv_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - ossl_siv128_init
    linkageType: ''
    returnType: int
    signature: int aes_siv_initkey(void *vctx, const unsigned char *key, size_t keylen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:64,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:66,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:67,1
    - Dst: ossl_siv128_copy_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - in_vctx
    - out_vctx
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: aes_siv_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_free
    - EVP_CIPHER_up_ref
    - ossl_siv128_copy_ctx
    linkageType: ''
    returnType: int
    signature: int aes_siv_dupctx(void *in_vctx, void *out_vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_set_tag
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vctx
    - tag
    - tagl
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: aes_siv_settag
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: 0
    functionsReached:
    - ossl_siv128_set_tag
    linkageType: ''
    returnType: int
    signature: int aes_siv_settag(void *vctx, const unsigned char *tag, size_t tagl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_speed
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vctx
    - speed
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: aes_siv_setspeed
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: 0
    functionsReached:
    - ossl_siv128_speed
    linkageType: ''
    returnType: void
    signature: void aes_siv_setspeed(void *vctx, int speed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_cleanup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:102,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:103,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: aes_siv_cleanup
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_free
    - ossl_siv128_cleanup
    linkageType: ''
    returnType: void
    signature: void aes_siv_cleanup(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_siv128_finish
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:115,1
    - Dst: ossl_siv128_aad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:119,1
    - Dst: ossl_siv128_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:122,1
    - Dst: ossl_siv128_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: aes_siv_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: 0
    functionsReached:
    - ossl_siv128_finish
    - ossl_siv128_encrypt
    - ossl_siv128_decrypt
    - ossl_siv128_aad
    linkageType: ''
    returnType: int
    signature: "int aes_siv_cipher(void *vctx, unsigned char *out,\n                          const
      unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: ossl_prov_cipher_hw_aes_siv
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_siv_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_SIV
    signature: PROV_CIPHER_HW_AES_SIV *ossl_prov_cipher_hw_aes_siv(size_t keybits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fn_set_enc_key
    - ','
    - fn_blk
    - ','
    - fn_ccm_enc
    - ','
    - fn_ccm_dec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: SM4_HW_CCM_SET_KEY_FN
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SM4_HW_CCM_SET_KEY_FN(fn_set_enc_key, fn_blk, fn_ccm_enc, fn_ccm_dec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SM4_HW_CCM_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm_hw.c:32,1
    - Dst: SM4_HW_CCM_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm_hw.c:38,1
    - Dst: SM4_HW_CCM_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm_hw.c:45,1
    - Dst: SM4_HW_CCM_SET_KEY_FN
      Src: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm_hw.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: ccm_sm4_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm_hw.c
    functionUses: 0
    functionsReached:
    - SM4_HW_CCM_SET_KEY_FN
    linkageType: ''
    returnType: int
    signature: "int ccm_sm4_initkey(PROV_CCM_CTX *ctx,\n                           const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ossl_prov_sm4_hw_ccm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_sm4_ccm_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_CCM_HW
    signature: PROV_CCM_HW *ossl_prov_sm4_hw_ccm(size_t keybits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha512_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha512_etm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha512_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA_ETM
    signature: PROV_CIPHER_HW_AES_HMAC_SHA_ETM *ossl_prov_cipher_hw_aes_cbc_hmac_sha512_etm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha512_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha512_etm(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aes_v8_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:54,1
    - Dst: aes_v8_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:56,1
    - Dst: SHA512_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: hwaes_cbc_hmac_sha512_init_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached:
    - SHA512_Init
    - aes_v8_set_decrypt_key
    - aes_v8_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int hwaes_cbc_hmac_sha512_init_key(PROV_CIPHER_CTX *vctx,\n                                          const
      unsigned char *key,\n                                          size_t keylen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA512_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:75,1
    - Dst: sha512_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:84,1
    - Dst: SHA512_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA512_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 95
    functionName: sha512_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached:
    - sha512_block_data_order
    - SHA512_Update
    linkageType: ''
    returnType: void
    signature: void sha512_update(SHA512_CTX *c, const void *data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - vctx
    argTypes:
    - CIPH_DIGEST*
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: ciph_digest_arg_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ciph_digest_arg_init(CIPH_DIGEST *arg, PROV_CIPHER_CTX *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ciph_digest_arg_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:119,1
    - Dst: HWAES_ENC_CBC_SHA512_ETM
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:128,1
    - Dst: HWAES_DEC_CBC_SHA512_ETM
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:131,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: hwaes_cbc_hmac_sha512_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached:
    - ciph_digest_arg_init
    - ERR_raise
    - HWAES_DEC_CBC_SHA512_ETM
    - HWAES_ENC_CBC_SHA512_ETM
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: "int hwaes_cbc_hmac_sha512_etm(PROV_CIPHER_CTX *vctx,\n                                     unsigned
      char *out,\n                                     const unsigned char *in, size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hwaes_cbc_hmac_sha512_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: hwaes_cbc_hmac_sha512_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached:
    - hwaes_cbc_hmac_sha512_etm
    linkageType: ''
    returnType: int
    signature: "int hwaes_cbc_hmac_sha512_cipher(PROV_CIPHER_CTX *vctx,\n                                        unsigned
      char *out,\n                                        const unsigned char *in,
      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:155,1
    - Dst: SHA512_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:158,1
    - Dst: sha512_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:159,1
    - Dst: SHA512_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:160,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:162,1
    - Dst: SHA512_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:167,1
    - Dst: sha512_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:168,1
    - Dst: SHA512_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:172,1
    - Dst: sha512_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:173,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vctx
    - mackey
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 176
    functionName: hwaes_cbc_hmac_sha512_set_mac_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached:
    - SHA512_Init
    - memset
    - SHA512_Final
    - memcpy
    - sha512_update
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void hwaes_cbc_hmac_sha512_set_mac_key(void *vctx,\n                                              const
      unsigned char *mackey,\n                                              size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha512_etm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha512_etm_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA_ETM
    signature: PROV_CIPHER_HW_AES_HMAC_SHA_ETM *ossl_prov_cipher_hw_aes_cbc_hmac_sha512_etm(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_aria_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c:21,1
    - Dst: CRYPTO_ccm128_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CCM_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: ccm_aria_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c
    functionUses: 0
    functionsReached:
    - CRYPTO_ccm128_init
    - ossl_aria_set_encrypt_key
    linkageType: ''
    returnType: int
    signature: "int ccm_aria_initkey(PROV_CCM_CTX *ctx,\n                            const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ossl_prov_aria_hw_ccm
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aria_ccm_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_CCM_HW
    signature: PROV_CCM_HW *ossl_prov_aria_hw_ccm(size_t keybits)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: HWAES_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:32,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:47,1
    - Dst: vpaes_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:54,1
    - Dst: AES_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:61,1
    - Dst: HWAES_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:69,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:92,1
    - Dst: vpaes_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:99,1
    - Dst: AES_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:106,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c:117,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 3
    argNames:
    - dat
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 122
    functionName: cipher_hw_aes_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - ERR_raise
    - vpaes_set_decrypt_key
    - AES_set_encrypt_key
    - HWAES_set_encrypt_key
    - vpaes_set_encrypt_key
    - HWAES_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_aes_initkey(PROV_CIPHER_CTX *dat,\n                                 const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: PROV_CIPHER_HW_aes_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_aes_mode(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - nm
    - ','
    - sub
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: IMPLEMENT_CIPHER
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER(nm, sub, kbits, blkbits, ivbits, flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:53,1
    - Dst: aes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: aes_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - aes_set_ctx_params
    - ossl_cipher_generic_einit
    linkageType: ''
    returnType: int
    signature: "int aes_einit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:62,1
    - Dst: aes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: aes_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_dinit
    - aes_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int aes_dinit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                         const unsigned char *iv, size_t ivlen,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: aes_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *aes_settable_ctx_params(ossl_unused void *cctx,\n                                          ossl_unused
      void *provctx)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:97,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:100,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:103,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::init_mac_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:106,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:110,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:114,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:126,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:128,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:133,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_aad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:138,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:151,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:153,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:155,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:162,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:163,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:169,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:174,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:177,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::set_tls1_aad
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:180,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:184,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:188,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:189,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:193,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:198,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:200,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:201,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:206,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:207,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 74
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 218
    functionName: aes_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    - ossl_param_is_empty
    - ERR_raise
    - OSSL_PARAM_get_uint
    - PROV_CIPHER_HW_AES_HMAC_SHA*::init_mac_key
    - PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_encrypt
    - PROV_CIPHER_HW_AES_HMAC_SHA*::set_tls1_aad
    - OSSL_PARAM_locate_const
    - PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_aad
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int aes_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:226,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_max_bufsize
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:230,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:232,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:233,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:238,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:240,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:244,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:245,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:246,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:250,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:251,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:252,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:257,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:258,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:259,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:262,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:263,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:264,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:267,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:269,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:272,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:274,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:275,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:278,1
    - Dst: OSSL_PARAM_set_octet_string_or_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:280,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:281,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 285
    functionName: aes_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - ERR_raise
    - PROV_CIPHER_HW_AES_HMAC_SHA*::tls1_multiblock_max_bufsize
    - OSSL_PARAM_set_octet_string_or_ptr
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int aes_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: aes_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *aes_gettable_ctx_params(ossl_unused void *cctx,\n                                          ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - provctx
    - ctx
    - meths
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - PROV_AES_HMAC_SHA_CTX*
    - PROV_CIPHER_HW_AES_HMAC_SHA*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: base_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_initkey
    linkageType: ''
    returnType: void
    signature: "void base_init(void *provctx, PROV_AES_HMAC_SHA_CTX *ctx,\n                      const
      PROV_CIPHER_HW_AES_HMAC_SHA *meths,\n                      size_t kbits, size_t
      blkbits, size_t ivbits,\n                      uint64_t flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:324,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:327,1
    - Dst: base_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:329,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha1
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 333
    functionName: aes_cbc_hmac_sha1_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - base_init
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha1
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *aes_cbc_hmac_sha1_newctx(void *provctx, size_t kbits,\n                                      size_t
      blkbits, size_t ivbits,\n                                      uint64_t flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:339,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: aes_cbc_hmac_sha1_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aes_cbc_hmac_sha1_dupctx(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:353,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: aes_cbc_hmac_sha1_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_cbc_hmac_sha1_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:364,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:367,1
    - Dst: base_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:369,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha256
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: aes_cbc_hmac_sha256_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - base_init
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha256
    linkageType: ''
    returnType: void
    signature: "void *aes_cbc_hmac_sha256_newctx(void *provctx, size_t kbits,\n                                        size_t
      blkbits, size_t ivbits,\n                                        uint64_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:379,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: aes_cbc_hmac_sha256_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aes_cbc_hmac_sha256_dupctx(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:390,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: aes_cbc_hmac_sha256_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_cbc_hmac_sha256_freectx(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - nm
    - ','
    - sub
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 430
    functionName: IMPLEMENT_CIPHER
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER(nm, sub, kbits, blkbits, ivbits, flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: des_t4_key_expand
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:33,1
    - Dst: des_t4_key_expand
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:34,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:35,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:42,1
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:43,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: ossl_cipher_hw_tdes_ede2_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: 0
    functionsReached:
    - memcpy
    - DES_set_key_unchecked
    - des_t4_key_expand
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_tdes_ede2_initkey(PROV_CIPHER_CTX *ctx,\n                                            const
      unsigned char *key,\n                                            size_t keylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:55,1
    - Dst: DES_ede3_ofb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: ossl_cipher_hw_tdes_ofb
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: 0
    functionsReached:
    - DES_ede3_ofb64_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_tdes_ofb(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                  const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:77,1
    - Dst: DES_ede3_cfb64_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: ossl_cipher_hw_tdes_cfb
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: 0
    functionsReached:
    - DES_ede3_cfb64_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_tdes_cfb(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                  const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: ossl_cipher_hw_tdes_cfb1
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: 0
    functionsReached:
    - DES_ede3_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_tdes_cfb1(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                   const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:125,1
    - Dst: DES_ede3_cfb_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: ossl_cipher_hw_tdes_cfb8
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes_default_hw.c
    functionUses: 0
    functionsReached:
    - DES_ede3_cfb_encrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_hw_tdes_cfb8(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                                   const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4_set_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hw.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: cipher_hw_rc4_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hw.c
    functionUses: 0
    functionsReached:
    - RC4_set_key
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_rc4_initkey(PROV_CIPHER_CTX *ctx,\n                                 const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC4
      Src: /src/openssl/providers/implementations/ciphers/cipher_rc4_hw.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: cipher_hw_rc4_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hw.c
    functionUses: 0
    functionsReached:
    - RC4
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_rc4_cipher(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                               const unsigned char *in, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keybits
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: ossl_prov_cipher_hw_rc4
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_rc4_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW
    signature: PROV_CIPHER_HW *ossl_prov_cipher_hw_rc4(size_t keybits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: ossl_cipher_cbc_cts_mode_id2name
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: char
    signature: char *ossl_cipher_cbc_cts_mode_id2name(unsigned int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:92,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: ossl_cipher_cbc_cts_mode_name2id
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_cbc_cts_mode_name2id(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:107,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:116,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:117,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: cts128_cs1_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - PROV_CIPHER_CTX*::hw::cipher
    linkageType: ''
    returnType: size_t
    signature: "size_t cts128_cs1_encrypt(PROV_CIPHER_CTX *ctx, const unsigned char
      *in,\n                                 unsigned char *out, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - in1
    - in2
    - len
    - out
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: do_xor
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void do_xor(const unsigned char *in1, const unsigned char *in2,\n
      \                  size_t len, unsigned char *out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:142,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:149,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:155,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:157,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:160,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:161,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:169,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:170,1
    - Dst: do_xor
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:178,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:181,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:187,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 193
    functionName: cts128_cs1_decrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - do_xor
    - PROV_CIPHER_CTX*::hw::cipher
    linkageType: ''
    returnType: size_t
    signature: "size_t cts128_cs1_decrypt(PROV_CIPHER_CTX *ctx, const unsigned char
      *in,\n                                 unsigned char *out, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:206,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:213,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:219,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:220,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:221,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 225
    functionName: cts128_cs3_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - PROV_CIPHER_CTX*::hw::cipher
    linkageType: ''
    returnType: size_t
    signature: "size_t cts128_cs3_encrypt(PROV_CIPHER_CTX *ctx, const unsigned char
      *in,\n                                 unsigned char *out, size_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:246,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:255,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:261,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:263,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:266,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:267,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:275,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:277,1
    - Dst: do_xor
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:285,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:288,1
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:293,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 299
    functionName: cts128_cs3_decrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - do_xor
    - PROV_CIPHER_CTX*::hw::cipher
    linkageType: ''
    returnType: size_t
    signature: "size_t cts128_cs3_decrypt(PROV_CIPHER_CTX *ctx, const unsigned char
      *in,\n                                 unsigned char *out, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:306,1
    - Dst: cts128_cs3_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: cts128_cs2_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - cts128_cs3_encrypt
    - PROV_CIPHER_CTX*::hw::cipher
    linkageType: ''
    returnType: size_t
    signature: "size_t cts128_cs2_encrypt(PROV_CIPHER_CTX *ctx, const unsigned char
      *in,\n                                 unsigned char *out, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CIPHER_CTX*::hw::cipher
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:319,1
    - Dst: cts128_cs3_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - in
    - out
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: cts128_cs2_decrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - cts128_cs3_decrypt
    - PROV_CIPHER_CTX*::hw::cipher
    linkageType: ''
    returnType: size_t
    signature: "size_t cts128_cs2_decrypt(PROV_CIPHER_CTX *ctx, const unsigned char
      *in,\n                                 unsigned char *out, size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cts128_cs1_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:352,1
    - Dst: cts128_cs2_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:354,1
    - Dst: cts128_cs3_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:356,1
    - Dst: cts128_cs1_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:359,1
    - Dst: cts128_cs2_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:361,1
    - Dst: cts128_cs3_decrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_cts.c:363,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 370
    functionName: ossl_cipher_cbc_cts_block_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached:
    - cts128_cs1_encrypt
    - cts128_cs2_encrypt
    - cts128_cs3_decrypt
    - cts128_cs2_decrypt
    - cts128_cs3_encrypt
    - cts128_cs1_decrypt
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_cbc_cts_block_update(void *vctx, unsigned char *out,
      size_t *outl,\n                                     size_t outsize, const unsigned
      char *in,\n                                     size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: ossl_cipher_cbc_cts_block_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_cts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_cipher_cbc_cts_block_final(void *vctx, unsigned char *out,
      size_t *outl,\n                                    size_t outsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:28,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:29,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:38,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: mulx_ghash
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c
    functionUses: 0
    functionsReached:
    - GSWAP8
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline mulx_ghash(uint64_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: aligned64
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aligned64(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aligned64
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:49,1
    - Dst: aligned64
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:49,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:50,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: byte_reverse16
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c
    functionUses: 0
    functionsReached:
    - aligned64
    - GSWAP8
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline byte_reverse16(uint8_t *out, const uint8_t *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byte_reverse16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:66,1
    - Dst: mulx_ghash
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:67,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:70,1
    - Dst: GSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:71,1
    - Dst: ossl_gcm_init_4bit
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - Htable
    - H
    argTypes:
    - u128[]
    - uint64_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: ossl_polyval_ghash_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c
    functionUses: 2
    functionsReached:
    - GSWAP8
    - byte_reverse16
    - ossl_gcm_init_4bit
    - mulx_ghash
    linkageType: ''
    returnType: void
    signature: void ossl_polyval_ghash_init(u128 Htable[16], const uint64_t H[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_reverse16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:84,1
    - Dst: byte_reverse16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:91,1
    - Dst: ossl_gcm_ghash_4bit
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:92,1
    - Dst: byte_reverse16
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - Htable
    - tag
    - inp
    - len
    argTypes:
    - u128[]
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: ossl_polyval_ghash_hash
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c
    functionUses: 2
    functionsReached:
    - byte_reverse16
    - ossl_gcm_ghash_4bit
    linkageType: ''
    returnType: void
    signature: void ossl_polyval_ghash_hash(const u128 Htable[16], uint8_t *tag, const
      uint8_t *inp, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:27,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: null_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *null_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: null_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void null_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: null_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int null_einit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                     const unsigned char *iv, size_t ivlen,\n                      const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - vctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: null_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int null_dinit(void *vctx, const unsigned char *key, size_t keylen,\n
      \                     const unsigned char *iv, size_t ivlen,\n                      const
      OSSL_PARAM params[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:70,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - vctx
    - out
    - outl
    - outsize
    - in
    - inl
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: null_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int null_cipher(void *vctx, unsigned char *out, size_t *outl,\n                       size_t
      outsize, const unsigned char *in, size_t inl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - vctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: null_final
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: "int null_final(void *vctx, unsigned char *out, size_t *outl,\n                      size_t
      outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_get_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: null_get_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_get_params
    linkageType: ''
    returnType: int
    signature: int null_get_params(OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: null_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *null_gettable_ctx_params(ossl_unused void *cctx,\n                                                  ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:128,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:130,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:133,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:135,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:138,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:140,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 123
    functionDepth: 6
    functionLinenumber: 123
    functionLinenumberEnd: 145
    functionName: null_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_octet_ptr
    - ERR_raise
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: int null_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: null_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *null_settable_ctx_params(ossl_unused void *cctx,\n                                                  ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:166,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_null.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: null_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_null.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    - ERR_raise
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int null_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - nm
    - ','
    - sub
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: IMPLEMENT_CIPHER
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER(nm, sub, kbits, blkbits, ivbits, flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:41,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:44,1
    - Dst: PROV_CIPHER_HW_AES_HMAC_SHA_ETM*::init_mac_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:47,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:50,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:55,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:59,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:64,1
    - Dst: OSSL_PARAM_get_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:70,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:71,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 31
    functionDepth: 6
    functionLinenumber: 31
    functionLinenumberEnd: 82
    functionName: aes_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 2
    functionsReached:
    - PROV_CIPHER_HW_AES_HMAC_SHA_ETM*::init_mac_key
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_octet_string
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int aes_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_einit
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:88,1
    - Dst: aes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: aes_einit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - aes_set_ctx_params
    - ossl_cipher_generic_einit
    linkageType: ''
    returnType: int
    signature: "int aes_einit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                    const unsigned char *iv, size_t ivlen,\n                     const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_dinit
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:97,1
    - Dst: aes_set_ctx_params
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ctx
    - key
    - keylen
    - iv
    - ivlen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: aes_dinit
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_dinit
    - aes_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int aes_dinit(void *ctx, const unsigned char *key, size_t keylen,\n
      \                    const unsigned char *iv, size_t ivlen,\n                     const
      OSSL_PARAM params[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:108,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:110,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:113,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:115,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:118,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:120,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:122,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:125,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:127,1
    - Dst: OSSL_PARAM_set_octet_ptr
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:128,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:129,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:132,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:139,1
    - Dst: OSSL_PARAM_set_octet_string
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:142,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:143,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 102
    functionDepth: 6
    functionLinenumber: 102
    functionLinenumberEnd: 148
    functionName: aes_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_octet_ptr
    - ERR_raise
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_set_octet_string
    linkageType: ''
    returnType: int
    signature: int aes_get_ctx_params(void *vctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: aes_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *aes_gettable_ctx_params(ossl_unused void *cctx,\n                                          ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: aes_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *aes_settable_ctx_params(ossl_unused void *cctx,\n                                          ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_initkey
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - provctx
    - ctx
    - meths
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - PROV_AES_HMAC_SHA_ETM_CTX*
    - PROV_CIPHER_HW_AES_HMAC_SHA_ETM*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: base_ctx_init
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - ossl_cipher_generic_initkey
    linkageType: ''
    returnType: void
    signature: "void base_ctx_init(void *provctx, PROV_AES_HMAC_SHA_ETM_CTX *ctx,\n
      \                         const PROV_CIPHER_HW_AES_HMAC_SHA_ETM *meths,\n                          size_t
      kbits, size_t blkbits, size_t ivbits,\n                          uint64_t flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:194,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:197,1
    - Dst: base_ctx_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:199,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha1_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: aes_cbc_hmac_sha1_etm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - base_ctx_init
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha1_etm
    linkageType: ''
    returnType: void
    signature: "void *aes_cbc_hmac_sha1_etm_newctx(void *provctx, size_t kbits,\n
      \                                         size_t blkbits, size_t ivbits,\n                                          uint64_t
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:210,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: aes_cbc_hmac_sha1_etm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_cbc_hmac_sha1_etm_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: aes_cbc_hmac_sha1_etm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aes_cbc_hmac_sha1_etm_dupctx(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:231,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:234,1
    - Dst: base_ctx_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:236,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha256_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: aes_cbc_hmac_sha256_etm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - base_ctx_init
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha256_etm
    linkageType: ''
    returnType: void
    signature: "void *aes_cbc_hmac_sha256_etm_newctx(void *provctx, size_t kbits,\n
      \                                           size_t blkbits, size_t ivbits,\n
      \                                           uint64_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:247,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: aes_cbc_hmac_sha256_etm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_cbc_hmac_sha256_etm_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: aes_cbc_hmac_sha256_etm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aes_cbc_hmac_sha256_etm_dupctx(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:268,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:271,1
    - Dst: base_ctx_init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:273,1
    - Dst: ossl_prov_cipher_hw_aes_cbc_hmac_sha512_etm
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - provctx
    - kbits
    - blkbits
    - ivbits
    - flags
    argTypes:
    - void*
    - size_t
    - size_t
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: aes_cbc_hmac_sha512_etm_newctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - base_ctx_init
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ossl_prov_cipher_hw_aes_cbc_hmac_sha512_etm
    linkageType: ''
    returnType: void
    signature: "void *aes_cbc_hmac_sha512_etm_newctx(void *provctx, size_t kbits,\n
      \                                           size_t blkbits, size_t ivbits,\n
      \                                           uint64_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:284,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: aes_cbc_hmac_sha512_etm_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void aes_cbc_hmac_sha512_etm_freectx(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: aes_cbc_hmac_sha512_etm_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: void *aes_cbc_hmac_sha512_etm_dupctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - nm
    - ','
    - sub
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 334
    functionName: IMPLEMENT_CIPHER
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha_etm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER(nm, sub, kbits, blkbits, ivbits, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_cipher_generic_reset_ctx
      Src: /src/openssl/providers/implementations/ciphers/cipher_blowfish.c:31,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/ciphers/cipher_blowfish.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: blowfish_freectx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_blowfish.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_cipher_generic_reset_ctx
    linkageType: ''
    returnType: void
    signature: void blowfish_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/ciphers/cipher_blowfish.c:40,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/ciphers/cipher_blowfish.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: blowfish_dupctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_blowfish.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: void *blowfish_dupctx(void *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha256
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha256
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA
    signature: PROV_CIPHER_HW_AES_HMAC_SHA *ossl_prov_cipher_hw_aes_cbc_hmac_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aesni_cbc_sha256_enc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ossl_cipher_capable_aes_cbc_hmac_sha256
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - aesni_cbc_sha256_enc
    linkageType: ''
    returnType: int
    signature: int ossl_cipher_capable_aes_cbc_hmac_sha256(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: aesni_set_encrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:55,1
    - Dst: aesni_set_decrypt_key
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:57,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - vctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: aesni_cbc_hmac_sha256_init_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - aesni_set_encrypt_key
    - SHA256_Init
    - aesni_set_decrypt_key
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_init_key(PROV_CIPHER_CTX *vctx,\n                                          const
      unsigned char *key,\n                                          size_t keylen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHA256_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:82,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:91,1
    - Dst: SHA256_Update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - SHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: sha256_update
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 1
    functionsReached:
    - sha256_block_data_order
    - SHA256_Update
    linkageType: ''
    returnType: void
    signature: void sha256_update(SHA256_CTX *c, const void *data, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:150,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:169,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:170,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:176,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:177,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:182,1
    - Dst: BSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:183,1
    - Dst: BSWAP8
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:203,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:217,1
    - Dst: sha256_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:226,1
    - Dst: sha256_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:244,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:245,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:254,1
    - Dst: sha256_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:262,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:264,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:271,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:277,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:279,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:284,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:286,1
    - Dst: sha256_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:294,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:296,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:299,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:301,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:303,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:305,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:307,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:309,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:311,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:313,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:316,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:318,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:320,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:322,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:324,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:326,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:328,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:330,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:332,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:335,1
    - Dst: sha256_multi_block
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:342,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:348,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:354,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:355,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:356,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:357,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:358,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:359,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:360,1
    - Dst: PUTU32
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:361,1
    - Dst: aesni_multi_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:385,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:387,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 170
    argCount: 5
    argNames:
    - vctx
    - out
    - inp
    - inp_len
    - n4x
    argTypes:
    - void*
    - unsigned char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 125
    functionDepth: 7
    functionLinenumber: 125
    functionLinenumberEnd: 392
    functionName: tls1_multi_block_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 1
    functionsReached:
    - memset
    - memcpy
    - sha256_multi_block
    - PUTU32
    - BSWAP4
    - aesni_multi_cbc_encrypt
    - BSWAP8
    - RAND_bytes_ex
    - OPENSSL_cleanse
    linkageType: ''
    returnType: size_t
    signature: "size_t tls1_multi_block_encrypt(void *vctx,\n                                       unsigned
      char *out,\n                                       const unsigned char *inp,\n
      \                                      size_t inp_len, int n4x)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:438,1
    - Dst: aesni_cbc_sha256_enc
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:440,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:454,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:458,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:461,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:463,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:464,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:471,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:474,1
    - Dst: aesni_cbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:487,1
    - Dst: constant_time_ge
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:516,1
    - Dst: constant_time_select
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:524,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:533,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:540,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:549,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:580,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:599,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:610,1
    - Dst: sha256_block_data_order
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:614,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:626,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:627,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:628,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:629,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:630,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:631,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:632,1
    - Dst: BSWAP4
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:633,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:645,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:646,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:676,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 174
    argCount: 4
    argNames:
    - vctx
    - out
    - in
    - len
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 681
    functionName: aesni_cbc_hmac_sha256_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - aesni_cbc_encrypt
    - constant_time_ge
    - memset
    - SHA256_Final
    - memcpy
    - BSWAP4
    - constant_time_select
    - sha256_block_data_order
    - aesni_cbc_sha256_enc
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_cipher(PROV_CIPHER_CTX *vctx,\n                                        unsigned
      char *out,\n                                        const unsigned char *in,
      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:692,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:695,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:696,1
    - Dst: SHA256_Final
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:697,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:699,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:704,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:705,1
    - Dst: SHA256_Init
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:709,1
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:710,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vctx
    - mackey
    - len
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 713
    functionName: aesni_cbc_hmac_sha256_set_mac_key
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - memset
    - SHA256_Final
    - memcpy
    - SHA256_Init
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: "void aesni_cbc_hmac_sha256_set_mac_key(void *vctx,\n                                              const
      unsigned char *mackey,\n                                              size_t
      len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:740,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - vctx
    - aad_rec
    - aad_len
    argTypes:
    - void*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 751
    functionName: aesni_cbc_hmac_sha256_set_tls1_aad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - sha256_update
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_set_tls1_aad(void *vctx,\n                                              unsigned
      char *aad_rec, int aad_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: aesni_cbc_hmac_sha256_tls1_multiblock_max_bufsize
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - OPENSSL_assert
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_tls1_multiblock_max_bufsize(\n    void *vctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sha256_update
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:792,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - vctx
    - param
    argTypes:
    - void*
    - EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 815
    functionName: aesni_cbc_hmac_sha256_tls1_multiblock_aad
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - sha256_update
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_tls1_multiblock_aad(\n    void *vctx, EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM
      *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_multi_block_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - param
    argTypes:
    - void*
    - EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 824
    functionName: aesni_cbc_hmac_sha256_tls1_multiblock_encrypt
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 0
    functionsReached:
    - tls1_multi_block_encrypt
    linkageType: ''
    returnType: int
    signature: "int aesni_cbc_hmac_sha256_tls1_multiblock_encrypt(\n    void *ctx,
      EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 844
    functionName: ossl_prov_cipher_hw_aes_cbc_hmac_sha256
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW_AES_HMAC_SHA
    signature: PROV_CIPHER_HW_AES_HMAC_SHA *ossl_prov_cipher_hw_aes_cbc_hmac_sha256(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DES_set_key_unchecked
      Src: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c:33,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c:34,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - keylen
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: cipher_hw_desx_cbc_initkey
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c
    functionUses: 0
    functionsReached:
    - memcpy
    - DES_set_key_unchecked
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_desx_cbc_initkey(PROV_CIPHER_CTX *ctx,\n                                      const
      unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER_CTX*
    - PROV_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: cipher_hw_desx_copyctx
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cipher_hw_desx_copyctx(PROV_CIPHER_CTX *dst,\n                                   const
      PROV_CIPHER_CTX *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DES_xcbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c:56,1
    - Dst: DES_xcbc_encrypt
      Src: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - out
    - in
    - inl
    argTypes:
    - PROV_CIPHER_CTX*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: cipher_hw_desx_cbc
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c
    functionUses: 0
    functionsReached:
    - DES_xcbc_encrypt
    linkageType: ''
    returnType: int
    signature: "int cipher_hw_desx_cbc(PROV_CIPHER_CTX *ctx, unsigned char *out,\n
      \                             const unsigned char *in, size_t inl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ossl_prov_cipher_hw_tdes_desx_cbc
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_desx_hw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROV_CIPHER_HW
    signature: PROV_CIPHER_HW *ossl_prov_cipher_hw_tdes_desx_cbc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - type
    - ','
    - UCTYPE
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - block
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 74
    functionName: IMPLEMENT_tdes_cipher
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_tdes_cipher(type, UCTYPE, lcmode, UCMODE, flags,             \\\n
      \                             kbits, blkbits, ivbits, block)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: PROV_CIPHER_HW_tdes_mode
    functionSourceFile: /src/openssl/providers/implementations/ciphers/cipher_tdes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_HW_tdes_mode(type, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: ossl_drbg_lock
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_drbg_lock(void *vctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: ossl_drbg_unlock
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_drbg_unlock(void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_DRBG*::parent_lock
      Src: /src/openssl/providers/implementations/rands/drbg.c:69,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: ossl_drbg_lock_parent
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - PROV_DRBG*::parent_lock
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_drbg_lock_parent(PROV_DRBG *drbg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROV_DRBG*::parent_unlock
      Src: /src/openssl/providers/implementations/rands/drbg.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: ossl_drbg_unlock_parent
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - PROV_DRBG*::parent_unlock
    linkageType: ''
    returnType: void
    signature: void ossl_drbg_unlock_parent(PROV_DRBG *drbg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:91,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/implementations/rands/drbg.c:95,1
    - Dst: ossl_drbg_lock_parent
      Src: /src/openssl/providers/implementations/rands/drbg.c:96,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:97,1
    - Dst: PROV_DRBG*::parent_get_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg.c:100,1
    - Dst: ossl_drbg_unlock_parent
      Src: /src/openssl/providers/implementations/rands/drbg.c:101,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - drbg
    - str
    argTypes:
    - PROV_DRBG*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: get_parent_strength
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - ossl_drbg_lock_parent
    - ERR_raise
    - ossl_drbg_unlock_parent
    - PROV_DRBG*::parent_get_ctx_params
    linkageType: ''
    returnType: int
    signature: int get_parent_strength(PROV_DRBG *drbg, unsigned int *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/providers/implementations/rands/drbg.c:115,1
    - Dst: ossl_drbg_lock_parent
      Src: /src/openssl/providers/implementations/rands/drbg.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:117,1
    - Dst: PROV_DRBG*::parent_get_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg.c:120,1
    - Dst: ossl_drbg_unlock_parent
      Src: /src/openssl/providers/implementations/rands/drbg.c:122,1
    - Dst: tsan_load
      Src: /src/openssl/providers/implementations/rands/drbg.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: get_parent_reseed_count
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - ossl_drbg_lock_parent
    - ERR_raise
    - ossl_drbg_unlock_parent
    - tsan_load
    - PROV_DRBG*::parent_get_ctx_params
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_parent_reseed_count(PROV_DRBG *drbg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/providers/implementations/rands/drbg.c:161,1
    - Dst: ossl_prov_drbg_generate
      Src: /src/openssl/providers/implementations/rands/drbg.c:174,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:177,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 8
    argNames:
    - vdrbg
    - pout
    - entropy
    - min_len
    - max_len
    - prediction_resistance
    - adin
    - adin_len
    argTypes:
    - void*
    - unsigned char**
    - int
    - size_t
    - size_t
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: ossl_drbg_get_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_malloc
    - OPENSSL_secure_clear_free
    - ERR_raise
    - ossl_prov_drbg_generate
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_drbg_get_seed(void *vdrbg, unsigned char **pout,\n                          int
      entropy, size_t min_len,\n                          size_t max_len, int prediction_resistance,\n
      \                         const unsigned char *adin, size_t adin_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdrbg
    - out
    - outlen
    argTypes:
    - ossl_unused*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: ossl_drbg_clear_seed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: "void ossl_drbg_clear_seed(ossl_unused void *vdrbg,\n                          unsigned
      char *out, size_t outlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:204,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:208,1
    - Dst: get_parent_strength
      Src: /src/openssl/providers/implementations/rands/drbg.c:211,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:218,1
    - Dst: ossl_drbg_lock_parent
      Src: /src/openssl/providers/implementations/rands/drbg.c:227,1
    - Dst: PROV_DRBG*::parent_get_seed
      Src: /src/openssl/providers/implementations/rands/drbg.c:238,1
    - Dst: ossl_drbg_unlock_parent
      Src: /src/openssl/providers/implementations/rands/drbg.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - drbg
    - pout
    - entropy
    - min_len
    - max_len
    - prediction_resistance
    argTypes:
    - PROV_DRBG*
    - unsigned char**
    - int
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 244
    functionName: get_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 3
    functionsReached:
    - ossl_prov_get_entropy
    - ERR_raise
    - ossl_drbg_lock_parent
    - ossl_drbg_unlock_parent
    - PROV_DRBG*::parent_get_seed
    - get_parent_strength
    linkageType: ''
    returnType: size_t
    signature: "size_t get_entropy(PROV_DRBG *drbg, unsigned char **pout, int entropy,\n
      \                         size_t min_len, size_t max_len,\n                          int
      prediction_resistance)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_cleanup_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:249,1
    - Dst: ossl_drbg_lock_parent
      Src: /src/openssl/providers/implementations/rands/drbg.c:251,1
    - Dst: PROV_DRBG*::parent_clear_seed
      Src: /src/openssl/providers/implementations/rands/drbg.c:253,1
    - Dst: ossl_drbg_unlock_parent
      Src: /src/openssl/providers/implementations/rands/drbg.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - drbg
    - out
    - outlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: cleanup_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 2
    functionsReached:
    - PROV_DRBG*::parent_clear_seed
    - ossl_drbg_lock_parent
    - ossl_drbg_unlock_parent
    - ossl_prov_cleanup_entropy
    linkageType: ''
    returnType: void
    signature: void cleanup_entropy(PROV_DRBG *drbg, unsigned char *out, size_t outlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/rands/drbg.c:273,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/providers/implementations/rands/drbg.c:278,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: ossl_prov_drbg_nonce_ctx_new
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void *ossl_prov_drbg_nonce_ctx_new(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vdngbl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: ossl_prov_drbg_nonce_ctx_free
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_prov_drbg_nonce_ctx_free(void *vdngbl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get0_libctx
      Src: /src/openssl/providers/implementations/rands/drbg.c:305,1
    - Dst: ossl_lib_ctx_get_data
      Src: /src/openssl/providers/implementations/rands/drbg.c:307,1
    - Dst: PROV_DRBG*::parent_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:317,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/rands/drbg.c:319,1
    - Dst: PROV_DRBG*::parent_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:326,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/drbg.c:331,1
    - Dst: CRYPTO_atomic_add
      Src: /src/openssl/providers/implementations/rands/drbg.c:333,1
    - Dst: ossl_prov_get_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - drbg
    - pout
    - min_len
    - max_len
    argTypes:
    - PROV_DRBG*
    - unsigned char**
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 300
    functionDepth: 5
    functionLinenumber: 300
    functionLinenumberEnd: 338
    functionName: prov_drbg_get_nonce
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - PROV_DRBG*::parent_nonce
    - memset
    - ossl_lib_ctx_get_data
    - ossl_prov_get_nonce
    - ossl_prov_ctx_get0_libctx
    - OPENSSL_free
    - CRYPTO_atomic_add
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t prov_drbg_get_nonce(PROV_DRBG *drbg, unsigned char **pout,\n
      \                                 size_t min_len, size_t max_len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:359,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:377,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:379,1
    - Dst: PROV_DRBG*::parent_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:387,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:391,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/rands/drbg.c:394,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:396,1
    - Dst: PROV_DRBG*::parent_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:399,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:403,1
    - Dst: prov_drbg_get_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:422,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:426,1
    - Dst: tsan_load
      Src: /src/openssl/providers/implementations/rands/drbg.c:433,1
    - Dst: get_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:440,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:445,1
    - Dst: PROV_DRBG*::instantiate
      Src: /src/openssl/providers/implementations/rands/drbg.c:449,1
    - Dst: cleanup_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:451,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:452,1
    - Dst: cleanup_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:455,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/drbg.c:459,1
    - Dst: tsan_store
      Src: /src/openssl/providers/implementations/rands/drbg.c:460,1
    - Dst: ossl_prov_cleanup_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:464,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 5
    argNames:
    - drbg
    - strength
    - prediction_resistance
    - pers
    - perslen
    argTypes:
    - PROV_DRBG*
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 349
    functionDepth: 6
    functionLinenumber: 349
    functionLinenumberEnd: 468
    functionName: ossl_prov_drbg_instantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - get_entropy
    - time
    - cleanup_entropy
    - PROV_DRBG*::parent_nonce
    - ERR_raise
    - ossl_prov_cleanup_nonce
    - tsan_load
    - prov_drbg_get_nonce
    - PROV_DRBG*::instantiate
    - OPENSSL_malloc
    - tsan_store
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_drbg_instantiate(PROV_DRBG *drbg, unsigned int strength,\n
      \                              int prediction_resistance,\n                               const
      unsigned char *pers, size_t perslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: ossl_prov_drbg_uninstantiate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_prov_drbg_uninstantiate(PROV_DRBG *drbg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/rands/drbg.c:493,1
    - Dst: rand_drbg_restart
      Src: /src/openssl/providers/implementations/rands/drbg.c:498,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:501,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:512,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:517,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:526,1
    - Dst: tsan_load
      Src: /src/openssl/providers/implementations/rands/drbg.c:532,1
    - Dst: PROV_DRBG*::reseed
      Src: /src/openssl/providers/implementations/rands/drbg.c:548,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:549,1
    - Dst: PROV_DRBG*::reseed
      Src: /src/openssl/providers/implementations/rands/drbg.c:553,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:554,1
    - Dst: get_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:564,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:569,1
    - Dst: PROV_DRBG*::reseed
      Src: /src/openssl/providers/implementations/rands/drbg.c:573,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/drbg.c:578,1
    - Dst: tsan_store
      Src: /src/openssl/providers/implementations/rands/drbg.c:579,1
    - Dst: get_parent_reseed_count
      Src: /src/openssl/providers/implementations/rands/drbg.c:581,1
    - Dst: cleanup_entropy
      Src: /src/openssl/providers/implementations/rands/drbg.c:584,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 6
    argNames:
    - drbg
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 588
    functionName: ossl_prov_drbg_reseed_unlocked
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - get_entropy
    - time
    - ossl_prov_is_running
    - ERR_raise
    - rand_drbg_restart
    - get_parent_reseed_count
    - tsan_load
    - PROV_DRBG*::reseed
    - cleanup_entropy
    - tsan_store
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_drbg_reseed_unlocked(PROV_DRBG *drbg,\n                                          int
      prediction_resistance,\n                                          const unsigned
      char *ent,\n                                          size_t ent_len,\n                                          const
      unsigned char *adin,\n                                          size_t adinlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg.c:603,1
    - Dst: ossl_prov_drbg_reseed_unlocked
      Src: /src/openssl/providers/implementations/rands/drbg.c:606,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 6
    argNames:
    - drbg
    - prediction_resistance
    - ent
    - ent_len
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 5
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: ossl_prov_drbg_reseed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - ossl_prov_drbg_reseed_unlocked
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_drbg_reseed(PROV_DRBG *drbg, int prediction_resistance,\n
      \                         const unsigned char *ent, size_t ent_len,\n                          const
      unsigned char *adin, size_t adinlen)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/rands/drbg.c:635,1
    - Dst: openssl_get_fork_id
      Src: /src/openssl/providers/implementations/rands/drbg.c:638,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/drbg.c:641,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/providers/implementations/rands/drbg.c:643,1
    - Dst: rand_drbg_restart
      Src: /src/openssl/providers/implementations/rands/drbg.c:648,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:651,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:655,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:660,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:665,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:669,1
    - Dst: get_parent_reseed_count
      Src: /src/openssl/providers/implementations/rands/drbg.c:688,1
    - Dst: ossl_prov_drbg_reseed_unlocked
      Src: /src/openssl/providers/implementations/rands/drbg.c:692,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:694,1
    - Dst: PROV_DRBG*::generate
      Src: /src/openssl/providers/implementations/rands/drbg.c:701,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:703,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/providers/implementations/rands/drbg.c:712,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 7
    argNames:
    - drbg
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adinlen
    argTypes:
    - PROV_DRBG*
    - unsigned char*
    - size_t
    - unsigned int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 625
    functionDepth: 5
    functionLinenumber: 625
    functionLinenumberEnd: 715
    functionName: ossl_prov_drbg_generate
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 1
    functionsReached:
    - time
    - ossl_prov_is_running
    - ERR_raise
    - rand_drbg_restart
    - CRYPTO_THREAD_write_lock
    - openssl_get_fork_id
    - CRYPTO_THREAD_unlock
    - PROV_DRBG*::generate
    - ossl_prov_drbg_reseed_unlocked
    - get_parent_reseed_count
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_drbg_generate(PROV_DRBG *drbg, unsigned char *out, size_t
      outlen,\n                            unsigned int strength, int prediction_resistance,\n
      \                           const unsigned char *adin, size_t adinlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_DRBG*::uninstantiate
      Src: /src/openssl/providers/implementations/rands/drbg.c:738,1
    - Dst: ossl_prov_drbg_instantiate
      Src: /src/openssl/providers/implementations/rands/drbg.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 734
    functionDepth: 7
    functionLinenumber: 734
    functionLinenumberEnd: 746
    functionName: rand_drbg_restart
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 2
    functionsReached:
    - PROV_DRBG*::uninstantiate
    - ossl_prov_drbg_instantiate
    linkageType: ''
    returnType: int
    signature: int rand_drbg_restart(PROV_DRBG *drbg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dispatch
    - function
    argTypes:
    - OSSL_DISPATCH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 759
    functionName: find_call
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_DISPATCH
    signature: "OSSL_DISPATCH *find_call(const OSSL_DISPATCH *dispatch,\n                                      int
      function)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_DRBG*::parent_enable_locking
      Src: /src/openssl/providers/implementations/rands/drbg.c:767,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:768,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/providers/implementations/rands/drbg.c:771,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 778
    functionName: ossl_drbg_enable_locking
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - PROV_DRBG*::parent_enable_locking
    - CRYPTO_THREAD_lock_new
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_drbg_enable_locking(void *vctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/rands/drbg.c:806,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/rands/drbg.c:809,1
    - Dst: openssl_get_fork_id
      Src: /src/openssl/providers/implementations/rands/drbg.c:818,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:822,1
    - Dst: OSSL_FUNC_rand_enable_locking
      Src: /src/openssl/providers/implementations/rands/drbg.c:823,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:824,1
    - Dst: OSSL_FUNC_rand_lock
      Src: /src/openssl/providers/implementations/rands/drbg.c:825,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:826,1
    - Dst: OSSL_FUNC_rand_unlock
      Src: /src/openssl/providers/implementations/rands/drbg.c:827,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:828,1
    - Dst: OSSL_FUNC_rand_get_ctx_params
      Src: /src/openssl/providers/implementations/rands/drbg.c:829,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:830,1
    - Dst: OSSL_FUNC_rand_nonce
      Src: /src/openssl/providers/implementations/rands/drbg.c:831,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:832,1
    - Dst: OSSL_FUNC_rand_get_seed
      Src: /src/openssl/providers/implementations/rands/drbg.c:833,1
    - Dst: find_call
      Src: /src/openssl/providers/implementations/rands/drbg.c:834,1
    - Dst: OSSL_FUNC_rand_clear_seed
      Src: /src/openssl/providers/implementations/rands/drbg.c:835,1
    - Dst: dnew
      Src: /src/openssl/providers/implementations/rands/drbg.c:847,1
    - Dst: get_parent_strength
      Src: /src/openssl/providers/implementations/rands/drbg.c:851,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:858,1
    - Dst: ossl_drbg_enable_locking
      Src: /src/openssl/providers/implementations/rands/drbg.c:863,1
    - Dst: dfree
      Src: /src/openssl/providers/implementations/rands/drbg.c:869,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 3
    argNames:
    - provctx
    - parent
    - p_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 788
    functionDepth: 3
    functionLinenumber: 788
    functionLinenumberEnd: 871
    functionName: ossl_rand_drbg_new
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_rand_get_ctx_params
    - OSSL_FUNC_rand_get_seed
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - ERR_raise
    - dfree
    - dnew
    - OSSL_FUNC_rand_unlock
    - OSSL_FUNC_rand_nonce
    - openssl_get_fork_id
    - get_parent_strength
    - ossl_drbg_enable_locking
    - find_call
    - OSSL_FUNC_rand_lock
    - OSSL_FUNC_rand_clear_seed
    - OSSL_FUNC_rand_enable_locking
    linkageType: ''
    returnType: PROV_DRBG
    signature: "PROV_DRBG *ossl_rand_drbg_new\n    (void *provctx, void *parent, const
      OSSL_DISPATCH *p_dispatch,\n     int (*dnew)(PROV_DRBG *ctx),\n     void (*dfree)(void
      *vctx),\n     int (*instantiate)(PROV_DRBG *drbg,\n                        const
      unsigned char *entropy, size_t entropylen,\n                        const unsigned
      char *nonce, size_t noncelen,\n                        const unsigned char *pers,
      size_t perslen),\n     int (*uninstantiate)(PROV_DRBG *ctx),\n     int (*reseed)(PROV_DRBG
      *drbg, const unsigned char *ent, size_t ent_len,\n                   const unsigned
      char *adin, size_t adin_len),\n     int (*generate)(PROV_DRBG *, unsigned char
      *out, size_t outlen,\n                     const unsigned char *adin, size_t
      adin_len))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:878,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/rands/drbg.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - drbg
    argTypes:
    - PROV_DRBG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 880
    functionName: ossl_rand_drbg_free
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rand_drbg_free(PROV_DRBG *drbg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/drbg.c:889,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/rands/drbg.c:892,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:896,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:900,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:904,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:908,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:912,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:916,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/rands/drbg.c:920,1
    - Dst: OSSL_PARAM_set_time_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:924,1
    - Dst: OSSL_PARAM_set_time_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:928,1
    - Dst: OSSL_FIPS_IND_GET_CTX_FROM_PARAM
      Src: /src/openssl/providers/implementations/rands/drbg.c:931,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 26
    argCount: 2
    argNames:
    - drbg
    - p
    argTypes:
    - PROV_DRBG*
    - struct drbg_get_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 886
    functionDepth: 6
    functionLinenumber: 886
    functionLinenumberEnd: 935
    functionName: ossl_drbg_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GET_CTX_FROM_PARAM
    - OSSL_PARAM_set_int
    - OSSL_PARAM_set_uint
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_set_time_t
    linkageType: ''
    returnType: int
    signature: "int ossl_drbg_get_ctx_params(PROV_DRBG *drbg,\n                             const
      struct drbg_get_ctx_params_st *p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:949,1
    - Dst: OSSL_PARAM_set_uint
      Src: /src/openssl/providers/implementations/rands/drbg.c:959,1
    - Dst: tsan_load
      Src: /src/openssl/providers/implementations/rands/drbg.c:959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - drbg
    - p
    - params
    - complete
    argTypes:
    - PROV_DRBG*
    - struct drbg_get_ctx_params_st*
    - OSSL_PARAM[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 941
    functionDepth: 6
    functionLinenumber: 941
    functionLinenumberEnd: 970
    functionName: ossl_drbg_get_ctx_params_no_lock
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_set_uint
    - tsan_load
    - OSSL_PARAM_set_size_t
    linkageType: ''
    returnType: int
    signature: "int ossl_drbg_get_ctx_params_no_lock(PROV_DRBG *drbg,\n                                     const
      struct drbg_get_ctx_params_st *p,\n                                     const
      OSSL_PARAM params[], int *complete)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/rands/drbg.c:976,1
    - Dst: OSSL_PARAM_get_time_t
      Src: /src/openssl/providers/implementations/rands/drbg.c:980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - drbg
    - p
    argTypes:
    - PROV_DRBG*
    - struct drbg_set_ctx_params_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 972
    functionDepth: 6
    functionLinenumber: 972
    functionLinenumberEnd: 984
    functionName: ossl_drbg_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_time_t
    - OSSL_PARAM_get_uint
    linkageType: ''
    returnType: int
    signature: "int ossl_drbg_set_ctx_params(PROV_DRBG *drbg,\n                             const
      struct drbg_set_ctx_params_st *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/drbg.c:997,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/rands/drbg.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 987
    functionDepth: 9
    functionLinenumber: 987
    functionLinenumberEnd: 1002
    functionName: digest_allowed
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: int digest_allowed(const EVP_MD *md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: digest_allowed
      Src: /src/openssl/providers/implementations/rands/drbg.c:1010,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/rands/drbg.c:1013,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:1016,1
    - Dst: EVP_MD_xof
      Src: /src/openssl/providers/implementations/rands/drbg.c:1022,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/rands/drbg.c:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - drbg
    - libctx
    - md
    argTypes:
    - PROV_DRBG*
    - OSSL_LIB_CTX*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1006
    functionDepth: 10
    functionLinenumber: 1006
    functionLinenumberEnd: 1028
    functionName: ossl_drbg_verify_digest
    functionSourceFile: /src/openssl/providers/implementations/rands/drbg.c
    functionUses: 0
    functionsReached:
    - EVP_MD_xof
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - ERR_raise
    - digest_allowed
    linkageType: ''
    returnType: int
    signature: "int ossl_drbg_verify_digest(PROV_DRBG *drbg, OSSL_LIB_CTX *libctx,\n
      \                           const EVP_MD *md)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_acquire_entropy_from_tsc
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:58,1
    - Dst: ossl_prov_acquire_entropy_from_cpu
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:64,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:70,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:71,1
    - Dst: BCryptGenRandom
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:74,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:78,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:79,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:84,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:85,1
    - Dst: CryptAcquireContextW
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:89,1
    - Dst: CryptGenRandom
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:91,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:94,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:97,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:98,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:103,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:104,1
    - Dst: CryptAcquireContextW
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:108,1
    - Dst: CryptGenRandom
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:111,1
    - Dst: CryptReleaseContext
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:114,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:116,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:117,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:123,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 124
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: 2
    functionsReached:
    - ossl_rand_pool_entropy_available
    - BCryptGenRandom
    - CryptGenRandom
    - ossl_prov_acquire_entropy_from_cpu
    - ossl_rand_pool_add_end
    - ossl_prov_acquire_entropy_from_tsc
    - CryptAcquireContextW
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_begin
    - CryptReleaseContext
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_pool_acquire_entropy(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:136,1
    - Dst: GetCurrentProcessId
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:143,1
    - Dst: GetCurrentThreadId
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:144,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:145,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_win.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: 1
    functionsReached:
    - memset
    - GetCurrentThreadId
    - ossl_rand_pool_add
    - GetCurrentProcessId
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int ossl_pool_add_nonce_data(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rand_pool_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_win.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_keep_random_devices_open(int keep)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - items_input
    - items_input_num
    - items
    - databuffer
    argTypes:
    - struct item_st*
    - size_t
    - ILE3*
    - uint32_t__ptr32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 310
    functionName: prepare_item_list
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t prepare_item_list(const struct item_st *items_input,\n                                size_t
      items_input_num,\n                                ILE3 *items,\n                                uint32_t__ptr32
      databuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - items
    argTypes:
    - ILE3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 335
    functionName: massage_JPI
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void massage_JPI(ILE3 *items)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:347,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:348,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:349,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:350,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:351,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:352,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:356,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:357,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:358,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:359,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:360,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:361,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:366,1
    - Dst: ossl_rand_pool_bytes_remaining
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:367,1
    - Dst: prepare_item_list
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:371,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:371,1
    - Dst: prepare_item_list
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:374,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:374,1
    - Dst: prepare_item_list
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:377,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:377,1
    - Dst: prepare_item_list
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:379,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:379,1
    - Dst: prepare_item_list
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:381,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:381,1
    - Dst: prepare_item_list
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:383,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:383,1
    - Dst: $DESCRIPTOR
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:392,1
    - Dst: sys$getdviw
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:394,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:396,1
    - Dst: sys$getjpiw
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:399,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:401,1
    - Dst: sys$getjpiw
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:404,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:406,1
    - Dst: sys$getsyiw
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:409,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:411,1
    - Dst: lib$get_ef
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:418,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:419,1
    - Dst: sys$getrmi
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:422,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:424,1
    - Dst: sys$synch
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:427,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:428,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:432,1
    - Dst: sys$getrmi
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:435,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:437,1
    - Dst: sys$synch
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:440,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:441,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:445,1
    - Dst: lib$free_ef
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:448,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:449,1
    - Dst: massage_JPI
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:454,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:459,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:460,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:473,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:475,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 476
    functionName: data_collect_method
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 0
    functionsReached:
    - sys$getsyiw
    - massage_JPI
    - ossl_assert
    - sys$synch
    - sys$getdviw
    - lib$get_ef
    - ERR_raise_data
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add
    - OSSL_NELEM
    - $DESCRIPTOR
    - lib$signal
    - sys$getrmi
    - ossl_rand_pool_bytes_remaining
    - ossl_rand_pool_bytes_needed
    - sys$getjpiw
    - prepare_item_list
    - lib$free_ef
    linkageType: ''
    returnType: size_t
    signature: size_t data_collect_method(RAND_POOL *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:496,1
    - Dst: dlopen
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: init_get_entropy_address
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 0
    functionsReached:
    - dlsym
    - dlopen
    linkageType: ''
    returnType: int
    signature: int init_get_entropy_address(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:512,1
    - Dst: get_entropy_address
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:518,1
    - Dst: lib$signal
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:527,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:531,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 535
    functionName: get_entropy_method
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 0
    functionsReached:
    - get_entropy_address
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add
    - lib$signal
    - ossl_rand_pool_bytes_needed
    linkageType: ''
    returnType: size_t
    signature: size_t get_entropy_method(RAND_POOL *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_get_entropy_address
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:546,1
    - Dst: get_entropy_method
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:547,1
    - Dst: data_collect_method
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 2
    functionsReached:
    - data_collect_method
    - init_get_entropy_address
    - get_entropy_method
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_pool_acquire_entropy(RAND_POOL *pool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:567,1
    - Dst: getpid
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:590,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:591,1
    - Dst: sys$gettim
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:593,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vms.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 551
    functionDepth: 2
    functionLinenumber: 551
    functionLinenumberEnd: 603
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - memset
    - sys$gettim
    - ossl_rand_pool_add
    - getpid
    linkageType: ''
    returnType: int
    signature: int ossl_pool_add_nonce_data(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rand_pool_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 616
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_keep_random_devices_open(int keep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:43,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:45,1
    - Dst: get_hardware_random_value
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:48,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:49,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:51,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: ossl_prov_acquire_entropy_from_cpu
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c
    functionUses: 1
    functionsReached:
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add_end
    - get_hardware_random_value
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_begin
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_prov_acquire_entropy_from_cpu(RAND_POOL *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _rdrand64
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:70,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:74,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: get_hardware_random_value
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c
    functionUses: 1
    functionsReached:
    - _rdrand64
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t get_hardware_random_value(unsigned char *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_ia32_rdseed_bytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:94,1
    - Dst: OPENSSL_ia32_rdrand_bytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: get_hardware_random_value
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_cpu_x86.c
    functionUses: 1
    functionsReached:
    - OPENSSL_ia32_rdrand_bytes
    - OPENSSL_ia32_rdseed_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t get_hardware_random_value(unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: TWO32TO64
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TWO32TO64(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:44,1
    - Dst: TWO32TO64
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:45,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: get_time_stamp
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: 0
    functionsReached:
    - time
    - clock_gettime
    - TWO32TO64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_time_stamp(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:51,1
    - Dst: clock_gettime
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:57,1
    - Dst: TWO32TO64
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:58,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: get_timer_bits
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: 0
    functionsReached:
    - time
    - clock_gettime
    - OPENSSL_rdtsc
    - TWO32TO64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_timer_bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rand_pool_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_keep_random_devices_open(int keep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:87,1
    - Dst: getpid
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:94,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:95,1
    - Dst: get_time_stamp
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:96,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - memset
    - get_time_stamp
    - ossl_rand_pool_add
    - getpid
    linkageType: ''
    returnType: int
    signature: int ossl_pool_add_nonce_data(RAND_POOL *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:107,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:113,1
    - Dst: randStatus
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:115,1
    - Dst: randBytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:119,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:121,1
    - Dst: taskDelay
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:133,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:138,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 146
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_vxworks.c
    functionUses: 2
    functionsReached:
    - randBytes
    - taskDelay
    - randStatus
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add_end
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_begin
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_pool_acquire_entropy(RAND_POOL *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:38,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:40,1
    - Dst: get_hardware_random_value
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:43,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:44,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:46,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: ossl_prov_acquire_entropy_from_cpu
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c
    functionUses: 1
    functionsReached:
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add_end
    - get_hardware_random_value
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_begin
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_prov_acquire_entropy_from_cpu(RAND_POOL *pool)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rndrrs_bytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: get_hardware_random_value
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_cpu_arm64.c
    functionUses: 2
    functionsReached:
    - OPENSSL_rndrrs_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t get_hardware_random_value(unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: TWO32TO64
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TWO32TO64(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:159,1
    - Dst: random
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:167,1
    - Dst: s$sleep
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:172,1
    - Dst: s$sleep2
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:176,1
    - Dst: clock_gettime
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:180,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:182,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 185
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 2
    functionsReached:
    - s$sleep2
    - clock_gettime
    - s$sleep
    - ossl_rand_pool_entropy_available
    - ossl_rand_pool_add
    - random
    - ossl_rand_pool_bytes_needed
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_pool_acquire_entropy(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_keep_random_devices_open(int keep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:239,1
    - Dst: sysctl
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 270
    functionName: sysctl_random
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - sysctl
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t sysctl_random(char *buf, size_t buflen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getentropy
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:362,1
    - Dst: CCRandomGenerateBytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:369,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:383,1
    - Dst: DSO_global_lookup
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:384,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:385,1
    - Dst: "union {\n        void *p;\n        int (*f)(void *buffer, size_t length);\n
        \   }::f"
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:387,1
    - Dst: syscall
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:393,1
    - Dst: getrandom
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:397,1
    - Dst: sysctl_random
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:399,1
    - Dst: getentropy
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:401,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 23
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 408
    functionName: syscall_random
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - syscall
    - "union {\n        void *p;\n        int (*f)(void *buffer, size_t length);\n
      \   }::f"
    - ERR_pop_to_mark
    - getrandom
    - getentropy
    - ERR_set_mark
    - sysctl_random
    - DSO_global_lookup
    - CCRandomGenerateBytes
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t syscall_random(void *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shmdt
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: cleanup_shm
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - shmdt
    linkageType: ''
    returnType: void
    signature: void cleanup_shm(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: shmget
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:449,1
    - Dst: uname
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:459,1
    - Dst: atoi
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:460,1
    - Dst: strchr
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:461,1
    - Dst: atoi
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:462,1
    - Dst: open
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:470,1
    - Dst: FD_ZERO
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:472,1
    - Dst: FD_SET
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:473,1
    - Dst: select
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:474,1
    - Dst: read
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:477,1
    - Dst: close
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:479,1
    - Dst: shmget
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:483,1
    - Dst: shmat
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:494,1
    - Dst: OPENSSL_atexit
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:496,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 500
    functionName: wait_random_seeded
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - shmat
    - strchr
    - FD_ZERO
    - atoi
    - FD_SET
    - read
    - close
    - shmget
    - select
    - open
    - uname
    - OPENSSL_atexit
    linkageType: ''
    returnType: int
    signature: int wait_random_seeded(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: wait_random_seeded
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wait_random_seeded(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - rd
    argTypes:
    - struct random_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 525
    functionName: check_random_device
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - fstat
    linkageType: ''
    returnType: int
    signature: int check_random_device(struct random_device *rd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_random_device
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:536,1
    - Dst: open
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:540,1
    - Dst: fstat
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:544,1
    - Dst: close
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 555
    functionName: get_random_device
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - open
    - close
    - check_random_device
    - fstat
    linkageType: ''
    returnType: int
    signature: int get_random_device(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_random_device
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:564,1
    - Dst: close
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: close_random_device
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 0
    functionsReached:
    - close
    - check_random_device
    linkageType: ''
    returnType: void
    signature: void close_random_device(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 577
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_rand_pool_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:583,1
    - Dst: close_random_device
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 585
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    - close_random_device
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_cleanup
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached:
    - ossl_rand_pool_cleanup
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_keep_random_devices_open(int keep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: ossl_rand_pool_init
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_rand_pool_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: ossl_rand_pool_cleanup
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keep
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: ossl_rand_pool_keep_random_devices_open
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_rand_pool_keep_random_devices_open(int keep)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:632,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:646,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:648,1
    - Dst: syscall_random
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:649,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:651,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:659,1
    - Dst: wait_random_seeded
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:665,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:670,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:671,1
    - Dst: get_random_device
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:676,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:682,1
    - Dst: read
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:683,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:686,1
    - Dst: close_random_device
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:694,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:696,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:698,1
    - Dst: ossl_prov_acquire_entropy_from_tsc
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:705,1
    - Dst: ossl_prov_acquire_entropy_from_cpu
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:711,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:723,1
    - Dst: ossl_rand_pool_add_begin
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:728,1
    - Dst: RAND_query_egd_bytes
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:729,1
    - Dst: ossl_rand_pool_add_end
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:734,1
    - Dst: ossl_rand_pool_bytes_needed
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:735,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:737,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:743,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 745
    functionName: ossl_pool_acquire_entropy
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 2
    functionsReached:
    - get_random_device
    - syscall_random
    - read
    - ossl_rand_pool_entropy_available
    - close_random_device
    - OSSL_NELEM
    - RAND_query_egd_bytes
    - ossl_prov_acquire_entropy_from_cpu
    - ossl_rand_pool_add_end
    - ossl_prov_acquire_entropy_from_tsc
    - wait_random_seeded
    - ossl_rand_pool_bytes_needed
    - ossl_rand_pool_add_begin
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_pool_acquire_entropy(RAND_POOL *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:760,1
    - Dst: getpid
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:767,1
    - Dst: CRYPTO_THREAD_get_current_id
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:768,1
    - Dst: get_time_stamp
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:769,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 772
    functionName: ossl_pool_add_nonce_data
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_get_current_id
    - memset
    - get_time_stamp
    - ossl_rand_pool_add
    - getpid
    linkageType: ''
    returnType: int
    signature: int ossl_pool_add_nonce_data(RAND_POOL *pool)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:787,1
    - Dst: TWO32TO64
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:788,1
    - Dst: gettimeofday
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:796,1
    - Dst: TWO32TO64
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:797,1
    - Dst: time
      Src: /src/openssl/providers/implementations/rands/seeding/rand_unix.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 801
    functionName: get_time_stamp
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_unix.c
    functionUses: 2
    functionsReached:
    - time
    - clock_gettime
    - gettimeofday
    - TWO32TO64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_time_stamp(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_rdtsc
      Src: /src/openssl/providers/implementations/rands/seeding/rand_tsc.c:40,1
    - Dst: ossl_rand_pool_add
      Src: /src/openssl/providers/implementations/rands/seeding/rand_tsc.c:41,1
    - Dst: ossl_rand_pool_entropy_available
      Src: /src/openssl/providers/implementations/rands/seeding/rand_tsc.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pool
    argTypes:
    - RAND_POOL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: ossl_prov_acquire_entropy_from_tsc
    functionSourceFile: /src/openssl/providers/implementations/rands/seeding/rand_tsc.c
    functionUses: 2
    functionsReached:
    - ossl_rand_pool_add
    - OPENSSL_rdtsc
    - ossl_rand_pool_entropy_available
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_prov_acquire_entropy_from_tsc(RAND_POOL *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:84,1
    - Dst: ossl_dh_gen_type_name2id
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: dh_gen_type_name2id_w_default
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ossl_dh_gen_type_name2id
    linkageType: ''
    returnType: int
    signature: int dh_gen_type_name2id_w_default(const char *name, int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:105,1
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:106,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:106,1
    - Dst: DH_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:108,1
    - Dst: DH_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: dh_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - DH_clear_flags
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - ossl_dh_new_ex
    - DH_set_flags
    linkageType: ''
    returnType: void
    signature: void *dh_newdata(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:119,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:119,1
    - Dst: DH_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:121,1
    - Dst: DH_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: dhx_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - DH_clear_flags
    - PROV_LIBCTX_OF
    - ossl_dh_new_ex
    - DH_set_flags
    linkageType: ''
    returnType: void
    signature: void *dhx_newdata(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DH_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: dh_freedata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - DH_free
    linkageType: ''
    returnType: void
    signature: void dh_freedata(void *keydata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:137,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:143,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:145,1
    - Dst: DH_get0_p
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:147,1
    - Dst: DH_get0_g
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 149
    functionName: dh_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - DH_get0_g
    - DH_get0_priv_key
    - DH_get0_p
    - DH_get0_pub_key
    linkageType: ''
    returnType: int
    signature: int dh_has(const void *keydata, int selection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:157,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:164,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:165,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:168,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:174,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:175,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:178,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:185,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:186,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 191
    functionName: dh_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - ossl_prov_is_running
    - BN_cmp
    - DH_get0_priv_key
    - DH_get0_pub_key
    - ossl_ffc_params_cmp
    linkageType: ''
    returnType: int
    signature: int dh_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:198,1
    - Dst: ossl_dh_params_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:205,1
    - Dst: ossl_dh_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:211,1
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:218,1
    - Dst: ossl_dh_check_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:219,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 193
    functionDepth: 10
    functionLinenumber: 193
    functionLinenumberEnd: 227
    functionName: dh_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_check_pairwise
    - ossl_prov_is_running
    - ossl_dh_key_fromdata
    - ossl_set_error_state
    - ossl_dh_params_fromdata
    - ossl_fips_self_testing
    linkageType: ''
    returnType: int
    signature: int dh_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:237,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:243,1
    - Dst: ossl_dh_params_todata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:248,1
    - Dst: ossl_dh_key_todata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:254,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:257,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:262,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:263,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:265,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 229
    functionDepth: 8
    functionLinenumber: 229
    functionLinenumberEnd: 267
    functionName: dh_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ossl_dh_key_todata
    - OSSL_PARAM_free
    - ossl_dh_params_todata
    - param_cb
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int dh_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,\n
      \                    void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: dh_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dh_imexport_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_imexport_types
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: dh_import_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - dh_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dh_import_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_imexport_types
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: dh_export_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - dh_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dh_export_types(int selection)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:334,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:335,1
    - Dst: DH_bits
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:335,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:337,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:338,1
    - Dst: DH_security_bits
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:338,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:340,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:341,1
    - Dst: DH_size
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:341,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:343,1
    - Dst: ossl_dh_key2buf
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:346,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:351,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:352,1
    - Dst: ossl_dh_params_todata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:355,1
    - Dst: ossl_dh_key_todata
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:356,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 329
    functionDepth: 8
    functionLinenumber: 329
    functionLinenumberEnd: 357
    functionName: dh_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - DH_bits
    - DH_security_bits
    - ossl_dh_key2buf
    - ossl_dh_key_todata
    - OSSL_PARAM_set_int
    - DH_size
    - ossl_dh_params_todata
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline dh_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: dh_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dh_gettable_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: dh_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dh_settable_params(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:391,1
    - Dst: ossl_dh_buf2key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 386
    functionDepth: 6
    functionLinenumber: 386
    functionLinenumberEnd: 398
    functionName: dh_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_buf2key
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int dh_set_params(void *key, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:405,1
    - Dst: ossl_dh_is_named_safe_prime_group
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:413,1
    - Dst: ossl_dh_check_pub_key_partial
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:414,1
    - Dst: DH_check_pub_key_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dh
    - checktype
    argTypes:
    - DH*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: dh_validate_public
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_check_pub_key_partial
    - ossl_dh_is_named_safe_prime_group
    - DH_get0_key
    - DH_check_pub_key_ex
    linkageType: ''
    returnType: int
    signature: int dh_validate_public(const DH *dh, int checktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:424,1
    - Dst: ossl_dh_check_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: dh_validate_private
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_check_priv_key
    - DH_get0_key
    linkageType: ''
    returnType: int
    signature: int dh_validate_private(const DH *dh)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:435,1
    - Dst: DH_check_params_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:448,1
    - Dst: DH_check_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:450,1
    - Dst: dh_validate_public
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:454,1
    - Dst: dh_validate_private
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:457,1
    - Dst: ossl_dh_check_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 430
    functionDepth: 10
    functionLinenumber: 430
    functionLinenumberEnd: 463
    functionName: dh_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_check_pairwise
    - ossl_prov_is_running
    - dh_validate_private
    - DH_check_ex
    - DH_check_params_ex
    - dh_validate_public
    linkageType: ''
    returnType: int
    signature: int dh_validate(const void *keydata, int selection, int checktype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:468,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:471,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:478,1
    - Dst: dh_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:499,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - provctx
    - selection
    - params
    - type
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 504
    functionName: dh_gen_init_base
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - dh_gen_set_params
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: "void *dh_gen_init_base(void *provctx, int selection,\n                              const
      OSSL_PARAM params[], int type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_init_base
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: dh_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - dh_gen_init_base
    linkageType: ''
    returnType: void
    signature: "void *dh_gen_init(void *provctx, int selection,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_init_base
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: dhx_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - dh_gen_init_base
    linkageType: ''
    returnType: void
    signature: "void *dhx_gen_init(void *provctx, int selection,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:523,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: dh_gen_set_template
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int dh_gen_set_template(void *genctx, void *templ)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:532,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - gctx
    - seed
    - seedlen
    argTypes:
    - struct dh_gen_ctx*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 542
    functionName: dh_set_gen_seed
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int dh_set_gen_seed(struct dh_gen_ctx *gctx, unsigned char *seed,\n
      \                          size_t seedlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:552,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:555,1
    - Dst: dh_gen_type_name2id_w_default
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:559,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:560,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:566,1
    - Dst: ossl_ffc_name_to_dh_named_group
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:572,1
    - Dst: ossl_ffc_named_group_get_uid
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:574,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:575,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:579,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:580,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:582,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:583,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 544
    functionDepth: 6
    functionLinenumber: 544
    functionLinenumberEnd: 586
    functionName: dh_gen_common_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_size_t
    - ossl_param_is_empty
    - ERR_raise
    - dh_gen_type_name2id_w_default
    - OSSL_PARAM_locate_const
    - ossl_ffc_named_group_get_uid
    - OSSL_PARAM_get_int
    - ossl_ffc_name_to_dh_named_group
    linkageType: ''
    returnType: int
    signature: int dh_gen_common_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:592,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:593,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:594,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:595,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 600
    functionName: dh_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - OSSL_PARAM_size_t
    - OSSL_PARAM_int
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dh_gen_settable_params(ossl_unused void *genctx,\n                                                ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:606,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:607,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:608,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:609,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:610,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:611,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:612,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:613,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:614,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:615,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 620
    functionName: dhx_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - OSSL_PARAM_size_t
    - OSSL_PARAM_int
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dhx_gen_settable_params(ossl_unused void *genctx,\n                                                 ossl_unused
      void *provctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_common_set_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:627,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:631,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:632,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:634,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:635,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:637,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:638,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:640,1
    - Dst: dh_set_gen_seed
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:643,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:645,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:646,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:648,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:652,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:653,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:657,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:661,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:662,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:668,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:670,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 622
    functionDepth: 7
    functionLinenumber: 622
    functionLinenumberEnd: 674
    functionName: dhx_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - dh_set_gen_seed
    - OSSL_PARAM_locate_const
    - OPENSSL_free
    - OPENSSL_strdup
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_size_t
    - dh_gen_common_set_params
    linkageType: ''
    returnType: int
    signature: int dhx_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dh_gen_common_set_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:681,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:684,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:685,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:689,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:690,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:691,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:692,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:693,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:694,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:695,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:697,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 676
    functionDepth: 7
    functionLinenumber: 676
    functionLinenumberEnd: 701
    functionName: dh_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_get_int
    - OSSL_PARAM_locate_const
    - ERR_raise
    - dh_gen_common_set_params
    linkageType: ''
    returnType: int
    signature: int dh_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_get_arg
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:705,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:708,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:709,1
    - Dst: struct dh_gen_ctx*::cb
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 712
    functionName: dh_gencb
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_get_arg
    - struct dh_gen_ctx*::cb
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int dh_gencb(int p, int n, BN_GENCB *cb)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:722,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:739,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:741,1
    - Dst: ossl_dh_get_named_group_uid_from_size
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:751,1
    - Dst: ossl_dh_new_by_nid_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:754,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:757,1
    - Dst: ossl_dh_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:759,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:762,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:766,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:769,1
    - Dst: ossl_ffc_params_set_gindex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:772,1
    - Dst: ossl_ffc_params_set_pcounter
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:774,1
    - Dst: ossl_ffc_params_set_h
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:776,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:779,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:782,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:784,1
    - Dst: DH_generate_parameters_ex
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:793,1
    - Dst: ossl_dh_generate_ffc_parameters
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:796,1
    - Dst: DH_set_length
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:808,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:809,1
    - Dst: DH_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:811,1
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:814,1
    - Dst: ossl_dh_check_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:815,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:817,1
    - Dst: DH_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:823,1
    - Dst: DH_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:824,1
    - Dst: DH_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:829,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:832,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 83
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 714
    functionDepth: 10
    functionLinenumber: 714
    functionLinenumberEnd: 834
    functionName: dh_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_set_h
    - ossl_dh_generate_ffc_parameters
    - ossl_dh_check_pairwise
    - DH_set_flags
    - ossl_fips_self_testing
    - DH_generate_parameters_ex
    - ossl_ffc_set_digest
    - ossl_assert
    - ossl_ffc_params_set_pcounter
    - ossl_set_error_state
    - ossl_ffc_params_set_seed
    - ossl_dh_get0_params
    - BN_GENCB_new
    - BN_GENCB_set
    - ossl_dh_new_by_nid_ex
    - ossl_dh_new_ex
    - ERR_raise_data
    - ossl_ffc_params_copy
    - DH_free
    - ossl_ffc_params_enable_flags
    - ossl_dh_get_named_group_uid_from_size
    - DH_clear_flags
    - ossl_prov_is_running
    - ossl_ffc_params_set_gindex
    - DH_generate_key
    - BN_GENCB_free
    - DH_set_length
    linkageType: ''
    returnType: void
    signature: void *dh_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:843,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:844,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:845,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 847
    functionName: dh_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void dh_gen_cleanup(void *genctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 861
    functionName: dh_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *dh_load(const void *reference, size_t reference_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:865,1
    - Dst: ossl_dh_dup
      Src: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 863
    functionDepth: 6
    functionLinenumber: 863
    functionLinenumberEnd: 868
    functionName: dh_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_prov_is_running
    - ossl_dh_dup
    linkageType: ''
    returnType: void
    signature: void *dh_dup(const void *keydata_from, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 900
    functionName: dhx_query_operation_name
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dh_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dhx_query_operation_name(int operation_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:66,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - pss_params
    - defaults_set
    - params
    - rsa_type
    - libctx
    argTypes:
    - RSA_PSS_PARAMS_30*
    - int*
    - OSSL_PARAM[]
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 11
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: pss_params_fromdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_pss_params_30_fromdata
    - ossl_rsa_pss_params_30_is_unrestricted
    linkageType: ''
    returnType: int
    signature: "int pss_params_fromdata(RSA_PSS_PARAMS_30 *pss_params, int *defaults_set,\n
      \                              const OSSL_PARAM params[], int rsa_type,\n                               OSSL_LIB_CTX
      *libctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:80,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:83,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:86,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:88,1
    - Dst: RSA_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: rsa_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_new_with_ctx
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - RSA_clear_flags
    - RSA_set_flags
    linkageType: ''
    returnType: void
    signature: void *rsa_newdata(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:96,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:99,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:102,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:104,1
    - Dst: RSA_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: rsapss_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_new_with_ctx
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - RSA_clear_flags
    - RSA_set_flags
    linkageType: ''
    returnType: void
    signature: void *rsapss_newdata(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 6
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: rsa_freedata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_free
    linkageType: ''
    returnType: void
    signature: void rsa_freedata(void *keydata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:120,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:127,1
    - Dst: RSA_get0_e
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:129,1
    - Dst: RSA_get0_d
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: rsa_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_get0_n
    - ossl_prov_is_running
    - RSA_get0_e
    - RSA_get0_d
    linkageType: ''
    returnType: int
    signature: int rsa_has(const void *keydata, int selection)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:141,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:145,1
    - Dst: RSA_get0_e
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:145,1
    - Dst: RSA_get0_e
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:145,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:150,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:151,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:154,1
    - Dst: RSA_get0_d
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:160,1
    - Dst: RSA_get0_d
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:161,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: rsa_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - RSA_get0_d
    - BN_cmp
    - RSA_get0_n
    - RSA_get0_e
    linkageType: ''
    returnType: int
    signature: int rsa_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:180,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:186,1
    - Dst: pss_params_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:189,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:189,1
    - Dst: ossl_rsa_get0_libctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:192,1
    - Dst: ossl_rsa_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:197,1
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:201,1
    - Dst: RSA_get0_key
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:204,1
    - Dst: RSA_get0_crt_params
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:205,1
    - Dst: RSA_get0_p
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:206,1
    - Dst: RSA_get0_q
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:207,1
    - Dst: ossl_rsa_key_pairwise_test
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:214,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 21
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 173
    functionDepth: 12
    functionLinenumber: 173
    functionLinenumberEnd: 218
    functionName: rsa_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_test_flags
    - ossl_prov_is_running
    - ossl_rsa_get0_pss_params_30
    - RSA_get0_key
    - ossl_rsa_key_pairwise_test
    - ossl_fips_self_testing
    - RSA_get0_p
    - ossl_rsa_fromdata
    - pss_params_fromdata
    - RSA_get0_q
    - ossl_rsa_get0_libctx
    - RSA_get0_crt_params
    linkageType: ''
    returnType: int
    signature: int rsa_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:224,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:229,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:235,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:240,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:241,1
    - Dst: ossl_rsa_todata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:246,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:249,1
    - Dst: param_callback
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:254,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:255,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_callback
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 220
    functionDepth: 7
    functionLinenumber: 220
    functionLinenumberEnd: 259
    functionName: rsa_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - param_callback
    - ossl_prov_is_running
    - ossl_rsa_pss_params_30_todata
    - ossl_rsa_get0_pss_params_30
    - OSSL_PARAM_free
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_rsa_todata
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int rsa_export(void *keydata, int selection,\n                      OSSL_CALLBACK
      *param_callback, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: RSA_KEY_MP_TYPES
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSA_KEY_MP_TYPES()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 304
    functionName: RSA_KEY_MP_TYPES
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSA_KEY_MP_TYPES()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: RSA_KEY_TYPES
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSA_KEY_TYPES()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: rsa_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *rsa_imexport_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_imexport_types
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: rsa_import_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - rsa_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *rsa_import_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rsa_imexport_types
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: rsa_export_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - rsa_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *rsa_export_types(int selection)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:350,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:351,1
    - Dst: RSA_get0_n
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:353,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:355,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:356,1
    - Dst: RSA_bits
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:356,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:358,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:359,1
    - Dst: RSA_security_bits
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:359,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:361,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:362,1
    - Dst: RSA_size
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:362,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:364,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:365,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:372,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:374,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:375,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:383,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:386,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:388,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:388,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:390,1
    - Dst: ossl_rsa_pss_params_30_todata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:394,1
    - Dst: ossl_rsa_todata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:395,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 19
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 347
    functionDepth: 7
    functionLinenumber: 347
    functionLinenumberEnd: 396
    functionName: rsa_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - RSA_test_flags
    - ossl_rsa_pss_params_30_todata
    - ossl_rsa_get0_pss_params_30
    - RSA_security_bits
    - RSA_size
    - OSSL_PARAM_set_int
    - RSA_get0_n
    - RSA_bits
    - ossl_rsa_todata
    - ossl_rsa_pss_params_30_is_unrestricted
    - OSSL_PARAM_set_utf8_string
    - ossl_rsa_pss_params_30_hashalg
    - ossl_rsa_oaeppss_nid2name
    linkageType: ''
    returnType: int
    signature: int rsa_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: rsa_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *rsa_gettable_params(void *provctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:418,1
    - Dst: ossl_rsa_validate_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:427,1
    - Dst: ossl_rsa_validate_private
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:430,1
    - Dst: ossl_rsa_validate_public
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 413
    functionDepth: 9
    functionLinenumber: 413
    functionLinenumberEnd: 435
    functionName: rsa_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_validate_pairwise
    - ossl_rsa_validate_private
    - ossl_prov_is_running
    - ossl_rsa_validate_public
    linkageType: ''
    returnType: int
    signature: int rsa_validate(const void *keydata, int selection, int checktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_get_arg
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:463,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:466,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:467,1
    - Dst: struct rsa_gen_ctx*::cb
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: rsa_gencb
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - struct rsa_gen_ctx*::cb
    - BN_GENCB_get_arg
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int rsa_gencb(int p, int n, BN_GENCB *cb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:474,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:477,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:483,1
    - Dst: BN_new
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:485,1
    - Dst: BN_set_word
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:486,1
    - Dst: rsa_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:496,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:502,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:503,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - provctx
    - selection
    - rsa_type
    - params
    argTypes:
    - void*
    - int
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 505
    functionName: gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 75
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - rsa_gen_set_params
    - BN_set_word
    - PROV_LIBCTX_OF
    - OPENSSL_free
    - BN_new
    - BN_free
    linkageType: ''
    returnType: void
    signature: "void *gen_init(void *provctx, int selection, int rsa_type,\n                      const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_init
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: rsa_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - gen_init
    linkageType: ''
    returnType: void
    signature: "void *rsa_gen_init(void *provctx, int selection,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_init
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: rsapss_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - gen_init
    linkageType: ''
    returnType: void
    signature: "void *rsapss_gen_init(void *provctx, int selection,\n                             const
      OSSL_PARAM params[])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:529,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:532,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:533,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:536,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:540,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:541,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:543,1
    - Dst: OSSL_PARAM_get_BN
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:544,1
    - Dst: pss_params_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:548,1
    - Dst: ossl_rsa_acvp_test_gen_params_new
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:553,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 524
    functionDepth: 12
    functionLinenumber: 524
    functionLinenumberEnd: 557
    functionName: rsa_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_param_is_empty
    - OSSL_PARAM_get_BN
    - ERR_raise
    - ossl_rsa_acvp_test_gen_params_new
    - OSSL_PARAM_locate_const
    - pss_params_fromdata
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int rsa_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 584
    functionName: rsa_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsa_gen_settable_params(ossl_unused void *genctx,\n                                                 ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 596
    functionName: rsapss_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *rsapss_gen_settable_params(ossl_unused void *genctx,\n
      \                                                   ossl_unused void *provctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:604,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:610,1
    - Dst: ossl_rsa_new_with_ctx
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:624,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:629,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:631,1
    - Dst: ossl_rsa_acvp_test_set_params
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:635,1
    - Dst: RSA_generate_multi_prime_key
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:640,1
    - Dst: ossl_rsa_pss_params_30_copy
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:645,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:645,1
    - Dst: RSA_clear_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:649,1
    - Dst: RSA_set_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:650,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:655,1
    - Dst: RSA_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:656,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 598
    functionDepth: 6
    functionLinenumber: 598
    functionLinenumberEnd: 658
    functionName: rsa_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_acvp_test_set_params
    - ossl_rsa_new_with_ctx
    - ossl_prov_is_running
    - BN_GENCB_new
    - ossl_rsa_pss_params_30_copy
    - ossl_rsa_get0_pss_params_30
    - RSA_set_flags
    - BN_GENCB_set
    - RSA_free
    - RSA_clear_flags
    - BN_GENCB_free
    - ossl_rsa_pss_params_30_is_unrestricted
    - RSA_generate_multi_prime_key
    linkageType: ''
    returnType: void
    signature: void *rsa_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_acvp_test_gen_params_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:667,1
    - Dst: BN_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:670,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 672
    functionName: rsa_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - OPENSSL_free
    - ossl_rsa_acvp_test_gen_params_free
    linkageType: ''
    returnType: void
    signature: void rsa_gen_cleanup(void *genctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:679,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - reference
    - reference_sz
    - expected_rsa_type
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 691
    functionName: common_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - RSA_test_flags
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: "void *common_load(const void *reference, size_t reference_sz,\n                         int
      expected_rsa_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_load
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: rsa_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_load
    linkageType: ''
    returnType: void
    signature: void *rsa_load(const void *reference, size_t reference_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_load
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: rsapss_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_load
    linkageType: ''
    returnType: void
    signature: void *rsapss_load(const void *reference, size_t reference_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:705,1
    - Dst: ossl_rsa_dup
      Src: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 703
    functionDepth: 7
    functionLinenumber: 703
    functionLinenumberEnd: 710
    functionName: rsa_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_prov_is_running
    - ossl_rsa_dup
    linkageType: ''
    returnType: void
    signature: void *rsa_dup(const void *keydata_from, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 716
    functionName: rsa_query_operation_name
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/rsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rsa_query_operation_name(int operation_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:94,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: dsa_gen_type_name2id
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: int dsa_gen_type_name2id(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:109,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:112,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - dsa
    - bld
    - params
    - include_private
    argTypes:
    - DSA*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: dsa_key_todata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_param_build_set_bn
    - DSA_get0_key
    linkageType: ''
    returnType: int
    signature: "int dsa_key_todata(DSA *dsa, OSSL_PARAM_BLD *bld, OSSL_PARAM params[],\n
      \                         int include_private)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:123,1
    - Dst: ossl_dsa_new
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:125,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: dsa_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - ossl_dsa_new
    linkageType: ''
    returnType: void
    signature: void *dsa_newdata(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSA_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: dsa_freedata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - DSA_free
    linkageType: ''
    returnType: void
    signature: void dsa_freedata(void *keydata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:138,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:144,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:146,1
    - Dst: DSA_get0_p
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:148,1
    - Dst: DSA_get0_g
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: dsa_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - DSA_get0_priv_key
    - ossl_prov_is_running
    - DSA_get0_pub_key
    - DSA_get0_g
    - DSA_get0_p
    linkageType: ''
    returnType: int
    signature: int dsa_has(const void *keydata, int selection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:158,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:165,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:166,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:169,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:175,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:176,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:179,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:186,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:187,1
    - Dst: ossl_ffc_params_cmp
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:189,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 192
    functionName: dsa_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_get0_params
    - DSA_get0_priv_key
    - ossl_prov_is_running
    - BN_cmp
    - DSA_get0_pub_key
    - ossl_ffc_params_cmp
    linkageType: ''
    returnType: int
    signature: int dsa_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:199,1
    - Dst: ossl_dsa_ffc_params_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:206,1
    - Dst: ossl_dsa_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 7
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: dsa_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_ffc_params_fromdata
    - ossl_prov_is_running
    - ossl_dsa_key_fromdata
    linkageType: ''
    returnType: int
    signature: int dsa_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:226,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:232,1
    - Dst: ossl_ffc_params_todata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:237,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:237,1
    - Dst: dsa_key_todata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:242,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:245,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:250,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:251,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:253,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 218
    functionDepth: 7
    functionLinenumber: 218
    functionLinenumberEnd: 255
    functionName: dsa_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_get0_params
    - ossl_prov_is_running
    - ossl_ffc_params_todata
    - OSSL_PARAM_free
    - dsa_key_todata
    - param_cb
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int dsa_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,\n
      \                     void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: dsa_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dsa_imexport_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_imexport_types
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: dsa_import_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - dsa_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dsa_import_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsa_imexport_types
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: dsa_export_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - dsa_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dsa_export_types(int selection)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:320,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:321,1
    - Dst: DSA_bits
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:321,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:323,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:324,1
    - Dst: DSA_security_bits
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:324,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:326,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:327,1
    - Dst: DSA_size
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:327,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:329,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:330,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:332,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:333,1
    - Dst: ossl_ffc_params_todata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:335,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:335,1
    - Dst: dsa_key_todata
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:336,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 8
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: dsa_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - DSA_security_bits
    - ossl_dsa_get0_params
    - DSA_size
    - DSA_bits
    - ossl_ffc_params_todata
    - OSSL_PARAM_set_int
    - dsa_key_todata
    - OSSL_PARAM_set_utf8_string
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline dsa_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: dsa_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *dsa_gettable_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_dsa_check_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dsa
    - checktype
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 6
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: dsa_validate_domparams
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_check_params
    linkageType: ''
    returnType: int
    signature: int dsa_validate_domparams(const DSA *dsa, int checktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:368,1
    - Dst: ossl_dsa_check_pub_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 5
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: dsa_validate_public
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_check_pub_key
    - DSA_get0_key
    linkageType: ''
    returnType: int
    signature: int dsa_validate_public(const DSA *dsa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:379,1
    - Dst: ossl_dsa_check_priv_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dsa
    argTypes:
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 5
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: dsa_validate_private
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_check_priv_key
    - DSA_get0_key
    linkageType: ''
    returnType: int
    signature: int dsa_validate_private(const DSA *dsa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:390,1
    - Dst: dsa_validate_domparams
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:397,1
    - Dst: dsa_validate_public
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:400,1
    - Dst: dsa_validate_private
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:403,1
    - Dst: ossl_dsa_check_pairwise
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 385
    functionDepth: 7
    functionLinenumber: 385
    functionLinenumberEnd: 410
    functionName: dsa_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - dsa_validate_private
    - ossl_dsa_check_pairwise
    - ossl_prov_is_running
    - dsa_validate_public
    - dsa_validate_domparams
    linkageType: ''
    returnType: int
    signature: int dsa_validate(const void *keydata, int selection, int checktype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:415,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:418,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:421,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:434,1
    - Dst: dsa_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:436,1
    - Dst: dsa_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 441
    functionName: dsa_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - dsa_gen_cleanup
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - dsa_gen_set_params
    linkageType: ''
    returnType: void
    signature: "void *dsa_gen_init(void *provctx, int selection,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:448,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: dsa_gen_set_template
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_get0_params
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int dsa_gen_set_template(void *genctx, void *templ)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:457,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - gctx
    - seed
    - seedlen
    argTypes:
    - struct dsa_gen_ctx*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 467
    functionName: dsa_set_gen_seed
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int dsa_set_gen_seed(struct dsa_gen_ctx *gctx, unsigned char *seed,\n
      \                           size_t seedlen)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:477,1
    - Dst: OSSL_FIPS_IND_SET_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:480,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:484,1
    - Dst: dsa_gen_type_name2id
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:487,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:488,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:500,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:502,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:504,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:506,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:508,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:510,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:512,1
    - Dst: dsa_set_gen_seed
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:515,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:517,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:518,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:520,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:521,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:523,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:527,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:528,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:532,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:536,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:537,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 469
    functionDepth: 6
    functionLinenumber: 469
    functionLinenumberEnd: 542
    functionName: dsa_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - ossl_param_is_empty
    - ERR_raise
    - dsa_gen_type_name2id
    - dsa_set_gen_seed
    - OSSL_PARAM_locate_const
    - OPENSSL_free
    - OPENSSL_strdup
    - OSSL_PARAM_get_int
    - OSSL_FIPS_IND_SET_CTX_PARAM
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int dsa_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:548,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:549,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:550,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:551,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:552,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:553,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:554,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:555,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:556,1
    - Dst: OSSL_FIPS_IND_SETTABLE_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 561
    functionName: dsa_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - OSSL_FIPS_IND_SETTABLE_CTX_PARAM
    - OSSL_PARAM_int
    - OSSL_PARAM_octet_string
    - OSSL_PARAM_size_t
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dsa_gen_settable_params(ossl_unused void *genctx,\n                                                 ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:569,1
    - Dst: OSSL_FIPS_IND_GET_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 574
    functionName: dsa_gen_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GET_CTX_PARAM
    - ossl_param_is_empty
    linkageType: ''
    returnType: int
    signature: int dsa_gen_get_params(void *genctx, OSSL_PARAM *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_GETTABLE_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: dsa_gen_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GETTABLE_CTX_PARAM
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *dsa_gen_gettable_params(ossl_unused void *ctx,\n                                                 ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_GENCB_get_arg
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:589,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:592,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:593,1
    - Dst: struct dsa_gen_ctx*::cb
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 596
    functionName: dsa_gencb
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - struct dsa_gen_ctx*::cb
    - BN_GENCB_get_arg
    - OSSL_PARAM_construct_int
    linkageType: ''
    returnType: int
    signature: int dsa_gencb(int p, int n, BN_GENCB *cb)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:606,1
    - Dst: OSSL_FIPS_IND_ON_UNAPPROVED
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:614,1
    - Dst: ossl_dsa_new
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:620,1
    - Dst: ossl_assert
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:634,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:636,1
    - Dst: BN_GENCB_new
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:643,1
    - Dst: BN_GENCB_set
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:645,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:647,1
    - Dst: ossl_ffc_params_copy
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:650,1
    - Dst: ossl_ffc_params_set_seed
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:654,1
    - Dst: ossl_ffc_params_set_gindex
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:657,1
    - Dst: ossl_ffc_params_set_pcounter
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:659,1
    - Dst: ossl_ffc_params_set_h
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:661,1
    - Dst: ossl_ffc_set_digest
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:664,1
    - Dst: ossl_dsa_generate_ffc_parameters
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:668,1
    - Dst: ossl_ffc_params_enable_flags
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:673,1
    - Dst: DSA_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:680,1
    - Dst: DSA_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:686,1
    - Dst: BN_GENCB_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:689,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 60
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 598
    functionDepth: 5
    functionLinenumber: 598
    functionLinenumberEnd: 691
    functionName: dsa_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ffc_params_set_h
    - ossl_ffc_set_digest
    - ossl_assert
    - OSSL_FIPS_IND_ON_UNAPPROVED
    - ossl_ffc_params_set_pcounter
    - ossl_dsa_generate_ffc_parameters
    - ossl_ffc_params_set_seed
    - ossl_dsa_new
    - ossl_dsa_get0_params
    - BN_GENCB_new
    - DSA_free
    - BN_GENCB_set
    - ERR_raise_data
    - ossl_ffc_params_copy
    - DSA_generate_key
    - ossl_ffc_params_enable_flags
    - ossl_prov_is_running
    - ossl_ffc_params_set_gindex
    - BN_GENCB_free
    linkageType: ''
    returnType: void
    signature: void *dsa_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:700,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:701,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:702,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 704
    functionName: dsa_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void dsa_gen_cleanup(void *genctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 718
    functionName: dsa_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *dsa_load(const void *reference, size_t reference_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:722,1
    - Dst: ossl_dsa_dup
      Src: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 6
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: dsa_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/dsa_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_prov_is_running
    - ossl_dsa_dup
    linkageType: ''
    returnType: void
    signature: void *dsa_dup(const void *keydata_from, int selection)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: ec_query_operation_name
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ec_query_operation_name(int operation_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - operation_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: sm2_query_operation_name
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sm2_query_operation_name(int operation_id)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:129,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:132,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:133,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:141,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:141,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:148,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:149,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:150,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:155,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:157,1
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:160,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:167,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:172,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:177,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:180,1
    - Dst: ossl_param_build_set_bn
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:184,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:227,1
    - Dst: ossl_param_build_set_bn_pad
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:232,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:239,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 59
    argCount: 5
    argNames:
    - eckey
    - tmpl
    - params
    - include_private
    - pub_key
    argTypes:
    - EC_KEY*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    - int
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 241
    functionName: key_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - BN_CTX_get
    - EC_POINT_get_affine_coordinates
    - ossl_param_build_set_bn_pad
    - ossl_ec_key_get_libctx
    - EC_KEY_get_conv_form
    - EC_KEY_get0_private_key
    - ossl_param_build_set_octet_string
    - BN_CTX_free
    - EC_KEY_get0_group
    - ossl_param_build_set_bn
    - EC_KEY_get0_public_key
    - EC_GROUP_order_bits
    - BN_CTX_new_ex
    - EC_POINT_point2buf
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline key_to_params(const EC_KEY *eckey, OSSL_PARAM_BLD *tmpl,\n
      \                 OSSL_PARAM params[], int include_private,\n                  unsigned
      char **pub_key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:254,1
    - Dst: ossl_ec_pt_format_id2name
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:255,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:257,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:262,1
    - Dst: ossl_ec_check_group_type_id2name
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:263,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:265,1
    - Dst: EC_KEY_get_enc_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:270,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:271,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:276,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ec
    - tmpl
    - params
    argTypes:
    - EC_KEY*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 280
    functionName: otherparams_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get_conv_form
    - ossl_ec_check_group_type_id2name
    - EC_KEY_get_enc_flags
    - ossl_param_build_set_utf8_string
    - ossl_ec_pt_format_id2name
    - ossl_param_build_set_int
    - EC_KEY_get_flags
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline otherparams_to_params(const EC_KEY *ec, OSSL_PARAM_BLD
      *tmpl,\n                          OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:285,1
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:287,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: ec_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - EC_KEY_new_ex
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: void *ec_newdata(void *provctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:295,1
    - Dst: EC_KEY_new_by_curve_name_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:297,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: sm2_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_new_by_curve_name_ex
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: void *sm2_newdata(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keydata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: ec_freedata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void ec_freedata(void *keydata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:314,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:320,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:322,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:324,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 331
    functionName: ec_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - ossl_prov_is_running
    - EC_KEY_get0_private_key
    - EC_KEY_get0_group
    linkageType: ''
    returnType: int
    signature: int ec_has(const void *keydata, int selection)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:337,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:338,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:342,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:345,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:345,1
    - Dst: EC_GROUP_cmp
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:351,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:356,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:357,1
    - Dst: EC_POINT_cmp
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:360,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:366,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:367,1
    - Dst: BN_cmp
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:370,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:376,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 378
    functionName: ec_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_cmp
    - ossl_prov_is_running
    - ossl_ec_key_get_libctx
    - BN_cmp
    - EC_KEY_get0_private_key
    - BN_CTX_free
    - EC_POINT_cmp
    - EC_KEY_get0_group
    - EC_KEY_get0_public_key
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ec_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:388,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ec
    - sm2_wanted
    argTypes:
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: common_check_sm2
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int common_check_sm2(const EC_KEY *ec, int sm2_wanted)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:401,1
    - Dst: ossl_ec_group_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:420,1
    - Dst: common_check_sm2
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:422,1
    - Dst: ossl_ec_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:429,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:432,1
    - Dst: ossl_fips_self_testing
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:436,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:437,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:438,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:439,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:440,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:440,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:442,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:443,1
    - Dst: ossl_set_error_state
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:445,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 4
    argNames:
    - keydata
    - selection
    - params
    - sm2_wanted
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 394
    functionDepth: 8
    functionLinenumber: 394
    functionLinenumberEnd: 450
    functionName: common_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ossl_ec_key_get_libctx
    - ossl_ec_group_fromdata
    - ossl_ec_key_fromdata
    - common_check_sm2
    - EC_KEY_get0_public_key
    - ossl_ec_key_otherparams_fromdata
    - EC_KEY_get0_private_key
    - ossl_ec_key_pairwise_check
    - EC_KEY_get0_group
    - BN_CTX_free
    - ossl_set_error_state
    - ossl_fips_self_testing
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: "int common_import(void *keydata, int selection, const OSSL_PARAM params[],\n
      \                 int sm2_wanted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_import
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 9
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: ec_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_import
    linkageType: ''
    returnType: int
    signature: int ec_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_import
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 460
    functionDepth: 9
    functionLinenumber: 460
    functionLinenumberEnd: 464
    functionName: sm2_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_import
    linkageType: ''
    returnType: int
    signature: int sm2_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:479,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:501,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:506,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:506,1
    - Dst: BN_CTX_start
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:511,1
    - Dst: ossl_ec_group_todata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:512,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:512,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:513,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:514,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:522,1
    - Dst: otherparams_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:525,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:527,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:532,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:533,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:535,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:536,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:537,1
    - Dst: BN_CTX_end
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:538,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:539,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 468
    functionDepth: 7
    functionLinenumber: 468
    functionLinenumberEnd: 541
    functionName: ec_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - BN_CTX_end
    - BN_CTX_start
    - OSSL_PARAM_free
    - ossl_ec_key_get_libctx
    - ossl_ec_group_todata
    - OSSL_PARAM_BLD_to_param
    - OPENSSL_free
    - BN_CTX_free
    - EC_KEY_get0_group
    - OSSL_PARAM_BLD_free
    - key_to_params
    - param_cb
    - otherparams_to_params
    - ossl_ec_key_get0_propq
    - BN_CTX_new_ex
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int ec_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,\n
      \             void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 590
    functionName: ec_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline *ec_imexport_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_imexport_types
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: ec_import_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ec_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ec_import_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ec_imexport_types
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: ec_export_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ec_imexport_types
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ec_export_types(int selection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:613,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:618,1
    - Dst: EC_GROUP_get_degree
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:626,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:627,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:628,1
    - Dst: EC_GROUP_get_trinomial_basis
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:634,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:635,1
    - Dst: EC_GROUP_get_pentanomial_basis
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:640,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:641,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:643,1
    - Dst: ossl_param_build_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:645,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - group
    - params
    argTypes:
    - EC_GROUP*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 604
    functionDepth: 6
    functionLinenumber: 604
    functionLinenumberEnd: 653
    functionName: ec_get_ecm_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_get_degree
    - EC_GROUP_get_pentanomial_basis
    - ossl_param_build_set_utf8_string
    - ossl_param_build_set_int
    - EC_GROUP_get_basis_type
    - EC_GROUP_get_field_type
    - EC_GROUP_get_trinomial_basis
    linkageType: ''
    returnType: int
    signature: int ec_get_ecm_params(const EC_GROUP *group, OSSL_PARAM params[])
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:667,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:669,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:673,1
    - Dst: ossl_ec_key_get0_propq
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:674,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:676,1
    - Dst: BN_CTX_start
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:679,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:681,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:682,1
    - Dst: ECDSA_size
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:682,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:684,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:685,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:685,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:687,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:690,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:721,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:724,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:725,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:728,1
    - Dst: EC_KEY_decoded_from_explicit_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:731,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:734,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:739,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:740,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:743,1
    - Dst: OSSL_PARAM_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:744,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:750,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:755,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:757,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:761,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:763,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:766,1
    - Dst: EC_POINT_point2oct
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:769,1
    - Dst: ec_get_ecm_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:776,1
    - Dst: ossl_ec_group_todata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:777,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:779,1
    - Dst: otherparams_to_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:780,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:782,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:783,1
    - Dst: BN_CTX_end
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:784,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:785,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 81
    argCount: 3
    argNames:
    - key
    - params
    - sm2
    argTypes:
    - void*
    - OSSL_PARAM[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 655
    functionDepth: 8
    functionLinenumber: 655
    functionLinenumberEnd: 787
    functionName: common_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ossl_ec_group_todata
    - EC_KEY_decoded_from_explicit_params
    - OPENSSL_free
    - EC_KEY_get0_public_key
    - EC_GROUP_order_bits
    - ossl_ec_key_get0_propq
    - BN_CTX_new_ex
    - EC_KEY_get_flags
    - BN_CTX_end
    - ossl_ec_key_get_libctx
    - ECDSA_size
    - OSSL_PARAM_set_int
    - BN_CTX_free
    - OSSL_PARAM_set_utf8_string
    - OSSL_PARAM_locate
    - key_to_params
    - EC_POINT_point2oct
    - BN_CTX_start
    - ec_get_ecm_params
    - EC_KEY_get0_group
    - otherparams_to_params
    linkageType: ''
    returnType: int
    signature: int common_get_params(void *key, OSSL_PARAM params[], int sm2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_get_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 789
    functionDepth: 9
    functionLinenumber: 789
    functionLinenumberEnd: 793
    functionName: ec_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_get_params
    linkageType: ''
    returnType: int
    signature: int ec_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: ec_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ec_gettable_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 846
    functionName: ec_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *ec_settable_params(void *provctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:856,1
    - Dst: ossl_ec_group_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:859,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:859,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:862,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:864,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:864,1
    - Dst: EC_KEY_oct2key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:869,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:871,1
    - Dst: ossl_ec_key_otherparams_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:876,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 848
    functionDepth: 8
    functionLinenumber: 848
    functionLinenumberEnd: 877
    functionName: ec_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_param_is_empty
    - ossl_ec_group_set_params
    - ossl_ec_key_get_libctx
    - OSSL_PARAM_locate_const
    - ossl_ec_key_otherparams_fromdata
    - BN_CTX_free
    - EC_KEY_get0_group
    - EC_KEY_oct2key
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int ec_set_params(void *key, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_get_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 9
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: sm2_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_get_params
    linkageType: ''
    returnType: int
    signature: int sm2_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: sm2_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *sm2_gettable_params(ossl_unused void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 917
    functionName: sm2_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *sm2_settable_params(ossl_unused void *provctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:926,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:932,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:932,1
    - Dst: EC_GROUP_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:937,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:937,1
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:941,1
    - Dst: ossl_ec_key_public_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:943,1
    - Dst: ossl_sm2_key_private_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:947,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:950,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:952,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 919
    functionDepth: 6
    functionLinenumber: 919
    functionLinenumberEnd: 954
    functionName: sm2_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ossl_ec_key_public_check_quick
    - EC_GROUP_check
    - ossl_ec_key_get_libctx
    - ossl_ec_key_public_check
    - BN_CTX_free
    - ossl_ec_key_pairwise_check
    - EC_KEY_get0_group
    - ossl_sm2_key_private_check
    - BN_CTX_new_ex
    linkageType: ''
    returnType: int
    signature: int sm2_validate(const void *keydata, int selection, int checktype)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:965,1
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:971,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:971,1
    - Dst: EC_KEY_get_flags
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:976,1
    - Dst: EC_GROUP_check_named_curve
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:979,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:979,1
    - Dst: EC_GROUP_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:982,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:982,1
    - Dst: ossl_ec_key_public_check_quick
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:987,1
    - Dst: ossl_ec_key_public_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:989,1
    - Dst: ossl_ec_key_private_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:993,1
    - Dst: ossl_ec_key_pairwise_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:996,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:998,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 3
    argNames:
    - keydata
    - selection
    - checktype
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 958
    functionDepth: 6
    functionLinenumber: 958
    functionLinenumberEnd: 1000
    functionName: ec_validate
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ossl_ec_key_public_check_quick
    - EC_GROUP_check
    - ossl_ec_key_get_libctx
    - EC_GROUP_check_named_curve
    - ossl_ec_key_public_check
    - BN_CTX_free
    - ossl_ec_key_pairwise_check
    - EC_KEY_get0_group
    - ossl_ec_key_private_check
    - BN_CTX_new_ex
    - EC_KEY_get_flags
    linkageType: ''
    returnType: int
    signature: int ec_validate(const void *keydata, int selection, int checktype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1023,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1026,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1029,1
    - Dst: OSSL_FIPS_IND_INIT
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1033,1
    - Dst: ec_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1034,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1040
    functionName: ec_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - OSSL_FIPS_IND_INIT
    - PROV_LIBCTX_OF
    - OPENSSL_free
    - ec_gen_set_params
    linkageType: ''
    returnType: void
    signature: "void *ec_gen_init(void *provctx, int selection,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ec_gen_init
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1047,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1052,1
    - Dst: ec_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1057
    functionName: sm2_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ec_gen_init
    - ec_gen_cleanup
    - OPENSSL_strdup
    linkageType: ''
    returnType: void
    signature: "void *sm2_gen_init(void *provctx, int selection,\n                         const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_dup
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1066,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1068,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - genctx
    - src
    argTypes:
    - void*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1061
    functionDepth: 6
    functionLinenumber: 1061
    functionLinenumberEnd: 1074
    functionName: ec_gen_set_group
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_GROUP_dup
    - ERR_raise
    - EC_GROUP_free
    linkageType: ''
    returnType: int
    signature: int ec_gen_set_group(void *genctx, const EC_GROUP *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1082,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1084,1
    - Dst: ec_gen_set_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1086,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - genctx
    - templ
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1076
    functionDepth: 7
    functionLinenumber: 1076
    functionLinenumberEnd: 1087
    functionName: ec_gen_set_template
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - EC_KEY_get0_group
    - ec_gen_set_group
    linkageType: ''
    returnType: int
    signature: int ec_gen_set_template(void *genctx, void *templ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - params
    - ','
    - key
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1093
    functionName: COPY_INT_PARAM
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_INT_PARAM(params, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - params
    - ','
    - key
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1104
    functionName: COPY_UTF8_PARAM
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_UTF8_PARAM(params, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - params
    - ','
    - key
    - ','
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1116
    functionName: COPY_OCTET_PARAM
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_OCTET_PARAM(params, key, val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - params
    - ','
    - key
    - ','
    - bn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1125
    functionName: COPY_BN_PARAM
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_BN_PARAM(params, key, bn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_SET_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1132,1
    - Dst: COPY_INT_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1136,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1138,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1139,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1140,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1141,1
    - Dst: COPY_UTF8_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1142,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1144,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1145,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1146,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1147,1
    - Dst: COPY_BN_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1148,1
    - Dst: COPY_OCTET_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1150,1
    - Dst: COPY_OCTET_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1151,1
    - Dst: COPY_OCTET_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1160
    functionName: ec_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 1
    functionsReached:
    - COPY_OCTET_PARAM
    - COPY_INT_PARAM
    - COPY_UTF8_PARAM
    - OSSL_FIPS_IND_SET_CTX_PARAM
    - COPY_BN_PARAM
    linkageType: ''
    returnType: int
    signature: int ec_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1169,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1174,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1179,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1185,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1191,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1201,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1202,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1203,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1204,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1208,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1213,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1218,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1222,1
    - Dst: EC_GROUP_new_from_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1225,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1229,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1234,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1235,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 55
    argCount: 1
    argNames:
    - gctx
    argTypes:
    - struct ec_gen_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1162
    functionDepth: 9
    functionLinenumber: 1162
    functionLinenumberEnd: 1237
    functionName: ec_gen_set_group_from_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_utf8_string
    - OSSL_PARAM_BLD_push_octet_string
    - OSSL_PARAM_BLD_push_BN
    - EC_GROUP_free
    - EC_GROUP_new_from_params
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: int ec_gen_set_group_from_params(struct ec_gen_ctx *gctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1243,1
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1244,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1245,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1246,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1247,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1248,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1249,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1250,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1251,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1252,1
    - Dst: OSSL_PARAM_BN
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1253,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1254,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1255,1
    - Dst: OSSL_FIPS_IND_SETTABLE_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1260
    functionName: ec_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - OSSL_FIPS_IND_SETTABLE_CTX_PARAM
    - OSSL_PARAM_BN
    - OSSL_PARAM_int
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ec_gen_settable_params(ossl_unused void *genctx,\n                                                ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_GETTABLE_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1270
    functionName: ec_gen_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GETTABLE_CTX_PARAM
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *ec_gen_gettable_params(ossl_unused void *genctx,\n                                                ossl_unused
      void *provctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FIPS_IND_GET_CTX_PARAM
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1283
    functionName: ec_gen_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_FIPS_IND_GET_CTX_PARAM
    linkageType: ''
    returnType: int
    signature: int ec_gen_get_params(void *genctx, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1288,1
    - Dst: EC_KEY_set_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ec
    - group
    argTypes:
    - EC_KEY*
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1292
    functionName: ec_gen_assign_group
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ec_gen_assign_group(EC_KEY *ec, EC_GROUP *group)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1303,1
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1305,1
    - Dst: ec_gen_set_group_from_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1309,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1313,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1317,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1320,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1324,1
    - Dst: ossl_fips_ind_ec_key_check
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1328,1
    - Dst: OSSL_FIPS_IND_GET
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1328,1
    - Dst: ec_gen_assign_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1335,1
    - Dst: ossl_ec_generate_key_dhkem
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1341,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1345,1
    - Dst: ossl_ec_set_ecdh_cofactor_mode
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1349,1
    - Dst: ossl_ec_set_check_group_type_from_name
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1352,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1358,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 40
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1297
    functionDepth: 10
    functionLinenumber: 1297
    functionLinenumberEnd: 1360
    functionName: ec_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - EC_KEY_generate_key
    - ossl_ec_set_ecdh_cofactor_mode
    - ossl_ec_encoding_name2id
    - EC_GROUP_set_point_conversion_form
    - EC_GROUP_set_asn1_flag
    - ec_gen_assign_group
    - ossl_ec_generate_key_dhkem
    - ossl_fips_ind_ec_key_check
    - OSSL_FIPS_IND_GET
    - ossl_ec_pt_format_name2id
    - EC_KEY_new_ex
    - ec_gen_set_group_from_params
    - ossl_ec_set_check_group_type_from_name
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void *ec_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_ex
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1374,1
    - Dst: ec_gen_set_group_from_params
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1378,1
    - Dst: ossl_ec_encoding_name2id
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1382,1
    - Dst: EC_GROUP_set_asn1_flag
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1386,1
    - Dst: ossl_ec_pt_format_name2id
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1389,1
    - Dst: EC_GROUP_set_point_conversion_form
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1393,1
    - Dst: ec_gen_assign_group
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1398,1
    - Dst: EC_KEY_generate_key
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1402,1
    - Dst: EC_KEY_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1408,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - genctx
    - osslcb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1367
    functionDepth: 10
    functionLinenumber: 1367
    functionLinenumberEnd: 1410
    functionName: sm2_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - EC_KEY_generate_key
    - ossl_ec_encoding_name2id
    - EC_GROUP_set_point_conversion_form
    - EC_GROUP_set_asn1_flag
    - ec_gen_assign_group
    - ossl_ec_pt_format_name2id
    - EC_KEY_new_ex
    - ec_gen_set_group_from_params
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void *sm2_gen(void *genctx, OSSL_CALLBACK *osslcb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1421,1
    - Dst: EC_GROUP_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1422,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1423,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1424,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1425,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1426,1
    - Dst: BN_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1427,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1428,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1430,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1431,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1432,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1414
    functionDepth: 5
    functionLinenumber: 1414
    functionLinenumberEnd: 1435
    functionName: ec_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 1
    functionsReached:
    - EC_GROUP_free
    - OPENSSL_clear_free
    - OPENSSL_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void ec_gen_cleanup(void *genctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1442,1
    - Dst: common_check_sm2
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - reference
    - reference_sz
    - sm2_wanted
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1454
    functionName: common_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_prov_is_running
    - common_check_sm2
    linkageType: ''
    returnType: void
    signature: "void *common_load(const void *reference, size_t reference_sz,\n                         int
      sm2_wanted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_load
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1459
    functionName: ec_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_load
    linkageType: ''
    returnType: void
    signature: void *ec_load(const void *reference, size_t reference_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_load
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reference
    - reference_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: sm2_load
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - common_load
    linkageType: ''
    returnType: void
    signature: void *sm2_load(const void *reference, size_t reference_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1472,1
    - Dst: ossl_ec_key_dup
      Src: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c:1473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - keydata_from
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1470
    functionDepth: 6
    functionLinenumber: 1470
    functionLinenumberEnd: 1475
    functionName: ec_dup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/ec_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_ec_key_dup
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *ec_dup(const void *keydata_from, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:33,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:36,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:40,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:41,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: ossl_kdf_data_new
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - OPENSSL_free
    linkageType: ''
    returnType: KDF_DATA
    signature: KDF_DATA *ossl_kdf_data_new(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:56,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:60,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - kdfdata
    argTypes:
    - KDF_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: ossl_kdf_data_free
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void ossl_kdf_data_free(KDF_DATA *kdfdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:75,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - kdfdata
    argTypes:
    - KDF_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: ossl_kdf_data_up_ref
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_prov_is_running
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int ossl_kdf_data_up_ref(KDF_DATA *kdfdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_kdf_data_new
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: kdf_newdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_kdf_data_new
    linkageType: ''
    returnType: void
    signature: void *kdf_newdata(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_kdf_data_free
      Src: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kdfdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: kdf_freedata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_kdf_data_free
    linkageType: ''
    returnType: void
    signature: void kdf_freedata(void *kdfdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: kdf_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/kdf_legacy_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int kdf_has(const void *keydata, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:68,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:71,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:75,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - libctx
    - cmac
    argTypes:
    - OSSL_LIB_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: ossl_mac_key_new
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - OPENSSL_free
    linkageType: ''
    returnType: MAC_KEY
    signature: MAC_KEY *ossl_mac_key_new(OSSL_LIB_CTX *libctx, int cmac)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:92,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:96,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:97,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:98,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - MAC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: ossl_mac_key_free
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_cipher_reset
    - OPENSSL_secure_clear_free
    - CRYPTO_DOWN_REF
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void ossl_mac_key_free(MAC_KEY *mackey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:114,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - MAC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: ossl_mac_key_up_ref
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int ossl_mac_key_up_ref(MAC_KEY *mackey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_mac_key_new
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:123,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: mac_new
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 1
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_mac_key_new
    linkageType: ''
    returnType: void
    signature: void *mac_new(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_mac_key_new
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:128,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: mac_new_cmac
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - PROV_LIBCTX_OF
    - ossl_mac_key_new
    linkageType: ''
    returnType: void
    signature: void *mac_new_cmac(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mackey
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: mac_free
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 3
    functionsReached:
    - ossl_mac_key_free
    linkageType: ''
    returnType: void
    signature: void mac_free(void *mackey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - keydata
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: mac_has
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mac_has(const void *keydata, int selection)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:161,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:173,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:176,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:177,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 3
    argNames:
    - keydata1
    - keydata2
    - selection
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 9
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: mac_match
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - EVP_CIPHER_is_a
    - CRYPTO_memcmp
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: int mac_match(const void *keydata1, const void *keydata2, int selection)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:189,1
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:192,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:194,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:197,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:201,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:204,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:207,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:208,1
    - Dst: ossl_prov_cipher_load_from_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:213,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - MAC_KEY*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 223
    functionName: mac_key_fromdata
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - OPENSSL_secure_clear_free
    - OSSL_PARAM_locate_const
    - OPENSSL_secure_malloc
    - OPENSSL_free
    - ossl_prov_cipher_load_from_params
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int mac_key_fromdata(MAC_KEY *key, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:229,1
    - Dst: mac_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - keydata
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: mac_import
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - mac_key_fromdata
    - ossl_prov_is_running
    linkageType: ''
    returnType: int
    signature: int mac_import(void *keydata, int selection, const OSSL_PARAM params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_build_set_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:245,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:251,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:253,1
    - Dst: ossl_param_build_set_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:258,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - key
    - tmpl
    - params
    argTypes:
    - MAC_KEY*
    - OSSL_PARAM_BLD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 265
    functionName: key_to_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_param_build_set_utf8_string
    - ENGINE_get_id
    - ossl_param_build_set_octet_string
    - EVP_CIPHER_get0_name
    linkageType: ''
    returnType: int
    signature: "int key_to_params(MAC_KEY *key, OSSL_PARAM_BLD *tmpl,\n                         OSSL_PARAM
      params[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:275,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:281,1
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:286,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:289,1
    - Dst: param_cb
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:293,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:294,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_cb
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 298
    functionName: mac_export
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - OSSL_PARAM_free
    - key_to_params
    - param_cb
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_BLD_new
    linkageType: ''
    returnType: int
    signature: "int mac_export(void *keydata, int selection, OSSL_CALLBACK *param_cb,\n
      \                     void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: mac_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *mac_imexport_types(int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - selection
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: cmac_imexport_types
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *cmac_imexport_types(int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: mac_get_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 1
    functionsReached:
    - key_to_params
    linkageType: ''
    returnType: int
    signature: int mac_get_params(void *key, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: mac_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *mac_gettable_params(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:343,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:344,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: cmac_gettable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *cmac_gettable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:359,1
    - Dst: mac_key_fromdata
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - keydata
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: mac_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - mac_key_fromdata
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int mac_set_params(void *keydata, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: mac_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *mac_settable_params(void *provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:377,1
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:380,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - provctx
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: mac_gen_init_common
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: void *mac_gen_init_common(void *provctx, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_gen_init_common
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:393,1
    - Dst: mac_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:395,1
    - Dst: mac_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: mac_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - mac_gen_set_params
    - mac_gen_init_common
    - mac_gen_cleanup
    linkageType: ''
    returnType: void
    signature: "void *mac_gen_init(void *provctx, int selection,\n                          const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac_gen_init_common
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:405,1
    - Dst: cmac_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:407,1
    - Dst: mac_gen_cleanup
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: cmac_gen_init
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - cmac_gen_set_params
    - mac_gen_init_common
    - mac_gen_cleanup
    linkageType: ''
    returnType: void
    signature: "void *cmac_gen_init(void *provctx, int selection,\n                           const
      OSSL_PARAM params[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:422,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:425,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:428,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 436
    functionName: mac_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 2
    functionsReached:
    - OPENSSL_secure_malloc
    - memcpy
    - OSSL_PARAM_locate_const
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int mac_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mac_gen_set_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:442,1
    - Dst: ossl_prov_cipher_load_from_params
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - genctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 452
    functionName: cmac_gen_set_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 1
    functionsReached:
    - mac_gen_set_params
    - ossl_prov_cipher_load_from_params
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int cmac_gen_set_params(void *genctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: mac_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mac_gen_settable_params(ossl_unused void *genctx,\n                                                 ossl_unused
      void *provctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:468,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - genctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: cmac_gen_settable_params
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_utf8_string
    - OSSL_PARAM_octet_string
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *cmac_gen_settable_params(ossl_unused void *genctx,\n                                                  ossl_unused
      void *provctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:480,1
    - Dst: ossl_mac_key_new
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:483,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:484,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:493,1
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:494,1
    - Dst: ossl_prov_cipher_copy
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:504,1
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:506,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - genctx
    - cb
    - cbarg
    argTypes:
    - void*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 516
    functionName: mac_gen
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - ossl_prov_cipher_reset
    - ossl_mac_key_new
    - ossl_prov_cipher_copy
    - ossl_mac_key_free
    linkageType: ''
    returnType: void
    signature: void *mac_gen(void *genctx, OSSL_CALLBACK *cb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_secure_clear_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:525,1
    - Dst: ossl_prov_cipher_reset
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:526,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - genctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: mac_gen_cleanup
    functionSourceFile: /src/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c
    functionUses: 2
    functionsReached:
    - ossl_prov_cipher_reset
    - OPENSSL_free
    - OPENSSL_secure_clear_free
    linkageType: ''
    returnType: void
    signature: void mac_gen_cleanup(void *genctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: mlx_kem_have_pubkey
    functionSourceFile: /src/openssl/providers/implementations/include/prov/mlx_kem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlx_kem_have_pubkey(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: mlx_kem_have_prvkey
    functionSourceFile: /src/openssl/providers/implementations/include/prov/mlx_kem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlx_kem_have_prvkey(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - alg
    - ','
    - lc
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 57
    functionName: IMPLEMENT_aead_cipher
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_aead_cipher(alg, lc, UCMODE, flags, kbits, blkbits, ivbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: PROV_CIPHER_FUNC
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_CIPHER_FUNC(type, name, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - alg
    - ','
    - UCALG
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 164
    functionName: IMPLEMENT_generic_cipher_func
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_generic_cipher_func(alg, UCALG, lcmode, UCMODE, flags, kbits,\\\n
      \                                     blkbits, ivbits, typ)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - alg
    - ','
    - UCALG
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 193
    functionName: IMPLEMENT_var_keylen_cipher_func
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_var_keylen_cipher_func(alg, UCALG, lcmode, UCMODE, flags,
      \   \\\n                                         kbits, blkbits, ivbits, typ)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - alg
    - ','
    - UCALG
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 217
    functionName: IMPLEMENT_generic_cipher_genfn
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_generic_cipher_genfn(alg, UCALG, lcmode, UCMODE, flags,
      \     \\\n                                       kbits, blkbits, ivbits, typ)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - alg
    - ','
    - UCALG
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: IMPLEMENT_generic_cipher
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_generic_cipher(alg, UCALG, lcmode, UCMODE, flags, kbits,
      \    \\\n                                 blkbits, ivbits, typ)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - alg
    - ','
    - UCALG
    - ','
    - lcmode
    - ','
    - UCMODE
    - ','
    - flags
    - ','
    - kbits
    - ','
    - blkbits
    - ','
    - ivbits
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: IMPLEMENT_var_keylen_cipher
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_var_keylen_cipher(alg, UCALG, lcmode, UCMODE, flags, kbits,
      \ \\\n                                    blkbits, ivbits, typ)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - MODE
    - ','
    - NAME
    - ','
    - CTX_NAME
    - ','
    - KEY_NAME
    - ','
    - FUNC_PREFIX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: IMPLEMENT_CIPHER_HW_OFB
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER_HW_OFB(MODE, NAME, CTX_NAME, KEY_NAME, FUNC_PREFIX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - MODE
    - ','
    - NAME
    - ','
    - CTX_NAME
    - ','
    - KEY_NAME
    - ','
    - FUNC_PREFIX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 281
    functionName: IMPLEMENT_CIPHER_HW_ECB
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER_HW_ECB(MODE, NAME, CTX_NAME, KEY_NAME, FUNC_PREFIX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - MODE
    - ','
    - NAME
    - ','
    - CTX_NAME
    - ','
    - KEY_NAME
    - ','
    - FUNC_PREFIX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: IMPLEMENT_CIPHER_HW_CBC
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER_HW_CBC(MODE, NAME, CTX_NAME, KEY_NAME, FUNC_PREFIX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - MODE
    - ','
    - NAME
    - ','
    - CTX_NAME
    - ','
    - KEY_NAME
    - ','
    - FUNC_PREFIX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 323
    functionName: IMPLEMENT_CIPHER_HW_CFB
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER_HW_CFB(MODE, NAME, CTX_NAME, KEY_NAME, FUNC_PREFIX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - CTX_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: IMPLEMENT_CIPHER_HW_COPYCTX
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_CIPHER_HW_COPYCTX(name, CTX_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_START
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_START(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_END
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHER_DEFAULT_GETTABLE_CTX_PARAMS_END(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: CIPHER_DEFAULT_SETTABLE_CTX_PARAMS_START
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHER_DEFAULT_SETTABLE_CTX_PARAMS_START(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: CIPHER_DEFAULT_SETTABLE_CTX_PARAMS_END
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHER_DEFAULT_SETTABLE_CTX_PARAMS_END(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: PROV_DRBG_VERIFY_ZEROIZATION
    functionSourceFile: /src/openssl/providers/implementations/include/prov/drbg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_DRBG_VERIFY_ZEROIZATION(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: PROV_CIPHER_FUNC
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon_gcm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PROV_CIPHER_FUNC(int, GCM_oneshot, (PROV_GCM_CTX *ctx, unsigned
      char *aad,\n                                    size_t aad_len, const unsigned
      char *in,\n                                    size_t in_len, unsigned char
      *out,\n                                    unsigned char *tag, size_t taglen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ks
    - ','
    - fn_set_enc_key
    - ','
    - fn_block
    - ','
    - fn_ctr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: GCM_HW_SET_KEY_CTR_FN
    functionSourceFile: /src/openssl/providers/implementations/include/prov/ciphercommon_gcm.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GCM_HW_SET_KEY_CTR_FN(ks, fn_set_enc_key, fn_block, fn_ctr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - blksize
    - ','
    - dgstsize
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: PROV_FUNC_DIGEST_GET_PARAM
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_FUNC_DIGEST_GET_PARAM(name, blksize, dgstsize, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: PROV_DISPATCH_FUNC_DIGEST_GET_PARAMS
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_DISPATCH_FUNC_DIGEST_GET_PARAMS(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - dgstsize
    - ','
    - fin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: PROV_FUNC_DIGEST_FINAL
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_FUNC_DIGEST_FINAL(name, dgstsize, fin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - CTX
    - ','
    - blksize
    - ','
    - dgstsize
    - ','
    - flags
    - ','
    - upd
    - ','
    - fin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 89
    functionName: PROV_DISPATCH_FUNC_DIGEST_CONSTRUCT_START
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "PROV_DISPATCH_FUNC_DIGEST_CONSTRUCT_START(                            \\\n
      \   name, CTX, blksize, dgstsize, flags, upd, fin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - CTX
    - ','
    - blksize
    - ','
    - dgstsize
    - ','
    - flags
    - ','
    - init
    - ','
    - upd
    - ','
    - fin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: IMPLEMENT_digest_functions
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_digest_functions(                                           \\\n
      \   name, CTX, blksize, dgstsize, flags, init, upd, fin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - name
    - ','
    - CTX
    - ','
    - blksize
    - ','
    - dgstsize
    - ','
    - flags
    - ','
    - init
    - ','
    - upd
    - ','
    - fin
    - ','
    - settable_ctx_params
    - ','
    - set_ctx_params
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: IMPLEMENT_digest_functions_with_settable_ctx
    functionSourceFile: /src/openssl/providers/implementations/include/prov/digestcommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_digest_functions_with_settable_ctx(                         \\\n
      \   name, CTX, blksize, dgstsize, flags, init, upd, fin,                       \\\n
      \   settable_ctx_params, set_ctx_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_new
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: ossl_prov_get_keymgmt_new
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_new
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_new_fn
    signature: 'OSSL_FUNC_keymgmt_new_fn *

      ossl_prov_get_keymgmt_new(const OSSL_DISPATCH *fns)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: ossl_prov_get_keymgmt_free
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_free
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_free_fn
    signature: 'OSSL_FUNC_keymgmt_free_fn *

      ossl_prov_get_keymgmt_free(const OSSL_DISPATCH *fns)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_import
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: ossl_prov_get_keymgmt_import
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_import
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_import_fn
    signature: 'OSSL_FUNC_keymgmt_import_fn *

      ossl_prov_get_keymgmt_import(const OSSL_DISPATCH *fns)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_keymgmt_export
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: ossl_prov_get_keymgmt_export
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_keymgmt_export
    linkageType: ''
    returnType: OSSL_FUNC_keymgmt_export_fn
    signature: 'OSSL_FUNC_keymgmt_export_fn *

      ossl_prov_get_keymgmt_export(const OSSL_DISPATCH *fns)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_new
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:63,1
    - Dst: ossl_prov_get_keymgmt_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:64,1
    - Dst: ossl_prov_get_keymgmt_import
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:66,1
    - Dst: kmgmt_new
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:70,1
    - Dst: kmgmt_import
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:71,1
    - Dst: kmgmt_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - fns
    - provctx
    - selection
    - params
    argTypes:
    - OSSL_DISPATCH*
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: ossl_prov_import_key
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - ossl_prov_get_keymgmt_new
    - ossl_prov_get_keymgmt_import
    - kmgmt_import
    - kmgmt_new
    - kmgmt_free
    - ossl_prov_get_keymgmt_free
    linkageType: ''
    returnType: void
    signature: "void *ossl_prov_import_key(const OSSL_DISPATCH *fns, void *provctx,\n
      \                          int selection, const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:81,1
    - Dst: kmgmt_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fns
    - key
    argTypes:
    - OSSL_DISPATCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: ossl_prov_free_key
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - ossl_prov_get_keymgmt_free
    - kmgmt_free
    linkageType: ''
    returnType: void
    signature: void ossl_prov_free_key(const OSSL_DISPATCH *fns, void *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:91,1
    - Dst: asn1_d2i_read_bio
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:96,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:100,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/endecoder_common.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - provctx
    - cin
    - data
    - len
    argTypes:
    - PROV_CTX*
    - OSSL_CORE_BIO*
    - unsigned char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: ossl_read_der
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/endecoder_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - BIO_free
    - ossl_bio_new_from_core_bio
    - asn1_d2i_read_bio
    linkageType: ''
    returnType: int
    signature: "int ossl_read_der(PROV_CTX *provctx, OSSL_CORE_BIO *cin,  unsigned
      char **data,\n                  long *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c:32,1
    - Dst: BIO_write
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c:37,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - provctx
    - cout
    - data
    - len
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: write_blob
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - BIO_free
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: "int write_blob(void *provctx, OSSL_CORE_BIO *cout,\n                      void
      *data, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: key2blob_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *key2blob_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: key2blob_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void key2blob_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - selection
    - selection_mask
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: key2blob_check_selection
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int key2blob_check_selection(int selection, int selection_mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i2o_ECPublicKey
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c:94,1
    - Dst: write_blob
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c:96,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - vctx
    - key
    - selection
    - cout
    argTypes:
    - void*
    - void*
    - int
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: key2blob_encode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: 0
    functionsReached:
    - i2o_ECPublicKey
    - write_blob
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int key2blob_encode(void *vctx, const void *key, int selection,\n
      \                          OSSL_CORE_BIO *cout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - impl
    - ','
    - type
    - ','
    - selection_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 151
    functionName: MAKE_BLOB_ENCODER
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_BLOB_ENCODER(impl, type, selection_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: lmsxdr2key_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: void
    signature: void *lmsxdr2key_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: lmsxdr2key_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void lmsxdr2key_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: lmsxdr2key_does_selection
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lmsxdr2key_does_selection(void *provctx, int selection)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:69,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:76,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:77,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:78,1
    - Dst: ossl_lms_pubkey_length
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:82,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:87,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:88,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:89,1
    - Dst: ossl_lms_key_new
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:94,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:94,1
    - Dst: ossl_lms_pubkey_decode
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:95,1
    - Dst: ossl_lms_key_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:96,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:112,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:120,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:122,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:126,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:128,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:130,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:133,1
    - Dst: ossl_lms_key_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 7
    argNames:
    - vctx
    - cin
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 136
    functionName: lmsxdr2key_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c
    functionUses: 0
    functionsReached:
    - data_cb
    - ossl_lms_pubkey_decode
    - OSSL_PARAM_construct_octet_string
    - ossl_lms_pubkey_length
    - ERR_pop_to_mark
    - ossl_lms_key_free
    - ossl_lms_key_new
    - ERR_set_mark
    - PROV_LIBCTX_OF
    - BIO_free
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - BIO_read
    - ossl_bio_new_from_core_bio
    linkageType: ''
    returnType: int
    signature: "int lmsxdr2key_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,\n
      \                            OSSL_CALLBACK *data_cb, void *data_cbarg,\n                             OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_export
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:145,1
    - Dst: export
      Src: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - vctx
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - void*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: lmsxdr2key_export_object
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_lmsxdr2key.c
    functionUses: 0
    functionsReached:
    - export
    - ossl_prov_get_keymgmt_export
    linkageType: ''
    returnType: int
    signature: "int lmsxdr2key_export_object(void *vctx,\n                                    const
      void *reference, size_t reference_sz,\n                                    OSSL_CALLBACK
      *export_cb,\n                                    void *export_cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - evp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: ml_dsa_get_codec
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ML_COMMON_CODEC
    signature: ML_COMMON_CODEC *ml_dsa_get_codec(int evp_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:110,1
    - Dst: ossl_ml_dsa_params_get
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:115,1
    - Dst: ml_dsa_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:116,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:119,1
    - Dst: ossl_ml_dsa_key_new
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:124,1
    - Dst: ossl_ml_dsa_pk_decode
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:127,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:128,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - pk
    - pk_len
    - evp_type
    - provctx
    - propq
    argTypes:
    - uint8_t*
    - int
    - int
    - PROV_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 136
    functionName: ossl_ml_dsa_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached:
    - ml_dsa_get_codec
    - memcmp
    - ossl_ml_dsa_pk_decode
    - PROV_LIBCTX_OF
    - ossl_ml_dsa_key_free
    - ERR_raise_data
    - ossl_ml_dsa_params_get
    - ossl_ml_dsa_key_new
    linkageType: ''
    returnType: ML_DSA_KEY
    signature: "ML_DSA_KEY *\nossl_ml_dsa_d2i_PUBKEY(const uint8_t *pk, int pk_len,
      int evp_type,\n                       PROV_CTX *provctx, const char *propq)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_params_get
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:159,1
    - Dst: ml_dsa_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:160,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:164,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:167,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:170,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:174,1
    - Dst: ossl_ml_common_pkcs8_fmt_order
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:176,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:182,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:184,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:193,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:207,1
    - Dst: OPENSSL_load_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:216,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:227,1
    - Dst: ossl_prov_ml_dsa_new
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:247,1
    - Dst: ossl_ml_dsa_set_prekey
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:255,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:260,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:261,1
    - Dst: ossl_ml_dsa_key_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:263,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 90
    argCount: 5
    argNames:
    - prvenc
    - prvlen
    - evp_type
    - provctx
    - propq
    argTypes:
    - uint8_t*
    - int
    - int
    - PROV_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 138
    functionDepth: 6
    functionLinenumber: 138
    functionLinenumberEnd: 265
    functionName: ossl_ml_dsa_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ml_dsa_get_codec
    - ossl_ml_dsa_key_free
    - X509_ALGOR_get0
    - ERR_raise_data
    - ossl_ml_common_pkcs8_fmt_order
    - OPENSSL_free
    - PKCS8_pkey_get0
    - ossl_prov_ml_dsa_new
    - ossl_ml_dsa_set_prekey
    - d2i_PKCS8_PRIV_KEY_INFO
    - ossl_ml_dsa_params_get
    - OPENSSL_load_u32_be
    - OBJ_obj2nid
    - ossl_prov_ctx_get_param
    - OPENSSL_load_u16_be
    linkageType: ''
    returnType: ML_DSA_KEY
    signature: "ML_DSA_KEY *\nossl_ml_dsa_d2i_PKCS8(const uint8_t *prvenc, int prvlen,\n
      \                     int evp_type, PROV_CTX *provctx,\n                      const
      char *propq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_params
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:270,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:271,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:274,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - ML_DSA_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: ossl_ml_dsa_i2d_pubkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    - ossl_ml_dsa_key_params
    - ERR_raise_data
    - ossl_ml_dsa_key_get_pub
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_i2d_pubkey(const ML_DSA_KEY *key, unsigned char **out)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_params
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:288,1
    - Dst: ossl_ml_dsa_key_get_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:296,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:297,1
    - Dst: ml_dsa_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:300,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:304,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:310,1
    - Dst: ossl_ml_common_pkcs8_fmt_order
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:312,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:326,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:338,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:343,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:346,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:351,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:362,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:364,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:368,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:373,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:375,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:379,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:386,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:390,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:390,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:400,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:402,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 83
    argCount: 3
    argNames:
    - key
    - out
    - provctx
    argTypes:
    - ML_DSA_KEY*
    - uint8_t**
    - PROV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 404
    functionName: ossl_ml_dsa_i2d_prvkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached:
    - ml_dsa_get_codec
    - ossl_ml_dsa_key_params
    - memcpy
    - ossl_ml_dsa_key_get_seed
    - ERR_raise_data
    - ossl_ml_common_pkcs8_fmt_order
    - OPENSSL_free
    - ossl_ml_dsa_key_get_priv
    - ossl_ml_dsa_key_get_pub
    - OPENSSL_store_u32_be
    - OPENSSL_malloc
    - ossl_prov_ctx_get_param
    - OPENSSL_store_u16_be
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_dsa_i2d_prvkey(const ML_DSA_KEY *key, uint8_t **out,\n
      \                          PROV_CTX *provctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:412,1
    - Dst: ossl_ml_dsa_key_params
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:415,1
    - Dst: ossl_ml_dsa_key_get_pub
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:416,1
    - Dst: ossl_ml_dsa_key_get_priv
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:417,1
    - Dst: ossl_ml_dsa_key_get_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:418,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:422,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:429,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:433,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:435,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:438,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:441,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c:445,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - ML_DSA_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 449
    functionName: ossl_ml_dsa_key_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_params
    - ERR_raise
    - ossl_ml_dsa_key_get_seed
    - ERR_raise_data
    - ossl_ml_dsa_key_get_priv
    - ossl_bio_print_labeled_buf
    - ossl_ml_dsa_key_get_pub
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_ml_dsa_key_to_text(BIO *out, const ML_DSA_KEY *key, int selection)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: pref_cmp
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pref_cmp(const void *va, const void *vb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:45,1
    - Dst: strspn
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:63,1
    - Dst: strcspn
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:65,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:81,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:82,1
    - Dst: qsort
      Src: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - algorithm_name
    - p8fmt
    - direction
    - formats
    argTypes:
    - char*
    - ML_COMMON_PKCS8_FMT*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 92
    functionName: ossl_ml_common_pkcs8_fmt_order
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_common_codecs.c
    functionUses: 2
    functionsReached:
    - strcspn
    - OPENSSL_calloc
    - ERR_raise_data
    - OPENSSL_strncasecmp
    - OPENSSL_free
    - strspn
    - qsort
    linkageType: ''
    returnType: ML_COMMON_PKCS8_FMT_PREF
    signature: "ML_COMMON_PKCS8_FMT_PREF *\nossl_ml_common_pkcs8_fmt_order(const char
      *algorithm_name,\n                               const ML_COMMON_PKCS8_FMT *p8fmt,\n
      \                              const char *direction, const char *formats)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - desc
    argTypes:
    - void*
    - struct keytype_desc_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: msblob2key_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: struct msblob2key_ctx_st
    signature: 'struct msblob2key_ctx_st *

      msblob2key_newctx(void *provctx, const struct keytype_desc_st *desc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: msblob2key_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void msblob2key_freectx(void *vctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - provctx
    - selection
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: msblob2key_does_selection
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int msblob2key_does_selection(void *provctx, int selection)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:99,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:111,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:112,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:115,1
    - Dst: ossl_do_blob_header
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:117,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:118,1
    - Dst: ossl_blob_length
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:131,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:134,1
    - Dst: BIO_read
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:138,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:139,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:149,1
    - Dst: ossl_pw_set_ossl_passphrase_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:150,1
    - Dst: struct msblob2key_ctx_st*::desc::read_private_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:153,1
    - Dst: struct msblob2key_ctx_st*::desc::read_public_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:162,1
    - Dst: struct msblob2key_ctx_st*::desc::adjust_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:168,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:182,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:183,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:192,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:194,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:198,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:200,1
    - Dst: data_cb
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:202,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:206,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:207,1
    - Dst: struct msblob2key_ctx_st*::desc::free_key
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:208,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 76
    argCount: 7
    argNames:
    - vctx
    - cin
    - selection
    - data_cb
    - data_cbarg
    - pw_cb
    - pw_cbarg
    argTypes:
    - void*
    - OSSL_CORE_BIO*
    - int
    - OSSL_CALLBACK*
    - void*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 211
    functionName: msblob2key_decode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached:
    - data_cb
    - ossl_do_blob_header
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - ERR_pop_to_mark
    - OPENSSL_free
    - struct msblob2key_ctx_st*::desc::read_private_key
    - struct msblob2key_ctx_st*::desc::read_public_key
    - ossl_pw_set_ossl_passphrase_cb
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - BIO_read
    - ossl_bio_new_from_core_bio
    - OPENSSL_malloc
    - ossl_blob_length
    - BIO_free
    - memset
    - ERR_set_mark
    - struct msblob2key_ctx_st*::desc::free_key
    - OSSL_PARAM_construct_int
    - struct msblob2key_ctx_st*::desc::adjust_key
    linkageType: ''
    returnType: int
    signature: "int msblob2key_decode(void *vctx, OSSL_CORE_BIO *cin, int selection,\n
      \                            OSSL_CALLBACK *data_cb, void *data_cbarg,\n                             OSSL_PASSPHRASE_CALLBACK
      *pw_cb, void *pw_cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_get_keymgmt_export
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:220,1
    - Dst: export
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - vctx
    - reference
    - reference_sz
    - export_cb
    - export_cbarg
    argTypes:
    - void*
    - void*
    - size_t
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 234
    functionName: msblob2key_export_object
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached:
    - export
    - ossl_prov_get_keymgmt_export
    linkageType: ''
    returnType: int
    signature: "int msblob2key_export_object(void *vctx,\n                         const
      void *reference, size_t reference_sz,\n                         OSSL_CALLBACK
      *export_cb, void *export_cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_set0_libctx
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:250,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ctx
    argTypes:
    - void*
    - struct msblob2key_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: rsa_adjust
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_set0_libctx
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: void
    signature: void rsa_adjust(void *key, struct msblob2key_ctx_st *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KEYTYPE
    - ','
    - keytype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 285
    functionName: IMPLEMENT_MSBLOB
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/decode_msblob2key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_MSBLOB(KEYTYPE, keytype)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:52,1
    - Dst: DH_get0_priv_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:66,1
    - Dst: DH_get0_pub_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:71,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:73,1
    - Dst: ossl_dh_get0_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:78,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:80,1
    - Dst: DH_get0_p
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:91,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:91,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:94,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:97,1
    - Dst: ossl_bio_print_ffc_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:100,1
    - Dst: DH_get_length
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:102,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:104,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 109
    functionName: dh_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - ossl_dh_get0_params
    - DH_get_length
    - ERR_raise
    - ossl_bio_print_labeled_bignum
    - DH_get0_priv_key
    - DH_get0_p
    - ossl_bio_print_ffc_params
    - DH_get0_pub_key
    - BN_num_bits
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int dh_to_text(BIO *out, const void *key, int selection)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:124,1
    - Dst: DSA_get0_priv_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:136,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:138,1
    - Dst: DSA_get0_pub_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:143,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:145,1
    - Dst: ossl_dsa_get0_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:150,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:152,1
    - Dst: DSA_get0_p
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:159,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:163,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:163,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:166,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:169,1
    - Dst: ossl_bio_print_ffc_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:172,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 176
    functionName: dsa_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - ossl_dsa_get0_params
    - DSA_get0_priv_key
    - ERR_raise
    - BN_num_bits
    - ossl_bio_print_labeled_bignum
    - ossl_bio_print_ffc_params
    - DSA_get0_pub_key
    - DSA_get0_p
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int dsa_to_text(BIO *out, const void *key, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:188,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:189,1
    - Dst: BN_CTX_get
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:190,1
    - Dst: EC_GROUP_get_curve
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:192,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:195,1
    - Dst: EC_GROUP_get_basis_type
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:196,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:200,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:200,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:204,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:205,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - out
    - group
    - ctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: ec_param_explicit_curve_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BN_CTX_get
    - ossl_bio_print_labeled_bignum
    - OBJ_nid2sn
    - EC_GROUP_get_basis_type
    - EC_GROUP_get_field_type
    - EC_GROUP_get_curve
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ec_param_explicit_curve_to_text(BIO *out, const EC_GROUP *group,\n
      \                                          BN_CTX *ctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_point_conversion_form
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:219,1
    - Dst: EC_GROUP_get0_generator
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:220,1
    - Dst: EC_POINT_point2buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:239,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:243,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - out
    - group
    - ctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - BN_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 246
    functionName: ec_param_explicit_gen_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - OPENSSL_clear_free
    - ossl_bio_print_labeled_buf
    - EC_GROUP_get0_generator
    - EC_GROUP_get_point_conversion_form
    - EC_POINT_point2buf
    linkageType: ''
    returnType: int
    signature: "int ec_param_explicit_gen_to_text(BIO *out, const EC_GROUP *group,\n
      \                                        BN_CTX *ctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_new_ex
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:258,1
    - Dst: BN_CTX_start
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:261,1
    - Dst: EC_GROUP_get_field_type
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:263,1
    - Dst: EC_GROUP_get0_order
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:264,1
    - Dst: EC_GROUP_get0_seed
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:268,1
    - Dst: EC_GROUP_get_seed_len
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:270,1
    - Dst: EC_GROUP_get0_cofactor
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:271,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:274,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:274,1
    - Dst: ec_param_explicit_curve_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:275,1
    - Dst: ec_param_explicit_gen_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:276,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:277,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:279,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:281,1
    - Dst: BN_CTX_end
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:285,1
    - Dst: BN_CTX_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:286,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - out
    - group
    - libctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 249
    functionDepth: 7
    functionLinenumber: 249
    functionLinenumberEnd: 288
    functionName: ec_param_explicit_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BN_CTX_new_ex
    - BN_CTX_end
    - BN_CTX_start
    - EC_GROUP_get0_seed
    - OBJ_nid2sn
    - ossl_bio_print_labeled_bignum
    - ec_param_explicit_curve_to_text
    - BIO_printf
    - EC_GROUP_get0_cofactor
    - BN_CTX_free
    - ossl_bio_print_labeled_buf
    - ec_param_explicit_gen_to_text
    - EC_GROUP_get_seed_len
    - EC_GROUP_get0_order
    - EC_GROUP_get_field_type
    linkageType: ''
    returnType: int
    signature: "int ec_param_explicit_to_text(BIO *out, const EC_GROUP *group,\n                                     OSSL_LIB_CTX
      *libctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_asn1_flag
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:293,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:295,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:301,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:301,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:304,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:306,1
    - Dst: ec_param_explicit_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - out
    - group
    - libctx
    argTypes:
    - BIO*
    - EC_GROUP*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 290
    functionDepth: 8
    functionLinenumber: 290
    functionLinenumberEnd: 310
    functionName: ec_param_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2sn
    - EC_GROUP_get_asn1_flag
    - EC_GROUP_get_curve_name
    - ec_param_explicit_to_text
    - EC_curve_nid2nist
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ec_param_to_text(BIO *out, const EC_GROUP *group,\n                            OSSL_LIB_CTX
      *libctx)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:322,1
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:327,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:336,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:340,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:343,1
    - Dst: EC_KEY_priv2buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:346,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:354,1
    - Dst: EC_KEY_key2buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:358,1
    - Dst: EC_KEY_get_conv_form
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:358,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:364,1
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:365,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:368,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:371,1
    - Dst: ec_param_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:374,1
    - Dst: ossl_ec_key_get_libctx
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:374,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:376,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:377,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 312
    functionDepth: 9
    functionLinenumber: 312
    functionLinenumberEnd: 379
    functionName: ec_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - EC_KEY_key2buf
    - ERR_raise
    - ec_param_to_text
    - EC_KEY_get_conv_form
    - ossl_ec_key_get_libctx
    - OPENSSL_clear_free
    - EC_KEY_get0_private_key
    - BIO_printf
    - OPENSSL_free
    - EC_KEY_get0_group
    - ossl_bio_print_labeled_buf
    - EC_KEY_get0_public_key
    - EC_GROUP_order_bits
    - EC_KEY_priv2buf
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int ec_to_text(BIO *out, const void *key, int selection)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:391,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:412,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:416,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:418,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:423,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:427,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:431,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 435
    functionName: ecx_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - ossl_bio_print_labeled_buf
    - ERR_raise
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ecx_to_text(BIO *out, const void *key, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_key_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - vkey
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: ml_kem_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_key_to_text
    linkageType: ''
    returnType: int
    signature: int ml_kem_to_text(BIO *out, const void *vkey, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_key_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: slh_dsa_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - ossl_slh_dsa_key_to_text
    linkageType: ''
    returnType: int
    signature: int slh_dsa_to_text(BIO *out, const void *key, int selection)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:463,1
    - Dst: STACK_OF
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:464,1
    - Dst: STACK_OF
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:465,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:467,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:471,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:475,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:476,1
    - Dst: sk_BIGNUM_const_new_null
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:477,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:480,1
    - Dst: RSA_get0_key
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:494,1
    - Dst: ossl_rsa_get0_all_params
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:495,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:496,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:499,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:500,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:503,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:504,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:508,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:510,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:515,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:517,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:518,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:520,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:521,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:523,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:524,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:526,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:527,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:529,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:530,1
    - Dst: sk_BIGNUM_const_num
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:532,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:533,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:535,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:536,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:538,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:540,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:541,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:543,1
    - Dst: ossl_bio_print_labeled_bignum
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:545,1
    - Dst: sk_BIGNUM_const_value
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:546,1
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:552,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:554,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:555,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:560,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:561,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:564,1
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:566,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:568,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:569,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:571,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:573,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:575,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:576,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:580,1
    - Dst: ossl_rsa_mgf_nid2name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:581,1
    - Dst: ossl_rsa_oaeppss_nid2name
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:582,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:587,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:591,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:602,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:603,1
    - Dst: sk_BIGNUM_const_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:604,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 126
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 456
    functionDepth: 4
    functionLinenumber: 456
    functionLinenumberEnd: 606
    functionName: rsa_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - RSA_test_flags
    - ERR_raise
    - ossl_rsa_pss_params_30_maskgenalg
    - ossl_rsa_get0_pss_params_30
    - ossl_bio_print_labeled_bignum
    - sk_BIGNUM_const_new_null
    - RSA_get0_key
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_rsa_pss_params_30_saltlen
    - sk_BIGNUM_const_free
    - ossl_rsa_oaeppss_nid2name
    - BIO_printf
    - STACK_OF
    - ossl_rsa_mgf_nid2name
    - BN_num_bits
    - sk_BIGNUM_const_num
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_rsa_get0_all_params
    - ossl_rsa_pss_params_30_trailerfield
    - ossl_rsa_pss_params_30_hashalg
    - sk_BIGNUM_const_value
    linkageType: ''
    returnType: int
    signature: int rsa_to_text(BIO *out, const void *key, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_to_text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: ml_dsa_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - ossl_ml_dsa_key_to_text
    linkageType: ''
    returnType: int
    signature: int ml_dsa_to_text(BIO *out, const void *key, int selection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: key2text_newctx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *key2text_newctx(void *provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: key2text_freectx
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void key2text_freectx(ossl_unused void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_bio_new_from_core_bio
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:633,1
    - Dst: key2text
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:639,1
    - Dst: BIO_free
      Src: /src/openssl/providers/implementations/encode_decode/encode_key2text.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - vctx
    - key
    - selection
    - cout
    - cb
    - cbarg
    argTypes:
    - void*
    - void*
    - int
    - OSSL_CORE_BIO*
    - OSSL_PASSPHRASE_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 643
    functionName: key2text_encode
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - ossl_bio_new_from_core_bio
    - key2text
    linkageType: ''
    returnType: int
    signature: "int key2text_encode(void *vctx, const void *key, int selection,\n
      \                          OSSL_CORE_BIO *cout,\n                           int
      (*key2text)(BIO *out, const void *key,\n                                           int
      selection),\n                           OSSL_PASSPHRASE_CALLBACK *cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - impl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 669
    functionName: MAKE_TEXT_ENCODER
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/encode_key2text.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_TEXT_ENCODER(impl, type)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - evp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: ml_kem_get_codec
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ML_COMMON_CODEC
    signature: ML_COMMON_CODEC *ml_kem_get_codec(int evp_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:107,1
    - Dst: ossl_ml_kem_get_vinfo
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:113,1
    - Dst: ml_kem_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:114,1
    - Dst: memcmp
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:118,1
    - Dst: ossl_ml_kem_key_new
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:123,1
    - Dst: ossl_ml_kem_parse_public_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:126,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:127,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - pubenc
    - publen
    - evp_type
    - provctx
    - propq
    argTypes:
    - uint8_t*
    - int
    - int
    - PROV_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: ossl_ml_kem_d2i_PUBKEY
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_parse_public_key
    - memcmp
    - ml_kem_get_codec
    - PROV_LIBCTX_OF
    - ERR_raise_data
    - ossl_ml_kem_key_free
    - ossl_ml_kem_get_vinfo
    - ossl_ml_kem_key_new
    linkageType: ''
    returnType: ML_KEM_KEY
    signature: "ML_KEM_KEY *\nossl_ml_kem_d2i_PUBKEY(const uint8_t *pubenc, int publen,
      int evp_type,\n                       PROV_CTX *provctx, const char *propq)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_get_vinfo
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:156,1
    - Dst: ml_kem_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:157,1
    - Dst: d2i_PKCS8_PRIV_KEY_INFO
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:161,1
    - Dst: PKCS8_pkey_get0
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:164,1
    - Dst: OBJ_obj2nid
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:167,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:171,1
    - Dst: ossl_ml_common_pkcs8_fmt_order
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:173,1
    - Dst: X509_ALGOR_get0
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:179,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:181,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:190,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:204,1
    - Dst: OPENSSL_load_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:213,1
    - Dst: OPENSSL_load_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:224,1
    - Dst: ossl_prov_ml_kem_new
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:244,1
    - Dst: ossl_ml_kem_set_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:248,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:250,1
    - Dst: OPENSSL_secure_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:257,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:258,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:263,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:269,1
    - Dst: PKCS8_PRIV_KEY_INFO_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:270,1
    - Dst: ossl_ml_kem_key_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:272,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 100
    argCount: 5
    argNames:
    - prvenc
    - prvlen
    - evp_type
    - provctx
    - propq
    argTypes:
    - uint8_t*
    - int
    - int
    - PROV_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 274
    functionName: ossl_ml_kem_d2i_PKCS8
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 0
    functionsReached:
    - PKCS8_PRIV_KEY_INFO_free
    - ml_kem_get_codec
    - ossl_ml_kem_set_seed
    - memcpy
    - X509_ALGOR_get0
    - ERR_raise_data
    - ossl_ml_common_pkcs8_fmt_order
    - OPENSSL_secure_malloc
    - OPENSSL_free
    - PKCS8_pkey_get0
    - ossl_ml_kem_key_free
    - ossl_ml_kem_get_vinfo
    - d2i_PKCS8_PRIV_KEY_INFO
    - OPENSSL_load_u32_be
    - ossl_prov_ml_kem_new
    - OBJ_obj2nid
    - ossl_prov_ctx_get_param
    - OPENSSL_load_u16_be
    linkageType: ''
    returnType: ML_KEM_KEY
    signature: "ML_KEM_KEY *\nossl_ml_kem_d2i_PKCS8(const uint8_t *prvenc, int prvlen,\n
      \                     int evp_type, PROV_CTX *provctx,\n                      const
      char *propq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:281,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:282,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:290,1
    - Dst: ossl_ml_kem_encode_public_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:292,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:293,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - key
    - out
    argTypes:
    - ML_KEM_KEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 301
    functionName: ossl_ml_kem_i2d_pubkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - ossl_ml_kem_encode_public_key
    - ERR_raise_data
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_i2d_pubkey(const ML_KEM_KEY *key, unsigned char **out)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ml_kem_get_codec
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:317,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:320,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:321,1
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:327,1
    - Dst: ossl_ml_common_pkcs8_fmt_order
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:329,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:336,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:343,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:355,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:360,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:363,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:368,1
    - Dst: OPENSSL_store_u16_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:380,1
    - Dst: ossl_ml_kem_encode_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:382,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:383,1
    - Dst: OPENSSL_store_u32_be
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:392,1
    - Dst: ossl_ml_kem_encode_private_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:394,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:395,1
    - Dst: ossl_ml_kem_encode_public_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:406,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:407,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:421,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:423,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 80
    argCount: 3
    argNames:
    - key
    - out
    - provctx
    argTypes:
    - ML_KEM_KEY*
    - uint8_t**
    - PROV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 304
    functionDepth: 6
    functionLinenumber: 304
    functionLinenumberEnd: 425
    functionName: ossl_ml_kem_i2d_prvkey
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 0
    functionsReached:
    - ossl_ml_kem_have_prvkey
    - ml_kem_get_codec
    - ossl_ml_kem_encode_seed
    - ossl_ml_kem_encode_public_key
    - ERR_raise_data
    - ossl_ml_common_pkcs8_fmt_order
    - ossl_ml_kem_have_seed
    - OPENSSL_free
    - OPENSSL_store_u32_be
    - ossl_ml_kem_encode_private_key
    - OPENSSL_malloc
    - ossl_prov_ctx_get_param
    - OPENSSL_store_u16_be
    linkageType: ''
    returnType: int
    signature: "int ossl_ml_kem_i2d_prvkey(const ML_KEM_KEY *key, uint8_t **out,\n
      \                          PROV_CTX *provctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:435,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:443,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:444,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:445,1
    - Dst: ossl_ml_kem_have_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:448,1
    - Dst: ossl_ml_kem_encode_seed
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:449,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:451,1
    - Dst: ossl_ml_kem_have_prvkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:454,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:455,1
    - Dst: ossl_ml_kem_encode_private_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:457,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:459,1
    - Dst: ossl_ml_kem_have_pubkey
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:466,1
    - Dst: BIO_printf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:468,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:471,1
    - Dst: ossl_ml_kem_encode_public_key
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:472,1
    - Dst: ossl_bio_print_labeled_buf
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:473,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:480,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:485,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c:486,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 3
    argNames:
    - out
    - key
    - selection
    argTypes:
    - BIO*
    - ML_KEM_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 427
    functionDepth: 6
    functionLinenumber: 427
    functionLinenumberEnd: 488
    functionName: ossl_ml_kem_key_to_text
    functionSourceFile: /src/openssl/providers/implementations/encode_decode/ml_kem_codecs.c
    functionUses: 1
    functionsReached:
    - ossl_ml_kem_have_pubkey
    - ossl_ml_kem_have_prvkey
    - ERR_raise
    - ossl_ml_kem_encode_seed
    - ossl_ml_kem_encode_public_key
    - ERR_raise_data
    - ossl_ml_kem_have_seed
    - OPENSSL_free
    - ossl_bio_print_labeled_buf
    - ossl_ml_kem_encode_private_key
    - OPENSSL_malloc
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int ossl_ml_kem_key_to_text(BIO *out, const ML_KEM_KEY *key, int selection)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:38,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:41,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:45,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - provctx
    - propq
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: lms_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - PROV_LIBCTX_OF
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: void
    signature: void *lms_newctx(void *provctx, const char *propq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:60,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:61,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: lms_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void lms_freectx(void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:77,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:79,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:81,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - digestname
    argTypes:
    - PROV_LMS_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 10
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: setdigest
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - EVP_MD_free
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: int setdigest(PROV_LMS_CTX *ctx, const char *digestname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:97,1
    - Dst: setdigest
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - vctx
    - vkey
    - params
    argTypes:
    - void*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 11
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: lms_verify_msg_init
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - setdigest
    linkageType: ''
    returnType: int
    signature: int lms_verify_msg_init(void *vctx, void *vkey, const OSSL_PARAM params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_lms_sig_decode
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:118,1
    - Dst: ossl_lms_sig_verify
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:121,1
    - Dst: ossl_lms_sig_free
      Src: /src/openssl/providers/implementations/signature/lms_signature.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - vctx
    - sigbuf
    - sigbuf_len
    - msg
    - msglen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 10
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: lms_verify
    functionSourceFile: /src/openssl/providers/implementations/signature/lms_signature.c
    functionUses: 0
    functionsReached:
    - ossl_lms_sig_verify
    - ossl_lms_sig_decode
    - ossl_lms_sig_free
    linkageType: ''
    returnType: int
    signature: "int lms_verify(void *vctx, const unsigned char *sigbuf, size_t sigbuf_len,\n
      \                     const unsigned char *msg, size_t msglen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:55,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:58,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:62,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:63,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:66,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:70,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:74,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:79,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:80,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - provctx
    - propq
    - macname
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: mac_newctx
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_new
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - EVP_MAC_free
    - PROV_LIBCTX_OF
    - OPENSSL_free
    - OPENSSL_strdup
    - EVP_MAC_fetch
    linkageType: ''
    returnType: void
    signature: void *mac_newctx(void *provctx, const char *propq, const char *macname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - funcname
    - ','
    - macname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: MAC_NEWCTX
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC_NEWCTX(funcname, macname)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:107,1
    - Dst: ossl_mac_key_up_ref
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:112,1
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:114,1
    - Dst: EVP_CIPHER_get0_name
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:119,1
    - Dst: ENGINE_get_id
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:122,1
    - Dst: ossl_prov_set_macctx
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:125,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - vpmacctx
    - mdname
    - vkey
    - params
    argTypes:
    - void*
    - char*
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 137
    functionName: mac_digest_sign_init
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached:
    - ossl_mac_key_up_ref
    - ossl_prov_is_running
    - ERR_raise
    - EVP_CIPHER_get0_name
    - ossl_prov_set_macctx
    - EVP_MAC_init
    - ENGINE_get_id
    - ossl_mac_key_free
    linkageType: ''
    returnType: int
    signature: "int mac_digest_sign_init(void *vpmacctx, const char *mdname, void
      *vkey,\n                                const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_update
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vpmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: mac_digest_sign_update
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: "int mac_digest_sign_update(void *vpmacctx, const unsigned char *data,\n
      \                          size_t datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:155,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - vpmacctx
    - mac
    - maclen
    - macsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: mac_digest_sign_final
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - EVP_MAC_final
    linkageType: ''
    returnType: int
    signature: "int mac_digest_sign_final(void *vpmacctx, unsigned char *mac, size_t
      *maclen,\n                          size_t macsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:165,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:166,1
    - Dst: ossl_mac_key_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vpmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: mac_freectx
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_free
    - OPENSSL_free
    - ossl_mac_key_free
    linkageType: ''
    returnType: void
    signature: void mac_freectx(void *vpmacctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:176,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:179,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:188,1
    - Dst: ossl_mac_key_up_ref
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:191,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:196,1
    - Dst: mac_freectx
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:203,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - vpmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: mac_dupctx
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - ossl_mac_key_up_ref
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - EVP_MAC_CTX_dup
    - OPENSSL_strdup
    - mac_freectx
    linkageType: ''
    returnType: void
    signature: void *mac_dupctx(void *vpmacctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vpmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: mac_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int mac_set_ctx_params(void *vpmacctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:218,1
    - Dst: PROV_LIBCTX_OF
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:218,1
    - Dst: EVP_MAC_settable_ctx_params
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:225,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/implementations/signature/mac_legacy_sig.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - provctx
    - macname
    argTypes:
    - ossl_unused*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 214
    functionDepth: 10
    functionLinenumber: 214
    functionLinenumberEnd: 229
    functionName: mac_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_free
    - EVP_MAC_settable_ctx_params
    - EVP_MAC_fetch
    - PROV_LIBCTX_OF
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mac_settable_ctx_params(ossl_unused void *ctx,\n                                                 void
      *provctx,\n                                                 const char *macname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - funcname
    - ','
    - macname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: MAC_SETTABLE_CTX_PARAMS
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC_SETTABLE_CTX_PARAMS(funcname, macname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - funcname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: MAC_SIGNATURE_FUNCTIONS
    functionSourceFile: /src/openssl/providers/implementations/signature/mac_legacy_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC_SIGNATURE_FUNCTIONS(funcname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generic_import
      Src: /src/openssl/providers/implementations/skeymgmt/aes_skmgmt.c:22,1
    - Dst: generic_free
      Src: /src/openssl/providers/implementations/skeymgmt/aes_skmgmt.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - provctx
    - selection
    - params
    argTypes:
    - void*
    - int
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: aes_import
    functionSourceFile: /src/openssl/providers/implementations/skeymgmt/aes_skmgmt.c
    functionUses: 0
    functionsReached:
    - generic_import
    - generic_free
    linkageType: ''
    returnType: void
    signature: "void *aes_import(void *provctx, int selection,\n                        const
      OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generic_export
      Src: /src/openssl/providers/implementations/skeymgmt/aes_skmgmt.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - keydata
    - selection
    - param_callback
    - cbarg
    argTypes:
    - void*
    - int
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: aes_export
    functionSourceFile: /src/openssl/providers/implementations/skeymgmt/aes_skmgmt.c
    functionUses: 0
    functionsReached:
    - generic_export
    linkageType: ''
    returnType: int
    signature: "int aes_export(void *keydata, int selection,\n                      OSSL_CALLBACK
      *param_callback, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:48,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:51,1
    - Dst: BLAKE2_PARAM_INIT
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - unused_provctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: blake2_mac_new
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    - BLAKE2_PARAM_INIT
    linkageType: ''
    returnType: void
    signature: void *blake2_mac_new(void *unused_provctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:64,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - vsrc
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: blake2_mac_dup
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - ossl_prov_is_running
    linkageType: ''
    returnType: void
    signature: void *blake2_mac_dup(void *vsrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:80,1
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: blake2_mac_free
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void blake2_mac_free(void *vmacctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vmacctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: blake2_mac_size
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t blake2_mac_size(void *vmacctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:96,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:99,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:102,1
    - Dst: BLAKE2_PARAM_SET_KEY_LENGTH
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - macctx
    - key
    - keylen
    argTypes:
    - struct blake2_mac_data_st*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: blake2_setkey
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - ERR_raise
    - BLAKE2_PARAM_SET_KEY_LENGTH
    linkageType: ''
    returnType: int
    signature: "int blake2_setkey(struct blake2_mac_data_st *macctx,\n                         const
      unsigned char *key, size_t keylen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:112,1
    - Dst: blake2_mac_set_ctx_params
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:112,1
    - Dst: blake2_setkey
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:119,1
    - Dst: BLAKE2_INIT_KEY
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - vmacctx
    - key
    - keylen
    - params
    argTypes:
    - void*
    - unsigned char*
    - size_t
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: blake2_mac_init
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached:
    - ossl_prov_is_running
    - ERR_raise
    - BLAKE2_INIT_KEY
    - blake2_setkey
    - blake2_mac_set_ctx_params
    linkageType: ''
    returnType: int
    signature: "int blake2_mac_init(void *vmacctx, const unsigned char *key,\n                           size_t
      keylen, const OSSL_PARAM params[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLAKE2_UPDATE
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vmacctx
    - data
    - datalen
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: blake2_mac_update
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached:
    - BLAKE2_UPDATE
    linkageType: ''
    returnType: int
    signature: "int blake2_mac_update(void *vmacctx,\n                             const
      unsigned char *data, size_t datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_is_running
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:142,1
    - Dst: blake2_mac_size
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:145,1
    - Dst: BLAKE2_FINAL
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - vmacctx
    - out
    - outl
    - outsize
    argTypes:
    - void*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: blake2_mac_final
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached:
    - BLAKE2_FINAL
    - ossl_prov_is_running
    - blake2_mac_size
    linkageType: ''
    returnType: int
    signature: "int blake2_mac_final(void *vmacctx,\n                            unsigned
      char *out, size_t *outl,\n                            size_t outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: blake2_gettable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *blake2_gettable_ctx_params(ossl_unused void *ctx,\n                                                    ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blake2_get_ctx_decoder
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:161,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:165,1
    - Dst: blake2_mac_size
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:165,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 6
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: blake2_get_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached:
    - blake2_mac_size
    - OSSL_PARAM_set_size_t
    - blake2_get_ctx_decoder
    linkageType: ''
    returnType: int
    signature: int blake2_get_ctx_params(void *vmacctx, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - p_ctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: blake2_mac_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *blake2_mac_settable_ctx_params(\n            ossl_unused
      void *ctx, ossl_unused void *p_ctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blake2_mac_set_ctx_decoder
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:188,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:197,1
    - Dst: BLAKE2_PARAM_SET_DIGEST_LENGTH
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:200,1
    - Dst: blake2_setkey
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:205,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:216,1
    - Dst: BLAKE2_PARAM_SET_PERSONAL
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:219,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:231,1
    - Dst: BLAKE2_PARAM_SET_SALT
      Src: /src/openssl/providers/implementations/macs/blake2_mac_impl.c:234,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - vmacctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 183
    functionDepth: 6
    functionLinenumber: 183
    functionLinenumberEnd: 237
    functionName: blake2_mac_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/macs/blake2_mac_impl.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - blake2_setkey
    - BLAKE2_PARAM_SET_SALT
    - BLAKE2_PARAM_SET_DIGEST_LENGTH
    - BLAKE2_PARAM_SET_PERSONAL
    - blake2_mac_set_ctx_decoder
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int blake2_mac_set_ctx_params(void *vmacctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: sha1_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *sha1_settable_ctx_params(ossl_unused void *ctx,\n                                                  ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:49,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:52,1
    - Dst: ossl_sha1_ctrl
      Src: /src/openssl/providers/implementations/digests/sha2_prov.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: sha1_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/sha2_prov.c
    functionUses: 0
    functionsReached:
    - ossl_sha1_ctrl
    - ossl_param_is_empty
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int sha1_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: md5_sha1_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/md5_sha1_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *md5_sha1_settable_ctx_params(ossl_unused void *ctx,\n
      \                                                     ossl_unused void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/digests/md5_sha1_prov.c:47,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/digests/md5_sha1_prov.c:50,1
    - Dst: ossl_md5_sha1_ctrl
      Src: /src/openssl/providers/implementations/digests/md5_sha1_prov.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: md5_sha1_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/md5_sha1_prov.c
    functionUses: 0
    functionsReached:
    - ossl_md5_sha1_ctrl
    - ossl_param_is_empty
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: int md5_sha1_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2_impl.h:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: load32
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline load32(const uint8_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2_impl.h:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: load64
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline load64(const uint8_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2_impl.h:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: store32
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline store32(uint8_t *dst, uint32_t w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2_impl.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: store64
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline store64(uint8_t *dst, uint64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: load48
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline load48(const uint8_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - w
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: store48
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline store48(uint8_t *dst, uint64_t w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: rotr32
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline rotr32(const uint32_t w, const unsigned int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - c
    argTypes:
    - uint64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: rotr64
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline rotr64(const uint64_t w, const unsigned int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2B_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: blake2b_set_lastblock
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline blake2b_set_lastblock(BLAKE2B_CTX *S)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2B_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: blake2b_init0
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline blake2b_init0(BLAKE2B_CTX *S)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init0
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:71,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:76,1
    - Dst: load64
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - S
    - P
    argTypes:
    - BLAKE2B_CTX*
    - BLAKE2B_PARAM*
    assertStmts:
    - condition: (sizeof(BLAKE2B_PARAM) == 64)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/openssl/providers/implementations/digests/blake2b_prov.c
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: blake2b_init_param
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - load64
    - blake2b_init0
    - assert
    linkageType: ''
    returnType: void
    signature: void blake2b_init_param(BLAKE2B_CTX *S, const BLAKE2B_PARAM *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store32
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:90,1
    - Dst: store64
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:91,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:94,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:95,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - P
    argTypes:
    - BLAKE2B_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: ossl_blake2b_param_init
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 1
    functionsReached:
    - memset
    - store64
    - store32
    linkageType: ''
    returnType: void
    signature: void ossl_blake2b_param_init(BLAKE2B_PARAM *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - outlen
    argTypes:
    - BLAKE2B_PARAM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: ossl_blake2b_param_set_digest_length
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_blake2b_param_set_digest_length(BLAKE2B_PARAM *P, uint8_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - keylen
    argTypes:
    - BLAKE2B_PARAM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ossl_blake2b_param_set_key_length
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_blake2b_param_set_key_length(BLAKE2B_PARAM *P, uint8_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:112,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - P
    - personal
    - len
    argTypes:
    - BLAKE2B_PARAM*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: ossl_blake2b_param_set_personal
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void ossl_blake2b_param_set_personal(BLAKE2B_PARAM *P, const uint8_t
      *personal,\n                                     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:119,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - P
    - salt
    - len
    argTypes:
    - BLAKE2B_PARAM*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: ossl_blake2b_param_set_salt
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void ossl_blake2b_param_set_salt(BLAKE2B_PARAM *P, const uint8_t *salt,\n
      \                                size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_param
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - P
    argTypes:
    - BLAKE2B_CTX*
    - BLAKE2B_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: ossl_blake2b_init
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 1
    functionsReached:
    - blake2b_init_param
    linkageType: ''
    returnType: int
    signature: int ossl_blake2b_init(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_init_param
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:140,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:146,1
    - Dst: ossl_blake2b_update
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:147,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - c
    - P
    - key
    argTypes:
    - BLAKE2B_CTX*
    - BLAKE2B_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: ossl_blake2b_init_key
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - memcpy
    - ossl_blake2b_update
    - blake2b_init_param
    linkageType: ''
    returnType: int
    signature: "int ossl_blake2b_init_key(BLAKE2B_CTX *c, const BLAKE2B_PARAM *P,\n
      \                         const void *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:174,1
    - Dst: load64
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:191,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:231,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:234,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:235,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:236,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:237,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:238,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:239,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:240,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:241,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:242,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:243,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:244,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 3
    argNames:
    - S
    - blocks
    - len
    argTypes:
    - BLAKE2B_CTX*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (len < BLAKE2B_BLOCKBYTES || len % BLAKE2B_BLOCKBYTES == 0)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/openssl/providers/implementations/digests/blake2b_prov.c
    constantsTouched: []
    func_position:
      end: 256
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 256
    functionName: blake2b_compress
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - load64
    - assert
    - ROUND
    linkageType: ''
    returnType: void
    signature: "void blake2b_compress(BLAKE2B_CTX *S,\n                            const
      uint8_t *blocks,\n                            size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - r
    - ','
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 217
    functionName: G
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(r,i,a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: ROUND
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:275,1
    - Dst: blake2b_compress
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:276,1
    - Dst: blake2b_compress
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:289,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:295,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - c
    - data
    - datalen
    argTypes:
    - BLAKE2B_CTX*
    - void*
    - size_t
    assertStmts:
    - condition: (datalen <= BLAKE2B_BLOCKBYTES)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/openssl/providers/implementations/digests/blake2b_prov.c
    constantsTouched: []
    func_position:
      end: 301
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 301
    functionName: ossl_blake2b_update
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 1
    functionsReached:
    - memcpy
    - blake2b_compress
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_blake2b_update(BLAKE2B_CTX *c, const void *data, size_t datalen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blake2b_set_lastblock
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:318,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:320,1
    - Dst: blake2b_compress
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:321,1
    - Dst: store64
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:325,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:328,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:329,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2b_prov.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - BLAKE2B_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 334
    functionName: ossl_blake2b_final
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2b_prov.c
    functionUses: 0
    functionsReached:
    - blake2b_compress
    - memset
    - memcpy
    - store64
    - OPENSSL_cleanse
    - blake2b_set_lastblock
    linkageType: ''
    returnType: int
    signature: int ossl_blake2b_final(unsigned char *md, BLAKE2B_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - NULLMD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: null_init
    functionSourceFile: /src/openssl/providers/implementations/digests/null_prov.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int null_init(NULLMD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - datalen
    argTypes:
    - NULLMD_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: null_update
    functionSourceFile: /src/openssl/providers/implementations/digests/null_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int null_update(NULLMD_CTX *ctx, const void *data, size_t datalen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - md
    - ctx
    argTypes:
    - unsigned char*
    - NULLMD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: null_final
    functionSourceFile: /src/openssl/providers/implementations/digests/null_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int null_final(unsigned char *md, NULLMD_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - dgstsize
    - ','
    - fin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: PROV_FUNC_DIGEST_FINAL
    functionSourceFile: /src/openssl/providers/implementations/digests/null_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_FUNC_DIGEST_FINAL(name, dgstsize, fin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2S_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: blake2s_set_lastblock
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline blake2s_set_lastblock(BLAKE2S_CTX *S)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - S
    argTypes:
    - BLAKE2S_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: blake2s_init0
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline blake2s_init0(BLAKE2S_CTX *S)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_init0
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:64,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:69,1
    - Dst: load32
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - S
    - P
    argTypes:
    - BLAKE2S_CTX*
    - BLAKE2S_PARAM*
    assertStmts:
    - condition: (sizeof(BLAKE2S_PARAM) == 32)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/openssl/providers/implementations/digests/blake2s_prov.c
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: blake2s_init_param
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - blake2s_init0
    - load32
    - assert
    linkageType: ''
    returnType: void
    signature: void blake2s_init_param(BLAKE2S_CTX *S, const BLAKE2S_PARAM *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store32
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:82,1
    - Dst: store48
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:83,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:86,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - P
    argTypes:
    - BLAKE2S_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: ossl_blake2s_param_init
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 1
    functionsReached:
    - memset
    - store48
    - store32
    linkageType: ''
    returnType: void
    signature: void ossl_blake2s_param_init(BLAKE2S_PARAM *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - outlen
    argTypes:
    - BLAKE2S_PARAM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ossl_blake2s_param_set_digest_length
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_blake2s_param_set_digest_length(BLAKE2S_PARAM *P, uint8_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - P
    - keylen
    argTypes:
    - BLAKE2S_PARAM*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: ossl_blake2s_param_set_key_length
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_blake2s_param_set_key_length(BLAKE2S_PARAM *P, uint8_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:103,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - P
    - personal
    - len
    argTypes:
    - BLAKE2S_PARAM*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: ossl_blake2s_param_set_personal
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void ossl_blake2s_param_set_personal(BLAKE2S_PARAM *P, const uint8_t
      *personal,\n                                     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:110,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - P
    - salt
    - len
    argTypes:
    - BLAKE2S_PARAM*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: ossl_blake2s_param_set_salt
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void ossl_blake2s_param_set_salt(BLAKE2S_PARAM *P, const uint8_t *salt,\n
      \                                size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_init_param
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - P
    argTypes:
    - BLAKE2S_CTX*
    - BLAKE2S_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: ossl_blake2s_init
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 1
    functionsReached:
    - blake2s_init_param
    linkageType: ''
    returnType: int
    signature: int ossl_blake2s_init(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_init_param
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:130,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:136,1
    - Dst: ossl_blake2s_update
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:137,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - c
    - P
    - key
    argTypes:
    - BLAKE2S_CTX*
    - BLAKE2S_PARAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: ossl_blake2s_init_key
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - blake2s_init_param
    - memcpy
    - ossl_blake2s_update
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ossl_blake2s_init_key(BLAKE2S_CTX *c, const BLAKE2S_PARAM *P,\n
      \                         const void *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:164,1
    - Dst: load32
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:181,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:221,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:224,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:225,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:226,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:227,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:228,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:229,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:230,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:231,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:232,1
    - Dst: ROUND
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - S
    - blocks
    - len
    argTypes:
    - BLAKE2S_CTX*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (len < BLAKE2S_BLOCKBYTES || len % BLAKE2S_BLOCKBYTES == 0)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/openssl/providers/implementations/digests/blake2s_prov.c
    constantsTouched: []
    func_position:
      end: 244
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 244
    functionName: blake2s_compress
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - load32
    - assert
    - ROUND
    linkageType: ''
    returnType: void
    signature: "void blake2s_compress(BLAKE2S_CTX *S,\n                            const
      uint8_t *blocks,\n                            size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - r
    - ','
    - i
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: G
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(r,i,a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: ROUND
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:263,1
    - Dst: blake2s_compress
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:264,1
    - Dst: blake2s_compress
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:277,1
    - Dst: assert
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:283,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - c
    - data
    - datalen
    argTypes:
    - BLAKE2S_CTX*
    - void*
    - size_t
    assertStmts:
    - condition: (datalen <= BLAKE2S_BLOCKBYTES)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/openssl/providers/implementations/digests/blake2s_prov.c
    constantsTouched: []
    func_position:
      end: 289
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 289
    functionName: ossl_blake2s_update
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 1
    functionsReached:
    - memcpy
    - blake2s_compress
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_blake2s_update(BLAKE2S_CTX *c, const void *data, size_t datalen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blake2s_set_lastblock
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:306,1
    - Dst: memset
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:308,1
    - Dst: blake2s_compress
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:309,1
    - Dst: store32
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:313,1
    - Dst: memcpy
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:316,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:317,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/providers/implementations/digests/blake2s_prov.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - md
    - c
    argTypes:
    - unsigned char*
    - BLAKE2S_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 322
    functionName: ossl_blake2s_final
    functionSourceFile: /src/openssl/providers/implementations/digests/blake2s_prov.c
    functionUses: 0
    functionsReached:
    - blake2s_compress
    - memset
    - memcpy
    - blake2s_set_lastblock
    - store32
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int ossl_blake2s_final(unsigned char *md, BLAKE2S_CTX *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: mdc2_settable_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/mdc2_prov.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *mdc2_settable_ctx_params(ossl_unused void *ctx,\n                                                  ossl_unused
      void *provctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_param_is_empty
      Src: /src/openssl/providers/implementations/digests/mdc2_prov.c:46,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/implementations/digests/mdc2_prov.c:49,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/providers/implementations/digests/mdc2_prov.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/implementations/digests/mdc2_prov.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - vctx
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: mdc2_set_ctx_params
    functionSourceFile: /src/openssl/providers/implementations/digests/mdc2_prov.c
    functionUses: 0
    functionsReached:
    - ossl_param_is_empty
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint
    linkageType: ''
    returnType: int
    signature: int mdc2_set_ctx_params(void *vctx, const OSSL_PARAM params[])
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_BIO_new_file
      Src: /src/openssl/providers/common/bio_prov.c:32,1
    - Dst: OSSL_FUNC_BIO_new_membuf
      Src: /src/openssl/providers/common/bio_prov.c:36,1
    - Dst: OSSL_FUNC_BIO_read_ex
      Src: /src/openssl/providers/common/bio_prov.c:40,1
    - Dst: OSSL_FUNC_BIO_write_ex
      Src: /src/openssl/providers/common/bio_prov.c:44,1
    - Dst: OSSL_FUNC_BIO_gets
      Src: /src/openssl/providers/common/bio_prov.c:48,1
    - Dst: OSSL_FUNC_BIO_puts
      Src: /src/openssl/providers/common/bio_prov.c:52,1
    - Dst: OSSL_FUNC_BIO_ctrl
      Src: /src/openssl/providers/common/bio_prov.c:56,1
    - Dst: OSSL_FUNC_BIO_up_ref
      Src: /src/openssl/providers/common/bio_prov.c:60,1
    - Dst: OSSL_FUNC_BIO_free
      Src: /src/openssl/providers/common/bio_prov.c:64,1
    - Dst: OSSL_FUNC_BIO_vprintf
      Src: /src/openssl/providers/common/bio_prov.c:68,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 74
    functionName: ossl_prov_bio_from_dispatch
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 3
    functionsReached:
    - OSSL_FUNC_BIO_up_ref
    - OSSL_FUNC_BIO_new_file
    - OSSL_FUNC_BIO_new_membuf
    - OSSL_FUNC_BIO_free
    - OSSL_FUNC_BIO_vprintf
    - OSSL_FUNC_BIO_write_ex
    - OSSL_FUNC_BIO_gets
    - OSSL_FUNC_BIO_puts
    - OSSL_FUNC_BIO_ctrl
    - OSSL_FUNC_BIO_read_ex
    linkageType: ''
    returnType: int
    signature: int ossl_prov_bio_from_dispatch(const OSSL_DISPATCH *fns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_new_file
      Src: /src/openssl/providers/common/bio_prov.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: ossl_prov_bio_new_file
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_new_file
    linkageType: ''
    returnType: OSSL_CORE_BIO
    signature: OSSL_CORE_BIO *ossl_prov_bio_new_file(const char *filename, const char
      *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_new_membuf
      Src: /src/openssl/providers/common/bio_prov.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: ossl_prov_bio_new_membuf
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_new_membuf
    linkageType: ''
    returnType: OSSL_CORE_BIO
    signature: OSSL_CORE_BIO *ossl_prov_bio_new_membuf(const char *filename, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_read_ex
      Src: /src/openssl/providers/common/bio_prov.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - bytes_read
    argTypes:
    - OSSL_CORE_BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: ossl_prov_bio_read_ex
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_read_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_bio_read_ex(OSSL_CORE_BIO *bio, void *data, size_t data_len,\n
      \                         size_t *bytes_read)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_write_ex
      Src: /src/openssl/providers/common/bio_prov.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - written
    argTypes:
    - OSSL_CORE_BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: ossl_prov_bio_write_ex
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_write_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_bio_write_ex(OSSL_CORE_BIO *bio, const void *data, size_t
      data_len,\n                           size_t *written)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_gets
      Src: /src/openssl/providers/common/bio_prov.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: ossl_prov_bio_gets
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_gets
    linkageType: ''
    returnType: int
    signature: int ossl_prov_bio_gets(OSSL_CORE_BIO *bio, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_puts
      Src: /src/openssl/providers/common/bio_prov.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: ossl_prov_bio_puts
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_puts
    linkageType: ''
    returnType: int
    signature: int ossl_prov_bio_puts(OSSL_CORE_BIO *bio, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_ctrl
      Src: /src/openssl/providers/common/bio_prov.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - OSSL_CORE_BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: ossl_prov_bio_ctrl
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_ctrl
    linkageType: ''
    returnType: int
    signature: int ossl_prov_bio_ctrl(OSSL_CORE_BIO *bio, int cmd, long num, void
      *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_up_ref
      Src: /src/openssl/providers/common/bio_prov.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: ossl_prov_bio_up_ref
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_up_ref
    linkageType: ''
    returnType: int
    signature: int ossl_prov_bio_up_ref(OSSL_CORE_BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_free
      Src: /src/openssl/providers/common/bio_prov.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: ossl_prov_bio_free
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_free
    linkageType: ''
    returnType: int
    signature: int ossl_prov_bio_free(OSSL_CORE_BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_bio_vprintf
      Src: /src/openssl/providers/common/bio_prov.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - format
    - ap
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: ossl_prov_bio_vprintf
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - c_bio_vprintf
    linkageType: ''
    returnType: int
    signature: int ossl_prov_bio_vprintf(OSSL_CORE_BIO *bio, const char *format, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/providers/common/bio_prov.c:153,1
    - Dst: ossl_prov_bio_vprintf
      Src: /src/openssl/providers/common/bio_prov.c:154,1
    - Dst: va_end
      Src: /src/openssl/providers/common/bio_prov.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - format
    argTypes:
    - OSSL_CORE_BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: ossl_prov_bio_printf
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - va_end
    - ossl_prov_bio_vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int ossl_prov_bio_printf(OSSL_CORE_BIO *bio, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_read_ex
      Src: /src/openssl/providers/common/bio_prov.c:167,1
    - Dst: BIO_get_data
      Src: /src/openssl/providers/common/bio_prov.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - bytes_read
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: bio_core_read_ex
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_bio_read_ex
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: "int bio_core_read_ex(BIO *bio, char *data, size_t data_len,\n                            size_t
      *bytes_read)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_write_ex
      Src: /src/openssl/providers/common/bio_prov.c:173,1
    - Dst: BIO_get_data
      Src: /src/openssl/providers/common/bio_prov.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - data
    - data_len
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: bio_core_write_ex
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_bio_write_ex
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: "int bio_core_write_ex(BIO *bio, const char *data, size_t data_len,\n
      \                            size_t *written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_ctrl
      Src: /src/openssl/providers/common/bio_prov.c:178,1
    - Dst: BIO_get_data
      Src: /src/openssl/providers/common/bio_prov.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bio
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: bio_core_ctrl
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - ossl_prov_bio_ctrl
    linkageType: ''
    returnType: long
    signature: long bio_core_ctrl(BIO *bio, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_gets
      Src: /src/openssl/providers/common/bio_prov.c:183,1
    - Dst: BIO_get_data
      Src: /src/openssl/providers/common/bio_prov.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bio
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: bio_core_gets
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_bio_gets
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int bio_core_gets(BIO *bio, char *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_bio_puts
      Src: /src/openssl/providers/common/bio_prov.c:188,1
    - Dst: BIO_get_data
      Src: /src/openssl/providers/common/bio_prov.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: bio_core_puts
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - ossl_prov_bio_puts
    linkageType: ''
    returnType: int
    signature: int bio_core_puts(BIO *bio, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/providers/common/bio_prov.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: bio_core_new
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_core_new(BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/openssl/providers/common/bio_prov.c:200,1
    - Dst: ossl_prov_bio_free
      Src: /src/openssl/providers/common/bio_prov.c:201,1
    - Dst: BIO_get_data
      Src: /src/openssl/providers/common/bio_prov.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: bio_core_free
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 0
    functionsReached:
    - ossl_prov_bio_free
    - BIO_get_data
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int bio_core_free(BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/openssl/providers/common/bio_prov.c:210,1
    - Dst: BIO_meth_set_write_ex
      Src: /src/openssl/providers/common/bio_prov.c:212,1
    - Dst: BIO_meth_set_read_ex
      Src: /src/openssl/providers/common/bio_prov.c:213,1
    - Dst: BIO_meth_set_puts
      Src: /src/openssl/providers/common/bio_prov.c:214,1
    - Dst: BIO_meth_set_gets
      Src: /src/openssl/providers/common/bio_prov.c:215,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/openssl/providers/common/bio_prov.c:216,1
    - Dst: BIO_meth_set_create
      Src: /src/openssl/providers/common/bio_prov.c:217,1
    - Dst: BIO_meth_set_destroy
      Src: /src/openssl/providers/common/bio_prov.c:218,1
    - Dst: BIO_meth_free
      Src: /src/openssl/providers/common/bio_prov.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: ossl_bio_prov_init_bio_method
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 3
    functionsReached:
    - BIO_meth_set_write_ex
    - BIO_meth_set_gets
    - BIO_meth_new
    - BIO_meth_set_destroy
    - BIO_meth_set_ctrl
    - BIO_meth_free
    - BIO_meth_set_read_ex
    - BIO_meth_set_create
    - BIO_meth_set_puts
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *ossl_bio_prov_init_bio_method(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get0_core_bio_method
      Src: /src/openssl/providers/common/bio_prov.c:229,1
    - Dst: BIO_new
      Src: /src/openssl/providers/common/bio_prov.c:234,1
    - Dst: ossl_prov_bio_up_ref
      Src: /src/openssl/providers/common/bio_prov.c:236,1
    - Dst: BIO_free
      Src: /src/openssl/providers/common/bio_prov.c:237,1
    - Dst: BIO_set_data
      Src: /src/openssl/providers/common/bio_prov.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - provctx
    - corebio
    argTypes:
    - PROV_CTX*
    - OSSL_CORE_BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: ossl_bio_new_from_core_bio
    functionSourceFile: /src/openssl/providers/common/bio_prov.c
    functionUses: 5
    functionsReached:
    - BIO_new
    - BIO_free
    - BIO_set_data
    - ossl_prov_bio_up_ref
    - ossl_prov_ctx_get0_core_bio_method
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_bio_new_from_core_bio(PROV_CTX *provctx, OSSL_CORE_BIO *corebio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_is_a
      Src: /src/openssl/providers/common/digest_to_nid.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - md
    - it
    - it_len
    argTypes:
    - EVP_MD*
    - OSSL_ITEM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: ossl_digest_md_to_nid
    functionSourceFile: /src/openssl/providers/common/digest_to_nid.c
    functionUses: 0
    functionsReached:
    - EVP_MD_is_a
    linkageType: ''
    returnType: int
    signature: int ossl_digest_md_to_nid(const EVP_MD *md, const OSSL_ITEM *it, size_t
      it_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_md_to_nid
      Src: /src/openssl/providers/common/digest_to_nid.c:57,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/common/digest_to_nid.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 10
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: ossl_digest_get_approved_nid
    functionSourceFile: /src/openssl/providers/common/digest_to_nid.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ossl_digest_md_to_nid
    linkageType: ''
    returnType: int
    signature: int ossl_digest_get_approved_nid(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - provctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: CORE_HANDLE
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CORE_HANDLE(provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - provctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CORE_HANDLE
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CORE_HANDLE(provctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:53,1
    - Dst: OSSL_FUNC_get_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:53,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:56,1
    - Dst: OSSL_FUNC_get_user_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:56,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:59,1
    - Dst: OSSL_FUNC_cleanup_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:59,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:62,1
    - Dst: OSSL_FUNC_cleanup_user_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:62,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:65,1
    - Dst: OSSL_FUNC_get_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:65,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:68,1
    - Dst: OSSL_FUNC_get_user_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:68,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:71,1
    - Dst: OSSL_FUNC_cleanup_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:71,1
    - Dst: set_func
      Src: /src/openssl/providers/common/provider_seeding.c:74,1
    - Dst: OSSL_FUNC_cleanup_user_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - fns
    argTypes:
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 80
    functionName: ossl_prov_seeding_from_dispatch
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 2
    functionsReached:
    - set_func
    - OSSL_FUNC_get_user_nonce
    - OSSL_FUNC_cleanup_user_entropy
    - OSSL_FUNC_cleanup_user_nonce
    - OSSL_FUNC_cleanup_nonce
    - OSSL_FUNC_get_nonce
    - OSSL_FUNC_get_user_entropy
    - OSSL_FUNC_cleanup_entropy
    - OSSL_FUNC_get_entropy
    linkageType: ''
    returnType: int
    signature: int ossl_prov_seeding_from_dispatch(const OSSL_DISPATCH *fns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: set_func
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_func(c, f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CORE_HANDLE
      Src: /src/openssl/providers/common/provider_seeding.c:85,1
    - Dst: c_get_user_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:88,1
    - Dst: c_get_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - prov_ctx
    - pout
    - entropy
    - min_len
    - max_len
    argTypes:
    - PROV_CTX*
    - unsigned char**
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: ossl_prov_get_entropy
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 1
    functionsReached:
    - c_get_entropy
    - CORE_HANDLE
    - c_get_user_entropy
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_prov_get_entropy(PROV_CTX *prov_ctx, unsigned char **pout,\n
      \                            int entropy, size_t min_len, size_t max_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CORE_HANDLE
      Src: /src/openssl/providers/common/provider_seeding.c:97,1
    - Dst: c_cleanup_user_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:100,1
    - Dst: c_cleanup_entropy
      Src: /src/openssl/providers/common/provider_seeding.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - prov_ctx
    - buf
    - len
    argTypes:
    - PROV_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: ossl_prov_cleanup_entropy
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 1
    functionsReached:
    - c_cleanup_entropy
    - CORE_HANDLE
    - c_cleanup_user_entropy
    linkageType: ''
    returnType: void
    signature: "void ossl_prov_cleanup_entropy(PROV_CTX *prov_ctx, unsigned char *buf,\n
      \                              size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CORE_HANDLE
      Src: /src/openssl/providers/common/provider_seeding.c:109,1
    - Dst: c_get_user_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:112,1
    - Dst: c_get_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - prov_ctx
    - pout
    - min_len
    - max_len
    - salt
    - salt_len
    argTypes:
    - PROV_CTX*
    - unsigned char**
    - size_t
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: ossl_prov_get_nonce
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 1
    functionsReached:
    - c_get_user_nonce
    - CORE_HANDLE
    - c_get_nonce
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_prov_get_nonce(PROV_CTX *prov_ctx, unsigned char **pout,\n
      \                          size_t min_len, size_t max_len,\n                           const
      void *salt, size_t salt_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CORE_HANDLE
      Src: /src/openssl/providers/common/provider_seeding.c:120,1
    - Dst: c_cleanup_user_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:123,1
    - Dst: c_cleanup_nonce
      Src: /src/openssl/providers/common/provider_seeding.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - prov_ctx
    - buf
    - len
    argTypes:
    - PROV_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: ossl_prov_cleanup_nonce
    functionSourceFile: /src/openssl/providers/common/provider_seeding.c
    functionUses: 1
    functionsReached:
    - c_cleanup_user_nonce
    - c_cleanup_nonce
    - CORE_HANDLE
    linkageType: ''
    returnType: void
    signature: void ossl_prov_cleanup_nonce(PROV_CTX *prov_ctx, unsigned char *buf,
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_reason_error_string
      Src: /src/openssl/providers/common/provider_err.c:263,1
    - Dst: ERR_load_strings_const
      Src: /src/openssl/providers/common/provider_err.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: ossl_err_load_PROV_strings
    functionSourceFile: /src/openssl/providers/common/provider_err.c
    functionUses: 1
    functionsReached:
    - ERR_reason_error_string
    - ERR_load_strings_const
    linkageType: ''
    returnType: int
    signature: int ossl_err_load_PROV_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/providers/common/provider_ctx.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: ossl_prov_ctx_new
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 6
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: PROV_CTX
    signature: PROV_CTX *ossl_prov_ctx_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/providers/common/provider_ctx.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: ossl_prov_ctx_free
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 9
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_prov_ctx_free(PROV_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - libctx
    argTypes:
    - PROV_CTX*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: ossl_prov_ctx_set0_libctx
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_prov_ctx_set0_libctx(PROV_CTX *ctx, OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - handle
    argTypes:
    - PROV_CTX*
    - OSSL_CORE_HANDLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ossl_prov_ctx_set0_handle
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_prov_ctx_set0_handle(PROV_CTX *ctx, const OSSL_CORE_HANDLE
      *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - corebiometh
    argTypes:
    - PROV_CTX*
    - BIO_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ossl_prov_ctx_set0_core_bio_method
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_prov_ctx_set0_core_bio_method(PROV_CTX *ctx, BIO_METHOD *corebiometh)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - c_get_params
    argTypes:
    - PROV_CTX*
    - OSSL_FUNC_core_get_params_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ossl_prov_ctx_set0_core_get_params
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_prov_ctx_set0_core_get_params(PROV_CTX *ctx,\n                                   OSSL_FUNC_core_get_params_fn
      *c_get_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ossl_prov_ctx_get0_libctx
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_prov_ctx_get0_libctx(PROV_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: ossl_prov_ctx_get0_handle
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_CORE_HANDLE
    signature: OSSL_CORE_HANDLE *ossl_prov_ctx_get0_handle(PROV_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: ossl_prov_ctx_get0_core_bio_method
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *ossl_prov_ctx_get0_core_bio_method(PROV_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - PROV_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: ossl_prov_ctx_get0_core_get_params
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_FUNC_core_get_params_fn
    signature: OSSL_FUNC_core_get_params_fn *ossl_prov_ctx_get0_core_get_params(PROV_CTX
      *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROV_CTX*::core_get_params
      Src: /src/openssl/providers/common/provider_ctx.c:97,1
    - Dst: OSSL_PARAM_modified
      Src: /src/openssl/providers/common/provider_ctx.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - name
    - defval
    argTypes:
    - PROV_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: ossl_prov_ctx_get_param
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 4
    functionsReached:
    - OSSL_PARAM_modified
    - PROV_CTX*::core_get_params
    linkageType: ''
    returnType: char
    signature: 'char *

      ossl_prov_ctx_get_param(PROV_CTX *ctx, const char *name, const char *defval)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_ctx_get_param
      Src: /src/openssl/providers/common/provider_ctx.c:106,1
    - Dst: strcmp
      Src: /src/openssl/providers/common/provider_ctx.c:109,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/provider_ctx.c:110,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/provider_ctx.c:111,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/provider_ctx.c:112,1
    - Dst: strcmp
      Src: /src/openssl/providers/common/provider_ctx.c:114,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/provider_ctx.c:115,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/provider_ctx.c:116,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/provider_ctx.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - name
    - defval
    argTypes:
    - PROV_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: ossl_prov_ctx_get_bool_param
    functionSourceFile: /src/openssl/providers/common/provider_ctx.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OPENSSL_strcasecmp
    - ossl_prov_ctx_get_param
    linkageType: ''
    returnType: int
    signature: int ossl_prov_ctx_get_bool_param(PROV_CTX *ctx, const char *name, int
      defval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fips_config_security_checks
      Src: /src/openssl/providers/common/securitycheck_fips.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: ossl_fips_config_securitycheck_enabled
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 0
    functionsReached:
    - ossl_fips_config_security_checks
    linkageType: ''
    returnType: int
    signature: int ossl_fips_config_securitycheck_enabled(OSSL_LIB_CTX *libctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_get_approved_nid
      Src: /src/openssl/providers/common/securitycheck_fips.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 11
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ossl_digest_rsa_sign_get_md_nid
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 0
    functionsReached:
    - ossl_digest_get_approved_nid
    linkageType: ''
    returnType: int
    signature: int ossl_digest_rsa_sign_get_md_nid(const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_check_key_size
      Src: /src/openssl/providers/common/securitycheck_fips.c:40,1
    - Dst: ossl_FIPS_IND_on_unapproved
      Src: /src/openssl/providers/common/securitycheck_fips.c:43,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/common/securitycheck_fips.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ind
    - id
    - libctx
    - rsa
    - desc
    - protect
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_LIB_CTX*
    - RSA*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: ossl_fips_ind_rsa_key_check
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 0
    functionsReached:
    - ossl_rsa_check_key_size
    - ERR_raise_data
    - ossl_FIPS_IND_on_unapproved
    linkageType: ''
    returnType: int
    signature: "int ossl_fips_ind_rsa_key_check(OSSL_FIPS_IND *ind, int id,\n                                OSSL_LIB_CTX
      *libctx,\n                                const RSA *rsa, const char *desc,
      int protect)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ec_check_curve_allowed
      Src: /src/openssl/providers/common/securitycheck_fips.c:64,1
    - Dst: ossl_ec_check_security_strength
      Src: /src/openssl/providers/common/securitycheck_fips.c:65,1
    - Dst: ossl_FIPS_IND_on_unapproved
      Src: /src/openssl/providers/common/securitycheck_fips.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/securitycheck_fips.c:71,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/securitycheck_fips.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 6
    argNames:
    - ind
    - id
    - libctx
    - group
    - desc
    - protect
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_LIB_CTX*
    - EC_GROUP*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: ossl_fips_ind_ec_key_check
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 1
    functionsReached:
    - ossl_FIPS_IND_on_unapproved
    - ossl_ec_check_security_strength
    - ERR_raise
    - ossl_ec_check_curve_allowed
    linkageType: ''
    returnType: int
    signature: "int ossl_fips_ind_ec_key_check(OSSL_FIPS_IND *ind, int id,\n                               OSSL_LIB_CTX
      *libctx,\n                               const EC_GROUP *group, const char *desc,\n
      \                              int protect)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_get_approved_nid
      Src: /src/openssl/providers/common/securitycheck_fips.c:85,1
    - Dst: ossl_FIPS_IND_on_unapproved
      Src: /src/openssl/providers/common/securitycheck_fips.c:89,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/securitycheck_fips.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ind
    - id
    - libctx
    - md
    - desc
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_LIB_CTX*
    - EVP_MD*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 11
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: ossl_fips_ind_digest_exch_check
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 0
    functionsReached:
    - ossl_digest_get_approved_nid
    - ERR_raise
    - ossl_FIPS_IND_on_unapproved
    linkageType: ''
    returnType: int
    signature: "int ossl_fips_ind_digest_exch_check(OSSL_FIPS_IND *ind, int id,\n
      \                                   OSSL_LIB_CTX *libctx,\n                                    const
      EVP_MD *md, const char *desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_FIPS_IND_on_unapproved
      Src: /src/openssl/providers/common/securitycheck_fips.c:112,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/securitycheck_fips.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 7
    argNames:
    - ind
    - id
    - libctx
    - nid
    - sha1_allowed
    - desc
    - config_check_f
    argTypes:
    - OSSL_FIPS_IND*
    - int
    - OSSL_LIB_CTX*
    - int
    - int
    - char*
    - OSSL_FIPS_IND_CHECK_CB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: ossl_fips_ind_digest_sign_check
    functionSourceFile: /src/openssl/providers/common/securitycheck_fips.c
    functionUses: 0
    functionsReached:
    - ossl_FIPS_IND_on_unapproved
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_fips_ind_digest_sign_check(OSSL_FIPS_IND *ind, int id,\n
      \                                   OSSL_LIB_CTX *libctx,\n                                    int
      nid, int sha1_allowed,\n                                    const char *desc,\n
      \                                   OSSL_FIPS_IND_CHECK_CB *config_check_f)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/common/securitycheck.c:44,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/common/securitycheck.c:46,1
    - Dst: ERR_raise_data
      Src: /src/openssl/providers/common/securitycheck.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - rsa
    - operation
    - outprotect
    argTypes:
    - RSA*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 59
    functionName: ossl_rsa_key_op_get_protect
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 0
    functionsReached:
    - RSA_test_flags
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_key_op_get_protect(const RSA *rsa, int operation, int
      *outprotect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RSA_bits
      Src: /src/openssl/providers/common/securitycheck.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rsa
    - protect
    argTypes:
    - RSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: ossl_rsa_check_key_size
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 1
    functionsReached:
    - RSA_bits
    linkageType: ''
    returnType: int
    signature: int ossl_rsa_check_key_size(const RSA *rsa, int protect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keylen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: ossl_kdf_check_key_size
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_kdf_check_key_size(size_t keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_kdf_check_key_size
      Src: /src/openssl/providers/common/securitycheck.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keylen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: ossl_mac_check_key_size
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 0
    functionsReached:
    - ossl_kdf_check_key_size
    linkageType: ''
    returnType: int
    signature: int ossl_mac_check_key_size(size_t keylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/providers/common/securitycheck.c:95,1
    - Dst: EC_curve_nid2nist
      Src: /src/openssl/providers/common/securitycheck.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: ossl_ec_check_curve_allowed
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 1
    functionsReached:
    - EC_curve_nid2nist
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: int
    signature: int ossl_ec_check_curve_allowed(const EC_GROUP *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_order_bits
      Src: /src/openssl/providers/common/securitycheck.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - group
    - protect
    argTypes:
    - EC_GROUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: ossl_ec_check_security_strength
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 1
    functionsReached:
    - EC_GROUP_order_bits
    linkageType: ''
    returnType: int
    signature: int ossl_ec_check_security_strength(const EC_GROUP *group, int protect)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DSA_get0_p
      Src: /src/openssl/providers/common/securitycheck.c:156,1
    - Dst: DSA_get0_q
      Src: /src/openssl/providers/common/securitycheck.c:157,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/common/securitycheck.c:161,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/common/securitycheck.c:162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - dsa
    - sign
    argTypes:
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 185
    functionName: ossl_dsa_check_key
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 0
    functionsReached:
    - DSA_get0_p
    - DSA_get0_q
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int ossl_dsa_check_key(const DSA *dsa, int sign)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DH_get0_p
      Src: /src/openssl/providers/common/securitycheck.c:203,1
    - Dst: DH_get0_q
      Src: /src/openssl/providers/common/securitycheck.c:204,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/common/securitycheck.c:208,1
    - Dst: DH_get_nid
      Src: /src/openssl/providers/common/securitycheck.c:213,1
    - Dst: BN_num_bits
      Src: /src/openssl/providers/common/securitycheck.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 220
    functionName: ossl_dh_check_key
    functionSourceFile: /src/openssl/providers/common/securitycheck.c
    functionUses: 0
    functionsReached:
    - DH_get0_p
    - BN_num_bits
    - DH_get_nid
    - DH_get0_q
    linkageType: ''
    returnType: int
    signature: int ossl_dh_check_key(const DH *dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tlsname
    - ','
    - realname
    - ','
    - algorithm
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: TLS_GROUP_ENTRY
    functionSourceFile: /src/openssl/providers/common/capabilities.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_GROUP_ENTRY(tlsname, realname, algorithm, idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/common/capabilities.c:266,1
    - Dst: cb
      Src: /src/openssl/providers/common/capabilities.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: tls_group_capability
    functionSourceFile: /src/openssl/providers/common/capabilities.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - cb
    linkageType: ''
    returnType: int
    signature: int tls_group_capability(OSSL_CALLBACK *cb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tlsname
    - ','
    - algorithm
    - ','
    - oid
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 315
    functionName: TLS_SIGALG_ENTRY
    functionSourceFile: /src/openssl/providers/common/capabilities.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_SIGALG_ENTRY(tlsname, algorithm, oid, idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/common/capabilities.c:328,1
    - Dst: cb
      Src: /src/openssl/providers/common/capabilities.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - arg
    argTypes:
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tls_sigalg_capability
    functionSourceFile: /src/openssl/providers/common/capabilities.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - cb
    linkageType: ''
    returnType: int
    signature: int tls_sigalg_capability(OSSL_CALLBACK *cb, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/capabilities.c:338,1
    - Dst: tls_group_capability
      Src: /src/openssl/providers/common/capabilities.c:339,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/capabilities.c:340,1
    - Dst: tls_sigalg_capability
      Src: /src/openssl/providers/common/capabilities.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - provctx
    - capability
    - cb
    - arg
    argTypes:
    - void*
    - char*
    - OSSL_CALLBACK*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: ossl_prov_get_capabilities
    functionSourceFile: /src/openssl/providers/common/capabilities.c
    functionUses: 0
    functionsReached:
    - tls_sigalg_capability
    - tls_group_capability
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_get_capabilities(void *provctx, const char *capability,\n
      \                              OSSL_CALLBACK *cb, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/common/provider_util.c:26,1
    - Dst: ENGINE_finish
      Src: /src/openssl/providers/common/provider_util.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - PROV_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: ossl_prov_cipher_reset
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_free
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: void ossl_prov_cipher_reset(PROV_CIPHER *pc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/providers/common/provider_util.c:37,1
    - Dst: ENGINE_init
      Src: /src/openssl/providers/common/provider_util.c:40,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/common/provider_util.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_CIPHER*
    - PROV_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: ossl_prov_cipher_copy
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 1
    functionsReached:
    - ENGINE_init
    - EVP_CIPHER_up_ref
    - EVP_CIPHER_free
    linkageType: ''
    returnType: int
    signature: int ossl_prov_cipher_copy(PROV_CIPHER *dst, const PROV_CIPHER *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - propq
    - propquery
    argTypes:
    - OSSL_PARAM*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: set_propq
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_propq(const OSSL_PARAM *propq, const char **propquery)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/openssl/providers/common/provider_util.c:65,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/providers/common/provider_util.c:74,1
    - Dst: ENGINE_init
      Src: /src/openssl/providers/common/provider_util.c:78,1
    - Dst: ENGINE_free
      Src: /src/openssl/providers/common/provider_util.c:79,1
    - Dst: ENGINE_free
      Src: /src/openssl/providers/common/provider_util.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - e
    - engine
    argTypes:
    - OSSL_PARAM*
    - ENGINE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 62
    functionDepth: 7
    functionLinenumber: 62
    functionLinenumberEnd: 88
    functionName: set_engine
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - ENGINE_init
    - ENGINE_finish
    - ENGINE_free
    - ENGINE_by_id
    linkageType: ''
    returnType: int
    signature: int set_engine(const OSSL_PARAM *e, ENGINE **engine)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: set_propq
      Src: /src/openssl/providers/common/provider_util.c:96,1
    - Dst: set_engine
      Src: /src/openssl/providers/common/provider_util.c:96,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/providers/common/provider_util.c:104,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/common/provider_util.c:105,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/providers/common/provider_util.c:106,1
    - Dst: EVP_get_cipherbyname
      Src: /src/openssl/providers/common/provider_util.c:112,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/common/provider_util.c:119,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/common/provider_util.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - pc
    - cipher
    - propq
    - engine
    - ctx
    argTypes:
    - PROV_CIPHER*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 90
    functionDepth: 8
    functionLinenumber: 90
    functionLinenumberEnd: 123
    functionName: ossl_prov_cipher_load
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - set_propq
    - ERR_set_mark
    - set_engine
    - EVP_CIPHER_free
    - EVP_CIPHER_fetch
    - EVP_get_cipherbyname
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_cipher_load(PROV_CIPHER *pc, const OSSL_PARAM *cipher,\n
      \                         const OSSL_PARAM *propq, const OSSL_PARAM *engine,\n
      \                         OSSL_LIB_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_cipher_load
      Src: /src/openssl/providers/common/provider_util.c:129,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:130,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:131,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pc
    - params
    - ctx
    argTypes:
    - PROV_CIPHER*
    - OSSL_PARAM[]
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 9
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: ossl_prov_cipher_load_from_params
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 2
    functionsReached:
    - OSSL_PARAM_locate_const
    - ossl_prov_cipher_load
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_cipher_load_from_params(PROV_CIPHER *pc,\n                                      const
      OSSL_PARAM params[],\n                                      OSSL_LIB_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pc
    argTypes:
    - PROV_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: ossl_prov_cipher_cipher
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *ossl_prov_cipher_cipher(const PROV_CIPHER *pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pc
    argTypes:
    - PROV_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: ossl_prov_cipher_engine
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ossl_prov_cipher_engine(const PROV_CIPHER *pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/common/provider_util.c:148,1
    - Dst: ENGINE_finish
      Src: /src/openssl/providers/common/provider_util.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pd
    argTypes:
    - PROV_DIGEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: ossl_prov_digest_reset
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    - EVP_MD_free
    linkageType: ''
    returnType: void
    signature: void ossl_prov_digest_reset(PROV_DIGEST *pd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/providers/common/provider_util.c:159,1
    - Dst: ENGINE_init
      Src: /src/openssl/providers/common/provider_util.c:162,1
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/common/provider_util.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - PROV_DIGEST*
    - PROV_DIGEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: ossl_prov_digest_copy
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - ENGINE_init
    - EVP_MD_up_ref
    - EVP_MD_free
    linkageType: ''
    returnType: int
    signature: int ossl_prov_digest_copy(PROV_DIGEST *dst, const PROV_DIGEST *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/openssl/providers/common/provider_util.c:176,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/providers/common/provider_util.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pd
    - libctx
    - mdname
    - propquery
    argTypes:
    - PROV_DIGEST*
    - OSSL_LIB_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 10
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: ossl_prov_digest_fetch
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - EVP_MD_fetch
    - EVP_MD_free
    linkageType: ''
    returnType: EVP_MD
    signature: "EVP_MD *ossl_prov_digest_fetch(PROV_DIGEST *pd, OSSL_LIB_CTX *libctx,\n
      \                                    const char *mdname, const char *propquery)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: set_propq
      Src: /src/openssl/providers/common/provider_util.c:188,1
    - Dst: set_engine
      Src: /src/openssl/providers/common/provider_util.c:188,1
    - Dst: ERR_set_mark
      Src: /src/openssl/providers/common/provider_util.c:196,1
    - Dst: ossl_prov_digest_fetch
      Src: /src/openssl/providers/common/provider_util.c:197,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/providers/common/provider_util.c:202,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/providers/common/provider_util.c:209,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/providers/common/provider_util.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - pd
    - digest
    - propq
    - engine
    - ctx
    argTypes:
    - PROV_DIGEST*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 182
    functionDepth: 11
    functionLinenumber: 182
    functionLinenumberEnd: 213
    functionName: ossl_prov_digest_load
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - ossl_prov_digest_fetch
    - ERR_pop_to_mark
    - set_propq
    - ERR_set_mark
    - set_engine
    - EVP_get_digestbyname
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_digest_load(PROV_DIGEST *pd, const OSSL_PARAM *digest,\n
      \                         const OSSL_PARAM *propq, const OSSL_PARAM *engine,\n
      \                         OSSL_LIB_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_load
      Src: /src/openssl/providers/common/provider_util.c:219,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:220,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:221,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pd
    - params
    - ctx
    argTypes:
    - PROV_DIGEST*
    - OSSL_PARAM[]
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 12
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: ossl_prov_digest_load_from_params
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - ossl_prov_digest_load
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_digest_load_from_params(PROV_DIGEST *pd,\n                                      const
      OSSL_PARAM params[],\n                                      OSSL_LIB_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_digest_reset
      Src: /src/openssl/providers/common/provider_util.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pd
    - md
    argTypes:
    - PROV_DIGEST*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 6
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: ossl_prov_digest_set_md
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - ossl_prov_digest_reset
    linkageType: ''
    returnType: void
    signature: void ossl_prov_digest_set_md(PROV_DIGEST *pd, EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pd
    argTypes:
    - PROV_DIGEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: ossl_prov_digest_md
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ossl_prov_digest_md(const PROV_DIGEST *pd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pd
    argTypes:
    - PROV_DIGEST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: ossl_prov_digest_engine
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENGINE
    signature: ENGINE *ossl_prov_digest_engine(const PROV_DIGEST *pd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/common/provider_util.c:251,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/common/provider_util.c:254,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/common/provider_util.c:257,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/providers/common/provider_util.c:262,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/providers/common/provider_util.c:266,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/providers/common/provider_util.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - macctx
    - ciphername
    - mdname
    - engine
    - properties
    argTypes:
    - EVP_MAC_CTX*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 270
    functionName: ossl_prov_set_macctx
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_utf8_string
    - EVP_MAC_CTX_set_params
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_set_macctx(EVP_MAC_CTX *macctx,\n                         const
      char *ciphername,\n                         const char *mdname,\n                         const
      char *engine,\n                         const char *properties)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:283,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:285,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/providers/common/provider_util.c:290,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/common/provider_util.c:292,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/providers/common/provider_util.c:293,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/providers/common/provider_util.c:295,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:308,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:311,1
    - Dst: OSSL_PARAM_get_utf8_string_ptr
      Src: /src/openssl/providers/common/provider_util.c:313,1
    - Dst: ossl_prov_set_macctx
      Src: /src/openssl/providers/common/provider_util.c:316,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/providers/common/provider_util.c:319,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 10
    argNames:
    - macctx
    - pmac
    - pcipher
    - pdigest
    - propq
    - pengine
    - macname
    - ciphername
    - mdname
    - libctx
    argTypes:
    - EVP_MAC_CTX**
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - char*
    - char*
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 272
    functionDepth: 10
    functionLinenumber: 272
    functionLinenumberEnd: 322
    functionName: ossl_prov_macctx_load
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_CTX_free
    - ossl_prov_set_macctx
    - OSSL_PARAM_get_utf8_string_ptr
    - EVP_MAC_free
    - EVP_MAC_fetch
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_macctx_load(EVP_MAC_CTX **macctx,\n                          const
      OSSL_PARAM *pmac, const OSSL_PARAM *pcipher,\n                          const
      OSSL_PARAM *pdigest, const OSSL_PARAM *propq,\n                          const
      OSSL_PARAM *pengine,\n                          const char *macname, const char
      *ciphername,\n                          const char *mdname, OSSL_LIB_CTX *libctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_prov_macctx_load
      Src: /src/openssl/providers/common/provider_util.c:331,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:332,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:333,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:334,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:335,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/providers/common/provider_util.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - macctx
    - params
    - macname
    - ciphername
    - mdname
    - libctx
    argTypes:
    - EVP_MAC_CTX**
    - OSSL_PARAM[]
    - char*
    - char*
    - char*
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 324
    functionDepth: 11
    functionLinenumber: 324
    functionLinenumberEnd: 338
    functionName: ossl_prov_macctx_load_from_params
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - ossl_prov_macctx_load
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_macctx_load_from_params(EVP_MAC_CTX **macctx,\n                                      const
      OSSL_PARAM params[],\n                                      const char *macname,\n
      \                                     const char *ciphername,\n                                      const
      char *mdname,\n                                      OSSL_LIB_CTX *libctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: capable
      Src: /src/openssl/providers/common/provider_util.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - OSSL_ALGORITHM_CAPABLE*
    - OSSL_ALGORITHM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: ossl_prov_cache_exported_algorithms
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 2
    functionsReached:
    - capable
    linkageType: ''
    returnType: void
    signature: "void ossl_prov_cache_exported_algorithms(const OSSL_ALGORITHM_CAPABLE
      *in,\n                                         OSSL_ALGORITHM *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/providers/common/provider_util.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - src
    - src_len
    - dest
    - dest_len
    argTypes:
    - void*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 367
    functionName: ossl_prov_memdup
    functionSourceFile: /src/openssl/providers/common/provider_util.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int ossl_prov_memdup(const void *src, size_t src_len,\n                     unsigned
      char **dest, size_t *dest_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: ossl_fips_config_securitycheck_enabled
    functionSourceFile: /src/openssl/providers/common/securitycheck_default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_fips_config_securitycheck_enabled(OSSL_LIB_CTX *libctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_digest_get_approved_nid
      Src: /src/openssl/providers/common/securitycheck_default.c:39,1
    - Dst: ossl_digest_md_to_nid
      Src: /src/openssl/providers/common/securitycheck_default.c:41,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/providers/common/securitycheck_default.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 11
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: ossl_digest_rsa_sign_get_md_nid
    functionSourceFile: /src/openssl/providers/common/securitycheck_default.c
    functionUses: 0
    functionsReached:
    - ossl_digest_get_approved_nid
    - OSSL_NELEM
    - ossl_digest_md_to_nid
    linkageType: ''
    returnType: int
    signature: int ossl_digest_rsa_sign_get_md_nid(const EVP_MD *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - provctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: PROV_LIBCTX_OF
    functionSourceFile: /src/openssl/providers/common/include/prov/provider_ctx.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROV_LIBCTX_OF(provctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ossl_param_is_empty
    functionSourceFile: /src/openssl/providers/common/include/prov/providercommon.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_param_is_empty(const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bits
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: MGF1_SHA_CASE
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MGF1_SHA_CASE(bits, var)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rsa_pss_params_30_maskgenalg
      Src: /src/openssl/providers/common/der/der_rsa_key.c:250,1
    - Dst: ossl_rsa_pss_params_30_maskgenhashalg
      Src: /src/openssl/providers/common/der/der_rsa_key.c:251,1
    - Dst: MGF1_SHA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:258,1
    - Dst: MGF1_SHA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:259,1
    - Dst: MGF1_SHA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:260,1
    - Dst: MGF1_SHA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:261,1
    - Dst: MGF1_SHA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:262,1
    - Dst: MGF1_SHA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:263,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_rsa_key.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pkt
    - tag
    - pss
    argTypes:
    - WPACKET*
    - int
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 275
    functionName: DER_w_MaskGenAlgorithm
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 0
    functionsReached:
    - MGF1_SHA_CASE
    - ossl_rsa_pss_params_30_maskgenalg
    - ossl_rsa_pss_params_30_maskgenhashalg
    - ossl_DER_w_precompiled
    linkageType: ''
    returnType: int
    signature: "int DER_w_MaskGenAlgorithm(WPACKET *pkt, int tag,\n                                  const
      RSA_PSS_PARAMS_30 *pss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: OAEP_PSS_MD_CASE
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OAEP_PSS_MD_CASE(name, var)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/providers/common/der/der_rsa_key.c:300,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/common/der/der_rsa_key.c:301,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/common/der/der_rsa_key.c:304,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/providers/common/der/der_rsa_key.c:305,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/openssl/providers/common/der/der_rsa_key.c:306,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/der/der_rsa_key.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/providers/common/der/der_rsa_key.c:313,1
    - Dst: ossl_rsa_pss_params_30_hashalg
      Src: /src/openssl/providers/common/der/der_rsa_key.c:318,1
    - Dst: ossl_rsa_pss_params_30_saltlen
      Src: /src/openssl/providers/common/der/der_rsa_key.c:319,1
    - Dst: ossl_rsa_pss_params_30_trailerfield
      Src: /src/openssl/providers/common/der/der_rsa_key.c:320,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:337,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:338,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:339,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:340,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:341,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:342,1
    - Dst: OAEP_PSS_MD_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:343,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_rsa_key.c:348,1
    - Dst: ossl_DER_w_uint32
      Src: /src/openssl/providers/common/der/der_rsa_key.c:350,1
    - Dst: ossl_DER_w_uint32
      Src: /src/openssl/providers/common/der/der_rsa_key.c:351,1
    - Dst: DER_w_MaskGenAlgorithm
      Src: /src/openssl/providers/common/der/der_rsa_key.c:352,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_rsa_key.c:354,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_rsa_key.c:355,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - pkt
    - tag
    - pss
    argTypes:
    - WPACKET*
    - int
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 356
    functionName: ossl_DER_w_RSASSA_PSS_params
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ERR_raise
    - OAEP_PSS_MD_CASE
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_uint32
    - DER_w_MaskGenAlgorithm
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_rsa_pss_params_30_saltlen
    - ossl_rsa_pss_params_30_trailerfield
    - ossl_DER_w_precompiled
    - ossl_rsa_pss_params_30_hashalg
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: "int ossl_DER_w_RSASSA_PSS_params(WPACKET *pkt, int tag,\n                                 const
      RSA_PSS_PARAMS_30 *pss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: RSA_CASE
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSA_CASE(name, var)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:377,1
    - Dst: RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_key.c:379,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_rsa_key.c:385,1
    - Dst: ossl_rsa_pss_params_30_is_unrestricted
      Src: /src/openssl/providers/common/der/der_rsa_key.c:387,1
    - Dst: ossl_DER_w_RSASSA_PSS_params
      Src: /src/openssl/providers/common/der/der_rsa_key.c:388,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_rsa_key.c:389,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_rsa_key.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pkt
    - tag
    - rsa_type
    - pss
    argTypes:
    - WPACKET*
    - int
    - int
    - RSA_PSS_PARAMS_30*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 391
    functionName: ossl_DER_w_algorithmIdentifier_RSA_PSS
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 0
    functionsReached:
    - RSA_CASE
    - ossl_DER_w_RSASSA_PSS_params
    - ossl_rsa_pss_params_30_is_unrestricted
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: "int ossl_DER_w_algorithmIdentifier_RSA_PSS(WPACKET *pkt, int tag,\n
      \                                          int rsa_type,\n                                           const
      RSA_PSS_PARAMS_30 *pss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RSA_test_flags
      Src: /src/openssl/providers/common/der/der_rsa_key.c:395,1
    - Dst: ossl_rsa_get0_pss_params_30
      Src: /src/openssl/providers/common/der/der_rsa_key.c:396,1
    - Dst: ossl_DER_w_algorithmIdentifier_RSA_PSS
      Src: /src/openssl/providers/common/der/der_rsa_key.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - tag
    - rsa
    argTypes:
    - WPACKET*
    - int
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 6
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: ossl_DER_w_algorithmIdentifier_RSA
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_key.c
    functionUses: 0
    functionsReached:
    - RSA_test_flags
    - ossl_DER_w_algorithmIdentifier_RSA_PSS
    - ossl_rsa_get0_pss_params_30
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_RSA(WPACKET *pkt, int tag, RSA *rsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_sm2_key.c:17,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_sm2_key.c:20,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_sm2_key.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: ossl_DER_w_algorithmIdentifier_SM2
    functionSourceFile: /src/openssl/providers/common/der/der_sm2_key.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_SM2(WPACKET *pkt, int cont, EC_KEY
      *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nid
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: CASE_OID
    functionSourceFile: /src/openssl/providers/common/der/der_slh_dsa_key.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE_OID(nid, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_slh_dsa_key_get_type
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:25,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:28,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:29,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:30,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:31,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:32,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:33,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:34,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:35,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:36,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:37,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:38,1
    - Dst: CASE_OID
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:39,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:43,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:45,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_slh_dsa_key.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pkt
    - tag
    - key
    argTypes:
    - WPACKET*
    - int
    - SLH_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: ossl_DER_w_algorithmIdentifier_SLH_DSA
    functionSourceFile: /src/openssl/providers/common/der/der_slh_dsa_key.c
    functionUses: 0
    functionsReached:
    - CASE_OID
    - ossl_slh_dsa_key_get_type
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_SLH_DSA(WPACKET *pkt, int tag, SLH_DSA_KEY
      *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ml_dsa_key_get_name
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:23,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:25,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:28,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:31,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:37,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:39,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_ml_dsa_key.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pkt
    - tag
    - key
    argTypes:
    - WPACKET*
    - int
    - ML_DSA_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 41
    functionName: ossl_DER_w_algorithmIdentifier_ML_DSA
    functionSourceFile: /src/openssl/providers/common/der/der_ml_dsa_key.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    - ossl_ml_dsa_key_get_name
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_ML_DSA(WPACKET *pkt, int tag, ML_DSA_KEY
      *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_ec_key.c:16,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_ec_key.c:18,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_ec_key.c:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - EC_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: ossl_DER_w_algorithmIdentifier_EC
    functionSourceFile: /src/openssl/providers/common/der/der_ec_key.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_EC(WPACKET *pkt, int cont, EC_KEY
      *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: MD_CASE
    functionSourceFile: /src/openssl/providers/common/der/der_dsa_sig.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_CASE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:33,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:34,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:35,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:36,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:37,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:38,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:39,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:40,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:41,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:46,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:48,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_dsa_sig.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - pkt
    - tag
    - dsa
    - mdnid
    argTypes:
    - WPACKET*
    - int
    - DSA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: ossl_DER_w_algorithmIdentifier_DSA_with_MD
    functionSourceFile: /src/openssl/providers/common/der/der_dsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - MD_CASE
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: "int ossl_DER_w_algorithmIdentifier_DSA_with_MD(WPACKET *pkt, int tag,\n
      \                                              DSA *dsa, int mdnid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: MD_CASE
    functionSourceFile: /src/openssl/providers/common/der/der_ec_sig.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_CASE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:34,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:35,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:36,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:37,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:38,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:39,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:40,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:41,1
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_ec_sig.c:42,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_ec_sig.c:47,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_ec_sig.c:49,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_ec_sig.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - pkt
    - cont
    - ec
    - mdnid
    argTypes:
    - WPACKET*
    - int
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: ossl_DER_w_algorithmIdentifier_ECDSA_with_MD
    functionSourceFile: /src/openssl/providers/common/der/der_ec_sig.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - MD_CASE
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: "int ossl_DER_w_algorithmIdentifier_ECDSA_with_MD(WPACKET *pkt, int
      cont,\n                                                 EC_KEY *ec, int mdnid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: MD_with_RSA_CASE
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_sig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_with_RSA_CASE(name, var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:41,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:42,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:43,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:44,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:45,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:47,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:48,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:49,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:50,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:51,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:52,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:53,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:54,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:55,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:56,1
    - Dst: MD_with_RSA_CASE
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:57,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:67,1
    - Dst: ossl_DER_w_null
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:69,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:71,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_rsa_sig.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pkt
    - tag
    - mdnid
    argTypes:
    - WPACKET*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 73
    functionName: ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption
    functionSourceFile: /src/openssl/providers/common/der/der_rsa_sig.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_null
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - MD_with_RSA_CASE
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: "int ossl_DER_w_algorithmIdentifier_MDWithRSAEncryption(WPACKET *pkt,
      int tag,\n                                                       int mdnid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: MD_CASE
    functionSourceFile: /src/openssl/providers/common/der/der_sm2_sig.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD_CASE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD_CASE
      Src: /src/openssl/providers/common/der/der_sm2_sig.c:30,1
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_sm2_sig.c:35,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_sm2_sig.c:37,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_sm2_sig.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pkt
    - cont
    - ec
    - mdnid
    argTypes:
    - WPACKET*
    - int
    - EC_KEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: ossl_DER_w_algorithmIdentifier_SM2_with_MD
    functionSourceFile: /src/openssl/providers/common/der/der_sm2_sig.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - MD_CASE
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: "int ossl_DER_w_algorithmIdentifier_SM2_with_MD(WPACKET *pkt, int cont,\n
      \                                              EC_KEY *ec, int mdnid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_dsa_key.c:22,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_dsa_key.c:24,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_dsa_key.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - tag
    - dsa
    argTypes:
    - WPACKET*
    - int
    - DSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: ossl_DER_w_algorithmIdentifier_DSA
    functionSourceFile: /src/openssl/providers/common/der/der_dsa_key.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_DSA(WPACKET *pkt, int tag, DSA *dsa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_ecx_key.c:16,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_ecx_key.c:18,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_ecx_key.c:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: ossl_DER_w_algorithmIdentifier_X25519
    functionSourceFile: /src/openssl/providers/common/der/der_ecx_key.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_X25519(WPACKET *pkt, int cont, ECX_KEY
      *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_ecx_key.c:25,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_ecx_key.c:27,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_ecx_key.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: ossl_DER_w_algorithmIdentifier_X448
    functionSourceFile: /src/openssl/providers/common/der/der_ecx_key.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_X448(WPACKET *pkt, int cont, ECX_KEY
      *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_ecx_key.c:34,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_ecx_key.c:36,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_ecx_key.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: ossl_DER_w_algorithmIdentifier_ED25519
    functionSourceFile: /src/openssl/providers/common/der/der_ecx_key.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_ED25519(WPACKET *pkt, int cont,
      ECX_KEY *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_DER_w_begin_sequence
      Src: /src/openssl/providers/common/der/der_ecx_key.c:43,1
    - Dst: ossl_DER_w_precompiled
      Src: /src/openssl/providers/common/der/der_ecx_key.c:45,1
    - Dst: ossl_DER_w_end_sequence
      Src: /src/openssl/providers/common/der/der_ecx_key.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - cont
    - ec
    argTypes:
    - WPACKET*
    - int
    - ECX_KEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: ossl_DER_w_algorithmIdentifier_ED448
    functionSourceFile: /src/openssl/providers/common/der/der_ecx_key.c
    functionUses: 0
    functionsReached:
    - ossl_DER_w_begin_sequence
    - ossl_DER_w_precompiled
    - ossl_DER_w_end_sequence
    linkageType: ''
    returnType: int
    signature: int ossl_DER_w_algorithmIdentifier_ED448(WPACKET *pkt, int cont, ECX_KEY
      *ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - TYPE
    - ','
    - D2I
    - ','
    - I2D
    - ','
    - PRINT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: DO_TEST
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_TEST(TYPE, D2I, I2D, PRINT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - TYPE
    - ','
    - D2I
    - ','
    - I2D
    - ','
    - PRINT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: DO_TEST_PRINT_OFFSET
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_TEST_PRINT_OFFSET(TYPE, D2I, I2D, PRINT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - TYPE
    - ','
    - D2I
    - ','
    - I2D
    - ','
    - PRINT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: DO_TEST_PRINT_PCTX
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_TEST_PRINT_PCTX(TYPE, D2I, I2D, PRINT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - D2I
    - ','
    - I2D
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: DO_TEST_NO_PRINT
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_TEST_NO_PRINT(TYPE, D2I, I2D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/asn1.c:289,1
    - Dst: ASN1_PCTX_new
      Src: /src/openssl/fuzz/asn1.c:290,1
    - Dst: ASN1_PCTX_set_flags
      Src: /src/openssl/fuzz/asn1.c:291,1
    - Dst: ASN1_PCTX_set_str_flags
      Src: /src/openssl/fuzz/asn1.c:294,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/asn1.c:297,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/asn1.c:298,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/asn1.c:299,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/asn1.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 303
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_PCTX_set_str_flags
    - ERR_clear_error
    - ASN1_PCTX_new
    - CRYPTO_free_ex_index
    - ASN1_PCTX_set_flags
    - OPENSSL_init_crypto
    - OPENSSL_init_ssl
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_ITEM_ptr
      Src: /src/openssl/fuzz/asn1.c:313,1
    - Dst: ASN1_item_d2i
      Src: /src/openssl/fuzz/asn1.c:314,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/asn1.c:322,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/asn1.c:322,1
    - Dst: ASN1_item_print
      Src: /src/openssl/fuzz/asn1.c:324,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/asn1.c:325,1
    - Dst: ASN1_item_i2d
      Src: /src/openssl/fuzz/asn1.c:328,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/asn1.c:329,1
    - Dst: ASN1_item_free
      Src: /src/openssl/fuzz/asn1.c:331,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:336,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:337,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:338,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:339,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:340,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:341,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:343,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:344,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:345,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:346,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:347,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:349,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:350,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:353,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:355,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:356,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:357,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:361,1
    - Dst: DO_TEST_PRINT_OFFSET
      Src: /src/openssl/fuzz/asn1.c:365,1
    - Dst: DO_TEST_PRINT_OFFSET
      Src: /src/openssl/fuzz/asn1.c:366,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:367,1
    - Dst: DO_TEST_NO_PRINT
      Src: /src/openssl/fuzz/asn1.c:368,1
    - Dst: DO_TEST_PRINT_PCTX
      Src: /src/openssl/fuzz/asn1.c:371,1
    - Dst: DO_TEST
      Src: /src/openssl/fuzz/asn1.c:372,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/asn1.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 377
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - DO_TEST_NO_PRINT
    - BIO_s_null
    - ASN1_item_i2d
    - DO_TEST
    - ERR_clear_error
    - ASN1_item_print
    - BIO_free
    - ASN1_ITEM_ptr
    - ASN1_item_free
    - OPENSSL_free
    - ASN1_item_d2i
    - DO_TEST_PRINT_OFFSET
    - DO_TEST_PRINT_PCTX
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PCTX_free
      Src: /src/openssl/fuzz/asn1.c:381,1
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/asn1.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/asn1.c
    functionUses: 0
    functionsReached:
    - ASN1_PCTX_free
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - evp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 46
    functionName: DEFINE_ALGORITHMS
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_ALGORITHMS(name, evp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/fuzz/provider.c:71,1
    - Dst: init_digests
      Src: /src/openssl/fuzz/provider.c:75,1
    - Dst: init_kdf
      Src: /src/openssl/fuzz/provider.c:76,1
    - Dst: init_cipher
      Src: /src/openssl/fuzz/provider.c:77,1
    - Dst: init_kem
      Src: /src/openssl/fuzz/provider.c:78,1
    - Dst: init_keyexch
      Src: /src/openssl/fuzz/provider.c:79,1
    - Dst: init_rand
      Src: /src/openssl/fuzz/provider.c:80,1
    - Dst: init_mac
      Src: /src/openssl/fuzz/provider.c:81,1
    - Dst: init_keymgmt
      Src: /src/openssl/fuzz/provider.c:82,1
    - Dst: init_signature
      Src: /src/openssl/fuzz/provider.c:83,1
    - Dst: init_asym_ciphers
      Src: /src/openssl/fuzz/provider.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - init_kdf
    - init_signature
    - init_digests
    - init_mac
    - init_kem
    - init_cipher
    - init_keyexch
    - OSSL_LIB_CTX_new
    - init_rand
    - init_keymgmt
    - init_asym_ciphers
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_digests
      Src: /src/openssl/fuzz/provider.c:90,1
    - Dst: cleanup_kdf
      Src: /src/openssl/fuzz/provider.c:91,1
    - Dst: cleanup_cipher
      Src: /src/openssl/fuzz/provider.c:92,1
    - Dst: cleanup_kem
      Src: /src/openssl/fuzz/provider.c:93,1
    - Dst: cleanup_keyexch
      Src: /src/openssl/fuzz/provider.c:94,1
    - Dst: cleanup_rand
      Src: /src/openssl/fuzz/provider.c:95,1
    - Dst: cleanup_mac
      Src: /src/openssl/fuzz/provider.c:96,1
    - Dst: cleanup_keymgmt
      Src: /src/openssl/fuzz/provider.c:97,1
    - Dst: cleanup_signature
      Src: /src/openssl/fuzz/provider.c:98,1
    - Dst: cleanup_asym_ciphers
      Src: /src/openssl/fuzz/provider.c:99,1
    - Dst: OSSL_LIB_CTX_free
      Src: /src/openssl/fuzz/provider.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - cleanup_digests
    - cleanup_rand
    - cleanup_keymgmt
    - OSSL_LIB_CTX_free
    - cleanup_kdf
    - cleanup_cipher
    - cleanup_kem
    - cleanup_signature
    - cleanup_keyexch
    - cleanup_asym_ciphers
    - cleanup_mac
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - uint64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: read_uint
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int read_uint(const uint8_t **buf, size_t *len, uint64_t **res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - int64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: read_int
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int read_int(const uint8_t **buf, size_t *len, int64_t **res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - double**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: read_double
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int read_double(const uint8_t **buf, size_t *len, double **res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/fuzz/provider.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: read_utf8_string
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strnlen
    linkageType: ''
    returnType: int
    signature: int read_utf8_string(const uint8_t **buf, size_t *len, char **res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_utf8_string
      Src: /src/openssl/fuzz/provider.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: read_utf8_ptr
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - read_utf8_string
    linkageType: ''
    returnType: int
    signature: int read_utf8_ptr(const uint8_t **buf, size_t *len, char **res)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 223
    functionName: read_octet_string
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int read_octet_string(const uint8_t **buf, size_t *len, char **res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_octet_string
      Src: /src/openssl/fuzz/provider.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - len
    - res
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: read_octet_ptr
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - read_octet_string
    linkageType: ''
    returnType: int
    signature: int read_octet_ptr(const uint8_t **buf, size_t *len, char **res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: free_params
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_params(OSSL_PARAM *param)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/fuzz/provider.c:273,1
    - Dst: read_int
      Src: /src/openssl/fuzz/provider.c:288,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:289,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:295,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:296,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:298,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:299,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:301,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:302,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:304,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:305,1
    - Dst: read_int
      Src: /src/openssl/fuzz/provider.c:307,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:308,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:317,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:318,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:320,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:321,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:323,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:324,1
    - Dst: strcmp
      Src: /src/openssl/fuzz/provider.c:326,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:327,1
    - Dst: read_uint
      Src: /src/openssl/fuzz/provider.c:329,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:330,1
    - Dst: read_double
      Src: /src/openssl/fuzz/provider.c:339,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/provider.c:340,1
    - Dst: read_utf8_string
      Src: /src/openssl/fuzz/provider.c:349,1
    - Dst: read_octet_string
      Src: /src/openssl/fuzz/provider.c:357,1
    - Dst: read_utf8_ptr
      Src: /src/openssl/fuzz/provider.c:365,1
    - Dst: read_octet_ptr
      Src: /src/openssl/fuzz/provider.c:373,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:384,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 108
    argCount: 3
    argNames:
    - param
    - buf
    - len
    argTypes:
    - OSSL_PARAM*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 388
    functionName: fuzz_params
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - read_utf8_string
    - read_int
    - read_octet_ptr
    - read_utf8_ptr
    - OPENSSL_calloc
    - read_uint
    - OPENSSL_free
    - read_double
    - read_octet_string
    - strcmp
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PARAM
    signature: OSSL_PARAM *fuzz_params(OSSL_PARAM *param, const uint8_t **buf, size_t
      *len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/fuzz/provider.c:399,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:401,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/fuzz/provider.c:402,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/fuzz/provider.c:406,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/fuzz/provider.c:408,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/fuzz/provider.c:412,1
    - Dst: strlen
      Src: /src/openssl/fuzz/provider.c:413,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/fuzz/provider.c:415,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/fuzz/provider.c:422,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/fuzz/provider.c:424,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/fuzz/provider.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - evp_cipher
    - param
    argTypes:
    - EVP_CIPHER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 390
    functionDepth: 6
    functionLinenumber: 390
    functionLinenumberEnd: 430
    functionName: do_evp_cipher
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_set_params
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_free
    - strlen
    linkageType: ''
    returnType: int
    signature: int do_evp_cipher(const EVP_CIPHER *evp_cipher, const OSSL_PARAM param[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/fuzz/provider.c:438,1
    - Dst: EVP_KDF_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:445,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/fuzz/provider.c:450,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/fuzz/provider.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - evp_kdf
    - params
    argTypes:
    - EVP_KDF*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 458
    functionName: do_evp_kdf
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_CTX_set_params
    - EVP_KDF_CTX_free
    - EVP_KDF_derive
    - EVP_KDF_CTX_new
    linkageType: ''
    returnType: int
    signature: int do_evp_kdf(EVP_KDF *evp_kdf, const OSSL_PARAM params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/fuzz/provider.c:469,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/fuzz/provider.c:470,1
    - Dst: strlen
      Src: /src/openssl/fuzz/provider.c:470,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:476,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/fuzz/provider.c:481,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/fuzz/provider.c:486,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/fuzz/provider.c:492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - evp_mac
    - params
    argTypes:
    - EVP_MAC*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 460
    functionDepth: 6
    functionLinenumber: 460
    functionLinenumberEnd: 494
    functionName: do_evp_mac
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_CTX_free
    - EVP_MAC_init
    - EVP_MAC_CTX_set_params
    - EVP_MAC_final
    - strlen
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: int do_evp_mac(EVP_MAC *evp_mac, const OSSL_PARAM params[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_RAND_CTX_new
      Src: /src/openssl/fuzz/provider.c:502,1
    - Dst: EVP_RAND_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:507,1
    - Dst: EVP_RAND_generate
      Src: /src/openssl/fuzz/provider.c:512,1
    - Dst: EVP_RAND_reseed
      Src: /src/openssl/fuzz/provider.c:517,1
    - Dst: EVP_RAND_CTX_free
      Src: /src/openssl/fuzz/provider.c:523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - evp_rand
    - params
    argTypes:
    - EVP_RAND*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 496
    functionDepth: 5
    functionLinenumber: 496
    functionLinenumberEnd: 525
    functionName: do_evp_rand
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_RAND_CTX_free
    - EVP_RAND_reseed
    - EVP_RAND_CTX_set_params
    - EVP_RAND_generate
    - EVP_RAND_CTX_new
    linkageType: ''
    returnType: int
    signature: int do_evp_rand(EVP_RAND *evp_rand, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evp_sig
    - params
    argTypes:
    - EVP_SIGNATURE*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: do_evp_sig
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_evp_sig(EVP_SIGNATURE *evp_sig, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evp_asym_cipher
    - params
    argTypes:
    - EVP_ASYM_CIPHER*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: do_evp_asym_cipher
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_evp_asym_cipher(EVP_ASYM_CIPHER *evp_asym_cipher, const OSSL_PARAM
      params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evp_kem
    - params
    argTypes:
    - EVP_KEM*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: do_evp_kem
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_evp_kem(EVP_KEM *evp_kem, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - evp_kdf
    - params
    argTypes:
    - EVP_KEYEXCH*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: do_evp_key_exch
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_evp_key_exch(EVP_KEYEXCH *evp_kdf, const OSSL_PARAM params[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/fuzz/provider.c:554,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/fuzz/provider.c:559,1
    - Dst: EVP_DigestInit_ex2
      Src: /src/openssl/fuzz/provider.c:564,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/fuzz/provider.c:568,1
    - Dst: strlen
      Src: /src/openssl/fuzz/provider.c:568,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/fuzz/provider.c:572,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/fuzz/provider.c:578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - evp_md
    - params
    argTypes:
    - EVP_MD*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 547
    functionDepth: 8
    functionLinenumber: 547
    functionLinenumberEnd: 580
    functionName: do_evp_md
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_DigestInit_ex2
    - strlen
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: int
    signature: int do_evp_md(EVP_MD *evp_md, const OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - source
    - ','
    - evp
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 595
    functionName: EVP_FUZZ
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_FUZZ(source, evp, f)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: read_uint
      Src: /src/openssl/fuzz/provider.c:602,1
    - Dst: read_int
      Src: /src/openssl/fuzz/provider.c:607,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:614,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:617,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:620,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:623,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:626,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:629,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:632,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:635,1
    - Dst: EVP_FUZZ
      Src: /src/openssl/fuzz/provider.c:638,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:656,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/provider.c:657,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 659
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/provider.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_FUZZ
    - read_int
    - read_uint
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/acert.c:19,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/acert.c:20,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/acert.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/acert.c
    functionUses: 0
    functionsReached:
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_ACERT
      Src: /src/openssl/fuzz/acert.c:30,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/acert.c:32,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/acert.c:32,1
    - Dst: X509_ACERT_print
      Src: /src/openssl/fuzz/acert.c:34,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/acert.c:35,1
    - Dst: i2d_X509_ACERT
      Src: /src/openssl/fuzz/acert.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/acert.c:38,1
    - Dst: X509_ACERT_free
      Src: /src/openssl/fuzz/acert.c:40,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/acert.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/acert.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - d2i_X509_ACERT
    - X509_ACERT_print
    - BIO_s_null
    - i2d_X509_ACERT
    - ERR_clear_error
    - BIO_free
    - OPENSSL_free
    - X509_ACERT_free
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/acert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/fuzz/asn1parse.c:26,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/asn1parse.c:26,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/asn1parse.c:29,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/asn1parse.c:30,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/asn1parse.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/asn1parse.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_s_null
    - ERR_clear_error
    - CRYPTO_free_ex_index
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_parse_dump
      Src: /src/openssl/fuzz/asn1parse.c:37,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/asn1parse.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/asn1parse.c
    functionUses: 0
    functionsReached:
    - ERR_clear_error
    - ASN1_parse_dump
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/fuzz/asn1parse.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/asn1parse.c
    functionUses: 0
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: S_ISREG
    functionSourceFile: /src/openssl/fuzz/test-corpus.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/openssl/fuzz/test-corpus.c:44,1
    - Dst: S_ISREG
      Src: /src/openssl/fuzz/test-corpus.c:44,1
    - Dst: printf
      Src: /src/openssl/fuzz/test-corpus.c:46,1
    - Dst: fflush
      Src: /src/openssl/fuzz/test-corpus.c:47,1
    - Dst: fopen
      Src: /src/openssl/fuzz/test-corpus.c:48,1
    - Dst: malloc
      Src: /src/openssl/fuzz/test-corpus.c:51,1
    - Dst: fread
      Src: /src/openssl/fuzz/test-corpus.c:53,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/test-corpus.c:54,1
    - Dst: FuzzerTestOneInput
      Src: /src/openssl/fuzz/test-corpus.c:55,1
    - Dst: free
      Src: /src/openssl/fuzz/test-corpus.c:56,1
    - Dst: fclose
      Src: /src/openssl/fuzz/test-corpus.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: testfile
    functionSourceFile: /src/openssl/fuzz/test-corpus.c
    functionUses: 0
    functionsReached:
    - free
    - stat
    - OPENSSL_assert
    - fopen
    - fread
    - malloc
    - fflush
    - fclose
    - FuzzerTestOneInput
    - printf
    - S_ISREG
    linkageType: ''
    returnType: void
    signature: void testfile(const char *pathname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerInitialize
      Src: /src/openssl/fuzz/test-corpus.c:64,1
    - Dst: strlen
      Src: /src/openssl/fuzz/test-corpus.c:67,1
    - Dst: OPENSSL_DIR_read
      Src: /src/openssl/fuzz/test-corpus.c:76,1
    - Dst: malloc
      Src: /src/openssl/fuzz/test-corpus.c:79,1
    - Dst: strcpy
      Src: /src/openssl/fuzz/test-corpus.c:82,1
    - Dst: strchr
      Src: /src/openssl/fuzz/test-corpus.c:84,1
    - Dst: strcpy
      Src: /src/openssl/fuzz/test-corpus.c:89,1
    - Dst: testfile
      Src: /src/openssl/fuzz/test-corpus.c:90,1
    - Dst: OPENSSL_DIR_end
      Src: /src/openssl/fuzz/test-corpus.c:92,1
    - Dst: testfile
      Src: /src/openssl/fuzz/test-corpus.c:96,1
    - Dst: free
      Src: /src/openssl/fuzz/test-corpus.c:98,1
    - Dst: FuzzerCleanup
      Src: /src/openssl/fuzz/test-corpus.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/openssl/fuzz/test-corpus.c
    functionUses: 7
    functionsReached:
    - free
    - strcpy
    - strchr
    - testfile
    - FuzzerInitialize
    - malloc
    - strlen
    - OPENSSL_DIR_read
    - OPENSSL_DIR_end
    - FuzzerCleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/quic-srtm.c:19,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/quic-srtm.c:20,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/quic-srtm.c:21,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/quic-srtm.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/quic-srtm.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_ssl
    - ERR_clear_error
    - FuzzerSetRand
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_srtm_new
      Src: /src/openssl/fuzz/quic-srtm.c:55,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/fuzz/quic-srtm.c:60,1
    - Dst: PACKET_remaining
      Src: /src/openssl/fuzz/quic-srtm.c:63,1
    - Dst: PACKET_get_1
      Src: /src/openssl/fuzz/quic-srtm.c:64,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-srtm.c:74,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-srtm.c:75,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/fuzz/quic-srtm.c:76,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/fuzz/quic-srtm.c:80,1
    - Dst: ossl_quic_srtm_check
      Src: /src/openssl/fuzz/quic-srtm.c:82,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-srtm.c:86,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-srtm.c:87,1
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/fuzz/quic-srtm.c:90,1
    - Dst: ossl_quic_srtm_check
      Src: /src/openssl/fuzz/quic-srtm.c:92,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-srtm.c:96,1
    - Dst: ossl_quic_srtm_cull
      Src: /src/openssl/fuzz/quic-srtm.c:99,1
    - Dst: ossl_quic_srtm_check
      Src: /src/openssl/fuzz/quic-srtm.c:100,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/fuzz/quic-srtm.c:104,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-srtm.c:106,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/fuzz/quic-srtm.c:109,1
    - Dst: ossl_quic_srtm_check
      Src: /src/openssl/fuzz/quic-srtm.c:111,1
    - Dst: ossl_quic_srtm_free
      Src: /src/openssl/fuzz/quic-srtm.c:122,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 124
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/quic-srtm.c
    functionUses: 1
    functionsReached:
    - PACKET_buf_init
    - ossl_quic_srtm_lookup
    - ossl_quic_srtm_free
    - ossl_quic_srtm_cull
    - ossl_quic_srtm_remove
    - PACKET_get_1
    - ossl_quic_srtm_new
    - PACKET_remaining
    - ossl_quic_srtm_check
    - ossl_quic_srtm_add
    - PACKET_copy_bytes
    - PACKET_get_net_8
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/quic-srtm.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/quic-srtm.c
    functionUses: 1
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/crl.c:18,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/crl.c:19,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/crl.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 3
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/crl.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_X509_CRL
      Src: /src/openssl/fuzz/crl.c:29,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/crl.c:31,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/crl.c:31,1
    - Dst: X509_CRL_print
      Src: /src/openssl/fuzz/crl.c:32,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/crl.c:33,1
    - Dst: i2d_X509_CRL
      Src: /src/openssl/fuzz/crl.c:35,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/crl.c:36,1
    - Dst: X509_CRL_free
      Src: /src/openssl/fuzz/crl.c:38,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/crl.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/crl.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - BIO_s_null
    - i2d_X509_CRL
    - ERR_clear_error
    - BIO_free
    - d2i_X509_CRL
    - X509_CRL_print
    - X509_CRL_free
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/crl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: OPERATION
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPERATION(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: IS_REPLACE
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_REPLACE(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_fz_FUZZER_VALUE_from_value
      Src: /src/openssl/fuzz/hashtable.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - v
    - arg
    argTypes:
    - HT_VALUE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: table_iterator
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_ht_fz_FUZZER_VALUE_from_value
    linkageType: ''
    returnType: int
    signature: int table_iterator(HT_VALUE *v, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_fz_FUZZER_VALUE_from_value
      Src: /src/openssl/fuzz/hashtable.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - v
    - arg
    argTypes:
    - HT_VALUE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: filter_iterator
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_ht_fz_FUZZER_VALUE_from_value
    linkageType: ''
    returnType: int
    signature: int filter_iterator(HT_VALUE *v, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_fz_FUZZER_VALUE_from_value
      Src: /src/openssl/fuzz/hashtable.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - HT_VALUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: fuzz_free_cb
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 0
    functionsReached:
    - ossl_ht_fz_FUZZER_VALUE_from_value
    linkageType: ''
    returnType: void
    signature: void fuzz_free_cb(HT_VALUE *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/hashtable.c:104,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/hashtable.c:105,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/fuzz/hashtable.c:106,1
    - Dst: ossl_ht_new
      Src: /src/openssl/fuzz/hashtable.c:109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/hashtable.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 1
    functionsReached:
    - ERR_clear_error
    - OPENSSL_calloc
    - ossl_ht_new
    - OPENSSL_free
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/fuzz/hashtable.c:145,1
    - Dst: HT_INIT_KEY
      Src: /src/openssl/fuzz/hashtable.c:150,1
    - Dst: OPERATION
      Src: /src/openssl/fuzz/hashtable.c:155,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/fuzz/hashtable.c:160,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/fuzz/hashtable.c:163,1
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/fuzz/hashtable.c:166,1
    - Dst: IS_REPLACE
      Src: /src/openssl/fuzz/hashtable.c:176,1
    - Dst: memcpy
      Src: /src/openssl/fuzz/hashtable.c:180,1
    - Dst: IS_REPLACE
      Src: /src/openssl/fuzz/hashtable.c:184,1
    - Dst: ossl_ht_fz_FUZZER_VALUE_insert
      Src: /src/openssl/fuzz/hashtable.c:185,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/fuzz/hashtable.c:185,1
    - Dst: ossl_ht_fz_FUZZER_VALUE_insert
      Src: /src/openssl/fuzz/hashtable.c:188,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/fuzz/hashtable.c:188,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/fuzz/hashtable.c:203,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:208,1
    - Dst: IS_REPLACE
      Src: /src/openssl/fuzz/hashtable.c:214,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/fuzz/hashtable.c:221,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/fuzz/hashtable.c:224,1
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/fuzz/hashtable.c:227,1
    - Dst: ossl_ht_delete
      Src: /src/openssl/fuzz/hashtable.c:241,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/fuzz/hashtable.c:241,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/fuzz/hashtable.c:246,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:251,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:258,1
    - Dst: HT_KEY_RESET
      Src: /src/openssl/fuzz/hashtable.c:273,1
    - Dst: HT_SET_KEY_FIELD
      Src: /src/openssl/fuzz/hashtable.c:276,1
    - Dst: ossl_ht_read_lock
      Src: /src/openssl/fuzz/hashtable.c:279,1
    - Dst: ossl_ht_fz_FUZZER_VALUE_get
      Src: /src/openssl/fuzz/hashtable.c:294,1
    - Dst: TO_HT_KEY
      Src: /src/openssl/fuzz/hashtable.c:294,1
    - Dst: ossl_ht_read_unlock
      Src: /src/openssl/fuzz/hashtable.c:299,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:304,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:311,1
    - Dst: ossl_ht_fz_FUZZER_VALUE_type
      Src: /src/openssl/fuzz/hashtable.c:311,1
    - Dst: ossl_ht_fz_FUZZER_VALUE_to_value
      Src: /src/openssl/fuzz/hashtable.c:313,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:314,1
    - Dst: ossl_ht_write_lock
      Src: /src/openssl/fuzz/hashtable.c:338,1
    - Dst: ossl_ht_flush
      Src: /src/openssl/fuzz/hashtable.c:339,1
    - Dst: ossl_ht_write_unlock
      Src: /src/openssl/fuzz/hashtable.c:340,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:346,1
    - Dst: ossl_ht_foreach_until
      Src: /src/openssl/fuzz/hashtable.c:360,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:362,1
    - Dst: ossl_ht_filter
      Src: /src/openssl/fuzz/hashtable.c:374,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/hashtable.c:376,1
    - Dst: ossl_ht_value_list_free
      Src: /src/openssl/fuzz/hashtable.c:378,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 101
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 387
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 1
    functionsReached:
    - memcpy
    - HT_SET_KEY_FIELD
    - ossl_ht_filter
    - ossl_ht_value_list_free
    - HT_INIT_KEY
    - ossl_ht_write_unlock
    - ossl_ht_flush
    - ossl_ht_fz_FUZZER_VALUE_insert
    - ossl_ht_fz_FUZZER_VALUE_to_value
    - TO_HT_KEY
    - HT_KEY_RESET
    - ossl_ht_read_lock
    - IS_REPLACE
    - ossl_ht_delete
    - OPENSSL_assert
    - ossl_ht_foreach_until
    - ossl_ht_read_unlock
    - ossl_ht_write_lock
    - OPERATION
    - ossl_ht_fz_FUZZER_VALUE_type
    - ossl_ht_fz_FUZZER_VALUE_get
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ht_free
      Src: /src/openssl/fuzz/hashtable.c:391,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/hashtable.c:392,1
    - Dst: OPENSSL_cleanup
      Src: /src/openssl/fuzz/hashtable.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 5
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/hashtable.c
    functionUses: 1
    functionsReached:
    - ossl_ht_free
    - OPENSSL_free
    - OPENSSL_cleanup
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/cms.c:22,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/cms.c:23,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/cms.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/cms.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/fuzz/cms.c:36,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/cms.c:36,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/cms.c:37,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/cms.c:37,1
    - Dst: d2i_CMS_bio
      Src: /src/openssl/fuzz/cms.c:38,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/cms.c:40,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/cms.c:40,1
    - Dst: i2d_CMS_bio
      Src: /src/openssl/fuzz/cms.c:42,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/cms.c:43,1
    - Dst: CMS_ContentInfo_free
      Src: /src/openssl/fuzz/cms.c:44,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/cms.c:47,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/cms.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/cms.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - BIO_new
    - i2d_CMS_bio
    - d2i_CMS_bio
    - BIO_s_null
    - ERR_clear_error
    - OPENSSL_assert
    - BIO_free
    - BIO_s_mem
    - CMS_ContentInfo_free
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/cms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/pem.c:17,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/pem.c:18,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/pem.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/pem.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/fuzz/pem.c:33,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/pem.c:33,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/pem.c:34,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/pem.c:34,1
    - Dst: PEM_read_bio_ex
      Src: /src/openssl/fuzz/pem.c:35,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/pem.c:37,1
    - Dst: strlen
      Src: /src/openssl/fuzz/pem.c:37,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/pem.c:38,1
    - Dst: strlen
      Src: /src/openssl/fuzz/pem.c:38,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/pem.c:39,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/fuzz/pem.c:42,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/fuzz/pem.c:43,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/fuzz/pem.c:44,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/pem.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/pem.c:47,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/pem.c:48,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/pem.c:51,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/pem.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 55
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/pem.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - BIO_new
    - OPENSSL_secure_free
    - ERR_clear_error
    - OPENSSL_assert
    - BIO_free
    - OPENSSL_free
    - BIO_s_mem
    - PEM_read_bio_ex
    - strlen
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/pem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/decoder.c:20,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/decoder.c:22,1
    - Dst: ASN1_PCTX_new
      Src: /src/openssl/fuzz/decoder.c:26,1
    - Dst: ASN1_PCTX_set_flags
      Src: /src/openssl/fuzz/decoder.c:27,1
    - Dst: ASN1_PCTX_set_str_flags
      Src: /src/openssl/fuzz/decoder.c:32,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/decoder.c:36,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/decoder.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 39
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/decoder.c
    functionUses: 1
    functionsReached:
    - ASN1_PCTX_set_str_flags
    - ERR_clear_error
    - ASN1_PCTX_new
    - CRYPTO_free_ex_index
    - ASN1_PCTX_set_flags
    - OPENSSL_init_crypto
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/fuzz/decoder.c:48,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/decoder.c:48,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/fuzz/decoder.c:49,1
    - Dst: OSSL_DECODER_from_data
      Src: /src/openssl/fuzz/decoder.c:54,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/fuzz/decoder.c:57,1
    - Dst: EVP_PKEY_print_private
      Src: /src/openssl/fuzz/decoder.c:58,1
    - Dst: EVP_PKEY_print_params
      Src: /src/openssl/fuzz/decoder.c:59,1
    - Dst: EVP_PKEY_dup
      Src: /src/openssl/fuzz/decoder.c:61,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/decoder.c:62,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/decoder.c:63,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/decoder.c:64,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/openssl/fuzz/decoder.c:66,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/fuzz/decoder.c:71,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/fuzz/decoder.c:71,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/fuzz/decoder.c:72,1
    - Dst: EVP_PKEY_param_check
      Src: /src/openssl/fuzz/decoder.c:73,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/fuzz/decoder.c:75,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/fuzz/decoder.c:77,1
    - Dst: EVP_PKEY_private_check
      Src: /src/openssl/fuzz/decoder.c:78,1
    - Dst: EVP_PKEY_pairwise_check
      Src: /src/openssl/fuzz/decoder.c:79,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/decoder.c:81,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/decoder.c:82,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/decoder.c:83,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/fuzz/decoder.c:85,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/decoder.c:87,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/decoder.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 41
    functionDepth: 12
    functionLinenumber: 41
    functionLinenumberEnd: 90
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/decoder.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_is_a
    - EVP_PKEY_param_check
    - EVP_PKEY_CTX_new
    - OSSL_DECODER_CTX_new_for_pkey
    - BIO_new
    - EVP_PKEY_pairwise_check
    - ERR_clear_error
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_DECODER_CTX_free
    - EVP_PKEY_eq
    - EVP_PKEY_dup
    - EVP_PKEY_get_bits
    - OPENSSL_assert
    - BIO_free
    - OSSL_DECODER_from_data
    - EVP_PKEY_print_params
    - EVP_PKEY_private_check
    - BIO_s_null
    - EVP_PKEY_print_public
    - EVP_PKEY_public_check
    - EVP_PKEY_print_private
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_PCTX_free
      Src: /src/openssl/fuzz/decoder.c:94,1
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/decoder.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/decoder.c
    functionUses: 1
    functionsReached:
    - ASN1_PCTX_free
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/fuzz/bndiv.c:33,1
    - Dst: BN_new
      Src: /src/openssl/fuzz/bndiv.c:34,1
    - Dst: BN_new
      Src: /src/openssl/fuzz/bndiv.c:35,1
    - Dst: BN_new
      Src: /src/openssl/fuzz/bndiv.c:36,1
    - Dst: BN_new
      Src: /src/openssl/fuzz/bndiv.c:37,1
    - Dst: BN_CTX_new
      Src: /src/openssl/fuzz/bndiv.c:38,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/bndiv.c:40,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/bndiv.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/bndiv.c
    functionUses: 1
    functionsReached:
    - ERR_clear_error
    - OPENSSL_init_crypto
    - BN_CTX_new
    - BN_new
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bndiv.c:72,1
    - Dst: BN_bin2bn
      Src: /src/openssl/fuzz/bndiv.c:72,1
    - Dst: BN_set_negative
      Src: /src/openssl/fuzz/bndiv.c:73,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bndiv.c:74,1
    - Dst: BN_bin2bn
      Src: /src/openssl/fuzz/bndiv.c:74,1
    - Dst: BN_set_negative
      Src: /src/openssl/fuzz/bndiv.c:75,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:78,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bndiv.c:83,1
    - Dst: BN_div
      Src: /src/openssl/fuzz/bndiv.c:83,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:84,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:85,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:85,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:86,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:87,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:87,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:87,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:88,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:88,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:90,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:90,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:90,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:91,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:91,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bndiv.c:92,1
    - Dst: BN_mul
      Src: /src/openssl/fuzz/bndiv.c:92,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bndiv.c:93,1
    - Dst: BN_add
      Src: /src/openssl/fuzz/bndiv.c:93,1
    - Dst: BN_cmp
      Src: /src/openssl/fuzz/bndiv.c:95,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bndiv.c:97,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bndiv.c:98,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bndiv.c:99,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bndiv.c:100,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bndiv.c:101,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bndiv.c:102,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bndiv.c:103,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bndiv.c:104,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bndiv.c:105,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bndiv.c:106,1
    - Dst: printf
      Src: /src/openssl/fuzz/bndiv.c:107,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:107,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:108,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:109,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:109,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:109,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:110,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:110,1
    - Dst: BN_is_negative
      Src: /src/openssl/fuzz/bndiv.c:111,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bndiv.c:111,1
    - Dst: BN_cmp
      Src: /src/openssl/fuzz/bndiv.c:112,1
    - Dst: puts
      Src: /src/openssl/fuzz/bndiv.c:113,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bndiv.c:117,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/bndiv.c:118,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 46
    functionDepth: 5
    functionLinenumber: 46
    functionLinenumberEnd: 121
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/bndiv.c
    functionUses: 1
    functionsReached:
    - BN_print_fp
    - BN_mul
    - BN_div
    - BN_set_negative
    - OPENSSL_assert
    - BN_is_negative
    - BN_cmp
    - BN_is_zero
    - ERR_clear_error
    - BN_add
    - BN_bin2bn
    - puts
    - putchar
    - printf
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/openssl/fuzz/bndiv.c:125,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bndiv.c:126,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bndiv.c:127,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bndiv.c:128,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bndiv.c:129,1
    - Dst: BN_CTX_free
      Src: /src/openssl/fuzz/bndiv.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/bndiv.c
    functionUses: 1
    functionsReached:
    - BN_CTX_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/quic-rcidm.c:20,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/quic-rcidm.c:21,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/quic-rcidm.c:22,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/quic-rcidm.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/quic-rcidm.c
    functionUses: 1
    functionsReached:
    - OPENSSL_init_ssl
    - ERR_clear_error
    - FuzzerSetRand
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/fuzz/quic-rcidm.c:66,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/fuzz/quic-rcidm.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - cid
    argTypes:
    - PACKET*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: get_cid
    functionSourceFile: /src/openssl/fuzz/quic-rcidm.c
    functionUses: 0
    functionsReached:
    - PACKET_copy_bytes
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: int get_cid(PACKET *pkt, QUIC_CONN_ID *cid)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/fuzz/quic-rcidm.c:85,1
    - Dst: ossl_quic_rcidm_new
      Src: /src/openssl/fuzz/quic-rcidm.c:88,1
    - Dst: PACKET_remaining
      Src: /src/openssl/fuzz/quic-rcidm.c:91,1
    - Dst: PACKET_get_1
      Src: /src/openssl/fuzz/quic-rcidm.c:92,1
    - Dst: get_cid
      Src: /src/openssl/fuzz/quic-rcidm.c:97,1
    - Dst: ossl_quic_rcidm_free
      Src: /src/openssl/fuzz/quic-rcidm.c:102,1
    - Dst: ossl_quic_rcidm_new
      Src: /src/openssl/fuzz/quic-rcidm.c:104,1
    - Dst: ossl_quic_rcidm_free
      Src: /src/openssl/fuzz/quic-rcidm.c:110,1
    - Dst: ossl_quic_rcidm_new
      Src: /src/openssl/fuzz/quic-rcidm.c:112,1
    - Dst: get_cid
      Src: /src/openssl/fuzz/quic-rcidm.c:118,1
    - Dst: ossl_quic_rcidm_add_from_initial
      Src: /src/openssl/fuzz/quic-rcidm.c:123,1
    - Dst: get_cid
      Src: /src/openssl/fuzz/quic-rcidm.c:127,1
    - Dst: ossl_quic_rcidm_add_from_server_retry
      Src: /src/openssl/fuzz/quic-rcidm.c:132,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-rcidm.c:136,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-rcidm.c:137,1
    - Dst: get_cid
      Src: /src/openssl/fuzz/quic-rcidm.c:138,1
    - Dst: ossl_quic_rcidm_add_from_ncid
      Src: /src/openssl/fuzz/quic-rcidm.c:143,1
    - Dst: ossl_quic_rcidm_on_handshake_complete
      Src: /src/openssl/fuzz/quic-rcidm.c:147,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-rcidm.c:151,1
    - Dst: ossl_quic_rcidm_on_packet_sent
      Src: /src/openssl/fuzz/quic-rcidm.c:156,1
    - Dst: ossl_quic_rcidm_request_roll
      Src: /src/openssl/fuzz/quic-rcidm.c:160,1
    - Dst: ossl_quic_rcidm_pop_retire_seq_num
      Src: /src/openssl/fuzz/quic-rcidm.c:164,1
    - Dst: ossl_quic_rcidm_peek_retire_seq_num
      Src: /src/openssl/fuzz/quic-rcidm.c:168,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid
      Src: /src/openssl/fuzz/quic-rcidm.c:172,1
    - Dst: PACKET_get_1
      Src: /src/openssl/fuzz/quic-rcidm.c:176,1
    - Dst: ossl_quic_rcidm_get_preferred_tx_dcid_changed
      Src: /src/openssl/fuzz/quic-rcidm.c:181,1
    - Dst: ossl_quic_rcidm_free
      Src: /src/openssl/fuzz/quic-rcidm.c:191,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 94
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 193
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/quic-rcidm.c
    functionUses: 1
    functionsReached:
    - ossl_quic_rcidm_on_handshake_complete
    - ossl_quic_rcidm_free
    - PACKET_buf_init
    - ossl_quic_rcidm_pop_retire_seq_num
    - ossl_quic_rcidm_add_from_initial
    - ossl_quic_rcidm_on_packet_sent
    - ossl_quic_rcidm_request_roll
    - ossl_quic_rcidm_get_preferred_tx_dcid
    - ossl_quic_rcidm_get_preferred_tx_dcid_changed
    - PACKET_get_1
    - PACKET_remaining
    - ossl_quic_rcidm_add_from_server_retry
    - ossl_quic_rcidm_add_from_ncid
    - ossl_quic_rcidm_peek_retire_seq_num
    - ossl_quic_rcidm_new
    - get_cid
    - PACKET_get_net_8
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/quic-rcidm.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/quic-rcidm.c
    functionUses: 1
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/fuzz_rand.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - provctx
    - parent
    - parent_dispatch
    argTypes:
    - void*
    - void*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: fuzz_rand_newctx
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: "void *fuzz_rand_newctx(\n         void *provctx, void *parent, const
      OSSL_DISPATCH *parent_dispatch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/fuzz_rand.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: fuzz_rand_freectx
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void fuzz_rand_freectx(ossl_unused void *vrng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vrng
    - strength
    - prediction_resistance
    - pstr
    - pstr_len
    - params
    argTypes:
    - ossl_unused*
    - ossl_unused unsigned
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    - ossl_unused[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: fuzz_rand_instantiate
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzz_rand_instantiate(ossl_unused void *vrng,\n                                 ossl_unused
      unsigned int strength,\n                                 ossl_unused int prediction_resistance,\n
      \                                ossl_unused const unsigned char *pstr,\n                                 ossl_unused
      size_t pstr_len,\n                                 ossl_unused const OSSL_PARAM
      params[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: fuzz_rand_uninstantiate
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuzz_rand_uninstantiate(ossl_unused void *vrng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - vdrbg
    - out
    - outlen
    - strength
    - prediction_resistance
    - adin
    - adinlen
    argTypes:
    - ossl_unused*
    - unsigned char*
    - size_t
    - ossl_unused unsigned
    - ossl_unused
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: fuzz_rand_generate
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzz_rand_generate(ossl_unused void *vdrbg,\n                              unsigned
      char *out, size_t outlen,\n                              ossl_unused unsigned
      int strength,\n                              ossl_unused int prediction_resistance,\n
      \                             ossl_unused const unsigned char *adin,\n                              ossl_unused
      size_t adinlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vrng
    argTypes:
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: fuzz_rand_enable_locking
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuzz_rand_enable_locking(ossl_unused void *vrng)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/fuzz/fuzz_rand.c:81,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/fuzz/fuzz_rand.c:82,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/fuzz/fuzz_rand.c:85,1
    - Dst: OSSL_PARAM_set_int
      Src: /src/openssl/fuzz/fuzz_rand.c:86,1
    - Dst: OSSL_PARAM_locate
      Src: /src/openssl/fuzz/fuzz_rand.c:89,1
    - Dst: OSSL_PARAM_set_size_t
      Src: /src/openssl/fuzz/fuzz_rand.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - vrng
    - params
    argTypes:
    - void*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: fuzz_rand_get_ctx_params
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate
    - OSSL_PARAM_set_size_t
    - OSSL_PARAM_set_int
    linkageType: ''
    returnType: int
    signature: int fuzz_rand_get_ctx_params(void *vrng, OSSL_PARAM params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_int
      Src: /src/openssl/fuzz/fuzz_rand.c:99,1
    - Dst: OSSL_PARAM_uint
      Src: /src/openssl/fuzz/fuzz_rand.c:100,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/openssl/fuzz/fuzz_rand.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vrng
    - provctx
    argTypes:
    - ossl_unused*
    - ossl_unused*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: fuzz_rand_gettable_ctx_params
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_size_t
    - OSSL_PARAM_uint
    - OSSL_PARAM_int
    linkageType: ''
    returnType: OSSL_PARAM
    signature: "OSSL_PARAM *fuzz_rand_gettable_ctx_params(ossl_unused void *vrng,\n
      \                                                      ossl_unused void *provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - provctx
    - operation_id
    - no_cache
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: fuzz_rand_query
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ALGORITHM
    signature: "OSSL_ALGORITHM *fuzz_rand_query(void *provctx,\n                                             int
      operation_id,\n                                             int *no_cache)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIB_CTX_new
      Src: /src/openssl/fuzz/fuzz_rand.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - in
    - out
    - provctx
    argTypes:
    - OSSL_CORE_HANDLE*
    - OSSL_DISPATCH*
    - OSSL_DISPATCH**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: fuzz_rand_provider_init
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 0
    functionsReached:
    - OSSL_LIB_CTX_new
    linkageType: ''
    returnType: int
    signature: "int fuzz_rand_provider_init(const OSSL_CORE_HANDLE *handle,\n                                   const
      OSSL_DISPATCH *in,\n                                   const OSSL_DISPATCH **out,
      void **provctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_add_builtin
      Src: /src/openssl/fuzz/fuzz_rand.c:159,1
    - Dst: RAND_set_DRBG_type
      Src: /src/openssl/fuzz/fuzz_rand.c:160,1
    - Dst: OSSL_PROVIDER_try_load
      Src: /src/openssl/fuzz/fuzz_rand.c:161,1
    - Dst: exit
      Src: /src/openssl/fuzz/fuzz_rand.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 7
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: FuzzerSetRand
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 4
    functionsReached:
    - exit
    - OSSL_PROVIDER_add_builtin
    - OSSL_PROVIDER_try_load
    - RAND_set_DRBG_type
    linkageType: ''
    returnType: void
    signature: void FuzzerSetRand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/openssl/fuzz/fuzz_rand.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: FuzzerClearRand
    functionSourceFile: /src/openssl/fuzz/fuzz_rand.c
    functionUses: 4
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void FuzzerClearRand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/v3name.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: d2i_GENERAL_NAME
      Src: /src/openssl/fuzz/v3name.c:31,1
    - Dst: d2i_GENERAL_NAME
      Src: /src/openssl/fuzz/v3name.c:33,1
    - Dst: GENERAL_NAME_cmp
      Src: /src/openssl/fuzz/v3name.c:34,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/fuzz/v3name.c:36,1
    - Dst: GENERAL_NAME_free
      Src: /src/openssl/fuzz/v3name.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 40
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/v3name.c
    functionUses: 1
    functionsReached:
    - d2i_GENERAL_NAME
    - GENERAL_NAME_free
    - GENERAL_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/v3name.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/ct.c:22,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/ct.c:23,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/ct.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/ct.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/ct.c:32,1
    - Dst: d2i_SCT_LIST
      Src: /src/openssl/fuzz/ct.c:32,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/ct.c:34,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/ct.c:34,1
    - Dst: SCT_LIST_print
      Src: /src/openssl/fuzz/ct.c:35,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/ct.c:36,1
    - Dst: i2d_SCT_LIST
      Src: /src/openssl/fuzz/ct.c:38,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ct.c:41,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/fuzz/ct.c:43,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/ct.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 9
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/ct.c
    functionUses: 1
    functionsReached:
    - BIO_new
    - SCT_LIST_print
    - BIO_s_null
    - d2i_SCT_LIST
    - ERR_clear_error
    - BIO_free
    - STACK_OF
    - OPENSSL_free
    - SCT_LIST_free
    - i2d_SCT_LIST
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/ct.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: TIME_IMPL
    functionSourceFile: /src/openssl/fuzz/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIME_IMPL(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/server.c:494,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/server.c:496,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/server.c:497,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/server.c:498,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/server.c:499,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/server.c:500,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/server.c:501,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/server.c:502,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/server.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 8
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/server.c
    functionUses: 1
    functionsReached:
    - SSL_COMP_get_compression_methods
    - ERR_clear_error
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - OPENSSL_init_crypto
    - OPENSSL_init_ssl
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/server.c:542,1
    - Dst: SSLv23_method
      Src: /src/openssl/fuzz/server.c:542,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:543,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/fuzz/server.c:544,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:545,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/fuzz/server.c:546,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:547,1
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/fuzz/server.c:552,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:553,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/server.c:554,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:555,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/fuzz/server.c:556,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/server.c:557,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:558,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/server.c:559,1
    - Dst: d2i_X509
      Src: /src/openssl/fuzz/server.c:563,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:564,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/server.c:565,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:566,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/server.c:567,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:572,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:572,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:573,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:574,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:574,1
    - Dst: PEM_read_bio_ECPrivateKey
      Src: /src/openssl/fuzz/server.c:575,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/server.c:576,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:577,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/server.c:578,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/server.c:579,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:580,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/fuzz/server.c:581,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/server.c:582,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:583,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/server.c:584,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:586,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:586,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:587,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:588,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:588,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/server.c:589,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:590,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/server.c:591,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/server.c:592,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:593,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/server.c:594,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:599,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:599,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:600,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:601,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:601,1
    - Dst: PEM_read_bio_DSAPrivateKey
      Src: /src/openssl/fuzz/server.c:602,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/server.c:603,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:604,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/server.c:605,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/server.c:606,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:607,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/fuzz/server.c:608,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/server.c:609,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:610,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/server.c:611,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:613,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:613,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:614,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:615,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:615,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/server.c:616,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:617,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/server.c:618,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/server.c:619,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:620,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/server.c:621,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/server.c:624,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:625,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:625,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:626,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/server.c:627,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/server.c:627,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:628,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/server.c:629,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/fuzz/server.c:630,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/server.c:635,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/server.c:635,1
    - Dst: SSL_read_early_data
      Src: /src/openssl/fuzz/server.c:641,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/server.c:648,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/server.c:652,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/server.c:657,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/server.c:658,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/server.c:659,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 96
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 509
    functionDepth: 7
    functionLinenumber: 509
    functionLinenumberEnd: 662
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/server.c
    functionUses: 1
    functionsReached:
    - PEM_read_bio_ECPrivateKey
    - X509_free
    - SSL_CTX_new
    - BIO_s_mem
    - EVP_PKEY_assign_EC_KEY
    - SSL_CTX_use_PrivateKey
    - d2i_X509
    - BIO_write
    - BIO_new
    - SSL_CTX_free
    - ERR_clear_error
    - EVP_PKEY_assign_RSA
    - SSL_CTX_use_certificate
    - EVP_PKEY_assign_DSA
    - SSL_read
    - EVP_PKEY_free
    - ERR_print_errors_fp
    - SSL_set_bio
    - PEM_read_bio_DSAPrivateKey
    - SSL_set_accept_state
    - SSL_do_handshake
    - EVP_PKEY_new
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - OPENSSL_assert
    - SSL_CTX_set_cipher_list
    - BIO_free
    - SSLv23_method
    - SSL_new
    - SSL_read_early_data
    - d2i_RSAPrivateKey
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/server.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/server.c
    functionUses: 1
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - len
    - val
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: consume_uint8_t
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *consume_uint8_t(const uint8_t *buf, size_t *len, uint8_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - len
    - val
    argTypes:
    - uint8_t*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: consume_size_t
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *consume_size_t(const uint8_t *buf, size_t *len, size_t *val)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_load_u16_le
      Src: /src/openssl/fuzz/ml-dsa.c:92,1
    - Dst: OPENSSL_load_u16_le
      Src: /src/openssl/fuzz/ml-dsa.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - buf
    - len
    - keytype
    - keylen
    - only_valid
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 142
    functionName: select_keytype_and_size
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - OPENSSL_load_u16_le
    linkageType: ''
    returnType: int
    signature: "int select_keytype_and_size(uint8_t **buf, size_t *len,\n                                   char
      **keytype, size_t *keylen,\n                                   int only_valid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: select_keytype_and_size
      Src: /src/openssl/fuzz/ml-dsa.c:169,1
    - Dst: RAND_bytes
      Src: /src/openssl/fuzz/ml-dsa.c:201,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/fuzz/ml-dsa.c:211,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/fuzz/ml-dsa.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - buf
    - len
    - key1
    - key2
    argTypes:
    - uint8_t**
    - size_t*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 159
    functionDepth: 8
    functionLinenumber: 159
    functionLinenumberEnd: 217
    functionName: create_ml_dsa_raw_key
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - EVP_PKEY_new_raw_private_key_ex
    - select_keytype_and_size
    - EVP_PKEY_new_raw_public_key_ex
    linkageType: ''
    returnType: void
    signature: "void create_ml_dsa_raw_key(uint8_t **buf, size_t *len,\n                                  void
      **key1, void **key2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: select_keytype_and_size
      Src: /src/openssl/fuzz/ml-dsa.c:232,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/fuzz/ml-dsa.c:235,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:237,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/fuzz/ml-dsa.c:241,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:242,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/ml-dsa.c:246,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/fuzz/ml-dsa.c:250,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:251,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-dsa.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - len
    - key
    argTypes:
    - uint8_t**
    - size_t*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 219
    functionDepth: 7
    functionLinenumber: 219
    functionLinenumberEnd: 259
    functionName: keygen_ml_dsa_real_key_helper
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - select_keytype_and_size
    - fprintf
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: "int keygen_ml_dsa_real_key_helper(uint8_t **buf, size_t *len,\n                                         EVP_PKEY
      **key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keygen_ml_dsa_real_key_helper
      Src: /src/openssl/fuzz/ml-dsa.c:279,1
    - Dst: keygen_ml_dsa_real_key_helper
      Src: /src/openssl/fuzz/ml-dsa.c:280,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - len
    - key1
    - key2
    argTypes:
    - uint8_t**
    - size_t*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 8
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: keygen_ml_dsa_real_key
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - keygen_ml_dsa_real_key_helper
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void keygen_ml_dsa_real_key(uint8_t **buf, size_t *len,\n                                   void
      **key1, void **key2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-dsa.c:302,1
    - Dst: EVP_PKEY_get0_type_name
      Src: /src/openssl/fuzz/ml-dsa.c:308,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/fuzz/ml-dsa.c:310,1
    - Dst: consume_size_t
      Src: /src/openssl/fuzz/ml-dsa.c:315,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:316,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/ml-dsa.c:322,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/fuzz/ml-dsa.c:324,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:325,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/fuzz/ml-dsa.c:335,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/fuzz/ml-dsa.c:336,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/fuzz/ml-dsa.c:337,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/fuzz/ml-dsa.c:338,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/fuzz/ml-dsa.c:339,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:340,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-dsa.c:345,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-dsa.c:348,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/fuzz/ml-dsa.c:349,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/fuzz/ml-dsa.c:350,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:351,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-dsa.c:356,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-dsa.c:357,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/fuzz/ml-dsa.c:358,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-dsa.c:359,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - in2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 298
    functionDepth: 7
    functionLinenumber: 298
    functionLinenumberEnd: 361
    functionName: ml_dsa_sign_verify
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 3
    functionsReached:
    - EVP_SIGNATURE_fetch
    - OPENSSL_zalloc
    - consume_size_t
    - EVP_SIGNATURE_free
    - EVP_PKEY_get0_type_name
    - EVP_PKEY_verify
    - EVP_PKEY_verify_message_init
    - EVP_PKEY_sign_message_init
    - EVP_PKEY_CTX_free
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - OSSL_PARAM_octet_string
    - EVP_PKEY_sign
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: "void ml_dsa_sign_verify(uint8_t **buf, size_t *len, void *key1,\n
      \                              void *in2, void **out1, void **out2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/fuzz/ml-dsa.c:381,1
    - Dst: OSSL_PARAM_octet_string
      Src: /src/openssl/fuzz/ml-dsa.c:387,1
    - Dst: consume_size_t
      Src: /src/openssl/fuzz/ml-dsa.c:392,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:393,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/ml-dsa.c:399,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/fuzz/ml-dsa.c:401,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:402,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/fuzz/ml-dsa.c:412,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/fuzz/ml-dsa.c:413,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/ml-dsa.c:414,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/fuzz/ml-dsa.c:415,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:416,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/fuzz/ml-dsa.c:421,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/fuzz/ml-dsa.c:424,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/fuzz/ml-dsa.c:425,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/fuzz/ml-dsa.c:427,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:428,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-dsa.c:433,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/fuzz/ml-dsa.c:434,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/fuzz/ml-dsa.c:435,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-dsa.c:436,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - in2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 377
    functionDepth: 8
    functionLinenumber: 377
    functionLinenumberEnd: 438
    functionName: ml_dsa_digest_sign_verify
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerify
    - EVP_DigestVerifyInit_ex
    - consume_size_t
    - EVP_SIGNATURE_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_DigestSignInit_ex
    - EVP_DigestSign
    - fprintf
    - OSSL_PARAM_octet_string
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: void
    signature: "void ml_dsa_digest_sign_verify(uint8_t **buf, size_t *len, void *key1,\n
      \                                     void *in2, void **out1, void **out2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/fuzz/ml-dsa.c:466,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:467,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-dsa.c:471,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:473,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/fuzz/ml-dsa.c:477,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-dsa.c:478,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-dsa.c:483,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-dsa.c:484,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/fuzz/ml-dsa.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - key2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 458
    functionDepth: 5
    functionLinenumber: 458
    functionLinenumberEnd: 486
    functionName: ml_dsa_export_import
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - EVP_PKEY_todata
    linkageType: ''
    returnType: void
    signature: "void ml_dsa_export_import(uint8_t **buf, size_t *len, void *key1,\n
      \                                void *key2, void **out1, void **out2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/ml-dsa.c:509,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/ml-dsa.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - key2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: ml_dsa_compare
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    linkageType: ''
    returnType: void
    signature: "void ml_dsa_compare(uint8_t **buf, size_t *len, void *key1,\n                           void
      *key2, void **out1, void **out2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-dsa.c:530,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-dsa.c:531,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-dsa.c:532,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-dsa.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - key1
    - key2
    - key3
    - key4
    argTypes:
    - void*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 534
    functionName: cleanup_ml_dsa_keys
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: "void cleanup_ml_dsa_keys(void *key1, void *key2,\n                                void
      *key3, void *key4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: consume_uint8_t
      Src: /src/openssl/fuzz/ml-dsa.c:658,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/ml-dsa.c:663,1
    - Dst: setup
      Src: /src/openssl/fuzz/ml-dsa.c:667,1
    - Dst: doit
      Src: /src/openssl/fuzz/ml-dsa.c:669,1
    - Dst: cleanup
      Src: /src/openssl/fuzz/ml-dsa.c:671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 647
    functionDepth: 9
    functionLinenumber: 647
    functionLinenumberEnd: 674
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 1
    functionsReached:
    - consume_uint8_t
    - doit
    - setup
    - OSSL_NELEM
    - cleanup
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanup
      Src: /src/openssl/fuzz/ml-dsa.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 676
    functionDepth: 5
    functionLinenumber: 676
    functionLinenumberEnd: 679
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/ml-dsa.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanup
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: TIME_IMPL
    functionSourceFile: /src/openssl/fuzz/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIME_IMPL(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/client.c:41,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/client.c:43,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/client.c:44,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/client.c:45,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/client.c:46,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/client.c:47,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/client.c:48,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/client.c:49,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/client.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 8
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/client.c
    functionUses: 1
    functionsReached:
    - SSL_COMP_get_compression_methods
    - ERR_clear_error
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - OPENSSL_init_crypto
    - OPENSSL_init_ssl
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/client.c:67,1
    - Dst: SSLv23_method
      Src: /src/openssl/fuzz/client.c:67,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/client.c:71,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/client.c:74,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/fuzz/client.c:74,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/client.c:75,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/fuzz/client.c:75,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/fuzz/client.c:76,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/client.c:77,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/client.c:77,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/client.c:80,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/client.c:80,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/client.c:82,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/client.c:85,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/fuzz/client.c:86,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/client.c:87,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/client.c:87,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/client.c:88,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/client.c:92,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/client.c:98,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/client.c:99,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/client.c:100,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 103
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/client.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - BIO_new
    - SSL_do_handshake
    - SSL_set_connect_state
    - SSL_set_min_proto_version
    - SSL_free
    - SSL_CTX_free
    - ERR_clear_error
    - OPENSSL_assert
    - BIO_free
    - SSL_read
    - SSL_set_tlsext_host_name
    - SSLv23_method
    - SSL_CTX_new
    - SSL_new
    - BIO_s_mem
    - SSL_set_cipher_list
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/client.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/client.c
    functionUses: 1
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 559
    functionName: TIME_IMPL
    functionSourceFile: /src/openssl/fuzz/dtlsserver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIME_IMPL(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/dtlsserver.c:573,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/dtlsserver.c:575,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/dtlsserver.c:576,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/dtlsserver.c:577,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/dtlsserver.c:578,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/dtlsserver.c:579,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/dtlsserver.c:580,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/dtlsserver.c:581,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/dtlsserver.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 8
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/dtlsserver.c
    functionUses: 1
    functionsReached:
    - SSL_COMP_get_compression_methods
    - ERR_clear_error
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - OPENSSL_init_crypto
    - OPENSSL_init_ssl
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/dtlsserver.c:616,1
    - Dst: DTLS_server_method
      Src: /src/openssl/fuzz/dtlsserver.c:616,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/openssl/fuzz/dtlsserver.c:618,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:619,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/fuzz/dtlsserver.c:620,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:621,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:625,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:625,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:626,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:626,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:627,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/dtlsserver.c:628,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:629,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:630,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/dtlsserver.c:631,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/fuzz/dtlsserver.c:632,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:633,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:634,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/dtlsserver.c:635,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:638,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:638,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:639,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:639,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/dtlsserver.c:640,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:641,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:642,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/dtlsserver.c:643,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:644,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/dtlsserver.c:645,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:650,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:650,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:651,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:651,1
    - Dst: PEM_read_bio_ECPrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:652,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/dtlsserver.c:653,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:654,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:655,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/dtlsserver.c:656,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/openssl/fuzz/dtlsserver.c:657,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:658,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:659,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/dtlsserver.c:660,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:662,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:662,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:663,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:663,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/dtlsserver.c:664,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:665,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:666,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/dtlsserver.c:667,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:668,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/dtlsserver.c:669,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:674,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:674,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:675,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:675,1
    - Dst: PEM_read_bio_DSAPrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:676,1
    - Dst: ERR_print_errors_fp
      Src: /src/openssl/fuzz/dtlsserver.c:677,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:678,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:679,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/dtlsserver.c:680,1
    - Dst: EVP_PKEY_assign_DSA
      Src: /src/openssl/fuzz/dtlsserver.c:681,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/fuzz/dtlsserver.c:682,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:683,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/dtlsserver.c:684,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:686,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:686,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:687,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:687,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/fuzz/dtlsserver.c:688,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:689,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsserver.c:690,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/fuzz/dtlsserver.c:691,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:692,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/dtlsserver.c:693,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/dtlsserver.c:696,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:697,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:697,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsserver.c:698,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsserver.c:698,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/dtlsserver.c:699,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/fuzz/dtlsserver.c:700,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsserver.c:702,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsserver.c:702,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/dtlsserver.c:704,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/dtlsserver.c:708,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/dtlsserver.c:713,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/dtlsserver.c:714,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/dtlsserver.c:715,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 82
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 588
    functionDepth: 7
    functionLinenumber: 588
    functionLinenumberEnd: 718
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/dtlsserver.c
    functionUses: 1
    functionsReached:
    - PEM_read_bio_ECPrivateKey
    - X509_free
    - SSL_CTX_new
    - BIO_s_mem
    - EVP_PKEY_assign_EC_KEY
    - SSL_CTX_use_PrivateKey
    - BIO_write
    - BIO_new
    - SSL_CTX_free
    - ERR_clear_error
    - EVP_PKEY_assign_RSA
    - SSL_CTX_use_certificate
    - EVP_PKEY_assign_DSA
    - SSL_read
    - EVP_PKEY_free
    - ERR_print_errors_fp
    - SSL_set_bio
    - PEM_read_bio_DSAPrivateKey
    - SSL_set_accept_state
    - SSL_do_handshake
    - EVP_PKEY_new
    - SSL_free
    - SSL_CTX_set_min_proto_version
    - OPENSSL_assert
    - SSL_CTX_set_cipher_list
    - BIO_free
    - SSL_new
    - DTLS_server_method
    - PEM_read_bio_RSAPrivateKey
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/dtlsserver.c:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/dtlsserver.c
    functionUses: 1
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/x509.c:20,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/x509.c:21,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/x509.c:23,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/x509.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 8
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/x509.c
    functionUses: 1
    functionsReached:
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - FuzzerSetRand
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: cb
    functionSourceFile: /src/openssl/fuzz/x509.c
    functionUses: 338
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cb(int ok, X509_STORE_CTX *ctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/x509.c:44,1
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/x509.c:45,1
    - Dst: d2i_X509
      Src: /src/openssl/fuzz/x509.c:50,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/x509.c:54,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/x509.c:54,1
    - Dst: X509_print
      Src: /src/openssl/fuzz/x509.c:59,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/x509.c:60,1
    - Dst: X509_issuer_and_serial_hash
      Src: /src/openssl/fuzz/x509.c:62,1
    - Dst: i2d_X509
      Src: /src/openssl/fuzz/x509.c:64,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/x509.c:65,1
    - Dst: d2i_X509
      Src: /src/openssl/fuzz/x509.c:68,1
    - Dst: d2i_X509_CRL
      Src: /src/openssl/fuzz/x509.c:73,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/fuzz/x509.c:78,1
    - Dst: X509_STORE_new
      Src: /src/openssl/fuzz/x509.c:80,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/fuzz/x509.c:83,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/fuzz/x509.c:85,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/fuzz/x509.c:88,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/fuzz/x509.c:89,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/fuzz/x509.c:90,1
    - Dst: X509_VERIFY_PARAM_set_flags
      Src: /src/openssl/fuzz/x509.c:91,1
    - Dst: X509_STORE_set1_param
      Src: /src/openssl/fuzz/x509.c:93,1
    - Dst: X509_STORE_set_verify_cb
      Src: /src/openssl/fuzz/x509.c:95,1
    - Dst: X509_STORE_CTX_new
      Src: /src/openssl/fuzz/x509.c:97,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/fuzz/x509.c:101,1
    - Dst: sk_X509_CRL_new_null
      Src: /src/openssl/fuzz/x509.c:104,1
    - Dst: sk_X509_CRL_push
      Src: /src/openssl/fuzz/x509.c:106,1
    - Dst: X509_STORE_CTX_set0_crls
      Src: /src/openssl/fuzz/x509.c:109,1
    - Dst: X509_verify_cert
      Src: /src/openssl/fuzz/x509.c:112,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/fuzz/x509.c:115,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/fuzz/x509.c:121,1
    - Dst: sk_X509_push
      Src: /src/openssl/fuzz/x509.c:123,1
    - Dst: sk_X509_push
      Src: /src/openssl/fuzz/x509.c:124,1
    - Dst: OCSP_basic_verify
      Src: /src/openssl/fuzz/x509.c:127,1
    - Dst: OCSP_cert_to_id
      Src: /src/openssl/fuzz/x509.c:129,1
    - Dst: OCSP_resp_find_status
      Src: /src/openssl/fuzz/x509.c:132,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/fuzz/x509.c:137,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/fuzz/x509.c:138,1
    - Dst: X509_STORE_free
      Src: /src/openssl/fuzz/x509.c:139,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/x509.c:140,1
    - Dst: X509_free
      Src: /src/openssl/fuzz/x509.c:141,1
    - Dst: X509_CRL_free
      Src: /src/openssl/fuzz/x509.c:142,1
    - Dst: OCSP_CERTID_free
      Src: /src/openssl/fuzz/x509.c:143,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/fuzz/x509.c:144,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/openssl/fuzz/x509.c:145,1
    - Dst: sk_X509_CRL_free
      Src: /src/openssl/fuzz/x509.c:146,1
    - Dst: sk_X509_free
      Src: /src/openssl/fuzz/x509.c:147,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/x509.c:149,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 85
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 33
    functionDepth: 11
    functionLinenumber: 33
    functionLinenumberEnd: 151
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/x509.c
    functionUses: 1
    functionsReached:
    - d2i_OCSP_RESPONSE
    - X509_STORE_CTX_new
    - X509_STORE_CTX_set0_crls
    - X509_STORE_free
    - i2d_X509
    - X509_STORE_add_cert
    - X509_CRL_free
    - X509_free
    - OPENSSL_free
    - OCSP_cert_to_id
    - d2i_X509
    - BIO_new
    - X509_STORE_new
    - X509_print
    - OCSP_response_get1_basic
    - sk_X509_CRL_push
    - ERR_clear_error
    - X509_STORE_set1_param
    - sk_X509_push
    - X509_VERIFY_PARAM_new
    - sk_X509_CRL_free
    - X509_VERIFY_PARAM_set_flags
    - X509_issuer_and_serial_hash
    - X509_STORE_set_verify_cb
    - X509_VERIFY_PARAM_free
    - OCSP_BASICRESP_free
    - OCSP_RESPONSE_free
    - BIO_free
    - d2i_X509_CRL
    - STACK_OF
    - OCSP_resp_find_status
    - OCSP_CERTID_free
    - BIO_s_null
    - X509_STORE_CTX_free
    - sk_X509_free
    - OCSP_basic_verify
    - sk_X509_CRL_new_null
    - sk_X509_new_null
    - X509_verify_cert
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/x509.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/x509.c
    functionUses: 1
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/conf.c:21,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/conf.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/conf.c
    functionUses: 1
    functionsReached:
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NCONF_new
      Src: /src/openssl/fuzz/conf.c:35,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/conf.c:36,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/conf.c:36,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/conf.c:37,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/conf.c:37,1
    - Dst: NCONF_load_bio
      Src: /src/openssl/fuzz/conf.c:38,1
    - Dst: NCONF_free
      Src: /src/openssl/fuzz/conf.c:39,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/conf.c:40,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/conf.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/conf.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - BIO_new
    - ERR_clear_error
    - OPENSSL_assert
    - BIO_free
    - NCONF_new
    - BIO_s_mem
    - NCONF_free
    - NCONF_load_bio
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/conf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: fake_now_cb
    functionSourceFile: /src/openssl/fuzz/quic-server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/quic-server.c:31,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/quic-server.c:33,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/quic-server.c:34,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/quic-server.c:35,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/quic-server.c:36,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/quic-server.c:37,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/quic-server.c:38,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/quic-server.c:39,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/quic-server.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 8
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/quic-server.c
    functionUses: 1
    functionsReached:
    - SSL_COMP_get_compression_methods
    - ERR_clear_error
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - OPENSSL_init_crypto
    - OPENSSL_init_ssl
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ssl
    - out
    - out_len
    - in
    - in_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: select_alpn
    functionSourceFile: /src/openssl/fuzz/quic-server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int select_alpn(SSL *ssl, const unsigned char **out,\n                       unsigned
      char *out_len, const unsigned char *in,\n                       unsigned int
      in_len, void *arg)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/quic-server.c:80,1
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/fuzz/quic-server.c:80,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/fuzz/quic-server.c:84,1
    - Dst: SSL_new_listener
      Src: /src/openssl/fuzz/quic-server.c:86,1
    - Dst: ossl_ms2time
      Src: /src/openssl/fuzz/quic-server.c:91,1
    - Dst: ossl_quic_set_override_now_cb
      Src: /src/openssl/fuzz/quic-server.c:92,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/quic-server.c:95,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/fuzz/quic-server.c:95,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/quic-server.c:98,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/fuzz/quic-server.c:98,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/quic-server.c:100,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/fuzz/quic-server.c:103,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/quic-server.c:104,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/quic-server.c:105,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/quic-server.c:108,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/fuzz/quic-server.c:109,1
    - Dst: ossl_time_zero
      Src: /src/openssl/fuzz/quic-server.c:114,1
    - Dst: ossl_time_add
      Src: /src/openssl/fuzz/quic-server.c:140,1
    - Dst: ossl_ms2time
      Src: /src/openssl/fuzz/quic-server.c:140,1
    - Dst: SSL_accept_connection
      Src: /src/openssl/fuzz/quic-server.c:148,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/quic-server.c:154,1
    - Dst: assert
      Src: /src/openssl/fuzz/quic-server.c:158,1
    - Dst: SSL_write
      Src: /src/openssl/fuzz/quic-server.c:163,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/quic-server.c:171,1
    - Dst: SSL_get_accept_stream_queue_len
      Src: /src/openssl/fuzz/quic-server.c:172,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/fuzz/quic-server.c:175,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/quic-server.c:183,1
    - Dst: SSL_new_stream
      Src: /src/openssl/fuzz/quic-server.c:185,1
    - Dst: assert
      Src: /src/openssl/fuzz/quic-server.c:205,1
    - Dst: assert
      Src: /src/openssl/fuzz/quic-server.c:206,1
    - Dst: SSL_get_error
      Src: /src/openssl/fuzz/quic-server.c:208,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/fuzz/quic-server.c:217,1
    - Dst: ossl_time_add
      Src: /src/openssl/fuzz/quic-server.c:224,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/fuzz/quic-server.c:225,1
    - Dst: ossl_time_compare
      Src: /src/openssl/fuzz/quic-server.c:226,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/quic-server.c:242,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/quic-server.c:248,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/quic-server.c:249,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/quic-server.c:250,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 160
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (stream != NULL)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/openssl/fuzz/quic-server.c
    - condition: (writelen <= (int)sizeof(tmp))
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/openssl/fuzz/quic-server.c
    - condition: (thisstream < numstreams)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/openssl/fuzz/quic-server.c
    constantsTouched: []
    func_position:
      end: 253
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 253
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/quic-server.c
    functionUses: 1
    functionsReached:
    - BIO_s_dgram_mem
    - ossl_time_zero
    - ossl_ms2time
    - SSL_CTX_new
    - assert
    - OSSL_QUIC_server_method
    - BIO_write
    - BIO_new
    - SSL_get_error
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - ERR_clear_error
    - SSL_read
    - SSL_get_accept_stream_queue_len
    - SSL_get_event_timeout
    - SSL_set_bio
    - SSL_set_accept_state
    - SSL_free
    - BIO_free
    - ossl_time_from_timeval
    - ossl_time_add
    - SSL_accept_stream
    - SSL_new_listener
    - BIO_dgram_set_caps
    - ossl_time_compare
    - OSSL_NELEM
    - SSL_write
    - ossl_quic_set_override_now_cb
    - SSL_new_stream
    - SSL_accept_connection
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/quic-server.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/quic-server.c
    functionUses: 1
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/bignum.c:24,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/bignum.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/bignum.c
    functionUses: 1
    functionsReached:
    - ERR_clear_error
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/openssl/fuzz/bignum.c:42,1
    - Dst: BN_new
      Src: /src/openssl/fuzz/bignum.c:43,1
    - Dst: BN_new
      Src: /src/openssl/fuzz/bignum.c:44,1
    - Dst: BN_new
      Src: /src/openssl/fuzz/bignum.c:45,1
    - Dst: BN_new
      Src: /src/openssl/fuzz/bignum.c:46,1
    - Dst: BN_CTX_new
      Src: /src/openssl/fuzz/bignum.c:47,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:66,1
    - Dst: BN_bin2bn
      Src: /src/openssl/fuzz/bignum.c:66,1
    - Dst: BN_set_negative
      Src: /src/openssl/fuzz/bignum.c:67,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:68,1
    - Dst: BN_bin2bn
      Src: /src/openssl/fuzz/bignum.c:68,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:69,1
    - Dst: BN_bin2bn
      Src: /src/openssl/fuzz/bignum.c:69,1
    - Dst: BN_set_negative
      Src: /src/openssl/fuzz/bignum.c:70,1
    - Dst: BN_is_zero
      Src: /src/openssl/fuzz/bignum.c:73,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:78,1
    - Dst: BN_mod_exp
      Src: /src/openssl/fuzz/bignum.c:78,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:79,1
    - Dst: BN_mod_exp_simple
      Src: /src/openssl/fuzz/bignum.c:79,1
    - Dst: BN_cmp
      Src: /src/openssl/fuzz/bignum.c:81,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:83,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:84,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:85,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:86,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:87,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:88,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:89,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:90,1
    - Dst: BN_print_fp
      Src: /src/openssl/fuzz/bignum.c:91,1
    - Dst: putchar
      Src: /src/openssl/fuzz/bignum.c:92,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/bignum.c:96,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bignum.c:97,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bignum.c:98,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bignum.c:99,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bignum.c:100,1
    - Dst: BN_free
      Src: /src/openssl/fuzz/bignum.c:101,1
    - Dst: BN_CTX_free
      Src: /src/openssl/fuzz/bignum.c:102,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/bignum.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 106
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/bignum.c
    functionUses: 1
    functionsReached:
    - BN_print_fp
    - BN_set_negative
    - OPENSSL_assert
    - BN_CTX_new
    - BN_mod_exp_simple
    - BN_is_zero
    - BN_cmp
    - ERR_clear_error
    - BN_bin2bn
    - BN_CTX_free
    - BN_new
    - putchar
    - BN_mod_exp
    - BN_free
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/bignum.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: fake_now_cb
    functionSourceFile: /src/openssl/fuzz/quic-client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME fake_now_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/quic-client.c:31,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/quic-client.c:33,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/quic-client.c:34,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/quic-client.c:35,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/quic-client.c:36,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/quic-client.c:37,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/quic-client.c:38,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/quic-client.c:39,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/quic-client.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 8
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/quic-client.c
    functionUses: 1
    functionsReached:
    - SSL_COMP_get_compression_methods
    - ERR_clear_error
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - OPENSSL_init_crypto
    - OPENSSL_init_ssl
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/quic-client.c:72,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/fuzz/quic-client.c:72,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/quic-client.c:76,1
    - Dst: ossl_ms2time
      Src: /src/openssl/fuzz/quic-client.c:80,1
    - Dst: ossl_quic_set_override_now_cb
      Src: /src/openssl/fuzz/quic-client.c:81,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/fuzz/quic-client.c:84,1
    - Dst: htonl
      Src: /src/openssl/fuzz/quic-client.c:88,1
    - Dst: BIO_ADDR_rawmake
      Src: /src/openssl/fuzz/quic-client.c:90,1
    - Dst: htons
      Src: /src/openssl/fuzz/quic-client.c:90,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/fuzz/quic-client.c:93,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/quic-client.c:94,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/fuzz/quic-client.c:94,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/quic-client.c:97,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/fuzz/quic-client.c:97,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/quic-client.c:99,1
    - Dst: BIO_dgram_set_caps
      Src: /src/openssl/fuzz/quic-client.c:102,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/quic-client.c:103,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/quic-client.c:104,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/quic-client.c:107,1
    - Dst: SSL_set_alpn_protos
      Src: /src/openssl/fuzz/quic-client.c:108,1
    - Dst: SSL_set1_initial_peer_addr
      Src: /src/openssl/fuzz/quic-client.c:110,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/fuzz/quic-client.c:112,1
    - Dst: SSL_set_incoming_stream_policy
      Src: /src/openssl/fuzz/quic-client.c:114,1
    - Dst: ossl_time_zero
      Src: /src/openssl/fuzz/quic-client.c:123,1
    - Dst: ossl_time_add
      Src: /src/openssl/fuzz/quic-client.c:149,1
    - Dst: ossl_ms2time
      Src: /src/openssl/fuzz/quic-client.c:149,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/quic-client.c:157,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/quic-client.c:163,1
    - Dst: assert
      Src: /src/openssl/fuzz/quic-client.c:167,1
    - Dst: SSL_write
      Src: /src/openssl/fuzz/quic-client.c:172,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/quic-client.c:180,1
    - Dst: SSL_get_accept_stream_queue_len
      Src: /src/openssl/fuzz/quic-client.c:181,1
    - Dst: SSL_accept_stream
      Src: /src/openssl/fuzz/quic-client.c:185,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/quic-client.c:193,1
    - Dst: SSL_new_stream
      Src: /src/openssl/fuzz/quic-client.c:195,1
    - Dst: assert
      Src: /src/openssl/fuzz/quic-client.c:215,1
    - Dst: assert
      Src: /src/openssl/fuzz/quic-client.c:216,1
    - Dst: SSL_get_error
      Src: /src/openssl/fuzz/quic-client.c:218,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/fuzz/quic-client.c:227,1
    - Dst: ossl_time_add
      Src: /src/openssl/fuzz/quic-client.c:234,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/fuzz/quic-client.c:235,1
    - Dst: ossl_time_compare
      Src: /src/openssl/fuzz/quic-client.c:236,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/quic-client.c:252,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/quic-client.c:258,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/quic-client.c:259,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/quic-client.c:260,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/fuzz/quic-client.c:261,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 178
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (stream != NULL)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/openssl/fuzz/quic-client.c
    - condition: (writelen <= (int)sizeof(tmp))
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/openssl/fuzz/quic-client.c
    - condition: (thisstream < numstreams)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/openssl/fuzz/quic-client.c
    constantsTouched: []
    func_position:
      end: 264
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 264
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/quic-client.c
    functionUses: 1
    functionsReached:
    - BIO_s_dgram_mem
    - BIO_ADDR_new
    - SSL_set_alpn_protos
    - ossl_ms2time
    - ossl_time_zero
    - SSL_CTX_new
    - BIO_ADDR_rawmake
    - assert
    - BIO_write
    - BIO_new
    - SSL_get_error
    - SSL_set_connect_state
    - SSL_CTX_free
    - ERR_clear_error
    - SSL_read
    - SSL_get_accept_stream_queue_len
    - SSL_set_tlsext_host_name
    - OSSL_QUIC_client_method
    - SSL_get_event_timeout
    - SSL_set_bio
    - SSL_do_handshake
    - SSL_free
    - BIO_free
    - SSL_set_incoming_stream_policy
    - ossl_time_from_timeval
    - SSL_new
    - ossl_time_add
    - htonl
    - SSL_accept_stream
    - BIO_ADDR_free
    - BIO_dgram_set_caps
    - ossl_time_compare
    - OSSL_NELEM
    - SSL_set1_initial_peer_addr
    - SSL_write
    - ossl_quic_set_override_now_cb
    - htons
    - SSL_new_stream
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/quic-client.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/quic-client.c
    functionUses: 1
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - len
    - val
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: consume_uint8t
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *consume_uint8t(const uint8_t *buf, size_t *len, uint8_t *val)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_load_u16_le
      Src: /src/openssl/fuzz/ml-kem.c:72,1
    - Dst: OPENSSL_load_u16_le
      Src: /src/openssl/fuzz/ml-kem.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - buf
    - len
    - keytype
    - keylen
    - only_valid
    argTypes:
    - uint8_t**
    - size_t*
    - char**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 123
    functionName: select_keytype_and_size
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 2
    functionsReached:
    - OPENSSL_load_u16_le
    linkageType: ''
    returnType: int
    signature: "int select_keytype_and_size(uint8_t **buf, size_t *len,\n                                   char
      **keytype, size_t *keylen,\n                                   int only_valid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: select_keytype_and_size
      Src: /src/openssl/fuzz/ml-kem.c:149,1
    - Dst: RAND_bytes
      Src: /src/openssl/fuzz/ml-kem.c:169,1
    - Dst: EVP_PKEY_new_raw_public_key_ex
      Src: /src/openssl/fuzz/ml-kem.c:179,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/fuzz/ml-kem.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - len
    - key1
    - key2
    argTypes:
    - uint8_t**
    - size_t*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 140
    functionDepth: 8
    functionLinenumber: 140
    functionLinenumberEnd: 185
    functionName: create_mlkem_raw_key
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - EVP_PKEY_new_raw_private_key_ex
    - select_keytype_and_size
    - EVP_PKEY_new_raw_public_key_ex
    linkageType: ''
    returnType: void
    signature: "void create_mlkem_raw_key(uint8_t **buf, size_t *len,\n                                 void
      **key1, void **key2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: select_keytype_and_size
      Src: /src/openssl/fuzz/ml-kem.c:221,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/fuzz/ml-kem.c:224,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:226,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/fuzz/ml-kem.c:230,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:231,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/fuzz/ml-kem.c:235,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/fuzz/ml-kem.c:239,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:240,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:245,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - buf
    - len
    - key1
    - key2
    argTypes:
    - uint8_t**
    - size_t*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 202
    functionDepth: 7
    functionLinenumber: 202
    functionLinenumberEnd: 253
    functionName: keygen_mlkem_real_key
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - select_keytype_and_size
    - fprintf
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: void
    signature: "void keygen_mlkem_real_key(uint8_t **buf, size_t *len,\n                                  void
      **key1, void **key2)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-kem.c:281,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:283,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/fuzz/ml-kem.c:287,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:288,1
    - Dst: RAND_bytes
      Src: /src/openssl/fuzz/ml-kem.c:292,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/fuzz/ml-kem.c:295,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:296,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:300,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-kem.c:301,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:303,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/fuzz/ml-kem.c:307,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:308,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/fuzz/ml-kem.c:312,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:314,1
    - Dst: memcmp
      Src: /src/openssl/fuzz/ml-kem.c:318,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:319,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:321,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - in2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 269
    functionDepth: 12
    functionLinenumber: 269
    functionLinenumberEnd: 323
    functionName: mlkem_encap_decap
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - memcmp
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - RAND_bytes
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_encapsulate_init
    - EVP_PKEY_encapsulate
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void mlkem_encap_decap(uint8_t **buf, size_t *len, void *key1, void
      *in2,\n                              void **out1, void **out2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-kem.c:347,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:349,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/fuzz/ml-kem.c:353,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:354,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/fuzz/ml-kem.c:358,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:359,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/fuzz/ml-kem.c:363,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:364,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/fuzz/ml-kem.c:371,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:373,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/fuzz/ml-kem.c:376,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:377,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-kem.c:378,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:384,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - key
    - peer
    - shared
    - shared_len
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 385
    functionName: do_derive
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - EVP_PKEY_derive_init
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - OPENSSL_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    linkageType: ''
    returnType: void
    signature: void do_derive(EVP_PKEY *key, EVP_PKEY *peer, uint8_t **shared, size_t
      *shared_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_derive
      Src: /src/openssl/fuzz/ml-kem.c:414,1
    - Dst: do_derive
      Src: /src/openssl/fuzz/ml-kem.c:415,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-kem.c:420,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/ml-kem.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - key2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 405
    functionDepth: 6
    functionLinenumber: 405
    functionLinenumberEnd: 422
    functionName: mlkem_kex
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - do_derive
    linkageType: ''
    returnType: void
    signature: "void mlkem_kex(uint8_t **buf, size_t *len, void *key1, void *key2,\n
      \                     void **out1, void **out2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/fuzz/ml-kem.c:450,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:451,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/ml-kem.c:455,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:457,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/fuzz/ml-kem.c:461,1
    - Dst: EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
      Src: /src/openssl/fuzz/ml-kem.c:461,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/ml-kem.c:462,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/ml-kem.c:467,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/fuzz/ml-kem.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - key2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 442
    functionDepth: 5
    functionLinenumber: 442
    functionLinenumberEnd: 470
    functionName: mlkem_export_import
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
    - EVP_PKEY_fromdata
    - OSSL_PARAM_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - fprintf
    - EVP_PKEY_todata
    linkageType: ''
    returnType: void
    signature: "void mlkem_export_import(uint8_t **buf, size_t *len, void *key1,\n
      \                               void *key2, void **out1, void **out2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/ml-kem.c:493,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/ml-kem.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - key2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 495
    functionName: mlkem_compare
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    linkageType: ''
    returnType: void
    signature: "void mlkem_compare(uint8_t **buf, size_t *len, void *key1,\n                          void
      *key2, void **out1, void **out2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-kem.c:514,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-kem.c:515,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-kem.c:516,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/ml-kem.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - key1
    - key2
    - key3
    - key4
    argTypes:
    - void*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 511
    functionDepth: 4
    functionLinenumber: 511
    functionLinenumberEnd: 519
    functionName: cleanup_mlkem_keys
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: "void cleanup_mlkem_keys(void *key1, void *key2,\n                               void
      *key3, void *key4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: consume_uint8t
      Src: /src/openssl/fuzz/ml-kem.c:645,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/ml-kem.c:652,1
    - Dst: setup
      Src: /src/openssl/fuzz/ml-kem.c:658,1
    - Dst: doit
      Src: /src/openssl/fuzz/ml-kem.c:660,1
    - Dst: cleanup
      Src: /src/openssl/fuzz/ml-kem.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 632
    functionDepth: 9
    functionLinenumber: 632
    functionLinenumberEnd: 665
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 1
    functionsReached:
    - doit
    - setup
    - OSSL_NELEM
    - consume_uint8t
    - cleanup
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanup
      Src: /src/openssl/fuzz/ml-kem.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 5
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/ml-kem.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanup
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/smime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/openssl/fuzz/smime.c:24,1
    - Dst: SMIME_read_PKCS7
      Src: /src/openssl/fuzz/smime.c:25,1
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/smime.c:28,1
    - Dst: PKCS7_get_signer_info
      Src: /src/openssl/fuzz/smime.c:28,1
    - Dst: sk_PKCS7_SIGNER_INFO_num
      Src: /src/openssl/fuzz/smime.c:31,1
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/smime.c:32,1
    - Dst: PKCS7_cert_from_signer_info
      Src: /src/openssl/fuzz/smime.c:34,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/fuzz/smime.c:35,1
    - Dst: PKCS7_get_smimecap
      Src: /src/openssl/fuzz/smime.c:36,1
    - Dst: sk_PKCS7_SIGNER_INFO_value
      Src: /src/openssl/fuzz/smime.c:36,1
    - Dst: sk_X509_ALGOR_pop_free
      Src: /src/openssl/fuzz/smime.c:37,1
    - Dst: PKCS7_free
      Src: /src/openssl/fuzz/smime.c:39,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/smime.c:42,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/smime.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 9
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/smime.c
    functionUses: 1
    functionsReached:
    - PKCS7_cert_from_signer_info
    - PKCS7_free
    - sk_PKCS7_SIGNER_INFO_num
    - sk_PKCS7_SIGNER_INFO_value
    - sk_X509_ALGOR_pop_free
    - ERR_clear_error
    - BIO_free
    - SMIME_read_PKCS7
    - STACK_OF
    - PKCS7_get_smimecap
    - PKCS7_get_signer_info
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/smime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerInitialize
      Src: /src/openssl/fuzz/driver.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/driver.c
    functionUses: 0
    functionsReached:
    - FuzzerInitialize
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerTestOneInput
      Src: /src/openssl/fuzz/driver.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/driver.c
    functionUses: 0
    functionsReached:
    - FuzzerTestOneInput
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerInitialize
      Src: /src/openssl/fuzz/driver.c:37,1
    - Dst: __AFL_LOOP
      Src: /src/openssl/fuzz/driver.c:39,1
    - Dst: malloc
      Src: /src/openssl/fuzz/driver.c:40,1
    - Dst: read
      Src: /src/openssl/fuzz/driver.c:41,1
    - Dst: FuzzerTestOneInput
      Src: /src/openssl/fuzz/driver.c:43,1
    - Dst: free
      Src: /src/openssl/fuzz/driver.c:44,1
    - Dst: FuzzerCleanup
      Src: /src/openssl/fuzz/driver.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: main
    functionSourceFile: /src/openssl/fuzz/driver.c
    functionUses: 7
    functionsReached:
    - free
    - read
    - FuzzerInitialize
    - malloc
    - __AFL_LOOP
    - FuzzerTestOneInput
    - FuzzerCleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - len
    - val
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: consume_uint8t
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *consume_uint8t(const uint8_t *buf, size_t *len, uint8_t *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/fuzz/slh-dsa.c:68,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:69,1
    - Dst: EVP_PKEY_new::EVP_PKEY_new
      Src: /src/openssl/fuzz/slh-dsa.c:71,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:72,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/fuzz/slh-dsa.c:72,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/fuzz/slh-dsa.c:74,1
    - Dst: EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
      Src: /src/openssl/fuzz/slh-dsa.c:74,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:75,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:79,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/fuzz/slh-dsa.c:79,1
    - Dst: EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
      Src: /src/openssl/fuzz/slh-dsa.c:79,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:84,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/fuzz/slh-dsa.c:84,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:85,1
    - Dst: EVP_PKEY_generate
      Src: /src/openssl/fuzz/slh-dsa.c:85,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/slh-dsa.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - name
    - keysize
    - params
    - param_broken
    argTypes:
    - char*
    - uint32_t
    - OSSL_PARAM[]
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 7
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: slh_dsa_gen_key
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
    - EVP_PKEY_fromdata
    - OPENSSL_assert
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_free
    - EVP_PKEY_new::EVP_PKEY_new
    - EVP_PKEY_keygen_init
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *slh_dsa_gen_key(const char *name, uint32_t keysize,\n                                 OSSL_PARAM
      params[], uint8_t *param_broken)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_nid2ln
      Src: /src/openssl/fuzz/slh-dsa.c:121,1
    - Dst: fprintf
      Src: /src/openssl/fuzz/slh-dsa.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - selector
    - keysize
    argTypes:
    - uint8_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 152
    functionName: select_keytype
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 0
    functionsReached:
    - OBJ_nid2ln
    - fprintf
    linkageType: ''
    returnType: char
    signature: char *select_keytype(uint8_t selector, uint32_t *keysize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consume_uint8t
      Src: /src/openssl/fuzz/slh-dsa.c:175,1
    - Dst: select_keytype
      Src: /src/openssl/fuzz/slh-dsa.c:176,1
    - Dst: slh_dsa_gen_key
      Src: /src/openssl/fuzz/slh-dsa.c:177,1
    - Dst: consume_uint8t
      Src: /src/openssl/fuzz/slh-dsa.c:179,1
    - Dst: select_keytype
      Src: /src/openssl/fuzz/slh-dsa.c:180,1
    - Dst: slh_dsa_gen_key
      Src: /src/openssl/fuzz/slh-dsa.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - len
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 8
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: slh_dsa_gen_keys
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 0
    functionsReached:
    - slh_dsa_gen_key
    - select_keytype
    - consume_uint8t
    linkageType: ''
    returnType: void
    signature: "void slh_dsa_gen_keys(uint8_t **buf, size_t *len,\n                             void
      **out1, void **out2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: consume_uint8t
      Src: /src/openssl/fuzz/slh-dsa.c:221,1
    - Dst: select_keytype
      Src: /src/openssl/fuzz/slh-dsa.c:222,1
    - Dst: RAND_bytes
      Src: /src/openssl/fuzz/slh-dsa.c:224,1
    - Dst: RAND_bytes
      Src: /src/openssl/fuzz/slh-dsa.c:225,1
    - Dst: RAND_bytes
      Src: /src/openssl/fuzz/slh-dsa.c:226,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/fuzz/slh-dsa.c:243,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/fuzz/slh-dsa.c:257,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/fuzz/slh-dsa.c:260,1
    - Dst: slh_dsa_gen_key
      Src: /src/openssl/fuzz/slh-dsa.c:262,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:265,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - buf
    - len
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 205
    functionDepth: 8
    functionLinenumber: 205
    functionLinenumberEnd: 269
    functionName: slh_dsa_gen_key_with_params
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - select_keytype
    - OPENSSL_assert
    - slh_dsa_gen_key
    - RAND_bytes
    - consume_uint8t
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: void
    signature: "void slh_dsa_gen_key_with_params(uint8_t **buf, size_t *len,\n                                        void
      **out1, void **out2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/slh-dsa.c:284,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/slh-dsa.c:285,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/slh-dsa.c:286,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/fuzz/slh-dsa.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - in1
    - in2
    - out1
    - out2
    argTypes:
    - void*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: slh_dsa_clean_keys
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void slh_dsa_clean_keys(void *in1, void *in2, void *out1, void *out2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: consume_uint8t
      Src: /src/openssl/fuzz/slh-dsa.c:324,1
    - Dst: select_keytype
      Src: /src/openssl/fuzz/slh-dsa.c:328,1
    - Dst: consume_uint8t
      Src: /src/openssl/fuzz/slh-dsa.c:333,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/fuzz/slh-dsa.c:350,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/fuzz/slh-dsa.c:355,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/fuzz/slh-dsa.c:361,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/fuzz/slh-dsa.c:365,1
    - Dst: slh_dsa_gen_key
      Src: /src/openssl/fuzz/slh-dsa.c:367,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:368,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/slh-dsa.c:371,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:372,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/fuzz/slh-dsa.c:374,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:375,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:377,1
    - Dst: EVP_PKEY_sign_message_init
      Src: /src/openssl/fuzz/slh-dsa.c:377,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:387,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/fuzz/slh-dsa.c:387,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/fuzz/slh-dsa.c:388,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:389,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:391,1
    - Dst: EVP_PKEY_sign
      Src: /src/openssl/fuzz/slh-dsa.c:391,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:393,1
    - Dst: EVP_PKEY_verify_message_init
      Src: /src/openssl/fuzz/slh-dsa.c:393,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:394,1
    - Dst: EVP_PKEY_verify
      Src: /src/openssl/fuzz/slh-dsa.c:394,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/slh-dsa.c:397,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/fuzz/slh-dsa.c:398,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/slh-dsa.c:399,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - key2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 306
    functionDepth: 8
    functionLinenumber: 306
    functionLinenumberEnd: 400
    functionName: slh_dsa_sign_verify
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_SIGNATURE_fetch
    - OPENSSL_zalloc
    - OSSL_PARAM_construct_octet_string
    - EVP_SIGNATURE_free
    - select_keytype
    - OPENSSL_assert
    - EVP_PKEY_verify
    - EVP_PKEY_verify_message_init
    - OSSL_PARAM_construct_int
    - slh_dsa_gen_key
    - EVP_PKEY_sign_message_init
    - OPENSSL_free
    - consume_uint8t
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_PKEY_sign
    linkageType: ''
    returnType: void
    signature: "void slh_dsa_sign_verify(uint8_t **buf, size_t *len, void *key1,\n
      \                               void *key2, void **out1, void **out2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:427,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/fuzz/slh-dsa.c:427,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/slh-dsa.c:429,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:430,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:432,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/fuzz/slh-dsa.c:432,1
    - Dst: EVP_PKEY_new::EVP_PKEY_new
      Src: /src/openssl/fuzz/slh-dsa.c:434,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:435,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:436,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/fuzz/slh-dsa.c:436,1
    - Dst: EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
      Src: /src/openssl/fuzz/slh-dsa.c:436,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/slh-dsa.c:447,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/fuzz/slh-dsa.c:448,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:453,1
    - Dst: EVP_PKEY_todata
      Src: /src/openssl/fuzz/slh-dsa.c:453,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/fuzz/slh-dsa.c:455,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:456,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:458,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/fuzz/slh-dsa.c:458,1
    - Dst: EVP_PKEY_new::EVP_PKEY_new
      Src: /src/openssl/fuzz/slh-dsa.c:460,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:461,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:462,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/fuzz/slh-dsa.c:462,1
    - Dst: EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
      Src: /src/openssl/fuzz/slh-dsa.c:462,1
    - Dst: EVP_PKEY_eq
      Src: /src/openssl/fuzz/slh-dsa.c:470,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/slh-dsa.c:471,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/fuzz/slh-dsa.c:473,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/fuzz/slh-dsa.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 6
    argNames:
    - buf
    - len
    - key1
    - key2
    - out1
    - out2
    argTypes:
    - uint8_t**
    - size_t*
    - void*
    - void*
    - void**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 417
    functionDepth: 6
    functionLinenumber: 417
    functionLinenumberEnd: 476
    functionName: slh_dsa_export_import
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    - EVP_PKEY_KEYPAIR::EVP_PKEY_KEYPAIR
    - EVP_PKEY_fromdata
    - OSSL_PARAM_free
    - OPENSSL_assert
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_todata
    - EVP_PKEY_new::EVP_PKEY_new
    - EVP_PKEY_fromdata_init
    linkageType: ''
    returnType: void
    signature: "void slh_dsa_export_import(uint8_t **buf, size_t *len, void *key1,\n
      \                                 void *key2, void **out1, void **out2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: consume_uint8t
      Src: /src/openssl/fuzz/slh-dsa.c:583,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/slh-dsa.c:590,1
    - Dst: setup
      Src: /src/openssl/fuzz/slh-dsa.c:596,1
    - Dst: doit
      Src: /src/openssl/fuzz/slh-dsa.c:598,1
    - Dst: cleanup
      Src: /src/openssl/fuzz/slh-dsa.c:600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 570
    functionDepth: 9
    functionLinenumber: 570
    functionLinenumberEnd: 603
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 3
    functionsReached:
    - doit
    - setup
    - OSSL_NELEM
    - consume_uint8t
    - cleanup
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanup
      Src: /src/openssl/fuzz/slh-dsa.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 5
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/slh-dsa.c
    functionUses: 2
    functionsReached:
    - OPENSSL_cleanup
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/quic-lcidm.c:20,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/quic-lcidm.c:21,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/quic-lcidm.c:22,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/quic-lcidm.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 8
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/quic-lcidm.c
    functionUses: 3
    functionsReached:
    - OPENSSL_init_ssl
    - ERR_clear_error
    - FuzzerSetRand
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/fuzz/quic-lcidm.c:57,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/fuzz/quic-lcidm.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pkt
    - cid
    argTypes:
    - PACKET*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: get_cid
    functionSourceFile: /src/openssl/fuzz/quic-lcidm.c
    functionUses: 1
    functionsReached:
    - PACKET_copy_bytes
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: int get_cid(PACKET *pkt, QUIC_CONN_ID *cid)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/fuzz/quic-lcidm.c:79,1
    - Dst: PACKET_get_1
      Src: /src/openssl/fuzz/quic-lcidm.c:82,1
    - Dst: ossl_quic_lcidm_new
      Src: /src/openssl/fuzz/quic-lcidm.c:88,1
    - Dst: PACKET_remaining
      Src: /src/openssl/fuzz/quic-lcidm.c:93,1
    - Dst: PACKET_get_1
      Src: /src/openssl/fuzz/quic-lcidm.c:94,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-lcidm.c:102,1
    - Dst: get_cid
      Src: /src/openssl/fuzz/quic-lcidm.c:103,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/fuzz/quic-lcidm.c:108,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-lcidm.c:113,1
    - Dst: ossl_quic_lcidm_retire_odcid
      Src: /src/openssl/fuzz/quic-lcidm.c:118,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-lcidm.c:122,1
    - Dst: ossl_quic_lcidm_generate_initial
      Src: /src/openssl/fuzz/quic-lcidm.c:127,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-lcidm.c:132,1
    - Dst: ossl_quic_lcidm_generate
      Src: /src/openssl/fuzz/quic-lcidm.c:137,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-lcidm.c:142,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-lcidm.c:143,1
    - Dst: ossl_quic_lcidm_retire
      Src: /src/openssl/fuzz/quic-lcidm.c:148,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/fuzz/quic-lcidm.c:155,1
    - Dst: ossl_quic_lcidm_cull
      Src: /src/openssl/fuzz/quic-lcidm.c:160,1
    - Dst: get_cid
      Src: /src/openssl/fuzz/quic-lcidm.c:164,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/fuzz/quic-lcidm.c:169,1
    - Dst: ossl_quic_lcidm_free
      Src: /src/openssl/fuzz/quic-lcidm.c:179,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 88
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 181
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/quic-lcidm.c
    functionUses: 3
    functionsReached:
    - ossl_quic_lcidm_new
    - ossl_quic_lcidm_free
    - PACKET_buf_init
    - ossl_quic_lcidm_generate
    - ossl_quic_lcidm_generate_initial
    - ossl_quic_lcidm_cull
    - ossl_quic_lcidm_retire_odcid
    - PACKET_get_1
    - ossl_quic_lcidm_retire
    - PACKET_remaining
    - ossl_quic_lcidm_lookup
    - get_cid
    - PACKET_get_net_8
    - ossl_quic_lcidm_enrol_odcid
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/quic-lcidm.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/quic-lcidm.c
    functionUses: 2
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/punycode.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/fuzz/punycode.c:26,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/fuzz/punycode.c:29,1
    - Dst: ossl_punycode_decode
      Src: /src/openssl/fuzz/punycode.c:31,1
    - Dst: memcpy
      Src: /src/openssl/fuzz/punycode.c:32,1
    - Dst: ossl_a2ulabel
      Src: /src/openssl/fuzz/punycode.c:34,1
    - Dst: OPENSSL_free
      Src: /src/openssl/fuzz/punycode.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 38
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/punycode.c
    functionUses: 3
    functionsReached:
    - ossl_a2ulabel
    - memcpy
    - OPENSSL_free
    - ossl_punycode_decode
    - OSSL_NELEM
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/punycode.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/cmp.c:22,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/cmp.c:23,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/cmp.c:24,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/cmp.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 8
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 3
    functionsReached:
    - CRYPTO_free_ex_index
    - ERR_clear_error
    - FuzzerSetRand
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_CMP_MSG_dup
      Src: /src/openssl/fuzz/cmp.c:35,1
    - Dst: OSSL_CMP_CTX_get_transfer_cb_arg
      Src: /src/openssl/fuzz/cmp.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: transfer_cb
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached:
    - OSSL_CMP_MSG_dup
    - OSSL_CMP_CTX_get_transfer_cb_arg
    linkageType: ''
    returnType: OSSL_CMP_MSG
    signature: OSSL_CMP_MSG *transfer_cb(OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - func
    - file
    - line
    - level
    - msg
    argTypes:
    - char*
    - char*
    - int
    - OSSL_CMP_severity
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: print_noop
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int print_noop(const char *func, const char *file, int line,\n                      OSSL_CMP_severity
      level, const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - rep
    - invalid_protection
    - expected_type
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: allow_unprotected
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int allow_unprotected(const OSSL_CMP_CTX *ctx, const OSSL_CMP_MSG
      *rep,\n                             int invalid_protection, int expected_type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_new
      Src: /src/openssl/fuzz/cmp.c:53,1
    - Dst: ASN1_INTEGER_new
      Src: /src/openssl/fuzz/cmp.c:54,1
    - Dst: X509_new
      Src: /src/openssl/fuzz/cmp.c:59,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/fuzz/cmp.c:60,1
    - Dst: X509_set_issuer_name
      Src: /src/openssl/fuzz/cmp.c:63,1
    - Dst: X509_set_serialNumber
      Src: /src/openssl/fuzz/cmp.c:64,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb
      Src: /src/openssl/fuzz/cmp.c:67,1
    - Dst: OSSL_CMP_CTX_set_transfer_cb_arg
      Src: /src/openssl/fuzz/cmp.c:68,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/fuzz/cmp.c:69,1
    - Dst: OSSL_CMP_exec_IR_ses
      Src: /src/openssl/fuzz/cmp.c:73,1
    - Dst: OSSL_CMP_exec_CR_ses
      Src: /src/openssl/fuzz/cmp.c:76,1
    - Dst: OSSL_CMP_exec_P10CR_ses
      Src: /src/openssl/fuzz/cmp.c:77,1
    - Dst: OSSL_CMP_exec_KUR_ses
      Src: /src/openssl/fuzz/cmp.c:80,1
    - Dst: OSSL_CMP_try_certreq
      Src: /src/openssl/fuzz/cmp.c:84,1
    - Dst: OSSL_CMP_exec_RR_ses
      Src: /src/openssl/fuzz/cmp.c:87,1
    - Dst: sk_OSSL_CMP_ITAV_pop_free
      Src: /src/openssl/fuzz/cmp.c:90,1
    - Dst: OSSL_CMP_exec_GENM_ses
      Src: /src/openssl/fuzz/cmp.c:90,1
    - Dst: ossl_cmp_msg_check_update
      Src: /src/openssl/fuzz/cmp.c:94,1
    - Dst: X509_NAME_free
      Src: /src/openssl/fuzz/cmp.c:98,1
    - Dst: ASN1_INTEGER_free
      Src: /src/openssl/fuzz/cmp.c:99,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ctx
    - msg
    argTypes:
    - OSSL_CMP_CTX*
    - OSSL_CMP_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 51
    functionDepth: 23
    functionLinenumber: 51
    functionLinenumberEnd: 100
    functionName: cmp_client_process_response
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 0
    functionsReached:
    - X509_set_serialNumber
    - OSSL_CMP_exec_IR_ses
    - OSSL_CMP_CTX_set_transfer_cb_arg
    - OSSL_CMP_CTX_set_log_cb
    - X509_new
    - OSSL_CMP_CTX_set1_secretValue
    - ASN1_INTEGER_free
    - X509_NAME_free
    - ossl_cmp_msg_check_update
    - OSSL_CMP_exec_P10CR_ses
    - ASN1_INTEGER_new
    - X509_set_issuer_name
    - OSSL_CMP_exec_KUR_ses
    - X509_NAME_new
    - sk_OSSL_CMP_ITAV_pop_free
    - OSSL_CMP_exec_CR_ses
    - OSSL_CMP_exec_GENM_ses
    - OSSL_CMP_exec_RR_ses
    - OSSL_CMP_try_certreq
    - OSSL_CMP_CTX_set_transfer_cb
    linkageType: ''
    returnType: void
    signature: void cmp_client_process_response(OSSL_CMP_CTX *ctx, OSSL_CMP_MSG *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/fuzz/cmp.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - srv_ctx
    - cert_req
    - certReqId
    - crm
    - p10cr
    - certOut
    - chainOut
    - caPubs
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - int
    - OSSL_CRMF_MSG*
    - X509_REQ*
    - X509**
    - STACK_OF**
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: process_cert_request
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKISI
    signature: "OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,\n
      \                                           const OSSL_CMP_MSG *cert_req,\n
      \                                           int certReqId,\n                                            const
      OSSL_CRMF_MSG *crm,\n                                            const X509_REQ
      *p10cr,\n                                            X509 **certOut,\n                                            STACK_OF(X509)
      **chainOut,\n                                            STACK_OF(X509) **caPubs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/fuzz/cmp.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - srv_ctx
    - rr
    - issuer
    - serial
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - X509_NAME*
    - ASN1_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: process_rr
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: OSSL_CMP_PKISI
    signature: "OSSL_CMP_PKISI *process_rr(OSSL_CMP_SRV_CTX *srv_ctx,\n                                  const
      OSSL_CMP_MSG *rr,\n                                  const X509_NAME *issuer,\n
      \                                 const ASN1_INTEGER *serial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/fuzz/cmp.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - srv_ctx
    - genm
    - in
    - out
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - STACK_OF*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: process_genm
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int process_genm(OSSL_CMP_SRV_CTX *srv_ctx,\n                        const
      OSSL_CMP_MSG *genm,\n                        const STACK_OF(OSSL_CMP_ITAV) *in,\n
      \                       STACK_OF(OSSL_CMP_ITAV) **out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/fuzz/cmp.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - srv_ctx
    - error
    - statusInfo
    - errorCode
    - errorDetails
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - OSSL_CMP_PKISI*
    - ASN1_INTEGER*
    - OSSL_CMP_PKIFREETEXT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: process_error
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: void
    signature: "void process_error(OSSL_CMP_SRV_CTX *srv_ctx, const OSSL_CMP_MSG *error,\n
      \                         const OSSL_CMP_PKISI *statusInfo,\n                          const
      ASN1_INTEGER *errorCode,\n                          const OSSL_CMP_PKIFREETEXT
      *errorDetails)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/fuzz/cmp.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - srv_ctx
    - certConf
    - certReqId
    - certHash
    - si
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - int
    - ASN1_OCTET_STRING*
    - OSSL_CMP_PKISI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: process_certConf
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int process_certConf(OSSL_CMP_SRV_CTX *srv_ctx,\n                            const
      OSSL_CMP_MSG *certConf, int certReqId,\n                            const ASN1_OCTET_STRING
      *certHash,\n                            const OSSL_CMP_PKISI *si)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/fuzz/cmp.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - srv_ctx
    - pollReq
    - certReqId
    - certReq
    - check_after
    argTypes:
    - OSSL_CMP_SRV_CTX*
    - OSSL_CMP_MSG*
    - int
    - OSSL_CMP_MSG**
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: process_pollReq
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int process_pollReq(OSSL_CMP_SRV_CTX *srv_ctx,\n                           const
      OSSL_CMP_MSG *pollReq, int certReqId,\n                           OSSL_CMP_MSG
      **certReq, int64_t *check_after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - OSSL_CMP_SRV_CTX *srv_ctx
    - ASN1_OCTET_STRING *id
    argTypes:
    - ossl_unused
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: clean_transaction
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int clean_transaction(ossl_unused OSSL_CMP_SRV_CTX *srv_ctx,\n                             ossl_unused
      const ASN1_OCTET_STRING *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - OSSL_CMP_SRV_CTX *srv_ctx
    - OSSL_CMP_MSG *req
    argTypes:
    - ossl_unused
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: delayed_delivery
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int delayed_delivery(ossl_unused OSSL_CMP_SRV_CTX *srv_ctx,\n                            ossl_unused
      const OSSL_CMP_MSG *req)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/fuzz/cmp.c:178,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/cmp.c:178,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/cmp.c:179,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/cmp.c:179,1
    - Dst: d2i_OSSL_CMP_MSG_bio
      Src: /src/openssl/fuzz/cmp.c:180,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/cmp.c:182,1
    - Dst: BIO_s_null
      Src: /src/openssl/fuzz/cmp.c:182,1
    - Dst: OSSL_CMP_SRV_CTX_new
      Src: /src/openssl/fuzz/cmp.c:183,1
    - Dst: OSSL_CMP_CTX_new
      Src: /src/openssl/fuzz/cmp.c:184,1
    - Dst: i2d_OSSL_CMP_MSG_bio
      Src: /src/openssl/fuzz/cmp.c:186,1
    - Dst: ASN1_item_print
      Src: /src/openssl/fuzz/cmp.c:187,1
    - Dst: ASN1_ITEM_rptr
      Src: /src/openssl/fuzz/cmp.c:188,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/cmp.c:189,1
    - Dst: cmp_client_process_response
      Src: /src/openssl/fuzz/cmp.c:192,1
    - Dst: OSSL_CMP_CTX_set_log_cb
      Src: /src/openssl/fuzz/cmp.c:194,1
    - Dst: OSSL_CMP_SRV_CTX_get0_cmp_ctx
      Src: /src/openssl/fuzz/cmp.c:194,1
    - Dst: OSSL_CMP_SRV_CTX_init
      Src: /src/openssl/fuzz/cmp.c:196,1
    - Dst: OSSL_CMP_SRV_CTX_init_trans
      Src: /src/openssl/fuzz/cmp.c:199,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/fuzz/cmp.c:201,1
    - Dst: OSSL_CMP_SRV_process_request
      Src: /src/openssl/fuzz/cmp.c:201,1
    - Dst: OSSL_CMP_CTX_free
      Src: /src/openssl/fuzz/cmp.c:203,1
    - Dst: OSSL_CMP_SRV_CTX_free
      Src: /src/openssl/fuzz/cmp.c:204,1
    - Dst: OSSL_CMP_MSG_free
      Src: /src/openssl/fuzz/cmp.c:205,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/cmp.c:208,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/cmp.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 170
    functionDepth: 24
    functionLinenumber: 170
    functionLinenumberEnd: 212
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 3
    functionsReached:
    - OSSL_CMP_CTX_set_log_cb
    - ASN1_item_print
    - BIO_s_mem
    - OSSL_CMP_MSG_free
    - OSSL_CMP_SRV_process_request
    - BIO_write
    - BIO_new
    - OSSL_CMP_SRV_CTX_new
    - OSSL_CMP_SRV_CTX_init_trans
    - ERR_clear_error
    - d2i_OSSL_CMP_MSG_bio
    - OSSL_CMP_CTX_free
    - i2d_OSSL_CMP_MSG_bio
    - OPENSSL_assert
    - BIO_free
    - OSSL_CMP_SRV_CTX_get0_cmp_ctx
    - OSSL_CMP_CTX_new
    - cmp_client_process_response
    - BIO_s_null
    - ASN1_ITEM_rptr
    - OSSL_CMP_SRV_CTX_init
    - OSSL_CMP_SRV_CTX_free
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/cmp.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/cmp.c
    functionUses: 2
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: TIME_IMPL
    functionSourceFile: /src/openssl/fuzz/dtlsclient.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIME_IMPL(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/fuzz/dtlsclient.c:41,1
    - Dst: FuzzerSetRand
      Src: /src/openssl/fuzz/dtlsclient.c:43,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/fuzz/dtlsclient.c:44,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/fuzz/dtlsclient.c:45,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/dtlsclient.c:46,1
    - Dst: CRYPTO_free_ex_index
      Src: /src/openssl/fuzz/dtlsclient.c:47,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/fuzz/dtlsclient.c:48,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/fuzz/dtlsclient.c:49,1
    - Dst: sk_SSL_COMP_sort
      Src: /src/openssl/fuzz/dtlsclient.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 8
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: FuzzerInitialize
    functionSourceFile: /src/openssl/fuzz/dtlsclient.c
    functionUses: 3
    functionsReached:
    - SSL_COMP_get_compression_methods
    - ERR_clear_error
    - sk_SSL_COMP_sort
    - CRYPTO_free_ex_index
    - STACK_OF
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - OPENSSL_init_crypto
    - OPENSSL_init_ssl
    - FuzzerSetRand
    linkageType: ''
    returnType: int
    signature: int FuzzerInitialize(int *argc, char ***argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/openssl/fuzz/dtlsclient.c:67,1
    - Dst: DTLS_client_method
      Src: /src/openssl/fuzz/dtlsclient.c:67,1
    - Dst: SSL_new
      Src: /src/openssl/fuzz/dtlsclient.c:71,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsclient.c:74,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/fuzz/dtlsclient.c:74,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsclient.c:75,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/fuzz/dtlsclient.c:75,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/fuzz/dtlsclient.c:76,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsclient.c:77,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsclient.c:77,1
    - Dst: BIO_new
      Src: /src/openssl/fuzz/dtlsclient.c:80,1
    - Dst: BIO_s_mem
      Src: /src/openssl/fuzz/dtlsclient.c:80,1
    - Dst: BIO_free
      Src: /src/openssl/fuzz/dtlsclient.c:82,1
    - Dst: SSL_set_bio
      Src: /src/openssl/fuzz/dtlsclient.c:85,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/fuzz/dtlsclient.c:86,1
    - Dst: OPENSSL_assert
      Src: /src/openssl/fuzz/dtlsclient.c:87,1
    - Dst: BIO_write
      Src: /src/openssl/fuzz/dtlsclient.c:87,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/fuzz/dtlsclient.c:88,1
    - Dst: SSL_read
      Src: /src/openssl/fuzz/dtlsclient.c:92,1
    - Dst: SSL_free
      Src: /src/openssl/fuzz/dtlsclient.c:98,1
    - Dst: ERR_clear_error
      Src: /src/openssl/fuzz/dtlsclient.c:99,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/fuzz/dtlsclient.c:100,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 103
    functionName: FuzzerTestOneInput
    functionSourceFile: /src/openssl/fuzz/dtlsclient.c
    functionUses: 3
    functionsReached:
    - BIO_write
    - BIO_new
    - SSL_do_handshake
    - SSL_set_connect_state
    - SSL_set_min_proto_version
    - SSL_free
    - SSL_CTX_free
    - ERR_clear_error
    - OPENSSL_assert
    - BIO_free
    - SSL_read
    - SSL_set_tlsext_host_name
    - DTLS_client_method
    - SSL_new
    - SSL_CTX_new
    - BIO_s_mem
    - SSL_set_cipher_list
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int FuzzerTestOneInput(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzerClearRand
      Src: /src/openssl/fuzz/dtlsclient.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: FuzzerCleanup
    functionSourceFile: /src/openssl/fuzz/dtlsclient.c
    functionUses: 2
    functionsReached:
    - FuzzerClearRand
    linkageType: ''
    returnType: void
    signature: void FuzzerCleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: SSL_FLAG_TBL
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_FLAG_TBL(str, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: SSL_FLAG_TBL_SRV
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_FLAG_TBL_SRV(str, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: SSL_FLAG_TBL_CLI
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_FLAG_TBL_CLI(str, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: SSL_FLAG_TBL_INV
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_FLAG_TBL_INV(str, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: SSL_FLAG_TBL_SRV_INV
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_FLAG_TBL_SRV_INV(str, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: SSL_FLAG_TBL_CERT
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_FLAG_TBL_CERT(str, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: SSL_FLAG_VFY_CLI
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_FLAG_VFY_CLI(str, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: SSL_FLAG_VFY_SRV
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_FLAG_VFY_SRV(str, flag)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - cctx
    - name_flags
    - option_value
    - onoff
    argTypes:
    - SSL_CONF_CTX*
    - unsigned int
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: ssl_set_option
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ssl_set_option(SSL_CONF_CTX *cctx, unsigned int name_flags,\n
      \                          uint64_t option_value, int onoff)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/openssl/ssl/ssl_conf.c:154,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/ssl_conf.c:157,1
    - Dst: ssl_set_option
      Src: /src/openssl/ssl/ssl_conf.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - cctx
    - tbl
    - name
    - namelen
    - onoff
    argTypes:
    - SSL_CONF_CTX*
    - ssl_flag_tbl*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: ssl_match_option
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OPENSSL_strncasecmp
    - ssl_set_option
    linkageType: ''
    returnType: int
    signature: "int ssl_match_option(SSL_CONF_CTX *cctx, const ssl_flag_tbl *tbl,\n
      \                           const char *name, int namelen, int onoff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_match_option
      Src: /src/openssl/ssl/ssl_conf.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - elem
    - len
    - usr
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 191
    functionName: ssl_set_option_list
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - ssl_match_option
    linkageType: ''
    returnType: int
    signature: int ssl_set_option_list(const char *elem, int len, void *usr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set1_sigalgs_list
      Src: /src/openssl/ssl/ssl_conf.c:198,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/openssl/ssl/ssl_conf.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: cmd_SignatureAlgorithms
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set1_sigalgs_list
    - SSL_set1_sigalgs_list
    linkageType: ''
    returnType: int
    signature: int cmd_SignatureAlgorithms(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set1_client_sigalgs_list
      Src: /src/openssl/ssl/ssl_conf.c:210,1
    - Dst: SSL_CTX_set1_client_sigalgs_list
      Src: /src/openssl/ssl/ssl_conf.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: cmd_ClientSignatureAlgorithms
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_set1_client_sigalgs_list
    - SSL_CTX_set1_client_sigalgs_list
    linkageType: ''
    returnType: int
    signature: int cmd_ClientSignatureAlgorithms(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/ssl/ssl_conf.c:221,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/ssl/ssl_conf.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: cmd_Groups
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set1_groups_list
    - SSL_set1_groups_list
    linkageType: ''
    returnType: int
    signature: int cmd_Groups(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_Groups
      Src: /src/openssl/ssl/ssl_conf.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: cmd_Curves
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - cmd_Groups
    linkageType: ''
    returnType: int
    signature: int cmd_Curves(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/ssl_conf.c:241,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/ssl_conf.c:242,1
    - Dst: strcmp
      Src: /src/openssl/ssl/ssl_conf.c:245,1
    - Dst: strchr
      Src: /src/openssl/ssl/ssl_conf.c:249,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/ssl/ssl_conf.c:253,1
    - Dst: SSL_set1_groups_list
      Src: /src/openssl/ssl/ssl_conf.c:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 258
    functionName: cmd_ECDHParameters
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strcasecmp
    - SSL_set1_groups_list
    - strcmp
    - SSL_CTX_set1_groups_list
    linkageType: ''
    returnType: int
    signature: int cmd_ECDHParameters(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/openssl/ssl/ssl_conf.c:265,1
    - Dst: SSL_set_cipher_list
      Src: /src/openssl/ssl/ssl_conf.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: cmd_CipherString
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_set_cipher_list
    linkageType: ''
    returnType: int
    signature: int cmd_CipherString(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/ssl/ssl_conf.c:276,1
    - Dst: SSL_set_ciphersuites
      Src: /src/openssl/ssl/ssl_conf.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: cmd_Ciphersuites
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_set_ciphersuites
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int cmd_Ciphersuites(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:285,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:286,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:287,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:288,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:289,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:290,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:291,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:292,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:293,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:296,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/ssl_conf.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 298
    functionName: cmd_Protocol
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - SSL_FLAG_TBL_INV
    - CONF_parse_list
    linkageType: ''
    returnType: int
    signature: int cmd_Protocol(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:329,1
    - Dst: strcmp
      Src: /src/openssl/ssl/ssl_conf.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 335
    functionName: protocol_from_string
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 1
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int protocol_from_string(const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: protocol_from_string
      Src: /src/openssl/ssl/ssl_conf.c:348,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_conf.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cctx
    - value
    - bound
    argTypes:
    - SSL_CONF_CTX*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 351
    functionName: min_max_proto
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - ssl_set_version_bound
    - protocol_from_string
    linkageType: ''
    returnType: int
    signature: int min_max_proto(SSL_CONF_CTX *cctx, const char *value, int *bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_max_proto
      Src: /src/openssl/ssl/ssl_conf.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: cmd_MinProtocol
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - min_max_proto
    linkageType: ''
    returnType: int
    signature: int cmd_MinProtocol(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min_max_proto
      Src: /src/openssl/ssl/ssl_conf.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: cmd_MaxProtocol
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - min_max_proto
    linkageType: ''
    returnType: int
    signature: int cmd_MaxProtocol(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:380,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:381,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:383,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:384,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/openssl/ssl/ssl_conf.c:385,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/openssl/ssl/ssl_conf.c:386,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/openssl/ssl/ssl_conf.c:388,1
    - Dst: SSL_FLAG_TBL_SRV
      Src: /src/openssl/ssl/ssl_conf.c:389,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:390,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:392,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:394,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:396,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:397,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:398,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:399,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:400,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:401,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:402,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:403,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:404,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:405,1
    - Dst: SSL_FLAG_TBL_CERT
      Src: /src/openssl/ssl/ssl_conf.c:406,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:407,1
    - Dst: SSL_FLAG_TBL_INV
      Src: /src/openssl/ssl/ssl_conf.c:408,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:409,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:410,1
    - Dst: SSL_FLAG_TBL
      Src: /src/openssl/ssl/ssl_conf.c:411,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:416,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/ssl_conf.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 418
    functionName: cmd_Options
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_FLAG_TBL_SRV
    - SSL_FLAG_TBL_CERT
    - CONF_parse_list
    - OSSL_NELEM
    - SSL_FLAG_TBL
    - SSL_FLAG_TBL_INV
    linkageType: ''
    returnType: int
    signature: int cmd_Options(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_FLAG_VFY_CLI
      Src: /src/openssl/ssl/ssl_conf.c:423,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/openssl/ssl/ssl_conf.c:424,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/openssl/ssl/ssl_conf.c:425,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/openssl/ssl/ssl_conf.c:427,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/openssl/ssl/ssl_conf.c:428,1
    - Dst: SSL_FLAG_VFY_SRV
      Src: /src/openssl/ssl/ssl_conf.c:430,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:437,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/ssl_conf.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 439
    functionName: cmd_VerifyMode
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - SSL_FLAG_VFY_CLI
    - CONF_parse_list
    - SSL_FLAG_VFY_SRV
    linkageType: ''
    returnType: int
    signature: int cmd_VerifyMode(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/openssl/ssl/ssl_conf.c:446,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_conf.c:450,1
    - Dst: SSL_use_certificate_chain_file
      Src: /src/openssl/ssl/ssl_conf.c:453,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:467,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_conf.c:468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 475
    functionName: cmd_Certificate
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_use_certificate_chain_file
    - SSL_CTX_use_certificate_chain_file
    - OPENSSL_free
    - OPENSSL_strdup
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int cmd_Certificate(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/ssl/ssl_conf.c:483,1
    - Dst: SSL_use_PrivateKey_file
      Src: /src/openssl/ssl/ssl_conf.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: cmd_PrivateKey
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_use_PrivateKey_file
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: int cmd_PrivateKey(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_serverinfo_file
      Src: /src/openssl/ssl/ssl_conf.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 495
    functionName: cmd_ServerInfoFile
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_use_serverinfo_file
    linkageType: ''
    returnType: int
    signature: int cmd_ServerInfoFile(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_conf.c:511,1
    - Dst: X509_STORE_new
      Src: /src/openssl/ssl/ssl_conf.c:527,1
    - Dst: X509_STORE_load_file_ex
      Src: /src/openssl/ssl/ssl_conf.c:532,1
    - Dst: X509_STORE_load_path
      Src: /src/openssl/ssl/ssl_conf.c:534,1
    - Dst: X509_STORE_load_store_ex
      Src: /src/openssl/ssl/ssl_conf.c:536,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - cctx
    - CAfile
    - CApath
    - CAstore
    - verify_store
    argTypes:
    - SSL_CONF_CTX*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 540
    functionName: do_store
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - X509_STORE_new
    - X509_STORE_load_file_ex
    - X509_STORE_load_store_ex
    - X509_STORE_load_path
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int do_store(SSL_CONF_CTX *cctx,\n                    const char *CAfile,
      const char *CApath, const char *CAstore,\n                    int verify_store)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/openssl/ssl/ssl_conf.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 5
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: cmd_ChainCAPath
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: int cmd_ChainCAPath(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/openssl/ssl/ssl_conf.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 5
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: cmd_ChainCAFile
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: int cmd_ChainCAFile(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/openssl/ssl/ssl_conf.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 5
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: cmd_ChainCAStore
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: int cmd_ChainCAStore(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/openssl/ssl/ssl_conf.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 5
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: cmd_VerifyCAPath
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: int cmd_VerifyCAPath(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/openssl/ssl/ssl_conf.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 5
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: cmd_VerifyCAFile
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: int cmd_VerifyCAFile(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_store
      Src: /src/openssl/ssl/ssl_conf.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 5
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: cmd_VerifyCAStore
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - do_store
    linkageType: ''
    returnType: int
    signature: int cmd_VerifyCAStore(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/ssl/ssl_conf.c:575,1
    - Dst: SSL_add_file_cert_subjects_to_stack
      Src: /src/openssl/ssl/ssl_conf.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: cmd_RequestCAFile
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_add_file_cert_subjects_to_stack
    - sk_X509_NAME_new_null
    linkageType: ''
    returnType: int
    signature: int cmd_RequestCAFile(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_RequestCAFile
      Src: /src/openssl/ssl/ssl_conf.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: cmd_ClientCAFile
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - cmd_RequestCAFile
    linkageType: ''
    returnType: int
    signature: int cmd_ClientCAFile(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/ssl/ssl_conf.c:589,1
    - Dst: SSL_add_dir_cert_subjects_to_stack
      Src: /src/openssl/ssl/ssl_conf.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: cmd_RequestCAPath
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_add_dir_cert_subjects_to_stack
    - sk_X509_NAME_new_null
    linkageType: ''
    returnType: int
    signature: int cmd_RequestCAPath(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_RequestCAPath
      Src: /src/openssl/ssl/ssl_conf.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: cmd_ClientCAPath
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - cmd_RequestCAPath
    linkageType: ''
    returnType: int
    signature: int cmd_ClientCAPath(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/ssl/ssl_conf.c:603,1
    - Dst: SSL_add_store_cert_subjects_to_stack
      Src: /src/openssl/ssl/ssl_conf.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 607
    functionName: cmd_RequestCAStore
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_add_store_cert_subjects_to_stack
    - sk_X509_NAME_new_null
    linkageType: ''
    returnType: int
    signature: int cmd_RequestCAStore(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_RequestCAStore
      Src: /src/openssl/ssl/ssl_conf.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: cmd_ClientCAStore
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - cmd_RequestCAStore
    linkageType: ''
    returnType: int
    signature: int cmd_ClientCAStore(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_conf.c:623,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_conf.c:623,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_conf.c:626,1
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/openssl/ssl/ssl_conf.c:630,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_conf.c:635,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/openssl/ssl/ssl_conf.c:636,1
    - Dst: BIO_eof
      Src: /src/openssl/ssl/ssl_conf.c:638,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/openssl/ssl/ssl_conf.c:639,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/ssl_conf.c:642,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_conf.c:645,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/ssl/ssl_conf.c:651,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/openssl/ssl/ssl_conf.c:655,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_conf.c:659,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_conf.c:660,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 614
    functionDepth: 12
    functionLinenumber: 614
    functionLinenumberEnd: 662
    functionName: cmd_DHParameters
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_set0_tmp_dh_pkey
    - BIO_new
    - OSSL_DECODER_CTX_free
    - ERR_pop_to_mark
    - BIO_free
    - ERR_set_mark
    - BIO_read_filename
    - BIO_eof
    - OSSL_DECODER_CTX_new_for_pkey
    - EVP_PKEY_free
    - BIO_s_file
    - OSSL_DECODER_from_bio
    - SSL_CTX_set0_tmp_dh_pkey
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int cmd_DHParameters(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_conf.c:677,1
    - Dst: strstr
      Src: /src/openssl/ssl/ssl_conf.c:680,1
    - Dst: OPENSSL_strtoul
      Src: /src/openssl/ssl/ssl_conf.c:685,1
    - Dst: OPENSSL_strtoul
      Src: /src/openssl/ssl/ssl_conf.c:688,1
    - Dst: SSL_CTX_set_block_padding_ex
      Src: /src/openssl/ssl/ssl_conf.c:698,1
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/ssl/ssl_conf.c:701,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:704,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 706
    functionName: cmd_RecordPadding
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_set_block_padding_ex
    - strstr
    - OPENSSL_strtoul
    - SSL_CTX_set_block_padding_ex
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int cmd_RecordPadding(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/openssl/ssl/ssl_conf.c:712,1
    - Dst: SSL_CTX_set_num_tickets
      Src: /src/openssl/ssl/ssl_conf.c:716,1
    - Dst: SSL_set_num_tickets
      Src: /src/openssl/ssl/ssl_conf.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 721
    functionName: cmd_NumTickets
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - SSL_set_num_tickets
    - atoi
    - SSL_CTX_set_num_tickets
    linkageType: ''
    returnType: int
    signature: int cmd_NumTickets(SSL_CONF_CTX *cctx, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - cmdopt
    - ','
    - flags
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: SSL_CONF_CMD
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONF_CMD(name, cmdopt, flags, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - cmdopt
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 738
    functionName: SSL_CONF_CMD_STRING
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONF_CMD_STRING(name, cmdopt, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 741
    functionName: SSL_CONF_CMD_SWITCH
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONF_CMD_SWITCH(name, flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_conf.c:885,1
    - Dst: strncmp
      Src: /src/openssl/ssl/ssl_conf.c:888,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/ssl_conf.c:891,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - cctx
    - pcmd
    argTypes:
    - SSL_CONF_CTX*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 900
    functionName: ssl_conf_cmd_skip_prefix
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strncasecmp
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int ssl_conf_cmd_skip_prefix(SSL_CONF_CTX *cctx, const char **pcmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - t
    argTypes:
    - SSL_CONF_CTX*
    - ssl_conf_cmd_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 915
    functionName: ssl_conf_cmd_allowed
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_conf_cmd_allowed(SSL_CONF_CTX *cctx, const ssl_conf_cmd_tbl
      *t)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:926,1
    - Dst: ssl_conf_cmd_allowed
      Src: /src/openssl/ssl/ssl_conf.c:927,1
    - Dst: strcmp
      Src: /src/openssl/ssl/ssl_conf.c:929,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/ssl_conf.c:933,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - cctx
    - cmd
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 939
    functionName: ssl_conf_cmd_lookup
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_NELEM
    - ssl_conf_cmd_allowed
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: ssl_conf_cmd_tbl
    signature: "ssl_conf_cmd_tbl *ssl_conf_cmd_lookup(SSL_CONF_CTX *cctx,\n                                                   const
      char *cmd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_conf.c:948,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_conf.c:949,1
    - Dst: ssl_set_option
      Src: /src/openssl/ssl/ssl_conf.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - cmd
    argTypes:
    - SSL_CONF_CTX*
    - ssl_conf_cmd_tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 956
    functionName: ctrl_switch_option
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - ssl_set_option
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ctrl_switch_option(SSL_CONF_CTX *cctx, const ssl_conf_cmd_tbl *cmd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_conf.c:962,1
    - Dst: ssl_conf_cmd_skip_prefix
      Src: /src/openssl/ssl/ssl_conf.c:966,1
    - Dst: ssl_conf_cmd_lookup
      Src: /src/openssl/ssl/ssl_conf.c:969,1
    - Dst: ctrl_switch_option
      Src: /src/openssl/ssl/ssl_conf.c:975,1
    - Dst: ssl_conf_cmd_tbl*::cmd
      Src: /src/openssl/ssl/ssl_conf.c:979,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_conf.c:987,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_conf.c:995,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - cctx
    - cmd
    - value
    argTypes:
    - SSL_CONF_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 998
    functionName: SSL_CONF_cmd
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 5
    functionsReached:
    - ctrl_switch_option
    - ERR_raise
    - ssl_conf_cmd_lookup
    - ssl_conf_cmd_tbl*::cmd
    - ERR_raise_data
    - ssl_conf_cmd_skip_prefix
    linkageType: ''
    returnType: int
    signature: int SSL_CONF_cmd(SSL_CONF_CTX *cctx, const char *cmd, const char *value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/ssl/ssl_conf.c:1017,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - cctx
    - pargc
    - pargv
    argTypes:
    - SSL_CONF_CTX*
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1000
    functionDepth: 5
    functionLinenumber: 1000
    functionLinenumberEnd: 1032
    functionName: SSL_CONF_cmd_argv
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 3
    functionsReached:
    - SSL_CONF_cmd
    linkageType: ''
    returnType: int
    signature: int SSL_CONF_cmd_argv(SSL_CONF_CTX *cctx, int *pargc, char ***pargv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_conf_cmd_skip_prefix
      Src: /src/openssl/ssl/ssl_conf.c:1036,1
    - Dst: ssl_conf_cmd_lookup
      Src: /src/openssl/ssl/ssl_conf.c:1038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cctx
    - cmd
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1034
    functionDepth: 4
    functionLinenumber: 1034
    functionLinenumberEnd: 1043
    functionName: SSL_CONF_cmd_value_type
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - ssl_conf_cmd_skip_prefix
    - ssl_conf_cmd_lookup
    linkageType: ''
    returnType: int
    signature: int SSL_CONF_cmd_value_type(SSL_CONF_CTX *cctx, const char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_conf.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1050
    functionName: SSL_CONF_CTX_new
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 10
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: SSL_CONF_CTX
    signature: SSL_CONF_CTX *SSL_CONF_CTX_new(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_conf.c:1061,1
    - Dst: cmd_PrivateKey
      Src: /src/openssl/ssl/ssl_conf.c:1074,1
    - Dst: SSL_set0_CA_list
      Src: /src/openssl/ssl/ssl_conf.c:1081,1
    - Dst: SSL_CTX_set0_CA_list
      Src: /src/openssl/ssl/ssl_conf.c:1083,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_conf.c:1085,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - SSL_CONF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1089
    functionName: SSL_CONF_CTX_finish
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 5
    functionsReached:
    - SSL_set0_CA_list
    - cmd_PrivateKey
    - SSL_CTX_set0_CA_list
    - sk_X509_NAME_pop_free
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1096,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - SSL_CONF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1100
    functionName: free_cert_filename
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_cert_filename(SSL_CONF_CTX *cctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_cert_filename
      Src: /src/openssl/ssl/ssl_conf.c:1105,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1106,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_conf.c:1107,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - SSL_CONF_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1110
    functionName: SSL_CONF_CTX_free
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 7
    functionsReached:
    - sk_X509_NAME_pop_free
    - OPENSSL_free
    - free_cert_filename
    linkageType: ''
    returnType: void
    signature: void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cctx
    - flags
    argTypes:
    - SSL_CONF_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1116
    functionName: SSL_CONF_CTX_set_flags
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int
      flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cctx
    - flags
    argTypes:
    - SSL_CONF_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1122
    functionName: SSL_CONF_CTX_clear_flags
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, unsigned
      int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_conf.c:1128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_conf.c:1132,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_conf.c:1135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cctx
    - pre
    argTypes:
    - SSL_CONF_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1139
    functionName: SSL_CONF_CTX_set1_prefix
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - strlen
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int SSL_CONF_CTX_set1_prefix(SSL_CONF_CTX *cctx, const char *pre)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_cert_filename
      Src: /src/openssl/ssl/ssl_conf.c:1145,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_conf.c:1147,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_conf.c:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - cctx
    - ssl
    argTypes:
    - SSL_CONF_CTX*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1167
    functionName: SSL_CONF_CTX_set_ssl
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - SSL_CONNECTION_FROM_SSL
    - free_cert_filename
    linkageType: ''
    returnType: void
    signature: void SSL_CONF_CTX_set_ssl(SSL_CONF_CTX *cctx, SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_cert_filename
      Src: /src/openssl/ssl/ssl_conf.c:1173,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_conf.c:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - cctx
    - ctx
    argTypes:
    - SSL_CONF_CTX*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1191
    functionName: SSL_CONF_CTX_set_ssl_ctx
    functionSourceFile: /src/openssl/ssl/ssl_conf.c
    functionUses: 7
    functionsReached:
    - OPENSSL_zalloc
    - free_cert_filename
    linkageType: ''
    returnType: void
    signature: void SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *cctx, SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/ssl/ssl_err_legacy.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: ERR_load_SSL_strings
    functionSourceFile: /src/openssl/ssl/ssl_err_legacy.c
    functionUses: 0
    functionsReached:
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int ERR_load_SSL_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE
      Src: /src/openssl/ssl/ssl_init.c:27,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/ssl/ssl_init.c:33,1
    - Dst: ssl_sort_cipher_list
      Src: /src/openssl/ssl/ssl_init.c:35,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/ssl/ssl_init.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/ssl/ssl_init.c
    functionUses: 0
    functionsReached:
    - OSSL_TRACE
    - SSL_COMP_get_compression_methods
    - ssl_sort_cipher_list
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ossl_init_ssl_base)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_init.c:58,1
    - Dst: OPENSSL_init_crypto
      Src: /src/openssl/ssl/ssl_init.c:70,1
    - Dst: RUN_ONCE
      Src: /src/openssl/ssl/ssl_init.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - opts
    - settings
    argTypes:
    - uint64_t
    - OPENSSL_INIT_SETTINGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: OPENSSL_init_ssl
    functionSourceFile: /src/openssl/ssl/ssl_init.c
    functionUses: 14
    functionsReached:
    - RUN_ONCE
    - ERR_raise
    - OPENSSL_init_crypto
    linkageType: ''
    returnType: int
    signature: int OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - dest
    - os
    - data
    - len
    argTypes:
    - ASN1_OCTET_STRING**
    - ASN1_OCTET_STRING*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: ssl_session_oinit
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ssl_session_oinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING
      *os,\n                              const unsigned char *data, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:104,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_asn1.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dest
    - os
    - data
    argTypes:
    - ASN1_OCTET_STRING**
    - ASN1_OCTET_STRING*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: ssl_session_sinit
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 0
    functionsReached:
    - strlen
    - ssl_session_oinit
    linkageType: ''
    returnType: void
    signature: "void ssl_session_sinit(ASN1_OCTET_STRING **dest, ASN1_OCTET_STRING
      *os,\n                              const char *data)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/ssl_asn1.c:139,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:153,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:158,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:162,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:165,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:168,1
    - Dst: ossl_time_to_time_t
      Src: /src/openssl/ssl/ssl_asn1.c:171,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/ssl_asn1.c:172,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/ssl/ssl_asn1.c:180,1
    - Dst: ssl_session_sinit
      Src: /src/openssl/ssl/ssl_asn1.c:185,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:188,1
    - Dst: ssl_session_sinit
      Src: /src/openssl/ssl/ssl_asn1.c:195,1
    - Dst: ssl_session_sinit
      Src: /src/openssl/ssl/ssl_asn1.c:197,1
    - Dst: ssl_session_sinit
      Src: /src/openssl/ssl/ssl_asn1.c:200,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:209,1
    - Dst: ssl_session_oinit
      Src: /src/openssl/ssl/ssl_asn1.c:217,1
    - Dst: i2d_SSL_SESSION_ASN1
      Src: /src/openssl/ssl/ssl_asn1.c:220,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 2
    argNames:
    - in
    - pp
    argTypes:
    - SSL_SESSION*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 109
    functionDepth: 12
    functionLinenumber: 109
    functionLinenumberEnd: 223
    functionName: i2d_SSL_SESSION
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 1
    functionsReached:
    - memset
    - ssl_session_sinit
    - i2d_SSL_SESSION_ASN1
    - ossl_time_to_time_t
    - OPENSSL_free
    - ssl_session_oinit
    - ossl_time2seconds
    - i2d_PUBKEY
    linkageType: ''
    returnType: int
    signature: int i2d_SSL_SESSION(const SSL_SESSION *in, unsigned char **pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:231,1
    - Dst: OPENSSL_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pdst
    - src
    argTypes:
    - char**
    - ASN1_OCTET_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: ssl_session_strndup
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strndup
    linkageType: ''
    returnType: int
    signature: int ssl_session_strndup(char **pdst, ASN1_OCTET_STRING *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_asn1.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - dst
    - pdstlen
    - src
    - maxlen
    argTypes:
    - unsigned char*
    - size_t*
    - ASN1_OCTET_STRING*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: ssl_session_memcpy
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ssl_session_memcpy(unsigned char *dst, size_t *pdstlen,\n                              ASN1_OCTET_STRING
      *src, size_t maxlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2i_SSL_SESSION_ex
      Src: /src/openssl/ssl/ssl_asn1.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - pp
    - length
    argTypes:
    - SSL_SESSION**
    - unsigned char**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: d2i_SSL_SESSION
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 1
    functionsReached:
    - d2i_SSL_SESSION_ex
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char
      **pp,\n                             long length)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: d2i_SSL_SESSION_ASN1
      Src: /src/openssl/ssl/ssl_asn1.c:272,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/ssl/ssl_asn1.c:278,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_asn1.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_asn1.c:293,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_asn1.c:302,1
    - Dst: ssl3_get_cipher_by_id
      Src: /src/openssl/ssl/ssl_asn1.c:310,1
    - Dst: ssl_session_memcpy
      Src: /src/openssl/ssl/ssl_asn1.c:314,1
    - Dst: ssl_session_memcpy
      Src: /src/openssl/ssl/ssl_asn1.c:318,1
    - Dst: ossl_time_from_time_t
      Src: /src/openssl/ssl/ssl_asn1.c:325,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/ssl_asn1.c:327,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_asn1.c:330,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_asn1.c:332,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_asn1.c:333,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_asn1.c:335,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_asn1.c:339,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/ssl/ssl_asn1.c:347,1
    - Dst: ssl_session_memcpy
      Src: /src/openssl/ssl/ssl_asn1.c:352,1
    - Dst: ssl_session_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:359,1
    - Dst: ssl_session_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:363,1
    - Dst: ssl_session_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:365,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:371,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_asn1.c:382,1
    - Dst: ssl_session_strndup
      Src: /src/openssl/ssl/ssl_asn1.c:392,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:399,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_asn1.c:411,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/ssl/ssl_asn1.c:421,1
    - Dst: M_ASN1_free_of
      Src: /src/openssl/ssl/ssl_asn1.c:429,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_asn1.c:431,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 129
    argCount: 5
    argNames:
    - a
    - pp
    - length
    - libctx
    - propq
    argTypes:
    - SSL_SESSION**
    - unsigned char**
    - long
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 262
    functionDepth: 6
    functionLinenumber: 262
    functionLinenumberEnd: 433
    functionName: d2i_SSL_SESSION_ex
    functionSourceFile: /src/openssl/ssl/ssl_asn1.c
    functionUses: 2
    functionsReached:
    - ssl_session_memcpy
    - ERR_raise
    - ossl_time_from_time_t
    - M_ASN1_free_of
    - SSL_SESSION_free
    - ssl_session_calculate_timeout
    - EVP_PKEY_free
    - X509_free
    - ssl3_get_cipher_by_id
    - OPENSSL_free
    - ossl_time_now
    - ossl_seconds2time
    - d2i_SSL_SESSION_ASN1
    - d2i_PUBKEY_ex
    - ssl_session_strndup
    - SSL_SESSION_new
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *d2i_SSL_SESSION_ex(SSL_SESSION **a, const unsigned char
      **pp,\n                                long length, OSSL_LIB_CTX *libctx,\n
      \                               const char *propq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: SSL_test_functions
    functionSourceFile: /src/openssl/ssl/ssl_utst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct openssl_ssl_test_functions
    signature: struct openssl_ssl_test_functions *SSL_test_functions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: BIO_f_ssl
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *BIO_f_ssl(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/bio_ssl.c:64,1
    - Dst: BIO_set_init
      Src: /src/openssl/ssl/bio_ssl.c:68,1
    - Dst: BIO_set_data
      Src: /src/openssl/ssl/bio_ssl.c:69,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/ssl/bio_ssl.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bi
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: ssl_new
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - BIO_clear_flags
    - BIO_set_data
    - BIO_set_init
    linkageType: ''
    returnType: int
    signature: int ssl_new(BIO *bi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:82,1
    - Dst: BIO_get_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:83,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/bio_ssl.c:84,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:85,1
    - Dst: BIO_get_init
      Src: /src/openssl/ssl/bio_ssl.c:86,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/bio_ssl.c:87,1
    - Dst: BIO_clear_flags
      Src: /src/openssl/ssl/bio_ssl.c:88,1
    - Dst: BIO_set_init
      Src: /src/openssl/ssl/bio_ssl.c:89,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/bio_ssl.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - a
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: ssl_free
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 1
    functionsReached:
    - SSL_free
    - SSL_in_init
    - BIO_set_init
    - OPENSSL_free
    - BIO_get_init
    - SSL_shutdown
    - BIO_get_shutdown
    - BIO_clear_flags
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int ssl_free(BIO *a)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:105,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/bio_ssl.c:108,1
    - Dst: ssl_read_internal
      Src: /src/openssl/ssl/bio_ssl.c:110,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/bio_ssl.c:112,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/bio_ssl.c:119,1
    - Dst: time
      Src: /src/openssl/ssl/bio_ssl.c:126,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/bio_ssl.c:130,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/bio_ssl.c:136,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/ssl/bio_ssl.c:139,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:142,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:146,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:150,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:160,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - b
    - buf
    - size
    - readbytes
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 163
    functionName: ssl_read
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 1
    functionsReached:
    - time
    - SSL_get_error
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - ssl_read_internal
    - BIO_set_retry_reason
    - BIO_set_retry_write
    - BIO_set_retry_special
    - SSL_renegotiate
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int ssl_read(BIO *b, char *buf, size_t size, size_t *readbytes)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:174,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/bio_ssl.c:177,1
    - Dst: ssl_write_internal
      Src: /src/openssl/ssl/bio_ssl.c:179,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/bio_ssl.c:181,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/bio_ssl.c:188,1
    - Dst: time
      Src: /src/openssl/ssl/bio_ssl.c:195,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/bio_ssl.c:199,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/ssl/bio_ssl.c:204,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/bio_ssl.c:207,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:210,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:214,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - b
    - buf
    - size
    - written
    argTypes:
    - BIO*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 225
    functionName: ssl_write
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 1
    functionsReached:
    - time
    - SSL_get_error
    - BIO_clear_retry_flags
    - ssl_write_internal
    - BIO_set_retry_read
    - BIO_set_retry_reason
    - BIO_set_retry_write
    - BIO_set_retry_special
    - SSL_renegotiate
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: int ssl_write(BIO *b, const char *buf, size_t size, size_t *written)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:236,1
    - Dst: BIO_next
      Src: /src/openssl/ssl/bio_ssl.c:237,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/bio_ssl.c:244,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:247,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/bio_ssl.c:250,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/bio_ssl.c:252,1
    - Dst: SSL_clear
      Src: /src/openssl/ssl/bio_ssl.c:254,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:260,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:262,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/bio_ssl.c:271,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/bio_ssl.c:273,1
    - Dst: time
      Src: /src/openssl/ssl/bio_ssl.c:280,1
    - Dst: ssl_free
      Src: /src/openssl/ssl/bio_ssl.c:292,1
    - Dst: ssl_new
      Src: /src/openssl/ssl/bio_ssl.c:293,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:295,1
    - Dst: BIO_set_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:297,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:300,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/bio_ssl.c:302,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/bio_ssl.c:307,1
    - Dst: BIO_set_next
      Src: /src/openssl/ssl/bio_ssl.c:308,1
    - Dst: BIO_set_init
      Src: /src/openssl/ssl/bio_ssl.c:310,1
    - Dst: BIO_get_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:320,1
    - Dst: BIO_set_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:323,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:326,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/bio_ssl.c:326,1
    - Dst: SSL_pending
      Src: /src/openssl/ssl/bio_ssl.c:329,1
    - Dst: BIO_pending
      Src: /src/openssl/ssl/bio_ssl.c:331,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:331,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/bio_ssl.c:334,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:335,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/bio_ssl.c:335,1
    - Dst: BIO_copy_next_retry
      Src: /src/openssl/ssl/bio_ssl.c:336,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:339,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/bio_ssl.c:344,1
    - Dst: SSL_set_bio
      Src: /src/openssl/ssl/bio_ssl.c:347,1
    - Dst: SSL_set_bio
      Src: /src/openssl/ssl/bio_ssl.c:354,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/bio_ssl.c:358,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:360,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/ssl/bio_ssl.c:361,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/bio_ssl.c:363,1
    - Dst: BIO_set_flags
      Src: /src/openssl/ssl/bio_ssl.c:365,1
    - Dst: BIO_set_flags
      Src: /src/openssl/ssl/bio_ssl.c:368,1
    - Dst: BIO_set_flags
      Src: /src/openssl/ssl/bio_ssl.c:371,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:372,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:372,1
    - Dst: BIO_set_retry_special
      Src: /src/openssl/ssl/bio_ssl.c:375,1
    - Dst: BIO_set_retry_reason
      Src: /src/openssl/ssl/bio_ssl.c:376,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:384,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/bio_ssl.c:385,1
    - Dst: SSL_dup
      Src: /src/openssl/ssl/bio_ssl.c:386,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:395,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:395,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/ssl/bio_ssl.c:401,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/ssl/bio_ssl.c:405,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:409,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:409,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 162
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 413
    functionName: ssl_ctrl
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - ssl_new
    - BIO_set_shutdown
    - BIO_set_init
    - BIO_set_retry_reason
    - BIO_set_retry_special
    - BIO_get_data
    - SSL_get_error
    - SSL_set_connect_state
    - ssl_free
    - SSL_get_rpoll_descriptor
    - BIO_ctrl
    - BIO_get_retry_reason
    - SSL_pending
    - BIO_push
    - BIO_get_shutdown
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_get_wpoll_descriptor
    - SSL_set_bio
    - time
    - BIO_set_flags
    - SSL_set_accept_state
    - SSL_do_handshake
    - BIO_clear_retry_flags
    - SSL_free
    - BIO_copy_next_retry
    - SSL_shutdown
    - BIO_up_ref
    - BIO_pending
    - SSL_dup
    - SSL_clear
    - SSL_get_wbio
    - BIO_next
    - BIO_set_next
    - SSL_get_rbio
    linkageType: ''
    returnType: long
    signature: long ssl_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:421,1
    - Dst: BIO_callback_ctrl
      Src: /src/openssl/ssl/bio_ssl.c:425,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/bio_ssl.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - b
    - cmd
    - fp
    argTypes:
    - BIO*
    - int
    - BIO_info_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 432
    functionName: ssl_callback_ctrl
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_rbio
    - BIO_get_data
    - BIO_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long ssl_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/bio_ssl.c:437,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/bio_ssl.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 434
    functionDepth: 4
    functionLinenumber: 434
    functionLinenumberEnd: 443
    functionName: ssl_puts
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int ssl_puts(BIO *bp, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/bio_ssl.c:451,1
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/ssl/bio_ssl.c:453,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/bio_ssl.c:456,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/ssl/bio_ssl.c:456,1
    - Dst: BIO_new_ssl_connect
      Src: /src/openssl/ssl/bio_ssl.c:458,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/bio_ssl.c:460,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:464,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 445
    functionDepth: 5
    functionLinenumber: 445
    functionLinenumberEnd: 468
    functionName: BIO_new_buffer_ssl_connect
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_new_ssl_connect
    - BIO_free
    - IS_QUIC_CTX
    - BIO_push
    - BIO_f_buffer
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/ssl/bio_ssl.c:475,1
    - Dst: BIO_s_connect
      Src: /src/openssl/ssl/bio_ssl.c:475,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/bio_ssl.c:479,1
    - Dst: BIO_set_sock_type
      Src: /src/openssl/ssl/bio_ssl.c:480,1
    - Dst: BIO_new_ssl
      Src: /src/openssl/ssl/bio_ssl.c:484,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/bio_ssl.c:486,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:490,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 470
    functionDepth: 5
    functionLinenumber: 470
    functionLinenumberEnd: 494
    functionName: BIO_new_ssl_connect
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 7
    functionsReached:
    - BIO_new
    - BIO_free
    - IS_QUIC_CTX
    - BIO_new_ssl
    - BIO_push
    - BIO_s_connect
    - BIO_set_sock_type
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_ssl_connect(SSL_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/ssl/bio_ssl.c:501,1
    - Dst: BIO_f_ssl
      Src: /src/openssl/ssl/bio_ssl.c:501,1
    - Dst: SSL_new
      Src: /src/openssl/ssl/bio_ssl.c:503,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/bio_ssl.c:504,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/bio_ssl.c:508,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/bio_ssl.c:510,1
    - Dst: BIO_set_ssl
      Src: /src/openssl/ssl/bio_ssl.c:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - client
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 496
    functionDepth: 5
    functionLinenumber: 496
    functionLinenumberEnd: 514
    functionName: BIO_new_ssl
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 6
    functionsReached:
    - BIO_new
    - SSL_set_accept_state
    - BIO_set_ssl
    - SSL_set_connect_state
    - BIO_free
    - SSL_new
    - BIO_f_ssl
    linkageType: ''
    returnType: BIO
    signature: BIO *BIO_new_ssl(SSL_CTX *ctx, int client)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_find_type
      Src: /src/openssl/ssl/bio_ssl.c:519,1
    - Dst: BIO_find_type
      Src: /src/openssl/ssl/bio_ssl.c:520,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:523,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:524,1
    - Dst: SSL_copy_session_id
      Src: /src/openssl/ssl/bio_ssl.c:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - t
    - f
    argTypes:
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 530
    functionName: BIO_ssl_copy_session_id
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_find_type
    - BIO_get_data
    - SSL_copy_session_id
    linkageType: ''
    returnType: int
    signature: int BIO_ssl_copy_session_id(BIO *t, BIO *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_next
      Src: /src/openssl/ssl/bio_ssl.c:536,1
    - Dst: BIO_method_type
      Src: /src/openssl/ssl/bio_ssl.c:537,1
    - Dst: BIO_get_data
      Src: /src/openssl/ssl/bio_ssl.c:539,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/bio_ssl.c:541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 543
    functionName: BIO_ssl_shutdown
    functionSourceFile: /src/openssl/ssl/bio_ssl.c
    functionUses: 1
    functionsReached:
    - SSL_shutdown
    - BIO_get_data
    - BIO_method_type
    - BIO_next
    linkageType: ''
    returnType: void
    signature: void BIO_ssl_shutdown(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_2_method
      Src: /src/openssl/ssl/methods.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: TLSv1_2_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_2_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_2_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_2_server_method
      Src: /src/openssl/ssl/methods.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: TLSv1_2_server_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_2_server_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_2_server_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_2_client_method
      Src: /src/openssl/ssl/methods.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: TLSv1_2_client_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_2_client_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_2_client_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_1_method
      Src: /src/openssl/ssl/methods.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: TLSv1_1_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_1_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_1_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_1_server_method
      Src: /src/openssl/ssl/methods.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: TLSv1_1_server_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_1_server_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_1_server_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_1_client_method
      Src: /src/openssl/ssl/methods.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: TLSv1_1_client_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_1_client_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_1_client_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_method
      Src: /src/openssl/ssl/methods.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: TLSv1_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_server_method
      Src: /src/openssl/ssl/methods.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: TLSv1_server_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_server_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_server_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlsv1_client_method
      Src: /src/openssl/ssl/methods.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: TLSv1_client_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - tlsv1_client_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *TLSv1_client_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslv3_method
      Src: /src/openssl/ssl/methods.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: SSLv3_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - sslv3_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSLv3_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslv3_server_method
      Src: /src/openssl/ssl/methods.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: SSLv3_server_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - sslv3_server_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSLv3_server_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sslv3_client_method
      Src: /src/openssl/ssl/methods.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: SSLv3_client_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - sslv3_client_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSLv3_client_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_2_method
      Src: /src/openssl/ssl/methods.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: DTLSv1_2_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - dtlsv1_2_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *DTLSv1_2_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_2_server_method
      Src: /src/openssl/ssl/methods.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: DTLSv1_2_server_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - dtlsv1_2_server_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *DTLSv1_2_server_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_2_client_method
      Src: /src/openssl/ssl/methods.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: DTLSv1_2_client_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - dtlsv1_2_client_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *DTLSv1_2_client_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_method
      Src: /src/openssl/ssl/methods.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: DTLSv1_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - dtlsv1_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *DTLSv1_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_server_method
      Src: /src/openssl/ssl/methods.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: DTLSv1_server_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - dtlsv1_server_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *DTLSv1_server_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtlsv1_client_method
      Src: /src/openssl/ssl/methods.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: DTLSv1_client_method
    functionSourceFile: /src/openssl/ssl/methods.c
    functionUses: 0
    functionsReached:
    - dtlsv1_client_method
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *DTLSv1_client_method(void)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_stat.c:17,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/ssl_stat.c:19,1
    - Dst: SSL_get_state
      Src: /src/openssl/ssl/ssl_stat.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 111
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 130
    functionName: SSL_state_string_long
    functionSourceFile: /src/openssl/ssl/ssl_stat.c
    functionUses: 4
    functionsReached:
    - ossl_statem_in_error
    - SSL_get_state
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_state_string_long(const SSL *s)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_stat.c:134,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/ssl_stat.c:136,1
    - Dst: SSL_get_state
      Src: /src/openssl/ssl/ssl_stat.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 111
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 247
    functionName: SSL_state_string
    functionSourceFile: /src/openssl/ssl/ssl_stat.c
    functionUses: 2
    functionsReached:
    - ossl_statem_in_error
    - SSL_get_state
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_state_string(const SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: SSL_alert_type_string_long
    functionSourceFile: /src/openssl/ssl/ssl_stat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_alert_type_string_long(int value)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: SSL_alert_type_string
    functionSourceFile: /src/openssl/ssl/ssl_stat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_alert_type_string(int value)
  - BBCount: 32
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 339
    functionName: SSL_alert_desc_string
    functionSourceFile: /src/openssl/ssl/ssl_stat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_alert_desc_string(int value)
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 409
    functionName: SSL_alert_desc_string_long
    functionSourceFile: /src/openssl/ssl/ssl_stat.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_alert_desc_string_long(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: SSL_add_ssl_module
    functionSourceFile: /src/openssl/ssl/ssl_mcnf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_add_ssl_module(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_mcnf.c:36,1
    - Dst: conf_ssl_name_find
      Src: /src/openssl/ssl/ssl_mcnf.c:42,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_mcnf.c:44,1
    - Dst: conf_ssl_get
      Src: /src/openssl/ssl/ssl_mcnf.c:48,1
    - Dst: SSL_CONF_CTX_new
      Src: /src/openssl/ssl/ssl_mcnf.c:49,1
    - Dst: SSL_CONF_CTX_set_ssl
      Src: /src/openssl/ssl/ssl_mcnf.c:60,1
    - Dst: SSL_CONF_CTX_set_ssl_ctx
      Src: /src/openssl/ssl/ssl_mcnf.c:64,1
    - Dst: OSSL_LIB_CTX_get_conf_diagnostics
      Src: /src/openssl/ssl/ssl_mcnf.c:67,1
    - Dst: SSL_CONF_CTX_set_flags
      Src: /src/openssl/ssl/ssl_mcnf.c:74,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/ssl/ssl_mcnf.c:75,1
    - Dst: conf_ssl_get_cmd
      Src: /src/openssl/ssl/ssl_mcnf.c:81,1
    - Dst: SSL_CONF_cmd
      Src: /src/openssl/ssl/ssl_mcnf.c:82,1
    - Dst: SSL_CONF_CTX_finish
      Src: /src/openssl/ssl/ssl_mcnf.c:86,1
    - Dst: OSSL_LIB_CTX_set0_default
      Src: /src/openssl/ssl/ssl_mcnf.c:89,1
    - Dst: SSL_CONF_CTX_free
      Src: /src/openssl/ssl/ssl_mcnf.c:90,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 4
    argNames:
    - s
    - ctx
    - name
    - system
    argTypes:
    - SSL*
    - SSL_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 92
    functionName: ssl_do_config
    functionSourceFile: /src/openssl/ssl/ssl_mcnf.c
    functionUses: 0
    functionsReached:
    - SSL_CONF_CTX_set_ssl_ctx
    - conf_ssl_name_find
    - ERR_raise
    - OSSL_LIB_CTX_get_conf_diagnostics
    - SSL_CONF_CTX_set_flags
    - conf_ssl_get_cmd
    - SSL_CONF_CTX_finish
    - ERR_raise_data
    - SSL_CONF_CTX_set_ssl
    - SSL_CONF_cmd
    - SSL_CONF_CTX_new
    - SSL_CONF_CTX_free
    - conf_ssl_get
    - OSSL_LIB_CTX_set0_default
    linkageType: ''
    returnType: int
    signature: int ssl_do_config(SSL *s, SSL_CTX *ctx, const char *name, int system)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_do_config
      Src: /src/openssl/ssl/ssl_mcnf.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: SSL_config
    functionSourceFile: /src/openssl/ssl/ssl_mcnf.c
    functionUses: 0
    functionsReached:
    - ssl_do_config
    linkageType: ''
    returnType: int
    signature: int SSL_config(SSL *s, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_do_config
      Src: /src/openssl/ssl/ssl_mcnf.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: SSL_CTX_config
    functionSourceFile: /src/openssl/ssl/ssl_mcnf.c
    functionUses: 4
    functionsReached:
    - ssl_do_config
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_config(SSL_CTX *ctx, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_do_config
      Src: /src/openssl/ssl/ssl_mcnf.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: ssl_ctx_system_config
    functionSourceFile: /src/openssl/ssl/ssl_mcnf.c
    functionUses: 0
    functionsReached:
    - ssl_do_config
    linkageType: ''
    returnType: int
    signature: int ssl_ctx_system_config(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_finish
      Src: /src/openssl/ssl/tls_depr.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: tls_engine_finish
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - ENGINE_finish
    linkageType: ''
    returnType: void
    signature: void tls_engine_finish(ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_cipher_engine
      Src: /src/openssl/ssl/tls_depr.c:39,1
    - Dst: ENGINE_get_cipher
      Src: /src/openssl/ssl/tls_depr.c:41,1
    - Dst: ENGINE_finish
      Src: /src/openssl/ssl/tls_depr.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: tls_get_cipher_from_engine
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_cipher
    - ENGINE_get_cipher_engine
    - ENGINE_finish
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *tls_get_cipher_from_engine(int nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_get_digest_engine
      Src: /src/openssl/ssl/tls_depr.c:58,1
    - Dst: ENGINE_get_digest
      Src: /src/openssl/ssl/tls_depr.c:60,1
    - Dst: ENGINE_finish
      Src: /src/openssl/ssl/tls_depr.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: tls_get_digest_from_engine
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - ENGINE_get_digest
    - ENGINE_finish
    - ENGINE_get_digest_engine
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *tls_get_digest_from_engine(int nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/tls_depr.c:71,1
    - Dst: ENGINE_load_ssl_client_cert
      Src: /src/openssl/ssl/tls_depr.c:73,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_depr.c:73,1
    - Dst: SSL_get_client_CA_list
      Src: /src/openssl/ssl/tls_depr.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - px509
    - ppkey
    argTypes:
    - SSL_CONNECTION*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: tls_engine_load_ssl_client_cert
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ENGINE_load_ssl_client_cert
    - SSL_get_client_CA_list
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: int
    signature: "int tls_engine_load_ssl_client_cert(SSL_CONNECTION *s, X509 **px509,\n
      \                                   EVP_PKEY **ppkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_init
      Src: /src/openssl/ssl/tls_depr.c:83,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_depr.c:84,1
    - Dst: ENGINE_get_ssl_client_cert_function
      Src: /src/openssl/ssl/tls_depr.c:87,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_depr.c:88,1
    - Dst: ENGINE_finish
      Src: /src/openssl/ssl/tls_depr.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - e
    argTypes:
    - SSL_CTX*
    - ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: SSL_CTX_set_client_cert_engine
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 1
    functionsReached:
    - ENGINE_init
    - ENGINE_get_ssl_client_cert_function
    - ERR_raise
    - ENGINE_finish
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/openssl/ssl/tls_depr.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ret
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: ssl_hmac_old_new
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_new
    linkageType: ''
    returnType: int
    signature: int ssl_hmac_old_new(SSL_HMAC *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/openssl/ssl/tls_depr.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 9
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ssl_hmac_old_free
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void ssl_hmac_old_free(SSL_HMAC *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Init_ex
      Src: /src/openssl/ssl/tls_depr.c:122,1
    - Dst: EVP_get_digestbyname
      Src: /src/openssl/ssl/tls_depr.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - key
    - len
    - md
    argTypes:
    - SSL_HMAC*
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 12
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: ssl_hmac_old_init
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - EVP_get_digestbyname
    - HMAC_Init_ex
    linkageType: ''
    returnType: int
    signature: int ssl_hmac_old_init(SSL_HMAC *ctx, void *key, size_t len, char *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Update
      Src: /src/openssl/ssl/tls_depr.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - SSL_HMAC*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: ssl_hmac_old_update
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - HMAC_Update
    linkageType: ''
    returnType: int
    signature: int ssl_hmac_old_update(SSL_HMAC *ctx, const unsigned char *data, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Final
      Src: /src/openssl/ssl/tls_depr.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - md
    - len
    argTypes:
    - SSL_HMAC*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 9
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: ssl_hmac_old_final
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - HMAC_Final
    linkageType: ''
    returnType: int
    signature: int ssl_hmac_old_final(SSL_HMAC *ctx, unsigned char *md, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_size
      Src: /src/openssl/ssl/tls_depr.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: ssl_hmac_old_size
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - HMAC_size
    linkageType: ''
    returnType: size_t
    signature: size_t ssl_hmac_old_size(const SSL_HMAC *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: ssl_hmac_get0_HMAC_CTX
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HMAC_CTX
    signature: HMAC_CTX *ssl_hmac_get0_HMAC_CTX(SSL_HMAC *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/ssl/tls_depr.c:161,1
    - Dst: EVP_PKEY_set1_DH
      Src: /src/openssl/ssl/tls_depr.c:162,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/tls_depr.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dh
    argTypes:
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: ssl_dh_to_pkey
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new
    - EVP_PKEY_set1_DH
    - EVP_PKEY_free
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *ssl_dh_to_pkey(DH *dh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_get0_group
      Src: /src/openssl/ssl/tls_depr.c:179,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_depr.c:183,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/openssl/ssl/tls_depr.c:186,1
    - Dst: tls1_set_groups
      Src: /src/openssl/ssl/tls_depr.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - pext
    - pextlen
    - ksext
    - ksextlen
    - tplext
    - tplextlen
    - key
    argTypes:
    - uint16_t**
    - size_t*
    - uint16_t**
    - size_t*
    - size_t**
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: ssl_set_tmp_ecdh_groups
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    - ERR_raise
    - EC_GROUP_get_curve_name
    - tls1_set_groups
    linkageType: ''
    returnType: int
    signature: "int ssl_set_tmp_ecdh_groups(uint16_t **pext, size_t *pextlen,\n                            uint16_t
      **ksext, size_t *ksextlen,\n                            size_t **tplext, size_t
      *tplextlen,\n                            void *key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_callback_ctrl
      Src: /src/openssl/ssl/tls_depr.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - "(*dh) (SSL *ssl, int is_export,\n                                            int
      keylength)"
    argTypes:
    - SSL_CTX*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: SSL_CTX_set_tmp_dh_callback
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_callback_ctrl
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx,\n                                 DH
      *(*dh) (SSL *ssl, int is_export,\n                                            int
      keylength))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_callback_ctrl
      Src: /src/openssl/ssl/tls_depr.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - "(*dh) (SSL *ssl, int is_export,\n                                                  int
      keylength)"
    argTypes:
    - SSL*
    - DH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: SSL_set_tmp_dh_callback
    functionSourceFile: /src/openssl/ssl/tls_depr.c
    functionUses: 1
    functionsReached:
    - SSL_callback_ctrl
    linkageType: ''
    returnType: void
    signature: "void SSL_set_tmp_dh_callback(SSL *ssl, DH *(*dh) (SSL *ssl, int is_export,\n
      \                                                 int keylength))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_msg.c:17,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/d1_msg.c:22,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/d1_msg.c:22,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/d1_msg.c:23,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_msg.c:27,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_msg.c:33,1
    - Dst: dtls1_write_bytes
      Src: /src/openssl/ssl/d1_msg.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - s
    - type
    - buf_
    - len
    - written
    argTypes:
    - SSL*
    - uint8_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 38
    functionName: dtls1_write_app_data_bytes
    functionSourceFile: /src/openssl/ssl/d1_msg.c
    functionUses: 0
    functionsReached:
    - ossl_statem_get_in_handshake
    - ERR_raise
    - SSL_in_init
    - SSL_CONNECTION*::handshake_func
    - dtls1_write_bytes
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: "int dtls1_write_app_data_bytes(SSL *s, uint8_t type, const void *buf_,\n
      \                              size_t len, size_t *written)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_msg.c:47,1
    - Dst: memset
      Src: /src/openssl/ssl/d1_msg.c:54,1
    - Dst: do_dtls1_write
      Src: /src/openssl/ssl/d1_msg.c:58,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/d1_msg.c:63,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/d1_msg.c:66,1
    - Dst: cb
      Src: /src/openssl/ssl/d1_msg.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 80
    functionName: dtls1_dispatch_alert
    functionSourceFile: /src/openssl/ssl/d1_msg.c
    functionUses: 0
    functionsReached:
    - memset
    - do_dtls1_write
    - BIO_flush
    - SSL_CONNECTION*::msg_callback
    - cb
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int dtls1_dispatch_alert(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3306
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3306
    functionName: cipher_compare
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cipher_compare(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/openssl/ssl/s3_lib.c:3310,1
    - Dst: qsort
      Src: /src/openssl/ssl/s3_lib.c:3312,1
    - Dst: qsort
      Src: /src/openssl/ssl/s3_lib.c:3314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3308
    functionDepth: 0
    functionLinenumber: 3308
    functionLinenumberEnd: 3315
    functionName: ssl_sort_cipher_list
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 1
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void ssl_sort_cipher_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_undefined_function
      Src: /src/openssl/ssl/s3_lib.c:3328,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/s3_lib.c:3328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - sc
    - r
    - s
    - t
    - u
    - v
    - w
    - x
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3317
    functionDepth: 1
    functionLinenumber: 3317
    functionLinenumberEnd: 3329
    functionName: sslcon_undefined_function_1
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ssl_undefined_function
    linkageType: ''
    returnType: int
    signature: "int sslcon_undefined_function_1(SSL_CONNECTION *sc, unsigned char
      *r,\n                                       size_t s, const char *t, size_t
      u,\n                                       const unsigned char *v, size_t w,
      int x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/s3_lib.c:3352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3346
    functionDepth: 1
    functionLinenumber: 3346
    functionLinenumberEnd: 3353
    functionName: ssl3_default_timeout
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ossl_seconds2time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ssl3_default_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3358
    functionName: ssl3_num_ciphers
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl3_num_ciphers(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3366
    functionName: ssl3_get_cipher
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *ssl3_get_cipher(unsigned int u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:3375,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/s3_lib.c:3376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - pkt
    - htype
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3368
    functionDepth: 1
    functionLinenumber: 3368
    functionLinenumberEnd: 3380
    functionName: ssl3_set_handshake_header
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u8
    - WPACKET_start_sub_packet_u24
    linkageType: ''
    returnType: int
    signature: int ssl3_set_handshake_header(SSL_CONNECTION *s, WPACKET *pkt, int
      htype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_do_write
      Src: /src/openssl/ssl/s3_lib.c:3384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3382
    functionDepth: 1
    functionLinenumber: 3382
    functionLinenumberEnd: 3385
    functionName: ssl3_handshake_write
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_do_write
    linkageType: ''
    returnType: int
    signature: int ssl3_handshake_write(SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_lib.c:3390,1
    - Dst: ssl_srp_ctx_init_intern
      Src: /src/openssl/ssl/s3_lib.c:3395,1
    - Dst: SSL*::method::ssl_clear
      Src: /src/openssl/ssl/s3_lib.c:3399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3403
      start: 3387
    functionDepth: 1
    functionLinenumber: 3387
    functionLinenumberEnd: 3403
    functionName: ssl3_new
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl_srp_ctx_init_intern
    - SSL*::method::ssl_clear
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ssl3_new(SSL *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_lib.c:3407,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/openssl/ssl/s3_lib.c:3413,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3415,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3423,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3429,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/s3_lib.c:3433,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/s3_lib.c:3434,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3436,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/s3_lib.c:3437,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3438,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:3439,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3440,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3441,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3442,1
    - Dst: ssl3_free_digest_list
      Src: /src/openssl/ssl/s3_lib.c:3443,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3444,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3445,1
    - Dst: ossl_quic_tls_free
      Src: /src/openssl/ssl/s3_lib.c:3446,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3449,1
    - Dst: ssl_srp_ctx_free_intern
      Src: /src/openssl/ssl/s3_lib.c:3453,1
    - Dst: memset
      Src: /src/openssl/ssl/s3_lib.c:3455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3405
    functionDepth: 4
    functionLinenumber: 3405
    functionLinenumberEnd: 3456
    functionName: ssl3_free
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_cleanup_key_block
    - sk_X509_NAME_pop_free
    - memset
    - OPENSSL_clear_free
    - ssl3_free_digest_list
    - ssl_evp_md_free
    - EVP_PKEY_free
    - OPENSSL_free
    - ossl_quic_tls_free
    - ssl_srp_ctx_free_intern
    - ssl_evp_cipher_free
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void ssl3_free(SSL *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_lib.c:3460,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/openssl/ssl/s3_lib.c:3467,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3468,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/s3_lib.c:3469,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3470,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:3471,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3472,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3473,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3474,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3476,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3483,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3489,1
    - Dst: ssl3_free_digest_list
      Src: /src/openssl/ssl/s3_lib.c:3493,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3495,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3496,1
    - Dst: memset
      Src: /src/openssl/ssl/s3_lib.c:3503,1
    - Dst: ssl_free_wbio_buffer
      Src: /src/openssl/ssl/s3_lib.c:3506,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3518
      start: 3458
    functionDepth: 4
    functionLinenumber: 3458
    functionLinenumberEnd: 3518
    functionName: ssl3_clear
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_cleanup_key_block
    - memset
    - OPENSSL_clear_free
    - ssl3_free_digest_list
    - EVP_PKEY_free
    - OPENSSL_free
    - ssl_free_wbio_buffer
    - sk_X509_NAME_pop_free
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ssl3_clear(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_lib.c:3523,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/s3_lib.c:3528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3529
      start: 3521
    functionDepth: 1
    functionLinenumber: 3521
    functionLinenumberEnd: 3529
    functionName: srp_password_from_info_cb
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strdup
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: char
    signature: char *srp_password_from_info_cb(SSL *s, void *arg)
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_lib.c:3537,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3567,1
    - Dst: ssl_dh_to_pkey
      Src: /src/openssl/ssl/s3_lib.c:3570,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3572,1
    - Dst: SSL_set0_tmp_dh_pkey
      Src: /src/openssl/ssl/s3_lib.c:3575,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:3576,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3584,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3595,1
    - Dst: ssl_set_tmp_ecdh_groups
      Src: /src/openssl/ssl/s3_lib.c:3598,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3619,1
    - Dst: strlen
      Src: /src/openssl/ssl/s3_lib.c:3625,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3627,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/s3_lib.c:3630,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3631,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:3635,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:3654,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:3664,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/ssl/s3_lib.c:3678,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/openssl/ssl/s3_lib.c:3681,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3684,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3701,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/s3_lib.c:3706,1
    - Dst: sk_OCSP_RESPONSE_new_reserve
      Src: /src/openssl/ssl/s3_lib.c:3710,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/ssl/s3_lib.c:3715,1
    - Dst: sk_OCSP_RESPONSE_push
      Src: /src/openssl/ssl/s3_lib.c:3717,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:3724,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/ssl/s3_lib.c:3725,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:3739,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/s3_lib.c:3744,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:3745,1
    - Dst: ssl_cert_set1_chain
      Src: /src/openssl/ssl/s3_lib.c:3752,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:3752,1
    - Dst: ssl_cert_set0_chain
      Src: /src/openssl/ssl/s3_lib.c:3754,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:3754,1
    - Dst: ssl_cert_add1_chain_cert
      Src: /src/openssl/ssl/s3_lib.c:3758,1
    - Dst: ssl_cert_add0_chain_cert
      Src: /src/openssl/ssl/s3_lib.c:3760,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:3763,1
    - Dst: ssl_cert_select_current
      Src: /src/openssl/ssl/s3_lib.c:3768,1
    - Dst: ssl_cert_set_current
      Src: /src/openssl/ssl/s3_lib.c:3789,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/s3_lib.c:3806,1
    - Dst: tls1_group_id2nid
      Src: /src/openssl/ssl/s3_lib.c:3809,1
    - Dst: tls1_set_groups
      Src: /src/openssl/ssl/s3_lib.c:3818,1
    - Dst: tls1_set_groups_list
      Src: /src/openssl/ssl/s3_lib.c:3827,1
    - Dst: tls1_shared_group
      Src: /src/openssl/ssl/s3_lib.c:3838,1
    - Dst: tls1_group_id2nid
      Src: /src/openssl/ssl/s3_lib.c:3841,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:3848,1
    - Dst: tls1_group_id2nid
      Src: /src/openssl/ssl/s3_lib.c:3852,1
    - Dst: tls1_set_sigalgs
      Src: /src/openssl/ssl/s3_lib.c:3856,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/s3_lib.c:3859,1
    - Dst: tls1_set_sigalgs
      Src: /src/openssl/ssl/s3_lib.c:3862,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/s3_lib.c:3865,1
    - Dst: ssl3_set_req_cert_type
      Src: /src/openssl/ssl/s3_lib.c:3880,1
    - Dst: ssl_build_cert_chain
      Src: /src/openssl/ssl/s3_lib.c:3883,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/openssl/ssl/s3_lib.c:3886,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/openssl/ssl/s3_lib.c:3889,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/openssl/ssl/s3_lib.c:3892,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/openssl/ssl/s3_lib.c:3895,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/s3_lib.c:3925,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/s3_lib.c:3936,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 291
    argCount: 4
    argNames:
    - s
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3969
      start: 3534
    functionDepth: 5
    functionLinenumber: 3534
    functionLinenumberEnd: 3969
    functionName: ssl3_ctrl
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - d2i_OCSP_RESPONSE
    - ERR_raise
    - sk_OCSP_RESPONSE_num
    - sk_OCSP_RESPONSE_pop_free
    - sk_OCSP_RESPONSE_value
    - tls1_set_groups_list
    - sk_OCSP_RESPONSE_new_reserve
    - OPENSSL_free
    - EVP_PKEY_up_ref
    - strlen
    - SSL_CONNECTION_FROM_SSL
    - ssl3_set_req_cert_type
    - ssl_cert_add0_chain_cert
    - EVP_PKEY_free
    - OPENSSL_strdup
    - ssl_cert_get_cert_store
    - ssl_cert_select_current
    - ssl_cert_set0_chain
    - ssl_build_cert_chain
    - i2d_OCSP_RESPONSE
    - tls1_group_id2nid
    - tls1_set_sigalgs
    - STACK_OF
    - ssl_dh_to_pkey
    - sk_OCSP_RESPONSE_push
    - tls1_group_id_lookup
    - ssl_cert_set_current
    - ssl_cert_set1_chain
    - ssl_set_tmp_ecdh_groups
    - SSL_CONNECTION_IS_TLS13
    - SSL_set0_tmp_dh_pkey
    - ssl_cert_add1_chain_cert
    - ssl_cert_set_cert_store
    - tls1_set_groups
    - tls1_shared_group
    - tls1_set_sigalgs_list
    linkageType: ''
    returnType: long
    signature: long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_lib.c:3974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - s
    - cmd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 3971
    functionDepth: 1
    functionLinenumber: 3971
    functionLinenumberEnd: 4004
    functionName: ssl3_callback_ctrl
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: long
    signature: long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4014,1
    - Dst: ssl_dh_to_pkey
      Src: /src/openssl/ssl/s3_lib.c:4017,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4019,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/openssl/ssl/s3_lib.c:4022,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:4023,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4030,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4041,1
    - Dst: ssl_set_tmp_ecdh_groups
      Src: /src/openssl/ssl/s3_lib.c:4044,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4066,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4070,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4072,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4075,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4080,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4082,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4085,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4115,1
    - Dst: strlen
      Src: /src/openssl/ssl/s3_lib.c:4119,1
    - Dst: strlen
      Src: /src/openssl/ssl/s3_lib.c:4119,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4120,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/s3_lib.c:4123,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4132,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/s3_lib.c:4133,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4134,1
    - Dst: tls1_set_groups
      Src: /src/openssl/ssl/s3_lib.c:4149,1
    - Dst: tls1_set_groups_list
      Src: /src/openssl/ssl/s3_lib.c:4158,1
    - Dst: tls1_get0_implemented_groups
      Src: /src/openssl/ssl/s3_lib.c:4168,1
    - Dst: tls1_set_sigalgs
      Src: /src/openssl/ssl/s3_lib.c:4174,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/s3_lib.c:4177,1
    - Dst: tls1_set_sigalgs
      Src: /src/openssl/ssl/s3_lib.c:4180,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/s3_lib.c:4183,1
    - Dst: ssl3_set_req_cert_type
      Src: /src/openssl/ssl/s3_lib.c:4186,1
    - Dst: ssl_build_cert_chain
      Src: /src/openssl/ssl/s3_lib.c:4189,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4192,1
    - Dst: ssl_cert_set_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4195,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4198,1
    - Dst: ssl_cert_get_cert_store
      Src: /src/openssl/ssl/s3_lib.c:4201,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/ssl/s3_lib.c:4206,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4207,1
    - Dst: sk_X509_push
      Src: /src/openssl/ssl/s3_lib.c:4211,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_lib.c:4212,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4219,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4221,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/s3_lib.c:4225,1
    - Dst: ssl_cert_set1_chain
      Src: /src/openssl/ssl/s3_lib.c:4231,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4231,1
    - Dst: ssl_cert_set0_chain
      Src: /src/openssl/ssl/s3_lib.c:4233,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4233,1
    - Dst: ssl_cert_add1_chain_cert
      Src: /src/openssl/ssl/s3_lib.c:4237,1
    - Dst: ssl_cert_add0_chain_cert
      Src: /src/openssl/ssl/s3_lib.c:4239,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4242,1
    - Dst: ssl_cert_select_current
      Src: /src/openssl/ssl/s3_lib.c:4246,1
    - Dst: ssl_cert_set_current
      Src: /src/openssl/ssl/s3_lib.c:4249,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 165
    argCount: 4
    argNames:
    - ctx
    - cmd
    - larg
    - parg
    argTypes:
    - SSL_CTX*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4255
      start: 4006
    functionDepth: 5
    functionLinenumber: 4006
    functionLinenumberEnd: 4255
    functionName: ssl3_ctx_ctrl
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - tls1_set_groups_list
    - OPENSSL_free
    - strlen
    - ssl3_set_req_cert_type
    - sk_X509_push
    - ssl_cert_add0_chain_cert
    - EVP_PKEY_free
    - OSSL_STACK_OF_X509_free
    - OPENSSL_strdup
    - ssl_cert_get_cert_store
    - ssl_cert_select_current
    - ssl_cert_set0_chain
    - ssl_build_cert_chain
    - tls1_get0_implemented_groups
    - tls1_set_sigalgs
    - STACK_OF
    - ssl_dh_to_pkey
    - SSL_CTX_set0_tmp_dh_pkey
    - ssl_cert_set_current
    - ssl_cert_set1_chain
    - ssl_set_tmp_ecdh_groups
    - ssl_cert_add1_chain_cert
    - ssl_cert_set_cert_store
    - tls1_set_groups
    - sk_X509_new_null
    - tls1_set_sigalgs_list
    linkageType: ''
    returnType: long
    signature: long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4309
    functionName: ssl3_ctx_callback_ctrl
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp) (void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4317
      start: 4311
    functionDepth: 0
    functionLinenumber: 4311
    functionLinenumberEnd: 4317
    functionName: SSL_CTX_set_tlsext_ticket_key_evp_cb
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_tlsext_ticket_key_evp_cb\n    (SSL_CTX *ctx, int (*fp)(SSL
      *, unsigned char *, unsigned char *,\n                             EVP_CIPHER_CTX
      *, EVP_MAC_CTX *, int))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/openssl/ssl/s3_lib.c:4325,1
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/openssl/ssl/s3_lib.c:4328,1
    - Dst: OBJ_bsearch_ssl_cipher_id
      Src: /src/openssl/ssl/s3_lib.c:4331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4332
      start: 4319
    functionDepth: 0
    functionLinenumber: 4319
    functionLinenumberEnd: 4332
    functionName: ssl3_get_cipher_by_id
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 1
    functionsReached:
    - OBJ_bsearch_ssl_cipher_id
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *ssl3_get_cipher_by_id(uint32_t id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/s3_lib.c:4342,1
    - Dst: strcmp
      Src: /src/openssl/ssl/s3_lib.c:4346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stdname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4352
      start: 4334
    functionDepth: 0
    functionLinenumber: 4334
    functionLinenumberEnd: 4352
    functionName: ssl3_get_cipher_by_std_name
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - strcmp
    - OSSL_NELEM
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *ssl3_get_cipher_by_std_name(const char *stdname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_get_cipher_by_id
      Src: /src/openssl/ssl/s3_lib.c:4360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4363
      start: 4358
    functionDepth: 1
    functionLinenumber: 4358
    functionLinenumberEnd: 4363
    functionName: ssl3_get_cipher_by_char
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_get_cipher_by_id
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/s3_lib.c:4372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - c
    - pkt
    - len
    argTypes:
    - SSL_CIPHER*
    - WPACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4377
      start: 4365
    functionDepth: 1
    functionLinenumber: 4365
    functionLinenumberEnd: 4377
    functionName: ssl3_put_cipher_by_char
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: int
    signature: int ssl3_put_cipher_by_char(const SSL_CIPHER *c, WPACKET *pkt, size_t
      *len)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4391,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/s3_lib.c:4394,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4406,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4407,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4408,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4409,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4410,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4412,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4413,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4414,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4415,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4416,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/s3_lib.c:4418,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/s3_lib.c:4421,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4431,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4432,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4435,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4438,1
    - Dst: sk_SSL_CIPHER_new_reserve
      Src: /src/openssl/ssl/s3_lib.c:4445,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/openssl/ssl/s3_lib.c:4449,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4451,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/openssl/ssl/s3_lib.c:4453,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4457,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/openssl/ssl/s3_lib.c:4459,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:4471,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/s3_lib.c:4483,1
    - Dst: tls1_set_cert_validity
      Src: /src/openssl/ssl/s3_lib.c:4491,1
    - Dst: ssl_set_masks
      Src: /src/openssl/ssl/s3_lib.c:4492,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4495,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4498,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/s3_lib.c:4499,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/s3_lib.c:4500,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/s3_lib.c:4503,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/s3_lib.c:4504,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:4511,1
    - Dst: OSSL_TRACE7
      Src: /src/openssl/ssl/s3_lib.c:4531,1
    - Dst: tls1_check_ec_tmp_key
      Src: /src/openssl/ssl/s3_lib.c:4540,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/openssl/ssl/s3_lib.c:4545,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/s3_lib.c:4548,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4555,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4560,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/s3_lib.c:4561,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:4561,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/s3_lib.c:4565,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4573,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/s3_lib.c:4578,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 115
    argCount: 3
    argNames:
    - s
    - clnt
    - srvr
    argTypes:
    - SSL_CONNECTION*
    - STACK_OF*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4581
      start: 4387
    functionDepth: 9
    functionLinenumber: 4387
    functionLinenumberEnd: 4581
    functionName: ssl3_choose_cipher
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - tls1_suiteb
    - tls1_set_cert_validity
    - ssl_has_cert
    - EVP_MD_is_a
    - ssl_version_cmp
    - ssl_md
    - sk_SSL_CIPHER_free
    - sk_SSL_CIPHER_push
    - tls1_check_ec_tmp_key
    - BIO_printf
    - ssl_set_masks
    - sk_SSL_CIPHER_find
    - sk_SSL_CIPHER_value
    - sk_SSL_CIPHER_new_reserve
    - sk_SSL_CIPHER_num
    - STACK_OF
    - SSL_CONNECTION_IS_DTLS
    - ssl_security
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    - OSSL_TRACE_END
    - OSSL_TRACE7
    linkageType: ''
    returnType: SSL_CIPHER
    signature: "SSL_CIPHER *ssl3_choose_cipher(SSL_CONNECTION *s, STACK_OF(SSL_CIPHER)
      *clnt,\n                                     STACK_OF(SSL_CIPHER) *srvr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4406,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4407,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4408,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4409,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4410,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4412,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4413,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/s3_lib.c:4414,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/s3_lib.c:4415,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/s3_lib.c:4416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4418
      start: 4405
    functionDepth: 2
    functionLinenumber: 4405
    functionLinenumberEnd: 4418
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - sk_SSL_CIPHER_num
    - sk_SSL_CIPHER_value
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS_CIPHER)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/s3_lib.c:4589,1
    - Dst: ssl_set_sig_mask
      Src: /src/openssl/ssl/s3_lib.c:4591,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4597,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4598,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4599,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4600,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4601,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4605,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4606,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4611,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4614,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4617,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4619,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/s3_lib.c:4628,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 24
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4632
      start: 4583
    functionDepth: 3
    functionLinenumber: 4583
    functionLinenumberEnd: 4632
    functionName: ssl3_get_req_cert_type
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u8
    - WPACKET_memcpy
    - ssl_set_sig_mask
    linkageType: ''
    returnType: int
    signature: int ssl3_get_req_cert_type(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:4636,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/s3_lib.c:4643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - c
    - p
    - len
    argTypes:
    - CERT*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4648
      start: 4634
    functionDepth: 0
    functionLinenumber: 4634
    functionLinenumberEnd: 4648
    functionName: ssl3_set_req_cert_type
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int ssl3_set_req_cert_type(CERT *c, const unsigned char *p, size_t
      len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/s3_lib.c:4653,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/s3_lib.c:4662,1
    - Dst: ssl3_send_alert
      Src: /src/openssl/ssl/s3_lib.c:4669,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/s3_lib.c:4678,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/s3_lib.c:4692,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4703
      start: 4650
    functionDepth: 1
    functionLinenumber: 4650
    functionLinenumberEnd: 4703
    functionName: ssl3_shutdown
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSL*::method::ssl_read_bytes
    - SSL_in_before
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL*::method::ssl_dispatch_alert
    - ssl3_send_alert
    linkageType: ''
    returnType: int
    signature: int ssl3_shutdown(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/s3_lib.c:4707,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/s3_lib.c:4712,1
    - Dst: ssl3_renegotiate_check
      Src: /src/openssl/ssl/s3_lib.c:4714,1
    - Dst: SSL*::method::ssl_write_bytes
      Src: /src/openssl/ssl/s3_lib.c:4716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4718
      start: 4705
    functionDepth: 1
    functionLinenumber: 4705
    functionLinenumberEnd: 4718
    functionName: ssl3_write
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSL*::method::ssl_write_bytes
    - SSL_CONNECTION_FROM_SSL_ONLY
    - clear_sys_error
    - ssl3_renegotiate_check
    linkageType: ''
    returnType: int
    signature: int ssl3_write(SSL *s, const void *buf, size_t len, size_t *written)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/s3_lib.c:4724,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/s3_lib.c:4729,1
    - Dst: ssl3_renegotiate_check
      Src: /src/openssl/ssl/s3_lib.c:4731,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/s3_lib.c:4734,1
    - Dst: ossl_statem_set_in_handshake
      Src: /src/openssl/ssl/s3_lib.c:4744,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/s3_lib.c:4746,1
    - Dst: ossl_statem_set_in_handshake
      Src: /src/openssl/ssl/s3_lib.c:4748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - s
    - buf
    - len
    - peek
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4753
      start: 4720
    functionDepth: 1
    functionLinenumber: 4720
    functionLinenumberEnd: 4753
    functionName: ssl3_read_internal
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - clear_sys_error
    - ossl_statem_set_in_handshake
    - SSL*::method::ssl_read_bytes
    - SSL_CONNECTION_FROM_SSL_ONLY
    - ssl3_renegotiate_check
    linkageType: ''
    returnType: int
    signature: "int ssl3_read_internal(SSL *s, void *buf, size_t len, int peek,\n
      \                             size_t *readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_read_internal
      Src: /src/openssl/ssl/s3_lib.c:4757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4758
      start: 4755
    functionDepth: 2
    functionLinenumber: 4755
    functionLinenumberEnd: 4758
    functionName: ssl3_read
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_read_internal
    linkageType: ''
    returnType: int
    signature: int ssl3_read(SSL *s, void *buf, size_t len, size_t *readbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_read_internal
      Src: /src/openssl/ssl/s3_lib.c:4762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4763
      start: 4760
    functionDepth: 2
    functionLinenumber: 4760
    functionLinenumberEnd: 4763
    functionName: ssl3_peek
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_read_internal
    linkageType: ''
    returnType: int
    signature: int ssl3_peek(SSL *s, void *buf, size_t len, size_t *readbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/s3_lib.c:4767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4777
      start: 4765
    functionDepth: 1
    functionLinenumber: 4765
    functionLinenumberEnd: 4777
    functionName: ssl3_renegotiate
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int ssl3_renegotiate(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/s3_lib.c:4790,1
    - Dst: RECORD_LAYER_read_pending
      Src: /src/openssl/ssl/s3_lib.c:4796,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/s3_lib.c:4797,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/s3_lib.c:4798,1
    - Dst: ossl_statem_set_renegotiate
      Src: /src/openssl/ssl/s3_lib.c:4804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - initok
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4812
      start: 4787
    functionDepth: 1
    functionLinenumber: 4787
    functionLinenumberEnd: 4812
    functionName: ssl3_renegotiate_check
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 2
    functionsReached:
    - ossl_statem_set_renegotiate
    - RECORD_LAYER_write_pending
    - SSL_in_init
    - RECORD_LAYER_read_pending
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int ssl3_renegotiate_check(SSL *s, int initok)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/s3_lib.c:4823,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4836
      start: 4820
    functionDepth: 1
    functionLinenumber: 4820
    functionLinenumberEnd: 4836
    functionName: ssl_get_algorithm2
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    linkageType: ''
    returnType: long
    signature: long ssl_get_algorithm2(SSL_CONNECTION *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/openssl/ssl/s3_lib.c:4855,1
    - Dst: l2n
      Src: /src/openssl/ssl/s3_lib.c:4858,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/s3_lib.c:4859,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:4859,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/s3_lib.c:4861,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:4861,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/s3_lib.c:4865,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/s3_lib.c:4866,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4869,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - s
    - server
    - result
    - len
    - dgrd
    argTypes:
    - SSL_CONNECTION*
    - int
    - unsigned char*
    - size_t
    - DOWNGRADE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4877
      start: 4842
    functionDepth: 7
    functionLinenumber: 4842
    functionLinenumberEnd: 4877
    functionName: ssl_fill_hello_random
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - time
    - ossl_assert
    - memcpy
    - l2n
    - SSL_CONNECTION_GET_CTX
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: "int ssl_fill_hello_random(SSL_CONNECTION *s, int server,\n                          unsigned
      char *result, size_t len,\n                          DOWNGRADE dgrd)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/s3_lib.c:4884,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:4899,1
    - Dst: s2n
      Src: /src/openssl/ssl/s3_lib.c:4903,1
    - Dst: memset
      Src: /src/openssl/ssl/s3_lib.c:4905,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4907,1
    - Dst: s2n
      Src: /src/openssl/ssl/s3_lib.c:4909,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_lib.c:4910,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:4912,1
    - Dst: SSL*::method::ssl3_enc::generate_master_secret
      Src: /src/openssl/ssl/s3_lib.c:4915,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:4918,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:4922,1
    - Dst: SSL*::method::ssl3_enc::generate_master_secret
      Src: /src/openssl/ssl/s3_lib.c:4928,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:4940,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/s3_lib.c:4942,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - s
    - pms
    - pmslen
    - free_pms
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4949
      start: 4879
    functionDepth: 1
    functionLinenumber: 4879
    functionLinenumberEnd: 4949
    functionName: ssl_generate_master_secret
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - OPENSSL_clear_free
    - s2n
    - SSL_CONNECTION_GET_SSL
    - SSL*::method::ssl3_enc::generate_master_secret
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ssl_generate_master_secret(SSL_CONNECTION *s, unsigned char *pms,\n
      \                              size_t pmslen, int free_pms)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:4956,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/s3_lib.c:4960,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/ssl/s3_lib.c:4963,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/ssl/s3_lib.c:4965,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:4966,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:4971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - pm
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4973
      start: 4952
    functionDepth: 8
    functionLinenumber: 4952
    functionLinenumberEnd: 4973
    functionName: ssl_generate_pkey
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_keygen
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *ssl_generate_pkey(SSL_CONNECTION *s, EVP_PKEY *pm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:4978,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/s3_lib.c:4979,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:4984,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/ssl/s3_lib.c:4988,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:4992,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/openssl/ssl/s3_lib.c:4995,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:4996,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/openssl/ssl/s3_lib.c:4999,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5000,1
    - Dst: EVP_PKEY_keygen
      Src: /src/openssl/ssl/s3_lib.c:5003,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5004,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:5005,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5010,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5012
      start: 4976
    functionDepth: 8
    functionLinenumber: 4976
    functionLinenumberEnd: 5012
    functionName: ssl_generate_pkey_group
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_group_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - tls1_group_id_lookup
    - EVP_PKEY_keygen
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *ssl_generate_pkey_group(SSL_CONNECTION *s, uint16_t id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:5019,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/s3_lib.c:5022,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/ssl/s3_lib.c:5027,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/openssl/ssl/s3_lib.c:5032,1
    - Dst: EVP_PKEY_CTX_set_group_name
      Src: /src/openssl/ssl/s3_lib.c:5034,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5035,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/openssl/ssl/s3_lib.c:5038,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/s3_lib.c:5039,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5044,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5046
      start: 5017
    functionDepth: 8
    functionLinenumber: 5017
    functionLinenumberEnd: 5046
    functionName: ssl_generate_param_group
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - tls1_group_id_lookup
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_paramgen
    - EVP_PKEY_CTX_set_group_name
    - EVP_PKEY_paramgen_init
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *ssl_generate_param_group(SSL_CONNECTION *s, uint16_t id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:5054,1
    - Dst: tls13_generate_secret
      Src: /src/openssl/ssl/s3_lib.c:5060,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/s3_lib.c:5060,1
    - Dst: tls13_generate_handshake_secret
      Src: /src/openssl/ssl/s3_lib.c:5066,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/s3_lib.c:5068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - pms
    - pmslen
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5072
      start: 5049
    functionDepth: 2
    functionLinenumber: 5049
    functionLinenumberEnd: 5072
    functionName: ssl_gensecret
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - ssl_handshake_md
    - tls13_generate_secret
    - ssl_generate_master_secret
    - tls13_generate_handshake_secret
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int ssl_gensecret(SSL_CONNECTION *s, unsigned char *pms, size_t pmslen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:5081,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5084,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/s3_lib.c:5088,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/openssl/ssl/s3_lib.c:5090,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/ssl/s3_lib.c:5091,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/ssl/s3_lib.c:5092,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5093,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:5097,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/s3_lib.c:5097,1
    - Dst: EVP_PKEY_CTX_set_dh_pad
      Src: /src/openssl/ssl/s3_lib.c:5098,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5100,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5102,1
    - Dst: EVP_PKEY_derive
      Src: /src/openssl/ssl/s3_lib.c:5106,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5110,1
    - Dst: ssl_gensecret
      Src: /src/openssl/ssl/s3_lib.c:5116,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5126,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5127,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - s
    - privkey
    - pubkey
    - gensecret
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5129
      start: 5075
    functionDepth: 5
    functionLinenumber: 5075
    functionLinenumberEnd: 5129
    functionName: ssl_derive
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_PKEY_derive_init
    - EVP_PKEY_is_a
    - OPENSSL_clear_free
    - EVP_PKEY_derive
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_CTX_set_dh_pad
    - ssl_gensecret
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int ssl_derive(SSL_CONNECTION *s, EVP_PKEY *privkey, EVP_PKEY *pubkey,
      int gensecret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:5140,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5143,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/s3_lib.c:5147,1
    - Dst: EVP_PKEY_decapsulate_init
      Src: /src/openssl/ssl/s3_lib.c:5149,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/ssl/s3_lib.c:5150,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5151,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5155,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5157,1
    - Dst: EVP_PKEY_decapsulate
      Src: /src/openssl/ssl/s3_lib.c:5161,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5162,1
    - Dst: ssl_gensecret
      Src: /src/openssl/ssl/s3_lib.c:5168,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5178,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - s
    - privkey
    - ct
    - ctlen
    - gensecret
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5181
      start: 5132
    functionDepth: 12
    functionLinenumber: 5132
    functionLinenumberEnd: 5181
    functionName: ssl_decapsulate
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_PKEY_decapsulate_init
    - EVP_PKEY_decapsulate
    - OPENSSL_clear_free
    - ssl_gensecret
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - SSL_CONNECTION_GET_CTX
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ssl_decapsulate(SSL_CONNECTION *s, EVP_PKEY *privkey,\n                    const
      unsigned char *ct, size_t ctlen,\n                    int gensecret)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_lib.c:5191,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5194,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/s3_lib.c:5198,1
    - Dst: EVP_PKEY_encapsulate_init
      Src: /src/openssl/ssl/s3_lib.c:5200,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/ssl/s3_lib.c:5201,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5203,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5207,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_lib.c:5208,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5210,1
    - Dst: EVP_PKEY_encapsulate
      Src: /src/openssl/ssl/s3_lib.c:5214,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_lib.c:5215,1
    - Dst: ssl_gensecret
      Src: /src/openssl/ssl/s3_lib.c:5221,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_lib.c:5238,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/s3_lib.c:5239,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/s3_lib.c:5240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 5
    argNames:
    - s
    - pubkey
    - ctp
    - ctlenp
    - gensecret
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    - unsigned char**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5242
      start: 5183
    functionDepth: 12
    functionLinenumber: 5183
    functionLinenumberEnd: 5242
    functionName: ssl_encapsulate
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - OPENSSL_clear_free
    - ssl_gensecret
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - EVP_PKEY_encapsulate
    - EVP_PKEY_encapsulate_init
    - SSL_CONNECTION_GET_CTX
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ssl_encapsulate(SSL_CONNECTION *s, EVP_PKEY *pubkey,\n                    unsigned
      char **ctp, size_t *ctlenp,\n                    int gensecret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_lib.c:5246,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/s3_lib.c:5252,1
    - Dst: tls1_group_id2name
      Src: /src/openssl/ssl/s3_lib.c:5257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5258
      start: 5244
    functionDepth: 1
    functionLinenumber: 5244
    functionLinenumberEnd: 5258
    functionName: SSL_get0_group_name
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_FROM_SSL
    - tls1_group_id2name
    linkageType: ''
    returnType: char
    signature: char *SSL_get0_group_name(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls1_nid2group_id
      Src: /src/openssl/ssl/s3_lib.c:5268,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/s3_lib.c:5271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - nid
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5276
      start: 5260
    functionDepth: 1
    functionLinenumber: 5260
    functionLinenumberEnd: 5276
    functionName: SSL_group_to_name
    functionSourceFile: /src/openssl/ssl/s3_lib.c
    functionUses: 5
    functionsReached:
    - tls1_nid2group_id
    - tls1_group_id_lookup
    linkageType: ''
    returnType: char
    signature: char *SSL_group_to_name(SSL *s, int nid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:23,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:26,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:27,1
    - Dst: RSA_up_ref
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:31,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:32,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:36,1
    - Dst: RSA_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:37,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:38,1
    - Dst: SSL_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:42,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ssl
    - rsa
    argTypes:
    - SSL*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 17
    functionDepth: 6
    functionLinenumber: 17
    functionLinenumberEnd: 45
    functionName: SSL_use_RSAPrivateKey
    functionSourceFile: /src/openssl/ssl/ssl_rsa_legacy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - RSA_free
    - EVP_PKEY_assign_RSA
    - EVP_PKEY_free
    - SSL_use_PrivateKey
    - RSA_up_ref
    linkageType: ''
    returnType: int
    signature: int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:54,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:58,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:58,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:60,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:64,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:65,1
    - Dst: d2i_RSAPrivateKey_bio
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:70,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:73,1
    - Dst: SSL_get_default_passwd_cb
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:74,1
    - Dst: SSL_get_default_passwd_cb_userdata
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:75,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:81,1
    - Dst: SSL_use_RSAPrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:84,1
    - Dst: RSA_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:85,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:87,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - ssl
    - file
    - type
    argTypes:
    - SSL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 47
    functionDepth: 7
    functionLinenumber: 47
    functionLinenumberEnd: 89
    functionName: SSL_use_RSAPrivateKey_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa_legacy.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - SSL_use_RSAPrivateKey
    - ERR_raise
    - RSA_free
    - BIO_free
    - SSL_get_default_passwd_cb
    - BIO_read_filename
    - PEM_read_bio_RSAPrivateKey
    - SSL_get_default_passwd_cb_userdata
    - BIO_s_file
    - d2i_RSAPrivateKey_bio
    linkageType: ''
    returnType: int
    signature: int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:98,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:99,1
    - Dst: SSL_use_RSAPrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:103,1
    - Dst: RSA_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - d
    - len
    argTypes:
    - SSL*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: SSL_use_RSAPrivateKey_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa_legacy.c
    functionUses: 0
    functionsReached:
    - d2i_RSAPrivateKey
    - SSL_use_RSAPrivateKey
    - ERR_raise
    - RSA_free
    linkageType: ''
    returnType: int
    signature: int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const unsigned char *d, long
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:114,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:117,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:118,1
    - Dst: RSA_up_ref
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:122,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:123,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:127,1
    - Dst: RSA_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:128,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:129,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:133,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - rsa
    argTypes:
    - SSL_CTX*
    - RSA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 108
    functionDepth: 6
    functionLinenumber: 108
    functionLinenumberEnd: 136
    functionName: SSL_CTX_use_RSAPrivateKey
    functionSourceFile: /src/openssl/ssl/ssl_rsa_legacy.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_new
    - RSA_free
    - EVP_PKEY_assign_RSA
    - EVP_PKEY_free
    - SSL_CTX_use_PrivateKey
    - RSA_up_ref
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:145,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:149,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:149,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:151,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:155,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:156,1
    - Dst: d2i_RSAPrivateKey_bio
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:161,1
    - Dst: PEM_read_bio_RSAPrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:164,1
    - Dst: SSL_CTX_get_default_passwd_cb
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:165,1
    - Dst: SSL_CTX_get_default_passwd_cb_userdata
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:166,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:168,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:172,1
    - Dst: SSL_CTX_use_RSAPrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:175,1
    - Dst: RSA_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:176,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - SSL_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 138
    functionDepth: 7
    functionLinenumber: 138
    functionLinenumberEnd: 180
    functionName: SSL_CTX_use_RSAPrivateKey_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa_legacy.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - ERR_raise
    - RSA_free
    - SSL_CTX_get_default_passwd_cb_userdata
    - BIO_free
    - BIO_read_filename
    - SSL_CTX_get_default_passwd_cb
    - SSL_CTX_use_RSAPrivateKey
    - PEM_read_bio_RSAPrivateKey
    - BIO_s_file
    - d2i_RSAPrivateKey_bio
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file,
      int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_RSAPrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:190,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:191,1
    - Dst: SSL_CTX_use_RSAPrivateKey
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:195,1
    - Dst: RSA_free
      Src: /src/openssl/ssl/ssl_rsa_legacy.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - d
    - len
    argTypes:
    - SSL_CTX*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 7
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: SSL_CTX_use_RSAPrivateKey_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa_legacy.c
    functionUses: 0
    functionsReached:
    - d2i_RSAPrivateKey
    - SSL_CTX_use_RSAPrivateKey
    - ERR_raise
    - RSA_free
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char
      *d,\n                                   long len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_enc.c:28,1
    - Dst: ssl_evp_md_fetch
      Src: /src/openssl/ssl/s3_enc.c:34,1
    - Dst: ssl_evp_md_fetch
      Src: /src/openssl/ssl/s3_enc.c:35,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/s3_enc.c:36,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/s3_enc.c:37,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:39,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:46,1
    - Dst: memset
      Src: /src/openssl/ssl/s3_enc.c:50,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/s3_enc.c:52,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:53,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:54,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:56,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:57,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/s3_enc.c:58,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/s3_enc.c:59,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:60,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:62,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:63,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/s3_enc.c:67,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:68,1
    - Dst: memcpy
      Src: /src/openssl/ssl/s3_enc.c:71,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/s3_enc.c:73,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:74,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/s3_enc.c:81,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/s3_enc.c:84,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/s3_enc.c:85,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/s3_enc.c:86,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/s3_enc.c:87,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 3
    argNames:
    - s
    - km
    - num
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 19
    functionDepth: 8
    functionLinenumber: 19
    functionLinenumberEnd: 89
    functionName: ssl3_generate_key_block
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memset
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - memcpy
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ssl_evp_md_free
    - EVP_DigestInit_ex
    - SSL_CONNECTION_GET_CTX
    - OPENSSL_cleanse
    - ssl_evp_md_fetch
    linkageType: ''
    returnType: int
    signature: int ssl3_generate_key_block(SSL_CONNECTION *s, unsigned char *km, int
      num)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/s3_enc.c:107,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:108,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/s3_enc.c:116,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:118,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/s3_enc.c:122,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/s3_enc.c:123,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:144,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/s3_enc.c:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - s
    - which
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 160
    functionName: ssl3_change_cipher_state
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - ssl_set_new_record_layer
    - ossl_assert
    - SSLfatal
    - EVP_MD_get_size
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: int ssl3_change_cipher_state(SSL_CONNECTION *s, int which)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_get_evp
      Src: /src/openssl/ssl/s3_enc.c:174,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_enc.c:174,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/s3_enc.c:177,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/s3_enc.c:181,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/s3_enc.c:183,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/s3_enc.c:191,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/s3_enc.c:195,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/s3_enc.c:195,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/openssl/ssl/s3_enc.c:198,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/s3_enc.c:200,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:201,1
    - Dst: ssl3_generate_key_block
      Src: /src/openssl/ssl/s3_enc.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 162
    functionDepth: 9
    functionLinenumber: 162
    functionLinenumberEnd: 212
    functionName: ssl3_setup_key_block
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - ssl3_cleanup_key_block
    - SSLfatal
    - EVP_MD_get_size
    - ssl_evp_md_free
    - ssl_cipher_get_evp
    - ssl3_generate_key_block
    - ssl_evp_cipher_free
    - SSL_CONNECTION_GET_CTX
    - SSLfatal_alert
    - EVP_CIPHER_get_key_length
    - OPENSSL_malloc
    - EVP_CIPHER_get_iv_length
    linkageType: ''
    returnType: int
    signature: int ssl3_setup_key_block(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/s3_enc.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: ssl3_cleanup_key_block
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 3
    functionsReached:
    - OPENSSL_clear_free
    linkageType: ''
    returnType: void
    signature: void ssl3_cleanup_key_block(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/ssl/s3_enc.c:223,1
    - Dst: BIO_s_mem
      Src: /src/openssl/ssl/s3_enc.c:223,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:226,1
    - Dst: ssl3_free_digest_list
      Src: /src/openssl/ssl/s3_enc.c:229,1
    - Dst: BIO_set_close
      Src: /src/openssl/ssl/s3_enc.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: ssl3_init_finished_mac
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - SSLfatal
    - BIO_set_close
    - ssl3_free_digest_list
    - BIO_s_mem
    linkageType: ''
    returnType: int
    signature: int ssl3_init_finished_mac(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/ssl/s3_enc.c:242,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/s3_enc.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 8
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: ssl3_free_digest_list
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 3
    functionsReached:
    - BIO_free
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void ssl3_free_digest_list(SSL_CONNECTION *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:255,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/s3_enc.c:258,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:260,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:264,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 271
    functionName: ssl3_finish_mac
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - SSLfatal
    - EVP_DigestUpdate
    linkageType: ''
    returnType: int
    signature: int ssl3_finish_mac(SSL_CONNECTION *s, const unsigned char *buf, size_t
      len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_data
      Src: /src/openssl/ssl/s3_enc.c:280,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:282,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/s3_enc.c:286,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:288,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/s3_enc.c:292,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:294,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/s3_enc.c:298,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:299,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:300,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/s3_enc.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - s
    - keep
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 273
    functionDepth: 6
    functionLinenumber: 273
    functionLinenumberEnd: 310
    functionName: ssl3_digest_cached_records
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_DigestUpdate
    - ssl_handshake_md
    - BIO_free
    - EVP_MD_CTX_new
    - BIO_get_mem_data
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: int ssl3_digest_cached_records(SSL_CONNECTION *s, int keep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/s3_enc.c:316,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/s3_enc.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - session
    - params
    argTypes:
    - SSL_SESSION*
    - OSSL_PARAM[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: ssl3_digest_master_key_set_params
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_string
    linkageType: ''
    returnType: void
    signature: "void ssl3_digest_master_key_set_params(const SSL_SESSION *session,\n
      \                                      OSSL_PARAM params[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/s3_enc.c:328,1
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/ssl/s3_enc.c:333,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:334,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/s3_enc.c:338,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:340,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/ssl/s3_enc.c:343,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:344,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/s3_enc.c:349,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:351,1
    - Dst: ssl3_digest_master_key_set_params
      Src: /src/openssl/ssl/s3_enc.c:359,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:361,1
    - Dst: EVP_MD_CTX_set_params
      Src: /src/openssl/ssl/s3_enc.c:362,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/s3_enc.c:363,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:364,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/s3_enc.c:370,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - s
    - sender
    - len
    - p
    argTypes:
    - SSL_CONNECTION*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 322
    functionDepth: 8
    functionLinenumber: 322
    functionLinenumberEnd: 373
    functionName: ssl3_final_finish_mac
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ssl3_digest_master_key_set_params
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_get_type
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_MD_CTX_get_size
    - ssl3_digest_cached_records
    - EVP_MD_CTX_copy_ex
    - EVP_MD_CTX_set_params
    linkageType: ''
    returnType: size_t
    signature: "size_t ssl3_final_finish_mac(SSL_CONNECTION *s, const char *sender,
      size_t len,\n                             unsigned char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHARSET_EBCDIC
      Src: /src/openssl/ssl/s3_enc.c:380,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/s3_enc.c:391,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/s3_enc.c:397,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/s3_enc.c:401,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_enc.c:401,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:402,1
    - Dst: strlen
      Src: /src/openssl/ssl/s3_enc.c:403,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:404,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:405,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:407,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/s3_enc.c:409,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/s3_enc.c:410,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/s3_enc.c:410,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:411,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/s3_enc.c:412,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/s3_enc.c:413,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 5
    argNames:
    - s
    - out
    - p
    - len
    - secret_size
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 375
    functionDepth: 6
    functionLinenumber: 375
    functionLinenumberEnd: 417
    functionName: ssl3_generate_master_secret
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_DigestInit_ex
    - SSL_CONNECTION_GET_CTX
    - strlen
    - CHARSET_EBCDIC
    linkageType: ''
    returnType: int
    signature: "int ssl3_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,\n
      \                               unsigned char *p,\n                                size_t
      len, size_t *secret_size)"
  - BBCount: 36
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 503
    functionName: ssl3_alert_code
    functionSourceFile: /src/openssl/ssl/s3_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl3_alert_code(int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - table
    - table_cnt
    - mask
    argTypes:
    - ssl_cipher_table*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: ssl_cipher_info_find
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_info_find(const ssl_cipher_table *table,\n                                size_t
      table_cnt, uint32_t mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: ssl_cipher_info_lookup
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_cipher_info_lookup(table, x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/ssl/ssl_ciph.c:294,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/ssl/ssl_ciph.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pkey_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: get_optional_pkey_id
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_asn1_find_str
    - EVP_PKEY_asn1_get0_info
    linkageType: ''
    returnType: int
    signature: int get_optional_pkey_id(const char *pkey_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_asn1_find_str
      Src: /src/openssl/ssl/ssl_ciph.c:308,1
    - Dst: EVP_PKEY_asn1_get0_info
      Src: /src/openssl/ssl/ssl_ciph.c:310,1
    - Dst: tls_engine_finish
      Src: /src/openssl/ssl/ssl_ciph.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pkey_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 6
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: get_optional_pkey_id
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_asn1_find_str
    - tls_engine_finish
    - EVP_PKEY_asn1_get0_info
    linkageType: ''
    returnType: int
    signature: int get_optional_pkey_id(const char *pkey_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkey_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: get_optional_pkey_id
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_optional_pkey_id(const char *pkey_name)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:337,1
    - Dst: ssl_evp_md_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:347,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/ssl_ciph.c:353,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/ssl_ciph.c:355,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_ciph.c:368,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:369,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/ssl/ssl_ciph.c:373,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:374,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/ssl/ssl_ciph.c:378,1
    - Dst: EVP_KEYEXCH_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:379,1
    - Dst: EVP_KEYEXCH_free
      Src: /src/openssl/ssl/ssl_ciph.c:383,1
    - Dst: EVP_SIGNATURE_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:384,1
    - Dst: EVP_SIGNATURE_free
      Src: /src/openssl/ssl/ssl_ciph.c:388,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_ciph.c:389,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_ciph.c:403,1
    - Dst: get_optional_pkey_id
      Src: /src/openssl/ssl/ssl_ciph.c:407,1
    - Dst: get_optional_pkey_id
      Src: /src/openssl/ssl/ssl_ciph.c:414,1
    - Dst: get_optional_pkey_id
      Src: /src/openssl/ssl/ssl_ciph.c:421,1
    - Dst: get_optional_pkey_id
      Src: /src/openssl/ssl/ssl_ciph.c:428,1
    - Dst: get_optional_pkey_id
      Src: /src/openssl/ssl/ssl_ciph.c:434,1
    - Dst: get_optional_pkey_id
      Src: /src/openssl/ssl/ssl_ciph.c:436,1
    - Dst: get_optional_pkey_id
      Src: /src/openssl/ssl/ssl_ciph.c:438,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 326
    functionDepth: 5
    functionLinenumber: 326
    functionLinenumberEnd: 451
    functionName: ssl_load_ciphers
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ssl_evp_cipher_fetch
    - ossl_assert
    - EVP_SIGNATURE_fetch
    - EVP_SIGNATURE_free
    - EVP_MD_get_size
    - ERR_pop_to_mark
    - EVP_KEYEXCH_free
    - ERR_set_mark
    - memcpy
    - get_optional_pkey_id
    - EVP_KEYEXCH_fetch
    - ssl_evp_md_fetch
    linkageType: ''
    returnType: int
    signature: int ssl_load_ciphers(SSL_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_info_lookup
      Src: /src/openssl/ssl/ssl_ciph.c:456,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:468,1
    - Dst: ssl_evp_cipher_up_ref
      Src: /src/openssl/ssl/ssl_ciph.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - sslc
    - enc
    argTypes:
    - SSL_CTX*
    - SSL_CIPHER*
    - EVP_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 481
    functionName: ssl_cipher_get_evp_cipher
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ssl_cipher_info_lookup
    - EVP_CIPHER_fetch
    - ssl_evp_cipher_up_ref
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_get_evp_cipher(SSL_CTX *ctx, const SSL_CIPHER *sslc,\n
      \                             const EVP_CIPHER **enc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_info_lookup
      Src: /src/openssl/ssl/ssl_ciph.c:487,1
    - Dst: ssl_evp_md_up_ref
      Src: /src/openssl/ssl/ssl_ciph.c:498,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - ctx
    - sslc
    - md
    - mac_pkey_type
    - mac_secret_size
    argTypes:
    - SSL_CTX*
    - SSL_CIPHER*
    - EVP_MD**
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 508
    functionName: ssl_cipher_get_evp_md_mac
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ssl_cipher_info_lookup
    - ssl_evp_md_up_ref
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_get_evp_md_mac(SSL_CTX *ctx, const SSL_CIPHER *sslc,\n
      \                             const EVP_MD **md,\n                              int
      *mac_pkey_type, size_t *mac_secret_size)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_ciph.c:523,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/ssl/ssl_ciph.c:527,1
    - Dst: sk_SSL_COMP_find
      Src: /src/openssl/ssl/ssl_ciph.c:529,1
    - Dst: sk_SSL_COMP_value
      Src: /src/openssl/ssl/ssl_ciph.c:531,1
    - Dst: ssl_cipher_get_evp_cipher
      Src: /src/openssl/ssl/ssl_ciph.c:541,1
    - Dst: ssl_cipher_get_evp_md_mac
      Src: /src/openssl/ssl/ssl_ciph.c:544,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/ssl_ciph.c:546,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/ssl_ciph.c:552,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:564,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:568,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:573,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:578,1
    - Dst: ssl_evp_cipher_fetch
      Src: /src/openssl/ssl/ssl_ciph.c:583,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/ssl_ciph.c:588,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/ssl_ciph.c:589,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 47
    argCount: 8
    argNames:
    - ctx
    - s
    - enc
    - md
    - mac_pkey_type
    - mac_secret_size
    - comp
    - use_etm
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    - EVP_CIPHER**
    - EVP_MD**
    - int*
    - size_t*
    - SSL_COMP**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 597
    functionName: ssl_cipher_get_evp
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 1
    functionsReached:
    - ssl_evp_cipher_fetch
    - SSL_COMP_get_compression_methods
    - ssl_cipher_get_evp_cipher
    - ssl_evp_md_free
    - STACK_OF
    - EVP_CIPHER_get_flags
    - sk_SSL_COMP_find
    - ssl_cipher_get_evp_md_mac
    - ssl_evp_cipher_free
    - sk_SSL_COMP_value
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_get_evp(SSL_CTX *ctx, const SSL_SESSION *s,\n                       const
      EVP_CIPHER **enc, const EVP_MD **md,\n                       int *mac_pkey_type,
      size_t *mac_secret_size,\n                       SSL_COMP **comp, int use_etm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 605
    functionName: ssl_md
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ssl_md(SSL_CTX *ctx, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_md
      Src: /src/openssl/ssl/ssl_ciph.c:609,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_ciph.c:609,1
    - Dst: ssl_get_algorithm2
      Src: /src/openssl/ssl/ssl_ciph.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: ssl_handshake_md
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 4
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - ssl_get_algorithm2
    - ssl_md
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ssl_handshake_md(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_md
      Src: /src/openssl/ssl/ssl_ciph.c:614,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_ciph.c:614,1
    - Dst: ssl_get_algorithm2
      Src: /src/openssl/ssl/ssl_ciph.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: ssl_prf_md
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - ssl_get_algorithm2
    - ssl_md
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *ssl_prf_md(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: ITEM_SEP
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITEM_SEP(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - head
    - curr
    - tail
    argTypes:
    - CIPHER_ORDER**
    - CIPHER_ORDER*
    - CIPHER_ORDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 637
    functionName: ll_append_tail
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ll_append_tail(CIPHER_ORDER **head, CIPHER_ORDER *curr,\n                           CIPHER_ORDER
      **tail)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - head
    - curr
    - tail
    argTypes:
    - CIPHER_ORDER**
    - CIPHER_ORDER*
    - CIPHER_ORDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 654
    functionName: ll_append_head
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ll_append_head(CIPHER_ORDER **head, CIPHER_ORDER *curr,\n                           CIPHER_ORDER
      **tail)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_METHOD*::get_cipher
      Src: /src/openssl/ssl/ssl_ciph.c:679,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 9
    argNames:
    - ssl_method
    - num_of_ciphers
    - disabled_mkey
    - disabled_auth
    - disabled_enc
    - disabled_mac
    - co_list
    - head_p
    - tail_p
    argTypes:
    - SSL_METHOD*
    - int
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - CIPHER_ORDER*
    - CIPHER_ORDER**
    - CIPHER_ORDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 724
    functionName: ssl_cipher_collect_ciphers
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - SSL_METHOD*::get_cipher
    linkageType: ''
    returnType: void
    signature: "void ssl_cipher_collect_ciphers(const SSL_METHOD *ssl_method,\n                                       int
      num_of_ciphers,\n                                       uint32_t disabled_mkey,\n
      \                                      uint32_t disabled_auth,\n                                       uint32_t
      disabled_enc,\n                                       uint32_t disabled_mac,\n
      \                                      CIPHER_ORDER *co_list,\n                                       CIPHER_ORDER
      **head_p,\n                                       CIPHER_ORDER **tail_p)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 7
    argNames:
    - ca_list
    - num_of_group_aliases
    - disabled_mkey
    - disabled_auth
    - disabled_enc
    - disabled_mac
    - head
    argTypes:
    - SSL_CIPHER**
    - int
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - CIPHER_ORDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 786
    functionName: ssl_cipher_collect_aliases
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ssl_cipher_collect_aliases(const SSL_CIPHER **ca_list,\n                                       int
      num_of_group_aliases,\n                                       uint32_t disabled_mkey,\n
      \                                      uint32_t disabled_auth,\n                                       uint32_t
      disabled_enc,\n                                       uint32_t disabled_mac,\n
      \                                      CIPHER_ORDER *head)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_ciph.c:800,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_ciph.c:845,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_ciph.c:877,1
    - Dst: ll_append_tail
      Src: /src/openssl/ssl/ssl_ciph.c:883,1
    - Dst: ll_append_tail
      Src: /src/openssl/ssl/ssl_ciph.c:891,1
    - Dst: ll_append_head
      Src: /src/openssl/ssl/ssl_ciph.c:901,1
    - Dst: ll_append_head
      Src: /src/openssl/ssl/ssl_ciph.c:906,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/ssl_ciph.c:928,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 88
    argCount: 11
    argNames:
    - cipher_id
    - alg_mkey
    - alg_auth
    - alg_enc
    - alg_mac
    - min_tls
    - algo_strength
    - rule
    - strength_bits
    - head_p
    - tail_p
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    - uint32_t
    - int
    - int32_t
    - CIPHER_ORDER**
    - CIPHER_ORDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 929
    functionName: ssl_cipher_apply_rule
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ll_append_tail
    - ll_append_head
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void ssl_cipher_apply_rule(uint32_t cipher_id, uint32_t alg_mkey,\n
      \                                 uint32_t alg_auth, uint32_t alg_enc,\n                                  uint32_t
      alg_mac, int min_tls,\n                                  uint32_t algo_strength,
      int rule,\n                                  int32_t strength_bits, CIPHER_ORDER
      **head_p,\n                                  CIPHER_ORDER **tail_p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_ciph.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 805
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS_CIPHER)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/ssl_ciph.c:951,1
    - Dst: ssl_cipher_apply_rule
      Src: /src/openssl/ssl/ssl_ciph.c:970,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_ciph.c:973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - head_p
    - tail_p
    argTypes:
    - CIPHER_ORDER**
    - CIPHER_ORDER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 931
    functionDepth: 3
    functionLinenumber: 931
    functionLinenumberEnd: 975
    functionName: ssl_cipher_strength_sort
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_calloc
    - ssl_cipher_apply_rule
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_strength_sort(CIPHER_ORDER **head_p,\n                                    CIPHER_ORDER
      **tail_p)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: ITEM_SEP
      Src: /src/openssl/ssl/ssl_ciph.c:1012,1
    - Dst: isalnum
      Src: /src/openssl/ssl/ssl_ciph.c:1034,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1048,1
    - Dst: strncmp
      Src: /src/openssl/ssl/ssl_ciph.c:1079,1
    - Dst: strncmp
      Src: /src/openssl/ssl/ssl_ciph.c:1084,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1204,1
    - Dst: ssl_cipher_strength_sort
      Src: /src/openssl/ssl/ssl_ciph.c:1205,1
    - Dst: CHECK_AND_SKIP_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1206,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1209,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1215,1
    - Dst: ITEM_SEP
      Src: /src/openssl/ssl/ssl_ciph.c:1225,1
    - Dst: ssl_cipher_apply_rule
      Src: /src/openssl/ssl/ssl_ciph.c:1228,1
    - Dst: ITEM_SEP
      Src: /src/openssl/ssl/ssl_ciph.c:1233,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 184
    argCount: 5
    argNames:
    - rule_str
    - head_p
    - tail_p
    - ca_list
    - c
    argTypes:
    - char*
    - CIPHER_ORDER**
    - CIPHER_ORDER**
    - SSL_CIPHER**
    - CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 977
    functionDepth: 4
    functionLinenumber: 977
    functionLinenumberEnd: 1241
    functionName: ssl_cipher_process_rulestr
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - isalnum
    - ERR_raise
    - ssl_cipher_apply_rule
    - CHECK_AND_SKIP_PREFIX
    - strncmp
    - ssl_cipher_strength_sort
    - ITEM_SEP
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_process_rulestr(const char *rule_str,\n                                      CIPHER_ORDER
      **head_p,\n                                      CIPHER_ORDER **tail_p,\n                                      const
      SSL_CIPHER **ca_list, CERT *c)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1247,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1249,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1252,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_ciph.c:1254,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1270,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - meth
    - c
    - prule_str
    argTypes:
    - SSL_METHOD*
    - CERT*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1290
    functionName: check_suiteb_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: "int check_suiteb_cipher_list(const SSL_METHOD *meth, CERT *c,\n                                    const
      char **prule_str)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_ciph.c:1294,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_ciph.c:1294,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_ciph.c:1303,1
    - Dst: ssl3_get_cipher_by_std_name
      Src: /src/openssl/ssl/ssl_ciph.c:1306,1
    - Dst: sk_SSL_CIPHER_push
      Src: /src/openssl/ssl/ssl_ciph.c:1311,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_ciph.c:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1317
    functionName: ciphersuite_cb
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ssl3_get_cipher_by_std_name
    - memcpy
    - STACK_OF
    - sk_SSL_CIPHER_push
    linkageType: ''
    returnType: int
    signature: int ciphersuite_cb(const char *elem, int len, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_ciphersuites
      Src: /src/openssl/ssl/ssl_ciph.c:1404,1
    - Dst: update_cipher_list
      Src: /src/openssl/ssl/ssl_ciph.c:1407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1411
    functionName: SSL_CTX_set_ciphersuites
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 19
    functionsReached:
    - update_cipher_list
    - set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_ciphersuites(SSL_CTX *ctx, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_ciph.c:1415,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_ciph.c:1416,1
    - Dst: set_ciphersuites
      Src: /src/openssl/ssl/ssl_ciph.c:1422,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/ssl_ciph.c:1425,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/ssl_ciph.c:1426,1
    - Dst: update_cipher_list
      Src: /src/openssl/ssl/ssl_ciph.c:1429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1434
    functionName: SSL_set_ciphersuites
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 6
    functionsReached:
    - sk_SSL_CIPHER_dup
    - update_cipher_list
    - STACK_OF
    - SSL_get_ciphers
    - SSL_CONNECTION_FROM_SSL
    - set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int SSL_set_ciphersuites(SSL *s, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_ciph.c:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1654
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS_CIPHER)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_ciph.c:1693,1
    - Dst: ssl_protocol_to_string
      Src: /src/openssl/ssl/ssl_ciph.c:1704,1
    - Dst: BIO_snprintf
      Src: /src/openssl/ssl/ssl_ciph.c:1886,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 191
    argCount: 3
    argNames:
    - cipher
    - buf
    - len
    argTypes:
    - SSL_CIPHER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1889
    functionName: SSL_CIPHER_description
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 1
    functionsReached:
    - ssl_protocol_to_string
    - BIO_snprintf
    - OPENSSL_malloc
    linkageType: ''
    returnType: char
    signature: char *SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_protocol_to_string
      Src: /src/openssl/ssl/ssl_ciph.c:1902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1903
    functionName: SSL_CIPHER_get_version
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 3
    functionsReached:
    - ssl_protocol_to_string
    linkageType: ''
    returnType: char
    signature: char *SSL_CIPHER_get_version(const SSL_CIPHER *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1911
    functionName: SSL_CIPHER_get_name
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_CIPHER_get_name(const SSL_CIPHER *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1919
    functionName: SSL_CIPHER_standard_name
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_CIPHER_standard_name(const SSL_CIPHER *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_get_cipher_by_std_name
      Src: /src/openssl/ssl/ssl_ciph.c:1928,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/ssl/ssl_ciph.c:1929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stdname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1930
    functionName: OPENSSL_cipher_name
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 2
    functionsReached:
    - ssl3_get_cipher_by_std_name
    - SSL_CIPHER_get_name
    linkageType: ''
    returnType: char
    signature: char *OPENSSL_cipher_name(const char *stdname)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - c
    - alg_bits
    argTypes:
    - SSL_CIPHER*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1943
    functionName: SSL_CIPHER_get_bits
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CIPHER_get_bits(const SSL_CIPHER *c, int *alg_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1948
    functionName: SSL_CIPHER_get_id
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1953
    functionName: SSL_CIPHER_get_protocol_id
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_info_lookup
      Src: /src/openssl/ssl/ssl_ciph.c:2123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2121
    functionDepth: 1
    functionLinenumber: 2121
    functionLinenumberEnd: 2128
    functionName: SSL_CIPHER_get_digest_nid
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 1
    functionsReached:
    - ssl_cipher_info_lookup
    linkageType: ''
    returnType: int
    signature: int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_info_lookup
      Src: /src/openssl/ssl/ssl_ciph.c:2132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2130
    functionDepth: 1
    functionLinenumber: 2130
    functionLinenumberEnd: 2137
    functionName: SSL_CIPHER_get_kx_nid
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ssl_cipher_info_lookup
    linkageType: ''
    returnType: int
    signature: int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_info_lookup
      Src: /src/openssl/ssl/ssl_ciph.c:2141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2139
    functionDepth: 1
    functionLinenumber: 2139
    functionLinenumberEnd: 2146
    functionName: SSL_CIPHER_get_auth_nid
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 1
    functionsReached:
    - ssl_cipher_info_lookup
    linkageType: ''
    returnType: int
    signature: int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md_nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2156
    functionName: ssl_get_md_idx
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_get_md_idx(int md_nid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/ssl/ssl_ciph.c:2164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2165
    functionName: SSL_CIPHER_get_handshake_digest
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 1
    functionsReached:
    - EVP_get_digestbynid
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2170
    functionName: SSL_CIPHER_is_aead
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CIPHER_is_aead(const SSL_CIPHER *c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CIPHER_get_digest_nid
      Src: /src/openssl/ssl/ssl_ciph.c:2193,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/ssl/ssl_ciph.c:2194,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/ssl_ciph.c:2199,1
    - Dst: SSL_CIPHER_get_cipher_nid
      Src: /src/openssl/ssl/ssl_ciph.c:2203,1
    - Dst: EVP_get_cipherbynid
      Src: /src/openssl/ssl/ssl_ciph.c:2204,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/ssl_ciph.c:2209,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/ssl_ciph.c:2213,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/ssl/ssl_ciph.c:2216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - c
    - mac_overhead
    - int_overhead
    - blocksize
    - ext_overhead
    argTypes:
    - SSL_CIPHER*
    - size_t*
    - size_t*
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2172
    functionDepth: 2
    functionLinenumber: 2172
    functionLinenumberEnd: 2228
    functionName: ssl_cipher_get_overhead
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_get_block_size
    - SSL_CIPHER_get_digest_nid
    - EVP_MD_get_size
    - EVP_get_cipherbynid
    - EVP_get_digestbynid
    - SSL_CIPHER_get_cipher_nid
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_get_overhead(const SSL_CIPHER *c, size_t *mac_overhead,\n
      \                           size_t *int_overhead, size_t *blocksize,\n                            size_t
      *ext_overhead)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cert_lookup_by_idx
      Src: /src/openssl/ssl/ssl_ciph.c:2238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - SSL_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2230
    functionDepth: 1
    functionLinenumber: 2230
    functionLinenumberEnd: 2242
    functionName: ssl_cert_is_disabled
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached:
    - ssl_cert_lookup_by_idx
    linkageType: ''
    returnType: int
    signature: int ssl_cert_is_disabled(SSL_CTX *ctx, size_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2252
    functionName: OSSL_default_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_default_cipher_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2264
    functionName: OSSL_default_ciphersuites
    functionSourceFile: /src/openssl/ssl/ssl_ciph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *OSSL_default_ciphersuites(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/d1_lib.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: dtls1_default_timeout
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - ossl_seconds2time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME dtls1_default_timeout(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:68,1
    - Dst: DTLS_RECORD_LAYER_new
      Src: /src/openssl/ssl/d1_lib.c:73,1
    - Dst: ssl3_new
      Src: /src/openssl/ssl/d1_lib.c:77,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/d1_lib.c:79,1
    - Dst: ssl3_free
      Src: /src/openssl/ssl/d1_lib.c:80,1
    - Dst: pqueue_new
      Src: /src/openssl/ssl/d1_lib.c:84,1
    - Dst: pqueue_new
      Src: /src/openssl/ssl/d1_lib.c:85,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/d1_lib.c:95,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/d1_lib.c:96,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:97,1
    - Dst: ssl3_free
      Src: /src/openssl/ssl/d1_lib.c:98,1
    - Dst: SSL*::method::ssl_clear
      Src: /src/openssl/ssl/d1_lib.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: dtls1_new
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - SSL*::method::ssl_clear
    - DTLS_RECORD_LAYER_new
    - ssl3_new
    - OPENSSL_free
    - ssl3_free
    - pqueue_free
    - SSL_CONNECTION_FROM_SSL_ONLY
    - pqueue_new
    linkageType: ''
    returnType: int
    signature: int dtls1_new(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtls1_clear_received_buffer
      Src: /src/openssl/ssl/d1_lib.c:112,1
    - Dst: dtls1_clear_sent_buffer
      Src: /src/openssl/ssl/d1_lib.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: dtls1_clear_queues
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - dtls1_clear_sent_buffer
    - dtls1_clear_received_buffer
    linkageType: ''
    returnType: void
    signature: void dtls1_clear_queues(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/d1_lib.c:121,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/d1_lib.c:123,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/d1_lib.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: dtls1_clear_received_buffer
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - pqueue_pop
    - pitem_free
    - dtls1_hm_fragment_free
    linkageType: ''
    returnType: void
    signature: void dtls1_clear_received_buffer(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/d1_lib.c:133,1
    - Dst: hm_fragment*::msg_header::saved_retransmit_state::wrlmethod::free
      Src: /src/openssl/ssl/d1_lib.c:143,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/d1_lib.c:146,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/d1_lib.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: dtls1_clear_sent_buffer
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - dtls1_hm_fragment_free
    - pqueue_pop
    - pitem_free
    - hm_fragment*::msg_header::saved_retransmit_state::wrlmethod::free
    linkageType: ''
    returnType: void
    signature: void dtls1_clear_sent_buffer(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:154,1
    - Dst: dtls1_clear_queues
      Src: /src/openssl/ssl/d1_lib.c:160,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/d1_lib.c:161,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/d1_lib.c:162,1
    - Dst: DTLS_RECORD_LAYER_free
      Src: /src/openssl/ssl/d1_lib.c:165,1
    - Dst: ssl3_free
      Src: /src/openssl/ssl/d1_lib.c:167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: dtls1_free
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - pqueue_free
    - ssl3_free
    - dtls1_clear_queues
    - SSL_CONNECTION_FROM_SSL_ONLY
    - DTLS_RECORD_LAYER_free
    linkageType: ''
    returnType: void
    signature: void dtls1_free(SSL *ssl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:180,1
    - Dst: DTLS_RECORD_LAYER_clear
      Src: /src/openssl/ssl/d1_lib.c:185,1
    - Dst: dtls1_clear_queues
      Src: /src/openssl/ssl/d1_lib.c:195,1
    - Dst: memset
      Src: /src/openssl/ssl/d1_lib.c:197,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/d1_lib.c:206,1
    - Dst: ssl3_clear
      Src: /src/openssl/ssl/d1_lib.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 228
    functionName: dtls1_clear
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - memset
    - dtls1_clear_queues
    - SSL_get_options
    - DTLS_RECORD_LAYER_clear
    - SSL_CONNECTION_FROM_SSL_ONLY
    - ssl3_clear
    linkageType: ''
    returnType: int
    signature: int dtls1_clear(SSL *ssl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:234,1
    - Dst: dtls1_get_timeout
      Src: /src/openssl/ssl/d1_lib.c:241,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/ssl/d1_lib.c:242,1
    - Dst: dtls1_handle_timeout
      Src: /src/openssl/ssl/d1_lib.c:247,1
    - Dst: dtls1_link_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:250,1
    - Dst: dtls1_link_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:255,1
    - Dst: dtls1_link_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:261,1
    - Dst: ssl3_ctrl
      Src: /src/openssl/ssl/d1_lib.c:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - ssl
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 230
    functionDepth: 6
    functionLinenumber: 230
    functionLinenumberEnd: 270
    functionName: dtls1_ctrl
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_ctrl
    - dtls1_handle_timeout
    - dtls1_get_timeout
    - ossl_time_to_timeval
    - SSL_CONNECTION_FROM_SSL_ONLY
    - dtls1_link_min_mtu
    linkageType: ''
    returnType: long
    signature: long dtls1_ctrl(SSL *ssl, int cmd, long larg, void *parg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/ssl/d1_lib.c:274,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bio
    - d1
    argTypes:
    - BIO*
    - DTLS1_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: dtls1_bio_set_next_timeout
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - ossl_time_to_timeval
    linkageType: ''
    returnType: void
    signature: void dtls1_bio_set_next_timeout(BIO *bio, const DTLS1_STATE *d1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/d1_lib.c:282,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/d1_lib.c:286,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:286,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/d1_lib.c:287,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/d1_lib.c:296,1
    - Dst: SSL_CONNECTION*::d1::timer_cb
      Src: /src/openssl/ssl/d1_lib.c:298,1
    - Dst: ossl_us2time
      Src: /src/openssl/ssl/d1_lib.c:304,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/d1_lib.c:305,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/d1_lib.c:305,1
    - Dst: dtls1_bio_set_next_timeout
      Src: /src/openssl/ssl/d1_lib.c:308,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/d1_lib.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 309
    functionName: dtls1_start_timer
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - ossl_time_zero
    - dtls1_bio_set_next_timeout
    - SSL_CONNECTION_GET_SSL
    - SSL_get_wbio
    - ossl_time_add
    - ossl_time_now
    - ossl_time_is_zero
    - BIO_dgram_is_sctp
    - SSL_get_rbio
    - ossl_us2time
    - SSL_CONNECTION*::d1::timer_cb
    linkageType: ''
    returnType: void
    signature: void dtls1_start_timer(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/d1_lib.c:316,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/d1_lib.c:320,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/d1_lib.c:327,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/d1_lib.c:328,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/d1_lib.c:328,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/d1_lib.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - timeleft
    argTypes:
    - SSL_CONNECTION*
    - OSSL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 331
    functionName: dtls1_get_timeout
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - ossl_time_zero
    - ossl_ms2time
    - ossl_time_compare
    - ossl_time_subtract
    - ossl_time_now
    - ossl_time_is_zero
    linkageType: ''
    returnType: int
    signature: int dtls1_get_timeout(const SSL_CONNECTION *s, OSSL_TIME *timeleft)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dtls1_get_timeout
      Src: /src/openssl/ssl/d1_lib.c:338,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/d1_lib.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: dtls1_is_timer_expired
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - ossl_time_is_zero
    - dtls1_get_timeout
    linkageType: ''
    returnType: int
    signature: int dtls1_is_timer_expired(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: dtls1_double_timeout
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dtls1_double_timeout(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/d1_lib.c:360,1
    - Dst: dtls1_bio_set_next_timeout
      Src: /src/openssl/ssl/d1_lib.c:362,1
    - Dst: dtls1_clear_sent_buffer
      Src: /src/openssl/ssl/d1_lib.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: dtls1_stop_timer
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - ossl_time_zero
    - dtls1_clear_sent_buffer
    - dtls1_bio_set_next_timeout
    linkageType: ''
    returnType: void
    signature: void dtls1_stop_timer(SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/d1_lib.c:370,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/d1_lib.c:376,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:378,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:378,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/d1_lib.c:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 390
    functionName: dtls1_check_timeout_num
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - BIO_ctrl
    - SSL_CONNECTION_GET_SSL
    - SSL_get_options
    - SSL_get_wbio
    linkageType: ''
    returnType: int
    signature: int dtls1_check_timeout_num(SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtls1_is_timer_expired
      Src: /src/openssl/ssl/d1_lib.c:395,1
    - Dst: SSL_CONNECTION*::d1::timer_cb
      Src: /src/openssl/ssl/d1_lib.c:400,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/d1_lib.c:400,1
    - Dst: dtls1_double_timeout
      Src: /src/openssl/ssl/d1_lib.c:403,1
    - Dst: dtls1_check_timeout_num
      Src: /src/openssl/ssl/d1_lib.c:405,1
    - Dst: dtls1_start_timer
      Src: /src/openssl/ssl/d1_lib.c:410,1
    - Dst: dtls1_retransmit_buffered_messages
      Src: /src/openssl/ssl/d1_lib.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 413
    functionName: dtls1_handle_timeout
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - dtls1_check_timeout_num
    - dtls1_is_timer_expired
    - dtls1_retransmit_buffered_messages
    - dtls1_start_timer
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION*::d1::timer_cb
    - dtls1_double_timeout
    linkageType: ''
    returnType: int
    signature: int dtls1_handle_timeout(SSL_CONNECTION *s)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:431,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/d1_lib.c:438,1
    - Dst: SSL_clear
      Src: /src/openssl/ssl/d1_lib.c:442,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/d1_lib.c:445,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/d1_lib.c:447,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:448,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:451,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:463,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/d1_lib.c:467,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/d1_lib.c:470,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:472,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/d1_lib.c:479,1
    - Dst: BIO_read
      Src: /src/openssl/ssl/d1_lib.c:480,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/d1_lib.c:483,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/d1_lib.c:491,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:492,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:508,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/d1_lib.c:513,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/d1_lib.c:514,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/d1_lib.c:515,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:516,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/d1_lib.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:525,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:534,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/d1_lib.c:539,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/d1_lib.c:540,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:541,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:551,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/d1_lib.c:556,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/d1_lib.c:559,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/d1_lib.c:560,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/d1_lib.c:561,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/d1_lib.c:562,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/d1_lib.c:563,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/ssl/d1_lib.c:564,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/d1_lib.c:565,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:566,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:571,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:577,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:590,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/d1_lib.c:595,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/d1_lib.c:599,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:600,1
    - Dst: DTLS_VERSION_LT
      Src: /src/openssl/ssl/d1_lib.c:607,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:609,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/d1_lib.c:613,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/d1_lib.c:614,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/d1_lib.c:615,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:620,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/d1_lib.c:628,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:635,1
    - Dst: SSL*::ctx::app_verify_cookie_cb
      Src: /src/openssl/ssl/d1_lib.c:640,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/d1_lib.c:640,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/d1_lib.c:641,1
    - Dst: SSL*::ctx::app_gen_cookie_cb
      Src: /src/openssl/ssl/d1_lib.c:666,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:668,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/d1_lib.c:683,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/d1_lib.c:685,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/d1_lib.c:688,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/d1_lib.c:689,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/d1_lib.c:694,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/d1_lib.c:696,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/d1_lib.c:698,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/ssl/d1_lib.c:706,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/d1_lib.c:711,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/ssl/d1_lib.c:716,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/d1_lib.c:723,1
    - Dst: dtls_raw_hello_verify_request
      Src: /src/openssl/ssl/d1_lib.c:725,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/d1_lib.c:727,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/d1_lib.c:729,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/d1_lib.c:730,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/d1_lib.c:731,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:732,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/d1_lib.c:733,1
    - Dst: memcpy
      Src: /src/openssl/ssl/d1_lib.c:746,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/d1_lib.c:751,1
    - Dst: BIO_ADDR_new
      Src: /src/openssl/ssl/d1_lib.c:755,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:756,1
    - Dst: BIO_dgram_get_peer
      Src: /src/openssl/ssl/d1_lib.c:765,1
    - Dst: BIO_dgram_set_peer
      Src: /src/openssl/ssl/d1_lib.c:766,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/ssl/d1_lib.c:768,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/d1_lib.c:771,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/d1_lib.c:772,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/d1_lib.c:783,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/d1_lib.c:784,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::increment_sequence_ctr
      Src: /src/openssl/ssl/d1_lib.c:803,1
    - Dst: SSL_set_options
      Src: /src/openssl/ssl/d1_lib.c:809,1
    - Dst: ossl_statem_set_hello_verify_done
      Src: /src/openssl/ssl/d1_lib.c:815,1
    - Dst: BIO_dgram_get_peer
      Src: /src/openssl/ssl/d1_lib.c:820,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/d1_lib.c:821,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/d1_lib.c:824,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_lib.c:825,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/d1_lib.c:834,1
    - Dst: BIO_ADDR_free
      Src: /src/openssl/ssl/d1_lib.c:847,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:848,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/d1_lib.c:849,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 204
    argCount: 2
    argNames:
    - ssl
    - client
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 851
    functionName: DTLSv1_listen
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 3
    functionsReached:
    - PACKET_get_sub_packet
    - ERR_raise
    - WPACKET_put_bytes_u16
    - BIO_ADDR_new
    - memcpy
    - PACKET_get_net_2
    - WPACKET_start_sub_packet_u24
    - OPENSSL_free
    - PACKET_data
    - ssl_get_max_send_fragment
    - PACKET_get_length_prefixed_2
    - PACKET_copy_bytes
    - BIO_should_retry
    - BIO_write
    - WPACKET_put_bytes_u8
    - PACKET_buf_init
    - clear_sys_error
    - ERR_clear_error
    - WPACKET_close
    - BIO_flush
    - WPACKET_put_bytes_u24
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_read
    - OPENSSL_malloc
    - WPACKET_memcpy
    - ssl_set_new_record_layer
    - SSL_set_accept_state
    - PACKET_get_net_3_len
    - WPACKET_cleanup
    - PACKET_get_length_prefixed_1
    - SSL*::ctx::app_gen_cookie_cb
    - BIO_ADDR_clear
    - SSL_CONNECTION*::msg_callback
    - PACKET_forward
    - DTLS_VERSION_LT
    - WPACKET_init_static_len
    - BIO_dgram_set_peer
    - WPACKET_start_sub_packet_u16
    - WPACKET_finish
    - BIO_ADDR_free
    - ossl_statem_set_hello_verify_done
    - SSL_CONNECTION*::rlayer::wrlmethod::increment_sequence_ctr
    - PACKET_get_1
    - SSL_clear
    - PACKET_remaining
    - WPACKET_get_total_written
    - SSL_get_wbio
    - BIO_dgram_get_peer
    - dtls_raw_hello_verify_request
    - SSL_set_options
    - SSL*::ctx::app_verify_cookie_cb
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int DTLSv1_listen(SSL *ssl, BIO_ADDR *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtls1_do_write
      Src: /src/openssl/ssl/d1_lib.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 857
    functionName: dtls1_handshake_write
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - dtls1_do_write
    linkageType: ''
    returnType: int
    signature: int dtls1_handshake_write(SSL_CONNECTION *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:864,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:869,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/d1_lib.c:870,1
    - Dst: BIO_dgram_sctp_wait_for_dry
      Src: /src/openssl/ssl/d1_lib.c:872,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:877,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:877,1
    - Dst: ssl3_shutdown
      Src: /src/openssl/ssl/d1_lib.c:881,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:883,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:883,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 859
    functionDepth: 4
    functionLinenumber: 859
    functionLinenumberEnd: 886
    functionName: dtls1_shutdown
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - BIO_ctrl
    - BIO_dgram_sctp_wait_for_dry
    - SSL_get_wbio
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_dgram_is_sctp
    - ssl3_shutdown
    linkageType: ''
    returnType: int
    signature: int dtls1_shutdown(SSL *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/d1_lib.c:890,1
    - Dst: BIO_dgram_get_mtu_overhead
      Src: /src/openssl/ssl/d1_lib.c:894,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:894,1
    - Dst: dtls1_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:899,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/d1_lib.c:900,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:902,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:902,1
    - Dst: dtls1_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:908,1
    - Dst: dtls1_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:910,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/d1_lib.c:911,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 888
    functionDepth: 3
    functionLinenumber: 888
    functionLinenumberEnd: 918
    functionName: dtls1_query_mtu
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 0
    functionsReached:
    - dtls1_min_mtu
    - BIO_ctrl
    - SSL_CONNECTION_GET_SSL
    - SSL_get_options
    - SSL_get_wbio
    - BIO_dgram_get_mtu_overhead
    linkageType: ''
    returnType: int
    signature: int dtls1_query_mtu(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 924
    functionName: dtls1_link_min_mtu
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dtls1_link_min_mtu(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/d1_lib.c:928,1
    - Dst: dtls1_link_min_mtu
      Src: /src/openssl/ssl/d1_lib.c:930,1
    - Dst: BIO_dgram_get_mtu_overhead
      Src: /src/openssl/ssl/d1_lib.c:930,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/d1_lib.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: dtls1_min_mtu
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - BIO_dgram_get_mtu_overhead
    - SSL_get_wbio
    - dtls1_link_min_mtu
    linkageType: ''
    returnType: size_t
    signature: size_t dtls1_min_mtu(SSL_CONNECTION *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_current_cipher
      Src: /src/openssl/ssl/d1_lib.c:936,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:938,1
    - Dst: ssl_cipher_get_overhead
      Src: /src/openssl/ssl/d1_lib.c:948,1
    - Dst: SSL_READ_ETM
      Src: /src/openssl/ssl/d1_lib.c:952,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 933
    functionDepth: 3
    functionLinenumber: 933
    functionLinenumberEnd: 973
    functionName: DTLS_get_data_mtu
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 1
    functionsReached:
    - SSL_get_current_cipher
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    - ssl_cipher_get_overhead
    - SSL_READ_ETM
    linkageType: ''
    returnType: size_t
    signature: size_t DTLS_get_data_mtu(const SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_lib.c:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - cb
    argTypes:
    - SSL*
    - DTLS_timer_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 983
    functionName: DTLS_set_timer_cb
    functionSourceFile: /src/openssl/ssl/d1_lib.c
    functionUses: 5
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: void DTLS_set_timer_cb(SSL *ssl, DTLS_timer_cb cb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ssl_prf_md
      Src: /src/openssl/ssl/t1_enc.c:35,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:44,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_enc.c:46,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/ssl/t1_enc.c:49,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_enc.c:49,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_enc.c:51,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/ssl/t1_enc.c:54,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/ssl/t1_enc.c:55,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/t1_enc.c:58,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/t1_enc.c:59,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:61,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:64,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:66,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:68,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:70,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/t1_enc.c:72,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/t1_enc.c:74,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/ssl/t1_enc.c:75,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/t1_enc.c:76,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:82,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_enc.c:84,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/t1_enc.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 16
    argNames:
    - s
    - seed1
    - seed1_len
    - seed2
    - seed2_len
    - seed3
    - seed3_len
    - seed4
    - seed4_len
    - seed5
    - seed5_len
    - sec
    - slen
    - out
    - olen
    - fatal
    argTypes:
    - SSL_CONNECTION*
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - void*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 87
    functionName: tls1_PRF
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - SSLfatal
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - ssl_prf_md
    - OSSL_PARAM_construct_end
    - EVP_KDF_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_CTX_free
    - EVP_MD_get0_name
    - SSL_CONNECTION_GET_CTX
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int tls1_PRF(SSL_CONNECTION *s,\n                    const void *seed1,
      size_t seed1_len,\n                    const void *seed2, size_t seed2_len,\n
      \                   const void *seed3, size_t seed3_len,\n                    const
      void *seed4, size_t seed4_len,\n                    const void *seed5, size_t
      seed5_len,\n                    const unsigned char *sec, size_t slen,\n                    unsigned
      char *out, size_t olen, int fatal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - km
    - num
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 6
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: tls1_generate_key_block
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - tls1_PRF
    linkageType: ''
    returnType: int
    signature: "int tls1_generate_key_block(SSL_CONNECTION *s, unsigned char *km,\n
      \                                  size_t num)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/t1_enc.c:108,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/t1_enc.c:110,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/t1_enc.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: tls_iv_length_within_key_block
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_iv_length
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: int tls_iv_length_within_key_block(const EVP_CIPHER *c)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/t1_enc.c:144,1
    - Dst: tls_iv_length_within_key_block
      Src: /src/openssl/ssl/t1_enc.c:146,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:148,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:171,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/t1_enc.c:175,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/t1_enc.c:187,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_enc.c:232,1
    - Dst: dtls1_increment_epoch
      Src: /src/openssl/ssl/t1_enc.c:233,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/t1_enc.c:235,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:245,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:246,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/t1_enc.c:246,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:247,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:248,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:249,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 93
    argCount: 2
    argNames:
    - s
    - which
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 116
    functionDepth: 9
    functionLinenumber: 116
    functionLinenumberEnd: 254
    functionName: tls1_change_cipher_state
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - ssl_set_new_record_layer
    - SSLfatal
    - dtls1_increment_epoch
    - OSSL_TRACE_END
    - EVP_CIPHER_is_a
    - SSL_CONNECTION_IS_DTLS
    - BIO_dump_indent
    - EVP_CIPHER_get_key_length
    - EVP_CIPHER_get_mode
    - BIO_printf
    - tls_iv_length_within_key_block
    linkageType: ''
    returnType: int
    signature: int tls1_change_cipher_state(SSL_CONNECTION *s, int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:245,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:246,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/t1_enc.c:246,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:247,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_key_length
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_get_evp
      Src: /src/openssl/ssl/t1_enc.c:270,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_enc.c:270,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/t1_enc.c:274,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/t1_enc.c:278,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/t1_enc.c:280,1
    - Dst: tls_iv_length_within_key_block
      Src: /src/openssl/ssl/t1_enc.c:284,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:286,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/t1_enc.c:289,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/openssl/ssl/t1_enc.c:292,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_enc.c:294,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_enc.c:295,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:303,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:304,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:305,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:306,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:307,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:308,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:309,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:312,1
    - Dst: tls1_generate_key_block
      Src: /src/openssl/ssl/t1_enc.c:314,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:320,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:321,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 256
    functionDepth: 7
    functionLinenumber: 256
    functionLinenumberEnd: 327
    functionName: tls1_setup_key_block
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ssl3_cleanup_key_block
    - tls1_generate_key_block
    - ssl_evp_md_free
    - BIO_printf
    - ssl_cipher_get_evp
    - BIO_dump_indent
    - ssl_evp_cipher_free
    - SSL_CONNECTION_GET_CTX
    - SSLfatal_alert
    - EVP_CIPHER_get_key_length
    - OSSL_TRACE_END
    - OPENSSL_malloc
    - tls_iv_length_within_key_block
    linkageType: ''
    returnType: int
    signature: int tls1_setup_key_block(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:303,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:304,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:305,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:306,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:307,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:308,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:320,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/t1_enc.c:339,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/t1_enc.c:344,1
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:349,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/t1_enc.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - s
    - str
    - slen
    - out
    argTypes:
    - SSL_CONNECTION*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 329
    functionDepth: 6
    functionLinenumber: 329
    functionLinenumberEnd: 357
    functionName: tls1_final_finish_mac
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - tls1_PRF
    - OPENSSL_cleanse
    - ssl3_digest_cached_records
    - ssl_handshake_hash
    linkageType: ''
    returnType: size_t
    signature: "size_t tls1_final_finish_mac(SSL_CONNECTION *s, const char *str,\n
      \                            size_t slen, unsigned char *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/t1_enc.c:371,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/t1_enc.c:372,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:377,1
    - Dst: BIO_dump
      Src: /src/openssl/ssl/t1_enc.c:378,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:379,1
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:380,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/t1_enc.c:391,1
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:393,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:407,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:408,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:409,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:410,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:411,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:412,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:413,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:414,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/t1_enc.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - s
    - out
    - p
    - len
    - secret_size
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 359
    functionDepth: 6
    functionLinenumber: 359
    functionLinenumberEnd: 421
    functionName: tls1_generate_master_secret
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    - tls1_PRF
    - BIO_dump
    - ssl3_digest_cached_records
    - ssl_handshake_hash
    - BIO_dump_indent
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int tls1_generate_master_secret(SSL_CONNECTION *s, unsigned char *out,\n
      \                               unsigned char *p, size_t len,\n                                size_t
      *secret_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:377,1
    - Dst: BIO_dump
      Src: /src/openssl/ssl/t1_enc.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - BIO_dump
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:407,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:408,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:409,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:410,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:411,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:412,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_enc.c:413,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_enc.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 417
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_enc.c:437,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_enc.c:451,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_enc.c:455,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_enc.c:457,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_enc.c:459,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_enc.c:468,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:477,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:480,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:483,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:486,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_enc.c:489,1
    - Dst: tls1_PRF
      Src: /src/openssl/ssl/t1_enc.c:493,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_enc.c:504,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/t1_enc.c:506,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 8
    argNames:
    - s
    - out
    - olen
    - label
    - llen
    - context
    - contextlen
    - use_context
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 423
    functionDepth: 6
    functionLinenumber: 423
    functionLinenumberEnd: 508
    functionName: tls1_export_keying_material
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached:
    - memcmp
    - tls1_PRF
    - ERR_raise
    - memcpy
    - OPENSSL_clear_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int tls1_export_keying_material(SSL_CONNECTION *s, unsigned char *out,\n
      \                               size_t olen, const char *label, size_t llen,\n
      \                               const unsigned char *context,\n                                size_t
      contextlen, int use_context)"
  - BBCount: 36
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 584
    functionName: tls1_alert_code
    functionSourceFile: /src/openssl/ssl/t1_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls1_alert_code(int code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_rsa.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:41,1
    - Dst: ssl_security_cert
      Src: /src/openssl/ssl/ssl_rsa.c:45,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:47,1
    - Dst: ssl_set_cert
      Src: /src/openssl/ssl/ssl_rsa.c:51,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_rsa.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ssl
    - x
    argTypes:
    - SSL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: SSL_use_certificate
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - ssl_set_cert
    - ssl_security_cert
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_use_certificate(SSL *ssl, X509 *x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:62,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:66,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:68,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:72,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:73,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:79,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/ssl/ssl_rsa.c:84,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_rsa.c:86,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/ssl/ssl_rsa.c:92,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:95,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:100,1
    - Dst: SSL_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:104,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:106,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:107,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - ssl
    - file
    - type
    argTypes:
    - SSL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 109
    functionName: SSL_use_certificate_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - ERR_raise
    - SSL_use_certificate
    - BIO_free
    - BIO_read_filename
    - X509_free
    - X509_new_ex
    - PEM_read_bio_X509
    - BIO_s_file
    - SSL_CONNECTION_FROM_SSL
    - d2i_X509_bio
    linkageType: ''
    returnType: int
    signature: int SSL_use_certificate_file(SSL *ssl, const char *file, int type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:118,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/ssl_rsa.c:122,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:123,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:124,1
    - Dst: SSL_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:128,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ssl
    - d
    - len
    argTypes:
    - SSL*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: SSL_use_certificate_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - SSL_use_certificate
    - X509_free
    - X509_new_ex
    - d2i_X509
    linkageType: ''
    returnType: int
    signature: int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/ssl_rsa.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:138,1
    - Dst: X509_check_private_key
      Src: /src/openssl/ssl/ssl_rsa.c:143,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/ssl_rsa.c:145,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - c
    - pkey
    - ctx
    argTypes:
    - CERT*
    - EVP_PKEY*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 152
    functionName: ssl_set_pkey
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    - EVP_PKEY_up_ref
    - X509_check_private_key
    - ssl_cert_lookup_by_pkey
    linkageType: ''
    returnType: int
    signature: int ssl_set_pkey(CERT *c, EVP_PKEY *pkey, SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_rsa.c:157,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:163,1
    - Dst: ssl_set_pkey
      Src: /src/openssl/ssl/ssl_rsa.c:166,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_rsa.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - pkey
    argTypes:
    - SSL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 168
    functionName: SSL_use_PrivateKey
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 7
    functionsReached:
    - ssl_set_pkey
    - SSL_CONNECTION_GET_CTX
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:177,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:181,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:181,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:183,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:187,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:188,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_rsa.c:192,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/ssl/ssl_rsa.c:198,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/ssl/ssl_rsa.c:205,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:208,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:212,1
    - Dst: SSL_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa.c:215,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:216,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:218,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - ssl
    - file
    - type
    argTypes:
    - SSL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 220
    functionName: SSL_use_PrivateKey_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 4
    functionsReached:
    - BIO_new
    - ERR_raise
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - BIO_read_filename
    - EVP_PKEY_free
    - d2i_PrivateKey_ex_bio
    - SSL_use_PrivateKey
    - BIO_s_file
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/ssl/ssl_rsa.c:230,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:232,1
    - Dst: SSL_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa.c:236,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - type
    - ssl
    - d
    - len
    argTypes:
    - int
    - SSL*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 222
    functionDepth: 14
    functionLinenumber: 222
    functionLinenumberEnd: 239
    functionName: SSL_use_PrivateKey_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - SSL_use_PrivateKey
    - ERR_raise
    - d2i_PrivateKey_ex
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, const unsigned char
      *d,\n                            long len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:245,1
    - Dst: ssl_security_cert
      Src: /src/openssl/ssl/ssl_rsa.c:249,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:251,1
    - Dst: ssl_set_cert
      Src: /src/openssl/ssl/ssl_rsa.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: SSL_CTX_use_certificate
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 3
    functionsReached:
    - ssl_security_cert
    - ERR_raise
    - ssl_set_cert
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/ssl/ssl_rsa.c:262,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:264,1
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/ssl_rsa.c:268,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:269,1
    - Dst: EVP_PKEY_can_sign
      Src: /src/openssl/ssl/ssl_rsa.c:273,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:274,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/ssl/ssl_rsa.c:284,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_rsa.c:285,1
    - Dst: X509_check_private_key
      Src: /src/openssl/ssl/ssl_rsa.c:287,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:293,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_rsa.c:296,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_rsa.c:300,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - c
    - x
    - ctx
    argTypes:
    - CERT*
    - X509*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 308
    functionName: ssl_set_cert
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 2
    functionsReached:
    - EVP_PKEY_can_sign
    - ERR_raise
    - X509_get0_pubkey
    - ERR_clear_error
    - X509_up_ref
    - EVP_PKEY_free
    - X509_free
    - X509_check_private_key
    - ssl_cert_lookup_by_pkey
    - EVP_PKEY_copy_parameters
    linkageType: ''
    returnType: int
    signature: int ssl_set_cert(CERT *c, X509 *x, SSL_CTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:318,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:322,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:322,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:324,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:328,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:329,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:333,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:335,1
    - Dst: d2i_X509_bio
      Src: /src/openssl/ssl/ssl_rsa.c:340,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/ssl/ssl_rsa.c:343,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:346,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:350,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:354,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:356,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:357,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - SSL_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 359
    functionName: SSL_CTX_use_certificate_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 7
    functionsReached:
    - BIO_new
    - ERR_raise
    - BIO_free
    - BIO_read_filename
    - SSL_CTX_use_certificate
    - X509_free
    - X509_new_ex
    - PEM_read_bio_X509
    - BIO_s_file
    - d2i_X509_bio
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int
      type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:366,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:368,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/ssl_rsa.c:372,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:373,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:374,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:378,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - len
    - d
    argTypes:
    - SSL_CTX*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 381
    functionName: SSL_CTX_use_certificate_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - SSL_CTX_use_certificate
    - X509_free
    - X509_new_ex
    - d2i_X509
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, const unsigned
      char *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:386,1
    - Dst: ssl_set_pkey
      Src: /src/openssl/ssl/ssl_rsa.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - SSL_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: SSL_CTX_use_PrivateKey
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 4
    functionsReached:
    - ssl_set_pkey
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:399,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:403,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:403,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:405,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:409,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:410,1
    - Dst: PEM_read_bio_PrivateKey_ex
      Src: /src/openssl/ssl/ssl_rsa.c:415,1
    - Dst: d2i_PrivateKey_ex_bio
      Src: /src/openssl/ssl/ssl_rsa.c:421,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:423,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:427,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa.c:430,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:431,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - ctx
    - file
    - type
    argTypes:
    - SSL_CTX*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 392
    functionDepth: 6
    functionLinenumber: 392
    functionLinenumberEnd: 435
    functionName: SSL_CTX_use_PrivateKey_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 20
    functionsReached:
    - BIO_new
    - ERR_raise
    - PEM_read_bio_PrivateKey_ex
    - BIO_free
    - BIO_read_filename
    - EVP_PKEY_free
    - d2i_PrivateKey_ex_bio
    - BIO_s_file
    - SSL_CTX_use_PrivateKey
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d2i_PrivateKey_ex
      Src: /src/openssl/ssl/ssl_rsa.c:445,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:447,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/openssl/ssl/ssl_rsa.c:451,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_rsa.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - type
    - ctx
    - d
    - len
    argTypes:
    - int
    - SSL_CTX*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 14
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: SSL_CTX_use_PrivateKey_ASN1
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_use_PrivateKey
    - ERR_raise
    - d2i_PrivateKey_ex
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx,\n                                const
      unsigned char *d, long len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_rsa.c:473,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_rsa.c:480,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:490,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:494,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:494,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:496,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:500,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:501,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:505,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:507,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/openssl/ssl/ssl_rsa.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:512,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:517,1
    - Dst: SSL_use_certificate
      Src: /src/openssl/ssl/ssl_rsa.c:519,1
    - Dst: ERR_peek_error
      Src: /src/openssl/ssl/ssl_rsa.c:521,1
    - Dst: SSL_CTX_clear_chain_certs
      Src: /src/openssl/ssl/ssl_rsa.c:534,1
    - Dst: SSL_clear_chain_certs
      Src: /src/openssl/ssl/ssl_rsa.c:536,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/ssl_rsa.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:546,1
    - Dst: PEM_read_bio_X509
      Src: /src/openssl/ssl/ssl_rsa.c:549,1
    - Dst: SSL_CTX_add0_chain_cert
      Src: /src/openssl/ssl/ssl_rsa.c:552,1
    - Dst: SSL_add0_chain_cert
      Src: /src/openssl/ssl/ssl_rsa.c:554,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:561,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:566,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/ssl/ssl_rsa.c:571,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/ssl/ssl_rsa.c:572,1
    - Dst: ERR_GET_REASON
      Src: /src/openssl/ssl/ssl_rsa.c:573,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_rsa.c:574,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_rsa.c:580,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:581,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 3
    argNames:
    - ctx
    - ssl
    - file
    argTypes:
    - SSL_CTX*
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 583
    functionName: use_certificate_chain_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 16
    functionsReached:
    - ERR_raise
    - X509_free
    - X509_new_ex
    - SSL_CTX_add0_chain_cert
    - SSL_CONNECTION_FROM_SSL
    - BIO_new
    - ERR_clear_error
    - SSL_CTX_use_certificate
    - ERR_peek_error
    - SSL_CTX_clear_chain_certs
    - ERR_GET_LIB
    - SSL_use_certificate
    - BIO_free
    - ERR_peek_last_error
    - BIO_s_file
    - PEM_read_bio_X509_AUX
    - SSL_add0_chain_cert
    - SSL_clear_chain_certs
    - BIO_read_filename
    - ERR_GET_REASON
    - PEM_read_bio_X509
    linkageType: ''
    returnType: int
    signature: int use_certificate_chain_file(SSL_CTX *ctx, SSL *ssl, const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_certificate_chain_file
      Src: /src/openssl/ssl/ssl_rsa.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 6
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: SSL_CTX_use_certificate_chain_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 15
    functionsReached:
    - use_certificate_chain_file
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: use_certificate_chain_file
      Src: /src/openssl/ssl/ssl_rsa.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - file
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 6
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: SSL_use_certificate_chain_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 2
    functionsReached:
    - use_certificate_chain_file
    linkageType: ''
    returnType: int
    signature: int SSL_use_certificate_chain_file(SSL *ssl, const char *file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_rsa.c:608,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_rsa.c:616,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/ssl_rsa.c:619,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/ssl_rsa.c:620,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/ssl_rsa.c:621,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_rsa.c:625,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_rsa.c:626,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - serverinfo
    - serverinfo_length
    - extension_type
    - extension_data
    - extension_length
    argTypes:
    - unsigned char*
    - size_t
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 595
    functionDepth: 4
    functionLinenumber: 595
    functionLinenumberEnd: 631
    functionName: serverinfo_find_extension
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_get_net_2
    - PACKET_get_net_4
    - PACKET_remaining
    - PACKET_data
    - PACKET_get_length_prefixed_2
    linkageType: ''
    returnType: int
    signature: "int serverinfo_find_extension(const unsigned char *serverinfo,\n                                     size_t
      serverinfo_length,\n                                     unsigned int extension_type,\n
      \                                    const unsigned char **extension_data,\n
      \                                    size_t *extension_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - in
    - inlen
    - x
    - chainidx
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: serverinfoex_srv_parse_cb
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int serverinfoex_srv_parse_cb(SSL *s, unsigned int ext_type,\n                                     unsigned
      int context,\n                                     const unsigned char *in,\n
      \                                    size_t inlen, X509 *x, size_t chainidx,\n
      \                                    int *al, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serverinfoex_srv_parse_cb
      Src: /src/openssl/ssl/ssl_rsa.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 654
    functionName: serverinfo_srv_parse_cb
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - serverinfoex_srv_parse_cb
    linkageType: ''
    returnType: int
    signature: "int serverinfo_srv_parse_cb(SSL *s, unsigned int ext_type,\n                                   const
      unsigned char *in,\n                                   size_t inlen, int *al,
      void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_rsa.c:664,1
    - Dst: ssl_get_server_cert_serverinfo
      Src: /src/openssl/ssl/ssl_rsa.c:676,1
    - Dst: serverinfo_find_extension
      Src: /src/openssl/ssl/ssl_rsa.c:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - out
    - outlen
    - x
    - chainidx
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char**
    - size_t*
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 656
    functionDepth: 5
    functionLinenumber: 656
    functionLinenumberEnd: 691
    functionName: serverinfoex_srv_add_cb
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - serverinfo_find_extension
    - ssl_get_server_cert_serverinfo
    linkageType: ''
    returnType: int
    signature: "int serverinfoex_srv_add_cb(SSL *s, unsigned int ext_type,\n                                   unsigned
      int context,\n                                   const unsigned char **out,\n
      \                                  size_t *outlen, X509 *x, size_t chainidx,\n
      \                                  int *al, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: serverinfoex_srv_add_cb
      Src: /src/openssl/ssl/ssl_rsa.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ext_type
    - out
    - outlen
    - al
    - arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 6
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: serverinfo_srv_add_cb
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - serverinfoex_srv_add_cb
    linkageType: ''
    returnType: int
    signature: "int serverinfo_srv_add_cb(SSL *s, unsigned int ext_type,\n                                 const
      unsigned char **out, size_t *outlen,\n                                 int *al,
      void *arg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_rsa.c:718,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_rsa.c:721,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/ssl_rsa.c:726,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/ssl_rsa.c:727,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/ssl_rsa.c:728,1
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/openssl/ssl/ssl_rsa.c:746,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/openssl/ssl/ssl_rsa.c:753,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 4
    argNames:
    - version
    - serverinfo
    - serverinfo_length
    - ctx
    argTypes:
    - unsigned int
    - unsigned char*
    - size_t
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 706
    functionDepth: 4
    functionLinenumber: 706
    functionLinenumberEnd: 763
    functionName: serverinfo_process_buffer
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_get_net_2
    - SSL_CTX_add_custom_ext
    - PACKET_get_net_4
    - PACKET_remaining
    - PACKET_get_length_prefixed_2
    - SSL_CTX_add_server_custom_ext
    linkageType: ''
    returnType: int
    signature: "int serverinfo_process_buffer(unsigned int version,\n                                     const
      unsigned char *serverinfo,\n                                     size_t serverinfo_length,
      SSL_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 768
    functionName: extension_contextoff
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t extension_contextoff(unsigned int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extension_contextoff
      Src: /src/openssl/ssl/ssl_rsa.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - version
    - extension_length
    argTypes:
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: extension_append_length
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - extension_contextoff
    linkageType: ''
    returnType: size_t
    signature: size_t extension_append_length(unsigned int version, size_t extension_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: extension_contextoff
      Src: /src/openssl/ssl/ssl_rsa.c:780,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_rsa.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - version
    - extension
    - extension_length
    - serverinfo
    argTypes:
    - unsigned int
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 791
    functionName: extension_append
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 0
    functionsReached:
    - memcpy
    - extension_contextoff
    linkageType: ''
    returnType: void
    signature: "void extension_append(unsigned int version,\n                             const
      unsigned char *extension,\n                             const size_t extension_length,\n
      \                            unsigned char *serverinfo)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:800,1
    - Dst: extension_append_length
      Src: /src/openssl/ssl/ssl_rsa.c:808,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_rsa.c:813,1
    - Dst: extension_append
      Src: /src/openssl/ssl/ssl_rsa.c:817,1
    - Dst: SSL_CTX_use_serverinfo_ex
      Src: /src/openssl/ssl/ssl_rsa.c:819,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:822,1
    - Dst: serverinfo_process_buffer
      Src: /src/openssl/ssl/ssl_rsa.c:825,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:827,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:831,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/ssl_rsa.c:834,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_rsa.c:839,1
    - Dst: serverinfo_process_buffer
      Src: /src/openssl/ssl/ssl_rsa.c:846,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - ctx
    - version
    - serverinfo
    - serverinfo_length
    argTypes:
    - SSL_CTX*
    - unsigned int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 852
    functionName: SSL_CTX_use_serverinfo_ex
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - extension_append_length
    - SSL_CTX_use_serverinfo_ex
    - memcpy
    - serverinfo_process_buffer
    - OPENSSL_free
    - OPENSSL_realloc
    - extension_append
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,\n
      \                             const unsigned char *serverinfo,\n                              size_t
      serverinfo_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_use_serverinfo_ex
      Src: /src/openssl/ssl/ssl_rsa.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - serverinfo
    - serverinfo_length
    argTypes:
    - SSL_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 854
    functionDepth: 6
    functionLinenumber: 854
    functionLinenumberEnd: 859
    functionName: SSL_CTX_use_serverinfo
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_use_serverinfo_ex
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo,\n
      \                          size_t serverinfo_length)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:876,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_rsa.c:880,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_rsa.c:880,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:882,1
    - Dst: BIO_read_filename
      Src: /src/openssl/ssl/ssl_rsa.c:885,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:886,1
    - Dst: PEM_read_bio
      Src: /src/openssl/ssl/ssl_rsa.c:894,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:900,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_rsa.c:906,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:908,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_rsa.c:911,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:915,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/ssl_rsa.c:918,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:919,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:932,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_rsa.c:940,1
    - Dst: extension_append_length
      Src: /src/openssl/ssl/ssl_rsa.c:945,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/ssl_rsa.c:946,1
    - Dst: extension_append
      Src: /src/openssl/ssl/ssl_rsa.c:950,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:954,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:956,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:958,1
    - Dst: SSL_CTX_use_serverinfo_ex
      Src: /src/openssl/ssl/ssl_rsa.c:962,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:966,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:967,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:968,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_rsa.c:969,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_rsa.c:970,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 861
    functionDepth: 6
    functionLinenumber: 861
    functionLinenumberEnd: 972
    functionName: SSL_CTX_use_serverinfo_file
    functionSourceFile: /src/openssl/ssl/ssl_rsa.c
    functionUses: 2
    functionsReached:
    - BIO_new
    - ERR_raise
    - extension_append_length
    - SSL_CTX_use_serverinfo_ex
    - BIO_free
    - BIO_read_filename
    - OPENSSL_free
    - PEM_read_bio
    - BIO_s_file
    - strlen
    - extension_append
    - OPENSSL_realloc
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/d1_srtp.c:82,1
    - Dst: strncmp
      Src: /src/openssl/ssl/d1_srtp.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - profile_name
    - pptr
    - len
    argTypes:
    - char*
    - SRTP_PROTECTION_PROFILE**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: find_profile_by_name
    functionSourceFile: /src/openssl/ssl/d1_srtp.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int find_profile_by_name(char *profile_name,\n                                const
      SRTP_PROTECTION_PROFILE **pptr, size_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/d1_srtp.c:97,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_new_null
      Src: /src/openssl/ssl/d1_srtp.c:103,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_srtp.c:104,1
    - Dst: strchr
      Src: /src/openssl/ssl/d1_srtp.c:109,1
    - Dst: find_profile_by_name
      Src: /src/openssl/ssl/d1_srtp.c:111,1
    - Dst: strlen
      Src: /src/openssl/ssl/d1_srtp.c:112,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_find
      Src: /src/openssl/ssl/d1_srtp.c:113,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_srtp.c:115,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_push
      Src: /src/openssl/ssl/d1_srtp.c:119,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_srtp.c:121,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/d1_srtp.c:125,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_free
      Src: /src/openssl/ssl/d1_srtp.c:133,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_free
      Src: /src/openssl/ssl/d1_srtp.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - profiles_string
    - out
    argTypes:
    - char*
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 141
    functionName: ssl_ctx_make_profiles
    functionSourceFile: /src/openssl/ssl/d1_srtp.c
    functionUses: 0
    functionsReached:
    - strchr
    - ERR_raise
    - sk_SRTP_PROTECTION_PROFILE_push
    - STACK_OF
    - sk_SRTP_PROTECTION_PROFILE_free
    - find_profile_by_name
    - strlen
    - sk_SRTP_PROTECTION_PROFILE_new_null
    - sk_SRTP_PROTECTION_PROFILE_find
    linkageType: ''
    returnType: int
    signature: "int ssl_ctx_make_profiles(const char *profiles_string,\n                                 STACK_OF(SRTP_PROTECTION_PROFILE)
      **out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_METHOD
      Src: /src/openssl/ssl/d1_srtp.c:145,1
    - Dst: ssl_ctx_make_profiles
      Src: /src/openssl/ssl/d1_srtp.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - profiles
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: SSL_CTX_set_tlsext_use_srtp
    functionSourceFile: /src/openssl/ssl/d1_srtp.c
    functionUses: 3
    functionsReached:
    - IS_QUIC_METHOD
    - ssl_ctx_make_profiles
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_srtp.c:153,1
    - Dst: ssl_ctx_make_profiles
      Src: /src/openssl/ssl/d1_srtp.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - profiles
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: SSL_set_tlsext_use_srtp
    functionSourceFile: /src/openssl/ssl/d1_srtp.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    - ssl_ctx_make_profiles
    linkageType: ''
    returnType: int
    signature: int SSL_set_tlsext_use_srtp(SSL *s, const char *profiles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/d1_srtp.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: SSL_get_selected_srtp_profile
    functionSourceFile: /src/openssl/ssl/d1_srtp.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: SRTP_PROTECTION_PROFILE
    signature: SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pq
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ASSERT_USED
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_USED(pq, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pq
    - ','
    - elem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: ASSERT_ELEM_USED
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_ELEM_USED(pq, elem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: safe_muldiv_size_t
      Src: /src/openssl/ssl/priority_queue.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - target
    - current
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: compute_pqueue_growth
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - safe_muldiv_size_t
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline compute_pqueue_growth(size_t target, size_t current)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:110,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - pq
    - i
    - j
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: pqueue_swap_elem
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ASSERT_USED
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline pqueue_swap_elem(OSSL_PQUEUE *pq, size_t i, size_t j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pq
    - from
    - to
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: pqueue_move_elem
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ASSERT_USED
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline pqueue_move_elem(OSSL_PQUEUE *pq, size_t from, size_t to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:138,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:142,1
    - Dst: pqueue_swap_elem
      Src: /src/openssl/ssl/priority_queue.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pq
    - n
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: pqueue_force_bottom
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ASSERT_USED
    - pqueue_swap_elem
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline pqueue_force_bottom(OSSL_PQUEUE *pq, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:156,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:160,1
    - Dst: OSSL_PQUEUE*::compare
      Src: /src/openssl/ssl/priority_queue.c:161,1
    - Dst: pqueue_swap_elem
      Src: /src/openssl/ssl/priority_queue.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - n
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: pqueue_move_down
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ASSERT_USED
    - pqueue_swap_elem
    - OSSL_PQUEUE*::compare
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline pqueue_move_down(OSSL_PQUEUE *pq, size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:177,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:179,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:180,1
    - Dst: OSSL_PQUEUE*::compare
      Src: /src/openssl/ssl/priority_queue.c:181,1
    - Dst: OSSL_PQUEUE*::compare
      Src: /src/openssl/ssl/priority_queue.c:184,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:185,1
    - Dst: pqueue_swap_elem
      Src: /src/openssl/ssl/priority_queue.c:186,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:190,1
    - Dst: OSSL_PQUEUE*::compare
      Src: /src/openssl/ssl/priority_queue.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pq
    - n
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 195
    functionName: pqueue_move_up
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ASSERT_USED
    - pqueue_swap_elem
    - OSSL_PQUEUE*::compare
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline pqueue_move_up(OSSL_PQUEUE *pq, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_reserve
      Src: /src/openssl/ssl/priority_queue.c:201,1
    - Dst: pqueue_move_down
      Src: /src/openssl/ssl/priority_queue.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pq
    - data
    - elem
    argTypes:
    - OSSL_PQUEUE*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 219
    functionName: ossl_pqueue_push
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_reserve
    - pqueue_move_down
    linkageType: ''
    returnType: int
    signature: int ossl_pqueue_push(OSSL_PQUEUE *pq, void *data, size_t *elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: ossl_pqueue_peek
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ASSERT_USED
    linkageType: ''
    returnType: void
    signature: void *ossl_pqueue_peek(const OSSL_PQUEUE *pq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:238,1
    - Dst: pqueue_move_elem
      Src: /src/openssl/ssl/priority_queue.c:243,1
    - Dst: pqueue_move_up
      Src: /src/openssl/ssl/priority_queue.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 253
    functionName: ossl_pqueue_pop
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - pqueue_move_elem
    - pqueue_move_up
    - ASSERT_USED
    linkageType: ''
    returnType: void
    signature: void *ossl_pqueue_pop(OSSL_PQUEUE *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_ELEM_USED
      Src: /src/openssl/ssl/priority_queue.c:262,1
    - Dst: ASSERT_USED
      Src: /src/openssl/ssl/priority_queue.c:265,1
    - Dst: pqueue_force_bottom
      Src: /src/openssl/ssl/priority_queue.c:276,1
    - Dst: ossl_pqueue_pop
      Src: /src/openssl/ssl/priority_queue.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - elem
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 278
    functionName: ossl_pqueue_remove
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - pqueue_force_bottom
    - ossl_pqueue_pop
    - ASSERT_USED
    - ASSERT_ELEM_USED
    linkageType: ''
    returnType: void
    signature: void *ossl_pqueue_remove(OSSL_PQUEUE *pq, size_t elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pq
    - from
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 293
    functionName: pqueue_add_freelist
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pqueue_add_freelist(OSSL_PQUEUE *pq, size_t from)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compute_pqueue_growth
      Src: /src/openssl/ssl/priority_queue.c:307,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/priority_queue.c:309,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/priority_queue.c:313,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/priority_queue.c:318,1
    - Dst: pqueue_add_freelist
      Src: /src/openssl/ssl/priority_queue.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - pq
    - n
    argTypes:
    - OSSL_PQUEUE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 326
    functionName: ossl_pqueue_reserve
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 1
    functionsReached:
    - compute_pqueue_growth
    - ERR_raise
    - pqueue_add_freelist
    - OPENSSL_realloc_array
    linkageType: ''
    returnType: int
    signature: int ossl_pqueue_reserve(OSSL_PQUEUE *pq, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/priority_queue.c:335,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/priority_queue.c:342,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/priority_queue.c:343,1
    - Dst: ossl_pqueue_free
      Src: /src/openssl/ssl/priority_queue.c:345,1
    - Dst: pqueue_add_freelist
      Src: /src/openssl/ssl/priority_queue.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 350
    functionName: ossl_pqueue_new
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_free
    - OPENSSL_malloc_array
    - pqueue_add_freelist
    - OPENSSL_malloc
    linkageType: ''
    returnType: OSSL_PQUEUE
    signature: OSSL_PQUEUE *ossl_pqueue_new(int (*compare)(const void *, const void
      *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/priority_queue.c:355,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/priority_queue.c:356,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/priority_queue.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: ossl_pqueue_free
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_pqueue_free(OSSL_PQUEUE *pq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_free
      Src: /src/openssl/ssl/priority_queue.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: ossl_pqueue_pop_free
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_free
    linkageType: ''
    returnType: void
    signature: void ossl_pqueue_pop_free(OSSL_PQUEUE *pq, void (*freefunc)(void *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - OSSL_PQUEUE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: ossl_pqueue_num
    functionSourceFile: /src/openssl/ssl/priority_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_pqueue_num(const OSSL_PQUEUE *pq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/pqueue.c:20,1
    - Dst: memcpy
      Src: /src/openssl/ssl/pqueue.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - prio64be
    - data
    argTypes:
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: pitem_new
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 0
    functionsReached:
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: pitem
    signature: pitem *pitem_new(unsigned char *prio64be, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/pqueue.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - pitem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pitem_free
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void pitem_free(pitem *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/pqueue.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: pqueue_new
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: pqueue
    signature: pqueue *pqueue_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/pqueue.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: pqueue_free
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void pqueue_free(pqueue *pq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/ssl/pqueue.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pq
    - item
    argTypes:
    - pqueue*
    - pitem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 82
    functionName: pqueue_insert
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: pitem
    signature: pitem *pqueue_insert(pqueue *pq, pitem *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pqueue_peek
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pitem
    signature: pitem *pqueue_peek(pqueue *pq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: pqueue_pop
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: pitem
    signature: pitem *pqueue_pop(pqueue *pq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/ssl/pqueue.c:108,1
    - Dst: memcmp
      Src: /src/openssl/ssl/pqueue.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pq
    - prio64be
    argTypes:
    - pqueue*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: pqueue_find
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: pitem
    signature: pitem *pqueue_find(pqueue *pq, unsigned char *prio64be)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_peek
      Src: /src/openssl/ssl/pqueue.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pqueue_iterator
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 0
    functionsReached:
    - pqueue_peek
    linkageType: ''
    returnType: pitem
    signature: pitem *pqueue_iterator(pqueue *pq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - item
    argTypes:
    - piterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: pqueue_next
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pitem
    signature: pitem *pqueue_next(piterator *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pq
    argTypes:
    - pqueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: pqueue_size
    functionSourceFile: /src/openssl/ssl/pqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pqueue_size(pqueue *pq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_undefined_function
      Src: /src/openssl/ssl/ssl_lib.c:44,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sc
    - r
    - s
    - t
    - u
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ssl_undefined_function_3
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ssl_undefined_function
    linkageType: ''
    returnType: int
    signature: "int ssl_undefined_function_3(SSL_CONNECTION *sc, unsigned char *r,\n
      \                                   unsigned char *s, size_t t, size_t *u)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_undefined_function
      Src: /src/openssl/ssl/ssl_lib.c:49,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - r
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: ssl_undefined_function_4
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ssl_undefined_function
    linkageType: ''
    returnType: int
    signature: int ssl_undefined_function_4(SSL_CONNECTION *sc, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_undefined_function
      Src: /src/openssl/ssl/ssl_lib.c:55,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sc
    - r
    - s
    - t
    argTypes:
    - SSL_CONNECTION*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: ssl_undefined_function_5
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ssl_undefined_function
    linkageType: ''
    returnType: size_t
    signature: "size_t ssl_undefined_function_5(SSL_CONNECTION *sc, const char *r,\n
      \                                      size_t s, unsigned char *t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_undefined_function
      Src: /src/openssl/ssl/ssl_lib.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ssl_undefined_function_6
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_undefined_function
    linkageType: ''
    returnType: int
    signature: int ssl_undefined_function_6(int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_undefined_function
      Src: /src/openssl/ssl/ssl_lib.c:67,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - sc
    - r
    - s
    - t
    - u
    - v
    - w
    - x
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ssl_undefined_function_7
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ssl_undefined_function
    linkageType: ''
    returnType: int
    signature: "int ssl_undefined_function_7(SSL_CONNECTION *sc, unsigned char *r,\n
      \                                   size_t s, const char *t, size_t u,\n                                    const
      unsigned char *v, size_t w, int x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_undefined_function
      Src: /src/openssl/ssl/ssl_lib.c:72,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ssl_undefined_function_8
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ssl_undefined_function
    linkageType: ''
    returnType: int
    signature: int ssl_undefined_function_8(SSL_CONNECTION *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/ssl_lib.c:127,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/ssl_lib.c:128,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:132,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_lib.c:137,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/ssl/ssl_lib.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - struct dane_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 152
    functionName: dane_ctx_enable
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_calloc
    - EVP_get_digestbynid
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int dane_ctx_enable(struct dane_ctx_st *dctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:156,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - struct dane_ctx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: dane_ctx_final
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void dane_ctx_final(struct dane_ctx_st *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:168,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:169,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - danetls_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: tlsa_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void tlsa_free(danetls_record *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_danetls_record_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:175,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_lib.c:178,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - dane
    argTypes:
    - SSL_DANE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: dane_final
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_free
    - sk_danetls_record_pop_free
    - OSSL_STACK_OF_X509_free
    linkageType: ''
    returnType: void
    signature: void dane_final(SSL_DANE *dane)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/ssl/ssl_lib.c:196,1
    - Dst: sk_danetls_record_num
      Src: /src/openssl/ssl/ssl_lib.c:199,1
    - Dst: dane_final
      Src: /src/openssl/ssl/ssl_lib.c:200,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:202,1
    - Dst: sk_danetls_record_new_reserve
      Src: /src/openssl/ssl/ssl_lib.c:203,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:206,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/ssl/ssl_lib.c:211,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/openssl/ssl/ssl_lib.c:213,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - SSL_CONNECTION*
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 218
    functionName: ssl_dane_dup
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - sk_danetls_record_value
    - ERR_raise
    - SSL_dane_tlsa_add
    - sk_danetls_record_num
    - SSL_CONNECTION_GET_SSL
    - DANETLS_ENABLED
    - SSL_CONNECTION_GET_CTX
    - dane_final
    - sk_danetls_record_new_reserve
    linkageType: ''
    returnType: int
    signature: int ssl_dane_dup(SSL_CONNECTION *to, SSL_CONNECTION *from)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:226,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/ssl_lib.c:235,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/ssl_lib.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - dctx
    - md
    - mtype
    - ord
    argTypes:
    - struct dane_ctx_st*
    - EVP_MD*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 259
    functionName: dane_mtype_set
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - OPENSSL_realloc_array
    linkageType: ''
    returnType: int
    signature: "int dane_mtype_set(struct dane_ctx_st *dctx,\n                          const
      EVP_MD *md, uint8_t mtype, uint8_t ord)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dane
    - mtype
    argTypes:
    - SSL_DANE*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: tlsa_md_get
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_MD
    signature: EVP_MD *tlsa_md_get(SSL_DANE *dane, uint8_t mtype)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:281,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:286,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:291,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:296,1
    - Dst: tlsa_md_get
      Src: /src/openssl/ssl/ssl_lib.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:303,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/ssl_lib.c:309,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:311,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:316,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_lib.c:320,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_lib.c:326,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:328,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:331,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/ssl_lib.c:342,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:344,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:346,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/ssl/ssl_lib.c:349,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:350,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:351,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:352,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/openssl/ssl/ssl_lib.c:356,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:369,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/ssl/ssl_lib.c:381,1
    - Dst: sk_X509_push
      Src: /src/openssl/ssl/ssl_lib.c:382,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:383,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:384,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:385,1
    - Dst: d2i_PUBKEY
      Src: /src/openssl/ssl/ssl_lib.c:391,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:393,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:394,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:395,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:407,1
    - Dst: sk_danetls_record_num
      Src: /src/openssl/ssl/ssl_lib.c:426,1
    - Dst: sk_danetls_record_value
      Src: /src/openssl/ssl/ssl_lib.c:428,1
    - Dst: sk_danetls_record_insert
      Src: /src/openssl/ssl/ssl_lib.c:443,1
    - Dst: tlsa_free
      Src: /src/openssl/ssl/ssl_lib.c:444,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:445,1
    - Dst: DANETLS_USAGE_BIT
      Src: /src/openssl/ssl/ssl_lib.c:448,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 107
    argCount: 6
    argNames:
    - dane
    - usage
    - selector
    - mtype
    - data
    - dlen
    argTypes:
    - SSL_DANE*
    - uint8_t
    - uint8_t
    - uint8_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 268
    functionDepth: 7
    functionLinenumber: 268
    functionLinenumberEnd: 451
    functionName: dane_tlsa_add
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - sk_danetls_record_value
    - tlsa_md_get
    - OPENSSL_zalloc
    - ERR_raise
    - X509_get0_pubkey
    - sk_danetls_record_insert
    - EVP_MD_get_size
    - memcpy
    - sk_danetls_record_num
    - DANETLS_USAGE_BIT
    - sk_X509_push
    - d2i_PUBKEY
    - X509_free
    - EVP_PKEY_free
    - tlsa_free
    - sk_X509_new_null
    - d2i_X509
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int dane_tlsa_add(SSL_DANE *dane,\n                         uint8_t
      usage,\n                         uint8_t selector,\n                         uint8_t
      mtype, const unsigned char *data, size_t dlen)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/ssl_lib.c:493,1
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/ssl_lib.c:494,1
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/ssl_lib.c:497,1
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/ssl_lib.c:498,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 44
    argCount: 2
    argNames:
    - min_version
    - max_version
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 561
    functionName: ssl_check_allowed_versions
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - DTLS_VERSION_GE
    linkageType: ''
    returnType: int
    signature: int ssl_check_allowed_versions(int min_version, int max_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: OPENSSL_VPROC_STRING_
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_VPROC_STRING_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: OPENSSL_VPROC_STRING
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPENSSL_VPROC_STRING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 572
    functionName: OPENSSL_VPROC_FUNC
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OPENSSL_VPROC_FUNC(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:578,1
    - Dst: SSL*::method::ssl_reset
      Src: /src/openssl/ssl/ssl_lib.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: SSL_clear
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - ERR_raise
    - SSL*::method::ssl_reset
    linkageType: ''
    returnType: int
    signature: int SSL_clear(SSL *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:587,1
    - Dst: ssl_clear_bad_session
      Src: /src/openssl/ssl/ssl_lib.c:592,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:593,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:596,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:598,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:609,1
    - Dst: ossl_statem_clear
      Src: /src/openssl/ssl/ssl_lib.c:613,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/ssl_lib.c:619,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:624,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:628,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_lib.c:634,1
    - Dst: X509_VERIFY_PARAM_move_peername
      Src: /src/openssl/ssl/ssl_lib.c:639,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:642,1
    - Dst: SSL*::method::ssl_deinit
      Src: /src/openssl/ssl/ssl_lib.c:651,1
    - Dst: SSL*::method::ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:653,1
    - Dst: SSL*::method::ssl_clear
      Src: /src/openssl/ssl/ssl_lib.c:656,1
    - Dst: ossl_quic_tls_clear
      Src: /src/openssl/ssl/ssl_lib.c:660,1
    - Dst: RECORD_LAYER_reset
      Src: /src/openssl/ssl/ssl_lib.c:662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 585
    functionDepth: 8
    functionLinenumber: 585
    functionLinenumberEnd: 666
    functionName: ossl_ssl_connection_reset
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    - ERR_raise
    - memset
    - SSL_SESSION_free
    - ssl_clear_bad_session
    - X509_VERIFY_PARAM_move_peername
    - SSL*::method::ssl_deinit
    - SSL*::method::ssl_clear
    - ossl_statem_clear
    - EVP_MD_CTX_free
    - X509_free
    - OPENSSL_free
    - ossl_quic_tls_clear
    - RECORD_LAYER_reset
    - SSL*::method::ssl_init
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ossl_ssl_connection_reset(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:672,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:674,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:675,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/ssl/ssl_lib.c:681,1
    - Dst: OSSL_default_ciphersuites
      Src: /src/openssl/ssl/ssl_lib.c:681,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:682,1
    - Dst: ssl_create_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:685,1
    - Dst: OSSL_default_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:689,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:690,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - meth
    argTypes:
    - SSL_CTX*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 695
    functionName: SSL_CTX_set_ssl_version
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_create_cipher_list
    - ERR_raise
    - IS_QUIC_CTX
    - STACK_OF
    - sk_SSL_CIPHER_num
    - OSSL_default_cipher_list
    - OSSL_default_ciphersuites
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:701,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:705,1
    - Dst: SSL_CTX*::method::ssl_new
      Src: /src/openssl/ssl/ssl_lib.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 709
    functionName: SSL_new
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 74
    functionsReached:
    - ERR_raise
    - SSL_CTX*::method::ssl_new
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_new(SSL_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:713,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/ssl/ssl_lib.c:716,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_lib.c:718,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:721,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_lib.c:722,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/ssl/ssl_lib.c:733,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ssl
    - ctx
    - method
    - type
    argTypes:
    - SSL*
    - SSL_CTX*
    - SSL_METHOD*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 711
    functionDepth: 3
    functionLinenumber: 711
    functionLinenumberEnd: 737
    functionName: ossl_ssl_init
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - SSL_CTX_free
    - SSL_CTX_up_ref
    - CRYPTO_THREAD_lock_free
    - CRYPTO_new_ex_data
    - CRYPTO_THREAD_lock_new
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: int
    signature: int ossl_ssl_init(SSL *ssl, SSL_CTX *ctx, const SSL_METHOD *method,
      int type)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_lib.c:745,1
    - Dst: ossl_ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:752,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:753,1
    - Dst: RECORD_LAYER_init
      Src: /src/openssl/ssl/ssl_lib.c:759,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/ssl_lib.c:778,1
    - Dst: ssl_cert_dup
      Src: /src/openssl/ssl/ssl_lib.c:791,1
    - Dst: RECORD_LAYER_set_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:795,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/ssl_lib.c:805,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:807,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/ssl/ssl_lib.c:811,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/ssl/ssl_lib.c:814,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:815,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:817,1
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:836,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:842,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:858,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:874,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:890,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_lib.c:905,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:910,1
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:922,1
    - Dst: SSL_METHOD*::ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:927,1
    - Dst: SSL_METHOD*::ssl_reset
      Src: /src/openssl/ssl/ssl_lib.c:932,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:948,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:951,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:958,1
    - Dst: SSL_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:966,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:974,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:977,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:980,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/ssl_lib.c:982,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 189
    argCount: 3
    argNames:
    - ctx
    - user_ssl
    - method
    argTypes:
    - SSL_CTX*
    - SSL*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 739
    functionDepth: 4
    functionLinenumber: 739
    functionLinenumberEnd: 984
    functionName: ossl_ssl_connection_new_int
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - RECORD_LAYER_init
    - sk_SSL_CIPHER_dup
    - ERR_raise
    - SSL_METHOD*::ssl_reset
    - memcpy
    - OPENSSL_free
    - ossl_assert
    - OPENSSL_zalloc
    - SSL_METHOD*::ssl_init
    - SSL_CTX_up_ref
    - ssl_cert_dup
    - X509_VERIFY_PARAM_new
    - OPENSSL_memdup
    - ossl_ssl_init
    - OPENSSL_malloc
    - SSL_free
    - RECORD_LAYER_set_read_ahead
    - IS_QUIC_CTX
    - X509_VERIFY_PARAM_inherit
    - SSL_set_ct_validation_callback
    linkageType: ''
    returnType: SSL
    signature: "SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, SSL *user_ssl,\n                                 const
      SSL_METHOD *method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ssl_connection_new_int
      Src: /src/openssl/ssl/ssl_lib.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 5
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: ossl_ssl_connection_new
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ossl_ssl_connection_new_int
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_ssl_connection_new(SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:993,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:1003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1004
    functionName: SSL_is_dtls
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: int SSL_is_dtls(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1008,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1019
    functionName: SSL_is_tls
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: int SSL_is_tls(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    functionName: SSL_is_quic
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_is_quic(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_lib.c:1030,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_lib.c:1033,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_lib.c:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1036
    functionName: SSL_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int SSL_up_ref(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1042,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - sid_ctx
    - sid_ctx_len
    argTypes:
    - SSL_CTX*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1049
    functionName: SSL_CTX_set_session_id_context
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char
      *sid_ctx,\n                                   unsigned int sid_ctx_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1054,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1060,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - sid_ctx
    - sid_ctx_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1067
    functionName: SSL_set_session_id_context
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - memcpy
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,\n
      \                              unsigned int sid_ctx_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_lib.c:1071,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - SSL_CTX*
    - GEN_SESSION_CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1076
    functionName: SSL_CTX_set_generate_session_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_generate_session_id(SSL_CTX *ctx, GEN_SESSION_CB cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1080,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_lib.c:1082,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - cb
    argTypes:
    - SSL*
    - GEN_SESSION_CB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1087
    functionName: SSL_set_generate_session_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_write_lock
    - SSL_CONNECTION_FROM_SSL
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int SSL_set_generate_session_id(SSL *ssl, GEN_SESSION_CB cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1100,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1107,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_lib.c:1109,1
    - Dst: lh_SSL_SESSION_retrieve
      Src: /src/openssl/ssl/ssl_lib.c:1111,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - id
    - id_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1114
    functionName: SSL_has_matching_session_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - lh_SSL_SESSION_retrieve
    - memcpy
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_has_matching_session_id(const SSL *ssl, const unsigned char
      *id,\n                                unsigned int id_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_purpose
      Src: /src/openssl/ssl/ssl_lib.c:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - purpose
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1119
    functionName: SSL_CTX_set_purpose
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_purpose
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_purpose(SSL_CTX *s, int purpose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1123,1
    - Dst: X509_VERIFY_PARAM_set_purpose
      Src: /src/openssl/ssl/ssl_lib.c:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - purpose
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1129
    functionName: SSL_set_purpose
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_purpose
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_purpose(SSL *s, int purpose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_trust
      Src: /src/openssl/ssl/ssl_lib.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - trust
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1131
    functionDepth: 3
    functionLinenumber: 1131
    functionLinenumberEnd: 1134
    functionName: SSL_CTX_set_trust
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_trust
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_trust(SSL_CTX *s, int trust)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1138,1
    - Dst: X509_VERIFY_PARAM_set_trust
      Src: /src/openssl/ssl/ssl_lib.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - trust
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1136
    functionDepth: 3
    functionLinenumber: 1136
    functionLinenumberEnd: 1144
    functionName: SSL_set_trust
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_trust
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_trust(SSL *s, int trust)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1148,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/ssl/ssl_lib.c:1154,1
    - Dst: X509_VERIFY_PARAM_set1_ip
      Src: /src/openssl/ssl/ssl_lib.c:1155,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/ssl/ssl_lib.c:1160,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/ssl/ssl_lib.c:1161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - host
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1162
    functionName: SSL_set1_host
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 15
    functionsReached:
    - X509_VERIFY_PARAM_set1_ip
    - X509_VERIFY_PARAM_set1_ip_asc
    - SSL_CONNECTION_FROM_SSL
    - X509_VERIFY_PARAM_set1_host
    linkageType: ''
    returnType: int
    signature: int SSL_set1_host(SSL *s, const char *host)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1166,1
    - Dst: a2i_IPADDRESS
      Src: /src/openssl/ssl/ssl_lib.c:1176,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/ssl/ssl_lib.c:1179,1
    - Dst: X509_VERIFY_PARAM_get1_ip_asc
      Src: /src/openssl/ssl/ssl_lib.c:1181,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1183,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:1185,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/openssl/ssl/ssl_lib.c:1190,1
    - Dst: X509_VERIFY_PARAM_add1_host
      Src: /src/openssl/ssl/ssl_lib.c:1194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - s
    - host
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1164
    functionDepth: 3
    functionLinenumber: 1164
    functionLinenumberEnd: 1195
    functionName: SSL_add1_host
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    - X509_VERIFY_PARAM_set1_ip_asc
    - OPENSSL_free
    - ASN1_OCTET_STRING_free
    - X509_VERIFY_PARAM_add1_host
    - X509_VERIFY_PARAM_get1_ip_asc
    - a2i_IPADDRESS
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_add1_host(SSL *s, const char *host)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1199,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/openssl/ssl/ssl_lib.c:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1205
    functionName: SSL_set_hostflags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_hostflags
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_hostflags(SSL *s, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1209,1
    - Dst: X509_VERIFY_PARAM_get0_peername
      Src: /src/openssl/ssl/ssl_lib.c:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1215
    functionName: SSL_get0_peername
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - X509_VERIFY_PARAM_get0_peername
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_get0_peername(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dane_ctx_enable
      Src: /src/openssl/ssl/ssl_lib.c:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1217
    functionDepth: 2
    functionLinenumber: 1217
    functionLinenumberEnd: 1220
    functionName: SSL_CTX_dane_enable
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - dane_ctx_enable
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_dane_enable(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1228
    functionName: SSL_CTX_dane_set_flags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long SSL_CTX_dane_set_flags(SSL_CTX *ctx, unsigned long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1236
    functionName: SSL_CTX_dane_clear_flags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long SSL_CTX_dane_clear_flags(SSL_CTX *ctx, unsigned long
      flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1241,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1248,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1252,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/openssl/ssl/ssl_lib.c:1262,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1263,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/openssl/ssl/ssl_lib.c:1269,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1270,1
    - Dst: sk_danetls_record_new_null
      Src: /src/openssl/ssl/ssl_lib.c:1277,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - s
    - basedomain
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1284
    functionName: SSL_dane_enable
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - sk_danetls_record_new_null
    - X509_VERIFY_PARAM_set1_host
    - SSL_set_tlsext_host_name
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_dane_enable(SSL *s, const char *basedomain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1298
    functionName: SSL_dane_set_flags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long SSL_dane_set_flags(SSL *ssl, unsigned long flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1312
    functionName: SSL_dane_clear_flags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long SSL_dane_clear_flags(SSL *ssl, unsigned long flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1317,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/ssl/ssl_lib.c:1324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - s
    - mcert
    - mspki
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1333
    functionName: SSL_get0_dane_authority
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - DANETLS_ENABLED
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get0_dane_authority(SSL *s, X509 **mcert, EVP_PKEY **mspki)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1339,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/ssl/ssl_lib.c:1346,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - s
    - usage
    - selector
    - mtype
    - data
    - dlen
    argTypes:
    - SSL*
    - uint8_t*
    - uint8_t*
    - uint8_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1361
    functionName: SSL_get0_dane_tlsa
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - DANETLS_ENABLED
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_get0_dane_tlsa(SSL *s, uint8_t *usage, uint8_t *selector,\n
      \                      uint8_t *mtype, const unsigned char **data, size_t *dlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1371
    functionName: SSL_get0_dane
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: SSL_DANE
    signature: SSL_DANE *SSL_get0_dane(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1376,1
    - Dst: dane_tlsa_add
      Src: /src/openssl/ssl/ssl_lib.c:1381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - s
    - usage
    - selector
    - mtype
    - data
    - dlen
    argTypes:
    - SSL*
    - uint8_t
    - uint8_t
    - uint8_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1373
    functionDepth: 8
    functionLinenumber: 1373
    functionLinenumberEnd: 1382
    functionName: SSL_dane_tlsa_add
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - dane_tlsa_add
    linkageType: ''
    returnType: int
    signature: "int SSL_dane_tlsa_add(SSL *s, uint8_t usage, uint8_t selector,\n                      uint8_t
      mtype, const unsigned char *data, size_t dlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dane_mtype_set
      Src: /src/openssl/ssl/ssl_lib.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - md
    - mtype
    - ord
    argTypes:
    - SSL_CTX*
    - EVP_MD*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1388
    functionName: SSL_CTX_dane_mtype_set
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - dane_mtype_set
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_dane_mtype_set(SSL_CTX *ctx, const EVP_MD *md, uint8_t
      mtype,\n                           uint8_t ord)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/openssl/ssl/ssl_lib.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - vpm
    argTypes:
    - SSL_CTX*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1390
    functionDepth: 3
    functionLinenumber: 1390
    functionLinenumberEnd: 1393
    functionName: SSL_CTX_set1_param
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - X509_VERIFY_PARAM_set1
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1397,1
    - Dst: X509_VERIFY_PARAM_set1
      Src: /src/openssl/ssl/ssl_lib.c:1402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - vpm
    argTypes:
    - SSL*
    - X509_VERIFY_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1403
    functionName: SSL_set1_param
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set1
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1408
    functionName: SSL_CTX_get0_param
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: X509_VERIFY_PARAM
    signature: X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1418
    functionName: SSL_get0_param
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: X509_VERIFY_PARAM
    signature: X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1422,1
    - Dst: ssl_cert_clear_certs
      Src: /src/openssl/ssl/ssl_lib.c:1427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1428
    functionName: SSL_certs_clear
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ssl_cert_clear_certs
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_certs_clear(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/ssl_lib.c:1436,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_lib.c:1437,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_lib.c:1440,1
    - Dst: SSL*::method::ssl_free
      Src: /src/openssl/ssl/ssl_lib.c:1443,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:1445,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:1446,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/ssl/ssl_lib.c:1447,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_lib.c:1448,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1451
    functionName: SSL_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1739
    functionsReached:
    - REF_PRINT_COUNT
    - SSL_CTX_free
    - CRYPTO_THREAD_lock_free
    - SSL*::method::ssl_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - CRYPTO_free_ex_data
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void SSL_free(SSL *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:1457,1
    - Dst: ssl_free_wbio_buffer
      Src: /src/openssl/ssl/ssl_lib.c:1466,1
    - Dst: RECORD_LAYER_clear
      Src: /src/openssl/ssl/ssl_lib.c:1467,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/ssl/ssl_lib.c:1469,1
    - Dst: dane_final
      Src: /src/openssl/ssl/ssl_lib.c:1470,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/ssl_lib.c:1472,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:1475,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:1476,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:1477,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:1478,1
    - Dst: ssl_clear_bad_session
      Src: /src/openssl/ssl/ssl_lib.c:1482,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:1483,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:1485,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1486,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:1488,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1489,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1492,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:1493,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1494,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1495,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1497,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1498,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1499,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1500,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1503,1
    - Dst: sk_OCSP_RESPID_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1507,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1508,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/ssl/ssl_lib.c:1512,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1513,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1515,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1516,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1518,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1519,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1520,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:1521,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1523,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:1524,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1526,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1527,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_lib.c:1529,1
    - Dst: SSL*::method::ssl_deinit
      Src: /src/openssl/ssl/ssl_lib.c:1532,1
    - Dst: ASYNC_WAIT_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:1534,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1537,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_free
      Src: /src/openssl/ssl/ssl_lib.c:1541,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/ssl_lib.c:1550,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/ssl_lib.c:1552,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:1554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 60
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1453
    functionDepth: 8
    functionLinenumber: 1453
    functionLinenumberEnd: 1555
    functionName: ossl_ssl_connection_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    - sk_OCSP_RESPONSE_pop_free
    - OPENSSL_free
    - SSL_CTX_free
    - SSL*::method::ssl_deinit
    - OSSL_STACK_OF_X509_free
    - BIO_free_all
    - ssl_free_wbio_buffer
    - sk_SSL_CIPHER_free
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SCT_LIST_free
    - ASYNC_WAIT_CTX_free
    - sk_OCSP_RESPID_pop_free
    - X509_VERIFY_PARAM_free
    - SSL_SESSION_free
    - sk_X509_EXTENSION_pop_free
    - ssl_clear_bad_session
    - sk_X509_NAME_pop_free
    - sk_SRTP_PROTECTION_PROFILE_free
    - dane_final
    - ssl_cert_free
    - EVP_MD_CTX_free
    - RECORD_LAYER_clear
    linkageType: ''
    returnType: void
    signature: void ossl_ssl_connection_free(SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1559,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1562,1
    - Dst: ossl_quic_conn_set0_net_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1563,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/ssl_lib.c:1571,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set1_bio
      Src: /src/openssl/ssl/ssl_lib.c:1573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - rbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1557
    functionDepth: 4
    functionLinenumber: 1557
    functionLinenumberEnd: 1574
    functionName: SSL_set0_rbio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - ossl_quic_conn_set0_net_rbio
    - BIO_free_all
    - IS_QUIC
    - SSL_CONNECTION*::rlayer::rrlmethod::set1_bio
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set0_rbio(SSL *s, BIO *rbio)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1578,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1581,1
    - Dst: ossl_quic_conn_set0_net_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1582,1
    - Dst: BIO_pop
      Src: /src/openssl/ssl/ssl_lib.c:1594,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/ssl_lib.c:1596,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/ssl_lib.c:1601,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
      Src: /src/openssl/ssl/ssl_lib.c:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - wbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1576
    functionDepth: 4
    functionLinenumber: 1576
    functionLinenumberEnd: 1604
    functionName: SSL_set0_wbio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
    - ossl_quic_conn_set0_net_wbio
    - BIO_free_all
    - BIO_push
    - IS_QUIC
    - BIO_pop
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set0_wbio(SSL *s, BIO *wbio)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1614,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1614,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:1622,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1629,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1630,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1638,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1638,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1638,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1639,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1644,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1645,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - s
    - rbio
    - wbio
    argTypes:
    - SSL*
    - BIO*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1606
    functionDepth: 5
    functionLinenumber: 1606
    functionLinenumberEnd: 1646
    functionName: SSL_set_bio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 44
    functionsReached:
    - BIO_up_ref
    - SSL_set0_wbio
    - SSL_set0_rbio
    - SSL_get_wbio
    - SSL_get_rbio
    linkageType: ''
    returnType: void
    signature: void SSL_set_bio(SSL *s, BIO *rbio, BIO *wbio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1650,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1653,1
    - Dst: ossl_quic_conn_get_net_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1661
    functionName: SSL_get_rbio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 24
    functionsReached:
    - ossl_quic_conn_get_net_rbio
    - IS_QUIC
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: BIO
    signature: BIO *SSL_get_rbio(const SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1665,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1668,1
    - Dst: ossl_quic_conn_get_net_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1669,1
    - Dst: BIO_next
      Src: /src/openssl/ssl/ssl_lib.c:1680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1683
    functionName: SSL_get_wbio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 33
    functionsReached:
    - ossl_quic_conn_get_net_wbio
    - IS_QUIC
    - BIO_next
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: BIO
    signature: BIO *SSL_get_wbio(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_rfd
      Src: /src/openssl/ssl/ssl_lib.c:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1688
    functionName: SSL_get_fd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - SSL_get_rfd
    linkageType: ''
    returnType: int
    signature: int SSL_get_fd(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1695,1
    - Dst: BIO_find_type
      Src: /src/openssl/ssl/ssl_lib.c:1696,1
    - Dst: BIO_get_fd
      Src: /src/openssl/ssl/ssl_lib.c:1698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1690
    functionDepth: 2
    functionLinenumber: 1690
    functionLinenumberEnd: 1700
    functionName: SSL_get_rfd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - BIO_get_fd
    - BIO_find_type
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int SSL_get_rfd(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1707,1
    - Dst: BIO_find_type
      Src: /src/openssl/ssl/ssl_lib.c:1708,1
    - Dst: BIO_get_fd
      Src: /src/openssl/ssl/ssl_lib.c:1710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1702
    functionDepth: 2
    functionLinenumber: 1702
    functionLinenumberEnd: 1712
    functionName: SSL_get_wfd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - BIO_get_fd
    - BIO_find_type
    - SSL_get_wbio
    linkageType: ''
    returnType: int
    signature: int SSL_get_wfd(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1718,1
    - Dst: BIO_s_datagram
      Src: /src/openssl/ssl/ssl_lib.c:1719,1
    - Dst: BIO_s_socket
      Src: /src/openssl/ssl/ssl_lib.c:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1715
    functionDepth: 1
    functionLinenumber: 1715
    functionLinenumberEnd: 1723
    functionName: fd_method
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - IS_QUIC
    - BIO_s_datagram
    - BIO_s_socket
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *fd_method(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1731,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_lib.c:1735,1
    - Dst: fd_method
      Src: /src/openssl/ssl/ssl_lib.c:1735,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1738,1
    - Dst: BIO_set_fd
      Src: /src/openssl/ssl/ssl_lib.c:1741,1
    - Dst: SSL_set_bio
      Src: /src/openssl/ssl/ssl_lib.c:1742,1
    - Dst: ktls_enable
      Src: /src/openssl/ssl/ssl_lib.c:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - s
    - fd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1725
    functionDepth: 6
    functionLinenumber: 1725
    functionLinenumberEnd: 1755
    functionName: SSL_set_fd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 9
    functionsReached:
    - ktls_enable
    - BIO_new
    - ERR_raise
    - fd_method
    - BIO_set_fd
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int SSL_set_fd(SSL *s, int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1759,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1760,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1763,1
    - Dst: BIO_method_type
      Src: /src/openssl/ssl/ssl_lib.c:1767,1
    - Dst: BIO_get_fd
      Src: /src/openssl/ssl/ssl_lib.c:1768,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_lib.c:1769,1
    - Dst: fd_method
      Src: /src/openssl/ssl/ssl_lib.c:1769,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1772,1
    - Dst: BIO_set_fd
      Src: /src/openssl/ssl/ssl_lib.c:1775,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1776,1
    - Dst: ktls_enable
      Src: /src/openssl/ssl/ssl_lib.c:1784,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:1787,1
    - Dst: SSL_set0_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - s
    - fd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1757
    functionDepth: 5
    functionLinenumber: 1757
    functionLinenumberEnd: 1792
    functionName: SSL_set_wfd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ktls_enable
    - BIO_new
    - SSL_set0_wbio
    - BIO_up_ref
    - BIO_method_type
    - ERR_raise
    - fd_method
    - BIO_get_fd
    - IS_QUIC
    - BIO_set_fd
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int SSL_set_wfd(SSL *s, int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:1796,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1797,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1800,1
    - Dst: BIO_method_type
      Src: /src/openssl/ssl/ssl_lib.c:1804,1
    - Dst: BIO_get_fd
      Src: /src/openssl/ssl/ssl_lib.c:1805,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_lib.c:1806,1
    - Dst: fd_method
      Src: /src/openssl/ssl/ssl_lib.c:1806,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:1809,1
    - Dst: BIO_set_fd
      Src: /src/openssl/ssl/ssl_lib.c:1812,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1813,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:1815,1
    - Dst: SSL_set0_rbio
      Src: /src/openssl/ssl/ssl_lib.c:1817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - fd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1794
    functionDepth: 5
    functionLinenumber: 1794
    functionLinenumberEnd: 1821
    functionName: SSL_set_rfd
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - BIO_up_ref
    - BIO_new
    - BIO_method_type
    - ERR_raise
    - SSL_set0_rbio
    - fd_method
    - BIO_get_fd
    - SSL_get_wbio
    - IS_QUIC
    - BIO_set_fd
    linkageType: ''
    returnType: int
    signature: int SSL_set_rfd(SSL *s, int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1828,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - buf
    - count
    argTypes:
    - SSL*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1838
    functionName: SSL_get_finished
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_get_finished(const SSL *s, void *buf, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1844,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:1852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - buf
    - count
    argTypes:
    - SSL*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1854
    functionName: SSL_get_peer_finished
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1864
    functionName: SSL_get_verify_mode
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_verify_mode(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1868,1
    - Dst: X509_VERIFY_PARAM_get_depth
      Src: /src/openssl/ssl/ssl_lib.c:1873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1874
    functionName: SSL_get_verify_depth
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_get_depth
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_verify_depth(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1876
    functionDepth: 1
    functionLinenumber: 1876
    functionLinenumberEnd: 1883
    functionName: (*SSL_get_verify_callback(const SSL *s)) (int, X509_STORE_CTX *)
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int (*SSL_get_verify_callback(const SSL *s)) (int, X509_STORE_CTX *)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1885
    functionDepth: 0
    functionLinenumber: 1885
    functionLinenumberEnd: 1888
    functionName: SSL_CTX_get_verify_mode
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_get_verify_mode(const SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_get_depth
      Src: /src/openssl/ssl/ssl_lib.c:1892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1890
    functionDepth: 1
    functionLinenumber: 1890
    functionLinenumberEnd: 1893
    functionName: SSL_CTX_get_verify_depth
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_get_depth
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_get_verify_depth(const SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1897
    functionName: (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx)) (int, X509_STORE_CTX
      *)
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx)) (int, X509_STORE_CTX
      *)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1910
    functionName: SSL_set_verify
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: "void SSL_set_verify(SSL *s, int mode,\n                    int (*callback)
      (int ok, X509_STORE_CTX *ctx))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1914,1
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/ssl/ssl_lib.c:1919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - depth
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 1920
    functionName: SSL_set_verify_depth
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_depth
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_verify_depth(SSL *s, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:1924,1
    - Dst: RECORD_LAYER_set_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:1930,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/ssl_lib.c:1932,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:1934,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:1937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - 'yes'
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1922
    functionDepth: 2
    functionLinenumber: 1922
    functionLinenumberEnd: 1938
    functionName: SSL_set_read_ahead
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PARAM_construct_end
    - RECORD_LAYER_set_read_ahead
    - OSSL_PARAM_construct_int
    - SSL_CONNECTION*::rlayer::rrlmethod::set_options
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: void SSL_set_read_ahead(SSL *s, int yes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:1942,1
    - Dst: RECORD_LAYER_get_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:1947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1948
    functionName: SSL_get_read_ahead
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    - RECORD_LAYER_get_read_ahead
    linkageType: ''
    returnType: int
    signature: int SSL_get_read_ahead(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL*::method::ssl_pending
      Src: /src/openssl/ssl/ssl_lib.c:1952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1965
    functionName: SSL_pending
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - SSL*::method::ssl_pending
    linkageType: ''
    returnType: int
    signature: int SSL_pending(const SSL *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:1980,1
    - Dst: ossl_quic_has_pending
      Src: /src/openssl/ssl/ssl_lib.c:1981,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:1984,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:1987,1
    - Dst: pqueue_iterator
      Src: /src/openssl/ssl/ssl_lib.c:1991,1
    - Dst: pqueue_next
      Src: /src/openssl/ssl/ssl_lib.c:1992,1
    - Dst: RECORD_LAYER_processed_read_pending
      Src: /src/openssl/ssl/ssl_lib.c:1999,1
    - Dst: RECORD_LAYER_read_pending
      Src: /src/openssl/ssl/ssl_lib.c:2002,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1967
    functionDepth: 2
    functionLinenumber: 1967
    functionLinenumberEnd: 2003
    functionName: SSL_has_pending
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - ossl_quic_has_pending
    - pqueue_iterator
    - RECORD_LAYER_read_pending
    - IS_QUIC
    - SSL_CONNECTION_IS_DTLS
    - pqueue_next
    - RECORD_LAYER_processed_read_pending
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_has_pending(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_peer_certificate
      Src: /src/openssl/ssl/ssl_lib.c:2007,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:2009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2005
    functionDepth: 2
    functionLinenumber: 2005
    functionLinenumberEnd: 2013
    functionName: SSL_get1_peer_certificate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_get0_peer_certificate
    - X509_up_ref
    linkageType: ''
    returnType: X509
    signature: X509 *SSL_get1_peer_certificate(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2026
    functionName: SSL_get0_peer_certificate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: X509
    signature: X509 *SSL_get0_peer_certificate(const SSL *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2057,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2058,1
    - Dst: SSL_set_session
      Src: /src/openssl/ssl/ssl_lib.c:2064,1
    - Dst: SSL_get_session
      Src: /src/openssl/ssl/ssl_lib.c:2064,1
    - Dst: SSL*::method::ssl_deinit
      Src: /src/openssl/ssl/ssl_lib.c:2072,1
    - Dst: SSL*::method::ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:2074,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_lib.c:2078,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:2079,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/ssl/ssl_lib.c:2081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - t
    - f
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2053
    functionDepth: 2
    functionLinenumber: 2053
    functionLinenumberEnd: 2086
    functionName: SSL_copy_session_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL*::method::ssl_deinit
    - ssl_cert_free
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    - CRYPTO_UP_REF
    - SSL_get_session
    - SSL_set_session_id_context
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL*::method::ssl_init
    - SSL_set_session
    linkageType: ''
    returnType: int
    signature: int SSL_copy_session_id(SSL *t, const SSL *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2092,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2096,1
    - Dst: X509_check_private_key
      Src: /src/openssl/ssl/ssl_lib.c:2099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2089
    functionDepth: 3
    functionLinenumber: 2089
    functionLinenumberEnd: 2101
    functionName: SSL_CTX_check_private_key
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - ERR_raise
    - X509_check_private_key
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_check_private_key(const SSL_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2108,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2109,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2113,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2117,1
    - Dst: X509_check_private_key
      Src: /src/openssl/ssl/ssl_lib.c:2120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2104
    functionDepth: 3
    functionLinenumber: 2104
    functionLinenumberEnd: 2122
    functionName: SSL_check_private_key
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - X509_check_private_key
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_check_private_key(const SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2135
    functionName: SSL_waiting_for_async
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_waiting_for_async(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2140,1
    - Dst: ASYNC_WAIT_CTX_get_all_fds
      Src: /src/openssl/ssl/ssl_lib.c:2147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - fds
    - numfds
    argTypes:
    - SSL*
    - OSSL_ASYNC_FD*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2148
    functionName: SSL_get_all_async_fds
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ASYNC_WAIT_CTX_get_all_fds
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_all_async_fds(SSL *s, OSSL_ASYNC_FD *fds, size_t *numfds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2154,1
    - Dst: ASYNC_WAIT_CTX_get_changed_fds
      Src: /src/openssl/ssl/ssl_lib.c:2161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - s
    - addfd
    - numaddfds
    - delfd
    - numdelfds
    argTypes:
    - SSL*
    - OSSL_ASYNC_FD*
    - size_t*
    - OSSL_ASYNC_FD*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2163
    functionName: SSL_get_changed_async_fds
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - ASYNC_WAIT_CTX_get_changed_fds
    linkageType: ''
    returnType: int
    signature: "int SSL_get_changed_async_fds(SSL *s, OSSL_ASYNC_FD *addfd, size_t
      *numaddfds,\n                              OSSL_ASYNC_FD *delfd, size_t *numdelfds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - callback
    argTypes:
    - SSL_CTX*
    - SSL_async_callback_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2165
    functionDepth: 0
    functionLinenumber: 2165
    functionLinenumberEnd: 2169
    functionName: SSL_CTX_set_async_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_async_callback(SSL_CTX *ctx, SSL_async_callback_fn
      callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2175
    functionName: SSL_CTX_set_async_callback_arg
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_async_callback_arg(SSL_CTX *ctx, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - callback
    argTypes:
    - SSL*
    - SSL_async_callback_fn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2177
    functionDepth: 1
    functionLinenumber: 2177
    functionLinenumberEnd: 2186
    functionName: SSL_set_async_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_async_callback(SSL *s, SSL_async_callback_fn callback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2188
    functionDepth: 1
    functionLinenumber: 2188
    functionLinenumberEnd: 2197
    functionName: SSL_set_async_callback_arg
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_async_callback_arg(SSL *s, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2202,1
    - Dst: ASYNC_WAIT_CTX_get_status
      Src: /src/openssl/ssl/ssl_lib.c:2209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - status
    argTypes:
    - SSL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2199
    functionDepth: 1
    functionLinenumber: 2199
    functionLinenumberEnd: 2211
    functionName: SSL_get_async_status
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ASYNC_WAIT_CTX_get_status
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_async_status(SSL *s, int *status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2215,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2218,1
    - Dst: SSL*::method::ssl_accept
      Src: /src/openssl/ssl/ssl_lib.c:2219,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/ssl_lib.c:2227,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/ssl/ssl_lib.c:2230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2213
    functionDepth: 1
    functionLinenumber: 2213
    functionLinenumberEnd: 2231
    functionName: SSL_accept
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 16
    functionsReached:
    - SSL_set_accept_state
    - SSL_do_handshake
    - IS_QUIC
    - SSL*::method::ssl_accept
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_accept(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2235,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2238,1
    - Dst: SSL*::method::ssl_connect
      Src: /src/openssl/ssl/ssl_lib.c:2239,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/ssl_lib.c:2247,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/ssl/ssl_lib.c:2250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2233
    functionDepth: 1
    functionLinenumber: 2233
    functionLinenumberEnd: 2251
    functionName: SSL_connect
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 36
    functionsReached:
    - SSL_do_handshake
    - SSL_set_connect_state
    - IS_QUIC
    - SSL*::method::ssl_connect
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_connect(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/ssl_lib.c:2255,1
    - Dst: SSL*::method::get_timeout
      Src: /src/openssl/ssl/ssl_lib.c:2255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2253
    functionDepth: 1
    functionLinenumber: 2253
    functionLinenumberEnd: 2256
    functionName: SSL_get_default_timeout
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_time2seconds
    - SSL*::method::get_timeout
    linkageType: ''
    returnType: long
    signature: long SSL_get_default_timeout(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2261,1
    - Dst: SSL_CONNECTION*::async_cb
      Src: /src/openssl/ssl/ssl_lib.c:2266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2258
    functionDepth: 1
    functionLinenumber: 2258
    functionLinenumberEnd: 2267
    functionName: ssl_async_wait_ctx_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION*::async_cb
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_async_wait_ctx_cb(void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2273,1
    - Dst: ASYNC_WAIT_CTX_new
      Src: /src/openssl/ssl/ssl_lib.c:2279,1
    - Dst: ASYNC_WAIT_CTX_set_callback
      Src: /src/openssl/ssl/ssl_lib.c:2283,1
    - Dst: ASYNC_start_job
      Src: /src/openssl/ssl/ssl_lib.c:2289,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2293,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - s
    - args
    argTypes:
    - SSL*
    - struct ssl_async_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2269
    functionDepth: 5
    functionLinenumber: 2269
    functionLinenumberEnd: 2310
    functionName: ssl_start_async_job
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASYNC_start_job
    - ASYNC_WAIT_CTX_set_callback
    - SSL_CONNECTION_FROM_SSL
    - ASYNC_WAIT_CTX_new
    linkageType: ''
    returnType: int
    signature: "int ssl_start_async_job(SSL *s, struct ssl_async_args *args,\n                               int
      (*func) (void *))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2324,1
    - Dst: struct ssl_async_args*::f::func_read
      Src: /src/openssl/ssl/ssl_lib.c:2329,1
    - Dst: struct ssl_async_args*::f::func_write
      Src: /src/openssl/ssl/ssl_lib.c:2331,1
    - Dst: struct ssl_async_args*::f::func_other
      Src: /src/openssl/ssl/ssl_lib.c:2333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - vargs
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2336
    functionName: ssl_io_intern
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - struct ssl_async_args*::f::func_read
    - struct ssl_async_args*::f::func_write
    - struct ssl_async_args*::f::func_other
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_io_intern(void *vargs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2340,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2343,1
    - Dst: SSL*::method::ssl_read
      Src: /src/openssl/ssl/ssl_lib.c:2344,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2351,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2362,1
    - Dst: ossl_statem_check_finish_init
      Src: /src/openssl/ssl/ssl_lib.c:2369,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:2372,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:2382,1
    - Dst: SSL*::method::ssl_read
      Src: /src/openssl/ssl/ssl_lib.c:2386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2338
    functionDepth: 6
    functionLinenumber: 2338
    functionLinenumberEnd: 2388
    functionName: ssl_read_internal
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - SSL*::method::ssl_read
    - ASYNC_get_current_job
    - IS_QUIC
    - ssl_start_async_job
    - SSL_CONNECTION_FROM_SSL
    - ossl_statem_check_finish_init
    linkageType: ''
    returnType: int
    signature: int ssl_read_internal(SSL *s, void *buf, size_t num, size_t *readbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2396,1
    - Dst: ssl_read_internal
      Src: /src/openssl/ssl/ssl_lib.c:2400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - s
    - buf
    - num
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2390
    functionDepth: 7
    functionLinenumber: 2390
    functionLinenumberEnd: 2410
    functionName: SSL_read
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 41
    functionsReached:
    - ssl_read_internal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SSL_read(SSL *s, void *buf, int num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_read_internal
      Src: /src/openssl/ssl/ssl_lib.c:2414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2412
    functionDepth: 7
    functionLinenumber: 2412
    functionLinenumberEnd: 2419
    functionName: SSL_read_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 45
    functionsReached:
    - ssl_read_internal
    linkageType: ''
    returnType: int
    signature: int SSL_read_ex(SSL *s, void *buf, size_t num, size_t *readbytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2424,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2428,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:2434,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2435,1
    - Dst: SSL_accept
      Src: /src/openssl/ssl/ssl_lib.c:2442,1
    - Dst: SSL_read_ex
      Src: /src/openssl/ssl/ssl_lib.c:2453,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2421
    functionDepth: 8
    functionLinenumber: 2421
    functionLinenumberEnd: 2475
    functionName: SSL_read_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 15
    functionsReached:
    - SSL_read_ex
    - ERR_raise
    - SSL_accept
    - SSL_in_before
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_read_early_data(SSL *s, void *buf, size_t num, size_t *readbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2477
    functionDepth: 1
    functionLinenumber: 2477
    functionLinenumberEnd: 2486
    functionName: SSL_get_early_data_status
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_get_early_data_status(const SSL *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2490,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2493,1
    - Dst: SSL*::method::ssl_peek
      Src: /src/openssl/ssl/ssl_lib.c:2494,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2501,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:2508,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:2518,1
    - Dst: SSL*::method::ssl_peek
      Src: /src/openssl/ssl/ssl_lib.c:2522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2488
    functionDepth: 6
    functionLinenumber: 2488
    functionLinenumberEnd: 2524
    functionName: ssl_peek_internal
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - ASYNC_get_current_job
    - IS_QUIC
    - ssl_start_async_job
    - SSL*::method::ssl_peek
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_peek_internal(SSL *s, void *buf, size_t num, size_t *readbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2532,1
    - Dst: ssl_peek_internal
      Src: /src/openssl/ssl/ssl_lib.c:2536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - s
    - buf
    - num
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2526
    functionDepth: 7
    functionLinenumber: 2526
    functionLinenumberEnd: 2546
    functionName: SSL_peek
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ssl_peek_internal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SSL_peek(SSL *s, void *buf, int num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_peek_internal
      Src: /src/openssl/ssl/ssl_lib.c:2551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - readbytes
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2549
    functionDepth: 7
    functionLinenumber: 2549
    functionLinenumberEnd: 2556
    functionName: SSL_peek_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ssl_peek_internal
    linkageType: ''
    returnType: int
    signature: int SSL_peek_ex(SSL *s, void *buf, size_t num, size_t *readbytes)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2561,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2564,1
    - Dst: ossl_quic_write_flags
      Src: /src/openssl/ssl/ssl_lib.c:2565,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2572,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2578,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2583,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2590,1
    - Dst: ossl_statem_check_finish_init
      Src: /src/openssl/ssl/ssl_lib.c:2594,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:2597,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:2607,1
    - Dst: SSL*::method::ssl_write
      Src: /src/openssl/ssl/ssl_lib.c:2611,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - s
    - buf
    - num
    - flags
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2558
    functionDepth: 6
    functionLinenumber: 2558
    functionLinenumberEnd: 2613
    functionName: ssl_write_internal
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - ossl_quic_write_flags
    - ASYNC_get_current_job
    - IS_QUIC
    - ssl_start_async_job
    - SSL*::method::ssl_write
    - SSL_CONNECTION_FROM_SSL
    - ossl_statem_check_finish_init
    linkageType: ''
    returnType: int
    signature: "int ssl_write_internal(SSL *s, const void *buf, size_t num,\n                       uint64_t
      flags, size_t *written)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2618,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2624,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2630,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/ssl/ssl_lib.c:2634,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2635,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/ssl_lib.c:2641,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/ssl_lib.c:2650,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/ssl_lib.c:2651,1
    - Dst: set_sys_error
      Src: /src/openssl/ssl/ssl_lib.c:2655,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:2662,1
    - Dst: ktls_sendfile
      Src: /src/openssl/ssl/ssl_lib.c:2666,1
    - Dst: SSL_get_wfd
      Src: /src/openssl/ssl/ssl_lib.c:2666,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/ssl_lib.c:2669,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/ssl_lib.c:2670,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/ssl_lib.c:2671,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/ssl/ssl_lib.c:2672,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:2675,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/ssl_lib.c:2675,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - s
    - fd
    - offset
    - size
    - flags
    argTypes:
    - SSL*
    - int
    - off_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2615
    functionDepth: 3
    functionLinenumber: 2615
    functionLinenumberEnd: 2682
    functionName: SSL_sendfile
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - BIO_get_ktls_send
    - ERR_raise
    - ktls_sendfile
    - BIO_flush
    - SSL_get_wfd
    - ERR_raise_data
    - get_last_sys_error
    - BIO_set_retry_write
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL*::method::ssl_dispatch_alert
    - set_sys_error
    - BIO_should_retry
    linkageType: ''
    returnType: ossl_ssize_t
    signature: ossl_ssize_t SSL_sendfile(SSL *s, int fd, off_t offset, size_t size,
      int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2690,1
    - Dst: ssl_write_internal
      Src: /src/openssl/ssl/ssl_lib.c:2694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - s
    - buf
    - num
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2684
    functionDepth: 7
    functionLinenumber: 2684
    functionLinenumberEnd: 2704
    functionName: SSL_write
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 31
    functionsReached:
    - ssl_write_internal
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SSL_write(SSL *s, const void *buf, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write_ex2
      Src: /src/openssl/ssl/ssl_lib.c:2708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2709
    functionName: SSL_write_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 38
    functionsReached:
    - SSL_write_ex2
    linkageType: ''
    returnType: int
    signature: int SSL_write_ex(SSL *s, const void *buf, size_t num, size_t *written)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_write_internal
      Src: /src/openssl/ssl/ssl_lib.c:2714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - buf
    - num
    - flags
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2711
    functionDepth: 7
    functionLinenumber: 2711
    functionLinenumberEnd: 2719
    functionName: SSL_write_ex2
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - ssl_write_internal
    linkageType: ''
    returnType: int
    signature: "int SSL_write_ex2(SSL *s, const void *buf, size_t num, uint64_t flags,\n
      \                 size_t *written)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2726,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:2735,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2738,1
    - Dst: SSL_connect
      Src: /src/openssl/ssl/ssl_lib.c:2745,1
    - Dst: SSL_write_ex
      Src: /src/openssl/ssl/ssl_lib.c:2762,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/ssl_lib.c:2773,1
    - Dst: SSL_write_ex
      Src: /src/openssl/ssl/ssl_lib.c:2784,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/ssl_lib.c:2787,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2792,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - s
    - buf
    - num
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2721
    functionDepth: 2
    functionLinenumber: 2721
    functionLinenumberEnd: 2795
    functionName: SSL_write_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 12
    functionsReached:
    - ERR_raise
    - SSL_write_ex
    - BIO_flush
    - statem_flush
    - SSL_connect
    - SSL_in_before
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_write_early_data(SSL *s, const void *buf, size_t num, size_t
      *written)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2805,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2808,1
    - Dst: ossl_quic_conn_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:2809,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2816,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:2820,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:2821,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:2824,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:2829,1
    - Dst: SSL*::method::ssl_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:2831,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2797
    functionDepth: 6
    functionLinenumber: 2797
    functionLinenumberEnd: 2837
    functionName: SSL_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 52
    functionsReached:
    - SSL*::method::ssl_shutdown
    - ERR_raise
    - memset
    - SSL_in_init
    - ASYNC_get_current_job
    - IS_QUIC
    - ossl_quic_conn_shutdown
    - ssl_start_async_job
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_shutdown(SSL *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2841,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2844,1
    - Dst: ossl_quic_key_update
      Src: /src/openssl/ssl/ssl_lib.c:2845,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:2851,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2852,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2858,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/ssl/ssl_lib.c:2862,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2863,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/ssl_lib.c:2867,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2868,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/ssl_lib.c:2872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - s
    - updatetype
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2839
    functionDepth: 1
    functionLinenumber: 2839
    functionLinenumberEnd: 2875
    functionName: SSL_key_update
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 12
    functionsReached:
    - ossl_statem_set_in_init
    - ERR_raise
    - SSL_is_init_finished
    - ossl_quic_key_update
    - IS_QUIC
    - RECORD_LAYER_write_pending
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_key_update(SSL *s, int updatetype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2879,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2882,1
    - Dst: ossl_quic_get_key_update_type
      Src: /src/openssl/ssl/ssl_lib.c:2883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2877
    functionDepth: 1
    functionLinenumber: 2877
    functionLinenumberEnd: 2890
    functionName: SSL_get_key_update_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_key_update_type
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_key_update_type(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:2898,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2899,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:2904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2896
    functionDepth: 1
    functionLinenumber: 2896
    functionLinenumberEnd: 2909
    functionName: can_renegotiate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_IS_TLS13
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int can_renegotiate(const SSL_CONNECTION *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2913,1
    - Dst: can_renegotiate
      Src: /src/openssl/ssl/ssl_lib.c:2918,1
    - Dst: SSL*::method::ssl_renegotiate
      Src: /src/openssl/ssl/ssl_lib.c:2923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2924
      start: 2911
    functionDepth: 2
    functionLinenumber: 2911
    functionLinenumberEnd: 2924
    functionName: SSL_renegotiate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL*::method::ssl_renegotiate
    - can_renegotiate
    linkageType: ''
    returnType: int
    signature: int SSL_renegotiate(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2928,1
    - Dst: can_renegotiate
      Src: /src/openssl/ssl/ssl_lib.c:2933,1
    - Dst: SSL*::method::ssl_renegotiate
      Src: /src/openssl/ssl/ssl_lib.c:2938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2926
    functionDepth: 2
    functionLinenumber: 2926
    functionLinenumberEnd: 2939
    functionName: SSL_renegotiate_abbreviated
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL*::method::ssl_renegotiate
    - can_renegotiate
    linkageType: ''
    returnType: int
    signature: int SSL_renegotiate_abbreviated(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:2943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2941
    functionDepth: 1
    functionLinenumber: 2941
    functionLinenumberEnd: 2953
    functionName: SSL_renegotiate_pending
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_renegotiate_pending(const SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2957,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:2963,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/ssl_lib.c:2964,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:2965,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/ssl_lib.c:2968,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:2968,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/ssl_lib.c:2969,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2955
    functionDepth: 1
    functionLinenumber: 2955
    functionLinenumberEnd: 2971
    functionName: SSL_new_session_ticket
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_statem_set_in_init
    - SSL_in_init
    - RECORD_LAYER_write_pending
    - SSL_IS_FIRST_HANDSHAKE
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_new_session_ticket(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ctrl_internal
      Src: /src/openssl/ssl/ssl_lib.c:2975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2973
    functionDepth: 1
    functionLinenumber: 2973
    functionLinenumberEnd: 2976
    functionName: SSL_ctrl
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_ctrl_internal
    linkageType: ''
    returnType: long
    signature: long SSL_ctrl(SSL *s, int cmd, long larg, void *parg)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:2981,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:2998,1
    - Dst: SSL*::method::ssl_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:2999,1
    - Dst: RECORD_LAYER_get_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:3006,1
    - Dst: RECORD_LAYER_get_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:3008,1
    - Dst: RECORD_LAYER_set_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:3009,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/ssl/ssl_lib.c:3018,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:3020,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:3023,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/ssl/ssl_lib.c:3041,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_max_frag_len
      Src: /src/openssl/ssl/ssl_lib.c:3047,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_max_pipelines
      Src: /src/openssl/ssl/ssl_lib.c:3059,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:3081,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/ssl_lib.c:3081,1
    - Dst: ssl_check_allowed_versions
      Src: /src/openssl/ssl/ssl_lib.c:3088,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_lib.c:3089,1
    - Dst: ssl_check_allowed_versions
      Src: /src/openssl/ssl/ssl_lib.c:3094,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_lib.c:3095,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:3100,1
    - Dst: SSL_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3101,1
    - Dst: SSL*::method::ssl_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3103,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 88
    argCount: 5
    argNames:
    - s
    - cmd
    - larg
    - parg
    - no_quic
    argTypes:
    - SSL*
    - int
    - long
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 2978
    functionDepth: 5
    functionLinenumber: 2978
    functionLinenumberEnd: 3105
    functionName: ossl_ctrl_internal
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_statem_get_in_handshake
    - SSL*::method::ssl_ctrl
    - BIO_get_ktls_send
    - ssl_set_version_bound
    - OSSL_PARAM_construct_uint32
    - RECORD_LAYER_set_read_ahead
    - SSL_in_init
    - SSL_CONNECTION*::rlayer::wrlmethod::set_max_frag_len
    - ssl_check_allowed_versions
    - SSL_ctrl
    - RECORD_LAYER_get_read_ahead
    - IS_QUIC
    - SSL_CONNECTION*::rlayer::rrlmethod::set_options
    - OSSL_PARAM_construct_end
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION*::rlayer::rrlmethod::set_max_pipelines
    linkageType: ''
    returnType: long
    signature: long ossl_ctrl_internal(SSL *s, int cmd, long larg, void *parg, int
      no_quic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL*::method::ssl_callback_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - cmd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3107
    functionDepth: 4
    functionLinenumber: 3107
    functionLinenumberEnd: 3110
    functionName: SSL_callback_ctrl
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL*::method::ssl_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long SSL_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tsan_lock
      Src: /src/openssl/ssl/ssl_lib.c:3121,1
    - Dst: tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3122,1
    - Dst: ssl_tsan_unlock
      Src: /src/openssl/ssl/ssl_lib.c:3123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - stat
    argTypes:
    - SSL_CTX*
    - TSAN_QUALIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3117
    functionDepth: 1
    functionLinenumber: 3117
    functionLinenumberEnd: 3126
    functionName: ssl_tsan_load
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - tsan_load
    - ssl_tsan_unlock
    - ssl_tsan_lock
    linkageType: ''
    returnType: int
    signature: int ssl_tsan_load(SSL_CTX *ctx, TSAN_QUALIFIER int *stat)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: tls1_set_groups_list
      Src: /src/openssl/ssl/ssl_lib.c:3134,1
    - Dst: tls1_set_sigalgs_list
      Src: /src/openssl/ssl/ssl_lib.c:3139,1
    - Dst: lh_SSL_SESSION_num_items
      Src: /src/openssl/ssl/ssl_lib.c:3182,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3184,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3186,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3188,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3190,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3192,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3194,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3196,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3198,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3200,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3202,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:3204,1
    - Dst: ssl_check_allowed_versions
      Src: /src/openssl/ssl/ssl_lib.c:3231,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_lib.c:3232,1
    - Dst: ssl_check_allowed_versions
      Src: /src/openssl/ssl/ssl_lib.c:3237,1
    - Dst: ssl_set_version_bound
      Src: /src/openssl/ssl/ssl_lib.c:3238,1
    - Dst: SSL_CTX*::method::ssl_ctx_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3243,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 104
    argCount: 4
    argNames:
    - ctx
    - cmd
    - larg
    - parg
    argTypes:
    - SSL_CTX*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3245
      start: 3128
    functionDepth: 2
    functionLinenumber: 3128
    functionLinenumberEnd: 3245
    functionName: SSL_CTX_ctrl
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_set_version_bound
    - ssl_check_allowed_versions
    - tls1_set_groups_list
    - lh_SSL_SESSION_num_items
    - SSL_CTX*::method::ssl_ctx_ctrl
    - ssl_tsan_load
    - tls1_set_sigalgs_list
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX*::method::ssl_ctx_callback_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:3258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3247
    functionDepth: 0
    functionLinenumber: 3247
    functionLinenumberEnd: 3260
    functionName: SSL_CTX_callback_ctrl
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CTX*::method::ssl_ctx_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp) (void))
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SSL_CIPHER*
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3269
    functionName: ssl_cipher_id_cmp
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_cipher_id_cmp(const SSL_CIPHER *a, const SSL_CIPHER *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - SSL_CIPHER**
    - SSL_CIPHER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3279
      start: 3271
    functionDepth: 0
    functionLinenumber: 3271
    functionLinenumberEnd: 3279
    functionName: ssl_cipher_ptr_id_cmp
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_ptr_id_cmp(const SSL_CIPHER *const *ap,\n                          const
      SSL_CIPHER *const *bp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:3356,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:3360,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:3361,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/ssl_lib.c:3363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3367
      start: 3353
    functionDepth: 1
    functionLinenumber: 3353
    functionLinenumberEnd: 3367
    functionName: SSL_get_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_get_ciphers
    - STACK_OF
    - sk_SSL_CIPHER_value
    - sk_SSL_CIPHER_num
    linkageType: ''
    returnType: char
    signature: char *SSL_get_cipher_list(const SSL *s, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:3401,1
    - Dst: ssl_create_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:3403,1
    - Dst: SSL_CTX*::method::num_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:3415,1
    - Dst: cipher_list_tls12_num
      Src: /src/openssl/ssl/ssl_lib.c:3415,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - str
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3399
    functionDepth: 1
    functionLinenumber: 3399
    functionLinenumberEnd: 3420
    functionName: SSL_CTX_set_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 41
    functionsReached:
    - ssl_create_cipher_list
    - ERR_raise
    - cipher_list_tls12_num
    - STACK_OF
    - SSL_CTX*::method::num_ciphers
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_cipher_list(SSL_CTX *ctx, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:3425,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3426,1
    - Dst: ssl_create_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:3433,1
    - Dst: SSL_CTX*::method::num_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:3439,1
    - Dst: cipher_list_tls12_num
      Src: /src/openssl/ssl/ssl_lib.c:3439,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:3440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3444
      start: 3423
    functionDepth: 1
    functionLinenumber: 3423
    functionLinenumberEnd: 3444
    functionName: SSL_set_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - ssl_create_cipher_list
    - cipher_list_tls12_num
    - ERR_raise
    - STACK_OF
    - SSL_CTX*::method::num_ciphers
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_cipher_list(SSL *s, const char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:3449,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3452,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:3464,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:3468,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:3468,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:3471,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/ssl_lib.c:3474,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/openssl/ssl/ssl_lib.c:3475,1
    - Dst: OPENSSL_strnlen
      Src: /src/openssl/ssl/ssl_lib.c:3478,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:3485,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - s
    - buf
    - size
    argTypes:
    - SSL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3446
    functionDepth: 1
    functionLinenumber: 3446
    functionLinenumberEnd: 3492
    functionName: SSL_get_shared_ciphers
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - sk_SSL_CIPHER_find
    - memcpy
    - sk_SSL_CIPHER_value
    - OPENSSL_strnlen
    - STACK_OF
    - sk_SSL_CIPHER_num
    - SSL_get_ciphers
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_get_shared_ciphers(const SSL *s, char *buf, int size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3506,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:3538,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:3563,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:3569,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - s
    - type
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3504
    functionDepth: 1
    functionLinenumber: 3504
    functionLinenumberEnd: 3576
    functionName: SSL_get_servername
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - SSL_CONNECTION_IS_TLS13
    - SSL_in_before
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_get_servername(const SSL *s, const int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/openssl/ssl/ssl_lib.c:3580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3578
    functionDepth: 2
    functionLinenumber: 3578
    functionLinenumberEnd: 3583
    functionName: SSL_get_servername_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: int SSL_get_servername_type(const SSL *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_lib.c:3612,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/ssl_lib.c:3613,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3614,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:3624,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3625,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_lib.c:3630,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/ssl_lib.c:3631,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3632,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_lib.c:3634,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/ssl_lib.c:3635,1
    - Dst: PACKET_equal
      Src: /src/openssl/ssl/ssl_lib.c:3636,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:3636,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3637,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:3639,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:3640,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 6
    argNames:
    - out
    - outlen
    - server
    - server_len
    - client
    - client_len
    argTypes:
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3605
    functionDepth: 4
    functionLinenumber: 3605
    functionLinenumberEnd: 3658
    functionName: SSL_select_next_proto
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - PACKET_buf_init
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    - PACKET_data
    - PACKET_equal
    linkageType: ''
    returnType: int
    signature: "int SSL_select_next_proto(unsigned char **out, unsigned char *outlen,\n
      \                         const unsigned char *server,\n                          unsigned
      int server_len,\n                          const unsigned char *client, unsigned
      int client_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - s
    - data
    - len
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3669
    functionDepth: 1
    functionLinenumber: 3669
    functionLinenumberEnd: 3687
    functionName: SSL_get0_next_proto_negotiated
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: void
    signature: "void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char
      **data,\n                                    unsigned *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:3703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - cb
    - arg
    argTypes:
    - SSL_CTX*
    - SSL_CTX_npn_advertised_cb_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3709
      start: 3699
    functionDepth: 1
    functionLinenumber: 3699
    functionLinenumberEnd: 3709
    functionName: SSL_CTX_set_npn_advertised_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - IS_QUIC_CTX
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_npn_advertised_cb(SSL_CTX *ctx,\n                                   SSL_CTX_npn_advertised_cb_func
      cb,\n                                   void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:3725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - cb
    - arg
    argTypes:
    - SSL_CTX*
    - SSL_CTX_npn_select_cb_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3731
      start: 3721
    functionDepth: 1
    functionLinenumber: 3721
    functionLinenumberEnd: 3731
    functionName: SSL_CTX_set_npn_select_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - IS_QUIC_CTX
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_npn_select_cb(SSL_CTX *ctx,\n                               SSL_CTX_npn_select_cb_func
      cb,\n                               void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - protos
    - protos_len
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3746
      start: 3734
    functionDepth: 0
    functionLinenumber: 3734
    functionLinenumberEnd: 3746
    functionName: alpn_value_ok
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int alpn_value_ok(const unsigned char *protos, unsigned int protos_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:3758,1
    - Dst: alpn_value_ok
      Src: /src/openssl/ssl/ssl_lib.c:3764,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:3767,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:3770,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - protos
    - protos_len
    argTypes:
    - SSL_CTX*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3775
      start: 3752
    functionDepth: 1
    functionLinenumber: 3752
    functionLinenumberEnd: 3775
    functionName: SSL_CTX_set_alpn_protos
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - alpn_value_ok
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos,\n
      \                           unsigned int protos_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3786,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:3792,1
    - Dst: alpn_value_ok
      Src: /src/openssl/ssl/ssl_lib.c:3798,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:3801,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:3804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ssl
    - protos
    - protos_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3809
      start: 3782
    functionDepth: 1
    functionLinenumber: 3782
    functionLinenumberEnd: 3809
    functionName: SSL_set_alpn_protos
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 22
    functionsReached:
    - OPENSSL_free
    - SSL_CONNECTION_FROM_SSL
    - alpn_value_ok
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos,\n                        unsigned
      int protos_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cb
    - arg
    argTypes:
    - SSL_CTX*
    - SSL_CTX_alpn_select_cb_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3816
    functionDepth: 0
    functionLinenumber: 3816
    functionLinenumberEnd: 3822
    functionName: SSL_CTX_set_alpn_select_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx,\n                                SSL_CTX_alpn_select_cb_func
      cb,\n                                void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ssl
    - data
    - len
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3847
      start: 3830
    functionDepth: 1
    functionLinenumber: 3830
    functionLinenumberEnd: 3847
    functionName: SSL_get0_alpn_selected
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: void
    signature: "void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data,\n
      \                           unsigned int *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3854,1
    - Dst: SSL_CONNECTION*::ssl::method::ssl3_enc::export_keying_material
      Src: /src/openssl/ssl/ssl_lib.c:3863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 8
    argNames:
    - s
    - out
    - olen
    - label
    - llen
    - context
    - contextlen
    - use_context
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3867
      start: 3849
    functionDepth: 1
    functionLinenumber: 3849
    functionLinenumberEnd: 3867
    functionName: SSL_export_keying_material
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - SSL_CONNECTION*::ssl::method::ssl3_enc::export_keying_material
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_export_keying_material(SSL *s, unsigned char *out, size_t
      olen,\n                               const char *label, size_t llen,\n                               const
      unsigned char *context, size_t contextlen,\n                               int
      use_context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:3874,1
    - Dst: tls13_export_keying_material_early
      Src: /src/openssl/ssl/ssl_lib.c:3882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 7
    argNames:
    - s
    - out
    - olen
    - label
    - llen
    - context
    - contextlen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3884
      start: 3869
    functionDepth: 1
    functionLinenumber: 3869
    functionLinenumberEnd: 3884
    functionName: SSL_export_keying_material_early
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - tls13_export_keying_material_early
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_export_keying_material_early(SSL *s, unsigned char *out, size_t
      olen,\n                                     const char *label, size_t llen,\n
      \                                    const unsigned char *context,\n                                     size_t
      contextlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:3893,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:3894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3904
      start: 3886
    functionDepth: 0
    functionLinenumber: 3886
    functionLinenumberEnd: 3904
    functionName: ssl_session_hash
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ssl_session_hash(const SSL_SESSION *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/ssl/ssl_lib.c:3919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SSL_SESSION*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3920
      start: 3913
    functionDepth: 0
    functionLinenumber: 3913
    functionLinenumberEnd: 3920
    functionName: ssl_session_cmp
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ssl_session_cmp(const SSL_SESSION *a, const SSL_SESSION *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/ssl/ssl_lib.c:3945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3949
      start: 3943
    functionDepth: 0
    functionLinenumber: 3943
    functionLinenumberEnd: 3949
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREAD_lock_new
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ssl_keylog_init)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - b
    - oper
    - argp
    - len
    - argi
    - argl
    - ret
    - processed
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - int
    - long
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3971
      start: 3957
    functionDepth: 0
    functionLinenumber: 3957
    functionLinenumberEnd: 3971
    functionName: check_keylog_bio_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: "long check_keylog_bio_free(BIO *b, int oper, const char *argp,\n                                  size_t
      len, int argi, long argl, int ret,\n                                  size_t
      *processed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_lib.c:3981,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_lib.c:3984,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/ssl_lib.c:3985,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:3987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3988
      start: 3976
    functionDepth: 2
    functionLinenumber: 3976
    functionLinenumberEnd: 3988
    functionName: do_sslkeylogfile
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - CRYPTO_THREAD_write_lock
    - BIO_printf
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: void
    signature: void do_sslkeylogfile(const SSL *ssl, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/openssl/ssl/ssl_lib.c:4006,1
    - Dst: fdopen
      Src: /src/openssl/ssl/ssl_lib.c:4010,1
    - Dst: close
      Src: /src/openssl/ssl/ssl_lib.c:4012,1
    - Dst: BIO_new_fp
      Src: /src/openssl/ssl/ssl_lib.c:4016,1
    - Dst: fclose
      Src: /src/openssl/ssl/ssl_lib.c:4017,1
    - Dst: BIO_new_file
      Src: /src/openssl/ssl/ssl_lib.c:4020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - keylogfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 3999
    functionDepth: 6
    functionLinenumber: 3999
    functionLinenumberEnd: 4022
    functionName: get_sslkeylog_bio
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new_file
    - fdopen
    - BIO_new_fp
    - close
    - fclose
    - open
    linkageType: ''
    returnType: BIO
    signature: BIO *get_sslkeylog_bio(const char *keylogfile)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/ssl/ssl_lib.c:4030,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4037,1
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/ssl/ssl_lib.c:4041,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/openssl/ssl/ssl_lib.c:4045,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4046,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_lib.c:4050,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_lib.c:4055,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4056,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/ssl/ssl_lib.c:4060,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4062,1
    - Dst: CRYPTO_THREAD_lock_new
      Src: /src/openssl/ssl/ssl_lib.c:4067,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4069,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_lib.c:4076,1
    - Dst: SSL_METHOD*::get_timeout
      Src: /src/openssl/ssl/ssl_lib.c:4088,1
    - Dst: lh_SSL_SESSION_new
      Src: /src/openssl/ssl/ssl_lib.c:4092,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4094,1
    - Dst: X509_STORE_new
      Src: /src/openssl/ssl/ssl_lib.c:4097,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4099,1
    - Dst: CTLOG_STORE_new_ex
      Src: /src/openssl/ssl/ssl_lib.c:4103,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4105,1
    - Dst: ssl_load_ciphers
      Src: /src/openssl/ssl/ssl_lib.c:4111,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4112,1
    - Dst: ssl_load_groups
      Src: /src/openssl/ssl/ssl_lib.c:4116,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4117,1
    - Dst: ssl_load_sigalgs
      Src: /src/openssl/ssl/ssl_lib.c:4122,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4123,1
    - Dst: ssl_setup_sigalgs
      Src: /src/openssl/ssl/ssl_lib.c:4128,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4129,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/openssl/ssl/ssl_lib.c:4133,1
    - Dst: OSSL_default_ciphersuites
      Src: /src/openssl/ssl/ssl_lib.c:4133,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4134,1
    - Dst: ssl_cert_new
      Src: /src/openssl/ssl/ssl_lib.c:4138,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4139,1
    - Dst: ssl_create_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:4143,1
    - Dst: OSSL_default_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:4146,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/ssl_lib.c:4147,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4148,1
    - Dst: X509_VERIFY_PARAM_new
      Src: /src/openssl/ssl/ssl_lib.c:4152,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4154,1
    - Dst: ssl_evp_md_fetch
      Src: /src/openssl/ssl/ssl_lib.c:4162,1
    - Dst: ssl_evp_md_fetch
      Src: /src/openssl/ssl/ssl_lib.c:4163,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/ssl/ssl_lib.c:4165,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4166,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/openssl/ssl/ssl_lib.c:4170,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4171,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:4175,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4176,1
    - Dst: OPENSSL_secure_zalloc
      Src: /src/openssl/ssl/ssl_lib.c:4180,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/openssl/ssl/ssl_lib.c:4185,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:4191,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:4193,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:4195,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/ssl_lib.c:4199,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4201,1
    - Dst: ssl_ctx_srp_ctx_init_intern
      Src: /src/openssl/ssl/ssl_lib.c:4206,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4207,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/ssl/ssl_lib.c:4218,1
    - Dst: eng_str
      Src: /src/openssl/ssl/ssl_lib.c:4218,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_lib.c:4220,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/openssl/ssl/ssl_lib.c:4221,1
    - Dst: ENGINE_by_id
      Src: /src/openssl/ssl/ssl_lib.c:4222,1
    - Dst: eng_str
      Src: /src/openssl/ssl/ssl_lib.c:4222,1
    - Dst: SSL_CTX_set_client_cert_engine
      Src: /src/openssl/ssl/ssl_lib.c:4224,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_lib.c:4225,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:4235,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_lib.c:4237,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_lib.c:4239,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_lib.c:4241,1
    - Dst: OSSL_QUIC_client_method
      Src: /src/openssl/ssl/ssl_lib.c:4289,1
    - Dst: ossl_quic_new_token_store
      Src: /src/openssl/ssl/ssl_lib.c:4290,1
    - Dst: IS_QUIC_METHOD
      Src: /src/openssl/ssl/ssl_lib.c:4293,1
    - Dst: OSSL_QUIC_client_thread_method
      Src: /src/openssl/ssl/ssl_lib.c:4295,1
    - Dst: ssl_ctx_system_config
      Src: /src/openssl/ssl/ssl_lib.c:4312,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4313,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:4318,1
    - Dst: RUN_ONCE
      Src: /src/openssl/ssl/ssl_lib.c:4320,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/ssl/ssl_lib.c:4322,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_lib.c:4327,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/ssl/ssl_lib.c:4328,1
    - Dst: get_sslkeylog_bio
      Src: /src/openssl/ssl/ssl_lib.c:4337,1
    - Dst: OSSL_TRACE
      Src: /src/openssl/ssl/ssl_lib.c:4339,1
    - Dst: BIO_set_callback_ex
      Src: /src/openssl/ssl/ssl_lib.c:4342,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:4345,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:4351,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:4358,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_lib.c:4360,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 216
    argCount: 3
    argNames:
    - libctx
    - propq
    - meth
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4363
      start: 4025
    functionDepth: 7
    functionLinenumber: 4025
    functionLinenumberEnd: 4363
    functionName: SSL_CTX_new_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 49
    functionsReached:
    - ssl_create_cipher_list
    - ERR_raise
    - BIO_set_callback_ex
    - ssl_load_groups
    - OPENSSL_secure_zalloc
    - SSL_METHOD*::get_timeout
    - OPENSSL_free
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - ossl_safe_getenv
    - get_sslkeylog_bio
    - ENGINE_load_builtin_engines
    - strlen
    - X509_STORE_new
    - OPENSSL_zalloc
    - RUN_ONCE
    - SSL_CTX_free
    - ssl_setup_sigalgs
    - ssl_cert_new
    - RAND_priv_bytes_ex
    - ERR_clear_error
    - OSSL_QUIC_client_thread_method
    - ssl_ctx_system_config
    - CRYPTO_THREAD_write_lock
    - X509_VERIFY_PARAM_new
    - OPENSSL_strdup
    - OSSL_default_cipher_list
    - eng_str
    - CTLOG_STORE_new_ex
    - OSSL_QUIC_client_method
    - OPENSSL_init_ssl
    - ossl_quic_new_token_store
    - ssl_load_sigalgs
    - CRYPTO_NEW_REF
    - ossl_comp_has_alg
    - IS_QUIC_METHOD
    - BIO_free
    - CRYPTO_new_ex_data
    - sk_SSL_CIPHER_num
    - CRYPTO_THREAD_lock_new
    - SSL_CTX_set_client_cert_engine
    - CRYPTO_THREAD_unlock
    - lh_SSL_SESSION_new
    - OSSL_default_ciphersuites
    - ssl_ctx_srp_ctx_init_intern
    - BIO_up_ref
    - ssl_load_ciphers
    - SSL_COMP_get_compression_methods
    - sk_X509_NAME_new_null
    - memset
    - OSSL_TRACE
    - ENGINE_by_id
    - RAND_bytes_ex
    - SSL_CTX_set_ciphersuites
    - ssl_evp_md_fetch
    linkageType: ''
    returnType: SSL_CTX
    signature: "SSL_CTX *SSL_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq,\n
      \                       const SSL_METHOD *meth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4214
      start: 4213
    functionDepth: 0
    functionLinenumber: 4213
    functionLinenumberEnd: 4214
    functionName: eng_strx
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eng_strx(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4215
      start: 4214
    functionDepth: 0
    functionLinenumber: 4214
    functionLinenumberEnd: 4215
    functionName: eng_str
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eng_str(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/ssl/ssl_lib.c:4367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - meth
    argTypes:
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4368
      start: 4365
    functionDepth: 8
    functionLinenumber: 4365
    functionLinenumberEnd: 4368
    functionName: SSL_CTX_new
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 68
    functionsReached:
    - SSL_CTX_new_ex
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_lib.c:4374,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_lib.c:4377,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_lib.c:4378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4380
      start: 4370
    functionDepth: 1
    functionLinenumber: 4370
    functionLinenumberEnd: 4380
    functionName: SSL_CTX_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_up_ref(SSL_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/ssl_lib.c:4390,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_lib.c:4391,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_lib.c:4394,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_lib.c:4397,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_lib.c:4399,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_lib.c:4401,1
    - Dst: X509_VERIFY_PARAM_free
      Src: /src/openssl/ssl/ssl_lib.c:4405,1
    - Dst: dane_ctx_final
      Src: /src/openssl/ssl/ssl_lib.c:4406,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/ssl/ssl_lib.c:4418,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:4420,1
    - Dst: lh_SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:4421,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_lib.c:4422,1
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/ssl/ssl_lib.c:4424,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:4426,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:4427,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:4428,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:4429,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:4430,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/ssl_lib.c:4431,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_lib.c:4432,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_free
      Src: /src/openssl/ssl/ssl_lib.c:4435,1
    - Dst: ssl_ctx_srp_ctx_free_intern
      Src: /src/openssl/ssl/ssl_lib.c:4438,1
    - Dst: tls_engine_finish
      Src: /src/openssl/ssl/ssl_lib.c:4441,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4444,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4445,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4446,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4447,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4448,1
    - Dst: OPENSSL_secure_free
      Src: /src/openssl/ssl/ssl_lib.c:4449,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/ssl_lib.c:4451,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/ssl_lib.c:4452,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/ssl_lib.c:4455,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/ssl_lib.c:4457,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4459,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4460,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4461,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4463,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4465,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4466,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4467,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4468,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4469,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4470,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4471,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4472,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4473,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4475,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4476,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4478,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4479,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4481,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4482,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/ssl/ssl_lib.c:4484,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_lib.c:4485,1
    - Dst: CRYPTO_THREAD_lock_free
      Src: /src/openssl/ssl/ssl_lib.c:4487,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4490,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4492,1
    - Dst: ossl_quic_free_token_store
      Src: /src/openssl/ssl/ssl_lib.c:4496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:4499,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 75
    argCount: 1
    argNames:
    - a
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4500
      start: 4382
    functionDepth: 6
    functionLinenumber: 4382
    functionLinenumberEnd: 4500
    functionName: SSL_CTX_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 237
    functionsReached:
    - CTLOG_STORE_free
    - REF_PRINT_COUNT
    - OPENSSL_secure_free
    - X509_STORE_free
    - OPENSSL_free
    - CRYPTO_THREAD_write_lock
    - CRYPTO_DOWN_REF
    - OSSL_STACK_OF_X509_free
    - sk_SSL_CIPHER_free
    - SSL_CTX_flush_sessions_ex
    - X509_VERIFY_PARAM_free
    - dane_ctx_final
    - BIO_free
    - ssl_ctx_srp_ctx_free_intern
    - ssl_evp_md_free
    - ossl_quic_free_token_store
    - REF_ASSERT_ISNT
    - CRYPTO_THREAD_unlock
    - lh_SSL_SESSION_free
    - sk_SRTP_PROTECTION_PROFILE_free
    - sk_X509_NAME_pop_free
    - ssl_cert_free
    - CRYPTO_FREE_REF
    - tls_engine_finish
    - CRYPTO_THREAD_lock_free
    - CRYPTO_free_ex_data
    - ssl_evp_cipher_free
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_free(SSL_CTX *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - SSL_CTX*
    - pem_password_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4505
      start: 4502
    functionDepth: 0
    functionLinenumber: 4502
    functionLinenumberEnd: 4505
    functionName: SSL_CTX_set_default_passwd_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - u
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4510
      start: 4507
    functionDepth: 0
    functionLinenumber: 4507
    functionLinenumberEnd: 4510
    functionName: SSL_CTX_set_default_passwd_cb_userdata
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4515
      start: 4512
    functionDepth: 0
    functionLinenumber: 4512
    functionLinenumberEnd: 4515
    functionName: SSL_CTX_get_default_passwd_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pem_password_cb
    signature: pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4517
    functionDepth: 0
    functionLinenumber: 4517
    functionLinenumberEnd: 4520
    functionName: SSL_CTX_get_default_passwd_cb_userdata
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cb
    argTypes:
    - SSL*
    - pem_password_cb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4530
      start: 4522
    functionDepth: 1
    functionLinenumber: 4522
    functionLinenumberEnd: 4530
    functionName: SSL_set_default_passwd_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - u
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4540
      start: 4532
    functionDepth: 1
    functionLinenumber: 4532
    functionLinenumberEnd: 4540
    functionName: SSL_set_default_passwd_cb_userdata
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_default_passwd_cb_userdata(SSL *s, void *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4550
      start: 4542
    functionDepth: 1
    functionLinenumber: 4542
    functionLinenumberEnd: 4550
    functionName: SSL_get_default_passwd_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: pem_password_cb
    signature: pem_password_cb *SSL_get_default_passwd_cb(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4560
      start: 4552
    functionDepth: 1
    functionLinenumber: 4552
    functionLinenumberEnd: 4560
    functionName: SSL_get_default_passwd_cb_userdata
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void *SSL_get_default_passwd_cb_userdata(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4568
      start: 4562
    functionDepth: 0
    functionLinenumber: 4562
    functionLinenumberEnd: 4568
    functionName: SSL_CTX_set_cert_verify_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx,\n                                      int
      (*cb) (X509_STORE_CTX *, void *),\n                                      void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4575
      start: 4570
    functionDepth: 0
    functionLinenumber: 4570
    functionLinenumberEnd: 4575
    functionName: SSL_CTX_set_verify
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_verify(SSL_CTX *ctx, int mode,\n                        int
      (*cb) (int, X509_STORE_CTX *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_VERIFY_PARAM_set_depth
      Src: /src/openssl/ssl/ssl_lib.c:4579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - depth
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4580
      start: 4577
    functionDepth: 1
    functionLinenumber: 4577
    functionLinenumberEnd: 4580
    functionName: SSL_CTX_set_verify_depth
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_VERIFY_PARAM_set_depth
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_verify_depth(SSL_CTX *ctx, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cert_set_cert_cb
      Src: /src/openssl/ssl/ssl_lib.c:4584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - arg
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4585
      start: 4582
    functionDepth: 1
    functionLinenumber: 4582
    functionLinenumberEnd: 4585
    functionName: SSL_CTX_set_cert_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ssl_cert_set_cert_cb
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_cert_cb(SSL_CTX *c, int (*cb) (SSL *ssl, void *arg),
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4589,1
    - Dst: ssl_cert_set_cert_cb
      Src: /src/openssl/ssl/ssl_lib.c:4594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4587
    functionDepth: 1
    functionLinenumber: 4587
    functionLinenumberEnd: 4595
    functionName: SSL_set_cert_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ssl_cert_set_cert_cb
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_cert_cb(SSL *s, int (*cb) (SSL *ssl, void *arg), void
      *arg)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_TRACE4
      Src: /src/openssl/ssl/ssl_lib.c:4619,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4623,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4627,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4631,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4648,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/ssl_lib.c:4650,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/ssl_lib.c:4669,1
    - Dst: X509_get_key_usage
      Src: /src/openssl/ssl/ssl_lib.c:4683,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4691,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/ssl_lib.c:4693,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/ssl_lib.c:4697,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/ssl_lib.c:4699,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 68
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4717
      start: 4597
    functionDepth: 5
    functionLinenumber: 4597
    functionLinenumberEnd: 4717
    functionName: ssl_set_masks
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - TLS1_get_version
    - X509_get_key_usage
    - OSSL_TRACE4
    - ssl_has_cert
    linkageType: ''
    returnType: void
    signature: void ssl_set_masks(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_key_usage
      Src: /src/openssl/ssl/ssl_lib.c:4723,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - x
    - s
    argTypes:
    - X509*
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4729
      start: 4719
    functionDepth: 5
    functionLinenumber: 4719
    functionLinenumberEnd: 4729
    functionName: ssl_check_srvr_ecc_cert_and_alg
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_get_key_usage
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s
    - serverinfo
    - serverinfo_length
    argTypes:
    - SSL_CONNECTION*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4744
      start: 4731
    functionDepth: 0
    functionLinenumber: 4731
    functionLinenumberEnd: 4744
    functionName: ssl_get_server_cert_serverinfo
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ssl_get_server_cert_serverinfo(SSL_CONNECTION *s,\n                                   const
      unsigned char **serverinfo,\n                                   size_t *serverinfo_length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:4773,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:4786,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/ssl/ssl_lib.c:4792,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:4799,1
    - Dst: SSL_CONNECTION*::session_ctx::new_session_cb
      Src: /src/openssl/ssl/ssl_lib.c:4800,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4800,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_lib.c:4802,1
    - Dst: ssl_tsan_load
      Src: /src/openssl/ssl/ssl_lib.c:4814,1
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/ssl/ssl_lib.c:4815,1
    - Dst: time
      Src: /src/openssl/ssl/ssl_lib.c:4815,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 21
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4817
      start: 4746
    functionDepth: 2
    functionLinenumber: 4746
    functionLinenumberEnd: 4817
    functionName: ssl_update_cache
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - time
    - SSL_SESSION_up_ref
    - SSL_SESSION_free
    - SSL_CTX_add_session
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION*::session_ctx::new_session_cb
    - ssl_tsan_load
    - SSL_CONNECTION_IS_TLS13
    - SSL_CTX_flush_sessions_ex
    linkageType: ''
    returnType: void
    signature: void ssl_update_cache(SSL_CONNECTION *s, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4822
      start: 4819
    functionDepth: 0
    functionLinenumber: 4819
    functionLinenumberEnd: 4822
    functionName: SSL_CTX_get_ssl_method
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSL_CTX_get_ssl_method(const SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4827
      start: 4824
    functionDepth: 0
    functionLinenumber: 4824
    functionLinenumberEnd: 4827
    functionName: SSL_get_ssl_method
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL_METHOD
    signature: SSL_METHOD *SSL_get_ssl_method(const SSL *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4832,1
    - Dst: IS_QUIC_METHOD
      Src: /src/openssl/ssl/ssl_lib.c:4837,1
    - Dst: SSL_METHOD*::ssl_deinit
      Src: /src/openssl/ssl/ssl_lib.c:4847,1
    - Dst: SSL*::method::ssl_init
      Src: /src/openssl/ssl/ssl_lib.c:4849,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - s
    - meth
    argTypes:
    - SSL*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4858
      start: 4829
    functionDepth: 2
    functionLinenumber: 4829
    functionLinenumberEnd: 4858
    functionName: SSL_set_ssl_method
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - IS_QUIC_METHOD
    - SSL_METHOD*::ssl_deinit
    - SSL_CONNECTION_FROM_SSL
    - SSL*::method::ssl_init
    linkageType: ''
    returnType: int
    signature: int SSL_set_ssl_method(SSL *s, const SSL_METHOD *meth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ssl_get_error
      Src: /src/openssl/ssl/ssl_lib.c:4862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4863
      start: 4860
    functionDepth: 1
    functionLinenumber: 4860
    functionLinenumberEnd: 4863
    functionName: SSL_get_error
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 85
    functionsReached:
    - ossl_ssl_get_error
    linkageType: ''
    returnType: int
    signature: int SSL_get_error(const SSL *s, int i)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4870,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:4876,1
    - Dst: ossl_quic_get_error
      Src: /src/openssl/ssl/ssl_lib.c:4877,1
    - Dst: ERR_peek_error
      Src: /src/openssl/ssl/ssl_lib.c:4890,1
    - Dst: ERR_GET_LIB
      Src: /src/openssl/ssl/ssl_lib.c:4891,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:4898,1
    - Dst: SSL_want_read
      Src: /src/openssl/ssl/ssl_lib.c:4901,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/ssl_lib.c:4902,1
    - Dst: BIO_should_read
      Src: /src/openssl/ssl/ssl_lib.c:4903,1
    - Dst: BIO_should_write
      Src: /src/openssl/ssl/ssl_lib.c:4905,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/ssl/ssl_lib.c:4916,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/ssl/ssl_lib.c:4917,1
    - Dst: SSL_want_write
      Src: /src/openssl/ssl/ssl_lib.c:4927,1
    - Dst: BIO_should_write
      Src: /src/openssl/ssl/ssl_lib.c:4933,1
    - Dst: BIO_should_read
      Src: /src/openssl/ssl/ssl_lib.c:4935,1
    - Dst: BIO_should_io_special
      Src: /src/openssl/ssl/ssl_lib.c:4940,1
    - Dst: BIO_get_retry_reason
      Src: /src/openssl/ssl/ssl_lib.c:4941,1
    - Dst: SSL_want_x509_lookup
      Src: /src/openssl/ssl/ssl_lib.c:4952,1
    - Dst: SSL_want_retry_verify
      Src: /src/openssl/ssl/ssl_lib.c:4954,1
    - Dst: SSL_want_async
      Src: /src/openssl/ssl/ssl_lib.c:4956,1
    - Dst: SSL_want_async_job
      Src: /src/openssl/ssl/ssl_lib.c:4958,1
    - Dst: SSL_want_client_hello_cb
      Src: /src/openssl/ssl/ssl_lib.c:4960,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 3
    argNames:
    - s
    - i
    - check_err
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4968
      start: 4865
    functionDepth: 2
    functionLinenumber: 4865
    functionLinenumberEnd: 4968
    functionName: ossl_ssl_get_error
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_want_read
    - BIO_should_io_special
    - ERR_GET_LIB
    - SSL_want_x509_lookup
    - SSL_want_retry_verify
    - SSL_want_write
    - ossl_quic_get_error
    - BIO_should_write
    - SSL_want_async
    - BIO_get_retry_reason
    - SSL_want_async_job
    - IS_QUIC
    - BIO_should_read
    - SSL_want_client_hello_cb
    - ERR_peek_error
    - SSL_get_rbio
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int ossl_ssl_get_error(const SSL *s, int i, int check_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4974,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/ssl_lib.c:4979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vargs
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4980
      start: 4970
    functionDepth: 1
    functionLinenumber: 4970
    functionLinenumberEnd: 4980
    functionName: ssl_do_handshake_intern
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION*::handshake_func
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_do_handshake_intern(void *vargs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:4985,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:4988,1
    - Dst: ossl_quic_do_handshake
      Src: /src/openssl/ssl/ssl_lib.c:4989,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:4996,1
    - Dst: ossl_statem_check_finish_init
      Src: /src/openssl/ssl/ssl_lib.c:5000,1
    - Dst: SSL*::method::ssl_renegotiate_check
      Src: /src/openssl/ssl/ssl_lib.c:5003,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:5005,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:5005,1
    - Dst: ASYNC_get_current_job
      Src: /src/openssl/ssl/ssl_lib.c:5006,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_lib.c:5009,1
    - Dst: ssl_start_async_job
      Src: /src/openssl/ssl/ssl_lib.c:5012,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/ssl_lib.c:5014,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5019
      start: 4982
    functionDepth: 6
    functionLinenumber: 4982
    functionLinenumberEnd: 5019
    functionName: SSL_do_handshake
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 23
    functionsReached:
    - ERR_raise
    - memset
    - SSL_in_init
    - SSL*::method::ssl_renegotiate_check
    - ossl_quic_do_handshake
    - ASYNC_get_current_job
    - ssl_start_async_job
    - SSL_CONNECTION*::handshake_func
    - IS_QUIC
    - SSL_in_before
    - SSL_CONNECTION_FROM_SSL
    - ossl_statem_check_finish_init
    linkageType: ''
    returnType: int
    signature: int SSL_do_handshake(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5023,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5026,1
    - Dst: ossl_quic_set_accept_state
      Src: /src/openssl/ssl/ssl_lib.c:5028,1
    - Dst: ossl_statem_clear
      Src: /src/openssl/ssl/ssl_lib.c:5035,1
    - Dst: RECORD_LAYER_reset
      Src: /src/openssl/ssl/ssl_lib.c:5038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5039
      start: 5021
    functionDepth: 1
    functionLinenumber: 5021
    functionLinenumberEnd: 5039
    functionName: SSL_set_accept_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 15
    functionsReached:
    - ossl_statem_clear
    - IS_QUIC
    - RECORD_LAYER_reset
    - ossl_quic_set_accept_state
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: void SSL_set_accept_state(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5043,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5046,1
    - Dst: ossl_quic_set_connect_state
      Src: /src/openssl/ssl/ssl_lib.c:5048,1
    - Dst: ossl_statem_clear
      Src: /src/openssl/ssl/ssl_lib.c:5055,1
    - Dst: RECORD_LAYER_reset
      Src: /src/openssl/ssl/ssl_lib.c:5058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5059
      start: 5041
    functionDepth: 1
    functionLinenumber: 5041
    functionLinenumberEnd: 5059
    functionName: SSL_set_connect_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 27
    functionsReached:
    - ossl_quic_set_connect_state
    - ossl_statem_clear
    - IS_QUIC
    - RECORD_LAYER_reset
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: void SSL_set_connect_state(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5065
      start: 5061
    functionDepth: 0
    functionLinenumber: 5061
    functionLinenumberEnd: 5065
    functionName: ssl_undefined_function
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ssl_undefined_function(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5071
      start: 5067
    functionDepth: 0
    functionLinenumber: 5067
    functionLinenumberEnd: 5071
    functionName: ssl_undefined_void_function
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ssl_undefined_void_function(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5073
    functionDepth: 0
    functionLinenumber: 5073
    functionLinenumberEnd: 5103
    functionName: ssl_protocol_to_string
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ssl_protocol_to_string(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5107,1
    - Dst: ssl_protocol_to_string
      Src: /src/openssl/ssl/ssl_lib.c:5118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5105
    functionDepth: 1
    functionLinenumber: 5105
    functionLinenumberEnd: 5119
    functionName: SSL_get_version
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - ssl_protocol_to_string
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_get_version(const SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5123,1
    - Dst: ossl_time2us
      Src: /src/openssl/ssl/ssl_lib.c:5132,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/ssl_lib.c:5132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - rtt
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5134
      start: 5121
    functionDepth: 3
    functionLinenumber: 5121
    functionLinenumberEnd: 5134
    functionName: SSL_get_handshake_rtt
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_time_subtract
    - ossl_time2us
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: __owur
    signature: __owur SSL_get_handshake_rtt(const SSL *s, uint64_t *rtt)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5172,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_lib.c:5178,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_lib.c:5178,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_lib.c:5179,1
    - Dst: SSL_new
      Src: /src/openssl/ssl/ssl_lib.c:5186,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/openssl/ssl/ssl_lib.c:5186,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5188,1
    - Dst: SSL_copy_session_id
      Src: /src/openssl/ssl/ssl_lib.c:5196,1
    - Dst: SSL_set_ssl_method
      Src: /src/openssl/ssl/ssl_lib.c:5205,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:5209,1
    - Dst: ssl_cert_dup
      Src: /src/openssl/ssl/ssl_lib.c:5210,1
    - Dst: SSL_set_session_id_context
      Src: /src/openssl/ssl/ssl_lib.c:5215,1
    - Dst: ssl_dane_dup
      Src: /src/openssl/ssl/ssl_lib.c:5220,1
    - Dst: SSL_set_max_cert_list
      Src: /src/openssl/ssl/ssl_lib.c:5227,1
    - Dst: SSL_get_max_cert_list
      Src: /src/openssl/ssl/ssl_lib.c:5227,1
    - Dst: SSL_set_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:5228,1
    - Dst: SSL_get_read_ahead
      Src: /src/openssl/ssl/ssl_lib.c:5228,1
    - Dst: SSL_set_verify
      Src: /src/openssl/ssl/ssl_lib.c:5231,1
    - Dst: SSL_get_verify_mode
      Src: /src/openssl/ssl/ssl_lib.c:5231,1
    - Dst: SSL_get_verify_callback
      Src: /src/openssl/ssl/ssl_lib.c:5231,1
    - Dst: SSL_set_verify_depth
      Src: /src/openssl/ssl/ssl_lib.c:5232,1
    - Dst: SSL_get_verify_depth
      Src: /src/openssl/ssl/ssl_lib.c:5232,1
    - Dst: SSL_set_info_callback
      Src: /src/openssl/ssl/ssl_lib.c:5235,1
    - Dst: SSL_get_info_callback
      Src: /src/openssl/ssl/ssl_lib.c:5235,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:5238,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/ssl_lib.c:5244,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/ssl_lib.c:5246,1
    - Dst: X509_VERIFY_PARAM_inherit
      Src: /src/openssl/ssl/ssl_lib.c:5254,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/ssl_lib.c:5258,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/ssl_lib.c:5262,1
    - Dst: dup_ca_names
      Src: /src/openssl/ssl/ssl_lib.c:5267,1
    - Dst: dup_ca_names
      Src: /src/openssl/ssl/ssl_lib.c:5268,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/ssl_lib.c:5274,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5276
      start: 5166
    functionDepth: 3
    functionLinenumber: 5166
    functionLinenumberEnd: 5276
    functionName: SSL_dup
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - sk_SSL_CIPHER_dup
    - SSL_set_max_cert_list
    - SSL_set_verify_depth
    - ssl_dane_dup
    - CRYPTO_UP_REF
    - SSL_set_session_id_context
    - SSL_copy_session_id
    - SSL_set_ssl_method
    - SSL_set_connect_state
    - SSL_get_info_callback
    - ssl_cert_dup
    - SSL_get_max_cert_list
    - SSL_set_verify
    - SSL_set_read_ahead
    - SSL_CONNECTION_FROM_SSL_ONLY
    - SSL_get_verify_depth
    - SSL_set_accept_state
    - SSL_free
    - SSL_in_init
    - CRYPTO_dup_ex_data
    - SSL_get_verify_mode
    - SSL_new
    - SSL_in_before
    - dup_ca_names
    - SSL_get_verify_callback
    - ssl_cert_free
    - SSL_set_info_callback
    - SSL_get_read_ahead
    - X509_VERIFY_PARAM_inherit
    - SSL_get_SSL_CTX
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_dup(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5289
      start: 5278
    functionDepth: 1
    functionLinenumber: 5278
    functionLinenumberEnd: 5289
    functionName: SSL_get_certificate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: X509
    signature: X509 *SSL_get_certificate(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5302
      start: 5291
    functionDepth: 1
    functionLinenumber: 5291
    functionLinenumberEnd: 5302
    functionName: SSL_get_privatekey
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *SSL_get_privatekey(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5310
      start: 5304
    functionDepth: 0
    functionLinenumber: 5304
    functionLinenumberEnd: 5310
    functionName: SSL_CTX_get0_certificate
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5318
      start: 5312
    functionDepth: 0
    functionLinenumber: 5312
    functionLinenumberEnd: 5318
    functionName: SSL_CTX_get0_privatekey
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5330
      start: 5320
    functionDepth: 1
    functionLinenumber: 5320
    functionLinenumberEnd: 5330
    functionName: SSL_get_current_cipher
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 9
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *SSL_get_current_cipher(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5340
      start: 5332
    functionDepth: 1
    functionLinenumber: 5332
    functionLinenumberEnd: 5340
    functionName: SSL_get_pending_cipher
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *SSL_get_pending_cipher(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5345,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::get_compression
      Src: /src/openssl/ssl/ssl_lib.c:5350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5354
      start: 5342
    functionDepth: 1
    functionLinenumber: 5342
    functionLinenumberEnd: 5354
    functionName: SSL_get_current_compression
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    - SSL_CONNECTION*::rlayer::wrlmethod::get_compression
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *SSL_get_current_compression(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5359,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::get_compression
      Src: /src/openssl/ssl/ssl_lib.c:5364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5368
      start: 5356
    functionDepth: 1
    functionLinenumber: 5356
    functionLinenumberEnd: 5368
    functionName: SSL_get_current_expansion
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    - SSL_CONNECTION*::rlayer::rrlmethod::get_compression
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *SSL_get_current_expansion(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_lib.c:5379,1
    - Dst: BIO_f_buffer
      Src: /src/openssl/ssl/ssl_lib.c:5379,1
    - Dst: BIO_set_read_buffer_size
      Src: /src/openssl/ssl/ssl_lib.c:5380,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_lib.c:5381,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5382,1
    - Dst: BIO_push
      Src: /src/openssl/ssl/ssl_lib.c:5386,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
      Src: /src/openssl/ssl/ssl_lib.c:5388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5391
      start: 5370
    functionDepth: 5
    functionLinenumber: 5370
    functionLinenumberEnd: 5391
    functionName: ssl_init_wbio_buffer
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
    - ERR_raise
    - BIO_free
    - BIO_f_buffer
    - BIO_push
    - BIO_set_read_buffer_size
    linkageType: ''
    returnType: int
    signature: int ssl_init_wbio_buffer(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_pop
      Src: /src/openssl/ssl/ssl_lib.c:5399,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
      Src: /src/openssl/ssl/ssl_lib.c:5400,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_lib.c:5402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5393
    functionDepth: 4
    functionLinenumber: 5393
    functionLinenumberEnd: 5406
    functionName: ssl_free_wbio_buffer
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
    - BIO_free
    - BIO_pop
    linkageType: ''
    returnType: int
    signature: int ssl_free_wbio_buffer(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5411
      start: 5408
    functionDepth: 0
    functionLinenumber: 5408
    functionLinenumberEnd: 5411
    functionName: SSL_CTX_set_quiet_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5416
      start: 5413
    functionDepth: 0
    functionLinenumber: 5413
    functionLinenumberEnd: 5416
    functionName: SSL_CTX_get_quiet_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5427
      start: 5418
    functionDepth: 1
    functionLinenumber: 5418
    functionLinenumberEnd: 5427
    functionName: SSL_set_quiet_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: void SSL_set_quiet_shutdown(SSL *s, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5438
      start: 5429
    functionDepth: 1
    functionLinenumber: 5429
    functionLinenumberEnd: 5438
    functionName: SSL_get_quiet_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_get_quiet_shutdown(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5449
      start: 5440
    functionDepth: 1
    functionLinenumber: 5440
    functionLinenumberEnd: 5449
    functionName: SSL_set_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: void SSL_set_shutdown(SSL *s, int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5453,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5457,1
    - Dst: ossl_quic_get_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:5458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5465
      start: 5451
    functionDepth: 1
    functionLinenumber: 5451
    functionLinenumberEnd: 5465
    functionName: SSL_get_shutdown
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL_ONLY
    - IS_QUIC
    - ossl_quic_get_shutdown
    linkageType: ''
    returnType: int
    signature: int SSL_get_shutdown(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5480
      start: 5467
    functionDepth: 1
    functionLinenumber: 5467
    functionLinenumberEnd: 5480
    functionName: SSL_version
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 16
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_version(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5495
      start: 5482
    functionDepth: 1
    functionLinenumber: 5482
    functionLinenumberEnd: 5495
    functionName: SSL_client_version
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_client_version(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5500
      start: 5497
    functionDepth: 0
    functionLinenumber: 5497
    functionLinenumberEnd: 5500
    functionName: SSL_get_SSL_CTX
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:5505,1
    - Dst: ssl_cert_dup
      Src: /src/openssl/ssl/ssl_lib.c:5515,1
    - Dst: custom_exts_copy_conn
      Src: /src/openssl/ssl/ssl_lib.c:5518,1
    - Dst: custom_exts_copy_flags
      Src: /src/openssl/ssl/ssl_lib.c:5520,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/ssl_lib.c:5527,1
    - Dst: SSL_CTX_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:5529,1
    - Dst: memcmp
      Src: /src/openssl/ssl/ssl_lib.c:5540,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:5542,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:5545,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:5547,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_lib.c:5553,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ssl
    - ctx
    argTypes:
    - SSL*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5555
      start: 5502
    functionDepth: 7
    functionLinenumber: 5502
    functionLinenumberEnd: 5555
    functionName: SSL_set_SSL_CTX
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - ossl_assert
    - memcmp
    - SSL_CTX_free
    - SSL_CTX_up_ref
    - memcpy
    - ssl_cert_dup
    - custom_exts_copy_flags
    - SSL_CONNECTION_FROM_SSL_ONLY
    - custom_exts_copy_conn
    - ssl_cert_free
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_set_default_paths_ex
      Src: /src/openssl/ssl/ssl_lib.c:5559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5561
      start: 5557
    functionDepth: 3
    functionLinenumber: 5557
    functionLinenumberEnd: 5561
    functionName: SSL_CTX_set_default_verify_paths
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - X509_STORE_set_default_paths_ex
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/ssl/ssl_lib.c:5567,1
    - Dst: X509_LOOKUP_hash_dir
      Src: /src/openssl/ssl/ssl_lib.c:5567,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:5572,1
    - Dst: X509_LOOKUP_add_dir
      Src: /src/openssl/ssl/ssl_lib.c:5574,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:5576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5579
      start: 5563
    functionDepth: 2
    functionLinenumber: 5563
    functionLinenumberEnd: 5579
    functionName: SSL_CTX_set_default_verify_dir
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - X509_LOOKUP_hash_dir
    - ERR_pop_to_mark
    - ERR_set_mark
    - X509_LOOKUP_add_dir
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_default_verify_dir(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/ssl/ssl_lib.c:5585,1
    - Dst: X509_LOOKUP_file
      Src: /src/openssl/ssl/ssl_lib.c:5585,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:5590,1
    - Dst: X509_LOOKUP_load_file_ex
      Src: /src/openssl/ssl/ssl_lib.c:5592,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:5595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5598
      start: 5581
    functionDepth: 2
    functionLinenumber: 5581
    functionLinenumberEnd: 5598
    functionName: SSL_CTX_set_default_verify_file
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - X509_LOOKUP_load_file_ex
    - X509_LOOKUP_file
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_default_verify_file(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_add_lookup
      Src: /src/openssl/ssl/ssl_lib.c:5604,1
    - Dst: X509_LOOKUP_store
      Src: /src/openssl/ssl/ssl_lib.c:5604,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:5609,1
    - Dst: X509_LOOKUP_add_store_ex
      Src: /src/openssl/ssl/ssl_lib.c:5611,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:5613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5616
      start: 5600
    functionDepth: 2
    functionLinenumber: 5600
    functionLinenumberEnd: 5616
    functionName: SSL_CTX_set_default_verify_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_pop_to_mark
    - ERR_set_mark
    - X509_LOOKUP_add_store_ex
    - X509_LOOKUP_store
    - X509_STORE_add_lookup
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_default_verify_store(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_file_ex
      Src: /src/openssl/ssl/ssl_lib.c:5620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - CAfile
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5622
      start: 5618
    functionDepth: 3
    functionLinenumber: 5618
    functionLinenumberEnd: 5622
    functionName: SSL_CTX_load_verify_file
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - X509_STORE_load_file_ex
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_load_verify_file(SSL_CTX *ctx, const char *CAfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_path
      Src: /src/openssl/ssl/ssl_lib.c:5626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - CApath
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5627
      start: 5624
    functionDepth: 3
    functionLinenumber: 5624
    functionLinenumberEnd: 5627
    functionName: SSL_CTX_load_verify_dir
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - X509_STORE_load_path
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_load_verify_dir(SSL_CTX *ctx, const char *CApath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_load_store_ex
      Src: /src/openssl/ssl/ssl_lib.c:5631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - CAstore
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5633
      start: 5629
    functionDepth: 3
    functionLinenumber: 5629
    functionLinenumberEnd: 5633
    functionName: SSL_CTX_load_verify_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - X509_STORE_load_store_ex
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_load_verify_store(SSL_CTX *ctx, const char *CAstore)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_file
      Src: /src/openssl/ssl/ssl_lib.c:5640,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/openssl/ssl/ssl_lib.c:5642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - CAfile
    - CApath
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5645
      start: 5635
    functionDepth: 4
    functionLinenumber: 5635
    functionLinenumberEnd: 5645
    functionName: SSL_CTX_load_verify_locations
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - SSL_CTX_load_verify_file
    - SSL_CTX_load_verify_dir
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile,\n
      \                                 const char *CApath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5656
      start: 5647
    functionDepth: 1
    functionLinenumber: 5647
    functionLinenumberEnd: 5656
    functionName: SSL_set_info_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: "void SSL_set_info_callback(SSL *ssl,\n                           void
      (*cb) (const SSL *ssl, int type, int val))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5662
    functionDepth: 1
    functionLinenumber: 5662
    functionLinenumberEnd: 5671
    functionName: "(*SSL_get_info_callback(const SSL *ssl)) (const SSL * /* ssl */
      ,\n                                               int /* type */ ,\n                                               int
      /* val */ )"
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: void
    signature: "void (*SSL_get_info_callback(const SSL *ssl)) (const SSL * /* ssl
      */ ,\n                                               int /* type */ ,\n                                               int
      /* val */ )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5673
    functionDepth: 1
    functionLinenumber: 5673
    functionLinenumberEnd: 5681
    functionName: SSL_set_verify_result
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_verify_result(SSL *ssl, long arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5691
      start: 5683
    functionDepth: 1
    functionLinenumber: 5683
    functionLinenumberEnd: 5691
    functionName: SSL_get_verify_result
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: long
    signature: long SSL_get_verify_result(const SSL *ssl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5695,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:5704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - out
    - outlen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5706
      start: 5693
    functionDepth: 1
    functionLinenumber: 5693
    functionLinenumberEnd: 5706
    functionName: SSL_get_client_random
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - memcpy
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_get_client_random(const SSL *ssl, unsigned char *out, size_t
      outlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5710,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:5719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ssl
    - out
    - outlen
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5708
    functionDepth: 1
    functionLinenumber: 5708
    functionLinenumberEnd: 5721
    functionName: SSL_get_server_random
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_get_server_random(const SSL *ssl, unsigned char *out, size_t
      outlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:5730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - session
    - out
    - outlen
    argTypes:
    - SSL_SESSION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5732
      start: 5723
    functionDepth: 0
    functionLinenumber: 5723
    functionLinenumberEnd: 5732
    functionName: SSL_SESSION_get_master_key
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t SSL_SESSION_get_master_key(const SSL_SESSION *session,\n                                  unsigned
      char *out, size_t outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:5740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sess
    - in
    - len
    argTypes:
    - SSL_SESSION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5743
      start: 5734
    functionDepth: 0
    functionLinenumber: 5734
    functionLinenumberEnd: 5743
    functionName: SSL_SESSION_set1_master_key
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int SSL_SESSION_set1_master_key(SSL_SESSION *sess, const unsigned
      char *in,\n                                size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:5748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - idx
    - arg
    argTypes:
    - SSL*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5749
      start: 5746
    functionDepth: 1
    functionLinenumber: 5746
    functionLinenumberEnd: 5749
    functionName: SSL_set_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int SSL_set_ex_data(SSL *s, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:5753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5754
      start: 5751
    functionDepth: 1
    functionLinenumber: 5751
    functionLinenumberEnd: 5754
    functionName: SSL_get_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *SSL_get_ex_data(const SSL *s, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:5758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - idx
    - arg
    argTypes:
    - SSL_CTX*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5759
      start: 5756
    functionDepth: 1
    functionLinenumber: 5756
    functionLinenumberEnd: 5759
    functionName: SSL_CTX_set_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/ssl/ssl_lib.c:5763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5764
      start: 5761
    functionDepth: 1
    functionLinenumber: 5761
    functionLinenumberEnd: 5764
    functionName: SSL_CTX_get_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *SSL_CTX_get_ex_data(const SSL_CTX *s, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5769
      start: 5766
    functionDepth: 0
    functionLinenumber: 5766
    functionLinenumberEnd: 5769
    functionName: SSL_CTX_get_cert_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: X509_STORE
    signature: X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_lib.c:5773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - store
    argTypes:
    - SSL_CTX*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5775
      start: 5771
    functionDepth: 3
    functionLinenumber: 5771
    functionLinenumberEnd: 5775
    functionName: SSL_CTX_set_cert_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - X509_STORE_free
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_cert_store(SSL_CTX *ctx, X509_STORE *store)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:5779,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/openssl/ssl/ssl_lib.c:5782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - store
    argTypes:
    - SSL_CTX*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5783
      start: 5777
    functionDepth: 4
    functionLinenumber: 5777
    functionLinenumberEnd: 5783
    functionName: SSL_CTX_set1_cert_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_STORE_up_ref
    - SSL_CTX_set_cert_store
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set1_cert_store(SSL_CTX *ctx, X509_STORE *store)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5787,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:5790,1
    - Dst: ossl_quic_want
      Src: /src/openssl/ssl/ssl_lib.c:5791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5798
      start: 5785
    functionDepth: 1
    functionLinenumber: 5785
    functionLinenumberEnd: 5798
    functionName: SSL_want
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - ossl_quic_want
    - IS_QUIC
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_want(const SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:5803,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5804,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:5807,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_lib.c:5809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - identity_hint
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5815
      start: 5801
    functionDepth: 0
    functionLinenumber: 5801
    functionLinenumberEnd: 5815
    functionName: SSL_CTX_use_psk_identity_hint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - strlen
    - OPENSSL_strdup
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5819,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:5824,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:5825,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:5828,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_lib.c:5830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - s
    - identity_hint
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5836
      start: 5817
    functionDepth: 1
    functionLinenumber: 5817
    functionLinenumberEnd: 5836
    functionName: SSL_use_psk_identity_hint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - OPENSSL_free
    - OPENSSL_strdup
    - strlen
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5846
      start: 5838
    functionDepth: 1
    functionLinenumber: 5838
    functionLinenumberEnd: 5846
    functionName: SSL_get_psk_identity_hint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_get_psk_identity_hint(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5856
      start: 5848
    functionDepth: 1
    functionLinenumber: 5848
    functionLinenumberEnd: 5856
    functionName: SSL_get_psk_identity
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_get_psk_identity(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cb
    argTypes:
    - SSL*
    - SSL_psk_client_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5866
      start: 5858
    functionDepth: 1
    functionLinenumber: 5858
    functionLinenumberEnd: 5866
    functionName: SSL_set_psk_client_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_psk_client_callback(SSL *s, SSL_psk_client_cb_func cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - SSL_CTX*
    - SSL_psk_client_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5871
      start: 5868
    functionDepth: 0
    functionLinenumber: 5868
    functionLinenumberEnd: 5871
    functionName: SSL_CTX_set_psk_client_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, SSL_psk_client_cb_func
      cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cb
    argTypes:
    - SSL*
    - SSL_psk_server_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5881
      start: 5873
    functionDepth: 1
    functionLinenumber: 5873
    functionLinenumberEnd: 5881
    functionName: SSL_set_psk_server_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_psk_server_callback(SSL *s, SSL_psk_server_cb_func cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - SSL_CTX*
    - SSL_psk_server_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5886
      start: 5883
    functionDepth: 0
    functionLinenumber: 5883
    functionLinenumberEnd: 5886
    functionName: SSL_CTX_set_psk_server_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, SSL_psk_server_cb_func
      cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cb
    argTypes:
    - SSL*
    - SSL_psk_find_session_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5897
      start: 5889
    functionDepth: 1
    functionLinenumber: 5889
    functionLinenumberEnd: 5897
    functionName: SSL_set_psk_find_session_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func
      cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - SSL_CTX*
    - SSL_psk_find_session_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5903
      start: 5899
    functionDepth: 0
    functionLinenumber: 5899
    functionLinenumberEnd: 5903
    functionName: SSL_CTX_set_psk_find_session_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx,\n                                           SSL_psk_find_session_cb_func
      cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:5907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - cb
    argTypes:
    - SSL*
    - SSL_psk_use_session_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5913
      start: 5905
    functionDepth: 1
    functionLinenumber: 5905
    functionLinenumberEnd: 5913
    functionName: SSL_set_psk_use_session_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func
      cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - SSL_CTX*
    - SSL_psk_use_session_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5919
      start: 5915
    functionDepth: 0
    functionLinenumber: 5915
    functionLinenumberEnd: 5919
    functionName: SSL_CTX_set_psk_use_session_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx,\n                                           SSL_psk_use_session_cb_func
      cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_callback_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:5926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5927
      start: 5921
    functionDepth: 1
    functionLinenumber: 5921
    functionLinenumberEnd: 5927
    functionName: SSL_CTX_set_msg_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_callback_ctrl
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_msg_callback(SSL_CTX *ctx,\n                              void
      (*cb) (int write_p, int version,\n                                          int
      content_type, const void *buf,\n                                          size_t
      len, SSL *ssl, void *arg))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_callback_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:5934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5935
      start: 5929
    functionDepth: 5
    functionLinenumber: 5929
    functionLinenumberEnd: 5935
    functionName: SSL_set_msg_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - SSL_callback_ctrl
    linkageType: ''
    returnType: void
    signature: "void SSL_set_msg_callback(SSL *ssl,\n                          void
      (*cb) (int write_p, int version,\n                                      int
      content_type, const void *buf,\n                                      size_t
      len, SSL *ssl, void *arg))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_callback_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:5942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5944
      start: 5937
    functionDepth: 1
    functionLinenumber: 5937
    functionLinenumberEnd: 5944
    functionName: SSL_CTX_set_not_resumable_session_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_callback_ctrl
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_not_resumable_session_callback(SSL_CTX *ctx,\n                                                int
      (*cb) (SSL *ssl,\n                                                           int\n
      \                                                          is_forward_secure))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_callback_ctrl
      Src: /src/openssl/ssl/ssl_lib.c:5950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5952
      start: 5946
    functionDepth: 5
    functionLinenumber: 5946
    functionLinenumberEnd: 5952
    functionName: SSL_set_not_resumable_session_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_callback_ctrl
    linkageType: ''
    returnType: void
    signature: "void SSL_set_not_resumable_session_callback(SSL *ssl,\n                                            int
      (*cb) (SSL *ssl,\n                                                       int
      is_forward_secure))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5959
      start: 5954
    functionDepth: 0
    functionLinenumber: 5954
    functionLinenumberEnd: 5959
    functionName: SSL_CTX_set_record_padding_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_record_padding_callback(SSL_CTX *ctx,\n                                         size_t
      (*cb) (SSL *ssl, int type,\n                                                       size_t
      len, void *arg))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5961
    functionDepth: 0
    functionLinenumber: 5961
    functionLinenumberEnd: 5964
    functionName: SSL_CTX_set_record_padding_callback_arg
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5969
      start: 5966
    functionDepth: 0
    functionLinenumber: 5966
    functionLinenumberEnd: 5969
    functionName: SSL_CTX_get_record_padding_callback_arg
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:5974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - app_block_size
    - hs_block_size
    argTypes:
    - SSL_CTX*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5993
      start: 5971
    functionDepth: 1
    functionLinenumber: 5971
    functionLinenumberEnd: 5993
    functionName: SSL_CTX_set_block_padding_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC_CTX
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_block_padding_ex(SSL_CTX *ctx, size_t app_block_size,\n
      \                                size_t hs_block_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_block_padding_ex
      Src: /src/openssl/ssl/ssl_lib.c:5997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - block_size
    argTypes:
    - SSL_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5998
      start: 5995
    functionDepth: 2
    functionLinenumber: 5995
    functionLinenumberEnd: 5998
    functionName: SSL_CTX_set_block_padding
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_block_padding_ex
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:6005,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/ssl_lib.c:6010,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/ssl/ssl_lib.c:6011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6016
      start: 6000
    functionDepth: 2
    functionLinenumber: 6000
    functionLinenumberEnd: 6016
    functionName: SSL_set_record_padding_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    - BIO_get_ktls_send
    - SSL_get_wbio
    linkageType: ''
    returnType: int
    signature: "int SSL_set_record_padding_callback(SSL *ssl,\n                                     size_t
      (*cb) (SSL *ssl, int type,\n                                                   size_t
      len, void *arg))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6026
      start: 6018
    functionDepth: 1
    functionLinenumber: 6018
    functionLinenumberEnd: 6026
    functionName: SSL_set_record_padding_callback_arg
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6036
      start: 6028
    functionDepth: 1
    functionLinenumber: 6028
    functionLinenumberEnd: 6036
    functionName: SSL_get_record_padding_callback_arg
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: void
    signature: void *SSL_get_record_padding_callback_arg(const SSL *ssl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6041,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:6044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - app_block_size
    - hs_block_size
    argTypes:
    - SSL*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6064
      start: 6038
    functionDepth: 1
    functionLinenumber: 6038
    functionLinenumberEnd: 6064
    functionName: SSL_set_block_padding_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: "int SSL_set_block_padding_ex(SSL *ssl, size_t app_block_size,\n                             size_t
      hs_block_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_block_padding_ex
      Src: /src/openssl/ssl/ssl_lib.c:6068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - block_size
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6069
      start: 6066
    functionDepth: 2
    functionLinenumber: 6066
    functionLinenumberEnd: 6069
    functionName: SSL_set_block_padding
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_set_block_padding_ex
    linkageType: ''
    returnType: int
    signature: int SSL_set_block_padding(SSL *ssl, size_t block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - num_tickets
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6081
      start: 6071
    functionDepth: 1
    functionLinenumber: 6071
    functionLinenumberEnd: 6081
    functionName: SSL_set_num_tickets
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_num_tickets(SSL *s, size_t num_tickets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6091
      start: 6083
    functionDepth: 1
    functionLinenumber: 6083
    functionLinenumberEnd: 6091
    functionName: SSL_get_num_tickets
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_get_num_tickets(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - num_tickets
    argTypes:
    - SSL_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6098
      start: 6093
    functionDepth: 0
    functionLinenumber: 6093
    functionLinenumberEnd: 6098
    functionName: SSL_CTX_set_num_tickets
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_num_tickets(SSL_CTX *ctx, size_t num_tickets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6103
      start: 6100
    functionDepth: 0
    functionLinenumber: 6100
    functionLinenumberEnd: 6103
    functionName: SSL_CTX_get_num_tickets
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_CTX_get_num_tickets(const SSL_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/ssl_lib.c:6112,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6116,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/ssl_lib.c:6120,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6122,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/ssl/ssl_lib.c:6126,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/ssl_lib.c:6127,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6128,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:6136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - s
    - out
    - outlen
    - hashlen
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6138
      start: 6106
    functionDepth: 8
    functionLinenumber: 6106
    functionLinenumberEnd: 6138
    functionName: ssl_handshake_hash
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSLfatal
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_MD_CTX_get_size
    - EVP_MD_CTX_copy_ex
    linkageType: ''
    returnType: int
    signature: "int ssl_handshake_hash(SSL_CONNECTION *s,\n                       unsigned
      char *out, size_t outlen,\n                       size_t *hashlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6148
      start: 6140
    functionDepth: 1
    functionLinenumber: 6140
    functionLinenumberEnd: 6148
    functionName: SSL_session_reused
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 24
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_session_reused(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6158
      start: 6150
    functionDepth: 1
    functionLinenumber: 6150
    functionLinenumberEnd: 6158
    functionName: SSL_is_server
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 14
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_is_server(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - debug
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6166
      start: 6161
    functionDepth: 0
    functionLinenumber: 6161
    functionLinenumberEnd: 6166
    functionName: SSL_set_debug
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_set_debug(SSL *s, int debug)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - level
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6177
      start: 6169
    functionDepth: 1
    functionLinenumber: 6169
    functionLinenumberEnd: 6177
    functionName: SSL_set_security_level
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set_security_level(SSL *s, int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6187
      start: 6179
    functionDepth: 1
    functionLinenumber: 6179
    functionLinenumberEnd: 6187
    functionName: SSL_get_security_level
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_security_level(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6200
      start: 6189
    functionDepth: 1
    functionLinenumber: 6189
    functionLinenumberEnd: 6200
    functionName: SSL_set_security_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: "void SSL_set_security_callback(SSL *s,\n                               int
      (*cb) (const SSL *s, const SSL_CTX *ctx,\n                                          int
      op, int bits, int nid,\n                                          void *other,
      void *ex))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - s
    - ctx
    - op
    - bits
    - nid
    - other
    - ex
    argTypes:
    - SSL*
    - SSL_CTX*
    - int
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6212
      start: 6202
    functionDepth: 1
    functionLinenumber: 6202
    functionLinenumberEnd: 6212
    functionName: "(*SSL_get_security_callback(const SSL *s)) (const SSL *s,\n                                                const
      SSL_CTX *ctx, int op,\n                                                int bits,
      int nid, void *other,\n                                                void
      *ex)"
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: "int (*SSL_get_security_callback(const SSL *s)) (const SSL *s,\n                                                const
      SSL_CTX *ctx, int op,\n                                                int bits,
      int nid, void *other,\n                                                void
      *ex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ex
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6222
      start: 6214
    functionDepth: 1
    functionLinenumber: 6214
    functionLinenumberEnd: 6222
    functionName: SSL_set0_security_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void SSL_set0_security_ex_data(SSL *s, void *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6232
      start: 6224
    functionDepth: 1
    functionLinenumber: 6224
    functionLinenumberEnd: 6232
    functionName: SSL_get0_security_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: void
    signature: void *SSL_get0_security_ex_data(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - level
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6237
      start: 6234
    functionDepth: 0
    functionLinenumber: 6234
    functionLinenumberEnd: 6237
    functionName: SSL_CTX_set_security_level
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_security_level(SSL_CTX *ctx, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6242
      start: 6239
    functionDepth: 0
    functionLinenumber: 6239
    functionLinenumberEnd: 6242
    functionName: SSL_CTX_get_security_level
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_get_security_level(const SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6250
      start: 6244
    functionDepth: 0
    functionLinenumber: 6244
    functionLinenumberEnd: 6250
    functionName: SSL_CTX_set_security_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_security_callback(SSL_CTX *ctx,\n                                   int
      (*cb) (const SSL *s, const SSL_CTX *ctx,\n                                              int
      op, int bits, int nid,\n                                              void *other,
      void *ex))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - s
    - ctx
    - op
    - bits
    - nid
    - other
    - ex
    argTypes:
    - SSL*
    - SSL_CTX*
    - int
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6259
      start: 6252
    functionDepth: 0
    functionLinenumber: 6252
    functionLinenumberEnd: 6259
    functionName: "(*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL
      *s,\n                                                          const SSL_CTX
      *ctx,\n                                                          int op, int
      bits,\n                                                          int nid,\n
      \                                                         void *other,\n                                                          void
      *ex)"
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*SSL_CTX_get_security_callback(const SSL_CTX *ctx)) (const SSL
      *s,\n                                                          const SSL_CTX
      *ctx,\n                                                          int op, int
      bits,\n                                                          int nid,\n
      \                                                         void *other,\n                                                          void
      *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ex
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6264
      start: 6261
    functionDepth: 0
    functionLinenumber: 6261
    functionLinenumberEnd: 6264
    functionName: SSL_CTX_set0_security_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set0_security_ex_data(SSL_CTX *ctx, void *ex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6269
      start: 6266
    functionDepth: 0
    functionLinenumber: 6266
    functionLinenumberEnd: 6269
    functionName: SSL_CTX_get0_security_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *SSL_CTX_get0_security_ex_data(const SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6274
      start: 6271
    functionDepth: 0
    functionLinenumber: 6271
    functionLinenumberEnd: 6274
    functionName: SSL_CTX_get_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SSL_CTX_get_options(const SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6278,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:6281,1
    - Dst: ossl_quic_get_options
      Src: /src/openssl/ssl/ssl_lib.c:6282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6289
      start: 6276
    functionDepth: 1
    functionLinenumber: 6276
    functionLinenumberEnd: 6289
    functionName: SSL_get_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - ossl_quic_get_options
    - IS_QUIC
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SSL_get_options(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - op
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6294
      start: 6291
    functionDepth: 0
    functionLinenumber: 6291
    functionLinenumberEnd: 6294
    functionName: SSL_CTX_set_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SSL_CTX_set_options(SSL_CTX *ctx, uint64_t op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:6302,1
    - Dst: ossl_quic_set_options
      Src: /src/openssl/ssl/ssl_lib.c:6303,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6306,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/ssl/ssl_lib.c:6312,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:6314,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:6317,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:6318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - op
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6321
      start: 6296
    functionDepth: 2
    functionLinenumber: 6296
    functionLinenumberEnd: 6321
    functionName: SSL_set_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 16
    functionsReached:
    - ossl_quic_set_options
    - SSL_CONNECTION*::rlayer::wrlmethod::set_options
    - IS_QUIC
    - SSL_CONNECTION*::rlayer::rrlmethod::set_options
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint64
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SSL_set_options(SSL *s, uint64_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - op
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6326
      start: 6323
    functionDepth: 0
    functionLinenumber: 6323
    functionLinenumberEnd: 6326
    functionName: SSL_CTX_clear_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SSL_CTX_clear_options(SSL_CTX *ctx, uint64_t op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6330,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:6334,1
    - Dst: ossl_quic_clear_options
      Src: /src/openssl/ssl/ssl_lib.c:6335,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/ssl/ssl_lib.c:6343,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:6345,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:6348,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_options
      Src: /src/openssl/ssl/ssl_lib.c:6349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - op
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6352
      start: 6328
    functionDepth: 2
    functionLinenumber: 6328
    functionLinenumberEnd: 6352
    functionName: SSL_clear_options
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION*::rlayer::wrlmethod::set_options
    - ossl_quic_clear_options
    - IS_QUIC
    - SSL_CONNECTION*::rlayer::rrlmethod::set_options
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_uint64
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SSL_clear_options(SSL *s, uint64_t op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:6416,1
    - Dst: o2i_SCT_LIST
      Src: /src/openssl/ssl/ssl_lib.c:6416,1
    - Dst: ct_move_scts
      Src: /src/openssl/ssl/ssl_lib.c:6418,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/ssl/ssl_lib.c:6420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6424
      start: 6410
    functionDepth: 1
    functionLinenumber: 6410
    functionLinenumberEnd: 6424
    functionName: ct_extract_tls_extension_scts
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - o2i_SCT_LIST
    - STACK_OF
    - ct_move_scts
    - SCT_LIST_free
    linkageType: ''
    returnType: int
    signature: int ct_extract_tls_extension_scts(SSL_CONNECTION *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:6440,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/ssl/ssl_lib.c:6447,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/ssl/ssl_lib.c:6448,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/ssl/ssl_lib.c:6452,1
    - Dst: OCSP_resp_count
      Src: /src/openssl/ssl/ssl_lib.c:6456,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/ssl/ssl_lib.c:6457,1
    - Dst: OCSP_SINGLERESP_get1_ext_d2i
      Src: /src/openssl/ssl/ssl_lib.c:6462,1
    - Dst: ct_move_scts
      Src: /src/openssl/ssl/ssl_lib.c:6469,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/ssl/ssl_lib.c:6472,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/ssl/ssl_lib.c:6482,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/ssl/ssl_lib.c:6487,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6493
      start: 6434
    functionDepth: 5
    functionLinenumber: 6434
    functionLinenumberEnd: 6493
    functionName: ct_extract_ocsp_response_scts
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OCSP_resp_count
    - ct_move_scts
    - sk_OCSP_RESPONSE_num
    - OCSP_BASICRESP_free
    - OCSP_response_get1_basic
    - sk_OCSP_RESPONSE_value
    - OCSP_SINGLERESP_get1_ext_d2i
    - STACK_OF
    - SCT_LIST_free
    - OCSP_resp_get0
    linkageType: ''
    returnType: int
    signature: int ct_extract_ocsp_response_scts(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_lib.c:6506,1
    - Dst: X509_get_ext_d2i
      Src: /src/openssl/ssl/ssl_lib.c:6507,1
    - Dst: ct_move_scts
      Src: /src/openssl/ssl/ssl_lib.c:6510,1
    - Dst: SCT_LIST_free
      Src: /src/openssl/ssl/ssl_lib.c:6512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6516
      start: 6500
    functionDepth: 2
    functionLinenumber: 6500
    functionLinenumberEnd: 6516
    functionName: ct_extract_x509v3_extension_scts
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - X509_get_ext_d2i
    - STACK_OF
    - ct_move_scts
    - SCT_LIST_free
    linkageType: ''
    returnType: int
    signature: int ct_extract_x509v3_extension_scts(SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6525,1
    - Dst: ct_extract_tls_extension_scts
      Src: /src/openssl/ssl/ssl_lib.c:6531,1
    - Dst: ct_extract_ocsp_response_scts
      Src: /src/openssl/ssl/ssl_lib.c:6532,1
    - Dst: ct_extract_x509v3_extension_scts
      Src: /src/openssl/ssl/ssl_lib.c:6533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6541
      start: 6523
    functionDepth: 6
    functionLinenumber: 6523
    functionLinenumberEnd: 6541
    functionName: SSL_get0_peer_scts
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ct_extract_tls_extension_scts
    - ct_extract_ocsp_response_scts
    - SSL_CONNECTION_FROM_SSL
    - ct_extract_x509v3_extension_scts
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *SSL_get0_peer_scts(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - scts
    - unused_arg
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - STACK_OF*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6547
      start: 6543
    functionDepth: 0
    functionLinenumber: 6543
    functionLinenumberEnd: 6547
    functionName: ct_permissive
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ct_permissive(const CT_POLICY_EVAL_CTX *ctx,\n                         const
      STACK_OF(SCT) *scts, void *unused_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sk_SCT_num
      Src: /src/openssl/ssl/ssl_lib.c:6552,1
    - Dst: sk_SCT_value
      Src: /src/openssl/ssl/ssl_lib.c:6556,1
    - Dst: SCT_get_validation_status
      Src: /src/openssl/ssl/ssl_lib.c:6557,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - scts
    - unused_arg
    argTypes:
    - CT_POLICY_EVAL_CTX*
    - STACK_OF*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6564
      start: 6549
    functionDepth: 1
    functionLinenumber: 6549
    functionLinenumberEnd: 6564
    functionName: ct_strict
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SCT_get_validation_status
    - sk_SCT_num
    - ERR_raise
    - sk_SCT_value
    linkageType: ''
    returnType: int
    signature: "int ct_strict(const CT_POLICY_EVAL_CTX *ctx,\n                     const
      STACK_OF(SCT) *scts, void *unused_arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6569,1
    - Dst: SSL_CTX_has_client_custom_ext
      Src: /src/openssl/ssl/ssl_lib.c:6578,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6581,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/openssl/ssl/ssl_lib.c:6589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - s
    - callback
    - arg
    argTypes:
    - SSL*
    - ssl_ct_validation_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6597
      start: 6566
    functionDepth: 1
    functionLinenumber: 6566
    functionLinenumberEnd: 6597
    functionName: SSL_set_ct_validation_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_set_tlsext_status_type
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - SSL_CTX_has_client_custom_ext
    linkageType: ''
    returnType: int
    signature: "int SSL_set_ct_validation_callback(SSL *s, ssl_ct_validation_cb callback,\n
      \                                  void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_has_client_custom_ext
      Src: /src/openssl/ssl/ssl_lib.c:6606,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - callback
    - arg
    argTypes:
    - SSL_CTX*
    - ssl_ct_validation_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6599
    functionDepth: 1
    functionLinenumber: 6599
    functionLinenumberEnd: 6616
    functionName: SSL_CTX_set_ct_validation_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - SSL_CTX_has_client_custom_ext
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_ct_validation_callback(SSL_CTX *ctx,\n                                       ssl_ct_validation_cb
      callback, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6626
      start: 6618
    functionDepth: 1
    functionLinenumber: 6618
    functionLinenumberEnd: 6626
    functionName: SSL_ct_is_enabled
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_ct_is_enabled(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6631
      start: 6628
    functionDepth: 0
    functionLinenumber: 6628
    functionLinenumberEnd: 6631
    functionName: SSL_CTX_ct_is_enabled
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_ct_is_enabled(const SSL_CTX *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_lib.c:6655,1
    - Dst: DANETLS_ENABLED
      Src: /src/openssl/ssl/ssl_lib.c:6662,1
    - Dst: CT_POLICY_EVAL_CTX_new_ex
      Src: /src/openssl/ssl/ssl_lib.c:6670,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:6670,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:6671,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6673,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/ssl_lib.c:6677,1
    - Dst: CT_POLICY_EVAL_CTX_set1_cert
      Src: /src/openssl/ssl/ssl_lib.c:6678,1
    - Dst: CT_POLICY_EVAL_CTX_set1_issuer
      Src: /src/openssl/ssl/ssl_lib.c:6679,1
    - Dst: CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
      Src: /src/openssl/ssl/ssl_lib.c:6680,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:6681,1
    - Dst: CT_POLICY_EVAL_CTX_set_time
      Src: /src/openssl/ssl/ssl_lib.c:6682,1
    - Dst: SSL_SESSION_get_time_ex
      Src: /src/openssl/ssl/ssl_lib.c:6683,1
    - Dst: SSL_get0_peer_scts
      Src: /src/openssl/ssl/ssl_lib.c:6685,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6685,1
    - Dst: SCT_LIST_validate
      Src: /src/openssl/ssl/ssl_lib.c:6701,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6702,1
    - Dst: SSL_CONNECTION*::ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6706,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:6710,1
    - Dst: CT_POLICY_EVAL_CTX_free
      Src: /src/openssl/ssl/ssl_lib.c:6713,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6732
      start: 6633
    functionDepth: 14
    functionLinenumber: 6633
    functionLinenumberEnd: 6732
    functionName: ssl_validate_ct
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - CT_POLICY_EVAL_CTX_set1_issuer
    - CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE
    - CT_POLICY_EVAL_CTX_set_time
    - sk_X509_value
    - SSL_SESSION_get_time_ex
    - CT_POLICY_EVAL_CTX_free
    - SSL_CONNECTION_GET_SSL
    - CT_POLICY_EVAL_CTX_new_ex
    - DANETLS_ENABLED
    - CT_POLICY_EVAL_CTX_set1_cert
    - SSL_get0_peer_scts
    - SSL_CONNECTION*::ct_validation_callback
    - SSL_CONNECTION_GET_CTX
    - sk_X509_num
    - SCT_LIST_validate
    linkageType: ''
    returnType: int
    signature: int ssl_validate_ct(SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6738,1
    - Dst: SSL_CTX_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6741,1
    - Dst: SSL_CTX_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - validation_mode
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6745
      start: 6734
    functionDepth: 2
    functionLinenumber: 6734
    functionLinenumberEnd: 6745
    functionName: SSL_CTX_enable_ct
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_set_ct_validation_callback
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_enable_ct(SSL_CTX *ctx, int validation_mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:6751,1
    - Dst: SSL_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6754,1
    - Dst: SSL_set_ct_validation_callback
      Src: /src/openssl/ssl/ssl_lib.c:6756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - validation_mode
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6758
      start: 6747
    functionDepth: 2
    functionLinenumber: 6747
    functionLinenumberEnd: 6758
    functionName: SSL_enable_ct
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - SSL_set_ct_validation_callback
    linkageType: ''
    returnType: int
    signature: int SSL_enable_ct(SSL *s, int validation_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_load_default_file
      Src: /src/openssl/ssl/ssl_lib.c:6762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6763
      start: 6760
    functionDepth: 3
    functionLinenumber: 6760
    functionLinenumberEnd: 6763
    functionName: SSL_CTX_set_default_ctlog_list_file
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - CTLOG_STORE_load_default_file
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_default_ctlog_list_file(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_load_file
      Src: /src/openssl/ssl/ssl_lib.c:6767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6768
      start: 6765
    functionDepth: 4
    functionLinenumber: 6765
    functionLinenumberEnd: 6768
    functionName: SSL_CTX_set_ctlog_list_file
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - CTLOG_STORE_load_file
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_ctlog_list_file(SSL_CTX *ctx, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTLOG_STORE_free
      Src: /src/openssl/ssl/ssl_lib.c:6772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - logs
    argTypes:
    - SSL_CTX*
    - CTLOG_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6774
      start: 6770
    functionDepth: 1
    functionLinenumber: 6770
    functionLinenumberEnd: 6774
    functionName: SSL_CTX_set0_ctlog_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - CTLOG_STORE_free
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set0_ctlog_store(SSL_CTX *ctx, CTLOG_STORE *logs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6779
      start: 6776
    functionDepth: 0
    functionLinenumber: 6776
    functionLinenumberEnd: 6779
    functionName: SSL_CTX_get0_ctlog_store
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CTLOG_STORE
    signature: CTLOG_STORE *SSL_CTX_get0_ctlog_store(const SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - cb
    - arg
    argTypes:
    - SSL_CTX*
    - SSL_client_hello_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6788
      start: 6783
    functionDepth: 0
    functionLinenumber: 6783
    functionLinenumberEnd: 6788
    functionName: SSL_CTX_set_client_hello_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_client_hello_cb(SSL_CTX *c, SSL_client_hello_cb_fn
      cb,\n                                 void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - cb
    - arg
    argTypes:
    - SSL_CTX*
    - SSL_new_pending_conn_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6795
      start: 6790
    functionDepth: 0
    functionLinenumber: 6790
    functionLinenumberEnd: 6795
    functionName: SSL_CTX_set_new_pending_conn_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_new_pending_conn_cb(SSL_CTX *c, SSL_new_pending_conn_cb_fn
      cb,\n                                     void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6807
      start: 6797
    functionDepth: 1
    functionLinenumber: 6797
    functionLinenumberEnd: 6807
    functionName: SSL_client_hello_isv2
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_client_hello_isv2(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6819
      start: 6809
    functionDepth: 1
    functionLinenumber: 6809
    functionLinenumberEnd: 6819
    functionName: SSL_client_hello_get0_legacy_version
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int SSL_client_hello_get0_legacy_version(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - SSL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6833
      start: 6821
    functionDepth: 1
    functionLinenumber: 6821
    functionLinenumberEnd: 6833
    functionName: SSL_client_hello_get0_random
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_client_hello_get0_random(SSL *s, const unsigned char **out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - SSL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6847
      start: 6835
    functionDepth: 1
    functionLinenumber: 6835
    functionLinenumberEnd: 6847
    functionName: SSL_client_hello_get0_session_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_client_hello_get0_session_id(SSL *s, const unsigned char
      **out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6851,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:6859,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:6860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - SSL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6861
      start: 6849
    functionDepth: 1
    functionLinenumber: 6849
    functionLinenumberEnd: 6861
    functionName: SSL_client_hello_get0_ciphers
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - PACKET_remaining
    - SSL_CONNECTION_FROM_SSL
    - PACKET_data
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_client_hello_get0_ciphers(SSL *s, const unsigned char **out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - SSL*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6875
      start: 6863
    functionDepth: 1
    functionLinenumber: 6863
    functionLinenumberEnd: 6875
    functionName: SSL_client_hello_get0_compression_methods
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_client_hello_get0_compression_methods(SSL *s, const unsigned
      char **out)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6882,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/ssl_lib.c:6899,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:6913,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - s
    - out
    - outlen
    argTypes:
    - SSL*
    - int**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6915
      start: 6877
    functionDepth: 1
    functionLinenumber: 6877
    functionLinenumberEnd: 6915
    functionName: SSL_client_hello_get1_extensions_present
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc_array
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_client_hello_get1_extensions_present(SSL *s, int **out, size_t
      *outlen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6921,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - s
    - exts
    - num_exts
    argTypes:
    - SSL*
    - uint16_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6953
      start: 6917
    functionDepth: 1
    functionLinenumber: 6917
    functionLinenumberEnd: 6953
    functionName: SSL_client_hello_get_extension_order
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_client_hello_get_extension_order(SSL *s, uint16_t *exts, size_t
      *num_exts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6960,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/ssl_lib.c:6971,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:6973,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - s
    - type
    - out
    - outlen
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6978
      start: 6955
    functionDepth: 1
    functionLinenumber: 6955
    functionLinenumberEnd: 6978
    functionName: SSL_client_hello_get0_ext
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - PACKET_remaining
    - SSL_CONNECTION_FROM_SSL
    - PACKET_data
    linkageType: ''
    returnType: int
    signature: "int SSL_client_hello_get0_ext(SSL *s, unsigned int type, const unsigned
      char **out,\n                       size_t *outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:6983,1
    - Dst: RECORD_LAYER*::rrlmethod::free_buffers
      Src: /src/openssl/ssl/ssl_lib.c:6990,1
    - Dst: RECORD_LAYER*::wrlmethod::free_buffers
      Src: /src/openssl/ssl/ssl_lib.c:6991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6992
      start: 6980
    functionDepth: 1
    functionLinenumber: 6980
    functionLinenumberEnd: 6992
    functionName: SSL_free_buffers
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    - RECORD_LAYER*::rrlmethod::free_buffers
    - RECORD_LAYER*::wrlmethod::free_buffers
    linkageType: ''
    returnType: int
    signature: int SSL_free_buffers(SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:6997,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7003,1
    - Dst: RECORD_LAYER*::rrlmethod::alloc_buffers
      Src: /src/openssl/ssl/ssl_lib.c:7008,1
    - Dst: RECORD_LAYER*::wrlmethod::alloc_buffers
      Src: /src/openssl/ssl/ssl_lib.c:7009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7010
      start: 6994
    functionDepth: 1
    functionLinenumber: 6994
    functionLinenumberEnd: 7010
    functionName: SSL_alloc_buffers
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - RECORD_LAYER*::rrlmethod::alloc_buffers
    - RECORD_LAYER*::wrlmethod::alloc_buffers
    - SSL_CONNECTION_FROM_SSL
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_alloc_buffers(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cb
    argTypes:
    - SSL_CTX*
    - SSL_CTX_keylog_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7015
      start: 7012
    functionDepth: 0
    functionLinenumber: 7012
    functionLinenumberEnd: 7015
    functionName: SSL_CTX_set_keylog_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func
      cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7020
      start: 7017
    functionDepth: 0
    functionLinenumber: 7017
    functionLinenumberEnd: 7020
    functionName: SSL_CTX_get_keylog_callback
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SSL_CTX_keylog_cb_func
    signature: SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_lib.c:7032,1
    - Dst: strlen
      Src: /src/openssl/ssl/ssl_lib.c:7050,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_lib.c:7052,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_lib.c:7055,1
    - Dst: ossl_to_lowerhex
      Src: /src/openssl/ssl/ssl_lib.c:7060,1
    - Dst: ossl_to_lowerhex
      Src: /src/openssl/ssl/ssl_lib.c:7064,1
    - Dst: do_sslkeylogfile
      Src: /src/openssl/ssl/ssl_lib.c:7069,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7069,1
    - Dst: SSL_CTX*::keylog_callback
      Src: /src/openssl/ssl/ssl_lib.c:7072,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7072,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/ssl_lib.c:7073,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - prefix
    - sc
    - parameter_1
    - parameter_1_len
    - parameter_2
    - parameter_2_len
    argTypes:
    - char*
    - SSL_CONNECTION*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7075
      start: 7022
    functionDepth: 3
    functionLinenumber: 7022
    functionLinenumberEnd: 7075
    functionName: nss_keylog_int
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SSL_CTX*::keylog_callback
    - OPENSSL_clear_free
    - SSL_CONNECTION_GET_SSL
    - do_sslkeylogfile
    - SSL_CONNECTION_GET_USER_SSL
    - ossl_to_lowerhex
    - SSL_CONNECTION_GET_CTX
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int nss_keylog_int(const char *prefix,\n                          SSL_CONNECTION
      *sc,\n                          const uint8_t *parameter_1,\n                          size_t
      parameter_1_len,\n                          const uint8_t *parameter_2,\n                          size_t
      parameter_2_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7084,1
    - Dst: nss_keylog_int
      Src: /src/openssl/ssl/ssl_lib.c:7089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - sc
    - encrypted_premaster
    - encrypted_premaster_len
    - premaster
    - premaster_len
    argTypes:
    - SSL_CONNECTION*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7095
      start: 7077
    functionDepth: 4
    functionLinenumber: 7077
    functionLinenumberEnd: 7095
    functionName: ssl_log_rsa_client_key_exchange
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - nss_keylog_int
    linkageType: ''
    returnType: int
    signature: "int ssl_log_rsa_client_key_exchange(SSL_CONNECTION *sc,\n                                    const
      uint8_t *encrypted_premaster,\n                                    size_t encrypted_premaster_len,\n
      \                                   const uint8_t *premaster,\n                                    size_t
      premaster_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nss_keylog_int
      Src: /src/openssl/ssl/ssl_lib.c:7102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sc
    - label
    - secret
    - secret_len
    argTypes:
    - SSL_CONNECTION*
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7108
      start: 7097
    functionDepth: 4
    functionLinenumber: 7097
    functionLinenumberEnd: 7108
    functionName: ssl_log_secret
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - nss_keylog_int
    linkageType: ''
    returnType: int
    signature: "int ssl_log_secret(SSL_CONNECTION *sc,\n                   const char
      *label,\n                   const uint8_t *secret,\n                   size_t
      secret_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:7118,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7119,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:7123,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:7128,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:7133,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/ssl_lib.c:7145,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7148,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/ssl_lib.c:7152,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/ssl_lib.c:7154,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/ssl_lib.c:7156,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/ssl_lib.c:7159,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7160,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:7161,1
    - Dst: PACKET_memdup
      Src: /src/openssl/ssl/ssl_lib.c:7169,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_lib.c:7171,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - s
    - cipher_suites
    - sslv2format
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7175
      start: 7112
    functionDepth: 3
    functionLinenumber: 7112
    functionLinenumberEnd: 7175
    functionName: ssl_cache_cipherlist
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_memdup
    - OPENSSL_malloc_array
    - PACKET_get_1
    - PACKET_remaining
    - OPENSSL_free
    - PACKET_forward
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: int ssl_cache_cipherlist(SSL_CONNECTION *s, PACKET *cipher_suites,
      int sslv2format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7182,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/ssl_lib.c:7187,1
    - Dst: ossl_bytes_to_cipher_list
      Src: /src/openssl/ssl/ssl_lib.c:7189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - s
    - bytes
    - len
    - isv2format
    - sk
    - scsvs
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - int
    - STACK_OF**
    - STACK_OF**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7190
      start: 7177
    functionDepth: 1
    functionLinenumber: 7177
    functionLinenumberEnd: 7190
    functionName: SSL_bytes_to_cipher_list
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - PACKET_buf_init
    - SSL_CONNECTION_FROM_SSL
    - ossl_bytes_to_cipher_list
    linkageType: ''
    returnType: int
    signature: "int SSL_bytes_to_cipher_list(SSL *s, const unsigned char *bytes, size_t
      len,\n                             int isv2format, STACK_OF(SSL_CIPHER) **sk,\n
      \                            STACK_OF(SSL_CIPHER) **scsvs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - max_early_data
    argTypes:
    - SSL_CTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7283
      start: 7278
    functionDepth: 0
    functionLinenumber: 7278
    functionLinenumberEnd: 7283
    functionName: SSL_CTX_set_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_max_early_data(SSL_CTX *ctx, uint32_t max_early_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7288
      start: 7285
    functionDepth: 0
    functionLinenumber: 7285
    functionLinenumberEnd: 7288
    functionName: SSL_CTX_get_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SSL_CTX_get_max_early_data(const SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - max_early_data
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7300
      start: 7290
    functionDepth: 1
    functionLinenumber: 7290
    functionLinenumberEnd: 7300
    functionName: SSL_set_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_set_max_early_data(SSL *s, uint32_t max_early_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7310
      start: 7302
    functionDepth: 1
    functionLinenumber: 7302
    functionLinenumberEnd: 7310
    functionName: SSL_get_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SSL_get_max_early_data(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - recv_max_early_data
    argTypes:
    - SSL_CTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7317
      start: 7312
    functionDepth: 0
    functionLinenumber: 7312
    functionLinenumberEnd: 7317
    functionName: SSL_CTX_set_recv_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_recv_max_early_data(SSL_CTX *ctx, uint32_t recv_max_early_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7322
      start: 7319
    functionDepth: 0
    functionLinenumber: 7319
    functionLinenumberEnd: 7322
    functionName: SSL_CTX_get_recv_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SSL_CTX_get_recv_max_early_data(const SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - recv_max_early_data
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7334
      start: 7324
    functionDepth: 1
    functionLinenumber: 7324
    functionLinenumberEnd: 7334
    functionName: SSL_set_recv_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_set_recv_max_early_data(SSL *s, uint32_t recv_max_early_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7344
      start: 7336
    functionDepth: 1
    functionLinenumber: 7336
    functionLinenumberEnd: 7344
    functionName: SSL_get_recv_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SSL_get_recv_max_early_data(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: USE_MAX_FRAGMENT_LENGTH_EXT
      Src: /src/openssl/ssl/ssl_lib.c:7349,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/ssl_lib.c:7350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7354
      start: 7346
    functionDepth: 1
    functionLinenumber: 7346
    functionLinenumberEnd: 7354
    functionName: ssl_get_max_send_fragment
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - USE_MAX_FRAGMENT_LENGTH_EXT
    - GET_MAX_FRAGMENT_LENGTH
    linkageType: ''
    returnType: __owur unsigned
    signature: __owur unsigned ssl_get_max_send_fragment(const SSL_CONNECTION *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: USE_MAX_FRAGMENT_LENGTH_EXT
      Src: /src/openssl/ssl/ssl_lib.c:7359,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/ssl_lib.c:7360,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/ssl_lib.c:7361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7369
      start: 7356
    functionDepth: 1
    functionLinenumber: 7356
    functionLinenumberEnd: 7369
    functionName: ssl_get_split_send_fragment
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - USE_MAX_FRAGMENT_LENGTH_EXT
    - GET_MAX_FRAGMENT_LENGTH
    linkageType: ''
    returnType: __owur unsigned
    signature: __owur unsigned ssl_get_split_send_fragment(const SSL_CONNECTION *sc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7374,1
    - Dst: SSL_clear
      Src: /src/openssl/ssl/ssl_lib.c:7380,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_lib.c:7383,1
    - Dst: SSL_accept
      Src: /src/openssl/ssl/ssl_lib.c:7386,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/ssl_lib.c:7392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7396
      start: 7371
    functionDepth: 2
    functionLinenumber: 7371
    functionLinenumberEnd: 7396
    functionName: SSL_stateless
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ERR_clear_error
    - SSL_clear
    - SSL_accept
    - ossl_statem_in_error
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_stateless(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7401
      start: 7398
    functionDepth: 0
    functionLinenumber: 7398
    functionLinenumberEnd: 7401
    functionName: SSL_CTX_set_post_handshake_auth
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_post_handshake_auth(SSL_CTX *ctx, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - val
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7411
      start: 7403
    functionDepth: 1
    functionLinenumber: 7403
    functionLinenumberEnd: 7411
    functionName: SSL_set_post_handshake_auth
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: void SSL_set_post_handshake_auth(SSL *ssl, int val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7415,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7418,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7419,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_lib.c:7427,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7428,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7432,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/ssl/ssl_lib.c:7436,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7437,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7443,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7447,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7452,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7455,1
    - Dst: send_certificate_request
      Src: /src/openssl/ssl/ssl_lib.c:7462,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7464,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/ssl_lib.c:7468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7470
      start: 7413
    functionDepth: 1
    functionLinenumber: 7413
    functionLinenumberEnd: 7470
    functionName: SSL_verify_client_post_handshake
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - ossl_statem_set_in_init
    - ERR_raise
    - SSL_is_init_finished
    - IS_QUIC
    - send_certificate_request
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_verify_client_post_handshake(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - gen_cb
    - dec_cb
    - arg
    argTypes:
    - SSL_CTX*
    - SSL_CTX_generate_session_ticket_fn
    - SSL_CTX_decrypt_session_ticket_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7481
      start: 7472
    functionDepth: 0
    functionLinenumber: 7472
    functionLinenumberEnd: 7481
    functionName: SSL_CTX_set_session_ticket_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_session_ticket_cb(SSL_CTX *ctx,\n                                  SSL_CTX_generate_session_ticket_fn
      gen_cb,\n                                  SSL_CTX_decrypt_session_ticket_fn
      dec_cb,\n                                  void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - cb
    - arg
    argTypes:
    - SSL_CTX*
    - SSL_allow_early_data_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7489
      start: 7483
    functionDepth: 0
    functionLinenumber: 7483
    functionLinenumberEnd: 7489
    functionName: SSL_CTX_set_allow_early_data_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_allow_early_data_cb(SSL_CTX *ctx,\n                                     SSL_allow_early_data_cb_fn
      cb,\n                                     void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - cb
    - arg
    argTypes:
    - SSL*
    - SSL_allow_early_data_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7502
      start: 7491
    functionDepth: 1
    functionLinenumber: 7491
    functionLinenumberEnd: 7502
    functionName: SSL_set_allow_early_data_cb
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: void
    signature: "void SSL_set_allow_early_data_cb(SSL *s,\n                                 SSL_allow_early_data_cb_fn
      cb,\n                                 void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_cipher_from_engine
      Src: /src/openssl/ssl/ssl_lib.c:7510,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:7518,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/ssl_lib.c:7519,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/ssl_lib.c:7519,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/ssl_lib.c:7524,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/ssl_lib.c:7526,1
    - Dst: EVP_CIPHER_get_params
      Src: /src/openssl/ssl/ssl_lib.c:7527,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:7530,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:7534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - libctx
    - nid
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7536
      start: 7504
    functionDepth: 6
    functionLinenumber: 7504
    functionLinenumberEnd: 7536
    functionName: ssl_evp_cipher_fetch
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_get_params
    - ERR_pop_to_mark
    - OBJ_nid2sn
    - ERR_set_mark
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - OSSL_PARAM_construct_end
    - tls_get_cipher_from_engine
    linkageType: ''
    returnType: EVP_CIPHER
    signature: "EVP_CIPHER *ssl_evp_cipher_fetch(OSSL_LIB_CTX *libctx,\n                                       int
      nid,\n                                       const char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/ssl/ssl_lib.c:7542,1
    - Dst: EVP_CIPHER_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:7549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7550
      start: 7539
    functionDepth: 2
    functionLinenumber: 7539
    functionLinenumberEnd: 7550
    functionName: ssl_evp_cipher_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_get0_provider
    - EVP_CIPHER_up_ref
    linkageType: ''
    returnType: int
    signature: int ssl_evp_cipher_up_ref(const EVP_CIPHER *cipher)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/ssl/ssl_lib.c:7557,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/ssl_lib.c:7562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - EVP_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7564
      start: 7552
    functionDepth: 4
    functionLinenumber: 7552
    functionLinenumberEnd: 7564
    functionName: ssl_evp_cipher_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - EVP_CIPHER_free
    - EVP_CIPHER_get0_provider
    linkageType: ''
    returnType: void
    signature: void ssl_evp_cipher_free(const EVP_CIPHER *cipher)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_digest_from_engine
      Src: /src/openssl/ssl/ssl_lib.c:7572,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/ssl_lib.c:7577,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/ssl_lib.c:7578,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/ssl_lib.c:7578,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/ssl_lib.c:7579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - libctx
    - nid
    - properties
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7581
      start: 7566
    functionDepth: 10
    functionLinenumber: 7566
    functionLinenumberEnd: 7581
    functionName: ssl_evp_md_fetch
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ERR_pop_to_mark
    - OBJ_nid2sn
    - ERR_set_mark
    - tls_get_digest_from_engine
    - EVP_MD_fetch
    linkageType: ''
    returnType: EVP_MD
    signature: "EVP_MD *ssl_evp_md_fetch(OSSL_LIB_CTX *libctx,\n                               int
      nid,\n                               const char *properties)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/ssl/ssl_lib.c:7586,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/ssl/ssl_lib.c:7593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7594
      start: 7583
    functionDepth: 2
    functionLinenumber: 7583
    functionLinenumberEnd: 7594
    functionName: ssl_evp_md_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MD_up_ref
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: int
    signature: int ssl_evp_md_up_ref(const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_provider
      Src: /src/openssl/ssl/ssl_lib.c:7601,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/ssl_lib.c:7606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - md
    argTypes:
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7608
      start: 7596
    functionDepth: 2
    functionLinenumber: 7596
    functionLinenumberEnd: 7608
    functionName: ssl_evp_md_free
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - EVP_MD_free
    - EVP_MD_get0_provider
    linkageType: ''
    returnType: void
    signature: void ssl_evp_md_free(const EVP_MD *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7612,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/ssl_lib.c:7617,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/ssl_lib.c:7618,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7619,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:7622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - dhpkey
    argTypes:
    - SSL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7625
      start: 7610
    functionDepth: 4
    functionLinenumber: 7610
    functionLinenumberEnd: 7625
    functionName: SSL_set0_tmp_dh_pkey
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - EVP_PKEY_free
    - EVP_PKEY_get_security_bits
    - ssl_security
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set0_tmp_dh_pkey(SSL *s, EVP_PKEY *dhpkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ctx_security
      Src: /src/openssl/ssl/ssl_lib.c:7629,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/ssl_lib.c:7630,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:7631,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_lib.c:7634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - dhpkey
    argTypes:
    - SSL_CTX*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7637
      start: 7627
    functionDepth: 4
    functionLinenumber: 7627
    functionLinenumberEnd: 7637
    functionName: SSL_CTX_set0_tmp_dh_pkey
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - ERR_raise
    - ssl_ctx_security
    - EVP_PKEY_get_security_bits
    - EVP_PKEY_free
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set0_tmp_dh_pkey(SSL_CTX *ctx, EVP_PKEY *dhpkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7645,1
    - Dst: ossl_quic_handle_events
      Src: /src/openssl/ssl/ssl_lib.c:7646,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7649,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:7650,1
    - Dst: DTLSv1_handle_timeout
      Src: /src/openssl/ssl/ssl_lib.c:7659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7662
      start: 7640
    functionDepth: 1
    functionLinenumber: 7640
    functionLinenumberEnd: 7662
    functionName: SSL_handle_events
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 27
    functionsReached:
    - ossl_quic_handle_events
    - IS_QUIC
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_FROM_SSL_ONLY
    - DTLSv1_handle_timeout
    linkageType: ''
    returnType: int
    signature: int SSL_handle_events(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7669,1
    - Dst: ossl_quic_get_event_timeout
      Src: /src/openssl/ssl/ssl_lib.c:7670,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/ssl_lib.c:7673,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_lib.c:7674,1
    - Dst: DTLSv1_get_timeout
      Src: /src/openssl/ssl/ssl_lib.c:7675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - tv
    - is_infinite
    argTypes:
    - SSL*
    - struct timeval*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7684
      start: 7664
    functionDepth: 1
    functionLinenumber: 7664
    functionLinenumberEnd: 7684
    functionName: SSL_get_event_timeout
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 13
    functionsReached:
    - DTLSv1_get_timeout
    - ossl_quic_get_event_timeout
    - IS_QUIC
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_FROM_SSL_ONLY
    linkageType: ''
    returnType: int
    signature: int SSL_get_event_timeout(SSL *s, struct timeval *tv, int *is_infinite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7688,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7691,1
    - Dst: ossl_quic_get_rpoll_descriptor
      Src: /src/openssl/ssl/ssl_lib.c:7692,1
    - Dst: BIO_get_rpoll_descriptor
      Src: /src/openssl/ssl/ssl_lib.c:7698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - SSL*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7699
      start: 7686
    functionDepth: 2
    functionLinenumber: 7686
    functionLinenumberEnd: 7699
    functionName: SSL_get_rpoll_descriptor
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - BIO_get_rpoll_descriptor
    - ossl_quic_get_rpoll_descriptor
    - SSL_CONNECTION_FROM_SSL
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_rpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:7703,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7706,1
    - Dst: ossl_quic_get_wpoll_descriptor
      Src: /src/openssl/ssl/ssl_lib.c:7707,1
    - Dst: BIO_get_wpoll_descriptor
      Src: /src/openssl/ssl/ssl_lib.c:7713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - SSL*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7714
      start: 7701
    functionDepth: 2
    functionLinenumber: 7701
    functionLinenumberEnd: 7714
    functionName: SSL_get_wpoll_descriptor
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - BIO_get_wpoll_descriptor
    - ossl_quic_get_wpoll_descriptor
    - SSL_CONNECTION_FROM_SSL
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_wpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7719,1
    - Dst: SSL_want_read
      Src: /src/openssl/ssl/ssl_lib.c:7720,1
    - Dst: ossl_quic_get_net_read_desired
      Src: /src/openssl/ssl/ssl_lib.c:7722,1
    - Dst: SSL_want_read
      Src: /src/openssl/ssl/ssl_lib.c:7724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7726
      start: 7716
    functionDepth: 1
    functionLinenumber: 7716
    functionLinenumberEnd: 7726
    functionName: SSL_net_read_desired
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - SSL_want_read
    - ossl_quic_get_net_read_desired
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_net_read_desired(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7731,1
    - Dst: SSL_want_write
      Src: /src/openssl/ssl/ssl_lib.c:7732,1
    - Dst: ossl_quic_get_net_write_desired
      Src: /src/openssl/ssl/ssl_lib.c:7734,1
    - Dst: SSL_want_write
      Src: /src/openssl/ssl/ssl_lib.c:7736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7738
      start: 7728
    functionDepth: 1
    functionLinenumber: 7728
    functionLinenumberEnd: 7738
    functionName: SSL_net_write_desired
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 10
    functionsReached:
    - ossl_quic_get_net_write_desired
    - IS_QUIC
    - SSL_want_write
    linkageType: ''
    returnType: int
    signature: int SSL_net_write_desired(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7743,1
    - Dst: ossl_quic_conn_set_blocking_mode
      Src: /src/openssl/ssl/ssl_lib.c:7746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - blocking
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7750
      start: 7740
    functionDepth: 1
    functionLinenumber: 7740
    functionLinenumberEnd: 7750
    functionName: SSL_set_blocking_mode
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 12
    functionsReached:
    - ossl_quic_conn_set_blocking_mode
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_set_blocking_mode(SSL *s, int blocking)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7755,1
    - Dst: ossl_quic_conn_get_blocking_mode
      Src: /src/openssl/ssl/ssl_lib.c:7758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7762
      start: 7752
    functionDepth: 1
    functionLinenumber: 7752
    functionLinenumberEnd: 7762
    functionName: SSL_get_blocking_mode
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - ossl_quic_conn_get_blocking_mode
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_blocking_mode(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7767,1
    - Dst: ossl_quic_conn_set_initial_peer_addr
      Src: /src/openssl/ssl/ssl_lib.c:7770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - peer_addr
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7774
      start: 7764
    functionDepth: 1
    functionLinenumber: 7764
    functionLinenumberEnd: 7774
    functionName: SSL_set1_initial_peer_addr
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - ossl_quic_conn_set_initial_peer_addr
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_set1_initial_peer_addr(SSL *s, const BIO_ADDR *peer_addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7781,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:7782,1
    - Dst: ossl_quic_conn_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:7784,1
    - Dst: SSL_shutdown
      Src: /src/openssl/ssl/ssl_lib.c:7786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ssl
    - flags
    - args
    - args_len
    argTypes:
    - SSL*
    - uint64_t
    - SSL_SHUTDOWN_EX_ARGS*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7788
      start: 7776
    functionDepth: 7
    functionLinenumber: 7776
    functionLinenumberEnd: 7788
    functionName: SSL_shutdown_ex
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_shutdown
    - IS_QUIC
    - ossl_quic_conn_shutdown
    linkageType: ''
    returnType: int
    signature: "int SSL_shutdown_ex(SSL *ssl, uint64_t flags,\n                    const
      SSL_SHUTDOWN_EX_ARGS *args,\n                    size_t args_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7793,1
    - Dst: ossl_quic_conn_stream_conclude
      Src: /src/openssl/ssl/ssl_lib.c:7796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7800
      start: 7790
    functionDepth: 1
    functionLinenumber: 7790
    functionLinenumberEnd: 7800
    functionName: SSL_stream_conclude
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - IS_QUIC
    - ossl_quic_conn_stream_conclude
    linkageType: ''
    returnType: int
    signature: int SSL_stream_conclude(SSL *ssl, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7805,1
    - Dst: ossl_quic_conn_stream_new
      Src: /src/openssl/ssl/ssl_lib.c:7808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7812
      start: 7802
    functionDepth: 1
    functionLinenumber: 7802
    functionLinenumberEnd: 7812
    functionName: SSL_new_stream
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 11
    functionsReached:
    - ossl_quic_conn_stream_new
    - IS_QUIC
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_new_stream(SSL *s, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7817,1
    - Dst: ossl_quic_get0_connection
      Src: /src/openssl/ssl/ssl_lib.c:7820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7824
      start: 7814
    functionDepth: 1
    functionLinenumber: 7814
    functionLinenumberEnd: 7824
    functionName: SSL_get0_connection
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - IS_QUIC
    - ossl_quic_get0_connection
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_get0_connection(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_connection
      Src: /src/openssl/ssl/ssl_lib.c:7828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7829
      start: 7826
    functionDepth: 2
    functionLinenumber: 7826
    functionLinenumberEnd: 7829
    functionName: SSL_is_connection
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_get0_connection
    linkageType: ''
    returnType: int
    signature: int SSL_is_connection(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7834,1
    - Dst: ossl_quic_get0_listener
      Src: /src/openssl/ssl/ssl_lib.c:7837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7841
      start: 7831
    functionDepth: 1
    functionLinenumber: 7831
    functionLinenumberEnd: 7841
    functionName: SSL_get0_listener
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ossl_quic_get0_listener
    - IS_QUIC
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_get0_listener(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7846,1
    - Dst: ossl_quic_get0_domain
      Src: /src/openssl/ssl/ssl_lib.c:7849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7853
      start: 7843
    functionDepth: 1
    functionLinenumber: 7843
    functionLinenumberEnd: 7853
    functionName: SSL_get0_domain
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - ossl_quic_get0_domain
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_get0_domain(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_listener
      Src: /src/openssl/ssl/ssl_lib.c:7857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7858
      start: 7855
    functionDepth: 2
    functionLinenumber: 7855
    functionLinenumberEnd: 7858
    functionName: SSL_is_listener
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - SSL_get0_listener
    linkageType: ''
    returnType: int
    signature: int SSL_is_listener(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_domain
      Src: /src/openssl/ssl/ssl_lib.c:7862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7863
      start: 7860
    functionDepth: 2
    functionLinenumber: 7860
    functionLinenumberEnd: 7863
    functionName: SSL_is_domain
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - SSL_get0_domain
    linkageType: ''
    returnType: int
    signature: int SSL_is_domain(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7868,1
    - Dst: ossl_quic_get_stream_type
      Src: /src/openssl/ssl/ssl_lib.c:7871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7875
      start: 7865
    functionDepth: 1
    functionLinenumber: 7865
    functionLinenumberEnd: 7875
    functionName: SSL_get_stream_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_stream_type
    linkageType: ''
    returnType: int
    signature: int SSL_get_stream_type(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7880,1
    - Dst: ossl_quic_get_stream_id
      Src: /src/openssl/ssl/ssl_lib.c:7883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7887
      start: 7877
    functionDepth: 1
    functionLinenumber: 7877
    functionLinenumberEnd: 7887
    functionName: SSL_get_stream_id
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_stream_id
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t SSL_get_stream_id(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7892,1
    - Dst: ossl_quic_is_stream_local
      Src: /src/openssl/ssl/ssl_lib.c:7895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7899
      start: 7889
    functionDepth: 1
    functionLinenumber: 7889
    functionLinenumberEnd: 7899
    functionName: SSL_is_stream_local
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ossl_quic_is_stream_local
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_is_stream_local(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7904,1
    - Dst: ossl_quic_set_default_stream_mode
      Src: /src/openssl/ssl/ssl_lib.c:7907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7911
      start: 7901
    functionDepth: 1
    functionLinenumber: 7901
    functionLinenumberEnd: 7911
    functionName: SSL_set_default_stream_mode
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 6
    functionsReached:
    - IS_QUIC
    - ossl_quic_set_default_stream_mode
    linkageType: ''
    returnType: int
    signature: int SSL_set_default_stream_mode(SSL *s, uint32_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7916,1
    - Dst: ossl_quic_set_incoming_stream_policy
      Src: /src/openssl/ssl/ssl_lib.c:7919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - policy
    - aec
    argTypes:
    - SSL*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7923
      start: 7913
    functionDepth: 1
    functionLinenumber: 7913
    functionLinenumberEnd: 7923
    functionName: SSL_set_incoming_stream_policy
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 7
    functionsReached:
    - ossl_quic_set_incoming_stream_policy
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_set_incoming_stream_policy(SSL *s, int policy, uint64_t aec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7928,1
    - Dst: ossl_quic_accept_stream
      Src: /src/openssl/ssl/ssl_lib.c:7931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7935
      start: 7925
    functionDepth: 1
    functionLinenumber: 7925
    functionLinenumberEnd: 7935
    functionName: SSL_accept_stream
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 12
    functionsReached:
    - ossl_quic_accept_stream
    - IS_QUIC
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_accept_stream(SSL *s, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7940,1
    - Dst: ossl_quic_get_accept_stream_queue_len
      Src: /src/openssl/ssl/ssl_lib.c:7943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7947
      start: 7937
    functionDepth: 1
    functionLinenumber: 7937
    functionLinenumberEnd: 7947
    functionName: SSL_get_accept_stream_queue_len
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ossl_quic_get_accept_stream_queue_len
    - IS_QUIC
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_get_accept_stream_queue_len(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7954,1
    - Dst: ossl_quic_stream_reset
      Src: /src/openssl/ssl/ssl_lib.c:7957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - args
    - args_len
    argTypes:
    - SSL*
    - SSL_STREAM_RESET_ARGS*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7961
      start: 7949
    functionDepth: 1
    functionLinenumber: 7949
    functionLinenumberEnd: 7961
    functionName: SSL_stream_reset
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - IS_QUIC
    - ossl_quic_stream_reset
    linkageType: ''
    returnType: int
    signature: "int SSL_stream_reset(SSL *s,\n                     const SSL_STREAM_RESET_ARGS
      *args,\n                     size_t args_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7966,1
    - Dst: ossl_quic_get_stream_read_state
      Src: /src/openssl/ssl/ssl_lib.c:7969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7973
      start: 7963
    functionDepth: 1
    functionLinenumber: 7963
    functionLinenumberEnd: 7973
    functionName: SSL_get_stream_read_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 9
    functionsReached:
    - ossl_quic_get_stream_read_state
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_stream_read_state(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7978,1
    - Dst: ossl_quic_get_stream_write_state
      Src: /src/openssl/ssl/ssl_lib.c:7981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7985
      start: 7975
    functionDepth: 1
    functionLinenumber: 7975
    functionLinenumberEnd: 7985
    functionName: SSL_get_stream_write_state
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ossl_quic_get_stream_write_state
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_stream_write_state(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:7990,1
    - Dst: ossl_quic_get_stream_read_error_code
      Src: /src/openssl/ssl/ssl_lib.c:7993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - app_error_code
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7997
      start: 7987
    functionDepth: 1
    functionLinenumber: 7987
    functionLinenumberEnd: 7997
    functionName: SSL_get_stream_read_error_code
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ossl_quic_get_stream_read_error_code
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_stream_read_error_code(SSL *s, uint64_t *app_error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8002,1
    - Dst: ossl_quic_get_stream_write_error_code
      Src: /src/openssl/ssl/ssl_lib.c:8005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - app_error_code
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8009
      start: 7999
    functionDepth: 1
    functionLinenumber: 7999
    functionLinenumberEnd: 8009
    functionName: SSL_get_stream_write_error_code
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_get_stream_write_error_code
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_stream_write_error_code(SSL *s, uint64_t *app_error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8015,1
    - Dst: ossl_quic_get_conn_close_info
      Src: /src/openssl/ssl/ssl_lib.c:8018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - info
    - info_len
    argTypes:
    - SSL*
    - SSL_CONN_CLOSE_INFO*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8022
      start: 8011
    functionDepth: 1
    functionLinenumber: 8011
    functionLinenumberEnd: 8022
    functionName: SSL_get_conn_close_info
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 4
    functionsReached:
    - ossl_quic_get_conn_close_info
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: "int SSL_get_conn_close_info(SSL *s, SSL_CONN_CLOSE_INFO *info,\n                            size_t
      info_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8028,1
    - Dst: ossl_quic_get_value_uint
      Src: /src/openssl/ssl/ssl_lib.c:8029,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:8032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - class_
    - id
    - value
    argTypes:
    - SSL*
    - uint32_t
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8034
      start: 8024
    functionDepth: 1
    functionLinenumber: 8024
    functionLinenumberEnd: 8034
    functionName: SSL_get_value_uint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - IS_QUIC
    - ossl_quic_get_value_uint
    linkageType: ''
    returnType: int
    signature: "int SSL_get_value_uint(SSL *s, uint32_t class_, uint32_t id,\n                       uint64_t
      *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8040,1
    - Dst: ossl_quic_set_value_uint
      Src: /src/openssl/ssl/ssl_lib.c:8041,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_lib.c:8044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - s
    - class_
    - id
    - value
    argTypes:
    - SSL*
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8046
      start: 8036
    functionDepth: 1
    functionLinenumber: 8036
    functionLinenumberEnd: 8046
    functionName: SSL_set_value_uint
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ossl_quic_set_value_uint
    - ERR_raise
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: "int SSL_set_value_uint(SSL *s, uint32_t class_, uint32_t id,\n                       uint64_t
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:8051,1
    - Dst: ossl_quic_new_listener
      Src: /src/openssl/ssl/ssl_lib.c:8054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8058
      start: 8048
    functionDepth: 1
    functionLinenumber: 8048
    functionLinenumberEnd: 8058
    functionName: SSL_new_listener
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 9
    functionsReached:
    - ossl_quic_new_listener
    - IS_QUIC_CTX
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_new_listener(SSL_CTX *ctx, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8063,1
    - Dst: ossl_quic_new_listener_from
      Src: /src/openssl/ssl/ssl_lib.c:8066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8070
      start: 8060
    functionDepth: 1
    functionLinenumber: 8060
    functionLinenumberEnd: 8070
    functionName: SSL_new_listener_from
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ossl_quic_new_listener_from
    - IS_QUIC
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_new_listener_from(SSL *ssl, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8075,1
    - Dst: ossl_quic_new_from_listener
      Src: /src/openssl/ssl/ssl_lib.c:8078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8082
      start: 8072
    functionDepth: 1
    functionLinenumber: 8072
    functionLinenumberEnd: 8082
    functionName: SSL_new_from_listener
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_new_from_listener
    - IS_QUIC
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_new_from_listener(SSL *ssl, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8087,1
    - Dst: ossl_quic_accept_connection
      Src: /src/openssl/ssl/ssl_lib.c:8090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8094
      start: 8084
    functionDepth: 1
    functionLinenumber: 8084
    functionLinenumberEnd: 8094
    functionName: SSL_accept_connection
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 13
    functionsReached:
    - ossl_quic_accept_connection
    - IS_QUIC
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_accept_connection(SSL *ssl, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8099,1
    - Dst: ossl_quic_get_accept_connection_queue_len
      Src: /src/openssl/ssl/ssl_lib.c:8102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8106
      start: 8096
    functionDepth: 1
    functionLinenumber: 8096
    functionLinenumberEnd: 8106
    functionName: SSL_get_accept_connection_queue_len
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - IS_QUIC
    - ossl_quic_get_accept_connection_queue_len
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_get_accept_connection_queue_len(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8111,1
    - Dst: ossl_quic_listen
      Src: /src/openssl/ssl/ssl_lib.c:8114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8118
      start: 8108
    functionDepth: 1
    functionLinenumber: 8108
    functionLinenumberEnd: 8118
    functionName: SSL_listen
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 8
    functionsReached:
    - IS_QUIC
    - ossl_quic_listen
    linkageType: ''
    returnType: int
    signature: int SSL_listen(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:8123,1
    - Dst: ossl_quic_new_domain
      Src: /src/openssl/ssl/ssl_lib.c:8126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8130
      start: 8120
    functionDepth: 1
    functionLinenumber: 8120
    functionLinenumberEnd: 8130
    functionName: SSL_new_domain
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ossl_quic_new_domain
    - IS_QUIC_CTX
    linkageType: ''
    returnType: SSL
    signature: SSL *SSL_new_domain(SSL_CTX *ctx, uint64_t flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8135,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8149,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - domain_flags
    - p_domain_flags
    argTypes:
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8168
      start: 8132
    functionDepth: 0
    functionLinenumber: 8132
    functionLinenumberEnd: 8168
    functionName: ossl_adjust_domain_flags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int ossl_adjust_domain_flags(uint64_t domain_flags, uint64_t *p_domain_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:8173,1
    - Dst: ossl_adjust_domain_flags
      Src: /src/openssl/ssl/ssl_lib.c:8174,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - domain_flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8185
      start: 8170
    functionDepth: 1
    functionLinenumber: 8170
    functionLinenumberEnd: 8185
    functionName: SSL_CTX_set_domain_flags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - ossl_adjust_domain_flags
    - IS_QUIC_CTX
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_domain_flags(SSL_CTX *ctx, uint64_t domain_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC_CTX
      Src: /src/openssl/ssl/ssl_lib.c:8190,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_lib.c:8198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - domain_flags
    argTypes:
    - SSL_CTX*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8201
      start: 8187
    functionDepth: 1
    functionLinenumber: 8187
    functionLinenumberEnd: 8201
    functionName: SSL_CTX_get_domain_flags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - IS_QUIC_CTX
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_get_domain_flags(const SSL_CTX *ctx, uint64_t *domain_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/ssl_lib.c:8206,1
    - Dst: ossl_quic_get_domain_flags
      Src: /src/openssl/ssl/ssl_lib.c:8207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - domain_flags
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8211
      start: 8203
    functionDepth: 1
    functionLinenumber: 8203
    functionLinenumberEnd: 8211
    functionName: SSL_get_domain_flags
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - ossl_quic_get_domain_flags
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_get_domain_flags(const SSL *ssl, uint64_t *domain_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_dane
      Src: /src/openssl/ssl/ssl_lib.c:8216,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/ssl/ssl_lib.c:8221,1
    - Dst: SSL_dane_tlsa_add
      Src: /src/openssl/ssl/ssl_lib.c:8224,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:8228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - rpk
    argTypes:
    - SSL*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8230
      start: 8213
    functionDepth: 12
    functionLinenumber: 8213
    functionLinenumberEnd: 8230
    functionName: SSL_add_expected_rpk
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - i2d_PUBKEY
    - OPENSSL_free
    - SSL_dane_tlsa_add
    - SSL_get0_dane
    linkageType: ''
    returnType: int
    signature: int SSL_add_expected_rpk(SSL *s, EVP_PKEY *rpk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8239
      start: 8232
    functionDepth: 1
    functionLinenumber: 8232
    functionLinenumberEnd: 8239
    functionName: SSL_get0_peer_rpk
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 5
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *SSL_get0_peer_rpk(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8249
      start: 8241
    functionDepth: 1
    functionLinenumber: 8241
    functionLinenumberEnd: 8249
    functionName: SSL_get_negotiated_client_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_negotiated_client_cert_type(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8259
      start: 8251
    functionDepth: 1
    functionLinenumber: 8251
    functionLinenumberEnd: 8259
    functionName: SSL_get_negotiated_server_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_negotiated_server_cert_type(const SSL *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - val
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8292
      start: 8261
    functionDepth: 0
    functionLinenumber: 8261
    functionLinenumberEnd: 8292
    functionName: validate_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int validate_cert_type(const unsigned char *val, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: validate_cert_type
      Src: /src/openssl/ssl/ssl_lib.c:8301,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_lib.c:8304,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_lib.c:8307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - cert_type
    - cert_type_len
    - val
    - len
    argTypes:
    - unsigned char**
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8311
      start: 8294
    functionDepth: 1
    functionLinenumber: 8294
    functionLinenumberEnd: 8311
    functionName: set_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - validate_cert_type
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int set_cert_type(unsigned char **cert_type,\n                         size_t
      *cert_type_len,\n                         const unsigned char *val,\n                         size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8315,1
    - Dst: set_cert_type
      Src: /src/openssl/ssl/ssl_lib.c:8320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - val
    - len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8322
      start: 8313
    functionDepth: 2
    functionLinenumber: 8313
    functionLinenumberEnd: 8322
    functionName: SSL_set1_client_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 1
    functionsReached:
    - set_cert_type
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set1_client_cert_type(SSL *s, const unsigned char *val, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8326,1
    - Dst: set_cert_type
      Src: /src/openssl/ssl/ssl_lib.c:8331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - val
    - len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8333
      start: 8324
    functionDepth: 2
    functionLinenumber: 8324
    functionLinenumberEnd: 8333
    functionName: SSL_set1_server_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - set_cert_type
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set1_server_cert_type(SSL *s, const unsigned char *val, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cert_type
      Src: /src/openssl/ssl/ssl_lib.c:8337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - val
    - len
    argTypes:
    - SSL_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8339
      start: 8335
    functionDepth: 2
    functionLinenumber: 8335
    functionLinenumberEnd: 8339
    functionName: SSL_CTX_set1_client_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 2
    functionsReached:
    - set_cert_type
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set1_client_cert_type(SSL_CTX *ctx, const unsigned char
      *val, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cert_type
      Src: /src/openssl/ssl/ssl_lib.c:8343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - val
    - len
    argTypes:
    - SSL_CTX*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8345
      start: 8341
    functionDepth: 2
    functionLinenumber: 8341
    functionLinenumberEnd: 8345
    functionName: SSL_CTX_set1_server_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 3
    functionsReached:
    - set_cert_type
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set1_server_cert_type(SSL_CTX *ctx, const unsigned char
      *val, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - t
    - len
    argTypes:
    - SSL*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8357
      start: 8347
    functionDepth: 1
    functionLinenumber: 8347
    functionLinenumberEnd: 8357
    functionName: SSL_get0_client_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get0_client_cert_type(const SSL *s, unsigned char **t, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_lib.c:8361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - t
    - len
    argTypes:
    - SSL*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8369
      start: 8359
    functionDepth: 1
    functionLinenumber: 8359
    functionLinenumberEnd: 8369
    functionName: SSL_get0_server_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get0_server_cert_type(const SSL *s, unsigned char **t, size_t
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - t
    - len
    argTypes:
    - SSL_CTX*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8379
      start: 8371
    functionDepth: 0
    functionLinenumber: 8371
    functionLinenumberEnd: 8379
    functionName: SSL_CTX_get0_client_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_get0_client_cert_type(const SSL_CTX *ctx, unsigned char
      **t, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - t
    - len
    argTypes:
    - SSL_CTX*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8389
      start: 8381
    functionDepth: 0
    functionLinenumber: 8381
    functionLinenumberEnd: 8389
    functionName: SSL_CTX_get0_server_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_get0_server_cert_type(const SSL_CTX *ctx, unsigned char
      **t, size_t *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/s3_msg.c:16,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/s3_msg.c:26,1
    - Dst: SSL*::method::ssl3_enc::setup_key_block
      Src: /src/openssl/ssl/s3_msg.c:31,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/s3_msg.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 43
    functionName: ssl3_do_change_cipher_spec
    functionSourceFile: /src/openssl/ssl/s3_msg.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ERR_raise
    - SSL*::method::ssl3_enc::change_cipher_state
    - SSL*::method::ssl3_enc::setup_key_block
    linkageType: ''
    returnType: int
    signature: int ssl3_do_change_cipher_spec(SSL_CONNECTION *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/s3_msg.c:47,1
    - Dst: SSL_CONNECTION_TREAT_AS_TLS13
      Src: /src/openssl/ssl/s3_msg.c:50,1
    - Dst: tls13_alert_code
      Src: /src/openssl/ssl/s3_msg.c:51,1
    - Dst: SSL*::method::ssl3_enc::alert_value
      Src: /src/openssl/ssl/s3_msg.c:53,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/s3_msg.c:63,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/s3_msg.c:68,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/s3_msg.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - s
    - level
    - desc
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: ssl3_send_alert
    functionSourceFile: /src/openssl/ssl/s3_msg.c
    functionUses: 1
    functionsReached:
    - SSL*::method::ssl3_enc::alert_value
    - SSL_CONNECTION_TREAT_AS_TLS13
    - SSL_CTX_remove_session
    - RECORD_LAYER_write_pending
    - SSL_CONNECTION_GET_SSL
    - tls13_alert_code
    - SSL*::method::ssl_dispatch_alert
    linkageType: ''
    returnType: int
    signature: int ssl3_send_alert(SSL_CONNECTION *s, int level, int desc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/s3_msg.c:83,1
    - Dst: SSL_get_state
      Src: /src/openssl/ssl/s3_msg.c:98,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/s3_msg.c:100,1
    - Dst: RECORD_LAYER_write_pending
      Src: /src/openssl/ssl/s3_msg.c:107,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/s3_msg.c:118,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::retry_write_records
      Src: /src/openssl/ssl/s3_msg.c:119,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/s3_msg.c:129,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::write_records
      Src: /src/openssl/ssl/s3_msg.c:130,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/s3_msg.c:142,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/s3_msg.c:146,1
    - Dst: cb
      Src: /src/openssl/ssl/s3_msg.c:156,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 160
    functionName: ssl3_dispatch_alert
    functionSourceFile: /src/openssl/ssl/s3_msg.c
    functionUses: 0
    functionsReached:
    - TLS1_get_version
    - BIO_flush
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION*::rlayer::wrlmethod::retry_write_records
    - SSL_CONNECTION*::rlayer::wrlmethod::write_records
    - cb
    - HANDLE_RLAYER_WRITE_RETURN
    - RECORD_LAYER_write_pending
    - SSL_CONNECTION_FROM_SSL
    - SSL_get_state
    linkageType: ''
    returnType: int
    signature: int ssl3_dispatch_alert(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: S_ISDIR
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_ex_new_index
      Src: /src/openssl/ssl/ssl_cert.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_ex_new_index
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(ssl_x509_store_ctx_init)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/ssl/ssl_cert.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: SSL_get_ex_data_X509_STORE_CTX_idx
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 11
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: int
    signature: int SSL_get_ex_data_X509_STORE_CTX_idx(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/ssl_cert.c:69,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_cert.c:72,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/ssl_cert.c:77,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:79,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_cert.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:88,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ssl_pkey_num
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: ssl_cert_new
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 1
    functionsReached:
    - CRYPTO_NEW_REF
    - ossl_assert
    - OPENSSL_zalloc
    - OPENSSL_calloc
    - OPENSSL_free
    linkageType: ''
    returnType: CERT
    signature: CERT *ssl_cert_new(size_t ssl_pkey_num)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_cert.c:98,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/ssl_cert.c:108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:110,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_cert.c:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:117,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:122,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:135,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:141,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:147,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:149,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_cert.c:155,1
    - Dst: OSSL_COMP_CERT_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:163,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/ssl_cert.c:173,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_cert.c:177,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/ssl_cert.c:185,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_cert.c:189,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_cert.c:196,1
    - Dst: X509_STORE_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:208,1
    - Dst: X509_STORE_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:214,1
    - Dst: custom_exts_copy
      Src: /src/openssl/ssl/ssl_cert.c:223,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_cert.c:227,1
    - Dst: ssl_cert_free
      Src: /src/openssl/ssl/ssl_cert.c:235,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 117
    argCount: 1
    argNames:
    - cert
    argTypes:
    - CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 238
    functionName: ssl_cert_dup
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 3
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - X509_STORE_up_ref
    - ERR_raise
    - memcpy
    - OPENSSL_calloc
    - X509_chain_up_ref
    - OSSL_COMP_CERT_up_ref
    - OPENSSL_malloc_array
    - X509_up_ref
    - OPENSSL_memdup
    - OPENSSL_free
    - EVP_PKEY_up_ref
    - OPENSSL_strdup
    - custom_exts_copy
    - ssl_cert_free
    linkageType: ''
    returnType: CERT
    signature: CERT *ssl_cert_dup(CERT *cert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_cert.c:253,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_cert.c:255,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_cert.c:257,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:259,1
    - Dst: OSSL_COMP_CERT_free
      Src: /src/openssl/ssl/ssl_cert.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 270
    functionName: ssl_cert_clear_certs
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 1
    functionsReached:
    - OSSL_COMP_CERT_free
    - OSSL_STACK_OF_X509_free
    - X509_free
    - OPENSSL_free
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void ssl_cert_clear_certs(CERT *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/ssl_cert.c:278,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_cert.c:279,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_cert.c:282,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_cert.c:284,1
    - Dst: ssl_cert_clear_certs
      Src: /src/openssl/ssl/ssl_cert.c:286,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:287,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:288,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:289,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_cert.c:290,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_cert.c:291,1
    - Dst: custom_exts_free
      Src: /src/openssl/ssl/ssl_cert.c:292,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:294,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:296,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_cert.c:297,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - c
    argTypes:
    - CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 299
    functionName: ssl_cert_free
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 6
    functionsReached:
    - REF_PRINT_COUNT
    - X509_STORE_free
    - EVP_PKEY_free
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - ssl_cert_clear_certs
    - custom_exts_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void ssl_cert_free(CERT *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_security_cert
      Src: /src/openssl/ssl/ssl_cert.c:345,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:347,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/ssl/ssl_cert.c:351,1
    - Dst: sk_X509_push
      Src: /src/openssl/ssl/ssl_cert.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - s
    - ctx
    - x
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 355
    functionName: ssl_cert_add0_chain_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - ssl_security_cert
    - sk_X509_new_null
    - ERR_raise
    - sk_X509_push
    linkageType: ''
    returnType: int
    signature: int ssl_cert_add0_chain_cert(SSL_CONNECTION *s, SSL_CTX *ctx, X509
      *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:359,1
    - Dst: ssl_cert_add0_chain_cert
      Src: /src/openssl/ssl/ssl_cert.c:361,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_cert.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - ctx
    - x
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: ssl_cert_add1_chain_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - ssl_cert_add0_chain_cert
    - X509_free
    - X509_up_ref
    linkageType: ''
    returnType: int
    signature: int ssl_cert_add1_chain_cert(SSL_CONNECTION *s, SSL_CTX *ctx, X509
      *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_cmp
      Src: /src/openssl/ssl/ssl_cert.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - c
    - x
    argTypes:
    - CERT*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 390
    functionName: ssl_cert_select_current
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - X509_cmp
    linkageType: ''
    returnType: int
    signature: int ssl_cert_select_current(CERT *c, X509 *x)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - c
    - op
    argTypes:
    - CERT*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 414
    functionName: ssl_cert_set_current
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_cert_set_current(CERT *c, long op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - arg
    argTypes:
    - CERT*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: ssl_cert_set_cert_cb
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ssl_cert_set_cert_cb(CERT *c, int (*cb) (SSL *ssl, void *arg),
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_verify_internal
      Src: /src/openssl/ssl/ssl_cert.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - rpk
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: ssl_verify_rpk
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - ssl_verify_internal
    linkageType: ''
    returnType: int
    signature: int ssl_verify_rpk(SSL_CONNECTION *s, EVP_PKEY *rpk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: SSL_CTX_get0_CA_list
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *SSL_CTX_get0_CA_list(const SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_cert.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 640
    functionName: SSL_get0_CA_list
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *SSL_get0_CA_list(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_cert.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: SSL_get0_peer_CA_list
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *SSL_get0_peer_CA_list(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert.c:706,1
    - Dst: add_ca_name
      Src: /src/openssl/ssl/ssl_cert.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - x
    argTypes:
    - SSL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 712
    functionName: SSL_add1_to_CA_list
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - add_ca_name
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_add1_to_CA_list(SSL *ssl, const X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_ca_name
      Src: /src/openssl/ssl/ssl_cert.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 717
    functionName: SSL_CTX_add1_to_CA_list
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - add_ca_name
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_add1_to_CA_list(SSL_CTX *ctx, const X509 *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert.c:725,1
    - Dst: add_ca_name
      Src: /src/openssl/ssl/ssl_cert.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - x
    argTypes:
    - SSL*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 731
    functionName: SSL_add_client_CA
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - add_ca_name
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_add_client_CA(SSL *ssl, X509 *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_ca_name
      Src: /src/openssl/ssl/ssl_cert.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - x
    argTypes:
    - SSL_CTX*
    - X509*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: SSL_CTX_add_client_CA
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - add_ca_name
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_add_client_CA(SSL_CTX *ctx, X509 *x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509_NAME
      Src: /src/openssl/ssl/ssl_cert.c:746,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/ssl/ssl_cert.c:747,1
    - Dst: memcmp
      Src: /src/openssl/ssl/ssl_cert.c:754,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:756,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_NAME*
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 760
    functionName: xname_cmp
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - i2d_X509_NAME
    - memcmp
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int xname_cmp(const X509_NAME *a, const X509_NAME *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xname_cmp
      Src: /src/openssl/ssl/ssl_cert.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_NAME**
    - X509_NAME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 765
    functionName: xname_sk_cmp
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - xname_cmp
    linkageType: ''
    returnType: int
    signature: int xname_sk_cmp(const X509_NAME *const *a, const X509_NAME *const
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_hash_ex
      Src: /src/openssl/ssl/ssl_cert.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_NAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 11
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: xname_hash
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - X509_NAME_hash_ex
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long xname_hash(const X509_NAME *a)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_cert.c:1097,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/ssl_cert.c:1099,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:1103,1
    - Dst: X509_STORE_new
      Src: /src/openssl/ssl/ssl_cert.c:1108,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_cert.c:1111,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/ssl_cert.c:1112,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/ssl/ssl_cert.c:1113,1
    - Dst: X509_STORE_add_cert
      Src: /src/openssl/ssl/ssl_cert.c:1117,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/ssl/ssl_cert.c:1129,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:1131,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/ssl/ssl_cert.c:1134,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:1135,1
    - Dst: X509_STORE_CTX_set_flags
      Src: /src/openssl/ssl/ssl_cert.c:1139,1
    - Dst: X509_verify_cert
      Src: /src/openssl/ssl/ssl_cert.c:1142,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/ssl_cert.c:1145,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/openssl/ssl/ssl_cert.c:1150,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/openssl/ssl/ssl_cert.c:1152,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/ssl_cert.c:1153,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/ssl/ssl_cert.c:1154,1
    - Dst: sk_X509_shift
      Src: /src/openssl/ssl/ssl_cert.c:1159,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_cert.c:1160,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_cert.c:1162,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/ssl_cert.c:1164,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_cert.c:1164,1
    - Dst: X509_get_extension_flags
      Src: /src/openssl/ssl/ssl_cert.c:1165,1
    - Dst: sk_X509_pop
      Src: /src/openssl/ssl/ssl_cert.c:1166,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_cert.c:1167,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/ssl_cert.c:1175,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/ssl_cert.c:1176,1
    - Dst: ssl_security_cert
      Src: /src/openssl/ssl/ssl_cert.c:1177,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert.c:1179,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_cert.c:1180,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_cert.c:1185,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_cert.c:1191,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/ssl/ssl_cert.c:1192,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 87
    argCount: 3
    argNames:
    - s
    - ctx
    - flags
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1091
    functionDepth: 5
    functionLinenumber: 1091
    functionLinenumberEnd: 1195
    functionName: ssl_build_cert_chain
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - sk_X509_shift
    - X509_STORE_free
    - X509_STORE_add_cert
    - X509_free
    - sk_X509_pop
    - X509_get_extension_flags
    - X509_STORE_CTX_get_error
    - sk_X509_num
    - X509_STORE_new
    - sk_X509_value
    - ERR_clear_error
    - OSSL_STACK_OF_X509_free
    - ERR_raise_data
    - X509_STORE_CTX_set_flags
    - STACK_OF
    - ssl_security_cert
    - SSL_CONNECTION_GET_CTX
    - X509_STORE_CTX_free
    - X509_STORE_CTX_new_ex
    - X509_STORE_CTX_get1_chain
    - X509_verify_cert_error_string
    - X509_verify_cert
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int ssl_build_cert_chain(SSL_CONNECTION *s, SSL_CTX *ctx, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_up_ref
      Src: /src/openssl/ssl/ssl_cert.c:1201,1
    - Dst: X509_STORE_free
      Src: /src/openssl/ssl/ssl_cert.c:1208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - c
    - store
    - chain
    - ref
    argTypes:
    - CERT*
    - X509_STORE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1197
    functionDepth: 3
    functionLinenumber: 1197
    functionLinenumberEnd: 1212
    functionName: ssl_cert_set_cert_store
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - X509_STORE_up_ref
    - X509_STORE_free
    linkageType: ''
    returnType: int
    signature: int ssl_cert_set_cert_store(CERT *c, X509_STORE *store, int chain,
      int ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - pstore
    - chain
    argTypes:
    - CERT*
    - X509_STORE**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1218
    functionName: ssl_cert_get_cert_store
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_cert_get_cert_store(CERT *c, X509_STORE **pstore, int chain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_security_level
      Src: /src/openssl/ssl/ssl_cert.c:1231,1
    - Dst: SSL_get_security_level
      Src: /src/openssl/ssl/ssl_cert.c:1233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - s
    - ctx
    - levelp
    argTypes:
    - SSL*
    - SSL_CTX*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1244
    functionName: ssl_get_security_level_bits
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_security_level
    - SSL_get_security_level
    linkageType: ''
    returnType: int
    signature: int ssl_get_security_level_bits(const SSL *s, const SSL_CTX *ctx, int
      *levelp)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_security_level_bits
      Src: /src/openssl/ssl/ssl_cert.c:1253,1
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/ssl_cert.c:1290,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/ssl_cert.c:1292,1
    - Dst: DTLS_VERSION_LT
      Src: /src/openssl/ssl/ssl_cert.c:1298,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 7
    argNames:
    - s
    - ctx
    - op
    - bits
    - nid
    - other
    - ex
    argTypes:
    - SSL*
    - SSL_CTX*
    - int
    - int
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1246
    functionDepth: 3
    functionLinenumber: 1246
    functionLinenumberEnd: 1316
    functionName: ssl_security_default_callback
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - DTLS_VERSION_LT
    - ssl_get_security_level_bits
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: "int ssl_security_default_callback(const SSL *s, const SSL_CTX *ctx,\n
      \                                        int op, int bits, int nid, void *other,\n
      \                                        void *ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION*::cert::sec_cb
      Src: /src/openssl/ssl/ssl_cert.c:1320,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/ssl_cert.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - op
    - bits
    - nid
    - other
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1322
    functionName: ssl_security
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION*::cert::sec_cb
    - SSL_CONNECTION_GET_USER_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_security(const SSL_CONNECTION *s, int op, int bits, int nid,
      void *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX*::cert::sec_cb
      Src: /src/openssl/ssl/ssl_cert.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - op
    - bits
    - nid
    - other
    argTypes:
    - SSL_CTX*
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1328
    functionName: ssl_ctx_security
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 1
    functionsReached:
    - SSL_CTX*::cert::sec_cb
    linkageType: ''
    returnType: int
    signature: int ssl_ctx_security(const SSL_CTX *ctx, int op, int bits, int nid,
      void *other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_cert.c:1334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - nid
    - pidx
    - ctx
    argTypes:
    - int
    - size_t*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1347
    functionName: ssl_cert_lookup_by_nid
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ssl_cert_lookup_by_nid(int nid, size_t *pidx, SSL_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_cert.c:1354,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/ssl_cert.c:1357,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/ssl_cert.c:1357,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/ssl_cert.c:1358,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/ssl/ssl_cert.c:1358,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/ssl_cert.c:1368,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/ssl_cert.c:1368,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/ssl_cert.c:1369,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/ssl/ssl_cert.c:1369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pk
    - pidx
    - ctx
    argTypes:
    - EVP_PKEY*
    - size_t*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1349
    functionDepth: 6
    functionLinenumber: 1349
    functionLinenumberEnd: 1377
    functionName: ssl_cert_lookup_by_pkey
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 2
    functionsReached:
    - OBJ_nid2ln
    - OBJ_nid2sn
    - OSSL_NELEM
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: SSL_CERT_LOOKUP
    signature: SSL_CERT_LOOKUP *ssl_cert_lookup_by_pkey(const EVP_PKEY *pk, size_t
      *pidx, SSL_CTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_cert.c:1381,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/ssl_cert.c:1383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - idx
    - ctx
    argTypes:
    - size_t
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1386
    functionName: ssl_cert_lookup_by_idx
    functionSourceFile: /src/openssl/ssl/ssl_cert.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: SSL_CERT_LOOKUP
    signature: SSL_CERT_LOOKUP *ssl_cert_lookup_by_idx(size_t idx, SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/t1_lib.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: tls1_default_timeout
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ossl_seconds2time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME tls1_default_timeout(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_new
      Src: /src/openssl/ssl/t1_lib.c:107,1
    - Dst: SSL*::method::ssl_clear
      Src: /src/openssl/ssl/t1_lib.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: tls1_new
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_new
    - SSL*::method::ssl_clear
    linkageType: ''
    returnType: int
    signature: int tls1_new(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_lib.c:117,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:122,1
    - Dst: ssl3_free
      Src: /src/openssl/ssl/t1_lib.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: tls1_free
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - SSL_CONNECTION_FROM_SSL
    - ssl3_free
    linkageType: ''
    returnType: void
    signature: void tls1_free(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_lib.c:128,1
    - Dst: ssl3_clear
      Src: /src/openssl/ssl/t1_lib.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: tls1_clear
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl3_clear
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int tls1_clear(SSL *s)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:242,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:245,1
    - Dst: memset
      Src: /src/openssl/ssl/t1_lib.c:252,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:260,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:262,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:265,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:269,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:271,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:274,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:278,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:279,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:280,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:285,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:287,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:290,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:294,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:295,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:296,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:300,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:301,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:302,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:307,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:308,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:309,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:313,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:314,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:315,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:319,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:320,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:321,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:325,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:326,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:327,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/t1_lib.c:337,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/ssl/t1_lib.c:338,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/ssl/t1_lib.c:343,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:345,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:348,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:349,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:350,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 104
    argCount: 2
    argNames:
    - params
    - data
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 227
    functionDepth: 10
    functionLinenumber: 227
    functionLinenumberEnd: 354
    functionName: add_provider_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - OSSL_PARAM_get_uint
    - ERR_pop_to_mark
    - OPENSSL_malloc_array
    - OSSL_PARAM_locate_const
    - ERR_set_mark
    - EVP_KEYMGMT_fetch
    - OPENSSL_realloc_array
    - OPENSSL_free
    - OPENSSL_strdup
    - OSSL_PARAM_get_int
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: int
    signature: int add_provider_groups(const OSSL_PARAM params[], void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get_capabilities
      Src: /src/openssl/ssl/t1_lib.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - provider
    - vctx
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: discover_provider_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_capabilities
    linkageType: ''
    returnType: int
    signature: int discover_provider_groups(OSSL_PROVIDER *provider, void *vctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/openssl/ssl/t1_lib.c:368,1
    - Dst: SSL_CTX_set1_groups_list
      Src: /src/openssl/ssl/t1_lib.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: ssl_load_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_do_all
    - SSL_CTX_set1_groups_list
    linkageType: ''
    returnType: int
    signature: int ssl_load_groups(SSL_CTX *ctx)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:392,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:395,1
    - Dst: memset
      Src: /src/openssl/ssl/t1_lib.c:402,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:410,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:412,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:415,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:416,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:420,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:422,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:425,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:426,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:430,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:433,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:435,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:440,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/t1_lib.c:442,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:443,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:448,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:454,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:455,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:460,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:466,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:467,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:472,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:478,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:479,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:484,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:490,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:491,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:496,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:502,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:503,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:508,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:514,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:515,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:520,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:526,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/t1_lib.c:527,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:534,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:535,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:536,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:539,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:540,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:541,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:547,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:554,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:555,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:556,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/t1_lib.c:559,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/t1_lib.c:560,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:561,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:566,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/t1_lib.c:589,1
    - Dst: EVP_KEYMGMT_fetch
      Src: /src/openssl/ssl/t1_lib.c:595,1
    - Dst: EVP_KEYMGMT_get0_provider
      Src: /src/openssl/ssl/t1_lib.c:609,1
    - Dst: OBJ_create
      Src: /src/openssl/ssl/t1_lib.c:617,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:619,1
    - Dst: OBJ_nid2obj
      Src: /src/openssl/ssl/t1_lib.c:620,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:620,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:621,1
    - Dst: OBJ_create
      Src: /src/openssl/ssl/t1_lib.c:625,1
    - Dst: OBJ_create
      Src: /src/openssl/ssl/t1_lib.c:627,1
    - Dst: OBJ_create
      Src: /src/openssl/ssl/t1_lib.c:629,1
    - Dst: OBJ_add_sigid
      Src: /src/openssl/ssl/t1_lib.c:630,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:630,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:632,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:634,1
    - Dst: EVP_KEYMGMT_free
      Src: /src/openssl/ssl/t1_lib.c:638,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:640,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:643,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:645,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:647,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:649,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:651,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:653,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:655,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:657,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:659,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 238
    argCount: 2
    argNames:
    - params
    - data
    argTypes:
    - OSSL_PARAM[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 376
    functionDepth: 10
    functionLinenumber: 376
    functionLinenumberEnd: 663
    functionName: add_provider_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - memset
    - ERR_raise
    - OSSL_PARAM_get_uint
    - OBJ_create
    - ERR_pop_to_mark
    - OPENSSL_malloc_array
    - OSSL_PARAM_locate_const
    - ERR_set_mark
    - EVP_KEYMGMT_fetch
    - OPENSSL_realloc_array
    - OBJ_add_sigid
    - OPENSSL_free
    - OPENSSL_strdup
    - EVP_KEYMGMT_get0_provider
    - OBJ_nid2obj
    - OBJ_txt2nid
    - OSSL_PARAM_get_int
    - EVP_KEYMGMT_free
    linkageType: ''
    returnType: int
    signature: int add_provider_sigalgs(const OSSL_PARAM params[], void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_get_capabilities
      Src: /src/openssl/ssl/t1_lib.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - provider
    - vctx
    argTypes:
    - OSSL_PROVIDER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 678
    functionName: discover_provider_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_get_capabilities
    linkageType: ''
    returnType: int
    signature: int discover_provider_sigalgs(OSSL_PROVIDER *provider, void *vctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/openssl/ssl/t1_lib.c:685,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:690,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/t1_lib.c:691,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 680
    functionDepth: 8
    functionLinenumber: 680
    functionLinenumberEnd: 706
    functionName: ssl_load_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_do_all
    - OPENSSL_free
    - OPENSSL_calloc
    - OBJ_txt2nid
    linkageType: ''
    returnType: int
    signature: int ssl_load_sigalgs(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:713,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 708
    functionDepth: 3
    functionLinenumber: 708
    functionLinenumberEnd: 719
    functionName: tls1_group_name2id
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t tls1_group_name2id(SSL_CTX *ctx, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - group_id
    argTypes:
    - SSL_CTX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 731
    functionName: tls1_group_id_lookup
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: TLS_GROUP_INFO
    signature: TLS_GROUP_INFO *tls1_group_id_lookup(SSL_CTX *ctx, uint16_t group_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/t1_lib.c:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - group_id
    argTypes:
    - SSL_CTX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 741
    functionName: tls1_group_id2name
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - tls1_group_id_lookup
    linkageType: ''
    returnType: char
    signature: char *tls1_group_id2name(SSL_CTX *ctx, uint16_t group_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - group_id
    - include_unknown
    argTypes:
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 762
    functionName: tls1_group_id2nid
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int tls1_group_id2nid(uint16_t group_id, int include_unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 779
    functionName: tls1_nid2group_id
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t tls1_nid2group_id(int nid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:788,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:791,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:794,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - s
    - pgroups
    - pgroupslen
    argTypes:
    - SSL_CONNECTION*
    - uint16_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 817
    functionName: tls1_get_supported_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - OSSL_NELEM
    - tls1_suiteb
    linkageType: ''
    returnType: void
    signature: "void tls1_get_supported_groups(SSL_CONNECTION *s, const uint16_t **pgroups,\n
      \                              size_t *pgroupslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - pgroups
    - pgroupslen
    argTypes:
    - SSL_CONNECTION*
    - uint16_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 844
    functionName: tls1_get_requested_keyshare_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: void
    signature: "void tls1_get_requested_keyshare_groups(SSL_CONNECTION *s, const uint16_t
      **pgroups,\n                                        size_t *pgroupslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - ptuples
    - ptupleslen
    argTypes:
    - SSL_CONNECTION*
    - size_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 858
    functionName: tls1_get_group_tuples
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: void
    signature: "void tls1_get_group_tuples(SSL_CONNECTION *s, const size_t **ptuples,\n
      \                          size_t *ptupleslen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/t1_lib.c:864,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:864,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:875,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:876,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:883,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:885,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:887,1
    - Dst: strcmp
      Src: /src/openssl/ssl/t1_lib.c:893,1
    - Dst: strcmp
      Src: /src/openssl/ssl/t1_lib.c:894,1
    - Dst: strcmp
      Src: /src/openssl/ssl/t1_lib.c:895,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 6
    argNames:
    - s
    - group_id
    - minversion
    - maxversion
    - isec
    - okfortls13
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 898
    functionName: tls_valid_group
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_IS_DTLS
    - tls1_group_id_lookup
    - strcmp
    - SSL_CONNECTION_GET_CTX
    - ssl_version_cmp
    linkageType: ''
    returnType: int
    signature: "int tls_valid_group(SSL_CONNECTION *s, uint16_t group_id,\n                    int
      minversion, int maxversion,\n                    int isec, int *okfortls13)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/t1_lib.c:903,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:903,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:912,1
    - Dst: tls1_group_id2nid
      Src: /src/openssl/ssl/t1_lib.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - group
    - op
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 914
    functionName: tls_group_allowed
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_security
    - SSL_CONNECTION_GET_CTX
    - tls1_group_id2nid
    - tls1_group_id_lookup
    linkageType: ''
    returnType: int
    signature: int tls_group_allowed(SSL_CONNECTION *s, uint16_t group, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - id
    - list
    - listlen
    argTypes:
    - uint16_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 924
    functionName: tls1_in_list
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls1_in_list(uint16_t id, const uint16_t *list, size_t listlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - TLS_GROUP_IX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: free_wrapper
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_wrapper(TLS_GROUP_IX *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - TLS_GROUP_IX**
    - TLS_GROUP_IX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 951
    functionName: tls_group_ix_cmp
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_group_ix_cmp(const TLS_GROUP_IX *const *a,\n                            const
      TLS_GROUP_IX *const *b)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/t1_lib.c:957,1
    - Dst: sk_TLS_GROUP_IX_new
      Src: /src/openssl/ssl/t1_lib.c:965,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:975,1
    - Dst: sk_TLS_GROUP_IX_push
      Src: /src/openssl/ssl/t1_lib.c:979,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:980,1
    - Dst: sk_TLS_GROUP_IX_sort
      Src: /src/openssl/ssl/t1_lib.c:985,1
    - Dst: sk_TLS_GROUP_IX_num
      Src: /src/openssl/ssl/t1_lib.c:986,1
    - Dst: sk_TLS_GROUP_IX_value
      Src: /src/openssl/ssl/t1_lib.c:988,1
    - Dst: sk_OPENSSL_CSTRING_push
      Src: /src/openssl/ssl/t1_lib.c:992,1
    - Dst: sk_TLS_GROUP_IX_pop_free
      Src: /src/openssl/ssl/t1_lib.c:998,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 6
    argNames:
    - min_proto_version
    - max_proto_version
    - grps
    - num
    - all
    - out
    argTypes:
    - int
    - int
    - TLS_GROUP_INFO*
    - size_t
    - long
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 1000
    functionName: tls1_get0_implemented_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - sk_TLS_GROUP_IX_pop_free
    - sk_TLS_GROUP_IX_push
    - sk_TLS_GROUP_IX_new
    - sk_TLS_GROUP_IX_sort
    - STACK_OF
    - OPENSSL_free
    - sk_OPENSSL_CSTRING_push
    - sk_TLS_GROUP_IX_value
    - sk_TLS_GROUP_IX_num
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int tls1_get0_implemented_groups(int min_proto_version, int max_proto_version,\n
      \                                TLS_GROUP_INFO *grps, size_t num, long all,\n
      \                                STACK_OF(OPENSSL_CSTRING) *out)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:1014,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:1020,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/t1_lib.c:1042,1
    - Dst: tls1_get_peer_groups
      Src: /src/openssl/ssl/t1_lib.c:1043,1
    - Dst: tls1_get_peer_groups
      Src: /src/openssl/ssl/t1_lib.c:1045,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/t1_lib.c:1046,1
    - Dst: tls1_in_list
      Src: /src/openssl/ssl/t1_lib.c:1054,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/t1_lib.c:1055,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/t1_lib.c:1057,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/t1_lib.c:1058,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:1061,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:1063,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:1067,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:1069,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - s
    - nmatch
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1080
    functionName: tls1_shared_group
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - tls1_suiteb
    - tls1_get_supported_groups
    - tls_group_allowed
    - tls1_get_peer_groups
    - tls1_in_list
    - tls1_group_id_lookup
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_DTLS
    - ssl_version_cmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t tls1_shared_group(SSL_CONNECTION *s, int nmatch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:1099,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1102,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1104,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1106,1
    - Dst: tls1_nid2group_id
      Src: /src/openssl/ssl/t1_lib.c:1111,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1121,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1122,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1123,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1135,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 8
    argNames:
    - grpext
    - grpextlen
    - ksext
    - ksextlen
    - tplext
    - tplextlen
    - groups
    - ngroups
    argTypes:
    - uint16_t**
    - size_t*
    - uint16_t**
    - size_t*
    - size_t**
    - size_t*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1138
    functionName: tls1_set_groups
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc_array
    - tls1_nid2group_id
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int tls1_set_groups(uint16_t **grpext, size_t *grpextlen,\n                    uint16_t
      **ksext, size_t *ksextlen,\n                    size_t **tplext, size_t *tplextlen,\n
      \                   int *groups, size_t ngroups)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:1274,1
    - Dst: strchr
      Src: /src/openssl/ssl/t1_lib.c:1280,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/t1_lib.c:1281,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:1317,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:1318,1
    - Dst: OPENSSL_strncasecmp
      Src: /src/openssl/ssl/t1_lib.c:1319,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:1338,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:1339,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:1350,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:1352,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:1353,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/t1_lib.c:1360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1365,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:1389,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:1402,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:1421,1
    - Dst: tls1_group_name2id
      Src: /src/openssl/ssl/t1_lib.c:1425,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:1432,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:1433,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 151
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1256
    functionDepth: 4
    functionLinenumber: 1256
    functionLinenumberEnd: 1530
    functionName: gid_cb
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - strchr
    - ERR_raise
    - OPENSSL_strcasecmp
    - memcpy
    - CONF_parse_list
    - OPENSSL_realloc_array
    - OPENSSL_strncasecmp
    - OSSL_NELEM
    - OPENSSL_free
    - strlen
    - tls1_group_name2id
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int gid_cb(const char *elem, int len, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:1541,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/t1_lib.c:1548,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:1559,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:1562,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/t1_lib.c:1566,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - tuple
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1581
    functionName: tuple_cb
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - memcpy
    - CONF_parse_list
    - OPENSSL_realloc_array
    - OPENSSL_free
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int tuple_cb(const char *tuple, int len, void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:1605,1
    - Dst: memset
      Src: /src/openssl/ssl/t1_lib.c:1609,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1618,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1621,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:1625,1
    - Dst: isspace
      Src: /src/openssl/ssl/t1_lib.c:1629,1
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/t1_lib.c:1638,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/t1_lib.c:1643,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/t1_lib.c:1664,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1698,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1701,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1704,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1711,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1712,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:1713,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 79
    argCount: 8
    argNames:
    - ctx
    - grpext
    - grpextlen
    - ksext
    - ksextlen
    - tplext
    - tplextlen
    - str
    argTypes:
    - SSL_CTX*
    - uint16_t**
    - size_t*
    - uint16_t**
    - size_t*
    - size_t**
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1715
    functionName: tls1_set_groups_list
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 3
    functionsReached:
    - memset
    - ERR_raise
    - isspace
    - OPENSSL_malloc_array
    - CONF_parse_list
    - ERR_raise_data
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int tls1_set_groups_list(SSL_CTX *ctx,\n                         uint16_t
      **grpext, size_t *grpextlen,\n                         uint16_t **ksext, size_t
      *ksextlen,\n                         size_t **tplext, size_t *tplextlen,\n                         const
      char *str)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:1728,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/t1_lib.c:1745,1
    - Dst: tls1_in_list
      Src: /src/openssl/ssl/t1_lib.c:1746,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/t1_lib.c:1750,1
    - Dst: tls1_get_peer_groups
      Src: /src/openssl/ssl/t1_lib.c:1758,1
    - Dst: tls1_in_list
      Src: /src/openssl/ssl/t1_lib.c:1768,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - s
    - group_id
    - check_own_groups
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1718
    functionDepth: 3
    functionLinenumber: 1718
    functionLinenumberEnd: 1769
    functionName: tls1_check_group_id
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_suiteb
    - tls_group_allowed
    - tls1_get_supported_groups
    - tls1_get_peer_groups
    - tls1_in_list
    linkageType: ''
    returnType: int
    signature: "int tls1_check_group_id(SSL_CONNECTION *s, uint16_t group_id,\n                        int
      check_own_groups)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:1783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - s
    - pformats
    - num_formats
    argTypes:
    - SSL_CONNECTION*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1791
    functionName: tls1_get_formatlist
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_suiteb
    linkageType: ''
    returnType: void
    signature: "void tls1_get_formatlist(SSL_CONNECTION *s, const unsigned char **pformats,\n
      \                        size_t *num_formats)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/t1_lib.c:1801,1
    - Dst: EVP_PKEY_get_ec_point_conv_form
      Src: /src/openssl/ssl/t1_lib.c:1806,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:1811,1
    - Dst: EVP_PKEY_get_field_type
      Src: /src/openssl/ssl/t1_lib.c:1818,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - s
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1794
    functionDepth: 5
    functionLinenumber: 1794
    functionLinenumberEnd: 1839
    functionName: tls1_check_pkey_comp
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_field_type
    - EVP_PKEY_get_ec_point_conv_form
    - SSL_CONNECTION_IS_TLS13
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: int
    signature: int tls1_check_pkey_comp(SSL_CONNECTION *s, EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_EC_curve_nid
      Src: /src/openssl/ssl/t1_lib.c:1844,1
    - Dst: tls1_nid2group_id
      Src: /src/openssl/ssl/t1_lib.c:1848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1849
    functionName: tls1_get_group_id
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_get_EC_curve_nid
    - tls1_nid2group_id
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t tls1_get_group_id(EVP_PKEY *pkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/ssl/t1_lib.c:1859,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/t1_lib.c:1863,1
    - Dst: tls1_check_pkey_comp
      Src: /src/openssl/ssl/t1_lib.c:1866,1
    - Dst: tls1_get_group_id
      Src: /src/openssl/ssl/t1_lib.c:1868,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/t1_lib.c:1873,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:1879,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - s
    - x
    - check_ee_md
    argTypes:
    - SSL_CONNECTION*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1855
    functionDepth: 6
    functionLinenumber: 1855
    functionLinenumberEnd: 1897
    functionName: tls1_check_cert_param
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_check_pkey_comp
    - tls1_suiteb
    - X509_get0_pubkey
    - EVP_PKEY_is_a
    - tls1_check_group_id
    - tls1_get_group_id
    linkageType: ''
    returnType: int
    signature: int tls1_check_cert_param(SSL_CONNECTION *s, X509 *x, int check_ee_md)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:1912,1
    - Dst: tls1_shared_group
      Src: /src/openssl/ssl/t1_lib.c:1913,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/t1_lib.c:1919,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/t1_lib.c:1921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - cid
    argTypes:
    - SSL_CONNECTION*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1909
    functionDepth: 4
    functionLinenumber: 1909
    functionLinenumberEnd: 1924
    functionName: tls1_check_ec_tmp_key
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - tls1_suiteb
    - tls1_shared_group
    - tls1_check_group_id
    linkageType: ''
    returnType: int
    signature: int tls1_check_ec_tmp_key(SSL_CONNECTION *s, unsigned long cid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/ssl/t1_lib.c:2189,1
    - Dst: SSL_CTX_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:2196,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2198,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/t1_lib.c:2200,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/t1_lib.c:2204,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/t1_lib.c:2208,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2211,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/ssl/t1_lib.c:2230,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/t1_lib.c:2234,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:2238,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2242,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:2249,1
    - Dst: ssl_get_md_idx
      Src: /src/openssl/ssl/t1_lib.c:2250,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:2251,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:2253,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:2264,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2267,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2284,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:2300,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:2301,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/t1_lib.c:2302,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2183
    functionDepth: 8
    functionLinenumber: 2183
    functionLinenumberEnd: 2304
    functionName: ssl_setup_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ssl_get_md_idx
    - EVP_PKEY_new
    - EVP_PKEY_set_type
    - ERR_pop_to_mark
    - OPENSSL_calloc
    - ERR_set_mark
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_NELEM
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_free
    - OBJ_txt2nid
    - SSL_CTX_IS_DTLS
    linkageType: ''
    returnType: int
    signature: int ssl_setup_sigalgs(SSL_CTX *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new
      Src: /src/openssl/ssl/t1_lib.c:2312,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:2313,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2322,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/t1_lib.c:2326,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/t1_lib.c:2329,1
    - Dst: OBJ_nid2ln
      Src: /src/openssl/ssl/t1_lib.c:2329,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:2334,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/t1_lib.c:2337,1
    - Dst: EVP_PKEY_set_type
      Src: /src/openssl/ssl/t1_lib.c:2340,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:2342,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/t1_lib.c:2345,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/t1_lib.c:2349,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:2350,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:2356,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:2356,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/t1_lib.c:2360,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:2362,1
    - Dst: strlen
      Src: /src/openssl/ssl/t1_lib.c:2367,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/ssl/t1_lib.c:2368,1
    - Dst: OPENSSL_strlcat
      Src: /src/openssl/ssl/t1_lib.c:2369,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:2372,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/t1_lib.c:2377,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - libctx
    argTypes:
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2308
    functionDepth: 10
    functionLinenumber: 2308
    functionLinenumberEnd: 2379
    functionName: SSL_get1_builtin_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MD_free
    - ERR_raise
    - EVP_PKEY_new
    - ERR_pop_to_mark
    - OPENSSL_strlcat
    - ERR_set_mark
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - OSSL_NELEM
    - EVP_PKEY_CTX_new_from_pkey
    - OPENSSL_free
    - OBJ_nid2ln
    - EVP_MD_fetch
    - strlen
    - OPENSSL_realloc
    - OPENSSL_malloc
    - EVP_PKEY_set_type
    linkageType: ''
    returnType: char
    signature: char *SSL_get1_builtin_sigalgs(OSSL_LIB_CTX *libctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - sigalg
    argTypes:
    - SSL_CTX*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2396
    functionName: tls1_lookup_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SIGALG_LOOKUP
    signature: "SIGALG_LOOKUP *tls1_lookup_sigalg(const SSL_CTX *ctx,\n                                               uint16_t
      sigalg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_md
      Src: /src/openssl/ssl/t1_lib.c:2409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ctx
    - lu
    - pmd
    argTypes:
    - SSL_CTX*
    - SIGALG_LOOKUP*
    - EVP_MD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2416
    functionName: tls1_lookup_md
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_md
    linkageType: ''
    returnType: int
    signature: int tls1_lookup_md(SSL_CTX *ctx, const SIGALG_LOOKUP *lu, const EVP_MD
      **pmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - md
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2426
    functionName: RSA_PSS_MINIMUM_KEY_SIZE
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSA_PSS_MINIMUM_KEY_SIZE(md)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/t1_lib.c:2433,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/t1_lib.c:2435,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/ssl/t1_lib.c:2437,1
    - Dst: RSA_PSS_MINIMUM_KEY_SIZE
      Src: /src/openssl/ssl/t1_lib.c:2437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - pkey
    - lu
    argTypes:
    - SSL_CTX*
    - EVP_PKEY*
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2426
    functionDepth: 1
    functionLinenumber: 2426
    functionLinenumberEnd: 2440
    functionName: rsa_pss_check_min_key_size
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_size
    - tls1_lookup_md
    - EVP_PKEY_get_size
    - RSA_PSS_MINIMUM_KEY_SIZE
    linkageType: ''
    returnType: int
    signature: "int rsa_pss_check_min_key_size(SSL_CTX *ctx, const EVP_PKEY *pkey,\n
      \                                     const SIGALG_LOOKUP *lu)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cert_lookup_by_idx
      Src: /src/openssl/ssl/t1_lib.c:2459,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2459,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2502,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_lib.c:2505,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2507,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2507,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/t1_lib.c:2512,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2512,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:2514,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:2518,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2521
    functionName: tls1_get_legacy_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_cert_lookup_by_idx
    - tls1_lookup_sigalg
    - OSSL_NELEM
    - tls1_lookup_md
    - tls12_sigalg_allowed
    - SSL_CONNECTION_GET_CTX
    - SSL_USE_SIGALGS
    linkageType: ''
    returnType: SIGALG_LOOKUP
    signature: "SIGALG_LOOKUP *tls1_get_legacy_sigalg(const SSL_CONNECTION *s,\n                                                   int
      idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/t1_lib.c:2528,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2528,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2523
    functionDepth: 7
    functionLinenumber: 2523
    functionLinenumberEnd: 2535
    functionName: tls1_set_peer_legacy_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_get_legacy_sigalg
    - SSL_CONNECTION_GET_CTX
    - ssl_cert_lookup_by_pkey
    linkageType: ''
    returnType: int
    signature: int tls1_set_peer_legacy_sigalg(SSL_CONNECTION *s, const EVP_PKEY *pkey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:2543,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:2546,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2568,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - s
    - sent
    - psigs
    argTypes:
    - SSL_CONNECTION*
    - int
    - uint16_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2571
    functionName: tls12_get_psigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - OSSL_NELEM
    - tls1_suiteb
    linkageType: ''
    returnType: size_t
    signature: size_t tls12_get_psigalgs(SSL_CONNECTION *s, int sent, const uint16_t
      **psigs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2586,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2587,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2592,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2592,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - s
    - curve
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2577
    functionDepth: 1
    functionLinenumber: 2577
    functionLinenumberEnd: 2603
    functionName: tls_check_sigalg_curve
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - tls1_lookup_sigalg
    linkageType: ''
    returnType: int
    signature: int tls_check_sigalg_curve(const SSL_CONNECTION *s, int curve)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/t1_lib.c:2614,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/ssl/t1_lib.c:2618,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/t1_lib.c:2621,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - lu
    argTypes:
    - SSL_CTX*
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2609
    functionDepth: 1
    functionLinenumber: 2609
    functionLinenumberEnd: 2656
    functionName: sigalg_security_bits
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - EVP_MD_get_type
    - tls1_lookup_md
    - EVP_MD_get_size
    linkageType: ''
    returnType: int
    signature: int sigalg_security_bits(SSL_CTX *ctx, const SIGALG_LOOKUP *lu)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:2666,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:2687,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:2689,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:2690,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - sc
    - lu
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2658
    functionDepth: 1
    functionLinenumber: 2658
    functionLinenumberEnd: 2693
    functionName: tls_sigalg_compat
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls12_sigalg_allowed
    - ssl_version_cmp
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: int tls_sigalg_compat(SSL_CONNECTION *sc, const SIGALG_LOOKUP *lu)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/ssl/t1_lib.c:2710,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:2712,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2715,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2724,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2724,1
    - Dst: tls_sigalg_compat
      Src: /src/openssl/ssl/t1_lib.c:2725,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2726,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2736,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:2744,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2748,1
    - Dst: ssl_cert_lookup_by_nid
      Src: /src/openssl/ssl/t1_lib.c:2752,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/ssl/t1_lib.c:2753,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2754,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2756,1
    - Dst: tls1_check_pkey_comp
      Src: /src/openssl/ssl/t1_lib.c:2763,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2764,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:2770,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:2770,1
    - Dst: ssl_get_EC_curve_nid
      Src: /src/openssl/ssl/t1_lib.c:2771,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2774,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:2778,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/t1_lib.c:2780,1
    - Dst: tls1_get_group_id
      Src: /src/openssl/ssl/t1_lib.c:2780,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2781,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:2784,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2788,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:2794,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2795,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:2800,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2808,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/t1_lib.c:2811,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2811,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2812,1
    - Dst: sigalg_security_bits
      Src: /src/openssl/ssl/t1_lib.c:2821,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:2821,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:2823,1
    - Dst: EVP_MD_get_type
      Src: /src/openssl/ssl/t1_lib.c:2824,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2826,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 79
    argCount: 3
    argNames:
    - s
    - sig
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2700
    functionDepth: 6
    functionLinenumber: 2700
    functionLinenumberEnd: 2832
    functionName: tls12_check_peer_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls1_check_pkey_comp
    - tls1_suiteb
    - ssl_get_EC_curve_nid
    - EVP_MD_get_type
    - ssl_cert_lookup_by_nid
    - EVP_PKEY_get_id
    - tls1_lookup_sigalg
    - tls1_check_group_id
    - tls12_get_psigalgs
    - sigalg_security_bits
    - tls1_lookup_md
    - tls1_get_group_id
    - tls_sigalg_compat
    - ssl_security
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int tls12_check_peer_sigalg(SSL_CONNECTION *s, uint16_t sig, EVP_PKEY
      *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/t1_lib.c:2836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pnid
    argTypes:
    - SSL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2834
    functionDepth: 1
    functionLinenumber: 2834
    functionLinenumberEnd: 2845
    functionName: SSL_get_peer_signature_type_nid
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_peer_signature_type_nid(const SSL *s, int *pnid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/t1_lib.c:2849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pnid
    argTypes:
    - SSL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2847
    functionDepth: 1
    functionLinenumber: 2847
    functionLinenumberEnd: 2858
    functionName: SSL_get_signature_type_nid
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_get_signature_type_nid(const SSL *s, int *pnid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_set_sig_mask
      Src: /src/openssl/ssl/t1_lib.c:2874,1
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/t1_lib.c:2875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2892
      start: 2870
    functionDepth: 1
    functionLinenumber: 2870
    functionLinenumberEnd: 2892
    functionName: ssl_set_client_disabled
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_get_min_max_version
    - ssl_set_sig_mask
    linkageType: ''
    returnType: int
    signature: int ssl_set_client_disabled(SSL_CONNECTION *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:2906,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:2907,1
    - Dst: SSL_IS_QUIC_INT_HANDSHAKE
      Src: /src/openssl/ssl/t1_lib.c:2915,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/ssl/t1_lib.c:2917,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:2935,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/t1_lib.c:2936,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:2939,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - s
    - c
    - op
    - ecdhe
    argTypes:
    - SSL_CONNECTION*
    - SSL_CIPHER*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2903
    functionDepth: 2
    functionLinenumber: 2903
    functionLinenumberEnd: 2940
    functionName: ssl_cipher_disabled
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CIPHER_get_id
    - SSL_IS_QUIC_INT_HANDSHAKE
    - SSL_CONNECTION_IS_DTLS
    - ssl_security
    - ssl_version_cmp
    linkageType: ''
    returnType: int
    signature: "int ssl_cipher_disabled(const SSL_CONNECTION *s, const SSL_CIPHER
      *c,\n                        int op, int ecdhe)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:2946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2942
    functionDepth: 2
    functionLinenumber: 2942
    functionLinenumberEnd: 2947
    functionName: tls_use_ticket
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_security
    linkageType: ''
    returnType: int
    signature: int tls_use_ticket(SSL_CONNECTION *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:2954,1
    - Dst: memset
      Src: /src/openssl/ssl/t1_lib.c:2960,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/t1_lib.c:2962,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2964,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:2974,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:2977,1
    - Dst: tls1_process_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:2993,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:2994,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:3001,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2949
    functionDepth: 2
    functionLinenumber: 2949
    functionLinenumberEnd: 3004
    functionName: tls1_set_server_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_get_legacy_sigalg
    - SSLfatal
    - memset
    - OPENSSL_calloc
    - tls1_process_sigalgs
    - tls12_get_psigalgs
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int tls1_set_server_sigalgs(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_use_ticket
      Src: /src/openssl/ssl/t1_lib.c:3028,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/t1_lib.c:3035,1
    - Dst: tls_decrypt_ticket
      Src: /src/openssl/ssl/t1_lib.c:3037,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/t1_lib.c:3037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - hello
    - ret
    argTypes:
    - SSL_CONNECTION*
    - CLIENTHELLO_MSG*
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3013
    functionDepth: 3
    functionLinenumber: 3013
    functionLinenumberEnd: 3039
    functionName: tls_get_ticket_from_client
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - tls_decrypt_ticket
    - PACKET_data
    - tls_use_ticket
    linkageType: ''
    returnType: SSL_TICKET_STATUS
    signature: "SSL_TICKET_STATUS tls_get_ticket_from_client(SSL_CONNECTION *s,\n
      \                                            CLIENTHELLO_MSG *hello,\n                                             SSL_SESSION
      **ret)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3080,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3090,1
    - Dst: ssl_hmac_new
      Src: /src/openssl/ssl/t1_lib.c:3108,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/t1_lib.c:3113,1
    - Dst: SSL_CTX*::ext::ticket_key_evp_cb
      Src: /src/openssl/ssl/t1_lib.c:3128,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/t1_lib.c:3128,1
    - Dst: ssl_hmac_get0_EVP_MAC_CTX
      Src: /src/openssl/ssl/t1_lib.c:3132,1
    - Dst: SSL_CTX*::ext::ticket_key_cb
      Src: /src/openssl/ssl/t1_lib.c:3137,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/t1_lib.c:3137,1
    - Dst: ssl_hmac_get0_HMAC_CTX
      Src: /src/openssl/ssl/t1_lib.c:3139,1
    - Dst: memcmp
      Src: /src/openssl/ssl/t1_lib.c:3155,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/t1_lib.c:3161,1
    - Dst: ssl_hmac_init
      Src: /src/openssl/ssl/t1_lib.c:3164,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/ssl/t1_lib.c:3167,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/t1_lib.c:3170,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/t1_lib.c:3174,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3175,1
    - Dst: ssl_hmac_size
      Src: /src/openssl/ssl/t1_lib.c:3182,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/t1_lib.c:3188,1
    - Dst: ssl_hmac_update
      Src: /src/openssl/ssl/t1_lib.c:3201,1
    - Dst: ssl_hmac_final
      Src: /src/openssl/ssl/t1_lib.c:3202,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/t1_lib.c:3207,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_lib.c:3215,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/ssl/t1_lib.c:3216,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3218,1
    - Dst: EVP_DecryptFinal
      Src: /src/openssl/ssl/t1_lib.c:3222,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3223,1
    - Dst: d2i_SSL_SESSION_ex
      Src: /src/openssl/ssl/t1_lib.c:3230,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3232,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/t1_lib.c:3236,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:3248,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/t1_lib.c:3257,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:3264,1
    - Dst: ssl_hmac_free
      Src: /src/openssl/ssl/t1_lib.c:3265,1
    - Dst: SSL_CONNECTION*::session_ctx::decrypt_ticket_cb
      Src: /src/openssl/ssl/t1_lib.c:3282,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_lib.c:3282,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/t1_lib.c:3293,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/t1_lib.c:3301,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3321,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 175
    argCount: 6
    argNames:
    - s
    - etick
    - eticklen
    - sess_id
    - sesslen
    - psess
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3064
    functionDepth: 7
    functionLinenumber: 3064
    functionLinenumberEnd: 3333
    functionName: tls_decrypt_ticket
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ssl_hmac_init
    - ssl_hmac_new
    - memcpy
    - SSL_CONNECTION*::session_ctx::decrypt_ticket_cb
    - CRYPTO_memcmp
    - ssl_hmac_get0_EVP_MAC_CTX
    - ssl_hmac_final
    - OPENSSL_free
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_DecryptFinal
    - ssl_hmac_get0_HMAC_CTX
    - ERR_clear_error
    - EVP_CIPHER_free
    - OPENSSL_malloc
    - ssl_hmac_update
    - SSL_SESSION_free
    - EVP_DecryptUpdate
    - d2i_SSL_SESSION_ex
    - ssl_hmac_free
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_GET_USER_SSL
    - EVP_CIPHER_fetch
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    - EVP_CIPHER_CTX_new
    - memcmp
    - EVP_DecryptInit_ex
    - ssl_hmac_size
    - SSL_CTX*::ext::ticket_key_cb
    - EVP_CIPHER_CTX_free
    - SSL_CTX*::ext::ticket_key_evp_cb
    linkageType: ''
    returnType: SSL_TICKET_STATUS
    signature: "SSL_TICKET_STATUS tls_decrypt_ticket(SSL_CONNECTION *s,\n                                     const
      unsigned char *etick,\n                                     size_t eticklen,\n
      \                                    const unsigned char *sess_id,\n                                     size_t
      sesslen, SSL_SESSION **psess)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3345,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_lib.c:3351,1
    - Dst: ssl_cert_is_disabled
      Src: /src/openssl/ssl/t1_lib.c:3359,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3359,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3366,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_lib.c:3369,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/t1_lib.c:3372,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/t1_lib.c:3383,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_lib.c:3383,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/t1_lib.c:3384,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/t1_lib.c:3388,1
    - Dst: ssl_cipher_disabled
      Src: /src/openssl/ssl/t1_lib.c:3390,1
    - Dst: sigalg_security_bits
      Src: /src/openssl/ssl/t1_lib.c:3402,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3402,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:3405,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 33
    argCount: 3
    argNames:
    - s
    - op
    - lu
    argTypes:
    - SSL_CONNECTION*
    - int
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3406
      start: 3336
    functionDepth: 3
    functionLinenumber: 3336
    functionLinenumberEnd: 3406
    functionName: tls12_sigalg_allowed
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - ssl_cipher_disabled
    - sk_SSL_CIPHER_value
    - sigalg_security_bits
    - ssl_security
    - SSL_CONNECTION_GET_SSL
    - STACK_OF
    - sk_SSL_CIPHER_num
    - SSL_CONNECTION_IS_DTLS
    - SSL_get_ciphers
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    - ssl_cert_is_disabled
    linkageType: ''
    returnType: int
    signature: "int tls12_sigalg_allowed(const SSL_CONNECTION *s, int op,\n                                const
      SIGALG_LOOKUP *lu)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:3423,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3426,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3426,1
    - Dst: ssl_cert_lookup_by_idx
      Src: /src/openssl/ssl/t1_lib.c:3432,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3433,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:3439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pmask_a
    - s
    - op
    argTypes:
    - uint32_t*
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3414
    functionDepth: 4
    functionLinenumber: 3414
    functionLinenumberEnd: 3443
    functionName: ssl_set_sig_mask
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - ssl_cert_lookup_by_idx
    - tls1_lookup_sigalg
    - tls12_get_psigalgs
    - tls12_sigalg_allowed
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: void
    signature: void ssl_set_sig_mask(uint32_t *pmask_a, SSL_CONNECTION *s, int op)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3453,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3453,1
    - Dst: tls_sigalg_compat
      Src: /src/openssl/ssl/t1_lib.c:3455,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/t1_lib.c:3457,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3463,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:3470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - s
    - pkt
    - psig
    - psiglen
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3445
    functionDepth: 2
    functionLinenumber: 3445
    functionLinenumberEnd: 3472
    functionName: tls12_copy_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u16
    - ERR_raise
    - tls1_lookup_sigalg
    - tls_sigalg_compat
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: "int tls12_copy_sigalgs(SSL_CONNECTION *s, WPACKET *pkt,\n                       const
      uint16_t *psig, size_t psiglen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3484,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3484,1
    - Dst: tls12_sigalg_allowed
      Src: /src/openssl/ssl/t1_lib.c:3488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - s
    - shsig
    - pref
    - preflen
    - allow
    - allowlen
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP**
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3475
    functionDepth: 4
    functionLinenumber: 3475
    functionLinenumberEnd: 3500
    functionName: tls12_shared_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - tls1_lookup_sigalg
    - tls12_sigalg_allowed
    linkageType: ''
    returnType: size_t
    signature: "size_t tls12_shared_sigalgs(SSL_CONNECTION *s,\n                                   const
      SIGALG_LOOKUP **shsig,\n                                   const uint16_t *pref,
      size_t preflen,\n                                   const uint16_t *allow, size_t
      allowlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:3510,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3512,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:3523,1
    - Dst: tls12_shared_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:3535,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:3537,1
    - Dst: tls12_shared_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:3539,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3546
      start: 3503
    functionDepth: 5
    functionLinenumber: 3503
    functionLinenumberEnd: 3546
    functionName: tls1_set_shared_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_suiteb
    - tls12_shared_sigalgs
    - OPENSSL_malloc_array
    - tls12_get_psigalgs
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int tls1_set_shared_sigalgs(SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/t1_lib.c:3554,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:3562,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/t1_lib.c:3564,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3568,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pkt
    - pdest
    - pdestlen
    argTypes:
    - PACKET*
    - uint16_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3548
    functionDepth: 3
    functionLinenumber: 3548
    functionLinenumberEnd: 3577
    functionName: tls1_save_u16
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - OPENSSL_malloc_array
    - PACKET_get_net_2
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int tls1_save_u16(PACKET *pkt, uint16_t **pdest, size_t *pdestlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_lib.c:3582,1
    - Dst: tls1_save_u16
      Src: /src/openssl/ssl/t1_lib.c:3589,1
    - Dst: tls1_save_u16
      Src: /src/openssl/ssl/t1_lib.c:3592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - s
    - pkt
    - cert
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3595
      start: 3579
    functionDepth: 4
    functionLinenumber: 3579
    functionLinenumberEnd: 3595
    functionName: tls1_save_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_save_u16
    - SSL_USE_SIGALGS
    linkageType: ''
    returnType: int
    signature: int tls1_save_sigalgs(SSL_CONNECTION *s, PACKET *pkt, int cert)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls1_set_shared_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:3604,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3615,1
    - Dst: ssl_cert_is_disabled
      Src: /src/openssl/ssl/t1_lib.c:3619,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3599
    functionDepth: 6
    functionLinenumber: 3599
    functionLinenumberEnd: 3623
    functionName: tls1_process_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - tls1_set_shared_sigalgs
    - SSL_CONNECTION_IS_TLS13
    - ssl_cert_is_disabled
    linkageType: ''
    returnType: int
    signature: int tls1_process_sigalgs(SSL_CONNECTION *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_lib.c:3631,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3651,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3651,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - s
    - idx
    - psign
    - phash
    - psignhash
    - rsig
    - rhash
    argTypes:
    - SSL*
    - int
    - int*
    - int*
    - int*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3660
      start: 3625
    functionDepth: 1
    functionLinenumber: 3625
    functionLinenumberEnd: 3660
    functionName: SSL_get_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - tls1_lookup_sigalg
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_get_sigalgs(SSL *s, int idx,\n                    int *psign,
      int *phash, int *psignhash,\n                    unsigned char *rsig, unsigned
      char *rhash)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_lib.c:3667,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 7
    argNames:
    - s
    - idx
    - psign
    - phash
    - psignhash
    - rsig
    - rhash
    argTypes:
    - SSL*
    - int
    - int*
    - int*
    - int*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3662
    functionDepth: 1
    functionLinenumber: 3662
    functionLinenumberEnd: 3689
    functionName: SSL_get_shared_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_get_shared_sigalgs(SSL *s, int idx,\n                           int
      *psign, int *phash, int *psignhash,\n                           unsigned char
      *rsig, unsigned char *rhash)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3703,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3705,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3706,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3708,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3710,1
    - Dst: OBJ_sn2nid
      Src: /src/openssl/ssl/t1_lib.c:3713,1
    - Dst: OBJ_ln2nid
      Src: /src/openssl/ssl/t1_lib.c:3715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - psig
    - phash
    - str
    argTypes:
    - int*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3717
      start: 3701
    functionDepth: 5
    functionLinenumber: 3701
    functionLinenumberEnd: 3717
    functionName: get_sigorhash
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - OBJ_ln2nid
    - OBJ_sn2nid
    - OPENSSL_strcasecmp
    linkageType: ''
    returnType: void
    signature: void get_sigorhash(int *psig, int *phash, const char *str)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:3742,1
    - Dst: strchr
      Src: /src/openssl/ssl/t1_lib.c:3744,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3759,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3760,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:3772,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3775,1
    - Dst: OPENSSL_strcasecmp
      Src: /src/openssl/ssl/t1_lib.c:3776,1
    - Dst: get_sigorhash
      Src: /src/openssl/ssl/t1_lib.c:3787,1
    - Dst: get_sigorhash
      Src: /src/openssl/ssl/t1_lib.c:3788,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:3802,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 80
    argCount: 3
    argNames:
    - elem
    - len
    - arg
    argTypes:
    - char*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3824
      start: 3721
    functionDepth: 6
    functionLinenumber: 3721
    functionLinenumberEnd: 3824
    functionName: sig_cb
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - strchr
    - OPENSSL_strcasecmp
    - memcpy
    - get_sigorhash
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int sig_cb(const char *elem, int len, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CONF_parse_list
      Src: /src/openssl/ssl/t1_lib.c:3837,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/t1_lib.c:3840,1
    - Dst: tls1_set_raw_sigalgs
      Src: /src/openssl/ssl/t1_lib.c:3846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - c
    - str
    - client
    argTypes:
    - SSL_CTX*
    - CERT*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3847
      start: 3830
    functionDepth: 1
    functionLinenumber: 3830
    functionLinenumberEnd: 3847
    functionName: tls1_set_sigalgs_list
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 3
    functionsReached:
    - tls1_set_raw_sigalgs
    - CONF_parse_list
    - ERR_raise_data
    linkageType: ''
    returnType: int
    signature: int tls1_set_sigalgs_list(SSL_CTX *ctx, CERT *c, const char *str, int
      client)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:3854,1
    - Dst: memcpy
      Src: /src/openssl/ssl/t1_lib.c:3856,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3859,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - c
    - psigs
    - salglen
    - client
    argTypes:
    - CERT*
    - uint16_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3849
    functionDepth: 0
    functionLinenumber: 3849
    functionLinenumberEnd: 3869
    functionName: tls1_set_raw_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - memcpy
    - OPENSSL_malloc_array
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int tls1_set_raw_sigalgs(CERT *c, const uint16_t *psigs, size_t salglen,\n
      \                    int client)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/t1_lib.c:3878,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:3886,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/t1_lib.c:3894,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3899,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3903,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:3911,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - c
    - psig_nids
    - salglen
    - client
    argTypes:
    - CERT*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3913
      start: 3871
    functionDepth: 0
    functionLinenumber: 3871
    functionLinenumberEnd: 3913
    functionName: tls1_set_sigalgs
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - OPENSSL_malloc_array
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int tls1_set_sigalgs(CERT *c, const int *psig_nids, size_t salglen,
      int client)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_self_signed
      Src: /src/openssl/ssl/t1_lib.c:3932,1
    - Dst: X509_get_signature_nid
      Src: /src/openssl/ssl/t1_lib.c:3934,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:3938,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:3953,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:3953,1
    - Dst: OBJ_find_sigid_algs
      Src: /src/openssl/ssl/t1_lib.c:3974,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - s
    - x
    - default_nid
    argTypes:
    - SSL_CONNECTION*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3980
      start: 3915
    functionDepth: 4
    functionLinenumber: 3915
    functionLinenumberEnd: 3980
    functionName: tls1_check_sig_alg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - tls1_lookup_sigalg
    - X509_self_signed
    - OBJ_find_sigid_algs
    - SSL_CONNECTION_GET_CTX
    - X509_get_signature_nid
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int tls1_check_sig_alg(SSL_CONNECTION *s, X509 *x, int default_nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4277,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4278,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4279,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4280,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4281,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4282,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4283,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4284,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/t1_lib.c:4285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4286
      start: 4275
    functionDepth: 0
    functionLinenumber: 4275
    functionLinenumberEnd: 4286
    functionName: tls1_set_cert_validity
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - tls1_check_chain
    linkageType: ''
    returnType: void
    signature: void tls1_set_cert_validity(SSL_CONNECTION *s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4307,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/t1_lib.c:4318,1
    - Dst: ssl_get_security_level_bits
      Src: /src/openssl/ssl/t1_lib.c:4323,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_lib.c:4323,1
    - Dst: BN_get_rfc3526_prime_8192
      Src: /src/openssl/ssl/t1_lib.c:4329,1
    - Dst: BN_get_rfc3526_prime_4096
      Src: /src/openssl/ssl/t1_lib.c:4331,1
    - Dst: BN_get_rfc3526_prime_3072
      Src: /src/openssl/ssl/t1_lib.c:4333,1
    - Dst: BN_get_rfc3526_prime_2048
      Src: /src/openssl/ssl/t1_lib.c:4335,1
    - Dst: BN_get_rfc2409_prime_1024
      Src: /src/openssl/ssl/t1_lib.c:4337,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/ssl/t1_lib.c:4341,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/ssl/t1_lib.c:4343,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/ssl/t1_lib.c:4346,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/ssl/t1_lib.c:4348,1
    - Dst: OSSL_PARAM_BLD_push_uint
      Src: /src/openssl/ssl/t1_lib.c:4349,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/ssl/t1_lib.c:4352,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/ssl/t1_lib.c:4354,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/ssl/t1_lib.c:4358,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/ssl/t1_lib.c:4359,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:4360,1
    - Dst: BN_free
      Src: /src/openssl/ssl/t1_lib.c:4361,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4363
      start: 4299
    functionDepth: 6
    functionLinenumber: 4299
    functionLinenumberEnd: 4363
    functionName: ssl_get_auto_dh
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - BN_get_rfc3526_prime_2048
    - ssl_get_security_level_bits
    - OSSL_PARAM_free
    - BN_get_rfc3526_prime_4096
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_uint
    - BN_get_rfc3526_prime_3072
    - BN_get_rfc2409_prime_1024
    - EVP_PKEY_CTX_free
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - BN_get_rfc3526_prime_8192
    - EVP_PKEY_fromdata
    - SSL_CONNECTION_GET_SSL
    - EVP_PKEY_get_security_bits
    - SSL_CONNECTION_GET_CTX
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_new_from_name
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *ssl_get_auto_dh(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/ssl/t1_lib.c:4369,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/t1_lib.c:4378,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:4381,1
    - Dst: ssl_ctx_security
      Src: /src/openssl/ssl/t1_lib.c:4383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - s
    - ctx
    - x
    - op
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4365
    functionDepth: 2
    functionLinenumber: 4365
    functionLinenumberEnd: 4384
    functionName: ssl_security_cert_key
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_security
    - EVP_PKEY_get_security_bits
    - ssl_ctx_security
    - X509_get0_pubkey
    linkageType: ''
    returnType: int
    signature: "int ssl_security_cert_key(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x,\n
      \                                int op)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_extension_flags
      Src: /src/openssl/ssl/t1_lib.c:4393,1
    - Dst: X509_get_signature_info
      Src: /src/openssl/ssl/t1_lib.c:4395,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/t1_lib.c:4401,1
    - Dst: ssl_ctx_security
      Src: /src/openssl/ssl/t1_lib.c:4403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - s
    - ctx
    - x
    - op
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4404
      start: 4386
    functionDepth: 5
    functionLinenumber: 4386
    functionLinenumberEnd: 4404
    functionName: ssl_security_cert_sig
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_security
    - ssl_ctx_security
    - X509_get_signature_info
    - X509_get_extension_flags
    linkageType: ''
    returnType: int
    signature: "int ssl_security_cert_sig(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x,\n
      \                                int op)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_security_cert_key
      Src: /src/openssl/ssl/t1_lib.c:4412,1
    - Dst: ssl_security_cert_key
      Src: /src/openssl/ssl/t1_lib.c:4415,1
    - Dst: ssl_security_cert_sig
      Src: /src/openssl/ssl/t1_lib.c:4418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - s
    - ctx
    - x
    - vfy
    - is_ee
    argTypes:
    - SSL_CONNECTION*
    - SSL_CTX*
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4406
    functionDepth: 6
    functionLinenumber: 4406
    functionLinenumberEnd: 4421
    functionName: ssl_security_cert
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 4
    functionsReached:
    - ssl_security_cert_key
    - ssl_security_cert_sig
    linkageType: ''
    returnType: int
    signature: "int ssl_security_cert(SSL_CONNECTION *s, SSL_CTX *ctx, X509 *x, int
      vfy,\n                      int is_ee)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cert_lookup_by_idx
      Src: /src/openssl/ssl/t1_lib.c:4464,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4465,1
    - Dst: tls12_rpk_and_privkey
      Src: /src/openssl/ssl/t1_lib.c:4475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - lu
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4479
      start: 4460
    functionDepth: 1
    functionLinenumber: 4460
    functionLinenumberEnd: 4479
    functionName: tls12_get_cert_sigalg_idx
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_cert_lookup_by_idx
    - SSL_CONNECTION_GET_CTX
    - tls12_rpk_and_privkey
    linkageType: ''
    returnType: int
    signature: "int tls12_get_cert_sigalg_idx(const SSL_CONNECTION *s,\n                                     const
      SIGALG_LOOKUP *lu)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4494,1
    - Dst: OBJ_nid2sn
      Src: /src/openssl/ssl/t1_lib.c:4501,1
    - Dst: EVP_PKEY_digestsign_supports_digest
      Src: /src/openssl/ssl/t1_lib.c:4502,1
    - Dst: X509_get_signature_info
      Src: /src/openssl/ssl/t1_lib.c:4513,1
    - Dst: tls1_lookup_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4516,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - s
    - sig
    - x
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP*
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4538
      start: 4487
    functionDepth: 6
    functionLinenumber: 4487
    functionLinenumberEnd: 4538
    functionName: check_cert_usable
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - X509_get_signature_info
    - OBJ_nid2sn
    - tls1_lookup_sigalg
    - EVP_PKEY_digestsign_supports_digest
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: int
    signature: "int check_cert_usable(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig,\n
      \                            X509 *x, EVP_PKEY *pkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/t1_lib.c:4552,1
    - Dst: check_cert_usable
      Src: /src/openssl/ssl/t1_lib.c:4555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - sig
    - idx
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4557
      start: 4547
    functionDepth: 7
    functionLinenumber: 4547
    functionLinenumberEnd: 4557
    functionName: has_usable_cert
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_has_cert
    - check_cert_usable
    linkageType: ''
    returnType: int
    signature: int has_usable_cert(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig, int
      idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/t1_lib.c:4568,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4568,1
    - Dst: check_cert_usable
      Src: /src/openssl/ssl/t1_lib.c:4575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - s
    - sig
    - x
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - SIGALG_LOOKUP*
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4576
      start: 4563
    functionDepth: 7
    functionLinenumber: 4563
    functionLinenumberEnd: 4576
    functionName: is_cert_usable
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - ssl_cert_lookup_by_pkey
    - check_cert_usable
    linkageType: ''
    returnType: int
    signature: "int is_cert_usable(SSL_CONNECTION *s, const SIGALG_LOOKUP *sig, X509
      *x,\n                          EVP_PKEY *pkey)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4590,1
    - Dst: tls_sigalg_compat
      Src: /src/openssl/ssl/t1_lib.c:4600,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/t1_lib.c:4604,1
    - Dst: has_usable_cert
      Src: /src/openssl/ssl/t1_lib.c:4606,1
    - Dst: is_cert_usable
      Src: /src/openssl/ssl/t1_lib.c:4607,1
    - Dst: ssl_get_EC_curve_nid
      Src: /src/openssl/ssl/t1_lib.c:4615,1
    - Dst: rsa_pss_check_min_key_size
      Src: /src/openssl/ssl/t1_lib.c:4620,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 25
    argCount: 3
    argNames:
    - s
    - x
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - X509*
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4630
      start: 4583
    functionDepth: 8
    functionLinenumber: 4583
    functionLinenumberEnd: 4630
    functionName: find_sig_alg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - ssl_get_EC_curve_nid
    - rsa_pss_check_min_key_size
    - is_cert_usable
    - tls1_lookup_md
    - tls_sigalg_compat
    - SSL_CONNECTION_GET_CTX
    - has_usable_cert
    linkageType: ''
    returnType: SIGALG_LOOKUP
    signature: "SIGALG_LOOKUP *find_sig_alg(SSL_CONNECTION *s, X509 *x,\n                                         EVP_PKEY
      *pkey)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_lib.c:4651,1
    - Dst: find_sig_alg
      Src: /src/openssl/ssl/t1_lib.c:4652,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4656,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/t1_lib.c:4664,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_lib.c:4667,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_lib.c:4671,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/t1_lib.c:4674,1
    - Dst: ssl_get_EC_curve_nid
      Src: /src/openssl/ssl/t1_lib.c:4675,1
    - Dst: tls_sigalg_compat
      Src: /src/openssl/ssl/t1_lib.c:4685,1
    - Dst: tls12_get_cert_sigalg_idx
      Src: /src/openssl/ssl/t1_lib.c:4688,1
    - Dst: has_usable_cert
      Src: /src/openssl/ssl/t1_lib.c:4698,1
    - Dst: rsa_pss_check_min_key_size
      Src: /src/openssl/ssl/t1_lib.c:4704,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4719,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4722,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4734,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4745,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4748,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/t1_lib.c:4754,1
    - Dst: has_usable_cert
      Src: /src/openssl/ssl/t1_lib.c:4757,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4763,1
    - Dst: tls1_get_legacy_sigalg
      Src: /src/openssl/ssl/t1_lib.c:4769,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/t1_lib.c:4772,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 92
    argCount: 2
    argNames:
    - s
    - fatalerrs
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4784
      start: 4643
    functionDepth: 9
    functionLinenumber: 4643
    functionLinenumberEnd: 4784
    functionName: tls_choose_sigalg
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - SSL_USE_SIGALGS
    - SSLfatal
    - ssl_get_EC_curve_nid
    - tls1_suiteb
    - find_sig_alg
    - rsa_pss_check_min_key_size
    - tls1_get_legacy_sigalg
    - tls12_get_cert_sigalg_idx
    - ssl_has_cert
    - tls12_get_psigalgs
    - tls_sigalg_compat
    - SSL_CONNECTION_GET_CTX
    - has_usable_cert
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int tls_choose_sigalg(SSL_CONNECTION *s, int fatalerrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_MAX_FRAGMENT_LENGTH_EXT_VALID
      Src: /src/openssl/ssl/t1_lib.c:4789,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:4790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - mode
    argTypes:
    - SSL_CTX*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4786
    functionDepth: 1
    functionLinenumber: 4786
    functionLinenumberEnd: 4796
    functionName: SSL_CTX_set_tlsext_max_fragment_length
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 3
    functionsReached:
    - ERR_raise
    - IS_MAX_FRAGMENT_LENGTH_EXT_VALID
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_tlsext_max_fragment_length(SSL_CTX *ctx, uint8_t mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_lib.c:4800,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/t1_lib.c:4803,1
    - Dst: IS_MAX_FRAGMENT_LENGTH_EXT_VALID
      Src: /src/openssl/ssl/t1_lib.c:4807,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/t1_lib.c:4808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ssl
    - mode
    argTypes:
    - SSL*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4814
      start: 4798
    functionDepth: 1
    functionLinenumber: 4798
    functionLinenumberEnd: 4814
    functionName: SSL_set_tlsext_max_fragment_length
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    - IS_MAX_FRAGMENT_LENGTH_EXT_VALID
    - IS_QUIC
    linkageType: ''
    returnType: int
    signature: int SSL_set_tlsext_max_fragment_length(SSL *ssl, uint8_t mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - session
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4821
      start: 4816
    functionDepth: 0
    functionLinenumber: 4816
    functionLinenumberEnd: 4821
    functionName: SSL_SESSION_get_max_fragment_length
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSL_SESSION_get_max_fragment_length(const SSL_SESSION *session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/t1_lib.c:4828,1
    - Dst: ssl_hmac_old_new
      Src: /src/openssl/ssl/t1_lib.c:4836,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/ssl/t1_lib.c:4841,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/ssl/t1_lib.c:4842,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/ssl/t1_lib.c:4844,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:4847,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/ssl/t1_lib.c:4848,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:4849,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4851
      start: 4826
    functionDepth: 10
    functionLinenumber: 4826
    functionLinenumberEnd: 4851
    functionName: ssl_hmac_new
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_MAC_CTX_free
    - OPENSSL_zalloc
    - EVP_MAC_free
    - OPENSSL_free
    - EVP_MAC_fetch
    - ssl_hmac_old_new
    linkageType: ''
    returnType: SSL_HMAC
    signature: SSL_HMAC *ssl_hmac_new(const SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/ssl/t1_lib.c:4856,1
    - Dst: ssl_hmac_old_free
      Src: /src/openssl/ssl/t1_lib.c:4858,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_lib.c:4860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4862
      start: 4853
    functionDepth: 10
    functionLinenumber: 4853
    functionLinenumberEnd: 4862
    functionName: ssl_hmac_free
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_free
    - ssl_hmac_old_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ssl_hmac_free(SSL_HMAC *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4867
      start: 4864
    functionDepth: 0
    functionLinenumber: 4864
    functionLinenumberEnd: 4867
    functionName: ssl_hmac_get0_EVP_MAC_CTX
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_MAC_CTX
    signature: EVP_MAC_CTX *ssl_hmac_get0_EVP_MAC_CTX(SSL_HMAC *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/t1_lib.c:4874,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/t1_lib.c:4875,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/ssl/t1_lib.c:4876,1
    - Dst: ssl_hmac_old_init
      Src: /src/openssl/ssl/t1_lib.c:4881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - key
    - len
    - md
    argTypes:
    - SSL_HMAC*
    - void*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4884
      start: 4869
    functionDepth: 13
    functionLinenumber: 4869
    functionLinenumberEnd: 4884
    functionName: ssl_hmac_init
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 2
    functionsReached:
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - ssl_hmac_old_init
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: int ssl_hmac_init(SSL_HMAC *ctx, void *key, size_t len, char *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_update
      Src: /src/openssl/ssl/t1_lib.c:4889,1
    - Dst: ssl_hmac_old_update
      Src: /src/openssl/ssl/t1_lib.c:4892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - SSL_HMAC*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4895
      start: 4886
    functionDepth: 5
    functionLinenumber: 4886
    functionLinenumberEnd: 4895
    functionName: ssl_hmac_update
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ssl_hmac_old_update
    - EVP_MAC_update
    linkageType: ''
    returnType: int
    signature: int ssl_hmac_update(SSL_HMAC *ctx, const unsigned char *data, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_final
      Src: /src/openssl/ssl/t1_lib.c:4901,1
    - Dst: ssl_hmac_old_final
      Src: /src/openssl/ssl/t1_lib.c:4904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - md
    - len
    - max_size
    argTypes:
    - SSL_HMAC*
    - unsigned char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4897
    functionDepth: 10
    functionLinenumber: 4897
    functionLinenumberEnd: 4907
    functionName: ssl_hmac_final
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ssl_hmac_old_final
    - EVP_MAC_final
    linkageType: ''
    returnType: int
    signature: "int ssl_hmac_final(SSL_HMAC *ctx, unsigned char *md, size_t *len,\n
      \                  size_t max_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/ssl/t1_lib.c:4912,1
    - Dst: ssl_hmac_old_size
      Src: /src/openssl/ssl/t1_lib.c:4915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_HMAC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4918
      start: 4909
    functionDepth: 4
    functionLinenumber: 4909
    functionLinenumberEnd: 4918
    functionName: ssl_hmac_size
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 1
    functionsReached:
    - ssl_hmac_old_size
    - EVP_MAC_CTX_get_mac_size
    linkageType: ''
    returnType: size_t
    signature: size_t ssl_hmac_size(const SSL_HMAC *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_group_name
      Src: /src/openssl/ssl/t1_lib.c:4924,1
    - Dst: OBJ_txt2nid
      Src: /src/openssl/ssl/t1_lib.c:4925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4928
      start: 4920
    functionDepth: 8
    functionLinenumber: 4920
    functionLinenumberEnd: 4928
    functionName: ssl_get_EC_curve_nid
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 4
    functionsReached:
    - EVP_PKEY_get_group_name
    - OBJ_txt2nid
    linkageType: ''
    returnType: int
    signature: int ssl_get_EC_curve_nid(const EVP_PKEY *pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/t1_lib.c:4934,1
    - Dst: EVP_PKEY_get_bits
      Src: /src/openssl/ssl/t1_lib.c:4935,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/t1_lib.c:4940,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/ssl/t1_lib.c:4946,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pkey
    - enckey
    - enckeylen
    argTypes:
    - EVP_PKEY*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4947
      start: 4930
    functionDepth: 10
    functionLinenumber: 4930
    functionLinenumberEnd: 4947
    functionName: tls13_set_encoded_pub_key
    functionSourceFile: /src/openssl/ssl/t1_lib.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bits
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_is_a
    linkageType: ''
    returnType: __owur
    signature: "__owur tls13_set_encoded_pub_key(EVP_PKEY *pkey,\n                                     const
      unsigned char *enckey,\n                                     size_t enckeylen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:38,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:39,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:40,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:41,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:42,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:43,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:44,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:45,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:46,1
    - Dst: memset
      Src: /src/openssl/ssl/tls_srp.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: ssl_ctx_srp_ctx_free_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - BN_free
    - memset
    linkageType: ''
    returnType: int
    signature: int ssl_ctx_srp_ctx_free_intern(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ctx_srp_ctx_free_intern
      Src: /src/openssl/ssl/tls_srp.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: SSL_CTX_SRP_CTX_free
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - ssl_ctx_srp_ctx_free_intern
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:65,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:66,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:67,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:68,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:69,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:70,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:71,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:72,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:73,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:74,1
    - Dst: memset
      Src: /src/openssl/ssl/tls_srp.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: ssl_srp_ctx_free_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - BN_free
    - memset
    linkageType: ''
    returnType: int
    signature: int ssl_srp_ctx_free_intern(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:82,1
    - Dst: ssl_srp_ctx_free_intern
      Src: /src/openssl/ssl/tls_srp.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: SSL_SRP_CTX_free
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - ssl_srp_ctx_free_intern
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_SRP_CTX_free(SSL *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:96,1
    - Dst: memset
      Src: /src/openssl/ssl/tls_srp.c:99,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:115,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:117,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:119,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:121,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:123,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:125,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:127,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:129,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_srp.c:130,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/tls_srp.c:134,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_srp.c:135,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/tls_srp.c:139,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls_srp.c:140,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:148,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:149,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:150,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:151,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:152,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:153,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:154,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:155,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:156,1
    - Dst: memset
      Src: /src/openssl/ssl/tls_srp.c:157,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 159
    functionName: ssl_srp_ctx_init_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - memset
    - ERR_raise
    - BN_dup
    - OPENSSL_free
    - OPENSSL_strdup
    - SSL_CONNECTION_GET_CTX
    - BN_free
    linkageType: ''
    returnType: int
    signature: int ssl_srp_ctx_init_intern(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:163,1
    - Dst: ssl_srp_ctx_init_intern
      Src: /src/openssl/ssl/tls_srp.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 5
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: SSL_SRP_CTX_init
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - ssl_srp_ctx_init_intern
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_SRP_CTX_init(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/tls_srp.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: ssl_ctx_srp_ctx_init_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int ssl_ctx_srp_ctx_init_intern(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ctx_srp_ctx_init_intern
      Src: /src/openssl/ssl/tls_srp.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: SSL_CTX_SRP_CTX_init
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - ssl_ctx_srp_ctx_init_intern
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:198,1
    - Dst: SSL_CONNECTION*::srp_ctx::TLS_ext_srp_username_callback
      Src: /src/openssl/ssl/tls_srp.c:203,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/tls_srp.c:203,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/tls_srp.c:215,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:215,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/tls_srp.c:218,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls_srp.c:219,1
    - Dst: SRP_Calc_B_ex
      Src: /src/openssl/ssl/tls_srp.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - s
    - ad
    argTypes:
    - SSL_CONNECTION*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 194
    functionDepth: 13
    functionLinenumber: 194
    functionLinenumberEnd: 227
    functionName: ssl_srp_server_param_with_username_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - RAND_priv_bytes_ex
    - BN_bin2bn
    - SSL_CONNECTION*::srp_ctx::TLS_ext_srp_username_callback
    - SSL_CONNECTION_GET_USER_SSL
    - SRP_Calc_B_ex
    - SSL_CONNECTION_GET_CTX
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int ssl_srp_server_param_with_username_intern(SSL_CONNECTION *s, int
      *ad)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:231,1
    - Dst: ssl_srp_server_param_with_username_intern
      Src: /src/openssl/ssl/tls_srp.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - ad
    argTypes:
    - SSL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 14
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: SSL_srp_server_param_with_username
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - ssl_srp_server_param_with_username_intern
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_srp_server_param_with_username(SSL *s, int *ad)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:247,1
    - Dst: SRP_get_default_gN
      Src: /src/openssl/ssl/tls_srp.c:252,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:255,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:256,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:257,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:259,1
    - Dst: SRP_create_verifier_BN_ex
      Src: /src/openssl/ssl/tls_srp.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - s
    - user
    - pass
    - grp
    argTypes:
    - SSL*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 267
    functionName: SSL_set_srp_server_param_pw
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - BN_clear_free
    - SRP_create_verifier_BN_ex
    - SRP_get_default_gN
    - BN_dup
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char
      *pass,\n                                const char *grp)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:272,1
    - Dst: BN_copy
      Src: /src/openssl/ssl/tls_srp.c:279,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:280,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:284,1
    - Dst: BN_copy
      Src: /src/openssl/ssl/tls_srp.c:288,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:289,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:293,1
    - Dst: BN_copy
      Src: /src/openssl/ssl/tls_srp.c:297,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:298,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:302,1
    - Dst: BN_copy
      Src: /src/openssl/ssl/tls_srp.c:306,1
    - Dst: BN_free
      Src: /src/openssl/ssl/tls_srp.c:307,1
    - Dst: BN_dup
      Src: /src/openssl/ssl/tls_srp.c:311,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls_srp.c:315,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/tls_srp.c:316,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 6
    argNames:
    - s
    - N
    - g
    - sa
    - v
    - info
    argTypes:
    - SSL*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 325
    functionName: SSL_set_srp_server_param
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 2
    functionsReached:
    - BN_dup
    - OPENSSL_free
    - OPENSSL_strdup
    - BN_copy
    - BN_free
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM
      *g,\n                             BIGNUM *sa, BIGNUM *v, char *info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:332,1
    - Dst: SRP_Verify_A_mod_N
      Src: /src/openssl/ssl/tls_srp.c:334,1
    - Dst: SRP_Calc_u_ex
      Src: /src/openssl/ssl/tls_srp.c:336,1
    - Dst: SRP_Calc_server_key
      Src: /src/openssl/ssl/tls_srp.c:339,1
    - Dst: BN_num_bytes
      Src: /src/openssl/ssl/tls_srp.c:343,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/tls_srp.c:344,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:345,1
    - Dst: BN_bn2bin
      Src: /src/openssl/ssl/tls_srp.c:348,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/tls_srp.c:350,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:352,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 327
    functionDepth: 12
    functionLinenumber: 327
    functionLinenumberEnd: 355
    functionName: srp_generate_server_master_secret
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - BN_num_bytes
    - BN_bn2bin
    - ssl_generate_master_secret
    - BN_clear_free
    - SRP_Verify_A_mod_N
    - SRP_Calc_u_ex
    - SSL_CONNECTION_GET_CTX
    - SRP_Calc_server_key
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int srp_generate_server_master_secret(SSL_CONNECTION *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:364,1
    - Dst: SRP_Verify_B_mod_N
      Src: /src/openssl/ssl/tls_srp.c:369,1
    - Dst: SRP_Calc_u_ex
      Src: /src/openssl/ssl/tls_srp.c:370,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:374,1
    - Dst: SSL_CONNECTION*::srp_ctx::SRP_give_srp_client_pwd_callback
      Src: /src/openssl/ssl/tls_srp.c:377,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/tls_srp.c:377,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:380,1
    - Dst: SRP_Calc_x_ex
      Src: /src/openssl/ssl/tls_srp.c:383,1
    - Dst: SRP_Calc_client_key_ex
      Src: /src/openssl/ssl/tls_srp.c:385,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:390,1
    - Dst: BN_num_bytes
      Src: /src/openssl/ssl/tls_srp.c:394,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/tls_srp.c:395,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:396,1
    - Dst: BN_bn2bin
      Src: /src/openssl/ssl/tls_srp.c:399,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/tls_srp.c:401,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:403,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:404,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/tls_srp.c:406,1
    - Dst: strlen
      Src: /src/openssl/ssl/tls_srp.c:406,1
    - Dst: BN_clear_free
      Src: /src/openssl/ssl/tls_srp.c:407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 358
    functionDepth: 13
    functionLinenumber: 358
    functionLinenumberEnd: 409
    functionName: srp_generate_client_master_secret
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION*::srp_ctx::SRP_give_srp_client_pwd_callback
    - SRP_Verify_B_mod_N
    - BN_num_bytes
    - BN_bn2bin
    - ssl_generate_master_secret
    - BN_clear_free
    - OPENSSL_clear_free
    - SSL_CONNECTION_GET_USER_SSL
    - SRP_Calc_client_key_ex
    - SRP_Calc_u_ex
    - SSL_CONNECTION_GET_CTX
    - strlen
    - SRP_Calc_x_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int srp_generate_client_master_secret(SSL_CONNECTION *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BN_ucmp
      Src: /src/openssl/ssl/tls_srp.c:418,1
    - Dst: BN_ucmp
      Src: /src/openssl/ssl/tls_srp.c:418,1
    - Dst: BN_is_zero
      Src: /src/openssl/ssl/tls_srp.c:419,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:420,1
    - Dst: BN_num_bits
      Src: /src/openssl/ssl/tls_srp.c:424,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:425,1
    - Dst: SRP_CTX*::SRP_verify_param_callback
      Src: /src/openssl/ssl/tls_srp.c:430,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/tls_srp.c:430,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:432,1
    - Dst: SRP_check_known_gN_param
      Src: /src/openssl/ssl/tls_srp.c:435,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls_srp.c:436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 442
    functionName: srp_verify_server_param
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - BN_is_zero
    - SRP_check_known_gN_param
    - SSL_CONNECTION_GET_USER_SSL
    - BN_ucmp
    - SRP_CTX*::SRP_verify_param_callback
    - BN_num_bits
    linkageType: ''
    returnType: int
    signature: int srp_verify_server_param(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/tls_srp.c:452,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls_srp.c:452,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/tls_srp.c:455,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls_srp.c:456,1
    - Dst: SRP_Calc_A
      Src: /src/openssl/ssl/tls_srp.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 448
    functionDepth: 7
    functionLinenumber: 448
    functionLinenumberEnd: 462
    functionName: ssl_srp_calc_a_param_intern
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - RAND_priv_bytes_ex
    - BN_bin2bn
    - SRP_Calc_A
    - SSL_CONNECTION_GET_CTX
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int ssl_srp_calc_a_param_intern(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:466,1
    - Dst: ssl_srp_calc_a_param_intern
      Src: /src/openssl/ssl/tls_srp.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 464
    functionDepth: 8
    functionLinenumber: 464
    functionLinenumberEnd: 472
    functionName: SRP_Calc_A_param
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - ssl_srp_calc_a_param_intern
    linkageType: ''
    returnType: int
    signature: int SRP_Calc_A_param(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: SSL_get_srp_g
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *SSL_get_srp_g(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: SSL_get_srp_N
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: BIGNUM
    signature: BIGNUM *SSL_get_srp_N(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: SSL_get_srp_username
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_get_srp_username(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/tls_srp.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: SSL_get_srp_userinfo
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_get_srp_userinfo(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_ctx_ctrl
      Src: /src/openssl/ssl/tls_srp.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - name
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: SSL_CTX_set_srp_username
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 3
    functionsReached:
    - tls1_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_srp_username(SSL_CTX *ctx, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_ctx_ctrl
      Src: /src/openssl/ssl/tls_srp.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - password
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: SSL_CTX_set_srp_password
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - tls1_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_srp_password(SSL_CTX *ctx, char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_ctx_ctrl
      Src: /src/openssl/ssl/tls_srp.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - strength
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: SSL_CTX_set_srp_strength
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - tls1_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_ctx_callback_ctrl
      Src: /src/openssl/ssl/tls_srp.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: SSL_CTX_set_srp_verify_param_callback
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 1
    functionsReached:
    - tls1_ctx_callback_ctrl
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx,\n                                          int
      (*cb) (SSL *, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_ctx_ctrl
      Src: /src/openssl/ssl/tls_srp.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - SSL_CTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: SSL_CTX_set_srp_cb_arg
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 3
    functionsReached:
    - tls1_ctx_ctrl
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_ctx_callback_ctrl
      Src: /src/openssl/ssl/tls_srp.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: SSL_CTX_set_srp_username_callback
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 3
    functionsReached:
    - tls1_ctx_callback_ctrl
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx,\n                                      int
      (*cb) (SSL *, int *, void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls1_ctx_callback_ctrl
      Src: /src/openssl/ssl/tls_srp.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - (*cb) (SSL *, void *)
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: SSL_CTX_set_srp_client_pwd_callback
    functionSourceFile: /src/openssl/ssl/tls_srp.c
    functionUses: 3
    functionsReached:
    - tls1_ctx_callback_ctrl
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx,\n                                        char
      *(*cb) (SSL *, void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/openssl/ssl/ssl_txt.c:23,1
    - Dst: BIO_s_file
      Src: /src/openssl/ssl/ssl_txt.c:23,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_txt.c:24,1
    - Dst: BIO_set_fp
      Src: /src/openssl/ssl/ssl_txt.c:27,1
    - Dst: SSL_SESSION_print
      Src: /src/openssl/ssl/ssl_txt.c:28,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/ssl_txt.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - x
    argTypes:
    - FILE*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: SSL_SESSION_print_fp
    functionSourceFile: /src/openssl/ssl/ssl_txt.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - BIO_set_fp
    - ERR_raise
    - BIO_free
    - BIO_s_file
    - SSL_SESSION_print
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *x)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:43,1
    - Dst: ssl_protocol_to_string
      Src: /src/openssl/ssl/ssl_txt.c:45,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:46,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:51,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:55,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:60,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:65,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:68,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:71,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:74,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:78,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:80,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:83,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:87,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:89,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:91,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:93,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:98,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:104,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:110,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/ssl_txt.c:112,1
    - Dst: ssl_cipher_get_evp
      Src: /src/openssl/ssl/ssl_txt.c:121,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:124,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:127,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/ssl_txt.c:133,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:134,1
    - Dst: ossl_time_to_time_t
      Src: /src/openssl/ssl/ssl_txt.c:135,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/ssl_txt.c:138,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:139,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/ssl_txt.c:140,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:143,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:146,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:148,1
    - Dst: X509_verify_cert_error_string
      Src: /src/openssl/ssl/ssl_txt.c:149,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:152,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:157,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 132
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 165
    functionName: SSL_SESSION_print
    functionSourceFile: /src/openssl/ssl/ssl_txt.c
    functionUses: 5
    functionsReached:
    - ssl_protocol_to_string
    - BIO_puts
    - ossl_time_to_time_t
    - ssl_cipher_get_evp
    - X509_verify_cert_error_string
    - BIO_dump_indent
    - ossl_time_is_zero
    - ossl_time2seconds
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:185,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:188,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:191,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:194,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/ssl_txt.c:197,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/ssl_txt.c:200,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 2
    argNames:
    - bp
    - x
    argTypes:
    - BIO*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 206
    functionName: SSL_SESSION_print_keylog
    functionSourceFile: /src/openssl/ssl/ssl_txt.c
    functionUses: 1
    functionsReached:
    - BIO_puts
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_print_keylog(BIO *bp, const SSL_SESSION *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: dtls_ver_ordinal
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtls_ver_ordinal(v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: DTLS_VERSION_GT
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTLS_VERSION_GT(v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: DTLS_VERSION_GE
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTLS_VERSION_GE(v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: DTLS_VERSION_LT
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTLS_VERSION_LT(v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: DTLS_VERSION_LE
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTLS_VERSION_LE(v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: SSL_CONNECTION_IS_DTLS
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_IS_DTLS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: SSL_CTX_IS_DTLS
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CTX_IS_DTLS(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: SSL_CONNECTION_IS_TLS13
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_IS_TLS13(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: SSL_CONNECTION_TREAT_AS_TLS13
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_CONNECTION_TREAT_AS_TLS13(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: SSL_IS_FIRST_HANDSHAKE
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_IS_FIRST_HANDSHAKE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: SSL_USE_SIGALGS
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_USE_SIGALGS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: SSL_USE_TLS1_2_CIPHERS
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_USE_TLS1_2_CIPHERS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: IS_MAX_FRAGMENT_LENGTH_EXT_VALID
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_MAX_FRAGMENT_LENGTH_EXT_VALID(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - session
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: USE_MAX_FRAGMENT_LENGTH_EXT
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USE_MAX_FRAGMENT_LENGTH_EXT(session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - session
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: GET_MAX_FRAGMENT_LENGTH
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_MAX_FRAGMENT_LENGTH(session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: SSL_READ_ETM
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_READ_ETM(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: SSL_WRITE_ETM
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_WRITE_ETM(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: SSL_IS_QUIC_HANDSHAKE
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_IS_QUIC_HANDSHAKE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: SSL_IS_QUIC_INT_HANDSHAKE
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_IS_QUIC_INT_HANDSHAKE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: SSL_NO_EOED
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_NO_EOED(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1232
    functionName: SSL_TYPE_IS_QUIC
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_TYPE_IS_QUIC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2031
    functionName: tls1_suiteb
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tls1_suiteb(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pkt
    - ','
    - htype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2181
    functionName: ssl_set_handshake_header
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_set_handshake_header(s, pkt, htype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - pkt
    - ','
    - htype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2183
    functionName: ssl_close_construct_packet
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_close_construct_packet(s, pkt, htype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2184
    functionName: ssl_do_write
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_do_write(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2303
    functionName: SSL_USE_PSS
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_USE_PSS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - version
    - ','
    - flags
    - ','
    - mask
    - ','
    - func_name
    - ','
    - s_accept
    - ','
    - s_connect
    - ','
    - enc_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2387
    functionName: IMPLEMENT_tls_meth_func
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_tls_meth_func(version, flags, mask, func_name, s_accept,
      \\\n                                 s_connect, enc_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - func_name
    - ','
    - s_accept
    - ','
    - s_connect
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2427
    functionName: IMPLEMENT_ssl3_meth_func
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMPLEMENT_ssl3_meth_func(func_name, s_accept, s_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - version
    - ','
    - flags
    - ','
    - mask
    - ','
    - func_name
    - ','
    - s_accept
    - ','
    - s_connect
    - ','
    - enc_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2468
    functionName: IMPLEMENT_dtls1_meth_func
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "IMPLEMENT_dtls1_meth_func(version, flags, mask, func_name, s_accept,
      \\\n                                        s_connect, enc_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - idx
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2485
    functionName: tls12_rpk_and_privkey
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline tls12_rpk_and_privkey(const SSL_CONNECTION *sc, int idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/openssl/ssl/ssl_local.h:2503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - ct
    argTypes:
    - SSL_CONNECTION*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2504
    functionName: ssl_has_cert_type
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ssl_has_cert_type(const SSL_CONNECTION *sc, unsigned char
      ct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_has_cert_type
      Src: /src/openssl/ssl/ssl_local.h:2513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2507
    functionDepth: 1
    functionLinenumber: 2507
    functionLinenumberEnd: 2518
    functionName: ssl_has_cert
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 4
    functionsReached:
    - ssl_has_cert_type
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ssl_has_cert(const SSL_CONNECTION *s, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - pgroups
    - pgroupslen
    argTypes:
    - SSL_CONNECTION*
    - uint16_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2526
    functionName: tls1_get_peer_groups
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline tls1_get_peer_groups(SSL_CONNECTION *s,\n                                             const
      uint16_t **pgroups,\n                                             size_t *pgroupslen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_local.h:3060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3064
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3064
    functionName: ssl_tsan_lock
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_write_lock
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ssl_tsan_lock(const SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_local.h:3069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3071
    functionName: ssl_tsan_unlock
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 1
    functionsReached:
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused ssl_tsan_unlock(const SSL_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tsan_lock
      Src: /src/openssl/ssl/ssl_local.h:3076,1
    - Dst: tsan_counter
      Src: /src/openssl/ssl/ssl_local.h:3077,1
    - Dst: ssl_tsan_unlock
      Src: /src/openssl/ssl/ssl_local.h:3078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - stat
    argTypes:
    - SSL_CTX*
    - TSAN_QUALIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3073
    functionDepth: 1
    functionLinenumber: 3073
    functionLinenumberEnd: 3080
    functionName: ssl_tsan_counter
    functionSourceFile: /src/openssl/ssl/ssl_local.h
    functionUses: 0
    functionsReached:
    - tsan_counter
    - ssl_tsan_unlock
    - ssl_tsan_lock
    linkageType: ''
    returnType: ossl_unused
    signature: "ossl_unused ssl_tsan_counter(const SSL_CTX *ctx,\n                                                     TSAN_QUALIFIER
      int *stat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: ssl_trace_str
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_trace_str(val, tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - bio
    - ','
    - indent
    - ','
    - msg
    - ','
    - msglen
    - ','
    - value
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ssl_trace_list
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ssl_trace_list(bio, indent, msg, msglen, value, table)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - val
    - tbl
    - ntbl
    argTypes:
    - int
    - ssl_trace_tbl*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: do_ssl_trace_str
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *do_ssl_trace_str(int val, const ssl_trace_tbl *tbl,\n                                    size_t
      ntbl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:55,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:56,1
    - Dst: do_ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - bio
    - indent
    - msg
    - msglen
    - vlen
    - tbl
    - ntbl
    argTypes:
    - BIO*
    - int
    - unsigned char*
    - size_t
    - size_t
    - ssl_trace_tbl*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: do_ssl_trace_list
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - do_ssl_trace_str
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int do_ssl_trace_list(BIO *bio, int indent,\n                             const
      unsigned char *msg, size_t msglen,\n                             size_t vlen,
      const ssl_trace_tbl *tbl, size_t ntbl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:664,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:665,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:667,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - bio
    - indent
    - name
    - msg
    - msglen
    argTypes:
    - BIO*
    - int
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 669
    functionName: ssl_print_hex
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: "void ssl_print_hex(BIO *bio, int indent, const char *name,\n                          const
      unsigned char *msg, size_t msglen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - bio
    - indent
    - name
    - nlen
    - pmsg
    - pmsglen
    argTypes:
    - BIO*
    - int
    - char*
    - size_t
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 689
    functionName: ssl_print_hexbuf
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_print_hex
    linkageType: ''
    returnType: int
    signature: "int ssl_print_hexbuf(BIO *bio, int indent, const char *name, size_t
      nlen,\n                            const unsigned char **pmsg, size_t *pmsglen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:702,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:703,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - bio
    - indent
    - name
    - pmsg
    - pmsglen
    - version
    argTypes:
    - BIO*
    - int
    - char*
    - unsigned char**
    - size_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 691
    functionDepth: 4
    functionLinenumber: 691
    functionLinenumberEnd: 708
    functionName: ssl_print_version
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - BIO_indent
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_version(BIO *bio, int indent, const char *name,\n                             const
      unsigned char **pmsg, size_t *pmsglen,\n                             unsigned
      int *version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:723,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:724,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:725,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:726,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - bio
    - indent
    - pmsg
    - pmsglen
    argTypes:
    - BIO*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 710
    functionDepth: 5
    functionLinenumber: 710
    functionLinenumberEnd: 731
    functionName: ssl_print_random
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_indent
    - BIO_printf
    - ssl_print_hex
    linkageType: ''
    returnType: int
    signature: "int ssl_print_random(BIO *bio, int indent,\n                            const
      unsigned char **pmsg, size_t *pmsglen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_trce.c:738,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:742,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:743,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:744,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - bio
    - indent
    - sc
    - pmsg
    - pmsglen
    argTypes:
    - BIO*
    - int
    - SSL_CONNECTION*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 733
    functionDepth: 6
    functionLinenumber: 733
    functionLinenumberEnd: 749
    functionName: ssl_print_signature
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - BIO_indent
    - ssl_print_hexbuf
    - SSL_USE_SIGALGS
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_signature(BIO *bio, int indent, const SSL_CONNECTION
      *sc,\n                               const unsigned char **pmsg, size_t *pmsglen)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:759,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:760,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:761,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:769,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:775,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:783,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:791,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:804,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/t1_trce.c:805,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:806,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:823,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:825,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:826,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:845,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:848,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:851,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:852,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:858,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:867,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:868,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:869,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:893,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:894,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:895,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:896,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:907,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:908,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:909,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:917,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:926,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:938,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:939,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:947,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:954,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_trce.c:957,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 170
    argCount: 7
    argNames:
    - bio
    - indent
    - server
    - mt
    - extype
    - ext
    - extlen
    argTypes:
    - BIO*
    - int
    - int
    - unsigned char
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 751
    functionDepth: 5
    functionLinenumber: 751
    functionLinenumberEnd: 960
    functionName: ssl_print_extension
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_write
    - ssl_print_hex
    - BIO_puts
    - ssl_trace_str
    - BIO_indent
    - BIO_dump_indent
    - ssl_trace_list
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_extension(BIO *bio, int indent, int server,\n                               unsigned
      char mt, int extype,\n                               const unsigned char *ext,
      size_t extlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:969,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:971,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:980,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:987,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:997,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_trce.c:999,1
    - Dst: ssl_print_extension
      Src: /src/openssl/ssl/t1_trce.c:1003,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 6
    argNames:
    - bio
    - indent
    - server
    - mt
    - msgin
    - msginlen
    argTypes:
    - BIO*
    - int
    - int
    - unsigned char
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 962
    functionDepth: 6
    functionLinenumber: 962
    functionLinenumberEnd: 1013
    functionName: ssl_print_extensions
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - BIO_indent
    - BIO_dump_indent
    - ssl_print_extension
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_extensions(BIO *bio, int indent, int server,\n                                unsigned
      char mt, const unsigned char **msgin,\n                                size_t
      *msginlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ssl_print_version
      Src: /src/openssl/ssl/t1_trce.c:1021,1
    - Dst: ssl_print_random
      Src: /src/openssl/ssl/t1_trce.c:1023,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1025,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1027,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1028,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1036,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1037,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1042,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1043,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1044,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1056,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1057,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1059,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1060,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1061,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1066,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 5
    argNames:
    - bio
    - sc
    - indent
    - msg
    - msglen
    argTypes:
    - BIO*
    - SSL_CONNECTION*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1015
    functionDepth: 7
    functionLinenumber: 1015
    functionLinenumberEnd: 1070
    functionName: ssl_print_client_hello
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - ssl_print_extensions
    - ssl_print_version
    - BIO_indent
    - SSL_CONNECTION_IS_DTLS
    - ssl_print_hexbuf
    - ssl_print_random
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_client_hello(BIO *bio, const SSL_CONNECTION *sc, int
      indent,\n                                  const unsigned char *msg, size_t
      msglen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_print_version
      Src: /src/openssl/ssl/t1_trce.c:1075,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - bio
    - indent
    - msg
    - msglen
    argTypes:
    - BIO*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1072
    functionDepth: 6
    functionLinenumber: 1072
    functionLinenumberEnd: 1080
    functionName: dtls_print_hello_vfyrequest
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_print_hexbuf
    - ssl_print_version
    linkageType: ''
    returnType: int
    signature: "int dtls_print_hello_vfyrequest(BIO *bio, int indent,\n                                       const
      unsigned char *msg, size_t msglen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ssl_print_version
      Src: /src/openssl/ssl/t1_trce.c:1088,1
    - Dst: ssl_print_random
      Src: /src/openssl/ssl/t1_trce.c:1090,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1093,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1098,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1099,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1100,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1106,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1107,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1108,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - bio
    - indent
    - msg
    - msglen
    argTypes:
    - BIO*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1082
    functionDepth: 7
    functionLinenumber: 1082
    functionLinenumberEnd: 1116
    functionName: ssl_print_server_hello
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_trace_str
    - ssl_print_extensions
    - ssl_print_version
    - BIO_indent
    - ssl_print_hexbuf
    - ssl_print_random
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_server_hello(BIO *bio, int indent,\n                                  const
      unsigned char *msg, size_t msglen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - pname
    - sc
    argTypes:
    - char**
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1164
    functionName: ssl_get_keyex
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_get_keyex(const char **pname, const SSL_CONNECTION *sc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_keyex
      Src: /src/openssl/ssl/t1_trce.c:1170,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1172,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1173,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1175,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/t1_trce.c:1183,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/t1_trce.c:1183,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1184,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1187,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1195,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1201,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1205,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1209,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - bio
    - indent
    - sc
    - msg
    - msglen
    argTypes:
    - BIO*
    - int
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1166
    functionDepth: 6
    functionLinenumber: 1166
    functionLinenumberEnd: 1216
    functionName: ssl_print_client_keyex
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_print_hex
    - TLS1_get_version
    - ssl_get_keyex
    - SSL_CONNECTION_GET_SSL
    - BIO_indent
    - ssl_print_hexbuf
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_client_keyex(BIO *bio, int indent, const SSL_CONNECTION
      *sc,\n                                  const unsigned char *msg, size_t msglen)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_keyex
      Src: /src/openssl/ssl/t1_trce.c:1222,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1224,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1225,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1227,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1234,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1236,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1243,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1245,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1247,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1255,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1257,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1259,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1265,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1266,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1269,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1272,1
    - Dst: ssl_print_signature
      Src: /src/openssl/ssl/t1_trce.c:1282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 5
    argNames:
    - bio
    - indent
    - sc
    - msg
    - msglen
    argTypes:
    - BIO*
    - int
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1218
    functionDepth: 7
    functionLinenumber: 1218
    functionLinenumberEnd: 1284
    functionName: ssl_print_server_keyex
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_get_keyex
    - BIO_puts
    - ssl_trace_str
    - ssl_print_signature
    - BIO_indent
    - ssl_print_hexbuf
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_server_keyex(BIO *bio, int indent, const SSL_CONNECTION
      *sc,\n                                  const unsigned char *msg, size_t msglen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/t1_trce.c:1293,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1301,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1302,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/t1_trce.c:1303,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/t1_trce.c:1304,1
    - Dst: X509_free
      Src: /src/openssl/ssl/t1_trce.c:1305,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1309,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1311,1
    - Dst: X509_print_ex
      Src: /src/openssl/ssl/t1_trce.c:1312,1
    - Dst: PEM_write_bio_X509
      Src: /src/openssl/ssl/t1_trce.c:1313,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1315,1
    - Dst: X509_free
      Src: /src/openssl/ssl/t1_trce.c:1316,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - bio
    - sc
    - indent
    - pmsg
    - pmsglen
    argTypes:
    - BIO*
    - SSL_CONNECTION*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1286
    functionDepth: 6
    functionLinenumber: 1286
    functionLinenumberEnd: 1324
    functionName: ssl_print_certificate
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - X509_print_ex
    - BIO_puts
    - PEM_write_bio_X509
    - X509_free
    - X509_new_ex
    - BIO_indent
    - SSL_CONNECTION_GET_CTX
    - d2i_X509
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_certificate(BIO *bio, const SSL_CONNECTION *sc, int
      indent,\n                                 const unsigned char **pmsg, size_t
      *pmsglen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1343,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1344,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/ssl/t1_trce.c:1346,1
    - Dst: EVP_PKEY_print_public
      Src: /src/openssl/ssl/t1_trce.c:1349,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/t1_trce.c:1350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - bio
    - ssl
    - server
    - indent
    - pmsg
    - pmsglen
    argTypes:
    - BIO*
    - SSL*
    - int
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1326
    functionDepth: 6
    functionLinenumber: 1326
    functionLinenumberEnd: 1354
    functionName: ssl_print_raw_public_key
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_print_public
    - EVP_PKEY_free
    - BIO_indent
    - d2i_PUBKEY_ex
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_raw_public_key(BIO *bio, const SSL *ssl, int server,\n
      \                                   int indent, const unsigned char **pmsg,\n
      \                                   size_t *pmsglen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1362,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1363,1
    - Dst: ssl_print_raw_public_key
      Src: /src/openssl/ssl/t1_trce.c:1374,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1376,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1377,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1382,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1383,1
    - Dst: ssl_print_certificate
      Src: /src/openssl/ssl/t1_trce.c:1385,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1387,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 6
    argNames:
    - bio
    - sc
    - server
    - indent
    - msg
    - msglen
    argTypes:
    - BIO*
    - SSL_CONNECTION*
    - int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1356
    functionDepth: 7
    functionLinenumber: 1356
    functionLinenumberEnd: 1394
    functionName: ssl_print_certificates
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_print_certificate
    - ssl_print_extensions
    - ssl_print_raw_public_key
    - BIO_indent
    - ssl_print_hexbuf
    - SSL_CONNECTION_IS_TLS13
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_certificates(BIO *bio, const SSL_CONNECTION *sc, int
      server,\n                                  int indent, const unsigned char *msg,\n
      \                                 size_t msglen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1421,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1422,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1422,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1423,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1424,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1425,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1427,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1429,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_trce.c:1431,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/t1_trce.c:1434,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/t1_trce.c:1438,1
    - Dst: COMP_zlib
      Src: /src/openssl/ssl/t1_trce.c:1443,1
    - Dst: COMP_brotli_oneshot
      Src: /src/openssl/ssl/t1_trce.c:1446,1
    - Dst: COMP_zstd_oneshot
      Src: /src/openssl/ssl/t1_trce.c:1449,1
    - Dst: COMP_CTX_new
      Src: /src/openssl/ssl/t1_trce.c:1455,1
    - Dst: COMP_expand_block
      Src: /src/openssl/ssl/t1_trce.c:1456,1
    - Dst: ssl_print_certificates
      Src: /src/openssl/ssl/t1_trce.c:1460,1
    - Dst: COMP_CTX_free
      Src: /src/openssl/ssl/t1_trce.c:1462,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/t1_trce.c:1463,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 6
    argNames:
    - bio
    - sc
    - server
    - indent
    - msg
    - msglen
    argTypes:
    - BIO*
    - SSL_CONNECTION*
    - int
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1396
    functionDepth: 8
    functionLinenumber: 1396
    functionLinenumberEnd: 1466
    functionName: ssl_print_compressed_certificates
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - COMP_zlib
    - COMP_CTX_free
    - COMP_brotli_oneshot
    - ssl_print_certificates
    - ossl_comp_has_alg
    - ssl_trace_str
    - COMP_expand_block
    - OPENSSL_free
    - BIO_indent
    - BIO_dump_indent
    - COMP_CTX_new
    - COMP_zstd_oneshot
    - OPENSSL_malloc
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_compressed_certificates(BIO *bio, const SSL_CONNECTION
      *sc,\n                                             int server, int indent,\n
      \                                            const unsigned char *msg,\n                                             size_t
      msglen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1474,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1475,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1477,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1488,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1489,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:1490,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/t1_trce.c:1495,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1503,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1504,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1506,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1508,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1509,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1519,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1524,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1535,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1536,1
    - Dst: d2i_X509_NAME
      Src: /src/openssl/ssl/t1_trce.c:1538,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1540,1
    - Dst: X509_NAME_print_ex
      Src: /src/openssl/ssl/t1_trce.c:1542,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1543,1
    - Dst: X509_NAME_free
      Src: /src/openssl/ssl/t1_trce.c:1544,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1549,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1550,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 5
    argNames:
    - bio
    - indent
    - sc
    - msg
    - msglen
    argTypes:
    - BIO*
    - int
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1468
    functionDepth: 7
    functionLinenumber: 1468
    functionLinenumberEnd: 1555
    functionName: ssl_print_cert_request
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - SSL_USE_SIGALGS
    - X509_NAME_print_ex
    - X509_NAME_free
    - BIO_puts
    - ssl_trace_str
    - ssl_print_extensions
    - d2i_X509_NAME
    - BIO_indent
    - ssl_print_hexbuf
    - SSL_CONNECTION_IS_TLS13
    - ssl_trace_list
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_cert_request(BIO *bio, int indent, const SSL_CONNECTION
      *sc,\n                                  const unsigned char *msg, size_t msglen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1563,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1564,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1575,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1576,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1577,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1589,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1590,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1591,1
    - Dst: ssl_print_hexbuf
      Src: /src/openssl/ssl/t1_trce.c:1595,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/t1_trce.c:1597,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1598,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - bio
    - indent
    - sc
    - msg
    - msglen
    argTypes:
    - BIO*
    - int
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1557
    functionDepth: 7
    functionLinenumber: 1557
    functionLinenumberEnd: 1604
    functionName: ssl_print_ticket
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - ssl_print_extensions
    - BIO_indent
    - ssl_print_hexbuf
    - SSL_CONNECTION_IS_TLS13
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ssl_print_ticket(BIO *bio, int indent, const SSL_CONNECTION *sc,\n
      \                           const unsigned char *msg, size_t msglen)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1617,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1618,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1619,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1622,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1625,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1626,1
    - Dst: ssl_print_client_hello
      Src: /src/openssl/ssl/t1_trce.c:1638,1
    - Dst: dtls_print_hello_vfyrequest
      Src: /src/openssl/ssl/t1_trce.c:1643,1
    - Dst: ssl_print_server_hello
      Src: /src/openssl/ssl/t1_trce.c:1648,1
    - Dst: ssl_print_server_keyex
      Src: /src/openssl/ssl/t1_trce.c:1653,1
    - Dst: ssl_print_client_keyex
      Src: /src/openssl/ssl/t1_trce.c:1658,1
    - Dst: ssl_print_certificates
      Src: /src/openssl/ssl/t1_trce.c:1663,1
    - Dst: ssl_print_compressed_certificates
      Src: /src/openssl/ssl/t1_trce.c:1668,1
    - Dst: ssl_print_signature
      Src: /src/openssl/ssl/t1_trce.c:1673,1
    - Dst: ssl_print_cert_request
      Src: /src/openssl/ssl/t1_trce.c:1678,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1683,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1689,1
    - Dst: ssl_print_ticket
      Src: /src/openssl/ssl/t1_trce.c:1693,1
    - Dst: ssl_print_extensions
      Src: /src/openssl/ssl/t1_trce.c:1698,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1705,1
    - Dst: ssl_trace_list
      Src: /src/openssl/ssl/t1_trce.c:1708,1
    - Dst: BIO_indent
      Src: /src/openssl/ssl/t1_trce.c:1714,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1715,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/t1_trce.c:1716,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 6
    argNames:
    - bio
    - sc
    - server
    - msg
    - msglen
    - indent
    argTypes:
    - BIO*
    - SSL_CONNECTION*
    - int
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1606
    functionDepth: 9
    functionLinenumber: 1606
    functionLinenumberEnd: 1719
    functionName: ssl_print_handshake
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 0
    functionsReached:
    - ssl_print_server_hello
    - ssl_print_client_keyex
    - dtls_print_hello_vfyrequest
    - ssl_print_client_hello
    - ssl_print_cert_request
    - ssl_print_signature
    - BIO_indent
    - ssl_trace_list
    - BIO_printf
    - ssl_print_ticket
    - ssl_print_certificates
    - ssl_print_compressed_certificates
    - BIO_puts
    - ssl_trace_str
    - SSL_CONNECTION_IS_DTLS
    - ssl_print_server_keyex
    - ssl_print_extensions
    - BIO_dump_indent
    - ssl_print_hex
    linkageType: ''
    returnType: int
    signature: "int ssl_print_handshake(BIO *bio, const SSL_CONNECTION *sc, int server,\n
      \                              const unsigned char *msg, size_t msglen,\n                               int
      indent)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_trce.c:1726,1
    - Dst: QUIC_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/t1_trce.c:1728,1
    - Dst: ossl_quic_trace
      Src: /src/openssl/ssl/t1_trce.c:1731,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1750,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1752,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1753,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1757,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1758,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1759,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/t1_trce.c:1760,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1761,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1768,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1769,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1775,1
    - Dst: ssl_trace_str
      Src: /src/openssl/ssl/t1_trce.c:1776,1
    - Dst: ssl_print_handshake
      Src: /src/openssl/ssl/t1_trce.c:1780,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1782,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1787,1
    - Dst: ssl_print_hex
      Src: /src/openssl/ssl/t1_trce.c:1789,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1794,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/t1_trce.c:1796,1
    - Dst: SSL_alert_type_string_long
      Src: /src/openssl/ssl/t1_trce.c:1797,1
    - Dst: SSL_alert_desc_string_long
      Src: /src/openssl/ssl/t1_trce.c:1798,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/t1_trce.c:1803,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - msglen
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1721
    functionDepth: 10
    functionLinenumber: 1721
    functionLinenumberEnd: 1804
    functionName: SSL_trace
    functionSourceFile: /src/openssl/ssl/t1_trce.c
    functionUses: 1
    functionsReached:
    - ssl_print_handshake
    - SSL_alert_type_string_long
    - BIO_puts
    - ssl_trace_str
    - BIO_printf
    - QUIC_CONNECTION_FROM_SSL
    - ossl_quic_trace
    - SSL_alert_desc_string_long
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_FROM_SSL
    - ssl_print_hex
    linkageType: ''
    returnType: void
    signature: "void SSL_trace(int write_p, int version, int content_type,\n               const
      void *buf, size_t msglen, SSL *ssl, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/ssl_sess.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - ss
    argTypes:
    - OSSL_TIME
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: sess_timedout
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline sess_timedout(OSSL_TIME t, SSL_SESSION *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/ssl_sess.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SSL_SESSION*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: timeoutcmp
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    linkageType: ''
    returnType: __owur
    signature: __owur timeoutcmp(SSL_SESSION *a, SSL_SESSION *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/ssl_sess.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ssl_session_calculate_timeout
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - ossl_time_add
    linkageType: ''
    returnType: void
    signature: void ssl_session_calculate_timeout(SSL_SESSION *ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_sess.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: SSL_get_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 13
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *SSL_get_session(const SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_sess.c:83,1
    - Dst: SSL_get_session
      Src: /src/openssl/ssl/ssl_sess.c:85,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:86,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: SSL_get1_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 20
    functionsReached:
    - CRYPTO_THREAD_read_lock
    - CRYPTO_THREAD_unlock
    - SSL_get_session
    - SSL_SESSION_up_ref
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *SSL_get1_session(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_set_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - idx
    - arg
    argTypes:
    - SSL_SESSION*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: SSL_SESSION_set_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - CRYPTO_set_ex_data
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_set_ex_data(SSL_SESSION *s, int idx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - idx
    argTypes:
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: SSL_SESSION_get_ex_data
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - CRYPTO_get_ex_data
    linkageType: ''
    returnType: void
    signature: void *SSL_SESSION_get_ex_data(const SSL_SESSION *s, int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_init_ssl
      Src: /src/openssl/ssl/ssl_sess.c:106,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_sess.c:109,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_sess.c:116,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/ssl_sess.c:117,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:118,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_sess.c:119,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:120,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:124,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_sess.c:125,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 130
    functionName: SSL_SESSION_new
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 8
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ssl_session_calculate_timeout
    - CRYPTO_new_ex_data
    - OPENSSL_free
    - ossl_seconds2time
    - ossl_time_now
    - OPENSSL_init_ssl
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *SSL_SESSION_new(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_sess.c:140,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:148,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_sess.c:168,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_sess.c:175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:176,1
    - Dst: CRYPTO_new_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:181,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:186,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:187,1
    - Dst: X509_chain_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:194,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:196,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:202,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:209,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:214,1
    - Dst: CRYPTO_dup_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:220,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:222,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:227,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:234,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:243,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:251,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:259,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:266,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 105
    argCount: 2
    argNames:
    - src
    - ticket
    argTypes:
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 268
    functionName: ssl_session_dup_intern
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - memset
    - ERR_raise
    - SSL_SESSION_free
    - CRYPTO_dup_ex_data
    - memcpy
    - X509_chain_up_ref
    - CRYPTO_new_ex_data
    - X509_up_ref
    - OPENSSL_memdup
    - OPENSSL_free
    - EVP_PKEY_up_ref
    - OPENSSL_strdup
    - OPENSSL_malloc
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_session_dup_intern
      Src: /src/openssl/ssl/ssl_sess.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 4
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: SSL_SESSION_dup
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached:
    - ssl_session_dup_intern
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_session_dup_intern
      Src: /src/openssl/ssl/ssl_sess.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - ticket
    argTypes:
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: ssl_session_dup
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - ssl_session_dup_intern
    linkageType: ''
    returnType: SSL_SESSION
    signature: SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - SSL_SESSION*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: SSL_SESSION_get_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int
      *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - SSL_SESSION*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: SSL_SESSION_get0_id_context
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *s,\n
      \                                               unsigned int *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: SSL_SESSION_get_compress_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/ssl_sess.c:328,1
    - Dst: SSL_has_matching_session_id
      Src: /src/openssl/ssl/ssl_sess.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ssl
    - id
    - id_len
    argTypes:
    - SSL*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 323
    functionDepth: 7
    functionLinenumber: 323
    functionLinenumberEnd: 349
    functionName: def_generate_session_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSL_has_matching_session_id
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: "int def_generate_session_id(SSL *ssl, unsigned char *id,\n                                   unsigned
      int *id_len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:355,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:369,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_sess.c:394,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:394,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_sess.c:396,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:397,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:398,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:406,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:407,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_sess.c:409,1
    - Dst: cb
      Src: /src/openssl/ssl/ssl_sess.c:411,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:413,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:423,1
    - Dst: SSL_has_matching_session_id
      Src: /src/openssl/ssl/ssl_sess.c:429,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:431,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - s
    - ss
    argTypes:
    - SSL_CONNECTION*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 436
    functionName: ssl_generate_session_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memset
    - SSL_has_matching_session_id
    - CRYPTO_THREAD_read_lock
    - SSL_CONNECTION_GET_SSL
    - CRYPTO_THREAD_unlock
    - cb
    linkageType: ''
    returnType: int
    signature: int ssl_generate_session_id(SSL_CONNECTION *s, SSL_SESSION *ss)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_new
      Src: /src/openssl/ssl/ssl_sess.c:444,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:445,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/ssl_sess.c:450,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:451,1
    - Dst: get_timeout
      Src: /src/openssl/ssl/ssl_sess.c:451,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:454,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:456,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:460,1
    - Dst: ssl_generate_session_id
      Src: /src/openssl/ssl/ssl_sess.c:466,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:468,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:477,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:478,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - s
    - session
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 492
    functionName: ssl_get_new_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_SESSION_free
    - ssl_generate_session_id
    - ssl_session_calculate_timeout
    - memcpy
    - SSL_CONNECTION_GET_SSL
    - get_timeout
    - ossl_time_is_zero
    - SSL_SESSION_new
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int ssl_get_new_session(SSL_CONNECTION *s, int session)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/ssl_sess.c:505,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:508,1
    - Dst: CRYPTO_THREAD_read_lock
      Src: /src/openssl/ssl/ssl_sess.c:511,1
    - Dst: lh_SSL_SESSION_retrieve
      Src: /src/openssl/ssl/ssl_sess.c:513,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:516,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:517,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:521,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:523,1
    - Dst: SSL_CONNECTION*::session_ctx::get_session_cb
      Src: /src/openssl/ssl/ssl_sess.c:529,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/ssl_sess.c:529,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:536,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:539,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:549,1
    - Dst: SSL_CTX_add_session
      Src: /src/openssl/ssl/ssl_sess.c:563,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - s
    - sess_id
    - sess_id_len
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 569
    functionName: lookup_sess_in_cache
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - lh_SSL_SESSION_retrieve
    - SSL_SESSION_up_ref
    - SSL_SESSION_free
    - memcpy
    - CRYPTO_THREAD_read_lock
    - SSL_CTX_add_session
    - ssl_tsan_counter
    - SSL_CONNECTION_GET_USER_SSL
    - CRYPTO_THREAD_unlock
    - SSL_CONNECTION*::session_ctx::get_session_cb
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *lookup_sess_in_cache(SSL_CONNECTION *s,\n                                  const
      unsigned char *sess_id,\n                                  size_t sess_id_len)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:597,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:598,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/ssl_sess.c:605,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/ssl_sess.c:608,1
    - Dst: tls_get_ticket_from_client
      Src: /src/openssl/ssl/ssl_sess.c:616,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:621,1
    - Dst: lookup_sess_in_cache
      Src: /src/openssl/ssl/ssl_sess.c:627,1
    - Dst: memcmp
      Src: /src/openssl/ssl/ssl_sess.c:648,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:667,1
    - Dst: sess_timedout
      Src: /src/openssl/ssl/ssl_sess.c:673,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/ssl_sess.c:673,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:674,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/ssl_sess.c:677,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/ssl_sess.c:686,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:695,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:697,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:701,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:707,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/ssl_sess.c:709,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 2
    argNames:
    - s
    - hello
    argTypes:
    - SSL_CONNECTION*
    - CLIENTHELLO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 724
    functionName: ssl_get_prev_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memcmp
    - SSL_CTX_remove_session
    - SSL_SESSION_free
    - tls_get_ticket_from_client
    - lookup_sess_in_cache
    - ssl_tsan_counter
    - sess_timedout
    - ossl_time_now
    - SSL_CONNECTION_IS_TLS13
    - tls_parse_extension
    linkageType: ''
    returnType: int
    signature: int ssl_get_prev_session(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:736,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:742,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:743,1
    - Dst: lh_SSL_SESSION_insert
      Src: /src/openssl/ssl/ssl_sess.c:746,1
    - Dst: SSL_SESSION_list_remove
      Src: /src/openssl/ssl/ssl_sess.c:755,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:756,1
    - Dst: lh_SSL_SESSION_retrieve
      Src: /src/openssl/ssl/ssl_sess.c:765,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/ssl_sess.c:777,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:778,1
    - Dst: SSL_CTX_sess_get_cache_size
      Src: /src/openssl/ssl/ssl_sess.c:789,1
    - Dst: SSL_CTX_sess_number
      Src: /src/openssl/ssl/ssl_sess.c:790,1
    - Dst: SSL_CTX_sess_get_cache_size
      Src: /src/openssl/ssl/ssl_sess.c:790,1
    - Dst: remove_session_lock
      Src: /src/openssl/ssl/ssl_sess.c:791,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/ssl_sess.c:794,1
    - Dst: SSL_SESSION_list_add
      Src: /src/openssl/ssl/ssl_sess.c:799,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:807,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:810,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 726
    functionDepth: 4
    functionLinenumber: 726
    functionLinenumberEnd: 812
    functionName: SSL_CTX_add_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 5
    functionsReached:
    - remove_session_lock
    - lh_SSL_SESSION_retrieve
    - SSL_SESSION_free
    - SSL_SESSION_up_ref
    - SSL_CTX_sess_get_cache_size
    - SSL_SESSION_list_remove
    - ssl_session_calculate_timeout
    - SSL_CTX_sess_number
    - CRYPTO_THREAD_write_lock
    - ssl_tsan_counter
    - SSL_SESSION_list_add
    - ossl_time_now
    - CRYPTO_THREAD_unlock
    - lh_SSL_SESSION_insert
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_session_lock
      Src: /src/openssl/ssl/ssl_sess.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 817
    functionName: SSL_CTX_remove_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached:
    - remove_session_lock
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:826,1
    - Dst: lh_SSL_SESSION_retrieve
      Src: /src/openssl/ssl/ssl_sess.c:829,1
    - Dst: lh_SSL_SESSION_delete
      Src: /src/openssl/ssl/ssl_sess.c:831,1
    - Dst: SSL_SESSION_list_remove
      Src: /src/openssl/ssl/ssl_sess.c:832,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:837,1
    - Dst: SSL_CTX*::remove_session_cb
      Src: /src/openssl/ssl/ssl_sess.c:840,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:843,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - c
    - lck
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 846
    functionName: remove_session_lock
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached:
    - lh_SSL_SESSION_delete
    - lh_SSL_SESSION_retrieve
    - SSL_SESSION_free
    - SSL_SESSION_list_remove
    - CRYPTO_THREAD_write_lock
    - SSL_CTX*::remove_session_cb
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: int
    signature: int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/ssl_sess.c:854,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_sess.c:855,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_sess.c:858,1
    - Dst: CRYPTO_free_ex_data
      Src: /src/openssl/ssl/ssl_sess.c:860,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/ssl_sess.c:862,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/ssl_sess.c:863,1
    - Dst: X509_free
      Src: /src/openssl/ssl/ssl_sess.c:864,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/ssl_sess.c:865,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/ssl_sess.c:866,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:867,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:868,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:870,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:871,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:874,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:876,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:877,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_sess.c:878,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/ssl_sess.c:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 880
    functionName: SSL_SESSION_free
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 59
    functionsReached:
    - REF_PRINT_COUNT
    - OPENSSL_clear_free
    - CRYPTO_DOWN_REF
    - X509_free
    - REF_ASSERT_ISNT
    - CRYPTO_free_ex_data
    - EVP_PKEY_free
    - OSSL_STACK_OF_X509_free
    - OPENSSL_free
    - OPENSSL_cleanse
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void SSL_SESSION_free(SSL_SESSION *ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_sess.c:886,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_sess.c:889,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_sess.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ss
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 892
    functionName: SSL_SESSION_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 14
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_up_ref(SSL_SESSION *ss)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_sess.c:896,1
    - Dst: SSL_SESSION_up_ref
      Src: /src/openssl/ssl/ssl_sess.c:901,1
    - Dst: ssl_clear_bad_session
      Src: /src/openssl/ssl/ssl_sess.c:904,1
    - Dst: SSL_set_ssl_method
      Src: /src/openssl/ssl/ssl_sess.c:906,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:907,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:915,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - session
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 894
    functionDepth: 5
    functionLinenumber: 894
    functionLinenumberEnd: 919
    functionName: SSL_set_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 28
    functionsReached:
    - SSL_SESSION_up_ref
    - SSL_SESSION_free
    - ssl_clear_bad_session
    - SSL_set_ssl_method
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_session(SSL *s, SSL_SESSION *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:925,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - s
    - sid
    - sid_len
    argTypes:
    - SSL_SESSION*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 933
    functionName: SSL_SESSION_set1_id
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid,\n
      \                       unsigned int sid_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_sess.c:937,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:942,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:945,1
    - Dst: SSL_SESSION_list_add
      Src: /src/openssl/ssl/ssl_sess.c:946,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:947,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_SESSION*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 953
    functionName: SSL_SESSION_set_timeout
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached:
    - SSL_SESSION_list_add
    - ssl_session_calculate_timeout
    - CRYPTO_THREAD_write_lock
    - ossl_seconds2time
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: long
    signature: long SSL_SESSION_set_timeout(SSL_SESSION *s, long t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_to_time_t
      Src: /src/openssl/ssl/ssl_sess.c:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: SSL_SESSION_get_timeout
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - ossl_time_to_time_t
    linkageType: ''
    returnType: long
    signature: long SSL_SESSION_get_timeout(const SSL_SESSION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_time_ex
      Src: /src/openssl/ssl/ssl_sess.c:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: SSL_SESSION_get_time
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_get_time_ex
    linkageType: ''
    returnType: long
    signature: long SSL_SESSION_get_time(const SSL_SESSION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_to_time_t
      Src: /src/openssl/ssl/ssl_sess.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 974
    functionName: SSL_SESSION_get_time_ex
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 4
    functionsReached:
    - ossl_time_to_time_t
    linkageType: ''
    returnType: time_t
    signature: time_t SSL_SESSION_get_time_ex(const SSL_SESSION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_from_time_t
      Src: /src/openssl/ssl/ssl_sess.c:978,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:983,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:986,1
    - Dst: SSL_SESSION_list_add
      Src: /src/openssl/ssl/ssl_sess.c:987,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:988,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/ssl_sess.c:991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_SESSION*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 976
    functionDepth: 4
    functionLinenumber: 976
    functionLinenumberEnd: 994
    functionName: SSL_SESSION_set_time_ex
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 4
    functionsReached:
    - ossl_time_from_time_t
    - SSL_SESSION_list_add
    - ssl_session_calculate_timeout
    - CRYPTO_THREAD_write_lock
    - CRYPTO_THREAD_unlock
    linkageType: ''
    returnType: time_t
    signature: time_t SSL_SESSION_set_time_ex(SSL_SESSION *s, time_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_set_time_ex
      Src: /src/openssl/ssl/ssl_sess.c:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_SESSION*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 997
    functionDepth: 5
    functionLinenumber: 997
    functionLinenumberEnd: 1000
    functionName: SSL_SESSION_set_time
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSL_SESSION_set_time_ex
    linkageType: ''
    returnType: long
    signature: long SSL_SESSION_set_time(SSL_SESSION *s, long t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: SSL_SESSION_get_protocol_version
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_get_protocol_version(const SSL_SESSION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - version
    argTypes:
    - SSL_SESSION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1012
    functionName: SSL_SESSION_set_protocol_version
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1017
    functionName: SSL_SESSION_get0_cipher
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - cipher
    argTypes:
    - SSL_SESSION*
    - SSL_CIPHER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1023
    functionName: SSL_SESSION_set_cipher
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_set_cipher(SSL_SESSION *s, const SSL_CIPHER *cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: SSL_SESSION_get0_hostname
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *SSL_SESSION_get0_hostname(const SSL_SESSION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:1032,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/ssl_sess.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - hostname
    argTypes:
    - SSL_SESSION*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1040
    functionName: SSL_SESSION_set1_hostname
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_set1_hostname(SSL_SESSION *s, const char *hostname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1045
    functionName: SSL_SESSION_has_ticket
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_has_ticket(const SSL_SESSION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1050
    functionName: SSL_SESSION_get_ticket_lifetime_hint
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION
      *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - tick
    - len
    argTypes:
    - SSL_SESSION*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1058
    functionName: SSL_SESSION_get0_ticket
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_SESSION_get0_ticket(const SSL_SESSION *s, const unsigned
      char **tick,\n                             size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: SSL_SESSION_get_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - max_early_data
    argTypes:
    - SSL_SESSION*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1070
    functionName: SSL_SESSION_set_max_early_data
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_set_max_early_data(SSL_SESSION *s, uint32_t max_early_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - alpn
    - len
    argTypes:
    - SSL_SESSION*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1078
    functionName: SSL_SESSION_get0_alpn_selected
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_SESSION_get0_alpn_selected(const SSL_SESSION *s,\n                                    const
      unsigned char **alpn,\n                                    size_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:1083,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - s
    - alpn
    - len
    argTypes:
    - SSL_SESSION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1097
    functionName: SSL_SESSION_set1_alpn_selected
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int SSL_SESSION_set1_alpn_selected(SSL_SESSION *s, const unsigned
      char *alpn,\n                                   size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: SSL_SESSION_get0_peer
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: X509 *SSL_SESSION_get0_peer(SSL_SESSION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1107
    functionName: SSL_SESSION_get0_peer_rpk
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY *SSL_SESSION_get0_peer_rpk(SSL_SESSION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_sess.c:1113,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:1118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - s
    - sid_ctx
    - sid_ctx_len
    argTypes:
    - SSL_SESSION*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1121
    functionName: SSL_SESSION_set1_id_context
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char
      *sid_ctx,\n                                unsigned int sid_ctx_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1131
    functionName: SSL_SESSION_is_resumable
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_is_resumable(const SSL_SESSION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/ssl_sess.c:1139,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/ssl_sess.c:1140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_CTX*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1142
    functionName: SSL_CTX_set_timeout
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached:
    - ossl_time2seconds
    - ossl_seconds2time
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_set_timeout(SSL_CTX *s, long t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/ssl_sess.c:1148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1149
    functionName: SSL_CTX_get_timeout
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - ossl_time2seconds
    linkageType: ''
    returnType: long
    signature: long SSL_CTX_get_timeout(const SSL_CTX *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_sess.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - tls_session_secret_cb
    - arg
    argTypes:
    - SSL*
    - tls_session_secret_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1163
    functionName: SSL_set_session_secret_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_set_session_secret_cb(SSL *s,\n                              tls_session_secret_cb_fn
      tls_session_secret_cb,\n                              void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_sess.c:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - cb
    - arg
    argTypes:
    - SSL*
    - tls_session_ticket_ext_cb_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1176
    functionName: SSL_set_session_ticket_ext_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn
      cb,\n                                  void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_sess.c:1180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:1186,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/ssl_sess.c:1189,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_sess.c:1196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - s
    - ext_data
    - ext_len
    argTypes:
    - SSL*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1206
    functionName: SSL_set_session_ticket_ext
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - memcpy
    - SSL_CONNECTION_FROM_SSL
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_flush_sessions_ex
      Src: /src/openssl/ssl/ssl_sess.c:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_CTX*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1209
    functionDepth: 1
    functionLinenumber: 1209
    functionLinenumberEnd: 1212
    functionName: SSL_CTX_flush_sessions
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_flush_sessions_ex
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_flush_sessions(SSL_CTX *s, long t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/ssl_sess.c:1217,1
    - Dst: ossl_time_from_time_t
      Src: /src/openssl/ssl/ssl_sess.c:1220,1
    - Dst: CRYPTO_THREAD_write_lock
      Src: /src/openssl/ssl/ssl_sess.c:1222,1
    - Dst: sk_SSL_SESSION_new_null
      Src: /src/openssl/ssl/ssl_sess.c:1225,1
    - Dst: lh_SSL_SESSION_get_down_load
      Src: /src/openssl/ssl/ssl_sess.c:1226,1
    - Dst: lh_SSL_SESSION_set_down_load
      Src: /src/openssl/ssl/ssl_sess.c:1227,1
    - Dst: sess_timedout
      Src: /src/openssl/ssl/ssl_sess.c:1238,1
    - Dst: lh_SSL_SESSION_delete
      Src: /src/openssl/ssl/ssl_sess.c:1239,1
    - Dst: SSL_SESSION_list_remove
      Src: /src/openssl/ssl/ssl_sess.c:1240,1
    - Dst: SSL_CTX*::remove_session_cb
      Src: /src/openssl/ssl/ssl_sess.c:1243,1
    - Dst: sk_SSL_SESSION_push
      Src: /src/openssl/ssl/ssl_sess.c:1251,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/ssl_sess.c:1252,1
    - Dst: lh_SSL_SESSION_set_down_load
      Src: /src/openssl/ssl/ssl_sess.c:1258,1
    - Dst: CRYPTO_THREAD_unlock
      Src: /src/openssl/ssl/ssl_sess.c:1259,1
    - Dst: sk_SSL_SESSION_pop_free
      Src: /src/openssl/ssl/ssl_sess.c:1261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - SSL_CTX*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1215
    functionDepth: 5
    functionLinenumber: 1215
    functionLinenumberEnd: 1262
    functionName: SSL_CTX_flush_sessions_ex
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 4
    functionsReached:
    - lh_SSL_SESSION_delete
    - ossl_time_from_time_t
    - sk_SSL_SESSION_push
    - lh_SSL_SESSION_set_down_load
    - SSL_SESSION_free
    - SSL_SESSION_list_remove
    - CRYPTO_THREAD_write_lock
    - SSL_CTX*::remove_session_cb
    - lh_SSL_SESSION_get_down_load
    - sess_timedout
    - STACK_OF
    - sk_SSL_SESSION_pop_free
    - CRYPTO_THREAD_unlock
    - sk_SSL_SESSION_new_null
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_flush_sessions_ex(SSL_CTX *s, time_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/ssl_sess.c:1268,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:1268,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_sess.c:1269,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/ssl_sess.c:1269,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/ssl_sess.c:1270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1264
    functionDepth: 2
    functionLinenumber: 1264
    functionLinenumberEnd: 1274
    functionName: ssl_clear_bad_session
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - SSL_CTX_remove_session
    - SSL_in_before
    - SSL_in_init
    linkageType: ''
    returnType: int
    signature: int ssl_clear_bad_session(SSL_CONNECTION *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1305
    functionName: SSL_SESSION_list_remove
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_list_remove
      Src: /src/openssl/ssl/ssl_sess.c:1312,1
    - Dst: timeoutcmp
      Src: /src/openssl/ssl/ssl_sess.c:1320,1
    - Dst: timeoutcmp
      Src: /src/openssl/ssl/ssl_sess.c:1329,1
    - Dst: timeoutcmp
      Src: /src/openssl/ssl/ssl_sess.c:1342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - s
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1354
    functionName: SSL_SESSION_list_add
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached:
    - SSL_SESSION_list_remove
    - timeoutcmp
    linkageType: ''
    returnType: void
    signature: void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1360
    functionName: SSL_CTX_sess_set_new_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx,\n                             int
      (*cb) (struct ssl_st *ssl, SSL_SESSION *sess))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1364
    functionName: (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (SSL *ssl, SSL_SESSION
      *sess)
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (SSL *ssl, SSL_SESSION
      *sess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1370
    functionName: SSL_CTX_sess_set_remove_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx,\n                                void
      (*cb) (SSL_CTX *ctx, SSL_SESSION *sess))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - sess
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1375
    functionName: "(*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (SSL_CTX *ctx,\n                                                  SSL_SESSION
      *sess)"
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (SSL_CTX *ctx,\n
      \                                                 SSL_SESSION *sess)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - "(*cb) (SSL *ssl,\n                                                 const unsigned
      char *data,\n                                                 int len, int *copy)"
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1383
    functionName: SSL_CTX_sess_set_get_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx,\n                             SSL_SESSION
      *(*cb) (SSL *ssl,\n                                                 const unsigned
      char *data,\n                                                 int len, int *copy))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ssl
    - data
    - len
    - copy
    argTypes:
    - SSL*
    - unsigned char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1390
    functionName: "*(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (SSL *ssl,\n                                                       const
      unsigned char\n                                                       *data,
      int len,\n                                                       int *copy)"
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL_SESSION
    signature: "SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (SSL *ssl,\n
      \                                                      const unsigned char\n
      \                                                      *data, int len,\n                                                       int
      *copy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1396
    functionName: SSL_CTX_set_info_callback
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_info_callback(SSL_CTX *ctx,\n                               void
      (*cb) (const SSL *ssl, int type, int val))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - type
    - val
    argTypes:
    - SSL*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1401
    functionName: "(*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int
      type,\n                                                 int val)"
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int
      type,\n                                                 int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1408
    functionName: SSL_CTX_set_client_cert_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx,\n                                int
      (*cb) (SSL *ssl, X509 **x509,\n                                           EVP_PKEY
      **pkey))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - x509
    - pkey
    argTypes:
    - SSL*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1413
    functionName: "(*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509,\n
      \                                                EVP_PKEY **pkey)"
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509,\n
      \                                                EVP_PKEY **pkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1421
    functionName: SSL_CTX_set_cookie_generate_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx,\n                                    int
      (*cb) (SSL *ssl,\n                                               unsigned char
      *cookie,\n                                               unsigned int *cookie_len))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1429
    functionName: SSL_CTX_set_cookie_verify_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,\n                                  int
      (*cb) (SSL *ssl,\n                                             const unsigned
      char *cookie,\n                                             unsigned int cookie_len))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_sess.c:1433,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_sess.c:1439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ss
    - data
    - len
    argTypes:
    - SSL_SESSION*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1445
    functionName: SSL_SESSION_set1_ticket_appdata
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ss
    - data
    - len
    argTypes:
    - SSL_SESSION*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1452
    functionName: SSL_SESSION_get0_ticket_appdata
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t
      *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1461
    functionName: SSL_CTX_set_stateless_cookie_generate_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_stateless_cookie_generate_cb(\n    SSL_CTX *ctx,\n
      \   int (*cb) (SSL *ssl,\n               unsigned char *cookie,\n               size_t
      *cookie_len))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1470
    functionName: SSL_CTX_set_stateless_cookie_verify_cb
    functionSourceFile: /src/openssl/ssl/ssl_sess.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSL_CTX_set_stateless_cookie_verify_cb(\n    SSL_CTX *ctx,\n
      \   int (*cb) (SSL *ssl,\n               const unsigned char *cookie,\n               size_t
      cookie_len))"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - alg
    - length
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 43
    functionName: ossl_calculate_comp_expansion
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_calculate_comp_expansion(int alg, size_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_f_brotli
      Src: /src/openssl/ssl/ssl_cert_comp.c:49,1
    - Dst: BIO_f_zstd
      Src: /src/openssl/ssl/ssl_cert_comp.c:51,1
    - Dst: BIO_f_zlib
      Src: /src/openssl/ssl/ssl_cert_comp.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: ossl_comp_has_alg
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 2
    functionsReached:
    - BIO_f_zstd
    - BIO_f_zlib
    - BIO_f_brotli
    linkageType: ''
    returnType: int
    signature: int ossl_comp_has_alg(int a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_cert_comp.c:65,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_cert_comp.c:67,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/ssl_cert_comp.c:68,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/ssl_cert_comp.c:77,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:78,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - data
    - len
    - orig_len
    - alg
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: OSSL_COMP_CERT_new
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ERR_raise
    - ossl_comp_has_alg
    - OPENSSL_free
    linkageType: ''
    returnType: OSSL_COMP_CERT
    signature: OSSL_COMP_CERT *OSSL_COMP_CERT_new(unsigned char *data, size_t len,
      size_t orig_len, int alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_COMP_CERT_new
      Src: /src/openssl/ssl/ssl_cert_comp.c:86,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/ssl_cert_comp.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: "OSSL_COMP_CERT *OSSL_COMP_CERT_from_compressed_data(unsigned char
      *data, size_t len,\n                                                                  size_t
      orig_len, int alg)"
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - OSSL_COMP_CERT_new
    - OPENSSL_memdup
    linkageType: ''
    returnType: __owur
    signature: "__owur OSSL_COMP_CERT *OSSL_COMP_CERT_from_compressed_data(unsigned
      char *data, size_t len,\n                                                                  size_t
      orig_len, int alg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: COMP_brotli_oneshot
      Src: /src/openssl/ssl/ssl_cert_comp.c:101,1
    - Dst: COMP_zlib_oneshot
      Src: /src/openssl/ssl/ssl_cert_comp.c:104,1
    - Dst: COMP_zstd_oneshot
      Src: /src/openssl/ssl/ssl_cert_comp.c:107,1
    - Dst: ossl_calculate_comp_expansion
      Src: /src/openssl/ssl/ssl_cert_comp.c:113,1
    - Dst: COMP_CTX_new
      Src: /src/openssl/ssl/ssl_cert_comp.c:116,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/ssl_cert_comp.c:117,1
    - Dst: COMP_compress_block
      Src: /src/openssl/ssl/ssl_cert_comp.c:120,1
    - Dst: OSSL_COMP_CERT_new
      Src: /src/openssl/ssl/ssl_cert_comp.c:124,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:128,1
    - Dst: COMP_CTX_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 131
    functionName: "OSSL_COMP_CERT *OSSL_COMP_CERT_from_uncompressed_data(unsigned
      char *data, size_t len,\n                                                                    int
      alg)"
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - COMP_brotli_oneshot
    - COMP_CTX_free
    - COMP_compress_block
    - ossl_calculate_comp_expansion
    - COMP_zlib_oneshot
    - OPENSSL_free
    - COMP_CTX_new
    - COMP_zstd_oneshot
    - OSSL_COMP_CERT_new
    linkageType: ''
    returnType: __owur
    signature: "__owur OSSL_COMP_CERT *OSSL_COMP_CERT_from_uncompressed_data(unsigned
      char *data, size_t len,\n                                                                    int
      alg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/ssl_cert_comp.c:140,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_cert_comp.c:141,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_cert_comp.c:144,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:146,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/ssl_cert_comp.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_COMP_CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 149
    functionName: OSSL_COMP_CERT_free
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 1
    functionsReached:
    - REF_PRINT_COUNT
    - CRYPTO_DOWN_REF
    - REF_ASSERT_ISNT
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void OSSL_COMP_CERT_free(OSSL_COMP_CERT *cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/ssl_cert_comp.c:154,1
    - Dst: REF_PRINT_COUNT
      Src: /src/openssl/ssl/ssl_cert_comp.c:157,1
    - Dst: REF_ASSERT_ISNT
      Src: /src/openssl/ssl/ssl_cert_comp.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_COMP_CERT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: OSSL_COMP_CERT_up_ref
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 1
    functionsReached:
    - REF_ASSERT_ISNT
    - REF_PRINT_COUNT
    - CRYPTO_UP_REF
    linkageType: ''
    returnType: int
    signature: int OSSL_COMP_CERT_up_ref(OSSL_COMP_CERT *cc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/ssl_cert_comp.c:173,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_cert_comp.c:178,1
    - Dst: memset
      Src: /src/openssl/ssl/ssl_cert_comp.c:179,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_cert_comp.c:182,1
    - Dst: memcpy
      Src: /src/openssl/ssl/ssl_cert_comp.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - prefs
    - algs
    - len
    argTypes:
    - int*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: ssl_set_cert_comp_pref
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - ossl_comp_has_alg
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int ssl_set_cert_comp_pref(int *prefs, int *algs, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert_comp.c:198,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_cert_comp.c:206,1
    - Dst: WPACKET_init
      Src: /src/openssl/ssl/ssl_cert_comp.c:210,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/ssl_cert_comp.c:214,1
    - Dst: ssl3_output_cert_chain
      Src: /src/openssl/ssl/ssl_cert_comp.c:221,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/ssl_cert_comp.c:223,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/ssl_cert_comp.c:226,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:230,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - cpk
    - data
    argTypes:
    - SSL*
    - CERT_PKEY*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 232
    functionName: ssl_get_cert_to_compress
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - WPACKET_put_bytes_u8
    - ssl3_output_cert_chain
    - WPACKET_cleanup
    - WPACKET_get_total_written
    - OPENSSL_free
    - SSL_in_before
    - WPACKET_init
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t ssl_get_cert_to_compress(SSL *ssl, CERT_PKEY *cpk, unsigned
      char **data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_cert_comp.c:242,1
    - Dst: ssl_get_cert_to_compress
      Src: /src/openssl/ssl/ssl_cert_comp.c:245,1
    - Dst: OSSL_COMP_CERT_from_uncompressed_data
      Src: /src/openssl/ssl/ssl_cert_comp.c:247,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:248,1
    - Dst: OSSL_COMP_CERT_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ssl
    - cpk
    - alg
    argTypes:
    - SSL*
    - CERT_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 234
    functionDepth: 6
    functionLinenumber: 234
    functionLinenumberEnd: 255
    functionName: ssl_compress_one_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - OSSL_COMP_CERT_free
    - ossl_comp_has_alg
    - ssl_get_cert_to_compress
    - OSSL_COMP_CERT_from_uncompressed_data
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int ssl_compress_one_cert(SSL *ssl, CERT_PKEY *cpk, int alg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert_comp.c:260,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_cert_comp.c:268,1
    - Dst: ssl_compress_one_cert
      Src: /src/openssl/ssl/ssl_cert_comp.c:286,1
    - Dst: OSSL_COMP_CERT_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:291,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - ssl
    - cpks
    - alg_in
    argTypes:
    - SSL*
    - CERT_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 258
    functionDepth: 7
    functionLinenumber: 258
    functionLinenumberEnd: 300
    functionName: ssl_compress_certs
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - ossl_comp_has_alg
    - ssl_compress_one_cert
    - OSSL_COMP_CERT_free
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_compress_certs(SSL *ssl, CERT_PKEY *cpks, int alg_in)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert_comp.c:305,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/ssl_cert_comp.c:316,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/ssl_cert_comp.c:317,1
    - Dst: ssl_get_cert_to_compress
      Src: /src/openssl/ssl/ssl_cert_comp.c:320,1
    - Dst: OSSL_COMP_CERT_from_uncompressed_data
      Src: /src/openssl/ssl/ssl_cert_comp.c:323,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:324,1
    - Dst: OSSL_COMP_CERT_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:333,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - ssl
    - cpk
    - alg
    - data
    - orig_len
    argTypes:
    - SSL*
    - CERT_PKEY*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 302
    functionDepth: 6
    functionLinenumber: 302
    functionLinenumberEnd: 335
    functionName: ssl_get_compressed_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - OSSL_COMP_CERT_free
    - ossl_comp_has_alg
    - ssl_get_cert_to_compress
    - OSSL_COMP_CERT_from_uncompressed_data
    - OPENSSL_free
    - SSL_in_before
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: size_t
    signature: "size_t ssl_get_compressed_cert(SSL *ssl, CERT_PKEY *cpk, int alg,
      unsigned char **data,\n                                      size_t *orig_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_COMP_CERT_from_compressed_data
      Src: /src/openssl/ssl/ssl_cert_comp.c:347,1
    - Dst: OSSL_COMP_CERT_free
      Src: /src/openssl/ssl/ssl_cert_comp.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - cert
    - algorithm
    - comp_data
    - comp_length
    - orig_length
    argTypes:
    - CERT*
    - int
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 356
    functionName: ossl_set1_compressed_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - OSSL_COMP_CERT_free
    - OSSL_COMP_CERT_from_compressed_data
    linkageType: ''
    returnType: int
    signature: "int ossl_set1_compressed_cert(CERT *cert, int algorithm,\n                                     unsigned
      char *comp_data, size_t comp_length,\n                                     size_t
      orig_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_set_cert_comp_pref
      Src: /src/openssl/ssl/ssl_cert_comp.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - algs
    - len
    argTypes:
    - SSL_CTX*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: SSL_CTX_set1_cert_comp_preference
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 1
    functionsReached:
    - ssl_set_cert_comp_pref
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_set1_cert_comp_preference(SSL_CTX *ctx, int *algs, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert_comp.c:374,1
    - Dst: ssl_set_cert_comp_pref
      Src: /src/openssl/ssl/ssl_cert_comp.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ssl
    - algs
    - len
    argTypes:
    - SSL*
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: SSL_set1_cert_comp_preference
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - ssl_set_cert_comp_pref
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set1_cert_comp_preference(SSL *ssl, int *algs, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert_comp.c:387,1
    - Dst: ssl_compress_certs
      Src: /src/openssl/ssl/ssl_cert_comp.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ssl
    - alg
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 8
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: SSL_compress_certs
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - ssl_compress_certs
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_compress_certs(SSL *ssl, int alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/openssl/ssl/ssl_cert_comp.c:401,1
    - Dst: ssl_compress_certs
      Src: /src/openssl/ssl/ssl_cert_comp.c:406,1
    - Dst: ctx::ctx
      Src: /src/openssl/ssl/ssl_cert_comp.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - alg
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 397
    functionDepth: 8
    functionLinenumber: 397
    functionLinenumberEnd: 410
    functionName: SSL_CTX_compress_certs
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 4
    functionsReached:
    - SSL_new
    - ssl_compress_certs
    - ctx::ctx
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_compress_certs(SSL_CTX *ctx, int alg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert_comp.c:415,1
    - Dst: ssl_get_compressed_cert
      Src: /src/openssl/ssl/ssl_cert_comp.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ssl
    - alg
    - data
    - orig_len
    argTypes:
    - SSL*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 7
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: SSL_get1_compressed_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 1
    functionsReached:
    - ssl_get_compressed_cert
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_get1_compressed_cert(SSL *ssl, int alg, unsigned char **data,
      size_t *orig_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/openssl/ssl/ssl_cert_comp.c:436,1
    - Dst: ssl_get_compressed_cert
      Src: /src/openssl/ssl/ssl_cert_comp.c:438,1
    - Dst: ctx::ctx
      Src: /src/openssl/ssl/ssl_cert_comp.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - alg
    - data
    - orig_len
    argTypes:
    - SSL_CTX*
    - int
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 432
    functionDepth: 7
    functionLinenumber: 432
    functionLinenumberEnd: 444
    functionName: SSL_CTX_get1_compressed_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - ctx::ctx
    - ssl_get_compressed_cert
    linkageType: ''
    returnType: size_t
    signature: size_t SSL_CTX_get1_compressed_cert(SSL_CTX *ctx, int alg, unsigned
      char **data, size_t *orig_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_set1_compressed_cert
      Src: /src/openssl/ssl/ssl_cert_comp.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - algorithm
    - comp_data
    - comp_length
    - orig_length
    argTypes:
    - SSL_CTX*
    - int
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: SSL_CTX_set1_compressed_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 0
    functionsReached:
    - ossl_set1_compressed_cert
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_set1_compressed_cert(SSL_CTX *ctx, int algorithm, unsigned
      char *comp_data,\n                                 size_t comp_length, size_t
      orig_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/ssl_cert_comp.c:460,1
    - Dst: ossl_set1_compressed_cert
      Src: /src/openssl/ssl/ssl_cert_comp.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - ssl
    - algorithm
    - comp_data
    - comp_length
    - orig_length
    argTypes:
    - SSL*
    - int
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: SSL_set1_compressed_cert
    functionSourceFile: /src/openssl/ssl/ssl_cert_comp.c
    functionUses: 1
    functionsReached:
    - ossl_set1_compressed_cert
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_set1_compressed_cert(SSL *ssl, int algorithm, unsigned char
      *comp_data,\n                             size_t comp_length, size_t orig_length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/ssl/tls13_enc.c:40,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/tls13_enc.c:44,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/ssl/tls13_enc.c:48,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/ssl/tls13_enc.c:49,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls13_enc.c:59,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:61,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:65,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:66,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls13_enc.c:68,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/tls13_enc.c:73,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/tls13_enc.c:74,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:76,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:78,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:81,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:84,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/tls13_enc.c:87,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/ssl/tls13_enc.c:89,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:90,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/tls13_enc.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 11
    argNames:
    - libctx
    - propq
    - md
    - secret
    - label
    - labellen
    - data
    - datalen
    - out
    - outlen
    - raise_error
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 98
    functionName: tls13_hkdf_expand_ex
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - ERR_raise
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - EVP_KDF_free
    - EVP_MD_get_size
    - OSSL_PARAM_construct_utf8_string
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_int
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int tls13_hkdf_expand_ex(OSSL_LIB_CTX *libctx, const char *propq,\n
      \                        const EVP_MD *md,\n                         const unsigned
      char *secret,\n                         const unsigned char *label, size_t labellen,\n
      \                        const unsigned char *data, size_t datalen,\n                         unsigned
      char *out, size_t outlen, int raise_error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:107,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/tls13_enc.c:109,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 10
    argNames:
    - s
    - md
    - secret
    - label
    - labellen
    - data
    - datalen
    - out
    - outlen
    - fatal
    argTypes:
    - SSL_CONNECTION*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: tls13_hkdf_expand
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - SSLfatal
    - tls13_hkdf_expand_ex
    linkageType: ''
    returnType: int
    signature: "int tls13_hkdf_expand(SSL_CONNECTION *s, const EVP_MD *md,\n                      const
      unsigned char *secret,\n                      const unsigned char *label, size_t
      labellen,\n                      const unsigned char *data, size_t datalen,\n
      \                     unsigned char *out, size_t outlen, int fatal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - md
    - secret
    - key
    - keylen
    argTypes:
    - SSL_CONNECTION*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: tls13_derive_key
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 1
    functionsReached:
    - tls13_hkdf_expand
    linkageType: ''
    returnType: int
    signature: "int tls13_derive_key(SSL_CONNECTION *s, const EVP_MD *md,\n                     const
      unsigned char *secret,\n                     unsigned char *key, size_t keylen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - md
    - secret
    - iv
    - ivlen
    argTypes:
    - SSL_CONNECTION*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: tls13_derive_iv
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 1
    functionsReached:
    - tls13_hkdf_expand
    linkageType: ''
    returnType: int
    signature: "int tls13_derive_iv(SSL_CONNECTION *s, const EVP_MD *md,\n                    const
      unsigned char *secret,\n                    unsigned char *iv, size_t ivlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - md
    - secret
    - fin
    - finlen
    argTypes:
    - SSL_CONNECTION*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 7
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: tls13_derive_finishedkey
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - tls13_hkdf_expand
    linkageType: ''
    returnType: int
    signature: "int tls13_derive_finishedkey(SSL_CONNECTION *s, const EVP_MD *md,\n
      \                            const unsigned char *secret,\n                             unsigned
      char *fin, size_t finlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/tls13_enc.c:177,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:180,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/ssl/tls13_enc.c:182,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/ssl/tls13_enc.c:183,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/ssl/tls13_enc.c:184,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:186,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:190,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/tls13_enc.c:192,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:193,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:194,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/tls13_enc.c:199,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/tls13_enc.c:200,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:203,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:207,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:209,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/tls13_enc.c:212,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/tls13_enc.c:215,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/ssl/tls13_enc.c:217,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:220,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 6
    argNames:
    - s
    - md
    - prevsecret
    - insecret
    - insecretlen
    - outsecret
    argTypes:
    - SSL_CONNECTION*
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 224
    functionName: tls13_generate_secret
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 2
    functionsReached:
    - EVP_KDF_fetch
    - SSLfatal
    - ossl_assert
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_end
    - EVP_KDF_free
    - EVP_MD_get_size
    - OSSL_PARAM_construct_utf8_string
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_int
    - SSL_CONNECTION_GET_CTX
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int tls13_generate_secret(SSL_CONNECTION *s, const EVP_MD *md,\n                          const
      unsigned char *prevsecret,\n                          const unsigned char *insecret,\n
      \                         size_t insecretlen,\n                          unsigned
      char *outsecret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls13_generate_secret
      Src: /src/openssl/ssl/tls13_enc.c:236,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - insecret
    - insecretlen
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 6
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: tls13_generate_handshake_secret
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 2
    functionsReached:
    - ssl_handshake_md
    - tls13_generate_secret
    linkageType: ''
    returnType: int
    signature: "int tls13_generate_handshake_secret(SSL_CONNECTION *s,\n                                    const
      unsigned char *insecret,\n                                    size_t insecretlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:250,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:253,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:255,1
    - Dst: tls13_generate_secret
      Src: /src/openssl/ssl/tls13_enc.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - s
    - out
    - prev
    - prevlen
    - secret_size
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 6
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tls13_generate_master_secret
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 1
    functionsReached:
    - ssl_handshake_md
    - EVP_MD_get_size
    - SSLfatal
    - tls13_generate_secret
    linkageType: ''
    returnType: int
    signature: "int tls13_generate_master_secret(SSL_CONNECTION *s, unsigned char
      *out,\n                                 unsigned char *prev, size_t prevlen,\n
      \                                size_t *secret_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:270,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/tls13_enc.c:271,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:277,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/tls13_enc.c:284,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/tls13_enc.c:287,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/tls13_enc.c:289,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/tls13_enc.c:294,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/tls13_enc.c:296,1
    - Dst: tls13_derive_finishedkey
      Src: /src/openssl/ssl/tls13_enc.c:299,1
    - Dst: EVP_Q_mac
      Src: /src/openssl/ssl/tls13_enc.c:306,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:310,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - s
    - str
    - slen
    - out
    argTypes:
    - SSL_CONNECTION*
    - char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 267
    functionDepth: 8
    functionLinenumber: 267
    functionLinenumberEnd: 317
    functionName: tls13_final_finish_mac
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - EVP_Q_mac
    - SSLfatal
    - OSSL_PARAM_construct_end
    - ssl_handshake_md
    - OSSL_PARAM_construct_utf8_string
    - tls13_derive_finishedkey
    - EVP_MD_get0_name
    - SSL_CONNECTION_GET_SSL
    - ssl_handshake_hash
    - SSL_CONNECTION_GET_CTX
    - SSL_IS_FIRST_HANDSHAKE
    - OPENSSL_cleanse
    linkageType: ''
    returnType: size_t
    signature: "size_t tls13_final_finish_mac(SSL_CONNECTION *s, const char *str,
      size_t slen,\n                             unsigned char *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_cipher_get_evp
      Src: /src/openssl/ssl/tls13_enc.c:331,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:331,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/tls13_enc.c:334,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/tls13_enc.c:338,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/tls13_enc.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: tls13_setup_key_block
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - ssl_evp_md_free
    - ssl_cipher_get_evp
    - ssl_evp_cipher_free
    - SSL_CONNECTION_GET_CTX
    - SSLfatal_alert
    linkageType: ''
    returnType: int
    signature: int tls13_setup_key_block(SSL_CONNECTION *s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:360,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/tls13_enc.c:365,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:366,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:371,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/tls13_enc.c:378,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:381,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:384,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/tls13_enc.c:391,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/tls13_enc.c:393,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:407,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/tls13_enc.c:423,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:425,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/tls13_enc.c:433,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:435,1
    - Dst: tls13_derive_key
      Src: /src/openssl/ssl/tls13_enc.c:440,1
    - Dst: tls13_derive_iv
      Src: /src/openssl/ssl/tls13_enc.c:441,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 15
    argNames:
    - s
    - md
    - ciph
    - mac_type
    - mac_md
    - insecret
    - hash
    - label
    - labellen
    - secret
    - key
    - keylen
    - iv
    - ivlen
    - taglen
    argTypes:
    - SSL_CONNECTION*
    - EVP_MD*
    - EVP_CIPHER*
    - int
    - EVP_MD*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - size_t*
    - unsigned char**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 348
    functionDepth: 9
    functionLinenumber: 348
    functionLinenumberEnd: 447
    functionName: derive_secret_key_and_iv
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_assert
    - EVP_CIPHER_get_iv_length
    - EVP_MD_get_size
    - tls13_derive_key
    - EVP_CIPHER_is_a
    - tls13_derive_iv
    - EVP_CIPHER_get_key_length
    - tls13_hkdf_expand
    - OPENSSL_malloc
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: "int derive_secret_key_and_iv(SSL_CONNECTION *s, const EVP_MD *md,\n
      \                                   const EVP_CIPHER *ciph,\n                                    int
      mac_type,\n                                    const EVP_MD *mac_md,\n                                    const
      unsigned char *insecret,\n                                    const unsigned
      char *hash,\n                                    const unsigned char *label,\n
      \                                   size_t labellen, unsigned char *secret,\n
      \                                   unsigned char *key, size_t *keylen,\n                                    unsigned
      char **iv, size_t *ivlen,\n                                    size_t *taglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/tls13_enc.c:453,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/tls13_enc.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - hash
    - len
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: tls13_store_hash
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - ssl3_digest_cached_records
    - ssl_handshake_hash
    linkageType: ''
    returnType: int
    signature: int tls13_store_hash(SSL_CONNECTION *s, unsigned char *hash, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls13_store_hash
      Src: /src/openssl/ssl/tls13_enc.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: tls13_store_handshake_traffic_hash
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - tls13_store_hash
    linkageType: ''
    returnType: int
    signature: int tls13_store_handshake_traffic_hash(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls13_store_hash
      Src: /src/openssl/ssl/tls13_enc.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: tls13_store_server_finished_hash
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - tls13_store_hash
    linkageType: ''
    returnType: int
    signature: int tls13_store_server_finished_hash(SSL_CONNECTION *s)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:508,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/ssl/tls13_enc.c:521,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/ssl/tls13_enc.c:528,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:530,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/tls13_enc.c:542,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:545,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/ssl/tls13_enc.c:548,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:551,1
    - Dst: ssl_cipher_get_evp_cipher
      Src: /src/openssl/ssl/tls13_enc.c:559,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/tls13_enc.c:561,1
    - Dst: EVP_CIPHER_flags
      Src: /src/openssl/ssl/tls13_enc.c:565,1
    - Dst: ssl_cipher_get_evp_md_mac
      Src: /src/openssl/ssl/tls13_enc.c:566,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/tls13_enc.c:568,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/tls13_enc.c:577,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:579,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/tls13_enc.c:583,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:584,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/tls13_enc.c:585,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:586,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:587,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:588,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:592,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:594,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:600,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/tls13_enc.c:604,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:606,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:612,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:612,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:614,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:648,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:648,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:650,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:666,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/tls13_enc.c:670,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/tls13_enc.c:671,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:682,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:682,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/tls13_enc.c:693,1
    - Dst: derive_secret_key_and_iv
      Src: /src/openssl/ssl/tls13_enc.c:696,1
    - Dst: memcpy
      Src: /src/openssl/ssl/tls13_enc.c:704,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:706,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:706,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/tls13_enc.c:715,1
    - Dst: memcpy
      Src: /src/openssl/ssl/tls13_enc.c:721,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/tls13_enc.c:723,1
    - Dst: tls13_derive_finishedkey
      Src: /src/openssl/ssl/tls13_enc.c:729,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:729,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_plain_alerts
      Src: /src/openssl/ssl/tls13_enc.c:737,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_plain_alerts
      Src: /src/openssl/ssl/tls13_enc.c:739,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/tls13_enc.c:748,1
    - Dst: EVP_CIPHER_flags
      Src: /src/openssl/ssl/tls13_enc.c:761,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/tls13_enc.c:762,1
    - Dst: ssl_evp_cipher_free
      Src: /src/openssl/ssl/tls13_enc.c:763,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:765,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:766,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls13_enc.c:768,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 171
    argCount: 2
    argNames:
    - s
    - which
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 474
    functionDepth: 10
    functionLinenumber: 474
    functionLinenumberEnd: 770
    functionName: tls13_change_cipher_state
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_DigestUpdate
    - ssl_handshake_md
    - memcpy
    - OPENSSL_free
    - BIO_get_mem_data
    - derive_secret_key_and_iv
    - SSL_SESSION_get0_cipher
    - SSL_CONNECTION*::rlayer::wrlmethod::set_plain_alerts
    - OPENSSL_cleanse
    - ossl_assert
    - ssl_md
    - tls13_derive_finishedkey
    - EVP_CIPHER_flags
    - EVP_DigestInit_ex
    - ssl_handshake_hash
    - ssl_set_new_record_layer
    - EVP_DigestFinal_ex
    - ssl_evp_md_free
    - ssl3_digest_cached_records
    - ssl_log_secret
    - SSL_CONNECTION_GET_CTX
    - ssl_cipher_get_evp_cipher
    - EVP_MD_get_size
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ssl_cipher_get_evp_md_mac
    - ssl_evp_cipher_free
    - SSLfatal_alert
    - tls13_hkdf_expand
    linkageType: ''
    returnType: int
    signature: int tls13_change_cipher_state(SSL_CONNECTION *s, int which)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:776,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/tls13_enc.c:789,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/tls13_enc.c:790,1
    - Dst: derive_secret_key_and_iv
      Src: /src/openssl/ssl/tls13_enc.c:800,1
    - Dst: memcpy
      Src: /src/openssl/ssl/tls13_enc.c:811,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/tls13_enc.c:813,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/tls13_enc.c:825,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:831,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/tls13_enc.c:832,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/tls13_enc.c:834,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - s
    - sending
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 772
    functionDepth: 10
    functionLinenumber: 772
    functionLinenumberEnd: 836
    functionName: tls13_update_key
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - ssl_set_new_record_layer
    - SSLfatal
    - ssl_handshake_md
    - EVP_MD_get_size
    - memcpy
    - OPENSSL_free
    - derive_secret_key_and_iv
    - ssl_log_secret
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int tls13_update_key(SSL_CONNECTION *s, int sending)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls1_alert_code
      Src: /src/openssl/ssl/tls13_enc.c:844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: tls13_alert_code
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 1
    functionsReached:
    - tls1_alert_code
    linkageType: ''
    returnType: int
    signature: int tls13_alert_code(int code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/tls13_enc.c:857,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/tls13_enc.c:858,1
    - Dst: ossl_statem_export_allowed
      Src: /src/openssl/ssl/tls13_enc.c:862,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:868,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/tls13_enc.c:869,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:870,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:871,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:872,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:873,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:876,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:883,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 8
    argNames:
    - s
    - out
    - olen
    - label
    - llen
    - context
    - contextlen
    - use_context
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 847
    functionDepth: 8
    functionLinenumber: 847
    functionLinenumberEnd: 885
    functionName: tls13_export_keying_material
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - ssl_handshake_md
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    - tls13_hkdf_expand
    - ossl_statem_export_allowed
    linkageType: ''
    returnType: int
    signature: "int tls13_export_keying_material(SSL_CONNECTION *s,\n                                 unsigned
      char *out, size_t olen,\n                                 const char *label,
      size_t llen,\n                                 const unsigned char *context,\n
      \                                size_t contextlen, int use_context)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/tls13_enc.c:898,1
    - Dst: ossl_statem_export_early_allowed
      Src: /src/openssl/ssl/tls13_enc.c:903,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/ssl/tls13_enc.c:908,1
    - Dst: SSL_SESSION_get0_cipher
      Src: /src/openssl/ssl/tls13_enc.c:910,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/tls13_enc.c:912,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/tls13_enc.c:912,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:930,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/tls13_enc.c:931,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:932,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/tls13_enc.c:933,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/tls13_enc.c:934,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:935,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/tls13_enc.c:938,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/tls13_enc.c:945,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 7
    argNames:
    - s
    - out
    - olen
    - label
    - llen
    - context
    - contextlen
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 887
    functionDepth: 8
    functionLinenumber: 887
    functionLinenumberEnd: 947
    functionName: tls13_export_keying_material_early
    functionSourceFile: /src/openssl/ssl/tls13_enc.c
    functionUses: 1
    functionsReached:
    - EVP_DigestFinal_ex
    - ssl_md
    - EVP_DigestUpdate
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ossl_statem_export_early_allowed
    - tls13_hkdf_expand
    - EVP_DigestInit_ex
    - SSL_CONNECTION_GET_CTX
    - SSL_SESSION_get0_cipher
    linkageType: ''
    returnType: int
    signature: "int tls13_export_keying_material_early(SSL_CONNECTION *s,\n                                       unsigned
      char *out, size_t olen,\n                                       const char *label,
      size_t llen,\n                                       const unsigned char *context,\n
      \                                      size_t contextlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rl
    - ','
    - ra
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: RECORD_LAYER_set_read_ahead
    functionSourceFile: /src/openssl/ssl/record/record.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECORD_LAYER_set_read_ahead(rl, ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: RECORD_LAYER_get_read_ahead
    functionSourceFile: /src/openssl/ssl/record/record.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECORD_LAYER_get_read_ahead(rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: HANDLE_RLAYER_READ_RETURN
    functionSourceFile: /src/openssl/ssl/record/record.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_RLAYER_READ_RETURN(s, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: HANDLE_RLAYER_WRITE_RETURN
    functionSourceFile: /src/openssl/ssl/record/record.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_RLAYER_WRITE_RETURN(s, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rl
    - s
    argTypes:
    - RECORD_LAYER*
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: RECORD_LAYER_init
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RECORD_LAYER_init(RECORD_LAYER *rl, SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:38,1
    - Dst: memset
      Src: /src/openssl/ssl/record/rec_layer_s3.c:44,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:53,1
    - Dst: RECORD_LAYER*::rrlmethod::free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:57,1
    - Dst: RECORD_LAYER*::wrlmethod::free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:59,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:60,1
    - Dst: DTLS_RECORD_LAYER_clear
      Src: /src/openssl/ssl/record/rec_layer_s3.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 71
    functionName: RECORD_LAYER_clear
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 3
    functionsReached:
    - memset
    - RECORD_LAYER*::wrlmethod::free
    - ssl_release_record
    - RECORD_LAYER*::rrlmethod::free
    - BIO_free
    - DTLS_RECORD_LAYER_clear
    linkageType: ''
    returnType: int
    signature: int RECORD_LAYER_clear(RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RECORD_LAYER_clear
      Src: /src/openssl/ssl/record/rec_layer_s3.c:77,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/record/rec_layer_s3.c:80,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:81,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/record/rec_layer_s3.c:88,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: RECORD_LAYER_reset
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 3
    functionsReached:
    - ssl_set_new_record_layer
    - RECORD_LAYER_clear
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: int RECORD_LAYER_reset(RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RECORD_LAYER*::rrlmethod::unprocessed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: RECORD_LAYER_read_pending
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 2
    functionsReached:
    - RECORD_LAYER*::rrlmethod::unprocessed_read_pending
    linkageType: ''
    returnType: int
    signature: int RECORD_LAYER_read_pending(const RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RECORD_LAYER*::rrlmethod::processed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: RECORD_LAYER_processed_read_pending
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 1
    functionsReached:
    - RECORD_LAYER*::rrlmethod::processed_read_pending
    linkageType: ''
    returnType: int
    signature: int RECORD_LAYER_processed_read_pending(const RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: RECORD_LAYER_write_pending
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RECORD_LAYER_write_pending(const RECORD_LAYER *rl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:129,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 146
    functionName: ossl_get_max_early_data
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - SSLfatal
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_get_max_early_data(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_get_max_early_data
      Src: /src/openssl/ssl/record/rec_layer_s3.c:153,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:156,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - s
    - length
    - overhead
    - send
    argTypes:
    - SSL_CONNECTION*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: ossl_early_data_count_ok
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_get_max_early_data
    linkageType: ''
    returnType: int
    signature: "int ossl_early_data_count_ok(SSL_CONNECTION *s, size_t length,\n                                    size_t
      overhead, int send)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:177,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:182,1
    - Dst: pqueue_iterator
      Src: /src/openssl/ssl/record/rec_layer_s3.c:186,1
    - Dst: pqueue_next
      Src: /src/openssl/ssl/record/rec_layer_s3.c:187,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::app_data_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 202
    functionName: ssl3_pending
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - pqueue_iterator
    - SSL_CONNECTION_IS_DTLS
    - pqueue_next
    - SSL_CONNECTION*::rlayer::rrlmethod::app_data_pending
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: size_t
    signature: size_t ssl3_pending(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - SSL_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: SSL_CTX_set_default_read_buffer_len
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set_default_read_buffer_len(SSL_CTX *ctx, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:211,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/record/rec_layer_s3.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: SSL_set_default_read_buffer_len
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - IS_QUIC
    linkageType: ''
    returnType: void
    signature: void SSL_set_default_read_buffer_len(SSL *s, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:220,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::get_state
      Src: /src/openssl/ssl/record/rec_layer_s3.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 232
    functionName: SSL_rstate_string_long
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION*::rlayer::rrlmethod::get_state
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_rstate_string_long(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:236,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::get_state
      Src: /src/openssl/ssl/record/rec_layer_s3.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 248
    functionName: SSL_rstate_string
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION*::rlayer::rrlmethod::get_state
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: char
    signature: char *SSL_rstate_string(const SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - s
    - type
    - buf
    - len
    argTypes:
    - SSL_CONNECTION*
    - uint8_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: tls_write_check_pending
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: "int tls_write_check_pending(SSL_CONNECTION *s, uint8_t type,\n                                   const
      unsigned char *buf, size_t len)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/record/rec_layer_s3.c:278,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:299,1
    - Dst: ossl_early_data_count_ok
      Src: /src/openssl/ssl/record/rec_layer_s3.c:304,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:318,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:325,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_s3.c:325,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_s3.c:327,1
    - Dst: tls_write_check_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:336,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/record/rec_layer_s3.c:342,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::retry_write_records
      Src: /src/openssl/ssl/record/rec_layer_s3.c:343,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:369,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/record/rec_layer_s3.c:380,1
    - Dst: ssl_get_split_send_fragment
      Src: /src/openssl/ssl/record/rec_layer_s3.c:381,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:390,1
    - Dst: SSL_get_state
      Src: /src/openssl/ssl/record/rec_layer_s3.c:399,1
    - Dst: TLS1_get_version
      Src: /src/openssl/ssl/record/rec_layer_s3.c:401,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::get_max_records
      Src: /src/openssl/ssl/record/rec_layer_s3.c:413,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:429,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/record/rec_layer_s3.c:469,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::write_records
      Src: /src/openssl/ssl/record/rec_layer_s3.c:470,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 109
    argCount: 5
    argNames:
    - ssl
    - type
    - buf_
    - len
    - written
    argTypes:
    - SSL*
    - uint8_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 488
    functionName: ssl3_write_bytes
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ossl_statem_get_in_handshake
    - SSLfatal
    - ossl_statem_set_in_init
    - SSL_CONNECTION*::rlayer::wrlmethod::get_max_records
    - SSL_in_init
    - TLS1_get_version
    - ossl_early_data_count_ok
    - tls_write_check_pending
    - SSL_CONNECTION*::handshake_func
    - SSL_CONNECTION*::rlayer::wrlmethod::retry_write_records
    - SSL_CONNECTION*::rlayer::wrlmethod::write_records
    - HANDLE_RLAYER_WRITE_RETURN
    - ssl_get_max_send_fragment
    - SSL_CONNECTION_FROM_SSL_ONLY
    - ssl_get_split_send_fragment
    - SSL*::method::ssl_dispatch_alert
    - SSL_get_state
    linkageType: ''
    returnType: int
    signature: "int ssl3_write_bytes(SSL *ssl, uint8_t type, const void *buf_, size_t
      len,\n                     size_t *written)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:493,1
    - Dst: ERR_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:506,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/record/rec_layer_s3.c:507,1
    - Dst: ossl_statem_fatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:508,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/ssl/record/rec_layer_s3.c:512,1
    - Dst: ERR_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:515,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/record/rec_layer_s3.c:516,1
    - Dst: ossl_statem_fatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:521,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::get_alert_code
      Src: /src/openssl/ssl/record/rec_layer_s3.c:525,1
    - Dst: ERR_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:528,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/record/rec_layer_s3.c:529,1
    - Dst: ossl_statem_fatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:530,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - s
    - writing
    - ret
    - file
    - line
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 552
    functionName: ossl_tls_handle_rlayer_return
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ossl_statem_fatal
    - ERR_set_debug
    - ERR_new
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION*::rlayer::rrlmethod::get_alert_code
    - SSL_set_shutdown
    linkageType: ''
    returnType: int
    signature: "int ossl_tls_handle_rlayer_return(SSL_CONNECTION *s, int writing,
      int ret,\n                                  char *file, int line)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:560,1
    - Dst: HANDLE_RLAYER_READ_RETURN
      Src: /src/openssl/ssl/record/rec_layer_s3.c:565,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:566,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:577,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - s
    - rr
    - length
    argTypes:
    - SSL_CONNECTION*
    - TLS_RECORD*
    - size_t
    assertStmts:
    - condition: (rr->length >= length)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/openssl/ssl/record/rec_layer_s3.c
    constantsTouched: []
    func_position:
      end: 588
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 588
    functionName: ssl_release_record
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - HANDLE_RLAYER_READ_RETURN
    - assert
    - SSL_CONNECTION*::rlayer::rrlmethod::release_record
    linkageType: ''
    returnType: int
    signature: int ssl_release_record(SSL_CONNECTION *s, TLS_RECORD *rr, size_t length)
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/record/rec_layer_s3.c:629,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/record/rec_layer_s3.c:631,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:637,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_s3.c:671,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:671,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_s3.c:673,1
    - Dst: HANDLE_RLAYER_READ_RETURN
      Src: /src/openssl/ssl/record/rec_layer_s3.c:696,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::read_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:697,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::processed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:708,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/record/rec_layer_s3.c:715,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:716,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:733,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:761,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/record/rec_layer_s3.c:762,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:763,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:770,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:783,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/rec_layer_s3.c:797,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:801,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:804,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:840,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:853,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:867,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/rec_layer_s3.c:868,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/rec_layer_s3.c:869,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/record/rec_layer_s3.c:870,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:871,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/record/rec_layer_s3.c:876,1
    - Dst: cb
      Src: /src/openssl/ssl/record/rec_layer_s3.c:886,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:892,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:897,1
    - Dst: SSLfatal_data
      Src: /src/openssl/ssl/record/rec_layer_s3.c:916,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:920,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/record/rec_layer_s3.c:922,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:933,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:940,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/record/rec_layer_s3.c:955,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:956,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_s3.c:963,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_s3.c:964,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_s3.c:965,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:976,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:978,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1001,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1008,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1016,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1025,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1029,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1031,1
    - Dst: RECORD_LAYER_read_pending
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1048,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1057,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1058,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1059,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1075,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1085,1
    - Dst: ossl_statem_app_data_allowed
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1095,1
    - Dst: ossl_statem_skip_early_data
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1098,1
    - Dst: ossl_early_data_count_ok
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1108,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1113,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1117,1
    CyclomaticComplexity: 116
    EdgeCount: 116
    ICount: 254
    argCount: 7
    argNames:
    - ssl
    - type
    - recvd_type
    - buf
    - len
    - peek
    - readbytes
    argTypes:
    - SSL*
    - uint8_t
    - uint8_t*
    - unsigned char*
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 1121
    functionName: ssl3_read_bytes
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ossl_statem_get_in_handshake
    - SSLfatal
    - memcpy
    - SSL_CONNECTION*::handshake_func
    - RECORD_LAYER_read_pending
    - cb
    - HANDLE_RLAYER_READ_RETURN
    - PACKET_buf_init
    - ossl_early_data_count_ok
    - ossl_statem_app_data_allowed
    - SSL_CONNECTION*::rlayer::rrlmethod::read_record
    - SSL_CONNECTION_FROM_SSL_ONLY
    - ossl_statem_skip_early_data
    - SSL_IS_FIRST_HANDSHAKE
    - ossl_statem_set_in_init
    - BIO_clear_retry_flags
    - SSL_in_init
    - ssl_release_record
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION*::rlayer::rrlmethod::processed_read_pending
    - SSL_CTX_remove_session
    - PACKET_get_1
    - BIO_set_retry_read
    - PACKET_remaining
    - SSL_get_rbio
    - SSLfatal_data
    linkageType: ''
    returnType: int
    signature: "int ssl3_read_bytes(SSL *ssl, uint8_t type, uint8_t *recvd_type,\n
      \                   unsigned char *buf, size_t len,\n                    int
      peek, size_t *readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1132
    functionName: RECORD_LAYER_is_sslv2_record
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: int RECORD_LAYER_is_sslv2_record(RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1140,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 6
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - cbarg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1145
    functionName: rlayer_msg_callback_wrapper
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION_GET_USER_SSL
    linkageType: ''
    returnType: void
    signature: "void rlayer_msg_callback_wrapper(int write_p, int version,\n                                        int
      content_type, const void *buf,\n                                        size_t
      len, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl_security
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cbarg
    - op
    - bits
    - nid
    - other
    argTypes:
    - void*
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1148
    functionDepth: 2
    functionLinenumber: 1148
    functionLinenumberEnd: 1154
    functionName: rlayer_security_wrapper
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ssl_security
    linkageType: ''
    returnType: int
    signature: "int rlayer_security_wrapper(void *cbarg, int op, int bits, int nid,\n
      \                                  void *other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1160,1
    - Dst: SSL_CONNECTION*::rlayer::record_padding_cb
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cbarg
    - type
    - len
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1164
    functionName: rlayer_padding_wrapper
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION*::rlayer::record_padding_cb
    linkageType: ''
    returnType: size_t
    signature: size_t rlayer_padding_wrapper(void *cbarg, int type, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - meth
    - rlarg
    argTypes:
    - SSL_CONNECTION*
    - OSSL_RECORD_METHOD*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1180
    functionName: ossl_ssl_set_custom_record_layer
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_ssl_set_custom_record_layer(SSL_CONNECTION *s,\n                                      const
      OSSL_RECORD_METHOD *meth,\n                                      void *rlarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1190,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1200,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - s
    - direction
    - level
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1207
    functionName: ssl_select_next_record_layer
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - SSL_IS_FIRST_HANDSHAKE
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: OSSL_RECORD_METHOD
    signature: "OSSL_RECORD_METHOD *ssl_select_next_record_layer(SSL_CONNECTION *s,\n
      \                                                             int direction,\n
      \                                                             int level)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1224,1
    - Dst: SSL_set_options
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1228,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1232,1
    - Dst: OSSL_RECORD_METHOD*::set_first_handshake
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1233,1
    - Dst: OSSL_RECORD_METHOD*::set_max_pipelines
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - direction
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1209
    functionDepth: 3
    functionLinenumber: 1209
    functionLinenumberEnd: 1239
    functionName: ssl_post_record_layer_select
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - OSSL_RECORD_METHOD*::set_max_pipelines
    - SSL_CONNECTION_GET_SSL
    - OSSL_RECORD_METHOD*::set_first_handshake
    - SSL_set_options
    - SSL_IS_FIRST_HANDSHAKE
    linkageType: ''
    returnType: int
    signature: int ssl_post_record_layer_select(SSL_CONNECTION *s, int direction)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1256,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1260,1
    - Dst: ssl_select_next_record_layer
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1266,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1281,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1282,1
    - Dst: OSSL_PARAM_construct_uint64
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1287,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1289,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1292,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1294,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1297,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1299,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1302,1
    - Dst: SSL_READ_ETM
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1306,1
    - Dst: SSL_WRITE_ETM
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1313,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1322,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1326,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1330,1
    - Dst: USE_MAX_FRAGMENT_LENGTH_EXT
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1339,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1340,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1344,1
    - Dst: ossl_get_max_early_data
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1359,1
    - Dst: OSSL_PARAM_construct_uint32
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1362,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1366,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1373,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1378,1
    - Dst: dtls1_get_epoch
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1380,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1383,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1384,1
    - Dst: BIO_s_dgram_mem
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1384,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1387,1
    - Dst: BIO_s_mem
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1387,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1390,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1395,1
    - Dst: dtls1_get_epoch
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1397,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1404,1
    - Dst: OSSL_RECORD_METHOD*::new_record_layer
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1420,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1428,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1431,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1443,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1451,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1464,1
    - Dst: pqueue_peek
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1466,1
    - Dst: free
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1467,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1468,1
    - Dst: ssl_post_record_layer_select
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1476,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 124
    argCount: 18
    argNames:
    - s
    - version
    - direction
    - level
    - secret
    - secretlen
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    - kdfdigest
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - SSL_COMP*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1241
    functionDepth: 5
    functionLinenumber: 1241
    functionLinenumberEnd: 1477
    functionName: ssl_set_new_record_layer
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 6
    functionsReached:
    - BIO_s_dgram_mem
    - OSSL_PARAM_construct_uint
    - SSLfatal
    - ERR_raise
    - pqueue_peek
    - dtls1_get_epoch
    - SSL_WRITE_ETM
    - ossl_get_max_early_data
    - BIO_s_mem
    - ssl_get_max_send_fragment
    - ossl_assert
    - BIO_new
    - OSSL_PARAM_construct_uint32
    - OSSL_PARAM_construct_size_t
    - SSL_READ_ETM
    - GET_MAX_FRAGMENT_LENGTH
    - OSSL_PARAM_construct_end
    - OSSL_RECORD_METHOD*::new_record_layer
    - free
    - ssl_select_next_record_layer
    - BIO_free
    - ssl_post_record_layer_select
    - USE_MAX_FRAGMENT_LENGTH_EXT
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_GET_CTX
    - OSSL_PARAM_construct_uint64
    - OSSL_PARAM_construct_int
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: "int ssl_set_new_record_layer(SSL_CONNECTION *s, int version,\n                             int
      direction, int level,\n                             unsigned char *secret, size_t
      secretlen,\n                             unsigned char *key, size_t keylen,\n
      \                            unsigned char *iv,  size_t ivlen,\n                             unsigned
      char *mackey, size_t mackeylen,\n                             const EVP_CIPHER
      *ciph, size_t taglen,\n                             int mactype, const EVP_MD
      *md,\n                             const SSL_COMP *comp, const EVP_MD *kdfdigest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1481,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1482,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_protocol_version
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1484,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_protocol_version
      Src: /src/openssl/ssl/record/rec_layer_s3.c:1485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - vers
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1488
    functionName: ssl_set_record_protocol_version
    functionSourceFile: /src/openssl/ssl/record/rec_layer_s3.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - SSL_CONNECTION*::rlayer::rrlmethod::set_protocol_version
    - SSL_CONNECTION*::rlayer::wrlmethod::set_protocol_version
    linkageType: ''
    returnType: int
    signature: int ssl_set_record_protocol_version(SSL_CONNECTION *s, int vers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/rec_layer_d1.c:24,1
    - Dst: pqueue_new
      Src: /src/openssl/ssl/record/rec_layer_d1.c:29,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: DTLS_RECORD_LAYER_new
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - pqueue_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int DTLS_RECORD_LAYER_new(RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DTLS_RECORD_LAYER_clear
      Src: /src/openssl/ssl/record/rec_layer_d1.c:45,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:46,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: DTLS_RECORD_LAYER_free
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 1
    functionsReached:
    - DTLS_RECORD_LAYER_clear
    - OPENSSL_free
    - pqueue_free
    linkageType: ''
    returnType: void
    signature: void DTLS_RECORD_LAYER_free(RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/record/rec_layer_d1.c:60,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/record/rec_layer_d1.c:64,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:65,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:66,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:67,1
    - Dst: memset
      Src: /src/openssl/ssl/record/rec_layer_d1.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rl
    argTypes:
    - RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: DTLS_RECORD_LAYER_clear
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 3
    functionsReached:
    - pqueue_pop
    - memset
    - OPENSSL_free
    - OPENSSL_cleanse
    - pitem_free
    linkageType: ''
    returnType: void
    signature: void DTLS_RECORD_LAYER_clear(RECORD_LAYER *rl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_size
      Src: /src/openssl/ssl/record/rec_layer_d1.c:82,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_d1.c:86,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/rec_layer_d1.c:89,1
    - Dst: pitem_new
      Src: /src/openssl/ssl/record/rec_layer_d1.c:90,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:92,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:93,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:94,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/record/rec_layer_d1.c:104,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:106,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:107,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:108,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/record/rec_layer_d1.c:121,1
    - Dst: ossl_statem_get_state
      Src: /src/openssl/ssl/record/rec_layer_d1.c:122,1
    - Dst: ossl_statem_get_state
      Src: /src/openssl/ssl/record/rec_layer_d1.c:123,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/record/rec_layer_d1.c:124,1
    - Dst: pqueue_insert
      Src: /src/openssl/ssl/record/rec_layer_d1.c:129,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:131,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:132,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - s
    - rec
    argTypes:
    - SSL_CONNECTION*
    - TLS_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 137
    functionName: dtls_buffer_record
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - SSLfatal
    - pqueue_insert
    - BIO_ctrl
    - OPENSSL_memdup
    - pqueue_size
    - OPENSSL_free
    - pitem_new
    - BIO_dgram_is_sctp
    - pitem_free
    - ossl_statem_get_state
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int dtls_buffer_record(SSL_CONNECTION *s, TLS_RECORD *rec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/record/rec_layer_d1.c:149,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/record/rec_layer_d1.c:159,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/record/rec_layer_d1.c:160,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:165,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/rec_layer_d1.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 168
    functionName: dtls_unbuffer_record
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 0
    functionsReached:
    - pqueue_pop
    - BIO_ctrl
    - OPENSSL_free
    - BIO_dgram_is_sctp
    - pitem_free
    linkageType: ''
    returnType: void
    signature: void dtls_unbuffer_record(SSL_CONNECTION *s)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/record/rec_layer_d1.c:207,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:215,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_d1.c:219,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_d1.c:219,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_d1.c:221,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/ssl/record/rec_layer_d1.c:236,1
    - Dst: dtls_unbuffer_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:237,1
    - Dst: dtls1_handle_timeout
      Src: /src/openssl/ssl/record/rec_layer_d1.c:240,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/record/rec_layer_d1.c:242,1
    - Dst: HANDLE_RLAYER_READ_RETURN
      Src: /src/openssl/ssl/record/rec_layer_d1.c:253,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::read_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:254,1
    - Dst: dtls1_read_failed
      Src: /src/openssl/ssl/record/rec_layer_d1.c:260,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::processed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_d1.c:272,1
    - Dst: dtls_buffer_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:294,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:298,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:308,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/record/rec_layer_d1.c:326,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/record/rec_layer_d1.c:327,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:328,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:342,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/rec_layer_d1.c:352,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:354,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:357,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/record/rec_layer_d1.c:366,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:366,1
    - Dst: BIO_dgram_sctp_msg_waiting
      Src: /src/openssl/ssl/record/rec_layer_d1.c:368,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:368,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/record/rec_layer_d1.c:387,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/rec_layer_d1.c:388,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/rec_layer_d1.c:389,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/record/rec_layer_d1.c:390,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:391,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/record/rec_layer_d1.c:396,1
    - Dst: cb
      Src: /src/openssl/ssl/record/rec_layer_d1.c:406,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:411,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:416,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/record/rec_layer_d1.c:428,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:428,1
    - Dst: BIO_dgram_sctp_msg_waiting
      Src: /src/openssl/ssl/record/rec_layer_d1.c:429,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:429,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_d1.c:432,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:432,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_d1.c:433,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:433,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:448,1
    - Dst: SSLfatal_data
      Src: /src/openssl/ssl/record/rec_layer_d1.c:454,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:458,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/record/rec_layer_d1.c:460,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:463,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:473,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:483,1
    - Dst: ossl_statem_get_in_handshake
      Src: /src/openssl/ssl/record/rec_layer_d1.c:491,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:500,1
    - Dst: dtls1_get_message_header
      Src: /src/openssl/ssl/record/rec_layer_d1.c:505,1
    - Dst: dtls1_check_timeout_num
      Src: /src/openssl/ssl/record/rec_layer_d1.c:512,1
    - Dst: dtls1_retransmit_buffered_messages
      Src: /src/openssl/ssl/record/rec_layer_d1.c:517,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/record/rec_layer_d1.c:519,1
    - Dst: ssl_release_record
      Src: /src/openssl/ssl/record/rec_layer_d1.c:522,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::unprocessed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_d1.c:525,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:530,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_d1.c:531,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_d1.c:532,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_d1.c:545,1
    - Dst: SSL_is_init_finished
      Src: /src/openssl/ssl/record/rec_layer_d1.c:545,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:546,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/record/rec_layer_d1.c:551,1
    - Dst: SSL_CONNECTION*::handshake_func
      Src: /src/openssl/ssl/record/rec_layer_d1.c:553,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::unprocessed_read_pending
      Src: /src/openssl/ssl/record/rec_layer_d1.c:561,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/record/rec_layer_d1.c:571,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/record/rec_layer_d1.c:572,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/record/rec_layer_d1.c:573,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:582,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:592,1
    - Dst: ossl_statem_app_data_allowed
      Src: /src/openssl/ssl/record/rec_layer_d1.c:604,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:608,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 228
    argCount: 7
    argNames:
    - s
    - type
    - recvd_type
    - buf
    - len
    - peek
    - readbytes
    argTypes:
    - SSL*
    - uint8_t
    - uint8_t*
    - unsigned char*
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 613
    functionName: dtls1_read_bytes
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 0
    functionsReached:
    - ossl_statem_get_in_handshake
    - SSLfatal
    - dtls_buffer_record
    - SSL_is_init_finished
    - dtls1_handle_timeout
    - memcpy
    - SSL_CONNECTION*::rlayer::rrlmethod::unprocessed_read_pending
    - SSL_CONNECTION*::handshake_func
    - dtls_unbuffer_record
    - cb
    - HANDLE_RLAYER_READ_RETURN
    - SSL_CONNECTION_FROM_SSL
    - ossl_assert
    - PACKET_buf_init
    - ossl_statem_app_data_allowed
    - SSL_CONNECTION*::rlayer::rrlmethod::read_record
    - ossl_statem_in_error
    - BIO_dgram_is_sctp
    - SSL_IS_FIRST_HANDSHAKE
    - dtls1_check_timeout_num
    - ossl_statem_set_in_init
    - BIO_clear_retry_flags
    - SSL_in_init
    - ssl_release_record
    - SSL_CONNECTION*::msg_callback
    - BIO_dgram_sctp_msg_waiting
    - SSL_CONNECTION*::rlayer::rrlmethod::processed_read_pending
    - SSL_CTX_remove_session
    - PACKET_get_1
    - BIO_set_retry_read
    - PACKET_remaining
    - dtls1_get_message_header
    - dtls1_read_failed
    - dtls1_retransmit_buffered_messages
    - SSL_get_rbio
    - SSLfatal_data
    linkageType: ''
    returnType: int
    signature: "int dtls1_read_bytes(SSL *s, uint8_t type, uint8_t *recvd_type,\n
      \                    unsigned char *buf, size_t len,\n                     int
      peek, size_t *readbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/rec_layer_d1.c:624,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:625,1
    - Dst: do_dtls1_write
      Src: /src/openssl/ssl/record/rec_layer_d1.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - s
    - type
    - buf
    - len
    - written
    argTypes:
    - SSL_CONNECTION*
    - uint8_t
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 631
    functionName: dtls1_write_bytes
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - SSLfatal
    - do_dtls1_write
    linkageType: ''
    returnType: int
    signature: "int dtls1_write_bytes(SSL_CONNECTION *s, uint8_t type, const void
      *buf,\n                      size_t len, size_t *written)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/record/rec_layer_d1.c:638,1
    - Dst: SSL*::method::ssl_dispatch_alert
      Src: /src/openssl/ssl/record/rec_layer_d1.c:643,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/record/rec_layer_d1.c:652,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/record/rec_layer_d1.c:653,1
    - Dst: HANDLE_RLAYER_WRITE_RETURN
      Src: /src/openssl/ssl/record/rec_layer_d1.c:671,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::write_records
      Src: /src/openssl/ssl/record/rec_layer_d1.c:672,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - sc
    - type
    - buf
    - len
    - written
    argTypes:
    - SSL_CONNECTION*
    - uint8_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 678
    functionName: do_dtls1_write
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION*::rlayer::wrlmethod::write_records
    - ssl_get_max_send_fragment
    - HANDLE_RLAYER_WRITE_RETURN
    - SSL*::method::ssl_dispatch_alert
    linkageType: ''
    returnType: int
    signature: "int do_dtls1_write(SSL_CONNECTION *sc, uint8_t type, const unsigned
      char *buf,\n                   size_t len, size_t *written)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dtls1_clear_received_buffer
      Src: /src/openssl/ssl/record/rec_layer_d1.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - rw
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 693
    functionName: dtls1_increment_epoch
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 1
    functionsReached:
    - dtls1_clear_received_buffer
    linkageType: ''
    returnType: void
    signature: void dtls1_increment_epoch(SSL_CONNECTION *s, int rw)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - rw
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 704
    functionName: dtls1_get_epoch
    functionSourceFile: /src/openssl/ssl/record/rec_layer_d1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dtls1_get_epoch(SSL_CONNECTION *s, int rw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 13
    argNames:
    - rl
    - level
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 35
    functionName: tls_any_set_crypto_state
    functionSourceFile: /src/openssl/ssl/record/methods/tlsany_meth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int tls_any_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,\n                                    unsigned
      char *key, size_t keylen,\n                                    unsigned char
      *iv, size_t ivlen,\n                                    unsigned char *mackey,
      size_t mackeylen,\n                                    const EVP_CIPHER *ciph,\n
      \                                   size_t taglen,\n                                    int
      mactype,\n                                    const EVP_MD *md,\n                                    COMP_METHOD
      *comp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rl
    - recs
    - n_recs
    - sending
    - macs
    - macsize
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - size_t
    - int
    - SSL_MAC_BUF*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: tls_any_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/tlsany_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_any_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,\n                          size_t
      n_recs, int sending, SSL_MAC_BUF *macs,\n                          size_t macsize)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:48,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:49,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:53,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:67,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:68,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:69,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:70,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:71,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:72,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:73,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:74,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:75,1
    - Dst: HAS_PREFIX
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:77,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:78,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:84,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:88,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:110,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:117,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tlsany_meth.c:128,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 132
    functionName: tls_validate_record_header
    functionSourceFile: /src/openssl/ssl/record/methods/tlsany_meth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - RLAYERfatal
    - HAS_PREFIX
    linkageType: ''
    returnType: int
    signature: int tls_validate_record_header(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD
      *rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - rl
    - vers
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: tls_any_set_protocol_version
    functionSourceFile: /src/openssl/ssl/record/methods/tlsany_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_any_set_protocol_version(OSSL_RECORD_LAYER *rl, int vers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rl
    - mac_size
    - thispkt
    - thiswr
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - WPACKET*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: tls_any_prepare_for_encryption
    functionSourceFile: /src/openssl/ssl/record/methods/tlsany_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_any_prepare_for_encryption(OSSL_RECORD_LAYER *rl,\n                                          size_t
      mac_size,\n                                          WPACKET *thispkt,\n                                          TLS_RL_RECORD
      *thiswr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - rl
    - vers
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: dtls_any_set_protocol_version
    functionSourceFile: /src/openssl/ssl/record/methods/tlsany_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dtls_any_set_protocol_version(OSSL_RECORD_LAYER *rl, int vers)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:31,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:35,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:36,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:41,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:43,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:47,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:48,1
    - Dst: COMP_CTX_new
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:54,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:56,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:62,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:63,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:71,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:71,1
    - Dst: ossl_set_tls_provider_parameters
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:72,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:78,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 13
    argNames:
    - rl
    - level
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 17
    functionDepth: 6
    functionLinenumber: 17
    functionLinenumberEnd: 84
    functionName: ssl3_set_crypto_state
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get0_cipher
    - ERR_raise
    - memcpy
    - EVP_MD_CTX_new
    - EVP_CIPHER_get0_provider
    - EVP_DigestInit_ex
    - EVP_CipherInit_ex
    - COMP_CTX_new
    - ossl_set_tls_provider_parameters
    linkageType: ''
    returnType: int
    signature: "int ssl3_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,\n                                 unsigned
      char *key, size_t keylen,\n                                 unsigned char *iv,
      size_t ivlen,\n                                 unsigned char *mackey, size_t
      mackeylen,\n                                 const EVP_CIPHER *ciph,\n                                 size_t
      taglen,\n                                 int mactype,\n                                 const
      EVP_MD *md,\n                                 COMP_METHOD *comp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:114,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:117,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:120,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:140,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:156,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:168,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:171,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:173,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:175,1
    - Dst: EVP_Cipher
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:180,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:182,1
    - Dst: ssl3_cbc_remove_padding_and_mac
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:187,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 6
    argNames:
    - rl
    - inrecs
    - n_recs
    - sending
    - mac
    - macsize
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - size_t
    - int
    - SSL_MAC_BUF*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 198
    functionName: ssl3_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_CTX_get_params
    - memset
    - RLAYERfatal
    - EVP_Cipher
    - EVP_CIPHER_CTX_get_block_size
    - ssl3_cbc_remove_padding_and_mac
    - EVP_CIPHER_get0_provider
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_octet_ptr
    linkageType: ''
    returnType: int
    signature: "int ssl3_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *inrecs,\n                       size_t
      n_recs, int sending, SSL_MAC_BUF *mac,\n                       size_t macsize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:231,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:238,1
    - Dst: ssl3_cbc_record_digest_supported
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:239,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:259,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:261,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:263,1
    - Dst: ssl3_cbc_digest_record
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:270,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:270,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:280,1
    - Dst: s2n
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:287,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:288,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:289,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:290,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:291,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:292,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:293,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:294,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:295,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:296,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:297,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:298,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:299,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:300,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:301,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:305,1
    - Dst: tls_increment_sequence_ctr
      Src: /src/openssl/ssl/record/methods/ssl3_meth.c:308,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 4
    argNames:
    - rl
    - rec
    - md
    - sending
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 218
    functionDepth: 8
    functionLinenumber: 218
    functionLinenumberEnd: 312
    functionName: ssl3_mac
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_meth.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - ssl3_cbc_digest_record
    - EVP_MD_CTX_get0_md
    - EVP_CIPHER_CTX_get_mode
    - EVP_DigestUpdate
    - memcpy
    - ssl3_cbc_record_digest_supported
    - EVP_MD_CTX_new
    - s2n
    - EVP_MD_CTX_free
    - EVP_MD_CTX_get_size
    - EVP_MD_CTX_copy_ex
    - tls_increment_sequence_ctr
    linkageType: ''
    returnType: int
    signature: "int ssl3_mac(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char
      *md,\n                    int sending)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:46,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:47,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:49,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:54,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:55,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:64,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:65,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:66,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - rl
    - c
    - md
    - taglen
    argTypes:
    - OSSL_RECORD_LAYER*
    - EVP_CIPHER*
    - EVP_MD*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 29
    functionDepth: 9
    functionLinenumber: 29
    functionLinenumberEnd: 70
    functionName: ktls_int_check_supported_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MD_is_a
    - EVP_CIPHER_is_a
    linkageType: ''
    returnType: int
    signature: "int ktls_int_check_supported_cipher(OSSL_RECORD_LAYER *rl,\n                                           const
      EVP_CIPHER *c,\n                                           const EVP_MD *md,\n
      \                                          size_t taglen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:81,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:82,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:83,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:88,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:93,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:93,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:96,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:98,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:100,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 13
    argNames:
    - libctx
    - version
    - c
    - md
    - rl_sequence
    - crypto_info
    - is_tx
    - iv
    - ivlen
    - key
    - keylen
    - mac_key
    - mac_secret_size
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - EVP_CIPHER*
    - EVP_MD*
    - void*
    - ktls_crypto_info_t*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 73
    functionDepth: 9
    functionLinenumber: 73
    functionLinenumberEnd: 123
    functionName: ktls_configure_crypto
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MD_is_a
    - memset
    - EVP_CIPHER_is_a
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const
      EVP_CIPHER *c,\n                          EVP_MD *md, void *rl_sequence,\n                          ktls_crypto_info_t
      *crypto_info, int is_tx,\n                          unsigned char *iv, size_t
      ivlen,\n                          unsigned char *key, size_t keylen,\n                          unsigned
      char *mac_key, size_t mac_secret_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:149,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:157,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:160,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - rl
    - c
    - md
    - taglen
    argTypes:
    - OSSL_RECORD_LAYER*
    - EVP_CIPHER*
    - EVP_MD*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 129
    functionDepth: 9
    functionLinenumber: 129
    functionLinenumberEnd: 169
    functionName: ktls_int_check_supported_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_is_a
    linkageType: ''
    returnType: int
    signature: "int ktls_int_check_supported_cipher(OSSL_RECORD_LAYER *rl,\n                                           const
      EVP_CIPHER *c,\n                                           const EVP_MD *md,\n
      \                                          size_t taglen)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:188,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:189,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:190,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:191,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:195,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:198,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:202,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:206,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:213,1
    - Dst: EVP_CIPHER_get_nid
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:214,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:217,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:219,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:225,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:226,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:227,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:228,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:234,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:236,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:242,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:243,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:244,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:245,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:252,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:254,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:260,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:261,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:262,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:263,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:269,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:275,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:276,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:277,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 13
    argNames:
    - libctx
    - version
    - c
    - md
    - rl_sequence
    - crypto_info
    - is_tx
    - iv
    - ivlen
    - key
    - keylen
    - mac_key
    - mac_secret_size
    argTypes:
    - OSSL_LIB_CTX*
    - int
    - EVP_CIPHER*
    - EVP_MD*
    - void*
    - ktls_crypto_info_t*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 172
    functionDepth: 7
    functionLinenumber: 172
    functionLinenumberEnd: 285
    functionName: ktls_configure_crypto
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - EVP_CIPHER_get_nid
    - memset
    - memcpy
    - RAND_bytes_ex
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: "int ktls_configure_crypto(OSSL_LIB_CTX *libctx, int version, const
      EVP_CIPHER *c,\n                          const EVP_MD *md, void *rl_sequence,\n
      \                         ktls_crypto_info_t *crypto_info, int is_tx,\n                          unsigned
      char *iv, size_t ivlen,\n                          unsigned char *key, size_t
      keylen,\n                          unsigned char *mac_key, size_t mac_secret_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ktls_int_check_supported_cipher
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:315,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:320,1
    - Dst: ktls_configure_crypto
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:328,1
    - Dst: BIO_set_ktls
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:334,1
    - Dst: BIO_set_ktls_tx_zerocopy_sendfile
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:343,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 13
    argNames:
    - rl
    - level
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 289
    functionDepth: 10
    functionLinenumber: 289
    functionLinenumberEnd: 346
    functionName: ktls_set_crypto_state
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - BIO_set_ktls
    - BIO_flush
    - BIO_set_ktls_tx_zerocopy_sendfile
    - ktls_configure_crypto
    - ktls_int_check_supported_cipher
    linkageType: ''
    returnType: int
    signature: "int ktls_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,\n                                 unsigned
      char *key, size_t keylen,\n                                 unsigned char *iv,
      size_t ivlen,\n                                 unsigned char *mackey, size_t
      mackeylen,\n                                 const EVP_CIPHER *ciph,\n                                 size_t
      taglen,\n                                 int mactype,\n                                 const
      EVP_MD *md,\n                                 COMP_METHOD *comp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tls_default_read_n
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:353,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:358,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:362,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - rl
    - n
    - max
    - extend
    - clearold
    - readbytes
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - size_t
    - int
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 375
    functionName: ktls_read_n
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - tls_default_read_n
    - RLAYERfatal
    linkageType: ''
    returnType: int
    signature: "int ktls_read_n(OSSL_RECORD_LAYER *rl, size_t n, size_t max, int extend,\n
      \                      int clearold, size_t *readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rl
    - inrecs
    - n_recs
    - sending
    - mac
    - macsize
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - size_t
    - int
    - SSL_MAC_BUF*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: ktls_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ktls_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *inrecs,\n                       size_t
      n_recs, int sending, SSL_MAC_BUF *mac,\n                       size_t macsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: ktls_validate_record_header
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    linkageType: ''
    returnType: int
    signature: int ktls_validate_record_header(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD
      *rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls13_common_post_process_record
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: ktls_post_process_record
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - tls13_common_post_process_record
    linkageType: ''
    returnType: int
    signature: int ktls_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_int_new_record_layer
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:419,1
    - Dst: funcs::set_crypto_state
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:429,1
    - Dst: tls_free
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 32
    argNames:
    - libctx
    - propq
    - vers
    - role
    - direction
    - level
    - epoch
    - secret
    - secretlen
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    - kdfdigest
    - prev
    - transport
    - next
    - local
    - peer
    - settings
    - options
    - fns
    - cbarg
    - rlarg
    - retrl
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    - int
    - int
    - int
    - uint16_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    - EVP_MD*
    - BIO*
    - BIO*
    - BIO*
    - BIO_ADDR*
    - BIO_ADDR*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_DISPATCH*
    - void*
    - void*
    - OSSL_RECORD_LAYER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 444
    functionName: ktls_new_record_layer
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - tls_int_new_record_layer
    - tls_free
    - funcs::set_crypto_state
    linkageType: ''
    returnType: int
    signature: "int ktls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq,
      int vers,\n                      int role, int direction, int level, uint16_t
      epoch,\n                      unsigned char *secret, size_t secretlen,\n                      unsigned
      char *key, size_t keylen, unsigned char *iv,\n                      size_t ivlen,
      unsigned char *mackey, size_t mackeylen,\n                      const EVP_CIPHER
      *ciph, size_t taglen,\n                      int mactype,\n                      const
      EVP_MD *md, COMP_METHOD *comp,\n                      const EVP_MD *kdfdigest,
      BIO *prev, BIO *transport,\n                      BIO *next, BIO_ADDR *local,
      BIO_ADDR *peer,\n                      const OSSL_PARAM *settings, const OSSL_PARAM
      *options,\n                      const OSSL_DISPATCH *fns, void *cbarg, void
      *rlarg,\n                      OSSL_RECORD_LAYER **retrl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rl
    - templates
    - numtempl
    - prefix
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: ktls_allocate_write_buffers
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int ktls_allocate_write_buffers(OSSL_RECORD_LAYER *rl,\n                                       OSSL_RECORD_TEMPLATE
      *templates,\n                                       size_t numtempl, size_t
      *prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_set_buf
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:485,1
    - Dst: TLS_BUFFER_set_offset
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:486,1
    - Dst: TLS_BUFFER_set_app_buffer
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - rl
    - templates
    - numtempl
    - prefixtempl
    - pkt
    - bufs
    - wpinited
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    - OSSL_RECORD_TEMPLATE*
    - WPACKET*
    - TLS_BUFFER*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 490
    functionName: ktls_initialise_write_packets
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - TLS_BUFFER_set_app_buffer
    - TLS_BUFFER_set_buf
    - TLS_BUFFER_set_offset
    linkageType: ''
    returnType: int
    signature: "int ktls_initialise_write_packets(OSSL_RECORD_LAYER *rl,\n                                         OSSL_RECORD_TEMPLATE
      *templates,\n                                         size_t numtempl,\n                                         OSSL_RECORD_TEMPLATE
      *prefixtempl,\n                                         WPACKET *pkt,\n                                         TLS_BUFFER
      *bufs,\n                                         size_t *wpinited)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rl
    - thispkt
    - templ
    - rectype
    - recdata
    argTypes:
    - OSSL_RECORD_LAYER*
    - WPACKET*
    - OSSL_RECORD_TEMPLATE*
    - uint8_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 502
    functionName: ktls_prepare_record_header
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ktls_prepare_record_header(OSSL_RECORD_LAYER *rl,\n                                      WPACKET
      *thispkt,\n                                      OSSL_RECORD_TEMPLATE *templ,\n
      \                                     uint8_t rectype,\n                                      unsigned
      char **recdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rl
    - mac_size
    - thispkt
    - thiswr
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - WPACKET*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: ktls_prepare_for_encryption
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ktls_prepare_for_encryption(OSSL_RECORD_LAYER *rl,\n                                       size_t
      mac_size,\n                                       WPACKET *thispkt,\n                                       TLS_RL_RECORD
      *thiswr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rl
    - mac_size
    - templ
    - thispkt
    - thiswr
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - OSSL_RECORD_TEMPLATE*
    - WPACKET*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 521
    functionName: ktls_post_encryption_processing
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ktls_post_encryption_processing(OSSL_RECORD_LAYER *rl,\n                                           size_t
      mac_size,\n                                           OSSL_RECORD_TEMPLATE *templ,\n
      \                                          WPACKET *thispkt,\n                                           TLS_RL_RECORD
      *thiswr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_flush
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:530,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:533,1
    - Dst: BIO_set_ktls_ctrl_msg
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rl
    - type
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 543
    functionName: ktls_prepare_write_bio
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - BIO_flush
    - BIO_set_ktls_ctrl_msg
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int ktls_prepare_write_bio(OSSL_RECORD_LAYER *rl, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_alloc_buffers
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: ktls_alloc_buffers
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - tls_alloc_buffers
    linkageType: ''
    returnType: int
    signature: int ktls_alloc_buffers(OSSL_RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_free_buffers
      Src: /src/openssl/ssl/record/methods/ktls_meth.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: ktls_free_buffers
    functionSourceFile: /src/openssl/ssl/record/methods/ktls_meth.c
    functionUses: 0
    functionsReached:
    - tls_free_buffers
    linkageType: ''
    returnType: int
    signature: int ktls_free_buffers(OSSL_RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls_multib.c:32,1
    - Dst: BIO_get_ktls_send
      Src: /src/openssl/ssl/record/methods/tls_multib.c:33,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls_multib.c:34,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls_multib.c:34,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 4
    argNames:
    - rl
    - type
    - len
    - fraglen
    argTypes:
    - OSSL_RECORD_LAYER*
    - uint8_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: tls_is_multiblock_capable
    functionSourceFile: /src/openssl/ssl/record/methods/tls_multib.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_get_flags
    - EVP_CIPHER_CTX_get0_cipher
    - BIO_get_ktls_send
    - RLAYER_USE_EXPLICIT_IV
    linkageType: ''
    returnType: int
    signature: "int tls_is_multiblock_capable(OSSL_RECORD_LAYER *rl, uint8_t type,\n
      \                                    size_t len, size_t fraglen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_is_multiblock_capable
      Src: /src/openssl/ssl/record/methods/tls_multib.c:45,1
    - Dst: tls_get_max_records_default
      Src: /src/openssl/ssl/record/methods/tls_multib.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - rl
    - type
    - len
    - maxfrag
    - preffrag
    argTypes:
    - OSSL_RECORD_LAYER*
    - uint8_t
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: tls_get_max_records_multiblock
    functionSourceFile: /src/openssl/ssl/record/methods/tls_multib.c
    functionUses: 0
    functionsReached:
    - tls_is_multiblock_capable
    - tls_get_max_records_default
    linkageType: ''
    returnType: size_t
    signature: "size_t tls_get_max_records_multiblock(OSSL_RECORD_LAYER *rl, uint8_t
      type,\n                                      size_t len, size_t maxfrag,\n                                      size_t
      *preffrag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tls_is_multiblock_capable
      Src: /src/openssl/ssl/record/methods/tls_multib.c:94,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls_multib.c:111,1
    - Dst: tls_setup_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_multib.c:115,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls_multib.c:122,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls_multib.c:132,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_multib.c:137,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls_multib.c:145,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_multib.c:148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - rl
    - templates
    - numtempl
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 165
    functionName: tls_write_records_multiblock_int
    functionSourceFile: /src/openssl/ssl/record/methods/tls_multib.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - tls_setup_write_buffer
    - memcpy
    - EVP_CIPHER_CTX_ctrl
    - tls_is_multiblock_capable
    linkageType: ''
    returnType: int
    signature: "int tls_write_records_multiblock_int(OSSL_RECORD_LAYER *rl,\n                                            OSSL_RECORD_TEMPLATE
      *templates,\n                                            size_t numtempl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_write_records_multiblock_int
      Src: /src/openssl/ssl/record/methods/tls_multib.c:173,1
    - Dst: tls_write_records_default
      Src: /src/openssl/ssl/record/methods/tls_multib.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - rl
    - templates
    - numtempl
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 187
    functionName: tls_write_records_multiblock
    functionSourceFile: /src/openssl/ssl/record/methods/tls_multib.c
    functionUses: 0
    functionsReached:
    - tls_write_records_default
    - tls_write_records_multiblock_int
    linkageType: ''
    returnType: int
    signature: "int tls_write_records_multiblock(OSSL_RECORD_LAYER *rl,\n                                 OSSL_RECORD_TEMPLATE
      *templates,\n                                 size_t numtempl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_ge_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:72,1
    - Dst: constant_time_ge_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:74,1
    - Dst: ssl3_cbc_copy_mac
      Src: /src/openssl/ssl/record/methods/tls_pad.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - reclen
    - origreclen
    - recdata
    - mac
    - alloced
    - block_size
    - mac_size
    - libctx
    argTypes:
    - size_t*
    - size_t
    - unsigned char*
    - unsigned char**
    - int*
    - size_t
    - size_t
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 79
    functionName: ssl3_cbc_remove_padding_and_mac
    functionSourceFile: /src/openssl/ssl/record/methods/tls_pad.c
    functionUses: 2
    functionsReached:
    - ssl3_cbc_copy_mac
    - constant_time_ge_s
    linkageType: ''
    returnType: int
    signature: "int ssl3_cbc_remove_padding_and_mac(size_t *reclen,\n                                    size_t
      origreclen,\n                                    unsigned char *recdata,\n                                    unsigned
      char **mac,\n                                    int *alloced,\n                                    size_t
      block_size, size_t mac_size,\n                                    OSSL_LIB_CTX
      *libctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: constant_time_ge_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:129,1
    - Dst: constant_time_ge_8_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:144,1
    - Dst: constant_time_eq_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:157,1
    - Dst: ssl3_cbc_copy_mac
      Src: /src/openssl/ssl/record/methods/tls_pad.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 9
    argNames:
    - reclen
    - origreclen
    - recdata
    - mac
    - alloced
    - block_size
    - mac_size
    - aead
    - libctx
    argTypes:
    - size_t*
    - size_t
    - unsigned char*
    - unsigned char**
    - int*
    - size_t
    - size_t
    - int
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 163
    functionName: tls1_cbc_remove_padding_and_mac
    functionSourceFile: /src/openssl/ssl/record/methods/tls_pad.c
    functionUses: 1
    functionsReached:
    - constant_time_eq_s
    - ssl3_cbc_copy_mac
    - constant_time_ge_8_s
    - constant_time_ge_s
    linkageType: ''
    returnType: int
    signature: "int tls1_cbc_remove_padding_and_mac(size_t *reclen,\n                                    size_t
      origreclen,\n                                    unsigned char *recdata,\n                                    unsigned
      char **mac,\n                                    int *alloced,\n                                    size_t
      block_size, size_t mac_size,\n                                    int aead,\n
      \                                   OSSL_LIB_CTX *libctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_pad.c:216,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/record/methods/tls_pad.c:240,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_pad.c:243,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/tls_pad.c:245,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/tls_pad.c:260,1
    - Dst: constant_time_eq_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:262,1
    - Dst: constant_time_lt_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:263,1
    - Dst: constant_time_lt_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:270,1
    - Dst: constant_time_eq_8
      Src: /src/openssl/ssl/record/methods/tls_pad.c:283,1
    - Dst: constant_time_select_8
      Src: /src/openssl/ssl/record/methods/tls_pad.c:285,1
    - Dst: constant_time_select_8
      Src: /src/openssl/ssl/record/methods/tls_pad.c:289,1
    - Dst: constant_time_lt_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:292,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/tls_pad.c:295,1
    - Dst: constant_time_lt_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:297,1
    - Dst: constant_time_eq_8_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:300,1
    - Dst: constant_time_lt_s
      Src: /src/openssl/ssl/record/methods/tls_pad.c:303,1
    - Dst: constant_time_select_8
      Src: /src/openssl/ssl/record/methods/tls_pad.c:306,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 9
    argNames:
    - reclen
    - origreclen
    - recdata
    - mac
    - alloced
    - block_size
    - mac_size
    - good
    - libctx
    argTypes:
    - size_t*
    - size_t
    - unsigned char*
    - unsigned char**
    - int*
    - size_t
    - size_t
    - size_t
    - OSSL_LIB_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 182
    functionDepth: 7
    functionLinenumber: 182
    functionLinenumberEnd: 312
    functionName: ssl3_cbc_copy_mac
    functionSourceFile: /src/openssl/ssl/record/methods/tls_pad.c
    functionUses: 2
    functionsReached:
    - constant_time_eq_s
    - ossl_assert
    - memset
    - constant_time_lt_s
    - constant_time_select_8
    - constant_time_eq_8
    - constant_time_eq_8_s
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int ssl3_cbc_copy_mac(size_t *reclen,\n                             size_t
      origreclen,\n                             unsigned char *recdata,\n                             unsigned
      char **mac,\n                             int *alloced,\n                             size_t
      block_size,\n                             size_t mac_size,\n                             size_t
      good,\n                             OSSL_LIB_CTX *libctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - TLS_BUFFER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ossl_tls_buffer_release
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_tls_buffer_release(TLS_BUFFER *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - num_recs
    argTypes:
    - TLS_RL_RECORD*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: TLS_RL_RECORD_release
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void TLS_RL_RECORD_release(TLS_RL_RECORD *r, size_t num_recs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls_common.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - seq_num
    argTypes:
    - TLS_RL_RECORD*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: ossl_tls_rl_record_set_seq_num
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ossl_tls_rl_record_set_seq_num(TLS_RL_RECORD *r,\n                                    const
      unsigned char *seq_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/ssl/record/methods/tls_common.c:53,1
    - Dst: ERR_vset_error
      Src: /src/openssl/ssl/record/methods/tls_common.c:54,1
    - Dst: va_end
      Src: /src/openssl/ssl/record/methods/tls_common.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rl
    - al
    - reason
    - fmt
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: ossl_rlayer_fatal
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - va_end
    - ERR_vset_error
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ossl_rlayer_fatal(OSSL_RECORD_LAYER *rl, int al, int reason,\n
      \                      const char *fmt, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls_common.c:73,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/record/methods/tls_common.c:75,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:79,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/ssl/record/methods/tls_common.c:81,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/methods/tls_common.c:83,1
    - Dst: EVP_CIPHER_CTX_set_params
      Src: /src/openssl/ssl/record/methods/tls_common.c:85,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - rl
    - ctx
    - ciph
    - md
    argTypes:
    - OSSL_RECORD_LAYER*
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - EVP_MD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: ossl_set_tls_provider_parameters
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - ERR_raise
    - EVP_MD_get_size
    - OSSL_PARAM_construct_size_t
    - EVP_CIPHER_CTX_set_params
    - OSSL_PARAM_construct_int
    - EVP_CIPHER_get_flags
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: "int ossl_set_tls_provider_parameters(OSSL_RECORD_LAYER *rl,\n                                     EVP_CIPHER_CTX
      *ctx,\n                                     const EVP_CIPHER *ciph,\n                                     const
      EVP_MD *md)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_type
      Src: /src/openssl/ssl/record/methods/tls_common.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_MD_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: ssl3_cbc_record_digest_supported
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - EVP_MD_CTX_get_type
    linkageType: ''
    returnType: char
    signature: char ssl3_cbc_record_digest_supported(const EVP_MD_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_RECORD_LAYER*::security
      Src: /src/openssl/ssl/record/methods/tls_common.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: tls_allow_compression
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OSSL_RECORD_LAYER*::security
    linkageType: ''
    returnType: int
    signature: int tls_allow_compression(OSSL_RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_is_app_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:133,1
    - Dst: TLS_BUFFER_set_app_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:134,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rl
    - start
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: tls_release_write_buffer_int
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - TLS_BUFFER_set_app_buffer
    - TLS_BUFFER_is_app_buffer
    linkageType: ''
    returnType: void
    signature: void tls_release_write_buffer_int(OSSL_RECORD_LAYER *rl, size_t start)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tls_allow_compression
      Src: /src/openssl/ssl/record/methods/tls_common.c:169,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:190,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/tls_common.c:196,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:205,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/tls_common.c:209,1
    - Dst: tls_release_write_buffer_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:215,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - rl
    - numwpipes
    - firstlen
    - nextlen
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 220
    functionName: tls_setup_write_buffer
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - memset
    - RLAYERfatal
    - tls_allow_compression
    - OPENSSL_free
    - tls_release_write_buffer_int
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int tls_setup_write_buffer(OSSL_RECORD_LAYER *rl, size_t numwpipes,\n
      \                          size_t firstlen, size_t nextlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_release_write_buffer_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: tls_release_write_buffer
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - tls_release_write_buffer_int
    linkageType: ''
    returnType: void
    signature: void tls_release_write_buffer(OSSL_RECORD_LAYER *rl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tls_allow_compression
      Src: /src/openssl/ssl/record/methods/tls_common.c:250,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/tls_common.c:261,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 275
    functionName: tls_setup_read_buffer
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - tls_allow_compression
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int tls_setup_read_buffer(OSSL_RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/record/methods/tls_common.c:283,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: tls_release_read_buffer
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int tls_release_read_buffer(OSSL_RECORD_LAYER *rl)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:330,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:332,1
    - Dst: memmove
      Src: /src/openssl/ssl/record/methods/tls_common.c:343,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:378,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/record/methods/tls_common.c:404,1
    - Dst: BIO_read
      Src: /src/openssl/ssl/record/methods/tls_common.c:406,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/record/methods/tls_common.c:410,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:416,1
    - Dst: BIO_eof
      Src: /src/openssl/ssl/record/methods/tls_common.c:421,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:427,1
    - Dst: tls_release_read_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:435,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 93
    argCount: 6
    argNames:
    - rl
    - n
    - max
    - extend
    - clearold
    - readbytes
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - size_t
    - int
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 456
    functionName: tls_default_read_n
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - RLAYERfatal
    - clear_sys_error
    - BIO_free
    - tls_release_read_buffer
    - BIO_eof
    - memmove
    - BIO_read
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: "int tls_default_read_n(OSSL_RECORD_LAYER *rl, size_t n, size_t max,
      int extend,\n                       int clearold, size_t *readbytes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls_common.c:470,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:474,1
    - Dst: TLS_BUFFER_get_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:479,1
    - Dst: n2s
      Src: /src/openssl/ssl/record/methods/tls_common.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 495
    functionName: tls_record_app_data_waiting
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - TLS_BUFFER_get_buf
    - TLS_BUFFER_get_left
    - n2s
    - TLS_BUFFER_get_offset
    linkageType: ''
    returnType: int
    signature: int tls_record_app_data_waiting(OSSL_RECORD_LAYER *rl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:503,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - rl
    - length
    - overhead
    - send
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 519
    functionName: rlayer_early_data_count_ok
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    linkageType: ''
    returnType: int
    signature: "int rlayer_early_data_count_ok(OSSL_RECORD_LAYER *rl, size_t length,\n
      \                                     size_t overhead, int send)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: tls_setup_read_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:563,1
    - Dst: OSSL_RECORD_LAYER*::funcs::read_n
      Src: /src/openssl/ssl/record/methods/tls_common.c:583,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:584,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/record/methods/tls_common.c:593,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:594,1
    - Dst: PACKET_get_net_2_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:598,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/methods/tls_common.c:599,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:600,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:624,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:626,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/record/methods/tls_common.c:634,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/record/methods/tls_common.c:635,1
    - Dst: PACKET_get_net_2_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:636,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:638,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:639,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:652,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:658,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:661,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:662,1
    - Dst: OSSL_RECORD_LAYER*::funcs::validate_record_header
      Src: /src/openssl/ssl/record/methods/tls_common.c:668,1
    - Dst: OSSL_RECORD_LAYER*::funcs::read_n
      Src: /src/openssl/ssl/record/methods/tls_common.c:690,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls_common.c:732,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls_common.c:734,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:734,1
    - Dst: tls_record_app_data_waiting
      Src: /src/openssl/ssl/record/methods/tls_common.c:736,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:747,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:756,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:760,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/tls_common.c:772,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/record/methods/tls_common.c:775,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:776,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:777,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:795,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/tls_common.c:800,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:801,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:802,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/record/methods/tls_common.c:815,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:817,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:822,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:823,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:834,1
    - Dst: OSSL_RECORD_LAYER*::skip_early_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:839,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:849,1
    - Dst: rlayer_early_data_count_ok
      Src: /src/openssl/ssl/record/methods/tls_common.c:853,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/tls_common.c:864,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:868,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:869,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/record/methods/tls_common.c:873,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls_common.c:876,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls_common.c:877,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/record/methods/tls_common.c:878,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/tls_common.c:883,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/tls_common.c:889,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:891,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:916,1
    - Dst: OSSL_RECORD_LAYER*::funcs::post_process_record
      Src: /src/openssl/ssl/record/methods/tls_common.c:924,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:941,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:957,1
    - Dst: rlayer_early_data_count_ok
      Src: /src/openssl/ssl/record/methods/tls_common.c:969,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:983,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:985,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 231
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 988
    functionName: tls_get_more_records
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - tls_record_app_data_waiting
    - ERR_pop_to_mark
    - PACKET_get_net_2
    - CRYPTO_memcmp
    - OPENSSL_free
    - ossl_assert
    - OSSL_RECORD_LAYER*::funcs::mac
    - PACKET_buf_init
    - EVP_MD_CTX_get0_md
    - PACKET_get_net_2_len
    - TLS_BUFFER_get_len
    - OSSL_RECORD_LAYER*::funcs::cipher
    - EVP_CIPHER_get_flags
    - OSSL_RECORD_LAYER*::funcs::post_process_record
    - ERR_clear_last_mark
    - BIO_printf
    - RLAYERfatal
    - OSSL_RECORD_LAYER*::skip_early_data
    - OSSL_RECORD_LAYER*::funcs::read_n
    - OSSL_RECORD_LAYER*::msg_callback
    - tls_setup_read_buffer
    - OSSL_TRACE_END
    - memset
    - rlayer_early_data_count_ok
    - EVP_MD_get_size
    - OPENSSL_calloc
    - ERR_set_mark
    - PACKET_get_1
    - OSSL_RECORD_LAYER*::funcs::validate_record_header
    - RLAYER_USE_EXPLICIT_IV
    - BIO_dump_indent
    linkageType: ''
    returnType: int
    signature: int tls_get_more_records(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls_common.c:876,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls_common.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 875
    functionDepth: 3
    functionLinenumber: 875
    functionLinenumberEnd: 878
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:996,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1016
    functionName: tls_default_validate_record_header
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    linkageType: ''
    returnType: int
    signature: int tls_default_validate_record_header(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD
      *rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMP_compress_block
      Src: /src/openssl/ssl/record/methods/tls_common.c:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rl
    - wr
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1035
    functionName: tls_do_compress
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - COMP_compress_block
    linkageType: ''
    returnType: int
    signature: int tls_do_compress(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *wr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/tls_common.c:1044,1
    - Dst: COMP_expand_block
      Src: /src/openssl/ssl/record/methods/tls_common.c:1049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1060
    functionName: tls_do_uncompress
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - COMP_expand_block
    linkageType: ''
    returnType: int
    signature: int tls_do_uncompress(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1067,1
    - Dst: tls_do_uncompress
      Src: /src/openssl/ssl/record/methods/tls_common.c:1071,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1072,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1063
    functionDepth: 3
    functionLinenumber: 1063
    functionLinenumberEnd: 1084
    functionName: tls_default_post_process_record
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - tls_do_uncompress
    linkageType: ''
    returnType: int
    signature: int tls_default_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD
      *rec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1092,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:1097,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1111
    functionName: tls13_common_post_process_record
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - RLAYERfatal
    - OSSL_RECORD_LAYER*::msg_callback
    linkageType: ''
    returnType: int
    signature: int tls13_common_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD
      *rec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1129,1
    - Dst: OSSL_RECORD_LAYER*::funcs::get_more_records
      Src: /src/openssl/ssl/record/methods/tls_common.c:1133,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls_common.c:1152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 8
    argNames:
    - rl
    - rechandle
    - rversion
    - type
    - data
    - datalen
    - epoch
    - seq_num
    argTypes:
    - OSSL_RECORD_LAYER*
    - void**
    - int*
    - uint8_t*
    - unsigned char**
    - size_t*
    - uint16_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1156
    functionName: tls_read_record
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 3
    functionsReached:
    - OSSL_RECORD_LAYER*::funcs::get_more_records
    - memcpy
    - RLAYERfatal
    linkageType: ''
    returnType: int
    signature: "int tls_read_record(OSSL_RECORD_LAYER *rl, void **rechandle, int *rversion,\n
      \                   uint8_t *type, const unsigned char **data, size_t *datalen,\n
      \                   uint16_t *epoch, unsigned char *seq_num)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:1162,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:1163,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1165,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1171,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/record/methods/tls_common.c:1176,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1188,1
    - Dst: tls_release_read_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - rl
    - rechandle
    - length
    argTypes:
    - OSSL_RECORD_LAYER*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1192
    functionName: tls_release_record
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - RLAYERfatal
    - tls_release_read_buffer
    - TLS_BUFFER_get_left
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int tls_release_record(OSSL_RECORD_LAYER *rl, void *rechandle, size_t
      length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1198,1
    - Dst: OSSL_PARAM_get_uint64
      Src: /src/openssl/ssl/record/methods/tls_common.c:1199,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1200,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1204,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/ssl/record/methods/tls_common.c:1205,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1206,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1211,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/ssl/record/methods/tls_common.c:1213,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1214,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1218,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/ssl/record/methods/tls_common.c:1220,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1221,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1224,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/ssl/record/methods/tls_common.c:1226,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1227,1
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/record/methods/tls_common.c:1239,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:1241,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1242,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - rl
    - options
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1194
    functionDepth: 6
    functionLinenumber: 1194
    functionLinenumberEnd: 1248
    functionName: tls_set_options
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_get_uint32
    - ERR_raise
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_uint64
    - OSSL_PARAM_get_int
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int tls_set_options(OSSL_RECORD_LAYER *rl, const OSSL_PARAM *options)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/record/methods/tls_common.c:1260,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1277,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:1278,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1279,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1282,1
    - Dst: OSSL_PARAM_get_uint
      Src: /src/openssl/ssl/record/methods/tls_common.c:1284,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1285,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1288,1
    - Dst: OSSL_PARAM_get_uint32
      Src: /src/openssl/ssl/record/methods/tls_common.c:1290,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1291,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1294,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:1296,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1297,1
    - Dst: strcmp
      Src: /src/openssl/ssl/record/methods/tls_common.c:1300,1
    - Dst: OSSL_PARAM_get_int
      Src: /src/openssl/ssl/record/methods/tls_common.c:1302,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1303,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1307,1
    - Dst: tls_set1_bio
      Src: /src/openssl/ssl/record/methods/tls_common.c:1329,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/record/methods/tls_common.c:1332,1
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/record/methods/tls_common.c:1336,1
    - Dst: OSSL_FUNC_rlayer_skip_early_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:1345,1
    - Dst: OSSL_FUNC_rlayer_msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:1348,1
    - Dst: OSSL_FUNC_rlayer_security
      Src: /src/openssl/ssl/record/methods/tls_common.c:1351,1
    - Dst: OSSL_FUNC_rlayer_padding
      Src: /src/openssl/ssl/record/methods/tls_common.c:1354,1
    - Dst: tls_set_options
      Src: /src/openssl/ssl/record/methods/tls_common.c:1362,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1363,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/tls_common.c:1369,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/tls_common.c:1370,1
    - Dst: tls_int_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1381,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 105
    argCount: 18
    argNames:
    - libctx
    - propq
    - vers
    - role
    - direction
    - level
    - ciph
    - taglen
    - md
    - comp
    - prev
    - transport
    - next
    - settings
    - options
    - fns
    - cbarg
    - retrl
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    - int
    - int
    - int
    - EVP_CIPHER*
    - size_t
    - EVP_MD*
    - COMP_METHOD*
    - BIO*
    - BIO*
    - BIO*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_DISPATCH*
    - void*
    - OSSL_RECORD_LAYER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1250
    functionDepth: 9
    functionLinenumber: 1250
    functionLinenumberEnd: 1383
    functionName: tls_int_new_record_layer
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - BIO_up_ref
    - OPENSSL_zalloc
    - ERR_raise
    - OSSL_PARAM_get_uint
    - OSSL_PARAM_get_uint32
    - OSSL_FUNC_rlayer_skip_early_data
    - OSSL_FUNC_rlayer_msg_callback
    - OSSL_FUNC_rlayer_security
    - tls_int_free
    - tls_set1_bio
    - OSSL_FUNC_rlayer_padding
    - EVP_CIPHER_is_a
    - strcmp
    - tls_set_options
    - OSSL_PARAM_get_int
    linkageType: ''
    returnType: int
    signature: "int tls_int_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq,
      int vers,\n                         int role, int direction, int level,\n                         const
      EVP_CIPHER *ciph, size_t taglen,\n                         const EVP_MD *md,
      COMP_METHOD *comp, BIO *prev,\n                         BIO *transport, BIO
      *next, const OSSL_PARAM *settings,\n                         const OSSL_PARAM
      *options,\n                         const OSSL_DISPATCH *fns, void *cbarg,\n
      \                        OSSL_RECORD_LAYER **retrl)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls_int_new_record_layer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1402,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls_common.c:1427,1
    - Dst: funcs::set_crypto_state
      Src: /src/openssl/ssl/record/methods/tls_common.c:1432,1
    - Dst: tls_int_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1438,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 32
    argNames:
    - libctx
    - propq
    - vers
    - role
    - direction
    - level
    - epoch
    - secret
    - secretlen
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    - kdfdigest
    - prev
    - transport
    - next
    - local
    - peer
    - settings
    - options
    - fns
    - cbarg
    - rlarg
    - retrl
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    - int
    - int
    - int
    - uint16_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    - EVP_MD*
    - BIO*
    - BIO*
    - BIO*
    - BIO_ADDR*
    - BIO_ADDR*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_DISPATCH*
    - void*
    - void*
    - OSSL_RECORD_LAYER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1385
    functionDepth: 10
    functionLinenumber: 1385
    functionLinenumberEnd: 1442
    functionName: tls_new_record_layer
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - tls_int_free
    - tls_int_new_record_layer
    - ERR_raise
    - funcs::set_crypto_state
    linkageType: ''
    returnType: int
    signature: "int tls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq,
      int vers,\n                     int role, int direction, int level, uint16_t
      epoch,\n                     unsigned char *secret, size_t secretlen,\n                     unsigned
      char *key, size_t keylen, unsigned char *iv,\n                     size_t ivlen,
      unsigned char *mackey, size_t mackeylen,\n                     const EVP_CIPHER
      *ciph, size_t taglen,\n                     int mactype,\n                     const
      EVP_MD *md, COMP_METHOD *comp,\n                     const EVP_MD *kdfdigest,
      BIO *prev, BIO *transport,\n                     BIO *next, BIO_ADDR *local,
      BIO_ADDR *peer,\n                     const OSSL_PARAM *settings, const OSSL_PARAM
      *options,\n                     const OSSL_DISPATCH *fns, void *cbarg, void
      *rlarg,\n                     OSSL_RECORD_LAYER **retrl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1446,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1447,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1448,1
    - Dst: ossl_tls_buffer_release
      Src: /src/openssl/ssl/record/methods/tls_common.c:1449,1
    - Dst: tls_release_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1451,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1453,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1454,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1455,1
    - Dst: COMP_CTX_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1457,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1459,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1460,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/record/methods/tls_common.c:1462,1
    - Dst: TLS_RL_RECORD_release
      Src: /src/openssl/ssl/record/methods/tls_common.c:1464,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1444
    functionDepth: 8
    functionLinenumber: 1444
    functionLinenumberEnd: 1467
    functionName: tls_int_free
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 2
    functionsReached:
    - EVP_MAC_CTX_free
    - ossl_tls_buffer_release
    - COMP_CTX_free
    - TLS_RL_RECORD_release
    - BIO_free
    - EVP_MD_CTX_free
    - OPENSSL_free
    - EVP_CIPHER_CTX_free
    - tls_release_write_buffer
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void tls_int_free(OSSL_RECORD_LAYER *rl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1480,1
    - Dst: BIO_write_ex
      Src: /src/openssl/ssl/record/methods/tls_common.c:1486,1
    - Dst: tls_int_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1469
    functionDepth: 9
    functionLinenumber: 1469
    functionLinenumberEnd: 1491
    functionName: tls_free
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 2
    functionsReached:
    - BIO_write_ex
    - TLS_BUFFER_get_left
    - tls_int_free
    linkageType: ''
    returnType: int
    signature: int tls_free(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1493
    functionDepth: 1
    functionLinenumber: 1493
    functionLinenumberEnd: 1496
    functionName: tls_unprocessed_read_pending
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - TLS_BUFFER_get_left
    linkageType: ''
    returnType: int
    signature: int tls_unprocessed_read_pending(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: tls_processed_read_pending
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_processed_read_pending(OSSL_RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1514
    functionName: tls_app_data_pending
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tls_app_data_pending(OSSL_RECORD_LAYER *rl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls_common.c:1526,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:1526,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls_common.c:1528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - rl
    - type
    - len
    - maxfrag
    - preffrag
    argTypes:
    - OSSL_RECORD_LAYER*
    - uint8_t
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1539
    functionName: tls_get_max_records_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - EVP_CIPHER_get_flags
    - RLAYER_USE_EXPLICIT_IV
    linkageType: ''
    returnType: size_t
    signature: "size_t tls_get_max_records_default(OSSL_RECORD_LAYER *rl, uint8_t
      type,\n                                   size_t len,\n                                   size_t
      maxfrag, size_t *preffrag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_RECORD_LAYER*::funcs::get_max_records
      Src: /src/openssl/ssl/record/methods/tls_common.c:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rl
    - type
    - len
    - maxfrag
    - preffrag
    argTypes:
    - OSSL_RECORD_LAYER*
    - uint8_t
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: tls_get_max_records
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OSSL_RECORD_LAYER*::funcs::get_max_records
    linkageType: ''
    returnType: size_t
    signature: "size_t tls_get_max_records(OSSL_RECORD_LAYER *rl, uint8_t type, size_t
      len,\n                           size_t maxfrag, size_t *preffrag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_setup_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rl
    - templates
    - numtempl
    - prefix
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1558
    functionName: tls_allocate_write_buffers_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - tls_setup_write_buffer
    linkageType: ''
    returnType: int
    signature: "int tls_allocate_write_buffers_default(OSSL_RECORD_LAYER *rl,\n                                         OSSL_RECORD_TEMPLATE
      *templates,\n                                         size_t numtempl,\n                                         size_t
      *prefix)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls_common.c:1579,1
    - Dst: TLS_BUFFER_set_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1584,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:1586,1
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls_common.c:1586,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls_common.c:1587,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1588,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1592,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 7
    argNames:
    - rl
    - templates
    - numtempl
    - prefixtempl
    - pkt
    - bufs
    - wpinited
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    - OSSL_RECORD_TEMPLATE*
    - WPACKET*
    - TLS_BUFFER*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1560
    functionDepth: 4
    functionLinenumber: 1560
    functionLinenumberEnd: 1599
    functionName: tls_initialise_write_packets_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - TLS_BUFFER_get_len
    - TLS_BUFFER_set_offset
    - WPACKET_allocate_bytes
    - TLS_BUFFER_get_buf
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int tls_initialise_write_packets_default(OSSL_RECORD_LAYER *rl,\n
      \                                        OSSL_RECORD_TEMPLATE *templates,\n
      \                                        size_t numtempl,\n                                         OSSL_RECORD_TEMPLATE
      *prefixtempl,\n                                         WPACKET *pkt,\n                                         TLS_BUFFER
      *bufs,\n                                         size_t *wpinited)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/record/methods/tls_common.c:1615,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/record/methods/tls_common.c:1616,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/record/methods/tls_common.c:1617,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1619,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1621,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - rl
    - thispkt
    - templ
    - rectype
    - recdata
    argTypes:
    - OSSL_RECORD_LAYER*
    - WPACKET*
    - OSSL_RECORD_TEMPLATE*
    - uint8_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1628
    functionName: tls_prepare_record_header_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - RLAYERfatal
    - WPACKET_allocate_bytes
    - WPACKET_reserve_bytes
    linkageType: ''
    returnType: int
    signature: "int tls_prepare_record_header_default(OSSL_RECORD_LAYER *rl,\n                                      WPACKET
      *thispkt,\n                                      OSSL_RECORD_TEMPLATE *templ,\n
      \                                     uint8_t rectype,\n                                      unsigned
      char **recdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1647,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/tls_common.c:1648,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1649,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1660,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1666,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1667,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/record/methods/tls_common.c:1672,1
    - Dst: TLS_RL_RECORD_set_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:1673,1
    - Dst: TLS_RL_RECORD_reset_input
      Src: /src/openssl/ssl/record/methods/tls_common.c:1674,1
    - Dst: TLS_RL_RECORD_set_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1675,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - rl
    - mac_size
    - thispkt
    - thiswr
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - WPACKET*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1630
    functionDepth: 2
    functionLinenumber: 1630
    functionLinenumberEnd: 1678
    functionName: tls_prepare_for_encryption_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OSSL_RECORD_LAYER*::funcs::mac
    - RLAYERfatal
    - TLS_RL_RECORD_set_length
    - WPACKET_get_curr
    - TLS_RL_RECORD_reset_input
    - WPACKET_get_length
    - WPACKET_allocate_bytes
    - WPACKET_reserve_bytes
    - TLS_RL_RECORD_set_data
    linkageType: ''
    returnType: int
    signature: "int tls_prepare_for_encryption_default(OSSL_RECORD_LAYER *rl,\n                                       size_t
      mac_size,\n                                       WPACKET *thispkt,\n                                       TLS_RL_RECORD
      *thiswr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_get_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1691,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:1693,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1698,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1701,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1707,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/tls_common.c:1708,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1709,1
    - Dst: TLS_RL_RECORD_add_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1713,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1716,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/record/methods/tls_common.c:1717,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1718,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/record/methods/tls_common.c:1725,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:1726,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/record/methods/tls_common.c:1732,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/record/methods/tls_common.c:1737,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1738,1
    - Dst: TLS_RL_RECORD_add_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1742,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 5
    argNames:
    - rl
    - mac_size
    - thistempl
    - thispkt
    - thiswr
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - OSSL_RECORD_TEMPLATE*
    - WPACKET*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1680
    functionDepth: 4
    functionLinenumber: 1680
    functionLinenumberEnd: 1745
    functionName: tls_post_encryption_processing_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OSSL_RECORD_LAYER*::funcs::mac
    - WPACKET_finish
    - RLAYERfatal
    - WPACKET_get_curr
    - WPACKET_close
    - WPACKET_get_length
    - OSSL_RECORD_LAYER*::msg_callback
    - WPACKET_allocate_bytes
    - TLS_RL_RECORD_add_length
    linkageType: ''
    returnType: int
    signature: "int tls_post_encryption_processing_default(OSSL_RECORD_LAYER *rl,\n
      \                                          size_t mac_size,\n                                           OSSL_RECORD_TEMPLATE
      *thistempl,\n                                           WPACKET *thispkt,\n
      \                                          TLS_RL_RECORD *thiswr)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/tls_common.c:1761,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/record/methods/tls_common.c:1762,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1764,1
    - Dst: OSSL_RECORD_LAYER*::funcs::allocate_write_buffers
      Src: /src/openssl/ssl/record/methods/tls_common.c:1769,1
    - Dst: OSSL_RECORD_LAYER*::funcs::initialise_write_packets
      Src: /src/openssl/ssl/record/methods/tls_common.c:1774,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1782,1
    - Dst: OSSL_RECORD_LAYER*::funcs::get_record_type
      Src: /src/openssl/ssl/record/methods/tls_common.c:1796,1
    - Dst: TLS_RL_RECORD_set_type
      Src: /src/openssl/ssl/record/methods/tls_common.c:1800,1
    - Dst: TLS_RL_RECORD_set_rec_version
      Src: /src/openssl/ssl/record/methods/tls_common.c:1801,1
    - Dst: OSSL_RECORD_LAYER*::funcs::prepare_record_header
      Src: /src/openssl/ssl/record/methods/tls_common.c:1803,1
    - Dst: TLS_RL_RECORD_set_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:1810,1
    - Dst: TLS_RL_RECORD_set_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1811,1
    - Dst: TLS_RL_RECORD_set_input
      Src: /src/openssl/ssl/record/methods/tls_common.c:1813,1
    - Dst: tls_do_compress
      Src: /src/openssl/ssl/record/methods/tls_common.c:1822,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls_common.c:1823,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1824,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/record/methods/tls_common.c:1828,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1829,1
    - Dst: TLS_RL_RECORD_reset_input
      Src: /src/openssl/ssl/record/methods/tls_common.c:1832,1
    - Dst: OSSL_RECORD_LAYER*::funcs::add_record_padding
      Src: /src/openssl/ssl/record/methods/tls_common.c:1836,1
    - Dst: OSSL_RECORD_LAYER*::funcs::prepare_for_encryption
      Src: /src/openssl/ssl/record/methods/tls_common.c:1842,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:1849,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1851,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/ssl/record/methods/tls_common.c:1857,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1859,1
    - Dst: OSSL_RECORD_LAYER*::funcs::post_encryption_processing
      Src: /src/openssl/ssl/record/methods/tls_common.c:1869,1
    - Dst: TLS_BUFFER_set_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1876,1
    - Dst: TLS_RL_RECORD_get_length
      Src: /src/openssl/ssl/record/methods/tls_common.c:1876,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/record/methods/tls_common.c:1882,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 3
    argNames:
    - rl
    - templates
    - numtempl
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1884
    functionName: tls_write_records_default
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - TLS_RL_RECORD_set_input
    - OSSL_RECORD_LAYER*::funcs::post_encryption_processing
    - OSSL_RECORD_LAYER*::funcs::initialise_write_packets
    - TLS_BUFFER_set_left
    - TLS_RL_RECORD_get_length
    - OSSL_RECORD_LAYER*::funcs::add_record_padding
    - WPACKET_allocate_bytes
    - TLS_RL_RECORD_set_rec_version
    - EVP_MD_CTX_get0_md
    - OSSL_RECORD_LAYER*::funcs::cipher
    - OSSL_RECORD_LAYER*::funcs::prepare_record_header
    - WPACKET_memcpy
    - TLS_RL_RECORD_set_data
    - RLAYERfatal
    - WPACKET_cleanup
    - TLS_RL_RECORD_set_length
    - TLS_RL_RECORD_reset_input
    - tls_do_compress
    - EVP_MD_CTX_get_size
    - OSSL_RECORD_LAYER*::funcs::prepare_for_encryption
    - TLS_RL_RECORD_set_type
    - memset
    - OSSL_RECORD_LAYER*::funcs::get_record_type
    - OSSL_RECORD_LAYER*::funcs::allocate_write_buffers
    linkageType: ''
    returnType: int
    signature: "int tls_write_records_default(OSSL_RECORD_LAYER *rl,\n                              OSSL_RECORD_TEMPLATE
      *templates,\n                              size_t numtempl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls_common.c:1890,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1891,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1892,1
    - Dst: OSSL_RECORD_LAYER*::funcs::write_records
      Src: /src/openssl/ssl/record/methods/tls_common.c:1896,1
    - Dst: tls_retry_write_records
      Src: /src/openssl/ssl/record/methods/tls_common.c:1903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - rl
    - templates
    - numtempl
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1904
    functionName: tls_write_records
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - RLAYERfatal
    - tls_retry_write_records
    - OSSL_RECORD_LAYER*::funcs::write_records
    - TLS_BUFFER_get_left
    linkageType: ''
    returnType: int
    signature: "int tls_write_records(OSSL_RECORD_LAYER *rl, OSSL_RECORD_TEMPLATE
      *templates,\n                      size_t numtempl)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/record/methods/tls_common.c:1918,1
    - Dst: OSSL_RECORD_LAYER*::funcs::prepare_write_bio
      Src: /src/openssl/ssl/record/methods/tls_common.c:1921,1
    - Dst: BIO_write
      Src: /src/openssl/ssl/record/methods/tls_common.c:1925,1
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls_common.c:1926,1
    - Dst: TLS_BUFFER_get_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1927,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1928,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/record/methods/tls_common.c:1931,1
    - Dst: BIO_should_retry
      Src: /src/openssl/ssl/record/methods/tls_common.c:1936,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/record/methods/tls_common.c:1939,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/record/methods/tls_common.c:1939,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:1945,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1957,1
    - Dst: TLS_BUFFER_set_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1958,1
    - Dst: TLS_BUFFER_add_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1959,1
    - Dst: tls_release_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1965,1
    - Dst: TLS_BUFFER_set_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1973,1
    - Dst: tls_release_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:1976,1
    - Dst: TLS_BUFFER_add_offset
      Src: /src/openssl/ssl/record/methods/tls_common.c:1981,1
    - Dst: TLS_BUFFER_sub_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:1982,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1906
    functionDepth: 4
    functionLinenumber: 1906
    functionLinenumberEnd: 1984
    functionName: tls_retry_write_records
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - BIO_write
    - TLS_BUFFER_get_left
    - RLAYERfatal
    - clear_sys_error
    - TLS_BUFFER_set_left
    - TLS_BUFFER_add_offset
    - TLS_BUFFER_sub_left
    - ERR_raise_data
    - get_last_sys_error
    - TLS_BUFFER_get_offset
    - TLS_BUFFER_get_buf
    - OSSL_RECORD_LAYER*::funcs::prepare_write_bio
    - tls_release_write_buffer
    - BIO_should_retry
    linkageType: ''
    returnType: int
    signature: int tls_retry_write_records(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1989
    functionName: tls_get_alert_code
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_get_alert_code(OSSL_RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/record/methods/tls_common.c:1993,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/record/methods/tls_common.c:1995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - bio
    argTypes:
    - OSSL_RECORD_LAYER*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1991
    functionDepth: 3
    functionLinenumber: 1991
    functionLinenumberEnd: 1999
    functionName: tls_set1_bio
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - BIO_up_ref
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int tls_set1_bio(OSSL_RECORD_LAYER *rl, BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rl
    - version
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2008
    functionName: tls_default_set_protocol_version
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tls_default_set_protocol_version(OSSL_RECORD_LAYER *rl, int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_RECORD_LAYER*::funcs::set_protocol_version
      Src: /src/openssl/ssl/record/methods/tls_common.c:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rl
    - version
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2010
    functionDepth: 3
    functionLinenumber: 2010
    functionLinenumberEnd: 2013
    functionName: tls_set_protocol_version
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - OSSL_RECORD_LAYER*::funcs::set_protocol_version
    linkageType: ''
    returnType: int
    signature: int tls_set_protocol_version(OSSL_RECORD_LAYER *rl, int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rl
    - allow
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2018
    functionName: tls_set_plain_alerts
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_set_plain_alerts(OSSL_RECORD_LAYER *rl, int allow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rl
    - first
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: tls_set_first_handshake
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_set_first_handshake(OSSL_RECORD_LAYER *rl, int first)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rl
    - max_pipelines
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2030
    functionName: tls_set_max_pipelines
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_set_max_pipelines(OSSL_RECORD_LAYER *rl, size_t max_pipelines)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - rl
    - shortstr
    - longstr
    argTypes:
    - OSSL_RECORD_LAYER*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2054
    functionName: tls_get_state
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tls_get_state(OSSL_RECORD_LAYER *rl, const char **shortstr,\n
      \                  const char **longstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMP_CTX_get_method
      Src: /src/openssl/ssl/record/methods/tls_common.c:2059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2063
    functionName: tls_get_compression
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached:
    - COMP_CTX_get_method
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *tls_get_compression(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rl
    - max_frag_len
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2075
    functionName: tls_set_max_frag_len
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_set_max_frag_len(OSSL_RECORD_LAYER *rl, size_t max_frag_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls_common.c:2089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2077
    functionDepth: 1
    functionLinenumber: 2077
    functionLinenumberEnd: 2093
    functionName: tls_increment_sequence_ctr
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - RLAYERfatal
    linkageType: ''
    returnType: int
    signature: int tls_increment_sequence_ctr(OSSL_RECORD_LAYER *rl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tls_setup_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:2107,1
    - Dst: TLS_BUFFER_set_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:2115,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:2122,1
    - Dst: tls_setup_read_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:2124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2095
    functionDepth: 3
    functionLinenumber: 2095
    functionLinenumberEnd: 2125
    functionName: tls_alloc_buffers
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - TLS_BUFFER_get_left
    - tls_setup_read_buffer
    - tls_setup_write_buffer
    - TLS_BUFFER_set_left
    linkageType: ''
    returnType: int
    signature: int tls_alloc_buffers(OSSL_RECORD_LAYER *rl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:2139,1
    - Dst: tls_release_write_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:2142,1
    - Dst: TLS_BUFFER_get_left
      Src: /src/openssl/ssl/record/methods/tls_common.c:2151,1
    - Dst: tls_release_read_buffer
      Src: /src/openssl/ssl/record/methods/tls_common.c:2155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2127
    functionDepth: 3
    functionLinenumber: 2127
    functionLinenumberEnd: 2156
    functionName: tls_free_buffers
    functionSourceFile: /src/openssl/ssl/record/methods/tls_common.c
    functionUses: 1
    functionsReached:
    - tls_release_read_buffer
    - TLS_BUFFER_get_left
    - tls_release_write_buffer
    linkageType: ''
    returnType: int
    signature: int tls_free_buffers(OSSL_RECORD_LAYER *rl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:33,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:37,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:41,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:44,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:45,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:47,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:48,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:49,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:52,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:53,1
    - Dst: EVP_MD_name
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:54,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:55,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:56,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:57,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:63,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:65,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:69,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:71,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:72,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:75,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:77,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:78,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 13
    argNames:
    - rl
    - level
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 16
    functionDepth: 10
    functionLinenumber: 16
    functionLinenumberEnd: 83
    functionName: tls13_set_crypto_state
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_CTX_new
    - EVP_CIPHER_CTX_new
    - ERR_raise
    - EVP_MAC_free
    - memcpy
    - OSSL_PARAM_construct_utf8_string
    - EVP_MD_name
    - EVP_MAC_init
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherInit_ex
    - EVP_CIPHER_is_a
    - OSSL_PARAM_construct_end
    - EVP_MAC_fetch
    - OPENSSL_malloc
    - EVP_CIPHER_get_mode
    linkageType: ''
    returnType: int
    signature: "int tls13_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,\n                                  unsigned
      char *key, size_t keylen,\n                                  unsigned char *iv,
      size_t ivlen,\n                                  unsigned char *mackey, size_t
      mackeylen,\n                                  const EVP_CIPHER *ciph,\n                                  size_t
      taglen,\n                                  int mactype,\n                                  const
      EVP_MD *md,\n                                  COMP_METHOD *comp)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:105,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:114,1
    - Dst: memmove
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:125,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:132,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:134,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:138,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:157,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:161,1
    - Dst: tls_increment_sequence_ctr
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:165,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:171,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:172,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:173,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:174,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:175,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:177,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:178,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:179,1
    - Dst: EVP_MAC_CTX_dup
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:186,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:187,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:188,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:189,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:190,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:191,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:196,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:198,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:204,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:208,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:210,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:213,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:215,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:216,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:219,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:228,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:230,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:232,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:234,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:240,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:242,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 88
    argCount: 6
    argNames:
    - rl
    - recs
    - n_recs
    - sending
    - mac
    - macsize
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - size_t
    - int
    - SSL_MAC_BUF*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 249
    functionName: tls13_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - WPACKET_put_bytes_u16
    - memcpy
    - EVP_MAC_CTX_dup
    - CRYPTO_memcmp
    - EVP_MAC_CTX_get_mac_size
    - EVP_MAC_update
    - tls_increment_sequence_ctr
    - EVP_MAC_CTX_free
    - EVP_CIPHER_CTX_get_iv_length
    - WPACKET_put_bytes_u8
    - EVP_MAC_final
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherFinal_ex
    - RLAYERfatal
    - WPACKET_cleanup
    - EVP_CipherInit_ex
    - EVP_CIPHER_get_mode
    - WPACKET_init_static_len
    - WPACKET_finish
    - EVP_CipherUpdate
    - memmove
    - WPACKET_get_total_written
    linkageType: ''
    returnType: int
    signature: "int tls13_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,\n                        size_t
      n_recs, int sending, SSL_MAC_BUF *mac,\n                        size_t macsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:258,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:263,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 273
    functionName: tls13_validate_record_header
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    linkageType: ''
    returnType: int
    signature: "int tls13_validate_record_header(OSSL_RECORD_LAYER *rl,\n                                        TLS_RL_RECORD
      *rec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:283,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:297,1
    - Dst: tls13_common_post_process_record
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - rl
    - rec
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 307
    functionName: tls13_post_process_record
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - tls13_common_post_process_record
    linkageType: ''
    returnType: int
    signature: int tls13_post_process_record(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD
      *rec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: tls13_get_record_type
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t tls13_get_record_type(OSSL_RECORD_LAYER *rl,\n                                     OSSL_RECORD_TEMPLATE
      *template)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:334,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:335,1
    - Dst: TLS_RL_RECORD_add_length
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:338,1
    - Dst: TLS_RL_RECORD_get_length
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:341,1
    - Dst: OSSL_RECORD_LAYER*::padding
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:363,1
    - Dst: WPACKET_memset
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:396,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:397,1
    - Dst: TLS_RL_RECORD_add_length
      Src: /src/openssl/ssl/record/methods/tls13_meth.c:401,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - rl
    - thistempl
    - thispkt
    - thiswr
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - WPACKET*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 406
    functionName: tls13_add_record_padding
    functionSourceFile: /src/openssl/ssl/record/methods/tls13_meth.c
    functionUses: 0
    functionsReached:
    - TLS_RL_RECORD_add_length
    - WPACKET_put_bytes_u8
    - RLAYERfatal
    - TLS_RL_RECORD_get_length
    - WPACKET_memset
    - OSSL_RECORD_LAYER*::padding
    linkageType: ''
    returnType: int
    signature: "int tls13_add_record_padding(OSSL_RECORD_LAYER *rl,\n                                    OSSL_RECORD_TEMPLATE
      *thistempl,\n                                    WPACKET *thispkt,\n                                    TLS_RL_RECORD
      *thiswr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: n2l8
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:21,1
    - Dst: n2l8
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:22,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 38
    functionName: satsub64be
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - n2l8
    linkageType: ''
    returnType: int
    signature: int satsub64be(const unsigned char *v1, const unsigned char *v2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: satsub64be
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:46,1
    - Dst: ossl_tls_rl_record_set_seq_num
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:48,1
    - Dst: ossl_tls_rl_record_set_seq_num
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rl
    - bitmap
    argTypes:
    - OSSL_RECORD_LAYER*
    - DTLS_BITMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: dtls_record_replay_check
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - satsub64be
    - ossl_tls_rl_record_set_seq_num
    linkageType: ''
    returnType: int
    signature: int dtls_record_replay_check(OSSL_RECORD_LAYER *rl, DTLS_BITMAP *bitmap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: satsub64be
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:68,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rl
    - bitmap
    argTypes:
    - OSSL_RECORD_LAYER*
    - DTLS_BITMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: dtls_record_bitmap_update
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - satsub64be
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void dtls_record_bitmap_update(OSSL_RECORD_LAYER *rl,\n                                      DTLS_BITMAP
      *bitmap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rl
    - rr
    - is_next_epoch
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: dtls_get_bitmap
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DTLS_BITMAP
    signature: "DTLS_BITMAP *dtls_get_bitmap(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD
      *rr,\n                                    unsigned int *is_next_epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rl
    - in_init
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: dtls_set_in_init
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dtls_set_in_init(OSSL_RECORD_LAYER *rl, int in_init)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:141,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:150,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:153,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:154,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:155,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:166,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:171,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:172,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:173,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:189,1
    - Dst: OSSL_RECORD_LAYER*::funcs::cipher
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:190,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:199,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:209,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:211,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:212,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:213,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:218,1
    - Dst: OSSL_RECORD_LAYER*::funcs::mac
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:221,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:223,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:239,1
    - Dst: tls_do_uncompress
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:243,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:244,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:254,1
    - Dst: dtls_record_bitmap_update
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:272,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:277,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 2
    argNames:
    - rl
    - bitmap
    argTypes:
    - OSSL_RECORD_LAYER*
    - DTLS_BITMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 279
    functionName: dtls_process_record
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - dtls_record_bitmap_update
    - ossl_assert
    - OSSL_RECORD_LAYER*::funcs::mac
    - RLAYERfatal
    - tls_do_uncompress
    - EVP_MD_CTX_get0_md
    - EVP_MD_get_size
    - ERR_pop_to_mark
    - ERR_set_mark
    - CRYPTO_memcmp
    - OPENSSL_free
    - OSSL_RECORD_LAYER*::funcs::cipher
    - BIO_dump_indent
    - ERR_clear_last_mark
    - OSSL_TRACE_END
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int dtls_process_record(OSSL_RECORD_LAYER *rl, DTLS_BITMAP *bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:211,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_size
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:288,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:291,1
    - Dst: pitem_new
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:292,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:294,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:295,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:296,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:302,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:303,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:309,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:310,1
    - Dst: tls_setup_read_buffer
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:312,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:314,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:315,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:316,1
    - Dst: pqueue_insert
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:320,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:322,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:323,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - rl
    - queue
    - priority
    argTypes:
    - OSSL_RECORD_LAYER*
    - struct pqueue_st*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 328
    functionName: dtls_rlayer_buffer_record
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - memset
    - pqueue_insert
    - memcpy
    - pqueue_size
    - OPENSSL_free
    - pitem_new
    - tls_setup_read_buffer
    - OPENSSL_malloc
    - pitem_free
    linkageType: ''
    returnType: int
    signature: "int dtls_rlayer_buffer_record(OSSL_RECORD_LAYER *rl, struct pqueue_st
      *queue,\n                                     unsigned char *priority)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tls_buffer_release
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:337,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:341,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:342,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - rl
    - item
    argTypes:
    - OSSL_RECORD_LAYER*
    - pitem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: dtls_copy_rlayer_record
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - ossl_tls_buffer_release
    - memcpy
    linkageType: ''
    returnType: int
    signature: int dtls_copy_rlayer_record(OSSL_RECORD_LAYER *rl, pitem *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:355,1
    - Dst: dtls_copy_rlayer_record
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:357,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:359,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - rl
    - queue
    argTypes:
    - OSSL_RECORD_LAYER*
    - struct pqueue_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 366
    functionName: dtls_retrieve_rlayer_buffered_record
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - dtls_copy_rlayer_record
    - OPENSSL_free
    - pqueue_pop
    - pitem_free
    linkageType: ''
    returnType: int
    signature: "int dtls_retrieve_rlayer_buffered_record(OSSL_RECORD_LAYER *rl,\n
      \                                               struct pqueue_st *queue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write_ex
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:600,1
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:605,1
    - Dst: BIO_write_ex
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:608,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:610,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:611,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:612,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:614,1
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:618,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:620,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:621,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:622,1
    - Dst: pqueue_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:624,1
    - Dst: tls_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 584
    functionDepth: 10
    functionLinenumber: 584
    functionLinenumberEnd: 628
    functionName: dtls_free
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - pqueue_pop
    - BIO_write_ex
    - tls_free
    - OPENSSL_free
    - pqueue_free
    - pitem_free
    linkageType: ''
    returnType: int
    signature: int dtls_free(OSSL_RECORD_LAYER *rl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tls_int_new_record_layer
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:647,1
    - Dst: pqueue_new
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:655,1
    - Dst: pqueue_new
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:656,1
    - Dst: dtls_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:660,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:662,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:681,1
    - Dst: funcs::set_crypto_state
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:686,1
    - Dst: dtls_free
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 32
    argNames:
    - libctx
    - propq
    - vers
    - role
    - direction
    - level
    - epoch
    - secret
    - secretlen
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    - kdfdigest
    - prev
    - transport
    - next
    - local
    - peer
    - settings
    - options
    - fns
    - cbarg
    - rlarg
    - retrl
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    - int
    - int
    - int
    - uint16_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    - EVP_MD*
    - BIO*
    - BIO*
    - BIO*
    - BIO_ADDR*
    - BIO_ADDR*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_DISPATCH*
    - void*
    - void*
    - OSSL_RECORD_LAYER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 630
    functionDepth: 11
    functionLinenumber: 630
    functionLinenumberEnd: 696
    functionName: dtls_new_record_layer
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    - funcs::set_crypto_state
    - tls_int_new_record_layer
    - dtls_free
    - pqueue_new
    linkageType: ''
    returnType: int
    signature: "int dtls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq,
      int vers,\n                      int role, int direction, int level, uint16_t
      epoch,\n                      unsigned char *secret, size_t secretlen,\n                      unsigned
      char *key, size_t keylen, unsigned char *iv,\n                      size_t ivlen,
      unsigned char *mackey, size_t mackeylen,\n                      const EVP_CIPHER
      *ciph, size_t taglen,\n                      int mactype,\n                      const
      EVP_MD *md, COMP_METHOD *comp,\n                      const EVP_MD *kdfdigest,
      BIO *prev, BIO *transport,\n                      BIO *next, BIO_ADDR *local,
      BIO_ADDR *peer,\n                      const OSSL_PARAM *settings, const OSSL_PARAM
      *options,\n                      const OSSL_DISPATCH *fns, void *cbarg, void
      *rlarg,\n                      OSSL_RECORD_LAYER **retrl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:712,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:713,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:714,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:715,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:716,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:718,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:720,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:722,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - rl
    - thispkt
    - templ
    - rectype
    - recdata
    argTypes:
    - OSSL_RECORD_LAYER*
    - WPACKET*
    - OSSL_RECORD_TEMPLATE*
    - uint8_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 727
    functionName: dtls_prepare_record_header
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - RLAYERfatal
    - WPACKET_allocate_bytes
    - WPACKET_reserve_bytes
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int dtls_prepare_record_header(OSSL_RECORD_LAYER *rl,\n                               WPACKET
      *thispkt,\n                               OSSL_RECORD_TEMPLATE *templ,\n                               uint8_t
      rectype,\n                               unsigned char **recdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_post_encryption_processing_default
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:735,1
    - Dst: tls_increment_sequence_ctr
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - rl
    - mac_size
    - thistempl
    - thispkt
    - thiswr
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    - OSSL_RECORD_TEMPLATE*
    - WPACKET*
    - TLS_RL_RECORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 742
    functionName: dtls_post_encryption_processing
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - tls_post_encryption_processing_default
    - tls_increment_sequence_ctr
    linkageType: ''
    returnType: int
    signature: "int dtls_post_encryption_processing(OSSL_RECORD_LAYER *rl,\n                                    size_t
      mac_size,\n                                    OSSL_RECORD_TEMPLATE *thistempl,\n
      \                                   WPACKET *thispkt,\n                                    TLS_RL_RECORD
      *thiswr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:749,1
    - Dst: EVP_CIPHER_CTX_get_block_size
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:750,1
    - Dst: assert
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:759,1
    - Dst: assert
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:761,1
    - Dst: EVP_MD_size
      Src: /src/openssl/ssl/record/methods/dtls_meth.c:761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts:
    - condition: "(rl->enc_ctx == NULL  || ((blocksize == 0 || rl->eivlen > 0)\n                                    &&
        rl->taglen > 0))"
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/openssl/ssl/record/methods/dtls_meth.c
    - condition: (rl->md == NULL || (int)rl->taglen == EVP_MD_size(rl->md))
      pos:
        line_end: 760
        line_start: 760
        source_file: /src/openssl/ssl/record/methods/dtls_meth.c
    constantsTouched: []
    func_position:
      end: 775
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 775
    functionName: dtls_get_max_record_overhead
    functionSourceFile: /src/openssl/ssl/record/methods/dtls_meth.c
    functionUses: 0
    functionsReached:
    - EVP_MD_size
    - EVP_CIPHER_CTX_get_block_size
    - assert
    - EVP_CIPHER_CTX_get_mode
    linkageType: ''
    returnType: size_t
    signature: size_t dtls_get_max_record_overhead(OSSL_RECORD_LAYER *rl)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:36,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:37,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:43,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:45,1
    - Dst: COMP_CTX_new
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:50,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:52,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:62,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:64,1
    - Dst: EVP_PKEY_new_mac_key
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:73,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:77,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:77,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:80,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:81,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:84,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:87,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:88,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:89,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:91,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:94,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:95,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:96,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:98,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:100,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:102,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:103,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:108,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:113,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:115,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:117,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:125,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:125,1
    - Dst: ossl_set_tls_provider_parameters
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:126,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:132,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:133,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:137,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:139,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 13
    argNames:
    - rl
    - level
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 19
    functionDepth: 9
    functionLinenumber: 19
    functionLinenumberEnd: 154
    functionName: tls1_set_crypto_state
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - ERR_raise
    - ossl_set_tls_provider_parameters
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_PKEY_new_raw_private_key_ex
    - EVP_PKEY_free
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_get_flags
    - RLAYERfatal
    - EVP_PKEY_new_mac_key
    - EVP_MD_get0_name
    - EVP_DigestSignInit_ex
    - EVP_CipherInit_ex
    - EVP_CIPHER_get_mode
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_get_mode
    - EVP_MD_CTX_new
    - EVP_CIPHER_get0_provider
    - COMP_CTX_new
    - RLAYER_USE_EXPLICIT_IV
    linkageType: ''
    returnType: int
    signature: "int tls1_set_crypto_state(OSSL_RECORD_LAYER *rl, int level,\n                                 unsigned
      char *key, size_t keylen,\n                                 unsigned char *iv,
      size_t ivlen,\n                                 unsigned char *mackey, size_t
      mackeylen,\n                                 const EVP_CIPHER *ciph,\n                                 size_t
      taglen,\n                                 int mactype,\n                                 const
      EVP_MD *md,\n                                 COMP_METHOD *comp)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:181,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:185,1
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:186,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:188,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:189,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:194,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:195,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:199,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:205,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:206,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:207,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:213,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:215,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:217,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:223,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:224,1
    - Dst: EVP_CIPHER_get0_provider
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:228,1
    - Dst: EVP_CIPHER_get_block_size
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:230,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:230,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:233,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:238,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:238,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:244,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:251,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:251,1
    - Dst: s2n
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:260,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:261,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:262,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:264,1
    - Dst: tls_increment_sequence_ctr
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:265,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:276,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:279,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:297,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:320,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:322,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:329,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:331,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:333,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:349,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:352,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:362,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:366,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:377,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:380,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:383,1
    - Dst: OSSL_PARAM_construct_octet_ptr
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:396,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:399,1
    - Dst: EVP_CIPHER_CTX_get_params
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:401,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:403,1
    - Dst: EVP_Cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:412,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:414,1
    - Dst: EVP_CIPHER_CTX_get0_cipher
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:414,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:425,1
    - Dst: EVP_CIPHER_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:429,1
    - Dst: RLAYER_USE_EXPLICIT_IV
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:433,1
    - Dst: tls1_cbc_remove_padding_and_mac
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:446,1
    - Dst: EVP_CIPHER_get_flags
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:454,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 182
    argCount: 6
    argNames:
    - rl
    - recs
    - n_recs
    - sending
    - macs
    - macsize
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - size_t
    - int
    - SSL_MAC_BUF*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 167
    functionDepth: 7
    functionLinenumber: 167
    functionLinenumberEnd: 462
    functionName: tls1_cipher
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get0_cipher
    - memcpy
    - tls_increment_sequence_ctr
    - ossl_assert
    - EVP_MD_CTX_get0_md
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_get_flags
    - OSSL_PARAM_construct_end
    - EVP_CIPHER_get_iv_length
    - EVP_Cipher
    - EVP_CIPHER_CTX_get_params
    - RLAYERfatal
    - s2n
    - EVP_MD_CTX_get_size
    - EVP_CIPHER_get_block_size
    - EVP_CIPHER_get_mode
    - OSSL_PARAM_construct_octet_ptr
    - EVP_CipherUpdate
    - EVP_CIPHER_get0_provider
    - RLAYER_USE_EXPLICIT_IV
    - RAND_bytes_ex
    - tls1_cbc_remove_padding_and_mac
    linkageType: ''
    returnType: int
    signature: "int tls1_cipher(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *recs,\n                       size_t
      n_recs, int sending, SSL_MAC_BUF *macs,\n                       size_t macsize)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_get_size
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:477,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:478,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:485,1
    - Dst: EVP_MD_CTX_copy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:486,1
    - Dst: EVP_MD_CTX_ctrl
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:494,1
    - Dst: s2n
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:500,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:501,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:503,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:505,1
    - Dst: EVP_CIPHER_CTX_get_mode
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:515,1
    - Dst: ssl3_cbc_record_digest_supported
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:516,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:519,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:521,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:523,1
    - Dst: EVP_MD_CTX_get_pkey_ctx
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:523,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:528,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:529,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:530,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:534,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:535,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:536,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:537,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:538,1
    - Dst: tls_increment_sequence_ctr
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:540,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:546,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:547,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:548,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:551,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 4
    argNames:
    - rl
    - rec
    - md
    - sending
    argTypes:
    - OSSL_RECORD_LAYER*
    - TLS_RL_RECORD*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 464
    functionDepth: 8
    functionLinenumber: 464
    functionLinenumberEnd: 553
    functionName: tls1_mac
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_params
    - memcpy
    - tls_increment_sequence_ctr
    - ossl_assert
    - OSSL_PARAM_construct_size_t
    - ssl3_cbc_record_digest_supported
    - EVP_MD_CTX_copy
    - EVP_DigestSignUpdate
    - OSSL_PARAM_construct_end
    - BIO_printf
    - EVP_MD_CTX_get_pkey_ctx
    - EVP_MD_CTX_ctrl
    - s2n
    - EVP_MD_CTX_get_size
    - OSSL_TRACE_END
    - EVP_CIPHER_CTX_get_mode
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - EVP_DigestSignFinal
    - BIO_dump_indent
    linkageType: ''
    returnType: int
    signature: "int tls1_mac(OSSL_RECORD_LAYER *rl, TLS_RL_RECORD *rec, unsigned char
      *md,\n                    int sending)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:534,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:535,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:536,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:546,1
    - Dst: BIO_dump_indent
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_dump_indent
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_setup_write_buffer
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - rl
    - templates
    - numtempl
    - prefix
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 597
    functionName: tls1_allocate_write_buffers
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - tls_setup_write_buffer
    linkageType: ''
    returnType: int
    signature: "int tls1_allocate_write_buffers(OSSL_RECORD_LAYER *rl,\n                                OSSL_RECORD_TEMPLATE
      *templates,\n                                size_t numtempl, size_t *prefix)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:629,1
    - Dst: TLS_BUFFER_set_offset
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:633,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:635,1
    - Dst: TLS_BUFFER_get_buf
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:635,1
    - Dst: TLS_BUFFER_get_len
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:636,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:637,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:641,1
    - Dst: RLAYERfatal
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:642,1
    - Dst: tls_initialise_write_packets_default
      Src: /src/openssl/ssl/record/methods/tls1_meth.c:647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 7
    argNames:
    - rl
    - templates
    - numtempl
    - prefixtempl
    - pkt
    - bufs
    - wpinited
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_RECORD_TEMPLATE*
    - size_t
    - OSSL_RECORD_TEMPLATE*
    - WPACKET*
    - TLS_BUFFER*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 600
    functionDepth: 5
    functionLinenumber: 600
    functionLinenumberEnd: 651
    functionName: tls1_initialise_write_packets
    functionSourceFile: /src/openssl/ssl/record/methods/tls1_meth.c
    functionUses: 0
    functionsReached:
    - RLAYERfatal
    - TLS_BUFFER_get_len
    - TLS_BUFFER_set_offset
    - WPACKET_allocate_bytes
    - TLS_BUFFER_get_buf
    - tls_initialise_write_packets_default
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int tls1_initialise_write_packets(OSSL_RECORD_LAYER *rl,\n                                  OSSL_RECORD_TEMPLATE
      *templates,\n                                  size_t numtempl,\n                                  OSSL_RECORD_TEMPLATE
      *prefixtempl,\n                                  WPACKET *pkt,\n                                  TLS_BUFFER
      *bufs,\n                                  size_t *wpinited)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: u32toLE
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_cbc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: u32toLE(n, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u32toLE
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:68,1
    - Dst: u32toLE
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:69,1
    - Dst: u32toLE
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:70,1
    - Dst: u32toLE
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - md_out
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: tls1_md5_final_raw
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_cbc.c
    functionUses: 0
    functionsReached:
    - u32toLE
    linkageType: ''
    returnType: void
    signature: void tls1_md5_final_raw(void *ctx, unsigned char *md_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2n
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:79,1
    - Dst: l2n
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:80,1
    - Dst: l2n
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:81,1
    - Dst: l2n
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:82,1
    - Dst: l2n
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - md_out
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: tls1_sha1_final_raw
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_cbc.c
    functionUses: 0
    functionsReached:
    - l2n
    linkageType: ''
    returnType: void
    signature: void tls1_sha1_final_raw(void *ctx, unsigned char *md_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2n
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md_out
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: tls1_sha256_final_raw
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_cbc.c
    functionUses: 0
    functionsReached:
    - l2n
    linkageType: ''
    returnType: void
    signature: void tls1_sha256_final_raw(void *ctx, unsigned char *md_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2n8
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - md_out
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: tls1_sha512_final_raw
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_cbc.c
    functionUses: 0
    functionsReached:
    - l2n8
    linkageType: ''
    returnType: void
    signature: void tls1_sha512_final_raw(void *ctx, unsigned char *md_out)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:167,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:170,1
    - Dst: MD5_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:174,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:183,1
    - Dst: SHA1_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:184,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:190,1
    - Dst: SHA224_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:191,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:197,1
    - Dst: SHA256_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:198,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:204,1
    - Dst: SHA384_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:205,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:213,1
    - Dst: SHA512_Init
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:214,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:229,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:232,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:233,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:234,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:334,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:335,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:337,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:341,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:345,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:351,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:376,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:377,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:378,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:379,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:381,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:384,1
    - Dst: memcpy
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:385,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:386,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:388,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:392,1
    - Dst: constant_time_eq_8_s
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:403,1
    - Dst: constant_time_eq_8_s
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:404,1
    - Dst: constant_time_ge_8_s
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:415,1
    - Dst: constant_time_ge_8_s
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:416,1
    - Dst: constant_time_select_8
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:422,1
    - Dst: constant_time_select_8
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:440,1
    - Dst: md_transform
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:448,1
    - Dst: md_final_raw
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:449,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:455,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:459,1
    - Dst: memset
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:463,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:465,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:466,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:467,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:474,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:475,1
    - Dst: EVP_DigestFinal
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:478,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/record/methods/ssl3_cbc.c:484,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 170
    argCount: 10
    argNames:
    - md
    - md_out
    - md_out_size
    - header
    - data
    - data_size
    - data_plus_mac_plus_padding_size
    - mac_secret
    - mac_secret_length
    - is_sslv3
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t*
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t
    - unsigned char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 126
    functionDepth: 9
    functionLinenumber: 126
    functionLinenumberEnd: 486
    functionName: ssl3_cbc_digest_record
    functionSourceFile: /src/openssl/ssl/record/methods/ssl3_cbc.c
    functionUses: 1
    functionsReached:
    - SHA512_Init
    - MD5_Init
    - EVP_DigestUpdate
    - constant_time_select_8
    - memcpy
    - SHA256_Init
    - EVP_MD_is_a
    - SHA384_Init
    - md_final_raw
    - ossl_assert
    - EVP_DigestInit_ex
    - constant_time_ge_8_s
    - EVP_DigestFinal
    - md_transform
    - SHA224_Init
    - constant_time_eq_8_s
    - memset
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - SHA1_Init
    linkageType: ''
    returnType: int
    signature: "int ssl3_cbc_digest_record(const EVP_MD *md,\n                           unsigned
      char *md_out,\n                           size_t *md_out_size,\n                           const
      unsigned char *header,\n                           const unsigned char *data,\n
      \                          size_t data_size,\n                           size_t
      data_plus_mac_plus_padding_size,\n                           const unsigned
      char *mac_secret,\n                           size_t mac_secret_length, char
      is_sslv3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: TLS_RL_RECORD_set_type
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RL_RECORD_set_type(r, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: TLS_RL_RECORD_set_rec_version
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RL_RECORD_set_rec_version(r, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: TLS_RL_RECORD_get_length
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RL_RECORD_get_length(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: TLS_RL_RECORD_set_length
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RL_RECORD_set_length(r, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: TLS_RL_RECORD_add_length
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RL_RECORD_add_length(r, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: TLS_RL_RECORD_set_data
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RL_RECORD_set_data(r, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: TLS_RL_RECORD_set_input
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RL_RECORD_set_input(r, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: TLS_RL_RECORD_reset_input
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_RL_RECORD_reset_input(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rl
    - ','
    - al
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: RLAYERfatal
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RLAYERfatal(rl, al, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: RLAYER_USE_EXPLICIT_IV
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RLAYER_USE_EXPLICIT_IV(rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 528
    functionName: TLS_BUFFER_get_buf
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_get_buf(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 529
    functionName: TLS_BUFFER_set_buf
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_set_buf(b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    functionName: TLS_BUFFER_get_len
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_get_len(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: TLS_BUFFER_get_left
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_get_left(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 532
    functionName: TLS_BUFFER_set_left
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_set_left(b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: TLS_BUFFER_sub_left
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_sub_left(b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: TLS_BUFFER_get_offset
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_get_offset(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 535
    functionName: TLS_BUFFER_set_offset
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_set_offset(b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: TLS_BUFFER_add_offset
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_add_offset(b, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 537
    functionName: TLS_BUFFER_set_app_buffer
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_set_app_buffer(b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 538
    functionName: TLS_BUFFER_is_app_buffer
    functionSourceFile: /src/openssl/ssl/record/methods/recmethod_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLS_BUFFER_is_app_buffer(b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 11
    argNames:
    - fifd
    - cfq
    - ackm
    - txpim
    - "(*get_sstream_by_id)(uint64_t stream_id,\n                                                           uint32_t
      pn_space,\n                                                           void *arg)"
    - get_sstream_by_id_arg
    - regen_frame_arg
    - confirm_frame_arg
    - sstream_updated_arg
    - (*get_qlog_cb)(void *arg)
    - get_qlog_cb_arg
    argTypes:
    - QUIC_FIFD*
    - QUIC_CFQ*
    - OSSL_ACKM*
    - QUIC_TXPIM*
    - QUIC_SSTREAM*
    - void*
    - void*
    - void*
    - void*
    - QLOG*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 60
    functionName: ossl_quic_fifd_init
    functionSourceFile: /src/openssl/ssl/quic/quic_fifd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_fifd_init(QUIC_FIFD *fifd,\n                        QUIC_CFQ
      *cfq,\n                        OSSL_ACKM *ackm,\n                        QUIC_TXPIM
      *txpim,\n                        /* stream_id is UINT64_MAX for the crypto stream
      */\n                        QUIC_SSTREAM *(*get_sstream_by_id)(uint64_t stream_id,\n
      \                                                          uint32_t pn_space,\n
      \                                                          void *arg),\n                        void
      *get_sstream_by_id_arg,\n                        /* stream_id is UINT64_MAX
      if not applicable */\n                        void (*regen_frame)(uint64_t frame_type,\n
      \                                           uint64_t stream_id,\n                                            QUIC_TXPIM_PKT
      *pkt,\n                                            void *arg),\n                        void
      *regen_frame_arg,\n                        void (*confirm_frame)(uint64_t frame_type,\n
      \                                             uint64_t stream_id,\n                                              QUIC_TXPIM_PKT
      *pkt,\n                                              void *arg),\n                        void
      *confirm_frame_arg,\n                        void (*sstream_updated)(uint64_t
      stream_id,\n                                                void *arg),\n                        void
      *sstream_updated_arg,\n                        QLOG *(*get_qlog_cb)(void *arg),\n
      \                       void *get_qlog_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - fifd
    argTypes:
    - QUIC_FIFD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ossl_quic_fifd_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_fifd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_fifd_cleanup(QUIC_FIFD *fifd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_txpim_pkt_get_chunks
      Src: /src/openssl/ssl/quic/quic_fifd.c:71,1
    - Dst: ossl_quic_txpim_pkt_get_num_chunks
      Src: /src/openssl/ssl/quic/quic_fifd.c:72,1
    - Dst: QUIC_FIFD*::get_sstream_by_id
      Src: /src/openssl/ssl/quic/quic_fifd.c:78,1
    - Dst: ossl_quic_sstream_mark_acked
      Src: /src/openssl/ssl/quic/quic_fifd.c:86,1
    - Dst: ossl_quic_sstream_mark_acked_fin
      Src: /src/openssl/ssl/quic/quic_fifd.c:90,1
    - Dst: QUIC_FIFD*::confirm_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:93,1
    - Dst: QUIC_FIFD*::confirm_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:98,1
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/ssl/quic/quic_fifd.c:102,1
    - Dst: QUIC_FIFD*::sstream_updated
      Src: /src/openssl/ssl/quic/quic_fifd.c:103,1
    - Dst: ossl_quic_cfq_release
      Src: /src/openssl/ssl/quic/quic_fifd.c:109,1
    - Dst: ossl_quic_txpim_pkt_release
      Src: /src/openssl/ssl/quic/quic_fifd.c:112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 113
    functionName: on_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_fifd.c
    functionUses: 0
    functionsReached:
    - QUIC_FIFD*::confirm_frame
    - ossl_quic_txpim_pkt_release
    - QUIC_FIFD*::get_sstream_by_id
    - ossl_quic_txpim_pkt_get_chunks
    - QUIC_FIFD*::sstream_updated
    - ossl_quic_cfq_release
    - ossl_quic_sstream_mark_acked
    - ossl_quic_sstream_is_totally_acked
    - ossl_quic_txpim_pkt_get_num_chunks
    - ossl_quic_sstream_mark_acked_fin
    linkageType: ''
    returnType: void
    signature: void on_acked(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_FIFD*::get_qlog_cb
      Src: /src/openssl/ssl/quic/quic_fifd.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fifd
    argTypes:
    - QUIC_FIFD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: fifd_get_qlog
    functionSourceFile: /src/openssl/ssl/quic/quic_fifd.c
    functionUses: 0
    functionsReached:
    - QUIC_FIFD*::get_qlog_cb
    linkageType: ''
    returnType: QLOG
    signature: QLOG *fifd_get_qlog(QUIC_FIFD *fifd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_txpim_pkt_get_chunks
      Src: /src/openssl/ssl/quic/quic_fifd.c:127,1
    - Dst: ossl_quic_txpim_pkt_get_num_chunks
      Src: /src/openssl/ssl/quic/quic_fifd.c:128,1
    - Dst: ossl_qlog_event_recovery_packet_lost
      Src: /src/openssl/ssl/quic/quic_fifd.c:133,1
    - Dst: fifd_get_qlog
      Src: /src/openssl/ssl/quic/quic_fifd.c:133,1
    - Dst: QUIC_FIFD*::get_sstream_by_id
      Src: /src/openssl/ssl/quic/quic_fifd.c:137,1
    - Dst: ossl_quic_sstream_mark_lost
      Src: /src/openssl/ssl/quic/quic_fifd.c:152,1
    - Dst: ossl_quic_sstream_mark_lost_fin
      Src: /src/openssl/ssl/quic/quic_fifd.c:158,1
    - Dst: QUIC_FIFD*::regen_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:163,1
    - Dst: QUIC_FIFD*::regen_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:168,1
    - Dst: QUIC_FIFD*::regen_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:182,1
    - Dst: QUIC_FIFD*::sstream_updated
      Src: /src/openssl/ssl/quic/quic_fifd.c:188,1
    - Dst: ossl_quic_cfq_mark_lost
      Src: /src/openssl/ssl/quic/quic_fifd.c:195,1
    - Dst: QUIC_FIFD*::regen_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:200,1
    - Dst: QUIC_FIFD*::regen_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:205,1
    - Dst: QUIC_FIFD*::regen_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:210,1
    - Dst: QUIC_FIFD*::regen_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:215,1
    - Dst: QUIC_FIFD*::regen_frame
      Src: /src/openssl/ssl/quic/quic_fifd.c:225,1
    - Dst: ossl_quic_txpim_pkt_release
      Src: /src/openssl/ssl/quic/quic_fifd.c:229,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 230
    functionName: on_lost
    functionSourceFile: /src/openssl/ssl/quic/quic_fifd.c
    functionUses: 0
    functionsReached:
    - fifd_get_qlog
    - ossl_quic_txpim_pkt_release
    - QUIC_FIFD*::get_sstream_by_id
    - ossl_quic_txpim_pkt_get_chunks
    - ossl_quic_sstream_mark_lost
    - QUIC_FIFD*::regen_frame
    - QUIC_FIFD*::sstream_updated
    - ossl_quic_sstream_mark_lost_fin
    - ossl_quic_cfq_mark_lost
    - ossl_qlog_event_recovery_packet_lost
    - ossl_quic_txpim_pkt_get_num_chunks
    linkageType: ''
    returnType: void
    signature: void on_lost(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_cfq_release
      Src: /src/openssl/ssl/quic/quic_fifd.c:246,1
    - Dst: ossl_quic_txpim_pkt_release
      Src: /src/openssl/ssl/quic/quic_fifd.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: on_discarded
    functionSourceFile: /src/openssl/ssl/quic/quic_fifd.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txpim_pkt_release
    - ossl_quic_cfq_release
    linkageType: ''
    returnType: void
    signature: void on_discarded(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_tx_history_init_elem
      Src: /src/openssl/ssl/quic/quic_fifd.c:266,1
    - Dst: ossl_quic_cfq_mark_tx
      Src: /src/openssl/ssl/quic/quic_fifd.c:276,1
    - Dst: ossl_quic_txpim_pkt_get_chunks
      Src: /src/openssl/ssl/quic/quic_fifd.c:282,1
    - Dst: ossl_quic_txpim_pkt_get_num_chunks
      Src: /src/openssl/ssl/quic/quic_fifd.c:283,1
    - Dst: QUIC_FIFD*::get_sstream_by_id
      Src: /src/openssl/ssl/quic/quic_fifd.c:285,1
    - Dst: ossl_quic_sstream_mark_transmitted
      Src: /src/openssl/ssl/quic/quic_fifd.c:292,1
    - Dst: ossl_quic_sstream_mark_transmitted_fin
      Src: /src/openssl/ssl/quic/quic_fifd.c:298,1
    - Dst: ossl_ackm_on_tx_packet
      Src: /src/openssl/ssl/quic/quic_fifd.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - fifd
    - pkt
    argTypes:
    - QUIC_FIFD*
    - QUIC_TXPIM_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 305
    functionName: ossl_quic_fifd_pkt_commit
    functionSourceFile: /src/openssl/ssl/quic/quic_fifd.c
    functionUses: 1
    functionsReached:
    - QUIC_FIFD*::get_sstream_by_id
    - ossl_quic_txpim_pkt_get_chunks
    - ossl_ackm_on_tx_packet
    - ossl_list_tx_history_init_elem
    - ossl_quic_cfq_mark_tx
    - ossl_quic_sstream_mark_transmitted_fin
    - ossl_quic_sstream_mark_transmitted
    - ossl_quic_txpim_pkt_get_num_chunks
    linkageType: ''
    returnType: int
    signature: int ossl_quic_fifd_pkt_commit(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fifd
    - (*get_qlog_cb)(void *arg)
    - get_qlog_cb_arg
    argTypes:
    - QUIC_FIFD*
    - QLOG*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: ossl_quic_fifd_set_qlog_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_fifd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_fifd_set_qlog_cb(QUIC_FIFD *fifd, QLOG *(*get_qlog_cb)(void
      *arg),\n                                void *get_qlog_cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_demux.c:78,1
    - Dst: BIO_dgram_get_local_addr_cap
      Src: /src/openssl/ssl/quic/quic_demux.c:90,1
    - Dst: BIO_dgram_set_local_addr_enable
      Src: /src/openssl/ssl/quic/quic_demux.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - net_bio
    - short_conn_id_len
    - now_arg
    argTypes:
    - BIO*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: ossl_quic_demux_new
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    - BIO_dgram_get_local_addr_cap
    - BIO_dgram_set_local_addr_enable
    linkageType: ''
    returnType: QUIC_DEMUX
    signature: "QUIC_DEMUX *ossl_quic_demux_new(BIO *net_bio,\n                                size_t
      short_conn_id_len,\n                                OSSL_TIME (*now)(void *arg),\n
      \                               void *now_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:101,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:102,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_demux.c:103,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_demux.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - QUIC_URXE_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: demux_free_urxl
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_list_urxe_next
    - ossl_list_urxe_remove
    - ossl_list_urxe_head
    linkageType: ''
    returnType: void
    signature: void demux_free_urxl(QUIC_URXE_LIST *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: demux_free_urxl
      Src: /src/openssl/ssl/quic/quic_demux.c:114,1
    - Dst: demux_free_urxl
      Src: /src/openssl/ssl/quic/quic_demux.c:115,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_demux.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - demux
    argTypes:
    - QUIC_DEMUX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: ossl_quic_demux_free
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - demux_free_urxl
    linkageType: ''
    returnType: void
    signature: void ossl_quic_demux_free(QUIC_DEMUX *demux)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dgram_get_mtu
      Src: /src/openssl/ssl/quic/quic_demux.c:132,1
    - Dst: ossl_quic_demux_set_mtu
      Src: /src/openssl/ssl/quic/quic_demux.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - demux
    - net_bio
    argTypes:
    - QUIC_DEMUX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: ossl_quic_demux_set_bio
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - BIO_dgram_get_mtu
    - ossl_quic_demux_set_mtu
    linkageType: ''
    returnType: void
    signature: void ossl_quic_demux_set_bio(QUIC_DEMUX *demux, BIO *net_bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - demux
    - mtu
    argTypes:
    - QUIC_DEMUX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: ossl_quic_demux_set_mtu
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_demux_set_mtu(QUIC_DEMUX *demux, unsigned int mtu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - demux
    - cb
    - cb_arg
    argTypes:
    - QUIC_DEMUX*
    - ossl_quic_demux_cb_fn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: ossl_quic_demux_set_default_handler
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_demux_set_default_handler(QUIC_DEMUX *demux,\n                                         ossl_quic_demux_cb_fn
      *cb,\n                                         void *cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_demux.c:162,1
    - Dst: ossl_list_urxe_init_elem
      Src: /src/openssl/ssl/quic/quic_demux.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - alloc_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: demux_alloc_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_init_elem
    - OPENSSL_malloc
    linkageType: ''
    returnType: QUIC_URXE
    signature: QUIC_URXE *demux_alloc_urxe(size_t alloc_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_demux.c:177,1
    - Dst: ossl_list_urxe_prev
      Src: /src/openssl/ssl/quic/quic_demux.c:181,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_demux.c:182,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/quic/quic_demux.c:184,1
    - Dst: ossl_list_urxe_insert_head
      Src: /src/openssl/ssl/quic/quic_demux.c:188,1
    - Dst: ossl_list_urxe_insert_after
      Src: /src/openssl/ssl/quic/quic_demux.c:190,1
    - Dst: ossl_list_urxe_insert_head
      Src: /src/openssl/ssl/quic/quic_demux.c:196,1
    - Dst: ossl_list_urxe_insert_after
      Src: /src/openssl/ssl/quic/quic_demux.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - demux
    - e
    - new_alloc_len
    argTypes:
    - QUIC_DEMUX*
    - QUIC_URXE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 202
    functionName: demux_resize_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_list_urxe_prev
    - ossl_list_urxe_insert_after
    - OPENSSL_realloc
    - ossl_list_urxe_insert_head
    - ossl_list_urxe_remove
    linkageType: ''
    returnType: QUIC_URXE
    signature: "QUIC_URXE *demux_resize_urxe(QUIC_DEMUX *demux, QUIC_URXE *e,\n                                    size_t
      new_alloc_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: demux_resize_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - demux
    - e
    - alloc_len
    argTypes:
    - QUIC_DEMUX*
    - QUIC_URXE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: demux_reserve_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - demux_resize_urxe
    linkageType: ''
    returnType: QUIC_URXE
    signature: "QUIC_URXE *demux_reserve_urxe(QUIC_DEMUX *demux, QUIC_URXE *e,\n                                     size_t
      alloc_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_num
      Src: /src/openssl/ssl/quic/quic_demux.c:214,1
    - Dst: demux_alloc_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:215,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - demux
    - min_num_free
    argTypes:
    - QUIC_DEMUX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 224
    functionName: demux_ensure_free_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - demux_alloc_urxe
    - ossl_list_urxe_num
    - ossl_list_urxe_insert_tail
    linkageType: ''
    returnType: int
    signature: int demux_ensure_free_urxe(QUIC_DEMUX *demux, size_t min_num_free)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:238,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:242,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:242,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:243,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_demux.c:255,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:256,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_demux.c:259,1
    - Dst: demux_reserve_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:266,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_demux.c:272,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_demux.c:273,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_demux.c:276,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_demux.c:280,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/quic/quic_demux.c:283,1
    - Dst: BIO_recvmmsg
      Src: /src/openssl/ssl/quic/quic_demux.c:284,1
    - Dst: BIO_err_is_non_fatal
      Src: /src/openssl/ssl/quic/quic_demux.c:285,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/ssl/quic/quic_demux.c:285,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_demux.c:287,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_demux.c:291,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_demux.c:296,1
    - Dst: QUIC_DEMUX*::now
      Src: /src/openssl/ssl/quic/quic_demux.c:297,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_demux.c:297,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:299,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:301,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_demux.c:308,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:309,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - demux
    argTypes:
    - QUIC_DEMUX*
    assertStmts:
    - condition: (ossl_list_urxe_head(&demux->urx_pending) == NULL)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/openssl/ssl/quic/quic_demux.c
    - condition: (urxe->demux_state == URXE_DEMUX_STATE_FREE)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 314
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 314
    functionName: demux_recv
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ERR_pop_to_mark
    - ossl_time_zero
    - QUIC_DEMUX*::now
    - ossl_list_urxe_insert_tail
    - ossl_list_urxe_remove
    - assert
    - ossl_assert
    - BIO_err_is_non_fatal
    - ERR_clear_last_mark
    - BIO_ADDR_clear
    - ERR_peek_last_error
    - BIO_recvmmsg
    - ossl_quic_urxe_data
    - ossl_list_urxe_head
    - memset
    - ossl_list_urxe_next
    - ERR_set_mark
    - OSSL_NELEM
    - demux_reserve_urxe
    linkageType: ''
    returnType: int
    signature: int demux_recv(QUIC_DEMUX *demux)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_get_pkt_hdr_dst_conn_id
      Src: /src/openssl/ssl/quic/quic_demux.c:321,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_demux.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - demux
    - e
    - dst_conn_id
    argTypes:
    - QUIC_DEMUX*
    - QUIC_URXE*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: demux_identify_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_quic_urxe_data
    - ossl_quic_wire_get_pkt_hdr_dst_conn_id
    linkageType: ''
    returnType: int
    signature: "int demux_identify_conn_id(QUIC_DEMUX *demux,\n                                  QUIC_URXE
      *e,\n                                  QUIC_CONN_ID *dst_conn_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_demux.c:337,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:337,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:340,1
    - Dst: demux_identify_conn_id
      Src: /src/openssl/ssl/quic/quic_demux.c:343,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_demux.c:345,1
    - Dst: QUIC_DEMUX*::default_cb
      Src: /src/openssl/ssl/quic/quic_demux.c:352,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - demux
    - e
    argTypes:
    - QUIC_DEMUX*
    - QUIC_URXE*
    assertStmts:
    - condition: (e->demux_state == URXE_DEMUX_STATE_PENDING)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 361
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 361
    functionName: demux_process_pending_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - demux_identify_conn_id
    - ossl_assert
    - QUIC_DEMUX*::default_cb
    - ossl_list_urxe_insert_tail
    - ossl_list_urxe_head
    - ossl_list_urxe_remove
    - assert
    linkageType: ''
    returnType: int
    signature: int demux_process_pending_urxe(QUIC_DEMUX *demux, QUIC_URXE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:369,1
    - Dst: demux_process_pending_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - demux
    argTypes:
    - QUIC_DEMUX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: demux_process_pending_urxl
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - demux_process_pending_urxe
    - ossl_list_urxe_head
    linkageType: ''
    returnType: int
    signature: int demux_process_pending_urxl(QUIC_DEMUX *demux)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:384,1
    - Dst: demux_ensure_free_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:385,1
    - Dst: demux_recv
      Src: /src/openssl/ssl/quic/quic_demux.c:389,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:396,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:396,1
    - Dst: demux_process_pending_urxl
      Src: /src/openssl/ssl/quic/quic_demux.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - demux
    argTypes:
    - QUIC_DEMUX*
    assertStmts:
    - condition: (ossl_list_urxe_head(&demux->urx_pending) != NULL)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 403
      start: 380
    functionDepth: 4
    functionLinenumber: 380
    functionLinenumberEnd: 403
    functionName: ossl_quic_demux_pump
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 1
    functionsReached:
    - demux_recv
    - demux_process_pending_urxl
    - demux_ensure_free_urxe
    - ossl_list_urxe_head
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_quic_demux_pump(QUIC_DEMUX *demux)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: demux_ensure_free_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:415,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:419,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:421,1
    - Dst: demux_reserve_urxe
      Src: /src/openssl/ssl/quic/quic_demux.c:423,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_demux.c:427,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_demux.c:427,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_demux.c:433,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_demux.c:438,1
    - Dst: QUIC_DEMUX*::now
      Src: /src/openssl/ssl/quic/quic_demux.c:441,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_demux.c:441,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_demux.c:444,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:446,1
    - Dst: demux_process_pending_urxl
      Src: /src/openssl/ssl/quic/quic_demux.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - demux
    - buf
    - buf_len
    - peer
    - local
    argTypes:
    - QUIC_DEMUX*
    - unsigned char*
    - size_t
    - BIO_ADDR*
    - BIO_ADDR*
    assertStmts:
    - condition: (urxe->demux_state == URXE_DEMUX_STATE_FREE)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 450
      start: 406
    functionDepth: 4
    functionLinenumber: 406
    functionLinenumberEnd: 450
    functionName: ossl_quic_demux_inject
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 1
    functionsReached:
    - demux_process_pending_urxl
    - memcpy
    - ossl_time_zero
    - BIO_ADDR_clear
    - QUIC_DEMUX*::now
    - ossl_list_urxe_insert_tail
    - demux_ensure_free_urxe
    - ossl_quic_urxe_data
    - ossl_list_urxe_head
    - ossl_list_urxe_remove
    - assert
    - demux_reserve_urxe
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_demux_inject(QUIC_DEMUX *demux,\n                           const
      unsigned char *buf,\n                           size_t buf_len,\n                           const
      BIO_ADDR *peer,\n                           const BIO_ADDR *local)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:456,1
    - Dst: ossl_list_urxe_prev
      Src: /src/openssl/ssl/quic/quic_demux.c:456,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:456,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:457,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_demux.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - demux
    - e
    argTypes:
    - QUIC_DEMUX*
    - QUIC_URXE*
    assertStmts:
    - condition: (ossl_list_urxe_prev(e) == NULL && ossl_list_urxe_next(e) == NULL)
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/openssl/ssl/quic/quic_demux.c
    - condition: (e->demux_state == URXE_DEMUX_STATE_ISSUED)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: ossl_quic_demux_release_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_prev
    - ossl_list_urxe_next
    - ossl_list_urxe_insert_tail
    - assert
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_demux_release_urxe(QUIC_DEMUX *demux,\n                                  QUIC_URXE
      *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:465,1
    - Dst: ossl_list_urxe_prev
      Src: /src/openssl/ssl/quic/quic_demux.c:465,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_demux.c:465,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_demux.c:466,1
    - Dst: ossl_list_urxe_insert_head
      Src: /src/openssl/ssl/quic/quic_demux.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - demux
    - e
    argTypes:
    - QUIC_DEMUX*
    - QUIC_URXE*
    assertStmts:
    - condition: (ossl_list_urxe_prev(e) == NULL && ossl_list_urxe_next(e) == NULL)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/openssl/ssl/quic/quic_demux.c
    - condition: (e->demux_state == URXE_DEMUX_STATE_ISSUED)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/openssl/ssl/quic/quic_demux.c
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: ossl_quic_demux_reinject_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_prev
    - ossl_list_urxe_insert_head
    - ossl_list_urxe_next
    - assert
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_demux_reinject_urxe(QUIC_DEMUX *demux,\n                                   QUIC_URXE
      *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_demux.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - demux
    argTypes:
    - QUIC_DEMUX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: ossl_quic_demux_has_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_demux.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_head
    linkageType: ''
    returnType: int
    signature: int ossl_quic_demux_has_pending(const QUIC_DEMUX *demux)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - last_error
    argTypes:
    - QCTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: quic_set_last_error
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK quic_set_last_error(QCTX *ctx, int last_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:99,1
    - Dst: quic_set_last_error
      Src: /src/openssl/ssl/quic/quic_impl.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - QCTX*
    - int
    assertStmts:
    - condition: (ctx->in_io)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: quic_raise_normal_error
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_set_last_error
    - assert
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK quic_raise_normal_error(QCTX *ctx,\n                                   int
      err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: quic_set_last_error
      Src: /src/openssl/ssl/quic/quic_impl.c:127,1
    - Dst: ossl_quic_channel_restore_err_state
      Src: /src/openssl/ssl/quic/quic_impl.c:130,1
    - Dst: ERR_new
      Src: /src/openssl/ssl/quic/quic_impl.c:133,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/quic/quic_impl.c:134,1
    - Dst: va_start
      Src: /src/openssl/ssl/quic/quic_impl.c:136,1
    - Dst: ERR_vset_error
      Src: /src/openssl/ssl/quic/quic_impl.c:137,1
    - Dst: va_end
      Src: /src/openssl/ssl/quic/quic_impl.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - file
    - line
    - func
    - reason
    - fmt
    argTypes:
    - QCTX*
    - char*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: quic_raise_non_normal_error
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - va_end
    - ERR_set_debug
    - ossl_quic_channel_restore_err_state
    - ERR_new
    - va_start
    - ERR_vset_error
    - quic_set_last_error
    linkageType: ''
    returnType: int
    signature: "int quic_raise_non_normal_error(QCTX *ctx,\n                                       const
      char *file,\n                                       int line,\n                                       const
      char *func,\n                                       int reason,\n                                       const
      char *fmt,\n                                       ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: QUIC_RAISE_NORMAL_ERROR
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_RAISE_NORMAL_ERROR(ctx, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - reason
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: QUIC_RAISE_NON_NORMAL_ERROR
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_RAISE_NON_NORMAL_ERROR(ctx, reason, msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: wrong_type
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: int
    signature: int wrong_type(const SSL *s, uint32_t flags)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:277,1
    - Dst: wrong_type
      Src: /src/openssl/ssl/quic/quic_impl.c:284,1
    - Dst: wrong_type
      Src: /src/openssl/ssl/quic/quic_impl.c:296,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:316,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:318,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:324,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:325,1
    - Dst: quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:330,1
    - Dst: qc_wait_for_default_xso_for_read
      Src: /src/openssl/ssl/quic/quic_impl.c:335,1
    - Dst: qc_try_create_default_xso_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:338,1
    - Dst: wrong_type
      Src: /src/openssl/ssl/quic/quic_impl.c:345,1
    - Dst: wrong_type
      Src: /src/openssl/ssl/quic/quic_impl.c:354,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:368,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:374,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:376,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:384,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 110
    argCount: 3
    argNames:
    - s
    - ctx
    - flags
    argTypes:
    - SSL*
    - QCTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 387
    functionName: expect_quic_as
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_lock_for_io
    - quic_do_handshake
    - qctx_lock
    - quic_mutation_allowed
    - wrong_type
    - qc_wait_for_default_xso_for_read
    - qctx_unlock
    - qc_try_create_default_xso_for_write
    linkageType: ''
    returnType: int
    signature: int expect_quic_as(const SSL *s, QCTX *ctx, uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ctx
    - raiseerrs
    argTypes:
    - SSL*
    - QCTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: is_quic_c
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int is_quic_c(const SSL *s, QCTX *ctx, int raiseerrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ctx
    - raiseerrs
    argTypes:
    - SSL*
    - QCTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: is_quic_cs
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int is_quic_cs(const SSL *s, QCTX *ctx, int raiseerrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: expect_quic_cs
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int expect_quic_cs(const SSL *s, QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: expect_quic_csl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int expect_quic_csl(const SSL *s, QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: expect_quic_csld
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int expect_quic_csld(const SSL *s, QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: expect_quic_listener
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int expect_quic_listener(const SSL *s, QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: expect_quic_domain
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int expect_quic_domain(const SSL *s, QCTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - s
    - remote_init
    - in_io
    - ctx
    argTypes:
    - SSL*
    - int
    - int
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 461
    functionName: expect_quic_with_stream_lock
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: QUIC_ACQUIRES_LOCK
    signature: "QUIC_ACQUIRES_LOCK expect_quic_with_stream_lock(const SSL *s, int
      remote_init,\n                                                    int in_io,
      QCTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_as
      Src: /src/openssl/ssl/quic/quic_impl.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ctx
    argTypes:
    - SSL*
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: ossl_unused::expect_quic_conn_only
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_as
    linkageType: ''
    returnType: int
    signature: int ossl_unused expect_quic_conn_only(const SSL *s, QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:481,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:482,1
    - Dst: ossl_quic_obj_get0_mutex
      Src: /src/openssl/ssl/quic/quic_impl.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts:
    - condition: (ctx->obj != NULL)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 484
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 484
    functionName: qctx_lock
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_lock
    - ossl_quic_obj_get0_mutex
    - assert
    linkageType: ''
    returnType: void
    signature: void qctx_lock(QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:491,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:492,1
    - Dst: ossl_quic_obj_get0_mutex
      Src: /src/openssl/ssl/quic/quic_impl.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts:
    - condition: (ctx->obj != NULL)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: qctx_unlock
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_unlock
    - ossl_quic_obj_get0_mutex
    - assert
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qctx_unlock(QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:498,1
    - Dst: quic_set_last_error
      Src: /src/openssl/ssl/quic/quic_impl.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: qctx_lock_for_io
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock
    - quic_set_last_error
    linkageType: ''
    returnType: void
    signature: void qctx_lock_for_io(QCTX *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:522,1
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_impl.c:525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - qc
    - req_active
    argTypes:
    - QUIC_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 529
    functionName: quic_mutation_allowed
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_is_active
    - ossl_quic_channel_is_term_any
    linkageType: ''
    returnType: int
    signature: int quic_mutation_allowed(QUIC_CONNECTION *qc, int req_active)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: qctx_is_top_level
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int qctx_is_top_level(QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_obj_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: qctx_blocking
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_obj_blocking
    linkageType: ''
    returnType: int
    signature: int qctx_blocking(QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_impl.c:555,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:556,1
    - Dst: ossl_quic_engine_set_inhibit_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:562,1
    - Dst: ossl_quic_engine_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:564,1
    - Dst: ossl_quic_reactor_block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - pred_arg
    - flags
    argTypes:
    - QCTX*
    - void*
    - uint32_t
    assertStmts:
    - condition: (qeng != NULL)
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 566
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 566
    functionName: block_until_pred
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_get0_reactor
    - ossl_quic_obj_get0_engine
    - ossl_quic_reactor_block_until_pred
    - ossl_quic_engine_set_inhibit_tick
    - assert
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK block_until_pred(QCTX *ctx,\n                            int
      (*pred)(void *arg), void *pred_arg,\n                            uint32_t flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_QUIC_server_method
      Src: /src/openssl/ssl/quic/quic_impl.c:595,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:596,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:600,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:602,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_impl.c:608,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:609,1
    - Dst: ossl_ssl_connection_new_int
      Src: /src/openssl/ssl/quic/quic_impl.c:615,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_impl.c:615,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_impl.c:616,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:617,1
    - Dst: create_channel
      Src: /src/openssl/ssl/quic/quic_impl.c:637,1
    - Dst: ossl_quic_channel_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_impl.c:640,1
    - Dst: ossl_quic_channel_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_impl.c:641,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:644,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:646,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:657,1
    - Dst: qc_cleanup
      Src: /src/openssl/ssl/quic/quic_impl.c:673,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:674,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 586
    functionDepth: 5
    functionLinenumber: 586
    functionLinenumberEnd: 677
    functionName: ossl_quic_new
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - qc_update_reject_policy
    - QUIC_RAISE_NON_NORMAL_ERROR
    - OPENSSL_zalloc
    - ossl_ssl_connection_new_int
    - TLS_method
    - qc_cleanup
    - create_channel
    - OPENSSL_free
    - ossl_quic_obj_init
    - ossl_quic_channel_set_msg_callback
    - ossl_crypto_mutex_new
    - ossl_quic_channel_set_msg_callback_arg
    - SSL_CONNECTION_FROM_SSL
    - OSSL_QUIC_server_method
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_new(SSL_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:684,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_impl.c:685,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:687,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_impl.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 689
    functionName: quic_unref_port_bios
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_get_net_wbio
    - ossl_quic_port_get_net_rbio
    - BIO_free_all
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK quic_unref_port_bios(QUIC_PORT *port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:694,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_impl.c:697,1
    - Dst: quic_unref_port_bios
      Src: /src/openssl/ssl/quic/quic_impl.c:701,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:702,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:705,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:712,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - qc
    - have_lock
    argTypes:
    - QUIC_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 691
    functionDepth: 5
    functionLinenumber: 691
    functionLinenumberEnd: 717
    functionName: qc_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_quic_channel_free
    - ossl_quic_engine_free
    - SSL_free
    - ossl_quic_port_free
    - ossl_crypto_mutex_unlock
    - quic_unref_port_bios
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_cleanup(QUIC_CONNECTION *qc, int have_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: quic_unref_port_bios
      Src: /src/openssl/ssl/quic/quic_impl.c:723,1
    - Dst: ossl_quic_port_drop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:724,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:725,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:728,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:730,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 720
    functionDepth: 5
    functionLinenumber: 720
    functionLinenumberEnd: 735
    functionName: quic_free_listener
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_quic_engine_free
    - SSL_free
    - ossl_quic_port_free
    - ossl_quic_port_drop_incoming
    - quic_unref_port_bios
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK quic_free_listener(QCTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:741,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 745
    functionName: quic_free_domain
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_quic_engine_free
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK quic_free_domain(QCTX *ctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:754,1
    - Dst: quic_free_domain
      Src: /src/openssl/ssl/quic/quic_impl.c:758,1
    - Dst: quic_free_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:763,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:767,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:777,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:783,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/ssl/quic/quic_impl.c:784,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:784,1
    - Dst: ossl_quic_stream_map_stop_sending_recv_part
      Src: /src/openssl/ssl/quic/quic_impl.c:790,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:790,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_impl.c:795,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:795,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:799,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:809,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:822,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:823,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:824,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:829,1
    - Dst: ossl_quic_thread_assist_wait_stopped
      Src: /src/openssl/ssl/quic/quic_impl.c:833,1
    - Dst: ossl_quic_thread_assist_cleanup
      Src: /src/openssl/ssl/quic/quic_impl.c:834,1
    - Dst: qc_cleanup
      Src: /src/openssl/ssl/quic/quic_impl.c:842,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:846,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:848,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts:
    - condition: (ctx.qc->num_xso > 0)
      pos:
        line_end: 776
        line_start: 776
        source_file: /src/openssl/ssl/quic/quic_impl.c
    - condition: (ctx.qc->num_xso == 0)
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 849
      start: 747
    functionDepth: 6
    functionLinenumber: 747
    functionLinenumberEnd: 849
    functionName: ossl_quic_free
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_reset_stream_send_part
    - ossl_quic_stream_map_stop_sending_recv_part
    - SSL_free
    - qc_cleanup
    - ossl_quic_channel_get_qsm
    - ossl_quic_thread_assist_cleanup
    - qctx_lock
    - quic_free_domain
    - ossl_quic_stream_map_update_state
    - expect_quic_any
    - quic_free_listener
    - ossl_quic_thread_assist_wait_stopped
    - qctx_unlock
    - assert
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_free(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_clear
      Src: /src/openssl/ssl/quic/quic_impl.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 856
    functionName: ossl_quic_init
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_clear
    linkageType: ''
    returnType: int
    signature: int ossl_quic_init(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: ossl_quic_deinit
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_deinit(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:869,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_impl.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: ossl_quic_reset
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_any
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_quic_reset(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:881,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_impl.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 886
    functionName: ossl_quic_clear
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_any
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int ossl_quic_clear(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:894,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:897,1
    - Dst: ossl_quic_engine_set_time_cb
      Src: /src/openssl/ssl/quic/quic_impl.c:899,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - now_cb_arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 903
    functionName: ossl_quic_set_override_now_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 5
    functionsReached:
    - qctx_lock
    - qctx_unlock
    - expect_quic_any
    - ossl_quic_engine_set_time_cb
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_set_override_now_cb(SSL *s,\n                                  OSSL_TIME
      (*now_cb)(void *arg),\n                                  void *now_cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:909,1
    - Dst: ossl_quic_thread_assist_notify_deadline_changed
      Src: /src/openssl/ssl/quic/quic_impl.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 916
    functionName: ossl_quic_conn_force_assist_thread_wake
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_thread_assist_notify_deadline_changed
    - expect_quic_conn_only
    linkageType: ''
    returnType: void
    signature: void ossl_quic_conn_force_assist_thread_wake(SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: qc_touch_default_xso
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - qc_update_reject_policy
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_touch_default_xso(QUIC_CONNECTION *qc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_impl.c:948,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:948,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:960,1
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:962,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:963,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - qc
    - xso
    - touch
    - old_xso
    argTypes:
    - QUIC_CONNECTION*
    - QUIC_XSO*
    - int
    - QUIC_XSO**
    assertStmts:
    - condition: (refs > 0)
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/openssl/ssl/quic/quic_impl.c
    - condition: (*old_xso == NULL)
      pos:
        line_end: 959
        line_start: 959
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 969
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 969
    functionName: qc_set_default_xso_keep_ref
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - CRYPTO_DOWN_REF
    - qc_touch_default_xso
    - SSL_up_ref
    - assert
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK qc_set_default_xso_keep_ref(QUIC_CONNECTION *qc, QUIC_XSO
      *xso,\n                                        int touch,\n                                        QUIC_XSO
      **old_xso)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qc_set_default_xso_keep_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:980,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - qc
    - xso
    - touch
    argTypes:
    - QUIC_CONNECTION*
    - QUIC_XSO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 975
    functionDepth: 3
    functionLinenumber: 975
    functionLinenumberEnd: 984
    functionName: qc_set_default_xso
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - qc_set_default_xso_keep_ref
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_set_default_xso(QUIC_CONNECTION *qc, QUIC_XSO *xso,
      int touch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_rstream_set_cleanse
      Src: /src/openssl/ssl/quic/quic_impl.c:992,1
    - Dst: ossl_quic_sstream_set_cleanse
      Src: /src/openssl/ssl/quic/quic_impl.c:995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 996
    functionName: xso_update_options
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_set_cleanse
    - ossl_quic_rstream_set_cleanse
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK xso_update_options(QUIC_XSO *xso)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:1016,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1019,1
    - Dst: SSL_clear_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1029,1
    - Dst: SSL_set_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1030,1
    - Dst: xso_update_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1044,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ssl
    - mask_value
    - or_value
    argTypes:
    - SSL*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1010
    functionDepth: 4
    functionLinenumber: 1010
    functionLinenumberEnd: 1052
    functionName: quic_mask_or_options
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - xso_update_options
    - expect_quic_cs
    - qctx_lock
    - SSL_clear_options
    - SSL_set_options
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK quic_mask_or_options(SSL *ssl, uint64_t mask_value,
      uint64_t or_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_mask_or_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - options
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1054
    functionDepth: 5
    functionLinenumber: 1054
    functionLinenumberEnd: 1057
    functionName: ossl_quic_set_options
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_mask_or_options
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_set_options(SSL *ssl, uint64_t options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_mask_or_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - options
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 5
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: ossl_quic_clear_options
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_mask_or_options
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_clear_options(SSL *ssl, uint64_t options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_mask_or_options
      Src: /src/openssl/ssl/quic/quic_impl.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 5
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    functionName: ossl_quic_get_options
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_mask_or_options
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_get_options(const SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dgram_detect_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - net_wbio
    - peer
    argTypes:
    - BIO*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1138
    functionName: csm_analyse_init_peer_addr
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - BIO_dgram_detect_peer_addr
    linkageType: ''
    returnType: int
    signature: int csm_analyse_init_peer_addr(BIO *net_wbio, BIO_ADDR *peer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1146,1
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1147,1
    - Dst: ossl_quic_port_set_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1151,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_impl.c:1154,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - net_rbio
    argTypes:
    - QUIC_OBJ*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1140
    functionDepth: 4
    functionLinenumber: 1140
    functionLinenumberEnd: 1159
    functionName: quic_set0_net_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_get_net_rbio
    - ossl_quic_obj_get0_port
    - BIO_free_all
    - BIO_set_nbio
    - ossl_quic_port_set_net_rbio
    linkageType: ''
    returnType: int
    signature: int quic_set0_net_rbio(QUIC_OBJ *obj, BIO *net_rbio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1167,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1168,1
    - Dst: ossl_quic_port_set_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1172,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_impl.c:1175,1
    - Dst: BIO_set_nbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - obj
    - net_wbio
    argTypes:
    - QUIC_OBJ*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1161
    functionDepth: 4
    functionLinenumber: 1161
    functionLinenumberEnd: 1180
    functionName: quic_set0_net_wbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_obj_get0_port
    - BIO_free_all
    - ossl_quic_port_get_net_wbio
    - BIO_set_nbio
    - ossl_quic_port_set_net_wbio
    linkageType: ''
    returnType: int
    signature: int quic_set0_net_wbio(QUIC_OBJ *obj, BIO *net_wbio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1186,1
    - Dst: quic_set0_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - net_rbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1182
    functionDepth: 5
    functionLinenumber: 1182
    functionLinenumberEnd: 1192
    functionName: ossl_quic_conn_set0_net_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - quic_set0_net_rbio
    linkageType: ''
    returnType: void
    signature: void ossl_quic_conn_set0_net_rbio(SSL *s, BIO *net_rbio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1198,1
    - Dst: quic_set0_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - net_wbio
    argTypes:
    - SSL*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1194
    functionDepth: 5
    functionLinenumber: 1194
    functionLinenumberEnd: 1204
    functionName: ossl_quic_conn_set0_net_wbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - quic_set0_net_wbio
    linkageType: ''
    returnType: void
    signature: void ossl_quic_conn_set0_net_wbio(SSL *s, BIO *net_wbio)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1211,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1214,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:1215,1
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts:
    - condition: (port != NULL)
      pos:
        line_end: 1214
        line_start: 1214
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 1217
      start: 1206
    functionDepth: 4
    functionLinenumber: 1206
    functionLinenumberEnd: 1217
    functionName: ossl_quic_conn_get_net_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - ossl_quic_port_get_net_rbio
    - ossl_quic_obj_get0_port
    - assert
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_quic_conn_get_net_rbio(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1224,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1227,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:1228,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts:
    - condition: (port != NULL)
      pos:
        line_end: 1227
        line_start: 1227
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 1230
      start: 1219
    functionDepth: 4
    functionLinenumber: 1219
    functionLinenumberEnd: 1230
    functionName: ossl_quic_conn_get_net_wbio
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - ossl_quic_port_get_net_wbio
    - ossl_quic_obj_get0_port
    - assert
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_quic_conn_get_net_wbio(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1236,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1232
    functionDepth: 4
    functionLinenumber: 1232
    functionLinenumberEnd: 1240
    functionName: ossl_quic_conn_get_blocking_mode
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - qctx_blocking
    linkageType: ''
    returnType: int
    signature: int ossl_quic_conn_get_blocking_mode(const SSL *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1249,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1252,1
    - Dst: qctx_is_top_level
      Src: /src/openssl/ssl/quic/quic_impl.c:1260,1
    - Dst: ossl_quic_engine_update_poll_descriptors
      Src: /src/openssl/ssl/quic/quic_impl.c:1261,1
    - Dst: ossl_quic_obj_can_support_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1264,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1265,1
    - Dst: ossl_quic_obj_set_blocking_mode
      Src: /src/openssl/ssl/quic/quic_impl.c:1274,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - s
    - blocking
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1242
    functionDepth: 4
    functionLinenumber: 1242
    functionLinenumberEnd: 1280
    functionName: ossl_quic_conn_set_blocking_mode
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_update_poll_descriptors
    - expect_quic_csl
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_is_top_level
    - ossl_quic_obj_set_blocking_mode
    - qctx_lock
    - ossl_quic_obj_can_support_blocking
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_conn_set_blocking_mode(SSL *s, int blocking)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:1287,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1291,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_impl.c:1295,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_impl.c:1299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - peer_addr
    argTypes:
    - SSL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1282
    functionDepth: 4
    functionLinenumber: 1282
    functionLinenumberEnd: 1300
    functionName: ossl_quic_conn_set_initial_peer_addr
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - BIO_ADDR_copy
    - expect_quic_cs
    - BIO_ADDR_clear
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_conn_set_initial_peer_addr(SSL *s,\n                                         const
      BIO_ADDR *peer_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1318,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1321,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:1322,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:1322,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1325
    functionName: ossl_quic_handle_events
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_obj_get0_reactor
    - qctx_lock
    - ossl_quic_reactor_tick
    - expect_quic_any
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_handle_events(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1342,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1345,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:1347,1
    - Dst: ossl_quic_reactor_get_tick_deadline
      Src: /src/openssl/ssl/quic/quic_impl.c:1348,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_impl.c:1350,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1351,1
    - Dst: ossl_quic_engine_get_time
      Src: /src/openssl/ssl/quic/quic_impl.c:1363,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1365,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/ssl/quic/quic_impl.c:1367,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_impl.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - s
    - tv
    - is_infinite
    argTypes:
    - SSL*
    - struct timeval*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1334
    functionDepth: 3
    functionLinenumber: 1334
    functionLinenumberEnd: 1371
    functionName: ossl_quic_get_event_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_obj_get0_reactor
    - ossl_time_is_infinite
    - ossl_quic_engine_get_time
    - qctx_lock
    - ossl_quic_reactor_get_tick_deadline
    - expect_quic_any
    - ossl_time_subtract
    - ossl_time_to_timeval
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_event_timeout(SSL *s, struct timeval
      *tv, int *is_infinite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1380,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1383,1
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1384,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1386,1
    - Dst: BIO_get_rpoll_descriptor
      Src: /src/openssl/ssl/quic/quic_impl.c:1389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - SSL*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1374
    functionDepth: 4
    functionLinenumber: 1374
    functionLinenumberEnd: 1390
    functionName: ossl_quic_get_rpoll_descriptor
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_port_get_net_rbio
    - ossl_quic_obj_get0_port
    - BIO_get_rpoll_descriptor
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_rpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1399,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1402,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1403,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1405,1
    - Dst: BIO_get_wpoll_descriptor
      Src: /src/openssl/ssl/quic/quic_impl.c:1408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - SSL*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1393
    functionDepth: 4
    functionLinenumber: 1393
    functionLinenumberEnd: 1409
    functionName: ossl_quic_get_wpoll_descriptor
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_obj_get0_port
    - ossl_quic_port_get_net_wbio
    - BIO_get_wpoll_descriptor
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_wpoll_descriptor(SSL *s, BIO_POLL_DESCRIPTOR *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1418,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1421,1
    - Dst: ossl_quic_reactor_net_read_desired
      Src: /src/openssl/ssl/quic/quic_impl.c:1422,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:1422,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1412
    functionDepth: 4
    functionLinenumber: 1412
    functionLinenumberEnd: 1425
    functionName: ossl_quic_get_net_read_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - ossl_quic_obj_get0_reactor
    - qctx_lock
    - ossl_quic_reactor_net_read_desired
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_net_read_desired(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1434,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1437,1
    - Dst: ossl_quic_reactor_net_write_desired
      Src: /src/openssl/ssl/quic/quic_impl.c:1438,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:1438,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1428
    functionDepth: 4
    functionLinenumber: 1428
    functionLinenumberEnd: 1441
    functionName: ossl_quic_get_net_write_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    - ossl_quic_obj_get0_reactor
    - qctx_lock
    - qctx_unlock
    - ossl_quic_reactor_net_write_desired
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_net_write_desired(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:1465,1
    - Dst: ossl_quic_stream_map_begin_shutdown_flush
      Src: /src/openssl/ssl/quic/quic_impl.c:1467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1469
    functionName: qc_shutdown_flush_init
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_begin_shutdown_flush
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_shutdown_flush_init(QUIC_CONNECTION *qc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:1475,1
    - Dst: ossl_quic_stream_map_is_shutdown_flush_finished
      Src: /src/openssl/ssl/quic/quic_impl.c:1478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1479
    functionName: qc_shutdown_flush_finished
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_is_shutdown_flush_finished
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_shutdown_flush_finished(QUIC_CONNECTION *qc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_impl.c:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1487
    functionName: quic_shutdown_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_is_terminated
    linkageType: ''
    returnType: int
    signature: int quic_shutdown_wait(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1494,1
    - Dst: qc_shutdown_flush_finished
      Src: /src/openssl/ssl/quic/quic_impl.c:1495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1490
    functionDepth: 2
    functionLinenumber: 1490
    functionLinenumberEnd: 1496
    functionName: quic_shutdown_flush_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - qc_shutdown_flush_finished
    - ossl_quic_channel_is_term_any
    linkageType: ''
    returnType: int
    signature: int quic_shutdown_flush_wait(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1502
    functionName: quic_shutdown_peer_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_is_term_any
    linkageType: ''
    returnType: int
    signature: int quic_shutdown_peer_wait(void *arg)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:1545,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1549,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:1553,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_impl.c:1555,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1556,1
    - Dst: ossl_quic_channel_set_tcause
      Src: /src/openssl/ssl/quic/quic_impl.c:1568,1
    - Dst: qc_shutdown_flush_init
      Src: /src/openssl/ssl/quic/quic_impl.c:1575,1
    - Dst: qc_shutdown_flush_finished
      Src: /src/openssl/ssl/quic/quic_impl.c:1577,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1578,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:1579,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:1585,1
    - Dst: qc_shutdown_flush_finished
      Src: /src/openssl/ssl/quic/quic_impl.c:1589,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1590,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1596,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1597,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:1598,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:1604,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1607,1
    - Dst: ossl_quic_channel_local_close
      Src: /src/openssl/ssl/quic/quic_impl.c:1625,1
    - Dst: SSL_set_shutdown
      Src: /src/openssl/ssl/quic/quic_impl.c:1629,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_impl.c:1631,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1632,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1637,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:1639,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:1645,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_impl.c:1648,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:1650,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 4
    argNames:
    - s
    - flags
    - args
    - args_len
    argTypes:
    - SSL*
    - uint64_t
    - SSL_SHUTDOWN_EX_ARGS*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1534
    functionDepth: 4
    functionLinenumber: 1534
    functionLinenumberEnd: 1652
    functionName: ossl_quic_conn_shutdown
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_channel_local_close
    - SSL_set_shutdown
    - qc_shutdown_flush_finished
    - qctx_maybe_autotick
    - expect_quic_cs
    - ossl_quic_channel_set_tcause
    - qctx_lock
    - qc_shutdown_flush_init
    - ossl_quic_channel_is_terminated
    - ossl_quic_channel_is_term_any
    - qctx_blocking
    - qctx_unlock
    - block_until_pred
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK ossl_quic_conn_shutdown(SSL *s, uint64_t flags,\n
      \                           const SSL_SHUTDOWN_EX_ARGS *args,\n                            size_t
      args_len)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:1659,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1665,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1687,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1701,1
    - Dst: ossl_quic_channel_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_impl.c:1703,1
    - Dst: SSL_ctrl
      Src: /src/openssl/ssl/quic/quic_impl.c:1705,1
    - Dst: ossl_quic_get_event_timeout
      Src: /src/openssl/ssl/quic/quic_impl.c:1711,1
    - Dst: ossl_quic_handle_events
      Src: /src/openssl/ssl/quic/quic_impl.c:1718,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1738,1
    - Dst: ossl_ctrl_internal
      Src: /src/openssl/ssl/quic/quic_impl.c:1740,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - s
    - cmd
    - larg
    - parg
    argTypes:
    - SSL*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1655
    functionDepth: 6
    functionLinenumber: 1655
    functionLinenumberEnd: 1742
    functionName: ossl_quic_ctrl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_csl
    - QUIC_RAISE_NON_NORMAL_ERROR
    - SSL_ctrl
    - ossl_quic_handle_events
    - ossl_quic_get_event_timeout
    - ossl_ctrl_internal
    - ossl_quic_channel_set_msg_callback_arg
    linkageType: ''
    returnType: long
    signature: long ossl_quic_ctrl(SSL *s, int cmd, long larg, void *parg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_quic_c
      Src: /src/openssl/ssl/quic/quic_impl.c:1749,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - raiseerrs
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1745
    functionDepth: 4
    functionLinenumber: 1745
    functionLinenumberEnd: 1764
    functionName: ossl_quic_set_connect_state
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - is_quic_c
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: int
    signature: int ossl_quic_set_connect_state(SSL *s, int raiseerrs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_quic_c
      Src: /src/openssl/ssl/quic/quic_impl.c:1771,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - raiseerrs
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1767
    functionDepth: 4
    functionLinenumber: 1767
    functionLinenumberEnd: 1786
    functionName: ossl_quic_set_accept_state
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - is_quic_c
    - QUIC_RAISE_NON_NORMAL_ERROR
    linkageType: ''
    returnType: int
    signature: int ossl_quic_set_accept_state(SSL *s, int raiseerrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_want
      Src: /src/openssl/ssl/quic/quic_impl.c:1795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1793
    functionDepth: 2
    functionLinenumber: 1793
    functionLinenumberEnd: 1803
    functionName: tls_wants_non_io_retry
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - SSL_want
    linkageType: ''
    returnType: int
    signature: int tls_wants_non_io_retry(QUIC_CONNECTION *qc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:1809,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:1812,1
    - Dst: tls_wants_non_io_retry
      Src: /src/openssl/ssl/quic/quic_impl.c:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 3
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: quic_handshake_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - tls_wants_non_io_retry
    - ossl_quic_channel_is_handshake_complete
    - quic_mutation_allowed
    linkageType: ''
    returnType: int
    signature: int quic_handshake_wait(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:1823,1
    - Dst: ossl_quic_channel_set_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:1825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts:
    - condition: (qc->ch != NULL)
      pos:
        line_end: 1822
        line_start: 1822
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 1829
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1829
    functionName: configure_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_set_peer_addr
    - assert
    linkageType: ''
    returnType: int
    signature: int configure_channel(QUIC_CONNECTION *qc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - domain_flags
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1836
    functionName: need_notifier_for_domain_flags
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int need_notifier_for_domain_flags(uint64_t domain_flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: need_notifier_for_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:1850,1
    - Dst: ossl_quic_engine_new
      Src: /src/openssl/ssl/quic/quic_impl.c:1853,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1855,1
    - Dst: ossl_quic_engine_create_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1860,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1862,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:1863,1
    - Dst: ossl_quic_port_create_outgoing
      Src: /src/openssl/ssl/quic/quic_impl.c:1867,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1869,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:1870,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:1871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - qc
    - ctx
    argTypes:
    - QUIC_CONNECTION*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1876
    functionName: create_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_create_port
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_engine_free
    - need_notifier_for_domain_flags
    - ossl_quic_port_free
    - ossl_quic_engine_new
    - ossl_quic_port_create_outgoing
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK create_channel(QUIC_CONNECTION *qc, SSL_CTX *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: configure_channel
      Src: /src/openssl/ssl/quic/quic_impl.c:1888,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1889,1
    - Dst: ossl_quic_channel_start
      Src: /src/openssl/ssl/quic/quic_impl.c:1894,1
    - Dst: ossl_quic_channel_restore_err_state
      Src: /src/openssl/ssl/quic/quic_impl.c:1895,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1896,1
    - Dst: ossl_quic_thread_assist_init_start
      Src: /src/openssl/ssl/quic/quic_impl.c:1903,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1882
    functionDepth: 2
    functionLinenumber: 1882
    functionLinenumberEnd: 1913
    functionName: ensure_channel_started
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_channel_restore_err_state
    - ossl_quic_channel_start
    - ossl_quic_thread_assist_init_start
    - configure_channel
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK ensure_channel_started(QCTX *ctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:1923,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:1927,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1928,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1931,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:1935,1
    - Dst: ossl_quic_port_get_net_rbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1936,1
    - Dst: ossl_quic_port_get_net_wbio
      Src: /src/openssl/ssl/quic/quic_impl.c:1937,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1940,1
    - Dst: ossl_quic_port_is_addressed_w
      Src: /src/openssl/ssl/quic/quic_impl.c:1944,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_impl.c:1945,1
    - Dst: csm_analyse_init_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:1958,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_impl.c:1960,1
    - Dst: ossl_quic_channel_set_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:1962,1
    - Dst: ossl_quic_port_is_addressed_w
      Src: /src/openssl/ssl/quic/quic_impl.c:1966,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_impl.c:1967,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1972,1
    - Dst: ensure_channel_started
      Src: /src/openssl/ssl/quic/quic_impl.c:1980,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:1983,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1987,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:1989,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:1991,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:1995,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:1996,1
    - Dst: ossl_quic_obj_desires_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:1998,1
    - Dst: ossl_quic_engine_update_poll_descriptors
      Src: /src/openssl/ssl/quic/quic_impl.c:2006,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2013,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:2019,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2020,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2021,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2024,1
    - Dst: tls_wants_non_io_retry
      Src: /src/openssl/ssl/quic/quic_impl.c:2028,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2029,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/quic/quic_impl.c:2029,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:2033,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:2033,1
    - Dst: tls_wants_non_io_retry
      Src: /src/openssl/ssl/quic/quic_impl.c:2037,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2038,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/quic/quic_impl.c:2038,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2046,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts:
    - condition: (ossl_quic_channel_is_handshake_complete(qc->ch))
      pos:
        line_end: 2032
        line_start: 2032
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 2048
      start: 1915
    functionDepth: 3
    functionLinenumber: 1915
    functionLinenumberEnd: 2048
    functionName: quic_do_handshake
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_set_peer_addr
    - qctx_maybe_autotick
    - assert
    - SSL_get_error
    - ossl_quic_port_get_net_rbio
    - csm_analyse_init_peer_addr
    - qctx_blocking
    - ossl_quic_channel_is_handshake_complete
    - ossl_quic_channel_is_term_any
    - ossl_quic_engine_update_poll_descriptors
    - QUIC_RAISE_NORMAL_ERROR
    - ossl_quic_obj_desires_blocking
    - ensure_channel_started
    - BIO_ADDR_clear
    - tls_wants_non_io_retry
    - quic_mutation_allowed
    - ossl_quic_port_is_addressed_w
    - QUIC_RAISE_NON_NORMAL_ERROR
    - BIO_ADDR_family
    - ossl_quic_obj_get0_port
    - ossl_quic_port_get_net_wbio
    - block_until_pred
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK quic_do_handshake(QCTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:2056,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:2059,1
    - Dst: quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:2061,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2050
    functionDepth: 4
    functionLinenumber: 2050
    functionLinenumberEnd: 2064
    functionName: ossl_quic_do_handshake
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock_for_io
    - expect_quic_cs
    - qctx_unlock
    - quic_do_handshake
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_do_handshake(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_set_connect_state
      Src: /src/openssl/ssl/quic/quic_impl.c:2070,1
    - Dst: ossl_quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:2074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2067
    functionDepth: 5
    functionLinenumber: 2067
    functionLinenumberEnd: 2075
    functionName: ossl_quic_connect
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_do_handshake
    - ossl_quic_set_connect_state
    linkageType: ''
    returnType: int
    signature: int ossl_quic_connect(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_set_accept_state
      Src: /src/openssl/ssl/quic/quic_impl.c:2081,1
    - Dst: ossl_quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:2085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2078
    functionDepth: 5
    functionLinenumber: 2078
    functionLinenumberEnd: 2086
    functionName: ossl_quic_accept
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_do_handshake
    - ossl_quic_set_accept_state
    linkageType: ''
    returnType: int
    signature: int ossl_quic_accept(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2113,1
    - Dst: qc_set_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2119,1
    - Dst: quic_conn_stream_new
      Src: /src/openssl/ssl/quic/quic_impl.c:2119,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2123,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2101
    functionDepth: 4
    functionLinenumber: 2101
    functionLinenumberEnd: 2127
    functionName: qc_try_create_default_xso_for_write
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qc_touch_default_xso
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qc_set_default_xso
    - quic_conn_stream_new
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_try_create_default_xso_for_write(QCTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2141,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2143,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2147,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2147,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2150,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2136
    functionDepth: 2
    functionLinenumber: 2136
    functionLinenumberEnd: 2157
    functionName: quic_wait_for_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_qsm
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_stream_map_get_by_id
    - quic_mutation_allowed
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK quic_wait_for_stream(void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2176,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2188,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2188,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2191,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2191,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2195,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2197,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2197,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:2205,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2206,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2207,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2209,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:2218,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2220,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_impl.c:2232,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_impl.c:2232,1
    - Dst: ossl_quic_stream_map_remove_from_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:2233,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2233,1
    - Dst: qc_set_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2239,1
    - Dst: create_xso_from_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:2239,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2241,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ctx
    - peek
    argTypes:
    - QCTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2159
    functionDepth: 4
    functionLinenumber: 2159
    functionLinenumberEnd: 2245
    functionName: qc_wait_for_default_xso_for_read
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_stream_map_get_by_id
    - QUIC_RAISE_NORMAL_ERROR
    - ossl_quic_stream_map_remove_from_accept_queue
    - ossl_quic_channel_get_statm
    - create_xso_from_stream
    - ossl_quic_channel_get_qsm
    - qctx_maybe_autotick
    - qc_touch_default_xso
    - block_until_pred
    - ossl_statm_get_rtt_info
    - qctx_blocking
    - qc_set_default_xso
    - ossl_quic_channel_is_term_any
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_wait_for_default_xso_for_read(QCTX *ctx, int peek)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:2252,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2253,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:2257,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2259,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:2264,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2265,1
    - Dst: xso_update_options
      Src: /src/openssl/ssl/quic/quic_impl.c:2278,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:2282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - qc
    - qs
    argTypes:
    - QUIC_CONNECTION*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2247
    functionDepth: 2
    functionLinenumber: 2247
    functionLinenumberEnd: 2284
    functionName: create_xso_from_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - OPENSSL_zalloc
    - xso_update_options
    - OPENSSL_free
    - ossl_quic_obj_init
    - SSL_up_ref
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK *create_xso_from_stream(QUIC_CONNECTION *qc, QUIC_STREAM
      *qs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2296,1
    - Dst: ossl_quic_channel_is_new_local_stream_admissible
      Src: /src/openssl/ssl/quic/quic_impl.c:2299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2291
    functionDepth: 2
    functionLinenumber: 2291
    functionLinenumberEnd: 2303
    functionName: quic_new_stream_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_mutation_allowed
    - ossl_quic_channel_is_new_local_stream_admissible
    linkageType: ''
    returnType: int
    signature: int quic_new_stream_wait(void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:2317,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2319,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2320,1
    - Dst: ossl_quic_channel_is_new_local_stream_admissible
      Src: /src/openssl/ssl/quic/quic_impl.c:2325,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2332,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2333,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:2341,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2342,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2343,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2346,1
    - Dst: ossl_quic_channel_new_stream_local
      Src: /src/openssl/ssl/quic/quic_impl.c:2351,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2353,1
    - Dst: create_xso_from_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:2357,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:2361,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2363,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:2368,1
    - Dst: ossl_quic_stream_map_release
      Src: /src/openssl/ssl/quic/quic_impl.c:2369,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2369,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2371,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - ctx
    - flags
    - need_lock
    argTypes:
    - QCTX*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2306
    functionDepth: 3
    functionLinenumber: 2306
    functionLinenumberEnd: 2375
    functionName: quic_conn_stream_new
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - create_xso_from_stream
    - ossl_quic_channel_get_qsm
    - qctx_lock
    - qc_touch_default_xso
    - OPENSSL_free
    - quic_mutation_allowed
    - qctx_blocking
    - qctx_unlock
    - ossl_quic_channel_new_stream_local
    - ossl_quic_stream_map_release
    - block_until_pred
    - ossl_quic_channel_is_new_local_stream_admissible
    linkageType: ''
    returnType: SSL
    signature: SSL *quic_conn_stream_new(QCTX *ctx, uint64_t flags, int need_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:2382,1
    - Dst: quic_conn_stream_new
      Src: /src/openssl/ssl/quic/quic_impl.c:2385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2377
    functionDepth: 4
    functionLinenumber: 2377
    functionLinenumberEnd: 2386
    functionName: ossl_quic_conn_stream_new
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_conn_stream_new
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK *ossl_quic_conn_stream_new(SSL *s, uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:2415,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:2418,1
    - Dst: ossl_quic_channel_net_error
      Src: /src/openssl/ssl/quic/quic_impl.c:2419,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2409
    functionDepth: 4
    functionLinenumber: 2409
    functionLinenumberEnd: 2427
    functionName: ossl_quic_get_error
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock
    - is_quic_cs
    - qctx_unlock
    - ossl_quic_channel_net_error
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_error(const SSL *s, int i)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2454
    functionName: error_to_want
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_to_want(int error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:2462,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:2465,1
    - Dst: error_to_want
      Src: /src/openssl/ssl/quic/quic_impl.c:2467,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2457
    functionDepth: 4
    functionLinenumber: 2457
    functionLinenumberEnd: 2471
    functionName: ossl_quic_want
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock
    - error_to_want
    - expect_quic_cs
    - qctx_unlock
    linkageType: ''
    returnType: int
    signature: int ossl_quic_want(const SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_impl.c:2498,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2498,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/ssl/quic/quic_impl.c:2502,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:2511,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:2511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - xso
    - did_append
    - did_append_all
    - flags
    - do_tick
    argTypes:
    - QUIC_XSO*
    - int
    - int
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2512
    functionName: quic_post_write
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_reactor_tick
    - ossl_quic_stream_map_update_state
    - ossl_quic_channel_get_reactor
    - ossl_quic_sstream_fin
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK quic_post_write(QUIC_XSO *xso, int did_append,\n                            int
      did_append_all, uint64_t flags,\n                            int do_tick)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_sstream_get_buffer_size
      Src: /src/openssl/ssl/quic/quic_impl.c:2536,1
    - Dst: ossl_quic_sstream_get_buffer_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:2537,1
    - Dst: ossl_quic_sstream_set_buffer_size
      Src: /src/openssl/ssl/quic/quic_impl.c:2550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sstream
    - spare
    argTypes:
    - QUIC_SSTREAM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2533
    functionDepth: 1
    functionLinenumber: 2533
    functionLinenumberEnd: 2551
    functionName: sstream_ensure_spare
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_get_buffer_avail
    - ossl_quic_sstream_set_buffer_size
    - ossl_quic_sstream_get_buffer_size
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK sstream_ensure_spare(QUIC_SSTREAM *sstream, uint64_t
      spare)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_sstream_get_cur_size
      Src: /src/openssl/ssl/quic/quic_impl.c:2562,1
    - Dst: ossl_quic_txfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_impl.c:2563,1
    - Dst: sstream_ensure_spare
      Src: /src/openssl/ssl/quic/quic_impl.c:2569,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/ssl/quic/quic_impl.c:2572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - xso
    - buf
    - len
    - actual_written
    argTypes:
    - QUIC_XSO*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2557
    functionDepth: 2
    functionLinenumber: 2557
    functionLinenumberEnd: 2573
    functionName: xso_sstream_append
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_get_cur_size
    - ossl_quic_sstream_append
    - sstream_ensure_spare
    - ossl_quic_txfc_get_cwm
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK xso_sstream_append(QUIC_XSO *xso, const unsigned char
      *buf,\n                              size_t len, size_t *actual_written)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2581,1
    - Dst: quic_validate_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2585,1
    - Dst: xso_sstream_append
      Src: /src/openssl/ssl/quic/quic_impl.c:2593,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2609
      start: 2575
    functionDepth: 3
    functionLinenumber: 2575
    functionLinenumberEnd: 2609
    functionName: quic_write_again
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - xso_sstream_append
    - quic_validate_for_write
    - quic_mutation_allowed
    - quic_post_write
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK quic_write_again(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xso_sstream_append
      Src: /src/openssl/ssl/quic/quic_impl.c:2621,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2624,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2627,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:2651,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2653,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2654,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - ctx
    - buf
    - len
    - flags
    - written
    argTypes:
    - QCTX*
    - void*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2611
    functionDepth: 3
    functionLinenumber: 2611
    functionLinenumberEnd: 2668
    functionName: quic_write_blocking
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - xso_sstream_append
    - QUIC_RAISE_NON_NORMAL_ERROR
    - quic_post_write
    - quic_mutation_allowed
    - block_until_pred
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK quic_write_blocking(QCTX *ctx, const void *buf, size_t
      len,\n                               uint64_t flags, size_t *written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:2677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - xso
    - buf
    - buf_len
    - already_sent
    argTypes:
    - QUIC_XSO*
    - unsigned char*
    - size_t
    - size_t
    assertStmts:
    - condition: (!xso->aon_write_in_progress)
      pos:
        line_end: 2676
        line_start: 2676
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 2683
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2683
    functionName: aon_write_begin
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void aon_write_begin(QUIC_XSO *xso, const unsigned char *buf,\n                            size_t
      buf_len, size_t already_sent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2691
    functionName: aon_write_finish
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void aon_write_finish(QUIC_XSO *xso)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2716,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:2720,1
    - Dst: xso_sstream_append
      Src: /src/openssl/ssl/quic/quic_impl.c:2727,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2730,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2733,1
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2734,1
    - Dst: aon_write_finish
      Src: /src/openssl/ssl/quic/quic_impl.c:2746,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_impl.c:2762,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2763,1
    - Dst: aon_write_begin
      Src: /src/openssl/ssl/quic/quic_impl.c:2772,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - ctx
    - buf
    - len
    - flags
    - written
    argTypes:
    - QCTX*
    - void*
    - size_t
    - uint64_t
    - size_t*
    assertStmts:
    - condition: (actual_len > 0)
      pos:
        line_end: 2719
        line_start: 2719
        source_file: /src/openssl/ssl/quic/quic_impl.c
    - condition: (xso->aon_buf_pos < xso->aon_buf_len)
      pos:
        line_end: 2761
        line_start: 2761
        source_file: /src/openssl/ssl/quic/quic_impl.c
    constantsTouched: []
    func_position:
      end: 2780
      start: 2693
    functionDepth: 3
    functionLinenumber: 2693
    functionLinenumberEnd: 2780
    functionName: quic_write_nonblocking_aon
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - xso_sstream_append
    - QUIC_RAISE_NON_NORMAL_ERROR
    - QUIC_RAISE_NORMAL_ERROR
    - aon_write_finish
    - quic_post_write
    - qctx_should_autotick
    - aon_write_begin
    - assert
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK quic_write_nonblocking_aon(QCTX *ctx, const void *buf,\n
      \                                     size_t len, uint64_t flags,\n                                      size_t
      *written)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xso_sstream_append
      Src: /src/openssl/ssl/quic/quic_impl.c:2789,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2792,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2795,1
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2796,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ctx
    - buf
    - len
    - flags
    - written
    argTypes:
    - QCTX*
    - void*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2782
    functionDepth: 3
    functionLinenumber: 2782
    functionLinenumberEnd: 2803
    functionName: quic_write_nonblocking_epw
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - xso_sstream_append
    - QUIC_RAISE_NORMAL_ERROR
    - QUIC_RAISE_NON_NORMAL_ERROR
    - quic_post_write
    - qctx_should_autotick
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK quic_write_nonblocking_epw(QCTX *ctx, const void *buf,
      size_t len,\n                                      uint64_t flags, size_t *written)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2822,1
    - Dst: ossl_quic_stream_map_ensure_send_part_id
      Src: /src/openssl/ssl/quic/quic_impl.c:2824,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:2832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - xso
    - err
    argTypes:
    - QUIC_XSO*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2805
    functionDepth: 1
    functionLinenumber: 2805
    functionLinenumberEnd: 2847
    functionName: quic_validate_for_write
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_ensure_send_part_id
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK quic_validate_for_write(QUIC_XSO *xso, int *err)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:2861,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:2864,1
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:2866,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2874,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:2878,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2879,1
    - Dst: quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:2887,1
    - Dst: quic_validate_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2893,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2894,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:2900,1
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:2901,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2907,1
    - Dst: quic_write_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:2908,1
    - Dst: quic_write_nonblocking_epw
      Src: /src/openssl/ssl/quic/quic_impl.c:2910,1
    - Dst: quic_write_nonblocking_aon
      Src: /src/openssl/ssl/quic/quic_impl.c:2912,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:2915,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 5
    argNames:
    - s
    - buf
    - len
    - flags
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2849
    functionDepth: 4
    functionLinenumber: 2849
    functionLinenumberEnd: 2917
    functionName: ossl_quic_write_flags
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - quic_write_nonblocking_epw
    - expect_quic_with_stream_lock
    - qctx_lock_for_io
    - expect_quic_cs
    - quic_do_handshake
    - quic_validate_for_write
    - quic_write_blocking
    - quic_post_write
    - quic_mutation_allowed
    - qctx_should_autotick
    - quic_write_nonblocking_aon
    - qctx_unlock
    - qctx_blocking
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK ossl_quic_write_flags(SSL *s, const void *buf, size_t
      len,\n                          uint64_t flags, size_t *written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_write_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:2922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - written
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2919
    functionDepth: 5
    functionLinenumber: 2919
    functionLinenumberEnd: 2923
    functionName: ossl_quic_write
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_write_flags
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_write(SSL *s, const void *buf, size_t len,
      size_t *written)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:2966,1
    - Dst: ossl_quic_stream_map_notify_app_read_reset_recv_part
      Src: /src/openssl/ssl/quic/quic_impl.c:2967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - xso
    - err
    - eos
    argTypes:
    - QUIC_XSO*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2938
    functionDepth: 1
    functionLinenumber: 2938
    functionLinenumberEnd: 2974
    functionName: quic_validate_for_read
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_notify_app_read_reset_recv_part
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK quic_validate_for_read(QUIC_XSO *xso, int *err, int
      *eos)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: quic_validate_for_read
      Src: /src/openssl/ssl/quic/quic_impl.c:2986,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2989,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2991,1
    - Dst: ossl_quic_rstream_peek
      Src: /src/openssl/ssl/quic/quic_impl.c:2996,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:2998,1
    - Dst: ossl_quic_rstream_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3001,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3003,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_impl.c:3016,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_impl.c:3016,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_impl.c:3018,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3020,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:3024,1
    - Dst: ossl_quic_stream_map_notify_totally_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3026,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_impl.c:3030,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:3030,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3036,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 6
    argNames:
    - ctx
    - stream
    - buf
    - buf_len
    - bytes_read
    - peek
    argTypes:
    - QCTX*
    - QUIC_STREAM*
    - void*
    - size_t
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 2976
    functionDepth: 2
    functionLinenumber: 2976
    functionLinenumberEnd: 3040
    functionName: quic_read_actual
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NORMAL_ERROR
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_channel_get_statm
    - quic_validate_for_read
    - ossl_quic_channel_get_qsm
    - ossl_quic_rxfc_on_retire
    - ossl_quic_stream_map_update_state
    - ossl_statm_get_rtt_info
    - ossl_quic_rstream_peek
    - ossl_quic_rstream_read
    - ossl_quic_stream_map_notify_totally_read
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK quic_read_actual(QCTX *ctx,\n                            QUIC_STREAM
      *stream,\n                            void *buf, size_t buf_len,\n                            size_t
      *bytes_read,\n                            int peek)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:3047,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3049,1
    - Dst: quic_read_actual
      Src: /src/openssl/ssl/quic/quic_impl.c:3053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3063
      start: 3042
    functionDepth: 3
    functionLinenumber: 3042
    functionLinenumberEnd: 3063
    functionName: quic_read_again
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - quic_read_actual
    - quic_mutation_allowed
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK quic_read_again(void *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:3074,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:3077,1
    - Dst: quic_do_handshake
      Src: /src/openssl/ssl/quic/quic_impl.c:3080,1
    - Dst: qc_wait_for_default_xso_for_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3092,1
    - Dst: quic_read_actual
      Src: /src/openssl/ssl/quic/quic_impl.c:3100,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:3110,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:3111,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:3114,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3115,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:3117,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:3130,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3132,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:3145,1
    - Dst: quic_read_actual
      Src: /src/openssl/ssl/quic/quic_impl.c:3148,1
    - Dst: QUIC_RAISE_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3156,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3160,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 5
    argNames:
    - s
    - buf
    - len
    - bytes_read
    - peek
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3162
      start: 3065
    functionDepth: 5
    functionLinenumber: 3065
    functionLinenumberEnd: 3162
    functionName: quic_read
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - QUIC_RAISE_NORMAL_ERROR
    - qctx_maybe_autotick
    - qctx_lock_for_io
    - expect_quic_cs
    - quic_do_handshake
    - quic_read_actual
    - quic_mutation_allowed
    - qctx_blocking
    - qc_wait_for_default_xso_for_read
    - qctx_unlock
    - block_until_pred
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK quic_read(SSL *s, void *buf, size_t len, size_t *bytes_read,
      int peek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - bytes_read
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3164
    functionDepth: 6
    functionLinenumber: 3164
    functionLinenumberEnd: 3167
    functionName: ossl_quic_read
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_read
    linkageType: ''
    returnType: int
    signature: int ossl_quic_read(SSL *s, void *buf, size_t len, size_t *bytes_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - buf
    - len
    - bytes_read
    argTypes:
    - SSL*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3169
    functionDepth: 6
    functionLinenumber: 3169
    functionLinenumberEnd: 3172
    functionName: ossl_quic_peek
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_read
    linkageType: ''
    returnType: int
    signature: int ossl_quic_peek(SSL *s, void *buf, size_t len, size_t *bytes_read)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:3185,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3188,1
    - Dst: qc_wait_for_default_xso_for_read
      Src: /src/openssl/ssl/quic/quic_impl.c:3195,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3198,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3204,1
    - Dst: ossl_quic_stream_recv_pending
      Src: /src/openssl/ssl/quic/quic_impl.c:3210,1
    - Dst: ossl_quic_channel_has_pending
      Src: /src/openssl/ssl/quic/quic_impl.c:3212,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:3213,1
    - Dst: ossl_quic_stream_recv_pending
      Src: /src/openssl/ssl/quic/quic_impl.c:3215,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - s
    - check_channel
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3179
    functionDepth: 5
    functionLinenumber: 3179
    functionLinenumberEnd: 3221
    functionName: ossl_quic_pending_int
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - expect_quic_cs
    - qctx_lock
    - qc_wait_for_default_xso_for_read
    - ossl_quic_channel_is_term_any
    - ossl_quic_channel_has_pending
    - qctx_unlock
    - ossl_quic_stream_recv_pending
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_pending_int(const SSL *s, int check_channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pending_int
      Src: /src/openssl/ssl/quic/quic_impl.c:3225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3226
      start: 3223
    functionDepth: 6
    functionLinenumber: 3223
    functionLinenumberEnd: 3226
    functionName: ossl_quic_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_pending_int
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_pending(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pending_int
      Src: /src/openssl/ssl/quic/quic_impl.c:3231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3228
    functionDepth: 6
    functionLinenumber: 3228
    functionLinenumberEnd: 3232
    functionName: ossl_quic_has_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_pending_int
    linkageType: ''
    returnType: int
    signature: int ossl_quic_has_pending(const SSL *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3245,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:3250,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3251,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3252,1
    - Dst: quic_validate_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:3255,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3256,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3257,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:3260,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3261,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/ssl/quic/quic_impl.c:3265,1
    - Dst: quic_post_write
      Src: /src/openssl/ssl/quic/quic_impl.c:3266,1
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:3266,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3238
    functionDepth: 4
    functionLinenumber: 3238
    functionLinenumberEnd: 3269
    functionName: ossl_quic_conn_stream_conclude
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - expect_quic_with_stream_lock
    - quic_validate_for_write
    - ossl_quic_sstream_fin
    - quic_post_write
    - quic_mutation_allowed
    - qctx_should_autotick
    - qctx_unlock
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_conn_stream_conclude(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:3286,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3289,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_impl.c:3291,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3293,1
    - Dst: ossl_quic_port_get0_demux
      Src: /src/openssl/ssl/quic/quic_impl.c:3297,1
    - Dst: ossl_quic_demux_inject
      Src: /src/openssl/ssl/quic/quic_impl.c:3298,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - s
    - buf
    - buf_len
    - peer
    - local
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    - BIO_ADDR*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3275
    functionDepth: 5
    functionLinenumber: 3275
    functionLinenumberEnd: 3303
    functionName: SSL_inject_net_dgram
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - expect_quic_csl
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_port_get0_demux
    - ossl_quic_obj_get0_port
    - qctx_lock
    - ossl_quic_demux_inject
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK SSL_inject_net_dgram(SSL *s, const unsigned char *buf,\n
      \                        size_t buf_len,\n                         const BIO_ADDR
      *peer,\n                         const BIO_ADDR *local)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:3313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3309
    functionDepth: 4
    functionLinenumber: 3309
    functionLinenumberEnd: 3317
    functionName: ossl_quic_get0_connection
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_cs
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_get0_connection(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:3327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3331
      start: 3323
    functionDepth: 4
    functionLinenumber: 3323
    functionLinenumberEnd: 3331
    functionName: ossl_quic_get0_listener
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_csl
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_get0_listener(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:3341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3345
    functionName: ossl_quic_get0_domain
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_any
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_get0_domain(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:3355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - domain_flags
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3362
      start: 3351
    functionDepth: 0
    functionLinenumber: 3351
    functionLinenumberEnd: 3362
    functionName: ossl_quic_get_domain_flags
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_any
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_domain_flags(const SSL *ssl, uint64_t *domain_flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:3372,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_impl.c:3390,1
    - Dst: ossl_quic_stream_is_server_init
      Src: /src/openssl/ssl/quic/quic_impl.c:3393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3397
      start: 3368
    functionDepth: 4
    functionLinenumber: 3368
    functionLinenumberEnd: 3397
    functionName: ossl_quic_get_stream_type
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_is_bidi
    - expect_quic_cs
    - ossl_quic_stream_is_server_init
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_stream_type(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3409,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3403
    functionDepth: 4
    functionLinenumber: 3403
    functionLinenumberEnd: 3416
    functionName: ossl_quic_get_stream_id
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_with_stream_lock
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_stream_id(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3428,1
    - Dst: ossl_quic_stream_is_local_init
      Src: /src/openssl/ssl/quic/quic_impl.c:3431,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3422
    functionDepth: 4
    functionLinenumber: 3422
    functionLinenumberEnd: 3435
    functionName: ossl_quic_is_stream_local
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - expect_quic_with_stream_lock
    - qctx_unlock
    - ossl_quic_stream_is_local_init
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_is_stream_local(SSL *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:3446,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3449,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3452,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3453,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3464,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3465,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3471
      start: 3441
    functionDepth: 2
    functionLinenumber: 3441
    functionLinenumberEnd: 3471
    functionName: ossl_quic_set_default_stream_mode
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_unlock
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_set_default_stream_mode(SSL *s, uint32_t
      mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:3483,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3486,1
    - Dst: qc_set_default_xso_keep_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:3490,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3477
    functionDepth: 3
    functionLinenumber: 3477
    functionLinenumberEnd: 3495
    functionName: ossl_quic_detach_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - qctx_lock
    - qctx_unlock
    - qc_set_default_xso_keep_ref
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK *ossl_quic_detach_stream(SSL *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:3508,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3512,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3517,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3520,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3521,1
    - Dst: CRYPTO_GET_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:3529,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3530,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3531,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3536,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3537,1
    - Dst: qc_set_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:3544,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - conn
    - stream
    argTypes:
    - SSL*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3548
      start: 3501
    functionDepth: 4
    functionLinenumber: 3501
    functionLinenumberEnd: 3548
    functionName: ossl_quic_attach_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qc_set_default_xso
    - qctx_lock
    - qctx_unlock
    - CRYPTO_GET_REF
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_attach_stream(SSL *conn, SSL *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3568
      start: 3554
    functionDepth: 0
    functionLinenumber: 3554
    functionLinenumberEnd: 3568
    functionName: qc_get_effective_incoming_stream_policy
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_get_effective_incoming_stream_policy(QUIC_CONNECTION
      *qc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qc_get_effective_incoming_stream_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:3573,1
    - Dst: ossl_quic_channel_set_incoming_stream_auto_reject
      Src: /src/openssl/ssl/quic/quic_impl.c:3576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3570
    functionDepth: 1
    functionLinenumber: 3570
    functionLinenumberEnd: 3579
    functionName: qc_update_reject_policy
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_set_incoming_stream_auto_reject
    - qc_get_effective_incoming_stream_policy
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qc_update_reject_policy(QUIC_CONNECTION *qc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:3588,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3591,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3602,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:3607,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - s
    - policy
    - aec
    argTypes:
    - SSL*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3610
      start: 3581
    functionDepth: 2
    functionLinenumber: 3581
    functionLinenumberEnd: 3610
    functionName: ossl_quic_set_incoming_stream_policy
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qc_update_reject_policy
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_lock
    - qctx_unlock
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK ossl_quic_set_incoming_stream_policy(SSL *s, int policy,\n
      \                                        uint64_t aec)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3623,1
    - Dst: ossl_quic_channel_get_max_idle_timeout_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3627,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3632,1
    - Dst: ossl_quic_channel_have_generated_transport_params
      Src: /src/openssl/ssl/quic/quic_impl.c:3637,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3638,1
    - Dst: ossl_quic_channel_set_max_idle_timeout_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3643,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3650,1
    - Dst: ossl_quic_channel_is_handshake_complete
      Src: /src/openssl/ssl/quic/quic_impl.c:3655,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3656,1
    - Dst: ossl_quic_channel_get_max_idle_timeout_actual
      Src: /src/openssl/ssl/quic/quic_impl.c:3662,1
    - Dst: ossl_quic_channel_get_max_idle_timeout_peer_request
      Src: /src/openssl/ssl/quic/quic_impl.c:3663,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3667,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3674,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 4
    argNames:
    - ctx
    - class_
    - p_value_out
    - p_value_in
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3679
      start: 3616
    functionDepth: 2
    functionLinenumber: 3616
    functionLinenumberEnd: 3679
    functionName: qc_getset_idle_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_max_idle_timeout_actual
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_channel_have_generated_transport_params
    - ossl_quic_channel_get_max_idle_timeout_peer_request
    - qctx_lock
    - ossl_quic_channel_get_max_idle_timeout_request
    - ossl_quic_channel_is_handshake_complete
    - ossl_quic_channel_set_max_idle_timeout_request
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_getset_idle_timeout(QCTX *ctx, uint32_t class_,\n
      \                                 uint64_t *p_value_out, uint64_t *p_value_in)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3689,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3694,1
    - Dst: ossl_quic_channel_get_remote_stream_count_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:3697,1
    - Dst: ossl_quic_channel_get_local_stream_count_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:3698,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - class_
    - is_uni
    - is_remote
    - value
    argTypes:
    - QCTX*
    - uint32_t
    - int
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3681
    functionDepth: 2
    functionLinenumber: 3681
    functionLinenumberEnd: 3703
    functionName: qc_get_stream_avail
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_lock
    - ossl_quic_channel_get_local_stream_count_avail
    - ossl_quic_channel_get_remote_stream_count_avail
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_get_stream_avail(QCTX *ctx, uint32_t class_,\n
      \                              int is_uni, int is_remote,\n                               uint64_t
      *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3715
      start: 3705
    functionDepth: 0
    functionLinenumber: 3705
    functionLinenumberEnd: 3715
    functionName: qctx_should_autotick
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qctx_should_autotick(QCTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qctx_should_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:3720,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:3723,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:3723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QCTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3717
    functionDepth: 1
    functionLinenumber: 3717
    functionLinenumberEnd: 3724
    functionName: qctx_maybe_autotick
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 4
    functionsReached:
    - ossl_quic_reactor_tick
    - ossl_quic_obj_get0_reactor
    - qctx_should_autotick
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK qctx_maybe_autotick(QCTX *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3734,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3737,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3749,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - ctx
    - class_
    - p_value_out
    - p_value_in
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3767
      start: 3726
    functionDepth: 2
    functionLinenumber: 3726
    functionLinenumberEnd: 3767
    functionName: qc_getset_event_handling
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - qctx_lock
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_getset_event_handling(QCTX *ctx, uint32_t class_,\n
      \                                   uint64_t *p_value_out,\n                                    uint64_t
      *p_value_in)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3777,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3780,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3786,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_impl.c:3790,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3791,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_impl.c:3795,1
    - Dst: getter
      Src: /src/openssl/ssl/quic/quic_impl.c:3796,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3800,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - class_
    - p_value_out
    argTypes:
    - QCTX*
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3803
      start: 3769
    functionDepth: 2
    functionLinenumber: 3769
    functionLinenumberEnd: 3803
    functionName: qc_get_stream_write_buf_stat
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_stream_has_send
    - getter
    - ossl_quic_stream_has_send_buffer
    - qctx_lock
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK qc_get_stream_write_buf_stat(QCTX *ctx, uint32_t class_,\n
      \                                       uint64_t *p_value_out,\n                                        size_t
      (*getter)(QUIC_SSTREAM *sstream))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_cs
      Src: /src/openssl/ssl/quic/quic_impl.c:3813,1
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:3815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - s
    - ctx
    - id
    argTypes:
    - SSL*
    - QCTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3805
    functionDepth: 4
    functionLinenumber: 3805
    functionLinenumberEnd: 3817
    functionName: expect_quic_for_value
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_cs
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK expect_quic_for_value(SSL *s, QCTX *ctx, uint32_t id)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_for_value
      Src: /src/openssl/ssl/quic/quic_impl.c:3825,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3829,1
    - Dst: qc_getset_idle_timeout
      Src: /src/openssl/ssl/quic/quic_impl.c:3834,1
    - Dst: qc_get_stream_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:3837,1
    - Dst: qc_get_stream_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:3839,1
    - Dst: qc_get_stream_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:3841,1
    - Dst: qc_get_stream_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:3843,1
    - Dst: qc_getset_event_handling
      Src: /src/openssl/ssl/quic/quic_impl.c:3846,1
    - Dst: qc_get_stream_write_buf_stat
      Src: /src/openssl/ssl/quic/quic_impl.c:3849,1
    - Dst: qc_get_stream_write_buf_stat
      Src: /src/openssl/ssl/quic/quic_impl.c:3852,1
    - Dst: qc_get_stream_write_buf_stat
      Src: /src/openssl/ssl/quic/quic_impl.c:3855,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - s
    - class_
    - id
    - value
    argTypes:
    - SSL*
    - uint32_t
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3864
      start: 3819
    functionDepth: 5
    functionLinenumber: 3819
    functionLinenumberEnd: 3864
    functionName: ossl_quic_get_value_uint
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qc_getset_idle_timeout
    - qc_get_stream_avail
    - expect_quic_for_value
    - qc_getset_event_handling
    - qc_get_stream_write_buf_stat
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK ossl_quic_get_value_uint(SSL *s, uint32_t class_,
      uint32_t id,\n                             uint64_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_for_value
      Src: /src/openssl/ssl/quic/quic_impl.c:3872,1
    - Dst: qc_getset_idle_timeout
      Src: /src/openssl/ssl/quic/quic_impl.c:3877,1
    - Dst: qc_getset_event_handling
      Src: /src/openssl/ssl/quic/quic_impl.c:3880,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - s
    - class_
    - id
    - value
    argTypes:
    - SSL*
    - uint32_t
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3866
    functionDepth: 5
    functionLinenumber: 3866
    functionLinenumberEnd: 3888
    functionName: ossl_quic_set_value_uint
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qc_getset_event_handling
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qc_getset_idle_timeout
    - expect_quic_for_value
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK ossl_quic_set_value_uint(SSL *s, uint32_t class_,
      uint32_t id,\n                             uint64_t value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:3904,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:3906,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3908,1
    - Dst: ossl_quic_stream_map_peek_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:3912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3917
      start: 3899
    functionDepth: 2
    functionLinenumber: 3899
    functionLinenumberEnd: 3917
    functionName: wait_for_incoming_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_qsm
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_stream_map_peek_accept_queue
    - quic_mutation_allowed
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK wait_for_incoming_stream(void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:3930,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:3933,1
    - Dst: qc_get_effective_incoming_stream_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:3935,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3937,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:3941,1
    - Dst: ossl_quic_stream_map_find_in_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:3944,1
    - Dst: ossl_quic_stream_map_find_in_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:3947,1
    - Dst: ossl_quic_stream_map_peek_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:3949,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:3953,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:3960,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:3962,1
    - Dst: create_xso_from_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:3974,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_impl.c:3978,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_impl.c:3978,1
    - Dst: ossl_quic_stream_map_remove_from_accept_queue
      Src: /src/openssl/ssl/quic/quic_impl.c:3979,1
    - Dst: qc_touch_default_xso
      Src: /src/openssl/ssl/quic/quic_impl.c:3984,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:3987,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - s
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3989
      start: 3919
    functionDepth: 3
    functionLinenumber: 3919
    functionLinenumberEnd: 3989
    functionName: ossl_quic_accept_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_stream_map_remove_from_accept_queue
    - create_xso_from_stream
    - ossl_quic_channel_get_statm
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_peek_accept_queue
    - qc_get_effective_incoming_stream_policy
    - qctx_lock
    - ossl_quic_stream_map_find_in_accept_queue
    - block_until_pred
    - ossl_statm_get_rtt_info
    - qc_touch_default_xso
    - qctx_blocking
    - qctx_unlock
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK *ossl_quic_accept_stream(SSL *s, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:4001,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4004,1
    - Dst: ossl_quic_stream_map_get_total_accept_queue_len
      Src: /src/openssl/ssl/quic/quic_impl.c:4006,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:4006,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4010
      start: 3995
    functionDepth: 2
    functionLinenumber: 3995
    functionLinenumberEnd: 4010
    functionName: ossl_quic_get_accept_stream_queue_len
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_map_get_total_accept_queue_len
    - ossl_quic_channel_get_qsm
    - qctx_lock
    - qctx_unlock
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_accept_stream_queue_len(SSL *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4026,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:4029,1
    - Dst: quic_validate_for_write
      Src: /src/openssl/ssl/quic/quic_impl.c:4033,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4034,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/ssl/quic/quic_impl.c:4038,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ssl
    - args
    - args_len
    argTypes:
    - SSL*
    - SSL_STREAM_RESET_ARGS*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4045
      start: 4016
    functionDepth: 4
    functionLinenumber: 4016
    functionLinenumberEnd: 4045
    functionName: ossl_quic_stream_reset
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_map_reset_stream_send_part
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_channel_get_qsm
    - expect_quic_with_stream_lock
    - quic_validate_for_write
    - qctx_unlock
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_reset(SSL *ssl,\n                           const
      SSL_STREAM_RESET_ARGS *args,\n                           size_t args_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_server_init
      Src: /src/openssl/ssl/quic/quic_impl.c:4060,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_impl.c:4067,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:4073,1
    - Dst: ossl_quic_stream_send_is_reset
      Src: /src/openssl/ssl/quic/quic_impl.c:4080,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_impl.c:4090,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:4098,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 5
    argNames:
    - qc
    - qs
    - is_write
    - state
    - app_error_code
    argTypes:
    - QUIC_CONNECTION*
    - QUIC_STREAM*
    - int
    - int*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4051
    functionDepth: 1
    functionLinenumber: 4051
    functionLinenumberEnd: 4109
    functionName: quic_classify_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_recv_is_reset
    - ossl_quic_stream_is_server_init
    - ossl_quic_stream_is_bidi
    - ossl_quic_stream_send_is_reset
    - ossl_quic_channel_is_term_any
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: void
    signature: "void quic_classify_stream(QUIC_CONNECTION *qc,\n                                 QUIC_STREAM
      *qs,\n                                 int is_write,\n                                 int
      *state,\n                                 uint64_t *app_error_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4116,1
    - Dst: quic_classify_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:4119,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssl
    - is_write
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4111
    functionDepth: 4
    functionLinenumber: 4111
    functionLinenumberEnd: 4122
    functionName: quic_get_stream_state
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_with_stream_lock
    - qctx_unlock
    - quic_classify_stream
    linkageType: ''
    returnType: int
    signature: int quic_get_stream_state(SSL *ssl, int is_write)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_get_stream_state
      Src: /src/openssl/ssl/quic/quic_impl.c:4126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4127
      start: 4124
    functionDepth: 5
    functionLinenumber: 4124
    functionLinenumberEnd: 4127
    functionName: ossl_quic_get_stream_read_state
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_get_stream_state
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_stream_read_state(SSL *ssl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_get_stream_state
      Src: /src/openssl/ssl/quic/quic_impl.c:4135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4133
    functionDepth: 5
    functionLinenumber: 4133
    functionLinenumberEnd: 4136
    functionName: ossl_quic_get_stream_write_state
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_get_stream_state
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_stream_write_state(SSL *ssl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4148,1
    - Dst: quic_classify_stream
      Src: /src/openssl/ssl/quic/quic_impl.c:4151,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ssl
    - is_write
    - app_error_code
    argTypes:
    - SSL*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4164
      start: 4142
    functionDepth: 4
    functionLinenumber: 4142
    functionLinenumberEnd: 4164
    functionName: quic_get_stream_error_code
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_with_stream_lock
    - qctx_unlock
    - quic_classify_stream
    linkageType: ''
    returnType: int
    signature: "int quic_get_stream_error_code(SSL *ssl, int is_write,\n                                      uint64_t
      *app_error_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_get_stream_error_code
      Src: /src/openssl/ssl/quic/quic_impl.c:4168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - app_error_code
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4166
    functionDepth: 5
    functionLinenumber: 4166
    functionLinenumberEnd: 4169
    functionName: ossl_quic_get_stream_read_error_code
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_get_stream_error_code
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_stream_read_error_code(SSL *ssl, uint64_t *app_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_get_stream_error_code
      Src: /src/openssl/ssl/quic/quic_impl.c:4177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - app_error_code
    argTypes:
    - SSL*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4175
    functionDepth: 5
    functionLinenumber: 4175
    functionLinenumberEnd: 4178
    functionName: ossl_quic_get_stream_write_error_code
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - quic_get_stream_error_code
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_stream_write_error_code(SSL *ssl, uint64_t *app_error_code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_with_stream_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4189,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_impl.c:4192,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4194,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_impl.c:4198,1
    - Dst: ossl_quic_sstream_set_buffer_size
      Src: /src/openssl/ssl/quic/quic_impl.c:4207,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4208,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ssl
    - size
    argTypes:
    - SSL*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4184
    functionDepth: 4
    functionLinenumber: 4184
    functionLinenumberEnd: 4217
    functionName: ossl_quic_set_write_buffer_size
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - ossl_quic_stream_has_send
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_sstream_set_buffer_size
    - expect_quic_with_stream_lock
    - qctx_unlock
    linkageType: ''
    returnType: int
    signature: int ossl_quic_set_write_buffer_size(SSL *ssl, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:4230,1
    - Dst: ossl_quic_channel_get_terminate_cause
      Src: /src/openssl/ssl/quic/quic_impl.c:4233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ssl
    - info
    - info_len
    argTypes:
    - SSL*
    - SSL_CONN_CLOSE_INFO*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4247
      start: 4223
    functionDepth: 1
    functionLinenumber: 4223
    functionLinenumberEnd: 4247
    functionName: ossl_quic_get_conn_close_info
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_get_terminate_cause
    - expect_quic_conn_only
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_get_conn_close_info(SSL *ssl,\n                                  SSL_CONN_CLOSE_INFO
      *info,\n                                  size_t info_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:4257,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4270,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4274,1
    - Dst: ossl_quic_channel_trigger_txku
      Src: /src/openssl/ssl/quic/quic_impl.c:4277,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4278,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4279,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ssl
    - update_type
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4285
      start: 4253
    functionDepth: 2
    functionLinenumber: 4253
    functionLinenumberEnd: 4285
    functionName: ossl_quic_key_update
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - QUIC_RAISE_NON_NORMAL_ERROR
    - qctx_lock
    - expect_quic_conn_only
    - qctx_unlock
    - ossl_quic_channel_trigger_txku
    linkageType: ''
    returnType: int
    signature: int ossl_quic_key_update(SSL *ssl, int update_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4298
      start: 4291
    functionDepth: 0
    functionLinenumber: 4291
    functionLinenumberEnd: 4298
    functionName: ossl_quic_get_key_update_type
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_key_update_type(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_qc_from_incoming_conn
      Src: /src/openssl/ssl/quic/quic_impl.c:4321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - arg
    argTypes:
    - QUIC_CHANNEL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4324
      start: 4318
    functionDepth: 1
    functionLinenumber: 4318
    functionLinenumberEnd: 4324
    functionName: alloc_port_user_ssl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - create_qc_from_incoming_conn
    linkageType: ''
    returnType: SSL
    signature: SSL *alloc_port_user_ssl(QUIC_CHANNEL *ch, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4341,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4342,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_impl.c:4347,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4348,1
    - Dst: need_notifier_for_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:4359,1
    - Dst: ossl_quic_engine_new
      Src: /src/openssl/ssl/quic/quic_impl.c:4362,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4363,1
    - Dst: ossl_quic_engine_create_port
      Src: /src/openssl/ssl/quic/quic_impl.c:4373,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4375,1
    - Dst: ossl_quic_port_set_allow_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4381,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:4384,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4392,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4395,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4397,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4399
      start: 4335
    functionDepth: 1
    functionLinenumber: 4335
    functionLinenumberEnd: 4399
    functionName: ossl_quic_new_listener
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_create_port
    - QUIC_RAISE_NON_NORMAL_ERROR
    - OPENSSL_zalloc
    - ossl_crypto_mutex_free
    - ossl_quic_engine_free
    - need_notifier_for_domain_flags
    - ossl_quic_engine_new
    - OPENSSL_free
    - ossl_quic_obj_init
    - ossl_crypto_mutex_new
    - ossl_quic_port_set_allow_incoming
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_domain
      Src: /src/openssl/ssl/quic/quic_impl.c:4411,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:4414,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4417,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4419,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4420,1
    - Dst: ossl_quic_engine_create_port
      Src: /src/openssl/ssl/quic/quic_impl.c:4430,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4432,1
    - Dst: ossl_quic_port_set_allow_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4451,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:4454,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4458,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4463,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4465,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4466,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4470
      start: 4405
    functionDepth: 4
    functionLinenumber: 4405
    functionLinenumberEnd: 4470
    functionName: ossl_quic_new_listener_from
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_create_port
    - QUIC_RAISE_NON_NORMAL_ERROR
    - OPENSSL_zalloc
    - SSL_free
    - ossl_quic_port_free
    - qctx_lock
    - ossl_quic_port_set_allow_incoming
    - OPENSSL_free
    - expect_quic_domain
    - ossl_quic_obj_init
    - qctx_unlock
    - SSL_up_ref
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_new_listener_from(SSL *ssl, uint64_t flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:4495,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:4498,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4501,1
    - Dst: ossl_quic_new_token_store
      Src: /src/openssl/ssl/quic/quic_impl.c:4512,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4515,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4516,1
    - Dst: ossl_ssl_connection_new_int
      Src: /src/openssl/ssl/quic/quic_impl.c:4539,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_impl.c:4539,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_impl.c:4540,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4541,1
    - Dst: ossl_quic_port_create_outgoing
      Src: /src/openssl/ssl/quic/quic_impl.c:4554,1
    - Dst: ossl_quic_channel_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_impl.c:4556,1
    - Dst: ossl_quic_channel_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_impl.c:4557,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:4565,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4568,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:4579,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4581,1
    - Dst: qc_cleanup
      Src: /src/openssl/ssl/quic/quic_impl.c:4587,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4588,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4590,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4591,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4594
      start: 4485
    functionDepth: 6
    functionLinenumber: 4485
    functionLinenumberEnd: 4594
    functionName: ossl_quic_new_from_listener
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qc_update_reject_policy
    - QUIC_RAISE_NON_NORMAL_ERROR
    - OPENSSL_zalloc
    - expect_quic_listener
    - ossl_ssl_connection_new_int
    - TLS_method
    - SSL_CONNECTION_FROM_SSL
    - qc_cleanup
    - SSL_free
    - qctx_lock
    - ossl_quic_channel_set_msg_callback
    - OPENSSL_free
    - ossl_quic_obj_init
    - ossl_quic_port_create_outgoing
    - qctx_unlock
    - ossl_quic_channel_set_msg_callback_arg
    - SSL_up_ref
    - ossl_quic_new_token_store
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_new_from_listener(SSL *ssl, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_set_allow_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ql
    argTypes:
    - QUIC_LISTENER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4609
      start: 4600
    functionDepth: 1
    functionLinenumber: 4600
    functionLinenumberEnd: 4609
    functionName: ql_listen
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_set_allow_incoming
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK ql_listen(QUIC_LISTENER *ql)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:4617,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:4620,1
    - Dst: ql_listen
      Src: /src/openssl/ssl/quic/quic_impl.c:4622,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4626
      start: 4611
    functionDepth: 4
    functionLinenumber: 4611
    functionLinenumberEnd: 4626
    functionName: ossl_quic_listen
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock_for_io
    - expect_quic_listener
    - qctx_unlock
    - ql_listen
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_listen(SSL *ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:4636,1
    - Dst: ossl_quic_port_have_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4643
      start: 4632
    functionDepth: 1
    functionLinenumber: 4632
    functionLinenumberEnd: 4643
    functionName: quic_accept_connection_wait
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_have_incoming
    - ossl_quic_port_is_running
    linkageType: ''
    returnType: int
    signature: int quic_accept_connection_wait(void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:4656,1
    - Dst: qctx_lock_for_io
      Src: /src/openssl/ssl/quic/quic_impl.c:4659,1
    - Dst: ql_listen
      Src: /src/openssl/ssl/quic/quic_impl.c:4661,1
    - Dst: ossl_quic_port_pop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4665,1
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:4666,1
    - Dst: qctx_blocking
      Src: /src/openssl/ssl/quic/quic_impl.c:4667,1
    - Dst: block_until_pred
      Src: /src/openssl/ssl/quic/quic_impl.c:4668,1
    - Dst: qctx_maybe_autotick
      Src: /src/openssl/ssl/quic/quic_impl.c:4673,1
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:4676,1
    - Dst: ossl_quic_port_pop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4679,1
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:4682,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:4684,1
    - Dst: ossl_quic_engine_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:4684,1
    - Dst: ossl_quic_port_pop_incoming
      Src: /src/openssl/ssl/quic/quic_impl.c:4686,1
    - Dst: ossl_quic_channel_get0_tls
      Src: /src/openssl/ssl/quic/quic_impl.c:4695,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_impl.c:4696,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/quic/quic_impl.c:4697,1
    - Dst: SSL_up_ref
      Src: /src/openssl/ssl/quic/quic_impl.c:4702,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4703,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4704,1
    - Dst: ossl_quic_channel_get0_tls
      Src: /src/openssl/ssl/quic/quic_impl.c:4704,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4709,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 2
    argNames:
    - ssl
    - flags
    argTypes:
    - SSL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4711
      start: 4645
    functionDepth: 4
    functionLinenumber: 4645
    functionLinenumberEnd: 4711
    functionName: ossl_quic_accept_connection
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_get0_reactor
    - expect_quic_listener
    - SSL_CONNECTION_FROM_SSL
    - SSL_free
    - ossl_quic_port_pop_incoming
    - qctx_maybe_autotick
    - qctx_lock_for_io
    - ossl_quic_port_is_running
    - ossl_quic_reactor_tick
    - SSL_CONNECTION_GET_USER_SSL
    - ossl_quic_channel_get0_tls
    - ql_listen
    - qctx_unlock
    - qctx_blocking
    - block_until_pred
    - SSL_up_ref
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK *ossl_quic_accept_connection(SSL *ssl, uint64_t flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4717,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4718,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:4722,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:4725,1
    - Dst: ossl_quic_channel_get_peer_addr
      Src: /src/openssl/ssl/quic/quic_impl.c:4729,1
    - Dst: ossl_quic_channel_get0_tls
      Src: /src/openssl/ssl/quic/quic_impl.c:4737,1
    - Dst: qc_update_reject_policy
      Src: /src/openssl/ssl/quic/quic_impl.c:4745,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - ql
    - ch
    argTypes:
    - QUIC_LISTENER*
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4713
    functionDepth: 2
    functionLinenumber: 4713
    functionLinenumberEnd: 4751
    functionName: create_qc_from_incoming_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qc_update_reject_policy
    - QUIC_RAISE_NON_NORMAL_ERROR
    - OPENSSL_zalloc
    - ossl_quic_channel_get_peer_addr
    - OPENSSL_free
    - ossl_quic_channel_get0_tls
    - ossl_quic_obj_init
    linkageType: ''
    returnType: QUIC_CONNECTION
    signature: QUIC_CONNECTION *create_qc_from_incoming_conn(QUIC_LISTENER *ql, QUIC_CHANNEL
      *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_fnv1a_hash
      Src: /src/openssl/ssl/quic/quic_impl.c:4763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4764
      start: 4761
    functionDepth: 1
    functionLinenumber: 4761
    functionLinenumberEnd: 4764
    functionName: quic_token_hash
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_fnv1a_hash
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long quic_token_hash(const QUIC_TOKEN *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_impl.c:4770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_TOKEN*
    - QUIC_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4771
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4771
    functionName: quic_token_cmp
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int quic_token_cmp(const QUIC_TOKEN *a, const QUIC_TOKEN *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4776,1
    - Dst: lh_QUIC_TOKEN_new
      Src: /src/openssl/ssl/quic/quic_impl.c:4781,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_impl.c:4786,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:4790,1
    - Dst: ossl_quic_free_token_store
      Src: /src/openssl/ssl/quic/quic_impl.c:4796,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4800
      start: 4773
    functionDepth: 1
    functionLinenumber: 4773
    functionLinenumberEnd: 4800
    functionName: ossl_quic_new_token_store
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - CRYPTO_NEW_REF
    - OPENSSL_zalloc
    - ossl_quic_free_token_store
    - lh_QUIC_TOKEN_new
    - ossl_crypto_mutex_new
    linkageType: ''
    returnType: SSL_TOKEN_STORE
    signature: SSL_TOKEN_STORE *ossl_quic_new_token_store(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_free_peer_token
      Src: /src/openssl/ssl/quic/quic_impl.c:4804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tok
    argTypes:
    - QUIC_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4805
      start: 4802
    functionDepth: 1
    functionLinenumber: 4802
    functionLinenumberEnd: 4805
    functionName: free_this_token
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_free_peer_token
    linkageType: ''
    returnType: void
    signature: void free_this_token(QUIC_TOKEN *tok)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:4814,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4821,1
    - Dst: lh_QUIC_TOKEN_doall
      Src: /src/openssl/ssl/quic/quic_impl.c:4822,1
    - Dst: lh_QUIC_TOKEN_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4823,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:4824,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hdl
    argTypes:
    - SSL_TOKEN_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4827
      start: 4807
    functionDepth: 1
    functionLinenumber: 4807
    functionLinenumberEnd: 4827
    functionName: ossl_quic_free_token_store
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - ossl_crypto_mutex_free
    - lh_QUIC_TOKEN_free
    - lh_QUIC_TOKEN_doall
    - CRYPTO_DOWN_REF
    - OPENSSL_free
    - CRYPTO_FREE_REF
    linkageType: ''
    returnType: void
    signature: void ossl_quic_free_token_store(SSL_TOKEN_STORE *hdl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_impl.c:4871,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_impl.c:4873,1
    - Dst: BIO_ADDR_rawport
      Src: /src/openssl/ssl/quic/quic_impl.c:4874,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:4880,1
    - Dst: CRYPTO_NEW_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:4884,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4885,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_impl.c:4900,1
    - Dst: ossl_quic_free_peer_token
      Src: /src/openssl/ssl/quic/quic_impl.c:4901,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_impl.c:4905,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - peer
    - token
    - token_len
    argTypes:
    - BIO_ADDR*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4907
      start: 4856
    functionDepth: 1
    functionLinenumber: 4856
    functionLinenumberEnd: 4907
    functionName: ossl_quic_build_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_family
    - OPENSSL_zalloc
    - CRYPTO_NEW_REF
    - memcpy
    - OPENSSL_free
    - ossl_quic_free_peer_token
    - BIO_ADDR_rawaddress
    - BIO_ADDR_rawport
    linkageType: ''
    returnType: QUIC_TOKEN
    signature: "QUIC_TOKEN *ossl_quic_build_new_token(BIO_ADDR *peer, uint8_t *token,\n
      \                                            size_t token_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_build_new_token
      Src: /src/openssl/ssl/quic/quic_impl.c:4918,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4923,1
    - Dst: lh_QUIC_TOKEN_retrieve
      Src: /src/openssl/ssl/quic/quic_impl.c:4925,1
    - Dst: lh_QUIC_TOKEN_delete
      Src: /src/openssl/ssl/quic/quic_impl.c:4927,1
    - Dst: ossl_quic_free_peer_token
      Src: /src/openssl/ssl/quic/quic_impl.c:4928,1
    - Dst: lh_QUIC_TOKEN_insert
      Src: /src/openssl/ssl/quic/quic_impl.c:4930,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ctx
    - peer
    - token
    - token_len
    argTypes:
    - SSL_CTX*
    - BIO_ADDR*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4934
      start: 4909
    functionDepth: 2
    functionLinenumber: 4909
    functionLinenumberEnd: 4934
    functionName: ossl_quic_set_peer_token
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_build_new_token
    - ossl_crypto_mutex_unlock
    - ossl_quic_free_peer_token
    - ossl_crypto_mutex_lock
    - lh_QUIC_TOKEN_retrieve
    - lh_QUIC_TOKEN_insert
    - lh_QUIC_TOKEN_delete
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_set_peer_token(SSL_CTX *ctx, BIO_ADDR *peer,\n                             const
      uint8_t *token, size_t token_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_build_new_token
      Src: /src/openssl/ssl/quic/quic_impl.c:4948,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4952,1
    - Dst: lh_QUIC_TOKEN_retrieve
      Src: /src/openssl/ssl/quic/quic_impl.c:4953,1
    - Dst: CRYPTO_UP_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:4956,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4960,1
    - Dst: ossl_quic_free_peer_token
      Src: /src/openssl/ssl/quic/quic_impl.c:4961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ctx
    - peer
    - token
    argTypes:
    - SSL_CTX*
    - BIO_ADDR*
    - QUIC_TOKEN**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4963
      start: 4936
    functionDepth: 2
    functionLinenumber: 4936
    functionLinenumberEnd: 4963
    functionName: ossl_quic_get_peer_token
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_UP_REF
    - ossl_crypto_mutex_unlock
    - lh_QUIC_TOKEN_retrieve
    - ossl_crypto_mutex_lock
    - ossl_quic_free_peer_token
    - ossl_quic_build_new_token
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_get_peer_token(SSL_CTX *ctx, BIO_ADDR *peer,\n                             QUIC_TOKEN
      **token)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_DOWN_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:4969,1
    - Dst: CRYPTO_FREE_REF
      Src: /src/openssl/ssl/quic/quic_impl.c:4975,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:4976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - token
    argTypes:
    - QUIC_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4977
      start: 4965
    functionDepth: 1
    functionLinenumber: 4965
    functionLinenumberEnd: 4977
    functionName: ossl_quic_free_peer_token
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - CRYPTO_FREE_REF
    - CRYPTO_DOWN_REF
    linkageType: ''
    returnType: void
    signature: void ossl_quic_free_peer_token(QUIC_TOKEN *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_listener
      Src: /src/openssl/ssl/quic/quic_impl.c:4989,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:4992,1
    - Dst: ossl_quic_port_get_num_incoming_channels
      Src: /src/openssl/ssl/quic/quic_impl.c:4994,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:4996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4998
      start: 4983
    functionDepth: 4
    functionLinenumber: 4983
    functionLinenumberEnd: 4998
    functionName: ossl_quic_get_accept_connection_queue_len
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - qctx_lock
    - qctx_unlock
    - ossl_quic_port_get_num_incoming_channels
    - expect_quic_listener
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_accept_connection_queue_len(SSL *ssl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_adjust_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:5023,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_impl.c:5026,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5027,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_impl.c:5032,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5033,1
    - Dst: need_notifier_for_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:5044,1
    - Dst: ossl_quic_engine_new
      Src: /src/openssl/ssl/quic/quic_impl.c:5047,1
    - Dst: QUIC_RAISE_NON_NORMAL_ERROR
      Src: /src/openssl/ssl/quic/quic_impl.c:5048,1
    - Dst: ossl_quic_obj_init
      Src: /src/openssl/ssl/quic/quic_impl.c:5053,1
    - Dst: ossl_quic_obj_set_domain_flags
      Src: /src/openssl/ssl/quic/quic_impl.c:5057,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5061,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5063,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5065,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - ctx
    - flags
    argTypes:
    - SSL_CTX*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5067
      start: 5009
    functionDepth: 1
    functionLinenumber: 5009
    functionLinenumberEnd: 5067
    functionName: ossl_quic_new_domain
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_obj_set_domain_flags
    - QUIC_RAISE_NON_NORMAL_ERROR
    - OPENSSL_zalloc
    - ossl_crypto_mutex_free
    - ossl_quic_engine_free
    - need_notifier_for_domain_flags
    - ossl_quic_engine_new
    - OPENSSL_free
    - ossl_adjust_domain_flags
    - ossl_quic_obj_init
    - ossl_crypto_mutex_new
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_new_domain(SSL_CTX *ctx, uint64_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_ctx_ctrl
      Src: /src/openssl/ssl/quic/quic_impl.c:5078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - cmd
    - larg
    - parg
    argTypes:
    - SSL_CTX*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5080
      start: 5074
    functionDepth: 6
    functionLinenumber: 5074
    functionLinenumberEnd: 5080
    functionName: ossl_quic_ctx_ctrl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ssl3_ctx_ctrl
    linkageType: ''
    returnType: long
    signature: long ossl_quic_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:5086,1
    - Dst: ossl_quic_channel_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_impl.c:5091,1
    - Dst: ssl3_callback_ctrl
      Src: /src/openssl/ssl/quic/quic_impl.c:5094,1
    - Dst: ssl3_callback_ctrl
      Src: /src/openssl/ssl/quic/quic_impl.c:5098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - cmd
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5100
      start: 5082
    functionDepth: 2
    functionLinenumber: 5082
    functionLinenumberEnd: 5100
    functionName: ossl_quic_callback_ctrl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ssl3_callback_ctrl
    - ossl_quic_channel_set_msg_callback
    - expect_quic_conn_only
    linkageType: ''
    returnType: long
    signature: long ossl_quic_callback_ctrl(SSL *s, int cmd, void (*fp) (void))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_ctx_callback_ctrl
      Src: /src/openssl/ssl/quic/quic_impl.c:5104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - SSL_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5105
      start: 5102
    functionDepth: 1
    functionLinenumber: 5102
    functionLinenumberEnd: 5105
    functionName: ossl_quic_ctx_callback_ctrl
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ssl3_ctx_callback_ctrl
    linkageType: ''
    returnType: long
    signature: long ossl_quic_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)
      (void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - initok
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5111
      start: 5107
    functionDepth: 0
    functionLinenumber: 5107
    functionLinenumberEnd: 5111
    functionName: ossl_quic_renegotiate_check
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_renegotiate_check(SSL *ssl, int initok)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_get_cipher_by_char
      Src: /src/openssl/ssl/quic/quic_impl.c:5115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5121
      start: 5113
    functionDepth: 2
    functionLinenumber: 5113
    functionLinenumberEnd: 5121
    functionName: ossl_quic_get_cipher_by_char
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ssl3_get_cipher_by_char
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *ossl_quic_get_cipher_by_char(const unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5131
      start: 5128
    functionDepth: 0
    functionLinenumber: 5128
    functionLinenumberEnd: 5131
    functionName: ossl_quic_num_ciphers
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_num_ciphers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5136
      start: 5133
    functionDepth: 0
    functionLinenumber: 5133
    functionLinenumberEnd: 5136
    functionName: ossl_quic_get_cipher
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL_CIPHER
    signature: SSL_CIPHER *ossl_quic_get_cipher(unsigned int u)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:5147,1
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:5150,1
    - Dst: ossl_quic_channel_is_closing
      Src: /src/openssl/ssl/quic/quic_impl.c:5152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5142
    functionDepth: 1
    functionLinenumber: 5142
    functionLinenumberEnd: 5157
    functionName: ossl_quic_get_shutdown
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_is_term_any
    - ossl_quic_channel_is_closing
    - expect_quic_conn_only
    linkageType: ''
    returnType: int
    signature: int ossl_quic_get_shutdown(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_has_recv_buffer
      Src: /src/openssl/ssl/quic/quic_impl.c:5187,1
    - Dst: ossl_quic_rstream_available
      Src: /src/openssl/ssl/quic/quic_impl.c:5188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5190
      start: 5165
    functionDepth: 1
    functionLinenumber: 5165
    functionLinenumberEnd: 5190
    functionName: test_poll_event_r
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_available
    - ossl_quic_stream_has_recv_buffer
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_r(QUIC_XSO *xso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_impl.c:5196,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_impl.c:5197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5199
      start: 5193
    functionDepth: 1
    functionLinenumber: 5193
    functionLinenumberEnd: 5199
    functionName: test_poll_event_er
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_has_recv
    - ossl_quic_stream_recv_is_reset
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_er(QUIC_XSO *xso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_impl.c:5206,1
    - Dst: ossl_quic_sstream_get_buffer_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:5207,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_impl.c:5208,1
    - Dst: ossl_quic_txfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_impl.c:5209,1
    - Dst: ossl_quic_sstream_get_cur_size
      Src: /src/openssl/ssl/quic/quic_impl.c:5210,1
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:5211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5212
      start: 5202
    functionDepth: 2
    functionLinenumber: 5202
    functionLinenumberEnd: 5212
    functionName: test_poll_event_w
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_sstream_get_buffer_avail
    - quic_mutation_allowed
    - ossl_quic_txfc_get_cwm
    - ossl_quic_sstream_get_cur_size
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_w(QUIC_XSO *xso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_impl.c:5218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - xso
    argTypes:
    - QUIC_XSO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5222
      start: 5215
    functionDepth: 1
    functionLinenumber: 5215
    functionLinenumberEnd: 5222
    functionName: test_poll_event_ew
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_has_send
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_ew(QUIC_XSO *xso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_impl.c:5228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5229
      start: 5225
    functionDepth: 1
    functionLinenumber: 5225
    functionLinenumberEnd: 5229
    functionName: test_poll_event_ec
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_is_term_any
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_ec(QUIC_CONNECTION *qc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_impl.c:5235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - QUIC_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5232
    functionDepth: 1
    functionLinenumber: 5232
    functionLinenumberEnd: 5236
    functionName: test_poll_event_ecd
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_is_terminated
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_ecd(QUIC_CONNECTION *qc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_accept_queue_len
      Src: /src/openssl/ssl/quic/quic_impl.c:5242,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_impl.c:5242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qc
    - is_uni
    argTypes:
    - QUIC_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5244
      start: 5239
    functionDepth: 1
    functionLinenumber: 5239
    functionLinenumberEnd: 5244
    functionName: test_poll_event_is
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_get_accept_queue_len
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_is(QUIC_CONNECTION *qc, int is_uni)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_mutation_allowed
      Src: /src/openssl/ssl/quic/quic_impl.c:5251,1
    - Dst: ossl_quic_channel_get_local_stream_count_avail
      Src: /src/openssl/ssl/quic/quic_impl.c:5252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - qc
    - is_uni
    argTypes:
    - QUIC_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5253
      start: 5247
    functionDepth: 2
    functionLinenumber: 5247
    functionLinenumberEnd: 5253
    functionName: test_poll_event_os
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - quic_mutation_allowed
    - ossl_quic_channel_get_local_stream_count_avail
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_os(QUIC_CONNECTION *qc, int is_uni)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_impl.c:5259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ql
    argTypes:
    - QUIC_LISTENER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5260
      start: 5256
    functionDepth: 1
    functionLinenumber: 5256
    functionLinenumberEnd: 5260
    functionName: test_poll_event_el
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_is_running
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_el(QUIC_LISTENER *ql)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get_num_incoming_channels
      Src: /src/openssl/ssl/quic/quic_impl.c:5266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ql
    argTypes:
    - QUIC_LISTENER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5267
      start: 5263
    functionDepth: 1
    functionLinenumber: 5263
    functionLinenumberEnd: 5267
    functionName: test_poll_event_ic
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_get_num_incoming_channels
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK test_poll_event_ic(QUIC_LISTENER *ql)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_csl
      Src: /src/openssl/ssl/quic/quic_impl.c:5276,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5279,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_impl.c:5289,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5289,1
    - Dst: test_poll_event_r
      Src: /src/openssl/ssl/quic/quic_impl.c:5295,1
    - Dst: test_poll_event_er
      Src: /src/openssl/ssl/quic/quic_impl.c:5299,1
    - Dst: test_poll_event_w
      Src: /src/openssl/ssl/quic/quic_impl.c:5303,1
    - Dst: test_poll_event_ew
      Src: /src/openssl/ssl/quic/quic_impl.c:5307,1
    - Dst: test_poll_event_ec
      Src: /src/openssl/ssl/quic/quic_impl.c:5313,1
    - Dst: test_poll_event_ecd
      Src: /src/openssl/ssl/quic/quic_impl.c:5317,1
    - Dst: test_poll_event_is
      Src: /src/openssl/ssl/quic/quic_impl.c:5321,1
    - Dst: test_poll_event_is
      Src: /src/openssl/ssl/quic/quic_impl.c:5325,1
    - Dst: test_poll_event_os
      Src: /src/openssl/ssl/quic/quic_impl.c:5329,1
    - Dst: test_poll_event_os
      Src: /src/openssl/ssl/quic/quic_impl.c:5333,1
    - Dst: test_poll_event_el
      Src: /src/openssl/ssl/quic/quic_impl.c:5339,1
    - Dst: test_poll_event_ic
      Src: /src/openssl/ssl/quic/quic_impl.c:5343,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5348,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 47
    argCount: 4
    argNames:
    - ssl
    - events
    - do_tick
    - p_revents
    argTypes:
    - SSL*
    - uint64_t
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5351
      start: 5269
    functionDepth: 4
    functionLinenumber: 5269
    functionLinenumberEnd: 5351
    functionName: ossl_quic_conn_poll_events
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - expect_quic_csl
    - test_poll_event_er
    - test_poll_event_r
    - test_poll_event_ecd
    - test_poll_event_el
    - test_poll_event_ic
    - test_poll_event_w
    - ossl_quic_obj_get0_reactor
    - qctx_lock
    - ossl_quic_reactor_tick
    - qctx_unlock
    - test_poll_event_os
    - test_poll_event_ew
    - test_poll_event_is
    - test_poll_event_ec
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: "QUIC_TAKES_LOCK ossl_quic_conn_poll_events(SSL *ssl, uint64_t events,
      int do_tick,\n                               uint64_t *p_revents)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:5361,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5364,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5365,1
    - Dst: ossl_quic_reactor_get0_notifier
      Src: /src/openssl/ssl/quic/quic_impl.c:5366,1
    - Dst: ossl_rio_notifier_as_fd
      Src: /src/openssl/ssl/quic/quic_impl.c:5369,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5374
      start: 5353
    functionDepth: 2
    functionLinenumber: 5353
    functionLinenumberEnd: 5374
    functionName: ossl_quic_get_notifier_fd
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_rio_notifier_as_fd
    - ossl_quic_obj_get0_reactor
    - ossl_quic_reactor_get0_notifier
    - qctx_lock
    - expect_quic_any
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_get_notifier_fd(SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:5382,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5385,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5386,1
    - Dst: ossl_quic_reactor_wait_ctx_enter
      Src: /src/openssl/ssl/quic/quic_impl.c:5387,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - wctx
    argTypes:
    - SSL*
    - QUIC_REACTOR_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5389
      start: 5376
    functionDepth: 2
    functionLinenumber: 5376
    functionLinenumberEnd: 5389
    functionName: ossl_quic_enter_blocking_section
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_obj_get0_reactor
    - ossl_quic_reactor_wait_ctx_enter
    - qctx_lock
    - expect_quic_any
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_enter_blocking_section(SSL *ssl, QUIC_REACTOR_WAIT_CTX
      *wctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_any
      Src: /src/openssl/ssl/quic/quic_impl.c:5397,1
    - Dst: qctx_lock
      Src: /src/openssl/ssl/quic/quic_impl.c:5400,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_impl.c:5401,1
    - Dst: ossl_quic_reactor_wait_ctx_leave
      Src: /src/openssl/ssl/quic/quic_impl.c:5402,1
    - Dst: qctx_unlock
      Src: /src/openssl/ssl/quic/quic_impl.c:5403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ssl
    - wctx
    argTypes:
    - SSL*
    - QUIC_REACTOR_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5404
      start: 5391
    functionDepth: 2
    functionLinenumber: 5391
    functionLinenumberEnd: 5404
    functionName: ossl_quic_leave_blocking_section
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 0
    functionsReached:
    - ossl_quic_obj_get0_reactor
    - ossl_quic_reactor_wait_ctx_leave
    - qctx_lock
    - expect_quic_any
    - qctx_unlock
    linkageType: ''
    returnType: QUIC_TAKES_LOCK
    signature: QUIC_TAKES_LOCK ossl_quic_leave_blocking_section(SSL *ssl, QUIC_REACTOR_WAIT_CTX
      *wctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_quic_conn_only
      Src: /src/openssl/ssl/quic/quic_impl.c:5415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5411
    functionDepth: 0
    functionLinenumber: 5411
    functionLinenumberEnd: 5419
    functionName: ossl_quic_conn_get_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 6
    functionsReached:
    - expect_quic_conn_only
    linkageType: ''
    returnType: QUIC_CHANNEL
    signature: QUIC_CHANNEL *ossl_quic_conn_get_channel(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_impl.c:5424,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/quic_impl.c:5430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - title
    argTypes:
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5435
      start: 5421
    functionDepth: 0
    functionLinenumber: 5421
    functionLinenumberEnd: 5435
    functionName: ossl_quic_set_diag_title
    functionSourceFile: /src/openssl/ssl/quic/quic_impl.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - OPENSSL_strdup
    linkageType: ''
    returnType: int
    signature: int ossl_quic_set_diag_title(SSL_CTX *ctx, const char *title)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_uint_set_init
      Src: /src/openssl/ssl/quic/uint_set.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - UINT_SET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ossl_uint_set_init
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_init
    linkageType: ''
    returnType: void
    signature: void ossl_uint_set_init(UINT_SET *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_uint_set_head
      Src: /src/openssl/ssl/quic/uint_set.c:69,1
    - Dst: ossl_list_uint_set_next
      Src: /src/openssl/ssl/quic/uint_set.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/uint_set.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - UINT_SET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: ossl_uint_set_destroy
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_head
    - OPENSSL_free
    - ossl_list_uint_set_next
    linkageType: ''
    returnType: void
    signature: void ossl_uint_set_destroy(UINT_SET *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:78,1
    - Dst: ossl_list_uint_set_remove
      Src: /src/openssl/ssl/quic/uint_set.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/uint_set.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - x
    argTypes:
    - UINT_SET*
    - UINT_SET_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: uint_set_merge_adjacent
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_remove
    - OPENSSL_free
    - ossl_list_uint_set_prev
    linkageType: ''
    returnType: void
    signature: void uint_set_merge_adjacent(UINT_SET *s, UINT_SET_ITEM *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: u64_min
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t u64_min(uint64_t x, uint64_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: u64_max
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t u64_max(uint64_t x, uint64_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u64_min
      Src: /src/openssl/ssl/quic/uint_set.c:108,1
    - Dst: u64_max
      Src: /src/openssl/ssl/quic/uint_set.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - UINT_RANGE*
    - UINT_RANGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: uint_range_overlaps
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - u64_max
    - u64_min
    linkageType: ''
    returnType: int
    signature: "int uint_range_overlaps(const UINT_RANGE *a,\n                               const
      UINT_RANGE *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/uint_set.c:114,1
    - Dst: ossl_list_uint_set_init_elem
      Src: /src/openssl/ssl/quic/uint_set.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - end
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: create_set_item
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_init_elem
    - OPENSSL_malloc
    linkageType: ''
    returnType: UINT_SET_ITEM
    signature: UINT_SET_ITEM *create_set_item(uint64_t start, uint64_t end)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/uint_set.c:130,1
    - Dst: ossl_list_uint_set_is_empty
      Src: /src/openssl/ssl/quic/uint_set.c:133,1
    - Dst: create_set_item
      Src: /src/openssl/ssl/quic/uint_set.c:135,1
    - Dst: ossl_list_uint_set_insert_head
      Src: /src/openssl/ssl/quic/uint_set.c:138,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/uint_set.c:142,1
    - Dst: create_set_item
      Src: /src/openssl/ssl/quic/uint_set.c:156,1
    - Dst: ossl_list_uint_set_insert_tail
      Src: /src/openssl/ssl/quic/uint_set.c:159,1
    - Dst: ossl_list_uint_set_head
      Src: /src/openssl/ssl/quic/uint_set.c:163,1
    - Dst: ossl_list_uint_set_head
      Src: /src/openssl/ssl/quic/uint_set.c:171,1
    - Dst: ossl_list_uint_set_next
      Src: /src/openssl/ssl/quic/uint_set.c:174,1
    - Dst: ossl_list_uint_set_next
      Src: /src/openssl/ssl/quic/uint_set.c:175,1
    - Dst: ossl_list_uint_set_remove
      Src: /src/openssl/ssl/quic/uint_set.c:176,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:191,1
    - Dst: uint_range_overlaps
      Src: /src/openssl/ssl/quic/uint_set.c:197,1
    - Dst: u64_max
      Src: /src/openssl/ssl/quic/uint_set.c:204,1
    - Dst: uint_range_overlaps
      Src: /src/openssl/ssl/quic/uint_set.c:207,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:209,1
    - Dst: u64_min
      Src: /src/openssl/ssl/quic/uint_set.c:212,1
    - Dst: ossl_list_uint_set_next
      Src: /src/openssl/ssl/quic/uint_set.c:216,1
    - Dst: ossl_list_uint_set_remove
      Src: /src/openssl/ssl/quic/uint_set.c:217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/uint_set.c:218,1
    - Dst: uint_set_merge_adjacent
      Src: /src/openssl/ssl/quic/uint_set.c:231,1
    - Dst: uint_set_merge_adjacent
      Src: /src/openssl/ssl/quic/uint_set.c:240,1
    - Dst: create_set_item
      Src: /src/openssl/ssl/quic/uint_set.c:246,1
    - Dst: ossl_list_uint_set_insert_before
      Src: /src/openssl/ssl/quic/uint_set.c:249,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 2
    argNames:
    - s
    - range
    argTypes:
    - UINT_SET*
    - UINT_RANGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 256
    functionName: ossl_uint_set_insert
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_list_uint_set_next
    - ossl_list_uint_set_insert_before
    - create_set_item
    - ossl_list_uint_set_insert_tail
    - uint_set_merge_adjacent
    - ossl_list_uint_set_is_empty
    - ossl_list_uint_set_insert_head
    - ossl_list_uint_set_head
    - u64_max
    - OPENSSL_free
    - ossl_list_uint_set_remove
    - ossl_list_uint_set_tail
    - ossl_list_uint_set_prev
    - uint_range_overlaps
    - u64_min
    linkageType: ''
    returnType: int
    signature: int ossl_uint_set_insert(UINT_SET *s, const UINT_RANGE *range)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/uint_set.c:263,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/uint_set.c:267,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:268,1
    - Dst: ossl_list_uint_set_remove
      Src: /src/openssl/ssl/quic/uint_set.c:279,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/uint_set.c:280,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/uint_set.c:287,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/uint_set.c:295,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/uint_set.c:296,1
    - Dst: create_set_item
      Src: /src/openssl/ssl/quic/uint_set.c:305,1
    - Dst: ossl_list_uint_set_insert_after
      Src: /src/openssl/ssl/quic/uint_set.c:306,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/uint_set.c:311,1
    - Dst: uint_range_overlaps
      Src: /src/openssl/ssl/quic/uint_set.c:311,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - s
    - range
    argTypes:
    - UINT_SET*
    - UINT_RANGE*
    assertStmts:
    - condition: (end < z->range.end)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/openssl/ssl/quic/uint_set.c
    - condition: (start > z->range.start)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/openssl/ssl/quic/uint_set.c
    - condition: (start > 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/openssl/ssl/quic/uint_set.c
    - condition: (!uint_range_overlaps(&z->range, range))
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/openssl/ssl/quic/uint_set.c
    constantsTouched: []
    func_position:
      end: 316
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 316
    functionName: ossl_uint_set_remove
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - create_set_item
    - OPENSSL_free
    - ossl_list_uint_set_insert_after
    - ossl_list_uint_set_remove
    - ossl_list_uint_set_prev
    - ossl_list_uint_set_tail
    - uint_range_overlaps
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_uint_set_remove(UINT_SET *s, const UINT_RANGE *range)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_uint_set_is_empty
      Src: /src/openssl/ssl/quic/uint_set.c:322,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/uint_set.c:325,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/uint_set.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - UINT_SET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: ossl_uint_set_query
    functionSourceFile: /src/openssl/ssl/quic/uint_set.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_is_empty
    - ossl_list_uint_set_prev
    - ossl_list_uint_set_tail
    linkageType: ''
    returnType: int
    signature: int ossl_uint_set_query(const UINT_SET *s, uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_quic_reactor_wait_slot_init
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QUIC_REACTOR_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ossl_quic_reactor_wait_ctx_init
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    functionUses: 0
    functionsReached:
    - ossl_list_quic_reactor_wait_slot_init
    linkageType: ''
    returnType: void
    signature: void ossl_quic_reactor_wait_ctx_init(QUIC_REACTOR_WAIT_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_enter_blocking_section
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - slot
    argTypes:
    - QUIC_REACTOR_WAIT_SLOT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: slot_activate
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    functionUses: 0
    functionsReached:
    - ossl_quic_reactor_enter_blocking_section
    linkageType: ''
    returnType: void
    signature: void slot_activate(QUIC_REACTOR_WAIT_SLOT *slot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:35,1
    - Dst: ossl_quic_reactor_leave_blocking_section
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - slot
    argTypes:
    - QUIC_REACTOR_WAIT_SLOT*
    assertStmts:
    - condition: (slot->blocking_count > 0)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: slot_deactivate
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    functionUses: 0
    functionsReached:
    - assert
    - ossl_quic_reactor_leave_blocking_section
    linkageType: ''
    returnType: void
    signature: void slot_deactivate(QUIC_REACTOR_WAIT_SLOT *slot)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:48,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:53,1
    - Dst: ossl_list_quic_reactor_wait_slot_insert_tail
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:57,1
    - Dst: slot_activate
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - rtor
    argTypes:
    - QUIC_REACTOR_WAIT_CTX*
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: ossl_quic_reactor_wait_ctx_enter
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    functionUses: 1
    functionsReached:
    - slot_activate
    - OSSL_LIST_FOREACH
    - OPENSSL_zalloc
    - ossl_list_quic_reactor_wait_slot_insert_tail
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_reactor_wait_ctx_enter(QUIC_REACTOR_WAIT_CTX *ctx,\n
      \                                    QUIC_REACTOR *rtor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:69,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:73,1
    - Dst: slot_deactivate
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - rtor
    argTypes:
    - QUIC_REACTOR_WAIT_CTX*
    - QUIC_REACTOR*
    assertStmts:
    - condition: (slot != NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: ossl_quic_reactor_wait_ctx_leave
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    functionUses: 1
    functionsReached:
    - OSSL_LIST_FOREACH
    - slot_deactivate
    - assert
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_reactor_wait_ctx_leave(QUIC_REACTOR_WAIT_CTX *ctx,\n
      \                                     QUIC_REACTOR *rtor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:81,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:82,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - QUIC_REACTOR_WAIT_CTX*
    assertStmts:
    - condition: (slot->blocking_count == 0)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: ossl_quic_reactor_wait_ctx_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor_wait_ctx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OSSL_LIST_FOREACH_DELSAFE
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_quic_reactor_wait_ctx_cleanup(QUIC_REACTOR_WAIT_CTX *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/quic/quic_txp.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - h
    - txp
    - enc_level
    - max_ppl
    - reserve
    argTypes:
    - struct tx_helper*
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 219
    functionName: tx_helper_init
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: "int tx_helper_init(struct tx_helper *h, OSSL_QUIC_TX_PACKETISER *txp,\n
      \                         uint32_t enc_level, size_t max_ppl, size_t reserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: tx_helper_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - tx_helper_rollback
    linkageType: ''
    returnType: void
    signature: void tx_helper_cleanup(struct tx_helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: tx_helper_unrestrict
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tx_helper_unrestrict(struct tx_helper *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:257,1
    - Dst: txp_el_ensure_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - h
    - buf
    - buf_len
    argTypes:
    - struct tx_helper*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 269
    functionName: tx_helper_append_iovec
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - txp_el_ensure_iovec
    linkageType: ''
    returnType: int
    signature: "int tx_helper_append_iovec(struct tx_helper *h,\n                                  const
      unsigned char *buf,\n                                  size_t buf_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: tx_helper_get_space_left
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tx_helper_get_space_left(struct tx_helper *h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:293,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:296,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:302,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:303,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_txp.c:306,1
    - Dst: WPACKET_set_max_size
      Src: /src/openssl/ssl/quic/quic_txp.c:309,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_txp.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 317
    functionName: tx_helper_begin
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - WPACKET_set_max_size
    - WPACKET_cleanup
    - tx_helper_get_space_left
    - WPACKET_init_static_len
    linkageType: ''
    returnType: WPACKET
    signature: WPACKET *tx_helper_begin(struct tx_helper *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_txp.c:322,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_txp.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h
    - success
    argTypes:
    - struct tx_helper*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: tx_helper_end
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - WPACKET_cleanup
    linkageType: ''
    returnType: void
    signature: void tx_helper_end(struct tx_helper *h, int success)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tx_helper_end
      Src: /src/openssl/ssl/quic/quic_txp.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: tx_helper_rollback
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - tx_helper_end
    linkageType: ''
    returnType: void
    signature: void tx_helper_rollback(struct tx_helper *h)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_txp.c:347,1
    - Dst: tx_helper_end
      Src: /src/openssl/ssl/quic/quic_txp.c:348,1
    - Dst: tx_helper_append_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:352,1
    - Dst: tx_helper_end
      Src: /src/openssl/ssl/quic/quic_txp.c:353,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_txp.c:362,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/ssl/quic/quic_txp.c:363,1
    - Dst: tx_helper_end
      Src: /src/openssl/ssl/quic/quic_txp.c:364,1
    - Dst: OSSL_QUIC_FRAME_TYPE_IS_STREAM
      Src: /src/openssl/ssl/quic/quic_txp.c:370,1
    - Dst: struct tx_helper*::txp::msg_callback
      Src: /src/openssl/ssl/quic/quic_txp.c:374,1
    - Dst: tx_helper_end
      Src: /src/openssl/ssl/quic/quic_txp.c:380,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 340
    functionDepth: 5
    functionLinenumber: 340
    functionLinenumberEnd: 382
    functionName: tx_helper_commit
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - struct tx_helper*::txp::msg_callback
    - tx_helper_append_iovec
    - OSSL_QUIC_FRAME_TYPE_IS_STREAM
    - ossl_quic_wire_peek_frame_header
    - WPACKET_get_total_written
    - tx_helper_end
    linkageType: ''
    returnType: int
    signature: int tx_helper_commit(struct tx_helper *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: ossl_quic_tx_packetiser_set_validated
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_tx_packetiser_set_validated(OSSL_QUIC_TX_PACKETISER
      *txp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - txp
    - credit
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: ossl_quic_tx_packetiser_add_unvalidated_credit
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_add_unvalidated_credit(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                                    size_t credit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - txp
    - credit
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 517
    functionName: ossl_quic_tx_packetiser_consume_unvalidated_credit
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_consume_unvalidated_credit(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                                        size_t credit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txp
    - req_credit
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: ossl_quic_tx_packetiser_check_unvalidated_credit
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_check_unvalidated_credit(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                                     size_t req_credit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_txp.c:553,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_txp.c:557,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_txp.c:562,1
    - Dst: ossl_quic_fifd_init
      Src: /src/openssl/ssl/quic/quic_txp.c:564,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_txp.c:572,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 1
    argNames:
    - args
    argTypes:
    - OSSL_QUIC_TX_PACKETISER_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 577
    functionName: ossl_quic_tx_packetiser_new
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - OPENSSL_zalloc
    - ERR_raise
    - ossl_quic_fifd_init
    - ossl_time_zero
    - OPENSSL_free
    linkageType: ''
    returnType: OSSL_QUIC_TX_PACKETISER
    signature: OSSL_QUIC_TX_PACKETISER *ossl_quic_tx_packetiser_new(const OSSL_QUIC_TX_PACKETISER_ARGS
      *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tx_packetiser_set_initial_token
      Src: /src/openssl/ssl/quic/quic_txp.c:586,1
    - Dst: ossl_quic_fifd_cleanup
      Src: /src/openssl/ssl/quic/quic_txp.c:587,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_txp.c:588,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_txp.c:593,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_txp.c:594,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_txp.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 598
    functionName: ossl_quic_tx_packetiser_free
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tx_packetiser_set_initial_token
    - ossl_quic_fifd_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_tx_packetiser_free(OSSL_QUIC_TX_PACKETISER *txp)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - token_len
    - mdpl
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 646
    functionName: txp_check_token_len
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int txp_check_token_len(size_t token_len, size_t mdpl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: txp_check_token_len
      Src: /src/openssl/ssl/quic/quic_txp.c:654,1
    - Dst: txp_get_mdpl
      Src: /src/openssl/ssl/quic/quic_txp.c:654,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::initial_token_free_cb
      Src: /src/openssl/ssl/quic/quic_txp.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - txp
    - token
    - token_len
    - free_cb
    - free_cb_arg
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - unsigned char*
    - size_t
    - ossl_quic_initial_token_free_fn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 666
    functionName: ossl_quic_tx_packetiser_set_initial_token
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 2
    functionsReached:
    - txp_get_mdpl
    - OSSL_QUIC_TX_PACKETISER*::initial_token_free_cb
    - txp_check_token_len
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_set_initial_token(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                              const unsigned char *token,\n
      \                                             size_t token_len,\n                                              ossl_quic_initial_token_free_fn
      *free_cb,\n                                              void *free_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txp
    - protocol_version
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: ossl_quic_tx_packetiser_set_protocol_version
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_set_protocol_version(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                                 uint32_t protocol_version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_txp.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txp
    - dcid
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 685
    functionName: ossl_quic_tx_packetiser_set_cur_dcid
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_set_cur_dcid(OSSL_QUIC_TX_PACKETISER *txp,\n
      \                                        const QUIC_CONN_ID *dcid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_txp.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - txp
    - scid
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: ossl_quic_tx_packetiser_set_cur_scid
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_set_cur_scid(OSSL_QUIC_TX_PACKETISER *txp,\n
      \                                        const QUIC_CONN_ID *scid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_txp.c:704,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_txp.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - txp
    - peer
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 709
    functionName: ossl_quic_tx_packetiser_set_peer
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_copy
    - BIO_ADDR_clear
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_set_peer(OSSL_QUIC_TX_PACKETISER *txp,\n
      \                                    const BIO_ADDR *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txp
    - cb_arg
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 719
    functionName: ossl_quic_tx_packetiser_set_ack_tx_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_set_ack_tx_cb(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                           void (*cb)(const OSSL_QUIC_FRAME_ACK
      *ack,\n                                                      uint32_t pn_space,\n
      \                                                     void *arg),\n                                           void
      *cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_fifd_set_qlog_cb
      Src: /src/openssl/ssl/quic/quic_txp.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - txp
    - (*get_qlog_cb)(void *arg)
    - get_qlog_cb_arg
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - QLOG*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 727
    functionName: ossl_quic_tx_packetiser_set_qlog_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_fifd_set_qlog_cb
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_set_qlog_cb(OSSL_QUIC_TX_PACKETISER *txp,\n
      \                                        QLOG *(*get_qlog_cb)(void *arg),\n
      \                                        void *get_qlog_cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_txp.c:733,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - txp
    - enc_level
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 741
    functionName: ossl_quic_tx_packetiser_discard_enc_level
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_discard_enc_level(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                              uint32_t enc_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 746
    functionName: ossl_quic_tx_packetiser_notify_handshake_complete
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_tx_packetiser_notify_handshake_complete(OSSL_QUIC_TX_PACKETISER
      *txp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: ossl_quic_tx_packetiser_schedule_handshake_done
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_tx_packetiser_schedule_handshake_done(OSSL_QUIC_TX_PACKETISER
      *txp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txp
    - pn_space
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: ossl_quic_tx_packetiser_schedule_ack_eliciting
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_schedule_ack_eliciting(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                                    uint32_t pn_space)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txp
    - pn_space
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: ossl_quic_tx_packetiser_schedule_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_schedule_ack(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                          uint32_t pn_space)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_tx_allowance
      Src: /src/openssl/ssl/quic/quic_txp.c:863,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_txp.c:866,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_txp.c:878,1
    - Dst: txp_determine_archetype
      Src: /src/openssl/ssl/quic/quic_txp.c:881,1
    - Dst: txp_should_try_staging
      Src: /src/openssl/ssl/quic/quic_txp.c:892,1
    - Dst: txp_pkt_init
      Src: /src/openssl/ssl/quic/quic_txp.c:896,1
    - Dst: txp_generate_for_el
      Src: /src/openssl/ssl/quic/quic_txp.c:905,1
    - Dst: txp_pkt_postgen_update_pkt_overhead
      Src: /src/openssl/ssl/quic/quic_txp.c:948,1
    - Dst: txp_pkt_append_padding
      Src: /src/openssl/ssl/quic/quic_txp.c:956,1
    - Dst: ossl_quic_tx_packetiser_check_unvalidated_credit
      Src: /src/openssl/ssl/quic/quic_txp.c:994,1
    - Dst: ossl_quic_tx_packetiser_consume_unvalidated_credit
      Src: /src/openssl/ssl/quic/quic_txp.c:999,1
    - Dst: txp_pkt_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:1001,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_txp.c:1027,1
    - Dst: txp_pkt_cleanup
      Src: /src/openssl/ssl/quic/quic_txp.c:1032,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 75
    argCount: 2
    argNames:
    - txp
    - status
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - QUIC_TXP_STATUS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 1037
    functionName: ossl_quic_tx_packetiser_generate
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tx_packetiser_check_unvalidated_credit
    - memset
    - txp_pkt_cleanup
    - txp_determine_archetype
    - ossl_qtx_finish_dgram
    - txp_generate_for_el
    - txp_pkt_append_padding
    - txp_pkt_postgen_update_pkt_overhead
    - txp_should_try_staging
    - ossl_quic_tx_packetiser_consume_unvalidated_credit
    - OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_tx_allowance
    - txp_pkt_init
    - txp_pkt_commit
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp,\n
      \                                    QUIC_TXP_STATUS *status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - enc_level
    - archetype
    - a
    argTypes:
    - uint32_t
    - uint32_t
    - struct archetype_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1305
    functionName: txp_get_archetype_data
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int txp_get_archetype_data(uint32_t enc_level,\n                                  uint32_t
      archetype,\n                                  struct archetype_data *a)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: txp_get_archetype_data
      Src: /src/openssl/ssl/quic/quic_txp.c:1317,1
    - Dst: ossl_quic_enc_level_to_pkt_type
      Src: /src/openssl/ssl/quic/quic_txp.c:1321,1
    - Dst: txp_determine_pn_len
      Src: /src/openssl/ssl/quic/quic_txp.c:1323,1
    - Dst: ossl_quic_wire_get_encoded_pkt_hdr_len
      Src: /src/openssl/ssl/quic/quic_txp.c:1361,1
    - Dst: txp_get_mdpl
      Src: /src/openssl/ssl/quic/quic_txp.c:1367,1
    - Dst: txp_determine_ppl_from_pl
      Src: /src/openssl/ssl/quic/quic_txp.c:1380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 6
    argNames:
    - txp
    - archetype
    - enc_level
    - running_total
    - phdr
    - geom
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    - uint32_t
    - size_t
    - QUIC_PKT_HDR*
    - struct txp_pkt_geom*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1387
    functionName: txp_determine_geometry
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - txp_determine_pn_len
    - ossl_quic_enc_level_to_pkt_type
    - txp_determine_ppl_from_pl
    - txp_get_archetype_data
    - ossl_quic_wire_get_encoded_pkt_hdr_len
    - txp_get_mdpl
    linkageType: ''
    returnType: int
    signature: "int txp_determine_geometry(OSSL_QUIC_TX_PACKETISER *txp,\n                                  uint32_t
      archetype,\n                                  uint32_t enc_level,\n                                  size_t
      running_total,\n                                  QUIC_PKT_HDR *phdr,\n                                  struct
      txp_pkt_geom *geom)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/ssl/quic/quic_txp.c:1393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - txp
    - cc_limit
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1422
    functionName: txp_determine_archetype
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_ackm_get0_probe_request
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t txp_determine_archetype(OSSL_QUIC_TX_PACKETISER *txp,\n                                        uint64_t
      cc_limit)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:1431,1
    - Dst: ossl_qtx_is_enc_level_provisioned
      Src: /src/openssl/ssl/quic/quic_txp.c:1434,1
    - Dst: txp_get_archetype_data
      Src: /src/openssl/ssl/quic/quic_txp.c:1437,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/ssl/quic/quic_txp.c:1481,1
    - Dst: sstream_is_pending
      Src: /src/openssl/ssl/quic/quic_txp.c:1492,1
    - Dst: ossl_ackm_is_ack_desired
      Src: /src/openssl/ssl/quic/quic_txp.c:1496,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:1507,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:1513,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:1516,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/ssl/quic/quic_txp.c:1537,1
    - Dst: ossl_quic_cfq_item_get_priority_next
      Src: /src/openssl/ssl/quic/quic_txp.c:1539,1
    - Dst: ossl_quic_cfq_item_get_frame_type
      Src: /src/openssl/ssl/quic/quic_txp.c:1540,1
    - Dst: ossl_quic_stream_iter_init
      Src: /src/openssl/ssl/quic/quic_txp.c:1578,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 58
    argCount: 5
    argNames:
    - txp
    - enc_level
    - archetype
    - cc_limit
    - conn_close_enc_level
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    - uint32_t
    - uint64_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1584
    functionName: txp_should_try_staging
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_quic_cfq_get_priority_head
    - ossl_ackm_is_ack_desired
    - ossl_quic_cfq_item_get_priority_next
    - ossl_ackm_get0_probe_request
    - txp_get_archetype_data
    - ossl_qtx_is_enc_level_provisioned
    - ossl_quic_cfq_item_get_frame_type
    - ossl_quic_stream_iter_init
    - sstream_is_pending
    linkageType: ''
    returnType: int
    signature: "int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,\n                                  uint32_t
      enc_level,\n                                  uint32_t archetype,\n                                  uint64_t
      cc_limit,\n                                  uint32_t *conn_close_enc_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_txp.c:1590,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/ssl/quic/quic_txp.c:1592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sstream
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1593
    functionName: sstream_is_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_sstream_get_stream_frame
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int sstream_is_pending(QUIC_SSTREAM *sstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1599
    functionName: txp_determine_pn_len
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t txp_determine_pn_len(OSSL_QUIC_TX_PACKETISER *txp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_calculate_plaintext_payload_len
      Src: /src/openssl/ssl/quic/quic_txp.c:1613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - txp
    - pl
    - enc_level
    - hdr_len
    - r
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - size_t
    - uint32_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1619
    functionName: txp_determine_ppl_from_pl
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_qtx_calculate_plaintext_payload_len
    linkageType: ''
    returnType: int
    signature: "int txp_determine_ppl_from_pl(OSSL_QUIC_TX_PACKETISER *txp,\n                                     size_t
      pl,\n                                     uint32_t enc_level,\n                                     size_t
      hdr_len,\n                                     size_t *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_get_mdpl
      Src: /src/openssl/ssl/quic/quic_txp.c:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: txp_get_mdpl
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 2
    functionsReached:
    - ossl_qtx_get_mdpl
    linkageType: ''
    returnType: size_t
    signature: size_t txp_get_mdpl(OSSL_QUIC_TX_PACKETISER *txp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - stream_id
    - pn_space
    - arg
    argTypes:
    - uint64_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1640
    functionName: get_sstream_by_id
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 3
    functionsReached:
    - ossl_quic_stream_map_get_by_id
    linkageType: ''
    returnType: QUIC_SSTREAM
    signature: "QUIC_SSTREAM *get_sstream_by_id(uint64_t stream_id, uint32_t pn_space,\n
      \                                      void *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1666,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1672,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1678,1
    - Dst: ossl_quic_stream_map_schedule_stop_sending
      Src: /src/openssl/ssl/quic/quic_txp.c:1683,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1689,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1695,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_txp.c:1699,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - frame_type
    - stream_id
    - pkt
    - arg
    argTypes:
    - uint64_t
    - uint64_t
    - QUIC_TXPIM_PKT*
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1698
        line_start: 1698
        source_file: /src/openssl/ssl/quic/quic_txp.c
    constantsTouched: []
    func_position:
      end: 1702
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1702
    functionName: on_regen_notify
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_map_schedule_stop_sending
    - ossl_quic_stream_map_get_by_id
    - assert
    linkageType: ''
    returnType: void
    signature: "void on_regen_notify(uint64_t frame_type, uint64_t stream_id,\n                            QUIC_TXPIM_PKT
      *pkt, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - txp
    - pn_space
    - adata
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    - struct archetype_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1711
    functionName: txp_need_ping
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int txp_need_ping(OSSL_QUIC_TX_PACKETISER *txp,\n                         uint32_t
      pn_space,\n                         const struct archetype_data *adata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:1717,1
    - Dst: txp_determine_geometry
      Src: /src/openssl/ssl/quic/quic_txp.c:1719,1
    - Dst: tx_helper_init
      Src: /src/openssl/ssl/quic/quic_txp.c:1727,1
    - Dst: txp_need_ping
      Src: /src/openssl/ssl/quic/quic_txp.c:1729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - pkt
    - txp
    - enc_level
    - archetype
    - running_total
    argTypes:
    - struct txp_pkt*
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1713
    functionDepth: 2
    functionLinenumber: 1713
    functionLinenumberEnd: 1737
    functionName: txp_pkt_init
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - txp_determine_geometry
    - ossl_quic_enc_level_to_pn_space
    - txp_need_ping
    - tx_helper_init
    linkageType: ''
    returnType: int
    signature: "int txp_pkt_init(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp,\n
      \                       uint32_t enc_level, uint32_t archetype,\n                        size_t
      running_total)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tx_helper_cleanup
      Src: /src/openssl/ssl/quic/quic_txp.c:1744,1
    - Dst: ossl_quic_txpim_pkt_release
      Src: /src/openssl/ssl/quic/quic_txp.c:1748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - txp
    argTypes:
    - struct txp_pkt*
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1739
    functionDepth: 2
    functionLinenumber: 1739
    functionLinenumberEnd: 1751
    functionName: txp_pkt_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - tx_helper_cleanup
    - ossl_quic_txpim_pkt_release
    linkageType: ''
    returnType: void
    signature: void txp_pkt_cleanup(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_calculate_ciphertext_payload_len
      Src: /src/openssl/ssl/quic/quic_txp.c:1781,1
    - Dst: ossl_quic_wire_get_encoded_pkt_hdr_len
      Src: /src/openssl/ssl/quic/quic_txp.c:1788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pkt
    - txp
    argTypes:
    - struct txp_pkt*
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1793
    functionName: txp_pkt_postgen_update_pkt_overhead
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_wire_get_encoded_pkt_hdr_len
    - ossl_qtx_calculate_ciphertext_payload_len
    linkageType: ''
    returnType: int
    signature: "int txp_pkt_postgen_update_pkt_overhead(struct txp_pkt *pkt,\n                                               OSSL_QUIC_TX_PACKETISER
      *txp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1804,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1810,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1816,1
    - Dst: ossl_quic_stream_map_notify_reset_stream_acked
      Src: /src/openssl/ssl/quic/quic_txp.c:1825,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1826,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_txp.c:1830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - frame_type
    - stream_id
    - pkt
    - arg
    argTypes:
    - uint64_t
    - uint64_t
    - QUIC_TXPIM_PKT*
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1829
        line_start: 1829
        source_file: /src/openssl/ssl/quic/quic_txp.c
    constantsTouched: []
    func_position:
      end: 1833
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1833
    functionName: on_confirm_notify
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_map_get_by_id
    - assert
    - ossl_quic_stream_map_notify_reset_stream_acked
    linkageType: ''
    returnType: void
    signature: "void on_confirm_notify(uint64_t frame_type, uint64_t stream_id,\n
      \                             QUIC_TXPIM_PKT *pkt, void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:1843,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:1846,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:1849,1
    - Dst: ossl_quic_wire_encode_padding
      Src: /src/openssl/ssl/quic/quic_txp.c:1853,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:1854,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:1858,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pkt
    - txp
    - num_bytes
    argTypes:
    - struct txp_pkt*
    - OSSL_QUIC_TX_PACKETISER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1835
    functionDepth: 6
    functionLinenumber: 1835
    functionLinenumberEnd: 1865
    functionName: txp_pkt_append_padding
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ossl_quic_wire_encode_padding
    - tx_helper_rollback
    - tx_helper_begin
    - tx_helper_commit
    linkageType: ''
    returnType: int
    signature: "int txp_pkt_append_padding(struct txp_pkt *pkt,\n                                  OSSL_QUIC_TX_PACKETISER
      *txp, size_t num_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_txp.c:1872,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:1876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stream_id
    - arg
    argTypes:
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1877
    functionName: on_sstream_updated
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_map_get_by_id
    linkageType: ''
    returnType: void
    signature: void on_sstream_updated(uint64_t stream_id, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - txp
    - n
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1912
    functionName: try_commit_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int try_commit_conn_close(OSSL_QUIC_TX_PACKETISER *txp, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txp
    - n
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1918
    functionName: ossl_quic_tx_packetiser_record_received_closing_bytes
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_record_received_closing_bytes(\n        OSSL_QUIC_TX_PACKETISER
      *txp, size_t n)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:1926,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:1937,1
    - Dst: ossl_ackm_is_ack_desired
      Src: /src/openssl/ssl/quic/quic_txp.c:1939,1
    - Dst: ossl_ackm_get_ack_frame
      Src: /src/openssl/ssl/quic/quic_txp.c:1940,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:1941,1
    - Dst: ossl_quic_wire_encode_frame_ack
      Src: /src/openssl/ssl/quic/quic_txp.c:1950,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:1953,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::ack_tx_cb
      Src: /src/openssl/ssl/quic/quic_txp.c:1962,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:1964,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:1970,1
    - Dst: ossl_quic_wire_encode_frame_conn_close
      Src: /src/openssl/ssl/quic/quic_txp.c:2002,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_txp.c:2003,1
    - Dst: try_commit_conn_close
      Src: /src/openssl/ssl/quic/quic_txp.c:2004,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2005,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2011,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 4
    argNames:
    - txp
    - pkt
    - chosen_for_conn_close
    - can_be_non_inflight
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - struct txp_pkt*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1920
    functionDepth: 6
    functionLinenumber: 1920
    functionLinenumberEnd: 2016
    functionName: txp_generate_pre_token
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - ossl_ackm_is_ack_desired
    - ossl_ackm_get_ack_frame
    - tx_helper_rollback
    - OSSL_QUIC_TX_PACKETISER*::ack_tx_cb
    - WPACKET_get_total_written
    - tx_helper_begin
    - ossl_quic_wire_encode_frame_ack
    - ossl_quic_wire_encode_frame_conn_close
    - tx_helper_get_space_left
    - try_commit_conn_close
    - tx_helper_commit
    linkageType: ''
    returnType: int
    signature: "int txp_generate_pre_token(OSSL_QUIC_TX_PACKETISER *txp,\n                                  struct
      txp_pkt *pkt,\n                                  int chosen_for_conn_close,\n
      \                                 int *can_be_non_inflight)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - space_left
    - orig_len
    - base_hdr_len
    - lenbytes
    - maxn
    - hdr_len
    - payload_len
    argTypes:
    - size_t
    - size_t
    - size_t
    - size_t
    - uint64_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2040
    functionName: try_len
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int try_len(size_t space_left, size_t orig_len,\n                   size_t
      base_hdr_len, size_t lenbytes,\n                   uint64_t maxn, size_t *hdr_len,
      size_t *payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: try_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2052,1
    - Dst: try_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2055,1
    - Dst: try_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2058,1
    - Dst: try_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2061,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_txp.c:2065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - space_left
    - orig_len
    - base_hdr_len
    - hlen
    - len
    argTypes:
    - size_t
    - size_t
    - size_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2042
    functionDepth: 1
    functionLinenumber: 2042
    functionLinenumberEnd: 2075
    functionName: determine_len
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - try_len
    linkageType: ''
    returnType: int
    signature: "int determine_len(size_t space_left, size_t orig_len,\n                         size_t
      base_hdr_len,\n                         uint64_t *hlen, uint64_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_get_encoded_frame_len_crypto_hdr
      Src: /src/openssl/ssl/quic/quic_txp.c:2100,1
    - Dst: determine_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - h
    - chdr
    - space_left
    - hlen
    - len
    argTypes:
    - struct tx_helper*
    - OSSL_QUIC_FRAME_CRYPTO*
    - size_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2085
    functionDepth: 2
    functionLinenumber: 2085
    functionLinenumberEnd: 2108
    functionName: determine_crypto_len
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_get_encoded_frame_len_crypto_hdr
    - determine_len
    linkageType: ''
    returnType: int
    signature: "int determine_crypto_len(struct tx_helper *h,\n                                OSSL_QUIC_FRAME_CRYPTO
      *chdr,\n                                size_t space_left,\n                                uint64_t
      *hlen,\n                                uint64_t *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_get_encoded_frame_len_stream_hdr
      Src: /src/openssl/ssl/quic/quic_txp.c:2125,1
    - Dst: determine_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - h
    - shdr
    - space_left
    - hlen
    - len
    argTypes:
    - struct tx_helper*
    - OSSL_QUIC_FRAME_STREAM*
    - size_t
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2110
    functionDepth: 2
    functionLinenumber: 2110
    functionLinenumberEnd: 2134
    functionName: determine_stream_len
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_get_encoded_frame_len_stream_hdr
    - determine_len
    linkageType: ''
    returnType: int
    signature: "int determine_stream_len(struct tx_helper *h,\n                                OSSL_QUIC_FRAME_STREAM
      *shdr,\n                                size_t space_left,\n                                uint64_t
      *hlen,\n                                uint64_t *len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:2141,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2154,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_txp.c:2160,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/ssl/quic/quic_txp.c:2161,1
    - Dst: determine_crypto_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2174,1
    - Dst: ossl_quic_sstream_adjust_iov
      Src: /src/openssl/ssl/quic/quic_txp.c:2184,1
    - Dst: txp_el_ensure_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2190,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2194,1
    - Dst: ossl_quic_wire_encode_frame_crypto_hdr
      Src: /src/openssl/ssl/quic/quic_txp.c:2198,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2199,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2203,1
    - Dst: tx_helper_append_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2208,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2211,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:2218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - txp
    - pkt
    - have_ack_eliciting
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - struct txp_pkt*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2136
    functionDepth: 6
    functionLinenumber: 2136
    functionLinenumberEnd: 2221
    functionName: txp_generate_crypto_frames
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_get_stream_frame
    - ossl_quic_enc_level_to_pn_space
    - determine_crypto_len
    - ossl_quic_txpim_pkt_append_chunk
    - txp_el_ensure_iovec
    - tx_helper_append_iovec
    - ossl_quic_sstream_adjust_iov
    - tx_helper_rollback
    - OSSL_NELEM
    - tx_helper_begin
    - tx_helper_unrestrict
    - tx_helper_get_space_left
    - ossl_quic_wire_encode_frame_crypto_hdr
    - tx_helper_commit
    linkageType: ''
    returnType: int
    signature: "int txp_generate_crypto_frames(OSSL_QUIC_TX_PACKETISER *txp,\n                                      struct
      txp_pkt *pkt,\n                                      int *have_ack_eliciting)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_txp.c:2241,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/ssl/quic/quic_txp.c:2242,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2249,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/ssl/quic/quic_txp.c:2256,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_txp.c:2257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 7
    argNames:
    - txp
    - h
    - sstream
    - stream_txfc
    - skip
    - chunk
    - consumed
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - struct tx_helper*
    - QUIC_SSTREAM*
    - QUIC_TXFC*
    - size_t
    - struct chunk_info*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2231
    functionDepth: 1
    functionLinenumber: 2231
    functionLinenumberEnd: 2277
    functionName: txp_plan_stream_chunk
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_get_stream_frame
    - ossl_assert
    - ossl_quic_txfc_get_swm
    - ossl_quic_txfc_get_credit
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: "int txp_plan_stream_chunk(OSSL_QUIC_TX_PACKETISER *txp,\n                                 struct
      tx_helper *h,\n                                 QUIC_SSTREAM *sstream,\n                                 QUIC_TXFC
      *stream_txfc,\n                                 size_t skip,\n                                 struct
      chunk_info *chunk,\n                                 uint64_t consumed)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_txp.c:2311,1
    - Dst: txp_plan_stream_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:2321,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2334,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2348,1
    - Dst: txp_plan_stream_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:2360,1
    - Dst: determine_stream_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2370,1
    - Dst: determine_stream_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2403,1
    - Dst: ossl_quic_sstream_adjust_iov
      Src: /src/openssl/ssl/quic/quic_txp.c:2429,1
    - Dst: txp_el_ensure_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2436,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2440,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2444,1
    - Dst: ossl_quic_wire_encode_frame_stream_hdr
      Src: /src/openssl/ssl/quic/quic_txp.c:2444,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2446,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2452,1
    - Dst: tx_helper_append_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2457,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2461,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:2476,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 111
    argCount: 10
    argNames:
    - txp
    - pkt
    - id
    - sstream
    - stream_txfc
    - next_stream
    - have_ack_eliciting
    - packet_full
    - new_credit_consumed
    - conn_consumed
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - struct txp_pkt*
    - uint64_t
    - QUIC_SSTREAM*
    - QUIC_TXFC*
    - QUIC_STREAM*
    - int*
    - int*
    - uint64_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2284
    functionDepth: 6
    functionLinenumber: 2284
    functionLinenumberEnd: 2492
    functionName: txp_generate_stream_frames
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txpim_pkt_append_chunk
    - txp_plan_stream_chunk
    - ossl_assert
    - ossl_quic_txfc_get_swm
    - txp_el_ensure_iovec
    - tx_helper_append_iovec
    - determine_stream_len
    - ossl_quic_sstream_adjust_iov
    - ossl_quic_wire_encode_frame_stream_hdr
    - tx_helper_rollback
    - tx_helper_unrestrict
    - tx_helper_begin
    - tx_helper_get_space_left
    - tx_helper_commit
    linkageType: ''
    returnType: int
    signature: "int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp,\n                                      struct
      txp_pkt *pkt,\n                                      uint64_t id,\n                                      QUIC_SSTREAM
      *sstream,\n                                      QUIC_TXFC *stream_txfc,\n                                      QUIC_STREAM
      *next_stream,\n                                      int *have_ack_eliciting,\n
      \                                     int *packet_full,\n                                      uint64_t
      *new_credit_consumed,\n                                      uint64_t conn_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tmp_head
    - stream
    argTypes:
    - QUIC_STREAM**
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2498
    functionName: txp_enlink_tmp
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void txp_enlink_tmp(QUIC_STREAM **tmp_head, QUIC_STREAM *stream)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_iter_init
      Src: /src/openssl/ssl/quic/quic_txp.c:2512,1
    - Dst: ossl_quic_stream_iter_next
      Src: /src/openssl/ssl/quic/quic_txp.c:2516,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2529,1
    - Dst: ossl_quic_wire_encode_frame_stop_sending
      Src: /src/openssl/ssl/quic/quic_txp.c:2535,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2536,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2537,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2541,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2545,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2552,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2555,1
    - Dst: ossl_quic_stream_send_get_final_size
      Src: /src/openssl/ssl/quic/quic_txp.c:2561,1
    - Dst: ossl_quic_wire_encode_frame_reset_stream
      Src: /src/openssl/ssl/quic/quic_txp.c:2564,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2565,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2566,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2570,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2574,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2583,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_txp.c:2583,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_txp.c:2587,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:2600,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2602,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_txp.c:2606,1
    - Dst: ossl_quic_wire_encode_frame_max_stream_data
      Src: /src/openssl/ssl/quic/quic_txp.c:2608,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2610,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2611,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2615,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2619,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_txp.c:2633,1
    - Dst: ossl_quic_stream_send_is_reset
      Src: /src/openssl/ssl/quic/quic_txp.c:2634,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2637,1
    - Dst: txp_generate_stream_frames
      Src: /src/openssl/ssl/quic/quic_txp.c:2640,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2649,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2655,1
    - Dst: txp_enlink_tmp
      Src: /src/openssl/ssl/quic/quic_txp.c:2660,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 4
    argNames:
    - txp
    - pkt
    - have_ack_eliciting
    - tmp_head
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - struct txp_pkt*
    - int*
    - QUIC_STREAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2664
      start: 2500
    functionDepth: 7
    functionLinenumber: 2500
    functionLinenumberEnd: 2664
    functionName: txp_generate_stream_related
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_quic_rxfc_get_cwm
    - ossl_quic_stream_iter_next
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_stream_send_get_final_size
    - ossl_quic_txfc_get_swm
    - tx_helper_rollback
    - ossl_quic_wire_encode_frame_stop_sending
    - tx_helper_begin
    - tx_helper_unrestrict
    - ossl_quic_wire_encode_frame_reset_stream
    - txp_generate_stream_frames
    - ossl_quic_stream_iter_init
    - ossl_quic_stream_send_is_reset
    - tx_helper_commit
    - txp_enlink_tmp
    - ossl_quic_wire_encode_frame_max_stream_data
    linkageType: ''
    returnType: int
    signature: "int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp,\n                                       struct
      txp_pkt *pkt,\n                                       int *have_ack_eliciting,\n
      \                                      QUIC_STREAM **tmp_head)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:2672,1
    - Dst: ossl_quic_pn_valid
      Src: /src/openssl/ssl/quic/quic_txp.c:2689,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2692,1
    - Dst: ossl_quic_txpim_pkt_alloc
      Src: /src/openssl/ssl/quic/quic_txp.c:2695,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2707,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2708,1
    - Dst: ossl_quic_wire_encode_frame_handshake_done
      Src: /src/openssl/ssl/quic/quic_txp.c:2713,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2717,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2720,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2722,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:2729,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2730,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2731,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_txp.c:2732,1
    - Dst: ossl_quic_wire_encode_frame_max_data
      Src: /src/openssl/ssl/quic/quic_txp.c:2737,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2741,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2744,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2746,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:2753,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2754,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2755,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_txp.c:2757,1
    - Dst: ossl_quic_wire_encode_frame_max_streams
      Src: /src/openssl/ssl/quic/quic_txp.c:2762,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2767,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2770,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2772,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:2779,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2780,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2781,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_txp.c:2783,1
    - Dst: ossl_quic_wire_encode_frame_max_streams
      Src: /src/openssl/ssl/quic/quic_txp.c:2788,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2793,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2796,1
    - Dst: tx_helper_rollback
      Src: /src/openssl/ssl/quic/quic_txp.c:2798,1
    - Dst: ossl_quic_cfq_get_priority_head
      Src: /src/openssl/ssl/quic/quic_txp.c:2803,1
    - Dst: ossl_quic_cfq_item_get_priority_next
      Src: /src/openssl/ssl/quic/quic_txp.c:2805,1
    - Dst: ossl_quic_cfq_item_get_frame_type
      Src: /src/openssl/ssl/quic/quic_txp.c:2806,1
    - Dst: ossl_quic_cfq_item_get_encoded
      Src: /src/openssl/ssl/quic/quic_txp.c:2807,1
    - Dst: ossl_quic_cfq_item_get_encoded_len
      Src: /src/openssl/ssl/quic/quic_txp.c:2808,1
    - Dst: txp_generate_pre_token
      Src: /src/openssl/ssl/quic/quic_txp.c:2831,1
    - Dst: tx_helper_get_space_left
      Src: /src/openssl/ssl/quic/quic_txp.c:2858,1
    - Dst: tx_helper_append_iovec
      Src: /src/openssl/ssl/quic/quic_txp.c:2861,1
    - Dst: ossl_quic_txpim_pkt_add_cfq_item
      Src: /src/openssl/ssl/quic/quic_txp.c:2864,1
    - Dst: ossl_quic_frame_type_is_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_txp.c:2866,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2868,1
    - Dst: txp_generate_pre_token
      Src: /src/openssl/ssl/quic/quic_txp.c:2877,1
    - Dst: txp_generate_crypto_frames
      Src: /src/openssl/ssl/quic/quic_txp.c:2884,1
    - Dst: txp_generate_stream_related
      Src: /src/openssl/ssl/quic/quic_txp.c:2889,1
    - Dst: tx_helper_unrestrict
      Src: /src/openssl/ssl/quic/quic_txp.c:2895,1
    - Dst: txp_need_ping
      Src: /src/openssl/ssl/quic/quic_txp.c:2897,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_txp.c:2900,1
    - Dst: tx_helper_begin
      Src: /src/openssl/ssl/quic/quic_txp.c:2901,1
    - Dst: ossl_quic_wire_encode_frame_ping
      Src: /src/openssl/ssl/quic/quic_txp.c:2905,1
    - Dst: tx_helper_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:2906,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::args::now
      Src: /src/openssl/ssl/quic/quic_txp.c:2934,1
    - Dst: ossl_quic_txpim_pkt_release
      Src: /src/openssl/ssl/quic/quic_txp.c:2947,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 150
    argCount: 3
    argNames:
    - txp
    - pkt
    - chosen_for_conn_close
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - struct txp_pkt*
    - int
    assertStmts:
    - condition: (h->reserve > 0)
      pos:
        line_end: 2899
        line_start: 2899
        source_file: /src/openssl/ssl/quic/quic_txp.c
    constantsTouched: []
    func_position:
      end: 2951
      start: 2666
    functionDepth: 8
    functionLinenumber: 2666
    functionLinenumberEnd: 2951
    functionName: txp_generate_for_el
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_quic_rxfc_get_cwm
    - ossl_quic_txpim_pkt_release
    - tx_helper_append_iovec
    - ossl_quic_txpim_pkt_add_cfq_item
    - OSSL_QUIC_TX_PACKETISER*::args::now
    - tx_helper_unrestrict
    - tx_helper_begin
    - ossl_quic_wire_encode_frame_ping
    - assert
    - ossl_assert
    - ossl_quic_cfq_get_priority_head
    - ossl_quic_cfq_item_get_encoded_len
    - ossl_quic_wire_encode_frame_max_data
    - ossl_quic_wire_encode_frame_handshake_done
    - ossl_quic_cfq_item_get_frame_type
    - ossl_quic_wire_encode_frame_max_streams
    - tx_helper_get_space_left
    - tx_helper_commit
    - ossl_quic_enc_level_to_pn_space
    - ossl_quic_frame_type_is_ack_eliciting
    - txp_generate_pre_token
    - txp_generate_stream_related
    - ossl_quic_cfq_item_get_priority_next
    - tx_helper_rollback
    - ossl_quic_txpim_pkt_alloc
    - ossl_quic_pn_valid
    - ossl_quic_cfq_item_get_encoded
    - txp_need_ping
    - txp_generate_crypto_frames
    linkageType: ''
    returnType: int
    signature: "int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,\n                               struct
      txp_pkt *pkt,\n                               int chosen_for_conn_close)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:2991,1
    - Dst: txp_get_archetype_data
      Src: /src/openssl/ssl/quic/quic_txp.c:3003,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_txp.c:3011,1
    - Dst: ossl_quic_txpim_pkt_append_chunk
      Src: /src/openssl/ssl/quic/quic_txp.c:3028,1
    - Dst: ossl_quic_fifd_pkt_commit
      Src: /src/openssl/ssl/quic/quic_txp.c:3033,1
    - Dst: ossl_qtx_write_pkt
      Src: /src/openssl/ssl/quic/quic_txp.c:3051,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:3061,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_txp.c:3071,1
    - Dst: ossl_quic_txfc_consume_credit
      Src: /src/openssl/ssl/quic/quic_txp.c:3071,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_txp.c:3089,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_txp.c:3091,1
    - Dst: ossl_quic_sstream_has_pending
      Src: /src/openssl/ssl/quic/quic_txp.c:3092,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_txp.c:3093,1
    - Dst: ossl_quic_stream_map_notify_all_data_sent
      Src: /src/openssl/ssl/quic/quic_txp.c:3098,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:3110,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:3115,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_txp.c:3120,1
    - Dst: ossl_ackm_get0_probe_request
      Src: /src/openssl/ssl/quic/quic_txp.c:3135,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 77
    argCount: 4
    argNames:
    - txp
    - pkt
    - archetype
    - txpim_pkt_reffed
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - struct txp_pkt*
    - uint32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 2984
    functionDepth: 2
    functionLinenumber: 2984
    functionLinenumberEnd: 3151
    functionName: txp_pkt_commit
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - ossl_quic_txpim_pkt_append_chunk
    - ossl_quic_enc_level_to_pn_space
    - BIO_ADDR_family
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_assert
    - ossl_qtx_write_pkt
    - ossl_quic_txfc_consume_credit
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_sstream_has_pending
    - ossl_quic_fifd_pkt_commit
    - ossl_ackm_get0_probe_request
    - txp_get_archetype_data
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_map_notify_all_data_sent
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: int
    signature: "int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp,\n                          struct
      txp_pkt *pkt,\n                          uint32_t archetype,\n                          int
      *txpim_pkt_reffed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/quic/quic_txp.c:3163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - el
    - num
    argTypes:
    - struct txp_el*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 3154
    functionDepth: 0
    functionLinenumber: 3154
    functionLinenumberEnd: 3170
    functionName: txp_el_ensure_iovec
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 3
    functionsReached:
    - OPENSSL_realloc_array
    linkageType: ''
    returnType: int
    signature: int txp_el_ensure_iovec(struct txp_el *el, size_t num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: txp_get_mdpl
      Src: /src/openssl/ssl/quic/quic_txp.c:3177,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/quic/quic_txp.c:3190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - txp
    - f
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - OSSL_QUIC_FRAME_CONN_CLOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 3172
    functionDepth: 2
    functionLinenumber: 3172
    functionLinenumberEnd: 3200
    functionName: ossl_quic_tx_packetiser_schedule_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 1
    functionsReached:
    - txp_get_mdpl
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tx_packetiser_schedule_conn_close(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                                const OSSL_QUIC_FRAME_CONN_CLOSE
      *f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - txp
    - msg_callback
    - msg_callback_ssl
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - ossl_msg_cb
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3202
    functionDepth: 0
    functionLinenumber: 3202
    functionLinenumberEnd: 3208
    functionName: ossl_quic_tx_packetiser_set_msg_callback
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_set_msg_callback(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                              ossl_msg_cb msg_callback,\n
      \                                             SSL *msg_callback_ssl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - txp
    - msg_callback_arg
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3210
    functionDepth: 0
    functionLinenumber: 3210
    functionLinenumberEnd: 3214
    functionName: ossl_quic_tx_packetiser_set_msg_callback_arg
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tx_packetiser_set_msg_callback_arg(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                                  void *msg_callback_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - txp
    - pn_space
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3223
    functionName: ossl_quic_tx_packetiser_get_next_pn
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_PN
    signature: "QUIC_PN ossl_quic_tx_packetiser_get_next_pn(OSSL_QUIC_TX_PACKETISER
      *txp,\n                                            uint32_t pn_space)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_txp.c:3232,1
    - Dst: ossl_qtx_is_enc_level_provisioned
      Src: /src/openssl/ssl/quic/quic_txp.c:3244,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_txp.c:3245,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_txp.c:3246,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/ssl/quic/quic_txp.c:3247,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_tx_allowance
      Src: /src/openssl/ssl/quic/quic_txp.c:3251,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_txp.c:3252,1
    - Dst: OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_wakeup_deadline
      Src: /src/openssl/ssl/quic/quic_txp.c:3253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - txp
    argTypes:
    - OSSL_QUIC_TX_PACKETISER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3225
    functionDepth: 2
    functionLinenumber: 3225
    functionLinenumberEnd: 3256
    functionName: ossl_quic_tx_packetiser_get_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_txp.c
    functionUses: 0
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - ossl_time_min
    - ossl_time_infinite
    - ossl_qtx_is_enc_level_provisioned
    - OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_wakeup_deadline
    - OSSL_QUIC_TX_PACKETISER*::args::cc_method::get_tx_allowance
    - ossl_ackm_get_ack_deadline
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_quic_tx_packetiser_get_deadline(OSSL_QUIC_TX_PACKETISER
      *txp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_rstream.c:27,1
    - Dst: ring_buf_init
      Src: /src/openssl/ssl/quic/quic_rstream.c:32,1
    - Dst: ring_buf_resize
      Src: /src/openssl/ssl/quic/quic_rstream.c:33,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rstream.c:34,1
    - Dst: ossl_sframe_list_init
      Src: /src/openssl/ssl/quic/quic_rstream.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - rxfc
    - statm
    - rbuf_size
    argTypes:
    - QUIC_RXFC*
    - OSSL_STATM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: ossl_quic_rstream_new
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    - ring_buf_resize
    - ring_buf_init
    - OPENSSL_free
    - ossl_sframe_list_init
    linkageType: ''
    returnType: QUIC_RSTREAM
    signature: "QUIC_RSTREAM *ossl_quic_rstream_new(QUIC_RXFC *rxfc,\n                                    OSSL_STATM
      *statm, size_t rbuf_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sframe_list_destroy
      Src: /src/openssl/ssl/quic/quic_rstream.c:52,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/ssl/quic/quic_rstream.c:53,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rstream.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - qrs
    argTypes:
    - QUIC_RSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: ossl_quic_rstream_free
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 2
    functionsReached:
    - ring_buf_destroy
    - OPENSSL_free
    - ossl_sframe_list_destroy
    linkageType: ''
    returnType: void
    signature: void ossl_quic_rstream_free(QUIC_RSTREAM *qrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_rstream.c:66,1
    - Dst: ossl_sframe_list_insert
      Src: /src/openssl/ssl/quic/quic_rstream.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - qrs
    - pkt
    - offset
    - data
    - data_len
    - fin
    argTypes:
    - QUIC_RSTREAM*
    - OSSL_QRX_PKT*
    - uint64_t
    - unsigned char*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: ossl_quic_rstream_queue_data
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 2
    functionsReached:
    - ossl_sframe_list_insert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rstream_queue_data(QUIC_RSTREAM *qrs, OSSL_QRX_PKT *pkt,\n
      \                                uint64_t offset,\n                                 const
      unsigned char *data, uint64_t data_len,\n                                 int
      fin)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sframe_list_peek
      Src: /src/openssl/ssl/quic/quic_rstream.c:86,1
    - Dst: ring_buf_get_ptr
      Src: /src/openssl/ssl/quic/quic_rstream.c:100,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_rstream.c:101,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_rstream.c:104,1
    - Dst: ring_buf_get_ptr
      Src: /src/openssl/ssl/quic/quic_rstream.c:109,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_rstream.c:111,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_rstream.c:111,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_rstream.c:116,1
    - Dst: ossl_sframe_list_drop_frames
      Src: /src/openssl/ssl/quic/quic_rstream.c:125,1
    - Dst: ring_buf_cpop_range
      Src: /src/openssl/ssl/quic/quic_rstream.c:126,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 6
    argNames:
    - qrs
    - buf
    - size
    - readbytes
    - fin
    - drop
    argTypes:
    - QUIC_RSTREAM*
    - unsigned char*
    - size_t
    - size_t*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 135
    functionName: read_internal
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 5
    functionsReached:
    - ossl_assert
    - memcpy
    - ring_buf_get_ptr
    - ossl_sframe_list_drop_frames
    - ring_buf_cpop_range
    - ossl_sframe_list_peek
    linkageType: ''
    returnType: int
    signature: "int read_internal(QUIC_RSTREAM *qrs, unsigned char *buf, size_t size,\n
      \                        size_t *readbytes, int *fin, int drop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_rstream.c:144,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_rstream.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - qrs
    argTypes:
    - QUIC_RSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: get_rtt
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 0
    functionsReached:
    - ossl_time_zero
    - ossl_statm_get_rtt_info
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME get_rtt(QUIC_RSTREAM *qrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_rtt
      Src: /src/openssl/ssl/quic/quic_rstream.c:155,1
    - Dst: read_internal
      Src: /src/openssl/ssl/quic/quic_rstream.c:157,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_rstream.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - qrs
    - buf
    - size
    - readbytes
    - fin
    argTypes:
    - QUIC_RSTREAM*
    - unsigned char*
    - size_t
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: ossl_quic_rstream_read
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 2
    functionsReached:
    - get_rtt
    - read_internal
    - ossl_quic_rxfc_on_retire
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rstream_read(QUIC_RSTREAM *qrs, unsigned char *buf,
      size_t size,\n                           size_t *readbytes, int *fin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_internal
      Src: /src/openssl/ssl/quic/quic_rstream.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - qrs
    - buf
    - size
    - readbytes
    - fin
    argTypes:
    - QUIC_RSTREAM*
    - unsigned char*
    - size_t
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: ossl_quic_rstream_peek
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 2
    functionsReached:
    - read_internal
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rstream_peek(QUIC_RSTREAM *qrs, unsigned char *buf,
      size_t size,\n                           size_t *readbytes, int *fin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sframe_list_peek
      Src: /src/openssl/ssl/quic/quic_rstream.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qrs
    - avail
    - fin
    argTypes:
    - QUIC_RSTREAM*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: ossl_quic_rstream_available
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 3
    functionsReached:
    - ossl_sframe_list_peek
    linkageType: ''
    returnType: int
    signature: int ossl_quic_rstream_available(QUIC_RSTREAM *qrs, size_t *avail, int
      *fin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sframe_list_lock_head
      Src: /src/openssl/ssl/quic/quic_rstream.c:198,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_rstream.c:207,1
    - Dst: ossl_sframe_list_drop_frames
      Src: /src/openssl/ssl/quic/quic_rstream.c:209,1
    - Dst: ring_buf_get_ptr
      Src: /src/openssl/ssl/quic/quic_rstream.c:216,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_rstream.c:218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - qrs
    - record
    - rec_len
    - fin
    argTypes:
    - QUIC_RSTREAM*
    - unsigned char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 229
    functionName: ossl_quic_rstream_get_record
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 1
    functionsReached:
    - ring_buf_get_ptr
    - ossl_assert
    - ossl_sframe_list_drop_frames
    - ossl_sframe_list_lock_head
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rstream_get_record(QUIC_RSTREAM *qrs,\n                                 const
      unsigned char **record, size_t *rec_len,\n                                 int
      *fin)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sframe_list_is_head_locked
      Src: /src/openssl/ssl/quic/quic_rstream.c:236,1
    - Dst: ossl_sframe_list_drop_frames
      Src: /src/openssl/ssl/quic/quic_rstream.c:247,1
    - Dst: ring_buf_cpop_range
      Src: /src/openssl/ssl/quic/quic_rstream.c:251,1
    - Dst: get_rtt
      Src: /src/openssl/ssl/quic/quic_rstream.c:254,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_rstream.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - qrs
    - read_len
    argTypes:
    - QUIC_RSTREAM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 261
    functionName: ossl_quic_rstream_release_record
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 1
    functionsReached:
    - ossl_sframe_list_is_head_locked
    - ossl_quic_rxfc_on_retire
    - ossl_sframe_list_drop_frames
    - ring_buf_cpop_range
    - get_rtt
    linkageType: ''
    returnType: int
    signature: int ossl_quic_rstream_release_record(QUIC_RSTREAM *qrs, size_t read_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_write_at
      Src: /src/openssl/ssl/quic/quic_rstream.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - logical_offset
    - buf
    - buf_len
    - cb_arg
    argTypes:
    - uint64_t
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: write_at_ring_buf_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 0
    functionsReached:
    - ring_buf_write_at
    linkageType: ''
    returnType: int
    signature: "int write_at_ring_buf_cb(uint64_t logical_offset,\n                                const
      unsigned char *buf,\n                                size_t buf_len,\n                                void
      *cb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_avail
      Src: /src/openssl/ssl/quic/quic_rstream.c:275,1
    - Dst: ossl_sframe_list_move_data
      Src: /src/openssl/ssl/quic/quic_rstream.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qrs
    argTypes:
    - QUIC_RSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: ossl_quic_rstream_move_to_rbuf
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 2
    functionsReached:
    - ossl_sframe_list_move_data
    - ring_buf_avail
    linkageType: ''
    returnType: int
    signature: int ossl_quic_rstream_move_to_rbuf(QUIC_RSTREAM *qrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sframe_list_is_head_locked
      Src: /src/openssl/ssl/quic/quic_rstream.c:283,1
    - Dst: ring_buf_resize
      Src: /src/openssl/ssl/quic/quic_rstream.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - qrs
    - rbuf_size
    argTypes:
    - QUIC_RSTREAM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: ossl_quic_rstream_resize_rbuf
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 2
    functionsReached:
    - ossl_sframe_list_is_head_locked
    - ring_buf_resize
    linkageType: ''
    returnType: int
    signature: int ossl_quic_rstream_resize_rbuf(QUIC_RSTREAM *qrs, size_t rbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qrs
    - cleanse
    argTypes:
    - QUIC_RSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: ossl_quic_rstream_set_cleanse
    functionSourceFile: /src/openssl/ssl/quic/quic_rstream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_rstream_set_cleanse(QUIC_RSTREAM *qrs, int cleanse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: tx_pkt_info_hash
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long tx_pkt_info_hash(const OSSL_ACKM_TX_PKT *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - OSSL_ACKM_TX_PKT*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: tx_pkt_info_compare
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tx_pkt_info_compare(const OSSL_ACKM_TX_PKT *a,\n                               const
      OSSL_ACKM_TX_PKT *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_tx_history_init
      Src: /src/openssl/ssl/quic/quic_ackm.c:80,1
    - Dst: lh_OSSL_ACKM_TX_PKT_new
      Src: /src/openssl/ssl/quic/quic_ackm.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: tx_pkt_history_init
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - lh_OSSL_ACKM_TX_PKT_new
    - ossl_list_tx_history_init
    linkageType: ''
    returnType: int
    signature: int tx_pkt_history_init(struct tx_pkt_history_st *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_ACKM_TX_PKT_free
      Src: /src/openssl/ssl/quic/quic_ackm.c:94,1
    - Dst: ossl_list_tx_history_init
      Src: /src/openssl/ssl/quic/quic_ackm.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct tx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: tx_pkt_history_destroy
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_tx_history_init
    - lh_OSSL_ACKM_TX_PKT_free
    linkageType: ''
    returnType: void
    signature: void tx_pkt_history_destroy(struct tx_pkt_history_st *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_ACKM_TX_PKT_retrieve
      Src: /src/openssl/ssl/quic/quic_ackm.c:109,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:110,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:114,1
    - Dst: ossl_list_tx_history_next
      Src: /src/openssl/ssl/quic/quic_ackm.c:114,1
    - Dst: ossl_list_tx_history_prev
      Src: /src/openssl/ssl/quic/quic_ackm.c:115,1
    - Dst: lh_OSSL_ACKM_TX_PKT_insert
      Src: /src/openssl/ssl/quic/quic_ackm.c:118,1
    - Dst: ossl_list_tx_history_insert_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - h
    - pkt
    argTypes:
    - struct tx_pkt_history_st*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: tx_pkt_history_add_actual
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_tx_history_insert_tail
    - ossl_assert
    - ossl_list_tx_history_prev
    - ossl_list_tx_history_next
    - lh_OSSL_ACKM_TX_PKT_retrieve
    - lh_OSSL_ACKM_TX_PKT_insert
    linkageType: ''
    returnType: int
    signature: "int tx_pkt_history_add_actual(struct tx_pkt_history_st *h,\n                          OSSL_ACKM_TX_PKT
      *pkt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:129,1
    - Dst: tx_pkt_history_add_actual
      Src: /src/openssl/ssl/quic/quic_ackm.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - h
    - pkt
    argTypes:
    - struct tx_pkt_history_st*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: tx_pkt_history_add
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - tx_pkt_history_add_actual
    linkageType: ''
    returnType: int
    signature: "int tx_pkt_history_add(struct tx_pkt_history_st *h,\n                   OSSL_ACKM_TX_PKT
      *pkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_OSSL_ACKM_TX_PKT_retrieve
      Src: /src/openssl/ssl/quic/quic_ackm.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - pkt_num
    argTypes:
    - struct tx_pkt_history_st*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: tx_pkt_history_by_pkt_num
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - lh_OSSL_ACKM_TX_PKT_retrieve
    linkageType: ''
    returnType: OSSL_ACKM_TX_PKT
    signature: 'OSSL_ACKM_TX_PKT *

      tx_pkt_history_by_pkt_num(struct tx_pkt_history_st *h, uint64_t pkt_num)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tx_pkt_history_by_pkt_num
      Src: /src/openssl/ssl/quic/quic_ackm.c:158,1
    - Dst: ossl_list_tx_history_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:162,1
    - Dst: lh_OSSL_ACKM_TX_PKT_delete
      Src: /src/openssl/ssl/quic/quic_ackm.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - h
    - pkt_num
    argTypes:
    - struct tx_pkt_history_st*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: tx_pkt_history_remove
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_tx_history_remove
    - lh_OSSL_ACKM_TX_PKT_delete
    - tx_pkt_history_by_pkt_num
    linkageType: ''
    returnType: int
    signature: int tx_pkt_history_remove(struct tx_pkt_history_st *h, uint64_t pkt_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_uint_set_init
      Src: /src/openssl/ssl/quic/quic_ackm.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct rx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: rx_pkt_history_init
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_uint_set_init
    linkageType: ''
    returnType: void
    signature: void rx_pkt_history_init(struct rx_pkt_history_st *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_uint_set_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct rx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: rx_pkt_history_destroy
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_uint_set_destroy
    linkageType: ''
    returnType: void
    signature: void rx_pkt_history_destroy(struct rx_pkt_history_st *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_uint_set_num
      Src: /src/openssl/ssl/quic/quic_ackm.c:423,1
    - Dst: ossl_list_uint_set_head
      Src: /src/openssl/ssl/quic/quic_ackm.c:424,1
    - Dst: ossl_quic_pn_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:427,1
    - Dst: ossl_uint_set_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:429,1
    - Dst: rx_pkt_history_bump_watermark
      Src: /src/openssl/ssl/quic/quic_ackm.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct rx_pkt_history_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 438
    functionName: rx_pkt_history_trim_range_count
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - rx_pkt_history_bump_watermark
    - ossl_list_uint_set_head
    - ossl_uint_set_remove
    - ossl_quic_pn_max
    - ossl_list_uint_set_num
    linkageType: ''
    returnType: void
    signature: void rx_pkt_history_trim_range_count(struct rx_pkt_history_st *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_uint_set_insert
      Src: /src/openssl/ssl/quic/quic_ackm.c:451,1
    - Dst: rx_pkt_history_trim_range_count
      Src: /src/openssl/ssl/quic/quic_ackm.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - h
    - pn
    argTypes:
    - struct rx_pkt_history_st*
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 440
    functionDepth: 4
    functionLinenumber: 440
    functionLinenumberEnd: 456
    functionName: rx_pkt_history_add_pn
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_uint_set_insert
    - rx_pkt_history_trim_range_count
    linkageType: ''
    returnType: int
    signature: "int rx_pkt_history_add_pn(struct rx_pkt_history_st *h,\n                                 QUIC_PN
      pn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_uint_set_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - h
    - watermark
    argTypes:
    - struct rx_pkt_history_st*
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 474
    functionName: rx_pkt_history_bump_watermark
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 1
    functionsReached:
    - ossl_uint_set_remove
    linkageType: ''
    returnType: int
    signature: "int rx_pkt_history_bump_watermark(struct rx_pkt_history_st *h,\n                                         QUIC_PN
      watermark)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: min_u32
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline min_u32(uint32_t x, uint32_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts:
    - condition: (!ackm->discarded[pkt_space])
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: get_tx_history
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct tx_pkt_history_st
    signature: struct tx_pkt_history_st *get_tx_history(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts:
    - condition: (!ackm->discarded[pkt_space])
      pos:
        line_end: 631
        line_start: 631
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: get_rx_history
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct rx_pkt_history_st
    signature: struct rx_pkt_history_st *get_rx_history(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: ack_includes_ack_eliciting
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ack_includes_ack_eliciting(OSSL_ACKM_TX_PKT *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 657
    functionName: ackm_ack_eliciting_bytes_in_flight
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ackm_ack_eliciting_bytes_in_flight(OSSL_ACKM *ackm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - range
    - pn
    argTypes:
    - OSSL_QUIC_ACK_RANGE*
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: range_contains
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int range_contains(const OSSL_QUIC_ACK_RANGE *range, QUIC_PN pn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:680,1
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:693,1
    - Dst: tx_pkt_history_by_pkt_num
      Src: /src/openssl/ssl/quic/quic_ackm.c:695,1
    - Dst: ossl_list_tx_history_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:697,1
    - Dst: ossl_list_tx_history_prev
      Src: /src/openssl/ssl/quic/quic_ackm.c:704,1
    - Dst: range_contains
      Src: /src/openssl/ssl/quic/quic_ackm.c:715,1
    - Dst: tx_pkt_history_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:717,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:734,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ackm
    - ack
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - OSSL_QUIC_FRAME_ACK*
    - int
    assertStmts:
    - condition: (ack->num_ack_ranges > 0)
      pos:
        line_end: 679
        line_start: 679
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    - condition: (pkt->pkt_num < ack->ack_ranges[ridx].start)
      pos:
        line_end: 733
        line_start: 733
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 742
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 742
    functionName: ackm_detect_and_remove_newly_acked_pkts
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_tx_history_prev
    - tx_pkt_history_remove
    - ossl_list_tx_history_tail
    - range_contains
    - get_tx_history
    - assert
    - tx_pkt_history_by_pkt_num
    linkageType: ''
    returnType: OSSL_ACKM_TX_PKT
    signature: "OSSL_ACKM_TX_PKT *ackm_detect_and_remove_newly_acked_pkts(OSSL_ACKM
      *ackm,\n                                                                 const
      OSSL_QUIC_FRAME_ACK *ack,\n                                                                 int
      pkt_space)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:757,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_ackm.c:759,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:761,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:763,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:763,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_ackm.c:766,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:769,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/ssl/quic/quic_ackm.c:769,1
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:772,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_ackm.c:773,1
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:775,1
    - Dst: ossl_list_tx_history_head
      Src: /src/openssl/ssl/quic/quic_ackm.c:776,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:779,1
    - Dst: ossl_list_tx_history_next
      Src: /src/openssl/ssl/quic/quic_ackm.c:785,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:793,1
    - Dst: tx_pkt_history_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:796,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:802,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:804,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_ackm.c:807,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts:
    - condition: (ackm->largest_acked_pkt[pkt_space] != QUIC_PN_INVALID)
      pos:
        line_end: 756
        line_start: 756
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    - condition: (pkt_space == pkt->pkt_space)
      pos:
        line_end: 778
        line_start: 778
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 813
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 813
    functionName: ackm_detect_and_remove_lost_pkts
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_time_min
    - tx_pkt_history_remove
    - ossl_list_tx_history_next
    - ossl_time_zero
    - get_tx_history
    - ossl_time_compare
    - ossl_time_max
    - ossl_statm_get_rtt_info
    - ossl_time_divide
    - ossl_time_subtract
    - OSSL_ACKM*::now
    - ossl_list_tx_history_head
    - ossl_time_is_zero
    - ossl_time_add
    - ossl_ticks2time
    - assert
    - ossl_time_multiply
    linkageType: ''
    returnType: OSSL_ACKM_TX_PKT
    signature: "OSSL_ACKM_TX_PKT *ackm_detect_and_remove_lost_pkts(OSSL_ACKM *ackm,\n
      \                                                         int pkt_space)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:821,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ackm
    - pspace
    argTypes:
    - OSSL_ACKM*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: ackm_get_loss_time_and_space
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_time_is_zero
    - ossl_time_compare
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ackm_get_loss_time_and_space(OSSL_ACKM *ackm, int *pspace)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:835,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_ackm.c:838,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:841,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:842,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:842,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/ssl/quic/quic_ackm.c:843,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:846,1
    - Dst: min_u32
      Src: /src/openssl/ssl/quic/quic_ackm.c:847,1
    - Dst: ackm_ack_eliciting_bytes_in_flight
      Src: /src/openssl/ssl/quic/quic_ackm.c:851,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:852,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:857,1
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:857,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:876,1
    - Dst: min_u32
      Src: /src/openssl/ssl/quic/quic_ackm.c:878,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:881,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:882,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:893,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:894,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:895,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - ackm
    - space
    argTypes:
    - OSSL_ACKM*
    - int*
    assertStmts:
    - condition: (!ackm->peer_completed_addr_validation)
      pos:
        line_end: 851
        line_start: 851
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 904
      start: 831
    functionDepth: 3
    functionLinenumber: 831
    functionLinenumberEnd: 904
    functionName: ackm_get_pto_time_and_space
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - min_u32
    - ossl_time_infinite
    - ossl_time_is_infinite
    - ossl_time_compare
    - ossl_statm_get_rtt_info
    - ossl_time_max
    - ackm_ack_eliciting_bytes_in_flight
    - OSSL_ACKM*::now
    - ossl_time_is_zero
    - ossl_time_add
    - ossl_ticks2time
    - assert
    - ossl_time_multiply
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ackm_get_pto_time_and_space(OSSL_ACKM *ackm, int *space)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ACKM*::loss_detection_deadline_cb
      Src: /src/openssl/ssl/quic/quic_ackm.c:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ackm
    - deadline
    argTypes:
    - OSSL_ACKM*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 914
    functionName: ackm_set_loss_detection_timer_actual
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - OSSL_ACKM*::loss_detection_deadline_cb
    linkageType: ''
    returnType: void
    signature: "void ackm_set_loss_detection_timer_actual(OSSL_ACKM *ackm,\n                                                 OSSL_TIME
      deadline)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ackm_get_loss_time_and_space
      Src: /src/openssl/ssl/quic/quic_ackm.c:921,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:922,1
    - Dst: ackm_set_loss_detection_timer_actual
      Src: /src/openssl/ssl/quic/quic_ackm.c:924,1
    - Dst: ackm_ack_eliciting_bytes_in_flight
      Src: /src/openssl/ssl/quic/quic_ackm.c:928,1
    - Dst: ackm_set_loss_detection_timer_actual
      Src: /src/openssl/ssl/quic/quic_ackm.c:935,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:935,1
    - Dst: ackm_get_pto_time_and_space
      Src: /src/openssl/ssl/quic/quic_ackm.c:939,1
    - Dst: ackm_set_loss_detection_timer_actual
      Src: /src/openssl/ssl/quic/quic_ackm.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 916
    functionDepth: 4
    functionLinenumber: 916
    functionLinenumberEnd: 942
    functionName: ackm_set_loss_detection_timer
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ackm_set_loss_detection_timer_actual
    - ossl_time_zero
    - ackm_get_pto_time_and_space
    - ackm_ack_eliciting_bytes_in_flight
    - ossl_time_is_zero
    - ackm_get_loss_time_and_space
    linkageType: ''
    returnType: int
    signature: int ackm_set_loss_detection_timer(OSSL_ACKM *ackm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ackm
    - lpkt
    argTypes:
    - OSSL_ACKM*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 949
    functionName: ackm_in_persistent_congestion
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ackm_in_persistent_congestion(OSSL_ACKM *ackm,\n                                         const
      OSSL_ACKM_TX_PKT *lpkt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ACKM*::cc_method::on_data_lost
      Src: /src/openssl/ssl/quic/quic_ackm.c:981,1
    - Dst: OSSL_ACKM_TX_PKT*::on_lost
      Src: /src/openssl/ssl/quic/quic_ackm.c:985,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_ackm.c:992,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:993,1
    - Dst: ackm_in_persistent_congestion
      Src: /src/openssl/ssl/quic/quic_ackm.c:994,1
    - Dst: OSSL_ACKM*::cc_method::on_data_lost_finished
      Src: /src/openssl/ssl/quic/quic_ackm.c:997,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ackm
    - pkt_space
    - lpkt
    - pseudo
    argTypes:
    - OSSL_ACKM*
    - int
    - OSSL_ACKM_TX_PKT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 998
    functionName: ackm_on_pkts_lost
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - OSSL_ACKM*::cc_method::on_data_lost_finished
    - OSSL_ACKM_TX_PKT*::on_lost
    - OSSL_ACKM*::cc_method::on_data_lost
    - ossl_statm_get_rtt_info
    - ackm_in_persistent_congestion
    - ossl_time_is_zero
    linkageType: ''
    returnType: void
    signature: "void ackm_on_pkts_lost(OSSL_ACKM *ackm, int pkt_space,\n                              const
      OSSL_ACKM_TX_PKT *lpkt, int pseudo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rx_pkt_history_bump_watermark
      Src: /src/openssl/ssl/quic/quic_ackm.c:1021,1
    - Dst: get_rx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1021,1
    - Dst: OSSL_ACKM_TX_PKT*::on_acked
      Src: /src/openssl/ssl/quic/quic_ackm.c:1030,1
    - Dst: OSSL_ACKM*::cc_method::on_data_acked
      Src: /src/openssl/ssl/quic/quic_ackm.c:1033,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ackm
    - apkt
    argTypes:
    - OSSL_ACKM*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1035
    functionName: ackm_on_pkts_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - rx_pkt_history_bump_watermark
    - OSSL_ACKM*::cc_method::on_data_acked
    - get_rx_history
    - OSSL_ACKM_TX_PKT*::on_acked
    linkageType: ''
    returnType: void
    signature: void ackm_on_pkts_acked(OSSL_ACKM *ackm, const OSSL_ACKM_TX_PKT *apkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_ackm.c:1047,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_ackm.c:1051,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1053,1
    - Dst: tx_pkt_history_init
      Src: /src/openssl/ssl/quic/quic_ackm.c:1054,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_ackm.c:1058,1
    - Dst: rx_pkt_history_init
      Src: /src/openssl/ssl/quic/quic_ackm.c:1059,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/quic/quic_ackm.c:1068,1
    - Dst: tx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1075,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_ackm.c:1077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - now_arg
    - statm
    - cc_method
    - cc_data
    - is_server
    argTypes:
    - void*
    - OSSL_STATM*
    - OSSL_CC_METHOD*
    - OSSL_CC_DATA*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1079
    functionName: ossl_ackm_new
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    - ossl_time_infinite
    - ossl_ms2time
    - tx_pkt_history_destroy
    - rx_pkt_history_init
    - OPENSSL_free
    - OSSL_NELEM
    - tx_pkt_history_init
    linkageType: ''
    returnType: OSSL_ACKM
    signature: "OSSL_ACKM *ossl_ackm_new(OSSL_TIME (*now)(void *arg),\n                         void
      *now_arg,\n                         OSSL_STATM *statm,\n                         const
      OSSL_CC_METHOD *cc_method,\n                         OSSL_CC_DATA *cc_data,\n
      \                        int is_server)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_ackm.c:1088,1
    - Dst: tx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1090,1
    - Dst: rx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1091,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_ackm.c:1094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1095
    functionName: ossl_ackm_free
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - rx_pkt_history_destroy
    - OSSL_NELEM
    - tx_pkt_history_destroy
    linkageType: ''
    returnType: void
    signature: void ossl_ackm_free(OSSL_ACKM *ackm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1099,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1102,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:1103,1
    - Dst: tx_pkt_history_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:1115,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1126,1
    - Dst: OSSL_ACKM*::cc_method::on_data_sent
      Src: /src/openssl/ssl/quic/quic_ackm.c:1128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ackm
    - pkt
    argTypes:
    - OSSL_ACKM*
    - OSSL_ACKM_TX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1097
    functionDepth: 5
    functionLinenumber: 1097
    functionLinenumberEnd: 1132
    functionName: ossl_ackm_on_tx_packet
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 4
    functionsReached:
    - tx_pkt_history_add
    - ackm_set_loss_detection_timer
    - OSSL_ACKM*::cc_method::on_data_sent
    - ossl_time_compare
    - ossl_time_is_zero
    - get_tx_history
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_on_tx_packet(OSSL_ACKM *ackm, OSSL_ACKM_TX_PKT *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ackm
    - num_bytes
    argTypes:
    - OSSL_ACKM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1138
    functionName: ossl_ackm_on_rx_datagram
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_on_rx_datagram(OSSL_ACKM *ackm, size_t num_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1154,1
    - Dst: tx_pkt_history_by_pkt_num
      Src: /src/openssl/ssl/quic/quic_ackm.c:1155,1
    - Dst: OSSL_ACKM*::cc_method::on_ecn
      Src: /src/openssl/ssl/quic/quic_ackm.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ackm
    - ack
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - OSSL_QUIC_FRAME_ACK*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1162
    functionName: ackm_process_ecn
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - get_tx_history
    - OSSL_ACKM*::cc_method::on_ecn
    - tx_pkt_history_by_pkt_num
    linkageType: ''
    returnType: void
    signature: "void ackm_process_ecn(OSSL_ACKM *ackm, const OSSL_QUIC_FRAME_ACK *ack,\n
      \                            int pkt_space)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pn_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:1174,1
    - Dst: ackm_detect_and_remove_newly_acked_pkts
      Src: /src/openssl/ssl/quic/quic_ackm.c:1190,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1193,1
    - Dst: ack_includes_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_ackm.c:1205,1
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:1206,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1207,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_ackm.c:1213,1
    - Dst: ossl_statm_update_rtt
      Src: /src/openssl/ssl/quic/quic_ackm.c:1215,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_ackm.c:1216,1
    - Dst: ackm_process_ecn
      Src: /src/openssl/ssl/quic/quic_ackm.c:1227,1
    - Dst: ackm_detect_and_remove_lost_pkts
      Src: /src/openssl/ssl/quic/quic_ackm.c:1230,1
    - Dst: ackm_on_pkts_lost
      Src: /src/openssl/ssl/quic/quic_ackm.c:1232,1
    - Dst: ackm_on_pkts_acked
      Src: /src/openssl/ssl/quic/quic_ackm.c:1234,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - ackm
    - ack
    - pkt_space
    - rx_time
    argTypes:
    - OSSL_ACKM*
    - OSSL_QUIC_FRAME_ACK*
    - int
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1164
    functionDepth: 5
    functionLinenumber: 1164
    functionLinenumberEnd: 1245
    functionName: ossl_ackm_on_rx_ack_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 4
    functionsReached:
    - ackm_process_ecn
    - ossl_time_min
    - ackm_set_loss_detection_timer
    - ackm_detect_and_remove_newly_acked_pkts
    - ackm_on_pkts_acked
    - ackm_detect_and_remove_lost_pkts
    - ossl_time_subtract
    - ossl_quic_pn_max
    - ossl_statm_update_rtt
    - OSSL_ACKM*::now
    - ossl_time_is_zero
    - ackm_on_pkts_lost
    - ack_includes_ack_eliciting
    linkageType: ''
    returnType: int
    signature: "int ossl_ackm_on_rx_ack_frame(OSSL_ACKM *ackm, const OSSL_QUIC_FRAME_ACK
      *ack,\n                              int pkt_space, OSSL_TIME rx_time)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_tx_history_head
      Src: /src/openssl/ssl/quic/quic_ackm.c:1258,1
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1258,1
    - Dst: ossl_list_tx_history_next
      Src: /src/openssl/ssl/quic/quic_ackm.c:1260,1
    - Dst: OSSL_ACKM_TX_PKT*::on_discarded
      Src: /src/openssl/ssl/quic/quic_ackm.c:1266,1
    - Dst: tx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1269,1
    - Dst: rx_pkt_history_destroy
      Src: /src/openssl/ssl/quic/quic_ackm.c:1270,1
    - Dst: OSSL_ACKM*::cc_method::on_data_invalidated
      Src: /src/openssl/ssl/quic/quic_ackm.c:1273,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1276,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1277,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1247
    functionDepth: 5
    functionLinenumber: 1247
    functionLinenumberEnd: 1283
    functionName: ossl_ackm_on_pkt_space_discarded
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 3
    functionsReached:
    - ackm_set_loss_detection_timer
    - ossl_list_tx_history_next
    - ossl_time_zero
    - OSSL_ACKM*::cc_method::on_data_invalidated
    - tx_pkt_history_destroy
    - rx_pkt_history_destroy
    - ossl_list_tx_history_head
    - OSSL_ACKM_TX_PKT*::on_discarded
    - get_tx_history
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_on_pkt_space_discarded(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1285
    functionDepth: 5
    functionLinenumber: 1285
    functionLinenumberEnd: 1291
    functionName: ossl_ackm_on_handshake_confirmed
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 2
    functionsReached:
    - ackm_set_loss_detection_timer
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_on_handshake_confirmed(OSSL_ACKM *ackm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1296
    functionName: ackm_queue_probe_anti_deadlock_handshake
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ackm_queue_probe_anti_deadlock_handshake(OSSL_ACKM *ackm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1301
    functionName: ackm_queue_probe_anti_deadlock_initial
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ackm_queue_probe_anti_deadlock_initial(OSSL_ACKM *ackm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1311
    functionName: ackm_queue_probe
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ackm_queue_probe(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ackm_get_loss_time_and_space
      Src: /src/openssl/ssl/quic/quic_ackm.c:1319,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1320,1
    - Dst: ackm_detect_and_remove_lost_pkts
      Src: /src/openssl/ssl/quic/quic_ackm.c:1322,1
    - Dst: ackm_on_pkts_lost
      Src: /src/openssl/ssl/quic/quic_ackm.c:1324,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1325,1
    - Dst: ackm_ack_eliciting_bytes_in_flight
      Src: /src/openssl/ssl/quic/quic_ackm.c:1329,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_ackm.c:1330,1
    - Dst: ackm_queue_probe_anti_deadlock_handshake
      Src: /src/openssl/ssl/quic/quic_ackm.c:1337,1
    - Dst: ackm_queue_probe_anti_deadlock_initial
      Src: /src/openssl/ssl/quic/quic_ackm.c:1339,1
    - Dst: ackm_get_pto_time_and_space
      Src: /src/openssl/ssl/quic/quic_ackm.c:1346,1
    - Dst: ackm_queue_probe
      Src: /src/openssl/ssl/quic/quic_ackm.c:1347,1
    - Dst: ackm_set_loss_detection_timer
      Src: /src/openssl/ssl/quic/quic_ackm.c:1351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts:
    - condition: (!ackm->peer_completed_addr_validation)
      pos:
        line_end: 1329
        line_start: 1329
        source_file: /src/openssl/ssl/quic/quic_ackm.c
    constantsTouched: []
    func_position:
      end: 1353
      start: 1313
    functionDepth: 5
    functionLinenumber: 1313
    functionLinenumberEnd: 1353
    functionName: ossl_ackm_on_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 1
    functionsReached:
    - ackm_set_loss_detection_timer
    - ackm_queue_probe_anti_deadlock_handshake
    - ackm_queue_probe_anti_deadlock_initial
    - ackm_queue_probe
    - ackm_detect_and_remove_lost_pkts
    - ackm_get_pto_time_and_space
    - ackm_ack_eliciting_bytes_in_flight
    - ackm_on_pkts_lost
    - ossl_time_is_zero
    - ackm_get_loss_time_and_space
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_on_timeout(OSSL_ACKM *ackm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1358
    functionName: ossl_ackm_get_loss_detection_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_ackm_get_loss_detection_deadline(OSSL_ACKM *ackm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: ossl_ackm_get0_probe_request
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: OSSL_ACKM_PROBE_INFO
    signature: OSSL_ACKM_PROBE_INFO *ossl_ackm_get0_probe_request(OSSL_ACKM *ackm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1370,1
    - Dst: ossl_list_tx_history_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ackm
    - pkt_space
    - pn
    argTypes:
    - OSSL_ACKM*
    - int
    - QUIC_PN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1378
    functionName: ossl_ackm_get_largest_unacked
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_tx_history_tail
    - get_tx_history
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_get_largest_unacked(OSSL_ACKM *ackm, int pkt_space, QUIC_PN
      *pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1401,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:1402,1
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:1402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1398
    functionDepth: 3
    functionLinenumber: 1398
    functionLinenumberEnd: 1404
    functionName: ossl_ackm_is_ack_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 3
    functionsReached:
    - ossl_time_compare
    - ossl_time_is_infinite
    - OSSL_ACKM*::now
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_is_ack_desired(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range_contains
      Src: /src/openssl/ssl/quic/quic_ackm.c:1414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ack
    - pkt_num
    argTypes:
    - OSSL_QUIC_FRAME_ACK*
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1418
    functionName: ack_contains
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - range_contains
    linkageType: ''
    returnType: int
    signature: int ack_contains(const OSSL_QUIC_FRAME_ACK *ack, QUIC_PN pkt_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ack_contains
      Src: /src/openssl/ssl/quic/quic_ackm.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - ackm
    - pkt_space
    - pkt_num
    argTypes:
    - OSSL_ACKM*
    - int
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1424
    functionDepth: 2
    functionLinenumber: 1424
    functionLinenumberEnd: 1433
    functionName: ackm_is_missing
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ack_contains
    linkageType: ''
    returnType: int
    signature: int ackm_is_missing(OSSL_ACKM *ackm, int pkt_space, QUIC_PN pkt_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_rx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1443,1
    - Dst: ossl_list_uint_set_is_empty
      Src: /src/openssl/ssl/quic/quic_ackm.c:1445,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1461,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1462,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1465
    functionName: ackm_has_newly_missing
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_list_uint_set_is_empty
    - get_rx_history
    - ossl_list_uint_set_tail
    linkageType: ''
    returnType: int
    signature: int ackm_has_newly_missing(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ACKM*::ack_deadline_cb
      Src: /src/openssl/ssl/quic/quic_ackm.c:1473,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ackm
    - pkt_space
    - deadline
    argTypes:
    - OSSL_ACKM*
    - int
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1475
    functionName: ackm_set_flush_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - OSSL_ACKM*::ack_deadline_cb
    - ossl_ackm_get_ack_deadline
    linkageType: ''
    returnType: void
    signature: "void ackm_set_flush_deadline(OSSL_ACKM *ackm, int pkt_space,\n                                    OSSL_TIME
      deadline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ackm_set_flush_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1483,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1484
    functionName: ackm_queue_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_time_infinite
    - ackm_set_flush_deadline
    linkageType: ''
    returnType: void
    signature: void ackm_queue_ack(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ackm_has_newly_missing
      Src: /src/openssl/ssl/quic/quic_ackm.c:1502,1
    - Dst: ackm_queue_ack
      Src: /src/openssl/ssl/quic/quic_ackm.c:1525,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1541,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1543,1
    - Dst: ackm_set_flush_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1544,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:1545,1
    - Dst: ackm_set_flush_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1547,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_ackm.c:1548,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:1549,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - ackm
    - rx_time
    - pkt_space
    - was_missing
    argTypes:
    - OSSL_ACKM*
    - OSSL_TIME
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1486
    functionDepth: 3
    functionLinenumber: 1486
    functionLinenumberEnd: 1551
    functionName: ackm_on_rx_ack_eliciting
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_time_min
    - ossl_time_zero
    - ackm_set_flush_deadline
    - ossl_time_is_infinite
    - ackm_has_newly_missing
    - ackm_queue_ack
    - ossl_time_add
    linkageType: ''
    returnType: void
    signature: "void ackm_on_rx_ack_eliciting(OSSL_ACKM *ackm,\n                                     OSSL_TIME
      rx_time, int pkt_space,\n                                     int was_missing)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_rx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1555,1
    - Dst: ossl_ackm_is_rx_pn_processable
      Src: /src/openssl/ssl/quic/quic_ackm.c:1558,1
    - Dst: ackm_is_missing
      Src: /src/openssl/ssl/quic/quic_ackm.c:1577,1
    - Dst: rx_pkt_history_add_pn
      Src: /src/openssl/ssl/quic/quic_ackm.c:1583,1
    - Dst: ackm_on_rx_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_ackm.c:1592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ackm
    - pkt
    argTypes:
    - OSSL_ACKM*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1553
    functionDepth: 5
    functionLinenumber: 1553
    functionLinenumberEnd: 1610
    functionName: ossl_ackm_on_rx_packet
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 2
    functionsReached:
    - ackm_is_missing
    - ackm_on_rx_ack_eliciting
    - rx_pkt_history_add_pn
    - get_rx_history
    - ossl_ackm_is_rx_pn_processable
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_on_rx_packet(OSSL_ACKM *ackm, const OSSL_ACKM_RX_PKT
      *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1615,1
    - Dst: ossl_list_uint_set_tail
      Src: /src/openssl/ssl/quic/quic_ackm.c:1623,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_ackm.c:1624,1
    - Dst: ossl_list_uint_set_prev
      Src: /src/openssl/ssl/quic/quic_ackm.c:1625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ackm
    - pkt_space
    - ack
    argTypes:
    - OSSL_ACKM*
    - int
    - OSSL_QUIC_FRAME_ACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1632
    functionName: ackm_fill_rx_ack_ranges
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - get_rx_history
    - ossl_list_uint_set_prev
    - ossl_list_uint_set_tail
    linkageType: ''
    returnType: void
    signature: "void ackm_fill_rx_ack_ranges(OSSL_ACKM *ackm, int pkt_space,\n                                    OSSL_QUIC_FRAME_ACK
      *ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ACKM*::now
      Src: /src/openssl/ssl/quic/quic_ackm.c:1638,1
    - Dst: ackm_fill_rx_ack_ranges
      Src: /src/openssl/ssl/quic/quic_ackm.c:1640,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1642,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_ackm.c:1643,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_ackm.c:1646,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1648,1
    - Dst: ackm_set_flush_deadline
      Src: /src/openssl/ssl/quic/quic_ackm.c:1659,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1634
    functionDepth: 3
    functionLinenumber: 1634
    functionLinenumberEnd: 1661
    functionName: ossl_ackm_get_ack_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 2
    functionsReached:
    - ossl_time_infinite
    - ossl_time_zero
    - ackm_set_flush_deadline
    - ossl_time_compare
    - ossl_time_subtract
    - OSSL_ACKM*::now
    - ossl_time_is_zero
    - ackm_fill_rx_ack_ranges
    linkageType: ''
    returnType: OSSL_QUIC_FRAME_ACK
    signature: "OSSL_QUIC_FRAME_ACK *ossl_ackm_get_ack_frame(OSSL_ACKM *ackm,\n                                                   int
      pkt_space)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_ackm.c:1668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1664
    functionDepth: 2
    functionLinenumber: 1664
    functionLinenumberEnd: 1671
    functionName: ossl_ackm_get_ack_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 3
    functionsReached:
    - ossl_time_zero
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_ackm_get_ack_deadline(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_rx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1675,1
    - Dst: ossl_uint_set_query
      Src: /src/openssl/ssl/quic/quic_ackm.c:1677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ackm
    - pn
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - QUIC_PN
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: ossl_ackm_is_rx_pn_processable
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 2
    functionsReached:
    - ossl_uint_set_query
    - get_rx_history
    linkageType: ''
    returnType: int
    signature: int ossl_ackm_is_rx_pn_processable(OSSL_ACKM *ackm, QUIC_PN pn, int
      pkt_space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ackm
    - arg
    argTypes:
    - OSSL_ACKM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1687
    functionName: ossl_ackm_set_loss_detection_deadline_callback
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_ackm_set_loss_detection_deadline_callback(OSSL_ACKM *ackm,\n
      \                                                   void (*fn)(OSSL_TIME deadline,\n
      \                                                              void *arg),\n
      \                                                   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ackm
    - arg
    argTypes:
    - OSSL_ACKM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1697
    functionName: ossl_ackm_set_ack_deadline_callback
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_ackm_set_ack_deadline_callback(OSSL_ACKM *ackm,\n                                         void
      (*fn)(OSSL_TIME deadline,\n                                                    int
      pkt_space,\n                                                    void *arg),\n
      \                                        void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_tx_history
      Src: /src/openssl/ssl/quic/quic_ackm.c:1702,1
    - Dst: tx_pkt_history_by_pkt_num
      Src: /src/openssl/ssl/quic/quic_ackm.c:1705,1
    - Dst: tx_pkt_history_remove
      Src: /src/openssl/ssl/quic/quic_ackm.c:1709,1
    - Dst: ackm_on_pkts_lost
      Src: /src/openssl/ssl/quic/quic_ackm.c:1711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ackm
    - pkt_space
    - pn
    argTypes:
    - OSSL_ACKM*
    - int
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1699
    functionDepth: 4
    functionLinenumber: 1699
    functionLinenumberEnd: 1713
    functionName: ossl_ackm_mark_packet_pseudo_lost
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ackm_on_pkts_lost
    - get_tx_history
    - tx_pkt_history_remove
    - tx_pkt_history_by_pkt_num
    linkageType: ''
    returnType: int
    signature: "int ossl_ackm_mark_packet_pseudo_lost(OSSL_ACKM *ackm,\n                                      int
      pkt_space, QUIC_PN pn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_ackm.c:1720,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:1722,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/quic_ackm.c:1723,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_ackm.c:1723,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/ssl/quic/quic_ackm.c:1724,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_ackm.c:1725,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_ackm.c:1726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ackm
    argTypes:
    - OSSL_ACKM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1715
    functionDepth: 3
    functionLinenumber: 1715
    functionLinenumberEnd: 1729
    functionName: ossl_ackm_get_pto_duration
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached:
    - ossl_time_is_infinite
    - ossl_time_max
    - ossl_statm_get_rtt_info
    - ossl_time_add
    - ossl_ticks2time
    - ossl_time_multiply
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_ackm_get_pto_duration(OSSL_ACKM *ackm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ackm
    - pkt_space
    argTypes:
    - OSSL_ACKM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1734
    functionName: ossl_ackm_get_largest_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_PN
    signature: QUIC_PN ossl_ackm_get_largest_acked(OSSL_ACKM *ackm, int pkt_space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ackm
    - rx_max_ack_delay
    argTypes:
    - OSSL_ACKM*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1739
    functionName: ossl_ackm_set_rx_max_ack_delay
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ackm_set_rx_max_ack_delay(OSSL_ACKM *ackm, OSSL_TIME rx_max_ack_delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ackm
    - tx_max_ack_delay
    argTypes:
    - OSSL_ACKM*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1744
    functionName: ossl_ackm_set_tx_max_ack_delay
    functionSourceFile: /src/openssl/ssl/quic/quic_ackm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_ackm_set_tx_max_ack_delay(OSSL_ACKM *ackm, OSSL_TIME tx_max_ack_delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_CFQ_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: ossl_quic_cfq_item_get_frame_type
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_cfq_item_get_frame_type(const QUIC_CFQ_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_CFQ_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ossl_quic_cfq_item_get_encoded
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ossl_quic_cfq_item_get_encoded(const QUIC_CFQ_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_CFQ_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ossl_quic_cfq_item_get_encoded_len
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_cfq_item_get_encoded_len(const QUIC_CFQ_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_CFQ_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: ossl_quic_cfq_item_get_state
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_cfq_item_get_state(const QUIC_CFQ_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_CFQ_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: ossl_quic_cfq_item_get_pn_space
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_quic_cfq_item_get_pn_space(const QUIC_CFQ_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_CFQ_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: ossl_quic_cfq_item_is_unreliable
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_cfq_item_is_unreliable(const QUIC_CFQ_ITEM *item)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_CFQ_ITEM_EX*
    - QUIC_CFQ_ITEM_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: compare
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare(const QUIC_CFQ_ITEM_EX *a, const QUIC_CFQ_ITEM_EX *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - QUIC_CFQ_ITEM_LIST*
    - QUIC_CFQ_ITEM_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: list_remove
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_remove(QUIC_CFQ_ITEM_LIST *l, QUIC_CFQ_ITEM_EX *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - QUIC_CFQ_ITEM_LIST*
    - QUIC_CFQ_ITEM_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: list_insert_head
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_insert_head(QUIC_CFQ_ITEM_LIST *l, QUIC_CFQ_ITEM_EX *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - QUIC_CFQ_ITEM_LIST*
    - QUIC_CFQ_ITEM_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: list_insert_tail
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_insert_tail(QUIC_CFQ_ITEM_LIST *l, QUIC_CFQ_ITEM_EX *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - l
    - ref
    - n
    argTypes:
    - QUIC_CFQ_ITEM_LIST*
    - QUIC_CFQ_ITEM_EX*
    - QUIC_CFQ_ITEM_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: list_insert_after
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void list_insert_after(QUIC_CFQ_ITEM_LIST *l,\n                              QUIC_CFQ_ITEM_EX
      *ref,\n                              QUIC_CFQ_ITEM_EX *n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/openssl/ssl/quic/quic_cfq.c:159,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:162,1
    - Dst: list_insert_head
      Src: /src/openssl/ssl/quic/quic_cfq.c:164,1
    - Dst: list_insert_after
      Src: /src/openssl/ssl/quic/quic_cfq.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - QUIC_CFQ_ITEM_LIST*
    - QUIC_CFQ_ITEM_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 167
    functionName: list_insert_sorted
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached:
    - cmp
    - list_insert_head
    - list_insert_tail
    - list_insert_after
    linkageType: ''
    returnType: void
    signature: "void list_insert_sorted(QUIC_CFQ_ITEM_LIST *l, QUIC_CFQ_ITEM_EX *n,\n
      \                              int (*cmp)(const QUIC_CFQ_ITEM_EX *a,\n                                          const
      QUIC_CFQ_ITEM_EX *b))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_cfq.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: ossl_quic_cfq_new
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: QUIC_CFQ
    signature: QUIC_CFQ *ossl_quic_cfq_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_CFQ_ITEM_EX*::free_cb
      Src: /src/openssl/ssl/quic/quic_cfq.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - item
    argTypes:
    - QUIC_CFQ_ITEM_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: clear_item
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached:
    - QUIC_CFQ_ITEM_EX*::free_cb
    linkageType: ''
    returnType: void
    signature: void clear_item(QUIC_CFQ_ITEM_EX *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_item
      Src: /src/openssl/ssl/quic/quic_cfq.c:198,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_cfq.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - QUIC_CFQ_ITEM_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: free_list_items
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - clear_item
    linkageType: ''
    returnType: void
    signature: void free_list_items(QUIC_CFQ_ITEM_LIST *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free_list_items
      Src: /src/openssl/ssl/quic/quic_cfq.c:208,1
    - Dst: free_list_items
      Src: /src/openssl/ssl/quic/quic_cfq.c:209,1
    - Dst: free_list_items
      Src: /src/openssl/ssl/quic/quic_cfq.c:210,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_cfq.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cfq
    argTypes:
    - QUIC_CFQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: ossl_quic_cfq_free
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 3
    functionsReached:
    - free_list_items
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_cfq_free(QUIC_CFQ *cfq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_cfq.c:221,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cfq
    argTypes:
    - QUIC_CFQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 228
    functionName: cfq_get_free
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - list_insert_tail
    linkageType: ''
    returnType: QUIC_CFQ_ITEM_EX
    signature: QUIC_CFQ_ITEM_EX *cfq_get_free(QUIC_CFQ *cfq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfq_get_free
      Src: /src/openssl/ssl/quic/quic_cfq.c:240,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:255,1
    - Dst: list_insert_sorted
      Src: /src/openssl/ssl/quic/quic_cfq.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 9
    argNames:
    - cfq
    - priority
    - pn_space
    - frame_type
    - flags
    - encoded
    - encoded_len
    - free_cb
    - free_cb_arg
    argTypes:
    - QUIC_CFQ*
    - uint32_t
    - uint32_t
    - uint64_t
    - uint32_t
    - unsigned char*
    - size_t
    - cfq_free_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 258
    functionName: ossl_quic_cfq_add_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 4
    functionsReached:
    - list_remove
    - cfq_get_free
    - list_insert_sorted
    linkageType: ''
    returnType: QUIC_CFQ_ITEM
    signature: "QUIC_CFQ_ITEM *ossl_quic_cfq_add_frame(QUIC_CFQ            *cfq,\n
      \                                      uint32_t             priority,\n                                       uint32_t
      \            pn_space,\n                                       uint64_t             frame_type,\n
      \                                      uint32_t             flags,\n                                       const
      unsigned char *encoded,\n                                       size_t               encoded_len,\n
      \                                      cfq_free_cb         *free_cb,\n                                       void
      \               *free_cb_arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:266,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:267,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_cfq.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - cfq
    - item
    argTypes:
    - QUIC_CFQ*
    - QUIC_CFQ_ITEM*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/openssl/ssl/quic/quic_cfq.c
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: ossl_quic_cfq_mark_tx
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 2
    functionsReached:
    - list_remove
    - list_insert_tail
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_quic_cfq_mark_tx(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_cfq_item_is_unreliable
      Src: /src/openssl/ssl/quic/quic_cfq.c:283,1
    - Dst: ossl_quic_cfq_release
      Src: /src/openssl/ssl/quic/quic_cfq.c:284,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:291,1
    - Dst: list_insert_sorted
      Src: /src/openssl/ssl/quic/quic_cfq.c:293,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:299,1
    - Dst: list_insert_sorted
      Src: /src/openssl/ssl/quic/quic_cfq.c:300,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_cfq.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - cfq
    - item
    - priority
    argTypes:
    - QUIC_CFQ*
    - QUIC_CFQ_ITEM*
    - uint32_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/openssl/ssl/quic/quic_cfq.c
    constantsTouched: []
    func_position:
      end: 307
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 307
    functionName: ossl_quic_cfq_mark_lost
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 2
    functionsReached:
    - ossl_quic_cfq_release
    - list_insert_sorted
    - ossl_quic_cfq_item_is_unreliable
    - list_remove
    - assert
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_cfq_mark_lost(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item,\n
      \                            uint32_t priority)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:319,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:320,1
    - Dst: clear_item
      Src: /src/openssl/ssl/quic/quic_cfq.c:321,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_cfq.c:324,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_cfq.c:325,1
    - Dst: clear_item
      Src: /src/openssl/ssl/quic/quic_cfq.c:326,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_cfq.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cfq
    - item
    argTypes:
    - QUIC_CFQ*
    - QUIC_CFQ_ITEM*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/openssl/ssl/quic/quic_cfq.c
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: ossl_quic_cfq_release
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 4
    functionsReached:
    - list_remove
    - clear_item
    - list_insert_tail
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_quic_cfq_release(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - cfq
    - pn_space
    argTypes:
    - QUIC_CFQ*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: ossl_quic_cfq_get_priority_head
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: QUIC_CFQ_ITEM
    signature: "QUIC_CFQ_ITEM *ossl_quic_cfq_get_priority_head(const QUIC_CFQ *cfq,\n
      \                                              uint32_t pn_space)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - item
    - pn_space
    argTypes:
    - QUIC_CFQ_ITEM*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: ossl_quic_cfq_item_get_priority_next
    functionSourceFile: /src/openssl/ssl/quic/quic_cfq.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: QUIC_CFQ_ITEM
    signature: "QUIC_CFQ_ITEM *ossl_quic_cfq_item_get_priority_next(const QUIC_CFQ_ITEM
      *item,\n                                                    uint32_t pn_space)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_port.c:104,1
    - Dst: port_init
      Src: /src/openssl/ssl/quic/quic_port.c:114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - QUIC_PORT_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: ossl_quic_port_new
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - port_init
    linkageType: ''
    returnType: QUIC_PORT
    signature: QUIC_PORT *ossl_quic_port_new(const QUIC_PORT_ARGS *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: port_cleanup
      Src: /src/openssl/ssl/quic/quic_port.c:127,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: ossl_quic_port_free
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - port_cleanup
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_free(QUIC_PORT *port)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ERR_STATE_new
      Src: /src/openssl/ssl/quic/quic_port.c:142,1
    - Dst: ossl_quic_demux_new
      Src: /src/openssl/ssl/quic/quic_port.c:145,1
    - Dst: ossl_quic_demux_set_default_handler
      Src: /src/openssl/ssl/quic/quic_port.c:150,1
    - Dst: ossl_quic_srtm_new
      Src: /src/openssl/ssl/quic/quic_port.c:154,1
    - Dst: ossl_quic_lcidm_new
      Src: /src/openssl/ssl/quic/quic_port.c:158,1
    - Dst: ossl_list_port_insert_tail
      Src: /src/openssl/ssl/quic/quic_port.c:166,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/quic/quic_port.c:171,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/quic/quic_port.c:172,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/ssl/quic/quic_port.c:174,1
    - Dst: EVP_CIPHER_CTX_get_key_length
      Src: /src/openssl/ssl/quic/quic_port.c:175,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_port.c:176,1
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/quic/quic_port.c:177,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/ssl/quic/quic_port.c:178,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_port.c:183,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/quic/quic_port.c:185,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:187,1
    - Dst: port_cleanup
      Src: /src/openssl/ssl/quic/quic_port.c:189,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 131
    functionDepth: 7
    functionLinenumber: 131
    functionLinenumberEnd: 191
    functionName: port_init
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - ossl_quic_lcidm_new
    - EVP_CIPHER_CTX_new
    - EVP_EncryptInit_ex
    - ossl_list_port_insert_tail
    - RAND_priv_bytes_ex
    - OPENSSL_clear_free
    - port_cleanup
    - EVP_CIPHER_CTX_get_key_length
    - ossl_quic_srtm_new
    - ossl_quic_demux_new
    - EVP_CIPHER_fetch
    - ossl_quic_demux_set_default_handler
    - EVP_CIPHER_free
    - OPENSSL_free
    - OSSL_ERR_STATE_new
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int port_init(QUIC_PORT *port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_port.c:195,1
    - Dst: ossl_list_ch_num
      Src: /src/openssl/ssl/quic/quic_port.c:195,1
    - Dst: ossl_quic_demux_free
      Src: /src/openssl/ssl/quic/quic_port.c:197,1
    - Dst: ossl_quic_srtm_free
      Src: /src/openssl/ssl/quic/quic_port.c:200,1
    - Dst: ossl_quic_lcidm_free
      Src: /src/openssl/ssl/quic/quic_port.c:203,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/ssl/quic/quic_port.c:206,1
    - Dst: ossl_list_port_remove
      Src: /src/openssl/ssl/quic/quic_port.c:210,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_port.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts:
    - condition: (ossl_list_ch_num(&port->channel_list) == 0)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/openssl/ssl/quic/quic_port.c
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: port_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 2
    functionsReached:
    - ossl_quic_lcidm_free
    - ossl_list_port_remove
    - ossl_quic_srtm_free
    - EVP_CIPHER_CTX_free
    - ossl_list_ch_num
    - OSSL_ERR_STATE_free
    - assert
    - ossl_quic_demux_free
    linkageType: ''
    returnType: void
    signature: void port_cleanup(QUIC_PORT *port)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: port_transition_failed
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void port_transition_failed(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: ossl_quic_port_is_running
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_is_running(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: ossl_quic_port_get0_engine
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_ENGINE
    signature: QUIC_ENGINE *ossl_quic_port_get0_engine(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_engine_get0_reactor
      Src: /src/openssl/ssl/quic/quic_port.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: ossl_quic_port_get0_reactor
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_engine_get0_reactor
    linkageType: ''
    returnType: QUIC_REACTOR
    signature: QUIC_REACTOR *ossl_quic_port_get0_reactor(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: ossl_quic_port_get0_demux
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: QUIC_DEMUX
    signature: QUIC_DEMUX *ossl_quic_port_get0_demux(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_engine_get0_mutex
      Src: /src/openssl/ssl/quic/quic_port.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: ossl_quic_port_get0_mutex
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_engine_get0_mutex
    linkageType: ''
    returnType: CRYPTO_MUTEX
    signature: CRYPTO_MUTEX *ossl_quic_port_get0_mutex(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_engine_get_time
      Src: /src/openssl/ssl/quic/quic_port.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: ossl_quic_port_get_time
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_engine_get_time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_quic_port_get_time(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get_time
      Src: /src/openssl/ssl/quic/quic_port.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: get_time
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 9
    functionsReached:
    - ossl_quic_port_get_time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME get_time(void *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: ossl_quic_port_get_rx_short_dcid_len
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_get_rx_short_dcid_len(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: ossl_quic_port_get_tx_init_dcid_len
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_get_tx_init_dcid_len(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_incoming_ch_num
      Src: /src/openssl/ssl/quic/quic_port.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: ossl_quic_port_get_num_incoming_channels
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 2
    functionsReached:
    - ossl_list_incoming_ch_num
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_port_get_num_incoming_channels(const QUIC_PORT *port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_port.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: validate_poll_descriptor
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: int validate_poll_descriptor(const BIO_POLL_DESCRIPTOR *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: ossl_quic_port_get_net_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_quic_port_get_net_rbio(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: ossl_quic_port_get_net_wbio
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_quic_port_get_net_wbio(QUIC_PORT *port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_rpoll_descriptor
      Src: /src/openssl/ssl/quic/quic_port.c:307,1
    - Dst: BIO_get_wpoll_descriptor
      Src: /src/openssl/ssl/quic/quic_port.c:308,1
    - Dst: validate_poll_descriptor
      Src: /src/openssl/ssl/quic/quic_port.c:312,1
    - Dst: ossl_quic_reactor_set_poll_w
      Src: /src/openssl/ssl/quic/quic_port.c:325,1
    - Dst: ossl_quic_reactor_set_poll_r
      Src: /src/openssl/ssl/quic/quic_port.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - port
    - net_bio
    - for_write
    argTypes:
    - QUIC_PORT*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 330
    functionName: port_update_poll_desc
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_reactor_set_poll_w
    - ossl_quic_reactor_set_poll_r
    - BIO_get_wpoll_descriptor
    - BIO_get_rpoll_descriptor
    - validate_poll_descriptor
    linkageType: ''
    returnType: int
    signature: int port_update_poll_desc(QUIC_PORT *port, BIO *net_bio, int for_write)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: port_update_poll_desc
      Src: /src/openssl/ssl/quic/quic_port.c:339,1
    - Dst: port_update_poll_desc
      Src: /src/openssl/ssl/quic/quic_port.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - port
    - force
    argTypes:
    - QUIC_PORT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: ossl_quic_port_update_poll_descriptors
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - port_update_poll_desc
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_update_poll_descriptors(QUIC_PORT *port, int force)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_dgram_get_effective_caps
      Src: /src/openssl/ssl/quic/quic_port.c:383,1
    - Dst: BIO_dgram_get_effective_caps
      Src: /src/openssl/ssl/quic/quic_port.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: port_update_addressing_mode
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - BIO_dgram_get_effective_caps
    linkageType: ''
    returnType: void
    signature: void port_update_addressing_mode(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: ossl_quic_port_is_addressed_r
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_is_addressed_r(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: ossl_quic_port_is_addressed_w
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_is_addressed_w(const QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_addressed_r
      Src: /src/openssl/ssl/quic/quic_port.c:405,1
    - Dst: ossl_quic_port_is_addressed_w
      Src: /src/openssl/ssl/quic/quic_port.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: ossl_quic_port_is_addressed
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_is_addressed_r
    - ossl_quic_port_is_addressed_w
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_is_addressed(const QUIC_PORT *port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port_update_poll_desc
      Src: /src/openssl/ssl/quic/quic_port.c:419,1
    - Dst: ossl_quic_demux_set_bio
      Src: /src/openssl/ssl/quic/quic_port.c:422,1
    - Dst: port_update_addressing_mode
      Src: /src/openssl/ssl/quic/quic_port.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - port
    - net_rbio
    argTypes:
    - QUIC_PORT*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 426
    functionName: ossl_quic_port_set_net_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - port_update_addressing_mode
    - ossl_quic_demux_set_bio
    - port_update_poll_desc
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_set_net_rbio(QUIC_PORT *port, BIO *net_rbio)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: port_update_poll_desc
      Src: /src/openssl/ssl/quic/quic_port.c:435,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_port.c:438,1
    - Dst: ossl_qtx_set_bio
      Src: /src/openssl/ssl/quic/quic_port.c:439,1
    - Dst: port_update_addressing_mode
      Src: /src/openssl/ssl/quic/quic_port.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - port
    - net_wbio
    argTypes:
    - QUIC_PORT*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 444
    functionName: ossl_quic_port_set_net_wbio
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - port_update_addressing_mode
    - OSSL_LIST_FOREACH
    - ossl_qtx_set_bio
    - port_update_poll_desc
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_set_net_wbio(QUIC_PORT *port, BIO *net_wbio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: ossl_quic_port_get_channel_ctx
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *ossl_quic_port_get_channel_ctx(QUIC_PORT *port)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_port.c:468,1
    - Dst: QUIC_PORT*::get_conn_user_ssl
      Src: /src/openssl/ssl/quic/quic_port.c:470,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_port.c:480,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:481,1
    - Dst: ossl_ssl_connection_new_int
      Src: /src/openssl/ssl/quic/quic_port.c:485,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_port.c:485,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_port.c:487,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:488,1
    - Dst: QUIC_LISTENER*::obj::ssl::ctx::new_pending_conn_cb
      Src: /src/openssl/ssl/quic/quic_port.c:493,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:495,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - port
    - ch
    argTypes:
    - QUIC_PORT*
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 506
    functionName: port_new_handshake_layer
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - QUIC_LISTENER*::obj::ssl::ctx::new_pending_conn_cb
    - ossl_ssl_connection_new_int
    - TLS_method
    - SSL_free
    - QUIC_PORT*::get_conn_user_ssl
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: SSL
    signature: SSL *port_new_handshake_layer(QUIC_PORT *port, QUIC_CHANNEL *ch)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_alloc
      Src: /src/openssl/ssl/quic/quic_port.c:532,1
    - Dst: port_new_handshake_layer
      Src: /src/openssl/ssl/quic/quic_port.c:539,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:542,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/quic_port.c:552,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:553,1
    - Dst: ossl_quic_channel_init
      Src: /src/openssl/ssl/quic/quic_port.c:562,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:563,1
    - Dst: ossl_qtx_set_bio
      Src: /src/openssl/ssl/quic/quic_port.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - port
    - tls
    - qrx
    - is_server
    - is_tserver
    argTypes:
    - QUIC_PORT*
    - SSL*
    - OSSL_QRX*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 508
    functionDepth: 6
    functionLinenumber: 508
    functionLinenumberEnd: 569
    functionName: port_make_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_alloc
    - ossl_quic_channel_init
    - ossl_qtx_set_bio
    - OPENSSL_free
    - port_new_handshake_layer
    - OPENSSL_strdup
    linkageType: ''
    returnType: QUIC_CHANNEL
    signature: "QUIC_CHANNEL *port_make_channel(QUIC_PORT *port, SSL *tls, OSSL_QRX
      *qrx,\n                                       int is_server, int is_tserver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_make_channel
      Src: /src/openssl/ssl/quic/quic_port.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - tls
    argTypes:
    - QUIC_PORT*
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 7
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: ossl_quic_port_create_outgoing
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 2
    functionsReached:
    - port_make_channel
    linkageType: ''
    returnType: QUIC_CHANNEL
    signature: QUIC_CHANNEL *ossl_quic_port_create_outgoing(QUIC_PORT *port, SSL *tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_port.c:581,1
    - Dst: port_make_channel
      Src: /src/openssl/ssl/quic/quic_port.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - port
    - tls
    argTypes:
    - QUIC_PORT*
    - SSL*
    assertStmts:
    - condition: (port->tserver_ch == NULL)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/openssl/ssl/quic/quic_port.c
    constantsTouched: []
    func_position:
      end: 592
      start: 577
    functionDepth: 7
    functionLinenumber: 577
    functionLinenumberEnd: 592
    functionName: ossl_quic_port_create_incoming
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - assert
    - port_make_channel
    linkageType: ''
    returnType: QUIC_CHANNEL
    signature: QUIC_CHANNEL *ossl_quic_port_create_incoming(QUIC_PORT *port, SSL *tls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_incoming_ch_head
      Src: /src/openssl/ssl/quic/quic_port.c:598,1
    - Dst: ossl_list_incoming_ch_remove
      Src: /src/openssl/ssl/quic/quic_port.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: ossl_quic_port_pop_incoming
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - ossl_list_incoming_ch_head
    - ossl_list_incoming_ch_remove
    linkageType: ''
    returnType: QUIC_CHANNEL
    signature: QUIC_CHANNEL *ossl_quic_port_pop_incoming(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_incoming_ch_head
      Src: /src/openssl/ssl/quic/quic_port.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: ossl_quic_port_have_incoming
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - ossl_list_incoming_ch_head
    linkageType: ''
    returnType: int
    signature: int ossl_quic_port_have_incoming(QUIC_PORT *port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_pop_incoming
      Src: /src/openssl/ssl/quic/quic_port.c:619,1
    - Dst: ossl_quic_channel_get0_tls
      Src: /src/openssl/ssl/quic/quic_port.c:623,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_port.c:632,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/quic/quic_port.c:636,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_port.c:638,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:639,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 644
    functionName: ossl_quic_port_drop_incoming
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_free
    - SSL_free
    - ossl_quic_port_pop_incoming
    - SSL_CONNECTION_GET_USER_SSL
    - ossl_quic_channel_get0_tls
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_drop_incoming(QUIC_PORT *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - allow_incoming
    argTypes:
    - QUIC_PORT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: ossl_quic_port_set_allow_incoming
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_set_allow_incoming(QUIC_PORT *port, int allow_incoming)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_port.c:665,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_port.c:668,1
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_port.c:672,1
    - Dst: port_rx_pre
      Src: /src/openssl/ssl/quic/quic_port.c:673,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_port.c:676,1
    - Dst: ossl_quic_channel_subtick
      Src: /src/openssl/ssl/quic/quic_port.c:679,1
    - Dst: ossl_quic_tick_result_merge_into
      Src: /src/openssl/ssl/quic/quic_port.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - port
    - res
    - flags
    argTypes:
    - QUIC_PORT*
    - QUIC_TICK_RESULT*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 683
    functionName: ossl_quic_port_subtick
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_time_infinite
    - ossl_quic_channel_subtick
    - ossl_quic_port_is_running
    - OSSL_LIST_FOREACH
    - port_rx_pre
    - ossl_quic_tick_result_merge_into
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_port_subtick(QUIC_PORT *port, QUIC_TICK_RESULT *res,\n
      \                           uint32_t flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_demux_pump
      Src: /src/openssl/ssl/quic/quic_port.c:713,1
    - Dst: ossl_quic_port_raise_net_error
      Src: /src/openssl/ssl/quic/quic_port.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 686
    functionDepth: 5
    functionLinenumber: 686
    functionLinenumberEnd: 722
    functionName: port_rx_pre
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - ossl_quic_port_raise_net_error
    - ossl_quic_demux_pump
    linkageType: ''
    returnType: void
    signature: void port_rx_pre(QUIC_PORT *port)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_bind_qrx
      Src: /src/openssl/ssl/quic/quic_port.c:743,1
    - Dst: ossl_qrx_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_port.c:744,1
    - Dst: ossl_qrx_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_port.c:746,1
    - Dst: port_make_channel
      Src: /src/openssl/ssl/quic/quic_port.c:748,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/ssl/quic/quic_port.c:764,1
    - Dst: ossl_quic_tx_packetiser_set_validated
      Src: /src/openssl/ssl/quic/quic_port.c:776,1
    - Dst: ossl_quic_bind_channel
      Src: /src/openssl/ssl/quic/quic_port.c:777,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_port.c:778,1
    - Dst: ossl_quic_channel_on_new_conn
      Src: /src/openssl/ssl/quic/quic_port.c:786,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_port.c:787,1
    - Dst: ossl_list_incoming_ch_insert_tail
      Src: /src/openssl/ssl/quic/quic_port.c:792,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 7
    argNames:
    - port
    - peer
    - scid
    - dcid
    - odcid
    - qrx
    - new_ch
    argTypes:
    - QUIC_PORT*
    - BIO_ADDR*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    - OSSL_QRX*
    - QUIC_CHANNEL**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 729
    functionDepth: 7
    functionLinenumber: 729
    functionLinenumberEnd: 794
    functionName: port_bind_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_free
    - ossl_quic_tx_packetiser_set_validated
    - ossl_qrx_set_msg_callback_arg
    - ossl_quic_bind_channel
    - ossl_list_incoming_ch_insert_tail
    - port_make_channel
    - ossl_quic_channel_on_new_conn
    - ossl_qrx_set_msg_callback
    - ossl_quic_provide_initial_secret
    - ossl_quic_channel_bind_qrx
    linkageType: ''
    returnType: void
    signature: "void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,\n                              const
      QUIC_CONN_ID *scid, const QUIC_CONN_ID *dcid,\n                              const
      QUIC_CONN_ID *odcid, OSSL_QRX *qrx,\n                              QUIC_CHANNEL
      **new_ch)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_port.c:799,1
    - Dst: ossl_quic_srtm_lookup
      Src: /src/openssl/ssl/quic/quic_port.c:829,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_port.c:835,1
    - Dst: ossl_quic_channel_on_stateless_reset
      Src: /src/openssl/ssl/quic/quic_port.c:836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - port
    - e
    argTypes:
    - QUIC_PORT*
    - QUIC_URXE*
    assertStmts:
    - condition: (opaque != NULL)
      pos:
        line_end: 834
        line_start: 834
        source_file: /src/openssl/ssl/quic/quic_port.c
    constantsTouched: []
    func_position:
      end: 840
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 840
    functionName: port_try_handle_stateless_reset
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - assert
    - ossl_quic_channel_on_stateless_reset
    - ossl_quic_urxe_data
    - ossl_quic_srtm_lookup
    linkageType: ''
    returnType: int
    signature: int port_try_handle_stateless_reset(QUIC_PORT *port, const QUIC_URXE
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - QUIC_VALIDATION_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: cleanup_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void cleanup_validation_token(QUIC_VALIDATION_TOKEN *token)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/quic_port.c:863,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_port.c:868,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_port.c:870,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_port.c:871,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - peer
    - odcid
    - rscid
    - token
    - is_retry
    argTypes:
    - BIO_ADDR*
    - QUIC_CONN_ID
    - QUIC_CONN_ID
    - QUIC_VALIDATION_TOKEN*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 878
    functionName: generate_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_rawaddress
    - cleanup_validation_token
    - ossl_time_now
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int generate_token(BIO_ADDR *peer, QUIC_CONN_ID odcid,\n                          QUIC_CONN_ID
      rscid, QUIC_VALIDATION_TOKEN *token,\n                          int is_retry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/ssl/quic/quic_port.c:894,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_port.c:898,1
    - Dst: WPACKET_init
      Src: /src/openssl/ssl/quic/quic_port.c:902,1
    - Dst: WPACKET_memset
      Src: /src/openssl/ssl/quic/quic_port.c:903,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_port.c:904,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/quic/quic_port.c:907,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/quic/quic_port.c:909,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/quic/quic_port.c:911,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_port.c:912,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_port.c:914,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_port.c:915,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_port.c:916,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_port.c:920,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_port.c:921,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 3
    argNames:
    - token
    - buffer
    - buffer_len
    argTypes:
    - QUIC_VALIDATION_TOKEN*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 890
    functionDepth: 5
    functionLinenumber: 890
    functionLinenumberEnd: 923
    functionName: marshal_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - BUF_MEM_free
    - WPACKET_cleanup
    - memcpy
    - WPACKET_get_total_written
    - WPACKET_memset
    - WPACKET_sub_memcpy_u8
    - BUF_MEM_new
    - WPACKET_init
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int marshal_validation_token(QUIC_VALIDATION_TOKEN *token,\n                                    unsigned
      char *buffer, size_t *buffer_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/ssl/quic/quic_port.c:952,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/quic/quic_port.c:953,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/quic/quic_port.c:965,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/openssl/ssl/quic/quic_port.c:966,1
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/ssl/quic/quic_port.c:967,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/openssl/ssl/quic/quic_port.c:968,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/quic/quic_port.c:969,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - port
    - plaintext
    - pt_len
    - ciphertext
    - ct_len
    argTypes:
    - QUIC_PORT*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 942
    functionDepth: 7
    functionLinenumber: 942
    functionLinenumberEnd: 975
    functionName: encrypt_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_EncryptUpdate
    - EVP_EncryptFinal_ex
    - EVP_CIPHER_CTX_ctrl
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: "int encrypt_validation_token(const QUIC_PORT *port,\n                                    const
      unsigned char *plaintext,\n                                    size_t pt_len,\n
      \                                   unsigned char *ciphertext,\n                                    size_t
      *ct_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_get_tag_length
      Src: /src/openssl/ssl/quic/quic_port.c:1002,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/quic/quic_port.c:1003,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1019,1
    - Dst: EVP_DecryptUpdate
      Src: /src/openssl/ssl/quic/quic_port.c:1020,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/quic/quic_port.c:1022,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1024,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - port
    - ciphertext
    - ct_len
    - plaintext
    - pt_len
    argTypes:
    - QUIC_PORT*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 992
    functionDepth: 6
    functionLinenumber: 992
    functionLinenumberEnd: 1031
    functionName: decrypt_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CIPHER_CTX_get_tag_length
    - EVP_DecryptInit_ex
    - EVP_DecryptUpdate
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    linkageType: ''
    returnType: int
    signature: "int decrypt_validation_token(const QUIC_PORT *port,\n                                    const
      unsigned char *ciphertext,\n                                    size_t ct_len,\n
      \                                   unsigned char *plaintext,\n                                    size_t
      *pt_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_port.c:1052,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1053,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1055,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/quic/quic_port.c:1058,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_port.c:1059,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1061,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/quic/quic_port.c:1064,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_port.c:1065,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1067,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/quic/quic_port.c:1069,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_port.c:1070,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_port.c:1071,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_port.c:1072,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_port.c:1073,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1074,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 9
    argCount: 3
    argNames:
    - token
    - buf
    - buf_len
    argTypes:
    - QUIC_VALIDATION_TOKEN*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1042
    functionDepth: 4
    functionLinenumber: 1042
    functionLinenumberEnd: 1079
    functionName: parse_validation_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_get_length_prefixed_1
    - cleanup_validation_token
    - PACKET_remaining
    - PACKET_copy_bytes
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int parse_validation_token(QUIC_VALIDATION_TOKEN *token,\n                                  const
      unsigned char *buf, size_t buf_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_port.c:1121,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_port.c:1128,1
    - Dst: ossl_quic_lcidm_get_unused_cid
      Src: /src/openssl/ssl/quic/quic_port.c:1135,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_port.c:1139,1
    - Dst: generate_token
      Src: /src/openssl/ssl/quic/quic_port.c:1142,1
    - Dst: marshal_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1144,1
    - Dst: encrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1145,1
    - Dst: encrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1148,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_port.c:1150,1
    - Dst: ossl_quic_calculate_retry_integrity_tag
      Src: /src/openssl/ssl/quic/quic_port.c:1159,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_port.c:1175,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_port.c:1179,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_port.c:1184,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_port.c:1188,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/ssl/quic/quic_port.c:1196,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/quic/quic_port.c:1197,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1201,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 3
    argNames:
    - port
    - peer
    - client_hdr
    argTypes:
    - QUIC_PORT*
    - BIO_ADDR*
    - QUIC_PKT_HDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1103
    functionDepth: 8
    functionLinenumber: 1103
    functionLinenumberEnd: 1202
    functionName: port_send_retry
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - WPACKET_finish
    - encrypt_validation_token
    - memset
    - ossl_quic_calculate_retry_integrity_tag
    - ossl_quic_wire_encode_pkt_hdr
    - ERR_raise_data
    - generate_token
    - WPACKET_get_total_written
    - cleanup_validation_token
    - BIO_sendmmsg
    - ossl_quic_lcidm_get_unused_cid
    - marshal_validation_token
    - WPACKET_init_static_len
    linkageType: ''
    returnType: void
    signature: "void port_send_retry(QUIC_PORT *port,\n                            BIO_ADDR
      *peer,\n                            QUIC_PKT_HDR *client_hdr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_port.c:1232,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_port.c:1262,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_port.c:1265,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_port.c:1272,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/ssl/quic/quic_port.c:1273,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_port.c:1277,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_port.c:1280,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/ssl/quic/quic_port.c:1288,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/quic/quic_port.c:1289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - port
    - peer
    - client_hdr
    argTypes:
    - QUIC_PORT*
    - BIO_ADDR*
    - QUIC_PKT_HDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1221
    functionDepth: 4
    functionLinenumber: 1221
    functionLinenumberEnd: 1291
    functionName: port_send_version_negotiation
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - memset
    - ossl_quic_wire_encode_pkt_hdr
    - ERR_raise_data
    - WPACKET_get_total_written
    - OSSL_NELEM
    - BIO_sendmmsg
    - WPACKET_put_bytes_u32
    - WPACKET_init_static_len
    linkageType: ''
    returnType: void
    signature: "void port_send_version_negotiation(QUIC_PORT *port, BIO_ADDR *peer,\n
      \                                         QUIC_PKT_HDR *client_hdr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/quic_port.c:1341,1
    - Dst: decrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1345,1
    - Dst: decrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1348,1
    - Dst: parse_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1350,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_port.c:1357,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/quic/quic_port.c:1359,1
    - Dst: ossl_time_abs_difference
      Src: /src/openssl/ssl/quic/quic_port.c:1359,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_port.c:1366,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_port.c:1368,1
    - Dst: BIO_ADDR_rawaddress
      Src: /src/openssl/ssl/quic/quic_port.c:1369,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_port.c:1370,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_port.c:1389,1
    - Dst: ossl_quic_lcidm_get_unused_cid
      Src: /src/openssl/ssl/quic/quic_port.c:1395,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1420,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:1421,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 39
    argCount: 6
    argNames:
    - hdr
    - port
    - peer
    - odcid
    - scid
    - gen_new_token
    argTypes:
    - QUIC_PKT_HDR*
    - QUIC_PORT*
    - BIO_ADDR*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1332
    functionDepth: 7
    functionLinenumber: 1332
    functionLinenumberEnd: 1423
    functionName: port_validate_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_time_abs_difference
    - memcmp
    - decrypt_validation_token
    - ossl_time_compare
    - cleanup_validation_token
    - OPENSSL_free
    - ossl_quic_lcidm_get_unused_cid
    - parse_validation_token
    - ossl_time_now
    - BIO_ADDR_rawaddress
    - ossl_time2seconds
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port,\n                               BIO_ADDR
      *peer, QUIC_CONN_ID *odcid,\n                               QUIC_CONN_ID *scid,
      uint8_t *gen_new_token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_port.c:1438,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/quic/quic_port.c:1449,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:1450,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_port.c:1454,1
    - Dst: generate_token
      Src: /src/openssl/ssl/quic/quic_port.c:1456,1
    - Dst: marshal_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1457,1
    - Dst: encrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1458,1
    - Dst: encrypt_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1461,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_port.c:1463,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_port.c:1464,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1465,1
    - Dst: cleanup_validation_token
      Src: /src/openssl/ssl/quic/quic_port.c:1472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ch
    - peer
    argTypes:
    - QUIC_CHANNEL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1425
    functionDepth: 8
    functionLinenumber: 1425
    functionLinenumberEnd: 1473
    functionName: generate_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OPENSSL_zalloc
    - encrypt_validation_token
    - memset
    - generate_token
    - cleanup_validation_token
    - OPENSSL_free
    - marshal_validation_token
    - RAND_bytes_ex
    linkageType: ''
    returnType: void
    signature: void generate_new_token(QUIC_CHANNEL *ch, BIO_ADDR *peer)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_port.c:1495,1
    - Dst: port_try_handle_stateless_reset
      Src: /src/openssl/ssl/quic/quic_port.c:1498,1
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/ssl/quic/quic_port.c:1502,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_port.c:1504,1
    - Dst: ossl_quic_channel_inject
      Src: /src/openssl/ssl/quic/quic_port.c:1505,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_port.c:1523,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_port.c:1523,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_port.c:1531,1
    - Dst: port_send_version_negotiation
      Src: /src/openssl/ssl/quic/quic_port.c:1563,1
    - Dst: ossl_qrx_new
      Src: /src/openssl/ssl/quic/quic_port.c:1584,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/ssl/quic/quic_port.c:1591,1
    - Dst: ossl_qrx_validate_initial_packet
      Src: /src/openssl/ssl/quic/quic_port.c:1598,1
    - Dst: port_send_retry
      Src: /src/openssl/ssl/quic/quic_port.c:1624,1
    - Dst: port_validate_token
      Src: /src/openssl/ssl/quic/quic_port.c:1635,1
    - Dst: port_send_retry
      Src: /src/openssl/ssl/quic/quic_port.c:1654,1
    - Dst: port_bind_channel
      Src: /src/openssl/ssl/quic/quic_port.c:1669,1
    - Dst: generate_new_token
      Src: /src/openssl/ssl/quic/quic_port.c:1683,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/ssl/quic/quic_port.c:1695,1
    - Dst: ossl_quic_channel_inject_pkt
      Src: /src/openssl/ssl/quic/quic_port.c:1696,1
    - Dst: ossl_qrx_update_pn_space
      Src: /src/openssl/ssl/quic/quic_port.c:1697,1
    - Dst: ossl_qrx_free
      Src: /src/openssl/ssl/quic/quic_port.c:1714,1
    - Dst: ossl_qrx_free
      Src: /src/openssl/ssl/quic/quic_port.c:1715,1
    - Dst: ossl_quic_demux_release_urxe
      Src: /src/openssl/ssl/quic/quic_port.c:1716,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 92
    argCount: 3
    argNames:
    - e
    - arg
    - dcid
    argTypes:
    - QUIC_URXE*
    - void*
    - QUIC_CONN_ID*
    assertStmts:
    - condition: (ch != NULL)
      pos:
        line_end: 1503
        line_start: 1503
        source_file: /src/openssl/ssl/quic/quic_port.c
    constantsTouched: []
    func_position:
      end: 1717
      start: 1479
    functionDepth: 9
    functionLinenumber: 1479
    functionLinenumberEnd: 1717
    functionName: port_default_packet_handler
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - port_bind_channel
    - ossl_qrx_free
    - ossl_quic_channel_inject_pkt
    - ossl_quic_port_is_running
    - ossl_quic_lcidm_lookup
    - assert
    - PACKET_buf_init
    - ossl_qrx_validate_initial_packet
    - generate_new_token
    - port_send_retry
    - port_try_handle_stateless_reset
    - port_validate_token
    - ossl_qrx_new
    - port_send_version_negotiation
    - ossl_quic_provide_initial_secret
    - ossl_quic_wire_decode_pkt_hdr
    - ossl_quic_urxe_data
    - ossl_qrx_update_pn_space
    - ossl_quic_demux_release_urxe
    - ossl_qrx_read_pkt
    - ossl_quic_channel_inject
    linkageType: ''
    returnType: void
    signature: "void port_default_packet_handler(QUIC_URXE *e, void *arg,\n                                        const
      QUIC_CONN_ID *dcid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_port.c:1724,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/quic/quic_port.c:1731,1
    - Dst: OSSL_ERR_STATE_save
      Src: /src/openssl/ssl/quic/quic_port.c:1733,1
    - Dst: port_transition_failed
      Src: /src/openssl/ssl/quic/quic_port.c:1735,1
    - Dst: ossl_quic_channel_raise_net_error
      Src: /src/openssl/ssl/quic/quic_port.c:1739,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_port.c:1741,1
    - Dst: ossl_quic_channel_raise_net_error
      Src: /src/openssl/ssl/quic/quic_port.c:1743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - port
    - triggering_ch
    argTypes:
    - QUIC_PORT*
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1719
    functionDepth: 5
    functionLinenumber: 1719
    functionLinenumberEnd: 1744
    functionName: ossl_quic_port_raise_net_error
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 1
    functionsReached:
    - OSSL_ERR_STATE_save
    - port_transition_failed
    - ERR_raise_data
    - ossl_quic_port_is_running
    - OSSL_LIST_FOREACH
    - ossl_quic_channel_raise_net_error
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_port_raise_net_error(QUIC_PORT *port,\n                                    QUIC_CHANNEL
      *triggering_ch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/quic/quic_port.c:1748,1
    - Dst: OSSL_ERR_STATE_restore
      Src: /src/openssl/ssl/quic/quic_port.c:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1746
    functionDepth: 5
    functionLinenumber: 1746
    functionLinenumberEnd: 1750
    functionName: ossl_quic_port_restore_err_state
    functionSourceFile: /src/openssl/ssl/quic/quic_port.c
    functionUses: 0
    functionsReached:
    - ERR_clear_error
    - OSSL_ERR_STATE_restore
    linkageType: ''
    returnType: void
    signature: void ossl_quic_port_restore_err_state(const QUIC_PORT *port)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - txfc
    - conn_txfc
    argTypes:
    - QUIC_TXFC*
    - QUIC_TXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: ossl_quic_txfc_init
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_txfc_init(QUIC_TXFC *txfc, QUIC_TXFC *conn_txfc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txfc
    argTypes:
    - QUIC_TXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ossl_quic_txfc_get_parent
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_TXFC
    signature: QUIC_TXFC *ossl_quic_txfc_get_parent(QUIC_TXFC *txfc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - txfc
    - cwm
    argTypes:
    - QUIC_TXFC*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: ossl_quic_txfc_bump_cwm
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_txfc_bump_cwm(QUIC_TXFC *txfc, uint64_t cwm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_fc.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - txfc
    - consumed
    argTypes:
    - QUIC_TXFC*
    - uint64_t
    assertStmts:
    - condition: ((txfc->swm + consumed) <= txfc->cwm)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/openssl/ssl/quic/quic_fc.c
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ossl_quic_txfc_get_credit_local
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_txfc_get_credit_local(QUIC_TXFC *txfc, uint64_t
      consumed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/ssl/quic/quic_fc.c:59,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_fc.c:62,1
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/ssl/quic/quic_fc.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - txfc
    - consumed
    argTypes:
    - QUIC_TXFC*
    - uint64_t
    assertStmts:
    - condition: (txfc->parent->parent == NULL)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/openssl/ssl/quic/quic_fc.c
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: ossl_quic_txfc_get_credit
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 2
    functionsReached:
    - ossl_quic_txfc_get_credit_local
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_txfc_get_credit(QUIC_TXFC *txfc, uint64_t consumed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_txfc_get_credit_local
      Src: /src/openssl/ssl/quic/quic_fc.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - txfc
    - num_bytes
    argTypes:
    - QUIC_TXFC*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: ossl_quic_txfc_consume_credit_local
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txfc_get_credit_local
    linkageType: ''
    returnType: int
    signature: int ossl_quic_txfc_consume_credit_local(QUIC_TXFC *txfc, uint64_t num_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_txfc_consume_credit_local
      Src: /src/openssl/ssl/quic/quic_fc.c:90,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_fc.c:93,1
    - Dst: ossl_quic_txfc_consume_credit_local
      Src: /src/openssl/ssl/quic/quic_fc.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - txfc
    - num_bytes
    argTypes:
    - QUIC_TXFC*
    - uint64_t
    assertStmts:
    - condition: (txfc->parent->parent == NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/openssl/ssl/quic/quic_fc.c
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: ossl_quic_txfc_consume_credit
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 2
    functionsReached:
    - ossl_quic_txfc_consume_credit_local
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_quic_txfc_consume_credit(QUIC_TXFC *txfc, uint64_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - txfc
    - clear
    argTypes:
    - QUIC_TXFC*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: ossl_quic_txfc_has_become_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_txfc_has_become_blocked(QUIC_TXFC *txfc, int clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txfc
    argTypes:
    - QUIC_TXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: ossl_quic_txfc_get_cwm
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_txfc_get_cwm(QUIC_TXFC *txfc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txfc
    argTypes:
    - QUIC_TXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: ossl_quic_txfc_get_swm
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_txfc_get_swm(QUIC_TXFC *txfc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_fc.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - rxfc
    - conn_rxfc
    - initial_window_size
    - max_window_size
    - now_arg
    argTypes:
    - QUIC_RXFC*
    - QUIC_RXFC*
    - uint64_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: ossl_quic_rxfc_init
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 3
    functionsReached:
    - ossl_time_zero
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rxfc_init(QUIC_RXFC *rxfc, QUIC_RXFC *conn_rxfc,\n                        uint64_t
      initial_window_size,\n                        uint64_t max_window_size,\n                        OSSL_TIME
      (*now)(void *now_arg),\n                        void *now_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/ssl/quic/quic_fc.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rxfc
    - initial_window_size
    - now_arg
    argTypes:
    - QUIC_RXFC*
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: ossl_quic_rxfc_init_standalone
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rxfc_init
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rxfc_init_standalone(QUIC_RXFC *rxfc,\n                                   uint64_t
      initial_window_size,\n                                   OSSL_TIME (*now)(void
      *arg),\n                                   void *now_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rxfc
    argTypes:
    - QUIC_RXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: ossl_quic_rxfc_get_parent
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_RXFC
    signature: QUIC_RXFC *ossl_quic_rxfc_get_parent(QUIC_RXFC *rxfc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rxfc
    - max_window_size
    argTypes:
    - QUIC_RXFC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ossl_quic_rxfc_set_max_window_size
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_rxfc_set_max_window_size(QUIC_RXFC *rxfc,\n                                        size_t
      max_window_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_RXFC*::now
      Src: /src/openssl/ssl/quic/quic_fc.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rxfc
    argTypes:
    - QUIC_RXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: rxfc_start_epoch
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached:
    - QUIC_RXFC*::now
    linkageType: ''
    returnType: void
    signature: void rxfc_start_epoch(QUIC_RXFC *rxfc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rxfc
    - num_bytes
    argTypes:
    - QUIC_RXFC*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: on_rx_controlled_bytes
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int on_rx_controlled_bytes(QUIC_RXFC *rxfc, uint64_t num_bytes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: on_rx_controlled_bytes
      Src: /src/openssl/ssl/quic/quic_fc.c:219,1
    - Dst: on_rx_controlled_bytes
      Src: /src/openssl/ssl/quic/quic_fc.c:221,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - rxfc
    - end
    - is_fin
    argTypes:
    - QUIC_RXFC*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 228
    functionName: ossl_quic_rxfc_on_rx_stream_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 2
    functionsReached:
    - on_rx_controlled_bytes
    linkageType: ''
    returnType: int
    signature: int ossl_quic_rxfc_on_rx_stream_frame(QUIC_RXFC *rxfc, uint64_t end,
      int is_fin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safe_muldiv_uint64_t
      Src: /src/openssl/ssl/quic/quic_fc.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rxfc
    argTypes:
    - QUIC_RXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: rxfc_cwm_bump_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached:
    - safe_muldiv_uint64_t
    linkageType: ''
    returnType: int
    signature: int rxfc_cwm_bump_desired(QUIC_RXFC *rxfc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_RXFC*::now
      Src: /src/openssl/ssl/quic/quic_fc.c:283,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_fc.c:284,1
    - Dst: ossl_time_muldiv
      Src: /src/openssl/ssl/quic/quic_fc.c:285,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_fc.c:287,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_fc.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rxfc
    - rtt
    argTypes:
    - QUIC_RXFC*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 288
    functionName: rxfc_should_bump_window_size
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    - ossl_time_subtract
    - QUIC_RXFC*::now
    - ossl_time_muldiv
    - ossl_time_multiply
    linkageType: ''
    returnType: int
    signature: int rxfc_should_bump_window_size(QUIC_RXFC *rxfc, OSSL_TIME rtt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rxfc_should_bump_window_size
      Src: /src/openssl/ssl/quic/quic_fc.c:298,1
    - Dst: rxfc_start_epoch
      Src: /src/openssl/ssl/quic/quic_fc.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - rxfc
    - min_window_size
    - rtt
    argTypes:
    - QUIC_RXFC*
    - uint64_t
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 308
    functionName: rxfc_adjust_window_size
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached:
    - rxfc_should_bump_window_size
    - rxfc_start_epoch
    linkageType: ''
    returnType: void
    signature: "void rxfc_adjust_window_size(QUIC_RXFC *rxfc, uint64_t min_window_size,\n
      \                                   OSSL_TIME rtt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rxfc_cwm_bump_desired
      Src: /src/openssl/ssl/quic/quic_fc.c:315,1
    - Dst: rxfc_adjust_window_size
      Src: /src/openssl/ssl/quic/quic_fc.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rxfc
    - min_window_size
    - rtt
    argTypes:
    - QUIC_RXFC*
    - uint64_t
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: rxfc_update_cwm
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached:
    - rxfc_adjust_window_size
    - rxfc_cwm_bump_desired
    linkageType: ''
    returnType: void
    signature: "void rxfc_update_cwm(QUIC_RXFC *rxfc, uint64_t min_window_size,\n
      \                           OSSL_TIME rtt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_fc.c:331,1
    - Dst: rxfc_start_epoch
      Src: /src/openssl/ssl/quic/quic_fc.c:333,1
    - Dst: rxfc_update_cwm
      Src: /src/openssl/ssl/quic/quic_fc.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - rxfc
    - num_bytes
    - min_window_size
    - rtt
    argTypes:
    - QUIC_RXFC*
    - uint64_t
    - uint64_t
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 6
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: rxfc_on_retire
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 5
    functionsReached:
    - ossl_time_is_zero
    - rxfc_update_cwm
    - rxfc_start_epoch
    linkageType: ''
    returnType: int
    signature: "int rxfc_on_retire(QUIC_RXFC *rxfc, uint64_t num_bytes,\n                          uint64_t
      min_window_size,\n                          OSSL_TIME rtt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_fc.c:354,1
    - Dst: rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_fc.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - rxfc
    - num_bytes
    - rtt
    argTypes:
    - QUIC_RXFC*
    - uint64_t
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 7
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: ossl_quic_rxfc_on_retire
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 5
    functionsReached:
    - rxfc_on_retire
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rxfc_on_retire(QUIC_RXFC *rxfc,\n                             uint64_t
      num_bytes,\n                             OSSL_TIME rtt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rxfc
    argTypes:
    - QUIC_RXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: ossl_quic_rxfc_get_cwm
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_rxfc_get_cwm(const QUIC_RXFC *rxfc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rxfc
    argTypes:
    - QUIC_RXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: ossl_quic_rxfc_get_swm
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_rxfc_get_swm(const QUIC_RXFC *rxfc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rxfc
    argTypes:
    - QUIC_RXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: ossl_quic_rxfc_get_rwm
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_rxfc_get_rwm(const QUIC_RXFC *rxfc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_fc.c:379,1
    - Dst: ossl_quic_rxfc_get_swm
      Src: /src/openssl/ssl/quic/quic_fc.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rxfc
    argTypes:
    - QUIC_RXFC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: ossl_quic_rxfc_get_credit
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rxfc_get_cwm
    - ossl_quic_rxfc_get_swm
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_rxfc_get_credit(const QUIC_RXFC *rxfc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rxfc
    - clear
    argTypes:
    - QUIC_RXFC*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: ossl_quic_rxfc_has_cwm_changed
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_rxfc_has_cwm_changed(QUIC_RXFC *rxfc, int clear)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rxfc
    - clear
    argTypes:
    - QUIC_RXFC*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: ossl_quic_rxfc_get_error
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_rxfc_get_error(QUIC_RXFC *rxfc, int clear)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rxfc
    - final_size
    argTypes:
    - QUIC_RXFC*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: ossl_quic_rxfc_get_final_size
    functionSourceFile: /src/openssl/ssl/quic/quic_fc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_rxfc_get_final_size(const QUIC_RXFC *rxfc, uint64_t *final_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_obj_local.h:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: ossl_quic_obj_get0_ssl
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_ssl(QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj_local.h:191,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj_local.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj->init_done)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/openssl/ssl/quic/quic_obj_local.h
    - condition: (obj->engine != NULL)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/openssl/ssl/quic/quic_obj_local.h
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: ossl_quic_obj_get0_engine
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_engine(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj_local.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj->init_done)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/openssl/ssl/quic/quic_obj_local.h
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: ossl_quic_obj_get0_port
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 8
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_port(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: ossl_quic_obj_is_event_leader
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_obj_is_event_leader(const QUIC_OBJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_obj_is_event_leader
      Src: /src/openssl/ssl/quic/quic_obj_local.h:218,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: ossl_quic_obj_get0_engine_local
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - ossl_quic_obj_is_event_leader
    - ossl_quic_obj_get0_engine
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_engine_local(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: ossl_quic_obj_is_port_leader
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_obj_is_port_leader(const QUIC_OBJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_obj_is_port_leader
      Src: /src/openssl/ssl/quic/quic_obj_local.h:236,1
    - Dst: ossl_quic_obj_get0_port
      Src: /src/openssl/ssl/quic/quic_obj_local.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: ossl_quic_obj_get0_port_local
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - ossl_quic_obj_is_port_leader
    - ossl_quic_obj_get0_port
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_port_local(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_engine_get0_mutex
      Src: /src/openssl/ssl/quic/quic_obj_local.h:277,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: ossl_quic_obj_get0_mutex
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 2
    functionsReached:
    - ossl_quic_engine_get0_mutex
    - ossl_quic_obj_get0_engine
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_mutex(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_engine_get0_reactor
      Src: /src/openssl/ssl/quic/quic_obj_local.h:287,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: ossl_quic_obj_get0_reactor
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 9
    functionsReached:
    - ossl_quic_engine_get0_reactor
    - ossl_quic_obj_get0_engine
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_reactor(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_engine_get0_libctx
      Src: /src/openssl/ssl/quic/quic_obj_local.h:294,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: ossl_quic_obj_get0_libctx
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - ossl_quic_engine_get0_libctx
    - ossl_quic_obj_get0_engine
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_libctx(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_engine_get0_propq
      Src: /src/openssl/ssl/quic/quic_obj_local.h:301,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj_local.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: ossl_quic_obj_get0_propq
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - ossl_quic_engine_get0_propq
    - ossl_quic_obj_get0_engine
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_propq(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj_local.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj->init_done)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/openssl/ssl/quic/quic_obj_local.h
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: ossl_quic_obj_get0_event_leader
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_event_leader(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj_local.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj->init_done)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/openssl/ssl/quic/quic_obj_local.h
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: ossl_quic_obj_get0_port_leader
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: 'ossl_inline *

      ossl_quic_obj_get0_port_leader(const QUIC_OBJ *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - domain_flags
    argTypes:
    - QUIC_OBJ*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: ossl_quic_obj_set_domain_flags
    functionSourceFile: /src/openssl/ssl/quic/quic_obj_local.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ossl_quic_obj_set_domain_flags(QUIC_OBJ *obj, uint64_t
      domain_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_sf_list.c:24,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/ssl/quic/quic_sf_list.c:26,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_sf_list.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - fl
    - sf
    argTypes:
    - SFRAME_LIST*
    - STREAM_FRAME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: stream_frame_free
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_qrx_pkt_release
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void stream_frame_free(SFRAME_LIST *fl, STREAM_FRAME *sf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_sf_list.c:33,1
    - Dst: ossl_qrx_pkt_up_ref
      Src: /src/openssl/ssl/quic/quic_sf_list.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - range
    - pkt
    - data
    argTypes:
    - UINT_RANGE*
    - OSSL_QRX_PKT*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: stream_frame_new
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 0
    functionsReached:
    - ossl_qrx_pkt_up_ref
    - OPENSSL_zalloc
    linkageType: ''
    returnType: STREAM_FRAME
    signature: "STREAM_FRAME *stream_frame_new(UINT_RANGE *range, OSSL_QRX_PKT *pkt,\n
      \                                     const unsigned char *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_sf_list.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fl
    argTypes:
    - SFRAME_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: ossl_sframe_list_init
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ossl_sframe_list_init(SFRAME_LIST *fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_frame_free
      Src: /src/openssl/ssl/quic/quic_sf_list.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fl
    argTypes:
    - SFRAME_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: ossl_sframe_list_destroy
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 1
    functionsReached:
    - stream_frame_free
    linkageType: ''
    returnType: void
    signature: void ossl_sframe_list_destroy(SFRAME_LIST *fl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stream_frame_new
      Src: /src/openssl/ssl/quic/quic_sf_list.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - fl
    - range
    - pkt
    - data
    argTypes:
    - SFRAME_LIST*
    - UINT_RANGE*
    - OSSL_QRX_PKT*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: append_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 0
    functionsReached:
    - stream_frame_new
    linkageType: ''
    returnType: int
    signature: "int append_frame(SFRAME_LIST *fl, UINT_RANGE *range,\n                        OSSL_QRX_PKT
      *pkt,\n                        const unsigned char *data)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_sf_list.c:89,1
    - Dst: stream_frame_new
      Src: /src/openssl/ssl/quic/quic_sf_list.c:98,1
    - Dst: append_frame
      Src: /src/openssl/ssl/quic/quic_sf_list.c:111,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_sf_list.c:121,1
    - Dst: stream_frame_new
      Src: /src/openssl/ssl/quic/quic_sf_list.c:132,1
    - Dst: stream_frame_free
      Src: /src/openssl/ssl/quic/quic_sf_list.c:150,1
    - Dst: stream_frame_free
      Src: /src/openssl/ssl/quic/quic_sf_list.c:157,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 5
    argNames:
    - fl
    - range
    - pkt
    - data
    - fin
    argTypes:
    - SFRAME_LIST*
    - UINT_RANGE*
    - OSSL_QRX_PKT*
    - unsigned char*
    - int
    assertStmts:
    - condition: "((!fin || curr_end <= range->end)\n           && (!fl->fin || curr_end
        >= range->end))"
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/openssl/ssl/quic/quic_sf_list.c
    constantsTouched: []
    func_position:
      end: 179
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 179
    functionName: ossl_sframe_list_insert
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - stream_frame_new
    - append_frame
    - stream_frame_free
    - assert
    linkageType: ''
    returnType: int
    signature: "int ossl_sframe_list_insert(SFRAME_LIST *fl, UINT_RANGE *range,\n
      \                           OSSL_QRX_PKT *pkt,\n                            const
      unsigned char *data, int fin)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_sf_list.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - fl
    - iter
    - range
    - data
    - fin
    argTypes:
    - SFRAME_LIST*
    - void**
    - UINT_RANGE*
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 216
    functionName: ossl_sframe_list_peek
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int ossl_sframe_list_peek(const SFRAME_LIST *fl, void **iter,\n                          UINT_RANGE
      *range, const unsigned char **data,\n                          int *fin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_sf_list.c:223,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_sf_list.c:224,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_sf_list.c:226,1
    - Dst: stream_frame_free
      Src: /src/openssl/ssl/quic/quic_sf_list.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - fl
    - limit
    argTypes:
    - SFRAME_LIST*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 249
    functionName: ossl_sframe_list_drop_frames
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 3
    functionsReached:
    - ossl_assert
    - stream_frame_free
    linkageType: ''
    returnType: int
    signature: int ossl_sframe_list_drop_frames(SFRAME_LIST *fl, uint64_t limit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_sframe_list_peek
      Src: /src/openssl/ssl/quic/quic_sf_list.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - fl
    - range
    - data
    - fin
    argTypes:
    - SFRAME_LIST*
    - UINT_RANGE*
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: ossl_sframe_list_lock_head
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 1
    functionsReached:
    - ossl_sframe_list_peek
    linkageType: ''
    returnType: int
    signature: "int ossl_sframe_list_lock_head(SFRAME_LIST *fl, UINT_RANGE *range,\n
      \                              const unsigned char **data,\n                               int
      *fin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fl
    argTypes:
    - SFRAME_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: ossl_sframe_list_is_head_locked
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_sframe_list_is_head_locked(SFRAME_LIST *fl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: write_at_cb
      Src: /src/openssl/ssl/quic/quic_sf_list.c:297,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_sf_list.c:302,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/ssl/quic/quic_sf_list.c:307,1
    - Dst: stream_frame_free
      Src: /src/openssl/ssl/quic/quic_sf_list.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - fl
    - write_at_cb
    - cb_arg
    argTypes:
    - SFRAME_LIST*
    - sframe_list_write_at_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 334
    functionName: ossl_sframe_list_move_data
    functionSourceFile: /src/openssl/ssl/quic/quic_sf_list.c
    functionUses: 1
    functionsReached:
    - write_at_cb
    - ossl_qrx_pkt_release
    - OPENSSL_cleanse
    - stream_frame_free
    linkageType: ''
    returnType: int
    signature: "int ossl_sframe_list_move_data(SFRAME_LIST *fl,\n                               sframe_list_write_at_cb
      *write_at_cb,\n                               void *cb_arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: packet_type
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *packet_type(int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - str
    - slen
    argTypes:
    - BIO*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: put_str
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void put_str(BIO *bio, char *str, size_t slen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - bio
    - data
    - datalen
    argTypes:
    - BIO*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: put_data
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 1
    functionsReached:
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void put_data(BIO *bio, const uint8_t *data, size_t datalen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:65,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:69,1
    - Dst: put_data
      Src: /src/openssl/ssl/quic/quic_trace.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - id
    argTypes:
    - BIO*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: put_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - put_data
    linkageType: ''
    returnType: void
    signature: void put_conn_id(BIO *bio, QUIC_CONN_ID *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:76,1
    - Dst: put_data
      Src: /src/openssl/ssl/quic/quic_trace.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bio
    - token
    - token_len
    argTypes:
    - BIO*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: put_token
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - put_data
    linkageType: ''
    returnType: void
    signature: void put_token(BIO *bio, const uint8_t *token, size_t token_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_peek_frame_ack_num_ranges
      Src: /src/openssl/ssl/quic/quic_trace.c:89,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_trace.c:92,1
    - Dst: ossl_quic_wire_decode_frame_ack
      Src: /src/openssl/ssl/quic/quic_trace.c:100,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:103,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:105,1
    - Dst: ossl_time2ticks
      Src: /src/openssl/ssl/quic/quic_trace.c:106,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:107,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:109,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:113,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:116,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_trace.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 125
    functionName: frame_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 6
    functionsReached:
    - OPENSSL_zalloc
    - ossl_time2ticks
    - ossl_quic_wire_decode_frame_ack
    - ossl_quic_wire_peek_frame_ack_num_ranges
    - OPENSSL_free
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_ack(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_reset_stream
      Src: /src/openssl/ssl/quic/quic_trace.c:131,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:134,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:136,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: frame_reset_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 5
    functionsReached:
    - ossl_quic_wire_decode_frame_reset_stream
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_reset_stream(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_stop_sending
      Src: /src/openssl/ssl/quic/quic_trace.c:148,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:151,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: frame_stop_sending
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 5
    functionsReached:
    - ossl_quic_wire_decode_frame_stop_sending
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_stop_sending(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_crypto
      Src: /src/openssl/ssl/quic/quic_trace.c:163,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:166,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: frame_crypto
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 4
    functionsReached:
    - ossl_quic_wire_decode_frame_crypto
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_crypto(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_new_token
      Src: /src/openssl/ssl/quic/quic_trace.c:177,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:180,1
    - Dst: put_token
      Src: /src/openssl/ssl/quic/quic_trace.c:181,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: frame_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 5
    functionsReached:
    - ossl_quic_wire_decode_frame_new_token
    - BIO_puts
    - put_token
    linkageType: ''
    returnType: int
    signature: int frame_new_token(BIO *bio, PACKET *pkt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:192,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:195,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:199,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:203,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:207,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:211,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:215,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:219,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:223,1
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/ssl/quic/quic_trace.c:230,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:233,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:235,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:242,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - bio
    - pkt
    - frame_type
    argTypes:
    - BIO*
    - PACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 247
    functionName: frame_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 6
    functionsReached:
    - ossl_quic_wire_decode_frame_stream
    - BIO_puts
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_stream(BIO *bio, PACKET *pkt, uint64_t frame_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_max_data
      Src: /src/openssl/ssl/quic/quic_trace.c:253,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: frame_max_data
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 5
    functionsReached:
    - ossl_quic_wire_decode_frame_max_data
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_max_data(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_max_stream_data
      Src: /src/openssl/ssl/quic/quic_trace.c:266,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: frame_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 4
    functionsReached:
    - BIO_printf
    - ossl_quic_wire_decode_frame_max_stream_data
    linkageType: ''
    returnType: int
    signature: int frame_max_stream_data(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_max_streams
      Src: /src/openssl/ssl/quic/quic_trace.c:280,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: frame_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 4
    functionsReached:
    - ossl_quic_wire_decode_frame_max_streams
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_max_streams(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_data_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:292,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: frame_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 3
    functionsReached:
    - ossl_quic_wire_decode_frame_data_blocked
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_data_blocked(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_stream_data_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:305,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:309,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 313
    functionName: frame_stream_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 3
    functionsReached:
    - BIO_printf
    - ossl_quic_wire_decode_frame_stream_data_blocked
    linkageType: ''
    returnType: int
    signature: int frame_stream_data_blocked(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_streams_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:319,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: frame_streams_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 3
    functionsReached:
    - ossl_quic_wire_decode_frame_streams_blocked
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_streams_blocked(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_new_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:331,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:334,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:336,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:338,1
    - Dst: put_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:339,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:340,1
    - Dst: put_data
      Src: /src/openssl/ssl/quic/quic_trace.c:341,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 346
    functionName: frame_new_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 8
    functionsReached:
    - put_conn_id
    - BIO_puts
    - put_data
    - ossl_quic_wire_decode_frame_new_conn_id
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_new_conn_id(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_retire_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:352,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: frame_retire_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 3
    functionsReached:
    - ossl_quic_wire_decode_frame_retire_conn_id
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_retire_conn_id(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_path_challenge
      Src: /src/openssl/ssl/quic/quic_trace.c:364,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: frame_path_challenge
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 3
    functionsReached:
    - ossl_quic_wire_decode_frame_path_challenge
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_path_challenge(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_path_response
      Src: /src/openssl/ssl/quic/quic_trace.c:376,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: frame_path_response
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 4
    functionsReached:
    - ossl_quic_wire_decode_frame_path_response
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: int frame_path_response(BIO *bio, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_conn_close
      Src: /src/openssl/ssl/quic/quic_trace.c:388,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:391,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:393,1
    - Dst: put_str
      Src: /src/openssl/ssl/quic/quic_trace.c:394,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: frame_conn_closed
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 0
    functionsReached:
    - BIO_puts
    - put_str
    - BIO_printf
    - ossl_quic_wire_decode_frame_conn_close
    linkageType: ''
    returnType: int
    signature: int frame_conn_closed(BIO *bio, PACKET *pkt)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/ssl/quic/quic_trace.c:404,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:409,1
    - Dst: ossl_quic_wire_decode_frame_ping
      Src: /src/openssl/ssl/quic/quic_trace.c:410,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:415,1
    - Dst: ossl_quic_wire_decode_padding
      Src: /src/openssl/ssl/quic/quic_trace.c:416,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:421,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:423,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:425,1
    - Dst: frame_ack
      Src: /src/openssl/ssl/quic/quic_trace.c:426,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:431,1
    - Dst: frame_reset_stream
      Src: /src/openssl/ssl/quic/quic_trace.c:432,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:437,1
    - Dst: frame_stop_sending
      Src: /src/openssl/ssl/quic/quic_trace.c:438,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:443,1
    - Dst: frame_crypto
      Src: /src/openssl/ssl/quic/quic_trace.c:444,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:449,1
    - Dst: frame_new_token
      Src: /src/openssl/ssl/quic/quic_trace.c:450,1
    - Dst: frame_stream
      Src: /src/openssl/ssl/quic/quic_trace.c:463,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:468,1
    - Dst: frame_max_data
      Src: /src/openssl/ssl/quic/quic_trace.c:469,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:474,1
    - Dst: frame_max_stream_data
      Src: /src/openssl/ssl/quic/quic_trace.c:475,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:481,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:483,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:485,1
    - Dst: frame_max_streams
      Src: /src/openssl/ssl/quic/quic_trace.c:486,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:491,1
    - Dst: frame_data_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:492,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:497,1
    - Dst: frame_stream_data_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:498,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:504,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:506,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:508,1
    - Dst: frame_streams_blocked
      Src: /src/openssl/ssl/quic/quic_trace.c:509,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:514,1
    - Dst: frame_new_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:515,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:520,1
    - Dst: frame_retire_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:521,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:526,1
    - Dst: frame_path_challenge
      Src: /src/openssl/ssl/quic/quic_trace.c:527,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:532,1
    - Dst: frame_path_response
      Src: /src/openssl/ssl/quic/quic_trace.c:533,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:539,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:541,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:543,1
    - Dst: frame_conn_closed
      Src: /src/openssl/ssl/quic/quic_trace.c:544,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:549,1
    - Dst: ossl_quic_wire_decode_frame_handshake_done
      Src: /src/openssl/ssl/quic/quic_trace.c:550,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_trace.c:558,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:559,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 131
    argCount: 2
    argNames:
    - bio
    - pkt
    argTypes:
    - BIO*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 400
    functionDepth: 5
    functionLinenumber: 400
    functionLinenumberEnd: 562
    functionName: trace_frame_data
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 0
    functionsReached:
    - frame_max_streams
    - frame_streams_blocked
    - frame_stream_data_blocked
    - frame_reset_stream
    - frame_new_token
    - frame_stop_sending
    - frame_crypto
    - ossl_quic_wire_decode_frame_ping
    - ossl_quic_wire_peek_frame_header
    - frame_ack
    - frame_retire_conn_id
    - ossl_quic_wire_decode_padding
    - frame_data_blocked
    - frame_path_challenge
    - BIO_puts
    - ossl_quic_wire_decode_frame_handshake_done
    - frame_path_response
    - frame_stream
    - frame_new_conn_id
    - PACKET_remaining
    - frame_max_data
    - frame_max_stream_data
    - frame_conn_closed
    linkageType: ''
    returnType: int
    signature: int trace_frame_data(BIO *bio, PACKET *pkt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:574,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:580,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_trace.c:588,1
    - Dst: ossl_quic_conn_get_channel
      Src: /src/openssl/ssl/quic/quic_trace.c:591,1
    - Dst: ossl_quic_channel_get_short_header_conn_id_len
      Src: /src/openssl/ssl/quic/quic_trace.c:592,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_trace.c:593,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:597,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:598,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:599,1
    - Dst: packet_type
      Src: /src/openssl/ssl/quic/quic_trace.c:599,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:601,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:603,1
    - Dst: put_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:604,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:605,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:607,1
    - Dst: put_conn_id
      Src: /src/openssl/ssl/quic/quic_trace.c:608,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:609,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:611,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:613,1
    - Dst: put_token
      Src: /src/openssl/ssl/quic/quic_trace.c:614,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:615,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:619,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/quic/quic_trace.c:622,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:623,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:632,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:633,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_trace.c:635,1
    - Dst: trace_frame_data
      Src: /src/openssl/ssl/quic/quic_trace.c:637,1
    - Dst: BIO_puts
      Src: /src/openssl/ssl/quic/quic_trace.c:638,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - msglen
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 564
    functionDepth: 6
    functionLinenumber: 564
    functionLinenumberEnd: 650
    functionName: ossl_quic_trace
    functionSourceFile: /src/openssl/ssl/quic/quic_trace.c
    functionUses: 1
    functionsReached:
    - ossl_quic_conn_get_channel
    - ossl_quic_channel_get_short_header_conn_id_len
    - put_conn_id
    - packet_type
    - PACKET_buf_init
    - trace_frame_data
    - ossl_quic_wire_decode_pkt_hdr
    - BIO_puts
    - put_token
    - BIO_printf
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_trace(int write_p, int version, int content_type,\n
      \                   const void *buf, size_t msglen, SSL *ssl, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ack
    - pn
    argTypes:
    - OSSL_QUIC_FRAME_ACK*
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: ossl_quic_frame_ack_contains_pn
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_frame_ack_contains_pn(const OSSL_QUIC_FRAME_ACK *ack,
      QUIC_PN pn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_memset
      Src: /src/openssl/ssl/quic/quic_wire.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - num_bytes
    argTypes:
    - WPACKET*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: ossl_quic_wire_encode_padding
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - WPACKET_memset
    linkageType: ''
    returnType: int
    signature: int ossl_quic_wire_encode_padding(WPACKET *pkt, size_t num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - frame_type
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: encode_frame_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 0
    functionsReached:
    - WPACKET_quic_write_vlint
    linkageType: ''
    returnType: int
    signature: int encode_frame_hdr(WPACKET *pkt, uint64_t frame_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ossl_quic_wire_encode_frame_ping
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: int ossl_quic_wire_encode_frame_ping(WPACKET *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_wire.c:69,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_wire.c:69,1
    - Dst: ossl_time2ticks
      Src: /src/openssl/ssl/quic/quic_wire.c:71,1
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:76,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:77,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:78,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:79,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:80,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:89,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:90,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:95,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:96,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - pkt
    - ack_delay_exponent
    - ack
    argTypes:
    - WPACKET*
    - uint32_t
    - OSSL_QUIC_FRAME_ACK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 101
    functionName: ossl_quic_wire_encode_frame_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - WPACKET_quic_write_vlint
    - ossl_time_divide
    - ossl_time2ticks
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_ack(WPACKET *pkt,\n                                    uint32_t
      ack_delay_exponent,\n                                    const OSSL_QUIC_FRAME_ACK
      *ack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:106,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:107,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:108,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_RESET_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: ossl_quic_wire_encode_frame_reset_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_reset_stream(WPACKET *pkt,\n                                             const
      OSSL_QUIC_FRAME_RESET_STREAM *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:118,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:119,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_STOP_SENDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ossl_quic_wire_encode_frame_stop_sending
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_stop_sending(WPACKET *pkt,\n                                             const
      OSSL_QUIC_FRAME_STOP_SENDING *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:129,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:130,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_CRYPTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: ossl_quic_wire_encode_frame_crypto_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_crypto_hdr(WPACKET *pkt,\n                                           const
      OSSL_QUIC_FRAME_CRYPTO *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:141,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:142,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - OSSL_QUIC_FRAME_CRYPTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: ossl_quic_wire_get_encoded_frame_len_crypto_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - ossl_quic_vlint_encode_len
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_wire_get_encoded_frame_len_crypto_hdr(const OSSL_QUIC_FRAME_CRYPTO
      *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_encode_frame_crypto_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:155,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:157,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_CRYPTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: ossl_quic_wire_encode_frame_crypto
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ossl_quic_wire_encode_frame_crypto_hdr
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: void
    signature: "void *ossl_quic_wire_encode_frame_crypto(WPACKET *pkt,\n                                         const
      OSSL_QUIC_FRAME_CRYPTO *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:170,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:171,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - token
    - token_len
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: ossl_quic_wire_encode_frame_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - WPACKET_quic_write_vlint
    - WPACKET_memcpy
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_new_token(WPACKET *pkt,\n                                          const
      unsigned char *token,\n                                          size_t token_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:190,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:191,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:194,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: ossl_quic_wire_encode_frame_stream_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_stream_hdr(WPACKET *pkt,\n                                           const
      OSSL_QUIC_FRAME_STREAM *f)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:207,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:208,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:213,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - f
    argTypes:
    - OSSL_QUIC_FRAME_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 229
    functionName: ossl_quic_wire_get_encoded_frame_len_stream_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - ossl_quic_vlint_encode_len
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_wire_get_encoded_frame_len_stream_hdr(const OSSL_QUIC_FRAME_STREAM
      *f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_encode_frame_stream_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:237,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:241,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: ossl_quic_wire_encode_frame_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - memcpy
    - WPACKET_allocate_bytes
    - ossl_quic_wire_encode_frame_stream_hdr
    linkageType: ''
    returnType: void
    signature: "void *ossl_quic_wire_encode_frame_stream(WPACKET *pkt,\n                                         const
      OSSL_QUIC_FRAME_STREAM *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:253,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_data
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: ossl_quic_wire_encode_frame_max_data
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_max_data(WPACKET *pkt,\n                                         uint64_t
      max_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:264,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:265,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - stream_id
    - max_data
    argTypes:
    - WPACKET*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: ossl_quic_wire_encode_frame_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_max_stream_data(WPACKET *pkt,\n                                                uint64_t
      stream_id,\n                                                uint64_t max_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:276,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - is_uni
    - max_streams
    argTypes:
    - WPACKET*
    - char
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: ossl_quic_wire_encode_frame_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_max_streams(WPACKET *pkt,\n                                            char
      \    is_uni,\n                                            uint64_t max_streams)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:287,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_data
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 4
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: ossl_quic_wire_encode_frame_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_data_blocked(WPACKET *pkt,\n                                             uint64_t
      max_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:299,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:300,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - stream_id
    - max_stream_data
    argTypes:
    - WPACKET*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: ossl_quic_wire_encode_frame_stream_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_stream_data_blocked(WPACKET *pkt,\n
      \                                                   uint64_t stream_id,\n                                                    uint64_t
      max_stream_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:311,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - is_uni
    - max_streams
    argTypes:
    - WPACKET*
    - char
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: ossl_quic_wire_encode_frame_streams_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_streams_blocked(WPACKET *pkt,\n                                                char
      is_uni,\n                                                uint64_t max_streams)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:326,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:327,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:328,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/quic/quic_wire.c:329,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:330,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:331,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_NEW_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: ossl_quic_wire_encode_frame_new_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 4
    functionsReached:
    - WPACKET_quic_write_vlint
    - WPACKET_put_bytes_u8
    - WPACKET_memcpy
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_new_conn_id(WPACKET *pkt,\n                                            const
      OSSL_QUIC_FRAME_NEW_CONN_ID *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:341,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - seq_num
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: ossl_quic_wire_encode_frame_retire_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_quic_write_vlint
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_retire_conn_id(WPACKET *pkt,\n                                               uint64_t
      seq_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:351,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/ssl/quic/quic_wire.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: ossl_quic_wire_encode_frame_path_challenge
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_put_bytes_u64
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_path_challenge(WPACKET *pkt,\n                                               uint64_t
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:361,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/ssl/quic/quic_wire.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - WPACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: ossl_quic_wire_encode_frame_path_response
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - WPACKET_put_bytes_u64
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_path_response(WPACKET *pkt,\n                                              uint64_t
      data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:371,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:373,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:380,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:383,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - WPACKET*
    - OSSL_QUIC_FRAME_CONN_CLOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 388
    functionName: ossl_quic_wire_encode_frame_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - WPACKET_quic_write_vlint
    - WPACKET_memcpy
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_frame_conn_close(WPACKET *pkt,\n                                           const
      OSSL_QUIC_FRAME_CONN_CLOSE *f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_frame_hdr
      Src: /src/openssl/ssl/quic/quic_wire.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: ossl_quic_wire_encode_frame_handshake_done
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - encode_frame_hdr
    linkageType: ''
    returnType: int
    signature: int ossl_quic_wire_encode_frame_handshake_done(WPACKET *pkt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:402,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:403,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/quic/quic_wire.c:407,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:408,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pkt
    - id
    - value
    - value_len
    argTypes:
    - WPACKET*
    - uint64_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 415
    functionName: ossl_quic_wire_encode_transport_param_bytes
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - WPACKET_get_curr
    - WPACKET_quic_write_vlint
    - memcpy
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *ossl_quic_wire_encode_transport_param_bytes(WPACKET
      *pkt,\n                                                           uint64_t id,\n
      \                                                          const unsigned char
      *value,\n                                                           size_t value_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:421,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:422,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire.c:422,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - id
    - value
    argTypes:
    - WPACKET*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: ossl_quic_wire_encode_transport_param_int
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - ossl_quic_vlint_encode_len
    - WPACKET_quic_write_vlint
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_transport_param_int(WPACKET *pkt,\n                                              uint64_t
      id,\n                                              uint64_t value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - wpkt
    - id
    - cid
    argTypes:
    - WPACKET*
    - uint64_t
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 442
    functionName: ossl_quic_wire_encode_transport_param_cid
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_encode_transport_param_bytes
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_transport_param_cid(WPACKET *wpkt,\n                                              uint64_t
      id,\n                                              const QUIC_CONN_ID *cid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_quic_vlint_ex
      Src: /src/openssl/ssl/quic/quic_wire.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pkt
    - type
    - was_minimal
    argTypes:
    - PACKET*
    - uint64_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: ossl_quic_wire_peek_frame_header
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 9
    functionsReached:
    - PACKET_peek_quic_vlint_ex
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_peek_frame_header(PACKET *pkt, uint64_t *type,\n
      \                                    int *was_minimal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - type
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: ossl_quic_wire_skip_frame_header
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 0
    functionsReached:
    - PACKET_get_quic_vlint
    linkageType: ''
    returnType: int
    signature: int ossl_quic_wire_skip_frame_header(PACKET *pkt, uint64_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_skip_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - pkt
    - expected_frame_type
    - mask_bits
    - actual_frame_type
    argTypes:
    - PACKET*
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 474
    functionName: expect_frame_header_mask
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_skip_frame_header
    linkageType: ''
    returnType: int
    signature: "int expect_frame_header_mask(PACKET *pkt,\n                                    uint64_t
      expected_frame_type,\n                                    uint64_t mask_bits,\n
      \                                   uint64_t *actual_frame_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_skip_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - expected_frame_type
    argTypes:
    - PACKET*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: expect_frame_header
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_skip_frame_header
    linkageType: ''
    returnType: int
    signature: int expect_frame_header(PACKET *pkt, uint64_t expected_frame_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header_mask
      Src: /src/openssl/ssl/quic/quic_wire.c:493,1
    - Dst: PACKET_skip_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:495,1
    - Dst: PACKET_skip_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:496,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:497,1
    - Dst: PACKET_skip_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:508,1
    - Dst: PACKET_skip_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - orig_pkt
    - total_ranges
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 487
    functionDepth: 5
    functionLinenumber: 487
    functionLinenumberEnd: 515
    functionName: ossl_quic_wire_peek_frame_ack_num_ranges
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_get_quic_vlint
    - PACKET_skip_quic_vlint
    - expect_frame_header_mask
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_peek_frame_ack_num_ranges(const PACKET *orig_pkt,\n
      \                                            uint64_t *total_ranges)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header_mask
      Src: /src/openssl/ssl/quic/quic_wire.c:525,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:527,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:528,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:529,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:530,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_wire.c:544,1
    - Dst: ossl_ticks2time
      Src: /src/openssl/ssl/quic/quic_wire.c:544,1
    - Dst: safe_mul_uint64_t
      Src: /src/openssl/ssl/quic/quic_wire.c:545,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_wire.c:549,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:560,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:561,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:583,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:584,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:585,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 4
    argNames:
    - pkt
    - ack_delay_exponent
    - ack
    - total_ranges
    argTypes:
    - PACKET*
    - uint32_t
    - OSSL_QUIC_FRAME_ACK*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 517
    functionDepth: 5
    functionLinenumber: 517
    functionLinenumberEnd: 599
    functionName: ossl_quic_wire_decode_frame_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 4
    functionsReached:
    - ossl_time_infinite
    - safe_mul_uint64_t
    - expect_frame_header_mask
    - PACKET_get_quic_vlint
    - ossl_ticks2time
    - ossl_time_multiply
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_ack(PACKET *pkt,\n                                    uint32_t
      ack_delay_exponent,\n                                    OSSL_QUIC_FRAME_ACK
      *ack,\n                                    uint64_t *total_ranges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:604,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:605,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:606,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - PACKET*
    - OSSL_QUIC_FRAME_RESET_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 601
    functionDepth: 5
    functionLinenumber: 601
    functionLinenumberEnd: 611
    functionName: ossl_quic_wire_decode_frame_reset_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_reset_stream(PACKET *pkt,\n                                             OSSL_QUIC_FRAME_RESET_STREAM
      *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:616,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:617,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - PACKET*
    - OSSL_QUIC_FRAME_STOP_SENDING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 5
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: ossl_quic_wire_decode_frame_stop_sending
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_stop_sending(PACKET *pkt,\n                                             OSSL_QUIC_FRAME_STOP_SENDING
      *f)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:628,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:629,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:630,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire.c:641,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire.c:644,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire.c:646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - pkt
    - nodata
    - f
    argTypes:
    - PACKET*
    - int
    - OSSL_QUIC_FRAME_CRYPTO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 624
    functionDepth: 5
    functionLinenumber: 624
    functionLinenumberEnd: 651
    functionName: ossl_quic_wire_decode_frame_crypto
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - expect_frame_header
    - PACKET_remaining
    - PACKET_data
    - PACKET_forward
    - PACKET_get_quic_vlint
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_crypto(PACKET *pkt,\n                                       int
      nodata,\n                                       OSSL_QUIC_FRAME_CRYPTO *f)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:659,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:660,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire.c:666,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire.c:669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pkt
    - token
    - token_len
    argTypes:
    - PACKET*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 653
    functionDepth: 5
    functionLinenumber: 653
    functionLinenumberEnd: 673
    functionName: ossl_quic_wire_decode_frame_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_get_quic_vlint
    - PACKET_forward
    - expect_frame_header
    - PACKET_data
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_new_token(PACKET               *pkt,\n
      \                                         const unsigned char **token,\n                                          size_t
      \              *token_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header_mask
      Src: /src/openssl/ssl/quic/quic_wire.c:682,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:685,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:689,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:699,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire.c:705,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire.c:719,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire.c:722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pkt
    - nodata
    - f
    argTypes:
    - PACKET*
    - int
    - OSSL_QUIC_FRAME_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 675
    functionDepth: 5
    functionLinenumber: 675
    functionLinenumberEnd: 727
    functionName: ossl_quic_wire_decode_frame_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 4
    functionsReached:
    - PACKET_remaining
    - PACKET_data
    - expect_frame_header_mask
    - PACKET_get_quic_vlint
    - PACKET_forward
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_stream(PACKET *pkt,\n                                       int
      nodata,\n                                       OSSL_QUIC_FRAME_STREAM *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:732,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 737
    functionName: ossl_quic_wire_decode_frame_max_data
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_max_data(PACKET *pkt,\n                                         uint64_t
      *max_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:743,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:744,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - stream_id
    - max_stream_data
    argTypes:
    - PACKET*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 739
    functionDepth: 5
    functionLinenumber: 739
    functionLinenumberEnd: 749
    functionName: ossl_quic_wire_decode_frame_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_max_stream_data(PACKET *pkt,\n                                                uint64_t
      *stream_id,\n                                                uint64_t *max_stream_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header_mask
      Src: /src/openssl/ssl/quic/quic_wire.c:755,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_streams
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 751
    functionDepth: 5
    functionLinenumber: 751
    functionLinenumberEnd: 761
    functionName: ossl_quic_wire_decode_frame_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header_mask
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_max_streams(PACKET *pkt,\n                                            uint64_t
      *max_streams)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:766,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 763
    functionDepth: 5
    functionLinenumber: 763
    functionLinenumberEnd: 771
    functionName: ossl_quic_wire_decode_frame_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_data_blocked(PACKET *pkt,\n                                             uint64_t
      *max_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:777,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:778,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - stream_id
    - max_stream_data
    argTypes:
    - PACKET*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 773
    functionDepth: 5
    functionLinenumber: 773
    functionLinenumberEnd: 783
    functionName: ossl_quic_wire_decode_frame_stream_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_stream_data_blocked(PACKET *pkt,\n
      \                                                   uint64_t *stream_id,\n                                                    uint64_t
      *max_stream_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header_mask
      Src: /src/openssl/ssl/quic/quic_wire.c:789,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - max_streams
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 785
    functionDepth: 5
    functionLinenumber: 785
    functionLinenumberEnd: 795
    functionName: ossl_quic_wire_decode_frame_streams_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header_mask
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_streams_blocked(PACKET *pkt,\n                                                uint64_t
      *max_streams)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:802,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:803,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:804,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/quic/quic_wire.c:806,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:812,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_wire.c:817,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - PACKET*
    - OSSL_QUIC_FRAME_NEW_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 797
    functionDepth: 5
    functionLinenumber: 797
    functionLinenumberEnd: 824
    functionName: ossl_quic_wire_decode_frame_new_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 4
    functionsReached:
    - memset
    - expect_frame_header
    - PACKET_get_1
    - PACKET_get_quic_vlint
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_new_conn_id(PACKET *pkt,\n                                            OSSL_QUIC_FRAME_NEW_CONN_ID
      *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:829,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - seq_num
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 826
    functionDepth: 5
    functionLinenumber: 826
    functionLinenumberEnd: 834
    functionName: ossl_quic_wire_decode_frame_retire_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_retire_conn_id(PACKET *pkt,\n                                               uint64_t
      *seq_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:839,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/ssl/quic/quic_wire.c:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 836
    functionDepth: 5
    functionLinenumber: 836
    functionLinenumberEnd: 844
    functionName: ossl_quic_wire_decode_frame_path_challenge
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - expect_frame_header
    - PACKET_get_net_8
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_path_challenge(PACKET *pkt,\n                                               uint64_t
      *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:849,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/ssl/quic/quic_wire.c:850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pkt
    - data
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 846
    functionDepth: 5
    functionLinenumber: 846
    functionLinenumberEnd: 854
    functionName: ossl_quic_wire_decode_frame_path_response
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - expect_frame_header
    - PACKET_get_net_8
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_path_response(PACKET *pkt,\n                                              uint64_t
      *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header_mask
      Src: /src/openssl/ssl/quic/quic_wire.c:862,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:864,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:870,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:876,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pkt
    - f
    argTypes:
    - PACKET*
    - OSSL_QUIC_FRAME_CONN_CLOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 856
    functionDepth: 5
    functionLinenumber: 856
    functionLinenumberEnd: 886
    functionName: ossl_quic_wire_decode_frame_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_get_quic_vlint
    - expect_frame_header_mask
    - PACKET_get_bytes
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_frame_conn_close(PACKET *pkt,\n                                           OSSL_QUIC_FRAME_CONN_CLOSE
      *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire.c:890,1
    - Dst: PACKET_end
      Src: /src/openssl/ssl/quic/quic_wire.c:890,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire.c:896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 900
    functionName: ossl_quic_wire_decode_padding
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - PACKET_end
    - PACKET_data
    - PACKET_forward
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_wire_decode_padding(PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 5
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: ossl_quic_wire_decode_frame_ping
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: int ossl_quic_wire_decode_frame_ping(PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_frame_header
      Src: /src/openssl/ssl/quic/quic_wire.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 5
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: ossl_quic_wire_decode_frame_handshake_done
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 3
    functionsReached:
    - expect_frame_header
    linkageType: ''
    returnType: int
    signature: int ossl_quic_wire_decode_frame_handshake_done(PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_peek_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pkt
    - id
    argTypes:
    - PACKET*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 4
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: ossl_quic_wire_peek_transport_param
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - PACKET_peek_quic_vlint
    linkageType: ''
    returnType: int
    signature: int ossl_quic_wire_peek_transport_param(PACKET *pkt, uint64_t *id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:925,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:926,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pkt
    - id
    - len
    argTypes:
    - PACKET*
    - uint64_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 937
    functionName: ossl_quic_wire_decode_transport_param_bytes
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - PACKET_get_quic_vlint
    - PACKET_get_bytes
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *ossl_quic_wire_decode_transport_param_bytes(PACKET
      *pkt,\n                                                                 uint64_t
      *id,\n                                                                 size_t
      *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:945,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire.c:950,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire.c:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pkt
    - id
    - value
    argTypes:
    - PACKET*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 939
    functionDepth: 4
    functionLinenumber: 939
    functionLinenumberEnd: 957
    functionName: ossl_quic_wire_decode_transport_param_int
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 1
    functionsReached:
    - PACKET_get_quic_vlint
    - ossl_quic_wire_decode_transport_param_bytes
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_transport_param_int(PACKET *pkt,\n                                              uint64_t
      *id,\n                                              uint64_t *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:966,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_wire.c:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pkt
    - id
    - cid
    argTypes:
    - PACKET*
    - uint64_t*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 959
    functionDepth: 4
    functionLinenumber: 959
    functionLinenumberEnd: 973
    functionName: ossl_quic_wire_decode_transport_param_cid
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_transport_param_bytes
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_transport_param_cid(PACKET *pkt,\n                                              uint64_t
      *id,\n                                              QUIC_CONN_ID *cid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:984,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_wire.c:991,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:994,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/quic/quic_wire.c:995,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:996,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/quic/quic_wire.c:997,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/quic/quic_wire.c:998,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:1000,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire.c:1001,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - p
    argTypes:
    - PACKET*
    - QUIC_PREFERRED_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 975
    functionDepth: 4
    functionLinenumber: 975
    functionLinenumberEnd: 1009
    functionName: ossl_quic_wire_decode_transport_param_preferred_addr
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - ossl_quic_wire_decode_transport_param_bytes
    - PACKET_get_net_2
    - PACKET_get_1
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_transport_param_preferred_addr(PACKET *pkt,\n
      \                                                        QUIC_PREFERRED_ADDR
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1016,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1017,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1018,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1019,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1020,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1021,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1022,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1023,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1024,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1025,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1026,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1027,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1028,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1029,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1030,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1031,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1032,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1033,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1034,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1035,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1036,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1037,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1038,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1039,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1040,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1041,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1042,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1043,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1044,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1045,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - frame_type
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1051
    functionName: ossl_quic_frame_type_to_string
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - X
    linkageType: ''
    returnType: char
    signature: 'char *

      ossl_quic_frame_type_to_string(uint64_t frame_type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1016
    functionName: X
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 169
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1057,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1058,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1059,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1060,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1061,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1062,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1063,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1064,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1065,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1066,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1067,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1068,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1069,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1070,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1071,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1072,1
    - Dst: X
      Src: /src/openssl/ssl/quic/quic_wire.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1078
    functionName: ossl_quic_err_to_string
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 2
    functionsReached:
    - X
    linkageType: ''
    returnType: char
    signature: char *ossl_quic_err_to_string(uint64_t error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1057
    functionName: X
    functionSourceFile: /src/openssl/ssl/quic/quic_wire.c
    functionUses: 170
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/cc_newreno.c:52,1
    - Dst: newreno_set_max_dgram_size
      Src: /src/openssl/ssl/quic/cc_newreno.c:58,1
    - Dst: newreno_reset
      Src: /src/openssl/ssl/quic/cc_newreno.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - now_cb_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: newreno_new
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_set_max_dgram_size
    - OPENSSL_zalloc
    - newreno_reset
    linkageType: ''
    returnType: OSSL_CC_DATA
    signature: "OSSL_CC_DATA *newreno_new(OSSL_TIME (*now_cb)(void *arg),\n                                 void
      *now_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/cc_newreno.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: newreno_free
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void newreno_free(OSSL_CC_DATA *cc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: newreno_update_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - nr
    - max_dgram_size
    argTypes:
    - OSSL_CC_NEWRENO*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: newreno_set_max_dgram_size
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 1
    functionsReached:
    - newreno_update_diag
    linkageType: ''
    returnType: void
    signature: "void newreno_set_max_dgram_size(OSSL_CC_NEWRENO *nr,\n                                       size_t
      max_dgram_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/cc_newreno.c:105,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/cc_newreno.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: newreno_reset
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 1
    functionsReached:
    - ossl_time_zero
    linkageType: ''
    returnType: void
    signature: void newreno_reset(OSSL_CC_DATA *cc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/quic/cc_newreno.c:118,1
    - Dst: OSSL_PARAM_get_size_t
      Src: /src/openssl/ssl/quic/cc_newreno.c:120,1
    - Dst: newreno_set_max_dgram_size
      Src: /src/openssl/ssl/quic/cc_newreno.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 6
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: newreno_set_input_params
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_set_max_dgram_size
    - OSSL_PARAM_locate_const
    - OSSL_PARAM_get_size_t
    linkageType: ''
    returnType: int
    signature: int newreno_set_input_params(OSSL_CC_DATA *cc, const OSSL_PARAM *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/quic/cc_newreno.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - params
    - param_name
    - len
    - pp
    argTypes:
    - OSSL_PARAM*
    - char*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: bind_diag
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: int
    signature: "int bind_diag(OSSL_PARAM *params, const char *param_name, size_t len,\n
      \                    void **pp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:158,1
    - Dst: bind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:160,1
    - Dst: bind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:162,1
    - Dst: bind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:164,1
    - Dst: bind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:166,1
    - Dst: newreno_update_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:185,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 187
    functionName: newreno_bind_diagnostic
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_update_diag
    - bind_diag
    linkageType: ''
    returnType: int
    signature: int newreno_bind_diagnostic(OSSL_CC_DATA *cc, OSSL_PARAM *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_locate_const
      Src: /src/openssl/ssl/quic/cc_newreno.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - params
    - param_name
    - pp
    argTypes:
    - OSSL_PARAM*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: unbind_diag
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_locate_const
    linkageType: ''
    returnType: void
    signature: "void unbind_diag(OSSL_PARAM *params, const char *param_name,\n                        void
      **pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unbind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:202,1
    - Dst: unbind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:204,1
    - Dst: unbind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:206,1
    - Dst: unbind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:208,1
    - Dst: unbind_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - cc
    - params
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: newreno_unbind_diagnostic
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - unbind_diag
    linkageType: ''
    returnType: int
    signature: int newreno_unbind_diagnostic(OSSL_CC_DATA *cc, OSSL_PARAM *params)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - nr
    argTypes:
    - OSSL_CC_NEWRENO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 237
    functionName: newreno_update_diag
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void newreno_update_diag(OSSL_CC_NEWRENO *nr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/cc_newreno.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nr
    - tx_time
    argTypes:
    - OSSL_CC_NEWRENO*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: newreno_in_cong_recovery
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    linkageType: ''
    returnType: int
    signature: int newreno_in_cong_recovery(OSSL_CC_NEWRENO *nr, OSSL_TIME tx_time)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: newreno_in_cong_recovery
      Src: /src/openssl/ssl/quic/cc_newreno.c:249,1
    - Dst: OSSL_CC_NEWRENO*::now_cb
      Src: /src/openssl/ssl/quic/cc_newreno.c:254,1
    - Dst: safe_muldiv_u64
      Src: /src/openssl/ssl/quic/cc_newreno.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - nr
    - tx_time
    argTypes:
    - OSSL_CC_NEWRENO*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 269
    functionName: newreno_cong
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_in_cong_recovery
    - safe_muldiv_u64
    - OSSL_CC_NEWRENO*::now_cb
    linkageType: ''
    returnType: void
    signature: void newreno_cong(OSSL_CC_NEWRENO *nr, OSSL_TIME tx_time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: newreno_cong
      Src: /src/openssl/ssl/quic/cc_newreno.c:276,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/cc_newreno.c:280,1
    - Dst: newreno_update_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - nr
    - flags
    argTypes:
    - OSSL_CC_NEWRENO*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: newreno_flush
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_update_diag
    - ossl_time_zero
    - newreno_cong
    linkageType: ''
    returnType: void
    signature: void newreno_flush(OSSL_CC_NEWRENO *nr, uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: newreno_get_tx_allowance
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t newreno_get_tx_allowance(OSSL_CC_DATA *cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: newreno_get_tx_allowance
      Src: /src/openssl/ssl/quic/cc_newreno.c:299,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/cc_newreno.c:301,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/cc_newreno.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cc
    argTypes:
    - OSSL_CC_DATA*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: newreno_get_wakeup_deadline
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - ossl_time_infinite
    - newreno_get_tx_allowance
    - ossl_time_zero
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME newreno_get_wakeup_deadline(OSSL_CC_DATA *cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: newreno_update_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - num_bytes
    argTypes:
    - OSSL_CC_DATA*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: newreno_on_data_sent
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_update_diag
    linkageType: ''
    returnType: int
    signature: int newreno_on_data_sent(OSSL_CC_DATA *cc, uint64_t num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - nr
    argTypes:
    - OSSL_CC_NEWRENO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 337
    functionName: newreno_is_cong_limited
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int newreno_is_cong_limited(OSSL_CC_NEWRENO *nr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: newreno_is_cong_limited
      Src: /src/openssl/ssl/quic/cc_newreno.c:360,1
    - Dst: newreno_in_cong_recovery
      Src: /src/openssl/ssl/quic/cc_newreno.c:377,1
    - Dst: newreno_update_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cc
    - info
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_CC_ACK_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 401
    functionName: newreno_on_data_acked
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_in_cong_recovery
    - newreno_is_cong_limited
    - newreno_update_diag
    linkageType: ''
    returnType: int
    signature: "int newreno_on_data_acked(OSSL_CC_DATA *cc,\n                                 const
      OSSL_CC_ACK_INFO *info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/cc_newreno.c:415,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/cc_newreno.c:433,1
    - Dst: newreno_update_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cc
    - info
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_CC_LOSS_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 438
    functionName: newreno_on_data_lost
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    - ossl_time_max
    - newreno_update_diag
    linkageType: ''
    returnType: int
    signature: "int newreno_on_data_lost(OSSL_CC_DATA *cc,\n                                const
      OSSL_CC_LOSS_INFO *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: newreno_flush
      Src: /src/openssl/ssl/quic/cc_newreno.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cc
    - flags
    argTypes:
    - OSSL_CC_DATA*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 4
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: newreno_on_data_lost_finished
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_flush
    linkageType: ''
    returnType: int
    signature: int newreno_on_data_lost_finished(OSSL_CC_DATA *cc, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: newreno_update_diag
      Src: /src/openssl/ssl/quic/cc_newreno.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - num_bytes
    argTypes:
    - OSSL_CC_DATA*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: newreno_on_data_invalidated
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_update_diag
    linkageType: ''
    returnType: int
    signature: "int newreno_on_data_invalidated(OSSL_CC_DATA *cc,\n                                       uint64_t
      num_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: newreno_flush
      Src: /src/openssl/ssl/quic/cc_newreno.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cc
    - info
    argTypes:
    - OSSL_CC_DATA*
    - OSSL_CC_ECN_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: newreno_on_ecn
    functionSourceFile: /src/openssl/ssl/quic/cc_newreno.c
    functionUses: 0
    functionsReached:
    - newreno_flush
    linkageType: ''
    returnType: int
    signature: "int newreno_on_ecn(OSSL_CC_DATA *cc,\n                          const
      OSSL_CC_ECN_INFO *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_padding
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: depack_do_frame_padding
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_padding
    linkageType: ''
    returnType: int
    signature: int depack_do_frame_padding(PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_ping
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:49,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:50,1
    - Dst: ossl_quic_tx_packetiser_schedule_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pkt
    - ch
    - enc_level
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - uint32_t
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: depack_do_frame_ping
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_decode_frame_ping
    - ossl_quic_tx_packetiser_schedule_ack_eliciting
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_ping(PACKET *pkt, QUIC_CHANNEL *ch,\n                                uint32_t
      enc_level,\n                                OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_peek_frame_ack_num_ranges
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:71,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:77,1
    - Dst: ossl_quic_wire_decode_frame_ack
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:89,1
    - Dst: ossl_qrx_get_key_epoch
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:93,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:117,1
    - Dst: ossl_ackm_on_rx_ack_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:126,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:134,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 6
    argNames:
    - pkt
    - ch
    - packet_space
    - received
    - frame_type
    - qpacket
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - int
    - OSSL_TIME
    - uint64_t
    - OSSL_QRX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 139
    functionName: depack_do_frame_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_decode_frame_ack
    - ossl_qrx_get_key_epoch
    - ossl_quic_wire_peek_frame_ack_num_ranges
    - ossl_ackm_on_rx_ack_frame
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_ack(PACKET *pkt, QUIC_CHANNEL *ch,\n                               int
      packet_space, OSSL_TIME received,\n                               uint64_t frame_type,\n
      \                              OSSL_QRX_PKT *qpacket)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_reset_stream
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:149,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:150,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:157,1
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:165,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:166,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:184,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:186,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:194,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:196,1
    - Dst: ossl_quic_stream_map_notify_reset_recv_part
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:209,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 141
    functionDepth: 6
    functionLinenumber: 141
    functionLinenumberEnd: 215
    functionName: depack_do_frame_reset_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_quic_rxfc_get_error
    - ossl_quic_stream_map_notify_reset_recv_part
    - ossl_quic_wire_decode_frame_reset_stream
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_has_recv
    - depack_do_implicit_stream_create
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_reset_stream(PACKET *pkt,\n                                        QUIC_CHANNEL
      *ch,\n                                        OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_stop_sending
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:224,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:225,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:232,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:240,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:241,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 217
    functionDepth: 6
    functionLinenumber: 217
    functionLinenumberEnd: 260
    functionName: depack_do_frame_stop_sending
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_reset_stream_send_part
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_stream_has_send
    - ossl_quic_wire_decode_frame_stop_sending
    - depack_do_implicit_stream_create
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_stop_sending(PACKET *pkt,\n                                        QUIC_CHANNEL
      *ch,\n                                        OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_crypto
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:273,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:274,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:285,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:295,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:297,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:304,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:305,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:311,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - pkt
    - ch
    - parent_pkt
    - ackm_data
    - datalen
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_QRX_PKT*
    - OSSL_ACKM_RX_PKT*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 262
    functionDepth: 6
    functionLinenumber: 262
    functionLinenumberEnd: 324
    functionName: depack_do_frame_crypto
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_assert
    - ossl_quic_rstream_queue_data
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_quic_rxfc_get_error
    - ossl_quic_wire_decode_frame_crypto
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_crypto(PACKET *pkt, QUIC_CHANNEL *ch,\n                                  OSSL_QRX_PKT
      *parent_pkt,\n                                  OSSL_ACKM_RX_PKT *ackm_data,\n
      \                                 uint64_t *datalen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_new_token
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:332,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:333,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:346,1
    - Dst: ossl_quic_set_peer_token
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:354,1
    - Dst: ossl_quic_port_get_channel_ctx
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 326
    functionDepth: 6
    functionLinenumber: 326
    functionLinenumberEnd: 359
    functionName: depack_do_frame_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_new_token
    - ossl_quic_set_peer_token
    - ossl_quic_port_get_channel_ctx
    - ossl_quic_channel_raise_protocol_error
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_new_token(PACKET *pkt, QUIC_CHANNEL *ch,\n                                     OSSL_ACKM_RX_PKT
      *ackm_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:377,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:427,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:430,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:437,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:438,1
    - Dst: ossl_quic_channel_new_stream_remote
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:453,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:455,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - ch
    - stream_id
    - frame_type
    - result
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    - uint64_t
    - QUIC_STREAM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 495
    functionName: depack_do_implicit_stream_create
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_quic_rxfc_get_error
    - ossl_quic_channel_new_stream_remote
    linkageType: ''
    returnType: int
    signature: "int depack_do_implicit_stream_create(QUIC_CHANNEL *ch,\n                                            uint64_t
      stream_id,\n                                            uint64_t frame_type,\n
      \                                           QUIC_STREAM **result)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:511,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:512,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:519,1
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:530,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:531,1
    - Dst: ossl_quic_rxfc_on_rx_stream_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:540,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:543,1
    - Dst: ossl_quic_rxfc_get_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:551,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:553,1
    - Dst: ossl_quic_stream_recv_get_final_size
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:583,1
    - Dst: ossl_quic_stream_map_notify_size_known_recv_part
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:586,1
    - Dst: ossl_quic_rstream_queue_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:610,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:615,1
    - Dst: ossl_quic_rstream_available
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:629,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:630,1
    - Dst: ossl_quic_stream_map_notify_totally_received
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:638,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 6
    argNames:
    - pkt
    - ch
    - parent_pkt
    - ackm_data
    - frame_type
    - datalen
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_QRX_PKT*
    - OSSL_ACKM_RX_PKT*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 497
    functionDepth: 6
    functionLinenumber: 497
    functionLinenumberEnd: 643
    functionName: depack_do_frame_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_stream_map_notify_size_known_recv_part
    - ossl_quic_rstream_queue_data
    - ossl_quic_rxfc_on_rx_stream_frame
    - ossl_quic_rxfc_get_error
    - ossl_quic_rstream_available
    - ossl_quic_stream_map_notify_totally_received
    - ossl_quic_stream_recv_get_final_size
    - ossl_quic_wire_decode_frame_stream
    - ossl_quic_stream_has_recv
    - depack_do_implicit_stream_create
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_stream(PACKET *pkt, QUIC_CHANNEL *ch,\n                                  OSSL_QRX_PKT
      *parent_pkt,\n                                  OSSL_ACKM_RX_PKT *ackm_data,\n
      \                                 uint64_t frame_type,\n                                  uint64_t
      *datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 650
    functionName: update_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_update_state
    linkageType: ''
    returnType: void
    signature: void update_streams(QUIC_STREAM *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:656,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: update_streams_bidi
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_is_bidi
    - ossl_quic_stream_map_update_state
    linkageType: ''
    returnType: void
    signature: void update_streams_bidi(QUIC_STREAM *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:666,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: update_streams_uni
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_is_bidi
    - ossl_quic_stream_map_update_state
    linkageType: ''
    returnType: void
    signature: void update_streams_uni(QUIC_STREAM *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_max_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:677,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:678,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:685,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 672
    functionDepth: 6
    functionLinenumber: 672
    functionLinenumberEnd: 688
    functionName: depack_do_frame_max_data
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_wire_decode_frame_max_data
    - ossl_quic_stream_map_visit
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_max_data(PACKET *pkt, QUIC_CHANNEL *ch,\n                                    OSSL_ACKM_RX_PKT
      *ackm_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_max_stream_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:698,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:700,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:707,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:715,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:716,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:724,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 690
    functionDepth: 6
    functionLinenumber: 690
    functionLinenumberEnd: 727
    functionName: depack_do_frame_max_stream_data
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_stream_has_send
    - ossl_quic_stream_map_update_state
    - depack_do_implicit_stream_create
    - ossl_quic_wire_decode_frame_max_stream_data
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_max_stream_data(PACKET *pkt,\n                                           QUIC_CHANNEL
      *ch,\n                                           OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_max_streams
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:736,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:737,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:745,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:758,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:765,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - pkt
    - ch
    - ackm_data
    - frame_type
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 729
    functionDepth: 6
    functionLinenumber: 729
    functionLinenumberEnd: 776
    functionName: depack_do_frame_max_streams
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_max_streams
    - ossl_quic_stream_map_visit
    - ossl_quic_channel_raise_protocol_error
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_max_streams(PACKET *pkt,\n                                       QUIC_CHANNEL
      *ch,\n                                       OSSL_ACKM_RX_PKT *ackm_data,\n
      \                                      uint64_t frame_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_data_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:784,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 778
    functionDepth: 6
    functionLinenumber: 778
    functionLinenumberEnd: 794
    functionName: depack_do_frame_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_data_blocked
    - ossl_quic_channel_raise_protocol_error
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_data_blocked(PACKET *pkt,\n                                        QUIC_CHANNEL
      *ch,\n                                        OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_stream_data_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:804,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:806,1
    - Dst: depack_do_implicit_stream_create
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:817,1
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:825,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 796
    functionDepth: 6
    functionLinenumber: 796
    functionLinenumberEnd: 841
    functionName: depack_do_frame_stream_data_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - depack_do_implicit_stream_create
    - ossl_quic_stream_has_recv
    - ossl_quic_wire_decode_frame_stream_data_blocked
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_stream_data_blocked(PACKET *pkt,\n                                               QUIC_CHANNEL
      *ch,\n                                               OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_streams_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:850,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:851,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pkt
    - ch
    - ackm_data
    - frame_type
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 843
    functionDepth: 6
    functionLinenumber: 843
    functionLinenumberEnd: 874
    functionName: depack_do_frame_streams_blocked
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_decode_frame_streams_blocked
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_streams_blocked(PACKET *pkt,\n                                           QUIC_CHANNEL
      *ch,\n                                           OSSL_ACKM_RX_PKT *ackm_data,\n
      \                                          uint64_t frame_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_new_conn_id
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:882,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:883,1
    - Dst: ossl_quic_channel_on_new_conn_id
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 876
    functionDepth: 6
    functionLinenumber: 876
    functionLinenumberEnd: 893
    functionName: depack_do_frame_new_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_wire_decode_frame_new_conn_id
    - ossl_quic_channel_on_new_conn_id
    - ossl_quic_channel_raise_protocol_error
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_new_conn_id(PACKET *pkt,\n                                       QUIC_CHANNEL
      *ch,\n                                       OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_retire_conn_id
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:901,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:902,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 895
    functionDepth: 6
    functionLinenumber: 895
    functionLinenumberEnd: 931
    functionName: depack_do_frame_retire_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_decode_frame_retire_conn_id
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_retire_conn_id(PACKET *pkt,\n                                          QUIC_CHANNEL
      *ch,\n                                          OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: free_path_response
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_path_response(unsigned char *buf, size_t buf_len, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_path_challenge
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:947,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:948,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:963,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:966,1
    - Dst: ossl_quic_wire_encode_frame_path_response
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:969,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:970,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:974,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:976,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:986,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:987,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 938
    functionDepth: 6
    functionLinenumber: 938
    functionLinenumberEnd: 991
    functionName: depack_do_frame_path_challenge
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - WPACKET_finish
    - WPACKET_cleanup
    - ossl_quic_cfq_add_frame
    - OPENSSL_free
    - ossl_quic_wire_encode_frame_path_response
    - ossl_quic_wire_decode_frame_path_challenge
    - OPENSSL_malloc
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_path_challenge(PACKET *pkt,\n                                          QUIC_CHANNEL
      *ch,\n                                          OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_path_response
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:999,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 993
    functionDepth: 6
    functionLinenumber: 993
    functionLinenumberEnd: 1010
    functionName: depack_do_frame_path_response
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_decode_frame_path_response
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_path_response(PACKET *pkt,\n                                         QUIC_CHANNEL
      *ch,\n                                         OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_conn_close
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1017,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1018,1
    - Dst: ossl_quic_channel_on_remote_conn_close
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pkt
    - ch
    - frame_type
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1012
    functionDepth: 6
    functionLinenumber: 1012
    functionLinenumberEnd: 1027
    functionName: depack_do_frame_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_channel_on_remote_conn_close
    - ossl_quic_wire_decode_frame_conn_close
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_conn_close(PACKET *pkt, QUIC_CHANNEL *ch,\n                                      uint64_t
      frame_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_decode_frame_handshake_done
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1033,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1035,1
    - Dst: ossl_quic_channel_on_handshake_confirmed
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pkt
    - ch
    - ackm_data
    argTypes:
    - PACKET*
    - QUIC_CHANNEL*
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1029
    functionDepth: 6
    functionLinenumber: 1029
    functionLinenumberEnd: 1044
    functionName: depack_do_frame_handshake_done
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_channel_on_handshake_confirmed
    - ossl_quic_wire_decode_frame_handshake_done
    linkageType: ''
    returnType: int
    signature: "int depack_do_frame_handshake_done(PACKET *pkt,\n                                          QUIC_CHANNEL
      *ch,\n                                          OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 85
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1053,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1055,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1061,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1068,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1075,1
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1077,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1078,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1086,1
    - Dst: depack_do_frame_ping
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1114,1
    - Dst: depack_do_frame_padding
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1119,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1127,1
    - Dst: depack_do_frame_ack
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1133,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1142,1
    - Dst: depack_do_frame_reset_stream
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1149,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1156,1
    - Dst: depack_do_frame_stop_sending
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1163,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1169,1
    - Dst: depack_do_frame_crypto
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1175,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1181,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1193,1
    - Dst: depack_do_frame_new_token
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1200,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1215,1
    - Dst: depack_do_frame_stream
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1221,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1230,1
    - Dst: depack_do_frame_max_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1236,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1243,1
    - Dst: depack_do_frame_max_stream_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1249,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1258,1
    - Dst: depack_do_frame_max_streams
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1264,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1273,1
    - Dst: depack_do_frame_data_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1279,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1286,1
    - Dst: depack_do_frame_stream_data_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1292,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1301,1
    - Dst: depack_do_frame_streams_blocked
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1307,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1316,1
    - Dst: depack_do_frame_new_conn_id
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1321,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1328,1
    - Dst: depack_do_frame_retire_conn_id
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1334,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1341,1
    - Dst: depack_do_frame_path_challenge
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1347,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1354,1
    - Dst: depack_do_frame_path_response
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1360,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1368,1
    - Dst: depack_do_frame_conn_close
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1377,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1384,1
    - Dst: depack_do_frame_handshake_done
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1390,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1396,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1406,1
    - Dst: OSSL_QUIC_FRAME_TYPE_IS_STREAM
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1410,1
    - Dst: QUIC_CHANNEL*::msg_callback
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1416,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 210
    argCount: 6
    argNames:
    - ch
    - pkt
    - parent_pkt
    - enc_level
    - received
    - ackm_data
    argTypes:
    - QUIC_CHANNEL*
    - PACKET*
    - OSSL_QRX_PKT*
    - uint32_t
    - OSSL_TIME
    - OSSL_ACKM_RX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1048
    functionDepth: 7
    functionLinenumber: 1048
    functionLinenumberEnd: 1422
    functionName: depack_process_frames
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - depack_do_frame_ping
    - depack_do_frame_data_blocked
    - QUIC_CHANNEL*::msg_callback
    - depack_do_frame_path_response
    - depack_do_frame_retire_conn_id
    - PACKET_data
    - depack_do_frame_new_token
    - depack_do_frame_new_conn_id
    - ossl_quic_wire_peek_frame_header
    - depack_do_frame_max_data
    - depack_do_frame_handshake_done
    - depack_do_frame_streams_blocked
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_enc_level_to_pn_space
    - depack_do_frame_padding
    - depack_do_frame_reset_stream
    - depack_do_frame_max_streams
    - depack_do_frame_crypto
    - OSSL_QUIC_FRAME_TYPE_IS_STREAM
    - depack_do_frame_stream_data_blocked
    - depack_do_frame_ack
    - depack_do_frame_stop_sending
    - PACKET_remaining
    - depack_do_frame_stream
    - depack_do_frame_conn_close
    - depack_do_frame_path_challenge
    - depack_do_frame_max_stream_data
    linkageType: ''
    returnType: int
    signature: "int depack_process_frames(QUIC_CHANNEL *ch, PACKET *pkt,\n                                 OSSL_QRX_PKT
      *parent_pkt, uint32_t enc_level,\n                                 OSSL_TIME
      received, OSSL_ACKM_RX_PKT *ackm_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1438,1
    - Dst: ossl_quic_pkt_type_to_enc_level
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1445,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1453,1
    - Dst: ossl_quic_tx_packetiser_set_validated
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1464,1
    - Dst: ossl_quic_tx_packetiser_add_unvalidated_credit
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1466,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1469,1
    - Dst: depack_process_frames
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1470,1
    - Dst: ossl_ackm_on_rx_packet
      Src: /src/openssl/ssl/quic/quic_rx_depack.c:1476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ch
    - qpacket
    argTypes:
    - QUIC_CHANNEL*
    - OSSL_QRX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1424
    functionDepth: 8
    functionLinenumber: 1424
    functionLinenumberEnd: 1479
    functionName: ossl_quic_handle_frames
    functionSourceFile: /src/openssl/ssl/quic/quic_rx_depack.c
    functionUses: 0
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - memset
    - ossl_quic_tx_packetiser_add_unvalidated_credit
    - ossl_quic_tx_packetiser_set_validated
    - PACKET_buf_init
    - ossl_quic_pkt_type_to_enc_level
    - ossl_ackm_on_rx_packet
    - depack_process_frames
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK ossl_quic_handle_frames(QUIC_CHANNEL *ch, OSSL_QRX_PKT
      *qpacket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/quic/quic_record_util.c:37,1
    - Dst: EVP_KDF_fetch
      Src: /src/openssl/ssl/quic/quic_record_util.c:38,1
    - Dst: EVP_KDF_CTX_new
      Src: /src/openssl/ssl/quic/quic_record_util.c:39,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/quic/quic_record_util.c:50,1
    - Dst: OSSL_PARAM_construct_int
      Src: /src/openssl/ssl/quic/quic_record_util.c:51,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/quic/quic_record_util.c:52,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/quic/quic_record_util.c:54,1
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/openssl/ssl/quic/quic_record_util.c:56,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/quic/quic_record_util.c:58,1
    - Dst: EVP_KDF_derive
      Src: /src/openssl/ssl/quic/quic_record_util.c:60,1
    - Dst: EVP_KDF_CTX_free
      Src: /src/openssl/ssl/quic/quic_record_util.c:63,1
    - Dst: EVP_KDF_free
      Src: /src/openssl/ssl/quic/quic_record_util.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 9
    argNames:
    - libctx
    - propq
    - md
    - salt
    - salt_len
    - ikm
    - ikm_len
    - out
    - out_len
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 22
    functionDepth: 5
    functionLinenumber: 22
    functionLinenumberEnd: 66
    functionName: ossl_quic_hkdf_extract
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - EVP_KDF_fetch
    - OSSL_PARAM_construct_octet_string
    - EVP_KDF_CTX_new
    - EVP_KDF_CTX_free
    - OSSL_PARAM_construct_utf8_string
    - EVP_KDF_free
    - OSSL_PARAM_construct_int
    - EVP_MD_get0_name
    - OSSL_PARAM_construct_end
    - EVP_KDF_derive
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_hkdf_extract(OSSL_LIB_CTX *libctx,\n                           const
      char *propq,\n                           const EVP_MD *md,\n                           const
      unsigned char *salt, size_t salt_len,\n                           const unsigned
      char *ikm, size_t ikm_len,\n                           unsigned char *out, size_t
      out_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/quic/quic_record_util.c:98,1
    - Dst: ossl_quic_hkdf_extract
      Src: /src/openssl/ssl/quic/quic_record_util.c:110,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_util.c:123,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_util.c:136,1
    - Dst: ossl_qrx_provide_secret
      Src: /src/openssl/ssl/quic/quic_record_util.c:148,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/ssl/quic/quic_record_util.c:160,1
    - Dst: ossl_qtx_provide_secret
      Src: /src/openssl/ssl/quic/quic_record_util.c:167,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/quic/quic_record_util.c:177,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 37
    argCount: 6
    argNames:
    - libctx
    - propq
    - dst_conn_id
    - is_server
    - qrx
    - qtx
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - QUIC_CONN_ID*
    - int
    - struct ossl_qrx_st*
    - struct ossl_qtx_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 82
    functionDepth: 10
    functionLinenumber: 82
    functionLinenumberEnd: 179
    functionName: ossl_quic_provide_initial_secret
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 4
    functionsReached:
    - EVP_MD_up_ref
    - EVP_MD_free
    - tls13_hkdf_expand_ex
    - ossl_qrx_provide_secret
    - ossl_qtx_provide_secret
    - ossl_quic_hkdf_extract
    - EVP_MD_fetch
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_provide_initial_secret(OSSL_LIB_CTX *libctx,\n                                     const
      char *propq,\n                                     const QUIC_CONN_ID *dst_conn_id,\n
      \                                    int is_server,\n                                     struct
      ossl_qrx_st *qrx,\n                                     struct ossl_qtx_st *qtx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: get_suite
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct suite_info
    signature: struct suite_info *get_suite(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: ossl_qrl_get_suite_cipher_name
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: char
    signature: char *ossl_qrl_get_suite_cipher_name(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: ossl_qrl_get_suite_md_name
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: char
    signature: char *ossl_qrl_get_suite_md_name(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: ossl_qrl_get_suite_secret_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_qrl_get_suite_secret_len(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: ossl_qrl_get_suite_cipher_key_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_qrl_get_suite_cipher_key_len(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: ossl_qrl_get_suite_cipher_iv_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_qrl_get_suite_cipher_iv_len(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: ossl_qrl_get_suite_cipher_tag_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_qrl_get_suite_cipher_tag_len(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: ossl_qrl_get_suite_hdr_prot_cipher_id
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_qrl_get_suite_hdr_prot_cipher_id(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: ossl_qrl_get_suite_hdr_prot_key_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ossl_qrl_get_suite_hdr_prot_key_len(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: ossl_qrl_get_suite_max_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_qrl_get_suite_max_pkt(uint32_t suite_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_suite
      Src: /src/openssl/ssl/quic/quic_record_util.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suite_id
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: ossl_qrl_get_suite_max_forged_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_record_util.c
    functionUses: 0
    functionsReached:
    - get_suite
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_qrl_get_suite_max_forged_pkt(uint32_t suite_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/openssl/ssl/quic/quic_tserver.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: alpn_select_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 13
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "int alpn_select_cb(SSL *ssl, const unsigned char **out,\n                          unsigned
      char *outlen, const unsigned char *in,\n                          unsigned int
      inlen, void *arg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_tserver.c:88,1
    - Dst: ossl_crypto_mutex_new
      Src: /src/openssl/ssl/quic/quic_tserver.c:94,1
    - Dst: SSL_CTX_new_ex
      Src: /src/openssl/ssl/quic/quic_tserver.c:101,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/quic/quic_tserver.c:102,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/openssl/ssl/quic/quic_tserver.c:107,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/openssl/ssl/quic/quic_tserver.c:111,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/openssl/ssl/quic/quic_tserver.c:114,1
    - Dst: SSL_new
      Src: /src/openssl/ssl/quic/quic_tserver.c:116,1
    - Dst: ossl_quic_engine_new
      Src: /src/openssl/ssl/quic/quic_tserver.c:124,1
    - Dst: ossl_quic_engine_set_time_cb
      Src: /src/openssl/ssl/quic/quic_tserver.c:127,1
    - Dst: ossl_quic_engine_create_port
      Src: /src/openssl/ssl/quic/quic_tserver.c:133,1
    - Dst: ossl_quic_port_create_incoming
      Src: /src/openssl/ssl/quic/quic_tserver.c:136,1
    - Dst: ossl_quic_port_set_net_rbio
      Src: /src/openssl/ssl/quic/quic_tserver.c:139,1
    - Dst: ossl_quic_port_set_net_wbio
      Src: /src/openssl/ssl/quic/quic_tserver.c:140,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_tserver.c:143,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:155,1
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:156,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:157,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:158,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:159,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:161,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:163,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:166,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 69
    argCount: 3
    argNames:
    - args
    - certfile
    - keyfile
    argTypes:
    - QUIC_TSERVER_ARGS*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 77
    functionDepth: 8
    functionLinenumber: 77
    functionLinenumberEnd: 168
    functionName: ossl_quic_tserver_new
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 3
    functionsReached:
    - ossl_quic_engine_free
    - ossl_quic_port_free
    - OPENSSL_free
    - ossl_quic_engine_set_time_cb
    - ossl_crypto_mutex_new
    - OPENSSL_zalloc
    - SSL_CTX_free
    - SSL_CTX_set_alpn_select_cb
    - ossl_quic_port_set_net_wbio
    - ossl_quic_port_set_net_rbio
    - SSL_CTX_use_PrivateKey_file
    - ossl_quic_engine_create_port
    - ossl_quic_channel_free
    - TLS_method
    - SSL_CTX_new_ex
    - SSL_free
    - SSL_new
    - ossl_crypto_mutex_free
    - SSL_CTX_use_certificate_file
    - ossl_quic_engine_new
    - ossl_quic_port_create_incoming
    linkageType: ''
    returnType: QUIC_TSERVER
    signature: "QUIC_TSERVER *ossl_quic_tserver_new(const QUIC_TSERVER_ARGS *args,\n
      \                                   const char *certfile, const char *keyfile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:175,1
    - Dst: ossl_quic_channel_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:176,1
    - Dst: ossl_quic_port_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:177,1
    - Dst: ossl_quic_engine_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:178,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_tserver.c:179,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/quic_tserver.c:180,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:181,1
    - Dst: SSL_CTX_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:182,1
    - Dst: ossl_crypto_mutex_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:184,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tserver.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 7
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: ossl_quic_tserver_free
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 26
    functionsReached:
    - ossl_crypto_mutex_free
    - ossl_quic_channel_free
    - ossl_quic_engine_free
    - SSL_CTX_free
    - SSL_free
    - ossl_quic_port_free
    - BIO_free_all
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_tserver_free(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_set_mutator
      Src: /src/openssl/ssl/quic/quic_tserver.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - srv
    - mutatecb
    - finishmutatecb
    - mutatearg
    argTypes:
    - QUIC_TSERVER*
    - ossl_mutate_packet_cb
    - ossl_finish_mutate_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: ossl_quic_tserver_set_plain_packet_mutator
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_set_mutator
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_set_plain_packet_mutator(QUIC_TSERVER *srv,\n
      \                                              ossl_mutate_packet_cb mutatecb,\n
      \                                              ossl_finish_mutate_cb finishmutatecb,\n
      \                                              void *mutatearg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statem_set_mutator
      Src: /src/openssl/ssl/quic/quic_tserver.c:204,1
    - Dst: ossl_quic_channel_get0_ssl
      Src: /src/openssl/ssl/quic/quic_tserver.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - srv
    - mutate_handshake_cb
    - finish_mutate_handshake_cb
    - mutatearg
    argTypes:
    - QUIC_TSERVER*
    - ossl_statem_mutate_handshake_cb
    - ossl_statem_finish_mutate_handshake_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: ossl_quic_tserver_set_handshake_mutator
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_get0_ssl
    - ossl_statem_set_mutator
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_set_handshake_mutator(QUIC_TSERVER *srv,\n                                            ossl_statem_mutate_handshake_cb
      mutate_handshake_cb,\n                                            ossl_statem_finish_mutate_handshake_cb
      finish_mutate_handshake_cb,\n                                            void
      *mutatearg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:212,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:212,1
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_tserver.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: ossl_quic_tserver_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 22
    functionsReached:
    - ossl_quic_reactor_tick
    - ossl_quic_channel_is_active
    - ossl_quic_channel_get_reactor
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_tick(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_tserver.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: ossl_quic_tserver_is_connected
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_is_active
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_is_connected(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_tserver.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: ossl_quic_tserver_is_term_any
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 4
    functionsReached:
    - ossl_quic_channel_is_term_any
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_is_term_any(const QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_terminate_cause
      Src: /src/openssl/ssl/quic/quic_tserver.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: ossl_quic_tserver_get_terminate_cause
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 3
    functionsReached:
    - ossl_quic_channel_get_terminate_cause
    linkageType: ''
    returnType: QUIC_TERMINATE_CAUSE
    signature: 'QUIC_TERMINATE_CAUSE *

      ossl_quic_tserver_get_terminate_cause(const QUIC_TSERVER *srv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_tserver.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: ossl_quic_tserver_is_terminated
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_is_terminated
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_is_terminated(const QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_short_header_conn_id_len
      Src: /src/openssl/ssl/quic/quic_tserver.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: ossl_quic_tserver_get_short_header_conn_id_len
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_get_short_header_conn_id_len
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_tserver_get_short_header_conn_id_len(const QUIC_TSERVER
      *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_handshake_confirmed
      Src: /src/openssl/ssl/quic/quic_tserver.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: ossl_quic_tserver_is_handshake_confirmed
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_is_handshake_confirmed
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_is_handshake_confirmed(const QUIC_TSERVER *srv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:262,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:262,1
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_tserver.c:275,1
    - Dst: ossl_quic_stream_has_recv_buffer
      Src: /src/openssl/ssl/quic/quic_tserver.c:283,1
    - Dst: ossl_quic_rstream_read
      Src: /src/openssl/ssl/quic/quic_tserver.c:286,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_tserver.c:299,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_tserver.c:299,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_tserver.c:301,1
    - Dst: ossl_quic_stream_map_notify_totally_read
      Src: /src/openssl/ssl/quic/quic_tserver.c:307,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:307,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_tserver.c:311,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:311,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - srv
    - stream_id
    - buf
    - buf_len
    - bytes_read
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 253
    functionDepth: 8
    functionLinenumber: 253
    functionLinenumberEnd: 314
    functionName: ossl_quic_tserver_read
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 9
    functionsReached:
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_channel_get_statm
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_has_recv_buffer
    - ossl_quic_channel_is_active
    - ossl_quic_rxfc_on_retire
    - ossl_quic_stream_map_update_state
    - ossl_statm_get_rtt_info
    - ossl_quic_rstream_read
    - ossl_quic_stream_map_notify_totally_read
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_read(QUIC_TSERVER *srv,\n                           uint64_t
      stream_id,\n                           unsigned char *buf,\n                           size_t
      buf_len,\n                           size_t *bytes_read)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:323,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:323,1
    - Dst: ossl_quic_stream_has_recv_buffer
      Src: /src/openssl/ssl/quic/quic_tserver.c:332,1
    - Dst: ossl_quic_rstream_peek
      Src: /src/openssl/ssl/quic/quic_tserver.c:341,1
    - Dst: ossl_quic_rstream_read
      Src: /src/openssl/ssl/quic/quic_tserver.c:348,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_tserver.c:352,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_tserver.c:353,1
    - Dst: ossl_quic_stream_map_notify_totally_read
      Src: /src/openssl/ssl/quic/quic_tserver.c:355,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:355,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_tserver.c:357,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - srv
    - stream_id
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts:
    - condition: (is_fin && bytes_read == 0)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/openssl/ssl/quic/quic_tserver.c
    - condition: (qs->recv_state == QUIC_RSTREAM_STATE_DATA_RECVD)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/openssl/ssl/quic/quic_tserver.c
    constantsTouched: []
    func_position:
      end: 362
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 362
    functionName: ossl_quic_tserver_has_read_ended
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_has_recv_buffer
    - ossl_quic_stream_map_update_state
    - ossl_quic_rstream_peek
    - ossl_quic_rstream_read
    - ossl_quic_stream_map_notify_totally_read
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_has_read_ended(QUIC_TSERVER *srv, uint64_t stream_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_tserver.c:372,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:375,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:375,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_tserver.c:377,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/ssl/quic/quic_tserver.c:380,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_tserver.c:389,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:389,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - srv
    - stream_id
    - buf
    - buf_len
    - bytes_written
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 394
    functionName: ossl_quic_tserver_write
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 10
    functionsReached:
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_channel_get_qsm
    - ossl_quic_channel_is_active
    - ossl_quic_tserver_tick
    - ossl_quic_sstream_append
    - ossl_quic_stream_map_update_state
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_write(QUIC_TSERVER *srv,\n                            uint64_t
      stream_id,\n                            const unsigned char *buf,\n                            size_t
      buf_len,\n                            size_t *bytes_written)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_tserver.c:400,1
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:403,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:403,1
    - Dst: ossl_quic_stream_has_send_buffer
      Src: /src/openssl/ssl/quic/quic_tserver.c:405,1
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_tserver.c:408,1
    - Dst: ossl_quic_sstream_fin
      Src: /src/openssl/ssl/quic/quic_tserver.c:409,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_tserver.c:410,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:410,1
    - Dst: ossl_quic_tserver_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - srv
    - stream_id
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 415
    functionName: ossl_quic_tserver_conclude
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 3
    functionsReached:
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_stream_has_send_buffer
    - ossl_quic_channel_get_qsm
    - ossl_quic_channel_is_active
    - ossl_quic_tserver_tick
    - ossl_quic_sstream_fin
    - ossl_quic_stream_map_update_state
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_conclude(QUIC_TSERVER *srv, uint64_t stream_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_tserver.c:423,1
    - Dst: ossl_quic_channel_new_stream_local
      Src: /src/openssl/ssl/quic/quic_tserver.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - srv
    - is_uni
    - stream_id
    argTypes:
    - QUIC_TSERVER*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 431
    functionName: ossl_quic_tserver_stream_new
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 5
    functionsReached:
    - ossl_quic_channel_new_stream_local
    - ossl_quic_channel_is_active
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_stream_new(QUIC_TSERVER *srv,\n                                 int
      is_uni,\n                                 uint64_t *stream_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 436
    functionName: ossl_quic_tserver_get0_rbio
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BIO
    signature: BIO *ossl_quic_tserver_get0_rbio(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: ossl_quic_tserver_get0_ssl_ctx
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX *ossl_quic_tserver_get0_ssl_ctx(QUIC_TSERVER *srv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:449,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - srv
    - stream_id
    - app_error_code
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 458
    functionName: ossl_quic_tserver_stream_has_peer_stop_sending
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_get_by_id
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_stream_has_peer_stop_sending(QUIC_TSERVER *srv,\n
      \                                                  uint64_t stream_id,\n                                                   uint64_t
      *app_error_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:466,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:466,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_tserver.c:471,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_tserver.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - srv
    - stream_id
    - app_error_code
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 475
    functionName: ossl_quic_tserver_stream_has_peer_reset_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_stream_recv_is_reset
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_stream_has_peer_reset_stream(QUIC_TSERVER *srv,\n
      \                                                  uint64_t stream_id,\n                                                   uint64_t
      \ *app_error_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_replace_local_cid
      Src: /src/openssl/ssl/quic/quic_tserver.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - srv
    - conn_id
    argTypes:
    - QUIC_TSERVER*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: ossl_quic_tserver_set_new_local_cid
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_replace_local_cid
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_set_new_local_cid(QUIC_TSERVER *srv,\n                                        const
      QUIC_CONN_ID *conn_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:486,1
    - Dst: ossl_quic_stream_map_peek_accept_queue
      Src: /src/openssl/ssl/quic/quic_tserver.c:487,1
    - Dst: ossl_quic_stream_map_remove_from_accept_queue
      Src: /src/openssl/ssl/quic/quic_tserver.c:492,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_tserver.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: ossl_quic_tserver_pop_incoming_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_time_zero
    - ossl_quic_stream_map_remove_from_accept_queue
    - ossl_quic_stream_map_peek_accept_queue
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_tserver_pop_incoming_stream(QUIC_TSERVER *srv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_tserver.c:502,1
    - Dst: ossl_quic_channel_get_qsm
      Src: /src/openssl/ssl/quic/quic_tserver.c:502,1
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/ssl/quic/quic_tserver.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - srv
    - stream_id
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: ossl_quic_tserver_is_stream_totally_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_get_qsm
    - ossl_quic_stream_map_get_by_id
    - ossl_quic_sstream_is_totally_acked
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_is_stream_totally_acked(QUIC_TSERVER *srv,\n
      \                                             uint64_t stream_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_net_read_desired
      Src: /src/openssl/ssl/quic/quic_tserver.c:512,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: ossl_quic_tserver_get_net_read_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 0
    functionsReached:
    - ossl_quic_reactor_net_read_desired
    - ossl_quic_channel_get_reactor
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_get_net_read_desired(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_net_write_desired
      Src: /src/openssl/ssl/quic/quic_tserver.c:518,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: ossl_quic_tserver_get_net_write_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 0
    functionsReached:
    - ossl_quic_reactor_net_write_desired
    - ossl_quic_channel_get_reactor
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_get_net_write_desired(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_get_tick_deadline
      Src: /src/openssl/ssl/quic/quic_tserver.c:524,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: ossl_quic_tserver_get_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - ossl_quic_reactor_get_tick_deadline
    - ossl_quic_channel_get_reactor
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_quic_tserver_get_deadline(QUIC_TSERVER *srv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_local_close
      Src: /src/openssl/ssl/quic/quic_tserver.c:530,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_tserver.c:532,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:535,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:535,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_tserver.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - srv
    - app_error_code
    argTypes:
    - QUIC_TSERVER*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: ossl_quic_tserver_shutdown
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_local_close
    - ossl_quic_channel_get_reactor
    - ossl_quic_channel_is_terminated
    - ossl_quic_reactor_tick
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_shutdown(QUIC_TSERVER *srv, uint64_t app_error_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_tserver.c:542,1
    - Dst: ossl_quic_channel_ping
      Src: /src/openssl/ssl/quic/quic_tserver.c:545,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_tserver.c:548,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_tserver.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: ossl_quic_tserver_ping
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_reactor_tick
    - ossl_quic_channel_ping
    - ossl_quic_channel_is_terminated
    - ossl_quic_channel_get_reactor
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_ping(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: ossl_quic_tserver_get_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: QUIC_CHANNEL
    signature: QUIC_CHANNEL *ossl_quic_tserver_get_channel(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_tserver.c:564,1
    - Dst: ossl_quic_channel_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_tserver.c:565,1
    - Dst: SSL_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_tserver.c:566,1
    - Dst: SSL_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_tserver.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - srv
    - arg
    argTypes:
    - QUIC_TSERVER*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 557
    functionDepth: 6
    functionLinenumber: 557
    functionLinenumberEnd: 568
    functionName: ossl_quic_tserver_set_msg_callback
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_set_msg_callback
    - SSL_set_msg_callback
    - SSL_set_msg_callback_arg
    - ossl_quic_channel_set_msg_callback_arg
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tserver_set_msg_callback(QUIC_TSERVER *srv,\n                                        void
      (*f)(int write_p, int version,\n                                                  int
      content_type,\n                                                  const void
      *buf, size_t len,\n                                                  SSL *ssl,
      void *arg),\n                                        void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new_session_ticket
      Src: /src/openssl/ssl/quic/quic_tserver.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - QUIC_TSERVER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: ossl_quic_tserver_new_ticket
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 2
    functionsReached:
    - SSL_new_session_ticket
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tserver_new_ticket(QUIC_TSERVER *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_max_early_data
      Src: /src/openssl/ssl/quic/quic_tserver.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - srv
    - max_early_data
    argTypes:
    - QUIC_TSERVER*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: ossl_quic_tserver_set_max_early_data
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - SSL_set_max_early_data
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tserver_set_max_early_data(QUIC_TSERVER *srv,\n                                         uint32_t
      max_early_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_psk_find_session_callback
      Src: /src/openssl/ssl/quic/quic_tserver.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - srv
    - cb
    argTypes:
    - QUIC_TSERVER*
    - SSL_psk_find_session_cb_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: ossl_quic_tserver_set_psk_find_session_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tserver.c
    functionUses: 1
    functionsReached:
    - SSL_set_psk_find_session_callback
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_tserver_set_psk_find_session_cb(QUIC_TSERVER *srv,\n
      \                                              SSL_psk_find_session_cb_func
      cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_txpim.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ossl_quic_txpim_new
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: QUIC_TXPIM
    signature: QUIC_TXPIM *ossl_quic_txpim_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_txpim.c:51,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_txpim.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - QUIC_TXPIM_PKT_EX_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: free_list
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_list(QUIC_TXPIM_PKT_EX_LIST *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_txpim.c:63,1
    - Dst: free_list
      Src: /src/openssl/ssl/quic/quic_txpim.c:64,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_txpim.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - txpim
    argTypes:
    - QUIC_TXPIM*
    assertStmts:
    - condition: (txpim->in_use == 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/openssl/ssl/quic/quic_txpim.c
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: ossl_quic_txpim_free
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - assert
    - free_list
    linkageType: ''
    returnType: void
    signature: void ossl_quic_txpim_free(QUIC_TXPIM *txpim)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - QUIC_TXPIM_PKT_EX_LIST*
    - QUIC_TXPIM_PKT_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: list_remove
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_remove(QUIC_TXPIM_PKT_EX_LIST *l, QUIC_TXPIM_PKT_EX *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - QUIC_TXPIM_PKT_EX_LIST*
    - QUIC_TXPIM_PKT_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: list_insert_tail
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_insert_tail(QUIC_TXPIM_PKT_EX_LIST *l, QUIC_TXPIM_PKT_EX
      *n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_txpim.c:99,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_txpim.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - txpim
    argTypes:
    - QUIC_TXPIM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: txpim_get_free
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - list_insert_tail
    linkageType: ''
    returnType: QUIC_TXPIM_PKT_EX
    signature: QUIC_TXPIM_PKT_EX *txpim_get_free(QUIC_TXPIM *txpim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_txpim.c:109,1
    - Dst: ossl_quic_txpim_pkt_clear_chunks
      Src: /src/openssl/ssl/quic/quic_txpim.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ex
    argTypes:
    - QUIC_TXPIM_PKT_EX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: txpim_clear
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 0
    functionsReached:
    - ossl_quic_txpim_pkt_clear_chunks
    - memset
    linkageType: ''
    returnType: void
    signature: void txpim_clear(QUIC_TXPIM_PKT_EX *ex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: txpim_get_free
      Src: /src/openssl/ssl/quic/quic_txpim.c:123,1
    - Dst: txpim_clear
      Src: /src/openssl/ssl/quic/quic_txpim.c:128,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_txpim.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - txpim
    argTypes:
    - QUIC_TXPIM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: ossl_quic_txpim_pkt_alloc
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 3
    functionsReached:
    - list_remove
    - txpim_get_free
    - txpim_clear
    linkageType: ''
    returnType: QUIC_TXPIM_PKT
    signature: QUIC_TXPIM_PKT *ossl_quic_txpim_pkt_alloc(QUIC_TXPIM *txpim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_txpim.c:138,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_txpim.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txpim
    - fpkt
    argTypes:
    - QUIC_TXPIM*
    - QUIC_TXPIM_PKT*
    assertStmts:
    - condition: (txpim->in_use > 0)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/openssl/ssl/quic/quic_txpim.c
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: ossl_quic_txpim_pkt_release
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 6
    functionsReached:
    - list_insert_tail
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_quic_txpim_pkt_release(QUIC_TXPIM *txpim, QUIC_TXPIM_PKT
      *fpkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fpkt
    - item
    argTypes:
    - QUIC_TXPIM_PKT*
    - QUIC_CFQ_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: ossl_quic_txpim_pkt_add_cfq_item
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_txpim_pkt_add_cfq_item(QUIC_TXPIM_PKT *fpkt,\n                                      QUIC_CFQ_ITEM
      *item)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fpkt
    argTypes:
    - QUIC_TXPIM_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: ossl_quic_txpim_pkt_clear_chunks
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_txpim_pkt_clear_chunks(QUIC_TXPIM_PKT *fpkt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/quic/quic_txpim.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - fpkt
    - chunk
    argTypes:
    - QUIC_TXPIM_PKT*
    - QUIC_TXPIM_CHUNK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 184
    functionName: ossl_quic_txpim_pkt_append_chunk
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 5
    functionsReached:
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_txpim_pkt_append_chunk(QUIC_TXPIM_PKT *fpkt,\n                                     const
      QUIC_TXPIM_CHUNK *chunk)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: compare
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/openssl/ssl/quic/quic_txpim.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fpkt
    argTypes:
    - QUIC_TXPIM_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: ossl_quic_txpim_pkt_get_chunks
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 4
    functionsReached:
    - qsort
    linkageType: ''
    returnType: QUIC_TXPIM_CHUNK
    signature: QUIC_TXPIM_CHUNK *ossl_quic_txpim_pkt_get_chunks(const QUIC_TXPIM_PKT
      *fpkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fpkt
    argTypes:
    - QUIC_TXPIM_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: ossl_quic_txpim_pkt_get_num_chunks
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_txpim_pkt_get_num_chunks(const QUIC_TXPIM_PKT *fpkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - txpim
    argTypes:
    - QUIC_TXPIM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: ossl_quic_txpim_get_in_use
    functionSourceFile: /src/openssl/ssl/quic/quic_txpim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_txpim_get_in_use(const QUIC_TXPIM *txpim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rio_notifier_init
      Src: /src/openssl/ssl/quic/quic_reactor.c:43,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/ssl/quic/quic_reactor.c:46,1
    - Dst: ossl_rio_notifier_cleanup
      Src: /src/openssl/ssl/quic/quic_reactor.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - rtor
    - tick_cb_arg
    - mutex
    - initial_tick_deadline
    - flags
    argTypes:
    - QUIC_REACTOR*
    - void*
    - CRYPTO_MUTEX*
    - OSSL_TIME
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 57
    functionName: ossl_quic_reactor_init
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_condvar_new
    - ossl_rio_notifier_cleanup
    - ossl_rio_notifier_init
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_reactor_init(QUIC_REACTOR *rtor,\n                           void
      (*tick_cb)(QUIC_TICK_RESULT *res, void *arg,\n                                           uint32_t
      flags),\n                           void *tick_cb_arg,\n                           CRYPTO_MUTEX
      *mutex,\n                           OSSL_TIME initial_tick_deadline,\n                           uint64_t
      flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rio_notifier_cleanup
      Src: /src/openssl/ssl/quic/quic_reactor.c:65,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/ssl/quic/quic_reactor.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: ossl_quic_reactor_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached:
    - ossl_rio_notifier_cleanup
    - ossl_crypto_condvar_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_reactor_cleanup(QUIC_REACTOR *rtor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_can_support_poll_descriptor
      Src: /src/openssl/ssl/quic/quic_reactor.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rtor
    - r
    argTypes:
    - QUIC_REACTOR*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: ossl_quic_reactor_set_poll_r
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 1
    functionsReached:
    - ossl_quic_reactor_can_support_poll_descriptor
    linkageType: ''
    returnType: void
    signature: void ossl_quic_reactor_set_poll_r(QUIC_REACTOR *rtor, const BIO_POLL_DESCRIPTOR
      *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_can_support_poll_descriptor
      Src: /src/openssl/ssl/quic/quic_reactor.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rtor
    - w
    argTypes:
    - QUIC_REACTOR*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: ossl_quic_reactor_set_poll_w
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 1
    functionsReached:
    - ossl_quic_reactor_can_support_poll_descriptor
    linkageType: ''
    returnType: void
    signature: void ossl_quic_reactor_set_poll_w(QUIC_REACTOR *rtor, const BIO_POLL_DESCRIPTOR
      *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: ossl_quic_reactor_get_poll_r
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_POLL_DESCRIPTOR
    signature: BIO_POLL_DESCRIPTOR *ossl_quic_reactor_get_poll_r(const QUIC_REACTOR
      *rtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: ossl_quic_reactor_get_poll_w
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_POLL_DESCRIPTOR
    signature: BIO_POLL_DESCRIPTOR *ossl_quic_reactor_get_poll_w(const QUIC_REACTOR
      *rtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rtor
    - d
    argTypes:
    - QUIC_REACTOR*
    - BIO_POLL_DESCRIPTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ossl_quic_reactor_can_support_poll_descriptor
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_reactor_can_support_poll_descriptor(const QUIC_REACTOR
      *rtor,\n                                                  const BIO_POLL_DESCRIPTOR
      *d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: ossl_quic_reactor_can_poll_r
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_reactor_can_poll_r(const QUIC_REACTOR *rtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ossl_quic_reactor_can_poll_w
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_reactor_can_poll_w(const QUIC_REACTOR *rtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: ossl_quic_reactor_net_read_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_reactor_net_read_desired(QUIC_REACTOR *rtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: ossl_quic_reactor_net_write_desired
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_reactor_net_write_desired(QUIC_REACTOR *rtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: ossl_quic_reactor_get_tick_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_quic_reactor_get_tick_deadline(QUIC_REACTOR *rtor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_REACTOR*::tick_cb
      Src: /src/openssl/ssl/quic/quic_reactor.c:146,1
    - Dst: rtor_notify_other_threads
      Src: /src/openssl/ssl/quic/quic_reactor.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rtor
    - flags
    argTypes:
    - QUIC_REACTOR*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: ossl_quic_reactor_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 8
    functionsReached:
    - rtor_notify_other_threads
    - QUIC_REACTOR*::tick_cb
    linkageType: ''
    returnType: int
    signature: int ossl_quic_reactor_tick(QUIC_REACTOR *rtor, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: ossl_quic_reactor_get0_notifier
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RIO_NOTIFIER
    signature: RIO_NOTIFIER *ossl_quic_reactor_get0_notifier(QUIC_REACTOR *rtor)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/openssl/ssl/quic/quic_reactor.c:230,1
    - Dst: FD_ZERO
      Src: /src/openssl/ssl/quic/quic_reactor.c:231,1
    - Dst: FD_ZERO
      Src: /src/openssl/ssl/quic/quic_reactor.c:232,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:235,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:237,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:241,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:243,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:247,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/quic/quic_reactor.c:248,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_reactor.c:257,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:258,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_reactor.c:270,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:279,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/quic_reactor.c:282,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_reactor.c:287,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/ssl/quic/quic_reactor.c:288,1
    - Dst: select
      Src: /src/openssl/ssl/quic/quic_reactor.c:292,1
    - Dst: get_last_socket_error_is_eintr
      Src: /src/openssl/ssl/quic/quic_reactor.c:293,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_reactor.c:297,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_reactor.c:331,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:331,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_reactor.c:337,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:341,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/quic_reactor.c:344,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_reactor.c:345,1
    - Dst: ossl_time2ms
      Src: /src/openssl/ssl/quic/quic_reactor.c:346,1
    - Dst: poll
      Src: /src/openssl/ssl/quic/quic_reactor.c:349,1
    - Dst: get_last_socket_error_is_eintr
      Src: /src/openssl/ssl/quic/quic_reactor.c:350,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_reactor.c:354,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 78
    argCount: 7
    argNames:
    - rfd
    - rfd_want_read
    - wfd
    - wfd_want_write
    - notify_rfd
    - deadline
    - mutex
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - OSSL_TIME
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 359
    functionName: poll_two_fds
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - FD_ZERO
    - poll
    - openssl_fdset
    - ossl_time_is_infinite
    - ossl_crypto_mutex_unlock
    - ossl_time_now
    - ossl_time_subtract
    - ossl_time_to_timeval
    - get_last_socket_error_is_eintr
    - ossl_crypto_mutex_lock
    - select
    - ossl_time2ms
    linkageType: ''
    returnType: int
    signature: "int poll_two_fds(int rfd, int rfd_want_read,\n                        int
      wfd, int wfd_want_write,\n                        int notify_rfd,\n                        OSSL_TIME
      deadline,\n                        CRYPTO_MUTEX *mutex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - d
    - fd
    argTypes:
    - BIO_POLL_DESCRIPTOR*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 374
    functionName: poll_descriptor_to_fd
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int poll_descriptor_to_fd(const BIO_POLL_DESCRIPTOR *d, int *fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: poll_descriptor_to_fd
      Src: /src/openssl/ssl/quic/quic_reactor.c:395,1
    - Dst: poll_descriptor_to_fd
      Src: /src/openssl/ssl/quic/quic_reactor.c:396,1
    - Dst: poll_two_fds
      Src: /src/openssl/ssl/quic/quic_reactor.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - r
    - r_want_read
    - w
    - w_want_write
    - notify_rfd
    - deadline
    - mutex
    argTypes:
    - BIO_POLL_DESCRIPTOR*
    - int
    - BIO_POLL_DESCRIPTOR*
    - int
    - int
    - OSSL_TIME
    - CRYPTO_MUTEX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 401
    functionName: poll_two_descriptors
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 0
    functionsReached:
    - poll_descriptor_to_fd
    - poll_two_fds
    linkageType: ''
    returnType: int
    signature: "int poll_two_descriptors(const BIO_POLL_DESCRIPTOR *r, int r_want_read,\n
      \                               const BIO_POLL_DESCRIPTOR *w, int w_want_write,\n
      \                               int notify_rfd,\n                                OSSL_TIME
      deadline,\n                                CRYPTO_MUTEX *mutex)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rio_notifier_signal
      Src: /src/openssl/ssl/quic/quic_reactor.c:437,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/ssl/quic/quic_reactor.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 448
    functionName: rtor_notify_other_threads
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 1
    functionsReached:
    - ossl_rio_notifier_signal
    - ossl_crypto_condvar_wait
    linkageType: ''
    returnType: void
    signature: void rtor_notify_other_threads(QUIC_REACTOR *rtor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_rio_notifier_as_fd
      Src: /src/openssl/ssl/quic/quic_reactor.c:469,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_reactor.c:477,1
    - Dst: pred
      Src: /src/openssl/ssl/quic/quic_reactor.c:479,1
    - Dst: ossl_quic_reactor_net_read_desired
      Src: /src/openssl/ssl/quic/quic_reactor.c:482,1
    - Dst: ossl_quic_reactor_net_write_desired
      Src: /src/openssl/ssl/quic/quic_reactor.c:483,1
    - Dst: ossl_quic_reactor_get_tick_deadline
      Src: /src/openssl/ssl/quic/quic_reactor.c:484,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_reactor.c:486,1
    - Dst: ossl_quic_reactor_enter_blocking_section
      Src: /src/openssl/ssl/quic/quic_reactor.c:490,1
    - Dst: poll_two_descriptors
      Src: /src/openssl/ssl/quic/quic_reactor.c:492,1
    - Dst: ossl_quic_reactor_get_poll_r
      Src: /src/openssl/ssl/quic/quic_reactor.c:492,1
    - Dst: ossl_quic_reactor_get_poll_w
      Src: /src/openssl/ssl/quic/quic_reactor.c:494,1
    - Dst: ossl_quic_reactor_leave_blocking_section
      Src: /src/openssl/ssl/quic/quic_reactor.c:540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - rtor
    - pred_arg
    - flags
    argTypes:
    - QUIC_REACTOR*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 562
    functionName: ossl_quic_reactor_block_until_pred
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 1
    functionsReached:
    - ossl_rio_notifier_as_fd
    - pred
    - poll_two_descriptors
    - ossl_time_is_infinite
    - ossl_quic_reactor_get_poll_r
    - ossl_quic_reactor_get_tick_deadline
    - ossl_quic_reactor_tick
    - ossl_quic_reactor_leave_blocking_section
    - ossl_quic_reactor_net_read_desired
    - ossl_quic_reactor_get_poll_w
    - ossl_quic_reactor_enter_blocking_section
    - ossl_quic_reactor_net_write_desired
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_reactor_block_until_pred(QUIC_REACTOR *rtor,\n                                       int
      (*pred)(void *arg), void *pred_arg,\n                                       uint32_t
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: ossl_quic_reactor_enter_blocking_section
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_reactor_enter_blocking_section(QUIC_REACTOR *rtor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_reactor.c:571,1
    - Dst: ossl_rio_notifier_unsignal
      Src: /src/openssl/ssl/quic/quic_reactor.c:576,1
    - Dst: ossl_crypto_condvar_broadcast
      Src: /src/openssl/ssl/quic/quic_reactor.c:583,1
    - Dst: ossl_crypto_condvar_wait
      Src: /src/openssl/ssl/quic/quic_reactor.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rtor
    argTypes:
    - QUIC_REACTOR*
    assertStmts:
    - condition: (rtor->cur_blocking_waiters > 0)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/openssl/ssl/quic/quic_reactor.c
    constantsTouched: []
    func_position:
      end: 590
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 590
    functionName: ossl_quic_reactor_leave_blocking_section
    functionSourceFile: /src/openssl/ssl/quic/quic_reactor.c
    functionUses: 2
    functionsReached:
    - ossl_crypto_condvar_wait
    - ossl_crypto_condvar_broadcast
    - assert
    - ossl_rio_notifier_unsignal
    linkageType: ''
    returnType: void
    signature: void ossl_quic_reactor_leave_blocking_section(QUIC_REACTOR *rtor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - els
    - enc_level
    - require_prov
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 42
    functionName: ossl_qrl_enc_level_set_get
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: OSSL_QRL_ENC_LEVEL
    signature: "OSSL_QRL_ENC_LEVEL *ossl_qrl_enc_level_set_get(OSSL_QRL_ENC_LEVEL_SET
      *els,\n                                               uint32_t enc_level,\n
      \                                              int require_prov)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - els
    - enc_level
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: ossl_qrl_enc_level_set_have_el
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    linkageType: ''
    returnType: int
    signature: "int ossl_qrl_enc_level_set_have_el(OSSL_QRL_ENC_LEVEL_SET *els,\n
      \                                 uint32_t enc_level)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:67,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:69,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - els
    - enc_level
    - tgt_state
    - keyslot
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    - unsigned char
    - size_t
    assertStmts:
    - condition: (enc_level == QUIC_ENC_LEVEL_1RTT)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/openssl/ssl/quic/quic_record_shared.c
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: ossl_qrl_enc_level_set_has_keyslot
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_assert
    - assert
    linkageType: ''
    returnType: int
    signature: "int ossl_qrl_enc_level_set_has_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,\n
      \                                      uint32_t enc_level,\n                                       unsigned
      char tgt_state,\n                                       size_t keyslot)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:88,1
    - Dst: ossl_qrl_enc_level_set_has_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:90,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:94,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - els
    - enc_level
    - keyslot
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: el_teardown_keyslot
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - OPENSSL_cleanse
    - ossl_qrl_enc_level_set_has_keyslot
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: "void el_teardown_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,\n                                uint32_t
      enc_level,\n                                size_t keyslot)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:108,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:115,1
    - Dst: ossl_qrl_enc_level_set_has_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:116,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:118,1
    - Dst: ossl_qrl_get_suite_cipher_name
      Src: /src/openssl/ssl/quic/quic_record_shared.c:122,1
    - Dst: ossl_qrl_get_suite_cipher_iv_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:123,1
    - Dst: ossl_qrl_get_suite_cipher_key_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:124,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:126,1
    - Dst: ossl_qrl_get_suite_secret_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:130,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:132,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:136,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:139,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:149,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/quic/quic_record_shared.c:159,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:160,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/quic/quic_record_shared.c:164,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:165,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:169,1
    - Dst: EVP_CIPHER_get_iv_length
      Src: /src/openssl/ssl/quic/quic_record_shared.c:169,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:170,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/quic/quic_record_shared.c:170,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:171,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:176,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:177,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:184,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:185,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:189,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:190,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:191,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:192,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 6
    argNames:
    - els
    - enc_level
    - tgt_state
    - keyslot
    - secret
    - secret_len
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    - unsigned char
    - size_t
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (el->cctx[keyslot] == NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/openssl/ssl/quic/quic_record_shared.c
    constantsTouched: []
    func_position:
      end: 194
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 194
    functionName: el_setup_keyslot
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_assert
    - EVP_CIPHER_CTX_new
    - ERR_raise
    - ossl_qrl_enc_level_set_has_keyslot
    - ossl_qrl_get_suite_cipher_name
    - EVP_CIPHER_get_key_length
    - ossl_qrl_get_suite_cipher_key_len
    - tls13_hkdf_expand_ex
    - ossl_qrl_get_suite_secret_len
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_free
    - ossl_qrl_get_suite_cipher_iv_len
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_get_iv_length
    - OPENSSL_cleanse
    - assert
    linkageType: ''
    returnType: int
    signature: "int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,\n                            uint32_t
      enc_level,\n                            unsigned char tgt_state,\n                            size_t
      keyslot,\n                            const unsigned char *secret,\n                            size_t
      secret_len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:207,1
    - Dst: ossl_qrl_get_suite_md_name
      Src: /src/openssl/ssl/quic/quic_record_shared.c:210,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:217,1
    - Dst: ossl_qrl_enc_level_set_discard
      Src: /src/openssl/ssl/quic/quic_record_shared.c:229,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:234,1
    - Dst: ossl_qrl_get_suite_hdr_prot_key_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:239,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:241,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/quic/quic_record_shared.c:246,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:248,1
    - Dst: ossl_qrl_get_suite_cipher_tag_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:259,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:265,1
    - Dst: el_setup_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:275,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:283,1
    - Dst: el_setup_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:294,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:301,1
    - Dst: ossl_quic_hdr_protector_init
      Src: /src/openssl/ssl/quic/quic_record_shared.c:313,1
    - Dst: ossl_qrl_get_suite_hdr_prot_cipher_id
      Src: /src/openssl/ssl/quic/quic_record_shared.c:315,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:325,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:326,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:333,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:334,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/quic/quic_record_shared.c:335,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:337,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:339,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:341,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 10
    argNames:
    - els
    - libctx
    - propq
    - enc_level
    - suite_id
    - md
    - secret
    - secret_len
    - init_key_phase_bit
    - is_tx
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - OSSL_LIB_CTX*
    - char*
    - uint32_t
    - uint32_t
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 196
    functionDepth: 10
    functionLinenumber: 196
    functionLinenumberEnd: 343
    functionName: ossl_qrl_enc_level_set_provide_secret
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_qrl_enc_level_set_discard
    - el_setup_keyslot
    - ERR_raise
    - EVP_MD_free
    - ossl_qrl_get_suite_hdr_prot_key_len
    - tls13_hkdf_expand_ex
    - ossl_qrl_get_suite_hdr_prot_cipher_id
    - el_teardown_keyslot
    - ossl_qrl_get_suite_cipher_tag_len
    - ossl_qrl_get_suite_md_name
    - ossl_quic_hdr_protector_init
    - EVP_MD_fetch
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els,\n
      \                                         OSSL_LIB_CTX *libctx,\n                                          const
      char *propq,\n                                          uint32_t enc_level,\n
      \                                         uint32_t suite_id,\n                                          EVP_MD
      *md,\n                                          const unsigned char *secret,\n
      \                                         size_t secret_len,\n                                          unsigned
      char init_key_phase_bit,\n                                          int is_tx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:348,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:352,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:353,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:358,1
    - Dst: ossl_qrl_get_suite_secret_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:375,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:378,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:386,1
    - Dst: el_setup_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:389,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_shared.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - els
    - enc_level
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 345
    functionDepth: 7
    functionLinenumber: 345
    functionLinenumberEnd: 398
    functionName: ossl_qrl_enc_level_set_key_update
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_assert
    - ERR_raise
    - memcpy
    - tls13_hkdf_expand_ex
    - ossl_qrl_get_suite_secret_len
    - el_teardown_keyslot
    - el_setup_keyslot
    linkageType: ''
    returnType: int
    signature: "int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els,\n
      \                                     uint32_t enc_level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:404,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:406,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:407,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - els
    - enc_level
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: ossl_qrl_enc_level_set_key_update_done
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - el_teardown_keyslot
    - ossl_assert
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_qrl_enc_level_set_key_update_done(OSSL_QRL_ENC_LEVEL_SET
      *els,\n                                           uint32_t enc_level)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:424,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_shared.c:428,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:429,1
    - Dst: ossl_qrl_enc_level_set_key_update_done
      Src: /src/openssl/ssl/quic/quic_record_shared.c:434,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:435,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_shared.c:440,1
    - Dst: ossl_qrl_get_suite_secret_len
      Src: /src/openssl/ssl/quic/quic_record_shared.c:444,1
    - Dst: el_setup_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:446,1
    - Dst: tls13_hkdf_expand_ex
      Src: /src/openssl/ssl/quic/quic_record_shared.c:451,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:458,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_shared.c:462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - els
    - enc_level
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 421
    functionDepth: 7
    functionLinenumber: 421
    functionLinenumberEnd: 465
    functionName: ossl_qrl_enc_level_set_key_cooldown_done
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_assert
    - ERR_raise
    - memcpy
    - ossl_qrl_enc_level_set_key_update_done
    - tls13_hkdf_expand_ex
    - ossl_qrl_get_suite_secret_len
    - el_teardown_keyslot
    - el_setup_keyslot
    linkageType: ''
    returnType: int
    signature: "int ossl_qrl_enc_level_set_key_cooldown_done(OSSL_QRL_ENC_LEVEL_SET
      *els,\n                                             uint32_t enc_level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_shared.c:474,1
    - Dst: ossl_qrl_enc_level_set_have_el
      Src: /src/openssl/ssl/quic/quic_record_shared.c:479,1
    - Dst: ossl_quic_hdr_protector_cleanup
      Src: /src/openssl/ssl/quic/quic_record_shared.c:480,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:482,1
    - Dst: el_teardown_keyslot
      Src: /src/openssl/ssl/quic/quic_record_shared.c:483,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/quic/quic_record_shared.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - els
    - enc_level
    argTypes:
    - OSSL_QRL_ENC_LEVEL_SET*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 489
    functionName: ossl_qrl_enc_level_set_discard
    functionSourceFile: /src/openssl/ssl/quic/quic_record_shared.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - EVP_MD_free
    - ossl_quic_hdr_protector_cleanup
    - el_teardown_keyslot
    - ossl_qrl_enc_level_set_have_el
    linkageType: ''
    returnType: void
    signature: "void ossl_qrl_enc_level_set_discard(OSSL_QRL_ENC_LEVEL_SET *els,\n
      \                                   uint32_t enc_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rl
    - ','
    - ad
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: QUIC_TLS_FATAL
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIC_TLS_FATAL(rl, ad, err)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_tls.c:111,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:116,1
    - Dst: quic_set1_bio
      Src: /src/openssl/ssl/quic/quic_tls.c:122,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:123,1
    - Dst: OSSL_FUNC_rlayer_msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:134,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/quic/quic_tls.c:159,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/quic/quic_tls.c:161,1
    - Dst: EVP_CIPHER_is_a
      Src: /src/openssl/ssl/quic/quic_tls.c:163,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:166,1
    - Dst: EVP_MD_up_ref
      Src: /src/openssl/ssl/quic/quic_tls.c:172,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:173,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:177,1
    - Dst: OSSL_RECORD_LAYER*::qtls::args::yield_secret_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:184,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:187,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/quic/quic_tls.c:188,1
    - Dst: quic_free
      Src: /src/openssl/ssl/quic/quic_tls.c:195,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 32
    argNames:
    - libctx
    - propq
    - vers
    - role
    - direction
    - level
    - epoch
    - secret
    - secretlen
    - key
    - keylen
    - iv
    - ivlen
    - mackey
    - mackeylen
    - ciph
    - taglen
    - mactype
    - md
    - comp
    - kdfdigest
    - prev
    - transport
    - next
    - local
    - peer
    - settings
    - options
    - fns
    - cbarg
    - rlarg
    - retrl
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - int
    - int
    - int
    - int
    - uint16_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - EVP_CIPHER*
    - size_t
    - int
    - EVP_MD*
    - COMP_METHOD*
    - EVP_MD*
    - BIO*
    - BIO*
    - BIO*
    - BIO_ADDR*
    - BIO_ADDR*
    - OSSL_PARAM*
    - OSSL_PARAM*
    - OSSL_DISPATCH*
    - void*
    - void*
    - OSSL_RECORD_LAYER**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 96
    functionDepth: 9
    functionLinenumber: 96
    functionLinenumberEnd: 197
    functionName: quic_new_record_layer
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - OPENSSL_zalloc
    - EVP_MD_up_ref
    - EVP_MD_free
    - OSSL_FUNC_rlayer_msg_callback
    - quic_free
    - OSSL_RECORD_LAYER*::qtls::args::yield_secret_cb
    - EVP_CIPHER_is_a
    - quic_set1_bio
    - QUIC_TLS_FATAL
    linkageType: ''
    returnType: int
    signature: "int quic_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq,
      int vers,\n                      int role, int direction, int level, uint16_t
      epoch,\n                      unsigned char *secret, size_t secretlen,\n                      unsigned
      char *key, size_t keylen, unsigned char *iv,\n                      size_t ivlen,
      unsigned char *mackey, size_t mackeylen,\n                      const EVP_CIPHER
      *ciph, size_t taglen,\n                      int mactype,\n                      const
      EVP_MD *md, COMP_METHOD *comp,\n                      const EVP_MD *kdfdigest,
      BIO *prev, BIO *transport,\n                      BIO *next, BIO_ADDR *local,
      BIO_ADDR *peer,\n                      const OSSL_PARAM *settings, const OSSL_PARAM
      *options,\n                      const OSSL_DISPATCH *fns, void *cbarg, void
      *rlarg,\n                      OSSL_RECORD_LAYER **retrl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/openssl/ssl/quic/quic_tls.c:204,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tls.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: quic_free
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int quic_free(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: quic_unprocessed_read_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_unprocessed_read_pending(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: quic_processed_read_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_processed_read_pending(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rl
    - type
    - len
    - maxfrag
    - preffrag
    argTypes:
    - OSSL_RECORD_LAYER*
    - uint8_t
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: quic_get_max_records
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t quic_get_max_records(OSSL_RECORD_LAYER *rl, uint8_t type,\n
      \                                  size_t len,\n                                   size_t
      maxfrag, size_t *preffrag)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:250,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:252,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/quic/quic_tls.c:256,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:279,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:283,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:296,1
    - Dst: OSSL_RECORD_LAYER*::qtls::args::alert_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:305,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:306,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:320,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:328,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:329,1
    - Dst: BIO_set_retry_write
      Src: /src/openssl/ssl/quic/quic_tls.c:341,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 2
    argNames:
    - rl
    - numtempl
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 352
    functionName: quic_write_records
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - BIO_clear_retry_flags
    - OSSL_RECORD_LAYER*::qtls::args::alert_cb
    - OSSL_RECORD_LAYER*::msg_callback
    - BIO_set_retry_write
    - QUIC_TLS_FATAL
    linkageType: ''
    returnType: int
    signature: "int quic_write_records(OSSL_RECORD_LAYER *rl,\n                              OSSL_RECORD_TEMPLATE
      *template,\n                              size_t numtempl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_write_records
      Src: /src/openssl/ssl/quic/quic_tls.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: quic_retry_write_records
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_write_records
    linkageType: ''
    returnType: int
    signature: int quic_retry_write_records(OSSL_RECORD_LAYER *rl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/quic/quic_tls.c:370,1
    - Dst: OSSL_RECORD_LAYER*::qtls::args::crypto_recv_rcd_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:372,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:374,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/quic/quic_tls.c:379,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:408,1
    - Dst: OSSL_RECORD_LAYER*::msg_callback
      Src: /src/openssl/ssl/quic/quic_tls.c:410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 8
    argNames:
    - rl
    - rechandle
    - rversion
    - type
    - data
    - datalen
    - epoch
    - seq_num
    argTypes:
    - OSSL_RECORD_LAYER*
    - void**
    - int*
    - uint8_t*
    - unsigned char**
    - size_t*
    - uint16_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 415
    functionName: quic_read_record
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_read
    - OSSL_RECORD_LAYER*::qtls::args::crypto_recv_rcd_cb
    - OSSL_RECORD_LAYER*::msg_callback
    - QUIC_TLS_FATAL
    linkageType: ''
    returnType: int
    signature: "int quic_read_record(OSSL_RECORD_LAYER *rl, void **rechandle,\n                            int
      *rversion, uint8_t *type, const unsigned char **data,\n                            size_t
      *datalen, uint16_t *epoch,\n                            unsigned char *seq_num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:420,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:421,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:422,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:423,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:424,1
    - Dst: OSSL_RECORD_LAYER*::qtls::args::crypto_release_rcd_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:429,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - rl
    - rechandle
    - length
    argTypes:
    - OSSL_RECORD_LAYER*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 438
    functionName: quic_release_record
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - QUIC_TLS_FATAL
    - ossl_assert
    - OSSL_RECORD_LAYER*::qtls::args::crypto_release_rcd_cb
    linkageType: ''
    returnType: int
    signature: "int quic_release_record(OSSL_RECORD_LAYER *rl, void *rechandle,\n
      \                              size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: quic_get_alert_code
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_get_alert_code(OSSL_RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:448,1
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - version
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: quic_set_protocol_version
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - QUIC_TLS_FATAL
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int quic_set_protocol_version(OSSL_RECORD_LAYER *rl, int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rl
    - allow
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: quic_set_plain_alerts
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void quic_set_plain_alerts(OSSL_RECORD_LAYER *rl, int allow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rl
    - first
    argTypes:
    - OSSL_RECORD_LAYER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: quic_set_first_handshake
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void quic_set_first_handshake(OSSL_RECORD_LAYER *rl, int first)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rl
    - max_pipelines
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: quic_set_max_pipelines
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void quic_set_max_pipelines(OSSL_RECORD_LAYER *rl, size_t max_pipelines)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - rl
    - shortstr
    - longstr
    argTypes:
    - OSSL_RECORD_LAYER*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 492
    functionName: quic_get_state
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void quic_get_state(OSSL_RECORD_LAYER *rl, const char **shortstr,\n
      \                   const char **longstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rl
    - options
    argTypes:
    - OSSL_RECORD_LAYER*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: quic_set_options
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_set_options(OSSL_RECORD_LAYER *rl, const OSSL_PARAM *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: quic_get_compression
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: COMP_METHOD
    signature: COMP_METHOD *quic_get_compression(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rl
    - max_frag_len
    argTypes:
    - OSSL_RECORD_LAYER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: quic_set_max_frag_len
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void quic_set_max_frag_len(OSSL_RECORD_LAYER *rl, size_t max_frag_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: quic_alloc_buffers
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_alloc_buffers(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 530
    functionName: quic_free_buffers
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_free_buffers(OSSL_RECORD_LAYER *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_up_ref
      Src: /src/openssl/ssl/quic/quic_tls.c:534,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/quic/quic_tls.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - bio
    argTypes:
    - OSSL_RECORD_LAYER*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 540
    functionName: quic_set1_bio
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 1
    functionsReached:
    - BIO_up_ref
    - BIO_free
    linkageType: ''
    returnType: int
    signature: int quic_set1_bio(OSSL_RECORD_LAYER *rl, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:551,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 553
    functionName: quic_app_data_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - QUIC_TLS_FATAL
    - ossl_assert
    linkageType: ''
    returnType: size_t
    signature: size_t quic_app_data_pending(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:557,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 559
    functionName: quic_get_max_record_overhead
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - QUIC_TLS_FATAL
    - ossl_assert
    linkageType: ''
    returnType: size_t
    signature: size_t quic_get_max_record_overhead(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_TLS_FATAL
      Src: /src/openssl/ssl/quic/quic_tls.c:563,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_tls.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rl
    argTypes:
    - OSSL_RECORD_LAYER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: quic_increment_sequence_ctr
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - QUIC_TLS_FATAL
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int quic_increment_sequence_ctr(OSSL_RECORD_LAYER *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - out
    - outlen
    - x
    - chainidx
    - al
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char**
    - size_t*
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 609
    functionName: add_transport_params_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int add_transport_params_cb(SSL *s, unsigned int ext_type,\n                                   unsigned
      int context,\n                                   const unsigned char **out,
      size_t *outlen,\n                                   X509 *x, size_t chainidx,
      int *al,\n                                   void *add_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - s
    - ext_type
    - context
    - out
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionName: free_transport_params_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void free_transport_params_cb(SSL *s, unsigned int ext_type,\n                                     unsigned
      int context,\n                                     const unsigned char *out,\n
      \                                    void *add_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_TLS*::args::got_transport_params_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - in
    - inlen
    - x
    - chainidx
    - al
    - parse_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 629
    functionName: parse_transport_params_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - QUIC_TLS*::args::got_transport_params_cb
    linkageType: ''
    returnType: int
    signature: "int parse_transport_params_cb(SSL *s, unsigned int ext_type,\n                                     unsigned
      int context,\n                                     const unsigned char *in,\n
      \                                    size_t inlen, X509 *x,\n                                     size_t
      chainidx,\n                                     int *al, void *parse_arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls.c:638,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_tls.c:642,1
    - Dst: OSSL_ERR_STATE_new
      Src: /src/openssl/ssl/quic/quic_tls.c:646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tls.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - args
    argTypes:
    - QUIC_TLS_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 653
    functionName: ossl_quic_tls_new
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - OSSL_ERR_STATE_new
    - OPENSSL_free
    - OPENSSL_zalloc
    - ERR_raise
    linkageType: ''
    returnType: QUIC_TLS
    signature: QUIC_TLS *ossl_quic_tls_new(const QUIC_TLS_ARGS *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/ssl/quic/quic_tls.c:659,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_tls.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 661
    functionName: ossl_quic_tls_free
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - OSSL_ERR_STATE_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_tls_free(QUIC_TLS *qtls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_new
      Src: /src/openssl/ssl/quic/quic_tls.c:676,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/quic/quic_tls.c:677,1
    - Dst: ERR_set_error
      Src: /src/openssl/ssl/quic/quic_tls.c:678,1
    - Dst: OSSL_ERR_STATE_save_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:683,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - qtls
    - error_code
    - error_msg
    - src_file
    - src_line
    - src_func
    argTypes:
    - QUIC_TLS*
    - uint64_t
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 663
    functionDepth: 5
    functionLinenumber: 663
    functionLinenumberEnd: 696
    functionName: raise_error
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - ERR_set_error
    - ERR_set_debug
    - ERR_new
    - ERR_pop_to_mark
    - OSSL_ERR_STATE_save_to_mark
    linkageType: ''
    returnType: int
    signature: "int raise_error(QUIC_TLS *qtls, uint64_t error_code,\n                       const
      char *error_msg,\n                       const char *src_file,\n                       int
      src_line,\n                       const char *src_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - qtls
    - ','
    - error_code
    - ','
    - error_msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: RAISE_ERROR
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAISE_ERROR(qtls, error_code, error_msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qtls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 705
    functionName: RAISE_INTERNAL_ERROR
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAISE_INTERNAL_ERROR(qtls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qtls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 708
    functionName: RAISE_INTERNAL_ERROR
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RAISE_INTERNAL_ERROR(qtls)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls.c:712,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/ssl/quic/quic_tls.c:715,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:716,1
    - Dst: BIO_new
      Src: /src/openssl/ssl/quic/quic_tls.c:718,1
    - Dst: BIO_s_null
      Src: /src/openssl/ssl/quic/quic_tls.c:718,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:720,1
    - Dst: SSL_set_bio
      Src: /src/openssl/ssl/quic/quic_tls.c:726,1
    - Dst: SSL_clear_options
      Src: /src/openssl/ssl/quic/quic_tls.c:728,1
    - Dst: ossl_ssl_set_custom_record_layer
      Src: /src/openssl/ssl/quic/quic_tls.c:729,1
    - Dst: ossl_tls_add_custom_ext_intern
      Src: /src/openssl/ssl/quic/quic_tls.c:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 710
    functionDepth: 6
    functionLinenumber: 710
    functionLinenumberEnd: 746
    functionName: ossl_quic_tls_configure
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - SSL_set_min_proto_version
    - BIO_s_null
    - ossl_ssl_set_custom_record_layer
    - SSL_clear_options
    - ossl_tls_add_custom_ext_intern
    - RAISE_INTERNAL_ERROR
    - SSL_CONNECTION_FROM_SSL
    - SSL_set_bio
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tls_configure(QUIC_TLS *qtls)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:779,1
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls.c:782,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:786,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/quic/quic_tls.c:787,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:797,1
    - Dst: RAISE_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:800,1
    - Dst: ossl_quic_tls_configure
      Src: /src/openssl/ssl/quic/quic_tls.c:804,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:805,1
    - Dst: SSL_set_accept_state
      Src: /src/openssl/ssl/quic/quic_tls.c:810,1
    - Dst: SSL_set_connect_state
      Src: /src/openssl/ssl/quic/quic_tls.c:812,1
    - Dst: SSL_read
      Src: /src/openssl/ssl/quic/quic_tls.c:822,1
    - Dst: SSL_do_handshake
      Src: /src/openssl/ssl/quic/quic_tls.c:824,1
    - Dst: ossl_ssl_get_error
      Src: /src/openssl/ssl/quic/quic_tls.c:827,1
    - Dst: ERR_count_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:828,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:836,1
    - Dst: RAISE_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:840,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/openssl/ssl/quic/quic_tls.c:846,1
    - Dst: RAISE_ERROR
      Src: /src/openssl/ssl/quic/quic_tls.c:848,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:852,1
    - Dst: QUIC_TLS*::args::handshake_complete_cb
      Src: /src/openssl/ssl/quic/quic_tls.c:853,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_tls.c:856,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 749
    functionDepth: 8
    functionLinenumber: 749
    functionLinenumberEnd: 858
    functionName: ossl_quic_tls_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - SSL_set_accept_state
    - SSL_do_handshake
    - SSL_set_connect_state
    - ERR_pop_to_mark
    - SSL_read
    - ERR_set_mark
    - ossl_quic_tls_configure
    - ERR_count_to_mark
    - ossl_ssl_get_error
    - QUIC_TLS*::args::handshake_complete_cb
    - RAISE_ERROR
    - SSL_get0_alpn_selected
    - SSL_CONNECTION_GET_CTX
    - RAISE_INTERNAL_ERROR
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tls_tick(QUIC_TLS *qtls)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 866
    functionName: ossl_quic_tls_clear
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_tls_clear(QUIC_TLS *qtls)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qtls
    - transport_params
    - transport_params_len
    argTypes:
    - QUIC_TLS*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 878
    functionName: ossl_quic_tls_set_transport_params
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tls_set_transport_params(QUIC_TLS *qtls,\n                                       const
      unsigned char *transport_params,\n                                       size_t
      transport_params_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - qtls
    - error_code
    - error_msg
    - error_state
    argTypes:
    - QUIC_TLS*
    - uint64_t*
    - char**
    - ERR_STATE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 892
    functionName: ossl_quic_tls_get_error
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_tls_get_error(QUIC_TLS *qtls,\n                            uint64_t
      *error_code,\n                            const char **error_msg,\n                            ERR_STATE
      **error_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls.c:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: ossl_quic_tls_is_cert_request
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tls_is_cert_request(QUIC_TLS *qtls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_session
      Src: /src/openssl/ssl/quic/quic_tls.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qtls
    argTypes:
    - QUIC_TLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 922
    functionName: ossl_quic_tls_has_bad_max_early_data
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - SSL_get0_session
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tls_has_bad_max_early_data(QUIC_TLS *qtls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls.c:926,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/quic/quic_tls.c:928,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/quic/quic_tls.c:928,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - qtls
    - enabled
    argTypes:
    - QUIC_TLS*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 949
    functionName: ossl_quic_tls_set_early_data_enabled
    functionSourceFile: /src/openssl/ssl/quic/quic_tls.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - SSL_in_before
    - SSL_IS_QUIC_HANDSHAKE
    linkageType: ''
    returnType: int
    signature: int ossl_quic_tls_set_early_data_enabled(QUIC_TLS *qtls, int enabled)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SipHash_set_hash_size
      Src: /src/openssl/ssl/quic/quic_lcidm.c:76,1
    - Dst: SipHash_Init
      Src: /src/openssl/ssl/quic/quic_lcidm.c:78,1
    - Dst: SipHash_Update
      Src: /src/openssl/ssl/quic/quic_lcidm.c:80,1
    - Dst: SipHash_Final
      Src: /src/openssl/ssl/quic/quic_lcidm.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - lcid_obj
    argTypes:
    - QUIC_LCID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: lcid_hash
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - SipHash_set_hash_size
    - SipHash_Update
    - SipHash_Final
    - SipHash_Init
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long lcid_hash(const QUIC_LCID *lcid_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_lcidm.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_LCID*
    - QUIC_LCID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: lcid_comp
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - ossl_quic_conn_id_eq
    linkageType: ''
    returnType: int
    signature: int lcid_comp(const QUIC_LCID *a, const QUIC_LCID *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - QUIC_LCIDM_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: lcidm_conn_hash
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long lcidm_conn_hash(const QUIC_LCIDM_CONN *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_LCIDM_CONN*
    - QUIC_LCIDM_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: lcidm_conn_comp
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lcidm_conn_comp(const QUIC_LCIDM_CONN *a, const QUIC_LCIDM_CONN
      *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_lcidm.c:110,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/quic/quic_lcidm.c:114,1
    - Dst: lh_QUIC_LCID_new
      Src: /src/openssl/ssl/quic/quic_lcidm.c:118,1
    - Dst: lh_QUIC_LCIDM_CONN_new
      Src: /src/openssl/ssl/quic/quic_lcidm.c:121,1
    - Dst: lh_QUIC_LCID_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:131,1
    - Dst: lh_QUIC_LCIDM_CONN_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:132,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:133,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - libctx
    - lcid_len
    argTypes:
    - OSSL_LIB_CTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 7
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: ossl_quic_lcidm_new
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 3
    functionsReached:
    - OPENSSL_zalloc
    - lh_QUIC_LCID_new
    - OPENSSL_free
    - lh_QUIC_LCIDM_CONN_new
    - lh_QUIC_LCID_free
    - lh_QUIC_LCIDM_CONN_free
    - RAND_bytes_ex
    linkageType: ''
    returnType: QUIC_LCIDM
    signature: QUIC_LCIDM *ossl_quic_lcidm_new(OSSL_LIB_CTX *libctx, size_t lcid_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_delete_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - arg
    argTypes:
    - QUIC_LCIDM_CONN*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: lcidm_delete_conn_
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lcidm_delete_conn
    linkageType: ''
    returnType: void
    signature: void lcidm_delete_conn_(QUIC_LCIDM_CONN *conn, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_LCIDM_CONN_set_down_load
      Src: /src/openssl/ssl/quic/quic_lcidm.c:167,1
    - Dst: lh_QUIC_LCIDM_CONN_doall_arg
      Src: /src/openssl/ssl/quic/quic_lcidm.c:169,1
    - Dst: lh_QUIC_LCID_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:171,1
    - Dst: lh_QUIC_LCIDM_CONN_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lcidm
    argTypes:
    - QUIC_LCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: ossl_quic_lcidm_free
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 3
    functionsReached:
    - lh_QUIC_LCIDM_CONN_doall_arg
    - OPENSSL_free
    - lh_QUIC_LCID_free
    - lh_QUIC_LCIDM_CONN_free
    - lh_QUIC_LCIDM_CONN_set_down_load
    linkageType: ''
    returnType: void
    signature: void ossl_quic_lcidm_free(QUIC_LCIDM *lcidm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_LCID_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - lcid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: lcidm_get0_lcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lh_QUIC_LCID_retrieve
    linkageType: ''
    returnType: QUIC_LCID
    signature: QUIC_LCID *lcidm_get0_lcid(const QUIC_LCIDM *lcidm, const QUIC_CONN_ID
      *lcid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_LCIDM_CONN_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: lcidm_get0_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lh_QUIC_LCIDM_CONN_retrieve
    linkageType: ''
    returnType: QUIC_LCIDM_CONN
    signature: QUIC_LCIDM_CONN *lcidm_get0_conn(const QUIC_LCIDM *lcidm, void *opaque)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_get0_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:200,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_lcidm.c:205,1
    - Dst: lh_QUIC_LCID_new
      Src: /src/openssl/ssl/quic/quic_lcidm.c:208,1
    - Dst: lh_QUIC_LCIDM_CONN_insert
      Src: /src/openssl/ssl/quic/quic_lcidm.c:213,1
    - Dst: lh_QUIC_LCIDM_CONN_error
      Src: /src/openssl/ssl/quic/quic_lcidm.c:214,1
    - Dst: lh_QUIC_LCID_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:221,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: lcidm_upsert_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_zalloc
    - lh_QUIC_LCIDM_CONN_insert
    - lh_QUIC_LCID_new
    - OPENSSL_free
    - lh_QUIC_LCID_free
    - lcidm_get0_conn
    - lh_QUIC_LCIDM_CONN_error
    linkageType: ''
    returnType: QUIC_LCIDM_CONN
    signature: QUIC_LCIDM_CONN *lcidm_upsert_conn(const QUIC_LCIDM *lcidm, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_LCID_delete
      Src: /src/openssl/ssl/quic/quic_lcidm.c:229,1
    - Dst: lh_QUIC_LCID_delete
      Src: /src/openssl/ssl/quic/quic_lcidm.c:230,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_lcidm.c:231,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - lcid_obj
    argTypes:
    - QUIC_LCIDM*
    - QUIC_LCID*
    assertStmts:
    - condition: (lcid_obj->conn->num_active_lcid > 0)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/openssl/ssl/quic/quic_lcidm.c
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: lcidm_delete_conn_lcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - lh_QUIC_LCID_delete
    - assert
    linkageType: ''
    returnType: void
    signature: void lcidm_delete_conn_lcid(QUIC_LCIDM *lcidm, QUIC_LCID *lcid_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_delete_conn_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lcid_obj
    - arg
    argTypes:
    - QUIC_LCID*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: lcidm_delete_conn_lcid_
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lcidm_delete_conn_lcid
    linkageType: ''
    returnType: void
    signature: void lcidm_delete_conn_lcid_(QUIC_LCID *lcid_obj, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_LCID_set_down_load
      Src: /src/openssl/ssl/quic/quic_lcidm.c:245,1
    - Dst: lh_QUIC_LCID_doall_arg
      Src: /src/openssl/ssl/quic/quic_lcidm.c:247,1
    - Dst: lh_QUIC_LCIDM_CONN_delete
      Src: /src/openssl/ssl/quic/quic_lcidm.c:248,1
    - Dst: lh_QUIC_LCID_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:249,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - conn
    argTypes:
    - QUIC_LCIDM*
    - QUIC_LCIDM_CONN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: lcidm_delete_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 1
    functionsReached:
    - lh_QUIC_LCID_doall_arg
    - OPENSSL_free
    - lh_QUIC_LCIDM_CONN_delete
    - lh_QUIC_LCID_free
    - lh_QUIC_LCID_set_down_load
    linkageType: ''
    returnType: void
    signature: void lcidm_delete_conn(QUIC_LCIDM *lcidm, QUIC_LCIDM_CONN *conn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_lcidm.c:261,1
    - Dst: lh_QUIC_LCID_insert
      Src: /src/openssl/ssl/quic/quic_lcidm.c:268,1
    - Dst: lh_QUIC_LCID_error
      Src: /src/openssl/ssl/quic/quic_lcidm.c:269,1
    - Dst: lh_QUIC_LCID_insert
      Src: /src/openssl/ssl/quic/quic_lcidm.c:272,1
    - Dst: lh_QUIC_LCID_error
      Src: /src/openssl/ssl/quic/quic_lcidm.c:273,1
    - Dst: lh_QUIC_LCID_delete
      Src: /src/openssl/ssl/quic/quic_lcidm.c:274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_lcidm.c:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - lcidm
    - conn
    - lcid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_LCIDM_CONN*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 284
    functionName: lcidm_conn_new_lcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lh_QUIC_LCID_error
    - OPENSSL_zalloc
    - lh_QUIC_LCID_delete
    - OPENSSL_free
    - lh_QUIC_LCID_insert
    linkageType: ''
    returnType: QUIC_LCID
    signature: "QUIC_LCID *lcidm_conn_new_lcid(QUIC_LCIDM *lcidm, QUIC_LCIDM_CONN
      *conn,\n                                      const QUIC_CONN_ID *lcid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lcidm
    argTypes:
    - QUIC_LCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: ossl_quic_lcidm_get_lcid_len
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_lcidm_get_lcid_len(const QUIC_LCIDM *lcidm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_get0_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: ossl_quic_lcidm_get_num_active_lcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 1
    functionsReached:
    - lcidm_get0_conn
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_quic_lcidm_get_num_active_lcid(const QUIC_LCIDM *lcidm,\n
      \                                          void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_gen_rand_conn_id
      Src: /src/openssl/ssl/quic/quic_lcidm.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - lcidm
    - cid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 320
    functionName: lcidm_generate_cid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - ossl_quic_gen_rand_conn_id
    linkageType: ''
    returnType: int
    signature: "int lcidm_generate_cid(QUIC_LCIDM *lcidm,\n                              QUIC_CONN_ID
      *cid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_upsert_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:333,1
    - Dst: lcidm_generate_cid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:349,1
    - Dst: lh_QUIC_LCID_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:356,1
    - Dst: lcidm_conn_new_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:358,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - lcidm
    - opaque
    - type
    - lcid_out
    - seq_num
    argTypes:
    - QUIC_LCIDM*
    - void*
    - unsigned int
    - QUIC_CONN_ID*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 369
    functionName: lcidm_generate
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_generate_cid
    - lcidm_conn_new_lcid
    - lh_QUIC_LCID_retrieve
    - lcidm_upsert_conn
    linkageType: ''
    returnType: int
    signature: "int lcidm_generate(QUIC_LCIDM *lcidm,\n                          void
      *opaque,\n                          unsigned int type,\n                          QUIC_CONN_ID
      *lcid_out,\n                          uint64_t *seq_num)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_upsert_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:382,1
    - Dst: lh_QUIC_LCID_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:390,1
    - Dst: lcidm_conn_new_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - lcidm
    - opaque
    - initial_odcid
    argTypes:
    - QUIC_LCIDM*
    - void*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 402
    functionName: ossl_quic_lcidm_enrol_odcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_conn_new_lcid
    - lh_QUIC_LCID_retrieve
    - lcidm_upsert_conn
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_lcidm_enrol_odcid(QUIC_LCIDM *lcidm,\n                                void
      *opaque,\n                                const QUIC_CONN_ID *initial_odcid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_generate
      Src: /src/openssl/ssl/quic/quic_lcidm.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lcidm
    - opaque
    - initial_lcid
    argTypes:
    - QUIC_LCIDM*
    - void*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: ossl_quic_lcidm_generate_initial
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_generate
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_lcidm_generate_initial(QUIC_LCIDM *lcidm,\n                                     void
      *opaque,\n                                     QUIC_CONN_ID *initial_lcid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_lcidm_lookup
      Src: /src/openssl/ssl/quic/quic_lcidm.c:424,1
    - Dst: lcidm_upsert_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:427,1
    - Dst: lcidm_conn_new_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:430,1
    - Dst: lcidm_delete_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - lcidm
    - opaque
    - lcid
    argTypes:
    - QUIC_LCIDM*
    - void*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 440
    functionName: ossl_quic_lcidm_bind_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - ossl_quic_lcidm_lookup
    - lcidm_conn_new_lcid
    - lcidm_delete_conn
    - lcidm_upsert_conn
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_lcidm_bind_channel(QUIC_LCIDM *lcidm, void *opaque,\n
      \                                const QUIC_CONN_ID *lcid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_generate
      Src: /src/openssl/ssl/quic/quic_lcidm.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lcidm
    - opaque
    - ncid_frame
    argTypes:
    - QUIC_LCIDM*
    - void*
    - OSSL_QUIC_FRAME_NEW_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 452
    functionName: ossl_quic_lcidm_generate
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_generate
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_lcidm_generate(QUIC_LCIDM *lcidm,\n                             void
      *opaque,\n                             OSSL_QUIC_FRAME_NEW_CONN_ID *ncid_frame)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_upsert_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:458,1
    - Dst: lcidm_delete_conn_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 467
    functionName: ossl_quic_lcidm_retire_odcid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_delete_conn_lcid
    - lcidm_upsert_conn
    linkageType: ''
    returnType: int
    signature: int ossl_quic_lcidm_retire_odcid(QUIC_LCIDM *lcidm, void *opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - lcid_obj
    - arg
    argTypes:
    - QUIC_LCID*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 487
    functionName: retire_for_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void retire_for_conn(QUIC_LCID *lcid_obj, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_LCIDM_CONN_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:506,1
    - Dst: lh_QUIC_LCID_doall_arg
      Src: /src/openssl/ssl/quic/quic_lcidm.c:512,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_lcidm.c:517,1
    - Dst: lcidm_delete_conn_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 7
    argNames:
    - lcidm
    - opaque
    - retire_prior_to
    - containing_pkt_dcid
    - retired_lcid
    - retired_seq_num
    - did_retire
    argTypes:
    - QUIC_LCIDM*
    - void*
    - uint64_t
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    - uint64_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 529
    functionName: ossl_quic_lcidm_retire
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_delete_conn_lcid
    - ossl_quic_conn_id_eq
    - lh_QUIC_LCID_doall_arg
    - lh_QUIC_LCIDM_CONN_retrieve
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_lcidm_retire(QUIC_LCIDM *lcidm,\n                           void
      *opaque,\n                           uint64_t retire_prior_to,\n                           const
      QUIC_CONN_ID *containing_pkt_dcid,\n                           QUIC_CONN_ID
      *retired_lcid,\n                           uint64_t *retired_seq_num,\n                           int
      *did_retire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_LCIDM_CONN_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:537,1
    - Dst: lcidm_delete_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 542
    functionName: ossl_quic_lcidm_cull
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_delete_conn
    - lh_QUIC_LCIDM_CONN_retrieve
    linkageType: ''
    returnType: int
    signature: int ossl_quic_lcidm_cull(QUIC_LCIDM *lcidm, void *opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_get0_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - lcidm
    - lcid
    - seq_num
    - opaque
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    - uint64_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 564
    functionName: ossl_quic_lcidm_lookup
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 4
    functionsReached:
    - lcidm_get0_lcid
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_lcidm_lookup(QUIC_LCIDM *lcidm,\n                           const
      QUIC_CONN_ID *lcid,\n                           uint64_t *seq_num,\n                           void
      **opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_LCID_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:573,1
    - Dst: lcidm_delete_conn_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - lcidm
    - lcid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 578
    functionName: ossl_quic_lcidm_debug_remove
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lh_QUIC_LCID_retrieve
    - lcidm_delete_conn_lcid
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_lcidm_debug_remove(QUIC_LCIDM *lcidm,\n                                 const
      QUIC_CONN_ID *lcid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_upsert_conn
      Src: /src/openssl/ssl/quic/quic_lcidm.c:590,1
    - Dst: lh_QUIC_LCID_retrieve
      Src: /src/openssl/ssl/quic/quic_lcidm.c:595,1
    - Dst: lcidm_conn_new_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - lcidm
    - opaque
    - lcid
    - seq_num
    argTypes:
    - QUIC_LCIDM*
    - void*
    - QUIC_CONN_ID*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 604
    functionName: ossl_quic_lcidm_debug_add
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 0
    functionsReached:
    - lcidm_conn_new_lcid
    - lh_QUIC_LCID_retrieve
    - lcidm_upsert_conn
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_lcidm_debug_add(QUIC_LCIDM *lcidm, void *opaque,\n                              const
      QUIC_CONN_ID *lcid,\n                              uint64_t seq_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lcidm_generate_cid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:611,1
    - Dst: lcidm_get0_lcid
      Src: /src/openssl/ssl/quic/quic_lcidm.c:612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - lcidm
    - cid
    argTypes:
    - QUIC_LCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: ossl_quic_lcidm_get_unused_cid
    functionSourceFile: /src/openssl/ssl/quic/quic_lcidm.c
    functionUses: 2
    functionsReached:
    - lcidm_generate_cid
    - lcidm_get0_lcid
    linkageType: ''
    returnType: int
    signature: int ossl_quic_lcidm_get_unused_cid(QUIC_LCIDM *lcidm, QUIC_CONN_ID
      *cid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - TXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: txe_data
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned *txe_data(const TXE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_record_tx.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - args
    argTypes:
    - OSSL_QTX_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: ossl_qtx_new
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 2
    functionsReached:
    - OPENSSL_zalloc
    linkageType: ''
    returnType: OSSL_QTX
    signature: OSSL_QTX *ossl_qtx_new(const OSSL_QTX_ARGS *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:138,1
    - Dst: ossl_list_txe_next
      Src: /src/openssl/ssl/quic/quic_record_tx.c:139,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - l
    argTypes:
    - TXE_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: qtx_cleanup_txl
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_list_txe_head
    - ossl_list_txe_next
    linkageType: ''
    returnType: void
    signature: void qtx_cleanup_txl(TXE_LIST *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qtx_cleanup_txl
      Src: /src/openssl/ssl/quic/quic_record_tx.c:153,1
    - Dst: qtx_cleanup_txl
      Src: /src/openssl/ssl/quic/quic_record_tx.c:154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:155,1
    - Dst: ossl_qrl_enc_level_set_discard
      Src: /src/openssl/ssl/quic/quic_record_tx.c:159,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: ossl_qtx_free
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - ossl_qrl_enc_level_set_discard
    - qtx_cleanup_txl
    linkageType: ''
    returnType: void
    signature: void ossl_qtx_free(OSSL_QTX *qtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - qtx
    - mutatecb
    - finishmutatecb
    - mutatearg
    argTypes:
    - OSSL_QTX*
    - ossl_mutate_packet_cb
    - ossl_finish_mutate_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ossl_qtx_set_mutator
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_qtx_set_mutator(OSSL_QTX *qtx, ossl_mutate_packet_cb mutatecb,\n
      \                         ossl_finish_mutate_cb finishmutatecb, void *mutatearg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - qtx
    - (*get_qlog_cb)(void *arg)
    - get_qlog_cb_arg
    argTypes:
    - OSSL_QTX*
    - QLOG*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: ossl_qtx_set_qlog_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_qtx_set_qlog_cb(OSSL_QTX *qtx, QLOG *(*get_qlog_cb)(void
      *arg),\n                          void *get_qlog_cb_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_provide_secret
      Src: /src/openssl/ssl/quic/quic_record_tx.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - qtx
    - enc_level
    - suite_id
    - md
    - secret
    - secret_len
    argTypes:
    - OSSL_QTX*
    - uint32_t
    - uint32_t
    - EVP_MD*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 11
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: ossl_qtx_provide_secret
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 3
    functionsReached:
    - ossl_qrl_enc_level_set_provide_secret
    linkageType: ''
    returnType: int
    signature: "int ossl_qtx_provide_secret(OSSL_QTX              *qtx,\n                            uint32_t
      \              enc_level,\n                            uint32_t               suite_id,\n
      \                           EVP_MD                *md,\n                            const
      unsigned char   *secret,\n                            size_t                 secret_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_discard
      Src: /src/openssl/ssl/quic/quic_record_tx.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qtx
    - enc_level
    argTypes:
    - OSSL_QTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: ossl_qtx_discard_enc_level
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_discard
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_discard_enc_level(OSSL_QTX *qtx, uint32_t enc_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qtx
    - enc_level
    argTypes:
    - OSSL_QTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: ossl_qtx_is_enc_level_provisioned
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 2
    functionsReached:
    - ossl_qrl_enc_level_set_get
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_is_enc_level_provisioned(OSSL_QTX *qtx, uint32_t enc_level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_record_tx.c:224,1
    - Dst: ossl_list_txe_init_elem
      Src: /src/openssl/ssl/quic/quic_record_tx.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - alloc_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: qtx_alloc_txe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    - ossl_list_txe_init_elem
    linkageType: ''
    returnType: TXE
    signature: TXE *qtx_alloc_txe(size_t alloc_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:245,1
    - Dst: qtx_alloc_txe
      Src: /src/openssl/ssl/quic/quic_record_tx.c:249,1
    - Dst: ossl_list_txe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_tx.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - qtx
    - alloc_len
    argTypes:
    - OSSL_QTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: qtx_ensure_free_txe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - qtx_alloc_txe
    - ossl_list_txe_head
    - ossl_list_txe_insert_tail
    linkageType: ''
    returnType: TXE
    signature: TXE *qtx_ensure_free_txe(OSSL_QTX *qtx, size_t alloc_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_prev
      Src: /src/openssl/ssl/quic/quic_record_tx.c:274,1
    - Dst: ossl_list_txe_remove
      Src: /src/openssl/ssl/quic/quic_record_tx.c:275,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/quic/quic_record_tx.c:281,1
    - Dst: ossl_list_txe_insert_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:284,1
    - Dst: ossl_list_txe_insert_after
      Src: /src/openssl/ssl/quic/quic_record_tx.c:286,1
    - Dst: ossl_list_txe_insert_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:291,1
    - Dst: ossl_list_txe_insert_after
      Src: /src/openssl/ssl/quic/quic_record_tx.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - qtx
    - txl
    - txe
    - n
    argTypes:
    - OSSL_QTX*
    - TXE_LIST*
    - TXE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 300
    functionName: qtx_resize_txe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - ossl_list_txe_remove
    - ossl_list_txe_insert_after
    - ossl_list_txe_prev
    - ossl_list_txe_insert_head
    - OPENSSL_realloc
    linkageType: ''
    returnType: TXE
    signature: TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE_LIST *txl, TXE *txe, size_t
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qtx_resize_txe
      Src: /src/openssl/ssl/quic/quic_record_tx.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - qtx
    - txl
    - txe
    - n
    argTypes:
    - OSSL_QTX*
    - TXE_LIST*
    - TXE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: qtx_reserve_txe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - qtx_resize_txe
    linkageType: ''
    returnType: TXE
    signature: "TXE *qtx_reserve_txe(OSSL_QTX *qtx, TXE_LIST *txl,\n                            TXE
      *txe, size_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:318,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:320,1
    - Dst: ossl_list_txe_remove
      Src: /src/openssl/ssl/quic/quic_record_tx.c:321,1
    - Dst: ossl_list_txe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_tx.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts:
    - condition: (txe != NULL)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/openssl/ssl/quic/quic_record_tx.c
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: qtx_pending_to_free
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - ossl_list_txe_remove
    - ossl_list_txe_head
    - ossl_list_txe_insert_tail
    - assert
    linkageType: ''
    returnType: void
    signature: void qtx_pending_to_free(OSSL_QTX *qtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_tx.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - qtx
    - txe
    argTypes:
    - OSSL_QTX*
    - TXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: qtx_add_to_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - ossl_list_txe_insert_tail
    linkageType: ''
    returnType: void
    signature: void qtx_add_to_pending(OSSL_QTX *qtx, TXE *txe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - iovec
    - num_iovec
    argTypes:
    - OSSL_QTX_IOVEC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: iovec_total_bytes
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t iovec_total_bytes(const OSSL_QTX_IOVEC *iovec,\n                                size_t
      num_iovec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iovec_total_bytes
      Src: /src/openssl/ssl/quic/quic_record_tx.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cur
    - iovec
    - num_iovec
    argTypes:
    - struct iovec_cur*
    - OSSL_QTX_IOVEC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 360
    functionName: iovec_cur_init
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - iovec_total_bytes
    linkageType: ''
    returnType: void
    signature: "void iovec_cur_init(struct iovec_cur *cur,\n                           const
      OSSL_QTX_IOVEC *iovec,\n                           size_t num_iovec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - cur
    - buf
    - max_buf_len
    argTypes:
    - struct iovec_cur*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 401
    functionName: iovec_cur_get_buffer
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t iovec_cur_get_buffer(struct iovec_cur *cur,\n                                   const
      unsigned char **buf,\n                                   size_t max_buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:409,1
    - Dst: ossl_qrl_get_suite_cipher_tag_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - qtx
    - enc_level
    - plaintext_len
    - ciphertext_len
    argTypes:
    - OSSL_QTX*
    - uint32_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 425
    functionName: ossl_qtx_calculate_ciphertext_payload_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_qrl_get_suite_cipher_tag_len
    linkageType: ''
    returnType: int
    signature: "int ossl_qtx_calculate_ciphertext_payload_len(OSSL_QTX *qtx, uint32_t
      enc_level,\n                                              size_t plaintext_len,\n
      \                                             size_t *ciphertext_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:433,1
    - Dst: ossl_qrl_get_suite_cipher_tag_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - qtx
    - enc_level
    - ciphertext_len
    - plaintext_len
    argTypes:
    - OSSL_QTX*
    - uint32_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 450
    functionName: ossl_qtx_calculate_plaintext_payload_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_qrl_get_suite_cipher_tag_len
    linkageType: ''
    returnType: int
    signature: "int ossl_qtx_calculate_plaintext_payload_len(OSSL_QTX *qtx, uint32_t
      enc_level,\n                                             size_t ciphertext_len,\n
      \                                            size_t *plaintext_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:466,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:468,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_record_tx.c:471,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_record_tx.c:473,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_record_tx.c:474,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_record_tx.c:477,1
    - Dst: OSSL_QTX*::msg_callback
      Src: /src/openssl/ssl/quic/quic_record_tx.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - qtx
    - hdr
    - txe
    - ptrs
    argTypes:
    - OSSL_QTX*
    - QUIC_PKT_HDR*
    - TXE*
    - QUIC_PKT_HDR_PTRS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 486
    functionName: qtx_write_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - ossl_quic_wire_encode_pkt_hdr
    - WPACKET_get_total_written
    - OSSL_QTX*::msg_callback
    - txe_data
    - WPACKET_init_static_len
    linkageType: ''
    returnType: int
    signature: "int qtx_write_hdr(OSSL_QTX *qtx, const QUIC_PKT_HDR *hdr, TXE *txe,\n
      \                        QUIC_PKT_HDR_PTRS *ptrs)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:495,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:501,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:502,1
    - Dst: ossl_qrl_get_suite_max_pkt
      Src: /src/openssl/ssl/quic/quic_record_tx.c:510,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:511,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:521,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:522,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/quic/quic_record_tx.c:527,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:528,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:529,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:533,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_record_tx.c:538,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:539,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_record_tx.c:544,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:545,1
    - Dst: iovec_cur_get_buffer
      Src: /src/openssl/ssl/quic/quic_record_tx.c:554,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_record_tx.c:558,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:558,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:560,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:566,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:566,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:569,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/ssl/quic/quic_record_tx.c:574,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:575,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/quic/quic_record_tx.c:579,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:580,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_record_tx.c:581,1
    - Dst: ossl_quic_hdr_protector_encrypt
      Src: /src/openssl/ssl/quic/quic_record_tx.c:588,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 8
    argNames:
    - qtx
    - cur
    - txe
    - enc_level
    - pn
    - hdr
    - hdr_len
    - ptrs
    argTypes:
    - OSSL_QTX*
    - struct iovec_cur*
    - TXE*
    - uint32_t
    - QUIC_PN
    - unsigned char*
    - size_t
    - QUIC_PKT_HDR_PTRS*
    assertStmts:
    - condition: (l > 0 && src_len == (size_t)l)
      pos:
        line_end: 568
        line_start: 568
        source_file: /src/openssl/ssl/quic/quic_record_tx.c
    constantsTouched: []
    func_position:
      end: 593
      start: 488
    functionDepth: 6
    functionLinenumber: 488
    functionLinenumberEnd: 593
    functionName: qtx_encrypt_into_txe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_get_iv_length
    - ossl_qrl_enc_level_set_get
    - ossl_assert
    - ERR_raise
    - EVP_CipherUpdate
    - memcpy
    - EVP_CIPHER_CTX_ctrl
    - EVP_CipherFinal_ex
    - ossl_qrl_get_suite_max_pkt
    - EVP_CipherInit_ex
    - txe_data
    - iovec_cur_get_buffer
    - ossl_quic_hdr_protector_encrypt
    - assert
    linkageType: ''
    returnType: int
    signature: "int qtx_encrypt_into_txe(OSSL_QTX *qtx, struct iovec_cur *cur, TXE
      *txe,\n                                uint32_t enc_level, QUIC_PN pn,\n                                const
      unsigned char *hdr, size_t hdr_len,\n                                QUIC_PKT_HDR_PTRS
      *ptrs)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pkt_type_is_encrypted
      Src: /src/openssl/ssl/quic/quic_record_tx.c:615,1
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:621,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:622,1
    - Dst: iovec_cur_init
      Src: /src/openssl/ssl/quic/quic_record_tx.c:639,1
    - Dst: ossl_qtx_calculate_ciphertext_payload_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:649,1
    - Dst: ossl_quic_wire_get_encoded_pkt_hdr_len
      Src: /src/openssl/ssl/quic/quic_record_tx.c:658,1
    - Dst: ossl_quic_pkt_type_has_pn
      Src: /src/openssl/ssl/quic/quic_record_tx.c:673,1
    - Dst: ossl_quic_wire_encode_pkt_hdr_pn
      Src: /src/openssl/ssl/quic/quic_record_tx.c:674,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:683,1
    - Dst: qtx_write_hdr
      Src: /src/openssl/ssl/quic/quic_record_tx.c:684,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:689,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:690,1
    - Dst: iovec_cur_get_buffer
      Src: /src/openssl/ssl/quic/quic_record_tx.c:699,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:703,1
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:703,1
    - Dst: qtx_encrypt_into_txe
      Src: /src/openssl/ssl/quic/quic_record_tx.c:708,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_tx.c:714,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 7
    argNames:
    - qtx
    - pkt
    - txe
    - enc_level
    - hdr
    - iovec
    - num_iovec
    argTypes:
    - OSSL_QTX*
    - OSSL_QTX_PKT*
    - TXE*
    - uint32_t
    - QUIC_PKT_HDR*
    - OSSL_QTX_IOVEC*
    - size_t
    assertStmts:
    - condition: (hdr_len == pred_hdr_len)
      pos:
        line_end: 689
        line_start: 689
        source_file: /src/openssl/ssl/quic/quic_record_tx.c
    - condition: (txe->data_len - orig_data_len == pkt_len)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/openssl/ssl/quic/quic_record_tx.c
    constantsTouched: []
    func_position:
      end: 726
      start: 599
    functionDepth: 7
    functionLinenumber: 599
    functionLinenumberEnd: 726
    functionName: qtx_write
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_assert
    - ossl_qtx_calculate_ciphertext_payload_len
    - qtx_encrypt_into_txe
    - memcpy
    - ossl_quic_wire_get_encoded_pkt_hdr_len
    - iovec_cur_init
    - ossl_quic_pkt_type_has_pn
    - txe_data
    - iovec_cur_get_buffer
    - qtx_write_hdr
    - ossl_quic_pkt_type_is_encrypted
    - ossl_quic_wire_encode_pkt_hdr_pn
    - assert
    linkageType: ''
    returnType: int
    signature: "int qtx_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,\n
      \                    uint32_t enc_level, QUIC_PKT_HDR *hdr,\n                     const
      OSSL_QTX_IOVEC *iovec, size_t num_iovec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qtx_ensure_free_txe
      Src: /src/openssl/ssl/quic/quic_record_tx.c:735,1
    - Dst: ossl_list_txe_remove
      Src: /src/openssl/ssl/quic/quic_record_tx.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 744
    functionName: qtx_ensure_cons
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - qtx_ensure_free_txe
    - ossl_list_txe_remove
    linkageType: ''
    returnType: TXE
    signature: TXE *qtx_ensure_cons(OSSL_QTX *qtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_QTX*::get_qlog_cb
      Src: /src/openssl/ssl/quic/quic_record_tx.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 752
    functionName: qtx_get_qlog
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - OSSL_QTX*::get_qlog_cb
    linkageType: ''
    returnType: QLOG
    signature: QLOG *qtx_get_qlog(OSSL_QTX *qtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_QTX*::mutatecb
      Src: /src/openssl/ssl/quic/quic_record_tx.c:764,1
    - Dst: qtx_write
      Src: /src/openssl/ssl/quic/quic_record_tx.c:773,1
    - Dst: ossl_qlog_event_transport_packet_sent
      Src: /src/openssl/ssl/quic/quic_record_tx.c:776,1
    - Dst: qtx_get_qlog
      Src: /src/openssl/ssl/quic/quic_record_tx.c:776,1
    - Dst: OSSL_QTX*::finishmutatecb
      Src: /src/openssl/ssl/quic/quic_record_tx.c:781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - qtx
    - pkt
    - txe
    - enc_level
    argTypes:
    - OSSL_QTX*
    - OSSL_QTX_PKT*
    - TXE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 754
    functionDepth: 8
    functionLinenumber: 754
    functionLinenumberEnd: 784
    functionName: qtx_mutate_write
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - OSSL_QTX*::finishmutatecb
    - ossl_qlog_event_transport_packet_sent
    - qtx_write
    - OSSL_QTX*::mutatecb
    - qtx_get_qlog
    linkageType: ''
    returnType: int
    signature: "int qtx_mutate_write(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt, TXE *txe,\n
      \                           uint32_t enc_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_tx.c:788,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_tx.c:789,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_record_tx.c:790,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIO_ADDR*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 791
    functionName: addr_eq
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_family
    - memcmp
    linkageType: ''
    returnType: int
    signature: int addr_eq(const BIO_ADDR *a, const BIO_ADDR *b)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pkt_type_to_enc_level
      Src: /src/openssl/ssl/quic/quic_record_tx.c:805,1
    - Dst: ossl_quic_pkt_type_can_share_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:808,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:809,1
    - Dst: ossl_qrl_enc_level_set_have_el
      Src: /src/openssl/ssl/quic/quic_record_tx.c:811,1
    - Dst: addr_eq
      Src: /src/openssl/ssl/quic/quic_record_tx.c:818,1
    - Dst: addr_eq
      Src: /src/openssl/ssl/quic/quic_record_tx.c:819,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:821,1
    - Dst: qtx_ensure_cons
      Src: /src/openssl/ssl/quic/quic_record_tx.c:832,1
    - Dst: qtx_reserve_txe
      Src: /src/openssl/ssl/quic/quic_record_tx.c:840,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:846,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_record_tx.c:849,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_record_tx.c:853,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_record_tx.c:856,1
    - Dst: qtx_mutate_write
      Src: /src/openssl/ssl/quic/quic_record_tx.c:860,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:869,1
    - Dst: ossl_quic_pkt_type_must_be_last
      Src: /src/openssl/ssl/quic/quic_record_tx.c:889,1
    - Dst: ossl_qtx_finish_dgram
      Src: /src/openssl/ssl/quic/quic_record_tx.c:893,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 2
    argNames:
    - qtx
    - pkt
    argTypes:
    - OSSL_QTX*
    - OSSL_QTX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 793
    functionDepth: 9
    functionLinenumber: 793
    functionLinenumberEnd: 896
    functionName: ossl_qtx_write_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 2
    functionsReached:
    - qtx_mutate_write
    - BIO_ADDR_copy
    - BIO_ADDR_clear
    - ossl_qtx_finish_dgram
    - ossl_quic_pkt_type_to_enc_level
    - qtx_ensure_cons
    - addr_eq
    - qtx_reserve_txe
    - ossl_qrl_enc_level_set_have_el
    - ossl_quic_pkt_type_must_be_last
    - ossl_quic_pkt_type_can_share_dgram
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_write_pkt(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_tx.c:914,1
    - Dst: qtx_add_to_pending
      Src: /src/openssl/ssl/quic/quic_record_tx.c:916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 921
    functionName: ossl_qtx_finish_dgram
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 3
    functionsReached:
    - qtx_add_to_pending
    - ossl_list_txe_insert_tail
    linkageType: ''
    returnType: void
    signature: void ossl_qtx_finish_dgram(OSSL_QTX *qtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txe_data
      Src: /src/openssl/ssl/quic/quic_record_tx.c:925,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_tx.c:929,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_tx.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - txe
    - msg
    argTypes:
    - TXE*
    - BIO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: txe_to_msg
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_family
    - txe_data
    linkageType: ''
    returnType: void
    signature: void txe_to_msg(TXE *txe, BIO_MSG *msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:943,1
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:950,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_record_tx.c:951,1
    - Dst: ossl_list_txe_next
      Src: /src/openssl/ssl/quic/quic_record_tx.c:952,1
    - Dst: txe_to_msg
      Src: /src/openssl/ssl/quic/quic_record_tx.c:953,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:959,1
    - Dst: BIO_sendmmsg
      Src: /src/openssl/ssl/quic/quic_record_tx.c:960,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:965,1
    - Dst: BIO_err_is_non_fatal
      Src: /src/openssl/ssl/quic/quic_record_tx.c:972,1
    - Dst: ERR_peek_last_error
      Src: /src/openssl/ssl/quic/quic_record_tx.c:972,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:974,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:978,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/quic/quic_record_tx.c:983,1
    - Dst: OSSL_QTX*::msg_callback
      Src: /src/openssl/ssl/quic/quic_record_tx.c:990,1
    - Dst: qtx_pending_to_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:994,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 936
    functionDepth: 3
    functionLinenumber: 936
    functionLinenumberEnd: 1003
    functionName: ossl_qtx_flush_net
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - BIO_err_is_non_fatal
    - ERR_pop_to_mark
    - ERR_set_mark
    - ossl_list_txe_next
    - ERR_peek_last_error
    - qtx_pending_to_free
    - ossl_list_txe_head
    - OSSL_NELEM
    - BIO_sendmmsg
    - OSSL_QTX*::msg_callback
    - txe_to_msg
    - ERR_clear_last_mark
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_flush_net(OSSL_QTX *qtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_txe_head
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1007,1
    - Dst: txe_to_msg
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1012,1
    - Dst: qtx_pending_to_free
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qtx
    - msg
    argTypes:
    - OSSL_QTX*
    - BIO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1015
    functionName: ossl_qtx_pop_net
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_list_txe_head
    - txe_to_msg
    - qtx_pending_to_free
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_pop_net(OSSL_QTX *qtx, BIO_MSG *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qtx
    - bio
    argTypes:
    - OSSL_QTX*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: ossl_qtx_set_bio
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_qtx_set_bio(OSSL_QTX *qtx, BIO *bio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qtx
    - mdpl
    argTypes:
    - OSSL_QTX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1029
    functionName: ossl_qtx_set_mdpl
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_set_mdpl(OSSL_QTX *qtx, size_t mdpl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1034
    functionName: ossl_qtx_get_mdpl
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_qtx_get_mdpl(OSSL_QTX *qtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1039
    functionName: ossl_qtx_get_queue_len_datagrams
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_qtx_get_queue_len_datagrams(OSSL_QTX *qtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    functionName: ossl_qtx_get_queue_len_bytes
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_qtx_get_queue_len_bytes(OSSL_QTX *qtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: ossl_qtx_get_cur_dgram_len_bytes
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_qtx_get_cur_dgram_len_bytes(OSSL_QTX *qtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: ossl_qtx_get_unflushed_pkt_count
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_qtx_get_unflushed_pkt_count(OSSL_QTX *qtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_key_update
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1056
    functionDepth: 8
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    functionName: ossl_qtx_trigger_key_update
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_key_update
    linkageType: ''
    returnType: int
    signature: int ossl_qtx_trigger_key_update(OSSL_QTX *qtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qtx
    - enc_level
    argTypes:
    - OSSL_QTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1071
    functionName: ossl_qtx_get_cur_epoch_pkt_count
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_qtx_get_cur_epoch_pkt_count(OSSL_QTX *qtx, uint32_t enc_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1077,1
    - Dst: ossl_qrl_get_suite_max_pkt
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qtx
    - enc_level
    argTypes:
    - OSSL_QTX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1073
    functionDepth: 2
    functionLinenumber: 1073
    functionLinenumberEnd: 1082
    functionName: ossl_qtx_get_max_epoch_pkt_count
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_qrl_get_suite_max_pkt
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_qtx_get_max_epoch_pkt_count(OSSL_QTX *qtx, uint32_t enc_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - qtx
    - msg_callback
    - msg_callback_ssl
    argTypes:
    - OSSL_QTX*
    - ossl_msg_cb
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: ossl_qtx_set_msg_callback
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_qtx_set_msg_callback(OSSL_QTX *qtx, ossl_msg_cb msg_callback,\n
      \                              SSL *msg_callback_ssl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qtx
    - msg_callback_arg
    argTypes:
    - OSSL_QTX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1094
    functionName: ossl_qtx_set_msg_callback_arg
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_qtx_set_msg_callback_arg(OSSL_QTX *qtx, void *msg_callback_arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_tx.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qtx
    argTypes:
    - OSSL_QTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1105
    functionName: ossl_qtx_get_key_epoch
    functionSourceFile: /src/openssl/ssl/quic/quic_record_tx.c
    functionUses: 0
    functionsReached:
    - ossl_qrl_enc_level_set_get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_qtx_get_key_epoch(OSSL_QTX *qtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_statm.c:19,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_statm.c:27,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_statm.c:33,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_statm.c:42,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_statm.c:42,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_statm.c:43,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_statm.c:45,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_statm.c:45,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_statm.c:45,1
    - Dst: ossl_time_abs_difference
      Src: /src/openssl/ssl/quic/quic_statm.c:46,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_statm.c:48,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_statm.c:48,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_statm.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - statm
    - ack_delay
    - override_latest_rtt
    argTypes:
    - OSSL_STATM*
    - OSSL_TIME
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 12
    functionDepth: 4
    functionLinenumber: 12
    functionLinenumberEnd: 50
    functionName: ossl_statm_update_rtt
    functionSourceFile: /src/openssl/ssl/quic/quic_statm.c
    functionUses: 2
    functionsReached:
    - ossl_time_abs_difference
    - ossl_time_compare
    - ossl_time_subtract
    - ossl_time_divide
    - ossl_time_is_zero
    - ossl_time_add
    - ossl_time_multiply
    linkageType: ''
    returnType: void
    signature: "void ossl_statm_update_rtt(OSSL_STATM *statm,\n                           OSSL_TIME
      ack_delay,\n                           OSSL_TIME override_latest_rtt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_statm.c:58,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_statm.c:59,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_statm.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - statm
    argTypes:
    - OSSL_STATM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: ossl_statm_init
    functionSourceFile: /src/openssl/ssl/quic/quic_statm.c
    functionUses: 3
    functionsReached:
    - ossl_time_infinite
    - ossl_time_zero
    - ossl_time_divide
    linkageType: ''
    returnType: int
    signature: int ossl_statm_init(OSSL_STATM *statm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - statm
    argTypes:
    - OSSL_STATM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ossl_statm_destroy
    functionSourceFile: /src/openssl/ssl/quic/quic_statm.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_statm_destroy(OSSL_STATM *statm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - statm
    - rtt_info
    argTypes:
    - OSSL_STATM*
    - OSSL_RTT_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: ossl_statm_get_rtt_info
    functionSourceFile: /src/openssl/ssl/quic/quic_statm.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_statm_get_rtt_info(OSSL_STATM *statm, OSSL_RTT_INFO *rtt_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:251,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:254,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:256,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:258,1
    - Dst: ossl_list_retiring_next
      Src: /src/openssl/ssl/quic/quic_rcidm.c:258,1
    - Dst: ossl_list_retiring_prev
      Src: /src/openssl/ssl/quic/quic_rcidm.c:259,1
    - Dst: ossl_list_retiring_head
      Src: /src/openssl/ssl/quic/quic_rcidm.c:260,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:262,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:263,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:264,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:265,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:266,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:268,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - rcidm
    - rcid
    argTypes:
    - QUIC_RCIDM*
    - RCID*
    assertStmts:
    - condition: "(rcid->state == RCID_STATE_PENDING\n           || rcid->state ==
        RCID_STATE_CUR\n           || rcid->state == RCID_STATE_RETIRING)"
      pos:
        line_end: 252
        line_start: 250
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: "((rcid->state == RCID_STATE_PENDING)\n           == (rcid->pq_idx
        != SIZE_MAX))"
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: "((rcid->state == RCID_STATE_CUR)\n           == (rcidm->cur_rcid
        == rcid))"
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: "((ossl_list_retiring_next(rcid) != NULL\n            || ossl_list_retiring_prev(rcid)
        != NULL\n            || ossl_list_retiring_head(&rcidm->retiring_list) ==
        rcid)\n           == (rcid->state == RCID_STATE_RETIRING))"
      pos:
        line_end: 260
        line_start: 257
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->type != RCID_TYPE_INITIAL || rcid->seq_num == 0)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->type != RCID_TYPE_PREF_ADDR || rcid->seq_num == 1)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->seq_num <= OSSL_QUIC_VLINT_MAX)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcidm->num_changes == 0 || rcidm->handshake_complete)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->state != RCID_STATE_RETIRING || rcidm->num_retiring > 0)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcid->cid.id_len > 0 && rcid->cid.id_len <= QUIC_MAX_CONN_ID_LEN)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: "(rcid->seq_num >= rcidm->retire_prior_to\n            || rcid->state
        == RCID_STATE_RETIRING)"
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: rcidm_check_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - ossl_list_retiring_next
    - ossl_list_retiring_prev
    - ossl_list_retiring_head
    - assert
    linkageType: ''
    returnType: void
    signature: void rcidm_check_rcid(QUIC_RCIDM *rcidm, RCID *rcid)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - RCID*
    - RCID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: rcid_cmp
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rcid_cmp(const RCID *a, const RCID *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_rcidm.c:285,1
    - Dst: ossl_pqueue_RCID_new
      Src: /src/openssl/ssl/quic/quic_rcidm.c:288,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:289,1
    - Dst: rcidm_update
      Src: /src/openssl/ssl/quic/quic_rcidm.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - initial_odcid
    argTypes:
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: ossl_quic_rcidm_new
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - rcidm_update
    - ossl_pqueue_RCID_new
    linkageType: ''
    returnType: QUIC_RCIDM
    signature: QUIC_RCIDM *ossl_quic_rcidm_new(const QUIC_CONN_ID *initial_odcid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:309,1
    - Dst: ossl_pqueue_RCID_pop
      Src: /src/openssl/ssl/quic/quic_rcidm.c:310,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:311,1
    - Dst: OSSL_LIST_FOREACH_DELSAFE
      Src: /src/openssl/ssl/quic/quic_rcidm.c:313,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:314,1
    - Dst: ossl_pqueue_RCID_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:316,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: ossl_quic_rcidm_free
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - ossl_pqueue_RCID_free
    - OSSL_LIST_FOREACH_DELSAFE
    - ossl_pqueue_RCID_pop
    linkageType: ''
    returnType: void
    signature: void ossl_quic_rcidm_free(QUIC_RCIDM *rcidm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_rcidm.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rcidm
    - rcid
    argTypes:
    - QUIC_RCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 335
    functionName: rcidm_set_preferred_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - ossl_quic_conn_id_eq
    linkageType: ''
    returnType: void
    signature: "void rcidm_set_preferred_rcid(QUIC_RCIDM *rcidm,\n                                     const
      QUIC_CONN_ID *rcid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_RCID_num
      Src: /src/openssl/ssl/quic/quic_rcidm.c:349,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_rcidm.c:353,1
    - Dst: ossl_pqueue_RCID_push
      Src: /src/openssl/ssl/quic/quic_rcidm.c:363,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:364,1
    - Dst: ossl_list_retiring_insert_tail
      Src: /src/openssl/ssl/quic/quic_rcidm.c:371,1
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - rcidm
    - seq_num
    - cid
    - type
    argTypes:
    - QUIC_RCIDM*
    - uint64_t
    - QUIC_CONN_ID*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 377
    functionName: rcidm_create_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_RCID_push
    - OPENSSL_zalloc
    - ossl_pqueue_RCID_num
    - OPENSSL_free
    - ossl_list_retiring_insert_tail
    - rcidm_check_rcid
    linkageType: ''
    returnType: RCID
    signature: "RCID *rcidm_create_rcid(QUIC_RCIDM *rcidm, uint64_t seq_num,\n                               const
      QUIC_CONN_ID *cid,\n                               unsigned int type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:384,1
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:385,1
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:390,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:391,1
    - Dst: ossl_pqueue_RCID_remove
      Src: /src/openssl/ssl/quic/quic_rcidm.c:395,1
    - Dst: ossl_list_retiring_insert_tail
      Src: /src/openssl/ssl/quic/quic_rcidm.c:407,1
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - rcidm
    - rcid
    - state
    argTypes:
    - QUIC_RCIDM*
    - RCID*
    - unsigned int
    assertStmts:
    - condition: (state >= old_state && state <= RCID_STATE_RETIRING)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    - condition: (rcidm->cur_rcid == NULL)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    constantsTouched: []
    func_position:
      end: 412
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 412
    functionName: rcidm_transition_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 1
    functionsReached:
    - rcidm_transition_rcid
    - ossl_pqueue_RCID_remove
    - ossl_list_retiring_insert_tail
    - rcidm_check_rcid
    - assert
    linkageType: ''
    returnType: void
    signature: "void rcidm_transition_rcid(QUIC_RCIDM *rcidm, RCID *rcid,\n                                  unsigned
      int state)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:419,1
    - Dst: ossl_pqueue_RCID_remove
      Src: /src/openssl/ssl/quic/quic_rcidm.c:423,1
    - Dst: ossl_list_retiring_remove
      Src: /src/openssl/ssl/quic/quic_rcidm.c:429,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_rcidm.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - rcidm
    - rcid
    argTypes:
    - QUIC_RCIDM*
    - RCID*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    constantsTouched: []
    func_position:
      end: 438
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 438
    functionName: rcidm_free_rcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - rcidm_check_rcid
    - ossl_pqueue_RCID_remove
    - OPENSSL_free
    - ossl_list_retiring_remove
    - assert
    linkageType: ''
    returnType: void
    signature: void rcidm_free_rcid(QUIC_RCIDM *rcidm, RCID *rcid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:452,1
    - Dst: ossl_pqueue_RCID_peek
      Src: /src/openssl/ssl/quic/quic_rcidm.c:459,1
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - rcidm
    - retire_prior_to
    argTypes:
    - QUIC_RCIDM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 464
    functionName: rcidm_handle_retire_prior_to
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_RCID_peek
    - rcidm_transition_rcid
    linkageType: ''
    returnType: void
    signature: "void rcidm_handle_retire_prior_to(QUIC_RCIDM *rcidm,\n                                         uint64_t
      retire_prior_to)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_RCID_peek
      Src: /src/openssl/ssl/quic/quic_rcidm.c:475,1
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 487
    functionName: rcidm_roll
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - ossl_pqueue_RCID_peek
    - rcidm_transition_rcid
    linkageType: ''
    returnType: void
    signature: void rcidm_roll(QUIC_RCIDM *rcidm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_RCID_peek
      Src: /src/openssl/ssl/quic/quic_rcidm.c:497,1
    - Dst: rcidm_transition_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:498,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_rcidm.c:499,1
    - Dst: rcidm_check_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:504,1
    - Dst: rcidm_set_preferred_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:505,1
    - Dst: rcidm_set_preferred_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:514,1
    - Dst: rcidm_set_preferred_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:519,1
    - Dst: rcidm_set_preferred_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts:
    - condition: (rcidm->cur_rcid != NULL)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/openssl/ssl/quic/quic_rcidm.c
    constantsTouched: []
    func_position:
      end: 525
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 525
    functionName: rcidm_update
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 1
    functionsReached:
    - ossl_pqueue_RCID_peek
    - rcidm_transition_rcid
    - rcidm_set_preferred_rcid
    - rcidm_check_rcid
    - assert
    linkageType: ''
    returnType: void
    signature: void rcidm_update(QUIC_RCIDM *rcidm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: rcidm_should_roll
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rcidm_should_roll(QUIC_RCIDM *rcidm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_should_roll
      Src: /src/openssl/ssl/quic/quic_rcidm.c:542,1
    - Dst: rcidm_roll
      Src: /src/openssl/ssl/quic/quic_rcidm.c:543,1
    - Dst: rcidm_update
      Src: /src/openssl/ssl/quic/quic_rcidm.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 546
    functionName: rcidm_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - rcidm_should_roll
    - rcidm_update
    - rcidm_roll
    linkageType: ''
    returnType: void
    signature: void rcidm_tick(QUIC_RCIDM *rcidm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_tick
      Src: /src/openssl/ssl/quic/quic_rcidm.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: ossl_quic_rcidm_on_handshake_complete
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_tick
    linkageType: ''
    returnType: void
    signature: void ossl_quic_rcidm_on_handshake_complete(QUIC_RCIDM *rcidm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_tick
      Src: /src/openssl/ssl/quic/quic_rcidm.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rcidm
    - num_packets
    argTypes:
    - QUIC_RCIDM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 568
    functionName: ossl_quic_rcidm_on_packet_sent
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 1
    functionsReached:
    - rcidm_tick
    linkageType: ''
    returnType: void
    signature: void ossl_quic_rcidm_on_packet_sent(QUIC_RCIDM *rcidm, uint64_t num_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_tick
      Src: /src/openssl/ssl/quic/quic_rcidm.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 4
    functionLinenumber: 570
    functionLinenumberEnd: 574
    functionName: ossl_quic_rcidm_request_roll
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_tick
    linkageType: ''
    returnType: void
    signature: void ossl_quic_rcidm_request_roll(QUIC_RCIDM *rcidm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_create_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:588,1
    - Dst: rcidm_tick
      Src: /src/openssl/ssl/quic/quic_rcidm.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rcidm
    - rcid
    argTypes:
    - QUIC_RCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 596
    functionName: ossl_quic_rcidm_add_from_initial
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_create_rcid
    - rcidm_tick
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rcidm_add_from_initial(QUIC_RCIDM *rcidm,\n                                     const
      QUIC_CONN_ID *rcid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_tick
      Src: /src/openssl/ssl/quic/quic_rcidm.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rcidm
    - retry_odcid
    argTypes:
    - QUIC_RCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 598
    functionDepth: 4
    functionLinenumber: 598
    functionLinenumberEnd: 608
    functionName: ossl_quic_rcidm_add_from_server_retry
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_tick
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rcidm_add_from_server_retry(QUIC_RCIDM *rcidm,\n                                          const
      QUIC_CONN_ID *retry_odcid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_create_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:615,1
    - Dst: rcidm_handle_retire_prior_to
      Src: /src/openssl/ssl/quic/quic_rcidm.c:619,1
    - Dst: rcidm_tick
      Src: /src/openssl/ssl/quic/quic_rcidm.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rcidm
    - ncid
    argTypes:
    - QUIC_RCIDM*
    - OSSL_QUIC_FRAME_NEW_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 622
    functionName: ossl_quic_rcidm_add_from_ncid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_create_rcid
    - rcidm_tick
    - rcidm_handle_retire_prior_to
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rcidm_add_from_ncid(QUIC_RCIDM *rcidm,\n                                  const
      OSSL_QUIC_FRAME_NEW_CONN_ID *ncid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_retiring_head
      Src: /src/openssl/ssl/quic/quic_rcidm.c:631,1
    - Dst: rcidm_free_rcid
      Src: /src/openssl/ssl/quic/quic_rcidm.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - rcidm
    - seq_num
    - peek
    argTypes:
    - QUIC_RCIDM*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 643
    functionName: rcidm_get_retire
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 0
    functionsReached:
    - ossl_list_retiring_head
    - rcidm_free_rcid
    linkageType: ''
    returnType: int
    signature: int rcidm_get_retire(QUIC_RCIDM *rcidm, uint64_t *seq_num, int peek)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_get_retire
      Src: /src/openssl/ssl/quic/quic_rcidm.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rcidm
    - seq_num
    argTypes:
    - QUIC_RCIDM*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: ossl_quic_rcidm_pop_retire_seq_num
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_get_retire
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rcidm_pop_retire_seq_num(QUIC_RCIDM *rcidm,\n                                       uint64_t
      *seq_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rcidm_get_retire
      Src: /src/openssl/ssl/quic/quic_rcidm.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rcidm
    - seq_num
    argTypes:
    - QUIC_RCIDM*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: ossl_quic_rcidm_peek_retire_seq_num
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached:
    - rcidm_get_retire
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rcidm_peek_retire_seq_num(QUIC_RCIDM *rcidm,\n                                        uint64_t
      *seq_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rcidm
    - tx_dcid
    argTypes:
    - QUIC_RCIDM*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 665
    functionName: ossl_quic_rcidm_get_preferred_tx_dcid
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rcidm_get_preferred_tx_dcid(QUIC_RCIDM *rcidm,\n                                          QUIC_CONN_ID
      *tx_dcid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rcidm
    - clear
    argTypes:
    - QUIC_RCIDM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 676
    functionName: ossl_quic_rcidm_get_preferred_tx_dcid_changed
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_rcidm_get_preferred_tx_dcid_changed(QUIC_RCIDM *rcidm,\n
      \                                                 int clear)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_pqueue_RCID_num
      Src: /src/openssl/ssl/quic/quic_rcidm.c:680,1
    - Dst: ossl_quic_rcidm_get_num_retiring
      Src: /src/openssl/ssl/quic/quic_rcidm.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: ossl_quic_rcidm_get_num_active
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 1
    functionsReached:
    - ossl_pqueue_RCID_num
    - ossl_quic_rcidm_get_num_retiring
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_rcidm_get_num_active(const QUIC_RCIDM *rcidm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcidm
    argTypes:
    - QUIC_RCIDM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: ossl_quic_rcidm_get_num_retiring
    functionSourceFile: /src/openssl/ssl/quic/quic_rcidm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_rcidm_get_num_retiring(const QUIC_RCIDM *rcidm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:19,1
    - Dst: SSL_CONNECTION*::qtcb::crypto_send_cb
      Src: /src/openssl/ssl/quic/quic_tls_api.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - buf_len
    - consumed
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: crypto_send_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION*::qtcb::crypto_send_cb
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int crypto_send_cb(const unsigned char *buf, size_t buf_len,\n                          size_t
      *consumed, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:30,1
    - Dst: SSL_CONNECTION*::qtcb::crypto_recv_rcd_cb
      Src: /src/openssl/ssl/quic/quic_tls_api.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - bytes_read
    - arg
    argTypes:
    - unsigned char**
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: crypto_recv_rcd_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION*::qtcb::crypto_recv_rcd_cb
    linkageType: ''
    returnType: int
    signature: "int crypto_recv_rcd_cb(const unsigned char **buf, size_t *bytes_read,\n
      \                             void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:40,1
    - Dst: SSL_CONNECTION*::qtcb::crypto_release_rcd_cb
      Src: /src/openssl/ssl/quic/quic_tls_api.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bytes_read
    - arg
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: crypto_release_rcd_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION*::qtcb::crypto_release_rcd_cb
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int crypto_release_rcd_cb(size_t bytes_read, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:52,1
    - Dst: SSL_CONNECTION*::qtcb::yield_secret_cb
      Src: /src/openssl/ssl/quic/quic_tls_api.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - prot_level
    - direction
    - suite_id
    - md
    - secret
    - secret_len
    - arg
    argTypes:
    - uint32_t
    - int
    - uint32_t
    - EVP_MD*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: yield_secret_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - SSL_CONNECTION*::qtcb::yield_secret_cb
    linkageType: ''
    returnType: int
    signature: "int yield_secret_cb(uint32_t prot_level, int direction,\n                           uint32_t
      suite_id, EVP_MD *md,\n                           const unsigned char *secret,
      size_t secret_len,\n                           void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:65,1
    - Dst: SSL_CONNECTION*::qtcb::got_transport_params_cb
      Src: /src/openssl/ssl/quic/quic_tls_api.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - params
    - params_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: got_transport_params_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION*::qtcb::got_transport_params_cb
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int got_transport_params_cb(const unsigned char *params,\n                                   size_t
      params_len,\n                                   void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:75,1
    - Dst: SSL_CONNECTION*::qtcb::alert_cb
      Src: /src/openssl/ssl/quic/quic_tls_api.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - alert_code
    argTypes:
    - void*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: alert_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION*::qtcb::alert_cb
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int alert_cb(void *arg, unsigned char alert_code)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_crypto_send
      Src: /src/openssl/ssl/quic/quic_tls_api.c:89,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_crypto_recv_rcd
      Src: /src/openssl/ssl/quic/quic_tls_api.c:94,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_crypto_release_rcd
      Src: /src/openssl/ssl/quic/quic_tls_api.c:99,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_yield_secret
      Src: /src/openssl/ssl/quic/quic_tls_api.c:104,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_got_transport_params
      Src: /src/openssl/ssl/quic/quic_tls_api.c:109,1
    - Dst: OSSL_FUNC_SSL_QUIC_TLS_alert
      Src: /src/openssl/ssl/quic/quic_tls_api.c:114,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:125,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 2
    argNames:
    - qtcb
    - qtdis
    argTypes:
    - OSSL_QUIC_TLS_CALLBACKS*
    - OSSL_DISPATCH*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 130
    functionName: tls_callbacks_from_dispatch
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 0
    functionsReached:
    - OSSL_FUNC_SSL_QUIC_TLS_yield_secret
    - OSSL_FUNC_SSL_QUIC_TLS_crypto_send
    - ERR_raise
    - OSSL_FUNC_SSL_QUIC_TLS_crypto_release_rcd
    - OSSL_FUNC_SSL_QUIC_TLS_got_transport_params
    - OSSL_FUNC_SSL_QUIC_TLS_crypto_recv_rcd
    - OSSL_FUNC_SSL_QUIC_TLS_alert
    linkageType: ''
    returnType: int
    signature: "int tls_callbacks_from_dispatch(OSSL_QUIC_TLS_CALLBACKS *qtcb,\n                                       const
      OSSL_DISPATCH *qtdis)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:134,1
    - Dst: SSL_is_tls
      Src: /src/openssl/ssl/quic/quic_tls_api.c:137,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:138,1
    - Dst: tls_callbacks_from_dispatch
      Src: /src/openssl/ssl/quic/quic_tls_api.c:142,1
    - Dst: ossl_quic_tls_free
      Src: /src/openssl/ssl/quic/quic_tls_api.c:148,1
    - Dst: ossl_quic_tls_new
      Src: /src/openssl/ssl/quic/quic_tls_api.c:166,1
    - Dst: ossl_quic_tls_configure
      Src: /src/openssl/ssl/quic/quic_tls_api.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - s
    - qtdis
    - arg
    argTypes:
    - SSL*
    - OSSL_DISPATCH*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 132
    functionDepth: 7
    functionLinenumber: 132
    functionLinenumberEnd: 174
    functionName: SSL_set_quic_tls_cbs
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - ERR_raise
    - ossl_quic_tls_configure
    - ossl_quic_tls_free
    - tls_callbacks_from_dispatch
    - ossl_quic_tls_new
    - SSL_is_tls
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_quic_tls_cbs(SSL *s, const OSSL_DISPATCH *qtdis, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:180,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:186,1
    - Dst: ossl_quic_tls_set_transport_params
      Src: /src/openssl/ssl/quic/quic_tls_api.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - s
    - params
    - params_len
    argTypes:
    - SSL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: SSL_set_quic_tls_transport_params
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 2
    functionsReached:
    - ossl_quic_tls_set_transport_params
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int SSL_set_quic_tls_transport_params(SSL *s,\n                                      const
      unsigned char *params,\n                                      size_t params_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_tls_api.c:195,1
    - Dst: SSL_is_tls
      Src: /src/openssl/ssl/quic/quic_tls_api.c:197,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:198,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_tls_api.c:203,1
    - Dst: ossl_quic_tls_set_early_data_enabled
      Src: /src/openssl/ssl/quic/quic_tls_api.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - enabled
    argTypes:
    - SSL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: SSL_set_quic_tls_early_data_enabled
    functionSourceFile: /src/openssl/ssl/quic/quic_tls_api.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tls_set_early_data_enabled
    - SSL_is_tls
    - ERR_raise
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_set_quic_tls_early_data_enabled(SSL *s, int enabled)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_obj.c:26,1
    - Dst: SSL_TYPE_IS_QUIC
      Src: /src/openssl/ssl/quic/quic_obj.c:26,1
    - Dst: IS_QUIC
      Src: /src/openssl/ssl/quic/quic_obj.c:27,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_obj.c:31,1
    - Dst: ossl_ssl_init
      Src: /src/openssl/ssl/quic/quic_obj.c:34,1
    - Dst: obj_update_cache
      Src: /src/openssl/ssl/quic/quic_obj.c:44,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 6
    argNames:
    - obj
    - ctx
    - type
    - parent_obj
    - engine
    - port
    argTypes:
    - QUIC_OBJ*
    - SSL_CTX*
    - int
    - SSL*
    - QUIC_ENGINE*
    - QUIC_PORT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 54
    functionName: ossl_quic_obj_init
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 7
    functionsReached:
    - ossl_assert
    - obj_update_cache
    - ossl_ssl_init
    - IS_QUIC
    - SSL_TYPE_IS_QUIC
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_obj_init(QUIC_OBJ *obj,\n                       SSL_CTX
      *ctx,\n                       int type,\n                       SSL *parent_obj,\n
      \                      QUIC_ENGINE *engine,\n                       QUIC_PORT
      *port)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_obj.c:62,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_obj.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: obj_update_cache
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: int obj_update_cache(QUIC_OBJ *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj.c:85,1
    - Dst: SSL_CONNECTION_FROM_SSL_ONLY
      Src: /src/openssl/ssl/quic/quic_obj.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj != NULL && obj->init_done)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: ossl_quic_obj_get0_handshake_layer
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL_ONLY
    - assert
    linkageType: ''
    returnType: SSL_CONNECTION
    signature: SSL_CONNECTION *ossl_quic_obj_get0_handshake_layer(QUIC_OBJ *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj.c:98,1
    - Dst: ossl_quic_obj_get0_reactor
      Src: /src/openssl/ssl/quic/quic_obj.c:99,1
    - Dst: ossl_quic_reactor_can_poll_r
      Src: /src/openssl/ssl/quic/quic_obj.c:105,1
    - Dst: ossl_quic_reactor_can_poll_w
      Src: /src/openssl/ssl/quic/quic_obj.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: ossl_quic_obj_can_support_blocking
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 1
    functionsReached:
    - ossl_quic_reactor_can_poll_w
    - ossl_quic_obj_get0_reactor
    - assert
    - ossl_quic_reactor_can_poll_r
    linkageType: ''
    returnType: int
    signature: int ossl_quic_obj_can_support_blocking(const QUIC_OBJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: ossl_quic_obj_desires_blocking
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_quic_obj_desires_blocking(const QUIC_OBJ *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj.c:122,1
    - Dst: ossl_quic_obj_desires_blocking
      Src: /src/openssl/ssl/quic/quic_obj.c:124,1
    - Dst: ossl_quic_engine_update_poll_descriptors
      Src: /src/openssl/ssl/quic/quic_obj.c:127,1
    - Dst: ossl_quic_obj_get0_engine
      Src: /src/openssl/ssl/quic/quic_obj.c:127,1
    - Dst: ossl_quic_obj_can_support_blocking
      Src: /src/openssl/ssl/quic/quic_obj.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - QUIC_OBJ*
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: ossl_quic_obj_blocking
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 1
    functionsReached:
    - ossl_quic_engine_update_poll_descriptors
    - ossl_quic_obj_desires_blocking
    - ossl_quic_obj_get0_engine
    - ossl_quic_obj_can_support_blocking
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_quic_obj_blocking(const QUIC_OBJ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_obj.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - mode
    argTypes:
    - QUIC_OBJ*
    - unsigned int
    assertStmts:
    - condition: (obj != NULL)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/openssl/ssl/quic/quic_obj.c
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: ossl_quic_obj_set_blocking_mode
    functionSourceFile: /src/openssl/ssl/quic/quic_obj.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_quic_obj_set_blocking_mode(QUIC_OBJ *obj, unsigned int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/json_enc.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - wbuf
    - bio
    - alloc
    argTypes:
    - struct json_write_buf*
    - BIO*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: wbuf_init
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int wbuf_init(struct json_write_buf *wbuf, BIO *bio, size_t alloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/json_enc.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wbuf
    argTypes:
    - struct json_write_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: wbuf_cleanup
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void wbuf_cleanup(struct json_write_buf *wbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wbuf
    - bio
    argTypes:
    - struct json_write_buf*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: wbuf_set0_bio
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wbuf_set0_bio(struct json_write_buf *wbuf, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wbuf
    argTypes:
    - struct json_write_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: wbuf_clean
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline wbuf_clean(struct json_write_buf *wbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wbuf
    argTypes:
    - struct json_write_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: wbuf_avail
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline wbuf_avail(struct json_write_buf *wbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wbuf_avail
      Src: /src/openssl/ssl/quic/json_enc.c:61,1
    - Dst: wbuf_flush
      Src: /src/openssl/ssl/quic/json_enc.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - wbuf
    - c
    argTypes:
    - struct json_write_buf*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: wbuf_write_char
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - wbuf_avail
    - wbuf_flush
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline wbuf_write_char(struct json_write_buf *wbuf, char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wbuf_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - wbuf
    - s
    argTypes:
    - struct json_write_buf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: wbuf_write_str
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - wbuf_write_char
    linkageType: ''
    returnType: int
    signature: int wbuf_write_str(struct json_write_buf *wbuf, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write_ex
      Src: /src/openssl/ssl/quic/json_enc.c:90,1
    - Dst: memmove
      Src: /src/openssl/ssl/quic/json_enc.c:94,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/quic/json_enc.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - wbuf
    - full
    argTypes:
    - struct json_write_buf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: wbuf_flush
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 1
    functionsReached:
    - BIO_write_ex
    - BIO_flush
    - memmove
    linkageType: ''
    returnType: int
    signature: int wbuf_flush(struct json_write_buf *wbuf, int full)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/json_enc.c:124,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/quic/json_enc.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - json
    - num_bytes
    argTypes:
    - OSSL_JSON_ENC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: json_ensure_stack_size
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: int json_ensure_stack_size(OSSL_JSON_ENC *json, size_t num_bytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/json_enc.c:149,1
    - Dst: json_ensure_stack_size
      Src: /src/openssl/ssl/quic/json_enc.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - json
    - v
    argTypes:
    - OSSL_JSON_ENC*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 168
    functionName: json_push
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_ensure_stack_size
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int json_push(OSSL_JSON_ENC *json, unsigned int v)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: json_pop
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int json_pop(OSSL_JSON_ENC *json)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: json_peek
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int json_peek(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: in_ijson
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline in_ijson(const OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: in_seq
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline in_seq(const OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: in_pretty
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline in_pretty(const OSSL_JSON_ENC *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/quic/json_enc.c:239,1
    - Dst: wbuf_init
      Src: /src/openssl/ssl/quic/json_enc.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - json
    - bio
    - flags
    argTypes:
    - OSSL_JSON_ENC*
    - BIO*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: ossl_json_init
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 1
    functionsReached:
    - memset
    - wbuf_init
    linkageType: ''
    returnType: int
    signature: int ossl_json_init(OSSL_JSON_ENC *json, BIO *bio, uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wbuf_cleanup
      Src: /src/openssl/ssl/quic/json_enc.c:251,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/json_enc.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: ossl_json_cleanup
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 1
    functionsReached:
    - OPENSSL_free
    - wbuf_cleanup
    linkageType: ''
    returnType: void
    signature: void ossl_json_cleanup(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_flush
      Src: /src/openssl/ssl/quic/json_enc.c:261,1
    - Dst: ossl_json_cleanup
      Src: /src/openssl/ssl/quic/json_enc.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: ossl_json_flush_cleanup
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - ossl_json_cleanup
    - ossl_json_flush
    linkageType: ''
    returnType: int
    signature: int ossl_json_flush_cleanup(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wbuf_clean
      Src: /src/openssl/ssl/quic/json_enc.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: ossl_json_reset
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - wbuf_clean
    linkageType: ''
    returnType: int
    signature: int ossl_json_reset(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wbuf_flush
      Src: /src/openssl/ssl/quic/json_enc.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: ossl_json_flush
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 1
    functionsReached:
    - wbuf_flush
    linkageType: ''
    returnType: int
    signature: int ossl_json_flush(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wbuf_set0_bio
      Src: /src/openssl/ssl/quic/json_enc.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - json
    - bio
    argTypes:
    - OSSL_JSON_ENC*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: ossl_json_set0_sink
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - wbuf_set0_bio
    linkageType: ''
    returnType: int
    signature: int ossl_json_set0_sink(OSSL_JSON_ENC *json, BIO *bio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: ossl_json_in_error
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_json_in_error(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: json_raise_error
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_raise_error(OSSL_JSON_ENC *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_indent
      Src: /src/openssl/ssl/quic/json_enc.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: json_undefer
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_indent
    linkageType: ''
    returnType: void
    signature: void json_undefer(OSSL_JSON_ENC *json)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:315,1
    - Dst: json_undefer
      Src: /src/openssl/ssl/quic/json_enc.c:318,1
    - Dst: wbuf_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:319,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - json
    - ch
    argTypes:
    - OSSL_JSON_ENC*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: json_write_char
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_raise_error
    - ossl_json_in_error
    - json_undefer
    - wbuf_write_char
    linkageType: ''
    returnType: void
    signature: void json_write_char(OSSL_JSON_ENC *json, char ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:325,1
    - Dst: json_undefer
      Src: /src/openssl/ssl/quic/json_enc.c:328,1
    - Dst: wbuf_write_str
      Src: /src/openssl/ssl/quic/json_enc.c:329,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - json
    - s
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: json_write_str
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_raise_error
    - ossl_json_in_error
    - json_undefer
    - wbuf_write_str
    linkageType: ''
    returnType: void
    signature: void json_write_str(OSSL_JSON_ENC *json, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: in_pretty
      Src: /src/openssl/ssl/quic/json_enc.c:339,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:342,1
    - Dst: json_write_str
      Src: /src/openssl/ssl/quic/json_enc.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 347
    functionName: json_indent
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 1
    functionsReached:
    - in_pretty
    - json_write_char
    - json_write_str
    linkageType: ''
    returnType: void
    signature: void json_indent(OSSL_JSON_ENC *json)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:353,1
    - Dst: json_peek
      Src: /src/openssl/ssl/quic/json_enc.c:358,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:361,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:366,1
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:367,1
    - Dst: json_indent
      Src: /src/openssl/ssl/quic/json_enc.c:370,1
    - Dst: in_seq
      Src: /src/openssl/ssl/quic/json_enc.c:373,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:374,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 349
    functionDepth: 5
    functionLinenumber: 349
    functionLinenumberEnd: 389
    functionName: json_pre_item
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_raise_error
    - in_seq
    - ossl_json_in_error
    - json_indent
    - json_write_char
    - json_peek
    linkageType: ''
    returnType: int
    signature: int json_pre_item(OSSL_JSON_ENC *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_peek
      Src: /src/openssl/ssl/quic/json_enc.c:393,1
    - Dst: in_seq
      Src: /src/openssl/ssl/quic/json_enc.c:397,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: json_post_item
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - in_seq
    - json_peek
    - json_write_char
    linkageType: ''
    returnType: void
    signature: void json_post_item(OSSL_JSON_ENC *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pre_item
      Src: /src/openssl/ssl/quic/json_enc.c:408,1
    - Dst: json_push
      Src: /src/openssl/ssl/quic/json_enc.c:409,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:410,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - json
    - type
    - ch
    argTypes:
    - OSSL_JSON_ENC*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: composite_begin
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_push
    - json_pre_item
    - json_raise_error
    - json_write_char
    linkageType: ''
    returnType: void
    signature: void composite_begin(OSSL_JSON_ENC *json, int type, char ch)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:425,1
    - Dst: json_peek
      Src: /src/openssl/ssl/quic/json_enc.c:430,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:431,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:436,1
    - Dst: json_pop
      Src: /src/openssl/ssl/quic/json_enc.c:440,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:441,1
    - Dst: json_indent
      Src: /src/openssl/ssl/quic/json_enc.c:446,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:448,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - json
    - type
    - ch
    argTypes:
    - OSSL_JSON_ENC*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 421
    functionDepth: 5
    functionLinenumber: 421
    functionLinenumberEnd: 450
    functionName: composite_end
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_raise_error
    - ossl_json_in_error
    - json_indent
    - json_write_char
    - json_post_item
    - json_pop
    - json_peek
    linkageType: ''
    returnType: void
    signature: void composite_end(OSSL_JSON_ENC *json, int type, char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: composite_begin
      Src: /src/openssl/ssl/quic/json_enc.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 453
    functionDepth: 7
    functionLinenumber: 453
    functionLinenumberEnd: 457
    functionName: ossl_json_object_begin
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - composite_begin
    linkageType: ''
    returnType: void
    signature: void ossl_json_object_begin(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: composite_end
      Src: /src/openssl/ssl/quic/json_enc.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 6
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: ossl_json_object_end
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - composite_end
    linkageType: ''
    returnType: void
    signature: void ossl_json_object_end(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: composite_begin
      Src: /src/openssl/ssl/quic/json_enc.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 7
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: ossl_json_array_begin
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - composite_begin
    linkageType: ''
    returnType: void
    signature: void ossl_json_array_begin(OSSL_JSON_ENC *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: composite_end
      Src: /src/openssl/ssl/quic/json_enc.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 6
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: ossl_json_array_end
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - composite_end
    linkageType: ''
    returnType: void
    signature: void ossl_json_array_end(OSSL_JSON_ENC *json)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:484,1
    - Dst: json_peek
      Src: /src/openssl/ssl/quic/json_enc.c:487,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:489,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:494,1
    - Dst: json_indent
      Src: /src/openssl/ssl/quic/json_enc.c:498,1
    - Dst: json_raise_error
      Src: /src/openssl/ssl/quic/json_enc.c:500,1
    - Dst: json_write_qstring
      Src: /src/openssl/ssl/quic/json_enc.c:504,1
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:505,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:508,1
    - Dst: in_pretty
      Src: /src/openssl/ssl/quic/json_enc.c:509,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - json
    - key
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 513
    functionName: ossl_json_key
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_raise_error
    - ossl_json_in_error
    - json_write_qstring
    - json_indent
    - json_write_char
    - in_pretty
    - json_peek
    linkageType: ''
    returnType: void
    signature: void ossl_json_key(OSSL_JSON_ENC *json, const char *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pre_item
      Src: /src/openssl/ssl/quic/json_enc.c:518,1
    - Dst: json_write_str
      Src: /src/openssl/ssl/quic/json_enc.c:521,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - OSSL_JSON_ENC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 6
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: ossl_json_null
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_pre_item
    - json_post_item
    - json_write_str
    linkageType: ''
    returnType: void
    signature: void ossl_json_null(OSSL_JSON_ENC *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pre_item
      Src: /src/openssl/ssl/quic/json_enc.c:527,1
    - Dst: json_write_str
      Src: /src/openssl/ssl/quic/json_enc.c:530,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - json
    - v
    argTypes:
    - OSSL_JSON_ENC*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 6
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: ossl_json_bool
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_pre_item
    - json_post_item
    - json_write_str
    linkageType: ''
    returnType: void
    signature: void ossl_json_bool(OSSL_JSON_ENC *json, bool v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: in_ijson
      Src: /src/openssl/ssl/quic/json_enc.c:540,1
    - Dst: json_pre_item
      Src: /src/openssl/ssl/quic/json_enc.c:542,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:546,1
    - Dst: json_write_str
      Src: /src/openssl/ssl/quic/json_enc.c:554,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:557,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - json
    - v
    - noquote
    argTypes:
    - OSSL_JSON_ENC*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 537
    functionDepth: 6
    functionLinenumber: 537
    functionLinenumberEnd: 560
    functionName: json_u64
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - in_ijson
    - json_post_item
    - json_write_char
    - json_pre_item
    - json_write_str
    linkageType: ''
    returnType: void
    signature: void json_u64(OSSL_JSON_ENC *json, uint64_t v, int noquote)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_u64
      Src: /src/openssl/ssl/quic/json_enc.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - json
    - v
    argTypes:
    - OSSL_JSON_ENC*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 7
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: ossl_json_u64
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_u64
    linkageType: ''
    returnType: void
    signature: void ossl_json_u64(OSSL_JSON_ENC *json, uint64_t v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_u64
      Src: /src/openssl/ssl/quic/json_enc.c:574,1
    - Dst: json_pre_item
      Src: /src/openssl/ssl/quic/json_enc.c:578,1
    - Dst: in_ijson
      Src: /src/openssl/ssl/quic/json_enc.c:581,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:585,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:587,1
    - Dst: json_u64
      Src: /src/openssl/ssl/quic/json_enc.c:592,1
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:594,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:595,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - OSSL_JSON_ENC*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 568
    functionDepth: 8
    functionLinenumber: 568
    functionLinenumberEnd: 596
    functionName: ossl_json_i64
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - ossl_json_in_error
    - in_ijson
    - json_u64
    - json_write_char
    - json_pre_item
    - ossl_json_u64
    linkageType: ''
    returnType: void
    signature: void ossl_json_i64(OSSL_JSON_ENC *json, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 605
    functionName: hex_digit
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline hex_digit(int v)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_in_error
      Src: /src/openssl/ssl/quic/json_enc.c:616,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:619,1
    - Dst: strlen
      Src: /src/openssl/ssl/quic/json_enc.c:621,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/json_enc.c:636,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/json_enc.c:647,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/json_enc.c:660,1
    - Dst: hex_digit
      Src: /src/openssl/ssl/quic/json_enc.c:671,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:675,1
    - Dst: json_write_str
      Src: /src/openssl/ssl/quic/json_enc.c:681,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:684,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 69
    argCount: 4
    argNames:
    - json
    - str
    - str_len
    - nul_term
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 685
    functionName: json_write_qstring_inner
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - ossl_json_in_error
    - memcpy
    - json_write_char
    - hex_digit
    - json_write_str
    - strlen
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline json_write_qstring_inner(OSSL_JSON_ENC *json, const char
      *str, size_t str_len,\n                         int nul_term)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_write_qstring_inner
      Src: /src/openssl/ssl/quic/json_enc.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - json
    - str
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 5
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: json_write_qstring
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 1
    functionsReached:
    - json_write_qstring_inner
    linkageType: ''
    returnType: void
    signature: void json_write_qstring(OSSL_JSON_ENC *json, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_write_qstring_inner
      Src: /src/openssl/ssl/quic/json_enc.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - json
    - str
    - str_len
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 693
    functionDepth: 5
    functionLinenumber: 693
    functionLinenumberEnd: 697
    functionName: json_write_qstring_len
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_write_qstring_inner
    linkageType: ''
    returnType: void
    signature: void json_write_qstring_len(OSSL_JSON_ENC *json, const char *str, size_t
      str_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pre_item
      Src: /src/openssl/ssl/quic/json_enc.c:701,1
    - Dst: json_write_qstring
      Src: /src/openssl/ssl/quic/json_enc.c:704,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - json
    - str
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 699
    functionDepth: 6
    functionLinenumber: 699
    functionLinenumberEnd: 706
    functionName: ossl_json_str
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_pre_item
    - json_post_item
    - json_write_qstring
    linkageType: ''
    returnType: void
    signature: void ossl_json_str(OSSL_JSON_ENC *json, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pre_item
      Src: /src/openssl/ssl/quic/json_enc.c:710,1
    - Dst: json_write_qstring_len
      Src: /src/openssl/ssl/quic/json_enc.c:713,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - json
    - str
    - str_len
    argTypes:
    - OSSL_JSON_ENC*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 6
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: ossl_json_str_len
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_pre_item
    - json_write_qstring_len
    - json_post_item
    linkageType: ''
    returnType: void
    signature: void ossl_json_str_len(OSSL_JSON_ENC *json, const char *str, size_t
      str_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pre_item
      Src: /src/openssl/ssl/quic/json_enc.c:726,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:729,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:733,1
    - Dst: hex_digit
      Src: /src/openssl/ssl/quic/json_enc.c:733,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:734,1
    - Dst: hex_digit
      Src: /src/openssl/ssl/quic/json_enc.c:734,1
    - Dst: json_write_char
      Src: /src/openssl/ssl/quic/json_enc.c:737,1
    - Dst: json_post_item
      Src: /src/openssl/ssl/quic/json_enc.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - json
    - data
    - data_len
    argTypes:
    - OSSL_JSON_ENC*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 721
    functionDepth: 6
    functionLinenumber: 721
    functionLinenumberEnd: 739
    functionName: ossl_json_str_hex
    functionSourceFile: /src/openssl/ssl/quic/json_enc.c
    functionUses: 0
    functionsReached:
    - json_post_item
    - json_pre_item
    - hex_digit
    - json_write_char
    linkageType: ''
    returnType: void
    signature: void ossl_json_str_hex(OSSL_JSON_ENC *json, const void *data, size_t
      data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - bit_no
    argTypes:
    - size_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: bit_get
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused bit_get(const size_t *p, uint32_t bit_no)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - p
    - bit_no
    - enable
    argTypes:
    - size_t*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: bit_set
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused bit_set(size_t *p, uint32_t bit_no, int enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/qlog.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: default_now
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_time_now
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME default_now(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/qlog.c:58,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/qlog.c:70,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/qlog.c:74,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/qlog.c:78,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/qlog.c:83,1
    - Dst: ossl_json_init
      Src: /src/openssl/ssl/quic/qlog.c:86,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:97,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:98,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:100,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:101,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - info
    argTypes:
    - QLOG_TRACE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 104
    functionName: ossl_qlog_new
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    - ossl_json_init
    linkageType: ''
    returnType: QLOG
    signature: QLOG *ossl_qlog_new(const QLOG_TRACE_INFO *info)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_safe_getenv
      Src: /src/openssl/ssl/quic/qlog.c:109,1
    - Dst: ossl_safe_getenv
      Src: /src/openssl/ssl/quic/qlog.c:110,1
    - Dst: strlen
      Src: /src/openssl/ssl/quic/qlog.c:117,1
    - Dst: ossl_determine_dirsep
      Src: /src/openssl/ssl/quic/qlog.c:121,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/qlog.c:125,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/qlog.c:129,1
    - Dst: BIO_snprintf
      Src: /src/openssl/ssl/quic/qlog.c:134,1
    - Dst: BIO_snprintf
      Src: /src/openssl/ssl/quic/qlog.c:136,1
    - Dst: ossl_qlog_new
      Src: /src/openssl/ssl/quic/qlog.c:139,1
    - Dst: ossl_qlog_set_sink_filename
      Src: /src/openssl/ssl/quic/qlog.c:143,1
    - Dst: ossl_qlog_set_filter
      Src: /src/openssl/ssl/quic/qlog.c:149,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:152,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:156,1
    - Dst: ossl_qlog_free
      Src: /src/openssl/ssl/quic/qlog.c:157,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - info
    argTypes:
    - QLOG_TRACE_INFO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 159
    functionName: ossl_qlog_new_from_env
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_qlog_set_filter
    - memcpy
    - ossl_qlog_new
    - ossl_qlog_free
    - ossl_determine_dirsep
    - BIO_snprintf
    - ossl_qlog_set_sink_filename
    - OPENSSL_free
    - ossl_safe_getenv
    - strlen
    - OPENSSL_malloc
    linkageType: ''
    returnType: QLOG
    signature: QLOG *ossl_qlog_new_from_env(const QLOG_TRACE_INFO *info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_flush_cleanup
      Src: /src/openssl/ssl/quic/qlog.c:166,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/qlog.c:167,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:168,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:169,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:170,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:171,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: ossl_qlog_free
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    - BIO_free_all
    - ossl_json_flush_cleanup
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_free(QLOG *qlog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qlog_flush
      Src: /src/openssl/ssl/quic/qlog.c:184,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/qlog.c:185,1
    - Dst: ossl_json_set0_sink
      Src: /src/openssl/ssl/quic/qlog.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qlog
    - bio
    argTypes:
    - QLOG*
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: ossl_qlog_set_sink_bio
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 1
    functionsReached:
    - ossl_qlog_flush
    - ossl_json_set0_sink
    - BIO_free_all
    linkageType: ''
    returnType: int
    signature: int ossl_qlog_set_sink_bio(QLOG *qlog, BIO *bio)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_fp
      Src: /src/openssl/ssl/quic/qlog.c:200,1
    - Dst: ossl_qlog_set_sink_bio
      Src: /src/openssl/ssl/quic/qlog.c:204,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/qlog.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - qlog
    - f
    - close_flag
    argTypes:
    - QLOG*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 6
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: ossl_qlog_set_sink_file
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - BIO_new_fp
    - BIO_free_all
    - ossl_qlog_set_sink_bio
    linkageType: ''
    returnType: int
    signature: int ossl_qlog_set_sink_file(QLOG *qlog, FILE *f, int close_flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_file
      Src: /src/openssl/ssl/quic/qlog.c:225,1
    - Dst: ossl_qlog_set_sink_bio
      Src: /src/openssl/ssl/quic/qlog.c:229,1
    - Dst: BIO_free_all
      Src: /src/openssl/ssl/quic/qlog.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - qlog
    - filename
    argTypes:
    - QLOG*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 235
    functionName: ossl_qlog_set_sink_filename
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 1
    functionsReached:
    - BIO_new_file
    - BIO_free_all
    - ossl_qlog_set_sink_bio
    linkageType: ''
    returnType: int
    signature: int ossl_qlog_set_sink_filename(QLOG *qlog, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_flush
      Src: /src/openssl/ssl/quic/qlog.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 6
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: ossl_qlog_flush
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 2
    functionsReached:
    - ossl_json_flush
    linkageType: ''
    returnType: int
    signature: int ossl_qlog_flush(QLOG *qlog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bit_set
      Src: /src/openssl/ssl/quic/qlog.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - qlog
    - event_type
    - enabled
    argTypes:
    - QLOG*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: ossl_qlog_set_event_type_enabled
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 1
    functionsReached:
    - bit_set
    linkageType: ''
    returnType: int
    signature: "int ossl_qlog_set_event_type_enabled(QLOG *qlog, uint32_t event_type,\n
      \                                    int enabled)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bit_get
      Src: /src/openssl/ssl/quic/qlog.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qlog
    - event_type
    argTypes:
    - QLOG*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: ossl_qlog_enabled
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 1
    functionsReached:
    - bit_get
    linkageType: ''
    returnType: int
    signature: int ossl_qlog_enabled(QLOG *qlog, uint32_t event_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:272,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:273,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/qlog.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - qlog
    - key
    - p
    argTypes:
    - QLOG*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 7
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: write_str_once
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - OPENSSL_free
    - ossl_json_str
    linkageType: ''
    returnType: void
    signature: void write_str_once(QLOG *qlog, const char *key, char **p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_object_begin
      Src: /src/openssl/ssl/quic/qlog.c:284,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:286,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:287,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:289,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:290,1
    - Dst: write_str_once
      Src: /src/openssl/ssl/quic/qlog.c:292,1
    - Dst: write_str_once
      Src: /src/openssl/ssl/quic/qlog.c:293,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:295,1
    - Dst: ossl_json_object_begin
      Src: /src/openssl/ssl/quic/qlog.c:296,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:298,1
    - Dst: ossl_json_object_begin
      Src: /src/openssl/ssl/quic/qlog.c:299,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:301,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:302,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:304,1
    - Dst: ossl_json_array_begin
      Src: /src/openssl/ssl/quic/qlog.c:305,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:307,1
    - Dst: ossl_json_array_end
      Src: /src/openssl/ssl/quic/qlog.c:309,1
    - Dst: write_str_once
      Src: /src/openssl/ssl/quic/qlog.c:311,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:313,1
    - Dst: ossl_json_object_begin
      Src: /src/openssl/ssl/quic/qlog.c:314,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:317,1
    - Dst: ossl_json_u64
      Src: /src/openssl/ssl/quic/qlog.c:318,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:321,1
    - Dst: ossl_json_u64
      Src: /src/openssl/ssl/quic/qlog.c:322,1
    - Dst: getpid
      Src: /src/openssl/ssl/quic/qlog.c:322,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:324,1
    - Dst: ossl_json_u64
      Src: /src/openssl/ssl/quic/qlog.c:325,1
    - Dst: GetCurrentProcessId
      Src: /src/openssl/ssl/quic/qlog.c:325,1
    - Dst: ossl_json_object_end
      Src: /src/openssl/ssl/quic/qlog.c:329,1
    - Dst: ossl_json_object_end
      Src: /src/openssl/ssl/quic/qlog.c:331,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:333,1
    - Dst: ossl_json_object_begin
      Src: /src/openssl/ssl/quic/qlog.c:334,1
    - Dst: BIO_snprintf
      Src: /src/openssl/ssl/quic/qlog.c:342,1
    - Dst: OpenSSL_version
      Src: /src/openssl/ssl/quic/qlog.c:343,1
    - Dst: OpenSSL_version
      Src: /src/openssl/ssl/quic/qlog.c:344,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:347,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:348,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:351,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:352,1
    - Dst: ossl_json_object_end
      Src: /src/openssl/ssl/quic/qlog.c:354,1
    - Dst: ossl_json_object_end
      Src: /src/openssl/ssl/quic/qlog.c:356,1
    - Dst: ossl_json_object_end
      Src: /src/openssl/ssl/quic/qlog.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 279
    functionDepth: 8
    functionLinenumber: 279
    functionLinenumberEnd: 361
    functionName: qlog_event_seq_header
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_object_begin
    - write_str_once
    - ossl_json_object_end
    - ossl_json_str
    - BIO_snprintf
    - OpenSSL_version
    - ossl_json_array_end
    - ossl_json_u64
    - GetCurrentProcessId
    - ossl_json_array_begin
    - ossl_json_key
    - getpid
    linkageType: ''
    returnType: void
    signature: void qlog_event_seq_header(QLOG *qlog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qlog_event_seq_header
      Src: /src/openssl/ssl/quic/qlog.c:365,1
    - Dst: ossl_json_object_begin
      Src: /src/openssl/ssl/quic/qlog.c:367,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:369,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:370,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:372,1
    - Dst: ossl_json_object_begin
      Src: /src/openssl/ssl/quic/qlog.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 9
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: qlog_event_prologue
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_object_begin
    - qlog_event_seq_header
    - ossl_json_str
    linkageType: ''
    returnType: void
    signature: void qlog_event_prologue(QLOG *qlog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_object_end
      Src: /src/openssl/ssl/quic/qlog.c:378,1
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:380,1
    - Dst: ossl_json_u64
      Src: /src/openssl/ssl/quic/qlog.c:382,1
    - Dst: ossl_time2ms
      Src: /src/openssl/ssl/quic/qlog.c:382,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/qlog.c:386,1
    - Dst: ossl_json_u64
      Src: /src/openssl/ssl/quic/qlog.c:389,1
    - Dst: ossl_time2ms
      Src: /src/openssl/ssl/quic/qlog.c:389,1
    - Dst: ossl_json_object_end
      Src: /src/openssl/ssl/quic/qlog.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 8
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: qlog_event_epilogue
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_object_end
    - ossl_time_subtract
    - ossl_json_u64
    - ossl_time2ms
    - ossl_json_key
    linkageType: ''
    returnType: void
    signature: void qlog_event_epilogue(QLOG *qlog)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/qlog.c:405,1
    - Dst: ossl_qlog_enabled
      Src: /src/openssl/ssl/quic/qlog.c:406,1
    - Dst: QLOG*::info::now_cb
      Src: /src/openssl/ssl/quic/qlog.c:413,1
    - Dst: qlog_event_prologue
      Src: /src/openssl/ssl/quic/qlog.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - qlog
    - event_type
    - event_cat
    - event_name
    - event_combined_name
    argTypes:
    - QLOG*
    - uint32_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 396
    functionDepth: 10
    functionLinenumber: 396
    functionLinenumberEnd: 417
    functionName: ossl_qlog_event_try_begin
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_qlog_enabled
    - ossl_assert
    - qlog_event_prologue
    - QLOG*::info::now_cb
    linkageType: ''
    returnType: int
    signature: "int ossl_qlog_event_try_begin(QLOG *qlog,\n                              uint32_t
      event_type,\n                              const char *event_cat,\n                              const
      char *event_name,\n                              const char *event_combined_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/qlog.c:421,1
    - Dst: qlog_event_epilogue
      Src: /src/openssl/ssl/quic/qlog.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 9
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: ossl_qlog_event_end
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - qlog_event_epilogue
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_event_end(QLOG *qlog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:435,1
    - Dst: ossl_json_object_begin
      Src: /src/openssl/ssl/quic/qlog.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qlog
    - name
    argTypes:
    - QLOG*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 8
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: ossl_qlog_group_begin
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_object_begin
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_group_begin(QLOG *qlog, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_object_end
      Src: /src/openssl/ssl/quic/qlog.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 7
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: ossl_qlog_group_end
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_object_end
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_group_end(QLOG *qlog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:448,1
    - Dst: ossl_json_array_begin
      Src: /src/openssl/ssl/quic/qlog.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qlog
    - name
    argTypes:
    - QLOG*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 8
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: ossl_qlog_array_begin
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_array_begin
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_array_begin(QLOG *qlog, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_array_end
      Src: /src/openssl/ssl/quic/qlog.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qlog
    argTypes:
    - QLOG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 7
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: ossl_qlog_array_end
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_array_end
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_array_end(QLOG *qlog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qlog
    - event_time
    argTypes:
    - QLOG*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: ossl_qlog_override_time
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_override_time(QLOG *qlog, OSSL_TIME event_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:466,1
    - Dst: ossl_json_str
      Src: /src/openssl/ssl/quic/qlog.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - qlog
    - name
    - value
    argTypes:
    - QLOG*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 463
    functionDepth: 7
    functionLinenumber: 463
    functionLinenumberEnd: 469
    functionName: ossl_qlog_str
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_str
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_str(QLOG *qlog, const char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:475,1
    - Dst: ossl_json_str_len
      Src: /src/openssl/ssl/quic/qlog.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - qlog
    - name
    - value
    - value_len
    argTypes:
    - QLOG*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 7
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: ossl_qlog_str_len
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_str_len
    linkageType: ''
    returnType: void
    signature: "void ossl_qlog_str_len(QLOG *qlog, const char *name,\n                       const
      char *value, size_t value_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:483,1
    - Dst: ossl_json_u64
      Src: /src/openssl/ssl/quic/qlog.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - qlog
    - name
    - value
    argTypes:
    - QLOG*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 8
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: ossl_qlog_u64
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_u64
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_u64(QLOG *qlog, const char *name, uint64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:491,1
    - Dst: ossl_json_i64
      Src: /src/openssl/ssl/quic/qlog.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - qlog
    - name
    - value
    argTypes:
    - QLOG*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 9
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: ossl_qlog_i64
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_i64
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_i64(QLOG *qlog, const char *name, int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:499,1
    - Dst: ossl_json_bool
      Src: /src/openssl/ssl/quic/qlog.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - qlog
    - name
    - value
    argTypes:
    - QLOG*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 7
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: ossl_qlog_bool
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_bool
    linkageType: ''
    returnType: void
    signature: void ossl_qlog_bool(QLOG *qlog, const char *name, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_json_key
      Src: /src/openssl/ssl/quic/qlog.c:508,1
    - Dst: ossl_json_str_hex
      Src: /src/openssl/ssl/quic/qlog.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - qlog
    - name
    - value
    - value_len
    argTypes:
    - QLOG*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 7
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: ossl_qlog_bin
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_json_key
    - ossl_json_str_hex
    linkageType: ''
    returnType: void
    signature: "void ossl_qlog_bin(QLOG *qlog, const char *name,\n                   const
      void *value, size_t value_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: is_term_sep_ws
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline is_term_sep_ws(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_isalpha
      Src: /src/openssl/ssl/quic/qlog.c:528,1
    - Dst: ossl_isdigit
      Src: /src/openssl/ssl/quic/qlog.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: is_name_char
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - ossl_isdigit
    - ossl_isalpha
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline is_name_char(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - lex
    - in
    - in_len
    argTypes:
    - struct lexer*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 540
    functionName: lex_init
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lex_init(struct lexer *lex, const char *in, size_t in_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_term_sep_ws
      Src: /src/openssl/ssl/quic/qlog.c:546,1
    - Dst: is_term_sep_ws
      Src: /src/openssl/ssl/quic/qlog.c:554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - lex
    argTypes:
    - struct lexer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 559
    functionName: lex_do
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - is_term_sep_ws
    linkageType: ''
    returnType: int
    signature: int lex_do(struct lexer *lex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lex
    argTypes:
    - struct lexer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: lex_eot
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lex_eot(struct lexer *lex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lex_eot
      Src: /src/openssl/ssl/quic/qlog.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lex
    argTypes:
    - struct lexer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: lex_peek_char
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - lex_eot
    linkageType: ''
    returnType: int
    signature: int lex_peek_char(struct lexer *lex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lex_eot
      Src: /src/openssl/ssl/quic/qlog.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lex
    argTypes:
    - struct lexer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 578
    functionName: lex_skip_char
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - lex_eot
    linkageType: ''
    returnType: int
    signature: int lex_skip_char(struct lexer *lex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/qlog.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - lex
    - s
    - s_len
    argTypes:
    - struct lexer*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: lex_match
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int lex_match(struct lexer *lex, const char *s, size_t s_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lex
    - str
    - str_l
    argTypes:
    - struct lexer*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: lex_get_rest
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lex_get_rest(struct lexer *lex, const char **str, size_t *str_l)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - lex
    - c
    - str
    - str_l
    argTypes:
    - struct lexer*
    - char
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 610
    functionName: lex_extract_to
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int lex_extract_to(struct lexer *lex, char c,\n                          const
      char **str, size_t *str_l)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/quic/qlog.c:617,1
    - Dst: strlen
      Src: /src/openssl/ssl/quic/qlog.c:618,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/qlog.c:622,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/qlog.c:623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 6
    argNames:
    - cat
    - cat_l
    - event
    - event_l
    - expect_cat
    - expect_event
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 627
    functionName: ossl_unused::filter_match_event
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ossl_unused filter_match_event(const char *cat, size_t cat_l,\n
      \                                         const char *event, size_t event_l,\n
      \                                         const char *expect_cat,\n                                          const
      char *expect_event)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - enabled
    - add
    - cat
    - cat_l
    - event
    - event_l
    argTypes:
    - size_t*
    - int
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 648
    functionName: filter_apply
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void filter_apply(size_t *enabled, int add,\n                         const
      char *cat, size_t cat_l,\n                         const char *event, size_t
      event_l)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e_cat
    - ','
    - e_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: QLOG_EVENT
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QLOG_EVENT(e_cat, e_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lex
    - msg
    argTypes:
    - struct lexer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: lex_fail
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lex_fail(struct lexer *lex, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_name_char
      Src: /src/openssl/ssl/quic/qlog.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p
    - l
    argTypes:
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 679
    functionName: validate_name
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 0
    functionsReached:
    - is_name_char
    linkageType: ''
    returnType: int
    signature: int validate_name(const char **p, size_t *l)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/qlog.c:689,1
    - Dst: lex_init
      Src: /src/openssl/ssl/quic/qlog.c:691,1
    - Dst: strlen
      Src: /src/openssl/ssl/quic/qlog.c:691,1
    - Dst: lex_do
      Src: /src/openssl/ssl/quic/qlog.c:694,1
    - Dst: lex_peek_char
      Src: /src/openssl/ssl/quic/qlog.c:695,1
    - Dst: lex_skip_char
      Src: /src/openssl/ssl/quic/qlog.c:698,1
    - Dst: lex_peek_char
      Src: /src/openssl/ssl/quic/qlog.c:700,1
    - Dst: is_name_char
      Src: /src/openssl/ssl/quic/qlog.c:701,1
    - Dst: lex_fail
      Src: /src/openssl/ssl/quic/qlog.c:702,1
    - Dst: is_name_char
      Src: /src/openssl/ssl/quic/qlog.c:704,1
    - Dst: lex_fail
      Src: /src/openssl/ssl/quic/qlog.c:705,1
    - Dst: lex_match
      Src: /src/openssl/ssl/quic/qlog.c:710,1
    - Dst: filter_apply
      Src: /src/openssl/ssl/quic/qlog.c:711,1
    - Dst: lex_extract_to
      Src: /src/openssl/ssl/quic/qlog.c:715,1
    - Dst: lex_fail
      Src: /src/openssl/ssl/quic/qlog.c:716,1
    - Dst: lex_get_rest
      Src: /src/openssl/ssl/quic/qlog.c:718,1
    - Dst: validate_name
      Src: /src/openssl/ssl/quic/qlog.c:719,1
    - Dst: lex_fail
      Src: /src/openssl/ssl/quic/qlog.c:720,1
    - Dst: validate_name
      Src: /src/openssl/ssl/quic/qlog.c:721,1
    - Dst: lex_fail
      Src: /src/openssl/ssl/quic/qlog.c:722,1
    - Dst: filter_apply
      Src: /src/openssl/ssl/quic/qlog.c:724,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/qlog.c:727,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - qlog
    - filter
    argTypes:
    - QLOG*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 681
    functionDepth: 4
    functionLinenumber: 681
    functionLinenumberEnd: 729
    functionName: ossl_qlog_set_filter
    functionSourceFile: /src/openssl/ssl/quic/qlog.c
    functionUses: 2
    functionsReached:
    - validate_name
    - lex_peek_char
    - memcpy
    - lex_init
    - lex_skip_char
    - lex_extract_to
    - is_name_char
    - filter_apply
    - lex_fail
    - lex_get_rest
    - strlen
    - lex_match
    - lex_do
    linkageType: ''
    returnType: int
    signature: int ossl_qlog_set_filter(QLOG *qlog, const char *filter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_sstream.c:64,1
    - Dst: ring_buf_init
      Src: /src/openssl/ssl/quic/quic_sstream.c:68,1
    - Dst: ring_buf_resize
      Src: /src/openssl/ssl/quic/quic_sstream.c:69,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/ssl/quic/quic_sstream.c:70,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_sstream.c:71,1
    - Dst: ossl_uint_set_init
      Src: /src/openssl/ssl/quic/quic_sstream.c:75,1
    - Dst: ossl_uint_set_init
      Src: /src/openssl/ssl/quic/quic_sstream.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - init_buf_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: ossl_quic_sstream_new
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 5
    functionsReached:
    - OPENSSL_zalloc
    - ossl_uint_set_init
    - ring_buf_destroy
    - ring_buf_resize
    - ring_buf_init
    - OPENSSL_free
    linkageType: ''
    returnType: QUIC_SSTREAM
    signature: QUIC_SSTREAM *ossl_quic_sstream_new(size_t init_buf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_uint_set_destroy
      Src: /src/openssl/ssl/quic/quic_sstream.c:85,1
    - Dst: ossl_uint_set_destroy
      Src: /src/openssl/ssl/quic/quic_sstream.c:86,1
    - Dst: ring_buf_destroy
      Src: /src/openssl/ssl/quic/quic_sstream.c:87,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_sstream.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: ossl_quic_sstream_free
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 5
    functionsReached:
    - ring_buf_destroy
    - ossl_uint_set_destroy
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_sstream_free(QUIC_SSTREAM *qss)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_uint_set_head
      Src: /src/openssl/ssl/quic/quic_sstream.c:100,1
    - Dst: ossl_list_uint_set_next
      Src: /src/openssl/ssl/quic/quic_sstream.c:106,1
    - Dst: ring_buf_get_buf_at
      Src: /src/openssl/ssl/quic/quic_sstream.c:137,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_sstream.c:145,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - qss
    - skip
    - hdr
    - iov
    - num_iov
    argTypes:
    - QUIC_SSTREAM*
    - size_t
    - OSSL_QUIC_FRAME_STREAM*
    - OSSL_QTX_IOVEC*
    - size_t*
    assertStmts:
    - condition: (i < 2)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/openssl/ssl/quic/quic_sstream.c
    constantsTouched: []
    func_position:
      end: 164
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 164
    functionName: ossl_quic_sstream_get_stream_frame
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 6
    functionsReached:
    - ossl_list_uint_set_head
    - ring_buf_get_buf_at
    - ossl_list_uint_set_next
    - assert
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_sstream_get_stream_frame(QUIC_SSTREAM *qss,\n                                       size_t
      skip,\n                                       OSSL_QUIC_FRAME_STREAM *hdr,\n
      \                                      OSSL_QTX_IOVEC *iov,\n                                       size_t
      *num_iov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_sstream.c:170,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/ssl/quic/quic_sstream.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: ossl_quic_sstream_has_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 1
    functionsReached:
    - ossl_quic_sstream_get_stream_frame
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_quic_sstream_has_pending(QUIC_SSTREAM *qss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: ossl_quic_sstream_get_cur_size
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_sstream_get_cur_size(QUIC_SSTREAM *qss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_uint_set_remove
      Src: /src/openssl/ssl/quic/quic_sstream.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qss
    - start
    - end
    argTypes:
    - QUIC_SSTREAM*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: ossl_quic_sstream_mark_transmitted
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 4
    functionsReached:
    - ossl_uint_set_remove
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_sstream_mark_transmitted(QUIC_SSTREAM *qss,\n                                       uint64_t
      start,\n                                       uint64_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - qss
    - final_size
    argTypes:
    - QUIC_SSTREAM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: ossl_quic_sstream_mark_transmitted_fin
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_sstream_mark_transmitted_fin(QUIC_SSTREAM *qss,\n                                           uint64_t
      final_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_uint_set_insert
      Src: /src/openssl/ssl/quic/quic_sstream.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qss
    - start
    - end
    argTypes:
    - QUIC_SSTREAM*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: ossl_quic_sstream_mark_lost
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 2
    functionsReached:
    - ossl_uint_set_insert
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_sstream_mark_lost(QUIC_SSTREAM *qss,\n                                uint64_t
      start,\n                                uint64_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: ossl_quic_sstream_mark_lost_fin
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_sstream_mark_lost_fin(QUIC_SSTREAM *qss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_uint_set_insert
      Src: /src/openssl/ssl/quic/quic_sstream.c:246,1
    - Dst: qss_cull
      Src: /src/openssl/ssl/quic/quic_sstream.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - qss
    - start
    - end
    argTypes:
    - QUIC_SSTREAM*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: ossl_quic_sstream_mark_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 3
    functionsReached:
    - qss_cull
    - ossl_uint_set_insert
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_sstream_mark_acked(QUIC_SSTREAM *qss,\n                                 uint64_t
      start,\n                                 uint64_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: ossl_quic_sstream_mark_acked_fin
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_sstream_mark_acked_fin(QUIC_SSTREAM *qss)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: ossl_quic_sstream_fin
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_sstream_fin(QUIC_SSTREAM *qss)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - qss
    - final_size
    argTypes:
    - QUIC_SSTREAM*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: ossl_quic_sstream_get_final_size
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_sstream_get_final_size(QUIC_SSTREAM *qss, uint64_t *final_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_push
      Src: /src/openssl/ssl/quic/quic_sstream.c:308,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_sstream.c:320,1
    - Dst: ossl_uint_set_insert
      Src: /src/openssl/ssl/quic/quic_sstream.c:321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - qss
    - buf
    - buf_len
    - consumed
    argTypes:
    - QUIC_SSTREAM*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts:
    - condition: (r.end + 1 == qss->ring_buf.head_offset)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/openssl/ssl/quic/quic_sstream.c
    constantsTouched: []
    func_position:
      end: 330
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 330
    functionName: ossl_quic_sstream_append
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 6
    functionsReached:
    - ossl_uint_set_insert
    - ring_buf_push
    - assert
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_sstream_append(QUIC_SSTREAM *qss,\n                             const
      unsigned char *buf,\n                             size_t buf_len,\n                             size_t
      *consumed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_uint_set_head
      Src: /src/openssl/ssl/quic/quic_sstream.c:334,1
    - Dst: ring_buf_cpop_range
      Src: /src/openssl/ssl/quic/quic_sstream.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 355
    functionName: qss_cull
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 1
    functionsReached:
    - ossl_list_uint_set_head
    - ring_buf_cpop_range
    linkageType: ''
    returnType: void
    signature: void qss_cull(QUIC_SSTREAM *qss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_resize
      Src: /src/openssl/ssl/quic/quic_sstream.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qss
    - num_bytes
    argTypes:
    - QUIC_SSTREAM*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: ossl_quic_sstream_set_buffer_size
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 3
    functionsReached:
    - ring_buf_resize
    linkageType: ''
    returnType: int
    signature: int ossl_quic_sstream_set_buffer_size(QUIC_SSTREAM *qss, size_t num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: ossl_quic_sstream_get_buffer_size
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_sstream_get_buffer_size(QUIC_SSTREAM *qss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_used
      Src: /src/openssl/ssl/quic/quic_sstream.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: ossl_quic_sstream_get_buffer_used
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 3
    functionsReached:
    - ring_buf_used
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_sstream_get_buffer_used(QUIC_SSTREAM *qss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ring_buf_avail
      Src: /src/openssl/ssl/quic/quic_sstream.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: ossl_quic_sstream_get_buffer_avail
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 3
    functionsReached:
    - ring_buf_avail
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_sstream_get_buffer_avail(QUIC_SSTREAM *qss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_sstream_get_cur_size
      Src: /src/openssl/ssl/quic/quic_sstream.c:385,1
    - Dst: ossl_list_uint_set_num
      Src: /src/openssl/ssl/quic/quic_sstream.c:388,1
    - Dst: ossl_list_uint_set_head
      Src: /src/openssl/ssl/quic/quic_sstream.c:391,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_sstream.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - qss
    argTypes:
    - QUIC_SSTREAM*
    assertStmts:
    - condition: (r.end + 1 <= cur_size)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/openssl/ssl/quic/quic_sstream.c
    constantsTouched: []
    func_position:
      end: 401
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 401
    functionName: ossl_quic_sstream_is_totally_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 3
    functionsReached:
    - ossl_list_uint_set_num
    - ossl_quic_sstream_get_cur_size
    - assert
    - ossl_list_uint_set_head
    linkageType: ''
    returnType: int
    signature: int ossl_quic_sstream_is_totally_acked(QUIC_SSTREAM *qss)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - len
    - iov
    - num_iov
    argTypes:
    - size_t
    - OSSL_QTX_IOVEC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 419
    functionName: ossl_quic_sstream_adjust_iov
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_sstream_adjust_iov(size_t len,\n                                  OSSL_QTX_IOVEC
      *iov,\n                                  size_t num_iov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qss
    - cleanse
    argTypes:
    - QUIC_SSTREAM*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: ossl_quic_sstream_set_cleanse
    functionSourceFile: /src/openssl/ssl/quic/quic_sstream.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_sstream_set_cleanse(QUIC_SSTREAM *qss, int cleanse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - SRTM_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: items_fwd_hash
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long items_fwd_hash(const SRTM_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SRTM_ITEM*
    - SRTM_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: items_fwd_cmp
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int items_fwd_cmp(const SRTM_ITEM *a, const SRTM_ITEM *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_srtm.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - SRTM_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: items_rev_hash
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long items_rev_hash(const SRTM_ITEM *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_srtm.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SRTM_ITEM*
    - SRTM_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: items_rev_cmp
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int items_rev_cmp(const SRTM_ITEM *a, const SRTM_ITEM *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RAND_priv_bytes_ex
      Src: /src/openssl/ssl/quic/quic_srtm.c:116,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_srtm.c:119,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/quic/quic_srtm.c:123,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/quic/quic_srtm.c:126,1
    - Dst: EVP_EncryptInit_ex2
      Src: /src/openssl/ssl/quic/quic_srtm.c:129,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:132,1
    - Dst: lh_SRTM_ITEM_new
      Src: /src/openssl/ssl/quic/quic_srtm.c:136,1
    - Dst: lh_SRTM_ITEM_new
      Src: /src/openssl/ssl/quic/quic_srtm.c:137,1
    - Dst: ossl_quic_srtm_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:147,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:148,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - libctx
    - propq
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 7
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: ossl_quic_srtm_new
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 3
    functionsReached:
    - EVP_EncryptInit_ex2
    - EVP_CIPHER_CTX_new
    - OPENSSL_zalloc
    - RAND_priv_bytes_ex
    - EVP_CIPHER_fetch
    - EVP_CIPHER_free
    - ossl_quic_srtm_free
    - lh_SRTM_ITEM_new
    linkageType: ''
    returnType: QUIC_SRTM
    signature: QUIC_SRTM *ossl_quic_srtm_new(OSSL_LIB_CTX *libctx, const char *propq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:158,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ihead
    argTypes:
    - SRTM_ITEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: srtm_free_each
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void srtm_free_each(SRTM_ITEM *ihead)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lh_SRTM_ITEM_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:169,1
    - Dst: lh_SRTM_ITEM_doall
      Src: /src/openssl/ssl/quic/quic_srtm.c:171,1
    - Dst: lh_SRTM_ITEM_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:172,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:175,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - srtm
    argTypes:
    - QUIC_SRTM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: ossl_quic_srtm_free
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 4
    functionsReached:
    - OPENSSL_free
    - EVP_CIPHER_CTX_free
    - lh_SRTM_ITEM_free
    - lh_SRTM_ITEM_doall
    linkageType: ''
    returnType: void
    signature: void ossl_quic_srtm_free(QUIC_SRTM *srtm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lh_SRTM_ITEM_retrieve
      Src: /src/openssl/ssl/quic/quic_srtm.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - srtm
    - opaque
    - seq_num
    - head_p
    - prev_p
    argTypes:
    - QUIC_SRTM*
    - void*
    - uint64_t
    - SRTM_ITEM**
    - SRTM_ITEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 213
    functionName: srtm_find
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached:
    - lh_SRTM_ITEM_retrieve
    linkageType: ''
    returnType: SRTM_ITEM
    signature: "SRTM_ITEM *srtm_find(QUIC_SRTM *srtm, void *opaque, uint64_t seq_num,\n
      \                           SRTM_ITEM **head_p, SRTM_ITEM **prev_p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - head
    - item
    - new_head
    argTypes:
    - SRTM_ITEM*
    - SRTM_ITEM*
    - SRTM_ITEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: sorted_insert_seq_num
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sorted_insert_seq_num(SRTM_ITEM *head, SRTM_ITEM *item, SRTM_ITEM
      **new_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - head
    - item
    - new_head
    argTypes:
    - SRTM_ITEM*
    - SRTM_ITEM*
    - SRTM_ITEM**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: sorted_insert_srt
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sorted_insert_srt(SRTM_ITEM *head, SRTM_ITEM *item, SRTM_ITEM
      **new_head)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptUpdate
      Src: /src/openssl/ssl/quic/quic_srtm.c:272,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - srtm
    - item
    - token
    argTypes:
    - QUIC_SRTM*
    - SRTM_ITEM*
    - QUIC_STATELESS_RESET_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 280
    functionName: srtm_compute_blinded
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached:
    - EVP_EncryptUpdate
    - ossl_assert
    linkageType: ''
    returnType: int
    signature: "int srtm_compute_blinded(QUIC_SRTM *srtm, SRTM_ITEM *item,\n                                const
      QUIC_STATELESS_RESET_TOKEN *token)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: srtm_find
      Src: /src/openssl/ssl/quic/quic_srtm.c:291,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_srtm.c:294,1
    - Dst: srtm_compute_blinded
      Src: /src/openssl/ssl/quic/quic_srtm.c:300,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:301,1
    - Dst: lh_SRTM_ITEM_insert
      Src: /src/openssl/ssl/quic/quic_srtm.c:308,1
    - Dst: srtm_check_lh
      Src: /src/openssl/ssl/quic/quic_srtm.c:309,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:310,1
    - Dst: sorted_insert_seq_num
      Src: /src/openssl/ssl/quic/quic_srtm.c:314,1
    - Dst: lh_SRTM_ITEM_insert
      Src: /src/openssl/ssl/quic/quic_srtm.c:316,1
    - Dst: srtm_check_lh
      Src: /src/openssl/ssl/quic/quic_srtm.c:317,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:318,1
    - Dst: lh_SRTM_ITEM_retrieve
      Src: /src/openssl/ssl/quic/quic_srtm.c:325,1
    - Dst: lh_SRTM_ITEM_insert
      Src: /src/openssl/ssl/quic/quic_srtm.c:328,1
    - Dst: srtm_check_lh
      Src: /src/openssl/ssl/quic/quic_srtm.c:329,1
    - Dst: sorted_insert_srt
      Src: /src/openssl/ssl/quic/quic_srtm.c:338,1
    - Dst: lh_SRTM_ITEM_insert
      Src: /src/openssl/ssl/quic/quic_srtm.c:340,1
    - Dst: srtm_check_lh
      Src: /src/openssl/ssl/quic/quic_srtm.c:341,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 4
    argNames:
    - srtm
    - opaque
    - seq_num
    - token
    argTypes:
    - QUIC_SRTM*
    - void*
    - uint64_t
    - QUIC_STATELESS_RESET_TOKEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 348
    functionName: ossl_quic_srtm_add
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 2
    functionsReached:
    - srtm_find
    - OPENSSL_zalloc
    - srtm_check_lh
    - lh_SRTM_ITEM_retrieve
    - OPENSSL_free
    - sorted_insert_seq_num
    - lh_SRTM_ITEM_insert
    - sorted_insert_srt
    - srtm_compute_blinded
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_srtm_add(QUIC_SRTM *srtm, void *opaque, uint64_t seq_num,\n
      \                      const QUIC_STATELESS_RESET_TOKEN *token)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lh_SRTM_ITEM_retrieve
      Src: /src/openssl/ssl/quic/quic_srtm.c:355,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:356,1
    - Dst: lh_SRTM_ITEM_insert
      Src: /src/openssl/ssl/quic/quic_srtm.c:363,1
    - Dst: srtm_check_lh
      Src: /src/openssl/ssl/quic/quic_srtm.c:364,1
    - Dst: lh_SRTM_ITEM_delete
      Src: /src/openssl/ssl/quic/quic_srtm.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - srtm
    - item
    argTypes:
    - QUIC_SRTM*
    - SRTM_ITEM*
    assertStmts:
    - condition: (rh_item != NULL)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    constantsTouched: []
    func_position:
      end: 377
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 377
    functionName: srtm_remove_from_rev
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached:
    - srtm_check_lh
    - lh_SRTM_ITEM_delete
    - lh_SRTM_ITEM_insert
    - lh_SRTM_ITEM_retrieve
    - assert
    linkageType: ''
    returnType: int
    signature: int srtm_remove_from_rev(QUIC_SRTM *srtm, SRTM_ITEM *item)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: srtm_find
      Src: /src/openssl/ssl/quic/quic_srtm.c:386,1
    - Dst: lh_SRTM_ITEM_insert
      Src: /src/openssl/ssl/quic/quic_srtm.c:397,1
    - Dst: srtm_check_lh
      Src: /src/openssl/ssl/quic/quic_srtm.c:398,1
    - Dst: lh_SRTM_ITEM_delete
      Src: /src/openssl/ssl/quic/quic_srtm.c:401,1
    - Dst: srtm_remove_from_rev
      Src: /src/openssl/ssl/quic/quic_srtm.c:408,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - srtm
    - opaque
    - seq_num
    argTypes:
    - QUIC_SRTM*
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: ossl_quic_srtm_remove
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 2
    functionsReached:
    - srtm_find
    - srtm_check_lh
    - lh_SRTM_ITEM_delete
    - OPENSSL_free
    - srtm_remove_from_rev
    - lh_SRTM_ITEM_insert
    linkageType: ''
    returnType: int
    signature: int ossl_quic_srtm_remove(QUIC_SRTM *srtm, void *opaque, uint64_t seq_num)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lh_SRTM_ITEM_retrieve
      Src: /src/openssl/ssl/quic/quic_srtm.c:424,1
    - Dst: srtm_remove_from_rev
      Src: /src/openssl/ssl/quic/quic_srtm.c:430,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:431,1
    - Dst: lh_SRTM_ITEM_delete
      Src: /src/openssl/ssl/quic/quic_srtm.c:435,1
    - Dst: srtm_remove_from_rev
      Src: /src/openssl/ssl/quic/quic_srtm.c:436,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srtm.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - srtm
    - opaque
    argTypes:
    - QUIC_SRTM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: ossl_quic_srtm_cull
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 2
    functionsReached:
    - srtm_remove_from_rev
    - OPENSSL_free
    - lh_SRTM_ITEM_retrieve
    - lh_SRTM_ITEM_delete
    linkageType: ''
    returnType: int
    signature: int ossl_quic_srtm_cull(QUIC_SRTM *srtm, void *opaque)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: srtm_compute_blinded
      Src: /src/openssl/ssl/quic/quic_srtm.c:451,1
    - Dst: lh_SRTM_ITEM_retrieve
      Src: /src/openssl/ssl/quic/quic_srtm.c:454,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - srtm
    - token
    - idx
    - opaque
    - seq_num
    argTypes:
    - QUIC_SRTM*
    - QUIC_STATELESS_RESET_TOKEN*
    - size_t
    - void**
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: ossl_quic_srtm_lookup
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 3
    functionsReached:
    - lh_SRTM_ITEM_retrieve
    - srtm_compute_blinded
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_srtm_lookup(QUIC_SRTM *srtm,\n                          const
      QUIC_STATELESS_RESET_TOKEN *token,\n                          size_t idx,\n
      \                         void **opaque, uint64_t *seq_num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:485,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:489,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - item
    - arg
    argTypes:
    - SRTM_ITEM*
    - void*
    assertStmts:
    - condition: (item != NULL)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (item->opaque != prev_opaque || item->seq_num < prev_seq_num)
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (!(item->opaque == prev_opaque && item->seq_num == prev_seq_num))
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    constantsTouched: []
    func_position:
      end: 505
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 505
    functionName: check_mark
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void check_mark(SRTM_ITEM *item, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:512,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - item
    - arg
    argTypes:
    - SRTM_ITEM*
    - void*
    assertStmts:
    - condition: (item != NULL)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (item->debug_token == token)
      pos:
        line_end: 515
        line_start: 515
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: check_count
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void check_count(SRTM_ITEM *item, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:536,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:537,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:538,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:539,1
    - Dst: lh_SRTM_ITEM_doall_arg
      Src: /src/openssl/ssl/quic/quic_srtm.c:542,1
    - Dst: lh_SRTM_ITEM_doall_arg
      Src: /src/openssl/ssl/quic/quic_srtm.c:546,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:548,1
    - Dst: lh_SRTM_ITEM_doall_arg
      Src: /src/openssl/ssl/quic/quic_srtm.c:556,1
    - Dst: lh_SRTM_ITEM_doall_arg
      Src: /src/openssl/ssl/quic/quic_srtm.c:560,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:562,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srtm.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - srtm
    argTypes:
    - QUIC_SRTM*
    assertStmts:
    - condition: (srtm != NULL)
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (srtm->blind_ctx != NULL)
      pos:
        line_end: 536
        line_start: 536
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (srtm->items_fwd != NULL)
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (srtm->items_rev != NULL)
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (tokens_seen == tokens_expected)
      pos:
        line_end: 547
        line_start: 547
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (tokens_seen == tokens_expected)
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    - condition: (tokens_seen == tokens_expected_old)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/openssl/ssl/quic/quic_srtm.c
    constantsTouched: []
    func_position:
      end: 565
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 565
    functionName: ossl_quic_srtm_check
    functionSourceFile: /src/openssl/ssl/quic/quic_srtm.c
    functionUses: 1
    functionsReached:
    - lh_SRTM_ITEM_doall_arg
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_quic_srtm_check(const QUIC_SRTM *srtm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:34,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:38,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:40,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:44,1
    - Dst: EVP_CIPHER_get_key_length
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:46,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:47,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:51,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:53,1
    - Dst: ossl_quic_hdr_protector_cleanup
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:63,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 6
    argNames:
    - hpr
    - libctx
    - propq
    - cipher_id
    - quic_hp_key
    - quic_hp_key_len
    argTypes:
    - QUIC_HDR_PROTECTOR*
    - OSSL_LIB_CTX*
    - char*
    - uint32_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 65
    functionName: ossl_quic_hdr_protector_init
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX_new
    - ERR_raise
    - ossl_quic_hdr_protector_cleanup
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CIPHER_get_key_length
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_hdr_protector_init(QUIC_HDR_PROTECTOR *hpr,\n                                 OSSL_LIB_CTX
      *libctx,\n                                 const char *propq,\n                                 uint32_t
      cipher_id,\n                                 const unsigned char *quic_hp_key,\n
      \                                size_t quic_hp_key_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:69,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - hpr
    argTypes:
    - QUIC_HDR_PROTECTOR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: ossl_quic_hdr_protector_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_free
    - EVP_CIPHER_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_hdr_protector_cleanup(QUIC_HDR_PROTECTOR *hpr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:88,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:92,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:93,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:94,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:102,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:106,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:107,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:109,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:113,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:114,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - hpr
    - sample
    - sample_len
    - mask
    argTypes:
    - QUIC_HDR_PROTECTOR*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/openssl/ssl/quic/quic_wire_pkt.c
    constantsTouched: []
    func_position:
      end: 124
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 124
    functionName: hdr_generate_mask
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 0
    functionsReached:
    - EVP_CipherUpdate
    - ERR_raise
    - memset
    - EVP_CipherInit_ex
    - assert
    linkageType: ''
    returnType: int
    signature: "int hdr_generate_mask(QUIC_HDR_PROTECTOR *hpr,\n                             const
      unsigned char *sample, size_t sample_len,\n                             unsigned
      char *mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_hdr_protector_decrypt_fields
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hpr
    - ptrs
    argTypes:
    - QUIC_HDR_PROTECTOR*
    - QUIC_PKT_HDR_PTRS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: ossl_quic_hdr_protector_decrypt
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 1
    functionsReached:
    - ossl_quic_hdr_protector_decrypt_fields
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_hdr_protector_decrypt(QUIC_HDR_PROTECTOR *hpr,\n                                    QUIC_PKT_HDR_PTRS
      *ptrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdr_generate_mask
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - hpr
    - sample
    - sample_len
    - first_byte
    - pn_bytes
    argTypes:
    - QUIC_HDR_PROTECTOR*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 6
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: ossl_quic_hdr_protector_decrypt_fields
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 1
    functionsReached:
    - hdr_generate_mask
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_hdr_protector_decrypt_fields(QUIC_HDR_PROTECTOR *hpr,\n
      \                                          const unsigned char *sample,\n                                           size_t
      sample_len,\n                                           unsigned char *first_byte,\n
      \                                          unsigned char *pn_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_hdr_protector_encrypt_fields
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hpr
    - ptrs
    argTypes:
    - QUIC_HDR_PROTECTOR*
    - QUIC_PKT_HDR_PTRS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: ossl_quic_hdr_protector_encrypt
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 2
    functionsReached:
    - ossl_quic_hdr_protector_encrypt_fields
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_hdr_protector_encrypt(QUIC_HDR_PROTECTOR *hpr,\n                                    QUIC_PKT_HDR_PTRS
      *ptrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hdr_generate_mask
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - hpr
    - sample
    - sample_len
    - first_byte
    - pn_bytes
    argTypes:
    - QUIC_HDR_PROTECTOR*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: ossl_quic_hdr_protector_encrypt_fields
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 1
    functionsReached:
    - hdr_generate_mask
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_hdr_protector_encrypt_fields(QUIC_HDR_PROTECTOR *hpr,\n
      \                                          const unsigned char *sample,\n                                           size_t
      sample_len,\n                                           unsigned char *first_byte,\n
      \                                          unsigned char *pn_bytes)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:195,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:201,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:208,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:238,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:249,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:250,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:252,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:255,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:269,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:270,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:277,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:284,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:294,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:296,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:297,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:299,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:315,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:316,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:334,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:336,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:376,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:378,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:391,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:392,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:401,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:403,1
    - Dst: PACKET_get_quic_vlint
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:412,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:416,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:425,1
    - Dst: memset
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:426,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:428,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:433,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:442,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:445,1
    - Dst: PACKET_end
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:456,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 160
    argCount: 7
    argNames:
    - pkt
    - short_conn_id_len
    - partial
    - nodata
    - hdr
    - ptrs
    - fail_cause
    argTypes:
    - PACKET*
    - size_t
    - int
    - int
    - QUIC_PKT_HDR*
    - QUIC_PKT_HDR_PTRS*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 467
    functionName: ossl_quic_wire_decode_pkt_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 6
    functionsReached:
    - memset
    - PACKET_get_bytes
    - PACKET_end
    - PACKET_get_net_4
    - PACKET_get_1
    - PACKET_remaining
    - PACKET_data
    - PACKET_forward
    - PACKET_get_quic_vlint
    - PACKET_copy_bytes
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_pkt_hdr(PACKET *pkt,\n                                  size_t
      short_conn_id_len,\n                                  int partial,\n                                  int
      nodata,\n                                  QUIC_PKT_HDR *hdr,\n                                  QUIC_PKT_HDR_PTRS
      *ptrs,\n                                  uint64_t *fail_cause)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:476,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:478,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:483,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:515,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:516,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:517,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:518,1
    - Dst: ossl_quic_pkt_type_has_pn
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:528,1
    - Dst: ossl_quic_pkt_type_has_pn
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:552,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:559,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:560,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:561,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:562,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:564,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:565,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:570,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:577,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:578,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:583,1
    - Dst: WPACKET_quic_write_vlint
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:588,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:589,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:590,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:594,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:603,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 83
    argCount: 4
    argNames:
    - pkt
    - short_conn_id_len
    - hdr
    - ptrs
    argTypes:
    - WPACKET*
    - size_t
    - QUIC_PKT_HDR*
    - QUIC_PKT_HDR_PTRS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 608
    functionName: ossl_quic_wire_encode_pkt_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 5
    functionsReached:
    - ossl_assert
    - WPACKET_put_bytes_u8
    - WPACKET_quic_write_vlint
    - WPACKET_get_curr
    - WPACKET_reserve_bytes
    - WPACKET_get_total_written
    - ossl_quic_pkt_type_has_pn
    - WPACKET_put_bytes_u32
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_pkt_hdr(WPACKET *pkt,\n                                  size_t
      short_conn_id_len,\n                                  const QUIC_PKT_HDR *hdr,\n
      \                                 QUIC_PKT_HDR_PTRS *ptrs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pkt_type_has_pn
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:645,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:653,1
    - Dst: ossl_quic_pkt_type_must_be_last
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:660,1
    - Dst: ossl_quic_vlint_encode_len
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:661,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - short_conn_id_len
    - hdr
    argTypes:
    - size_t
    - QUIC_PKT_HDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 670
    functionName: ossl_quic_wire_get_encoded_pkt_hdr_len
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 3
    functionsReached:
    - ossl_quic_vlint_encode_len
    - ossl_quic_pkt_type_has_pn
    - ossl_quic_pkt_type_must_be_last
    linkageType: ''
    returnType: size_t
    signature: "size_t ossl_quic_wire_get_encoded_pkt_hdr_len(size_t short_conn_id_len,\n
      \                                             const QUIC_PKT_HDR *hdr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:705,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:717,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - buf
    - buf_len
    - short_conn_id_len
    - dst_conn_id
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 720
    functionName: ossl_quic_wire_get_pkt_hdr_dst_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_get_pkt_hdr_dst_conn_id(const unsigned char *buf,\n
      \                                          size_t buf_len,\n                                           size_t
      short_conn_id_len,\n                                           QUIC_CONN_ID
      *dst_conn_id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - enc_pn
    - enc_pn_len
    - largest_pn
    - res_pn
    argTypes:
    - unsigned char*
    - size_t
    - QUIC_PN
    - QUIC_PN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 767
    functionName: ossl_quic_wire_decode_pkt_hdr_pn
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_decode_pkt_hdr_pn(const unsigned char *enc_pn,\n
      \                                    size_t enc_pn_len,\n                                     QUIC_PN
      largest_pn,\n                                     QUIC_PN *res_pn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pn
    - largest_acked
    argTypes:
    - QUIC_PN
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 787
    functionName: ossl_quic_wire_determine_pn_len
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_determine_pn_len(QUIC_PN pn,\n                                    QUIC_PN
      largest_acked)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pn
    - enc_pn
    - enc_pn_len
    argTypes:
    - QUIC_PN
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 817
    functionName: ossl_quic_wire_encode_pkt_hdr_pn
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_wire_encode_pkt_hdr_pn(QUIC_PN pn,\n                                     unsigned
      char *enc_pn,\n                                     size_t enc_pn_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_calculate_retry_integrity_tag
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:830,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - libctx
    - propq
    - hdr
    - client_initial_dcid
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - QUIC_PKT_HDR*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 839
    functionName: ossl_quic_validate_retry_integrity_tag
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 1
    functionsReached:
    - ossl_quic_calculate_retry_integrity_tag
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_validate_retry_integrity_tag(OSSL_LIB_CTX *libctx,\n
      \                                          const char *propq,\n                                           const
      QUIC_PKT_HDR *hdr,\n                                           const QUIC_CONN_ID
      *client_initial_dcid)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:872,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:885,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:886,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:893,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:894,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:896,1
    - Dst: ossl_quic_wire_encode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:901,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:905,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:906,1
    - Dst: EVP_CIPHER_fetch
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:912,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:913,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:917,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:918,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:922,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:924,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:929,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:930,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:935,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:937,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:942,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:943,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:947,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:950,1
    - Dst: EVP_CIPHER_free
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:956,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:957,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_wire_pkt.c:959,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 70
    argCount: 5
    argNames:
    - libctx
    - propq
    - hdr
    - client_initial_dcid
    - tag
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - QUIC_PKT_HDR*
    - QUIC_CONN_ID*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 852
    functionDepth: 5
    functionLinenumber: 852
    functionLinenumberEnd: 962
    functionName: ossl_quic_calculate_retry_integrity_tag
    functionSourceFile: /src/openssl/ssl/quic/quic_wire_pkt.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_new
    - EVP_CipherUpdate
    - WPACKET_put_bytes_u8
    - ERR_raise
    - WPACKET_finish
    - WPACKET_init_static_len
    - ossl_quic_wire_encode_pkt_hdr
    - WPACKET_get_total_written
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_fetch
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - EVP_CIPHER_free
    - EVP_CIPHER_CTX_free
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_calculate_retry_integrity_tag(OSSL_LIB_CTX *libctx,\n
      \                                           const char *propq,\n                                            const
      QUIC_PKT_HDR *hdr,\n                                            const QUIC_CONN_ID
      *client_initial_dcid,\n                                            unsigned
      char *tag)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qlog_new_from_env
      Src: /src/openssl/ssl/quic/quic_channel.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 137
    functionName: ch_get_qlog
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_qlog_new_from_env
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK *ch_get_qlog(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ch_get_qlog
      Src: /src/openssl/ssl/quic/quic_channel.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: ch_get_qlog_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ch_get_qlog
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK *ch_get_qlog_cb(void *arg)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get_rx_short_dcid_len
      Src: /src/openssl/ssl/quic/quic_channel.c:172,1
    - Dst: ossl_quic_port_get_tx_init_dcid_len
      Src: /src/openssl/ssl/quic/quic_channel.c:173,1
    - Dst: ossl_quic_gen_rand_conn_id
      Src: /src/openssl/ssl/quic/quic_channel.c:177,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:188,1
    - Dst: ossl_qtx_new
      Src: /src/openssl/ssl/quic/quic_channel.c:190,1
    - Dst: ossl_quic_txpim_new
      Src: /src/openssl/ssl/quic/quic_channel.c:194,1
    - Dst: ossl_quic_cfq_new
      Src: /src/openssl/ssl/quic/quic_channel.c:198,1
    - Dst: ossl_quic_txfc_init
      Src: /src/openssl/ssl/quic/quic_channel.c:202,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/ssl/quic/quic_channel.c:213,1
    - Dst: ossl_quic_rxfc_init_standalone
      Src: /src/openssl/ssl/quic/quic_channel.c:221,1
    - Dst: ossl_quic_rxfc_init_standalone
      Src: /src/openssl/ssl/quic/quic_channel.c:226,1
    - Dst: ossl_quic_rxfc_init_standalone
      Src: /src/openssl/ssl/quic/quic_channel.c:231,1
    - Dst: ossl_statm_init
      Src: /src/openssl/ssl/quic/quic_channel.c:236,1
    - Dst: QUIC_CHANNEL*::cc_method::new
      Src: /src/openssl/ssl/quic/quic_channel.c:241,1
    - Dst: ossl_ackm_new
      Src: /src/openssl/ssl/quic/quic_channel.c:244,1
    - Dst: ossl_quic_stream_map_init
      Src: /src/openssl/ssl/quic/quic_channel.c:249,1
    - Dst: ossl_quic_lcidm_generate_initial
      Src: /src/openssl/ssl/quic/quic_channel.c:258,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/ssl/quic/quic_channel.c:282,1
    - Dst: ossl_quic_tx_packetiser_new
      Src: /src/openssl/ssl/quic/quic_channel.c:289,1
    - Dst: ossl_quic_tx_packetiser_set_validated
      Src: /src/openssl/ssl/quic/quic_channel.c:295,1
    - Dst: ossl_quic_tx_packetiser_set_ack_tx_cb
      Src: /src/openssl/ssl/quic/quic_channel.c:297,1
    - Dst: ossl_qrx_new
      Src: /src/openssl/ssl/quic/quic_channel.c:316,1
    - Dst: ossl_qrx_set_late_validation_cb
      Src: /src/openssl/ssl/quic/quic_channel.c:326,1
    - Dst: ossl_qrx_set_key_update_cb
      Src: /src/openssl/ssl/quic/quic_channel.c:331,1
    - Dst: ossl_quic_rstream_new
      Src: /src/openssl/ssl/quic/quic_channel.c:339,1
    - Dst: ossl_quic_tls_new
      Src: /src/openssl/ssl/quic/quic_channel.c:363,1
    - Dst: ossl_ackm_set_tx_max_ack_delay
      Src: /src/openssl/ssl/quic/quic_channel.c:378,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/quic/quic_channel.c:378,1
    - Dst: ossl_ackm_set_rx_max_ack_delay
      Src: /src/openssl/ssl/quic/quic_channel.c:379,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/quic/quic_channel.c:379,1
    - Dst: ch_update_idle
      Src: /src/openssl/ssl/quic/quic_channel.c:381,1
    - Dst: ossl_list_ch_insert_tail
      Src: /src/openssl/ssl/quic/quic_channel.c:382,1
    - Dst: ch_cleanup
      Src: /src/openssl/ssl/quic/quic_channel.c:387,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 160
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 389
    functionName: ch_init
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_sstream_new
    - ossl_quic_lcidm_generate_initial
    - ossl_ackm_new
    - ossl_ms2time
    - ossl_quic_rxfc_init
    - ossl_quic_cfq_new
    - QUIC_CHANNEL*::cc_method::new
    - ossl_quic_rstream_new
    - ossl_quic_port_get_tx_init_dcid_len
    - ossl_time_infinite
    - ossl_qrx_set_late_validation_cb
    - ch_cleanup
    - ossl_quic_tx_packetiser_set_ack_tx_cb
    - ossl_qrx_set_key_update_cb
    - ossl_qrx_new
    - ossl_quic_tls_new
    - ossl_quic_txfc_init
    - ossl_quic_port_get_rx_short_dcid_len
    - ossl_ackm_set_rx_max_ack_delay
    - ossl_quic_tx_packetiser_set_validated
    - ossl_list_ch_insert_tail
    - ossl_quic_rxfc_init_standalone
    - ossl_quic_stream_map_init
    - ch_update_idle
    - ossl_quic_txpim_new
    - ossl_qtx_new
    - ossl_statm_init
    - ossl_quic_tx_packetiser_new
    - ossl_ackm_set_tx_max_ack_delay
    - ossl_quic_gen_rand_conn_id
    linkageType: ''
    returnType: int
    signature: int ch_init(QUIC_CHANNEL *ch)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_on_pkt_space_discarded
      Src: /src/openssl/ssl/quic/quic_channel.c:399,1
    - Dst: ossl_quic_lcidm_cull
      Src: /src/openssl/ssl/quic/quic_channel.c:402,1
    - Dst: ossl_quic_srtm_cull
      Src: /src/openssl/ssl/quic/quic_channel.c:405,1
    - Dst: ossl_quic_tx_packetiser_free
      Src: /src/openssl/ssl/quic/quic_channel.c:407,1
    - Dst: ossl_quic_txpim_free
      Src: /src/openssl/ssl/quic/quic_channel.c:408,1
    - Dst: ossl_quic_cfq_free
      Src: /src/openssl/ssl/quic/quic_channel.c:409,1
    - Dst: ossl_qtx_free
      Src: /src/openssl/ssl/quic/quic_channel.c:410,1
    - Dst: QUIC_CHANNEL*::cc_method::free
      Src: /src/openssl/ssl/quic/quic_channel.c:412,1
    - Dst: ossl_statm_destroy
      Src: /src/openssl/ssl/quic/quic_channel.c:414,1
    - Dst: ossl_ackm_free
      Src: /src/openssl/ssl/quic/quic_channel.c:415,1
    - Dst: ossl_quic_stream_map_cleanup
      Src: /src/openssl/ssl/quic/quic_channel.c:418,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/ssl/quic/quic_channel.c:421,1
    - Dst: ossl_quic_rstream_free
      Src: /src/openssl/ssl/quic/quic_channel.c:422,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/ssl/quic/quic_channel.c:425,1
    - Dst: ossl_quic_tls_free
      Src: /src/openssl/ssl/quic/quic_channel.c:428,1
    - Dst: ossl_qrx_free
      Src: /src/openssl/ssl/quic/quic_channel.c:429,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:430,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:431,1
    - Dst: OSSL_ERR_STATE_free
      Src: /src/openssl/ssl/quic/quic_channel.c:432,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:433,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:434,1
    - Dst: ossl_list_ch_remove
      Src: /src/openssl/ssl/quic/quic_channel.c:437,1
    - Dst: ossl_qlog_flush
      Src: /src/openssl/ssl/quic/quic_channel.c:443,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:445,1
    - Dst: ossl_qlog_free
      Src: /src/openssl/ssl/quic/quic_channel.c:446,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 391
    functionDepth: 7
    functionLinenumber: 391
    functionLinenumberEnd: 448
    functionName: ch_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_ackm_on_pkt_space_discarded
    - ossl_qrx_free
    - ossl_quic_srtm_cull
    - ossl_qlog_free
    - ossl_quic_tls_free
    - ossl_qtx_free
    - OPENSSL_free
    - ossl_list_ch_remove
    - ossl_ackm_free
    - ossl_qlog_flush
    - ossl_quic_lcidm_cull
    - QUIC_CHANNEL*::cc_method::free
    - ossl_quic_cfq_free
    - ossl_qrx_pkt_release
    - ossl_quic_tx_packetiser_free
    - ossl_quic_stream_map_cleanup
    - ossl_quic_sstream_free
    - OSSL_ERR_STATE_free
    - ossl_quic_txpim_free
    - ossl_quic_rstream_free
    - ossl_statm_destroy
    linkageType: ''
    returnType: void
    signature: void ch_cleanup(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ch_init
      Src: /src/openssl/ssl/quic/quic_channel.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 5
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: ossl_quic_channel_init
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_init
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_init(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrx_set_late_validation_cb
      Src: /src/openssl/ssl/quic/quic_channel.c:459,1
    - Dst: ossl_qrx_set_key_update_cb
      Src: /src/openssl/ssl/quic/quic_channel.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tserver_ch
    - qrx
    argTypes:
    - QUIC_CHANNEL*
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: ossl_quic_channel_bind_qrx
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_qrx_set_late_validation_cb
    - ossl_qrx_set_key_update_cb
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_bind_qrx(QUIC_CHANNEL *tserver_ch, OSSL_QRX
      *qrx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_channel.c:470,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/quic/quic_channel.c:484,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - args
    argTypes:
    - QUIC_CHANNEL_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 492
    functionName: ossl_quic_channel_alloc
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - OPENSSL_strdup
    linkageType: ''
    returnType: QUIC_CHANNEL
    signature: QUIC_CHANNEL *ossl_quic_channel_alloc(const QUIC_CHANNEL_ARGS *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ch_cleanup
      Src: /src/openssl/ssl/quic/quic_channel.c:499,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 8
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: ossl_quic_channel_free
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 6
    functionsReached:
    - OPENSSL_free
    - ch_cleanup
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_free(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_set_mutator
      Src: /src/openssl/ssl/quic/quic_channel.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ch
    - mutatecb
    - finishmutatecb
    - mutatearg
    argTypes:
    - QUIC_CHANNEL*
    - ossl_mutate_packet_cb
    - ossl_finish_mutate_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: ossl_quic_channel_set_mutator
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_qtx_set_mutator
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_channel_set_mutator(QUIC_CHANNEL *ch,\n                                  ossl_mutate_packet_cb
      mutatecb,\n                                  ossl_finish_mutate_cb finishmutatecb,\n
      \                                 void *mutatearg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_channel.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ch
    - peer_addr
    argTypes:
    - QUIC_CHANNEL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: ossl_quic_channel_get_peer_addr
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - BIO_ADDR_copy
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_get_peer_addr(QUIC_CHANNEL *ch, BIO_ADDR *peer_addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_channel.c:529,1
    - Dst: BIO_ADDR_clear
      Src: /src/openssl/ssl/quic/quic_channel.c:530,1
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_channel.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ch
    - peer_addr
    argTypes:
    - QUIC_CHANNEL*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 542
    functionName: ossl_quic_channel_set_peer_addr
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - BIO_ADDR_family
    - BIO_ADDR_copy
    - BIO_ADDR_clear
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_set_peer_addr(QUIC_CHANNEL *ch, const BIO_ADDR
      *peer_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get0_reactor
      Src: /src/openssl/ssl/quic/quic_channel.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: ossl_quic_channel_get_reactor
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 7
    functionsReached:
    - ossl_quic_port_get0_reactor
    linkageType: ''
    returnType: QUIC_REACTOR
    signature: QUIC_REACTOR *ossl_quic_channel_get_reactor(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: ossl_quic_channel_get_qsm
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: QUIC_STREAM_MAP
    signature: QUIC_STREAM_MAP *ossl_quic_channel_get_qsm(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: ossl_quic_channel_get_statm
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: OSSL_STATM
    signature: OSSL_STATM *ossl_quic_channel_get_statm(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: ossl_quic_channel_get0_tls
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_channel_get0_tls(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_channel.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: free_buf_mem
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_free
    linkageType: ''
    returnType: void
    signature: void free_buf_mem(unsigned char *buf, size_t buf_len, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/ssl/quic/quic_channel.c:579,1
    - Dst: WPACKET_init
      Src: /src/openssl/ssl/quic/quic_channel.c:583,1
    - Dst: ossl_quic_wire_encode_frame_new_token
      Src: /src/openssl/ssl/quic/quic_channel.c:586,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_channel.c:588,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_channel.c:592,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_channel.c:594,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/ssl/quic/quic_channel.c:597,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_channel.c:609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ch
    - token
    - token_len
    argTypes:
    - QUIC_CHANNEL*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 569
    functionDepth: 5
    functionLinenumber: 569
    functionLinenumberEnd: 611
    functionName: ossl_quic_channel_schedule_new_token
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - WPACKET_finish
    - BUF_MEM_free
    - WPACKET_cleanup
    - WPACKET_get_total_written
    - ossl_quic_wire_encode_frame_new_token
    - BUF_MEM_new
    - ossl_quic_cfq_add_frame
    - WPACKET_init
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_channel_schedule_new_token(QUIC_CHANNEL *ch,\n                                         const
      unsigned char *token,\n                                         size_t token_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get_rx_short_dcid_len
      Src: /src/openssl/ssl/quic/quic_channel.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: ossl_quic_channel_get_short_header_conn_id_len
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_quic_port_get_rx_short_dcid_len
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_channel_get_short_header_conn_id_len(QUIC_CHANNEL
      *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_by_id
      Src: /src/openssl/ssl/quic/quic_channel.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - stream_id
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: ossl_quic_channel_get_stream_by_id
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_get_by_id
    linkageType: ''
    returnType: QUIC_STREAM
    signature: "QUIC_STREAM *ossl_quic_channel_get_stream_by_id(QUIC_CHANNEL *ch,\n
      \                                               uint64_t stream_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: ossl_quic_channel_is_active
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_active(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: ossl_quic_channel_is_closing
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_closing(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: ossl_quic_channel_is_draining
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_draining(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_closing
      Src: /src/openssl/ssl/quic/quic_channel.c:641,1
    - Dst: ossl_quic_channel_is_draining
      Src: /src/openssl/ssl/quic/quic_channel.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: ossl_quic_channel_is_terminating
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_is_draining
    - ossl_quic_channel_is_closing
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_terminating(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: ossl_quic_channel_is_terminated
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_terminated(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:652,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_channel.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: ossl_quic_channel_is_term_any
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 11
    functionsReached:
    - ossl_quic_channel_is_terminating
    - ossl_quic_channel_is_terminated
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_term_any(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: ossl_quic_channel_is_server
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_server(const QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ch_record_state_transition
      Src: /src/openssl/ssl/quic/quic_channel.c:663,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_channel.c:672,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:672,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_channel.c:673,1
    - Dst: ossl_ackm_get_pto_duration
      Src: /src/openssl/ssl/quic/quic_channel.c:673,1
    - Dst: ossl_quic_tx_packetiser_schedule_conn_close
      Src: /src/openssl/ssl/quic/quic_channel.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 693
    functionName: ossl_quic_channel_notify_flush_done
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tx_packetiser_schedule_conn_close
    - get_time
    - ossl_ackm_get_pto_duration
    - ossl_time_add
    - ch_record_state_transition
    - ossl_time_multiply
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_notify_flush_done(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_channel.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: ossl_quic_channel_get_terminate_cause
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_is_term_any
    linkageType: ''
    returnType: QUIC_TERMINATE_CAUSE
    signature: 'QUIC_TERMINATE_CAUSE *

      ossl_quic_channel_get_terminate_cause(const QUIC_CHANNEL *ch)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: ossl_quic_channel_is_handshake_complete
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_handshake_complete(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 709
    functionName: ossl_quic_channel_is_handshake_confirmed
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_is_handshake_confirmed(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: ossl_quic_channel_get0_demux
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_DEMUX
    signature: QUIC_DEMUX *ossl_quic_channel_get0_demux(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: ossl_quic_channel_get0_port
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_PORT
    signature: QUIC_PORT *ossl_quic_channel_get0_port(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get0_engine
      Src: /src/openssl/ssl/quic/quic_channel.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: ossl_quic_channel_get0_engine
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_quic_port_get0_engine
    linkageType: ''
    returnType: QUIC_ENGINE
    signature: QUIC_ENGINE *ossl_quic_channel_get0_engine(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get0_mutex
      Src: /src/openssl/ssl/quic/quic_channel.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: ossl_quic_channel_get_mutex
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_port_get0_mutex
    linkageType: ''
    returnType: CRYPTO_MUTEX
    signature: CRYPTO_MUTEX *ossl_quic_channel_get_mutex(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_demux_has_pending
      Src: /src/openssl/ssl/quic/quic_channel.c:733,1
    - Dst: ossl_qrx_processed_read_pending
      Src: /src/openssl/ssl/quic/quic_channel.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: ossl_quic_channel_has_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_demux_has_pending
    - ossl_qrx_processed_read_pending
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_has_pending(const QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: get_time
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 11
    functionsReached:
    - ossl_quic_port_get_time
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME get_time(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - uni
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: get_stream_limit
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_stream_limit(int uni, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_is_rx_pn_processable
      Src: /src/openssl/ssl/quic/quic_channel.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pn
    - pn_space
    - arg
    argTypes:
    - QUIC_PN
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 771
    functionName: rx_late_validate
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_is_rx_pn_processable
    linkageType: ''
    returnType: int
    signature: int rx_late_validate(QUIC_PN pn, int pn_space, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tx_packetiser_get_next_pn
      Src: /src/openssl/ssl/quic/quic_channel.c:781,1
    - Dst: ossl_quic_pn_valid
      Src: /src/openssl/ssl/quic/quic_channel.c:783,1
    - Dst: ossl_qtx_trigger_key_update
      Src: /src/openssl/ssl/quic/quic_channel.c:784,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 777
    functionDepth: 9
    functionLinenumber: 777
    functionLinenumberEnd: 793
    functionName: ch_trigger_txku
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_pn_valid
    - ossl_quic_tx_packetiser_get_next_pn
    - ossl_qtx_trigger_key_update
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK ch_trigger_txku(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_get_largest_acked
      Src: /src/openssl/ssl/quic/quic_channel.c:799,1
    - Dst: ossl_ackm_get_pto_duration
      Src: /src/openssl/ssl/quic/quic_channel.c:800,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_channel.c:812,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:812,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_channel.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 795
    functionDepth: 4
    functionLinenumber: 795
    functionLinenumberEnd: 817
    functionName: txku_in_progress
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_ackm_get_largest_acked
    - get_time
    - ossl_ackm_get_pto_duration
    - ossl_time_add
    - ossl_time_multiply
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK txku_in_progress(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txku_in_progress
      Src: /src/openssl/ssl/quic/quic_channel.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 819
    functionDepth: 5
    functionLinenumber: 819
    functionLinenumberEnd: 826
    functionName: txku_allowed
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - txku_in_progress
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK txku_allowed(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: txku_allowed
      Src: /src/openssl/ssl/quic/quic_channel.c:831,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_channel.c:836,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 828
    functionDepth: 6
    functionLinenumber: 828
    functionLinenumberEnd: 840
    functionName: txku_recommendable
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_time_compare
    - get_time
    - txku_allowed
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK txku_recommendable(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_get_cur_epoch_pkt_count
      Src: /src/openssl/ssl/quic/quic_channel.c:849,1
    - Dst: ossl_qtx_get_max_epoch_pkt_count
      Src: /src/openssl/ssl/quic/quic_channel.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 842
    functionDepth: 3
    functionLinenumber: 842
    functionLinenumberEnd: 857
    functionName: txku_desirable
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_qtx_get_max_epoch_pkt_count
    - ossl_qtx_get_cur_epoch_pkt_count
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK txku_desirable(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: txku_recommendable
      Src: /src/openssl/ssl/quic/quic_channel.c:862,1
    - Dst: txku_desirable
      Src: /src/openssl/ssl/quic/quic_channel.c:862,1
    - Dst: ch_trigger_txku
      Src: /src/openssl/ssl/quic/quic_channel.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 859
    functionDepth: 10
    functionLinenumber: 859
    functionLinenumberEnd: 867
    functionName: ch_maybe_trigger_spontaneous_txku
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - txku_recommendable
    - ch_trigger_txku
    - txku_desirable
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK ch_maybe_trigger_spontaneous_txku(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 888
    functionName: rxku_allowed
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK rxku_allowed(QUIC_CHANNEL *ch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_channel.c:911,1
    - Dst: rxku_allowed
      Src: /src/openssl/ssl/quic/quic_channel.c:913,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:933,1
    - Dst: ossl_ackm_get_pto_duration
      Src: /src/openssl/ssl/quic/quic_channel.c:938,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_channel.c:944,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:944,1
    - Dst: ch_trigger_txku
      Src: /src/openssl/ssl/quic/quic_channel.c:949,1
    - Dst: ossl_quic_tx_packetiser_schedule_ack
      Src: /src/openssl/ssl/quic/quic_channel.c:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pn
    - arg
    argTypes:
    - QUIC_PN
    - void*
    assertStmts:
    - condition: (!ch->rxku_in_progress)
      pos:
        line_end: 910
        line_start: 910
        source_file: /src/openssl/ssl/quic/quic_channel.c
    constantsTouched: []
    func_position:
      end: 967
      start: 900
    functionDepth: 10
    functionLinenumber: 900
    functionLinenumberEnd: 967
    functionName: rxku_detected
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ch_trigger_txku
    - rxku_allowed
    - get_time
    - ossl_ackm_get_pto_duration
    - ossl_time_add
    - ossl_quic_tx_packetiser_schedule_ack
    - assert
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK rxku_detected(QUIC_PN pn, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_channel.c:974,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:974,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:977,1
    - Dst: ossl_qrx_key_update_timeout
      Src: /src/openssl/ssl/quic/quic_channel.c:980,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 983
    functionName: ch_rxku_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_time_infinite
    - ossl_time_compare
    - get_time
    - ossl_qrx_key_update_timeout
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: QUIC_NEEDS_LOCK ch_rxku_tick(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_frame_ack_contains_pn
      Src: /src/openssl/ssl/quic/quic_channel.c:992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ack
    - pn_space
    - arg
    argTypes:
    - OSSL_QUIC_FRAME_ACK*
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 1000
    functionName: ch_on_txp_ack_tx
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_frame_ack_contains_pn
    linkageType: ''
    returnType: QUIC_NEEDS_LOCK
    signature: "QUIC_NEEDS_LOCK ch_on_txp_ack_tx(const OSSL_QUIC_FRAME_ACK *ack, uint32_t
      pn_space,\n                             void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:1012,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_channel.c:1015,1
    - Dst: ossl_quic_sstream_append
      Src: /src/openssl/ssl/quic/quic_channel.c:1018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - buf_len
    - consumed
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1006
    functionDepth: 4
    functionLinenumber: 1006
    functionLinenumberEnd: 1020
    functionName: ch_on_crypto_send
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - ossl_assert
    - ossl_quic_sstream_append
    linkageType: ''
    returnType: int
    signature: "int ch_on_crypto_send(const unsigned char *buf, size_t buf_len,\n
      \                            size_t *consumed, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_rstream_available
      Src: /src/openssl/ssl/quic/quic_channel.c:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rstream
    argTypes:
    - QUIC_RSTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1022
    functionDepth: 2
    functionLinenumber: 1022
    functionLinenumberEnd: 1034
    functionName: crypto_ensure_empty
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_rstream_available
    linkageType: ''
    returnType: int
    signature: int crypto_ensure_empty(QUIC_RSTREAM *rstream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: crypto_ensure_empty
      Src: /src/openssl/ssl/quic/quic_channel.c:1059,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:1059,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1061,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:1067,1
    - Dst: ossl_quic_rstream_get_record
      Src: /src/openssl/ssl/quic/quic_channel.c:1071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bytes_read
    - arg
    argTypes:
    - unsigned char**
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1073
    functionName: ch_on_crypto_recv_record
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_enc_level_to_pn_space
    - ossl_quic_rstream_get_record
    - crypto_ensure_empty
    linkageType: ''
    returnType: int
    signature: "int ch_on_crypto_recv_record(const unsigned char **buf,\n                                    size_t
      *bytes_read, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:1080,1
    - Dst: ossl_statm_get_rtt_info
      Src: /src/openssl/ssl/quic/quic_channel.c:1086,1
    - Dst: ossl_quic_channel_get_statm
      Src: /src/openssl/ssl/quic/quic_channel.c:1086,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_channel.c:1087,1
    - Dst: ossl_quic_rstream_release_record
      Src: /src/openssl/ssl/quic/quic_channel.c:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bytes_read
    - arg
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1075
    functionDepth: 8
    functionLinenumber: 1075
    functionLinenumberEnd: 1092
    functionName: ch_on_crypto_release_record
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - ossl_quic_channel_get_statm
    - ossl_quic_rxfc_on_retire
    - ossl_statm_get_rtt_info
    - ossl_quic_rstream_release_record
    linkageType: ''
    returnType: int
    signature: int ch_on_crypto_release_record(size_t bytes_read, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_provide_secret
      Src: /src/openssl/ssl/quic/quic_channel.c:1136,1
    - Dst: crypto_ensure_empty
      Src: /src/openssl/ssl/quic/quic_channel.c:1156,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:1156,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1158,1
    - Dst: ossl_qrx_provide_secret
      Src: /src/openssl/ssl/quic/quic_channel.c:1164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 7
    argNames:
    - prot_level
    - direction
    - suite_id
    - md
    - secret
    - secret_len
    - arg
    argTypes:
    - uint32_t
    - int
    - uint32_t
    - EVP_MD*
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1094
    functionDepth: 12
    functionLinenumber: 1094
    functionLinenumberEnd: 1174
    functionName: ch_on_handshake_yield_secret
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_enc_level_to_pn_space
    - ossl_qrx_provide_secret
    - ossl_qtx_provide_secret
    - crypto_ensure_empty
    linkageType: ''
    returnType: int
    signature: "int ch_on_handshake_yield_secret(uint32_t prot_level, int direction,\n
      \                                       uint32_t suite_id, EVP_MD *md,\n                                        const
      unsigned char *secret,\n                                        size_t secret_len,\n
      \                                       void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_channel.c:1180,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_channel.c:1183,1
    - Dst: ossl_quic_tx_packetiser_set_validated
      Src: /src/openssl/ssl/quic/quic_channel.c:1191,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1198,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:1205,1
    - Dst: ossl_qrx_allow_1rtt_processing
      Src: /src/openssl/ssl/quic/quic_channel.c:1209,1
    - Dst: ossl_quic_tx_packetiser_notify_handshake_complete
      Src: /src/openssl/ssl/quic/quic_channel.c:1212,1
    - Dst: ossl_quic_channel_schedule_new_token
      Src: /src/openssl/ssl/quic/quic_channel.c:1225,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:1228,1
    - Dst: ossl_quic_channel_on_handshake_confirmed
      Src: /src/openssl/ssl/quic/quic_channel.c:1237,1
    - Dst: ossl_quic_tx_packetiser_schedule_handshake_done
      Src: /src/openssl/ssl/quic/quic_channel.c:1239,1
    - Dst: ch_record_state_transition
      Src: /src/openssl/ssl/quic/quic_channel.c:1242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1176
    functionDepth: 6
    functionLinenumber: 1176
    functionLinenumberEnd: 1244
    functionName: ch_on_handshake_complete
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_assert
    - ossl_quic_tx_packetiser_notify_handshake_complete
    - ch_record_state_transition
    - ossl_quic_tx_packetiser_set_validated
    - ossl_qrx_allow_1rtt_processing
    - OPENSSL_free
    - ossl_quic_channel_schedule_new_token
    - ossl_quic_tx_packetiser_schedule_handshake_done
    - ossl_quic_channel_on_handshake_confirmed
    linkageType: ''
    returnType: int
    signature: int ch_on_handshake_complete(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tls_is_cert_request
      Src: /src/openssl/ssl/quic/quic_channel.c:1257,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1258,1
    - Dst: ossl_quic_tls_has_bad_max_early_data
      Src: /src/openssl/ssl/quic/quic_channel.c:1272,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1273,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - arg
    - alert_code
    argTypes:
    - void*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1284
    functionName: ch_on_handshake_alert
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_tls_has_bad_max_early_data
    - ossl_quic_tls_is_cert_request
    linkageType: ''
    returnType: int
    signature: int ch_on_handshake_alert(void *arg, unsigned char alert_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1298
    functionName: TP_REASON_SERVER_ONLY
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_REASON_SERVER_ONLY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1300
    functionName: TP_REASON_DUP
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_REASON_DUP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1302
    functionName: TP_REASON_MALFORMED
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_REASON_MALFORMED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1304
    functionName: TP_REASON_EXPECTED_VALUE
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_REASON_EXPECTED_VALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: TP_REASON_NOT_RETRY
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_REASON_NOT_RETRY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1308
    functionName: TP_REASON_REQUIRED
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_REASON_REQUIRED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1310
    functionName: TP_REASON_INTERNAL_ERROR
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_REASON_INTERNAL_ERROR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_channel.c:1313,1
    - Dst: ossl_quic_stream_is_server_init
      Src: /src/openssl/ssl/quic/quic_channel.c:1314,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:1317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1318
    functionName: txfc_bump_cwm_bidi
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_is_bidi
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_stream_is_server_init
    linkageType: ''
    returnType: void
    signature: void txfc_bump_cwm_bidi(QUIC_STREAM *s, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_channel.c:1322,1
    - Dst: ossl_quic_stream_is_server_init
      Src: /src/openssl/ssl/quic/quic_channel.c:1323,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:1326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1320
    functionDepth: 1
    functionLinenumber: 1320
    functionLinenumberEnd: 1327
    functionName: txfc_bump_cwm_uni
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_is_bidi
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_stream_is_server_init
    linkageType: ''
    returnType: void
    signature: void txfc_bump_cwm_uni(QUIC_STREAM *s, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_channel.c:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1334
    functionName: do_update
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_update_state
    linkageType: ''
    returnType: void
    signature: void do_update(QUIC_STREAM *s, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1344
    functionName: min_u64_ignore_0
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t min_u64_ignore_0(uint64_t a, uint64_t b)
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/quic/quic_channel.c:1377,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1380,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:1393,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_channel.c:1400,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1401,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_channel.c:1406,1
    - Dst: ossl_quic_wire_peek_transport_param
      Src: /src/openssl/ssl/quic/quic_channel.c:1407,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1413,1
    - Dst: TP_REASON_SERVER_ONLY
      Src: /src/openssl/ssl/quic/quic_channel.c:1418,1
    - Dst: ossl_quic_wire_decode_transport_param_cid
      Src: /src/openssl/ssl/quic/quic_channel.c:1422,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1423,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_channel.c:1429,1
    - Dst: TP_REASON_EXPECTED_VALUE
      Src: /src/openssl/ssl/quic/quic_channel.c:1430,1
    - Dst: TP_REASON_SERVER_ONLY
      Src: /src/openssl/ssl/quic/quic_channel.c:1440,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1445,1
    - Dst: TP_REASON_NOT_RETRY
      Src: /src/openssl/ssl/quic/quic_channel.c:1450,1
    - Dst: ossl_quic_wire_decode_transport_param_cid
      Src: /src/openssl/ssl/quic/quic_channel.c:1454,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1455,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_channel.c:1460,1
    - Dst: TP_REASON_EXPECTED_VALUE
      Src: /src/openssl/ssl/quic/quic_channel.c:1461,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1471,1
    - Dst: ossl_quic_wire_decode_transport_param_cid
      Src: /src/openssl/ssl/quic/quic_channel.c:1475,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1476,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_channel.c:1480,1
    - Dst: TP_REASON_EXPECTED_VALUE
      Src: /src/openssl/ssl/quic/quic_channel.c:1481,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1491,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1495,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1496,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:1500,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1507,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1511,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1512,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1527,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1531,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1532,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_channel.c:1543,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1550,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1554,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1555,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_channel.c:1562,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1569,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1573,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1575,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1586,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1590,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1592,1
    - Dst: ossl_ackm_set_rx_max_ack_delay
      Src: /src/openssl/ssl/quic/quic_channel.c:1597,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/quic/quic_channel.c:1598,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1606,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1610,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1612,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_channel.c:1616,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1624,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1628,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1630,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_channel.c:1634,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1642,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1646,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1647,1
    - Dst: min_u64_ignore_0
      Src: /src/openssl/ssl/quic/quic_channel.c:1653,1
    - Dst: ch_update_idle
      Src: /src/openssl/ssl/quic/quic_channel.c:1657,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1665,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1669,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1671,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1682,1
    - Dst: ossl_quic_wire_decode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1686,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1688,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1698,1
    - Dst: TP_REASON_SERVER_ONLY
      Src: /src/openssl/ssl/quic/quic_channel.c:1707,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_channel.c:1711,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1713,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/ssl/quic/quic_channel.c:1716,1
    - Dst: TP_REASON_INTERNAL_ERROR
      Src: /src/openssl/ssl/quic/quic_channel.c:1718,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1729,1
    - Dst: TP_REASON_SERVER_ONLY
      Src: /src/openssl/ssl/quic/quic_channel.c:1742,1
    - Dst: ossl_quic_wire_decode_transport_param_preferred_addr
      Src: /src/openssl/ssl/quic/quic_channel.c:1751,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1752,1
    - Dst: TP_REASON_DUP
      Src: /src/openssl/ssl/quic/quic_channel.c:1768,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_channel.c:1772,1
    - Dst: TP_REASON_MALFORMED
      Src: /src/openssl/ssl/quic/quic_channel.c:1774,1
    - Dst: ossl_quic_wire_decode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_channel.c:1791,1
    - Dst: TP_REASON_REQUIRED
      Src: /src/openssl/ssl/quic/quic_channel.c:1801,1
    - Dst: TP_REASON_REQUIRED
      Src: /src/openssl/ssl/quic/quic_channel.c:1807,1
    - Dst: TP_REASON_REQUIRED
      Src: /src/openssl/ssl/quic/quic_channel.c:1812,1
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/ssl/quic/quic_channel.c:1820,1
    - Dst: ch_get_qlog
      Src: /src/openssl/ssl/quic/quic_channel.c:1820,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/quic_channel.c:1821,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/quic_channel.c:1824,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/quic_channel.c:1827,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/quic_channel.c:1830,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1833,1
    - Dst: ossl_quic_txfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:1834,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1836,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1839,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1842,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1845,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1848,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1851,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1853,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1855,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1857,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1859,1
    - Dst: QLOG_BIN
      Src: /src/openssl/ssl/quic/quic_channel.c:1861,1
    - Dst: QLOG_BEGIN
      Src: /src/openssl/ssl/quic/quic_channel.c:1864,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1865,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:1866,1
    - Dst: QLOG_BIN
      Src: /src/openssl/ssl/quic/quic_channel.c:1867,1
    - Dst: QLOG_BIN
      Src: /src/openssl/ssl/quic/quic_channel.c:1868,1
    - Dst: QLOG_BIN
      Src: /src/openssl/ssl/quic/quic_channel.c:1869,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/quic_channel.c:1871,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/quic_channel.c:1872,1
    - Dst: QLOG_BOOL
      Src: /src/openssl/ssl/quic/quic_channel.c:1874,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/ssl/quic/quic_channel.c:1875,1
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_channel.c:1884,1
    - Dst: ch_generate_transport_params
      Src: /src/openssl/ssl/quic/quic_channel.c:1887,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1888,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:1896,1
    CyclomaticComplexity: 159
    EdgeCount: 159
    ICount: 405
    argCount: 3
    argNames:
    - params
    - params_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts:
    - condition: (ch->max_local_streams_uni == 0)
      pos:
        line_end: 1633
        line_start: 1633
        source_file: /src/openssl/ssl/quic/quic_channel.c
    - condition: (ch->max_local_streams_bidi == 0)
      pos:
        line_end: 1615
        line_start: 1615
        source_file: /src/openssl/ssl/quic/quic_channel.c
    constantsTouched: []
    func_position:
      end: 1899
      start: 1346
    functionDepth: 5
    functionLinenumber: 1346
    functionLinenumberEnd: 1899
    functionName: ch_on_transport_params
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - TP_REASON_REQUIRED
    - TP_REASON_SERVER_ONLY
    - QLOG_STR
    - min_u64_ignore_0
    - ossl_ms2time
    - ch_generate_transport_params
    - OPENSSL_free
    - QLOG_U64
    - ossl_quic_wire_decode_transport_param_cid
    - QLOG_BIN
    - TP_REASON_EXPECTED_VALUE
    - SSL_CONNECTION_FROM_SSL
    - assert
    - ossl_quic_txfc_bump_cwm
    - TP_REASON_MALFORMED
    - PACKET_buf_init
    - QLOG_BEGIN
    - TP_REASON_DUP
    - QLOG_EVENT_END
    - ossl_quic_channel_raise_protocol_error
    - ossl_ackm_set_rx_max_ack_delay
    - ossl_quic_stream_map_visit
    - TP_REASON_NOT_RETRY
    - ossl_quic_wire_peek_transport_param
    - ossl_quic_wire_decode_transport_param_bytes
    - QLOG_EVENT_BEGIN
    - TP_REASON_INTERNAL_ERROR
    - QLOG_BOOL
    - ossl_quic_wire_decode_transport_param_int
    - ch_get_qlog
    - ch_update_idle
    - ossl_quic_txfc_get_cwm
    - QLOG_CID
    - ossl_quic_conn_id_eq
    - PACKET_remaining
    - QLOG_END
    - ossl_quic_srtm_add
    - ossl_quic_wire_decode_transport_param_preferred_addr
    linkageType: ''
    returnType: int
    signature: "int ch_on_transport_params(const unsigned char *params,\n                                  size_t
      params_len,\n                                  void *arg)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/ssl/quic/quic_channel.c:1932,1
    - Dst: WPACKET_init
      Src: /src/openssl/ssl/quic/quic_channel.c:1935,1
    - Dst: ossl_quic_wire_encode_transport_param_bytes
      Src: /src/openssl/ssl/quic/quic_channel.c:1940,1
    - Dst: ossl_quic_wire_encode_transport_param_cid
      Src: /src/openssl/ssl/quic/quic_channel.c:1945,1
    - Dst: ossl_quic_wire_encode_transport_param_cid
      Src: /src/openssl/ssl/quic/quic_channel.c:1949,1
    - Dst: ossl_quic_wire_encode_transport_param_cid
      Src: /src/openssl/ssl/quic/quic_channel.c:1953,1
    - Dst: ossl_quic_wire_encode_transport_param_cid
      Src: /src/openssl/ssl/quic/quic_channel.c:1958,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1963,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1967,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1971,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1976,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1980,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:1981,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1985,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1989,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1993,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:1997,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:1998,1
    - Dst: ossl_quic_wire_encode_transport_param_int
      Src: /src/openssl/ssl/quic/quic_channel.c:2001,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:2002,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_channel.c:2005,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_channel.c:2010,1
    - Dst: ossl_quic_tls_set_transport_params
      Src: /src/openssl/ssl/quic/quic_channel.c:2016,1
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/ssl/quic/quic_channel.c:2021,1
    - Dst: ch_get_qlog
      Src: /src/openssl/ssl/quic/quic_channel.c:2021,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/quic_channel.c:2022,1
    - Dst: QLOG_BOOL
      Src: /src/openssl/ssl/quic/quic_channel.c:2023,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/quic_channel.c:2025,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/quic_channel.c:2026,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/quic_channel.c:2028,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2030,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2031,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2032,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2033,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2034,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:2034,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2035,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2037,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2039,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2041,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:2042,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/quic_channel.c:2043,1
    - Dst: ossl_quic_rxfc_get_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:2044,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/ssl/quic/quic_channel.c:2045,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_channel.c:2053,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_channel.c:2054,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 103
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 1906
    functionDepth: 5
    functionLinenumber: 1906
    functionLinenumberEnd: 2056
    functionName: ch_generate_transport_params
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - WPACKET_finish
    - ossl_quic_rxfc_get_cwm
    - QLOG_CID
    - WPACKET_cleanup
    - BUF_MEM_free
    - QLOG_STR
    - QLOG_EVENT_BEGIN
    - QLOG_BOOL
    - ossl_quic_wire_encode_transport_param_int
    - QLOG_EVENT_END
    - WPACKET_get_total_written
    - ch_get_qlog
    - QLOG_U64
    - ossl_quic_wire_encode_transport_param_cid
    - ossl_quic_tls_set_transport_params
    - ossl_quic_wire_encode_transport_param_bytes
    - BUF_MEM_new
    - WPACKET_init
    linkageType: ''
    returnType: int
    signature: int ch_generate_transport_params(QUIC_CHANNEL *ch)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_channel.c:2091,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:2095,1
    - Dst: ossl_quic_channel_is_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:2103,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:2104,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_channel.c:2106,1
    - Dst: ch_on_terminating_timeout
      Src: /src/openssl/ssl/quic/quic_channel.c:2107,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:2111,1
    - Dst: ch_rxku_tick
      Src: /src/openssl/ssl/quic/quic_channel.c:2118,1
    - Dst: ch_rx
      Src: /src/openssl/ssl/quic/quic_channel.c:2124,1
    - Dst: ch_tick_tls
      Src: /src/openssl/ssl/quic/quic_channel.c:2131,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:2150,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_channel.c:2151,1
    - Dst: ch_on_idle_timeout
      Src: /src/openssl/ssl/quic/quic_channel.c:2157,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:2162,1
    - Dst: ossl_ackm_get_loss_detection_deadline
      Src: /src/openssl/ssl/quic/quic_channel.c:2167,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_channel.c:2168,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_channel.c:2169,1
    - Dst: ossl_ackm_on_timeout
      Src: /src/openssl/ssl/quic/quic_channel.c:2170,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/quic/quic_channel.c:2173,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:2174,1
    - Dst: ossl_quic_tx_packetiser_schedule_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_channel.c:2176,1
    - Dst: ch_update_ping_deadline
      Src: /src/openssl/ssl/quic/quic_channel.c:2185,1
    - Dst: ch_tx
      Src: /src/openssl/ssl/quic/quic_channel.c:2189,1
    - Dst: ossl_quic_stream_map_gc
      Src: /src/openssl/ssl/quic/quic_channel.c:2192,1
    - Dst: ch_determine_next_tick_deadline
      Src: /src/openssl/ssl/quic/quic_channel.c:2196,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_channel.c:2203,1
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_channel.c:2207,1
    - Dst: ossl_qtx_get_queue_len_datagrams
      Src: /src/openssl/ssl/quic/quic_channel.c:2208,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - ch
    - res
    - flags
    argTypes:
    - QUIC_CHANNEL*
    - QUIC_TICK_RESULT*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2068
    functionDepth: 6
    functionLinenumber: 2068
    functionLinenumberEnd: 2211
    functionName: ossl_quic_channel_subtick
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_on_terminating_timeout
    - ossl_quic_channel_is_terminated
    - ch_tick_tls
    - ossl_time_is_zero
    - ossl_quic_stream_map_gc
    - ch_rx
    - ch_on_idle_timeout
    - ossl_time_infinite
    - ch_determine_next_tick_deadline
    - ch_tx
    - ossl_quic_enc_level_to_pn_space
    - ossl_ackm_get_loss_detection_deadline
    - get_time
    - ossl_quic_tx_packetiser_schedule_ack_eliciting
    - ch_update_ping_deadline
    - ch_rxku_tick
    - ossl_quic_channel_is_terminating
    - ossl_qtx_get_queue_len_datagrams
    - ossl_time_compare
    - ossl_ackm_on_timeout
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_subtick(QUIC_CHANNEL *ch, QUIC_TICK_RESULT
      *res,\n                               uint32_t flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tls_tick
      Src: /src/openssl/ssl/quic/quic_channel.c:2223,1
    - Dst: ossl_quic_tls_get_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2225,1
    - Dst: ossl_quic_channel_raise_protocol_error_state
      Src: /src/openssl/ssl/quic/quic_channel.c:2227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ch
    - channel_only
    - notify_other_threads
    argTypes:
    - QUIC_CHANNEL*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2213
    functionDepth: 9
    functionLinenumber: 2213
    functionLinenumberEnd: 2236
    functionName: ch_tick_tls
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tls_get_error
    - ossl_quic_tls_tick
    - ossl_quic_channel_raise_protocol_error_state
    linkageType: ''
    returnType: int
    signature: int ch_tick_tls(QUIC_CHANNEL *ch, int channel_only, int *notify_other_threads)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrx_get_max_forged_pkt_count
      Src: /src/openssl/ssl/quic/quic_channel.c:2258,1
    - Dst: ossl_qrx_get_cur_forged_pkt_count
      Src: /src/openssl/ssl/quic/quic_channel.c:2263,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2239
    functionDepth: 1
    functionLinenumber: 2239
    functionLinenumberEnd: 2268
    functionName: ch_rx_check_forged_pkt_limit
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_qrx_get_max_forged_pkt_count
    - ossl_qrx_get_cur_forged_pkt_count
    linkageType: ''
    returnType: void
    signature: void ch_rx_check_forged_pkt_limit(QUIC_CHANNEL *ch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_closing
      Src: /src/openssl/ssl/quic/quic_channel.c:2274,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_channel.c:2284,1
    - Dst: ossl_qrx_read_pkt
      Src: /src/openssl/ssl/quic/quic_channel.c:2286,1
    - Dst: ossl_quic_tx_packetiser_record_received_closing_bytes
      Src: /src/openssl/ssl/quic/quic_channel.c:2291,1
    - Dst: ch_update_idle
      Src: /src/openssl/ssl/quic/quic_channel.c:2295,1
    - Dst: ch_update_ping_deadline
      Src: /src/openssl/ssl/quic/quic_channel.c:2296,1
    - Dst: ch_rx_handle_packet
      Src: /src/openssl/ssl/quic/quic_channel.c:2299,1
    - Dst: ossl_qrx_pkt_release
      Src: /src/openssl/ssl/quic/quic_channel.c:2306,1
    - Dst: ch_rx_check_forged_pkt_limit
      Src: /src/openssl/ssl/quic/quic_channel.c:2313,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - ch
    - channel_only
    - notify_other_threads
    argTypes:
    - QUIC_CHANNEL*
    - int
    - int*
    assertStmts:
    - condition: (ch->qrx_pkt == NULL)
      pos:
        line_end: 2283
        line_start: 2283
        source_file: /src/openssl/ssl/quic/quic_channel.c
    constantsTouched: []
    func_position:
      end: 2326
      start: 2271
    functionDepth: 2
    functionLinenumber: 2271
    functionLinenumberEnd: 2326
    functionName: ch_rx
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_rx_check_forged_pkt_limit
    - ossl_quic_tx_packetiser_record_received_closing_bytes
    - assert
    - ossl_qrx_pkt_release
    - ch_update_ping_deadline
    - ossl_qrx_read_pkt
    - ch_update_idle
    - ch_rx_handle_packet
    - ossl_quic_channel_is_closing
    linkageType: ''
    returnType: int
    signature: int ch_rx(QUIC_CHANNEL *ch, int channel_only, int *notify_other_threads)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_channel.c:2330,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_channel.c:2330,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_channel.c:2333,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_channel.c:2335,1
    - Dst: memcmp
      Src: /src/openssl/ssl/quic/quic_channel.c:2341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - BIO_ADDR*
    - BIO_ADDR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2351
    functionName: bio_addr_eq
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - BIO_ADDR_family
    - memcmp
    linkageType: ''
    returnType: int
    signature: int bio_addr_eq(const BIO_ADDR *a, const BIO_ADDR *b)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_channel.c:2362,1
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_channel.c:2369,1
    - Dst: ossl_quic_pkt_type_is_encrypted
      Src: /src/openssl/ssl/quic/quic_channel.c:2372,1
    - Dst: ossl_quic_tx_packetiser_set_cur_dcid
      Src: /src/openssl/ssl/quic/quic_channel.c:2381,1
    - Dst: ossl_quic_pkt_type_to_enc_level
      Src: /src/openssl/ssl/quic/quic_channel.c:2384,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_channel.c:2403,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_channel.c:2405,1
    - Dst: bio_addr_eq
      Src: /src/openssl/ssl/quic/quic_channel.c:2408,1
    - Dst: ossl_quic_pkt_type_has_scid
      Src: /src/openssl/ssl/quic/quic_channel.c:2413,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_channel.c:2419,1
    - Dst: ossl_quic_pkt_type_has_version
      Src: /src/openssl/ssl/quic/quic_channel.c:2424,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_channel.c:2474,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_channel.c:2478,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/quic/quic_channel.c:2483,1
    - Dst: ossl_quic_tx_packetiser_set_protocol_version
      Src: /src/openssl/ssl/quic/quic_channel.c:2491,1
    - Dst: ch_restart
      Src: /src/openssl/ssl/quic/quic_channel.c:2496,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2497,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2508,1
    - Dst: ossl_quic_pkt_type_is_encrypted
      Src: /src/openssl/ssl/quic/quic_channel.c:2520,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2522,1
    - Dst: ossl_qlog_event_transport_packet_received
      Src: /src/openssl/ssl/quic/quic_channel.c:2529,1
    - Dst: ch_get_qlog
      Src: /src/openssl/ssl/quic/quic_channel.c:2529,1
    - Dst: ossl_quic_validate_retry_integrity_tag
      Src: /src/openssl/ssl/quic/quic_channel.c:2564,1
    - Dst: ch_retry
      Src: /src/openssl/ssl/quic/quic_channel.c:2571,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2574,1
    - Dst: ch_discard_el
      Src: /src/openssl/ssl/quic/quic_channel.c:2598,1
    - Dst: ossl_qrx_get_key_epoch
      Src: /src/openssl/ssl/quic/quic_channel.c:2603,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2612,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2637,1
    - Dst: ossl_quic_handle_frames
      Src: /src/openssl/ssl/quic/quic_channel.c:2643,1
    - Dst: ch_tick_tls
      Src: /src/openssl/ssl/quic/quic_channel.c:2646,1
    - Dst: ch_rx_handle_version_neg
      Src: /src/openssl/ssl/quic/quic_channel.c:2656,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_channel.c:2661,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 94
    argCount: 2
    argNames:
    - ch
    - channel_only
    argTypes:
    - QUIC_CHANNEL*
    - int
    assertStmts:
    - condition: (ch->qrx_pkt != NULL)
      pos:
        line_end: 2361
        line_start: 2361
        source_file: /src/openssl/ssl/quic/quic_channel.c
    - condition: (0)
      pos:
        line_end: 2660
        line_start: 2660
        source_file: /src/openssl/ssl/quic/quic_channel.c
    constantsTouched: []
    func_position:
      end: 2665
      start: 2354
    functionDepth: 10
    functionLinenumber: 2354
    functionLinenumberEnd: 2665
    functionName: ch_rx_handle_packet
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_validate_retry_integrity_tag
    - ch_tick_tls
    - ch_restart
    - assert
    - PACKET_buf_init
    - ossl_quic_tx_packetiser_set_protocol_version
    - ossl_quic_channel_is_active
    - ossl_quic_handle_frames
    - ossl_quic_pkt_type_is_encrypted
    - ossl_quic_pkt_type_has_scid
    - ossl_quic_channel_raise_protocol_error
    - PACKET_get_net_4
    - ch_get_qlog
    - bio_addr_eq
    - ch_rx_handle_version_neg
    - ossl_quic_tx_packetiser_set_cur_dcid
    - BIO_ADDR_family
    - ch_discard_el
    - ossl_quic_conn_id_eq
    - ossl_qrx_get_key_epoch
    - ossl_quic_pkt_type_to_enc_level
    - PACKET_remaining
    - ch_retry
    - ossl_quic_pkt_type_has_version
    - ossl_qlog_event_transport_packet_received
    linkageType: ''
    returnType: void
    signature: void ch_rx_handle_packet(QUIC_CHANNEL *ch, int channel_only)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_channel.c:2678,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_channel.c:2681,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/quic/quic_channel.c:2682,1
    - Dst: ch_raise_version_neg_failure
      Src: /src/openssl/ssl/quic/quic_channel.c:2690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ch
    - pkt
    argTypes:
    - QUIC_CHANNEL*
    - OSSL_QRX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2667
    functionDepth: 3
    functionLinenumber: 2667
    functionLinenumberEnd: 2691
    functionName: ch_rx_handle_version_neg
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - PACKET_remaining
    - PACKET_buf_init
    - PACKET_get_net_4
    - ch_raise_version_neg_failure
    linkageType: ''
    returnType: void
    signature: void ch_rx_handle_version_neg(QUIC_CHANNEL *ch, OSSL_QRX_PKT *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/quic/quic_channel.c:2699,1
    - Dst: ch_start_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:2705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2693
    functionDepth: 1
    functionLinenumber: 2693
    functionLinenumberEnd: 2706
    functionName: ch_raise_version_neg_failure
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_start_terminating
    - strlen
    linkageType: ''
    returnType: void
    signature: void ch_raise_version_neg_failure(QUIC_CHANNEL *ch)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_draining
      Src: /src/openssl/ssl/quic/quic_channel.c:2721,1
    - Dst: ossl_quic_channel_is_closing
      Src: /src/openssl/ssl/quic/quic_channel.c:2724,1
    - Dst: ch_maybe_trigger_spontaneous_txku
      Src: /src/openssl/ssl/quic/quic_channel.c:2742,1
    - Dst: ossl_quic_tx_packetiser_generate
      Src: /src/openssl/ssl/quic/quic_channel.c:2755,1
    - Dst: ch_update_idle
      Src: /src/openssl/ssl/quic/quic_channel.c:2767,1
    - Dst: ch_discard_el
      Src: /src/openssl/ssl/quic/quic_channel.c:2776,1
    - Dst: ch_update_ping_deadline
      Src: /src/openssl/ssl/quic/quic_channel.c:2781,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2797,1
    - Dst: ossl_qtx_flush_net
      Src: /src/openssl/ssl/quic/quic_channel.c:2805,1
    - Dst: ossl_quic_port_raise_net_error
      Src: /src/openssl/ssl/quic/quic_channel.c:2814,1
    - Dst: ossl_qtx_get_queue_len_datagrams
      Src: /src/openssl/ssl/quic/quic_channel.c:2823,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 2
    argNames:
    - ch
    - notify_other_threads
    argTypes:
    - QUIC_CHANNEL*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2709
    functionDepth: 11
    functionLinenumber: 2709
    functionLinenumberEnd: 2827
    functionName: ch_tx
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ch_discard_el
    - ossl_quic_port_raise_net_error
    - ossl_qtx_flush_net
    - ossl_qtx_get_queue_len_datagrams
    - ossl_quic_channel_is_draining
    - ch_maybe_trigger_spontaneous_txku
    - ch_update_ping_deadline
    - ch_update_idle
    - ossl_quic_channel_is_closing
    - ossl_quic_tx_packetiser_generate
    linkageType: ''
    returnType: int
    signature: int ch_tx(QUIC_CHANNEL *ch, int *notify_other_threads)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_terminated
      Src: /src/openssl/ssl/quic/quic_channel.c:2835,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:2836,1
    - Dst: ossl_ackm_get_loss_detection_deadline
      Src: /src/openssl/ssl/quic/quic_channel.c:2838,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_channel.c:2839,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:2840,1
    - Dst: ossl_qtx_is_enc_level_provisioned
      Src: /src/openssl/ssl/quic/quic_channel.c:2847,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_channel.c:2848,1
    - Dst: ossl_ackm_get_ack_deadline
      Src: /src/openssl/ssl/quic/quic_channel.c:2849,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:2850,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:2858,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_channel.c:2859,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_channel.c:2862,1
    - Dst: ossl_quic_tx_packetiser_get_deadline
      Src: /src/openssl/ssl/quic/quic_channel.c:2863,1
    - Dst: ossl_quic_channel_is_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:2866,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_channel.c:2867,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:2869,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_channel.c:2870,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_channel.c:2875,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2830
    functionDepth: 3
    functionLinenumber: 2830
    functionLinenumberEnd: 2878
    functionName: ch_determine_next_tick_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - ossl_time_min
    - ossl_quic_tx_packetiser_get_deadline
    - ossl_time_infinite
    - ossl_quic_channel_is_terminating
    - ossl_time_is_infinite
    - ossl_ackm_get_loss_detection_deadline
    - ossl_qtx_is_enc_level_provisioned
    - ossl_quic_channel_is_terminated
    - ossl_time_is_zero
    - ossl_ackm_get_ack_deadline
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ch_determine_next_tick_deadline(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qlog_event_connectivity_connection_state_updated
      Src: /src/openssl/ssl/quic/quic_channel.c:2895,1
    - Dst: ch_get_qlog
      Src: /src/openssl/ssl/quic/quic_channel.c:2895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ch
    - new_state
    argTypes:
    - QUIC_CHANNEL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2889
    functionDepth: 5
    functionLinenumber: 2889
    functionLinenumberEnd: 2900
    functionName: ch_record_state_transition
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_qlog_event_connectivity_connection_state_updated
    - ch_get_qlog
    linkageType: ''
    returnType: void
    signature: void ch_record_state_transition(QUIC_CHANNEL *ch, uint32_t new_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_free_peer_token
      Src: /src/openssl/ssl/quic/quic_channel.c:2905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - token_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2902
    functionDepth: 2
    functionLinenumber: 2902
    functionLinenumberEnd: 2906
    functionName: free_peer_token
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 5
    functionsReached:
    - ossl_quic_free_peer_token
    linkageType: ''
    returnType: void
    signature: "void free_peer_token(const unsigned char *token,\n                            size_t
      token_len, void *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_tx_packetiser_set_peer
      Src: /src/openssl/ssl/quic/quic_channel.c:2924,1
    - Dst: ossl_quic_get_peer_token
      Src: /src/openssl/ssl/quic/quic_channel.c:2931,1
    - Dst: ossl_quic_tx_packetiser_set_initial_token
      Src: /src/openssl/ssl/quic/quic_channel.c:2934,1
    - Dst: free_peer_token
      Src: /src/openssl/ssl/quic/quic_channel.c:2938,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/ssl/quic/quic_channel.c:2941,1
    - Dst: ch_generate_transport_params
      Src: /src/openssl/ssl/quic/quic_channel.c:2954,1
    - Dst: ch_record_state_transition
      Src: /src/openssl/ssl/quic/quic_channel.c:2958,1
    - Dst: ossl_qlog_event_connectivity_connection_started
      Src: /src/openssl/ssl/quic/quic_channel.c:2961,1
    - Dst: ch_get_qlog
      Src: /src/openssl/ssl/quic/quic_channel.c:2961,1
    - Dst: ch_tick_tls
      Src: /src/openssl/ssl/quic/quic_channel.c:2965,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_channel.c:2968,1
    - Dst: ossl_quic_port_get0_reactor
      Src: /src/openssl/ssl/quic/quic_channel.c:2968,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2908
    functionDepth: 11
    functionLinenumber: 2908
    functionLinenumberEnd: 2970
    functionName: ossl_quic_channel_start
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tx_packetiser_set_initial_token
    - ossl_quic_get_peer_token
    - ossl_qlog_event_connectivity_connection_started
    - ossl_quic_port_get0_reactor
    - free_peer_token
    - ossl_quic_tx_packetiser_set_peer
    - ch_generate_transport_params
    - ossl_quic_reactor_tick
    - ch_tick_tls
    - ch_get_qlog
    - ch_record_state_transition
    - ossl_quic_provide_initial_secret
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_start(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:2974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - token
    - token_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 2975
    functionName: free_token
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_token(const unsigned char *token, size_t token_len, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_term_any
      Src: /src/openssl/ssl/quic/quic_channel.c:2983,1
    - Dst: strlen
      Src: /src/openssl/ssl/quic/quic_channel.c:2989,1
    - Dst: ch_start_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:2990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ch
    - app_error_code
    - app_reason
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2978
    functionDepth: 3
    functionLinenumber: 2978
    functionLinenumberEnd: 2991
    functionName: ossl_quic_channel_local_close
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ch_start_terminating
    - strlen
    - ossl_quic_channel_is_term_any
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_local_close(QUIC_CHANNEL *ch, uint64_t app_error_code,\n
      \                                  const char *app_reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_ackm_mark_packet_pseudo_lost
      Src: /src/openssl/ssl/quic/quic_channel.c:3008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 3002
    functionDepth: 5
    functionLinenumber: 3002
    functionLinenumberEnd: 3010
    functionName: ch_restart
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_ackm_mark_packet_pseudo_lost
    linkageType: ''
    returnType: int
    signature: int ch_restart(QUIC_CHANNEL *ch)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_channel.c:3026,1
    - Dst: ossl_quic_tx_packetiser_set_cur_dcid
      Src: /src/openssl/ssl/quic/quic_channel.c:3030,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/quic/quic_channel.c:3037,1
    - Dst: ossl_quic_tx_packetiser_set_initial_token
      Src: /src/openssl/ssl/quic/quic_channel.c:3040,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:3047,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:3049,1
    - Dst: ossl_ackm_mark_packet_pseudo_lost
      Src: /src/openssl/ssl/quic/quic_channel.c:3073,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/ssl/quic/quic_channel.c:3081,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - ch
    - retry_token
    - retry_token_len
    - retry_scid
    - drop_later_pn
    argTypes:
    - QUIC_CHANNEL*
    - unsigned char*
    - size_t
    - QUIC_CONN_ID*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3013
    functionDepth: 11
    functionLinenumber: 3013
    functionLinenumberEnd: 3089
    functionName: ch_retry
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_tx_packetiser_set_initial_token
    - ossl_quic_tx_packetiser_set_cur_dcid
    - ossl_quic_conn_id_eq
    - ossl_ackm_mark_packet_pseudo_lost
    - OPENSSL_memdup
    - OPENSSL_free
    - ossl_quic_provide_initial_secret
    linkageType: ''
    returnType: int
    signature: "int ch_retry(QUIC_CHANNEL *ch,\n                    const unsigned
      char *retry_token,\n                    size_t retry_token_len,\n                    const
      QUIC_CONN_ID *retry_scid,\n                    int drop_later_pn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_channel.c:3095,1
    - Dst: ossl_quic_tx_packetiser_discard_enc_level
      Src: /src/openssl/ssl/quic/quic_channel.c:3103,1
    - Dst: ossl_qrx_discard_enc_level
      Src: /src/openssl/ssl/quic/quic_channel.c:3104,1
    - Dst: ossl_qtx_discard_enc_level
      Src: /src/openssl/ssl/quic/quic_channel.c:3105,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:3108,1
    - Dst: ossl_ackm_on_pkt_space_discarded
      Src: /src/openssl/ssl/quic/quic_channel.c:3110,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_channel.c:3113,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_channel.c:3114,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/ssl/quic/quic_channel.c:3118,1
    - Dst: ossl_quic_rstream_free
      Src: /src/openssl/ssl/quic/quic_channel.c:3121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ch
    - enc_level
    argTypes:
    - QUIC_CHANNEL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 3092
    functionDepth: 6
    functionLinenumber: 3092
    functionLinenumberEnd: 3127
    functionName: ch_discard_el
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_assert
    - ossl_quic_enc_level_to_pn_space
    - ossl_ackm_on_pkt_space_discarded
    - ossl_quic_tx_packetiser_discard_enc_level
    - ossl_quic_rstream_free
    - ossl_qrx_discard_enc_level
    - ossl_quic_sstream_free
    - ossl_qtx_discard_enc_level
    linkageType: ''
    returnType: int
    signature: "int ch_discard_el(QUIC_CHANNEL *ch,\n                         uint32_t
      enc_level)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:3140,1
    - Dst: ch_discard_el
      Src: /src/openssl/ssl/quic/quic_channel.c:3147,1
    - Dst: ch_record_state_transition
      Src: /src/openssl/ssl/quic/quic_channel.c:3149,1
    - Dst: ossl_ackm_on_handshake_confirmed
      Src: /src/openssl/ssl/quic/quic_channel.c:3150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3130
    functionDepth: 7
    functionLinenumber: 3130
    functionLinenumberEnd: 3152
    functionName: ossl_quic_channel_on_handshake_confirmed
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ch_discard_el
    - ch_record_state_transition
    - ossl_ackm_on_handshake_confirmed
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_on_handshake_confirmed(QUIC_CHANNEL *ch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/quic/quic_channel.c:3224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - QUIC_TERMINATE_CAUSE*
    - QUIC_TERMINATE_CAUSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3231
    functionName: copy_tcause
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: "void copy_tcause(QUIC_TERMINATE_CAUSE *dst,\n                        const
      QUIC_TERMINATE_CAUSE *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/quic/quic_channel.c:3241,1
    - Dst: copy_tcause
      Src: /src/openssl/ssl/quic/quic_channel.c:3242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ch
    - app_error_code
    - app_reason
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3233
    functionDepth: 1
    functionLinenumber: 3233
    functionLinenumberEnd: 3243
    functionName: ossl_quic_channel_set_tcause
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - copy_tcause
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_set_tcause(QUIC_CHANNEL *ch, uint64_t app_error_code,\n
      \                                 const char *app_reason)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: copy_tcause
      Src: /src/openssl/ssl/quic/quic_channel.c:3256,1
    - Dst: ch_on_terminating_timeout
      Src: /src/openssl/ssl/quic/quic_channel.c:3257,1
    - Dst: copy_tcause
      Src: /src/openssl/ssl/quic/quic_channel.c:3261,1
    - Dst: ossl_qlog_event_connectivity_connection_closed
      Src: /src/openssl/ssl/quic/quic_channel.c:3263,1
    - Dst: ch_get_qlog
      Src: /src/openssl/ssl/quic/quic_channel.c:3263,1
    - Dst: ossl_quic_channel_notify_flush_done
      Src: /src/openssl/ssl/quic/quic_channel.c:3266,1
    - Dst: ch_on_terminating_timeout
      Src: /src/openssl/ssl/quic/quic_channel.c:3268,1
    - Dst: ch_on_terminating_timeout
      Src: /src/openssl/ssl/quic/quic_channel.c:3274,1
    - Dst: ch_record_state_transition
      Src: /src/openssl/ssl/quic/quic_channel.c:3282,1
    - Dst: ch_on_terminating_timeout
      Src: /src/openssl/ssl/quic/quic_channel.c:3292,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - ch
    - tcause
    - force_immediate
    argTypes:
    - QUIC_CHANNEL*
    - QUIC_TERMINATE_CAUSE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3245
    functionDepth: 6
    functionLinenumber: 3245
    functionLinenumberEnd: 3300
    functionName: ch_start_terminating
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_qlog_event_connectivity_connection_closed
    - ch_on_terminating_timeout
    - ossl_quic_channel_notify_flush_done
    - ch_get_qlog
    - copy_tcause
    - ch_record_state_transition
    linkageType: ''
    returnType: void
    signature: "void ch_start_terminating(QUIC_CHANNEL *ch,\n                                 const
      QUIC_TERMINATE_CAUSE *tcause,\n                                 int force_immediate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_channel.c:3308,1
    - Dst: ch_start_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:3317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ch
    - f
    argTypes:
    - QUIC_CHANNEL*
    - OSSL_QUIC_FRAME_CONN_CLOSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3303
    functionDepth: 7
    functionLinenumber: 3303
    functionLinenumberEnd: 3318
    functionName: ossl_quic_channel_on_remote_conn_close
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_start_terminating
    - ossl_quic_channel_is_active
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_on_remote_conn_close(QUIC_CHANNEL *ch,\n                                            OSSL_QUIC_FRAME_CONN_CLOSE
      *f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_channel.c:3322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buf_len
    - arg
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3320
    functionDepth: 0
    functionLinenumber: 3320
    functionLinenumberEnd: 3323
    functionName: free_frame_data
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void free_frame_data(unsigned char *buf, size_t buf_len, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_srtm_remove
      Src: /src/openssl/ssl/quic/quic_channel.c:3331,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/ssl/quic/quic_channel.c:3333,1
    - Dst: WPACKET_init
      Src: /src/openssl/ssl/quic/quic_channel.c:3336,1
    - Dst: ossl_quic_wire_encode_frame_retire_conn_id
      Src: /src/openssl/ssl/quic/quic_channel.c:3339,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/quic/quic_channel.c:3340,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/quic/quic_channel.c:3344,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/quic/quic_channel.c:3345,1
    - Dst: ossl_quic_cfq_add_frame
      Src: /src/openssl/ssl/quic/quic_channel.c:3348,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_channel.c:3355,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:3359,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/quic/quic_channel.c:3363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - ch
    - seq_num
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3325
    functionDepth: 5
    functionLinenumber: 3325
    functionLinenumberEnd: 3365
    functionName: ch_enqueue_retire_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_wire_encode_frame_retire_conn_id
    - WPACKET_finish
    - BUF_MEM_free
    - WPACKET_cleanup
    - ossl_quic_srtm_remove
    - WPACKET_get_total_written
    - BUF_MEM_new
    - ossl_quic_cfq_add_frame
    - WPACKET_init
    linkageType: ''
    returnType: int
    signature: int ch_enqueue_retire_conn_id(QUIC_CHANNEL *ch, uint64_t seq_num)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_is_active
      Src: /src/openssl/ssl/quic/quic_channel.c:3373,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:3379,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:3403,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:3426,1
    - Dst: ossl_quic_srtm_add
      Src: /src/openssl/ssl/quic/quic_channel.c:3436,1
    - Dst: ossl_quic_channel_raise_protocol_error
      Src: /src/openssl/ssl/quic/quic_channel.c:3438,1
    - Dst: ossl_quic_tx_packetiser_set_cur_dcid
      Src: /src/openssl/ssl/quic/quic_channel.c:3447,1
    - Dst: ch_enqueue_retire_conn_id
      Src: /src/openssl/ssl/quic/quic_channel.c:3471,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - ch
    - f
    argTypes:
    - QUIC_CHANNEL*
    - OSSL_QUIC_FRAME_NEW_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3367
    functionDepth: 6
    functionLinenumber: 3367
    functionLinenumberEnd: 3475
    functionName: ossl_quic_channel_on_new_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_raise_protocol_error
    - ossl_quic_tx_packetiser_set_cur_dcid
    - ossl_quic_channel_is_active
    - ch_enqueue_retire_conn_id
    - ossl_quic_srtm_add
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_on_new_conn_id(QUIC_CHANNEL *ch,\n                                      OSSL_QUIC_FRAME_NEW_CONN_ID
      *f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_ERR_STATE_new
      Src: /src/openssl/ssl/quic/quic_channel.c:3480,1
    - Dst: OSSL_ERR_STATE_save
      Src: /src/openssl/ssl/quic/quic_channel.c:3485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3477
    functionDepth: 5
    functionLinenumber: 3477
    functionLinenumberEnd: 3486
    functionName: ch_save_err_state
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - OSSL_ERR_STATE_new
    - OSSL_ERR_STATE_save
    linkageType: ''
    returnType: void
    signature: void ch_save_err_state(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrx_inject_urxe
      Src: /src/openssl/ssl/quic/quic_channel.c:3490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - e
    argTypes:
    - QUIC_CHANNEL*
    - QUIC_URXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3488
    functionDepth: 1
    functionLinenumber: 3488
    functionLinenumberEnd: 3491
    functionName: ossl_quic_channel_inject
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_qrx_inject_urxe
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_inject(QUIC_CHANNEL *ch, QUIC_URXE *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrx_inject_pkt
      Src: /src/openssl/ssl/quic/quic_channel.c:3495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - qpkt
    argTypes:
    - QUIC_CHANNEL*
    - OSSL_QRX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3496
      start: 3493
    functionDepth: 1
    functionLinenumber: 3493
    functionLinenumberEnd: 3496
    functionName: ossl_quic_channel_inject_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_qrx_inject_pkt
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_inject_pkt(QUIC_CHANNEL *ch, OSSL_QRX_PKT *qpkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ch_start_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:3504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3498
    functionDepth: 7
    functionLinenumber: 3498
    functionLinenumberEnd: 3505
    functionName: ossl_quic_channel_on_stateless_reset
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_start_terminating
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_on_stateless_reset(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/openssl/ssl/quic/quic_channel.c:3518,1
    - Dst: ch_start_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:3524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3507
    functionDepth: 7
    functionLinenumber: 3507
    functionLinenumberEnd: 3525
    functionName: ossl_quic_channel_raise_net_error
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_start_terminating
    - strlen
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_raise_net_error(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3527
    functionDepth: 0
    functionLinenumber: 3527
    functionLinenumberEnd: 3530
    functionName: ossl_quic_channel_net_error
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_net_error(QUIC_CHANNEL *ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_port_is_running
      Src: /src/openssl/ssl/quic/quic_channel.c:3537,1
    - Dst: ossl_quic_port_restore_err_state
      Src: /src/openssl/ssl/quic/quic_channel.c:3538,1
    - Dst: OSSL_ERR_STATE_restore
      Src: /src/openssl/ssl/quic/quic_channel.c:3540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3532
    functionDepth: 6
    functionLinenumber: 3532
    functionLinenumberEnd: 3541
    functionName: ossl_quic_channel_restore_err_state
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_quic_port_restore_err_state
    - OSSL_ERR_STATE_restore
    - ossl_quic_port_is_running
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_restore_err_state(QUIC_CHANNEL *ch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_err_to_string
      Src: /src/openssl/ssl/quic/quic_channel.c:3555,1
    - Dst: OSSL_ERR_STATE_restore
      Src: /src/openssl/ssl/quic/quic_channel.c:3575,1
    - Dst: ossl_quic_frame_type_to_string
      Src: /src/openssl/ssl/quic/quic_channel.c:3578,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/quic/quic_channel.c:3585,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/quic/quic_channel.c:3594,1
    - Dst: ERR_set_debug
      Src: /src/openssl/ssl/quic/quic_channel.c:3602,1
    - Dst: ch_save_err_state
      Src: /src/openssl/ssl/quic/quic_channel.c:3604,1
    - Dst: strlen
      Src: /src/openssl/ssl/quic/quic_channel.c:3609,1
    - Dst: ch_start_terminating
      Src: /src/openssl/ssl/quic/quic_channel.c:3612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 8
    argNames:
    - ch
    - error_code
    - frame_type
    - reason
    - err_state
    - src_file
    - src_line
    - src_func
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    - uint64_t
    - char*
    - ERR_STATE*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3543
    functionDepth: 7
    functionLinenumber: 3543
    functionLinenumberEnd: 3613
    functionName: ossl_quic_channel_raise_protocol_error_loc
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ERR_set_debug
    - ossl_quic_err_to_string
    - OSSL_ERR_STATE_restore
    - ERR_raise_data
    - ossl_quic_frame_type_to_string
    - ch_save_err_state
    - ch_start_terminating
    - strlen
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_raise_protocol_error_loc(QUIC_CHANNEL *ch,\n
      \                                               uint64_t error_code,\n                                                uint64_t
      frame_type,\n                                                const char *reason,\n
      \                                               ERR_STATE *err_state,\n                                                const
      char *src_file,\n                                                int src_line,\n
      \                                               const char *src_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ch_record_state_transition
      Src: /src/openssl/ssl/quic/quic_channel.c:3621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3622
      start: 3619
    functionDepth: 6
    functionLinenumber: 3619
    functionLinenumberEnd: 3622
    functionName: ch_on_terminating_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ch_record_state_transition
    linkageType: ''
    returnType: void
    signature: void ch_on_terminating_timeout(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:3634,1
    - Dst: ossl_ackm_get_pto_duration
      Src: /src/openssl/ssl/quic/quic_channel.c:3644,1
    - Dst: ossl_time_max
      Src: /src/openssl/ssl/quic/quic_channel.c:3645,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/quic/quic_channel.c:3645,1
    - Dst: ossl_time_multiply
      Src: /src/openssl/ssl/quic/quic_channel.c:3646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3629
    functionDepth: 4
    functionLinenumber: 3629
    functionLinenumberEnd: 3647
    functionName: ch_get_effective_idle_timeout_duration
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_time_infinite
    - ossl_ms2time
    - ossl_time_max
    - ossl_ackm_get_pto_duration
    - ossl_time_multiply
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ch_get_effective_idle_timeout_duration(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_channel.c:3655,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:3655,1
    - Dst: ch_get_effective_idle_timeout_duration
      Src: /src/openssl/ssl/quic/quic_channel.c:3656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3653
    functionDepth: 5
    functionLinenumber: 3653
    functionLinenumberEnd: 3657
    functionName: ch_update_idle
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 4
    functionsReached:
    - get_time
    - ossl_time_add
    - ch_get_effective_idle_timeout_duration
    linkageType: ''
    returnType: void
    signature: void ch_update_idle(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ch_get_effective_idle_timeout_duration
      Src: /src/openssl/ssl/quic/quic_channel.c:3667,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:3668,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_channel.c:3669,1
    - Dst: ossl_time_divide
      Src: /src/openssl/ssl/quic/quic_channel.c:3679,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/quic/quic_channel.c:3680,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_channel.c:3681,1
    - Dst: get_time
      Src: /src/openssl/ssl/quic/quic_channel.c:3681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3663
    functionDepth: 5
    functionLinenumber: 3663
    functionLinenumberEnd: 3682
    functionName: ch_update_ping_deadline
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 3
    functionsReached:
    - ossl_time_min
    - ossl_time_infinite
    - ossl_time_is_infinite
    - ch_get_effective_idle_timeout_duration
    - get_time
    - ossl_time_divide
    - ossl_time_add
    linkageType: ''
    returnType: void
    signature: void ch_update_ping_deadline(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ch_record_state_transition
      Src: /src/openssl/ssl/quic/quic_channel.c:3696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3697
      start: 3685
    functionDepth: 6
    functionLinenumber: 3685
    functionLinenumberEnd: 3697
    functionName: ch_on_idle_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_record_state_transition
    linkageType: ''
    returnType: void
    signature: void ch_on_idle_timeout(QUIC_CHANNEL *ch)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ADDR_copy
      Src: /src/openssl/ssl/quic/quic_channel.c:3721,1
    - Dst: ossl_quic_tx_packetiser_set_peer
      Src: /src/openssl/ssl/quic/quic_channel.c:3732,1
    - Dst: ossl_quic_tx_packetiser_set_cur_dcid
      Src: /src/openssl/ssl/quic/quic_channel.c:3736,1
    - Dst: ossl_quic_tx_packetiser_set_cur_scid
      Src: /src/openssl/ssl/quic/quic_channel.c:3739,1
    - Dst: ossl_qtx_set_qlog_cb
      Src: /src/openssl/ssl/quic/quic_channel.c:3743,1
    - Dst: ossl_quic_tx_packetiser_set_qlog_cb
      Src: /src/openssl/ssl/quic/quic_channel.c:3744,1
    - Dst: ossl_quic_provide_initial_secret
      Src: /src/openssl/ssl/quic/quic_channel.c:3750,1
    - Dst: ossl_quic_lcidm_enrol_odcid
      Src: /src/openssl/ssl/quic/quic_channel.c:3758,1
    - Dst: ch_record_state_transition
      Src: /src/openssl/ssl/quic/quic_channel.c:3764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - ch
    - peer
    - peer_scid
    - peer_dcid
    - peer_odcid
    argTypes:
    - QUIC_CHANNEL*
    - BIO_ADDR*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3767
      start: 3715
    functionDepth: 11
    functionLinenumber: 3715
    functionLinenumberEnd: 3767
    functionName: ch_on_new_conn_common
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_tx_packetiser_set_cur_dcid
    - ossl_quic_tx_packetiser_set_peer
    - BIO_ADDR_copy
    - ossl_quic_tx_packetiser_set_qlog_cb
    - ossl_quic_tx_packetiser_set_cur_scid
    - ch_record_state_transition
    - ossl_qtx_set_qlog_cb
    - ossl_quic_lcidm_enrol_odcid
    - ossl_quic_provide_initial_secret
    linkageType: ''
    returnType: int
    signature: "int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer,\n
      \                                const QUIC_CONN_ID *peer_scid,\n                                 const
      QUIC_CONN_ID *peer_dcid,\n                                 const QUIC_CONN_ID
      *peer_odcid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_channel.c:3774,1
    - Dst: ossl_quic_lcidm_generate_initial
      Src: /src/openssl/ssl/quic/quic_channel.c:3778,1
    - Dst: ch_on_new_conn_common
      Src: /src/openssl/ssl/quic/quic_channel.c:3781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ch
    - peer
    - peer_scid
    - peer_dcid
    argTypes:
    - QUIC_CHANNEL*
    - BIO_ADDR*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3770
    functionDepth: 12
    functionLinenumber: 3770
    functionLinenumberEnd: 3782
    functionName: ossl_quic_channel_on_new_conn
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_on_new_conn_common
    - ossl_assert
    - ossl_quic_lcidm_generate_initial
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR
      *peer,\n                                  const QUIC_CONN_ID *peer_scid,\n                                  const
      QUIC_CONN_ID *peer_dcid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_channel.c:3815,1
    - Dst: ossl_quic_lcidm_bind_channel
      Src: /src/openssl/ssl/quic/quic_channel.c:3819,1
    - Dst: ch_on_new_conn_common
      Src: /src/openssl/ssl/quic/quic_channel.c:3826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - ch
    - peer
    - peer_scid
    - peer_dcid
    - peer_odcid
    argTypes:
    - QUIC_CHANNEL*
    - BIO_ADDR*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3827
      start: 3807
    functionDepth: 12
    functionLinenumber: 3807
    functionLinenumberEnd: 3827
    functionName: ossl_quic_bind_channel
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_on_new_conn_common
    - ossl_assert
    - ossl_quic_lcidm_bind_channel
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer,\n
      \                          const QUIC_CONN_ID *peer_scid,\n                           const
      QUIC_CONN_ID *peer_dcid,\n                           const QUIC_CONN_ID *peer_odcid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3829
    functionDepth: 0
    functionLinenumber: 3829
    functionLinenumberEnd: 3832
    functionName: ossl_quic_channel_get0_ssl
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SSL
    signature: SSL *ossl_quic_channel_get0_ssl(QUIC_CHANNEL *ch)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_server_init
      Src: /src/openssl/ssl/quic/quic_channel.c:3838,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_channel.c:3840,1
    - Dst: ossl_quic_sstream_new
      Src: /src/openssl/ssl/quic/quic_channel.c:3843,1
    - Dst: ossl_quic_rstream_new
      Src: /src/openssl/ssl/quic/quic_channel.c:3847,1
    - Dst: ossl_quic_txfc_init
      Src: /src/openssl/ssl/quic/quic_channel.c:3851,1
    - Dst: ossl_quic_txfc_bump_cwm
      Src: /src/openssl/ssl/quic/quic_channel.c:3870,1
    - Dst: ossl_quic_rxfc_init
      Src: /src/openssl/ssl/quic/quic_channel.c:3884,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/ssl/quic/quic_channel.c:3893,1
    - Dst: ossl_quic_rstream_free
      Src: /src/openssl/ssl/quic/quic_channel.c:3895,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 4
    argNames:
    - ch
    - qs
    - can_send
    - can_recv
    argTypes:
    - QUIC_CHANNEL*
    - QUIC_STREAM*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3898
      start: 3834
    functionDepth: 3
    functionLinenumber: 3834
    functionLinenumberEnd: 3898
    functionName: ch_init_new_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_new
    - ossl_quic_txfc_bump_cwm
    - ossl_quic_stream_is_server_init
    - ossl_quic_rstream_free
    - ossl_quic_rxfc_init
    - ossl_quic_stream_is_bidi
    - ossl_quic_sstream_free
    - ossl_quic_txfc_init
    - ossl_quic_rstream_new
    linkageType: ''
    returnType: int
    signature: "int ch_init_new_stream(QUIC_CHANNEL *ch, QUIC_STREAM *qs,\n                              int
      can_send, int can_recv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - is_uni
    argTypes:
    - QUIC_CHANNEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3900
    functionDepth: 0
    functionLinenumber: 3900
    functionLinenumberEnd: 3905
    functionName: ch_get_local_stream_next_ordinal_ptr
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t *ch_get_local_stream_next_ordinal_ptr(QUIC_CHANNEL *ch,\n
      \                                                     int is_uni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - is_uni
    argTypes:
    - QUIC_CHANNEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3912
      start: 3907
    functionDepth: 0
    functionLinenumber: 3907
    functionLinenumberEnd: 3912
    functionName: ch_get_local_stream_max_ptr
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t *ch_get_local_stream_max_ptr(const QUIC_CHANNEL *ch,\n                                                   int
      is_uni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - is_uni
    argTypes:
    - QUIC_CHANNEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3914
    functionDepth: 0
    functionLinenumber: 3914
    functionLinenumberEnd: 3919
    functionName: ch_get_remote_stream_count_rxfc
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: QUIC_RXFC
    signature: "QUIC_RXFC *ch_get_remote_stream_count_rxfc(const QUIC_CHANNEL *ch,\n
      \                                                       int is_uni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ch_get_local_stream_next_ordinal_ptr
      Src: /src/openssl/ssl/quic/quic_channel.c:3924,1
    - Dst: ossl_quic_stream_map_is_local_allowed_by_stream_limit
      Src: /src/openssl/ssl/quic/quic_channel.c:3926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - is_uni
    argTypes:
    - QUIC_CHANNEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3929
      start: 3921
    functionDepth: 1
    functionLinenumber: 3921
    functionLinenumberEnd: 3929
    functionName: ossl_quic_channel_is_new_local_stream_admissible
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ch_get_local_stream_next_ordinal_ptr
    - ossl_quic_stream_map_is_local_allowed_by_stream_limit
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_channel_is_new_local_stream_admissible(QUIC_CHANNEL
      *ch,\n                                                     int is_uni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ch_get_local_stream_next_ordinal_ptr
      Src: /src/openssl/ssl/quic/quic_channel.c:3936,1
    - Dst: ch_get_local_stream_max_ptr
      Src: /src/openssl/ssl/quic/quic_channel.c:3938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ch
    - is_uni
    argTypes:
    - QUIC_CHANNEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3941
      start: 3931
    functionDepth: 1
    functionLinenumber: 3931
    functionLinenumberEnd: 3941
    functionName: ossl_quic_channel_get_local_stream_count_avail
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ch_get_local_stream_next_ordinal_ptr
    - ch_get_local_stream_max_ptr
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t ossl_quic_channel_get_local_stream_count_avail(const QUIC_CHANNEL
      *ch,\n                                                        int is_uni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_rxfc_get_credit
      Src: /src/openssl/ssl/quic/quic_channel.c:3946,1
    - Dst: ch_get_remote_stream_count_rxfc
      Src: /src/openssl/ssl/quic/quic_channel.c:3946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - is_uni
    argTypes:
    - QUIC_CHANNEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3943
    functionDepth: 2
    functionLinenumber: 3943
    functionLinenumberEnd: 3947
    functionName: ossl_quic_channel_get_remote_stream_count_avail
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_get_remote_stream_count_rxfc
    - ossl_quic_rxfc_get_credit
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t ossl_quic_channel_get_remote_stream_count_avail(const QUIC_CHANNEL
      *ch,\n                                                         int is_uni)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ch_get_local_stream_next_ordinal_ptr
      Src: /src/openssl/ssl/quic/quic_channel.c:3959,1
    - Dst: ossl_quic_stream_map_alloc
      Src: /src/openssl/ssl/quic/quic_channel.c:3971,1
    - Dst: ch_init_new_stream
      Src: /src/openssl/ssl/quic/quic_channel.c:3975,1
    - Dst: ossl_quic_stream_map_release
      Src: /src/openssl/ssl/quic/quic_channel.c:3982,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ch
    - is_uni
    argTypes:
    - QUIC_CHANNEL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3949
    functionDepth: 4
    functionLinenumber: 3949
    functionLinenumberEnd: 3984
    functionName: ossl_quic_channel_new_stream_local
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_quic_stream_map_alloc
    - ch_get_local_stream_next_ordinal_ptr
    - ch_init_new_stream
    - ossl_quic_stream_map_release
    linkageType: ''
    returnType: QUIC_STREAM
    signature: QUIC_STREAM *ossl_quic_channel_new_stream_local(QUIC_CHANNEL *ch, int
      is_uni)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_alloc
      Src: /src/openssl/ssl/quic/quic_channel.c:4002,1
    - Dst: ch_init_new_stream
      Src: /src/openssl/ssl/quic/quic_channel.c:4008,1
    - Dst: ossl_quic_channel_reject_stream
      Src: /src/openssl/ssl/quic/quic_channel.c:4012,1
    - Dst: ossl_quic_stream_map_push_accept_queue
      Src: /src/openssl/ssl/quic/quic_channel.c:4014,1
    - Dst: ossl_quic_stream_map_release
      Src: /src/openssl/ssl/quic/quic_channel.c:4019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ch
    - stream_id
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 3986
    functionDepth: 4
    functionLinenumber: 3986
    functionLinenumberEnd: 4021
    functionName: ossl_quic_channel_new_stream_remote
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_init_new_stream
    - ossl_quic_stream_map_alloc
    - ossl_quic_stream_map_push_accept_queue
    - ossl_quic_channel_reject_stream
    - ossl_quic_stream_map_release
    linkageType: ''
    returnType: QUIC_STREAM
    signature: "QUIC_STREAM *ossl_quic_channel_new_stream_remote(QUIC_CHANNEL *ch,\n
      \                                                uint64_t stream_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ch
    - enable
    - aec
    argTypes:
    - QUIC_CHANNEL*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4029
      start: 4023
    functionDepth: 0
    functionLinenumber: 4023
    functionLinenumberEnd: 4029
    functionName: ossl_quic_channel_set_incoming_stream_auto_reject
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_set_incoming_stream_auto_reject(QUIC_CHANNEL
      *ch,\n                                                       int enable,\n                                                       uint64_t
      aec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_stop_sending_recv_part
      Src: /src/openssl/ssl/quic/quic_channel.c:4033,1
    - Dst: ossl_quic_stream_map_reset_stream_send_part
      Src: /src/openssl/ssl/quic/quic_channel.c:4036,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_channel.c:4040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ch
    - qs
    argTypes:
    - QUIC_CHANNEL*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4041
      start: 4031
    functionDepth: 1
    functionLinenumber: 4031
    functionLinenumberEnd: 4041
    functionName: ossl_quic_channel_reject_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_map_stop_sending_recv_part
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_map_reset_stream_send_part
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_reject_stream(QUIC_CHANNEL *ch, QUIC_STREAM
      *qs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_lcidm_debug_remove
      Src: /src/openssl/ssl/quic/quic_channel.c:4048,1
    - Dst: ossl_quic_tx_packetiser_set_cur_scid
      Src: /src/openssl/ssl/quic/quic_channel.c:4052,1
    - Dst: ossl_quic_lcidm_debug_add
      Src: /src/openssl/ssl/quic/quic_channel.c:4055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ch
    - conn_id
    argTypes:
    - QUIC_CHANNEL*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 4044
    functionDepth: 3
    functionLinenumber: 4044
    functionLinenumberEnd: 4059
    functionName: ossl_quic_channel_replace_local_cid
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_lcidm_debug_remove
    - ossl_quic_tx_packetiser_set_cur_scid
    - ossl_quic_lcidm_debug_add
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_channel_replace_local_cid(QUIC_CHANNEL *ch,\n                                        const
      QUIC_CONN_ID *conn_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_channel.c:4067,1
    - Dst: ossl_quic_tx_packetiser_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_channel.c:4068,1
    - Dst: ossl_qrx_set_msg_callback
      Src: /src/openssl/ssl/quic/quic_channel.c:4075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ch
    - msg_callback
    - msg_callback_ssl
    argTypes:
    - QUIC_CHANNEL*
    - ossl_msg_cb
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4061
    functionDepth: 1
    functionLinenumber: 4061
    functionLinenumberEnd: 4076
    functionName: ossl_quic_channel_set_msg_callback
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 4
    functionsReached:
    - ossl_qtx_set_msg_callback
    - ossl_qrx_set_msg_callback
    - ossl_quic_tx_packetiser_set_msg_callback
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_set_msg_callback(QUIC_CHANNEL *ch,\n                                        ossl_msg_cb
      msg_callback,\n                                        SSL *msg_callback_ssl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_channel.c:4082,1
    - Dst: ossl_quic_tx_packetiser_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_channel.c:4083,1
    - Dst: ossl_qrx_set_msg_callback_arg
      Src: /src/openssl/ssl/quic/quic_channel.c:4090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ch
    - msg_callback_arg
    argTypes:
    - QUIC_CHANNEL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4078
    functionDepth: 1
    functionLinenumber: 4078
    functionLinenumberEnd: 4091
    functionName: ossl_quic_channel_set_msg_callback_arg
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 4
    functionsReached:
    - ossl_qtx_set_msg_callback_arg
    - ossl_qrx_set_msg_callback_arg
    - ossl_quic_tx_packetiser_set_msg_callback_arg
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_set_msg_callback_arg(QUIC_CHANNEL *ch,\n                                            void
      *msg_callback_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - tx_pkt_threshold
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4097
      start: 4093
    functionDepth: 0
    functionLinenumber: 4093
    functionLinenumberEnd: 4097
    functionName: ossl_quic_channel_set_txku_threshold_override
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_channel_set_txku_threshold_override(QUIC_CHANNEL *ch,\n
      \                                                  uint64_t tx_pkt_threshold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qtx_get_key_epoch
      Src: /src/openssl/ssl/quic/quic_channel.c:4101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 4099
    functionDepth: 3
    functionLinenumber: 4099
    functionLinenumberEnd: 4102
    functionName: ossl_quic_channel_get_tx_key_epoch
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached:
    - ossl_qtx_get_key_epoch
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_channel_get_tx_key_epoch(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrx_get_key_epoch
      Src: /src/openssl/ssl/quic/quic_channel.c:4106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4107
      start: 4104
    functionDepth: 1
    functionLinenumber: 4104
    functionLinenumberEnd: 4107
    functionName: ossl_quic_channel_get_rx_key_epoch
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_qrx_get_key_epoch
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_channel_get_rx_key_epoch(QUIC_CHANNEL *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: txku_allowed
      Src: /src/openssl/ssl/quic/quic_channel.c:4111,1
    - Dst: ch_trigger_txku
      Src: /src/openssl/ssl/quic/quic_channel.c:4115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4117
      start: 4109
    functionDepth: 10
    functionLinenumber: 4109
    functionLinenumberEnd: 4117
    functionName: ossl_quic_channel_trigger_txku
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ch_trigger_txku
    - txku_allowed
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_trigger_txku(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_channel.c:4121,1
    - Dst: ossl_quic_tx_packetiser_schedule_ack_eliciting
      Src: /src/openssl/ssl/quic/quic_channel.c:4123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 4119
    functionDepth: 1
    functionLinenumber: 4119
    functionLinenumberEnd: 4126
    functionName: ossl_quic_channel_ping
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached:
    - ossl_quic_tx_packetiser_schedule_ack_eliciting
    - ossl_quic_enc_level_to_pn_space
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_ping(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4131
    functionName: ossl_quic_channel_get_diag_num_rx_ack
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ossl_quic_channel_get_diag_num_rx_ack(QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - cid
    argTypes:
    - QUIC_CHANNEL*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4133
    functionDepth: 0
    functionLinenumber: 4133
    functionLinenumberEnd: 4136
    functionName: ossl_quic_channel_get_diag_local_cid
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_get_diag_local_cid(QUIC_CHANNEL *ch, QUIC_CONN_ID
      *cid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4138
    functionDepth: 0
    functionLinenumber: 4138
    functionLinenumberEnd: 4141
    functionName: ossl_quic_channel_have_generated_transport_params
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_channel_have_generated_transport_params(const QUIC_CHANNEL
      *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ch
    - ms
    argTypes:
    - QUIC_CHANNEL*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4143
    functionDepth: 0
    functionLinenumber: 4143
    functionLinenumberEnd: 4146
    functionName: ossl_quic_channel_set_max_idle_timeout_request
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_channel_set_max_idle_timeout_request(QUIC_CHANNEL *ch,
      uint64_t ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4150
      start: 4147
    functionDepth: 0
    functionLinenumber: 4147
    functionLinenumberEnd: 4150
    functionName: ossl_quic_channel_get_max_idle_timeout_request
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_channel_get_max_idle_timeout_request(const QUIC_CHANNEL
      *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4155
      start: 4152
    functionDepth: 0
    functionLinenumber: 4152
    functionLinenumberEnd: 4155
    functionName: ossl_quic_channel_get_max_idle_timeout_peer_request
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_channel_get_max_idle_timeout_peer_request(const
      QUIC_CHANNEL *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4160
      start: 4157
    functionDepth: 0
    functionLinenumber: 4157
    functionLinenumberEnd: 4160
    functionName: ossl_quic_channel_get_max_idle_timeout_actual
    functionSourceFile: /src/openssl/ssl/quic/quic_channel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_quic_channel_get_max_idle_timeout_actual(const QUIC_CHANNEL
      *ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_mutex
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:23,1
    - Dst: ossl_quic_channel_get0_engine
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:25,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:27,1
    - Dst: ossl_quic_channel_get_reactor
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:29,1
    - Dst: ossl_quic_reactor_get_tick_deadline
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:37,1
    - Dst: ossl_quic_engine_make_real_time
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:42,1
    - Dst: ossl_crypto_condvar_wait_timeout
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:43,1
    - Dst: ossl_quic_reactor_tick
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:59,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 64
    functionName: assist_thread_main
    functionSourceFile: /src/openssl/ssl/quic/quic_thread_assist.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_condvar_wait_timeout
    - ossl_quic_channel_get_mutex
    - ossl_quic_reactor_get_tick_deadline
    - ossl_quic_reactor_tick
    - ossl_crypto_mutex_unlock
    - ossl_quic_channel_get_reactor
    - ossl_crypto_mutex_lock
    - ossl_quic_channel_get0_engine
    - ossl_quic_engine_make_real_time
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int assist_thread_main(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_mutex
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:69,1
    - Dst: ossl_crypto_condvar_new
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:78,1
    - Dst: ossl_crypto_thread_native_start
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:82,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - qta
    - ch
    argTypes:
    - QUIC_THREAD_ASSIST*
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: ossl_quic_thread_assist_init_start
    functionSourceFile: /src/openssl/ssl/quic/quic_thread_assist.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_condvar_new
    - ossl_crypto_thread_native_start
    - ossl_crypto_condvar_free
    - ossl_quic_channel_get_mutex
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_thread_assist_init_start(QUIC_THREAD_ASSIST *qta,\n
      \                                      QUIC_CHANNEL *ch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - qta
    argTypes:
    - QUIC_THREAD_ASSIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: ossl_quic_thread_assist_stop_async
    functionSourceFile: /src/openssl/ssl/quic/quic_thread_assist.c
    functionUses: 0
    functionsReached:
    - ossl_crypto_condvar_signal
    linkageType: ''
    returnType: int
    signature: int ossl_quic_thread_assist_stop_async(QUIC_THREAD_ASSIST *qta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_channel_get_mutex
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:105,1
    - Dst: ossl_quic_thread_assist_stop_async
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:110,1
    - Dst: ossl_crypto_mutex_unlock
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:113,1
    - Dst: ossl_crypto_thread_native_join
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:115,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:116,1
    - Dst: ossl_crypto_mutex_lock
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - qta
    argTypes:
    - QUIC_THREAD_ASSIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: ossl_quic_thread_assist_wait_stopped
    functionSourceFile: /src/openssl/ssl/quic/quic_thread_assist.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_thread_native_join
    - ossl_quic_channel_get_mutex
    - ossl_crypto_mutex_unlock
    - ossl_crypto_mutex_lock
    - ossl_quic_thread_assist_stop_async
    linkageType: ''
    returnType: int
    signature: int ossl_quic_thread_assist_wait_stopped(QUIC_THREAD_ASSIST *qta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:128,1
    - Dst: ossl_crypto_condvar_free
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:131,1
    - Dst: ossl_crypto_thread_native_clean
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - qta
    argTypes:
    - QUIC_THREAD_ASSIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: ossl_quic_thread_assist_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_thread_assist.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ossl_crypto_condvar_free
    - ossl_crypto_thread_native_clean
    linkageType: ''
    returnType: int
    signature: int ossl_quic_thread_assist_cleanup(QUIC_THREAD_ASSIST *qta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_crypto_condvar_signal
      Src: /src/openssl/ssl/quic/quic_thread_assist.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qta
    argTypes:
    - QUIC_THREAD_ASSIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: ossl_quic_thread_assist_notify_deadline_changed
    functionSourceFile: /src/openssl/ssl/quic/quic_thread_assist.c
    functionUses: 1
    functionsReached:
    - ossl_crypto_condvar_signal
    linkageType: ''
    returnType: int
    signature: int ossl_quic_thread_assist_notify_deadline_changed(QUIC_THREAD_ASSIST
      *qta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_stream_map.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - QUIC_STREAM_LIST_NODE*
    - QUIC_STREAM_LIST_NODE*
    assertStmts:
    - condition: "(n->prev == NULL && n->next == NULL\n           && l->prev != NULL
        && l->next != NULL)"
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/openssl/ssl/quic/quic_stream_map.c
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: list_insert_tail
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void list_insert_tail(QUIC_STREAM_LIST_NODE *l,\n                             QUIC_STREAM_LIST_NODE
      *n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_stream_map.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - QUIC_STREAM_LIST_NODE*
    - QUIC_STREAM_LIST_NODE*
    assertStmts:
    - condition: "(n->prev != NULL && n->next != NULL\n           && n->prev != n
        && n->next != n)"
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/openssl/ssl/quic/quic_stream_map.c
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: list_remove
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 10
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void list_remove(QUIC_STREAM_LIST_NODE *l,\n                        QUIC_STREAM_LIST_NODE
      *n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_stream_map.c:50,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_stream_map.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - l
    - n
    - 'off'
    argTypes:
    - QUIC_STREAM_LIST_NODE*
    - QUIC_STREAM_LIST_NODE*
    - size_t
    assertStmts:
    - condition: "(n->prev != NULL && n->next != NULL\n           && (n == l || (n->prev
        != n && n->next != n))\n           && l->prev != NULL && l->next != NULL)"
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/openssl/ssl/quic/quic_stream_map.c
    - condition: (n != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/openssl/ssl/quic/quic_stream_map.c
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: list_next
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: QUIC_STREAM
    signature: "QUIC_STREAM *list_next(QUIC_STREAM_LIST_NODE *l, QUIC_STREAM_LIST_NODE
      *n,\n                              size_t off)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: active_next
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: active_next(l, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: accept_next
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: accept_next(l, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: ready_for_gc_next
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ready_for_gc_next(l, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: accept_head
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: accept_head(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: ready_for_gc_head
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ready_for_gc_head(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: hash_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long hash_stream(const QUIC_STREAM *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - QUIC_STREAM*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: cmp_stream
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_stream(const QUIC_STREAM *a, const QUIC_STREAM *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_STREAM_new
      Src: /src/openssl/ssl/quic/quic_stream_map.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - qsm
    - get_stream_limit_cb_arg
    - max_streams_bidi_rxfc
    - max_streams_uni_rxfc
    - ch
    argTypes:
    - QUIC_STREAM_MAP*
    - void*
    - QUIC_RXFC*
    - QUIC_RXFC*
    - QUIC_CHANNEL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: ossl_quic_stream_map_init
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 2
    functionsReached:
    - lh_QUIC_STREAM_new
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_init(QUIC_STREAM_MAP *qsm,\n                              uint64_t
      (*get_stream_limit_cb)(int uni, void *arg),\n                              void
      *get_stream_limit_cb_arg,\n                              QUIC_RXFC *max_streams_bidi_rxfc,\n
      \                             QUIC_RXFC *max_streams_uni_rxfc,\n                              QUIC_CHANNEL
      *ch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_release
      Src: /src/openssl/ssl/quic/quic_stream_map.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: release_each
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_map_release
    linkageType: ''
    returnType: void
    signature: void release_each(QUIC_STREAM *stream, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_stream_map.c:128,1
    - Dst: lh_QUIC_STREAM_free
      Src: /src/openssl/ssl/quic/quic_stream_map.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - qsm
    argTypes:
    - QUIC_STREAM_MAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: ossl_quic_stream_map_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 2
    functionsReached:
    - lh_QUIC_STREAM_free
    - ossl_quic_stream_map_visit
    linkageType: ''
    returnType: void
    signature: void ossl_quic_stream_map_cleanup(QUIC_STREAM_MAP *qsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_STREAM_doall_arg
      Src: /src/openssl/ssl/quic/quic_stream_map.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qsm
    - visit_cb_arg
    argTypes:
    - QUIC_STREAM_MAP*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: ossl_quic_stream_map_visit
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 4
    functionsReached:
    - lh_QUIC_STREAM_doall_arg
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_stream_map_visit(QUIC_STREAM_MAP *qsm,\n                                void
      (*visit_cb)(QUIC_STREAM *stream, void *arg),\n                                void
      *visit_cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_STREAM_retrieve
      Src: /src/openssl/ssl/quic/quic_stream_map.c:150,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_stream_map.c:154,1
    - Dst: ossl_quic_channel_is_server
      Src: /src/openssl/ssl/quic/quic_stream_map.c:160,1
    - Dst: ossl_quic_stream_is_local_init
      Src: /src/openssl/ssl/quic/quic_stream_map.c:161,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_stream_map.c:162,1
    - Dst: ossl_quic_stream_is_local_init
      Src: /src/openssl/ssl/quic/quic_stream_map.c:165,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_stream_map.c:166,1
    - Dst: lh_QUIC_STREAM_insert
      Src: /src/openssl/ssl/quic/quic_stream_map.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - qsm
    - stream_id
    - type
    argTypes:
    - QUIC_STREAM_MAP*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: ossl_quic_stream_map_alloc
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 3
    functionsReached:
    - ossl_quic_stream_is_local_init
    - OPENSSL_zalloc
    - lh_QUIC_STREAM_retrieve
    - lh_QUIC_STREAM_insert
    - ossl_quic_stream_is_bidi
    - ossl_quic_channel_is_server
    linkageType: ''
    returnType: QUIC_STREAM
    signature: "QUIC_STREAM *ossl_quic_stream_map_alloc(QUIC_STREAM_MAP *qsm,\n                                        uint64_t
      stream_id,\n                                        int type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_stream_map.c:182,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_stream_map.c:184,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_stream_map.c:186,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/ssl/quic/quic_stream_map.c:188,1
    - Dst: ossl_quic_rstream_free
      Src: /src/openssl/ssl/quic/quic_stream_map.c:191,1
    - Dst: lh_QUIC_STREAM_delete
      Src: /src/openssl/ssl/quic/quic_stream_map.c:194,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_stream_map.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - qsm
    - stream
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: ossl_quic_stream_map_release
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 5
    functionsReached:
    - ossl_quic_sstream_free
    - OPENSSL_free
    - list_remove
    - ossl_quic_rstream_free
    - lh_QUIC_STREAM_delete
    linkageType: ''
    returnType: void
    signature: void ossl_quic_stream_map_release(QUIC_STREAM_MAP *qsm, QUIC_STREAM
      *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_QUIC_STREAM_retrieve
      Src: /src/openssl/ssl/quic/quic_stream_map.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qsm
    - stream_id
    argTypes:
    - QUIC_STREAM_MAP*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: ossl_quic_stream_map_get_by_id
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 16
    functionsReached:
    - lh_QUIC_STREAM_retrieve
    linkageType: ''
    returnType: QUIC_STREAM
    signature: "QUIC_STREAM *ossl_quic_stream_map_get_by_id(QUIC_STREAM_MAP *qsm,\n
      \                                           uint64_t stream_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_stream_map.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - qsm
    - s
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: stream_map_mark_active
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - list_insert_tail
    linkageType: ''
    returnType: void
    signature: void stream_map_mark_active(QUIC_STREAM_MAP *qsm, QUIC_STREAM *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: active_next
      Src: /src/openssl/ssl/quic/quic_stream_map.c:227,1
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_stream_map.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - qsm
    - s
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: stream_map_mark_inactive
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - list_remove
    - active_next
    linkageType: ''
    returnType: void
    signature: void stream_map_mark_inactive(QUIC_STREAM_MAP *qsm, QUIC_STREAM *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qsm
    - stepping
    argTypes:
    - QUIC_STREAM_MAP*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: ossl_quic_stream_map_set_rr_stepping
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_stream_map_set_rr_stepping(QUIC_STREAM_MAP *qsm, size_t
      stepping)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_stream_map.c:269,1
    - Dst: ossl_quic_sstream_get_stream_frame
      Src: /src/openssl/ssl/quic/quic_stream_map.c:270,1
    - Dst: ossl_quic_txfc_get_credit
      Src: /src/openssl/ssl/quic/quic_stream_map.c:274,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_stream_map.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 279
    functionName: stream_has_data_to_send
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_get_stream_frame
    - OSSL_NELEM
    - ossl_quic_txfc_get_swm
    - ossl_quic_txfc_get_credit
    linkageType: ''
    returnType: int
    signature: int stream_has_data_to_send(QUIC_STREAM *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - qs
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: qsm_send_part_permits_gc
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_unused
    signature: ossl_unused qsm_send_part_permits_gc(const QUIC_STREAM *qs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_stream_map.c:301,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_stream_map.c:302,1
    - Dst: ossl_quic_stream_send_is_reset
      Src: /src/openssl/ssl/quic/quic_stream_map.c:303,1
    - Dst: ossl_quic_stream_send_get_final_size
      Src: /src/openssl/ssl/quic/quic_stream_map.c:304,1
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_stream_map.c:308,1
    - Dst: ossl_quic_stream_has_send
      Src: /src/openssl/ssl/quic/quic_stream_map.c:311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 3
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts:
    - condition: "(!qs->deleted\n           || !ossl_quic_stream_has_send(qs)\n           ||
        ossl_quic_stream_send_is_reset(qs)\n           || ossl_quic_stream_send_get_final_size(qs,
        NULL))"
      pos:
        line_end: 303
        line_start: 300
        source_file: /src/openssl/ssl/quic/quic_stream_map.c
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: qsm_ready_for_gc
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_has_send
    - ossl_quic_stream_send_get_final_size
    - ossl_quic_stream_has_recv
    - ossl_quic_stream_send_is_reset
    - assert
    linkageType: ''
    returnType: int
    signature: int qsm_ready_for_gc(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_STREAM_MAP*::get_stream_limit_cb
      Src: /src/openssl/ssl/quic/quic_stream_map.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - qsm
    - stream_ordinal
    - is_uni
    argTypes:
    - QUIC_STREAM_MAP*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: ossl_quic_stream_map_is_local_allowed_by_stream_limit
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - QUIC_STREAM_MAP*::get_stream_limit_cb
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_is_local_allowed_by_stream_limit(QUIC_STREAM_MAP
      *qsm,\n                                                          uint64_t stream_ordinal,\n
      \                                                         int is_uni)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_server_init
      Src: /src/openssl/ssl/quic/quic_stream_map.c:333,1
    - Dst: ossl_quic_channel_is_server
      Src: /src/openssl/ssl/quic/quic_stream_map.c:333,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_stream_map.c:334,1
    - Dst: ossl_quic_stream_map_is_local_allowed_by_stream_limit
      Src: /src/openssl/ssl/quic/quic_stream_map.c:338,1
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/ssl/quic/quic_stream_map.c:344,1
    - Dst: ossl_quic_stream_map_notify_totally_acked
      Src: /src/openssl/ssl/quic/quic_stream_map.c:345,1
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/ssl/quic/quic_stream_map.c:348,1
    - Dst: shutdown_flush_done
      Src: /src/openssl/ssl/quic/quic_stream_map.c:349,1
    - Dst: qsm_ready_for_gc
      Src: /src/openssl/ssl/quic/quic_stream_map.c:352,1
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_stream_map.c:354,1
    - Dst: ossl_quic_stream_has_recv
      Src: /src/openssl/ssl/quic/quic_stream_map.c:360,1
    - Dst: ossl_quic_stream_recv_is_reset
      Src: /src/openssl/ssl/quic/quic_stream_map.c:361,1
    - Dst: ossl_quic_rxfc_has_cwm_changed
      Src: /src/openssl/ssl/quic/quic_stream_map.c:364,1
    - Dst: stream_has_data_to_send
      Src: /src/openssl/ssl/quic/quic_stream_map.c:367,1
    - Dst: stream_map_mark_active
      Src: /src/openssl/ssl/quic/quic_stream_map.c:370,1
    - Dst: stream_map_mark_inactive
      Src: /src/openssl/ssl/quic/quic_stream_map.c:372,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 17
    argCount: 2
    argNames:
    - qsm
    - s
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 373
    functionName: ossl_quic_stream_map_update_state
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 19
    functionsReached:
    - ossl_quic_rxfc_has_cwm_changed
    - ossl_quic_stream_map_notify_totally_acked
    - ossl_quic_stream_recv_is_reset
    - ossl_quic_stream_is_server_init
    - shutdown_flush_done
    - ossl_quic_stream_map_is_local_allowed_by_stream_limit
    - qsm_ready_for_gc
    - ossl_quic_sstream_is_totally_acked
    - ossl_quic_stream_has_recv
    - stream_map_mark_inactive
    - ossl_quic_stream_is_bidi
    - stream_has_data_to_send
    - ossl_quic_channel_is_server
    - stream_map_mark_active
    - list_insert_tail
    linkageType: ''
    returnType: void
    signature: void ossl_quic_stream_map_update_state(QUIC_STREAM_MAP *qsm, QUIC_STREAM
      *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 400
    functionName: ossl_quic_stream_map_ensure_send_part_id
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_ensure_send_part_id(QUIC_STREAM_MAP *qsm,\n
      \                                            QUIC_STREAM *qs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_sstream_get_final_size
      Src: /src/openssl/ssl/quic/quic_stream_map.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 419
    functionName: ossl_quic_stream_map_notify_all_data_sent
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_sstream_get_final_size
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_notify_all_data_sent(QUIC_STREAM_MAP *qsm,\n
      \                                             QUIC_STREAM *qs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_stream_map.c:426,1
    - Dst: ossl_quic_channel_notify_flush_done
      Src: /src/openssl/ssl/quic/quic_stream_map.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts:
    - condition: (qsm->num_shutdown_flush > 0)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/openssl/ssl/quic/quic_stream_map.c
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 5
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: shutdown_flush_done
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_channel_notify_flush_done
    - assert
    linkageType: ''
    returnType: void
    signature: void shutdown_flush_done(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/ssl/quic/quic_stream_map.c:452,1
    - Dst: shutdown_flush_done
      Src: /src/openssl/ssl/quic/quic_stream_map.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 439
    functionDepth: 6
    functionLinenumber: 439
    functionLinenumberEnd: 458
    functionName: ossl_quic_stream_map_notify_totally_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_sstream_free
    - shutdown_flush_done
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_notify_totally_acked(QUIC_STREAM_MAP *qsm,\n
      \                                             QUIC_STREAM *qs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_ensure_send_part_id
      Src: /src/openssl/ssl/quic/quic_stream_map.c:480,1
    - Dst: ossl_quic_txfc_get_swm
      Src: /src/openssl/ssl/quic/quic_stream_map.c:496,1
    - Dst: ossl_quic_sstream_free
      Src: /src/openssl/ssl/quic/quic_stream_map.c:504,1
    - Dst: shutdown_flush_done
      Src: /src/openssl/ssl/quic/quic_stream_map.c:507,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_stream_map.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - qsm
    - qs
    - aec
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 460
    functionDepth: 6
    functionLinenumber: 460
    functionLinenumberEnd: 519
    functionName: ossl_quic_stream_map_reset_stream_send_part
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 5
    functionsReached:
    - ossl_quic_txfc_get_swm
    - shutdown_flush_done
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_map_ensure_send_part_id
    - ossl_quic_sstream_free
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_reset_stream_send_part(QUIC_STREAM_MAP *qsm,\n
      \                                               QUIC_STREAM *qs,\n                                                uint64_t
      aec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 539
    functionName: ossl_quic_stream_map_notify_reset_stream_acked
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_notify_reset_stream_acked(QUIC_STREAM_MAP
      *qsm,\n                                                   QUIC_STREAM *qs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - qsm
    - qs
    - final_size
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 561
    functionName: ossl_quic_stream_map_notify_size_known_recv_part
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_notify_size_known_recv_part(QUIC_STREAM_MAP
      *qsm,\n                                                     QUIC_STREAM *qs,\n
      \                                                    uint64_t final_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 578
    functionName: ossl_quic_stream_map_notify_totally_received
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_notify_totally_received(QUIC_STREAM_MAP *qsm,\n
      \                                                QUIC_STREAM *qs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_rstream_free
      Src: /src/openssl/ssl/quic/quic_stream_map.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 598
    functionName: ossl_quic_stream_map_notify_totally_read
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 3
    functionsReached:
    - ossl_quic_rstream_free
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_notify_totally_read(QUIC_STREAM_MAP *qsm,\n
      \                                            QUIC_STREAM *qs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_recv_get_final_size
      Src: /src/openssl/ssl/quic/quic_stream_map.c:616,1
    - Dst: ossl_quic_rstream_free
      Src: /src/openssl/ssl/quic/quic_stream_map.c:628,1
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_stream_map.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - qsm
    - qs
    - app_error_code
    - final_size
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 600
    functionDepth: 4
    functionLinenumber: 600
    functionLinenumberEnd: 644
    functionName: ossl_quic_stream_map_notify_reset_recv_part
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_rstream_free
    - ossl_quic_stream_map_update_state
    - ossl_quic_stream_recv_get_final_size
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_notify_reset_recv_part(QUIC_STREAM_MAP *qsm,\n
      \                                               QUIC_STREAM *qs,\n                                                uint64_t
      app_error_code,\n                                                uint64_t final_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 660
    functionName: ossl_quic_stream_map_notify_app_read_reset_recv_part
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_notify_app_read_reset_recv_part(QUIC_STREAM_MAP
      *qsm,\n                                                         QUIC_STREAM
      *qs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_schedule_stop_sending
      Src: /src/openssl/ssl/quic/quic_stream_map.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - qsm
    - qs
    - aec
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 705
    functionName: ossl_quic_stream_map_stop_sending_recv_part
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 3
    functionsReached:
    - ossl_quic_stream_map_schedule_stop_sending
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_stream_map_stop_sending_recv_part(QUIC_STREAM_MAP *qsm,\n
      \                                               QUIC_STREAM *qs,\n                                                uint64_t
      aec)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_update_state
      Src: /src/openssl/ssl/quic/quic_stream_map.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - qsm
    - qs
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 708
    functionDepth: 4
    functionLinenumber: 708
    functionLinenumberEnd: 739
    functionName: ossl_quic_stream_map_schedule_stop_sending
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 2
    functionsReached:
    - ossl_quic_stream_map_update_state
    linkageType: ''
    returnType: int
    signature: int ossl_quic_stream_map_schedule_stop_sending(QUIC_STREAM_MAP *qsm,
      QUIC_STREAM *qs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: accept_head
      Src: /src/openssl/ssl/quic/quic_stream_map.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qsm
    argTypes:
    - QUIC_STREAM_MAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: ossl_quic_stream_map_peek_accept_queue
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 3
    functionsReached:
    - accept_head
    linkageType: ''
    returnType: QUIC_STREAM
    signature: QUIC_STREAM *ossl_quic_stream_map_peek_accept_queue(QUIC_STREAM_MAP
      *qsm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_accept_queue_len
      Src: /src/openssl/ssl/quic/quic_stream_map.c:751,1
    - Dst: ossl_quic_stream_map_peek_accept_queue
      Src: /src/openssl/ssl/quic/quic_stream_map.c:754,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_stream_map.c:756,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_stream_map.c:757,1
    - Dst: accept_next
      Src: /src/openssl/ssl/quic/quic_stream_map.c:759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - qsm
    - is_uni
    argTypes:
    - QUIC_STREAM_MAP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 762
    functionName: ossl_quic_stream_map_find_in_accept_queue
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_is_bidi
    - ossl_quic_stream_map_get_accept_queue_len
    - accept_next
    - ossl_quic_stream_map_peek_accept_queue
    linkageType: ''
    returnType: QUIC_STREAM
    signature: "QUIC_STREAM *ossl_quic_stream_map_find_in_accept_queue(QUIC_STREAM_MAP
      *qsm,\n                                                       int is_uni)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_insert_tail
      Src: /src/openssl/ssl/quic/quic_stream_map.c:767,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_stream_map.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qsm
    - s
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 772
    functionName: ossl_quic_stream_map_push_accept_queue
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_is_bidi
    - list_insert_tail
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_stream_map_push_accept_queue(QUIC_STREAM_MAP *qsm,\n
      \                                           QUIC_STREAM *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_stream_map.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qsm
    - s
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 779
    functionName: qsm_get_max_streams_rxfc
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - ossl_quic_stream_is_bidi
    linkageType: ''
    returnType: QUIC_RXFC
    signature: QUIC_RXFC *qsm_get_max_streams_rxfc(QUIC_STREAM_MAP *qsm, QUIC_STREAM
      *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_remove
      Src: /src/openssl/ssl/quic/quic_stream_map.c:787,1
    - Dst: ossl_quic_stream_is_bidi
      Src: /src/openssl/ssl/quic/quic_stream_map.c:788,1
    - Dst: qsm_get_max_streams_rxfc
      Src: /src/openssl/ssl/quic/quic_stream_map.c:793,1
    - Dst: ossl_quic_rxfc_on_retire
      Src: /src/openssl/ssl/quic/quic_stream_map.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - qsm
    - s
    - rtt
    argTypes:
    - QUIC_STREAM_MAP*
    - QUIC_STREAM*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 781
    functionDepth: 8
    functionLinenumber: 781
    functionLinenumberEnd: 795
    functionName: ossl_quic_stream_map_remove_from_accept_queue
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 3
    functionsReached:
    - ossl_quic_stream_is_bidi
    - list_remove
    - qsm_get_max_streams_rxfc
    - ossl_quic_rxfc_on_retire
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_stream_map_remove_from_accept_queue(QUIC_STREAM_MAP
      *qsm,\n                                                   QUIC_STREAM *s,\n
      \                                                  OSSL_TIME rtt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qsm
    - is_uni
    argTypes:
    - QUIC_STREAM_MAP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: ossl_quic_stream_map_get_accept_queue_len
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_stream_map_get_accept_queue_len(QUIC_STREAM_MAP *qsm,
      int is_uni)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_get_accept_queue_len
      Src: /src/openssl/ssl/quic/quic_stream_map.c:804,1
    - Dst: ossl_quic_stream_map_get_accept_queue_len
      Src: /src/openssl/ssl/quic/quic_stream_map.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qsm
    argTypes:
    - QUIC_STREAM_MAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: ossl_quic_stream_map_get_total_accept_queue_len
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_map_get_accept_queue_len
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_quic_stream_map_get_total_accept_queue_len(QUIC_STREAM_MAP
      *qsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ready_for_gc_head
      Src: /src/openssl/ssl/quic/quic_stream_map.c:812,1
    - Dst: ready_for_gc_next
      Src: /src/openssl/ssl/quic/quic_stream_map.c:816,1
    - Dst: ossl_quic_stream_map_release
      Src: /src/openssl/ssl/quic/quic_stream_map.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - qsm
    argTypes:
    - QUIC_STREAM_MAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 820
    functionName: ossl_quic_stream_map_gc
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_map_release
    - ready_for_gc_head
    - ready_for_gc_next
    linkageType: ''
    returnType: void
    signature: void ossl_quic_stream_map_gc(QUIC_STREAM_MAP *qsm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_sstream_is_totally_acked
      Src: /src/openssl/ssl/quic/quic_stream_map.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - qs
    argTypes:
    - QUIC_STREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 839
    functionName: eligible_for_shutdown_flush
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - ossl_quic_sstream_is_totally_acked
    linkageType: ''
    returnType: int
    signature: int eligible_for_shutdown_flush(QUIC_STREAM *qs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eligible_for_shutdown_flush
      Src: /src/openssl/ssl/quic/quic_stream_map.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - qs
    - arg
    argTypes:
    - QUIC_STREAM*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 850
    functionName: begin_shutdown_flush_each
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 0
    functionsReached:
    - eligible_for_shutdown_flush
    linkageType: ''
    returnType: void
    signature: void begin_shutdown_flush_each(QUIC_STREAM *qs, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_stream_map_visit
      Src: /src/openssl/ssl/quic/quic_stream_map.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qsm
    argTypes:
    - QUIC_STREAM_MAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 857
    functionName: ossl_quic_stream_map_begin_shutdown_flush
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - ossl_quic_stream_map_visit
    linkageType: ''
    returnType: void
    signature: void ossl_quic_stream_map_begin_shutdown_flush(QUIC_STREAM_MAP *qsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qsm
    argTypes:
    - QUIC_STREAM_MAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: ossl_quic_stream_map_is_shutdown_flush_finished
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_quic_stream_map_is_shutdown_flush_finished(QUIC_STREAM_MAP
      *qsm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: active_next
      Src: /src/openssl/ssl/quic/quic_stream_map.c:876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - it
    - qsm
    - advance_rr
    argTypes:
    - QUIC_STREAM_ITER*
    - QUIC_STREAM_MAP*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 878
    functionName: ossl_quic_stream_iter_init
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 2
    functionsReached:
    - active_next
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_stream_iter_init(QUIC_STREAM_ITER *it, QUIC_STREAM_MAP
      *qsm,\n                                int advance_rr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: active_next
      Src: /src/openssl/ssl/quic/quic_stream_map.c:885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - it
    argTypes:
    - QUIC_STREAM_ITER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 888
    functionName: ossl_quic_stream_iter_next
    functionSourceFile: /src/openssl/ssl/quic/quic_stream_map.c
    functionUses: 1
    functionsReached:
    - active_next
    linkageType: ''
    returnType: void
    signature: void ossl_quic_stream_iter_next(QUIC_STREAM_ITER *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitf
    - pkt_idx
    argTypes:
    - uint64_t*
    - size_t
    assertStmts:
    - condition: (pkt_idx < QUIC_MAX_PKT_PER_URXE)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: pkt_mark
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline pkt_mark(uint64_t *bitf, size_t pkt_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitf
    - pkt_idx
    argTypes:
    - uint64_t*
    - size_t
    assertStmts:
    - condition: (pkt_idx < QUIC_MAX_PKT_PER_URXE)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: pkt_is_marked
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline pkt_is_marked(const uint64_t *bitf, size_t pkt_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - RXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: rxe_data
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline unsigned
    signature: ossl_inline unsigned *rxe_data(const RXE *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_record_rx.c:202,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_record_rx.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - args
    argTypes:
    - OSSL_QRX_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: ossl_qrx_new
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 4
    functionsReached:
    - OPENSSL_zalloc
    - OSSL_NELEM
    linkageType: ''
    returnType: OSSL_QRX
    signature: OSSL_QRX *ossl_qrx_new(const OSSL_QRX_ARGS *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_rxe_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:222,1
    - Dst: ossl_list_rxe_next
      Src: /src/openssl/ssl/quic/quic_record_rx.c:223,1
    - Dst: ossl_list_rxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:224,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_record_rx.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - RXE_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: qrx_cleanup_rxl
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_list_rxe_next
    - OPENSSL_free
    - ossl_list_rxe_head
    - ossl_list_rxe_remove
    linkageType: ''
    returnType: void
    signature: void qrx_cleanup_rxl(RXE_LIST *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:233,1
    - Dst: ossl_list_urxe_next
      Src: /src/openssl/ssl/quic/quic_record_rx.c:234,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:235,1
    - Dst: ossl_quic_demux_release_urxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qrx
    - l
    argTypes:
    - OSSL_QRX*
    - QUIC_URXE_LIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: qrx_cleanup_urxl
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_quic_demux_release_urxe
    - ossl_list_urxe_next
    - ossl_list_urxe_remove
    - ossl_list_urxe_head
    linkageType: ''
    returnType: void
    signature: void qrx_cleanup_urxl(OSSL_QRX *qrx, QUIC_URXE_LIST *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - OSSL_QRX*
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: ossl_qrx_update_pn_space
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_update_pn_space(OSSL_QRX *src, OSSL_QRX *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qrx_cleanup_rxl
      Src: /src/openssl/ssl/quic/quic_record_rx.c:258,1
    - Dst: qrx_cleanup_rxl
      Src: /src/openssl/ssl/quic/quic_record_rx.c:259,1
    - Dst: qrx_cleanup_urxl
      Src: /src/openssl/ssl/quic/quic_record_rx.c:260,1
    - Dst: qrx_cleanup_urxl
      Src: /src/openssl/ssl/quic/quic_record_rx.c:261,1
    - Dst: ossl_qrl_enc_level_set_discard
      Src: /src/openssl/ssl/quic/quic_record_rx.c:265,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_record_rx.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: ossl_qrx_free
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 4
    functionsReached:
    - qrx_cleanup_rxl
    - qrx_cleanup_urxl
    - ossl_qrl_enc_level_set_discard
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_free(OSSL_QRX *qrx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:276,1
    - Dst: OSSL_QRX*::msg_callback
      Src: /src/openssl/ssl/quic/quic_record_rx.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - qrx
    - urxe
    argTypes:
    - OSSL_QRX*
    - QUIC_URXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: ossl_qrx_inject_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 3
    functionsReached:
    - ossl_list_urxe_insert_tail
    - OSSL_QRX*::msg_callback
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_inject_urxe(OSSL_QRX *qrx, QUIC_URXE *urxe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrx_pkt_orphan
      Src: /src/openssl/ssl/quic/quic_record_rx.c:292,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:293,1
    - Dst: ossl_list_rxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qrx
    - pkt
    argTypes:
    - OSSL_QRX*
    - OSSL_QRX_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: ossl_qrx_inject_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ossl_list_rxe_insert_tail
    - ossl_qrx_pkt_orphan
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_inject_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT *pkt)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_record_rx.c:319,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:319,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:323,1
    - Dst: qrx_ensure_free_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:329,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_record_rx.c:329,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_record_rx.c:337,1
    - Dst: qrx_validate_hdr_early
      Src: /src/openssl/ssl/quic/quic_record_rx.c:348,1
    - Dst: ossl_qrl_enc_level_set_have_el
      Src: /src/openssl/ssl/quic/quic_record_rx.c:351,1
    - Dst: qrx_relocate_buffer
      Src: /src/openssl/ssl/quic/quic_record_rx.c:362,1
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_rx.c:370,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:371,1
    - Dst: ossl_quic_hdr_protector_decrypt
      Src: /src/openssl/ssl/quic/quic_record_rx.c:373,1
    - Dst: pkt_mark
      Src: /src/openssl/ssl/quic/quic_record_rx.c:380,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_record_rx.c:383,1
    - Dst: qrx_validate_hdr
      Src: /src/openssl/ssl/quic/quic_record_rx.c:388,1
    - Dst: qrx_reserve_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:399,1
    - Dst: rxe_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:415,1
    - Dst: qrx_decrypt_pkt_body
      Src: /src/openssl/ssl/quic/quic_record_rx.c:416,1
    - Dst: qrx_validate_hdr_late
      Src: /src/openssl/ssl/quic/quic_record_rx.c:432,1
    - Dst: pkt_mark
      Src: /src/openssl/ssl/quic/quic_record_rx.c:435,1
    - Dst: rxe_determine_pn_space
      Src: /src/openssl/ssl/quic/quic_record_rx.c:448,1
    - Dst: ossl_list_rxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:463,1
    - Dst: ossl_list_rxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:464,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 4
    argNames:
    - qrx
    - urxe
    - first_dcid
    - datagram_len
    argTypes:
    - OSSL_QRX*
    - QUIC_URXE*
    - QUIC_CONN_ID*
    - size_t
    assertStmts:
    - condition: (el != NULL)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 471
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 471
    functionName: qrx_validate_initial_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - qrx_reserve_rxe
    - qrx_validate_hdr_late
    - pkt_mark
    - qrx_relocate_buffer
    - ossl_qrl_enc_level_set_have_el
    - PACKET_data
    - assert
    - PACKET_buf_init
    - ossl_list_rxe_remove
    - qrx_validate_hdr
    - qrx_validate_hdr_early
    - ossl_qrl_enc_level_set_get
    - rxe_determine_pn_space
    - ossl_quic_wire_decode_pkt_hdr
    - ossl_list_rxe_insert_tail
    - ossl_quic_urxe_data
    - qrx_ensure_free_rxe
    - ossl_quic_hdr_protector_decrypt
    - PACKET_remaining
    - rxe_data
    - qrx_decrypt_pkt_body
    linkageType: ''
    returnType: int
    signature: "int qrx_validate_initial_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,\n                                    const
      QUIC_CONN_ID *first_dcid,\n                                    size_t datagram_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qrx_validate_initial_pkt
      Src: /src/openssl/ssl/quic/quic_record_rx.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - qrx
    - urxe
    - dcid
    argTypes:
    - OSSL_QRX*
    - QUIC_URXE*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 5
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: ossl_qrx_validate_initial_packet
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - qrx_validate_initial_pkt
    linkageType: ''
    returnType: int
    signature: "int ossl_qrx_validate_initial_packet(OSSL_QRX *qrx, QUIC_URXE *urxe,\n
      \                                    const QUIC_CONN_ID *dcid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:487,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:488,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: qrx_requeue_deferred
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_insert_tail
    - ossl_list_urxe_remove
    - ossl_list_urxe_head
    linkageType: ''
    returnType: void
    signature: void qrx_requeue_deferred(OSSL_QRX *qrx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_provide_secret
      Src: /src/openssl/ssl/quic/quic_record_rx.c:500,1
    - Dst: qrx_requeue_deferred
      Src: /src/openssl/ssl/quic/quic_record_rx.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - qrx
    - enc_level
    - suite_id
    - md
    - secret
    - secret_len
    argTypes:
    - OSSL_QRX*
    - uint32_t
    - uint32_t
    - EVP_MD*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 493
    functionDepth: 11
    functionLinenumber: 493
    functionLinenumberEnd: 519
    functionName: ossl_qrx_provide_secret
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 4
    functionsReached:
    - ossl_qrl_enc_level_set_provide_secret
    - qrx_requeue_deferred
    linkageType: ''
    returnType: int
    signature: "int ossl_qrx_provide_secret(OSSL_QRX *qrx, uint32_t enc_level,\n                            uint32_t
      suite_id, EVP_MD *md,\n                            const unsigned char *secret,
      size_t secret_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_discard
      Src: /src/openssl/ssl/quic/quic_record_rx.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qrx
    - enc_level
    argTypes:
    - OSSL_QRX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: ossl_qrx_discard_enc_level
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 2
    functionsReached:
    - ossl_qrl_enc_level_set_discard
    linkageType: ''
    returnType: int
    signature: int ossl_qrx_discard_enc_level(OSSL_QRX *qrx, uint32_t enc_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_rxe_is_empty
      Src: /src/openssl/ssl/quic/quic_record_rx.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: ossl_qrx_processed_read_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_list_rxe_is_empty
    linkageType: ''
    returnType: int
    signature: int ossl_qrx_processed_read_pending(OSSL_QRX *qrx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_is_empty
      Src: /src/openssl/ssl/quic/quic_record_rx.c:539,1
    - Dst: ossl_list_urxe_is_empty
      Src: /src/openssl/ssl/quic/quic_record_rx.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: ossl_qrx_unprocessed_read_pending
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_list_urxe_is_empty
    linkageType: ''
    returnType: int
    signature: int ossl_qrx_unprocessed_read_pending(OSSL_QRX *qrx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_rxe_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:546,1
    - Dst: ossl_list_rxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 553
    functionName: qrx_pop_pending_rxe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_list_rxe_head
    - ossl_list_rxe_remove
    linkageType: ''
    returnType: RXE
    signature: RXE *qrx_pop_pending_rxe(OSSL_QRX *qrx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/quic/quic_record_rx.c:563,1
    - Dst: ossl_list_rxe_init_elem
      Src: /src/openssl/ssl/quic/quic_record_rx.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - alloc_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 572
    functionName: qrx_alloc_rxe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_list_rxe_init_elem
    - OPENSSL_malloc
    linkageType: ''
    returnType: RXE
    signature: RXE *qrx_alloc_rxe(size_t alloc_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_rxe_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:585,1
    - Dst: ossl_list_rxe_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:586,1
    - Dst: qrx_alloc_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:588,1
    - Dst: ossl_list_rxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - qrx
    - alloc_len
    argTypes:
    - OSSL_QRX*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 594
    functionName: qrx_ensure_free_rxe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_list_rxe_insert_tail
    - ossl_list_rxe_head
    - qrx_alloc_rxe
    linkageType: ''
    returnType: RXE
    signature: RXE *qrx_ensure_free_rxe(OSSL_QRX *qrx, size_t alloc_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_rxe_prev
      Src: /src/openssl/ssl/quic/quic_record_rx.c:613,1
    - Dst: ossl_list_rxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:614,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:617,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/quic/quic_record_rx.c:624,1
    - Dst: ossl_list_rxe_insert_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:628,1
    - Dst: ossl_list_rxe_insert_after
      Src: /src/openssl/ssl/quic/quic_record_rx.c:630,1
    - Dst: ossl_list_rxe_insert_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:635,1
    - Dst: ossl_list_rxe_insert_after
      Src: /src/openssl/ssl/quic/quic_record_rx.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - rxl
    - rxe
    - n
    argTypes:
    - RXE_LIST*
    - RXE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 641
    functionName: qrx_resize_rxe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ossl_list_rxe_remove
    - ossl_list_rxe_insert_after
    - ossl_list_rxe_prev
    - ossl_list_rxe_insert_head
    - OPENSSL_realloc
    linkageType: ''
    returnType: RXE
    signature: RXE *qrx_resize_rxe(RXE_LIST *rxl, RXE *rxe, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qrx_resize_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rxl
    - rxe
    - n
    argTypes:
    - RXE_LIST*
    - RXE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: qrx_reserve_rxe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - qrx_resize_rxe
    linkageType: ''
    returnType: RXE
    signature: "RXE *qrx_reserve_rxe(RXE_LIST *rxl,\n                            RXE
      *rxe, size_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:660,1
    - Dst: ossl_list_rxe_prev
      Src: /src/openssl/ssl/quic/quic_record_rx.c:660,1
    - Dst: ossl_list_rxe_next
      Src: /src/openssl/ssl/quic/quic_record_rx.c:660,1
    - Dst: ossl_list_rxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qrx
    - rxe
    argTypes:
    - OSSL_QRX*
    - RXE*
    assertStmts:
    - condition: (ossl_list_rxe_prev(rxe) == NULL && ossl_list_rxe_next(rxe) == NULL)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 665
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 665
    functionName: qrx_recycle_rxe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_list_rxe_prev
    - ossl_list_rxe_insert_tail
    - ossl_list_rxe_next
    - assert
    linkageType: ''
    returnType: void
    signature: void qrx_recycle_rxe(OSSL_QRX *qrx, RXE *rxe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qrx_reserve_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:683,1
    - Dst: rxe_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:687,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_rx.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - qrx
    - prxe
    - pi
    - pptr
    - buf_len
    argTypes:
    - OSSL_QRX*
    - RXE**
    - size_t*
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 693
    functionName: qrx_relocate_buffer
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - rxe_data
    - qrx_reserve_rxe
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int qrx_relocate_buffer(OSSL_QRX *qrx, RXE **prxe, size_t *pi,\n                               const
      unsigned char **pptr, size_t buf_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - QUIC_PKT_HDR*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 707
        line_start: 707
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 713
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 713
    functionName: qrx_determine_enc_level
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t qrx_determine_enc_level(const QUIC_PKT_HDR *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qrx_determine_enc_level
      Src: /src/openssl/ssl/quic/quic_record_rx.c:719,1
    - Dst: ossl_quic_enc_level_to_pn_space
      Src: /src/openssl/ssl/quic/quic_record_rx.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rxe
    argTypes:
    - RXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 721
    functionName: rxe_determine_pn_space
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_quic_enc_level_to_pn_space
    - qrx_determine_enc_level
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rxe_determine_pn_space(RXE *rxe)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_pkt_type_can_share_dgram
      Src: /src/openssl/ssl/quic/quic_record_rx.c:736,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:744,1
    - Dst: ossl_quic_conn_id_eq
      Src: /src/openssl/ssl/quic/quic_record_rx.c:745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - qrx
    - rxe
    - first_dcid
    argTypes:
    - OSSL_QRX*
    - RXE*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 751
    functionName: qrx_validate_hdr_early
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - ossl_quic_conn_id_eq
    - ossl_quic_pkt_type_can_share_dgram
    linkageType: ''
    returnType: int
    signature: "int qrx_validate_hdr_early(OSSL_QRX *qrx, RXE *rxe,\n                                  const
      QUIC_CONN_ID *first_dcid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rxe_determine_pn_space
      Src: /src/openssl/ssl/quic/quic_record_rx.c:756,1
    - Dst: ossl_quic_wire_decode_pkt_hdr_pn
      Src: /src/openssl/ssl/quic/quic_record_rx.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qrx
    - rxe
    argTypes:
    - OSSL_QRX*
    - RXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: qrx_validate_hdr
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_quic_wire_decode_pkt_hdr_pn
    - rxe_determine_pn_space
    linkageType: ''
    returnType: int
    signature: int qrx_validate_hdr(OSSL_QRX *qrx, RXE *rxe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rxe_determine_pn_space
      Src: /src/openssl/ssl/quic/quic_record_rx.c:769,1
    - Dst: OSSL_QRX*::validation_cb
      Src: /src/openssl/ssl/quic/quic_record_rx.c:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - qrx
    - rxe
    argTypes:
    - OSSL_QRX*
    - RXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 780
    functionName: qrx_validate_hdr_late
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - OSSL_QRX*::validation_cb
    - rxe_determine_pn_space
    linkageType: ''
    returnType: int
    signature: int qrx_validate_hdr_late(OSSL_QRX *qrx, RXE *rxe)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - qrx
    - el
    - enc_level
    - key_phase_bit
    - rx_key_epoch
    - is_old_key
    argTypes:
    - OSSL_QRX*
    - OSSL_QRL_ENC_LEVEL*
    - uint32_t
    - unsigned char
    - uint64_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 875
    functionName: qrx_get_cipher_ctx_idx
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    linkageType: ''
    returnType: size_t
    signature: "size_t qrx_get_cipher_ctx_idx(OSSL_QRX *qrx, OSSL_QRL_ENC_LEVEL *el,\n
      \                                    uint32_t enc_level,\n                                     unsigned
      char key_phase_bit,\n                                     uint64_t *rx_key_epoch,\n
      \                                    int *is_old_key)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_rx.c:897,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:905,1
    - Dst: ossl_qrl_get_suite_max_forged_pkt
      Src: /src/openssl/ssl/quic/quic_record_rx.c:915,1
    - Dst: qrx_get_cipher_ctx_idx
      Src: /src/openssl/ssl/quic/quic_record_rx.c:918,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:920,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/quic_record_rx.c:920,1
    - Dst: EVP_CIPHER_CTX_get_iv_length
      Src: /src/openssl/ssl/quic/quic_record_rx.c:939,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:940,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_rx.c:943,1
    - Dst: EVP_CipherInit_ex
      Src: /src/openssl/ssl/quic/quic_record_rx.c:948,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/openssl/ssl/quic/quic_record_rx.c:953,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_record_rx.c:959,1
    - Dst: EVP_CipherUpdate
      Src: /src/openssl/ssl/quic/quic_record_rx.c:963,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_rx.c:971,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/ssl/quic/quic_record_rx.c:974,1
    - Dst: EVP_CipherFinal_ex
      Src: /src/openssl/ssl/quic/quic_record_rx.c:979,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 11
    argNames:
    - qrx
    - dst
    - src
    - src_len
    - dec_len
    - aad
    - aad_len
    - pn
    - enc_level
    - key_phase_bit
    - rx_key_epoch
    argTypes:
    - OSSL_QRX*
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    - QUIC_PN
    - uint32_t
    - unsigned char
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 886
    functionDepth: 6
    functionLinenumber: 886
    functionLinenumberEnd: 988
    functionName: qrx_decrypt_pkt_body
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_assert
    - EVP_CIPHER_CTX_get_iv_length
    - EVP_CipherUpdate
    - memcpy
    - EVP_CIPHER_CTX_ctrl
    - OSSL_NELEM
    - EVP_CipherInit_ex
    - EVP_CipherFinal_ex
    - ossl_qrl_get_suite_max_forged_pkt
    - qrx_get_cipher_ctx_idx
    linkageType: ''
    returnType: int
    signature: "int qrx_decrypt_pkt_body(OSSL_QRX *qrx, unsigned char *dst,\n                                const
      unsigned char *src,\n                                size_t src_len, size_t
      *dec_len,\n                                const unsigned char *aad, size_t
      aad_len,\n                                QUIC_PN pn, uint32_t enc_level,\n
      \                               unsigned char key_phase_bit,\n                                uint64_t
      *rx_key_epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: ignore_res
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ignore_res(int x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_key_update
      Src: /src/openssl/ssl/quic/quic_record_rx.c:997,1
    - Dst: OSSL_QRX*::key_update_cb
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - qrx
    - pn
    argTypes:
    - OSSL_QRX*
    - QUIC_PN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 995
    functionDepth: 8
    functionLinenumber: 995
    functionLinenumberEnd: 1005
    functionName: qrx_key_update_initiated
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - OSSL_QRX*::key_update_cb
    - ossl_qrl_enc_level_set_key_update
    linkageType: ''
    returnType: void
    signature: void qrx_key_update_initiated(OSSL_QRX *qrx, QUIC_PN pn)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1017,1
    - Dst: qrx_ensure_free_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1029,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1029,1
    - Dst: pkt_is_marked
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1034,1
    - Dst: pkt_is_marked
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1042,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1043,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1053,1
    - Dst: qrx_validate_hdr_early
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1067,1
    - Dst: ossl_quic_pkt_type_is_encrypted
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1074,1
    - Dst: qrx_reserve_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1082,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1090,1
    - Dst: rxe_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1090,1
    - Dst: pkt_mark
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1091,1
    - Dst: rxe_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1093,1
    - Dst: ossl_list_rxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1105,1
    - Dst: ossl_list_rxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1106,1
    - Dst: qrx_determine_enc_level
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1111,1
    - Dst: ossl_qrl_enc_level_set_have_el
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1114,1
    - Dst: qrx_relocate_buffer
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1158,1
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1167,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1168,1
    - Dst: ossl_quic_hdr_protector_decrypt
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1171,1
    - Dst: pkt_mark
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1178,1
    - Dst: ossl_quic_wire_decode_pkt_hdr
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1181,1
    - Dst: qrx_validate_hdr
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1187,1
    - Dst: OSSL_QRX*::msg_callback
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1191,1
    - Dst: qrx_reserve_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1203,1
    - Dst: rxe_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1226,1
    - Dst: qrx_decrypt_pkt_body
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1227,1
    - Dst: qrx_validate_hdr_late
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1243,1
    - Dst: qrx_key_update_initiated
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1249,1
    - Dst: pkt_mark
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1266,1
    - Dst: rxe_determine_pn_space
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1279,1
    - Dst: ossl_list_rxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1290,1
    - Dst: ossl_list_rxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1291,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1300,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1300,1
    - Dst: ignore_res
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1305,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1305,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1305,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1318,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1318,1
    - Dst: pkt_mark
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1319,1
    - Dst: ignore_res
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1321,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1321,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1321,1
    - Dst: pkt_mark
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1332,1
    - Dst: ignore_res
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1334,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1334,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1334,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 120
    argCount: 6
    argNames:
    - qrx
    - urxe
    - pkt
    - pkt_idx
    - first_dcid
    - datagram_len
    argTypes:
    - OSSL_QRX*
    - QUIC_URXE*
    - PACKET*
    - size_t
    - QUIC_CONN_ID*
    - size_t
    assertStmts:
    - condition: (eop != NULL && eop >= PACKET_data(pkt))
      pos:
        line_end: 1299
        line_start: 1299
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    - condition: (eop >= PACKET_data(pkt))
      pos:
        line_end: 1317
        line_start: 1317
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    - condition: (el != NULL)
      pos:
        line_end: 1167
        line_start: 1167
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 1337
      start: 1008
    functionDepth: 9
    functionLinenumber: 1008
    functionLinenumberEnd: 1337
    functionName: qrx_process_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - qrx_reserve_rxe
    - pkt_is_marked
    - memcpy
    - qrx_validate_hdr_late
    - pkt_mark
    - qrx_relocate_buffer
    - ossl_qrl_enc_level_set_have_el
    - PACKET_data
    - assert
    - ossl_list_rxe_remove
    - ignore_res
    - qrx_validate_hdr
    - qrx_key_update_initiated
    - qrx_validate_hdr_early
    - ossl_quic_pkt_type_is_encrypted
    - ossl_qrl_enc_level_set_get
    - rxe_determine_pn_space
    - ossl_quic_wire_decode_pkt_hdr
    - ossl_list_rxe_insert_tail
    - PACKET_forward
    - qrx_ensure_free_rxe
    - qrx_determine_enc_level
    - ossl_quic_hdr_protector_decrypt
    - OSSL_QRX*::msg_callback
    - PACKET_remaining
    - rxe_data
    - qrx_decrypt_pkt_body
    linkageType: ''
    returnType: int
    signature: "int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,\n                           PACKET
      *pkt, size_t pkt_idx,\n                           QUIC_CONN_ID *first_dcid,\n
      \                          size_t datagram_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1351,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1354,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1360,1
    - Dst: qrx_process_pkt
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - qrx
    - e
    - data
    - data_len
    argTypes:
    - OSSL_QRX*
    - QUIC_URXE*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1340
    functionDepth: 10
    functionLinenumber: 1340
    functionLinenumberEnd: 1383
    functionName: qrx_process_datagram
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - qrx_process_pkt
    - PACKET_remaining
    - PACKET_buf_init
    linkageType: ''
    returnType: int
    signature: "int qrx_process_datagram(OSSL_QRX *qrx, QUIC_URXE *e,\n                                const
      unsigned char *data,\n                                size_t data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1391,1
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1391,1
    - Dst: qrx_process_datagram
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1400,1
    - Dst: ossl_quic_urxe_data
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1400,1
    - Dst: ossl_list_urxe_remove
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1407,1
    - Dst: ossl_list_urxe_insert_tail
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1410,1
    - Dst: ossl_quic_demux_release_urxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - qrx
    - e
    argTypes:
    - OSSL_QRX*
    - QUIC_URXE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1386
    functionDepth: 11
    functionLinenumber: 1386
    functionLinenumberEnd: 1424
    functionName: qrx_process_one_urxe
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - qrx_process_datagram
    - ossl_list_urxe_insert_tail
    - ossl_quic_demux_release_urxe
    - ossl_quic_urxe_data
    - ossl_list_urxe_head
    - ossl_list_urxe_remove
    linkageType: ''
    returnType: int
    signature: int qrx_process_one_urxe(OSSL_QRX *qrx, QUIC_URXE *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_urxe_head
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1431,1
    - Dst: qrx_process_one_urxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1427
    functionDepth: 12
    functionLinenumber: 1427
    functionLinenumberEnd: 1436
    functionName: qrx_process_pending_urxl
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached:
    - qrx_process_one_urxe
    - ossl_list_urxe_head
    linkageType: ''
    returnType: int
    signature: int qrx_process_pending_urxl(OSSL_QRX *qrx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrx_processed_read_pending
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1442,1
    - Dst: qrx_process_pending_urxl
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1443,1
    - Dst: ossl_qrx_processed_read_pending
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1446,1
    - Dst: qrx_pop_pending_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1450,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1451,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1454,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1462,1
    - Dst: BIO_ADDR_family
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - qrx
    - ppkt
    argTypes:
    - OSSL_QRX*
    - OSSL_QRX_PKT**
    assertStmts:
    - condition: (rxe->refcount == 0)
      pos:
        line_end: 1453
        line_start: 1453
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 1471
      start: 1438
    functionDepth: 13
    functionLinenumber: 1438
    functionLinenumberEnd: 1471
    functionName: ossl_qrx_read_pkt
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 4
    functionsReached:
    - ossl_assert
    - qrx_process_pending_urxl
    - BIO_ADDR_family
    - ossl_qrx_processed_read_pending
    - qrx_pop_pending_rxe
    - assert
    linkageType: ''
    returnType: int
    signature: int ossl_qrx_read_pkt(OSSL_QRX *qrx, OSSL_QRX_PKT **ppkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1481,1
    - Dst: qrx_recycle_rxe
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - OSSL_QRX_PKT*
    assertStmts:
    - condition: (rxe->refcount > 0)
      pos:
        line_end: 1480
        line_start: 1480
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 1484
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1484
    functionName: ossl_qrx_pkt_release
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 7
    functionsReached:
    - qrx_recycle_rxe
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_pkt_release(OSSL_QRX_PKT *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1493,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1495,1
    - Dst: ossl_list_rxe_prev
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1495,1
    - Dst: ossl_list_rxe_next
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - OSSL_QRX_PKT*
    assertStmts:
    - condition: (rxe->refcount > 0)
      pos:
        line_end: 1492
        line_start: 1492
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    - condition: (ossl_list_rxe_prev(rxe) == NULL && ossl_list_rxe_next(rxe) == NULL)
      pos:
        line_end: 1494
        line_start: 1494
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 1497
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1497
    functionName: ossl_qrx_pkt_orphan
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_list_rxe_prev
    - ossl_list_rxe_next
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_pkt_orphan(OSSL_QRX_PKT *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - OSSL_QRX_PKT*
    assertStmts:
    - condition: (rxe->refcount > 0)
      pos:
        line_end: 1502
        line_start: 1502
        source_file: /src/openssl/ssl/quic/quic_record_rx.c
    constantsTouched: []
    func_position:
      end: 1505
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1505
    functionName: ossl_qrx_pkt_up_ref
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_pkt_up_ref(OSSL_QRX_PKT *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qrx
    - clear
    argTypes:
    - OSSL_QRX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1515
    functionName: ossl_qrx_get_bytes_received
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_qrx_get_bytes_received(OSSL_QRX *qrx, int clear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - qrx
    - cb
    - cb_arg
    argTypes:
    - OSSL_QRX*
    - ossl_qrx_late_validation_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1524
    functionName: ossl_qrx_set_late_validation_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_qrx_set_late_validation_cb(OSSL_QRX *qrx,\n                                    ossl_qrx_late_validation_cb
      *cb,\n                                    void *cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - qrx
    - cb
    - cb_arg
    argTypes:
    - OSSL_QRX*
    - ossl_qrx_key_update_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1533
    functionName: ossl_qrx_set_key_update_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ossl_qrx_set_key_update_cb(OSSL_QRX *qrx,\n                               ossl_qrx_key_update_cb
      *cb,\n                               void *cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1541
    functionName: ossl_qrx_get_key_epoch
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 4
    functionsReached:
    - ossl_qrl_enc_level_set_get
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_qrx_get_key_epoch(OSSL_QRX *qrx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1545,1
    - Dst: ossl_qrl_enc_level_set_key_update_done
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1552,1
    - Dst: ossl_qrl_enc_level_set_key_cooldown_done
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - qrx
    - normal
    argTypes:
    - OSSL_QRX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1543
    functionDepth: 8
    functionLinenumber: 1543
    functionLinenumberEnd: 1562
    functionName: ossl_qrx_key_update_timeout
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 2
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_qrl_enc_level_set_key_update_done
    - ossl_qrl_enc_level_set_key_cooldown_done
    linkageType: ''
    returnType: int
    signature: int ossl_qrx_key_update_timeout(OSSL_QRX *qrx, int normal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1567
    functionName: ossl_qrx_get_cur_forged_pkt_count
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ossl_qrx_get_cur_forged_pkt_count(OSSL_QRX *qrx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_qrl_enc_level_set_get
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1572,1
    - Dst: ossl_qrl_get_suite_max_forged_pkt
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qrx
    - enc_level
    argTypes:
    - OSSL_QRX*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1569
    functionDepth: 2
    functionLinenumber: 1569
    functionLinenumberEnd: 1577
    functionName: ossl_qrx_get_max_forged_pkt_count
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 1
    functionsReached:
    - ossl_qrl_enc_level_set_get
    - ossl_qrl_get_suite_max_forged_pkt
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t ossl_qrx_get_max_forged_pkt_count(OSSL_QRX *qrx,\n                                           uint32_t
      enc_level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qrx_requeue_deferred
      Src: /src/openssl/ssl/quic/quic_record_rx.c:1585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1586
    functionName: ossl_qrx_allow_1rtt_processing
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 3
    functionsReached:
    - qrx_requeue_deferred
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_allow_1rtt_processing(OSSL_QRX *qrx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - qrx
    - msg_callback
    - msg_callback_ssl
    argTypes:
    - OSSL_QRX*
    - ossl_msg_cb
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1593
    functionName: ossl_qrx_set_msg_callback
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_qrx_set_msg_callback(OSSL_QRX *qrx, ossl_msg_cb msg_callback,\n
      \                              SSL *msg_callback_ssl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qrx
    - msg_callback_arg
    argTypes:
    - OSSL_QRX*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1598
    functionName: ossl_qrx_set_msg_callback_arg
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_qrx_set_msg_callback_arg(OSSL_QRX *qrx, void *msg_callback_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qrx
    argTypes:
    - OSSL_QRX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1603
    functionName: ossl_qrx_get_short_hdr_conn_id_len
    functionSourceFile: /src/openssl/ssl/quic/quic_record_rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_qrx_get_short_hdr_conn_id_len(OSSL_QRX *qrx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/quic/quic_types.c:22,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/quic/quic_types.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - libctx
    - len
    - cid
    argTypes:
    - OSSL_LIB_CTX*
    - size_t
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 14
    functionDepth: 7
    functionLinenumber: 14
    functionLinenumberEnd: 29
    functionName: ossl_quic_gen_rand_conn_id
    functionSourceFile: /src/openssl/ssl/quic/quic_types.c
    functionUses: 2
    functionsReached:
    - RAND_bytes_ex
    - ERR_raise
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_gen_rand_conn_id(OSSL_LIB_CTX *libctx, size_t len,\n
      \                              QUIC_CONN_ID *cid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_engine.c:30,1
    - Dst: qeng_init
      Src: /src/openssl/ssl/quic/quic_engine.c:37,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_engine.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - QUIC_ENGINE_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: ossl_quic_engine_new
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 4
    functionsReached:
    - qeng_init
    - OPENSSL_zalloc
    - OPENSSL_free
    linkageType: ''
    returnType: QUIC_ENGINE
    signature: QUIC_ENGINE *ossl_quic_engine_new(const QUIC_ENGINE_ARGS *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qeng_cleanup
      Src: /src/openssl/ssl/quic/quic_engine.c:50,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_engine.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qeng
    argTypes:
    - QUIC_ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: ossl_quic_engine_free
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 8
    functionsReached:
    - qeng_cleanup
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_engine_free(QUIC_ENGINE *qeng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_init
      Src: /src/openssl/ssl/quic/quic_engine.c:56,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/quic/quic_engine.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qeng
    - reactor_flags
    argTypes:
    - QUIC_ENGINE*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: qeng_init
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 1
    functionsReached:
    - ossl_time_zero
    - ossl_quic_reactor_init
    linkageType: ''
    returnType: int
    signature: int qeng_init(QUIC_ENGINE *qeng, uint64_t reactor_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_engine.c:63,1
    - Dst: ossl_list_port_num
      Src: /src/openssl/ssl/quic/quic_engine.c:63,1
    - Dst: ossl_quic_reactor_cleanup
      Src: /src/openssl/ssl/quic/quic_engine.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qeng
    argTypes:
    - QUIC_ENGINE*
    assertStmts:
    - condition: (ossl_list_port_num(&qeng->port_list) == 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/openssl/ssl/quic/quic_engine.c
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: qeng_cleanup
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 1
    functionsReached:
    - ossl_quic_reactor_cleanup
    - ossl_list_port_num
    - assert
    linkageType: ''
    returnType: void
    signature: void qeng_cleanup(QUIC_ENGINE *qeng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qeng
    argTypes:
    - QUIC_ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ossl_quic_engine_get0_reactor
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: QUIC_REACTOR
    signature: QUIC_REACTOR *ossl_quic_engine_get0_reactor(QUIC_ENGINE *qeng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qeng
    argTypes:
    - QUIC_ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ossl_quic_engine_get0_mutex
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CRYPTO_MUTEX
    signature: CRYPTO_MUTEX *ossl_quic_engine_get0_mutex(QUIC_ENGINE *qeng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/quic_engine.c:80,1
    - Dst: QUIC_ENGINE*::now_cb
      Src: /src/openssl/ssl/quic/quic_engine.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qeng
    argTypes:
    - QUIC_ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: ossl_quic_engine_get_time
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 2
    functionsReached:
    - ossl_time_now
    - QUIC_ENGINE*::now_cb
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_quic_engine_get_time(QUIC_ENGINE *qeng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/quic/quic_engine.c:90,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/quic/quic_engine.c:91,1
    - Dst: QUIC_ENGINE*::now_cb
      Src: /src/openssl/ssl/quic/quic_engine.c:93,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/quic/quic_engine.c:96,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/quic/quic_engine.c:96,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/quic/quic_engine.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - qeng
    - tm
    argTypes:
    - QUIC_ENGINE*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: ossl_quic_engine_make_real_time
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 1
    functionsReached:
    - ossl_time_is_infinite
    - ossl_time_subtract
    - ossl_time_now
    - ossl_time_is_zero
    - ossl_time_add
    - QUIC_ENGINE*::now_cb
    linkageType: ''
    returnType: OSSL_TIME
    signature: OSSL_TIME ossl_quic_engine_make_real_time(QUIC_ENGINE *qeng, OSSL_TIME
      tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qeng
    - now_cb_arg
    argTypes:
    - QUIC_ENGINE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: ossl_quic_engine_set_time_cb
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ossl_quic_engine_set_time_cb(QUIC_ENGINE *qeng,\n                                  OSSL_TIME
      (*now_cb)(void *arg),\n                                  void *now_cb_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qeng
    - inhibit
    argTypes:
    - QUIC_ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: ossl_quic_engine_set_inhibit_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_quic_engine_set_inhibit_tick(QUIC_ENGINE *qeng, int inhibit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qeng
    argTypes:
    - QUIC_ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ossl_quic_engine_get0_libctx
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_LIB_CTX
    signature: OSSL_LIB_CTX *ossl_quic_engine_get0_libctx(QUIC_ENGINE *qeng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qeng
    argTypes:
    - QUIC_ENGINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: ossl_quic_engine_get0_propq
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ossl_quic_engine_get0_propq(QUIC_ENGINE *qeng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_engine.c:139,1
    - Dst: ossl_quic_port_update_poll_descriptors
      Src: /src/openssl/ssl/quic/quic_engine.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qeng
    - force
    argTypes:
    - QUIC_ENGINE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: ossl_quic_engine_update_poll_descriptors
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 3
    functionsReached:
    - OSSL_LIST_FOREACH
    - ossl_quic_port_update_poll_descriptors
    linkageType: ''
    returnType: void
    signature: void ossl_quic_engine_update_poll_descriptors(QUIC_ENGINE *qeng, int
      force)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_list_port_num
      Src: /src/openssl/ssl/quic/quic_engine.c:153,1
    - Dst: ossl_quic_port_new
      Src: /src/openssl/ssl/quic/quic_engine.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - qeng
    - args
    argTypes:
    - QUIC_ENGINE*
    - QUIC_PORT_ARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: ossl_quic_engine_create_port
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 4
    functionsReached:
    - ossl_list_port_num
    - ossl_quic_port_new
    linkageType: ''
    returnType: QUIC_PORT
    signature: "QUIC_PORT *ossl_quic_engine_create_port(QUIC_ENGINE *qeng,\n                                        const
      QUIC_PORT_ARGS *args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/quic/quic_engine.c:182,1
    - Dst: OSSL_LIST_FOREACH
      Src: /src/openssl/ssl/quic/quic_engine.c:188,1
    - Dst: ossl_quic_port_subtick
      Src: /src/openssl/ssl/quic/quic_engine.c:191,1
    - Dst: ossl_quic_tick_result_merge_into
      Src: /src/openssl/ssl/quic/quic_engine.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - res
    - arg
    - flags
    argTypes:
    - QUIC_TICK_RESULT*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 194
    functionName: qeng_tick
    functionSourceFile: /src/openssl/ssl/quic/quic_engine.c
    functionUses: 0
    functionsReached:
    - ossl_time_infinite
    - OSSL_LIST_FOREACH
    - ossl_quic_port_subtick
    - ossl_quic_tick_result_merge_into
    linkageType: ''
    returnType: void
    signature: void qeng_tick(QUIC_TICK_RESULT *res, void *arg, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:20,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:21,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:22,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - qlog
    - init_dcid
    argTypes:
    - QLOG*
    - QUIC_CONN_ID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: ossl_qlog_event_connectivity_connection_started
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 1
    functionsReached:
    - QLOG_STR
    - QLOG_EVENT_BEGIN
    - QLOG_CID
    - QLOG_EVENT_END
    linkageType: ''
    returnType: void
    signature: "void ossl_qlog_event_connectivity_connection_started(QLOG *qlog,\n
      \                                                    const QUIC_CONN_ID *init_dcid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - state
    - handshake_complete
    - handshake_confirmed
    argTypes:
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: map_state_to_qlog
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *map_state_to_qlog(uint32_t state,\n                                     int
      handshake_complete,\n                                     int handshake_confirmed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:66,1
    - Dst: map_state_to_qlog
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:67,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:72,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - qlog
    - old_state
    - new_state
    - handshake_complete
    - handshake_confirmed
    argTypes:
    - QLOG*
    - uint32_t
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: ossl_qlog_event_connectivity_connection_state_updated
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 1
    functionsReached:
    - map_state_to_qlog
    - QLOG_STR
    - QLOG_EVENT_BEGIN
    - QLOG_EVENT_END
    linkageType: ''
    returnType: void
    signature: "void ossl_qlog_event_connectivity_connection_state_updated(QLOG *qlog,\n
      \                                                          uint32_t old_state,\n
      \                                                          uint32_t new_state,\n
      \                                                          int handshake_complete,\n
      \                                                          int handshake_confirmed)"
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 116
    functionName: quic_err_to_qlog
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *quic_err_to_qlog(uint64_t error_code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:123,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:124,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:126,1
    - Dst: quic_err_to_qlog
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:128,1
    - Dst: BIO_snprintf
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:133,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:140,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:142,1
    - Dst: QLOG_STR_LEN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:145,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - qlog
    - tcause
    argTypes:
    - QLOG*
    - QUIC_TERMINATE_CAUSE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 148
    functionName: ossl_qlog_event_connectivity_connection_closed
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 1
    functionsReached:
    - QLOG_STR
    - QLOG_STR_LEN
    - QLOG_EVENT_BEGIN
    - QLOG_EVENT_END
    - BIO_snprintf
    - QLOG_U64
    - quic_err_to_qlog
    linkageType: ''
    returnType: void
    signature: "void ossl_qlog_event_connectivity_connection_closed(QLOG *qlog,\n
      \                                                   const QUIC_TERMINATE_CAUSE
      *tcause)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - pkt_type
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: quic_pkt_type_to_qlog
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *quic_pkt_type_to_qlog(uint32_t pkt_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:176,1
    - Dst: QLOG_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:177,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:178,1
    - Dst: quic_pkt_type_to_qlog
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:178,1
    - Dst: ossl_quic_pkt_type_has_pn
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:179,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:180,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:181,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qlog
    - tpkt
    argTypes:
    - QLOG*
    - QUIC_TXPIM_PKT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: ossl_qlog_event_recovery_packet_lost
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 1
    functionsReached:
    - quic_pkt_type_to_qlog
    - QLOG_STR
    - QLOG_BEGIN
    - QLOG_EVENT_BEGIN
    - QLOG_EVENT_END
    - ossl_quic_pkt_type_has_pn
    - QLOG_U64
    - QLOG_END
    linkageType: ''
    returnType: void
    signature: "void ossl_qlog_event_recovery_packet_lost(QLOG *qlog,\n                                          const
      QUIC_TXPIM_PKT *tpkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: ignore_res
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ignore_res(int x)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_wire_peek_frame_header
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:216,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:228,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:229,1
    - Dst: ossl_quic_wire_decode_padding
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:230,1
    - Dst: ossl_quic_wire_decode_frame_ping
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:233,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:236,1
    - Dst: ossl_quic_wire_peek_frame_ack_num_ranges
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:240,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:244,1
    - Dst: ossl_quic_wire_decode_frame_ack
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:245,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:248,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:249,1
    - Dst: ossl_time2ms
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:249,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:251,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:252,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:253,1
    - Dst: QLOG_BEGIN_ARRAY
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:255,1
    - Dst: QLOG_BEGIN_ARRAY
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:257,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:258,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:260,1
    - Dst: QLOG_END_ARRAY
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:261,1
    - Dst: QLOG_END_ARRAY
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:263,1
    - Dst: ossl_quic_wire_decode_frame_reset_stream
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:269,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:272,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:273,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:274,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:275,1
    - Dst: ossl_quic_wire_decode_frame_stop_sending
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:282,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:285,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:286,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:287,1
    - Dst: ossl_quic_wire_decode_frame_crypto
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:294,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:297,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:298,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:299,1
    - Dst: ossl_quic_wire_decode_frame_stream
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:314,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:317,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:318,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:319,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:320,1
    - Dst: QLOG_BOOL
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:321,1
    - Dst: QLOG_BOOL
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:323,1
    - Dst: ossl_quic_wire_decode_frame_max_data
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:332,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:335,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:336,1
    - Dst: ossl_quic_wire_decode_frame_max_streams
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:344,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:347,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:348,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:351,1
    - Dst: ossl_quic_wire_decode_frame_max_stream_data
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:358,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:362,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:363,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:364,1
    - Dst: ossl_quic_wire_decode_frame_path_challenge
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:371,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:374,1
    - Dst: ossl_quic_wire_decode_frame_path_response
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:381,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:384,1
    - Dst: ossl_quic_wire_decode_frame_conn_close
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:392,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:395,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:396,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:397,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:399,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:401,1
    - Dst: QLOG_STR_LEN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:402,1
    - Dst: ossl_quic_wire_decode_frame_handshake_done
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:407,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:410,1
    - Dst: ossl_quic_wire_decode_frame_new_conn_id
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:417,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:420,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:421,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:422,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:423,1
    - Dst: QLOG_BIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:424,1
    - Dst: ossl_quic_wire_decode_frame_retire_conn_id
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:433,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:436,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:437,1
    - Dst: ossl_quic_wire_decode_frame_data_blocked
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:444,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:447,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:448,1
    - Dst: ossl_quic_wire_decode_frame_stream_data_blocked
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:455,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:460,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:461,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:462,1
    - Dst: ossl_quic_wire_decode_frame_streams_blocked
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:470,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:473,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:474,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:477,1
    - Dst: ossl_quic_wire_decode_frame_new_token
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:485,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:488,1
    - Dst: QLOG_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:489,1
    - Dst: QLOG_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:490,1
    - Dst: QLOG_BIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:491,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:492,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:493,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:498,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:499,1
    - Dst: QLOG_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:506,1
    - Dst: QLOG_BIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:507,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:507,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:508,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:509,1
    - Dst: ignore_res
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:510,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:510,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:510,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 225
    argCount: 3
    argNames:
    - qlog_instance
    - pkt
    - need_skip
    argTypes:
    - QLOG*
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 515
    functionName: log_frame_actual
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 0
    functionsReached:
    - QLOG_BEGIN_ARRAY
    - QLOG_STR
    - ossl_quic_wire_decode_frame_streams_blocked
    - ossl_quic_wire_decode_frame_max_data
    - ossl_quic_wire_peek_frame_ack_num_ranges
    - ossl_quic_wire_decode_frame_conn_close
    - ossl_quic_wire_decode_frame_stream
    - QLOG_U64
    - ossl_quic_wire_decode_frame_crypto
    - QLOG_BIN
    - PACKET_data
    - ossl_quic_wire_decode_frame_path_response
    - ignore_res
    - ossl_quic_wire_decode_frame_data_blocked
    - ossl_quic_wire_decode_frame_ack
    - QLOG_BEGIN
    - ossl_quic_wire_decode_frame_ping
    - ossl_quic_wire_peek_frame_header
    - ossl_quic_wire_decode_frame_stream_data_blocked
    - ossl_quic_wire_decode_frame_stop_sending
    - ossl_quic_wire_decode_frame_new_conn_id
    - ossl_quic_wire_decode_padding
    - QLOG_STR_LEN
    - ossl_quic_wire_decode_frame_new_token
    - QLOG_BOOL
    - ossl_quic_wire_decode_frame_handshake_done
    - ossl_quic_wire_decode_frame_reset_stream
    - ossl_time2ms
    - PACKET_forward
    - QLOG_END_ARRAY
    - ossl_quic_wire_decode_frame_max_stream_data
    - QLOG_CID
    - ossl_quic_wire_decode_frame_retire_conn_id
    - PACKET_remaining
    - OSSL_NELEM
    - ossl_quic_wire_decode_frame_path_challenge
    - QLOG_END
    - ossl_quic_wire_decode_frame_max_streams
    linkageType: ''
    returnType: int
    signature: "int log_frame_actual(QLOG *qlog_instance, PACKET *pkt,\n                            size_t
      *need_skip)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:522,1
    - Dst: log_frame_actual
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:524,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:527,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qlog_instance
    - pkt
    - need_skip
    argTypes:
    - QLOG*
    - PACKET*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 517
    functionDepth: 7
    functionLinenumber: 517
    functionLinenumberEnd: 529
    functionName: log_frame
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - log_frame_actual
    - QLOG_U64
    linkageType: ''
    returnType: void
    signature: "void log_frame(QLOG *qlog_instance, PACKET *pkt,\n                      size_t
      *need_skip)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:540,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:543,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:547,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:548,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:550,1
    - Dst: log_frame
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:559,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:561,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - qlog_instance
    - iovec
    - num_iovec
    argTypes:
    - QLOG*
    - OSSL_QTX_IOVEC*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 8
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: log_frames
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 0
    functionsReached:
    - PACKET_buf_init
    - PACKET_remaining
    - log_frame
    - PACKET_forward
    - QLOG_END
    linkageType: ''
    returnType: int
    signature: "int log_frames(QLOG *qlog_instance,\n                      const OSSL_QTX_IOVEC
      *iovec,\n                      size_t num_iovec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log_frame
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 8
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: QLOG_BEGIN
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 4
    functionsReached:
    - log_frame
    linkageType: ''
    returnType: void
    signature: void QLOG_BEGIN(NULL)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QLOG_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:577,1
    - Dst: quic_pkt_type_to_qlog
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:578,1
    - Dst: QLOG_STR
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:582,1
    - Dst: ossl_quic_pkt_type_has_pn
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:583,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:584,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:586,1
    - Dst: ossl_quic_pkt_type_has_scid
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:587,1
    - Dst: QLOG_CID
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:588,1
    - Dst: QLOG_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:591,1
    - Dst: QLOG_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:592,1
    - Dst: QLOG_BIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:593,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:594,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:595,1
    - Dst: QLOG_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:598,1
    - Dst: QLOG_U64
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:599,1
    - Dst: ossl_quic_pkt_type_is_encrypted
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:601,1
    - Dst: QLOG_BEGIN_ARRAY
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:602,1
    - Dst: log_frames
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:603,1
    - Dst: QLOG_END_ARRAY
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - qlog_instance
    - hdr
    - pn
    - iovec
    - num_iovec
    - datagram_id
    argTypes:
    - QLOG*
    - QUIC_PKT_HDR*
    - QUIC_PN
    - OSSL_QTX_IOVEC*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 568
    functionDepth: 9
    functionLinenumber: 568
    functionLinenumberEnd: 606
    functionName: log_packet
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 0
    functionsReached:
    - QLOG_CID
    - quic_pkt_type_to_qlog
    - QLOG_BEGIN_ARRAY
    - QLOG_STR
    - QLOG_BEGIN
    - log_frames
    - ossl_quic_pkt_type_has_pn
    - QLOG_U64
    - QLOG_BIN
    - QLOG_END
    - QLOG_END_ARRAY
    - ossl_quic_pkt_type_is_encrypted
    - ossl_quic_pkt_type_has_scid
    linkageType: ''
    returnType: void
    signature: "void log_packet(QLOG *qlog_instance,\n                       const
      QUIC_PKT_HDR *hdr,\n                       QUIC_PN pn,\n                       const
      OSSL_QTX_IOVEC *iovec,\n                       size_t num_iovec,\n                       uint64_t
      datagram_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:618,1
    - Dst: log_packet
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:619,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - qlog
    - hdr
    - pn
    - iovec
    - num_iovec
    - datagram_id
    argTypes:
    - QLOG*
    - QUIC_PKT_HDR*
    - QUIC_PN
    - OSSL_QTX_IOVEC*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 610
    functionDepth: 10
    functionLinenumber: 610
    functionLinenumberEnd: 622
    functionName: ossl_qlog_event_transport_packet_sent
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 1
    functionsReached:
    - log_packet
    - QLOG_EVENT_BEGIN
    - QLOG_EVENT_END
    linkageType: ''
    returnType: void
    signature: "void ossl_qlog_event_transport_packet_sent(QLOG *qlog,\n                                           const
      QUIC_PKT_HDR *hdr,\n                                           QUIC_PN pn,\n
      \                                          const OSSL_QTX_IOVEC *iovec,\n                                           size_t
      num_iovec,\n                                           uint64_t datagram_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QLOG_EVENT_BEGIN
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:632,1
    - Dst: log_packet
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:633,1
    - Dst: QLOG_EVENT_END
      Src: /src/openssl/ssl/quic/qlog_event_helpers.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - qlog
    - hdr
    - pn
    - iovec
    - num_iovec
    - datagram_id
    argTypes:
    - QLOG*
    - QUIC_PKT_HDR*
    - QUIC_PN
    - OSSL_QTX_IOVEC*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 624
    functionDepth: 10
    functionLinenumber: 624
    functionLinenumberEnd: 636
    functionName: ossl_qlog_event_transport_packet_received
    functionSourceFile: /src/openssl/ssl/quic/qlog_event_helpers.c
    functionUses: 1
    functionsReached:
    - log_packet
    - QLOG_EVENT_BEGIN
    - QLOG_EVENT_END
    linkageType: ''
    returnType: void
    signature: "void ossl_qlog_event_transport_packet_received(QLOG *qlog,\n                                               const
      QUIC_PKT_HDR *hdr,\n                                               QUIC_PN pn,\n
      \                                              const OSSL_QTX_IOVEC *iovec,\n
      \                                              size_t num_iovec,\n                                               uint64_t
      datagram_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:28,1
    - Dst: EVP_MAC_fetch
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:31,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:34,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:37,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:39,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:41,1
    - Dst: EVP_MAC_init
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:43,1
    - Dst: ossl_quic_srt_gen_free
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - libctx
    - propq
    - key
    - key_len
    argTypes:
    - OSSL_LIB_CTX*
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 22
    functionDepth: 10
    functionLinenumber: 22
    functionLinenumberEnd: 51
    functionName: ossl_quic_srt_gen_new
    functionSourceFile: /src/openssl/ssl/quic/quic_srt_gen.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_CTX_new
    - OPENSSL_zalloc
    - EVP_MAC_init
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - ossl_quic_srt_gen_free
    - EVP_MAC_fetch
    linkageType: ''
    returnType: QUIC_SRT_GEN
    signature: "QUIC_SRT_GEN *ossl_quic_srt_gen_new(OSSL_LIB_CTX *libctx, const char
      *propq,\n                                    const unsigned char *key, size_t
      key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:58,1
    - Dst: EVP_MAC_free
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:59,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - srt_gen
    argTypes:
    - QUIC_SRT_GEN*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: ossl_quic_srt_gen_free
    functionSourceFile: /src/openssl/ssl/quic/quic_srt_gen.c
    functionUses: 2
    functionsReached:
    - EVP_MAC_CTX_free
    - EVP_MAC_free
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_quic_srt_gen_free(QUIC_SRT_GEN *srt_gen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_init
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:70,1
    - Dst: EVP_MAC_update
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:73,1
    - Dst: EVP_MAC_final
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:77,1
    - Dst: assert
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:81,1
    - Dst: memcpy
      Src: /src/openssl/ssl/quic/quic_srt_gen.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - srt_gen
    - dcid
    - token
    argTypes:
    - QUIC_SRT_GEN*
    - QUIC_CONN_ID*
    - QUIC_STATELESS_RESET_TOKEN*
    assertStmts:
    - condition: (sizeof(mac) >= sizeof(token->token))
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/openssl/ssl/quic/quic_srt_gen.c
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: ossl_quic_srt_gen_calculate_token
    functionSourceFile: /src/openssl/ssl/quic/quic_srt_gen.c
    functionUses: 1
    functionsReached:
    - EVP_MAC_init
    - memcpy
    - EVP_MAC_final
    - EVP_MAC_update
    - assert
    linkageType: ''
    returnType: int
    signature: "int ossl_quic_srt_gen_calculate_token(QUIC_SRT_GEN *srt_gen,\n                                      const
      QUIC_CONN_ID *dcid,\n                                      QUIC_STATELESS_RESET_TOKEN
      *token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/extensions_clnt.c:27,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/statem/extensions_clnt.c:29,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:39,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:40,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:41,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:42,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:43,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:51,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:52,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:53,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:55,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:56,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 61
    functionName: tls_construct_ctos_renegotiate
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - SSL_CONNECTION_IS_DTLS
    - WPACKET_sub_memcpy_u8
    - ssl_security
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_renegotiate(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                          unsigned int context, X509
      *x,\n                                          size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:71,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:73,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:75,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:76,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:77,1
    - Dst: strlen
      Src: /src/openssl/ssl/statem/extensions_clnt.c:78,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:79,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:80,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 86
    functionName: tls_construct_ctos_server_name
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_sub_memcpy_u16
    - strlen
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_server_name(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                          unsigned int context, X509
      *x,\n                                          size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:101,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:103,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:104,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:105,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: tls_construct_ctos_maxfragmentlen
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - WPACKET_close
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_maxfragmentlen(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                             unsigned int context, X509
      *x,\n                                             size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:122,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:124,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:125,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/ssl/statem/extensions_clnt.c:127,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/extensions_clnt.c:128,1
    - Dst: strlen
      Src: /src/openssl/ssl/statem/extensions_clnt.c:129,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:130,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:131,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 137
    functionName: tls_construct_ctos_srp
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_set_flags
    - strlen
    - WPACKET_start_sub_packet_u8
    - WPACKET_memcpy
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_srp(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/extensions_clnt.c:144,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_clnt.c:147,1
    - Dst: SSL_get1_supported_ciphers
      Src: /src/openssl/ssl/statem/extensions_clnt.c:153,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/statem/extensions_clnt.c:154,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/statem/extensions_clnt.c:156,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:167,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/statem/extensions_clnt.c:172,1
    - Dst: tls_valid_group
      Src: /src/openssl/ssl/statem/extensions_clnt.c:176,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/statem/extensions_clnt.c:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - s
    - min_version
    - max_version
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 182
    functionName: use_ecc
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - tls1_get_supported_groups
    - tls_group_allowed
    - sk_SSL_CIPHER_value
    - SSL_CONNECTION_GET_SSL
    - STACK_OF
    - sk_SSL_CIPHER_num
    - SSL_get1_supported_ciphers
    - sk_SSL_CIPHER_free
    - tls_valid_group
    linkageType: ''
    returnType: int
    signature: int use_ecc(SSL_CONNECTION *s, int min_version, int max_version)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/statem/extensions_clnt.c:192,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:194,1
    - Dst: use_ecc
      Src: /src/openssl/ssl/statem/extensions_clnt.c:197,1
    - Dst: tls1_get_formatlist
      Src: /src/openssl/ssl/statem/extensions_clnt.c:201,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:203,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:205,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:206,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:207,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: tls_construct_ctos_ec_pt_formats
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - ssl_get_min_max_version
    - use_ecc
    - WPACKET_close
    - WPACKET_sub_memcpy_u8
    - tls1_get_formatlist
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_ec_pt_formats(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                            unsigned int context, X509
      *x,\n                                            size_t chainidx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/statem/extensions_clnt.c:223,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:225,1
    - Dst: use_ecc
      Src: /src/openssl/ssl/statem/extensions_clnt.c:233,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/extensions_clnt.c:234,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/statem/extensions_clnt.c:240,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:242,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:244,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:245,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/ssl/statem/extensions_clnt.c:246,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:247,1
    - Dst: tls_valid_group
      Src: /src/openssl/ssl/statem/extensions_clnt.c:255,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/statem/extensions_clnt.c:256,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:257,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:258,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:266,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:266,1
    - Dst: SSLfatal_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:268,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:271,1
    - Dst: SSLfatal_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:276,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 282
    functionName: tls_construct_ctos_supported_groups
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - ssl_get_min_max_version
    - tls1_get_supported_groups
    - tls_group_allowed
    - use_ecc
    - WPACKET_close
    - WPACKET_set_flags
    - SSL_CONNECTION_IS_DTLS
    - SSLfatal_data
    - tls_valid_group
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_supported_groups(SSL_CONNECTION *s,
      WPACKET *pkt,\n                                               unsigned int context,
      X509 *x,\n                                               size_t chainidx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tls_use_ticket
      Src: /src/openssl/ssl/statem/extensions_clnt.c:290,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/extensions_clnt.c:300,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:302,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/extensions_clnt.c:305,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:316,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:317,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:318,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 323
    functionName: tls_construct_ctos_session_ticket
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - tls_use_ticket
    - memcpy
    - WPACKET_sub_memcpy_u16
    - OPENSSL_malloc
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_session_ticket(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                             unsigned int context, X509
      *x,\n                                             size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/extensions_clnt.c:337,1
    - Dst: DTLS_VERSION_LT
      Src: /src/openssl/ssl/statem/extensions_clnt.c:343,1
    - Dst: DTLS_VERSION_LT
      Src: /src/openssl/ssl/statem/extensions_clnt.c:345,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/statem/extensions_clnt.c:349,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:350,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:352,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:354,1
    - Dst: tls12_copy_sigalgs
      Src: /src/openssl/ssl/statem/extensions_clnt.c:355,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:356,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:357,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:358,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 363
    functionName: tls_construct_ctos_sig_algs
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - tls12_get_psigalgs
    - tls12_copy_sigalgs
    - SSL_CONNECTION_IS_DTLS
    - DTLS_VERSION_LT
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_sig_algs(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                       unsigned int context, X509 *x,\n
      \                                      size_t chainidx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:379,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:381,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:382,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:384,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:385,1
    - Dst: sk_OCSP_RESPID_num
      Src: /src/openssl/ssl/statem/extensions_clnt.c:388,1
    - Dst: sk_OCSP_RESPID_value
      Src: /src/openssl/ssl/statem/extensions_clnt.c:390,1
    - Dst: i2d_OCSP_RESPID
      Src: /src/openssl/ssl/statem/extensions_clnt.c:391,1
    - Dst: WPACKET_sub_allocate_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:395,1
    - Dst: i2d_OCSP_RESPID
      Src: /src/openssl/ssl/statem/extensions_clnt.c:396,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:397,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:401,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:402,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:403,1
    - Dst: i2d_X509_EXTENSIONS
      Src: /src/openssl/ssl/statem/extensions_clnt.c:408,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:411,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/extensions_clnt.c:414,1
    - Dst: i2d_X509_EXTENSIONS
      Src: /src/openssl/ssl/statem/extensions_clnt.c:415,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:417,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:421,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:421,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:422,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 427
    functionName: tls_construct_ctos_status_request
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - i2d_X509_EXTENSIONS
    - sk_OCSP_RESPID_value
    - sk_OCSP_RESPID_num
    - i2d_OCSP_RESPID
    - WPACKET_close
    - WPACKET_sub_allocate_bytes_u16
    - WPACKET_allocate_bytes
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_status_request(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                             unsigned int context, X509
      *x,\n                                             size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_clnt.c:435,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/extensions_clnt.c:436,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:443,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:444,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: tls_construct_ctos_npn
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - SSLfatal
    - SSL_IS_FIRST_HANDSHAKE
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_npn(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/extensions_clnt.c:459,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:462,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:465,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:466,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:467,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 474
    functionName: tls_construct_ctos_alpn
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_sub_memcpy_u16
    - SSL_IS_FIRST_HANDSHAKE
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_alpn(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                  unsigned int context,\n                                   X509
      *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_clnt.c:482,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/extensions_clnt.c:483,1
    - Dst: SSL_get_srtp_profiles
      Src: /src/openssl/ssl/statem/extensions_clnt.c:483,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:489,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:491,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:493,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:494,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_num
      Src: /src/openssl/ssl/statem/extensions_clnt.c:498,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_value
      Src: /src/openssl/ssl/statem/extensions_clnt.c:501,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:503,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:504,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:508,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:510,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:511,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:512,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 478
    functionDepth: 4
    functionLinenumber: 478
    functionLinenumberEnd: 517
    functionName: tls_construct_ctos_use_srtp
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSL_get_srtp_profiles
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - sk_SRTP_PROTECTION_PROFILE_num
    - WPACKET_close
    - SSL_CONNECTION_GET_SSL
    - STACK_OF
    - sk_SRTP_PROTECTION_PROFILE_value
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_use_srtp(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                       unsigned int context, X509 *x,\n
      \                                      size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:527,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:528,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 534
    functionName: tls_construct_ctos_etm
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_etm(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:548,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:549,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 555
    functionName: tls_construct_ctos_sct
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_sct(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:565,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:566,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: tls_construct_ctos_ems
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_ems(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/statem/extensions_clnt.c:580,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:582,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:593,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:594,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:595,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:596,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:601,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:602,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:606,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:606,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:607,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 612
    functionName: tls_construct_ctos_supported_versions
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - ssl_get_min_max_version
    - WPACKET_close
    - WPACKET_start_sub_packet_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_supported_versions(SSL_CONNECTION *s,
      WPACKET *pkt,\n                                                 unsigned int
      context, X509 *x,\n                                                 size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:624,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:625,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:626,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:627,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:628,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:629,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:630,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:631,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 641
    functionName: tls_construct_ctos_psk_kex_modes
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_start_sub_packet_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_psk_kex_modes(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                            unsigned int context, X509
      *x,\n                                            size_t chainidx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_clnt.c:651,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_clnt.c:652,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:653,1
    - Dst: ssl_generate_pkey_group
      Src: /src/openssl/ssl/statem/extensions_clnt.c:661,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/ssl/statem/extensions_clnt.c:669,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:672,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:677,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:678,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:679,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:694,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:699,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:700,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - s
    - pkt
    - group_id
    - loop_num
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 644
    functionDepth: 10
    functionLinenumber: 644
    functionLinenumberEnd: 702
    functionName: add_key_share
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - SSLfatal
    - ssl_generate_pkey_group
    - WPACKET_put_bytes_u16
    - EVP_PKEY_get1_encoded_public_key
    - EVP_PKEY_free
    - OPENSSL_free
    - WPACKET_sub_memcpy_u16
    linkageType: ''
    returnType: int
    signature: int add_key_share(SSL_CONNECTION *s, WPACKET *pkt, unsigned int group_id,
      size_t loop_num)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:717,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:719,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:721,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:722,1
    - Dst: tls1_get_requested_keyshare_groups
      Src: /src/openssl/ssl/statem/extensions_clnt.c:726,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/statem/extensions_clnt.c:728,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:734,1
    - Dst: add_key_share
      Src: /src/openssl/ssl/statem/extensions_clnt.c:744,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/statem/extensions_clnt.c:754,1
    - Dst: tls_valid_group
      Src: /src/openssl/ssl/statem/extensions_clnt.c:756,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:763,1
    - Dst: add_key_share
      Src: /src/openssl/ssl/statem/extensions_clnt.c:766,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:778,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:782,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:782,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:783,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 705
    functionDepth: 11
    functionLinenumber: 705
    functionLinenumberEnd: 790
    functionName: tls_construct_ctos_key_share
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - tls1_get_requested_keyshare_groups
    - add_key_share
    - WPACKET_put_bytes_u16
    - tls1_get_supported_groups
    - tls_group_allowed
    - WPACKET_close
    - tls_valid_group
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_key_share(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                        unsigned int context, X509 *x,\n
      \                                       size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:802,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:804,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:805,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:807,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:808,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 792
    functionDepth: 4
    functionLinenumber: 792
    functionLinenumberEnd: 819
    functionName: tls_construct_ctos_cookie
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - OPENSSL_free
    - WPACKET_sub_memcpy_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_cookie(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                    unsigned int context,\n                                     X509
      *x, size_t chainidx)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_clnt.c:833,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/statem/extensions_clnt.c:836,1
    - Dst: SSL_CONNECTION*::psk_use_session_cb
      Src: /src/openssl/ssl/statem/extensions_clnt.c:839,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:842,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:843,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/extensions_clnt.c:852,1
    - Dst: SSL_CONNECTION*::psk_client_callback
      Src: /src/openssl/ssl/statem/extensions_clnt.c:853,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:858,1
    - Dst: strlen
      Src: /src/openssl/ssl/statem/extensions_clnt.c:864,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:866,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/ssl/statem/extensions_clnt.c:875,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_clnt.c:875,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:878,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/ssl/statem/extensions_clnt.c:882,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/ssl/statem/extensions_clnt.c:884,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/ssl/statem/extensions_clnt.c:885,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/ssl/statem/extensions_clnt.c:886,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:887,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions_clnt.c:888,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions_clnt.c:891,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:896,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:899,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/extensions_clnt.c:900,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:903,1
    - Dst: strcmp
      Src: /src/openssl/ssl/statem/extensions_clnt.c:921,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:922,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:929,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/statem/extensions_clnt.c:941,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:942,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_clnt.c:945,1
    - Dst: PACKET_equal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:946,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:953,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:959,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:960,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:961,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:962,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 87
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 821
    functionDepth: 7
    functionLinenumber: 821
    functionLinenumberEnd: 974
    functionName: tls_construct_ctos_early_data
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - ssl_handshake_md
    - OPENSSL_free
    - SSL_CONNECTION*::psk_client_callback
    - strcmp
    - SSL_SESSION_new
    - strlen
    - PACKET_buf_init
    - WPACKET_close
    - SSL_CIPHER_find
    - OPENSSL_memdup
    - PACKET_equal
    - SSL_SESSION_free
    - SSL_SESSION_set_protocol_version
    - SSL_CONNECTION*::psk_use_session_cb
    - PACKET_get_length_prefixed_1
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_GET_USER_SSL
    - WPACKET_start_sub_packet_u16
    - memset
    - SSL_SESSION_set1_master_key
    - SSL_SESSION_set_cipher
    - OPENSSL_cleanse
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_early_data(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                         unsigned int context, X509 *x,\n
      \                                        size_t chainidx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1009,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1010,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1021,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1021,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1029,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1053,1
    - Dst: WPACKET_sub_allocate_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1054,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1055,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1058,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1062
    functionName: tls_construct_ctos_padding
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - ssl_md
    - memset
    - EVP_MD_get_size
    - WPACKET_get_total_written
    - WPACKET_sub_allocate_bytes_u16
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_padding(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                     unsigned int context, X509 *x,\n                                      size_t
      chainidx)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1078,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1098,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1103,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1106,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1131,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1131,1
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1132,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1169,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1181,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1187,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1196,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1200,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1202,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1208,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1209,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1210,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1211,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1216,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1218,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1219,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1225,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1227,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1228,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1234,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1235,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1236,1
    - Dst: WPACKET_sub_allocate_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1238,1
    - Dst: WPACKET_sub_allocate_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1240,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1241,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1242,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1243,1
    - Dst: WPACKET_fill_lengths
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1248,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1249,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1253,1
    - Dst: tls_psk_do_binder
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1256,1
    - Dst: tls_psk_do_binder
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1263,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 91
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1067
    functionDepth: 4
    functionLinenumber: 1067
    functionLinenumberEnd: 1273
    functionName: tls_construct_ctos_psk
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - ssl_md
    - tls_psk_do_binder
    - ssl_handshake_md
    - EVP_MD_get_size
    - WPACKET_get_curr
    - WPACKET_close
    - WPACKET_sub_memcpy_u16
    - WPACKET_get_total_written
    - WPACKET_fill_lengths
    - ossl_time_subtract
    - ossl_time_now
    - SSL_CONNECTION_GET_CTX
    - WPACKET_put_bytes_u32
    - ossl_time2seconds
    - WPACKET_sub_allocate_bytes_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_psk(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1285,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1286,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1287,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - ossl_unused unsigned
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1275
    functionDepth: 4
    functionLinenumber: 1275
    functionLinenumberEnd: 1298
    functionName: tls_construct_ctos_post_handshake_auth
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_close
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_post_handshake_auth(SSL_CONNECTION *s,
      WPACKET *pkt,\n                                                  ossl_unused
      unsigned int context,\n                                                  ossl_unused
      X509 *x,\n                                                  ossl_unused size_t
      chainidx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1314,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1316,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1318,1
    - Dst: PACKET_get_1_len
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1323,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1324,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1329,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1330,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1336,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1340,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1341,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1343,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1347,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1348,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1304
    functionDepth: 4
    functionLinenumber: 1304
    functionLinenumberEnd: 1356
    functionName: tls_parse_stoc_renegotiate
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - SSLfatal
    - memcmp
    - PACKET_get_bytes
    - PACKET_remaining
    - PACKET_get_1_len
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_renegotiate(SSL_CONNECTION *s, PACKET *pkt,\n                               unsigned
      int context,\n                               X509 *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1365,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1365,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1366,1
    - Dst: IS_MAX_FRAGMENT_LENGTH_EXT_VALID
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1371,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1372,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1359
    functionDepth: 3
    functionLinenumber: 1359
    functionLinenumberEnd: 1396
    functionName: tls_parse_stoc_maxfragmentlen
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - IS_MAX_FRAGMENT_LENGTH_EXT_VALID
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1403,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1407,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1408,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1414,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1417,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1425
    functionName: tls_parse_stoc_server_name
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - OPENSSL_strdup
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_server_name(SSL_CONNECTION *s, PACKET *pkt,\n                               unsigned
      int context,\n                               X509 *x, size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1434,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1435,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1439,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1441,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1446,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1447,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1450,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1456,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1427
    functionDepth: 4
    functionLinenumber: 1427
    functionLinenumberEnd: 1465
    functionName: tls_parse_stoc_ec_pt_formats
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_as_length_prefixed_1
    - OPENSSL_free
    - PACKET_remaining
    - PACKET_copy_bytes
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                unsigned int context,\n                                 X509
      *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1471,1
    - Dst: SSL_CONNECTION*::ext::session_ticket_cb
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1474,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1474,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1475,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1477,1
    - Dst: tls_use_ticket
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1481,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1482,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1485,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1467
    functionDepth: 3
    functionLinenumber: 1467
    functionLinenumberEnd: 1493
    functionName: tls_parse_stoc_session_ticket
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION*::ext::session_ticket_cb
    - PACKET_remaining
    - SSL_CONNECTION_GET_USER_SSL
    - PACKET_data
    - tls_use_ticket
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_session_ticket(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1510,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1513,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1513,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1514,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1518,1
    - Dst: tls_process_cert_status_body
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1527
    functionName: tls_parse_stoc_status_request
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - tls_process_cert_status_body
    - SSLfatal
    - SSL_CONNECTION_IS_TLS13
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_status_request(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1546,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1549,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1554,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1557,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1560,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1561,1
    - Dst: custom_ext_find
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1573,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1576,1
    - Dst: custom_ext_parse
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1580,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1582,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1590
    functionName: tls_parse_stoc_sct
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - custom_ext_parse
    - PACKET_remaining
    - OPENSSL_free
    - custom_ext_find
    - PACKET_data
    - PACKET_copy_bytes
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_sct(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1604,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1605,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1606,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1600
    functionDepth: 4
    functionLinenumber: 1600
    functionLinenumberEnd: 1613
    functionName: ssl_next_proto_validate
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - PACKET_get_length_prefixed_1
    linkageType: ''
    returnType: int
    signature: int ssl_next_proto_validate(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1621,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1624,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1629,1
    - Dst: ssl_next_proto_validate
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1635,1
    - Dst: SSL_CTX*::ext::npn_select_cb
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1639,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1639,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1641,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1641,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1652,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1653,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1656,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1615
    functionDepth: 5
    functionLinenumber: 1615
    functionLinenumberEnd: 1665
    functionName: tls_parse_stoc_npn
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ssl_next_proto_validate
    - memcpy
    - PACKET_remaining
    - SSL_CONNECTION_GET_USER_SSL
    - OPENSSL_free
    - SSL_CTX*::ext::npn_select_cb
    - PACKET_data
    - SSL_CONNECTION_GET_CTX
    - SSL_IS_FIRST_HANDSHAKE
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1677,1
    - Dst: PACKET_get_net_2_len
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1686,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1687,1
    - Dst: PACKET_get_1_len
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1687,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1688,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1689,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1694,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1695,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1698,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1699,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1701,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1701,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1701,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1710,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1714,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1715,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1718,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1721,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1722,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1729,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1739,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1740,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1744,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1747,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1668
    functionDepth: 4
    functionLinenumber: 1668
    functionLinenumberEnd: 1754
    functionName: tls_parse_stoc_alpn
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memcmp
    - ossl_assert
    - PACKET_buf_init
    - PACKET_get_net_2_len
    - PACKET_get_length_prefixed_1
    - OPENSSL_memdup
    - PACKET_remaining
    - OPENSSL_free
    - PACKET_data
    - PACKET_get_1_len
    - PACKET_copy_bytes
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                        X509 *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1762,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1765,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1766,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1767,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1768,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1769,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1776,1
    - Dst: SSL_get_srtp_profiles
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1781,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1781,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1783,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_num
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1791,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_value
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1792,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1803
    functionName: tls_parse_stoc_use_srtp
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_get_srtp_profiles
    - sk_SRTP_PROTECTION_PROFILE_num
    - PACKET_get_net_2
    - PACKET_get_1
    - SSL_CONNECTION_GET_SSL
    - STACK_OF
    - PACKET_remaining
    - sk_SRTP_PROTECTION_PROFILE_value
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_use_srtp(SSL_CONNECTION *s, PACKET *pkt,\n                            unsigned
      int context, X509 *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1820
    functionName: tls_parse_stoc_etm
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_etm(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1832
    functionName: tls_parse_stoc_ems
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_ems(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1840,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1841,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1842,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1851,1
    - Dst: ssl_set_record_protocol_version
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1862,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1863,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1834
    functionDepth: 4
    functionLinenumber: 1834
    functionLinenumberEnd: 1868
    functionName: tls_parse_stoc_supported_versions
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - PACKET_get_net_2
    - ssl_set_record_protocol_version
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_supported_versions(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                     unsigned int context,\n                                      X509
      *x, size_t chainidx)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1884,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1889,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1890,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1898,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1899,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1909,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1915,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1921,1
    - Dst: tls_valid_group
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1922,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1924,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1934,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1962,1
    - Dst: ssl_session_dup
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1979,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1980,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1983,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1988,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1988,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1990,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1994,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1995,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:1996,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2002,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2003,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2004,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2005,1
    - Dst: tls13_set_encoded_pub_key
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2009,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2009,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2010,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2011,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2012,1
    - Dst: ssl_derive
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2016,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2018,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2024,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2025,1
    - Dst: ssl_decapsulate
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2027,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 97
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 1870
    functionDepth: 13
    functionLinenumber: 1870
    functionLinenumberEnd: 2036
    functionName: tls_parse_stoc_key_share
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - ssl_decapsulate
    - SSLfatal
    - EVP_PKEY_new
    - SSL_SESSION_free
    - tls_group_allowed
    - tls1_get_supported_groups
    - ssl_derive
    - PACKET_get_net_2
    - PACKET_as_length_prefixed_2
    - EVP_PKEY_free
    - PACKET_remaining
    - tls13_set_encoded_pub_key
    - tls1_group_id_lookup
    - PACKET_data
    - SSL_CONNECTION_GET_CTX
    - ssl_session_dup
    - EVP_PKEY_copy_parameters
    - tls_valid_group
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_key_share(SSL_CONNECTION *s, PACKET *pkt,\n                             unsigned
      int context, X509 *x,\n                             size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2043,1
    - Dst: PACKET_memdup
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2044,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2038
    functionDepth: 4
    functionLinenumber: 2038
    functionLinenumberEnd: 2051
    functionName: tls_parse_stoc_cookie
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_as_length_prefixed_2
    - PACKET_memdup
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned
      int context,\n                          X509 *x, size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2060,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2061,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2062,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2068,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2080,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2087,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2088,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2099,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2053
    functionDepth: 3
    functionLinenumber: 2053
    functionLinenumberEnd: 2106
    functionName: tls_parse_stoc_early_data
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - PACKET_get_net_4
    - SSL_IS_QUIC_HANDSHAKE
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_early_data(SSL_CONNECTION *s, PACKET *pkt,\n                              unsigned
      int context,\n                              X509 *x, size_t chainidx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2115,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2115,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2116,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2121,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2132,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2139,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2152,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2108
    functionDepth: 5
    functionLinenumber: 2108
    functionLinenumberEnd: 2164
    functionName: tls_parse_stoc_psk
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_SESSION_free
    - memcpy
    - PACKET_get_net_2
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_psk(SSL_CONNECTION *s, PACKET *pkt,\n                       unsigned
      int context, X509 *x,\n                       size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2174,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2175,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2176,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2177,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2166
    functionDepth: 4
    functionLinenumber: 2166
    functionLinenumberEnd: 2183
    functionName: tls_construct_ctos_client_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_sub_memcpy_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_client_cert_type(SSL_CONNECTION *sc,
      WPACKET *pkt,\n                                               unsigned int context,\n
      \                                              X509 *x, size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2191,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2192,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2195,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2196,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2200,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2201,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2206,1
    - Dst: memchr
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2210,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2185
    functionDepth: 3
    functionLinenumber: 2185
    functionLinenumberEnd: 2216
    functionName: tls_parse_stoc_client_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_assert
    - memchr
    - PACKET_get_1
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_client_cert_type(SSL_CONNECTION *sc, PACKET *pkt,\n
      \                                   unsigned int context,\n                                    X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2226,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2227,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2228,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2229,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2218
    functionDepth: 4
    functionLinenumber: 2218
    functionLinenumberEnd: 2235
    functionName: tls_construct_ctos_server_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_sub_memcpy_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_ctos_server_cert_type(SSL_CONNECTION *sc,
      WPACKET *pkt,\n                                               unsigned int context,\n
      \                                              X509 *x, size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2243,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2244,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2247,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2248,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2252,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2253,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2258,1
    - Dst: memchr
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2262,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_clnt.c:2263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2237
    functionDepth: 3
    functionLinenumber: 2237
    functionLinenumberEnd: 2268
    functionName: tls_parse_stoc_server_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_assert
    - memchr
    - PACKET_get_1
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_stoc_server_cert_type(SSL_CONNECTION *sc, PACKET *pkt,\n
      \                                   unsigned int context,\n                                    X509
      *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: custom_ext_add_cb_wrap*::add_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - out
    - outlen
    - x
    - chainidx
    - al
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char**
    - size_t*
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: custom_ext_add_old_cb_wrap
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 0
    functionsReached:
    - custom_ext_add_cb_wrap*::add_cb
    linkageType: ''
    returnType: int
    signature: "int custom_ext_add_old_cb_wrap(SSL *s, unsigned int ext_type,\n                                      unsigned
      int context,\n                                      const unsigned char **out,\n
      \                                     size_t *outlen, X509 *x, size_t chainidx,\n
      \                                     int *al, void *add_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: custom_ext_add_cb_wrap*::free_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - ext_type
    - context
    - out
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: custom_ext_free_old_cb_wrap
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 0
    functionsReached:
    - custom_ext_add_cb_wrap*::free_cb
    linkageType: ''
    returnType: void
    signature: "void custom_ext_free_old_cb_wrap(SSL *s, unsigned int ext_type,\n
      \                                       unsigned int context,\n                                        const
      unsigned char *out, void *add_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: custom_ext_parse_cb_wrap*::parse_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - s
    - ext_type
    - context
    - in
    - inlen
    - x
    - chainidx
    - al
    - parse_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - X509*
    - size_t
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: custom_ext_parse_old_cb_wrap
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 0
    functionsReached:
    - custom_ext_parse_cb_wrap*::parse_cb
    linkageType: ''
    returnType: int
    signature: "int custom_ext_parse_old_cb_wrap(SSL *s, unsigned int ext_type,\n
      \                                       unsigned int context,\n                                        const
      unsigned char *in,\n                                        size_t inlen, X509
      *x, size_t chainidx,\n                                        int *al, void
      *parse_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - exts
    - role
    - ext_type
    - idx
    argTypes:
    - custom_ext_methods*
    - ENDPOINT
    - unsigned int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: custom_ext_find
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: custom_ext_method
    signature: "custom_ext_method *custom_ext_find(const custom_ext_methods *exts,\n
      \                                  ENDPOINT role, unsigned int ext_type,\n                                   size_t
      *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - exts
    argTypes:
    - custom_ext_methods*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: custom_ext_init
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_ext_init(custom_ext_methods *exts)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: custom_ext_find
      Src: /src/openssl/ssl/statem/extensions_cust.c:127,1
    - Dst: extension_is_relevant
      Src: /src/openssl/ssl/statem/extensions_cust.c:133,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_cust.c:144,1
    - Dst: custom_ext_method*::parse_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:162,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_cust.c:162,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_cust.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 7
    argNames:
    - s
    - context
    - ext_type
    - ext_data
    - ext_size
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 169
    functionName: custom_ext_parse
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - extension_is_relevant
    - custom_ext_method*::parse_cb
    - SSL_CONNECTION_GET_USER_SSL
    - custom_ext_find
    linkageType: ''
    returnType: int
    signature: "int custom_ext_parse(SSL_CONNECTION *s, unsigned int context,\n                     unsigned
      int ext_type,\n                     const unsigned char *ext_data, size_t ext_size,
      X509 *x,\n                     size_t chainidx)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: should_add_extension
      Src: /src/openssl/ssl/statem/extensions_cust.c:190,1
    - Dst: custom_ext_method*::add_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:211,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_cust.c:211,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_cust.c:218,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_cust.c:225,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_cust.c:226,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/extensions_cust.c:227,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_cust.c:228,1
    - Dst: custom_ext_method*::free_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:230,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_cust.c:230,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_cust.c:233,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_cust.c:240,1
    - Dst: custom_ext_method*::free_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:242,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_cust.c:242,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_cust.c:245,1
    - Dst: custom_ext_method*::free_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:256,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_cust.c:256,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 6
    argNames:
    - s
    - context
    - pkt
    - x
    - chainidx
    - maxversion
    argTypes:
    - SSL_CONNECTION*
    - int
    - WPACKET*
    - X509*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 260
    functionName: custom_ext_add
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - ossl_assert
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - should_add_extension
    - SSL_CONNECTION_GET_USER_SSL
    - custom_ext_method*::free_cb
    - custom_ext_method*::add_cb
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int custom_ext_add(SSL_CONNECTION *s, int context, WPACKET *pkt, X509
      *x,\n                   size_t chainidx, int maxversion)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: custom_ext_find
      Src: /src/openssl/ssl/statem/extensions_cust.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - custom_ext_methods*
    - custom_ext_methods*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: custom_exts_copy_flags
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 1
    functionsReached:
    - custom_ext_find
    linkageType: ''
    returnType: int
    signature: "int custom_exts_copy_flags(custom_ext_methods *dst,\n                           const
      custom_ext_methods *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/extensions_cust.c:296,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/extensions_cust.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - methdst
    - methsrc
    - err
    argTypes:
    - custom_ext_method*
    - custom_ext_method*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 305
    functionName: custom_ext_copy_old_cb
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 0
    functionsReached:
    - OPENSSL_memdup
    linkageType: ''
    returnType: void
    signature: "void custom_ext_copy_old_cb(custom_ext_method *methdst,\n                                   const
      custom_ext_method *methsrc,\n                                   int *err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/extensions_cust.c:315,1
    - Dst: custom_ext_copy_old_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:322,1
    - Dst: custom_exts_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - custom_ext_methods*
    - custom_ext_methods*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 331
    functionName: custom_exts_copy
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 1
    functionsReached:
    - custom_ext_copy_old_cb
    - custom_exts_free
    - OPENSSL_memdup
    linkageType: ''
    returnType: int
    signature: int custom_exts_copy(custom_ext_methods *dst, const custom_ext_methods
      *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/statem/extensions_cust.c:349,1
    - Dst: custom_ext_copy_old_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:357,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/extensions_cust.c:368,1
    - Dst: custom_ext_copy_old_cb
      Src: /src/openssl/ssl/statem/extensions_cust.c:369,1
    - Dst: custom_exts_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - custom_ext_methods*
    - custom_ext_methods*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 383
    functionName: custom_exts_copy_conn
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 1
    functionsReached:
    - custom_ext_copy_old_cb
    - memcpy
    - OPENSSL_realloc
    - custom_exts_free
    linkageType: ''
    returnType: int
    signature: "int custom_exts_copy_conn(custom_ext_methods *dst,\n                          const
      custom_ext_methods *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:395,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:396,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - exts
    argTypes:
    - custom_ext_methods*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: custom_exts_free
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 3
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void custom_exts_free(custom_ext_methods *exts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: custom_ext_find
      Src: /src/openssl/ssl/statem/extensions_cust.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ext_type
    argTypes:
    - SSL_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: SSL_CTX_has_client_custom_ext
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 2
    functionsReached:
    - custom_ext_find
    linkageType: ''
    returnType: int
    signature: int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx, unsigned int
      ext_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_ct_is_enabled
      Src: /src/openssl/ssl/statem/extensions_cust.c:440,1
    - Dst: SSL_extension_supported
      Src: /src/openssl/ssl/statem/extensions_cust.c:448,1
    - Dst: custom_ext_find
      Src: /src/openssl/ssl/statem/extensions_cust.c:456,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/statem/extensions_cust.c:458,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/extensions_cust.c:465,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 10
    argNames:
    - ctx
    - exts
    - role
    - ext_type
    - context
    - add_cb
    - free_cb
    - add_arg
    - parse_cb
    - parse_arg
    argTypes:
    - SSL_CTX*
    - custom_ext_methods*
    - ENDPOINT
    - unsigned int
    - unsigned int
    - SSL_custom_ext_add_cb_ex
    - SSL_custom_ext_free_cb_ex
    - void*
    - SSL_custom_ext_parse_cb_ex
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 477
    functionName: ossl_tls_add_custom_ext_intern
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 1
    functionsReached:
    - SSL_extension_supported
    - memset
    - custom_ext_find
    - SSL_CTX_ct_is_enabled
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: "int ossl_tls_add_custom_ext_intern(SSL_CTX *ctx, custom_ext_methods
      *exts,\n                                   ENDPOINT role, unsigned int ext_type,\n
      \                                  unsigned int context,\n                                   SSL_custom_ext_add_cb_ex
      add_cb,\n                                   SSL_custom_ext_free_cb_ex free_cb,\n
      \                                  void *add_arg,\n                                   SSL_custom_ext_parse_cb_ex
      parse_cb,\n                                   void *parse_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/extensions_cust.c:488,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/extensions_cust.c:490,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:494,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:495,1
    - Dst: ossl_tls_add_custom_ext_intern
      Src: /src/openssl/ssl/statem/extensions_cust.c:505,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:514,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_cust.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 9
    argNames:
    - ctx
    - role
    - ext_type
    - context
    - add_cb
    - free_cb
    - add_arg
    - parse_cb
    - parse_arg
    argTypes:
    - SSL_CTX*
    - ENDPOINT
    - unsigned int
    - unsigned int
    - custom_ext_add_cb
    - custom_ext_free_cb
    - void*
    - custom_ext_parse_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 519
    functionName: add_old_custom_ext
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - ossl_tls_add_custom_ext_intern
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: "int add_old_custom_ext(SSL_CTX *ctx, ENDPOINT role,\n                              unsigned
      int ext_type,\n                              unsigned int context,\n                              custom_ext_add_cb
      add_cb,\n                              custom_ext_free_cb free_cb,\n                              void
      *add_arg,\n                              custom_ext_parse_cb parse_cb, void
      *parse_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_old_custom_ext
      Src: /src/openssl/ssl/statem/extensions_cust.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - ext_type
    - add_cb
    - free_cb
    - add_arg
    - parse_cb
    - parse_arg
    argTypes:
    - SSL_CTX*
    - unsigned int
    - custom_ext_add_cb
    - custom_ext_free_cb
    - void*
    - custom_ext_parse_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: SSL_CTX_add_client_custom_ext
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 2
    functionsReached:
    - add_old_custom_ext
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned int ext_type,\n
      \                                 custom_ext_add_cb add_cb,\n                                  custom_ext_free_cb
      free_cb,\n                                  void *add_arg,\n                                  custom_ext_parse_cb
      parse_cb, void *parse_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_old_custom_ext
      Src: /src/openssl/ssl/statem/extensions_cust.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ctx
    - ext_type
    - add_cb
    - free_cb
    - add_arg
    - parse_cb
    - parse_arg
    argTypes:
    - SSL_CTX*
    - unsigned int
    - custom_ext_add_cb
    - custom_ext_free_cb
    - void*
    - custom_ext_parse_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: SSL_CTX_add_server_custom_ext
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 2
    functionsReached:
    - add_old_custom_ext
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type,\n
      \                                 custom_ext_add_cb add_cb,\n                                  custom_ext_free_cb
      free_cb,\n                                  void *add_arg,\n                                  custom_ext_parse_cb
      parse_cb, void *parse_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_tls_add_custom_ext_intern
      Src: /src/openssl/ssl/statem/extensions_cust.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ctx
    - ext_type
    - context
    - add_cb
    - free_cb
    - add_arg
    - parse_cb
    - parse_arg
    argTypes:
    - SSL_CTX*
    - unsigned int
    - unsigned int
    - SSL_custom_ext_add_cb_ex
    - SSL_custom_ext_free_cb_ex
    - void*
    - SSL_custom_ext_parse_cb_ex
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: SSL_CTX_add_custom_ext
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 3
    functionsReached:
    - ossl_tls_add_custom_ext_intern
    linkageType: ''
    returnType: int
    signature: "int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type,\n
      \                          unsigned int context,\n                           SSL_custom_ext_add_cb_ex
      add_cb,\n                           SSL_custom_ext_free_cb_ex free_cb,\n                           void
      *add_arg,\n                           SSL_custom_ext_parse_cb_ex parse_cb, void
      *parse_arg)"
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - ext_type
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 607
    functionName: SSL_extension_supported
    functionSourceFile: /src/openssl/ssl/statem/extensions_cust.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SSL_extension_supported(unsigned int ext_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/statem/statem.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: SSL_get_state
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 5
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: OSSL_HANDSHAKE_STATE
    signature: OSSL_HANDSHAKE_STATE SSL_get_state(const SSL *ssl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/statem/statem.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: SSL_in_init
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 17
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_in_init(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/statem/statem.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: SSL_is_init_finished
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 8
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_is_init_finished(const SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_CONST_SSL
      Src: /src/openssl/ssl/statem/statem.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: SSL_in_before
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 12
    functionsReached:
    - SSL_CONNECTION_FROM_CONST_SSL
    linkageType: ''
    returnType: int
    signature: int SSL_in_before(const SSL *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: ossl_statem_get_state
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OSSL_HANDSHAKE_STATE
    signature: OSSL_HANDSHAKE_STATE ossl_statem_get_state(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: ossl_statem_clear
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 3
    functionsReached:
    - ossl_statem_set_in_init
    linkageType: ''
    returnType: void
    signature: void ossl_statem_clear(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: ossl_statem_set_renegotiate
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached:
    - ossl_statem_set_in_init
    linkageType: ''
    returnType: void
    signature: void ossl_statem_set_renegotiate(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem.c:152,1
    - Dst: ssl3_send_alert
      Src: /src/openssl/ssl/statem/statem.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - al
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: ossl_statem_send_fatal
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 0
    functionsReached:
    - ossl_statem_set_in_init
    - ssl3_send_alert
    linkageType: ''
    returnType: void
    signature: void ossl_statem_send_fatal(SSL_CONNECTION *s, int al)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/openssl/ssl/statem/statem.c:169,1
    - Dst: ERR_vset_error
      Src: /src/openssl/ssl/statem/statem.c:170,1
    - Dst: va_end
      Src: /src/openssl/ssl/statem/statem.c:171,1
    - Dst: ossl_statem_send_fatal
      Src: /src/openssl/ssl/statem/statem.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - s
    - al
    - reason
    - fmt
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: ossl_statem_fatal
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached:
    - va_end
    - ERR_vset_error
    - va_start
    - ossl_statem_send_fatal
    linkageType: ''
    returnType: void
    signature: "void ossl_statem_fatal(SSL_CONNECTION *s, int al, int reason,\n                       const
      char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: check_fatal
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_fatal(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: ossl_statem_in_error
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_statem_in_error(const SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_in_init
      Src: /src/openssl/ssl/statem/statem.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - init
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: ossl_statem_set_in_init
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 9
    functionsReached:
    - SSL_CONNECTION*::rlayer::rrlmethod::set_in_init
    linkageType: ''
    returnType: void
    signature: void ossl_statem_set_in_init(SSL_CONNECTION *s, int init)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: ossl_statem_get_in_handshake
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_statem_get_in_handshake(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - inhand
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: ossl_statem_set_in_handshake
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ossl_statem_set_in_handshake(SSL_CONNECTION *s, int inhand)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: ossl_statem_skip_early_data
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_statem_skip_early_data(SSL_CONNECTION *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem.c:250,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem.c:264,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem.c:275,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - s
    - sending
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 278
    functionName: ossl_statem_check_finish_init
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 3
    functionsReached:
    - ossl_statem_set_in_init
    linkageType: ''
    returnType: int
    signature: int ossl_statem_check_finish_init(SSL_CONNECTION *s, int sending)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: ossl_statem_set_hello_verify_done
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached:
    - ossl_statem_set_in_init
    linkageType: ''
    returnType: void
    signature: void ossl_statem_set_hello_verify_done(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/statem/statem.c:296,1
    - Dst: state_machine
      Src: /src/openssl/ssl/statem/statem.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: ossl_statem_connect
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - state_machine
    linkageType: ''
    returnType: int
    signature: int ossl_statem_connect(SSL *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/statem/statem.c:306,1
    - Dst: state_machine
      Src: /src/openssl/ssl/statem/statem.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: ossl_statem_accept
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    - state_machine
    linkageType: ''
    returnType: int
    signature: int ossl_statem_accept(SSL *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: get_callback
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 14
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: info_cb
    signature: info_cb get_callback(SSL_CONNECTION *s)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem.c:363,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem.c:364,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/statem/statem.c:371,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/statem/statem.c:372,1
    - Dst: get_callback
      Src: /src/openssl/ssl/statem/statem.c:374,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/statem/statem.c:377,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/statem/statem.c:377,1
    - Dst: SSL_clear
      Src: /src/openssl/ssl/statem/statem.c:382,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:386,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/statem/statem.c:386,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem.c:386,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem.c:391,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem.c:391,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem.c:406,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem.c:406,1
    - Dst: cb
      Src: /src/openssl/ssl/statem/statem.c:407,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:416,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:419,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:424,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/statem/statem.c:429,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:430,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/ssl/statem/statem.c:435,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:436,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/ssl/statem/statem.c:439,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:440,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:459,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/statem/statem.c:459,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem.c:459,1
    - Dst: ssl_init_wbio_buffer
      Src: /src/openssl/ssl/statem/statem.c:461,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:462,1
    - Dst: SSL_in_before
      Src: /src/openssl/ssl/statem/statem.c:466,1
    - Dst: tls_setup_handshake
      Src: /src/openssl/ssl/statem/statem.c:468,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem.c:473,1
    - Dst: init_write_state_machine
      Src: /src/openssl/ssl/statem/statem.c:478,1
    - Dst: read_state_machine
      Src: /src/openssl/ssl/statem/statem.c:483,1
    - Dst: init_write_state_machine
      Src: /src/openssl/ssl/statem/statem.c:486,1
    - Dst: write_state_machine
      Src: /src/openssl/ssl/statem/statem.c:492,1
    - Dst: init_read_state_machine
      Src: /src/openssl/ssl/statem/statem.c:495,1
    - Dst: check_fatal
      Src: /src/openssl/ssl/statem/statem.c:504,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/statem/statem.c:505,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:516,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/statem/statem.c:516,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem.c:516,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem.c:521,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem.c:521,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/statem/statem.c:526,1
    - Dst: cb
      Src: /src/openssl/ssl/statem/statem.c:529,1
    - Dst: cb
      Src: /src/openssl/ssl/statem/statem.c:531,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 121
    argCount: 2
    argNames:
    - s
    - server
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 356
    functionDepth: 6
    functionLinenumber: 356
    functionLinenumberEnd: 534
    functionName: state_machine
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 3
    functionsReached:
    - tls_setup_handshake
    - SSLfatal
    - BUF_MEM_free
    - ERR_raise
    - cb
    - read_state_machine
    - clear_sys_error
    - BIO_ctrl
    - ERR_clear_error
    - ssl_init_wbio_buffer
    - BUF_MEM_new
    - BIO_dgram_is_sctp
    - SSL_IS_FIRST_HANDSHAKE
    - BUF_MEM_grow
    - init_write_state_machine
    - SSL_in_init
    - init_read_state_machine
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_IS_DTLS
    - SSL_in_before
    - ssl_security
    - SSL_CONNECTION_IS_TLS13
    - get_callback
    - SSL_clear
    - SSL_get_wbio
    - check_fatal
    - write_state_machine
    linkageType: ''
    returnType: int
    signature: int state_machine(SSL_CONNECTION *s, int server)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: init_read_state_machine
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_read_state_machine(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/ssl/statem/statem.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - SSL_CONNECTION*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 559
    functionName: grow_init_buf
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 0
    functionsReached:
    - BUF_MEM_grow_clean
    linkageType: ''
    returnType: int
    signature: int grow_init_buf(SSL_CONNECTION *s, size_t size)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: MSG_PROCESS_RETURN
      Src: /src/openssl/ssl/statem/statem.c:594,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem.c:598,1
    - Dst: get_callback
      Src: /src/openssl/ssl/statem/statem.c:600,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:623,1
    - Dst: dtls_get_message
      Src: /src/openssl/ssl/statem/statem.c:627,1
    - Dst: tls_get_message_header
      Src: /src/openssl/ssl/statem/statem.c:629,1
    - Dst: cb
      Src: /src/openssl/ssl/statem/statem.c:640,1
    - Dst: cb
      Src: /src/openssl/ssl/statem/statem.c:642,1
    - Dst: transition
      Src: /src/openssl/ssl/statem/statem.c:648,1
    - Dst: max_message_size
      Src: /src/openssl/ssl/statem/statem.c:651,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:652,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:658,1
    - Dst: grow_init_buf
      Src: /src/openssl/ssl/statem/statem.c:660,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:662,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:670,1
    - Dst: dtls_get_message_body
      Src: /src/openssl/ssl/statem/statem.c:675,1
    - Dst: tls_get_message_body
      Src: /src/openssl/ssl/statem/statem.c:677,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/statem/statem.c:685,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:686,1
    - Dst: process_message
      Src: /src/openssl/ssl/statem/statem.c:689,1
    - Dst: check_fatal
      Src: /src/openssl/ssl/statem/statem.c:696,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:700,1
    - Dst: dtls1_stop_timer
      Src: /src/openssl/ssl/statem/statem.c:701,1
    - Dst: post_process_message
      Src: /src/openssl/ssl/statem/statem.c:717,1
    - Dst: check_fatal
      Src: /src/openssl/ssl/statem/statem.c:720,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:733,1
    - Dst: dtls1_stop_timer
      Src: /src/openssl/ssl/statem/statem.c:734,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:742,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 105
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 587
    functionDepth: 5
    functionLinenumber: 587
    functionLinenumberEnd: 746
    functionName: read_state_machine
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - dtls_get_message_body
    - process_message
    - PACKET_buf_init
    - max_message_size
    - dtls_get_message
    - check_fatal
    - tls_get_message_header
    - post_process_message
    - transition
    - tls_get_message_body
    - dtls1_stop_timer
    - grow_init_buf
    - SSL_CONNECTION_GET_USER_SSL
    - cb
    - SSL_CONNECTION_IS_DTLS
    - MSG_PROCESS_RETURN
    - get_callback
    linkageType: ''
    returnType: SUB_STATE_RETURN
    signature: SUB_STATE_RETURN read_state_machine(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:757,1
    - Dst: dtls1_do_write
      Src: /src/openssl/ssl/statem/statem.c:758,1
    - Dst: ssl3_do_write
      Src: /src/openssl/ssl/statem/statem.c:760,1
    - Dst: ssl_do_write
      Src: /src/openssl/ssl/statem/statem.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 764
    functionName: statem_do_write
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 0
    functionsReached:
    - ssl_do_write
    - dtls1_do_write
    - SSL_CONNECTION_IS_DTLS
    - ssl3_do_write
    linkageType: ''
    returnType: int
    signature: int statem_do_write(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: init_write_state_machine
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_write_state_machine(SSL_CONNECTION *s)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: WRITE_TRAN
      Src: /src/openssl/ssl/statem/statem.c:811,1
    - Dst: CON_FUNC_RETURN
      Src: /src/openssl/ssl/statem/statem.c:819,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem.c:822,1
    - Dst: get_callback
      Src: /src/openssl/ssl/statem/statem.c:824,1
    - Dst: cb
      Src: /src/openssl/ssl/statem/statem.c:844,1
    - Dst: cb
      Src: /src/openssl/ssl/statem/statem.c:846,1
    - Dst: transition
      Src: /src/openssl/ssl/statem/statem.c:848,1
    - Dst: check_fatal
      Src: /src/openssl/ssl/statem/statem.c:858,1
    - Dst: pre_work
      Src: /src/openssl/ssl/statem/statem.c:864,1
    - Dst: check_fatal
      Src: /src/openssl/ssl/statem/statem.c:866,1
    - Dst: get_construct_message_f
      Src: /src/openssl/ssl/statem/statem.c:883,1
    - Dst: WPACKET_init
      Src: /src/openssl/ssl/statem/statem.c:893,1
    - Dst: ssl_set_handshake_header
      Src: /src/openssl/ssl/statem/statem.c:894,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/statem.c:895,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:896,1
    - Dst: confunc
      Src: /src/openssl/ssl/statem/statem.c:902,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/statem.c:904,1
    - Dst: check_fatal
      Src: /src/openssl/ssl/statem/statem.c:905,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/statem.c:912,1
    - Dst: ssl_close_construct_packet
      Src: /src/openssl/ssl/statem/statem.c:918,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/statem/statem.c:919,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/statem.c:920,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:921,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem.c:928,1
    - Dst: dtls1_start_timer
      Src: /src/openssl/ssl/statem/statem.c:929,1
    - Dst: statem_do_write
      Src: /src/openssl/ssl/statem/statem.c:931,1
    - Dst: post_work
      Src: /src/openssl/ssl/statem/statem.c:940,1
    - Dst: check_fatal
      Src: /src/openssl/ssl/statem/statem.c:942,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem.c:962,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 115
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 807
    functionDepth: 5
    functionLinenumber: 807
    functionLinenumberEnd: 966
    functionName: write_state_machine
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - confunc
    - post_work
    - cb
    - CON_FUNC_RETURN
    - WPACKET_init
    - WRITE_TRAN
    - WPACKET_cleanup
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_IS_DTLS
    - ssl_close_construct_packet
    - statem_do_write
    - get_callback
    - ssl_set_handshake_header
    - WPACKET_finish
    - get_construct_message_f
    - transition
    - dtls1_start_timer
    - pre_work
    - check_fatal
    linkageType: ''
    returnType: SUB_STATE_RETURN
    signature: SUB_STATE_RETURN write_state_machine(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_flush
      Src: /src/openssl/ssl/statem/statem.c:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: statem_flush
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached:
    - BIO_flush
    linkageType: ''
    returnType: int
    signature: int statem_flush(SSL_CONNECTION *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1018
    functionName: ossl_statem_app_data_allowed
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_statem_app_data_allowed(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1028
    functionName: ossl_statem_export_allowed
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_statem_export_allowed(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1043
    functionName: ossl_statem_export_early_allowed
    functionSourceFile: /src/openssl/ssl/statem/statem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_statem_export_early_allowed(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: received_client_cert
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline received_client_cert(const SSL_CONNECTION *sc)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SSL_NO_EOED
      Src: /src/openssl/ssl/statem/statem_srvr.c:90,1
    - Dst: received_client_cert
      Src: /src/openssl/ssl/statem/statem_srvr.c:123,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_srvr.c:165,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 2
    argNames:
    - s
    - mt
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 174
    functionName: ossl_statem_server13_read_transition
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSL_NO_EOED
    - received_client_cert
    - SSL_IS_QUIC_HANDSHAKE
    linkageType: ''
    returnType: int
    signature: int ossl_statem_server13_read_transition(SSL_CONNECTION *s, int mt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 385
    functionName: send_server_key_exchange
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int send_server_key_exchange(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: get_compressed_certificate_alg
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_compressed_certificate_alg(SSL_CONNECTION *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 456
    functionName: send_certificate_request
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int send_certificate_request(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_compressed_certificate_alg
      Src: /src/openssl/ssl/statem/statem_srvr.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: do_compressed_cert
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - get_compressed_certificate_alg
    linkageType: ''
    returnType: int
    signature: int do_compressed_cert(SSL_CONNECTION *sc)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:482,1
    - Dst: send_certificate_request
      Src: /src/openssl/ssl/statem/statem_srvr.c:525,1
    - Dst: do_compressed_cert
      Src: /src/openssl/ssl/statem/statem_srvr.c:527,1
    - Dst: do_compressed_cert
      Src: /src/openssl/ssl/statem/statem_srvr.c:538,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_srvr.c:556,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_srvr.c:563,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_srvr.c:595,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 93
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 603
    functionName: ossl_statem_server13_write_transition
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_time_now
    - send_certificate_request
    - SSL_IS_FIRST_HANDSHAKE
    - do_compressed_cert
    linkageType: ''
    returnType: WRITE_TRAN
    signature: WRITE_TRAN ossl_statem_server13_write_transition(SSL_CONNECTION *s)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:618,1
    - Dst: ossl_statem_server13_write_transition
      Src: /src/openssl/ssl/statem/statem_srvr.c:619,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:624,1
    - Dst: tls_setup_handshake
      Src: /src/openssl/ssl/statem/statem_srvr.c:635,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:650,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/statem_srvr.c:651,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:651,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_srvr.c:653,1
    - Dst: send_server_key_exchange
      Src: /src/openssl/ssl/statem/statem_srvr.c:677,1
    - Dst: send_certificate_request
      Src: /src/openssl/ssl/statem/statem_srvr.c:679,1
    - Dst: send_server_key_exchange
      Src: /src/openssl/ssl/statem/statem_srvr.c:695,1
    - Dst: send_certificate_request
      Src: /src/openssl/ssl/statem/statem_srvr.c:702,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_srvr.c:713,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_srvr.c:717,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 99
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 743
    functionName: ossl_statem_server_write_transition
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - tls_setup_handshake
    - SSLfatal
    - ossl_statem_server13_write_transition
    - SSL_CONNECTION_GET_SSL
    - SSL_get_options
    - send_server_key_exchange
    - ossl_time_now
    - SSL_CONNECTION_IS_DTLS
    - send_certificate_request
    - SSL_IS_FIRST_HANDSHAKE
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: WRITE_TRAN
    signature: WRITE_TRAN ossl_statem_server_write_transition(SSL_CONNECTION *s)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:752,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:761,1
    - Dst: dtls1_clear_sent_buffer
      Src: /src/openssl/ssl/statem/statem_srvr.c:762,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:767,1
    - Dst: dtls1_clear_sent_buffer
      Src: /src/openssl/ssl/statem/statem_srvr.c:768,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:775,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:786,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/statem/statem_srvr.c:786,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_srvr.c:786,1
    - Dst: dtls_wait_for_dry
      Src: /src/openssl/ssl/statem/statem_srvr.c:788,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:794,1
    - Dst: tls_finish_handshake
      Src: /src/openssl/ssl/statem/statem_srvr.c:803,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:805,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:815,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:821,1
    - Dst: SSL*::method::ssl3_enc::setup_key_block
      Src: /src/openssl/ssl/statem/statem_srvr.c:824,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:828,1
    - Dst: SSL_NO_EOED
      Src: /src/openssl/ssl/statem/statem_srvr.c:848,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_srvr.c:851,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:853,1
    - Dst: tls_finish_handshake
      Src: /src/openssl/ssl/statem/statem_srvr.c:862,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 66
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 866
    functionName: ossl_statem_server_pre_work
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_finish_handshake
    - SSL*::method::ssl3_enc::setup_key_block
    - SSL_NO_EOED
    - SSL_CONNECTION_IS_TLS13
    - SSL*::method::ssl3_enc::change_cipher_state
    - SSL_CONNECTION_GET_SSL
    - SSL_get_wbio
    - SSL_CONNECTION_IS_DTLS
    - BIO_dgram_is_sctp
    - dtls_wait_for_dry
    - dtls1_clear_sent_buffer
    linkageType: ''
    returnType: WORK_STATE
    signature: WORK_STATE ossl_statem_server_pre_work(SSL_CONNECTION *s, WORK_STATE
      wst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/statem/statem_srvr.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 886
    functionName: conn_is_closed
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - get_last_sys_error
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline conn_is_closed(void)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:895,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:905,1
    - Dst: ssl3_init_finished_mac
      Src: /src/openssl/ssl/statem/statem_srvr.c:907,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:914,1
    - Dst: ssl3_init_finished_mac
      Src: /src/openssl/ssl/statem/statem_srvr.c:917,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:929,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:932,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:937,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_srvr.c:946,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/ssl/statem/statem_srvr.c:954,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:958,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_srvr.c:962,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_srvr.c:962,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:966,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:974,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:979,1
    - Dst: SSL*::method::ssl3_enc::setup_key_block
      Src: /src/openssl/ssl/statem/statem_srvr.c:980,1
    - Dst: tls13_store_handshake_traffic_hash
      Src: /src/openssl/ssl/statem/statem_srvr.c:981,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_srvr.c:982,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_srvr.c:989,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_plain_alerts
      Src: /src/openssl/ssl/statem/statem_srvr.c:1000,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:1005,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_srvr.c:1010,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_srvr.c:1010,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_srvr.c:1014,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:1022,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:1027,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:1030,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_srvr.c:1035,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_srvr.c:1035,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1039,1
    - Dst: SSL*::method::ssl3_enc::generate_master_secret
      Src: /src/openssl/ssl/statem/statem_srvr.c:1042,1
    - Dst: tls13_store_server_finished_hash
      Src: /src/openssl/ssl/statem/statem_srvr.c:1045,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_srvr.c:1046,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:1055,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1058,1
    - Dst: send_certificate_request
      Src: /src/openssl/ssl/statem/statem_srvr.c:1065,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1066,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:1073,1
    - Dst: tls13_update_key
      Src: /src/openssl/ssl/statem/statem_srvr.c:1075,1
    - Dst: clear_sys_error
      Src: /src/openssl/ssl/statem/statem_srvr.c:1082,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1083,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_srvr.c:1083,1
    - Dst: SSL_get_error
      Src: /src/openssl/ssl/statem/statem_srvr.c:1084,1
    - Dst: conn_is_closed
      Src: /src/openssl/ssl/statem/statem_srvr.c:1085,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 112
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 892
    functionDepth: 11
    functionLinenumber: 892
    functionLinenumberEnd: 1103
    functionName: ossl_statem_server_post_work
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memcpy
    - statem_flush
    - SSL*::method::ssl3_enc::change_cipher_state
    - SSL*::method::ssl3_enc::generate_master_secret
    - tls13_store_server_finished_hash
    - SSL_get_error
    - clear_sys_error
    - BIO_ctrl
    - SSL*::method::ssl3_enc::setup_key_block
    - tls13_store_handshake_traffic_hash
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_IS_DTLS
    - send_certificate_request
    - tls13_update_key
    - SSL_CONNECTION_IS_TLS13
    - SSL_export_keying_material
    - SSL_CONNECTION*::rlayer::rrlmethod::set_plain_alerts
    - ssl3_init_finished_mac
    - SSL_get_wbio
    - conn_is_closed
    linkageType: ''
    returnType: WORK_STATE
    signature: WORK_STATE ossl_statem_server_post_work(SSL_CONNECTION *s, WORK_STATE
      wst)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1121,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:1125,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 3
    argNames:
    - s
    - confunc
    - mt
    argTypes:
    - SSL_CONNECTION*
    - confunc_f*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1213
    functionName: ossl_statem_server_construct_message
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: "int ossl_statem_server_construct_message(SSL_CONNECTION *s,\n                                         confunc_f
      *confunc, int *mt)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1278
    functionName: ossl_statem_server_max_message_size
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_statem_server_max_message_size(SSL_CONNECTION *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1291,1
    - Dst: tls_process_client_hello
      Src: /src/openssl/ssl/statem/statem_srvr.c:1295,1
    - Dst: tls_process_end_of_early_data
      Src: /src/openssl/ssl/statem/statem_srvr.c:1298,1
    - Dst: tls_process_client_certificate
      Src: /src/openssl/ssl/statem/statem_srvr.c:1301,1
    - Dst: tls_process_client_compressed_certificate
      Src: /src/openssl/ssl/statem/statem_srvr.c:1305,1
    - Dst: tls_process_client_key_exchange
      Src: /src/openssl/ssl/statem/statem_srvr.c:1309,1
    - Dst: tls_process_cert_verify
      Src: /src/openssl/ssl/statem/statem_srvr.c:1312,1
    - Dst: tls_process_next_proto
      Src: /src/openssl/ssl/statem/statem_srvr.c:1316,1
    - Dst: tls_process_change_cipher_spec
      Src: /src/openssl/ssl/statem/statem_srvr.c:1320,1
    - Dst: tls_process_finished
      Src: /src/openssl/ssl/statem/statem_srvr.c:1323,1
    - Dst: tls_process_key_update
      Src: /src/openssl/ssl/statem/statem_srvr.c:1326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1329
    functionName: ossl_statem_server_process_message
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_process_client_compressed_certificate
    - tls_process_client_certificate
    - tls_process_next_proto
    - tls_process_key_update
    - tls_process_client_hello
    - tls_process_change_cipher_spec
    - tls_process_cert_verify
    - tls_process_client_key_exchange
    - tls_process_finished
    - tls_process_end_of_early_data
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN ossl_statem_server_process_message(SSL_CONNECTION
      *s,\n                                                      PACKET *pkt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1343,1
    - Dst: tls_post_process_client_hello
      Src: /src/openssl/ssl/statem/statem_srvr.c:1347,1
    - Dst: tls_post_process_client_key_exchange
      Src: /src/openssl/ssl/statem/statem_srvr.c:1350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1352
    functionName: ossl_statem_server_post_process_message
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_post_process_client_hello
    - tls_post_process_client_key_exchange
    linkageType: ''
    returnType: WORK_STATE
    signature: "WORK_STATE ossl_statem_server_post_process_message(SSL_CONNECTION
      *s,\n                                                   WORK_STATE wst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1368,1
    - Dst: ssl_srp_server_param_with_username_intern
      Src: /src/openssl/ssl/statem/statem_srvr.c:1372,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1356
    functionDepth: 14
    functionLinenumber: 1356
    functionLinenumberEnd: 1385
    functionName: ssl_check_srp_ext_ClientHello
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ssl_srp_server_param_with_username_intern
    linkageType: ''
    returnType: int
    signature: int ssl_check_srp_ext_ClientHello(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:1392,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:1393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pkt
    - cookie
    - cookie_len
    argTypes:
    - WPACKET*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1397
    functionName: dtls_raw_hello_verify_request
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - WPACKET_put_bytes_u16
    - WPACKET_sub_memcpy_u8
    linkageType: ''
    returnType: int
    signature: "int dtls_raw_hello_verify_request(WPACKET *pkt, unsigned char *cookie,\n
      \                                 size_t cookie_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:1403,1
    - Dst: SSL_CTX*::app_gen_cookie_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:1406,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:1406,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1409,1
    - Dst: dtls_raw_hello_verify_request
      Src: /src/openssl/ssl/statem/statem_srvr.c:1414,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1399
    functionDepth: 2
    functionLinenumber: 1399
    functionLinenumberEnd: 1421
    functionName: dtls_construct_hello_verify_request
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_CTX*::app_gen_cookie_cb
    - SSL_CONNECTION_GET_USER_SSL
    - dtls_raw_hello_verify_request
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: "CON_FUNC_RETURN dtls_construct_hello_verify_request(SSL_CONNECTION
      *s,\n                                                    WPACKET *pkt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/statem_srvr.c:1470,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:1471,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:1472,1
    - Dst: TLS1_get_client_version
      Src: /src/openssl/ssl/statem/statem_srvr.c:1479,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:1480,1
    - Dst: PACKET_equal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - s
    - hello
    argTypes:
    - SSL_CONNECTION*
    - CLIENTHELLO_MSG*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1437
    functionDepth: 4
    functionLinenumber: 1437
    functionLinenumberEnd: 1485
    functionName: ssl_check_for_safari
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_get_net_2
    - SSL_CONNECTION_GET_SSL
    - PACKET_forward
    - PACKET_get_length_prefixed_2
    - TLS1_get_client_version
    - PACKET_equal
    linkageType: ''
    returnType: void
    signature: "void ssl_check_for_safari(SSL_CONNECTION *s,\n                                 const
      CLIENTHELLO_MSG *hello)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - options
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 0
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: RENEG_OPTIONS_OK
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RENEG_OPTIONS_OK(options)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_srvr.c:1499,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_srvr.c:1500,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1500,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1501,1
    - Dst: RENEG_OPTIONS_OK
      Src: /src/openssl/ssl/statem/statem_srvr.c:1504,1
    - Dst: ssl3_send_alert
      Src: /src/openssl/ssl/statem/statem_srvr.c:1508,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/statem/statem_srvr.c:1515,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1517,1
    - Dst: RECORD_LAYER_is_sslv2_record
      Src: /src/openssl/ssl/statem/statem_srvr.c:1524,1
    - Dst: PACKET_null_init
      Src: /src/openssl/ssl/statem/statem_srvr.c:1525,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_srvr.c:1530,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1532,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/statem_srvr.c:1551,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1558,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:1563,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1564,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:1578,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:1579,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:1580,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1581,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1586,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/ssl/statem/statem_srvr.c:1590,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:1592,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/ssl/statem/statem_srvr.c:1593,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:1595,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1596,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_srvr.c:1608,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:1609,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/statem/statem_srvr.c:1613,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1614,1
    - Dst: PACKET_null_init
      Src: /src/openssl/ssl/statem/statem_srvr.c:1618,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:1621,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_srvr.c:1622,1
    - Dst: PACKET_copy_all
      Src: /src/openssl/ssl/statem/statem_srvr.c:1623,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1626,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:1630,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_srvr.c:1631,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1632,1
    - Dst: PACKET_copy_all
      Src: /src/openssl/ssl/statem/statem_srvr.c:1635,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1638,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/statem_srvr.c:1646,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:1646,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:1648,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:1654,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1655,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_srvr.c:1659,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1660,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:1665,1
    - Dst: PACKET_null_init
      Src: /src/openssl/ssl/statem/statem_srvr.c:1666,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:1668,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:1669,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1670,1
    - Dst: PACKET_copy_all
      Src: /src/openssl/ssl/statem/statem_srvr.c:1676,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1679,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_srvr.c:1685,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:1697,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:1698,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 126
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1491
    functionDepth: 4
    functionLinenumber: 1491
    functionLinenumberEnd: 1701
    functionName: tls_process_client_hello
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - PACKET_get_sub_packet
    - PACKET_get_net_2
    - OPENSSL_free
    - SSL_get_options
    - PACKET_copy_bytes
    - PACKET_get_length_prefixed_2
    - PACKET_copy_all
    - ossl_assert
    - OPENSSL_zalloc
    - PACKET_buf_init
    - SSL_IS_FIRST_HANDSHAKE
    - PACKET_null_init
    - PACKET_get_length_prefixed_1
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_IS_TLS13
    - ssl3_send_alert
    - memset
    - PACKET_get_1
    - RENEG_OPTIONS_OK
    - RECORD_LAYER_is_sslv2_record
    - PACKET_remaining
    - tls_collect_extensions
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_client_hello(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_srvr.c:1713,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_srvr.c:1714,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:1717,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:1718,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:1719,1
    - Dst: SSL_CTX*::client_hello_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:1725,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1733,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_srvr.c:1739,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1751,1
    - Dst: ssl_choose_server_version
      Src: /src/openssl/ssl/statem/statem_srvr.c:1759,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_srvr.c:1762,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1766,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1771,1
    - Dst: RECORD_LAYER_processed_read_pending
      Src: /src/openssl/ssl/statem/statem_srvr.c:1772,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1773,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:1777,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/statem_srvr.c:1779,1
    - Dst: SSL_CTX*::app_verify_cookie_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:1781,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1783,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_srvr.c:1790,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1792,1
    - Dst: ssl_cache_cipherlist
      Src: /src/openssl/ssl/statem/statem_srvr.c:1801,1
    - Dst: ossl_bytes_to_cipher_list
      Src: /src/openssl/ssl/statem/statem_srvr.c:1803,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:1812,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/statem/statem_srvr.c:1813,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/ssl/statem/statem_srvr.c:1814,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1817,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/openssl/ssl/statem/statem_srvr.c:1822,1
    - Dst: ssl_check_version_downgrade
      Src: /src/openssl/ssl/statem/statem_srvr.c:1823,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1831,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1839,1
    - Dst: ssl3_choose_cipher
      Src: /src/openssl/ssl/statem/statem_srvr.c:1841,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/statem/statem_srvr.c:1841,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1844,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1854,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/statem/statem_srvr.c:1861,1
    - Dst: ssl_get_new_session
      Src: /src/openssl/ssl/statem/statem_srvr.c:1887,1
    - Dst: ssl_get_prev_session
      Src: /src/openssl/ssl/statem/statem_srvr.c:1892,1
    - Dst: ssl_get_new_session
      Src: /src/openssl/ssl/statem/statem_srvr.c:1901,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1908,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_srvr.c:1909,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1918,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/statem/statem_srvr.c:1923,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:1924,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:1926,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/statem/statem_srvr.c:1927,1
    - Dst: BIO_printf
      Src: /src/openssl/ssl/statem/statem_srvr.c:1929,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:1930,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/openssl/ssl/statem/statem_srvr.c:1930,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1941,1
    - Dst: OSSL_TRACE_CANCEL
      Src: /src/openssl/ssl/statem/statem_srvr.c:1943,1
    - Dst: OSSL_TRACE_END
      Src: /src/openssl/ssl/statem/statem_srvr.c:1946,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1951,1
    - Dst: memchr
      Src: /src/openssl/ssl/statem/statem_srvr.c:1955,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1957,1
    - Dst: ssl_check_for_safari
      Src: /src/openssl/ssl/statem/statem_srvr.c:1963,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_srvr.c:1966,1
    - Dst: ssl_fill_hello_random
      Src: /src/openssl/ssl/statem/statem_srvr.c:1981,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:1982,1
    - Dst: tls1_set_server_sigalgs
      Src: /src/openssl/ssl/statem/statem_srvr.c:1987,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:1994,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:1995,1
    - Dst: SSL_CONNECTION*::ext::session_secret_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:2005,1
    - Dst: ssl3_choose_cipher
      Src: /src/openssl/ssl/statem/statem_srvr.c:2019,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/statem/statem_srvr.c:2020,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2022,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2027,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/statem/statem_srvr.c:2028,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2029,1
    - Dst: sk_SSL_CIPHER_dup
      Src: /src/openssl/ssl/statem/statem_srvr.c:2030,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:2040,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2047,1
    - Dst: ssl_allow_compression
      Src: /src/openssl/ssl/statem/statem_srvr.c:2059,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2060,1
    - Dst: sk_SSL_COMP_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:2065,1
    - Dst: sk_SSL_COMP_value
      Src: /src/openssl/ssl/statem/statem_srvr.c:2066,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2073,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2083,1
    - Dst: ssl_allow_compression
      Src: /src/openssl/ssl/statem/statem_srvr.c:2089,1
    - Dst: sk_SSL_COMP_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:2094,1
    - Dst: sk_SSL_COMP_value
      Src: /src/openssl/ssl/statem/statem_srvr.c:2096,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2118,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:2127,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2128,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2131,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2145,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2146,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2148,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2152,1
    - Dst: sk_SSL_CIPHER_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2153,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2154,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2155,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 280
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 1703
    functionDepth: 10
    functionLinenumber: 1703
    functionLinenumberEnd: 2159
    functionName: tls_early_post_process_client_hello
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - ssl_choose_server_version
    - SSLfatal
    - sk_SSL_CIPHER_dup
    - ssl_fill_hello_random
    - ossl_bytes_to_cipher_list
    - memcpy
    - memchr
    - OPENSSL_free
    - SSL_get_options
    - OSSL_TRACE_CANCEL
    - ssl_get_new_session
    - tls_parse_all_extensions
    - ssl_check_for_safari
    - sk_SSL_CIPHER_free
    - SSL_IS_FIRST_HANDSHAKE
    - RECORD_LAYER_processed_read_pending
    - BIO_printf
    - ssl_check_version_downgrade
    - SSL_CIPHER_get_id
    - SSL_CONNECTION*::ext::session_secret_cb
    - tls1_set_server_sigalgs
    - SSL_CTX*::client_hello_cb
    - sk_SSL_CIPHER_value
    - SSL_CONNECTION_GET_SSL
    - STACK_OF
    - SSL_CONNECTION_GET_USER_SSL
    - sk_SSL_CIPHER_num
    - ssl_get_prev_session
    - ssl_allow_compression
    - SSL_CONNECTION_IS_DTLS
    - SSL_get_ciphers
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    - OSSL_TRACE_END
    - tls_parse_extension
    - memcmp
    - sk_SSL_COMP_num
    - ssl3_choose_cipher
    - ssl_cache_cipherlist
    - SSL_CTX*::app_verify_cookie_cb
    - SSL_CIPHER_get_name
    - sk_SSL_COMP_value
    linkageType: ''
    returnType: int
    signature: int tls_early_post_process_client_hello(SSL_CONNECTION *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_printf
      Src: /src/openssl/ssl/statem/statem_srvr.c:1923,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:1924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1922
    functionDepth: 2
    functionLinenumber: 1922
    functionLinenumberEnd: 1925
    functionName: OSSL_TRACE_BEGIN
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - sk_SSL_CIPHER_num
    - BIO_printf
    linkageType: ''
    returnType: void
    signature: void OSSL_TRACE_BEGIN(TLS_CIPHER)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:2167,1
    - Dst: SSL_CTX*::ext::status_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:2188,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:2188,1
    - Dst: sk_OCSP_RESPONSE_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:2199,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2213
    functionName: tls_handle_status_request
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSL_CTX*::ext::status_cb
    - SSLfatal
    - sk_OCSP_RESPONSE_num
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: int
    signature: int tls_handle_status_request(SSL_CONNECTION *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:2223,1
    - Dst: SSL_CTX*::ext::alpn_select_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:2226,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:2226,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2233,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/statem_srvr.c:2234,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2237,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_srvr.c:2249,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_srvr.c:2260,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2261,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/statem_srvr.c:2265,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2268,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2278,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2219
    functionDepth: 1
    functionLinenumber: 2219
    functionLinenumberEnd: 2295
    functionName: tls_handle_alpn
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memcmp
    - ossl_assert
    - OPENSSL_memdup
    - OPENSSL_free
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_GET_CTX
    - SSL_CTX*::ext::alpn_select_cb
    linkageType: ''
    returnType: int
    signature: int tls_handle_alpn(SSL_CONNECTION *s)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:2300,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:2301,1
    - Dst: tls_early_post_process_client_hello
      Src: /src/openssl/ssl/statem/statem_srvr.c:2304,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:2315,1
    - Dst: SSL_CONNECTION*::cert::cert_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:2318,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2321,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:2332,1
    - Dst: ssl3_choose_cipher
      Src: /src/openssl/ssl/statem/statem_srvr.c:2334,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/statem/statem_srvr.c:2335,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2338,1
    - Dst: tls_choose_sigalg
      Src: /src/openssl/ssl/statem/statem_srvr.c:2345,1
    - Dst: SSL_CONNECTION*::not_resumable_session_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:2352,1
    - Dst: tls_handle_status_request
      Src: /src/openssl/ssl/statem/statem_srvr.c:2380,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:2390,1
    - Dst: tls_handle_alpn
      Src: /src/openssl/ssl/statem/statem_srvr.c:2390,1
    - Dst: ssl_check_srp_ext_ClientHello
      Src: /src/openssl/ssl/statem/statem_srvr.c:2400,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2297
    functionDepth: 15
    functionLinenumber: 2297
    functionLinenumberEnd: 2417
    functionName: tls_post_process_client_hello
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - tls_handle_alpn
    - ssl3_choose_cipher
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION*::cert::cert_cb
    - SSL_CONNECTION*::not_resumable_session_cb
    - tls_handle_status_request
    - SSL_get_ciphers
    - tls_choose_sigalg
    - ssl_check_srp_ext_ClientHello
    - SSL_CONNECTION_IS_TLS13
    - tls_early_post_process_client_hello
    linkageType: ''
    returnType: WORK_STATE
    signature: WORK_STATE tls_post_process_client_hello(SSL_CONNECTION *s, WORK_STATE
      wst)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:2425,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:2429,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/statem_srvr.c:2434,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2438,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:2460,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2473,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2487,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:2488,1
    - Dst: put_cipher_by_char
      Src: /src/openssl/ssl/statem/statem_srvr.c:2488,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2490,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2491,1
    - Dst: tls_construct_extensions
      Src: /src/openssl/ssl/statem/statem_srvr.c:2495,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:2498,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2508,1
    - Dst: create_synthetic_message_hash
      Src: /src/openssl/ssl/statem/statem_srvr.c:2516,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_srvr.c:2521,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2419
    functionDepth: 5
    functionLinenumber: 2419
    functionLinenumberEnd: 2527
    functionName: tls_construct_server_hello
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - SSL_SESSION_free
    - tls_construct_extensions
    - SSL_CONNECTION_GET_SSL
    - put_cipher_by_char
    - create_synthetic_message_hash
    - ssl3_digest_cached_records
    - WPACKET_sub_memcpy_u8
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    - WPACKET_memcpy
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET
      *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_srvr.c:2532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2538
    functionName: tls_construct_server_done
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - ssl3_digest_cached_records
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_server_done(SSL_CONNECTION *s, WPACKET
      *pkt)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/statem_srvr.c:2551,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:2556,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/statem/statem_srvr.c:2558,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2559,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2564,1
    - Dst: ssl_get_auto_dh
      Src: /src/openssl/ssl/statem/statem_srvr.c:2581,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2583,1
    - Dst: ssl_dh_to_pkey
      Src: /src/openssl/ssl/statem/statem_srvr.c:2592,1
    - Dst: SSL_CONNECTION*::cert::dh_tmp_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:2592,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:2592,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2595,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2602,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/statem/statem_srvr.c:2605,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/statem/statem_srvr.c:2606,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2607,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2611,1
    - Dst: ssl_generate_pkey
      Src: /src/openssl/ssl/statem/statem_srvr.c:2615,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2617,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2621,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/ssl/statem/statem_srvr.c:2626,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/ssl/statem/statem_srvr.c:2628,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/openssl/ssl/statem/statem_srvr.c:2630,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2632,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2638,1
    - Dst: tls1_shared_group
      Src: /src/openssl/ssl/statem/statem_srvr.c:2643,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2645,1
    - Dst: ssl_generate_pkey_group
      Src: /src/openssl/ssl/statem/statem_srvr.c:2652,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/ssl/statem/statem_srvr.c:2659,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2662,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2680,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2690,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2698,1
    - Dst: strlen
      Src: /src/openssl/ssl/statem/statem_srvr.c:2705,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:2712,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2714,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2726,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:2729,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2732,1
    - Dst: BN_num_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:2742,1
    - Dst: BN_num_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:2742,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:2745,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2746,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_srvr.c:2749,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:2753,1
    - Dst: BN_num_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:2753,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_srvr.c:2754,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2755,1
    - Dst: BN_bn2bin
      Src: /src/openssl/ssl/statem/statem_srvr.c:2759,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2769,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2770,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2771,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2772,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2773,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2776,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/statem/statem_srvr.c:2787,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2789,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/ssl/statem/statem_srvr.c:2793,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2794,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_srvr.c:2798,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:2798,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2799,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/ssl/statem/statem_srvr.c:2803,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/statem_srvr.c:2804,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2807,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/ssl/statem/statem_srvr.c:2811,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/openssl/ssl/statem/statem_srvr.c:2812,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2813,1
    - Dst: construct_key_exchange_tbs
      Src: /src/openssl/ssl/statem/statem_srvr.c:2817,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/ssl/statem/statem_srvr.c:2825,1
    - Dst: WPACKET_sub_reserve_bytes_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:2826,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/ssl/statem/statem_srvr.c:2827,1
    - Dst: WPACKET_sub_allocate_bytes_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:2828,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2830,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2831,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2834,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2839,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2840,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2841,1
    - Dst: BN_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2843,1
    - Dst: BN_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2844,1
    - Dst: BN_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2845,1
    - Dst: BN_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2846,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 215
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2540
    functionDepth: 10
    functionLinenumber: 2540
    functionLinenumberEnd: 2849
    functionName: tls_construct_server_key_exchange
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - BN_num_bytes
    - OPENSSL_free
    - EVP_DigestSign
    - WPACKET_allocate_bytes
    - strlen
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - WPACKET_put_bytes_u8
    - ssl_generate_pkey_group
    - WPACKET_close
    - ssl_get_auto_dh
    - EVP_PKEY_free
    - WPACKET_sub_memcpy_u16
    - BN_free
    - construct_key_exchange_tbs
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_get1_encoded_public_key
    - EVP_MD_get0_name
    - ssl_dh_to_pkey
    - SSL_CONNECTION_GET_USER_SSL
    - EVP_DigestSignInit_ex
    - WPACKET_sub_allocate_bytes_u16
    - EVP_PKEY_get_security_bits
    - WPACKET_sub_memcpy_u8
    - ssl_security
    - SSL_CONNECTION_GET_CTX
    - ssl_generate_pkey
    - WPACKET_start_sub_packet_u16
    - SSL_CONNECTION*::cert::dh_tmp_cb
    - memset
    - WPACKET_sub_reserve_bytes_u16
    - tls1_shared_group
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - WPACKET_get_total_written
    - tls1_lookup_md
    - WPACKET_get_length
    - BN_bn2bin
    - WPACKET_start_sub_packet_u8
    - SSL_USE_SIGALGS
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: "CON_FUNC_RETURN tls_construct_server_key_exchange(SSL_CONNECTION *s,\n
      \                                                 WPACKET *pkt)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:2854,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2857,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_srvr.c:2859,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2861,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/statem/statem_srvr.c:2864,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:2864,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2866,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2868,1
    - Dst: tls13_restore_handshake_digest_for_pha
      Src: /src/openssl/ssl/statem/statem_srvr.c:2872,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2877,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2878,1
    - Dst: tls_construct_extensions
      Src: /src/openssl/ssl/statem/statem_srvr.c:2883,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:2893,1
    - Dst: ssl3_get_req_cert_type
      Src: /src/openssl/ssl/statem/statem_srvr.c:2894,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_srvr.c:2894,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2895,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_srvr.c:2899,1
    - Dst: tls12_get_psigalgs
      Src: /src/openssl/ssl/statem/statem_srvr.c:2901,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:2903,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/ssl/statem/statem_srvr.c:2904,1
    - Dst: tls12_copy_sigalgs
      Src: /src/openssl/ssl/statem/statem_srvr.c:2905,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_srvr.c:2906,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2907,1
    - Dst: construct_ca_names
      Src: /src/openssl/ssl/statem/statem_srvr.c:2912,1
    - Dst: get_ca_names
      Src: /src/openssl/ssl/statem/statem_srvr.c:2912,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2851
    functionDepth: 7
    functionLinenumber: 2851
    functionLinenumberEnd: 2921
    functionName: tls_construct_certificate_request
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - OPENSSL_free
    - tls13_restore_handshake_digest_for_pha
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - WPACKET_set_flags
    - tls12_get_psigalgs
    - OPENSSL_malloc
    - tls12_copy_sigalgs
    - construct_ca_names
    - WPACKET_sub_memcpy_u8
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    - WPACKET_start_sub_packet_u16
    - ssl3_get_req_cert_type
    - RAND_bytes_ex
    - tls_construct_extensions
    - get_ca_names
    - WPACKET_start_sub_packet_u8
    - SSL_USE_SIGALGS
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: "CON_FUNC_RETURN tls_construct_certificate_request(SSL_CONNECTION *s,\n
      \                                                 WPACKET *pkt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:2930,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2931,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:2934,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2935,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2939,1
    - Dst: PACKET_strndup
      Src: /src/openssl/ssl/statem/statem_srvr.c:2943,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2944,1
    - Dst: SSL_CONNECTION*::psk_server_callback
      Src: /src/openssl/ssl/statem/statem_srvr.c:2948,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:2948,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2953,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2959,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:2963,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/statem_srvr.c:2964,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/statem_srvr.c:2965,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2969,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2978,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2923
    functionDepth: 7
    functionLinenumber: 2923
    functionLinenumberEnd: 2981
    functionName: tls_process_cke_psk_preamble
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - OPENSSL_memdup
    - PACKET_remaining
    - SSL_CONNECTION*::psk_server_callback
    - SSL_CONNECTION_GET_USER_SSL
    - OPENSSL_free
    - PACKET_strndup
    - PACKET_get_length_prefixed_2
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int tls_process_cke_psk_preamble(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:2992,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:2996,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:3004,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3005,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3006,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_srvr.c:3012,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3014,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/statem/statem_srvr.c:3018,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3020,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/ssl/statem/statem_srvr.c:3035,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/ssl/statem/statem_srvr.c:3036,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3037,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/ssl/statem/statem_srvr.c:3041,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/openssl/ssl/statem/statem_srvr.c:3044,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/openssl/ssl/statem/statem_srvr.c:3047,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/openssl/ssl/statem/statem_srvr.c:3049,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/ssl/statem/statem_srvr.c:3050,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_srvr.c:3051,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3052,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3053,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/statem_srvr.c:3062,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3063,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/statem/statem_srvr.c:3068,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3075,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3076,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 2983
    functionDepth: 6
    functionLinenumber: 2983
    functionLinenumberEnd: 3078
    functionName: tls_process_cke_rsa
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_PKEY_decrypt
    - OSSL_PARAM_construct_end
    - EVP_PKEY_decrypt_init
    - EVP_PKEY_CTX_set_params
    - ssl_generate_master_secret
    - PACKET_remaining
    - OPENSSL_free
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_CTX_free
    - PACKET_data
    - SSL_CONNECTION_GET_CTX
    - PACKET_get_length_prefixed_2
    - OPENSSL_cleanse
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int tls_process_cke_rsa(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:3088,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3088,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3089,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3094,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3098,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3099,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:3102,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3104,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/ssl/statem/statem_srvr.c:3107,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/ssl/statem/statem_srvr.c:3108,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3109,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/ssl/statem/statem_srvr.c:3113,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3114,1
    - Dst: ssl_derive
      Src: /src/openssl/ssl/statem/statem_srvr.c:3118,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3124,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3127,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3080
    functionDepth: 10
    functionLinenumber: 3080
    functionLinenumberEnd: 3129
    functionName: tls_process_cke_dhe
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_PKEY_new
    - PACKET_get_bytes
    - ssl_derive
    - PACKET_get_net_2
    - EVP_PKEY_free
    - PACKET_remaining
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_copy_parameters
    linkageType: ''
    returnType: int
    signature: int tls_process_cke_dhe(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3137,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3139,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/statem_srvr.c:3154,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:3154,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3155,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3156,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3160,1
    - Dst: EVP_PKEY_new
      Src: /src/openssl/ssl/statem/statem_srvr.c:3164,1
    - Dst: EVP_PKEY_copy_parameters
      Src: /src/openssl/ssl/statem/statem_srvr.c:3165,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3166,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/ssl/statem/statem_srvr.c:3170,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3171,1
    - Dst: ssl_derive
      Src: /src/openssl/ssl/statem/statem_srvr.c:3176,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3182,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3185,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3131
    functionDepth: 10
    functionLinenumber: 3131
    functionLinenumberEnd: 3188
    functionName: tls_process_cke_ecdhe
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_PKEY_new
    - PACKET_get_bytes
    - ssl_derive
    - PACKET_get_1
    - EVP_PKEY_free
    - PACKET_remaining
    - EVP_PKEY_set1_encoded_public_key
    - EVP_PKEY_copy_parameters
    linkageType: ''
    returnType: int
    signature: int tls_process_cke_ecdhe(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:3196,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:3197,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3198,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/statem/statem_srvr.c:3201,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3202,1
    - Dst: BN_ucmp
      Src: /src/openssl/ssl/statem/statem_srvr.c:3205,1
    - Dst: BN_is_zero
      Src: /src/openssl/ssl/statem/statem_srvr.c:3205,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3206,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3209,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/statem/statem_srvr.c:3210,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3212,1
    - Dst: srp_generate_server_master_secret
      Src: /src/openssl/ssl/statem/statem_srvr.c:3216,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3190
    functionDepth: 13
    functionLinenumber: 3190
    functionLinenumberEnd: 3227
    functionName: tls_process_cke_srp
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_get_bytes
    - PACKET_get_net_2
    - BN_is_zero
    - BN_bin2bn
    - OPENSSL_free
    - OPENSSL_strdup
    - BN_ucmp
    - srp_generate_server_master_secret
    linkageType: ''
    returnType: int
    signature: int tls_process_cke_srp(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:3241,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/statem/statem_srvr.c:3260,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3262,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/ssl/statem/statem_srvr.c:3265,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3266,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_srvr.c:3275,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/openssl/ssl/statem/statem_srvr.c:3277,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/statem/statem_srvr.c:3278,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_srvr.c:3281,1
    - Dst: d2i_GOST_KX_MESSAGE
      Src: /src/openssl/ssl/statem/statem_srvr.c:3284,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3284,1
    - Dst: ASN1_TYPE_get
      Src: /src/openssl/ssl/statem/statem_srvr.c:3287,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3288,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/statem_srvr.c:3292,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_srvr.c:3292,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3293,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3297,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3298,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/ssl/statem/statem_srvr.c:3305,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3307,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/statem/statem_srvr.c:3311,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/ssl/statem/statem_srvr.c:3316,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3322,1
    - Dst: GOST_KX_MESSAGE_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3323,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3327,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3229
    functionDepth: 6
    functionLinenumber: 3229
    functionLinenumberEnd: 3330
    functionName: tls_process_cke_gost
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_get_peer_pkey
    - EVP_PKEY_decrypt
    - EVP_PKEY_decrypt_init
    - ERR_clear_error
    - ssl_generate_master_secret
    - EVP_PKEY_CTX_ctrl
    - GOST_KX_MESSAGE_free
    - EVP_PKEY_derive_set_peer
    - PACKET_remaining
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - PACKET_data
    - PACKET_forward
    - SSL_CONNECTION_GET_CTX
    - d2i_GOST_KX_MESSAGE
    - ASN1_TYPE_get
    linkageType: ''
    returnType: int
    signature: int tls_process_cke_gost(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gost18_cke_cipher_nid
      Src: /src/openssl/ssl/statem/statem_srvr.c:3342,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:3343,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3346,1
    - Dst: ossl_gost_ukm
      Src: /src/openssl/ssl/statem/statem_srvr.c:3350,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3351,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3360,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/statem/statem_srvr.c:3364,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3366,1
    - Dst: EVP_PKEY_decrypt_init
      Src: /src/openssl/ssl/statem/statem_srvr.c:3369,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3370,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/ssl/statem/statem_srvr.c:3375,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3377,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/ssl/statem/statem_srvr.c:3381,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3383,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3386,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_srvr.c:3387,1
    - Dst: EVP_PKEY_decrypt
      Src: /src/openssl/ssl/statem/statem_srvr.c:3389,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3390,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/statem/statem_srvr.c:3394,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3401,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3405,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3332
    functionDepth: 6
    functionLinenumber: 3332
    functionLinenumberEnd: 3408
    functionName: tls_process_cke_gost18
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - EVP_PKEY_decrypt
    - ossl_gost18_cke_cipher_nid
    - EVP_PKEY_decrypt_init
    - ossl_gost_ukm
    - EVP_PKEY_CTX_ctrl
    - ssl_generate_master_secret
    - PACKET_remaining
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - PACKET_data
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: int
    signature: int tls_process_cke_gost18(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tls_process_cke_psk_preamble
      Src: /src/openssl/ssl/statem/statem_srvr.c:3418,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3425,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3426,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/statem/statem_srvr.c:3430,1
    - Dst: tls_process_cke_rsa
      Src: /src/openssl/ssl/statem/statem_srvr.c:3435,1
    - Dst: tls_process_cke_dhe
      Src: /src/openssl/ssl/statem/statem_srvr.c:3440,1
    - Dst: tls_process_cke_ecdhe
      Src: /src/openssl/ssl/statem/statem_srvr.c:3445,1
    - Dst: tls_process_cke_srp
      Src: /src/openssl/ssl/statem/statem_srvr.c:3450,1
    - Dst: tls_process_cke_gost
      Src: /src/openssl/ssl/statem/statem_srvr.c:3455,1
    - Dst: tls_process_cke_gost18
      Src: /src/openssl/ssl/statem/statem_srvr.c:3460,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3465,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3410
    functionDepth: 14
    functionLinenumber: 3410
    functionLinenumberEnd: 3477
    functionName: tls_process_client_key_exchange
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - tls_process_cke_srp
    - tls_process_cke_gost18
    - tls_process_cke_gost
    - ssl_generate_master_secret
    - tls_process_cke_psk_preamble
    - tls_process_cke_dhe
    - PACKET_remaining
    - tls_process_cke_rsa
    - tls_process_cke_ecdhe
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls_process_client_key_exchange(SSL_CONNECTION
      *s,\n                                                   PACKET *pkt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_srvr.c:3484,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_srvr.c:3492,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/ssl/statem/statem_srvr.c:3500,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:3500,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3505,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_srvr.c:3509,1
    - Dst: received_client_cert
      Src: /src/openssl/ssl/statem/statem_srvr.c:3515,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_srvr.c:3520,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3527,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_srvr.c:3534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3479
    functionDepth: 3
    functionLinenumber: 3479
    functionLinenumberEnd: 3541
    functionName: tls_post_process_client_key_exchange
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - BIO_ctrl
    - memcpy
    - received_client_cert
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_IS_DTLS
    - ssl3_digest_cached_records
    - SSL_export_keying_material
    linkageType: ''
    returnType: WORK_STATE
    signature: "WORK_STATE tls_post_process_client_key_exchange(SSL_CONNECTION *s,\n
      \                                               WORK_STATE wst)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tls_process_rpk
      Src: /src/openssl/ssl/statem/statem_srvr.c:3549,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3557,1
    - Dst: ssl_verify_rpk
      Src: /src/openssl/ssl/statem/statem_srvr.c:3562,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3563,1
    - Dst: ssl_x509err2alert
      Src: /src/openssl/ssl/statem/statem_srvr.c:3563,1
    - Dst: ssl_session_dup
      Src: /src/openssl/ssl/statem/statem_srvr.c:3578,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3579,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3583,1
    - Dst: X509_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3588,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3590,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3593,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:3603,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_srvr.c:3604,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/statem/statem_srvr.c:3610,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3624,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - sc
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3626
      start: 3543
    functionDepth: 5
    functionLinenumber: 3543
    functionLinenumberEnd: 3626
    functionName: tls_process_client_rpk
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_SESSION_free
    - sk_X509_pop_free
    - EVP_PKEY_free
    - X509_free
    - ssl_handshake_hash
    - ssl_x509err2alert
    - ssl_verify_rpk
    - ssl3_digest_cached_records
    - tls_process_rpk
    - ssl_session_dup
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_client_rpk(SSL_CONNECTION *sc, PACKET
      *pkt)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_srvr.c:3636,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:3640,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_plain_alerts
      Src: /src/openssl/ssl/statem/statem_srvr.c:3647,1
    - Dst: tls_process_client_rpk
      Src: /src/openssl/ssl/statem/statem_srvr.c:3650,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3653,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/ssl/statem/statem_srvr.c:3658,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3659,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:3663,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_srvr.c:3664,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3665,1
    - Dst: PACKET_equal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3667,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3669,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/openssl/ssl/statem/statem_srvr.c:3673,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3674,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3675,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3679,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/ssl/statem/statem_srvr.c:3680,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_srvr.c:3681,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3682,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/statem/statem_srvr.c:3687,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3689,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/statem/statem_srvr.c:3692,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3693,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3698,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:3702,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_srvr.c:3706,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3707,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_srvr.c:3710,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_srvr.c:3713,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:3715,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3716,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3719,1
    - Dst: sk_X509_push
      Src: /src/openssl/ssl/statem/statem_srvr.c:3722,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3723,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:3729,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3732,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3739,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_srvr.c:3744,1
    - Dst: ssl_verify_cert_chain
      Src: /src/openssl/ssl/statem/statem_srvr.c:3750,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3752,1
    - Dst: ssl_x509err2alert
      Src: /src/openssl/ssl/statem/statem_srvr.c:3752,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/ssl/statem/statem_srvr.c:3756,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/statem/statem_srvr.c:3756,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3758,1
    - Dst: ssl_session_dup
      Src: /src/openssl/ssl/statem/statem_srvr.c:3773,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3774,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3778,1
    - Dst: X509_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3782,1
    - Dst: sk_X509_shift
      Src: /src/openssl/ssl/statem/statem_srvr.c:3783,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3786,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3790,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:3797,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_srvr.c:3797,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:3808,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/statem/statem_srvr.c:3809,1
    - Dst: X509_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3823,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3824,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 132
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3826
      start: 3628
    functionDepth: 6
    functionLinenumber: 3628
    functionLinenumberEnd: 3826
    functionName: tls_process_client_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - PACKET_get_bytes
    - sk_X509_shift
    - X509_free
    - OPENSSL_free
    - X509_new_ex
    - tls_process_client_rpk
    - ssl_verify_cert_chain
    - PACKET_get_length_prefixed_2
    - d2i_X509
    - sk_X509_num
    - tls_parse_all_extensions
    - sk_X509_value
    - sk_X509_push
    - OSSL_STACK_OF_X509_free
    - EVP_PKEY_free
    - ssl_handshake_hash
    - PACKET_get_net_3
    - SSL_SESSION_free
    - PACKET_get_length_prefixed_1
    - STACK_OF
    - ssl3_digest_cached_records
    - sk_X509_new_null
    - SSL_CONNECTION_GET_CTX
    - ssl_session_dup
    - SSL_CONNECTION_IS_TLS13
    - X509_get0_pubkey
    - SSL_CONNECTION*::rlayer::rrlmethod::set_plain_alerts
    - PACKET_remaining
    - ssl_x509err2alert
    - PACKET_get_length_prefixed_3
    - tls_collect_extensions
    - PACKET_equal
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls_process_client_certificate(SSL_CONNECTION *s,\n
      \                                                 PACKET *pkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/ssl/statem/statem_srvr.c:3833,1
    - Dst: tls13_process_compressed_certificate
      Src: /src/openssl/ssl/statem/statem_srvr.c:3835,1
    - Dst: tls_process_client_certificate
      Src: /src/openssl/ssl/statem/statem_srvr.c:3836,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:3838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3829
    functionDepth: 7
    functionLinenumber: 3829
    functionLinenumberEnd: 3840
    functionName: tls_process_client_compressed_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_new
    - BUF_MEM_free
    - tls_process_client_certificate
    - tls13_process_compressed_certificate
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_client_compressed_certificate(SSL_CONNECTION
      *sc, PACKET *pkt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3848,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:3856,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:3856,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3857,1
    - Dst: tls_output_rpk
      Src: /src/openssl/ssl/statem/statem_srvr.c:3862,1
    - Dst: ssl3_output_cert_chain
      Src: /src/openssl/ssl/statem/statem_srvr.c:3868,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3874,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3843
    functionDepth: 1
    functionLinenumber: 3843
    functionLinenumberEnd: 3879
    functionName: tls_construct_server_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u8
    - tls_output_rpk
    - ssl3_output_cert_chain
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_server_certificate(SSL_CONNECTION *s,
      WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_compressed_certificate_alg
      Src: /src/openssl/ssl/statem/statem_srvr.c:3884,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_srvr.c:3887,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3888,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:3895,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/ssl/statem/statem_srvr.c:3896,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/statem/statem_srvr.c:3897,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/statem_srvr.c:3898,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_srvr.c:3899,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3904
      start: 3882
    functionDepth: 4
    functionLinenumber: 3882
    functionLinenumberEnd: 3904
    functionName: tls_construct_server_compressed_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - SSLfatal
    - WPACKET_put_bytes_u16
    - get_compressed_certificate_alg
    - WPACKET_start_sub_packet_u24
    - WPACKET_close
    - WPACKET_put_bytes_u24
    - WPACKET_memcpy
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_server_compressed_certificate(SSL_CONNECTION
      *sc, WPACKET *pkt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time2seconds
      Src: /src/openssl/ssl/statem/statem_srvr.c:3910,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:3921,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/statem/statem_srvr.c:3922,1
    - Dst: ossl_seconds2time
      Src: /src/openssl/ssl/statem/statem_srvr.c:3923,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/ssl/statem/statem_srvr.c:3928,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3929,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:3933,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/ssl/statem/statem_srvr.c:3934,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:3935,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3936,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/statem_srvr.c:3942,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:3943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - s
    - pkt
    - age_add
    - tick_nonce
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3948
      start: 3907
    functionDepth: 1
    functionLinenumber: 3907
    functionLinenumberEnd: 3948
    functionName: create_ticket_prequel
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - ossl_time_compare
    - ossl_seconds2time
    - WPACKET_sub_memcpy_u8
    - WPACKET_put_bytes_u32
    - ossl_time2seconds
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: "int create_ticket_prequel(SSL_CONNECTION *s, WPACKET *pkt,\n                                 uint32_t
      age_add, unsigned char *tick_nonce)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_ticket_prequel
      Src: /src/openssl/ssl/statem/statem_srvr.c:4162,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/statem_srvr.c:4167,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_srvr.c:4169,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - s
    - pkt
    - age_add
    - tick_nonce
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4158
    functionDepth: 4
    functionLinenumber: 4158
    functionLinenumberEnd: 4175
    functionName: construct_stateful_ticket
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_close
    - create_ticket_prequel
    - WPACKET_memcpy
    linkageType: ''
    returnType: int
    signature: "int construct_stateful_ticket(SSL_CONNECTION *s, WPACKET *pkt,\n                                     uint32_t
      age_add,\n                                     unsigned char *tick_nonce)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4189
      start: 4177
    functionDepth: 0
    functionLinenumber: 4177
    functionLinenumberEnd: 4189
    functionName: tls_update_ticket_counts
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tls_update_ticket_counts(SSL_CONNECTION *s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:4203,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/statem/statem_srvr.c:4207,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/statem/statem_srvr.c:4208,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_srvr.c:4211,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4212,1
    - Dst: ssl_session_dup
      Src: /src/openssl/ssl/statem/statem_srvr.c:4223,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:4230,1
    - Dst: ssl_generate_session_id
      Src: /src/openssl/ssl/statem/statem_srvr.c:4234,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/statem/statem_srvr.c:4238,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_srvr.c:4238,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4240,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/statem/statem_srvr.c:4251,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_srvr.c:4263,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/statem/statem_srvr.c:4264,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:4266,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/statem_srvr.c:4268,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4271,1
    - Dst: SSL_CTX*::generate_ticket_cb
      Src: /src/openssl/ssl/statem/statem_srvr.c:4280,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:4280,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4282,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:4290,1
    - Dst: construct_stateful_ticket
      Src: /src/openssl/ssl/statem/statem_srvr.c:4294,1
    - Dst: construct_stateless_ticket
      Src: /src/openssl/ssl/statem/statem_srvr.c:4301,1
    - Dst: tls_update_ticket_counts
      Src: /src/openssl/ssl/statem/statem_srvr.c:4308,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_srvr.c:4315,1
    - Dst: tls_construct_extensions
      Src: /src/openssl/ssl/statem/statem_srvr.c:4316,1
    - Dst: tls_update_ticket_counts
      Src: /src/openssl/ssl/statem/statem_srvr.c:4322,1
    - Dst: ssl_update_cache
      Src: /src/openssl/ssl/statem/statem_srvr.c:4323,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 85
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4329
      start: 4191
    functionDepth: 7
    functionLinenumber: 4191
    functionLinenumberEnd: 4329
    functionName: tls_construct_new_session_ticket
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - ssl_update_cache
    - SSLfatal
    - ssl_handshake_md
    - OPENSSL_free
    - ossl_assert
    - OPENSSL_memdup
    - SSL_CTX*::generate_ticket_cb
    - ossl_time_now
    - construct_stateful_ticket
    - SSL_SESSION_free
    - ssl_generate_session_id
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_GET_CTX
    - ssl_session_dup
    - SSL_CONNECTION_IS_TLS13
    - EVP_MD_get_size
    - ssl_session_calculate_timeout
    - tls_construct_extensions
    - construct_stateless_ticket
    - RAND_bytes_ex
    - tls13_hkdf_expand
    - tls_update_ticket_counts
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_new_session_ticket(SSL_CONNECTION *s,
      WPACKET *pkt)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_srvr.c:4343,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:4344,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_srvr.c:4360,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4361,1
    - Dst: SSL_get0_chain_certs
      Src: /src/openssl/ssl/statem/statem_srvr.c:4372,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/statem/statem_srvr.c:4382,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/statem/statem_srvr.c:4383,1
    - Dst: SSL_get_certificate
      Src: /src/openssl/ssl/statem/statem_srvr.c:4385,1
    - Dst: X509_self_signed
      Src: /src/openssl/ssl/statem/statem_srvr.c:4390,1
    - Dst: sk_OCSP_RESPONSE_value
      Src: /src/openssl/ssl/statem/statem_srvr.c:4393,1
    - Dst: OCSP_response_status
      Src: /src/openssl/ssl/statem/statem_srvr.c:4399,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/statem/statem_srvr.c:4404,1
    - Dst: OCSP_response_get1_basic
      Src: /src/openssl/ssl/statem/statem_srvr.c:4405,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/ssl/statem/statem_srvr.c:4406,1
    - Dst: OCSP_SINGLERESP_get0_id
      Src: /src/openssl/ssl/statem/statem_srvr.c:4408,1
    - Dst: OCSP_id_get0_info
      Src: /src/openssl/ssl/statem/statem_srvr.c:4410,1
    - Dst: EVP_get_digestbyobj
      Src: /src/openssl/ssl/statem/statem_srvr.c:4412,1
    - Dst: EVP_sha1
      Src: /src/openssl/ssl/statem/statem_srvr.c:4414,1
    - Dst: X509_get0_serialNumber
      Src: /src/openssl/ssl/statem/statem_srvr.c:4417,1
    - Dst: X509_get_issuer_name
      Src: /src/openssl/ssl/statem/statem_srvr.c:4418,1
    - Dst: ASN1_OCTET_STRING_new
      Src: /src/openssl/ssl/statem/statem_srvr.c:4419,1
    - Dst: X509_NAME_digest
      Src: /src/openssl/ssl/statem/statem_srvr.c:4420,1
    - Dst: ASN1_OCTET_STRING_set
      Src: /src/openssl/ssl/statem/statem_srvr.c:4421,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:4422,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:4423,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/statem/statem_srvr.c:4424,1
    - Dst: OCSP_resp_count
      Src: /src/openssl/ssl/statem/statem_srvr.c:4428,1
    - Dst: OCSP_resp_get0
      Src: /src/openssl/ssl/statem/statem_srvr.c:4430,1
    - Dst: OCSP_SINGLERESP_get0_id
      Src: /src/openssl/ssl/statem/statem_srvr.c:4433,1
    - Dst: OCSP_id_get0_info
      Src: /src/openssl/ssl/statem/statem_srvr.c:4435,1
    - Dst: ASN1_INTEGER_cmp
      Src: /src/openssl/ssl/statem/statem_srvr.c:4437,1
    - Dst: ASN1_OCTET_STRING_cmp
      Src: /src/openssl/ssl/statem/statem_srvr.c:4438,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:4442,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:4443,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/statem/statem_srvr.c:4457,1
    - Dst: i2d_OCSP_RESPONSE
      Src: /src/openssl/ssl/statem/statem_srvr.c:4462,1
    - Dst: WPACKET_sub_memcpy_u24
      Src: /src/openssl/ssl/statem/statem_srvr.c:4465,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4466,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:4467,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_srvr.c:4471,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 3
    argNames:
    - s
    - chainidx
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - size_t
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4473
      start: 4335
    functionDepth: 3
    functionLinenumber: 4335
    functionLinenumberEnd: 4473
    functionName: tls_construct_cert_status_body
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - OCSP_resp_count
    - ASN1_OCTET_STRING_set
    - sk_OCSP_RESPONSE_value
    - ERR_pop_to_mark
    - OPENSSL_free
    - OCSP_id_get0_info
    - ASN1_OCTET_STRING_free
    - WPACKET_sub_memcpy_u24
    - X509_self_signed
    - sk_X509_num
    - WPACKET_put_bytes_u8
    - OCSP_response_get1_basic
    - sk_X509_value
    - X509_get0_serialNumber
    - X509_NAME_digest
    - ERR_clear_last_mark
    - OCSP_resp_get0
    - ASN1_OCTET_STRING_new
    - i2d_OCSP_RESPONSE
    - OCSP_SINGLERESP_get0_id
    - OCSP_BASICRESP_free
    - X509_get_issuer_name
    - ASN1_INTEGER_cmp
    - SSL_CONNECTION_GET_SSL
    - STACK_OF
    - OCSP_response_status
    - ERR_set_mark
    - EVP_sha1
    - SSL_get_certificate
    - EVP_get_digestbyobj
    - SSL_get0_chain_certs
    - ASN1_OCTET_STRING_cmp
    linkageType: ''
    returnType: int
    signature: int tls_construct_cert_status_body(SSL_CONNECTION *s, size_t chainidx,
      WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_construct_cert_status_body
      Src: /src/openssl/ssl/statem/statem_srvr.c:4477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4475
    functionDepth: 4
    functionLinenumber: 4475
    functionLinenumberEnd: 4483
    functionName: tls_construct_cert_status
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - tls_construct_cert_status_body
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_cert_status(SSL_CONNECTION *s, WPACKET
      *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_srvr.c:4502,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_srvr.c:4503,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:4504,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4505,1
    - Dst: PACKET_memdup
      Src: /src/openssl/ssl/statem/statem_srvr.c:4509,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4518
      start: 4490
    functionDepth: 4
    functionLinenumber: 4490
    functionLinenumberEnd: 4518
    functionName: tls_process_next_proto
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - PACKET_get_length_prefixed_1
    - SSLfatal
    - PACKET_remaining
    - PACKET_memdup
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_next_proto(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_construct_extensions
      Src: /src/openssl/ssl/statem/statem_srvr.c:4524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4531
      start: 4521
    functionDepth: 1
    functionLinenumber: 4521
    functionLinenumberEnd: 4531
    functionName: tls_construct_encrypted_extensions
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 0
    functionsReached:
    - tls_construct_extensions
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: "CON_FUNC_RETURN tls_construct_encrypted_extensions(SSL_CONNECTION
      *s,\n                                                          WPACKET *pkt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_srvr.c:4535,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4536,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4542,1
    - Dst: RECORD_LAYER_processed_read_pending
      Src: /src/openssl/ssl/statem/statem_srvr.c:4550,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_srvr.c:4551,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_srvr.c:4556,1
    - Dst: ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_srvr.c:4556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4563
      start: 4533
    functionDepth: 1
    functionLinenumber: 4533
    functionLinenumberEnd: 4563
    functionName: tls_process_end_of_early_data
    functionSourceFile: /src/openssl/ssl/statem/statem_srvr.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - ssl3_enc::change_cipher_state
    - SSL_CONNECTION_GET_SSL
    - PACKET_remaining
    - RECORD_LAYER_processed_read_pending
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_end_of_early_data(SSL_CONNECTION *s,
      PACKET *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: received_server_cert
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline received_server_cert(SSL_CONNECTION *sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: cert_req_allowed
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline cert_req_allowed(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: key_exchange_expected
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key_exchange_expected(SSL_CONNECTION *s)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_clnt.c:190,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:199,1
    - Dst: tls13_restore_handshake_digest_for_pha
      Src: /src/openssl/ssl/statem/statem_clnt.c:208,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 2
    argNames:
    - s
    - mt
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 221
    functionName: ossl_statem_client13_read_transition
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - tls13_restore_handshake_digest_for_pha
    - SSL_CONNECTION_IS_DTLS
    - SSL_IS_QUIC_HANDSHAKE
    linkageType: ''
    returnType: int
    signature: int ossl_statem_client13_read_transition(SSL_CONNECTION *s, int mt)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:241,1
    - Dst: ossl_statem_client13_read_transition
      Src: /src/openssl/ssl/statem/statem_clnt.c:242,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:257,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:289,1
    - Dst: key_exchange_expected
      Src: /src/openssl/ssl/statem/statem_clnt.c:313,1
    - Dst: cert_req_allowed
      Src: /src/openssl/ssl/statem/statem_clnt.c:323,1
    - Dst: key_exchange_expected
      Src: /src/openssl/ssl/statem/statem_clnt.c:347,1
    - Dst: cert_req_allowed
      Src: /src/openssl/ssl/statem/statem_clnt.c:361,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:412,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/statem/statem_clnt.c:421,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:421,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/statem/statem_clnt.c:422,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/statem/statem_clnt.c:423,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:426,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 148
    argCount: 2
    argNames:
    - s
    - mt
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 428
    functionName: ossl_statem_client_read_transition
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - cert_req_allowed
    - BIO_clear_retry_flags
    - SSL_get_rbio
    - key_exchange_expected
    - ossl_statem_client13_read_transition
    - SSL_CONNECTION_GET_SSL
    - BIO_set_retry_read
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int ossl_statem_client_read_transition(SSL_CONNECTION *s, int mt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: do_compressed_cert
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int do_compressed_cert(SSL_CONNECTION *sc)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:454,1
    - Dst: do_compressed_cert
      Src: /src/openssl/ssl/statem/statem_clnt.c:459,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_clnt.c:469,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:471,1
    - Dst: do_compressed_cert
      Src: /src/openssl/ssl/statem/statem_clnt.c:486,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_clnt.c:491,1
    - Dst: SSL_NO_EOED
      Src: /src/openssl/ssl/statem/statem_clnt.c:495,1
    - Dst: do_compressed_cert
      Src: /src/openssl/ssl/statem/statem_clnt.c:505,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 538
    functionName: ossl_statem_client13_write_transition
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_assert
    - SSL_NO_EOED
    - ossl_time_now
    - do_compressed_cert
    linkageType: ''
    returnType: WRITE_TRAN
    signature: WRITE_TRAN ossl_statem_client13_write_transition(SSL_CONNECTION *s)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:553,1
    - Dst: ossl_statem_client13_write_transition
      Src: /src/openssl/ssl/statem/statem_clnt.c:554,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:559,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_clnt.c:578,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_clnt.c:593,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_clnt.c:610,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_clnt.c:618,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:663,1
    - Dst: ssl3_renegotiate_check
      Src: /src/openssl/ssl/statem/statem_clnt.c:699,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:699,1
    - Dst: tls_setup_handshake
      Src: /src/openssl/ssl/statem/statem_clnt.c:700,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 98
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 710
    functionName: ossl_statem_client_write_transition
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - tls_setup_handshake
    - SSLfatal
    - ssl3_renegotiate_check
    - SSL_CONNECTION_GET_SSL
    - ossl_time_now
    - SSL_CONNECTION_IS_DTLS
    - ossl_statem_client13_write_transition
    - SSL_CONNECTION_IS_TLS13
    - SSL_IS_QUIC_HANDSHAKE
    linkageType: ''
    returnType: WRITE_TRAN
    signature: WRITE_TRAN ossl_statem_client_write_transition(SSL_CONNECTION *s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:727,1
    - Dst: ssl3_init_finished_mac
      Src: /src/openssl/ssl/statem/statem_clnt.c:729,1
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/statem/statem_clnt.c:740,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:754,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/statem/statem_clnt.c:763,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_clnt.c:763,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:763,1
    - Dst: dtls_wait_for_dry
      Src: /src/openssl/ssl/statem/statem_clnt.c:765,1
    - Dst: tls_finish_handshake
      Src: /src/openssl/ssl/statem/statem_clnt.c:783,1
    - Dst: tls_finish_handshake
      Src: /src/openssl/ssl/statem/statem_clnt.c:787,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 716
    functionDepth: 6
    functionLinenumber: 716
    functionLinenumberEnd: 791
    functionName: ossl_statem_client_pre_work
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - ssl_set_new_record_layer
    - tls_finish_handshake
    - SSL_CONNECTION_GET_SSL
    - ssl3_init_finished_mac
    - SSL_get_wbio
    - SSL_CONNECTION_IS_DTLS
    - BIO_dgram_is_sctp
    - dtls_wait_for_dry
    linkageType: ''
    returnType: WORK_STATE
    signature: WORK_STATE ossl_statem_client_pre_work(SSL_CONNECTION *s, WORK_STATE
      wst)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:800,1
    - Dst: tls13_change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:818,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_clnt.c:825,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:829,1
    - Dst: tls_client_key_exchange_post_work
      Src: /src/openssl/ssl/statem/statem_clnt.c:836,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:843,1
    - Dst: tls13_change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:853,1
    - Dst: SSL*::method::ssl3_enc::setup_key_block
      Src: /src/openssl/ssl/statem/statem_clnt.c:867,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:872,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:879,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_clnt.c:884,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_clnt.c:884,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:892,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_clnt.c:897,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_clnt.c:897,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_clnt.c:901,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:904,1
    - Dst: tls13_save_handshake_digest_for_pha
      Src: /src/openssl/ssl/statem/statem_clnt.c:905,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:910,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_clnt.c:920,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:921,1
    - Dst: statem_flush
      Src: /src/openssl/ssl/statem/statem_clnt.c:931,1
    - Dst: tls13_update_key
      Src: /src/openssl/ssl/statem/statem_clnt.c:933,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 77
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 797
    functionDepth: 11
    functionLinenumber: 797
    functionLinenumberEnd: 941
    functionName: ossl_statem_client_post_work
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - tls13_change_cipher_state
    - SSL*::method::ssl3_enc::setup_key_block
    - BIO_ctrl
    - tls13_save_handshake_digest_for_pha
    - SSL_IS_QUIC_HANDSHAKE
    - statem_flush
    - SSL*::method::ssl3_enc::change_cipher_state
    - SSL_CONNECTION_GET_SSL
    - SSL_get_wbio
    - SSL_CONNECTION_IS_DTLS
    - tls13_update_key
    - SSL_CONNECTION_IS_TLS13
    - tls_client_key_exchange_post_work
    linkageType: ''
    returnType: WORK_STATE
    signature: WORK_STATE ossl_statem_client_post_work(SSL_CONNECTION *s, WORK_STATE
      wst)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:959,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:963,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 3
    argNames:
    - s
    - confunc
    - mt
    argTypes:
    - SSL_CONNECTION*
    - confunc_f*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 1025
    functionName: ossl_statem_client_construct_message
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: "int ossl_statem_client_construct_message(SSL_CONNECTION *s,\n                                         confunc_f
      *confunc, int *mt)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1088
    functionName: ossl_statem_client_max_message_size
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: size_t
    signature: size_t ossl_statem_client_max_message_size(SSL_CONNECTION *s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1101,1
    - Dst: tls_process_server_hello
      Src: /src/openssl/ssl/statem/statem_clnt.c:1105,1
    - Dst: dtls_process_hello_verify
      Src: /src/openssl/ssl/statem/statem_clnt.c:1108,1
    - Dst: tls_process_server_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:1111,1
    - Dst: tls_process_server_compressed_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:1115,1
    - Dst: tls_process_cert_verify
      Src: /src/openssl/ssl/statem/statem_clnt.c:1119,1
    - Dst: tls_process_cert_status
      Src: /src/openssl/ssl/statem/statem_clnt.c:1122,1
    - Dst: tls_process_key_exchange
      Src: /src/openssl/ssl/statem/statem_clnt.c:1125,1
    - Dst: tls_process_certificate_request
      Src: /src/openssl/ssl/statem/statem_clnt.c:1128,1
    - Dst: tls_process_server_done
      Src: /src/openssl/ssl/statem/statem_clnt.c:1131,1
    - Dst: tls_process_change_cipher_spec
      Src: /src/openssl/ssl/statem/statem_clnt.c:1134,1
    - Dst: tls_process_new_session_ticket
      Src: /src/openssl/ssl/statem/statem_clnt.c:1137,1
    - Dst: tls_process_finished
      Src: /src/openssl/ssl/statem/statem_clnt.c:1140,1
    - Dst: tls_process_hello_req
      Src: /src/openssl/ssl/statem/statem_clnt.c:1143,1
    - Dst: tls_process_encrypted_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:1146,1
    - Dst: tls_process_key_update
      Src: /src/openssl/ssl/statem/statem_clnt.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1151
    functionName: ossl_statem_client_process_message
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_process_new_session_ticket
    - tls_process_key_update
    - tls_process_cert_status
    - tls_process_server_compressed_certificate
    - tls_process_server_certificate
    - tls_process_cert_verify
    - tls_process_change_cipher_spec
    - tls_process_server_hello
    - tls_process_hello_req
    - tls_process_key_exchange
    - tls_process_finished
    - dtls_process_hello_verify
    - tls_process_server_done
    - tls_process_encrypted_extensions
    - tls_process_certificate_request
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN ossl_statem_client_process_message(SSL_CONNECTION
      *s,\n                                                      PACKET *pkt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1165,1
    - Dst: tls_post_process_server_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:1170,1
    - Dst: tls_prepare_client_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1176
    functionName: ossl_statem_client_post_process_message
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_post_process_server_certificate
    - tls_prepare_client_certificate
    linkageType: ''
    returnType: WORK_STATE
    signature: "WORK_STATE ossl_statem_client_post_process_message(SSL_CONNECTION
      *s,\n                                                   WORK_STATE wst)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:1188,1
    - Dst: ssl_set_client_hello_version
      Src: /src/openssl/ssl/statem/statem_clnt.c:1191,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1193,1
    - Dst: ssl_version_supported
      Src: /src/openssl/ssl/statem/statem_clnt.c:1198,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/openssl/ssl/statem/statem_clnt.c:1199,1
    - Dst: ssl_get_new_session
      Src: /src/openssl/ssl/statem/statem_clnt.c:1201,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:1214,1
    - Dst: ssl_fill_hello_random
      Src: /src/openssl/ssl/statem/statem_clnt.c:1227,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1229,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/statem_clnt.c:1266,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/statem_clnt.c:1267,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1268,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/statem/statem_clnt.c:1281,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1283,1
    - Dst: assert
      Src: /src/openssl/ssl/statem/statem_clnt.c:1290,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_clnt.c:1294,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:1297,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/statem_clnt.c:1298,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_clnt.c:1300,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1301,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:1306,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:1308,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1310,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/statem_clnt.c:1316,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1317,1
    - Dst: ssl_cipher_list_to_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:1321,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/statem/statem_clnt.c:1321,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:1321,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_clnt.c:1326,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1327,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:1332,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1333,1
    - Dst: ssl_allow_compression
      Src: /src/openssl/ssl/statem/statem_clnt.c:1337,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:1339,1
    - Dst: sk_SSL_COMP_num
      Src: /src/openssl/ssl/statem/statem_clnt.c:1341,1
    - Dst: sk_SSL_COMP_value
      Src: /src/openssl/ssl/statem/statem_clnt.c:1343,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:1344,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1345,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:1352,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_clnt.c:1352,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1353,1
    - Dst: tls_construct_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:1358,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 94
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts:
    - condition: (s->session->session_id_length <= sizeof(s->session->session_id))
      pos:
        line_end: 1289
        line_start: 1289
        source_file: /src/openssl/ssl/statem/statem_clnt.c
    constantsTouched: []
    func_position:
      end: 1364
      start: 1178
    functionDepth: 8
    functionLinenumber: 1178
    functionLinenumberEnd: 1364
    functionName: tls_construct_client_hello
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ssl_fill_hello_random
    - WPACKET_put_bytes_u16
    - memcpy
    - SSL_SESSION_is_resumable
    - assert
    - WPACKET_put_bytes_u8
    - ssl_get_new_session
    - WPACKET_close
    - ssl_cipher_list_to_bytes
    - ssl_version_supported
    - WPACKET_memcpy
    - SSL_CONNECTION_GET_SSL
    - ssl_allow_compression
    - SSL_CONNECTION_IS_DTLS
    - WPACKET_sub_memcpy_u8
    - SSL_get_ciphers
    - SSL_CONNECTION_GET_CTX
    - WPACKET_start_sub_packet_u16
    - RAND_bytes_ex
    - sk_SSL_COMP_num
    - tls_construct_extensions
    - ssl_set_client_hello_version
    - WPACKET_start_sub_packet_u8
    - sk_SSL_COMP_value
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_client_hello(SSL_CONNECTION *s, WPACKET
      *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/statem_clnt.c:1371,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:1372,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1373,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:1377,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1379,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:1383,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1366
    functionDepth: 4
    functionLinenumber: 1366
    functionLinenumberEnd: 1390
    functionName: dtls_process_hello_verify
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - PACKET_get_length_prefixed_1
    - PACKET_remaining
    - PACKET_forward
    - PACKET_copy_bytes
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN dtls_process_hello_verify(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_clnt.c:1395,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:1398,1
    - Dst: ssl_get_cipher_by_char
      Src: /src/openssl/ssl/statem/statem_clnt.c:1400,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1403,1
    - Dst: ssl_cipher_disabled
      Src: /src/openssl/ssl/statem/statem_clnt.c:1410,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1411,1
    - Dst: ssl_get_ciphers_by_id
      Src: /src/openssl/ssl/statem/statem_clnt.c:1415,1
    - Dst: sk_SSL_CIPHER_find
      Src: /src/openssl/ssl/statem/statem_clnt.c:1416,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1419,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1423,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1426,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1438,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/statem/statem_clnt.c:1439,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_clnt.c:1441,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1442,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/statem/statem_clnt.c:1450,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1451,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1460,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - s
    - cipherchars
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1392
    functionDepth: 3
    functionLinenumber: 1392
    functionLinenumberEnd: 1468
    functionName: set_client_ciphersuite
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_assert
    - ssl_get_cipher_by_char
    - ssl_md
    - sk_SSL_CIPHER_find
    - ssl_get_ciphers_by_id
    - SSL_CONNECTION_IS_TLS13
    - STACK_OF
    - SSL_CONNECTION_GET_CTX
    - ssl_cipher_disabled
    linkageType: ''
    returnType: int
    signature: "int set_client_ciphersuite(SSL_CONNECTION *s,\n                                  const
      unsigned char *cipherchars)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:1480,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:1481,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:1486,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1487,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:1494,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_clnt.c:1495,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:1495,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1497,1
    - Dst: ssl_set_record_protocol_version
      Src: /src/openssl/ssl/statem/statem_clnt.c:1502,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1503,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/statem_clnt.c:1507,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1508,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:1512,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1513,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:1519,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1520,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:1523,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1526,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:1530,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1531,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:1535,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1536,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:1541,1
    - Dst: PACKET_null_init
      Src: /src/openssl/ssl/statem/statem_clnt.c:1542,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:1543,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:1544,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1545,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:1550,1
    - Dst: ssl_choose_client_version
      Src: /src/openssl/ssl/statem/statem_clnt.c:1558,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1564,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1566,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_clnt.c:1572,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:1572,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1574,1
    - Dst: set_client_ciphersuite
      Src: /src/openssl/ssl/statem/statem_clnt.c:1580,1
    - Dst: tls_process_as_hello_retry_request
      Src: /src/openssl/ssl/statem/statem_clnt.c:1585,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1592,1
    - Dst: tls_validate_all_contexts
      Src: /src/openssl/ssl/statem/statem_clnt.c:1594,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1595,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1601,1
    - Dst: RECORD_LAYER_processed_read_pending
      Src: /src/openssl/ssl/statem/statem_clnt.c:1606,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1607,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/statem/statem_clnt.c:1613,1
    - Dst: SSL_CONNECTION*::ext::session_secret_cb
      Src: /src/openssl/ssl/statem/statem_clnt.c:1642,1
    - Dst: ssl_get_cipher_by_char
      Src: /src/openssl/ssl/statem/statem_clnt.c:1649,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1651,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_clnt.c:1658,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:1658,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_clnt.c:1665,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1667,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/statem_clnt.c:1680,1
    - Dst: ssl_get_new_session
      Src: /src/openssl/ssl/statem/statem_clnt.c:1681,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1694,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_clnt.c:1698,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:1698,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1705,1
    - Dst: set_client_ciphersuite
      Src: /src/openssl/ssl/statem/statem_clnt.c:1716,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1723,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1732,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1737,1
    - Dst: ssl_allow_compression
      Src: /src/openssl/ssl/statem/statem_clnt.c:1743,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1744,1
    - Dst: ssl3_comp_find
      Src: /src/openssl/ssl/statem/statem_clnt.c:1747,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:1747,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1752,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:1760,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:1766,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_clnt.c:1775,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/ssl/statem/statem_clnt.c:1783,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1787,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_clnt.c:1791,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_clnt.c:1791,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1801,1
    - Dst: SSL*::method::ssl3_enc::setup_key_block
      Src: /src/openssl/ssl/statem/statem_clnt.c:1802,1
    - Dst: tls13_store_handshake_traffic_hash
      Src: /src/openssl/ssl/statem/statem_clnt.c:1803,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_clnt.c:1816,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:1819,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:1825,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:1832,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:1835,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 222
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1470
    functionDepth: 6
    functionLinenumber: 1470
    functionLinenumberEnd: 1837
    functionName: tls_process_server_hello
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - ssl_choose_client_version
    - PACKET_get_bytes
    - memcpy
    - PACKET_get_net_2
    - SSL*::method::ssl3_enc::change_cipher_state
    - OPENSSL_free
    - tls_validate_all_contexts
    - PACKET_data
    - PACKET_copy_bytes
    - ssl3_comp_find
    - SSL_IS_QUIC_HANDSHAKE
    - ssl_get_new_session
    - BIO_ctrl
    - tls_parse_all_extensions
    - tls_process_as_hello_retry_request
    - RECORD_LAYER_processed_read_pending
    - ssl_get_cipher_by_char
    - PACKET_null_init
    - SSL_CONNECTION*::ext::session_secret_cb
    - SSL*::method::ssl3_enc::setup_key_block
    - PACKET_get_length_prefixed_1
    - tls13_store_handshake_traffic_hash
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_GET_USER_SSL
    - ssl_allow_compression
    - PACKET_forward
    - SSL_CONNECTION_IS_DTLS
    - SSL_CONNECTION_GET_CTX
    - ssl_set_record_protocol_version
    - SSL_CONNECTION_IS_TLS13
    - SSL_export_keying_material
    - tls_parse_extension
    - memcmp
    - set_client_ciphersuite
    - ssl_tsan_counter
    - PACKET_as_length_prefixed_2
    - PACKET_get_1
    - PACKET_remaining
    - SSL_get_wbio
    - tls_collect_extensions
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_server_hello(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl_set_new_record_layer
      Src: /src/openssl/ssl/statem/statem_clnt.c:1849,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_protocol_version
      Src: /src/openssl/ssl/statem/statem_clnt.c:1859,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:1861,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:1863,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:1869,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1877,1
    - Dst: create_synthetic_message_hash
      Src: /src/openssl/ssl/statem/statem_clnt.c:1885,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_clnt.c:1896,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:1904,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - s
    - extpkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1839
    functionDepth: 5
    functionLinenumber: 1839
    functionLinenumberEnd: 1906
    functionName: tls_process_as_hello_retry_request
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - ssl_set_new_record_layer
    - SSLfatal
    - ssl3_finish_mac
    - tls_parse_all_extensions
    - SSL_CONNECTION*::rlayer::wrlmethod::set_protocol_version
    - OPENSSL_free
    - tls_collect_extensions
    - create_synthetic_message_hash
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls_process_as_hello_retry_request(SSL_CONNECTION
      *s,\n                                                             PACKET *extpkt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_process_rpk
      Src: /src/openssl/ssl/statem/statem_clnt.c:1912,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1918,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:1922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1908
    functionDepth: 4
    functionLinenumber: 1908
    functionLinenumberEnd: 1926
    functionName: tls_process_server_rpk
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_process_rpk
    - EVP_PKEY_free
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_server_rpk(SSL_CONNECTION *sc, PACKET
      *pkt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1936,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/statem/statem_clnt.c:1944,1
    - Dst: ssl_verify_rpk
      Src: /src/openssl/ssl/statem/statem_clnt.c:1945,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/statem/statem_clnt.c:1947,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1948,1
    - Dst: ssl_x509err2alert
      Src: /src/openssl/ssl/statem/statem_clnt.c:1948,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/statem/statem_clnt.c:1952,1
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:1957,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:1958,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1959,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1968,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:1970,1
    - Dst: X509_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:1976,1
    - Dst: sk_X509_pop_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:1978,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:1983,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/statem/statem_clnt.c:1984,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - sc
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1928
    functionDepth: 7
    functionLinenumber: 1928
    functionLinenumberEnd: 1992
    functionName: tls_post_process_server_rpk
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - sk_X509_pop_free
    - ERR_pop_to_mark
    - ERR_set_mark
    - X509_free
    - ssl_handshake_hash
    - ssl_x509err2alert
    - ssl_verify_rpk
    - ssl_cert_lookup_by_pkey
    - SSL_CONNECTION_GET_CTX
    - ERR_clear_last_mark
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: WORK_STATE
    signature: "WORK_STATE tls_post_process_server_rpk(SSL_CONNECTION *sc,\n                                              WORK_STATE
      wst)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:2003,1
    - Dst: tls_process_server_rpk
      Src: /src/openssl/ssl/statem/statem_clnt.c:2006,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2008,1
    - Dst: sk_X509_new_null
      Src: /src/openssl/ssl/statem/statem_clnt.c:2013,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2014,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2018,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2018,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/ssl/statem/statem_clnt.c:2020,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2021,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2022,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2023,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2026,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/ssl/statem/statem_clnt.c:2027,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:2028,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2029,1
    - Dst: X509_new_ex
      Src: /src/openssl/ssl/statem/statem_clnt.c:2034,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2036,1
    - Dst: d2i_X509
      Src: /src/openssl/ssl/statem/statem_clnt.c:2039,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2041,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2046,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2050,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2054,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2055,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:2058,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:2061,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2063,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2064,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2068,1
    - Dst: sk_X509_push
      Src: /src/openssl/ssl/statem/statem_clnt.c:2071,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2072,1
    - Dst: X509_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2080,1
    - Dst: OSSL_STACK_OF_X509_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2081,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 1995
    functionDepth: 5
    functionLinenumber: 1995
    functionLinenumberEnd: 2084
    functionName: tls_process_server_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - PACKET_get_net_3
    - PACKET_get_bytes
    - tls_collect_extensions
    - tls_parse_all_extensions
    - sk_X509_push
    - PACKET_get_1
    - X509_free
    - PACKET_remaining
    - tls_process_server_rpk
    - X509_new_ex
    - OPENSSL_free
    - OSSL_STACK_OF_X509_free
    - sk_X509_new_null
    - SSL_CONNECTION_GET_CTX
    - PACKET_get_length_prefixed_2
    - SSL_CONNECTION_IS_TLS13
    - d2i_X509
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls_process_server_certificate(SSL_CONNECTION *s,\n
      \                                                 PACKET *pkt)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tls_post_process_server_rpk
      Src: /src/openssl/ssl/statem/statem_clnt.c:2101,1
    - Dst: ERR_set_mark
      Src: /src/openssl/ssl/statem/statem_clnt.c:2120,1
    - Dst: ssl_verify_cert_chain
      Src: /src/openssl/ssl/statem/statem_clnt.c:2121,1
    - Dst: ERR_clear_last_mark
      Src: /src/openssl/ssl/statem/statem_clnt.c:2123,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2124,1
    - Dst: ssl_x509err2alert
      Src: /src/openssl/ssl/statem/statem_clnt.c:2124,1
    - Dst: ERR_pop_to_mark
      Src: /src/openssl/ssl/statem/statem_clnt.c:2128,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/statem/statem_clnt.c:2136,1
    - Dst: X509_get0_pubkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:2138,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/ssl/statem/statem_clnt.c:2140,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2141,1
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:2146,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:2147,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2148,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2156,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2158,1
    - Dst: X509_up_ref
      Src: /src/openssl/ssl/statem/statem_clnt.c:2163,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2164,1
    - Dst: X509_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2168,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2172,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2176,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/statem/statem_clnt.c:2177,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2091
    functionDepth: 8
    functionLinenumber: 2091
    functionLinenumberEnd: 2184
    functionName: tls_post_process_server_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - ssl_verify_cert_chain
    - X509_get0_pubkey
    - ERR_pop_to_mark
    - sk_X509_value
    - EVP_PKEY_missing_parameters
    - ERR_set_mark
    - SSL_CONNECTION_IS_TLS13
    - X509_up_ref
    - EVP_PKEY_free
    - X509_free
    - ssl_x509err2alert
    - ssl_cert_lookup_by_pkey
    - ssl_handshake_hash
    - tls_post_process_server_rpk
    - ERR_clear_last_mark
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: WORK_STATE
    signature: "WORK_STATE tls_post_process_server_certificate(SSL_CONNECTION *s,\n
      \                                              WORK_STATE wst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUF_MEM_new
      Src: /src/openssl/ssl/statem/statem_clnt.c:2191,1
    - Dst: tls13_process_compressed_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:2193,1
    - Dst: tls_process_server_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:2194,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2187
    functionDepth: 6
    functionLinenumber: 2187
    functionLinenumberEnd: 2198
    functionName: tls_process_server_compressed_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - BUF_MEM_new
    - BUF_MEM_free
    - tls_process_server_certificate
    - tls13_process_compressed_certificate
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_server_compressed_certificate(SSL_CONNECTION
      *sc, PACKET *pkt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2208,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2209,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2219,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2220,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2224,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2225,1
    - Dst: PACKET_strndup
      Src: /src/openssl/ssl/statem/statem_clnt.c:2227,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2229,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2201
    functionDepth: 4
    functionLinenumber: 2201
    functionLinenumberEnd: 2238
    functionName: tls_process_ske_psk_preamble
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - OPENSSL_free
    - PACKET_remaining
    - PACKET_strndup
    - PACKET_get_length_prefixed_2
    linkageType: ''
    returnType: int
    signature: int tls_process_ske_psk_preamble(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2245,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2246,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2247,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2248,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2249,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/statem/statem_clnt.c:2254,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2254,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2255,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/statem/statem_clnt.c:2257,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2257,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2258,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/statem/statem_clnt.c:2260,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2260,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2261,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/statem/statem_clnt.c:2263,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2263,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2264,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2265,1
    - Dst: srp_verify_server_param
      Src: /src/openssl/ssl/statem/statem_clnt.c:2269,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:2276,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2280,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - s
    - pkt
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2240
    functionDepth: 5
    functionLinenumber: 2240
    functionLinenumberEnd: 2283
    functionName: tls_process_ske_srp
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_get_peer_pkey
    - PACKET_get_length_prefixed_1
    - srp_verify_server_param
    - BN_bin2bn
    - PACKET_remaining
    - PACKET_data
    - PACKET_get_length_prefixed_2
    linkageType: ''
    returnType: int
    signature: int tls_process_ske_srp(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:2293,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2296,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2297,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2298,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2299,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/statem/statem_clnt.c:2303,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2303,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2303,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/statem/statem_clnt.c:2304,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2304,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2304,1
    - Dst: BN_bin2bn
      Src: /src/openssl/ssl/statem/statem_clnt.c:2306,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2306,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2307,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2309,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/openssl/ssl/statem/statem_clnt.c:2313,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/ssl/statem/statem_clnt.c:2315,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/ssl/statem/statem_clnt.c:2316,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/openssl/ssl/statem/statem_clnt.c:2317,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/openssl/ssl/statem/statem_clnt.c:2319,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2320,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/openssl/ssl/statem/statem_clnt.c:2324,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2326,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/openssl/ssl/statem/statem_clnt.c:2329,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/openssl/ssl/statem/statem_clnt.c:2330,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2331,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2335,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:2336,1
    - Dst: EVP_PKEY_param_check_quick
      Src: /src/openssl/ssl/statem/statem_clnt.c:2344,1
    - Dst: EVP_PKEY_public_check
      Src: /src/openssl/ssl/statem/statem_clnt.c:2345,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2346,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/statem/statem_clnt.c:2350,1
    - Dst: EVP_PKEY_get_security_bits
      Src: /src/openssl/ssl/statem/statem_clnt.c:2351,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2353,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:2365,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2371,1
    - Dst: OSSL_PARAM_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2372,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2373,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2374,1
    - Dst: BN_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2375,1
    - Dst: BN_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2376,1
    - Dst: BN_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2377,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 3
    argNames:
    - s
    - pkt
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2285
    functionDepth: 9
    functionLinenumber: 2285
    functionLinenumberEnd: 2380
    functionName: tls_process_ske_dhe
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_get_peer_pkey
    - OSSL_PARAM_free
    - BN_bin2bn
    - OSSL_PARAM_BLD_push_BN
    - PACKET_data
    - PACKET_get_length_prefixed_2
    - EVP_PKEY_free
    - EVP_PKEY_CTX_free
    - BN_free
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_fromdata
    - EVP_PKEY_CTX_new_from_pkey
    - EVP_PKEY_param_check_quick
    - EVP_PKEY_get_security_bits
    - ssl_security
    - SSL_CONNECTION_GET_CTX
    - OSSL_PARAM_BLD_new
    - EVP_PKEY_CTX_new_from_name
    - PACKET_remaining
    - EVP_PKEY_public_check
    linkageType: ''
    returnType: int
    signature: int tls_process_ske_dhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY **pkey)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2392,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2392,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2393,1
    - Dst: tls1_check_group_id
      Src: /src/openssl/ssl/statem/statem_clnt.c:2401,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2402,1
    - Dst: ssl_generate_param_group
      Src: /src/openssl/ssl/statem/statem_clnt.c:2406,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2407,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2412,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2413,1
    - Dst: EVP_PKEY_set1_encoded_public_key
      Src: /src/openssl/ssl/statem/statem_clnt.c:2417,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2418,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2419,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2420,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:2430,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:2432,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - s
    - pkt
    - pkey
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2382
    functionDepth: 10
    functionLinenumber: 2382
    functionLinenumberEnd: 2438
    functionName: tls_process_ske_ecdhe
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_get_peer_pkey
    - PACKET_get_length_prefixed_1
    - PACKET_get_net_2
    - tls1_check_group_id
    - PACKET_get_1
    - PACKET_remaining
    - PACKET_data
    - EVP_PKEY_set1_encoded_public_key
    - ssl_generate_param_group
    linkageType: ''
    returnType: int
    signature: int tls_process_ske_ecdhe(SSL_CONNECTION *s, PACKET *pkt, EVP_PKEY
      **pkey)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:2447,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2453,1
    - Dst: tls_process_ske_psk_preamble
      Src: /src/openssl/ssl/statem/statem_clnt.c:2457,1
    - Dst: tls_process_ske_srp
      Src: /src/openssl/ssl/statem/statem_clnt.c:2466,1
    - Dst: tls_process_ske_dhe
      Src: /src/openssl/ssl/statem/statem_clnt.c:2471,1
    - Dst: tls_process_ske_ecdhe
      Src: /src/openssl/ssl/statem/statem_clnt.c:2476,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2481,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/ssl/statem/statem_clnt.c:2497,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2498,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2499,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2500,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_clnt.c:2504,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2507,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2508,1
    - Dst: tls12_check_peer_sigalg
      Src: /src/openssl/ssl/statem/statem_clnt.c:2511,1
    - Dst: tls1_set_peer_legacy_sigalg
      Src: /src/openssl/ssl/statem/statem_clnt.c:2515,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2516,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/statem/statem_clnt.c:2521,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2522,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_clnt.c:2526,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2527,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/statem_clnt.c:2528,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2530,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2531,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2532,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/statem_clnt.c:2536,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2538,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/ssl/statem/statem_clnt.c:2542,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/statem_clnt.c:2543,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2546,1
    - Dst: SSL_USE_PSS
      Src: /src/openssl/ssl/statem/statem_clnt.c:2549,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/ssl/statem/statem_clnt.c:2550,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/openssl/ssl/statem/statem_clnt.c:2551,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2553,1
    - Dst: construct_key_exchange_tbs
      Src: /src/openssl/ssl/statem/statem_clnt.c:2557,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2557,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2558,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/ssl/statem/statem_clnt.c:2564,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2564,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2565,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2566,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2568,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2571,1
    - Dst: ssl3_check_cert_and_algorithm
      Src: /src/openssl/ssl/statem/statem_clnt.c:2578,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2579,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2585,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2586,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2593,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 121
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2440
    functionDepth: 11
    functionLinenumber: 2440
    functionLinenumberEnd: 2595
    functionName: tls_process_key_exchange
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - EVP_DigestVerify
    - SSLfatal
    - PACKET_get_sub_packet
    - PACKET_get_net_2
    - OPENSSL_free
    - PACKET_data
    - SSL_USE_PSS
    - PACKET_get_length_prefixed_2
    - tls_process_ske_dhe
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - ssl3_check_cert_and_algorithm
    - EVP_PKEY_free
    - tls1_set_peer_legacy_sigalg
    - construct_key_exchange_tbs
    - OSSL_TRACE1
    - EVP_PKEY_CTX_set_rsa_padding
    - tls12_check_peer_sigalg
    - EVP_MD_get0_name
    - SSL_CONNECTION_GET_CTX
    - tls_process_ske_ecdhe
    - EVP_DigestVerifyInit_ex
    - tls_process_ske_psk_preamble
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - PACKET_remaining
    - tls1_lookup_md
    - tls_process_ske_srp
    - SSL_USE_SIGALGS
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_key_exchange(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_clnt.c:2602,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/statem/statem_clnt.c:2604,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2610,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2624,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2627,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2631,1
    - Dst: PACKET_memdup
      Src: /src/openssl/ssl/statem/statem_clnt.c:2632,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2633,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2637,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2638,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:2641,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:2644,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2647,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2650,1
    - Dst: tls1_process_sigalgs
      Src: /src/openssl/ssl/statem/statem_clnt.c:2651,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2652,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2659,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2660,1
    - Dst: PACKET_memdup
      Src: /src/openssl/ssl/statem/statem_clnt.c:2664,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2665,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_clnt.c:2669,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2672,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2673,1
    - Dst: tls1_save_sigalgs
      Src: /src/openssl/ssl/statem/statem_clnt.c:2681,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2682,1
    - Dst: tls1_process_sigalgs
      Src: /src/openssl/ssl/statem/statem_clnt.c:2686,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2687,1
    - Dst: parse_ca_names
      Src: /src/openssl/ssl/statem/statem_clnt.c:2693,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2699,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2700,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2715,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2597
    functionDepth: 7
    functionLinenumber: 2597
    functionLinenumberEnd: 2720
    functionName: tls_process_certificate_request
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSL_USE_SIGALGS
    - SSLfatal
    - memset
    - PACKET_memdup
    - PACKET_get_length_prefixed_1
    - OPENSSL_calloc
    - tls_parse_all_extensions
    - tls1_process_sigalgs
    - parse_ca_names
    - tls1_save_sigalgs
    - OPENSSL_free
    - PACKET_remaining
    - tls_collect_extensions
    - PACKET_get_length_prefixed_2
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION
      *s,\n                                                   PACKET *pkt)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:2731,1
    - Dst: PACKET_null_init
      Src: /src/openssl/ssl/statem/statem_clnt.c:2733,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/statem/statem_clnt.c:2735,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2736,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/statem/statem_clnt.c:2737,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2738,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2739,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2740,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2741,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2742,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2743,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2763,1
    - Dst: ssl_session_dup
      Src: /src/openssl/ssl/statem/statem_clnt.c:2770,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2771,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2776,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/statem/statem_clnt.c:2782,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2785,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/statem_clnt.c:2789,1
    - Dst: ssl_session_calculate_timeout
      Src: /src/openssl/ssl/statem/statem_clnt.c:2790,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2792,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_clnt.c:2796,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2798,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:2801,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2802,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2810,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:2813,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2814,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2815,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:2819,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:2822,1
    - Dst: EVP_MD_fetch
      Src: /src/openssl/ssl/statem/statem_clnt.c:2841,1
    - Dst: SSLfatal_alert
      Src: /src/openssl/ssl/statem/statem_clnt.c:2844,1
    - Dst: EVP_Digest
      Src: /src/openssl/ssl/statem/statem_clnt.c:2851,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2854,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2857,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2863,1
    - Dst: ssl_handshake_md
      Src: /src/openssl/ssl/statem/statem_clnt.c:2864,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/statem/statem_clnt.c:2865,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_clnt.c:2870,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2871,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/statem/statem_clnt.c:2876,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_clnt.c:2879,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2880,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2888,1
    - Dst: ssl_update_cache
      Src: /src/openssl/ssl/statem/statem_clnt.c:2889,1
    - Dst: EVP_MD_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2895,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2896,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2722
    functionDepth: 10
    functionLinenumber: 2722
    functionLinenumberEnd: 2898
    functionName: tls_process_new_session_ticket
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - ssl_update_cache
    - SSLfatal
    - EVP_MD_free
    - ssl_handshake_md
    - PACKET_get_net_2
    - OPENSSL_free
    - PACKET_data
    - PACKET_copy_bytes
    - ossl_assert
    - tls_parse_all_extensions
    - ossl_time_now
    - OPENSSL_malloc
    - PACKET_null_init
    - SSL_SESSION_free
    - PACKET_get_length_prefixed_1
    - PACKET_get_net_4
    - SSL_CONNECTION_GET_CTX
    - EVP_MD_fetch
    - ssl_session_dup
    - SSL_CONNECTION_IS_TLS13
    - SSL_CTX_remove_session
    - EVP_MD_get_size
    - ssl_session_calculate_timeout
    - PACKET_as_length_prefixed_2
    - EVP_Digest
    - PACKET_remaining
    - tls_collect_extensions
    - SSLfatal_alert
    - tls13_hkdf_expand
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls_process_new_session_ticket(SSL_CONNECTION *s,\n
      \                                                 PACKET *pkt)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/statem_clnt.c:2914,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2916,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2921,1
    - Dst: sk_OCSP_RESPONSE_new_null
      Src: /src/openssl/ssl/statem/statem_clnt.c:2926,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:2931,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2932,1
    - Dst: sk_OCSP_RESPONSE_new_null
      Src: /src/openssl/ssl/statem/statem_clnt.c:2933,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2936,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/statem/statem_clnt.c:2937,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:2938,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2939,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_clnt.c:2944,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2947,1
    - Dst: PACKET_copy_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:2951,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2952,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2953,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/openssl/ssl/statem/statem_clnt.c:2957,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:2958,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:2960,1
    - Dst: sk_OCSP_RESPONSE_insert
      Src: /src/openssl/ssl/statem/statem_clnt.c:2964,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - s
    - chainidx
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - size_t
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2904
    functionDepth: 4
    functionLinenumber: 2904
    functionLinenumberEnd: 2970
    functionName: tls_process_cert_status_body
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - sk_OCSP_RESPONSE_insert
    - SSLfatal
    - PACKET_get_net_3_len
    - d2i_OCSP_RESPONSE
    - sk_OCSP_RESPONSE_pop_free
    - PACKET_get_1
    - sk_OCSP_RESPONSE_new_null
    - OPENSSL_free
    - PACKET_remaining
    - PACKET_copy_bytes
    - SSL_CONNECTION_IS_TLS13
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int tls_process_cert_status_body(SSL_CONNECTION *s, size_t chainidx,
      PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls_process_cert_status_body
      Src: /src/openssl/ssl/statem/statem_clnt.c:2974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2980
      start: 2972
    functionDepth: 5
    functionLinenumber: 2972
    functionLinenumberEnd: 2980
    functionName: tls_process_cert_status
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - tls_process_cert_status_body
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_cert_status(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:2990,1
    - Dst: ssl3_check_cert_and_algorithm
      Src: /src/openssl/ssl/statem/statem_clnt.c:2996,1
    - Dst: SSL_CTX*::ext::status_cb
      Src: /src/openssl/ssl/statem/statem_clnt.c:3008,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:3008,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3012,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3017,1
    - Dst: ssl_validate_ct
      Src: /src/openssl/ssl/statem/statem_clnt.c:3025,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 2988
    functionDepth: 15
    functionLinenumber: 2988
    functionLinenumberEnd: 3033
    functionName: tls_process_initial_server_flight
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSL_CTX*::ext::status_cb
    - SSLfatal
    - ssl_validate_ct
    - ssl3_check_cert_and_algorithm
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: int
    signature: int tls_process_initial_server_flight(SSL_CONNECTION *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:3037,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3039,1
    - Dst: ssl_srp_calc_a_param_intern
      Src: /src/openssl/ssl/statem/statem_clnt.c:3044,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3045,1
    - Dst: tls_process_initial_server_flight
      Src: /src/openssl/ssl/statem/statem_clnt.c:3051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3035
    functionDepth: 16
    functionLinenumber: 3035
    functionLinenumberEnd: 3057
    functionName: tls_process_server_done
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - tls_process_initial_server_flight
    - ssl_srp_calc_a_param_intern
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_server_done(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3076,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_clnt.c:3080,1
    - Dst: SSL_CONNECTION*::psk_client_callback
      Src: /src/openssl/ssl/statem/statem_clnt.c:3082,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:3082,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3088,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3092,1
    - Dst: strlen
      Src: /src/openssl/ssl/statem/statem_clnt.c:3096,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3098,1
    - Dst: OPENSSL_memdup
      Src: /src/openssl/ssl/statem/statem_clnt.c:3102,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/statem/statem_clnt.c:3103,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3105,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3109,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3113,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/statem_clnt.c:3117,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3118,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/statem_clnt.c:3125,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/statem_clnt.c:3126,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3127,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3128,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3132,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3059
    functionDepth: 7
    functionLinenumber: 3059
    functionLinenumberEnd: 3135
    functionName: tls_construct_cke_psk_preamble
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memset
    - OPENSSL_clear_free
    - OPENSSL_memdup
    - OPENSSL_free
    - SSL_CONNECTION_GET_USER_SSL
    - OPENSSL_strdup
    - SSL_CONNECTION*::psk_client_callback
    - WPACKET_sub_memcpy_u16
    - strlen
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: int tls_construct_cke_psk_preamble(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:3145,1
    - Dst: received_server_cert
      Src: /src/openssl/ssl/statem/statem_clnt.c:3147,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3151,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3155,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3156,1
    - Dst: EVP_PKEY_is_a
      Src: /src/openssl/ssl/statem/statem_clnt.c:3160,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3161,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_clnt.c:3166,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3168,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/statem/statem_clnt.c:3174,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3175,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/statem_clnt.c:3180,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3181,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3185,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/ssl/statem/statem_clnt.c:3186,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/ssl/statem/statem_clnt.c:3187,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3188,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:3191,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/ssl/statem/statem_clnt.c:3192,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3193,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3196,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_clnt.c:3200,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3201,1
    - Dst: ssl_log_rsa_client_key_exchange
      Src: /src/openssl/ssl/statem/statem_clnt.c:3206,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3216,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3217,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3220
      start: 3137
    functionDepth: 7
    functionLinenumber: 3137
    functionLinenumberEnd: 3220
    functionName: tls_construct_cke_rsa
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - tls_get_peer_pkey
    - ssl_log_rsa_client_key_exchange
    - EVP_PKEY_encrypt
    - EVP_PKEY_is_a
    - OPENSSL_clear_free
    - WPACKET_close
    - EVP_PKEY_encrypt_init
    - received_server_cert
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - WPACKET_allocate_bytes
    - SSL_CONNECTION_GET_CTX
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int tls_construct_cke_rsa(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3233,1
    - Dst: ssl_generate_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3237,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3239,1
    - Dst: ssl_derive
      Src: /src/openssl/ssl/statem/statem_clnt.c:3243,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/ssl/statem/statem_clnt.c:3251,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3253,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3254,1
    - Dst: EVP_PKEY_get_size
      Src: /src/openssl/ssl/statem/statem_clnt.c:3263,1
    - Dst: WPACKET_sub_allocate_bytes_u16
      Src: /src/openssl/ssl/statem/statem_clnt.c:3266,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3267,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_clnt.c:3270,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/statem_clnt.c:3273,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3274,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3280,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3281,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3222
    functionDepth: 10
    functionLinenumber: 3222
    functionLinenumberEnd: 3283
    functionName: tls_construct_cke_dhe
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memset
    - ssl_derive
    - EVP_PKEY_get1_encoded_public_key
    - EVP_PKEY_free
    - EVP_PKEY_get_size
    - OPENSSL_free
    - WPACKET_sub_allocate_bytes_u16
    - WPACKET_sub_memcpy_u16
    - ssl_generate_pkey
    linkageType: ''
    returnType: int
    signature: int tls_construct_cke_dhe(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3294,1
    - Dst: ssl_generate_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3298,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3300,1
    - Dst: ssl_derive
      Src: /src/openssl/ssl/statem/statem_clnt.c:3304,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/ssl/statem/statem_clnt.c:3310,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3313,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:3317,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3318,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3324,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3327
      start: 3285
    functionDepth: 10
    functionLinenumber: 3285
    functionLinenumberEnd: 3327
    functionName: tls_construct_cke_ecdhe
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ssl_derive
    - EVP_PKEY_get1_encoded_public_key
    - EVP_PKEY_free
    - OPENSSL_free
    - WPACKET_sub_memcpy_u8
    - ssl_generate_pkey
    linkageType: ''
    returnType: int
    signature: int tls_construct_cke_ecdhe(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:3342,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3350,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3351,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3356,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3360,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_clnt.c:3371,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3373,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/ssl/statem/statem_clnt.c:3377,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/statem/statem_clnt.c:3380,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3381,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/statem_clnt.c:3388,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/ssl/statem/statem_clnt.c:3390,1
    - Dst: EVP_get_digestbynid
      Src: /src/openssl/ssl/statem/statem_clnt.c:3390,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/statem/statem_clnt.c:3391,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/statem/statem_clnt.c:3393,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/statem/statem_clnt.c:3395,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3396,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3399,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/ssl/statem/statem_clnt.c:3401,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3403,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/ssl/statem/statem_clnt.c:3411,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3412,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:3416,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:3417,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:3418,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3419,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3423,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3429,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3430,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3431,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3434,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3329
    functionDepth: 8
    functionLinenumber: 3329
    functionLinenumberEnd: 3437
    functionName: tls_construct_cke_gost
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_get_peer_pkey
    - EVP_DigestUpdate
    - WPACKET_put_bytes_u8
    - EVP_PKEY_CTX_ctrl
    - EVP_get_digestbynid
    - EVP_PKEY_CTX_free
    - OPENSSL_malloc
    - EVP_DigestFinal_ex
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_new_from_pkey
    - WPACKET_sub_memcpy_u8
    - SSL_CONNECTION_GET_CTX
    - EVP_PKEY_encrypt
    - EVP_DigestInit
    - OPENSSL_clear_free
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - RAND_bytes_ex
    linkageType: ''
    returnType: int
    signature: int tls_construct_cke_gost(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3440
    functionDepth: 0
    functionLinenumber: 3440
    functionLinenumberEnd: 3448
    functionName: ossl_gost18_cke_cipher_nid
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ossl_gost18_cke_cipher_nid(const SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:3454,1
    - Dst: ssl_evp_md_fetch
      Src: /src/openssl/ssl/statem/statem_clnt.c:3455,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/statem_clnt.c:3461,1
    - Dst: EVP_DigestInit
      Src: /src/openssl/ssl/statem/statem_clnt.c:3462,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/statem/statem_clnt.c:3463,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/statem/statem_clnt.c:3464,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/statem/statem_clnt.c:3465,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3466,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3467,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3471,1
    - Dst: ssl_evp_md_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - dgst_buf
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3450
    functionDepth: 11
    functionLinenumber: 3450
    functionLinenumberEnd: 3474
    functionName: ossl_gost_ukm
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - EVP_DigestInit
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ssl_evp_md_free
    - SSL_CONNECTION_GET_CTX
    - ssl_evp_md_fetch
    linkageType: ''
    returnType: int
    signature: int ossl_gost_ukm(const SSL_CONNECTION *s, unsigned char *dgst_buf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ossl_gost18_cke_cipher_nid
      Src: /src/openssl/ssl/statem/statem_clnt.c:3488,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:3489,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3492,1
    - Dst: ossl_gost_ukm
      Src: /src/openssl/ssl/statem/statem_clnt.c:3496,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3497,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_clnt.c:3503,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3505,1
    - Dst: RAND_bytes_ex
      Src: /src/openssl/ssl/statem/statem_clnt.c:3509,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3510,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3515,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3516,1
    - Dst: EVP_PKEY_CTX_new_from_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3521,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3525,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/openssl/ssl/statem/statem_clnt.c:3529,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3530,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/ssl/statem/statem_clnt.c:3535,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3537,1
    - Dst: EVP_PKEY_CTX_ctrl
      Src: /src/openssl/ssl/statem/statem_clnt.c:3541,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3543,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/ssl/statem/statem_clnt.c:3547,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3548,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:3552,1
    - Dst: EVP_PKEY_encrypt
      Src: /src/openssl/ssl/statem/statem_clnt.c:3553,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3554,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3558,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3565,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3566,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3569,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3477
    functionDepth: 12
    functionLinenumber: 3477
    functionLinenumberEnd: 3572
    functionName: tls_construct_cke_gost18
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_get_peer_pkey
    - EVP_PKEY_encrypt
    - ossl_gost18_cke_cipher_nid
    - EVP_PKEY_CTX_ctrl
    - ossl_gost_ukm
    - OPENSSL_clear_free
    - EVP_PKEY_encrypt_init
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_new_from_pkey
    - WPACKET_allocate_bytes
    - SSL_CONNECTION_GET_CTX
    - RAND_bytes_ex
    - OPENSSL_malloc
    linkageType: ''
    returnType: int
    signature: int tls_construct_cke_gost18(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_sub_allocate_bytes_u16
      Src: /src/openssl/ssl/statem/statem_clnt.c:3580,1
    - Dst: BN_num_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:3580,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3582,1
    - Dst: BN_bn2bin
      Src: /src/openssl/ssl/statem/statem_clnt.c:3585,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3587,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/statem/statem_clnt.c:3588,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3590,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3574
    functionDepth: 5
    functionLinenumber: 3574
    functionLinenumberEnd: 3599
    functionName: tls_construct_cke_srp
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - BN_num_bytes
    - OPENSSL_free
    - OPENSSL_strdup
    - WPACKET_sub_allocate_bytes_u16
    - BN_bn2bin
    linkageType: ''
    returnType: int
    signature: int tls_construct_cke_srp(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tls_construct_cke_psk_preamble
      Src: /src/openssl/ssl/statem/statem_clnt.c:3613,1
    - Dst: tls_construct_cke_rsa
      Src: /src/openssl/ssl/statem/statem_clnt.c:3617,1
    - Dst: tls_construct_cke_dhe
      Src: /src/openssl/ssl/statem/statem_clnt.c:3620,1
    - Dst: tls_construct_cke_ecdhe
      Src: /src/openssl/ssl/statem/statem_clnt.c:3623,1
    - Dst: tls_construct_cke_gost
      Src: /src/openssl/ssl/statem/statem_clnt.c:3626,1
    - Dst: tls_construct_cke_gost18
      Src: /src/openssl/ssl/statem/statem_clnt.c:3629,1
    - Dst: tls_construct_cke_srp
      Src: /src/openssl/ssl/statem/statem_clnt.c:3632,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3635,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3641,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3645,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3601
    functionDepth: 13
    functionLinenumber: 3601
    functionLinenumberEnd: 3650
    functionName: tls_construct_client_key_exchange
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_construct_cke_gost18
    - tls_construct_cke_psk_preamble
    - OPENSSL_clear_free
    - tls_construct_cke_dhe
    - tls_construct_cke_rsa
    - tls_construct_cke_srp
    - tls_construct_cke_ecdhe
    - tls_construct_cke_gost
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: "CON_FUNC_RETURN tls_construct_client_key_exchange(SSL_CONNECTION *s,\n
      \                                                 WPACKET *pkt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: srp_generate_client_master_secret
      Src: /src/openssl/ssl/statem/statem_clnt.c:3663,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3672,1
    - Dst: ssl_generate_master_secret
      Src: /src/openssl/ssl/statem/statem_clnt.c:3675,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:3686,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:3690,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_clnt.c:3696,1
    - Dst: SSL_export_keying_material
      Src: /src/openssl/ssl/statem/statem_clnt.c:3704,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3707,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_clnt.c:3711,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_clnt.c:3711,1
    - Dst: OPENSSL_clear_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3718,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3652
    functionDepth: 14
    functionLinenumber: 3652
    functionLinenumberEnd: 3722
    functionName: tls_client_key_exchange_post_work
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - srp_generate_client_master_secret
    - BIO_ctrl
    - memcpy
    - ssl_generate_master_secret
    - OPENSSL_clear_free
    - SSL_CONNECTION_GET_SSL
    - SSL_get_wbio
    - SSL_CONNECTION_IS_DTLS
    - SSL_export_keying_material
    linkageType: ''
    returnType: int
    signature: int tls_client_key_exchange_post_work(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_choose_sigalg
      Src: /src/openssl/ssl/statem/statem_clnt.c:3732,1
    - Dst: tls1_check_chain
      Src: /src/openssl/ssl/statem/statem_clnt.c:3739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3729
    functionDepth: 10
    functionLinenumber: 3729
    functionLinenumberEnd: 3742
    functionName: ssl3_check_client_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - tls_choose_sigalg
    - tls1_check_chain
    linkageType: ''
    returnType: int
    signature: int ssl3_check_client_certificate(SSL_CONNECTION *s)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:3749,1
    - Dst: SSL_CONNECTION*::cert::cert_cb
      Src: /src/openssl/ssl/statem/statem_clnt.c:3754,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3760,1
    - Dst: ssl3_check_client_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:3765,1
    - Dst: ssl_do_client_cert_cb
      Src: /src/openssl/ssl/statem/statem_clnt.c:3782,1
    - Dst: SSL_use_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:3789,1
    - Dst: SSL_use_PrivateKey
      Src: /src/openssl/ssl/statem/statem_clnt.c:3790,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/statem/statem_clnt.c:3794,1
    - Dst: X509_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3797,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3798,1
    - Dst: ssl3_check_client_certificate
      Src: /src/openssl/ssl/statem/statem_clnt.c:3799,1
    - Dst: ssl3_send_alert
      Src: /src/openssl/ssl/statem/statem_clnt.c:3804,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_clnt.c:3809,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:3816,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3826,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 2
    argNames:
    - s
    - wst
    argTypes:
    - SSL_CONNECTION*
    - WORK_STATE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3744
    functionDepth: 11
    functionLinenumber: 3744
    functionLinenumberEnd: 3828
    functionName: tls_prepare_client_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - ERR_raise
    - ssl3_check_client_certificate
    - SSL_use_certificate
    - EVP_PKEY_free
    - SSL_CONNECTION_GET_SSL
    - SSL_use_PrivateKey
    - SSL_CONNECTION*::cert::cert_cb
    - X509_free
    - ssl3_digest_cached_records
    - ssl_do_client_cert_cb
    - SSL_CONNECTION_IS_TLS13
    - ssl3_send_alert
    linkageType: ''
    returnType: WORK_STATE
    signature: WORK_STATE tls_prepare_client_certificate(SSL_CONNECTION *s, WORK_STATE
      wst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:3834,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:3836,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:3839,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3840,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:3843,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3844,1
    - Dst: tls_output_rpk
      Src: /src/openssl/ssl/statem/statem_clnt.c:3852,1
    - Dst: ssl3_output_cert_chain
      Src: /src/openssl/ssl/statem/statem_clnt.c:3858,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3864,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_clnt.c:3873,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_clnt.c:3874,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_clnt.c:3875,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:3878,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3884,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3889
      start: 3830
    functionDepth: 1
    functionLinenumber: 3830
    functionLinenumberEnd: 3889
    functionName: tls_construct_client_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u8
    - SSL*::method::ssl3_enc::change_cipher_state
    - SSL_CONNECTION_GET_SSL
    - tls_output_rpk
    - WPACKET_sub_memcpy_u8
    - ssl3_output_cert_chain
    - SSL_IS_FIRST_HANDSHAKE
    - SSL_CONNECTION_IS_TLS13
    - SSL_IS_QUIC_HANDSHAKE
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: "CON_FUNC_RETURN tls_construct_client_certificate(SSL_CONNECTION *s,\n
      \                                                WPACKET *pkt)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:3895,1
    - Dst: BUF_MEM_new
      Src: /src/openssl/ssl/statem/statem_clnt.c:3908,1
    - Dst: WPACKET_init
      Src: /src/openssl/ssl/statem/statem_clnt.c:3908,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:3914,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:3916,1
    - Dst: ssl3_output_cert_chain
      Src: /src/openssl/ssl/statem/statem_clnt.c:3919,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/statem_clnt.c:3925,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/statem/statem_clnt.c:3926,1
    - Dst: WPACKET_put_bytes_u24
      Src: /src/openssl/ssl/statem/statem_clnt.c:3927,1
    - Dst: COMP_zlib_oneshot
      Src: /src/openssl/ssl/statem/statem_clnt.c:3932,1
    - Dst: COMP_brotli_oneshot
      Src: /src/openssl/ssl/statem/statem_clnt.c:3935,1
    - Dst: COMP_zstd_oneshot
      Src: /src/openssl/ssl/statem/statem_clnt.c:3938,1
    - Dst: ossl_calculate_comp_expansion
      Src: /src/openssl/ssl/statem/statem_clnt.c:3943,1
    - Dst: COMP_CTX_new
      Src: /src/openssl/ssl/statem/statem_clnt.c:3945,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/statem/statem_clnt.c:3946,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:3947,1
    - Dst: COMP_compress_block
      Src: /src/openssl/ssl/statem/statem_clnt.c:3950,1
    - Dst: WPACKET_get_curr
      Src: /src/openssl/ssl/statem/statem_clnt.c:3950,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/statem_clnt.c:3955,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_clnt.c:3956,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_clnt.c:3964,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_clnt.c:3965,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_clnt.c:3968,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3974,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:3981,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/statem_clnt.c:3985,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3987,1
    - Dst: COMP_CTX_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:3988,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 63
    argCount: 2
    argNames:
    - sc
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3892
    functionDepth: 5
    functionLinenumber: 3892
    functionLinenumberEnd: 3990
    functionName: tls_construct_client_compressed_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - BUF_MEM_free
    - WPACKET_put_bytes_u16
    - WPACKET_start_sub_packet_u24
    - SSL*::method::ssl3_enc::change_cipher_state
    - ossl_calculate_comp_expansion
    - COMP_zlib_oneshot
    - WPACKET_allocate_bytes
    - WPACKET_init
    - SSL_IS_QUIC_HANDSHAKE
    - COMP_CTX_free
    - WPACKET_put_bytes_u8
    - COMP_brotli_oneshot
    - COMP_compress_block
    - WPACKET_close
    - WPACKET_put_bytes_u24
    - ssl3_output_cert_chain
    - BUF_MEM_new
    - WPACKET_reserve_bytes
    - SSL_IS_FIRST_HANDSHAKE
    - WPACKET_cleanup
    - SSL_CONNECTION_GET_SSL
    - WPACKET_sub_memcpy_u8
    - COMP_zstd_oneshot
    - WPACKET_get_curr
    - WPACKET_get_total_written
    - COMP_CTX_new
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: "CON_FUNC_RETURN tls_construct_client_compressed_certificate(SSL_CONNECTION
      *sc,\n                                                            WPACKET *pkt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:4008,1
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/statem/statem_clnt.c:4009,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:4009,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:4013,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:4018,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:4024,1
    - Dst: ssl_check_srvr_ecc_cert_and_alg
      Src: /src/openssl/ssl/statem/statem_clnt.c:4033,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:4035,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4040
      start: 3993
    functionDepth: 7
    functionLinenumber: 3993
    functionLinenumberEnd: 4040
    functionName: ssl3_check_cert_and_algorithm
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 2
    functionsReached:
    - tls_get_peer_pkey
    - SSLfatal
    - ssl_check_srvr_ecc_cert_and_alg
    - SSL_CONNECTION_GET_CTX
    - ssl_cert_lookup_by_pkey
    linkageType: ''
    returnType: int
    signature: int ssl3_check_cert_and_algorithm(SSL_CONNECTION *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:4051,1
    - Dst: WPACKET_sub_allocate_bytes_u8
      Src: /src/openssl/ssl/statem/statem_clnt.c:4052,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:4053,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_clnt.c:4057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4060
      start: 4043
    functionDepth: 1
    functionLinenumber: 4043
    functionLinenumberEnd: 4060
    functionName: tls_construct_next_proto
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memset
    - WPACKET_sub_allocate_bytes_u8
    - WPACKET_sub_memcpy_u8
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_next_proto(SSL_CONNECTION *s, WPACKET
      *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:4065,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:4067,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:4069,1
    - Dst: ssl3_send_alert
      Src: /src/openssl/ssl/statem/statem_clnt.c:4074,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_clnt.c:4085,1
    - Dst: SSL_renegotiate
      Src: /src/openssl/ssl/statem/statem_clnt.c:4086,1
    - Dst: SSL_renegotiate_abbreviated
      Src: /src/openssl/ssl/statem/statem_clnt.c:4088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4063
    functionDepth: 3
    functionLinenumber: 4063
    functionLinenumberEnd: 4091
    functionName: tls_process_hello_req
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - SSL_renegotiate_abbreviated
    - SSL_CONNECTION_GET_SSL
    - PACKET_remaining
    - SSL_CONNECTION_IS_DTLS
    - SSL_renegotiate
    - ssl3_send_alert
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_hello_req(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_clnt.c:4099,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_clnt.c:4100,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:4101,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:4105,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_clnt.c:4108,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:4114,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_clnt.c:4118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4120
      start: 4093
    functionDepth: 4
    functionLinenumber: 4093
    functionLinenumberEnd: 4120
    functionName: tls_process_encrypted_extensions
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - tls_parse_all_extensions
    - PACKET_as_length_prefixed_2
    - PACKET_remaining
    - OPENSSL_free
    - tls_collect_extensions
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls_process_encrypted_extensions(SSL_CONNECTION
      *s,\n                                                           PACKET *pkt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_clnt.c:4125,1
    - Dst: tls_engine_load_ssl_client_cert
      Src: /src/openssl/ssl/statem/statem_clnt.c:4129,1
    - Dst: SSL_CTX*::client_cert_cb
      Src: /src/openssl/ssl/statem/statem_clnt.c:4135,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_clnt.c:4135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - s
    - px509
    - ppkey
    argTypes:
    - SSL_CONNECTION*
    - X509**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4122
    functionDepth: 2
    functionLinenumber: 4122
    functionLinenumberEnd: 4137
    functionName: ssl_do_client_cert_cb
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_GET_CTX
    - SSL_CTX*::client_cert_cb
    - tls_engine_load_ssl_client_cert
    - SSL_CONNECTION_GET_USER_SSL
    linkageType: ''
    returnType: int
    signature: int ssl_do_client_cert_cb(SSL_CONNECTION *s, X509 **px509, EVP_PKEY
      **ppkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_clnt.c:4247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4253
      start: 4243
    functionDepth: 1
    functionLinenumber: 4243
    functionLinenumberEnd: 4253
    functionName: tls_construct_end_of_early_data
    functionSourceFile: /src/openssl/ssl/statem/statem_clnt.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_end_of_early_data(SSL_CONNECTION *s,
      WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: ossl_get_extension_type
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 1
    functionsReached:
    - OSSL_NELEM
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ossl_get_extension_type(size_t idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/extensions.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - s
    - extctx
    - thisctx
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 463
    functionName: validate_context
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: "int validate_context(SSL_CONNECTION *s, unsigned int extctx,\n                            unsigned
      int thisctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:468,1
    - Dst: custom_ext_find
      Src: /src/openssl/ssl/statem/extensions.c:490,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:492,1
    - Dst: validate_context
      Src: /src/openssl/ssl/statem/extensions.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - s
    - thisctx
    - exts
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - RAW_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 502
    functionName: tls_validate_all_contexts
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 1
    functionsReached:
    - ossl_assert
    - OSSL_NELEM
    - custom_ext_find
    - validate_context
    linkageType: ''
    returnType: int
    signature: "int tls_validate_all_contexts(SSL_CONNECTION *s, unsigned int thisctx,\n
      \                             RAW_EXTENSION *exts)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:515,1
    - Dst: validate_context
      Src: /src/openssl/ssl/statem/extensions.c:520,1
    - Dst: custom_ext_find
      Src: /src/openssl/ssl/statem/extensions.c:539,1
    - Dst: validate_context
      Src: /src/openssl/ssl/statem/extensions.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - s
    - context
    - type
    - meths
    - rawexlist
    - found
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - unsigned int
    - custom_ext_methods*
    - RAW_EXTENSION*
    - RAW_EXTENSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 551
    functionName: verify_extension
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - OSSL_NELEM
    - custom_ext_find
    - validate_context
    linkageType: ''
    returnType: int
    signature: "int verify_extension(SSL_CONNECTION *s, unsigned int context,\n                            unsigned
      int type, custom_ext_methods *meths,\n                            RAW_EXTENSION
      *rawexlist, RAW_EXTENSION **found)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:570,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/extensions.c:572,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 7
    argCount: 3
    argNames:
    - s
    - extctx
    - thisctx
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 591
    functionName: extension_is_relevant
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: "int extension_is_relevant(SSL_CONNECTION *s, unsigned int extctx,\n
      \                         unsigned int thisctx)"
  - BBCount: 140
    BranchProfiles: []
    Callsites:
    - Dst: custom_ext_init
      Src: /src/openssl/ssl/statem/extensions.c:627,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:629,1
    - Dst: OPENSSL_calloc
      Src: /src/openssl/ssl/statem/extensions.c:630,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:632,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:637,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions.c:642,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions.c:643,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:644,1
    - Dst: verify_extension
      Src: /src/openssl/ssl/statem/extensions.c:652,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:656,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:657,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:675,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:688,1
    - Dst: SSL_CONNECTION*::ext::debug_cb
      Src: /src/openssl/ssl/statem/extensions.c:698,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions.c:698,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions.c:699,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:700,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:710,1
    - Dst: extension_is_relevant
      Src: /src/openssl/ssl/statem/extensions.c:713,1
    - Dst: EXTENSION_DEFINITION*::init
      Src: /src/openssl/ssl/statem/extensions.c:714,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:727,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:758,1
    - Dst: extension_is_relevant
      Src: /src/openssl/ssl/statem/extensions.c:763,1
    - Dst: parser
      Src: /src/openssl/ssl/statem/extensions.c:769,1
    - Dst: custom_ext_parse
      Src: /src/openssl/ssl/statem/extensions.c:778,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions.c:779,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:780,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:795,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/statem/extensions.c:803,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:814,1
    - Dst: EXTENSION_DEFINITION*::final
      Src: /src/openssl/ssl/statem/extensions.c:817,1
    - Dst: extension_is_relevant
      Src: /src/openssl/ssl/statem/extensions.c:835,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/extensions.c:838,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions.c:861,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/ssl/statem/extensions.c:869,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:872,1
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/statem/extensions.c:877,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:880,1
    - Dst: custom_ext_init
      Src: /src/openssl/ssl/statem/extensions.c:888,1
    - Dst: custom_ext_add
      Src: /src/openssl/ssl/statem/extensions.c:890,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:895,1
    - Dst: should_add_extension
      Src: /src/openssl/ssl/statem/extensions.c:902,1
    - Dst: construct
      Src: /src/openssl/ssl/statem/extensions.c:911,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions.c:923,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:925,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:949,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:961,1
    - Dst: ssl_tsan_lock
      Src: /src/openssl/ssl/statem/extensions.c:973,1
    - Dst: tsan_decr
      Src: /src/openssl/ssl/statem/extensions.c:974,1
    - Dst: ssl_tsan_unlock
      Src: /src/openssl/ssl/statem/extensions.c:975,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:984,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions.c:995,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions.c:996,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions.c:997,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/extensions.c:998,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1000,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1000,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1001,1
    - Dst: SSL_CTX*::ext::servername_cb
      Src: /src/openssl/ssl/statem/extensions.c:1006,1
    - Dst: SSL_CONNECTION*::session_ctx::ext::servername_cb
      Src: /src/openssl/ssl/statem/extensions.c:1009,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1023,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/statem/extensions.c:1024,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1026,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/extensions.c:1037,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/extensions.c:1039,1
    - Dst: ssl_tsan_decr
      Src: /src/openssl/ssl/statem/extensions.c:1040,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/extensions.c:1049,1
    - Dst: SSL_get_session
      Src: /src/openssl/ssl/statem/extensions.c:1052,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1055,1
    - Dst: ssl_generate_session_id
      Src: /src/openssl/ssl/statem/extensions.c:1060,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1061,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1065,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1073,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:1078,1
    - Dst: ssl3_send_alert
      Src: /src/openssl/ssl/statem/extensions.c:1079,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1122,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1149,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/statem/extensions.c:1153,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1176,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:1188,1
    - Dst: tls_handle_alpn
      Src: /src/openssl/ssl/statem/extensions.c:1200,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1206,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1217,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1227,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1236,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1268,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1278,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/statem/extensions.c:1288,1
    - Dst: get_ca_names
      Src: /src/openssl/ssl/statem/extensions.c:1299,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/ssl/statem/extensions.c:1301,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions.c:1304,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions.c:1305,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1306,1
    - Dst: construct_ca_names
      Src: /src/openssl/ssl/statem/extensions.c:1310,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions.c:1315,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1316,1
    - Dst: parse_ca_names
      Src: /src/openssl/ssl/statem/extensions.c:1327,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:1329,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1330,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:1348,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1349,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1361,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:1372,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1393,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1397,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1440,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1446,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1469,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1477,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1483,1
    - Dst: tls13_generate_handshake_secret
      Src: /src/openssl/ssl/statem/extensions.c:1503,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1504,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/statem/extensions.c:1535,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions.c:1538,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1541,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1542,1
    - Dst: tls13_generate_secret
      Src: /src/openssl/ssl/statem/extensions.c:1574,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/extensions.c:1584,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/statem/extensions.c:1586,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/statem/extensions.c:1587,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1588,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/statem/extensions.c:1593,1
    - Dst: tls13_derive_finishedkey
      Src: /src/openssl/ssl/statem/extensions.c:1600,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/statem/extensions.c:1605,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1606,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/ssl/statem/extensions.c:1621,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1623,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/statem/extensions.c:1635,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/extensions.c:1636,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/openssl/ssl/statem/extensions.c:1637,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/extensions.c:1638,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/openssl/ssl/statem/extensions.c:1639,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1640,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:1643,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/statem/extensions.c:1646,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1647,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/statem/extensions.c:1652,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/statem/extensions.c:1653,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1654,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/ssl/statem/extensions.c:1658,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1662,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/ssl/statem/extensions.c:1670,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/extensions.c:1670,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/ssl/statem/extensions.c:1672,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/ssl/statem/extensions.c:1673,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1675,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/statem/extensions.c:1683,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1685,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions.c:1689,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions.c:1690,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions.c:1691,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/extensions.c:1692,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1711,1
    - Dst: SSL_CONNECTION*::allow_early_data_cb
      Src: /src/openssl/ssl/statem/extensions.c:1724,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions.c:1724,1
    - Dst: tls13_change_cipher_state
      Src: /src/openssl/ssl/statem/extensions.c:1730,1
    - Dst: USE_MAX_FRAGMENT_LENGTH_EXT
      Src: /src/openssl/ssl/statem/extensions.c:1750,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_max_frag_len
      Src: /src/openssl/ssl/statem/extensions.c:1751,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/statem/extensions.c:1752,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_max_frag_len
      Src: /src/openssl/ssl/statem/extensions.c:1753,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/statem/extensions.c:1754,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1776,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/extensions.c:1786,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/statem/extensions.c:1799,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions.c:1821,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions.c:1822,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/extensions.c:1823,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions.c:1827,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions.c:1830,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions.c:1830,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1836,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/statem/extensions.c:1852,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/statem/extensions.c:1875,1
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions.c:1888,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:1889,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1890,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/extensions.c:1894,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions.c:1901,1
    - Dst: tls_comp_in_pref
      Src: /src/openssl/ssl/statem/extensions.c:1902,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:1907,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1908,1
    CyclomaticComplexity: 262
    EdgeCount: 262
    ICount: 607
    argCount: 6
    argNames:
    - s
    - packet
    - context
    - res
    - len
    - init
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - RAW_EXTENSION**
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 609
    functionDepth: 11
    functionLinenumber: 609
    functionLinenumberEnd: 1933
    functionName: tls_collect_extensions
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 8
    functionsReached:
    - tsan_decr
    - sk_OCSP_RESPONSE_pop_free
    - SSL_CONNECTION*::rlayer::wrlmethod::set_max_frag_len
    - SSL_get_session
    - verify_extension
    - EVP_PKEY_free
    - construct
    - tls13_change_cipher_state
    - EVP_MD_get0_name
    - SSL_CONNECTION_GET_USER_SSL
    - EVP_DigestSignInit_ex
    - SSL_CONNECTION_IS_DTLS
    - ssl3_send_alert
    - EVP_MD_get_size
    - OPENSSL_calloc
    - get_ca_names
    - EVP_MD_CTX_free
    - OPENSSL_cleanse
    - tls13_hkdf_expand
    - SSLfatal
    - PACKET_get_net_2
    - ssl_tsan_lock
    - OPENSSL_free
    - EXTENSION_DEFINITION*::init
    - BIO_get_mem_data
    - extension_is_relevant
    - ssl_tsan_decr
    - tls13_derive_finishedkey
    - WPACKET_close
    - custom_ext_init
    - custom_ext_add
    - USE_MAX_FRAGMENT_LENGTH_EXT
    - tls13_generate_handshake_secret
    - SSL_CTX*::ext::servername_cb
    - memset
    - ssl_tsan_unlock
    - EVP_MD_CTX_new
    - EVP_DigestSignFinal
    - sk_X509_NAME_num
    - PACKET_get_length_prefixed_3
    - SSL_CONNECTION*::ext::debug_cb
    - WPACKET_put_bytes_u16
    - EVP_DigestUpdate
    - CRYPTO_memcmp
    - should_add_extension
    - SSL_get_options
    - ssl_get_max_send_fragment
    - PACKET_get_length_prefixed_2
    - tls_handle_alpn
    - custom_ext_parse
    - EVP_PKEY_new_raw_private_key_ex
    - PACKET_buf_init
    - WPACKET_set_flags
    - GET_MAX_FRAGMENT_LENGTH
    - SSL_CONNECTION*::rlayer::rrlmethod::set_max_frag_len
    - ssl_generate_session_id
    - tls13_generate_secret
    - parser
    - construct_ca_names
    - PACKET_forward
    - sk_X509_NAME_pop_free
    - tls_comp_in_pref
    - WPACKET_start_sub_packet_u8
    - SSL_CONNECTION*::allow_early_data_cb
    - PACKET_as_length_prefixed_1
    - PACKET_data
    - ossl_assert
    - ssl_get_min_max_version
    - parse_ca_names
    - EVP_DigestSignUpdate
    - OPENSSL_strdup
    - EVP_DigestInit_ex
    - SSL_IS_FIRST_HANDSHAKE
    - EVP_DigestFinal_ex
    - ossl_comp_has_alg
    - SSL_CONNECTION_GET_SSL
    - EXTENSION_DEFINITION*::final
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    - tls_parse_extension
    - WPACKET_start_sub_packet_u16
    - ssl_tsan_counter
    - PACKET_remaining
    - OSSL_NELEM
    - SSL_CONNECTION*::session_ctx::ext::servername_cb
    linkageType: ''
    returnType: int
    signature: "int tls_collect_extensions(SSL_CONNECTION *s, PACKET *packet,\n                           unsigned
      int context,\n                           RAW_EXTENSION **res, size_t *len, int
      init)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:758,1
    - Dst: extension_is_relevant
      Src: /src/openssl/ssl/statem/extensions.c:763,1
    - Dst: parser
      Src: /src/openssl/ssl/statem/extensions.c:769,1
    - Dst: custom_ext_parse
      Src: /src/openssl/ssl/statem/extensions.c:778,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions.c:779,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:780,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - s
    - idx
    - context
    - exts
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - TLSEXT_INDEX
    - int
    - RAW_EXTENSION*
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 782
    functionName: tls_parse_extension
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 4
    functionsReached:
    - custom_ext_parse
    - extension_is_relevant
    - parser
    - PACKET_remaining
    - OSSL_NELEM
    - PACKET_data
    linkageType: ''
    returnType: int
    signature: "int tls_parse_extension(SSL_CONNECTION *s, TLSEXT_INDEX idx, int context,\n
      \                       RAW_EXTENSION *exts, X509 *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:795,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/statem/extensions.c:803,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:814,1
    - Dst: EXTENSION_DEFINITION*::final
      Src: /src/openssl/ssl/statem/extensions.c:817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - s
    - context
    - exts
    - x
    - chainidx
    - fin
    argTypes:
    - SSL_CONNECTION*
    - int
    - RAW_EXTENSION*
    - X509*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 825
    functionName: tls_parse_all_extensions
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 8
    functionsReached:
    - EXTENSION_DEFINITION*::final
    - OSSL_NELEM
    - tls_parse_extension
    linkageType: ''
    returnType: int
    signature: "int tls_parse_all_extensions(SSL_CONNECTION *s, int context,\n                             RAW_EXTENSION
      *exts, X509 *x,\n                             size_t chainidx, int fin)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extension_is_relevant
      Src: /src/openssl/ssl/statem/extensions.c:835,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/extensions.c:838,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - s
    - extctx
    - thisctx
    - max_version
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 842
    functionName: should_add_extension
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION_IS_DTLS
    - extension_is_relevant
    linkageType: ''
    returnType: int
    signature: "int should_add_extension(SSL_CONNECTION *s, unsigned int extctx,\n
      \                        unsigned int thisctx, int max_version)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions.c:861,1
    - Dst: WPACKET_set_flags
      Src: /src/openssl/ssl/statem/extensions.c:869,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:872,1
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/statem/extensions.c:877,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:880,1
    - Dst: custom_ext_init
      Src: /src/openssl/ssl/statem/extensions.c:888,1
    - Dst: custom_ext_add
      Src: /src/openssl/ssl/statem/extensions.c:890,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/statem/extensions.c:895,1
    - Dst: should_add_extension
      Src: /src/openssl/ssl/statem/extensions.c:902,1
    - Dst: construct
      Src: /src/openssl/ssl/statem/extensions.c:911,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions.c:923,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:925,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 852
    functionDepth: 5
    functionLinenumber: 852
    functionLinenumberEnd: 930
    functionName: tls_construct_extensions
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 5
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - construct
    - ssl_get_min_max_version
    - custom_ext_add
    - WPACKET_close
    - WPACKET_set_flags
    - OSSL_NELEM
    - should_add_extension
    - custom_ext_init
    linkageType: ''
    returnType: int
    signature: "int tls_construct_extensions(SSL_CONNECTION *s, WPACKET *pkt,\n                             unsigned
      int context,\n                             X509 *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:949,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:961,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 968
    functionName: final_renegotiate
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: int final_renegotiate(SSL_CONNECTION *s, unsigned int context, int
      sent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_tsan_lock
      Src: /src/openssl/ssl/statem/extensions.c:973,1
    - Dst: tsan_decr
      Src: /src/openssl/ssl/statem/extensions.c:974,1
    - Dst: ssl_tsan_unlock
      Src: /src/openssl/ssl/statem/extensions.c:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - stat
    argTypes:
    - SSL_CTX*
    - TSAN_QUALIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 977
    functionName: ssl_tsan_decr
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 1
    functionsReached:
    - tsan_decr
    - ssl_tsan_unlock
    - ssl_tsan_lock
    linkageType: ''
    returnType: ossl_inline
    signature: "ossl_inline ssl_tsan_decr(const SSL_CTX *ctx,\n                                      TSAN_QUALIFIER
      int *stat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 989
    functionName: init_server_name
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int init_server_name(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions.c:995,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions.c:996,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions.c:997,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/extensions.c:998,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1000,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1000,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1001,1
    - Dst: SSL_CTX*::ext::servername_cb
      Src: /src/openssl/ssl/statem/extensions.c:1006,1
    - Dst: SSL_CONNECTION*::session_ctx::ext::servername_cb
      Src: /src/openssl/ssl/statem/extensions.c:1009,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1023,1
    - Dst: OPENSSL_strdup
      Src: /src/openssl/ssl/statem/extensions.c:1024,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1026,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/extensions.c:1037,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/extensions.c:1039,1
    - Dst: ssl_tsan_decr
      Src: /src/openssl/ssl/statem/extensions.c:1040,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/extensions.c:1049,1
    - Dst: SSL_get_session
      Src: /src/openssl/ssl/statem/extensions.c:1052,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1055,1
    - Dst: ssl_generate_session_id
      Src: /src/openssl/ssl/statem/extensions.c:1060,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1061,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1065,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1073,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:1078,1
    - Dst: ssl3_send_alert
      Src: /src/openssl/ssl/statem/extensions.c:1079,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 991
    functionDepth: 4
    functionLinenumber: 991
    functionLinenumberEnd: 1090
    functionName: final_server_name
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - SSLfatal
    - ssl_tsan_decr
    - ssl_generate_session_id
    - SSL_CONNECTION_IS_TLS13
    - ssl_tsan_counter
    - SSL_CONNECTION_GET_SSL
    - OPENSSL_free
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_get_options
    - OPENSSL_strdup
    - SSL_CONNECTION*::session_ctx::ext::servername_cb
    - SSL_get_session
    - SSL_CONNECTION_GET_CTX
    - SSL_IS_FIRST_HANDSHAKE
    - SSL_CTX*::ext::servername_cb
    - ssl3_send_alert
    linkageType: ''
    returnType: int
    signature: int final_server_name(SSL_CONNECTION *s, unsigned int context, int
      sent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1122,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1129
    functionName: final_ec_pt_formats
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: "int final_ec_pt_formats(SSL_CONNECTION *s, unsigned int context,\n
      \                              int sent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1137
    functionName: init_session_ticket
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_session_ticket(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1149,1
    - Dst: sk_OCSP_RESPONSE_pop_free
      Src: /src/openssl/ssl/statem/extensions.c:1153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1158
    functionName: init_status_request
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - sk_OCSP_RESPONSE_pop_free
    linkageType: ''
    returnType: int
    signature: int init_status_request(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1167
    functionName: init_npn
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_npn(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1172,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1181
    functionName: init_alpn
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int init_alpn(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:1188,1
    - Dst: tls_handle_alpn
      Src: /src/openssl/ssl/statem/extensions.c:1200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1201
    functionName: final_alpn
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_IS_TLS13
    - tls_handle_alpn
    linkageType: ''
    returnType: int
    signature: int final_alpn(SSL_CONNECTION *s, unsigned int context, int sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1211
    functionName: init_sig_algs
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int init_sig_algs(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - ossl_unused unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1222
    functionName: init_sig_algs_cert
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: "int init_sig_algs_cert(SSL_CONNECTION *s,\n                              ossl_unused
      unsigned int context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1231
    functionName: init_srp
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int init_srp(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions.c:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: init_ec_point_formats
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: int
    signature: int init_ec_point_formats(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1248
    functionName: init_etm
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_etm(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1258
    functionName: init_ems
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_ems(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1268,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1284
    functionName: final_ems
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: int final_ems(SSL_CONNECTION *s, unsigned int context, int sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/statem/extensions.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1291
    functionName: init_certificate_authorities
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - sk_X509_NAME_pop_free
    linkageType: ''
    returnType: int
    signature: int init_certificate_authorities(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_ca_names
      Src: /src/openssl/ssl/statem/extensions.c:1299,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/ssl/statem/extensions.c:1301,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions.c:1304,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions.c:1305,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1306,1
    - Dst: construct_ca_names
      Src: /src/openssl/ssl/statem/extensions.c:1310,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions.c:1315,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1293
    functionDepth: 4
    functionLinenumber: 1293
    functionLinenumberEnd: 1321
    functionName: tls_construct_certificate_authorities
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - get_ca_names
    - construct_ca_names
    - sk_X509_NAME_num
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_certificate_authorities(SSL_CONNECTION *s,\n
      \                                                       WPACKET *pkt,\n                                                        unsigned
      int context,\n                                                        X509 *x,\n
      \                                                       size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_ca_names
      Src: /src/openssl/ssl/statem/extensions.c:1327,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:1329,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1334
    functionName: tls_parse_certificate_authorities
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - parse_ca_names
    - SSLfatal
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_certificate_authorities(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                            unsigned int context, X509 *x,\n
      \                                            size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1343
    functionName: init_srtp
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_srtp(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:1348,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1355
    functionName: final_sig_algs
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int final_sig_algs(SSL_CONNECTION *s, unsigned int context, int sent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1367
    functionName: final_supported_versions
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: "int final_supported_versions(SSL_CONNECTION *s, unsigned int context,\n
      \                                   int sent)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions.c:1372,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1393,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1397,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1440,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1446,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1469,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1477,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1483,1
    - Dst: tls13_generate_handshake_secret
      Src: /src/openssl/ssl/statem/extensions.c:1503,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1504,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1369
    functionDepth: 7
    functionLinenumber: 1369
    functionLinenumberEnd: 1510
    functionName: final_key_share
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - tls13_generate_handshake_secret
    - SSLfatal
    - ossl_assert
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int final_key_share(SSL_CONNECTION *s, unsigned int context, int sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: init_psk_kex_modes
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_psk_kex_modes(SSL_CONNECTION *s, unsigned int context)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/statem/extensions.c:1535,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions.c:1538,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions.c:1541,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1542,1
    - Dst: tls13_generate_secret
      Src: /src/openssl/ssl/statem/extensions.c:1574,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/extensions.c:1584,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/statem/extensions.c:1586,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/statem/extensions.c:1587,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1588,1
    - Dst: tls13_hkdf_expand
      Src: /src/openssl/ssl/statem/extensions.c:1593,1
    - Dst: tls13_derive_finishedkey
      Src: /src/openssl/ssl/statem/extensions.c:1600,1
    - Dst: EVP_DigestInit_ex
      Src: /src/openssl/ssl/statem/extensions.c:1605,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1606,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/ssl/statem/extensions.c:1621,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1623,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/statem/extensions.c:1635,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/extensions.c:1636,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/openssl/ssl/statem/extensions.c:1637,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/extensions.c:1638,1
    - Dst: PACKET_get_length_prefixed_3
      Src: /src/openssl/ssl/statem/extensions.c:1639,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1640,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:1643,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/statem/extensions.c:1646,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1647,1
    - Dst: EVP_DigestUpdate
      Src: /src/openssl/ssl/statem/extensions.c:1652,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/openssl/ssl/statem/extensions.c:1653,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1654,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/ssl/statem/extensions.c:1658,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1662,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/ssl/statem/extensions.c:1670,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/extensions.c:1670,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/ssl/statem/extensions.c:1672,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/ssl/statem/extensions.c:1673,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1675,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/statem/extensions.c:1683,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1685,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions.c:1689,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions.c:1690,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions.c:1691,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/extensions.c:1692,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 96
    argCount: 9
    argNames:
    - s
    - md
    - msgstart
    - binderoffset
    - binderin
    - binderout
    - sess
    - sign
    - external
    argTypes:
    - SSL_CONNECTION*
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - SSL_SESSION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1518
    functionDepth: 8
    functionLinenumber: 1518
    functionLinenumberEnd: 1695
    functionName: tls_psk_do_binder
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - EVP_DigestUpdate
    - CRYPTO_memcmp
    - BIO_get_mem_data
    - OPENSSL_cleanse
    - ossl_assert
    - EVP_PKEY_new_raw_private_key_ex
    - PACKET_buf_init
    - tls13_derive_finishedkey
    - EVP_PKEY_free
    - EVP_DigestSignUpdate
    - EVP_DigestInit_ex
    - EVP_DigestFinal_ex
    - tls13_generate_secret
    - EVP_MD_get0_name
    - EVP_DigestSignInit_ex
    - PACKET_forward
    - SSL_CONNECTION_GET_CTX
    - EVP_MD_get_size
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - PACKET_remaining
    - EVP_DigestSignFinal
    - PACKET_get_length_prefixed_3
    - tls13_hkdf_expand
    linkageType: ''
    returnType: int
    signature: "int tls_psk_do_binder(SSL_CONNECTION *s, const EVP_MD *md,\n                      const
      unsigned char *msgstart,\n                      size_t binderoffset, const unsigned
      char *binderin,\n                      unsigned char *binderout, SSL_SESSION
      *sess, int sign,\n                      int external)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1711,1
    - Dst: SSL_CONNECTION*::allow_early_data_cb
      Src: /src/openssl/ssl/statem/extensions.c:1724,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions.c:1724,1
    - Dst: tls13_change_cipher_state
      Src: /src/openssl/ssl/statem/extensions.c:1730,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1697
    functionDepth: 11
    functionLinenumber: 1697
    functionLinenumberEnd: 1738
    functionName: final_early_data
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION*::allow_early_data_cb
    - SSLfatal
    - SSL_CONNECTION_GET_USER_SSL
    - tls13_change_cipher_state
    linkageType: ''
    returnType: int
    signature: int final_early_data(SSL_CONNECTION *s, unsigned int context, int sent)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: USE_MAX_FRAGMENT_LENGTH_EXT
      Src: /src/openssl/ssl/statem/extensions.c:1750,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_max_frag_len
      Src: /src/openssl/ssl/statem/extensions.c:1751,1
    - Dst: GET_MAX_FRAGMENT_LENGTH
      Src: /src/openssl/ssl/statem/extensions.c:1752,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set_max_frag_len
      Src: /src/openssl/ssl/statem/extensions.c:1753,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/statem/extensions.c:1754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1740
    functionDepth: 2
    functionLinenumber: 1740
    functionLinenumberEnd: 1758
    functionName: final_maxfragmentlen
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION*::rlayer::rrlmethod::set_max_frag_len
    - SSL_CONNECTION*::rlayer::wrlmethod::set_max_frag_len
    - USE_MAX_FRAGMENT_LENGTH_EXT
    - GET_MAX_FRAGMENT_LENGTH
    - ssl_get_max_send_fragment
    linkageType: ''
    returnType: int
    signature: "int final_maxfragmentlen(SSL_CONNECTION *s, unsigned int context,\n
      \                               int sent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - context
    argTypes:
    - SSL_CONNECTION*
    - ossl_unused unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1766
    functionName: init_post_handshake_auth
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int init_post_handshake_auth(SSL_CONNECTION *s,\n                                    ossl_unused
      unsigned int context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - s
    - context
    - sent
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1782
    functionName: final_psk
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: int final_psk(SSL_CONNECTION *s, unsigned int context, int sent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/statem/extensions.c:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sc
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1789
    functionName: tls_init_compress_certificate
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int tls_init_compress_certificate(SSL_CONNECTION *sc, unsigned int
      context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/statem/extensions.c:1799,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions.c:1821,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions.c:1822,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/extensions.c:1823,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions.c:1827,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions.c:1830,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions.c:1830,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1836,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1792
    functionDepth: 4
    functionLinenumber: 1792
    functionLinenumberEnd: 1841
    functionName: tls_construct_compress_certificate
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - ossl_comp_has_alg
    - WPACKET_close
    - WPACKET_start_sub_packet_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_compress_certificate(SSL_CONNECTION *sc,
      WPACKET *pkt,\n                                                     unsigned
      int context,\n                                                     X509 *x,
      size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/statem/extensions.c:1852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - sc
    - alg
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1844
    functionDepth: 3
    functionLinenumber: 1844
    functionLinenumberEnd: 1862
    functionName: tls_comp_in_pref
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 1
    functionsReached:
    - ossl_comp_has_alg
    linkageType: ''
    returnType: int
    signature: int tls_comp_in_pref(SSL_CONNECTION *sc, int alg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/statem/extensions.c:1875,1
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions.c:1888,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:1889,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1890,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/extensions.c:1894,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions.c:1901,1
    - Dst: tls_comp_in_pref
      Src: /src/openssl/ssl/statem/extensions.c:1902,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions.c:1907,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions.c:1908,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1865
    functionDepth: 4
    functionLinenumber: 1865
    functionLinenumberEnd: 1913
    functionName: tls_parse_compress_certificate
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memset
    - ossl_comp_has_alg
    - PACKET_get_net_2
    - tls_comp_in_pref
    - PACKET_as_length_prefixed_1
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_compress_certificate(SSL_CONNECTION *sc, PACKET *pkt,
      unsigned int context,\n                                   X509 *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1923
    functionName: init_server_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_server_cert_type(SSL_CONNECTION *sc, unsigned int context)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - context
    argTypes:
    - SSL_CONNECTION*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1933
    functionName: init_client_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int init_client_cert_type(SSL_CONNECTION *sc, unsigned int context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: RSMBLY_BITMASK_SIZE
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSMBLY_BITMASK_SIZE(msg_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bitmask
    - ','
    - start
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: RSMBLY_BITMASK_MARK
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSMBLY_BITMASK_MARK(bitmask, start, end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bitmask
    - ','
    - msg_len
    - ','
    - is_complete
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: RSMBLY_BITMASK_IS_COMPLETE
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSMBLY_BITMASK_IS_COMPLETE(bitmask, msg_len, is_complete)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/statem/statem_dtls.c:65,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_dtls.c:69,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:70,1
    - Dst: OPENSSL_zalloc
      Src: /src/openssl/ssl/statem/statem_dtls.c:80,1
    - Dst: RSMBLY_BITMASK_SIZE
      Src: /src/openssl/ssl/statem/statem_dtls.c:80,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:82,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - frag_len
    - reassembly
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: dtls1_hm_fragment_new
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    - OPENSSL_zalloc
    - RSMBLY_BITMASK_SIZE
    - OPENSSL_malloc
    linkageType: ''
    returnType: hm_fragment
    signature: hm_fragment *dtls1_hm_fragment_new(size_t frag_len, int reassembly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:98,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:99,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - frag
    argTypes:
    - hm_fragment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: dtls1_hm_fragment_free
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 2
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void dtls1_hm_fragment_free(hm_fragment *frag)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:114,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:115,1
    - Dst: dtls1_query_mtu
      Src: /src/openssl/ssl/statem/statem_dtls.c:118,1
    - Dst: dtls1_min_mtu
      Src: /src/openssl/ssl/statem/statem_dtls.c:121,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:126,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::get_max_record_overhead
      Src: /src/openssl/ssl/statem/statem_dtls.c:131,1
    - Dst: BIO_wpending
      Src: /src/openssl/ssl/statem/statem_dtls.c:172,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/statem/statem_dtls.c:182,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/statem/statem_dtls.c:203,1
    - Dst: ssl_get_max_send_fragment
      Src: /src/openssl/ssl/statem/statem_dtls.c:204,1
    - Dst: dtls1_fix_message_header
      Src: /src/openssl/ssl/statem/statem_dtls.c:217,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_dtls.c:225,1
    - Dst: dtls1_write_message_header
      Src: /src/openssl/ssl/statem/statem_dtls.c:228,1
    - Dst: dtls1_write_bytes
      Src: /src/openssl/ssl/statem/statem_dtls.c:233,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_dtls.c:237,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_dtls.c:247,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_dtls.c:247,1
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/statem_dtls.c:249,1
    - Dst: dtls1_query_mtu
      Src: /src/openssl/ssl/statem/statem_dtls.c:250,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:265,1
    - Dst: assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:275,1
    - Dst: BIO_wpending
      Src: /src/openssl/ssl/statem/statem_dtls.c:276,1
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:294,1
    - Dst: s2n
      Src: /src/openssl/ssl/statem/statem_dtls.c:295,1
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:296,1
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:297,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_dtls.c:305,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/statem/statem_dtls.c:311,1
    - Dst: dtls1_fix_message_header
      Src: /src/openssl/ssl/statem/statem_dtls.c:331,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 103
    argCount: 2
    argNames:
    - s
    - type
    argTypes:
    - SSL_CONNECTION*
    - uint8_t
    assertStmts:
    - condition: "(s->s3.tmp.new_compression != NULL\n                   || BIO_wpending(s->wbio)
        <= (int)s->d1->mtu)"
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/openssl/ssl/statem/statem_dtls.c
    constantsTouched: []
    func_position:
      end: 335
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 335
    functionName: dtls1_do_write
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 2
    functionsReached:
    - memcpy
    - SSL_get_options
    - ssl_get_max_send_fragment
    - assert
    - ossl_assert
    - BIO_ctrl
    - BIO_flush
    - l2n3
    - dtls1_min_mtu
    - s2n
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION_GET_USER_SSL
    - BIO_wpending
    - ssl3_finish_mac
    - dtls1_fix_message_header
    - dtls1_query_mtu
    - dtls1_write_bytes
    - dtls1_write_message_header
    - SSL_get_wbio
    - SSL_CONNECTION*::rlayer::wrlmethod::get_max_record_overhead
    linkageType: ''
    returnType: int
    signature: int dtls1_do_write(SSL_CONNECTION *s, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_dtls.c:346,1
    - Dst: dtls_get_reassembled_message
      Src: /src/openssl/ssl/statem/statem_dtls.c:349,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/statem/statem_dtls.c:364,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:365,1
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:378,1
    - Dst: s2n
      Src: /src/openssl/ssl/statem/statem_dtls.c:379,1
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:380,1
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:381,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_dtls.c:383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - s
    - mt
    argTypes:
    - SSL_CONNECTION*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 390
    functionName: dtls_get_message
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 1
    functionsReached:
    - l2n3
    - memset
    - dtls_get_reassembled_message
    - s2n
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION_GET_USER_SSL
    linkageType: ''
    returnType: int
    signature: int dtls_get_message(SSL_CONNECTION *s, int *mt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_take_mac
      Src: /src/openssl/ssl/statem/statem_dtls.c:410,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_dtls.c:420,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/statem/statem_dtls.c:424,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - SSL_CONNECTION*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 397
    functionDepth: 5
    functionLinenumber: 397
    functionLinenumberEnd: 431
    functionName: dtls_get_message_body
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION_GET_USER_SSL
    - ssl3_take_mac
    - ssl3_finish_mac
    linkageType: ''
    returnType: int
    signature: int dtls_get_message_body(SSL_CONNECTION *s, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: dtls1_max_handshake_message_len
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t dtls1_max_handshake_message_len(const SSL_CONNECTION *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dtls1_max_handshake_message_len
      Src: /src/openssl/ssl/statem/statem_dtls.c:457,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:458,1
    - Dst: BUF_MEM_grow_clean
      Src: /src/openssl/ssl/statem/statem_dtls.c:467,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:468,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - s
    - msg_hdr
    argTypes:
    - SSL_CONNECTION*
    - struct hm_header_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 487
    functionName: dtls1_preprocess_fragment
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - dtls1_max_handshake_message_len
    - SSLfatal
    - BUF_MEM_grow_clean
    linkageType: ''
    returnType: int
    signature: "int dtls1_preprocess_fragment(SSL_CONNECTION *s,\n                                     struct
      hm_header_st *msg_hdr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_iterator
      Src: /src/openssl/ssl/statem/statem_dtls.c:507,1
    - Dst: pqueue_next
      Src: /src/openssl/ssl/statem/statem_dtls.c:509,1
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/statem/statem_dtls.c:528,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:529,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:530,1
    - Dst: pqueue_next
      Src: /src/openssl/ssl/statem/statem_dtls.c:540,1
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/statem/statem_dtls.c:548,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:549,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:550,1
    - Dst: pqueue_pop
      Src: /src/openssl/ssl/statem/statem_dtls.c:569,1
    - Dst: dtls1_preprocess_fragment
      Src: /src/openssl/ssl/statem/statem_dtls.c:572,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_dtls.c:577,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:581,1
    - Dst: pitem_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:582,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - SSL_CONNECTION*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 605
    functionName: dtls1_retrieve_buffered_fragment
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - pqueue_pop
    - dtls1_preprocess_fragment
    - memcpy
    - pqueue_iterator
    - dtls1_hm_fragment_free
    - pqueue_next
    - pitem_free
    linkageType: ''
    returnType: int
    signature: int dtls1_retrieve_buffered_fragment(SSL_CONNECTION *s, size_t *len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:616,1
    - Dst: dtls1_max_handshake_message_len
      Src: /src/openssl/ssl/statem/statem_dtls.c:619,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_dtls.c:627,1
    - Dst: pqueue_find
      Src: /src/openssl/ssl/statem/statem_dtls.c:630,1
    - Dst: dtls1_hm_fragment_new
      Src: /src/openssl/ssl/statem/statem_dtls.c:633,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_dtls.c:636,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/statem/statem_dtls.c:657,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/statem/statem_dtls.c:670,1
    - Dst: RSMBLY_BITMASK_MARK
      Src: /src/openssl/ssl/statem/statem_dtls.c:678,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:681,1
    - Dst: RSMBLY_BITMASK_IS_COMPLETE
      Src: /src/openssl/ssl/statem/statem_dtls.c:683,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:687,1
    - Dst: pitem_new
      Src: /src/openssl/ssl/statem/statem_dtls.c:692,1
    - Dst: pqueue_insert
      Src: /src/openssl/ssl/statem/statem_dtls.c:698,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:705,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:713,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 2
    argNames:
    - s
    - msg_hdr
    argTypes:
    - SSL_CONNECTION*
    - struct hm_header_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 715
    functionName: dtls1_reassemble_fragment
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - dtls1_max_handshake_message_len
    - dtls1_hm_fragment_new
    - ossl_assert
    - memset
    - pqueue_insert
    - memcpy
    - pqueue_find
    - SSL*::method::ssl_read_bytes
    - SSL_CONNECTION_GET_SSL
    - OPENSSL_free
    - RSMBLY_BITMASK_IS_COMPLETE
    - pitem_new
    - dtls1_hm_fragment_free
    - RSMBLY_BITMASK_MARK
    linkageType: ''
    returnType: int
    signature: "int dtls1_reassemble_fragment(SSL_CONNECTION *s,\n                                     const
      struct hm_header_st *msg_hdr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:726,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_dtls.c:732,1
    - Dst: pqueue_find
      Src: /src/openssl/ssl/statem/statem_dtls.c:735,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/statem/statem_dtls.c:755,1
    - Dst: dtls1_reassemble_fragment
      Src: /src/openssl/ssl/statem/statem_dtls.c:766,1
    - Dst: dtls1_max_handshake_message_len
      Src: /src/openssl/ssl/statem/statem_dtls.c:769,1
    - Dst: dtls1_hm_fragment_new
      Src: /src/openssl/ssl/statem/statem_dtls.c:772,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_dtls.c:776,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/statem/statem_dtls.c:782,1
    - Dst: pitem_new
      Src: /src/openssl/ssl/statem/statem_dtls.c:791,1
    - Dst: pqueue_insert
      Src: /src/openssl/ssl/statem/statem_dtls.c:795,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:804,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:812,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 2
    argNames:
    - s
    - msg_hdr
    argTypes:
    - SSL_CONNECTION*
    - struct hm_header_st*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 814
    functionName: dtls1_process_out_of_seq_message
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - dtls1_max_handshake_message_len
    - dtls1_hm_fragment_new
    - ossl_assert
    - memset
    - pqueue_insert
    - memcpy
    - pqueue_find
    - dtls1_reassemble_fragment
    - SSL_CONNECTION_GET_SSL
    - SSL*::method::ssl_read_bytes
    - pitem_new
    - dtls1_hm_fragment_free
    linkageType: ''
    returnType: int
    signature: "int dtls1_process_out_of_seq_message(SSL_CONNECTION *s,\n                                            const
      struct hm_header_st *msg_hdr)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:824,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:825,1
    - Dst: dtls1_retrieve_buffered_fragment
      Src: /src/openssl/ssl/statem/statem_dtls.c:835,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/statem/statem_dtls.c:847,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:856,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:871,1
    - Dst: dtls1_get_message_header
      Src: /src/openssl/ssl/statem/statem_dtls.c:876,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:887,1
    - Dst: dtls1_process_out_of_seq_message
      Src: /src/openssl/ssl/statem/statem_dtls.c:903,1
    - Dst: dtls1_reassemble_fragment
      Src: /src/openssl/ssl/statem/statem_dtls.c:915,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/statem/statem_dtls.c:930,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:938,1
    - Dst: dtls1_preprocess_fragment
      Src: /src/openssl/ssl/statem/statem_dtls.c:943,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/statem/statem_dtls.c:951,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:972,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 3
    argNames:
    - s
    - errtype
    - len
    argTypes:
    - SSL_CONNECTION*
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 816
    functionDepth: 4
    functionLinenumber: 816
    functionLinenumberEnd: 1000
    functionName: dtls_get_reassembled_message
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - dtls1_preprocess_fragment
    - dtls1_process_out_of_seq_message
    - SSL*::method::ssl_read_bytes
    - SSL_CONNECTION_GET_SSL
    - dtls1_get_message_header
    - SSL_CONNECTION_GET_USER_SSL
    - dtls1_reassemble_fragment
    - SSL_CONNECTION*::msg_callback
    - dtls1_retrieve_buffered_fragment
    linkageType: ''
    returnType: int
    signature: "int dtls_get_reassembled_message(SSL_CONNECTION *s, int *errtype,\n
      \                                       size_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/statem_dtls.c:1014,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:1015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1021
    functionName: dtls_construct_change_cipher_spec
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: "CON_FUNC_RETURN dtls_construct_change_cipher_spec(SSL_CONNECTION *s,\n
      \                                                 WPACKET *pkt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:1032,1
    - Dst: BIO_dgram_sctp_wait_for_dry
      Src: /src/openssl/ssl/statem/statem_dtls.c:1035,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_dtls.c:1035,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:1037,1
    - Dst: dtls_get_reassembled_message
      Src: /src/openssl/ssl/statem/statem_dtls.c:1048,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:1050,1
    - Dst: BIO_clear_retry_flags
      Src: /src/openssl/ssl/statem/statem_dtls.c:1056,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/statem/statem_dtls.c:1056,1
    - Dst: BIO_set_retry_read
      Src: /src/openssl/ssl/statem/statem_dtls.c:1057,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/statem/statem_dtls.c:1057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1028
    functionDepth: 5
    functionLinenumber: 1028
    functionLinenumberEnd: 1061
    functionName: dtls_wait_for_dry
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - BIO_clear_retry_flags
    - dtls_get_reassembled_message
    - BIO_dgram_sctp_wait_for_dry
    - SSL_CONNECTION_GET_SSL
    - BIO_set_retry_read
    - SSL_get_wbio
    - SSL_get_rbio
    linkageType: ''
    returnType: WORK_STATE
    signature: WORK_STATE dtls_wait_for_dry(SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_dtls.c:1066,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:1069,1
    - Dst: dtls1_is_timer_expired
      Src: /src/openssl/ssl/statem/statem_dtls.c:1073,1
    - Dst: ossl_statem_in_error
      Src: /src/openssl/ssl/statem/statem_dtls.c:1073,1
    - Dst: SSL_in_init
      Src: /src/openssl/ssl/statem/statem_dtls.c:1081,1
    - Dst: BIO_set_flags
      Src: /src/openssl/ssl/statem/statem_dtls.c:1082,1
    - Dst: SSL_get_rbio
      Src: /src/openssl/ssl/statem/statem_dtls.c:1082,1
    - Dst: dtls1_handle_timeout
      Src: /src/openssl/ssl/statem/statem_dtls.c:1086,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s
    - code
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1064
    functionDepth: 6
    functionLinenumber: 1064
    functionLinenumberEnd: 1087
    functionName: dtls1_read_failed
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 1
    functionsReached:
    - BIO_set_flags
    - SSLfatal
    - dtls1_is_timer_expired
    - SSL_in_init
    - dtls1_handle_timeout
    - SSL_CONNECTION_GET_SSL
    - ossl_statem_in_error
    - SSL_get_rbio
    linkageType: ''
    returnType: int
    signature: int dtls1_read_failed(SSL_CONNECTION *s, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seq
    - is_ccs
    argTypes:
    - unsigned short
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1102
    functionName: dtls1_get_queue_priority
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dtls1_get_queue_priority(unsigned short seq, int is_ccs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pqueue_iterator
      Src: /src/openssl/ssl/statem/statem_dtls.c:1112,1
    - Dst: pqueue_next
      Src: /src/openssl/ssl/statem/statem_dtls.c:1114,1
    - Dst: pqueue_next
      Src: /src/openssl/ssl/statem/statem_dtls.c:1114,1
    - Dst: dtls1_retransmit_message
      Src: /src/openssl/ssl/statem/statem_dtls.c:1116,1
    - Dst: dtls1_get_queue_priority
      Src: /src/openssl/ssl/statem/statem_dtls.c:1117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1104
    functionDepth: 2
    functionLinenumber: 1104
    functionLinenumberEnd: 1124
    functionName: dtls1_retransmit_buffered_messages
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 2
    functionsReached:
    - pqueue_next
    - pqueue_iterator
    - dtls1_retransmit_message
    - dtls1_get_queue_priority
    linkageType: ''
    returnType: int
    signature: int dtls1_retransmit_buffered_messages(SSL_CONNECTION *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:1136,1
    - Dst: dtls1_hm_fragment_new
      Src: /src/openssl/ssl/statem/statem_dtls.c:1139,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_dtls.c:1143,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:1147,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:1151,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_dtls.c:1155,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:1157,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_dtls.c:1174,1
    - Dst: dtls1_get_queue_priority
      Src: /src/openssl/ssl/statem/statem_dtls.c:1177,1
    - Dst: dtls1_get_queue_priority
      Src: /src/openssl/ssl/statem/statem_dtls.c:1181,1
    - Dst: pitem_new
      Src: /src/openssl/ssl/statem/statem_dtls.c:1184,1
    - Dst: dtls1_hm_fragment_free
      Src: /src/openssl/ssl/statem/statem_dtls.c:1186,1
    - Dst: pqueue_insert
      Src: /src/openssl/ssl/statem/statem_dtls.c:1190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - s
    - is_ccs
    argTypes:
    - SSL_CONNECTION*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1192
    functionName: dtls1_buffer_message
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - dtls1_get_queue_priority
    - ossl_assert
    - dtls1_hm_fragment_new
    - memset
    - pqueue_insert
    - memcpy
    - pitem_new
    - dtls1_hm_fragment_free
    linkageType: ''
    returnType: int
    signature: int dtls1_buffer_message(SSL_CONNECTION *s, int is_ccs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_dtls.c:1205,1
    - Dst: pqueue_find
      Src: /src/openssl/ssl/statem/statem_dtls.c:1209,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_dtls.c:1211,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_dtls.c:1224,1
    - Dst: dtls1_set_message_header_int
      Src: /src/openssl/ssl/statem/statem_dtls.c:1228,1
    - Dst: SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
      Src: /src/openssl/ssl/statem/statem_dtls.c:1247,1
    - Dst: dtls1_do_write
      Src: /src/openssl/ssl/statem/statem_dtls.c:1249,1
    - Dst: BIO_flush
      Src: /src/openssl/ssl/statem/statem_dtls.c:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 3
    argNames:
    - s
    - seq
    - found
    argTypes:
    - SSL_CONNECTION*
    - unsigned short
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1194
    functionDepth: 6
    functionLinenumber: 1194
    functionLinenumberEnd: 1260
    functionName: dtls1_retransmit_message
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION*::rlayer::wrlmethod::set1_bio
    - memset
    - memcpy
    - BIO_flush
    - pqueue_find
    - dtls1_set_message_header_int
    - dtls1_do_write
    linkageType: ''
    returnType: int
    signature: int dtls1_retransmit_message(SSL_CONNECTION *s, unsigned short seq,
      int *found)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dtls1_set_message_header_int
      Src: /src/openssl/ssl/statem/statem_dtls.c:1271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - s
    - mt
    - len
    - frag_off
    - frag_len
    argTypes:
    - SSL_CONNECTION*
    - unsigned char
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1273
    functionName: dtls1_set_message_header
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - dtls1_set_message_header_int
    linkageType: ''
    returnType: void
    signature: "void dtls1_set_message_header(SSL_CONNECTION *s,\n                              unsigned
      char mt, size_t len,\n                              size_t frag_off, size_t
      frag_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - s
    - mt
    - len
    - seq_num
    - frag_off
    - frag_len
    argTypes:
    - SSL_CONNECTION*
    - unsigned char
    - size_t
    - unsigned short
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1288
    functionName: dtls1_set_message_header_int
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dtls1_set_message_header_int(SSL_CONNECTION *s, unsigned char
      mt,\n                             size_t len, unsigned short seq_num,\n                             size_t
      frag_off, size_t frag_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - frag_off
    - frag_len
    argTypes:
    - SSL_CONNECTION*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: dtls1_fix_message_header
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dtls1_fix_message_header(SSL_CONNECTION *s, size_t frag_off, size_t
      frag_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:1305,1
    - Dst: s2n
      Src: /src/openssl/ssl/statem/statem_dtls.c:1307,1
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:1308,1
    - Dst: l2n3
      Src: /src/openssl/ssl/statem/statem_dtls.c:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1312
    functionName: dtls1_write_message_header
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 1
    functionsReached:
    - l2n3
    - s2n
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *dtls1_write_message_header(SSL_CONNECTION *s,\n                                                 unsigned
      char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_dtls.c:1317,1
    - Dst: n2l3
      Src: /src/openssl/ssl/statem/statem_dtls.c:1319,1
    - Dst: n2s
      Src: /src/openssl/ssl/statem/statem_dtls.c:1321,1
    - Dst: n2l3
      Src: /src/openssl/ssl/statem/statem_dtls.c:1322,1
    - Dst: n2l3
      Src: /src/openssl/ssl/statem/statem_dtls.c:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - msg_hdr
    argTypes:
    - unsigned char*
    - "struct\n                              hm_header_st*"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1324
    functionName: dtls1_get_message_header
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 2
    functionsReached:
    - n2s
    - memset
    - n2l3
    linkageType: ''
    returnType: void
    signature: "void dtls1_get_message_header(const unsigned char *data, struct\n
      \                             hm_header_st *msg_hdr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtls1_set_message_header_int
      Src: /src/openssl/ssl/statem/statem_dtls.c:1332,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_dtls.c:1334,1
    - Dst: dtls1_set_message_header
      Src: /src/openssl/ssl/statem/statem_dtls.c:1337,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/statem_dtls.c:1342,1
    - Dst: WPACKET_start_sub_packet
      Src: /src/openssl/ssl/statem/statem_dtls.c:1343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - pkt
    - htype
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1326
    functionDepth: 4
    functionLinenumber: 1326
    functionLinenumberEnd: 1348
    functionName: dtls1_set_handshake_header
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet
    - WPACKET_put_bytes_u8
    - dtls1_set_message_header_int
    - WPACKET_allocate_bytes
    - dtls1_set_message_header
    linkageType: ''
    returnType: int
    signature: int dtls1_set_handshake_header(SSL_CONNECTION *s, WPACKET *pkt, int
      htype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_dtls.c:1354,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/ssl/statem/statem_dtls.c:1355,1
    - Dst: dtls1_buffer_message
      Src: /src/openssl/ssl/statem/statem_dtls.c:1368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - s
    - pkt
    - htype
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1350
    functionDepth: 4
    functionLinenumber: 1350
    functionLinenumberEnd: 1374
    functionName: dtls1_close_construct_packet
    functionSourceFile: /src/openssl/ssl/statem/statem_dtls.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_length
    - WPACKET_close
    - dtls1_buffer_message
    linkageType: ''
    returnType: int
    signature: int dtls1_close_construct_packet(SSL_CONNECTION *s, WPACKET *pkt, int
      htype)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:51,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:52,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:53,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:59,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/extensions_srvr.c:63,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: tls_parse_ctos_renegotiate
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - memcmp
    - PACKET_get_bytes
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_renegotiate(SSL_CONNECTION *s, PACKET *pkt,\n                               unsigned
      int context,\n                               X509 *x, size_t chainidx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:111,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:113,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:114,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:129,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:131,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:132,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions_srvr.c:140,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:141,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:142,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/openssl/ssl/statem/extensions_srvr.c:146,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:147,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:155,1
    - Dst: PACKET_strndup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:157,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:158,1
    - Dst: PACKET_equal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:170,1
    - Dst: strlen
      Src: /src/openssl/ssl/statem/extensions_srvr.c:171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 175
    functionName: tls_parse_ctos_server_name
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_contains_zero_byte
    - PACKET_as_length_prefixed_2
    - PACKET_get_1
    - PACKET_equal
    - PACKET_remaining
    - OPENSSL_free
    - PACKET_strndup
    - strlen
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_server_name(SSL_CONNECTION *s, PACKET *pkt,\n                               unsigned
      int context, X509 *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:183,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:183,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:184,1
    - Dst: IS_MAX_FRAGMENT_LENGTH_EXT_VALID
      Src: /src/openssl/ssl/statem/extensions_srvr.c:189,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 217
    functionName: tls_parse_ctos_maxfragmentlen
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - IS_MAX_FRAGMENT_LENGTH_EXT_VALID
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_maxfragmentlen(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:225,1
    - Dst: PACKET_contains_zero_byte
      Src: /src/openssl/ssl/statem/extensions_srvr.c:226,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:227,1
    - Dst: PACKET_strndup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:231,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: tls_parse_ctos_srp
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_as_length_prefixed_1
    - SSLfatal
    - PACKET_strndup
    - PACKET_contains_zero_byte
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_srp(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:246,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:247,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:248,1
    - Dst: PACKET_memdup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:253,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 262
    functionName: tls_parse_ctos_ec_pt_formats
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_as_length_prefixed_1
    - PACKET_remaining
    - SSLfatal
    - PACKET_memdup
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_ec_pt_formats(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                unsigned int context,\n                                 X509
      *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION*::ext::session_ticket_cb
      Src: /src/openssl/ssl/statem/extensions_srvr.c:269,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:269,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:270,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:270,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: tls_parse_ctos_session_ticket
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION*::ext::session_ticket_cb
    - PACKET_remaining
    - SSL_CONNECTION_GET_USER_SSL
    - PACKET_data
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_session_ticket(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:286,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:287,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:288,1
    - Dst: tls1_save_sigalgs
      Src: /src/openssl/ssl/statem/extensions_srvr.c:298,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - ossl_unused unsigned
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 304
    functionName: tls_parse_ctos_sig_algs_cert
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - PACKET_as_length_prefixed_2
    - tls1_save_sigalgs
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_sig_algs_cert(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                ossl_unused unsigned int context,\n                                 ossl_unused
      X509 *x,\n                                 ossl_unused size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:311,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:312,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:313,1
    - Dst: tls1_save_sigalgs
      Src: /src/openssl/ssl/statem/extensions_srvr.c:323,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 306
    functionDepth: 5
    functionLinenumber: 306
    functionLinenumberEnd: 329
    functionName: tls_parse_ctos_sig_algs
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    - PACKET_as_length_prefixed_2
    - tls1_save_sigalgs
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_sig_algs(SSL_CONNECTION *s, PACKET *pkt,\n                            unsigned
      int context, X509 *x, size_t chainidx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:346,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:347,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:359,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:360,1
    - Dst: sk_OCSP_RESPID_pop_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:368,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:369,1
    - Dst: sk_OCSP_RESPID_new_null
      Src: /src/openssl/ssl/statem/extensions_srvr.c:370,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:372,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:379,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:384,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:385,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:386,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:390,1
    - Dst: d2i_OCSP_RESPID
      Src: /src/openssl/ssl/statem/extensions_srvr.c:391,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:392,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:394,1
    - Dst: PACKET_end
      Src: /src/openssl/ssl/statem/extensions_srvr.c:398,1
    - Dst: OCSP_RESPID_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:399,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:400,1
    - Dst: sk_OCSP_RESPID_push
      Src: /src/openssl/ssl/statem/extensions_srvr.c:405,1
    - Dst: OCSP_RESPID_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:406,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:407,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:414,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:415,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:419,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:420,1
    - Dst: sk_X509_EXTENSION_pop_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:422,1
    - Dst: d2i_X509_EXTENSIONS
      Src: /src/openssl/ssl/statem/extensions_srvr.c:425,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:425,1
    - Dst: PACKET_end
      Src: /src/openssl/ssl/statem/extensions_srvr.c:426,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:427,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 433
    functionName: tls_parse_ctos_status_request
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - sk_OCSP_RESPID_pop_free
    - SSLfatal
    - OCSP_RESPID_free
    - d2i_X509_EXTENSIONS
    - sk_OCSP_RESPID_push
    - sk_X509_EXTENSION_pop_free
    - PACKET_end
    - sk_OCSP_RESPID_new_null
    - PACKET_as_length_prefixed_2
    - PACKET_get_1
    - PACKET_remaining
    - PACKET_data
    - d2i_OCSP_RESPID
    - PACKET_get_length_prefixed_2
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_status_request(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/extensions_srvr.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 448
    functionName: tls_parse_ctos_npn
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSL_IS_FIRST_HANDSHAKE
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_npn(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/extensions_srvr.c:460,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:463,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:464,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:465,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:472,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:473,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:474,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:477,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:479,1
    - Dst: PACKET_memdup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:482,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 489
    functionName: tls_parse_ctos_alpn
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_memdup
    - PACKET_get_length_prefixed_1
    - PACKET_as_length_prefixed_2
    - PACKET_remaining
    - OPENSSL_free
    - SSL_IS_FIRST_HANDSHAKE
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_alpn(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                        X509 *x, size_t chainidx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/extensions_srvr.c:495,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:499,1
    - Dst: SSL_get_srtp_profiles
      Src: /src/openssl/ssl/statem/extensions_srvr.c:502,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:506,1
    - Dst: PACKET_get_sub_packet
      Src: /src/openssl/ssl/statem/extensions_srvr.c:507,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:508,1
    - Dst: SSL_get_srtp_profiles
      Src: /src/openssl/ssl/statem/extensions_srvr.c:513,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_num
      Src: /src/openssl/ssl/statem/extensions_srvr.c:516,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:518,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:519,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:520,1
    - Dst: sk_SRTP_PROTECTION_PROFILE_value
      Src: /src/openssl/ssl/statem/extensions_srvr.c:533,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:544,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:545,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/extensions_srvr.c:550,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:551,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:552,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 557
    functionName: tls_parse_ctos_use_srtp
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_get_sub_packet
    - SSL_get_srtp_profiles
    - SSLfatal
    - sk_SRTP_PROTECTION_PROFILE_num
    - PACKET_get_net_2
    - PACKET_get_1
    - SSL_CONNECTION_GET_SSL
    - STACK_OF
    - PACKET_remaining
    - PACKET_forward
    - sk_SRTP_PROTECTION_PROFILE_value
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_use_srtp(SSL_CONNECTION *s, PACKET *pkt,\n                            unsigned
      int context, X509 *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: tls_parse_ctos_etm
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_etm(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:581,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:582,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:583,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 612
    functionName: tls_parse_ctos_psk_kex_modes
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_as_length_prefixed_1
    - PACKET_remaining
    - SSLfatal
    - PACKET_get_1
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_psk_kex_modes(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                unsigned int context,\n                                 X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_generate_param_group
      Src: /src/openssl/ssl/statem/extensions_srvr.c:632,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:633,1
    - Dst: tls13_set_encoded_pub_key
      Src: /src/openssl/ssl/statem/extensions_srvr.c:638,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:639,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:640,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - s
    - ksgroup
    - encoded_pubkey
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 625
    functionDepth: 11
    functionLinenumber: 625
    functionLinenumberEnd: 645
    functionName: tls_accept_ksgroup
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_remaining
    - tls13_set_encoded_pub_key
    - PACKET_data
    - ssl_generate_param_group
    linkageType: ''
    returnType: int
    signature: int tls_accept_ksgroup(SSL_CONNECTION *s, uint16_t ksgroup, PACKET
      *encoded_pubkey)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/statem/extensions_srvr.c:667,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:670,1
    - Dst: OPENSSL_malloc_array
      Src: /src/openssl/ssl/statem/extensions_srvr.c:673,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:676,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:680,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:682,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:683,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:684,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:685,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:695,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:696,1
    - Dst: check_in_list
      Src: /src/openssl/ssl/statem/extensions_srvr.c:708,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:709,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:714,1
    - Dst: tls_accept_ksgroup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:725,1
    - Dst: check_in_list
      Src: /src/openssl/ssl/statem/extensions_srvr.c:735,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/statem/extensions_srvr.c:736,1
    - Dst: tls_valid_group
      Src: /src/openssl/ssl/statem/extensions_srvr.c:737,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/statem/extensions_srvr.c:755,1
    - Dst: OPENSSL_realloc_array
      Src: /src/openssl/ssl/statem/extensions_srvr.c:763,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:778,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:779,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 10
    argNames:
    - s
    - key_share_list
    - clntgroups
    - clnt_num_groups
    - srvrgroups
    - srvr_num_groups
    - keyshares_arr
    - encoded_pubkey_arr
    - keyshares_cnt
    - keyshares_max
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t**
    - PACKET**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 655
    functionDepth: 12
    functionLinenumber: 655
    functionLinenumberEnd: 781
    functionName: extract_keyshares
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - OSSL_TRACE1
    - tls_accept_ksgroup
    - tls_group_allowed
    - OPENSSL_malloc_array
    - PACKET_get_net_2
    - OPENSSL_realloc_array
    - PACKET_remaining
    - OPENSSL_free
    - check_in_list
    - PACKET_get_length_prefixed_2
    - tls_valid_group
    linkageType: ''
    returnType: KS_EXTRACTION_RESULT
    signature: "KS_EXTRACTION_RESULT extract_keyshares(SSL_CONNECTION *s, PACKET *key_share_list,\n
      \                                             const uint16_t *clntgroups, size_t
      clnt_num_groups,\n                                              const uint16_t
      *srvrgroups, size_t srvr_num_groups,\n                                              uint16_t
      **keyshares_arr, PACKET **encoded_pubkey_arr,\n                                              size_t
      *keyshares_cnt, size_t *keyshares_max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_in_list
      Src: /src/openssl/ssl/statem/extensions_srvr.c:806,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/statem/extensions_srvr.c:808,1
    - Dst: tls_valid_group
      Src: /src/openssl/ssl/statem/extensions_srvr.c:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 8
    argNames:
    - s
    - prio_groups
    - prio_num_groups
    - candidate_groups
    - candidate_num_groups
    - prio_group_idx
    - candidate_group_idx
    - selected_group
    argTypes:
    - SSL_CONNECTION*
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - int*
    - int*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 791
    functionDepth: 3
    functionLinenumber: 791
    functionLinenumberEnd: 826
    functionName: check_overlap
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - check_in_list
    - tls_valid_group
    - tls_group_allowed
    linkageType: ''
    returnType: void
    signature: "void check_overlap(SSL_CONNECTION *s,\n                          const
      uint16_t *prio_groups, size_t prio_num_groups,\n                          const
      uint16_t *candidate_groups, size_t candidate_num_groups,\n                          int
      *prio_group_idx, int *candidate_group_idx,\n                          uint16_t
      *selected_group)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:854,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:858,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:859,1
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/statem/extensions_srvr.c:864,1
    - Dst: tls1_get_group_tuples
      Src: /src/openssl/ssl/statem/extensions_srvr.c:865,1
    - Dst: tls1_get_peer_groups
      Src: /src/openssl/ssl/statem/extensions_srvr.c:867,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:875,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:880,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:886,1
    - Dst: extract_keyshares
      Src: /src/openssl/ssl/statem/extensions_srvr.c:891,1
    - Dst: check_overlap
      Src: /src/openssl/ssl/statem/extensions_srvr.c:929,1
    - Dst: tls_accept_ksgroup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:935,1
    - Dst: check_overlap
      Src: /src/openssl/ssl/statem/extensions_srvr.c:945,1
    - Dst: check_overlap
      Src: /src/openssl/ssl/statem/extensions_srvr.c:969,1
    - Dst: tls_accept_ksgroup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:975,1
    - Dst: check_overlap
      Src: /src/openssl/ssl/statem/extensions_srvr.c:979,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:999,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1000,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 829
    functionDepth: 13
    functionLinenumber: 829
    functionLinenumberEnd: 1006
    functionName: tls_parse_ctos_key_share
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - check_overlap
    - tls1_get_supported_groups
    - tls_accept_ksgroup
    - PACKET_as_length_prefixed_2
    - PACKET_remaining
    - OPENSSL_free
    - tls1_get_group_tuples
    - extract_keyshares
    - tls1_get_peer_groups
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_key_share(SSL_CONNECTION *s, PACKET *pkt,\n                             unsigned
      int context, X509 *x, size_t chainidx)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1022,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1023,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1030,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1031,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1036,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1037,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1039,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1040,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1043,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1046,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1047,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1052,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1053,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1054,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1059,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1061,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1064,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1065,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1066,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1070,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1071,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1073,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1074,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1078,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1079,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1092,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1093,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1097,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1102,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1103,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1107,1
    - Dst: PACKET_forward
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1108,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1109,1
    - Dst: ssl_get_cipher_by_char
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1114,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1119,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1123,1
    - Dst: PACKET_get_net_8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1124,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1125,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1126,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1127,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1128,1
    - Dst: time
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1133,1
    - Dst: SSL_CTX*::verify_stateless_cookie_cb
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1140,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1140,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1141,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1142,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1143,1
    - Dst: WPACKET_init_static_len
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1152,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1153,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1156,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1157,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1158,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1159,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1160,1
    - Dst: SSL*::method::put_cipher_by_char
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1162,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1164,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1165,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1166,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1167,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1170,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1171,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1172,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1173,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1174,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1175,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1179,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1180,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1181,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1182,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1183,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1184,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1188,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1189,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1190,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1191,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1192,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1193,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1194,1
    - Dst: WPACKET_finish
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1195,1
    - Dst: WPACKET_cleanup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1196,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1197,1
    - Dst: create_synthetic_message_hash
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1202,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1202,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1203,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 107
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1008
    functionDepth: 8
    functionLinenumber: 1008
    functionLinenumberEnd: 1216
    functionName: tls_parse_ctos_cookie
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - PACKET_get_net_2
    - WPACKET_start_sub_packet_u24
    - CRYPTO_memcmp
    - EVP_DigestSign
    - PACKET_data
    - PACKET_get_length_prefixed_2
    - EVP_PKEY_new_raw_private_key_ex
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - EVP_PKEY_free
    - WPACKET_sub_memcpy_u16
    - SSL*::method::put_cipher_by_char
    - WPACKET_memcpy
    - time
    - ssl_get_cipher_by_char
    - WPACKET_cleanup
    - PACKET_get_length_prefixed_1
    - SSL_CONNECTION_GET_SSL
    - EVP_DigestSignInit_ex
    - SSL_CONNECTION_GET_USER_SSL
    - PACKET_forward
    - WPACKET_sub_memcpy_u8
    - SSL_CONNECTION_GET_CTX
    - PACKET_get_net_8
    - create_synthetic_message_hash
    - WPACKET_init_static_len
    - WPACKET_start_sub_packet_u16
    - WPACKET_finish
    - PACKET_as_length_prefixed_2
    - EVP_MD_CTX_create
    - EVP_MD_CTX_free
    - PACKET_remaining
    - PACKET_get_1
    - WPACKET_get_total_written
    - SSL_CTX*::verify_stateless_cookie_cb
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_cookie(SSL_CONNECTION *s, PACKET *pkt, unsigned
      int context,\n                          X509 *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1225,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1226,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1227,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1228,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1232,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1233,1
    - Dst: tls1_save_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1236,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1218
    functionDepth: 4
    functionLinenumber: 1218
    functionLinenumberEnd: 1245
    functionName: tls_parse_ctos_supported_groups
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls1_save_u16
    - PACKET_as_length_prefixed_2
    - OPENSSL_free
    - PACKET_remaining
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_supported_groups(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                   unsigned int context,\n                                    X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1251,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1262
    functionName: tls_parse_ctos_ems
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_ems(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1268,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1269,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1279
    functionName: tls_parse_ctos_early_data
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_early_data(SSL_CONNECTION *s, PACKET *pkt, unsigned
      int context,\n                              X509 *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1288,1
    - Dst: lookup_sess_in_cache
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1299,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - s
    - tick
    - sess
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - SSL_SESSION**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1307
    functionName: tls_get_stateful_ticket
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - PACKET_data
    - lookup_sess_in_cache
    linkageType: ''
    returnType: SSL_TICKET_STATUS
    signature: "SSL_TICKET_STATUS tls_get_stateful_ticket(SSL_CONNECTION *s, PACKET
      *tick,\n                                                 SSL_SESSION **sess)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1318,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1319,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1329,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1330,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1335,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1340,1
    - Dst: PACKET_get_net_4
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1341,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1342,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1346,1
    - Dst: SSL_CONNECTION*::psk_find_session_cb
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1348,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1348,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1350,1
    - Dst: PACKET_strndup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1362,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1363,1
    - Dst: SSL_CONNECTION*::psk_server_callback
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1366,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1368,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1370,1
    - Dst: SSL_CIPHER_find
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1380,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1380,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1383,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1384,1
    - Dst: SSL_SESSION_new
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1388,1
    - Dst: SSL_SESSION_set1_master_key
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1390,1
    - Dst: SSL_SESSION_set_cipher
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1392,1
    - Dst: SSL_SESSION_set_protocol_version
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1393,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1395,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1396,1
    - Dst: OPENSSL_cleanse
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1399,1
    - Dst: ssl_session_dup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1406,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1409,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1412,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1419,1
    - Dst: tls_get_stateful_ticket
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1437,1
    - Dst: tls_decrypt_ticket
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1439,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1439,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1440,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1444,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1450,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1459,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1460,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1465,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1465,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1466,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1467,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1467,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1478,1
    - Dst: ossl_ms2time
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1478,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1481,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1482,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1483,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1483,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1493,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1495,1
    - Dst: EVP_MD_is_a
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1498,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1499,1
    - Dst: ssl_md
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1499,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1502,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1514,1
    - Dst: EVP_MD_get_size
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1515,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1519,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1520,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1525,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1526,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1531,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1532,1
    - Dst: tls_psk_do_binder
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1535,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1536,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1544,1
    - Dst: SSL_SESSION_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1548,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 137
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1309
    functionDepth: 9
    functionLinenumber: 1309
    functionLinenumberEnd: 1550
    functionName: tls_parse_ctos_psk
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_psk_do_binder
    - memcpy
    - ossl_ms2time
    - EVP_MD_is_a
    - OPENSSL_free
    - SSL_CONNECTION*::psk_find_session_cb
    - PACKET_data
    - SSL_SESSION_new
    - PACKET_get_length_prefixed_2
    - ssl_md
    - tls_decrypt_ticket
    - SSL_CIPHER_find
    - ossl_time_now
    - tls_get_stateful_ticket
    - SSL_SESSION_free
    - SSL_SESSION_set_protocol_version
    - PACKET_get_length_prefixed_1
    - PACKET_get_net_4
    - EVP_MD_get0_name
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_GET_USER_SSL
    - ossl_time_subtract
    - SSL_CONNECTION_GET_CTX
    - ossl_time_add
    - ssl_session_dup
    - SSL_CTX_remove_session
    - EVP_MD_get_size
    - ossl_time_compare
    - PACKET_remaining
    - SSL_CONNECTION*::psk_server_callback
    - SSL_SESSION_set1_master_key
    - PACKET_strndup
    - SSL_SESSION_set_cipher
    - OPENSSL_cleanse
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int
      context,\n                       X509 *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1557,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - ossl_unused unsigned
    - ossl_unused*
    - ossl_unused
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1566
    functionName: tls_parse_ctos_post_handshake_auth
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - PACKET_remaining
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_post_handshake_auth(SSL_CONNECTION *s, PACKET *pkt,\n
      \                                      ossl_unused unsigned int context,\n                                       ossl_unused
      X509 *x,\n                                       ossl_unused size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1579,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1580,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1581,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1582,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1584,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1586,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1587,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1571
    functionDepth: 4
    functionLinenumber: 1571
    functionLinenumberEnd: 1593
    functionName: tls_construct_stoc_renegotiate
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_start_sub_packet_u8
    - WPACKET_memcpy
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_renegotiate(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                          unsigned int context, X509
      *x,\n                                          size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1606,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1609,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1610,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1616
    functionName: tls_construct_stoc_server_name
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - SSL_CONNECTION_IS_TLS13
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_server_name(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                          unsigned int context, X509
      *x,\n                                          size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: USE_MAX_FRAGMENT_LENGTH_EXT
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1623,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1630,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1631,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1632,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1633,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1619
    functionDepth: 4
    functionLinenumber: 1619
    functionLinenumberEnd: 1639
    functionName: tls_construct_stoc_maxfragmentlen
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - USE_MAX_FRAGMENT_LENGTH_EXT
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_maxfragmentlen(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                             unsigned int context, X509
      *x,\n                                             size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls1_get_formatlist
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1655,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1656,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1657,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1658,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1659,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1660,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1641
    functionDepth: 4
    functionLinenumber: 1641
    functionLinenumberEnd: 1665
    functionName: tls_construct_stoc_ec_pt_formats
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - tls1_get_formatlist
    - WPACKET_close
    - WPACKET_sub_memcpy_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_ec_pt_formats(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                            unsigned int context, X509
      *x,\n                                            size_t chainidx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tls1_get_supported_groups
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1680,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1682,1
    - Dst: SSL_version
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1687,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1687,1
    - Dst: tls_valid_group
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1691,1
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1692,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1702,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1704,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1705,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1706,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1712,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1713,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1719,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1719,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1720,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1667
    functionDepth: 4
    functionLinenumber: 1667
    functionLinenumberEnd: 1725
    functionName: tls_construct_stoc_supported_groups
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - tls1_get_supported_groups
    - tls_group_allowed
    - SSL_version
    - WPACKET_close
    - SSL_CONNECTION_GET_SSL
    - tls_valid_group
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_supported_groups(SSL_CONNECTION *s,
      WPACKET *pkt,\n                                               unsigned int context,
      X509 *x,\n                                               size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tls_use_ticket
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1731,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1736,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1737,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1727
    functionDepth: 3
    functionLinenumber: 1727
    functionLinenumberEnd: 1743
    functionName: tls_construct_stoc_session_ticket
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - tls_use_ticket
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_session_ticket(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                             unsigned int context, X509
      *x,\n                                             size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1757,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1758,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1759,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1768,1
    - Dst: tls_construct_cert_status_body
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1769,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1773,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1774,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1779
      start: 1746
    functionDepth: 4
    functionLinenumber: 1746
    functionLinenumberEnd: 1779
    functionName: tls_construct_stoc_status_request
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - tls_construct_cert_status_body
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_status_request(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                             unsigned int context, X509
      *x,\n                                             size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1791,1
    - Dst: SSL_CTX*::ext::npn_advertised_cb
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1797,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1797,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1800,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1801,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1810
    functionName: tls_construct_stoc_next_proto_neg
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - SSL_CTX*::ext::npn_advertised_cb
    - WPACKET_sub_memcpy_u16
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_CONNECTION_GET_CTX
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_next_proto_neg(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                             unsigned int context, X509
      *x,\n                                             size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1819,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1821,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1822,1
    - Dst: WPACKET_sub_memcpy_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1823,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1825,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1826,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1827,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1813
    functionDepth: 4
    functionLinenumber: 1813
    functionLinenumberEnd: 1832
    functionName: tls_construct_stoc_alpn
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_sub_memcpy_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_alpn(SSL_CONNECTION *s, WPACKET *pkt,
      unsigned int context,\n                                   X509 *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1842,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1843,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1844,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1845,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1846,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1847,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1848,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1835
    functionDepth: 4
    functionLinenumber: 1835
    functionLinenumberEnd: 1853
    functionName: tls_construct_stoc_use_srtp
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - WPACKET_close
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_use_srtp(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                       unsigned int context, X509 *x,\n
      \                                      size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1877,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1878,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1879,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1884
    functionName: tls_construct_stoc_etm
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_etm(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1893,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1894,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1900
    functionName: tls_construct_stoc_ems
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_ems(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1906,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1906,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1907,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1911,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1912,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1913,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1914,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1902
    functionDepth: 4
    functionLinenumber: 1902
    functionLinenumberEnd: 1920
    functionName: tls_construct_stoc_supported_versions
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - ossl_assert
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_supported_versions(SSL_CONNECTION *s,
      WPACKET *pkt,\n                                                 unsigned int
      context, X509 *x,\n                                                 size_t chainidx)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1937,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1938,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1939,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1940,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1941,1
    - Dst: tls13_generate_handshake_secret
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1950,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1951,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1967,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1968,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1969,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1970,1
    - Dst: tls1_group_id_lookup
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1974,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1974,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1976,1
    - Dst: ssl_generate_pkey
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1982,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1984,1
    - Dst: EVP_PKEY_get1_encoded_public_key
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1989,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1991,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1992,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1996,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1997,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1998,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:1999,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2000,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2003,1
    - Dst: ssl_derive
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2009,1
    - Dst: ssl_encapsulate
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2024,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2030,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2031,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2035,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2036,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2037,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2038,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2041,1
    - Dst: ssl_gensecret
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2046,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 1922
    functionDepth: 13
    functionLinenumber: 1922
    functionLinenumberEnd: 2056
    functionName: tls_construct_stoc_key_share
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - ssl_derive
    - EVP_PKEY_get1_encoded_public_key
    - WPACKET_close
    - EVP_PKEY_free
    - WPACKET_sub_memcpy_u16
    - OPENSSL_free
    - ssl_gensecret
    - ssl_encapsulate
    - tls1_group_id_lookup
    - tls13_generate_handshake_secret
    - SSL_CONNECTION_GET_CTX
    - ssl_generate_pkey
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_key_share(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                        unsigned int context, X509 *x,\n
      \                                       size_t chainidx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2069,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2070,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2071,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2077,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2081,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2082,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2083,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2084,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2085,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2086,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2087,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2088,1
    - Dst: SSL*::method::put_cipher_by_char
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2089,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2092,1
    - Dst: WPACKET_put_bytes_u64
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2093,1
    - Dst: time
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2093,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2094,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2095,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2096,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2105,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2106,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2111,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2112,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2113,1
    - Dst: WPACKET_start_sub_packet_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2114,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2115,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2116,1
    - Dst: SSL_CTX*::gen_stateless_cookie_cb
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2121,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2123,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2127,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2128,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2129,1
    - Dst: WPACKET_get_total_written
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2130,1
    - Dst: WPACKET_reserve_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2131,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2132,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2138,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2139,1
    - Dst: EVP_MD_CTX_create
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2144,1
    - Dst: EVP_PKEY_new_raw_private_key_ex
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2145,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2150,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2154,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2156,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2158,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2162,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2163,1
    - Dst: WPACKET_allocate_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2167,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2168,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2169,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2170,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2171,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2172,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2179,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2180,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 61
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2058
    functionDepth: 8
    functionLinenumber: 2058
    functionLinenumberEnd: 2185
    functionName: tls_construct_stoc_cookie
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - EVP_DigestSign
    - WPACKET_allocate_bytes
    - SSL_CTX*::gen_stateless_cookie_cb
    - ossl_assert
    - EVP_PKEY_new_raw_private_key_ex
    - WPACKET_put_bytes_u8
    - WPACKET_close
    - EVP_PKEY_free
    - ssl_handshake_hash
    - WPACKET_reserve_bytes
    - SSL*::method::put_cipher_by_char
    - time
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_GET_USER_SSL
    - EVP_DigestSignInit_ex
    - ssl3_digest_cached_records
    - SSL_CONNECTION_GET_CTX
    - WPACKET_start_sub_packet_u16
    - WPACKET_put_bytes_u64
    - EVP_MD_CTX_create
    - EVP_MD_CTX_free
    - WPACKET_get_total_written
    - WPACKET_start_sub_packet_u8
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_cookie(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                    unsigned int context,\n                                     X509
      *x, size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_options
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2202,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2202,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2206,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2187
    functionDepth: 3
    functionLinenumber: 2187
    functionLinenumberEnd: 2212
    functionName: tls_construct_stoc_cryptopro_bug
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - SSLfatal
    - SSL_get_options
    - WPACKET_memcpy
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_cryptopro_bug(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                            unsigned int context, X509
      *x,\n                                            size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2222,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2223,1
    - Dst: WPACKET_put_bytes_u32
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2224,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2225,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2226,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2236,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2237,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2238,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2214
    functionDepth: 4
    functionLinenumber: 2214
    functionLinenumberEnd: 2244
    functionName: tls_construct_stoc_early_data
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - WPACKET_put_bytes_u32
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_early_data(SSL_CONNECTION *s, WPACKET
      *pkt,\n                                         unsigned int context, X509 *x,\n
      \                                        size_t chainidx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2253,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2254,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2255,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2256,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - s
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2246
    functionDepth: 4
    functionLinenumber: 2246
    functionLinenumberEnd: 2262
    functionName: tls_construct_stoc_psk
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_close
    - WPACKET_put_bytes_u16
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_psk(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                 unsigned int context,\n                                  X509
      *x, size_t chainidx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: send_certificate_request
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2269,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2272,1
    - Dst: send_certificate_request
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2285,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2294,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2295,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2296,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2297,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2264
    functionDepth: 4
    functionLinenumber: 2264
    functionLinenumberEnd: 2302
    functionName: tls_construct_stoc_client_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - WPACKET_close
    - send_certificate_request
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_client_cert_type(SSL_CONNECTION *sc,
      WPACKET *pkt,\n                                               unsigned int context,\n
      \                                              X509 *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - pref
    - pref_len
    - other
    - other_len
    - chosen_cert_type
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2305
    functionDepth: 0
    functionLinenumber: 2305
    functionLinenumberEnd: 2318
    functionName: reconcile_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: int
    signature: "int reconcile_cert_type(const unsigned char *pref, size_t pref_len,\n
      \                              const unsigned char *other, size_t other_len,\n
      \                              uint8_t *chosen_cert_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2335,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2337,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2340,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2342,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2345,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2347,1
    - Dst: reconcile_cert_type
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2320
    functionDepth: 4
    functionLinenumber: 2320
    functionLinenumberEnd: 2357
    functionName: tls_parse_ctos_client_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_get_bytes
    - reconcile_cert_type
    - PACKET_as_length_prefixed_1
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_client_cert_type(SSL_CONNECTION *sc, PACKET *pkt,\n
      \                                   unsigned int context,\n                                    X509
      *x, size_t chainidx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2375,1
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2376,1
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2377,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2378,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2359
    functionDepth: 4
    functionLinenumber: 2359
    functionLinenumberEnd: 2383
    functionName: tls_construct_stoc_server_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - WPACKET_put_bytes_u8
    - WPACKET_put_bytes_u16
    - WPACKET_close
    linkageType: ''
    returnType: EXT_RETURN
    signature: "EXT_RETURN tls_construct_stoc_server_cert_type(SSL_CONNECTION *sc,
      WPACKET *pkt,\n                                               unsigned int context,\n
      \                                              X509 *x, size_t chainidx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2400,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2401,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2405,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2406,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2409,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2410,1
    - Dst: reconcile_cert_type
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2414,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/extensions_srvr.c:2421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - sc
    - pkt
    - context
    - x
    - chainidx
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - unsigned int
    - X509*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2385
    functionDepth: 4
    functionLinenumber: 2385
    functionLinenumberEnd: 2423
    functionName: tls_parse_ctos_server_cert_type
    functionSourceFile: /src/openssl/ssl/statem/extensions_srvr.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - PACKET_get_bytes
    - reconcile_cert_type
    - PACKET_as_length_prefixed_1
    - PACKET_remaining
    linkageType: ''
    returnType: int
    signature: "int tls_parse_ctos_server_cert_type(SSL_CONNECTION *sc, PACKET *pkt,\n
      \                                   unsigned int context,\n                                    X509
      *x, size_t chainidx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_FROM_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - s
    - mutate_handshake_cb
    - finish_mutate_handshake_cb
    - mutatearg
    argTypes:
    - SSL*
    - ossl_statem_mutate_handshake_cb
    - ossl_statem_finish_mutate_handshake_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: ossl_statem_set_mutator
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_FROM_SSL
    linkageType: ''
    returnType: int
    signature: "int ossl_statem_set_mutator(SSL *s,\n                            ossl_statem_mutate_handshake_cb
      mutate_handshake_cb,\n                            ossl_statem_finish_mutate_handshake_cb
      finish_mutate_handshake_cb,\n                            void *mutatearg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:66,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:67,1
    - Dst: SSL_CONNECTION*::statem::mutate_handshake_cb
      Src: /src/openssl/ssl/statem/statem_lib.c:80,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/ssl/statem/statem_lib.c:86,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:88,1
    - Dst: SSL_CONNECTION*::statem::finish_mutate_handshake_cb
      Src: /src/openssl/ssl/statem/statem_lib.c:91,1
    - Dst: ssl3_write_bytes
      Src: /src/openssl/ssl/statem/statem_lib.c:95,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:105,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:109,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/statem/statem_lib.c:116,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - s
    - type
    argTypes:
    - SSL_CONNECTION*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 124
    functionName: ssl3_do_write
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSL_CONNECTION*::statem::mutate_handshake_cb
    - ssl3_finish_mac
    - memcpy
    - SSL_CONNECTION_IS_TLS13
    - SSL_CONNECTION*::statem::finish_mutate_handshake_cb
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION_GET_USER_SSL
    - ssl3_write_bytes
    - BUF_MEM_grow
    linkageType: ''
    returnType: int
    signature: int ssl3_do_write(SSL_CONNECTION *s, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_lib.c:130,1
    - Dst: WPACKET_get_length
      Src: /src/openssl/ssl/statem/statem_lib.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - s
    - pkt
    - htype
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: tls_close_construct_packet
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - WPACKET_get_length
    - WPACKET_close
    linkageType: ''
    returnType: int
    signature: int tls_close_construct_packet(SSL_CONNECTION *s, WPACKET *pkt, int
      htype)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:143,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_lib.c:144,1
    - Dst: ssl3_init_finished_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:146,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_lib.c:152,1
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/statem/statem_lib.c:154,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:155,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:162,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:166,1
    - Dst: SSLfatal_data
      Src: /src/openssl/ssl/statem/statem_lib.c:167,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:179,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:181,1
    - Dst: SSL_set_min_proto_version
      Src: /src/openssl/ssl/statem/statem_lib.c:182,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:185,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_lib.c:192,1
    - Dst: SSL_get_ciphers
      Src: /src/openssl/ssl/statem/statem_lib.c:192,1
    - Dst: sk_SSL_CIPHER_num
      Src: /src/openssl/ssl/statem/statem_lib.c:200,1
    - Dst: sk_SSL_CIPHER_value
      Src: /src/openssl/ssl/statem/statem_lib.c:201,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:202,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:204,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:207,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:208,1
    - Dst: SSLfatal_data
      Src: /src/openssl/ssl/statem/statem_lib.c:214,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:220,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/statem_lib.c:222,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/statem_lib.c:225,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:230,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/statem_lib.c:231,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/statem_lib.c:233,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_lib.c:237,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:242,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 247
    functionName: tls_setup_handshake
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 3
    functionsReached:
    - SSLfatal
    - memset
    - ssl_get_min_max_version
    - SSL_set_min_proto_version
    - ssl_tsan_counter
    - sk_SSL_CIPHER_value
    - SSL_CONNECTION_GET_SSL
    - STACK_OF
    - ssl3_init_finished_mac
    - sk_SSL_CIPHER_num
    - SSL_CONNECTION_IS_DTLS
    - SSL_get_ciphers
    - SSL_CONNECTION_GET_CTX
    - SSL_IS_FIRST_HANDSHAKE
    - ssl_version_cmp
    - SSLfatal_data
    linkageType: ''
    returnType: int
    signature: int tls_setup_handshake(SSL_CONNECTION *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:266,1
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_lib.c:270,1
    - Dst: strcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:274,1
    - Dst: strcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:276,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:285,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/statem/statem_lib.c:288,1
    - Dst: BIO_get_mem_data
      Src: /src/openssl/ssl/statem/statem_lib.c:300,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - s
    - tls13tbs
    - hdata
    - hdatalen
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 309
    functionName: get_cert_verify_tbs_data
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - strcpy
    - SSLfatal
    - memset
    - memcpy
    - BIO_get_mem_data
    - ssl_handshake_hash
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: "int get_cert_verify_tbs_data(SSL_CONNECTION *s, unsigned char *tls13tbs,\n
      \                                   void **hdata, size_t *hdatalen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_lib.c:322,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:325,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/statem/statem_lib.c:330,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:331,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/statem_lib.c:335,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:337,1
    - Dst: get_cert_verify_tbs_data
      Src: /src/openssl/ssl/statem/statem_lib.c:342,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_lib.c:347,1
    - Dst: WPACKET_put_bytes_u16
      Src: /src/openssl/ssl/statem/statem_lib.c:347,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:348,1
    - Dst: EVP_DigestSignInit_ex
      Src: /src/openssl/ssl/statem/statem_lib.c:352,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/statem_lib.c:353,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:356,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/ssl/statem/statem_lib.c:361,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/openssl/ssl/statem/statem_lib.c:362,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:364,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/openssl/ssl/statem/statem_lib.c:373,1
    - Dst: EVP_MD_CTX_ctrl
      Src: /src/openssl/ssl/statem/statem_lib.c:374,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/ssl/statem/statem_lib.c:377,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:379,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_lib.c:382,1
    - Dst: EVP_DigestSignFinal
      Src: /src/openssl/ssl/statem/statem_lib.c:384,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:385,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/ssl/statem/statem_lib.c:393,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:394,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_lib.c:397,1
    - Dst: EVP_DigestSign
      Src: /src/openssl/ssl/statem/statem_lib.c:399,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:400,1
    - Dst: BUF_reverse
      Src: /src/openssl/ssl/statem/statem_lib.c:412,1
    - Dst: WPACKET_sub_memcpy_u16
      Src: /src/openssl/ssl/statem/statem_lib.c:416,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:417,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_lib.c:422,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_lib.c:427,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:428,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_lib.c:431,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:432,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 84
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 311
    functionDepth: 8
    functionLinenumber: 311
    functionLinenumberEnd: 434
    functionName: tls_construct_cert_verify
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u16
    - OPENSSL_free
    - EVP_DigestSign
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - get_cert_verify_tbs_data
    - EVP_DigestSignUpdate
    - WPACKET_sub_memcpy_u16
    - OPENSSL_malloc
    - EVP_MD_CTX_ctrl
    - EVP_PKEY_CTX_set_rsa_padding
    - BUF_reverse
    - EVP_MD_get0_name
    - EVP_DigestSignInit_ex
    - ssl3_digest_cached_records
    - SSL_CONNECTION_GET_CTX
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - tls1_lookup_md
    - EVP_DigestSignFinal
    - SSL_USE_SIGALGS
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_cert_verify(SSL_CONNECTION *s, WPACKET
      *pkt)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/statem_lib.c:450,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_lib.c:452,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:455,1
    - Dst: tls_get_peer_pkey
      Src: /src/openssl/ssl/statem/statem_lib.c:459,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:461,1
    - Dst: ssl_cert_lookup_by_pkey
      Src: /src/openssl/ssl/statem/statem_lib.c:465,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:466,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_lib.c:471,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_lib.c:474,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:475,1
    - Dst: tls12_check_peer_sigalg
      Src: /src/openssl/ssl/statem/statem_lib.c:478,1
    - Dst: tls1_set_peer_legacy_sigalg
      Src: /src/openssl/ssl/statem/statem_lib.c:482,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:483,1
    - Dst: tls1_lookup_md
      Src: /src/openssl/ssl/statem/statem_lib.c:488,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:489,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_lib.c:493,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/ssl/statem/statem_lib.c:494,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/statem_lib.c:495,1
    - Dst: SSL_USE_SIGALGS
      Src: /src/openssl/ssl/statem/statem_lib.c:503,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:504,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/ssl/statem/statem_lib.c:505,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/ssl/statem/statem_lib.c:506,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:507,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/ssl/statem/statem_lib.c:508,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:509,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_lib.c:512,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:513,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_lib.c:517,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:518,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:521,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:522,1
    - Dst: get_cert_verify_tbs_data
      Src: /src/openssl/ssl/statem/statem_lib.c:526,1
    - Dst: OSSL_TRACE1
      Src: /src/openssl/ssl/statem/statem_lib.c:531,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/statem_lib.c:532,1
    - Dst: EVP_DigestVerifyInit_ex
      Src: /src/openssl/ssl/statem/statem_lib.c:534,1
    - Dst: EVP_MD_get0_name
      Src: /src/openssl/ssl/statem/statem_lib.c:535,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:538,1
    - Dst: EVP_PKEY_get_id
      Src: /src/openssl/ssl/statem/statem_lib.c:543,1
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_lib.c:547,1
    - Dst: BUF_reverse
      Src: /src/openssl/ssl/statem/statem_lib.c:549,1
    - Dst: SSL_USE_PSS
      Src: /src/openssl/ssl/statem/statem_lib.c:555,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/openssl/ssl/statem/statem_lib.c:556,1
    - Dst: EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/openssl/ssl/statem/statem_lib.c:557,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:559,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/openssl/ssl/statem/statem_lib.c:564,1
    - Dst: EVP_MD_CTX_ctrl
      Src: /src/openssl/ssl/statem/statem_lib.c:565,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:568,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/openssl/ssl/statem/statem_lib.c:571,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:572,1
    - Dst: EVP_DigestVerify
      Src: /src/openssl/ssl/statem/statem_lib.c:576,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:579,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:583,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:596,1
    - Dst: BIO_free
      Src: /src/openssl/ssl/statem/statem_lib.c:601,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:603,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_lib.c:605,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 114
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 436
    functionDepth: 8
    functionLinenumber: 436
    functionLinenumberEnd: 608
    functionName: tls_process_cert_verify
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - EVP_DigestVerify
    - SSLfatal
    - tls_get_peer_pkey
    - PACKET_get_bytes
    - PACKET_get_net_2
    - EVP_PKEY_get_id
    - OPENSSL_free
    - EVP_DigestVerifyUpdate
    - SSL_USE_PSS
    - SSL_IS_QUIC_HANDSHAKE
    - EVP_PKEY_CTX_set_rsa_pss_saltlen
    - get_cert_verify_tbs_data
    - tls1_set_peer_legacy_sigalg
    - EVP_DigestVerifyFinal
    - OPENSSL_malloc
    - OSSL_TRACE1
    - EVP_MD_CTX_ctrl
    - EVP_PKEY_CTX_set_rsa_padding
    - tls12_check_peer_sigalg
    - BUF_reverse
    - BIO_free
    - EVP_MD_get0_name
    - SSL_CONNECTION_GET_CTX
    - ssl_cert_lookup_by_pkey
    - SSL_CONNECTION_IS_TLS13
    - EVP_DigestVerifyInit_ex
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - PACKET_remaining
    - tls1_lookup_md
    - SSL_USE_SIGALGS
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_cert_verify(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:615,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:627,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:629,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_lib.c:633,1
    - Dst: SSL*::method::ssl3_enc::final_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:647,1
    - Dst: WPACKET_memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:657,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:658,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:666,1
    - Dst: ssl_log_secret
      Src: /src/openssl/ssl/statem/statem_lib.c:667,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_lib.c:676,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:677,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:681,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:685,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 691
    functionName: tls_construct_finished
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ossl_assert
    - SSL*::method::ssl3_enc::final_finish_mac
    - memcpy
    - SSL*::method::ssl3_enc::change_cipher_state
    - SSL_CONNECTION_GET_SSL
    - ssl_log_secret
    - SSL_CONNECTION_IS_TLS13
    - WPACKET_memcpy
    - SSL_IS_QUIC_HANDSHAKE
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_finished(SSL_CONNECTION *s, WPACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_lib.c:695,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 702
    functionName: tls_construct_key_update
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u8
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_key_update(SSL_CONNECTION *s, WPACKET
      *pkt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RECORD_LAYER_processed_read_pending
      Src: /src/openssl/ssl/statem/statem_lib.c:712,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:713,1
    - Dst: PACKET_get_1
      Src: /src/openssl/ssl/statem/statem_lib.c:717,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:718,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:719,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:729,1
    - Dst: tls13_update_key
      Src: /src/openssl/ssl/statem/statem_lib.c:741,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 704
    functionDepth: 11
    functionLinenumber: 704
    functionLinenumberEnd: 747
    functionName: tls_process_key_update
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - PACKET_get_1
    - PACKET_remaining
    - tls13_update_key
    - RECORD_LAYER_processed_read_pending
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_key_update(SSL_CONNECTION *s, PACKET
      *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:757,1
    - Dst: SSL*::method::ssl3_enc::final_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 777
    functionName: ssl3_take_mac
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - SSL*::method::ssl3_enc::final_finish_mac
    linkageType: ''
    returnType: int
    signature: int ssl3_take_mac(SSL_CONNECTION *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:784,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:790,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:795,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:800,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:807,1
    - Dst: ssl3_do_change_cipher_spec
      Src: /src/openssl/ssl/statem/statem_lib.c:812,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:813,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:817,1
    - Dst: BIO_ctrl
      Src: /src/openssl/ssl/statem/statem_lib.c:827,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_lib.c:827,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:827,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 833
    functionName: tls_process_change_cipher_spec
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - BIO_ctrl
    - SSL_CONNECTION_GET_SSL
    - PACKET_remaining
    - SSL_get_wbio
    - SSL_CONNECTION_IS_DTLS
    - ssl3_do_change_cipher_spec
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls_process_change_cipher_spec(SSL_CONNECTION *s,\n
      \                                                 PACKET *pkt)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:838,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:839,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_plain_alerts
      Src: /src/openssl/ssl/statem/statem_lib.c:851,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:854,1
    - Dst: tls13_save_handshake_digest_for_pha
      Src: /src/openssl/ssl/statem/statem_lib.c:855,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:865,1
    - Dst: RECORD_LAYER_processed_read_pending
      Src: /src/openssl/ssl/statem/statem_lib.c:866,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:867,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:872,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:873,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:880,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:881,1
    - Dst: CRYPTO_memcmp
      Src: /src/openssl/ssl/statem/statem_lib.c:885,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_lib.c:885,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_lib.c:889,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:895,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_lib.c:902,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:903,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:907,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:911,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:920,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_lib.c:923,1
    - Dst: SSL*::method::ssl3_enc::generate_master_secret
      Src: /src/openssl/ssl/statem/statem_lib.c:931,1
    - Dst: tls13_store_server_finished_hash
      Src: /src/openssl/ssl/statem/statem_lib.c:937,1
    - Dst: SSL_IS_QUIC_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:950,1
    - Dst: SSL*::method::ssl3_enc::change_cipher_state
      Src: /src/openssl/ssl/statem/statem_lib.c:951,1
    - Dst: tls_process_initial_server_flight
      Src: /src/openssl/ssl/statem/statem_lib.c:956,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:964,1
    - Dst: SSL_CONNECTION*::rlayer::rrlmethod::set_first_handshake
      Src: /src/openssl/ssl/statem/statem_lib.c:966,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 835
    functionDepth: 16
    functionLinenumber: 835
    functionLinenumberEnd: 969
    functionName: tls_process_finished
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - ossl_assert
    - tls13_store_server_finished_hash
    - SSL_CONNECTION*::rlayer::rrlmethod::set_first_handshake
    - memcpy
    - tls13_save_handshake_digest_for_pha
    - CRYPTO_memcmp
    - SSL*::method::ssl3_enc::change_cipher_state
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION*::rlayer::rrlmethod::set_plain_alerts
    - PACKET_remaining
    - PACKET_data
    - SSL*::method::ssl3_enc::generate_master_secret
    - tls_process_initial_server_flight
    - SSL_IS_FIRST_HANDSHAKE
    - SSL_CONNECTION_IS_TLS13
    - RECORD_LAYER_processed_read_pending
    - SSL_IS_QUIC_HANDSHAKE
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: MSG_PROCESS_RETURN tls_process_finished(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_put_bytes_u8
      Src: /src/openssl/ssl/statem/statem_lib.c:973,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: tls_construct_change_cipher_spec
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - WPACKET_put_bytes_u8
    linkageType: ''
    returnType: CON_FUNC_RETURN
    signature: CON_FUNC_RETURN tls_construct_change_cipher_spec(SSL_CONNECTION *s,
      WPACKET *pkt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509
      Src: /src/openssl/ssl/statem/statem_lib.c:992,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:995,1
    - Dst: WPACKET_sub_allocate_bytes_u24
      Src: /src/openssl/ssl/statem/statem_lib.c:998,1
    - Dst: i2d_X509
      Src: /src/openssl/ssl/statem/statem_lib.c:999,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1001,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1005,1
    - Dst: tls_construct_extensions
      Src: /src/openssl/ssl/statem/statem_lib.c:1006,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - s
    - pkt
    - x
    - chain
    - for_comp
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - X509*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 982
    functionDepth: 6
    functionLinenumber: 982
    functionLinenumberEnd: 1012
    functionName: ssl_add_cert_to_wpacket
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - tls_construct_extensions
    - i2d_X509
    - WPACKET_sub_allocate_bytes_u24
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: "int ssl_add_cert_to_wpacket(SSL_CONNECTION *s, WPACKET *pkt,\n                                   X509
      *x, int chain, int for_comp)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_lib.c:1019,1
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_lib.c:1020,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_lib.c:1022,1
    - Dst: X509_STORE_CTX_new_ex
      Src: /src/openssl/ssl/statem/statem_lib.c:1045,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1050,1
    - Dst: X509_STORE_CTX_init
      Src: /src/openssl/ssl/statem/statem_lib.c:1053,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:1054,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1056,1
    - Dst: X509_verify_cert
      Src: /src/openssl/ssl/statem/statem_lib.c:1065,1
    - Dst: ERR_clear_error
      Src: /src/openssl/ssl/statem/statem_lib.c:1067,1
    - Dst: X509_STORE_CTX_get0_chain
      Src: /src/openssl/ssl/statem/statem_lib.c:1068,1
    - Dst: ssl_security_cert_chain
      Src: /src/openssl/ssl/statem/statem_lib.c:1069,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/statem/statem_lib.c:1073,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/statem/statem_lib.c:1074,1
    - Dst: ERR_raise
      Src: /src/openssl/ssl/statem/statem_lib.c:1075,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:1077,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1079,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/statem/statem_lib.c:1082,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/statem/statem_lib.c:1084,1
    - Dst: ssl_add_cert_to_wpacket
      Src: /src/openssl/ssl/statem/statem_lib.c:1086,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:1088,1
    - Dst: X509_STORE_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:1092,1
    - Dst: ssl_security_cert_chain
      Src: /src/openssl/ssl/statem/statem_lib.c:1094,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1097,1
    - Dst: ssl_add_cert_to_wpacket
      Src: /src/openssl/ssl/statem/statem_lib.c:1100,1
    - Dst: sk_X509_num
      Src: /src/openssl/ssl/statem/statem_lib.c:1104,1
    - Dst: sk_X509_value
      Src: /src/openssl/ssl/statem/statem_lib.c:1105,1
    - Dst: ssl_add_cert_to_wpacket
      Src: /src/openssl/ssl/statem/statem_lib.c:1106,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 4
    argNames:
    - s
    - pkt
    - cpk
    - for_comp
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - CERT_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1015
    functionDepth: 7
    functionLinenumber: 1015
    functionLinenumberEnd: 1113
    functionName: ssl_add_cert_chain
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - SSLfatal
    - ERR_raise
    - sk_X509_num
    - X509_STORE_CTX_free
    - X509_STORE_CTX_new_ex
    - ERR_clear_error
    - sk_X509_value
    - X509_STORE_CTX_get0_chain
    - ssl_security_cert_chain
    - STACK_OF
    - SSL_CONNECTION_GET_CTX
    - ssl_add_cert_to_wpacket
    - X509_verify_cert
    - X509_STORE_CTX_init
    linkageType: ''
    returnType: int
    signature: int ssl_add_cert_chain(SSL_CONNECTION *s, WPACKET *pkt, CERT_PKEY *cpk,
      int for_comp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: X509_get0_pubkey
      Src: /src/openssl/ssl/statem/statem_lib.c:1120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1122
    functionName: tls_get_peer_pkey
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 9
    functionsReached:
    - X509_get0_pubkey
    linkageType: ''
    returnType: EVP_PKEY
    signature: EVP_PKEY * tls_get_peer_pkey(const SSL_CONNECTION *sc)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_lib.c:1133,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1211,1
    - Dst: PACKET_get_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_lib.c:1212,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1213,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:1218,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1219,1
    - Dst: PACKET_equal
      Src: /src/openssl/ssl/statem/statem_lib.c:1223,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1224,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:1229,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1230,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/ssl/statem/statem_lib.c:1236,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:1237,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1238,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1253,1
    - Dst: PACKET_get_net_3
      Src: /src/openssl/ssl/statem/statem_lib.c:1258,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1259,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1264,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_lib.c:1271,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1272,1
    - Dst: d2i_PUBKEY_ex
      Src: /src/openssl/ssl/statem/statem_lib.c:1276,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1278,1
    - Dst: EVP_PKEY_missing_parameters
      Src: /src/openssl/ssl/statem/statem_lib.c:1281,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1282,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1288,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:1289,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1290,1
    - Dst: PACKET_as_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_lib.c:1293,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:1294,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1295,1
    - Dst: tls_collect_extensions
      Src: /src/openssl/ssl/statem/statem_lib.c:1298,1
    - Dst: tls_parse_all_extensions
      Src: /src/openssl/ssl/statem/statem_lib.c:1304,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_lib.c:1317,1
    - Dst: EVP_PKEY_free
      Src: /src/openssl/ssl/statem/statem_lib.c:1318,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 96
    argCount: 3
    argNames:
    - sc
    - pkt
    - peer_rpk
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1124
    functionDepth: 12
    functionLinenumber: 1124
    functionLinenumberEnd: 1320
    functionName: tls_process_rpk
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - PACKET_get_net_3
    - PACKET_get_bytes
    - PACKET_get_length_prefixed_1
    - tls_collect_extensions
    - EVP_PKEY_missing_parameters
    - tls_parse_all_extensions
    - PACKET_as_length_prefixed_2
    - EVP_PKEY_free
    - PACKET_equal
    - PACKET_remaining
    - OPENSSL_free
    - d2i_PUBKEY_ex
    - SSL_CONNECTION_GET_CTX
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: int
    signature: int tls_process_rpk(SSL_CONNECTION *sc, PACKET *pkt, EVP_PKEY **peer_rpk)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_X509_PUBKEY
      Src: /src/openssl/ssl/statem/statem_lib.c:1333,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1335,1
    - Dst: i2d_X509_PUBKEY
      Src: /src/openssl/ssl/statem/statem_lib.c:1338,1
    - Dst: i2d_PUBKEY
      Src: /src/openssl/ssl/statem/statem_lib.c:1341,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1345,1
    - Dst: WPACKET_sub_memcpy_u24
      Src: /src/openssl/ssl/statem/statem_lib.c:1349,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1350,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1357,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1365,1
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/statem/statem_lib.c:1366,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1367,1
    - Dst: WPACKET_sub_memcpy_u24
      Src: /src/openssl/ssl/statem/statem_lib.c:1372,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1373,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1377,1
    - Dst: tls_construct_extensions
      Src: /src/openssl/ssl/statem/statem_lib.c:1383,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_lib.c:1388,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1389,1
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/statem/statem_lib.c:1396,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - sc
    - pkt
    - cpk
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - CERT_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1322
    functionDepth: 12
    functionLinenumber: 1322
    functionLinenumberEnd: 1398
    functionName: tls_output_rpk
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - i2d_X509_PUBKEY
    - X509_get_X509_PUBKEY
    - tls_construct_extensions
    - WPACKET_start_sub_packet_u24
    - WPACKET_close
    - OPENSSL_free
    - WPACKET_sub_memcpy_u24
    - SSL_CONNECTION_IS_TLS13
    - i2d_PUBKEY
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long tls_output_rpk(SSL_CONNECTION *sc, WPACKET *pkt, CERT_PKEY
      *cpk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_u24
      Src: /src/openssl/ssl/statem/statem_lib.c:1403,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1405,1
    - Dst: ssl_add_cert_chain
      Src: /src/openssl/ssl/statem/statem_lib.c:1409,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_lib.c:1412,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - s
    - pkt
    - cpk
    - for_comp
    argTypes:
    - SSL_CONNECTION*
    - WPACKET*
    - CERT_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1400
    functionDepth: 8
    functionLinenumber: 1400
    functionLinenumberEnd: 1419
    functionName: ssl3_output_cert_chain
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 4
    functionsReached:
    - SSLfatal
    - WPACKET_start_sub_packet_u24
    - WPACKET_close
    - ssl_add_cert_chain
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ssl3_output_cert_chain(SSL_CONNECTION *s, WPACKET *pkt,\n
      \                                    CERT_PKEY *cpk, int for_comp)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:1431,1
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_lib.c:1432,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:1435,1
    - Dst: BIO_dgram_is_sctp
      Src: /src/openssl/ssl/statem/statem_lib.c:1443,1
    - Dst: SSL_get_wbio
      Src: /src/openssl/ssl/statem/statem_lib.c:1443,1
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:1443,1
    - Dst: BUF_MEM_free
      Src: /src/openssl/ssl/statem/statem_lib.c:1450,1
    - Dst: ssl_free_wbio_buffer
      Src: /src/openssl/ssl/statem/statem_lib.c:1454,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1455,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1461,1
    - Dst: ssl3_cleanup_key_block
      Src: /src/openssl/ssl/statem/statem_lib.c:1476,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1483,1
    - Dst: ssl_update_cache
      Src: /src/openssl/ssl/statem/statem_lib.c:1484,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/statem_lib.c:1487,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1490,1
    - Dst: SSL_CTX_remove_session
      Src: /src/openssl/ssl/statem/statem_lib.c:1497,1
    - Dst: ssl_update_cache
      Src: /src/openssl/ssl/statem/statem_lib.c:1503,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/statem_lib.c:1506,1
    - Dst: ssl_tsan_counter
      Src: /src/openssl/ssl/statem/statem_lib.c:1510,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:1514,1
    - Dst: dtls1_clear_received_buffer
      Src: /src/openssl/ssl/statem/statem_lib.c:1519,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem_lib.c:1529,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1533,1
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:1534,1
    - Dst: cb
      Src: /src/openssl/ssl/statem/statem_lib.c:1535,1
    - Dst: ossl_statem_set_in_init
      Src: /src/openssl/ssl/statem/statem_lib.c:1540,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - s
    - WORK_STATE
    - clearbufs
    - stop
    argTypes:
    - SSL_CONNECTION*
    - ossl_unused
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1426
    functionDepth: 5
    functionLinenumber: 1426
    functionLinenumberEnd: 1545
    functionName: tls_finish_handshake
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - ssl_update_cache
    - SSLfatal
    - BUF_MEM_free
    - ssl3_cleanup_key_block
    - SSL_CTX_remove_session
    - ossl_statem_set_in_init
    - ssl_tsan_counter
    - dtls1_clear_received_buffer
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_GET_USER_SSL
    - SSL_get_wbio
    - ssl_free_wbio_buffer
    - SSL_CONNECTION_IS_DTLS
    - cb
    - SSL_CONNECTION_GET_CTX
    - BIO_dgram_is_sctp
    - SSL_IS_FIRST_HANDSHAKE
    - SSL_CONNECTION_IS_TLS13
    linkageType: ''
    returnType: WORK_STATE
    signature: "WORK_STATE tls_finish_handshake(SSL_CONNECTION *s, ossl_unused WORK_STATE
      wst,\n                                int clearbufs, int stop)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:1554,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:1555,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/statem/statem_lib.c:1561,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1575,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1596,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/statem/statem_lib.c:1618,1
    - Dst: RECORD_LAYER_is_sslv2_record
      Src: /src/openssl/ssl/statem/statem_lib.c:1628,1
    - Dst: n2l3
      Src: /src/openssl/ssl/statem/statem_lib.c:1642,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:1645,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 2
    argNames:
    - s
    - mt
    argTypes:
    - SSL_CONNECTION*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1547
    functionDepth: 2
    functionLinenumber: 1547
    functionLinenumberEnd: 1656
    functionName: tls_get_message_header
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - SSL*::method::ssl_read_bytes
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION_GET_USER_SSL
    - RECORD_LAYER_is_sslv2_record
    - n2l3
    linkageType: ''
    returnType: int
    signature: int tls_get_message_header(SSL_CONNECTION *s, int *mt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:1663,1
    - Dst: SSL_CONNECTION_GET_USER_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:1664,1
    - Dst: SSL*::method::ssl_read_bytes
      Src: /src/openssl/ssl/statem/statem_lib.c:1675,1
    - Dst: ssl3_take_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:1690,1
    - Dst: RECORD_LAYER_is_sslv2_record
      Src: /src/openssl/ssl/statem/statem_lib.c:1697,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:1698,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/statem/statem_lib.c:1705,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:1716,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_lib.c:1721,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:1724,1
    - Dst: SSL_CONNECTION*::msg_callback
      Src: /src/openssl/ssl/statem/statem_lib.c:1733,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - SSL_CONNECTION*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1658
    functionDepth: 5
    functionLinenumber: 1658
    functionLinenumberEnd: 1740
    functionName: tls_get_message_body
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - memcmp
    - ssl3_finish_mac
    - SSL*::method::ssl_read_bytes
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION*::msg_callback
    - SSL_CONNECTION_GET_USER_SSL
    - RECORD_LAYER_is_sslv2_record
    - SSL_CONNECTION_IS_TLS13
    - ssl3_take_mac
    linkageType: ''
    returnType: int
    signature: int tls_get_message_body(SSL_CONNECTION *s, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - x509err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1796
    functionName: ssl_x509err2alert
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ssl_x509err2alert(int x509err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssl_security
      Src: /src/openssl/ssl/statem/statem_lib.c:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 2
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: ssl_allow_compression
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 3
    functionsReached:
    - ssl_security
    linkageType: ''
    returnType: int
    signature: int ssl_allow_compression(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:1815,1
    - Dst: DTLS_VERSION_LT
      Src: /src/openssl/ssl/statem/statem_lib.c:1821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - versiona
    - versionb
    argTypes:
    - SSL_CONNECTION*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1822
    functionName: ssl_version_cmp
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 6
    functionsReached:
    - DTLS_VERSION_LT
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: int ssl_version_cmp(const SSL_CONNECTION *s, int versiona, int versionb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:1898,1
    - Dst: ssl_security
      Src: /src/openssl/ssl/statem/statem_lib.c:1899,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:1903,1
    - Dst: tls1_suiteb
      Src: /src/openssl/ssl/statem/statem_lib.c:1908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - s
    - method
    argTypes:
    - SSL_CONNECTION*
    - SSL_METHOD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1893
    functionDepth: 2
    functionLinenumber: 1893
    functionLinenumberEnd: 1912
    functionName: ssl_method_error
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - ssl_security
    - tls1_suiteb
    - ssl_version_cmp
    linkageType: ''
    returnType: int
    signature: int ssl_method_error(const SSL_CONNECTION *s, const SSL_METHOD *method)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_CTX
      Src: /src/openssl/ssl/statem/statem_lib.c:1923,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_lib.c:1925,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_lib.c:1925,1
    - Dst: ssl_has_cert
      Src: /src/openssl/ssl/statem/statem_lib.c:1956,1
    - Dst: ssl_get_EC_curve_nid
      Src: /src/openssl/ssl/statem/statem_lib.c:1965,1
    - Dst: tls_check_sigalg_curve
      Src: /src/openssl/ssl/statem/statem_lib.c:1966,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1919
    functionDepth: 9
    functionLinenumber: 1919
    functionLinenumberEnd: 1971
    functionName: is_tls13_capable
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - ossl_assert
    - ssl_get_EC_curve_nid
    - ssl_has_cert
    - SSL_CONNECTION_GET_CTX
    - tls_check_sigalg_curve
    linkageType: ''
    returnType: int
    signature: int is_tls13_capable(const SSL_CONNECTION *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:1988,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:1991,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2001,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2007,1
    - Dst: ssl_method_error
      Src: /src/openssl/ssl/statem/statem_lib.c:2008,1
    - Dst: thismeth
      Src: /src/openssl/ssl/statem/statem_lib.c:2008,1
    - Dst: is_tls13_capable
      Src: /src/openssl/ssl/statem/statem_lib.c:2011,1
    - Dst: thismeth
      Src: /src/openssl/ssl/statem/statem_lib.c:2013,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - s
    - version
    - meth
    argTypes:
    - SSL_CONNECTION*
    - int
    - SSL_METHOD**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1982
    functionDepth: 10
    functionLinenumber: 1982
    functionLinenumberEnd: 2018
    functionName: ssl_version_supported
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - ssl_method_error
    - SSL_CONNECTION_GET_SSL
    - thismeth
    - is_tls13_capable
    - ssl_version_cmp
    linkageType: ''
    returnType: int
    signature: "int ssl_version_supported(const SSL_CONNECTION *s, int version,\n
      \                         const SSL_METHOD **meth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:2033,1
    - Dst: TLS_method
      Src: /src/openssl/ssl/statem/statem_lib.c:2047,1
    - Dst: DTLS_method
      Src: /src/openssl/ssl/statem/statem_lib.c:2049,1
    - Dst: ssl_method_error
      Src: /src/openssl/ssl/statem/statem_lib.c:2057,1
    - Dst: version_info*::smeth
      Src: /src/openssl/ssl/statem/statem_lib.c:2057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2029
    functionDepth: 3
    functionLinenumber: 2029
    functionLinenumberEnd: 2061
    functionName: ssl_check_version_downgrade
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - TLS_method
    - ssl_method_error
    - SSL_CONNECTION_GET_SSL
    - version_info*::smeth
    - DTLS_method
    linkageType: ''
    returnType: int
    signature: int ssl_check_version_downgrade(SSL_CONNECTION *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DTLS_VERSION_LE
      Src: /src/openssl/ssl/statem/statem_lib.c:2089,1
    - Dst: DTLS_VERSION_GE
      Src: /src/openssl/ssl/statem/statem_lib.c:2090,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - method_version
    - version
    - bound
    argTypes:
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2075
    functionDepth: 1
    functionLinenumber: 2075
    functionLinenumberEnd: 2124
    functionName: ssl_set_version_bound
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 3
    functionsReached:
    - DTLS_VERSION_LE
    - DTLS_VERSION_GE
    linkageType: ''
    returnType: int
    signature: int ssl_set_version_bound(int method_version, int version, int *bound)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_version_supported
      Src: /src/openssl/ssl/statem/statem_lib.c:2129,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:2131,1
    - Dst: ssl_version_supported
      Src: /src/openssl/ssl/statem/statem_lib.c:2140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - s
    - vers
    - dgrd
    argTypes:
    - SSL_CONNECTION*
    - int
    - DOWNGRADE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2126
    functionDepth: 11
    functionLinenumber: 2126
    functionLinenumberEnd: 2145
    functionName: check_for_downgrade
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - ssl_version_supported
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: void
    signature: void check_for_downgrade(SSL_CONNECTION *s, int vers, DOWNGRADE *dgrd)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:2168,1
    - Dst: SSL_CONNECTION_IS_TLS13
      Src: /src/openssl/ssl/statem/statem_lib.c:2180,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2181,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:2212,1
    - Dst: PACKET_as_length_prefixed_1
      Src: /src/openssl/ssl/statem/statem_lib.c:2220,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_lib.c:2237,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2238,1
    - Dst: ssl_version_supported
      Src: /src/openssl/ssl/statem/statem_lib.c:2240,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:2243,1
    - Dst: check_for_downgrade
      Src: /src/openssl/ssl/statem/statem_lib.c:2258,1
    - Dst: ssl_set_record_protocol_version
      Src: /src/openssl/ssl/statem/statem_lib.c:2261,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2273,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2284,1
    - Dst: version_info*::smeth
      Src: /src/openssl/ssl/statem/statem_lib.c:2286,1
    - Dst: ssl_method_error
      Src: /src/openssl/ssl/statem/statem_lib.c:2287,1
    - Dst: check_for_downgrade
      Src: /src/openssl/ssl/statem/statem_lib.c:2288,1
    - Dst: ssl_set_record_protocol_version
      Src: /src/openssl/ssl/statem/statem_lib.c:2291,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 3
    argNames:
    - s
    - hello
    - dgrd
    argTypes:
    - SSL_CONNECTION*
    - CLIENTHELLO_MSG*
    - DOWNGRADE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2156
    functionDepth: 12
    functionLinenumber: 2156
    functionLinenumberEnd: 2299
    functionName: ssl_choose_server_version
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - ssl_method_error
    - PACKET_get_net_2
    - check_for_downgrade
    - SSL_CONNECTION_GET_SSL
    - PACKET_as_length_prefixed_1
    - PACKET_remaining
    - ssl_version_supported
    - SSL_CONNECTION_IS_DTLS
    - version_info*::smeth
    - ssl_set_record_protocol_version
    - SSL_CONNECTION_IS_TLS13
    - ssl_version_cmp
    linkageType: ''
    returnType: int
    signature: "int ssl_choose_server_version(SSL_CONNECTION *s, CLIENTHELLO_MSG *hello,\n
      \                             DOWNGRADE *dgrd)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:2318,1
    - Dst: tls_parse_extension
      Src: /src/openssl/ssl/statem/statem_lib.c:2324,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2335,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2343,1
    - Dst: ssl_set_record_protocol_version
      Src: /src/openssl/ssl/statem/statem_lib.c:2353,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2354,1
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/statem/statem_lib.c:2366,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2369,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2372,1
    - Dst: ssl_version_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2373,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2375,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:2384,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2386,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2391,1
    - Dst: memcmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2397,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2402,1
    - Dst: version_info*::cmeth
      Src: /src/openssl/ssl/statem/statem_lib.c:2412,1
    - Dst: ssl_set_record_protocol_version
      Src: /src/openssl/ssl/statem/statem_lib.c:2413,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2414,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2421,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 3
    argNames:
    - s
    - version
    - extensions
    argTypes:
    - SSL_CONNECTION*
    - int
    - RAW_EXTENSION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2312
    functionDepth: 4
    functionLinenumber: 2312
    functionLinenumberEnd: 2423
    functionName: ssl_choose_client_version
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - SSLfatal
    - memcmp
    - version_info*::cmeth
    - ssl_get_min_max_version
    - SSL_CONNECTION_GET_SSL
    - SSL_CONNECTION_IS_DTLS
    - ssl_set_record_protocol_version
    - ssl_version_cmp
    - tls_parse_extension
    linkageType: ''
    returnType: int
    signature: "int ssl_choose_client_version(SSL_CONNECTION *s, int version,\n                              RAW_EXTENSION
      *extensions)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:2455,1
    - Dst: ossl_assert
      Src: /src/openssl/ssl/statem/statem_lib.c:2471,1
    - Dst: version_info*::cmeth
      Src: /src/openssl/ssl/statem/statem_lib.c:2517,1
    - Dst: ssl_method_error
      Src: /src/openssl/ssl/statem/statem_lib.c:2522,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - s
    - min_version
    - max_version
    - real_max
    argTypes:
    - SSL_CONNECTION*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2447
    functionDepth: 3
    functionLinenumber: 2447
    functionLinenumberEnd: 2542
    functionName: ssl_get_min_max_version
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 8
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - ossl_assert
    - version_info*::cmeth
    - ssl_method_error
    linkageType: ''
    returnType: int
    signature: "int ssl_get_min_max_version(const SSL_CONNECTION *s, int *min_version,\n
      \                           int *max_version, int *real_max)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_IS_FIRST_HANDSHAKE
      Src: /src/openssl/ssl/statem/statem_lib.c:2560,1
    - Dst: ssl_get_min_max_version
      Src: /src/openssl/ssl/statem/statem_lib.c:2563,1
    - Dst: SSL_CONNECTION_IS_DTLS
      Src: /src/openssl/ssl/statem/statem_lib.c:2570,1
    - Dst: ssl_set_record_protocol_version
      Src: /src/openssl/ssl/statem/statem_lib.c:2579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2552
    functionDepth: 4
    functionLinenumber: 2552
    functionLinenumberEnd: 2589
    functionName: ssl_set_client_hello_version
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 1
    functionsReached:
    - ssl_set_record_protocol_version
    - SSL_IS_FIRST_HANDSHAKE
    - ssl_get_min_max_version
    - SSL_CONNECTION_IS_DTLS
    linkageType: ''
    returnType: int
    signature: int ssl_set_client_hello_version(SSL_CONNECTION *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tls_group_allowed
      Src: /src/openssl/ssl/statem/statem_lib.c:2611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - s
    - group_id
    - groups
    - num_groups
    - checkallow
    - pos
    argTypes:
    - SSL_CONNECTION*
    - uint16_t
    - uint16_t*
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2598
    functionDepth: 3
    functionLinenumber: 2598
    functionLinenumberEnd: 2619
    functionName: check_in_list
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - tls_group_allowed
    linkageType: ''
    returnType: int
    signature: "int check_in_list(SSL_CONNECTION *s, uint16_t group_id, const uint16_t
      *groups,\n                  size_t num_groups, int checkallow, size_t *pos)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/openssl/ssl/statem/statem_lib.c:2630,1
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_lib.c:2636,1
    - Dst: ssl_handshake_hash
      Src: /src/openssl/ssl/statem/statem_lib.c:2637,1
    - Dst: ssl3_init_finished_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:2645,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:2653,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:2654,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:2665,1
    - Dst: ssl3_finish_mac
      Src: /src/openssl/ssl/statem/statem_lib.c:2666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - s
    - hashval
    - hashlen
    - hrr
    - hrrlen
    argTypes:
    - SSL_CONNECTION*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2622
    functionDepth: 6
    functionLinenumber: 2622
    functionLinenumberEnd: 2674
    functionName: create_synthetic_message_hash
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 3
    functionsReached:
    - memset
    - ssl3_finish_mac
    - ssl3_init_finished_mac
    - ssl3_digest_cached_records
    - ssl_handshake_hash
    linkageType: ''
    returnType: int
    signature: "int create_synthetic_message_hash(SSL_CONNECTION *s,\n                                  const
      unsigned char *hashval,\n                                  size_t hashlen, const
      unsigned char *hrr,\n                                  size_t hrrlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_cmp
      Src: /src/openssl/ssl/statem/statem_lib.c:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - X509_NAME**
    - X509_NAME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2679
    functionName: ca_dn_cmp
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 0
    functionsReached:
    - X509_NAME_cmp
    linkageType: ''
    returnType: int
    signature: int ca_dn_cmp(const X509_NAME *const *a, const X509_NAME *const *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/openssl/ssl/statem/statem_lib.c:2683,1
    - Dst: sk_X509_NAME_new
      Src: /src/openssl/ssl/statem/statem_lib.c:2683,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2688,1
    - Dst: PACKET_get_length_prefixed_2
      Src: /src/openssl/ssl/statem/statem_lib.c:2692,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2693,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:2697,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_lib.c:2701,1
    - Dst: PACKET_get_bytes
      Src: /src/openssl/ssl/statem/statem_lib.c:2702,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2703,1
    - Dst: d2i_X509_NAME
      Src: /src/openssl/ssl/statem/statem_lib.c:2708,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2709,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2713,1
    - Dst: sk_X509_NAME_push
      Src: /src/openssl/ssl/statem/statem_lib.c:2717,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2718,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/statem/statem_lib.c:2724,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/openssl/ssl/statem/statem_lib.c:2730,1
    - Dst: X509_NAME_free
      Src: /src/openssl/ssl/statem/statem_lib.c:2731,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - s
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2681
    functionDepth: 4
    functionLinenumber: 2681
    functionLinenumberEnd: 2733
    functionName: parse_ca_names
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 3
    functionsReached:
    - SSLfatal
    - PACKET_get_bytes
    - X509_NAME_free
    - PACKET_get_net_2
    - d2i_X509_NAME
    - STACK_OF
    - PACKET_remaining
    - sk_X509_NAME_new
    - sk_X509_NAME_pop_free
    - PACKET_get_length_prefixed_2
    - sk_X509_NAME_push
    linkageType: ''
    returnType: int
    signature: int parse_ca_names(SSL_CONNECTION *s, PACKET *pkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CONNECTION_GET_SSL
      Src: /src/openssl/ssl/statem/statem_lib.c:2738,1
    - Dst: SSL_get_client_CA_list
      Src: /src/openssl/ssl/statem/statem_lib.c:2741,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/ssl/statem/statem_lib.c:2742,1
    - Dst: SSL_get0_CA_list
      Src: /src/openssl/ssl/statem/statem_lib.c:2747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2735
    functionDepth: 2
    functionLinenumber: 2735
    functionLinenumberEnd: 2750
    functionName: get_ca_names
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 3
    functionsReached:
    - SSL_CONNECTION_GET_SSL
    - SSL_get_client_CA_list
    - SSL_get0_CA_list
    - sk_X509_NAME_num
    linkageType: ''
    returnType: STACK_OF
    signature: STACK_OF *get_ca_names(SSL_CONNECTION *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WPACKET_start_sub_packet_u16
      Src: /src/openssl/ssl/statem/statem_lib.c:2756,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2757,1
    - Dst: sk_X509_NAME_num
      Src: /src/openssl/ssl/statem/statem_lib.c:2764,1
    - Dst: sk_X509_NAME_value
      Src: /src/openssl/ssl/statem/statem_lib.c:2766,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/ssl/statem/statem_lib.c:2770,1
    - Dst: WPACKET_sub_allocate_bytes_u16
      Src: /src/openssl/ssl/statem/statem_lib.c:2771,1
    - Dst: i2d_X509_NAME
      Src: /src/openssl/ssl/statem/statem_lib.c:2773,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2774,1
    - Dst: WPACKET_close
      Src: /src/openssl/ssl/statem/statem_lib.c:2780,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2781,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - s
    - ca_sk
    - pkt
    argTypes:
    - SSL_CONNECTION*
    - STACK_OF*
    - WPACKET*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2752
    functionDepth: 4
    functionLinenumber: 2752
    functionLinenumberEnd: 2786
    functionName: construct_ca_names
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 3
    functionsReached:
    - WPACKET_start_sub_packet_u16
    - SSLfatal
    - sk_X509_NAME_value
    - WPACKET_close
    - i2d_X509_NAME
    - WPACKET_sub_allocate_bytes_u16
    - sk_X509_NAME_num
    linkageType: ''
    returnType: int
    signature: "int construct_ca_names(SSL_CONNECTION *s, const STACK_OF(X509_NAME)
      *ca_sk,\n                       WPACKET *pkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_malloc
      Src: /src/openssl/ssl/statem/statem_lib.c:2793,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2796,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:2799,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:2800,1
    - Dst: memcpy
      Src: /src/openssl/ssl/statem/statem_lib.c:2802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - s
    - ptbs
    - param
    - paramlen
    argTypes:
    - SSL_CONNECTION*
    - unsigned char**
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2789
    functionDepth: 1
    functionLinenumber: 2789
    functionLinenumberEnd: 2806
    functionName: construct_key_exchange_tbs
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - memcpy
    - OPENSSL_malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t construct_key_exchange_tbs(SSL_CONNECTION *s, unsigned char
      **ptbs,\n                                  const void *param, size_t paramlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl3_digest_cached_records
      Src: /src/openssl/ssl/statem/statem_lib.c:2815,1
    - Dst: EVP_MD_CTX_new
      Src: /src/openssl/ssl/statem/statem_lib.c:2819,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2821,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/ssl/statem/statem_lib.c:2824,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2826,1
    - Dst: EVP_MD_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:2827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2812
    functionDepth: 8
    functionLinenumber: 2812
    functionLinenumberEnd: 2833
    functionName: tls13_save_handshake_digest_for_pha
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - EVP_MD_CTX_new
    - EVP_MD_CTX_free
    - ssl3_digest_cached_records
    - EVP_MD_CTX_copy_ex
    linkageType: ''
    returnType: int
    signature: int tls13_save_handshake_digest_for_pha(SSL_CONNECTION *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2842,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/openssl/ssl/statem/statem_lib.c:2845,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - SSL_CONNECTION*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2839
    functionDepth: 8
    functionLinenumber: 2839
    functionLinenumberEnd: 2851
    functionName: tls13_restore_handshake_digest_for_pha
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - EVP_MD_CTX_copy_ex
    - SSLfatal
    linkageType: ''
    returnType: int
    signature: int tls13_restore_handshake_digest_for_pha(SSL_CONNECTION *s)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2869,1
    - Dst: PACKET_get_net_2
      Src: /src/openssl/ssl/statem/statem_lib.c:2872,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2873,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2885,1
    - Dst: ossl_comp_has_alg
      Src: /src/openssl/ssl/statem/statem_lib.c:2889,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2890,1
    - Dst: COMP_zlib_oneshot
      Src: /src/openssl/ssl/statem/statem_lib.c:2895,1
    - Dst: COMP_brotli_oneshot
      Src: /src/openssl/ssl/statem/statem_lib.c:2898,1
    - Dst: COMP_zstd_oneshot
      Src: /src/openssl/ssl/statem/statem_lib.c:2901,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2904,1
    - Dst: COMP_CTX_new
      Src: /src/openssl/ssl/statem/statem_lib.c:2908,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/statem/statem_lib.c:2909,1
    - Dst: PACKET_get_net_3_len
      Src: /src/openssl/ssl/statem/statem_lib.c:2910,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2911,1
    - Dst: PACKET_remaining
      Src: /src/openssl/ssl/statem/statem_lib.c:2915,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2916,1
    - Dst: BUF_MEM_grow
      Src: /src/openssl/ssl/statem/statem_lib.c:2920,1
    - Dst: PACKET_buf_init
      Src: /src/openssl/ssl/statem/statem_lib.c:2921,1
    - Dst: COMP_expand_block
      Src: /src/openssl/ssl/statem/statem_lib.c:2922,1
    - Dst: PACKET_data
      Src: /src/openssl/ssl/statem/statem_lib.c:2923,1
    - Dst: SSLfatal
      Src: /src/openssl/ssl/statem/statem_lib.c:2925,1
    - Dst: COMP_CTX_free
      Src: /src/openssl/ssl/statem/statem_lib.c:2930,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 64
    argCount: 4
    argNames:
    - sc
    - pkt
    - tmppkt
    - buf
    argTypes:
    - SSL_CONNECTION*
    - PACKET*
    - PACKET*
    - BUF_MEM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2854
    functionDepth: 4
    functionLinenumber: 2854
    functionLinenumberEnd: 2932
    functionName: tls13_process_compressed_certificate
    functionSourceFile: /src/openssl/ssl/statem/statem_lib.c
    functionUses: 2
    functionsReached:
    - SSLfatal
    - COMP_CTX_free
    - COMP_brotli_oneshot
    - PACKET_get_net_3_len
    - PACKET_buf_init
    - ossl_comp_has_alg
    - PACKET_get_net_2
    - COMP_expand_block
    - PACKET_remaining
    - COMP_zlib_oneshot
    - COMP_CTX_new
    - PACKET_data
    - COMP_zstd_oneshot
    - BUF_MEM_grow
    linkageType: ''
    returnType: MSG_PROCESS_RETURN
    signature: "MSG_PROCESS_RETURN tls13_process_compressed_certificate(SSL_CONNECTION
      *sc,\n                                                        PACKET *pkt,\n
      \                                                       PACKET *tmppkt,\n                                                        BUF_MEM
      *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/openssl/ssl/rio/poll_builder.c:22,1
    - Dst: FD_ZERO
      Src: /src/openssl/ssl/rio/poll_builder.c:23,1
    - Dst: FD_ZERO
      Src: /src/openssl/ssl/rio/poll_builder.c:24,1
    - Dst: OSSL_NELEM
      Src: /src/openssl/ssl/rio/poll_builder.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - rpb
    argTypes:
    - RIO_POLL_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 32
    functionName: ossl_rio_poll_builder_init
    functionSourceFile: /src/openssl/ssl/rio/poll_builder.c
    functionUses: 0
    functionsReached:
    - FD_ZERO
    - OSSL_NELEM
    linkageType: ''
    returnType: int
    signature: int ossl_rio_poll_builder_init(RIO_POLL_BUILDER *rpb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_free
      Src: /src/openssl/ssl/rio/poll_builder.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rpb
    argTypes:
    - RIO_POLL_BUILDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ossl_rio_poll_builder_cleanup
    functionSourceFile: /src/openssl/ssl/rio/poll_builder.c
    functionUses: 0
    functionsReached:
    - OPENSSL_free
    linkageType: ''
    returnType: void
    signature: void ossl_rio_poll_builder_cleanup(RIO_POLL_BUILDER *rpb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: safe_mul_size_t
      Src: /src/openssl/ssl/rio/poll_builder.c:54,1
    - Dst: OPENSSL_realloc
      Src: /src/openssl/ssl/rio/poll_builder.c:58,1
    - Dst: memcpy
      Src: /src/openssl/ssl/rio/poll_builder.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - rpb
    - alloc
    argTypes:
    - RIO_POLL_BUILDER*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: rpb_ensure_alloc
    functionSourceFile: /src/openssl/ssl/rio/poll_builder.c
    functionUses: 0
    functionsReached:
    - safe_mul_size_t
    - memcpy
    - OPENSSL_realloc
    linkageType: ''
    returnType: int
    signature: int rpb_ensure_alloc(RIO_POLL_BUILDER *rpb, size_t alloc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/rio/poll_builder.c:96,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/rio/poll_builder.c:99,1
    - Dst: openssl_fdset
      Src: /src/openssl/ssl/rio/poll_builder.c:101,1
    - Dst: rpb_ensure_alloc
      Src: /src/openssl/ssl/rio/poll_builder.c:116,1
    - Dst: assert
      Src: /src/openssl/ssl/rio/poll_builder.c:121,1
    - Dst: assert
      Src: /src/openssl/ssl/rio/poll_builder.c:123,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 4
    argNames:
    - rpb
    - fd
    - want_read
    - want_write
    argTypes:
    - RIO_POLL_BUILDER*
    - int
    - int
    - int
    assertStmts:
    - condition: "((rpb->pfd_heap != NULL && rpb->pfd_heap == pfds) ||\n           (rpb->pfd_heap
        == NULL && rpb->pfds == pfds))"
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/openssl/ssl/rio/poll_builder.c
    - condition: (i <= rpb->pfd_num && rpb->pfd_num <= rpb->pfd_alloc)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/openssl/ssl/rio/poll_builder.c
    constantsTouched: []
    func_position:
      end: 137
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 137
    functionName: ossl_rio_poll_builder_add_fd
    functionSourceFile: /src/openssl/ssl/rio/poll_builder.c
    functionUses: 0
    functionsReached:
    - openssl_fdset
    - rpb_ensure_alloc
    - assert
    linkageType: ''
    returnType: int
    signature: "int ossl_rio_poll_builder_add_fd(RIO_POLL_BUILDER *rpb, int fd,\n
      \                                int want_read, int want_write)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/rio/poll_builder.c:152,1
    - Dst: ossl_time_to_timeval
      Src: /src/openssl/ssl/rio/poll_builder.c:159,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/rio/poll_builder.c:159,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/rio/poll_builder.c:160,1
    - Dst: select
      Src: /src/openssl/ssl/rio/poll_builder.c:162,1
    - Dst: get_last_socket_error_is_eintr
      Src: /src/openssl/ssl/rio/poll_builder.c:163,1
    - Dst: ossl_time_is_infinite
      Src: /src/openssl/ssl/rio/poll_builder.c:168,1
    - Dst: ossl_time2ms
      Src: /src/openssl/ssl/rio/poll_builder.c:171,1
    - Dst: ossl_time_subtract
      Src: /src/openssl/ssl/rio/poll_builder.c:171,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/rio/poll_builder.c:172,1
    - Dst: poll
      Src: /src/openssl/ssl/rio/poll_builder.c:174,1
    - Dst: get_last_socket_error_is_eintr
      Src: /src/openssl/ssl/rio/poll_builder.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - rpb
    - deadline
    argTypes:
    - RIO_POLL_BUILDER*
    - OSSL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 180
    functionName: ossl_rio_poll_builder_poll
    functionSourceFile: /src/openssl/ssl/rio/poll_builder.c
    functionUses: 0
    functionsReached:
    - poll
    - ossl_time_is_infinite
    - ossl_time_subtract
    - ossl_time_now
    - ossl_time_to_timeval
    - get_last_socket_error_is_eintr
    - ossl_time2ms
    - select
    linkageType: ''
    returnType: int
    signature: int ossl_rio_poll_builder_poll(RIO_POLL_BUILDER *rpb, OSSL_TIME deadline)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - items
    - ','
    - stride
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: ITEM_N
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITEM_N(items, stride, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: FAIL_FROM
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL_FROM(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: FAIL_ITEM
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL_ITEM(idx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SSL_net_read_desired
      Src: /src/openssl/ssl/rio/poll_immediate.c:62,1
    - Dst: SSL_get_rpoll_descriptor
      Src: /src/openssl/ssl/rio/poll_immediate.c:63,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:64,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:71,1
    - Dst: SSL_net_write_desired
      Src: /src/openssl/ssl/rio/poll_immediate.c:82,1
    - Dst: SSL_get_wpoll_descriptor
      Src: /src/openssl/ssl/rio/poll_immediate.c:83,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:84,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:91,1
    - Dst: ossl_rio_poll_builder_add_fd
      Src: /src/openssl/ssl/rio/poll_immediate.c:108,1
    - Dst: ossl_rio_poll_builder_add_fd
      Src: /src/openssl/ssl/rio/poll_immediate.c:112,1
    - Dst: ossl_quic_get_notifier_fd
      Src: /src/openssl/ssl/rio/poll_immediate.c:122,1
    - Dst: ossl_rio_poll_builder_add_fd
      Src: /src/openssl/ssl/rio/poll_immediate.c:126,1
    - Dst: ossl_quic_enter_blocking_section
      Src: /src/openssl/ssl/rio/poll_immediate.c:130,1
    - Dst: ossl_quic_conn_poll_events
      Src: /src/openssl/ssl/rio/poll_immediate.c:140,1
    - Dst: ossl_quic_leave_blocking_section
      Src: /src/openssl/ssl/rio/poll_immediate.c:141,1
    - Dst: ossl_quic_leave_blocking_section
      Src: /src/openssl/ssl/rio/poll_immediate.c:146,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 5
    argNames:
    - ssl
    - wctx
    - rpb
    - events
    - abort_blocking
    argTypes:
    - SSL*
    - QUIC_REACTOR_WAIT_CTX*
    - RIO_POLL_BUILDER*
    - uint64_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 153
    functionName: poll_translate_ssl_quic
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached:
    - SSL_net_write_desired
    - SSL_net_read_desired
    - SSL_get_rpoll_descriptor
    - ossl_quic_leave_blocking_section
    - ossl_quic_enter_blocking_section
    - ossl_rio_poll_builder_add_fd
    - ERR_raise_data
    - ossl_quic_conn_poll_events
    - SSL_get_wpoll_descriptor
    - ossl_quic_get_notifier_fd
    linkageType: ''
    returnType: int
    signature: "int poll_translate_ssl_quic(SSL *ssl,\n                                   QUIC_REACTOR_WAIT_CTX
      *wctx,\n                                   RIO_POLL_BUILDER *rpb,\n                                   uint64_t
      events,\n                                   int *abort_blocking)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_get_notifier_fd
      Src: /src/openssl/ssl/rio/poll_immediate.c:158,1
    - Dst: ossl_quic_leave_blocking_section
      Src: /src/openssl/ssl/rio/poll_immediate.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ssl
    - wctx
    argTypes:
    - SSL*
    - QUIC_REACTOR_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: postpoll_translation_cleanup_ssl_quic
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached:
    - ossl_quic_leave_blocking_section
    - ossl_quic_get_notifier_fd
    linkageType: ''
    returnType: void
    signature: "void postpoll_translation_cleanup_ssl_quic(SSL *ssl,\n                                                  QUIC_REACTOR_WAIT_CTX
      *wctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ITEM_N
      Src: /src/openssl/ssl/rio/poll_immediate.c:172,1
    - Dst: postpoll_translation_cleanup_ssl_quic
      Src: /src/openssl/ssl/rio/poll_immediate.c:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - items
    - num_items
    - stride
    - wctx
    argTypes:
    - SSL_POLL_ITEM*
    - size_t
    - size_t
    - QUIC_REACTOR_WAIT_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: postpoll_translation_cleanup
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached:
    - ITEM_N
    - postpoll_translation_cleanup_ssl_quic
    linkageType: ''
    returnType: void
    signature: "void postpoll_translation_cleanup(SSL_POLL_ITEM *items,\n                                         size_t
      num_items,\n                                         size_t stride,\n                                         QUIC_REACTOR_WAIT_CTX
      *wctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/rio/poll_immediate.c:211,1
    - Dst: ITEM_N
      Src: /src/openssl/ssl/rio/poll_immediate.c:217,1
    - Dst: poll_translate_ssl_quic
      Src: /src/openssl/ssl/rio/poll_immediate.c:231,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:233,1
    - Dst: SSL_get_event_timeout
      Src: /src/openssl/ssl/rio/poll_immediate.c:238,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:239,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/rio/poll_immediate.c:243,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/rio/poll_immediate.c:244,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/rio/poll_immediate.c:244,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/ssl/rio/poll_immediate.c:245,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:251,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:254,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:259,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:262,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:265,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:268,1
    - Dst: postpoll_translation_cleanup
      Src: /src/openssl/ssl/rio/poll_immediate.c:274,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 8
    argNames:
    - items
    - num_items
    - stride
    - wctx
    - rpb
    - p_earliest_wakeup_deadline
    - abort_blocking
    - p_result_count
    argTypes:
    - SSL_POLL_ITEM*
    - size_t
    - size_t
    - QUIC_REACTOR_WAIT_CTX*
    - RIO_POLL_BUILDER*
    - OSSL_TIME*
    - int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 198
    functionDepth: 6
    functionLinenumber: 198
    functionLinenumberEnd: 279
    functionName: poll_translate
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached:
    - ossl_time_min
    - poll_translate_ssl_quic
    - postpoll_translation_cleanup
    - FAIL_ITEM
    - ossl_time_infinite
    - ERR_raise_data
    - ossl_time_from_timeval
    - ossl_time_now
    - ossl_time_add
    - SSL_get_event_timeout
    - ITEM_N
    linkageType: ''
    returnType: int
    signature: "int poll_translate(SSL_POLL_ITEM *items,\n                          size_t
      num_items,\n                          size_t stride,\n                          QUIC_REACTOR_WAIT_CTX
      *wctx,\n                          RIO_POLL_BUILDER *rpb,\n                          OSSL_TIME
      *p_earliest_wakeup_deadline,\n                          int *abort_blocking,\n
      \                         size_t *p_result_count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ossl_quic_reactor_wait_ctx_init
      Src: /src/openssl/ssl/rio/poll_immediate.c:313,1
    - Dst: ossl_rio_poll_builder_init
      Src: /src/openssl/ssl/rio/poll_immediate.c:314,1
    - Dst: poll_translate
      Src: /src/openssl/ssl/rio/poll_immediate.c:316,1
    - Dst: ossl_time_min
      Src: /src/openssl/ssl/rio/poll_immediate.c:325,1
    - Dst: ossl_rio_poll_builder_poll
      Src: /src/openssl/ssl/rio/poll_immediate.c:328,1
    - Dst: postpoll_translation_cleanup
      Src: /src/openssl/ssl/rio/poll_immediate.c:330,1
    - Dst: ossl_rio_poll_builder_cleanup
      Src: /src/openssl/ssl/rio/poll_immediate.c:333,1
    - Dst: ossl_quic_reactor_wait_ctx_cleanup
      Src: /src/openssl/ssl/rio/poll_immediate.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - items
    - num_items
    - stride
    - user_deadline
    - p_result_count
    argTypes:
    - SSL_POLL_ITEM*
    - size_t
    - size_t
    - OSSL_TIME
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 281
    functionDepth: 7
    functionLinenumber: 281
    functionLinenumberEnd: 336
    functionName: poll_block
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached:
    - ossl_time_min
    - postpoll_translation_cleanup
    - ossl_quic_reactor_wait_ctx_cleanup
    - ossl_quic_reactor_wait_ctx_init
    - poll_translate
    - ossl_rio_poll_builder_poll
    - ossl_rio_poll_builder_cleanup
    - ossl_rio_poll_builder_init
    linkageType: ''
    returnType: int
    signature: "int poll_block(SSL_POLL_ITEM *items,\n                      size_t
      num_items,\n                      size_t stride,\n                      OSSL_TIME
      user_deadline,\n                      size_t *p_result_count)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ITEM_N
      Src: /src/openssl/ssl/rio/poll_immediate.c:355,1
    - Dst: ossl_quic_conn_poll_events
      Src: /src/openssl/ssl/rio/poll_immediate.c:373,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:375,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:384,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:387,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:391,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:394,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/poll_immediate.c:396,1
    - Dst: FAIL_ITEM
      Src: /src/openssl/ssl/rio/poll_immediate.c:399,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - items
    - num_items
    - stride
    - do_tick
    - p_result_count
    argTypes:
    - SSL_POLL_ITEM*
    - size_t
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 339
    functionDepth: 5
    functionLinenumber: 339
    functionLinenumberEnd: 410
    functionName: poll_readout
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 0
    functionsReached:
    - FAIL_ITEM
    - ITEM_N
    - ERR_raise_data
    - ossl_quic_conn_poll_events
    linkageType: ''
    returnType: int
    signature: "int poll_readout(SSL_POLL_ITEM *items,\n                        size_t
      num_items,\n                        size_t stride,\n                        int
      do_tick,\n                        size_t *p_result_count)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_sleep
      Src: /src/openssl/ssl/rio/poll_immediate.c:428,1
    - Dst: ossl_time2ms
      Src: /src/openssl/ssl/rio/poll_immediate.c:428,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/ssl/rio/poll_immediate.c:428,1
    - Dst: ossl_time_infinite
      Src: /src/openssl/ssl/rio/poll_immediate.c:434,1
    - Dst: ossl_time_zero
      Src: /src/openssl/ssl/rio/poll_immediate.c:436,1
    - Dst: ossl_time_add
      Src: /src/openssl/ssl/rio/poll_immediate.c:438,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/rio/poll_immediate.c:438,1
    - Dst: ossl_time_from_timeval
      Src: /src/openssl/ssl/rio/poll_immediate.c:439,1
    - Dst: poll_readout
      Src: /src/openssl/ssl/rio/poll_immediate.c:444,1
    - Dst: ossl_time_is_zero
      Src: /src/openssl/ssl/rio/poll_immediate.c:454,1
    - Dst: ossl_time_compare
      Src: /src/openssl/ssl/rio/poll_immediate.c:455,1
    - Dst: ossl_time_now
      Src: /src/openssl/ssl/rio/poll_immediate.c:455,1
    - Dst: poll_block
      Src: /src/openssl/ssl/rio/poll_immediate.c:464,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 6
    argNames:
    - items
    - num_items
    - stride
    - timeout
    - flags
    - p_result_count
    argTypes:
    - SSL_POLL_ITEM*
    - size_t
    - size_t
    - struct timeval*
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 412
    functionDepth: 8
    functionLinenumber: 412
    functionLinenumberEnd: 478
    functionName: SSL_poll
    functionSourceFile: /src/openssl/ssl/rio/poll_immediate.c
    functionUses: 8
    functionsReached:
    - poll_readout
    - ossl_time_infinite
    - ossl_time_zero
    - poll_block
    - ossl_time_from_timeval
    - OSSL_sleep
    - ossl_time_compare
    - ossl_time2ms
    - ossl_time_now
    - ossl_time_is_zero
    - ossl_time_add
    linkageType: ''
    returnType: int
    signature: "int SSL_poll(SSL_POLL_ITEM *items,\n             size_t num_items,\n
      \            size_t stride,\n             const struct timeval *timeout,\n             uint64_t
      flags,\n             size_t *p_result_count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/openssl/ssl/rio/rio_notifier.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: set_cloexec
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 0
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: int
    signature: int set_cloexec(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/openssl/ssl/rio/rio_notifier.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ossl_wsa_cleanup
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void ossl_wsa_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/openssl/ssl/rio/rio_notifier.c:47,1
    - Dst: OPENSSL_atexit
      Src: /src/openssl/ssl/rio/rio_notifier.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: DEFINE_RUN_ONCE_STATIC
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 0
    functionsReached:
    - OPENSSL_atexit
    - WSAStartup
    linkageType: ''
    returnType: void
    signature: void DEFINE_RUN_ONCE_STATIC(do_wsa_startup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_ONCE
      Src: /src/openssl/ssl/rio/rio_notifier.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: ensure_wsa_startup
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 0
    functionsReached:
    - RUN_ONCE
    linkageType: ''
    returnType: ossl_inline
    signature: ossl_inline ensure_wsa_startup(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WSASocketA
      Src: /src/openssl/ssl/rio/rio_notifier.c:80,1
    - Dst: WSASocketA
      Src: /src/openssl/ssl/rio/rio_notifier.c:91,1
    - Dst: WSASocketA
      Src: /src/openssl/ssl/rio/rio_notifier.c:93,1
    - Dst: get_last_socket_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:96,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:98,1
    - Dst: setsockopt
      Src: /src/openssl/ssl/rio/rio_notifier.c:104,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:105,1
    - Dst: get_last_socket_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:105,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:107,1
    - Dst: BIO_socket
      Src: /src/openssl/ssl/rio/rio_notifier.c:116,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:118,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:118,1
    - Dst: set_cloexec
      Src: /src/openssl/ssl/rio/rio_notifier.c:127,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:128,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:128,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - domain
    - socktype
    - protocol
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 136
    functionName: create_socket
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 7
    functionsReached:
    - BIO_closesocket
    - set_cloexec
    - setsockopt
    - get_last_socket_error
    - ERR_raise_data
    - BIO_socket
    - get_last_sys_error
    - WSASocketA
    linkageType: ''
    returnType: int
    signature: int create_socket(int domain, int socktype, int protocol)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ensure_wsa_startup
      Src: /src/openssl/ssl/rio/rio_notifier.c:154,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:155,1
    - Dst: create_socket
      Src: /src/openssl/ssl/rio/rio_notifier.c:161,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:163,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:163,1
    - Dst: htonl
      Src: /src/openssl/ssl/rio/rio_notifier.c:170,1
    - Dst: bind
      Src: /src/openssl/ssl/rio/rio_notifier.c:171,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:173,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:173,1
    - Dst: getsockname
      Src: /src/openssl/ssl/rio/rio_notifier.c:179,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:181,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:181,1
    - Dst: listen
      Src: /src/openssl/ssl/rio/rio_notifier.c:187,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:189,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:189,1
    - Dst: create_socket
      Src: /src/openssl/ssl/rio/rio_notifier.c:195,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:197,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:197,1
    - Dst: BIO_set_tcp_ndelay
      Src: /src/openssl/ssl/rio/rio_notifier.c:206,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:207,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:207,1
    - Dst: connect
      Src: /src/openssl/ssl/rio/rio_notifier.c:215,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:217,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:217,1
    - Dst: accept
      Src: /src/openssl/ssl/rio/rio_notifier.c:225,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:227,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:227,1
    - Dst: getsockname
      Src: /src/openssl/ssl/rio/rio_notifier.c:232,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:234,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:234,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:240,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:248,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/ssl/rio/rio_notifier.c:254,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:255,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:255,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/ssl/rio/rio_notifier.c:260,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:261,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:261,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:272,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:274,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:276,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 1
    argNames:
    - nfy
    argTypes:
    - RIO_NOTIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 278
    functionName: ossl_rio_notifier_init
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 1
    functionsReached:
    - create_socket
    - bind
    - BIO_closesocket
    - listen
    - getsockname
    - BIO_socket_nbio
    - ERR_raise_data
    - ensure_wsa_startup
    - get_last_sys_error
    - BIO_set_tcp_ndelay
    - accept
    - connect
    - htonl
    linkageType: ''
    returnType: int
    signature: int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socketpair
      Src: /src/openssl/ssl/rio/rio_notifier.c:297,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:298,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:298,1
    - Dst: set_cloexec
      Src: /src/openssl/ssl/rio/rio_notifier.c:303,1
    - Dst: set_cloexec
      Src: /src/openssl/ssl/rio/rio_notifier.c:303,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:304,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:304,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/ssl/rio/rio_notifier.c:310,1
    - Dst: BIO_socket_nbio
      Src: /src/openssl/ssl/rio/rio_notifier.c:310,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:311,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:311,1
    - Dst: BIO_set_tcp_ndelay
      Src: /src/openssl/ssl/rio/rio_notifier.c:317,1
    - Dst: ERR_raise_data
      Src: /src/openssl/ssl/rio/rio_notifier.c:318,1
    - Dst: get_last_sys_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:318,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:328,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:329,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - nfy
    argTypes:
    - RIO_NOTIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 331
    functionName: ossl_rio_notifier_init
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 1
    functionsReached:
    - BIO_closesocket
    - set_cloexec
    - BIO_socket_nbio
    - ERR_raise_data
    - get_last_sys_error
    - BIO_set_tcp_ndelay
    - socketpair
    linkageType: ''
    returnType: int
    signature: int ossl_rio_notifier_init(RIO_NOTIFIER *nfy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:340,1
    - Dst: BIO_closesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nfy
    argTypes:
    - RIO_NOTIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: ossl_rio_notifier_cleanup
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 2
    functionsReached:
    - BIO_closesocket
    linkageType: ''
    returnType: void
    signature: void ossl_rio_notifier_cleanup(RIO_NOTIFIER *nfy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writesocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:355,1
    - Dst: get_last_socket_error_is_eintr
      Src: /src/openssl/ssl/rio/rio_notifier.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - nfy
    argTypes:
    - RIO_NOTIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 359
    functionName: ossl_rio_notifier_signal
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 1
    functionsReached:
    - get_last_socket_error_is_eintr
    - writesocket
    linkageType: ''
    returnType: int
    signature: int ossl_rio_notifier_signal(RIO_NOTIFIER *nfy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readsocket
      Src: /src/openssl/ssl/rio/rio_notifier.c:371,1
    - Dst: get_last_socket_error_is_eintr
      Src: /src/openssl/ssl/rio/rio_notifier.c:373,1
    - Dst: BIO_fd_non_fatal_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:375,1
    - Dst: get_last_socket_error
      Src: /src/openssl/ssl/rio/rio_notifier.c:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - nfy
    argTypes:
    - RIO_NOTIFIER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 379
    functionName: ossl_rio_notifier_unsignal
    functionSourceFile: /src/openssl/ssl/rio/rio_notifier.c
    functionUses: 1
    functionsReached:
    - BIO_fd_non_fatal_error
    - get_last_socket_error_is_eintr
    - readsocket
    - get_last_socket_error
    linkageType: ''
    returnType: int
    signature: int ossl_rio_notifier_unsignal(RIO_NOTIFIER *nfy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncodeBlock
      Src: /src/openssl/util/check-format-test-negatives.c:88,1
    - Dst: EVP_EncodeFinal
      Src: /src/openssl/util/check-format-test-negatives.c:93,1
    - Dst: f
      Src: /src/openssl/util/check-format-test-negatives.c:99,1
    - Dst: get_passwd
      Src: /src/openssl/util/check-format-test-negatives.c:103,1
    - Dst: cleanse
      Src: /src/openssl/util/check-format-test-negatives.c:106,1
    - Dst: OSSL_CMP_CTX_set1_secretValue
      Src: /src/openssl/util/check-format-test-negatives.c:107,1
    - Dst: strlen
      Src: /src/openssl/util/check-format-test-negatives.c:108,1
    - Dst: clear_free
      Src: /src/openssl/util/check-format-test-negatives.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 112
    functionName: f
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 1855
    functionsReached:
    - get_passwd
    - OSSL_CMP_CTX_set1_secretValue
    - clear_free
    - EVP_EncodeFinal
    - EVP_EncodeBlock
    - strlen
    - f
    - cleanse
    linkageType: ''
    returnType: int
    signature: int f(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: IF
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - cond
    - ','
    - ctx
    - ','
    - cert
    - ','
    - depth
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: CB_ERR_IF
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CB_ERR_IF(cond, ctx, cert, depth, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX*::verify_cb
      Src: /src/openssl/util/check-format-test-negatives.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - err
    argTypes:
    - X509_STORE_CTX*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: verify_cb_crl
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 4
    functionsReached:
    - X509_STORE_CTX*::verify_cb
    linkageType: ''
    returnType: int
    signature: int verify_cb_crl(X509_STORE_CTX *ctx, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: X509_OBJECT_get0_X509
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_OBJECT_get0_X509(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: X509_STORE_CTX_set_current_cert
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_STORE_CTX_set_current_cert(ctx, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - idx
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: X509_STORE_set_ex_data
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_STORE_set_ex_data(ctx, idx, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: X509_STORE_CTX_set_error_depth
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X509_STORE_CTX_set_error_depth(ctx, depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: EVP_PKEY_up_ref
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EVP_PKEY_up_ref(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 378
    functionName: f
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 1855
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int f()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: SWITCH
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWITCH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: f
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 1855
    functionsReached: []
    linkageType: ''
    returnType: struct provider_store_st
    signature: struct provider_store_st *f()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct pem_pass_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: f
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 1855
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void f(struct pem_pass_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 482
    functionName: fun
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *fun(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 201
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 704
    functionName: f_looong_body_200
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void f_looong_body_200()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 203
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 910
    functionName: f_looong_body_201
    functionSourceFile: /src/openssl/util/check-format-test-negatives.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void f_looong_body_201()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/openssl/util/check-format-test-positives.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void main(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: somefunc
      Src: /src/openssl/util/check-format-test-positives.c:99,1
    - Dst: MAC
      Src: /src/openssl/util/check-format-test-positives.c:106,1
    - Dst: f
      Src: /src/openssl/util/check-format-test-positives.c:132,1
    - Dst: f
      Src: /src/openssl/util/check-format-test-positives.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - I
    argTypes:
    - int
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 148
    functionName: f
    functionSourceFile: /src/openssl/util/check-format-test-positives.c
    functionUses: 1856
    functionsReached:
    - MAC
    - f
    - somefunc
    linkageType: ''
    returnType: int
    signature: "int f (int a,       /*@ space after fn before '(', reported unless
      sloppy-spc */\n      int b,        /*@ hanging expr indent off by -1 */\n       long
      I)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 200
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 354
    functionName: f_looong_body
    functionSourceFile: /src/openssl/util/check-format-test-positives.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void f_looong_body()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: RANK
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANK(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - h
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: UPDATE_HASH
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_HASH(s,h,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - match_head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: INSERT_STRING
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_STRING(s, str, match_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - match_head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: INSERT_STRING
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_STRING(s, str, match_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: CLEAR_HASH
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_HASH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 209
    functionName: slide_hash
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local slide_hash(deflate_state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:226,1
    - Dst: adler32
      Src: /src/zlib/deflate.c:228,1
    - Dst: crc32
      Src: /src/zlib/deflate.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - strm
    - buf
    - size
    argTypes:
    - z_streamp
    - Bytef*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 239
    functionName: read_buf
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - crc32
    - adler32
    - zmemcpy
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned read_buf(z_streamp strm, Bytef *buf, unsigned size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/zlib/deflate.c:256,1
    - Dst: MAX_DIST
      Src: /src/zlib/deflate.c:277,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:279,1
    - Dst: slide_hash
      Src: /src/zlib/deflate.c:285,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:301,1
    - Dst: read_buf
      Src: /src/zlib/deflate.c:303,1
    - Dst: UPDATE_HASH
      Src: /src/zlib/deflate.c:310,1
    - Dst: UPDATE_HASH
      Src: /src/zlib/deflate.c:315,1
    - Dst: zmemzero
      Src: /src/zlib/deflate.c:350,1
    - Dst: zmemzero
      Src: /src/zlib/deflate.c:361,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:366,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 368
    functionName: fill_window
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - MAX_DIST
    - UPDATE_HASH
    - slide_hash
    - zmemzero
    - read_buf
    - zmemcpy
    - Assert
    linkageType: ''
    returnType: local
    signature: local fill_window(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2_
      Src: /src/zlib/deflate.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - strm
    - level
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: deflateInit_
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 1
    functionsReached:
    - deflateInit2_
    linkageType: ''
    returnType: int
    signature: "int deflateInit_(z_streamp strm, int level, const char *version,\n
      \                        int stream_size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:432,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:449,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:450,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:451,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:496,1
    - Dst: ERR_MSG
      Src: /src/zlib/deflate.c:502,1
    - Dst: deflateEnd
      Src: /src/zlib/deflate.c:503,1
    - Dst: deflateReset
      Src: /src/zlib/deflate.c:523,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 8
    argNames:
    - strm
    - level
    - method
    - windowBits
    - memLevel
    - strategy
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - int
    - int
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 524
    functionName: deflateInit2_
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 1
    functionsReached:
    - deflateReset
    - deflateEnd
    - ZALLOC
    - ERR_MSG
    linkageType: ''
    returnType: int
    signature: "int deflateInit2_(z_streamp strm, int level, int method,\n                          int
      windowBits, int memLevel, int strategy,\n                          const char
      *version, int stream_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 547
    functionName: deflateStateCheck
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local deflateStateCheck(z_streamp strm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:558,1
    - Dst: adler32
      Src: /src/zlib/deflate.c:567,1
    - Dst: CLEAR_HASH
      Src: /src/zlib/deflate.c:573,1
    - Dst: fill_window
      Src: /src/zlib/deflate.c:587,1
    - Dst: UPDATE_HASH
      Src: /src/zlib/deflate.c:592,1
    - Dst: fill_window
      Src: /src/zlib/deflate.c:601,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes:
    - z_streamp
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 613
    functionName: deflateSetDictionary
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - CLEAR_HASH
    - UPDATE_HASH
    - deflateStateCheck
    - fill_window
    - adler32
    linkageType: ''
    returnType: int
    signature: "int deflateSetDictionary(z_streamp strm, const Bytef *dictionary,\n
      \                                uInt  dictLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:621,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes:
    - z_streamp
    - Bytef*
    - uInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 632
    functionName: deflateGetDictionary
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    - zmemcpy
    linkageType: ''
    returnType: int
    signature: "int deflateGetDictionary(z_streamp strm, Bytef *dictionary,\n                                 uInt
      *dictLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR_HASH
      Src: /src/zlib/deflate.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 692
    functionName: lm_init
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - CLEAR_HASH
    linkageType: ''
    returnType: local
    signature: local lm_init(deflate_state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateResetKeep
      Src: /src/zlib/deflate.c:698,1
    - Dst: lm_init
      Src: /src/zlib/deflate.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: deflateReset
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 1
    functionsReached:
    - deflateResetKeep
    - lm_init
    linkageType: ''
    returnType: int
    signature: int deflateReset(z_streamp strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - strm
    - head
    argTypes:
    - z_streamp
    - gz_headerp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionName: deflateSetHeader
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: int deflateSetHeader(z_streamp strm, gz_headerp head)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - strm
    - pending
    - bits
    argTypes:
    - z_streamp
    - unsigned*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: deflatePending
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: int deflatePending(z_streamp strm, unsigned *pending, int *bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - strm
    - bits
    argTypes:
    - z_streamp
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 728
    functionName: deflateUsed
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: int deflateUsed(z_streamp strm, int *bits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:735,1
    - Dst: _tr_flush_bits
      Src: /src/zlib/deflate.c:752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - strm
    - bits
    - value
    argTypes:
    - z_streamp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 757
    functionName: deflatePrime
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - _tr_flush_bits
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: int deflatePrime(z_streamp strm, int bits, int value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:764,1
    - Dst: deflate
      Src: /src/zlib/deflate.c:780,1
    - Dst: slide_hash
      Src: /src/zlib/deflate.c:789,1
    - Dst: CLEAR_HASH
      Src: /src/zlib/deflate.c:791,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - strm
    - level
    - strategy
    argTypes:
    - z_streamp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 802
    functionName: deflateParams
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    - slide_hash
    - CLEAR_HASH
    - deflate
    linkageType: ''
    returnType: int
    signature: int deflateParams(z_streamp strm, int level, int strategy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - strm
    - good_length
    - max_lazy
    - nice_length
    - max_chain
    argTypes:
    - z_streamp
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 816
    functionName: deflateTune
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: "int deflateTune(z_streamp strm, int good_length, int max_lazy,\n                        int
      nice_length, int max_chain)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:858,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - strm
    - sourceLen
    argTypes:
    - z_streamp
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 905
    functionName: deflateBound
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: uLong
    signature: uLong deflateBound(z_streamp strm, uLong sourceLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_byte
      Src: /src/zlib/deflate.c:913,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - b
    argTypes:
    - deflate_state*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: putShortMSB
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - put_byte
    linkageType: ''
    returnType: local
    signature: local putShortMSB(deflate_state *s, uInt b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _tr_flush_bits
      Src: /src/zlib/deflate.c:927,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 941
    functionName: flush_pending
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - _tr_flush_bits
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: local flush_pending(z_streamp strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - beg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 952
    functionName: HCRC_UPDATE
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HCRC_UPDATE(beg)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:958,1
    - Dst: ERR_RETURN
      Src: /src/zlib/deflate.c:966,1
    - Dst: ERR_RETURN
      Src: /src/zlib/deflate.c:968,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:975,1
    - Dst: RANK
      Src: /src/zlib/deflate.c:991,1
    - Dst: RANK
      Src: /src/zlib/deflate.c:991,1
    - Dst: ERR_RETURN
      Src: /src/zlib/deflate.c:993,1
    - Dst: ERR_RETURN
      Src: /src/zlib/deflate.c:998,1
    - Dst: putShortMSB
      Src: /src/zlib/deflate.c:1021,1
    - Dst: putShortMSB
      Src: /src/zlib/deflate.c:1025,1
    - Dst: putShortMSB
      Src: /src/zlib/deflate.c:1026,1
    - Dst: adler32
      Src: /src/zlib/deflate.c:1028,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1032,1
    - Dst: crc32
      Src: /src/zlib/deflate.c:1041,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1042,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1043,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1044,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1046,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1047,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1048,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1049,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1050,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1051,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1054,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1058,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1065,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1071,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1072,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1073,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1074,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1075,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1078,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1080,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1081,1
    - Dst: crc32
      Src: /src/zlib/deflate.c:1084,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1096,1
    - Dst: HCRC_UPDATE
      Src: /src/zlib/deflate.c:1099,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1101,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1109,1
    - Dst: HCRC_UPDATE
      Src: /src/zlib/deflate.c:1112,1
    - Dst: HCRC_UPDATE
      Src: /src/zlib/deflate.c:1123,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1124,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1132,1
    - Dst: HCRC_UPDATE
      Src: /src/zlib/deflate.c:1134,1
    - Dst: HCRC_UPDATE
      Src: /src/zlib/deflate.c:1145,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1146,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1154,1
    - Dst: HCRC_UPDATE
      Src: /src/zlib/deflate.c:1156,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1163,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1169,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1170,1
    - Dst: crc32
      Src: /src/zlib/deflate.c:1171,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1176,1
    - Dst: deflate_stored
      Src: /src/zlib/deflate.c:1190,1
    - Dst: deflate_huff
      Src: /src/zlib/deflate.c:1191,1
    - Dst: deflate_rle
      Src: /src/zlib/deflate.c:1192,1
    - Dst: _tr_align
      Src: /src/zlib/deflate.c:1213,1
    - Dst: _tr_stored_block
      Src: /src/zlib/deflate.c:1215,1
    - Dst: CLEAR_HASH
      Src: /src/zlib/deflate.c:1220,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1228,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1242,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1243,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1244,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1245,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1246,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1247,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1248,1
    - Dst: put_byte
      Src: /src/zlib/deflate.c:1249,1
    - Dst: putShortMSB
      Src: /src/zlib/deflate.c:1254,1
    - Dst: putShortMSB
      Src: /src/zlib/deflate.c:1255,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1257,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 224
    argCount: 2
    argNames:
    - strm
    - flush
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 1263
    functionName: deflate
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 5
    functionsReached:
    - flush_pending
    - CLEAR_HASH
    - deflate_huff
    - RANK
    - _tr_align
    - deflateStateCheck
    - putShortMSB
    - crc32
    - deflate_rle
    - zmemcpy
    - _tr_stored_block
    - HCRC_UPDATE
    - ERR_RETURN
    - deflate_stored
    - adler32
    - put_byte
    linkageType: ''
    returnType: int
    signature: int deflate(z_streamp strm, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:1269,1
    - Dst: TRY_FREE
      Src: /src/zlib/deflate.c:1274,1
    - Dst: TRY_FREE
      Src: /src/zlib/deflate.c:1275,1
    - Dst: TRY_FREE
      Src: /src/zlib/deflate.c:1276,1
    - Dst: TRY_FREE
      Src: /src/zlib/deflate.c:1277,1
    - Dst: ZFREE
      Src: /src/zlib/deflate.c:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1283
    functionName: deflateEnd
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 4
    functionsReached:
    - TRY_FREE
    - deflateStateCheck
    - ZFREE
    linkageType: ''
    returnType: int
    signature: int deflateEnd(z_streamp strm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/zlib/deflate.c:1300,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1306,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:1308,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1311,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:1314,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:1315,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:1316,1
    - Dst: ZALLOC
      Src: /src/zlib/deflate.c:1317,1
    - Dst: deflateEnd
      Src: /src/zlib/deflate.c:1321,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1325,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1326,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1327,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - z_streamp
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1344
    functionName: deflateCopy
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    - deflateEnd
    - ZALLOC
    - zmemcpy
    linkageType: ''
    returnType: int
    signature: int deflateCopy(z_streamp dest, z_streamp source)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MAX_DIST
      Src: /src/zlib/deflate.c:1363,1
    - Dst: MAX_DIST
      Src: /src/zlib/deflate.c:1364,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1387,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1398,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1402,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1429,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1440,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1461,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1473,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 44
    argCount: 2
    argNames:
    - s
    - cur_match
    argTypes:
    - deflate_state*
    - IPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1497
    functionName: longest_match
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - MAX_DIST
    - Assert
    linkageType: ''
    returnType: local
    signature: local longest_match(deflate_state *s, IPos cur_match)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/zlib/deflate.c:1513,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1515,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1518,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1533,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:1545,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - s
    - cur_match
    argTypes:
    - deflate_state*
    - IPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1553
    functionName: longest_match
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: local
    signature: local longest_match(deflate_state *s, IPos cur_match)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zmemcmp
      Src: /src/zlib/deflate.c:1576,1
    - Dst: fprintf
      Src: /src/zlib/deflate.c:1577,1
    - Dst: fprintf
      Src: /src/zlib/deflate.c:1580,1
    - Dst: z_error
      Src: /src/zlib/deflate.c:1582,1
    - Dst: fprintf
      Src: /src/zlib/deflate.c:1585,1
    - Dst: putc
      Src: /src/zlib/deflate.c:1586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - s
    - start
    - match
    - length
    argTypes:
    - deflate_state*
    - IPos
    - IPos
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1588
    functionName: check_match
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - putc
    - z_error
    - zmemcmp
    - fprintf
    linkageType: ''
    returnType: local
    signature: local check_match(deflate_state *s, IPos start, IPos match, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1607
    functionName: FLUSH_BLOCK_ONLY
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_BLOCK_ONLY(s, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1613
    functionName: FLUSH_BLOCK
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_BLOCK(s, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1619
    functionName: MIN
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/zlib/deflate.c:1640,1
    - Dst: _tr_stored_block
      Src: /src/zlib/deflate.c:1680,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1689,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1701,1
    - Dst: read_buf
      Src: /src/zlib/deflate.c:1713,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1733,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1741,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1747,1
    - Dst: MIN
      Src: /src/zlib/deflate.c:1749,1
    - Dst: zmemcpy
      Src: /src/zlib/deflate.c:1773,1
    - Dst: read_buf
      Src: /src/zlib/deflate.c:1783,1
    - Dst: MIN
      Src: /src/zlib/deflate.c:1785,1
    - Dst: MIN
      Src: /src/zlib/deflate.c:1797,1
    - Dst: MIN
      Src: /src/zlib/deflate.c:1798,1
    - Dst: MIN
      Src: /src/zlib/deflate.c:1803,1
    - Dst: _tr_stored_block
      Src: /src/zlib/deflate.c:1806,1
    - Dst: flush_pending
      Src: /src/zlib/deflate.c:1808,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 104
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1815
    functionName: block_state::deflate_stored
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - flush_pending
    - MIN
    - read_buf
    - zmemcpy
    - _tr_stored_block
    linkageType: ''
    returnType: local
    signature: local block_state deflate_stored(deflate_state *s, int flush)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/zlib/deflate.c:1835,1
    - Dst: INSERT_STRING
      Src: /src/zlib/deflate.c:1847,1
    - Dst: MAX_DIST
      Src: /src/zlib/deflate.c:1853,1
    - Dst: longest_match
      Src: /src/zlib/deflate.c:1858,1
    - Dst: check_match
      Src: /src/zlib/deflate.c:1862,1
    - Dst: _tr_tally_dist
      Src: /src/zlib/deflate.c:1864,1
    - Dst: INSERT_STRING
      Src: /src/zlib/deflate.c:1878,1
    - Dst: UPDATE_HASH
      Src: /src/zlib/deflate.c:1890,1
    - Dst: Tracevv
      Src: /src/zlib/deflate.c:1900,1
    - Dst: _tr_tally_lit
      Src: /src/zlib/deflate.c:1901,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:1905,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:1909,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:1913,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1824
    functionDepth: 3
    functionLinenumber: 1824
    functionLinenumberEnd: 1915
    functionName: block_state::deflate_fast
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - FLUSH_BLOCK
    - INSERT_STRING
    - MAX_DIST
    - check_match
    - UPDATE_HASH
    - _tr_tally_dist
    - longest_match
    - Tracevv
    - fill_window
    - _tr_tally_lit
    linkageType: ''
    returnType: local
    signature: local block_state deflate_fast(deflate_state *s, int flush)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/zlib/deflate.c:1935,1
    - Dst: INSERT_STRING
      Src: /src/zlib/deflate.c:1947,1
    - Dst: MAX_DIST
      Src: /src/zlib/deflate.c:1956,1
    - Dst: longest_match
      Src: /src/zlib/deflate.c:1961,1
    - Dst: check_match
      Src: /src/zlib/deflate.c:1984,1
    - Dst: _tr_tally_dist
      Src: /src/zlib/deflate.c:1986,1
    - Dst: INSERT_STRING
      Src: /src/zlib/deflate.c:1998,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2005,1
    - Dst: Tracevv
      Src: /src/zlib/deflate.c:2012,1
    - Dst: _tr_tally_lit
      Src: /src/zlib/deflate.c:2013,1
    - Dst: FLUSH_BLOCK_ONLY
      Src: /src/zlib/deflate.c:2015,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:2029,1
    - Dst: Tracevv
      Src: /src/zlib/deflate.c:2031,1
    - Dst: _tr_tally_lit
      Src: /src/zlib/deflate.c:2032,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2037,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2041,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 1923
    functionDepth: 3
    functionLinenumber: 1923
    functionLinenumberEnd: 2043
    functionName: block_state::deflate_slow
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - FLUSH_BLOCK
    - INSERT_STRING
    - MAX_DIST
    - check_match
    - FLUSH_BLOCK_ONLY
    - _tr_tally_dist
    - longest_match
    - Tracevv
    - fill_window
    - Assert
    - _tr_tally_lit
    linkageType: ''
    returnType: local
    signature: local block_state deflate_slow(deflate_state *s, int flush)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/zlib/deflate.c:2062,1
    - Dst: Assert
      Src: /src/zlib/deflate.c:2086,1
    - Dst: check_match
      Src: /src/zlib/deflate.c:2092,1
    - Dst: _tr_tally_dist
      Src: /src/zlib/deflate.c:2094,1
    - Dst: Tracevv
      Src: /src/zlib/deflate.c:2101,1
    - Dst: _tr_tally_lit
      Src: /src/zlib/deflate.c:2102,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2106,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2110,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2114,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2051
    functionDepth: 3
    functionLinenumber: 2051
    functionLinenumberEnd: 2116
    functionName: block_state::deflate_rle
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - FLUSH_BLOCK
    - check_match
    - _tr_tally_dist
    - Tracevv
    - fill_window
    - Assert
    - _tr_tally_lit
    linkageType: ''
    returnType: local
    signature: local block_state deflate_rle(deflate_state *s, int flush)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/zlib/deflate.c:2128,1
    - Dst: Tracevv
      Src: /src/zlib/deflate.c:2138,1
    - Dst: _tr_tally_lit
      Src: /src/zlib/deflate.c:2139,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2142,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2146,1
    - Dst: FLUSH_BLOCK
      Src: /src/zlib/deflate.c:2150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2122
    functionDepth: 3
    functionLinenumber: 2122
    functionLinenumberEnd: 2152
    functionName: block_state::deflate_huff
    functionSourceFile: /src/zlib/deflate.c
    functionUses: 0
    functionsReached:
    - FLUSH_BLOCK
    - _tr_tally_lit
    - fill_window
    - Tracevv
    linkageType: ''
    returnType: local
    signature: local block_state deflate_huff(deflate_state *s, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: put_byte
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_byte(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: MAX_DIST
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_DIST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dist
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: d_code
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d_code(dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: _tr_tally_lit
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: _tr_tally_dist
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: _tr_tally_lit
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: _tr_tally_dist
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: _tr_tally_lit
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: _tr_tally_dist
    functionSourceFile: /src/zlib/deflate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/zlib/infback.c:51,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:54,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - strm
    - windowBits
    - window
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - unsigned char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 64
    functionName: inflateBackInit_
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached:
    - ZALLOC
    - Tracev
    linkageType: ''
    returnType: int
    signature: "int inflateBackInit_(z_streamp strm, int windowBits,\n                             unsigned
      char FAR *window, const char *version,\n                             int stream_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/zlib/infback.c:96,1
    - Dst: inflate_table
      Src: /src/zlib/infback.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct inflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 115
    functionName: fixedtables
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached:
    - inflate_table
    linkageType: ''
    returnType: local
    signature: local fixedtables(struct inflate_state FAR *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: LOAD
    functionSourceFile: /src/zlib/infback.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: RESTORE
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: INITBITS
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: PULL
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: PULLBYTE
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: NEEDBITS
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: BITS
    functionSourceFile: /src/zlib/infback.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: DROPBITS
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: BYTEBITS
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: ROOM
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROOM()
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: BYTEBITS
      Src: /src/zlib/infback.c:282,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:286,1
    - Dst: BITS
      Src: /src/zlib/infback.c:287,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:288,1
    - Dst: BITS
      Src: /src/zlib/infback.c:289,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:291,1
    - Dst: fixedtables
      Src: /src/zlib/infback.c:296,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:297,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:302,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:310,1
    - Dst: BYTEBITS
      Src: /src/zlib/infback.c:315,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:316,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:323,1
    - Dst: INITBITS
      Src: /src/zlib/infback.c:325,1
    - Dst: PULL
      Src: /src/zlib/infback.c:330,1
    - Dst: ROOM
      Src: /src/zlib/infback.c:331,1
    - Dst: zmemcpy
      Src: /src/zlib/infback.c:334,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:341,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:347,1
    - Dst: BITS
      Src: /src/zlib/infback.c:348,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:349,1
    - Dst: BITS
      Src: /src/zlib/infback.c:350,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:351,1
    - Dst: BITS
      Src: /src/zlib/infback.c:352,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:353,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:361,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:366,1
    - Dst: BITS
      Src: /src/zlib/infback.c:367,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:368,1
    - Dst: inflate_table
      Src: /src/zlib/infback.c:375,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:382,1
    - Dst: BITS
      Src: /src/zlib/infback.c:388,1
    - Dst: PULLBYTE
      Src: /src/zlib/infback.c:390,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:393,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:398,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:399,1
    - Dst: BITS
      Src: /src/zlib/infback.c:406,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:407,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:410,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:411,1
    - Dst: BITS
      Src: /src/zlib/infback.c:413,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:414,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:417,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:418,1
    - Dst: BITS
      Src: /src/zlib/infback.c:420,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:421,1
    - Dst: inflate_table
      Src: /src/zlib/infback.c:449,1
    - Dst: inflate_table
      Src: /src/zlib/infback.c:458,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:465,1
    - Dst: RESTORE
      Src: /src/zlib/infback.c:472,1
    - Dst: inflate_fast
      Src: /src/zlib/infback.c:475,1
    - Dst: LOAD
      Src: /src/zlib/infback.c:476,1
    - Dst: BITS
      Src: /src/zlib/infback.c:482,1
    - Dst: PULLBYTE
      Src: /src/zlib/infback.c:484,1
    - Dst: BITS
      Src: /src/zlib/infback.c:490,1
    - Dst: PULLBYTE
      Src: /src/zlib/infback.c:492,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:494,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:496,1
    - Dst: Tracevv
      Src: /src/zlib/infback.c:501,1
    - Dst: ROOM
      Src: /src/zlib/infback.c:504,1
    - Dst: Tracevv
      Src: /src/zlib/infback.c:513,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:528,1
    - Dst: BITS
      Src: /src/zlib/infback.c:529,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:530,1
    - Dst: Tracevv
      Src: /src/zlib/infback.c:532,1
    - Dst: BITS
      Src: /src/zlib/infback.c:536,1
    - Dst: PULLBYTE
      Src: /src/zlib/infback.c:538,1
    - Dst: BITS
      Src: /src/zlib/infback.c:544,1
    - Dst: PULLBYTE
      Src: /src/zlib/infback.c:546,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:548,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:550,1
    - Dst: NEEDBITS
      Src: /src/zlib/infback.c:561,1
    - Dst: BITS
      Src: /src/zlib/infback.c:562,1
    - Dst: DROPBITS
      Src: /src/zlib/infback.c:563,1
    - Dst: Tracevv
      Src: /src/zlib/infback.c:571,1
    - Dst: ROOM
      Src: /src/zlib/infback.c:575,1
    - Dst: out
      Src: /src/zlib/infback.c:612,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 306
    argCount: 5
    argNames:
    - strm
    - in
    - in_desc
    - out
    - out_desc
    argTypes:
    - z_streamp
    - in_func
    - void*
    - out_func
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 619
    functionName: inflateBack
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached:
    - inflate_fast
    - LOAD
    - out
    - NEEDBITS
    - Tracev
    - BYTEBITS
    - PULL
    - ROOM
    - BITS
    - PULLBYTE
    - Tracevv
    - DROPBITS
    - INITBITS
    - RESTORE
    - zmemcpy
    - fixedtables
    - inflate_table
    linkageType: ''
    returnType: int
    signature: "int inflateBack(z_streamp strm, in_func in, void FAR *in_desc,\n                        out_func
      out, void FAR *out_desc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZFREE
      Src: /src/zlib/infback.c:624,1
    - Dst: Tracev
      Src: /src/zlib/infback.c:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: inflateBackEnd
    functionSourceFile: /src/zlib/infback.c
    functionUses: 0
    functionsReached:
    - ZFREE
    - Tracev
    linkageType: ''
    returnType: int
    signature: int inflateBackEnd(z_streamp strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: zlibVersion
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ZEXPORT zlibVersion(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 113
    functionName: zlibCompileFlags
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: uLong zlibCompileFlags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/zutil.c:123,1
    - Dst: exit
      Src: /src/zlib/zutil.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: ZLIB_INTERNAL::z_error
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL z_error(char *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_MSG
      Src: /src/zlib/zutil.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: zError
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 3
    functionsReached:
    - ERR_MSG
    linkageType: ''
    returnType: char
    signature: char * ZEXPORT zError(int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - source
    - len
    argTypes:
    - Bytef*
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: ZLIB_INTERNAL::zmemcpy
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zmemcpy(Bytef* dest, const Bytef* source, uInt len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - Bytef*
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: ZLIB_INTERNAL::zmemcmp
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZLIB_INTERNAL zmemcmp(const Bytef* s1, const Bytef* s2, uInt len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dest
    - len
    argTypes:
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: ZLIB_INTERNAL::zmemzero
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zmemzero(Bytef* dest, uInt len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: farmalloc
      Src: /src/zlib/zutil.c:212,1
    - Dst: farmalloc
      Src: /src/zlib/zutil.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 225
    functionName: ZLIB_INTERNAL::zcalloc
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - farmalloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: farfree
      Src: /src/zlib/zutil.c:233,1
    - Dst: farfree
      Src: /src/zlib/zutil.c:240,1
    - Dst: Assert
      Src: /src/zlib/zutil.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 248
    functionName: ZLIB_INTERNAL::zcfree
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - Assert
    - farfree
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _halloc
      Src: /src/zlib/zutil.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - uInt
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: ZLIB_INTERNAL::zcalloc
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - _halloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, uInt items, uInt size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hfree
      Src: /src/zlib/zutil.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: ZLIB_INTERNAL::zcfree
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - _hfree
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/zutil.c:288,1
    - Dst: calloc
      Src: /src/zlib/zutil.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: ZLIB_INTERNAL::zcalloc
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - malloc
    - calloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/zlib/zutil.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: ZLIB_INTERNAL::zcfree
    functionSourceFile: /src/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/zlib/gzlib.c:33,1
    - Dst: FormatMessage
      Src: /src/zlib/gzlib.c:34,1
    - Dst: wcstombs
      Src: /src/zlib/gzlib.c:55,1
    - Dst: LocalFree
      Src: /src/zlib/gzlib.c:56,1
    - Dst: sprintf
      Src: /src/zlib/gzlib.c:59,1
    - Dst: SetLastError
      Src: /src/zlib/gzlib.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: ZLIB_INTERNAL *gz_strwinerror(DWORD error)
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - wcstombs
    - SetLastError
    - LocalFree
    - sprintf
    - FormatMessage
    linkageType: ''
    returnType: char
    signature: char ZLIB_INTERNAL *gz_strwinerror(DWORD error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/zlib/gzlib.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - gz_statep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: gz_reset
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - gz_error
    linkageType: ''
    returnType: local
    signature: local gz_reset(gz_statep state)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/gzlib.c:101,1
    - Dst: free
      Src: /src/zlib/gzlib.c:130,1
    - Dst: free
      Src: /src/zlib/gzlib.c:167,1
    - Dst: free
      Src: /src/zlib/gzlib.c:174,1
    - Dst: wcstombs
      Src: /src/zlib/gzlib.c:183,1
    - Dst: strlen
      Src: /src/zlib/gzlib.c:186,1
    - Dst: malloc
      Src: /src/zlib/gzlib.c:187,1
    - Dst: free
      Src: /src/zlib/gzlib.c:189,1
    - Dst: wcstombs
      Src: /src/zlib/gzlib.c:195,1
    - Dst: snprintf
      Src: /src/zlib/gzlib.c:203,1
    - Dst: strcpy
      Src: /src/zlib/gzlib.c:205,1
    - Dst: O_EXCL
      Src: /src/zlib/gzlib.c:223,1
    - Dst: open
      Src: /src/zlib/gzlib.c:232,1
    - Dst: _wopen
      Src: /src/zlib/gzlib.c:235,1
    - Dst: free
      Src: /src/zlib/gzlib.c:240,1
    - Dst: free
      Src: /src/zlib/gzlib.c:241,1
    - Dst: LSEEK
      Src: /src/zlib/gzlib.c:245,1
    - Dst: LSEEK
      Src: /src/zlib/gzlib.c:251,1
    - Dst: gz_reset
      Src: /src/zlib/gzlib.c:256,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 104
    argCount: 3
    argNames:
    - path
    - fd
    - mode
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 260
    functionName: gz_open
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - free
    - wcstombs
    - strcpy
    - gz_reset
    - _wopen
    - LSEEK
    - malloc
    - snprintf
    - strlen
    - open
    - O_EXCL
    linkageType: ''
    returnType: local
    signature: local gz_open(const void *path, int fd, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/zlib/gzlib.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: gzopen
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: gzFile gzopen(const char *path, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/zlib/gzlib.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: gzopen64
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: gzFile gzopen64(const char *path, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/gzlib.c:277,1
    - Dst: snprintf
      Src: /src/zlib/gzlib.c:280,1
    - Dst: sprintf
      Src: /src/zlib/gzlib.c:282,1
    - Dst: gz_open
      Src: /src/zlib/gzlib.c:284,1
    - Dst: free
      Src: /src/zlib/gzlib.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: gzdopen
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - free
    - gz_open
    - malloc
    - snprintf
    - sprintf
    linkageType: ''
    returnType: gzFile
    signature: gzFile gzdopen(int fd, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/zlib/gzlib.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - wchar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: gzopen_w
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: gzFile gzopen_w(const wchar_t *path, const char *mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - file
    - size
    argTypes:
    - gzFile
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: gzbuffer
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gzbuffer(gzFile file, unsigned size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LSEEK
      Src: /src/zlib/gzlib.c:335,1
    - Dst: gz_reset
      Src: /src/zlib/gzlib.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 339
    functionName: gzrewind
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - LSEEK
    - gz_reset
    linkageType: ''
    returnType: int
    signature: int gzrewind(gzFile file)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LSEEK
      Src: /src/zlib/gzlib.c:372,1
    - Dst: gz_error
      Src: /src/zlib/gzlib.c:379,1
    - Dst: gzrewind
      Src: /src/zlib/gzlib.c:392,1
    - Dst: GT_OFF
      Src: /src/zlib/gzlib.c:398,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - file
    - offset
    - whence
    argTypes:
    - gzFile
    - z_off64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 412
    functionName: gzseek64
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - LSEEK
    - GT_OFF
    - gzrewind
    - gz_error
    linkageType: ''
    returnType: z_off64_t
    signature: z_off64_t gzseek64(gzFile file, z_off64_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzseek64
      Src: /src/zlib/gzlib.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - file
    - offset
    - whence
    argTypes:
    - gzFile
    - z_off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: gzseek
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - gzseek64
    linkageType: ''
    returnType: z_off_t
    signature: z_off_t gzseek(gzFile file, z_off_t offset, int whence)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 435
    functionName: gztell64
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: z_off64_t
    signature: z_off64_t gztell64(gzFile file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gztell64
      Src: /src/zlib/gzlib.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: gztell
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - gztell64
    linkageType: ''
    returnType: z_off_t
    signature: z_off_t gztell(gzFile file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LSEEK
      Src: /src/zlib/gzlib.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 464
    functionName: gzoffset64
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - LSEEK
    linkageType: ''
    returnType: z_off64_t
    signature: z_off64_t gzoffset64(gzFile file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzoffset64
      Src: /src/zlib/gzlib.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: gzoffset
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - gzoffset64
    linkageType: ''
    returnType: z_off_t
    signature: z_off_t gzoffset(gzFile file)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: gzeof
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gzeof(gzFile file)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - file
    - errnum
    argTypes:
    - gzFile
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 505
    functionName: gzerror
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ZEXPORT gzerror(gzFile file, int *errnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/zlib/gzlib.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 524
    functionName: gzclearerr
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - gz_error
    linkageType: ''
    returnType: void
    signature: void gzclearerr(gzFile file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/zlib/gzlib.c:536,1
    - Dst: malloc
      Src: /src/zlib/gzlib.c:554,1
    - Dst: strlen
      Src: /src/zlib/gzlib.c:554,1
    - Dst: strlen
      Src: /src/zlib/gzlib.c:554,1
    - Dst: snprintf
      Src: /src/zlib/gzlib.c:560,1
    - Dst: strlen
      Src: /src/zlib/gzlib.c:560,1
    - Dst: strlen
      Src: /src/zlib/gzlib.c:560,1
    - Dst: strcpy
      Src: /src/zlib/gzlib.c:563,1
    - Dst: strcat
      Src: /src/zlib/gzlib.c:564,1
    - Dst: strcat
      Src: /src/zlib/gzlib.c:565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - state
    - err
    - msg
    argTypes:
    - gz_statep
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 567
    functionName: ZLIB_INTERNAL::gz_error
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached:
    - free
    - strcpy
    - malloc
    - snprintf
    - strcat
    - strlen
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 585
    functionName: gz_intmax
    functionSourceFile: /src/zlib/gzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned ZLIB_INTERNAL
    signature: unsigned ZLIB_INTERNAL gz_intmax(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/zlib/compress.c:36,1
    - Dst: deflate
      Src: /src/zlib/compress.c:53,1
    - Dst: deflateEnd
      Src: /src/zlib/compress.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - level
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 59
    functionName: compress2
    functionSourceFile: /src/zlib/compress.c
    functionUses: 0
    functionsReached:
    - deflateEnd
    - deflateInit
    - deflate
    linkageType: ''
    returnType: int
    signature: "int compress2(Bytef *dest, uLongf *destLen, const Bytef *source,\n
      \                     uLong sourceLen, int level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compress2
      Src: /src/zlib/compress.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: compress
    functionSourceFile: /src/zlib/compress.c
    functionUses: 24
    functionsReached:
    - compress2
    linkageType: ''
    returnType: int
    signature: "int compress(Bytef *dest, uLongf *destLen, const Bytef *source,\n
      \                    uLong sourceLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sourceLen
    argTypes:
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: compressBound
    functionSourceFile: /src/zlib/compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: uLong compressBound(uLong sourceLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: put_short
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_short(s, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - code
    - len
    argTypes:
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: bi_reverse
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned bi_reverse(unsigned code, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put_short
      Src: /src/zlib/trees.c:168,1
    - Dst: put_byte
      Src: /src/zlib/trees.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: bi_flush
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - put_byte
    - put_short
    linkageType: ''
    returnType: local
    signature: local bi_flush(deflate_state *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put_short
      Src: /src/zlib/trees.c:183,1
    - Dst: put_byte
      Src: /src/zlib/trees.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: bi_windup
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - put_byte
    - put_short
    linkageType: ''
    returnType: local
    signature: local bi_windup(deflate_state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/zlib/trees.c:219,1
    - Dst: Tracev
      Src: /src/zlib/trees.c:221,1
    - Dst: bi_reverse
      Src: /src/zlib/trees.c:227,1
    - Dst: Tracecv
      Src: /src/zlib/trees.c:229,1
    - Dst: isgraph
      Src: /src/zlib/trees.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - tree
    - max_code
    - bl_count
    argTypes:
    - ct_data*
    - int
    - ushf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: gen_codes
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - Tracev
    - Tracecv
    - bi_reverse
    - isgraph
    - Assert
    linkageType: ''
    returnType: local
    signature: local gen_codes(ct_data *tree, int max_code, ushf *bl_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: send_code
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_code(s, c, tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: send_code
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_code(s, c, tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tracevv
      Src: /src/zlib/trees.c:254,1
    - Dst: Assert
      Src: /src/zlib/trees.c:255,1
    - Dst: put_short
      Src: /src/zlib/trees.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - s
    - value
    - length
    argTypes:
    - deflate_state*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: send_bits
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - put_short
    - Assert
    - Tracevv
    linkageType: ''
    returnType: local
    signature: local send_bits(deflate_state *s, int value, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - value
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: send_bits
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_bits(s, value, length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/zlib/trees.c:325,1
    - Dst: Assert
      Src: /src/zlib/trees.c:340,1
    - Dst: Assert
      Src: /src/zlib/trees.c:348,1
    - Dst: gen_codes
      Src: /src/zlib/trees.c:361,1
    - Dst: bi_reverse
      Src: /src/zlib/trees.c:366,1
    - Dst: gen_trees_header
      Src: /src/zlib/trees.c:371,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 374
    functionName: tr_static_init
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - bi_reverse
    - gen_trees_header
    - gen_codes
    - Assert
    linkageType: ''
    returnType: local
    signature: local tr_static_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - last
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: SEPARATOR
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEPARATOR(i, last, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/zlib/trees.c:389,1
    - Dst: Assert
      Src: /src/zlib/trees.c:392,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:393,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:396,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:398,1
    - Dst: SEPARATOR
      Src: /src/zlib/trees.c:399,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:402,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:404,1
    - Dst: SEPARATOR
      Src: /src/zlib/trees.c:405,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:408,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:410,1
    - Dst: SEPARATOR
      Src: /src/zlib/trees.c:411,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:414,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:417,1
    - Dst: SEPARATOR
      Src: /src/zlib/trees.c:418,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:421,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:423,1
    - Dst: SEPARATOR
      Src: /src/zlib/trees.c:424,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:427,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:429,1
    - Dst: SEPARATOR
      Src: /src/zlib/trees.c:430,1
    - Dst: fclose
      Src: /src/zlib/trees.c:433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 434
    functionName: gen_trees_header
    functionSourceFile: /src/zlib/trees.c
    functionUses: 1
    functionsReached:
    - fopen
    - fprintf
    - Assert
    - fclose
    - SEPARATOR
    linkageType: ''
    returnType: void
    signature: void gen_trees_header(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: init_block
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local init_block(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tr_static_init
      Src: /src/zlib/trees.c:457,1
    - Dst: init_block
      Src: /src/zlib/trees.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 478
    functionName: ZLIB_INTERNAL::_tr_init
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - init_block
    - tr_static_init
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL _tr_init(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - tree
    - ','
    - top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: pqremove
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pqremove(s, tree, top)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tree
    - ','
    - n
    - ','
    - m
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: smaller
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smaller(tree, n, m, depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaller
      Src: /src/zlib/trees.c:515,1
    - Dst: smaller
      Src: /src/zlib/trees.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - tree
    - k
    argTypes:
    - deflate_state*
    - ct_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: pqdownheap
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - smaller
    linkageType: ''
    returnType: local
    signature: local pqdownheap(deflate_state *s, ct_data *tree, int k)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Tracev
      Src: /src/zlib/trees.c:579,1
    - Dst: Tracev
      Src: /src/zlib/trees.c:606,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - deflate_state*
    - tree_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 613
    functionName: gen_bitlen
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - Tracev
    linkageType: ''
    returnType: local
    signature: local gen_bitlen(deflate_state *s, tree_desc *desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pqdownheap
      Src: /src/zlib/trees.c:667,1
    - Dst: pqremove
      Src: /src/zlib/trees.c:674,1
    - Dst: fprintf
      Src: /src/zlib/trees.c:687,1
    - Dst: pqdownheap
      Src: /src/zlib/trees.c:693,1
    - Dst: gen_bitlen
      Src: /src/zlib/trees.c:702,1
    - Dst: gen_codes
      Src: /src/zlib/trees.c:705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - deflate_state*
    - tree_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 706
    functionName: build_tree
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - pqdownheap
    - gen_bitlen
    - gen_codes
    - pqremove
    - fprintf
    linkageType: ''
    returnType: local
    signature: local build_tree(deflate_state *s, tree_desc *desc)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - s
    - tree
    - max_code
    argTypes:
    - deflate_state*
    - ct_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 747
    functionName: scan_tree
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local scan_tree(deflate_state *s, ct_data *tree, int max_code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: send_code
      Src: /src/zlib/trees.c:770,1
    - Dst: send_code
      Src: /src/zlib/trees.c:774,1
    - Dst: Assert
      Src: /src/zlib/trees.c:776,1
    - Dst: send_code
      Src: /src/zlib/trees.c:777,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:777,1
    - Dst: send_code
      Src: /src/zlib/trees.c:780,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:780,1
    - Dst: send_code
      Src: /src/zlib/trees.c:783,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:783,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - s
    - tree
    - max_code
    argTypes:
    - deflate_state*
    - ct_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 794
    functionName: send_tree
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - send_code
    - send_bits
    - Assert
    linkageType: ''
    returnType: local
    signature: local send_tree(deflate_state *s, ct_data *tree, int max_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_tree
      Src: /src/zlib/trees.c:804,1
    - Dst: scan_tree
      Src: /src/zlib/trees.c:805,1
    - Dst: build_tree
      Src: /src/zlib/trees.c:808,1
    - Dst: Tracev
      Src: /src/zlib/trees.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 826
    functionName: build_bl_tree
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - scan_tree
    - build_tree
    - Tracev
    linkageType: ''
    returnType: local
    signature: local build_bl_tree(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/zlib/trees.c:837,1
    - Dst: Assert
      Src: /src/zlib/trees.c:838,1
    - Dst: Tracev
      Src: /src/zlib/trees.c:840,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:841,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:842,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:843,1
    - Dst: Tracev
      Src: /src/zlib/trees.c:845,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:846,1
    - Dst: Tracev
      Src: /src/zlib/trees.c:848,1
    - Dst: send_tree
      Src: /src/zlib/trees.c:850,1
    - Dst: Tracev
      Src: /src/zlib/trees.c:851,1
    - Dst: send_tree
      Src: /src/zlib/trees.c:853,1
    - Dst: Tracev
      Src: /src/zlib/trees.c:854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - s
    - lcodes
    - dcodes
    - blcodes
    argTypes:
    - deflate_state*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 855
    functionName: send_all_trees
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - Tracev
    - send_tree
    - send_bits
    - Assert
    linkageType: ''
    returnType: local
    signature: "local send_all_trees(deflate_state *s, int lcodes, int dcodes,\n                          int
      blcodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_bits
      Src: /src/zlib/trees.c:862,1
    - Dst: bi_windup
      Src: /src/zlib/trees.c:863,1
    - Dst: put_short
      Src: /src/zlib/trees.c:864,1
    - Dst: put_short
      Src: /src/zlib/trees.c:865,1
    - Dst: ZLIB_INTERNAL::zmemcpy
      Src: /src/zlib/trees.c:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - s
    - buf
    - stored_len
    - last
    argTypes:
    - deflate_state*
    - charf*
    - ulg
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 875
    functionName: ZLIB_INTERNAL::_tr_stored_block
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - put_short
    - bi_windup
    - ZLIB_INTERNAL::zmemcpy
    - send_bits
    linkageType: ''
    returnType: void
    signature: "void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf,\n
      \                                   ulg stored_len, int last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bi_flush
      Src: /src/zlib/trees.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 882
    functionName: ZLIB_INTERNAL::_tr_flush_bits
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - bi_flush
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL _tr_flush_bits(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_bits
      Src: /src/zlib/trees.c:889,1
    - Dst: send_code
      Src: /src/zlib/trees.c:890,1
    - Dst: bi_flush
      Src: /src/zlib/trees.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 895
    functionName: ZLIB_INTERNAL::_tr_align
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - send_code
    - bi_flush
    - send_bits
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL _tr_align(deflate_state *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: send_code
      Src: /src/zlib/trees.c:918,1
    - Dst: Tracecv
      Src: /src/zlib/trees.c:919,1
    - Dst: isgraph
      Src: /src/zlib/trees.c:919,1
    - Dst: send_code
      Src: /src/zlib/trees.c:923,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:927,1
    - Dst: d_code
      Src: /src/zlib/trees.c:930,1
    - Dst: Assert
      Src: /src/zlib/trees.c:931,1
    - Dst: send_code
      Src: /src/zlib/trees.c:933,1
    - Dst: send_bits
      Src: /src/zlib/trees.c:937,1
    - Dst: Assert
      Src: /src/zlib/trees.c:943,1
    - Dst: Assert
      Src: /src/zlib/trees.c:945,1
    - Dst: send_code
      Src: /src/zlib/trees.c:950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - s
    - ltree
    - dtree
    argTypes:
    - deflate_state*
    - ct_data*
    - ct_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 951
    functionName: compress_block
    functionSourceFile: /src/zlib/trees.c
    functionUses: 3
    functionsReached:
    - send_code
    - send_bits
    - d_code
    - Tracecv
    - isgraph
    - Assert
    linkageType: ''
    returnType: local
    signature: "local compress_block(deflate_state *s, const ct_data *ltree,\n                          const
      ct_data *dtree)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 991
    functionName: detect_data_type
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local detect_data_type(deflate_state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/zlib/trees.c:1111,1
    - Dst: MAX_DIST
      Src: /src/zlib/trees.c:1111,1
    - Dst: d_code
      Src: /src/zlib/trees.c:1113,1
    - Dst: d_code
      Src: /src/zlib/trees.c:1116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - s
    - dist
    - lc
    argTypes:
    - deflate_state*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1119
    functionName: ZLIB_INTERNAL::_tr_tally
    functionSourceFile: /src/zlib/trees.c
    functionUses: 0
    functionsReached:
    - d_code
    - MAX_DIST
    - Assert
    linkageType: ''
    returnType: int
    signature: int ZLIB_INTERNAL _tr_tally(deflate_state *s, unsigned dist, unsigned
      lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1820
    functionName: z_deflateInit
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1822
    functionName: z_inflateInit
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1825
    functionName: z_deflateInit2
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1828
    functionName: z_inflateInit2
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1831
    functionName: z_inflateBackInit
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1834
    functionName: deflateInit
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1836
    functionName: inflateInit
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1839
    functionName: deflateInit2
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1842
    functionName: inflateInit2
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1845
    functionName: inflateBackInit
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1866
    functionName: z_gzgetc
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1869
    functionName: gzgetc
    functionSourceFile: /src/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: OF
    functionSourceFile: /src/zlib/zconf.h
    functionUses: 452
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: OF
    functionSourceFile: /src/zlib/zconf.h
    functionUses: 452
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: ERR_MSG
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_MSG(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: ERR_RETURN
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_RETURN(strm,err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: F_OPEN
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: F_OPEN
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: zmemzero
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: zmemzero
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: Assert
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Assert(cond,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Trace
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: Tracev
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracev(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: Tracevv
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracevv(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: Tracec
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracec(c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: Tracecv
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracecv(c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - items
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: ZALLOC
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZALLOC(strm, items, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: ZFREE
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZFREE(strm, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: TRY_FREE
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_FREE(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: ZSWAP32
    functionSourceFile: /src/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSWAP32(q)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Tracevv
      Src: /src/zlib/inffast.c:114,1
    - Dst: Tracevv
      Src: /src/zlib/inffast.c:131,1
    - Dst: Tracevv
      Src: /src/zlib/inffast.c:165,1
    - Dst: Tracevv
      Src: /src/zlib/inffast.c:278,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 210
    argCount: 2
    argNames:
    - strm
    - start
    argTypes:
    - z_streamp
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 304
    functionName: ZLIB_INTERNAL::inflate_fast
    functionSourceFile: /src/zlib/inffast.c
    functionUses: 0
    functionsReached:
    - Tracevv
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - word
    argTypes:
    - z_word_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: byte_swap
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local byte_swap(z_word_t word)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - z_crc_t
    - z_crc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: multmodp
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local multmodp(z_crc_t a, z_crc_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multmodp
      Src: /src/zlib/crc32.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - k
    argTypes:
    - z_off64_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: x2nmodp
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - multmodp
    linkageType: ''
    returnType: local
    signature: local x2nmodp(z_off64_t n, unsigned k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/zlib/crc32.c:237,1
    - Dst: atomic_flag_test_and_set
      Src: /src/zlib/crc32.c:238,1
    - Dst: atomic_load
      Src: /src/zlib/crc32.c:239,1
    - Dst: init
      Src: /src/zlib/crc32.c:242,1
    - Dst: atomic_store
      Src: /src/zlib/crc32.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: once
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 78
    functionsReached:
    - atomic_load
    - atomic_flag_test_and_set
    - atomic_store
    - init
    linkageType: ''
    returnType: local
    signature: local once(once_t *state, void (*init)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: test_and_set
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local test_and_set(int volatile *flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_and_set
      Src: /src/zlib/crc32.c:270,1
    - Dst: init
      Src: /src/zlib/crc32.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: once
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 78
    functionsReached:
    - init
    - test_and_set
    linkageType: ''
    returnType: local
    signature: local once(once_t *state, void (*init)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byte_swap
      Src: /src/zlib/crc32.c:321,1
    - Dst: multmodp
      Src: /src/zlib/crc32.c:329,1
    - Dst: braid
      Src: /src/zlib/crc32.c:333,1
    - Dst: fopen
      Src: /src/zlib/crc32.c:352,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:356,1
    - Dst: write_table
      Src: /src/zlib/crc32.c:362,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:363,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:367,1
    - Dst: write_table64
      Src: /src/zlib/crc32.c:375,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:376,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:380,1
    - Dst: write_table32hi
      Src: /src/zlib/crc32.c:386,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:387,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:394,1
    - Dst: braid
      Src: /src/zlib/crc32.c:399,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:402,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:408,1
    - Dst: write_table
      Src: /src/zlib/crc32.c:409,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:410,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:412,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:417,1
    - Dst: write_table64
      Src: /src/zlib/crc32.c:418,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:419,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:421,1
    - Dst: braid
      Src: /src/zlib/crc32.c:425,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:428,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:434,1
    - Dst: write_table
      Src: /src/zlib/crc32.c:435,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:436,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:438,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:443,1
    - Dst: write_table32hi
      Src: /src/zlib/crc32.c:444,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:445,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:447,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:454,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:459,1
    - Dst: write_table
      Src: /src/zlib/crc32.c:463,1
    - Dst: fprintf
      Src: /src/zlib/crc32.c:464,1
    - Dst: fclose
      Src: /src/zlib/crc32.c:466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 469
    functionName: make_crc_table
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - braid
    - fopen
    - byte_swap
    - write_table32hi
    - fprintf
    - write_table64
    - write_table
    - fclose
    - multmodp
    linkageType: ''
    returnType: local
    signature: local make_crc_table(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/crc32.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - out
    - table
    - k
    argTypes:
    - FILE*
    - z_crc_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 484
    functionName: write_table
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local write_table(FILE *out, const z_crc_t FAR *table, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/crc32.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - out
    - table
    - k
    argTypes:
    - FILE*
    - z_word_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: write_table32hi
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local write_table32hi(FILE *out, const z_word_t FAR *table, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/crc32.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - out
    - table
    - k
    argTypes:
    - FILE*
    - z_word_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: write_table64
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local write_table64(FILE *out, const z_word_t FAR *table, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_crc_table
      Src: /src/zlib/crc32.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: main
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 12
    functionsReached:
    - make_crc_table
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x2nmodp
      Src: /src/zlib/crc32.c:532,1
    - Dst: multmodp
      Src: /src/zlib/crc32.c:536,1
    - Dst: byte_swap
      Src: /src/zlib/crc32.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ltl
    - big
    - n
    - w
    argTypes:
    - z_crc_t[][]
    - z_word_t[][]
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 540
    functionName: braid
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 1
    functionsReached:
    - byte_swap
    - x2nmodp
    - multmodp
    linkageType: ''
    returnType: local
    signature: local braid(z_crc_t ltl[][256], z_word_t big[][256], int n, int w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/zlib/crc32.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: get_crc_table
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - once
    linkageType: ''
    returnType: z_crc_t
    signature: z_crc_t * ZEXPORT get_crc_table(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/zlib/crc32.c:588,1
    - Dst: multmodp
      Src: /src/zlib/crc32.c:622,1
    - Dst: multmodp
      Src: /src/zlib/crc32.c:623,1
    - Dst: x2nmodp
      Src: /src/zlib/crc32.c:643,1
    - Dst: multmodp
      Src: /src/zlib/crc32.c:644,1
    - Dst: multmodp
      Src: /src/zlib/crc32.c:645,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - unsigned long
    - unsigned char*
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 665
    functionName: crc32_z
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - x2nmodp
    - once
    - multmodp
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: "unsigned long ZEXPORT crc32_z(unsigned long crc, const unsigned char
      FAR *buf,\n                              z_size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - z_word_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: crc_word
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local crc_word(z_word_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - z_word_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: crc_word_big
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local crc_word_big(z_word_t data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/zlib/crc32.c:700,1
    - Dst: crc_word
      Src: /src/zlib/crc32.c:841,1
    - Dst: crc_word
      Src: /src/zlib/crc32.c:843,1
    - Dst: crc_word
      Src: /src/zlib/crc32.c:845,1
    - Dst: crc_word
      Src: /src/zlib/crc32.c:847,1
    - Dst: crc_word
      Src: /src/zlib/crc32.c:849,1
    - Dst: crc_word
      Src: /src/zlib/crc32.c:851,1
    - Dst: byte_swap
      Src: /src/zlib/crc32.c:880,1
    - Dst: crc_word_big
      Src: /src/zlib/crc32.c:963,1
    - Dst: crc_word_big
      Src: /src/zlib/crc32.c:965,1
    - Dst: crc_word_big
      Src: /src/zlib/crc32.c:967,1
    - Dst: crc_word_big
      Src: /src/zlib/crc32.c:969,1
    - Dst: crc_word_big
      Src: /src/zlib/crc32.c:971,1
    - Dst: crc_word_big
      Src: /src/zlib/crc32.c:973,1
    - Dst: byte_swap
      Src: /src/zlib/crc32.c:980,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 108
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - unsigned long
    - unsigned char*
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 1010
    functionName: crc32_z
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - byte_swap
    - once
    - crc_word_big
    - crc_word
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: "unsigned long ZEXPORT crc32_z(unsigned long crc, const unsigned char
      FAR *buf,\n                              z_size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_z
      Src: /src/zlib/crc32.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - unsigned long
    - unsigned char*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: crc32
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 2
    functionsReached:
    - crc32_z
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: "unsigned long ZEXPORT crc32(unsigned long crc, const unsigned char
      FAR *buf,\n                            uInt len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/zlib/crc32.c:1023,1
    - Dst: multmodp
      Src: /src/zlib/crc32.c:1025,1
    - Dst: x2nmodp
      Src: /src/zlib/crc32.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - crc1
    - crc2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: crc32_combine64
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - x2nmodp
    - once
    - multmodp
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine64(uLong crc1, uLong crc2, z_off64_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_combine64
      Src: /src/zlib/crc32.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc1
    - crc2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 3
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: crc32_combine
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - crc32_combine64
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine(uLong crc1, uLong crc2, z_off_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/zlib/crc32.c:1036,1
    - Dst: x2nmodp
      Src: /src/zlib/crc32.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len2
    argTypes:
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: crc32_combine_gen64
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - x2nmodp
    - once
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine_gen64(z_off64_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_combine_gen64
      Src: /src/zlib/crc32.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len2
    argTypes:
    - z_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1044
    functionName: crc32_combine_gen
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - crc32_combine_gen64
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine_gen(z_off_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multmodp
      Src: /src/zlib/crc32.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc1
    - crc2
    - op
    argTypes:
    - uLong
    - uLong
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1049
    functionName: crc32_combine_op
    functionSourceFile: /src/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - multmodp
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine_op(uLong crc1, uLong crc2, uLong op)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/zlib/uncompr.c:51,1
    - Dst: inflate
      Src: /src/zlib/uncompr.c:66,1
    - Dst: inflateEnd
      Src: /src/zlib/uncompr.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 80
    functionName: uncompress2
    functionSourceFile: /src/zlib/uncompr.c
    functionUses: 0
    functionsReached:
    - inflate
    - inflateEnd
    - inflateInit
    linkageType: ''
    returnType: int
    signature: "int uncompress2(Bytef *dest, uLongf *destLen, const Bytef *source,\n
      \                       uLong *sourceLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uncompress2
      Src: /src/zlib/uncompr.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes:
    - Bytef*
    - uLongf*
    - Bytef*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: uncompress
    functionSourceFile: /src/zlib/uncompr.c
    functionUses: 5
    functionsReached:
    - uncompress2
    linkageType: ''
    returnType: int
    signature: "int uncompress(Bytef *dest, uLongf *destLen, const Bytef *source,\n
      \                      uLong sourceLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: zstrerror
    functionSourceFile: /src/zlib/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: zstrerror
    functionSourceFile: /src/zlib/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: zstrerror
    functionSourceFile: /src/zlib/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: GT_OFF
    functionSourceFile: /src/zlib/gzguts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GT_OFF(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/zlib/gzread.c:22,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:28,1
    - Dst: zstrerror
      Src: /src/zlib/gzread.c:28,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - state
    - buf
    - len
    - have
    argTypes:
    - gz_statep
    - unsigned char*
    - unsigned
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 34
    functionName: gz_load
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - read
    - zstrerror
    - gz_error
    linkageType: ''
    returnType: local
    signature: "local gz_load(gz_statep state, unsigned char *buf, unsigned len,\n
      \                 unsigned *have)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gz_load
      Src: /src/zlib/gzread.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - gz_statep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: gz_avail
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_load
    linkageType: ''
    returnType: local
    signature: local gz_avail(gz_statep state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/gzread.c:82,1
    - Dst: malloc
      Src: /src/zlib/gzread.c:83,1
    - Dst: free
      Src: /src/zlib/gzread.c:85,1
    - Dst: free
      Src: /src/zlib/gzread.c:86,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:87,1
    - Dst: inflateInit2
      Src: /src/zlib/gzread.c:98,1
    - Dst: free
      Src: /src/zlib/gzread.c:99,1
    - Dst: free
      Src: /src/zlib/gzread.c:100,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:102,1
    - Dst: gz_avail
      Src: /src/zlib/gzread.c:109,1
    - Dst: inflateReset
      Src: /src/zlib/gzread.c:124,1
    - Dst: memcpy
      Src: /src/zlib/gzread.c:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - state
    argTypes:
    - gz_statep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 149
    functionName: gz_look
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - free
    - gz_avail
    - memcpy
    - inflateReset
    - inflateInit2
    - gz_error
    - malloc
    linkageType: ''
    returnType: local
    signature: local gz_look(gz_statep state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gz_avail
      Src: /src/zlib/gzread.c:165,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:168,1
    - Dst: inflate
      Src: /src/zlib/gzread.c:173,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:175,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:180,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - state
    argTypes:
    - gz_statep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 200
    functionName: gz_decomp
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - inflate
    - gz_avail
    - gz_error
    linkageType: ''
    returnType: local
    signature: local gz_decomp(gz_statep state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gz_look
      Src: /src/zlib/gzread.c:214,1
    - Dst: gz_load
      Src: /src/zlib/gzread.c:220,1
    - Dst: gz_decomp
      Src: /src/zlib/gzread.c:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - gz_statep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: gz_fetch
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_look
    - gz_decomp
    - gz_load
    linkageType: ''
    returnType: local
    signature: local gz_fetch(gz_statep state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GT_OFF
      Src: /src/zlib/gzread.c:243,1
    - Dst: gz_fetch
      Src: /src/zlib/gzread.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - state
    - len
    argTypes:
    - gz_statep
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 262
    functionName: gz_skip
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_fetch
    - GT_OFF
    linkageType: ''
    returnType: local
    signature: local gz_skip(gz_statep state, z_off64_t len)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gz_skip
      Src: /src/zlib/gzread.c:279,1
    - Dst: memcpy
      Src: /src/zlib/gzread.c:295,1
    - Dst: gz_fetch
      Src: /src/zlib/gzread.c:310,1
    - Dst: gz_load
      Src: /src/zlib/gzread.c:319,1
    - Dst: gz_decomp
      Src: /src/zlib/gzread.c:327,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - state
    - buf
    - len
    argTypes:
    - gz_statep
    - voidp
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 268
    functionDepth: 6
    functionLinenumber: 268
    functionLinenumberEnd: 342
    functionName: gz_read
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_fetch
    - gz_load
    - memcpy
    - gz_decomp
    - gz_skip
    linkageType: ''
    returnType: local
    signature: local gz_read(gz_statep state, voidp buf, z_size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/zlib/gzread.c:361,1
    - Dst: gz_read
      Src: /src/zlib/gzread.c:366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - gzFile
    - voidp
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 345
    functionDepth: 7
    functionLinenumber: 345
    functionLinenumberEnd: 374
    functionName: gzread
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_read
    - gz_error
    linkageType: ''
    returnType: int
    signature: int gzread(gzFile file, voidp buf, unsigned len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/zlib/gzread.c:395,1
    - Dst: gz_read
      Src: /src/zlib/gzread.c:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - size
    - nitems
    - file
    argTypes:
    - voidp
    - z_size_t
    - z_size_t
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 377
    functionDepth: 7
    functionLinenumber: 377
    functionLinenumberEnd: 401
    functionName: gzfread
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_read
    - gz_error
    linkageType: ''
    returnType: z_size_t
    signature: "z_size_t gzfread(voidp buf, z_size_t size, z_size_t nitems,\n                         gzFile
      file)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_read
      Src: /src/zlib/gzread.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 409
    functionDepth: 7
    functionLinenumber: 409
    functionLinenumberEnd: 432
    functionName: gzgetc
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_read
    linkageType: ''
    returnType: int
    signature: int gzgetc(gzFile file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzgetc
      Src: /src/zlib/gzread.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: gzgetc_
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gzgetc
    linkageType: ''
    returnType: int
    signature: int gzgetc_(gzFile file)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gz_look
      Src: /src/zlib/gzread.c:449,1
    - Dst: gz_skip
      Src: /src/zlib/gzread.c:459,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:479,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - c
    - file
    argTypes:
    - int
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 439
    functionDepth: 6
    functionLinenumber: 439
    functionLinenumberEnd: 497
    functionName: gzungetc
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_look
    - gz_skip
    - gz_error
    linkageType: ''
    returnType: int
    signature: int gzungetc(int c, gzFile file)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gz_skip
      Src: /src/zlib/gzread.c:519,1
    - Dst: gz_fetch
      Src: /src/zlib/gzread.c:530,1
    - Dst: memchr
      Src: /src/zlib/gzread.c:539,1
    - Dst: memcpy
      Src: /src/zlib/gzread.c:544,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - gzFile
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 500
    functionDepth: 6
    functionLinenumber: 500
    functionLinenumberEnd: 557
    functionName: gzgets
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gz_fetch
    - memchr
    - gz_skip
    linkageType: ''
    returnType: char
    signature: char * ZEXPORT gzgets(gzFile file, char *buf, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gz_look
      Src: /src/zlib/gzread.c:571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 575
    functionName: gzdirect
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - gz_look
    linkageType: ''
    returnType: int
    signature: int gzdirect(gzFile file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/zlib/gzread.c:593,1
    - Dst: free
      Src: /src/zlib/gzread.c:594,1
    - Dst: free
      Src: /src/zlib/gzread.c:595,1
    - Dst: gz_error
      Src: /src/zlib/gzread.c:598,1
    - Dst: free
      Src: /src/zlib/gzread.c:599,1
    - Dst: close
      Src: /src/zlib/gzread.c:600,1
    - Dst: free
      Src: /src/zlib/gzread.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 603
    functionName: gzclose_r
    functionSourceFile: /src/zlib/gzread.c
    functionUses: 0
    functionsReached:
    - free
    - close
    - inflateEnd
    - gz_error
    linkageType: ''
    returnType: int
    signature: int gzclose_r(gzFile file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/gzwrite.c:16,1
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:18,1
    - Dst: malloc
      Src: /src/zlib/gzwrite.c:25,1
    - Dst: free
      Src: /src/zlib/gzwrite.c:27,1
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:28,1
    - Dst: deflateInit2
      Src: /src/zlib/gzwrite.c:36,1
    - Dst: free
      Src: /src/zlib/gzwrite.c:39,1
    - Dst: free
      Src: /src/zlib/gzwrite.c:40,1
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - gz_statep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 57
    functionName: gz_init
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - free
    - deflateInit2
    - malloc
    - gz_error
    linkageType: ''
    returnType: local
    signature: local gz_init(gz_statep state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/zlib/gzwrite.c:71,1
    - Dst: write
      Src: /src/zlib/gzwrite.c:78,1
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:80,1
    - Dst: zstrerror
      Src: /src/zlib/gzwrite.c:80,1
    - Dst: deflateReset
      Src: /src/zlib/gzwrite.c:94,1
    - Dst: write
      Src: /src/zlib/gzwrite.c:108,1
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:110,1
    - Dst: zstrerror
      Src: /src/zlib/gzwrite.c:110,1
    - Dst: deflate
      Src: /src/zlib/gzwrite.c:124,1
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:126,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - state
    - flush
    argTypes:
    - gz_statep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 139
    functionName: gz_comp
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - write
    - gz_init
    - gz_error
    - deflateReset
    - zstrerror
    - deflate
    linkageType: ''
    returnType: local
    signature: local gz_comp(gz_statep state, int flush)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:149,1
    - Dst: GT_OFF
      Src: /src/zlib/gzwrite.c:155,1
    - Dst: memset
      Src: /src/zlib/gzwrite.c:158,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - state
    - len
    argTypes:
    - gz_statep
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 169
    functionName: gz_zero
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_comp
    - memset
    - GT_OFF
    linkageType: ''
    returnType: local
    signature: local gz_zero(gz_statep state, z_off64_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/zlib/gzwrite.c:181,1
    - Dst: gz_zero
      Src: /src/zlib/gzwrite.c:187,1
    - Dst: memcpy
      Src: /src/zlib/gzwrite.c:204,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:209,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:215,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:226,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - state
    - buf
    - len
    argTypes:
    - gz_statep
    - voidpc
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 234
    functionName: gz_write
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_init
    - memcpy
    - gz_comp
    - gz_zero
    linkageType: ''
    returnType: local
    signature: local gz_write(gz_statep state, voidpc buf, z_size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:252,1
    - Dst: gz_write
      Src: /src/zlib/gzwrite.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - gzFile
    - voidpc
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 6
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: gzwrite
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_write
    - gz_error
    linkageType: ''
    returnType: int
    signature: int gzwrite(gzFile file, voidpc buf, unsigned len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:278,1
    - Dst: gz_write
      Src: /src/zlib/gzwrite.c:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - size
    - nitems
    - file
    argTypes:
    - voidpc
    - z_size_t
    - z_size_t
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 261
    functionDepth: 6
    functionLinenumber: 261
    functionLinenumberEnd: 284
    functionName: gzfwrite
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_write
    - gz_error
    linkageType: ''
    returnType: z_size_t
    signature: "z_size_t gzfwrite(voidpc buf, z_size_t size, z_size_t nitems,\n                          gzFile
      file)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gz_zero
      Src: /src/zlib/gzwrite.c:306,1
    - Dst: gz_write
      Src: /src/zlib/gzwrite.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - file
    - c
    argTypes:
    - gzFile
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 287
    functionDepth: 6
    functionLinenumber: 287
    functionLinenumberEnd: 329
    functionName: gzputc
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_write
    - gz_zero
    linkageType: ''
    returnType: int
    signature: int gzputc(gzFile file, int c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/zlib/gzwrite.c:346,1
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:348,1
    - Dst: gz_write
      Src: /src/zlib/gzwrite.c:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - file
    - s
    argTypes:
    - gzFile
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 332
    functionDepth: 6
    functionLinenumber: 332
    functionLinenumberEnd: 353
    functionName: gzputs
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - strlen
    - gz_write
    - gz_error
    linkageType: ''
    returnType: int
    signature: int gzputs(gzFile file, const char *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/zlib/gzwrite.c:377,1
    - Dst: gz_zero
      Src: /src/zlib/gzwrite.c:383,1
    - Dst: vsprintf
      Src: /src/zlib/gzwrite.c:396,1
    - Dst: vsprintf
      Src: /src/zlib/gzwrite.c:400,1
    - Dst: vsnprintf
      Src: /src/zlib/gzwrite.c:404,1
    - Dst: strlen
      Src: /src/zlib/gzwrite.c:405,1
    - Dst: vsnprintf
      Src: /src/zlib/gzwrite.c:407,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:421,1
    - Dst: memmove
      Src: /src/zlib/gzwrite.c:423,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - file
    - format
    - va
    argTypes:
    - gzFile
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 428
    functionName: gzvprintf
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - gz_init
    - memmove
    - gz_comp
    - gz_zero
    - strlen
    - vsprintf
    linkageType: ''
    returnType: int
    signature: int gzvprintf(gzFile file, const char *format, va_list va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/zlib/gzwrite.c:434,1
    - Dst: gzvprintf
      Src: /src/zlib/gzwrite.c:435,1
    - Dst: va_end
      Src: /src/zlib/gzwrite.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - file
    - format
    argTypes:
    - gzFile
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 6
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: gzprintf
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - gzvprintf
    linkageType: ''
    returnType: int
    signature: int gzprintf(gzFile file, const char *format, ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/zlib/gzwrite.c:467,1
    - Dst: gz_zero
      Src: /src/zlib/gzwrite.c:473,1
    - Dst: sprintf
      Src: /src/zlib/gzwrite.c:486,1
    - Dst: sprintf
      Src: /src/zlib/gzwrite.c:492,1
    - Dst: snprintf
      Src: /src/zlib/gzwrite.c:497,1
    - Dst: strlen
      Src: /src/zlib/gzwrite.c:499,1
    - Dst: snprintf
      Src: /src/zlib/gzwrite.c:501,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:516,1
    - Dst: memmove
      Src: /src/zlib/gzwrite.c:518,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 22
    argNames:
    - file
    - format
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    - a7
    - a8
    - a9
    - a10
    - a11
    - a12
    - a13
    - a14
    - a15
    - a16
    - a17
    - a18
    - a19
    - a20
    argTypes:
    - gzFile
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 523
    functionName: gzprintf
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_init
    - memmove
    - gz_comp
    - gz_zero
    - snprintf
    - sprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: "int gzprintf(gzFile file, const char *format, int a1, int a2, int
      a3,\n                       int a4, int a5, int a6, int a7, int a8, int a9,
      int a10,\n                       int a11, int a12, int a13, int a14, int a15,
      int a16,\n                       int a17, int a18, int a19, int a20)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gz_zero
      Src: /src/zlib/gzwrite.c:547,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:552,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - file
    - flush
    argTypes:
    - gzFile
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 528
    functionDepth: 5
    functionLinenumber: 528
    functionLinenumberEnd: 554
    functionName: gzflush
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_comp
    - gz_zero
    linkageType: ''
    returnType: int
    signature: int gzflush(gzFile file, int flush)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gz_zero
      Src: /src/zlib/gzwrite.c:578,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:585,1
    - Dst: deflateParams
      Src: /src/zlib/gzwrite.c:587,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - file
    - level
    - strategy
    argTypes:
    - gzFile
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 557
    functionDepth: 5
    functionLinenumber: 557
    functionLinenumberEnd: 592
    functionName: gzsetparams
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_comp
    - gz_zero
    - deflateParams
    linkageType: ''
    returnType: int
    signature: int gzsetparams(gzFile file, int level, int strategy)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gz_zero
      Src: /src/zlib/gzwrite.c:611,1
    - Dst: gz_comp
      Src: /src/zlib/gzwrite.c:616,1
    - Dst: deflateEnd
      Src: /src/zlib/gzwrite.c:620,1
    - Dst: free
      Src: /src/zlib/gzwrite.c:621,1
    - Dst: free
      Src: /src/zlib/gzwrite.c:623,1
    - Dst: gz_error
      Src: /src/zlib/gzwrite.c:625,1
    - Dst: free
      Src: /src/zlib/gzwrite.c:626,1
    - Dst: close
      Src: /src/zlib/gzwrite.c:627,1
    - Dst: free
      Src: /src/zlib/gzwrite.c:629,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 595
    functionDepth: 5
    functionLinenumber: 595
    functionLinenumberEnd: 631
    functionName: gzclose_w
    functionSourceFile: /src/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - free
    - deflateEnd
    - close
    - gz_error
    - gz_comp
    - gz_zero
    linkageType: ''
    returnType: int
    signature: int gzclose_w(gzFile file)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: inflateStateCheck
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local inflateStateCheck(z_streamp strm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:109,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: inflateResetKeep
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    - Tracev
    linkageType: ''
    returnType: int
    signature: int inflateResetKeep(z_streamp strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:133,1
    - Dst: inflateResetKeep
      Src: /src/zlib/inflate.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: inflateReset
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached:
    - inflateStateCheck
    - inflateResetKeep
    linkageType: ''
    returnType: int
    signature: int inflateReset(z_streamp strm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:146,1
    - Dst: ZFREE
      Src: /src/zlib/inflate.c:168,1
    - Dst: inflateReset
      Src: /src/zlib/inflate.c:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - strm
    - windowBits
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 176
    functionName: inflateReset2
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    - ZFREE
    - inflateReset
    linkageType: ''
    returnType: int
    signature: int inflateReset2(z_streamp strm, int windowBits)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/zlib/inflate.c:203,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:205,1
    - Dst: inflateReset2
      Src: /src/zlib/inflate.c:210,1
    - Dst: ZFREE
      Src: /src/zlib/inflate.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - strm
    - windowBits
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 216
    functionName: inflateInit2_
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateReset2
    - ZALLOC
    - ZFREE
    - Tracev
    linkageType: ''
    returnType: int
    signature: "int inflateInit2_(z_streamp strm, int windowBits,\n                          const
      char *version, int stream_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2_
      Src: /src/zlib/inflate.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - strm
    - version
    - stream_size
    argTypes:
    - z_streamp
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 5
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: inflateInit_
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached:
    - inflateInit2_
    linkageType: ''
    returnType: int
    signature: "int inflateInit_(z_streamp strm, const char *version,\n                         int
      stream_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - strm
    - bits
    - value
    argTypes:
    - z_streamp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: inflatePrime
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflatePrime(z_streamp strm, int bits, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/zlib/inflate.c:272,1
    - Dst: inflate_table
      Src: /src/zlib/inflate.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct inflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 291
    functionName: fixedtables
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached:
    - inflate_table
    linkageType: ''
    returnType: local
    signature: local fixedtables(struct inflate_state FAR *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fixedtables
      Src: /src/zlib/inflate.c:319,1
    - Dst: puts
      Src: /src/zlib/inflate.c:320,1
    - Dst: puts
      Src: /src/zlib/inflate.c:321,1
    - Dst: puts
      Src: /src/zlib/inflate.c:322,1
    - Dst: puts
      Src: /src/zlib/inflate.c:323,1
    - Dst: puts
      Src: /src/zlib/inflate.c:324,1
    - Dst: puts
      Src: /src/zlib/inflate.c:325,1
    - Dst: puts
      Src: /src/zlib/inflate.c:326,1
    - Dst: puts
      Src: /src/zlib/inflate.c:327,1
    - Dst: puts
      Src: /src/zlib/inflate.c:328,1
    - Dst: printf
      Src: /src/zlib/inflate.c:330,1
    - Dst: printf
      Src: /src/zlib/inflate.c:333,1
    - Dst: printf
      Src: /src/zlib/inflate.c:334,1
    - Dst: putchar
      Src: /src/zlib/inflate.c:337,1
    - Dst: puts
      Src: /src/zlib/inflate.c:339,1
    - Dst: printf
      Src: /src/zlib/inflate.c:341,1
    - Dst: printf
      Src: /src/zlib/inflate.c:344,1
    - Dst: printf
      Src: /src/zlib/inflate.c:345,1
    - Dst: putchar
      Src: /src/zlib/inflate.c:348,1
    - Dst: puts
      Src: /src/zlib/inflate.c:350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 351
    functionName: makefixed
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - puts
    - fixedtables
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void makefixed(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/zlib/inflate.c:377,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:391,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:398,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - strm
    - end
    - copy
    argTypes:
    - z_streamp
    - Bytef*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 412
    functionName: updatewindow
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - ZALLOC
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: local updatewindow(z_streamp strm, const Bytef *end, unsigned copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: UPDATE_CHECK
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_CHECK(check, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: UPDATE_CHECK
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_CHECK(check, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: CRC2
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC2(check, word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: CRC4
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC4(check, word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: LOAD
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: RESTORE
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 471
    functionName: INITBITS
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: PULLBYTE
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: NEEDBITS
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: BITS
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: DROPBITS
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: BYTEBITS
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 140
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:610,1
    - Dst: LOAD
      Src: /src/zlib/inflate.c:616,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:627,1
    - Dst: crc32
      Src: /src/zlib/inflate.c:632,1
    - Dst: CRC2
      Src: /src/zlib/inflate.c:633,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:634,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:644,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:649,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:654,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:655,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:665,1
    - Dst: adler32
      Src: /src/zlib/inflate.c:666,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:668,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:672,1
    - Dst: CRC2
      Src: /src/zlib/inflate.c:687,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:688,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:692,1
    - Dst: CRC4
      Src: /src/zlib/inflate.c:696,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:697,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:701,1
    - Dst: CRC2
      Src: /src/zlib/inflate.c:707,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:708,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:713,1
    - Dst: CRC2
      Src: /src/zlib/inflate.c:718,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:719,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:734,1
    - Dst: crc32
      Src: /src/zlib/inflate.c:739,1
    - Dst: crc32
      Src: /src/zlib/inflate.c:761,1
    - Dst: crc32
      Src: /src/zlib/inflate.c:783,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:794,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:800,1
    - Dst: crc32
      Src: /src/zlib/inflate.c:806,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:811,1
    - Dst: ZSWAP32
      Src: /src/zlib/inflate.c:812,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:813,1
    - Dst: RESTORE
      Src: /src/zlib/inflate.c:818,1
    - Dst: adler32
      Src: /src/zlib/inflate.c:821,1
    - Dst: BYTEBITS
      Src: /src/zlib/inflate.c:829,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:833,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:834,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:835,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:836,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:838,1
    - Dst: fixedtables
      Src: /src/zlib/inflate.c:843,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:844,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:848,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:853,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:861,1
    - Dst: BYTEBITS
      Src: /src/zlib/inflate.c:864,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:865,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:872,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:874,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:887,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:895,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:899,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:900,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:901,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:902,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:903,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:904,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:905,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:913,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:919,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:920,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:921,1
    - Dst: inflate_table
      Src: /src/zlib/inflate.c:928,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:935,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:942,1
    - Dst: PULLBYTE
      Src: /src/zlib/inflate.c:944,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:947,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:952,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:953,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:960,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:961,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:964,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:965,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:967,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:968,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:971,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:972,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:974,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:975,1
    - Dst: inflate_table
      Src: /src/zlib/inflate.c:1003,1
    - Dst: inflate_table
      Src: /src/zlib/inflate.c:1012,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:1019,1
    - Dst: RESTORE
      Src: /src/zlib/inflate.c:1028,1
    - Dst: inflate_fast
      Src: /src/zlib/inflate.c:1029,1
    - Dst: LOAD
      Src: /src/zlib/inflate.c:1030,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:1037,1
    - Dst: PULLBYTE
      Src: /src/zlib/inflate.c:1039,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:1045,1
    - Dst: PULLBYTE
      Src: /src/zlib/inflate.c:1047,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:1049,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:1052,1
    - Dst: Tracevv
      Src: /src/zlib/inflate.c:1056,1
    - Dst: Tracevv
      Src: /src/zlib/inflate.c:1063,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:1078,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:1079,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:1080,1
    - Dst: Tracevv
      Src: /src/zlib/inflate.c:1083,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:1089,1
    - Dst: PULLBYTE
      Src: /src/zlib/inflate.c:1091,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:1097,1
    - Dst: PULLBYTE
      Src: /src/zlib/inflate.c:1099,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:1101,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:1104,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:1117,1
    - Dst: BITS
      Src: /src/zlib/inflate.c:1118,1
    - Dst: DROPBITS
      Src: /src/zlib/inflate.c:1119,1
    - Dst: Tracevv
      Src: /src/zlib/inflate.c:1129,1
    - Dst: Trace
      Src: /src/zlib/inflate.c:1144,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:1185,1
    - Dst: UPDATE_CHECK
      Src: /src/zlib/inflate.c:1191,1
    - Dst: ZSWAP32
      Src: /src/zlib/inflate.c:1197,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:1202,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:1203,1
    - Dst: NEEDBITS
      Src: /src/zlib/inflate.c:1210,1
    - Dst: INITBITS
      Src: /src/zlib/inflate.c:1216,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:1217,1
    - Dst: RESTORE
      Src: /src/zlib/inflate.c:1243,1
    - Dst: updatewindow
      Src: /src/zlib/inflate.c:1246,1
    - Dst: UPDATE_CHECK
      Src: /src/zlib/inflate.c:1257,1
    CyclomaticComplexity: 215
    EdgeCount: 215
    ICount: 609
    argCount: 2
    argNames:
    - strm
    - flush
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 590
    functionDepth: 4
    functionLinenumber: 590
    functionLinenumberEnd: 1264
    functionName: inflate
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 5
    functionsReached:
    - UPDATE_CHECK
    - zmemcpy
    - ZSWAP32
    - Trace
    - NEEDBITS
    - BYTEBITS
    - CRC2
    - PULLBYTE
    - inflateStateCheck
    - INITBITS
    - RESTORE
    - adler32
    - inflate_table
    - inflate_fast
    - Tracev
    - Tracevv
    - DROPBITS
    - updatewindow
    - crc32
    - LOAD
    - BITS
    - fixedtables
    - CRC4
    linkageType: ''
    returnType: int
    signature: int inflate(z_streamp strm, int flush)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1268,1
    - Dst: ZFREE
      Src: /src/zlib/inflate.c:1271,1
    - Dst: ZFREE
      Src: /src/zlib/inflate.c:1272,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1276
    functionName: inflateEnd
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 5
    functionsReached:
    - inflateStateCheck
    - ZFREE
    - Tracev
    linkageType: ''
    returnType: int
    signature: int inflateEnd(z_streamp strm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1283,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:1288,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:1290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes:
    - z_streamp
    - Bytef*
    - uInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1296
    functionName: inflateGetDictionary
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    - zmemcpy
    linkageType: ''
    returnType: int
    signature: "int inflateGetDictionary(z_streamp strm, Bytef *dictionary,\n                                 uInt
      *dictLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1305,1
    - Dst: adler32
      Src: /src/zlib/inflate.c:1312,1
    - Dst: adler32
      Src: /src/zlib/inflate.c:1313,1
    - Dst: updatewindow
      Src: /src/zlib/inflate.c:1320,1
    - Dst: Tracev
      Src: /src/zlib/inflate.c:1326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes:
    - z_streamp
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1298
    functionDepth: 2
    functionLinenumber: 1298
    functionLinenumberEnd: 1328
    functionName: inflateSetDictionary
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    - updatewindow
    - adler32
    - Tracev
    linkageType: ''
    returnType: int
    signature: "int inflateSetDictionary(z_streamp strm, const Bytef *dictionary,\n
      \                                uInt dictLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - head
    argTypes:
    - z_streamp
    - gz_headerp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1342
    functionName: inflateGetHeader
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateGetHeader(z_streamp strm, gz_headerp head)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - have
    - buf
    - len
    argTypes:
    - unsigned FAR*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1373
    functionName: syncsearch
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: "local unsigned syncsearch(unsigned FAR *have, const unsigned char
      FAR *buf,\n                          unsigned len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1383,1
    - Dst: syncsearch
      Src: /src/zlib/inflate.c:1399,1
    - Dst: syncsearch
      Src: /src/zlib/inflate.c:1403,1
    - Dst: inflateReset
      Src: /src/zlib/inflate.c:1416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1375
    functionDepth: 3
    functionLinenumber: 1375
    functionLinenumberEnd: 1421
    functionName: inflateSync
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    - syncsearch
    - inflateReset
    linkageType: ''
    returnType: int
    signature: int inflateSync(z_streamp strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1437
    functionName: inflateSyncPoint
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateSyncPoint(z_streamp strm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1446,1
    - Dst: ZALLOC
      Src: /src/zlib/inflate.c:1452,1
    - Dst: ZALLOC
      Src: /src/zlib/inflate.c:1457,1
    - Dst: ZFREE
      Src: /src/zlib/inflate.c:1459,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:1465,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:1466,1
    - Dst: zmemcpy
      Src: /src/zlib/inflate.c:1476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - z_streamp
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1481
    functionName: inflateCopy
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    - ZFREE
    - ZALLOC
    - zmemcpy
    linkageType: ''
    returnType: int
    signature: int inflateCopy(z_streamp dest, z_streamp source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - subvert
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1496
    functionName: inflateUndermine
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateUndermine(z_streamp strm, int subvert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - strm
    - check
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1508
    functionName: inflateValidate
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateValidate(z_streamp strm, int check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1519
    functionName: inflateMark
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: long ZEXPORT
    signature: long ZEXPORT inflateMark(z_streamp strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/zlib/inflate.c:1523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1526
    functionName: inflateCodesUsed
    functionSourceFile: /src/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: unsigned long ZEXPORT inflateCodesUsed(z_streamp strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: DO1
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO1(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: DO2
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO2(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: DO4
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO4(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: DO8
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO8(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: DO16
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO16(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: CHOP
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHOP(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: MOD28
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD28(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: MOD
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: MOD
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: MOD28
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD28(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: MOD63
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD63(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MOD28
      Src: /src/zlib/adler32.c:92,1
    - Dst: DO16
      Src: /src/zlib/adler32.c:101,1
    - Dst: MOD
      Src: /src/zlib/adler32.c:104,1
    - Dst: MOD
      Src: /src/zlib/adler32.c:105,1
    - Dst: DO16
      Src: /src/zlib/adler32.c:112,1
    - Dst: MOD
      Src: /src/zlib/adler32.c:119,1
    - Dst: MOD
      Src: /src/zlib/adler32.c:120,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - adler
    - buf
    - len
    argTypes:
    - uLong
    - Bytef*
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 125
    functionName: adler32_z
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached:
    - MOD
    - DO16
    - MOD28
    linkageType: ''
    returnType: uLong
    signature: uLong adler32_z(uLong adler, const Bytef *buf, z_size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_z
      Src: /src/zlib/adler32.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - adler
    - buf
    - len
    argTypes:
    - uLong
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: adler32
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 5
    functionsReached:
    - adler32_z
    linkageType: ''
    returnType: uLong
    signature: uLong adler32(uLong adler, const Bytef *buf, uInt len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MOD63
      Src: /src/zlib/adler32.c:143,1
    - Dst: MOD
      Src: /src/zlib/adler32.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - adler1
    - adler2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: adler32_combine_
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached:
    - MOD63
    - MOD
    linkageType: ''
    returnType: local
    signature: local adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_combine_
      Src: /src/zlib/adler32.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - adler1
    - adler2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: adler32_combine
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached:
    - adler32_combine_
    linkageType: ''
    returnType: uLong
    signature: uLong adler32_combine(uLong adler1, uLong adler2, z_off_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_combine_
      Src: /src/zlib/adler32.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - adler1
    - adler2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: adler32_combine64
    functionSourceFile: /src/zlib/adler32.c
    functionUses: 0
    functionsReached:
    - adler32_combine_
    linkageType: ''
    returnType: uLong
    signature: uLong adler32_combine64(uLong adler1, uLong adler2, z_off64_t len2)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 131
    argCount: 6
    argNames:
    - type
    - lens
    - codes
    - table
    - bits
    - work
    argTypes:
    - codetype
    - unsigned short FAR*
    - unsigned
    - code**
    - unsigned FAR*
    - unsigned short FAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 299
    functionName: ZLIB_INTERNAL::inflate_table
    functionSourceFile: /src/zlib/inftrees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ZLIB_INTERNAL inflate_table(codetype type, unsigned short FAR
      *lens,\n                                unsigned codes, code FAR * FAR *table,\n
      \                               unsigned FAR *bits, unsigned short FAR *work)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzclose_r
      Src: /src/zlib/gzclose.c:19,1
    - Dst: gzclose_w
      Src: /src/zlib/gzclose.c:19,1
    - Dst: gzclose_r
      Src: /src/zlib/gzclose.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 11
    functionDepth: 6
    functionLinenumber: 11
    functionLinenumberEnd: 23
    functionName: gzclose
    functionSourceFile: /src/zlib/gzclose.c
    functionUses: 0
    functionsReached:
    - gzclose_r
    - gzclose_w
    linkageType: ''
    returnType: int
    signature: int gzclose(gzFile file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/test/infcover.c:84,1
    - Dst: memset
      Src: /src/zlib/test/infcover.c:87,1
    - Dst: malloc
      Src: /src/zlib/test/infcover.c:90,1
    - Dst: free
      Src: /src/zlib/test/infcover.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - mem
    - count
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 109
    functionName: mem_alloc
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: local
    signature: local *mem_alloc(void *mem, unsigned count, unsigned size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/zlib/test/infcover.c:119,1
    - Dst: free
      Src: /src/zlib/test/infcover.c:145,1
    - Dst: free
      Src: /src/zlib/test/infcover.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: mem_free
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: local mem_free(void *mem, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/test/infcover.c:162,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_stream*
    assertStmts:
    - condition: (zone != NULL)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: mem_setup
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: local
    signature: local mem_setup(z_stream *strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - limit
    argTypes:
    - z_stream*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: mem_limit
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local mem_limit(z_stream *strm, size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/test/infcover.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: mem_used
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local mem_used(z_stream *strm, char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/test/infcover.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: mem_high
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local mem_high(z_stream *strm, char *prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_high
      Src: /src/zlib/test/infcover.c:207,1
    - Dst: free
      Src: /src/zlib/test/infcover.c:212,1
    - Dst: free
      Src: /src/zlib/test/infcover.c:214,1
    - Dst: fprintf
      Src: /src/zlib/test/infcover.c:221,1
    - Dst: fprintf
      Src: /src/zlib/test/infcover.c:224,1
    - Dst: fprintf
      Src: /src/zlib/test/infcover.c:226,1
    - Dst: free
      Src: /src/zlib/test/infcover.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 234
    functionName: mem_done
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - free
    - fprintf
    - mem_high
    linkageType: ''
    returnType: local
    signature: local mem_done(z_stream *strm, char *prefix)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/test/infcover.c:250,1
    - Dst: strlen
      Src: /src/zlib/test/infcover.c:250,1
    - Dst: realloc
      Src: /src/zlib/test/infcover.c:271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - hex
    - len
    argTypes:
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: h2b
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - realloc
    - strlen
    - malloc
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned *h2b(const char *hex, unsigned *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_setup
      Src: /src/zlib/test/infcover.c:293,1
    - Dst: inflateInit2
      Src: /src/zlib/test/infcover.c:296,1
    - Dst: mem_done
      Src: /src/zlib/test/infcover.c:298,1
    - Dst: malloc
      Src: /src/zlib/test/infcover.c:301,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:301,1
    - Dst: inflateGetHeader
      Src: /src/zlib/test/infcover.c:309,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:309,1
    - Dst: h2b
      Src: /src/zlib/test/infcover.c:311,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:311,1
    - Dst: inflate
      Src: /src/zlib/test/infcover.c:320,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:320,1
    - Dst: inflateSetDictionary
      Src: /src/zlib/test/infcover.c:324,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:325,1
    - Dst: mem_limit
      Src: /src/zlib/test/infcover.c:326,1
    - Dst: inflateSetDictionary
      Src: /src/zlib/test/infcover.c:327,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:328,1
    - Dst: mem_limit
      Src: /src/zlib/test/infcover.c:329,1
    - Dst: inflateSetDictionary
      Src: /src/zlib/test/infcover.c:331,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:332,1
    - Dst: inflate
      Src: /src/zlib/test/infcover.c:333,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:333,1
    - Dst: inflateCopy
      Src: /src/zlib/test/infcover.c:335,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:335,1
    - Dst: inflateEnd
      Src: /src/zlib/test/infcover.c:336,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:336,1
    - Dst: free
      Src: /src/zlib/test/infcover.c:342,1
    - Dst: free
      Src: /src/zlib/test/infcover.c:343,1
    - Dst: inflateReset2
      Src: /src/zlib/test/infcover.c:344,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:344,1
    - Dst: inflateEnd
      Src: /src/zlib/test/infcover.c:345,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:345,1
    - Dst: mem_done
      Src: /src/zlib/test/infcover.c:346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 64
    argCount: 6
    argNames:
    - hex
    - what
    - step
    - win
    - len
    - err
    argTypes:
    - char*
    - char*
    - unsigned
    - int
    - unsigned
    - int
    assertStmts:
    - condition: (ret == Z_OK)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/zlib/test/infcover.c
    - condition: (err == 9 || ret == err)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/zlib/test/infcover.c
    - condition: (out != NULL)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/zlib/test/infcover.c
    - condition: (in != NULL)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_BUF_ERROR)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 5
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: inf
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 3
    functionsReached:
    - free
    - mem_setup
    - inflateCopy
    - inflateGetHeader
    - inflate
    - inflateInit2
    - inflateSetDictionary
    - mem_done
    - malloc
    - h2b
    - inflateReset2
    - mem_limit
    - inflateEnd
    - assert
    linkageType: ''
    returnType: local
    signature: "local inf(char *hex, char *what, unsigned step, int win, unsigned
      len,\n               int err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_setup
      Src: /src/zlib/test/infcover.c:355,1
    - Dst: inflateInit
      Src: /src/zlib/test/infcover.c:358,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:358,1
    - Dst: mem_used
      Src: /src/zlib/test/infcover.c:359,1
    - Dst: inflatePrime
      Src: /src/zlib/test/infcover.c:360,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:360,1
    - Dst: inflatePrime
      Src: /src/zlib/test/infcover.c:361,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:361,1
    - Dst: inflateSetDictionary
      Src: /src/zlib/test/infcover.c:362,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:363,1
    - Dst: inflateEnd
      Src: /src/zlib/test/infcover.c:364,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:364,1
    - Dst: mem_done
      Src: /src/zlib/test/infcover.c:365,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:367,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:368,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:369,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:370,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:371,1
    - Dst: mem_setup
      Src: /src/zlib/test/infcover.c:373,1
    - Dst: inflateInit_
      Src: /src/zlib/test/infcover.c:376,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:377,1
    - Dst: mem_done
      Src: /src/zlib/test/infcover.c:378,1
    - Dst: inflateInit
      Src: /src/zlib/test/infcover.c:382,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:382,1
    - Dst: inflateEnd
      Src: /src/zlib/test/infcover.c:383,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:383,1
    - Dst: fputs
      Src: /src/zlib/test/infcover.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_OK)
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_VERSION_ERROR)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 385
      start: 350
    functionDepth: 6
    functionLinenumber: 350
    functionLinenumberEnd: 385
    functionName: cover_support
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - fputs
    - mem_used
    - mem_setup
    - inf
    - inflateSetDictionary
    - mem_done
    - inflatePrime
    - inflateInit
    - inflateEnd
    - inflateInit_
    - assert
    linkageType: ''
    returnType: local
    signature: local cover_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/zlib/test/infcover.c:394,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:394,1
    - Dst: inflateEnd
      Src: /src/zlib/test/infcover.c:395,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:395,1
    - Dst: inflateCopy
      Src: /src/zlib/test/infcover.c:396,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:396,1
    - Dst: fputs
      Src: /src/zlib/test/infcover.c:397,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:399,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:400,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:401,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:402,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:403,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:404,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:405,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:407,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:409,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:410,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:411,1
    - Dst: mem_setup
      Src: /src/zlib/test/infcover.c:413,1
    - Dst: inflateInit2
      Src: /src/zlib/test/infcover.c:416,1
    - Dst: mem_limit
      Src: /src/zlib/test/infcover.c:421,1
    - Dst: inflate
      Src: /src/zlib/test/infcover.c:422,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:422,1
    - Dst: inflate
      Src: /src/zlib/test/infcover.c:423,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:423,1
    - Dst: mem_limit
      Src: /src/zlib/test/infcover.c:424,1
    - Dst: memset
      Src: /src/zlib/test/infcover.c:425,1
    - Dst: inflateSetDictionary
      Src: /src/zlib/test/infcover.c:426,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:427,1
    - Dst: mem_limit
      Src: /src/zlib/test/infcover.c:428,1
    - Dst: inflatePrime
      Src: /src/zlib/test/infcover.c:429,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:429,1
    - Dst: inflateSync
      Src: /src/zlib/test/infcover.c:432,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:432,1
    - Dst: inflate
      Src: /src/zlib/test/infcover.c:433,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:433,1
    - Dst: inflateSync
      Src: /src/zlib/test/infcover.c:436,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:436,1
    - Dst: inflateSyncPoint
      Src: /src/zlib/test/infcover.c:437,1
    - Dst: inflateCopy
      Src: /src/zlib/test/infcover.c:438,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:438,1
    - Dst: mem_limit
      Src: /src/zlib/test/infcover.c:439,1
    - Dst: inflateUndermine
      Src: /src/zlib/test/infcover.c:440,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:440,1
    - Dst: inflateMark
      Src: /src/zlib/test/infcover.c:441,1
    - Dst: inflateEnd
      Src: /src/zlib/test/infcover.c:442,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:442,1
    - Dst: mem_done
      Src: /src/zlib/test/infcover.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_OK)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 444
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 444
    functionName: cover_wrap
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inflateMark
    - memset
    - fputs
    - mem_setup
    - inflateCopy
    - inflate
    - inf
    - inflateInit2
    - inflateSetDictionary
    - mem_done
    - inflatePrime
    - inflateSync
    - mem_limit
    - inflateEnd
    - inflateUndermine
    - assert
    - inflateSyncPoint
    linkageType: ''
    returnType: local
    signature: local cover_wrap(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - desc
    - buf
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: pull
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned pull(void *desc, unsigned char z_const **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - desc
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: push
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 327
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local push(void *desc, unsigned char *buf, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateBackInit_
      Src: /src/zlib/test/infcover.c:477,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:478,1
    - Dst: inflateBackInit
      Src: /src/zlib/test/infcover.c:479,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:479,1
    - Dst: inflateBack
      Src: /src/zlib/test/infcover.c:480,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:481,1
    - Dst: inflateBackEnd
      Src: /src/zlib/test/infcover.c:482,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:482,1
    - Dst: fputs
      Src: /src/zlib/test/infcover.c:483,1
    - Dst: mem_setup
      Src: /src/zlib/test/infcover.c:485,1
    - Dst: inflateBackInit
      Src: /src/zlib/test/infcover.c:486,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:486,1
    - Dst: inflateBack
      Src: /src/zlib/test/infcover.c:489,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:490,1
    - Dst: inflateBack
      Src: /src/zlib/test/infcover.c:494,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:495,1
    - Dst: inflateBack
      Src: /src/zlib/test/infcover.c:497,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:498,1
    - Dst: inflateBackEnd
      Src: /src/zlib/test/infcover.c:499,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:499,1
    - Dst: mem_done
      Src: /src/zlib/test/infcover.c:500,1
    - Dst: inflateBackInit
      Src: /src/zlib/test/infcover.c:502,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:502,1
    - Dst: inflateBackEnd
      Src: /src/zlib/test/infcover.c:503,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:503,1
    - Dst: fputs
      Src: /src/zlib/test/infcover.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_BUF_ERROR)
      pos:
        line_end: 494
        line_start: 494
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 502
        line_start: 502
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_VERSION_ERROR)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 505
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 505
    functionName: cover_back
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - fputs
    - inflateBackEnd
    - mem_setup
    - mem_done
    - inflateBackInit
    - inflateBackInit_
    - inflateBack
    - assert
    linkageType: ''
    returnType: local
    signature: local cover_back(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/zlib/test/infcover.c:612,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 615
    functionName: cover_inflate
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inf
    linkageType: ''
    returnType: local
    signature: local cover_inflate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/zlib/test/infcover.c:632,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:633,1
    - Dst: inflate_table
      Src: /src/zlib/test/infcover.c:636,1
    - Dst: assert
      Src: /src/zlib/test/infcover.c:637,1
    - Dst: fputs
      Src: /src/zlib/test/infcover.c:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == 1)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/zlib/test/infcover.c
    - condition: (ret == 1)
      pos:
        line_end: 636
        line_start: 636
        source_file: /src/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 639
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 639
    functionName: cover_trees
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - fputs
    - inflate_table
    - assert
    linkageType: ''
    returnType: local
    signature: local cover_trees(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/zlib/test/infcover.c:644,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:646,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:649,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:651,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:653,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:655,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:656,1
    - Dst: inf
      Src: /src/zlib/test/infcover.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 660
    functionName: cover_fast
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inf
    linkageType: ''
    returnType: local
    signature: local cover_fast(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/test/infcover.c:664,1
    - Dst: zlibVersion
      Src: /src/zlib/test/infcover.c:664,1
    - Dst: cover_support
      Src: /src/zlib/test/infcover.c:665,1
    - Dst: cover_wrap
      Src: /src/zlib/test/infcover.c:666,1
    - Dst: cover_back
      Src: /src/zlib/test/infcover.c:667,1
    - Dst: cover_inflate
      Src: /src/zlib/test/infcover.c:668,1
    - Dst: cover_trees
      Src: /src/zlib/test/infcover.c:669,1
    - Dst: cover_fast
      Src: /src/zlib/test/infcover.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 7
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: main
    functionSourceFile: /src/zlib/test/infcover.c
    functionUses: 12
    functionsReached:
    - cover_inflate
    - cover_wrap
    - cover_trees
    - zlibVersion
    - cover_back
    - fprintf
    - cover_fast
    - cover_support
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: fileno
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fileno(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: perror
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: perror(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - char*
    - char*
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: string_copy
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *string_copy(char *dst, char const *src, z_size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/zlib/test/minigzip.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - q
    - n
    - m
    argTypes:
    - void*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: myalloc
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *myalloc(void *q, unsigned n, unsigned m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/zlib/test/minigzip.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: myfree
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void myfree(void *q, void *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/test/minigzip.c:202,1
    - Dst: strchr
      Src: /src/zlib/test/minigzip.c:205,1
    - Dst: deflateInit2
      Src: /src/zlib/test/minigzip.c:210,1
    - Dst: inflateInit2
      Src: /src/zlib/test/minigzip.c:214,1
    - Dst: free
      Src: /src/zlib/test/minigzip.c:217,1
    - Dst: fdopen
      Src: /src/zlib/test/minigzip.c:220,1
    - Dst: fopen
      Src: /src/zlib/test/minigzip.c:221,1
    - Dst: deflateEnd
      Src: /src/zlib/test/minigzip.c:223,1
    - Dst: inflateEnd
      Src: /src/zlib/test/minigzip.c:223,1
    - Dst: free
      Src: /src/zlib/test/minigzip.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - path
    - fd
    - mode
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 230
    functionName: gz_open
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 4
    functionsReached:
    - free
    - strchr
    - fdopen
    - deflateEnd
    - fopen
    - inflateInit2
    - deflateInit2
    - malloc
    - inflateEnd
    linkageType: ''
    returnType: gzFile
    signature: gzFile gz_open(const char *path, int fd, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/zlib/test/minigzip.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: gzopen
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: gzFile gzopen(const char *path, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/zlib/test/minigzip.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: gzdopen
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: gzFile gzdopen(int fd, const char *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/zlib/test/minigzip.c:252,1
    - Dst: fwrite
      Src: /src/zlib/test/minigzip.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - gz
    - buf
    - len
    argTypes:
    - gzFile
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: gzwrite
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - fwrite
    - deflate
    linkageType: ''
    returnType: int
    signature: int gzwrite(gzFile gz, const void *buf, unsigned len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/zlib/test/minigzip.c:272,1
    - Dst: inflate
      Src: /src/zlib/test/minigzip.c:277,1
    - Dst: inflateReset
      Src: /src/zlib/test/minigzip.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - gz
    - buf
    - len
    argTypes:
    - gzFile
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 287
    functionName: gzread
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - fread
    - inflateReset
    - inflate
    linkageType: ''
    returnType: int
    signature: int gzread(gzFile gz, void *buf, unsigned len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/zlib/test/minigzip.c:302,1
    - Dst: fwrite
      Src: /src/zlib/test/minigzip.c:303,1
    - Dst: deflateEnd
      Src: /src/zlib/test/minigzip.c:305,1
    - Dst: inflateEnd
      Src: /src/zlib/test/minigzip.c:308,1
    - Dst: fclose
      Src: /src/zlib/test/minigzip.c:309,1
    - Dst: free
      Src: /src/zlib/test/minigzip.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - gz
    argTypes:
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 312
    functionName: gzclose
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - free
    - fwrite
    - deflateEnd
    - fclose
    - inflateEnd
    - deflate
    linkageType: ''
    returnType: int
    signature: int gzclose(gzFile gz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gz
    - err
    argTypes:
    - gzFile
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: gzerror
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gzerror(gzFile gz, int *err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/test/minigzip.c:327,1
    - Dst: exit
      Src: /src/zlib/test/minigzip.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: error
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 795
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void error(const char *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/zlib/test/minigzip.c:339,1
    - Dst: fstat
      Src: /src/zlib/test/minigzip.c:345,1
    - Dst: mmap
      Src: /src/zlib/test/minigzip.c:350,1
    - Dst: gzwrite
      Src: /src/zlib/test/minigzip.c:354,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:356,1
    - Dst: gzerror
      Src: /src/zlib/test/minigzip.c:356,1
    - Dst: munmap
      Src: /src/zlib/test/minigzip.c:358,1
    - Dst: fclose
      Src: /src/zlib/test/minigzip.c:359,1
    - Dst: gzclose
      Src: /src/zlib/test/minigzip.c:360,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - FILE*
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 362
    functionName: gz_compress_mmap
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - gzclose
    - fileno
    - fstat
    - gzwrite
    - gzerror
    - mmap
    - fclose
    - munmap
    - error
    linkageType: ''
    returnType: int
    signature: int gz_compress_mmap(FILE *in, gzFile out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gz_compress_mmap
      Src: /src/zlib/test/minigzip.c:378,1
    - Dst: fread
      Src: /src/zlib/test/minigzip.c:381,1
    - Dst: ferror
      Src: /src/zlib/test/minigzip.c:382,1
    - Dst: perror
      Src: /src/zlib/test/minigzip.c:383,1
    - Dst: exit
      Src: /src/zlib/test/minigzip.c:384,1
    - Dst: gzwrite
      Src: /src/zlib/test/minigzip.c:388,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:388,1
    - Dst: gzerror
      Src: /src/zlib/test/minigzip.c:388,1
    - Dst: fclose
      Src: /src/zlib/test/minigzip.c:390,1
    - Dst: gzclose
      Src: /src/zlib/test/minigzip.c:391,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - FILE*
    - gzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 392
    functionName: gz_compress
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - perror
    - gzclose
    - exit
    - ferror
    - gzwrite
    - fread
    - gzerror
    - gz_compress_mmap
    - fclose
    - error
    linkageType: ''
    returnType: void
    signature: void gz_compress(FILE *in, gzFile out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gzread
      Src: /src/zlib/test/minigzip.c:403,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:404,1
    - Dst: gzerror
      Src: /src/zlib/test/minigzip.c:404,1
    - Dst: fwrite
      Src: /src/zlib/test/minigzip.c:407,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:408,1
    - Dst: fclose
      Src: /src/zlib/test/minigzip.c:411,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:411,1
    - Dst: gzclose
      Src: /src/zlib/test/minigzip.c:413,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - gzFile
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 414
    functionName: gz_uncompress
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - gzclose
    - fwrite
    - gzread
    - gzerror
    - fclose
    - error
    linkageType: ''
    returnType: void
    signature: void gz_uncompress(gzFile in, FILE *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/zlib/test/minigzip.c:426,1
    - Dst: strlen
      Src: /src/zlib/test/minigzip.c:426,1
    - Dst: fprintf
      Src: /src/zlib/test/minigzip.c:427,1
    - Dst: exit
      Src: /src/zlib/test/minigzip.c:428,1
    - Dst: string_copy
      Src: /src/zlib/test/minigzip.c:431,1
    - Dst: string_copy
      Src: /src/zlib/test/minigzip.c:432,1
    - Dst: fopen
      Src: /src/zlib/test/minigzip.c:434,1
    - Dst: perror
      Src: /src/zlib/test/minigzip.c:436,1
    - Dst: exit
      Src: /src/zlib/test/minigzip.c:437,1
    - Dst: gzopen
      Src: /src/zlib/test/minigzip.c:439,1
    - Dst: fprintf
      Src: /src/zlib/test/minigzip.c:441,1
    - Dst: exit
      Src: /src/zlib/test/minigzip.c:442,1
    - Dst: gz_compress
      Src: /src/zlib/test/minigzip.c:444,1
    - Dst: unlink
      Src: /src/zlib/test/minigzip.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - file
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 447
    functionName: file_compress
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - perror
    - exit
    - gzopen
    - string_copy
    - fopen
    - unlink
    - fprintf
    - gz_compress
    - strlen
    linkageType: ''
    returnType: void
    signature: void file_compress(char *file, char *mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/zlib/test/minigzip.c:458,1
    - Dst: strlen
      Src: /src/zlib/test/minigzip.c:460,1
    - Dst: fprintf
      Src: /src/zlib/test/minigzip.c:461,1
    - Dst: exit
      Src: /src/zlib/test/minigzip.c:462,1
    - Dst: string_copy
      Src: /src/zlib/test/minigzip.c:465,1
    - Dst: strcmp
      Src: /src/zlib/test/minigzip.c:467,1
    - Dst: string_copy
      Src: /src/zlib/test/minigzip.c:474,1
    - Dst: gzopen
      Src: /src/zlib/test/minigzip.c:476,1
    - Dst: fprintf
      Src: /src/zlib/test/minigzip.c:478,1
    - Dst: exit
      Src: /src/zlib/test/minigzip.c:479,1
    - Dst: fopen
      Src: /src/zlib/test/minigzip.c:481,1
    - Dst: perror
      Src: /src/zlib/test/minigzip.c:483,1
    - Dst: exit
      Src: /src/zlib/test/minigzip.c:484,1
    - Dst: gz_uncompress
      Src: /src/zlib/test/minigzip.c:487,1
    - Dst: unlink
      Src: /src/zlib/test/minigzip.c:489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 490
    functionName: file_uncompress
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 0
    functionsReached:
    - perror
    - exit
    - gzopen
    - string_copy
    - gz_uncompress
    - fopen
    - unlink
    - fprintf
    - strcmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void file_uncompress(char *file)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: string_copy
      Src: /src/zlib/test/minigzip.c:509,1
    - Dst: strrchr
      Src: /src/zlib/test/minigzip.c:511,1
    - Dst: strcmp
      Src: /src/zlib/test/minigzip.c:518,1
    - Dst: strcmp
      Src: /src/zlib/test/minigzip.c:520,1
    - Dst: strcmp
      Src: /src/zlib/test/minigzip.c:524,1
    - Dst: strcmp
      Src: /src/zlib/test/minigzip.c:526,1
    - Dst: strcmp
      Src: /src/zlib/test/minigzip.c:528,1
    - Dst: strcmp
      Src: /src/zlib/test/minigzip.c:530,1
    - Dst: strcmp
      Src: /src/zlib/test/minigzip.c:532,1
    - Dst: SET_BINARY_MODE
      Src: /src/zlib/test/minigzip.c:544,1
    - Dst: SET_BINARY_MODE
      Src: /src/zlib/test/minigzip.c:545,1
    - Dst: gzdopen
      Src: /src/zlib/test/minigzip.c:547,1
    - Dst: fileno
      Src: /src/zlib/test/minigzip.c:547,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:548,1
    - Dst: gz_uncompress
      Src: /src/zlib/test/minigzip.c:549,1
    - Dst: gzdopen
      Src: /src/zlib/test/minigzip.c:551,1
    - Dst: fileno
      Src: /src/zlib/test/minigzip.c:551,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:552,1
    - Dst: gz_compress
      Src: /src/zlib/test/minigzip.c:553,1
    - Dst: SET_BINARY_MODE
      Src: /src/zlib/test/minigzip.c:557,1
    - Dst: gzopen
      Src: /src/zlib/test/minigzip.c:562,1
    - Dst: fprintf
      Src: /src/zlib/test/minigzip.c:564,1
    - Dst: gz_uncompress
      Src: /src/zlib/test/minigzip.c:566,1
    - Dst: file_uncompress
      Src: /src/zlib/test/minigzip.c:568,1
    - Dst: fopen
      Src: /src/zlib/test/minigzip.c:572,1
    - Dst: perror
      Src: /src/zlib/test/minigzip.c:575,1
    - Dst: gzdopen
      Src: /src/zlib/test/minigzip.c:577,1
    - Dst: fileno
      Src: /src/zlib/test/minigzip.c:577,1
    - Dst: error
      Src: /src/zlib/test/minigzip.c:578,1
    - Dst: gz_compress
      Src: /src/zlib/test/minigzip.c:580,1
    - Dst: file_compress
      Src: /src/zlib/test/minigzip.c:584,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 590
    functionName: main
    functionSourceFile: /src/zlib/test/minigzip.c
    functionUses: 12
    functionsReached:
    - perror
    - fileno
    - gzopen
    - string_copy
    - gz_uncompress
    - strcmp
    - fopen
    - file_compress
    - file_uncompress
    - gzdopen
    - fprintf
    - strrchr
    - gz_compress
    - SET_BINARY_MODE
    - error
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - err
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: CHECK_ERR
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ERR(err, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/zlib/test/example.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - q
    - n
    - m
    argTypes:
    - void*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: myalloc
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void *myalloc(void *q, unsigned n, unsigned m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/zlib/test/example.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: myfree
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void myfree(void *q, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/zlib/test/example.c:69,1
    - Dst: compress
      Src: /src/zlib/test/example.c:71,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:72,1
    - Dst: strcpy
      Src: /src/zlib/test/example.c:74,1
    - Dst: uncompress
      Src: /src/zlib/test/example.c:76,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:77,1
    - Dst: strcmp
      Src: /src/zlib/test/example.c:79,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:80,1
    - Dst: exit
      Src: /src/zlib/test/example.c:81,1
    - Dst: printf
      Src: /src/zlib/test/example.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes:
    - Byte*
    - uLong
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: test_compress
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - strcpy
    - exit
    - compress
    - CHECK_ERR
    - uncompress
    - fprintf
    - strcmp
    - strlen
    - printf
    linkageType: ''
    returnType: void
    signature: "void test_compress(Byte *compr, uLong comprLen, Byte *uncompr,\n                   uLong
      uncomprLen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/test/example.c:92,1
    - Dst: strlen
      Src: /src/zlib/test/example.c:95,1
    - Dst: gzopen
      Src: /src/zlib/test/example.c:99,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:101,1
    - Dst: exit
      Src: /src/zlib/test/example.c:102,1
    - Dst: gzputc
      Src: /src/zlib/test/example.c:104,1
    - Dst: gzputs
      Src: /src/zlib/test/example.c:105,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:106,1
    - Dst: gzerror
      Src: /src/zlib/test/example.c:106,1
    - Dst: exit
      Src: /src/zlib/test/example.c:107,1
    - Dst: gzprintf
      Src: /src/zlib/test/example.c:109,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:110,1
    - Dst: gzerror
      Src: /src/zlib/test/example.c:110,1
    - Dst: exit
      Src: /src/zlib/test/example.c:111,1
    - Dst: gzseek
      Src: /src/zlib/test/example.c:113,1
    - Dst: gzclose
      Src: /src/zlib/test/example.c:114,1
    - Dst: gzopen
      Src: /src/zlib/test/example.c:116,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:118,1
    - Dst: exit
      Src: /src/zlib/test/example.c:119,1
    - Dst: strcpy
      Src: /src/zlib/test/example.c:121,1
    - Dst: gzread
      Src: /src/zlib/test/example.c:123,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:124,1
    - Dst: gzerror
      Src: /src/zlib/test/example.c:124,1
    - Dst: exit
      Src: /src/zlib/test/example.c:125,1
    - Dst: strcmp
      Src: /src/zlib/test/example.c:127,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:128,1
    - Dst: exit
      Src: /src/zlib/test/example.c:129,1
    - Dst: printf
      Src: /src/zlib/test/example.c:131,1
    - Dst: gzseek
      Src: /src/zlib/test/example.c:134,1
    - Dst: gztell
      Src: /src/zlib/test/example.c:135,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:136,1
    - Dst: gztell
      Src: /src/zlib/test/example.c:137,1
    - Dst: exit
      Src: /src/zlib/test/example.c:138,1
    - Dst: gzgetc
      Src: /src/zlib/test/example.c:141,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:142,1
    - Dst: exit
      Src: /src/zlib/test/example.c:143,1
    - Dst: gzungetc
      Src: /src/zlib/test/example.c:146,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:147,1
    - Dst: exit
      Src: /src/zlib/test/example.c:148,1
    - Dst: gzgets
      Src: /src/zlib/test/example.c:151,1
    - Dst: strlen
      Src: /src/zlib/test/example.c:152,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:153,1
    - Dst: gzerror
      Src: /src/zlib/test/example.c:153,1
    - Dst: exit
      Src: /src/zlib/test/example.c:154,1
    - Dst: strcmp
      Src: /src/zlib/test/example.c:156,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:157,1
    - Dst: exit
      Src: /src/zlib/test/example.c:158,1
    - Dst: printf
      Src: /src/zlib/test/example.c:160,1
    - Dst: gzclose
      Src: /src/zlib/test/example.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 3
    argNames:
    - fname
    - uncompr
    - uncomprLen
    argTypes:
    - char*
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 90
    functionDepth: 7
    functionLinenumber: 90
    functionLinenumberEnd: 165
    functionName: test_gzio
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - gzclose
    - strcpy
    - exit
    - gzopen
    - gzseek
    - gzputc
    - gzread
    - gztell
    - gzgets
    - gzprintf
    - gzerror
    - fprintf
    - gzputs
    - strcmp
    - strlen
    - gzgetc
    - printf
    - gzungetc
    linkageType: ''
    returnType: void
    signature: void test_gzio(const char *fname, Byte *uncompr, uLong uncomprLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/zlib/test/example.c:175,1
    - Dst: deflateInit
      Src: /src/zlib/test/example.c:181,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:182,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:189,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:190,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:195,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:197,1
    - Dst: deflateEnd
      Src: /src/zlib/test/example.c:200,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - compr
    - comprLen
    argTypes:
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 202
    functionName: test_deflate
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - deflateInit
    - deflateEnd
    - CHECK_ERR
    - strlen
    - deflate
    linkageType: ''
    returnType: void
    signature: void test_deflate(Byte *compr, uLong comprLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/zlib/test/example.c:212,1
    - Dst: inflateInit
      Src: /src/zlib/test/example.c:222,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:223,1
    - Dst: inflate
      Src: /src/zlib/test/example.c:227,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:229,1
    - Dst: inflateEnd
      Src: /src/zlib/test/example.c:232,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:233,1
    - Dst: strcmp
      Src: /src/zlib/test/example.c:235,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:236,1
    - Dst: exit
      Src: /src/zlib/test/example.c:237,1
    - Dst: printf
      Src: /src/zlib/test/example.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes:
    - Byte*
    - uLong
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 241
    functionName: test_inflate
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - strcpy
    - exit
    - CHECK_ERR
    - inflate
    - inflateInit
    - fprintf
    - strcmp
    - inflateEnd
    - printf
    linkageType: ''
    returnType: void
    signature: "void test_inflate(Byte *compr, uLong comprLen, Byte *uncompr,\n                  uLong
      uncomprLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/zlib/test/example.c:255,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:256,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:266,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:267,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:269,1
    - Dst: exit
      Src: /src/zlib/test/example.c:270,1
    - Dst: deflateParams
      Src: /src/zlib/test/example.c:274,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:277,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:278,1
    - Dst: deflateParams
      Src: /src/zlib/test/example.c:281,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:284,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:285,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:287,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:289,1
    - Dst: exit
      Src: /src/zlib/test/example.c:290,1
    - Dst: deflateEnd
      Src: /src/zlib/test/example.c:292,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 4
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes:
    - Byte*
    - uLong
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 294
    functionName: test_large_deflate
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - exit
    - deflateInit
    - deflateEnd
    - CHECK_ERR
    - fprintf
    - deflateParams
    - deflate
    linkageType: ''
    returnType: void
    signature: "void test_large_deflate(Byte *compr, uLong comprLen, Byte *uncompr,\n
      \                       uLong uncomprLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/zlib/test/example.c:304,1
    - Dst: inflateInit
      Src: /src/zlib/test/example.c:313,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:314,1
    - Dst: inflate
      Src: /src/zlib/test/example.c:319,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:321,1
    - Dst: inflateEnd
      Src: /src/zlib/test/example.c:324,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:325,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:328,1
    - Dst: exit
      Src: /src/zlib/test/example.c:329,1
    - Dst: printf
      Src: /src/zlib/test/example.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes:
    - Byte*
    - uLong
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 299
    functionDepth: 5
    functionLinenumber: 299
    functionLinenumberEnd: 333
    functionName: test_large_inflate
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - strcpy
    - exit
    - CHECK_ERR
    - inflate
    - inflateInit
    - fprintf
    - inflateEnd
    - printf
    linkageType: ''
    returnType: void
    signature: "void test_large_inflate(Byte *compr, uLong comprLen, Byte *uncompr,\n
      \                       uLong uncomprLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/zlib/test/example.c:341,1
    - Dst: deflateInit
      Src: /src/zlib/test/example.c:347,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:348,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:354,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:355,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:360,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:362,1
    - Dst: deflateEnd
      Src: /src/zlib/test/example.c:364,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - compr
    - comprLen
    argTypes:
    - Byte*
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 368
    functionName: test_flush
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - deflateInit
    - deflateEnd
    - CHECK_ERR
    - strlen
    - deflate
    linkageType: ''
    returnType: void
    signature: void test_flush(Byte *compr, uLong *comprLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/zlib/test/example.c:378,1
    - Dst: inflateInit
      Src: /src/zlib/test/example.c:387,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:388,1
    - Dst: inflate
      Src: /src/zlib/test/example.c:393,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:394,1
    - Dst: inflateSync
      Src: /src/zlib/test/example.c:397,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:398,1
    - Dst: inflate
      Src: /src/zlib/test/example.c:400,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:402,1
    - Dst: exit
      Src: /src/zlib/test/example.c:403,1
    - Dst: inflateEnd
      Src: /src/zlib/test/example.c:405,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:406,1
    - Dst: printf
      Src: /src/zlib/test/example.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 4
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes:
    - Byte*
    - uLong
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 373
    functionDepth: 5
    functionLinenumber: 373
    functionLinenumberEnd: 409
    functionName: test_sync
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - strcpy
    - exit
    - CHECK_ERR
    - inflate
    - inflateInit
    - fprintf
    - inflateSync
    - inflateEnd
    - printf
    linkageType: ''
    returnType: void
    signature: "void test_sync(Byte *compr, uLong comprLen, Byte *uncompr,\n                      uLong
      uncomprLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/zlib/test/example.c:422,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:423,1
    - Dst: deflateSetDictionary
      Src: /src/zlib/test/example.c:425,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:427,1
    - Dst: strlen
      Src: /src/zlib/test/example.c:434,1
    - Dst: deflate
      Src: /src/zlib/test/example.c:436,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:438,1
    - Dst: exit
      Src: /src/zlib/test/example.c:439,1
    - Dst: deflateEnd
      Src: /src/zlib/test/example.c:441,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - compr
    - comprLen
    argTypes:
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 414
    functionDepth: 4
    functionLinenumber: 414
    functionLinenumberEnd: 443
    functionName: test_dict_deflate
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - exit
    - deflateInit
    - deflateSetDictionary
    - deflateEnd
    - CHECK_ERR
    - fprintf
    - strlen
    - deflate
    linkageType: ''
    returnType: void
    signature: void test_dict_deflate(Byte *compr, uLong comprLen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/zlib/test/example.c:453,1
    - Dst: inflateInit
      Src: /src/zlib/test/example.c:462,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:463,1
    - Dst: inflate
      Src: /src/zlib/test/example.c:469,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:473,1
    - Dst: exit
      Src: /src/zlib/test/example.c:474,1
    - Dst: inflateSetDictionary
      Src: /src/zlib/test/example.c:476,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:479,1
    - Dst: inflateEnd
      Src: /src/zlib/test/example.c:482,1
    - Dst: CHECK_ERR
      Src: /src/zlib/test/example.c:483,1
    - Dst: strcmp
      Src: /src/zlib/test/example.c:485,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:486,1
    - Dst: exit
      Src: /src/zlib/test/example.c:487,1
    - Dst: printf
      Src: /src/zlib/test/example.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes:
    - Byte*
    - uLong
    - Byte*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 448
    functionDepth: 5
    functionLinenumber: 448
    functionLinenumberEnd: 491
    functionName: test_dict_inflate
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - strcpy
    - exit
    - CHECK_ERR
    - inflate
    - inflateSetDictionary
    - inflateInit
    - fprintf
    - strcmp
    - inflateEnd
    - printf
    linkageType: ''
    returnType: void
    signature: "void test_dict_inflate(Byte *compr, uLong comprLen, Byte *uncompr,\n
      \                      uLong uncomprLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zlibVersion
      Src: /src/zlib/test/example.c:503,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:504,1
    - Dst: exit
      Src: /src/zlib/test/example.c:505,1
    - Dst: strcmp
      Src: /src/zlib/test/example.c:507,1
    - Dst: zlibVersion
      Src: /src/zlib/test/example.c:507,1
    - Dst: fprintf
      Src: /src/zlib/test/example.c:508,1
    - Dst: zlibVersion
      Src: /src/zlib/test/example.c:509,1
    - Dst: printf
      Src: /src/zlib/test/example.c:512,1
    - Dst: zlibCompileFlags
      Src: /src/zlib/test/example.c:513,1
    - Dst: calloc
      Src: /src/zlib/test/example.c:515,1
    - Dst: calloc
      Src: /src/zlib/test/example.c:516,1
    - Dst: printf
      Src: /src/zlib/test/example.c:521,1
    - Dst: exit
      Src: /src/zlib/test/example.c:522,1
    - Dst: test_compress
      Src: /src/zlib/test/example.c:529,1
    - Dst: test_gzio
      Src: /src/zlib/test/example.c:531,1
    - Dst: test_deflate
      Src: /src/zlib/test/example.c:535,1
    - Dst: test_inflate
      Src: /src/zlib/test/example.c:536,1
    - Dst: test_large_deflate
      Src: /src/zlib/test/example.c:538,1
    - Dst: test_large_inflate
      Src: /src/zlib/test/example.c:539,1
    - Dst: test_flush
      Src: /src/zlib/test/example.c:541,1
    - Dst: test_sync
      Src: /src/zlib/test/example.c:542,1
    - Dst: test_dict_deflate
      Src: /src/zlib/test/example.c:545,1
    - Dst: test_dict_inflate
      Src: /src/zlib/test/example.c:546,1
    - Dst: free
      Src: /src/zlib/test/example.c:548,1
    - Dst: free
      Src: /src/zlib/test/example.c:549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 497
    functionDepth: 8
    functionLinenumber: 497
    functionLinenumberEnd: 552
    functionName: main
    functionSourceFile: /src/zlib/test/example.c
    functionUses: 12
    functionsReached:
    - free
    - test_dict_inflate
    - exit
    - calloc
    - zlibVersion
    - test_compress
    - test_inflate
    - zlibCompileFlags
    - test_gzio
    - fprintf
    - test_large_deflate
    - strcmp
    - test_large_inflate
    - test_sync
    - test_dict_deflate
    - test_flush
    - printf
    - test_deflate
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/examples/gzjoin.c:68,1
    - Dst: exit
      Src: /src/zlib/examples/gzjoin.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - why1
    - why2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: bail
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: local
    signature: local bail(char *why1, char *why2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/zlib/examples/gzjoin.c:91,1
    - Dst: free
      Src: /src/zlib/examples/gzjoin.c:93,1
    - Dst: free
      Src: /src/zlib/examples/gzjoin.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: bclose
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: local
    signature: local bclose(bin *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/examples/gzjoin.c:104,1
    - Dst: malloc
      Src: /src/zlib/examples/gzjoin.c:107,1
    - Dst: open
      Src: /src/zlib/examples/gzjoin.c:108,1
    - Dst: bclose
      Src: /src/zlib/examples/gzjoin.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: bopen
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - open
    - bclose
    - malloc
    linkageType: ''
    returnType: local
    signature: local *bopen(char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/zlib/examples/gzjoin.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: bload
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: local
    signature: local bload(bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: bget
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bget(in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:149,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:150,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:151,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: bget4
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bget
    linkageType: ''
    returnType: local unsigned long
    signature: local unsigned long bget4(bin *in)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/zlib/examples/gzjoin.c:182,1
    - Dst: read
      Src: /src/zlib/examples/gzjoin.c:183,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:184,1
    - Dst: lseek
      Src: /src/zlib/examples/gzjoin.c:189,1
    - Dst: bload
      Src: /src/zlib/examples/gzjoin.c:194,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - in
    - skip
    argTypes:
    - bin*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: bskip
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bload
    - read
    - bail
    - lseek
    linkageType: ''
    returnType: local
    signature: local bskip(bin *in, unsigned skip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:209,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:209,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:209,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:210,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:213,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:215,1
    - Dst: bskip
      Src: /src/zlib/examples/gzjoin.c:218,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:224,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:225,1
    - Dst: bskip
      Src: /src/zlib/examples/gzjoin.c:226,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:231,1
    - Dst: bget
      Src: /src/zlib/examples/gzjoin.c:236,1
    - Dst: bskip
      Src: /src/zlib/examples/gzjoin.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: gzhead
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bail
    - bget
    - bskip
    linkageType: ''
    returnType: local
    signature: local gzhead(bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:247,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:248,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:249,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - val
    - out
    argTypes:
    - unsigned long
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: put4
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: local
    signature: local put4(unsigned long val, FILE *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bload
      Src: /src/zlib/examples/gzjoin.c:257,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - strm
    - in
    argTypes:
    - z_streamp
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: zpull
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bail
    - bload
    linkageType: ''
    returnType: local
    signature: local zpull(z_streamp strm, bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/zlib/examples/gzjoin.c:267,1
    - Dst: crc32
      Src: /src/zlib/examples/gzjoin.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - crc
    - tot
    - out
    argTypes:
    - unsigned long*
    - unsigned long*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: gzinit
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - fwrite
    - crc32
    linkageType: ''
    returnType: local
    signature: local gzinit(unsigned long *crc, unsigned long *tot, FILE *out)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bopen
      Src: /src/zlib/examples/gzjoin.c:292,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:294,1
    - Dst: gzhead
      Src: /src/zlib/examples/gzjoin.c:295,1
    - Dst: malloc
      Src: /src/zlib/examples/gzjoin.c:299,1
    - Dst: inflateInit2
      Src: /src/zlib/examples/gzjoin.c:305,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:307,1
    - Dst: zpull
      Src: /src/zlib/examples/gzjoin.c:311,1
    - Dst: fwrite
      Src: /src/zlib/examples/gzjoin.c:320,1
    - Dst: zpull
      Src: /src/zlib/examples/gzjoin.c:323,1
    - Dst: inflate
      Src: /src/zlib/examples/gzjoin.c:329,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:332,1
    - Dst: bail
      Src: /src/zlib/examples/gzjoin.c:334,1
    - Dst: fwrite
      Src: /src/zlib/examples/gzjoin.c:361,1
    - Dst: zpull
      Src: /src/zlib/examples/gzjoin.c:364,1
    - Dst: fwrite
      Src: /src/zlib/examples/gzjoin.c:379,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:383,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:389,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:391,1
    - Dst: fwrite
      Src: /src/zlib/examples/gzjoin.c:392,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:398,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:401,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:404,1
    - Dst: putc
      Src: /src/zlib/examples/gzjoin.c:405,1
    - Dst: crc32_combine
      Src: /src/zlib/examples/gzjoin.c:411,1
    - Dst: bget4
      Src: /src/zlib/examples/gzjoin.c:411,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/gzjoin.c:415,1
    - Dst: free
      Src: /src/zlib/examples/gzjoin.c:416,1
    - Dst: bclose
      Src: /src/zlib/examples/gzjoin.c:417,1
    - Dst: put4
      Src: /src/zlib/examples/gzjoin.c:421,1
    - Dst: put4
      Src: /src/zlib/examples/gzjoin.c:422,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 96
    argCount: 5
    argNames:
    - name
    - clr
    - crc
    - tot
    - out
    argTypes:
    - char*
    - int
    - unsigned long*
    - unsigned long*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 424
    functionName: gzcopy
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - putc
    - free
    - bail
    - bget4
    - put4
    - fwrite
    - bclose
    - inflate
    - inflateInit2
    - bopen
    - zpull
    - gzhead
    - malloc
    - crc32_combine
    - inflateEnd
    linkageType: ''
    returnType: local
    signature: "local gzcopy(char *name, int clr, unsigned long *crc, unsigned long
      *tot,\n                  FILE *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/zlib/examples/gzjoin.c:437,1
    - Dst: gzinit
      Src: /src/zlib/examples/gzjoin.c:443,1
    - Dst: gzcopy
      Src: /src/zlib/examples/gzjoin.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 427
    functionDepth: 6
    functionLinenumber: 427
    functionLinenumberEnd: 449
    functionName: main
    functionSourceFile: /src/zlib/examples/gzjoin.c
    functionUses: 12
    functionsReached:
    - gzcopy
    - gzinit
    - fputs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/zlib/examples/zpipe.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/zlib/examples/zpipe.c:52,1
    - Dst: fread
      Src: /src/zlib/examples/zpipe.c:58,1
    - Dst: ferror
      Src: /src/zlib/examples/zpipe.c:59,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/zpipe.c:60,1
    - Dst: feof
      Src: /src/zlib/examples/zpipe.c:63,1
    - Dst: deflate
      Src: /src/zlib/examples/zpipe.c:71,1
    - Dst: assert
      Src: /src/zlib/examples/zpipe.c:72,1
    - Dst: fwrite
      Src: /src/zlib/examples/zpipe.c:74,1
    - Dst: ferror
      Src: /src/zlib/examples/zpipe.c:74,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/zpipe.c:75,1
    - Dst: assert
      Src: /src/zlib/examples/zpipe.c:79,1
    - Dst: assert
      Src: /src/zlib/examples/zpipe.c:83,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/zpipe.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - source
    - dest
    - level
    argTypes:
    - FILE*
    - FILE*
    - int
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/zlib/examples/zpipe.c
    - condition: (strm.avail_in == 0)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/zlib/examples/zpipe.c
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/zlib/examples/zpipe.c
    constantsTouched: []
    func_position:
      end: 88
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 88
    functionName: def
    functionSourceFile: /src/zlib/examples/zpipe.c
    functionUses: 0
    functionsReached:
    - feof
    - deflateInit
    - ferror
    - fwrite
    - deflateEnd
    - fread
    - assert
    - deflate
    linkageType: ''
    returnType: int
    signature: int def(FILE *source, FILE *dest, int level)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/zlib/examples/zpipe.c:110,1
    - Dst: fread
      Src: /src/zlib/examples/zpipe.c:116,1
    - Dst: ferror
      Src: /src/zlib/examples/zpipe.c:117,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/zpipe.c:118,1
    - Dst: inflate
      Src: /src/zlib/examples/zpipe.c:129,1
    - Dst: assert
      Src: /src/zlib/examples/zpipe.c:130,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/zpipe.c:136,1
    - Dst: fwrite
      Src: /src/zlib/examples/zpipe.c:140,1
    - Dst: ferror
      Src: /src/zlib/examples/zpipe.c:140,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/zpipe.c:141,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/zpipe.c:150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - FILE*
    - FILE*
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/zlib/examples/zpipe.c
    constantsTouched: []
    func_position:
      end: 152
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 152
    functionName: inf
    functionSourceFile: /src/zlib/examples/zpipe.c
    functionUses: 7
    functionsReached:
    - ferror
    - fwrite
    - inflate
    - fread
    - inflateInit
    - inflateEnd
    - assert
    linkageType: ''
    returnType: int
    signature: int inf(FILE *source, FILE *dest)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/zlib/examples/zpipe.c:157,1
    - Dst: ferror
      Src: /src/zlib/examples/zpipe.c:160,1
    - Dst: fputs
      Src: /src/zlib/examples/zpipe.c:161,1
    - Dst: ferror
      Src: /src/zlib/examples/zpipe.c:162,1
    - Dst: fputs
      Src: /src/zlib/examples/zpipe.c:163,1
    - Dst: fputs
      Src: /src/zlib/examples/zpipe.c:166,1
    - Dst: fputs
      Src: /src/zlib/examples/zpipe.c:169,1
    - Dst: fputs
      Src: /src/zlib/examples/zpipe.c:172,1
    - Dst: fputs
      Src: /src/zlib/examples/zpipe.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: zerr
    functionSourceFile: /src/zlib/examples/zpipe.c
    functionUses: 0
    functionsReached:
    - ferror
    - fputs
    linkageType: ''
    returnType: void
    signature: void zerr(int ret)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/zlib/examples/zpipe.c:185,1
    - Dst: SET_BINARY_MODE
      Src: /src/zlib/examples/zpipe.c:186,1
    - Dst: def
      Src: /src/zlib/examples/zpipe.c:190,1
    - Dst: zerr
      Src: /src/zlib/examples/zpipe.c:192,1
    - Dst: strcmp
      Src: /src/zlib/examples/zpipe.c:197,1
    - Dst: inf
      Src: /src/zlib/examples/zpipe.c:198,1
    - Dst: zerr
      Src: /src/zlib/examples/zpipe.c:200,1
    - Dst: fputs
      Src: /src/zlib/examples/zpipe.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 209
    functionName: main
    functionSourceFile: /src/zlib/examples/zpipe.c
    functionUses: 12
    functionsReached:
    - def
    - fputs
    - inf
    - strcmp
    - zerr
    - SET_BINARY_MODE
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: BAIL
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAIL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: PULL2
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: PULL4
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: PULL8
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: PUT2
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT2(p,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: PUT4
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT4(p,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: PUT8
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT8(p,a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:353,1
    - Dst: open
      Src: /src/zlib/examples/gzlog.c:354,1
    - Dst: stat
      Src: /src/zlib/examples/gzlog.c:357,1
    - Dst: time
      Src: /src/zlib/examples/gzlog.c:357,1
    - Dst: unlink
      Src: /src/zlib/examples/gzlog.c:358,1
    - Dst: sleep
      Src: /src/zlib/examples/gzlog.c:361,1
    - Dst: close
      Src: /src/zlib/examples/gzlog.c:363,1
    - Dst: stat
      Src: /src/zlib/examples/gzlog.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 367
    functionName: log_lock
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - time
    - strcpy
    - stat
    - sleep
    - close
    - unlink
    - open
    linkageType: ''
    returnType: local
    signature: local log_lock(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:376,1
    - Dst: utimes
      Src: /src/zlib/examples/gzlog.c:377,1
    - Dst: stat
      Src: /src/zlib/examples/gzlog.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: log_touch
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strcpy
    - stat
    - utimes
    linkageType: ''
    returnType: local
    signature: local log_touch(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:388,1
    - Dst: stat
      Src: /src/zlib/examples/gzlog.c:389,1
    - Dst: log_touch
      Src: /src/zlib/examples/gzlog.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: log_check
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strcpy
    - stat
    - log_touch
    linkageType: ''
    returnType: local
    signature: local log_check(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_check
      Src: /src/zlib/examples/gzlog.c:398,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:400,1
    - Dst: unlink
      Src: /src/zlib/examples/gzlog.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: log_unlock
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_check
    - strcpy
    - unlink
    linkageType: ''
    returnType: local
    signature: local log_unlock(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:415,1
    - Dst: read
      Src: /src/zlib/examples/gzlog.c:416,1
    - Dst: memcmp
      Src: /src/zlib/examples/gzlog.c:417,1
    - Dst: PULL8
      Src: /src/zlib/examples/gzlog.c:420,1
    - Dst: PULL8
      Src: /src/zlib/examples/gzlog.c:421,1
    - Dst: PULL4
      Src: /src/zlib/examples/gzlog.c:422,1
    - Dst: PULL4
      Src: /src/zlib/examples/gzlog.c:423,1
    - Dst: PULL4
      Src: /src/zlib/examples/gzlog.c:424,1
    - Dst: PULL4
      Src: /src/zlib/examples/gzlog.c:425,1
    - Dst: PULL2
      Src: /src/zlib/examples/gzlog.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: log_head
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - memcmp
    - read
    - PULL4
    - PULL2
    - PULL8
    - lseek
    linkageType: ''
    returnType: local
    signature: local log_head(struct log *log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUT8
      Src: /src/zlib/examples/gzlog.c:442,1
    - Dst: PUT8
      Src: /src/zlib/examples/gzlog.c:443,1
    - Dst: PUT4
      Src: /src/zlib/examples/gzlog.c:444,1
    - Dst: PUT4
      Src: /src/zlib/examples/gzlog.c:445,1
    - Dst: PUT4
      Src: /src/zlib/examples/gzlog.c:446,1
    - Dst: PUT4
      Src: /src/zlib/examples/gzlog.c:447,1
    - Dst: PUT2
      Src: /src/zlib/examples/gzlog.c:448,1
    - Dst: fsync
      Src: /src/zlib/examples/gzlog.c:450,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:451,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:452,1
    - Dst: fsync
      Src: /src/zlib/examples/gzlog.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - log
    - op
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 455
    functionName: log_mark
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - write
    - PUT2
    - PUT8
    - lseek
    - PUT4
    - fsync
    linkageType: ''
    returnType: local
    signature: local log_mark(struct log *log, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:476,1
    - Dst: read
      Src: /src/zlib/examples/gzlog.c:477,1
    - Dst: PUT2
      Src: /src/zlib/examples/gzlog.c:489,1
    - Dst: PUT2
      Src: /src/zlib/examples/gzlog.c:490,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:491,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:492,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - log
    - last
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 494
    functionName: log_last
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - write
    - read
    - PUT2
    - lseek
    linkageType: ''
    returnType: local
    signature: local log_last(struct log *log, int last)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_last
      Src: /src/zlib/examples/gzlog.c:510,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:521,1
    - Dst: BAIL
      Src: /src/zlib/examples/gzlog.c:523,1
    - Dst: crc32
      Src: /src/zlib/examples/gzlog.c:524,1
    - Dst: log_last
      Src: /src/zlib/examples/gzlog.c:534,1
    - Dst: log_last
      Src: /src/zlib/examples/gzlog.c:543,1
    - Dst: BAIL
      Src: /src/zlib/examples/gzlog.c:545,1
    - Dst: PUT4
      Src: /src/zlib/examples/gzlog.c:550,1
    - Dst: PUT4
      Src: /src/zlib/examples/gzlog.c:551,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:552,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:553,1
    - Dst: ftruncate
      Src: /src/zlib/examples/gzlog.c:553,1
    - Dst: log_mark
      Src: /src/zlib/examples/gzlog.c:557,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:559,1
    - Dst: unlink
      Src: /src/zlib/examples/gzlog.c:560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - log
    - data
    - len
    argTypes:
    - struct log*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 501
    functionDepth: 4
    functionLinenumber: 501
    functionLinenumberEnd: 562
    functionName: log_append
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - write
    - strcpy
    - ftruncate
    - BAIL
    - unlink
    - crc32
    - log_mark
    - lseek
    - PUT4
    - log_last
    linkageType: ''
    returnType: local
    signature: local log_append(struct log *log, unsigned char *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:577,1
    - Dst: unlink
      Src: /src/zlib/examples/gzlog.c:578,1
    - Dst: BAIL
      Src: /src/zlib/examples/gzlog.c:579,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:582,1
    - Dst: malloc
      Src: /src/zlib/examples/gzlog.c:583,1
    - Dst: strlen
      Src: /src/zlib/examples/gzlog.c:583,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:586,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:587,1
    - Dst: rename
      Src: /src/zlib/examples/gzlog.c:588,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:589,1
    - Dst: BAIL
      Src: /src/zlib/examples/gzlog.c:592,1
    - Dst: log_mark
      Src: /src/zlib/examples/gzlog.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 596
    functionName: log_replace
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - free
    - strcpy
    - rename
    - BAIL
    - unlink
    - log_mark
    - malloc
    - strlen
    linkageType: ''
    returnType: local
    signature: local log_replace(struct log *log)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2
      Src: /src/zlib/examples/gzlog.c:623,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:628,1
    - Dst: open
      Src: /src/zlib/examples/gzlog.c:629,1
    - Dst: read
      Src: /src/zlib/examples/gzlog.c:631,1
    - Dst: close
      Src: /src/zlib/examples/gzlog.c:632,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/gzlog.c:634,1
    - Dst: deflateSetDictionary
      Src: /src/zlib/examples/gzlog.c:638,1
    - Dst: log_touch
      Src: /src/zlib/examples/gzlog.c:640,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:644,1
    - Dst: read
      Src: /src/zlib/examples/gzlog.c:646,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:646,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/gzlog.c:647,1
    - Dst: deflatePrime
      Src: /src/zlib/examples/gzlog.c:650,1
    - Dst: deflate
      Src: /src/zlib/examples/gzlog.c:661,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:663,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/gzlog.c:664,1
    - Dst: log_touch
      Src: /src/zlib/examples/gzlog.c:667,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/gzlog.c:670,1
    - Dst: BAIL
      Src: /src/zlib/examples/gzlog.c:671,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:677,1
    - Dst: read
      Src: /src/zlib/examples/gzlog.c:678,1
    - Dst: PUT4
      Src: /src/zlib/examples/gzlog.c:702,1
    - Dst: PUT4
      Src: /src/zlib/examples/gzlog.c:703,1
    - Dst: log_last
      Src: /src/zlib/examples/gzlog.c:704,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:704,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:705,1
    - Dst: ftruncate
      Src: /src/zlib/examples/gzlog.c:705,1
    - Dst: BAIL
      Src: /src/zlib/examples/gzlog.c:707,1
    - Dst: log_mark
      Src: /src/zlib/examples/gzlog.c:710,1
    - Dst: log_replace
      Src: /src/zlib/examples/gzlog.c:714,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 3
    argNames:
    - log
    - data
    - len
    argTypes:
    - struct log*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 608
    functionDepth: 4
    functionLinenumber: 608
    functionLinenumberEnd: 715
    functionName: log_compress
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - write
    - strcpy
    - deflateSetDictionary
    - ftruncate
    - read
    - log_touch
    - close
    - deflateEnd
    - BAIL
    - log_replace
    - deflatePrime
    - log_mark
    - deflateInit2
    - lseek
    - open
    - PUT4
    - log_last
    - deflate
    linkageType: ''
    returnType: local
    signature: local log_compress(struct log *log, unsigned char *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/zlib/examples/gzlog.c:723,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:724,1
    - Dst: fopen
      Src: /src/zlib/examples/gzlog.c:725,1
    - Dst: fprintf
      Src: /src/zlib/examples/gzlog.c:728,1
    - Dst: ctime
      Src: /src/zlib/examples/gzlog.c:728,1
    - Dst: fclose
      Src: /src/zlib/examples/gzlog.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - log
    - op
    - record
    argTypes:
    - struct log*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 732
    functionName: log_log
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - time
    - strcpy
    - fopen
    - fprintf
    - ctime
    - fclose
    linkageType: ''
    returnType: local
    signature: local log_log(struct log *log, int op, char *record)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_log
      Src: /src/zlib/examples/gzlog.c:746,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:750,1
    - Dst: stat
      Src: /src/zlib/examples/gzlog.c:751,1
    - Dst: malloc
      Src: /src/zlib/examples/gzlog.c:754,1
    - Dst: log_log
      Src: /src/zlib/examples/gzlog.c:755,1
    - Dst: open
      Src: /src/zlib/examples/gzlog.c:758,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:759,1
    - Dst: log_log
      Src: /src/zlib/examples/gzlog.c:760,1
    - Dst: read
      Src: /src/zlib/examples/gzlog.c:763,1
    - Dst: close
      Src: /src/zlib/examples/gzlog.c:764,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:766,1
    - Dst: log_log
      Src: /src/zlib/examples/gzlog.c:767,1
    - Dst: log_log
      Src: /src/zlib/examples/gzlog.c:770,1
    - Dst: log_log
      Src: /src/zlib/examples/gzlog.c:773,1
    - Dst: log_append
      Src: /src/zlib/examples/gzlog.c:779,1
    - Dst: log_compress
      Src: /src/zlib/examples/gzlog.c:782,1
    - Dst: log_replace
      Src: /src/zlib/examples/gzlog.c:785,1
    - Dst: log_log
      Src: /src/zlib/examples/gzlog.c:789,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:793,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - log
    - op
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 738
    functionDepth: 5
    functionLinenumber: 738
    functionLinenumberEnd: 795
    functionName: log_recover
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - free
    - strcpy
    - stat
    - log_append
    - read
    - log_log
    - close
    - log_replace
    - malloc
    - log_compress
    - open
    linkageType: ''
    returnType: local
    signature: local log_recover(struct log *log, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/zlib/examples/gzlog.c:801,1
    - Dst: log_unlock
      Src: /src/zlib/examples/gzlog.c:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 798
    functionDepth: 3
    functionLinenumber: 798
    functionLinenumberEnd: 804
    functionName: log_close
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 3
    functionsReached:
    - close
    - log_unlock
    linkageType: ''
    returnType: local
    signature: local log_close(struct log *log)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/zlib/examples/gzlog.c:822,1
    - Dst: log_lock
      Src: /src/zlib/examples/gzlog.c:826,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:830,1
    - Dst: open
      Src: /src/zlib/examples/gzlog.c:831,1
    - Dst: log_close
      Src: /src/zlib/examples/gzlog.c:833,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:838,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:839,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:840,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:841,1
    - Dst: log_close
      Src: /src/zlib/examples/gzlog.c:842,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:845,1
    - Dst: unlink
      Src: /src/zlib/examples/gzlog.c:846,1
    - Dst: log_head
      Src: /src/zlib/examples/gzlog.c:850,1
    - Dst: log_close
      Src: /src/zlib/examples/gzlog.c:851,1
    - Dst: log_recover
      Src: /src/zlib/examples/gzlog.c:856,1
    - Dst: log_close
      Src: /src/zlib/examples/gzlog.c:857,1
    - Dst: log_touch
      Src: /src/zlib/examples/gzlog.c:862,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 815
    functionDepth: 6
    functionLinenumber: 815
    functionLinenumberEnd: 864
    functionName: log_open
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 1
    functionsReached:
    - write
    - strcpy
    - log_head
    - log_lock
    - log_touch
    - close
    - unlink
    - log_close
    - lseek
    - log_recover
    - open
    linkageType: ''
    returnType: local
    signature: local log_open(struct log *log)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/examples/gzlog.c:877,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:880,1
    - Dst: strlen
      Src: /src/zlib/examples/gzlog.c:884,1
    - Dst: malloc
      Src: /src/zlib/examples/gzlog.c:885,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:887,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:890,1
    - Dst: log_open
      Src: /src/zlib/examples/gzlog.c:895,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:896,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:897,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 867
    functionDepth: 7
    functionLinenumber: 867
    functionLinenumberEnd: 903
    functionName: gzlog_open
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - free
    - strcpy
    - log_open
    - malloc
    - strlen
    linkageType: ''
    returnType: gzlog
    signature: gzlog *gzlog_open(char *path)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/zlib/examples/gzlog.c:919,1
    - Dst: log_check
      Src: /src/zlib/examples/gzlog.c:925,1
    - Dst: log_open
      Src: /src/zlib/examples/gzlog.c:925,1
    - Dst: malloc
      Src: /src/zlib/examples/gzlog.c:931,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:937,1
    - Dst: read
      Src: /src/zlib/examples/gzlog.c:941,1
    - Dst: PULL2
      Src: /src/zlib/examples/gzlog.c:943,1
    - Dst: read
      Src: /src/zlib/examples/gzlog.c:945,1
    - Dst: lseek
      Src: /src/zlib/examples/gzlog.c:949,1
    - Dst: log_touch
      Src: /src/zlib/examples/gzlog.c:951,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:954,1
    - Dst: open
      Src: /src/zlib/examples/gzlog.c:955,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:958,1
    - Dst: close
      Src: /src/zlib/examples/gzlog.c:959,1
    - Dst: log_touch
      Src: /src/zlib/examples/gzlog.c:961,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:964,1
    - Dst: open
      Src: /src/zlib/examples/gzlog.c:965,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:969,1
    - Dst: close
      Src: /src/zlib/examples/gzlog.c:970,1
    - Dst: log_touch
      Src: /src/zlib/examples/gzlog.c:972,1
    - Dst: log_mark
      Src: /src/zlib/examples/gzlog.c:977,1
    - Dst: BAIL
      Src: /src/zlib/examples/gzlog.c:979,1
    - Dst: log_compress
      Src: /src/zlib/examples/gzlog.c:982,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:983,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:988,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 1
    argNames:
    - logd
    argTypes:
    - gzlog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 910
    functionDepth: 7
    functionLinenumber: 910
    functionLinenumberEnd: 990
    functionName: gzlog_compress
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - write
    - strcpy
    - free
    - log_check
    - read
    - PULL2
    - log_open
    - log_touch
    - close
    - BAIL
    - log_mark
    - malloc
    - lseek
    - log_compress
    - strcmp
    - open
    linkageType: ''
    returnType: int
    signature: int gzlog_compress(gzlog *logd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/zlib/examples/gzlog.c:1003,1
    - Dst: log_check
      Src: /src/zlib/examples/gzlog.c:1011,1
    - Dst: log_open
      Src: /src/zlib/examples/gzlog.c:1011,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:1015,1
    - Dst: open
      Src: /src/zlib/examples/gzlog.c:1016,1
    - Dst: write
      Src: /src/zlib/examples/gzlog.c:1019,1
    - Dst: close
      Src: /src/zlib/examples/gzlog.c:1020,1
    - Dst: log_touch
      Src: /src/zlib/examples/gzlog.c:1022,1
    - Dst: log_mark
      Src: /src/zlib/examples/gzlog.c:1025,1
    - Dst: BAIL
      Src: /src/zlib/examples/gzlog.c:1027,1
    - Dst: log_append
      Src: /src/zlib/examples/gzlog.c:1030,1
    - Dst: gzlog_compress
      Src: /src/zlib/examples/gzlog.c:1038,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - logd
    - data
    - len
    argTypes:
    - gzlog*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 997
    functionDepth: 8
    functionLinenumber: 997
    functionLinenumberEnd: 1039
    functionName: gzlog_write
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - write
    - strcpy
    - gzlog_compress
    - log_append
    - log_check
    - log_touch
    - close
    - log_open
    - BAIL
    - log_mark
    - strcmp
    - open
    linkageType: ''
    returnType: int
    signature: int gzlog_write(gzlog *logd, void *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/zlib/examples/gzlog.c:1049,1
    - Dst: log_close
      Src: /src/zlib/examples/gzlog.c:1053,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:1057,1
    - Dst: strcpy
      Src: /src/zlib/examples/gzlog.c:1058,1
    - Dst: free
      Src: /src/zlib/examples/gzlog.c:1059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - logd
    argTypes:
    - gzlog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1044
    functionDepth: 4
    functionLinenumber: 1044
    functionLinenumberEnd: 1061
    functionName: gzlog_close
    functionSourceFile: /src/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strcpy
    - log_close
    - free
    linkageType: ''
    returnType: int
    signature: int gzlog_close(gzlog *logd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/examples/gzappend.c:95,1
    - Dst: exit
      Src: /src/zlib/examples/gzappend.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg1
    - msg2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: bye
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: local
    signature: local bye(char *msg1, char *msg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: gcd
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned gcd(unsigned a, unsigned b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/zlib/examples/gzappend.c:140,1
    - Dst: memmove
      Src: /src/zlib/examples/gzappend.c:148,1
    - Dst: gcd
      Src: /src/zlib/examples/gzappend.c:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - list
    - len
    - rot
    argTypes:
    - unsigned char*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: rotate
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - gcd
    - memmove
    linkageType: ''
    returnType: local
    signature: local rotate(unsigned char *list, unsigned len, unsigned rot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/zlib/examples/gzappend.c:184,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: readin
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read
    - bye
    linkageType: ''
    returnType: local
    signature: local readin(file *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readin
      Src: /src/zlib/examples/gzappend.c:194,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: readmore
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - readin
    - bye
    linkageType: ''
    returnType: local
    signature: local readmore(file *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: read1
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read1(in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/zlib/examples/gzappend.c:210,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:211,1
    - Dst: readmore
      Src: /src/zlib/examples/gzappend.c:214,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - in
    - n
    argTypes:
    - file*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: skip
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 92
    functionsReached:
    - readmore
    - bye
    - lseek
    linkageType: ''
    returnType: local
    signature: local skip(file *in, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:227,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:228,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:229,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: read4
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read1
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long read4(file *in)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:240,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:240,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:240,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:241,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:241,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:242,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:243,1
    - Dst: skip
      Src: /src/zlib/examples/gzappend.c:244,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:246,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:247,1
    - Dst: skip
      Src: /src/zlib/examples/gzappend.c:248,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:250,1
    - Dst: read1
      Src: /src/zlib/examples/gzappend.c:251,1
    - Dst: skip
      Src: /src/zlib/examples/gzappend.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: gzheader
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read1
    - skip
    - bye
    linkageType: ''
    returnType: local
    signature: local gzheader(file *in)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/zlib/examples/gzappend.c:270,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:271,1
    - Dst: malloc
      Src: /src/zlib/examples/gzappend.c:272,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:273,1
    - Dst: gzheader
      Src: /src/zlib/examples/gzappend.c:278,1
    - Dst: malloc
      Src: /src/zlib/examples/gzappend.c:281,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:282,1
    - Dst: inflateInit2
      Src: /src/zlib/examples/gzappend.c:286,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:287,1
    - Dst: lseek
      Src: /src/zlib/examples/gzappend.c:291,1
    - Dst: crc32
      Src: /src/zlib/examples/gzappend.c:295,1
    - Dst: readmore
      Src: /src/zlib/examples/gzappend.c:300,1
    - Dst: inflate
      Src: /src/zlib/examples/gzappend.c:310,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:311,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:312,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:314,1
    - Dst: crc32
      Src: /src/zlib/examples/gzappend.c:317,1
    - Dst: lseek
      Src: /src/zlib/examples/gzappend.c:331,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/gzappend.c:335,1
    - Dst: lseek
      Src: /src/zlib/examples/gzappend.c:340,1
    - Dst: read4
      Src: /src/zlib/examples/gzappend.c:343,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:344,1
    - Dst: read4
      Src: /src/zlib/examples/gzappend.c:346,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:347,1
    - Dst: readin
      Src: /src/zlib/examples/gzappend.c:350,1
    - Dst: fprintf
      Src: /src/zlib/examples/gzappend.c:351,1
    - Dst: lseek
      Src: /src/zlib/examples/gzappend.c:355,1
    - Dst: read
      Src: /src/zlib/examples/gzappend.c:356,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:356,1
    - Dst: lseek
      Src: /src/zlib/examples/gzappend.c:358,1
    - Dst: write
      Src: /src/zlib/examples/gzappend.c:359,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:359,1
    - Dst: rotate
      Src: /src/zlib/examples/gzappend.c:363,1
    - Dst: deflateInit2
      Src: /src/zlib/examples/gzappend.c:368,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:369,1
    - Dst: deflateSetDictionary
      Src: /src/zlib/examples/gzappend.c:370,1
    - Dst: lseek
      Src: /src/zlib/examples/gzappend.c:374,1
    - Dst: read
      Src: /src/zlib/examples/gzappend.c:375,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:375,1
    - Dst: deflatePrime
      Src: /src/zlib/examples/gzappend.c:376,1
    - Dst: lseek
      Src: /src/zlib/examples/gzappend.c:378,1
    - Dst: free
      Src: /src/zlib/examples/gzappend.c:381,1
    - Dst: free
      Src: /src/zlib/examples/gzappend.c:382,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 94
    argCount: 3
    argNames:
    - name
    - strm
    - level
    argTypes:
    - char*
    - z_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 384
    functionName: gzscan
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - inflateInit2
    - readmore
    - write
    - gzheader
    - malloc
    - free
    - bye
    - read
    - rotate
    - inflate
    - crc32
    - inflateEnd
    - read4
    - readin
    - deflateSetDictionary
    - deflatePrime
    - deflateInit2
    - lseek
    - fprintf
    - open
    linkageType: ''
    returnType: local
    signature: local gzscan(char *name, z_stream *strm, int level)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/zlib/examples/gzappend.c:397,1
    - Dst: fprintf
      Src: /src/zlib/examples/gzappend.c:399,1
    - Dst: malloc
      Src: /src/zlib/examples/gzappend.c:404,1
    - Dst: malloc
      Src: /src/zlib/examples/gzappend.c:405,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:406,1
    - Dst: read
      Src: /src/zlib/examples/gzappend.c:411,1
    - Dst: fprintf
      Src: /src/zlib/examples/gzappend.c:413,1
    - Dst: crc32
      Src: /src/zlib/examples/gzappend.c:420,1
    - Dst: deflate
      Src: /src/zlib/examples/gzappend.c:426,1
    - Dst: write
      Src: /src/zlib/examples/gzappend.c:429,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:430,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/gzappend.c:438,1
    - Dst: write
      Src: /src/zlib/examples/gzappend.c:449,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:450,1
    - Dst: close
      Src: /src/zlib/examples/gzappend.c:453,1
    - Dst: free
      Src: /src/zlib/examples/gzappend.c:457,1
    - Dst: free
      Src: /src/zlib/examples/gzappend.c:458,1
    - Dst: close
      Src: /src/zlib/examples/gzappend.c:459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 4
    argNames:
    - name
    - gd
    - strm
    - last
    argTypes:
    - char*
    - int
    - z_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 460
    functionName: gztack
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - write
    - free
    - bye
    - read
    - deflateEnd
    - close
    - crc32
    - malloc
    - fprintf
    - open
    - deflate
    linkageType: ''
    returnType: local
    signature: local gztack(char *name, int gd, z_stream *strm, int last)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/zlib/examples/gzappend.c:476,1
    - Dst: printf
      Src: /src/zlib/examples/gzappend.c:479,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:488,1
    - Dst: bye
      Src: /src/zlib/examples/gzappend.c:490,1
    - Dst: gzscan
      Src: /src/zlib/examples/gzappend.c:494,1
    - Dst: gztack
      Src: /src/zlib/examples/gzappend.c:498,1
    - Dst: gztack
      Src: /src/zlib/examples/gzappend.c:501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 466
    functionDepth: 6
    functionLinenumber: 466
    functionLinenumberEnd: 504
    functionName: main
    functionSourceFile: /src/zlib/examples/gzappend.c
    functionUses: 12
    functionsReached:
    - gzscan
    - printf
    - bye
    - gztack
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/zlib/examples/zran.c:76,1
    - Dst: free
      Src: /src/zlib/examples/zran.c:77,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/zran.c:78,1
    - Dst: free
      Src: /src/zlib/examples/zran.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - index
    argTypes:
    - struct deflate_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: deflate_index_free
    functionSourceFile: /src/zlib/examples/zran.c
    functionUses: 0
    functionsReached:
    - free
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void deflate_index_free(struct deflate_index *index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/zlib/examples/zran.c:93,1
    - Dst: deflate_index_free
      Src: /src/zlib/examples/zran.c:95,1
    - Dst: deflate_index_free
      Src: /src/zlib/examples/zran.c:105,1
    - Dst: malloc
      Src: /src/zlib/examples/zran.c:112,1
    - Dst: deflate_index_free
      Src: /src/zlib/examples/zran.c:114,1
    - Dst: memcpy
      Src: /src/zlib/examples/zran.c:119,1
    - Dst: memcpy
      Src: /src/zlib/examples/zran.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - index
    - in
    - out
    - beg
    - window
    argTypes:
    - struct deflate_index*
    - off_t
    - off_t
    - off_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 125
    functionName: add_point
    functionSourceFile: /src/zlib/examples/zran.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    - malloc
    - deflate_index_free
    linkageType: ''
    returnType: struct deflate_index
    signature: "struct deflate_index *add_point(struct deflate_index *index, off_t
      in,\n                                       off_t out, off_t beg,\n                                       unsigned
      char *window)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/examples/zran.c:139,1
    - Dst: fread
      Src: /src/zlib/examples/zran.c:163,1
    - Dst: ferror
      Src: /src/zlib/examples/zran.c:166,1
    - Dst: inflateInit2
      Src: /src/zlib/examples/zran.c:184,1
    - Dst: inflate
      Src: /src/zlib/examples/zran.c:205,1
    - Dst: add_point
      Src: /src/zlib/examples/zran.c:216,1
    - Dst: ungetc
      Src: /src/zlib/examples/zran.c:226,1
    - Dst: getc
      Src: /src/zlib/examples/zran.c:226,1
    - Dst: inflateReset2
      Src: /src/zlib/examples/zran.c:230,1
    - Dst: deflate_index_free
      Src: /src/zlib/examples/zran.c:241,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - in
    - span
    - built
    argTypes:
    - FILE*
    - off_t
    - struct deflate_index**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 250
    functionName: deflate_index_build
    functionSourceFile: /src/zlib/examples/zran.c
    functionUses: 0
    functionsReached:
    - getc
    - ferror
    - inflate
    - inflateInit2
    - fread
    - malloc
    - deflate_index_free
    - ungetc
    - inflateReset2
    - add_point
    linkageType: ''
    returnType: int
    signature: int deflate_index_build(FILE *in, off_t span, struct deflate_index
      **built)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - value
    - bits
    - in
    - have
    argTypes:
    - unsigned
    - int
    - unsigned char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 279
    functionName: append_bits
    functionSourceFile: /src/zlib/examples/zran.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void append_bits(unsigned value, int bits,\n                               unsigned
      char *in, int *have)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/zlib/examples/zran.c:310,1
    - Dst: append_bits
      Src: /src/zlib/examples/zran.c:316,1
    - Dst: append_bits
      Src: /src/zlib/examples/zran.c:319,1
    - Dst: inflate
      Src: /src/zlib/examples/zran.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - strm
    - bits
    - value
    argTypes:
    - z_stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 287
    functionDepth: 5
    functionLinenumber: 287
    functionLinenumberEnd: 334
    functionName: inflatePreface
    functionSourceFile: /src/zlib/examples/zran.c
    functionUses: 0
    functionsReached:
    - inflate
    - memcpy
    - append_bits
    linkageType: ''
    returnType: int
    signature: int inflatePreface(z_stream *strm, int bits, int value)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fseeko
      Src: /src/zlib/examples/zran.c:365,1
    - Dst: getc
      Src: /src/zlib/examples/zran.c:369,1
    - Dst: ferror
      Src: /src/zlib/examples/zran.c:370,1
    - Dst: inflateReset2
      Src: /src/zlib/examples/zran.c:372,1
    - Dst: INFLATEPRIME
      Src: /src/zlib/examples/zran.c:376,1
    - Dst: inflateSetDictionary
      Src: /src/zlib/examples/zran.c:377,1
    - Dst: fread
      Src: /src/zlib/examples/zran.c:401,1
    - Dst: ferror
      Src: /src/zlib/examples/zran.c:402,1
    - Dst: inflate
      Src: /src/zlib/examples/zran.c:409,1
    - Dst: getc
      Src: /src/zlib/examples/zran.c:436,1
    - Dst: ferror
      Src: /src/zlib/examples/zran.c:438,1
    - Dst: ungetc
      Src: /src/zlib/examples/zran.c:442,1
    - Dst: getc
      Src: /src/zlib/examples/zran.c:442,1
    - Dst: inflateReset2
      Src: /src/zlib/examples/zran.c:445,1
    - Dst: fread
      Src: /src/zlib/examples/zran.c:448,1
    - Dst: ferror
      Src: /src/zlib/examples/zran.c:449,1
    - Dst: inflate
      Src: /src/zlib/examples/zran.c:457,1
    - Dst: inflateReset2
      Src: /src/zlib/examples/zran.c:461,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 81
    argCount: 5
    argNames:
    - in
    - index
    - offset
    - buf
    - len
    argTypes:
    - FILE*
    - struct deflate_index*
    - off_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 341
    functionDepth: 5
    functionLinenumber: 341
    functionLinenumberEnd: 471
    functionName: deflate_index_extract
    functionSourceFile: /src/zlib/examples/zran.c
    functionUses: 0
    functionsReached:
    - fseeko
    - getc
    - ferror
    - inflate
    - INFLATEPRIME
    - inflateSetDictionary
    - fread
    - ungetc
    - inflateReset2
    linkageType: ''
    returnType: ptrdiff_t
    signature: "ptrdiff_t deflate_index_extract(FILE *in, struct deflate_index *index,\n
      \                               off_t offset, unsigned char *buf, size_t len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:486,1
    - Dst: fopen
      Src: /src/zlib/examples/zran.c:489,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:491,1
    - Dst: strtoll
      Src: /src/zlib/examples/zran.c:499,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:501,1
    - Dst: deflate_index_build
      Src: /src/zlib/examples/zran.c:508,1
    - Dst: fclose
      Src: /src/zlib/examples/zran.c:510,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:513,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:516,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:519,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:522,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:525,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:529,1
    - Dst: deflate_index_extract
      Src: /src/zlib/examples/zran.c:535,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:537,1
    - Dst: fwrite
      Src: /src/zlib/examples/zran.c:540,1
    - Dst: fprintf
      Src: /src/zlib/examples/zran.c:541,1
    - Dst: deflate_index_free
      Src: /src/zlib/examples/zran.c:545,1
    - Dst: fclose
      Src: /src/zlib/examples/zran.c:546,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 483
    functionDepth: 6
    functionLinenumber: 483
    functionLinenumberEnd: 548
    functionName: main
    functionSourceFile: /src/zlib/examples/zran.c
    functionUses: 12
    functionsReached:
    - deflate_index_build
    - deflate_index_extract
    - fwrite
    - fopen
    - deflate_index_free
    - fprintf
    - fclose
    - strtoll
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/zlib/examples/fitblk.c:64,1
    - Dst: exit
      Src: /src/zlib/examples/fitblk.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - why
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: quit
    functionSourceFile: /src/zlib/examples/fitblk.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: local
    signature: local quit(char *why)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/zlib/examples/fitblk.c:80,1
    - Dst: ferror
      Src: /src/zlib/examples/fitblk.c:81,1
    - Dst: feof
      Src: /src/zlib/examples/fitblk.c:84,1
    - Dst: deflate
      Src: /src/zlib/examples/fitblk.c:86,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - in
    - def
    argTypes:
    - FILE*
    - z_streamp
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/zlib/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: partcompress
    functionSourceFile: /src/zlib/examples/fitblk.c
    functionUses: 0
    functionsReached:
    - feof
    - ferror
    - fread
    - assert
    - deflate
    linkageType: ''
    returnType: local
    signature: local partcompress(FILE *in, z_streamp def)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/zlib/examples/fitblk.c:106,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:107,1
    - Dst: deflate
      Src: /src/zlib/examples/fitblk.c:117,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - inf
    - def
    argTypes:
    - z_streamp
    - z_streamp
    assertStmts:
    - condition: "(ret != Z_STREAM_ERROR && ret != Z_DATA_ERROR &&\n               ret
        != Z_NEED_DICT)"
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/zlib/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: recompress
    functionSourceFile: /src/zlib/examples/fitblk.c
    functionUses: 0
    functionsReached:
    - inflate
    - assert
    - deflate
    linkageType: ''
    returnType: local
    signature: local recompress(z_streamp inf, z_streamp def)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:138,1
    - Dst: strtol
      Src: /src/zlib/examples/fitblk.c:139,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:141,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:143,1
    - Dst: malloc
      Src: /src/zlib/examples/fitblk.c:147,1
    - Dst: deflateInit
      Src: /src/zlib/examples/fitblk.c:151,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:153,1
    - Dst: partcompress
      Src: /src/zlib/examples/fitblk.c:158,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:160,1
    - Dst: fwrite
      Src: /src/zlib/examples/fitblk.c:166,1
    - Dst: ferror
      Src: /src/zlib/examples/fitblk.c:166,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:167,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/fitblk.c:170,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:171,1
    - Dst: free
      Src: /src/zlib/examples/fitblk.c:172,1
    - Dst: fprintf
      Src: /src/zlib/examples/fitblk.c:173,1
    - Dst: inflateInit
      Src: /src/zlib/examples/fitblk.c:185,1
    - Dst: malloc
      Src: /src/zlib/examples/fitblk.c:186,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:188,1
    - Dst: deflateReset
      Src: /src/zlib/examples/fitblk.c:189,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:190,1
    - Dst: recompress
      Src: /src/zlib/examples/fitblk.c:197,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:199,1
    - Dst: inflateReset
      Src: /src/zlib/examples/fitblk.c:202,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:203,1
    - Dst: deflateReset
      Src: /src/zlib/examples/fitblk.c:204,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:205,1
    - Dst: recompress
      Src: /src/zlib/examples/fitblk.c:212,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:214,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:215,1
    - Dst: fwrite
      Src: /src/zlib/examples/fitblk.c:219,1
    - Dst: ferror
      Src: /src/zlib/examples/fitblk.c:219,1
    - Dst: quit
      Src: /src/zlib/examples/fitblk.c:220,1
    - Dst: free
      Src: /src/zlib/examples/fitblk.c:223,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/fitblk.c:224,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:225,1
    - Dst: deflateEnd
      Src: /src/zlib/examples/fitblk.c:226,1
    - Dst: assert
      Src: /src/zlib/examples/fitblk.c:227,1
    - Dst: free
      Src: /src/zlib/examples/fitblk.c:228,1
    - Dst: fprintf
      Src: /src/zlib/examples/fitblk.c:229,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/zlib/examples/fitblk.c
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/zlib/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 233
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 233
    functionName: main
    functionSourceFile: /src/zlib/examples/fitblk.c
    functionUses: 12
    functionsReached:
    - free
    - recompress
    - deflateInit
    - ferror
    - fwrite
    - strtol
    - deflateEnd
    - inflateReset
    - assert
    - deflateReset
    - quit
    - malloc
    - inflateInit
    - fprintf
    - inflateEnd
    - partcompress
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: string_clear
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local string_clear(string_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/zlib/examples/enough.c:189,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:190,1
    - Dst: string_clear
      Src: /src/zlib/examples/enough.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    assertStmts:
    - condition: (s->str != NULL && "out of memory")
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/zlib/examples/enough.c
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: string_init
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 0
    functionsReached:
    - string_clear
    - malloc
    - assert
    linkageType: ''
    returnType: local
    signature: local string_init(string_t *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/zlib/examples/enough.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: string_free
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: local string_free(string_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/zlib/examples/enough.c:206,1
    - Dst: vsnprintf
      Src: /src/zlib/examples/enough.c:208,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:209,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:214,1
    - Dst: realloc
      Src: /src/zlib/examples/enough.c:216,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:217,1
    - Dst: vsnprintf
      Src: /src/zlib/examples/enough.c:218,1
    - Dst: va_end
      Src: /src/zlib/examples/enough.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - string_t*
    - char*
    assertStmts:
    - condition: (ret >= 0 && "out of memory")
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/zlib/examples/enough.c
    - condition: (s->size != 0 && "overflow")
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/zlib/examples/enough.c
    - condition: (s->str != NULL && "out of memory")
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/zlib/examples/enough.c
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: string_printf
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 0
    functionsReached:
    - realloc
    - va_end
    - vsnprintf
    - va_start
    - assert
    linkageType: ''
    returnType: local
    signature: local string_printf(string_t *s, char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - syms
    - left
    - len
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: map
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local map(int syms, int left, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/zlib/examples/enough.c:248,1
    - Dst: free
      Src: /src/zlib/examples/enough.c:250,1
    - Dst: free
      Src: /src/zlib/examples/enough.c:252,1
    - Dst: free
      Src: /src/zlib/examples/enough.c:253,1
    - Dst: string_free
      Src: /src/zlib/examples/enough.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: cleanup
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 191
    functionsReached:
    - free
    - string_free
    linkageType: ''
    returnType: local
    signature: local cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/zlib/examples/enough.c:267,1
    - Dst: map
      Src: /src/zlib/examples/enough.c:270,1
    - Dst: count
      Src: /src/zlib/examples/enough.c:290,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - syms
    - left
    - len
    argTypes:
    - int
    - int
    - int
    assertStmts:
    - condition: (syms > left && left > 0 && len < g.max)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/zlib/examples/enough.c
    - condition: (sum != 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/zlib/examples/enough.c
    constantsTouched: []
    func_position:
      end: 302
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 302
    functionName: count
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 95
    functionsReached:
    - count
    - map
    - assert
    linkageType: ''
    returnType: local
    signature: local count(int syms, int left, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: map
      Src: /src/zlib/examples/enough.c:310,1
    - Dst: realloc
      Src: /src/zlib/examples/enough.c:333,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:334,1
    - Dst: memset
      Src: /src/zlib/examples/enough.c:335,1
    - Dst: calloc
      Src: /src/zlib/examples/enough.c:343,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - syms
    - left
    - len
    - mem
    - rem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts:
    - condition: (vector != NULL && "out of memory")
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/zlib/examples/enough.c
    - condition: (vector != NULL && "out of memory")
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/zlib/examples/enough.c
    constantsTouched: []
    func_position:
      end: 355
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 355
    functionName: been_here
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 0
    functionsReached:
    - realloc
    - memset
    - calloc
    - map
    - assert
    linkageType: ''
    returnType: local
    signature: local been_here(int syms, int left, int len, int mem, int rem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/zlib/examples/enough.c:373,1
    - Dst: string_clear
      Src: /src/zlib/examples/enough.c:381,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:390,1
    - Dst: string_printf
      Src: /src/zlib/examples/enough.c:395,1
    - Dst: string_printf
      Src: /src/zlib/examples/enough.c:399,1
    - Dst: string_printf
      Src: /src/zlib/examples/enough.c:400,1
    - Dst: been_here
      Src: /src/zlib/examples/enough.c:409,1
    - Dst: examine
      Src: /src/zlib/examples/enough.c:436,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 5
    argNames:
    - syms
    - left
    - len
    - mem
    - rem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts:
    - condition: (rem == left)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/zlib/examples/enough.c
    - condition: ((left & 1) == 0)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/zlib/examples/enough.c
    constantsTouched: []
    func_position:
      end: 447
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 447
    functionName: examine
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 1
    functionsReached:
    - string_clear
    - string_printf
    - been_here
    - examine
    - assert
    linkageType: ''
    returnType: local
    signature: local examine(int syms, int left, int len, int mem, int rem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_clear
      Src: /src/zlib/examples/enough.c:460,1
    - Dst: map
      Src: /src/zlib/examples/enough.c:467,1
    - Dst: examine
      Src: /src/zlib/examples/enough.c:469,1
    - Dst: examine
      Src: /src/zlib/examples/enough.c:474,1
    - Dst: printf
      Src: /src/zlib/examples/enough.c:479,1
    - Dst: fputs
      Src: /src/zlib/examples/enough.c:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - syms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: enough
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 0
    functionsReached:
    - string_clear
    - fputs
    - map
    - examine
    - printf
    linkageType: ''
    returnType: local
    signature: local enough(int syms)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: string_init
      Src: /src/zlib/examples/enough.c:503,1
    - Dst: atoi
      Src: /src/zlib/examples/enough.c:510,1
    - Dst: atoi
      Src: /src/zlib/examples/enough.c:512,1
    - Dst: atoi
      Src: /src/zlib/examples/enough.c:514,1
    - Dst: fputs
      Src: /src/zlib/examples/enough.c:518,1
    - Dst: fputs
      Src: /src/zlib/examples/enough.c:534,1
    - Dst: fprintf
      Src: /src/zlib/examples/enough.c:540,1
    - Dst: calloc
      Src: /src/zlib/examples/enough.c:546,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:547,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:556,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:559,1
    - Dst: calloc
      Src: /src/zlib/examples/enough.c:561,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:562,1
    - Dst: count
      Src: /src/zlib/examples/enough.c:568,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:570,1
    - Dst: printf
      Src: /src/zlib/examples/enough.c:572,1
    - Dst: printf
      Src: /src/zlib/examples/enough.c:574,1
    - Dst: puts
      Src: /src/zlib/examples/enough.c:576,1
    - Dst: calloc
      Src: /src/zlib/examples/enough.c:582,1
    - Dst: assert
      Src: /src/zlib/examples/enough.c:583,1
    - Dst: enough
      Src: /src/zlib/examples/enough.c:590,1
    - Dst: fputs
      Src: /src/zlib/examples/enough.c:592,1
    - Dst: cleanup
      Src: /src/zlib/examples/enough.c:595,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (g.code != NULL && "out of memory")
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/zlib/examples/enough.c
    - condition: (g.size <= (size_t)-1 / n && "overflow")
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/zlib/examples/enough.c
    - condition: (got != (big_t)-1 && sum >= got && "overflow")
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/zlib/examples/enough.c
    - condition: (g.size <= (size_t)-1 / n && "overflow")
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/zlib/examples/enough.c
    - condition: (g.done != NULL && "out of memory")
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/zlib/examples/enough.c
    - condition: (g.num != NULL && "out of memory")
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/zlib/examples/enough.c
    constantsTouched: []
    func_position:
      end: 597
      start: 498
    functionDepth: 4
    functionLinenumber: 498
    functionLinenumberEnd: 597
    functionName: main
    functionSourceFile: /src/zlib/examples/enough.c
    functionUses: 12
    functionsReached:
    - string_init
    - atoi
    - fputs
    - calloc
    - count
    - puts
    - cleanup
    - fprintf
    - enough
    - printf
    - assert
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/zlib/examples/gun.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - in_desc
    - buf
    argTypes:
    - void*
    - z_const unsigned**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: in
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 281
    functionsReached:
    - read
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned in(void *in_desc, z_const unsigned char **buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/zlib/examples/gun.c:137,1
    - Dst: write
      Src: /src/zlib/examples/gun.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - out_desc
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 152
    functionName: out
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 122
    functionsReached:
    - write
    - crc32
    linkageType: ''
    returnType: local
    signature: local out(void *out_desc, unsigned char *buf, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: NEXT
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: FLUSHCODE
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSHCODE()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:226,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:249,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:252,1
    - Dst: FLUSHCODE
      Src: /src/zlib/examples/gun.c:269,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:279,1
    - Dst: out
      Src: /src/zlib/examples/gun.c:281,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:291,1
    - Dst: FLUSHCODE
      Src: /src/zlib/examples/gun.c:303,1
    - Dst: out
      Src: /src/zlib/examples/gun.c:353,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 111
    argCount: 5
    argNames:
    - have
    - next
    - indp
    - outfile
    - strm
    argTypes:
    - unsigned
    - z_const unsigned*
    - struct ind*
    - int
    - z_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 369
    functionName: lunpipe
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 0
    functionsReached:
    - NEXT
    - out
    - FLUSHCODE
    linkageType: ''
    returnType: local
    signature: "local lunpipe(unsigned have, z_const unsigned char *next, struct ind
      *indp,\n                  int outfile, z_stream *strm)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:402,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:406,1
    - Dst: lunpipe
      Src: /src/zlib/examples/gun.c:415,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:421,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:427,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:428,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:429,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:430,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:431,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:432,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:433,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:441,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:442,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:447,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:455,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:458,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:461,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:462,1
    - Dst: crc32
      Src: /src/zlib/examples/gun.c:469,1
    - Dst: inflateBack
      Src: /src/zlib/examples/gun.c:475,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:483,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:484,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:485,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:486,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:494,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:495,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:496,1
    - Dst: NEXT
      Src: /src/zlib/examples/gun.c:497,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 102
    argCount: 3
    argNames:
    - strm
    - infile
    - outfile
    argTypes:
    - z_stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 383
    functionDepth: 6
    functionLinenumber: 383
    functionLinenumberEnd: 511
    functionName: gunpipe
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 0
    functionsReached:
    - NEXT
    - inflateBack
    - lunpipe
    - crc32
    linkageType: ''
    returnType: local
    signature: local gunpipe(z_stream *strm, int infile, int outfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/zlib/examples/gun.c:523,1
    - Dst: chmod
      Src: /src/zlib/examples/gun.c:527,1
    - Dst: chown
      Src: /src/zlib/examples/gun.c:530,1
    - Dst: utime
      Src: /src/zlib/examples/gun.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 536
    functionName: copymeta
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 0
    functionsReached:
    - chown
    - stat
    - utime
    - chmod
    linkageType: ''
    returnType: local
    signature: local copymeta(char *from, char *to)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/zlib/examples/gun.c:559,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:561,1
    - Dst: open
      Src: /src/zlib/examples/gun.c:572,1
    - Dst: close
      Src: /src/zlib/examples/gun.c:574,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:575,1
    - Dst: gunpipe
      Src: /src/zlib/examples/gun.c:582,1
    - Dst: close
      Src: /src/zlib/examples/gun.c:583,1
    - Dst: close
      Src: /src/zlib/examples/gun.c:584,1
    - Dst: copymeta
      Src: /src/zlib/examples/gun.c:591,1
    - Dst: unlink
      Src: /src/zlib/examples/gun.c:592,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:595,1
    - Dst: unlink
      Src: /src/zlib/examples/gun.c:599,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:600,1
    - Dst: unlink
      Src: /src/zlib/examples/gun.c:603,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:604,1
    - Dst: unlink
      Src: /src/zlib/examples/gun.c:607,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:609,1
    - Dst: strerror
      Src: /src/zlib/examples/gun.c:610,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:613,1
    - Dst: strerror
      Src: /src/zlib/examples/gun.c:614,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:617,1
    - Dst: unlink
      Src: /src/zlib/examples/gun.c:622,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:623,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - strm
    - inname
    - outname
    - test
    argTypes:
    - z_stream*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 548
    functionDepth: 7
    functionLinenumber: 548
    functionLinenumberEnd: 627
    functionName: gunzip
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 0
    functionsReached:
    - strerror
    - close
    - copymeta
    - unlink
    - gunpipe
    - fprintf
    - open
    linkageType: ''
    returnType: local
    signature: local gunzip(z_stream *strm, char *inname, char *outname, int test)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inflateBackInit
      Src: /src/zlib/examples/gun.c:643,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:645,1
    - Dst: strcmp
      Src: /src/zlib/examples/gun.c:653,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:654,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:655,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:656,1
    - Dst: strcmp
      Src: /src/zlib/examples/gun.c:659,1
    - Dst: strlen
      Src: /src/zlib/examples/gun.c:669,1
    - Dst: strcmp
      Src: /src/zlib/examples/gun.c:670,1
    - Dst: strcmp
      Src: /src/zlib/examples/gun.c:671,1
    - Dst: strcmp
      Src: /src/zlib/examples/gun.c:673,1
    - Dst: strcmp
      Src: /src/zlib/examples/gun.c:674,1
    - Dst: strcmp
      Src: /src/zlib/examples/gun.c:675,1
    - Dst: strcmp
      Src: /src/zlib/examples/gun.c:676,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:679,1
    - Dst: malloc
      Src: /src/zlib/examples/gun.c:683,1
    - Dst: fprintf
      Src: /src/zlib/examples/gun.c:685,1
    - Dst: memcpy
      Src: /src/zlib/examples/gun.c:689,1
    - Dst: gunzip
      Src: /src/zlib/examples/gun.c:692,1
    - Dst: free
      Src: /src/zlib/examples/gun.c:693,1
    - Dst: gunzip
      Src: /src/zlib/examples/gun.c:697,1
    - Dst: inflateBackEnd
      Src: /src/zlib/examples/gun.c:700,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 631
    functionDepth: 8
    functionLinenumber: 631
    functionLinenumberEnd: 702
    functionName: main
    functionSourceFile: /src/zlib/examples/gun.c
    functionUses: 12
    functionsReached:
    - free
    - inflateBackEnd
    - memcpy
    - malloc
    - fprintf
    - inflateBackInit
    - strcmp
    - strlen
    - gunzip
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/zlib/examples/gznorm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/zlib/examples/gznorm.c:43,1
    - Dst: vsnprintf
      Src: /src/zlib/examples/gznorm.c:44,1
    - Dst: va_end
      Src: /src/zlib/examples/gznorm.c:45,1
    - Dst: malloc
      Src: /src/zlib/examples/gznorm.c:50,1
    - Dst: va_start
      Src: /src/zlib/examples/gznorm.c:53,1
    - Dst: vsnprintf
      Src: /src/zlib/examples/gznorm.c:54,1
    - Dst: va_end
      Src: /src/zlib/examples/gznorm.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: aprintf
    functionSourceFile: /src/zlib/examples/gznorm.c
    functionUses: 0
    functionsReached:
    - va_end
    - vsnprintf
    - malloc
    - va_start
    linkageType: ''
    returnType: local
    signature: local *aprintf(char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: BYE
    functionSourceFile: /src/zlib/examples/gznorm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYE(...)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/zlib/examples/gznorm.c:98,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:99,1
    - Dst: fwrite
      Src: /src/zlib/examples/gznorm.c:115,1
    - Dst: fread
      Src: /src/zlib/examples/gznorm.c:132,1
    - Dst: inflate
      Src: /src/zlib/examples/gznorm.c:152,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:154,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:156,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:158,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:166,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:283,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:320,1
    - Dst: fwrite
      Src: /src/zlib/examples/gznorm.c:325,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:344,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:398,1
    - Dst: crc32_combine
      Src: /src/zlib/examples/gznorm.c:399,1
    - Dst: inflateReset
      Src: /src/zlib/examples/gznorm.c:410,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:411,1
    - Dst: inflateEnd
      Src: /src/zlib/examples/gznorm.c:426,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:430,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:435,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:436,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:438,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:442,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:443,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:444,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:445,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:446,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:447,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:448,1
    - Dst: putc
      Src: /src/zlib/examples/gznorm.c:449,1
    - Dst: fflush
      Src: /src/zlib/examples/gznorm.c:450,1
    - Dst: ferror
      Src: /src/zlib/examples/gznorm.c:453,1
    - Dst: ferror
      Src: /src/zlib/examples/gznorm.c:453,1
    - Dst: BYE
      Src: /src/zlib/examples/gznorm.c:454,1
    - Dst: strerror
      Src: /src/zlib/examples/gznorm.c:454,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 149
    argCount: 3
    argNames:
    - in
    - out
    - err
    argTypes:
    - FILE*
    - FILE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 459
    functionName: gzip_normalize
    functionSourceFile: /src/zlib/examples/gznorm.c
    functionUses: 0
    functionsReached:
    - putc
    - strerror
    - BYE
    - ferror
    - fwrite
    - inflateReset
    - inflate
    - inflateInit2
    - fread
    - fflush
    - crc32_combine
    - inflateEnd
    linkageType: ''
    returnType: local
    signature: local gzip_normalize(FILE *in, FILE *out, char **err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/zlib/examples/gznorm.c:464,1
    - Dst: SET_BINARY_MODE
      Src: /src/zlib/examples/gznorm.c:465,1
    - Dst: gzip_normalize
      Src: /src/zlib/examples/gznorm.c:469,1
    - Dst: fprintf
      Src: /src/zlib/examples/gznorm.c:471,1
    - Dst: free
      Src: /src/zlib/examples/gznorm.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 462
    functionDepth: 6
    functionLinenumber: 462
    functionLinenumberEnd: 474
    functionName: main
    functionSourceFile: /src/zlib/examples/gznorm.c
    functionUses: 12
    functionsReached:
    - free
    - fprintf
    - SET_BINARY_MODE
    - gzip_normalize
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setcompressionlevel
      Src: /src/zlib/contrib/iostream/test.cpp:14,1
    - Dst: setcompressionlevel
      Src: /src/zlib/contrib/iostream/test.cpp:17,1
    - Dst: gzofstream::close
      Src: /src/zlib/contrib/iostream/test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/zlib/contrib/iostream/test.cpp
    functionUses: 12
    functionsReached:
    - gzofstream::close
    - setcompressionlevel
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: gzfilebuf::is_open
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_open() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - (*f)(gzofstream , T)
    - v
    argTypes:
    - gzofstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: gzomanip::gzomanip
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzomanip(gzofstream &(*f)(gzofstream &, T), T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - m
    argTypes:
    - gzofstream
    - gzomanip<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '&operator<<(gzofstream &s, const gzomanip<T> &m)'
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &operator<<(gzofstream &s, const gzomanip<T> &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::rdbuf
      Src: /src/zlib/contrib/iostream/zfstream.h:108,1
    - Dst: setcompressionlevel
      Src: /src/zlib/contrib/iostream/zfstream.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - gzofstream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: setcompressionlevel
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.h
    functionUses: 2
    functionsReached:
    - gzofstream::rdbuf
    - setcompressionlevel
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &setcompressionlevel( gzofstream &s, int l )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::rdbuf
      Src: /src/zlib/contrib/iostream/zfstream.h:114,1
    - Dst: setcompressionstrategy
      Src: /src/zlib/contrib/iostream/zfstream.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - gzofstream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: setcompressionstrategy
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.h
    functionUses: 1
    functionsReached:
    - gzofstream::rdbuf
    - setcompressionstrategy
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &setcompressionstrategy( gzofstream &s, int l )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzomanip<int>
      Src: /src/zlib/contrib/iostream/zfstream.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: setcompressionlevel
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.h
    functionUses: 2
    functionsReached:
    - gzomanip<int>
    linkageType: ''
    returnType: gzomanip<int>
    signature: gzomanip<int> setcompressionlevel(int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzomanip<int>
      Src: /src/zlib/contrib/iostream/zfstream.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: setcompressionstrategy
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.h
    functionUses: 1
    functionsReached:
    - gzomanip<int>
    linkageType: ''
    returnType: gzomanip<int>
    signature: gzomanip<int> setcompressionstrategy(int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: gzfilebuf::gzfilebuf
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::gzfilebuf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::sync
      Src: /src/zlib/contrib/iostream/zfstream.cpp:12,1
    - Dst: gzfilebuf::close
      Src: /src/zlib/contrib/iostream/zfstream.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: gzfilebuf::~gzfilebuf()
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilebuf::sync
    - gzfilebuf::close
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::~gzfilebuf()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/zlib/contrib/iostream/zfstream.cpp:21,1
    - Dst: gzopen
      Src: /src/zlib/contrib/iostream/zfstream.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 58
    functionName: gzfilebuf::open
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilebuf::is_open
    - gzopen
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *gzfilebuf::open( const char *name,\n                            int
      io_mode )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/zlib/contrib/iostream/zfstream.cpp:63,1
    - Dst: gzdopen
      Src: /src/zlib/contrib/iostream/zfstream.cpp:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - file_descriptor
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 100
    functionName: gzfilebuf::attach
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilebuf::is_open
    - gzdopen
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *gzfilebuf::attach( int file_descriptor,\n                              int
      io_mode )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/zlib/contrib/iostream/zfstream.cpp:104,1
    - Dst: gzfilebuf::sync
      Src: /src/zlib/contrib/iostream/zfstream.cpp:106,1
    - Dst: gzclose
      Src: /src/zlib/contrib/iostream/zfstream.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: gzfilebuf::close
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - gzfilebuf::sync
    - gzfilebuf::is_open
    - gzclose
    linkageType: ''
    returnType: gzfilebuf
    signature: gzfilebuf *gzfilebuf::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzsetparams
      Src: /src/zlib/contrib/iostream/zfstream.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 6
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: gzfilebuf::setcompressionlevel
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzsetparams
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::setcompressionlevel( int comp_level )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzsetparams
      Src: /src/zlib/contrib/iostream/zfstream.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_strategy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: gzfilebuf::setcompressionstrategy
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzsetparams
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::setcompressionstrategy( int comp_strategy )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streampos
      Src: /src/zlib/contrib/iostream/zfstream.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - 'off'
    - dir
    - which
    argTypes:
    - streamoff
    - ios::seek_dir
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: gzfilebuf::seekoff
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - streampos
    linkageType: ''
    returnType: streampos
    signature: streampos gzfilebuf::seekoff( streamoff off, ios::seek_dir dir, int
      which )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/zlib/contrib/iostream/zfstream.cpp:138,1
    - Dst: base
      Src: /src/zlib/contrib/iostream/zfstream.cpp:142,1
    - Dst: allocate
      Src: /src/zlib/contrib/iostream/zfstream.cpp:144,1
    - Dst: setp
      Src: /src/zlib/contrib/iostream/zfstream.cpp:146,1
    - Dst: in_avail
      Src: /src/zlib/contrib/iostream/zfstream.cpp:150,1
    - Dst: gptr
      Src: /src/zlib/contrib/iostream/zfstream.cpp:151,1
    - Dst: out_waiting
      Src: /src/zlib/contrib/iostream/zfstream.cpp:153,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/zlib/contrib/iostream/zfstream.cpp:154,1
    - Dst: gzfilebuf::fillbuf
      Src: /src/zlib/contrib/iostream/zfstream.cpp:162,1
    - Dst: setg
      Src: /src/zlib/contrib/iostream/zfstream.cpp:165,1
    - Dst: gptr
      Src: /src/zlib/contrib/iostream/zfstream.cpp:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: gzfilebuf::underflow
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - base
    - out_waiting
    - setp
    - gzfilebuf::is_open
    - allocate
    - setg
    - gptr
    - gzfilebuf::flushbuf
    - in_avail
    - gzfilebuf::fillbuf
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::underflow()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/zlib/contrib/iostream/zfstream.cpp:175,1
    - Dst: base
      Src: /src/zlib/contrib/iostream/zfstream.cpp:178,1
    - Dst: allocate
      Src: /src/zlib/contrib/iostream/zfstream.cpp:179,1
    - Dst: setg
      Src: /src/zlib/contrib/iostream/zfstream.cpp:181,1
    - Dst: in_avail
      Src: /src/zlib/contrib/iostream/zfstream.cpp:183,1
    - Dst: out_waiting
      Src: /src/zlib/contrib/iostream/zfstream.cpp:186,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/zlib/contrib/iostream/zfstream.cpp:187,1
    - Dst: blen
      Src: /src/zlib/contrib/iostream/zfstream.cpp:192,1
    - Dst: setp
      Src: /src/zlib/contrib/iostream/zfstream.cpp:193,1
    - Dst: base
      Src: /src/zlib/contrib/iostream/zfstream.cpp:193,1
    - Dst: base
      Src: /src/zlib/contrib/iostream/zfstream.cpp:193,1
    - Dst: pptr
      Src: /src/zlib/contrib/iostream/zfstream.cpp:197,1
    - Dst: pbump
      Src: /src/zlib/contrib/iostream/zfstream.cpp:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: gzfilebuf::overflow
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - pptr
    - base
    - blen
    - out_waiting
    - setp
    - gzfilebuf::is_open
    - allocate
    - setg
    - gzfilebuf::flushbuf
    - in_avail
    - pbump
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::overflow( int c )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/zlib/contrib/iostream/zfstream.cpp:208,1
    - Dst: out_waiting
      Src: /src/zlib/contrib/iostream/zfstream.cpp:211,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/zlib/contrib/iostream/zfstream.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: gzfilebuf::sync
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 2
    functionsReached:
    - out_waiting
    - gzfilebuf::is_open
    - gzfilebuf::flushbuf
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::sync()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pbase
      Src: /src/zlib/contrib/iostream/zfstream.cpp:223,1
    - Dst: pptr
      Src: /src/zlib/contrib/iostream/zfstream.cpp:224,1
    - Dst: gzwrite
      Src: /src/zlib/contrib/iostream/zfstream.cpp:226,1
    - Dst: setp
      Src: /src/zlib/contrib/iostream/zfstream.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: gzfilebuf::flushbuf
    functionSourceFile: /src/zlib/contrib/iostream/zfstream.cpp
    functionUses: 3
    functionsReached:
    - gzwrite
    - setp
    - pptr
    - pbase
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::flushbuf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/zlib/contrib/iostream/zfstream.cpp:240,1
    - Dst: blen
